mimetypes.nim 67 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935
  1. #
  2. #
  3. # Nim's Runtime Library
  4. # (c) Copyright 2012 Dominik Picheta
  5. #
  6. # See the file "copying.txt", included in this
  7. # distribution, for details about the copyright.
  8. #
  9. ## This module implements a mimetypes database
  10. import strtabs
  11. from strutils import startsWith, toLowerAscii, strip
  12. type
  13. MimeDB* = object
  14. mimes: StringTableRef
  15. const mimes* = {
  16. "123": "application/vnd.lotus-1-2-3",
  17. "1km": "application/vnd.1000minds.decision-model+xml",
  18. "323": "text/h323",
  19. "3dm": "text/vnd.in3d.3dml",
  20. "3dmf": "x-world/x-3dmf",
  21. "3dml": "text/vnd.in3d.3dml",
  22. "3ds": "image/x-3ds",
  23. "3g2": "video/3gpp2",
  24. "3gp": "video/3gpp",
  25. "3gpp": "audio/3gpp",
  26. "3gpp2": "video/3gpp2",
  27. "3mf": "application/vnd.ms-3mfdocument",
  28. "669": "audio/x-mod",
  29. "726": "audio/32kadpcm",
  30. "7z": "application/x-7z-compressed",
  31. "a": "text/plain",
  32. "a2l": "application/a2l",
  33. "aa3": "audio/atrac3",
  34. "aab": "application/x-authorware-bin",
  35. "aac": "audio/x-aac",
  36. "aal": "audio/atrac-advanced-lossless",
  37. "aam": "application/x-authorware-map",
  38. "aas": "application/x-authorware-seg",
  39. "abc": "text/vnd.abc",
  40. "abw": "application/x-abiword",
  41. "ac": "application/pkix-attr-cert",
  42. "ac3": "audio/ac3",
  43. "acc": "application/vnd.americandynamics.acc",
  44. "ace": "application/x-ace-compressed",
  45. "acn": "audio/asc",
  46. "acu": "application/vnd.acucobol",
  47. "acutc": "application/vnd.acucorp",
  48. "acx": "application/internet-property-stream",
  49. "adp": "audio/adpcm",
  50. "aep": "application/vnd.audiograph",
  51. "afl": "video/animaflex",
  52. "afm": "application/x-font-type1",
  53. "afp": "application/vnd.ibm.modcap",
  54. "ahead": "application/vnd.ahead.space",
  55. "ai": "application/postscript",
  56. "aif": "audio/x-aiff",
  57. "aifc": "audio/x-aiff",
  58. "aiff": "audio/x-aiff",
  59. "aim": "application/x-aim",
  60. "aip": "text/x-audiosoft-intra",
  61. "air": "application/vnd.adobe.air-application-installer-package+zip",
  62. "ait": "application/vnd.dvb.ait",
  63. "alc": "chemical/x-alchemy",
  64. "ami": "application/vnd.amiga.ami",
  65. "aml": "application/aml",
  66. "amr": "audio/amr",
  67. "ani": "application/x-navi-animation",
  68. "anx": "application/x-annodex",
  69. "aos": "application/x-nokia-9000-communicator-add-on-software",
  70. "apinotes": "text/apinotes",
  71. "apk": "application/vnd.android.package-archive",
  72. "apkg": "application/vnd.anki",
  73. "apng": "image/apng",
  74. "appcache": "text/cache-manifest",
  75. "appimage": "application/appimage",
  76. "application": "application/x-ms-application",
  77. "apr": "application/vnd.lotus-approach",
  78. "aps": "application/mime",
  79. "apxml": "application/auth-policy+xml",
  80. "arc": "application/x-freearc",
  81. "arj": "application/x-arj",
  82. "art": "message/rfc822",
  83. "asar": "binary/asar",
  84. "asc": "text/plain",
  85. "ascii": "text/vnd.ascii-art",
  86. "asf": "application/vnd.ms-asf",
  87. "asice": "application/vnd.etsi.asic-e+zip",
  88. "asics": "application/vnd.etsi.asic-s+zip",
  89. "asm": "text/x-asm",
  90. "asn": "chemical/x-ncbi-asn1-spec",
  91. "aso": "application/vnd.accpac.simply.aso",
  92. "asp": "text/asp",
  93. "asr": "video/x-ms-asf",
  94. "asx": "video/x-ms-asf",
  95. "at3": "audio/atrac3",
  96. "atc": "application/vnd.acucorp",
  97. "atf": "application/atf",
  98. "atfx": "application/atfx",
  99. "atom": "application/atom+xml",
  100. "atomcat": "application/atomcat+xml",
  101. "atomdeleted": "application/atomdeleted+xml",
  102. "atomsrv": "application/atomserv+xml",
  103. "atomsvc": "application/atomsvc+xml",
  104. "atx": "application/vnd.antix.game-component",
  105. "atxml": "application/atxml",
  106. "au": "audio/basic",
  107. "auc": "application/tamp-apex-update-confirm",
  108. "avi": "video/x-msvideo",
  109. "avs": "video/avs-video",
  110. "aw": "application/applixware",
  111. "awb": "audio/amr-wb",
  112. "axa": "audio/x-annodex",
  113. "axs": "application/olescript",
  114. "axv": "video/x-annodex",
  115. "azf": "application/vnd.airzip.filesecure.azf",
  116. "azs": "application/vnd.airzip.filesecure.azs",
  117. "azv": "image/vnd.airzip.accelerator.azv",
  118. "azw": "application/vnd.amazon.ebook",
  119. "azw3": "application/vnd.amazon.mobi8-ebook",
  120. "b": "chemical/x-molconn-Z",
  121. "bak": "application/x-trash",
  122. "bar": "application/vnd.qualcomm.brew-app-res",
  123. "bas": "text/plain",
  124. "bash": "text/shell",
  125. "bat": "application/x-msdos-program",
  126. "bcpio": "application/x-bcpio",
  127. "bdf": "application/x-font-bdf",
  128. "bdm": "application/vnd.syncml.dm+wbxml",
  129. "bdoc": "application/bdoc",
  130. "bed": "application/vnd.realvnc.bed",
  131. "bh2": "application/vnd.fujitsu.oasysprs",
  132. "bib": "text/x-bibtex",
  133. "bik": "video/vnd.radgamettools.bink",
  134. "bin": "application/octet-stream",
  135. "bk2": "video/vnd.radgamettools.bink",
  136. "bkm": "application/vnd.nervana",
  137. "blb": "application/x-blorb",
  138. "blend": "binary/blender",
  139. "blorb": "application/x-blorb",
  140. "bm": "image/bmp",
  141. "bmed": "multipart/vnd.bint.med-plus",
  142. "bmi": "application/vnd.bmi",
  143. "bmml": "application/vnd.balsamiq.bmml+xml",
  144. "bmp": "image/bmp",
  145. "bmpr": "application/vnd.balsamiq.bmpr",
  146. "boo": "application/book",
  147. "book": "application/book",
  148. "box": "application/vnd.previewsystems.box",
  149. "boz": "application/x-bzip2",
  150. "bpd": "application/vnd.hbci",
  151. "bpk": "application/octet-stream",
  152. "brf": "text/plain",
  153. "bsd": "chemical/x-crossfire",
  154. "bsh": "application/x-bsh",
  155. "bsp": "model/vnd.valve.source.compiled-map",
  156. "btf": "image/prs.btif",
  157. "btif": "image/prs.btif",
  158. "bz": "application/x-bzip",
  159. "bz2": "application/x-bzip2",
  160. "c": "text/x-csrc",
  161. "c++": "text/x-c++src",
  162. "c11amc": "application/vnd.cluetrust.cartomobile-config",
  163. "c11amz": "application/vnd.cluetrust.cartomobile-config-pkg",
  164. "c3d": "chemical/x-chem3d",
  165. "c3ex": "application/cccex",
  166. "c4d": "application/vnd.clonk.c4group",
  167. "c4f": "application/vnd.clonk.c4group",
  168. "c4g": "application/vnd.clonk.c4group",
  169. "c4p": "application/vnd.clonk.c4group",
  170. "c4u": "application/vnd.clonk.c4group",
  171. "cab": "application/vnd.ms-cab-compressed",
  172. "cac": "chemical/x-cache",
  173. "cache": "application/x-cache",
  174. "caf": "audio/x-caf",
  175. "cap": "application/vnd.tcpdump.pcap",
  176. "car": "application/vnd.curl.car",
  177. "cascii": "chemical/x-cactvs-binary",
  178. "cat": "application/vnd.ms-pki.seccat",
  179. "cb7": "application/x-cbr",
  180. "cba": "application/x-cbr",
  181. "cbin": "chemical/x-cactvs-binary",
  182. "cbor": "application/cbor",
  183. "cbr": "application/x-cbr",
  184. "cbt": "application/x-cbr",
  185. "cbz": "application/vnd.comicbook+zip",
  186. "cc": "text/plain",
  187. "ccad": "application/clariscad",
  188. "ccc": "text/vnd.net2phone.commcenter.command",
  189. "ccmp": "application/ccmp+xml",
  190. "cco": "application/x-cocoa",
  191. "cct": "application/x-director",
  192. "ccxml": "application/ccxml+xml",
  193. "cda": "application/x-cdf",
  194. "cdbcmsg": "application/vnd.contact.cmsg",
  195. "cdf": "application/x-netcdf",
  196. "cdfx": "application/cdfx+xml",
  197. "cdkey": "application/vnd.mediastation.cdkey",
  198. "cdmia": "application/cdmi-capability",
  199. "cdmic": "application/cdmi-container",
  200. "cdmid": "application/cdmi-domain",
  201. "cdmio": "application/cdmi-object",
  202. "cdmiq": "application/cdmi-queue",
  203. "cdr": "image/x-coreldraw",
  204. "cdt": "image/x-coreldrawtemplate",
  205. "cdx": "chemical/x-cdx",
  206. "cdxml": "application/vnd.chemdraw+xml",
  207. "cdy": "application/vnd.cinderella",
  208. "cea": "application/cea",
  209. "cef": "chemical/x-cxf",
  210. "cellml": "application/cellml+xml",
  211. "cer": "application/pkix-cert",
  212. "cfg": "text/cfg",
  213. "cfs": "application/x-cfs-compressed",
  214. "cgm": "image/cgm",
  215. "cha": "application/x-chat",
  216. "chat": "application/x-chat",
  217. "chm": "application/vnd.ms-htmlhelp",
  218. "chrt": "application/vnd.kde.kchart",
  219. "cif": "chemical/x-cif",
  220. "cii": "application/vnd.anser-web-certificate-issue-initiation",
  221. "cil": "application/vnd.ms-artgalry",
  222. "cl": "application/simple-filter+xml",
  223. "cla": "application/vnd.claymore",
  224. "class": "application/java-vm",
  225. "clkk": "application/vnd.crick.clicker.keyboard",
  226. "clkp": "application/vnd.crick.clicker.palette",
  227. "clkt": "application/vnd.crick.clicker.template",
  228. "clkw": "application/vnd.crick.clicker.wordbank",
  229. "clkx": "application/vnd.crick.clicker",
  230. "clp": "application/x-msclip",
  231. "cls": "text/x-tex",
  232. "clue": "application/clue_info+xml",
  233. "cmake": "text/cmake",
  234. "cmc": "application/vnd.cosmocaller",
  235. "cmdf": "chemical/x-cmdf",
  236. "cml": "chemical/x-cml",
  237. "cmp": "application/vnd.yellowriver-custom-menu",
  238. "cmsc": "application/cms",
  239. "cmx": "image/x-cmx",
  240. "cnd": "text/jcr-cnd",
  241. "cnf": "text/cnf",
  242. "cod": "application/vnd.rim.cod",
  243. "coffee": "application/vnd.coffeescript",
  244. "com": "application/x-msdos-program",
  245. "conf": "text/plain",
  246. "copyright": "text/vnd.debian.copyright",
  247. "cpa": "chemical/x-compass",
  248. "cpio": "application/x-cpio",
  249. "cpkg": "application/vnd.xmpie.cpkg",
  250. "cpl": "application/cpl+xml",
  251. "cpp": "text/x-c++src",
  252. "cpt": "application/mac-compactpro",
  253. "cr2": "image/x-canon-cr2",
  254. "crd": "application/x-mscardfile",
  255. "crl": "application/pkix-crl",
  256. "crt": "application/x-x509-ca-cert",
  257. "crtr": "application/vnd.multiad.creator",
  258. "crw": "image/x-canon-crw",
  259. "crx": "application/x-chrome-extension",
  260. "cryptonote": "application/vnd.rig.cryptonote",
  261. "cs": "text/c#",
  262. "csf": "chemical/x-cache-csf",
  263. "csh": "application/x-csh",
  264. "csl": "application/vnd.citationstyles.style+xml",
  265. "csm": "chemical/x-csml",
  266. "csml": "chemical/x-csml",
  267. "cson": "text/cson",
  268. "csp": "application/vnd.commonspace",
  269. "csrattrs": "application/csrattrs",
  270. "css": "text/css",
  271. "cst": "application/vnd.commonspace",
  272. "csv": "text/csv",
  273. "csvs": "text/csv-schema",
  274. "ctab": "chemical/x-cactvs-binary",
  275. "ctx": "chemical/x-ctx",
  276. "cu": "application/cu-seeme",
  277. "cub": "chemical/x-gaussian-cube",
  278. "cuc": "application/tamp-community-update-confirm",
  279. "curl": "text/vnd.curl",
  280. "cw": "application/prs.cww",
  281. "cww": "application/prs.cww",
  282. "cxf": "chemical/x-cxf",
  283. "cxt": "application/x-director",
  284. "cxx": "text/plain",
  285. "d": "text/x-dsrc",
  286. "dae": "model/vnd.collada+xml",
  287. "daf": "application/vnd.mobius.daf",
  288. "dart": "application/vnd.dart",
  289. "dat": "application/x-ns-proxy-autoconfig",
  290. "dataless": "application/vnd.fdsn.seed",
  291. "davmount": "application/davmount+xml",
  292. "dbk": "application/docbook+xml",
  293. "dcd": "application/dcd",
  294. "dcf": "application/vnd.oma.drm.content",
  295. "dcm": "application/dicom",
  296. "dcr": "application/x-director",
  297. "dcurl": "text/vnd.curl.dcurl",
  298. "dd": "application/vnd.oma.dd+xml",
  299. "dd2": "application/vnd.oma.dd2+xml",
  300. "ddd": "application/vnd.fujixerox.ddd",
  301. "ddf": "application/vnd.syncml.dmddf+xml",
  302. "deb": "application/vnd.debian.binary-package",
  303. "deepv": "application/x-deepv",
  304. "def": "text/plain",
  305. "deploy": "application/octet-stream",
  306. "der": "application/x-x509-ca-cert",
  307. "dfac": "application/vnd.dreamfactory",
  308. "dgc": "application/x-dgc-compressed",
  309. "dib": "image/bmp",
  310. "dic": "text/x-c",
  311. "dif": "video/x-dv",
  312. "diff": "text/x-diff",
  313. "dii": "application/dii",
  314. "dim": "application/vnd.fastcopy-disk-image",
  315. "dir": "application/x-director",
  316. "dis": "application/vnd.mobius.dis",
  317. "disposition-notification": "message/disposition-notification",
  318. "dist": "application/vnd.apple.installer+xml",
  319. "distz": "application/vnd.apple.installer+xml",
  320. "dit": "application/dit",
  321. "djv": "image/vnd.djvu",
  322. "djvu": "image/vnd.djvu",
  323. "dl": "video/dl",
  324. "dll": "application/x-msdos-program",
  325. "dls": "audio/dls",
  326. "dm": "application/vnd.oma.drm.message",
  327. "dmg": "application/x-apple-diskimage",
  328. "dmp": "application/vnd.tcpdump.pcap",
  329. "dms": "text/vnd.dmclientscript",
  330. "dna": "application/vnd.dna",
  331. "doc": "application/msword",
  332. "docjson": "application/vnd.document+json",
  333. "docm": "application/vnd.ms-word.document.macroenabled.12",
  334. "docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
  335. "dor": "model/vnd.gdl",
  336. "dot": "text/vnd.graphviz",
  337. "dotm": "application/vnd.ms-word.template.macroenabled.12",
  338. "dotx": "application/vnd.openxmlformats-officedocument.wordprocessingml.template",
  339. "dp": "application/vnd.osgi.dp",
  340. "dpg": "application/vnd.dpgraph",
  341. "dpgraph": "application/vnd.dpgraph",
  342. "dpkg": "application/vnd.xmpie.dpkg",
  343. "dr": "application/vnd.oma.drm.rights+xml",
  344. "dra": "audio/vnd.dra",
  345. "drc": "application/vnd.oma.drm.rights+wbxml",
  346. "drle": "image/dicom-rle",
  347. "drw": "application/drafting",
  348. "dsc": "text/prs.lines.tag",
  349. "dsm": "application/vnd.desmume.movie",
  350. "dssc": "application/dssc+der",
  351. "dtb": "application/x-dtbook+xml",
  352. "dtd": "application/xml-dtd",
  353. "dts": "audio/vnd.dts",
  354. "dtshd": "audio/vnd.dts.hd",
  355. "dump": "application/octet-stream",
  356. "dv": "video/x-dv",
  357. "dvb": "video/vnd.dvb.file",
  358. "dvc": "application/dvcs",
  359. "dvi": "application/x-dvi",
  360. "dwf": "model/vnd.dwf",
  361. "dwg": "image/vnd.dwg",
  362. "dx": "chemical/x-jcamp-dx",
  363. "dxf": "image/vnd.dxf",
  364. "dxp": "application/vnd.spotfire.dxp",
  365. "dxr": "application/x-director",
  366. "dzr": "application/vnd.dzr",
  367. "ear": "binary/zip",
  368. "ecelp4800": "audio/vnd.nuera.ecelp4800",
  369. "ecelp7470": "audio/vnd.nuera.ecelp7470",
  370. "ecelp9600": "audio/vnd.nuera.ecelp9600",
  371. "ecig": "application/vnd.evolv.ecig.settings",
  372. "ecigprofile": "application/vnd.evolv.ecig.profile",
  373. "ecigtheme": "application/vnd.evolv.ecig.theme",
  374. "ecma": "application/ecmascript",
  375. "edm": "application/vnd.novadigm.edm",
  376. "edx": "application/vnd.novadigm.edx",
  377. "efi": "application/efi",
  378. "efif": "application/vnd.picsel",
  379. "ei6": "application/vnd.pg.osasli",
  380. "ejs": "text/ejs",
  381. "el": "text/plain",
  382. "elc": "application/x-bytecode.elisp",
  383. "emb": "chemical/x-embl-dl-nucleotide",
  384. "embl": "chemical/x-embl-dl-nucleotide",
  385. "emf": "image/emf",
  386. "eml": "message/rfc822",
  387. "emm": "application/vnd.ibm.electronic-media",
  388. "emma": "application/emma+xml",
  389. "emotionml": "application/emotionml+xml",
  390. "emz": "application/x-msmetafile",
  391. "ent": "text/xml-external-parsed-entity",
  392. "entity": "application/vnd.nervana",
  393. "env": "application/x-envoy",
  394. "enw": "audio/evrcnw",
  395. "eol": "audio/vnd.digital-winds",
  396. "eot": "application/vnd.ms-fontobject",
  397. "ep": "application/vnd.bluetooth.ep.oob",
  398. "eps": "application/postscript",
  399. "eps2": "application/postscript",
  400. "eps3": "application/postscript",
  401. "epsf": "application/postscript",
  402. "epsi": "application/postscript",
  403. "epub": "application/epub+zip",
  404. "erb": "text/erb",
  405. "erf": "image/x-epson-erf",
  406. "es": "application/ecmascript",
  407. "es3": "application/vnd.eszigno3+xml",
  408. "esa": "application/vnd.osgi.subsystem",
  409. "escn": "text/godot",
  410. "esf": "application/vnd.epson.esf",
  411. "espass": "application/vnd.espass-espass+zip",
  412. "et3": "application/vnd.eszigno3+xml",
  413. "etx": "text/x-setext",
  414. "eva": "application/x-eva",
  415. "evb": "audio/evrcb",
  416. "evc": "audio/evrc",
  417. "evw": "audio/evrcwb",
  418. "evy": "application/x-envoy",
  419. "exe": "application/x-msdos-program",
  420. "exi": "application/exi",
  421. "exr": "image/aces",
  422. "ext": "application/vnd.novadigm.ext",
  423. "eyaml": "text/yaml",
  424. "ez": "application/andrew-inset",
  425. "ez2": "application/vnd.ezpix-album",
  426. "ez3": "application/vnd.ezpix-package",
  427. "f": "text/x-fortran",
  428. "f4v": "video/x-f4v",
  429. "f77": "text/x-fortran",
  430. "f90": "text/plain",
  431. "fb": "application/x-maker",
  432. "fbdoc": "application/x-maker",
  433. "fbs": "image/vnd.fastbidsheet",
  434. "fbx": "model/filmbox",
  435. "fcdt": "application/vnd.adobe.formscentral.fcdt",
  436. "fch": "chemical/x-gaussian-checkpoint",
  437. "fchk": "chemical/x-gaussian-checkpoint",
  438. "fcs": "application/vnd.isac.fcs",
  439. "fdf": "application/vnd.fdf",
  440. "fdt": "application/fdt+xml",
  441. "fe_launch": "application/vnd.denovo.fcselayout-link",
  442. "feature": "text/gherkin",
  443. "fg5": "application/vnd.fujitsu.oasysgp",
  444. "fgd": "application/x-director",
  445. "fh": "image/x-freehand",
  446. "fh4": "image/x-freehand",
  447. "fh5": "image/x-freehand",
  448. "fh7": "image/x-freehand",
  449. "fhc": "image/x-freehand",
  450. "fif": "image/fif",
  451. "fig": "application/x-xfig",
  452. "finf": "application/fastinfoset",
  453. "fish": "text/fish",
  454. "fit": "image/fits",
  455. "fits": "image/fits",
  456. "fla": "application/vnd.dtg.local.flash",
  457. "flac": "audio/x-flac",
  458. "fli": "video/x-fli",
  459. "flo": "application/vnd.micrografx.flo",
  460. "flr": "x-world/x-vrml",
  461. "flv": "video/x-flv",
  462. "flw": "application/vnd.kde.kivio",
  463. "flx": "text/vnd.fmi.flexstor",
  464. "fly": "text/vnd.fly",
  465. "fm": "application/vnd.framemaker",
  466. "fmf": "video/x-atomic3d-feature",
  467. "fnc": "application/vnd.frogans.fnc",
  468. "fo": "application/vnd.software602.filler.form+xml",
  469. "for": "text/x-fortran",
  470. "fpx": "image/vnd.fpx",
  471. "frame": "application/vnd.framemaker",
  472. "frl": "application/freeloader",
  473. "frm": "application/vnd.ufdl",
  474. "fsc": "application/vnd.fsc.weblaunch",
  475. "fst": "image/vnd.fst",
  476. "ftc": "application/vnd.fluxtime.clip",
  477. "fti": "application/vnd.anser-web-funds-transfer-initiation",
  478. "fts": "image/fits",
  479. "funk": "audio/make",
  480. "fvt": "video/vnd.fvt",
  481. "fxm": "video/x-javafx",
  482. "fxp": "application/vnd.adobe.fxp",
  483. "fxpl": "application/vnd.adobe.fxp",
  484. "fzs": "application/vnd.fuzzysheet",
  485. "g": "text/plain",
  486. "g2w": "application/vnd.geoplan",
  487. "g3": "image/g3fax",
  488. "g3w": "application/vnd.geospace",
  489. "gac": "application/vnd.groove-account",
  490. "gal": "chemical/x-gaussian-log",
  491. "gam": "application/x-tads",
  492. "gamin": "chemical/x-gamess-input",
  493. "gau": "chemical/x-gaussian-input",
  494. "gbr": "application/rpki-ghostbusters",
  495. "gca": "application/x-gca-compressed",
  496. "gcd": "text/x-pcs-gcd",
  497. "gcf": "application/x-graphing-calculator",
  498. "gcg": "chemical/x-gcg8-sequence",
  499. "gdl": "model/vnd.gdl",
  500. "gdoc": "application/vnd.google-apps.document",
  501. "gemspec": "text/ruby",
  502. "gen": "chemical/x-genbank",
  503. "geo": "application/vnd.dynageo",
  504. "geojson": "application/geo+json",
  505. "gex": "application/vnd.geometry-explorer",
  506. "gf": "application/x-tex-gf",
  507. "ggb": "application/vnd.geogebra.file",
  508. "ggt": "application/vnd.geogebra.tool",
  509. "ghf": "application/vnd.groove-help",
  510. "gif": "image/gif",
  511. "gim": "application/vnd.groove-identity-message",
  512. "gjc": "chemical/x-gaussian-input",
  513. "gjf": "chemical/x-gaussian-input",
  514. "gl": "video/gl",
  515. "glb": "model/gltf-binary",
  516. "gltf": "model/gltf+json",
  517. "gml": "application/gml+xml",
  518. "gmx": "application/vnd.gmx",
  519. "gnumeric": "application/x-gnumeric",
  520. "go": "text/go",
  521. "gotmpl": "text/gotmpl",
  522. "gph": "application/vnd.flographit",
  523. "gpt": "chemical/x-mopac-graph",
  524. "gpx": "application/gpx+xml",
  525. "gqf": "application/vnd.grafeq",
  526. "gqs": "application/vnd.grafeq",
  527. "gradle": "text/groovy",
  528. "gram": "application/srgs",
  529. "gramps": "application/x-gramps-xml",
  530. "gre": "application/vnd.geometry-explorer",
  531. "groovy": "text/groovy",
  532. "grv": "application/vnd.groove-injector",
  533. "grxml": "application/srgs+xml",
  534. "gsd": "audio/x-gsm",
  535. "gsf": "application/x-font-ghostscript",
  536. "gsheet": "application/vnd.google-apps.spreadsheet",
  537. "gslides": "application/vnd.google-apps.presentation",
  538. "gsm": "model/vnd.gdl",
  539. "gsp": "application/x-gsp",
  540. "gss": "application/x-gss",
  541. "gtar": "application/x-gtar",
  542. "gtm": "application/vnd.groove-tool-message",
  543. "gtw": "model/vnd.gtw",
  544. "gv": "text/vnd.graphviz",
  545. "gxf": "application/gxf",
  546. "gxt": "application/vnd.geonext",
  547. "gyb": "text/gyb",
  548. "gyp": "text/gyp",
  549. "gypi": "text/gyp",
  550. "gz": "application/gzip",
  551. "h": "text/x-chdr",
  552. "h++": "text/x-c++hdr",
  553. "h261": "video/h261",
  554. "h263": "video/h263",
  555. "h264": "video/h264",
  556. "hal": "application/vnd.hal+xml",
  557. "hbc": "application/vnd.hbci",
  558. "hbci": "application/vnd.hbci",
  559. "hbs": "text/x-handlebars-template",
  560. "hdd": "application/x-virtualbox-hdd",
  561. "hdf": "application/x-hdf",
  562. "hdr": "image/vnd.radiance",
  563. "hdt": "application/vnd.hdt",
  564. "heic": "image/heic",
  565. "heics": "image/heic-sequence",
  566. "heif": "image/heif",
  567. "heifs": "image/heif-sequence",
  568. "help": "application/x-helpfile",
  569. "hgl": "application/vnd.hp-hpgl",
  570. "hh": "text/plain",
  571. "hin": "chemical/x-hin",
  572. "hjson": "application/hjson",
  573. "hlb": "text/x-script",
  574. "hlp": "application/winhlp",
  575. "hpg": "application/vnd.hp-hpgl",
  576. "hpgl": "application/vnd.hp-hpgl",
  577. "hpi": "application/vnd.hp-hpid",
  578. "hpid": "application/vnd.hp-hpid",
  579. "hpp": "text/x-c++hdr",
  580. "hps": "application/vnd.hp-hps",
  581. "hpub": "application/prs.hpub+zip",
  582. "hqx": "application/mac-binhex40",
  583. "hs": "text/x-haskell",
  584. "hta": "application/hta",
  585. "htc": "text/x-component",
  586. "htke": "application/vnd.kenameaapp",
  587. "html": "text/html",
  588. "htt": "text/webviewhtml",
  589. "hvd": "application/vnd.yamaha.hv-dic",
  590. "hvp": "application/vnd.yamaha.hv-voice",
  591. "hvs": "application/vnd.yamaha.hv-script",
  592. "hx": "text/haxe",
  593. "hxml": "text/haxe",
  594. "hxx": "text/plain",
  595. "i2g": "application/vnd.intergeo",
  596. "ic0": "application/vnd.commerce-battelle",
  597. "ic1": "application/vnd.commerce-battelle",
  598. "ic2": "application/vnd.commerce-battelle",
  599. "ic3": "application/vnd.commerce-battelle",
  600. "ic4": "application/vnd.commerce-battelle",
  601. "ic5": "application/vnd.commerce-battelle",
  602. "ic6": "application/vnd.commerce-battelle",
  603. "ic7": "application/vnd.commerce-battelle",
  604. "ic8": "application/vnd.commerce-battelle",
  605. "ica": "application/vnd.commerce-battelle",
  606. "icc": "application/vnd.iccprofile",
  607. "icd": "application/vnd.commerce-battelle",
  608. "ice": "x-conference/x-cooltalk",
  609. "icf": "application/vnd.commerce-battelle",
  610. "icm": "application/vnd.iccprofile",
  611. "icns": "binary/icns",
  612. "ico": "image/x-icon",
  613. "ics": "text/calendar",
  614. "icz": "text/calendar",
  615. "idc": "text/plain",
  616. "idl": "text/idl",
  617. "ief": "image/ief",
  618. "iefs": "image/ief",
  619. "ifb": "text/calendar",
  620. "ifm": "application/vnd.shana.informed.formdata",
  621. "iges": "model/iges",
  622. "igl": "application/vnd.igloader",
  623. "igm": "application/vnd.insors.igm",
  624. "ign": "application/vnd.coreos.ignition+json",
  625. "ignition": "application/vnd.coreos.ignition+json",
  626. "igs": "model/iges",
  627. "igx": "application/vnd.micrografx.igx",
  628. "iif": "application/vnd.shana.informed.interchange",
  629. "iii": "application/x-iphone",
  630. "ima": "application/x-ima",
  631. "imap": "application/x-httpd-imap",
  632. "imf": "application/vnd.imagemeter.folder+zip",
  633. "img": "application/octet-stream",
  634. "imgcal": "application/vnd.3lightssoftware.imagescal",
  635. "imi": "application/vnd.imagemeter.image+zip",
  636. "imp": "application/vnd.accpac.simply.imp",
  637. "ims": "application/vnd.ms-ims",
  638. "imscc": "application/vnd.ims.imsccv1p1",
  639. "in": "text/plain",
  640. "inc": "text/inc",
  641. "inf": "application/inf",
  642. "info": "application/x-info",
  643. "ini": "text/ini",
  644. "ink": "application/inkml+xml",
  645. "inkml": "application/inkml+xml",
  646. "inp": "chemical/x-gamess-input",
  647. "ins": "application/x-internet-signup",
  648. "install": "application/x-install-instructions",
  649. "iota": "application/vnd.astraea-software.iota",
  650. "ip": "application/x-ip2",
  651. "ipfix": "application/ipfix",
  652. "ipk": "application/vnd.shana.informed.package",
  653. "irm": "application/vnd.ibm.rights-management",
  654. "irp": "application/vnd.irepository.package+xml",
  655. "ism": "model/vnd.gdl",
  656. "iso": "application/x-iso9660-image",
  657. "isp": "application/x-internet-signup",
  658. "ist": "chemical/x-isostar",
  659. "istr": "chemical/x-isostar",
  660. "isu": "video/x-isvideo",
  661. "it": "audio/it",
  662. "itp": "application/vnd.shana.informed.formtemplate",
  663. "its": "application/its+xml",
  664. "iv": "application/x-inventor",
  665. "ivp": "application/vnd.immervision-ivp",
  666. "ivr": "i-world/i-vrml",
  667. "ivu": "application/vnd.immervision-ivu",
  668. "ivy": "application/x-livescreen",
  669. "j2": "text/jinja",
  670. "jad": "text/vnd.sun.j2me.app-descriptor",
  671. "jade": "text/jade",
  672. "jam": "application/vnd.jam",
  673. "jar": "application/x-java-archive",
  674. "jardiff": "application/x-java-archive-diff",
  675. "java": "text/x-java-source",
  676. "jcm": "application/x-java-commerce",
  677. "jdx": "chemical/x-jcamp-dx",
  678. "jenkinsfile": "text/groovy",
  679. "jfif": "image/jpeg",
  680. "jinja": "text/jinja",
  681. "jinja2": "text/jinja",
  682. "jisp": "application/vnd.jisp",
  683. "jls": "image/jls",
  684. "jlt": "application/vnd.hp-jlyt",
  685. "jl": "text/julia",
  686. "jmz": "application/x-jmol",
  687. "jng": "image/x-jng",
  688. "jnlp": "application/x-java-jnlp-file",
  689. "joda": "application/vnd.joost.joda-archive",
  690. "jp2": "image/jp2",
  691. "jpe": "image/jpeg",
  692. "jpeg": "image/jpeg",
  693. "jpf": "image/jpx",
  694. "jpg": "image/jpeg",
  695. "jpg2": "image/jp2",
  696. "jpgm": "image/jpm",
  697. "jpgv": "video/jpeg",
  698. "jpm": "image/jpm",
  699. "jps": "image/x-jps",
  700. "jpx": "image/jpx",
  701. "jrd": "application/jrd+json",
  702. "js": "application/javascript",
  703. "json": "application/json",
  704. "json-patch": "application/json-patch+json",
  705. "json5": "application/json5",
  706. "jsonld": "application/ld+json",
  707. "jsonml": "application/jsonml+json",
  708. "jsx": "text/jsx",
  709. "jtd": "text/vnd.esmertec.theme-descriptor",
  710. "jut": "image/jutvision",
  711. "kar": "audio/midi",
  712. "karbon": "application/vnd.kde.karbon",
  713. "kcm": "application/vnd.nervana",
  714. "key": "application/pgp-keys",
  715. "keynote": "application/vnd.apple.keynote",
  716. "kfo": "application/vnd.kde.kformula",
  717. "kia": "application/vnd.kidspiration",
  718. "kil": "application/x-killustrator",
  719. "kin": "chemical/x-kinemage",
  720. "kml": "application/vnd.google-earth.kml+xml",
  721. "kmz": "application/vnd.google-earth.kmz",
  722. "kne": "application/vnd.kinar",
  723. "knp": "application/vnd.kinar",
  724. "kom": "application/vnd.hbci",
  725. "kon": "application/vnd.kde.kontour",
  726. "koz": "audio/vnd.audikoz",
  727. "kpr": "application/vnd.kde.kpresenter",
  728. "kpt": "application/vnd.kde.kpresenter",
  729. "kpxx": "application/vnd.ds-keypoint",
  730. "ksh": "application/x-ksh",
  731. "ksp": "application/vnd.kde.kspread",
  732. "kt": "text/kotlin",
  733. "ktr": "application/vnd.kahootz",
  734. "ktx": "image/ktx",
  735. "ktz": "application/vnd.kahootz",
  736. "kwd": "application/vnd.kde.kword",
  737. "kwt": "application/vnd.kde.kword",
  738. "l16": "audio/l16",
  739. "la": "audio/nspaudio",
  740. "lam": "audio/x-liveaudio",
  741. "lasjson": "application/vnd.las.las+json",
  742. "lasxml": "application/vnd.las.las+xml",
  743. "latex": "application/x-latex",
  744. "lbc": "audio/ilbc",
  745. "lbd": "application/vnd.llamagraphics.life-balance.desktop",
  746. "lbe": "application/vnd.llamagraphics.life-balance.exchange+xml",
  747. "le": "application/vnd.bluetooth.le.oob",
  748. "les": "application/vnd.hhe.lesson-player",
  749. "less": "text/less",
  750. "lgr": "application/lgr+xml",
  751. "lha": "application/octet-stream",
  752. "lhs": "text/x-literate-haskell",
  753. "lhx": "application/octet-stream",
  754. "lin": "application/bbolin",
  755. "link66": "application/vnd.route66.link66+xml",
  756. "list": "text/plain",
  757. "list3820": "application/vnd.ibm.modcap",
  758. "listafp": "application/vnd.ibm.modcap",
  759. "lmp": "model/vnd.gdl",
  760. "lnk": "application/x-ms-shortcut",
  761. "log": "text/plain",
  762. "lostsyncxml": "application/lostsync+xml",
  763. "lostxml": "application/lost+xml",
  764. "lrf": "application/octet-stream",
  765. "lrm": "application/vnd.ms-lrm",
  766. "lsf": "video/x-la-asf",
  767. "lsp": "text/x-script.lisp",
  768. "lst": "text/plain",
  769. "lsx": "video/x-la-asf",
  770. "ltf": "application/vnd.frogans.ltf",
  771. "ltx": "application/x-latex",
  772. "lua": "text/x-lua",
  773. "luac": "application/x-lua-bytecode",
  774. "lvp": "audio/vnd.lucent.voice",
  775. "lwp": "application/vnd.lotus-wordpro",
  776. "lxf": "application/lxf",
  777. "lyx": "application/x-lyx",
  778. "lzh": "application/octet-stream",
  779. "lzx": "application/x-lzx",
  780. "m": "application/vnd.wolfram.mathematica.package",
  781. "m13": "application/x-msmediaview",
  782. "m14": "application/x-msmediaview",
  783. "m15": "audio/x-mod",
  784. "m1v": "video/mpeg",
  785. "m21": "application/mp21",
  786. "m2a": "audio/mpeg",
  787. "m2v": "video/mpeg",
  788. "m3a": "audio/mpeg",
  789. "m3g": "application/m3g",
  790. "m3u": "audio/x-mpegurl",
  791. "m3u8": "application/vnd.apple.mpegurl",
  792. "m4a": "audio/x-m4a",
  793. "m4s": "video/iso.segment",
  794. "m4u": "video/vnd.mpegurl",
  795. "m4v": "video/x-m4v",
  796. "ma": "application/mathematica",
  797. "mads": "application/mads+xml",
  798. "mag": "application/vnd.ecowin.chart",
  799. "mail": "message/rfc822",
  800. "maker": "application/vnd.framemaker",
  801. "man": "application/x-troff-man",
  802. "manifest": "text/cache-manifest",
  803. "map": "application/x-navimap",
  804. "mar": "text/plain",
  805. "markdown": "text/markdown",
  806. "mathml": "application/mathml+xml",
  807. "mb": "application/mathematica",
  808. "mbd": "application/mbedlet",
  809. "mbk": "application/vnd.mobius.mbk",
  810. "mbox": "application/mbox",
  811. "mc$": "application/x-magic-cap-package-1.0",
  812. "mc1": "application/vnd.medcalcdata",
  813. "mcd": "application/vnd.mcd",
  814. "mcf": "image/vasa",
  815. "mcif": "chemical/x-mmcif",
  816. "mcm": "chemical/x-macmolecule",
  817. "mcp": "application/netmc",
  818. "mcurl": "text/vnd.curl.mcurl",
  819. "md": "text/markdown",
  820. "mdb": "application/x-msaccess",
  821. "mdc": "application/vnd.marlin.drm.mdcf",
  822. "mdi": "image/vnd.ms-modi",
  823. "me": "application/x-troff-me",
  824. "med": "audio/x-mod",
  825. "mesh": "model/mesh",
  826. "meta4": "application/metalink4+xml",
  827. "metalink": "application/metalink+xml",
  828. "mets": "application/mets+xml",
  829. "mf4": "application/mf4",
  830. "mfm": "application/vnd.mfmp",
  831. "mft": "application/rpki-manifest",
  832. "mgp": "application/vnd.osgeo.mapguide.package",
  833. "mgz": "application/vnd.proteus.magazine",
  834. "mht": "message/rfc822",
  835. "mhtml": "message/rfc822",
  836. "mib": "text/mib",
  837. "mid": "audio/midi",
  838. "midi": "audio/midi",
  839. "mie": "application/x-mie",
  840. "mif": "application/x-mif",
  841. "mime": "message/rfc822",
  842. "miz": "text/mizar",
  843. "mj2": "video/mj2",
  844. "mjf": "audio/x-vnd.audioexplosion.mjuicemediafile",
  845. "mjp2": "video/mj2",
  846. "mjpg": "video/x-motion-jpeg",
  847. "mjs": "application/javascript",
  848. "mk": "text/makefile",
  849. "mk3d": "video/x-matroska-3d",
  850. "mka": "audio/x-matroska",
  851. "mkd": "text/x-markdown",
  852. "mks": "video/x-matroska",
  853. "mkv": "video/x-matroska",
  854. "mlp": "application/vnd.dolby.mlp",
  855. "mm": "application/x-freemind",
  856. "mmd": "application/vnd.chipnuts.karaoke-mmd",
  857. "mmdb": "application/vnd.maxmind.maxmind-db",
  858. "mme": "application/base64",
  859. "mmf": "application/vnd.smaf",
  860. "mml": "text/mathml",
  861. "mmod": "chemical/x-macromodel-input",
  862. "mmr": "image/vnd.fujixerox.edmics-mmr",
  863. "mms": "application/vnd.wap.mms-message",
  864. "mng": "video/x-mng",
  865. "mny": "application/x-msmoney",
  866. "mobi": "application/x-mobipocket-ebook",
  867. "moc": "text/x-moc",
  868. "mod": "audio/x-mod",
  869. "model-inter": "application/vnd.vd-study",
  870. "mods": "application/mods+xml",
  871. "modulemap": "text/modulemap",
  872. "mol": "chemical/x-mdl-molfile",
  873. "mol2": "chemical/x-mol2",
  874. "moml": "model/vnd.moml+xml",
  875. "moo": "chemical/x-mopac-out",
  876. "moov": "video/quicktime",
  877. "mop": "chemical/x-mopac-input",
  878. "mopcrt": "chemical/x-mopac-input",
  879. "mov": "video/quicktime",
  880. "movie": "video/x-sgi-movie",
  881. "mp1": "audio/mpeg",
  882. "mp2": "audio/mpeg",
  883. "mp21": "application/mp21",
  884. "mp2a": "audio/mpeg",
  885. "mp3": "audio/mp3",
  886. "mp4": "video/mp4",
  887. "mp4a": "audio/mp4",
  888. "mp4s": "application/mp4",
  889. "mp4v": "video/mp4",
  890. "mpa": "video/mpeg",
  891. "mpc": "application/vnd.mophun.certificate",
  892. "mpd": "application/dash+xml",
  893. "mpdd": "application/dashdelta",
  894. "mpe": "video/mpeg",
  895. "mpeg": "video/mpeg",
  896. "mpega": "audio/mpeg",
  897. "mpf": "text/vnd.ms-mediapackage",
  898. "mpg": "video/mpeg",
  899. "mpg4": "video/mp4",
  900. "mpga": "audio/mpeg",
  901. "mpkg": "application/vnd.apple.installer+xml",
  902. "mpm": "application/vnd.blueice.multipass",
  903. "mpn": "application/vnd.mophun.application",
  904. "mpp": "application/vnd.ms-project",
  905. "mpt": "application/vnd.ms-project",
  906. "mpv": "application/x-project",
  907. "mpv2": "video/mpeg",
  908. "mpx": "application/x-project",
  909. "mpy": "application/vnd.ibm.minipay",
  910. "mqy": "application/vnd.mobius.mqy",
  911. "mrc": "application/marc",
  912. "mrcx": "application/marcxml+xml",
  913. "ms": "application/x-troff-ms",
  914. "msa": "application/vnd.msa-disk-image",
  915. "mscml": "application/mediaservercontrol+xml",
  916. "msd": "application/vnd.fdsn.mseed",
  917. "mseed": "application/vnd.fdsn.mseed",
  918. "mseq": "application/vnd.mseq",
  919. "msf": "application/vnd.epson.msf",
  920. "msg": "application/vnd.ms-outlook",
  921. "msh": "model/mesh",
  922. "msi": "application/x-msi",
  923. "msl": "application/vnd.mobius.msl",
  924. "msm": "model/vnd.gdl",
  925. "msty": "application/vnd.muvee.style",
  926. "mtm": "audio/x-mod",
  927. "mts": "model/vnd.mts",
  928. "multitrack": "audio/vnd.presonus.multitrack",
  929. "mus": "application/vnd.musician",
  930. "musd": "application/mmt-usd+xml",
  931. "musicxml": "application/vnd.recordare.musicxml+xml",
  932. "mv": "video/x-sgi-movie",
  933. "mvb": "application/x-msmediaview",
  934. "mvt": "application/vnd.mapbox-vector-tile",
  935. "mwc": "application/vnd.dpgraph",
  936. "mwf": "application/vnd.mfer",
  937. "mxf": "application/mxf",
  938. "mxi": "application/vnd.vd-study",
  939. "mxl": "application/vnd.recordare.musicxml",
  940. "mxmf": "audio/mobile-xmf",
  941. "mxml": "application/xv+xml",
  942. "mxs": "application/vnd.triscape.mxs",
  943. "mxu": "video/vnd.mpegurl",
  944. "my": "audio/make",
  945. "mzz": "application/x-vnd.audioexplosion.mzz",
  946. "n-gage": "application/vnd.nokia.n-gage.symbian.install",
  947. "n3": "text/n3",
  948. "nap": "image/naplps",
  949. "naplps": "image/naplps",
  950. "nb": "application/mathematica",
  951. "nbp": "application/vnd.wolfram.player",
  952. "nc": "application/x-netcdf",
  953. "ncm": "application/vnd.nokia.configuration-message",
  954. "ncx": "application/x-dtbncx+xml",
  955. "ndc": "application/vnd.osa.netdeploy",
  956. "ndjson": "application/json",
  957. "ndl": "application/vnd.lotus-notes",
  958. "nds": "application/vnd.nintendo.nitro.rom",
  959. "nef": "image/x-nikon-nef",
  960. "nfo": "text/x-nfo",
  961. "ngdat": "application/vnd.nokia.n-gage.data",
  962. "ngdoc": "text/ngdoc",
  963. "nif": "image/x-niff",
  964. "niff": "image/x-niff",
  965. "nim": "text/nim",
  966. "nimble": "text/nimble",
  967. "nimf": "text/nim",
  968. "nims": "text/nim",
  969. "nitf": "application/vnd.nitf",
  970. "nix": "application/x-mix-transfer",
  971. "nlu": "application/vnd.neurolanguage.nlu",
  972. "nml": "application/vnd.enliven",
  973. "nnd": "application/vnd.noblenet-directory",
  974. "nns": "application/vnd.noblenet-sealer",
  975. "nnw": "application/vnd.noblenet-web",
  976. "notebook": "application/vnd.smart.notebook",
  977. "npx": "image/vnd.net-fpx",
  978. "nq": "application/n-quads",
  979. "ns2": "application/vnd.lotus-notes",
  980. "ns3": "application/vnd.lotus-notes",
  981. "ns4": "application/vnd.lotus-notes",
  982. "nsc": "application/x-conference",
  983. "nsf": "application/vnd.lotus-notes",
  984. "nsg": "application/vnd.lotus-notes",
  985. "nsh": "application/vnd.lotus-notes",
  986. "nt": "application/n-triples",
  987. "ntf": "application/vnd.lotus-notes",
  988. "numbers": "application/vnd.apple.numbers",
  989. "nvd": "application/x-navidoc",
  990. "nwc": "application/x-nwc",
  991. "nws": "message/rfc822",
  992. "nzb": "application/x-nzb",
  993. "o": "application/x-object",
  994. "o4a": "application/vnd.oma.drm.dcf",
  995. "o4v": "application/vnd.oma.drm.dcf",
  996. "oa2": "application/vnd.fujitsu.oasys2",
  997. "oa3": "application/vnd.fujitsu.oasys3",
  998. "oas": "application/vnd.fujitsu.oasys",
  999. "obd": "application/x-msbinder",
  1000. "obg": "application/vnd.openblox.game-binary",
  1001. "obgx": "application/vnd.openblox.game+xml",
  1002. "obj": "application/x-tgif",
  1003. "oda": "application/oda",
  1004. "odb": "application/vnd.oasis.opendocument.database",
  1005. "odc": "application/vnd.oasis.opendocument.chart",
  1006. "odd": "application/tei+xml",
  1007. "odf": "application/vnd.oasis.opendocument.formula",
  1008. "odft": "application/vnd.oasis.opendocument.formula-template",
  1009. "odg": "application/vnd.oasis.opendocument.graphics",
  1010. "odi": "application/vnd.oasis.opendocument.image",
  1011. "odm": "application/vnd.oasis.opendocument.text-master",
  1012. "odp": "application/vnd.oasis.opendocument.presentation",
  1013. "ods": "application/vnd.oasis.opendocument.spreadsheet",
  1014. "odt": "application/vnd.oasis.opendocument.text",
  1015. "odx": "application/odx",
  1016. "oeb": "application/vnd.openeye.oeb",
  1017. "oga": "audio/ogg",
  1018. "ogex": "model/vnd.opengex",
  1019. "ogg": "audio/ogg",
  1020. "ogv": "video/ogg",
  1021. "ogx": "application/ogg",
  1022. "old": "application/x-trash",
  1023. "omc": "application/x-omc",
  1024. "omcd": "application/x-omcdatamaker",
  1025. "omcr": "application/x-omcregerator",
  1026. "omdoc": "application/omdoc+xml",
  1027. "omg": "audio/atrac3",
  1028. "onepkg": "application/onenote",
  1029. "onetmp": "application/onenote",
  1030. "onetoc": "application/onenote",
  1031. "onetoc2": "application/onenote",
  1032. "opf": "application/oebps-package+xml",
  1033. "opml": "text/x-opml",
  1034. "oprc": "application/vnd.palm",
  1035. "opus": "audio/ogg",
  1036. "or2": "application/vnd.lotus-organizer",
  1037. "or3": "application/vnd.lotus-organizer",
  1038. "orf": "image/x-olympus-orf",
  1039. "org": "text/x-org",
  1040. "orq": "application/ocsp-request",
  1041. "ors": "application/ocsp-response",
  1042. "osf": "application/vnd.yamaha.openscoreformat",
  1043. "osfpvg": "application/vnd.yamaha.openscoreformat.osfpvg+xml",
  1044. "osm": "application/vnd.openstreetmap.data+xml",
  1045. "otc": "application/vnd.oasis.opendocument.chart-template",
  1046. "otf": "font/otf",
  1047. "otg": "application/vnd.oasis.opendocument.graphics-template",
  1048. "oth": "application/vnd.oasis.opendocument.text-web",
  1049. "oti": "application/vnd.oasis.opendocument.image-template",
  1050. "otp": "application/vnd.oasis.opendocument.presentation-template",
  1051. "ots": "application/vnd.oasis.opendocument.spreadsheet-template",
  1052. "ott": "application/vnd.oasis.opendocument.text-template",
  1053. "ova": "application/x-virtualbox-ova",
  1054. "ovf": "application/x-virtualbox-ovf",
  1055. "owx": "application/owl+xml",
  1056. "oxlicg": "application/vnd.oxli.countgraph",
  1057. "oxps": "application/oxps",
  1058. "oxt": "application/vnd.openofficeorg.extension",
  1059. "oza": "application/x-oz-application",
  1060. "p": "text/x-pascal",
  1061. "p10": "application/pkcs10",
  1062. "p12": "application/pkcs12",
  1063. "p2p": "application/vnd.wfa.p2p",
  1064. "p7a": "application/x-pkcs7-signature",
  1065. "p7b": "application/x-pkcs7-certificates",
  1066. "p7c": "application/pkcs7-mime",
  1067. "p7m": "application/pkcs7-mime",
  1068. "p7r": "application/x-pkcs7-certreqresp",
  1069. "p7s": "application/pkcs7-signature",
  1070. "p8": "application/pkcs8",
  1071. "pac": "application/x-ns-proxy-autoconfig",
  1072. "pack": "application/x-java-pack200",
  1073. "package": "application/vnd.autopackage",
  1074. "pages": "application/vnd.apple.pages",
  1075. "par": "text/plain-bas",
  1076. "part": "application/pro_eng",
  1077. "pas": "text/pascal",
  1078. "pat": "image/x-coreldrawpattern",
  1079. "patch": "text/x-diff",
  1080. "paw": "application/vnd.pawaafile",
  1081. "pbd": "application/vnd.powerbuilder6",
  1082. "pbm": "image/x-portable-bitmap",
  1083. "pcap": "application/vnd.tcpdump.pcap",
  1084. "pcf": "application/x-font-pcf",
  1085. "pcl": "application/vnd.hp-pcl",
  1086. "pclxl": "application/vnd.hp-pclxl",
  1087. "pct": "image/x-pict",
  1088. "pcurl": "application/vnd.curl.pcurl",
  1089. "pcx": "image/x-pcx",
  1090. "pdb": "application/vnd.palm",
  1091. "pde": "text/x-processing",
  1092. "pdf": "application/pdf",
  1093. "pdx": "application/pdx",
  1094. "pem": "text/pem",
  1095. "pfa": "application/x-font-type1",
  1096. "pfb": "application/x-font-type1",
  1097. "pfm": "application/x-font-type1",
  1098. "pfr": "application/font-tdpfr",
  1099. "pfunk": "audio/make",
  1100. "pfx": "application/pkcs12",
  1101. "pgb": "image/vnd.globalgraphics.pgb",
  1102. "pgm": "image/x-portable-graymap",
  1103. "pgn": "application/x-chess-pgn",
  1104. "pgp": "application/pgp-encrypted",
  1105. "php": "application/x-httpd-php",
  1106. "php3": "application/x-httpd-php3",
  1107. "php3p": "application/x-httpd-php3-preprocessed",
  1108. "php4": "application/x-httpd-php4",
  1109. "php5": "application/x-httpd-php5",
  1110. "phps": "application/x-httpd-php-source",
  1111. "pht": "application/x-httpd-php",
  1112. "phtml": "application/x-httpd-php",
  1113. "pic": "image/pict",
  1114. "pict": "image/pict",
  1115. "pil": "application/vnd.piaccess.application-license",
  1116. "pk": "application/x-tex-pk",
  1117. "pkd": "application/vnd.hbci",
  1118. "pkg": "application/vnd.apple.installer+xml",
  1119. "pki": "application/pkixcmp",
  1120. "pkipath": "application/pkix-pkipath",
  1121. "pko": "application/ynd.ms-pkipko",
  1122. "pkpass": "application/vnd.apple.pkpass",
  1123. "pl": "application/x-perl",
  1124. "plantuml": "text/plantuml",
  1125. "plb": "application/vnd.3gpp.pic-bw-large",
  1126. "plc": "application/vnd.mobius.plc",
  1127. "plf": "application/vnd.pocketlearn",
  1128. "plj": "audio/vnd.everad.plj",
  1129. "plp": "application/vnd.panoply",
  1130. "pls": "application/pls+xml",
  1131. "plx": "application/x-pixclscript",
  1132. "ply": "model/stanford",
  1133. "pm": "text/plain",
  1134. "pm4": "application/x-pagemaker",
  1135. "pm5": "application/x-pagemaker",
  1136. "pma": "application/x-perfmon",
  1137. "pmc": "application/x-perfmon",
  1138. "pml": "application/vnd.ctc-posml",
  1139. "pmr": "application/x-perfmon",
  1140. "pmw": "application/x-perfmon",
  1141. "png": "image/png",
  1142. "pnm": "image/x-portable-anymap",
  1143. "po": "text/pofile",
  1144. "pod": "text/x-pod",
  1145. "portpkg": "application/vnd.macports.portpkg",
  1146. "pot": "application/vnd.ms-powerpoint",
  1147. "potm": "application/vnd.ms-powerpoint.template.macroenabled.12",
  1148. "potx": "application/vnd.openxmlformats-officedocument.presentationml.template",
  1149. "pov": "model/x-pov",
  1150. "pp": "text/puppet",
  1151. "ppa": "application/vnd.ms-powerpoint",
  1152. "ppam": "application/vnd.ms-powerpoint.addin.macroenabled.12",
  1153. "ppd": "application/vnd.cups-ppd",
  1154. "ppkg": "application/vnd.xmpie.ppkg",
  1155. "ppm": "image/x-portable-pixmap",
  1156. "pps": "application/vnd.ms-powerpoint",
  1157. "ppsm": "application/vnd.ms-powerpoint.slideshow.macroenabled.12",
  1158. "ppsx": "application/vnd.openxmlformats-officedocument.presentationml.slideshow",
  1159. "ppt": "application/vnd.ms-powerpoint",
  1160. "pptm": "application/vnd.ms-powerpoint.presentation.macroenabled.12",
  1161. "pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
  1162. "ppz": "application/mspowerpoint",
  1163. "pqa": "application/vnd.palm",
  1164. "prc": "application/vnd.palm",
  1165. "pre": "application/vnd.lotus-freelance",
  1166. "preminet": "application/vnd.preminet",
  1167. "prf": "application/pics-rules",
  1168. "proto": "text/proto",
  1169. "provn": "text/provenance-notation",
  1170. "provx": "application/provenance+xml",
  1171. "prt": "application/pro_eng",
  1172. "prz": "application/vnd.lotus-freelance",
  1173. "ps": "application/postscript",
  1174. "psb": "application/vnd.3gpp.pic-bw-small",
  1175. "psd": "image/vnd.adobe.photoshop",
  1176. "pseg3820": "application/vnd.ibm.modcap",
  1177. "psf": "application/x-font-linux-psf",
  1178. "psid": "audio/prs.sid",
  1179. "pskcxml": "application/pskc+xml",
  1180. "pti": "image/prs.pti",
  1181. "ptid": "application/vnd.pvi.ptid1",
  1182. "pub": "application/x-mspublisher",
  1183. "purs": "text/purescript",
  1184. "pvb": "application/vnd.3gpp.pic-bw-var",
  1185. "pvu": "paleovu/x-pv",
  1186. "pwn": "application/vnd.3m.post-it-notes",
  1187. "pwz": "application/vnd.ms-powerpoint",
  1188. "pxd": "text/cython",
  1189. "pxi": "text/cython",
  1190. "py": "text/x-script.phyton",
  1191. "pya": "audio/vnd.ms-playready.media.pya",
  1192. "pyc": "application/x-python-code",
  1193. "pyi": "text/pyi",
  1194. "pyo": "application/x-python-code",
  1195. "pyv": "video/vnd.ms-playready.media.pyv",
  1196. "pyx": "text/cython",
  1197. "qam": "application/vnd.epson.quickanime",
  1198. "qbo": "application/vnd.intu.qbo",
  1199. "qca": "application/vnd.ericsson.quickcall",
  1200. "qcall": "application/vnd.ericsson.quickcall",
  1201. "qcp": "audio/qcelp",
  1202. "qd3": "x-world/x-3dmf",
  1203. "qd3d": "x-world/x-3dmf",
  1204. "qfx": "application/vnd.intu.qfx",
  1205. "qgs": "application/x-qgis",
  1206. "qif": "image/x-quicktime",
  1207. "qps": "application/vnd.publishare-delta-tree",
  1208. "qt": "video/quicktime",
  1209. "qtc": "video/x-qtc",
  1210. "qti": "image/x-quicktime",
  1211. "qtif": "image/x-quicktime",
  1212. "qtl": "application/x-quicktimeplayer",
  1213. "quiz": "application/vnd.quobject-quoxdocument",
  1214. "quox": "application/vnd.quobject-quoxdocument",
  1215. "qvd": "application/vnd.theqvd",
  1216. "qwd": "application/vnd.quark.quarkxpress",
  1217. "qwt": "application/vnd.quark.quarkxpress",
  1218. "qxb": "application/vnd.quark.quarkxpress",
  1219. "qxd": "application/vnd.quark.quarkxpress",
  1220. "qxl": "application/vnd.quark.quarkxpress",
  1221. "qxt": "application/vnd.quark.quarkxpress",
  1222. "r": "text/r",
  1223. "ra": "audio/x-realaudio",
  1224. "ram": "audio/x-pn-realaudio",
  1225. "raml": "application/raml+yaml",
  1226. "rapd": "application/route-apd+xml",
  1227. "rar": "application/x-rar-compressed",
  1228. "ras": "image/x-cmu-raster",
  1229. "rast": "image/cmu-raster",
  1230. "rb": "application/x-ruby",
  1231. "rcprofile": "application/vnd.ipunplugged.rcprofile",
  1232. "rct": "application/prs.nprend",
  1233. "rd": "chemical/x-mdl-rdfile",
  1234. "rda": "text/r",
  1235. "rdata": "text/r",
  1236. "rds": "text/r",
  1237. "rdf": "application/rdf+xml",
  1238. "rdf-crypt": "application/prs.rdf-xml-crypt",
  1239. "rdz": "application/vnd.data-vision.rdz",
  1240. "relo": "application/p2p-overlay+xml",
  1241. "rep": "application/vnd.businessobjects",
  1242. "request": "application/vnd.nervana",
  1243. "res": "application/x-dtbresource+xml",
  1244. "rexx": "text/x-script.rexx",
  1245. "rf": "image/vnd.rn-realflash",
  1246. "rfcxml": "application/rfc+xml",
  1247. "rgb": "image/x-rgb",
  1248. "rgbe": "image/vnd.radiance",
  1249. "rhtml": "application/x-httpd-eruby",
  1250. "rif": "application/reginfo+xml",
  1251. "rip": "audio/vnd.rip",
  1252. "ris": "application/x-research-info-systems",
  1253. "rl": "application/resource-lists+xml",
  1254. "rlc": "image/vnd.fujixerox.edmics-rlc",
  1255. "rld": "application/resource-lists-diff+xml",
  1256. "rlib": "text/rust",
  1257. "rm": "application/vnd.rn-realmedia",
  1258. "rmi": "audio/mid",
  1259. "rmm": "audio/x-pn-realaudio",
  1260. "rmp": "audio/x-pn-realaudio-plugin",
  1261. "rms": "application/vnd.jcp.javame.midlet-rms",
  1262. "rmvb": "application/vnd.rn-realmedia-vbr",
  1263. "rnc": "application/relax-ng-compact-syntax",
  1264. "rnd": "application/prs.nprend",
  1265. "rng": "text/xml",
  1266. "rnx": "application/vnd.rn-realplayer",
  1267. "roa": "application/rpki-roa",
  1268. "roff": "text/troff",
  1269. "ros": "chemical/x-rosdal",
  1270. "rp": "image/vnd.rn-realpix",
  1271. "rp9": "application/vnd.cloanto.rp9",
  1272. "rpm": "application/x-redhat-package-manager",
  1273. "rpss": "application/vnd.nokia.radio-presets",
  1274. "rpst": "application/vnd.nokia.radio-preset",
  1275. "rq": "application/sparql-query",
  1276. "rs": "application/rls-services+xml",
  1277. "rsd": "application/rsd+xml",
  1278. "rsheet": "application/urc-ressheet+xml",
  1279. "rsm": "model/vnd.gdl",
  1280. "rss": "application/rss+xml",
  1281. "rst": "text/prs.fallenstein.rst",
  1282. "rt": "text/richtext",
  1283. "rtf": "text/rtf",
  1284. "rtx": "text/richtext",
  1285. "run": "application/x-makeself",
  1286. "rusd": "application/route-usd+xml",
  1287. "rv": "video/vnd.rn-realvideo",
  1288. "rxn": "chemical/x-mdl-rxnfile",
  1289. "s": "text/x-asm",
  1290. "s11": "video/vnd.sealed.mpeg1",
  1291. "s14": "video/vnd.sealed.mpeg4",
  1292. "s1a": "application/vnd.sealedmedia.softseal.pdf",
  1293. "s1e": "application/vnd.sealed.xls",
  1294. "s1g": "image/vnd.sealedmedia.softseal.gif",
  1295. "s1h": "application/vnd.sealedmedia.softseal.html",
  1296. "s1j": "image/vnd.sealedmedia.softseal.jpg",
  1297. "s1m": "audio/vnd.sealedmedia.softseal.mpeg",
  1298. "s1n": "image/vnd.sealed.png",
  1299. "s1p": "application/vnd.sealed.ppt",
  1300. "s1q": "video/vnd.sealedmedia.softseal.mov",
  1301. "s1w": "application/vnd.sealed.doc",
  1302. "s3df": "application/vnd.sealed.3df",
  1303. "s3m": "audio/s3m",
  1304. "sac": "application/tamp-sequence-adjust-confirm",
  1305. "saf": "application/vnd.yamaha.smaf-audio",
  1306. "sam": "application/vnd.lotus-wordpro",
  1307. "sandboxed": "text/html-sandboxed",
  1308. "sass": "text/x-sass",
  1309. "saveme": "application/octet-stream",
  1310. "sbk": "application/x-tbook",
  1311. "sbml": "application/sbml+xml",
  1312. "sc": "application/vnd.ibm.secure-container",
  1313. "scala": "text/x-scala",
  1314. "scd": "application/x-msschedule",
  1315. "sce": "application/vnd.etsi.asic-e+zip",
  1316. "scim": "application/scim+json",
  1317. "scld": "application/vnd.doremir.scorecloud-binary-document",
  1318. "scm": "application/vnd.lotus-screencam",
  1319. "scq": "application/scvp-cv-request",
  1320. "scr": "application/x-silverlight",
  1321. "scs": "application/scvp-cv-response",
  1322. "scsf": "application/vnd.sealed.csf",
  1323. "scss": "text/x-scss",
  1324. "sct": "text/scriptlet",
  1325. "scurl": "text/vnd.curl.scurl",
  1326. "sd": "chemical/x-mdl-sdfile",
  1327. "sd2": "audio/x-sd2",
  1328. "sda": "application/vnd.stardivision.draw",
  1329. "sdc": "application/vnd.stardivision.calc",
  1330. "sdd": "application/vnd.stardivision.impress",
  1331. "sdf": "application/vnd.kinar",
  1332. "sdkd": "application/vnd.solent.sdkm+xml",
  1333. "sdkm": "application/vnd.solent.sdkm+xml",
  1334. "sdml": "text/plain",
  1335. "sdo": "application/vnd.sealed.doc",
  1336. "sdoc": "application/vnd.sealed.doc",
  1337. "sdp": "application/sdp",
  1338. "sdr": "application/sounder",
  1339. "sdw": "application/vnd.stardivision.writer",
  1340. "sea": "application/x-sea",
  1341. "see": "application/vnd.seemail",
  1342. "seed": "application/vnd.fdsn.seed",
  1343. "sem": "application/vnd.sealed.eml",
  1344. "sema": "application/vnd.sema",
  1345. "semd": "application/vnd.semd",
  1346. "semf": "application/vnd.semf",
  1347. "seml": "application/vnd.sealed.eml",
  1348. "ser": "application/java-serialized-object",
  1349. "set": "application/set",
  1350. "setpay": "application/set-payment-initiation",
  1351. "setreg": "application/set-registration-initiation",
  1352. "sfc": "application/vnd.nintendo.snes.rom",
  1353. "sfd": "application/vnd.font-fontforge-sfd",
  1354. "sfd-hdstx": "application/vnd.hydrostatix.sof-data",
  1355. "sfs": "application/vnd.spotfire.sfs",
  1356. "sfv": "text/x-sfv",
  1357. "sgf": "application/x-go-sgf",
  1358. "sgi": "image/sgi",
  1359. "sgif": "image/vnd.sealedmedia.softseal.gif",
  1360. "sgl": "application/vnd.stardivision.writer-global",
  1361. "sgm": "text/sgml",
  1362. "sgml": "text/sgml",
  1363. "sh": "application/x-sh",
  1364. "shar": "application/x-shar",
  1365. "shex": "text/shex",
  1366. "shf": "application/shf+xml",
  1367. "shp": "application/x-qgis",
  1368. "shx": "application/x-qgis",
  1369. "si": "text/vnd.wap.si",
  1370. "sic": "application/vnd.wap.sic",
  1371. "sid": "image/x-mrsid-image",
  1372. "sieve": "application/sieve",
  1373. "sig": "application/pgp-signature",
  1374. "sik": "application/x-trash",
  1375. "sil": "audio/silk",
  1376. "silo": "model/mesh",
  1377. "sis": "application/vnd.symbian.install",
  1378. "sisx": "x-epoc/x-sisx-app",
  1379. "sit": "application/x-stuffit",
  1380. "sitx": "application/x-stuffitx",
  1381. "siv": "application/sieve",
  1382. "sjp": "image/vnd.sealedmedia.softseal.jpg",
  1383. "sjpg": "image/vnd.sealedmedia.softseal.jpg",
  1384. "skd": "application/vnd.koan",
  1385. "skm": "application/vnd.koan",
  1386. "skp": "application/vnd.koan",
  1387. "skt": "application/vnd.koan",
  1388. "sl": "text/vnd.wap.sl",
  1389. "sla": "application/vnd.scribus",
  1390. "slaz": "application/vnd.scribus",
  1391. "slc": "application/vnd.wap.slc",
  1392. "sldm": "application/vnd.ms-powerpoint.slide.macroenabled.12",
  1393. "sldx": "application/vnd.openxmlformats-officedocument.presentationml.slide",
  1394. "sls": "application/route-s-tsid+xml",
  1395. "slt": "application/vnd.epson.salt",
  1396. "sm": "application/vnd.stepmania.stepchart",
  1397. "smc": "application/vnd.nintendo.snes.rom",
  1398. "smf": "application/vnd.stardivision.math",
  1399. "smh": "application/vnd.sealed.mht",
  1400. "smht": "application/vnd.sealed.mht",
  1401. "smi": "application/smil+xml",
  1402. "smil": "application/smil+xml",
  1403. "smk": "video/vnd.radgamettools.smacker",
  1404. "sml": "application/smil+xml",
  1405. "smo": "video/vnd.sealedmedia.softseal.mov",
  1406. "smov": "video/vnd.sealedmedia.softseal.mov",
  1407. "smp": "audio/vnd.sealedmedia.softseal.mpeg",
  1408. "smp3": "audio/vnd.sealedmedia.softseal.mpeg",
  1409. "smpg": "video/vnd.sealed.mpeg1",
  1410. "sms": "application/vnd.3gpp2.sms",
  1411. "smv": "video/x-smv",
  1412. "smzip": "application/vnd.stepmania.package",
  1413. "snd": "audio/basic",
  1414. "snf": "application/x-font-snf",
  1415. "so": "application/octet-stream",
  1416. "soa": "text/dns",
  1417. "soc": "application/sgml-open-catalog",
  1418. "sol": "application/solids",
  1419. "spc": "text/x-speech",
  1420. "spd": "application/vnd.sealedmedia.softseal.pdf",
  1421. "spdf": "application/vnd.sealedmedia.softseal.pdf",
  1422. "spec": "text/spec",
  1423. "spf": "application/vnd.yamaha.smaf-phrase",
  1424. "spl": "application/x-futuresplash",
  1425. "spn": "image/vnd.sealed.png",
  1426. "spng": "image/vnd.sealed.png",
  1427. "spo": "text/vnd.in3d.spot",
  1428. "spot": "text/vnd.in3d.spot",
  1429. "spp": "application/scvp-vp-response",
  1430. "sppt": "application/vnd.sealed.ppt",
  1431. "spq": "application/scvp-vp-request",
  1432. "spr": "application/x-sprite",
  1433. "sprite": "application/x-sprite",
  1434. "spx": "audio/ogg",
  1435. "sql": "application/x-sql",
  1436. "sr": "application/vnd.sigrok.session",
  1437. "src": "application/x-wais-source",
  1438. "srt": "application/x-subrip",
  1439. "sru": "application/sru+xml",
  1440. "srx": "application/sparql-results+xml",
  1441. "ssdl": "application/ssdl+xml",
  1442. "sse": "application/vnd.kodak-descriptor",
  1443. "ssf": "application/vnd.epson.ssf",
  1444. "ssi": "text/x-server-parsed-html",
  1445. "ssm": "application/streamingmedia",
  1446. "ssml": "application/ssml+xml",
  1447. "sst": "application/vnd.ms-pki.certstore",
  1448. "ssw": "video/vnd.sealed.swf",
  1449. "sswf": "video/vnd.sealed.swf",
  1450. "st": "application/vnd.sailingtracker.track",
  1451. "stc": "application/vnd.sun.xml.calc.template",
  1452. "std": "application/vnd.sun.xml.draw.template",
  1453. "step": "application/step",
  1454. "stf": "application/vnd.wt.stf",
  1455. "sti": "application/vnd.sun.xml.impress.template",
  1456. "stif": "application/vnd.sealed.tiff",
  1457. "stk": "application/hyperstudio",
  1458. "stl": "application/vnd.ms-pki.stl",
  1459. "stm": "audio/x-stm",
  1460. "stml": "application/vnd.sealedmedia.softseal.html",
  1461. "stp": "application/step",
  1462. "str": "application/vnd.pg.format",
  1463. "study-inter": "application/vnd.vd-study",
  1464. "stw": "application/vnd.sun.xml.writer.template",
  1465. "sty": "text/x-tex",
  1466. "styl": "text/stylus",
  1467. "sub": "text/vnd.dvb.subtitle",
  1468. "sus": "application/vnd.sus-calendar",
  1469. "susp": "application/vnd.sus-calendar",
  1470. "sv4cpio": "application/x-sv4cpio",
  1471. "sv4crc": "application/x-sv4crc",
  1472. "svc": "application/vnd.dvb.service",
  1473. "svd": "application/vnd.svd",
  1474. "svf": "image/x-dwg",
  1475. "svg": "image/svg+xml",
  1476. "svgz": "image/svg+xml",
  1477. "sw": "chemical/x-swissprot",
  1478. "swa": "application/x-director",
  1479. "swf": "application/x-shockwave-flash",
  1480. "swfl": "application/x-shockwave-flash",
  1481. "swi": "application/vnd.aristanetworks.swi",
  1482. "swift": "text/swift",
  1483. "swiftdeps": "text/swiftdeps",
  1484. "sxc": "application/vnd.sun.xml.calc",
  1485. "sxd": "application/vnd.sun.xml.draw",
  1486. "sxg": "application/vnd.sun.xml.writer.global",
  1487. "sxi": "application/vnd.sun.xml.impress",
  1488. "sxl": "application/vnd.sealed.xls",
  1489. "sxls": "application/vnd.sealed.xls",
  1490. "sxm": "application/vnd.sun.xml.math",
  1491. "sxw": "application/vnd.sun.xml.writer",
  1492. "t": "text/troff",
  1493. "t3": "application/x-t3vm-image",
  1494. "t38": "image/t38",
  1495. "tac": "text/twisted",
  1496. "tag": "text/prs.lines.tag",
  1497. "taglet": "application/vnd.mynfc",
  1498. "talk": "text/x-speech",
  1499. "tam": "application/vnd.onepager",
  1500. "tamp": "application/vnd.onepagertamp",
  1501. "tamx": "application/vnd.onepagertamx",
  1502. "tao": "application/vnd.tao.intent-module-archive",
  1503. "tap": "image/vnd.tencent.tap",
  1504. "tar": "application/x-tar",
  1505. "tat": "application/vnd.onepagertat",
  1506. "tatp": "application/vnd.onepagertatp",
  1507. "tatx": "application/vnd.onepagertatx",
  1508. "tau": "application/tamp-apex-update",
  1509. "taz": "application/x-gtar",
  1510. "tbk": "application/toolbook",
  1511. "tcap": "application/vnd.3gpp2.tcap",
  1512. "tcl": "application/x-tcl",
  1513. "tcsh": "text/x-script.tcsh",
  1514. "tcu": "application/tamp-community-update",
  1515. "td": "application/urc-targetdesc+xml",
  1516. "teacher": "application/vnd.smart.teacher",
  1517. "tei": "application/tei+xml",
  1518. "teicorpus": "application/tei+xml",
  1519. "ter": "application/tamp-error",
  1520. "tex": "application/x-tex",
  1521. "texi": "application/x-texinfo",
  1522. "texinfo": "application/x-texinfo",
  1523. "text": "text/plain",
  1524. "tf": "text/terraform",
  1525. "tfi": "application/thraud+xml",
  1526. "tfm": "application/x-tex-tfm",
  1527. "tfx": "image/tiff-fx",
  1528. "tga": "image/x-tga",
  1529. "tgf": "chemical/x-mdl-tgf",
  1530. "tgz": "application/gzip",
  1531. "thmx": "application/vnd.ms-officetheme",
  1532. "thrift": "text/thrift",
  1533. "tif": "image/tiff",
  1534. "tiff": "image/tiff",
  1535. "tk": "text/x-tcl",
  1536. "tlclient": "application/vnd.cendio.thinlinc.clientconf",
  1537. "tm": "text/texmacs",
  1538. "tmo": "application/vnd.tmobile-livetv",
  1539. "tnef": "application/vnd.ms-tnef",
  1540. "tnf": "application/vnd.ms-tnef",
  1541. "toml": "text/toml",
  1542. "torrent": "application/x-bittorrent",
  1543. "tpl": "application/vnd.groove-tool-template",
  1544. "tpt": "application/vnd.trid.tpt",
  1545. "tr": "text/troff",
  1546. "tra": "application/vnd.trueapp",
  1547. "tree": "application/vnd.rainstor.data",
  1548. "trig": "application/trig",
  1549. "trm": "application/x-msterminal",
  1550. "ts": "video/mp2t",
  1551. "tsa": "application/tamp-sequence-adjust",
  1552. "tscn": "text/godot",
  1553. "tsd": "application/timestamped-data",
  1554. "tsi": "audio/tsp-audio",
  1555. "tsp": "audio/tsplayer",
  1556. "tsq": "application/timestamp-query",
  1557. "tsr": "application/timestamp-reply",
  1558. "tst": "application/vnd.etsi.timestamp-token",
  1559. "tsv": "text/tab-separated-values",
  1560. "tsx": "text/tsx",
  1561. "ttc": "font/collection",
  1562. "ttf": "font/ttf",
  1563. "ttl": "text/turtle",
  1564. "ttml": "application/ttml+xml",
  1565. "tuc": "application/tamp-update-confirm",
  1566. "tur": "application/tamp-update",
  1567. "turbot": "image/florian",
  1568. "twd": "application/vnd.simtech-mindmapper",
  1569. "twds": "application/vnd.simtech-mindmapper",
  1570. "txd": "application/vnd.genomatix.tuxedo",
  1571. "txf": "application/vnd.mobius.txf",
  1572. "txt": "text/plain",
  1573. "u32": "application/x-authorware-bin",
  1574. "u8dsn": "message/global-delivery-status",
  1575. "u8hdr": "message/global-headers",
  1576. "u8mdn": "message/global-disposition-notification",
  1577. "u8msg": "message/global",
  1578. "udeb": "application/vnd.debian.binary-package",
  1579. "ufd": "application/vnd.ufdl",
  1580. "ufdl": "application/vnd.ufdl",
  1581. "uil": "text/x-uil",
  1582. "uis": "application/urc-uisocketdesc+xml",
  1583. "uls": "text/iuls",
  1584. "ult": "audio/x-mod",
  1585. "ulx": "application/x-glulx",
  1586. "umj": "application/vnd.umajin",
  1587. "uni": "audio/x-mod",
  1588. "unis": "text/uri-list",
  1589. "unityweb": "application/vnd.unity",
  1590. "unv": "application/i-deas",
  1591. "uo": "application/vnd.uoml+xml",
  1592. "uoml": "application/vnd.uoml+xml",
  1593. "upa": "application/vnd.hbci",
  1594. "uri": "text/uri-list",
  1595. "uric": "text/vnd.si.uricatalogue",
  1596. "urim": "application/vnd.uri-map",
  1597. "urimap": "application/vnd.uri-map",
  1598. "uris": "text/uri-list",
  1599. "urls": "text/uri-list",
  1600. "ustar": "application/x-ustar",
  1601. "utz": "application/vnd.uiq.theme",
  1602. "uu": "text/x-uuencode",
  1603. "uue": "text/x-uuencode",
  1604. "uva": "audio/vnd.dece.audio",
  1605. "uvd": "application/vnd.dece.data",
  1606. "uvf": "application/vnd.dece.data",
  1607. "uvg": "image/vnd.dece.graphic",
  1608. "uvh": "video/vnd.dece.hd",
  1609. "uvi": "image/vnd.dece.graphic",
  1610. "uvm": "video/vnd.dece.mobile",
  1611. "uvp": "video/vnd.dece.pd",
  1612. "uvs": "video/vnd.dece.sd",
  1613. "uvt": "application/vnd.dece.ttml+xml",
  1614. "uvu": "video/vnd.dece.mp4",
  1615. "uvv": "video/vnd.dece.video",
  1616. "uvva": "audio/vnd.dece.audio",
  1617. "uvvd": "application/vnd.dece.data",
  1618. "uvvf": "application/vnd.dece.data",
  1619. "uvvg": "image/vnd.dece.graphic",
  1620. "uvvh": "video/vnd.dece.hd",
  1621. "uvvi": "image/vnd.dece.graphic",
  1622. "uvvm": "video/vnd.dece.mobile",
  1623. "uvvp": "video/vnd.dece.pd",
  1624. "uvvs": "video/vnd.dece.sd",
  1625. "uvvt": "application/vnd.dece.ttml+xml",
  1626. "uvvu": "video/vnd.dece.mp4",
  1627. "uvvv": "video/vnd.dece.video",
  1628. "uvvx": "application/vnd.dece.unspecified",
  1629. "uvvz": "application/vnd.dece.zip",
  1630. "uvx": "application/vnd.dece.unspecified",
  1631. "uvz": "application/vnd.dece.zip",
  1632. "val": "chemical/x-ncbi-asn1-binary",
  1633. "vbk": "audio/vnd.nortel.vbk",
  1634. "vbox": "application/x-virtualbox-vbox",
  1635. "vbox-extpack": "application/x-virtualbox-vbox-extpack",
  1636. "vcard": "text/vcard",
  1637. "vcd": "application/x-cdlink",
  1638. "vcf": "text/x-vcard",
  1639. "vcg": "application/vnd.groove-vcard",
  1640. "vcs": "text/x-vcalendar",
  1641. "vcx": "application/vnd.vcx",
  1642. "vda": "application/vda",
  1643. "vdi": "application/x-virtualbox-vdi",
  1644. "vdo": "video/vdo",
  1645. "vdx": "text/vdx",
  1646. "vew": "application/vnd.lotus-approach",
  1647. "vfr": "application/vnd.tml",
  1648. "vhd": "application/x-virtualbox-vhd",
  1649. "viaframe": "application/vnd.tml",
  1650. "vim": "text/vim",
  1651. "vis": "application/vnd.visionary",
  1652. "viv": "video/vnd.vivo",
  1653. "vivo": "video/vivo",
  1654. "vmd": "application/vocaltec-media-desc",
  1655. "vmdk": "application/x-virtualbox-vmdk",
  1656. "vmf": "application/vocaltec-media-file",
  1657. "vms": "chemical/x-vamas-iso14976",
  1658. "vmt": "application/vnd.valve.source.material",
  1659. "vob": "video/x-ms-vob",
  1660. "voc": "audio/voc",
  1661. "vor": "application/vnd.stardivision.writer",
  1662. "vos": "video/vosaic",
  1663. "vox": "audio/voxware",
  1664. "vpm": "multipart/voice-message",
  1665. "vqe": "audio/x-twinvq-plugin",
  1666. "vqf": "audio/x-twinvq",
  1667. "vql": "audio/x-twinvq-plugin",
  1668. "vrm": "x-world/x-vrml",
  1669. "vrml": "model/vrml",
  1670. "vrt": "x-world/x-vrt",
  1671. "vsc": "application/vnd.vidsoft.vidconference",
  1672. "vsd": "application/vnd.visio",
  1673. "vsf": "application/vnd.vsf",
  1674. "vss": "application/vnd.visio",
  1675. "vst": "application/vnd.visio",
  1676. "vsw": "application/vnd.visio",
  1677. "vtf": "image/vnd.valve.source.texture",
  1678. "vtt": "text/vtt",
  1679. "vtu": "model/vnd.vtu",
  1680. "vue": "text/vue",
  1681. "vwx": "application/vnd.vectorworks",
  1682. "vxml": "application/voicexml+xml",
  1683. "w3d": "application/x-director",
  1684. "w60": "application/wordperfect6.0",
  1685. "w61": "application/wordperfect6.1",
  1686. "w6w": "application/msword",
  1687. "wad": "application/x-doom",
  1688. "wadl": "application/vnd.sun.wadl+xml",
  1689. "war": "binary/zip",
  1690. "wasm": "application/wasm",
  1691. "wav": "audio/wave",
  1692. "wax": "audio/x-ms-wax",
  1693. "wb1": "application/x-qpro",
  1694. "wbmp": "image/vnd.wap.wbmp",
  1695. "wbs": "application/vnd.criticaltools.wbs+xml",
  1696. "wbxml": "application/vnd.wap.wbxml",
  1697. "wcm": "application/vnd.ms-works",
  1698. "wdb": "application/vnd.ms-works",
  1699. "wdp": "image/vnd.ms-photo",
  1700. "web": "application/vnd.xara",
  1701. "weba": "audio/webm",
  1702. "webapp": "application/x-web-app-manifest+json",
  1703. "webm": "video/webm",
  1704. "webmanifest": "application/manifest+json",
  1705. "webp": "image/webp",
  1706. "wg": "application/vnd.pmi.widget",
  1707. "wgt": "application/widget",
  1708. "whl": "binary/wheel",
  1709. "wif": "application/watcherinfo+xml",
  1710. "win": "model/vnd.gdl",
  1711. "wiz": "application/msword",
  1712. "wk": "application/x-123",
  1713. "wk1": "application/vnd.lotus-1-2-3",
  1714. "wk3": "application/vnd.lotus-1-2-3",
  1715. "wk4": "application/vnd.lotus-1-2-3",
  1716. "wks": "application/vnd.ms-works",
  1717. "wkt": "text/wkt",
  1718. "wlnk": "application/link-format",
  1719. "wm": "video/x-ms-wm",
  1720. "wma": "audio/x-ms-wma",
  1721. "wmc": "application/vnd.wmc",
  1722. "wmd": "application/x-ms-wmd",
  1723. "wmf": "image/wmf",
  1724. "wml": "text/vnd.wap.wml",
  1725. "wmlc": "application/vnd.wap.wmlc",
  1726. "wmls": "text/vnd.wap.wmlscript",
  1727. "wmlsc": "application/vnd.wap.wmlscriptc",
  1728. "wmv": "video/x-ms-wmv",
  1729. "wmx": "video/x-ms-wmx",
  1730. "wmz": "application/x-ms-wmz",
  1731. "woff": "font/woff",
  1732. "woff2": "font/woff2",
  1733. "word": "application/msword",
  1734. "wp": "application/wordperfect",
  1735. "wp5": "application/wordperfect",
  1736. "wp6": "application/wordperfect",
  1737. "wpd": "application/vnd.wordperfect",
  1738. "wpl": "application/vnd.ms-wpl",
  1739. "wps": "application/vnd.ms-works",
  1740. "wq1": "application/x-lotus",
  1741. "wqd": "application/vnd.wqd",
  1742. "wri": "application/x-mswrite",
  1743. "wrl": "model/vrml",
  1744. "wrz": "model/vrml",
  1745. "wsc": "message/vnd.wfa.wsc",
  1746. "wsdl": "application/wsdl+xml",
  1747. "wsgi": "text/wsgi",
  1748. "wspolicy": "application/wspolicy+xml",
  1749. "wsrc": "application/x-wais-source",
  1750. "wtb": "application/vnd.webturbo",
  1751. "wtk": "application/x-wintalk",
  1752. "wv": "application/vnd.wv.csp+wbxml",
  1753. "wvx": "video/x-ms-wvx",
  1754. "wz": "application/x-wingz",
  1755. "x-png": "image/png",
  1756. "x32": "application/x-authorware-bin",
  1757. "x3d": "application/vnd.hzn-3d-crossword",
  1758. "x3db": "model/x3d+xml",
  1759. "x3dbz": "model/x3d+binary",
  1760. "x3dv": "model/x3d-vrml",
  1761. "x3dvz": "model/x3d-vrml",
  1762. "x3dz": "model/x3d+xml",
  1763. "x_b": "model/vnd.parasolid.transmit.binary",
  1764. "x_t": "model/vnd.parasolid.transmit.text",
  1765. "xaf": "x-world/x-vrml",
  1766. "xaml": "application/xaml+xml",
  1767. "xap": "application/x-silverlight-app",
  1768. "xar": "application/vnd.xara",
  1769. "xav": "application/xcap-att+xml",
  1770. "xbap": "application/x-ms-xbap",
  1771. "xbd": "application/vnd.fujixerox.docuworks.binder",
  1772. "xbm": "image/x-xbitmap",
  1773. "xca": "application/xcap-caps+xml",
  1774. "xcf": "application/x-xcf",
  1775. "xcs": "application/calendar+xml",
  1776. "xct": "application/vnd.fujixerox.docuworks.container",
  1777. "xdd": "application/bacnet-xdd+zip",
  1778. "xdf": "application/xcap-diff+xml",
  1779. "xdm": "application/vnd.syncml.dm+xml",
  1780. "xdp": "application/vnd.adobe.xdp+xml",
  1781. "xdr": "video/x-amt-demorun",
  1782. "xdssc": "application/dssc+xml",
  1783. "xdw": "application/vnd.fujixerox.docuworks",
  1784. "xel": "application/xcap-el+xml",
  1785. "xenc": "application/xenc+xml",
  1786. "xer": "application/patch-ops-error+xml",
  1787. "xfd": "application/vnd.xfdl",
  1788. "xfdf": "application/vnd.adobe.xfdf",
  1789. "xfdl": "application/vnd.xfdl",
  1790. "xgz": "xgl/drawing",
  1791. "xht": "application/xhtml+xml",
  1792. "xhtm": "application/xhtml+xml",
  1793. "xhtml": "application/xhtml+xml",
  1794. "xhvml": "application/xv+xml",
  1795. "xif": "image/vnd.xiff",
  1796. "xl": "application/excel",
  1797. "xla": "application/vnd.ms-excel",
  1798. "xlam": "application/vnd.ms-excel.addin.macroenabled.12",
  1799. "xlb": "application/vndms-excel",
  1800. "xlc": "application/vnd.ms-excel",
  1801. "xlf": "application/x-xliff+xml",
  1802. "xlim": "application/vnd.xmpie.xlim",
  1803. "xlm": "application/vnd.ms-excel",
  1804. "xls": "application/vnd.ms-excel",
  1805. "xlsb": "application/vnd.ms-excel.sheet.binary.macroenabled.12",
  1806. "xlsm": "application/vnd.ms-excel.sheet.macroenabled.12",
  1807. "xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
  1808. "xlt": "application/vnd.ms-excel",
  1809. "xltm": "application/vnd.ms-excel.template.macroenabled.12",
  1810. "xltx": "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
  1811. "xlw": "application/vnd.ms-excel",
  1812. "xm": "audio/xm",
  1813. "xml": "text/xml",
  1814. "xmls": "application/dskpp+xml",
  1815. "xmt_bin": "model/vnd.parasolid.transmit.binary",
  1816. "xmt_txt": "model/vnd.parasolid.transmit.text",
  1817. "xmz": "xgl/movie",
  1818. "xns": "application/xcap-ns+xml",
  1819. "xo": "application/vnd.olpc-sugar",
  1820. "xof": "x-world/x-vrml",
  1821. "xop": "application/xop+xml",
  1822. "xpdl": "application/xml",
  1823. "xpi": "application/x-xpinstall",
  1824. "xpix": "application/x-vnd.ls-xpix",
  1825. "xpl": "application/xproc+xml",
  1826. "xpm": "image/x-xpixmap",
  1827. "xpr": "application/vnd.is-xpr",
  1828. "xps": "application/vnd.ms-xpsdocument",
  1829. "xpw": "application/vnd.intercon.formnet",
  1830. "xpx": "application/vnd.intercon.formnet",
  1831. "xq": "text/xquery",
  1832. "xql": "text/xquery",
  1833. "xqm": "text/xquery",
  1834. "xqu": "text/xquery",
  1835. "xquery": "text/xquery",
  1836. "xqy": "text/xquery",
  1837. "xsd": "text/xml",
  1838. "xsf": "application/prs.xsf+xml",
  1839. "xsl": "application/xslt+xml",
  1840. "xslt": "application/xslt+xml",
  1841. "xsm": "application/vnd.syncml+xml",
  1842. "xspf": "application/xspf+xml",
  1843. "xsr": "video/x-amt-showrun",
  1844. "xtel": "chemical/x-xtel",
  1845. "xul": "application/vnd.mozilla.xul+xml",
  1846. "xvm": "application/xv+xml",
  1847. "xvml": "application/xv+xml",
  1848. "xwd": "image/x-xwindowdump",
  1849. "xyz": "chemical/x-xyz",
  1850. "xyze": "image/vnd.radiance",
  1851. "xz": "application/x-xz",
  1852. "yaml": "text/yaml",
  1853. "yang": "application/yang",
  1854. "yin": "application/yin+xml",
  1855. "yme": "application/vnd.yaoweme",
  1856. "yml": "text/yaml",
  1857. "ymp": "text/x-suse-ymp",
  1858. "z1": "application/x-zmachine",
  1859. "z2": "application/x-zmachine",
  1860. "z3": "application/x-zmachine",
  1861. "z4": "application/x-zmachine",
  1862. "z5": "application/x-zmachine",
  1863. "z6": "application/x-zmachine",
  1864. "z7": "application/x-zmachine",
  1865. "z8": "application/x-zmachine",
  1866. "zaz": "application/vnd.zzazz.deck+xml",
  1867. "zfc": "application/vnd.filmit.zfc",
  1868. "zfo": "application/vnd.software602.filler.form-xml-zip",
  1869. "zig": "text/zig",
  1870. "zip": "application/zip",
  1871. "zir": "application/vnd.zul",
  1872. "zirz": "application/vnd.zul",
  1873. "zmm": "application/vnd.handheld-entertainment+xml",
  1874. "zmt": "chemical/x-mopac-input",
  1875. "zone": "text/dns",
  1876. "zoo": "application/octet-stream",
  1877. "zsh": "text/x-script.zsh",
  1878. "~": "application/x-trash"
  1879. }
  1880. func newMimetypes*(): MimeDB =
  1881. ## Creates a new Mimetypes database. The database will contain the most
  1882. ## common mimetypes.
  1883. result.mimes = mimes.newStringTable()
  1884. func getMimetype*(mimedb: MimeDB, ext: string, default = "text/plain"): string =
  1885. ## Gets mimetype which corresponds to ``ext``. Returns ``default`` if ``ext``
  1886. ## could not be found. ``ext`` can start with an optional dot which is ignored.
  1887. ## ``ext`` is lowercased before querying ``mimedb``.
  1888. if ext.startsWith("."):
  1889. result = mimedb.mimes.getOrDefault(ext.toLowerAscii.substr(1))
  1890. else:
  1891. result = mimedb.mimes.getOrDefault(ext.toLowerAscii())
  1892. if result == "":
  1893. return default
  1894. func getExt*(mimedb: MimeDB, mimetype: string, default = "txt"): string =
  1895. ## Gets extension which corresponds to ``mimetype``. Returns ``default`` if
  1896. ## ``mimetype`` could not be found. Extensions are returned without the
  1897. ## leading dot. ``mimetype`` is lowercased before querying ``mimedb``.
  1898. result = default
  1899. let mimeLowered = mimetype.toLowerAscii()
  1900. for e, m in mimedb.mimes:
  1901. if m == mimeLowered:
  1902. result = e
  1903. break
  1904. func register*(mimedb: var MimeDB, ext: string, mimetype: string) =
  1905. ## Adds ``mimetype`` to the ``mimedb``.
  1906. ## ``mimetype`` and ``ext`` are lowercased before registering on ``mimedb``.
  1907. assert ext.strip.len > 0, "ext argument can not be empty string"
  1908. assert mimetype.strip.len > 0, "mimetype argument can not be empty string"
  1909. mimedb.mimes[ext.toLowerAscii()] = mimetype.toLowerAscii()
  1910. runnableExamples:
  1911. var m = newMimetypes()
  1912. assert m.getMimetype("mp4") == "video/mp4"
  1913. assert m.getExt("text/html") == "html"
  1914. ## Values can be uppercase too.
  1915. assert m.getMimetype("MP4") == "video/mp4"
  1916. assert m.getExt("TEXT/HTML") == "html"
  1917. ## If values are invalid then ``default`` is returned.
  1918. assert m.getMimetype("INVALID") == "text/plain"
  1919. assert m.getExt("INVALID/NONEXISTENT") == "txt"
  1920. assert m.getMimetype("") == "text/plain"
  1921. assert m.getExt("") == "txt"
  1922. ## Register new Mimetypes.
  1923. m.register(ext = "fakext", mimetype = "text/fakelang")
  1924. assert m.getMimetype("fakext") == "text/fakelang"
  1925. assert m.getMimetype("FaKeXT") == "text/fakelang"