<?xml version="1.0" encoding="ISO-8859-1"?>
<!--

	Copyright (c) 2021 Contributors to Eclipse Foundation.
    Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

  <!-- ======================== Introduction ============================== -->


  <!-- The default deployment descriptor.                                   -->
  <!--                                                                      -->
  <!-- The default deployment descriptor specifies default deployment       -->
  <!-- descriptor values inherited by any web applications deployed to      -->
  <!-- the application server.                                              -->


  <!-- ============ Built In Context Init Parameter Definitions =========== -->


  <!-- Init parameter to force the XML validation of JSF configuration  -->
  <!-- resources.                                                       -->

  <context-param>
      <param-name>com.sun.faces.validateXml</param-name>
      <param-value>true</param-value>
  </context-param>

  <!-- Init parameter will cause the JSF implementation to bypass      -->
  <!-- processing the web.xml to determine if we should continue       -->
  <!-- bootstrapping JSF for the web application.                      -->

  <context-param>
      <param-name>com.sun.faces.forceLoadConfiguration</param-name>
      <param-value>true</param-value>
  </context-param>


  <!-- ================== Built In Servlet Definitions ==================== -->


  <!-- The DefaultServlet, which is responsible for serving static          -->
  <!-- resources.                                                           -->
  <!-- This servlet processes any requests that are not mapped to other     -->
  <!-- servlets with servlet mappings (defined either here or in your own   -->
  <!-- web.xml file.  This servlet supports the following initialization    -->
  <!-- parameters (default values have been placed in square brackets):     -->
  <!--                                                                      -->
  <!--   debug               Debugging detail level for messages logged     -->
  <!--                       by this servlet.  [0]                          -->
  <!--                                                                      -->
  <!--   fileEncoding        Encoding to be used to read static resources   -->
  <!--                       [platform default]                             -->
  <!--                                                                      -->
  <!--   input               Input buffer size (in bytes) when reading      -->
  <!--                       resources to be served.  [2048]                -->
  <!--                                                                      -->
  <!--   listings            Should directory listings be produced if there -->
  <!--                       is no welcome file in this directory?  [false] -->
  <!--                       WARNING: Listings for directories with many    -->
  <!--                       entries can be slow and may consume            -->
  <!--                       significant proportions of server resources.   -->
  <!--                                                                      -->
  <!--   sortedBy            Specifies the criteria that will be used for   -->
  <!--                       sorting directory entries. Legal values are    -->
  <!--                       NAME, SIZE, and LAST_MODIFIED.  [NAME]         -->
  <!--                                                                      -->
  <!--   output              Output buffer size (in bytes) when writing     -->
  <!--                       resources to be served.  [2048]                -->
  <!--                                                                      -->
  <!--   readonly            Is this context "read only", so HTTP           -->
  <!--                       commands like PUT and DELETE are               -->
  <!--                       rejected?  [true]                              -->
  <!--                                                                      -->
  <!--   readmeFile          File name to display with the directory        -->
  <!--                       contents. [null]                               -->
  <!--                                                                      -->
  <!--   sendfileSize        If the connector used supports sendfile, this  -->
  <!--                       represents the minimal file size in KB for     -->
  <!--                       which sendfile will be used. Use a negative    -->
  <!--                       value to always disable sendfile.  [48]        -->
  <!--                                                                      -->
  <!--   useAcceptRanges     Should the Accept-Ranges header be included    -->
  <!--                       in responses where appropriate? [true]         -->
  <!--                                                                      -->
  <!--  For directory listing customization. Checks localXsltFile, then     -->
  <!--  globalXsltFile, then defaults to original behavior.                 -->
  <!--                                                                      -->
  <!--   localXsltFile       Make directory listings an XML doc and         -->
  <!--                       pass the result to this style sheet residing   -->
  <!--                       in that directory. This overrides              -->
  <!--                        globalXsltFile[null]                          -->
  <!--                                                                      -->
  <!--   globalXsltFile      Site wide configuration version of             -->
  <!--                       localXsltFile This argument is expected        -->
  <!--                       to be a physical file. [null]                  -->

  <servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
    <init-param>
      <param-name>debug</param-name>
      <param-value>0</param-value>
    </init-param>
    <init-param>
      <param-name>listings</param-name>
      <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>


  <!-- The JSP page compiler and execution servlet, which is the mechanism  -->
  <!-- used by the application server to support JSP pages.  Traditionally, -->
  <!-- this servlet is mapped to the URL pattern "*.jsp".                   -->
  <!-- This servlet supports the following initialization parameters        -->
  <!-- (default values have been placed in square brackets):                -->
  <!--                                                                      -->
  <!--   checkInterval       If development is false and checkInterval is   -->
  <!--                       greater than zero, background compilations are -->
  <!--                       enabled. checkInterval is the time in seconds  -->
  <!--                       between checks to see if a JSP page needs to   -->
  <!--                       be recompiled. [0]                             -->
  <!--                                                                      -->
  <!--   modificationTestInterval                                           -->
  <!--                       Causes a JSP (and its dependent files) to not  -->
  <!--                       be checked for modification during the         -->
  <!--                       specified time interval (in seconds) from the  -->
  <!--                       last time the JSP was checked for              -->
  <!--                       modification. A value of 0 will cause the JSP  -->
  <!--                       to be checked on every access.                 -->
  <!--                       Used in development mode only. [0]             -->
  <!--                                                                      -->
  <!--   compiler            Which compiler Ant should use to compile JSP   -->
  <!--                       pages.  See the Ant documentation for more     -->
  <!--                       information. [javac]                           -->
  <!--                                                                      -->
  <!--   classdebuginfo      Should the class file be compiled with         -->
  <!--                       debugging information?  [true]                 -->
  <!--                                                                      -->
  <!--   classpath           What class path should I use while compiling   -->
  <!--                       generated servlets?  [Created dynamically      -->
  <!--                       based on the current web application]          -->
  <!--                                                                      -->
  <!--   development         Is Jasper used in development mode? If true,   -->
  <!--                       the frequency at which JSPs are checked for    -->
  <!--                       modification may be specified via the          -->
  <!--                       modificationTestInterval parameter. [true]     -->
  <!--                                                                      -->
  <!--   enablePooling       Determines whether tag handler pooling is      -->
  <!--                       enabled  [true]                                -->
  <!--                                                                      -->
  <!--   fork                Tell Ant to fork compiles of JSP pages so that -->
  <!--                       JSP pages are compiled in their own JVM        -->
  <!--                       (separate from the JVM that the application    -->
  <!--                       server is running in). [true]                  -->
  <!--                                                                      -->
  <!--   ieClassId           The class-id value to be sent to Internet      -->
  <!--                       Explorer when using <jsp:plugin> tags.         -->
  <!--                       [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93]   -->
  <!--                                                                      -->
  <!--   javaEncoding        Java file encoding to use for generating java  -->
  <!--                       source files. [UTF8]                           -->
  <!--                                                                      -->
  <!--   keepgenerated       Should we keep the generated Java source code  -->
  <!--                       for each page instead of deleting it?          -->
  <!--                       [true with JDK 5 and before, or for jspc]      -->
  <!--                       [false otherwise]                              -->
  <!--                                                                      -->
  <!--   saveBytecode        Should the generated byte code be saved to     -->
  <!--                       .class files?  This option is meaningful only  -->
  <!--                       when Java compiler API, JSR199 (available with -->
  <!--                       JDK 6) is used for javac compilations.         -->
  <!--                       [false] [true for jspc]                        -->
  <!--                                                                      -->
  <!--   mappedfile          Should we generate static content with one     -->
  <!--                       print statement per input line, to ease        -->
  <!--                       debugging?  [true]                             -->
  <!--                                                                      -->
  <!--   trimSpaces          Should white spaces in template text between   -->
  <!--                       actions or directives be trimmed?  [false]     -->
  <!--                                                                      -->
  <!--   suppressSmap        Should the generation of SMAP info for JSR45   -->
  <!--                       debugging be suppressed?  [false]              -->
  <!--                                                                      -->
  <!--   dumpSmap            Should the SMAP info for JSR45 debugging be    -->
  <!--                       dumped to a file? [false]                      -->
  <!--                       False if suppressSmap is true                  -->
  <!--                                                                      -->
  <!--   genStrAsCharArray   Should text strings be generated as char       -->
  <!--                       arrays, to improve performance in some cases?  -->
  <!--                       [false]                                        -->
  <!--                                                                      -->
  <!--   genStrAsByteArray   Should text strings be generated as bytes      -->
  <!--                       (encoded with the page encoding), if the page  -->
  <!--                       is not buffered?                               -->
  <!--                       [true]                                         -->
  <!--                                                                      -->
  <!--   defaultBufferNone   Should the default for the buffer attribute of -->
  <!--                       the page directive be "none"?  [false]         -->
  <!--                                                                      -->
  <!--   errorOnUseBeanInvalidClassAttribute                                -->
  <!--                       Should Jasper issue an error when the value of -->
  <!--                       the class attribute in an useBean action is    -->
  <!--                       not a valid bean class?  [false]               -->
  <!--                                                                      -->
  <!--   scratchdir          What scratch directory should we use when      -->
  <!--                       compiling JSP pages?  [default work directory  -->
  <!--                       for the current web application]               -->
  <!--                                                                      -->
  <!--   xpoweredBy          Determines whether X-Powered-By response       -->
  <!--                       header is added by generated servlet  [true]   -->
  <!--                                                                      -->
  <!--   usePrecompiled      If true, it is assumed that JSPs have been     -->
  <!--                       precompiled, and their corresponding servlet   -->
  <!--                       classes have been bundled in the web           -->
  <!--                       application's WEB-INF/lib or WEB-INF/classes,  -->
  <!--                       so that when a JSP is accessed, it is not      -->
  <!--                       compiled, and instead, its precompiled servlet -->
  <!--                       class is used. [false]                         -->
  <!--                                                                      -->
  <!--   use-precompiled     Same as usePrecompiled. If both are specified, -->
  <!--                       usePrecompiled takes precedence                -->
  <!--                                                                      -->
  <!--   initialCapacity     Initial capacity of HashMap mapping JSPs to    -->
  <!--                       their corresponding servlets [32]              -->
  <!--                                                                      -->
  <!--   initial-capacity    Same as initialCapacity. If both are specified,-->
  <!--                       initialCapacity takes precedence               -->
  <!--                                                                      -->
  <!--   httpMethods         Comma separated list of HTTP methods supported -->
  <!--                       by the JspServlet. Wildcard ("*") denotes      -->
  <!--                       "ALL METHODS". [ALL METHODS]                   -->
  <!--                                                                      -->
  <!--   reload-interval     Specifies the frequency (in seconds) at which  -->
  <!--                       JSP files are checked for modifications.       -->
  <!--                       Setting this value to 0 checks JSPs for        -->
  <!--                       modifications on every request. Setting this   -->
  <!--                       value to -1 disables checks for JSP            -->
  <!--                       modifications and JSP recompilation.           -->
  <!--                                                                      -->
  <!--   compilerSourceVM    Provides source compatibility with the         -->
  <!--                       specified JDK release (same as -source         -->
  <!--                       javac command-line switch)                     -->
  <!--                                                                      -->
  <!--   compilerTargetVM    Generates class files for specified VM version -->
  <!--                       (same as -target javac command-line switch)    -->
  <!--                                                                      -->
  <!-- If you wish to use Jikes to compile JSP pages:                       -->
  <!-- * Set the "classpath" initialization parameter appropriately         -->
  <!--   for this web application.                                          -->
  <!-- * Set the "jspCompilerPlugin" initialization parameter to            -->
  <!--   "org.apache.jasper.compiler.JikesJavaCompiler".                    -->

  <servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.glassfish.wasp.servlet.JspServlet</servlet-class>
    <init-param>
      <param-name>xpoweredBy</param-name>
      <param-value>true</param-value>
    </init-param>
    <load-on-startup>3</load-on-startup>
  </servlet>


  <!-- NOTE: An SSI Filter is also available as an alternative SSI          -->
  <!-- implementation. Use either the Servlet or the Filter but NOT both.   -->
  <!--                                                                      -->
  <!-- Server Side Includes processing servlet, which processes SSI         -->
  <!-- directives in HTML pages consistent with similar support in web      -->
  <!-- servers like Apache.  Traditionally, this servlet is mapped to the   -->
  <!-- URL pattern "*.shtml".  This servlet supports the following          -->
  <!-- initialization parameters (default values are in square brackets):   -->
  <!--                                                                      -->
  <!--   buffered            Should output from this servlet be buffered?   -->
  <!--                       (0=false, 1=true)  [0]                         -->
  <!--                                                                      -->
  <!--   debug               Debugging detail level for messages logged     -->
  <!--                       by this servlet.  [0]                          -->
  <!--                                                                      -->
  <!--   expires             The number of seconds before a page with SSI   -->
  <!--                       directives will expire.  [No default]          -->
  <!--                                                                      -->
  <!--   isVirtualWebappRelative                                            -->
  <!--                       Should "virtual" paths be interpreted as       -->
  <!--                       relative to the context root, instead of       -->
  <!--                       the server root?  (0=false, 1=true) [0]        -->
  <!--                                                                      -->
  <!--   inputEncoding       The encoding to assume for SSI resources if    -->
  <!--                       one is not available from the resource.        -->
  <!--                       [Platform default]                             -->
  <!--                                                                      -->
  <!--   outputEncoding      The encoding to use for the page that results  -->
  <!--                       from the SSI processing. [UTF-8]               -->

<!--
  <servlet>
    <servlet-name>ssi</servlet-name>
    <servlet-class>org.apache.catalina.ssi.SSIServlet</servlet-class>
    <init-param>
      <param-name>buffered</param-name>
      <param-value>1</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>0</param-value>
    </init-param>
    <init-param>
      <param-name>expires</param-name>
      <param-value>666</param-value>
    </init-param>
    <init-param>
      <param-name>isVirtualWebappRelative</param-name>
      <param-value>0</param-value>
    </init-param>
    <load-on-startup>4</load-on-startup>
  </servlet>
-->


  <!-- Common Gateway Includes (CGI) processing servlet, which supports     -->
  <!-- execution of external applications that conform to the CGI spec      -->
  <!-- requirements.  Typically, this servlet is mapped to the URL pattern  -->
  <!-- "/cgi-bin/*", which means that any CGI applications that are         -->
  <!-- executed must be present within the web application.  This servlet   -->
  <!-- supports the following initialization parameters (default values     -->
  <!-- are in square brackets):                                             -->
  <!--                                                                      -->
  <!--   cgiPathPrefix        The CGI search path will start at             -->
  <!--                        webAppRootDir + File.separator + this prefix. -->
  <!--                        [WEB-INF/cgi]                                 -->
  <!--                                                                      -->
  <!--   debug                Debugging detail level for messages logged    -->
  <!--                        by this servlet.  [0]                         -->
  <!--                                                                      -->
  <!--   executable           Name of the executable used to run the        -->
  <!--                        script. [perl]                                -->
  <!--                                                                      -->
  <!--   parameterEncoding    Name of parameter encoding to be used with    -->
  <!--                        CGI servlet.                                  -->
  <!--                        [System.getProperty("file.encoding","UTF-8")] -->
  <!--                                                                      -->
  <!--   passShellEnvironment Should the shell environment variables (if    -->
  <!--                        any) be passed to the CGI script? [false]     -->
  <!--                                                                      -->
  <!--   stderrTimeout        The time (in milliseconds) to wait for the    -->
  <!--                        reading of stderr to complete before          -->
  <!--                        terminating the CGI process. [2000]           -->


<!--
  <servlet>
    <servlet-name>cgi</servlet-name>
    <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
    <init-param>
      <param-name>debug</param-name>
      <param-value>0</param-value>
    </init-param>
    <init-param>
      <param-name>cgiPathPrefix</param-name>
      <param-value>WEB-INF/cgi</param-value>
    </init-param>
    <load-on-startup>5</load-on-startup>
  </servlet>
-->


  <!-- ================ Built In Servlet Mappings ========================= -->

  <!-- The mapping for the default servlet -->
  <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <!-- The mapping for the JSP servlet -->
  <servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jsp</url-pattern>
    <url-pattern>*.jspx</url-pattern>
  </servlet-mapping>

  <!-- The mapping for the SSI servlet -->
<!--
  <servlet-mapping>
    <servlet-name>ssi</servlet-name>
    <url-pattern>*.shtml</url-pattern>
  </servlet-mapping>
-->

  <!-- The mapping for the CGI Gateway servlet -->
<!--
  <servlet-mapping>
    <servlet-name>cgi</servlet-name>
    <url-pattern>/cgi-bin/*</url-pattern>
  </servlet-mapping>
-->


  <!-- ================== Built In Filter Definitions ===================== -->

  <!-- NOTE: An SSI Servlet is also available as an alternative SSI         -->
  <!-- implementation. Use either the Servlet or the Filter but NOT both.   -->
  <!--                                                                      -->
  <!-- Server Side Includes processing filter, which processes SSI          -->
  <!-- directives in HTML pages consistent with similar support in web      -->
  <!-- servers like Apache.  Traditionally, this filter is mapped to the    -->
  <!-- URL pattern "*.shtml", though it can be mapped to "*" as it will     -->
  <!-- selectively enable/disable SSI processing based on mime types. For   -->
  <!-- this to work you will need to uncomment the .shtml mime type         -->
  <!-- definition towards the bottom of this file.                          -->
  <!-- The contentType init param allows you to apply SSI processing to JSP -->
  <!-- pages, javascript, or any other content you wish.  This filter       -->
  <!-- supports the following initialization parameters (default values are -->
  <!-- in square brackets):                                                 -->
  <!--                                                                      -->
  <!--   contentType         A regex pattern that must be matched before    -->
  <!--                       SSI processing is applied.                     -->
  <!--                       [text/x-server-parsed-html(;.*)?]              -->
  <!--                                                                      -->
  <!--   debug               Debugging detail level for messages logged     -->
  <!--                       by this servlet.  [0]                          -->
  <!--                                                                      -->
  <!--   expires             The number of seconds before a page with SSI   -->
  <!--                       directives will expire.  [No default]          -->
  <!--                                                                      -->
  <!--   isVirtualWebappRelative                                            -->
  <!--                       Should "virtual" paths be interpreted as       -->
  <!--                       relative to the context root, instead of       -->
  <!--                       the server root?  (0=false, 1=true) [0]        -->

<!--
  <filter>
    <filter-name>ssi</filter-name>
    <filter-class>
      org.apache.catalina.ssi.SSIFilter
    </filter-class>
    <init-param>
      <param-name>contentType</param-name>
      <param-value>text/x-server-parsed-html(;.*)?</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>0</param-value>
    </init-param>
    <init-param>
      <param-name>expires</param-name>
      <param-value>666</param-value>
    </init-param>
    <init-param>
      <param-name>isVirtualWebappRelative</param-name>
      <param-value>0</param-value>
    </init-param>
  </filter>
-->


  <!-- ==================== Built In Filter Mappings ====================== -->

  <!-- The mapping for the SSI Filter -->
<!--
  <filter-mapping>
    <filter-name>ssi</filter-name>
    <url-pattern>*.shtml</url-pattern>
  </filter-mapping>
-->


  <!-- ==================== Default Session Configuration ================= -->

  <!-- You can set the default session timeout (in minutes) for all newly   -->
  <!-- created sessions by modifying the value below.                       -->

  <session-config>
    <session-timeout>30</session-timeout>
  </session-config>


  <!-- ===================== Default MIME Type Mappings =================== -->

  <!-- When serving static resources, the application server will           -->
  <!-- automatically generate a "Content-Type" response header from the     -->
  <!-- filename extension of the resource, based on these mappings.         -->
  <!-- Additional mappings may be specified here (to be shared by all       -->
  <!-- web applications) or in a web application's web.xml deployment       -->
  <!-- descriptor (for that web application's individual use).              -->

  <mime-mapping>
    <extension>abs</extension>
    <mime-type>audio/x-mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ai</extension>
    <mime-type>application/postscript</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>aif</extension>
    <mime-type>audio/x-aiff</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>aifc</extension>
    <mime-type>audio/x-aiff</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>aiff</extension>
    <mime-type>audio/x-aiff</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>aim</extension>
    <mime-type>application/x-aim</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>art</extension>
    <mime-type>image/x-jg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>asf</extension>
    <mime-type>video/x-ms-asf</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>asx</extension>
    <mime-type>video/x-ms-asf</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>au</extension>
    <mime-type>audio/basic</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>avi</extension>
    <mime-type>video/x-msvideo</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>avx</extension>
    <mime-type>video/x-rad-screenplay</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>bcpio</extension>
    <mime-type>application/x-bcpio</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>bin</extension>
    <mime-type>application/octet-stream</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>bmp</extension>
    <mime-type>image/bmp</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>body</extension>
    <mime-type>text/html</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>cdf</extension>
    <mime-type>application/x-cdf</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>cer</extension>
    <mime-type>application/x-x509-ca-cert</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>class</extension>
    <mime-type>application/java</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>cpio</extension>
    <mime-type>application/x-cpio</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>csh</extension>
    <mime-type>application/x-csh</mime-type>
  </mime-mapping>
   <mime-mapping>
    <extension>css</extension>
    <mime-type>text/css</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>dib</extension>
    <mime-type>image/bmp</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>doc</extension>
    <mime-type>application/msword</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>dtd</extension>
    <mime-type>application/xml-dtd</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>dv</extension>
    <mime-type>video/x-dv</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>dvi</extension>
    <mime-type>application/x-dvi</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>eps</extension>
    <mime-type>application/postscript</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>etx</extension>
    <mime-type>text/x-setext</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>exe</extension>
    <mime-type>application/octet-stream</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>gif</extension>
    <mime-type>image/gif</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>gk</extension>
    <mime-type>application/octet-stream</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>gtar</extension>
    <mime-type>application/x-gtar</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>gz</extension>
    <mime-type>application/x-gzip</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>hdf</extension>
    <mime-type>application/x-hdf</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>hqx</extension>
    <mime-type>application/mac-binhex40</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>htc</extension>
    <mime-type>text/x-component</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>htm</extension>
    <mime-type>text/html</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>html</extension>
    <mime-type>text/html</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>hqx</extension>
    <mime-type>application/mac-binhex40</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ico</extension>
    <mime-type>image/x-icon</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ief</extension>
    <mime-type>image/ief</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>jad</extension>
    <mime-type>text/vnd.sun.j2me.app-descriptor</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>jar</extension>
    <mime-type>application/java-archive</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>java</extension>
    <mime-type>text/plain</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>jnlp</extension>
    <mime-type>application/x-java-jnlp-file</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>jpe</extension>
    <mime-type>image/jpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>jpeg</extension>
    <mime-type>image/jpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>jpg</extension>
    <mime-type>image/jpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>js</extension>
    <mime-type>text/javascript</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>kar</extension>
    <mime-type>audio/x-midi</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>latex</extension>
    <mime-type>application/x-latex</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>m3u</extension>
    <mime-type>audio/x-mpegurl</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mac</extension>
    <mime-type>image/x-macpaint</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>man</extension>
    <mime-type>application/x-troff-man</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mathml</extension>
    <mime-type>application/mathml+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>me</extension>
    <mime-type>application/x-troff-me</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mid</extension>
    <mime-type>audio/x-midi</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>midi</extension>
    <mime-type>audio/x-midi</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mif</extension>
    <mime-type>application/x-mif</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mov</extension>
    <mime-type>video/quicktime</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>movie</extension>
    <mime-type>video/x-sgi-movie</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mp1</extension>
    <mime-type>audio/x-mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mp2</extension>
    <mime-type>audio/x-mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mp3</extension>
    <mime-type>audio/x-mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mpa</extension>
    <mime-type>audio/x-mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mpe</extension>
    <mime-type>video/mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mpeg</extension>
    <mime-type>video/mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mpega</extension>
    <mime-type>audio/x-mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mpg</extension>
    <mime-type>video/mpeg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>mpv2</extension>
    <mime-type>video/mpeg2</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ms</extension>
    <mime-type>application/x-wais-source</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>nc</extension>
    <mime-type>application/x-netcdf</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>oda</extension>
    <mime-type>application/oda</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ogg</extension>
    <mime-type>application/ogg</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pbm</extension>
    <mime-type>image/x-portable-bitmap</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pct</extension>
    <mime-type>image/pict</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pdf</extension>
    <mime-type>application/pdf</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pgm</extension>
    <mime-type>image/x-portable-graymap</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pic</extension>
    <mime-type>image/pict</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pict</extension>
    <mime-type>image/pict</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pls</extension>
    <mime-type>audio/x-scpls</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>png</extension>
    <mime-type>image/png</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pnm</extension>
    <mime-type>image/x-portable-anymap</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>pnt</extension>
    <mime-type>image/x-macpaint</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ppm</extension>
    <mime-type>image/x-portable-pixmap</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ppt</extension>
    <mime-type>application/powerpoint</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ps</extension>
    <mime-type>application/postscript</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>psd</extension>
    <mime-type>image/x-photoshop</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>qt</extension>
    <mime-type>video/quicktime</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>qti</extension>
    <mime-type>image/x-quicktime</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>qtif</extension>
    <mime-type>image/x-quicktime</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ras</extension>
    <mime-type>image/x-cmu-raster</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>rdf</extension>
    <mime-type>application/rdf+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>rgb</extension>
    <mime-type>image/x-rgb</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>rm</extension>
    <mime-type>application/vnd.rn-realmedia</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>roff</extension>
    <mime-type>application/x-troff</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>rtf</extension>
    <mime-type>application/rtf</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>rtx</extension>
    <mime-type>text/richtext</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>sh</extension>
    <mime-type>application/x-sh</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>shar</extension>
    <mime-type>application/x-shar</mime-type>
  </mime-mapping>
<!--
  <mime-mapping>
    <extension>shtml</extension>
    <mime-type>text/x-server-parsed-html</mime-type>
  </mime-mapping>
-->
  <mime-mapping>
    <extension>sit</extension>
    <mime-type>application/x-stuffit</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>smf</extension>
    <mime-type>audio/x-midi</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>snd</extension>
    <mime-type>audio/basic</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>src</extension>
    <mime-type>application/x-wais-source</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>sv4cpio</extension>
    <mime-type>application/x-sv4cpio</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>sv4crc</extension>
    <mime-type>application/x-sv4crc</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>svg</extension>
    <mime-type>image/svg+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>svgz</extension>
    <mime-type>image/svg+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>swf</extension>
    <mime-type>application/x-shockwave-flash</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>t</extension>
    <mime-type>application/x-troff</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>tar</extension>
    <mime-type>application/x-tar</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>tcl</extension>
    <mime-type>application/x-tcl</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>tex</extension>
    <mime-type>application/x-tex</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>texi</extension>
    <mime-type>application/x-texinfo</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>texinfo</extension>
    <mime-type>application/x-texinfo</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>tif</extension>
    <mime-type>image/tiff</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>tiff</extension>
    <mime-type>image/tiff</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>tr</extension>
    <mime-type>application/x-troff</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>tsv</extension>
    <mime-type>text/tab-separated-values</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>txt</extension>
    <mime-type>text/plain</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ulw</extension>
    <mime-type>audio/basic</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ustar</extension>
    <mime-type>application/x-ustar</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xbm</extension>
    <mime-type>image/x-xbitmap</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xml</extension>
    <mime-type>application/xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xpm</extension>
    <mime-type>image/x-xpixmap</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xsl</extension>
    <mime-type>application/xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xslt</extension>
    <mime-type>application/xslt+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xwd</extension>
    <mime-type>image/x-xwindowdump</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>vsd</extension>
    <mime-type>application/x-visio</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>vxml</extension>
    <mime-type>application/voicexml+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>wav</extension>
    <mime-type>audio/x-wav</mime-type>
  </mime-mapping>
  <mime-mapping> <!-- Wireless Bitmap -->
    <extension>wbmp</extension>
    <mime-type>image/vnd.wap.wbmp</mime-type>
  </mime-mapping>
  <mime-mapping> <!-- WML Source -->
    <extension>wml</extension>
    <mime-type>text/vnd.wap.wml</mime-type>
  </mime-mapping>
  <mime-mapping> <!-- Compiled WML -->
    <extension>wmlc</extension>
    <mime-type>application/vnd.wap.wmlc</mime-type>
  </mime-mapping>
  <mime-mapping> <!-- WML Script Source -->
    <extension>wmls</extension>
    <mime-type>text/vnd.wap.wmls</mime-type>
  </mime-mapping>
  <mime-mapping> <!-- Compiled WML Script -->
    <extension>wmlscriptc</extension>
    <mime-type>application/vnd.wap.wmlscriptc</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>wrl</extension>
    <mime-type>x-world/x-vrml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xht</extension>
    <mime-type>application/xhtml+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xhtml</extension>
    <mime-type>application/xhtml+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xls</extension>
    <mime-type>application/vnd.ms-excel</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>xul</extension>
    <mime-type>application/vnd.mozilla.xul+xml</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>Z</extension>
    <mime-type>application/x-compress</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>z</extension>
    <mime-type>application/x-compress</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>zip</extension>
    <mime-type>application/zip</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>odp</extension>
    <mime-type>application/x-vnd.oasis.opendocument.presentation</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>odt</extension>
    <mime-type>application/x-vnd.oasis.opendocument.text</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>ods</extension>
    <mime-type>application/x-vnd.oasis.opendocument.spreadsheet</mime-type>
  </mime-mapping>
  <mime-mapping>
    <extension>odg</extension>
    <mime-type>application/x-vnd.oasis.opendocument.graphics</mime-type>
  </mime-mapping>


  <!-- ==================== Default Welcome File List ===================== -->

  <!-- When a request URI refers to a directory, the default servlet looks  -->
  <!-- for a "welcome file" within that directory and, if present,          -->
  <!-- to the corresponding resource URI for display.  If no welcome file   -->
  <!-- is present, the default servlet either serves a directory listing,   -->
  <!-- or returns a 404 status, depending on how it is configured.          -->
  <!--                                                                      -->
  <!-- If you define welcome files in your own application's web.xml        -->
  <!-- deployment descriptor, that list *replaces* the list configured      -->
  <!-- here, so be sure that you include any of the default values that     -->
  <!-- you wish to include.                                                 -->


  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>

  <login-config>
    <auth-method>BASIC</auth-method>
  </login-config>

</web-app>

