public final class org.hsqldb.rights.UserManager
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.hsqldb.rights.UserManager
  super_class: java.lang.Object
{
  private org.hsqldb.lib.HashMappedList userList;
    descriptor: Lorg/hsqldb/lib/HashMappedList;
    flags: (0x0002) ACC_PRIVATE

  private org.hsqldb.rights.GranteeManager granteeManager;
    descriptor: Lorg/hsqldb/rights/GranteeManager;
    flags: (0x0002) ACC_PRIVATE

  org.hsqldb.Routine pwCheckFunction;
    descriptor: Lorg/hsqldb/Routine;
    flags: (0x0000) 

  org.hsqldb.Routine extAuthenticationFunction;
    descriptor: Lorg/hsqldb/Routine;
    flags: (0x0000) 

  public void <init>(org.hsqldb.Database);
    descriptor: (Lorg/hsqldb/Database;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hsqldb.rights.UserManager this
        start local 1 // org.hsqldb.Database database
         0: .line 89
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 90
            aload 0 /* this */
            aload 1 /* database */
            invokevirtual org.hsqldb.Database.getGranteeManager:()Lorg/hsqldb/rights/GranteeManager;
            putfield org.hsqldb.rights.UserManager.granteeManager:Lorg/hsqldb/rights/GranteeManager;
         2: .line 91
            aload 0 /* this */
            new org.hsqldb.lib.HashMappedList
            dup
            invokespecial org.hsqldb.lib.HashMappedList.<init>:()V
            putfield org.hsqldb.rights.UserManager.userList:Lorg/hsqldb/lib/HashMappedList;
         3: .line 92
            return
        end local 1 // org.hsqldb.Database database
        end local 0 // org.hsqldb.rights.UserManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/hsqldb/rights/UserManager;
            0    4     1  database  Lorg/hsqldb/Database;
    MethodParameters:
          Name  Flags
      database  

  public org.hsqldb.rights.User createUser(org.hsqldb.Session, org.hsqldb.HsqlNameManager$HsqlName, java.lang.String, boolean);
    descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/HsqlNameManager$HsqlName;Ljava/lang/String;Z)Lorg/hsqldb/rights/User;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.hsqldb.rights.UserManager this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.HsqlNameManager$HsqlName name
        start local 3 // java.lang.String password
        start local 4 // boolean isDigest
         0: .line 115
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.granteeManager:Lorg/hsqldb/rights/GranteeManager;
            aload 2 /* name */
            invokevirtual org.hsqldb.rights.GranteeManager.addUser:(Lorg/hsqldb/HsqlNameManager$HsqlName;)Lorg/hsqldb/rights/User;
            astore 5 /* user */
        start local 5 // org.hsqldb.rights.User user
         1: .line 117
            aload 1 /* session */
            ifnonnull 4
         2: .line 118
            aload 5 /* user */
            aload 3 /* password */
            iload 4 /* isDigest */
            invokevirtual org.hsqldb.rights.User.setPassword:(Ljava/lang/String;Z)V
         3: .line 119
            goto 9
         4: .line 121
      StackMap locals: org.hsqldb.rights.User
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            aload 5 /* user */
            aload 3 /* password */
            iload 4 /* isDigest */
            invokevirtual org.hsqldb.rights.UserManager.setPassword:(Lorg/hsqldb/Session;Lorg/hsqldb/rights/User;Ljava/lang/String;Z)V
         5: .line 122
            goto 9
      StackMap locals:
      StackMap stack: org.hsqldb.HsqlException
         6: astore 6 /* e */
        start local 6 // org.hsqldb.HsqlException e
         7: .line 123
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.granteeManager:Lorg/hsqldb/rights/GranteeManager;
            aload 2 /* name */
            invokevirtual org.hsqldb.rights.GranteeManager.removeNewUser:(Lorg/hsqldb/HsqlNameManager$HsqlName;)V
         8: .line 125
            aload 6 /* e */
            athrow
        end local 6 // org.hsqldb.HsqlException e
         9: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.userList:Lorg/hsqldb/lib/HashMappedList;
            aload 2 /* name */
            getfield org.hsqldb.HsqlNameManager$HsqlName.name:Ljava/lang/String;
            aload 5 /* user */
            invokevirtual org.hsqldb.lib.HashMappedList.add:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        10: .line 132
            aload 5 /* user */
            areturn
        end local 5 // org.hsqldb.rights.User user
        end local 4 // boolean isDigest
        end local 3 // java.lang.String password
        end local 2 // org.hsqldb.HsqlNameManager$HsqlName name
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.rights.UserManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/hsqldb/rights/UserManager;
            0   11     1   session  Lorg/hsqldb/Session;
            0   11     2      name  Lorg/hsqldb/HsqlNameManager$HsqlName;
            0   11     3  password  Ljava/lang/String;
            0   11     4  isDigest  Z
            1   11     5      user  Lorg/hsqldb/rights/User;
            7    9     6         e  Lorg/hsqldb/HsqlException;
      Exception table:
        from    to  target  type
           4     5       6  Class org.hsqldb.HsqlException
    MethodParameters:
          Name  Flags
      session   
      name      
      password  
      isDigest  

  public void setPassword(org.hsqldb.Session, org.hsqldb.rights.User, java.lang.String, boolean);
    descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/rights/User;Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.hsqldb.rights.UserManager this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.rights.User user
        start local 3 // java.lang.String password
        start local 4 // boolean isDigest
         0: .line 138
            iload 4 /* isDigest */
            ifne 2
            aload 0 /* this */
            aload 1 /* session */
            aload 3 /* password */
            invokevirtual org.hsqldb.rights.UserManager.checkComplexity:(Lorg/hsqldb/Session;Ljava/lang/String;)Z
            ifne 2
         1: .line 139
            sipush 391
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
         2: .line 143
      StackMap locals:
      StackMap stack:
            aload 2 /* user */
            aload 3 /* password */
            iload 4 /* isDigest */
            invokevirtual org.hsqldb.rights.User.setPassword:(Ljava/lang/String;Z)V
         3: .line 144
            return
        end local 4 // boolean isDigest
        end local 3 // java.lang.String password
        end local 2 // org.hsqldb.rights.User user
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.rights.UserManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/hsqldb/rights/UserManager;
            0    4     1   session  Lorg/hsqldb/Session;
            0    4     2      user  Lorg/hsqldb/rights/User;
            0    4     3  password  Ljava/lang/String;
            0    4     4  isDigest  Z
    MethodParameters:
          Name  Flags
      session   
      user      
      password  
      isDigest  

  public boolean checkComplexity(org.hsqldb.Session, java.lang.String);
    descriptor: (Lorg/hsqldb/Session;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.hsqldb.rights.UserManager this
        start local 1 // org.hsqldb.Session session
        start local 2 // java.lang.String password
         0: .line 148
            aload 1 /* session */
            ifnull 1
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.pwCheckFunction:Lorg/hsqldb/Routine;
            ifnonnull 2
         1: .line 149
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.pwCheckFunction:Lorg/hsqldb/Routine;
            aload 1 /* session */
         3: .line 153
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* password */
            aastore
            aconst_null
         4: .line 154
            iconst_1
         5: .line 152
            invokevirtual org.hsqldb.Routine.invoke:(Lorg/hsqldb/Session;[Ljava/lang/Object;[Ljava/lang/Object;Z)Lorg/hsqldb/result/Result;
            astore 3 /* result */
        start local 3 // org.hsqldb.result.Result result
         6: .line 155
            aload 3 /* result */
            invokevirtual org.hsqldb.result.Result.getValueObject:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 4 /* check */
        start local 4 // java.lang.Boolean check
         7: .line 157
            aload 4 /* check */
            ifnull 8
            aload 4 /* check */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 9
         8: .line 158
      StackMap locals: org.hsqldb.result.Result java.lang.Boolean
      StackMap stack:
            iconst_0
            ireturn
         9: .line 161
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.lang.Boolean check
        end local 3 // org.hsqldb.result.Result result
        end local 2 // java.lang.String password
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.rights.UserManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/hsqldb/rights/UserManager;
            0   10     1   session  Lorg/hsqldb/Session;
            0   10     2  password  Ljava/lang/String;
            6   10     3    result  Lorg/hsqldb/result/Result;
            7   10     4     check  Ljava/lang/Boolean;
    MethodParameters:
          Name  Flags
      session   
      password  

  public void dropUser(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.hsqldb.rights.UserManager this
        start local 1 // java.lang.String name
         0: .line 185
            aload 1 /* name */
            invokestatic org.hsqldb.rights.GranteeManager.isReserved:(Ljava/lang/String;)Z
            istore 2 /* reservedUser */
        start local 2 // boolean reservedUser
         1: .line 187
            iload 2 /* reservedUser */
            ifeq 3
         2: .line 188
            sipush 4002
            aload 1 /* name */
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
         3: .line 191
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.granteeManager:Lorg/hsqldb/rights/GranteeManager;
            aload 1 /* name */
            invokevirtual org.hsqldb.rights.GranteeManager.removeGrantee:(Ljava/lang/String;)Z
            istore 3 /* result */
        start local 3 // boolean result
         4: .line 193
            iload 3 /* result */
            ifne 6
         5: .line 194
            sipush 4001
            aload 1 /* name */
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
         6: .line 197
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.userList:Lorg/hsqldb/lib/HashMappedList;
            aload 1 /* name */
            invokevirtual org.hsqldb.lib.HashMappedList.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hsqldb.rights.User
            astore 4 /* user */
        start local 4 // org.hsqldb.rights.User user
         7: .line 199
            aload 4 /* user */
            ifnonnull 9
         8: .line 200
            sipush 4001
            aload 1 /* name */
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
         9: .line 202
      StackMap locals: org.hsqldb.rights.User
      StackMap stack:
            return
        end local 4 // org.hsqldb.rights.User user
        end local 3 // boolean result
        end local 2 // boolean reservedUser
        end local 1 // java.lang.String name
        end local 0 // org.hsqldb.rights.UserManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/hsqldb/rights/UserManager;
            0   10     1          name  Ljava/lang/String;
            1   10     2  reservedUser  Z
            4   10     3        result  Z
            7   10     4          user  Lorg/hsqldb/rights/User;
    MethodParameters:
      Name  Flags
      name  

  public void createFirstUser(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.hsqldb.rights.UserManager this
        start local 1 // java.lang.String username
        start local 2 // java.lang.String password
         0: .line 206
            iconst_1
            istore 3 /* isQuoted */
        start local 3 // boolean isQuoted
         1: .line 208
            aload 1 /* username */
            ldc "SA"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         2: .line 209
            ldc "SA"
            astore 1 /* username */
         3: .line 210
            iconst_0
            istore 3 /* isQuoted */
         4: .line 214
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.granteeManager:Lorg/hsqldb/rights/GranteeManager;
            getfield org.hsqldb.rights.GranteeManager.database:Lorg/hsqldb/Database;
            getfield org.hsqldb.Database.nameManager:Lorg/hsqldb/HsqlNameManager;
            aload 1 /* username */
         5: .line 215
            iload 3 /* isQuoted */
            bipush 11
         6: .line 214
            invokevirtual org.hsqldb.HsqlNameManager.newHsqlName:(Ljava/lang/String;ZI)Lorg/hsqldb/HsqlNameManager$HsqlName;
         7: .line 213
            astore 4 /* name */
        start local 4 // org.hsqldb.HsqlNameManager$HsqlName name
         8: .line 216
            aload 0 /* this */
            aconst_null
            aload 4 /* name */
            aload 2 /* password */
            iconst_0
            invokevirtual org.hsqldb.rights.UserManager.createUser:(Lorg/hsqldb/Session;Lorg/hsqldb/HsqlNameManager$HsqlName;Ljava/lang/String;Z)Lorg/hsqldb/rights/User;
            astore 5 /* user */
        start local 5 // org.hsqldb.rights.User user
         9: .line 218
            aload 5 /* user */
            iconst_1
            putfield org.hsqldb.rights.User.isLocalOnly:Z
        10: .line 220
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.granteeManager:Lorg/hsqldb/rights/GranteeManager;
            aload 4 /* name */
            getfield org.hsqldb.HsqlNameManager$HsqlName.name:Ljava/lang/String;
            ldc "DBA"
        11: .line 221
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.granteeManager:Lorg/hsqldb/rights/GranteeManager;
            invokevirtual org.hsqldb.rights.GranteeManager.getDBARole:()Lorg/hsqldb/rights/Grantee;
        12: .line 220
            invokevirtual org.hsqldb.rights.GranteeManager.grant:(Ljava/lang/String;Ljava/lang/String;Lorg/hsqldb/rights/Grantee;)V
        13: .line 222
            return
        end local 5 // org.hsqldb.rights.User user
        end local 4 // org.hsqldb.HsqlNameManager$HsqlName name
        end local 3 // boolean isQuoted
        end local 2 // java.lang.String password
        end local 1 // java.lang.String username
        end local 0 // org.hsqldb.rights.UserManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lorg/hsqldb/rights/UserManager;
            0   14     1  username  Ljava/lang/String;
            0   14     2  password  Ljava/lang/String;
            1   14     3  isQuoted  Z
            8   14     4      name  Lorg/hsqldb/HsqlNameManager$HsqlName;
            9   14     5      user  Lorg/hsqldb/rights/User;
    MethodParameters:
          Name  Flags
      username  
      password  

  public org.hsqldb.rights.User getUser(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/hsqldb/rights/User;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.hsqldb.rights.UserManager this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String password
         0: .line 230
            aload 1 /* name */
            ifnonnull 2
         1: .line 231
            ldc ""
            astore 1 /* name */
         2: .line 234
      StackMap locals:
      StackMap stack:
            aload 2 /* password */
            ifnonnull 4
         3: .line 235
            ldc ""
            astore 2 /* password */
         4: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.userList:Lorg/hsqldb/lib/HashMappedList;
            aload 1 /* name */
            invokevirtual org.hsqldb.lib.HashMappedList.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hsqldb.rights.User
            astore 3 /* user */
        start local 3 // org.hsqldb.rights.User user
         5: .line 239
            aload 3 /* user */
            ifnull 6
            aload 3 /* user */
            getfield org.hsqldb.rights.User.isLocalOnly:Z
            ifeq 6
            iconst_1
            goto 7
      StackMap locals: org.hsqldb.rights.User
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 4 /* isLocal */
        start local 4 // boolean isLocal
         8: .line 241
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.extAuthenticationFunction:Lorg/hsqldb/Routine;
            ifnull 9
            iload 4 /* isLocal */
            ifeq 12
         9: .line 242
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.hsqldb.rights.UserManager.get:(Ljava/lang/String;)Lorg/hsqldb/rights/User;
            astore 3 /* user */
        10: .line 244
            aload 3 /* user */
            aload 2 /* password */
            invokevirtual org.hsqldb.rights.User.checkPassword:(Ljava/lang/String;)V
        11: .line 246
            aload 3 /* user */
            areturn
        12: .line 256
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.extAuthenticationFunction:Lorg/hsqldb/Routine;
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
        13: .line 257
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.granteeManager:Lorg/hsqldb/rights/GranteeManager;
            getfield org.hsqldb.rights.GranteeManager.database:Lorg/hsqldb/Database;
            invokevirtual org.hsqldb.Database.getNameString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* name */
            aastore
            dup
            iconst_2
            aload 2 /* password */
            aastore
        14: .line 256
            invokevirtual org.hsqldb.Routine.invokeJavaMethodDirect:([Ljava/lang/Object;)Lorg/hsqldb/result/Result;
        15: .line 255
            astore 5 /* result */
        start local 5 // org.hsqldb.result.Result result
        16: .line 260
            aload 5 /* result */
            invokevirtual org.hsqldb.result.Result.isError:()Z
            ifeq 18
        17: .line 261
            sipush 4001
            aload 5 /* result */
            invokevirtual org.hsqldb.result.Result.getMainString:()Ljava/lang/String;
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
        18: .line 264
      StackMap locals: org.hsqldb.result.Result
      StackMap stack:
            aload 5 /* result */
            invokevirtual org.hsqldb.result.Result.getValueObject:()Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 6 /* roles */
        start local 6 // java.lang.Object[] roles
        19: .line 266
            aload 3 /* user */
            ifnonnull 26
        20: .line 268
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.granteeManager:Lorg/hsqldb/rights/GranteeManager;
            getfield org.hsqldb.rights.GranteeManager.database:Lorg/hsqldb/Database;
            getfield org.hsqldb.Database.nameManager:Lorg/hsqldb/HsqlNameManager;
            aload 1 /* name */
            iconst_1
        21: .line 269
            bipush 11
        22: .line 268
            invokevirtual org.hsqldb.HsqlNameManager.newHsqlName:(Ljava/lang/String;ZI)Lorg/hsqldb/HsqlNameManager$HsqlName;
        23: .line 267
            astore 7 /* hsqlName */
        start local 7 // org.hsqldb.HsqlNameManager$HsqlName hsqlName
        24: .line 271
            aload 0 /* this */
            aconst_null
            aload 7 /* hsqlName */
            ldc ""
            iconst_0
            invokevirtual org.hsqldb.rights.UserManager.createUser:(Lorg/hsqldb/Session;Lorg/hsqldb/HsqlNameManager$HsqlName;Ljava/lang/String;Z)Lorg/hsqldb/rights/User;
            astore 3 /* user */
        25: .line 272
            aload 3 /* user */
            iconst_1
            putfield org.hsqldb.rights.User.isExternalOnly:Z
        end local 7 // org.hsqldb.HsqlNameManager$HsqlName hsqlName
        26: .line 275
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 6 /* roles */
            ifnonnull 29
        27: .line 276
            aload 3 /* user */
            invokevirtual org.hsqldb.rights.User.updateAllRights:()V
        28: .line 278
            aload 3 /* user */
            areturn
        29: .line 282
      StackMap locals:
      StackMap stack:
            aload 3 /* user */
            invokevirtual org.hsqldb.rights.User.clearPrivileges:()V
        30: .line 285
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        31: goto 37
        32: .line 287
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.granteeManager:Lorg/hsqldb/rights/GranteeManager;
            aload 6 /* roles */
            iload 7 /* i */
            aaload
            checkcast java.lang.String
            invokevirtual org.hsqldb.rights.GranteeManager.getRole:(Ljava/lang/String;)Lorg/hsqldb/rights/Grantee;
            astore 8 /* role */
        start local 8 // org.hsqldb.rights.Grantee role
        33: .line 289
            aload 3 /* user */
            aload 8 /* role */
            invokevirtual org.hsqldb.rights.User.grant:(Lorg/hsqldb/rights/Grantee;)V
        end local 8 // org.hsqldb.rights.Grantee role
        34: .line 290
            goto 36
      StackMap locals:
      StackMap stack: org.hsqldb.HsqlException
        35: pop
        36: .line 285
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 7 /* i */
            aload 6 /* roles */
            arraylength
            if_icmplt 32
        end local 7 // int i
        38: .line 293
            aload 3 /* user */
            invokevirtual org.hsqldb.rights.User.updateAllRights:()V
        39: .line 295
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        40: goto 48
        41: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.granteeManager:Lorg/hsqldb/rights/GranteeManager;
            getfield org.hsqldb.rights.GranteeManager.database:Lorg/hsqldb/Database;
            getfield org.hsqldb.Database.schemaManager:Lorg/hsqldb/SchemaManager;
        42: .line 297
            aload 6 /* roles */
            iload 7 /* i */
            aaload
            checkcast java.lang.String
        43: .line 296
            invokevirtual org.hsqldb.SchemaManager.findSchema:(Ljava/lang/String;)Lorg/hsqldb/Schema;
            astore 8 /* schema */
        start local 8 // org.hsqldb.Schema schema
        44: .line 299
            aload 8 /* schema */
            ifnull 47
        45: .line 300
            aload 3 /* user */
            aload 8 /* schema */
            invokevirtual org.hsqldb.Schema.getName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            invokevirtual org.hsqldb.rights.User.setInitialSchema:(Lorg/hsqldb/HsqlNameManager$HsqlName;)V
        46: .line 302
            goto 49
        end local 8 // org.hsqldb.Schema schema
        47: .line 295
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        48: iload 7 /* i */
            aload 6 /* roles */
            arraylength
            if_icmplt 41
        end local 7 // int i
        49: .line 306
      StackMap locals:
      StackMap stack:
            aload 3 /* user */
            areturn
        end local 6 // java.lang.Object[] roles
        end local 5 // org.hsqldb.result.Result result
        end local 4 // boolean isLocal
        end local 3 // org.hsqldb.rights.User user
        end local 2 // java.lang.String password
        end local 1 // java.lang.String name
        end local 0 // org.hsqldb.rights.UserManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   50     0      this  Lorg/hsqldb/rights/UserManager;
            0   50     1      name  Ljava/lang/String;
            0   50     2  password  Ljava/lang/String;
            5   50     3      user  Lorg/hsqldb/rights/User;
            8   50     4   isLocal  Z
           16   50     5    result  Lorg/hsqldb/result/Result;
           19   50     6     roles  [Ljava/lang/Object;
           24   26     7  hsqlName  Lorg/hsqldb/HsqlNameManager$HsqlName;
           31   38     7         i  I
           33   34     8      role  Lorg/hsqldb/rights/Grantee;
           40   49     7         i  I
           44   47     8    schema  Lorg/hsqldb/Schema;
      Exception table:
        from    to  target  type
          32    34      35  Class org.hsqldb.HsqlException
    MethodParameters:
          Name  Flags
      name      
      password  

  public org.hsqldb.lib.HashMappedList getUsers();
    descriptor: ()Lorg/hsqldb/lib/HashMappedList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.rights.UserManager this
         0: .line 314
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.userList:Lorg/hsqldb/lib/HashMappedList;
            areturn
        end local 0 // org.hsqldb.rights.UserManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/rights/UserManager;

  public boolean exists(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.rights.UserManager this
        start local 1 // java.lang.String name
         0: .line 318
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.userList:Lorg/hsqldb/lib/HashMappedList;
            aload 1 /* name */
            invokevirtual org.hsqldb.lib.HashMappedList.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 1
            iconst_0
            goto 2
         1: .line 319
      StackMap locals:
      StackMap stack:
            iconst_1
         2: .line 318
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 1 // java.lang.String name
        end local 0 // org.hsqldb.rights.UserManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/rights/UserManager;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.hsqldb.rights.User get(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hsqldb/rights/User;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hsqldb.rights.UserManager this
        start local 1 // java.lang.String name
         0: .line 328
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.userList:Lorg/hsqldb/lib/HashMappedList;
            aload 1 /* name */
            invokevirtual org.hsqldb.lib.HashMappedList.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hsqldb.rights.User
            astore 2 /* user */
        start local 2 // org.hsqldb.rights.User user
         1: .line 330
            aload 2 /* user */
            ifnonnull 3
         2: .line 331
            sipush 4001
            aload 1 /* name */
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
         3: .line 334
      StackMap locals: org.hsqldb.rights.User
      StackMap stack:
            aload 2 /* user */
            areturn
        end local 2 // org.hsqldb.rights.User user
        end local 1 // java.lang.String name
        end local 0 // org.hsqldb.rights.UserManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hsqldb/rights/UserManager;
            0    4     1  name  Ljava/lang/String;
            1    4     2  user  Lorg/hsqldb/rights/User;
    MethodParameters:
      Name  Flags
      name  

  public org.hsqldb.lib.HsqlArrayList listVisibleUsers(org.hsqldb.Session);
    descriptor: (Lorg/hsqldb/Session;)Lorg/hsqldb/lib/HsqlArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // org.hsqldb.rights.UserManager this
        start local 1 // org.hsqldb.Session session
         0: .line 365
            new org.hsqldb.lib.HsqlArrayList
            dup
            invokespecial org.hsqldb.lib.HsqlArrayList.<init>:()V
            astore 2 /* list */
        start local 2 // org.hsqldb.lib.HsqlArrayList list
         1: .line 366
            aload 1 /* session */
            invokevirtual org.hsqldb.Session.isAdmin:()Z
            istore 4 /* isAdmin */
        start local 4 // boolean isAdmin
         2: .line 367
            aload 1 /* session */
            invokevirtual org.hsqldb.Session.getUsername:()Ljava/lang/String;
            astore 5 /* sessionName */
        start local 5 // java.lang.String sessionName
         3: .line 369
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.userList:Lorg/hsqldb/lib/HashMappedList;
            ifnull 4
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.userList:Lorg/hsqldb/lib/HashMappedList;
            invokevirtual org.hsqldb.lib.HashMappedList.size:()I
            ifne 5
         4: .line 370
      StackMap locals: org.hsqldb.rights.UserManager org.hsqldb.Session org.hsqldb.lib.HsqlArrayList top int java.lang.String
      StackMap stack:
            aload 2 /* list */
            areturn
         5: .line 373
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 17
         7: .line 374
      StackMap locals: org.hsqldb.rights.UserManager org.hsqldb.Session org.hsqldb.lib.HsqlArrayList top int java.lang.String top int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.userList:Lorg/hsqldb/lib/HashMappedList;
            iload 7 /* i */
            invokevirtual org.hsqldb.lib.HashMappedList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.rights.User
            astore 3 /* user */
        start local 3 // org.hsqldb.rights.User user
         8: .line 376
            aload 3 /* user */
            ifnonnull 10
         9: .line 377
            goto 16
        10: .line 380
      StackMap locals: org.hsqldb.rights.UserManager org.hsqldb.Session org.hsqldb.lib.HsqlArrayList org.hsqldb.rights.User int java.lang.String top int
      StackMap stack:
            aload 3 /* user */
            invokevirtual org.hsqldb.rights.User.getName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            invokevirtual org.hsqldb.HsqlNameManager$HsqlName.getNameString:()Ljava/lang/String;
            astore 6 /* userName */
        start local 6 // java.lang.String userName
        11: .line 382
            iload 4 /* isAdmin */
            ifeq 14
        12: .line 383
            aload 2 /* list */
            aload 3 /* user */
            invokevirtual org.hsqldb.lib.HsqlArrayList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 384
            goto 16
      StackMap locals: org.hsqldb.rights.UserManager org.hsqldb.Session org.hsqldb.lib.HsqlArrayList org.hsqldb.rights.User int java.lang.String java.lang.String int
      StackMap stack:
        14: aload 5 /* sessionName */
            aload 6 /* userName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 385
            aload 2 /* list */
            aload 3 /* user */
            invokevirtual org.hsqldb.lib.HsqlArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.String userName
        16: .line 373
      StackMap locals: org.hsqldb.rights.UserManager org.hsqldb.Session org.hsqldb.lib.HsqlArrayList org.hsqldb.rights.User int java.lang.String top int
      StackMap stack:
            iinc 7 /* i */ 1
        end local 3 // org.hsqldb.rights.User user
      StackMap locals: org.hsqldb.rights.UserManager org.hsqldb.Session org.hsqldb.lib.HsqlArrayList top int java.lang.String top int
      StackMap stack:
        17: iload 7 /* i */
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.userList:Lorg/hsqldb/lib/HashMappedList;
            invokevirtual org.hsqldb.lib.HashMappedList.size:()I
            if_icmplt 7
        end local 7 // int i
        18: .line 389
            aload 2 /* list */
            areturn
        end local 5 // java.lang.String sessionName
        end local 4 // boolean isAdmin
        end local 2 // org.hsqldb.lib.HsqlArrayList list
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.rights.UserManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lorg/hsqldb/rights/UserManager;
            0   19     1      session  Lorg/hsqldb/Session;
            1   19     2         list  Lorg/hsqldb/lib/HsqlArrayList;
            8   17     3         user  Lorg/hsqldb/rights/User;
            2   19     4      isAdmin  Z
            3   19     5  sessionName  Ljava/lang/String;
           11   16     6     userName  Ljava/lang/String;
            6   18     7            i  I
    MethodParameters:
         Name  Flags
      session  

  public org.hsqldb.rights.User getSysUser();
    descriptor: ()Lorg/hsqldb/rights/User;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.rights.UserManager this
         0: .line 402
            getstatic org.hsqldb.rights.GranteeManager.systemAuthorisation:Lorg/hsqldb/rights/User;
            areturn
        end local 0 // org.hsqldb.rights.UserManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/rights/UserManager;

  public synchronized void removeSchemaReference(org.hsqldb.HsqlNameManager$HsqlName);
    descriptor: (Lorg/hsqldb/HsqlNameManager$HsqlName;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.hsqldb.rights.UserManager this
        start local 1 // org.hsqldb.HsqlNameManager$HsqlName schemaName
         0: .line 407
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 9
         2: .line 408
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.userList:Lorg/hsqldb/lib/HashMappedList;
            iload 2 /* i */
            invokevirtual org.hsqldb.lib.HashMappedList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.rights.User
            astore 3 /* user */
        start local 3 // org.hsqldb.rights.User user
         3: .line 409
            aload 3 /* user */
            invokevirtual org.hsqldb.rights.User.getInitialSchema:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            astore 4 /* schema */
        start local 4 // org.hsqldb.HsqlNameManager$HsqlName schema
         4: .line 411
            aload 4 /* schema */
            ifnonnull 6
         5: .line 412
            goto 8
         6: .line 415
      StackMap locals: org.hsqldb.rights.User org.hsqldb.HsqlNameManager$HsqlName
      StackMap stack:
            aload 1 /* schemaName */
            aload 4 /* schema */
            invokevirtual org.hsqldb.HsqlNameManager$HsqlName.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 416
            aload 3 /* user */
            aconst_null
            invokevirtual org.hsqldb.rights.User.setInitialSchema:(Lorg/hsqldb/HsqlNameManager$HsqlName;)V
        end local 4 // org.hsqldb.HsqlNameManager$HsqlName schema
        end local 3 // org.hsqldb.rights.User user
         8: .line 407
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.userList:Lorg/hsqldb/lib/HashMappedList;
            invokevirtual org.hsqldb.lib.HashMappedList.size:()I
            if_icmplt 2
        end local 2 // int i
        10: .line 419
            return
        end local 1 // org.hsqldb.HsqlNameManager$HsqlName schemaName
        end local 0 // org.hsqldb.rights.UserManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lorg/hsqldb/rights/UserManager;
            0   11     1  schemaName  Lorg/hsqldb/HsqlNameManager$HsqlName;
            1   10     2           i  I
            3    8     3        user  Lorg/hsqldb/rights/User;
            4    8     4      schema  Lorg/hsqldb/HsqlNameManager$HsqlName;
    MethodParameters:
            Name  Flags
      schemaName  

  public void setPasswordCheckFunction(org.hsqldb.Routine);
    descriptor: (Lorg/hsqldb/Routine;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.rights.UserManager this
        start local 1 // org.hsqldb.Routine function
         0: .line 422
            aload 0 /* this */
            aload 1 /* function */
            putfield org.hsqldb.rights.UserManager.pwCheckFunction:Lorg/hsqldb/Routine;
         1: .line 423
            return
        end local 1 // org.hsqldb.Routine function
        end local 0 // org.hsqldb.rights.UserManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/hsqldb/rights/UserManager;
            0    2     1  function  Lorg/hsqldb/Routine;
    MethodParameters:
          Name  Flags
      function  

  public void setExtAuthenticationFunction(org.hsqldb.Routine);
    descriptor: (Lorg/hsqldb/Routine;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.rights.UserManager this
        start local 1 // org.hsqldb.Routine function
         0: .line 426
            aload 0 /* this */
            aload 1 /* function */
            putfield org.hsqldb.rights.UserManager.extAuthenticationFunction:Lorg/hsqldb/Routine;
         1: .line 427
            return
        end local 1 // org.hsqldb.Routine function
        end local 0 // org.hsqldb.rights.UserManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/hsqldb/rights/UserManager;
            0    2     1  function  Lorg/hsqldb/Routine;
    MethodParameters:
          Name  Flags
      function  

  public java.lang.String[] getInitialSchemaSQL();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.hsqldb.rights.UserManager this
         0: .line 431
            new org.hsqldb.lib.HsqlArrayList
            dup
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.userList:Lorg/hsqldb/lib/HashMappedList;
            invokevirtual org.hsqldb.lib.HashMappedList.size:()I
            invokespecial org.hsqldb.lib.HsqlArrayList.<init>:(I)V
            astore 1 /* list */
        start local 1 // org.hsqldb.lib.HsqlArrayList list
         1: .line 433
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 11
         3: .line 434
      StackMap locals: org.hsqldb.lib.HsqlArrayList int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.userList:Lorg/hsqldb/lib/HashMappedList;
            iload 2 /* i */
            invokevirtual org.hsqldb.lib.HashMappedList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.rights.User
            astore 3 /* user */
        start local 3 // org.hsqldb.rights.User user
         4: .line 436
            aload 3 /* user */
            getfield org.hsqldb.rights.User.isSystem:Z
            ifeq 6
         5: .line 437
            goto 10
         6: .line 440
      StackMap locals: org.hsqldb.rights.User
      StackMap stack:
            aload 3 /* user */
            invokevirtual org.hsqldb.rights.User.getInitialSchema:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            astore 4 /* name */
        start local 4 // org.hsqldb.HsqlNameManager$HsqlName name
         7: .line 442
            aload 4 /* name */
            ifnonnull 9
         8: .line 443
            goto 10
         9: .line 446
      StackMap locals: org.hsqldb.HsqlNameManager$HsqlName
      StackMap stack:
            aload 1 /* list */
            aload 3 /* user */
            invokevirtual org.hsqldb.rights.User.getInitialSchemaSQL:()Ljava/lang/String;
            invokevirtual org.hsqldb.lib.HsqlArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.hsqldb.HsqlNameManager$HsqlName name
        end local 3 // org.hsqldb.rights.User user
        10: .line 433
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.userList:Lorg/hsqldb/lib/HashMappedList;
            invokevirtual org.hsqldb.lib.HashMappedList.size:()I
            if_icmplt 3
        end local 2 // int i
        12: .line 449
            aload 1 /* list */
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            anewarray java.lang.String
            astore 2 /* array */
        start local 2 // java.lang.String[] array
        13: .line 451
            aload 1 /* list */
            aload 2 /* array */
            invokevirtual org.hsqldb.lib.HsqlArrayList.toArray:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 453
            aload 2 /* array */
            areturn
        end local 2 // java.lang.String[] array
        end local 1 // org.hsqldb.lib.HsqlArrayList list
        end local 0 // org.hsqldb.rights.UserManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lorg/hsqldb/rights/UserManager;
            1   15     1   list  Lorg/hsqldb/lib/HsqlArrayList;
            2   12     2      i  I
            4   10     3   user  Lorg/hsqldb/rights/User;
            7   10     4   name  Lorg/hsqldb/HsqlNameManager$HsqlName;
           13   15     2  array  [Ljava/lang/String;

  public java.lang.String[] getAuthenticationSQL();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.hsqldb.rights.UserManager this
         0: .line 458
            new org.hsqldb.lib.HsqlArrayList
            dup
            invokespecial org.hsqldb.lib.HsqlArrayList.<init>:()V
            astore 1 /* list */
        start local 1 // org.hsqldb.lib.HsqlArrayList list
         1: .line 461
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.pwCheckFunction:Lorg/hsqldb/Routine;
            ifnull 9
         2: .line 462
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         3: .line 464
            aload 3 /* sb */
            ldc "SET"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "DATABASE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 465
            aload 3 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "PASSWORD"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 466
            aload 3 /* sb */
            ldc "CHECK"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "FUNCTION"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 467
            aload 3 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 468
            aload 3 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.pwCheckFunction:Lorg/hsqldb/Routine;
            invokevirtual org.hsqldb.Routine.getSQLBodyDefinition:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 469
            aload 1 /* list */
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.hsqldb.lib.HsqlArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.StringBuilder sb
         9: .line 472
      StackMap locals: org.hsqldb.lib.HsqlArrayList
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.extAuthenticationFunction:Lorg/hsqldb/Routine;
            ifnull 16
        10: .line 473
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
        11: .line 475
            aload 3 /* sb */
            ldc "SET"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "DATABASE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 476
            aload 3 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "AUTHENTICATION"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        13: .line 477
            aload 3 /* sb */
            ldc "FUNCTION"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 478
            aload 3 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.rights.UserManager.extAuthenticationFunction:Lorg/hsqldb/Routine;
            invokevirtual org.hsqldb.Routine.getSQLBodyDefinition:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 479
            aload 1 /* list */
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.hsqldb.lib.HsqlArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.StringBuilder sb
        16: .line 482
      StackMap locals:
      StackMap stack:
            aload 1 /* list */
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            anewarray java.lang.String
            astore 2 /* array */
        start local 2 // java.lang.String[] array
        17: .line 484
            aload 1 /* list */
            aload 2 /* array */
            invokevirtual org.hsqldb.lib.HsqlArrayList.toArray:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 486
            aload 2 /* array */
            areturn
        end local 2 // java.lang.String[] array
        end local 1 // org.hsqldb.lib.HsqlArrayList list
        end local 0 // org.hsqldb.rights.UserManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0   this  Lorg/hsqldb/rights/UserManager;
            1   19     1   list  Lorg/hsqldb/lib/HsqlArrayList;
           17   19     2  array  [Ljava/lang/String;
            3    9     3     sb  Ljava/lang/StringBuilder;
           11   16     3     sb  Ljava/lang/StringBuilder;
}
SourceFile: "UserManager.java"
InnerClasses:
  public final HsqlName = org.hsqldb.HsqlNameManager$HsqlName of org.hsqldb.HsqlNameManager