public class io.vertx.ext.auth.oauth2.OAuth2Options
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.ext.auth.oauth2.OAuth2Options
  super_class: java.lang.Object
{
  private static final io.vertx.ext.auth.oauth2.OAuth2FlowType FLOW;
    descriptor: Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String AUTHORIZATION_PATH;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "/oauth/authorize"

  private static final java.lang.String TOKEN_PATH;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "/oauth/token"

  private static final java.lang.String REVOCATION_PATH;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "/oauth/revoke"

  private static final boolean USE_BASIC_AUTHORIZATION_HEADER;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final java.lang.String CLIENT_SECRET_PARAMETER_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "client_secret"

  private static final io.vertx.ext.auth.JWTOptions JWT_OPTIONS;
    descriptor: Lio/vertx/ext/auth/JWTOptions;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String SCOPE_SEPARATOR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: " "

  private static final boolean VALIDATE_ISSUER;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private io.vertx.ext.auth.oauth2.OAuth2FlowType flow;
    descriptor: Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String authorizationPath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String tokenPath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String revocationPath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String scopeSeparator;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  private java.lang.String logoutPath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  private java.lang.String clientSecretParameterName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String userInfoPath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.json.JsonObject userInfoParams;
    descriptor: Lio/vertx/core/json/JsonObject;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String introspectionPath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String jwkPath;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String tenant;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String site;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String clientID;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String clientSecret;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String userAgent;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.json.JsonObject headers;
    descriptor: Lio/vertx/core/json/JsonObject;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<io.vertx.ext.auth.PubSecKeyOptions> pubSecKeys;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lio/vertx/ext/auth/PubSecKeyOptions;>;

  private io.vertx.ext.auth.JWTOptions jwtOptions;
    descriptor: Lio/vertx/ext/auth/JWTOptions;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.json.JsonObject extraParams;
    descriptor: Lio/vertx/core/json/JsonObject;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.http.HttpClientOptions httpClientOptions;
    descriptor: Lio/vertx/core/http/HttpClientOptions;
    flags: (0x0002) ACC_PRIVATE

  private static final java.util.regex.Pattern TENANT_PATTER;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$io$vertx$ext$auth$oauth2$OAuth2FlowType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 41
            getstatic io.vertx.ext.auth.oauth2.OAuth2FlowType.AUTH_CODE:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
            putstatic io.vertx.ext.auth.oauth2.OAuth2Options.FLOW:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
         1: .line 47
            new io.vertx.ext.auth.JWTOptions
            dup
            invokespecial io.vertx.ext.auth.JWTOptions.<init>:()V
            putstatic io.vertx.ext.auth.oauth2.OAuth2Options.JWT_OPTIONS:Lio/vertx/ext/auth/JWTOptions;
         2: .line 556
            ldc "\\{(tenant|realm)}"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic io.vertx.ext.auth.oauth2.OAuth2Options.TENANT_PATTER:Ljava/util/regex/Pattern;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.String getSite();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 84
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.site:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 90
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 81
            aload 0 /* this */
            new io.vertx.core.http.HttpClientOptions
            dup
            invokespecial io.vertx.core.http.HttpClientOptions.<init>:()V
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.httpClientOptions:Lio/vertx/core/http/HttpClientOptions;
         2: .line 91
            aload 0 /* this */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.init:()V
         3: .line 92
            return
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public void <init>(io.vertx.ext.auth.oauth2.OAuth2Options);
    descriptor: (Lio/vertx/ext/auth/oauth2/OAuth2Options;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // io.vertx.ext.auth.oauth2.OAuth2Options other
         0: .line 99
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 81
            aload 0 /* this */
            new io.vertx.core.http.HttpClientOptions
            dup
            invokespecial io.vertx.core.http.HttpClientOptions.<init>:()V
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.httpClientOptions:Lio/vertx/core/http/HttpClientOptions;
         2: .line 100
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getTenant:()Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.tenant:Ljava/lang/String;
         3: .line 101
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getClientID:()Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.clientID:Ljava/lang/String;
         4: .line 102
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getClientSecret:()Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.clientSecret:Ljava/lang/String;
         5: .line 103
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.isValidateIssuer:()Z
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.validateIssuer:Z
         6: .line 104
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getFlow:()Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.flow:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
         7: .line 105
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getAuthorizationPath:()Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.authorizationPath:Ljava/lang/String;
         8: .line 106
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getTokenPath:()Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.tokenPath:Ljava/lang/String;
         9: .line 107
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getRevocationPath:()Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.revocationPath:Ljava/lang/String;
        10: .line 108
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getUserInfoPath:()Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.userInfoPath:Ljava/lang/String;
        11: .line 109
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getIntrospectionPath:()Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.introspectionPath:Ljava/lang/String;
        12: .line 110
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getScopeSeparator:()Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.scopeSeparator:Ljava/lang/String;
        13: .line 111
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.isUseBasicAuthorizationHeader:()Z
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.useBasicAuthorizationHeader:Z
        14: .line 112
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getClientSecretParameterName:()Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.clientSecretParameterName:Ljava/lang/String;
        15: .line 113
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getSite:()Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.site:Ljava/lang/String;
        16: .line 114
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getPubSecKeys:()Ljava/util/List;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.pubSecKeys:Ljava/util/List;
        17: .line 115
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getJWTOptions:()Lio/vertx/ext/auth/JWTOptions;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.jwtOptions:Lio/vertx/ext/auth/JWTOptions;
        18: .line 116
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getLogoutPath:()Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.logoutPath:Ljava/lang/String;
        19: .line 118
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getExtraParameters:()Lio/vertx/core/json/JsonObject;
            astore 2 /* obj */
        start local 2 // io.vertx.core.json.JsonObject obj
        20: .line 119
            aload 2 /* obj */
            ifnull 23
        21: .line 120
            aload 0 /* this */
            aload 2 /* obj */
            invokevirtual io.vertx.core.json.JsonObject.copy:()Lio/vertx/core/json/JsonObject;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.extraParams:Lio/vertx/core/json/JsonObject;
        22: .line 121
            goto 24
        23: .line 122
      StackMap locals: io.vertx.ext.auth.oauth2.OAuth2Options io.vertx.ext.auth.oauth2.OAuth2Options io.vertx.core.json.JsonObject
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.extraParams:Lio/vertx/core/json/JsonObject;
        24: .line 125
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getUserInfoParameters:()Lio/vertx/core/json/JsonObject;
            astore 3 /* obj2 */
        start local 3 // io.vertx.core.json.JsonObject obj2
        25: .line 126
            aload 3 /* obj2 */
            ifnull 28
        26: .line 127
            aload 0 /* this */
            aload 3 /* obj2 */
            invokevirtual io.vertx.core.json.JsonObject.copy:()Lio/vertx/core/json/JsonObject;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.userInfoParams:Lio/vertx/core/json/JsonObject;
        27: .line 128
            goto 29
        28: .line 129
      StackMap locals: io.vertx.core.json.JsonObject
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.userInfoParams:Lio/vertx/core/json/JsonObject;
        29: .line 132
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getHeaders:()Lio/vertx/core/json/JsonObject;
            astore 4 /* obj3 */
        start local 4 // io.vertx.core.json.JsonObject obj3
        30: .line 133
            aload 4 /* obj3 */
            ifnull 33
        31: .line 134
            aload 0 /* this */
            aload 4 /* obj3 */
            invokevirtual io.vertx.core.json.JsonObject.copy:()Lio/vertx/core/json/JsonObject;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.headers:Lio/vertx/core/json/JsonObject;
        32: .line 135
            goto 34
        33: .line 136
      StackMap locals: io.vertx.core.json.JsonObject
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.headers:Lio/vertx/core/json/JsonObject;
        34: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getJwkPath:()Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.jwkPath:Ljava/lang/String;
        35: .line 139
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getHttpClientOptions:()Lio/vertx/core/http/HttpClientOptions;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.httpClientOptions:Lio/vertx/core/http/HttpClientOptions;
        36: .line 140
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.getUserAgent:()Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.userAgent:Ljava/lang/String;
        37: .line 143
            aload 0 /* this */
            iconst_0
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.replaceVariables:(Z)V
        38: .line 144
            return
        end local 4 // io.vertx.core.json.JsonObject obj3
        end local 3 // io.vertx.core.json.JsonObject obj2
        end local 2 // io.vertx.core.json.JsonObject obj
        end local 1 // io.vertx.ext.auth.oauth2.OAuth2Options other
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   39     0   this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0   39     1  other  Lio/vertx/ext/auth/oauth2/OAuth2Options;
           20   39     2    obj  Lio/vertx/core/json/JsonObject;
           25   39     3   obj2  Lio/vertx/core/json/JsonObject;
           30   39     4   obj3  Lio/vertx/core/json/JsonObject;
    MethodParameters:
       Name  Flags
      other  

  private void init();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 147
            aload 0 /* this */
            getstatic io.vertx.ext.auth.oauth2.OAuth2Options.FLOW:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.flow:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
         1: .line 148
            aload 0 /* this */
            iconst_1
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.validateIssuer:Z
         2: .line 149
            aload 0 /* this */
            ldc "/oauth/authorize"
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.authorizationPath:Ljava/lang/String;
         3: .line 150
            aload 0 /* this */
            ldc "/oauth/token"
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.tokenPath:Ljava/lang/String;
         4: .line 151
            aload 0 /* this */
            ldc "/oauth/revoke"
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.revocationPath:Ljava/lang/String;
         5: .line 152
            aload 0 /* this */
            ldc " "
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.scopeSeparator:Ljava/lang/String;
         6: .line 153
            aload 0 /* this */
            iconst_1
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.useBasicAuthorizationHeader:Z
         7: .line 154
            aload 0 /* this */
            ldc "client_secret"
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.clientSecretParameterName:Ljava/lang/String;
         8: .line 155
            aload 0 /* this */
            getstatic io.vertx.ext.auth.oauth2.OAuth2Options.JWT_OPTIONS:Lio/vertx/ext/auth/JWTOptions;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.jwtOptions:Lio/vertx/ext/auth/JWTOptions;
         9: .line 156
            return
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public void <init>(io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/json/JsonObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // io.vertx.core.json.JsonObject json
         0: .line 163
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 81
            aload 0 /* this */
            new io.vertx.core.http.HttpClientOptions
            dup
            invokespecial io.vertx.core.http.HttpClientOptions.<init>:()V
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.httpClientOptions:Lio/vertx/core/http/HttpClientOptions;
         2: .line 164
            aload 0 /* this */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.init:()V
         3: .line 165
            aload 1 /* json */
            aload 0 /* this */
            invokestatic io.vertx.ext.auth.oauth2.OAuth2OptionsConverter.fromJson:(Ljava/lang/Iterable;Lio/vertx/ext/auth/oauth2/OAuth2Options;)V
         4: .line 168
            aload 0 /* this */
            iconst_0
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.replaceVariables:(Z)V
         5: .line 169
            return
        end local 1 // io.vertx.core.json.JsonObject json
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    6     1  json  Lio/vertx/core/json/JsonObject;
    MethodParameters:
      Name  Flags
      json  

  public java.lang.String getAuthorizationPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 176
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.authorizationPath:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setAuthorizationPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // java.lang.String authorizationPath
         0: .line 180
            aload 0 /* this */
            aload 1 /* authorizationPath */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.authorizationPath:Ljava/lang/String;
         1: .line 181
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String authorizationPath
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  authorizationPath  Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      authorizationPath  

  public java.lang.String getTokenPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 189
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.tokenPath:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setTokenPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // java.lang.String tokenPath
         0: .line 193
            aload 0 /* this */
            aload 1 /* tokenPath */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.tokenPath:Ljava/lang/String;
         1: .line 194
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String tokenPath
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  tokenPath  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      tokenPath  

  public java.lang.String getRevocationPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 202
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.revocationPath:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setRevocationPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // java.lang.String revocationPath
         0: .line 210
            aload 0 /* this */
            aload 1 /* revocationPath */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.revocationPath:Ljava/lang/String;
         1: .line 211
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String revocationPath
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  revocationPath  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      revocationPath  

  public boolean isUseBasicAuthorizationHeader();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 222
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.useBasicAuthorizationHeader:Z
            ireturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public io.vertx.ext.auth.oauth2.OAuth2Options setUseBasicAuthorizationHeader(boolean);
    descriptor: (Z)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // boolean useBasicAuthorizationHeader
         0: .line 233
            aload 0 /* this */
            iload 1 /* useBasicAuthorizationHeader */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.useBasicAuthorizationHeader:Z
         1: .line 234
            aload 0 /* this */
            areturn
        end local 1 // boolean useBasicAuthorizationHeader
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    2     0                         this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  useBasicAuthorizationHeader  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                             Name  Flags
      useBasicAuthorizationHeader  

  public java.lang.String getClientSecretParameterName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 243
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.clientSecretParameterName:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setClientSecretParameterName(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // java.lang.String clientSecretParameterName
         0: .line 253
            aload 0 /* this */
            aload 1 /* clientSecretParameterName */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.clientSecretParameterName:Ljava/lang/String;
         1: .line 254
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String clientSecretParameterName
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                       this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  clientSecretParameterName  Ljava/lang/String;
    MethodParameters:
                           Name  Flags
      clientSecretParameterName  

  public io.vertx.ext.auth.oauth2.OAuth2Options setSite(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // java.lang.String site
         0: .line 263
            aload 0 /* this */
            aload 1 /* site */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.site:Ljava/lang/String;
         1: .line 264
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String site
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  site  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      site  

  public java.lang.String getClientID();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 272
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.clientID:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setClientID(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // java.lang.String clientID
         0: .line 281
            aload 0 /* this */
            aload 1 /* clientID */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.clientID:Ljava/lang/String;
         1: .line 282
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String clientID
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  clientID  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      clientID  

  public java.lang.String getClientSecret();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 290
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.clientSecret:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setClientSecret(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // java.lang.String clientSecret
         0: .line 299
            aload 0 /* this */
            aload 1 /* clientSecret */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.clientSecret:Ljava/lang/String;
         1: .line 300
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String clientSecret
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  clientSecret  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      clientSecret  

  public java.lang.String getUserAgent();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 308
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.userAgent:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setUserAgent(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // java.lang.String userAgent
         0: .line 317
            aload 0 /* this */
            aload 1 /* userAgent */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.userAgent:Ljava/lang/String;
         1: .line 318
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String userAgent
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  userAgent  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      userAgent  

  public io.vertx.core.json.JsonObject getHeaders();
    descriptor: ()Lio/vertx/core/json/JsonObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 326
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.headers:Lio/vertx/core/json/JsonObject;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setHeaders(io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // io.vertx.core.json.JsonObject headers
         0: .line 335
            aload 0 /* this */
            aload 1 /* headers */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.headers:Lio/vertx/core/json/JsonObject;
         1: .line 336
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.json.JsonObject headers
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  headers  Lio/vertx/core/json/JsonObject;
    MethodParameters:
         Name  Flags
      headers  

  public java.util.List<io.vertx.ext.auth.PubSecKeyOptions> getPubSecKeys();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 344
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.pubSecKeys:Ljava/util/List;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
    Signature: ()Ljava/util/List<Lio/vertx/ext/auth/PubSecKeyOptions;>;

  public io.vertx.ext.auth.oauth2.OAuth2Options setPubSecKeys(java.util.List<io.vertx.ext.auth.PubSecKeyOptions>);
    descriptor: (Ljava/util/List;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // java.util.List pubSecKeys
         0: .line 348
            aload 0 /* this */
            aload 1 /* pubSecKeys */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.pubSecKeys:Ljava/util/List;
         1: .line 349
            aload 0 /* this */
            areturn
        end local 1 // java.util.List pubSecKeys
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  pubSecKeys  Ljava/util/List<Lio/vertx/ext/auth/PubSecKeyOptions;>;
    Signature: (Ljava/util/List<Lio/vertx/ext/auth/PubSecKeyOptions;>;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    MethodParameters:
            Name  Flags
      pubSecKeys  

  public io.vertx.ext.auth.oauth2.OAuth2Options addPubSecKey(io.vertx.ext.auth.PubSecKeyOptions);
    descriptor: (Lio/vertx/ext/auth/PubSecKeyOptions;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // io.vertx.ext.auth.PubSecKeyOptions pubSecKey
         0: .line 353
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.pubSecKeys:Ljava/util/List;
            ifnonnull 2
         1: .line 354
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.pubSecKeys:Ljava/util/List;
         2: .line 356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.pubSecKeys:Ljava/util/List;
            aload 1 /* pubSecKey */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 357
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.ext.auth.PubSecKeyOptions pubSecKey
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    4     1  pubSecKey  Lio/vertx/ext/auth/PubSecKeyOptions;
    MethodParameters:
           Name  Flags
      pubSecKey  

  public java.lang.String getLogoutPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 365
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.logoutPath:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setLogoutPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // java.lang.String logoutPath
         0: .line 374
            aload 0 /* this */
            aload 1 /* logoutPath */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.logoutPath:Ljava/lang/String;
         1: .line 375
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String logoutPath
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  logoutPath  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      logoutPath  

  public java.lang.String getUserInfoPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 383
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.userInfoPath:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setUserInfoPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // java.lang.String userInfoPath
         0: .line 392
            aload 0 /* this */
            aload 1 /* userInfoPath */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.userInfoPath:Ljava/lang/String;
         1: .line 393
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String userInfoPath
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  userInfoPath  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      userInfoPath  

  public java.lang.String getScopeSeparator();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 401
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.scopeSeparator:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setScopeSeparator(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // java.lang.String scopeSeparator
         0: .line 410
            aload 0 /* this */
            aload 1 /* scopeSeparator */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.scopeSeparator:Ljava/lang/String;
         1: .line 411
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String scopeSeparator
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  scopeSeparator  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      scopeSeparator  

  public io.vertx.core.json.JsonObject getExtraParameters();
    descriptor: ()Lio/vertx/core/json/JsonObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 419
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.extraParams:Lio/vertx/core/json/JsonObject;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setExtraParameters(io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // io.vertx.core.json.JsonObject extraParams
         0: .line 428
            aload 0 /* this */
            aload 1 /* extraParams */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.extraParams:Lio/vertx/core/json/JsonObject;
         1: .line 429
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.json.JsonObject extraParams
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  extraParams  Lio/vertx/core/json/JsonObject;
    MethodParameters:
             Name  Flags
      extraParams  

  public java.lang.String getIntrospectionPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 437
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.introspectionPath:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setIntrospectionPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // java.lang.String introspectionPath
         0: .line 446
            aload 0 /* this */
            aload 1 /* introspectionPath */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.introspectionPath:Ljava/lang/String;
         1: .line 447
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String introspectionPath
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  introspectionPath  Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      introspectionPath  

  public io.vertx.core.json.JsonObject getUserInfoParameters();
    descriptor: ()Lio/vertx/core/json/JsonObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 455
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.userInfoParams:Lio/vertx/core/json/JsonObject;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setUserInfoParameters(io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // io.vertx.core.json.JsonObject userInfoParams
         0: .line 464
            aload 0 /* this */
            aload 1 /* userInfoParams */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.userInfoParams:Lio/vertx/core/json/JsonObject;
         1: .line 465
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.json.JsonObject userInfoParams
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  userInfoParams  Lio/vertx/core/json/JsonObject;
    MethodParameters:
                Name  Flags
      userInfoParams  

  public java.lang.String getJwkPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 469
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.jwkPath:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setJwkPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // java.lang.String jwkPath
         0: .line 473
            aload 0 /* this */
            aload 1 /* jwkPath */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.jwkPath:Ljava/lang/String;
         1: .line 474
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String jwkPath
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  jwkPath  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      jwkPath  

  public io.vertx.ext.auth.JWTOptions getJWTOptions();
    descriptor: ()Lio/vertx/ext/auth/JWTOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 478
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.jwtOptions:Lio/vertx/ext/auth/JWTOptions;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setJWTOptions(io.vertx.ext.auth.JWTOptions);
    descriptor: (Lio/vertx/ext/auth/JWTOptions;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // io.vertx.ext.auth.JWTOptions jwtOptions
         0: .line 482
            aload 0 /* this */
            aload 1 /* jwtOptions */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.jwtOptions:Lio/vertx/ext/auth/JWTOptions;
         1: .line 483
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.ext.auth.JWTOptions jwtOptions
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  jwtOptions  Lio/vertx/ext/auth/JWTOptions;
    MethodParameters:
            Name  Flags
      jwtOptions  

  public io.vertx.ext.auth.oauth2.OAuth2FlowType getFlow();
    descriptor: ()Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 487
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.flow:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setFlow(io.vertx.ext.auth.oauth2.OAuth2FlowType);
    descriptor: (Lio/vertx/ext/auth/oauth2/OAuth2FlowType;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // io.vertx.ext.auth.oauth2.OAuth2FlowType flow
         0: .line 491
            aload 0 /* this */
            aload 1 /* flow */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.flow:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
         1: .line 492
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.ext.auth.oauth2.OAuth2FlowType flow
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  flow  Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
    MethodParameters:
      Name  Flags
      flow  

  public boolean isValidateIssuer();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 496
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.validateIssuer:Z
            ireturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setValidateIssuer(boolean);
    descriptor: (Z)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // boolean validateIssuer
         0: .line 500
            aload 0 /* this */
            iload 1 /* validateIssuer */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.validateIssuer:Z
         1: .line 501
            aload 0 /* this */
            areturn
        end local 1 // boolean validateIssuer
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  validateIssuer  Z
    MethodParameters:
                Name  Flags
      validateIssuer  

  public java.lang.String getTenant();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 505
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.tenant:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setTenant(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // java.lang.String tenant
         0: .line 518
            aload 0 /* this */
            aload 1 /* tenant */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.tenant:Ljava/lang/String;
         1: .line 519
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String tenant
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  tenant  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      tenant  

  public void replaceVariables(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // boolean strict
         0: .line 524
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.site:Ljava/lang/String;
            ifnull 2
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.site:Ljava/lang/String;
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 525
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.site:Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.site:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.site:Ljava/lang/String;
         2: .line 528
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.site:Ljava/lang/String;
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.replaceVariables:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.site:Ljava/lang/String;
         3: .line 530
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.authorizationPath:Ljava/lang/String;
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.replaceVariables:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.authorizationPath:Ljava/lang/String;
         4: .line 531
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.tokenPath:Ljava/lang/String;
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.replaceVariables:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.tokenPath:Ljava/lang/String;
         5: .line 532
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.revocationPath:Ljava/lang/String;
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.replaceVariables:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.revocationPath:Ljava/lang/String;
         6: .line 533
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.logoutPath:Ljava/lang/String;
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.replaceVariables:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.logoutPath:Ljava/lang/String;
         7: .line 534
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.userInfoPath:Ljava/lang/String;
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.replaceVariables:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.userInfoPath:Ljava/lang/String;
         8: .line 535
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.introspectionPath:Ljava/lang/String;
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.replaceVariables:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.introspectionPath:Ljava/lang/String;
         9: .line 536
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.jwkPath:Ljava/lang/String;
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.replaceVariables:(Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.jwkPath:Ljava/lang/String;
        10: .line 538
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.extraParams:Lio/vertx/core/json/JsonObject;
            ifnull 21
        11: .line 539
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.extraParams:Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.core.json.JsonObject.iterator:()Ljava/util/Iterator;
            astore 3
            goto 20
      StackMap locals: io.vertx.ext.auth.oauth2.OAuth2Options int top java.util.Iterator
      StackMap stack:
        12: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* kv */
        start local 2 // java.util.Map$Entry kv
        13: .line 540
            aload 2 /* kv */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            astore 4 /* v */
        start local 4 // java.lang.Object v
        14: .line 541
            aload 4 /* v */
            instanceof java.lang.String
            ifeq 20
        15: .line 543
            aload 2 /* kv */
            aload 0 /* this */
            aload 4 /* v */
            checkcast java.lang.String
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.replaceVariables:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.Map$Entry.setValue:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 544
            goto 20
      StackMap locals: io.vertx.ext.auth.oauth2.OAuth2Options int java.util.Map$Entry java.util.Iterator java.lang.Object
      StackMap stack: java.lang.IllegalStateException
        17: astore 5 /* e */
        start local 5 // java.lang.IllegalStateException e
        18: .line 547
            iload 1 /* strict */
            ifeq 20
        19: .line 548
            aload 5 /* e */
            athrow
        end local 5 // java.lang.IllegalStateException e
        end local 4 // java.lang.Object v
        end local 2 // java.util.Map$Entry kv
        20: .line 539
      StackMap locals: io.vertx.ext.auth.oauth2.OAuth2Options int top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        21: .line 554
      StackMap locals: io.vertx.ext.auth.oauth2.OAuth2Options int
      StackMap stack:
            return
        end local 1 // boolean strict
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   22     0    this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0   22     1  strict  Z
           13   20     2      kv  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;
           14   20     4       v  Ljava/lang/Object;
           18   20     5       e  Ljava/lang/IllegalStateException;
      Exception table:
        from    to  target  type
          15    16      17  Class java.lang.IllegalStateException
    MethodParameters:
        Name  Flags
      strict  

  private java.lang.String replaceVariables(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // java.lang.String path
         0: .line 559
            aload 1 /* path */
            ifnull 6
         1: .line 560
            getstatic io.vertx.ext.auth.oauth2.OAuth2Options.TENANT_PATTER:Ljava/util/regex/Pattern;
            aload 1 /* path */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 2 /* matcher */
        start local 2 // java.util.regex.Matcher matcher
         2: .line 561
            aload 2 /* matcher */
            invokevirtual java.util.regex.Matcher.find:()Z
            ifeq 6
         3: .line 562
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.tenant:Ljava/lang/String;
            ifnonnull 5
         4: .line 563
            new java.lang.IllegalStateException
            dup
            ldc "Configuration with placeholders require that \"tenant\" is prior set"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 566
      StackMap locals: java.util.regex.Matcher
      StackMap stack:
            aload 2 /* matcher */
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.tenant:Ljava/lang/String;
            invokevirtual java.util.regex.Matcher.replaceAll:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.util.regex.Matcher matcher
         6: .line 570
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            areturn
        end local 1 // java.lang.String path
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    7     1     path  Ljava/lang/String;
            2    6     2  matcher  Ljava/util/regex/Matcher;
    MethodParameters:
      Name  Flags
      path  

  public void validate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 574
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.flow:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
            ifnonnull 2
         1: .line 575
            new java.lang.IllegalStateException
            dup
            ldc "Missing OAuth2 flow [e.g.: AUTH_CODE]"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 577
      StackMap locals:
      StackMap stack:
            invokestatic io.vertx.ext.auth.oauth2.OAuth2Options.$SWITCH_TABLE$io$vertx$ext$auth$oauth2$OAuth2FlowType:()[I
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.flow:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2FlowType.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 3
                    2: 9
                    3: 9
                    4: 9
                    5: 5
              default: 9
          }
         3: .line 579
      StackMap locals:
      StackMap stack:
            ldc "clientId"
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.clientID:Ljava/lang/String;
            invokestatic io.vertx.ext.auth.oauth2.OAuth2Options.throwIfNull:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 580
            goto 9
         5: .line 582
      StackMap locals:
      StackMap stack:
            ldc "clientId"
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.clientID:Ljava/lang/String;
            invokestatic io.vertx.ext.auth.oauth2.OAuth2Options.throwIfNull:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 583
            ldc "pubSecKeys"
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.pubSecKeys:Ljava/util/List;
            invokestatic io.vertx.ext.auth.oauth2.OAuth2Options.throwIfNull:(Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 585
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.pubSecKeys:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifne 9
         8: .line 586
            new java.lang.IllegalStateException
            dup
            ldc "Configuration missing. You need to specify [pubSecKeys]"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 590
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
    Exceptions:
      throws java.lang.IllegalStateException

  private static void throwIfNull(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.String key
        start local 1 // java.lang.Object value
         0: .line 593
            aload 1 /* value */
            ifnonnull 2
         1: .line 594
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Configuration missing. You need to specify ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 596
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object value
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0    key  Ljava/lang/String;
            0    3     1  value  Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalStateException
    MethodParameters:
       Name  Flags
      key    
      value  

  public io.vertx.core.json.JsonObject toJson();
    descriptor: ()Lio/vertx/core/json/JsonObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 599
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            astore 1 /* json */
        start local 1 // io.vertx.core.json.JsonObject json
         1: .line 600
            aload 0 /* this */
            aload 1 /* json */
            invokestatic io.vertx.ext.auth.oauth2.OAuth2OptionsConverter.toJson:(Lio/vertx/ext/auth/oauth2/OAuth2Options;Lio/vertx/core/json/JsonObject;)V
         2: .line 601
            aload 1 /* json */
            areturn
        end local 1 // io.vertx.core.json.JsonObject json
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            1    3     1  json  Lio/vertx/core/json/JsonObject;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 606
            aload 0 /* this */
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2Options.toJson:()Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.core.json.JsonObject.encode:()Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.core.http.HttpClientOptions getHttpClientOptions();
    descriptor: ()Lio/vertx/core/http/HttpClientOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
         0: .line 610
            aload 0 /* this */
            getfield io.vertx.ext.auth.oauth2.OAuth2Options.httpClientOptions:Lio/vertx/core/http/HttpClientOptions;
            areturn
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/auth/oauth2/OAuth2Options;

  public io.vertx.ext.auth.oauth2.OAuth2Options setHttpClientOptions(io.vertx.core.http.HttpClientOptions);
    descriptor: (Lio/vertx/core/http/HttpClientOptions;)Lio/vertx/ext/auth/oauth2/OAuth2Options;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
        start local 1 // io.vertx.core.http.HttpClientOptions httpClientOptions
         0: .line 614
            aload 0 /* this */
            aload 1 /* httpClientOptions */
            putfield io.vertx.ext.auth.oauth2.OAuth2Options.httpClientOptions:Lio/vertx/core/http/HttpClientOptions;
         1: .line 615
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.http.HttpClientOptions httpClientOptions
        end local 0 // io.vertx.ext.auth.oauth2.OAuth2Options this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lio/vertx/ext/auth/oauth2/OAuth2Options;
            0    2     1  httpClientOptions  Lio/vertx/core/http/HttpClientOptions;
    MethodParameters:
                   Name  Flags
      httpClientOptions  

  static int[] $SWITCH_TABLE$io$vertx$ext$auth$oauth2$OAuth2FlowType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 38
            getstatic io.vertx.ext.auth.oauth2.OAuth2Options.$SWITCH_TABLE$io$vertx$ext$auth$oauth2$OAuth2FlowType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic io.vertx.ext.auth.oauth2.OAuth2FlowType.values:()[Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic io.vertx.ext.auth.oauth2.OAuth2FlowType.AUTH_CODE:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2FlowType.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic io.vertx.ext.auth.oauth2.OAuth2FlowType.AUTH_JWT:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2FlowType.ordinal:()I
            iconst_5
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic io.vertx.ext.auth.oauth2.OAuth2FlowType.CLIENT:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2FlowType.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic io.vertx.ext.auth.oauth2.OAuth2FlowType.IMPLICIT:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2FlowType.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic io.vertx.ext.auth.oauth2.OAuth2FlowType.PASSWORD:Lio/vertx/ext/auth/oauth2/OAuth2FlowType;
            invokevirtual io.vertx.ext.auth.oauth2.OAuth2FlowType.ordinal:()I
            iconst_3
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic io.vertx.ext.auth.oauth2.OAuth2Options.$SWITCH_TABLE$io$vertx$ext$auth$oauth2$OAuth2FlowType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
}
SourceFile: "OAuth2Options.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.DataObject(generateConverter = true)