public class org.springframework.http.codec.FormHttpMessageWriter extends org.springframework.http.codec.LoggingCodecSupport implements org.springframework.http.codec.HttpMessageWriter<org.springframework.util.MultiValueMap<java.lang.String, java.lang.String>>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.http.codec.FormHttpMessageWriter
  super_class: org.springframework.http.codec.LoggingCodecSupport
{
  public static final java.nio.charset.Charset DEFAULT_CHARSET;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final org.springframework.http.MediaType DEFAULT_FORM_DATA_MEDIA_TYPE;
    descriptor: Lorg/springframework/http/MediaType;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.List<org.springframework.http.MediaType> MEDIA_TYPES;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Lorg/springframework/http/MediaType;>;

  private static final org.springframework.core.ResolvableType MULTIVALUE_TYPE;
    descriptor: Lorg/springframework/core/ResolvableType;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.nio.charset.Charset defaultCharset;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 67
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            putstatic org.springframework.http.codec.FormHttpMessageWriter.DEFAULT_CHARSET:Ljava/nio/charset/Charset;
         1: .line 70
            new org.springframework.http.MediaType
            dup
            getstatic org.springframework.http.MediaType.APPLICATION_FORM_URLENCODED:Lorg/springframework/http/MediaType;
            getstatic org.springframework.http.codec.FormHttpMessageWriter.DEFAULT_CHARSET:Ljava/nio/charset/Charset;
            invokespecial org.springframework.http.MediaType.<init>:(Lorg/springframework/http/MediaType;Ljava/nio/charset/Charset;)V
         2: .line 69
            putstatic org.springframework.http.codec.FormHttpMessageWriter.DEFAULT_FORM_DATA_MEDIA_TYPE:Lorg/springframework/http/MediaType;
         3: .line 73
            getstatic org.springframework.http.MediaType.APPLICATION_FORM_URLENCODED:Lorg/springframework/http/MediaType;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
         4: .line 72
            putstatic org.springframework.http.codec.FormHttpMessageWriter.MEDIA_TYPES:Ljava/util/List;
         5: .line 76
            ldc Lorg/springframework/util/MultiValueMap;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/String;
            aastore
            invokestatic org.springframework.core.ResolvableType.forClassWithGenerics:(Ljava/lang/Class;[Ljava/lang/Class;)Lorg/springframework/core/ResolvableType;
         6: .line 75
            putstatic org.springframework.http.codec.FormHttpMessageWriter.MULTIVALUE_TYPE:Lorg/springframework/core/ResolvableType;
         7: .line 76
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.http.codec.FormHttpMessageWriter this
         0: .line 61
            aload 0 /* this */
            invokespecial org.springframework.http.codec.LoggingCodecSupport.<init>:()V
         1: .line 79
            aload 0 /* this */
            getstatic org.springframework.http.codec.FormHttpMessageWriter.DEFAULT_CHARSET:Ljava/nio/charset/Charset;
            putfield org.springframework.http.codec.FormHttpMessageWriter.defaultCharset:Ljava/nio/charset/Charset;
         2: .line 61
            return
        end local 0 // org.springframework.http.codec.FormHttpMessageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/http/codec/FormHttpMessageWriter;

  public void setDefaultCharset(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.http.codec.FormHttpMessageWriter this
        start local 1 // java.nio.charset.Charset charset
         0: .line 88
            aload 1 /* charset */
            ldc "Charset must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 89
            aload 0 /* this */
            aload 1 /* charset */
            putfield org.springframework.http.codec.FormHttpMessageWriter.defaultCharset:Ljava/nio/charset/Charset;
         2: .line 90
            return
        end local 1 // java.nio.charset.Charset charset
        end local 0 // org.springframework.http.codec.FormHttpMessageWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/springframework/http/codec/FormHttpMessageWriter;
            0    3     1  charset  Ljava/nio/charset/Charset;
    MethodParameters:
         Name  Flags
      charset  

  public java.nio.charset.Charset getDefaultCharset();
    descriptor: ()Ljava/nio/charset/Charset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.http.codec.FormHttpMessageWriter this
         0: .line 96
            aload 0 /* this */
            getfield org.springframework.http.codec.FormHttpMessageWriter.defaultCharset:Ljava/nio/charset/Charset;
            areturn
        end local 0 // org.springframework.http.codec.FormHttpMessageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/http/codec/FormHttpMessageWriter;

  public java.util.List<org.springframework.http.MediaType> getWritableMediaTypes();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.http.codec.FormHttpMessageWriter this
         0: .line 102
            getstatic org.springframework.http.codec.FormHttpMessageWriter.MEDIA_TYPES:Ljava/util/List;
            areturn
        end local 0 // org.springframework.http.codec.FormHttpMessageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/http/codec/FormHttpMessageWriter;
    Signature: ()Ljava/util/List<Lorg/springframework/http/MediaType;>;

  public boolean canWrite(org.springframework.core.ResolvableType, org.springframework.http.MediaType);
    descriptor: (Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.springframework.http.codec.FormHttpMessageWriter this
        start local 1 // org.springframework.core.ResolvableType elementType
        start local 2 // org.springframework.http.MediaType mediaType
         0: .line 108
            ldc Lorg/springframework/util/MultiValueMap;
            aload 1 /* elementType */
            invokevirtual org.springframework.core.ResolvableType.toClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 2
         1: .line 109
            iconst_0
            ireturn
         2: .line 111
      StackMap locals:
      StackMap stack:
            getstatic org.springframework.http.MediaType.APPLICATION_FORM_URLENCODED:Lorg/springframework/http/MediaType;
            aload 2 /* mediaType */
            invokevirtual org.springframework.http.MediaType.isCompatibleWith:(Lorg/springframework/http/MediaType;)Z
            ifeq 4
         3: .line 113
            iconst_1
            ireturn
         4: .line 115
      StackMap locals:
      StackMap stack:
            aload 2 /* mediaType */
            ifnonnull 6
         5: .line 117
            getstatic org.springframework.http.codec.FormHttpMessageWriter.MULTIVALUE_TYPE:Lorg/springframework/core/ResolvableType;
            aload 1 /* elementType */
            invokevirtual org.springframework.core.ResolvableType.isAssignableFrom:(Lorg/springframework/core/ResolvableType;)Z
            ireturn
         6: .line 119
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.springframework.http.MediaType mediaType
        end local 1 // org.springframework.core.ResolvableType elementType
        end local 0 // org.springframework.http.codec.FormHttpMessageWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/springframework/http/codec/FormHttpMessageWriter;
            0    7     1  elementType  Lorg/springframework/core/ResolvableType;
            0    7     2    mediaType  Lorg/springframework/http/MediaType;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
             Name  Flags
      elementType  
      mediaType    

  public reactor.core.publisher.Mono<java.lang.Void> write(org.reactivestreams.Publisher<? extends org.springframework.util.MultiValueMap<java.lang.String, java.lang.String>>, org.springframework.core.ResolvableType, org.springframework.http.MediaType, org.springframework.http.ReactiveHttpOutputMessage, java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Lorg/reactivestreams/Publisher;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/http/ReactiveHttpOutputMessage;Ljava/util/Map;)Lreactor/core/publisher/Mono;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // org.springframework.http.codec.FormHttpMessageWriter this
        start local 1 // org.reactivestreams.Publisher inputStream
        start local 2 // org.springframework.core.ResolvableType elementType
        start local 3 // org.springframework.http.MediaType mediaType
        start local 4 // org.springframework.http.ReactiveHttpOutputMessage message
        start local 5 // java.util.Map hints
         0: .line 127
            aload 0 /* this */
            aload 3 /* mediaType */
            invokevirtual org.springframework.http.codec.FormHttpMessageWriter.getMediaType:(Lorg/springframework/http/MediaType;)Lorg/springframework/http/MediaType;
            astore 3 /* mediaType */
         1: .line 128
            aload 4 /* message */
            invokeinterface org.springframework.http.ReactiveHttpOutputMessage.getHeaders:()Lorg/springframework/http/HttpHeaders;
            aload 3 /* mediaType */
            invokevirtual org.springframework.http.HttpHeaders.setContentType:(Lorg/springframework/http/MediaType;)V
         2: .line 130
            aload 3 /* mediaType */
            invokevirtual org.springframework.http.MediaType.getCharset:()Ljava/nio/charset/Charset;
            astore 6 /* charset */
        start local 6 // java.nio.charset.Charset charset
         3: .line 131
            aload 6 /* charset */
            ldc "No charset"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         4: .line 133
            aload 1 /* inputStream */
            invokestatic reactor.core.publisher.Mono.from:(Lorg/reactivestreams/Publisher;)Lreactor/core/publisher/Mono;
            aload 0 /* this */
            aload 5 /* hints */
            aload 6 /* charset */
            aload 4 /* message */
            invokedynamic apply(Lorg/springframework/http/codec/FormHttpMessageWriter;Ljava/util/Map;Ljava/nio/charset/Charset;Lorg/springframework/http/ReactiveHttpOutputMessage;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/springframework/http/codec/FormHttpMessageWriter.lambda$0(Ljava/util/Map;Ljava/nio/charset/Charset;Lorg/springframework/http/ReactiveHttpOutputMessage;Lorg/springframework/util/MultiValueMap;)Lreactor/core/publisher/Mono; (7)
                  (Lorg/springframework/util/MultiValueMap;)Lreactor/core/publisher/Mono;
            invokevirtual reactor.core.publisher.Mono.flatMap:(Ljava/util/function/Function;)Lreactor/core/publisher/Mono;
            areturn
        end local 6 // java.nio.charset.Charset charset
        end local 5 // java.util.Map hints
        end local 4 // org.springframework.http.ReactiveHttpOutputMessage message
        end local 3 // org.springframework.http.MediaType mediaType
        end local 2 // org.springframework.core.ResolvableType elementType
        end local 1 // org.reactivestreams.Publisher inputStream
        end local 0 // org.springframework.http.codec.FormHttpMessageWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/springframework/http/codec/FormHttpMessageWriter;
            0    5     1  inputStream  Lorg/reactivestreams/Publisher<+Lorg/springframework/util/MultiValueMap<Ljava/lang/String;Ljava/lang/String;>;>;
            0    5     2  elementType  Lorg/springframework/core/ResolvableType;
            0    5     3    mediaType  Lorg/springframework/http/MediaType;
            0    5     4      message  Lorg/springframework/http/ReactiveHttpOutputMessage;
            0    5     5        hints  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            3    5     6      charset  Ljava/nio/charset/Charset;
    Signature: (Lorg/reactivestreams/Publisher<+Lorg/springframework/util/MultiValueMap<Ljava/lang/String;Ljava/lang/String;>;>;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/http/ReactiveHttpOutputMessage;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Lreactor/core/publisher/Mono<Ljava/lang/Void;>;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
      3:
      4:
    MethodParameters:
             Name  Flags
      inputStream  
      elementType  
      mediaType    
      message      
      hints        

  private org.springframework.http.MediaType getMediaType(org.springframework.http.MediaType);
    descriptor: (Lorg/springframework/http/MediaType;)Lorg/springframework/http/MediaType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.http.codec.FormHttpMessageWriter this
        start local 1 // org.springframework.http.MediaType mediaType
         0: .line 144
            aload 1 /* mediaType */
            ifnonnull 2
         1: .line 145
            getstatic org.springframework.http.codec.FormHttpMessageWriter.DEFAULT_FORM_DATA_MEDIA_TYPE:Lorg/springframework/http/MediaType;
            areturn
         2: .line 147
      StackMap locals:
      StackMap stack:
            aload 1 /* mediaType */
            invokevirtual org.springframework.http.MediaType.getCharset:()Ljava/nio/charset/Charset;
            ifnonnull 4
         3: .line 148
            new org.springframework.http.MediaType
            dup
            aload 1 /* mediaType */
            aload 0 /* this */
            invokevirtual org.springframework.http.codec.FormHttpMessageWriter.getDefaultCharset:()Ljava/nio/charset/Charset;
            invokespecial org.springframework.http.MediaType.<init>:(Lorg/springframework/http/MediaType;Ljava/nio/charset/Charset;)V
            areturn
         4: .line 151
      StackMap locals:
      StackMap stack:
            aload 1 /* mediaType */
            areturn
        end local 1 // org.springframework.http.MediaType mediaType
        end local 0 // org.springframework.http.codec.FormHttpMessageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/springframework/http/codec/FormHttpMessageWriter;
            0    5     1  mediaType  Lorg/springframework/http/MediaType;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      mediaType  

  private void logFormData(org.springframework.util.MultiValueMap<java.lang.String, java.lang.String>, java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Lorg/springframework/util/MultiValueMap;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.http.codec.FormHttpMessageWriter this
        start local 1 // org.springframework.util.MultiValueMap form
        start local 2 // java.util.Map hints
         0: .line 156
            aload 0 /* this */
            getfield org.springframework.http.codec.FormHttpMessageWriter.logger:Lorg/apache/commons/logging/Log;
            aload 0 /* this */
            aload 2 /* hints */
            aload 1 /* form */
            invokedynamic apply(Lorg/springframework/http/codec/FormHttpMessageWriter;Ljava/util/Map;Lorg/springframework/util/MultiValueMap;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/springframework/http/codec/FormHttpMessageWriter.lambda$1(Ljava/util/Map;Lorg/springframework/util/MultiValueMap;Ljava/lang/Boolean;)Ljava/lang/String; (7)
                  (Ljava/lang/Boolean;)Ljava/lang/String;
            invokestatic org.springframework.core.log.LogFormatUtils.traceDebug:(Lorg/apache/commons/logging/Log;Ljava/util/function/Function;)V
         1: .line 160
            return
        end local 2 // java.util.Map hints
        end local 1 // org.springframework.util.MultiValueMap form
        end local 0 // org.springframework.http.codec.FormHttpMessageWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/springframework/http/codec/FormHttpMessageWriter;
            0    2     1   form  Lorg/springframework/util/MultiValueMap<Ljava/lang/String;Ljava/lang/String;>;
            0    2     2  hints  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: (Lorg/springframework/util/MultiValueMap<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
    MethodParameters:
       Name  Flags
      form   
      hints  

  protected java.lang.String serializeForm(org.springframework.util.MultiValueMap<java.lang.String, java.lang.String>, java.nio.charset.Charset);
    descriptor: (Lorg/springframework/util/MultiValueMap;Ljava/nio/charset/Charset;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.springframework.http.codec.FormHttpMessageWriter this
        start local 1 // org.springframework.util.MultiValueMap formData
        start local 2 // java.nio.charset.Charset charset
         0: .line 163
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* builder */
        start local 3 // java.lang.StringBuilder builder
         1: .line 164
            aload 1 /* formData */
            aload 3 /* builder */
            aload 2 /* charset */
            invokedynamic accept(Ljava/lang/StringBuilder;Ljava/nio/charset/Charset;)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  org/springframework/http/codec/FormHttpMessageWriter.lambda$2(Ljava/lang/StringBuilder;Ljava/nio/charset/Charset;Ljava/lang/String;Ljava/util/List;)V (6)
                  (Ljava/lang/String;Ljava/util/List;)V
            invokeinterface org.springframework.util.MultiValueMap.forEach:(Ljava/util/function/BiConsumer;)V
         2: .line 180
            aload 3 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder builder
        end local 2 // java.nio.charset.Charset charset
        end local 1 // org.springframework.util.MultiValueMap formData
        end local 0 // org.springframework.http.codec.FormHttpMessageWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/springframework/http/codec/FormHttpMessageWriter;
            0    3     1  formData  Lorg/springframework/util/MultiValueMap<Ljava/lang/String;Ljava/lang/String;>;
            0    3     2   charset  Ljava/nio/charset/Charset;
            1    3     3   builder  Ljava/lang/StringBuilder;
    Signature: (Lorg/springframework/util/MultiValueMap<Ljava/lang/String;Ljava/lang/String;>;Ljava/nio/charset/Charset;)Ljava/lang/String;
    MethodParameters:
          Name  Flags
      formData  
      charset   

  private reactor.core.publisher.Mono lambda$0(java.util.Map, java.nio.charset.Charset, org.springframework.http.ReactiveHttpOutputMessage, org.springframework.util.MultiValueMap);
    descriptor: (Ljava/util/Map;Ljava/nio/charset/Charset;Lorg/springframework/http/ReactiveHttpOutputMessage;Lorg/springframework/util/MultiValueMap;)Lreactor/core/publisher/Mono;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=8, args_size=5
        start local 0 // org.springframework.http.codec.FormHttpMessageWriter this
        start local 4 // org.springframework.util.MultiValueMap form
         0: .line 134
            aload 0 /* this */
            aload 4 /* form */
            aload 1
            invokevirtual org.springframework.http.codec.FormHttpMessageWriter.logFormData:(Lorg/springframework/util/MultiValueMap;Ljava/util/Map;)V
         1: .line 135
            aload 0 /* this */
            aload 4 /* form */
            aload 2
            invokevirtual org.springframework.http.codec.FormHttpMessageWriter.serializeForm:(Lorg/springframework/util/MultiValueMap;Ljava/nio/charset/Charset;)Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
         2: .line 136
            aload 2
            aload 5 /* value */
            invokevirtual java.nio.charset.Charset.encode:(Ljava/lang/String;)Ljava/nio/ByteBuffer;
            astore 6 /* byteBuffer */
        start local 6 // java.nio.ByteBuffer byteBuffer
         3: .line 137
            aload 3
            invokeinterface org.springframework.http.ReactiveHttpOutputMessage.bufferFactory:()Lorg/springframework/core/io/buffer/DataBufferFactory;
            aload 6 /* byteBuffer */
            invokeinterface org.springframework.core.io.buffer.DataBufferFactory.wrap:(Ljava/nio/ByteBuffer;)Lorg/springframework/core/io/buffer/DataBuffer;
            astore 7 /* buffer */
        start local 7 // org.springframework.core.io.buffer.DataBuffer buffer
         4: .line 138
            aload 3
            invokeinterface org.springframework.http.ReactiveHttpOutputMessage.getHeaders:()Lorg/springframework/http/HttpHeaders;
            aload 6 /* byteBuffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            i2l
            invokevirtual org.springframework.http.HttpHeaders.setContentLength:(J)V
         5: .line 139
            aload 3
            aload 7 /* buffer */
            invokestatic reactor.core.publisher.Mono.just:(Ljava/lang/Object;)Lreactor/core/publisher/Mono;
            invokeinterface org.springframework.http.ReactiveHttpOutputMessage.writeWith:(Lorg/reactivestreams/Publisher;)Lreactor/core/publisher/Mono;
            areturn
        end local 7 // org.springframework.core.io.buffer.DataBuffer buffer
        end local 6 // java.nio.ByteBuffer byteBuffer
        end local 5 // java.lang.String value
        end local 4 // org.springframework.util.MultiValueMap form
        end local 0 // org.springframework.http.codec.FormHttpMessageWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/springframework/http/codec/FormHttpMessageWriter;
            0    6     4        form  Lorg/springframework/util/MultiValueMap<TK;TV;>;
            2    6     5       value  Ljava/lang/String;
            3    6     6  byteBuffer  Ljava/nio/ByteBuffer;
            4    6     7      buffer  Lorg/springframework/core/io/buffer/DataBuffer;

  private java.lang.String lambda$1(java.util.Map, org.springframework.util.MultiValueMap, java.lang.Boolean);
    descriptor: (Ljava/util/Map;Lorg/springframework/util/MultiValueMap;Ljava/lang/Boolean;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.springframework.http.codec.FormHttpMessageWriter this
        start local 3 // java.lang.Boolean traceOn
         0: .line 156
            new java.lang.StringBuilder
            dup
            aload 1
            invokestatic org.springframework.core.codec.Hints.getLogPrefix:(Ljava/util/Map;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "Writing "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 157
            aload 0 /* this */
            invokevirtual org.springframework.http.codec.FormHttpMessageWriter.isEnableLoggingRequestDetails:()Z
            ifeq 5
         2: .line 158
            aload 2
            aload 3 /* traceOn */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals: org.springframework.http.codec.FormHttpMessageWriter java.util.Map org.springframework.util.MultiValueMap java.lang.Boolean
      StackMap stack: java.lang.StringBuilder org.springframework.util.MultiValueMap
         3: iconst_1
      StackMap locals: org.springframework.http.codec.FormHttpMessageWriter java.util.Map org.springframework.util.MultiValueMap java.lang.Boolean
      StackMap stack: java.lang.StringBuilder org.springframework.util.MultiValueMap int
         4: invokestatic org.springframework.core.log.LogFormatUtils.formatValue:(Ljava/lang/Object;Z)Ljava/lang/String;
            goto 6
         5: .line 159
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
            new java.lang.StringBuilder
            dup
            ldc "form fields "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2
            invokeinterface org.springframework.util.MultiValueMap.keySet:()Ljava/util/Set;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " (content masked)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 157
      StackMap locals: org.springframework.http.codec.FormHttpMessageWriter java.util.Map org.springframework.util.MultiValueMap java.lang.Boolean
      StackMap stack: java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 156
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 159
            areturn
        end local 3 // java.lang.Boolean traceOn
        end local 0 // org.springframework.http.codec.FormHttpMessageWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/springframework/http/codec/FormHttpMessageWriter;
            0    9     3  traceOn  Ljava/lang/Boolean;

  private static void lambda$2(java.lang.StringBuilder, java.nio.charset.Charset, java.lang.String, java.util.List);
    descriptor: (Ljava/lang/StringBuilder;Ljava/nio/charset/Charset;Ljava/lang/String;Ljava/util/List;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 2 // java.lang.String name
        start local 3 // java.util.List values
         0: .line 165
            aload 3 /* values */
            aload 0
            aload 2 /* name */
            aload 1
            invokedynamic accept(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/springframework/http/codec/FormHttpMessageWriter.lambda$3(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/nio/charset/Charset;Ljava/lang/String;)V (6)
                  (Ljava/lang/String;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
         1: .line 179
            return
        end local 3 // java.util.List values
        end local 2 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     2    name  Ljava/lang/String;
            0    2     3  values  Ljava/util/List<Ljava/lang/String;>;

  private static void lambda$3(java.lang.StringBuilder, java.lang.String, java.nio.charset.Charset, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/nio/charset/Charset;Ljava/lang/String;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=4
        start local 3 // java.lang.String value
         0: .line 167
            aload 0
            invokevirtual java.lang.StringBuilder.length:()I
            ifeq 2
         1: .line 168
            aload 0
            bipush 38
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 170
      StackMap locals:
      StackMap stack:
            aload 0
            aload 1
            aload 2
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            invokestatic java.net.URLEncoder.encode:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 171
            aload 3 /* value */
            ifnull 9
         4: .line 172
            aload 0
            bipush 61
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 173
            aload 0
            aload 3 /* value */
            aload 2
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            invokestatic java.net.URLEncoder.encode:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 175
            goto 9
         7: .line 176
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
            astore 4 /* ex */
        start local 4 // java.io.UnsupportedEncodingException ex
         8: .line 177
            new java.lang.IllegalStateException
            dup
            aload 4 /* ex */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.UnsupportedEncodingException ex
         9: .line 179
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     3  value  Ljava/lang/String;
            8    9     4     ex  Ljava/io/UnsupportedEncodingException;
      Exception table:
        from    to  target  type
           0     6       7  Class java.io.UnsupportedEncodingException
}
Signature: Lorg/springframework/http/codec/LoggingCodecSupport;Lorg/springframework/http/codec/HttpMessageWriter<Lorg/springframework/util/MultiValueMap<Ljava/lang/String;Ljava/lang/String;>;>;
SourceFile: "FormHttpMessageWriter.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles