diff --git a/mime.cpp b/mime.cpp new file mode 100644 index 0000000..49eb45e --- /dev/null +++ b/mime.cpp @@ -0,0 +1,1185 @@ +#include + +std::string guessMime(std::string ext) { + if("123" == ext) {return "application/vnd.lotus-1-2-3";} + if("1km" == ext) {return "application/vnd.1000minds.decision-model+xml";} + if("3dml" == ext) {return "text/vnd.in3d.3dml";} + if("3ds" == ext) {return "image/x-3ds";} + if("3g2" == ext) {return "video/3gpp2";} + if("3gp" == ext) {return "video/3gpp";} + if("3gpp" == ext) {return "audio/3gpp";} + if("3mf" == ext) {return "model/3mf";} + if("7z" == ext) {return "application/x-7z-compressed";} + if("aab" == ext) {return "application/x-authorware-bin";} + if("aac" == ext) {return "audio/aac";} + if("aam" == ext) {return "application/x-authorware-map";} + if("aas" == ext) {return "application/x-authorware-seg";} + if("abw" == ext) {return "application/x-abiword";} + if("ac" == ext) {return "application/pkix-attr-cert";} + if("acc" == ext) {return "application/vnd.americandynamics.acc";} + if("ace" == ext) {return "application/x-ace-compressed";} + if("acu" == ext) {return "application/vnd.acucobol";} + if("acutc" == ext) {return "application/vnd.acucorp";} + if("adp" == ext) {return "audio/adpcm";} + if("adts" == ext) {return "audio/aac";} + if("aep" == ext) {return "application/vnd.audiograph";} + if("afm" == ext) {return "application/x-font-type1";} + if("afp" == ext) {return "application/vnd.ibm.modcap";} + if("age" == ext) {return "application/vnd.age";} + if("ahead" == ext) {return "application/vnd.ahead.space";} + if("ai" == ext) {return "application/postscript";} + if("aif" == ext) {return "audio/x-aiff";} + if("aifc" == ext) {return "audio/x-aiff";} + if("aiff" == ext) {return "audio/x-aiff";} + if("air" == ext) {return "application/vnd.adobe.air-application-installer-package+zip";} + if("ait" == ext) {return "application/vnd.dvb.ait";} + if("ami" == ext) {return "application/vnd.amiga.ami";} + if("aml" == ext) {return "application/automationml-aml+xml";} + if("amlx" == ext) {return "application/automationml-amlx+zip";} + if("amr" == ext) {return "audio/amr";} + if("apk" == ext) {return "application/vnd.android.package-archive";} + if("apng" == ext) {return "image/apng";} + if("appcache" == ext) {return "text/cache-manifest";} + if("appx" == ext) {return "application/appx";} + if("apr" == ext) {return "application/vnd.lotus-approach";} + if("arc" == ext) {return "application/x-freearc";} + if("arj" == ext) {return "application/x-arj";} + if("asc" == ext) {return "application/pgp-keys";} + if("asf" == ext) {return "video/x-ms-asf";} + if("asm" == ext) {return "text/x-asm";} + if("aso" == ext) {return "application/vnd.accpac.simply.aso";} + if("asx" == ext) {return "video/x-ms-asf";} + if("atc" == ext) {return "application/vnd.acucorp";} + if("atom" == ext) {return "application/atom+xml";} + if("atomcat" == ext) {return "application/atomcat+xml";} + if("atomsvc" == ext) {return "application/atomsvc+xml";} + if("atx" == ext) {return "application/vnd.antix.game-component";} + if("au" == ext) {return "audio/basic";} + if("avci" == ext) {return "image/avci";} + if("avcs" == ext) {return "image/avcs";} + if("avi" == ext) {return "video/x-msvideo";} + if("avif" == ext) {return "image/avif";} + if("aw" == ext) {return "application/applixware";} + if("azf" == ext) {return "application/vnd.airzip.filesecure.azf";} + if("azs" == ext) {return "application/vnd.airzip.filesecure.azs";} + if("azv" == ext) {return "image/vnd.airzip.accelerator.azv";} + if("azw" == ext) {return "application/vnd.amazon.ebook";} + if("b16" == ext) {return "image/vnd.pco.b16";} + if("bat" == ext) {return "application/x-msdownload";} + if("bcpio" == ext) {return "application/x-bcpio";} + if("bdf" == ext) {return "application/x-font-bdf";} + if("bdm" == ext) {return "application/vnd.syncml.dm+wbxml";} + if("bdoc" == ext) {return "application/bdoc";} + if("bed" == ext) {return "application/vnd.realvnc.bed";} + if("bh2" == ext) {return "application/vnd.fujitsu.oasysprs";} + if("bin" == ext) {return "application/octet-stream";} + if("blb" == ext) {return "application/x-blorb";} + if("blorb" == ext) {return "application/x-blorb";} + if("bmi" == ext) {return "application/vnd.bmi";} + if("bmml" == ext) {return "application/vnd.balsamiq.bmml+xml";} + if("bmp" == ext) {return "image/bmp";} + if("book" == ext) {return "application/vnd.framemaker";} + if("box" == ext) {return "application/vnd.previewsystems.box";} + if("boz" == ext) {return "application/x-bzip2";} + if("bpk" == ext) {return "application/octet-stream";} + if("bsp" == ext) {return "model/vnd.valve.source.compiled-map";} + if("btf" == ext) {return "image/prs.btif";} + if("btif" == ext) {return "image/prs.btif";} + if("buffer" == ext) {return "application/octet-stream";} + if("bz" == ext) {return "application/x-bzip";} + if("bz2" == ext) {return "application/x-bzip2";} + if("c" == ext) {return "text/x-c";} + if("c11amc" == ext) {return "application/vnd.cluetrust.cartomobile-config";} + if("c11amz" == ext) {return "application/vnd.cluetrust.cartomobile-config-pkg";} + if("c4d" == ext) {return "application/vnd.clonk.c4group";} + if("c4f" == ext) {return "application/vnd.clonk.c4group";} + if("c4g" == ext) {return "application/vnd.clonk.c4group";} + if("c4p" == ext) {return "application/vnd.clonk.c4group";} + if("c4u" == ext) {return "application/vnd.clonk.c4group";} + if("cab" == ext) {return "application/vnd.ms-cab-compressed";} + if("caf" == ext) {return "audio/x-caf";} + if("cap" == ext) {return "application/vnd.tcpdump.pcap";} + if("car" == ext) {return "application/vnd.curl.car";} + if("cat" == ext) {return "application/vnd.ms-pki.seccat";} + if("cb7" == ext) {return "application/x-cbr";} + if("cba" == ext) {return "application/x-cbr";} + if("cbr" == ext) {return "application/x-cbr";} + if("cbt" == ext) {return "application/x-cbr";} + if("cbz" == ext) {return "application/x-cbr";} + if("cc" == ext) {return "text/x-c";} + if("cco" == ext) {return "application/x-cocoa";} + if("cct" == ext) {return "application/x-director";} + if("ccxml" == ext) {return "application/ccxml+xml";} + if("cdbcmsg" == ext) {return "application/vnd.contact.cmsg";} + if("cdf" == ext) {return "application/x-netcdf";} + if("cdfx" == ext) {return "application/cdfx+xml";} + if("cdkey" == ext) {return "application/vnd.mediastation.cdkey";} + if("cdmia" == ext) {return "application/cdmi-capability";} + if("cdmic" == ext) {return "application/cdmi-container";} + if("cdmid" == ext) {return "application/cdmi-domain";} + if("cdmio" == ext) {return "application/cdmi-object";} + if("cdmiq" == ext) {return "application/cdmi-queue";} + if("cdx" == ext) {return "chemical/x-cdx";} + if("cdxml" == ext) {return "application/vnd.chemdraw+xml";} + if("cdy" == ext) {return "application/vnd.cinderella";} + if("cer" == ext) {return "application/pkix-cert";} + if("cfs" == ext) {return "application/x-cfs-compressed";} + if("cgm" == ext) {return "image/cgm";} + if("chat" == ext) {return "application/x-chat";} + if("chm" == ext) {return "application/vnd.ms-htmlhelp";} + if("chrt" == ext) {return "application/vnd.kde.kchart";} + if("cif" == ext) {return "chemical/x-cif";} + if("cii" == ext) {return "application/vnd.anser-web-certificate-issue-initiation";} + if("cil" == ext) {return "application/vnd.ms-artgalry";} + if("cjs" == ext) {return "application/node";} + if("cla" == ext) {return "application/vnd.claymore";} + if("class" == ext) {return "application/java-vm";} + if("cld" == ext) {return "model/vnd.cld";} + if("clkk" == ext) {return "application/vnd.crick.clicker.keyboard";} + if("clkp" == ext) {return "application/vnd.crick.clicker.palette";} + if("clkt" == ext) {return "application/vnd.crick.clicker.template";} + if("clkw" == ext) {return "application/vnd.crick.clicker.wordbank";} + if("clkx" == ext) {return "application/vnd.crick.clicker";} + if("clp" == ext) {return "application/x-msclip";} + if("cmc" == ext) {return "application/vnd.cosmocaller";} + if("cmdf" == ext) {return "chemical/x-cmdf";} + if("cml" == ext) {return "chemical/x-cml";} + if("cmp" == ext) {return "application/vnd.yellowriver-custom-menu";} + if("cmx" == ext) {return "image/x-cmx";} + if("cod" == ext) {return "application/vnd.rim.cod";} + if("coffee" == ext) {return "text/coffeescript";} + if("com" == ext) {return "application/x-msdownload";} + if("conf" == ext) {return "text/plain";} + if("cpio" == ext) {return "application/x-cpio";} + if("cpl" == ext) {return "application/cpl+xml";} + if("cpp" == ext) {return "text/x-c";} + if("cpt" == ext) {return "application/mac-compactpro";} + if("crd" == ext) {return "application/x-mscardfile";} + if("crl" == ext) {return "application/pkix-crl";} + if("crt" == ext) {return "application/x-x509-ca-cert";} + if("crx" == ext) {return "application/x-chrome-extension";} + if("csh" == ext) {return "application/x-csh";} + if("csl" == ext) {return "application/vnd.citationstyles.style+xml";} + if("csml" == ext) {return "chemical/x-csml";} + if("csp" == ext) {return "application/vnd.commonspace";} + if("css" == ext) {return "text/css";} + if("cst" == ext) {return "application/x-director";} + if("csv" == ext) {return "text/csv";} + if("cu" == ext) {return "application/cu-seeme";} + if("curl" == ext) {return "text/vnd.curl";} + if("cwl" == ext) {return "application/cwl";} + if("cww" == ext) {return "application/prs.cww";} + if("cxt" == ext) {return "application/x-director";} + if("cxx" == ext) {return "text/x-c";} + if("dae" == ext) {return "model/vnd.collada+xml";} + if("daf" == ext) {return "application/vnd.mobius.daf";} + if("dart" == ext) {return "application/vnd.dart";} + if("dataless" == ext) {return "application/vnd.fdsn.seed";} + if("davmount" == ext) {return "application/davmount+xml";} + if("dbf" == ext) {return "application/vnd.dbf";} + if("dbk" == ext) {return "application/docbook+xml";} + if("dcr" == ext) {return "application/x-director";} + if("dcurl" == ext) {return "text/vnd.curl.dcurl";} + if("dd2" == ext) {return "application/vnd.oma.dd2+xml";} + if("ddd" == ext) {return "application/vnd.fujixerox.ddd";} + if("ddf" == ext) {return "application/vnd.syncml.dmddf+xml";} + if("dds" == ext) {return "image/vnd.ms-dds";} + if("deb" == ext) {return "application/octet-stream";} + if("def" == ext) {return "text/plain";} + if("deploy" == ext) {return "application/octet-stream";} + if("der" == ext) {return "application/x-x509-ca-cert";} + if("dfac" == ext) {return "application/vnd.dreamfactory";} + if("dgc" == ext) {return "application/x-dgc-compressed";} + if("dib" == ext) {return "image/bmp";} + if("dic" == ext) {return "text/x-c";} + if("dir" == ext) {return "application/x-director";} + if("dis" == ext) {return "application/vnd.mobius.dis";} + if("dist" == ext) {return "application/octet-stream";} + if("distz" == ext) {return "application/octet-stream";} + if("djv" == ext) {return "image/vnd.djvu";} + if("djvu" == ext) {return "image/vnd.djvu";} + if("dll" == ext) {return "application/octet-stream";} + if("dmg" == ext) {return "application/octet-stream";} + if("dmp" == ext) {return "application/vnd.tcpdump.pcap";} + if("dms" == ext) {return "application/octet-stream";} + if("dna" == ext) {return "application/vnd.dna";} + if("doc" == ext) {return "application/msword";} + if("docm" == ext) {return "application/vnd.ms-word.document.macroenabled.12";} + if("docx" == ext) {return "application/vnd.openxmlformats-officedocument.wordprocessingml.document";} + if("dot" == ext) {return "application/msword";} + if("dotm" == ext) {return "application/vnd.ms-word.template.macroenabled.12";} + if("dotx" == ext) {return "application/vnd.openxmlformats-officedocument.wordprocessingml.template";} + if("dp" == ext) {return "application/vnd.osgi.dp";} + if("dpg" == ext) {return "application/vnd.dpgraph";} + if("dpx" == ext) {return "image/dpx";} + if("dra" == ext) {return "audio/vnd.dra";} + if("drle" == ext) {return "image/dicom-rle";} + if("dsc" == ext) {return "text/prs.lines.tag";} + if("dssc" == ext) {return "application/dssc+der";} + if("dtb" == ext) {return "application/x-dtbook+xml";} + if("dtd" == ext) {return "application/xml-dtd";} + if("dts" == ext) {return "audio/vnd.dts";} + if("dtshd" == ext) {return "audio/vnd.dts.hd";} + if("dump" == ext) {return "application/octet-stream";} + if("dvb" == ext) {return "video/vnd.dvb.file";} + if("dvi" == ext) {return "application/x-dvi";} + if("dwd" == ext) {return "application/atsc-dwd+xml";} + if("dwf" == ext) {return "model/vnd.dwf";} + if("dwg" == ext) {return "image/vnd.dwg";} + if("dxf" == ext) {return "image/vnd.dxf";} + if("dxp" == ext) {return "application/vnd.spotfire.dxp";} + if("dxr" == ext) {return "application/x-director";} + if("ear" == ext) {return "application/java-archive";} + if("ecma" == ext) {return "application/ecmascript";} + if("edm" == ext) {return "application/vnd.novadigm.edm";} + if("edx" == ext) {return "application/vnd.novadigm.edx";} + if("efif" == ext) {return "application/vnd.picsel";} + if("ei6" == ext) {return "application/vnd.pg.osasli";} + if("elc" == ext) {return "application/octet-stream";} + if("emf" == ext) {return "image/emf";} + if("eml" == ext) {return "message/rfc822";} + if("emma" == ext) {return "application/emma+xml";} + if("emz" == ext) {return "application/x-msmetafile";} + if("eol" == ext) {return "audio/vnd.digital-winds";} + if("eot" == ext) {return "application/vnd.ms-fontobject";} + if("eps" == ext) {return "application/postscript";} + if("epub" == ext) {return "application/epub+zip";} + if("es3" == ext) {return "application/vnd.eszigno3+xml";} + if("esa" == ext) {return "application/vnd.osgi.subsystem";} + if("esf" == ext) {return "application/vnd.epson.esf";} + if("et3" == ext) {return "application/vnd.eszigno3+xml";} + if("etx" == ext) {return "text/x-setext";} + if("eva" == ext) {return "application/x-eva";} + if("evy" == ext) {return "application/x-envoy";} + if("exe" == ext) {return "application/x-msdos-program";} + if("exi" == ext) {return "application/exi";} + if("exp" == ext) {return "application/express";} + if("exr" == ext) {return "image/aces";} + if("ext" == ext) {return "application/vnd.novadigm.ext";} + if("ez" == ext) {return "application/andrew-inset";} + if("ez2" == ext) {return "application/vnd.ezpix-album";} + if("ez3" == ext) {return "application/vnd.ezpix-package";} + if("f" == ext) {return "text/x-fortran";} + if("f4v" == ext) {return "video/x-f4v";} + if("f77" == ext) {return "text/x-fortran";} + if("f90" == ext) {return "text/x-fortran";} + if("fbs" == ext) {return "image/vnd.fastbidsheet";} + if("fcdt" == ext) {return "application/vnd.adobe.formscentral.fcdt";} + if("fcs" == ext) {return "application/vnd.isac.fcs";} + if("fdf" == ext) {return "application/fdf";} + if("fdt" == ext) {return "application/fdt+xml";} + if("fg5" == ext) {return "application/vnd.fujitsu.oasysgp";} + if("fgd" == ext) {return "application/x-director";} + if("fh" == ext) {return "image/x-freehand";} + if("fh4" == ext) {return "image/x-freehand";} + if("fh5" == ext) {return "image/x-freehand";} + if("fh7" == ext) {return "image/x-freehand";} + if("fhc" == ext) {return "image/x-freehand";} + if("fig" == ext) {return "application/x-xfig";} + if("fits" == ext) {return "image/fits";} + if("flac" == ext) {return "audio/x-flac";} + if("fli" == ext) {return "video/x-fli";} + if("flo" == ext) {return "application/vnd.micrografx.flo";} + if("flv" == ext) {return "video/x-flv";} + if("flw" == ext) {return "application/vnd.kde.kivio";} + if("flx" == ext) {return "text/vnd.fmi.flexstor";} + if("fly" == ext) {return "text/vnd.fly";} + if("fm" == ext) {return "application/vnd.framemaker";} + if("fnc" == ext) {return "application/vnd.frogans.fnc";} + if("fo" == ext) {return "application/vnd.software602.filler.form+xml";} + if("for" == ext) {return "text/x-fortran";} + if("fpx" == ext) {return "image/vnd.fpx";} + if("frame" == ext) {return "application/vnd.framemaker";} + if("fsc" == ext) {return "application/vnd.fsc.weblaunch";} + if("fst" == ext) {return "image/vnd.fst";} + if("ftc" == ext) {return "application/vnd.fluxtime.clip";} + if("fti" == ext) {return "application/vnd.anser-web-funds-transfer-initiation";} + if("fvt" == ext) {return "video/vnd.fvt";} + if("fxp" == ext) {return "application/vnd.adobe.fxp";} + if("fxpl" == ext) {return "application/vnd.adobe.fxp";} + if("fzs" == ext) {return "application/vnd.fuzzysheet";} + if("g2w" == ext) {return "application/vnd.geoplan";} + if("g3" == ext) {return "image/g3fax";} + if("g3w" == ext) {return "application/vnd.geospace";} + if("gac" == ext) {return "application/vnd.groove-account";} + if("gam" == ext) {return "application/x-tads";} + if("gbr" == ext) {return "application/rpki-ghostbusters";} + if("gca" == ext) {return "application/x-gca-compressed";} + if("gdl" == ext) {return "model/vnd.gdl";} + if("gdoc" == ext) {return "application/vnd.google-apps.document";} + if("ged" == ext) {return "text/vnd.familysearch.gedcom";} + if("geo" == ext) {return "application/vnd.dynageo";} + if("geojson" == ext) {return "application/geo+json";} + if("gex" == ext) {return "application/vnd.geometry-explorer";} + if("ggb" == ext) {return "application/vnd.geogebra.file";} + if("ggt" == ext) {return "application/vnd.geogebra.tool";} + if("ghf" == ext) {return "application/vnd.groove-help";} + if("gif" == ext) {return "image/gif";} + if("gim" == ext) {return "application/vnd.groove-identity-message";} + if("glb" == ext) {return "model/gltf-binary";} + if("gltf" == ext) {return "model/gltf+json";} + if("gml" == ext) {return "application/gml+xml";} + if("gmx" == ext) {return "application/vnd.gmx";} + if("gnumeric" == ext) {return "application/x-gnumeric";} + if("gph" == ext) {return "application/vnd.flographit";} + if("gpx" == ext) {return "application/gpx+xml";} + if("gqf" == ext) {return "application/vnd.grafeq";} + if("gqs" == ext) {return "application/vnd.grafeq";} + if("gram" == ext) {return "application/srgs";} + if("gramps" == ext) {return "application/x-gramps-xml";} + if("gre" == ext) {return "application/vnd.geometry-explorer";} + if("grv" == ext) {return "application/vnd.groove-injector";} + if("grxml" == ext) {return "application/srgs+xml";} + if("gsf" == ext) {return "application/x-font-ghostscript";} + if("gsheet" == ext) {return "application/vnd.google-apps.spreadsheet";} + if("gslides" == ext) {return "application/vnd.google-apps.presentation";} + if("gtar" == ext) {return "application/x-gtar";} + if("gtm" == ext) {return "application/vnd.groove-tool-message";} + if("gtw" == ext) {return "model/vnd.gtw";} + if("gv" == ext) {return "text/vnd.graphviz";} + if("gxf" == ext) {return "application/gxf";} + if("gxt" == ext) {return "application/vnd.geonext";} + if("gz" == ext) {return "application/gzip";} + if("h" == ext) {return "text/x-c";} + if("h261" == ext) {return "video/h261";} + if("h263" == ext) {return "video/h263";} + if("h264" == ext) {return "video/h264";} + if("hal" == ext) {return "application/vnd.hal+xml";} + if("hbci" == ext) {return "application/vnd.hbci";} + if("hbs" == ext) {return "text/x-handlebars-template";} + if("hdd" == ext) {return "application/x-virtualbox-hdd";} + if("hdf" == ext) {return "application/x-hdf";} + if("heic" == ext) {return "image/heic";} + if("heics" == ext) {return "image/heic-sequence";} + if("heif" == ext) {return "image/heif";} + if("heifs" == ext) {return "image/heif-sequence";} + if("hej2" == ext) {return "image/hej2k";} + if("held" == ext) {return "application/atsc-held+xml";} + if("hh" == ext) {return "text/x-c";} + if("hjson" == ext) {return "application/hjson";} + if("hlp" == ext) {return "application/winhlp";} + if("hpgl" == ext) {return "application/vnd.hp-hpgl";} + if("hpid" == ext) {return "application/vnd.hp-hpid";} + if("hps" == ext) {return "application/vnd.hp-hps";} + if("hqx" == ext) {return "application/mac-binhex40";} + if("hsj2" == ext) {return "image/hsj2";} + if("htc" == ext) {return "text/x-component";} + if("htke" == ext) {return "application/vnd.kenameaapp";} + if("htm" == ext) {return "text/html";} + if("html" == ext) {return "text/html";} + if("hvd" == ext) {return "application/vnd.yamaha.hv-dic";} + if("hvp" == ext) {return "application/vnd.yamaha.hv-voice";} + if("hvs" == ext) {return "application/vnd.yamaha.hv-script";} + if("i2g" == ext) {return "application/vnd.intergeo";} + if("icc" == ext) {return "application/vnd.iccprofile";} + if("ice" == ext) {return "x-conference/x-cooltalk";} + if("icm" == ext) {return "application/vnd.iccprofile";} + if("ico" == ext) {return "image/vnd.microsoft.icon";} + if("ics" == ext) {return "text/calendar";} + if("ief" == ext) {return "image/ief";} + if("ifb" == ext) {return "text/calendar";} + if("ifm" == ext) {return "application/vnd.shana.informed.formdata";} + if("iges" == ext) {return "model/iges";} + if("igl" == ext) {return "application/vnd.igloader";} + if("igm" == ext) {return "application/vnd.insors.igm";} + if("igs" == ext) {return "model/iges";} + if("igx" == ext) {return "application/vnd.micrografx.igx";} + if("iif" == ext) {return "application/vnd.shana.informed.interchange";} + if("img" == ext) {return "application/octet-stream";} + if("imp" == ext) {return "application/vnd.accpac.simply.imp";} + if("ims" == ext) {return "application/vnd.ms-ims";} + if("in" == ext) {return "text/plain";} + if("ini" == ext) {return "text/plain";} + if("ink" == ext) {return "application/inkml+xml";} + if("inkml" == ext) {return "application/inkml+xml";} + if("install" == ext) {return "application/x-install-instructions";} + if("iota" == ext) {return "application/vnd.astraea-software.iota";} + if("ipfix" == ext) {return "application/ipfix";} + if("ipk" == ext) {return "application/vnd.shana.informed.package";} + if("irm" == ext) {return "application/vnd.ibm.rights-management";} + if("irp" == ext) {return "application/vnd.irepository.package+xml";} + if("iso" == ext) {return "application/octet-stream";} + if("itp" == ext) {return "application/vnd.shana.informed.formtemplate";} + if("its" == ext) {return "application/its+xml";} + if("ivp" == ext) {return "application/vnd.immervision-ivp";} + if("ivu" == ext) {return "application/vnd.immervision-ivu";} + if("jad" == ext) {return "text/vnd.sun.j2me.app-descriptor";} + if("jade" == ext) {return "text/jade";} + if("jam" == ext) {return "application/vnd.jam";} + if("jar" == ext) {return "application/java-archive";} + if("jardiff" == ext) {return "application/x-java-archive-diff";} + if("java" == ext) {return "text/x-java-source";} + if("jhc" == ext) {return "image/jphc";} + if("jisp" == ext) {return "application/vnd.jisp";} + if("jls" == ext) {return "image/jls";} + if("jlt" == ext) {return "application/vnd.hp-jlyt";} + if("jng" == ext) {return "image/x-jng";} + if("jnlp" == ext) {return "application/x-java-jnlp-file";} + if("joda" == ext) {return "application/vnd.joost.joda-archive";} + if("jp2" == ext) {return "image/jp2";} + if("jpe" == ext) {return "image/jpeg";} + if("jpeg" == ext) {return "image/jpeg";} + if("jpf" == ext) {return "image/jpx";} + if("jpg" == ext) {return "image/jpeg";} + if("jpg2" == ext) {return "image/jp2";} + if("jpgm" == ext) {return "image/jpm";} + if("jpgv" == ext) {return "video/jpeg";} + if("jph" == ext) {return "image/jph";} + if("jpm" == ext) {return "image/jpm";} + if("jpx" == ext) {return "image/jpx";} + if("js" == ext) {return "application/javascript";} + if("json" == ext) {return "application/json";} + if("json5" == ext) {return "application/json5";} + if("jsonld" == ext) {return "application/ld+json";} + if("jsonml" == ext) {return "application/jsonml+json";} + if("jsx" == ext) {return "text/jsx";} + if("jt" == ext) {return "model/jt";} + if("jxr" == ext) {return "image/jxr";} + if("jxra" == ext) {return "image/jxra";} + if("jxrs" == ext) {return "image/jxrs";} + if("jxs" == ext) {return "image/jxs";} + if("jxsc" == ext) {return "image/jxsc";} + if("jxsi" == ext) {return "image/jxsi";} + if("jxss" == ext) {return "image/jxss";} + if("kar" == ext) {return "audio/midi";} + if("karbon" == ext) {return "application/vnd.kde.karbon";} + if("kdbx" == ext) {return "application/x-keepass2";} + if("key" == ext) {return "application/vnd.apple.keynote";} + if("kfo" == ext) {return "application/vnd.kde.kformula";} + if("kia" == ext) {return "application/vnd.kidspiration";} + if("kml" == ext) {return "application/vnd.google-earth.kml+xml";} + if("kmz" == ext) {return "application/vnd.google-earth.kmz";} + if("kne" == ext) {return "application/vnd.kinar";} + if("knp" == ext) {return "application/vnd.kinar";} + if("kon" == ext) {return "application/vnd.kde.kontour";} + if("kpr" == ext) {return "application/vnd.kde.kpresenter";} + if("kpt" == ext) {return "application/vnd.kde.kpresenter";} + if("kpxx" == ext) {return "application/vnd.ds-keypoint";} + if("ksp" == ext) {return "application/vnd.kde.kspread";} + if("ktr" == ext) {return "application/vnd.kahootz";} + if("ktx" == ext) {return "image/ktx";} + if("ktx2" == ext) {return "image/ktx2";} + if("ktz" == ext) {return "application/vnd.kahootz";} + if("kwd" == ext) {return "application/vnd.kde.kword";} + if("kwt" == ext) {return "application/vnd.kde.kword";} + if("lasxml" == ext) {return "application/vnd.las.las+xml";} + if("latex" == ext) {return "application/x-latex";} + if("lbd" == ext) {return "application/vnd.llamagraphics.life-balance.desktop";} + if("lbe" == ext) {return "application/vnd.llamagraphics.life-balance.exchange+xml";} + if("les" == ext) {return "application/vnd.hhe.lesson-player";} + if("less" == ext) {return "text/less";} + if("lgr" == ext) {return "application/lgr+xml";} + if("lha" == ext) {return "application/x-lzh-compressed";} + if("link66" == ext) {return "application/vnd.route66.link66+xml";} + if("list" == ext) {return "text/plain";} + if("list3820" == ext) {return "application/vnd.ibm.modcap";} + if("listafp" == ext) {return "application/vnd.ibm.modcap";} + if("lnk" == ext) {return "application/x-ms-shortcut";} + if("log" == ext) {return "text/plain";} + if("lostxml" == ext) {return "application/lost+xml";} + if("lrf" == ext) {return "application/octet-stream";} + if("lrm" == ext) {return "application/vnd.ms-lrm";} + if("ltf" == ext) {return "application/vnd.frogans.ltf";} + if("lua" == ext) {return "text/x-lua";} + if("luac" == ext) {return "application/x-lua-bytecode";} + if("lvp" == ext) {return "audio/vnd.lucent.voice";} + if("lwp" == ext) {return "application/vnd.lotus-wordpro";} + if("lzh" == ext) {return "application/x-lzh-compressed";} + if("m13" == ext) {return "application/x-msmediaview";} + if("m14" == ext) {return "application/x-msmediaview";} + if("m1v" == ext) {return "video/mpeg";} + if("m21" == ext) {return "application/mp21";} + if("m2a" == ext) {return "audio/mpeg";} + if("m2v" == ext) {return "video/mpeg";} + if("m3a" == ext) {return "audio/mpeg";} + if("m3u" == ext) {return "audio/x-mpegurl";} + if("m3u8" == ext) {return "application/vnd.apple.mpegurl";} + if("m4a" == ext) {return "audio/mp4";} + if("m4p" == ext) {return "application/mp4";} + if("m4s" == ext) {return "video/iso.segment";} + if("m4u" == ext) {return "video/vnd.mpegurl";} + if("m4v" == ext) {return "video/x-m4v";} + if("ma" == ext) {return "application/mathematica";} + if("mads" == ext) {return "application/mads+xml";} + if("maei" == ext) {return "application/mmt-aei+xml";} + if("mag" == ext) {return "application/vnd.ecowin.chart";} + if("maker" == ext) {return "application/vnd.framemaker";} + if("man" == ext) {return "text/troff";} + if("manifest" == ext) {return "text/cache-manifest";} + if("map" == ext) {return "application/json";} + if("mar" == ext) {return "application/octet-stream";} + if("markdown" == ext) {return "text/markdown";} + if("mathml" == ext) {return "application/mathml+xml";} + if("mb" == ext) {return "application/mathematica";} + if("mbk" == ext) {return "application/vnd.mobius.mbk";} + if("mbox" == ext) {return "application/mbox";} + if("mc1" == ext) {return "application/vnd.medcalcdata";} + if("mcd" == ext) {return "application/vnd.mcd";} + if("mcurl" == ext) {return "text/vnd.curl.mcurl";} + if("md" == ext) {return "text/markdown";} + if("mdb" == ext) {return "application/x-msaccess";} + if("mdi" == ext) {return "image/vnd.ms-modi";} + if("mdx" == ext) {return "text/mdx";} + if("me" == ext) {return "text/troff";} + if("mesh" == ext) {return "model/mesh";} + if("meta4" == ext) {return "application/metalink4+xml";} + if("metalink" == ext) {return "application/metalink+xml";} + if("mets" == ext) {return "application/mets+xml";} + if("mfm" == ext) {return "application/vnd.mfmp";} + if("mft" == ext) {return "application/rpki-manifest";} + if("mgp" == ext) {return "application/vnd.osgeo.mapguide.package";} + if("mgz" == ext) {return "application/vnd.proteus.magazine";} + if("mid" == ext) {return "audio/midi";} + if("midi" == ext) {return "audio/midi";} + if("mie" == ext) {return "application/x-mie";} + if("mif" == ext) {return "application/vnd.mif";} + if("mime" == ext) {return "message/rfc822";} + if("mj2" == ext) {return "video/mj2";} + if("mjp2" == ext) {return "video/mj2";} + if("mjs" == ext) {return "text/javascript";} + if("mk3d" == ext) {return "video/x-matroska";} + if("mka" == ext) {return "audio/x-matroska";} + if("mkd" == ext) {return "text/x-markdown";} + if("mks" == ext) {return "video/x-matroska";} + if("mkv" == ext) {return "video/x-matroska";} + if("mlp" == ext) {return "application/vnd.dolby.mlp";} + if("mmd" == ext) {return "application/vnd.chipnuts.karaoke-mmd";} + if("mmf" == ext) {return "application/vnd.smaf";} + if("mml" == ext) {return "text/mathml";} + if("mmr" == ext) {return "image/vnd.fujixerox.edmics-mmr";} + if("mng" == ext) {return "video/x-mng";} + if("mny" == ext) {return "application/x-msmoney";} + if("mobi" == ext) {return "application/x-mobipocket-ebook";} + if("mods" == ext) {return "application/mods+xml";} + if("mov" == ext) {return "video/quicktime";} + if("movie" == ext) {return "video/x-sgi-movie";} + if("mp2" == ext) {return "audio/mpeg";} + if("mp21" == ext) {return "application/mp21";} + if("mp2a" == ext) {return "audio/mpeg";} + if("mp3" == ext) {return "audio/mp3";} + if("mp4" == ext) {return "video/mp4";} + if("mp4a" == ext) {return "audio/mp4";} + if("mp4s" == ext) {return "application/mp4";} + if("mp4v" == ext) {return "video/mp4";} + if("mpc" == ext) {return "application/vnd.mophun.certificate";} + if("mpd" == ext) {return "application/dash+xml";} + if("mpe" == ext) {return "video/mpeg";} + if("mpeg" == ext) {return "video/mpeg";} + if("mpf" == ext) {return "application/media-policy-dataset+xml";} + if("mpg" == ext) {return "video/mpeg";} + if("mpg4" == ext) {return "video/mp4";} + if("mpga" == ext) {return "audio/mpeg";} + if("mpkg" == ext) {return "application/vnd.apple.installer+xml";} + if("mpm" == ext) {return "application/vnd.blueice.multipass";} + if("mpn" == ext) {return "application/vnd.mophun.application";} + if("mpp" == ext) {return "application/dash-patch+xml";} + if("mpt" == ext) {return "application/vnd.ms-project";} + if("mpy" == ext) {return "application/vnd.ibm.minipay";} + if("mqy" == ext) {return "application/vnd.mobius.mqy";} + if("mrc" == ext) {return "application/marc";} + if("mrcx" == ext) {return "application/marcxml+xml";} + if("ms" == ext) {return "text/troff";} + if("mscml" == ext) {return "application/mediaservercontrol+xml";} + if("mseed" == ext) {return "application/vnd.fdsn.mseed";} + if("mseq" == ext) {return "application/vnd.mseq";} + if("msf" == ext) {return "application/vnd.epson.msf";} + if("msg" == ext) {return "application/vnd.ms-outlook";} + if("msh" == ext) {return "model/mesh";} + if("msi" == ext) {return "application/octet-stream";} + if("msix" == ext) {return "application/msix";} + if("msl" == ext) {return "application/vnd.mobius.msl";} + if("msm" == ext) {return "application/octet-stream";} + if("msp" == ext) {return "application/octet-stream";} + if("msty" == ext) {return "application/vnd.muvee.style";} + if("mtl" == ext) {return "model/mtl";} + if("mts" == ext) {return "model/vnd.mts";} + if("mus" == ext) {return "application/vnd.musician";} + if("musd" == ext) {return "application/mmt-usd+xml";} + if("musicxml" == ext) {return "application/vnd.recordare.musicxml+xml";} + if("mvb" == ext) {return "application/x-msmediaview";} + if("mvt" == ext) {return "application/vnd.mapbox-vector-tile";} + if("mwf" == ext) {return "application/vnd.mfer";} + if("mxf" == ext) {return "application/mxf";} + if("mxl" == ext) {return "application/vnd.recordare.musicxml";} + if("mxmf" == ext) {return "audio/mobile-xmf";} + if("mxml" == ext) {return "application/xv+xml";} + if("mxs" == ext) {return "application/vnd.triscape.mxs";} + if("mxu" == ext) {return "video/vnd.mpegurl";} + if("n3" == ext) {return "text/n3";} + if("nb" == ext) {return "application/mathematica";} + if("nbp" == ext) {return "application/vnd.wolfram.player";} + if("nc" == ext) {return "application/x-netcdf";} + if("ncx" == ext) {return "application/x-dtbncx+xml";} + if("nfo" == ext) {return "text/x-nfo";} + if("ngdat" == ext) {return "application/vnd.nokia.n-gage.data";} + if("nitf" == ext) {return "application/vnd.nitf";} + if("nlu" == ext) {return "application/vnd.neurolanguage.nlu";} + if("nml" == ext) {return "application/vnd.enliven";} + if("nnd" == ext) {return "application/vnd.noblenet-directory";} + if("nns" == ext) {return "application/vnd.noblenet-sealer";} + if("nnw" == ext) {return "application/vnd.noblenet-web";} + if("npx" == ext) {return "image/vnd.net-fpx";} + if("nq" == ext) {return "application/n-quads";} + if("nsc" == ext) {return "application/x-conference";} + if("nsf" == ext) {return "application/vnd.lotus-notes";} + if("nt" == ext) {return "application/n-triples";} + if("ntf" == ext) {return "application/vnd.nitf";} + if("numbers" == ext) {return "application/vnd.apple.numbers";} + if("nzb" == ext) {return "application/x-nzb";} + if("oa2" == ext) {return "application/vnd.fujitsu.oasys2";} + if("oa3" == ext) {return "application/vnd.fujitsu.oasys3";} + if("oas" == ext) {return "application/vnd.fujitsu.oasys";} + if("obd" == ext) {return "application/x-msbinder";} + if("obgx" == ext) {return "application/vnd.openblox.game+xml";} + if("obj" == ext) {return "model/obj";} + if("oda" == ext) {return "application/oda";} + if("odb" == ext) {return "application/vnd.oasis.opendocument.database";} + if("odc" == ext) {return "application/vnd.oasis.opendocument.chart";} + if("odf" == ext) {return "application/vnd.oasis.opendocument.formula";} + if("odft" == ext) {return "application/vnd.oasis.opendocument.formula-template";} + if("odg" == ext) {return "application/vnd.oasis.opendocument.graphics";} + if("odi" == ext) {return "application/vnd.oasis.opendocument.image";} + if("odm" == ext) {return "application/vnd.oasis.opendocument.text-master";} + if("odp" == ext) {return "application/vnd.oasis.opendocument.presentation";} + if("ods" == ext) {return "application/vnd.oasis.opendocument.spreadsheet";} + if("odt" == ext) {return "application/vnd.oasis.opendocument.text";} + if("oga" == ext) {return "audio/ogg";} + if("ogex" == ext) {return "model/vnd.opengex";} + if("ogg" == ext) {return "audio/ogg";} + if("ogv" == ext) {return "video/ogg";} + if("ogx" == ext) {return "application/ogg";} + if("omdoc" == ext) {return "application/omdoc+xml";} + if("onepkg" == ext) {return "application/onenote";} + if("onetmp" == ext) {return "application/onenote";} + if("onetoc" == ext) {return "application/onenote";} + if("onetoc2" == ext) {return "application/onenote";} + if("opf" == ext) {return "application/oebps-package+xml";} + if("opml" == ext) {return "text/x-opml";} + if("oprc" == ext) {return "application/vnd.palm";} + if("opus" == ext) {return "audio/ogg";} + if("org" == ext) {return "application/vnd.lotus-organizer";} + if("osf" == ext) {return "application/vnd.yamaha.openscoreformat";} + if("osfpvg" == ext) {return "application/vnd.yamaha.openscoreformat.osfpvg+xml";} + if("osm" == ext) {return "application/vnd.openstreetmap.data+xml";} + if("otc" == ext) {return "application/vnd.oasis.opendocument.chart-template";} + if("otf" == ext) {return "font/otf";} + if("otg" == ext) {return "application/vnd.oasis.opendocument.graphics-template";} + if("oth" == ext) {return "application/vnd.oasis.opendocument.text-web";} + if("oti" == ext) {return "application/vnd.oasis.opendocument.image-template";} + if("otp" == ext) {return "application/vnd.oasis.opendocument.presentation-template";} + if("ots" == ext) {return "application/vnd.oasis.opendocument.spreadsheet-template";} + if("ott" == ext) {return "application/vnd.oasis.opendocument.text-template";} + if("ova" == ext) {return "application/x-virtualbox-ova";} + if("ovf" == ext) {return "application/x-virtualbox-ovf";} + if("owl" == ext) {return "application/rdf+xml";} + if("oxps" == ext) {return "application/oxps";} + if("oxt" == ext) {return "application/vnd.openofficeorg.extension";} + if("p" == ext) {return "text/x-pascal";} + if("p10" == ext) {return "application/pkcs10";} + if("p12" == ext) {return "application/x-pkcs12";} + if("p7b" == ext) {return "application/x-pkcs7-certificates";} + if("p7c" == ext) {return "application/pkcs7-mime";} + if("p7m" == ext) {return "application/pkcs7-mime";} + if("p7r" == ext) {return "application/x-pkcs7-certreqresp";} + if("p7s" == ext) {return "application/pkcs7-signature";} + if("p8" == ext) {return "application/pkcs8";} + if("pac" == ext) {return "application/x-ns-proxy-autoconfig";} + if("pages" == ext) {return "application/vnd.apple.pages";} + if("pas" == ext) {return "text/x-pascal";} + if("paw" == ext) {return "application/vnd.pawaafile";} + if("pbd" == ext) {return "application/vnd.powerbuilder6";} + if("pbm" == ext) {return "image/x-portable-bitmap";} + if("pcap" == ext) {return "application/vnd.tcpdump.pcap";} + if("pcf" == ext) {return "application/x-font-pcf";} + if("pcl" == ext) {return "application/vnd.hp-pcl";} + if("pclxl" == ext) {return "application/vnd.hp-pclxl";} + if("pct" == ext) {return "image/x-pict";} + if("pcurl" == ext) {return "application/vnd.curl.pcurl";} + if("pcx" == ext) {return "image/vnd.zbrush.pcx";} + if("pdb" == ext) {return "application/vnd.palm";} + if("pde" == ext) {return "text/x-processing";} + if("pdf" == ext) {return "application/pdf";} + if("pem" == ext) {return "application/x-x509-ca-cert";} + if("pfa" == ext) {return "application/x-font-type1";} + if("pfb" == ext) {return "application/x-font-type1";} + if("pfm" == ext) {return "application/x-font-type1";} + if("pfr" == ext) {return "application/font-tdpfr";} + if("pfx" == ext) {return "application/x-pkcs12";} + if("pgm" == ext) {return "image/x-portable-graymap";} + if("pgn" == ext) {return "application/x-chess-pgn";} + if("pgp" == ext) {return "application/pgp-encrypted";} + if("php" == ext) {return "application/x-httpd-php";} + if("pic" == ext) {return "image/x-pict";} + if("pkg" == ext) {return "application/octet-stream";} + if("pki" == ext) {return "application/pkixcmp";} + if("pkipath" == ext) {return "application/pkix-pkipath";} + if("pkpass" == ext) {return "application/vnd.apple.pkpass";} + if("pl" == ext) {return "application/x-perl";} + if("plb" == ext) {return "application/vnd.3gpp.pic-bw-large";} + if("plc" == ext) {return "application/vnd.mobius.plc";} + if("plf" == ext) {return "application/vnd.pocketlearn";} + if("pls" == ext) {return "application/pls+xml";} + if("pm" == ext) {return "application/x-perl";} + if("pml" == ext) {return "application/vnd.ctc-posml";} + if("png" == ext) {return "image/png";} + if("pnm" == ext) {return "image/x-portable-anymap";} + if("portpkg" == ext) {return "application/vnd.macports.portpkg";} + if("pot" == ext) {return "application/vnd.ms-powerpoint";} + if("potm" == ext) {return "application/vnd.ms-powerpoint.template.macroenabled.12";} + if("potx" == ext) {return "application/vnd.openxmlformats-officedocument.presentationml.template";} + if("ppam" == ext) {return "application/vnd.ms-powerpoint.addin.macroenabled.12";} + if("ppd" == ext) {return "application/vnd.cups-ppd";} + if("ppm" == ext) {return "image/x-portable-pixmap";} + if("pps" == ext) {return "application/vnd.ms-powerpoint";} + if("ppsm" == ext) {return "application/vnd.ms-powerpoint.slideshow.macroenabled.12";} + if("ppsx" == ext) {return "application/vnd.openxmlformats-officedocument.presentationml.slideshow";} + if("ppt" == ext) {return "application/vnd.ms-powerpoint";} + if("pptm" == ext) {return "application/vnd.ms-powerpoint.presentation.macroenabled.12";} + if("pptx" == ext) {return "application/vnd.openxmlformats-officedocument.presentationml.presentation";} + if("pqa" == ext) {return "application/vnd.palm";} + if("prc" == ext) {return "model/prc";} + if("pre" == ext) {return "application/vnd.lotus-freelance";} + if("prf" == ext) {return "application/pics-rules";} + if("provx" == ext) {return "application/provenance+xml";} + if("ps" == ext) {return "application/postscript";} + if("psb" == ext) {return "application/vnd.3gpp.pic-bw-small";} + if("psd" == ext) {return "image/vnd.adobe.photoshop";} + if("psf" == ext) {return "application/x-font-linux-psf";} + if("pskcxml" == ext) {return "application/pskc+xml";} + if("pti" == ext) {return "image/prs.pti";} + if("ptid" == ext) {return "application/vnd.pvi.ptid1";} + if("pub" == ext) {return "application/x-mspublisher";} + if("pvb" == ext) {return "application/vnd.3gpp.pic-bw-var";} + if("pwn" == ext) {return "application/vnd.3m.post-it-notes";} + if("pya" == ext) {return "audio/vnd.ms-playready.media.pya";} + if("pyo" == ext) {return "model/vnd.pytha.pyox";} + if("pyox" == ext) {return "model/vnd.pytha.pyox";} + if("pyv" == ext) {return "video/vnd.ms-playready.media.pyv";} + if("qam" == ext) {return "application/vnd.epson.quickanime";} + if("qbo" == ext) {return "application/vnd.intu.qbo";} + if("qfx" == ext) {return "application/vnd.intu.qfx";} + if("qps" == ext) {return "application/vnd.publishare-delta-tree";} + if("qt" == ext) {return "video/quicktime";} + if("qwd" == ext) {return "application/vnd.quark.quarkxpress";} + if("qwt" == ext) {return "application/vnd.quark.quarkxpress";} + if("qxb" == ext) {return "application/vnd.quark.quarkxpress";} + if("qxd" == ext) {return "application/vnd.quark.quarkxpress";} + if("qxl" == ext) {return "application/vnd.quark.quarkxpress";} + if("qxt" == ext) {return "application/vnd.quark.quarkxpress";} + if("ra" == ext) {return "audio/x-realaudio";} + if("ram" == ext) {return "audio/x-pn-realaudio";} + if("raml" == ext) {return "application/raml+yaml";} + if("rapd" == ext) {return "application/route-apd+xml";} + if("rar" == ext) {return "application/vnd.rar";} + if("ras" == ext) {return "image/x-cmu-raster";} + if("rdf" == ext) {return "application/rdf+xml";} + if("rdz" == ext) {return "application/vnd.data-vision.rdz";} + if("relo" == ext) {return "application/p2p-overlay+xml";} + if("rep" == ext) {return "application/vnd.businessobjects";} + if("res" == ext) {return "application/x-dtbresource+xml";} + if("rgb" == ext) {return "image/x-rgb";} + if("rif" == ext) {return "application/reginfo+xml";} + if("rip" == ext) {return "audio/vnd.rip";} + if("ris" == ext) {return "application/x-research-info-systems";} + if("rl" == ext) {return "application/resource-lists+xml";} + if("rlc" == ext) {return "image/vnd.fujixerox.edmics-rlc";} + if("rld" == ext) {return "application/resource-lists-diff+xml";} + if("rm" == ext) {return "application/vnd.rn-realmedia";} + if("rmi" == ext) {return "audio/midi";} + if("rmp" == ext) {return "audio/x-pn-realaudio-plugin";} + if("rms" == ext) {return "application/vnd.jcp.javame.midlet-rms";} + if("rmvb" == ext) {return "application/vnd.rn-realmedia-vbr";} + if("rnc" == ext) {return "application/relax-ng-compact-syntax";} + if("rng" == ext) {return "application/xml";} + if("roa" == ext) {return "application/rpki-roa";} + if("roff" == ext) {return "text/troff";} + if("rp9" == ext) {return "application/vnd.cloanto.rp9";} + if("rpm" == ext) {return "application/x-redhat-package-manager";} + if("rpss" == ext) {return "application/vnd.nokia.radio-presets";} + if("rpst" == ext) {return "application/vnd.nokia.radio-preset";} + if("rq" == ext) {return "application/sparql-query";} + if("rs" == ext) {return "application/rls-services+xml";} + if("rsat" == ext) {return "application/atsc-rsat+xml";} + if("rsd" == ext) {return "application/rsd+xml";} + if("rsheet" == ext) {return "application/urc-ressheet+xml";} + if("rss" == ext) {return "application/rss+xml";} + if("rtf" == ext) {return "text/rtf";} + if("rtx" == ext) {return "text/richtext";} + if("run" == ext) {return "application/x-makeself";} + if("rusd" == ext) {return "application/route-usd+xml";} + if("s" == ext) {return "text/x-asm";} + if("s3m" == ext) {return "audio/s3m";} + if("saf" == ext) {return "application/vnd.yamaha.smaf-audio";} + if("sass" == ext) {return "text/x-sass";} + if("sbml" == ext) {return "application/sbml+xml";} + if("sc" == ext) {return "application/vnd.ibm.secure-container";} + if("scd" == ext) {return "application/x-msschedule";} + if("scm" == ext) {return "application/vnd.lotus-screencam";} + if("scq" == ext) {return "application/scvp-cv-request";} + if("scs" == ext) {return "application/scvp-cv-response";} + if("scss" == ext) {return "text/x-scss";} + if("scurl" == ext) {return "text/vnd.curl.scurl";} + if("sda" == ext) {return "application/vnd.stardivision.draw";} + if("sdc" == ext) {return "application/vnd.stardivision.calc";} + if("sdd" == ext) {return "application/vnd.stardivision.impress";} + if("sdkd" == ext) {return "application/vnd.solent.sdkm+xml";} + if("sdkm" == ext) {return "application/vnd.solent.sdkm+xml";} + if("sdp" == ext) {return "application/sdp";} + if("sdw" == ext) {return "application/vnd.stardivision.writer";} + if("sea" == ext) {return "application/x-sea";} + if("see" == ext) {return "application/vnd.seemail";} + if("seed" == ext) {return "application/vnd.fdsn.seed";} + if("sema" == ext) {return "application/vnd.sema";} + if("semd" == ext) {return "application/vnd.semd";} + if("semf" == ext) {return "application/vnd.semf";} + if("senmlx" == ext) {return "application/senml+xml";} + if("sensmlx" == ext) {return "application/sensml+xml";} + if("ser" == ext) {return "application/java-serialized-object";} + if("setpay" == ext) {return "application/set-payment-initiation";} + if("setreg" == ext) {return "application/set-registration-initiation";} + if("sfs" == ext) {return "application/vnd.spotfire.sfs";} + if("sfv" == ext) {return "text/x-sfv";} + if("sgi" == ext) {return "image/sgi";} + if("sgl" == ext) {return "application/vnd.stardivision.writer-global";} + if("sgm" == ext) {return "text/sgml";} + if("sgml" == ext) {return "text/sgml";} + if("sh" == ext) {return "application/x-sh";} + if("shar" == ext) {return "application/x-shar";} + if("shex" == ext) {return "text/shex";} + if("shf" == ext) {return "application/shf+xml";} + if("shtml" == ext) {return "text/html";} + if("sid" == ext) {return "image/x-mrsid-image";} + if("sieve" == ext) {return "application/sieve";} + if("sig" == ext) {return "application/pgp-signature";} + if("sil" == ext) {return "audio/silk";} + if("silo" == ext) {return "model/mesh";} + if("sis" == ext) {return "application/vnd.symbian.install";} + if("sisx" == ext) {return "application/vnd.symbian.install";} + if("sit" == ext) {return "application/x-stuffit";} + if("sitx" == ext) {return "application/x-stuffitx";} + if("siv" == ext) {return "application/sieve";} + if("skd" == ext) {return "application/vnd.koan";} + if("skm" == ext) {return "application/vnd.koan";} + if("skp" == ext) {return "application/vnd.koan";} + if("skt" == ext) {return "application/vnd.koan";} + if("sldm" == ext) {return "application/vnd.ms-powerpoint.slide.macroenabled.12";} + if("sldx" == ext) {return "application/vnd.openxmlformats-officedocument.presentationml.slide";} + if("slim" == ext) {return "text/slim";} + if("slm" == ext) {return "text/slim";} + if("sls" == ext) {return "application/route-s-tsid+xml";} + if("slt" == ext) {return "application/vnd.epson.salt";} + if("sm" == ext) {return "application/vnd.stepmania.stepchart";} + if("smf" == ext) {return "application/vnd.stardivision.math";} + if("smi" == ext) {return "application/smil+xml";} + if("smil" == ext) {return "application/smil+xml";} + if("smv" == ext) {return "video/x-smv";} + if("smzip" == ext) {return "application/vnd.stepmania.package";} + if("snd" == ext) {return "audio/basic";} + if("snf" == ext) {return "application/x-font-snf";} + if("so" == ext) {return "application/octet-stream";} + if("spc" == ext) {return "application/x-pkcs7-certificates";} + if("spdx" == ext) {return "text/spdx";} + if("spf" == ext) {return "application/vnd.yamaha.smaf-phrase";} + if("spl" == ext) {return "application/x-futuresplash";} + if("spot" == ext) {return "text/vnd.in3d.spot";} + if("spp" == ext) {return "application/scvp-vp-response";} + if("spq" == ext) {return "application/scvp-vp-request";} + if("spx" == ext) {return "audio/ogg";} + if("sql" == ext) {return "application/sql";} + if("src" == ext) {return "application/x-wais-source";} + if("srt" == ext) {return "application/x-subrip";} + if("sru" == ext) {return "application/sru+xml";} + if("srx" == ext) {return "application/sparql-results+xml";} + if("ssdl" == ext) {return "application/ssdl+xml";} + if("sse" == ext) {return "application/vnd.kodak-descriptor";} + if("ssf" == ext) {return "application/vnd.epson.ssf";} + if("ssml" == ext) {return "application/ssml+xml";} + if("st" == ext) {return "application/vnd.sailingtracker.track";} + if("stc" == ext) {return "application/vnd.sun.xml.calc.template";} + if("std" == ext) {return "application/vnd.sun.xml.draw.template";} + if("stf" == ext) {return "application/vnd.wt.stf";} + if("sti" == ext) {return "application/vnd.sun.xml.impress.template";} + if("stk" == ext) {return "application/hyperstudio";} + if("stl" == ext) {return "model/stl";} + if("stpx" == ext) {return "model/step+xml";} + if("stpxz" == ext) {return "model/step-xml+zip";} + if("stpz" == ext) {return "model/step+zip";} + if("str" == ext) {return "application/vnd.pg.format";} + if("stw" == ext) {return "application/vnd.sun.xml.writer.template";} + if("styl" == ext) {return "text/stylus";} + if("stylus" == ext) {return "text/stylus";} + if("sub" == ext) {return "text/vnd.dvb.subtitle";} + if("sus" == ext) {return "application/vnd.sus-calendar";} + if("susp" == ext) {return "application/vnd.sus-calendar";} + if("sv4cpio" == ext) {return "application/x-sv4cpio";} + if("sv4crc" == ext) {return "application/x-sv4crc";} + if("svc" == ext) {return "application/vnd.dvb.service";} + if("svd" == ext) {return "application/vnd.svd";} + if("svg" == ext) {return "image/svg+xml";} + if("svgz" == ext) {return "image/svg+xml";} + if("swa" == ext) {return "application/x-director";} + if("swf" == ext) {return "application/x-shockwave-flash";} + if("swi" == ext) {return "application/vnd.aristanetworks.swi";} + if("swidtag" == ext) {return "application/swid+xml";} + if("sxc" == ext) {return "application/vnd.sun.xml.calc";} + if("sxd" == ext) {return "application/vnd.sun.xml.draw";} + if("sxg" == ext) {return "application/vnd.sun.xml.writer.global";} + if("sxi" == ext) {return "application/vnd.sun.xml.impress";} + if("sxm" == ext) {return "application/vnd.sun.xml.math";} + if("sxw" == ext) {return "application/vnd.sun.xml.writer";} + if("t" == ext) {return "text/troff";} + if("t3" == ext) {return "application/x-t3vm-image";} + if("t38" == ext) {return "image/t38";} + if("taglet" == ext) {return "application/vnd.mynfc";} + if("tao" == ext) {return "application/vnd.tao.intent-module-archive";} + if("tap" == ext) {return "image/vnd.tencent.tap";} + if("tar" == ext) {return "application/x-tar";} + if("tcap" == ext) {return "application/vnd.3gpp2.tcap";} + if("tcl" == ext) {return "application/x-tcl";} + if("td" == ext) {return "application/urc-targetdesc+xml";} + if("teacher" == ext) {return "application/vnd.smart.teacher";} + if("tei" == ext) {return "application/tei+xml";} + if("tex" == ext) {return "application/x-tex";} + if("texi" == ext) {return "application/x-texinfo";} + if("texinfo" == ext) {return "application/x-texinfo";} + if("text" == ext) {return "text/plain";} + if("tfi" == ext) {return "application/thraud+xml";} + if("tfm" == ext) {return "application/x-tex-tfm";} + if("tfx" == ext) {return "image/tiff-fx";} + if("tga" == ext) {return "image/x-tga";} + if("thmx" == ext) {return "application/vnd.ms-officetheme";} + if("tif" == ext) {return "image/tiff";} + if("tiff" == ext) {return "image/tiff";} + if("tk" == ext) {return "application/x-tcl";} + if("tmo" == ext) {return "application/vnd.tmobile-livetv";} + if("toml" == ext) {return "application/toml";} + if("torrent" == ext) {return "application/x-bittorrent";} + if("tpl" == ext) {return "application/vnd.groove-tool-template";} + if("tpt" == ext) {return "application/vnd.trid.tpt";} + if("tr" == ext) {return "text/troff";} + if("tra" == ext) {return "application/vnd.trueapp";} + if("trig" == ext) {return "application/trig";} + if("trm" == ext) {return "application/x-msterminal";} + if("ts" == ext) {return "video/mp2t";} + if("tsd" == ext) {return "application/timestamped-data";} + if("tsv" == ext) {return "text/tab-separated-values";} + if("ttc" == ext) {return "font/collection";} + if("ttf" == ext) {return "font/ttf";} + if("ttl" == ext) {return "text/turtle";} + if("ttml" == ext) {return "application/ttml+xml";} + if("twd" == ext) {return "application/vnd.simtech-mindmapper";} + if("twds" == ext) {return "application/vnd.simtech-mindmapper";} + if("txd" == ext) {return "application/vnd.genomatix.tuxedo";} + if("txf" == ext) {return "application/vnd.mobius.txf";} + if("txt" == ext) {return "text/plain";} + if("u32" == ext) {return "application/x-authorware-bin";} + if("u3d" == ext) {return "model/u3d";} + if("u8dsn" == ext) {return "message/global-delivery-status";} + if("u8hdr" == ext) {return "message/global-headers";} + if("u8mdn" == ext) {return "message/global-disposition-notification";} + if("u8msg" == ext) {return "message/global";} + if("ubj" == ext) {return "application/ubjson";} + if("udeb" == ext) {return "application/x-debian-package";} + if("ufd" == ext) {return "application/vnd.ufdl";} + if("ufdl" == ext) {return "application/vnd.ufdl";} + if("ulx" == ext) {return "application/x-glulx";} + if("umj" == ext) {return "application/vnd.umajin";} + if("unityweb" == ext) {return "application/vnd.unity";} + if("uo" == ext) {return "application/vnd.uoml+xml";} + if("uoml" == ext) {return "application/vnd.uoml+xml";} + if("uri" == ext) {return "text/uri-list";} + if("uris" == ext) {return "text/uri-list";} + if("urls" == ext) {return "text/uri-list";} + if("usda" == ext) {return "model/vnd.usda";} + if("usdz" == ext) {return "model/vnd.usdz+zip";} + if("ustar" == ext) {return "application/x-ustar";} + if("utz" == ext) {return "application/vnd.uiq.theme";} + if("uu" == ext) {return "text/x-uuencode";} + if("uva" == ext) {return "audio/vnd.dece.audio";} + if("uvd" == ext) {return "application/vnd.dece.data";} + if("uvf" == ext) {return "application/vnd.dece.data";} + if("uvg" == ext) {return "image/vnd.dece.graphic";} + if("uvh" == ext) {return "video/vnd.dece.hd";} + if("uvi" == ext) {return "image/vnd.dece.graphic";} + if("uvm" == ext) {return "video/vnd.dece.mobile";} + if("uvp" == ext) {return "video/vnd.dece.pd";} + if("uvs" == ext) {return "video/vnd.dece.sd";} + if("uvt" == ext) {return "application/vnd.dece.ttml+xml";} + if("uvu" == ext) {return "video/vnd.uvvu.mp4";} + if("uvv" == ext) {return "video/vnd.dece.video";} + if("uvva" == ext) {return "audio/vnd.dece.audio";} + if("uvvd" == ext) {return "application/vnd.dece.data";} + if("uvvf" == ext) {return "application/vnd.dece.data";} + if("uvvg" == ext) {return "image/vnd.dece.graphic";} + if("uvvh" == ext) {return "video/vnd.dece.hd";} + if("uvvi" == ext) {return "image/vnd.dece.graphic";} + if("uvvm" == ext) {return "video/vnd.dece.mobile";} + if("uvvp" == ext) {return "video/vnd.dece.pd";} + if("uvvs" == ext) {return "video/vnd.dece.sd";} + if("uvvt" == ext) {return "application/vnd.dece.ttml+xml";} + if("uvvu" == ext) {return "video/vnd.uvvu.mp4";} + if("uvvv" == ext) {return "video/vnd.dece.video";} + if("uvvx" == ext) {return "application/vnd.dece.unspecified";} + if("uvvz" == ext) {return "application/vnd.dece.zip";} + if("uvx" == ext) {return "application/vnd.dece.unspecified";} + if("uvz" == ext) {return "application/vnd.dece.zip";} + if("vbox" == ext) {return "application/x-virtualbox-vbox";} + if("vcard" == ext) {return "text/vcard";} + if("vcd" == ext) {return "application/x-cdlink";} + if("vcf" == ext) {return "text/x-vcard";} + if("vcg" == ext) {return "application/vnd.groove-vcard";} + if("vcs" == ext) {return "text/x-vcalendar";} + if("vcx" == ext) {return "application/vnd.vcx";} + if("vdi" == ext) {return "application/x-virtualbox-vdi";} + if("vds" == ext) {return "model/vnd.sap.vds";} + if("vhd" == ext) {return "application/x-virtualbox-vhd";} + if("vis" == ext) {return "application/vnd.visionary";} + if("viv" == ext) {return "video/vnd.vivo";} + if("vmdk" == ext) {return "application/x-virtualbox-vmdk";} + if("vob" == ext) {return "video/x-ms-vob";} + if("vor" == ext) {return "application/vnd.stardivision.writer";} + if("vox" == ext) {return "application/x-authorware-bin";} + if("vrml" == ext) {return "model/vrml";} + if("vsd" == ext) {return "application/vnd.visio";} + if("vsf" == ext) {return "application/vnd.vsf";} + if("vss" == ext) {return "application/vnd.visio";} + if("vst" == ext) {return "application/vnd.visio";} + if("vsw" == ext) {return "application/vnd.visio";} + if("vtf" == ext) {return "image/vnd.valve.source.texture";} + if("vtt" == ext) {return "text/vtt";} + if("vtu" == ext) {return "model/vnd.vtu";} + if("vxml" == ext) {return "application/voicexml+xml";} + if("w3d" == ext) {return "application/x-director";} + if("wad" == ext) {return "application/x-doom";} + if("wadl" == ext) {return "application/vnd.sun.wadl+xml";} + if("war" == ext) {return "application/java-archive";} + if("wasm" == ext) {return "application/wasm";} + if("wav" == ext) {return "audio/wav";} + if("wax" == ext) {return "audio/x-ms-wax";} + if("wbmp" == ext) {return "image/vnd.wap.wbmp";} + if("wbs" == ext) {return "application/vnd.criticaltools.wbs+xml";} + if("wbxml" == ext) {return "application/vnd.wap.wbxml";} + if("wcm" == ext) {return "application/vnd.ms-works";} + if("wdb" == ext) {return "application/vnd.ms-works";} + if("wdp" == ext) {return "image/vnd.ms-photo";} + if("weba" == ext) {return "audio/webm";} + if("webapp" == ext) {return "application/x-web-app-manifest+json";} + if("webm" == ext) {return "video/webm";} + if("webp" == ext) {return "image/webp";} + if("wg" == ext) {return "application/vnd.pmi.widget";} + if("wgsl" == ext) {return "text/wgsl";} + if("wgt" == ext) {return "application/widget";} + if("wif" == ext) {return "application/watcherinfo+xml";} + if("wks" == ext) {return "application/vnd.ms-works";} + if("wm" == ext) {return "video/x-ms-wm";} + if("wma" == ext) {return "audio/x-ms-wma";} + if("wmd" == ext) {return "application/x-ms-wmd";} + if("wmf" == ext) {return "image/wmf";} + if("wml" == ext) {return "text/vnd.wap.wml";} + if("wmlc" == ext) {return "application/vnd.wap.wmlc";} + if("wmls" == ext) {return "text/vnd.wap.wmlscript";} + if("wmlsc" == ext) {return "application/vnd.wap.wmlscriptc";} + if("wmv" == ext) {return "video/x-ms-wmv";} + if("wmx" == ext) {return "video/x-ms-wmx";} + if("wmz" == ext) {return "application/x-ms-wmz";} + if("woff" == ext) {return "font/woff";} + if("woff2" == ext) {return "font/woff2";} + if("wpd" == ext) {return "application/vnd.wordperfect";} + if("wpl" == ext) {return "application/vnd.ms-wpl";} + if("wps" == ext) {return "application/vnd.ms-works";} + if("wqd" == ext) {return "application/vnd.wqd";} + if("wri" == ext) {return "application/x-mswrite";} + if("wrl" == ext) {return "model/vrml";} + if("wsc" == ext) {return "message/vnd.wfa.wsc";} + if("wsdl" == ext) {return "application/wsdl+xml";} + if("wspolicy" == ext) {return "application/wspolicy+xml";} + if("wtb" == ext) {return "application/vnd.webturbo";} + if("wvx" == ext) {return "video/x-ms-wvx";} + if("x32" == ext) {return "application/x-authorware-bin";} + if("x3d" == ext) {return "model/x3d+xml";} + if("x3db" == ext) {return "model/x3d+binary";} + if("x3dbz" == ext) {return "model/x3d+binary";} + if("x3dv" == ext) {return "model/x3d+vrml";} + if("x3dvz" == ext) {return "model/x3d+vrml";} + if("x3dz" == ext) {return "model/x3d+xml";} + if("xaml" == ext) {return "application/xaml+xml";} + if("xap" == ext) {return "application/x-silverlight-app";} + if("xar" == ext) {return "application/vnd.xara";} + if("xav" == ext) {return "application/xcap-att+xml";} + if("xbap" == ext) {return "application/x-ms-xbap";} + if("xbd" == ext) {return "application/vnd.fujixerox.docuworks.binder";} + if("xbm" == ext) {return "image/x-xbitmap";} + if("xca" == ext) {return "application/xcap-caps+xml";} + if("xcs" == ext) {return "application/calendar+xml";} + if("xdf" == ext) {return "application/xcap-diff+xml";} + if("xdm" == ext) {return "application/vnd.syncml.dm+xml";} + if("xdp" == ext) {return "application/vnd.adobe.xdp+xml";} + if("xdssc" == ext) {return "application/dssc+xml";} + if("xdw" == ext) {return "application/vnd.fujixerox.docuworks";} + if("xel" == ext) {return "application/xcap-el+xml";} + if("xenc" == ext) {return "application/xenc+xml";} + if("xer" == ext) {return "application/patch-ops-error+xml";} + if("xfdf" == ext) {return "application/xfdf";} + if("xfdl" == ext) {return "application/vnd.xfdl";} + if("xht" == ext) {return "application/xhtml+xml";} + if("xhtm" == ext) {return "application/vnd.pwg-xhtml-print+xml";} + if("xhtml" == ext) {return "application/xhtml+xml";} + if("xhvml" == ext) {return "application/xv+xml";} + if("xif" == ext) {return "image/vnd.xiff";} + if("xla" == ext) {return "application/vnd.ms-excel";} + if("xlam" == ext) {return "application/vnd.ms-excel.addin.macroenabled.12";} + if("xlc" == ext) {return "application/vnd.ms-excel";} + if("xlf" == ext) {return "application/xliff+xml";} + if("xlm" == ext) {return "application/vnd.ms-excel";} + if("xls" == ext) {return "application/vnd.ms-excel";} + if("xlsb" == ext) {return "application/vnd.ms-excel.sheet.binary.macroenabled.12";} + if("xlsm" == ext) {return "application/vnd.ms-excel.sheet.macroenabled.12";} + if("xlsx" == ext) {return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";} + if("xlt" == ext) {return "application/vnd.ms-excel";} + if("xltm" == ext) {return "application/vnd.ms-excel.template.macroenabled.12";} + if("xltx" == ext) {return "application/vnd.openxmlformats-officedocument.spreadsheetml.template";} + if("xlw" == ext) {return "application/vnd.ms-excel";} + if("xm" == ext) {return "audio/xm";} + if("xml" == ext) {return "application/xml";} + if("xns" == ext) {return "application/xcap-ns+xml";} + if("xo" == ext) {return "application/vnd.olpc-sugar";} + if("xop" == ext) {return "application/xop+xml";} + if("xpi" == ext) {return "application/x-xpinstall";} + if("xpl" == ext) {return "application/xproc+xml";} + if("xpm" == ext) {return "image/x-xpixmap";} + if("xpr" == ext) {return "application/vnd.is-xpr";} + if("xps" == ext) {return "application/vnd.ms-xpsdocument";} + if("xpw" == ext) {return "application/vnd.intercon.formnet";} + if("xpx" == ext) {return "application/vnd.intercon.formnet";} + if("xsd" == ext) {return "application/xml";} + if("xsf" == ext) {return "application/prs.xsf+xml";} + if("xsl" == ext) {return "application/xml";} + if("xslt" == ext) {return "application/xslt+xml";} + if("xsm" == ext) {return "application/vnd.syncml+xml";} + if("xspf" == ext) {return "application/xspf+xml";} + if("xul" == ext) {return "application/vnd.mozilla.xul+xml";} + if("xvm" == ext) {return "application/xv+xml";} + if("xvml" == ext) {return "application/xv+xml";} + if("xwd" == ext) {return "image/x-xwindowdump";} + if("xyz" == ext) {return "chemical/x-xyz";} + if("xz" == ext) {return "application/x-xz";} + if("yaml" == ext) {return "text/yaml";} + if("yang" == ext) {return "application/yang";} + if("yin" == ext) {return "application/yin+xml";} + if("yml" == ext) {return "text/yaml";} + if("ymp" == ext) {return "text/x-suse-ymp";} + if("z1" == ext) {return "application/x-zmachine";} + if("z2" == ext) {return "application/x-zmachine";} + if("z3" == ext) {return "application/x-zmachine";} + if("z4" == ext) {return "application/x-zmachine";} + if("z5" == ext) {return "application/x-zmachine";} + if("z6" == ext) {return "application/x-zmachine";} + if("z7" == ext) {return "application/x-zmachine";} + if("z8" == ext) {return "application/x-zmachine";} + if("zaz" == ext) {return "application/vnd.zzazz.deck+xml";} + if("zip" == ext) {return "application/zip";} + if("zir" == ext) {return "application/vnd.zul";} + if("zirz" == ext) {return "application/vnd.zul";} + if("zmm" == ext) {return "application/vnd.handheld-entertainment+xml";} + return "application/octet-stream"; +}