public class java.awt.AWTKeyStroke implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.awt.AWTKeyStroke
  super_class: java.lang.Object
{
  static final long serialVersionUID;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -6430539691155161871

  private static java.util.Map<java.lang.String, java.lang.Integer> modifierKeywords;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;

  private static java.awt.VKCollection vks;
    descriptor: Ljava/awt/VKCollection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.Object APP_CONTEXT_CACHE_KEY;
    descriptor: Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.awt.AWTKeyStroke APP_CONTEXT_KEYSTROKE_KEY;
    descriptor: Ljava/awt/AWTKeyStroke;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private char keyChar;
    descriptor: C
    flags: (0x0002) ACC_PRIVATE

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

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

  private boolean onKeyRelease;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 64
            ldc Ljava/awt/AWTKeyStroke;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic java.awt.AWTKeyStroke.$assertionsDisabled:Z
         3: .line 76
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic java.awt.AWTKeyStroke.APP_CONTEXT_CACHE_KEY:Ljava/lang/Object;
         4: .line 78
            new java.awt.AWTKeyStroke
            dup
            invokespecial java.awt.AWTKeyStroke.<init>:()V
            putstatic java.awt.AWTKeyStroke.APP_CONTEXT_KEYSTROKE_KEY:Ljava/awt/AWTKeyStroke;
         5: .line 87
            invokestatic java.awt.Toolkit.loadLibraries:()V
         6: .line 88
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 123
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 80
            aload 0 /* this */
            ldc 65535
            putfield java.awt.AWTKeyStroke.keyChar:C
         2: .line 81
            aload 0 /* this */
            iconst_0
            putfield java.awt.AWTKeyStroke.keyCode:I
         3: .line 124
            return
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/awt/AWTKeyStroke;

  protected void <init>(char, int, int, boolean);
    descriptor: (CIIZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // java.awt.AWTKeyStroke this
        start local 1 // char keyChar
        start local 2 // int keyCode
        start local 3 // int modifiers
        start local 4 // boolean onKeyRelease
         0: .line 140
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 80
            aload 0 /* this */
            ldc 65535
            putfield java.awt.AWTKeyStroke.keyChar:C
         2: .line 81
            aload 0 /* this */
            iconst_0
            putfield java.awt.AWTKeyStroke.keyCode:I
         3: .line 142
            aload 0 /* this */
            iload 1 /* keyChar */
            putfield java.awt.AWTKeyStroke.keyChar:C
         4: .line 143
            aload 0 /* this */
            iload 2 /* keyCode */
            putfield java.awt.AWTKeyStroke.keyCode:I
         5: .line 144
            aload 0 /* this */
            iload 3 /* modifiers */
            putfield java.awt.AWTKeyStroke.modifiers:I
         6: .line 145
            aload 0 /* this */
            iload 4 /* onKeyRelease */
            putfield java.awt.AWTKeyStroke.onKeyRelease:Z
         7: .line 146
            return
        end local 4 // boolean onKeyRelease
        end local 3 // int modifiers
        end local 2 // int keyCode
        end local 1 // char keyChar
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Ljava/awt/AWTKeyStroke;
            0    8     1       keyChar  C
            0    8     2       keyCode  I
            0    8     3     modifiers  I
            0    8     4  onKeyRelease  Z
    MethodParameters:
              Name  Flags
      keyChar       
      keyCode       
      modifiers     
      onKeyRelease  

  protected static void registerSubclass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // java.lang.Class subclass
         0: .line 158
            return
        end local 0 // java.lang.Class subclass
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  subclass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)V
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      subclass  

  private static synchronized java.awt.AWTKeyStroke getCachedStroke(char, int, int, boolean);
    descriptor: (CIIZ)Ljava/awt/AWTKeyStroke;
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // char keyChar
        start local 1 // int keyCode
        start local 2 // int modifiers
        start local 3 // boolean onKeyRelease
         0: .line 164
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            getstatic java.awt.AWTKeyStroke.APP_CONTEXT_CACHE_KEY:Ljava/lang/Object;
            invokevirtual sun.awt.AppContext.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 4 /* cache */
        start local 4 // java.util.Map cache
         1: .line 165
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            getstatic java.awt.AWTKeyStroke.APP_CONTEXT_KEYSTROKE_KEY:Ljava/awt/AWTKeyStroke;
            invokevirtual sun.awt.AppContext.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.AWTKeyStroke
            astore 5 /* cacheKey */
        start local 5 // java.awt.AWTKeyStroke cacheKey
         2: .line 167
            aload 4 /* cache */
            ifnonnull 5
         3: .line 168
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* cache */
         4: .line 169
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            getstatic java.awt.AWTKeyStroke.APP_CONTEXT_CACHE_KEY:Ljava/lang/Object;
            aload 4 /* cache */
            invokevirtual sun.awt.AppContext.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 172
      StackMap locals: java.util.Map java.awt.AWTKeyStroke
      StackMap stack:
            aload 5 /* cacheKey */
            ifnonnull 8
         6: .line 173
            invokestatic sun.swing.SwingAccessor.getKeyStrokeAccessor:()Lsun/swing/SwingAccessor$KeyStrokeAccessor;
            invokeinterface sun.swing.SwingAccessor$KeyStrokeAccessor.create:()Ljavax/swing/KeyStroke;
            astore 5 /* cacheKey */
         7: .line 174
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            getstatic java.awt.AWTKeyStroke.APP_CONTEXT_KEYSTROKE_KEY:Ljava/awt/AWTKeyStroke;
            aload 5 /* cacheKey */
            invokevirtual sun.awt.AppContext.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 177
      StackMap locals:
      StackMap stack:
            aload 5 /* cacheKey */
            iload 0 /* keyChar */
            putfield java.awt.AWTKeyStroke.keyChar:C
         9: .line 178
            aload 5 /* cacheKey */
            iload 1 /* keyCode */
            putfield java.awt.AWTKeyStroke.keyCode:I
        10: .line 179
            aload 5 /* cacheKey */
            iload 2 /* modifiers */
            invokestatic java.awt.AWTKeyStroke.mapOldModifiers:(I)I
            invokestatic java.awt.AWTKeyStroke.mapNewModifiers:(I)I
            putfield java.awt.AWTKeyStroke.modifiers:I
        11: .line 180
            aload 5 /* cacheKey */
            iload 3 /* onKeyRelease */
            putfield java.awt.AWTKeyStroke.onKeyRelease:Z
        12: .line 182
            aload 4 /* cache */
            aload 5 /* cacheKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.AWTKeyStroke
            astore 6 /* stroke */
        start local 6 // java.awt.AWTKeyStroke stroke
        13: .line 183
            aload 6 /* stroke */
            ifnonnull 17
        14: .line 184
            aload 5 /* cacheKey */
            astore 6 /* stroke */
        15: .line 185
            aload 4 /* cache */
            aload 6 /* stroke */
            aload 6 /* stroke */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 186
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            getstatic java.awt.AWTKeyStroke.APP_CONTEXT_KEYSTROKE_KEY:Ljava/awt/AWTKeyStroke;
            invokevirtual sun.awt.AppContext.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 188
      StackMap locals: java.awt.AWTKeyStroke
      StackMap stack:
            aload 6 /* stroke */
            areturn
        end local 6 // java.awt.AWTKeyStroke stroke
        end local 5 // java.awt.AWTKeyStroke cacheKey
        end local 4 // java.util.Map cache
        end local 3 // boolean onKeyRelease
        end local 2 // int modifiers
        end local 1 // int keyCode
        end local 0 // char keyChar
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0       keyChar  C
            0   18     1       keyCode  I
            0   18     2     modifiers  I
            0   18     3  onKeyRelease  Z
            1   18     4         cache  Ljava/util/Map<Ljava/awt/AWTKeyStroke;Ljava/awt/AWTKeyStroke;>;
            2   18     5      cacheKey  Ljava/awt/AWTKeyStroke;
           13   18     6        stroke  Ljava/awt/AWTKeyStroke;
    MethodParameters:
              Name  Flags
      keyChar       
      keyCode       
      modifiers     
      onKeyRelease  

  public static java.awt.AWTKeyStroke getAWTKeyStroke(char);
    descriptor: (C)Ljava/awt/AWTKeyStroke;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // char keyChar
         0: .line 200
            iload 0 /* keyChar */
            iconst_0
            iconst_0
            iconst_0
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            areturn
        end local 0 // char keyChar
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  keyChar  C
    MethodParameters:
         Name  Flags
      keyChar  

  public static java.awt.AWTKeyStroke getAWTKeyStroke(java.lang.Character, int);
    descriptor: (Ljava/lang/Character;I)Ljava/awt/AWTKeyStroke;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Character keyChar
        start local 1 // int modifiers
         0: .line 242
            aload 0 /* keyChar */
            ifnonnull 2
         1: .line 243
            new java.lang.IllegalArgumentException
            dup
            ldc "keyChar cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* keyChar */
            invokevirtual java.lang.Character.charValue:()C
            iconst_0
         3: .line 246
            iload 1 /* modifiers */
            iconst_0
         4: .line 245
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            areturn
        end local 1 // int modifiers
        end local 0 // java.lang.Character keyChar
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0    keyChar  Ljava/lang/Character;
            0    5     1  modifiers  I
    MethodParameters:
           Name  Flags
      keyChar    
      modifiers  

  public static java.awt.AWTKeyStroke getAWTKeyStroke(int, int, boolean);
    descriptor: (IIZ)Ljava/awt/AWTKeyStroke;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // int keyCode
        start local 1 // int modifiers
        start local 2 // boolean onKeyRelease
         0: .line 295
            ldc 65535
            iload 0 /* keyCode */
            iload 1 /* modifiers */
         1: .line 296
            iload 2 /* onKeyRelease */
         2: .line 295
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            areturn
        end local 2 // boolean onKeyRelease
        end local 1 // int modifiers
        end local 0 // int keyCode
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0       keyCode  I
            0    3     1     modifiers  I
            0    3     2  onKeyRelease  Z
    MethodParameters:
              Name  Flags
      keyCode       
      modifiers     
      onKeyRelease  

  public static java.awt.AWTKeyStroke getAWTKeyStroke(int, int);
    descriptor: (II)Ljava/awt/AWTKeyStroke;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // int keyCode
        start local 1 // int modifiers
         0: .line 339
            ldc 65535
            iload 0 /* keyCode */
            iload 1 /* modifiers */
         1: .line 340
            iconst_0
         2: .line 339
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            areturn
        end local 1 // int modifiers
        end local 0 // int keyCode
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0    keyCode  I
            0    3     1  modifiers  I
    MethodParameters:
           Name  Flags
      keyCode    
      modifiers  

  public static java.awt.AWTKeyStroke getAWTKeyStrokeForEvent(java.awt.event.KeyEvent);
    descriptor: (Ljava/awt/event/KeyEvent;)Ljava/awt/AWTKeyStroke;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.awt.event.KeyEvent anEvent
         0: .line 359
            aload 0 /* anEvent */
            invokevirtual java.awt.event.KeyEvent.getID:()I
            istore 1 /* id */
        start local 1 // int id
         1: .line 360
            iload 1 /* id */
            tableswitch { // 400 - 402
                  400: 8
                  401: 2
                  402: 2
              default: 13
          }
         2: .line 363
      StackMap locals: int
      StackMap stack:
            ldc 65535
         3: .line 364
            aload 0 /* anEvent */
            invokevirtual java.awt.event.KeyEvent.getKeyCode:()I
         4: .line 365
            aload 0 /* anEvent */
            invokevirtual java.awt.event.KeyEvent.getModifiers:()I
         5: .line 366
            iload 1 /* id */
            sipush 402
            if_icmpne 6
            iconst_1
            goto 7
      StackMap locals: java.awt.event.KeyEvent int
      StackMap stack: int int int
         6: iconst_0
         7: .line 363
      StackMap locals: java.awt.event.KeyEvent int
      StackMap stack: int int int int
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            areturn
         8: .line 368
      StackMap locals:
      StackMap stack:
            aload 0 /* anEvent */
            invokevirtual java.awt.event.KeyEvent.getKeyChar:()C
         9: .line 369
            iconst_0
        10: .line 370
            aload 0 /* anEvent */
            invokevirtual java.awt.event.KeyEvent.getModifiers:()I
        11: .line 371
            iconst_0
        12: .line 368
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            areturn
        13: .line 374
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int id
        end local 0 // java.awt.event.KeyEvent anEvent
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0  anEvent  Ljava/awt/event/KeyEvent;
            1   14     1       id  I
    MethodParameters:
         Name  Flags
      anEvent  

  public static java.awt.AWTKeyStroke getAWTKeyStroke(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/awt/AWTKeyStroke;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=1
        start local 0 // java.lang.String s
         0: .line 407
            aload 0 /* s */
            ifnonnull 2
         1: .line 408
            new java.lang.IllegalArgumentException
            dup
            ldc "String cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 413
      StackMap locals:
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 0 /* s */
            ldc " "
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* st */
        start local 1 // java.util.StringTokenizer st
         3: .line 415
            iconst_0
            istore 2 /* mask */
        start local 2 // int mask
         4: .line 416
            iconst_0
            istore 3 /* released */
        start local 3 // boolean released
         5: .line 417
            iconst_0
            istore 4 /* typed */
        start local 4 // boolean typed
         6: .line 418
            iconst_0
            istore 5 /* pressed */
        start local 5 // boolean pressed
         7: .line 420
            ldc Ljava/awt/AWTKeyStroke;
            dup
            astore 6
            monitorenter
         8: .line 421
            getstatic java.awt.AWTKeyStroke.modifierKeywords:Ljava/util/Map;
            ifnonnull 39
         9: .line 422
            new java.util.HashMap
            dup
            bipush 8
            fconst_1
            invokespecial java.util.HashMap.<init>:(IF)V
            astore 7 /* uninitializedMap */
        start local 7 // java.util.Map uninitializedMap
        10: .line 423
            aload 7 /* uninitializedMap */
            ldc "shift"
        11: .line 424
            bipush 65
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        12: .line 423
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 426
            aload 7 /* uninitializedMap */
            ldc "control"
        14: .line 427
            sipush 130
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        15: .line 426
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 429
            aload 7 /* uninitializedMap */
            ldc "ctrl"
        17: .line 430
            sipush 130
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        18: .line 429
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 432
            aload 7 /* uninitializedMap */
            ldc "meta"
        20: .line 433
            sipush 260
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        21: .line 432
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 435
            aload 7 /* uninitializedMap */
            ldc "alt"
        23: .line 436
            sipush 520
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        24: .line 435
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 438
            aload 7 /* uninitializedMap */
            ldc "altGraph"
        26: .line 439
            sipush 8224
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        27: .line 438
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 441
            aload 7 /* uninitializedMap */
            ldc "button1"
        29: .line 442
            sipush 1024
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        30: .line 441
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 443
            aload 7 /* uninitializedMap */
            ldc "button2"
        32: .line 444
            sipush 2048
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        33: .line 443
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        34: .line 445
            aload 7 /* uninitializedMap */
            ldc "button3"
        35: .line 446
            sipush 4096
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        36: .line 445
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        37: .line 448
            aload 7 /* uninitializedMap */
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
        38: .line 447
            putstatic java.awt.AWTKeyStroke.modifierKeywords:Ljava/util/Map;
        end local 7 // java.util.Map uninitializedMap
        39: .line 420
      StackMap locals: java.lang.String java.util.StringTokenizer int int int int java.lang.Class
      StackMap stack:
            aload 6
            monitorexit
        40: goto 43
      StackMap locals:
      StackMap stack: java.lang.Throwable
        41: aload 6
            monitorexit
        42: athrow
        43: .line 452
      StackMap locals:
      StackMap stack:
            aload 1 /* st */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            istore 6 /* count */
        start local 6 // int count
        44: .line 454
            iconst_1
            istore 7 /* i */
        start local 7 // int i
        45: goto 76
        46: .line 455
      StackMap locals: int int
      StackMap stack:
            aload 1 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 8 /* token */
        start local 8 // java.lang.String token
        47: .line 457
            iload 4 /* typed */
            ifeq 53
        48: .line 458
            aload 8 /* token */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 49
            iload 7 /* i */
            iload 6 /* count */
            if_icmpeq 50
        49: .line 459
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "String formatted incorrectly"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        50: .line 461
      StackMap locals:
      StackMap stack:
            aload 8 /* token */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            iconst_0
        51: .line 462
            iload 2 /* mask */
            iconst_0
        52: .line 461
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            areturn
        53: .line 465
      StackMap locals:
      StackMap stack:
            iload 5 /* pressed */
            ifne 54
            iload 3 /* released */
            ifne 54
            iload 7 /* i */
            iload 6 /* count */
            if_icmpne 61
        54: .line 466
      StackMap locals:
      StackMap stack:
            iload 7 /* i */
            iload 6 /* count */
            if_icmpeq 56
        55: .line 467
            new java.lang.IllegalArgumentException
            dup
            ldc "String formatted incorrectly"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        56: .line 470
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "VK_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* token */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* keyCodeName */
        start local 9 // java.lang.String keyCodeName
        57: .line 471
            aload 9 /* keyCodeName */
            invokestatic java.awt.AWTKeyStroke.getVKValue:(Ljava/lang/String;)I
            istore 10 /* keyCode */
        start local 10 // int keyCode
        58: .line 473
            ldc 65535
            iload 10 /* keyCode */
        59: .line 474
            iload 2 /* mask */
            iload 3 /* released */
        60: .line 473
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            areturn
        end local 10 // int keyCode
        end local 9 // java.lang.String keyCodeName
        61: .line 477
      StackMap locals:
      StackMap stack:
            aload 8 /* token */
            ldc "released"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 64
        62: .line 478
            iconst_1
            istore 3 /* released */
        63: .line 479
            goto 75
        64: .line 481
      StackMap locals:
      StackMap stack:
            aload 8 /* token */
            ldc "pressed"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 67
        65: .line 482
            iconst_1
            istore 5 /* pressed */
        66: .line 483
            goto 75
        67: .line 485
      StackMap locals:
      StackMap stack:
            aload 8 /* token */
            ldc "typed"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 70
        68: .line 486
            iconst_1
            istore 4 /* typed */
        69: .line 487
            goto 75
        70: .line 490
      StackMap locals:
      StackMap stack:
            getstatic java.awt.AWTKeyStroke.modifierKeywords:Ljava/util/Map;
            aload 8 /* token */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 9 /* tokenMask */
        start local 9 // java.lang.Integer tokenMask
        71: .line 491
            aload 9 /* tokenMask */
            ifnull 74
        72: .line 492
            iload 2 /* mask */
            aload 9 /* tokenMask */
            invokevirtual java.lang.Integer.intValue:()I
            ior
            istore 2 /* mask */
        73: .line 493
            goto 75
        74: .line 494
      StackMap locals: java.lang.Integer
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "String formatted incorrectly"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.Integer tokenMask
        end local 8 // java.lang.String token
        75: .line 454
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        76: iload 7 /* i */
            iload 6 /* count */
            if_icmple 46
        end local 7 // int i
        77: .line 498
            new java.lang.IllegalArgumentException
            dup
            ldc "String formatted incorrectly"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // int count
        end local 5 // boolean pressed
        end local 4 // boolean typed
        end local 3 // boolean released
        end local 2 // int mask
        end local 1 // java.util.StringTokenizer st
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   78     0                 s  Ljava/lang/String;
            3   78     1                st  Ljava/util/StringTokenizer;
            4   78     2              mask  I
            5   78     3          released  Z
            6   78     4             typed  Z
            7   78     5           pressed  Z
           10   39     7  uninitializedMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
           44   78     6             count  I
           45   77     7                 i  I
           47   75     8             token  Ljava/lang/String;
           57   61     9       keyCodeName  Ljava/lang/String;
           58   61    10           keyCode  I
           71   75     9         tokenMask  Ljava/lang/Integer;
      Exception table:
        from    to  target  type
           8    40      41  any
          41    42      41  any
    MethodParameters:
      Name  Flags
      s     

  private static java.awt.VKCollection getVKCollection();
    descriptor: ()Ljava/awt/VKCollection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 502
            getstatic java.awt.AWTKeyStroke.vks:Ljava/awt/VKCollection;
            ifnonnull 2
         1: .line 503
            new java.awt.VKCollection
            dup
            invokespecial java.awt.VKCollection.<init>:()V
            putstatic java.awt.AWTKeyStroke.vks:Ljava/awt/VKCollection;
         2: .line 505
      StackMap locals:
      StackMap stack:
            getstatic java.awt.AWTKeyStroke.vks:Ljava/awt/VKCollection;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static int getVKValue(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String key
         0: .line 514
            invokestatic java.awt.AWTKeyStroke.getVKCollection:()Ljava/awt/VKCollection;
            astore 1 /* vkCollect */
        start local 1 // java.awt.VKCollection vkCollect
         1: .line 516
            aload 1 /* vkCollect */
            aload 0 /* key */
            invokevirtual java.awt.VKCollection.findCode:(Ljava/lang/String;)Ljava/lang/Integer;
            astore 2 /* value */
        start local 2 // java.lang.Integer value
         2: .line 518
            aload 2 /* value */
            ifnonnull 12
         3: .line 519
            iconst_0
            istore 3 /* keyCode */
        start local 3 // int keyCode
         4: .line 523
            ldc Ljava/awt/event/KeyEvent;
            aload 0 /* key */
            invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            ldc Ljava/awt/event/KeyEvent;
            invokevirtual java.lang.reflect.Field.getInt:(Ljava/lang/Object;)I
            istore 3 /* keyCode */
         5: .line 524
            goto 10
      StackMap locals: java.lang.String java.awt.VKCollection java.lang.Integer int
      StackMap stack: java.lang.NoSuchFieldException
         6: pop
         7: .line 525
            new java.lang.IllegalArgumentException
            dup
            ldc "String formatted incorrectly"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 526
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
         9: .line 527
            new java.lang.IllegalArgumentException
            dup
            ldc "String formatted incorrectly"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 529
      StackMap locals:
      StackMap stack:
            iload 3 /* keyCode */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 2 /* value */
        11: .line 530
            aload 1 /* vkCollect */
            aload 0 /* key */
            aload 2 /* value */
            invokevirtual java.awt.VKCollection.put:(Ljava/lang/String;Ljava/lang/Integer;)V
        end local 3 // int keyCode
        12: .line 532
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 2 // java.lang.Integer value
        end local 1 // java.awt.VKCollection vkCollect
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0        key  Ljava/lang/String;
            1   13     1  vkCollect  Ljava/awt/VKCollection;
            2   13     2      value  Ljava/lang/Integer;
            4   12     3    keyCode  I
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.NoSuchFieldException
           4     5       8  Class java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      key   

  public final char getKeyChar();
    descriptor: ()C
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 543
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyChar:C
            ireturn
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/AWTKeyStroke;

  public final int getKeyCode();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 554
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyCode:I
            ireturn
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/AWTKeyStroke;

  public final int getModifiers();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 564
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.modifiers:I
            ireturn
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/AWTKeyStroke;

  public final boolean isOnKeyRelease();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 575
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.onKeyRelease:Z
            ireturn
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/AWTKeyStroke;

  public final int getKeyEventType();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 588
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyCode:I
            ifne 2
         1: .line 589
            sipush 400
            ireturn
         2: .line 591
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.onKeyRelease:Z
            ifeq 4
         3: .line 592
            sipush 402
            goto 5
         4: .line 593
      StackMap locals:
      StackMap stack:
            sipush 401
         5: .line 591
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/awt/AWTKeyStroke;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 604
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyChar:C
            iconst_1
            iadd
            iconst_2
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyCode:I
            iconst_1
            iadd
            imul
            imul
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.modifiers:I
            iconst_1
            iadd
            imul
         1: .line 605
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.onKeyRelease:Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack: int
         2: iconst_2
         3: .line 604
      StackMap locals: java.awt.AWTKeyStroke
      StackMap stack: int int
            iadd
            ireturn
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/awt/AWTKeyStroke;

  public final boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.awt.AWTKeyStroke this
        start local 1 // java.lang.Object anObject
         0: .line 615
            aload 1 /* anObject */
            instanceof java.awt.AWTKeyStroke
            ifeq 7
         1: .line 616
            aload 1 /* anObject */
            checkcast java.awt.AWTKeyStroke
            astore 2 /* ks */
        start local 2 // java.awt.AWTKeyStroke ks
         2: .line 617
            aload 2 /* ks */
            getfield java.awt.AWTKeyStroke.keyChar:C
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyChar:C
            if_icmpne 6
            aload 2 /* ks */
            getfield java.awt.AWTKeyStroke.keyCode:I
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyCode:I
            if_icmpne 6
         3: .line 618
            aload 2 /* ks */
            getfield java.awt.AWTKeyStroke.onKeyRelease:Z
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.onKeyRelease:Z
            if_icmpne 6
         4: .line 619
            aload 2 /* ks */
            getfield java.awt.AWTKeyStroke.modifiers:I
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.modifiers:I
            if_icmpne 6
         5: .line 617
            iconst_1
            ireturn
      StackMap locals: java.awt.AWTKeyStroke
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // java.awt.AWTKeyStroke ks
         7: .line 621
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object anObject
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Ljava/awt/AWTKeyStroke;
            0    8     1  anObject  Ljava/lang/Object;
            2    7     2        ks  Ljava/awt/AWTKeyStroke;
    MethodParameters:
          Name  Flags
      anObject  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 634
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyCode:I
            ifne 2
         1: .line 635
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.modifiers:I
            invokestatic java.awt.AWTKeyStroke.getModifiersText:(I)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "typed "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyChar:C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 637
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.modifiers:I
            invokestatic java.awt.AWTKeyStroke.getModifiersText:(I)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 638
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.onKeyRelease:Z
            ifeq 4
            ldc "released"
            goto 5
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         4: ldc "pressed"
      StackMap locals: java.awt.AWTKeyStroke
      StackMap stack: java.lang.StringBuilder java.lang.String
         5: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 639
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyCode:I
            invokestatic java.awt.AWTKeyStroke.getVKText:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 637
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/awt/AWTKeyStroke;

  static java.lang.String getModifiersText(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // int modifiers
         0: .line 644
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         1: .line 646
            iload 0 /* modifiers */
            bipush 64
            iand
            ifeq 3
         2: .line 647
            aload 1 /* buf */
            ldc "shift "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 649
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            iload 0 /* modifiers */
            sipush 128
            iand
            ifeq 5
         4: .line 650
            aload 1 /* buf */
            ldc "ctrl "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 652
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 256
            iand
            ifeq 7
         6: .line 653
            aload 1 /* buf */
            ldc "meta "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 655
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 512
            iand
            ifeq 9
         8: .line 656
            aload 1 /* buf */
            ldc "alt "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 658
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 8192
            iand
            ifeq 11
        10: .line 659
            aload 1 /* buf */
            ldc "altGraph "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 661
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 1024
            iand
            ifeq 13
        12: .line 662
            aload 1 /* buf */
            ldc "button1 "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 664
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 2048
            iand
            ifeq 15
        14: .line 665
            aload 1 /* buf */
            ldc "button2 "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 667
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 4096
            iand
            ifeq 17
        16: .line 668
            aload 1 /* buf */
            ldc "button3 "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 671
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buf
        end local 0 // int modifiers
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0  modifiers  I
            1   18     1        buf  Ljava/lang/StringBuilder;
    MethodParameters:
           Name  Flags
      modifiers  

  static java.lang.String getVKText(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // int keyCode
         0: .line 675
            invokestatic java.awt.AWTKeyStroke.getVKCollection:()Ljava/awt/VKCollection;
            astore 1 /* vkCollect */
        start local 1 // java.awt.VKCollection vkCollect
         1: .line 676
            iload 0 /* keyCode */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 2 /* key */
        start local 2 // java.lang.Integer key
         2: .line 677
            aload 1 /* vkCollect */
            aload 2 /* key */
            invokevirtual java.awt.VKCollection.findName:(Ljava/lang/Integer;)Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         3: .line 678
            aload 3 /* name */
            ifnull 5
         4: .line 679
            aload 3 /* name */
            iconst_3
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
         5: .line 682
      StackMap locals: java.awt.VKCollection java.lang.Integer java.lang.String
      StackMap stack:
            bipush 25
         6: .line 681
            istore 4 /* expected_modifiers */
        start local 4 // int expected_modifiers
         7: .line 684
            ldc Ljava/awt/event/KeyEvent;
            invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
            astore 5 /* fields */
        start local 5 // java.lang.reflect.Field[] fields
         8: .line 685
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: goto 21
        10: .line 687
      StackMap locals: int java.lang.reflect.Field[] int
      StackMap stack:
            aload 5 /* fields */
            iload 6 /* i */
            aaload
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            iload 4 /* expected_modifiers */
            if_icmpne 20
        11: .line 688
            aload 5 /* fields */
            iload 6 /* i */
            aaload
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 20
        12: .line 689
            aload 5 /* fields */
            iload 6 /* i */
            aaload
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            ldc "VK_"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 20
        13: .line 690
            aload 5 /* fields */
            iload 6 /* i */
            aaload
            ldc Ljava/awt/event/KeyEvent;
            invokevirtual java.lang.reflect.Field.getInt:(Ljava/lang/Object;)I
            iload 0 /* keyCode */
            if_icmpne 20
        14: .line 692
            aload 5 /* fields */
            iload 6 /* i */
            aaload
            invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
            astore 3 /* name */
        15: .line 693
            aload 1 /* vkCollect */
            aload 3 /* name */
            aload 2 /* key */
            invokevirtual java.awt.VKCollection.put:(Ljava/lang/String;Ljava/lang/Integer;)V
        16: .line 694
            aload 3 /* name */
            iconst_3
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
        17: areturn
        18: .line 696
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
        19: .line 697
            getstatic java.awt.AWTKeyStroke.$assertionsDisabled:Z
            ifne 20
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 685
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 6 /* i */
            aload 5 /* fields */
            arraylength
            if_icmplt 10
        end local 6 // int i
        22: .line 700
            ldc "UNKNOWN"
            areturn
        end local 5 // java.lang.reflect.Field[] fields
        end local 4 // int expected_modifiers
        end local 3 // java.lang.String name
        end local 2 // java.lang.Integer key
        end local 1 // java.awt.VKCollection vkCollect
        end local 0 // int keyCode
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   23     0             keyCode  I
            1   23     1           vkCollect  Ljava/awt/VKCollection;
            2   23     2                 key  Ljava/lang/Integer;
            3   23     3                name  Ljava/lang/String;
            7   23     4  expected_modifiers  I
            8   23     5              fields  [Ljava/lang/reflect/Field;
            9   22     6                   i  I
      Exception table:
        from    to  target  type
          10    17      18  Class java.lang.IllegalAccessException
    MethodParameters:
         Name  Flags
      keyCode  

  protected java.lang.Object readResolve();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.awt.AWTKeyStroke this
         0: .line 711
            ldc Ljava/awt/AWTKeyStroke;
            dup
            astore 1
            monitorenter
         1: .line 713
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyChar:C
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.keyCode:I
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.modifiers:I
            aload 0 /* this */
            getfield java.awt.AWTKeyStroke.onKeyRelease:Z
            invokestatic java.awt.AWTKeyStroke.getCachedStroke:(CIIZ)Ljava/awt/AWTKeyStroke;
            aload 1
            monitorexit
         2: areturn
         3: .line 711
      StackMap locals: java.awt.AWTKeyStroke java.lang.Class
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // java.awt.AWTKeyStroke this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/awt/AWTKeyStroke;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any
    Exceptions:
      throws java.io.ObjectStreamException

  private static int mapOldModifiers(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int modifiers
         0: .line 719
            iload 0 /* modifiers */
            iconst_1
            iand
            ifeq 2
         1: .line 720
            iload 0 /* modifiers */
            bipush 64
            ior
            istore 0 /* modifiers */
         2: .line 722
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            bipush 8
            iand
            ifeq 4
         3: .line 723
            iload 0 /* modifiers */
            sipush 512
            ior
            istore 0 /* modifiers */
         4: .line 725
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            bipush 32
            iand
            ifeq 6
         5: .line 726
            iload 0 /* modifiers */
            sipush 8192
            ior
            istore 0 /* modifiers */
         6: .line 728
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            iconst_2
            iand
            ifeq 8
         7: .line 729
            iload 0 /* modifiers */
            sipush 128
            ior
            istore 0 /* modifiers */
         8: .line 731
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            iconst_4
            iand
            ifeq 10
         9: .line 732
            iload 0 /* modifiers */
            sipush 256
            ior
            istore 0 /* modifiers */
        10: .line 735
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 16320
            iand
            istore 0 /* modifiers */
        11: .line 744
            iload 0 /* modifiers */
            ireturn
        end local 0 // int modifiers
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0  modifiers  I
    MethodParameters:
           Name  Flags
      modifiers  

  private static int mapNewModifiers(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int modifiers
         0: .line 749
            iload 0 /* modifiers */
            bipush 64
            iand
            ifeq 2
         1: .line 750
            iload 0 /* modifiers */
            iconst_1
            ior
            istore 0 /* modifiers */
         2: .line 752
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 512
            iand
            ifeq 4
         3: .line 753
            iload 0 /* modifiers */
            bipush 8
            ior
            istore 0 /* modifiers */
         4: .line 755
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 8192
            iand
            ifeq 6
         5: .line 756
            iload 0 /* modifiers */
            bipush 32
            ior
            istore 0 /* modifiers */
         6: .line 758
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 128
            iand
            ifeq 8
         7: .line 759
            iload 0 /* modifiers */
            iconst_2
            ior
            istore 0 /* modifiers */
         8: .line 761
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            sipush 256
            iand
            ifeq 10
         9: .line 762
            iload 0 /* modifiers */
            iconst_4
            ior
            istore 0 /* modifiers */
        10: .line 765
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            ireturn
        end local 0 // int modifiers
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0  modifiers  I
    MethodParameters:
           Name  Flags
      modifiers  
}
SourceFile: "AWTKeyStroke.java"
InnerClasses:
  public abstract KeyStrokeAccessor = sun.swing.SwingAccessor$KeyStrokeAccessor of sun.swing.SwingAccessor