public class org.apache.catalina.servlets.DefaultServlet extends jakarta.servlet.http.HttpServlet
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.catalina.servlets.DefaultServlet
  super_class: jakarta.servlet.http.HttpServlet
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  protected static final org.apache.tomcat.util.res.StringManager sm;
    descriptor: Lorg/apache/tomcat/util/res/StringManager;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  private static final javax.xml.parsers.DocumentBuilderFactory factory;
    descriptor: Ljavax/xml/parsers/DocumentBuilderFactory;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.apache.catalina.servlets.DefaultServlet$SecureEntityResolver secureEntityResolver;
    descriptor: Lorg/apache/catalina/servlets/DefaultServlet$SecureEntityResolver;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected static final org.apache.tomcat.util.http.parser.Ranges FULL;
    descriptor: Lorg/apache/tomcat/util/http/parser/Ranges;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  private static final org.apache.tomcat.util.http.parser.ContentRange IGNORE;
    descriptor: Lorg/apache/tomcat/util/http/parser/ContentRange;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String mimeSeparation;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "CATALINA_MIME_BOUNDARY"

  protected static final int BUFFER_SIZE;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 4096

  protected int debug;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int input;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected boolean listings;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean readOnly;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected org.apache.catalina.servlets.DefaultServlet$CompressionFormat[] compressionFormats;
    descriptor: [Lorg/apache/catalina/servlets/DefaultServlet$CompressionFormat;
    flags: (0x0004) ACC_PROTECTED

  protected int output;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String localXsltFile;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String contextXsltFile;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String globalXsltFile;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String readmeFile;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected transient org.apache.catalina.WebResourceRoot resources;
    descriptor: Lorg/apache/catalina/WebResourceRoot;
    flags: (0x0084) ACC_PROTECTED, ACC_TRANSIENT

  protected java.lang.String fileEncoding;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  private transient java.nio.charset.Charset fileEncodingCharset;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

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

  protected int sendfileSize;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected boolean useAcceptRanges;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean showServerInfo;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean sortListings;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected transient org.apache.catalina.servlets.DefaultServlet$SortManager sortManager;
    descriptor: Lorg/apache/catalina/servlets/DefaultServlet$SortManager;
    flags: (0x0084) ACC_PROTECTED, ACC_TRANSIENT

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=0, args_size=0
         0: .line 144
            ldc Lorg/apache/catalina/servlets/DefaultServlet;
            invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
            putstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
         1: .line 153
            new org.apache.tomcat.util.http.parser.Ranges
            dup
            aconst_null
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            invokespecial org.apache.tomcat.util.http.parser.Ranges.<init>:(Ljava/lang/String;Ljava/util/List;)V
            putstatic org.apache.catalina.servlets.DefaultServlet.FULL:Lorg/apache/tomcat/util/http/parser/Ranges;
         2: .line 155
            new org.apache.tomcat.util.http.parser.ContentRange
            dup
            aconst_null
            lconst_0
            lconst_0
            lconst_0
            invokespecial org.apache.tomcat.util.http.parser.ContentRange.<init>:(Ljava/lang/String;JJJ)V
            putstatic org.apache.catalina.servlets.DefaultServlet.IGNORE:Lorg/apache/tomcat/util/http/parser/ContentRange;
         3: .line 171
            getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
            ifeq 9
         4: .line 172
            invokestatic javax.xml.parsers.DocumentBuilderFactory.newInstance:()Ljavax/xml/parsers/DocumentBuilderFactory;
            putstatic org.apache.catalina.servlets.DefaultServlet.factory:Ljavax/xml/parsers/DocumentBuilderFactory;
         5: .line 173
            getstatic org.apache.catalina.servlets.DefaultServlet.factory:Ljavax/xml/parsers/DocumentBuilderFactory;
            iconst_1
            invokevirtual javax.xml.parsers.DocumentBuilderFactory.setNamespaceAware:(Z)V
         6: .line 174
            getstatic org.apache.catalina.servlets.DefaultServlet.factory:Ljavax/xml/parsers/DocumentBuilderFactory;
            iconst_0
            invokevirtual javax.xml.parsers.DocumentBuilderFactory.setValidating:(Z)V
         7: .line 175
            new org.apache.catalina.servlets.DefaultServlet$SecureEntityResolver
            dup
            invokespecial org.apache.catalina.servlets.DefaultServlet$SecureEntityResolver.<init>:()V
            putstatic org.apache.catalina.servlets.DefaultServlet.secureEntityResolver:Lorg/apache/catalina/servlets/DefaultServlet$SecureEntityResolver;
         8: .line 176
            goto 11
         9: .line 177
      StackMap locals:
      StackMap stack:
            aconst_null
            putstatic org.apache.catalina.servlets.DefaultServlet.factory:Ljavax/xml/parsers/DocumentBuilderFactory;
        10: .line 178
            aconst_null
            putstatic org.apache.catalina.servlets.DefaultServlet.secureEntityResolver:Lorg/apache/catalina/servlets/DefaultServlet$SecureEntityResolver;
        11: .line 180
      StackMap locals:
      StackMap stack:
            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.apache.catalina.servlets.DefaultServlet this
         0: .line 137
            aload 0 /* this */
            invokespecial jakarta.servlet.http.HttpServlet.<init>:()V
         1: .line 188
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.servlets.DefaultServlet.debug:I
         2: .line 193
            aload 0 /* this */
            sipush 2048
            putfield org.apache.catalina.servlets.DefaultServlet.input:I
         3: .line 198
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.servlets.DefaultServlet.listings:Z
         4: .line 203
            aload 0 /* this */
            iconst_1
            putfield org.apache.catalina.servlets.DefaultServlet.readOnly:Z
         5: .line 213
            aload 0 /* this */
            sipush 2048
            putfield org.apache.catalina.servlets.DefaultServlet.output:I
         6: .line 218
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.servlets.DefaultServlet.localXsltFile:Ljava/lang/String;
         7: .line 223
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.servlets.DefaultServlet.contextXsltFile:Ljava/lang/String;
         8: .line 228
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.servlets.DefaultServlet.globalXsltFile:Ljava/lang/String;
         9: .line 233
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.servlets.DefaultServlet.readmeFile:Ljava/lang/String;
        10: .line 238
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.servlets.DefaultServlet.resources:Lorg/apache/catalina/WebResourceRoot;
        11: .line 244
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.servlets.DefaultServlet.fileEncoding:Ljava/lang/String;
        12: .line 245
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.servlets.DefaultServlet.fileEncodingCharset:Ljava/nio/charset/Charset;
        13: .line 250
            aload 0 /* this */
            iconst_1
            putfield org.apache.catalina.servlets.DefaultServlet.useBomIfPresent:Z
        14: .line 255
            aload 0 /* this */
            ldc 49152
            putfield org.apache.catalina.servlets.DefaultServlet.sendfileSize:I
        15: .line 260
            aload 0 /* this */
            iconst_1
            putfield org.apache.catalina.servlets.DefaultServlet.useAcceptRanges:Z
        16: .line 265
            aload 0 /* this */
            iconst_1
            putfield org.apache.catalina.servlets.DefaultServlet.showServerInfo:Z
        17: .line 270
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.servlets.DefaultServlet.sortListings:Z
        18: .line 280
            aload 0 /* this */
            iconst_1
            putfield org.apache.catalina.servlets.DefaultServlet.allowPartialPut:Z
        19: .line 137
            return
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lorg/apache/catalina/servlets/DefaultServlet;

  public void destroy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
         0: .line 291
            return
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/servlets/DefaultServlet;

  public void init();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
         0: .line 300
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "debug"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 2
         1: .line 301
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "debug"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield org.apache.catalina.servlets.DefaultServlet.debug:I
         2: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "input"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 4
         3: .line 305
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "input"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield org.apache.catalina.servlets.DefaultServlet.input:I
         4: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "output"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 6
         5: .line 309
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "output"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield org.apache.catalina.servlets.DefaultServlet.output:I
         6: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "listings"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            putfield org.apache.catalina.servlets.DefaultServlet.listings:Z
         7: .line 314
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "readonly"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 9
         8: .line 315
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "readonly"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            putfield org.apache.catalina.servlets.DefaultServlet.readOnly:Z
         9: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
        10: .line 319
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "precompressed"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
        11: .line 320
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "gzip"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
        12: .line 318
            invokevirtual org.apache.catalina.servlets.DefaultServlet.parseCompressionFormats:(Ljava/lang/String;Ljava/lang/String;)[Lorg/apache/catalina/servlets/DefaultServlet$CompressionFormat;
            putfield org.apache.catalina.servlets.DefaultServlet.compressionFormats:[Lorg/apache/catalina/servlets/DefaultServlet$CompressionFormat;
        13: .line 322
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "sendfileSize"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 15
        14: .line 323
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "sendfileSize"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            sipush 1024
            imul
            putfield org.apache.catalina.servlets.DefaultServlet.sendfileSize:I
        15: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "fileEncoding"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.apache.catalina.servlets.DefaultServlet.fileEncoding:Ljava/lang/String;
        16: .line 327
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.fileEncoding:Ljava/lang/String;
            ifnonnull 20
        17: .line 328
            aload 0 /* this */
            invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
            putfield org.apache.catalina.servlets.DefaultServlet.fileEncodingCharset:Ljava/nio/charset/Charset;
        18: .line 329
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.fileEncodingCharset:Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            putfield org.apache.catalina.servlets.DefaultServlet.fileEncoding:Ljava/lang/String;
        19: .line 330
            goto 24
        20: .line 332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.fileEncoding:Ljava/lang/String;
            invokestatic org.apache.tomcat.util.buf.B2CConverter.getCharset:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            putfield org.apache.catalina.servlets.DefaultServlet.fileEncodingCharset:Ljava/nio/charset/Charset;
        21: .line 333
            goto 24
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
        22: astore 1 /* e */
        start local 1 // java.io.UnsupportedEncodingException e
        23: .line 334
            new jakarta.servlet.ServletException
            dup
            aload 1 /* e */
            invokespecial jakarta.servlet.ServletException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.UnsupportedEncodingException e
        24: .line 338
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "useBomIfPresent"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 26
        25: .line 339
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "useBomIfPresent"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            putfield org.apache.catalina.servlets.DefaultServlet.useBomIfPresent:Z
        26: .line 342
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "globalXsltFile"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.apache.catalina.servlets.DefaultServlet.globalXsltFile:Ljava/lang/String;
        27: .line 343
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "contextXsltFile"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.apache.catalina.servlets.DefaultServlet.contextXsltFile:Ljava/lang/String;
        28: .line 344
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "localXsltFile"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.apache.catalina.servlets.DefaultServlet.localXsltFile:Ljava/lang/String;
        29: .line 345
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "readmeFile"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.apache.catalina.servlets.DefaultServlet.readmeFile:Ljava/lang/String;
        30: .line 347
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "useAcceptRanges"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 32
        31: .line 348
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "useAcceptRanges"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            putfield org.apache.catalina.servlets.DefaultServlet.useAcceptRanges:Z
        32: .line 352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.input:I
            sipush 256
            if_icmpge 34
        33: .line 353
            aload 0 /* this */
            sipush 256
            putfield org.apache.catalina.servlets.DefaultServlet.input:I
        34: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.output:I
            sipush 256
            if_icmpge 36
        35: .line 356
            aload 0 /* this */
            sipush 256
            putfield org.apache.catalina.servlets.DefaultServlet.output:I
        36: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.debug:I
            ifle 40
        37: .line 360
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "DefaultServlet.init:  input buffer size="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.input:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        38: .line 361
            ldc ", output buffer size="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.output:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        39: .line 360
            invokevirtual org.apache.catalina.servlets.DefaultServlet.log:(Ljava/lang/String;)V
        40: .line 365
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletContext:()Ljakarta/servlet/ServletContext;
            ldc "org.apache.catalina.resources"
            invokeinterface jakarta.servlet.ServletContext.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.apache.catalina.WebResourceRoot
            putfield org.apache.catalina.servlets.DefaultServlet.resources:Lorg/apache/catalina/WebResourceRoot;
        41: .line 367
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.resources:Lorg/apache/catalina/WebResourceRoot;
            ifnonnull 43
        42: .line 368
            new jakarta.servlet.UnavailableException
            dup
            getstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "defaultServlet.noResources"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial jakarta.servlet.UnavailableException.<init>:(Ljava/lang/String;)V
            athrow
        43: .line 371
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "showServerInfo"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 45
        44: .line 372
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "showServerInfo"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            putfield org.apache.catalina.servlets.DefaultServlet.showServerInfo:Z
        45: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "sortListings"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 53
        46: .line 376
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "sortListings"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            putfield org.apache.catalina.servlets.DefaultServlet.sortListings:Z
        47: .line 378
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.sortListings:Z
            ifeq 53
        48: .line 380
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "sortDirectoriesFirst"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 51
        49: .line 381
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "sortDirectoriesFirst"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            istore 1 /* sortDirectoriesFirst */
        start local 1 // boolean sortDirectoriesFirst
        50: .line 382
            goto 52
        end local 1 // boolean sortDirectoriesFirst
        51: .line 383
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* sortDirectoriesFirst */
        start local 1 // boolean sortDirectoriesFirst
        52: .line 386
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            new org.apache.catalina.servlets.DefaultServlet$SortManager
            dup
            iload 1 /* sortDirectoriesFirst */
            invokespecial org.apache.catalina.servlets.DefaultServlet$SortManager.<init>:(Z)V
            putfield org.apache.catalina.servlets.DefaultServlet.sortManager:Lorg/apache/catalina/servlets/DefaultServlet$SortManager;
        end local 1 // boolean sortDirectoriesFirst
        53: .line 390
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "allowPartialPut"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 55
        54: .line 391
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletConfig:()Ljakarta/servlet/ServletConfig;
            ldc "allowPartialPut"
            invokeinterface jakarta.servlet.ServletConfig.getInitParameter:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            putfield org.apache.catalina.servlets.DefaultServlet.allowPartialPut:Z
        55: .line 393
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   56     0                  this  Lorg/apache/catalina/servlets/DefaultServlet;
           23   24     1                     e  Ljava/io/UnsupportedEncodingException;
           50   51     1  sortDirectoriesFirst  Z
           52   53     1  sortDirectoriesFirst  Z
      Exception table:
        from    to  target  type
          20    21      22  Class java.io.UnsupportedEncodingException
    Exceptions:
      throws jakarta.servlet.ServletException

  private org.apache.catalina.servlets.DefaultServlet$CompressionFormat[] parseCompressionFormats(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)[Lorg/apache/catalina/servlets/DefaultServlet$CompressionFormat;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // java.lang.String precompressed
        start local 2 // java.lang.String gzip
         0: .line 396
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* ret */
        start local 3 // java.util.List ret
         1: .line 397
            aload 1 /* precompressed */
            ifnull 11
            aload 1 /* precompressed */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            ifle 11
         2: .line 398
            aload 1 /* precompressed */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: org.apache.catalina.servlets.DefaultServlet java.lang.String java.lang.String java.util.List top int int java.lang.String[]
      StackMap stack:
         3: aload 7
            iload 5
            aaload
            astore 4 /* pair */
        start local 4 // java.lang.String pair
         4: .line 399
            aload 4 /* pair */
            ldc "="
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 8 /* setting */
        start local 8 // java.lang.String[] setting
         5: .line 400
            aload 8 /* setting */
            iconst_0
            aaload
            astore 9 /* encoding */
        start local 9 // java.lang.String encoding
         6: .line 401
            aload 8 /* setting */
            iconst_1
            aaload
            astore 10 /* extension */
        start local 10 // java.lang.String extension
         7: .line 402
            aload 3 /* ret */
            new org.apache.catalina.servlets.DefaultServlet$CompressionFormat
            dup
            aload 10 /* extension */
            aload 9 /* encoding */
            invokespecial org.apache.catalina.servlets.DefaultServlet$CompressionFormat.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // java.lang.String extension
        end local 9 // java.lang.String encoding
        end local 8 // java.lang.String[] setting
        end local 4 // java.lang.String pair
         8: .line 398
            iinc 5 1
      StackMap locals:
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 3
        10: .line 404
            goto 18
      StackMap locals: org.apache.catalina.servlets.DefaultServlet java.lang.String java.lang.String java.util.List
      StackMap stack:
        11: aload 1 /* precompressed */
            ifnull 16
        12: .line 405
            aload 1 /* precompressed */
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            ifeq 18
        13: .line 406
            aload 3 /* ret */
            new org.apache.catalina.servlets.DefaultServlet$CompressionFormat
            dup
            ldc ".br"
            ldc "br"
            invokespecial org.apache.catalina.servlets.DefaultServlet$CompressionFormat.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 407
            aload 3 /* ret */
            new org.apache.catalina.servlets.DefaultServlet$CompressionFormat
            dup
            ldc ".gz"
            ldc "gzip"
            invokespecial org.apache.catalina.servlets.DefaultServlet$CompressionFormat.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        15: .line 409
            goto 18
      StackMap locals:
      StackMap stack:
        16: aload 2 /* gzip */
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            ifeq 18
        17: .line 411
            aload 3 /* ret */
            new org.apache.catalina.servlets.DefaultServlet$CompressionFormat
            dup
            ldc ".gz"
            ldc "gzip"
            invokespecial org.apache.catalina.servlets.DefaultServlet$CompressionFormat.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 413
      StackMap locals:
      StackMap stack:
            aload 3 /* ret */
            iconst_0
            anewarray org.apache.catalina.servlets.DefaultServlet$CompressionFormat
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.apache.catalina.servlets.DefaultServlet$CompressionFormat[]
            areturn
        end local 3 // java.util.List ret
        end local 2 // java.lang.String gzip
        end local 1 // java.lang.String precompressed
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   19     1  precompressed  Ljava/lang/String;
            0   19     2           gzip  Ljava/lang/String;
            1   19     3            ret  Ljava/util/List<Lorg/apache/catalina/servlets/DefaultServlet$CompressionFormat;>;
            4    8     4           pair  Ljava/lang/String;
            5    8     8        setting  [Ljava/lang/String;
            6    8     9       encoding  Ljava/lang/String;
            7    8    10      extension  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      precompressed  
      gzip           

  protected java.lang.String getRelativePath(jakarta.servlet.http.HttpServletRequest);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
         0: .line 427
            aload 0 /* this */
            aload 1 /* request */
            iconst_0
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;Z)Ljava/lang/String;
            areturn
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    1     1  request  Ljakarta/servlet/http/HttpServletRequest;
    MethodParameters:
         Name  Flags
      request  

  protected java.lang.String getRelativePath(jakarta.servlet.http.HttpServletRequest, boolean);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Z)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // boolean allowEmptyPath
         0: .line 440
            aload 1 /* request */
            ldc "jakarta.servlet.include.request_uri"
            invokeinterface jakarta.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            ifnull 4
         1: .line 442
            aload 1 /* request */
            ldc "jakarta.servlet.include.path_info"
            invokeinterface jakarta.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* pathInfo */
        start local 4 // java.lang.String pathInfo
         2: .line 443
            aload 1 /* request */
            ldc "jakarta.servlet.include.servlet_path"
            invokeinterface jakarta.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* servletPath */
        start local 3 // java.lang.String servletPath
         3: .line 444
            goto 6
        end local 4 // java.lang.String pathInfo
        end local 3 // java.lang.String servletPath
         4: .line 445
      StackMap locals:
      StackMap stack:
            aload 1 /* request */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getPathInfo:()Ljava/lang/String;
            astore 4 /* pathInfo */
        start local 4 // java.lang.String pathInfo
         5: .line 446
            aload 1 /* request */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getServletPath:()Ljava/lang/String;
            astore 3 /* servletPath */
        start local 3 // java.lang.String servletPath
         6: .line 449
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 5 /* result */
        start local 5 // java.lang.StringBuilder result
         7: .line 450
            aload 3 /* servletPath */
            invokevirtual java.lang.String.length:()I
            ifle 9
         8: .line 451
            aload 5 /* result */
            aload 3 /* servletPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 453
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 4 /* pathInfo */
            ifnull 11
        10: .line 454
            aload 5 /* result */
            aload 4 /* pathInfo */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 456
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            invokevirtual java.lang.StringBuilder.length:()I
            ifne 13
            iload 2 /* allowEmptyPath */
            ifne 13
        12: .line 457
            aload 5 /* result */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        13: .line 460
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.lang.StringBuilder result
        end local 4 // java.lang.String pathInfo
        end local 3 // java.lang.String servletPath
        end local 2 // boolean allowEmptyPath
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   14     1         request  Ljakarta/servlet/http/HttpServletRequest;
            0   14     2  allowEmptyPath  Z
            3    4     3     servletPath  Ljava/lang/String;
            6   14     3     servletPath  Ljava/lang/String;
            2    4     4        pathInfo  Ljava/lang/String;
            5   14     4        pathInfo  Ljava/lang/String;
            7   14     5          result  Ljava/lang/StringBuilder;
    MethodParameters:
                Name  Flags
      request         
      allowEmptyPath  

  protected java.lang.String getPathPrefix(jakarta.servlet.http.HttpServletRequest);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
         0: .line 472
            aload 1 /* request */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getContextPath:()Ljava/lang/String;
            areturn
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    1     1  request  Ljakarta/servlet/http/HttpServletRequest;
    MethodParameters:
         Name  Flags
      request  final

  protected void service(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest req
        start local 2 // jakarta.servlet.http.HttpServletResponse resp
         0: .line 480
            aload 1 /* req */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getDispatcherType:()Ljakarta/servlet/DispatcherType;
            getstatic jakarta.servlet.DispatcherType.ERROR:Ljakarta/servlet/DispatcherType;
            if_acmpne 3
         1: .line 481
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.doGet:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
         2: .line 482
            goto 4
         3: .line 483
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            invokespecial jakarta.servlet.http.HttpServlet.service:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
         4: .line 485
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jakarta.servlet.http.HttpServletResponse resp
        end local 1 // jakarta.servlet.http.HttpServletRequest req
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    5     1   req  Ljakarta/servlet/http/HttpServletRequest;
            0    5     2  resp  Ljakarta/servlet/http/HttpServletResponse;
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
      Name  Flags
      req   
      resp  

  protected void doGet(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // jakarta.servlet.http.HttpServletResponse response
         0: .line 503
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            iconst_1
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.fileEncoding:Ljava/lang/String;
            invokevirtual org.apache.catalina.servlets.DefaultServlet.serveResource:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;ZLjava/lang/String;)V
         1: .line 505
            return
        end local 2 // jakarta.servlet.http.HttpServletResponse response
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    2     1   request  Ljakarta/servlet/http/HttpServletRequest;
            0    2     2  response  Ljakarta/servlet/http/HttpServletResponse;
    Exceptions:
      throws java.io.IOException, jakarta.servlet.ServletException
    MethodParameters:
          Name  Flags
      request   
      response  

  protected void doHead(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // jakarta.servlet.http.HttpServletResponse response
         0: .line 523
            getstatic jakarta.servlet.DispatcherType.INCLUDE:Ljakarta/servlet/DispatcherType;
            aload 1 /* request */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getDispatcherType:()Ljakarta/servlet/DispatcherType;
            invokevirtual jakarta.servlet.DispatcherType.equals:(Ljava/lang/Object;)Z
            istore 3 /* serveContent */
        start local 3 // boolean serveContent
         1: .line 524
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            iload 3 /* serveContent */
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.fileEncoding:Ljava/lang/String;
            invokevirtual org.apache.catalina.servlets.DefaultServlet.serveResource:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;ZLjava/lang/String;)V
         2: .line 525
            return
        end local 3 // boolean serveContent
        end local 2 // jakarta.servlet.http.HttpServletResponse response
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    3     1       request  Ljakarta/servlet/http/HttpServletRequest;
            0    3     2      response  Ljakarta/servlet/http/HttpServletResponse;
            1    3     3  serveContent  Z
    Exceptions:
      throws java.io.IOException, jakarta.servlet.ServletException
    MethodParameters:
          Name  Flags
      request   
      response  

  protected void doOptions(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest req
        start local 2 // jakarta.servlet.http.HttpServletResponse resp
         0: .line 551
            aload 2 /* resp */
            ldc "Allow"
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.determineMethodsAllowed:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
            invokeinterface jakarta.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 552
            return
        end local 2 // jakarta.servlet.http.HttpServletResponse resp
        end local 1 // jakarta.servlet.http.HttpServletRequest req
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    2     1   req  Ljakarta/servlet/http/HttpServletRequest;
            0    2     2  resp  Ljakarta/servlet/http/HttpServletResponse;
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
      Name  Flags
      req   
      resp  

  protected java.lang.String determineMethodsAllowed(jakarta.servlet.http.HttpServletRequest);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest req
         0: .line 556
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* allow */
        start local 2 // java.lang.StringBuilder allow
         1: .line 559
            aload 2 /* allow */
            ldc "OPTIONS, GET, HEAD, POST"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 562
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.readOnly:Z
            ifne 4
         3: .line 563
            aload 2 /* allow */
            ldc ", PUT, DELETE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 567
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* req */
            instanceof org.apache.catalina.connector.RequestFacade
            ifeq 7
         5: .line 568
            aload 1 /* req */
            checkcast org.apache.catalina.connector.RequestFacade
            invokevirtual org.apache.catalina.connector.RequestFacade.getAllowTrace:()Z
            ifeq 7
         6: .line 569
            aload 2 /* allow */
            ldc ", TRACE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 572
      StackMap locals:
      StackMap stack:
            aload 2 /* allow */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder allow
        end local 1 // jakarta.servlet.http.HttpServletRequest req
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    8     1    req  Ljakarta/servlet/http/HttpServletRequest;
            1    8     2  allow  Ljava/lang/StringBuilder;
    MethodParameters:
      Name  Flags
      req   

  protected void sendNotAllowed(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest req
        start local 2 // jakarta.servlet.http.HttpServletResponse resp
         0: .line 578
            aload 2 /* resp */
            ldc "Allow"
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.determineMethodsAllowed:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
            invokeinterface jakarta.servlet.http.HttpServletResponse.addHeader:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 579
            aload 2 /* resp */
            sipush 405
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
         2: .line 580
            return
        end local 2 // jakarta.servlet.http.HttpServletResponse resp
        end local 1 // jakarta.servlet.http.HttpServletRequest req
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    3     1   req  Ljakarta/servlet/http/HttpServletRequest;
            0    3     2  resp  Ljakarta/servlet/http/HttpServletResponse;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      req   
      resp  

  protected void doPost(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // jakarta.servlet.http.HttpServletResponse response
         0: .line 596
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.doGet:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
         1: .line 597
            return
        end local 2 // jakarta.servlet.http.HttpServletResponse response
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    2     1   request  Ljakarta/servlet/http/HttpServletRequest;
            0    2     2  response  Ljakarta/servlet/http/HttpServletResponse;
    Exceptions:
      throws java.io.IOException, jakarta.servlet.ServletException
    MethodParameters:
          Name  Flags
      request   
      response  

  protected void doPut(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest req
        start local 2 // jakarta.servlet.http.HttpServletResponse resp
         0: .line 613
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.readOnly:Z
            ifeq 3
         1: .line 614
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.sendNotAllowed:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
         2: .line 615
            return
         3: .line 618
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
            astore 3 /* path */
        start local 3 // java.lang.String path
         4: .line 620
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.resources:Lorg/apache/catalina/WebResourceRoot;
            aload 3 /* path */
            invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
            astore 4 /* resource */
        start local 4 // org.apache.catalina.WebResource resource
         5: .line 622
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.parseContentRange:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)Lorg/apache/tomcat/util/http/parser/ContentRange;
            astore 5 /* range */
        start local 5 // org.apache.tomcat.util.http.parser.ContentRange range
         6: .line 624
            aload 5 /* range */
            ifnonnull 8
         7: .line 626
            return
         8: .line 629
      StackMap locals: java.lang.String org.apache.catalina.WebResource org.apache.tomcat.util.http.parser.ContentRange
      StackMap stack:
            aconst_null
            astore 6 /* resourceInputStream */
        start local 6 // java.io.InputStream resourceInputStream
         9: .line 636
            aload 5 /* range */
            getstatic org.apache.catalina.servlets.DefaultServlet.IGNORE:Lorg/apache/tomcat/util/http/parser/ContentRange;
            if_acmpne 12
        10: .line 637
            aload 1 /* req */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getInputStream:()Ljakarta/servlet/ServletInputStream;
            astore 6 /* resourceInputStream */
        11: .line 638
            goto 14
        12: .line 639
      StackMap locals: java.io.InputStream
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            aload 5 /* range */
            aload 3 /* path */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.executePartialPut:(Ljakarta/servlet/http/HttpServletRequest;Lorg/apache/tomcat/util/http/parser/ContentRange;Ljava/lang/String;)Ljava/io/File;
            astore 7 /* contentFile */
        start local 7 // java.io.File contentFile
        13: .line 640
            new java.io.FileInputStream
            dup
            aload 7 /* contentFile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 6 /* resourceInputStream */
        end local 7 // java.io.File contentFile
        14: .line 643
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.resources:Lorg/apache/catalina/WebResourceRoot;
            aload 3 /* path */
            aload 6 /* resourceInputStream */
            iconst_1
            invokeinterface org.apache.catalina.WebResourceRoot.write:(Ljava/lang/String;Ljava/io/InputStream;Z)Z
            ifeq 20
        15: .line 644
            aload 4 /* resource */
            invokeinterface org.apache.catalina.WebResource.exists:()Z
            ifeq 18
        16: .line 645
            aload 2 /* resp */
            sipush 204
            invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
        17: .line 646
            goto 28
        18: .line 647
      StackMap locals:
      StackMap stack:
            aload 2 /* resp */
            sipush 201
            invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
        19: .line 649
            goto 28
        20: .line 650
      StackMap locals:
      StackMap stack:
            aload 2 /* resp */
            sipush 409
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
        21: .line 652
            goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 8
        23: .line 653
            aload 6 /* resourceInputStream */
            ifnull 27
        24: .line 655
            aload 6 /* resourceInputStream */
            invokevirtual java.io.InputStream.close:()V
        25: .line 656
            goto 27
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse java.lang.String org.apache.catalina.WebResource org.apache.tomcat.util.http.parser.ContentRange java.io.InputStream top java.lang.Throwable
      StackMap stack: java.io.IOException
        26: pop
        27: .line 660
      StackMap locals:
      StackMap stack:
            aload 8
            athrow
        28: .line 653
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse java.lang.String org.apache.catalina.WebResource org.apache.tomcat.util.http.parser.ContentRange java.io.InputStream
      StackMap stack:
            aload 6 /* resourceInputStream */
            ifnull 32
        29: .line 655
            aload 6 /* resourceInputStream */
            invokevirtual java.io.InputStream.close:()V
        30: .line 656
            goto 32
      StackMap locals:
      StackMap stack: java.io.IOException
        31: pop
        32: .line 661
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.io.InputStream resourceInputStream
        end local 5 // org.apache.tomcat.util.http.parser.ContentRange range
        end local 4 // org.apache.catalina.WebResource resource
        end local 3 // java.lang.String path
        end local 2 // jakarta.servlet.http.HttpServletResponse resp
        end local 1 // jakarta.servlet.http.HttpServletRequest req
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   33     0                 this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   33     1                  req  Ljakarta/servlet/http/HttpServletRequest;
            0   33     2                 resp  Ljakarta/servlet/http/HttpServletResponse;
            4   33     3                 path  Ljava/lang/String;
            5   33     4             resource  Lorg/apache/catalina/WebResource;
            6   33     5                range  Lorg/apache/tomcat/util/http/parser/ContentRange;
            9   33     6  resourceInputStream  Ljava/io/InputStream;
           13   14     7          contentFile  Ljava/io/File;
      Exception table:
        from    to  target  type
           9    22      22  any
          24    25      26  Class java.io.IOException
          29    30      31  Class java.io.IOException
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
      Name  Flags
      req   
      resp  

  protected java.io.File executePartialPut(jakarta.servlet.http.HttpServletRequest, org.apache.tomcat.util.http.parser.ContentRange, java.lang.String);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Lorg/apache/tomcat/util/http/parser/ContentRange;Ljava/lang/String;)Ljava/io/File;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=16, args_size=4
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest req
        start local 2 // org.apache.tomcat.util.http.parser.ContentRange range
        start local 3 // java.lang.String path
         0: .line 681
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletContext:()Ljakarta/servlet/ServletContext;
         1: .line 682
            ldc "jakarta.servlet.context.tempdir"
         2: .line 681
            invokeinterface jakarta.servlet.ServletContext.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.io.File
            astore 4 /* tempDir */
        start local 4 // java.io.File tempDir
         3: .line 684
            aload 3 /* path */
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 5 /* convertedResourcePath */
        start local 5 // java.lang.String convertedResourcePath
         4: .line 685
            new java.io.File
            dup
            aload 4 /* tempDir */
            aload 5 /* convertedResourcePath */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 6 /* contentFile */
        start local 6 // java.io.File contentFile
         5: .line 686
            aload 6 /* contentFile */
            invokevirtual java.io.File.createNewFile:()Z
            ifeq 7
         6: .line 688
            aload 6 /* contentFile */
            invokevirtual java.io.File.deleteOnExit:()V
         7: .line 691
      StackMap locals: java.io.File java.lang.String java.io.File
      StackMap stack:
            aconst_null
            astore 7
            aconst_null
            astore 8
         8: .line 692
            new java.io.RandomAccessFile
            dup
            aload 6 /* contentFile */
            ldc "rw"
            invokespecial java.io.RandomAccessFile.<init>:(Ljava/io/File;Ljava/lang/String;)V
         9: .line 691
            astore 9 /* randAccessContentFile */
        start local 9 // java.io.RandomAccessFile randAccessContentFile
        10: .line 694
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.resources:Lorg/apache/catalina/WebResourceRoot;
            aload 3 /* path */
            invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
            astore 10 /* oldResource */
        start local 10 // org.apache.catalina.WebResource oldResource
        11: .line 697
            aload 10 /* oldResource */
            invokeinterface org.apache.catalina.WebResource.isFile:()Z
            ifeq 28
        12: .line 698
            aconst_null
            astore 11
            aconst_null
            astore 12
        13: .line 699
            new java.io.BufferedInputStream
            dup
            aload 10 /* oldResource */
            invokeinterface org.apache.catalina.WebResource.getInputStream:()Ljava/io/InputStream;
        14: .line 700
            sipush 4096
        15: .line 699
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
        16: .line 698
            astore 13 /* bufOldRevStream */
        start local 13 // java.io.BufferedInputStream bufOldRevStream
        17: .line 703
            sipush 4096
            newarray 8
            astore 15 /* copyBuffer */
        start local 15 // byte[] copyBuffer
        18: .line 704
            goto 20
        start local 14 // int numBytesRead
        19: .line 705
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest org.apache.tomcat.util.http.parser.ContentRange java.lang.String java.io.File java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.io.RandomAccessFile org.apache.catalina.WebResource java.lang.Throwable java.lang.Throwable java.io.BufferedInputStream int byte[]
      StackMap stack:
            aload 9 /* randAccessContentFile */
            aload 15 /* copyBuffer */
            iconst_0
            iload 14 /* numBytesRead */
            invokevirtual java.io.RandomAccessFile.write:([BII)V
        end local 14 // int numBytesRead
        20: .line 704
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest org.apache.tomcat.util.http.parser.ContentRange java.lang.String java.io.File java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.io.RandomAccessFile org.apache.catalina.WebResource java.lang.Throwable java.lang.Throwable java.io.BufferedInputStream top byte[]
      StackMap stack:
            aload 13 /* bufOldRevStream */
            aload 15 /* copyBuffer */
            invokevirtual java.io.BufferedInputStream.read:([B)I
            dup
            istore 14 /* numBytesRead */
        start local 14 // int numBytesRead
        21: iconst_m1
            if_icmpne 19
        end local 15 // byte[] copyBuffer
        end local 14 // int numBytesRead
        22: .line 708
            aload 13 /* bufOldRevStream */
            ifnull 28
            aload 13 /* bufOldRevStream */
            invokevirtual java.io.BufferedInputStream.close:()V
            goto 28
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest org.apache.tomcat.util.http.parser.ContentRange java.lang.String java.io.File java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.io.RandomAccessFile org.apache.catalina.WebResource java.lang.Throwable java.lang.Throwable java.io.BufferedInputStream
      StackMap stack: java.lang.Throwable
        23: astore 11
            aload 13 /* bufOldRevStream */
            ifnull 24
            aload 13 /* bufOldRevStream */
            invokevirtual java.io.BufferedInputStream.close:()V
        end local 13 // java.io.BufferedInputStream bufOldRevStream
      StackMap locals:
      StackMap stack:
        24: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 12
            aload 11
            ifnonnull 26
            aload 12
            astore 11
            goto 27
      StackMap locals:
      StackMap stack:
        26: aload 11
            aload 12
            if_acmpeq 27
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        27: aload 11
            athrow
        28: .line 711
      StackMap locals:
      StackMap stack:
            aload 9 /* randAccessContentFile */
            aload 2 /* range */
            invokevirtual org.apache.tomcat.util.http.parser.ContentRange.getLength:()J
            invokevirtual java.io.RandomAccessFile.setLength:(J)V
        29: .line 714
            aload 9 /* randAccessContentFile */
            aload 2 /* range */
            invokevirtual org.apache.tomcat.util.http.parser.ContentRange.getStart:()J
            invokevirtual java.io.RandomAccessFile.seek:(J)V
        30: .line 716
            sipush 4096
            newarray 8
            astore 12 /* transferBuffer */
        start local 12 // byte[] transferBuffer
        31: .line 717
            aconst_null
            astore 13
            aconst_null
            astore 14
        32: .line 718
            new java.io.BufferedInputStream
            dup
            aload 1 /* req */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getInputStream:()Ljakarta/servlet/ServletInputStream;
            sipush 4096
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
        33: .line 717
            astore 15 /* requestBufInStream */
        start local 15 // java.io.BufferedInputStream requestBufInStream
        34: .line 719
            goto 36
        start local 11 // int numBytesRead
        35: .line 720
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest org.apache.tomcat.util.http.parser.ContentRange java.lang.String java.io.File java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.io.RandomAccessFile org.apache.catalina.WebResource int byte[] java.lang.Throwable java.lang.Throwable java.io.BufferedInputStream
      StackMap stack:
            aload 9 /* randAccessContentFile */
            aload 12 /* transferBuffer */
            iconst_0
            iload 11 /* numBytesRead */
            invokevirtual java.io.RandomAccessFile.write:([BII)V
        end local 11 // int numBytesRead
        36: .line 719
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest org.apache.tomcat.util.http.parser.ContentRange java.lang.String java.io.File java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.io.RandomAccessFile org.apache.catalina.WebResource top byte[] java.lang.Throwable java.lang.Throwable java.io.BufferedInputStream
      StackMap stack:
            aload 15 /* requestBufInStream */
            aload 12 /* transferBuffer */
            invokevirtual java.io.BufferedInputStream.read:([B)I
            dup
            istore 11 /* numBytesRead */
        start local 11 // int numBytesRead
        37: iconst_m1
            if_icmpne 35
        38: .line 722
            aload 15 /* requestBufInStream */
            ifnull 44
            aload 15 /* requestBufInStream */
            invokevirtual java.io.BufferedInputStream.close:()V
            goto 44
        end local 11 // int numBytesRead
      StackMap locals:
      StackMap stack: java.lang.Throwable
        39: astore 13
            aload 15 /* requestBufInStream */
            ifnull 40
            aload 15 /* requestBufInStream */
            invokevirtual java.io.BufferedInputStream.close:()V
        end local 15 // java.io.BufferedInputStream requestBufInStream
      StackMap locals:
      StackMap stack:
        40: aload 13
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        41: astore 14
            aload 13
            ifnonnull 42
            aload 14
            astore 13
            goto 43
      StackMap locals:
      StackMap stack:
        42: aload 13
            aload 14
            if_acmpeq 43
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        43: aload 13
            athrow
        end local 12 // byte[] transferBuffer
        end local 10 // org.apache.catalina.WebResource oldResource
        44: .line 723
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest org.apache.tomcat.util.http.parser.ContentRange java.lang.String java.io.File java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.io.RandomAccessFile
      StackMap stack:
            aload 9 /* randAccessContentFile */
            ifnull 50
            aload 9 /* randAccessContentFile */
            invokevirtual java.io.RandomAccessFile.close:()V
            goto 50
      StackMap locals:
      StackMap stack: java.lang.Throwable
        45: astore 7
            aload 9 /* randAccessContentFile */
            ifnull 46
            aload 9 /* randAccessContentFile */
            invokevirtual java.io.RandomAccessFile.close:()V
        end local 9 // java.io.RandomAccessFile randAccessContentFile
      StackMap locals:
      StackMap stack:
        46: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        47: astore 8
            aload 7
            ifnonnull 48
            aload 8
            astore 7
            goto 49
      StackMap locals:
      StackMap stack:
        48: aload 7
            aload 8
            if_acmpeq 49
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        49: aload 7
            athrow
        50: .line 725
      StackMap locals:
      StackMap stack:
            aload 6 /* contentFile */
            areturn
        end local 6 // java.io.File contentFile
        end local 5 // java.lang.String convertedResourcePath
        end local 4 // java.io.File tempDir
        end local 3 // java.lang.String path
        end local 2 // org.apache.tomcat.util.http.parser.ContentRange range
        end local 1 // jakarta.servlet.http.HttpServletRequest req
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   51     0                   this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   51     1                    req  Ljakarta/servlet/http/HttpServletRequest;
            0   51     2                  range  Lorg/apache/tomcat/util/http/parser/ContentRange;
            0   51     3                   path  Ljava/lang/String;
            3   51     4                tempDir  Ljava/io/File;
            4   51     5  convertedResourcePath  Ljava/lang/String;
            5   51     6            contentFile  Ljava/io/File;
           10   46     9  randAccessContentFile  Ljava/io/RandomAccessFile;
           11   44    10            oldResource  Lorg/apache/catalina/WebResource;
           17   24    13        bufOldRevStream  Ljava/io/BufferedInputStream;
           19   20    14           numBytesRead  I
           21   22    14           numBytesRead  I
           18   22    15             copyBuffer  [B
           35   36    11           numBytesRead  I
           37   39    11           numBytesRead  I
           31   44    12         transferBuffer  [B
           34   40    15     requestBufInStream  Ljava/io/BufferedInputStream;
      Exception table:
        from    to  target  type
          17    22      23  any
          13    25      25  any
          34    38      39  any
          32    41      41  any
          10    44      45  any
           8    47      47  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      req    
      range  
      path   

  protected void doDelete(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest req
        start local 2 // jakarta.servlet.http.HttpServletResponse resp
         0: .line 742
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.readOnly:Z
            ifeq 3
         1: .line 743
            aload 0 /* this */
            aload 1 /* req */
            aload 2 /* resp */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.sendNotAllowed:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
         2: .line 744
            return
         3: .line 747
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* req */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
            astore 3 /* path */
        start local 3 // java.lang.String path
         4: .line 749
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.resources:Lorg/apache/catalina/WebResourceRoot;
            aload 3 /* path */
            invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
            astore 4 /* resource */
        start local 4 // org.apache.catalina.WebResource resource
         5: .line 751
            aload 4 /* resource */
            invokeinterface org.apache.catalina.WebResource.exists:()Z
            ifeq 11
         6: .line 752
            aload 4 /* resource */
            invokeinterface org.apache.catalina.WebResource.delete:()Z
            ifeq 9
         7: .line 753
            aload 2 /* resp */
            sipush 204
            invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
         8: .line 754
            goto 12
         9: .line 755
      StackMap locals: java.lang.String org.apache.catalina.WebResource
      StackMap stack:
            aload 2 /* resp */
            sipush 405
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
        10: .line 757
            goto 12
        11: .line 758
      StackMap locals:
      StackMap stack:
            aload 2 /* resp */
            sipush 404
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
        12: .line 761
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.apache.catalina.WebResource resource
        end local 3 // java.lang.String path
        end local 2 // jakarta.servlet.http.HttpServletResponse resp
        end local 1 // jakarta.servlet.http.HttpServletRequest req
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   13     1       req  Ljakarta/servlet/http/HttpServletRequest;
            0   13     2      resp  Ljakarta/servlet/http/HttpServletResponse;
            4   13     3      path  Ljava/lang/String;
            5   13     4  resource  Lorg/apache/catalina/WebResource;
    Exceptions:
      throws jakarta.servlet.ServletException, java.io.IOException
    MethodParameters:
      Name  Flags
      req   
      resp  

  protected boolean checkIfHeaders(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, org.apache.catalina.WebResource);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/apache/catalina/WebResource;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // jakarta.servlet.http.HttpServletResponse response
        start local 3 // org.apache.catalina.WebResource resource
         0: .line 781
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            aload 3 /* resource */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.checkIfMatch:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/apache/catalina/WebResource;)Z
            ifeq 5
         1: .line 782
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            aload 3 /* resource */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.checkIfModifiedSince:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/apache/catalina/WebResource;)Z
            ifeq 5
         2: .line 783
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            aload 3 /* resource */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.checkIfNoneMatch:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/apache/catalina/WebResource;)Z
            ifeq 5
         3: .line 784
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            aload 3 /* resource */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.checkIfUnmodifiedSince:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/apache/catalina/WebResource;)Z
            ifeq 5
         4: .line 781
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 3 // org.apache.catalina.WebResource resource
        end local 2 // jakarta.servlet.http.HttpServletResponse response
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    6     1   request  Ljakarta/servlet/http/HttpServletRequest;
            0    6     2  response  Ljakarta/servlet/http/HttpServletResponse;
            0    6     3  resource  Lorg/apache/catalina/WebResource;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      request   
      response  
      resource  

  protected java.lang.String rewriteUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // java.lang.String path
         0: .line 796
            getstatic org.apache.catalina.util.URLEncoder.DEFAULT:Lorg/apache/catalina/util/URLEncoder;
            aload 1 /* path */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual org.apache.catalina.util.URLEncoder.encode:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String path
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    1     1  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  protected void serveResource(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, boolean, java.lang.String);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;ZLjava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=33, args_size=5
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // jakarta.servlet.http.HttpServletResponse response
        start local 3 // boolean content
        start local 4 // java.lang.String inputEncoding
         0: .line 818
            iload 3 /* content */
            istore 5 /* serveContent */
        start local 5 // boolean serveContent
         1: .line 821
            aload 0 /* this */
            aload 1 /* request */
            iconst_1
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getRelativePath:(Ljakarta/servlet/http/HttpServletRequest;Z)Ljava/lang/String;
            astore 6 /* path */
        start local 6 // java.lang.String path
         2: .line 823
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.debug:I
            ifle 11
         3: .line 824
            iload 5 /* serveContent */
            ifeq 8
         4: .line 825
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "DefaultServlet.serveResource:  Serving resource '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 826
            aload 6 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' headers and data"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 825
            invokevirtual org.apache.catalina.servlets.DefaultServlet.log:(Ljava/lang/String;)V
         7: .line 826
            goto 11
         8: .line 828
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "DefaultServlet.serveResource:  Serving resource '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 829
            aload 6 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' headers only"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 828
            invokevirtual org.apache.catalina.servlets.DefaultServlet.log:(Ljava/lang/String;)V
        11: .line 832
      StackMap locals:
      StackMap stack:
            aload 6 /* path */
            invokevirtual java.lang.String.length:()I
            ifne 14
        12: .line 834
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.doDirectoryRedirect:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
        13: .line 835
            return
        14: .line 838
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.resources:Lorg/apache/catalina/WebResourceRoot;
            aload 6 /* path */
            invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
            astore 7 /* resource */
        start local 7 // org.apache.catalina.WebResource resource
        15: .line 839
            getstatic jakarta.servlet.DispatcherType.ERROR:Ljakarta/servlet/DispatcherType;
            aload 1 /* request */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getDispatcherType:()Ljakarta/servlet/DispatcherType;
            if_acmpne 16
            iconst_1
            goto 17
      StackMap locals: org.apache.catalina.WebResource
      StackMap stack:
        16: iconst_0
      StackMap locals:
      StackMap stack: int
        17: istore 8 /* isError */
        start local 8 // boolean isError
        18: .line 841
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.exists:()Z
            ifne 39
        19: .line 844
            aload 1 /* request */
        20: .line 845
            ldc "jakarta.servlet.include.request_uri"
        21: .line 844
            invokeinterface jakarta.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* requestUri */
        start local 9 // java.lang.String requestUri
        22: .line 846
            aload 9 /* requestUri */
            ifnonnull 25
        23: .line 847
            aload 1 /* request */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getRequestURI:()Ljava/lang/String;
            astore 9 /* requestUri */
        24: .line 848
            goto 28
        25: .line 851
      StackMap locals: int java.lang.String
      StackMap stack:
            new java.io.FileNotFoundException
            dup
            getstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
        26: .line 852
            ldc "defaultServlet.missingResource"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* requestUri */
            aastore
        27: .line 851
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 855
      StackMap locals:
      StackMap stack:
            iload 8 /* isError */
            ifeq 35
        29: .line 856
            aload 2 /* response */
            aload 1 /* request */
        30: .line 857
            ldc "jakarta.servlet.error.status_code"
        31: .line 856
            invokeinterface jakarta.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Integer
        32: .line 857
            invokevirtual java.lang.Integer.intValue:()I
        33: .line 856
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
        34: .line 858
            goto 38
        35: .line 859
      StackMap locals:
      StackMap stack:
            aload 2 /* response */
            sipush 404
        36: .line 860
            getstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "defaultServlet.missingResource"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* requestUri */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        37: .line 859
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(ILjava/lang/String;)V
        38: .line 862
      StackMap locals:
      StackMap stack:
            return
        end local 9 // java.lang.String requestUri
        39: .line 865
      StackMap locals:
      StackMap stack:
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.canRead:()Z
            ifne 58
        40: .line 868
            aload 1 /* request */
        41: .line 869
            ldc "jakarta.servlet.include.request_uri"
        42: .line 868
            invokeinterface jakarta.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* requestUri */
        start local 9 // java.lang.String requestUri
        43: .line 870
            aload 9 /* requestUri */
            ifnonnull 46
        44: .line 871
            aload 1 /* request */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getRequestURI:()Ljava/lang/String;
            astore 9 /* requestUri */
        45: .line 872
            goto 49
        46: .line 876
      StackMap locals: java.lang.String
      StackMap stack:
            new java.io.FileNotFoundException
            dup
            getstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
        47: .line 877
            ldc "defaultServlet.missingResource"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* requestUri */
            aastore
        48: .line 876
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        49: .line 880
      StackMap locals:
      StackMap stack:
            iload 8 /* isError */
            ifeq 56
        50: .line 881
            aload 2 /* response */
            aload 1 /* request */
        51: .line 882
            ldc "jakarta.servlet.error.status_code"
        52: .line 881
            invokeinterface jakarta.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Integer
        53: .line 882
            invokevirtual java.lang.Integer.intValue:()I
        54: .line 881
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
        55: .line 883
            goto 57
        56: .line 884
      StackMap locals:
      StackMap stack:
            aload 2 /* response */
            sipush 403
            aload 9 /* requestUri */
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(ILjava/lang/String;)V
        57: .line 886
      StackMap locals:
      StackMap stack:
            return
        end local 9 // java.lang.String requestUri
        58: .line 889
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* included */
        start local 9 // boolean included
        59: .line 892
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.isFile:()Z
            ifeq 67
        60: .line 894
            aload 1 /* request */
        61: .line 895
            ldc "jakarta.servlet.include.context_path"
        62: .line 894
            invokeinterface jakarta.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            ifnull 63
            iconst_1
            goto 64
      StackMap locals: int
      StackMap stack:
        63: iconst_0
      StackMap locals:
      StackMap stack: int
        64: istore 9 /* included */
        65: .line 896
            iload 9 /* included */
            ifne 67
            iload 8 /* isError */
            ifne 67
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            aload 7 /* resource */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.checkIfHeaders:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/apache/catalina/WebResource;)Z
            ifne 67
        66: .line 897
            return
        67: .line 902
      StackMap locals:
      StackMap stack:
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.getMimeType:()Ljava/lang/String;
            astore 10 /* contentType */
        start local 10 // java.lang.String contentType
        68: .line 903
            aload 10 /* contentType */
            ifnonnull 71
        69: .line 904
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletContext:()Ljakarta/servlet/ServletContext;
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.getName:()Ljava/lang/String;
            invokeinterface jakarta.servlet.ServletContext.getMimeType:(Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* contentType */
        70: .line 905
            aload 7 /* resource */
            aload 10 /* contentType */
            invokeinterface org.apache.catalina.WebResource.setMimeType:(Ljava/lang/String;)V
        71: .line 911
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
            astore 11 /* eTag */
        start local 11 // java.lang.String eTag
        72: .line 912
            aconst_null
            astore 12 /* lastModifiedHttp */
        start local 12 // java.lang.String lastModifiedHttp
        73: .line 913
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.isFile:()Z
            ifeq 76
            iload 8 /* isError */
            ifne 76
        74: .line 914
            aload 0 /* this */
            aload 7 /* resource */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.generateETag:(Lorg/apache/catalina/WebResource;)Ljava/lang/String;
            astore 11 /* eTag */
        75: .line 915
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.getLastModifiedHttp:()Ljava/lang/String;
            astore 12 /* lastModifiedHttp */
        76: .line 920
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            iconst_0
            istore 13 /* usingPrecompressedVersion */
        start local 13 // boolean usingPrecompressedVersion
        77: .line 921
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.compressionFormats:[Lorg/apache/catalina/servlets/DefaultServlet$CompressionFormat;
            arraylength
            ifle 89
            iload 9 /* included */
            ifne 89
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.isFile:()Z
            ifeq 89
        78: .line 922
            aload 0 /* this */
            aload 6 /* path */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.pathEndsWithCompressedExtension:(Ljava/lang/String;)Z
            ifne 89
        79: .line 924
            aload 0 /* this */
            aload 6 /* path */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getAvailablePrecompressedResources:(Ljava/lang/String;)Ljava/util/List;
        80: .line 923
            astore 14 /* precompressedResources */
        start local 14 // java.util.List precompressedResources
        81: .line 925
            aload 14 /* precompressedResources */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 89
        82: .line 926
            aload 2 /* response */
            ldc "accept-encoding"
            invokestatic org.apache.tomcat.util.http.ResponseUtil.addVaryFieldName:(Ljakarta/servlet/http/HttpServletResponse;Ljava/lang/String;)V
        83: .line 928
            aload 0 /* this */
            aload 1 /* request */
            aload 14 /* precompressedResources */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getBestPrecompressedResource:(Ljakarta/servlet/http/HttpServletRequest;Ljava/util/List;)Lorg/apache/catalina/servlets/DefaultServlet$PrecompressedResource;
        84: .line 927
            astore 15 /* bestResource */
        start local 15 // org.apache.catalina.servlets.DefaultServlet$PrecompressedResource bestResource
        85: .line 929
            aload 15 /* bestResource */
            ifnull 89
        86: .line 930
            aload 2 /* response */
            ldc "Content-Encoding"
            aload 15 /* bestResource */
            getfield org.apache.catalina.servlets.DefaultServlet$PrecompressedResource.format:Lorg/apache/catalina/servlets/DefaultServlet$CompressionFormat;
            getfield org.apache.catalina.servlets.DefaultServlet$CompressionFormat.encoding:Ljava/lang/String;
            invokeinterface jakarta.servlet.http.HttpServletResponse.addHeader:(Ljava/lang/String;Ljava/lang/String;)V
        87: .line 931
            aload 15 /* bestResource */
            getfield org.apache.catalina.servlets.DefaultServlet$PrecompressedResource.resource:Lorg/apache/catalina/WebResource;
            astore 7 /* resource */
        88: .line 932
            iconst_1
            istore 13 /* usingPrecompressedVersion */
        end local 15 // org.apache.catalina.servlets.DefaultServlet$PrecompressedResource bestResource
        end local 14 // java.util.List precompressedResources
        89: .line 937
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.catalina.servlets.DefaultServlet.FULL:Lorg/apache/tomcat/util/http/parser/Ranges;
            astore 14 /* ranges */
        start local 14 // org.apache.tomcat.util.http.parser.Ranges ranges
        90: .line 938
            ldc -1
            lstore 15 /* contentLength */
        start local 15 // long contentLength
        91: .line 940
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
            ifeq 102
        92: .line 941
            aload 6 /* path */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 95
        93: .line 942
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.doDirectoryRedirect:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
        94: .line 943
            return
        95: .line 948
      StackMap locals: org.apache.tomcat.util.http.parser.Ranges long
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.listings:Z
            ifne 100
        96: .line 949
            aload 2 /* response */
            sipush 404
        97: .line 950
            getstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "defaultServlet.missingResource"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* request */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getRequestURI:()Ljava/lang/String;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        98: .line 949
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(ILjava/lang/String;)V
        99: .line 951
            return
       100: .line 953
      StackMap locals:
      StackMap stack:
            ldc "text/html;charset=UTF-8"
            astore 10 /* contentType */
       101: .line 954
            goto 113
       102: .line 955
      StackMap locals:
      StackMap stack:
            iload 8 /* isError */
            ifne 110
       103: .line 956
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.useAcceptRanges:Z
            ifeq 105
       104: .line 958
            aload 2 /* response */
            ldc "Accept-Ranges"
            ldc "bytes"
            invokeinterface jakarta.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
       105: .line 962
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            aload 7 /* resource */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.parseRange:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/apache/catalina/WebResource;)Lorg/apache/tomcat/util/http/parser/Ranges;
            astore 14 /* ranges */
       106: .line 963
            aload 14 /* ranges */
            ifnonnull 108
       107: .line 964
            return
       108: .line 968
      StackMap locals:
      StackMap stack:
            aload 2 /* response */
            ldc "ETag"
            aload 11 /* eTag */
            invokeinterface jakarta.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
       109: .line 971
            aload 2 /* response */
            ldc "Last-Modified"
            aload 12 /* lastModifiedHttp */
            invokeinterface jakarta.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
       110: .line 975
      StackMap locals:
      StackMap stack:
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.getContentLength:()J
            lstore 15 /* contentLength */
       111: .line 978
            lload 15 /* contentLength */
            lconst_0
            lcmp
            ifne 113
       112: .line 979
            iconst_0
            istore 5 /* serveContent */
       113: .line 983
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 17 /* ostream */
        start local 17 // jakarta.servlet.ServletOutputStream ostream
       114: .line 984
            aconst_null
            astore 18 /* writer */
        start local 18 // java.io.PrintWriter writer
       115: .line 986
            iload 5 /* serveContent */
            ifeq 124
       116: .line 989
            aload 2 /* response */
            invokeinterface jakarta.servlet.http.HttpServletResponse.getOutputStream:()Ljakarta/servlet/ServletOutputStream;
            astore 17 /* ostream */
       117: .line 990
            goto 124
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse int java.lang.String int java.lang.String org.apache.catalina.WebResource int int java.lang.String java.lang.String java.lang.String int org.apache.tomcat.util.http.parser.Ranges long jakarta.servlet.ServletOutputStream java.io.PrintWriter
      StackMap stack: java.lang.IllegalStateException
       118: astore 19 /* e */
        start local 19 // java.lang.IllegalStateException e
       119: .line 993
            iload 13 /* usingPrecompressedVersion */
            ifne 123
            aload 10 /* contentType */
            invokestatic org.apache.catalina.servlets.DefaultServlet.isText:(Ljava/lang/String;)Z
            ifeq 123
       120: .line 994
            aload 2 /* response */
            invokeinterface jakarta.servlet.http.HttpServletResponse.getWriter:()Ljava/io/PrintWriter;
            astore 18 /* writer */
       121: .line 996
            getstatic org.apache.catalina.servlets.DefaultServlet.FULL:Lorg/apache/tomcat/util/http/parser/Ranges;
            astore 14 /* ranges */
       122: .line 997
            goto 124
       123: .line 998
      StackMap locals: java.lang.IllegalStateException
      StackMap stack:
            aload 19 /* e */
            athrow
        end local 19 // java.lang.IllegalStateException e
       124: .line 1006
      StackMap locals:
      StackMap stack:
            aload 2 /* response */
            astore 19 /* r */
        start local 19 // jakarta.servlet.ServletResponse r
       125: .line 1007
            lconst_0
            lstore 20 /* contentWritten */
        start local 20 // long contentWritten
       126: .line 1008
            goto 128
       127: .line 1009
      StackMap locals: jakarta.servlet.ServletResponse long
      StackMap stack:
            aload 19 /* r */
            checkcast jakarta.servlet.ServletResponseWrapper
            invokevirtual jakarta.servlet.ServletResponseWrapper.getResponse:()Ljakarta/servlet/ServletResponse;
            astore 19 /* r */
       128: .line 1008
      StackMap locals:
      StackMap stack:
            aload 19 /* r */
            instanceof jakarta.servlet.ServletResponseWrapper
            ifne 127
       129: .line 1011
            aload 19 /* r */
            instanceof org.apache.catalina.connector.ResponseFacade
            ifeq 131
       130: .line 1012
            aload 19 /* r */
            checkcast org.apache.catalina.connector.ResponseFacade
            invokevirtual org.apache.catalina.connector.ResponseFacade.getContentWritten:()J
            lstore 20 /* contentWritten */
       131: .line 1014
      StackMap locals:
      StackMap stack:
            lload 20 /* contentWritten */
            lconst_0
            lcmp
            ifle 133
       132: .line 1015
            getstatic org.apache.catalina.servlets.DefaultServlet.FULL:Lorg/apache/tomcat/util/http/parser/Ranges;
            astore 14 /* ranges */
       133: .line 1018
      StackMap locals:
      StackMap stack:
            aload 2 /* response */
            invokeinterface jakarta.servlet.http.HttpServletResponse.getCharacterEncoding:()Ljava/lang/String;
            astore 22 /* outputEncoding */
        start local 22 // java.lang.String outputEncoding
       134: .line 1019
            aload 22 /* outputEncoding */
            invokestatic org.apache.tomcat.util.buf.B2CConverter.getCharset:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            astore 23 /* charset */
        start local 23 // java.nio.charset.Charset charset
       135: .line 1032
            aload 22 /* outputEncoding */
            getstatic org.apache.coyote.Constants.DEFAULT_BODY_CHARSET:Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            if_acmpeq 138
       136: .line 1033
            aload 22 /* outputEncoding */
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.resources:Lorg/apache/catalina/WebResourceRoot;
            invokeinterface org.apache.catalina.WebResourceRoot.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getResponseCharacterEncoding:()Ljava/lang/String;
            if_acmpeq 138
       137: .line 1031
            iconst_1
            goto 139
      StackMap locals: java.lang.String java.nio.charset.Charset
      StackMap stack:
       138: iconst_0
      StackMap locals:
      StackMap stack: int
       139: istore 25 /* outputEncodingSpecified */
        start local 25 // boolean outputEncodingSpecified
       140: .line 1034
            iload 13 /* usingPrecompressedVersion */
            ifne 145
            aload 10 /* contentType */
            invokestatic org.apache.catalina.servlets.DefaultServlet.isText:(Ljava/lang/String;)Z
            ifeq 145
            iload 25 /* outputEncodingSpecified */
            ifeq 145
       141: .line 1035
            aload 23 /* charset */
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.fileEncodingCharset:Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.equals:(Ljava/lang/Object;)Z
            ifne 145
       142: .line 1036
            iconst_1
            istore 24 /* conversionRequired */
        start local 24 // boolean conversionRequired
       143: .line 1039
            getstatic org.apache.catalina.servlets.DefaultServlet.FULL:Lorg/apache/tomcat/util/http/parser/Ranges;
            astore 14 /* ranges */
       144: .line 1040
            goto 146
        end local 24 // boolean conversionRequired
       145: .line 1041
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse int java.lang.String int java.lang.String org.apache.catalina.WebResource int int java.lang.String java.lang.String java.lang.String int org.apache.tomcat.util.http.parser.Ranges long jakarta.servlet.ServletOutputStream java.io.PrintWriter jakarta.servlet.ServletResponse long java.lang.String java.nio.charset.Charset top int
      StackMap stack:
            iconst_0
            istore 24 /* conversionRequired */
        start local 24 // boolean conversionRequired
       146: .line 1044
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse int java.lang.String int java.lang.String org.apache.catalina.WebResource int int java.lang.String java.lang.String java.lang.String int org.apache.tomcat.util.http.parser.Ranges long jakarta.servlet.ServletOutputStream java.io.PrintWriter jakarta.servlet.ServletResponse long java.lang.String java.nio.charset.Charset int int
      StackMap stack:
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
            ifne 147
            iload 8 /* isError */
            ifne 147
            aload 14 /* ranges */
            getstatic org.apache.catalina.servlets.DefaultServlet.FULL:Lorg/apache/tomcat/util/http/parser/Ranges;
            if_acmpne 209
       147: .line 1046
      StackMap locals:
      StackMap stack:
            aload 10 /* contentType */
            ifnull 154
       148: .line 1047
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.debug:I
            ifle 152
       149: .line 1048
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "DefaultServlet.serveFile:  contentType='"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       150: .line 1049
            aload 10 /* contentType */
            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;
       151: .line 1048
            invokevirtual org.apache.catalina.servlets.DefaultServlet.log:(Ljava/lang/String;)V
       152: .line 1051
      StackMap locals:
      StackMap stack:
            aload 2 /* response */
            invokeinterface jakarta.servlet.http.HttpServletResponse.getContentType:()Ljava/lang/String;
            ifnonnull 154
       153: .line 1052
            aload 2 /* response */
            aload 10 /* contentType */
            invokeinterface jakarta.servlet.http.HttpServletResponse.setContentType:(Ljava/lang/String;)V
       154: .line 1055
      StackMap locals:
      StackMap stack:
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.isFile:()Z
            ifeq 162
            lload 15 /* contentLength */
            lconst_0
            lcmp
            iflt 162
       155: .line 1056
            iload 5 /* serveContent */
            ifeq 156
            aload 17 /* ostream */
            ifnull 162
       156: .line 1057
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.debug:I
            ifle 160
       157: .line 1058
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "DefaultServlet.serveFile:  contentLength="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       158: .line 1059
            lload 15 /* contentLength */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       159: .line 1058
            invokevirtual org.apache.catalina.servlets.DefaultServlet.log:(Ljava/lang/String;)V
       160: .line 1062
      StackMap locals:
      StackMap stack:
            lload 20 /* contentWritten */
            lconst_0
            lcmp
            ifne 162
            iload 24 /* conversionRequired */
            ifne 162
       161: .line 1063
            aload 2 /* response */
            lload 15 /* contentLength */
            invokeinterface jakarta.servlet.http.HttpServletResponse.setContentLengthLong:(J)V
       162: .line 1067
      StackMap locals:
      StackMap stack:
            iload 5 /* serveContent */
            ifeq 248
       163: .line 1069
            aload 2 /* response */
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.output:I
            invokeinterface jakarta.servlet.http.HttpServletResponse.setBufferSize:(I)V
       164: .line 1070
            goto 166
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
       165: pop
       166: .line 1073
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 26 /* renderResult */
        start local 26 // java.io.InputStream renderResult
       167: .line 1074
            aload 17 /* ostream */
            ifnonnull 180
       168: .line 1077
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
            ifeq 171
       169: .line 1078
            aload 0 /* this */
            aload 1 /* request */
            aload 0 /* this */
            aload 1 /* request */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getPathPrefix:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
            aload 7 /* resource */
            aload 4 /* inputEncoding */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.render:(Ljakarta/servlet/http/HttpServletRequest;Ljava/lang/String;Lorg/apache/catalina/WebResource;Ljava/lang/String;)Ljava/io/InputStream;
            astore 26 /* renderResult */
       170: .line 1079
            goto 178
       171: .line 1080
      StackMap locals: java.io.InputStream
      StackMap stack:
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.getInputStream:()Ljava/io/InputStream;
            astore 26 /* renderResult */
       172: .line 1081
            iload 9 /* included */
            ifeq 178
       173: .line 1083
            aload 26 /* renderResult */
            invokevirtual java.io.InputStream.markSupported:()Z
            ifne 175
       174: .line 1084
            new java.io.BufferedInputStream
            dup
            aload 26 /* renderResult */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 26 /* renderResult */
       175: .line 1086
      StackMap locals:
      StackMap stack:
            aload 26 /* renderResult */
            invokestatic org.apache.catalina.servlets.DefaultServlet.processBom:(Ljava/io/InputStream;)Ljava/nio/charset/Charset;
            astore 27 /* bomCharset */
        start local 27 // java.nio.charset.Charset bomCharset
       176: .line 1087
            aload 27 /* bomCharset */
            ifnull 178
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.useBomIfPresent:Z
            ifeq 178
       177: .line 1088
            aload 27 /* bomCharset */
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            astore 4 /* inputEncoding */
        end local 27 // java.nio.charset.Charset bomCharset
       178: .line 1092
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 26 /* renderResult */
            aload 18 /* writer */
            aload 4 /* inputEncoding */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.copy:(Ljava/io/InputStream;Ljava/io/PrintWriter;Ljava/lang/String;)V
       179: .line 1093
            goto 248
       180: .line 1095
      StackMap locals:
      StackMap stack:
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
            ifeq 183
       181: .line 1096
            aload 0 /* this */
            aload 1 /* request */
            aload 0 /* this */
            aload 1 /* request */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getPathPrefix:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
            aload 7 /* resource */
            aload 4 /* inputEncoding */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.render:(Ljakarta/servlet/http/HttpServletRequest;Ljava/lang/String;Lorg/apache/catalina/WebResource;Ljava/lang/String;)Ljava/io/InputStream;
            astore 26 /* renderResult */
       182: .line 1097
            goto 206
       183: .line 1100
      StackMap locals:
      StackMap stack:
            iload 24 /* conversionRequired */
            ifne 184
            iload 9 /* included */
            ifeq 198
       184: .line 1104
      StackMap locals:
      StackMap stack:
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.getInputStream:()Ljava/io/InputStream;
            astore 27 /* source */
        start local 27 // java.io.InputStream source
       185: .line 1105
            aload 27 /* source */
            invokevirtual java.io.InputStream.markSupported:()Z
            ifne 187
       186: .line 1106
            new java.io.BufferedInputStream
            dup
            aload 27 /* source */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 27 /* source */
       187: .line 1108
      StackMap locals: java.io.InputStream
      StackMap stack:
            aload 27 /* source */
            invokestatic org.apache.catalina.servlets.DefaultServlet.processBom:(Ljava/io/InputStream;)Ljava/nio/charset/Charset;
            astore 28 /* bomCharset */
        start local 28 // java.nio.charset.Charset bomCharset
       188: .line 1109
            aload 28 /* bomCharset */
            ifnull 190
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.useBomIfPresent:Z
            ifeq 190
       189: .line 1110
            aload 28 /* bomCharset */
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            astore 4 /* inputEncoding */
       190: .line 1115
      StackMap locals: java.nio.charset.Charset
      StackMap stack:
            iload 25 /* outputEncodingSpecified */
            ifeq 196
       191: .line 1116
            new java.io.OutputStreamWriter
            dup
            aload 17 /* ostream */
            aload 23 /* charset */
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
            astore 29 /* osw */
        start local 29 // java.io.OutputStreamWriter osw
       192: .line 1117
            new java.io.PrintWriter
            dup
            aload 29 /* osw */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            astore 30 /* pw */
        start local 30 // java.io.PrintWriter pw
       193: .line 1118
            aload 0 /* this */
            aload 27 /* source */
            aload 30 /* pw */
            aload 4 /* inputEncoding */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.copy:(Ljava/io/InputStream;Ljava/io/PrintWriter;Ljava/lang/String;)V
       194: .line 1119
            aload 30 /* pw */
            invokevirtual java.io.PrintWriter.flush:()V
        end local 30 // java.io.PrintWriter pw
        end local 29 // java.io.OutputStreamWriter osw
       195: .line 1120
            goto 206
       196: .line 1122
      StackMap locals:
      StackMap stack:
            aload 27 /* source */
            astore 26 /* renderResult */
        end local 28 // java.nio.charset.Charset bomCharset
        end local 27 // java.io.InputStream source
       197: .line 1124
            goto 206
       198: .line 1125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            aload 7 /* resource */
            lload 15 /* contentLength */
            aconst_null
            invokevirtual org.apache.catalina.servlets.DefaultServlet.checkSendfile:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/apache/catalina/WebResource;JLorg/apache/tomcat/util/http/parser/Ranges$Entry;)Z
            ifne 206
       199: .line 1132
            aconst_null
            astore 27 /* resourceBody */
        start local 27 // byte[] resourceBody
       200: .line 1133
            aload 7 /* resource */
            instanceof org.apache.catalina.webresources.CachedResource
            ifeq 202
       201: .line 1134
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.getContent:()[B
            astore 27 /* resourceBody */
       202: .line 1136
      StackMap locals: byte[]
      StackMap stack:
            aload 27 /* resourceBody */
            ifnonnull 205
       203: .line 1139
            aload 7 /* resource */
            invokeinterface org.apache.catalina.WebResource.getInputStream:()Ljava/io/InputStream;
            astore 26 /* renderResult */
       204: .line 1140
            goto 206
       205: .line 1142
      StackMap locals:
      StackMap stack:
            aload 17 /* ostream */
            aload 27 /* resourceBody */
            invokevirtual jakarta.servlet.ServletOutputStream.write:([B)V
        end local 27 // byte[] resourceBody
       206: .line 1149
      StackMap locals:
      StackMap stack:
            aload 26 /* renderResult */
            ifnull 248
       207: .line 1150
            aload 0 /* this */
            aload 26 /* renderResult */
            aload 17 /* ostream */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.copy:(Ljava/io/InputStream;Ljakarta/servlet/ServletOutputStream;)V
        end local 26 // java.io.InputStream renderResult
       208: .line 1155
            goto 248
       209: .line 1157
      StackMap locals:
      StackMap stack:
            aload 14 /* ranges */
            ifnull 210
            aload 14 /* ranges */
            invokevirtual org.apache.tomcat.util.http.parser.Ranges.getEntries:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 211
       210: .line 1158
      StackMap locals:
      StackMap stack:
            return
       211: .line 1162
      StackMap locals:
      StackMap stack:
            aload 2 /* response */
            sipush 206
            invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
       212: .line 1164
            aload 14 /* ranges */
            invokevirtual org.apache.tomcat.util.http.parser.Ranges.getEntries:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 239
       213: .line 1166
            aload 14 /* ranges */
            invokevirtual org.apache.tomcat.util.http.parser.Ranges.getEntries:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.tomcat.util.http.parser.Ranges$Entry
            astore 26 /* range */
        start local 26 // org.apache.tomcat.util.http.parser.Ranges$Entry range
       214: .line 1167
            aload 26 /* range */
            lload 15 /* contentLength */
            invokestatic org.apache.catalina.servlets.DefaultServlet.getStart:(Lorg/apache/tomcat/util/http/parser/Ranges$Entry;J)J
            lstore 27 /* start */
        start local 27 // long start
       215: .line 1168
            aload 26 /* range */
            lload 15 /* contentLength */
            invokestatic org.apache.catalina.servlets.DefaultServlet.getEnd:(Lorg/apache/tomcat/util/http/parser/Ranges$Entry;J)J
            lstore 29 /* end */
        start local 29 // long end
       216: .line 1169
            aload 2 /* response */
            ldc "Content-Range"
       217: .line 1170
            new java.lang.StringBuilder
            dup
            ldc "bytes "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 27 /* start */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 29 /* end */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 15 /* contentLength */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       218: .line 1169
            invokeinterface jakarta.servlet.http.HttpServletResponse.addHeader:(Ljava/lang/String;Ljava/lang/String;)V
       219: .line 1171
            lload 29 /* end */
            lload 27 /* start */
            lsub
            lconst_1
            ladd
            lstore 31 /* length */
        start local 31 // long length
       220: .line 1172
            aload 2 /* response */
            lload 31 /* length */
            invokeinterface jakarta.servlet.http.HttpServletResponse.setContentLengthLong:(J)V
       221: .line 1174
            aload 10 /* contentType */
            ifnull 227
       222: .line 1175
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.debug:I
            ifle 226
       223: .line 1176
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "DefaultServlet.serveFile:  contentType='"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       224: .line 1177
            aload 10 /* contentType */
            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;
       225: .line 1176
            invokevirtual org.apache.catalina.servlets.DefaultServlet.log:(Ljava/lang/String;)V
       226: .line 1178
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse int java.lang.String int java.lang.String org.apache.catalina.WebResource int int java.lang.String java.lang.String java.lang.String int org.apache.tomcat.util.http.parser.Ranges long jakarta.servlet.ServletOutputStream java.io.PrintWriter jakarta.servlet.ServletResponse long java.lang.String java.nio.charset.Charset int int org.apache.tomcat.util.http.parser.Ranges$Entry long long long
      StackMap stack:
            aload 2 /* response */
            aload 10 /* contentType */
            invokeinterface jakarta.servlet.http.HttpServletResponse.setContentType:(Ljava/lang/String;)V
       227: .line 1181
      StackMap locals:
      StackMap stack:
            iload 5 /* serveContent */
            ifeq 248
       228: .line 1183
            aload 2 /* response */
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.output:I
            invokeinterface jakarta.servlet.http.HttpServletResponse.setBufferSize:(I)V
       229: .line 1184
            goto 231
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
       230: pop
       231: .line 1187
      StackMap locals:
      StackMap stack:
            aload 17 /* ostream */
            ifnull 238
       232: .line 1188
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* response */
            aload 7 /* resource */
       233: .line 1189
            lload 15 /* contentLength */
            aload 26 /* range */
       234: .line 1188
            invokevirtual org.apache.catalina.servlets.DefaultServlet.checkSendfile:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/apache/catalina/WebResource;JLorg/apache/tomcat/util/http/parser/Ranges$Entry;)Z
       235: .line 1189
            ifne 248
       236: .line 1190
            aload 0 /* this */
            aload 7 /* resource */
            lload 15 /* contentLength */
            aload 17 /* ostream */
            aload 26 /* range */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.copy:(Lorg/apache/catalina/WebResource;JLjakarta/servlet/ServletOutputStream;Lorg/apache/tomcat/util/http/parser/Ranges$Entry;)V
       237: .line 1191
            goto 248
       238: .line 1193
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
        end local 31 // long length
        end local 29 // long end
        end local 27 // long start
        end local 26 // org.apache.tomcat.util.http.parser.Ranges$Entry range
       239: .line 1197
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse int java.lang.String int java.lang.String org.apache.catalina.WebResource int int java.lang.String java.lang.String java.lang.String int org.apache.tomcat.util.http.parser.Ranges long jakarta.servlet.ServletOutputStream java.io.PrintWriter jakarta.servlet.ServletResponse long java.lang.String java.nio.charset.Charset int int
      StackMap stack:
            aload 2 /* response */
            ldc "multipart/byteranges; boundary=CATALINA_MIME_BOUNDARY"
            invokeinterface jakarta.servlet.http.HttpServletResponse.setContentType:(Ljava/lang/String;)V
       240: .line 1199
            iload 5 /* serveContent */
            ifeq 248
       241: .line 1201
            aload 2 /* response */
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.output:I
            invokeinterface jakarta.servlet.http.HttpServletResponse.setBufferSize:(I)V
       242: .line 1202
            goto 244
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
       243: pop
       244: .line 1205
      StackMap locals:
      StackMap stack:
            aload 17 /* ostream */
            ifnull 247
       245: .line 1206
            aload 0 /* this */
            aload 7 /* resource */
            lload 15 /* contentLength */
            aload 17 /* ostream */
            aload 14 /* ranges */
            aload 10 /* contentType */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.copy:(Lorg/apache/catalina/WebResource;JLjakarta/servlet/ServletOutputStream;Lorg/apache/tomcat/util/http/parser/Ranges;Ljava/lang/String;)V
       246: .line 1207
            goto 248
       247: .line 1209
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
       248: .line 1214
      StackMap locals:
      StackMap stack:
            return
        end local 25 // boolean outputEncodingSpecified
        end local 24 // boolean conversionRequired
        end local 23 // java.nio.charset.Charset charset
        end local 22 // java.lang.String outputEncoding
        end local 20 // long contentWritten
        end local 19 // jakarta.servlet.ServletResponse r
        end local 18 // java.io.PrintWriter writer
        end local 17 // jakarta.servlet.ServletOutputStream ostream
        end local 15 // long contentLength
        end local 14 // org.apache.tomcat.util.http.parser.Ranges ranges
        end local 13 // boolean usingPrecompressedVersion
        end local 12 // java.lang.String lastModifiedHttp
        end local 11 // java.lang.String eTag
        end local 10 // java.lang.String contentType
        end local 9 // boolean included
        end local 8 // boolean isError
        end local 7 // org.apache.catalina.WebResource resource
        end local 6 // java.lang.String path
        end local 5 // boolean serveContent
        end local 4 // java.lang.String inputEncoding
        end local 3 // boolean content
        end local 2 // jakarta.servlet.http.HttpServletResponse response
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0  249     0                       this  Lorg/apache/catalina/servlets/DefaultServlet;
            0  249     1                    request  Ljakarta/servlet/http/HttpServletRequest;
            0  249     2                   response  Ljakarta/servlet/http/HttpServletResponse;
            0  249     3                    content  Z
            0  249     4              inputEncoding  Ljava/lang/String;
            1  249     5               serveContent  Z
            2  249     6                       path  Ljava/lang/String;
           15  249     7                   resource  Lorg/apache/catalina/WebResource;
           18  249     8                    isError  Z
           22   39     9                 requestUri  Ljava/lang/String;
           43   58     9                 requestUri  Ljava/lang/String;
           59  249     9                   included  Z
           68  249    10                contentType  Ljava/lang/String;
           72  249    11                       eTag  Ljava/lang/String;
           73  249    12           lastModifiedHttp  Ljava/lang/String;
           77  249    13  usingPrecompressedVersion  Z
           81   89    14     precompressedResources  Ljava/util/List<Lorg/apache/catalina/servlets/DefaultServlet$PrecompressedResource;>;
           85   89    15               bestResource  Lorg/apache/catalina/servlets/DefaultServlet$PrecompressedResource;
           90  249    14                     ranges  Lorg/apache/tomcat/util/http/parser/Ranges;
           91  249    15              contentLength  J
          114  249    17                    ostream  Ljakarta/servlet/ServletOutputStream;
          115  249    18                     writer  Ljava/io/PrintWriter;
          119  124    19                          e  Ljava/lang/IllegalStateException;
          125  249    19                          r  Ljakarta/servlet/ServletResponse;
          126  249    20             contentWritten  J
          134  249    22             outputEncoding  Ljava/lang/String;
          135  249    23                    charset  Ljava/nio/charset/Charset;
          143  145    24         conversionRequired  Z
          146  249    24         conversionRequired  Z
          140  249    25    outputEncodingSpecified  Z
          167  208    26               renderResult  Ljava/io/InputStream;
          176  178    27                 bomCharset  Ljava/nio/charset/Charset;
          185  197    27                     source  Ljava/io/InputStream;
          188  197    28                 bomCharset  Ljava/nio/charset/Charset;
          192  195    29                        osw  Ljava/io/OutputStreamWriter;
          193  195    30                         pw  Ljava/io/PrintWriter;
          200  206    27               resourceBody  [B
          214  239    26                      range  Lorg/apache/tomcat/util/http/parser/Ranges$Entry;
          215  239    27                      start  J
          216  239    29                        end  J
          220  239    31                     length  J
      Exception table:
        from    to  target  type
         116   117     118  Class java.lang.IllegalStateException
         163   164     165  Class java.lang.IllegalStateException
         228   229     230  Class java.lang.IllegalStateException
         241   242     243  Class java.lang.IllegalStateException
    Exceptions:
      throws java.io.IOException, jakarta.servlet.ServletException
    MethodParameters:
               Name  Flags
      request        
      response       
      content        
      inputEncoding  

  private static java.nio.charset.Charset processBom(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/nio/charset/Charset;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // java.io.InputStream is
         0: .line 1222
            iconst_4
            newarray 8
            astore 1 /* bom */
        start local 1 // byte[] bom
         1: .line 1223
            aload 0 /* is */
            aload 1 /* bom */
            arraylength
            invokevirtual java.io.InputStream.mark:(I)V
         2: .line 1225
            aload 0 /* is */
            aload 1 /* bom */
            invokevirtual java.io.InputStream.read:([B)I
            istore 2 /* count */
        start local 2 // int count
         3: .line 1228
            iload 2 /* count */
            iconst_2
            if_icmpge 6
         4: .line 1229
            aload 0 /* is */
            iconst_0
            invokestatic org.apache.catalina.servlets.DefaultServlet.skip:(Ljava/io/InputStream;I)V
         5: .line 1230
            aconst_null
            areturn
         6: .line 1234
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* bom */
            iconst_0
            baload
            sipush 255
            iand
            istore 3 /* b0 */
        start local 3 // int b0
         7: .line 1235
            aload 1 /* bom */
            iconst_1
            baload
            sipush 255
            iand
            istore 4 /* b1 */
        start local 4 // int b1
         8: .line 1236
            iload 3 /* b0 */
            sipush 254
            if_icmpne 11
            iload 4 /* b1 */
            sipush 255
            if_icmpne 11
         9: .line 1237
            aload 0 /* is */
            iconst_2
            invokestatic org.apache.catalina.servlets.DefaultServlet.skip:(Ljava/io/InputStream;I)V
        10: .line 1238
            getstatic java.nio.charset.StandardCharsets.UTF_16BE:Ljava/nio/charset/Charset;
            areturn
        11: .line 1242
      StackMap locals: int int
      StackMap stack:
            iload 2 /* count */
            iconst_2
            if_icmpne 14
            iload 3 /* b0 */
            sipush 255
            if_icmpne 14
            iload 4 /* b1 */
            sipush 254
            if_icmpne 14
        12: .line 1243
            aload 0 /* is */
            iconst_2
            invokestatic org.apache.catalina.servlets.DefaultServlet.skip:(Ljava/io/InputStream;I)V
        13: .line 1244
            getstatic java.nio.charset.StandardCharsets.UTF_16LE:Ljava/nio/charset/Charset;
            areturn
        14: .line 1248
      StackMap locals:
      StackMap stack:
            iload 2 /* count */
            iconst_3
            if_icmpge 17
        15: .line 1249
            aload 0 /* is */
            iconst_0
            invokestatic org.apache.catalina.servlets.DefaultServlet.skip:(Ljava/io/InputStream;I)V
        16: .line 1250
            aconst_null
            areturn
        17: .line 1254
      StackMap locals:
      StackMap stack:
            aload 1 /* bom */
            iconst_2
            baload
            sipush 255
            iand
            istore 5 /* b2 */
        start local 5 // int b2
        18: .line 1255
            iload 3 /* b0 */
            sipush 239
            if_icmpne 21
            iload 4 /* b1 */
            sipush 187
            if_icmpne 21
            iload 5 /* b2 */
            sipush 191
            if_icmpne 21
        19: .line 1256
            aload 0 /* is */
            iconst_3
            invokestatic org.apache.catalina.servlets.DefaultServlet.skip:(Ljava/io/InputStream;I)V
        20: .line 1257
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            areturn
        21: .line 1260
      StackMap locals: int
      StackMap stack:
            iload 2 /* count */
            iconst_4
            if_icmpge 24
        22: .line 1261
            aload 0 /* is */
            iconst_0
            invokestatic org.apache.catalina.servlets.DefaultServlet.skip:(Ljava/io/InputStream;I)V
        23: .line 1262
            aconst_null
            areturn
        24: .line 1266
      StackMap locals:
      StackMap stack:
            aload 1 /* bom */
            iconst_3
            baload
            sipush 255
            iand
            istore 6 /* b3 */
        start local 6 // int b3
        25: .line 1267
            iload 3 /* b0 */
            ifne 27
            iload 4 /* b1 */
            ifne 27
            iload 5 /* b2 */
            sipush 254
            if_icmpne 27
            iload 6 /* b3 */
            sipush 255
            if_icmpne 27
        26: .line 1268
            ldc "UTF-32BE"
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            areturn
        27: .line 1270
      StackMap locals: int
      StackMap stack:
            iload 3 /* b0 */
            sipush 255
            if_icmpne 29
            iload 4 /* b1 */
            sipush 254
            if_icmpne 29
            iload 5 /* b2 */
            ifne 29
            iload 6 /* b3 */
            ifne 29
        28: .line 1271
            ldc "UTF-32LE"
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            areturn
        29: .line 1277
      StackMap locals:
      StackMap stack:
            iload 3 /* b0 */
            sipush 255
            if_icmpne 32
            iload 4 /* b1 */
            sipush 254
            if_icmpne 32
        30: .line 1278
            aload 0 /* is */
            iconst_2
            invokestatic org.apache.catalina.servlets.DefaultServlet.skip:(Ljava/io/InputStream;I)V
        31: .line 1279
            getstatic java.nio.charset.StandardCharsets.UTF_16LE:Ljava/nio/charset/Charset;
            areturn
        32: .line 1282
      StackMap locals:
      StackMap stack:
            aload 0 /* is */
            iconst_0
            invokestatic org.apache.catalina.servlets.DefaultServlet.skip:(Ljava/io/InputStream;I)V
        33: .line 1283
            aconst_null
            areturn
        end local 6 // int b3
        end local 5 // int b2
        end local 4 // int b1
        end local 3 // int b0
        end local 2 // int count
        end local 1 // byte[] bom
        end local 0 // java.io.InputStream is
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   34     0     is  Ljava/io/InputStream;
            1   34     1    bom  [B
            3   34     2  count  I
            7   34     3     b0  I
            8   34     4     b1  I
           18   34     5     b2  I
           25   34     6     b3  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      is    

  private static void skip(java.io.InputStream, int);
    descriptor: (Ljava/io/InputStream;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.io.InputStream is
        start local 1 // int skip
         0: .line 1288
            aload 0 /* is */
            invokevirtual java.io.InputStream.reset:()V
         1: .line 1289
            goto 3
         2: .line 1290
      StackMap locals:
      StackMap stack:
            aload 0 /* is */
            invokevirtual java.io.InputStream.read:()I
            pop
         3: .line 1289
      StackMap locals:
      StackMap stack:
            iload 1 /* skip */
            iinc 1 /* skip */ -1
            ifgt 2
         4: .line 1292
            return
        end local 1 // int skip
        end local 0 // java.io.InputStream is
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    is  Ljava/io/InputStream;
            0    5     1  skip  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      is    
      skip  

  private static boolean isText(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String contentType
         0: .line 1296
            aload 0 /* contentType */
            ifnull 3
            aload 0 /* contentType */
            ldc "text"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 3
         1: .line 1297
            aload 0 /* contentType */
            ldc "xml"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 3
            aload 0 /* contentType */
            ldc "/javascript"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 3
         2: .line 1296
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 0 // java.lang.String contentType
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0  contentType  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      contentType  

  private static boolean validate(org.apache.tomcat.util.http.parser.ContentRange);
    descriptor: (Lorg/apache/tomcat/util/http/parser/ContentRange;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.http.parser.ContentRange range
         0: .line 1302
            aload 0 /* range */
            ifnull 3
            ldc "bytes"
            aload 0 /* range */
            invokevirtual org.apache.tomcat.util.http.parser.ContentRange.getUnits:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
            aload 0 /* range */
            invokevirtual org.apache.tomcat.util.http.parser.ContentRange.getStart:()J
            lconst_0
            lcmp
            iflt 3
         1: .line 1303
            aload 0 /* range */
            invokevirtual org.apache.tomcat.util.http.parser.ContentRange.getEnd:()J
            lconst_0
            lcmp
            iflt 3
            aload 0 /* range */
            invokevirtual org.apache.tomcat.util.http.parser.ContentRange.getStart:()J
            aload 0 /* range */
            invokevirtual org.apache.tomcat.util.http.parser.ContentRange.getEnd:()J
            lcmp
            ifgt 3
            aload 0 /* range */
            invokevirtual org.apache.tomcat.util.http.parser.ContentRange.getLength:()J
            lconst_0
         2: .line 1302
            lcmp
            ifle 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // org.apache.tomcat.util.http.parser.ContentRange range
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  range  Lorg/apache/tomcat/util/http/parser/ContentRange;
    MethodParameters:
       Name  Flags
      range  

  private static boolean validate(org.apache.tomcat.util.http.parser.Ranges$Entry, long);
    descriptor: (Lorg/apache/tomcat/util/http/parser/Ranges$Entry;J)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.apache.tomcat.util.http.parser.Ranges$Entry range
        start local 1 // long length
         0: .line 1307
            aload 0 /* range */
            lload 1 /* length */
            invokestatic org.apache.catalina.servlets.DefaultServlet.getStart:(Lorg/apache/tomcat/util/http/parser/Ranges$Entry;J)J
            lstore 3 /* start */
        start local 3 // long start
         1: .line 1308
            aload 0 /* range */
            lload 1 /* length */
            invokestatic org.apache.catalina.servlets.DefaultServlet.getEnd:(Lorg/apache/tomcat/util/http/parser/Ranges$Entry;J)J
            lstore 5 /* end */
        start local 5 // long end
         2: .line 1309
            lload 3 /* start */
            lconst_0
            lcmp
            iflt 3
            lload 5 /* end */
            lconst_0
            lcmp
            iflt 3
            lload 3 /* start */
            lload 5 /* end */
            lcmp
            ifgt 3
            iconst_1
            ireturn
      StackMap locals: long long
      StackMap stack:
         3: iconst_0
            ireturn
        end local 5 // long end
        end local 3 // long start
        end local 1 // long length
        end local 0 // org.apache.tomcat.util.http.parser.Ranges$Entry range
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0   range  Lorg/apache/tomcat/util/http/parser/Ranges$Entry;
            0    4     1  length  J
            1    4     3   start  J
            2    4     5     end  J
    MethodParameters:
        Name  Flags
      range   
      length  

  private static long getStart(org.apache.tomcat.util.http.parser.Ranges$Entry, long);
    descriptor: (Lorg/apache/tomcat/util/http/parser/Ranges$Entry;J)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.apache.tomcat.util.http.parser.Ranges$Entry range
        start local 1 // long length
         0: .line 1313
            aload 0 /* range */
            invokevirtual org.apache.tomcat.util.http.parser.Ranges$Entry.getStart:()J
            lstore 3 /* start */
        start local 3 // long start
         1: .line 1314
            lload 3 /* start */
            ldc -1
            lcmp
            ifne 6
         2: .line 1315
            aload 0 /* range */
            invokevirtual org.apache.tomcat.util.http.parser.Ranges$Entry.getEnd:()J
            lstore 5 /* end */
        start local 5 // long end
         3: .line 1317
            lload 5 /* end */
            lload 1 /* length */
            lcmp
            iflt 5
         4: .line 1318
            lconst_0
            lreturn
         5: .line 1320
      StackMap locals: long long
      StackMap stack:
            lload 1 /* length */
            lload 5 /* end */
            lsub
            lreturn
        end local 5 // long end
         6: .line 1323
      StackMap locals:
      StackMap stack:
            lload 3 /* start */
            lreturn
        end local 3 // long start
        end local 1 // long length
        end local 0 // org.apache.tomcat.util.http.parser.Ranges$Entry range
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0   range  Lorg/apache/tomcat/util/http/parser/Ranges$Entry;
            0    7     1  length  J
            1    7     3   start  J
            3    6     5     end  J
    MethodParameters:
        Name  Flags
      range   
      length  

  private static long getEnd(org.apache.tomcat.util.http.parser.Ranges$Entry, long);
    descriptor: (Lorg/apache/tomcat/util/http/parser/Ranges$Entry;J)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.apache.tomcat.util.http.parser.Ranges$Entry range
        start local 1 // long length
         0: .line 1328
            aload 0 /* range */
            invokevirtual org.apache.tomcat.util.http.parser.Ranges$Entry.getEnd:()J
            lstore 3 /* end */
        start local 3 // long end
         1: .line 1329
            aload 0 /* range */
            invokevirtual org.apache.tomcat.util.http.parser.Ranges$Entry.getStart:()J
            ldc -1
            lcmp
            ifeq 2
            lload 3 /* end */
            ldc -1
            lcmp
            ifeq 2
            lload 3 /* end */
            lload 1 /* length */
            lcmp
            iflt 3
         2: .line 1330
      StackMap locals: long
      StackMap stack:
            lload 1 /* length */
            lconst_1
            lsub
            lreturn
         3: .line 1332
      StackMap locals:
      StackMap stack:
            lload 3 /* end */
            lreturn
        end local 3 // long end
        end local 1 // long length
        end local 0 // org.apache.tomcat.util.http.parser.Ranges$Entry range
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0   range  Lorg/apache/tomcat/util/http/parser/Ranges$Entry;
            0    4     1  length  J
            1    4     3     end  J
    MethodParameters:
        Name  Flags
      range   
      length  

  private boolean pathEndsWithCompressedExtension(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // java.lang.String path
         0: .line 1337
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.compressionFormats:[Lorg/apache/catalina/servlets/DefaultServlet$CompressionFormat;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.apache.catalina.servlets.DefaultServlet java.lang.String top int int org.apache.catalina.servlets.DefaultServlet$CompressionFormat[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* format */
        start local 2 // org.apache.catalina.servlets.DefaultServlet$CompressionFormat format
         2: .line 1338
            aload 1 /* path */
            aload 2 /* format */
            getfield org.apache.catalina.servlets.DefaultServlet$CompressionFormat.extension:Ljava/lang/String;
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 1339
            iconst_1
            ireturn
        end local 2 // org.apache.catalina.servlets.DefaultServlet$CompressionFormat format
         4: .line 1337
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 1342
            iconst_0
            ireturn
        end local 1 // java.lang.String path
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    7     1    path  Ljava/lang/String;
            2    4     2  format  Lorg/apache/catalina/servlets/DefaultServlet$CompressionFormat;
    MethodParameters:
      Name  Flags
      path  

  private java.util.List<org.apache.catalina.servlets.DefaultServlet$PrecompressedResource> getAvailablePrecompressedResources(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // java.lang.String path
         0: .line 1346
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.compressionFormats:[Lorg/apache/catalina/servlets/DefaultServlet$CompressionFormat;
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* ret */
        start local 2 // java.util.List ret
         1: .line 1347
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.compressionFormats:[Lorg/apache/catalina/servlets/DefaultServlet$CompressionFormat;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: org.apache.catalina.servlets.DefaultServlet java.lang.String java.util.List top int int org.apache.catalina.servlets.DefaultServlet$CompressionFormat[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* format */
        start local 3 // org.apache.catalina.servlets.DefaultServlet$CompressionFormat format
         3: .line 1348
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.resources:Lorg/apache/catalina/WebResourceRoot;
            new java.lang.StringBuilder
            dup
            aload 1 /* path */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* format */
            getfield org.apache.catalina.servlets.DefaultServlet$CompressionFormat.extension:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
            astore 7 /* precompressedResource */
        start local 7 // org.apache.catalina.WebResource precompressedResource
         4: .line 1349
            aload 7 /* precompressedResource */
            invokeinterface org.apache.catalina.WebResource.exists:()Z
            ifeq 6
            aload 7 /* precompressedResource */
            invokeinterface org.apache.catalina.WebResource.isFile:()Z
            ifeq 6
         5: .line 1350
            aload 2 /* ret */
            new org.apache.catalina.servlets.DefaultServlet$PrecompressedResource
            dup
            aload 7 /* precompressedResource */
            aload 3 /* format */
            invokespecial org.apache.catalina.servlets.DefaultServlet$PrecompressedResource.<init>:(Lorg/apache/catalina/WebResource;Lorg/apache/catalina/servlets/DefaultServlet$CompressionFormat;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.apache.catalina.WebResource precompressedResource
        end local 3 // org.apache.catalina.servlets.DefaultServlet$CompressionFormat format
         6: .line 1347
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 2
         8: .line 1353
            aload 2 /* ret */
            areturn
        end local 2 // java.util.List ret
        end local 1 // java.lang.String path
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    9     0                   this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    9     1                   path  Ljava/lang/String;
            1    9     2                    ret  Ljava/util/List<Lorg/apache/catalina/servlets/DefaultServlet$PrecompressedResource;>;
            3    6     3                 format  Lorg/apache/catalina/servlets/DefaultServlet$CompressionFormat;
            4    6     7  precompressedResource  Lorg/apache/catalina/WebResource;
    Signature: (Ljava/lang/String;)Ljava/util/List<Lorg/apache/catalina/servlets/DefaultServlet$PrecompressedResource;>;
    MethodParameters:
      Name  Flags
      path  

  private org.apache.catalina.servlets.DefaultServlet$PrecompressedResource getBestPrecompressedResource(jakarta.servlet.http.HttpServletRequest, java.util.List<org.apache.catalina.servlets.DefaultServlet$PrecompressedResource>);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljava/util/List;)Lorg/apache/catalina/servlets/DefaultServlet$PrecompressedResource;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=19, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // java.util.List precompressedResources
         0: .line 1365
            aload 1 /* request */
            ldc "Accept-Encoding"
            invokeinterface jakarta.servlet.http.HttpServletRequest.getHeaders:(Ljava/lang/String;)Ljava/util/Enumeration;
            astore 3 /* headers */
        start local 3 // java.util.Enumeration headers
         1: .line 1366
            aconst_null
            astore 4 /* bestResource */
        start local 4 // org.apache.catalina.servlets.DefaultServlet$PrecompressedResource bestResource
         2: .line 1367
            dconst_0
            dstore 5 /* bestResourceQuality */
        start local 5 // double bestResourceQuality
         3: .line 1368
            ldc 2147483647
            istore 7 /* bestResourcePreference */
        start local 7 // int bestResourcePreference
         4: .line 1369
            goto 43
         5: .line 1370
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.util.List java.util.Enumeration org.apache.catalina.servlets.DefaultServlet$PrecompressedResource double int
      StackMap stack:
            aload 3 /* headers */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* header */
        start local 8 // java.lang.String header
         6: .line 1371
            aload 8 /* header */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 42
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.util.List java.util.Enumeration org.apache.catalina.servlets.DefaultServlet$PrecompressedResource double int java.lang.String top int int java.lang.String[]
      StackMap stack:
         7: aload 12
            iload 10
            aaload
            astore 9 /* preference */
        start local 9 // java.lang.String preference
         8: .line 1372
            dconst_1
            dstore 13 /* quality */
        start local 13 // double quality
         9: .line 1373
            aload 9 /* preference */
            bipush 59
            invokevirtual java.lang.String.indexOf:(I)I
            istore 15 /* qualityIdx */
        start local 15 // int qualityIdx
        10: .line 1374
            iload 15 /* qualityIdx */
            ifle 15
        11: .line 1375
            aload 9 /* preference */
            bipush 61
            iload 15 /* qualityIdx */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 16 /* equalsIdx */
        start local 16 // int equalsIdx
        12: .line 1376
            iload 16 /* equalsIdx */
            iconst_m1
            if_icmpne 14
        13: .line 1377
            goto 41
        14: .line 1379
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.util.List java.util.Enumeration org.apache.catalina.servlets.DefaultServlet$PrecompressedResource double int java.lang.String java.lang.String int int java.lang.String[] double int int
      StackMap stack:
            aload 9 /* preference */
            iload 16 /* equalsIdx */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            dstore 13 /* quality */
        end local 16 // int equalsIdx
        15: .line 1381
      StackMap locals:
      StackMap stack:
            dload 13 /* quality */
            dload 5 /* bestResourceQuality */
            dcmpl
            iflt 41
        16: .line 1382
            aload 9 /* preference */
            astore 16 /* encoding */
        start local 16 // java.lang.String encoding
        17: .line 1383
            iload 15 /* qualityIdx */
            ifle 19
        18: .line 1384
            aload 16 /* encoding */
            iconst_0
            iload 15 /* qualityIdx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 16 /* encoding */
        19: .line 1386
      StackMap locals: java.lang.String
      StackMap stack:
            aload 16 /* encoding */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 16 /* encoding */
        20: .line 1387
            ldc "identity"
            aload 16 /* encoding */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        21: .line 1388
            aconst_null
            astore 4 /* bestResource */
        22: .line 1389
            dload 13 /* quality */
            dstore 5 /* bestResourceQuality */
        23: .line 1390
            ldc 2147483647
            istore 7 /* bestResourcePreference */
        24: .line 1391
            goto 41
        25: .line 1393
      StackMap locals:
      StackMap stack:
            ldc "*"
            aload 16 /* encoding */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 30
        26: .line 1394
            aload 2 /* precompressedResources */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.catalina.servlets.DefaultServlet$PrecompressedResource
            astore 4 /* bestResource */
        27: .line 1395
            dload 13 /* quality */
            dstore 5 /* bestResourceQuality */
        28: .line 1396
            iconst_0
            istore 7 /* bestResourcePreference */
        29: .line 1397
            goto 41
        30: .line 1399
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 17 /* i */
        start local 17 // int i
        31: goto 40
        32: .line 1400
      StackMap locals: int
      StackMap stack:
            aload 2 /* precompressedResources */
            iload 17 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.catalina.servlets.DefaultServlet$PrecompressedResource
            astore 18 /* resource */
        start local 18 // org.apache.catalina.servlets.DefaultServlet$PrecompressedResource resource
        33: .line 1401
            aload 16 /* encoding */
            aload 18 /* resource */
            getfield org.apache.catalina.servlets.DefaultServlet$PrecompressedResource.format:Lorg/apache/catalina/servlets/DefaultServlet$CompressionFormat;
            getfield org.apache.catalina.servlets.DefaultServlet$CompressionFormat.encoding:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 39
        34: .line 1402
            dload 13 /* quality */
            dload 5 /* bestResourceQuality */
            dcmpl
            ifgt 35
            iload 17 /* i */
            iload 7 /* bestResourcePreference */
            if_icmpge 41
        35: .line 1403
      StackMap locals: org.apache.catalina.servlets.DefaultServlet$PrecompressedResource
      StackMap stack:
            aload 18 /* resource */
            astore 4 /* bestResource */
        36: .line 1404
            dload 13 /* quality */
            dstore 5 /* bestResourceQuality */
        37: .line 1405
            iload 17 /* i */
            istore 7 /* bestResourcePreference */
        38: .line 1407
            goto 41
        end local 18 // org.apache.catalina.servlets.DefaultServlet$PrecompressedResource resource
        39: .line 1399
      StackMap locals:
      StackMap stack:
            iinc 17 /* i */ 1
      StackMap locals:
      StackMap stack:
        40: iload 17 /* i */
            aload 2 /* precompressedResources */
            invokeinterface java.util.List.size:()I
            if_icmplt 32
        end local 17 // int i
        end local 16 // java.lang.String encoding
        end local 15 // int qualityIdx
        end local 13 // double quality
        end local 9 // java.lang.String preference
        41: .line 1371
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.util.List java.util.Enumeration org.apache.catalina.servlets.DefaultServlet$PrecompressedResource double int java.lang.String top int int java.lang.String[]
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        42: iload 10
            iload 11
            if_icmplt 7
        end local 8 // java.lang.String header
        43: .line 1369
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.util.List java.util.Enumeration org.apache.catalina.servlets.DefaultServlet$PrecompressedResource double int
      StackMap stack:
            aload 3 /* headers */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 5
        44: .line 1413
            aload 4 /* bestResource */
            areturn
        end local 7 // int bestResourcePreference
        end local 5 // double bestResourceQuality
        end local 4 // org.apache.catalina.servlets.DefaultServlet$PrecompressedResource bestResource
        end local 3 // java.util.Enumeration headers
        end local 2 // java.util.List precompressedResources
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   45     0                    this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   45     1                 request  Ljakarta/servlet/http/HttpServletRequest;
            0   45     2  precompressedResources  Ljava/util/List<Lorg/apache/catalina/servlets/DefaultServlet$PrecompressedResource;>;
            1   45     3                 headers  Ljava/util/Enumeration<Ljava/lang/String;>;
            2   45     4            bestResource  Lorg/apache/catalina/servlets/DefaultServlet$PrecompressedResource;
            3   45     5     bestResourceQuality  D
            4   45     7  bestResourcePreference  I
            6   43     8                  header  Ljava/lang/String;
            8   41     9              preference  Ljava/lang/String;
            9   41    13                 quality  D
           10   41    15              qualityIdx  I
           12   15    16               equalsIdx  I
           17   41    16                encoding  Ljava/lang/String;
           31   41    17                       i  I
           33   39    18                resource  Lorg/apache/catalina/servlets/DefaultServlet$PrecompressedResource;
    Signature: (Ljakarta/servlet/http/HttpServletRequest;Ljava/util/List<Lorg/apache/catalina/servlets/DefaultServlet$PrecompressedResource;>;)Lorg/apache/catalina/servlets/DefaultServlet$PrecompressedResource;
    MethodParameters:
                        Name  Flags
      request                 
      precompressedResources  

  private void doDirectoryRedirect(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // jakarta.servlet.http.HttpServletResponse response
         0: .line 1418
            new java.lang.StringBuilder
            dup
            aload 1 /* request */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getRequestURI:()Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 3 /* location */
        start local 3 // java.lang.StringBuilder location
         1: .line 1419
            aload 3 /* location */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 1420
            aload 1 /* request */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getQueryString:()Ljava/lang/String;
            ifnull 7
         3: .line 1421
            aload 3 /* location */
            bipush 63
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 1422
            aload 3 /* location */
            aload 1 /* request */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getQueryString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 1425
            goto 7
         6: .line 1426
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 3 /* location */
            iconst_0
            invokevirtual java.lang.StringBuilder.deleteCharAt:(I)Ljava/lang/StringBuilder;
            pop
         7: .line 1425
      StackMap locals:
      StackMap stack:
            aload 3 /* location */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            if_icmple 8
            aload 3 /* location */
            iconst_1
            invokevirtual java.lang.StringBuilder.charAt:(I)C
            bipush 47
            if_icmpeq 6
         8: .line 1428
      StackMap locals:
      StackMap stack:
            aload 2 /* response */
            aload 2 /* response */
            aload 3 /* location */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface jakarta.servlet.http.HttpServletResponse.encodeRedirectURL:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendRedirect:(Ljava/lang/String;)V
         9: .line 1429
            return
        end local 3 // java.lang.StringBuilder location
        end local 2 // jakarta.servlet.http.HttpServletResponse response
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   10     1   request  Ljakarta/servlet/http/HttpServletRequest;
            0   10     2  response  Ljakarta/servlet/http/HttpServletResponse;
            1   10     3  location  Ljava/lang/StringBuilder;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      request   
      response  

  protected org.apache.tomcat.util.http.parser.ContentRange parseContentRange(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)Lorg/apache/tomcat/util/http/parser/ContentRange;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // jakarta.servlet.http.HttpServletResponse response
         0: .line 1446
            aload 1 /* request */
            ldc "Content-Range"
            invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* contentRangeHeader */
        start local 3 // java.lang.String contentRangeHeader
         1: .line 1448
            aload 3 /* contentRangeHeader */
            ifnonnull 3
         2: .line 1449
            getstatic org.apache.catalina.servlets.DefaultServlet.IGNORE:Lorg/apache/tomcat/util/http/parser/ContentRange;
            areturn
         3: .line 1452
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.allowPartialPut:Z
            ifne 6
         4: .line 1453
            aload 2 /* response */
            sipush 400
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
         5: .line 1454
            aconst_null
            areturn
         6: .line 1457
      StackMap locals:
      StackMap stack:
            new java.io.StringReader
            dup
            aload 3 /* contentRangeHeader */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            invokestatic org.apache.tomcat.util.http.parser.ContentRange.parse:(Ljava/io/StringReader;)Lorg/apache/tomcat/util/http/parser/ContentRange;
            astore 4 /* contentRange */
        start local 4 // org.apache.tomcat.util.http.parser.ContentRange contentRange
         7: .line 1459
            aload 4 /* contentRange */
            ifnonnull 10
         8: .line 1460
            aload 2 /* response */
            sipush 400
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
         9: .line 1461
            aconst_null
            areturn
        10: .line 1464
      StackMap locals: org.apache.tomcat.util.http.parser.ContentRange
      StackMap stack:
            aload 4 /* contentRange */
            invokestatic org.apache.catalina.servlets.DefaultServlet.validate:(Lorg/apache/tomcat/util/http/parser/ContentRange;)Z
            ifne 13
        11: .line 1465
            aload 2 /* response */
            sipush 400
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
        12: .line 1466
            aconst_null
            areturn
        13: .line 1469
      StackMap locals:
      StackMap stack:
            aload 4 /* contentRange */
            areturn
        end local 4 // org.apache.tomcat.util.http.parser.ContentRange contentRange
        end local 3 // java.lang.String contentRangeHeader
        end local 2 // jakarta.servlet.http.HttpServletResponse response
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   14     0                this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   14     1             request  Ljakarta/servlet/http/HttpServletRequest;
            0   14     2            response  Ljakarta/servlet/http/HttpServletResponse;
            1   14     3  contentRangeHeader  Ljava/lang/String;
            7   14     4        contentRange  Lorg/apache/tomcat/util/http/parser/ContentRange;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      request   
      response  

  protected org.apache.tomcat.util.http.parser.Ranges parseRange(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, org.apache.catalina.WebResource);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/apache/catalina/WebResource;)Lorg/apache/tomcat/util/http/parser/Ranges;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // jakarta.servlet.http.HttpServletResponse response
        start local 3 // org.apache.catalina.WebResource resource
         0: .line 1492
            aload 1 /* request */
            ldc "If-Range"
            invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* headerValue */
        start local 4 // java.lang.String headerValue
         1: .line 1494
            aload 4 /* headerValue */
            ifnull 13
         2: .line 1496
            ldc -1
            lstore 5 /* headerValueTime */
        start local 5 // long headerValueTime
         3: .line 1498
            aload 1 /* request */
            ldc "If-Range"
            invokeinterface jakarta.servlet.http.HttpServletRequest.getDateHeader:(Ljava/lang/String;)J
            lstore 5 /* headerValueTime */
         4: .line 1499
            goto 6
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse org.apache.catalina.WebResource java.lang.String long
      StackMap stack: java.lang.IllegalArgumentException
         5: pop
         6: .line 1503
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* resource */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.generateETag:(Lorg/apache/catalina/WebResource;)Ljava/lang/String;
            astore 7 /* eTag */
        start local 7 // java.lang.String eTag
         7: .line 1504
            aload 3 /* resource */
            invokeinterface org.apache.catalina.WebResource.getLastModified:()J
            lstore 8 /* lastModified */
        start local 8 // long lastModified
         8: .line 1506
            lload 5 /* headerValueTime */
            ldc -1
            lcmp
            ifne 11
         9: .line 1509
            aload 7 /* eTag */
            aload 4 /* headerValue */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
        10: .line 1510
            getstatic org.apache.catalina.servlets.DefaultServlet.FULL:Lorg/apache/tomcat/util/http/parser/Ranges;
            areturn
        11: .line 1516
      StackMap locals: java.lang.String long
      StackMap stack:
            lload 8 /* lastModified */
            lload 5 /* headerValueTime */
            lsub
            invokestatic java.lang.Math.abs:(J)J
            ldc 1000
            lcmp
            ifle 13
        12: .line 1517
            getstatic org.apache.catalina.servlets.DefaultServlet.FULL:Lorg/apache/tomcat/util/http/parser/Ranges;
            areturn
        end local 8 // long lastModified
        end local 7 // java.lang.String eTag
        end local 5 // long headerValueTime
        13: .line 1522
      StackMap locals:
      StackMap stack:
            aload 3 /* resource */
            invokeinterface org.apache.catalina.WebResource.getContentLength:()J
            lstore 5 /* fileLength */
        start local 5 // long fileLength
        14: .line 1524
            lload 5 /* fileLength */
            lconst_0
            lcmp
            ifne 16
        15: .line 1527
            getstatic org.apache.catalina.servlets.DefaultServlet.FULL:Lorg/apache/tomcat/util/http/parser/Ranges;
            areturn
        16: .line 1531
      StackMap locals: long
      StackMap stack:
            aload 1 /* request */
            ldc "Range"
            invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* rangeHeader */
        start local 7 // java.lang.String rangeHeader
        17: .line 1533
            aload 7 /* rangeHeader */
            ifnonnull 19
        18: .line 1535
            getstatic org.apache.catalina.servlets.DefaultServlet.FULL:Lorg/apache/tomcat/util/http/parser/Ranges;
            areturn
        19: .line 1538
      StackMap locals: java.lang.String
      StackMap stack:
            new java.io.StringReader
            dup
            aload 7 /* rangeHeader */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            invokestatic org.apache.tomcat.util.http.parser.Ranges.parse:(Ljava/io/StringReader;)Lorg/apache/tomcat/util/http/parser/Ranges;
            astore 8 /* ranges */
        start local 8 // org.apache.tomcat.util.http.parser.Ranges ranges
        20: .line 1540
            aload 8 /* ranges */
            ifnonnull 24
        21: .line 1546
            aload 2 /* response */
            ldc "Content-Range"
            new java.lang.StringBuilder
            dup
            ldc "bytes */"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 5 /* fileLength */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface jakarta.servlet.http.HttpServletResponse.addHeader:(Ljava/lang/String;Ljava/lang/String;)V
        22: .line 1547
            aload 2 /* response */
            sipush 416
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
        23: .line 1548
            aconst_null
            areturn
        24: .line 1553
      StackMap locals: org.apache.tomcat.util.http.parser.Ranges
      StackMap stack:
            aload 8 /* ranges */
            invokevirtual org.apache.tomcat.util.http.parser.Ranges.getUnits:()Ljava/lang/String;
            ldc "bytes"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 26
        25: .line 1555
            getstatic org.apache.catalina.servlets.DefaultServlet.FULL:Lorg/apache/tomcat/util/http/parser/Ranges;
            areturn
        26: .line 1558
      StackMap locals:
      StackMap stack:
            aload 8 /* ranges */
            invokevirtual org.apache.tomcat.util.http.parser.Ranges.getEntries:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 32
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse org.apache.catalina.WebResource java.lang.String long java.lang.String org.apache.tomcat.util.http.parser.Ranges top java.util.Iterator
      StackMap stack:
        27: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.http.parser.Ranges$Entry
            astore 9 /* range */
        start local 9 // org.apache.tomcat.util.http.parser.Ranges$Entry range
        28: .line 1559
            aload 9 /* range */
            lload 5 /* fileLength */
            invokestatic org.apache.catalina.servlets.DefaultServlet.validate:(Lorg/apache/tomcat/util/http/parser/Ranges$Entry;J)Z
            ifne 32
        29: .line 1560
            aload 2 /* response */
            ldc "Content-Range"
            new java.lang.StringBuilder
            dup
            ldc "bytes */"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 5 /* fileLength */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface jakarta.servlet.http.HttpServletResponse.addHeader:(Ljava/lang/String;Ljava/lang/String;)V
        30: .line 1561
            aload 2 /* response */
            sipush 416
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
        31: .line 1562
            aconst_null
            areturn
        end local 9 // org.apache.tomcat.util.http.parser.Ranges$Entry range
        32: .line 1558
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 27
        33: .line 1566
            aload 8 /* ranges */
            areturn
        end local 8 // org.apache.tomcat.util.http.parser.Ranges ranges
        end local 7 // java.lang.String rangeHeader
        end local 5 // long fileLength
        end local 4 // java.lang.String headerValue
        end local 3 // org.apache.catalina.WebResource resource
        end local 2 // jakarta.servlet.http.HttpServletResponse response
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   34     0             this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   34     1          request  Ljakarta/servlet/http/HttpServletRequest;
            0   34     2         response  Ljakarta/servlet/http/HttpServletResponse;
            0   34     3         resource  Lorg/apache/catalina/WebResource;
            1   34     4      headerValue  Ljava/lang/String;
            3   13     5  headerValueTime  J
            7   13     7             eTag  Ljava/lang/String;
            8   13     8     lastModified  J
           14   34     5       fileLength  J
           17   34     7      rangeHeader  Ljava/lang/String;
           20   34     8           ranges  Lorg/apache/tomcat/util/http/parser/Ranges;
           28   32     9            range  Lorg/apache/tomcat/util/http/parser/Ranges$Entry;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      request   
      response  
      resource  

  protected java.io.InputStream render(jakarta.servlet.http.HttpServletRequest, java.lang.String, org.apache.catalina.WebResource, java.lang.String);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljava/lang/String;Lorg/apache/catalina/WebResource;Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // java.lang.String contextPath
        start local 3 // org.apache.catalina.WebResource resource
        start local 4 // java.lang.String encoding
         0: .line 1586
            aload 0 /* this */
            aload 3 /* resource */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.findXsltSource:(Lorg/apache/catalina/WebResource;)Ljavax/xml/transform/Source;
            astore 5 /* xsltSource */
        start local 5 // javax.xml.transform.Source xsltSource
         1: .line 1588
            aload 5 /* xsltSource */
            ifnonnull 3
         2: .line 1589
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* contextPath */
            aload 3 /* resource */
            aload 4 /* encoding */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.renderHtml:(Ljakarta/servlet/http/HttpServletRequest;Ljava/lang/String;Lorg/apache/catalina/WebResource;Ljava/lang/String;)Ljava/io/InputStream;
            areturn
         3: .line 1591
      StackMap locals: javax.xml.transform.Source
      StackMap stack:
            aload 0 /* this */
            aload 1 /* request */
            aload 2 /* contextPath */
            aload 3 /* resource */
            aload 5 /* xsltSource */
            aload 4 /* encoding */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.renderXml:(Ljakarta/servlet/http/HttpServletRequest;Ljava/lang/String;Lorg/apache/catalina/WebResource;Ljavax/xml/transform/Source;Ljava/lang/String;)Ljava/io/InputStream;
            areturn
        end local 5 // javax.xml.transform.Source xsltSource
        end local 4 // java.lang.String encoding
        end local 3 // org.apache.catalina.WebResource resource
        end local 2 // java.lang.String contextPath
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    4     1      request  Ljakarta/servlet/http/HttpServletRequest;
            0    4     2  contextPath  Ljava/lang/String;
            0    4     3     resource  Lorg/apache/catalina/WebResource;
            0    4     4     encoding  Ljava/lang/String;
            1    4     5   xsltSource  Ljavax/xml/transform/Source;
    Exceptions:
      throws java.io.IOException, jakarta.servlet.ServletException
    MethodParameters:
             Name  Flags
      request      
      contextPath  
      resource     
      encoding     

  protected java.io.InputStream renderXml(jakarta.servlet.http.HttpServletRequest, java.lang.String, org.apache.catalina.WebResource, javax.xml.transform.Source, java.lang.String);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljava/lang/String;Lorg/apache/catalina/WebResource;Ljavax/xml/transform/Source;Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=21, args_size=6
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // java.lang.String contextPath
        start local 3 // org.apache.catalina.WebResource resource
        start local 4 // javax.xml.transform.Source xsltSource
        start local 5 // java.lang.String encoding
         0: .line 1614
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* sb */
        start local 6 // java.lang.StringBuilder sb
         1: .line 1616
            aload 6 /* sb */
            ldc "<?xml version=\"1.0\"?>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 1617
            aload 6 /* sb */
            ldc "<listing "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 1618
            aload 6 /* sb */
            ldc " contextPath='"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 1619
            aload 6 /* sb */
            aload 2 /* contextPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 1620
            aload 6 /* sb */
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 1621
            aload 6 /* sb */
            ldc " directory='"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 1622
            aload 6 /* sb */
            aload 3 /* resource */
            invokeinterface org.apache.catalina.WebResource.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 1623
            aload 6 /* sb */
            ldc "' "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 1624
            aload 6 /* sb */
            ldc " hasParent='"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* resource */
            invokeinterface org.apache.catalina.WebResource.getName:()Ljava/lang/String;
            ldc "/"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
            iconst_0
            goto 11
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.lang.String org.apache.catalina.WebResource javax.xml.transform.Source java.lang.String java.lang.StringBuilder
      StackMap stack: java.lang.StringBuilder
        10: iconst_1
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.lang.String org.apache.catalina.WebResource javax.xml.transform.Source java.lang.String java.lang.StringBuilder
      StackMap stack: java.lang.StringBuilder int
        11: invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            pop
        12: .line 1625
            aload 6 /* sb */
            ldc "'>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 1627
            aload 6 /* sb */
            ldc "<entries>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 1629
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.resources:Lorg/apache/catalina/WebResourceRoot;
            aload 3 /* resource */
            invokeinterface org.apache.catalina.WebResource.getWebappPath:()Ljava/lang/String;
            invokeinterface org.apache.catalina.WebResourceRoot.list:(Ljava/lang/String;)[Ljava/lang/String;
            astore 7 /* entries */
        start local 7 // java.lang.String[] entries
        15: .line 1632
            aload 0 /* this */
            aload 2 /* contextPath */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.rewriteUrl:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* rewrittenContextPath */
        start local 8 // java.lang.String rewrittenContextPath
        16: .line 1633
            aload 3 /* resource */
            invokeinterface org.apache.catalina.WebResource.getWebappPath:()Ljava/lang/String;
            astore 9 /* directoryWebappPath */
        start local 9 // java.lang.String directoryWebappPath
        17: .line 1635
            aload 7 /* entries */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 55
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.lang.String org.apache.catalina.WebResource javax.xml.transform.Source java.lang.String java.lang.StringBuilder java.lang.String[] java.lang.String java.lang.String top int int java.lang.String[]
      StackMap stack:
        18: aload 13
            iload 11
            aaload
            astore 10 /* entry */
        start local 10 // java.lang.String entry
        19: .line 1637
            aload 10 /* entry */
            ldc "WEB-INF"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 54
        20: .line 1638
            aload 10 /* entry */
            ldc "META-INF"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 54
        21: .line 1639
            aload 10 /* entry */
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.localXsltFile:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 23
        22: .line 1640
            goto 54
        23: .line 1642
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.lang.String org.apache.catalina.WebResource javax.xml.transform.Source java.lang.String java.lang.StringBuilder java.lang.String[] java.lang.String java.lang.String java.lang.String int int java.lang.String[]
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 9 /* directoryWebappPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* entry */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.contextXsltFile:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        24: .line 1643
            goto 54
        25: .line 1646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.resources:Lorg/apache/catalina/WebResourceRoot;
            new java.lang.StringBuilder
            dup
            aload 9 /* directoryWebappPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* entry */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
        26: .line 1645
            astore 14 /* childResource */
        start local 14 // org.apache.catalina.WebResource childResource
        27: .line 1647
            aload 14 /* childResource */
            invokeinterface org.apache.catalina.WebResource.exists:()Z
            ifne 29
        28: .line 1648
            goto 54
        29: .line 1651
      StackMap locals: org.apache.catalina.WebResource
      StackMap stack:
            aload 6 /* sb */
            ldc "<entry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        30: .line 1652
            aload 6 /* sb */
            ldc " type='"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        31: .line 1653
            aload 14 /* childResource */
            invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
            ifeq 32
            ldc "dir"
            goto 33
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        32: ldc "file"
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.lang.String org.apache.catalina.WebResource javax.xml.transform.Source java.lang.String java.lang.StringBuilder java.lang.String[] java.lang.String java.lang.String java.lang.String int int java.lang.String[] org.apache.catalina.WebResource
      StackMap stack: java.lang.StringBuilder java.lang.String
        33: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        34: .line 1654
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        35: .line 1655
            aload 6 /* sb */
            ldc " urlPath='"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        36: .line 1656
            aload 8 /* rewrittenContextPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        37: .line 1657
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 9 /* directoryWebappPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* entry */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.catalina.servlets.DefaultServlet.rewriteUrl:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        38: .line 1658
            aload 14 /* childResource */
            invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
            ifeq 39
            ldc "/"
            goto 40
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        39: ldc ""
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.lang.String org.apache.catalina.WebResource javax.xml.transform.Source java.lang.String java.lang.StringBuilder java.lang.String[] java.lang.String java.lang.String java.lang.String int int java.lang.String[] org.apache.catalina.WebResource
      StackMap stack: java.lang.StringBuilder java.lang.String
        40: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        41: .line 1659
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        42: .line 1660
            aload 14 /* childResource */
            invokeinterface org.apache.catalina.WebResource.isFile:()Z
            ifeq 46
        43: .line 1661
            aload 6 /* sb */
            ldc " size='"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        44: .line 1662
            aload 0 /* this */
            aload 14 /* childResource */
            invokeinterface org.apache.catalina.WebResource.getContentLength:()J
            invokevirtual org.apache.catalina.servlets.DefaultServlet.renderSize:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        45: .line 1663
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        46: .line 1665
      StackMap locals:
      StackMap stack:
            aload 6 /* sb */
            ldc " date='"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        47: .line 1666
            aload 14 /* childResource */
            invokeinterface org.apache.catalina.WebResource.getLastModifiedHttp:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        48: .line 1667
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        49: .line 1669
            aload 6 /* sb */
            bipush 62
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        50: .line 1670
            aload 6 /* sb */
            aload 10 /* entry */
            invokestatic org.apache.tomcat.util.security.Escape.htmlElementContent:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        51: .line 1671
            aload 14 /* childResource */
            invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
            ifeq 53
        52: .line 1672
            aload 6 /* sb */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        53: .line 1673
      StackMap locals:
      StackMap stack:
            aload 6 /* sb */
            ldc "</entry>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 14 // org.apache.catalina.WebResource childResource
        end local 10 // java.lang.String entry
        54: .line 1635
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.lang.String org.apache.catalina.WebResource javax.xml.transform.Source java.lang.String java.lang.StringBuilder java.lang.String[] java.lang.String java.lang.String top int int java.lang.String[]
      StackMap stack:
            iinc 11 1
      StackMap locals:
      StackMap stack:
        55: iload 11
            iload 12
            if_icmplt 18
        56: .line 1675
            aload 6 /* sb */
            ldc "</entries>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        57: .line 1677
            aload 0 /* this */
            aload 3 /* resource */
            aload 5 /* encoding */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getReadme:(Lorg/apache/catalina/WebResource;Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* readme */
        start local 10 // java.lang.String readme
        58: .line 1679
            aload 10 /* readme */
            ifnull 62
        59: .line 1680
            aload 6 /* sb */
            ldc "<readme><![CDATA["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        60: .line 1681
            aload 6 /* sb */
            aload 10 /* readme */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        61: .line 1682
            aload 6 /* sb */
            ldc "]]></readme>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        62: .line 1685
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.lang.String org.apache.catalina.WebResource javax.xml.transform.Source java.lang.String java.lang.StringBuilder java.lang.String[] java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 6 /* sb */
            ldc "</listing>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        63: .line 1690
            getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
            ifeq 67
        64: .line 1691
            new org.apache.tomcat.util.security.PrivilegedGetTccl
            dup
            invokespecial org.apache.tomcat.util.security.PrivilegedGetTccl.<init>:()V
            astore 12 /* pa */
        start local 12 // org.apache.tomcat.util.security.PrivilegedGetTccl pa
        65: .line 1692
            aload 12 /* pa */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            astore 11 /* original */
        end local 12 // org.apache.tomcat.util.security.PrivilegedGetTccl pa
        start local 11 // java.lang.ClassLoader original
        66: .line 1693
            goto 68
        end local 11 // java.lang.ClassLoader original
        67: .line 1694
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 11 /* original */
        start local 11 // java.lang.ClassLoader original
        68: .line 1697
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
            ifeq 73
        69: .line 1699
            new org.apache.tomcat.util.security.PrivilegedSetTccl
            dup
            ldc Lorg/apache/catalina/servlets/DefaultServlet;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokespecial org.apache.tomcat.util.security.PrivilegedSetTccl.<init>:(Ljava/lang/ClassLoader;)V
        70: .line 1698
            astore 12 /* pa */
        start local 12 // org.apache.tomcat.util.security.PrivilegedSetTccl pa
        71: .line 1700
            aload 12 /* pa */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        end local 12 // org.apache.tomcat.util.security.PrivilegedSetTccl pa
        72: .line 1701
            goto 76
        73: .line 1702
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
        74: .line 1703
            ldc Lorg/apache/catalina/servlets/DefaultServlet;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
        75: .line 1702
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        76: .line 1706
      StackMap locals:
      StackMap stack:
            invokestatic javax.xml.transform.TransformerFactory.newInstance:()Ljavax/xml/transform/TransformerFactory;
            astore 12 /* tFactory */
        start local 12 // javax.xml.transform.TransformerFactory tFactory
        77: .line 1707
            new javax.xml.transform.stream.StreamSource
            dup
            new java.io.StringReader
            dup
            aload 6 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            invokespecial javax.xml.transform.stream.StreamSource.<init>:(Ljava/io/Reader;)V
            astore 13 /* xmlSource */
        start local 13 // javax.xml.transform.Source xmlSource
        78: .line 1708
            aload 12 /* tFactory */
            aload 4 /* xsltSource */
            invokevirtual javax.xml.transform.TransformerFactory.newTransformer:(Ljavax/xml/transform/Source;)Ljavax/xml/transform/Transformer;
            astore 14 /* transformer */
        start local 14 // javax.xml.transform.Transformer transformer
        79: .line 1710
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 15 /* stream */
        start local 15 // java.io.ByteArrayOutputStream stream
        80: .line 1711
            new java.io.OutputStreamWriter
            dup
            aload 15 /* stream */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
            astore 16 /* osWriter */
        start local 16 // java.io.OutputStreamWriter osWriter
        81: .line 1712
            new javax.xml.transform.stream.StreamResult
            dup
            aload 16 /* osWriter */
            invokespecial javax.xml.transform.stream.StreamResult.<init>:(Ljava/io/Writer;)V
            astore 17 /* out */
        start local 17 // javax.xml.transform.stream.StreamResult out
        82: .line 1713
            aload 14 /* transformer */
            aload 13 /* xmlSource */
            aload 17 /* out */
            invokevirtual javax.xml.transform.Transformer.transform:(Ljavax/xml/transform/Source;Ljavax/xml/transform/Result;)V
        83: .line 1714
            aload 16 /* osWriter */
            invokevirtual java.io.OutputStreamWriter.flush:()V
        84: .line 1715
            new java.io.ByteArrayInputStream
            dup
            aload 15 /* stream */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 19
        85: .line 1719
            getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
            ifeq 89
        86: .line 1720
            new org.apache.tomcat.util.security.PrivilegedSetTccl
            dup
            aload 11 /* original */
            invokespecial org.apache.tomcat.util.security.PrivilegedSetTccl.<init>:(Ljava/lang/ClassLoader;)V
            astore 20 /* pa */
        start local 20 // org.apache.tomcat.util.security.PrivilegedSetTccl pa
        87: .line 1721
            aload 20 /* pa */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        end local 20 // org.apache.tomcat.util.security.PrivilegedSetTccl pa
        88: .line 1722
            goto 90
        89: .line 1723
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.lang.String org.apache.catalina.WebResource javax.xml.transform.Source java.lang.String java.lang.StringBuilder java.lang.String[] java.lang.String java.lang.String java.lang.String java.lang.ClassLoader javax.xml.transform.TransformerFactory javax.xml.transform.Source javax.xml.transform.Transformer java.io.ByteArrayOutputStream java.io.OutputStreamWriter javax.xml.transform.stream.StreamResult top java.io.InputStream
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 11 /* original */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        90: .line 1715
      StackMap locals:
      StackMap stack:
            aload 19
            areturn
        end local 17 // javax.xml.transform.stream.StreamResult out
        end local 16 // java.io.OutputStreamWriter osWriter
        end local 15 // java.io.ByteArrayOutputStream stream
        end local 14 // javax.xml.transform.Transformer transformer
        end local 13 // javax.xml.transform.Source xmlSource
        end local 12 // javax.xml.transform.TransformerFactory tFactory
        91: .line 1716
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.lang.String org.apache.catalina.WebResource javax.xml.transform.Source java.lang.String java.lang.StringBuilder java.lang.String[] java.lang.String java.lang.String java.lang.String java.lang.ClassLoader
      StackMap stack: javax.xml.transform.TransformerException
            astore 12 /* e */
        start local 12 // javax.xml.transform.TransformerException e
        92: .line 1717
            new jakarta.servlet.ServletException
            dup
            getstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "defaultServlet.xslError"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 12 /* e */
            invokespecial jakarta.servlet.ServletException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 12 // javax.xml.transform.TransformerException e
        93: .line 1718
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 18
        94: .line 1719
            getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
            ifeq 98
        95: .line 1720
            new org.apache.tomcat.util.security.PrivilegedSetTccl
            dup
            aload 11 /* original */
            invokespecial org.apache.tomcat.util.security.PrivilegedSetTccl.<init>:(Ljava/lang/ClassLoader;)V
            astore 20 /* pa */
        start local 20 // org.apache.tomcat.util.security.PrivilegedSetTccl pa
        96: .line 1721
            aload 20 /* pa */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        end local 20 // org.apache.tomcat.util.security.PrivilegedSetTccl pa
        97: .line 1722
            goto 99
        98: .line 1723
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.lang.String org.apache.catalina.WebResource javax.xml.transform.Source java.lang.String java.lang.StringBuilder java.lang.String[] java.lang.String java.lang.String java.lang.String java.lang.ClassLoader top top top top top top java.lang.Throwable
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 11 /* original */
            invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
        99: .line 1725
      StackMap locals:
      StackMap stack:
            aload 18
            athrow
        end local 11 // java.lang.ClassLoader original
        end local 10 // java.lang.String readme
        end local 9 // java.lang.String directoryWebappPath
        end local 8 // java.lang.String rewrittenContextPath
        end local 7 // java.lang.String[] entries
        end local 6 // java.lang.StringBuilder sb
        end local 5 // java.lang.String encoding
        end local 4 // javax.xml.transform.Source xsltSource
        end local 3 // org.apache.catalina.WebResource resource
        end local 2 // java.lang.String contextPath
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  100     0                  this  Lorg/apache/catalina/servlets/DefaultServlet;
            0  100     1               request  Ljakarta/servlet/http/HttpServletRequest;
            0  100     2           contextPath  Ljava/lang/String;
            0  100     3              resource  Lorg/apache/catalina/WebResource;
            0  100     4            xsltSource  Ljavax/xml/transform/Source;
            0  100     5              encoding  Ljava/lang/String;
            1  100     6                    sb  Ljava/lang/StringBuilder;
           15  100     7               entries  [Ljava/lang/String;
           16  100     8  rewrittenContextPath  Ljava/lang/String;
           17  100     9   directoryWebappPath  Ljava/lang/String;
           19   54    10                 entry  Ljava/lang/String;
           27   54    14         childResource  Lorg/apache/catalina/WebResource;
           58  100    10                readme  Ljava/lang/String;
           66   67    11              original  Ljava/lang/ClassLoader;
           68  100    11              original  Ljava/lang/ClassLoader;
           65   66    12                    pa  Lorg/apache/tomcat/util/security/PrivilegedGetTccl;
           71   72    12                    pa  Lorg/apache/tomcat/util/security/PrivilegedSetTccl;
           77   91    12              tFactory  Ljavax/xml/transform/TransformerFactory;
           78   91    13             xmlSource  Ljavax/xml/transform/Source;
           79   91    14           transformer  Ljavax/xml/transform/Transformer;
           80   91    15                stream  Ljava/io/ByteArrayOutputStream;
           81   91    16              osWriter  Ljava/io/OutputStreamWriter;
           82   91    17                   out  Ljavax/xml/transform/stream/StreamResult;
           92   93    12                     e  Ljavax/xml/transform/TransformerException;
           87   88    20                    pa  Lorg/apache/tomcat/util/security/PrivilegedSetTccl;
           96   97    20                    pa  Lorg/apache/tomcat/util/security/PrivilegedSetTccl;
      Exception table:
        from    to  target  type
          68    85      91  Class javax.xml.transform.TransformerException
          68    85      93  any
          91    93      93  any
    Exceptions:
      throws java.io.IOException, jakarta.servlet.ServletException
    MethodParameters:
             Name  Flags
      request      
      contextPath  
      resource     
      xsltSource   
      encoding     

  protected java.io.InputStream renderHtml(jakarta.servlet.http.HttpServletRequest, java.lang.String, org.apache.catalina.WebResource, java.lang.String);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljava/lang/String;Lorg/apache/catalina/WebResource;Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=21, args_size=5
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // java.lang.String contextPath
        start local 3 // org.apache.catalina.WebResource resource
        start local 4 // java.lang.String encoding
         0: .line 1745
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 5 /* stream */
        start local 5 // java.io.ByteArrayOutputStream stream
         1: .line 1746
            new java.io.OutputStreamWriter
            dup
            aload 5 /* stream */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
            astore 6 /* osWriter */
        start local 6 // java.io.OutputStreamWriter osWriter
         2: .line 1747
            new java.io.PrintWriter
            dup
            aload 6 /* osWriter */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            astore 7 /* writer */
        start local 7 // java.io.PrintWriter writer
         3: .line 1749
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 8 /* sb */
        start local 8 // java.lang.StringBuilder sb
         4: .line 1751
            aload 3 /* resource */
            invokeinterface org.apache.catalina.WebResource.getWebappPath:()Ljava/lang/String;
            astore 9 /* directoryWebappPath */
        start local 9 // java.lang.String directoryWebappPath
         5: .line 1752
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.resources:Lorg/apache/catalina/WebResourceRoot;
            aload 9 /* directoryWebappPath */
            invokeinterface org.apache.catalina.WebResourceRoot.listResources:(Ljava/lang/String;)[Lorg/apache/catalina/WebResource;
            astore 10 /* entries */
        start local 10 // org.apache.catalina.WebResource[] entries
         6: .line 1755
            aload 0 /* this */
            aload 2 /* contextPath */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.rewriteUrl:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* rewrittenContextPath */
        start local 11 // java.lang.String rewrittenContextPath
         7: .line 1758
            aload 8 /* sb */
            ldc "<!doctype html><html>\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 1763
            aload 8 /* sb */
            ldc "<head>\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 1764
            aload 8 /* sb */
            ldc "<title>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 1765
            aload 8 /* sb */
            getstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "directory.title"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* directoryWebappPath */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 1766
            aload 8 /* sb */
            ldc "</title>\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 1767
            aload 8 /* sb */
            ldc "<style>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 1768
            aload 8 /* sb */
            ldc "body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 1769
            aload 8 /* sb */
            ldc "</style> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 1770
            aload 8 /* sb */
            ldc "</head>\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 1771
            aload 8 /* sb */
            ldc "<body>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 1772
            aload 8 /* sb */
            ldc "<h1>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 1773
            aload 8 /* sb */
            getstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "directory.title"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* directoryWebappPath */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 1776
            aload 9 /* directoryWebappPath */
            astore 12 /* parentDirectory */
        start local 12 // java.lang.String parentDirectory
        20: .line 1777
            aload 12 /* parentDirectory */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 23
        21: .line 1779
            aload 12 /* parentDirectory */
            iconst_0
            aload 12 /* parentDirectory */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
        22: .line 1778
            astore 12 /* parentDirectory */
        23: .line 1781
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.lang.String org.apache.catalina.WebResource java.lang.String java.io.ByteArrayOutputStream java.io.OutputStreamWriter java.io.PrintWriter java.lang.StringBuilder java.lang.String org.apache.catalina.WebResource[] java.lang.String java.lang.String
      StackMap stack:
            aload 12 /* parentDirectory */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 13 /* slash */
        start local 13 // int slash
        24: .line 1782
            iload 13 /* slash */
            iflt 38
        25: .line 1783
            aload 9 /* directoryWebappPath */
            iconst_0
            iload 13 /* slash */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 14 /* parent */
        start local 14 // java.lang.String parent
        26: .line 1784
            aload 8 /* sb */
            ldc " - <a href=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        27: .line 1785
            aload 8 /* sb */
            aload 11 /* rewrittenContextPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 1786
            aload 14 /* parent */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 30
        29: .line 1787
            ldc "/"
            astore 14 /* parent */
        30: .line 1788
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 8 /* sb */
            aload 0 /* this */
            aload 14 /* parent */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.rewriteUrl:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        31: .line 1789
            aload 14 /* parent */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 33
        32: .line 1790
            aload 8 /* sb */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        33: .line 1791
      StackMap locals:
      StackMap stack:
            aload 8 /* sb */
            ldc "\">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        34: .line 1792
            aload 8 /* sb */
            ldc "<b>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 1793
            aload 8 /* sb */
            getstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "directory.parent"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 14 /* parent */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        36: .line 1794
            aload 8 /* sb */
            ldc "</b>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        37: .line 1795
            aload 8 /* sb */
            ldc "</a>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 14 // java.lang.String parent
        38: .line 1798
      StackMap locals:
      StackMap stack:
            aload 8 /* sb */
            ldc "</h1>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        39: .line 1799
            aload 8 /* sb */
            ldc "<hr class=\"line\">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        40: .line 1801
            aload 8 /* sb */
            ldc "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"5\" align=\"center\">\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        41: .line 1805
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.sortListings:Z
            ifeq 44
            aload 1 /* request */
            ifnull 44
        42: .line 1806
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.sortManager:Lorg/apache/catalina/servlets/DefaultServlet$SortManager;
            aload 1 /* request */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getQueryString:()Ljava/lang/String;
            invokevirtual org.apache.catalina.servlets.DefaultServlet$SortManager.getOrder:(Ljava/lang/String;)Lorg/apache/catalina/servlets/DefaultServlet$SortManager$Order;
            astore 14 /* order */
        start local 14 // org.apache.catalina.servlets.DefaultServlet$SortManager$Order order
        43: goto 45
        end local 14 // org.apache.catalina.servlets.DefaultServlet$SortManager$Order order
        44: .line 1808
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 14 /* order */
        start local 14 // org.apache.catalina.servlets.DefaultServlet$SortManager$Order order
        45: .line 1810
      StackMap locals: org.apache.catalina.servlets.DefaultServlet$SortManager$Order
      StackMap stack:
            aload 8 /* sb */
            ldc "<tr>\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        46: .line 1811
            aload 8 /* sb */
            ldc "<td align=\"left\"><font size=\"+1\"><strong>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        47: .line 1812
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.sortListings:Z
            ifeq 54
            aload 1 /* request */
            ifnull 54
        48: .line 1813
            aload 8 /* sb */
            ldc "<a href=\"?C=N;O="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        49: .line 1814
            aload 8 /* sb */
            aload 0 /* this */
            aload 14 /* order */
            bipush 78
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getOrderChar:(Lorg/apache/catalina/servlets/DefaultServlet$SortManager$Order;C)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        50: .line 1815
            aload 8 /* sb */
            ldc "\">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        51: .line 1816
            aload 8 /* sb */
            getstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "directory.filename"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        52: .line 1817
            aload 8 /* sb */
            ldc "</a>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        53: .line 1818
            goto 55
        54: .line 1819
      StackMap locals:
      StackMap stack:
            aload 8 /* sb */
            getstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "directory.filename"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        55: .line 1821
      StackMap locals:
      StackMap stack:
            aload 8 /* sb */
            ldc "</strong></font></td>\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        56: .line 1822
            aload 8 /* sb */
            ldc "<td align=\"center\"><font size=\"+1\"><strong>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        57: .line 1823
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.sortListings:Z
            ifeq 64
            aload 1 /* request */
            ifnull 64
        58: .line 1824
            aload 8 /* sb */
            ldc "<a href=\"?C=S;O="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        59: .line 1825
            aload 8 /* sb */
            aload 0 /* this */
            aload 14 /* order */
            bipush 83
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getOrderChar:(Lorg/apache/catalina/servlets/DefaultServlet$SortManager$Order;C)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        60: .line 1826
            aload 8 /* sb */
            ldc "\">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        61: .line 1827
            aload 8 /* sb */
            getstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "directory.size"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        62: .line 1828
            aload 8 /* sb */
            ldc "</a>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        63: .line 1829
            goto 65
        64: .line 1830
      StackMap locals:
      StackMap stack:
            aload 8 /* sb */
            getstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "directory.size"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        65: .line 1832
      StackMap locals:
      StackMap stack:
            aload 8 /* sb */
            ldc "</strong></font></td>\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        66: .line 1833
            aload 8 /* sb */
            ldc "<td align=\"right\"><font size=\"+1\"><strong>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        67: .line 1834
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.sortListings:Z
            ifeq 74
            aload 1 /* request */
            ifnull 74
        68: .line 1835
            aload 8 /* sb */
            ldc "<a href=\"?C=M;O="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        69: .line 1836
            aload 8 /* sb */
            aload 0 /* this */
            aload 14 /* order */
            bipush 77
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getOrderChar:(Lorg/apache/catalina/servlets/DefaultServlet$SortManager$Order;C)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        70: .line 1837
            aload 8 /* sb */
            ldc "\">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        71: .line 1838
            aload 8 /* sb */
            getstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "directory.lastModified"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        72: .line 1839
            aload 8 /* sb */
            ldc "</a>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        73: .line 1840
            goto 75
        74: .line 1841
      StackMap locals:
      StackMap stack:
            aload 8 /* sb */
            getstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "directory.lastModified"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        75: .line 1843
      StackMap locals:
      StackMap stack:
            aload 8 /* sb */
            ldc "</strong></font></td>\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        76: .line 1844
            aload 8 /* sb */
            ldc "</tr>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        77: .line 1846
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.sortManager:Lorg/apache/catalina/servlets/DefaultServlet$SortManager;
            ifnull 79
            aload 1 /* request */
            ifnull 79
        78: .line 1847
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.sortManager:Lorg/apache/catalina/servlets/DefaultServlet$SortManager;
            aload 10 /* entries */
            aload 1 /* request */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getQueryString:()Ljava/lang/String;
            invokevirtual org.apache.catalina.servlets.DefaultServlet$SortManager.sort:([Lorg/apache/catalina/WebResource;Ljava/lang/String;)V
        79: .line 1850
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 15 /* shade */
        start local 15 // boolean shade
        80: .line 1851
            aload 10 /* entries */
            dup
            astore 19
            arraylength
            istore 18
            iconst_0
            istore 17
            goto 116
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.lang.String org.apache.catalina.WebResource java.lang.String java.io.ByteArrayOutputStream java.io.OutputStreamWriter java.io.PrintWriter java.lang.StringBuilder java.lang.String org.apache.catalina.WebResource[] java.lang.String java.lang.String int org.apache.catalina.servlets.DefaultServlet$SortManager$Order int top int int org.apache.catalina.WebResource[]
      StackMap stack:
        81: aload 19
            iload 17
            aaload
            astore 16 /* childResource */
        start local 16 // org.apache.catalina.WebResource childResource
        82: .line 1852
            aload 16 /* childResource */
            invokeinterface org.apache.catalina.WebResource.getName:()Ljava/lang/String;
            astore 20 /* filename */
        start local 20 // java.lang.String filename
        83: .line 1853
            aload 20 /* filename */
            ldc "WEB-INF"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 115
        84: .line 1854
            aload 20 /* filename */
            ldc "META-INF"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 86
        85: .line 1855
            goto 115
        86: .line 1857
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.lang.String org.apache.catalina.WebResource java.lang.String java.io.ByteArrayOutputStream java.io.OutputStreamWriter java.io.PrintWriter java.lang.StringBuilder java.lang.String org.apache.catalina.WebResource[] java.lang.String java.lang.String int org.apache.catalina.servlets.DefaultServlet$SortManager$Order int org.apache.catalina.WebResource int int org.apache.catalina.WebResource[] java.lang.String
      StackMap stack:
            aload 16 /* childResource */
            invokeinterface org.apache.catalina.WebResource.exists:()Z
            ifne 88
        87: .line 1858
            goto 115
        88: .line 1861
      StackMap locals:
      StackMap stack:
            aload 8 /* sb */
            ldc "<tr"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        89: .line 1862
            iload 15 /* shade */
            ifeq 91
        90: .line 1863
            aload 8 /* sb */
            ldc " bgcolor=\"#eeeeee\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        91: .line 1864
      StackMap locals:
      StackMap stack:
            aload 8 /* sb */
            ldc ">\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        92: .line 1865
            iload 15 /* shade */
            ifeq 93
            iconst_0
            goto 94
      StackMap locals:
      StackMap stack:
        93: iconst_1
      StackMap locals:
      StackMap stack: int
        94: istore 15 /* shade */
        95: .line 1867
            aload 8 /* sb */
            ldc "<td align=\"left\">&nbsp;&nbsp;\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        96: .line 1868
            aload 8 /* sb */
            ldc "<a href=\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        97: .line 1869
            aload 8 /* sb */
            aload 11 /* rewrittenContextPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        98: .line 1870
            aload 8 /* sb */
            aload 0 /* this */
            aload 16 /* childResource */
            invokeinterface org.apache.catalina.WebResource.getWebappPath:()Ljava/lang/String;
            invokevirtual org.apache.catalina.servlets.DefaultServlet.rewriteUrl:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        99: .line 1871
            aload 16 /* childResource */
            invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
            ifeq 101
       100: .line 1872
            aload 8 /* sb */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       101: .line 1873
      StackMap locals:
      StackMap stack:
            aload 8 /* sb */
            ldc "\"><tt>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       102: .line 1874
            aload 8 /* sb */
            aload 20 /* filename */
            invokestatic org.apache.tomcat.util.security.Escape.htmlElementContent:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       103: .line 1875
            aload 16 /* childResource */
            invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
            ifeq 105
       104: .line 1876
            aload 8 /* sb */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       105: .line 1877
      StackMap locals:
      StackMap stack:
            aload 8 /* sb */
            ldc "</tt></a></td>\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       106: .line 1879
            aload 8 /* sb */
            ldc "<td align=\"right\"><tt>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       107: .line 1880
            aload 16 /* childResource */
            invokeinterface org.apache.catalina.WebResource.isDirectory:()Z
            ifeq 109
       108: .line 1881
            aload 8 /* sb */
            ldc "&nbsp;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 110
       109: .line 1883
      StackMap locals:
      StackMap stack:
            aload 8 /* sb */
            aload 0 /* this */
            aload 16 /* childResource */
            invokeinterface org.apache.catalina.WebResource.getContentLength:()J
            invokevirtual org.apache.catalina.servlets.DefaultServlet.renderSize:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       110: .line 1884
      StackMap locals:
      StackMap stack:
            aload 8 /* sb */
            ldc "</tt></td>\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       111: .line 1886
            aload 8 /* sb */
            ldc "<td align=\"right\"><tt>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       112: .line 1887
            aload 8 /* sb */
            aload 16 /* childResource */
            invokeinterface org.apache.catalina.WebResource.getLastModifiedHttp:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       113: .line 1888
            aload 8 /* sb */
            ldc "</tt></td>\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       114: .line 1890
            aload 8 /* sb */
            ldc "</tr>\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 20 // java.lang.String filename
        end local 16 // org.apache.catalina.WebResource childResource
       115: .line 1851
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.lang.String org.apache.catalina.WebResource java.lang.String java.io.ByteArrayOutputStream java.io.OutputStreamWriter java.io.PrintWriter java.lang.StringBuilder java.lang.String org.apache.catalina.WebResource[] java.lang.String java.lang.String int org.apache.catalina.servlets.DefaultServlet$SortManager$Order int top int int org.apache.catalina.WebResource[]
      StackMap stack:
            iinc 17 1
      StackMap locals:
      StackMap stack:
       116: iload 17
            iload 18
            if_icmplt 81
       117: .line 1894
            aload 8 /* sb */
            ldc "</table>\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       118: .line 1896
            aload 8 /* sb */
            ldc "<hr class=\"line\">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       119: .line 1898
            aload 0 /* this */
            aload 3 /* resource */
            aload 4 /* encoding */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getReadme:(Lorg/apache/catalina/WebResource;Ljava/lang/String;)Ljava/lang/String;
            astore 16 /* readme */
        start local 16 // java.lang.String readme
       120: .line 1899
            aload 16 /* readme */
            ifnull 123
       121: .line 1900
            aload 8 /* sb */
            aload 16 /* readme */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       122: .line 1901
            aload 8 /* sb */
            ldc "<hr class=\"line\">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       123: .line 1904
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest java.lang.String org.apache.catalina.WebResource java.lang.String java.io.ByteArrayOutputStream java.io.OutputStreamWriter java.io.PrintWriter java.lang.StringBuilder java.lang.String org.apache.catalina.WebResource[] java.lang.String java.lang.String int org.apache.catalina.servlets.DefaultServlet$SortManager$Order int java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.showServerInfo:Z
            ifeq 125
       124: .line 1905
            aload 8 /* sb */
            ldc "<h3>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic org.apache.catalina.util.ServerInfo.getServerInfo:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "</h3>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       125: .line 1907
      StackMap locals:
      StackMap stack:
            aload 8 /* sb */
            ldc "</body>\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       126: .line 1908
            aload 8 /* sb */
            ldc "</html>\r\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       127: .line 1911
            aload 7 /* writer */
            aload 8 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.write:(Ljava/lang/String;)V
       128: .line 1912
            aload 7 /* writer */
            invokevirtual java.io.PrintWriter.flush:()V
       129: .line 1913
            new java.io.ByteArrayInputStream
            dup
            aload 5 /* stream */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            areturn
        end local 16 // java.lang.String readme
        end local 15 // boolean shade
        end local 14 // org.apache.catalina.servlets.DefaultServlet$SortManager$Order order
        end local 13 // int slash
        end local 12 // java.lang.String parentDirectory
        end local 11 // java.lang.String rewrittenContextPath
        end local 10 // org.apache.catalina.WebResource[] entries
        end local 9 // java.lang.String directoryWebappPath
        end local 8 // java.lang.StringBuilder sb
        end local 7 // java.io.PrintWriter writer
        end local 6 // java.io.OutputStreamWriter osWriter
        end local 5 // java.io.ByteArrayOutputStream stream
        end local 4 // java.lang.String encoding
        end local 3 // org.apache.catalina.WebResource resource
        end local 2 // java.lang.String contextPath
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  130     0                  this  Lorg/apache/catalina/servlets/DefaultServlet;
            0  130     1               request  Ljakarta/servlet/http/HttpServletRequest;
            0  130     2           contextPath  Ljava/lang/String;
            0  130     3              resource  Lorg/apache/catalina/WebResource;
            0  130     4              encoding  Ljava/lang/String;
            1  130     5                stream  Ljava/io/ByteArrayOutputStream;
            2  130     6              osWriter  Ljava/io/OutputStreamWriter;
            3  130     7                writer  Ljava/io/PrintWriter;
            4  130     8                    sb  Ljava/lang/StringBuilder;
            5  130     9   directoryWebappPath  Ljava/lang/String;
            6  130    10               entries  [Lorg/apache/catalina/WebResource;
            7  130    11  rewrittenContextPath  Ljava/lang/String;
           20  130    12       parentDirectory  Ljava/lang/String;
           24  130    13                 slash  I
           26   38    14                parent  Ljava/lang/String;
           43   44    14                 order  Lorg/apache/catalina/servlets/DefaultServlet$SortManager$Order;
           45  130    14                 order  Lorg/apache/catalina/servlets/DefaultServlet$SortManager$Order;
           80  130    15                 shade  Z
           82  115    16         childResource  Lorg/apache/catalina/WebResource;
           83  115    20              filename  Ljava/lang/String;
          120  130    16                readme  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      request      
      contextPath  
      resource     
      encoding     

  protected java.lang.String renderSize(long);
    descriptor: (J)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // long size
         0: .line 1926
            lload 1 /* size */
            ldc 1024
            ldiv
            lstore 3 /* leftSide */
        start local 3 // long leftSide
         1: .line 1927
            lload 1 /* size */
            ldc 1024
            lrem
            ldc 103
            ldiv
            lstore 5 /* rightSide */
        start local 5 // long rightSide
         2: .line 1928
            lload 3 /* leftSide */
            lconst_0
            lcmp
            ifne 4
            lload 5 /* rightSide */
            lconst_0
            lcmp
            ifne 4
            lload 1 /* size */
            lconst_0
            lcmp
            ifle 4
         3: .line 1929
            lconst_1
            lstore 5 /* rightSide */
         4: .line 1931
      StackMap locals: long long
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            lload 3 /* leftSide */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 5 /* rightSide */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " kb"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // long rightSide
        end local 3 // long leftSide
        end local 1 // long size
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    5     1       size  J
            1    5     3   leftSide  J
            2    5     5  rightSide  J
    MethodParameters:
      Name  Flags
      size  

  protected java.lang.String getReadme(org.apache.catalina.WebResource, java.lang.String);
    descriptor: (Lorg/apache/catalina/WebResource;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // org.apache.catalina.WebResource directory
        start local 2 // java.lang.String encoding
         0: .line 1944
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.readmeFile:Ljava/lang/String;
            ifnull 40
         1: .line 1945
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.resources:Lorg/apache/catalina/WebResourceRoot;
         2: .line 1946
            new java.lang.StringBuilder
            dup
            aload 1 /* directory */
            invokeinterface org.apache.catalina.WebResource.getWebappPath:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.readmeFile:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 1945
            invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
            astore 3 /* resource */
        start local 3 // org.apache.catalina.WebResource resource
         4: .line 1947
            aload 3 /* resource */
            invokeinterface org.apache.catalina.WebResource.isFile:()Z
            ifeq 37
         5: .line 1948
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 4 /* buffer */
        start local 4 // java.io.StringWriter buffer
         6: .line 1949
            aconst_null
            astore 5 /* reader */
        start local 5 // java.io.InputStreamReader reader
         7: .line 1950
            aconst_null
            astore 6
            aconst_null
            astore 7
         8: aload 3 /* resource */
            invokeinterface org.apache.catalina.WebResource.getInputStream:()Ljava/io/InputStream;
            astore 8 /* is */
        start local 8 // java.io.InputStream is
         9: .line 1951
            aload 2 /* encoding */
            ifnull 12
        10: .line 1952
            new java.io.InputStreamReader
            dup
            aload 8 /* is */
            aload 2 /* encoding */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            astore 5 /* reader */
        11: .line 1953
            goto 13
        12: .line 1954
      StackMap locals: org.apache.catalina.servlets.DefaultServlet org.apache.catalina.WebResource java.lang.String org.apache.catalina.WebResource java.io.StringWriter java.io.InputStreamReader java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack:
            new java.io.InputStreamReader
            dup
            aload 8 /* is */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            astore 5 /* reader */
        13: .line 1956
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* reader */
            new java.io.PrintWriter
            dup
            aload 4 /* buffer */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            invokevirtual org.apache.catalina.servlets.DefaultServlet.copyRange:(Ljava/io/Reader;Ljava/io/PrintWriter;)Ljava/io/IOException;
            pop
        14: .line 1957
            aload 8 /* is */
            ifnull 32
            aload 8 /* is */
            invokevirtual java.io.InputStream.close:()V
            goto 32
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 6
            aload 8 /* is */
            ifnull 16
            aload 8 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 8 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
        16: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 7
            aload 6
            ifnonnull 18
            aload 7
            astore 6
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 6
            aload 7
            if_acmpeq 19
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        19: aload 6
            athrow
      StackMap locals: org.apache.catalina.servlets.DefaultServlet org.apache.catalina.WebResource java.lang.String org.apache.catalina.WebResource java.io.StringWriter java.io.InputStreamReader
      StackMap stack: java.io.IOException
        20: astore 6 /* e */
        start local 6 // java.io.IOException e
        21: .line 1958
            aload 0 /* this */
            getstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "defaultServlet.readerCloseFailed"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 6 /* e */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 6 // java.io.IOException e
        22: .line 1960
            aload 5 /* reader */
            ifnull 36
        23: .line 1962
            aload 5 /* reader */
            invokevirtual java.io.InputStreamReader.close:()V
        24: .line 1963
            goto 36
      StackMap locals:
      StackMap stack: java.io.IOException
        25: pop
            goto 36
        26: .line 1959
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        27: .line 1960
            aload 5 /* reader */
            ifnull 31
        28: .line 1962
            aload 5 /* reader */
            invokevirtual java.io.InputStreamReader.close:()V
        29: .line 1963
            goto 31
      StackMap locals: org.apache.catalina.servlets.DefaultServlet org.apache.catalina.WebResource java.lang.String org.apache.catalina.WebResource java.io.StringWriter java.io.InputStreamReader top top top java.lang.Throwable
      StackMap stack: java.io.IOException
        30: pop
        31: .line 1966
      StackMap locals:
      StackMap stack:
            aload 9
            athrow
        32: .line 1960
      StackMap locals: org.apache.catalina.servlets.DefaultServlet org.apache.catalina.WebResource java.lang.String org.apache.catalina.WebResource java.io.StringWriter java.io.InputStreamReader
      StackMap stack:
            aload 5 /* reader */
            ifnull 36
        33: .line 1962
            aload 5 /* reader */
            invokevirtual java.io.InputStreamReader.close:()V
        34: .line 1963
            goto 36
      StackMap locals:
      StackMap stack: java.io.IOException
        35: pop
        36: .line 1967
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.io.InputStreamReader reader
        end local 4 // java.io.StringWriter buffer
        37: .line 1969
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.debug:I
            bipush 10
            if_icmple 39
        38: .line 1970
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "readme '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.readmeFile:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' not found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.catalina.servlets.DefaultServlet.log:(Ljava/lang/String;)V
        39: .line 1972
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.apache.catalina.WebResource resource
        40: .line 1976
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.String encoding
        end local 1 // org.apache.catalina.WebResource directory
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   41     0       this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   41     1  directory  Lorg/apache/catalina/WebResource;
            0   41     2   encoding  Ljava/lang/String;
            4   40     3   resource  Lorg/apache/catalina/WebResource;
            6   37     4     buffer  Ljava/io/StringWriter;
            7   37     5     reader  Ljava/io/InputStreamReader;
            9   16     8         is  Ljava/io/InputStream;
           21   22     6          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           9    14      15  any
           8    17      17  any
           7    20      20  Class java.io.IOException
          23    24      25  Class java.io.IOException
           7    22      26  any
          28    29      30  Class java.io.IOException
          33    34      35  Class java.io.IOException
    MethodParameters:
           Name  Flags
      directory  
      encoding   

  protected javax.xml.transform.Source findXsltSource(org.apache.catalina.WebResource);
    descriptor: (Lorg/apache/catalina/WebResource;)Ljavax/xml/transform/Source;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // org.apache.catalina.WebResource directory
         0: .line 1989
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.localXsltFile:Ljava/lang/String;
            ifnull 12
         1: .line 1990
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.resources:Lorg/apache/catalina/WebResourceRoot;
         2: .line 1991
            new java.lang.StringBuilder
            dup
            aload 1 /* directory */
            invokeinterface org.apache.catalina.WebResource.getWebappPath:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.localXsltFile:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 1990
            invokeinterface org.apache.catalina.WebResourceRoot.getResource:(Ljava/lang/String;)Lorg/apache/catalina/WebResource;
            astore 2 /* resource */
        start local 2 // org.apache.catalina.WebResource resource
         4: .line 1992
            aload 2 /* resource */
            invokeinterface org.apache.catalina.WebResource.isFile:()Z
            ifeq 10
         5: .line 1993
            aload 2 /* resource */
            invokeinterface org.apache.catalina.WebResource.getInputStream:()Ljava/io/InputStream;
            astore 3 /* is */
        start local 3 // java.io.InputStream is
         6: .line 1994
            aload 3 /* is */
            ifnull 10
         7: .line 1995
            getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
            ifeq 9
         8: .line 1996
            aload 0 /* this */
            aload 3 /* is */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.secureXslt:(Ljava/io/InputStream;)Ljavax/xml/transform/Source;
            areturn
         9: .line 1998
      StackMap locals: org.apache.catalina.WebResource java.io.InputStream
      StackMap stack:
            new javax.xml.transform.stream.StreamSource
            dup
            aload 3 /* is */
            invokespecial javax.xml.transform.stream.StreamSource.<init>:(Ljava/io/InputStream;)V
            areturn
        end local 3 // java.io.InputStream is
        10: .line 2002
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.debug:I
            bipush 10
            if_icmple 12
        11: .line 2003
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "localXsltFile '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.localXsltFile:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' not found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.catalina.servlets.DefaultServlet.log:(Ljava/lang/String;)V
        end local 2 // org.apache.catalina.WebResource resource
        12: .line 2007
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.contextXsltFile:Ljava/lang/String;
            ifnull 21
        13: .line 2009
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.getServletContext:()Ljakarta/servlet/ServletContext;
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.contextXsltFile:Ljava/lang/String;
            invokeinterface jakarta.servlet.ServletContext.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
        14: .line 2008
            astore 2 /* is */
        start local 2 // java.io.InputStream is
        15: .line 2010
            aload 2 /* is */
            ifnull 19
        16: .line 2011
            getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
            ifeq 18
        17: .line 2012
            aload 0 /* this */
            aload 2 /* is */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.secureXslt:(Ljava/io/InputStream;)Ljavax/xml/transform/Source;
            areturn
        18: .line 2014
      StackMap locals: java.io.InputStream
      StackMap stack:
            new javax.xml.transform.stream.StreamSource
            dup
            aload 2 /* is */
            invokespecial javax.xml.transform.stream.StreamSource.<init>:(Ljava/io/InputStream;)V
            areturn
        19: .line 2018
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.debug:I
            bipush 10
            if_icmple 21
        20: .line 2019
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "contextXsltFile '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.contextXsltFile:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' not found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.catalina.servlets.DefaultServlet.log:(Ljava/lang/String;)V
        end local 2 // java.io.InputStream is
        21: .line 2025
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.globalXsltFile:Ljava/lang/String;
            ifnull 41
        22: .line 2026
            aload 0 /* this */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.validateGlobalXsltFile:()Ljava/io/File;
            astore 2 /* f */
        start local 2 // java.io.File f
        23: .line 2027
            aload 2 /* f */
            ifnull 41
        24: .line 2028
            aload 2 /* f */
            invokevirtual java.io.File.length:()J
            lstore 3 /* globalXsltFileSize */
        start local 3 // long globalXsltFileSize
        25: .line 2029
            lload 3 /* globalXsltFileSize */
            ldc 2147483647
            lcmp
            ifle 28
        26: .line 2030
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "globalXsltFile ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* f */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] is too big to buffer"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.catalina.servlets.DefaultServlet.log:(Ljava/lang/String;)V
        27: .line 2031
            goto 41
        28: .line 2032
      StackMap locals: java.io.File long
      StackMap stack:
            aconst_null
            astore 5
            aconst_null
            astore 6
        29: new java.io.FileInputStream
            dup
            aload 2 /* f */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 7 /* fis */
        start local 7 // java.io.FileInputStream fis
        30: .line 2033
            aload 2 /* f */
            invokevirtual java.io.File.length:()J
            l2i
            newarray 8
            astore 8 /* b */
        start local 8 // byte[] b
        31: .line 2034
            aload 7 /* fis */
            aload 8 /* b */
            invokestatic org.apache.catalina.util.IOTools.readFully:(Ljava/io/InputStream;[B)I
            pop
        32: .line 2035
            new javax.xml.transform.stream.StreamSource
            dup
            new java.io.ByteArrayInputStream
            dup
            aload 8 /* b */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            invokespecial javax.xml.transform.stream.StreamSource.<init>:(Ljava/io/InputStream;)V
        33: .line 2036
            aload 7 /* fis */
            ifnull 34
            aload 7 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        34: .line 2035
      StackMap locals: org.apache.catalina.servlets.DefaultServlet org.apache.catalina.WebResource java.io.File long java.lang.Throwable java.lang.Throwable java.io.FileInputStream byte[]
      StackMap stack: javax.xml.transform.stream.StreamSource
            areturn
        end local 8 // byte[] b
      StackMap locals: org.apache.catalina.servlets.DefaultServlet org.apache.catalina.WebResource java.io.File long java.lang.Throwable java.lang.Throwable java.io.FileInputStream
      StackMap stack: java.lang.Throwable
        35: astore 5
        36: .line 2036
            aload 7 /* fis */
            ifnull 37
            aload 7 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        end local 7 // java.io.FileInputStream fis
      StackMap locals:
      StackMap stack:
        37: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        38: astore 6
            aload 5
            ifnonnull 39
            aload 6
            astore 5
            goto 40
      StackMap locals:
      StackMap stack:
        39: aload 5
            aload 6
            if_acmpeq 40
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        40: aload 5
            athrow
        end local 3 // long globalXsltFileSize
        end local 2 // java.io.File f
        41: .line 2041
      StackMap locals: org.apache.catalina.servlets.DefaultServlet org.apache.catalina.WebResource
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.apache.catalina.WebResource directory
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   42     0                this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   42     1           directory  Lorg/apache/catalina/WebResource;
            4   12     2            resource  Lorg/apache/catalina/WebResource;
            6   10     3                  is  Ljava/io/InputStream;
           15   21     2                  is  Ljava/io/InputStream;
           23   41     2                   f  Ljava/io/File;
           25   41     3  globalXsltFileSize  J
           30   37     7                 fis  Ljava/io/FileInputStream;
           31   35     8                   b  [B
      Exception table:
        from    to  target  type
          30    33      35  any
          29    34      38  any
          35    38      38  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      directory  

  private java.io.File validateGlobalXsltFile();
    descriptor: ()Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
         0: .line 2046
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.resources:Lorg/apache/catalina/WebResourceRoot;
            invokeinterface org.apache.catalina.WebResourceRoot.getContext:()Lorg/apache/catalina/Context;
            astore 1 /* context */
        start local 1 // org.apache.catalina.Context context
         1: .line 2048
            new java.io.File
            dup
            aload 1 /* context */
            invokeinterface org.apache.catalina.Context.getCatalinaBase:()Ljava/io/File;
            ldc "conf"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 2 /* baseConf */
        start local 2 // java.io.File baseConf
         2: .line 2049
            aload 0 /* this */
            aload 2 /* baseConf */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.validateGlobalXsltFile:(Ljava/io/File;)Ljava/io/File;
            astore 3 /* result */
        start local 3 // java.io.File result
         3: .line 2050
            aload 3 /* result */
            ifnonnull 7
         4: .line 2051
            new java.io.File
            dup
            aload 1 /* context */
            invokeinterface org.apache.catalina.Context.getCatalinaHome:()Ljava/io/File;
            ldc "conf"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 4 /* homeConf */
        start local 4 // java.io.File homeConf
         5: .line 2052
            aload 2 /* baseConf */
            aload 4 /* homeConf */
            invokevirtual java.io.File.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 2053
            aload 0 /* this */
            aload 4 /* homeConf */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.validateGlobalXsltFile:(Ljava/io/File;)Ljava/io/File;
            astore 3 /* result */
        end local 4 // java.io.File homeConf
         7: .line 2057
      StackMap locals: org.apache.catalina.Context java.io.File java.io.File
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // java.io.File result
        end local 2 // java.io.File baseConf
        end local 1 // org.apache.catalina.Context context
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/apache/catalina/servlets/DefaultServlet;
            1    8     1   context  Lorg/apache/catalina/Context;
            2    8     2  baseConf  Ljava/io/File;
            3    8     3    result  Ljava/io/File;
            5    7     4  homeConf  Ljava/io/File;

  private java.io.File validateGlobalXsltFile(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // java.io.File base
         0: .line 2062
            new java.io.File
            dup
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.globalXsltFile:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 2 /* candidate */
        start local 2 // java.io.File candidate
         1: .line 2063
            aload 2 /* candidate */
            invokevirtual java.io.File.isAbsolute:()Z
            ifne 3
         2: .line 2064
            new java.io.File
            dup
            aload 1 /* base */
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.globalXsltFile:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 2 /* candidate */
         3: .line 2067
      StackMap locals: java.io.File
      StackMap stack:
            aload 2 /* candidate */
            invokevirtual java.io.File.isFile:()Z
            ifne 5
         4: .line 2068
            aconst_null
            areturn
         5: .line 2073
      StackMap locals:
      StackMap stack:
            aload 2 /* candidate */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            aload 1 /* base */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 9
         6: .line 2074
            aconst_null
            areturn
         7: .line 2076
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         8: .line 2077
            aconst_null
            areturn
         9: .line 2081
      StackMap locals:
      StackMap stack:
            aload 2 /* candidate */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 3 /* nameLower */
        start local 3 // java.lang.String nameLower
        10: .line 2082
            aload 3 /* nameLower */
            ldc ".xslt"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 12
            aload 3 /* nameLower */
            ldc ".xsl"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 12
        11: .line 2083
            aconst_null
            areturn
        12: .line 2086
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* candidate */
            areturn
        end local 3 // java.lang.String nameLower
        end local 2 // java.io.File candidate
        end local 1 // java.io.File base
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   13     1       base  Ljava/io/File;
            1   13     2  candidate  Ljava/io/File;
           10   13     3  nameLower  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     6       7  Class java.io.IOException
    MethodParameters:
      Name  Flags
      base  

  private javax.xml.transform.Source secureXslt(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljavax/xml/transform/Source;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // java.io.InputStream is
         0: .line 2092
            aconst_null
            astore 2 /* result */
        start local 2 // javax.xml.transform.Source result
         1: .line 2094
            getstatic org.apache.catalina.servlets.DefaultServlet.factory:Ljavax/xml/parsers/DocumentBuilderFactory;
            invokevirtual javax.xml.parsers.DocumentBuilderFactory.newDocumentBuilder:()Ljavax/xml/parsers/DocumentBuilder;
            astore 3 /* builder */
        start local 3 // javax.xml.parsers.DocumentBuilder builder
         2: .line 2095
            aload 3 /* builder */
            getstatic org.apache.catalina.servlets.DefaultServlet.secureEntityResolver:Lorg/apache/catalina/servlets/DefaultServlet$SecureEntityResolver;
            invokevirtual javax.xml.parsers.DocumentBuilder.setEntityResolver:(Lorg/xml/sax/EntityResolver;)V
         3: .line 2096
            aload 3 /* builder */
            aload 1 /* is */
            invokevirtual javax.xml.parsers.DocumentBuilder.parse:(Ljava/io/InputStream;)Lorg/w3c/dom/Document;
            astore 4 /* document */
        start local 4 // org.w3c.dom.Document document
         4: .line 2097
            new javax.xml.transform.dom.DOMSource
            dup
            aload 4 /* document */
            invokespecial javax.xml.transform.dom.DOMSource.<init>:(Lorg/w3c/dom/Node;)V
            astore 2 /* result */
        end local 4 // org.w3c.dom.Document document
        end local 3 // javax.xml.parsers.DocumentBuilder builder
         5: .line 2098
            goto 19
      StackMap locals: org.apache.catalina.servlets.DefaultServlet java.io.InputStream javax.xml.transform.Source
      StackMap stack: java.lang.Exception
         6: astore 3 /* e */
        start local 3 // java.lang.Exception e
         7: .line 2099
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.debug:I
            ifle 9
         8: .line 2100
            aload 0 /* this */
            aload 3 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            aload 3 /* e */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
         9: .line 2103
      StackMap locals:
      StackMap stack:
            aload 1 /* is */
            ifnull 23
        10: .line 2105
            aload 1 /* is */
            invokevirtual java.io.InputStream.close:()V
        11: .line 2106
            goto 23
      StackMap locals:
      StackMap stack: java.io.IOException
        12: pop
            goto 23
        13: .line 2102
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        14: .line 2103
            aload 1 /* is */
            ifnull 18
        15: .line 2105
            aload 1 /* is */
            invokevirtual java.io.InputStream.close:()V
        16: .line 2106
            goto 18
      StackMap locals: org.apache.catalina.servlets.DefaultServlet java.io.InputStream javax.xml.transform.Source top top java.lang.Throwable
      StackMap stack: java.io.IOException
        17: pop
        18: .line 2110
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
        19: .line 2103
      StackMap locals: org.apache.catalina.servlets.DefaultServlet java.io.InputStream javax.xml.transform.Source
      StackMap stack:
            aload 1 /* is */
            ifnull 23
        20: .line 2105
            aload 1 /* is */
            invokevirtual java.io.InputStream.close:()V
        21: .line 2106
            goto 23
      StackMap locals:
      StackMap stack: java.io.IOException
        22: pop
        23: .line 2111
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // javax.xml.transform.Source result
        end local 1 // java.io.InputStream is
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   24     1        is  Ljava/io/InputStream;
            1   24     2    result  Ljavax/xml/transform/Source;
            2    5     3   builder  Ljavax/xml/parsers/DocumentBuilder;
            4    5     4  document  Lorg/w3c/dom/Document;
            7    9     3         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     5       6  Class javax.xml.parsers.ParserConfigurationException
           1     5       6  Class org.xml.sax.SAXException
           1     5       6  Class java.io.IOException
          10    11      12  Class java.io.IOException
           1     9      13  any
          15    16      17  Class java.io.IOException
          20    21      22  Class java.io.IOException
    MethodParameters:
      Name  Flags
      is    

  protected boolean checkSendfile(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, org.apache.catalina.WebResource, long, org.apache.tomcat.util.http.parser.Ranges$Entry);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/apache/catalina/WebResource;JLorg/apache/tomcat/util/http/parser/Ranges$Entry;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // jakarta.servlet.http.HttpServletResponse response
        start local 3 // org.apache.catalina.WebResource resource
        start local 4 // long length
        start local 6 // org.apache.tomcat.util.http.parser.Ranges$Entry range
         0: .line 2133
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.sendfileSize:I
            ifle 16
         1: .line 2134
            lload 4 /* length */
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.sendfileSize:I
            i2l
            lcmp
            ifle 16
         2: .line 2135
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            aload 1 /* request */
            ldc "org.apache.tomcat.sendfile.support"
            invokeinterface jakarta.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifeq 16
         3: .line 2136
            aload 1 /* request */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "org.apache.catalina.connector.RequestFacade"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
         4: .line 2137
            aload 2 /* response */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "org.apache.catalina.connector.ResponseFacade"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
         5: .line 2138
            aload 3 /* resource */
            invokeinterface org.apache.catalina.WebResource.isFile:()Z
            ifeq 16
         6: .line 2139
            aload 3 /* resource */
            invokeinterface org.apache.catalina.WebResource.getCanonicalPath:()Ljava/lang/String;
            dup
            astore 7 /* canonicalPath */
        start local 7 // java.lang.String canonicalPath
         7: ifnull 16
         8: .line 2141
            aload 1 /* request */
            ldc "org.apache.tomcat.sendfile.filename"
            aload 7 /* canonicalPath */
            invokeinterface jakarta.servlet.http.HttpServletRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 2142
            aload 6 /* range */
            ifnonnull 13
        10: .line 2143
            aload 1 /* request */
            ldc "org.apache.tomcat.sendfile.start"
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface jakarta.servlet.http.HttpServletRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        11: .line 2144
            aload 1 /* request */
            ldc "org.apache.tomcat.sendfile.end"
            lload 4 /* length */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface jakarta.servlet.http.HttpServletRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        12: .line 2145
            goto 15
        13: .line 2146
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* request */
            ldc "org.apache.tomcat.sendfile.start"
            aload 6 /* range */
            lload 4 /* length */
            invokestatic org.apache.catalina.servlets.DefaultServlet.getStart:(Lorg/apache/tomcat/util/http/parser/Ranges$Entry;J)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface jakarta.servlet.http.HttpServletRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        14: .line 2147
            aload 1 /* request */
            ldc "org.apache.tomcat.sendfile.end"
            aload 6 /* range */
            lload 4 /* length */
            invokestatic org.apache.catalina.servlets.DefaultServlet.getEnd:(Lorg/apache/tomcat/util/http/parser/Ranges$Entry;J)J
            lconst_1
            ladd
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface jakarta.servlet.http.HttpServletRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        15: .line 2149
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 7 // java.lang.String canonicalPath
        16: .line 2151
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // org.apache.tomcat.util.http.parser.Ranges$Entry range
        end local 4 // long length
        end local 3 // org.apache.catalina.WebResource resource
        end local 2 // jakarta.servlet.http.HttpServletResponse response
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   17     1        request  Ljakarta/servlet/http/HttpServletRequest;
            0   17     2       response  Ljakarta/servlet/http/HttpServletResponse;
            0   17     3       resource  Lorg/apache/catalina/WebResource;
            0   17     4         length  J
            0   17     6          range  Lorg/apache/tomcat/util/http/parser/Ranges$Entry;
            7   16     7  canonicalPath  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      request   
      response  
      resource  
      length    
      range     

  protected boolean checkIfMatch(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, org.apache.catalina.WebResource);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/apache/catalina/WebResource;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // jakarta.servlet.http.HttpServletResponse response
        start local 3 // org.apache.catalina.WebResource resource
         0: .line 2169
            aload 1 /* request */
            ldc "If-Match"
            invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* headerValue */
        start local 4 // java.lang.String headerValue
         1: .line 2170
            aload 4 /* headerValue */
            ifnull 19
         2: .line 2174
            aload 4 /* headerValue */
            ldc "*"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
         3: .line 2175
            aload 0 /* this */
            aload 3 /* resource */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.generateETag:(Lorg/apache/catalina/WebResource;)Ljava/lang/String;
            astore 6 /* resourceETag */
        start local 6 // java.lang.String resourceETag
         4: .line 2176
            aload 6 /* resourceETag */
            ifnonnull 7
         5: .line 2177
            iconst_0
            istore 5 /* conditionSatisfied */
        start local 5 // boolean conditionSatisfied
         6: .line 2178
            goto 16
        end local 5 // boolean conditionSatisfied
         7: .line 2180
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse org.apache.catalina.WebResource java.lang.String top java.lang.String
      StackMap stack:
            new java.io.StringReader
            dup
            aload 4 /* headerValue */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            iconst_0
            aload 6 /* resourceETag */
            invokestatic org.apache.tomcat.util.http.parser.EntityTag.compareEntityTag:(Ljava/io/StringReader;ZLjava/lang/String;)Ljava/lang/Boolean;
            astore 7 /* matched */
        start local 7 // java.lang.Boolean matched
         8: .line 2181
            aload 7 /* matched */
            ifnonnull 13
         9: .line 2182
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.debug:I
            bipush 10
            if_icmple 11
        10: .line 2183
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "DefaultServlet.checkIfMatch:  Invalid header value ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* headerValue */
            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;
            invokevirtual org.apache.catalina.servlets.DefaultServlet.log:(Ljava/lang/String;)V
        11: .line 2185
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 2 /* response */
            sipush 400
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
        12: .line 2186
            iconst_0
            ireturn
        13: .line 2188
      StackMap locals:
      StackMap stack:
            aload 7 /* matched */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 5 /* conditionSatisfied */
        end local 7 // java.lang.Boolean matched
        end local 6 // java.lang.String resourceETag
        start local 5 // boolean conditionSatisfied
        14: .line 2190
            goto 16
        end local 5 // boolean conditionSatisfied
        15: .line 2191
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse org.apache.catalina.WebResource java.lang.String
      StackMap stack:
            iconst_1
            istore 5 /* conditionSatisfied */
        start local 5 // boolean conditionSatisfied
        16: .line 2194
      StackMap locals: int
      StackMap stack:
            iload 5 /* conditionSatisfied */
            ifne 19
        17: .line 2195
            aload 2 /* response */
            sipush 412
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
        18: .line 2196
            iconst_0
            ireturn
        end local 5 // boolean conditionSatisfied
        19: .line 2199
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.lang.String headerValue
        end local 3 // org.apache.catalina.WebResource resource
        end local 2 // jakarta.servlet.http.HttpServletResponse response
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   20     0                this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   20     1             request  Ljakarta/servlet/http/HttpServletRequest;
            0   20     2            response  Ljakarta/servlet/http/HttpServletResponse;
            0   20     3            resource  Lorg/apache/catalina/WebResource;
            1   20     4         headerValue  Ljava/lang/String;
            6    7     5  conditionSatisfied  Z
           14   15     5  conditionSatisfied  Z
           16   19     5  conditionSatisfied  Z
            4   14     6        resourceETag  Ljava/lang/String;
            8   14     7             matched  Ljava/lang/Boolean;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      request   
      response  
      resource  

  protected boolean checkIfModifiedSince(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, org.apache.catalina.WebResource);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/apache/catalina/WebResource;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // jakarta.servlet.http.HttpServletResponse response
        start local 3 // org.apache.catalina.WebResource resource
         0: .line 2216
            aload 1 /* request */
            ldc "If-Modified-Since"
            invokeinterface jakarta.servlet.http.HttpServletRequest.getDateHeader:(Ljava/lang/String;)J
            lstore 4 /* headerValue */
        start local 4 // long headerValue
         1: .line 2217
            aload 3 /* resource */
            invokeinterface org.apache.catalina.WebResource.getLastModified:()J
            lstore 6 /* lastModified */
        start local 6 // long lastModified
         2: .line 2218
            lload 4 /* headerValue */
            ldc -1
            lcmp
            ifeq 10
         3: .line 2222
            aload 1 /* request */
            ldc "If-None-Match"
            invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 10
         4: .line 2223
            lload 6 /* lastModified */
            lload 4 /* headerValue */
            ldc 1000
            ladd
            lcmp
            ifge 10
         5: .line 2226
            aload 2 /* response */
            sipush 304
            invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
         6: .line 2227
            aload 2 /* response */
            ldc "ETag"
            aload 0 /* this */
            aload 3 /* resource */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.generateETag:(Lorg/apache/catalina/WebResource;)Ljava/lang/String;
            invokeinterface jakarta.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 2229
            iconst_0
            ireturn
        end local 6 // long lastModified
        end local 4 // long headerValue
         8: .line 2232
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
         9: .line 2233
            iconst_1
            ireturn
        10: .line 2235
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // org.apache.catalina.WebResource resource
        end local 2 // jakarta.servlet.http.HttpServletResponse response
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   11     1       request  Ljakarta/servlet/http/HttpServletRequest;
            0   11     2      response  Ljakarta/servlet/http/HttpServletResponse;
            0   11     3      resource  Lorg/apache/catalina/WebResource;
            1    8     4   headerValue  J
            2    8     6  lastModified  J
      Exception table:
        from    to  target  type
           0     7       8  Class java.lang.IllegalArgumentException
    MethodParameters:
          Name  Flags
      request   
      response  
      resource  

  protected boolean checkIfNoneMatch(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, org.apache.catalina.WebResource);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/apache/catalina/WebResource;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // jakarta.servlet.http.HttpServletResponse response
        start local 3 // org.apache.catalina.WebResource resource
         0: .line 2253
            aload 1 /* request */
            ldc "If-None-Match"
            invokeinterface jakarta.servlet.http.HttpServletRequest.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* headerValue */
        start local 4 // java.lang.String headerValue
         1: .line 2254
            aload 4 /* headerValue */
            ifnull 23
         2: .line 2258
            aload 0 /* this */
            aload 3 /* resource */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.generateETag:(Lorg/apache/catalina/WebResource;)Ljava/lang/String;
            astore 6 /* resourceETag */
        start local 6 // java.lang.String resourceETag
         3: .line 2259
            aload 4 /* headerValue */
            ldc "*"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
         4: .line 2260
            aload 6 /* resourceETag */
            ifnonnull 7
         5: .line 2261
            iconst_0
            istore 5 /* conditionSatisfied */
        start local 5 // boolean conditionSatisfied
         6: .line 2262
            goto 16
        end local 5 // boolean conditionSatisfied
         7: .line 2264
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse org.apache.catalina.WebResource java.lang.String top java.lang.String
      StackMap stack:
            new java.io.StringReader
            dup
            aload 4 /* headerValue */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            iconst_1
            aload 6 /* resourceETag */
            invokestatic org.apache.tomcat.util.http.parser.EntityTag.compareEntityTag:(Ljava/io/StringReader;ZLjava/lang/String;)Ljava/lang/Boolean;
            astore 7 /* matched */
        start local 7 // java.lang.Boolean matched
         8: .line 2265
            aload 7 /* matched */
            ifnonnull 13
         9: .line 2266
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.debug:I
            bipush 10
            if_icmple 11
        10: .line 2267
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "DefaultServlet.checkIfNoneMatch:  Invalid header value ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* headerValue */
            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;
            invokevirtual org.apache.catalina.servlets.DefaultServlet.log:(Ljava/lang/String;)V
        11: .line 2269
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 2 /* response */
            sipush 400
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
        12: .line 2270
            iconst_0
            ireturn
        13: .line 2272
      StackMap locals:
      StackMap stack:
            aload 7 /* matched */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 5 /* conditionSatisfied */
        end local 7 // java.lang.Boolean matched
        start local 5 // boolean conditionSatisfied
        14: .line 2274
            goto 16
        end local 5 // boolean conditionSatisfied
        15: .line 2275
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* conditionSatisfied */
        start local 5 // boolean conditionSatisfied
        16: .line 2278
      StackMap locals: org.apache.catalina.servlets.DefaultServlet jakarta.servlet.http.HttpServletRequest jakarta.servlet.http.HttpServletResponse org.apache.catalina.WebResource java.lang.String int java.lang.String
      StackMap stack:
            iload 5 /* conditionSatisfied */
            ifeq 23
        17: .line 2283
            ldc "GET"
            aload 1 /* request */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getMethod:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
            ldc "HEAD"
            aload 1 /* request */
            invokeinterface jakarta.servlet.http.HttpServletRequest.getMethod:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        18: .line 2284
      StackMap locals:
      StackMap stack:
            aload 2 /* response */
            sipush 304
            invokeinterface jakarta.servlet.http.HttpServletResponse.setStatus:(I)V
        19: .line 2285
            aload 2 /* response */
            ldc "ETag"
            aload 6 /* resourceETag */
            invokeinterface jakarta.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
        20: .line 2286
            goto 22
        21: .line 2287
      StackMap locals:
      StackMap stack:
            aload 2 /* response */
            sipush 412
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
        22: .line 2289
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // java.lang.String resourceETag
        end local 5 // boolean conditionSatisfied
        23: .line 2292
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.lang.String headerValue
        end local 3 // org.apache.catalina.WebResource resource
        end local 2 // jakarta.servlet.http.HttpServletResponse response
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   24     0                this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   24     1             request  Ljakarta/servlet/http/HttpServletRequest;
            0   24     2            response  Ljakarta/servlet/http/HttpServletResponse;
            0   24     3            resource  Lorg/apache/catalina/WebResource;
            1   24     4         headerValue  Ljava/lang/String;
            6    7     5  conditionSatisfied  Z
           14   15     5  conditionSatisfied  Z
           16   23     5  conditionSatisfied  Z
            3   23     6        resourceETag  Ljava/lang/String;
            8   14     7             matched  Ljava/lang/Boolean;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      request   
      response  
      resource  

  protected boolean checkIfUnmodifiedSince(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, org.apache.catalina.WebResource);
    descriptor: (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Lorg/apache/catalina/WebResource;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // jakarta.servlet.http.HttpServletRequest request
        start local 2 // jakarta.servlet.http.HttpServletResponse response
        start local 3 // org.apache.catalina.WebResource resource
         0: .line 2311
            aload 3 /* resource */
            invokeinterface org.apache.catalina.WebResource.getLastModified:()J
            lstore 4 /* lastModified */
        start local 4 // long lastModified
         1: .line 2312
            aload 1 /* request */
            ldc "If-Unmodified-Since"
            invokeinterface jakarta.servlet.http.HttpServletRequest.getDateHeader:(Ljava/lang/String;)J
            lstore 6 /* headerValue */
        start local 6 // long headerValue
         2: .line 2313
            lload 6 /* headerValue */
            ldc -1
            lcmp
            ifeq 8
         3: .line 2314
            lload 4 /* lastModified */
            lload 6 /* headerValue */
            ldc 1000
            ladd
            lcmp
            iflt 8
         4: .line 2317
            aload 2 /* response */
            sipush 412
            invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
         5: .line 2318
            iconst_0
            ireturn
        end local 6 // long headerValue
        end local 4 // long lastModified
         6: .line 2321
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
         7: .line 2322
            iconst_1
            ireturn
         8: .line 2324
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // org.apache.catalina.WebResource resource
        end local 2 // jakarta.servlet.http.HttpServletResponse response
        end local 1 // jakarta.servlet.http.HttpServletRequest request
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    9     1       request  Ljakarta/servlet/http/HttpServletRequest;
            0    9     2      response  Ljakarta/servlet/http/HttpServletResponse;
            0    9     3      resource  Lorg/apache/catalina/WebResource;
            1    6     4  lastModified  J
            2    6     6   headerValue  J
      Exception table:
        from    to  target  type
           0     5       6  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      request   
      response  
      resource  

  protected java.lang.String generateETag(org.apache.catalina.WebResource);
    descriptor: (Lorg/apache/catalina/WebResource;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // org.apache.catalina.WebResource resource
         0: .line 2339
            aload 1 /* resource */
            invokeinterface org.apache.catalina.WebResource.getETag:()Ljava/lang/String;
            areturn
        end local 1 // org.apache.catalina.WebResource resource
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    1     1  resource  Lorg/apache/catalina/WebResource;
    MethodParameters:
          Name  Flags
      resource  

  protected void copy(java.io.InputStream, jakarta.servlet.ServletOutputStream);
    descriptor: (Ljava/io/InputStream;Ljakarta/servlet/ServletOutputStream;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // java.io.InputStream is
        start local 2 // jakarta.servlet.ServletOutputStream ostream
         0: .line 2355
            aconst_null
            astore 3 /* exception */
        start local 3 // java.io.IOException exception
         1: .line 2356
            new java.io.BufferedInputStream
            dup
            aload 1 /* is */
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.input:I
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
            astore 4 /* istream */
        start local 4 // java.io.InputStream istream
         2: .line 2359
            aload 0 /* this */
            aload 4 /* istream */
            aload 2 /* ostream */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.copyRange:(Ljava/io/InputStream;Ljakarta/servlet/ServletOutputStream;)Ljava/io/IOException;
            astore 3 /* exception */
         3: .line 2362
            aload 4 /* istream */
            invokevirtual java.io.InputStream.close:()V
         4: .line 2365
            aload 3 /* exception */
            ifnull 6
         5: .line 2366
            aload 3 /* exception */
            athrow
         6: .line 2367
      StackMap locals: java.io.IOException java.io.InputStream
      StackMap stack:
            return
        end local 4 // java.io.InputStream istream
        end local 3 // java.io.IOException exception
        end local 2 // jakarta.servlet.ServletOutputStream ostream
        end local 1 // java.io.InputStream is
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    7     1         is  Ljava/io/InputStream;
            0    7     2    ostream  Ljakarta/servlet/ServletOutputStream;
            1    7     3  exception  Ljava/io/IOException;
            2    7     4    istream  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      is       
      ostream  

  protected void copy(java.io.InputStream, java.io.PrintWriter, java.lang.String);
    descriptor: (Ljava/io/InputStream;Ljava/io/PrintWriter;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // java.io.InputStream is
        start local 2 // java.io.PrintWriter writer
        start local 3 // java.lang.String encoding
         0: .line 2382
            aconst_null
            astore 4 /* exception */
        start local 4 // java.io.IOException exception
         1: .line 2385
            aload 3 /* encoding */
            ifnonnull 4
         2: .line 2386
            new java.io.InputStreamReader
            dup
            aload 1 /* is */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            astore 5 /* reader */
        start local 5 // java.io.Reader reader
         3: .line 2387
            goto 5
        end local 5 // java.io.Reader reader
         4: .line 2388
      StackMap locals: java.io.IOException
      StackMap stack:
            new java.io.InputStreamReader
            dup
            aload 1 /* is */
            aload 3 /* encoding */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            astore 5 /* reader */
        start local 5 // java.io.Reader reader
         5: .line 2392
      StackMap locals: java.io.Reader
      StackMap stack:
            aload 0 /* this */
            aload 5 /* reader */
            aload 2 /* writer */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.copyRange:(Ljava/io/Reader;Ljava/io/PrintWriter;)Ljava/io/IOException;
            astore 4 /* exception */
         6: .line 2395
            aload 5 /* reader */
            invokevirtual java.io.Reader.close:()V
         7: .line 2398
            aload 4 /* exception */
            ifnull 9
         8: .line 2399
            aload 4 /* exception */
            athrow
         9: .line 2401
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.io.Reader reader
        end local 4 // java.io.IOException exception
        end local 3 // java.lang.String encoding
        end local 2 // java.io.PrintWriter writer
        end local 1 // java.io.InputStream is
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   10     1         is  Ljava/io/InputStream;
            0   10     2     writer  Ljava/io/PrintWriter;
            0   10     3   encoding  Ljava/lang/String;
            1   10     4  exception  Ljava/io/IOException;
            3    4     5     reader  Ljava/io/Reader;
            5   10     5     reader  Ljava/io/Reader;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      is        
      writer    
      encoding  

  protected void copy(org.apache.catalina.WebResource, long, jakarta.servlet.ServletOutputStream, org.apache.tomcat.util.http.parser.Ranges$Entry);
    descriptor: (Lorg/apache/catalina/WebResource;JLjakarta/servlet/ServletOutputStream;Lorg/apache/tomcat/util/http/parser/Ranges$Entry;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=9, args_size=5
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // org.apache.catalina.WebResource resource
        start local 2 // long length
        start local 4 // jakarta.servlet.ServletOutputStream ostream
        start local 5 // org.apache.tomcat.util.http.parser.Ranges$Entry range
         0: .line 2419
            aconst_null
            astore 6 /* exception */
        start local 6 // java.io.IOException exception
         1: .line 2421
            aload 1 /* resource */
            invokeinterface org.apache.catalina.WebResource.getInputStream:()Ljava/io/InputStream;
            astore 7 /* resourceInputStream */
        start local 7 // java.io.InputStream resourceInputStream
         2: .line 2423
            new java.io.BufferedInputStream
            dup
            aload 7 /* resourceInputStream */
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.input:I
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
         3: .line 2422
            astore 8 /* istream */
        start local 8 // java.io.InputStream istream
         4: .line 2424
            aload 0 /* this */
            aload 8 /* istream */
            aload 4 /* ostream */
            aload 5 /* range */
            lload 2 /* length */
            invokestatic org.apache.catalina.servlets.DefaultServlet.getStart:(Lorg/apache/tomcat/util/http/parser/Ranges$Entry;J)J
            aload 5 /* range */
            lload 2 /* length */
            invokestatic org.apache.catalina.servlets.DefaultServlet.getEnd:(Lorg/apache/tomcat/util/http/parser/Ranges$Entry;J)J
            invokevirtual org.apache.catalina.servlets.DefaultServlet.copyRange:(Ljava/io/InputStream;Ljakarta/servlet/ServletOutputStream;JJ)Ljava/io/IOException;
            astore 6 /* exception */
         5: .line 2427
            aload 8 /* istream */
            invokevirtual java.io.InputStream.close:()V
         6: .line 2430
            aload 6 /* exception */
            ifnull 8
         7: .line 2431
            aload 6 /* exception */
            athrow
         8: .line 2433
      StackMap locals: java.io.IOException java.io.InputStream java.io.InputStream
      StackMap stack:
            return
        end local 8 // java.io.InputStream istream
        end local 7 // java.io.InputStream resourceInputStream
        end local 6 // java.io.IOException exception
        end local 5 // org.apache.tomcat.util.http.parser.Ranges$Entry range
        end local 4 // jakarta.servlet.ServletOutputStream ostream
        end local 2 // long length
        end local 1 // org.apache.catalina.WebResource resource
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    9     1             resource  Lorg/apache/catalina/WebResource;
            0    9     2               length  J
            0    9     4              ostream  Ljakarta/servlet/ServletOutputStream;
            0    9     5                range  Lorg/apache/tomcat/util/http/parser/Ranges$Entry;
            1    9     6            exception  Ljava/io/IOException;
            2    9     7  resourceInputStream  Ljava/io/InputStream;
            4    9     8              istream  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      resource  
      length    
      ostream   
      range     

  protected void copy(org.apache.catalina.WebResource, long, jakarta.servlet.ServletOutputStream, org.apache.tomcat.util.http.parser.Ranges, java.lang.String);
    descriptor: (Lorg/apache/catalina/WebResource;JLjakarta/servlet/ServletOutputStream;Lorg/apache/tomcat/util/http/parser/Ranges;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=18, args_size=6
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // org.apache.catalina.WebResource resource
        start local 2 // long length
        start local 4 // jakarta.servlet.ServletOutputStream ostream
        start local 5 // org.apache.tomcat.util.http.parser.Ranges ranges
        start local 6 // java.lang.String contentType
         0: .line 2453
            aconst_null
            astore 7 /* exception */
        start local 7 // java.io.IOException exception
         1: .line 2455
            aload 5 /* ranges */
            invokevirtual org.apache.tomcat.util.http.parser.Ranges.getEntries:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 26
      StackMap locals: org.apache.catalina.servlets.DefaultServlet org.apache.catalina.WebResource long jakarta.servlet.ServletOutputStream org.apache.tomcat.util.http.parser.Ranges java.lang.String java.io.IOException top java.util.Iterator
      StackMap stack:
         2: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.http.parser.Ranges$Entry
            astore 8 /* range */
        start local 8 // org.apache.tomcat.util.http.parser.Ranges$Entry range
         3: .line 2456
            aload 7 /* exception */
            ifnull 5
         4: .line 2457
            goto 27
         5: .line 2459
      StackMap locals: org.apache.catalina.servlets.DefaultServlet org.apache.catalina.WebResource long jakarta.servlet.ServletOutputStream org.apache.tomcat.util.http.parser.Ranges java.lang.String java.io.IOException org.apache.tomcat.util.http.parser.Ranges$Entry java.util.Iterator
      StackMap stack:
            aload 1 /* resource */
            invokeinterface org.apache.catalina.WebResource.getInputStream:()Ljava/io/InputStream;
            astore 10 /* resourceInputStream */
        start local 10 // java.io.InputStream resourceInputStream
         6: .line 2460
            aconst_null
            astore 11
            aconst_null
            astore 12
         7: new java.io.BufferedInputStream
            dup
            aload 10 /* resourceInputStream */
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.input:I
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
            astore 13 /* istream */
        start local 13 // java.io.InputStream istream
         8: .line 2463
            aload 4 /* ostream */
            invokevirtual jakarta.servlet.ServletOutputStream.println:()V
         9: .line 2464
            aload 4 /* ostream */
            ldc "--CATALINA_MIME_BOUNDARY"
            invokevirtual jakarta.servlet.ServletOutputStream.println:(Ljava/lang/String;)V
        10: .line 2465
            aload 6 /* contentType */
            ifnull 12
        11: .line 2466
            aload 4 /* ostream */
            new java.lang.StringBuilder
            dup
            ldc "Content-Type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* contentType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jakarta.servlet.ServletOutputStream.println:(Ljava/lang/String;)V
        12: .line 2467
      StackMap locals: org.apache.catalina.servlets.DefaultServlet org.apache.catalina.WebResource long jakarta.servlet.ServletOutputStream org.apache.tomcat.util.http.parser.Ranges java.lang.String java.io.IOException org.apache.tomcat.util.http.parser.Ranges$Entry java.util.Iterator java.io.InputStream java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack:
            aload 8 /* range */
            lload 2 /* length */
            invokestatic org.apache.catalina.servlets.DefaultServlet.getStart:(Lorg/apache/tomcat/util/http/parser/Ranges$Entry;J)J
            lstore 14 /* start */
        start local 14 // long start
        13: .line 2468
            aload 8 /* range */
            lload 2 /* length */
            invokestatic org.apache.catalina.servlets.DefaultServlet.getEnd:(Lorg/apache/tomcat/util/http/parser/Ranges$Entry;J)J
            lstore 16 /* end */
        start local 16 // long end
        14: .line 2469
            aload 4 /* ostream */
            new java.lang.StringBuilder
            dup
            ldc "Content-Range: bytes "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 14 /* start */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        15: .line 2470
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 16 /* end */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 2471
            lload 16 /* end */
            lload 14 /* start */
            lsub
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 2469
            invokevirtual jakarta.servlet.ServletOutputStream.println:(Ljava/lang/String;)V
        18: .line 2472
            aload 4 /* ostream */
            invokevirtual jakarta.servlet.ServletOutputStream.println:()V
        19: .line 2475
            aload 0 /* this */
            aload 13 /* istream */
            aload 4 /* ostream */
            lload 14 /* start */
            lload 16 /* end */
            invokevirtual org.apache.catalina.servlets.DefaultServlet.copyRange:(Ljava/io/InputStream;Ljakarta/servlet/ServletOutputStream;JJ)Ljava/io/IOException;
            astore 7 /* exception */
        end local 16 // long end
        end local 14 // long start
        20: .line 2476
            aload 13 /* istream */
            ifnull 26
            aload 13 /* istream */
            invokevirtual java.io.InputStream.close:()V
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 11
            aload 13 /* istream */
            ifnull 22
            aload 13 /* istream */
            invokevirtual java.io.InputStream.close:()V
        end local 13 // java.io.InputStream istream
      StackMap locals:
      StackMap stack:
        22: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 12
            aload 11
            ifnonnull 24
            aload 12
            astore 11
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 11
            aload 12
            if_acmpeq 25
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        25: aload 11
            athrow
        end local 10 // java.io.InputStream resourceInputStream
        end local 8 // org.apache.tomcat.util.http.parser.Ranges$Entry range
        26: .line 2455
      StackMap locals: org.apache.catalina.servlets.DefaultServlet org.apache.catalina.WebResource long jakarta.servlet.ServletOutputStream org.apache.tomcat.util.http.parser.Ranges java.lang.String java.io.IOException top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        27: .line 2479
      StackMap locals: org.apache.catalina.servlets.DefaultServlet org.apache.catalina.WebResource long jakarta.servlet.ServletOutputStream org.apache.tomcat.util.http.parser.Ranges java.lang.String java.io.IOException
      StackMap stack:
            aload 4 /* ostream */
            invokevirtual jakarta.servlet.ServletOutputStream.println:()V
        28: .line 2480
            aload 4 /* ostream */
            ldc "--CATALINA_MIME_BOUNDARY--"
            invokevirtual jakarta.servlet.ServletOutputStream.print:(Ljava/lang/String;)V
        29: .line 2483
            aload 7 /* exception */
            ifnull 31
        30: .line 2484
            aload 7 /* exception */
            athrow
        31: .line 2486
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.io.IOException exception
        end local 6 // java.lang.String contentType
        end local 5 // org.apache.tomcat.util.http.parser.Ranges ranges
        end local 4 // jakarta.servlet.ServletOutputStream ostream
        end local 2 // long length
        end local 1 // org.apache.catalina.WebResource resource
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   32     0                 this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   32     1             resource  Lorg/apache/catalina/WebResource;
            0   32     2               length  J
            0   32     4              ostream  Ljakarta/servlet/ServletOutputStream;
            0   32     5               ranges  Lorg/apache/tomcat/util/http/parser/Ranges;
            0   32     6          contentType  Ljava/lang/String;
            1   32     7            exception  Ljava/io/IOException;
            3   26     8                range  Lorg/apache/tomcat/util/http/parser/Ranges$Entry;
            6   26    10  resourceInputStream  Ljava/io/InputStream;
            8   22    13              istream  Ljava/io/InputStream;
           13   20    14                start  J
           14   20    16                  end  J
      Exception table:
        from    to  target  type
           8    20      21  any
           7    23      23  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      resource     
      length       
      ostream      
      ranges       
      contentType  

  protected java.io.IOException copyRange(java.io.InputStream, jakarta.servlet.ServletOutputStream);
    descriptor: (Ljava/io/InputStream;Ljakarta/servlet/ServletOutputStream;)Ljava/io/IOException;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // java.io.InputStream istream
        start local 2 // jakarta.servlet.ServletOutputStream ostream
         0: .line 2502
            aconst_null
            astore 3 /* exception */
        start local 3 // java.io.IOException exception
         1: .line 2503
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.input:I
            newarray 8
            astore 4 /* buffer */
        start local 4 // byte[] buffer
         2: .line 2504
            aload 4 /* buffer */
            arraylength
            istore 5 /* len */
        start local 5 // int len
         3: .line 2507
      StackMap locals: java.io.IOException byte[] int
      StackMap stack:
            aload 1 /* istream */
            aload 4 /* buffer */
            invokevirtual java.io.InputStream.read:([B)I
            istore 5 /* len */
         4: .line 2508
            iload 5 /* len */
            iconst_m1
            if_icmpne 6
         5: .line 2509
            goto 11
         6: .line 2510
      StackMap locals:
      StackMap stack:
            aload 2 /* ostream */
            aload 4 /* buffer */
            iconst_0
            iload 5 /* len */
            invokevirtual jakarta.servlet.ServletOutputStream.write:([BII)V
         7: .line 2511
            goto 3
      StackMap locals:
      StackMap stack: java.io.IOException
         8: astore 6 /* e */
        start local 6 // java.io.IOException e
         9: .line 2512
            aload 6 /* e */
            astore 3 /* exception */
        10: .line 2513
            iconst_m1
            istore 5 /* len */
        end local 6 // java.io.IOException e
        11: .line 2517
      StackMap locals:
      StackMap stack:
            aload 3 /* exception */
            areturn
        end local 5 // int len
        end local 4 // byte[] buffer
        end local 3 // java.io.IOException exception
        end local 2 // jakarta.servlet.ServletOutputStream ostream
        end local 1 // java.io.InputStream istream
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   12     1    istream  Ljava/io/InputStream;
            0   12     2    ostream  Ljakarta/servlet/ServletOutputStream;
            1   12     3  exception  Ljava/io/IOException;
            2   12     4     buffer  [B
            3   12     5        len  I
            9   11     6          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     5       8  Class java.io.IOException
           6     7       8  Class java.io.IOException
    MethodParameters:
         Name  Flags
      istream  
      ostream  

  protected java.io.IOException copyRange(java.io.Reader, java.io.PrintWriter);
    descriptor: (Ljava/io/Reader;Ljava/io/PrintWriter;)Ljava/io/IOException;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // java.io.Reader reader
        start local 2 // java.io.PrintWriter writer
         0: .line 2534
            aconst_null
            astore 3 /* exception */
        start local 3 // java.io.IOException exception
         1: .line 2535
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.input:I
            newarray 5
            astore 4 /* buffer */
        start local 4 // char[] buffer
         2: .line 2536
            aload 4 /* buffer */
            arraylength
            istore 5 /* len */
        start local 5 // int len
         3: .line 2539
      StackMap locals: java.io.IOException char[] int
      StackMap stack:
            aload 1 /* reader */
            aload 4 /* buffer */
            invokevirtual java.io.Reader.read:([C)I
            istore 5 /* len */
         4: .line 2540
            iload 5 /* len */
            iconst_m1
            if_icmpne 6
         5: .line 2541
            goto 11
         6: .line 2542
      StackMap locals:
      StackMap stack:
            aload 2 /* writer */
            aload 4 /* buffer */
            iconst_0
            iload 5 /* len */
            invokevirtual java.io.PrintWriter.write:([CII)V
         7: .line 2543
            goto 3
      StackMap locals:
      StackMap stack: java.io.IOException
         8: astore 6 /* e */
        start local 6 // java.io.IOException e
         9: .line 2544
            aload 6 /* e */
            astore 3 /* exception */
        10: .line 2545
            iconst_m1
            istore 5 /* len */
        end local 6 // java.io.IOException e
        11: .line 2549
      StackMap locals:
      StackMap stack:
            aload 3 /* exception */
            areturn
        end local 5 // int len
        end local 4 // char[] buffer
        end local 3 // java.io.IOException exception
        end local 2 // java.io.PrintWriter writer
        end local 1 // java.io.Reader reader
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   12     1     reader  Ljava/io/Reader;
            0   12     2     writer  Ljava/io/PrintWriter;
            1   12     3  exception  Ljava/io/IOException;
            2   12     4     buffer  [C
            3   12     5        len  I
            9   11     6          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     5       8  Class java.io.IOException
           6     7       8  Class java.io.IOException
    MethodParameters:
        Name  Flags
      reader  
      writer  

  protected java.io.IOException copyRange(java.io.InputStream, jakarta.servlet.ServletOutputStream, long, long);
    descriptor: (Ljava/io/InputStream;Ljakarta/servlet/ServletOutputStream;JJ)Ljava/io/IOException;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=15, args_size=5
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // java.io.InputStream istream
        start local 2 // jakarta.servlet.ServletOutputStream ostream
        start local 3 // long start
        start local 5 // long end
         0: .line 2569
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.debug:I
            bipush 10
            if_icmple 2
         1: .line 2570
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Serving bytes:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 3 /* start */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 5 /* end */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.catalina.servlets.DefaultServlet.log:(Ljava/lang/String;)V
         2: .line 2572
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 7 /* skipped */
        start local 7 // long skipped
         3: .line 2574
            aload 1 /* istream */
            lload 3 /* start */
            invokevirtual java.io.InputStream.skip:(J)J
            lstore 7 /* skipped */
         4: .line 2575
            goto 7
      StackMap locals: org.apache.catalina.servlets.DefaultServlet java.io.InputStream jakarta.servlet.ServletOutputStream long long long
      StackMap stack: java.io.IOException
         5: astore 9 /* e */
        start local 9 // java.io.IOException e
         6: .line 2576
            aload 9 /* e */
            areturn
        end local 9 // java.io.IOException e
         7: .line 2578
      StackMap locals:
      StackMap stack:
            lload 7 /* skipped */
            lload 3 /* start */
            lcmp
            ifge 11
         8: .line 2579
            new java.io.IOException
            dup
            getstatic org.apache.catalina.servlets.DefaultServlet.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "defaultServlet.skipfail"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 2580
            lload 7 /* skipped */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            lload 3 /* start */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
        10: .line 2579
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            areturn
        11: .line 2583
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* exception */
        start local 9 // java.io.IOException exception
        12: .line 2584
            lload 5 /* end */
            lload 3 /* start */
            lsub
            lconst_1
            ladd
            lstore 10 /* bytesToRead */
        start local 10 // long bytesToRead
        13: .line 2586
            aload 0 /* this */
            getfield org.apache.catalina.servlets.DefaultServlet.input:I
            newarray 8
            astore 12 /* buffer */
        start local 12 // byte[] buffer
        14: .line 2587
            aload 12 /* buffer */
            arraylength
            istore 13 /* len */
        start local 13 // int len
        15: .line 2588
            goto 29
        16: .line 2590
      StackMap locals: org.apache.catalina.servlets.DefaultServlet java.io.InputStream jakarta.servlet.ServletOutputStream long long long java.io.IOException long byte[] int
      StackMap stack:
            aload 1 /* istream */
            aload 12 /* buffer */
            invokevirtual java.io.InputStream.read:([B)I
            istore 13 /* len */
        17: .line 2591
            lload 10 /* bytesToRead */
            iload 13 /* len */
            i2l
            lcmp
            iflt 21
        18: .line 2592
            aload 2 /* ostream */
            aload 12 /* buffer */
            iconst_0
            iload 13 /* len */
            invokevirtual jakarta.servlet.ServletOutputStream.write:([BII)V
        19: .line 2593
            lload 10 /* bytesToRead */
            iload 13 /* len */
            i2l
            lsub
            lstore 10 /* bytesToRead */
        20: .line 2594
            goto 27
        21: .line 2595
      StackMap locals:
      StackMap stack:
            aload 2 /* ostream */
            aload 12 /* buffer */
            iconst_0
            lload 10 /* bytesToRead */
            l2i
            invokevirtual jakarta.servlet.ServletOutputStream.write:([BII)V
        22: .line 2596
            lconst_0
            lstore 10 /* bytesToRead */
        23: .line 2598
            goto 27
      StackMap locals:
      StackMap stack: java.io.IOException
        24: astore 14 /* e */
        start local 14 // java.io.IOException e
        25: .line 2599
            aload 14 /* e */
            astore 9 /* exception */
        26: .line 2600
            iconst_m1
            istore 13 /* len */
        end local 14 // java.io.IOException e
        27: .line 2602
      StackMap locals:
      StackMap stack:
            iload 13 /* len */
            aload 12 /* buffer */
            arraylength
            if_icmpge 29
        28: .line 2603
            goto 30
        29: .line 2588
      StackMap locals:
      StackMap stack:
            lload 10 /* bytesToRead */
            lconst_0
            lcmp
            ifle 30
            iload 13 /* len */
            aload 12 /* buffer */
            arraylength
            if_icmpge 16
        30: .line 2606
      StackMap locals:
      StackMap stack:
            aload 9 /* exception */
            areturn
        end local 13 // int len
        end local 12 // byte[] buffer
        end local 10 // long bytesToRead
        end local 9 // java.io.IOException exception
        end local 7 // long skipped
        end local 5 // long end
        end local 3 // long start
        end local 2 // jakarta.servlet.ServletOutputStream ostream
        end local 1 // java.io.InputStream istream
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   31     0         this  Lorg/apache/catalina/servlets/DefaultServlet;
            0   31     1      istream  Ljava/io/InputStream;
            0   31     2      ostream  Ljakarta/servlet/ServletOutputStream;
            0   31     3        start  J
            0   31     5          end  J
            3   31     7      skipped  J
            6    7     9            e  Ljava/io/IOException;
           12   31     9    exception  Ljava/io/IOException;
           13   31    10  bytesToRead  J
           14   31    12       buffer  [B
           15   31    13          len  I
           25   27    14            e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
          16    23      24  Class java.io.IOException
    MethodParameters:
         Name  Flags
      istream  
      ostream  
      start    
      end      

  private char getOrderChar(org.apache.catalina.servlets.DefaultServlet$SortManager$Order, char);
    descriptor: (Lorg/apache/catalina/servlets/DefaultServlet$SortManager$Order;C)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.catalina.servlets.DefaultServlet this
        start local 1 // org.apache.catalina.servlets.DefaultServlet$SortManager$Order order
        start local 2 // char column
         0: .line 2671
            iload 2 /* column */
            aload 1 /* order */
            getfield org.apache.catalina.servlets.DefaultServlet$SortManager$Order.column:C
            if_icmpne 4
         1: .line 2672
            aload 1 /* order */
            getfield org.apache.catalina.servlets.DefaultServlet$SortManager$Order.ascending:Z
            ifeq 3
         2: .line 2673
            bipush 68
            ireturn
         3: .line 2675
      StackMap locals:
      StackMap stack:
            bipush 65
            ireturn
         4: .line 2678
      StackMap locals:
      StackMap stack:
            bipush 68
            ireturn
        end local 2 // char column
        end local 1 // org.apache.catalina.servlets.DefaultServlet$SortManager$Order order
        end local 0 // org.apache.catalina.servlets.DefaultServlet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/apache/catalina/servlets/DefaultServlet;
            0    5     1   order  Lorg/apache/catalina/servlets/DefaultServlet$SortManager$Order;
            0    5     2  column  C
    MethodParameters:
        Name  Flags
      order   
      column  
}
SourceFile: "DefaultServlet.java"
NestMembers:
  org.apache.catalina.servlets.DefaultServlet$CompressionFormat  org.apache.catalina.servlets.DefaultServlet$DirsFirstComparator  org.apache.catalina.servlets.DefaultServlet$PrecompressedResource  org.apache.catalina.servlets.DefaultServlet$ResourceLastModifiedDateComparator  org.apache.catalina.servlets.DefaultServlet$ResourceNameComparator  org.apache.catalina.servlets.DefaultServlet$ResourceSizeComparator  org.apache.catalina.servlets.DefaultServlet$SecureEntityResolver  org.apache.catalina.servlets.DefaultServlet$SortManager  org.apache.catalina.servlets.DefaultServlet$SortManager$Order
InnerClasses:
  protected CompressionFormat = org.apache.catalina.servlets.DefaultServlet$CompressionFormat of org.apache.catalina.servlets.DefaultServlet
  private DirsFirstComparator = org.apache.catalina.servlets.DefaultServlet$DirsFirstComparator of org.apache.catalina.servlets.DefaultServlet
  private PrecompressedResource = org.apache.catalina.servlets.DefaultServlet$PrecompressedResource of org.apache.catalina.servlets.DefaultServlet
  private ResourceLastModifiedDateComparator = org.apache.catalina.servlets.DefaultServlet$ResourceLastModifiedDateComparator of org.apache.catalina.servlets.DefaultServlet
  private ResourceNameComparator = org.apache.catalina.servlets.DefaultServlet$ResourceNameComparator of org.apache.catalina.servlets.DefaultServlet
  private ResourceSizeComparator = org.apache.catalina.servlets.DefaultServlet$ResourceSizeComparator of org.apache.catalina.servlets.DefaultServlet
  private SecureEntityResolver = org.apache.catalina.servlets.DefaultServlet$SecureEntityResolver of org.apache.catalina.servlets.DefaultServlet
  private SortManager = org.apache.catalina.servlets.DefaultServlet$SortManager of org.apache.catalina.servlets.DefaultServlet
  public Order = org.apache.catalina.servlets.DefaultServlet$SortManager$Order of org.apache.catalina.servlets.DefaultServlet$SortManager
  public Entry = org.apache.tomcat.util.http.parser.Ranges$Entry of org.apache.tomcat.util.http.parser.Ranges