public class com.sun.security.auth.login.ConfigFile extends javax.security.auth.login.Configuration
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.security.auth.login.ConfigFile
  super_class: javax.security.auth.login.Configuration
{
  private java.io.StreamTokenizer st;
    descriptor: Ljava/io/StreamTokenizer;
    flags: (0x0002) ACC_PRIVATE

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

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

  private java.util.HashMap<java.lang.String, java.util.LinkedList<javax.security.auth.login.AppConfigurationEntry>> configuration;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/util/LinkedList<Ljavax/security/auth/login/AppConfigurationEntry;>;>;

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

  private java.net.URL url;
    descriptor: Ljava/net/URL;
    flags: (0x0002) ACC_PRIVATE

  private static sun.security.util.Debug debugConfig;
    descriptor: Lsun/security/util/Debug;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static sun.security.util.Debug debugParser;
    descriptor: Lsun/security/util/Debug;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 100
            ldc "configfile"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic com.sun.security.auth.login.ConfigFile.debugConfig:Lsun/security/util/Debug;
         1: .line 101
            ldc "configparser"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic com.sun.security.auth.login.ConfigFile.debugParser:Lsun/security/util/Debug;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.security.auth.login.ConfigFile this
         0: .line 106
            aload 0 /* this */
            invokespecial javax.security.auth.login.Configuration.<init>:()V
         1: .line 97
            aload 0 /* this */
            iconst_1
            putfield com.sun.security.auth.login.ConfigFile.expandProp:Z
         2: .line 108
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.url:Ljava/net/URL;
            invokevirtual com.sun.security.auth.login.ConfigFile.init:(Ljava/net/URL;)V
         3: .line 109
            goto 7
      StackMap locals: com.sun.security.auth.login.ConfigFile
      StackMap stack: java.io.IOException
         4: astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
         5: .line 111
            new java.lang.SecurityException
            dup
            aload 1 /* ioe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            aload 1 /* ioe */
            invokevirtual java.lang.SecurityException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
         6: .line 110
            checkcast java.lang.SecurityException
            athrow
        end local 1 // java.io.IOException ioe
         7: .line 113
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.security.auth.login.ConfigFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/security/auth/login/ConfigFile;
            5    7     1   ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException

  public void <init>(java.net.URI);
    descriptor: (Ljava/net/URI;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.security.auth.login.ConfigFile this
        start local 1 // java.net.URI uri
         0: .line 120
            aload 0 /* this */
            invokespecial javax.security.auth.login.Configuration.<init>:()V
         1: .line 97
            aload 0 /* this */
            iconst_1
            putfield com.sun.security.auth.login.ConfigFile.expandProp:Z
         2: .line 123
            aload 0 /* this */
            aload 1 /* uri */
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            putfield com.sun.security.auth.login.ConfigFile.url:Ljava/net/URL;
         3: .line 124
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.url:Ljava/net/URL;
            invokevirtual com.sun.security.auth.login.ConfigFile.init:(Ljava/net/URL;)V
         4: .line 125
            goto 11
      StackMap locals: com.sun.security.auth.login.ConfigFile java.net.URI
      StackMap stack: java.net.MalformedURLException
         5: astore 2 /* mue */
        start local 2 // java.net.MalformedURLException mue
         6: .line 127
            new java.lang.SecurityException
            dup
            aload 2 /* mue */
            invokevirtual java.net.MalformedURLException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            aload 2 /* mue */
            invokevirtual java.lang.SecurityException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
         7: .line 126
            checkcast java.lang.SecurityException
            athrow
        end local 2 // java.net.MalformedURLException mue
         8: .line 128
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         9: .line 130
            new java.lang.SecurityException
            dup
            aload 2 /* ioe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            aload 2 /* ioe */
            invokevirtual java.lang.SecurityException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        10: .line 129
            checkcast java.lang.SecurityException
            athrow
        end local 2 // java.io.IOException ioe
        11: .line 132
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.net.URI uri
        end local 0 // com.sun.security.auth.login.ConfigFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/sun/security/auth/login/ConfigFile;
            0   12     1   uri  Ljava/net/URI;
            6    8     2   mue  Ljava/net/MalformedURLException;
            9   11     2   ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     4       5  Class java.net.MalformedURLException
           2     4       8  Class java.io.IOException
    MethodParameters:
      Name  Flags
      uri   

  private void init(java.net.URL);
    descriptor: (Ljava/net/URL;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // com.sun.security.auth.login.ConfigFile this
        start local 1 // java.net.URL url
         0: .line 145
            iconst_0
            istore 2 /* initialized */
        start local 2 // boolean initialized
         1: .line 147
            getstatic java.io.File.separator:Ljava/lang/String;
            pop
         2: .line 149
            ldc "false"
            ldc "policy.expandProperties"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 150
            aload 0 /* this */
            iconst_0
            putfield com.sun.security.auth.login.ConfigFile.expandProp:Z
         4: .line 155
      StackMap locals: int
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
         5: .line 154
            astore 3 /* newConfig */
        start local 3 // java.util.HashMap newConfig
         6: .line 157
            aload 1 /* url */
            ifnull 12
         7: .line 163
            getstatic com.sun.security.auth.login.ConfigFile.debugConfig:Lsun/security/util/Debug;
            ifnull 9
         8: .line 164
            getstatic com.sun.security.auth.login.ConfigFile.debugConfig:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "reading "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 166
      StackMap locals: java.util.HashMap
      StackMap stack:
            aload 0 /* this */
            aload 1 /* url */
            aload 3 /* newConfig */
            invokevirtual com.sun.security.auth.login.ConfigFile.init:(Ljava/net/URL;Ljava/util/HashMap;)V
        10: .line 167
            aload 0 /* this */
            aload 3 /* newConfig */
            putfield com.sun.security.auth.login.ConfigFile.configuration:Ljava/util/HashMap;
        11: .line 168
            return
        12: .line 177
      StackMap locals:
      StackMap stack:
            ldc "policy.allowSystemProperty"
        13: .line 176
            invokestatic java.security.Security.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* allowSys */
        start local 4 // java.lang.String allowSys
        14: .line 179
            ldc "true"
            aload 4 /* allowSys */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 56
        15: .line 181
            ldc "java.security.auth.login.config"
        16: .line 180
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* extra_config */
        start local 5 // java.lang.String extra_config
        17: .line 182
            aload 5 /* extra_config */
            ifnull 56
        18: .line 183
            iconst_0
            istore 6 /* overrideAll */
        start local 6 // boolean overrideAll
        19: .line 184
            aload 5 /* extra_config */
            ldc "="
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 22
        20: .line 185
            iconst_1
            istore 6 /* overrideAll */
        21: .line 186
            aload 5 /* extra_config */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* extra_config */
        22: .line 189
      StackMap locals: java.lang.String java.lang.String int
      StackMap stack:
            aload 5 /* extra_config */
            invokestatic sun.security.util.PropertyExpander.expand:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* extra_config */
        23: .line 190
            goto 32
      StackMap locals:
      StackMap stack: sun.security.util.PropertyExpander$ExpandException
        24: pop
        25: .line 191
            new java.text.MessageFormat
            dup
        26: .line 193
            ldc "Unable.to.properly.expand.config"
        27: .line 194
            ldc "sun.security.util.AuthResources"
        28: .line 192
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        29: .line 191
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        30: .line 195
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* extra_config */
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        31: .line 196
            new java.io.IOException
            dup
            aload 7 /* form */
            aload 8 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.lang.Object[] source
        end local 7 // java.text.MessageFormat form
        32: .line 199
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* configURL */
        start local 7 // java.net.URL configURL
        33: .line 201
            new java.net.URL
            dup
            aload 5 /* extra_config */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 7 /* configURL */
        34: .line 202
            goto 47
      StackMap locals: com.sun.security.auth.login.ConfigFile java.net.URL int java.util.HashMap java.lang.String java.lang.String int java.net.URL
      StackMap stack: java.net.MalformedURLException
        35: pop
        36: .line 203
            new java.io.File
            dup
            aload 5 /* extra_config */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 8 /* configFile */
        start local 8 // java.io.File configFile
        37: .line 204
            aload 8 /* configFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 40
        38: .line 205
            aload 8 /* configFile */
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            astore 7 /* configURL */
        39: .line 206
            goto 47
        40: .line 207
      StackMap locals: java.io.File
      StackMap stack:
            new java.text.MessageFormat
            dup
        41: .line 209
            ldc "extra.config.No.such.file.or.directory."
        42: .line 210
            ldc "sun.security.util.AuthResources"
        43: .line 208
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        44: .line 207
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        45: .line 211
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* extra_config */
            aastore
            astore 10 /* source */
        start local 10 // java.lang.Object[] source
        46: .line 212
            new java.io.IOException
            dup
            aload 9 /* form */
            aload 10 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // java.lang.Object[] source
        end local 9 // java.text.MessageFormat form
        end local 8 // java.io.File configFile
        47: .line 216
      StackMap locals:
      StackMap stack:
            getstatic com.sun.security.auth.login.ConfigFile.debugConfig:Lsun/security/util/Debug;
            ifnull 49
        48: .line 217
            getstatic com.sun.security.auth.login.ConfigFile.debugConfig:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "reading "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* configURL */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        49: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* configURL */
            aload 3 /* newConfig */
            invokevirtual com.sun.security.auth.login.ConfigFile.init:(Ljava/net/URL;Ljava/util/HashMap;)V
        50: .line 220
            iconst_1
            istore 2 /* initialized */
        51: .line 221
            iload 6 /* overrideAll */
            ifeq 56
        52: .line 222
            getstatic com.sun.security.auth.login.ConfigFile.debugConfig:Lsun/security/util/Debug;
            ifnull 54
        53: .line 223
            getstatic com.sun.security.auth.login.ConfigFile.debugConfig:Lsun/security/util/Debug;
            ldc "overriding other policies!"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        54: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* newConfig */
            putfield com.sun.security.auth.login.ConfigFile.configuration:Ljava/util/HashMap;
        55: .line 226
            return
        end local 7 // java.net.URL configURL
        end local 6 // boolean overrideAll
        end local 5 // java.lang.String extra_config
        56: .line 231
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* n */
        start local 5 // int n
        57: .line 233
            goto 76
        start local 6 // java.lang.String config_url
        58: .line 237
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 6 /* config_url */
        59: .line 236
            invokestatic sun.security.util.PropertyExpander.expand:(Ljava/lang/String;)Ljava/lang/String;
        60: .line 237
            getstatic java.io.File.separatorChar:C
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
        61: .line 236
            astore 6 /* config_url */
        62: .line 238
            getstatic com.sun.security.auth.login.ConfigFile.debugConfig:Lsun/security/util/Debug;
            ifnull 64
        63: .line 239
            getstatic com.sun.security.auth.login.ConfigFile.debugConfig:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "\tReading config: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* config_url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        64: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.net.URL
            dup
            aload 6 /* config_url */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            aload 3 /* newConfig */
            invokevirtual com.sun.security.auth.login.ConfigFile.init:(Ljava/net/URL;Ljava/util/HashMap;)V
        65: .line 242
            iconst_1
            istore 2 /* initialized */
        66: .line 243
            goto 75
      StackMap locals:
      StackMap stack: sun.security.util.PropertyExpander$ExpandException
        67: pop
        68: .line 244
            new java.text.MessageFormat
            dup
        69: .line 246
            ldc "Unable.to.properly.expand.config"
        70: .line 247
            ldc "sun.security.util.AuthResources"
        71: .line 245
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        72: .line 244
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        73: .line 248
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* config_url */
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        74: .line 249
            new java.io.IOException
            dup
            aload 7 /* form */
            aload 8 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.lang.Object[] source
        end local 7 // java.text.MessageFormat form
        75: .line 251
      StackMap locals:
      StackMap stack:
            iinc 5 /* n */ 1
        end local 6 // java.lang.String config_url
        76: .line 234
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "login.config.url."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* n */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        77: .line 233
            invokestatic java.security.Security.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            dup
            astore 6 /* config_url */
        start local 6 // java.lang.String config_url
        78: ifnonnull 58
        79: .line 254
            iload 2 /* initialized */
            ifne 90
            iload 5 /* n */
            iconst_1
            if_icmpne 90
            aload 6 /* config_url */
            ifnonnull 90
        80: .line 257
            getstatic com.sun.security.auth.login.ConfigFile.debugConfig:Lsun/security/util/Debug;
            ifnull 82
        81: .line 258
            getstatic com.sun.security.auth.login.ConfigFile.debugConfig:Lsun/security/util/Debug;
            ldc "\tReading Policy from ~/.java.login.config"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        82: .line 261
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "user.home"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* config_url */
        83: .line 262
            new java.lang.StringBuilder
            dup
            aload 6 /* config_url */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        84: .line 263
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc ".java.login.config"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        85: .line 262
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* userConfigFile */
        start local 7 // java.lang.String userConfigFile
        86: .line 267
            new java.io.File
            dup
            aload 7 /* userConfigFile */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.exists:()Z
            ifeq 90
        87: .line 268
            aload 0 /* this */
            new java.io.File
            dup
            aload 7 /* userConfigFile */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
        88: .line 269
            aload 3 /* newConfig */
        89: .line 268
            invokevirtual com.sun.security.auth.login.ConfigFile.init:(Ljava/net/URL;Ljava/util/HashMap;)V
        end local 7 // java.lang.String userConfigFile
        90: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* newConfig */
            putfield com.sun.security.auth.login.ConfigFile.configuration:Ljava/util/HashMap;
        91: .line 274
            return
        end local 6 // java.lang.String config_url
        end local 5 // int n
        end local 4 // java.lang.String allowSys
        end local 3 // java.util.HashMap newConfig
        end local 2 // boolean initialized
        end local 1 // java.net.URL url
        end local 0 // com.sun.security.auth.login.ConfigFile this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   92     0            this  Lcom/sun/security/auth/login/ConfigFile;
            0   92     1             url  Ljava/net/URL;
            1   92     2     initialized  Z
            6   92     3       newConfig  Ljava/util/HashMap<Ljava/lang/String;Ljava/util/LinkedList<Ljavax/security/auth/login/AppConfigurationEntry;>;>;
           14   92     4        allowSys  Ljava/lang/String;
           17   56     5    extra_config  Ljava/lang/String;
           19   56     6     overrideAll  Z
           30   32     7            form  Ljava/text/MessageFormat;
           31   32     8          source  [Ljava/lang/Object;
           33   56     7       configURL  Ljava/net/URL;
           37   47     8      configFile  Ljava/io/File;
           45   47     9            form  Ljava/text/MessageFormat;
           46   47    10          source  [Ljava/lang/Object;
           57   92     5               n  I
           58   76     6      config_url  Ljava/lang/String;
           78   92     6      config_url  Ljava/lang/String;
           73   75     7            form  Ljava/text/MessageFormat;
           74   75     8          source  [Ljava/lang/Object;
           86   90     7  userConfigFile  Ljava/lang/String;
      Exception table:
        from    to  target  type
          22    23      24  Class sun.security.util.PropertyExpander$ExpandException
          33    34      35  Class java.net.MalformedURLException
          58    66      67  Class sun.security.util.PropertyExpander$ExpandException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      url   

  private void init(java.net.URL, java.util.HashMap<java.lang.String, java.util.LinkedList<javax.security.auth.login.AppConfigurationEntry>>);
    descriptor: (Ljava/net/URL;Ljava/util/HashMap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.sun.security.auth.login.ConfigFile this
        start local 1 // java.net.URL config
        start local 2 // java.util.HashMap newConfig
         0: .line 280
            aconst_null
            astore 3 /* isr */
        start local 3 // java.io.InputStreamReader isr
         1: .line 282
            new java.io.InputStreamReader
            dup
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual com.sun.security.auth.login.ConfigFile.getInputStream:(Ljava/net/URL;)Ljava/io/InputStream;
            ldc "UTF-8"
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            astore 3 /* isr */
         2: .line 283
            aload 0 /* this */
            aload 3 /* isr */
            aload 2 /* newConfig */
            invokevirtual com.sun.security.auth.login.ConfigFile.readConfig:(Ljava/io/Reader;Ljava/util/HashMap;)V
         3: .line 284
            goto 15
      StackMap locals: com.sun.security.auth.login.ConfigFile java.net.URL java.util.HashMap java.io.InputStreamReader
      StackMap stack: java.io.FileNotFoundException
         4: astore 4 /* fnfe */
        start local 4 // java.io.FileNotFoundException fnfe
         5: .line 285
            getstatic com.sun.security.auth.login.ConfigFile.debugConfig:Lsun/security/util/Debug;
            ifnull 7
         6: .line 286
            getstatic com.sun.security.auth.login.ConfigFile.debugConfig:Lsun/security/util/Debug;
            aload 4 /* fnfe */
            invokevirtual java.io.FileNotFoundException.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         7: .line 288
      StackMap locals: java.io.FileNotFoundException
      StackMap stack:
            new java.io.IOException
            dup
         8: .line 289
            ldc "Configuration.Error.No.such.file.or.directory"
         9: .line 290
            ldc "sun.security.util.AuthResources"
        10: .line 288
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.io.FileNotFoundException fnfe
        11: .line 291
      StackMap locals: com.sun.security.auth.login.ConfigFile java.net.URL java.util.HashMap java.io.InputStreamReader
      StackMap stack: java.lang.Throwable
            astore 5
        12: .line 292
            aload 3 /* isr */
            ifnull 14
        13: .line 293
            aload 3 /* isr */
            invokevirtual java.io.InputStreamReader.close:()V
        14: .line 295
      StackMap locals: com.sun.security.auth.login.ConfigFile java.net.URL java.util.HashMap java.io.InputStreamReader top java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        15: .line 292
      StackMap locals: com.sun.security.auth.login.ConfigFile java.net.URL java.util.HashMap java.io.InputStreamReader
      StackMap stack:
            aload 3 /* isr */
            ifnull 17
        16: .line 293
            aload 3 /* isr */
            invokevirtual java.io.InputStreamReader.close:()V
        17: .line 296
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.io.InputStreamReader isr
        end local 2 // java.util.HashMap newConfig
        end local 1 // java.net.URL config
        end local 0 // com.sun.security.auth.login.ConfigFile this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Lcom/sun/security/auth/login/ConfigFile;
            0   18     1     config  Ljava/net/URL;
            0   18     2  newConfig  Ljava/util/HashMap<Ljava/lang/String;Ljava/util/LinkedList<Ljavax/security/auth/login/AppConfigurationEntry;>;>;
            1   18     3        isr  Ljava/io/InputStreamReader;
            5   11     4       fnfe  Ljava/io/FileNotFoundException;
      Exception table:
        from    to  target  type
           1     3       4  Class java.io.FileNotFoundException
           1    11      11  any
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/net/URL;Ljava/util/HashMap<Ljava/lang/String;Ljava/util/LinkedList<Ljavax/security/auth/login/AppConfigurationEntry;>;>;)V
    MethodParameters:
           Name  Flags
      config     
      newConfig  

  public javax.security.auth.login.AppConfigurationEntry[] getAppConfigurationEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljavax/security/auth/login/AppConfigurationEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // com.sun.security.auth.login.ConfigFile this
        start local 1 // java.lang.String applicationName
         0: .line 313
            aconst_null
            astore 2 /* list */
        start local 2 // java.util.LinkedList list
         1: .line 314
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.configuration:Ljava/util/HashMap;
            dup
            astore 3
            monitorenter
         2: .line 315
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.configuration:Ljava/util/HashMap;
            aload 1 /* applicationName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.LinkedList
            astore 2 /* list */
         3: .line 314
            aload 3
            monitorexit
         4: goto 7
      StackMap locals: com.sun.security.auth.login.ConfigFile java.lang.String java.util.LinkedList java.util.HashMap
      StackMap stack: java.lang.Throwable
         5: aload 3
            monitorexit
         6: athrow
         7: .line 318
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            ifnull 8
            aload 2 /* list */
            invokevirtual java.util.LinkedList.size:()I
            ifne 9
         8: .line 319
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         9: .line 322
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            invokevirtual java.util.LinkedList.size:()I
            anewarray javax.security.auth.login.AppConfigurationEntry
        10: .line 321
            astore 3 /* entries */
        start local 3 // javax.security.auth.login.AppConfigurationEntry[] entries
        11: .line 323
            aload 2 /* list */
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 4 /* iterator */
        start local 4 // java.util.Iterator iterator
        12: .line 324
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        13: goto 20
        14: .line 325
      StackMap locals: javax.security.auth.login.AppConfigurationEntry[] java.util.Iterator int
      StackMap stack:
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.security.auth.login.AppConfigurationEntry
            astore 6 /* e */
        start local 6 // javax.security.auth.login.AppConfigurationEntry e
        15: .line 326
            aload 3 /* entries */
            iload 5 /* i */
            new javax.security.auth.login.AppConfigurationEntry
            dup
            aload 6 /* e */
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getLoginModuleName:()Ljava/lang/String;
        16: .line 327
            aload 6 /* e */
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getControlFlag:()Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
        17: .line 328
            aload 6 /* e */
            invokevirtual javax.security.auth.login.AppConfigurationEntry.getOptions:()Ljava/util/Map;
            invokespecial javax.security.auth.login.AppConfigurationEntry.<init>:(Ljava/lang/String;Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;Ljava/util/Map;)V
        18: .line 326
            aastore
        end local 6 // javax.security.auth.login.AppConfigurationEntry e
        19: .line 324
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: aload 4 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        end local 5 // int i
        21: .line 330
            aload 3 /* entries */
            areturn
        end local 4 // java.util.Iterator iterator
        end local 3 // javax.security.auth.login.AppConfigurationEntry[] entries
        end local 2 // java.util.LinkedList list
        end local 1 // java.lang.String applicationName
        end local 0 // com.sun.security.auth.login.ConfigFile this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   22     0             this  Lcom/sun/security/auth/login/ConfigFile;
            0   22     1  applicationName  Ljava/lang/String;
            1   22     2             list  Ljava/util/LinkedList<Ljavax/security/auth/login/AppConfigurationEntry;>;
           11   22     3          entries  [Ljavax/security/auth/login/AppConfigurationEntry;
           12   22     4         iterator  Ljava/util/Iterator<Ljavax/security/auth/login/AppConfigurationEntry;>;
           13   21     5                i  I
           15   19     6                e  Ljavax/security/auth/login/AppConfigurationEntry;
      Exception table:
        from    to  target  type
           2     4       5  any
           5     6       5  any
    MethodParameters:
                 Name  Flags
      applicationName  

  public synchronized void refresh();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.security.auth.login.ConfigFile this
         0: .line 344
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 345
            aload 1 /* sm */
            ifnull 3
         2: .line 346
            aload 1 /* sm */
            new javax.security.auth.AuthPermission
            dup
            ldc "refreshLoginConfiguration"
            invokespecial javax.security.auth.AuthPermission.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 349
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            new com.sun.security.auth.login.ConfigFile$1
            dup
            aload 0 /* this */
            invokespecial com.sun.security.auth.login.ConfigFile$1.<init>:(Lcom/sun/security/auth/login/ConfigFile;)V
         4: .line 348
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         5: .line 360
            return
        end local 1 // java.lang.SecurityManager sm
        end local 0 // com.sun.security.auth.login.ConfigFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/security/auth/login/ConfigFile;
            1    6     1    sm  Ljava/lang/SecurityManager;

  private void readConfig(java.io.Reader, java.util.HashMap<java.lang.String, java.util.LinkedList<javax.security.auth.login.AppConfigurationEntry>>);
    descriptor: (Ljava/io/Reader;Ljava/util/HashMap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.security.auth.login.ConfigFile this
        start local 1 // java.io.Reader reader
        start local 2 // java.util.HashMap newConfig
         0: .line 368
            aload 1 /* reader */
            instanceof java.io.BufferedReader
            ifne 2
         1: .line 369
            new java.io.BufferedReader
            dup
            aload 1 /* reader */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 1 /* reader */
         2: .line 371
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.io.StreamTokenizer
            dup
            aload 1 /* reader */
            invokespecial java.io.StreamTokenizer.<init>:(Ljava/io/Reader;)V
            putfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
         3: .line 372
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
            bipush 34
            invokevirtual java.io.StreamTokenizer.quoteChar:(I)V
         4: .line 373
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
            bipush 36
            bipush 36
            invokevirtual java.io.StreamTokenizer.wordChars:(II)V
         5: .line 374
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
            bipush 95
            bipush 95
            invokevirtual java.io.StreamTokenizer.wordChars:(II)V
         6: .line 375
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
            bipush 45
            bipush 45
            invokevirtual java.io.StreamTokenizer.wordChars:(II)V
         7: .line 376
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
            iconst_0
            invokevirtual java.io.StreamTokenizer.lowerCaseMode:(Z)V
         8: .line 377
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
            iconst_1
            invokevirtual java.io.StreamTokenizer.slashSlashComments:(Z)V
         9: .line 378
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
            iconst_1
            invokevirtual java.io.StreamTokenizer.slashStarComments:(Z)V
        10: .line 379
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
            iconst_1
            invokevirtual java.io.StreamTokenizer.eolIsSignificant:(Z)V
        11: .line 381
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.security.auth.login.ConfigFile.nextToken:()I
            putfield com.sun.security.auth.login.ConfigFile.lookahead:I
        12: .line 382
            goto 14
        13: .line 383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* newConfig */
            invokevirtual com.sun.security.auth.login.ConfigFile.parseLoginEntry:(Ljava/util/HashMap;)V
        14: .line 382
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.lookahead:I
            iconst_m1
            if_icmpne 13
        15: .line 385
            return
        end local 2 // java.util.HashMap newConfig
        end local 1 // java.io.Reader reader
        end local 0 // com.sun.security.auth.login.ConfigFile this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lcom/sun/security/auth/login/ConfigFile;
            0   16     1     reader  Ljava/io/Reader;
            0   16     2  newConfig  Ljava/util/HashMap<Ljava/lang/String;Ljava/util/LinkedList<Ljavax/security/auth/login/AppConfigurationEntry;>;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/Reader;Ljava/util/HashMap<Ljava/lang/String;Ljava/util/LinkedList<Ljavax/security/auth/login/AppConfigurationEntry;>;>;)V
    MethodParameters:
           Name  Flags
      reader     
      newConfig  

  private void parseLoginEntry(java.util.HashMap<java.lang.String, java.util.LinkedList<javax.security.auth.login.AppConfigurationEntry>>);
    descriptor: (Ljava/util/HashMap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // com.sun.security.auth.login.ConfigFile this
        start local 1 // java.util.HashMap newConfig
         0: .line 396
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
         1: .line 395
            astore 6 /* configEntries */
        start local 6 // java.util.LinkedList configEntries
         2: .line 399
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            astore 2 /* appName */
        start local 2 // java.lang.String appName
         3: .line 400
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.security.auth.login.ConfigFile.nextToken:()I
            putfield com.sun.security.auth.login.ConfigFile.lookahead:I
         4: .line 402
            getstatic com.sun.security.auth.login.ConfigFile.debugParser:Lsun/security/util/Debug;
            ifnull 6
         5: .line 403
            getstatic com.sun.security.auth.login.ConfigFile.debugParser:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "\tReading next config entry: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* appName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         6: .line 406
      StackMap locals: com.sun.security.auth.login.ConfigFile java.util.HashMap java.lang.String top top top java.util.LinkedList
      StackMap stack:
            aload 0 /* this */
            ldc "{"
            invokevirtual com.sun.security.auth.login.ConfigFile.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
         7: .line 409
            goto 60
         8: .line 411
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "module class name"
            invokevirtual com.sun.security.auth.login.ConfigFile.match:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* moduleClass */
        start local 3 // java.lang.String moduleClass
         9: .line 414
            aload 0 /* this */
            ldc "controlFlag"
            invokevirtual com.sun.security.auth.login.ConfigFile.match:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* sflag */
        start local 4 // java.lang.String sflag
        10: .line 415
            aload 4 /* sflag */
            ldc "REQUIRED"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 14
        11: .line 417
            getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.REQUIRED:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
        12: .line 416
            astore 5 /* controlFlag */
        start local 5 // javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag controlFlag
        13: .line 417
            goto 32
        end local 5 // javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag controlFlag
        14: .line 418
      StackMap locals: com.sun.security.auth.login.ConfigFile java.util.HashMap java.lang.String java.lang.String java.lang.String top java.util.LinkedList
      StackMap stack:
            aload 4 /* sflag */
            ldc "REQUISITE"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 18
        15: .line 420
            getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.REQUISITE:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
        16: .line 419
            astore 5 /* controlFlag */
        start local 5 // javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag controlFlag
        17: .line 420
            goto 32
        end local 5 // javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag controlFlag
        18: .line 421
      StackMap locals:
      StackMap stack:
            aload 4 /* sflag */
            ldc "SUFFICIENT"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 22
        19: .line 423
            getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.SUFFICIENT:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
        20: .line 422
            astore 5 /* controlFlag */
        start local 5 // javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag controlFlag
        21: .line 423
            goto 32
        end local 5 // javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag controlFlag
        22: .line 424
      StackMap locals:
      StackMap stack:
            aload 4 /* sflag */
            ldc "OPTIONAL"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 26
        23: .line 426
            getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.OPTIONAL:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
        24: .line 425
            astore 5 /* controlFlag */
        start local 5 // javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag controlFlag
        25: .line 426
            goto 32
        end local 5 // javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag controlFlag
        26: .line 428
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        27: .line 429
            ldc "Configuration.Error.Invalid.control.flag.flag"
        28: .line 430
            ldc "sun.security.util.AuthResources"
        29: .line 428
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        30: .line 431
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* sflag */
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        31: .line 432
            new java.io.IOException
            dup
            aload 7 /* form */
            aload 8 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.lang.Object[] source
        end local 7 // java.text.MessageFormat form
        start local 5 // javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag controlFlag
        32: .line 436
      StackMap locals: com.sun.security.auth.login.ConfigFile java.util.HashMap java.lang.String java.lang.String java.lang.String javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag java.util.LinkedList
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 7 /* options */
        start local 7 // java.util.HashMap options
        33: .line 439
            goto 41
        34: .line 440
      StackMap locals: java.util.HashMap
      StackMap stack:
            aload 0 /* this */
            ldc "option key"
            invokevirtual com.sun.security.auth.login.ConfigFile.match:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* key */
        start local 8 // java.lang.String key
        35: .line 441
            aload 0 /* this */
            ldc "="
            invokevirtual com.sun.security.auth.login.ConfigFile.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
        36: .line 443
            aload 0 /* this */
            aload 0 /* this */
            ldc "option value"
            invokevirtual com.sun.security.auth.login.ConfigFile.match:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.sun.security.auth.login.ConfigFile.expand:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* value */
        start local 9 // java.lang.String value
        37: .line 444
            goto 40
        end local 9 // java.lang.String value
      StackMap locals: com.sun.security.auth.login.ConfigFile java.util.HashMap java.lang.String java.lang.String java.lang.String javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag java.util.LinkedList java.util.HashMap java.lang.String
      StackMap stack: sun.security.util.PropertyExpander$ExpandException
        38: astore 10 /* peee */
        start local 10 // sun.security.util.PropertyExpander$ExpandException peee
        39: .line 445
            new java.io.IOException
            dup
            aload 10 /* peee */
            invokevirtual sun.security.util.PropertyExpander$ExpandException.getLocalizedMessage:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // sun.security.util.PropertyExpander$ExpandException peee
        start local 9 // java.lang.String value
        40: .line 447
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* options */
            aload 8 /* key */
            aload 9 /* value */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // java.lang.String value
        end local 8 // java.lang.String key
        41: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ";"
            invokevirtual com.sun.security.auth.login.ConfigFile.peek:(Ljava/lang/String;)Z
            ifeq 34
        42: .line 450
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.security.auth.login.ConfigFile.nextToken:()I
            putfield com.sun.security.auth.login.ConfigFile.lookahead:I
        43: .line 453
            getstatic com.sun.security.auth.login.ConfigFile.debugParser:Lsun/security/util/Debug;
            ifnull 54
        44: .line 454
            getstatic com.sun.security.auth.login.ConfigFile.debugParser:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "\t\t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* moduleClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* sflag */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        45: .line 455
            aload 7 /* options */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10 /* i */
        start local 10 // java.util.Iterator i
        46: .line 456
            goto 53
        47: .line 457
      StackMap locals: com.sun.security.auth.login.ConfigFile java.util.HashMap java.lang.String java.lang.String java.lang.String javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag java.util.LinkedList java.util.HashMap top top java.util.Iterator
      StackMap stack:
            aload 10 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* key */
        start local 8 // java.lang.String key
        48: .line 458
            getstatic com.sun.security.auth.login.ConfigFile.debugParser:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "\t\t\t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        49: .line 459
            aload 8 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        50: .line 460
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        51: .line 461
            aload 7 /* options */
            aload 8 /* key */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        52: .line 458
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 8 // java.lang.String key
        53: .line 456
      StackMap locals:
      StackMap stack:
            aload 10 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 47
        end local 10 // java.util.Iterator i
        54: .line 464
      StackMap locals: com.sun.security.auth.login.ConfigFile java.util.HashMap java.lang.String java.lang.String java.lang.String javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag java.util.LinkedList java.util.HashMap
      StackMap stack:
            new javax.security.auth.login.AppConfigurationEntry
            dup
        55: .line 465
            aload 3 /* moduleClass */
        56: .line 466
            aload 5 /* controlFlag */
        57: .line 467
            aload 7 /* options */
        58: .line 464
            invokespecial javax.security.auth.login.AppConfigurationEntry.<init>:(Ljava/lang/String;Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;Ljava/util/Map;)V
            astore 10 /* entry */
        start local 10 // javax.security.auth.login.AppConfigurationEntry entry
        59: .line 468
            aload 6 /* configEntries */
            aload 10 /* entry */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // javax.security.auth.login.AppConfigurationEntry entry
        end local 7 // java.util.HashMap options
        end local 5 // javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag controlFlag
        end local 4 // java.lang.String sflag
        end local 3 // java.lang.String moduleClass
        60: .line 409
      StackMap locals: com.sun.security.auth.login.ConfigFile java.util.HashMap java.lang.String top top top java.util.LinkedList
      StackMap stack:
            aload 0 /* this */
            ldc "}"
            invokevirtual com.sun.security.auth.login.ConfigFile.peek:(Ljava/lang/String;)Z
            ifeq 8
        61: .line 471
            aload 0 /* this */
            ldc "}"
            invokevirtual com.sun.security.auth.login.ConfigFile.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
        62: .line 472
            aload 0 /* this */
            ldc ";"
            invokevirtual com.sun.security.auth.login.ConfigFile.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
        63: .line 475
            aload 1 /* newConfig */
            aload 2 /* appName */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 70
        64: .line 476
            new java.text.MessageFormat
            dup
        65: .line 477
            ldc "Configuration.Error.Can.not.specify.multiple.entries.for.appName"
        66: .line 478
            ldc "sun.security.util.AuthResources"
        67: .line 476
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        68: .line 479
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* appName */
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        69: .line 480
            new java.io.IOException
            dup
            aload 7 /* form */
            aload 8 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.lang.Object[] source
        end local 7 // java.text.MessageFormat form
        70: .line 482
      StackMap locals:
      StackMap stack:
            aload 1 /* newConfig */
            aload 2 /* appName */
            aload 6 /* configEntries */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        71: .line 483
            return
        end local 6 // java.util.LinkedList configEntries
        end local 2 // java.lang.String appName
        end local 1 // java.util.HashMap newConfig
        end local 0 // com.sun.security.auth.login.ConfigFile this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   72     0           this  Lcom/sun/security/auth/login/ConfigFile;
            0   72     1      newConfig  Ljava/util/HashMap<Ljava/lang/String;Ljava/util/LinkedList<Ljavax/security/auth/login/AppConfigurationEntry;>;>;
            3   72     2        appName  Ljava/lang/String;
            9   60     3    moduleClass  Ljava/lang/String;
           10   60     4          sflag  Ljava/lang/String;
           13   14     5    controlFlag  Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
           17   18     5    controlFlag  Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
           21   22     5    controlFlag  Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
           25   26     5    controlFlag  Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
           32   60     5    controlFlag  Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
            2   72     6  configEntries  Ljava/util/LinkedList<Ljavax/security/auth/login/AppConfigurationEntry;>;
           30   32     7           form  Ljava/text/MessageFormat;
           31   32     8         source  [Ljava/lang/Object;
           33   60     7        options  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
           35   41     8            key  Ljava/lang/String;
           48   53     8            key  Ljava/lang/String;
           37   38     9          value  Ljava/lang/String;
           40   41     9          value  Ljava/lang/String;
           39   40    10           peee  Lsun/security/util/PropertyExpander$ExpandException;
           46   54    10              i  Ljava/util/Iterator<Ljava/lang/String;>;
           59   60    10          entry  Ljavax/security/auth/login/AppConfigurationEntry;
           68   70     7           form  Ljava/text/MessageFormat;
           69   70     8         source  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
          36    37      38  Class sun.security.util.PropertyExpander$ExpandException
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/HashMap<Ljava/lang/String;Ljava/util/LinkedList<Ljavax/security/auth/login/AppConfigurationEntry;>;>;)V
    MethodParameters:
           Name  Flags
      newConfig  

  private java.lang.String match(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // com.sun.security.auth.login.ConfigFile this
        start local 1 // java.lang.String expect
         0: .line 487
            aconst_null
            astore 2 /* value */
        start local 2 // java.lang.String value
         1: .line 489
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.lookahead:I
            lookupswitch { // 7
                   -3: 8
                   -1: 2
                   34: 8
                   59: 30
                   61: 48
                  123: 21
                  125: 39
              default: 57
          }
         2: .line 492
      StackMap locals: java.lang.String
      StackMap stack:
            new java.text.MessageFormat
            dup
         3: .line 493
            ldc "Configuration.Error.expected.expect.read.end.of.file."
         4: .line 494
            ldc "sun.security.util.AuthResources"
         5: .line 492
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form1 */
        start local 3 // java.text.MessageFormat form1
         6: .line 495
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* expect */
            aastore
            astore 4 /* source1 */
        start local 4 // java.lang.Object[] source1
         7: .line 496
            new java.io.IOException
            dup
            aload 3 /* form1 */
            aload 4 /* source1 */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.Object[] source1
        end local 3 // java.text.MessageFormat form1
         8: .line 501
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc "module class name"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 12
         9: .line 502
            aload 1 /* expect */
            ldc "controlFlag"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 12
        10: .line 503
            aload 1 /* expect */
            ldc "option key"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 12
        11: .line 504
            aload 1 /* expect */
            ldc "option value"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 15
        12: .line 505
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            astore 2 /* value */
        13: .line 506
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.security.auth.login.ConfigFile.nextToken:()I
            putfield com.sun.security.auth.login.ConfigFile.lookahead:I
        14: .line 507
            goto 63
        15: .line 508
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        16: .line 509
            ldc "Configuration.Error.Line.line.expected.expect.found.value."
        17: .line 510
            ldc "sun.security.util.AuthResources"
        18: .line 508
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        19: .line 511
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.Integer
            dup
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.linenum:I
            invokespecial java.lang.Integer.<init>:(I)V
            aastore
            dup
            iconst_1
            aload 1 /* expect */
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            aastore
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
        20: .line 512
            new java.io.IOException
            dup
            aload 5 /* form */
            aload 6 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.Object[] source
        end local 5 // java.text.MessageFormat form
        21: .line 518
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc "{"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 24
        22: .line 519
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.security.auth.login.ConfigFile.nextToken:()I
            putfield com.sun.security.auth.login.ConfigFile.lookahead:I
        23: .line 520
            goto 63
        24: .line 521
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        25: .line 522
            ldc "Configuration.Error.Line.line.expected.expect."
        26: .line 523
            ldc "sun.security.util.AuthResources"
        27: .line 521
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        28: .line 524
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.Integer
            dup
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.linenum:I
            invokespecial java.lang.Integer.<init>:(I)V
            aastore
            dup
            iconst_1
            aload 1 /* expect */
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            aastore
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
        29: .line 525
            new java.io.IOException
            dup
            aload 5 /* form */
            aload 6 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.Object[] source
        end local 5 // java.text.MessageFormat form
        30: .line 531
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc ";"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 33
        31: .line 532
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.security.auth.login.ConfigFile.nextToken:()I
            putfield com.sun.security.auth.login.ConfigFile.lookahead:I
        32: .line 533
            goto 63
        33: .line 534
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        34: .line 535
            ldc "Configuration.Error.Line.line.expected.expect."
        35: .line 536
            ldc "sun.security.util.AuthResources"
        36: .line 534
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        37: .line 537
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.Integer
            dup
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.linenum:I
            invokespecial java.lang.Integer.<init>:(I)V
            aastore
            dup
            iconst_1
            aload 1 /* expect */
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            aastore
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
        38: .line 538
            new java.io.IOException
            dup
            aload 5 /* form */
            aload 6 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.Object[] source
        end local 5 // java.text.MessageFormat form
        39: .line 544
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc "}"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 42
        40: .line 545
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.security.auth.login.ConfigFile.nextToken:()I
            putfield com.sun.security.auth.login.ConfigFile.lookahead:I
        41: .line 546
            goto 63
        42: .line 547
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        43: .line 548
            ldc "Configuration.Error.Line.line.expected.expect."
        44: .line 549
            ldc "sun.security.util.AuthResources"
        45: .line 547
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        46: .line 550
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.Integer
            dup
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.linenum:I
            invokespecial java.lang.Integer.<init>:(I)V
            aastore
            dup
            iconst_1
            aload 1 /* expect */
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            aastore
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
        47: .line 551
            new java.io.IOException
            dup
            aload 5 /* form */
            aload 6 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.Object[] source
        end local 5 // java.text.MessageFormat form
        48: .line 557
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc "="
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 51
        49: .line 558
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.security.auth.login.ConfigFile.nextToken:()I
            putfield com.sun.security.auth.login.ConfigFile.lookahead:I
        50: .line 559
            goto 63
        51: .line 560
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        52: .line 561
            ldc "Configuration.Error.Line.line.expected.expect."
        53: .line 562
            ldc "sun.security.util.AuthResources"
        54: .line 560
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        55: .line 563
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.Integer
            dup
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.linenum:I
            invokespecial java.lang.Integer.<init>:(I)V
            aastore
            dup
            iconst_1
            aload 1 /* expect */
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            aastore
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
        56: .line 564
            new java.io.IOException
            dup
            aload 5 /* form */
            aload 6 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.Object[] source
        end local 5 // java.text.MessageFormat form
        57: .line 569
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        58: .line 570
            ldc "Configuration.Error.Line.line.expected.expect.found.value."
        59: .line 571
            ldc "sun.security.util.AuthResources"
        60: .line 569
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        61: .line 572
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.Integer
            dup
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.linenum:I
            invokespecial java.lang.Integer.<init>:(I)V
            aastore
            dup
            iconst_1
            aload 1 /* expect */
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            aastore
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
        62: .line 573
            new java.io.IOException
            dup
            aload 5 /* form */
            aload 6 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.Object[] source
        end local 5 // java.text.MessageFormat form
        63: .line 575
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 2 // java.lang.String value
        end local 1 // java.lang.String expect
        end local 0 // com.sun.security.auth.login.ConfigFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   64     0     this  Lcom/sun/security/auth/login/ConfigFile;
            0   64     1   expect  Ljava/lang/String;
            1   64     2    value  Ljava/lang/String;
            6    8     3    form1  Ljava/text/MessageFormat;
            7    8     4  source1  [Ljava/lang/Object;
           19   21     5     form  Ljava/text/MessageFormat;
           20   21     6   source  [Ljava/lang/Object;
           28   30     5     form  Ljava/text/MessageFormat;
           29   30     6   source  [Ljava/lang/Object;
           37   39     5     form  Ljava/text/MessageFormat;
           38   39     6   source  [Ljava/lang/Object;
           46   48     5     form  Ljava/text/MessageFormat;
           47   48     6   source  [Ljava/lang/Object;
           55   57     5     form  Ljava/text/MessageFormat;
           56   57     6   source  [Ljava/lang/Object;
           61   63     5     form  Ljava/text/MessageFormat;
           62   63     6   source  [Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      expect  

  private boolean peek(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.security.auth.login.ConfigFile this
        start local 1 // java.lang.String expect
         0: .line 579
            iconst_0
            istore 2 /* found */
        start local 2 // boolean found
         1: .line 581
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.lookahead:I
            lookupswitch { // 4
                   44: 2
                   59: 5
                  123: 8
                  125: 11
              default: 13
          }
         2: .line 583
      StackMap locals: int
      StackMap stack:
            aload 1 /* expect */
            ldc ","
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 13
         3: .line 584
            iconst_1
            istore 2 /* found */
         4: .line 585
            goto 13
         5: .line 587
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc ";"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 13
         6: .line 588
            iconst_1
            istore 2 /* found */
         7: .line 589
            goto 13
         8: .line 591
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc "{"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 13
         9: .line 592
            iconst_1
            istore 2 /* found */
        10: .line 593
            goto 13
        11: .line 595
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc "}"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 13
        12: .line 596
            iconst_1
            istore 2 /* found */
        13: .line 600
      StackMap locals:
      StackMap stack:
            iload 2 /* found */
            ireturn
        end local 2 // boolean found
        end local 1 // java.lang.String expect
        end local 0 // com.sun.security.auth.login.ConfigFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lcom/sun/security/auth/login/ConfigFile;
            0   14     1  expect  Ljava/lang/String;
            1   14     2   found  Z
    MethodParameters:
        Name  Flags
      expect  

  private int nextToken();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.security.auth.login.ConfigFile this
         0: .line 605
            goto 2
        start local 1 // int tok
         1: .line 606
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.security.auth.login.ConfigFile.linenum:I
            iconst_1
            iadd
            putfield com.sun.security.auth.login.ConfigFile.linenum:I
        end local 1 // int tok
         2: .line 605
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            dup
            istore 1 /* tok */
        start local 1 // int tok
         3: bipush 10
            if_icmpeq 1
         4: .line 608
            iload 1 /* tok */
            ireturn
        end local 1 // int tok
        end local 0 // com.sun.security.auth.login.ConfigFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/security/auth/login/ConfigFile;
            1    2     1   tok  I
            3    5     1   tok  I
    Exceptions:
      throws java.io.IOException

  private java.io.InputStream getInputStream(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljava/io/InputStream;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.security.auth.login.ConfigFile this
        start local 1 // java.net.URL url
         0: .line 619
            ldc "file"
            aload 1 /* url */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 620
            aload 1 /* url */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            bipush 47
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 2 /* path */
        start local 2 // java.lang.String path
         2: .line 621
            new java.io.FileInputStream
            dup
            aload 2 /* path */
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String path
         3: .line 623
      StackMap locals:
      StackMap stack:
            aload 1 /* url */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            areturn
        end local 1 // java.net.URL url
        end local 0 // com.sun.security.auth.login.ConfigFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/security/auth/login/ConfigFile;
            0    4     1   url  Ljava/net/URL;
            2    3     2  path  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      url   

  private java.lang.String expand(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // com.sun.security.auth.login.ConfigFile this
        start local 1 // java.lang.String value
         0: .line 630
            ldc ""
            aload 1 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 631
            aload 1 /* value */
            areturn
         2: .line 634
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.expandProp:Z
            ifeq 12
         3: .line 636
            aload 1 /* value */
            invokestatic sun.security.util.PropertyExpander.expand:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* s */
        start local 2 // java.lang.String s
         4: .line 638
            aload 2 /* s */
            ifnull 5
            aload 2 /* s */
            invokevirtual java.lang.String.length:()I
            ifne 11
         5: .line 639
      StackMap locals: java.lang.String
      StackMap stack:
            new java.text.MessageFormat
            dup
         6: .line 640
            ldc "Configuration.Error.Line.line.system.property.value.expanded.to.empty.value"
         7: .line 641
            ldc "sun.security.util.AuthResources"
         8: .line 639
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
         9: .line 642
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.Integer
            dup
            aload 0 /* this */
            getfield com.sun.security.auth.login.ConfigFile.linenum:I
            invokespecial java.lang.Integer.<init>:(I)V
            aastore
            dup
            iconst_1
            aload 1 /* value */
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
        10: .line 643
            new java.io.IOException
            dup
            aload 3 /* form */
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.Object[] source
        end local 3 // java.text.MessageFormat form
        11: .line 645
      StackMap locals:
      StackMap stack:
            aload 2 /* s */
            areturn
        end local 2 // java.lang.String s
        12: .line 647
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            areturn
        end local 1 // java.lang.String value
        end local 0 // com.sun.security.auth.login.ConfigFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lcom/sun/security/auth/login/ConfigFile;
            0   13     1   value  Ljava/lang/String;
            4   12     2       s  Ljava/lang/String;
            9   11     3    form  Ljava/text/MessageFormat;
           10   11     4  source  [Ljava/lang/Object;
    Exceptions:
      throws sun.security.util.PropertyExpander$ExpandException, java.io.IOException
    MethodParameters:
       Name  Flags
      value  
}
SourceFile: "ConfigFile.java"
NestMembers:
  com.sun.security.auth.login.ConfigFile$1
InnerClasses:
  com.sun.security.auth.login.ConfigFile$1
  public LoginModuleControlFlag = javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag of javax.security.auth.login.AppConfigurationEntry
  public ExpandException = sun.security.util.PropertyExpander$ExpandException of sun.security.util.PropertyExpander