public class javax.swing.plaf.basic.BasicGraphicsUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.swing.plaf.basic.BasicGraphicsUtils
  super_class: java.lang.Object
{
  private static final java.awt.Insets GROOVE_INSETS;
    descriptor: Ljava/awt/Insets;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.awt.Insets ETCHED_INSETS;
    descriptor: Ljava/awt/Insets;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 50
            new java.awt.Insets
            dup
            iconst_2
            iconst_2
            iconst_2
            iconst_2
            invokespecial java.awt.Insets.<init>:(IIII)V
            putstatic javax.swing.plaf.basic.BasicGraphicsUtils.GROOVE_INSETS:Ljava/awt/Insets;
         1: .line 51
            new java.awt.Insets
            dup
            iconst_2
            iconst_2
            iconst_2
            iconst_2
            invokespecial java.awt.Insets.<init>:(IIII)V
            putstatic javax.swing.plaf.basic.BasicGraphicsUtils.ETCHED_INSETS:Ljava/awt/Insets;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.plaf.basic.BasicGraphicsUtils this
         0: .line 47
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // javax.swing.plaf.basic.BasicGraphicsUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/basic/BasicGraphicsUtils;

  public static void drawEtchedRect(java.awt.Graphics, int, int, int, int, java.awt.Color, java.awt.Color, java.awt.Color, java.awt.Color);
    descriptor: (Ljava/awt/Graphics;IIIILjava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=9
        start local 0 // java.awt.Graphics g
        start local 1 // int x
        start local 2 // int y
        start local 3 // int w
        start local 4 // int h
        start local 5 // java.awt.Color shadow
        start local 6 // java.awt.Color darkShadow
        start local 7 // java.awt.Color highlight
        start local 8 // java.awt.Color lightHighlight
         0: .line 57
            aload 0 /* g */
            invokevirtual java.awt.Graphics.getColor:()Ljava/awt/Color;
            astore 9 /* oldColor */
        start local 9 // java.awt.Color oldColor
         1: .line 58
            aload 0 /* g */
            iload 1 /* x */
            iload 2 /* y */
            invokevirtual java.awt.Graphics.translate:(II)V
         2: .line 60
            aload 0 /* g */
            aload 5 /* shadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         3: .line 61
            aload 0 /* g */
            iconst_0
            iconst_0
            iload 3 /* w */
            iconst_1
            isub
            iconst_0
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         4: .line 62
            aload 0 /* g */
            iconst_0
            iconst_1
            iconst_0
            iload 4 /* h */
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         5: .line 64
            aload 0 /* g */
            aload 6 /* darkShadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         6: .line 65
            aload 0 /* g */
            iconst_1
            iconst_1
            iload 3 /* w */
            iconst_3
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         7: .line 66
            aload 0 /* g */
            iconst_1
            iconst_2
            iconst_1
            iload 4 /* h */
            iconst_3
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         8: .line 68
            aload 0 /* g */
            aload 8 /* lightHighlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         9: .line 69
            aload 0 /* g */
            iload 3 /* w */
            iconst_1
            isub
            iconst_0
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        10: .line 70
            aload 0 /* g */
            iconst_0
            iload 4 /* h */
            iconst_1
            isub
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        11: .line 72
            aload 0 /* g */
            aload 7 /* highlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        12: .line 73
            aload 0 /* g */
            iload 3 /* w */
            iconst_2
            isub
            iconst_1
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_3
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        13: .line 74
            aload 0 /* g */
            iconst_1
            iload 4 /* h */
            iconst_2
            isub
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        14: .line 76
            aload 0 /* g */
            iload 1 /* x */
            ineg
            iload 2 /* y */
            ineg
            invokevirtual java.awt.Graphics.translate:(II)V
        15: .line 77
            aload 0 /* g */
            aload 9 /* oldColor */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        16: .line 78
            return
        end local 9 // java.awt.Color oldColor
        end local 8 // java.awt.Color lightHighlight
        end local 7 // java.awt.Color highlight
        end local 6 // java.awt.Color darkShadow
        end local 5 // java.awt.Color shadow
        end local 4 // int h
        end local 3 // int w
        end local 2 // int y
        end local 1 // int x
        end local 0 // java.awt.Graphics g
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0               g  Ljava/awt/Graphics;
            0   17     1               x  I
            0   17     2               y  I
            0   17     3               w  I
            0   17     4               h  I
            0   17     5          shadow  Ljava/awt/Color;
            0   17     6      darkShadow  Ljava/awt/Color;
            0   17     7       highlight  Ljava/awt/Color;
            0   17     8  lightHighlight  Ljava/awt/Color;
            1   17     9        oldColor  Ljava/awt/Color;
    MethodParameters:
                Name  Flags
      g               
      x               
      y               
      w               
      h               
      shadow          
      darkShadow      
      highlight       
      lightHighlight  

  public static java.awt.Insets getEtchedInsets();
    descriptor: ()Ljava/awt/Insets;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 88
            getstatic javax.swing.plaf.basic.BasicGraphicsUtils.ETCHED_INSETS:Ljava/awt/Insets;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void drawGroove(java.awt.Graphics, int, int, int, int, java.awt.Color, java.awt.Color);
    descriptor: (Ljava/awt/Graphics;IIIILjava/awt/Color;Ljava/awt/Color;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=7
        start local 0 // java.awt.Graphics g
        start local 1 // int x
        start local 2 // int y
        start local 3 // int w
        start local 4 // int h
        start local 5 // java.awt.Color shadow
        start local 6 // java.awt.Color highlight
         0: .line 95
            aload 0 /* g */
            invokevirtual java.awt.Graphics.getColor:()Ljava/awt/Color;
            astore 7 /* oldColor */
        start local 7 // java.awt.Color oldColor
         1: .line 96
            aload 0 /* g */
            iload 1 /* x */
            iload 2 /* y */
            invokevirtual java.awt.Graphics.translate:(II)V
         2: .line 98
            aload 0 /* g */
            aload 5 /* shadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         3: .line 99
            aload 0 /* g */
            iconst_0
            iconst_0
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawRect:(IIII)V
         4: .line 101
            aload 0 /* g */
            aload 6 /* highlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         5: .line 102
            aload 0 /* g */
            iconst_1
            iload 4 /* h */
            iconst_3
            isub
            iconst_1
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         6: .line 103
            aload 0 /* g */
            iconst_1
            iconst_1
            iload 3 /* w */
            iconst_3
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         7: .line 105
            aload 0 /* g */
            iconst_0
            iload 4 /* h */
            iconst_1
            isub
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         8: .line 106
            aload 0 /* g */
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            iload 3 /* w */
            iconst_1
            isub
            iconst_0
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         9: .line 108
            aload 0 /* g */
            iload 1 /* x */
            ineg
            iload 2 /* y */
            ineg
            invokevirtual java.awt.Graphics.translate:(II)V
        10: .line 109
            aload 0 /* g */
            aload 7 /* oldColor */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        11: .line 110
            return
        end local 7 // java.awt.Color oldColor
        end local 6 // java.awt.Color highlight
        end local 5 // java.awt.Color shadow
        end local 4 // int h
        end local 3 // int w
        end local 2 // int y
        end local 1 // int x
        end local 0 // java.awt.Graphics g
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0          g  Ljava/awt/Graphics;
            0   12     1          x  I
            0   12     2          y  I
            0   12     3          w  I
            0   12     4          h  I
            0   12     5     shadow  Ljava/awt/Color;
            0   12     6  highlight  Ljava/awt/Color;
            1   12     7   oldColor  Ljava/awt/Color;
    MethodParameters:
           Name  Flags
      g          
      x          
      y          
      w          
      h          
      shadow     
      highlight  

  public static java.awt.Insets getGrooveInsets();
    descriptor: ()Ljava/awt/Insets;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 119
            getstatic javax.swing.plaf.basic.BasicGraphicsUtils.GROOVE_INSETS:Ljava/awt/Insets;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void drawBezel(java.awt.Graphics, int, int, int, int, boolean, boolean, java.awt.Color, java.awt.Color, java.awt.Color, java.awt.Color);
    descriptor: (Ljava/awt/Graphics;IIIIZZLjava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=12, args_size=11
        start local 0 // java.awt.Graphics g
        start local 1 // int x
        start local 2 // int y
        start local 3 // int w
        start local 4 // int h
        start local 5 // boolean isPressed
        start local 6 // boolean isDefault
        start local 7 // java.awt.Color shadow
        start local 8 // java.awt.Color darkShadow
        start local 9 // java.awt.Color highlight
        start local 10 // java.awt.Color lightHighlight
         0: .line 128
            aload 0 /* g */
            invokevirtual java.awt.Graphics.getColor:()Ljava/awt/Color;
            astore 11 /* oldColor */
        start local 11 // java.awt.Color oldColor
         1: .line 129
            aload 0 /* g */
            iload 1 /* x */
            iload 2 /* y */
            invokevirtual java.awt.Graphics.translate:(II)V
         2: .line 131
            iload 5 /* isPressed */
            ifeq 8
            iload 6 /* isDefault */
            ifeq 8
         3: .line 132
            aload 0 /* g */
            aload 8 /* darkShadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         4: .line 133
            aload 0 /* g */
            iconst_0
            iconst_0
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawRect:(IIII)V
         5: .line 134
            aload 0 /* g */
            aload 7 /* shadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         6: .line 135
            aload 0 /* g */
            iconst_1
            iconst_1
            iload 3 /* w */
            iconst_3
            isub
            iload 4 /* h */
            iconst_3
            isub
            invokevirtual java.awt.Graphics.drawRect:(IIII)V
         7: .line 136
            goto 41
      StackMap locals: java.awt.Color
      StackMap stack:
         8: iload 5 /* isPressed */
            ifeq 13
         9: .line 137
            aload 0 /* g */
            iload 1 /* x */
            iload 2 /* y */
            iload 3 /* w */
            iload 4 /* h */
        10: .line 138
            aload 7 /* shadow */
            aload 8 /* darkShadow */
            aload 9 /* highlight */
            aload 10 /* lightHighlight */
        11: .line 137
            invokestatic javax.swing.plaf.basic.BasicGraphicsUtils.drawLoweredBezel:(Ljava/awt/Graphics;IIIILjava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V
        12: .line 139
            goto 41
      StackMap locals:
      StackMap stack:
        13: iload 6 /* isDefault */
            ifeq 29
        14: .line 140
            aload 0 /* g */
            aload 8 /* darkShadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        15: .line 141
            aload 0 /* g */
            iconst_0
            iconst_0
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawRect:(IIII)V
        16: .line 143
            aload 0 /* g */
            aload 10 /* lightHighlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        17: .line 144
            aload 0 /* g */
            iconst_1
            iconst_1
            iconst_1
            iload 4 /* h */
            iconst_3
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        18: .line 145
            aload 0 /* g */
            iconst_2
            iconst_1
            iload 3 /* w */
            iconst_3
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        19: .line 147
            aload 0 /* g */
            aload 9 /* highlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        20: .line 148
            aload 0 /* g */
            iconst_2
            iconst_2
            iconst_2
            iload 4 /* h */
            iconst_4
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        21: .line 149
            aload 0 /* g */
            iconst_3
            iconst_2
            iload 3 /* w */
            iconst_4
            isub
            iconst_2
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        22: .line 151
            aload 0 /* g */
            aload 7 /* shadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        23: .line 152
            aload 0 /* g */
            iconst_2
            iload 4 /* h */
            iconst_3
            isub
            iload 3 /* w */
            iconst_3
            isub
            iload 4 /* h */
            iconst_3
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        24: .line 153
            aload 0 /* g */
            iload 3 /* w */
            iconst_3
            isub
            iconst_2
            iload 3 /* w */
            iconst_3
            isub
            iload 4 /* h */
            iconst_4
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        25: .line 155
            aload 0 /* g */
            aload 8 /* darkShadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        26: .line 156
            aload 0 /* g */
            iconst_1
            iload 4 /* h */
            iconst_2
            isub
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        27: .line 157
            aload 0 /* g */
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_2
            isub
            iload 3 /* w */
            iconst_2
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        28: .line 158
            goto 41
        29: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* g */
            aload 10 /* lightHighlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        30: .line 160
            aload 0 /* g */
            iconst_0
            iconst_0
            iconst_0
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        31: .line 161
            aload 0 /* g */
            iconst_1
            iconst_0
            iload 3 /* w */
            iconst_2
            isub
            iconst_0
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        32: .line 163
            aload 0 /* g */
            aload 9 /* highlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        33: .line 164
            aload 0 /* g */
            iconst_1
            iconst_1
            iconst_1
            iload 4 /* h */
            iconst_3
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        34: .line 165
            aload 0 /* g */
            iconst_2
            iconst_1
            iload 3 /* w */
            iconst_3
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        35: .line 167
            aload 0 /* g */
            aload 7 /* shadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        36: .line 168
            aload 0 /* g */
            iconst_1
            iload 4 /* h */
            iconst_2
            isub
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        37: .line 169
            aload 0 /* g */
            iload 3 /* w */
            iconst_2
            isub
            iconst_1
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_3
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        38: .line 171
            aload 0 /* g */
            aload 8 /* darkShadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        39: .line 172
            aload 0 /* g */
            iconst_0
            iload 4 /* h */
            iconst_1
            isub
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        40: .line 173
            aload 0 /* g */
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            iload 3 /* w */
            iconst_1
            isub
            iconst_0
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        41: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* g */
            iload 1 /* x */
            ineg
            iload 2 /* y */
            ineg
            invokevirtual java.awt.Graphics.translate:(II)V
        42: .line 176
            aload 0 /* g */
            aload 11 /* oldColor */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        43: .line 177
            return
        end local 11 // java.awt.Color oldColor
        end local 10 // java.awt.Color lightHighlight
        end local 9 // java.awt.Color highlight
        end local 8 // java.awt.Color darkShadow
        end local 7 // java.awt.Color shadow
        end local 6 // boolean isDefault
        end local 5 // boolean isPressed
        end local 4 // int h
        end local 3 // int w
        end local 2 // int y
        end local 1 // int x
        end local 0 // java.awt.Graphics g
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   44     0               g  Ljava/awt/Graphics;
            0   44     1               x  I
            0   44     2               y  I
            0   44     3               w  I
            0   44     4               h  I
            0   44     5       isPressed  Z
            0   44     6       isDefault  Z
            0   44     7          shadow  Ljava/awt/Color;
            0   44     8      darkShadow  Ljava/awt/Color;
            0   44     9       highlight  Ljava/awt/Color;
            0   44    10  lightHighlight  Ljava/awt/Color;
            1   44    11        oldColor  Ljava/awt/Color;
    MethodParameters:
                Name  Flags
      g               
      x               
      y               
      w               
      h               
      isPressed       
      isDefault       
      shadow          
      darkShadow      
      highlight       
      lightHighlight  

  public static void drawLoweredBezel(java.awt.Graphics, int, int, int, int, java.awt.Color, java.awt.Color, java.awt.Color, java.awt.Color);
    descriptor: (Ljava/awt/Graphics;IIIILjava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=9
        start local 0 // java.awt.Graphics g
        start local 1 // int x
        start local 2 // int y
        start local 3 // int w
        start local 4 // int h
        start local 5 // java.awt.Color shadow
        start local 6 // java.awt.Color darkShadow
        start local 7 // java.awt.Color highlight
        start local 8 // java.awt.Color lightHighlight
         0: .line 182
            aload 0 /* g */
            aload 6 /* darkShadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         1: .line 183
            aload 0 /* g */
            iconst_0
            iconst_0
            iconst_0
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         2: .line 184
            aload 0 /* g */
            iconst_1
            iconst_0
            iload 3 /* w */
            iconst_2
            isub
            iconst_0
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         3: .line 186
            aload 0 /* g */
            aload 5 /* shadow */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         4: .line 187
            aload 0 /* g */
            iconst_1
            iconst_1
            iconst_1
            iload 4 /* h */
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         5: .line 188
            aload 0 /* g */
            iconst_1
            iconst_1
            iload 3 /* w */
            iconst_3
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         6: .line 190
            aload 0 /* g */
            aload 8 /* lightHighlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         7: .line 191
            aload 0 /* g */
            iconst_0
            iload 4 /* h */
            iconst_1
            isub
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         8: .line 192
            aload 0 /* g */
            iload 3 /* w */
            iconst_1
            isub
            iload 4 /* h */
            iconst_1
            isub
            iload 3 /* w */
            iconst_1
            isub
            iconst_0
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         9: .line 194
            aload 0 /* g */
            aload 7 /* highlight */
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        10: .line 195
            aload 0 /* g */
            iconst_1
            iload 4 /* h */
            iconst_2
            isub
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_2
            isub
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        11: .line 196
            aload 0 /* g */
            iload 3 /* w */
            iconst_2
            isub
            iload 4 /* h */
            iconst_2
            isub
            iload 3 /* w */
            iconst_2
            isub
            iconst_1
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        12: .line 197
            return
        end local 8 // java.awt.Color lightHighlight
        end local 7 // java.awt.Color highlight
        end local 6 // java.awt.Color darkShadow
        end local 5 // java.awt.Color shadow
        end local 4 // int h
        end local 3 // int w
        end local 2 // int y
        end local 1 // int x
        end local 0 // java.awt.Graphics g
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0               g  Ljava/awt/Graphics;
            0   13     1               x  I
            0   13     2               y  I
            0   13     3               w  I
            0   13     4               h  I
            0   13     5          shadow  Ljava/awt/Color;
            0   13     6      darkShadow  Ljava/awt/Color;
            0   13     7       highlight  Ljava/awt/Color;
            0   13     8  lightHighlight  Ljava/awt/Color;
    MethodParameters:
                Name  Flags
      g               
      x               
      y               
      w               
      h               
      shadow          
      darkShadow      
      highlight       
      lightHighlight  

  public static void drawString(java.awt.Graphics, java.lang.String, int, int, int);
    descriptor: (Ljava/awt/Graphics;Ljava/lang/String;III)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // java.awt.Graphics g
        start local 1 // java.lang.String text
        start local 2 // int underlinedChar
        start local 3 // int x
        start local 4 // int y
         0: .line 207
            iconst_m1
            istore 5 /* index */
        start local 5 // int index
         1: .line 209
            iload 2 /* underlinedChar */
            ifeq 15
         2: .line 210
            iload 2 /* underlinedChar */
            i2c
            invokestatic java.lang.Character.toUpperCase:(C)C
            istore 6 /* uc */
        start local 6 // char uc
         3: .line 211
            iload 2 /* underlinedChar */
            i2c
            invokestatic java.lang.Character.toLowerCase:(C)C
            istore 7 /* lc */
        start local 7 // char lc
         4: .line 212
            aload 1 /* text */
            iload 6 /* uc */
            invokevirtual java.lang.String.indexOf:(I)I
            istore 8 /* uci */
        start local 8 // int uci
         5: .line 213
            aload 1 /* text */
            iload 7 /* lc */
            invokevirtual java.lang.String.indexOf:(I)I
            istore 9 /* lci */
        start local 9 // int lci
         6: .line 215
            iload 8 /* uci */
            iconst_m1
            if_icmpne 9
         7: .line 216
            iload 9 /* lci */
            istore 5 /* index */
         8: .line 217
            goto 15
         9: .line 218
      StackMap locals: java.awt.Graphics java.lang.String int int int int int int int int
      StackMap stack:
            iload 9 /* lci */
            iconst_m1
            if_icmpne 12
        10: .line 219
            iload 8 /* uci */
            istore 5 /* index */
        11: .line 220
            goto 15
        12: .line 222
      StackMap locals:
      StackMap stack:
            iload 9 /* lci */
            iload 8 /* uci */
            if_icmpge 13
            iload 9 /* lci */
            goto 14
      StackMap locals:
      StackMap stack:
        13: iload 8 /* uci */
      StackMap locals:
      StackMap stack: int
        14: istore 5 /* index */
        end local 9 // int lci
        end local 8 // int uci
        end local 7 // char lc
        end local 6 // char uc
        15: .line 225
      StackMap locals: java.awt.Graphics java.lang.String int int int int
      StackMap stack:
            aload 0 /* g */
            aload 1 /* text */
            iload 5 /* index */
            iload 3 /* x */
            iload 4 /* y */
            invokestatic javax.swing.plaf.basic.BasicGraphicsUtils.drawStringUnderlineCharAt:(Ljava/awt/Graphics;Ljava/lang/String;III)V
        16: .line 226
            return
        end local 5 // int index
        end local 4 // int y
        end local 3 // int x
        end local 2 // int underlinedChar
        end local 1 // java.lang.String text
        end local 0 // java.awt.Graphics g
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0               g  Ljava/awt/Graphics;
            0   17     1            text  Ljava/lang/String;
            0   17     2  underlinedChar  I
            0   17     3               x  I
            0   17     4               y  I
            1   17     5           index  I
            3   15     6              uc  C
            4   15     7              lc  C
            5   15     8             uci  I
            6   15     9             lci  I
    MethodParameters:
                Name  Flags
      g               
      text            
      underlinedChar  
      x               
      y               

  public static void drawStringUnderlineCharAt(java.awt.Graphics, java.lang.String, int, int, int);
    descriptor: (Ljava/awt/Graphics;Ljava/lang/String;III)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // java.awt.Graphics g
        start local 1 // java.lang.String text
        start local 2 // int underlinedIndex
        start local 3 // int x
        start local 4 // int y
         0: .line 246
            aconst_null
            aload 0 /* g */
            aload 1 /* text */
         1: .line 247
            iload 2 /* underlinedIndex */
            iload 3 /* x */
            iload 4 /* y */
         2: .line 246
            invokestatic sun.swing.SwingUtilities2.drawStringUnderlineCharAt:(Ljavax/swing/JComponent;Ljava/awt/Graphics;Ljava/lang/String;III)V
         3: .line 248
            return
        end local 4 // int y
        end local 3 // int x
        end local 2 // int underlinedIndex
        end local 1 // java.lang.String text
        end local 0 // java.awt.Graphics g
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0                g  Ljava/awt/Graphics;
            0    4     1             text  Ljava/lang/String;
            0    4     2  underlinedIndex  I
            0    4     3                x  I
            0    4     4                y  I
    MethodParameters:
                 Name  Flags
      g                
      text             
      underlinedIndex  
      x                
      y                

  public static void drawDashedRect(java.awt.Graphics, int, int, int, int);
    descriptor: (Ljava/awt/Graphics;IIII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // java.awt.Graphics g
        start local 1 // int x
        start local 2 // int y
        start local 3 // int width
        start local 4 // int height
         0: .line 254
            iload 1 /* x */
            istore 5 /* vx */
        start local 5 // int vx
         1: goto 5
         2: .line 255
      StackMap locals: int
      StackMap stack:
            aload 0 /* g */
            iload 5 /* vx */
            iload 2 /* y */
            iconst_1
            iconst_1
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
         3: .line 256
            aload 0 /* g */
            iload 5 /* vx */
            iload 2 /* y */
            iload 4 /* height */
            iadd
            iconst_1
            isub
            iconst_1
            iconst_1
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
         4: .line 254
            iinc 5 /* vx */ 2
      StackMap locals:
      StackMap stack:
         5: iload 5 /* vx */
            iload 1 /* x */
            iload 3 /* width */
            iadd
            if_icmplt 2
         6: .line 260
            iload 2 /* y */
            istore 6 /* vy */
        start local 6 // int vy
         7: goto 11
         8: .line 261
      StackMap locals: int
      StackMap stack:
            aload 0 /* g */
            iload 1 /* x */
            iload 6 /* vy */
            iconst_1
            iconst_1
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
         9: .line 262
            aload 0 /* g */
            iload 1 /* x */
            iload 3 /* width */
            iadd
            iconst_1
            isub
            iload 6 /* vy */
            iconst_1
            iconst_1
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
        10: .line 260
            iinc 6 /* vy */ 2
      StackMap locals:
      StackMap stack:
        11: iload 6 /* vy */
            iload 2 /* y */
            iload 4 /* height */
            iadd
            if_icmplt 8
        12: .line 264
            return
        end local 6 // int vy
        end local 5 // int vx
        end local 4 // int height
        end local 3 // int width
        end local 2 // int y
        end local 1 // int x
        end local 0 // java.awt.Graphics g
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0       g  Ljava/awt/Graphics;
            0   13     1       x  I
            0   13     2       y  I
            0   13     3   width  I
            0   13     4  height  I
            1   13     5      vx  I
            7   13     6      vy  I
    MethodParameters:
        Name  Flags
      g       
      x       
      y       
      width   
      height  

  public static java.awt.Dimension getPreferredButtonSize(javax.swing.AbstractButton, int);
    descriptor: (Ljavax/swing/AbstractButton;I)Ljava/awt/Dimension;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=12, locals=11, args_size=2
        start local 0 // javax.swing.AbstractButton b
        start local 1 // int textIconGap
         0: .line 268
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getComponentCount:()I
            ifle 2
         1: .line 269
            aconst_null
            areturn
         2: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getIcon:()Ljavax/swing/Icon;
            astore 2 /* icon */
        start local 2 // javax.swing.Icon icon
         3: .line 273
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getText:()Ljava/lang/String;
            astore 3 /* text */
        start local 3 // java.lang.String text
         4: .line 275
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getFont:()Ljava/awt/Font;
            astore 4 /* font */
        start local 4 // java.awt.Font font
         5: .line 276
            aload 0 /* b */
            aload 4 /* font */
            invokevirtual javax.swing.AbstractButton.getFontMetrics:(Ljava/awt/Font;)Ljava/awt/FontMetrics;
            astore 5 /* fm */
        start local 5 // java.awt.FontMetrics fm
         6: .line 278
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            astore 6 /* iconR */
        start local 6 // java.awt.Rectangle iconR
         7: .line 279
            new java.awt.Rectangle
            dup
            invokespecial java.awt.Rectangle.<init>:()V
            astore 7 /* textR */
        start local 7 // java.awt.Rectangle textR
         8: .line 280
            new java.awt.Rectangle
            dup
            sipush 32767
            sipush 32767
            invokespecial java.awt.Rectangle.<init>:(II)V
            astore 8 /* viewR */
        start local 8 // java.awt.Rectangle viewR
         9: .line 283
            aload 0 /* b */
            aload 5 /* fm */
            aload 3 /* text */
            aload 2 /* icon */
        10: .line 284
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getVerticalAlignment:()I
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getHorizontalAlignment:()I
        11: .line 285
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getVerticalTextPosition:()I
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getHorizontalTextPosition:()I
        12: .line 286
            aload 8 /* viewR */
            aload 6 /* iconR */
            aload 7 /* textR */
            aload 3 /* text */
            ifnonnull 13
            iconst_0
            goto 14
      StackMap locals: javax.swing.AbstractButton int javax.swing.Icon java.lang.String java.awt.Font java.awt.FontMetrics java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle
      StackMap stack: javax.swing.AbstractButton java.awt.FontMetrics java.lang.String javax.swing.Icon int int int int java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle
        13: iload 1 /* textIconGap */
        14: .line 282
      StackMap locals: javax.swing.AbstractButton int javax.swing.Icon java.lang.String java.awt.Font java.awt.FontMetrics java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle
      StackMap stack: javax.swing.AbstractButton java.awt.FontMetrics java.lang.String javax.swing.Icon int int int int java.awt.Rectangle java.awt.Rectangle java.awt.Rectangle int
            invokestatic javax.swing.SwingUtilities.layoutCompoundLabel:(Ljavax/swing/JComponent;Ljava/awt/FontMetrics;Ljava/lang/String;Ljavax/swing/Icon;IIIILjava/awt/Rectangle;Ljava/awt/Rectangle;Ljava/awt/Rectangle;I)Ljava/lang/String;
            pop
        15: .line 293
            aload 6 /* iconR */
            aload 7 /* textR */
            invokevirtual java.awt.Rectangle.union:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
            astore 9 /* r */
        start local 9 // java.awt.Rectangle r
        16: .line 295
            aload 0 /* b */
            invokevirtual javax.swing.AbstractButton.getInsets:()Ljava/awt/Insets;
            astore 10 /* insets */
        start local 10 // java.awt.Insets insets
        17: .line 296
            aload 9 /* r */
            dup
            getfield java.awt.Rectangle.width:I
            aload 10 /* insets */
            getfield java.awt.Insets.left:I
            aload 10 /* insets */
            getfield java.awt.Insets.right:I
            iadd
            iadd
            putfield java.awt.Rectangle.width:I
        18: .line 297
            aload 9 /* r */
            dup
            getfield java.awt.Rectangle.height:I
            aload 10 /* insets */
            getfield java.awt.Insets.top:I
            aload 10 /* insets */
            getfield java.awt.Insets.bottom:I
            iadd
            iadd
            putfield java.awt.Rectangle.height:I
        19: .line 299
            aload 9 /* r */
            invokevirtual java.awt.Rectangle.getSize:()Ljava/awt/Dimension;
            areturn
        end local 10 // java.awt.Insets insets
        end local 9 // java.awt.Rectangle r
        end local 8 // java.awt.Rectangle viewR
        end local 7 // java.awt.Rectangle textR
        end local 6 // java.awt.Rectangle iconR
        end local 5 // java.awt.FontMetrics fm
        end local 4 // java.awt.Font font
        end local 3 // java.lang.String text
        end local 2 // javax.swing.Icon icon
        end local 1 // int textIconGap
        end local 0 // javax.swing.AbstractButton b
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   20     0            b  Ljavax/swing/AbstractButton;
            0   20     1  textIconGap  I
            3   20     2         icon  Ljavax/swing/Icon;
            4   20     3         text  Ljava/lang/String;
            5   20     4         font  Ljava/awt/Font;
            6   20     5           fm  Ljava/awt/FontMetrics;
            7   20     6        iconR  Ljava/awt/Rectangle;
            8   20     7        textR  Ljava/awt/Rectangle;
            9   20     8        viewR  Ljava/awt/Rectangle;
           16   20     9            r  Ljava/awt/Rectangle;
           17   20    10       insets  Ljava/awt/Insets;
    MethodParameters:
             Name  Flags
      b            
      textIconGap  

  static boolean isLeftToRight(java.awt.Component);
    descriptor: (Ljava/awt/Component;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.Component c
         0: .line 307
            aload 0 /* c */
            invokevirtual java.awt.Component.getComponentOrientation:()Ljava/awt/ComponentOrientation;
            invokevirtual java.awt.ComponentOrientation.isLeftToRight:()Z
            ireturn
        end local 0 // java.awt.Component c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/awt/Component;
    MethodParameters:
      Name  Flags
      c     

  static boolean isMenuShortcutKeyDown(java.awt.event.InputEvent);
    descriptor: (Ljava/awt/event/InputEvent;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.event.InputEvent event
         0: .line 311
            aload 0 /* event */
            invokevirtual java.awt.event.InputEvent.getModifiers:()I
         1: .line 312
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            invokevirtual java.awt.Toolkit.getMenuShortcutKeyMask:()I
         2: .line 311
            iand
            ifeq 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // java.awt.event.InputEvent event
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  event  Ljava/awt/event/InputEvent;
    MethodParameters:
       Name  Flags
      event  
}
SourceFile: "BasicGraphicsUtils.java"