]> _ Git - fluidbook-hosting.git/commitdiff
wip #4184 @4
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 15 Jan 2021 16:27:17 +0000 (17:27 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 15 Jan 2021 16:27:17 +0000 (17:27 +0100)
LVMH-SSO/.htaccess
LVMH-SSO/_mime.php [new file with mode: 0644]
LVMH-SSO/_secure.php [new file with mode: 0644]
LVMH-SSO/composer.json
LVMH-SSO/composer.lock

index ad24dde799ff00f358e96c9c5cc6fa07606b250d..c2ffb87de95d56b7a5a8adb3e8591f52ee5d9357 100644 (file)
@@ -1,4 +1,4 @@
-AuthType Basic
-AuthName "Password Protected Area"
-AuthUserFile /home/fluidbook/passwd/lvmh.htpasswd
-Require valid-user
+RewriteEngine on
+RewriteBase /LVMH/Internal-Control-Base-December-2020/
+RewriteRule ^_secure.php$ - [L]
+RewriteRule ^.*$ _secure.php [L,QSA]
\ No newline at end of file
diff --git a/LVMH-SSO/_mime.php b/LVMH-SSO/_mime.php
new file mode 100644 (file)
index 0000000..68b5575
--- /dev/null
@@ -0,0 +1,7300 @@
+<?php
+$mimes = array(
+    'mimes' =>
+        array(
+            'wof' =>
+                array(
+                    0 => 'application/font-woff',
+                ),
+            'php' =>
+                array(
+                    0 => 'application/php',
+                    1 => 'application/x-httpd-php',
+                    2 => 'application/x-httpd-php-source',
+                    3 => 'application/x-php',
+                    4 => 'text/php',
+                    5 => 'text/x-php',
+                ),
+            'otf' =>
+                array(
+                    0 => 'application/x-font-otf',
+                    1 => 'font/otf',
+                ),
+            'ttf' =>
+                array(
+                    0 => 'application/x-font-ttf',
+                    1 => 'font/ttf',
+                ),
+            'ttc' =>
+                array(
+                    0 => 'application/x-font-ttf',
+                    1 => 'font/collection',
+                ),
+            'zip' =>
+                array(
+                    0 => 'application/x-gzip',
+                    1 => 'application/zip',
+                ),
+            'amr' =>
+                array(
+                    0 => 'audio/amr',
+                ),
+            'mp3' =>
+                array(
+                    0 => 'audio/mpeg',
+                ),
+            'mpga' =>
+                array(
+                    0 => 'audio/mpeg',
+                ),
+            'mp2' =>
+                array(
+                    0 => 'audio/mpeg',
+                ),
+            'mp2a' =>
+                array(
+                    0 => 'audio/mpeg',
+                ),
+            'm2a' =>
+                array(
+                    0 => 'audio/mpeg',
+                ),
+            'm3a' =>
+                array(
+                    0 => 'audio/mpeg',
+                ),
+            'jpg' =>
+                array(
+                    0 => 'image/jpeg',
+                ),
+            'jpeg' =>
+                array(
+                    0 => 'image/jpeg',
+                ),
+            'jpe' =>
+                array(
+                    0 => 'image/jpeg',
+                ),
+            'bmp' =>
+                array(
+                    0 => 'image/x-ms-bmp',
+                    1 => 'image/bmp',
+                ),
+            'ez' =>
+                array(
+                    0 => 'application/andrew-inset',
+                ),
+            'aw' =>
+                array(
+                    0 => 'application/applixware',
+                ),
+            'atom' =>
+                array(
+                    0 => 'application/atom+xml',
+                ),
+            'atomcat' =>
+                array(
+                    0 => 'application/atomcat+xml',
+                ),
+            'atomsvc' =>
+                array(
+                    0 => 'application/atomsvc+xml',
+                ),
+            'ccxml' =>
+                array(
+                    0 => 'application/ccxml+xml',
+                ),
+            'cdmia' =>
+                array(
+                    0 => 'application/cdmi-capability',
+                ),
+            'cdmic' =>
+                array(
+                    0 => 'application/cdmi-container',
+                ),
+            'cdmid' =>
+                array(
+                    0 => 'application/cdmi-domain',
+                ),
+            'cdmio' =>
+                array(
+                    0 => 'application/cdmi-object',
+                ),
+            'cdmiq' =>
+                array(
+                    0 => 'application/cdmi-queue',
+                ),
+            'cu' =>
+                array(
+                    0 => 'application/cu-seeme',
+                ),
+            'davmount' =>
+                array(
+                    0 => 'application/davmount+xml',
+                ),
+            'dbk' =>
+                array(
+                    0 => 'application/docbook+xml',
+                ),
+            'dssc' =>
+                array(
+                    0 => 'application/dssc+der',
+                ),
+            'xdssc' =>
+                array(
+                    0 => 'application/dssc+xml',
+                ),
+            'ecma' =>
+                array(
+                    0 => 'application/ecmascript',
+                ),
+            'emma' =>
+                array(
+                    0 => 'application/emma+xml',
+                ),
+            'epub' =>
+                array(
+                    0 => 'application/epub+zip',
+                ),
+            'exi' =>
+                array(
+                    0 => 'application/exi',
+                ),
+            'pfr' =>
+                array(
+                    0 => 'application/font-tdpfr',
+                ),
+            'gml' =>
+                array(
+                    0 => 'application/gml+xml',
+                ),
+            'gpx' =>
+                array(
+                    0 => 'application/gpx+xml',
+                ),
+            'gxf' =>
+                array(
+                    0 => 'application/gxf',
+                ),
+            'stk' =>
+                array(
+                    0 => 'application/hyperstudio',
+                ),
+            'ink' =>
+                array(
+                    0 => 'application/inkml+xml',
+                ),
+            'inkml' =>
+                array(
+                    0 => 'application/inkml+xml',
+                ),
+            'ipfix' =>
+                array(
+                    0 => 'application/ipfix',
+                ),
+            'jar' =>
+                array(
+                    0 => 'application/java-archive',
+                ),
+            'ser' =>
+                array(
+                    0 => 'application/java-serialized-object',
+                ),
+            'class' =>
+                array(
+                    0 => 'application/java-vm',
+                ),
+            'js' =>
+                array(
+                    0 => 'application/javascript',
+                ),
+            'json' =>
+                array(
+                    0 => 'application/json',
+                ),
+            'jsonml' =>
+                array(
+                    0 => 'application/jsonml+json',
+                ),
+            'lostxml' =>
+                array(
+                    0 => 'application/lost+xml',
+                ),
+            'hqx' =>
+                array(
+                    0 => 'application/mac-binhex40',
+                ),
+            'cpt' =>
+                array(
+                    0 => 'application/mac-compactpro',
+                ),
+            'mads' =>
+                array(
+                    0 => 'application/mads+xml',
+                ),
+            'mrc' =>
+                array(
+                    0 => 'application/marc',
+                ),
+            'mrcx' =>
+                array(
+                    0 => 'application/marcxml+xml',
+                ),
+            'ma' =>
+                array(
+                    0 => 'application/mathematica',
+                ),
+            'nb' =>
+                array(
+                    0 => 'application/mathematica',
+                ),
+            'mb' =>
+                array(
+                    0 => 'application/mathematica',
+                ),
+            'mathml' =>
+                array(
+                    0 => 'application/mathml+xml',
+                ),
+            'mbox' =>
+                array(
+                    0 => 'application/mbox',
+                ),
+            'mscml' =>
+                array(
+                    0 => 'application/mediaservercontrol+xml',
+                ),
+            'metalink' =>
+                array(
+                    0 => 'application/metalink+xml',
+                ),
+            'meta4' =>
+                array(
+                    0 => 'application/metalink4+xml',
+                ),
+            'mets' =>
+                array(
+                    0 => 'application/mets+xml',
+                ),
+            'mods' =>
+                array(
+                    0 => 'application/mods+xml',
+                ),
+            'm21' =>
+                array(
+                    0 => 'application/mp21',
+                ),
+            'mp21' =>
+                array(
+                    0 => 'application/mp21',
+                ),
+            'mp4s' =>
+                array(
+                    0 => 'application/mp4',
+                ),
+            'doc' =>
+                array(
+                    0 => 'application/msword',
+                ),
+            'dot' =>
+                array(
+                    0 => 'application/msword',
+                ),
+            'mxf' =>
+                array(
+                    0 => 'application/mxf',
+                ),
+            'bin' =>
+                array(
+                    0 => 'application/octet-stream',
+                ),
+            'dms' =>
+                array(
+                    0 => 'application/octet-stream',
+                ),
+            'lrf' =>
+                array(
+                    0 => 'application/octet-stream',
+                ),
+            'mar' =>
+                array(
+                    0 => 'application/octet-stream',
+                ),
+            'so' =>
+                array(
+                    0 => 'application/octet-stream',
+                ),
+            'dist' =>
+                array(
+                    0 => 'application/octet-stream',
+                ),
+            'distz' =>
+                array(
+                    0 => 'application/octet-stream',
+                ),
+            'pkg' =>
+                array(
+                    0 => 'application/octet-stream',
+                ),
+            'bpk' =>
+                array(
+                    0 => 'application/octet-stream',
+                ),
+            'dump' =>
+                array(
+                    0 => 'application/octet-stream',
+                ),
+            'elc' =>
+                array(
+                    0 => 'application/octet-stream',
+                ),
+            'deploy' =>
+                array(
+                    0 => 'application/octet-stream',
+                ),
+            'oda' =>
+                array(
+                    0 => 'application/oda',
+                ),
+            'opf' =>
+                array(
+                    0 => 'application/oebps-package+xml',
+                ),
+            'ogx' =>
+                array(
+                    0 => 'application/ogg',
+                ),
+            'omdoc' =>
+                array(
+                    0 => 'application/omdoc+xml',
+                ),
+            'onetoc' =>
+                array(
+                    0 => 'application/onenote',
+                ),
+            'onetoc2' =>
+                array(
+                    0 => 'application/onenote',
+                ),
+            'onetmp' =>
+                array(
+                    0 => 'application/onenote',
+                ),
+            'onepkg' =>
+                array(
+                    0 => 'application/onenote',
+                ),
+            'oxps' =>
+                array(
+                    0 => 'application/oxps',
+                ),
+            'xer' =>
+                array(
+                    0 => 'application/patch-ops-error+xml',
+                ),
+            'pdf' =>
+                array(
+                    0 => 'application/pdf',
+                ),
+            'pgp' =>
+                array(
+                    0 => 'application/pgp-encrypted',
+                ),
+            'asc' =>
+                array(
+                    0 => 'application/pgp-signature',
+                ),
+            'sig' =>
+                array(
+                    0 => 'application/pgp-signature',
+                ),
+            'prf' =>
+                array(
+                    0 => 'application/pics-rules',
+                ),
+            'p10' =>
+                array(
+                    0 => 'application/pkcs10',
+                ),
+            'p7m' =>
+                array(
+                    0 => 'application/pkcs7-mime',
+                ),
+            'p7c' =>
+                array(
+                    0 => 'application/pkcs7-mime',
+                ),
+            'p7s' =>
+                array(
+                    0 => 'application/pkcs7-signature',
+                ),
+            'p8' =>
+                array(
+                    0 => 'application/pkcs8',
+                ),
+            'ac' =>
+                array(
+                    0 => 'application/pkix-attr-cert',
+                ),
+            'cer' =>
+                array(
+                    0 => 'application/pkix-cert',
+                ),
+            'crl' =>
+                array(
+                    0 => 'application/pkix-crl',
+                ),
+            'pkipath' =>
+                array(
+                    0 => 'application/pkix-pkipath',
+                ),
+            'pki' =>
+                array(
+                    0 => 'application/pkixcmp',
+                ),
+            'pls' =>
+                array(
+                    0 => 'application/pls+xml',
+                ),
+            'ai' =>
+                array(
+                    0 => 'application/postscript',
+                ),
+            'eps' =>
+                array(
+                    0 => 'application/postscript',
+                ),
+            'ps' =>
+                array(
+                    0 => 'application/postscript',
+                ),
+            'cww' =>
+                array(
+                    0 => 'application/prs.cww',
+                ),
+            'pskcxml' =>
+                array(
+                    0 => 'application/pskc+xml',
+                ),
+            'rdf' =>
+                array(
+                    0 => 'application/rdf+xml',
+                ),
+            'rif' =>
+                array(
+                    0 => 'application/reginfo+xml',
+                ),
+            'rnc' =>
+                array(
+                    0 => 'application/relax-ng-compact-syntax',
+                ),
+            'rl' =>
+                array(
+                    0 => 'application/resource-lists+xml',
+                ),
+            'rld' =>
+                array(
+                    0 => 'application/resource-lists-diff+xml',
+                ),
+            'rs' =>
+                array(
+                    0 => 'application/rls-services+xml',
+                ),
+            'gbr' =>
+                array(
+                    0 => 'application/rpki-ghostbusters',
+                ),
+            'mft' =>
+                array(
+                    0 => 'application/rpki-manifest',
+                ),
+            'roa' =>
+                array(
+                    0 => 'application/rpki-roa',
+                ),
+            'rsd' =>
+                array(
+                    0 => 'application/rsd+xml',
+                ),
+            'rss' =>
+                array(
+                    0 => 'application/rss+xml',
+                ),
+            'rtf' =>
+                array(
+                    0 => 'application/rtf',
+                ),
+            'sbml' =>
+                array(
+                    0 => 'application/sbml+xml',
+                ),
+            'scq' =>
+                array(
+                    0 => 'application/scvp-cv-request',
+                ),
+            'scs' =>
+                array(
+                    0 => 'application/scvp-cv-response',
+                ),
+            'spq' =>
+                array(
+                    0 => 'application/scvp-vp-request',
+                ),
+            'spp' =>
+                array(
+                    0 => 'application/scvp-vp-response',
+                ),
+            'sdp' =>
+                array(
+                    0 => 'application/sdp',
+                ),
+            'setpay' =>
+                array(
+                    0 => 'application/set-payment-initiation',
+                ),
+            'setreg' =>
+                array(
+                    0 => 'application/set-registration-initiation',
+                ),
+            'shf' =>
+                array(
+                    0 => 'application/shf+xml',
+                ),
+            'smi' =>
+                array(
+                    0 => 'application/smil+xml',
+                ),
+            'smil' =>
+                array(
+                    0 => 'application/smil+xml',
+                ),
+            'rq' =>
+                array(
+                    0 => 'application/sparql-query',
+                ),
+            'srx' =>
+                array(
+                    0 => 'application/sparql-results+xml',
+                ),
+            'gram' =>
+                array(
+                    0 => 'application/srgs',
+                ),
+            'grxml' =>
+                array(
+                    0 => 'application/srgs+xml',
+                ),
+            'sru' =>
+                array(
+                    0 => 'application/sru+xml',
+                ),
+            'ssdl' =>
+                array(
+                    0 => 'application/ssdl+xml',
+                ),
+            'ssml' =>
+                array(
+                    0 => 'application/ssml+xml',
+                ),
+            'tei' =>
+                array(
+                    0 => 'application/tei+xml',
+                ),
+            'teicorpus' =>
+                array(
+                    0 => 'application/tei+xml',
+                ),
+            'tfi' =>
+                array(
+                    0 => 'application/thraud+xml',
+                ),
+            'tsd' =>
+                array(
+                    0 => 'application/timestamped-data',
+                ),
+            'plb' =>
+                array(
+                    0 => 'application/vnd.3gpp.pic-bw-large',
+                ),
+            'psb' =>
+                array(
+                    0 => 'application/vnd.3gpp.pic-bw-small',
+                ),
+            'pvb' =>
+                array(
+                    0 => 'application/vnd.3gpp.pic-bw-var',
+                ),
+            'tcap' =>
+                array(
+                    0 => 'application/vnd.3gpp2.tcap',
+                ),
+            'pwn' =>
+                array(
+                    0 => 'application/vnd.3m.post-it-notes',
+                ),
+            'aso' =>
+                array(
+                    0 => 'application/vnd.accpac.simply.aso',
+                ),
+            'imp' =>
+                array(
+                    0 => 'application/vnd.accpac.simply.imp',
+                ),
+            'acu' =>
+                array(
+                    0 => 'application/vnd.acucobol',
+                ),
+            'atc' =>
+                array(
+                    0 => 'application/vnd.acucorp',
+                ),
+            'acutc' =>
+                array(
+                    0 => 'application/vnd.acucorp',
+                ),
+            'air' =>
+                array(
+                    0 => 'application/vnd.adobe.air-application-installer-package+zip',
+                ),
+            'fcdt' =>
+                array(
+                    0 => 'application/vnd.adobe.formscentral.fcdt',
+                ),
+            'fxp' =>
+                array(
+                    0 => 'application/vnd.adobe.fxp',
+                ),
+            'fxpl' =>
+                array(
+                    0 => 'application/vnd.adobe.fxp',
+                ),
+            'xdp' =>
+                array(
+                    0 => 'application/vnd.adobe.xdp+xml',
+                ),
+            'xfdf' =>
+                array(
+                    0 => 'application/vnd.adobe.xfdf',
+                ),
+            'ahead' =>
+                array(
+                    0 => 'application/vnd.ahead.space',
+                ),
+            'azf' =>
+                array(
+                    0 => 'application/vnd.airzip.filesecure.azf',
+                ),
+            'azs' =>
+                array(
+                    0 => 'application/vnd.airzip.filesecure.azs',
+                ),
+            'azw' =>
+                array(
+                    0 => 'application/vnd.amazon.ebook',
+                ),
+            'acc' =>
+                array(
+                    0 => 'application/vnd.americandynamics.acc',
+                ),
+            'ami' =>
+                array(
+                    0 => 'application/vnd.amiga.ami',
+                ),
+            'apk' =>
+                array(
+                    0 => 'application/vnd.android.package-archive',
+                ),
+            'cii' =>
+                array(
+                    0 => 'application/vnd.anser-web-certificate-issue-initiation',
+                ),
+            'fti' =>
+                array(
+                    0 => 'application/vnd.anser-web-funds-transfer-initiation',
+                ),
+            'atx' =>
+                array(
+                    0 => 'application/vnd.antix.game-component',
+                ),
+            'mpkg' =>
+                array(
+                    0 => 'application/vnd.apple.installer+xml',
+                ),
+            'm3u8' =>
+                array(
+                    0 => 'application/vnd.apple.mpegurl',
+                ),
+            'swi' =>
+                array(
+                    0 => 'application/vnd.aristanetworks.swi',
+                ),
+            'iota' =>
+                array(
+                    0 => 'application/vnd.astraea-software.iota',
+                ),
+            'aep' =>
+                array(
+                    0 => 'application/vnd.audiograph',
+                ),
+            'mpm' =>
+                array(
+                    0 => 'application/vnd.blueice.multipass',
+                ),
+            'bmi' =>
+                array(
+                    0 => 'application/vnd.bmi',
+                ),
+            'rep' =>
+                array(
+                    0 => 'application/vnd.businessobjects',
+                ),
+            'cdxml' =>
+                array(
+                    0 => 'application/vnd.chemdraw+xml',
+                ),
+            'mmd' =>
+                array(
+                    0 => 'application/vnd.chipnuts.karaoke-mmd',
+                ),
+            'cdy' =>
+                array(
+                    0 => 'application/vnd.cinderella',
+                ),
+            'cla' =>
+                array(
+                    0 => 'application/vnd.claymore',
+                ),
+            'rp9' =>
+                array(
+                    0 => 'application/vnd.cloanto.rp9',
+                ),
+            'c4g' =>
+                array(
+                    0 => 'application/vnd.clonk.c4group',
+                ),
+            'c4d' =>
+                array(
+                    0 => 'application/vnd.clonk.c4group',
+                ),
+            'c4f' =>
+                array(
+                    0 => 'application/vnd.clonk.c4group',
+                ),
+            'c4p' =>
+                array(
+                    0 => 'application/vnd.clonk.c4group',
+                ),
+            'c4u' =>
+                array(
+                    0 => 'application/vnd.clonk.c4group',
+                ),
+            'c11amc' =>
+                array(
+                    0 => 'application/vnd.cluetrust.cartomobile-config',
+                ),
+            'c11amz' =>
+                array(
+                    0 => 'application/vnd.cluetrust.cartomobile-config-pkg',
+                ),
+            'csp' =>
+                array(
+                    0 => 'application/vnd.commonspace',
+                ),
+            'cdbcmsg' =>
+                array(
+                    0 => 'application/vnd.contact.cmsg',
+                ),
+            'cmc' =>
+                array(
+                    0 => 'application/vnd.cosmocaller',
+                ),
+            'clkx' =>
+                array(
+                    0 => 'application/vnd.crick.clicker',
+                ),
+            'clkk' =>
+                array(
+                    0 => 'application/vnd.crick.clicker.keyboard',
+                ),
+            'clkp' =>
+                array(
+                    0 => 'application/vnd.crick.clicker.palette',
+                ),
+            'clkt' =>
+                array(
+                    0 => 'application/vnd.crick.clicker.template',
+                ),
+            'clkw' =>
+                array(
+                    0 => 'application/vnd.crick.clicker.wordbank',
+                ),
+            'wbs' =>
+                array(
+                    0 => 'application/vnd.criticaltools.wbs+xml',
+                ),
+            'pml' =>
+                array(
+                    0 => 'application/vnd.ctc-posml',
+                ),
+            'ppd' =>
+                array(
+                    0 => 'application/vnd.cups-ppd',
+                ),
+            'car' =>
+                array(
+                    0 => 'application/vnd.curl.car',
+                ),
+            'pcurl' =>
+                array(
+                    0 => 'application/vnd.curl.pcurl',
+                ),
+            'dart' =>
+                array(
+                    0 => 'application/vnd.dart',
+                ),
+            'rdz' =>
+                array(
+                    0 => 'application/vnd.data-vision.rdz',
+                ),
+            'uvf' =>
+                array(
+                    0 => 'application/vnd.dece.data',
+                ),
+            'uvvf' =>
+                array(
+                    0 => 'application/vnd.dece.data',
+                ),
+            'uvd' =>
+                array(
+                    0 => 'application/vnd.dece.data',
+                ),
+            'uvvd' =>
+                array(
+                    0 => 'application/vnd.dece.data',
+                ),
+            'uvt' =>
+                array(
+                    0 => 'application/vnd.dece.ttml+xml',
+                ),
+            'uvvt' =>
+                array(
+                    0 => 'application/vnd.dece.ttml+xml',
+                ),
+            'uvx' =>
+                array(
+                    0 => 'application/vnd.dece.unspecified',
+                ),
+            'uvvx' =>
+                array(
+                    0 => 'application/vnd.dece.unspecified',
+                ),
+            'uvz' =>
+                array(
+                    0 => 'application/vnd.dece.zip',
+                ),
+            'uvvz' =>
+                array(
+                    0 => 'application/vnd.dece.zip',
+                ),
+            'fe_launch' =>
+                array(
+                    0 => 'application/vnd.denovo.fcselayout-link',
+                ),
+            'dna' =>
+                array(
+                    0 => 'application/vnd.dna',
+                ),
+            'mlp' =>
+                array(
+                    0 => 'application/vnd.dolby.mlp',
+                ),
+            'dpg' =>
+                array(
+                    0 => 'application/vnd.dpgraph',
+                ),
+            'dfac' =>
+                array(
+                    0 => 'application/vnd.dreamfactory',
+                ),
+            'kpxx' =>
+                array(
+                    0 => 'application/vnd.ds-keypoint',
+                ),
+            'ait' =>
+                array(
+                    0 => 'application/vnd.dvb.ait',
+                ),
+            'svc' =>
+                array(
+                    0 => 'application/vnd.dvb.service',
+                ),
+            'geo' =>
+                array(
+                    0 => 'application/vnd.dynageo',
+                ),
+            'mag' =>
+                array(
+                    0 => 'application/vnd.ecowin.chart',
+                ),
+            'nml' =>
+                array(
+                    0 => 'application/vnd.enliven',
+                ),
+            'esf' =>
+                array(
+                    0 => 'application/vnd.epson.esf',
+                ),
+            'msf' =>
+                array(
+                    0 => 'application/vnd.epson.msf',
+                ),
+            'qam' =>
+                array(
+                    0 => 'application/vnd.epson.quickanime',
+                ),
+            'slt' =>
+                array(
+                    0 => 'application/vnd.epson.salt',
+                ),
+            'ssf' =>
+                array(
+                    0 => 'application/vnd.epson.ssf',
+                ),
+            'es3' =>
+                array(
+                    0 => 'application/vnd.eszigno3+xml',
+                ),
+            'et3' =>
+                array(
+                    0 => 'application/vnd.eszigno3+xml',
+                ),
+            'ez2' =>
+                array(
+                    0 => 'application/vnd.ezpix-album',
+                ),
+            'ez3' =>
+                array(
+                    0 => 'application/vnd.ezpix-package',
+                ),
+            'fdf' =>
+                array(
+                    0 => 'application/vnd.fdf',
+                ),
+            'mseed' =>
+                array(
+                    0 => 'application/vnd.fdsn.mseed',
+                ),
+            'seed' =>
+                array(
+                    0 => 'application/vnd.fdsn.seed',
+                ),
+            'dataless' =>
+                array(
+                    0 => 'application/vnd.fdsn.seed',
+                ),
+            'gph' =>
+                array(
+                    0 => 'application/vnd.flographit',
+                ),
+            'ftc' =>
+                array(
+                    0 => 'application/vnd.fluxtime.clip',
+                ),
+            'fm' =>
+                array(
+                    0 => 'application/vnd.framemaker',
+                ),
+            'frame' =>
+                array(
+                    0 => 'application/vnd.framemaker',
+                ),
+            'maker' =>
+                array(
+                    0 => 'application/vnd.framemaker',
+                ),
+            'book' =>
+                array(
+                    0 => 'application/vnd.framemaker',
+                ),
+            'fnc' =>
+                array(
+                    0 => 'application/vnd.frogans.fnc',
+                ),
+            'ltf' =>
+                array(
+                    0 => 'application/vnd.frogans.ltf',
+                ),
+            'fsc' =>
+                array(
+                    0 => 'application/vnd.fsc.weblaunch',
+                ),
+            'oas' =>
+                array(
+                    0 => 'application/vnd.fujitsu.oasys',
+                ),
+            'oa2' =>
+                array(
+                    0 => 'application/vnd.fujitsu.oasys2',
+                ),
+            'oa3' =>
+                array(
+                    0 => 'application/vnd.fujitsu.oasys3',
+                ),
+            'fg5' =>
+                array(
+                    0 => 'application/vnd.fujitsu.oasysgp',
+                ),
+            'bh2' =>
+                array(
+                    0 => 'application/vnd.fujitsu.oasysprs',
+                ),
+            'ddd' =>
+                array(
+                    0 => 'application/vnd.fujixerox.ddd',
+                ),
+            'xdw' =>
+                array(
+                    0 => 'application/vnd.fujixerox.docuworks',
+                ),
+            'xbd' =>
+                array(
+                    0 => 'application/vnd.fujixerox.docuworks.binder',
+                ),
+            'fzs' =>
+                array(
+                    0 => 'application/vnd.fuzzysheet',
+                ),
+            'txd' =>
+                array(
+                    0 => 'application/vnd.genomatix.tuxedo',
+                ),
+            'ggb' =>
+                array(
+                    0 => 'application/vnd.geogebra.file',
+                ),
+            'ggt' =>
+                array(
+                    0 => 'application/vnd.geogebra.tool',
+                ),
+            'gex' =>
+                array(
+                    0 => 'application/vnd.geometry-explorer',
+                ),
+            'gre' =>
+                array(
+                    0 => 'application/vnd.geometry-explorer',
+                ),
+            'gxt' =>
+                array(
+                    0 => 'application/vnd.geonext',
+                ),
+            'g2w' =>
+                array(
+                    0 => 'application/vnd.geoplan',
+                ),
+            'g3w' =>
+                array(
+                    0 => 'application/vnd.geospace',
+                ),
+            'gmx' =>
+                array(
+                    0 => 'application/vnd.gmx',
+                ),
+            'kml' =>
+                array(
+                    0 => 'application/vnd.google-earth.kml+xml',
+                ),
+            'kmz' =>
+                array(
+                    0 => 'application/vnd.google-earth.kmz',
+                ),
+            'gqf' =>
+                array(
+                    0 => 'application/vnd.grafeq',
+                ),
+            'gqs' =>
+                array(
+                    0 => 'application/vnd.grafeq',
+                ),
+            'gac' =>
+                array(
+                    0 => 'application/vnd.groove-account',
+                ),
+            'ghf' =>
+                array(
+                    0 => 'application/vnd.groove-help',
+                ),
+            'gim' =>
+                array(
+                    0 => 'application/vnd.groove-identity-message',
+                ),
+            'grv' =>
+                array(
+                    0 => 'application/vnd.groove-injector',
+                ),
+            'gtm' =>
+                array(
+                    0 => 'application/vnd.groove-tool-message',
+                ),
+            'tpl' =>
+                array(
+                    0 => 'application/vnd.groove-tool-template',
+                ),
+            'vcg' =>
+                array(
+                    0 => 'application/vnd.groove-vcard',
+                ),
+            'hal' =>
+                array(
+                    0 => 'application/vnd.hal+xml',
+                ),
+            'zmm' =>
+                array(
+                    0 => 'application/vnd.handheld-entertainment+xml',
+                ),
+            'hbci' =>
+                array(
+                    0 => 'application/vnd.hbci',
+                ),
+            'les' =>
+                array(
+                    0 => 'application/vnd.hhe.lesson-player',
+                ),
+            'hpgl' =>
+                array(
+                    0 => 'application/vnd.hp-hpgl',
+                ),
+            'hpid' =>
+                array(
+                    0 => 'application/vnd.hp-hpid',
+                ),
+            'hps' =>
+                array(
+                    0 => 'application/vnd.hp-hps',
+                ),
+            'jlt' =>
+                array(
+                    0 => 'application/vnd.hp-jlyt',
+                ),
+            'pcl' =>
+                array(
+                    0 => 'application/vnd.hp-pcl',
+                ),
+            'pclxl' =>
+                array(
+                    0 => 'application/vnd.hp-pclxl',
+                ),
+            'sfd-hdstx' =>
+                array(
+                    0 => 'application/vnd.hydrostatix.sof-data',
+                ),
+            'mpy' =>
+                array(
+                    0 => 'application/vnd.ibm.minipay',
+                ),
+            'afp' =>
+                array(
+                    0 => 'application/vnd.ibm.modcap',
+                ),
+            'listafp' =>
+                array(
+                    0 => 'application/vnd.ibm.modcap',
+                ),
+            'list3820' =>
+                array(
+                    0 => 'application/vnd.ibm.modcap',
+                ),
+            'irm' =>
+                array(
+                    0 => 'application/vnd.ibm.rights-management',
+                ),
+            'sc' =>
+                array(
+                    0 => 'application/vnd.ibm.secure-container',
+                ),
+            'icc' =>
+                array(
+                    0 => 'application/vnd.iccprofile',
+                ),
+            'icm' =>
+                array(
+                    0 => 'application/vnd.iccprofile',
+                ),
+            'igl' =>
+                array(
+                    0 => 'application/vnd.igloader',
+                ),
+            'ivp' =>
+                array(
+                    0 => 'application/vnd.immervision-ivp',
+                ),
+            'ivu' =>
+                array(
+                    0 => 'application/vnd.immervision-ivu',
+                ),
+            'igm' =>
+                array(
+                    0 => 'application/vnd.insors.igm',
+                ),
+            'xpw' =>
+                array(
+                    0 => 'application/vnd.intercon.formnet',
+                ),
+            'xpx' =>
+                array(
+                    0 => 'application/vnd.intercon.formnet',
+                ),
+            'i2g' =>
+                array(
+                    0 => 'application/vnd.intergeo',
+                ),
+            'qbo' =>
+                array(
+                    0 => 'application/vnd.intu.qbo',
+                ),
+            'qfx' =>
+                array(
+                    0 => 'application/vnd.intu.qfx',
+                ),
+            'rcprofile' =>
+                array(
+                    0 => 'application/vnd.ipunplugged.rcprofile',
+                ),
+            'irp' =>
+                array(
+                    0 => 'application/vnd.irepository.package+xml',
+                ),
+            'xpr' =>
+                array(
+                    0 => 'application/vnd.is-xpr',
+                ),
+            'fcs' =>
+                array(
+                    0 => 'application/vnd.isac.fcs',
+                ),
+            'jam' =>
+                array(
+                    0 => 'application/vnd.jam',
+                ),
+            'rms' =>
+                array(
+                    0 => 'application/vnd.jcp.javame.midlet-rms',
+                ),
+            'jisp' =>
+                array(
+                    0 => 'application/vnd.jisp',
+                ),
+            'joda' =>
+                array(
+                    0 => 'application/vnd.joost.joda-archive',
+                ),
+            'ktz' =>
+                array(
+                    0 => 'application/vnd.kahootz',
+                ),
+            'ktr' =>
+                array(
+                    0 => 'application/vnd.kahootz',
+                ),
+            'karbon' =>
+                array(
+                    0 => 'application/vnd.kde.karbon',
+                ),
+            'chrt' =>
+                array(
+                    0 => 'application/vnd.kde.kchart',
+                ),
+            'kfo' =>
+                array(
+                    0 => 'application/vnd.kde.kformula',
+                ),
+            'flw' =>
+                array(
+                    0 => 'application/vnd.kde.kivio',
+                ),
+            'kon' =>
+                array(
+                    0 => 'application/vnd.kde.kontour',
+                ),
+            'kpr' =>
+                array(
+                    0 => 'application/vnd.kde.kpresenter',
+                ),
+            'kpt' =>
+                array(
+                    0 => 'application/vnd.kde.kpresenter',
+                ),
+            'ksp' =>
+                array(
+                    0 => 'application/vnd.kde.kspread',
+                ),
+            'kwd' =>
+                array(
+                    0 => 'application/vnd.kde.kword',
+                ),
+            'kwt' =>
+                array(
+                    0 => 'application/vnd.kde.kword',
+                ),
+            'htke' =>
+                array(
+                    0 => 'application/vnd.kenameaapp',
+                ),
+            'kia' =>
+                array(
+                    0 => 'application/vnd.kidspiration',
+                ),
+            'kne' =>
+                array(
+                    0 => 'application/vnd.kinar',
+                ),
+            'knp' =>
+                array(
+                    0 => 'application/vnd.kinar',
+                ),
+            'skp' =>
+                array(
+                    0 => 'application/vnd.koan',
+                ),
+            'skd' =>
+                array(
+                    0 => 'application/vnd.koan',
+                ),
+            'skt' =>
+                array(
+                    0 => 'application/vnd.koan',
+                ),
+            'skm' =>
+                array(
+                    0 => 'application/vnd.koan',
+                ),
+            'sse' =>
+                array(
+                    0 => 'application/vnd.kodak-descriptor',
+                ),
+            'lasxml' =>
+                array(
+                    0 => 'application/vnd.las.las+xml',
+                ),
+            'lbd' =>
+                array(
+                    0 => 'application/vnd.llamagraphics.life-balance.desktop',
+                ),
+            'lbe' =>
+                array(
+                    0 => 'application/vnd.llamagraphics.life-balance.exchange+xml',
+                ),
+            123 =>
+                array(
+                    0 => 'application/vnd.lotus-1-2-3',
+                ),
+            'apr' =>
+                array(
+                    0 => 'application/vnd.lotus-approach',
+                ),
+            'pre' =>
+                array(
+                    0 => 'application/vnd.lotus-freelance',
+                ),
+            'nsf' =>
+                array(
+                    0 => 'application/vnd.lotus-notes',
+                ),
+            'org' =>
+                array(
+                    0 => 'application/vnd.lotus-organizer',
+                ),
+            'scm' =>
+                array(
+                    0 => 'application/vnd.lotus-screencam',
+                ),
+            'lwp' =>
+                array(
+                    0 => 'application/vnd.lotus-wordpro',
+                ),
+            'portpkg' =>
+                array(
+                    0 => 'application/vnd.macports.portpkg',
+                ),
+            'mcd' =>
+                array(
+                    0 => 'application/vnd.mcd',
+                ),
+            'mc1' =>
+                array(
+                    0 => 'application/vnd.medcalcdata',
+                ),
+            'cdkey' =>
+                array(
+                    0 => 'application/vnd.mediastation.cdkey',
+                ),
+            'mwf' =>
+                array(
+                    0 => 'application/vnd.mfer',
+                ),
+            'mfm' =>
+                array(
+                    0 => 'application/vnd.mfmp',
+                ),
+            'flo' =>
+                array(
+                    0 => 'application/vnd.micrografx.flo',
+                ),
+            'igx' =>
+                array(
+                    0 => 'application/vnd.micrografx.igx',
+                ),
+            'mif' =>
+                array(
+                    0 => 'application/vnd.mif',
+                ),
+            'daf' =>
+                array(
+                    0 => 'application/vnd.mobius.daf',
+                ),
+            'dis' =>
+                array(
+                    0 => 'application/vnd.mobius.dis',
+                ),
+            'mbk' =>
+                array(
+                    0 => 'application/vnd.mobius.mbk',
+                ),
+            'mqy' =>
+                array(
+                    0 => 'application/vnd.mobius.mqy',
+                ),
+            'msl' =>
+                array(
+                    0 => 'application/vnd.mobius.msl',
+                ),
+            'plc' =>
+                array(
+                    0 => 'application/vnd.mobius.plc',
+                ),
+            'txf' =>
+                array(
+                    0 => 'application/vnd.mobius.txf',
+                ),
+            'mpn' =>
+                array(
+                    0 => 'application/vnd.mophun.application',
+                ),
+            'mpc' =>
+                array(
+                    0 => 'application/vnd.mophun.certificate',
+                ),
+            'xul' =>
+                array(
+                    0 => 'application/vnd.mozilla.xul+xml',
+                ),
+            'cil' =>
+                array(
+                    0 => 'application/vnd.ms-artgalry',
+                ),
+            'cab' =>
+                array(
+                    0 => 'application/vnd.ms-cab-compressed',
+                ),
+            'xls' =>
+                array(
+                    0 => 'application/vnd.ms-excel',
+                ),
+            'xlm' =>
+                array(
+                    0 => 'application/vnd.ms-excel',
+                ),
+            'xla' =>
+                array(
+                    0 => 'application/vnd.ms-excel',
+                ),
+            'xlc' =>
+                array(
+                    0 => 'application/vnd.ms-excel',
+                ),
+            'xlt' =>
+                array(
+                    0 => 'application/vnd.ms-excel',
+                ),
+            'xlw' =>
+                array(
+                    0 => 'application/vnd.ms-excel',
+                ),
+            'xlam' =>
+                array(
+                    0 => 'application/vnd.ms-excel.addin.macroenabled.12',
+                ),
+            'xlsb' =>
+                array(
+                    0 => 'application/vnd.ms-excel.sheet.binary.macroenabled.12',
+                ),
+            'xlsm' =>
+                array(
+                    0 => 'application/vnd.ms-excel.sheet.macroenabled.12',
+                ),
+            'xltm' =>
+                array(
+                    0 => 'application/vnd.ms-excel.template.macroenabled.12',
+                ),
+            'eot' =>
+                array(
+                    0 => 'application/vnd.ms-fontobject',
+                ),
+            'chm' =>
+                array(
+                    0 => 'application/vnd.ms-htmlhelp',
+                ),
+            'ims' =>
+                array(
+                    0 => 'application/vnd.ms-ims',
+                ),
+            'lrm' =>
+                array(
+                    0 => 'application/vnd.ms-lrm',
+                ),
+            'thmx' =>
+                array(
+                    0 => 'application/vnd.ms-officetheme',
+                ),
+            'cat' =>
+                array(
+                    0 => 'application/vnd.ms-pki.seccat',
+                ),
+            'stl' =>
+                array(
+                    0 => 'application/vnd.ms-pki.stl',
+                ),
+            'ppt' =>
+                array(
+                    0 => 'application/vnd.ms-powerpoint',
+                ),
+            'pps' =>
+                array(
+                    0 => 'application/vnd.ms-powerpoint',
+                ),
+            'pot' =>
+                array(
+                    0 => 'application/vnd.ms-powerpoint',
+                ),
+            'ppam' =>
+                array(
+                    0 => 'application/vnd.ms-powerpoint.addin.macroenabled.12',
+                ),
+            'pptm' =>
+                array(
+                    0 => 'application/vnd.ms-powerpoint.presentation.macroenabled.12',
+                ),
+            'sldm' =>
+                array(
+                    0 => 'application/vnd.ms-powerpoint.slide.macroenabled.12',
+                ),
+            'ppsm' =>
+                array(
+                    0 => 'application/vnd.ms-powerpoint.slideshow.macroenabled.12',
+                ),
+            'potm' =>
+                array(
+                    0 => 'application/vnd.ms-powerpoint.template.macroenabled.12',
+                ),
+            'mpp' =>
+                array(
+                    0 => 'application/vnd.ms-project',
+                ),
+            'mpt' =>
+                array(
+                    0 => 'application/vnd.ms-project',
+                ),
+            'docm' =>
+                array(
+                    0 => 'application/vnd.ms-word.document.macroenabled.12',
+                ),
+            'dotm' =>
+                array(
+                    0 => 'application/vnd.ms-word.template.macroenabled.12',
+                ),
+            'wps' =>
+                array(
+                    0 => 'application/vnd.ms-works',
+                ),
+            'wks' =>
+                array(
+                    0 => 'application/vnd.ms-works',
+                ),
+            'wcm' =>
+                array(
+                    0 => 'application/vnd.ms-works',
+                ),
+            'wdb' =>
+                array(
+                    0 => 'application/vnd.ms-works',
+                ),
+            'wpl' =>
+                array(
+                    0 => 'application/vnd.ms-wpl',
+                ),
+            'xps' =>
+                array(
+                    0 => 'application/vnd.ms-xpsdocument',
+                ),
+            'mseq' =>
+                array(
+                    0 => 'application/vnd.mseq',
+                ),
+            'mus' =>
+                array(
+                    0 => 'application/vnd.musician',
+                ),
+            'msty' =>
+                array(
+                    0 => 'application/vnd.muvee.style',
+                ),
+            'taglet' =>
+                array(
+                    0 => 'application/vnd.mynfc',
+                ),
+            'nlu' =>
+                array(
+                    0 => 'application/vnd.neurolanguage.nlu',
+                ),
+            'ntf' =>
+                array(
+                    0 => 'application/vnd.nitf',
+                ),
+            'nitf' =>
+                array(
+                    0 => 'application/vnd.nitf',
+                ),
+            'nnd' =>
+                array(
+                    0 => 'application/vnd.noblenet-directory',
+                ),
+            'nns' =>
+                array(
+                    0 => 'application/vnd.noblenet-sealer',
+                ),
+            'nnw' =>
+                array(
+                    0 => 'application/vnd.noblenet-web',
+                ),
+            'ngdat' =>
+                array(
+                    0 => 'application/vnd.nokia.n-gage.data',
+                ),
+            'n-gage' =>
+                array(
+                    0 => 'application/vnd.nokia.n-gage.symbian.install',
+                ),
+            'rpst' =>
+                array(
+                    0 => 'application/vnd.nokia.radio-preset',
+                ),
+            'rpss' =>
+                array(
+                    0 => 'application/vnd.nokia.radio-presets',
+                ),
+            'edm' =>
+                array(
+                    0 => 'application/vnd.novadigm.edm',
+                ),
+            'edx' =>
+                array(
+                    0 => 'application/vnd.novadigm.edx',
+                ),
+            'ext' =>
+                array(
+                    0 => 'application/vnd.novadigm.ext',
+                ),
+            'odc' =>
+                array(
+                    0 => 'application/vnd.oasis.opendocument.chart',
+                ),
+            'otc' =>
+                array(
+                    0 => 'application/vnd.oasis.opendocument.chart-template',
+                ),
+            'odb' =>
+                array(
+                    0 => 'application/vnd.oasis.opendocument.database',
+                ),
+            'odf' =>
+                array(
+                    0 => 'application/vnd.oasis.opendocument.formula',
+                ),
+            'odft' =>
+                array(
+                    0 => 'application/vnd.oasis.opendocument.formula-template',
+                ),
+            'odg' =>
+                array(
+                    0 => 'application/vnd.oasis.opendocument.graphics',
+                ),
+            'otg' =>
+                array(
+                    0 => 'application/vnd.oasis.opendocument.graphics-template',
+                ),
+            'odi' =>
+                array(
+                    0 => 'application/vnd.oasis.opendocument.image',
+                ),
+            'oti' =>
+                array(
+                    0 => 'application/vnd.oasis.opendocument.image-template',
+                ),
+            'odp' =>
+                array(
+                    0 => 'application/vnd.oasis.opendocument.presentation',
+                ),
+            'otp' =>
+                array(
+                    0 => 'application/vnd.oasis.opendocument.presentation-template',
+                ),
+            'ods' =>
+                array(
+                    0 => 'application/vnd.oasis.opendocument.spreadsheet',
+                ),
+            'ots' =>
+                array(
+                    0 => 'application/vnd.oasis.opendocument.spreadsheet-template',
+                ),
+            'odt' =>
+                array(
+                    0 => 'application/vnd.oasis.opendocument.text',
+                ),
+            'odm' =>
+                array(
+                    0 => 'application/vnd.oasis.opendocument.text-master',
+                ),
+            'ott' =>
+                array(
+                    0 => 'application/vnd.oasis.opendocument.text-template',
+                ),
+            'oth' =>
+                array(
+                    0 => 'application/vnd.oasis.opendocument.text-web',
+                ),
+            'xo' =>
+                array(
+                    0 => 'application/vnd.olpc-sugar',
+                ),
+            'dd2' =>
+                array(
+                    0 => 'application/vnd.oma.dd2+xml',
+                ),
+            'oxt' =>
+                array(
+                    0 => 'application/vnd.openofficeorg.extension',
+                ),
+            'pptx' =>
+                array(
+                    0 => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
+                ),
+            'sldx' =>
+                array(
+                    0 => 'application/vnd.openxmlformats-officedocument.presentationml.slide',
+                ),
+            'ppsx' =>
+                array(
+                    0 => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',
+                ),
+            'potx' =>
+                array(
+                    0 => 'application/vnd.openxmlformats-officedocument.presentationml.template',
+                ),
+            'xlsx' =>
+                array(
+                    0 => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
+                ),
+            'xltx' =>
+                array(
+                    0 => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',
+                ),
+            'docx' =>
+                array(
+                    0 => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
+                ),
+            'dotx' =>
+                array(
+                    0 => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',
+                ),
+            'mgp' =>
+                array(
+                    0 => 'application/vnd.osgeo.mapguide.package',
+                ),
+            'dp' =>
+                array(
+                    0 => 'application/vnd.osgi.dp',
+                ),
+            'esa' =>
+                array(
+                    0 => 'application/vnd.osgi.subsystem',
+                ),
+            'pdb' =>
+                array(
+                    0 => 'application/vnd.palm',
+                ),
+            'pqa' =>
+                array(
+                    0 => 'application/vnd.palm',
+                ),
+            'oprc' =>
+                array(
+                    0 => 'application/vnd.palm',
+                ),
+            'paw' =>
+                array(
+                    0 => 'application/vnd.pawaafile',
+                ),
+            'str' =>
+                array(
+                    0 => 'application/vnd.pg.format',
+                ),
+            'ei6' =>
+                array(
+                    0 => 'application/vnd.pg.osasli',
+                ),
+            'efif' =>
+                array(
+                    0 => 'application/vnd.picsel',
+                ),
+            'wg' =>
+                array(
+                    0 => 'application/vnd.pmi.widget',
+                ),
+            'plf' =>
+                array(
+                    0 => 'application/vnd.pocketlearn',
+                ),
+            'pbd' =>
+                array(
+                    0 => 'application/vnd.powerbuilder6',
+                ),
+            'box' =>
+                array(
+                    0 => 'application/vnd.previewsystems.box',
+                ),
+            'mgz' =>
+                array(
+                    0 => 'application/vnd.proteus.magazine',
+                ),
+            'qps' =>
+                array(
+                    0 => 'application/vnd.publishare-delta-tree',
+                ),
+            'ptid' =>
+                array(
+                    0 => 'application/vnd.pvi.ptid1',
+                ),
+            'qxd' =>
+                array(
+                    0 => 'application/vnd.quark.quarkxpress',
+                ),
+            'qxt' =>
+                array(
+                    0 => 'application/vnd.quark.quarkxpress',
+                ),
+            'qwd' =>
+                array(
+                    0 => 'application/vnd.quark.quarkxpress',
+                ),
+            'qwt' =>
+                array(
+                    0 => 'application/vnd.quark.quarkxpress',
+                ),
+            'qxl' =>
+                array(
+                    0 => 'application/vnd.quark.quarkxpress',
+                ),
+            'qxb' =>
+                array(
+                    0 => 'application/vnd.quark.quarkxpress',
+                ),
+            'bed' =>
+                array(
+                    0 => 'application/vnd.realvnc.bed',
+                ),
+            'mxl' =>
+                array(
+                    0 => 'application/vnd.recordare.musicxml',
+                ),
+            'musicxml' =>
+                array(
+                    0 => 'application/vnd.recordare.musicxml+xml',
+                ),
+            'cryptonote' =>
+                array(
+                    0 => 'application/vnd.rig.cryptonote',
+                ),
+            'cod' =>
+                array(
+                    0 => 'application/vnd.rim.cod',
+                ),
+            'rm' =>
+                array(
+                    0 => 'application/vnd.rn-realmedia',
+                ),
+            'rmvb' =>
+                array(
+                    0 => 'application/vnd.rn-realmedia-vbr',
+                ),
+            'link66' =>
+                array(
+                    0 => 'application/vnd.route66.link66+xml',
+                ),
+            'st' =>
+                array(
+                    0 => 'application/vnd.sailingtracker.track',
+                ),
+            'see' =>
+                array(
+                    0 => 'application/vnd.seemail',
+                ),
+            'sema' =>
+                array(
+                    0 => 'application/vnd.sema',
+                ),
+            'semd' =>
+                array(
+                    0 => 'application/vnd.semd',
+                ),
+            'semf' =>
+                array(
+                    0 => 'application/vnd.semf',
+                ),
+            'ifm' =>
+                array(
+                    0 => 'application/vnd.shana.informed.formdata',
+                ),
+            'itp' =>
+                array(
+                    0 => 'application/vnd.shana.informed.formtemplate',
+                ),
+            'iif' =>
+                array(
+                    0 => 'application/vnd.shana.informed.interchange',
+                ),
+            'ipk' =>
+                array(
+                    0 => 'application/vnd.shana.informed.package',
+                ),
+            'twd' =>
+                array(
+                    0 => 'application/vnd.simtech-mindmapper',
+                ),
+            'twds' =>
+                array(
+                    0 => 'application/vnd.simtech-mindmapper',
+                ),
+            'mmf' =>
+                array(
+                    0 => 'application/vnd.smaf',
+                ),
+            'teacher' =>
+                array(
+                    0 => 'application/vnd.smart.teacher',
+                ),
+            'sdkm' =>
+                array(
+                    0 => 'application/vnd.solent.sdkm+xml',
+                ),
+            'sdkd' =>
+                array(
+                    0 => 'application/vnd.solent.sdkm+xml',
+                ),
+            'dxp' =>
+                array(
+                    0 => 'application/vnd.spotfire.dxp',
+                ),
+            'sfs' =>
+                array(
+                    0 => 'application/vnd.spotfire.sfs',
+                ),
+            'sdc' =>
+                array(
+                    0 => 'application/vnd.stardivision.calc',
+                ),
+            'sda' =>
+                array(
+                    0 => 'application/vnd.stardivision.draw',
+                ),
+            'sdd' =>
+                array(
+                    0 => 'application/vnd.stardivision.impress',
+                ),
+            'smf' =>
+                array(
+                    0 => 'application/vnd.stardivision.math',
+                ),
+            'sdw' =>
+                array(
+                    0 => 'application/vnd.stardivision.writer',
+                ),
+            'vor' =>
+                array(
+                    0 => 'application/vnd.stardivision.writer',
+                ),
+            'sgl' =>
+                array(
+                    0 => 'application/vnd.stardivision.writer-global',
+                ),
+            'smzip' =>
+                array(
+                    0 => 'application/vnd.stepmania.package',
+                ),
+            'sm' =>
+                array(
+                    0 => 'application/vnd.stepmania.stepchart',
+                ),
+            'sxc' =>
+                array(
+                    0 => 'application/vnd.sun.xml.calc',
+                ),
+            'stc' =>
+                array(
+                    0 => 'application/vnd.sun.xml.calc.template',
+                ),
+            'sxd' =>
+                array(
+                    0 => 'application/vnd.sun.xml.draw',
+                ),
+            'std' =>
+                array(
+                    0 => 'application/vnd.sun.xml.draw.template',
+                ),
+            'sxi' =>
+                array(
+                    0 => 'application/vnd.sun.xml.impress',
+                ),
+            'sti' =>
+                array(
+                    0 => 'application/vnd.sun.xml.impress.template',
+                ),
+            'sxm' =>
+                array(
+                    0 => 'application/vnd.sun.xml.math',
+                ),
+            'sxw' =>
+                array(
+                    0 => 'application/vnd.sun.xml.writer',
+                ),
+            'sxg' =>
+                array(
+                    0 => 'application/vnd.sun.xml.writer.global',
+                ),
+            'stw' =>
+                array(
+                    0 => 'application/vnd.sun.xml.writer.template',
+                ),
+            'sus' =>
+                array(
+                    0 => 'application/vnd.sus-calendar',
+                ),
+            'susp' =>
+                array(
+                    0 => 'application/vnd.sus-calendar',
+                ),
+            'svd' =>
+                array(
+                    0 => 'application/vnd.svd',
+                ),
+            'sis' =>
+                array(
+                    0 => 'application/vnd.symbian.install',
+                ),
+            'sisx' =>
+                array(
+                    0 => 'application/vnd.symbian.install',
+                ),
+            'xsm' =>
+                array(
+                    0 => 'application/vnd.syncml+xml',
+                ),
+            'bdm' =>
+                array(
+                    0 => 'application/vnd.syncml.dm+wbxml',
+                ),
+            'xdm' =>
+                array(
+                    0 => 'application/vnd.syncml.dm+xml',
+                ),
+            'tao' =>
+                array(
+                    0 => 'application/vnd.tao.intent-module-archive',
+                ),
+            'pcap' =>
+                array(
+                    0 => 'application/vnd.tcpdump.pcap',
+                ),
+            'cap' =>
+                array(
+                    0 => 'application/vnd.tcpdump.pcap',
+                ),
+            'dmp' =>
+                array(
+                    0 => 'application/vnd.tcpdump.pcap',
+                ),
+            'tmo' =>
+                array(
+                    0 => 'application/vnd.tmobile-livetv',
+                ),
+            'tpt' =>
+                array(
+                    0 => 'application/vnd.trid.tpt',
+                ),
+            'mxs' =>
+                array(
+                    0 => 'application/vnd.triscape.mxs',
+                ),
+            'tra' =>
+                array(
+                    0 => 'application/vnd.trueapp',
+                ),
+            'ufd' =>
+                array(
+                    0 => 'application/vnd.ufdl',
+                ),
+            'ufdl' =>
+                array(
+                    0 => 'application/vnd.ufdl',
+                ),
+            'utz' =>
+                array(
+                    0 => 'application/vnd.uiq.theme',
+                ),
+            'umj' =>
+                array(
+                    0 => 'application/vnd.umajin',
+                ),
+            'unityweb' =>
+                array(
+                    0 => 'application/vnd.unity',
+                ),
+            'uoml' =>
+                array(
+                    0 => 'application/vnd.uoml+xml',
+                ),
+            'vcx' =>
+                array(
+                    0 => 'application/vnd.vcx',
+                ),
+            'vsd' =>
+                array(
+                    0 => 'application/vnd.visio',
+                ),
+            'vst' =>
+                array(
+                    0 => 'application/vnd.visio',
+                ),
+            'vss' =>
+                array(
+                    0 => 'application/vnd.visio',
+                ),
+            'vsw' =>
+                array(
+                    0 => 'application/vnd.visio',
+                ),
+            'vis' =>
+                array(
+                    0 => 'application/vnd.visionary',
+                ),
+            'vsf' =>
+                array(
+                    0 => 'application/vnd.vsf',
+                ),
+            'wbxml' =>
+                array(
+                    0 => 'application/vnd.wap.wbxml',
+                ),
+            'wmlc' =>
+                array(
+                    0 => 'application/vnd.wap.wmlc',
+                ),
+            'wmlsc' =>
+                array(
+                    0 => 'application/vnd.wap.wmlscriptc',
+                ),
+            'wtb' =>
+                array(
+                    0 => 'application/vnd.webturbo',
+                ),
+            'nbp' =>
+                array(
+                    0 => 'application/vnd.wolfram.player',
+                ),
+            'wpd' =>
+                array(
+                    0 => 'application/vnd.wordperfect',
+                ),
+            'wqd' =>
+                array(
+                    0 => 'application/vnd.wqd',
+                ),
+            'stf' =>
+                array(
+                    0 => 'application/vnd.wt.stf',
+                ),
+            'xar' =>
+                array(
+                    0 => 'application/vnd.xara',
+                ),
+            'xfdl' =>
+                array(
+                    0 => 'application/vnd.xfdl',
+                ),
+            'hvd' =>
+                array(
+                    0 => 'application/vnd.yamaha.hv-dic',
+                ),
+            'hvs' =>
+                array(
+                    0 => 'application/vnd.yamaha.hv-script',
+                ),
+            'hvp' =>
+                array(
+                    0 => 'application/vnd.yamaha.hv-voice',
+                ),
+            'osf' =>
+                array(
+                    0 => 'application/vnd.yamaha.openscoreformat',
+                ),
+            'osfpvg' =>
+                array(
+                    0 => 'application/vnd.yamaha.openscoreformat.osfpvg+xml',
+                ),
+            'saf' =>
+                array(
+                    0 => 'application/vnd.yamaha.smaf-audio',
+                ),
+            'spf' =>
+                array(
+                    0 => 'application/vnd.yamaha.smaf-phrase',
+                ),
+            'cmp' =>
+                array(
+                    0 => 'application/vnd.yellowriver-custom-menu',
+                ),
+            'zir' =>
+                array(
+                    0 => 'application/vnd.zul',
+                ),
+            'zirz' =>
+                array(
+                    0 => 'application/vnd.zul',
+                ),
+            'zaz' =>
+                array(
+                    0 => 'application/vnd.zzazz.deck+xml',
+                ),
+            'vxml' =>
+                array(
+                    0 => 'application/voicexml+xml',
+                ),
+            'wgt' =>
+                array(
+                    0 => 'application/widget',
+                ),
+            'hlp' =>
+                array(
+                    0 => 'application/winhlp',
+                ),
+            'wsdl' =>
+                array(
+                    0 => 'application/wsdl+xml',
+                ),
+            'wspolicy' =>
+                array(
+                    0 => 'application/wspolicy+xml',
+                ),
+            '7z' =>
+                array(
+                    0 => 'application/x-7z-compressed',
+                ),
+            'abw' =>
+                array(
+                    0 => 'application/x-abiword',
+                ),
+            'ace' =>
+                array(
+                    0 => 'application/x-ace-compressed',
+                ),
+            'dmg' =>
+                array(
+                    0 => 'application/x-apple-diskimage',
+                ),
+            'aab' =>
+                array(
+                    0 => 'application/x-authorware-bin',
+                ),
+            'x32' =>
+                array(
+                    0 => 'application/x-authorware-bin',
+                ),
+            'u32' =>
+                array(
+                    0 => 'application/x-authorware-bin',
+                ),
+            'vox' =>
+                array(
+                    0 => 'application/x-authorware-bin',
+                ),
+            'aam' =>
+                array(
+                    0 => 'application/x-authorware-map',
+                ),
+            'aas' =>
+                array(
+                    0 => 'application/x-authorware-seg',
+                ),
+            'bcpio' =>
+                array(
+                    0 => 'application/x-bcpio',
+                ),
+            'torrent' =>
+                array(
+                    0 => 'application/x-bittorrent',
+                ),
+            'blb' =>
+                array(
+                    0 => 'application/x-blorb',
+                ),
+            'blorb' =>
+                array(
+                    0 => 'application/x-blorb',
+                ),
+            'bz' =>
+                array(
+                    0 => 'application/x-bzip',
+                ),
+            'bz2' =>
+                array(
+                    0 => 'application/x-bzip2',
+                ),
+            'boz' =>
+                array(
+                    0 => 'application/x-bzip2',
+                ),
+            'cbr' =>
+                array(
+                    0 => 'application/x-cbr',
+                ),
+            'cba' =>
+                array(
+                    0 => 'application/x-cbr',
+                ),
+            'cbt' =>
+                array(
+                    0 => 'application/x-cbr',
+                ),
+            'cbz' =>
+                array(
+                    0 => 'application/x-cbr',
+                ),
+            'cb7' =>
+                array(
+                    0 => 'application/x-cbr',
+                ),
+            'vcd' =>
+                array(
+                    0 => 'application/x-cdlink',
+                ),
+            'cfs' =>
+                array(
+                    0 => 'application/x-cfs-compressed',
+                ),
+            'chat' =>
+                array(
+                    0 => 'application/x-chat',
+                ),
+            'pgn' =>
+                array(
+                    0 => 'application/x-chess-pgn',
+                ),
+            'nsc' =>
+                array(
+                    0 => 'application/x-conference',
+                ),
+            'cpio' =>
+                array(
+                    0 => 'application/x-cpio',
+                ),
+            'csh' =>
+                array(
+                    0 => 'application/x-csh',
+                ),
+            'deb' =>
+                array(
+                    0 => 'application/x-debian-package',
+                ),
+            'udeb' =>
+                array(
+                    0 => 'application/x-debian-package',
+                ),
+            'dgc' =>
+                array(
+                    0 => 'application/x-dgc-compressed',
+                ),
+            'dir' =>
+                array(
+                    0 => 'application/x-director',
+                ),
+            'dcr' =>
+                array(
+                    0 => 'application/x-director',
+                ),
+            'dxr' =>
+                array(
+                    0 => 'application/x-director',
+                ),
+            'cst' =>
+                array(
+                    0 => 'application/x-director',
+                ),
+            'cct' =>
+                array(
+                    0 => 'application/x-director',
+                ),
+            'cxt' =>
+                array(
+                    0 => 'application/x-director',
+                ),
+            'w3d' =>
+                array(
+                    0 => 'application/x-director',
+                ),
+            'fgd' =>
+                array(
+                    0 => 'application/x-director',
+                ),
+            'swa' =>
+                array(
+                    0 => 'application/x-director',
+                ),
+            'wad' =>
+                array(
+                    0 => 'application/x-doom',
+                ),
+            'ncx' =>
+                array(
+                    0 => 'application/x-dtbncx+xml',
+                ),
+            'dtb' =>
+                array(
+                    0 => 'application/x-dtbook+xml',
+                ),
+            'res' =>
+                array(
+                    0 => 'application/x-dtbresource+xml',
+                ),
+            'dvi' =>
+                array(
+                    0 => 'application/x-dvi',
+                ),
+            'evy' =>
+                array(
+                    0 => 'application/x-envoy',
+                ),
+            'eva' =>
+                array(
+                    0 => 'application/x-eva',
+                ),
+            'bdf' =>
+                array(
+                    0 => 'application/x-font-bdf',
+                ),
+            'gsf' =>
+                array(
+                    0 => 'application/x-font-ghostscript',
+                ),
+            'psf' =>
+                array(
+                    0 => 'application/x-font-linux-psf',
+                ),
+            'pcf' =>
+                array(
+                    0 => 'application/x-font-pcf',
+                ),
+            'snf' =>
+                array(
+                    0 => 'application/x-font-snf',
+                ),
+            'pfa' =>
+                array(
+                    0 => 'application/x-font-type1',
+                ),
+            'pfb' =>
+                array(
+                    0 => 'application/x-font-type1',
+                ),
+            'pfm' =>
+                array(
+                    0 => 'application/x-font-type1',
+                ),
+            'afm' =>
+                array(
+                    0 => 'application/x-font-type1',
+                ),
+            'arc' =>
+                array(
+                    0 => 'application/x-freearc',
+                ),
+            'spl' =>
+                array(
+                    0 => 'application/x-futuresplash',
+                ),
+            'gca' =>
+                array(
+                    0 => 'application/x-gca-compressed',
+                ),
+            'ulx' =>
+                array(
+                    0 => 'application/x-glulx',
+                ),
+            'gnumeric' =>
+                array(
+                    0 => 'application/x-gnumeric',
+                ),
+            'gramps' =>
+                array(
+                    0 => 'application/x-gramps-xml',
+                ),
+            'gtar' =>
+                array(
+                    0 => 'application/x-gtar',
+                ),
+            'hdf' =>
+                array(
+                    0 => 'application/x-hdf',
+                ),
+            'install' =>
+                array(
+                    0 => 'application/x-install-instructions',
+                ),
+            'iso' =>
+                array(
+                    0 => 'application/x-iso9660-image',
+                ),
+            'jnlp' =>
+                array(
+                    0 => 'application/x-java-jnlp-file',
+                ),
+            'latex' =>
+                array(
+                    0 => 'application/x-latex',
+                ),
+            'lzh' =>
+                array(
+                    0 => 'application/x-lzh-compressed',
+                ),
+            'lha' =>
+                array(
+                    0 => 'application/x-lzh-compressed',
+                ),
+            'mie' =>
+                array(
+                    0 => 'application/x-mie',
+                ),
+            'prc' =>
+                array(
+                    0 => 'application/x-mobipocket-ebook',
+                ),
+            'mobi' =>
+                array(
+                    0 => 'application/x-mobipocket-ebook',
+                ),
+            'application' =>
+                array(
+                    0 => 'application/x-ms-application',
+                ),
+            'lnk' =>
+                array(
+                    0 => 'application/x-ms-shortcut',
+                ),
+            'wmd' =>
+                array(
+                    0 => 'application/x-ms-wmd',
+                ),
+            'wmz' =>
+                array(
+                    0 => 'application/x-ms-wmz',
+                    1 => 'application/x-msmetafile',
+                ),
+            'xbap' =>
+                array(
+                    0 => 'application/x-ms-xbap',
+                ),
+            'mdb' =>
+                array(
+                    0 => 'application/x-msaccess',
+                ),
+            'obd' =>
+                array(
+                    0 => 'application/x-msbinder',
+                ),
+            'crd' =>
+                array(
+                    0 => 'application/x-mscardfile',
+                ),
+            'clp' =>
+                array(
+                    0 => 'application/x-msclip',
+                ),
+            'exe' =>
+                array(
+                    0 => 'application/x-msdownload',
+                ),
+            'dll' =>
+                array(
+                    0 => 'application/x-msdownload',
+                ),
+            'com' =>
+                array(
+                    0 => 'application/x-msdownload',
+                ),
+            'bat' =>
+                array(
+                    0 => 'application/x-msdownload',
+                ),
+            'msi' =>
+                array(
+                    0 => 'application/x-msdownload',
+                ),
+            'mvb' =>
+                array(
+                    0 => 'application/x-msmediaview',
+                ),
+            'm13' =>
+                array(
+                    0 => 'application/x-msmediaview',
+                ),
+            'm14' =>
+                array(
+                    0 => 'application/x-msmediaview',
+                ),
+            'wmf' =>
+                array(
+                    0 => 'application/x-msmetafile',
+                ),
+            'emf' =>
+                array(
+                    0 => 'application/x-msmetafile',
+                ),
+            'emz' =>
+                array(
+                    0 => 'application/x-msmetafile',
+                ),
+            'mny' =>
+                array(
+                    0 => 'application/x-msmoney',
+                ),
+            'pub' =>
+                array(
+                    0 => 'application/x-mspublisher',
+                ),
+            'scd' =>
+                array(
+                    0 => 'application/x-msschedule',
+                ),
+            'trm' =>
+                array(
+                    0 => 'application/x-msterminal',
+                ),
+            'wri' =>
+                array(
+                    0 => 'application/x-mswrite',
+                ),
+            'nc' =>
+                array(
+                    0 => 'application/x-netcdf',
+                ),
+            'cdf' =>
+                array(
+                    0 => 'application/x-netcdf',
+                ),
+            'nzb' =>
+                array(
+                    0 => 'application/x-nzb',
+                ),
+            'p12' =>
+                array(
+                    0 => 'application/x-pkcs12',
+                ),
+            'pfx' =>
+                array(
+                    0 => 'application/x-pkcs12',
+                ),
+            'p7b' =>
+                array(
+                    0 => 'application/x-pkcs7-certificates',
+                ),
+            'spc' =>
+                array(
+                    0 => 'application/x-pkcs7-certificates',
+                ),
+            'p7r' =>
+                array(
+                    0 => 'application/x-pkcs7-certreqresp',
+                ),
+            'rar' =>
+                array(
+                    0 => 'application/x-rar-compressed',
+                ),
+            'ris' =>
+                array(
+                    0 => 'application/x-research-info-systems',
+                ),
+            'sh' =>
+                array(
+                    0 => 'application/x-sh',
+                ),
+            'shar' =>
+                array(
+                    0 => 'application/x-shar',
+                ),
+            'swf' =>
+                array(
+                    0 => 'application/x-shockwave-flash',
+                ),
+            'xap' =>
+                array(
+                    0 => 'application/x-silverlight-app',
+                ),
+            'sql' =>
+                array(
+                    0 => 'application/x-sql',
+                ),
+            'sit' =>
+                array(
+                    0 => 'application/x-stuffit',
+                ),
+            'sitx' =>
+                array(
+                    0 => 'application/x-stuffitx',
+                ),
+            'srt' =>
+                array(
+                    0 => 'application/x-subrip',
+                ),
+            'sv4cpio' =>
+                array(
+                    0 => 'application/x-sv4cpio',
+                ),
+            'sv4crc' =>
+                array(
+                    0 => 'application/x-sv4crc',
+                ),
+            't3' =>
+                array(
+                    0 => 'application/x-t3vm-image',
+                ),
+            'gam' =>
+                array(
+                    0 => 'application/x-tads',
+                ),
+            'tar' =>
+                array(
+                    0 => 'application/x-tar',
+                ),
+            'tcl' =>
+                array(
+                    0 => 'application/x-tcl',
+                ),
+            'tex' =>
+                array(
+                    0 => 'application/x-tex',
+                ),
+            'tfm' =>
+                array(
+                    0 => 'application/x-tex-tfm',
+                ),
+            'texinfo' =>
+                array(
+                    0 => 'application/x-texinfo',
+                ),
+            'texi' =>
+                array(
+                    0 => 'application/x-texinfo',
+                ),
+            'obj' =>
+                array(
+                    0 => 'application/x-tgif',
+                ),
+            'ustar' =>
+                array(
+                    0 => 'application/x-ustar',
+                ),
+            'src' =>
+                array(
+                    0 => 'application/x-wais-source',
+                ),
+            'der' =>
+                array(
+                    0 => 'application/x-x509-ca-cert',
+                ),
+            'crt' =>
+                array(
+                    0 => 'application/x-x509-ca-cert',
+                ),
+            'fig' =>
+                array(
+                    0 => 'application/x-xfig',
+                ),
+            'xlf' =>
+                array(
+                    0 => 'application/x-xliff+xml',
+                ),
+            'xpi' =>
+                array(
+                    0 => 'application/x-xpinstall',
+                ),
+            'xz' =>
+                array(
+                    0 => 'application/x-xz',
+                ),
+            'z1' =>
+                array(
+                    0 => 'application/x-zmachine',
+                ),
+            'z2' =>
+                array(
+                    0 => 'application/x-zmachine',
+                ),
+            'z3' =>
+                array(
+                    0 => 'application/x-zmachine',
+                ),
+            'z4' =>
+                array(
+                    0 => 'application/x-zmachine',
+                ),
+            'z5' =>
+                array(
+                    0 => 'application/x-zmachine',
+                ),
+            'z6' =>
+                array(
+                    0 => 'application/x-zmachine',
+                ),
+            'z7' =>
+                array(
+                    0 => 'application/x-zmachine',
+                ),
+            'z8' =>
+                array(
+                    0 => 'application/x-zmachine',
+                ),
+            'xaml' =>
+                array(
+                    0 => 'application/xaml+xml',
+                ),
+            'xdf' =>
+                array(
+                    0 => 'application/xcap-diff+xml',
+                ),
+            'xenc' =>
+                array(
+                    0 => 'application/xenc+xml',
+                ),
+            'xhtml' =>
+                array(
+                    0 => 'application/xhtml+xml',
+                ),
+            'xht' =>
+                array(
+                    0 => 'application/xhtml+xml',
+                ),
+            'xml' =>
+                array(
+                    0 => 'application/xml',
+                ),
+            'xsl' =>
+                array(
+                    0 => 'application/xml',
+                ),
+            'dtd' =>
+                array(
+                    0 => 'application/xml-dtd',
+                ),
+            'xop' =>
+                array(
+                    0 => 'application/xop+xml',
+                ),
+            'xpl' =>
+                array(
+                    0 => 'application/xproc+xml',
+                ),
+            'xslt' =>
+                array(
+                    0 => 'application/xslt+xml',
+                ),
+            'xspf' =>
+                array(
+                    0 => 'application/xspf+xml',
+                ),
+            'mxml' =>
+                array(
+                    0 => 'application/xv+xml',
+                ),
+            'xhvml' =>
+                array(
+                    0 => 'application/xv+xml',
+                ),
+            'xvml' =>
+                array(
+                    0 => 'application/xv+xml',
+                ),
+            'xvm' =>
+                array(
+                    0 => 'application/xv+xml',
+                ),
+            'yang' =>
+                array(
+                    0 => 'application/yang',
+                ),
+            'yin' =>
+                array(
+                    0 => 'application/yin+xml',
+                ),
+            'adp' =>
+                array(
+                    0 => 'audio/adpcm',
+                ),
+            'au' =>
+                array(
+                    0 => 'audio/basic',
+                ),
+            'snd' =>
+                array(
+                    0 => 'audio/basic',
+                ),
+            'mid' =>
+                array(
+                    0 => 'audio/midi',
+                ),
+            'midi' =>
+                array(
+                    0 => 'audio/midi',
+                ),
+            'kar' =>
+                array(
+                    0 => 'audio/midi',
+                ),
+            'rmi' =>
+                array(
+                    0 => 'audio/midi',
+                ),
+            'm4a' =>
+                array(
+                    0 => 'audio/mp4',
+                ),
+            'mp4a' =>
+                array(
+                    0 => 'audio/mp4',
+                ),
+            'oga' =>
+                array(
+                    0 => 'audio/ogg',
+                ),
+            'ogg' =>
+                array(
+                    0 => 'audio/ogg',
+                ),
+            'spx' =>
+                array(
+                    0 => 'audio/ogg',
+                ),
+            's3m' =>
+                array(
+                    0 => 'audio/s3m',
+                ),
+            'sil' =>
+                array(
+                    0 => 'audio/silk',
+                ),
+            'uva' =>
+                array(
+                    0 => 'audio/vnd.dece.audio',
+                ),
+            'uvva' =>
+                array(
+                    0 => 'audio/vnd.dece.audio',
+                ),
+            'eol' =>
+                array(
+                    0 => 'audio/vnd.digital-winds',
+                ),
+            'dra' =>
+                array(
+                    0 => 'audio/vnd.dra',
+                ),
+            'dts' =>
+                array(
+                    0 => 'audio/vnd.dts',
+                ),
+            'dtshd' =>
+                array(
+                    0 => 'audio/vnd.dts.hd',
+                ),
+            'lvp' =>
+                array(
+                    0 => 'audio/vnd.lucent.voice',
+                ),
+            'pya' =>
+                array(
+                    0 => 'audio/vnd.ms-playready.media.pya',
+                ),
+            'ecelp4800' =>
+                array(
+                    0 => 'audio/vnd.nuera.ecelp4800',
+                ),
+            'ecelp7470' =>
+                array(
+                    0 => 'audio/vnd.nuera.ecelp7470',
+                ),
+            'ecelp9600' =>
+                array(
+                    0 => 'audio/vnd.nuera.ecelp9600',
+                ),
+            'rip' =>
+                array(
+                    0 => 'audio/vnd.rip',
+                ),
+            'weba' =>
+                array(
+                    0 => 'audio/webm',
+                ),
+            'aac' =>
+                array(
+                    0 => 'audio/x-aac',
+                ),
+            'aif' =>
+                array(
+                    0 => 'audio/x-aiff',
+                ),
+            'aiff' =>
+                array(
+                    0 => 'audio/x-aiff',
+                ),
+            'aifc' =>
+                array(
+                    0 => 'audio/x-aiff',
+                ),
+            'caf' =>
+                array(
+                    0 => 'audio/x-caf',
+                ),
+            'flac' =>
+                array(
+                    0 => 'audio/x-flac',
+                ),
+            'mka' =>
+                array(
+                    0 => 'audio/x-matroska',
+                ),
+            'm3u' =>
+                array(
+                    0 => 'audio/x-mpegurl',
+                ),
+            'wax' =>
+                array(
+                    0 => 'audio/x-ms-wax',
+                ),
+            'wma' =>
+                array(
+                    0 => 'audio/x-ms-wma',
+                ),
+            'ram' =>
+                array(
+                    0 => 'audio/x-pn-realaudio',
+                ),
+            'ra' =>
+                array(
+                    0 => 'audio/x-pn-realaudio',
+                ),
+            'rmp' =>
+                array(
+                    0 => 'audio/x-pn-realaudio-plugin',
+                ),
+            'wav' =>
+                array(
+                    0 => 'audio/x-wav',
+                ),
+            'xm' =>
+                array(
+                    0 => 'audio/xm',
+                ),
+            'cdx' =>
+                array(
+                    0 => 'chemical/x-cdx',
+                ),
+            'cif' =>
+                array(
+                    0 => 'chemical/x-cif',
+                ),
+            'cmdf' =>
+                array(
+                    0 => 'chemical/x-cmdf',
+                ),
+            'cml' =>
+                array(
+                    0 => 'chemical/x-cml',
+                ),
+            'csml' =>
+                array(
+                    0 => 'chemical/x-csml',
+                ),
+            'xyz' =>
+                array(
+                    0 => 'chemical/x-xyz',
+                ),
+            'woff' =>
+                array(
+                    0 => 'font/woff',
+                ),
+            'woff2' =>
+                array(
+                    0 => 'font/woff2',
+                ),
+            'cgm' =>
+                array(
+                    0 => 'image/cgm',
+                ),
+            'g3' =>
+                array(
+                    0 => 'image/g3fax',
+                ),
+            'gif' =>
+                array(
+                    0 => 'image/gif',
+                ),
+            'ief' =>
+                array(
+                    0 => 'image/ief',
+                ),
+            'ktx' =>
+                array(
+                    0 => 'image/ktx',
+                ),
+            'png' =>
+                array(
+                    0 => 'image/png',
+                ),
+            'btif' =>
+                array(
+                    0 => 'image/prs.btif',
+                ),
+            'sgi' =>
+                array(
+                    0 => 'image/sgi',
+                ),
+            'svg' =>
+                array(
+                    0 => 'image/svg+xml',
+                ),
+            'svgz' =>
+                array(
+                    0 => 'image/svg+xml',
+                ),
+            'tiff' =>
+                array(
+                    0 => 'image/tiff',
+                ),
+            'tif' =>
+                array(
+                    0 => 'image/tiff',
+                ),
+            'psd' =>
+                array(
+                    0 => 'image/vnd.adobe.photoshop',
+                ),
+            'uvi' =>
+                array(
+                    0 => 'image/vnd.dece.graphic',
+                ),
+            'uvvi' =>
+                array(
+                    0 => 'image/vnd.dece.graphic',
+                ),
+            'uvg' =>
+                array(
+                    0 => 'image/vnd.dece.graphic',
+                ),
+            'uvvg' =>
+                array(
+                    0 => 'image/vnd.dece.graphic',
+                ),
+            'djvu' =>
+                array(
+                    0 => 'image/vnd.djvu',
+                ),
+            'djv' =>
+                array(
+                    0 => 'image/vnd.djvu',
+                ),
+            'sub' =>
+                array(
+                    0 => 'image/vnd.dvb.subtitle',
+                    1 => 'text/vnd.dvb.subtitle',
+                ),
+            'dwg' =>
+                array(
+                    0 => 'image/vnd.dwg',
+                ),
+            'dxf' =>
+                array(
+                    0 => 'image/vnd.dxf',
+                ),
+            'fbs' =>
+                array(
+                    0 => 'image/vnd.fastbidsheet',
+                ),
+            'fpx' =>
+                array(
+                    0 => 'image/vnd.fpx',
+                ),
+            'fst' =>
+                array(
+                    0 => 'image/vnd.fst',
+                ),
+            'mmr' =>
+                array(
+                    0 => 'image/vnd.fujixerox.edmics-mmr',
+                ),
+            'rlc' =>
+                array(
+                    0 => 'image/vnd.fujixerox.edmics-rlc',
+                ),
+            'mdi' =>
+                array(
+                    0 => 'image/vnd.ms-modi',
+                ),
+            'wdp' =>
+                array(
+                    0 => 'image/vnd.ms-photo',
+                ),
+            'npx' =>
+                array(
+                    0 => 'image/vnd.net-fpx',
+                ),
+            'wbmp' =>
+                array(
+                    0 => 'image/vnd.wap.wbmp',
+                ),
+            'xif' =>
+                array(
+                    0 => 'image/vnd.xiff',
+                ),
+            'webp' =>
+                array(
+                    0 => 'image/webp',
+                ),
+            '3ds' =>
+                array(
+                    0 => 'image/x-3ds',
+                ),
+            'ras' =>
+                array(
+                    0 => 'image/x-cmu-raster',
+                ),
+            'cmx' =>
+                array(
+                    0 => 'image/x-cmx',
+                ),
+            'fh' =>
+                array(
+                    0 => 'image/x-freehand',
+                ),
+            'fhc' =>
+                array(
+                    0 => 'image/x-freehand',
+                ),
+            'fh4' =>
+                array(
+                    0 => 'image/x-freehand',
+                ),
+            'fh5' =>
+                array(
+                    0 => 'image/x-freehand',
+                ),
+            'fh7' =>
+                array(
+                    0 => 'image/x-freehand',
+                ),
+            'ico' =>
+                array(
+                    0 => 'image/x-icon',
+                ),
+            'sid' =>
+                array(
+                    0 => 'image/x-mrsid-image',
+                ),
+            'pcx' =>
+                array(
+                    0 => 'image/x-pcx',
+                ),
+            'pic' =>
+                array(
+                    0 => 'image/x-pict',
+                ),
+            'pct' =>
+                array(
+                    0 => 'image/x-pict',
+                ),
+            'pnm' =>
+                array(
+                    0 => 'image/x-portable-anymap',
+                ),
+            'pbm' =>
+                array(
+                    0 => 'image/x-portable-bitmap',
+                ),
+            'pgm' =>
+                array(
+                    0 => 'image/x-portable-graymap',
+                ),
+            'ppm' =>
+                array(
+                    0 => 'image/x-portable-pixmap',
+                ),
+            'rgb' =>
+                array(
+                    0 => 'image/x-rgb',
+                ),
+            'tga' =>
+                array(
+                    0 => 'image/x-tga',
+                ),
+            'xbm' =>
+                array(
+                    0 => 'image/x-xbitmap',
+                ),
+            'xpm' =>
+                array(
+                    0 => 'image/x-xpixmap',
+                ),
+            'xwd' =>
+                array(
+                    0 => 'image/x-xwindowdump',
+                ),
+            'eml' =>
+                array(
+                    0 => 'message/rfc822',
+                ),
+            'mime' =>
+                array(
+                    0 => 'message/rfc822',
+                ),
+            'igs' =>
+                array(
+                    0 => 'model/iges',
+                ),
+            'iges' =>
+                array(
+                    0 => 'model/iges',
+                ),
+            'msh' =>
+                array(
+                    0 => 'model/mesh',
+                ),
+            'mesh' =>
+                array(
+                    0 => 'model/mesh',
+                ),
+            'silo' =>
+                array(
+                    0 => 'model/mesh',
+                ),
+            'dae' =>
+                array(
+                    0 => 'model/vnd.collada+xml',
+                ),
+            'dwf' =>
+                array(
+                    0 => 'model/vnd.dwf',
+                ),
+            'gdl' =>
+                array(
+                    0 => 'model/vnd.gdl',
+                ),
+            'gtw' =>
+                array(
+                    0 => 'model/vnd.gtw',
+                ),
+            'mts' =>
+                array(
+                    0 => 'model/vnd.mts',
+                ),
+            'vtu' =>
+                array(
+                    0 => 'model/vnd.vtu',
+                ),
+            'wrl' =>
+                array(
+                    0 => 'model/vrml',
+                ),
+            'vrml' =>
+                array(
+                    0 => 'model/vrml',
+                ),
+            'x3db' =>
+                array(
+                    0 => 'model/x3d+binary',
+                ),
+            'x3dbz' =>
+                array(
+                    0 => 'model/x3d+binary',
+                ),
+            'x3dv' =>
+                array(
+                    0 => 'model/x3d+vrml',
+                ),
+            'x3dvz' =>
+                array(
+                    0 => 'model/x3d+vrml',
+                ),
+            'x3d' =>
+                array(
+                    0 => 'model/x3d+xml',
+                ),
+            'x3dz' =>
+                array(
+                    0 => 'model/x3d+xml',
+                ),
+            'appcache' =>
+                array(
+                    0 => 'text/cache-manifest',
+                ),
+            'ics' =>
+                array(
+                    0 => 'text/calendar',
+                ),
+            'ifb' =>
+                array(
+                    0 => 'text/calendar',
+                ),
+            'css' =>
+                array(
+                    0 => 'text/css',
+                ),
+            'csv' =>
+                array(
+                    0 => 'text/csv',
+                ),
+            'html' =>
+                array(
+                    0 => 'text/html',
+                ),
+            'htm' =>
+                array(
+                    0 => 'text/html',
+                ),
+            'n3' =>
+                array(
+                    0 => 'text/n3',
+                ),
+            'txt' =>
+                array(
+                    0 => 'text/plain',
+                ),
+            'text' =>
+                array(
+                    0 => 'text/plain',
+                ),
+            'conf' =>
+                array(
+                    0 => 'text/plain',
+                ),
+            'def' =>
+                array(
+                    0 => 'text/plain',
+                ),
+            'list' =>
+                array(
+                    0 => 'text/plain',
+                ),
+            'log' =>
+                array(
+                    0 => 'text/plain',
+                ),
+            'in' =>
+                array(
+                    0 => 'text/plain',
+                ),
+            'dsc' =>
+                array(
+                    0 => 'text/prs.lines.tag',
+                ),
+            'rtx' =>
+                array(
+                    0 => 'text/richtext',
+                ),
+            'sgml' =>
+                array(
+                    0 => 'text/sgml',
+                ),
+            'sgm' =>
+                array(
+                    0 => 'text/sgml',
+                ),
+            'tsv' =>
+                array(
+                    0 => 'text/tab-separated-values',
+                ),
+            't' =>
+                array(
+                    0 => 'text/troff',
+                ),
+            'tr' =>
+                array(
+                    0 => 'text/troff',
+                ),
+            'roff' =>
+                array(
+                    0 => 'text/troff',
+                ),
+            'man' =>
+                array(
+                    0 => 'text/troff',
+                ),
+            'me' =>
+                array(
+                    0 => 'text/troff',
+                ),
+            'ms' =>
+                array(
+                    0 => 'text/troff',
+                ),
+            'ttl' =>
+                array(
+                    0 => 'text/turtle',
+                ),
+            'uri' =>
+                array(
+                    0 => 'text/uri-list',
+                ),
+            'uris' =>
+                array(
+                    0 => 'text/uri-list',
+                ),
+            'urls' =>
+                array(
+                    0 => 'text/uri-list',
+                ),
+            'vcard' =>
+                array(
+                    0 => 'text/vcard',
+                ),
+            'curl' =>
+                array(
+                    0 => 'text/vnd.curl',
+                ),
+            'dcurl' =>
+                array(
+                    0 => 'text/vnd.curl.dcurl',
+                ),
+            'mcurl' =>
+                array(
+                    0 => 'text/vnd.curl.mcurl',
+                ),
+            'scurl' =>
+                array(
+                    0 => 'text/vnd.curl.scurl',
+                ),
+            'fly' =>
+                array(
+                    0 => 'text/vnd.fly',
+                ),
+            'flx' =>
+                array(
+                    0 => 'text/vnd.fmi.flexstor',
+                ),
+            'gv' =>
+                array(
+                    0 => 'text/vnd.graphviz',
+                ),
+            '3dml' =>
+                array(
+                    0 => 'text/vnd.in3d.3dml',
+                ),
+            'spot' =>
+                array(
+                    0 => 'text/vnd.in3d.spot',
+                ),
+            'jad' =>
+                array(
+                    0 => 'text/vnd.sun.j2me.app-descriptor',
+                ),
+            'wml' =>
+                array(
+                    0 => 'text/vnd.wap.wml',
+                ),
+            'wmls' =>
+                array(
+                    0 => 'text/vnd.wap.wmlscript',
+                ),
+            's' =>
+                array(
+                    0 => 'text/x-asm',
+                ),
+            'asm' =>
+                array(
+                    0 => 'text/x-asm',
+                ),
+            'c' =>
+                array(
+                    0 => 'text/x-c',
+                ),
+            'cc' =>
+                array(
+                    0 => 'text/x-c',
+                ),
+            'cxx' =>
+                array(
+                    0 => 'text/x-c',
+                ),
+            'cpp' =>
+                array(
+                    0 => 'text/x-c',
+                ),
+            'h' =>
+                array(
+                    0 => 'text/x-c',
+                ),
+            'hh' =>
+                array(
+                    0 => 'text/x-c',
+                ),
+            'dic' =>
+                array(
+                    0 => 'text/x-c',
+                ),
+            'f' =>
+                array(
+                    0 => 'text/x-fortran',
+                ),
+            'for' =>
+                array(
+                    0 => 'text/x-fortran',
+                ),
+            'f77' =>
+                array(
+                    0 => 'text/x-fortran',
+                ),
+            'f90' =>
+                array(
+                    0 => 'text/x-fortran',
+                ),
+            'java' =>
+                array(
+                    0 => 'text/x-java-source',
+                ),
+            'nfo' =>
+                array(
+                    0 => 'text/x-nfo',
+                ),
+            'opml' =>
+                array(
+                    0 => 'text/x-opml',
+                ),
+            'p' =>
+                array(
+                    0 => 'text/x-pascal',
+                ),
+            'pas' =>
+                array(
+                    0 => 'text/x-pascal',
+                ),
+            'etx' =>
+                array(
+                    0 => 'text/x-setext',
+                ),
+            'sfv' =>
+                array(
+                    0 => 'text/x-sfv',
+                ),
+            'uu' =>
+                array(
+                    0 => 'text/x-uuencode',
+                ),
+            'vcs' =>
+                array(
+                    0 => 'text/x-vcalendar',
+                ),
+            'vcf' =>
+                array(
+                    0 => 'text/x-vcard',
+                ),
+            '3gp' =>
+                array(
+                    0 => 'video/3gpp',
+                ),
+            '3g2' =>
+                array(
+                    0 => 'video/3gpp2',
+                ),
+            'h261' =>
+                array(
+                    0 => 'video/h261',
+                ),
+            'h263' =>
+                array(
+                    0 => 'video/h263',
+                ),
+            'h264' =>
+                array(
+                    0 => 'video/h264',
+                ),
+            'jpgv' =>
+                array(
+                    0 => 'video/jpeg',
+                ),
+            'jpm' =>
+                array(
+                    0 => 'video/jpm',
+                ),
+            'jpgm' =>
+                array(
+                    0 => 'video/jpm',
+                ),
+            'mj2' =>
+                array(
+                    0 => 'video/mj2',
+                ),
+            'mjp2' =>
+                array(
+                    0 => 'video/mj2',
+                ),
+            'mp4' =>
+                array(
+                    0 => 'video/mp4',
+                ),
+            'mp4v' =>
+                array(
+                    0 => 'video/mp4',
+                ),
+            'mpg4' =>
+                array(
+                    0 => 'video/mp4',
+                ),
+            'mpeg' =>
+                array(
+                    0 => 'video/mpeg',
+                ),
+            'mpg' =>
+                array(
+                    0 => 'video/mpeg',
+                ),
+            'mpe' =>
+                array(
+                    0 => 'video/mpeg',
+                ),
+            'm1v' =>
+                array(
+                    0 => 'video/mpeg',
+                ),
+            'm2v' =>
+                array(
+                    0 => 'video/mpeg',
+                ),
+            'ogv' =>
+                array(
+                    0 => 'video/ogg',
+                ),
+            'qt' =>
+                array(
+                    0 => 'video/quicktime',
+                ),
+            'mov' =>
+                array(
+                    0 => 'video/quicktime',
+                ),
+            'uvh' =>
+                array(
+                    0 => 'video/vnd.dece.hd',
+                ),
+            'uvvh' =>
+                array(
+                    0 => 'video/vnd.dece.hd',
+                ),
+            'uvm' =>
+                array(
+                    0 => 'video/vnd.dece.mobile',
+                ),
+            'uvvm' =>
+                array(
+                    0 => 'video/vnd.dece.mobile',
+                ),
+            'uvp' =>
+                array(
+                    0 => 'video/vnd.dece.pd',
+                ),
+            'uvvp' =>
+                array(
+                    0 => 'video/vnd.dece.pd',
+                ),
+            'uvs' =>
+                array(
+                    0 => 'video/vnd.dece.sd',
+                ),
+            'uvvs' =>
+                array(
+                    0 => 'video/vnd.dece.sd',
+                ),
+            'uvv' =>
+                array(
+                    0 => 'video/vnd.dece.video',
+                ),
+            'uvvv' =>
+                array(
+                    0 => 'video/vnd.dece.video',
+                ),
+            'dvb' =>
+                array(
+                    0 => 'video/vnd.dvb.file',
+                ),
+            'fvt' =>
+                array(
+                    0 => 'video/vnd.fvt',
+                ),
+            'mxu' =>
+                array(
+                    0 => 'video/vnd.mpegurl',
+                ),
+            'm4u' =>
+                array(
+                    0 => 'video/vnd.mpegurl',
+                ),
+            'pyv' =>
+                array(
+                    0 => 'video/vnd.ms-playready.media.pyv',
+                ),
+            'uvu' =>
+                array(
+                    0 => 'video/vnd.uvvu.mp4',
+                ),
+            'uvvu' =>
+                array(
+                    0 => 'video/vnd.uvvu.mp4',
+                ),
+            'viv' =>
+                array(
+                    0 => 'video/vnd.vivo',
+                ),
+            'webm' =>
+                array(
+                    0 => 'video/webm',
+                ),
+            'f4v' =>
+                array(
+                    0 => 'video/x-f4v',
+                ),
+            'fli' =>
+                array(
+                    0 => 'video/x-fli',
+                ),
+            'flv' =>
+                array(
+                    0 => 'video/x-flv',
+                ),
+            'm4v' =>
+                array(
+                    0 => 'video/x-m4v',
+                ),
+            'mkv' =>
+                array(
+                    0 => 'video/x-matroska',
+                ),
+            'mk3d' =>
+                array(
+                    0 => 'video/x-matroska',
+                ),
+            'mks' =>
+                array(
+                    0 => 'video/x-matroska',
+                ),
+            'mng' =>
+                array(
+                    0 => 'video/x-mng',
+                ),
+            'asf' =>
+                array(
+                    0 => 'video/x-ms-asf',
+                ),
+            'asx' =>
+                array(
+                    0 => 'video/x-ms-asf',
+                ),
+            'vob' =>
+                array(
+                    0 => 'video/x-ms-vob',
+                ),
+            'wm' =>
+                array(
+                    0 => 'video/x-ms-wm',
+                ),
+            'wmv' =>
+                array(
+                    0 => 'video/x-ms-wmv',
+                ),
+            'wmx' =>
+                array(
+                    0 => 'video/x-ms-wmx',
+                ),
+            'wvx' =>
+                array(
+                    0 => 'video/x-ms-wvx',
+                ),
+            'avi' =>
+                array(
+                    0 => 'video/x-msvideo',
+                ),
+            'movie' =>
+                array(
+                    0 => 'video/x-sgi-movie',
+                ),
+            'smv' =>
+                array(
+                    0 => 'video/x-smv',
+                ),
+            'ice' =>
+                array(
+                    0 => 'x-conference/x-cooltalk',
+                ),
+        ),
+    'extensions' =>
+        array(
+            'application/font-woff' =>
+                array(
+                    0 => 'wof',
+                ),
+            'application/php' =>
+                array(
+                    0 => 'php',
+                ),
+            'application/x-font-otf' =>
+                array(
+                    0 => 'otf',
+                ),
+            'application/x-font-ttf' =>
+                array(
+                    0 => 'ttf',
+                    1 => 'ttc',
+                ),
+            'application/x-gzip' =>
+                array(
+                    0 => 'zip',
+                ),
+            'application/x-httpd-php' =>
+                array(
+                    0 => 'php',
+                ),
+            'application/x-httpd-php-source' =>
+                array(
+                    0 => 'php',
+                ),
+            'application/x-php' =>
+                array(
+                    0 => 'php',
+                ),
+            'audio/amr' =>
+                array(
+                    0 => 'amr',
+                ),
+            'audio/mpeg' =>
+                array(
+                    0 => 'mp3',
+                    1 => 'mpga',
+                    2 => 'mp2',
+                    3 => 'mp2a',
+                    4 => 'm2a',
+                    5 => 'm3a',
+                ),
+            'image/jpeg' =>
+                array(
+                    0 => 'jpg',
+                    1 => 'jpeg',
+                    2 => 'jpe',
+                ),
+            'image/x-ms-bmp' =>
+                array(
+                    0 => 'bmp',
+                ),
+            'text/php' =>
+                array(
+                    0 => 'php',
+                ),
+            'text/x-php' =>
+                array(
+                    0 => 'php',
+                ),
+            'application/andrew-inset' =>
+                array(
+                    0 => 'ez',
+                ),
+            'application/applixware' =>
+                array(
+                    0 => 'aw',
+                ),
+            'application/atom+xml' =>
+                array(
+                    0 => 'atom',
+                ),
+            'application/atomcat+xml' =>
+                array(
+                    0 => 'atomcat',
+                ),
+            'application/atomsvc+xml' =>
+                array(
+                    0 => 'atomsvc',
+                ),
+            'application/ccxml+xml' =>
+                array(
+                    0 => 'ccxml',
+                ),
+            'application/cdmi-capability' =>
+                array(
+                    0 => 'cdmia',
+                ),
+            'application/cdmi-container' =>
+                array(
+                    0 => 'cdmic',
+                ),
+            'application/cdmi-domain' =>
+                array(
+                    0 => 'cdmid',
+                ),
+            'application/cdmi-object' =>
+                array(
+                    0 => 'cdmio',
+                ),
+            'application/cdmi-queue' =>
+                array(
+                    0 => 'cdmiq',
+                ),
+            'application/cu-seeme' =>
+                array(
+                    0 => 'cu',
+                ),
+            'application/davmount+xml' =>
+                array(
+                    0 => 'davmount',
+                ),
+            'application/docbook+xml' =>
+                array(
+                    0 => 'dbk',
+                ),
+            'application/dssc+der' =>
+                array(
+                    0 => 'dssc',
+                ),
+            'application/dssc+xml' =>
+                array(
+                    0 => 'xdssc',
+                ),
+            'application/ecmascript' =>
+                array(
+                    0 => 'ecma',
+                ),
+            'application/emma+xml' =>
+                array(
+                    0 => 'emma',
+                ),
+            'application/epub+zip' =>
+                array(
+                    0 => 'epub',
+                ),
+            'application/exi' =>
+                array(
+                    0 => 'exi',
+                ),
+            'application/font-tdpfr' =>
+                array(
+                    0 => 'pfr',
+                ),
+            'application/gml+xml' =>
+                array(
+                    0 => 'gml',
+                ),
+            'application/gpx+xml' =>
+                array(
+                    0 => 'gpx',
+                ),
+            'application/gxf' =>
+                array(
+                    0 => 'gxf',
+                ),
+            'application/hyperstudio' =>
+                array(
+                    0 => 'stk',
+                ),
+            'application/inkml+xml' =>
+                array(
+                    0 => 'ink',
+                    1 => 'inkml',
+                ),
+            'application/ipfix' =>
+                array(
+                    0 => 'ipfix',
+                ),
+            'application/java-archive' =>
+                array(
+                    0 => 'jar',
+                ),
+            'application/java-serialized-object' =>
+                array(
+                    0 => 'ser',
+                ),
+            'application/java-vm' =>
+                array(
+                    0 => 'class',
+                ),
+            'application/javascript' =>
+                array(
+                    0 => 'js',
+                ),
+            'application/json' =>
+                array(
+                    0 => 'json',
+                ),
+            'application/jsonml+json' =>
+                array(
+                    0 => 'jsonml',
+                ),
+            'application/lost+xml' =>
+                array(
+                    0 => 'lostxml',
+                ),
+            'application/mac-binhex40' =>
+                array(
+                    0 => 'hqx',
+                ),
+            'application/mac-compactpro' =>
+                array(
+                    0 => 'cpt',
+                ),
+            'application/mads+xml' =>
+                array(
+                    0 => 'mads',
+                ),
+            'application/marc' =>
+                array(
+                    0 => 'mrc',
+                ),
+            'application/marcxml+xml' =>
+                array(
+                    0 => 'mrcx',
+                ),
+            'application/mathematica' =>
+                array(
+                    0 => 'ma',
+                    1 => 'nb',
+                    2 => 'mb',
+                ),
+            'application/mathml+xml' =>
+                array(
+                    0 => 'mathml',
+                ),
+            'application/mbox' =>
+                array(
+                    0 => 'mbox',
+                ),
+            'application/mediaservercontrol+xml' =>
+                array(
+                    0 => 'mscml',
+                ),
+            'application/metalink+xml' =>
+                array(
+                    0 => 'metalink',
+                ),
+            'application/metalink4+xml' =>
+                array(
+                    0 => 'meta4',
+                ),
+            'application/mets+xml' =>
+                array(
+                    0 => 'mets',
+                ),
+            'application/mods+xml' =>
+                array(
+                    0 => 'mods',
+                ),
+            'application/mp21' =>
+                array(
+                    0 => 'm21',
+                    1 => 'mp21',
+                ),
+            'application/mp4' =>
+                array(
+                    0 => 'mp4s',
+                ),
+            'application/msword' =>
+                array(
+                    0 => 'doc',
+                    1 => 'dot',
+                ),
+            'application/mxf' =>
+                array(
+                    0 => 'mxf',
+                ),
+            'application/octet-stream' =>
+                array(
+                    0 => 'bin',
+                    1 => 'dms',
+                    2 => 'lrf',
+                    3 => 'mar',
+                    4 => 'so',
+                    5 => 'dist',
+                    6 => 'distz',
+                    7 => 'pkg',
+                    8 => 'bpk',
+                    9 => 'dump',
+                    10 => 'elc',
+                    11 => 'deploy',
+                ),
+            'application/oda' =>
+                array(
+                    0 => 'oda',
+                ),
+            'application/oebps-package+xml' =>
+                array(
+                    0 => 'opf',
+                ),
+            'application/ogg' =>
+                array(
+                    0 => 'ogx',
+                ),
+            'application/omdoc+xml' =>
+                array(
+                    0 => 'omdoc',
+                ),
+            'application/onenote' =>
+                array(
+                    0 => 'onetoc',
+                    1 => 'onetoc2',
+                    2 => 'onetmp',
+                    3 => 'onepkg',
+                ),
+            'application/oxps' =>
+                array(
+                    0 => 'oxps',
+                ),
+            'application/patch-ops-error+xml' =>
+                array(
+                    0 => 'xer',
+                ),
+            'application/pdf' =>
+                array(
+                    0 => 'pdf',
+                ),
+            'application/pgp-encrypted' =>
+                array(
+                    0 => 'pgp',
+                ),
+            'application/pgp-signature' =>
+                array(
+                    0 => 'asc',
+                    1 => 'sig',
+                ),
+            'application/pics-rules' =>
+                array(
+                    0 => 'prf',
+                ),
+            'application/pkcs10' =>
+                array(
+                    0 => 'p10',
+                ),
+            'application/pkcs7-mime' =>
+                array(
+                    0 => 'p7m',
+                    1 => 'p7c',
+                ),
+            'application/pkcs7-signature' =>
+                array(
+                    0 => 'p7s',
+                ),
+            'application/pkcs8' =>
+                array(
+                    0 => 'p8',
+                ),
+            'application/pkix-attr-cert' =>
+                array(
+                    0 => 'ac',
+                ),
+            'application/pkix-cert' =>
+                array(
+                    0 => 'cer',
+                ),
+            'application/pkix-crl' =>
+                array(
+                    0 => 'crl',
+                ),
+            'application/pkix-pkipath' =>
+                array(
+                    0 => 'pkipath',
+                ),
+            'application/pkixcmp' =>
+                array(
+                    0 => 'pki',
+                ),
+            'application/pls+xml' =>
+                array(
+                    0 => 'pls',
+                ),
+            'application/postscript' =>
+                array(
+                    0 => 'ai',
+                    1 => 'eps',
+                    2 => 'ps',
+                ),
+            'application/prs.cww' =>
+                array(
+                    0 => 'cww',
+                ),
+            'application/pskc+xml' =>
+                array(
+                    0 => 'pskcxml',
+                ),
+            'application/rdf+xml' =>
+                array(
+                    0 => 'rdf',
+                ),
+            'application/reginfo+xml' =>
+                array(
+                    0 => 'rif',
+                ),
+            'application/relax-ng-compact-syntax' =>
+                array(
+                    0 => 'rnc',
+                ),
+            'application/resource-lists+xml' =>
+                array(
+                    0 => 'rl',
+                ),
+            'application/resource-lists-diff+xml' =>
+                array(
+                    0 => 'rld',
+                ),
+            'application/rls-services+xml' =>
+                array(
+                    0 => 'rs',
+                ),
+            'application/rpki-ghostbusters' =>
+                array(
+                    0 => 'gbr',
+                ),
+            'application/rpki-manifest' =>
+                array(
+                    0 => 'mft',
+                ),
+            'application/rpki-roa' =>
+                array(
+                    0 => 'roa',
+                ),
+            'application/rsd+xml' =>
+                array(
+                    0 => 'rsd',
+                ),
+            'application/rss+xml' =>
+                array(
+                    0 => 'rss',
+                ),
+            'application/rtf' =>
+                array(
+                    0 => 'rtf',
+                ),
+            'application/sbml+xml' =>
+                array(
+                    0 => 'sbml',
+                ),
+            'application/scvp-cv-request' =>
+                array(
+                    0 => 'scq',
+                ),
+            'application/scvp-cv-response' =>
+                array(
+                    0 => 'scs',
+                ),
+            'application/scvp-vp-request' =>
+                array(
+                    0 => 'spq',
+                ),
+            'application/scvp-vp-response' =>
+                array(
+                    0 => 'spp',
+                ),
+            'application/sdp' =>
+                array(
+                    0 => 'sdp',
+                ),
+            'application/set-payment-initiation' =>
+                array(
+                    0 => 'setpay',
+                ),
+            'application/set-registration-initiation' =>
+                array(
+                    0 => 'setreg',
+                ),
+            'application/shf+xml' =>
+                array(
+                    0 => 'shf',
+                ),
+            'application/smil+xml' =>
+                array(
+                    0 => 'smi',
+                    1 => 'smil',
+                ),
+            'application/sparql-query' =>
+                array(
+                    0 => 'rq',
+                ),
+            'application/sparql-results+xml' =>
+                array(
+                    0 => 'srx',
+                ),
+            'application/srgs' =>
+                array(
+                    0 => 'gram',
+                ),
+            'application/srgs+xml' =>
+                array(
+                    0 => 'grxml',
+                ),
+            'application/sru+xml' =>
+                array(
+                    0 => 'sru',
+                ),
+            'application/ssdl+xml' =>
+                array(
+                    0 => 'ssdl',
+                ),
+            'application/ssml+xml' =>
+                array(
+                    0 => 'ssml',
+                ),
+            'application/tei+xml' =>
+                array(
+                    0 => 'tei',
+                    1 => 'teicorpus',
+                ),
+            'application/thraud+xml' =>
+                array(
+                    0 => 'tfi',
+                ),
+            'application/timestamped-data' =>
+                array(
+                    0 => 'tsd',
+                ),
+            'application/vnd.3gpp.pic-bw-large' =>
+                array(
+                    0 => 'plb',
+                ),
+            'application/vnd.3gpp.pic-bw-small' =>
+                array(
+                    0 => 'psb',
+                ),
+            'application/vnd.3gpp.pic-bw-var' =>
+                array(
+                    0 => 'pvb',
+                ),
+            'application/vnd.3gpp2.tcap' =>
+                array(
+                    0 => 'tcap',
+                ),
+            'application/vnd.3m.post-it-notes' =>
+                array(
+                    0 => 'pwn',
+                ),
+            'application/vnd.accpac.simply.aso' =>
+                array(
+                    0 => 'aso',
+                ),
+            'application/vnd.accpac.simply.imp' =>
+                array(
+                    0 => 'imp',
+                ),
+            'application/vnd.acucobol' =>
+                array(
+                    0 => 'acu',
+                ),
+            'application/vnd.acucorp' =>
+                array(
+                    0 => 'atc',
+                    1 => 'acutc',
+                ),
+            'application/vnd.adobe.air-application-installer-package+zip' =>
+                array(
+                    0 => 'air',
+                ),
+            'application/vnd.adobe.formscentral.fcdt' =>
+                array(
+                    0 => 'fcdt',
+                ),
+            'application/vnd.adobe.fxp' =>
+                array(
+                    0 => 'fxp',
+                    1 => 'fxpl',
+                ),
+            'application/vnd.adobe.xdp+xml' =>
+                array(
+                    0 => 'xdp',
+                ),
+            'application/vnd.adobe.xfdf' =>
+                array(
+                    0 => 'xfdf',
+                ),
+            'application/vnd.ahead.space' =>
+                array(
+                    0 => 'ahead',
+                ),
+            'application/vnd.airzip.filesecure.azf' =>
+                array(
+                    0 => 'azf',
+                ),
+            'application/vnd.airzip.filesecure.azs' =>
+                array(
+                    0 => 'azs',
+                ),
+            'application/vnd.amazon.ebook' =>
+                array(
+                    0 => 'azw',
+                ),
+            'application/vnd.americandynamics.acc' =>
+                array(
+                    0 => 'acc',
+                ),
+            'application/vnd.amiga.ami' =>
+                array(
+                    0 => 'ami',
+                ),
+            'application/vnd.android.package-archive' =>
+                array(
+                    0 => 'apk',
+                ),
+            'application/vnd.anser-web-certificate-issue-initiation' =>
+                array(
+                    0 => 'cii',
+                ),
+            'application/vnd.anser-web-funds-transfer-initiation' =>
+                array(
+                    0 => 'fti',
+                ),
+            'application/vnd.antix.game-component' =>
+                array(
+                    0 => 'atx',
+                ),
+            'application/vnd.apple.installer+xml' =>
+                array(
+                    0 => 'mpkg',
+                ),
+            'application/vnd.apple.mpegurl' =>
+                array(
+                    0 => 'm3u8',
+                ),
+            'application/vnd.aristanetworks.swi' =>
+                array(
+                    0 => 'swi',
+                ),
+            'application/vnd.astraea-software.iota' =>
+                array(
+                    0 => 'iota',
+                ),
+            'application/vnd.audiograph' =>
+                array(
+                    0 => 'aep',
+                ),
+            'application/vnd.blueice.multipass' =>
+                array(
+                    0 => 'mpm',
+                ),
+            'application/vnd.bmi' =>
+                array(
+                    0 => 'bmi',
+                ),
+            'application/vnd.businessobjects' =>
+                array(
+                    0 => 'rep',
+                ),
+            'application/vnd.chemdraw+xml' =>
+                array(
+                    0 => 'cdxml',
+                ),
+            'application/vnd.chipnuts.karaoke-mmd' =>
+                array(
+                    0 => 'mmd',
+                ),
+            'application/vnd.cinderella' =>
+                array(
+                    0 => 'cdy',
+                ),
+            'application/vnd.claymore' =>
+                array(
+                    0 => 'cla',
+                ),
+            'application/vnd.cloanto.rp9' =>
+                array(
+                    0 => 'rp9',
+                ),
+            'application/vnd.clonk.c4group' =>
+                array(
+                    0 => 'c4g',
+                    1 => 'c4d',
+                    2 => 'c4f',
+                    3 => 'c4p',
+                    4 => 'c4u',
+                ),
+            'application/vnd.cluetrust.cartomobile-config' =>
+                array(
+                    0 => 'c11amc',
+                ),
+            'application/vnd.cluetrust.cartomobile-config-pkg' =>
+                array(
+                    0 => 'c11amz',
+                ),
+            'application/vnd.commonspace' =>
+                array(
+                    0 => 'csp',
+                ),
+            'application/vnd.contact.cmsg' =>
+                array(
+                    0 => 'cdbcmsg',
+                ),
+            'application/vnd.cosmocaller' =>
+                array(
+                    0 => 'cmc',
+                ),
+            'application/vnd.crick.clicker' =>
+                array(
+                    0 => 'clkx',
+                ),
+            'application/vnd.crick.clicker.keyboard' =>
+                array(
+                    0 => 'clkk',
+                ),
+            'application/vnd.crick.clicker.palette' =>
+                array(
+                    0 => 'clkp',
+                ),
+            'application/vnd.crick.clicker.template' =>
+                array(
+                    0 => 'clkt',
+                ),
+            'application/vnd.crick.clicker.wordbank' =>
+                array(
+                    0 => 'clkw',
+                ),
+            'application/vnd.criticaltools.wbs+xml' =>
+                array(
+                    0 => 'wbs',
+                ),
+            'application/vnd.ctc-posml' =>
+                array(
+                    0 => 'pml',
+                ),
+            'application/vnd.cups-ppd' =>
+                array(
+                    0 => 'ppd',
+                ),
+            'application/vnd.curl.car' =>
+                array(
+                    0 => 'car',
+                ),
+            'application/vnd.curl.pcurl' =>
+                array(
+                    0 => 'pcurl',
+                ),
+            'application/vnd.dart' =>
+                array(
+                    0 => 'dart',
+                ),
+            'application/vnd.data-vision.rdz' =>
+                array(
+                    0 => 'rdz',
+                ),
+            'application/vnd.dece.data' =>
+                array(
+                    0 => 'uvf',
+                    1 => 'uvvf',
+                    2 => 'uvd',
+                    3 => 'uvvd',
+                ),
+            'application/vnd.dece.ttml+xml' =>
+                array(
+                    0 => 'uvt',
+                    1 => 'uvvt',
+                ),
+            'application/vnd.dece.unspecified' =>
+                array(
+                    0 => 'uvx',
+                    1 => 'uvvx',
+                ),
+            'application/vnd.dece.zip' =>
+                array(
+                    0 => 'uvz',
+                    1 => 'uvvz',
+                ),
+            'application/vnd.denovo.fcselayout-link' =>
+                array(
+                    0 => 'fe_launch',
+                ),
+            'application/vnd.dna' =>
+                array(
+                    0 => 'dna',
+                ),
+            'application/vnd.dolby.mlp' =>
+                array(
+                    0 => 'mlp',
+                ),
+            'application/vnd.dpgraph' =>
+                array(
+                    0 => 'dpg',
+                ),
+            'application/vnd.dreamfactory' =>
+                array(
+                    0 => 'dfac',
+                ),
+            'application/vnd.ds-keypoint' =>
+                array(
+                    0 => 'kpxx',
+                ),
+            'application/vnd.dvb.ait' =>
+                array(
+                    0 => 'ait',
+                ),
+            'application/vnd.dvb.service' =>
+                array(
+                    0 => 'svc',
+                ),
+            'application/vnd.dynageo' =>
+                array(
+                    0 => 'geo',
+                ),
+            'application/vnd.ecowin.chart' =>
+                array(
+                    0 => 'mag',
+                ),
+            'application/vnd.enliven' =>
+                array(
+                    0 => 'nml',
+                ),
+            'application/vnd.epson.esf' =>
+                array(
+                    0 => 'esf',
+                ),
+            'application/vnd.epson.msf' =>
+                array(
+                    0 => 'msf',
+                ),
+            'application/vnd.epson.quickanime' =>
+                array(
+                    0 => 'qam',
+                ),
+            'application/vnd.epson.salt' =>
+                array(
+                    0 => 'slt',
+                ),
+            'application/vnd.epson.ssf' =>
+                array(
+                    0 => 'ssf',
+                ),
+            'application/vnd.eszigno3+xml' =>
+                array(
+                    0 => 'es3',
+                    1 => 'et3',
+                ),
+            'application/vnd.ezpix-album' =>
+                array(
+                    0 => 'ez2',
+                ),
+            'application/vnd.ezpix-package' =>
+                array(
+                    0 => 'ez3',
+                ),
+            'application/vnd.fdf' =>
+                array(
+                    0 => 'fdf',
+                ),
+            'application/vnd.fdsn.mseed' =>
+                array(
+                    0 => 'mseed',
+                ),
+            'application/vnd.fdsn.seed' =>
+                array(
+                    0 => 'seed',
+                    1 => 'dataless',
+                ),
+            'application/vnd.flographit' =>
+                array(
+                    0 => 'gph',
+                ),
+            'application/vnd.fluxtime.clip' =>
+                array(
+                    0 => 'ftc',
+                ),
+            'application/vnd.framemaker' =>
+                array(
+                    0 => 'fm',
+                    1 => 'frame',
+                    2 => 'maker',
+                    3 => 'book',
+                ),
+            'application/vnd.frogans.fnc' =>
+                array(
+                    0 => 'fnc',
+                ),
+            'application/vnd.frogans.ltf' =>
+                array(
+                    0 => 'ltf',
+                ),
+            'application/vnd.fsc.weblaunch' =>
+                array(
+                    0 => 'fsc',
+                ),
+            'application/vnd.fujitsu.oasys' =>
+                array(
+                    0 => 'oas',
+                ),
+            'application/vnd.fujitsu.oasys2' =>
+                array(
+                    0 => 'oa2',
+                ),
+            'application/vnd.fujitsu.oasys3' =>
+                array(
+                    0 => 'oa3',
+                ),
+            'application/vnd.fujitsu.oasysgp' =>
+                array(
+                    0 => 'fg5',
+                ),
+            'application/vnd.fujitsu.oasysprs' =>
+                array(
+                    0 => 'bh2',
+                ),
+            'application/vnd.fujixerox.ddd' =>
+                array(
+                    0 => 'ddd',
+                ),
+            'application/vnd.fujixerox.docuworks' =>
+                array(
+                    0 => 'xdw',
+                ),
+            'application/vnd.fujixerox.docuworks.binder' =>
+                array(
+                    0 => 'xbd',
+                ),
+            'application/vnd.fuzzysheet' =>
+                array(
+                    0 => 'fzs',
+                ),
+            'application/vnd.genomatix.tuxedo' =>
+                array(
+                    0 => 'txd',
+                ),
+            'application/vnd.geogebra.file' =>
+                array(
+                    0 => 'ggb',
+                ),
+            'application/vnd.geogebra.tool' =>
+                array(
+                    0 => 'ggt',
+                ),
+            'application/vnd.geometry-explorer' =>
+                array(
+                    0 => 'gex',
+                    1 => 'gre',
+                ),
+            'application/vnd.geonext' =>
+                array(
+                    0 => 'gxt',
+                ),
+            'application/vnd.geoplan' =>
+                array(
+                    0 => 'g2w',
+                ),
+            'application/vnd.geospace' =>
+                array(
+                    0 => 'g3w',
+                ),
+            'application/vnd.gmx' =>
+                array(
+                    0 => 'gmx',
+                ),
+            'application/vnd.google-earth.kml+xml' =>
+                array(
+                    0 => 'kml',
+                ),
+            'application/vnd.google-earth.kmz' =>
+                array(
+                    0 => 'kmz',
+                ),
+            'application/vnd.grafeq' =>
+                array(
+                    0 => 'gqf',
+                    1 => 'gqs',
+                ),
+            'application/vnd.groove-account' =>
+                array(
+                    0 => 'gac',
+                ),
+            'application/vnd.groove-help' =>
+                array(
+                    0 => 'ghf',
+                ),
+            'application/vnd.groove-identity-message' =>
+                array(
+                    0 => 'gim',
+                ),
+            'application/vnd.groove-injector' =>
+                array(
+                    0 => 'grv',
+                ),
+            'application/vnd.groove-tool-message' =>
+                array(
+                    0 => 'gtm',
+                ),
+            'application/vnd.groove-tool-template' =>
+                array(
+                    0 => 'tpl',
+                ),
+            'application/vnd.groove-vcard' =>
+                array(
+                    0 => 'vcg',
+                ),
+            'application/vnd.hal+xml' =>
+                array(
+                    0 => 'hal',
+                ),
+            'application/vnd.handheld-entertainment+xml' =>
+                array(
+                    0 => 'zmm',
+                ),
+            'application/vnd.hbci' =>
+                array(
+                    0 => 'hbci',
+                ),
+            'application/vnd.hhe.lesson-player' =>
+                array(
+                    0 => 'les',
+                ),
+            'application/vnd.hp-hpgl' =>
+                array(
+                    0 => 'hpgl',
+                ),
+            'application/vnd.hp-hpid' =>
+                array(
+                    0 => 'hpid',
+                ),
+            'application/vnd.hp-hps' =>
+                array(
+                    0 => 'hps',
+                ),
+            'application/vnd.hp-jlyt' =>
+                array(
+                    0 => 'jlt',
+                ),
+            'application/vnd.hp-pcl' =>
+                array(
+                    0 => 'pcl',
+                ),
+            'application/vnd.hp-pclxl' =>
+                array(
+                    0 => 'pclxl',
+                ),
+            'application/vnd.hydrostatix.sof-data' =>
+                array(
+                    0 => 'sfd-hdstx',
+                ),
+            'application/vnd.ibm.minipay' =>
+                array(
+                    0 => 'mpy',
+                ),
+            'application/vnd.ibm.modcap' =>
+                array(
+                    0 => 'afp',
+                    1 => 'listafp',
+                    2 => 'list3820',
+                ),
+            'application/vnd.ibm.rights-management' =>
+                array(
+                    0 => 'irm',
+                ),
+            'application/vnd.ibm.secure-container' =>
+                array(
+                    0 => 'sc',
+                ),
+            'application/vnd.iccprofile' =>
+                array(
+                    0 => 'icc',
+                    1 => 'icm',
+                ),
+            'application/vnd.igloader' =>
+                array(
+                    0 => 'igl',
+                ),
+            'application/vnd.immervision-ivp' =>
+                array(
+                    0 => 'ivp',
+                ),
+            'application/vnd.immervision-ivu' =>
+                array(
+                    0 => 'ivu',
+                ),
+            'application/vnd.insors.igm' =>
+                array(
+                    0 => 'igm',
+                ),
+            'application/vnd.intercon.formnet' =>
+                array(
+                    0 => 'xpw',
+                    1 => 'xpx',
+                ),
+            'application/vnd.intergeo' =>
+                array(
+                    0 => 'i2g',
+                ),
+            'application/vnd.intu.qbo' =>
+                array(
+                    0 => 'qbo',
+                ),
+            'application/vnd.intu.qfx' =>
+                array(
+                    0 => 'qfx',
+                ),
+            'application/vnd.ipunplugged.rcprofile' =>
+                array(
+                    0 => 'rcprofile',
+                ),
+            'application/vnd.irepository.package+xml' =>
+                array(
+                    0 => 'irp',
+                ),
+            'application/vnd.is-xpr' =>
+                array(
+                    0 => 'xpr',
+                ),
+            'application/vnd.isac.fcs' =>
+                array(
+                    0 => 'fcs',
+                ),
+            'application/vnd.jam' =>
+                array(
+                    0 => 'jam',
+                ),
+            'application/vnd.jcp.javame.midlet-rms' =>
+                array(
+                    0 => 'rms',
+                ),
+            'application/vnd.jisp' =>
+                array(
+                    0 => 'jisp',
+                ),
+            'application/vnd.joost.joda-archive' =>
+                array(
+                    0 => 'joda',
+                ),
+            'application/vnd.kahootz' =>
+                array(
+                    0 => 'ktz',
+                    1 => 'ktr',
+                ),
+            'application/vnd.kde.karbon' =>
+                array(
+                    0 => 'karbon',
+                ),
+            'application/vnd.kde.kchart' =>
+                array(
+                    0 => 'chrt',
+                ),
+            'application/vnd.kde.kformula' =>
+                array(
+                    0 => 'kfo',
+                ),
+            'application/vnd.kde.kivio' =>
+                array(
+                    0 => 'flw',
+                ),
+            'application/vnd.kde.kontour' =>
+                array(
+                    0 => 'kon',
+                ),
+            'application/vnd.kde.kpresenter' =>
+                array(
+                    0 => 'kpr',
+                    1 => 'kpt',
+                ),
+            'application/vnd.kde.kspread' =>
+                array(
+                    0 => 'ksp',
+                ),
+            'application/vnd.kde.kword' =>
+                array(
+                    0 => 'kwd',
+                    1 => 'kwt',
+                ),
+            'application/vnd.kenameaapp' =>
+                array(
+                    0 => 'htke',
+                ),
+            'application/vnd.kidspiration' =>
+                array(
+                    0 => 'kia',
+                ),
+            'application/vnd.kinar' =>
+                array(
+                    0 => 'kne',
+                    1 => 'knp',
+                ),
+            'application/vnd.koan' =>
+                array(
+                    0 => 'skp',
+                    1 => 'skd',
+                    2 => 'skt',
+                    3 => 'skm',
+                ),
+            'application/vnd.kodak-descriptor' =>
+                array(
+                    0 => 'sse',
+                ),
+            'application/vnd.las.las+xml' =>
+                array(
+                    0 => 'lasxml',
+                ),
+            'application/vnd.llamagraphics.life-balance.desktop' =>
+                array(
+                    0 => 'lbd',
+                ),
+            'application/vnd.llamagraphics.life-balance.exchange+xml' =>
+                array(
+                    0 => 'lbe',
+                ),
+            'application/vnd.lotus-1-2-3' =>
+                array(
+                    0 => '123',
+                ),
+            'application/vnd.lotus-approach' =>
+                array(
+                    0 => 'apr',
+                ),
+            'application/vnd.lotus-freelance' =>
+                array(
+                    0 => 'pre',
+                ),
+            'application/vnd.lotus-notes' =>
+                array(
+                    0 => 'nsf',
+                ),
+            'application/vnd.lotus-organizer' =>
+                array(
+                    0 => 'org',
+                ),
+            'application/vnd.lotus-screencam' =>
+                array(
+                    0 => 'scm',
+                ),
+            'application/vnd.lotus-wordpro' =>
+                array(
+                    0 => 'lwp',
+                ),
+            'application/vnd.macports.portpkg' =>
+                array(
+                    0 => 'portpkg',
+                ),
+            'application/vnd.mcd' =>
+                array(
+                    0 => 'mcd',
+                ),
+            'application/vnd.medcalcdata' =>
+                array(
+                    0 => 'mc1',
+                ),
+            'application/vnd.mediastation.cdkey' =>
+                array(
+                    0 => 'cdkey',
+                ),
+            'application/vnd.mfer' =>
+                array(
+                    0 => 'mwf',
+                ),
+            'application/vnd.mfmp' =>
+                array(
+                    0 => 'mfm',
+                ),
+            'application/vnd.micrografx.flo' =>
+                array(
+                    0 => 'flo',
+                ),
+            'application/vnd.micrografx.igx' =>
+                array(
+                    0 => 'igx',
+                ),
+            'application/vnd.mif' =>
+                array(
+                    0 => 'mif',
+                ),
+            'application/vnd.mobius.daf' =>
+                array(
+                    0 => 'daf',
+                ),
+            'application/vnd.mobius.dis' =>
+                array(
+                    0 => 'dis',
+                ),
+            'application/vnd.mobius.mbk' =>
+                array(
+                    0 => 'mbk',
+                ),
+            'application/vnd.mobius.mqy' =>
+                array(
+                    0 => 'mqy',
+                ),
+            'application/vnd.mobius.msl' =>
+                array(
+                    0 => 'msl',
+                ),
+            'application/vnd.mobius.plc' =>
+                array(
+                    0 => 'plc',
+                ),
+            'application/vnd.mobius.txf' =>
+                array(
+                    0 => 'txf',
+                ),
+            'application/vnd.mophun.application' =>
+                array(
+                    0 => 'mpn',
+                ),
+            'application/vnd.mophun.certificate' =>
+                array(
+                    0 => 'mpc',
+                ),
+            'application/vnd.mozilla.xul+xml' =>
+                array(
+                    0 => 'xul',
+                ),
+            'application/vnd.ms-artgalry' =>
+                array(
+                    0 => 'cil',
+                ),
+            'application/vnd.ms-cab-compressed' =>
+                array(
+                    0 => 'cab',
+                ),
+            'application/vnd.ms-excel' =>
+                array(
+                    0 => 'xls',
+                    1 => 'xlm',
+                    2 => 'xla',
+                    3 => 'xlc',
+                    4 => 'xlt',
+                    5 => 'xlw',
+                ),
+            'application/vnd.ms-excel.addin.macroenabled.12' =>
+                array(
+                    0 => 'xlam',
+                ),
+            'application/vnd.ms-excel.sheet.binary.macroenabled.12' =>
+                array(
+                    0 => 'xlsb',
+                ),
+            'application/vnd.ms-excel.sheet.macroenabled.12' =>
+                array(
+                    0 => 'xlsm',
+                ),
+            'application/vnd.ms-excel.template.macroenabled.12' =>
+                array(
+                    0 => 'xltm',
+                ),
+            'application/vnd.ms-fontobject' =>
+                array(
+                    0 => 'eot',
+                ),
+            'application/vnd.ms-htmlhelp' =>
+                array(
+                    0 => 'chm',
+                ),
+            'application/vnd.ms-ims' =>
+                array(
+                    0 => 'ims',
+                ),
+            'application/vnd.ms-lrm' =>
+                array(
+                    0 => 'lrm',
+                ),
+            'application/vnd.ms-officetheme' =>
+                array(
+                    0 => 'thmx',
+                ),
+            'application/vnd.ms-pki.seccat' =>
+                array(
+                    0 => 'cat',
+                ),
+            'application/vnd.ms-pki.stl' =>
+                array(
+                    0 => 'stl',
+                ),
+            'application/vnd.ms-powerpoint' =>
+                array(
+                    0 => 'ppt',
+                    1 => 'pps',
+                    2 => 'pot',
+                ),
+            'application/vnd.ms-powerpoint.addin.macroenabled.12' =>
+                array(
+                    0 => 'ppam',
+                ),
+            'application/vnd.ms-powerpoint.presentation.macroenabled.12' =>
+                array(
+                    0 => 'pptm',
+                ),
+            'application/vnd.ms-powerpoint.slide.macroenabled.12' =>
+                array(
+                    0 => 'sldm',
+                ),
+            'application/vnd.ms-powerpoint.slideshow.macroenabled.12' =>
+                array(
+                    0 => 'ppsm',
+                ),
+            'application/vnd.ms-powerpoint.template.macroenabled.12' =>
+                array(
+                    0 => 'potm',
+                ),
+            'application/vnd.ms-project' =>
+                array(
+                    0 => 'mpp',
+                    1 => 'mpt',
+                ),
+            'application/vnd.ms-word.document.macroenabled.12' =>
+                array(
+                    0 => 'docm',
+                ),
+            'application/vnd.ms-word.template.macroenabled.12' =>
+                array(
+                    0 => 'dotm',
+                ),
+            'application/vnd.ms-works' =>
+                array(
+                    0 => 'wps',
+                    1 => 'wks',
+                    2 => 'wcm',
+                    3 => 'wdb',
+                ),
+            'application/vnd.ms-wpl' =>
+                array(
+                    0 => 'wpl',
+                ),
+            'application/vnd.ms-xpsdocument' =>
+                array(
+                    0 => 'xps',
+                ),
+            'application/vnd.mseq' =>
+                array(
+                    0 => 'mseq',
+                ),
+            'application/vnd.musician' =>
+                array(
+                    0 => 'mus',
+                ),
+            'application/vnd.muvee.style' =>
+                array(
+                    0 => 'msty',
+                ),
+            'application/vnd.mynfc' =>
+                array(
+                    0 => 'taglet',
+                ),
+            'application/vnd.neurolanguage.nlu' =>
+                array(
+                    0 => 'nlu',
+                ),
+            'application/vnd.nitf' =>
+                array(
+                    0 => 'ntf',
+                    1 => 'nitf',
+                ),
+            'application/vnd.noblenet-directory' =>
+                array(
+                    0 => 'nnd',
+                ),
+            'application/vnd.noblenet-sealer' =>
+                array(
+                    0 => 'nns',
+                ),
+            'application/vnd.noblenet-web' =>
+                array(
+                    0 => 'nnw',
+                ),
+            'application/vnd.nokia.n-gage.data' =>
+                array(
+                    0 => 'ngdat',
+                ),
+            'application/vnd.nokia.n-gage.symbian.install' =>
+                array(
+                    0 => 'n-gage',
+                ),
+            'application/vnd.nokia.radio-preset' =>
+                array(
+                    0 => 'rpst',
+                ),
+            'application/vnd.nokia.radio-presets' =>
+                array(
+                    0 => 'rpss',
+                ),
+            'application/vnd.novadigm.edm' =>
+                array(
+                    0 => 'edm',
+                ),
+            'application/vnd.novadigm.edx' =>
+                array(
+                    0 => 'edx',
+                ),
+            'application/vnd.novadigm.ext' =>
+                array(
+                    0 => 'ext',
+                ),
+            'application/vnd.oasis.opendocument.chart' =>
+                array(
+                    0 => 'odc',
+                ),
+            'application/vnd.oasis.opendocument.chart-template' =>
+                array(
+                    0 => 'otc',
+                ),
+            'application/vnd.oasis.opendocument.database' =>
+                array(
+                    0 => 'odb',
+                ),
+            'application/vnd.oasis.opendocument.formula' =>
+                array(
+                    0 => 'odf',
+                ),
+            'application/vnd.oasis.opendocument.formula-template' =>
+                array(
+                    0 => 'odft',
+                ),
+            'application/vnd.oasis.opendocument.graphics' =>
+                array(
+                    0 => 'odg',
+                ),
+            'application/vnd.oasis.opendocument.graphics-template' =>
+                array(
+                    0 => 'otg',
+                ),
+            'application/vnd.oasis.opendocument.image' =>
+                array(
+                    0 => 'odi',
+                ),
+            'application/vnd.oasis.opendocument.image-template' =>
+                array(
+                    0 => 'oti',
+                ),
+            'application/vnd.oasis.opendocument.presentation' =>
+                array(
+                    0 => 'odp',
+                ),
+            'application/vnd.oasis.opendocument.presentation-template' =>
+                array(
+                    0 => 'otp',
+                ),
+            'application/vnd.oasis.opendocument.spreadsheet' =>
+                array(
+                    0 => 'ods',
+                ),
+            'application/vnd.oasis.opendocument.spreadsheet-template' =>
+                array(
+                    0 => 'ots',
+                ),
+            'application/vnd.oasis.opendocument.text' =>
+                array(
+                    0 => 'odt',
+                ),
+            'application/vnd.oasis.opendocument.text-master' =>
+                array(
+                    0 => 'odm',
+                ),
+            'application/vnd.oasis.opendocument.text-template' =>
+                array(
+                    0 => 'ott',
+                ),
+            'application/vnd.oasis.opendocument.text-web' =>
+                array(
+                    0 => 'oth',
+                ),
+            'application/vnd.olpc-sugar' =>
+                array(
+                    0 => 'xo',
+                ),
+            'application/vnd.oma.dd2+xml' =>
+                array(
+                    0 => 'dd2',
+                ),
+            'application/vnd.openofficeorg.extension' =>
+                array(
+                    0 => 'oxt',
+                ),
+            'application/vnd.openxmlformats-officedocument.presentationml.presentation' =>
+                array(
+                    0 => 'pptx',
+                ),
+            'application/vnd.openxmlformats-officedocument.presentationml.slide' =>
+                array(
+                    0 => 'sldx',
+                ),
+            'application/vnd.openxmlformats-officedocument.presentationml.slideshow' =>
+                array(
+                    0 => 'ppsx',
+                ),
+            'application/vnd.openxmlformats-officedocument.presentationml.template' =>
+                array(
+                    0 => 'potx',
+                ),
+            'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' =>
+                array(
+                    0 => 'xlsx',
+                ),
+            'application/vnd.openxmlformats-officedocument.spreadsheetml.template' =>
+                array(
+                    0 => 'xltx',
+                ),
+            'application/vnd.openxmlformats-officedocument.wordprocessingml.document' =>
+                array(
+                    0 => 'docx',
+                ),
+            'application/vnd.openxmlformats-officedocument.wordprocessingml.template' =>
+                array(
+                    0 => 'dotx',
+                ),
+            'application/vnd.osgeo.mapguide.package' =>
+                array(
+                    0 => 'mgp',
+                ),
+            'application/vnd.osgi.dp' =>
+                array(
+                    0 => 'dp',
+                ),
+            'application/vnd.osgi.subsystem' =>
+                array(
+                    0 => 'esa',
+                ),
+            'application/vnd.palm' =>
+                array(
+                    0 => 'pdb',
+                    1 => 'pqa',
+                    2 => 'oprc',
+                ),
+            'application/vnd.pawaafile' =>
+                array(
+                    0 => 'paw',
+                ),
+            'application/vnd.pg.format' =>
+                array(
+                    0 => 'str',
+                ),
+            'application/vnd.pg.osasli' =>
+                array(
+                    0 => 'ei6',
+                ),
+            'application/vnd.picsel' =>
+                array(
+                    0 => 'efif',
+                ),
+            'application/vnd.pmi.widget' =>
+                array(
+                    0 => 'wg',
+                ),
+            'application/vnd.pocketlearn' =>
+                array(
+                    0 => 'plf',
+                ),
+            'application/vnd.powerbuilder6' =>
+                array(
+                    0 => 'pbd',
+                ),
+            'application/vnd.previewsystems.box' =>
+                array(
+                    0 => 'box',
+                ),
+            'application/vnd.proteus.magazine' =>
+                array(
+                    0 => 'mgz',
+                ),
+            'application/vnd.publishare-delta-tree' =>
+                array(
+                    0 => 'qps',
+                ),
+            'application/vnd.pvi.ptid1' =>
+                array(
+                    0 => 'ptid',
+                ),
+            'application/vnd.quark.quarkxpress' =>
+                array(
+                    0 => 'qxd',
+                    1 => 'qxt',
+                    2 => 'qwd',
+                    3 => 'qwt',
+                    4 => 'qxl',
+                    5 => 'qxb',
+                ),
+            'application/vnd.realvnc.bed' =>
+                array(
+                    0 => 'bed',
+                ),
+            'application/vnd.recordare.musicxml' =>
+                array(
+                    0 => 'mxl',
+                ),
+            'application/vnd.recordare.musicxml+xml' =>
+                array(
+                    0 => 'musicxml',
+                ),
+            'application/vnd.rig.cryptonote' =>
+                array(
+                    0 => 'cryptonote',
+                ),
+            'application/vnd.rim.cod' =>
+                array(
+                    0 => 'cod',
+                ),
+            'application/vnd.rn-realmedia' =>
+                array(
+                    0 => 'rm',
+                ),
+            'application/vnd.rn-realmedia-vbr' =>
+                array(
+                    0 => 'rmvb',
+                ),
+            'application/vnd.route66.link66+xml' =>
+                array(
+                    0 => 'link66',
+                ),
+            'application/vnd.sailingtracker.track' =>
+                array(
+                    0 => 'st',
+                ),
+            'application/vnd.seemail' =>
+                array(
+                    0 => 'see',
+                ),
+            'application/vnd.sema' =>
+                array(
+                    0 => 'sema',
+                ),
+            'application/vnd.semd' =>
+                array(
+                    0 => 'semd',
+                ),
+            'application/vnd.semf' =>
+                array(
+                    0 => 'semf',
+                ),
+            'application/vnd.shana.informed.formdata' =>
+                array(
+                    0 => 'ifm',
+                ),
+            'application/vnd.shana.informed.formtemplate' =>
+                array(
+                    0 => 'itp',
+                ),
+            'application/vnd.shana.informed.interchange' =>
+                array(
+                    0 => 'iif',
+                ),
+            'application/vnd.shana.informed.package' =>
+                array(
+                    0 => 'ipk',
+                ),
+            'application/vnd.simtech-mindmapper' =>
+                array(
+                    0 => 'twd',
+                    1 => 'twds',
+                ),
+            'application/vnd.smaf' =>
+                array(
+                    0 => 'mmf',
+                ),
+            'application/vnd.smart.teacher' =>
+                array(
+                    0 => 'teacher',
+                ),
+            'application/vnd.solent.sdkm+xml' =>
+                array(
+                    0 => 'sdkm',
+                    1 => 'sdkd',
+                ),
+            'application/vnd.spotfire.dxp' =>
+                array(
+                    0 => 'dxp',
+                ),
+            'application/vnd.spotfire.sfs' =>
+                array(
+                    0 => 'sfs',
+                ),
+            'application/vnd.stardivision.calc' =>
+                array(
+                    0 => 'sdc',
+                ),
+            'application/vnd.stardivision.draw' =>
+                array(
+                    0 => 'sda',
+                ),
+            'application/vnd.stardivision.impress' =>
+                array(
+                    0 => 'sdd',
+                ),
+            'application/vnd.stardivision.math' =>
+                array(
+                    0 => 'smf',
+                ),
+            'application/vnd.stardivision.writer' =>
+                array(
+                    0 => 'sdw',
+                    1 => 'vor',
+                ),
+            'application/vnd.stardivision.writer-global' =>
+                array(
+                    0 => 'sgl',
+                ),
+            'application/vnd.stepmania.package' =>
+                array(
+                    0 => 'smzip',
+                ),
+            'application/vnd.stepmania.stepchart' =>
+                array(
+                    0 => 'sm',
+                ),
+            'application/vnd.sun.xml.calc' =>
+                array(
+                    0 => 'sxc',
+                ),
+            'application/vnd.sun.xml.calc.template' =>
+                array(
+                    0 => 'stc',
+                ),
+            'application/vnd.sun.xml.draw' =>
+                array(
+                    0 => 'sxd',
+                ),
+            'application/vnd.sun.xml.draw.template' =>
+                array(
+                    0 => 'std',
+                ),
+            'application/vnd.sun.xml.impress' =>
+                array(
+                    0 => 'sxi',
+                ),
+            'application/vnd.sun.xml.impress.template' =>
+                array(
+                    0 => 'sti',
+                ),
+            'application/vnd.sun.xml.math' =>
+                array(
+                    0 => 'sxm',
+                ),
+            'application/vnd.sun.xml.writer' =>
+                array(
+                    0 => 'sxw',
+                ),
+            'application/vnd.sun.xml.writer.global' =>
+                array(
+                    0 => 'sxg',
+                ),
+            'application/vnd.sun.xml.writer.template' =>
+                array(
+                    0 => 'stw',
+                ),
+            'application/vnd.sus-calendar' =>
+                array(
+                    0 => 'sus',
+                    1 => 'susp',
+                ),
+            'application/vnd.svd' =>
+                array(
+                    0 => 'svd',
+                ),
+            'application/vnd.symbian.install' =>
+                array(
+                    0 => 'sis',
+                    1 => 'sisx',
+                ),
+            'application/vnd.syncml+xml' =>
+                array(
+                    0 => 'xsm',
+                ),
+            'application/vnd.syncml.dm+wbxml' =>
+                array(
+                    0 => 'bdm',
+                ),
+            'application/vnd.syncml.dm+xml' =>
+                array(
+                    0 => 'xdm',
+                ),
+            'application/vnd.tao.intent-module-archive' =>
+                array(
+                    0 => 'tao',
+                ),
+            'application/vnd.tcpdump.pcap' =>
+                array(
+                    0 => 'pcap',
+                    1 => 'cap',
+                    2 => 'dmp',
+                ),
+            'application/vnd.tmobile-livetv' =>
+                array(
+                    0 => 'tmo',
+                ),
+            'application/vnd.trid.tpt' =>
+                array(
+                    0 => 'tpt',
+                ),
+            'application/vnd.triscape.mxs' =>
+                array(
+                    0 => 'mxs',
+                ),
+            'application/vnd.trueapp' =>
+                array(
+                    0 => 'tra',
+                ),
+            'application/vnd.ufdl' =>
+                array(
+                    0 => 'ufd',
+                    1 => 'ufdl',
+                ),
+            'application/vnd.uiq.theme' =>
+                array(
+                    0 => 'utz',
+                ),
+            'application/vnd.umajin' =>
+                array(
+                    0 => 'umj',
+                ),
+            'application/vnd.unity' =>
+                array(
+                    0 => 'unityweb',
+                ),
+            'application/vnd.uoml+xml' =>
+                array(
+                    0 => 'uoml',
+                ),
+            'application/vnd.vcx' =>
+                array(
+                    0 => 'vcx',
+                ),
+            'application/vnd.visio' =>
+                array(
+                    0 => 'vsd',
+                    1 => 'vst',
+                    2 => 'vss',
+                    3 => 'vsw',
+                ),
+            'application/vnd.visionary' =>
+                array(
+                    0 => 'vis',
+                ),
+            'application/vnd.vsf' =>
+                array(
+                    0 => 'vsf',
+                ),
+            'application/vnd.wap.wbxml' =>
+                array(
+                    0 => 'wbxml',
+                ),
+            'application/vnd.wap.wmlc' =>
+                array(
+                    0 => 'wmlc',
+                ),
+            'application/vnd.wap.wmlscriptc' =>
+                array(
+                    0 => 'wmlsc',
+                ),
+            'application/vnd.webturbo' =>
+                array(
+                    0 => 'wtb',
+                ),
+            'application/vnd.wolfram.player' =>
+                array(
+                    0 => 'nbp',
+                ),
+            'application/vnd.wordperfect' =>
+                array(
+                    0 => 'wpd',
+                ),
+            'application/vnd.wqd' =>
+                array(
+                    0 => 'wqd',
+                ),
+            'application/vnd.wt.stf' =>
+                array(
+                    0 => 'stf',
+                ),
+            'application/vnd.xara' =>
+                array(
+                    0 => 'xar',
+                ),
+            'application/vnd.xfdl' =>
+                array(
+                    0 => 'xfdl',
+                ),
+            'application/vnd.yamaha.hv-dic' =>
+                array(
+                    0 => 'hvd',
+                ),
+            'application/vnd.yamaha.hv-script' =>
+                array(
+                    0 => 'hvs',
+                ),
+            'application/vnd.yamaha.hv-voice' =>
+                array(
+                    0 => 'hvp',
+                ),
+            'application/vnd.yamaha.openscoreformat' =>
+                array(
+                    0 => 'osf',
+                ),
+            'application/vnd.yamaha.openscoreformat.osfpvg+xml' =>
+                array(
+                    0 => 'osfpvg',
+                ),
+            'application/vnd.yamaha.smaf-audio' =>
+                array(
+                    0 => 'saf',
+                ),
+            'application/vnd.yamaha.smaf-phrase' =>
+                array(
+                    0 => 'spf',
+                ),
+            'application/vnd.yellowriver-custom-menu' =>
+                array(
+                    0 => 'cmp',
+                ),
+            'application/vnd.zul' =>
+                array(
+                    0 => 'zir',
+                    1 => 'zirz',
+                ),
+            'application/vnd.zzazz.deck+xml' =>
+                array(
+                    0 => 'zaz',
+                ),
+            'application/voicexml+xml' =>
+                array(
+                    0 => 'vxml',
+                ),
+            'application/widget' =>
+                array(
+                    0 => 'wgt',
+                ),
+            'application/winhlp' =>
+                array(
+                    0 => 'hlp',
+                ),
+            'application/wsdl+xml' =>
+                array(
+                    0 => 'wsdl',
+                ),
+            'application/wspolicy+xml' =>
+                array(
+                    0 => 'wspolicy',
+                ),
+            'application/x-7z-compressed' =>
+                array(
+                    0 => '7z',
+                ),
+            'application/x-abiword' =>
+                array(
+                    0 => 'abw',
+                ),
+            'application/x-ace-compressed' =>
+                array(
+                    0 => 'ace',
+                ),
+            'application/x-apple-diskimage' =>
+                array(
+                    0 => 'dmg',
+                ),
+            'application/x-authorware-bin' =>
+                array(
+                    0 => 'aab',
+                    1 => 'x32',
+                    2 => 'u32',
+                    3 => 'vox',
+                ),
+            'application/x-authorware-map' =>
+                array(
+                    0 => 'aam',
+                ),
+            'application/x-authorware-seg' =>
+                array(
+                    0 => 'aas',
+                ),
+            'application/x-bcpio' =>
+                array(
+                    0 => 'bcpio',
+                ),
+            'application/x-bittorrent' =>
+                array(
+                    0 => 'torrent',
+                ),
+            'application/x-blorb' =>
+                array(
+                    0 => 'blb',
+                    1 => 'blorb',
+                ),
+            'application/x-bzip' =>
+                array(
+                    0 => 'bz',
+                ),
+            'application/x-bzip2' =>
+                array(
+                    0 => 'bz2',
+                    1 => 'boz',
+                ),
+            'application/x-cbr' =>
+                array(
+                    0 => 'cbr',
+                    1 => 'cba',
+                    2 => 'cbt',
+                    3 => 'cbz',
+                    4 => 'cb7',
+                ),
+            'application/x-cdlink' =>
+                array(
+                    0 => 'vcd',
+                ),
+            'application/x-cfs-compressed' =>
+                array(
+                    0 => 'cfs',
+                ),
+            'application/x-chat' =>
+                array(
+                    0 => 'chat',
+                ),
+            'application/x-chess-pgn' =>
+                array(
+                    0 => 'pgn',
+                ),
+            'application/x-conference' =>
+                array(
+                    0 => 'nsc',
+                ),
+            'application/x-cpio' =>
+                array(
+                    0 => 'cpio',
+                ),
+            'application/x-csh' =>
+                array(
+                    0 => 'csh',
+                ),
+            'application/x-debian-package' =>
+                array(
+                    0 => 'deb',
+                    1 => 'udeb',
+                ),
+            'application/x-dgc-compressed' =>
+                array(
+                    0 => 'dgc',
+                ),
+            'application/x-director' =>
+                array(
+                    0 => 'dir',
+                    1 => 'dcr',
+                    2 => 'dxr',
+                    3 => 'cst',
+                    4 => 'cct',
+                    5 => 'cxt',
+                    6 => 'w3d',
+                    7 => 'fgd',
+                    8 => 'swa',
+                ),
+            'application/x-doom' =>
+                array(
+                    0 => 'wad',
+                ),
+            'application/x-dtbncx+xml' =>
+                array(
+                    0 => 'ncx',
+                ),
+            'application/x-dtbook+xml' =>
+                array(
+                    0 => 'dtb',
+                ),
+            'application/x-dtbresource+xml' =>
+                array(
+                    0 => 'res',
+                ),
+            'application/x-dvi' =>
+                array(
+                    0 => 'dvi',
+                ),
+            'application/x-envoy' =>
+                array(
+                    0 => 'evy',
+                ),
+            'application/x-eva' =>
+                array(
+                    0 => 'eva',
+                ),
+            'application/x-font-bdf' =>
+                array(
+                    0 => 'bdf',
+                ),
+            'application/x-font-ghostscript' =>
+                array(
+                    0 => 'gsf',
+                ),
+            'application/x-font-linux-psf' =>
+                array(
+                    0 => 'psf',
+                ),
+            'application/x-font-pcf' =>
+                array(
+                    0 => 'pcf',
+                ),
+            'application/x-font-snf' =>
+                array(
+                    0 => 'snf',
+                ),
+            'application/x-font-type1' =>
+                array(
+                    0 => 'pfa',
+                    1 => 'pfb',
+                    2 => 'pfm',
+                    3 => 'afm',
+                ),
+            'application/x-freearc' =>
+                array(
+                    0 => 'arc',
+                ),
+            'application/x-futuresplash' =>
+                array(
+                    0 => 'spl',
+                ),
+            'application/x-gca-compressed' =>
+                array(
+                    0 => 'gca',
+                ),
+            'application/x-glulx' =>
+                array(
+                    0 => 'ulx',
+                ),
+            'application/x-gnumeric' =>
+                array(
+                    0 => 'gnumeric',
+                ),
+            'application/x-gramps-xml' =>
+                array(
+                    0 => 'gramps',
+                ),
+            'application/x-gtar' =>
+                array(
+                    0 => 'gtar',
+                ),
+            'application/x-hdf' =>
+                array(
+                    0 => 'hdf',
+                ),
+            'application/x-install-instructions' =>
+                array(
+                    0 => 'install',
+                ),
+            'application/x-iso9660-image' =>
+                array(
+                    0 => 'iso',
+                ),
+            'application/x-java-jnlp-file' =>
+                array(
+                    0 => 'jnlp',
+                ),
+            'application/x-latex' =>
+                array(
+                    0 => 'latex',
+                ),
+            'application/x-lzh-compressed' =>
+                array(
+                    0 => 'lzh',
+                    1 => 'lha',
+                ),
+            'application/x-mie' =>
+                array(
+                    0 => 'mie',
+                ),
+            'application/x-mobipocket-ebook' =>
+                array(
+                    0 => 'prc',
+                    1 => 'mobi',
+                ),
+            'application/x-ms-application' =>
+                array(
+                    0 => 'application',
+                ),
+            'application/x-ms-shortcut' =>
+                array(
+                    0 => 'lnk',
+                ),
+            'application/x-ms-wmd' =>
+                array(
+                    0 => 'wmd',
+                ),
+            'application/x-ms-wmz' =>
+                array(
+                    0 => 'wmz',
+                ),
+            'application/x-ms-xbap' =>
+                array(
+                    0 => 'xbap',
+                ),
+            'application/x-msaccess' =>
+                array(
+                    0 => 'mdb',
+                ),
+            'application/x-msbinder' =>
+                array(
+                    0 => 'obd',
+                ),
+            'application/x-mscardfile' =>
+                array(
+                    0 => 'crd',
+                ),
+            'application/x-msclip' =>
+                array(
+                    0 => 'clp',
+                ),
+            'application/x-msdownload' =>
+                array(
+                    0 => 'exe',
+                    1 => 'dll',
+                    2 => 'com',
+                    3 => 'bat',
+                    4 => 'msi',
+                ),
+            'application/x-msmediaview' =>
+                array(
+                    0 => 'mvb',
+                    1 => 'm13',
+                    2 => 'm14',
+                ),
+            'application/x-msmetafile' =>
+                array(
+                    0 => 'wmf',
+                    1 => 'wmz',
+                    2 => 'emf',
+                    3 => 'emz',
+                ),
+            'application/x-msmoney' =>
+                array(
+                    0 => 'mny',
+                ),
+            'application/x-mspublisher' =>
+                array(
+                    0 => 'pub',
+                ),
+            'application/x-msschedule' =>
+                array(
+                    0 => 'scd',
+                ),
+            'application/x-msterminal' =>
+                array(
+                    0 => 'trm',
+                ),
+            'application/x-mswrite' =>
+                array(
+                    0 => 'wri',
+                ),
+            'application/x-netcdf' =>
+                array(
+                    0 => 'nc',
+                    1 => 'cdf',
+                ),
+            'application/x-nzb' =>
+                array(
+                    0 => 'nzb',
+                ),
+            'application/x-pkcs12' =>
+                array(
+                    0 => 'p12',
+                    1 => 'pfx',
+                ),
+            'application/x-pkcs7-certificates' =>
+                array(
+                    0 => 'p7b',
+                    1 => 'spc',
+                ),
+            'application/x-pkcs7-certreqresp' =>
+                array(
+                    0 => 'p7r',
+                ),
+            'application/x-rar-compressed' =>
+                array(
+                    0 => 'rar',
+                ),
+            'application/x-research-info-systems' =>
+                array(
+                    0 => 'ris',
+                ),
+            'application/x-sh' =>
+                array(
+                    0 => 'sh',
+                ),
+            'application/x-shar' =>
+                array(
+                    0 => 'shar',
+                ),
+            'application/x-shockwave-flash' =>
+                array(
+                    0 => 'swf',
+                ),
+            'application/x-silverlight-app' =>
+                array(
+                    0 => 'xap',
+                ),
+            'application/x-sql' =>
+                array(
+                    0 => 'sql',
+                ),
+            'application/x-stuffit' =>
+                array(
+                    0 => 'sit',
+                ),
+            'application/x-stuffitx' =>
+                array(
+                    0 => 'sitx',
+                ),
+            'application/x-subrip' =>
+                array(
+                    0 => 'srt',
+                ),
+            'application/x-sv4cpio' =>
+                array(
+                    0 => 'sv4cpio',
+                ),
+            'application/x-sv4crc' =>
+                array(
+                    0 => 'sv4crc',
+                ),
+            'application/x-t3vm-image' =>
+                array(
+                    0 => 't3',
+                ),
+            'application/x-tads' =>
+                array(
+                    0 => 'gam',
+                ),
+            'application/x-tar' =>
+                array(
+                    0 => 'tar',
+                ),
+            'application/x-tcl' =>
+                array(
+                    0 => 'tcl',
+                ),
+            'application/x-tex' =>
+                array(
+                    0 => 'tex',
+                ),
+            'application/x-tex-tfm' =>
+                array(
+                    0 => 'tfm',
+                ),
+            'application/x-texinfo' =>
+                array(
+                    0 => 'texinfo',
+                    1 => 'texi',
+                ),
+            'application/x-tgif' =>
+                array(
+                    0 => 'obj',
+                ),
+            'application/x-ustar' =>
+                array(
+                    0 => 'ustar',
+                ),
+            'application/x-wais-source' =>
+                array(
+                    0 => 'src',
+                ),
+            'application/x-x509-ca-cert' =>
+                array(
+                    0 => 'der',
+                    1 => 'crt',
+                ),
+            'application/x-xfig' =>
+                array(
+                    0 => 'fig',
+                ),
+            'application/x-xliff+xml' =>
+                array(
+                    0 => 'xlf',
+                ),
+            'application/x-xpinstall' =>
+                array(
+                    0 => 'xpi',
+                ),
+            'application/x-xz' =>
+                array(
+                    0 => 'xz',
+                ),
+            'application/x-zmachine' =>
+                array(
+                    0 => 'z1',
+                    1 => 'z2',
+                    2 => 'z3',
+                    3 => 'z4',
+                    4 => 'z5',
+                    5 => 'z6',
+                    6 => 'z7',
+                    7 => 'z8',
+                ),
+            'application/xaml+xml' =>
+                array(
+                    0 => 'xaml',
+                ),
+            'application/xcap-diff+xml' =>
+                array(
+                    0 => 'xdf',
+                ),
+            'application/xenc+xml' =>
+                array(
+                    0 => 'xenc',
+                ),
+            'application/xhtml+xml' =>
+                array(
+                    0 => 'xhtml',
+                    1 => 'xht',
+                ),
+            'application/xml' =>
+                array(
+                    0 => 'xml',
+                    1 => 'xsl',
+                ),
+            'application/xml-dtd' =>
+                array(
+                    0 => 'dtd',
+                ),
+            'application/xop+xml' =>
+                array(
+                    0 => 'xop',
+                ),
+            'application/xproc+xml' =>
+                array(
+                    0 => 'xpl',
+                ),
+            'application/xslt+xml' =>
+                array(
+                    0 => 'xslt',
+                ),
+            'application/xspf+xml' =>
+                array(
+                    0 => 'xspf',
+                ),
+            'application/xv+xml' =>
+                array(
+                    0 => 'mxml',
+                    1 => 'xhvml',
+                    2 => 'xvml',
+                    3 => 'xvm',
+                ),
+            'application/yang' =>
+                array(
+                    0 => 'yang',
+                ),
+            'application/yin+xml' =>
+                array(
+                    0 => 'yin',
+                ),
+            'application/zip' =>
+                array(
+                    0 => 'zip',
+                ),
+            'audio/adpcm' =>
+                array(
+                    0 => 'adp',
+                ),
+            'audio/basic' =>
+                array(
+                    0 => 'au',
+                    1 => 'snd',
+                ),
+            'audio/midi' =>
+                array(
+                    0 => 'mid',
+                    1 => 'midi',
+                    2 => 'kar',
+                    3 => 'rmi',
+                ),
+            'audio/mp4' =>
+                array(
+                    0 => 'm4a',
+                    1 => 'mp4a',
+                ),
+            'audio/ogg' =>
+                array(
+                    0 => 'oga',
+                    1 => 'ogg',
+                    2 => 'spx',
+                ),
+            'audio/s3m' =>
+                array(
+                    0 => 's3m',
+                ),
+            'audio/silk' =>
+                array(
+                    0 => 'sil',
+                ),
+            'audio/vnd.dece.audio' =>
+                array(
+                    0 => 'uva',
+                    1 => 'uvva',
+                ),
+            'audio/vnd.digital-winds' =>
+                array(
+                    0 => 'eol',
+                ),
+            'audio/vnd.dra' =>
+                array(
+                    0 => 'dra',
+                ),
+            'audio/vnd.dts' =>
+                array(
+                    0 => 'dts',
+                ),
+            'audio/vnd.dts.hd' =>
+                array(
+                    0 => 'dtshd',
+                ),
+            'audio/vnd.lucent.voice' =>
+                array(
+                    0 => 'lvp',
+                ),
+            'audio/vnd.ms-playready.media.pya' =>
+                array(
+                    0 => 'pya',
+                ),
+            'audio/vnd.nuera.ecelp4800' =>
+                array(
+                    0 => 'ecelp4800',
+                ),
+            'audio/vnd.nuera.ecelp7470' =>
+                array(
+                    0 => 'ecelp7470',
+                ),
+            'audio/vnd.nuera.ecelp9600' =>
+                array(
+                    0 => 'ecelp9600',
+                ),
+            'audio/vnd.rip' =>
+                array(
+                    0 => 'rip',
+                ),
+            'audio/webm' =>
+                array(
+                    0 => 'weba',
+                ),
+            'audio/x-aac' =>
+                array(
+                    0 => 'aac',
+                ),
+            'audio/x-aiff' =>
+                array(
+                    0 => 'aif',
+                    1 => 'aiff',
+                    2 => 'aifc',
+                ),
+            'audio/x-caf' =>
+                array(
+                    0 => 'caf',
+                ),
+            'audio/x-flac' =>
+                array(
+                    0 => 'flac',
+                ),
+            'audio/x-matroska' =>
+                array(
+                    0 => 'mka',
+                ),
+            'audio/x-mpegurl' =>
+                array(
+                    0 => 'm3u',
+                ),
+            'audio/x-ms-wax' =>
+                array(
+                    0 => 'wax',
+                ),
+            'audio/x-ms-wma' =>
+                array(
+                    0 => 'wma',
+                ),
+            'audio/x-pn-realaudio' =>
+                array(
+                    0 => 'ram',
+                    1 => 'ra',
+                ),
+            'audio/x-pn-realaudio-plugin' =>
+                array(
+                    0 => 'rmp',
+                ),
+            'audio/x-wav' =>
+                array(
+                    0 => 'wav',
+                ),
+            'audio/xm' =>
+                array(
+                    0 => 'xm',
+                ),
+            'chemical/x-cdx' =>
+                array(
+                    0 => 'cdx',
+                ),
+            'chemical/x-cif' =>
+                array(
+                    0 => 'cif',
+                ),
+            'chemical/x-cmdf' =>
+                array(
+                    0 => 'cmdf',
+                ),
+            'chemical/x-cml' =>
+                array(
+                    0 => 'cml',
+                ),
+            'chemical/x-csml' =>
+                array(
+                    0 => 'csml',
+                ),
+            'chemical/x-xyz' =>
+                array(
+                    0 => 'xyz',
+                ),
+            'font/collection' =>
+                array(
+                    0 => 'ttc',
+                ),
+            'font/otf' =>
+                array(
+                    0 => 'otf',
+                ),
+            'font/ttf' =>
+                array(
+                    0 => 'ttf',
+                ),
+            'font/woff' =>
+                array(
+                    0 => 'woff',
+                ),
+            'font/woff2' =>
+                array(
+                    0 => 'woff2',
+                ),
+            'image/bmp' =>
+                array(
+                    0 => 'bmp',
+                ),
+            'image/cgm' =>
+                array(
+                    0 => 'cgm',
+                ),
+            'image/g3fax' =>
+                array(
+                    0 => 'g3',
+                ),
+            'image/gif' =>
+                array(
+                    0 => 'gif',
+                ),
+            'image/ief' =>
+                array(
+                    0 => 'ief',
+                ),
+            'image/ktx' =>
+                array(
+                    0 => 'ktx',
+                ),
+            'image/png' =>
+                array(
+                    0 => 'png',
+                ),
+            'image/prs.btif' =>
+                array(
+                    0 => 'btif',
+                ),
+            'image/sgi' =>
+                array(
+                    0 => 'sgi',
+                ),
+            'image/svg+xml' =>
+                array(
+                    0 => 'svg',
+                    1 => 'svgz',
+                ),
+            'image/tiff' =>
+                array(
+                    0 => 'tiff',
+                    1 => 'tif',
+                ),
+            'image/vnd.adobe.photoshop' =>
+                array(
+                    0 => 'psd',
+                ),
+            'image/vnd.dece.graphic' =>
+                array(
+                    0 => 'uvi',
+                    1 => 'uvvi',
+                    2 => 'uvg',
+                    3 => 'uvvg',
+                ),
+            'image/vnd.djvu' =>
+                array(
+                    0 => 'djvu',
+                    1 => 'djv',
+                ),
+            'image/vnd.dvb.subtitle' =>
+                array(
+                    0 => 'sub',
+                ),
+            'image/vnd.dwg' =>
+                array(
+                    0 => 'dwg',
+                ),
+            'image/vnd.dxf' =>
+                array(
+                    0 => 'dxf',
+                ),
+            'image/vnd.fastbidsheet' =>
+                array(
+                    0 => 'fbs',
+                ),
+            'image/vnd.fpx' =>
+                array(
+                    0 => 'fpx',
+                ),
+            'image/vnd.fst' =>
+                array(
+                    0 => 'fst',
+                ),
+            'image/vnd.fujixerox.edmics-mmr' =>
+                array(
+                    0 => 'mmr',
+                ),
+            'image/vnd.fujixerox.edmics-rlc' =>
+                array(
+                    0 => 'rlc',
+                ),
+            'image/vnd.ms-modi' =>
+                array(
+                    0 => 'mdi',
+                ),
+            'image/vnd.ms-photo' =>
+                array(
+                    0 => 'wdp',
+                ),
+            'image/vnd.net-fpx' =>
+                array(
+                    0 => 'npx',
+                ),
+            'image/vnd.wap.wbmp' =>
+                array(
+                    0 => 'wbmp',
+                ),
+            'image/vnd.xiff' =>
+                array(
+                    0 => 'xif',
+                ),
+            'image/webp' =>
+                array(
+                    0 => 'webp',
+                ),
+            'image/x-3ds' =>
+                array(
+                    0 => '3ds',
+                ),
+            'image/x-cmu-raster' =>
+                array(
+                    0 => 'ras',
+                ),
+            'image/x-cmx' =>
+                array(
+                    0 => 'cmx',
+                ),
+            'image/x-freehand' =>
+                array(
+                    0 => 'fh',
+                    1 => 'fhc',
+                    2 => 'fh4',
+                    3 => 'fh5',
+                    4 => 'fh7',
+                ),
+            'image/x-icon' =>
+                array(
+                    0 => 'ico',
+                ),
+            'image/x-mrsid-image' =>
+                array(
+                    0 => 'sid',
+                ),
+            'image/x-pcx' =>
+                array(
+                    0 => 'pcx',
+                ),
+            'image/x-pict' =>
+                array(
+                    0 => 'pic',
+                    1 => 'pct',
+                ),
+            'image/x-portable-anymap' =>
+                array(
+                    0 => 'pnm',
+                ),
+            'image/x-portable-bitmap' =>
+                array(
+                    0 => 'pbm',
+                ),
+            'image/x-portable-graymap' =>
+                array(
+                    0 => 'pgm',
+                ),
+            'image/x-portable-pixmap' =>
+                array(
+                    0 => 'ppm',
+                ),
+            'image/x-rgb' =>
+                array(
+                    0 => 'rgb',
+                ),
+            'image/x-tga' =>
+                array(
+                    0 => 'tga',
+                ),
+            'image/x-xbitmap' =>
+                array(
+                    0 => 'xbm',
+                ),
+            'image/x-xpixmap' =>
+                array(
+                    0 => 'xpm',
+                ),
+            'image/x-xwindowdump' =>
+                array(
+                    0 => 'xwd',
+                ),
+            'message/rfc822' =>
+                array(
+                    0 => 'eml',
+                    1 => 'mime',
+                ),
+            'model/iges' =>
+                array(
+                    0 => 'igs',
+                    1 => 'iges',
+                ),
+            'model/mesh' =>
+                array(
+                    0 => 'msh',
+                    1 => 'mesh',
+                    2 => 'silo',
+                ),
+            'model/vnd.collada+xml' =>
+                array(
+                    0 => 'dae',
+                ),
+            'model/vnd.dwf' =>
+                array(
+                    0 => 'dwf',
+                ),
+            'model/vnd.gdl' =>
+                array(
+                    0 => 'gdl',
+                ),
+            'model/vnd.gtw' =>
+                array(
+                    0 => 'gtw',
+                ),
+            'model/vnd.mts' =>
+                array(
+                    0 => 'mts',
+                ),
+            'model/vnd.vtu' =>
+                array(
+                    0 => 'vtu',
+                ),
+            'model/vrml' =>
+                array(
+                    0 => 'wrl',
+                    1 => 'vrml',
+                ),
+            'model/x3d+binary' =>
+                array(
+                    0 => 'x3db',
+                    1 => 'x3dbz',
+                ),
+            'model/x3d+vrml' =>
+                array(
+                    0 => 'x3dv',
+                    1 => 'x3dvz',
+                ),
+            'model/x3d+xml' =>
+                array(
+                    0 => 'x3d',
+                    1 => 'x3dz',
+                ),
+            'text/cache-manifest' =>
+                array(
+                    0 => 'appcache',
+                ),
+            'text/calendar' =>
+                array(
+                    0 => 'ics',
+                    1 => 'ifb',
+                ),
+            'text/css' =>
+                array(
+                    0 => 'css',
+                ),
+            'text/csv' =>
+                array(
+                    0 => 'csv',
+                ),
+            'text/html' =>
+                array(
+                    0 => 'html',
+                    1 => 'htm',
+                ),
+            'text/n3' =>
+                array(
+                    0 => 'n3',
+                ),
+            'text/plain' =>
+                array(
+                    0 => 'txt',
+                    1 => 'text',
+                    2 => 'conf',
+                    3 => 'def',
+                    4 => 'list',
+                    5 => 'log',
+                    6 => 'in',
+                ),
+            'text/prs.lines.tag' =>
+                array(
+                    0 => 'dsc',
+                ),
+            'text/richtext' =>
+                array(
+                    0 => 'rtx',
+                ),
+            'text/sgml' =>
+                array(
+                    0 => 'sgml',
+                    1 => 'sgm',
+                ),
+            'text/tab-separated-values' =>
+                array(
+                    0 => 'tsv',
+                ),
+            'text/troff' =>
+                array(
+                    0 => 't',
+                    1 => 'tr',
+                    2 => 'roff',
+                    3 => 'man',
+                    4 => 'me',
+                    5 => 'ms',
+                ),
+            'text/turtle' =>
+                array(
+                    0 => 'ttl',
+                ),
+            'text/uri-list' =>
+                array(
+                    0 => 'uri',
+                    1 => 'uris',
+                    2 => 'urls',
+                ),
+            'text/vcard' =>
+                array(
+                    0 => 'vcard',
+                ),
+            'text/vnd.curl' =>
+                array(
+                    0 => 'curl',
+                ),
+            'text/vnd.curl.dcurl' =>
+                array(
+                    0 => 'dcurl',
+                ),
+            'text/vnd.curl.mcurl' =>
+                array(
+                    0 => 'mcurl',
+                ),
+            'text/vnd.curl.scurl' =>
+                array(
+                    0 => 'scurl',
+                ),
+            'text/vnd.dvb.subtitle' =>
+                array(
+                    0 => 'sub',
+                ),
+            'text/vnd.fly' =>
+                array(
+                    0 => 'fly',
+                ),
+            'text/vnd.fmi.flexstor' =>
+                array(
+                    0 => 'flx',
+                ),
+            'text/vnd.graphviz' =>
+                array(
+                    0 => 'gv',
+                ),
+            'text/vnd.in3d.3dml' =>
+                array(
+                    0 => '3dml',
+                ),
+            'text/vnd.in3d.spot' =>
+                array(
+                    0 => 'spot',
+                ),
+            'text/vnd.sun.j2me.app-descriptor' =>
+                array(
+                    0 => 'jad',
+                ),
+            'text/vnd.wap.wml' =>
+                array(
+                    0 => 'wml',
+                ),
+            'text/vnd.wap.wmlscript' =>
+                array(
+                    0 => 'wmls',
+                ),
+            'text/x-asm' =>
+                array(
+                    0 => 's',
+                    1 => 'asm',
+                ),
+            'text/x-c' =>
+                array(
+                    0 => 'c',
+                    1 => 'cc',
+                    2 => 'cxx',
+                    3 => 'cpp',
+                    4 => 'h',
+                    5 => 'hh',
+                    6 => 'dic',
+                ),
+            'text/x-fortran' =>
+                array(
+                    0 => 'f',
+                    1 => 'for',
+                    2 => 'f77',
+                    3 => 'f90',
+                ),
+            'text/x-java-source' =>
+                array(
+                    0 => 'java',
+                ),
+            'text/x-nfo' =>
+                array(
+                    0 => 'nfo',
+                ),
+            'text/x-opml' =>
+                array(
+                    0 => 'opml',
+                ),
+            'text/x-pascal' =>
+                array(
+                    0 => 'p',
+                    1 => 'pas',
+                ),
+            'text/x-setext' =>
+                array(
+                    0 => 'etx',
+                ),
+            'text/x-sfv' =>
+                array(
+                    0 => 'sfv',
+                ),
+            'text/x-uuencode' =>
+                array(
+                    0 => 'uu',
+                ),
+            'text/x-vcalendar' =>
+                array(
+                    0 => 'vcs',
+                ),
+            'text/x-vcard' =>
+                array(
+                    0 => 'vcf',
+                ),
+            'video/3gpp' =>
+                array(
+                    0 => '3gp',
+                ),
+            'video/3gpp2' =>
+                array(
+                    0 => '3g2',
+                ),
+            'video/h261' =>
+                array(
+                    0 => 'h261',
+                ),
+            'video/h263' =>
+                array(
+                    0 => 'h263',
+                ),
+            'video/h264' =>
+                array(
+                    0 => 'h264',
+                ),
+            'video/jpeg' =>
+                array(
+                    0 => 'jpgv',
+                ),
+            'video/jpm' =>
+                array(
+                    0 => 'jpm',
+                    1 => 'jpgm',
+                ),
+            'video/mj2' =>
+                array(
+                    0 => 'mj2',
+                    1 => 'mjp2',
+                ),
+            'video/mp4' =>
+                array(
+                    0 => 'mp4',
+                    1 => 'mp4v',
+                    2 => 'mpg4',
+                ),
+            'video/mpeg' =>
+                array(
+                    0 => 'mpeg',
+                    1 => 'mpg',
+                    2 => 'mpe',
+                    3 => 'm1v',
+                    4 => 'm2v',
+                ),
+            'video/ogg' =>
+                array(
+                    0 => 'ogv',
+                ),
+            'video/quicktime' =>
+                array(
+                    0 => 'qt',
+                    1 => 'mov',
+                ),
+            'video/vnd.dece.hd' =>
+                array(
+                    0 => 'uvh',
+                    1 => 'uvvh',
+                ),
+            'video/vnd.dece.mobile' =>
+                array(
+                    0 => 'uvm',
+                    1 => 'uvvm',
+                ),
+            'video/vnd.dece.pd' =>
+                array(
+                    0 => 'uvp',
+                    1 => 'uvvp',
+                ),
+            'video/vnd.dece.sd' =>
+                array(
+                    0 => 'uvs',
+                    1 => 'uvvs',
+                ),
+            'video/vnd.dece.video' =>
+                array(
+                    0 => 'uvv',
+                    1 => 'uvvv',
+                ),
+            'video/vnd.dvb.file' =>
+                array(
+                    0 => 'dvb',
+                ),
+            'video/vnd.fvt' =>
+                array(
+                    0 => 'fvt',
+                ),
+            'video/vnd.mpegurl' =>
+                array(
+                    0 => 'mxu',
+                    1 => 'm4u',
+                ),
+            'video/vnd.ms-playready.media.pyv' =>
+                array(
+                    0 => 'pyv',
+                ),
+            'video/vnd.uvvu.mp4' =>
+                array(
+                    0 => 'uvu',
+                    1 => 'uvvu',
+                ),
+            'video/vnd.vivo' =>
+                array(
+                    0 => 'viv',
+                ),
+            'video/webm' =>
+                array(
+                    0 => 'webm',
+                ),
+            'video/x-f4v' =>
+                array(
+                    0 => 'f4v',
+                ),
+            'video/x-fli' =>
+                array(
+                    0 => 'fli',
+                ),
+            'video/x-flv' =>
+                array(
+                    0 => 'flv',
+                ),
+            'video/x-m4v' =>
+                array(
+                    0 => 'm4v',
+                ),
+            'video/x-matroska' =>
+                array(
+                    0 => 'mkv',
+                    1 => 'mk3d',
+                    2 => 'mks',
+                ),
+            'video/x-mng' =>
+                array(
+                    0 => 'mng',
+                ),
+            'video/x-ms-asf' =>
+                array(
+                    0 => 'asf',
+                    1 => 'asx',
+                ),
+            'video/x-ms-vob' =>
+                array(
+                    0 => 'vob',
+                ),
+            'video/x-ms-wm' =>
+                array(
+                    0 => 'wm',
+                ),
+            'video/x-ms-wmv' =>
+                array(
+                    0 => 'wmv',
+                ),
+            'video/x-ms-wmx' =>
+                array(
+                    0 => 'wmx',
+                ),
+            'video/x-ms-wvx' =>
+                array(
+                    0 => 'wvx',
+                ),
+            'video/x-msvideo' =>
+                array(
+                    0 => 'avi',
+                ),
+            'video/x-sgi-movie' =>
+                array(
+                    0 => 'movie',
+                ),
+            'video/x-smv' =>
+                array(
+                    0 => 'smv',
+                ),
+            'x-conference/x-cooltalk' =>
+                array(
+                    0 => 'ice',
+                ),
+        ),
+);
\ No newline at end of file
diff --git a/LVMH-SSO/_secure.php b/LVMH-SSO/_secure.php
new file mode 100644 (file)
index 0000000..9ca3ed5
--- /dev/null
@@ -0,0 +1,235 @@
+<?php
+$basedir = '/LVMH/Internal-Control-Base-December-2020/';
+$base = 'https://hosting.fluidbook.com' . $basedir;
+
+$forbiddenext = ['php', 'htaccess', '.metadata'];
+foreach ($forbiddenext as $ext) {
+
+    if (stripos($_SERVER['SCRIPT_URL'], "." . $ext) !== false) {
+        http_response_code(403);
+        exit;
+    }
+}
+require_once "vendor/autoload.php";
+
+session_start();
+$needsAuth = empty($_SESSION['samlUserdata']);
+
+$file = $_SERVER['CONTEXT_DOCUMENT_ROOT'] . $_SERVER['SCRIPT_URL'];
+if (is_dir($file)) {
+    $file .= '/index.html';
+}
+$index = strpos($file, 'index.html') !== false;
+
+if ($needsAuth) {
+    $metadata = getMetadata();
+
+    $url = $base;
+    // put SAML settings into an array to avoid placing files in the
+    // composer vendor/ directories
+    $samlsettings = [
+        'sp' => [
+            // Identifier of the SP entity  (must be a URI)
+            'entityId' => $url,
+            // Specifies info about where and how the <AuthnResponse> message MUST be
+            // returned to the requester, in this case our SP.
+            'assertionConsumerService' => array(
+                // URL Location where the <Response> from the IdP will be returned
+                'url' => $url,
+                // SAML protocol binding to be used when returning the <Response>
+                // message.  Onelogin Toolkit supports for this endpoint the
+                // HTTP-POST binding only
+                'binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
+            ),
+//            // If you need to specify requested attributes, set a
+//            // attributeConsumingService. nameFormat, attributeValue and
+//            // friendlyName can be omitted. Otherwise remove this section.
+//            "attributeConsumingService" => array(
+//                "serviceName" => "SP test",
+//                "serviceDescription" => "Test Service",
+//                "requestedAttributes" => array(
+//                    array(
+//                        "name" => "",
+//                        "isRequired" => false,
+//                        "nameFormat" => "",
+//                        "friendlyName" => "",
+//                        "attributeValue" => ""
+//                    )
+//                )
+//            ),
+//            // Specifies info about where and how the <Logout Response> message MUST be
+//            // returned to the requester, in this case our SP.
+//            'singleLogoutService' => array(
+//                // URL Location where the <Response> from the IdP will be returned
+//                'url' => '',
+//                // SAML protocol binding to be used when returning the <Response>
+//                // message.  Onelogin Toolkit supports for this endpoint the
+//                // HTTP-Redirect binding only
+//                'binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
+//            ),
+//            // Specifies constraints on the name identifier to be used to
+//            // represent the requested subject.
+//            // Take a look on lib/Saml2/Constants.php to see the NameIdFormat supported
+//            'NameIDFormat' => 'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified',
+//
+//            // Usually x509cert and privateKey of the SP are provided by files placed at
+//            // the certs folder. But we can also provide them with the following parameters
+//            'x509cert' => '',
+//            'privateKey' => '',
+//
+//            /*
+//             * Key rollover
+//             * If you plan to update the SP x509cert and privateKey
+//             * you can define here the new x509cert and it will be
+//             * published on the SP metadata so Identity Providers can
+//             * read them and get ready for rollover.
+//             */
+//            // 'x509certNew' => '',
+        ],
+        'idp' => [
+            'entityId' => $metadata['EntityDescriptor']['@entityID'],
+            'singleSignOnService' => [
+                'url' => $metadata['EntityDescriptor']['md:IDPSSODescriptor']['md:SingleSignOnService'][0]['@Location'],
+            ],
+            'x509cert' => $metadata['EntityDescriptor']['md:IDPSSODescriptor']['md:KeyDescriptor']['ds:KeyInfo']['ds:X509Data']['ds:X509Certificate'],
+        ]];
+    try {
+        $auth = new \OneLogin\Saml2\Auth($samlsettings);
+    } catch (Exception $e) {
+        http_response_code(500);
+        die('an error occured');
+    }
+
+    if (!empty($_REQUEST['SAMLResponse']) && !empty($_REQUEST['RelayState'])) {
+
+        $auth->processResponse(null);
+        $errors = $auth->getErrors();
+        if (empty($errors)) {
+            // user has authenticated successfully
+            $needsAuth = false;
+            $_SESSION['samlUserdata'] = $auth->getAttributes();
+        }
+    }
+
+    if ($needsAuth) {
+        if ($index) {
+            $auth->login();
+        } else {
+            http_response_code(403);
+        }
+        exit;
+    }
+}
+
+
+if (!file_exists($file)) {
+    http_response_code(404);
+    exit;
+}
+
+$e = explode('.', $file);
+$ext = mb_strtolower(array_pop($e));
+require_once "_mime.php";
+if (isset($mimes['mimes'][$ext])) {
+    $mime = $mimes['mimes'][$ext][0];
+} else {
+    $mime = mime_content_type($file);
+}
+
+header('Content-Type: ' . $mime);
+header('Content-Length: ' . filesize($file));
+header("X-Sendfile: $file");
+
+function xmlToArray($xml, $options = array())
+{
+    $defaults = array(
+        'namespaceSeparator' => ':',//you may want this to be something other than a colon
+        'attributePrefix' => '@',   //to distinguish between attributes and nodes with the same name
+        'alwaysArray' => array(),   //array of xml tag names which should always become arrays
+        'autoArray' => true,        //only create arrays for tags which appear more than once
+        'textContent' => '$',       //key used for the text content of elements
+        'autoText' => true,         //skip textContent key if node has no attributes or child nodes
+        'keySearch' => false,       //optional search and replace on tag and attribute names
+        'keyReplace' => false       //replace values for above search values (as passed to str_replace())
+    );
+    $options = array_merge($defaults, $options);
+    $namespaces = $xml->getDocNamespaces(true);
+    $namespaces[''] = null; //add base (empty) namespace
+
+    //get attributes from all namespaces
+    $attributesArray = array();
+    foreach ($namespaces as $prefix => $namespace) {
+        foreach ($xml->attributes($namespace) as $attributeName => $attribute) {
+            //replace characters in attribute name
+            if ($options['keySearch']) $attributeName =
+                str_replace($options['keySearch'], $options['keyReplace'], $attributeName);
+            $attributeKey = $options['attributePrefix']
+                . ($prefix ? $prefix . $options['namespaceSeparator'] : '')
+                . $attributeName;
+            $attributesArray[$attributeKey] = (string)$attribute;
+        }
+    }
+
+    //get child nodes from all namespaces
+    $tagsArray = array();
+    foreach ($namespaces as $prefix => $namespace) {
+        foreach ($xml->children($namespace) as $childXml) {
+            //recurse into child nodes
+            $childArray = xmlToArray($childXml, $options);
+            list($childTagName, $childProperties) = each($childArray);
+
+            //replace characters in tag name
+            if ($options['keySearch']) $childTagName =
+                str_replace($options['keySearch'], $options['keyReplace'], $childTagName);
+            //add namespace prefix, if any
+            if ($prefix) $childTagName = $prefix . $options['namespaceSeparator'] . $childTagName;
+
+            if (!isset($tagsArray[$childTagName])) {
+                //only entry with this key
+                //test if tags of this type should always be arrays, no matter the element count
+                $tagsArray[$childTagName] =
+                    in_array($childTagName, $options['alwaysArray']) || !$options['autoArray']
+                        ? array($childProperties) : $childProperties;
+            } elseif (
+                is_array($tagsArray[$childTagName]) && array_keys($tagsArray[$childTagName])
+                === range(0, count($tagsArray[$childTagName]) - 1)
+            ) {
+                //key already exists and is integer indexed array
+                $tagsArray[$childTagName][] = $childProperties;
+            } else {
+                //key exists so convert to integer indexed array with previous value in position 0
+                $tagsArray[$childTagName] = array($tagsArray[$childTagName], $childProperties);
+            }
+        }
+    }
+
+    //get text content of node
+    $textContentArray = array();
+    $plainText = trim((string)$xml);
+    if ($plainText !== '') $textContentArray[$options['textContent']] = $plainText;
+
+    //stick it all together
+    $propertiesArray = !$options['autoText'] || $attributesArray || $tagsArray || ($plainText === '')
+        ? array_merge($attributesArray, $tagsArray, $textContentArray) : $plainText;
+
+    //return node as array
+    return array(
+        $xml->getName() => $propertiesArray
+    );
+}
+
+function getMetadata()
+{
+    $limit = time() - 3600;
+    $cachefile = __DIR__ . '/_metadata';
+
+    if (!file_exists($cachefile) || filesize($cachefile)<=20 || filemtime($cachefile) < $limit) {
+        $xml = simplexml_load_string(file_get_contents('https://okta.lvmh.com/app/exkde2eh6L55wyfcE416/sso/saml/metadata'));
+        $metadata = xmlToArray($xml);
+        file_put_contents($cachefile, json_encode($metadata));
+        return $metadata;
+    } else {
+        return json_decode(file_get_contents($cachefile));
+    }
+
+}
\ No newline at end of file
index 57619424248661de5df61d3e9d710563547b0c8b..815b9980855a55c07ad0e672ff4996709f59833b 100644 (file)
@@ -1,9 +1,9 @@
 {
-    "require": {
-        "onelogin/php-saml": "^3.5"
-    }
-    ,
-    "require-dev": {
-        "roave/security-advisories": "dev-master"
-    }
+  "require": {
+    "php": ">=7.0",
+    "onelogin/php-saml": "^3.5"
+  },
+  "require-dev": {
+    "roave/security-advisories": "dev-master"
+  }
 }
index dd40ce1c05b2bb2b562e783599221f0600690ef2..e259bf7ebc23574e07341ca8ed7a287280b523d7 100644 (file)
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "f45b6f27cbf89eda0849377884f0b686",
+    "content-hash": "c830e2d2d72b4009d3ceae7f9641ff17",
     "packages": [
         {
             "name": "onelogin/php-saml",
             },
             "time": "2020-12-03T20:08:41+00:00"
         },
+        {
+            "name": "psr/log",
+            "version": "1.1.3",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/php-fig/log.git",
+                "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
+                "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.1.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Psr\\Log\\": "Psr/Log/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "PHP-FIG",
+                    "homepage": "http://www.php-fig.org/"
+                }
+            ],
+            "description": "Common interface for logging libraries",
+            "homepage": "https://github.com/php-fig/log",
+            "keywords": [
+                "log",
+                "psr",
+                "psr-3"
+            ],
+            "support": {
+                "source": "https://github.com/php-fig/log/tree/1.1.3"
+            },
+            "time": "2020-03-23T09:12:05+00:00"
+        },
         {
             "name": "robrichards/xmlseclibs",
             "version": "3.1.1",
                 "source": "https://github.com/robrichards/xmlseclibs/tree/3.1.1"
             },
             "time": "2020-09-05T13:00:25+00:00"
+        },
+        {
+            "name": "simplesamlphp/saml2",
+            "version": "v4.0.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/simplesamlphp/saml2.git",
+                "reference": "fa1f9df24717c6f9c1a57b0f2e0c5018a1e581b8"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/simplesamlphp/saml2/zipball/fa1f9df24717c6f9c1a57b0f2e0c5018a1e581b8",
+                "reference": "fa1f9df24717c6f9c1a57b0f2e0c5018a1e581b8",
+                "shasum": ""
+            },
+            "require": {
+                "ext-dom": "*",
+                "ext-openssl": "*",
+                "ext-zlib": "*",
+                "php": ">=7.2",
+                "psr/log": "~1.0",
+                "robrichards/xmlseclibs": "^3.0",
+                "webmozart/assert": "^1.4"
+            },
+            "require-dev": {
+                "mockery/mockery": "~1.2",
+                "phpunit/phpunit": "^8.0",
+                "sebastian/phpcpd": "~4.1",
+                "sensiolabs/security-checker": "~5.0",
+                "simplesamlphp/simplesamlphp-test-framework": "0.0.11",
+                "squizlabs/php_codesniffer": "~3.4"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "v4.0.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "SAML2\\": "src/SAML2"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "LGPL-2.1-or-later"
+            ],
+            "authors": [
+                {
+                    "name": "Andreas Ã…kre Solberg",
+                    "email": "andreas.solberg@uninett.no"
+                }
+            ],
+            "description": "SAML2 PHP library from SimpleSAMLphp",
+            "support": {
+                "issues": "https://github.com/simplesamlphp/saml2/issues",
+                "source": "https://github.com/simplesamlphp/saml2/tree/release-4.x"
+            },
+            "time": "2019-08-29T15:41:59+00:00"
+        },
+        {
+            "name": "symfony/polyfill-ctype",
+            "version": "v1.22.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-ctype.git",
+                "reference": "c6c942b1ac76c82448322025e084cadc56048b4e"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e",
+                "reference": "c6c942b1ac76c82448322025e084cadc56048b4e",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "suggest": {
+                "ext-ctype": "For best performance"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "1.22-dev"
+                },
+                "thanks": {
+                    "name": "symfony/polyfill",
+                    "url": "https://github.com/symfony/polyfill"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Polyfill\\Ctype\\": ""
+                },
+                "files": [
+                    "bootstrap.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Gert de Pagter",
+                    "email": "BackEndTea@gmail.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony polyfill for ctype functions",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compatibility",
+                "ctype",
+                "polyfill",
+                "portable"
+            ],
+            "support": {
+                "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.0"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2021-01-07T16:49:33+00:00"
+        },
+        {
+            "name": "webmozart/assert",
+            "version": "1.9.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/webmozart/assert.git",
+                "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389",
+                "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^5.3.3 || ^7.0 || ^8.0",
+                "symfony/polyfill-ctype": "^1.8"
+            },
+            "conflict": {
+                "phpstan/phpstan": "<0.12.20",
+                "vimeo/psalm": "<3.9.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^4.8.36 || ^7.5.13"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Webmozart\\Assert\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Bernhard Schussek",
+                    "email": "bschussek@gmail.com"
+                }
+            ],
+            "description": "Assertions to validate method input/output with nice error messages.",
+            "keywords": [
+                "assert",
+                "check",
+                "validate"
+            ],
+            "support": {
+                "issues": "https://github.com/webmozart/assert/issues",
+                "source": "https://github.com/webmozart/assert/tree/master"
+            },
+            "time": "2020-07-08T17:02:28+00:00"
+        }
+    ],
+    "packages-dev": [
+        {
+            "name": "roave/security-advisories",
+            "version": "dev-master",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/Roave/SecurityAdvisories.git",
+                "reference": "0f7a0af0970ff222b7c4212e2417580e0e05b257"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/0f7a0af0970ff222b7c4212e2417580e0e05b257",
+                "reference": "0f7a0af0970ff222b7c4212e2417580e0e05b257",
+                "shasum": ""
+            },
+            "conflict": {
+                "3f/pygmentize": "<1.2",
+                "adodb/adodb-php": "<5.20.12",
+                "alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1",
+                "amphp/artax": "<1.0.6|>=2,<2.0.6",
+                "amphp/http": "<1.0.1",
+                "amphp/http-client": ">=4,<4.4",
+                "api-platform/core": ">=2.2,<2.2.10|>=2.3,<2.3.6",
+                "asymmetricrypt/asymmetricrypt": ">=0,<9.9.99",
+                "aws/aws-sdk-php": ">=3,<3.2.1",
+                "bagisto/bagisto": "<0.1.5",
+                "barrelstrength/sprout-base-email": "<1.2.7",
+                "barrelstrength/sprout-forms": "<3.9",
+                "baserproject/basercms": ">=4,<=4.3.6|>=4.4,<4.4.1",
+                "bolt/bolt": "<3.7.1",
+                "brightlocal/phpwhois": "<=4.2.5",
+                "buddypress/buddypress": "<5.1.2",
+                "bugsnag/bugsnag-laravel": ">=2,<2.0.2",
+                "cakephp/cakephp": ">=1.3,<1.3.18|>=2,<2.4.99|>=2.5,<2.5.99|>=2.6,<2.6.12|>=2.7,<2.7.6|>=3,<3.5.18|>=3.6,<3.6.15|>=3.7,<3.7.7",
+                "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4",
+                "cartalyst/sentry": "<=2.1.6",
+                "centreon/centreon": "<18.10.8|>=19,<19.4.5",
+                "cesnet/simplesamlphp-module-proxystatistics": "<3.1",
+                "codeigniter/framework": "<=3.0.6",
+                "composer/composer": "<=1-alpha.11",
+                "contao-components/mediaelement": ">=2.14.2,<2.21.1",
+                "contao/core": ">=2,<3.5.39",
+                "contao/core-bundle": ">=4,<4.4.52|>=4.5,<4.9.6|= 4.10.0",
+                "contao/listing-bundle": ">=4,<4.4.8",
+                "datadog/dd-trace": ">=0.30,<0.30.2",
+                "david-garcia/phpwhois": "<=4.3.1",
+                "derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1",
+                "doctrine/annotations": ">=1,<1.2.7",
+                "doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2",
+                "doctrine/common": ">=2,<2.4.3|>=2.5,<2.5.1",
+                "doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2",
+                "doctrine/doctrine-bundle": "<1.5.2",
+                "doctrine/doctrine-module": "<=0.7.1",
+                "doctrine/mongodb-odm": ">=1,<1.0.2",
+                "doctrine/mongodb-odm-bundle": ">=2,<3.0.1",
+                "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1",
+                "dolibarr/dolibarr": "<11.0.4",
+                "dompdf/dompdf": ">=0.6,<0.6.2",
+                "drupal/core": ">=7,<7.74|>=8,<8.8.11|>=8.9,<8.9.9|>=9,<9.0.8",
+                "drupal/drupal": ">=7,<7.74|>=8,<8.8.11|>=8.9,<8.9.9|>=9,<9.0.8",
+                "endroid/qr-code-bundle": "<3.4.2",
+                "enshrined/svg-sanitize": "<0.13.1",
+                "erusev/parsedown": "<1.7.2",
+                "ezsystems/demobundle": ">=5.4,<5.4.6.1",
+                "ezsystems/ez-support-tools": ">=2.2,<2.2.3",
+                "ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1",
+                "ezsystems/ezfind-ls": ">=5.3,<5.3.6.1|>=5.4,<5.4.11.1|>=2017.12,<2017.12.0.1",
+                "ezsystems/ezplatform": ">=1.7,<1.7.9.1|>=1.13,<1.13.5.1|>=2.5,<2.5.4",
+                "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6",
+                "ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1",
+                "ezsystems/ezplatform-kernel": ">=1,<1.0.2.1",
+                "ezsystems/ezplatform-user": ">=1,<1.0.1",
+                "ezsystems/ezpublish-kernel": ">=5.3,<5.3.12.1|>=5.4,<5.4.14.2|>=6,<6.7.9.1|>=6.8,<6.13.6.3|>=7,<7.2.4.1|>=7.3,<7.3.2.1|>=7.5,<7.5.7.1",
+                "ezsystems/ezpublish-legacy": ">=5.3,<5.3.12.6|>=5.4,<5.4.14.2|>=2011,<2017.12.7.3|>=2018.6,<2018.6.1.4|>=2018.9,<2018.9.1.3|>=2019.3,<2019.3.5.1",
+                "ezsystems/platform-ui-assets-bundle": ">=4.2,<4.2.3",
+                "ezsystems/repository-forms": ">=2.3,<2.3.2.1",
+                "ezyang/htmlpurifier": "<4.1.1",
+                "firebase/php-jwt": "<2",
+                "fooman/tcpdf": "<6.2.22",
+                "fossar/tcpdf-parser": "<6.2.22",
+                "friendsofsymfony/oauth2-php": "<1.3",
+                "friendsofsymfony/rest-bundle": ">=1.2,<1.2.2",
+                "friendsofsymfony/user-bundle": ">=1.2,<1.3.5",
+                "friendsoftypo3/mediace": ">=7.6.2,<7.6.5",
+                "fuel/core": "<1.8.1",
+                "getgrav/grav": "<1.7-beta.8",
+                "getkirby/cms": ">=3,<3.4.5",
+                "getkirby/panel": "<2.5.14",
+                "gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3",
+                "gree/jose": "<=2.2",
+                "gregwar/rst": "<1.0.3",
+                "guzzlehttp/guzzle": ">=4-rc.2,<4.2.4|>=5,<5.3.1|>=6,<6.2.1",
+                "illuminate/auth": ">=4,<4.0.99|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.10",
+                "illuminate/cookie": ">=4,<=4.0.11|>=4.1,<=4.1.99999|>=4.2,<=4.2.99999|>=5,<=5.0.99999|>=5.1,<=5.1.99999|>=5.2,<=5.2.99999|>=5.3,<=5.3.99999|>=5.4,<=5.4.99999|>=5.5,<=5.5.49|>=5.6,<=5.6.99999|>=5.7,<=5.7.99999|>=5.8,<=5.8.99999|>=6,<6.18.31|>=7,<7.22.4",
+                "illuminate/database": ">=4,<4.0.99|>=4.1,<4.1.29|>=5.5,<=5.5.44|>=6,<6.18.34|>=7,<7.23.2",
+                "illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15",
+                "illuminate/view": ">=7,<7.1.2",
+                "ivankristianto/phpwhois": "<=4.3",
+                "james-heinrich/getid3": "<1.9.9",
+                "joomla/session": "<1.3.1",
+                "jsmitty12/phpwhois": "<5.1",
+                "kazist/phpwhois": "<=4.2.6",
+                "kitodo/presentation": "<3.1.2",
+                "kreait/firebase-php": ">=3.2,<3.8.1",
+                "la-haute-societe/tcpdf": "<6.2.22",
+                "laravel/framework": ">=4,<4.0.99|>=4.1,<=4.1.99999|>=4.2,<=4.2.99999|>=5,<=5.0.99999|>=5.1,<=5.1.99999|>=5.2,<=5.2.99999|>=5.3,<=5.3.99999|>=5.4,<=5.4.99999|>=5.5,<=5.5.49|>=5.6,<=5.6.99999|>=5.7,<=5.7.99999|>=5.8,<=5.8.99999|>=6,<6.20.11|>=7,<7.30.2|>=8,<8.22.1",
+                "laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10",
+                "league/commonmark": "<0.18.3",
+                "librenms/librenms": "<1.53",
+                "livewire/livewire": ">2.2.4,<2.2.6",
+                "magento/community-edition": ">=2,<2.2.10|>=2.3,<2.3.3",
+                "magento/magento1ce": "<1.9.4.3",
+                "magento/magento1ee": ">=1,<1.14.4.3",
+                "magento/product-community-edition": ">=2,<2.2.10|>=2.3,<2.3.2-p.2",
+                "marcwillmann/turn": "<0.3.3",
+                "mediawiki/core": ">=1.27,<1.27.6|>=1.29,<1.29.3|>=1.30,<1.30.2|>=1.31,<1.31.9|>=1.32,<1.32.6|>=1.32.99,<1.33.3|>=1.33.99,<1.34.3|>=1.34.99,<1.35",
+                "mittwald/typo3_forum": "<1.2.1",
+                "monolog/monolog": ">=1.8,<1.12",
+                "namshi/jose": "<2.2",
+                "nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6",
+                "nette/nette": ">=2,<2.0.19|>=2.1,<2.1.13",
+                "nystudio107/craft-seomatic": "<3.3",
+                "nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1",
+                "october/backend": ">=1.0.319,<1.0.470",
+                "october/cms": "= 1.0.469|>=1.0.319,<1.0.469",
+                "october/october": ">=1.0.319,<1.0.466",
+                "october/rain": ">=1.0.319,<1.0.468",
+                "onelogin/php-saml": "<2.10.4",
+                "oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5",
+                "openid/php-openid": "<2.3",
+                "openmage/magento-lts": "<19.4.8|>=20,<20.0.4",
+                "orchid/platform": ">=9,<9.4.4",
+                "oro/crm": ">=1.7,<1.7.4",
+                "oro/platform": ">=1.7,<1.7.4",
+                "padraic/humbug_get_contents": "<1.1.2",
+                "pagarme/pagarme-php": ">=0,<3",
+                "paragonie/random_compat": "<2",
+                "passbolt/passbolt_api": "<2.11",
+                "paypal/merchant-sdk-php": "<3.12",
+                "pear/archive_tar": "<1.4.11",
+                "personnummer/personnummer": "<3.0.2",
+                "phpfastcache/phpfastcache": ">=5,<5.0.13",
+                "phpmailer/phpmailer": "<6.1.6",
+                "phpmussel/phpmussel": ">=1,<1.6",
+                "phpmyadmin/phpmyadmin": "<4.9.6|>=5,<5.0.3",
+                "phpoffice/phpexcel": "<1.8.2",
+                "phpoffice/phpspreadsheet": "<1.16",
+                "phpunit/phpunit": ">=4.8.19,<4.8.28|>=5.0.10,<5.6.3",
+                "phpwhois/phpwhois": "<=4.2.5",
+                "phpxmlrpc/extras": "<0.6.1",
+                "pimcore/pimcore": "<6.3",
+                "pocketmine/pocketmine-mp": "<3.15.4",
+                "prestashop/autoupgrade": ">=4,<4.10.1",
+                "prestashop/contactform": ">1.0.1,<4.3",
+                "prestashop/gamification": "<2.3.2",
+                "prestashop/productcomments": ">=4,<4.2",
+                "prestashop/ps_facetedsearch": "<3.4.1",
+                "privatebin/privatebin": "<1.2.2|>=1.3,<1.3.2",
+                "propel/propel": ">=2-alpha.1,<=2-alpha.7",
+                "propel/propel1": ">=1,<=1.7.1",
+                "pterodactyl/panel": "<0.7.19|>=1-rc.0,<=1-rc.6",
+                "pusher/pusher-php-server": "<2.2.1",
+                "rainlab/debugbar-plugin": "<3.1",
+                "robrichards/xmlseclibs": "<3.0.4",
+                "sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1",
+                "sabre/dav": ">=1.6,<1.6.99|>=1.7,<1.7.11|>=1.8,<1.8.9",
+                "scheb/two-factor-bundle": ">=0,<3.26|>=4,<4.11",
+                "sensiolabs/connect": "<4.2.3",
+                "serluck/phpwhois": "<=4.2.6",
+                "shopware/core": "<=6.3.4",
+                "shopware/platform": "<=6.3.4",
+                "shopware/shopware": "<5.6.9",
+                "silverstripe/admin": ">=1.0.3,<1.0.4|>=1.1,<1.1.1",
+                "silverstripe/assets": ">=1,<1.4.7|>=1.5,<1.5.2",
+                "silverstripe/cms": "<4.3.6|>=4.4,<4.4.4",
+                "silverstripe/comments": ">=1.3,<1.9.99|>=2,<2.9.99|>=3,<3.1.1",
+                "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3",
+                "silverstripe/framework": "<4.4.7|>=4.5,<4.5.4",
+                "silverstripe/graphql": ">=2,<2.0.5|>=3,<3.1.2|>=3.2,<3.2.4",
+                "silverstripe/registry": ">=2.1,<2.1.2|>=2.2,<2.2.1",
+                "silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4",
+                "silverstripe/subsites": ">=2,<2.1.1",
+                "silverstripe/taxonomy": ">=1.3,<1.3.1|>=2,<2.0.1",
+                "silverstripe/userforms": "<3",
+                "simple-updates/phpwhois": "<=1",
+                "simplesamlphp/saml2": "<1.10.6|>=2,<2.3.8|>=3,<3.1.4",
+                "simplesamlphp/simplesamlphp": "<1.18.6",
+                "simplesamlphp/simplesamlphp-module-infocard": "<1.0.1",
+                "simplito/elliptic-php": "<1.0.6",
+                "slim/slim": "<2.6",
+                "smarty/smarty": "<3.1.33",
+                "socalnick/scn-social-auth": "<1.15.2",
+                "spoonity/tcpdf": "<6.2.22",
+                "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1",
+                "ssddanbrown/bookstack": "<0.29.2",
+                "stormpath/sdk": ">=0,<9.9.99",
+                "studio-42/elfinder": "<2.1.49",
+                "sulu/sulu": "<1.6.34|>=2,<2.0.10|>=2.1,<2.1.1",
+                "swiftmailer/swiftmailer": ">=4,<5.4.5",
+                "sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2",
+                "sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1",
+                "sylius/grid-bundle": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1",
+                "sylius/resource-bundle": "<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4",
+                "sylius/sylius": "<1.6.9|>=1.7,<1.7.9|>=1.8,<1.8.3",
+                "symbiote/silverstripe-multivaluefield": ">=3,<3.0.99",
+                "symbiote/silverstripe-versionedfiles": "<=2.0.3",
+                "symfony/cache": ">=3.1,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8",
+                "symfony/dependency-injection": ">=2,<2.0.17|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7",
+                "symfony/error-handler": ">=4.4,<4.4.4|>=5,<5.0.4",
+                "symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.50|>=2.8,<2.8.49|>=3,<3.4.20|>=4,<4.0.15|>=4.1,<4.1.9|>=4.2,<4.2.1",
+                "symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7",
+                "symfony/http-foundation": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7",
+                "symfony/http-kernel": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.4.13|>=5,<5.1.5",
+                "symfony/intl": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13",
+                "symfony/mime": ">=4.3,<4.3.8",
+                "symfony/phpunit-bridge": ">=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7",
+                "symfony/polyfill": ">=1,<1.10",
+                "symfony/polyfill-php55": ">=1,<1.10",
+                "symfony/proxy-manager-bridge": ">=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7",
+                "symfony/routing": ">=2,<2.0.19",
+                "symfony/security": ">=2,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7|>=4.4,<4.4.7|>=5,<5.0.7",
+                "symfony/security-bundle": ">=2,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11",
+                "symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<2.8.37|>=3,<3.3.17|>=3.4,<3.4.7|>=4,<4.0.7",
+                "symfony/security-csrf": ">=2.4,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11",
+                "symfony/security-guard": ">=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11",
+                "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7",
+                "symfony/serializer": ">=2,<2.0.11",
+                "symfony/symfony": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.4.13|>=5,<5.1.5",
+                "symfony/translation": ">=2,<2.0.17",
+                "symfony/validator": ">=2,<2.0.24|>=2.1,<2.1.12|>=2.2,<2.2.5|>=2.3,<2.3.3",
+                "symfony/var-exporter": ">=4.2,<4.2.12|>=4.3,<4.3.8",
+                "symfony/web-profiler-bundle": ">=2,<2.3.19|>=2.4,<2.4.9|>=2.5,<2.5.4",
+                "symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7",
+                "t3g/svg-sanitizer": "<1.0.3",
+                "tecnickcom/tcpdf": "<6.2.22",
+                "thelia/backoffice-default-template": ">=2.1,<2.1.2",
+                "thelia/thelia": ">=2.1-beta.1,<2.1.3",
+                "theonedemon/phpwhois": "<=4.2.5",
+                "titon/framework": ">=0,<9.9.99",
+                "truckersmp/phpwhois": "<=4.3.1",
+                "twig/twig": "<1.38|>=2,<2.7",
+                "typo3/cms": ">=6.2,<6.2.30|>=7,<7.6.32|>=8,<8.7.38|>=9,<9.5.23|>=10,<10.4.10",
+                "typo3/cms-core": ">=8,<8.7.38|>=9,<9.5.23|>=10,<10.4.10",
+                "typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.10|>=3.1,<3.1.7|>=3.2,<3.2.7|>=3.3,<3.3.5",
+                "typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4",
+                "typo3/phar-stream-wrapper": ">=1,<2.1.1|>=3,<3.1.1",
+                "typo3fluid/fluid": ">=2,<2.0.8|>=2.1,<2.1.7|>=2.2,<2.2.4|>=2.3,<2.3.7|>=2.4,<2.4.4|>=2.5,<2.5.11|>=2.6,<2.6.10",
+                "ua-parser/uap-php": "<3.8",
+                "usmanhalalit/pixie": "<1.0.3|>=2,<2.0.2",
+                "verot/class.upload.php": "<=1.0.3|>=2,<=2.0.4",
+                "wallabag/tcpdf": "<6.2.22",
+                "willdurand/js-translation-bundle": "<2.1.1",
+                "yii2mod/yii2-cms": "<1.9.2",
+                "yiisoft/yii": ">=1.1.14,<1.1.15",
+                "yiisoft/yii2": "<2.0.38",
+                "yiisoft/yii2-bootstrap": "<2.0.4",
+                "yiisoft/yii2-dev": "<2.0.15",
+                "yiisoft/yii2-elasticsearch": "<2.0.5",
+                "yiisoft/yii2-gii": "<2.0.4",
+                "yiisoft/yii2-jui": "<2.0.4",
+                "yiisoft/yii2-redis": "<2.0.8",
+                "yourls/yourls": "<1.7.4",
+                "zendframework/zend-cache": ">=2.4,<2.4.8|>=2.5,<2.5.3",
+                "zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2",
+                "zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2",
+                "zendframework/zend-db": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.10|>=2.3,<2.3.5",
+                "zendframework/zend-developer-tools": ">=1.2.2,<1.2.3",
+                "zendframework/zend-diactoros": ">=1,<1.8.4",
+                "zendframework/zend-feed": ">=1,<2.10.3",
+                "zendframework/zend-form": ">=2,<2.2.7|>=2.3,<2.3.1",
+                "zendframework/zend-http": ">=1,<2.8.1",
+                "zendframework/zend-json": ">=2.1,<2.1.6|>=2.2,<2.2.6",
+                "zendframework/zend-ldap": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.8|>=2.3,<2.3.3",
+                "zendframework/zend-mail": ">=2,<2.4.11|>=2.5,<2.7.2",
+                "zendframework/zend-navigation": ">=2,<2.2.7|>=2.3,<2.3.1",
+                "zendframework/zend-session": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.9|>=2.3,<2.3.4",
+                "zendframework/zend-validator": ">=2.3,<2.3.6",
+                "zendframework/zend-view": ">=2,<2.2.7|>=2.3,<2.3.1",
+                "zendframework/zend-xmlrpc": ">=2.1,<2.1.6|>=2.2,<2.2.6",
+                "zendframework/zendframework": "<2.5.1",
+                "zendframework/zendframework1": "<1.12.20",
+                "zendframework/zendopenid": ">=2,<2.0.2",
+                "zendframework/zendxml": ">=1,<1.0.1",
+                "zetacomponents/mail": "<1.8.2",
+                "zf-commons/zfc-user": "<1.2.2",
+                "zfcampus/zf-apigility-doctrine": ">=1,<1.0.3",
+                "zfr/zfr-oauth2-server-module": "<0.1.2"
+            },
+            "type": "metapackage",
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Marco Pivetta",
+                    "email": "ocramius@gmail.com",
+                    "role": "maintainer"
+                },
+                {
+                    "name": "Ilya Tribusean",
+                    "email": "slash3b@gmail.com",
+                    "role": "maintainer"
+                }
+            ],
+            "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it",
+            "support": {
+                "issues": "https://github.com/Roave/SecurityAdvisories/issues",
+                "source": "https://github.com/Roave/SecurityAdvisories/tree/latest"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/Ocramius",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/roave/security-advisories",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2021-01-14T09:32:54+00:00"
         }
     ],
-    "packages-dev": [],
     "aliases": [],
     "minimum-stability": "stable",
-    "stability-flags": [],
+    "stability-flags": {
+        "roave/security-advisories": 20
+    },
     "prefer-stable": false,
     "prefer-lowest": false,
     "platform": [],