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