blobsterix 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. data/.gitignore +27 -0
  2. data/CHANGELOG.txt +13 -0
  3. data/Gemfile +16 -0
  4. data/LICENSE +22 -0
  5. data/README.md +122 -0
  6. data/Rakefile +13 -0
  7. data/bin/blobsterix +152 -0
  8. data/bin/test +26 -0
  9. data/blobsterix.gemspec +39 -0
  10. data/config/lighttpd.conf +50 -0
  11. data/lib/blobsterix.rb +213 -0
  12. data/lib/blobsterix/blob/blob_api.rb +55 -0
  13. data/lib/blobsterix/blob/blob_url_helper.rb +55 -0
  14. data/lib/blobsterix/helper/accept_type.rb +62 -0
  15. data/lib/blobsterix/helper/blob_access.rb +73 -0
  16. data/lib/blobsterix/helper/config_loader.rb +33 -0
  17. data/lib/blobsterix/helper/data_response.rb +54 -0
  18. data/lib/blobsterix/helper/http.rb +47 -0
  19. data/lib/blobsterix/helper/logable.rb +11 -0
  20. data/lib/blobsterix/helper/murmur.rb +137 -0
  21. data/lib/blobsterix/helper/status_info.rb +42 -0
  22. data/lib/blobsterix/helper/template_renderer.rb +39 -0
  23. data/lib/blobsterix/mimemagic/magic.rb +138 -0
  24. data/lib/blobsterix/mimemagic/tables.rb +1770 -0
  25. data/lib/blobsterix/mimemagic/version.rb +5 -0
  26. data/lib/blobsterix/router/app_router.rb +134 -0
  27. data/lib/blobsterix/s3/s3_api.rb +92 -0
  28. data/lib/blobsterix/s3/s3_url_helper.rb +93 -0
  29. data/lib/blobsterix/service.rb +34 -0
  30. data/lib/blobsterix/status/status_api.rb +62 -0
  31. data/lib/blobsterix/status/status_url_helper.rb +11 -0
  32. data/lib/blobsterix/storage/blob_meta_data.rb +60 -0
  33. data/lib/blobsterix/storage/bucket.rb +36 -0
  34. data/lib/blobsterix/storage/bucket_entry.rb +29 -0
  35. data/lib/blobsterix/storage/bucket_list.rb +26 -0
  36. data/lib/blobsterix/storage/cache.rb +90 -0
  37. data/lib/blobsterix/storage/file_system.rb +132 -0
  38. data/lib/blobsterix/storage/file_system_meta_data.rb +136 -0
  39. data/lib/blobsterix/storage/storage.rb +30 -0
  40. data/lib/blobsterix/transformation/image_transformation.rb +439 -0
  41. data/lib/blobsterix/transformation/transformation.rb +30 -0
  42. data/lib/blobsterix/transformation/transformation_chain.rb +78 -0
  43. data/lib/blobsterix/transformation/transformation_manager.rb +115 -0
  44. data/lib/blobsterix/version.rb +3 -0
  45. data/scripts/download.rb +30 -0
  46. data/scripts/test +6 -0
  47. data/spec/lib/blob/blob_api_spec.rb +81 -0
  48. data/spec/lib/helper/blob_access_spec.rb +72 -0
  49. data/spec/lib/s3/s3_api_spec.rb +183 -0
  50. data/spec/lib/service_spec.rb +12 -0
  51. data/spec/lib/status/status_api_spec.rb +42 -0
  52. data/spec/lib/storage/cache_spec.rb +135 -0
  53. data/spec/lib/storage/file_system_spec.rb +84 -0
  54. data/spec/spec_helper.rb +139 -0
  55. data/templates/app/Gemfile +12 -0
  56. data/templates/app/Rakefile +7 -0
  57. data/templates/app/config.rb +61 -0
  58. data/templates/app/config/environments/development.rb +40 -0
  59. data/templates/app/config/environments/production.rb +40 -0
  60. data/templates/app/storages/.keep +0 -0
  61. data/templates/app/transformators/.keep +0 -0
  62. data/templates/app/views/.keep +0 -0
  63. data/templates/storage_template.rb +30 -0
  64. data/templates/transformation_template.rb +41 -0
  65. data/templates/views/error_page.erb +18 -0
  66. data/templates/views/status_page.erb +31 -0
  67. metadata +325 -0
@@ -0,0 +1,1770 @@
1
+ # -*- coding: binary -*-
2
+ # Generated from freedesktop.org.xml
3
+ class MimeMagic
4
+ # @private
5
+ # :nodoc:
6
+ EXTENSIONS = {
7
+ '123' => 'application/vnd.lotus-1-2-3',
8
+ 'webp' => 'image/webp',
9
+ '3ds' => 'image/x-3ds',
10
+ '3g2' => 'video/3gpp2',
11
+ '3ga' => 'video/3gpp',
12
+ '3gp' => 'video/3gpp',
13
+ '3gp2' => 'video/3gpp2',
14
+ '3gpp' => 'video/3gpp',
15
+ '3gpp2' => 'video/3gpp2',
16
+ '602' => 'application/x-t602',
17
+ '669' => 'audio/x-mod',
18
+ '7z' => 'application/x-7z-compressed',
19
+ 'a' => 'application/x-archive',
20
+ 'aac' => 'audio/aac',
21
+ 'abw' => 'application/x-abiword',
22
+ 'abw.crashed' => 'application/x-abiword',
23
+ 'abw.gz' => 'application/x-abiword',
24
+ 'ac3' => 'audio/ac3',
25
+ 'ace' => 'application/x-ace',
26
+ 'adb' => 'text/x-adasrc',
27
+ 'ads' => 'text/x-adasrc',
28
+ 'afm' => 'application/x-font-afm',
29
+ 'ag' => 'image/x-applix-graphics',
30
+ 'ai' => 'application/illustrator',
31
+ 'aif' => 'audio/x-aiff',
32
+ 'aifc' => 'audio/x-aifc',
33
+ 'aiff' => 'audio/x-aiff',
34
+ 'aiffc' => 'audio/x-aifc',
35
+ 'al' => 'application/x-perl',
36
+ 'alz' => 'application/x-alz',
37
+ 'amr' => 'audio/AMR',
38
+ 'amz' => 'audio/x-amzxml',
39
+ 'ani' => 'application/x-navi-animation',
40
+ 'anx' => 'application/annodex',
41
+ 'ape' => 'audio/x-ape',
42
+ 'apk' => 'application/vnd.android.package-archive',
43
+ 'ar' => 'application/x-archive',
44
+ 'arj' => 'application/x-arj',
45
+ 'arw' => 'image/x-sony-arw',
46
+ 'as' => 'application/x-applix-spreadsheet',
47
+ 'asc' => 'application/pgp-encrypted',
48
+ 'asf' => 'video/x-ms-asf',
49
+ 'asp' => 'application/x-asp',
50
+ 'ass' => 'text/x-ssa',
51
+ 'asx' => 'audio/x-ms-asx',
52
+ 'atom' => 'application/atom+xml',
53
+ 'au' => 'audio/basic',
54
+ 'avf' => 'video/x-msvideo',
55
+ 'avi' => 'video/x-msvideo',
56
+ 'aw' => 'application/x-applix-word',
57
+ 'awb' => 'audio/AMR-WB',
58
+ 'awk' => 'application/x-awk',
59
+ 'axa' => 'audio/annodex',
60
+ 'axv' => 'video/annodex',
61
+ 'bak' => 'application/x-trash',
62
+ 'bcpio' => 'application/x-bcpio',
63
+ 'bdf' => 'application/x-font-bdf',
64
+ 'bdm' => 'video/mp2t',
65
+ 'bdmv' => 'video/mp2t',
66
+ 'bib' => 'text/x-bibtex',
67
+ 'bin' => 'application/octet-stream',
68
+ 'blend' => 'application/x-blender',
69
+ 'blender' => 'application/x-blender',
70
+ 'bmp' => 'image/bmp',
71
+ 'bz' => 'application/x-bzip',
72
+ 'bz2' => 'application/x-bzip',
73
+ 'c' => 'text/x-c++src',
74
+ 'c++' => 'text/x-c++src',
75
+ 'cab' => 'application/vnd.ms-cab-compressed',
76
+ 'cap' => 'application/vnd.tcpdump.pcap',
77
+ 'cb7' => 'application/x-cb7',
78
+ 'cbl' => 'text/x-cobol',
79
+ 'cbr' => 'application/x-cbr',
80
+ 'cbt' => 'application/x-cbt',
81
+ 'cbz' => 'application/x-cbz',
82
+ 'cc' => 'text/x-c++src',
83
+ 'ccmx' => 'application/x-ccmx',
84
+ 'cdf' => 'application/x-netcdf',
85
+ 'cdr' => 'application/vnd.corel-draw',
86
+ 'cer' => 'application/pkix-cert',
87
+ 'cert' => 'application/x-x509-ca-cert',
88
+ 'cgm' => 'image/cgm',
89
+ 'chm' => 'application/vnd.ms-htmlhelp',
90
+ 'chrt' => 'application/x-kchart',
91
+ 'class' => 'application/x-java',
92
+ 'clpi' => 'video/mp2t',
93
+ 'cls' => 'text/x-tex',
94
+ 'cmake' => 'text/x-cmake',
95
+ 'cob' => 'text/x-cobol',
96
+ 'cpi' => 'video/mp2t',
97
+ 'cpio' => 'application/x-cpio',
98
+ 'cpio.gz' => 'application/x-cpio-compressed',
99
+ 'cpp' => 'text/x-c++src',
100
+ 'cr2' => 'image/x-canon-cr2',
101
+ 'crl' => 'application/pkix-crl',
102
+ 'crt' => 'application/x-x509-ca-cert',
103
+ 'crw' => 'image/x-canon-crw',
104
+ 'cs' => 'text/x-csharp',
105
+ 'csh' => 'application/x-csh',
106
+ 'css' => 'text/css',
107
+ 'cssl' => 'text/css',
108
+ 'csv' => 'text/csv',
109
+ 'cue' => 'application/x-cue',
110
+ 'cur' => 'image/x-win-bitmap',
111
+ 'cxx' => 'text/x-c++src',
112
+ 'd' => 'text/x-dsrc',
113
+ 'dar' => 'application/x-dar',
114
+ 'dbf' => 'application/x-dbf',
115
+ 'dc' => 'application/x-dc-rom',
116
+ 'dcl' => 'text/x-dcl',
117
+ 'dcm' => 'application/dicom',
118
+ 'dcr' => 'image/x-kodak-dcr',
119
+ 'dds' => 'image/x-dds',
120
+ 'deb' => 'application/x-deb',
121
+ 'der' => 'application/x-x509-ca-cert',
122
+ 'desktop' => 'application/x-desktop',
123
+ 'di' => 'text/x-dsrc',
124
+ 'dia' => 'application/x-dia-diagram',
125
+ 'diff' => 'text/x-patch',
126
+ 'divx' => 'video/x-msvideo',
127
+ 'djv' => 'image/vnd.djvu',
128
+ 'djvu' => 'image/vnd.djvu',
129
+ 'dmg' => 'application/x-apple-diskimage',
130
+ 'dmp' => 'application/vnd.tcpdump.pcap',
131
+ 'dng' => 'image/x-adobe-dng',
132
+ 'doc' => 'application/msword',
133
+ 'docbook' => 'application/x-docbook+xml',
134
+ 'docm' => 'application/vnd.ms-word.document.macroEnabled.12',
135
+ 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
136
+ 'dot' => 'application/msword-template',
137
+ 'dotm' => 'application/vnd.ms-word.template.macroEnabled.12',
138
+ 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',
139
+ 'dsl' => 'text/x-dsl',
140
+ 'dtd' => 'application/xml-dtd',
141
+ 'dts' => 'audio/vnd.dts',
142
+ 'dtshd' => 'audio/vnd.dts.hd',
143
+ 'dtx' => 'text/x-tex',
144
+ 'dv' => 'video/dv',
145
+ 'dvi' => 'application/x-dvi',
146
+ 'dvi.bz2' => 'application/x-bzdvi',
147
+ 'dvi.gz' => 'application/x-gzdvi',
148
+ 'dwg' => 'image/vnd.dwg',
149
+ 'dxf' => 'image/vnd.dxf',
150
+ 'e' => 'text/x-eiffel',
151
+ 'egon' => 'application/x-egon',
152
+ 'eif' => 'text/x-eiffel',
153
+ 'el' => 'text/x-emacs-lisp',
154
+ 'emf' => 'image/x-emf',
155
+ 'eml' => 'message/rfc822',
156
+ 'emp' => 'application/vnd.emusic-emusic_package',
157
+ 'ent' => 'application/xml-external-parsed-entity',
158
+ 'eps' => 'image/x-eps',
159
+ 'eps.bz2' => 'image/x-bzeps',
160
+ 'eps.gz' => 'image/x-gzeps',
161
+ 'epsf' => 'image/x-eps',
162
+ 'epsf.bz2' => 'image/x-bzeps',
163
+ 'epsf.gz' => 'image/x-gzeps',
164
+ 'epsi' => 'image/x-eps',
165
+ 'epsi.bz2' => 'image/x-bzeps',
166
+ 'epsi.gz' => 'image/x-gzeps',
167
+ 'epub' => 'application/epub+zip',
168
+ 'erl' => 'text/x-erlang',
169
+ 'es' => 'application/ecmascript',
170
+ 'etheme' => 'application/x-e-theme',
171
+ 'etx' => 'text/x-setext',
172
+ 'exe' => 'application/x-ms-dos-executable',
173
+ 'exr' => 'image/x-exr',
174
+ 'ez' => 'application/andrew-inset',
175
+ 'f' => 'text/x-fortran',
176
+ 'f4a' => 'audio/mp4',
177
+ 'f4b' => 'audio/x-m4b',
178
+ 'f4v' => 'video/mp4',
179
+ 'f90' => 'text/x-fortran',
180
+ 'f95' => 'text/x-fortran',
181
+ 'fb2' => 'application/x-fictionbook+xml',
182
+ 'fig' => 'image/x-xfig',
183
+ 'fits' => 'image/fits',
184
+ 'fl' => 'application/x-fluid',
185
+ 'flac' => 'audio/flac',
186
+ 'flc' => 'video/x-flic',
187
+ 'fli' => 'video/x-flic',
188
+ 'flv' => 'video/x-flv',
189
+ 'flw' => 'application/x-kivio',
190
+ 'fo' => 'text/x-xslfo',
191
+ 'fodg' => 'application/vnd.oasis.opendocument.graphics-flat-xml',
192
+ 'fodp' => 'application/vnd.oasis.opendocument.presentation-flat-xml',
193
+ 'fods' => 'application/vnd.oasis.opendocument.spreadsheet-flat-xml',
194
+ 'fodt' => 'application/vnd.oasis.opendocument.text-flat-xml',
195
+ 'for' => 'text/x-fortran',
196
+ 'fxm' => 'video/x-javafx',
197
+ 'g3' => 'image/fax-g3',
198
+ 'gb' => 'application/x-gameboy-rom',
199
+ 'gba' => 'application/x-gba-rom',
200
+ 'gcrd' => 'text/vcard',
201
+ 'ged' => 'application/x-gedcom',
202
+ 'gedcom' => 'application/x-gedcom',
203
+ 'gem' => 'application/x-tar',
204
+ 'gen' => 'application/x-genesis-rom',
205
+ 'gf' => 'application/x-tex-gf',
206
+ 'gg' => 'application/x-sms-rom',
207
+ 'gif' => 'image/gif',
208
+ 'glade' => 'application/x-glade',
209
+ 'gml' => 'application/gml+xml',
210
+ 'gmo' => 'application/x-gettext-translation',
211
+ 'gnc' => 'application/x-gnucash',
212
+ 'gnd' => 'application/gnunet-directory',
213
+ 'gnucash' => 'application/x-gnucash',
214
+ 'gnumeric' => 'application/x-gnumeric',
215
+ 'gnuplot' => 'application/x-gnuplot',
216
+ 'go' => 'text/x-go',
217
+ 'gp' => 'application/x-gnuplot',
218
+ 'gpg' => 'application/pgp-encrypted',
219
+ 'gplt' => 'application/x-gnuplot',
220
+ 'gra' => 'application/x-graphite',
221
+ 'gsf' => 'application/x-font-type1',
222
+ 'gsm' => 'audio/x-gsm',
223
+ 'gtar' => 'application/x-tar',
224
+ 'gv' => 'text/vnd.graphviz',
225
+ 'gvp' => 'text/x-google-video-pointer',
226
+ 'gz' => 'application/gzip',
227
+ 'h' => 'text/x-chdr',
228
+ 'h++' => 'text/x-c++hdr',
229
+ 'h4' => 'application/x-hdf',
230
+ 'h5' => 'application/x-hdf',
231
+ 'hdf' => 'application/x-hdf',
232
+ 'hdf4' => 'application/x-hdf',
233
+ 'hdf5' => 'application/x-hdf',
234
+ 'hh' => 'text/x-c++hdr',
235
+ 'hlp' => 'application/winhlp',
236
+ 'hp' => 'text/x-c++hdr',
237
+ 'hpgl' => 'application/vnd.hp-hpgl',
238
+ 'hpp' => 'text/x-c++hdr',
239
+ 'hs' => 'text/x-haskell',
240
+ 'htm' => 'text/html',
241
+ 'html' => 'text/html',
242
+ 'hwp' => 'application/x-hwp',
243
+ 'hwt' => 'application/x-hwt',
244
+ 'hxx' => 'text/x-c++hdr',
245
+ 'ica' => 'application/x-ica',
246
+ 'icb' => 'image/x-tga',
247
+ 'icc' => 'application/vnd.iccprofile',
248
+ 'icm' => 'application/vnd.iccprofile',
249
+ 'icns' => 'image/x-icns',
250
+ 'ico' => 'image/vnd.microsoft.icon',
251
+ 'ics' => 'text/calendar',
252
+ 'idl' => 'text/x-idl',
253
+ 'ief' => 'image/ief',
254
+ 'iff' => 'image/x-ilbm',
255
+ 'ilbm' => 'image/x-ilbm',
256
+ 'ime' => 'text/x-iMelody',
257
+ 'imy' => 'text/x-iMelody',
258
+ 'ins' => 'text/x-tex',
259
+ 'iptables' => 'text/x-iptables',
260
+ 'iso' => 'application/x-cd-image',
261
+ 'iso9660' => 'application/x-cd-image',
262
+ 'it' => 'audio/x-it',
263
+ 'it87' => 'application/x-it87',
264
+ 'j2k' => 'image/jp2',
265
+ 'jad' => 'text/vnd.sun.j2me.app-descriptor',
266
+ 'jar' => 'application/x-java-archive',
267
+ 'java' => 'text/x-java',
268
+ 'jceks' => 'application/x-java-jce-keystore',
269
+ 'jks' => 'application/x-java-keystore',
270
+ 'jng' => 'image/x-jng',
271
+ 'jnlp' => 'application/x-java-jnlp-file',
272
+ 'jp2' => 'image/jp2',
273
+ 'jpc' => 'image/jp2',
274
+ 'jpe' => 'image/jpeg',
275
+ 'jpeg' => 'image/jpeg',
276
+ 'jpf' => 'image/jp2',
277
+ 'jpg' => 'image/jpeg',
278
+ 'jpr' => 'application/x-jbuilder-project',
279
+ 'jpx' => 'application/x-jbuilder-project',
280
+ 'js' => 'application/javascript',
281
+ 'json' => 'application/json',
282
+ 'jsonp' => 'text/javascript',
283
+ 'k25' => 'image/x-kodak-k25',
284
+ 'kar' => 'audio/midi',
285
+ 'karbon' => 'application/x-karbon',
286
+ 'kdc' => 'image/x-kodak-kdc',
287
+ 'kdelnk' => 'application/x-desktop',
288
+ 'kexi' => 'application/x-kexiproject-sqlite2',
289
+ 'kexic' => 'application/x-kexi-connectiondata',
290
+ 'kexis' => 'application/x-kexiproject-shortcut',
291
+ 'kfo' => 'application/x-kformula',
292
+ 'kil' => 'application/x-killustrator',
293
+ 'kino' => 'application/smil',
294
+ 'kml' => 'application/vnd.google-earth.kml+xml',
295
+ 'kmz' => 'application/vnd.google-earth.kmz',
296
+ 'kon' => 'application/x-kontour',
297
+ 'kpm' => 'application/x-kpovmodeler',
298
+ 'kpr' => 'application/x-kpresenter',
299
+ 'kpt' => 'application/x-kpresenter',
300
+ 'kra' => 'application/x-krita',
301
+ 'ks' => 'application/x-java-keystore',
302
+ 'ksp' => 'application/x-kspread',
303
+ 'kud' => 'application/x-kugar',
304
+ 'kwd' => 'application/x-kword',
305
+ 'kwt' => 'application/x-kword',
306
+ 'la' => 'application/x-shared-library-la',
307
+ 'latex' => 'text/x-tex',
308
+ 'lbm' => 'image/x-ilbm',
309
+ 'ldif' => 'text/x-ldif',
310
+ 'lha' => 'application/x-lha',
311
+ 'lhs' => 'text/x-literate-haskell',
312
+ 'lhz' => 'application/x-lhz',
313
+ 'log' => 'text/x-log',
314
+ 'lrz' => 'application/x-lrzip',
315
+ 'ltx' => 'text/x-tex',
316
+ 'lua' => 'text/x-lua',
317
+ 'lwo' => 'image/x-lwo',
318
+ 'lwob' => 'image/x-lwo',
319
+ 'lwp' => 'application/vnd.lotus-wordpro',
320
+ 'lws' => 'image/x-lws',
321
+ 'ly' => 'text/x-lilypond',
322
+ 'lyx' => 'application/x-lyx',
323
+ 'lz' => 'application/x-lzip',
324
+ 'lzh' => 'application/x-lha',
325
+ 'lzma' => 'application/x-lzma',
326
+ 'lzo' => 'application/x-lzop',
327
+ 'm' => 'text/x-objcsrc',
328
+ 'm15' => 'audio/x-mod',
329
+ 'm1u' => 'video/vnd.mpegurl',
330
+ 'm2t' => 'video/mp2t',
331
+ 'm2ts' => 'video/mp2t',
332
+ 'm3u' => 'audio/x-mpegurl',
333
+ 'm3u8' => 'audio/x-mpegurl',
334
+ 'm4' => 'application/x-m4',
335
+ 'm4a' => 'audio/mp4',
336
+ 'm4b' => 'audio/x-m4b',
337
+ 'm4u' => 'video/vnd.mpegurl',
338
+ 'm4v' => 'video/mp4',
339
+ 'mab' => 'application/x-markaby',
340
+ 'mak' => 'text/x-makefile',
341
+ 'man' => 'application/x-troff-man',
342
+ 'manifest' => 'text/cache-manifest',
343
+ 'markdown' => 'text/x-markdown',
344
+ 'mbox' => 'application/mbox',
345
+ 'md' => 'text/x-markdown',
346
+ 'mdb' => 'application/vnd.ms-access',
347
+ 'mdi' => 'image/vnd.ms-modi',
348
+ 'me' => 'text/x-troff-me',
349
+ 'med' => 'audio/x-mod',
350
+ 'meta4' => 'application/metalink4+xml',
351
+ 'metalink' => 'application/metalink+xml',
352
+ 'mgp' => 'application/x-magicpoint',
353
+ 'mht' => 'application/x-mimearchive',
354
+ 'mhtml' => 'application/x-mimearchive',
355
+ 'mid' => 'audio/midi',
356
+ 'midi' => 'audio/midi',
357
+ 'mif' => 'application/x-mif',
358
+ 'minipsf' => 'audio/x-minipsf',
359
+ 'mk' => 'text/x-makefile',
360
+ 'mka' => 'audio/x-matroska',
361
+ 'mkd' => 'text/x-markdown',
362
+ 'mkv' => 'video/x-matroska',
363
+ 'ml' => 'text/x-ocaml',
364
+ 'mli' => 'text/x-ocaml',
365
+ 'mm' => 'text/x-troff-mm',
366
+ 'mmf' => 'application/x-smaf',
367
+ 'mml' => 'application/mathml+xml',
368
+ 'mng' => 'video/x-mng',
369
+ 'mo' => 'application/x-gettext-translation',
370
+ 'mo3' => 'audio/x-mo3',
371
+ 'mobi' => 'application/x-mobipocket-ebook',
372
+ 'moc' => 'text/x-moc',
373
+ 'mod' => 'audio/x-mod',
374
+ 'mof' => 'text/x-mof',
375
+ 'moov' => 'video/quicktime',
376
+ 'mov' => 'video/quicktime',
377
+ 'movie' => 'video/x-sgi-movie',
378
+ 'mp+' => 'audio/x-musepack',
379
+ 'mp2' => 'audio/mp2',
380
+ 'mp3' => 'audio/mpeg',
381
+ 'mp4' => 'video/mp4',
382
+ 'mpc' => 'audio/x-musepack',
383
+ 'mpe' => 'video/mpeg',
384
+ 'mpeg' => 'video/mpeg',
385
+ 'mpg' => 'video/mpeg',
386
+ 'mpga' => 'audio/mpeg',
387
+ 'mpl' => 'video/mp2t',
388
+ 'mpls' => 'video/mp2t',
389
+ 'mpp' => 'audio/x-musepack',
390
+ 'mrl' => 'text/x-mrml',
391
+ 'mrml' => 'text/x-mrml',
392
+ 'mrw' => 'image/x-minolta-mrw',
393
+ 'ms' => 'text/x-troff-ms',
394
+ 'msi' => 'application/x-msi',
395
+ 'msod' => 'image/x-msod',
396
+ 'msx' => 'application/x-msx-rom',
397
+ 'mtm' => 'audio/x-mod',
398
+ 'mts' => 'video/mp2t',
399
+ 'mup' => 'text/x-mup',
400
+ 'mxf' => 'application/mxf',
401
+ 'mxu' => 'video/vnd.mpegurl',
402
+ 'n64' => 'application/x-n64-rom',
403
+ 'nb' => 'application/mathematica',
404
+ 'nc' => 'application/x-netcdf',
405
+ 'nds' => 'application/x-nintendo-ds-rom',
406
+ 'nef' => 'image/x-nikon-nef',
407
+ 'nes' => 'application/x-nes-rom',
408
+ 'nfo' => 'text/x-nfo',
409
+ 'not' => 'text/x-mup',
410
+ 'nsc' => 'application/x-netshow-channel',
411
+ 'nsv' => 'video/x-nsv',
412
+ 'nzb' => 'application/x-nzb',
413
+ 'o' => 'application/x-object',
414
+ 'obj' => 'application/x-tgif',
415
+ 'ocl' => 'text/x-ocl',
416
+ 'oda' => 'application/oda',
417
+ 'odb' => 'application/vnd.oasis.opendocument.database',
418
+ 'odc' => 'application/vnd.oasis.opendocument.chart',
419
+ 'odf' => 'application/vnd.oasis.opendocument.formula',
420
+ 'odg' => 'application/vnd.oasis.opendocument.graphics',
421
+ 'odi' => 'application/vnd.oasis.opendocument.image',
422
+ 'odm' => 'application/vnd.oasis.opendocument.text-master',
423
+ 'odp' => 'application/vnd.oasis.opendocument.presentation',
424
+ 'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
425
+ 'odt' => 'application/vnd.oasis.opendocument.text',
426
+ 'oga' => 'audio/ogg',
427
+ 'ogg' => 'audio/ogg',
428
+ 'ogm' => 'video/x-ogm+ogg',
429
+ 'ogv' => 'video/ogg',
430
+ 'ogx' => 'application/ogg',
431
+ 'old' => 'application/x-trash',
432
+ 'oleo' => 'application/x-oleo',
433
+ 'ooc' => 'text/x-ooc',
434
+ 'opml' => 'text/x-opml+xml',
435
+ 'oprc' => 'application/vnd.palm',
436
+ 'ora' => 'image/openraster',
437
+ 'orf' => 'image/x-olympus-orf',
438
+ 'otc' => 'application/vnd.oasis.opendocument.chart-template',
439
+ 'otf' => 'application/vnd.oasis.opendocument.formula-template',
440
+ 'otg' => 'application/vnd.oasis.opendocument.graphics-template',
441
+ 'oth' => 'application/vnd.oasis.opendocument.text-web',
442
+ 'otp' => 'application/vnd.oasis.opendocument.presentation-template',
443
+ 'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template',
444
+ 'ott' => 'application/vnd.oasis.opendocument.text-template',
445
+ 'owl' => 'application/rdf+xml',
446
+ 'oxps' => 'application/oxps',
447
+ 'oxt' => 'application/vnd.openofficeorg.extension',
448
+ 'p' => 'text/x-pascal',
449
+ 'p10' => 'application/pkcs10',
450
+ 'p12' => 'application/x-pkcs12',
451
+ 'p7b' => 'application/x-pkcs7-certificates',
452
+ 'p7c' => 'application/pkcs7-mime',
453
+ 'p7m' => 'application/pkcs7-mime',
454
+ 'p7s' => 'application/pkcs7-signature',
455
+ 'p8' => 'application/pkcs8',
456
+ 'pack' => 'application/x-java-pack200',
457
+ 'pak' => 'application/x-pak',
458
+ 'par2' => 'application/x-par2',
459
+ 'pas' => 'text/x-pascal',
460
+ 'patch' => 'text/x-patch',
461
+ 'pbm' => 'image/x-portable-bitmap',
462
+ 'pcap' => 'application/vnd.tcpdump.pcap',
463
+ 'pcd' => 'image/x-photo-cd',
464
+ 'pcf' => 'application/x-font-pcf',
465
+ 'pcf.gz' => 'application/x-font-pcf',
466
+ 'pcf.z' => 'application/x-font-pcf',
467
+ 'pcl' => 'application/vnd.hp-pcl',
468
+ 'pct' => 'image/x-pict',
469
+ 'pcx' => 'image/x-pcx',
470
+ 'pdb' => 'application/x-aportisdoc',
471
+ 'pdc' => 'application/x-aportisdoc',
472
+ 'pdf' => 'application/pdf',
473
+ 'pdf.bz2' => 'application/x-bzpdf',
474
+ 'pdf.gz' => 'application/x-gzpdf',
475
+ 'pdf.xz' => 'application/x-xzpdf',
476
+ 'pef' => 'image/x-pentax-pef',
477
+ 'pem' => 'application/x-x509-ca-cert',
478
+ 'perl' => 'application/x-perl',
479
+ 'pfa' => 'application/x-font-type1',
480
+ 'pfb' => 'application/x-font-type1',
481
+ 'pfx' => 'application/x-pkcs12',
482
+ 'pgm' => 'image/x-portable-graymap',
483
+ 'pgn' => 'application/x-chess-pgn',
484
+ 'pgp' => 'application/pgp-encrypted',
485
+ 'php' => 'application/x-php',
486
+ 'php3' => 'application/x-php',
487
+ 'php4' => 'application/x-php',
488
+ 'php5' => 'application/x-php',
489
+ 'phps' => 'application/x-php',
490
+ 'pict' => 'image/x-pict',
491
+ 'pict1' => 'image/x-pict',
492
+ 'pict2' => 'image/x-pict',
493
+ 'pk' => 'application/x-tex-pk',
494
+ 'pkipath' => 'application/pkix-pkipath',
495
+ 'pkr' => 'application/pgp-keys',
496
+ 'pl' => 'application/x-perl',
497
+ 'pla' => 'audio/x-iriver-pla',
498
+ 'pln' => 'application/x-planperfect',
499
+ 'pls' => 'audio/x-scpls',
500
+ 'pm' => 'application/x-perl',
501
+ 'png' => 'image/png',
502
+ 'pnm' => 'image/x-portable-anymap',
503
+ 'pntg' => 'image/x-macpaint',
504
+ 'po' => 'text/x-gettext-translation',
505
+ 'por' => 'application/x-spss-por',
506
+ 'pot' => 'application/vnd.ms-powerpoint',
507
+ 'potm' => 'application/vnd.ms-powerpoint.template.macroEnabled.12',
508
+ 'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template',
509
+ 'ppam' => 'application/vnd.ms-powerpoint.addin.macroEnabled.12',
510
+ 'ppm' => 'image/x-portable-pixmap',
511
+ 'pps' => 'application/vnd.ms-powerpoint',
512
+ 'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12',
513
+ 'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',
514
+ 'ppt' => 'application/vnd.ms-powerpoint',
515
+ 'pptm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',
516
+ 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
517
+ 'ppz' => 'application/vnd.ms-powerpoint',
518
+ 'pqa' => 'application/vnd.palm',
519
+ 'prc' => 'application/x-mobipocket-ebook',
520
+ 'ps' => 'application/postscript',
521
+ 'ps.bz2' => 'application/x-bzpostscript',
522
+ 'ps.gz' => 'application/x-gzpostscript',
523
+ 'psd' => 'image/vnd.adobe.photoshop',
524
+ 'psf' => 'application/x-font-linux-psf',
525
+ 'psf.gz' => 'application/x-gz-font-linux-psf',
526
+ 'psflib' => 'audio/x-psflib',
527
+ 'psid' => 'audio/prs.sid',
528
+ 'psw' => 'application/x-pocket-word',
529
+ 'pw' => 'application/x-pw',
530
+ 'py' => 'text/x-python',
531
+ 'pyc' => 'application/x-python-bytecode',
532
+ 'pyo' => 'application/x-python-bytecode',
533
+ 'qif' => 'application/x-qw',
534
+ 'qml' => 'text/x-qml',
535
+ 'qt' => 'video/quicktime',
536
+ 'qti' => 'application/x-qtiplot',
537
+ 'qti.gz' => 'application/x-qtiplot',
538
+ 'qtif' => 'image/x-quicktime',
539
+ 'qtl' => 'application/x-quicktime-media-link',
540
+ 'qtvr' => 'video/quicktime',
541
+ 'ra' => 'audio/vnd.rn-realaudio',
542
+ 'raf' => 'image/x-fuji-raf',
543
+ 'ram' => 'application/ram',
544
+ 'rar' => 'application/x-rar',
545
+ 'ras' => 'image/x-cmu-raster',
546
+ 'raw' => 'image/x-panasonic-raw',
547
+ 'rax' => 'audio/vnd.rn-realaudio',
548
+ 'rb' => 'application/x-ruby',
549
+ 'rdf' => 'application/rdf+xml',
550
+ 'rdfs' => 'application/rdf+xml',
551
+ 'reg' => 'text/x-ms-regedit',
552
+ 'rej' => 'text/x-reject',
553
+ 'rgb' => 'image/x-rgb',
554
+ 'rle' => 'image/rle',
555
+ 'rm' => 'application/vnd.rn-realmedia',
556
+ 'rmj' => 'application/vnd.rn-realmedia',
557
+ 'rmm' => 'application/vnd.rn-realmedia',
558
+ 'rms' => 'application/vnd.rn-realmedia',
559
+ 'rmvb' => 'application/vnd.rn-realmedia',
560
+ 'rmx' => 'application/vnd.rn-realmedia',
561
+ 'rnc' => 'application/relax-ng-compact-syntax',
562
+ 'rng' => 'application/xml',
563
+ 'roff' => 'text/troff',
564
+ 'rp' => 'image/vnd.rn-realpix',
565
+ 'rpm' => 'application/x-rpm',
566
+ 'rss' => 'application/rss+xml',
567
+ 'rt' => 'text/vnd.rn-realtext',
568
+ 'rtf' => 'application/rtf',
569
+ 'rtx' => 'text/richtext',
570
+ 'rv' => 'video/vnd.rn-realvideo',
571
+ 'rvx' => 'video/vnd.rn-realvideo',
572
+ 'rw2' => 'image/x-panasonic-raw2',
573
+ 's3m' => 'audio/x-s3m',
574
+ 'sam' => 'application/x-amipro',
575
+ 'sami' => 'application/x-sami',
576
+ 'sav' => 'application/x-spss-sav',
577
+ 'scala' => 'text/x-scala',
578
+ 'scm' => 'text/x-scheme',
579
+ 'sda' => 'application/vnd.stardivision.draw',
580
+ 'sdc' => 'application/vnd.stardivision.calc',
581
+ 'sdd' => 'application/vnd.stardivision.impress',
582
+ 'sdp' => 'application/vnd.stardivision.impress',
583
+ 'sds' => 'application/vnd.stardivision.chart',
584
+ 'sdw' => 'application/vnd.stardivision.writer',
585
+ 'sgf' => 'application/x-go-sgf',
586
+ 'sgi' => 'image/x-sgi',
587
+ 'sgl' => 'application/vnd.stardivision.writer',
588
+ 'sgm' => 'text/sgml',
589
+ 'sgml' => 'text/sgml',
590
+ 'sh' => 'application/x-shellscript',
591
+ 'shape' => 'application/x-dia-shape',
592
+ 'shar' => 'application/x-shar',
593
+ 'shn' => 'application/x-shorten',
594
+ 'siag' => 'application/x-siag',
595
+ 'sid' => 'audio/prs.sid',
596
+ 'sik' => 'application/x-trash',
597
+ 'sis' => 'application/vnd.symbian.install',
598
+ 'sisx' => 'x-epoc/x-sisx-app',
599
+ 'sit' => 'application/x-stuffit',
600
+ 'siv' => 'application/sieve',
601
+ 'sk' => 'image/x-skencil',
602
+ 'sk1' => 'image/x-skencil',
603
+ 'skr' => 'application/pgp-keys',
604
+ 'sldm' => 'application/vnd.ms-powerpoint.slide.macroEnabled.12',
605
+ 'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide',
606
+ 'slk' => 'text/spreadsheet',
607
+ 'smaf' => 'application/x-smaf',
608
+ 'smc' => 'application/x-snes-rom',
609
+ 'smd' => 'application/vnd.stardivision.mail',
610
+ 'smf' => 'application/vnd.stardivision.math',
611
+ 'smi' => 'application/smil',
612
+ 'smil' => 'application/smil',
613
+ 'sml' => 'application/smil',
614
+ 'sms' => 'application/x-sms-rom',
615
+ 'snd' => 'audio/basic',
616
+ 'so' => 'application/x-sharedlib',
617
+ 'spc' => 'application/x-pkcs7-certificates',
618
+ 'spd' => 'application/x-font-speedo',
619
+ 'spec' => 'text/x-rpm-spec',
620
+ 'spl' => 'application/x-shockwave-flash',
621
+ 'spm' => 'application/x-source-rpm',
622
+ 'spx' => 'audio/x-speex',
623
+ 'sql' => 'text/x-sql',
624
+ 'sr2' => 'image/x-sony-sr2',
625
+ 'src' => 'application/x-wais-source',
626
+ 'src.rpm' => 'application/x-source-rpm',
627
+ 'srf' => 'image/x-sony-srf',
628
+ 'srt' => 'application/x-subrip',
629
+ 'ss' => 'text/x-scheme',
630
+ 'ssa' => 'text/x-ssa',
631
+ 'stc' => 'application/vnd.sun.xml.calc.template',
632
+ 'std' => 'application/vnd.sun.xml.draw.template',
633
+ 'sti' => 'application/vnd.sun.xml.impress.template',
634
+ 'stm' => 'audio/x-stm',
635
+ 'stw' => 'application/vnd.sun.xml.writer.template',
636
+ 'sty' => 'text/x-tex',
637
+ 'sub' => 'text/x-microdvd',
638
+ 'sun' => 'image/x-sun-raster',
639
+ 'sv' => 'text/x-svsrc',
640
+ 'sv4cpio' => 'application/x-sv4cpio',
641
+ 'sv4crc' => 'application/x-sv4crc',
642
+ 'svg' => 'image/svg+xml',
643
+ 'svgz' => 'image/svg+xml-compressed',
644
+ 'svh' => 'text/x-svhdr',
645
+ 'swf' => 'application/x-shockwave-flash',
646
+ 'swm' => 'application/x-ms-wim',
647
+ 'sxc' => 'application/vnd.sun.xml.calc',
648
+ 'sxd' => 'application/vnd.sun.xml.draw',
649
+ 'sxg' => 'application/vnd.sun.xml.writer.global',
650
+ 'sxi' => 'application/vnd.sun.xml.impress',
651
+ 'sxm' => 'application/vnd.sun.xml.math',
652
+ 'sxw' => 'application/vnd.sun.xml.writer',
653
+ 'sylk' => 'text/spreadsheet',
654
+ 't' => 'text/troff',
655
+ 't2t' => 'text/x-txt2tags',
656
+ 'tar' => 'application/x-tar',
657
+ 'tar.bz' => 'application/x-bzip-compressed-tar',
658
+ 'tar.bz2' => 'application/x-bzip-compressed-tar',
659
+ 'tar.gz' => 'application/x-compressed-tar',
660
+ 'tar.lrz' => 'application/x-lrzip-compressed-tar',
661
+ 'tar.lzma' => 'application/x-lzma-compressed-tar',
662
+ 'tar.lzo' => 'application/x-tzo',
663
+ 'tar.xz' => 'application/x-xz-compressed-tar',
664
+ 'tar.z' => 'application/x-tarz',
665
+ 'taz' => 'application/x-tarz',
666
+ 'tb2' => 'application/x-bzip-compressed-tar',
667
+ 'tbz' => 'application/x-bzip-compressed-tar',
668
+ 'tbz2' => 'application/x-bzip-compressed-tar',
669
+ 'tcl' => 'text/x-tcl',
670
+ 'tex' => 'text/x-tex',
671
+ 'texi' => 'text/x-texinfo',
672
+ 'texinfo' => 'text/x-texinfo',
673
+ 'tga' => 'image/x-tga',
674
+ 'tgz' => 'application/x-compressed-tar',
675
+ 'theme' => 'application/x-theme',
676
+ 'themepack' => 'application/x-windows-themepack',
677
+ 'tif' => 'image/tiff',
678
+ 'tiff' => 'image/tiff',
679
+ 'tk' => 'text/x-tcl',
680
+ 'tlrz' => 'application/x-lrzip-compressed-tar',
681
+ 'tlz' => 'application/x-lzma-compressed-tar',
682
+ 'tnef' => 'application/vnd.ms-tnef',
683
+ 'tnf' => 'application/vnd.ms-tnef',
684
+ 'toc' => 'application/x-cdrdao-toc',
685
+ 'torrent' => 'application/x-bittorrent',
686
+ 'tpic' => 'image/x-tga',
687
+ 'tr' => 'text/troff',
688
+ 'trig' => 'application/x-trig',
689
+ 'ts' => 'text/vnd.trolltech.linguist',
690
+ 'tsv' => 'text/tab-separated-values',
691
+ 'tta' => 'audio/x-tta',
692
+ 'ttc' => 'application/x-font-ttf',
693
+ 'ttf' => 'application/x-font-ttf',
694
+ 'ttx' => 'application/x-font-ttx',
695
+ 'txt' => 'text/plain',
696
+ 'txz' => 'application/x-xz-compressed-tar',
697
+ 'tzo' => 'application/x-tzo',
698
+ 'ufraw' => 'application/x-ufraw',
699
+ 'ui' => 'application/x-designer',
700
+ 'uil' => 'text/x-uil',
701
+ 'ult' => 'audio/x-mod',
702
+ 'uni' => 'audio/x-mod',
703
+ 'url' => 'application/x-mswinurl',
704
+ 'ustar' => 'application/x-ustar',
705
+ 'uue' => 'text/x-uuencode',
706
+ 'v' => 'text/x-verilog',
707
+ 'vala' => 'text/x-vala',
708
+ 'vapi' => 'text/x-vala',
709
+ 'vcard' => 'text/vcard',
710
+ 'vcf' => 'text/vcard',
711
+ 'vcs' => 'text/calendar',
712
+ 'vct' => 'text/vcard',
713
+ 'vda' => 'image/x-tga',
714
+ 'vhd' => 'text/x-vhdl',
715
+ 'vhdl' => 'text/x-vhdl',
716
+ 'viv' => 'video/vivo',
717
+ 'vivo' => 'video/vivo',
718
+ 'vlc' => 'audio/x-mpegurl',
719
+ 'vob' => 'video/mpeg',
720
+ 'voc' => 'audio/x-voc',
721
+ 'vor' => 'application/vnd.stardivision.writer',
722
+ 'vrm' => 'model/vrml',
723
+ 'vrml' => 'model/vrml',
724
+ 'vsd' => 'application/vnd.visio',
725
+ 'vss' => 'application/vnd.visio',
726
+ 'vst' => 'application/vnd.visio',
727
+ 'vsw' => 'application/vnd.visio',
728
+ 'vtt' => 'text/vtt',
729
+ 'wav' => 'audio/x-wav',
730
+ 'wax' => 'audio/x-ms-asx',
731
+ 'wb1' => 'application/x-quattropro',
732
+ 'wb2' => 'application/x-quattropro',
733
+ 'wb3' => 'application/x-quattropro',
734
+ 'wbmp' => 'image/vnd.wap.wbmp',
735
+ 'wcm' => 'application/vnd.ms-works',
736
+ 'wdb' => 'application/vnd.ms-works',
737
+ 'webm' => 'video/webm',
738
+ 'wim' => 'application/x-ms-wim',
739
+ 'wk1' => 'application/vnd.lotus-1-2-3',
740
+ 'wk3' => 'application/vnd.lotus-1-2-3',
741
+ 'wk4' => 'application/vnd.lotus-1-2-3',
742
+ 'wks' => 'application/vnd.lotus-1-2-3',
743
+ 'wma' => 'audio/x-ms-wma',
744
+ 'wmf' => 'image/x-wmf',
745
+ 'wml' => 'text/vnd.wap.wml',
746
+ 'wmls' => 'text/vnd.wap.wmlscript',
747
+ 'wmv' => 'video/x-ms-wmv',
748
+ 'wmx' => 'audio/x-ms-asx',
749
+ 'woff' => 'application/font-woff',
750
+ 'wp' => 'application/vnd.wordperfect',
751
+ 'wp4' => 'application/vnd.wordperfect',
752
+ 'wp5' => 'application/vnd.wordperfect',
753
+ 'wp6' => 'application/vnd.wordperfect',
754
+ 'wpd' => 'application/vnd.wordperfect',
755
+ 'wpg' => 'application/x-wpg',
756
+ 'wpl' => 'application/vnd.ms-wpl',
757
+ 'wpp' => 'application/vnd.wordperfect',
758
+ 'wps' => 'application/vnd.ms-works',
759
+ 'wri' => 'application/x-mswrite',
760
+ 'wrl' => 'model/vrml',
761
+ 'wsgi' => 'text/x-python',
762
+ 'wv' => 'audio/x-wavpack',
763
+ 'wvc' => 'audio/x-wavpack-correction',
764
+ 'wvp' => 'audio/x-wavpack',
765
+ 'wvx' => 'audio/x-ms-asx',
766
+ 'wwf' => 'application/x-wwf',
767
+ 'x3f' => 'image/x-sigma-x3f',
768
+ 'xac' => 'application/x-gnucash',
769
+ 'xbel' => 'application/x-xbel',
770
+ 'xbl' => 'application/xml',
771
+ 'xbm' => 'image/x-xbitmap',
772
+ 'xcf' => 'image/x-xcf',
773
+ 'xcf.bz2' => 'image/x-compressed-xcf',
774
+ 'xcf.gz' => 'image/x-compressed-xcf',
775
+ 'xhtml' => 'application/xhtml+xml',
776
+ 'xi' => 'audio/x-xi',
777
+ 'xla' => 'application/vnd.ms-excel',
778
+ 'xlam' => 'application/vnd.ms-excel.addin.macroEnabled.12',
779
+ 'xlc' => 'application/vnd.ms-excel',
780
+ 'xld' => 'application/vnd.ms-excel',
781
+ 'xlf' => 'application/x-xliff',
782
+ 'xliff' => 'application/x-xliff',
783
+ 'xll' => 'application/vnd.ms-excel',
784
+ 'xlm' => 'application/vnd.ms-excel',
785
+ 'xlr' => 'application/vnd.ms-works',
786
+ 'xls' => 'application/vnd.ms-excel',
787
+ 'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroEnabled.12',
788
+ 'xlsm' => 'application/vnd.ms-excel.sheet.macroEnabled.12',
789
+ 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
790
+ 'xlt' => 'application/vnd.ms-excel',
791
+ 'xltm' => 'application/vnd.ms-excel.template.macroEnabled.12',
792
+ 'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',
793
+ 'xlw' => 'application/vnd.ms-excel',
794
+ 'xm' => 'audio/x-xm',
795
+ 'xmf' => 'audio/x-xmf',
796
+ 'xmi' => 'text/x-xmi',
797
+ 'xml' => 'application/xml',
798
+ 'xpi' => 'application/x-xpinstall',
799
+ 'xpm' => 'image/x-xpixmap',
800
+ 'xps' => 'application/oxps',
801
+ 'xsd' => 'application/xml',
802
+ 'xsl' => 'application/xslt+xml',
803
+ 'xslfo' => 'text/x-xslfo',
804
+ 'xslt' => 'application/xslt+xml',
805
+ 'xspf' => 'application/xspf+xml',
806
+ 'xul' => 'application/vnd.mozilla.xul+xml',
807
+ 'xwd' => 'image/x-xwindowdump',
808
+ 'xz' => 'application/x-xz',
809
+ 'yaml' => 'application/x-yaml',
810
+ 'yml' => 'application/x-yaml',
811
+ 'z' => 'application/x-compress',
812
+ 'zabw' => 'application/x-abiword',
813
+ 'zip' => 'application/zip',
814
+ 'zoo' => 'application/x-zoo',
815
+ }
816
+ # @private
817
+ # :nodoc:
818
+ TYPES = {
819
+ 'application/andrew-inset' => [%w(ez), %w(), 'ATK inset'],
820
+ 'application/annodex' => [%w(anx), %w(), 'Annodex exchange format'],
821
+ 'application/atom+xml' => [%w(atom), %w(application/xml), 'Atom syndication feed'],
822
+ 'application/dicom' => [%w(dcm), %w(), 'DICOM image'],
823
+ 'application/ecmascript' => [%w(es), %w(text/plain), 'ECMAScript program'],
824
+ 'application/epub+zip' => [%w(epub), %w(application/zip), 'electronic book document'],
825
+ 'application/font-woff' => [%w(woff), %w(), 'WOFF font'],
826
+ 'application/gml+xml' => [%w(gml), %w(application/xml), 'GML document'],
827
+ 'application/gnunet-directory' => [%w(gnd), %w(), 'GNUnet search file'],
828
+ 'application/gzip' => [%w(gz), %w(), 'Gzip archive'],
829
+ 'application/illustrator' => [%w(ai), %w(), 'Adobe Illustrator document'],
830
+ 'application/javascript' => [%w(js), %w(text/x-csrc), 'JavaScript program'],
831
+ 'application/mathematica' => [%w(nb), %w(text/plain), 'Mathematica Notebook'],
832
+ 'application/mathml+xml' => [%w(mml), %w(application/xml), 'MathML document'],
833
+ 'application/mbox' => [%w(mbox), %w(text/plain), 'mailbox file'],
834
+ 'application/metalink+xml' => [%w(metalink), %w(application/xml), 'Metalink file'],
835
+ 'application/metalink4+xml' => [%w(meta4), %w(application/xml), 'Metalink file'],
836
+ 'application/msword' => [%w(doc), %w(application/x-ole-storage), 'Word document'],
837
+ 'application/msword-template' => [%w(dot), %w(application/msword), 'Word template'],
838
+ 'application/mxf' => [%w(mxf), %w(), 'MXF video'],
839
+ 'application/octet-stream' => [%w(bin), %w(), 'unknown'],
840
+ 'application/oda' => [%w(oda), %w(), 'ODA document'],
841
+ 'application/ogg' => [%w(ogx), %w(), 'Ogg multimedia file'],
842
+ 'application/oxps' => [%w(oxps xps), %w(application/zip), 'XPS document'],
843
+ 'application/pdf' => [%w(pdf), %w(), 'PDF document'],
844
+ 'application/pgp-encrypted' => [%w(asc gpg pgp), %w(), 'PGP/MIME-encrypted message header'],
845
+ 'application/pgp-keys' => [%w(asc pkr skr), %w(text/plain), 'PGP keys'],
846
+ 'application/pkcs10' => [%w(p10), %w(), 'PKCS#10 certification request'],
847
+ 'application/pkcs7-mime' => [%w(p7c p7m), %w(), 'PKCS#7 Message or Certificate'],
848
+ 'application/pkcs7-signature' => [%w(p7s), %w(text/plain), 'detached S/MIME signature'],
849
+ 'application/pkcs8' => [%w(p8), %w(), 'PKCS#8 private key'],
850
+ 'application/pkix-cert' => [%w(cer), %w(), 'X.509 certificate'],
851
+ 'application/pkix-crl' => [%w(crl), %w(), 'Certificate revocation list'],
852
+ 'application/pkix-pkipath' => [%w(pkipath), %w(), 'PkiPath certification path'],
853
+ 'application/postscript' => [%w(ps), %w(text/plain), 'PS document'],
854
+ 'application/ram' => [%w(ram), %w(), 'RealMedia Metafile'],
855
+ 'application/rdf+xml' => [%w(owl rdf rdfs), %w(application/xml), 'RDF file'],
856
+ 'application/relax-ng-compact-syntax' => [%w(rnc), %w(text/plain), 'RELAX NG XML schema'],
857
+ 'application/rss+xml' => [%w(rss), %w(application/xml), 'RSS summary'],
858
+ 'application/rtf' => [%w(rtf), %w(text/plain), 'RTF document'],
859
+ 'application/sdp' => [%w(sdp), %w(), 'SDP multicast stream file'],
860
+ 'application/sieve' => [%w(siv), %w(application/xml), 'Sieve mail filter script'],
861
+ 'application/smil' => [%w(kino smi smil sml), %w(application/xml), 'SMIL document'],
862
+ 'application/vnd.android.package-archive' => [%w(apk), %w(application/x-java-archive), 'Android package'],
863
+ 'application/vnd.apple.mpegurl' => [%w(m3u m3u8), %w(), 'HTTP Live Streaming playlist'],
864
+ 'application/vnd.corel-draw' => [%w(cdr), %w(), 'Corel Draw drawing'],
865
+ 'application/vnd.emusic-emusic_package' => [%w(emp), %w(), 'eMusic download package'],
866
+ 'application/vnd.google-earth.kml+xml' => [%w(kml), %w(application/xml), 'KML geographic data'],
867
+ 'application/vnd.google-earth.kmz' => [%w(kmz), %w(application/zip), 'KML geographic compressed data'],
868
+ 'application/vnd.hp-hpgl' => [%w(hpgl), %w(), 'HPGL file'],
869
+ 'application/vnd.hp-pcl' => [%w(pcl), %w(), 'PCL file'],
870
+ 'application/vnd.iccprofile' => [%w(icc icm), %w(), 'ICC profile'],
871
+ 'application/vnd.lotus-1-2-3' => [%w(123 wk1 wk3 wk4 wks), %w(), 'Lotus 1-2-3 spreadsheet'],
872
+ 'application/vnd.lotus-wordpro' => [%w(lwp), %w(), 'Lotus Word Pro'],
873
+ 'application/vnd.mozilla.xul+xml' => [%w(xul), %w(application/xml), 'XUL interface document'],
874
+ 'application/vnd.ms-access' => [%w(mdb), %w(), 'JET database'],
875
+ 'application/vnd.ms-cab-compressed' => [%w(cab), %w(), 'Microsoft Cabinet archive'],
876
+ 'application/vnd.ms-excel' => [%w(xla xlc xld xll xlm xls xlt xlw), %w(), 'Excel spreadsheet'],
877
+ 'application/vnd.ms-excel.addin.macroEnabled.12' => [%w(xlam), %w(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet), 'Excel add-in'],
878
+ 'application/vnd.ms-excel.sheet.binary.macroEnabled.12' => [%w(xlsb), %w(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet), 'Excel 2007 binary spreadsheet'],
879
+ 'application/vnd.ms-excel.sheet.macroEnabled.12' => [%w(xlsm), %w(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet), 'Excel macro-enabled spreadsheet'],
880
+ 'application/vnd.ms-excel.template.macroEnabled.12' => [%w(xltm), %w(application/vnd.openxmlformats-officedocument.spreadsheetml.template), 'Excel macro-enabled spreadsheet template'],
881
+ 'application/vnd.ms-htmlhelp' => [%w(chm), %w(), 'CHM document'],
882
+ 'application/vnd.ms-powerpoint' => [%w(pot pps ppt ppz), %w(), 'PowerPoint presentation'],
883
+ 'application/vnd.ms-powerpoint.addin.macroEnabled.12' => [%w(ppam), %w(), 'PowerPoint add-in'],
884
+ 'application/vnd.ms-powerpoint.presentation.macroEnabled.12' => [%w(pptm), %w(application/vnd.openxmlformats-officedocument.presentationml.presentation), 'PowerPoint macro-enabled presentation'],
885
+ 'application/vnd.ms-powerpoint.slide.macroEnabled.12' => [%w(sldm), %w(application/vnd.openxmlformats-officedocument.presentationml.slide), 'PowerPoint macro-enabled slide'],
886
+ 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12' => [%w(ppsm), %w(application/vnd.openxmlformats-officedocument.presentationml.slideshow), 'PowerPoint macro-enabled presentation'],
887
+ 'application/vnd.ms-powerpoint.template.macroEnabled.12' => [%w(potm), %w(application/vnd.openxmlformats-officedocument.presentationml.template), 'PowerPoint macro-enabled presentation template'],
888
+ 'application/vnd.ms-tnef' => [%w(tnef tnf), %w(), 'TNEF message'],
889
+ 'application/vnd.ms-word.document.macroEnabled.12' => [%w(docm), %w(application/vnd.openxmlformats-officedocument.wordprocessingml.document), 'Word macro-enabled document'],
890
+ 'application/vnd.ms-word.template.macroEnabled.12' => [%w(dotm), %w(application/vnd.openxmlformats-officedocument.wordprocessingml.template), 'Word macro-enabled document template'],
891
+ 'application/vnd.ms-works' => [%w(wcm wdb wks wps xlr), %w(application/x-ole-storage), 'Microsoft Works document'],
892
+ 'application/vnd.ms-wpl' => [%w(wpl), %w(), 'WPL playlist'],
893
+ 'application/vnd.oasis.opendocument.chart' => [%w(odc), %w(application/zip), 'ODC chart'],
894
+ 'application/vnd.oasis.opendocument.chart-template' => [%w(otc), %w(application/zip), 'ODC template'],
895
+ 'application/vnd.oasis.opendocument.database' => [%w(odb), %w(application/zip), 'ODB database'],
896
+ 'application/vnd.oasis.opendocument.formula' => [%w(odf), %w(application/zip), 'ODF formula'],
897
+ 'application/vnd.oasis.opendocument.formula-template' => [%w(otf), %w(application/zip), 'ODF template'],
898
+ 'application/vnd.oasis.opendocument.graphics' => [%w(odg), %w(application/zip), 'ODG drawing'],
899
+ 'application/vnd.oasis.opendocument.graphics-flat-xml' => [%w(fodg), %w(application/xml), 'ODG drawing (Flat XML)'],
900
+ 'application/vnd.oasis.opendocument.graphics-template' => [%w(otg), %w(application/zip), 'ODG template'],
901
+ 'application/vnd.oasis.opendocument.image' => [%w(odi), %w(application/zip), 'ODI image'],
902
+ 'application/vnd.oasis.opendocument.presentation' => [%w(odp), %w(application/zip), 'ODP presentation'],
903
+ 'application/vnd.oasis.opendocument.presentation-flat-xml' => [%w(fodp), %w(application/xml), 'ODP presentation (Flat XML)'],
904
+ 'application/vnd.oasis.opendocument.presentation-template' => [%w(otp), %w(application/zip), 'ODP template'],
905
+ 'application/vnd.oasis.opendocument.spreadsheet' => [%w(ods), %w(application/zip), 'ODS spreadsheet'],
906
+ 'application/vnd.oasis.opendocument.spreadsheet-flat-xml' => [%w(fods), %w(application/xml), 'ODS spreadsheet (Flat XML)'],
907
+ 'application/vnd.oasis.opendocument.spreadsheet-template' => [%w(ots), %w(application/zip), 'ODS template'],
908
+ 'application/vnd.oasis.opendocument.text' => [%w(odt), %w(application/zip), 'ODT document'],
909
+ 'application/vnd.oasis.opendocument.text-flat-xml' => [%w(fodt), %w(application/xml), 'ODT document (Flat XML)'],
910
+ 'application/vnd.oasis.opendocument.text-master' => [%w(odm), %w(application/zip), 'ODM document'],
911
+ 'application/vnd.oasis.opendocument.text-template' => [%w(ott), %w(application/zip), 'ODT template'],
912
+ 'application/vnd.oasis.opendocument.text-web' => [%w(oth), %w(application/zip), 'OTH template'],
913
+ 'application/vnd.openofficeorg.extension' => [%w(oxt), %w(application/zip), 'OpenOffice.org extension'],
914
+ 'application/vnd.openxmlformats-officedocument.presentationml.presentation' => [%w(pptx), %w(application/zip), 'PowerPoint 2007 presentation'],
915
+ 'application/vnd.openxmlformats-officedocument.presentationml.slide' => [%w(sldx), %w(application/zip), 'PowerPoint 2007 slide'],
916
+ 'application/vnd.openxmlformats-officedocument.presentationml.slideshow' => [%w(ppsx), %w(application/zip), 'PowerPoint 2007 show'],
917
+ 'application/vnd.openxmlformats-officedocument.presentationml.template' => [%w(potx), %w(application/zip), 'PowerPoint 2007 presentation template'],
918
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => [%w(xlsx), %w(application/zip), 'Excel 2007 spreadsheet'],
919
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.template' => [%w(xltx), %w(application/zip), 'Excel 2007 spreadsheet template'],
920
+ 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => [%w(docx), %w(application/zip), 'Word 2007 document'],
921
+ 'application/vnd.openxmlformats-officedocument.wordprocessingml.template' => [%w(dotx), %w(application/zip), 'Word 2007 document template'],
922
+ 'application/vnd.palm' => [%w(oprc pdb pqa prc), %w(), 'Palm OS database'],
923
+ 'application/vnd.rn-realmedia' => [%w(rm rmj rmm rms rmvb rmx), %w(), 'RealMedia document'],
924
+ 'application/vnd.stardivision.calc' => [%w(sdc), %w(), 'StarCalc spreadsheet'],
925
+ 'application/vnd.stardivision.chart' => [%w(sds), %w(), 'StarChart chart'],
926
+ 'application/vnd.stardivision.draw' => [%w(sda), %w(), 'StarDraw drawing'],
927
+ 'application/vnd.stardivision.impress' => [%w(sdd sdp), %w(), 'StarImpress presentation'],
928
+ 'application/vnd.stardivision.mail' => [%w(smd), %w(), 'StarMail email'],
929
+ 'application/vnd.stardivision.math' => [%w(smf), %w(), 'StarMath formula'],
930
+ 'application/vnd.stardivision.writer' => [%w(sdw sgl vor), %w(), 'StarWriter document'],
931
+ 'application/vnd.sun.xml.calc' => [%w(sxc), %w(application/zip), 'OpenOffice Calc spreadsheet'],
932
+ 'application/vnd.sun.xml.calc.template' => [%w(stc), %w(application/zip), 'OpenOffice Calc template'],
933
+ 'application/vnd.sun.xml.draw' => [%w(sxd), %w(application/zip), 'OpenOffice Draw drawing'],
934
+ 'application/vnd.sun.xml.draw.template' => [%w(std), %w(application/zip), 'OpenOffice Draw template'],
935
+ 'application/vnd.sun.xml.impress' => [%w(sxi), %w(application/zip), 'OpenOffice Impress presentation'],
936
+ 'application/vnd.sun.xml.impress.template' => [%w(sti), %w(application/zip), 'OpenOffice Impress template'],
937
+ 'application/vnd.sun.xml.math' => [%w(sxm), %w(application/zip), 'OpenOffice Math formula'],
938
+ 'application/vnd.sun.xml.writer' => [%w(sxw), %w(application/zip), 'OpenOffice Writer document'],
939
+ 'application/vnd.sun.xml.writer.global' => [%w(sxg), %w(application/zip), 'OpenOffice Writer global document'],
940
+ 'application/vnd.sun.xml.writer.template' => [%w(stw), %w(application/zip), 'OpenOffice Writer template'],
941
+ 'application/vnd.symbian.install' => [%w(sis), %w(), 'SIS package'],
942
+ 'application/vnd.tcpdump.pcap' => [%w(cap dmp pcap), %w(), 'Network Packet Capture'],
943
+ 'application/vnd.visio' => [%w(vsd vss vst vsw), %w(application/x-ole-storage), 'Microsoft Visio document'],
944
+ 'application/vnd.wordperfect' => [%w(wp wp4 wp5 wp6 wpd wpp), %w(), 'WordPerfect document'],
945
+ 'application/winhlp' => [%w(hlp), %w(), 'WinHelp help file'],
946
+ 'application/x-7z-compressed' => [%w(7z), %w(), '7-zip archive'],
947
+ 'application/x-abiword' => [%w(abw abw.crashed abw.gz zabw), %w(application/xml), 'AbiWord document'],
948
+ 'application/x-ace' => [%w(ace), %w(), 'ACE archive'],
949
+ 'application/x-alz' => [%w(alz), %w(), 'Alzip archive'],
950
+ 'application/x-amipro' => [%w(sam), %w(), 'Lotus AmiPro document'],
951
+ 'application/x-aportisdoc' => [%w(pdb pdc), %w(application/x-palm-database), 'AportisDoc document'],
952
+ 'application/x-apple-diskimage' => [%w(dmg), %w(), 'Apple disk image'],
953
+ 'application/x-applix-spreadsheet' => [%w(as), %w(), 'Applix Spreadsheets spreadsheet'],
954
+ 'application/x-applix-word' => [%w(aw), %w(), 'Applix Words document'],
955
+ 'application/x-archive' => [%w(a ar), %w(), 'AR archive'],
956
+ 'application/x-arj' => [%w(arj), %w(), 'ARJ archive'],
957
+ 'application/x-asp' => [%w(asp), %w(text/plain), 'ASP page'],
958
+ 'application/x-awk' => [%w(awk), %w(application/x-executable text/plain), 'AWK script'],
959
+ 'application/x-bcpio' => [%w(bcpio), %w(), 'BCPIO document'],
960
+ 'application/x-bittorrent' => [%w(torrent), %w(), 'BitTorrent seed file'],
961
+ 'application/x-blender' => [%w(blend blend blender), %w(), 'Blender scene'],
962
+ 'application/x-bzdvi' => [%w(dvi.bz2), %w(application/x-bzip), 'TeX DVI document (bzip-compressed)'],
963
+ 'application/x-bzip' => [%w(bz bz2), %w(), 'Bzip archive'],
964
+ 'application/x-bzip-compressed-tar' => [%w(tar.bz tar.bz2 tb2 tbz tbz2), %w(application/x-bzip), 'Tar archive (bzip-compressed)'],
965
+ 'application/x-bzpdf' => [%w(pdf.bz2), %w(application/x-bzip), 'PDF document (bzip-compressed)'],
966
+ 'application/x-bzpostscript' => [%w(ps.bz2), %w(application/x-bzip), 'PostScript document (bzip-compressed)'],
967
+ 'application/x-cb7' => [%w(cb7), %w(application/x-7z-compressed), 'comic book archive'],
968
+ 'application/x-cbr' => [%w(cbr), %w(application/x-rar), 'comic book archive'],
969
+ 'application/x-cbt' => [%w(cbt), %w(application/x-tar), 'comic book archive'],
970
+ 'application/x-cbz' => [%w(cbz), %w(application/zip), 'comic book archive'],
971
+ 'application/x-ccmx' => [%w(ccmx), %w(text/plain), 'CCMX color correction file'],
972
+ 'application/x-cd-image' => [%w(iso iso9660), %w(), 'raw CD image'],
973
+ 'application/x-cdrdao-toc' => [%w(toc), %w(text/plain), 'CD Table Of Contents'],
974
+ 'application/x-chess-pgn' => [%w(pgn), %w(text/plain), 'PGN chess game notation'],
975
+ 'application/x-cisco-vpn-settings' => [%w(pcf), %w(), 'Cisco VPN Settings'],
976
+ 'application/x-compress' => [%w(z), %w(), 'UNIX-compressed file'],
977
+ 'application/x-compressed-tar' => [%w(tar.gz tgz), %w(application/gzip), 'Tar archive (gzip-compressed)'],
978
+ 'application/x-cpio' => [%w(cpio), %w(), 'CPIO archive'],
979
+ 'application/x-cpio-compressed' => [%w(cpio.gz), %w(application/gzip), 'CPIO archive (gzip-compressed)'],
980
+ 'application/x-csh' => [%w(csh), %w(application/x-shellscript text/plain), 'C shell script'],
981
+ 'application/x-cue' => [%w(cue), %w(text/plain), 'CD image cuesheet'],
982
+ 'application/x-dar' => [%w(dar), %w(), 'DAR archive'],
983
+ 'application/x-dbf' => [%w(dbf), %w(), 'Xbase document'],
984
+ 'application/x-dc-rom' => [%w(dc), %w(), 'Dreamcast ROM'],
985
+ 'application/x-deb' => [%w(deb), %w(), 'Debian package'],
986
+ 'application/x-designer' => [%w(ui), %w(application/xml), 'Qt Designer file'],
987
+ 'application/x-desktop' => [%w(desktop kdelnk), %w(text/plain), 'desktop configuration file'],
988
+ 'application/x-dia-diagram' => [%w(dia), %w(application/xml), 'Dia diagram'],
989
+ 'application/x-dia-shape' => [%w(shape), %w(application/xml), 'Dia shape'],
990
+ 'application/x-docbook+xml' => [%w(docbook), %w(application/xml), 'DocBook document'],
991
+ 'application/x-dvi' => [%w(dvi), %w(), 'TeX DVI document'],
992
+ 'application/x-e-theme' => [%w(etheme), %w(), 'Enlightenment theme'],
993
+ 'application/x-egon' => [%w(egon), %w(), 'Egon Animator animation'],
994
+ 'application/x-fictionbook+xml' => [%w(fb2), %w(application/xml), 'FictionBook document'],
995
+ 'application/x-fluid' => [%w(fl), %w(text/plain), 'FLTK Fluid file'],
996
+ 'application/x-font-afm' => [%w(afm), %w(), 'Adobe font metrics'],
997
+ 'application/x-font-bdf' => [%w(bdf), %w(), 'BDF font'],
998
+ 'application/x-font-linux-psf' => [%w(psf), %w(), 'Linux PSF console font'],
999
+ 'application/x-font-otf' => [%w(otf), %w(), 'OpenType font'],
1000
+ 'application/x-font-pcf' => [%w(pcf pcf.gz pcf.z), %w(), 'PCF font'],
1001
+ 'application/x-font-speedo' => [%w(spd), %w(), 'Speedo font'],
1002
+ 'application/x-font-ttf' => [%w(ttc ttf), %w(), 'TrueType font'],
1003
+ 'application/x-font-ttx' => [%w(ttx), %w(text/xml), 'TrueType XML font'],
1004
+ 'application/x-font-type1' => [%w(gsf pfa pfb), %w(application/postscript), 'Postscript type-1 font'],
1005
+ 'application/x-gameboy-rom' => [%w(gb), %w(), 'Game Boy ROM'],
1006
+ 'application/x-gba-rom' => [%w(gba), %w(), 'Game Boy Advance ROM'],
1007
+ 'application/x-gedcom' => [%w(ged gedcom), %w(), 'GEDCOM family history'],
1008
+ 'application/x-genesis-rom' => [%w(gen), %w(), 'Genesis ROM'],
1009
+ 'application/x-gettext-translation' => [%w(gmo mo), %w(), 'translated messages (machine-readable)'],
1010
+ 'application/x-glade' => [%w(glade), %w(application/xml), 'Glade project'],
1011
+ 'application/x-gnucash' => [%w(gnc gnucash xac), %w(), 'GnuCash financial data'],
1012
+ 'application/x-gnumeric' => [%w(gnumeric), %w(), 'Gnumeric spreadsheet'],
1013
+ 'application/x-gnuplot' => [%w(gnuplot gp gplt), %w(text/plain), 'Gnuplot document'],
1014
+ 'application/x-go-sgf' => [%w(sgf), %w(text/plain), 'SGF record'],
1015
+ 'application/x-graphite' => [%w(gra), %w(), 'Graphite scientific graph'],
1016
+ 'application/x-gtk-builder' => [%w(ui), %w(application/xml), 'GTK+ Builder'],
1017
+ 'application/x-gz-font-linux-psf' => [%w(psf.gz), %w(application/gzip), 'Linux PSF console font (gzip-compressed)'],
1018
+ 'application/x-gzdvi' => [%w(dvi.gz), %w(application/gzip), 'TeX DVI document (gzip-compressed)'],
1019
+ 'application/x-gzpdf' => [%w(pdf.gz), %w(application/gzip), 'PDF document (gzip-compressed)'],
1020
+ 'application/x-gzpostscript' => [%w(ps.gz), %w(application/gzip), 'PostScript document (gzip-compressed)'],
1021
+ 'application/x-hdf' => [%w(h4 h5 hdf hdf4 hdf5), %w(), 'HDF document'],
1022
+ 'application/x-hwp' => [%w(hwp), %w(), 'Haansoft Hangul document'],
1023
+ 'application/x-hwt' => [%w(hwt), %w(), 'Haansoft Hangul document template'],
1024
+ 'application/x-ica' => [%w(ica), %w(text/plain), 'Citrix ICA settings file'],
1025
+ 'application/x-it87' => [%w(it87), %w(text/plain), 'IT 8.7 color calibration file'],
1026
+ 'application/x-java' => [%w(class), %w(), 'Java class'],
1027
+ 'application/x-java-archive' => [%w(jar), %w(application/zip), 'Java archive'],
1028
+ 'application/x-java-jce-keystore' => [%w(jceks), %w(), 'Java JCE keystore'],
1029
+ 'application/x-java-jnlp-file' => [%w(jnlp), %w(application/xml), 'JNLP file'],
1030
+ 'application/x-java-keystore' => [%w(jks ks), %w(), 'Java keystore'],
1031
+ 'application/x-java-pack200' => [%w(pack), %w(), 'Pack200 Java archive'],
1032
+ 'application/x-jbuilder-project' => [%w(jpr jpx), %w(), 'JBuilder project'],
1033
+ 'application/x-karbon' => [%w(karbon), %w(), 'Karbon14 drawing'],
1034
+ 'application/x-kchart' => [%w(chrt), %w(), 'KChart chart'],
1035
+ 'application/x-kexi-connectiondata' => [%w(kexic), %w(), 'Kexi settings for database server connection'],
1036
+ 'application/x-kexiproject-shortcut' => [%w(kexis), %w(), 'shortcut to Kexi project on database server'],
1037
+ 'application/x-kexiproject-sqlite2' => [%w(kexi), %w(application/x-sqlite2), 'Kexi database file-based project'],
1038
+ 'application/x-kexiproject-sqlite3' => [%w(kexi), %w(application/x-sqlite3), 'Kexi database file-based project'],
1039
+ 'application/x-kformula' => [%w(kfo), %w(), 'KFormula formula'],
1040
+ 'application/x-killustrator' => [%w(kil), %w(), 'KIllustrator drawing'],
1041
+ 'application/x-kivio' => [%w(flw), %w(), 'Kivio flowchart'],
1042
+ 'application/x-kontour' => [%w(kon), %w(), 'Kontour drawing'],
1043
+ 'application/x-kpovmodeler' => [%w(kpm), %w(), 'KPovModeler scene'],
1044
+ 'application/x-kpresenter' => [%w(kpr kpt), %w(), 'KPresenter presentation'],
1045
+ 'application/x-krita' => [%w(kra), %w(), 'Krita document'],
1046
+ 'application/x-kspread' => [%w(ksp), %w(), 'KSpread spreadsheet'],
1047
+ 'application/x-kugar' => [%w(kud), %w(), 'Kugar document'],
1048
+ 'application/x-kword' => [%w(kwd kwt), %w(), 'KWord document'],
1049
+ 'application/x-lha' => [%w(lha lzh), %w(), 'LHA archive'],
1050
+ 'application/x-lhz' => [%w(lhz), %w(), 'LHZ archive'],
1051
+ 'application/x-lrzip' => [%w(lrz), %w(), 'Lrzip archive'],
1052
+ 'application/x-lrzip-compressed-tar' => [%w(tar.lrz tlrz), %w(application/x-lrzip), 'Tar archive (lrzip-compressed)'],
1053
+ 'application/x-lyx' => [%w(lyx), %w(text/plain), 'LyX document'],
1054
+ 'application/x-lzip' => [%w(lz), %w(), 'Lzip archive'],
1055
+ 'application/x-lzma' => [%w(lzma), %w(), 'LZMA archive'],
1056
+ 'application/x-lzma-compressed-tar' => [%w(tar.lzma tlz), %w(application/x-lzma), 'Tar archive (LZMA-compressed)'],
1057
+ 'application/x-lzop' => [%w(lzo), %w(), 'LZO archive'],
1058
+ 'application/x-m4' => [%w(m4), %w(text/plain), 'M4 macro'],
1059
+ 'application/x-magicpoint' => [%w(mgp), %w(text/plain), 'MagicPoint presentation'],
1060
+ 'application/x-markaby' => [%w(mab), %w(application/x-ruby), 'Markaby script'],
1061
+ 'application/x-mif' => [%w(mif), %w(), 'Adobe FrameMaker MIF document'],
1062
+ 'application/x-mimearchive' => [%w(mht mhtml), %w(multipart/related), 'MHTML web archive'],
1063
+ 'application/x-mobipocket-ebook' => [%w(mobi prc), %w(application/x-palm-database), 'Mobipocket e-book'],
1064
+ 'application/x-ms-dos-executable' => [%w(exe), %w(), 'DOS/Windows executable'],
1065
+ 'application/x-ms-wim' => [%w(swm wim), %w(), 'Windows Imaging Format Disk Image'],
1066
+ 'application/x-msi' => [%w(msi), %w(application/x-ole-storage), 'Windows Installer package'],
1067
+ 'application/x-mswinurl' => [%w(url), %w(), 'Internet shortcut'],
1068
+ 'application/x-mswrite' => [%w(wri), %w(), 'WRI document'],
1069
+ 'application/x-msx-rom' => [%w(msx), %w(), 'MSX ROM'],
1070
+ 'application/x-n64-rom' => [%w(n64), %w(), 'Nintendo64 ROM'],
1071
+ 'application/x-navi-animation' => [%w(ani), %w(), 'Windows animated cursor'],
1072
+ 'application/x-nes-rom' => [%w(nes), %w(), 'NES ROM'],
1073
+ 'application/x-netcdf' => [%w(cdf nc), %w(), 'Unidata NetCDF document'],
1074
+ 'application/x-netshow-channel' => [%w(nsc), %w(video/x-ms-asf), 'Windows Media Station file'],
1075
+ 'application/x-nintendo-ds-rom' => [%w(nds), %w(), 'Nintendo DS ROM'],
1076
+ 'application/x-nzb' => [%w(nzb), %w(application/xml), 'NewzBin usenet index'],
1077
+ 'application/x-object' => [%w(o), %w(), 'object code'],
1078
+ 'application/x-oleo' => [%w(oleo), %w(), 'GNU Oleo spreadsheet'],
1079
+ 'application/x-pak' => [%w(pak), %w(), 'PAK archive'],
1080
+ 'application/x-par2' => [%w(par2 par2), %w(), 'Parchive archive'],
1081
+ 'application/x-perl' => [%w(al perl pl pm), %w(application/x-executable text/plain), 'Perl script'],
1082
+ 'application/x-php' => [%w(php php3 php4 php5 phps), %w(text/plain), 'PHP script'],
1083
+ 'application/x-pkcs12' => [%w(p12 pfx), %w(), 'PKCS#12 certificate bundle'],
1084
+ 'application/x-pkcs7-certificates' => [%w(p7b spc), %w(), 'PKCS#7 certificate bundle'],
1085
+ 'application/x-planperfect' => [%w(pln), %w(), 'PlanPerfect spreadsheet'],
1086
+ 'application/x-pocket-word' => [%w(psw), %w(), 'Pocket Word document'],
1087
+ 'application/x-pw' => [%w(pw), %w(), 'Pathetic Writer document'],
1088
+ 'application/x-python-bytecode' => [%w(pyc pyo), %w(), 'Python bytecode'],
1089
+ 'application/x-qtiplot' => [%w(qti qti.gz), %w(text/plain), 'QtiPlot document'],
1090
+ 'application/x-quattropro' => [%w(wb1 wb2 wb3), %w(), 'Quattro Pro spreadsheet'],
1091
+ 'application/x-quicktime-media-link' => [%w(qtl), %w(video/quicktime), 'QuickTime metalink playlist'],
1092
+ 'application/x-qw' => [%w(qif), %w(), 'Quicken document'],
1093
+ 'application/x-rar' => [%w(rar), %w(), 'RAR archive'],
1094
+ 'application/x-rpm' => [%w(rpm), %w(), 'RPM package'],
1095
+ 'application/x-ruby' => [%w(rb), %w(application/x-executable text/plain), 'Ruby script'],
1096
+ 'application/x-sami' => [%w(sami smi), %w(text/plain), 'SAMI subtitles'],
1097
+ 'application/x-shar' => [%w(shar), %w(), 'shell archive'],
1098
+ 'application/x-shared-library-la' => [%w(la), %w(text/plain), 'libtool shared library'],
1099
+ 'application/x-sharedlib' => [%w(so), %w(), 'shared library'],
1100
+ 'application/x-shellscript' => [%w(sh), %w(application/x-executable text/plain), 'shell script'],
1101
+ 'application/x-shockwave-flash' => [%w(spl swf), %w(), 'Shockwave Flash file'],
1102
+ 'application/x-shorten' => [%w(shn), %w(), 'Shorten audio'],
1103
+ 'application/x-siag' => [%w(siag), %w(), 'Siag spreadsheet'],
1104
+ 'application/x-smaf' => [%w(mmf smaf), %w(), 'SMAF audio'],
1105
+ 'application/x-sms-rom' => [%w(gg sms), %w(), 'Sega Master System/Game Gear ROM'],
1106
+ 'application/x-snes-rom' => [%w(smc), %w(), 'Super NES ROM'],
1107
+ 'application/x-source-rpm' => [%w(spm src.rpm), %w(application/x-rpm), 'Source RPM package'],
1108
+ 'application/x-spss-por' => [%w(por), %w(), 'SPSS Portable Data File'],
1109
+ 'application/x-spss-sav' => [%w(sav), %w(), 'SPSS Data File'],
1110
+ 'application/x-stuffit' => [%w(sit), %w(), 'StuffIt archive'],
1111
+ 'application/x-subrip' => [%w(srt), %w(text/plain), 'SubRip subtitles'],
1112
+ 'application/x-sv4cpio' => [%w(sv4cpio), %w(), 'SV4 CPIO archive'],
1113
+ 'application/x-sv4crc' => [%w(sv4crc), %w(), 'SV4 CPIO archive (with CRC)'],
1114
+ 'application/x-t602' => [%w(602), %w(), 'T602 document'],
1115
+ 'application/x-tar' => [%w(gem gtar tar), %w(), 'Tar archive'],
1116
+ 'application/x-tarz' => [%w(tar.z taz), %w(application/x-compress), 'Tar archive (compressed)'],
1117
+ 'application/x-tex-gf' => [%w(gf), %w(), 'generic font file'],
1118
+ 'application/x-tex-pk' => [%w(pk), %w(), 'packed font file'],
1119
+ 'application/x-tgif' => [%w(obj), %w(), 'TGIF document'],
1120
+ 'application/x-theme' => [%w(theme), %w(application/x-desktop), 'theme'],
1121
+ 'application/x-trash' => [%w(bak old sik), %w(), 'backup file'],
1122
+ 'application/x-trig' => [%w(trig), %w(text/plain), 'TriG RDF document'],
1123
+ 'application/x-troff-man' => [%w(man), %w(text/plain), 'Troff document (with manpage macros)'],
1124
+ 'application/x-tzo' => [%w(tar.lzo tzo), %w(application/x-lzop), 'Tar archive (LZO-compressed)'],
1125
+ 'application/x-ufraw' => [%w(ufraw), %w(text/xml), 'UFRaw ID image'],
1126
+ 'application/x-ustar' => [%w(ustar), %w(), 'Ustar archive'],
1127
+ 'application/x-wais-source' => [%w(src), %w(), 'WAIS source code'],
1128
+ 'application/x-windows-themepack' => [%w(themepack), %w(application/vnd.ms-cab-compressed), 'Microsoft Windows theme pack'],
1129
+ 'application/x-wpg' => [%w(wpg), %w(), 'WordPerfect/Drawperfect image'],
1130
+ 'application/x-wwf' => [%w(wwf), %w(application/pdf), 'WWF document'],
1131
+ 'application/x-x509-ca-cert' => [%w(cert crt der pem), %w(), 'DER/PEM/Netscape-encoded X.509 certificate'],
1132
+ 'application/x-xbel' => [%w(xbel), %w(application/xml), 'XBEL bookmarks'],
1133
+ 'application/x-xliff' => [%w(xlf xliff), %w(application/xml), 'XLIFF translation file'],
1134
+ 'application/x-xpinstall' => [%w(xpi), %w(application/zip), 'XPInstall installer module'],
1135
+ 'application/x-xz' => [%w(xz), %w(), 'XZ archive'],
1136
+ 'application/x-xz-compressed-tar' => [%w(tar.xz txz), %w(application/x-xz), 'Tar archive (XZ-compressed)'],
1137
+ 'application/x-xzpdf' => [%w(pdf.xz), %w(application/x-xz), 'PDF document (XZ-compressed)'],
1138
+ 'application/x-yaml' => [%w(yaml yml), %w(text/plain), 'YAML document'],
1139
+ 'application/x-zoo' => [%w(zoo), %w(), 'Zoo archive'],
1140
+ 'application/xhtml+xml' => [%w(xhtml), %w(application/xml), 'XHTML page'],
1141
+ 'application/xml' => [%w(rng xbl xml xsd), %w(text/plain), 'XML document'],
1142
+ 'application/xml-dtd' => [%w(dtd), %w(text/plain), 'DTD file'],
1143
+ 'application/xml-external-parsed-entity' => [%w(ent), %w(application/xml), 'XML entities document'],
1144
+ 'application/xslt+xml' => [%w(xsl xslt), %w(application/xml), 'XSLT stylesheet'],
1145
+ 'application/xspf+xml' => [%w(xspf), %w(application/xml), 'XSPF playlist'],
1146
+ 'application/zip' => [%w(zip), %w(), 'Zip archive'],
1147
+ 'audio/AMR' => [%w(amr), %w(), 'AMR audio'],
1148
+ 'audio/AMR-WB' => [%w(awb), %w(), 'AMR-WB audio'],
1149
+ 'audio/aac' => [%w(aac), %w(), 'AAC audio'],
1150
+ 'audio/ac3' => [%w(ac3), %w(), 'Dolby Digital audio'],
1151
+ 'audio/annodex' => [%w(axa), %w(application/annodex), 'Annodex Audio'],
1152
+ 'audio/basic' => [%w(au snd), %w(), 'ULAW (Sun) audio'],
1153
+ 'audio/flac' => [%w(flac), %w(), 'FLAC audio'],
1154
+ 'audio/midi' => [%w(kar mid midi), %w(), 'MIDI audio'],
1155
+ 'audio/mp2' => [%w(mp2), %w(), 'MP2 audio'],
1156
+ 'audio/mp4' => [%w(f4a m4a), %w(), 'MPEG-4 audio'],
1157
+ 'audio/mpeg' => [%w(mp3 mpga), %w(), 'MP3 audio'],
1158
+ 'audio/ogg' => [%w(oga ogg), %w(application/ogg), 'Ogg Audio'],
1159
+ 'audio/prs.sid' => [%w(psid sid), %w(), 'Commodore 64 audio'],
1160
+ 'audio/vnd.dts' => [%w(dts), %w(), 'DTS audio'],
1161
+ 'audio/vnd.dts.hd' => [%w(dtshd), %w(audio/vnd.dts), 'DTSHD audio'],
1162
+ 'audio/vnd.rn-realaudio' => [%w(ra rax), %w(), 'RealAudio document'],
1163
+ 'audio/x-aifc' => [%w(aifc aiffc), %w(application/x-iff), 'AIFC audio'],
1164
+ 'audio/x-aiff' => [%w(aif aiff), %w(application/x-iff), 'AIFF/Amiga/Mac audio'],
1165
+ 'audio/x-amzxml' => [%w(amz), %w(), 'AmazonMP3 download file'],
1166
+ 'audio/x-ape' => [%w(ape), %w(), "Monkey's audio"],
1167
+ 'audio/x-flac+ogg' => [%w(oga ogg), %w(audio/ogg), 'Ogg FLAC audio'],
1168
+ 'audio/x-gsm' => [%w(gsm), %w(), 'GSM 06.10 audio'],
1169
+ 'audio/x-iriver-pla' => [%w(pla), %w(), 'iRiver Playlist'],
1170
+ 'audio/x-it' => [%w(it), %w(), 'Impulse Tracker audio'],
1171
+ 'audio/x-m4b' => [%w(f4b m4b), %w(audio/mp4), 'MPEG-4 audio book'],
1172
+ 'audio/x-matroska' => [%w(mka), %w(application/x-matroska), 'Matroska audio'],
1173
+ 'audio/x-minipsf' => [%w(minipsf), %w(audio/x-psf), 'MiniPSF audio'],
1174
+ 'audio/x-mo3' => [%w(mo3), %w(), 'compressed Tracker audio'],
1175
+ 'audio/x-mod' => [%w(669 m15 med mod mtm ult uni), %w(), 'Amiga SoundTracker audio'],
1176
+ 'audio/x-mpegurl' => [%w(m3u m3u8 vlc), %w(text/plain), 'MP3 audio (streamed)'],
1177
+ 'audio/x-ms-asx' => [%w(asx wax wmx wvx), %w(), 'Microsoft ASX playlist'],
1178
+ 'audio/x-ms-wma' => [%w(wma), %w(video/x-ms-asf), 'Windows Media audio'],
1179
+ 'audio/x-musepack' => [%w(mp+ mpc mpp), %w(), 'Musepack audio'],
1180
+ 'audio/x-psf' => [%w(psf), %w(), 'PSF audio'],
1181
+ 'audio/x-psflib' => [%w(psflib), %w(audio/x-psf), 'PSFlib audio library'],
1182
+ 'audio/x-s3m' => [%w(s3m), %w(), 'Scream Tracker 3 audio'],
1183
+ 'audio/x-scpls' => [%w(pls), %w(), 'MP3 ShoutCast playlist'],
1184
+ 'audio/x-speex' => [%w(spx), %w(), 'Speex audio'],
1185
+ 'audio/x-speex+ogg' => [%w(oga ogg), %w(audio/ogg), 'Ogg Speex audio'],
1186
+ 'audio/x-stm' => [%w(stm), %w(), 'Scream Tracker audio'],
1187
+ 'audio/x-tta' => [%w(tta), %w(), 'TrueAudio audio'],
1188
+ 'audio/x-voc' => [%w(voc), %w(), 'VOC audio'],
1189
+ 'audio/x-vorbis+ogg' => [%w(oga ogg), %w(audio/ogg), 'Ogg Vorbis audio'],
1190
+ 'audio/x-wav' => [%w(wav), %w(), 'WAV audio'],
1191
+ 'audio/x-wavpack' => [%w(wv wvp), %w(), 'WavPack audio'],
1192
+ 'audio/x-wavpack-correction' => [%w(wvc), %w(), 'WavPack audio correction file'],
1193
+ 'audio/x-xi' => [%w(xi), %w(), 'Scream Tracker instrument'],
1194
+ 'audio/x-xm' => [%w(xm), %w(), 'FastTracker II audio'],
1195
+ 'audio/x-xmf' => [%w(xmf), %w(), 'XMF audio'],
1196
+ 'image/bmp' => [%w(bmp), %w(), 'Windows BMP image'],
1197
+ 'image/cgm' => [%w(cgm), %w(), 'Computer Graphics Metafile'],
1198
+ 'image/fax-g3' => [%w(g3), %w(), 'CCITT G3 fax'],
1199
+ 'image/fits' => [%w(fits), %w(), 'FITS document'],
1200
+ 'image/gif' => [%w(gif), %w(), 'GIF image'],
1201
+ 'image/ief' => [%w(ief), %w(), 'IEF image'],
1202
+ 'image/jp2' => [%w(j2k jp2 jpc jpf jpx), %w(), 'JPEG-2000 image'],
1203
+ 'image/jpeg' => [%w(jpe jpeg jpg), %w(), 'JPEG image'],
1204
+ 'image/openraster' => [%w(ora), %w(), 'OpenRaster archiving image'],
1205
+ 'image/png' => [%w(png), %w(), 'PNG image'],
1206
+ 'image/rle' => [%w(rle), %w(), 'Run Length Encoded bitmap image'],
1207
+ 'image/svg+xml' => [%w(svg), %w(application/xml), 'SVG image'],
1208
+ 'image/svg+xml-compressed' => [%w(svgz), %w(application/gzip), 'compressed SVG image'],
1209
+ 'image/tiff' => [%w(tif tiff), %w(), 'TIFF image'],
1210
+ 'image/vnd.adobe.photoshop' => [%w(psd), %w(), 'Photoshop image'],
1211
+ 'image/vnd.djvu' => [%w(djv djvu), %w(), 'DjVu image'],
1212
+ 'image/vnd.dwg' => [%w(dwg), %w(), 'AutoCAD image'],
1213
+ 'image/vnd.dxf' => [%w(dxf), %w(), 'DXF vector image'],
1214
+ 'image/vnd.microsoft.icon' => [%w(ico), %w(), 'Microsoft icon'],
1215
+ 'image/vnd.ms-modi' => [%w(mdi), %w(), 'Microsoft Document Imaging format'],
1216
+ 'image/vnd.rn-realpix' => [%w(rp), %w(), 'RealPix document'],
1217
+ 'image/vnd.wap.wbmp' => [%w(wbmp), %w(), 'WBMP image'],
1218
+ 'image/x-3ds' => [%w(3ds), %w(), '3D Studio image'],
1219
+ 'image/x-adobe-dng' => [%w(dng), %w(image/tiff image/x-dcraw), 'Adobe DNG negative'],
1220
+ 'image/x-apple-ios-png' => [%w(png), %w(), 'Apple optimised PNG image'],
1221
+ 'image/x-applix-graphics' => [%w(ag), %w(), 'Applix Graphics image'],
1222
+ 'image/x-bzeps' => [%w(eps.bz2 epsf.bz2 epsi.bz2), %w(application/x-bzip), 'EPS image (bzip-compressed)'],
1223
+ 'image/x-canon-cr2' => [%w(cr2), %w(image/tiff image/x-dcraw), 'Canon CR2 raw image'],
1224
+ 'image/x-canon-crw' => [%w(crw), %w(image/x-dcraw), 'Canon CRW raw image'],
1225
+ 'image/x-cmu-raster' => [%w(ras), %w(), 'CMU raster image'],
1226
+ 'image/x-compressed-xcf' => [%w(xcf.bz2 xcf.gz), %w(), 'compressed GIMP image'],
1227
+ 'image/x-dds' => [%w(dds), %w(), 'DirectDraw surface'],
1228
+ 'image/x-emf' => [%w(emf), %w(), 'EMF image'],
1229
+ 'image/x-eps' => [%w(eps epsf epsi), %w(application/postscript), 'EPS image'],
1230
+ 'image/x-exr' => [%w(exr), %w(), 'EXR image'],
1231
+ 'image/x-fuji-raf' => [%w(raf), %w(image/x-dcraw), 'Fuji RAF raw image'],
1232
+ 'image/x-gzeps' => [%w(eps.gz epsf.gz epsi.gz), %w(application/gzip), 'EPS image (gzip-compressed)'],
1233
+ 'image/x-icns' => [%w(icns), %w(), 'MacOS X icon'],
1234
+ 'image/x-ilbm' => [%w(iff ilbm lbm), %w(application/x-iff), 'ILBM image'],
1235
+ 'image/x-jng' => [%w(jng), %w(), 'JNG image'],
1236
+ 'image/x-kodak-dcr' => [%w(dcr), %w(image/tiff image/x-dcraw), 'Kodak DCR raw image'],
1237
+ 'image/x-kodak-k25' => [%w(k25), %w(image/tiff image/x-dcraw), 'Kodak K25 raw image'],
1238
+ 'image/x-kodak-kdc' => [%w(kdc), %w(image/tiff image/x-dcraw), 'Kodak KDC raw image'],
1239
+ 'image/x-lwo' => [%w(lwo lwob), %w(), 'LightWave object'],
1240
+ 'image/x-lws' => [%w(lws), %w(), 'LightWave scene'],
1241
+ 'image/x-macpaint' => [%w(pntg), %w(), 'MacPaint Bitmap image'],
1242
+ 'image/x-minolta-mrw' => [%w(mrw), %w(image/x-dcraw), 'Minolta MRW raw image'],
1243
+ 'image/x-msod' => [%w(msod), %w(), 'Office drawing'],
1244
+ 'image/x-nikon-nef' => [%w(nef), %w(image/tiff image/x-dcraw), 'Nikon NEF raw image'],
1245
+ 'image/x-olympus-orf' => [%w(orf), %w(image/x-dcraw), 'Olympus ORF raw image'],
1246
+ 'image/x-panasonic-raw' => [%w(raw), %w(image/x-dcraw), 'Panasonic raw image'],
1247
+ 'image/x-panasonic-raw2' => [%w(rw2), %w(image/x-dcraw), 'Panasonic raw2 image'],
1248
+ 'image/x-pcx' => [%w(pcx), %w(), 'PCX image'],
1249
+ 'image/x-pentax-pef' => [%w(pef), %w(image/tiff image/x-dcraw), 'Pentax PEF raw image'],
1250
+ 'image/x-photo-cd' => [%w(pcd), %w(), 'PCD image'],
1251
+ 'image/x-pict' => [%w(pct pict pict1 pict2), %w(), 'Macintosh Quickdraw/PICT drawing'],
1252
+ 'image/x-portable-anymap' => [%w(pnm), %w(), 'PNM image'],
1253
+ 'image/x-portable-bitmap' => [%w(pbm), %w(image/x-portable-anymap), 'PBM image'],
1254
+ 'image/x-portable-graymap' => [%w(pgm), %w(image/x-portable-anymap), 'PGM image'],
1255
+ 'image/x-portable-pixmap' => [%w(ppm), %w(image/x-portable-anymap), 'PPM image'],
1256
+ 'image/x-quicktime' => [%w(qif qtif), %w(), 'QuickTime image'],
1257
+ 'image/x-rgb' => [%w(rgb), %w(), 'RGB image'],
1258
+ 'image/x-sgi' => [%w(sgi), %w(), 'SGI image'],
1259
+ 'image/x-sigma-x3f' => [%w(x3f), %w(image/x-dcraw), 'Sigma X3F raw image'],
1260
+ 'image/x-skencil' => [%w(sk sk1), %w(), 'Skencil document'],
1261
+ 'image/x-sony-arw' => [%w(arw), %w(image/tiff image/x-dcraw), 'Sony ARW raw image'],
1262
+ 'image/x-sony-sr2' => [%w(sr2), %w(image/tiff image/x-dcraw), 'Sony SR2 raw image'],
1263
+ 'image/x-sony-srf' => [%w(srf), %w(image/tiff image/x-dcraw), 'Sony SRF raw image'],
1264
+ 'image/x-sun-raster' => [%w(sun), %w(), 'Sun raster image'],
1265
+ 'image/x-tga' => [%w(icb tga tpic vda vst), %w(), 'TGA image'],
1266
+ 'image/x-win-bitmap' => [%w(cur), %w(), 'Windows cursor'],
1267
+ 'image/x-wmf' => [%w(wmf), %w(), 'WMF image'],
1268
+ 'image/x-xbitmap' => [%w(xbm), %w(), 'XBM image'],
1269
+ 'image/x-xcf' => [%w(xcf), %w(), 'GIMP image'],
1270
+ 'image/x-xfig' => [%w(fig), %w(), 'XFig image'],
1271
+ 'image/x-xpixmap' => [%w(xpm), %w(), 'XPM image'],
1272
+ 'image/x-xwindowdump' => [%w(xwd), %w(), 'X window image'],
1273
+ 'message/rfc822' => [%w(eml), %w(text/plain), 'email message'],
1274
+ 'model/vrml' => [%w(vrm vrml wrl), %w(text/plain), 'VRML document'],
1275
+ 'text/cache-manifest' => [%w(manifest), %w(text/plain), 'Web application cache manifest'],
1276
+ 'text/calendar' => [%w(ics vcs), %w(text/plain), 'VCS/ICS calendar'],
1277
+ 'text/css' => [%w(css cssl), %w(text/x-csrc), 'CSS stylesheet'],
1278
+ 'text/csv' => [%w(csv), %w(text/plain), 'CSV document'],
1279
+ 'text/html' => [%w(htm html), %w(text/plain), 'HTML document'],
1280
+ 'text/plain' => [%w(asc txt), %w(), 'plain text document'],
1281
+ 'text/richtext' => [%w(rtx), %w(text/plain), 'rich text document'],
1282
+ 'text/sgml' => [%w(sgm sgml), %w(text/plain), 'SGML document'],
1283
+ 'text/spreadsheet' => [%w(slk sylk), %w(text/plain), 'spreadsheet interchange document'],
1284
+ 'text/tab-separated-values' => [%w(tsv), %w(text/plain), 'TSV document'],
1285
+ 'text/troff' => [%w(roff t tr), %w(text/plain), 'Troff document'],
1286
+ 'text/vcard' => [%w(gcrd vcard vcf vct), %w(text/plain), 'electronic business card'],
1287
+ 'text/vnd.graphviz' => [%w(dot gv), %w(), 'Graphviz DOT graph'],
1288
+ 'text/vnd.rn-realtext' => [%w(rt), %w(), 'RealText document'],
1289
+ 'text/vnd.sun.j2me.app-descriptor' => [%w(jad), %w(), 'JAD document'],
1290
+ 'text/vnd.trolltech.linguist' => [%w(ts), %w(application/xml), 'message catalog'],
1291
+ 'text/vnd.wap.wml' => [%w(wml), %w(application/xml), 'WML document'],
1292
+ 'text/vnd.wap.wmlscript' => [%w(wmls), %w(), 'WMLScript program'],
1293
+ 'text/vtt' => [%w(vtt), %w(text/plain), 'WebVTT subtitles'],
1294
+ 'text/x-adasrc' => [%w(adb ads), %w(text/plain), 'Ada source code'],
1295
+ 'text/x-bibtex' => [%w(bib), %w(text/plain), 'BibTeX document'],
1296
+ 'text/x-c++hdr' => [%w(h++ hh hp hpp hxx), %w(text/x-chdr), 'C++ header'],
1297
+ 'text/x-c++src' => [%w(c c++ cc cpp cxx), %w(text/x-csrc), 'C++ source code'],
1298
+ 'text/x-chdr' => [%w(h), %w(text/x-csrc), 'C header'],
1299
+ 'text/x-cmake' => [%w(cmake), %w(text/plain), 'CMake source code'],
1300
+ 'text/x-cobol' => [%w(cbl cob), %w(text/plain), 'COBOL source file'],
1301
+ 'text/x-csharp' => [%w(cs), %w(text/x-csrc), 'C# source code'],
1302
+ 'text/x-csrc' => [%w(c), %w(text/plain), 'C source code'],
1303
+ 'text/x-dcl' => [%w(dcl), %w(text/plain), 'DCL script'],
1304
+ 'text/x-dsl' => [%w(dsl), %w(text/plain), 'DSSSL document'],
1305
+ 'text/x-dsrc' => [%w(d di), %w(text/x-csrc), 'D source code'],
1306
+ 'text/x-eiffel' => [%w(e eif), %w(text/plain), 'Eiffel source code'],
1307
+ 'text/x-emacs-lisp' => [%w(el), %w(text/plain), 'Emacs Lisp source code'],
1308
+ 'text/x-erlang' => [%w(erl), %w(text/plain), 'Erlang source code'],
1309
+ 'text/x-fortran' => [%w(f f90 f95 for), %w(text/plain), 'Fortran source code'],
1310
+ 'text/x-gettext-translation' => [%w(po), %w(text/plain), 'translation file'],
1311
+ 'text/x-gettext-translation-template' => [%w(pot), %w(text/plain), 'translation template'],
1312
+ 'text/x-go' => [%w(go), %w(text/plain), 'Go source code'],
1313
+ 'text/x-google-video-pointer' => [%w(gvp), %w(), 'Google Video Pointer'],
1314
+ 'text/x-haskell' => [%w(hs), %w(text/plain), 'Haskell source code'],
1315
+ 'text/x-iMelody' => [%w(ime imy), %w(), 'iMelody ringtone'],
1316
+ 'text/x-idl' => [%w(idl), %w(text/plain), 'IDL document'],
1317
+ 'text/x-iptables' => [%w(iptables), %w(text/plain), 'iptables configuration file'],
1318
+ 'text/x-java' => [%w(java), %w(text/x-csrc), 'Java source code'],
1319
+ 'text/x-ldif' => [%w(ldif), %w(text/plain), 'LDIF address book'],
1320
+ 'text/x-lilypond' => [%w(ly), %w(text/plain), 'Lilypond music sheet'],
1321
+ 'text/x-literate-haskell' => [%w(lhs), %w(text/plain), 'LHS source code'],
1322
+ 'text/x-log' => [%w(log), %w(text/plain), 'application log'],
1323
+ 'text/x-lua' => [%w(lua), %w(application/x-executable text/plain), 'Lua script'],
1324
+ 'text/x-makefile' => [%w(mak mk), %w(text/plain), 'Makefile'],
1325
+ 'text/x-markdown' => [%w(markdown md mkd), %w(text/plain), 'Markdown document'],
1326
+ 'text/x-matlab' => [%w(m), %w(text/plain), 'MATLAB script/function'],
1327
+ 'text/x-microdvd' => [%w(sub), %w(text/plain), 'MicroDVD subtitles'],
1328
+ 'text/x-moc' => [%w(moc), %w(text/plain), 'Qt MOC file'],
1329
+ 'text/x-modelica' => [%w(mo), %w(text/plain), 'Modelica model'],
1330
+ 'text/x-mof' => [%w(mof), %w(text/x-csrc), 'Managed Object Format'],
1331
+ 'text/x-mpsub' => [%w(sub), %w(text/plain), 'MPSub subtitles'],
1332
+ 'text/x-mrml' => [%w(mrl mrml), %w(), 'MRML playlist'],
1333
+ 'text/x-ms-regedit' => [%w(reg), %w(text/plain), 'Windows Registry extract'],
1334
+ 'text/x-mup' => [%w(mup not), %w(text/plain), 'Mup publication'],
1335
+ 'text/x-nfo' => [%w(nfo), %w(text/x-readme), 'NFO document'],
1336
+ 'text/x-objcsrc' => [%w(m), %w(text/x-csrc), 'Objective-C source code'],
1337
+ 'text/x-ocaml' => [%w(ml mli), %w(), 'OCaml source code'],
1338
+ 'text/x-ocl' => [%w(ocl), %w(text/plain), 'OCL file'],
1339
+ 'text/x-ooc' => [%w(ooc), %w(text/x-csrc), 'OOC source code'],
1340
+ 'text/x-opml+xml' => [%w(opml), %w(application/xml), 'OPML syndication feed'],
1341
+ 'text/x-pascal' => [%w(p pas), %w(text/plain), 'Pascal source code'],
1342
+ 'text/x-patch' => [%w(diff patch), %w(text/plain), 'differences between files'],
1343
+ 'text/x-python' => [%w(py wsgi), %w(application/x-executable text/plain), 'Python script'],
1344
+ 'text/x-qml' => [%w(qml), %w(), 'Qt Markup Language file'],
1345
+ 'text/x-reject' => [%w(rej), %w(text/plain), 'rejected patch'],
1346
+ 'text/x-rpm-spec' => [%w(spec), %w(text/plain), 'RPM spec file'],
1347
+ 'text/x-scala' => [%w(scala), %w(text/plain), 'Scala source code'],
1348
+ 'text/x-scheme' => [%w(scm ss), %w(text/plain), 'Scheme source code'],
1349
+ 'text/x-setext' => [%w(etx), %w(text/plain), 'Setext document'],
1350
+ 'text/x-sql' => [%w(sql), %w(text/plain), 'SQL code'],
1351
+ 'text/x-ssa' => [%w(ass ssa), %w(text/plain), 'SSA subtitles'],
1352
+ 'text/x-subviewer' => [%w(sub), %w(text/plain), 'SubViewer subtitles'],
1353
+ 'text/x-svhdr' => [%w(svh), %w(text/x-verilog), 'SystemVerilog header'],
1354
+ 'text/x-svsrc' => [%w(sv), %w(text/x-verilog), 'SystemVerilog source code'],
1355
+ 'text/x-tcl' => [%w(tcl tk), %w(text/plain), 'Tcl script'],
1356
+ 'text/x-tex' => [%w(cls dtx ins latex ltx sty tex), %w(text/plain), 'TeX document'],
1357
+ 'text/x-texinfo' => [%w(texi texinfo), %w(text/plain), 'TeXInfo document'],
1358
+ 'text/x-troff-me' => [%w(me), %w(text/plain), 'Troff ME input document'],
1359
+ 'text/x-troff-mm' => [%w(mm), %w(text/plain), 'Troff MM input document'],
1360
+ 'text/x-troff-ms' => [%w(ms), %w(text/plain), 'Troff MS input document'],
1361
+ 'text/x-txt2tags' => [%w(t2t), %w(text/plain), 'txt2tags document'],
1362
+ 'text/x-uil' => [%w(uil), %w(text/plain), 'X-Motif UIL table'],
1363
+ 'text/x-uuencode' => [%w(uue), %w(text/plain), 'uuencoded file'],
1364
+ 'text/x-vala' => [%w(vala vapi), %w(text/x-csrc), 'Vala source code'],
1365
+ 'text/x-verilog' => [%w(v), %w(text/plain), 'Verilog source code'],
1366
+ 'text/x-vhdl' => [%w(vhd vhdl), %w(text/plain), 'VHDL source code'],
1367
+ 'text/x-xmi' => [%w(xmi), %w(application/xml), 'XMI file'],
1368
+ 'text/x-xslfo' => [%w(fo xslfo), %w(application/xml), 'XSL FO file'],
1369
+ 'video/3gpp' => [%w(3ga 3gp 3gpp), %w(video/mp4), '3GPP multimedia file'],
1370
+ 'video/3gpp2' => [%w(3g2 3gp2 3gpp2), %w(video/mp4), '3GPP2 multimedia file'],
1371
+ 'video/annodex' => [%w(axv), %w(application/annodex), 'Annodex Video'],
1372
+ 'video/dv' => [%w(dv), %w(), 'DV video'],
1373
+ 'video/mp2t' => [%w(bdm bdmv clpi cpi m2t m2ts mpl mpls mts ts), %w(), 'MPEG-2 transport stream'],
1374
+ 'video/mp4' => [%w(f4v m4v mp4), %w(), 'MPEG-4 video'],
1375
+ 'video/mpeg' => [%w(mp2 mpe mpeg mpg vob), %w(), 'MPEG video'],
1376
+ 'video/ogg' => [%w(ogg ogv), %w(application/ogg), 'Ogg Video'],
1377
+ 'video/quicktime' => [%w(moov mov qt qtvr), %w(), 'QuickTime video'],
1378
+ 'video/vivo' => [%w(viv vivo), %w(), 'Vivo video'],
1379
+ 'video/vnd.mpegurl' => [%w(m1u m4u mxu), %w(text/plain), 'MPEG video (streamed)'],
1380
+ 'video/vnd.rn-realvideo' => [%w(rv rvx), %w(), 'RealVideo document'],
1381
+ 'video/webm' => [%w(webm), %w(), 'WebM video'],
1382
+ 'video/x-flic' => [%w(flc fli), %w(), 'FLIC animation'],
1383
+ 'video/x-flv' => [%w(flv), %w(), 'Flash video'],
1384
+ 'video/x-javafx' => [%w(fxm), %w(video/x-flv), 'JavaFX video'],
1385
+ 'video/x-matroska' => [%w(mkv), %w(application/x-matroska), 'Matroska video'],
1386
+ 'video/x-mng' => [%w(mng), %w(), 'MNG animation'],
1387
+ 'video/x-ms-asf' => [%w(asf), %w(), 'ASF video'],
1388
+ 'video/x-ms-wmv' => [%w(wmv), %w(video/x-ms-asf), 'Windows Media video'],
1389
+ 'video/x-msvideo' => [%w(avf avi divx), %w(), 'AVI video'],
1390
+ 'video/x-nsv' => [%w(nsv), %w(), 'NullSoft video'],
1391
+ 'video/x-ogm+ogg' => [%w(ogm), %w(video/ogg), 'OGM video'],
1392
+ 'video/x-sgi-movie' => [%w(movie), %w(), 'SGI video'],
1393
+ 'video/x-theora+ogg' => [%w(ogg ogv), %w(video/ogg), 'Ogg Theora video'],
1394
+ 'x-epoc/x-sisx-app' => [%w(sisx), %w(), 'SISX package'],
1395
+ }
1396
+ # @private
1397
+ # :nodoc:
1398
+ MAGIC = [
1399
+ ['image/webp', [[8, "WEBP"]]],
1400
+ ['application/vnd.stardivision.writer', [[2089, 'StarWriter']]],
1401
+ ['application/x-docbook+xml', [[0, '<?xml', [[0..100, '-//OASIS//DTD DocBook XML'], [0..100, '-//KDE//DTD DocBook XML']]]]],
1402
+ ['image/x-eps', [[0, '%!', [[15, 'EPS']]], [0, "\004%!", [[16, 'EPS']]], [0, "\305\320\323\306"]]],
1403
+ ['application/prs.plucker', [[60, 'DataPlkr']]],
1404
+ ['application/vnd.corel-draw', []],
1405
+ ['application/x-fictionbook+xml', [[0..256, '<FictionBook']]],
1406
+ ['application/x-mobipocket-ebook', [[60, 'BOOKMOBI']]],
1407
+ ['application/x-mozilla-bookmarks', [[0..64, '<!DOCTYPE NETSCAPE-Bookmark-file-1>']]],
1408
+ ['application/x-nzb', [[0..256, '<nzb']]],
1409
+ ['application/x-pak', [[0, 'PACK']]],
1410
+ ['application/x-php', [[0..64, '<?php']]],
1411
+ ['application/x-xliff', [[0..256, '<xliff']]],
1412
+ ['audio/x-flac+ogg', [[0, 'OggS', [[28, 'fLaC']]], [0, 'OggS', [[28, "\177FLAC"]]]]],
1413
+ ['audio/x-speex+ogg', [[0, 'OggS', [[28, 'Speex ']]]]],
1414
+ ['audio/x-vorbis+ogg', [[0, 'OggS', [[28, "\001vorbis"]]]]],
1415
+ ['image/svg+xml', [[0..256, '<!DOCTYPE svg'], [0..256, '<svg']]],
1416
+ ['image/x-apple-ios-png', [[0, "\211PNG", [[12, 'CgBI']]]]],
1417
+ ['image/x-kodak-kdc', [[242, 'EASTMAN KODAK COMPANY']]],
1418
+ ['image/x-niff', [[0, 'IIN1']]],
1419
+ ['text/x-qml', [[0..256, 'import Qt ']]],
1420
+ ['video/x-ogm+ogg', [[0, 'OggS', [[29, 'video']]]]],
1421
+ ['video/x-theora+ogg', [[0, 'OggS', [[28, "\200theora"]]]]],
1422
+ ['application/atom+xml', [[0..256, '<feed ']]],
1423
+ ['application/rss+xml', [[0..256, '<rss '], [0..256, '<RSS ']]],
1424
+ ['application/vnd.apple.mpegurl', [[0, '#EXTM3U', [[0..128, '#EXT-X-TARGETDURATION'], [0..128, '#EXT-X-STREAM-INF']]]]],
1425
+ ['text/x-opml+xml', [[0..256, '<opml ']]],
1426
+ ['application/msword', [[0, "1\276\000\000"], [0, 'PO^Q`'], [0, "\3767\000#"], [0, "\333\245-\000\000\000"], [2112, 'MSWordDoc'], [2108, 'MSWordDoc'], [2112, 'Microsoft Word document data'], [546, 'bjbj'], [546, 'jbjb']]],
1427
+ ['application/vnd.ms-wpl', [[0..256, '<?wpl']]],
1428
+ ['application/x-font-type1', [[0, 'LWFN'], [65, 'LWFN'], [0, '%!PS-AdobeFont-1.'], [6, '%!PS-AdobeFont-1.'], [0, '%!FontType1-1.'], [6, '%!FontType1-1.']]],
1429
+ ['application/x-karbon', [[0, "\037\213", [[10, 'KOffice', [[18, "application/x-karbon\004\006"]]]]], [0, "PK\003\004", [[30, 'mimetype', [[38, 'application/x-karbon']]]]]]],
1430
+ ['application/x-kchart', [[0, "\037\213", [[10, 'KOffice', [[18, "application/x-kchart\004\006"]]]]], [0, "PK\003\004", [[30, 'mimetype', [[38, 'application/x-kchart']]]]]]],
1431
+ ['application/x-kformula', [[0, "\037\213", [[10, 'KOffice', [[18, "application/x-kformula\004\006"]]]]], [0, "PK\003\004", [[30, 'mimetype', [[38, 'application/x-kformula']]]]]]],
1432
+ ['application/x-killustrator', [[0, "\037\213", [[10, 'KOffice', [[18, "application/x-killustrator\004\006"]]]]]]],
1433
+ ['application/x-kivio', [[0, "\037\213", [[10, 'KOffice', [[18, "application/x-kivio\004\006"]]]]], [0, "PK\003\004", [[30, 'mimetype', [[38, 'application/x-kivio']]]]]]],
1434
+ ['application/x-kontour', [[0, "\037\213", [[10, 'KOffice', [[18, "application/x-kontour\004\006"]]]]], [0, "PK\003\004", [[30, 'mimetype', [[38, 'application/x-kontour']]]]]]],
1435
+ ['application/x-kpresenter', [[0, "\037\213", [[10, 'KOffice', [[18, "application/x-kpresenter\004\006"]]]]], [0, "PK\003\004", [[30, 'mimetype', [[38, 'application/x-kpresenter']]]]]]],
1436
+ ['application/x-krita', [[0, "\037\213", [[10, 'KOffice', [[18, "application/x-krita\004\006"]]]]], [0, "PK\003\004", [[30, 'mimetype', [[38, 'application/x-krita']]]]]]],
1437
+ ['application/x-kspread', [[0, "\037\213", [[10, 'KOffice', [[18, "application/x-kspread\004\006"]]]]], [0, "PK\003\004", [[30, 'mimetype', [[38, 'application/x-kspread']]]]]]],
1438
+ ['application/x-kword', [[0, "\037\213", [[10, 'KOffice', [[18, "application/x-kword\004\006"]]]]], [0, "PK\003\004", [[30, 'mimetype', [[38, 'application/x-kword']]]]]]],
1439
+ ['application/x-quicktime-media-link', [[0, '<?xml', [[0..64, '<?quicktime']]], [0, 'RTSPtext'], [0, 'rtsptext'], [0, 'SMILtext']]],
1440
+ ['audio/vnd.dts.hd', [[0..18725, 'dX %']]],
1441
+ ['text/x-txt2tags', [[0, '%!postproc'], [0, '%!encoding']]],
1442
+ ['application/smil', [[0..256, '<smil']]],
1443
+ ['audio/x-ms-asx', [[0, 'ASF '], [0..64, '<ASX'], [0..64, '<asx'], [0..64, '<Asx']]],
1444
+ ['application/annodex', [[0, 'OggS', [[28, "fishead\000", [[56..512, "CMML\000\000\000\000"]]]]]]],
1445
+ ['application/dicom', [[128, 'DICM']]],
1446
+ ['application/epub+zip', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/epub+zip']]]]]]],
1447
+ ['application/font-woff', [[0, 'wOFF']]],
1448
+ ['application/gnunet-directory', [[0, "\211GND\r\n\032\n"]]],
1449
+ ['application/gzip', [[0, "\037\213"]]],
1450
+ ['application/mac-binhex40', [[11, 'must be converted with BinHex']]],
1451
+ ['application/mathematica', [[0, '(************** Content-type: application/mathematica'], [100..256, 'This notebook can be used on any computer system with Mathematica'], [10..256, 'This is a Mathematica Notebook file. It contains ASCII text']]],
1452
+ ['application/metalink+xml', [[0..256, "<metalink version=\"3.0\""]]],
1453
+ ['application/metalink4+xml', [[0..256, "<metalink xmlns=\"urn"]]],
1454
+ ['application/mxf', [[0..256, "\006\016+4\002\005\001\001\r\001\002\001\001\002"]]],
1455
+ ['application/ogg', [[0, 'OggS']]],
1456
+ ['application/pdf', [[0..1024, '%PDF-']]],
1457
+ ['application/pgp-encrypted', [[0, '-----BEGIN PGP MESSAGE-----']]],
1458
+ ['application/pgp-keys', [[0, '-----BEGIN PGP PUBLIC KEY BLOCK-----'], [0, '-----BEGIN PGP PRIVATE KEY BLOCK-----'], [0, "\225\001"], [0, "\225\000"], [0, "\231\000"], [0, "\231\001"]]],
1459
+ ['application/pgp-signature', [[0, '-----BEGIN PGP SIGNED MESSAGE-----'], [0, '-----BEGIN PGP SIGNATURE-----']]],
1460
+ ['application/postscript', [[0, "\004%!"], [0, '%!']]],
1461
+ ['application/rtf', [[0, "{\\rtf"]]],
1462
+ ['application/sdp', [[0, 'v=', [[0..256, 's=']]]]],
1463
+ ['application/vnd.emusic-emusic_package', [[0, 'nF7YLao']]],
1464
+ ['application/vnd.iccprofile', [[36, 'acsp']]],
1465
+ ['application/vnd.lotus-1-2-3', [[0, "\000\000\002\000\006\004\006\000\b\000\000\000\000\000"]]],
1466
+ ['application/vnd.lotus-wordpro', [[0, 'WordPro']]],
1467
+ ['application/vnd.ms-access', [[0, "\000\001\000\000Standard Jet DB"]]],
1468
+ ['application/vnd.ms-cab-compressed', [[0, "MSCF\000\000\000\000"]]],
1469
+ ['application/vnd.ms-excel', [[2080, 'Microsoft Excel 5.0 Worksheet']]],
1470
+ ['application/vnd.ms-tnef', [[0, "x\237>\""]]],
1471
+ ['application/vnd.oasis.opendocument.chart', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.oasis.opendocument.chart']]]]]]],
1472
+ ['application/vnd.oasis.opendocument.chart-template', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.oasis.opendocument.chart-template']]]]]]],
1473
+ ['application/vnd.oasis.opendocument.formula', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.oasis.opendocument.formula']]]]]]],
1474
+ ['application/vnd.oasis.opendocument.formula-template', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.oasis.opendocument.formula-template']]]]]]],
1475
+ ['application/vnd.oasis.opendocument.graphics', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.oasis.opendocument.graphics']]]]]]],
1476
+ ['application/vnd.oasis.opendocument.graphics-template', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.oasis.opendocument.graphics-template']]]]]]],
1477
+ ['application/vnd.oasis.opendocument.image', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.oasis.opendocument.image']]]]]]],
1478
+ ['application/vnd.oasis.opendocument.presentation', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.oasis.opendocument.presentation']]]]]]],
1479
+ ['application/vnd.oasis.opendocument.presentation-template', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.oasis.opendocument.presentation-template']]]]]]],
1480
+ ['application/vnd.oasis.opendocument.spreadsheet', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.oasis.opendocument.spreadsheet']]]]]]],
1481
+ ['application/vnd.oasis.opendocument.spreadsheet-template', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.oasis.opendocument.spreadsheet-template']]]]]]],
1482
+ ['application/vnd.oasis.opendocument.text', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.oasis.opendocument.text']]]]]]],
1483
+ ['application/vnd.oasis.opendocument.text-master', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.oasis.opendocument.text-master']]]]]]],
1484
+ ['application/vnd.oasis.opendocument.text-template', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.oasis.opendocument.text-template']]]]]]],
1485
+ ['application/vnd.oasis.opendocument.text-web', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.oasis.opendocument.text-web']]]]]]],
1486
+ ['application/vnd.rn-realmedia', [[0, '.RMF']]],
1487
+ ['application/vnd.symbian.install', [[8, "\031\004\000\020"]]],
1488
+ ['application/vnd.tcpdump.pcap', [[0, "\324\303\262\241"], [0, "\241\262\303\324"]]],
1489
+ ['application/vnd.wordperfect', [[1, 'WPC']]],
1490
+ ['application/winhlp', [[0, "?_\003\000"]]],
1491
+ ['application/x-7z-compressed', [[0, "7z\274\257'\034"]]],
1492
+ ['application/x-abiword', [[0..256, '<abiword'], [0..256, '<!DOCTYPE abiword']]],
1493
+ ['application/x-ace', [[7, '**ACE**']]],
1494
+ ['application/x-alz', [[0, 'ALZ']]],
1495
+ ['application/x-aportisdoc', [[60, 'TEXtREAd'], [60, 'TEXtTlDc']]],
1496
+ ['application/x-applix-spreadsheet', [[0, '*BEGIN SPREADSHEETS'], [0, '*BEGIN', [[7, 'SPREADSHEETS']]]]],
1497
+ ['application/x-applix-word', [[0, '*BEGIN', [[7, 'WORDS']]]]],
1498
+ ['application/x-arc', []],
1499
+ ['application/x-arj', [[0, "`\352"]]],
1500
+ ['application/x-awk', [[0, '#!/bin/gawk'], [0, '#! /bin/gawk'], [0, '#!/usr/bin/gawk'], [0, '#! /usr/bin/gawk'], [0, '#!/usr/local/bin/gawk'], [0, '#! /usr/local/bin/gawk'], [0, '#!/bin/awk'], [0, '#! /bin/awk'], [0, '#!/usr/bin/awk'], [0, '#! /usr/bin/awk']]],
1501
+ ['application/x-bittorrent', [[0, 'd8:announce']]],
1502
+ ['application/x-blender', [[0, 'BLENDER']]],
1503
+ ['application/x-bzip', [[0, 'BZh']]],
1504
+ ['application/x-ccmx', [[0, 'CCMX']]],
1505
+ ['application/x-cdrdao-toc', [[0, "CD_ROM\n"], [0, "CD_DA\n"], [0, "CD_ROM_XA\n"], [0, 'CD_TEXT '], [0, "CATALOG \"", [[22, "\""]]]]],
1506
+ ['application/x-chess-pgn', [[0, '[Event ']]],
1507
+ ['application/x-cisco-vpn-settings', [[0, '[main]', [[0..256, 'AuthType=']]]]],
1508
+ ['application/x-compress', [[0, "\037\235"]]],
1509
+ ['application/x-core', [[0, "\177ELF", [[5, "\001", [[16, "\004\000"]]]]], [0, "\177ELF", [[5, "\002", [[16, "\000\004"]]]]], [0, "Core\001"], [0, "Core\002"]]],
1510
+ ['application/x-cpio', [[0, "\307q"], [0, '070701'], [0, '070702'], [0, "q\307"]]],
1511
+ ['application/x-deb', [[0, '!<arch>', [[8, 'debian']]]]],
1512
+ ['application/x-desktop', [[0..32, '[Desktop Entry]'], [0, '[Desktop Action'], [0, '[KDE Desktop Entry]'], [0, '# Config File'], [0, '# KDE Config File']]],
1513
+ ['application/x-dia-diagram', [[5..100, '<dia:']]],
1514
+ ['application/x-dia-shape', [[5..100, '<shape']]],
1515
+ ['application/x-dvi', [[0, "\367\002"]]],
1516
+ ['application/x-fluid', [[0, '# data file for the Fltk']]],
1517
+ ['application/x-font-bdf', [[0, 'STARTFONT ']]],
1518
+ ['application/x-font-dos', [[0, "\377FON"], [7, "\000EGA"], [7, "\000VID"]]],
1519
+ ['application/x-font-framemaker', [[0, '<MakerScreenFont']]],
1520
+ ['application/x-font-libgrx', [[0, "\024\002Y\031"]]],
1521
+ ['application/x-font-linux-psf', [[0, "6\004"]]],
1522
+ ['application/x-font-otf', [[0, 'OTTO']]],
1523
+ ['application/x-font-pcf', [[0, "\001fcp"]]],
1524
+ ['application/x-font-speedo', [[0, "D1.0\r"]]],
1525
+ ['application/x-font-sunos-news', [[0, 'StartFont'], [0, "\023z)"], [8, "\023z+"]]],
1526
+ ['application/x-font-tex', [[0, "\367\203"], [0, "\367Y"], [0, "\367\312"]]],
1527
+ ['application/x-font-tex-tfm', [[2, "\000\021"], [2, "\000\022"]]],
1528
+ ['application/x-font-ttf', [[0, 'FFIL'], [65, 'FFIL'], [0, "\000\001\000\000\000"]]],
1529
+ ['application/x-font-ttx', [[0..256, "<ttFont sfntVersion=\"\\000\\001\\000\\000\" ttLibVersion=\""]]],
1530
+ ['application/x-font-vfont', [[0, 'FONT']]],
1531
+ ['application/x-frame', [[0, '<MakerFile'], [0, '<MIFFile'], [0, '<MakerDictionary'], [0, '<MakerScreenFon'], [0, '<MML'], [0, '<Book'], [0, '<Maker']]],
1532
+ ['application/x-gdbm', [[0, "\023W\232\316"], [0, "\316\232W\023"], [0, 'GDBM']]],
1533
+ ['application/x-gedcom', [[0, '0 HEAD']]],
1534
+ ['application/x-genesis-rom', [[256, 'SEGA'], [640, 'EAGN'], [640, 'EAMG']]],
1535
+ ['application/x-gettext-translation', [[0, "\336\022\004\225"], [0, "\225\004\022\336"]]],
1536
+ ['application/x-glade', [[0..256, '<glade-interface']]],
1537
+ ['application/x-gmc-link', [[0..32, 'URL:']]],
1538
+ ['application/x-gnumeric', [[0..64, 'gmr:Workbook'], [0..64, 'gnm:Workbook']]],
1539
+ ['application/x-go-sgf', [[0, '(;FF[3]'], [0, '(;FF[4]']]],
1540
+ ['application/x-gtk-builder', [[0..256, '<interface']]],
1541
+ ['application/x-gtktalog', [[4, 'gtktalog ']]],
1542
+ ['application/x-hdf', [[0, "\211HDF\r\n\032\n"], [0, "\016\003\023\001"]]],
1543
+ ['application/x-hwp', [[0, 'HWP Document File']]],
1544
+ ['application/x-ipod-firmware', [[0, 'S T O P']]],
1545
+ ['application/x-it87', [[0, 'IT8.7']]],
1546
+ ['application/x-java', [[0, "\312\376\272\276"]]],
1547
+ ['application/x-java-jce-keystore', [[0, "\316\316\316\316"]]],
1548
+ ['application/x-java-jnlp-file', [[0..256, '<jnlp']]],
1549
+ ['application/x-java-keystore', [[0, "\355\376\355\376"]]],
1550
+ ['application/x-java-pack200', [[0, "\312\376\320\r"]]],
1551
+ ['application/x-kspread-crypt', [[0, "\r\032'\002"]]],
1552
+ ['application/x-ksysv-package', [[4, 'KSysV', [[15, "\001"]]]]],
1553
+ ['application/x-kword-crypt', [[0, "\r\032'\001"]]],
1554
+ ['application/x-lha', [[2, '-lh -'], [2, '-lh0-'], [2, '-lh1-'], [2, '-lh2-'], [2, '-lh3-'], [2, '-lh4-'], [2, '-lh5-'], [2, '-lh40-'], [2, '-lhd-'], [2, '-lz4-'], [2, '-lz5-'], [2, '-lzs-']]],
1555
+ ['application/x-lrzip', [[0, 'LRZI']]],
1556
+ ['application/x-lyx', [[0, '#LyX']]],
1557
+ ['application/x-lzip', [[0, 'LZIP']]],
1558
+ ['application/x-lzop', [[0, "\211LZO\000\r\n\032\n"]]],
1559
+ ['application/x-macbinary', [[102, 'mBIN']]],
1560
+ ['application/x-matroska', [[0, "\032E\337\243", [[5..65, "B\202", [[8..75, 'matroska']]]]]]],
1561
+ ['application/x-ms-dos-executable', [[0, 'MZ']]],
1562
+ ['application/x-mswinurl', [[1, 'InternetShortcut'], [1, 'DEFAULT', [[11, 'BASEURL=']]]]],
1563
+ ['application/x-nautilus-link', [[0..32, '<nautilus_object nautilus_link']]],
1564
+ ['application/x-navi-animation', [[0, 'RIFF', [[8, 'ACON']]]]],
1565
+ ['application/x-netshow-channel', [[0, '[Address]']]],
1566
+ ['application/x-object', [[0, "\177ELF", [[5, "\001", [[16, "\001\000"]]]]], [0, "\177ELF", [[5, "\002", [[16, "\000\001"]]]]]]],
1567
+ ['application/x-ole-storage', [[0, "\320\317\021\340\241\261\032\341"], [0, "\320\317\021\340"]]],
1568
+ ['application/x-oleo', [[31, 'Oleo']]],
1569
+ ['application/x-par2', [[0, 'PAR2']]],
1570
+ ['application/x-pef-executable', [[0, 'Joy!']]],
1571
+ ['application/x-perl', [[0, "eval \"exec /usr/local/bin/perl"], [1..16, '/bin/perl'], [1..16, '/bin/env perl']]],
1572
+ ['application/x-pocket-word', [[0, "{\\pwi"]]],
1573
+ ['application/x-python-bytecode', [[0, "\231N\r\n"]]],
1574
+ ['application/x-qtiplot', [[0, 'QtiPlot']]],
1575
+ ['application/x-rar', [[0, 'Rar!']]],
1576
+ ['application/x-rpm', [[0, "\355\253\356\333"]]],
1577
+ ['application/x-sami', [[0..256, '<SAMI>']]],
1578
+ ['application/x-sc', [[38, 'Spreadsheet']]],
1579
+ ['application/x-sharedlib', [[0, "\177ELF", [[5, "\001", [[16, "\003\000"]]]]], [0, "\177ELF", [[5, "\002", [[16, "\000\003"]]]]], [0, "\203\001"]]],
1580
+ ['application/x-shellscript', [[10, '# This is a shell archive'], [1..16, '/bin/bash'], [1..16, '/bin/nawk'], [1..16, '/bin/zsh'], [1..16, '/bin/sh'], [1..16, '/bin/ksh'], [1..16, '/bin/dash'], [0, '#!/usr/bin/env sh'], [0, '#!/usr/bin/env bash'], [0, '#!/usr/bin/env zsh'], [0, '#!/usr/bin/env ksh']]],
1581
+ ['application/x-shockwave-flash', [[0, 'FWS'], [0, 'CWS']]],
1582
+ ['application/x-shorten', [[0, 'ajkg']]],
1583
+ ['application/x-smaf', [[0, 'MMMD']]],
1584
+ ['application/x-spss-por', [[40, 'ASCII SPSS PORT FILE']]],
1585
+ ['application/x-spss-sav', [[0, '$FL2']]],
1586
+ ['application/x-stuffit', [[0, 'StuffIt '], [0, 'SIT!']]],
1587
+ ['application/x-subrip', [[0, '1', [[0..256, ' --> ']]]]],
1588
+ ['application/x-t602', [[0, '@CT 0'], [0, '@CT 1'], [0, '@CT 2']]],
1589
+ ['application/x-tar', [[257, "ustar\000"], [257, "ustar \000"]]],
1590
+ ['application/x-tgif', [[0, '%TGIF']]],
1591
+ ['application/x-xbel', [[0..256, '<!DOCTYPE xbel']]],
1592
+ ['application/x-xz', [[0, "\3757zXZ\000"]]],
1593
+ ['application/x-zoo', [[20, "\334\247\304\375"]]],
1594
+ ['application/xslt+xml', [[0..256, '<xsl:stylesheet']]],
1595
+ ['application/xspf+xml', [[0..64, "<playlist version=\"1"], [0..64, "<playlist version='1"]]],
1596
+ ['audio/AMR', [[0, "#!AMR\n"], [0, "#!AMR_MC1.0\n"]]],
1597
+ ['audio/AMR-WB', [[0, "#!AMR-WB\n"], [0, "#!AMR-WB_MC1.0\n"]]],
1598
+ ['audio/aac', [[0, 'ADIF']]],
1599
+ ['audio/ac3', [[0, "\vw"]]],
1600
+ ['audio/annodex', [[0, 'OggS', [[28, "fishead\000", [[56..512, "CMML\000\000\000\000"]]]]]]],
1601
+ ['audio/flac', [[0, 'fLaC']]],
1602
+ ['audio/midi', [[0, 'MThd']]],
1603
+ ['audio/mp4', [[4, 'ftypM4A']]],
1604
+ ['audio/mpeg', [[0, "\377\373"], [0, 'ID3']]],
1605
+ ['audio/ogg', [[0, 'OggS']]],
1606
+ ['audio/prs.sid', [[0, 'PSID']]],
1607
+ ['audio/vnd.dts', [[0, "\177\376\200\001"], [0, "\200\001\177\376"], [0, "\037\377\350\000"], [0, "\350\000\037\377"]]],
1608
+ ['audio/x-adpcm', [[0, '.snd', [[12, "\000\000\000\027"]]], [0, ".sd\000", [[12, "\001\000\000\000"], [12, "\002\000\000\000"], [12, "\003\000\000\000"], [12, "\004\000\000\000"], [12, "\005\000\000\000"], [12, "\006\000\000\000"], [12, "\a\000\000\000"], [12, "\027\000\000\000"]]]]],
1609
+ ['audio/x-aifc', [[8, 'AIFC']]],
1610
+ ['audio/x-aiff', [[8, 'AIFF'], [8, '8SVX']]],
1611
+ ['audio/x-ape', [[0, 'MAC ']]],
1612
+ ['audio/x-iriver-pla', [[4, 'iriver UMS PLA']]],
1613
+ ['audio/x-it', [[0, 'IMPM']]],
1614
+ ['audio/x-m4b', [[4, 'ftypM4B']]],
1615
+ ['audio/x-mo3', [[0, 'MO3']]],
1616
+ ['audio/x-mpegurl', [[0, '#EXTM3U']]],
1617
+ ['audio/x-musepack', [[0, 'MP+']]],
1618
+ ['audio/x-psf', [[0, 'PSF']]],
1619
+ ['audio/x-s3m', [[44, 'SCRM']]],
1620
+ ['audio/x-scpls', [[0, '[playlist]'], [0, '[Playlist]'], [0, '[PLAYLIST]']]],
1621
+ ['audio/x-speex', [[0, 'Speex']]],
1622
+ ['audio/x-tta', [[0, 'TTA1']]],
1623
+ ['audio/x-wav', [[8, 'WAVE'], [8, 'WAV ']]],
1624
+ ['audio/x-wavpack', [[0, 'wvpk']]],
1625
+ ['audio/x-wavpack-correction', [[0, 'wvpk']]],
1626
+ ['audio/x-xi', [[0, 'Extended Instrument:']]],
1627
+ ['audio/x-xm', [[0, 'Extended Module:']]],
1628
+ ['audio/x-xmf', [[0, 'XMF_'], [0, "XMF_2.00\000\000\000\002"]]],
1629
+ ['image/bmp', [[0, 'BM', [[14, "\f"], [14, '@'], [14, '(']]]]],
1630
+ ['image/dpx', [[0, 'SDPX']]],
1631
+ ['image/fits', [[0, 'SIMPLE =']]],
1632
+ ['image/gif', [[0, 'GIF8']]],
1633
+ ['image/jp2', [[4, 'jP'], [0, "\377O\377Q\000"], [3, "\fjP "]]],
1634
+ ['image/jpeg', [[0, "\377\330\377"], [0, "\377\330"]]],
1635
+ ['image/openraster', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'image/openraster']]]]]]],
1636
+ ['image/png', [[0, "\211PNG"]]],
1637
+ ['image/tiff', [[0, "MM\000*"], [0, "II*\000"]]],
1638
+ ['image/vnd.adobe.photoshop', []],
1639
+ ['image/vnd.djvu', [[0, 'AT&TFORM', [[12, 'DJVM'], [12, 'DJVU']]], [0, 'FORM', [[8, 'DJVM'], [8, 'DJVU']]]]],
1640
+ ['image/vnd.dxf', [[0..64, "\nHEADER\n"], [0..64, "\r\nHEADER\r\n"]]],
1641
+ ['image/vnd.microsoft.icon', [[0, "\000\000\001\000", [[5, "\000"]]]]],
1642
+ ['image/vnd.ms-modi', [[0, "EP*\000"]]],
1643
+ ['image/x-applix-graphics', [[0, '*BEGIN', [[7, 'GRAPHICS']]]]],
1644
+ ['image/x-canon-crw', [[0, "II\032\000\000\000HEAPCCDR"]]],
1645
+ ['image/x-dds', [[0, 'DDS']]],
1646
+ ['image/x-dib', [[0, "(\000\000\000"]]],
1647
+ ['image/x-emf', [[0, "\001\000\000\000", [[40, ' EMF', [[44, "\000\000\001\000", [[58, "\000\000"]]]]]]]]],
1648
+ ['image/x-exr', [[0, "v/1\001"]]],
1649
+ ['image/x-fpx', [[0, 'FPix']]],
1650
+ ['image/x-fuji-raf', [[0, 'FUJIFILMCCD-RAW ']]],
1651
+ ['image/x-icns', [[0, 'icns']]],
1652
+ ['image/x-ilbm', [[8, 'ILBM'], [8, 'PBM ']]],
1653
+ ['image/x-minolta-mrw', [[0, "\000MRM"]]],
1654
+ ['image/x-olympus-orf', [[0, "IIRO\b\000\000\000"]]],
1655
+ ['image/x-panasonic-raw', [[0, "IIU\000\b\000\000\000"]]],
1656
+ ['image/x-panasonic-raw2', [[0, "IIU\000\030\000\000\000"]]],
1657
+ ['image/x-pcx', [[0, "\n", [[1, "\000"], [1, "\002"], [1, "\003"], [1, "\005"]]]]],
1658
+ ['image/x-pict', [[10, "\000\021", [[12, "\002\377", [[14, "\f\000", [[16, "\377\376"]]]]]]]]],
1659
+ ['image/x-pict', [[522, "\000\021", [[524, "\002\377", [[526, "\f\000", [[528, "\377\376"]]]]]]]]],
1660
+ ['image/x-portable-bitmap', [[0, 'P1', [[2, "\n"], [2, ' '], [2, "\t"], [2, "\r"]]], [0, 'P4', [[2, "\n"], [2, ' '], [2, "\t"], [2, "\r"]]]]],
1661
+ ['image/x-portable-graymap', [[0, 'P2', [[2, "\n"], [2, ' '], [2, "\t"], [2, "\r"]]], [0, 'P5', [[2, "\n"], [2, ' '], [2, "\t"], [2, "\r"]]]]],
1662
+ ['image/x-portable-pixmap', [[0, 'P3', [[2, "\n"], [2, ' '], [2, "\t"], [2, "\r"]]], [0, 'P6', [[2, "\n"], [2, ' '], [2, "\t"], [2, "\r"]]]]],
1663
+ ['image/x-quicktime', [[4, 'idat']]],
1664
+ ['image/x-sigma-x3f', [[0, 'FOVb']]],
1665
+ ['image/x-skencil', [[0, '##Sketch']]],
1666
+ ['image/x-sun-raster', [[0, "Y\246j\225"]]],
1667
+ ['image/x-tga', [[1, "\000\002", [[16, "\b"], [16, "\020"], [16, "\030"], [16, ' ']]]]],
1668
+ ['image/x-win-bitmap', [[0, "\000\000\002\000", [[5, "\000"]]]]],
1669
+ ['image/x-wmf', [[0, "\327\315\306\232", [[22, "\001\000", [[24, "\t\000"]]]]], [0, "\001\000", [[2, "\t\000"]]]]],
1670
+ ['image/x-xcf', [[0, 'gimp xcf file'], [0, 'gimp xcf v001'], [0, 'gimp xcf v002']]],
1671
+ ['image/x-xcursor', [[0, 'Xcur']]],
1672
+ ['image/x-xfig', [[0, '#FIG']]],
1673
+ ['image/x-xpixmap', [[0, '/* XPM']]],
1674
+ ['message/news', [[0, 'Article'], [0, 'Path:'], [0, 'Xref:']]],
1675
+ ['message/rfc822', [[0, '#! rnews'], [0, 'Forward to'], [0, 'From:'], [0, 'N#! rnews'], [0, 'Pipe to'], [0, 'Received:'], [0, 'Relay-Version:'], [0, 'Return-Path:'], [0, 'Return-path:'], [0, 'Subject: ']]],
1676
+ ['text/calendar', [[0, 'BEGIN:VCALENDAR'], [0, 'begin:vcalendar']]],
1677
+ ['text/html', [[0..256, '<!DOCTYPE HTML'], [0..256, '<!doctype html'], [0..256, '<HEAD'], [0..256, '<head'], [0..256, '<TITLE'], [0..256, '<title'], [0..256, '<HTML'], [0..256, '<html'], [0..256, '<SCRIPT'], [0..256, '<script'], [0, '<BODY'], [0, '<body'], [0, '<!--'], [0, '<h1'], [0, '<H1'], [0, '<!doctype HTML'], [0, '<!DOCTYPE html']]],
1678
+ ['text/plain', [[0, 'This is TeX,'], [0, 'This is METAFONT,']]],
1679
+ ['text/spreadsheet', [[0, 'ID;']]],
1680
+ ['text/troff', [[0, ".\\\""], [0, "'\\\""], [0, "'.\\\""], [0, "\\\""]]],
1681
+ ['text/vcard', [[0, 'BEGIN:VCARD'], [0, 'begin:vcard']]],
1682
+ ['text/vnd.graphviz', [[0, 'digraph '], [0, 'strict digraph '], [0, 'graph '], [0, 'strict graph ']]],
1683
+ ['text/vnd.sun.j2me.app-descriptor', [[0, 'MIDlet-']]],
1684
+ ['text/vtt', [[0, 'WEBVTT']]],
1685
+ ['text/x-emacs-lisp', [[0, "\n("], [0, ";ELC\023\000\000\000"]]],
1686
+ ['text/x-gettext-translation-template', [[0..256, "#, fuzzy\nmsgid \"\"\nmsgstr \"\"\n\"Project-Id-Version:"]]],
1687
+ ['text/x-google-video-pointer', [[0, '#.download.the.free.Google.Video.Player'], [0, '# download the free Google Video Player']]],
1688
+ ['text/x-iMelody', [[0, 'BEGIN:IMELODY']]],
1689
+ ['text/x-iptables', [[0..256, '/etc/sysconfig/iptables'], [0..256, '*filter', [[0..256, ':INPUT', [[0..256, ':FORWARD', [[0..256, ':OUTPUT']]]]]]], [0..256, '-A INPUT', [[0..256, '-A FORWARD', [[0..256, '-A OUTPUT']]]]], [0..256, '-P INPUT', [[0..256, '-P FORWARD', [[0..256, '-P OUTPUT']]]]]]],
1690
+ ['text/x-ldif', [[0, 'dn: cn='], [0, 'dn: mail=']]],
1691
+ ['text/x-lua', [[0, '/bin/lua'], [0, '/bin/env lua']]],
1692
+ ['text/x-makefile', [[0, '#!/usr/bin/make'], [0, '#! /usr/bin/make']]],
1693
+ ['text/x-matlab', [[0, 'function']]],
1694
+ ['text/x-microdvd', [[0, '{1}'], [0, '{0}'], [0..6, '}{']]],
1695
+ ['text/x-modelica', [[0, 'record']]],
1696
+ ['text/x-modelica', [[0, 'model']]],
1697
+ ['text/x-modelica', [[0, 'class']]],
1698
+ ['text/x-modelica', [[0, 'function']]],
1699
+ ['text/x-mpsub', [[0..256, 'FORMAT=']]],
1700
+ ['text/x-mrml', [[0, '<mrml ']]],
1701
+ ['text/x-ms-regedit', [[0, 'REGEDIT'], [0, 'Windows Registry Editor Version 5.00'], [0, "\377\376W\000i\000n\000d\000o\000w\000s\000 \000R\000e\000g\000i\000s\000t\000r\000y\000 \000E\000d\000i\000t\000o\000r\000"]]],
1702
+ ['text/x-mup', [[0, '//!Mup']]],
1703
+ ['text/x-patch', [[0, "diff\t"], [0, 'diff '], [0, "***\t"], [0, '*** '], [0, '=== '], [0, '--- '], [0, "Only in\t"], [0, 'Only in '], [0, 'Common subdirectories: '], [0, 'Index:']]],
1704
+ ['text/x-python', [[0, '#!/bin/python'], [0, '#! /bin/python'], [0, "eval \"exec /bin/python"], [0, '#!/usr/bin/python'], [0, '#! /usr/bin/python'], [0, "eval \"exec /usr/bin/python"], [0, '#!/usr/local/bin/python'], [0, '#! /usr/local/bin/python'], [0, "eval \"exec /usr/local/bin/python"], [1..16, '/bin/env python']]],
1705
+ ['text/x-rpm-spec', [[0, 'Summary: '], [0, '%define ']]],
1706
+ ['text/x-ssa', [[0..256, '[Script Info]'], [0..256, 'Dialogue: ']]],
1707
+ ['text/x-subviewer', [[0, '[INFORMATION]']]],
1708
+ ['text/x-tex', [[1, 'documentclass']]],
1709
+ ['text/x-uuencode', [[0, 'begin ']]],
1710
+ ['text/xmcd', [[0, '# xmcd']]],
1711
+ ['video/3gpp', [[4, 'ftyp3ge'], [4, 'ftyp3gg'], [4, 'ftyp3gp'], [4, 'ftyp3gs']]],
1712
+ ['video/3gpp2', [[4, 'ftyp3g2']]],
1713
+ ['video/annodex', [[0, 'OggS', [[28, "fishead\000", [[56..512, "CMML\000\000\000\000"]]]]]]],
1714
+ ['video/dv', []],
1715
+ ['video/mp2t', []],
1716
+ ['video/mp4', [[4, 'ftypisom'], [4, 'ftypmp42'], [4, 'ftypMSNV'], [4, 'ftypM4V '], [4, 'ftypf4v ']]],
1717
+ ['video/mpeg', [[0, "G?\377\020"], [0, "\000\000\001\263"], [0, "\000\000\001\272"]]],
1718
+ ['video/ogg', [[0, 'OggS']]],
1719
+ ['video/quicktime', [[12, 'mdat'], [4, 'mdat'], [4, 'moov'], [4, 'ftypqt']]],
1720
+ ['video/vnd.mpegurl', [[0, '#EXTM4U']]],
1721
+ ['video/webm', [[0, "\032E\337\243", [[5..65, "B\202", [[8..75, 'webm']]]]]]],
1722
+ ['video/x-flic', [[0, "\021\257"], [0, "\022\257"]]],
1723
+ ['video/x-flv', [[0, 'FLV']]],
1724
+ ['video/x-mng', [[0, "\212MNG\r\n\032\n"]]],
1725
+ ['video/x-ms-asf', [[0, "0&\262u"], [0, '[Reference]']]],
1726
+ ['video/x-msvideo', [[0, 'RIFF', [[8, 'AVI ']]], [0, 'AVF0', [[8, 'AVI ']]]]],
1727
+ ['video/x-nsv', [[0, 'NSVf']]],
1728
+ ['video/x-sgi-movie', [[0, 'MOVI']]],
1729
+ ['x-epoc/x-sisx-app', [[0, "z\032 \020"]]],
1730
+ ['application/x-archive', [[0, '<ar>'], [0, '!<arch>']]],
1731
+ ['audio/x-riff', [[0, 'RIFF']]],
1732
+ ['application/x-executable', [[0, "\177ELF", [[5, "\001", [[16, "\002\000"]]]]], [0, "\177ELF", [[5, "\002", [[16, "\000\002"]]]]], [0, 'MZ'], [0, "\034R"], [0, "\020\001"], [0, "\021\001"], [0, "\203\001"]]],
1733
+ ['application/x-iff', [[0, 'FORM']]],
1734
+ ['application/xml', [[0, '<?xml'], [0, '<!--']]],
1735
+ ['application/zip', [[0, "PK\003\004"]]],
1736
+ ['audio/basic', [[0, '.snd']]],
1737
+ ['video/x-javafx', [[0, 'FLV']]],
1738
+ ['application/x-mobipocket-ebook', [[60, 'TEXtREAd']]],
1739
+ ['text/x-csrc', [[0, '/*'], [0, '//'], [0, '#include']]],
1740
+ ['text/x-objcsrc', [[0, '#import']]],
1741
+ ['application/mbox', [[0, 'From ']]],
1742
+ ['image/x-tga', [[1, "\001\001"], [1, "\0019"], [1, "\000\003"], [1, "\000\n"], [1, "\000\v"]]],
1743
+ ['text/x-matlab', [[0, '%']]],
1744
+ ['text/x-matlab', [[0, '##']]],
1745
+ ['text/x-modelica', [[0, '//']]],
1746
+ ['text/x-tex', [[0, '%']]],
1747
+ ['application/vnd.sun.xml.calc', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.sun.xml.calc']]]]]]],
1748
+ ['application/vnd.sun.xml.calc.template', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.sun.xml.calc']]]]]]],
1749
+ ['application/vnd.sun.xml.draw', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.sun.xml.draw']]]]]]],
1750
+ ['application/vnd.sun.xml.draw.template', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.sun.xml.draw']]]]]]],
1751
+ ['application/vnd.sun.xml.impress', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.sun.xml.impress']]]]]]],
1752
+ ['application/vnd.sun.xml.impress.template', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.sun.xml.impress']]]]]]],
1753
+ ['application/vnd.sun.xml.math', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.sun.xml.math']]]]]]],
1754
+ ['application/vnd.sun.xml.writer', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.sun.xml.writer']]]]]]],
1755
+ ['application/vnd.sun.xml.writer.global', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.sun.xml.writer']]]]]]],
1756
+ ['application/vnd.sun.xml.writer.template', [[0, "PK\003\004", [[30, 'mimetype', [[38, 'application/vnd.sun.xml.writer']]]]]]],
1757
+ ['application/x-csh', [[1..16, '/bin/tcsh'], [1..16, '/bin/csh'], [0, '#!/usr/bin/env csh'], [0, '#!/usr/bin/env tcsh']]],
1758
+ ['application/x-dar', [[0, "\000\000\000{"]]],
1759
+ ['application/x-designer', [[0..256, '<ui '], [0..256, '<UI ']]],
1760
+ ['application/x-ms-wim', [[0, "MSWIM\000\000\000"]]],
1761
+ ['application/x-ruby', [[1..16, '/bin/env ruby'], [1..16, '/bin/ruby']]],
1762
+ ['application/x-sqlite2', [[0, '** This file contains an SQLite']]],
1763
+ ['application/x-sqlite3', [[0, 'SQLite format 3']]],
1764
+ ['application/x-yaml', [[0, '%YAML']]],
1765
+ ['audio/x-stm', [[20, "!Scream!\032"], [20, "!SCREAM!\032"], [20, "BMOD2STM\032"]]],
1766
+ ['text/cache-manifest', [[0, 'CACHE MANIFEST', [[14, ' '], [14, "\t"], [14, "\n"], [14, "\r"]]]]],
1767
+ ['text/vnd.trolltech.linguist', [[0..256, '<TS']]],
1768
+ ['text/x-bibtex', [[0, '% This file was created with JabRef']]],
1769
+ ]
1770
+ end