/*
 * Thanks everyone for pointing out this is probably on of the ugliest source code files on GitHub
 * This is script-generated code, however, so it might disqualify
 * See file-icons-generator.js at root dir of git tree
*/
function matchIcon(filename) {
    if (/^APLSource$/.test(filename)) { return "acre"; }
    if (/^\.acre$/.test(filename)) { return "acre"; }
    if (/^\.agda$/i.test(filename)) { return "agda"; }
    if (/\/\.config\/alacritty$/i.test(filename)) { return "alacritty-alt"; }
    if (/\.(app|xcodeproj|xcworkspace)$/i.test(filename)) { return "appstore"; }
    if (/\.artx$/i.test(filename)) { return "arttext"; }
    if (/\.art4$/i.test(filename)) { return "arttext4"; }
    if (/^\.atom(-ci)?$/.test(filename)) { return "atom"; }
    if (/[^\s.]\.(c?action|definition|workflow)$/i.test(filename)) { return "automator"; }
    if (/^\.azure-pipelines$/i.test(filename)) { return "azurepipelines"; }
    if (/^\.bzr$/.test(filename)) { return "bazaar"; }
    if (/^\.bitcoin$/i.test(filename)) { return "bitcoin"; }
    if (/^bloc$/i.test(filename)) { return "bloc"; }
    if (/^bower[-_]components$/.test(filename)) { return "bower"; }
    if (/^\.buildkite$/.test(filename)) { return "buildkite"; }
    if (/^\.cabal$/i.test(filename)) { return "cabal"; }
    if (/\.chef$/.test(filename)) { return "chef"; }
    if (/^\.circleci$/.test(filename)) { return "circleci"; }
    if (/^cnab$/i.test(filename)) { return "cnab"; }
    if (/^\.cpan$/i.test(filename)) { return "cpan"; }
    if (/^\.cpanplus$/i.test(filename)) { return "cpan"; }
    if (/^cubits?$/i.test(filename)) { return "cubit"; }
    if (/^CVS$/.test(filename)) { return "cvs"; }
    if (/\.deno$/i.test(filename)) { return "deno"; }
    if (/\.dependabot$/i.test(filename)) { return "dependabot"; }
    if (/^\.devcontainer$/i.test(filename)) { return "devcontainer"; }
    if (/^\.docker$/.test(filename)) { return "docker"; }
    if (/^(Dropbox|\.dropbox\.cache)$/.test(filename)) { return "dropbox"; }
    if (/^\.dub$/.test(filename)) { return "dub"; }
    if (/^\.dvc$/.test(filename)) { return "dvc"; }
    if (/^\.emacs\.d$/.test(filename)) { return "emacs"; }
    if (/^\.expo(-shared)?$/i.test(filename)) { return "expo"; }
    if (/^\.fossil-settings$/i.test(filename)) { return "fossil"; }
    if (/\.git$/.test(filename)) { return "git"; }
    if (/^\.github$/.test(filename)) { return "github"; }
    if (/^\.gitlab$/.test(filename)) { return "gitlab"; }
    if (/^\.nyc[-_]output$/.test(filename)) { return "istanbul"; }
    if (/.\.(appex|bundle|ccl|component|framework|framework|ideplugin|kext|mdimporter|osax|(osirix)?plugin|qlgenerator)$/i.test(filename)) { return "dylib"; }
    if (/^\.meteor$/.test(filename)) { return "meteor"; }
    if (/^\.hg$/.test(filename)) { return "hg"; }
    if (/^node_modules$/.test(filename)) { return "node"; }
    if (/^\.node-gyp$/.test(filename)) { return "node"; }
    if (/^\.(bundle|paket)$/i.test(filename)) { return "package"; }
    if (/^\.svn$/i.test(filename)) { return "svn"; }
    if (/\.tmBundle$/i.test(filename)) { return "textmate"; }
    if (/\.ufo\d?$/i.test(filename)) { return "ufo"; }
    if (/\.vagrant$/i.test(filename)) { return "vagrant"; }
    if (/\.vagrant\.d$/i.test(filename)) { return "vagrant"; }
    if (/^\.vim$/i.test(filename)) { return "vim"; }
    if (/^\.vscode$/i.test(filename)) { return "vs"; }
    if (/^\.wine$/i.test(filename)) { return "wine"; }
    if (/^\.yarn$/i.test(filename)) { return "yarn"; }
    if (/\.bsl$/i.test(filename)) { return "1c"; }
    if (/\.sdbl$/i.test(filename)) { return "1c"; }
    if (/\.os$/i.test(filename)) { return "1c"; }
    if (/\.mdo$/i.test(filename)) { return "1c-alt"; }
    if (/\.4dm$/i.test(filename)) { return "4d"; }
    if (/\.a?\+$/i.test(filename)) { return "a-plus"; }
    if (/\.abap$/i.test(filename)) { return "abap"; }
    if (/\.abif$/i.test(filename)) { return "abif"; }
    if (/\.ab1$/i.test(filename)) { return "abif"; }
    if (/\.fsa$/i.test(filename)) { return "abif"; }
    if (/^acre\.config$/i.test(filename)) { return "acre"; }
    if (/\.swf$/i.test(filename)) { return "as"; }
    if (/\.as$/i.test(filename)) { return "as"; }
    if (/\.jsfl$/i.test(filename)) { return "as"; }
    if (/\.swc$/i.test(filename)) { return "as"; }
    if (/\.(ada|adb|ads)$/i.test(filename)) { return "ada"; }
    if (/^(ada95|ada2005)$/i.test(filename)) { return "ada"; }
    if (/\.aep$/i.test(filename)) { return "ae"; }
    if (/\.aet$/i.test(filename)) { return "ae"; }
    if (/\.fla$/i.test(filename)) { return "animate"; }
    if (/\.ai$/i.test(filename)) { return "ai"; }
    if (/\.ait$/i.test(filename)) { return "ai"; }
    if (/\.indd$/i.test(filename)) { return "indesign"; }
    if (/\.indl$/i.test(filename)) { return "indesign"; }
    if (/\.indt$/i.test(filename)) { return "indesign"; }
    if (/\.indb$/i.test(filename)) { return "indesign"; }
    if (/\.idml$/i.test(filename)) { return "indesign"; }
    if (/\.psd$/i.test(filename)) { return "psd"; }
    if (/\.psb$/i.test(filename)) { return "psd"; }
    if (/\.prproj$/i.test(filename)) { return "premiere"; }
    if (/\.prel$/i.test(filename)) { return "premiere"; }
    if (/\.psq$/i.test(filename)) { return "premiere"; }
    if (/\.prw$/i.test(filename)) { return "totvs"; }
    if (/\.ahu$/i.test(filename)) { return "totvs"; }
    if (/\.aph$/i.test(filename)) { return "totvs"; }
    if (/\.tlpp$/i.test(filename)) { return "totvs"; }
    if (/\.affect$/i.test(filename)) { return "affectscript"; }
    if (/\.afdesign$/i.test(filename)) { return "affinity"; }
    if (/\.afphoto$/i.test(filename)) { return "affinity"; }
    if (/\.afpub$/i.test(filename)) { return "affinity"; }
    if (/\.agda$/i.test(filename)) { return "agda"; }
    if (/\.lagda$/i.test(filename)) { return "agda"; }
    if (/^\.?alacritty\.ya?ml$/i.test(filename)) { return "alacritty"; }
    if (/\.alexrc$/i.test(filename)) { return "alex"; }
    if (/\.alexignore$/i.test(filename)) { return "alex"; }
    if (/\.als$/i.test(filename)) { return "alloy"; }
    if (/(\.|^)APKBUILD$/.test(filename)) { return "alpine"; }
    if (/\.ampl$/i.test(filename)) { return "ampl"; }
    if (/\.muse$/i.test(filename)) { return "amusewiki"; }
    if (/Muse$/i.test(filename)) { return "amusewiki"; }
    if (/\.ana$/i.test(filename)) { return "analytica"; }
    if (/\.smali$/i.test(filename)) { return "android"; }
    if (/\.rsh$/i.test(filename)) { return "android"; }
    if (/\.webarchivexml$/i.test(filename)) { return "android"; }
    if (/\.(acs|angelscript)$/i.test(filename)) { return "angelscript"; }
    if (/AngelCode$/i.test(filename)) { return "angelscript"; }
    if (/^angular[^.]*\.[cm]?js$/i.test(filename)) { return "angular"; }
    if (/\.anme$/i.test(filename)) { return "animestudio"; }
    if (/\.anime$/i.test(filename)) { return "animestudio"; }
    if (/\.animeaction$/i.test(filename)) { return "animestudio"; }
    if (/\.animebrush$/i.test(filename)) { return "animestudio"; }
    if (/\.animeexport$/i.test(filename)) { return "animestudio"; }
    if (/\.animeproj$/i.test(filename)) { return "animestudio"; }
    if (/\.animestyle$/i.test(filename)) { return "animestudio"; }
    if (/(^|\.)ansible(\.ya?ml)?$/i.test(filename)) { return "ansible"; }
    if (/([\\\/])roles\1[^\\\/]+\1(?:tasks|handlers|tests)\1.*\.ya?ml$/i.test(filename)) { return "ansible"; }
    if (/([\\\/])roles\1[^\\\/]+\1(?:defaults|vars|meta)\1.*\.ya?ml$/i.test(filename)) { return "ansible"; }
    if (/([\\\/])(?:group_vars|host_vars)\1.*\.ya?ml$/i.test(filename)) { return "ansible"; }
    if (/(^|.*(\.|-|\/))vault\.ya?ml$$/i.test(filename)) { return "lock"; }
    if (/\.ansiweatherrc$/i.test(filename)) { return "sun"; }
    if (/^ant\.xml$|\.ant$/i.test(filename)) { return "ant"; }
    if (/\.g$/i.test(filename)) { return "antlr"; }
    if (/\.g4$/i.test(filename)) { return "antlr"; }
    if (/^\.?antwar\.conf(ig)?\.[cm]?js$/i.test(filename)) { return "antwar"; }
    if (/\.any$/i.test(filename)) { return "anyscript"; }
    if (/^(apache2?|httpd)(\.[-\w]+)*\.conf$/i.test(filename)) { return "apache"; }
    if (/\.apacheconf$/i.test(filename)) { return "apache"; }
    if (/^httpd\.conf/i.test(filename)) { return "apache"; }
    if (/apache2\/magic$/i.test(filename)) { return "apache"; }
    if (/\.vhost$/i.test(filename)) { return "apache"; }
    if (/\.thrift$/i.test(filename)) { return "apache"; }
    if (/\.apib$/i.test(filename)) { return "api"; }
    if (/^api-extractor(-base)?\.json$/i.test(filename)) { return "apiextractor"; }
    if (/\.apl[acfino]?$/i.test(filename)) { return "apl"; }
    if (/\.apl\.history$/i.test(filename)) { return "apl"; }
    if (/^apollo\.config\.js$/i.test(filename)) { return "apollo"; }
    if (/^appcelerator\.[cm]?js$/i.test(filename)) { return "appcelerator"; }
    if (/\.(applescript|scpt)$/i.test(filename)) { return "apple"; }
    if (/^com\.apple\./.test(filename)) { return "apple"; }
    if (/^\.?appveyor\.yml$/i.test(filename)) { return "appveyor"; }
    if (/\.arc$/i.test(filename)) { return "arc"; }
    if (/^\.install$/.test(filename)) { return "archlinux"; }
    if (/^\.SRCINFO$/.test(filename)) { return "archlinux"; }
    if (/^pacman\.conf$/.test(filename)) { return "archlinux"; }
    if (/^pamac\.conf$/.test(filename)) { return "archlinux"; }
    if (/^PKGBUILD$/.test(filename)) { return "archlinux"; }
    if (/yaourtrc$/i.test(filename)) { return "archlinux"; }
    if (/\.ino$/i.test(filename)) { return "arduino"; }
    if (/\.(ad|adoc|asc|asciidoc)$/i.test(filename)) { return "asciidoctor"; }
    if (/\.asp$/i.test(filename)) { return "asp"; }
    if (/\.asax$/i.test(filename)) { return "asp"; }
    if (/\.ascx$/i.test(filename)) { return "asp"; }
    if (/\.ashx$/i.test(filename)) { return "asp"; }
    if (/\.asmx$/i.test(filename)) { return "asp"; }
    if (/\.aspx$/i.test(filename)) { return "asp"; }
    if (/\.axd$/i.test(filename)) { return "asp"; }
    if (/\.aj$/i.test(filename)) { return "eclipse"; }
    if (/\.a$/i.test(filename)) { return "asm"; }
    if (/\.i$/i.test(filename)) { return "asm"; }
    if (/\.s$/i.test(filename)) { return "asm"; }
    if (/\.asm$/i.test(filename)) { return "asm"; }
    if (/\.a51$/i.test(filename)) { return "asm"; }
    if (/\.agc$/i.test(filename)) { return "asm-agc"; }
    if (/^(Virtual\s*)?AGC$|^Apollo([-_\s]*11)?\s*Guidance\s*Computer$/i.test(filename)) { return "asm-agc"; }
    if (/\.arm$/i.test(filename)) { return "asm-arm"; }
    if (/\.avr$/i.test(filename)) { return "asm-avr"; }
    if (/\.h8(SX?|\d{3})?$/i.test(filename)) { return "asm-hitachi"; }
    if (/^(h8(SX?|\/?\d{3})?)$/i.test(filename)) { return "asm-hitachi"; }
    if (/\.((x|i(a[-_]?))(32|86|64)(asm)?|i386|80386)$/i.test(filename)) { return "asm-intel"; }
    if (/^(x86|x64|x86[-_]?64|i(a[-_]?)?(32|64)|i386|80386|Intel|Itanium|[ftm]asm)$/i.test(filename)) { return "asm-intel"; }
    if (/\.m68k$/i.test(filename)) { return "asm-m68k"; }
    if (/\.lst$/i.test(filename)) { return "asm-m68k"; }
    if (/\.v(ax|masm)$/i.test(filename)) { return "asm-vax"; }
    if (/^(Macro[-_\s]?32|VAX\s+Macro|vmasm)$/i.test(filename)) { return "asm-vax"; }
    if (/\.z80$/i.test(filename)) { return "asm-zilog"; }
    if (/\.PLX(COPY)?$/.test(filename)) { return "asm-zilog"; }
    if (/\.asy$/i.test(filename)) { return "asymptote"; }
    if (/\.atomproject\.[jc]son$/i.test(filename)) { return "atom"; }
    if (/^\.?apmrc$/i.test(filename)) { return "atom"; }
    if (/^\.?atoum(\.[^.]+)*\.php/i.test(filename)) { return "atoum"; }
    if (/\.dats$/i.test(filename)) { return "ats"; }
    if (/\.hats$/i.test(filename)) { return "ats"; }
    if (/\.sats$/i.test(filename)) { return "ats"; }
    if (/\.aup$/i.test(filename)) { return "audacity"; }
    if (/\.mp3$/i.test(filename)) { return "audio"; }
    if (/\.wav$/i.test(filename)) { return "audio"; }
    if (/\.(aac|ac3|m4p)$/i.test(filename)) { return "audio"; }
    if (/\.aif[fc]?$/i.test(filename)) { return "audio"; }
    if (/\.au$/i.test(filename)) { return "audio"; }
    if (/\.flac$/i.test(filename)) { return "audio"; }
    if (/\.f4[ab]$/i.test(filename)) { return "audio"; }
    if (/\.it$/i.test(filename)) { return "audio"; }
    if (/\.m4a$/i.test(filename)) { return "audio"; }
    if (/\.mka$/i.test(filename)) { return "audio"; }
    if (/\.(mpc|mp\+)$/i.test(filename)) { return "audio"; }
    if (/\.oga$/i.test(filename)) { return "audio"; }
    if (/\.opus$/i.test(filename)) { return "audio"; }
    if (/\.r[am]$/i.test(filename)) { return "audio"; }
    if (/\.s3m$/i.test(filename)) { return "audio"; }
    if (/\.sndh$/i.test(filename)) { return "audio"; }
    if (/\.wma$/i.test(filename)) { return "audio"; }
    if (/\.aug$/i.test(filename)) { return "augeas"; }
    if (/^aurelia\.json$/i.test(filename)) { return "aurelia"; }
    if (/\.ahk$/i.test(filename)) { return "ahk"; }
    if (/\.ahkl$/i.test(filename)) { return "ahk"; }
    if (/\.au3$/i.test(filename)) { return "autoit"; }
    if (/^(AutoIt3|AutoItScript|au3)$/i.test(filename)) { return "autoit"; }
    if (/\.av(cs|sc|dl)$/i.test(filename)) { return "avro"; }
    if (/\.awk$/i.test(filename)) { return "awk"; }
    if (/\.gawk$/i.test(filename)) { return "awk"; }
    if (/\.mawk$/i.test(filename)) { return "awk"; }
    if (/\.nawk$/i.test(filename)) { return "awk"; }
    if (/\.auk$/i.test(filename)) { return "awk"; }
    if (/^azure-pipelines\.ya?ml$/i.test(filename)) { return "azurepipelines"; }
    if (/\.(babelrc|babelrc\.[cm]?js|languagebabel|babel)$/i.test(filename)) { return "babel"; }
    if (/babel(\.[\w\-]+)*\.conf(ig)?\./i.test(filename)) { return "babel"; }
    if (/\.babelignore$/i.test(filename)) { return "babel"; }
    if (/^backbone([-.]min|dev)?\.[cm]?js$/i.test(filename)) { return "backbone"; }
    if (/\.(bak|old|orig)$/.test(filename)) { return "backup"; }
    if (/\.bal$/i.test(filename)) { return "ballerina"; }
    if (/\.balx$/i.test(filename)) { return "ballerina"; }
    if (/\.bzrignore$/i.test(filename)) { return "bazaar"; }
    if (/\.bc$/i.test(filename)) { return "calc"; }
    if (/\.dc$/i.test(filename)) { return "calc"; }
    if (/^bc\.library$/i.test(filename)) { return "calc"; }
    if (/^\.?dcrc$/i.test(filename)) { return "calc"; }
    if (/^behat(\.[^.]+)*\.ya?ml$/i.test(filename)) { return "behat"; }
    if (/\.bemjson(\.[cm]?js)?$/i.test(filename)) { return "bem"; }
    if (/\.cbx$/i.test(filename)) { return "bibtex"; }
    if (/\.bbl$/i.test(filename)) { return "bibtex"; }
    if (/\.bbx$/i.test(filename)) { return "bibtex"; }
    if (/\.bib(tex)?$/i.test(filename)) { return "bibtex"; }
    if (/\.bst$/i.test(filename)) { return "bibtex"; }
    if (/\.bs$/i.test(filename)) { return "bikeshed"; }
    if (/\.biml$/i.test(filename)) { return "biml"; }
    if (/\.([ls]?o|out)$/i.test(filename)) { return "binary"; }
    if (/\.axf$/i.test(filename)) { return "binary"; }
    if (/\.elf$/i.test(filename)) { return "binary"; }
    if (/\.la$/i.test(filename)) { return "binary"; }
    if (/\.ko$/i.test(filename)) { return "binary"; }
    if (/\.((c([+px]{2}?)?-?)?objdump|bsdiff|bin|dat|pak|pdb)$/i.test(filename)) { return "binary"; }
    if (/\.d-objdump$/i.test(filename)) { return "binary"; }
    if (/\.(gco?|gcode|[cdhk]nc)$/i.test(filename)) { return "binary"; }
    if (/\.rpy[bc]$/i.test(filename)) { return "binary"; }
    if (/\.py[cdo]$/i.test(filename)) { return "binary"; }
    if (/\.prx$/i.test(filename)) { return "binary"; }
    if (/\.puff$/i.test(filename)) { return "binary"; }
    if (/\.swp$/i.test(filename)) { return "binary"; }
    if (/^\.rnd$/i.test(filename)) { return "binary"; }
    if (/^binder[-_]requirements\.(in|txt)$/i.test(filename)) { return "binder"; }
    if (/^\.bintray\.json$/i.test(filename)) { return "bintray"; }
    if (/\.bison$/i.test(filename)) { return "bison"; }
    if (/\.y$/i.test(filename)) { return "bison"; }
    if (/\.yacc$/i.test(filename)) { return "bison"; }
    if (/\.yy$/i.test(filename)) { return "bison"; }
    if (/^bitbucket-pipelines\.ya?ml$/i.test(filename)) { return "bitbucket"; }
    if (/^bitcoin\.conf$/i.test(filename)) { return "bitcoin"; }
    if (/\.bithoundrc$/i.test(filename)) { return "bithound"; }
    if (/\.blend$/i.test(filename)) { return "blender"; }
    if (/\.blend\d+$/i.test(filename)) { return "blender"; }
    if (/\.bphys$/i.test(filename)) { return "blender"; }
    if (/\.bb$/i.test(filename)) { return "blitzbasic"; }
    if (/\.decls$/i.test(filename)) { return "blitzbasic"; }
    if (/\.bsv$/i.test(filename)) { return "bluespec"; }
    if (/\.boo$/i.test(filename)) { return "boo"; }
    if (/\.boot$/i.test(filename)) { return "boot"; }
    if (/^Makefile\.boot$/i.test(filename)) { return "boot"; }
    if (/^bors\.toml$/i.test(filename)) { return "bors"; }
    if (/^(custom\.)?bootstrap\S*\.js$/i.test(filename)) { return "bootstrap"; }
    if (/^(custom\.)?bootstrap\S*\.cjs$/i.test(filename)) { return "bootstrap"; }
    if (/^(custom\.)?bootstrap\S*\.mjs$/i.test(filename)) { return "bootstrap"; }
    if (/^(custom\.)?bootstrap\S*\.css$/i.test(filename)) { return "bootstrap"; }
    if (/^(custom\.)?bootstrap\S*\.less$/i.test(filename)) { return "bootstrap"; }
    if (/^(custom\.)?bootstrap\S*\.scss$/i.test(filename)) { return "bootstrap"; }
    if (/^(custom\.)?bootstrap\S*\.styl$/i.test(filename)) { return "bootstrap"; }
    if (/\.bootstraprc$/i.test(filename)) { return "bootstrap"; }
    if (/\.bsq$/i.test(filename)) { return "bosque"; }
    if (/^(\.bowerrc|bower\.json|Bowerfile)$/i.test(filename)) { return "bower"; }
    if (/\.bf?$/i.test(filename)) { return "brain"; }
    if (/^(bf|Brainf\**ck)$/i.test(filename)) { return "brain"; }
    if (/brakeman\.yml$/i.test(filename)) { return "brakeman"; }
    if (/^brakeman\.ignore$/i.test(filename)) { return "brakeman"; }
    if (/\.bro$/i.test(filename)) { return "bro"; }
    if (/^Brocfile\./i.test(filename)) { return "broccoli"; }
    if (/\.br$/i.test(filename)) { return "brotli"; }
    if (/^(browserslist|\.browserslistrc)$/i.test(filename)) { return "browserslist"; }
    if (/^(bs-config|browser-sync)\.([cm]?js|json)$/i.test(filename)) { return "browsersync"; }
    if (/^brunch-config\.([cm]?js|coffee|ts)$/i.test(filename)) { return "brunch"; }
    if (/\.buckconfig$/i.test(filename)) { return "buck"; }
    if (/^BUCK$/.test(filename)) { return "buck"; }
    if (/^Gemfile(\.lock)?$/i.test(filename)) { return "bundler"; }
    if (/\.gemfile$/i.test(filename)) { return "bundler"; }
    if (/gemfile/i.test(filename)) { return "bundler"; }
    if (/\.dm$/i.test(filename)) { return "byond"; }
    if (/^(DM|Dream\s*Maker(\s*Script)?)$/i.test(filename)) { return "byond"; }
    if (/\.c$/i.test(filename)) { return "c"; }
    if (/\.h$/i.test(filename)) { return "c"; }
    if (/\.cats$/i.test(filename)) { return "c"; }
    if (/\.idc$/i.test(filename)) { return "c"; }
    if (/\.w$/i.test(filename)) { return "c"; }
    if (/\.nc$/i.test(filename)) { return "c"; }
    if (/\.upc$/i.test(filename)) { return "c"; }
    if (/\.xbm$/i.test(filename)) { return "c"; }
    if (/\.xpm$/i.test(filename)) { return "c"; }
    if (/(\\|\/)share(?:\1misc)?\1getopts?\d?$/.test(filename)) { return "c"; }
    if (/\.c[+px]{2}$|\.cc$/i.test(filename)) { return "cpp"; }
    if (/\.h[+px]{2}$/i.test(filename)) { return "cpp"; }
    if (/\.[it]pp$/i.test(filename)) { return "cpp"; }
    if (/\.(tcc|inl)$/i.test(filename)) { return "cpp"; }
    if (/\.cs$/i.test(filename)) { return "csharp"; }
    if (/^c\s*sharp$/i.test(filename)) { return "csharp"; }
    if (/\.csx$/i.test(filename)) { return "csscript"; }
    if (/\.cabal$/i.test(filename)) { return "cabal"; }
    if (/^cabal\.(config|project)$/i.test(filename)) { return "cabal"; }
    if (/^cabal-ghcjs\.project$/i.test(filename)) { return "cabal"; }
    if (/^cabal\../i.test(filename)) { return "cabal"; }
    if (/^Caddyfile($|[-.])/i.test(filename)) { return "caddy"; }
    if (/\.caffemodel$/i.test(filename)) { return "caffe"; }
    if (/\.solverstate$/i.test(filename)) { return "caffe"; }
    if (/\.caffe2model$/i.test(filename)) { return "caffe2"; }
    if (/^(init|predict)_net\.pb$/i.test(filename)) { return "caffe2"; }
    if (/^(deploy|solver|train_val)\.prototxt$/i.test(filename)) { return "caffe2"; }
    if (/\.cake$/i.test(filename)) { return "cake"; }
    if (/^Cakefile$/.test(filename)) { return "cakefile"; }
    if (/\.ctp$/i.test(filename)) { return "cakephp"; }
    if (/\.calva-repl$/i.test(filename)) { return "calva"; }
    if (/^Cartfile(\.|$)/.test(filename)) { return "carthage"; }
    if (/\.casc?$/i.test(filename)) { return "casc"; }
    if (/\.ceylon$/i.test(filename)) { return "ceylon"; }
    if (/^chai\.([jt]sx?|es6?|coffee)$/i.test(filename)) { return "chai"; }
    if (/\.chpl$/i.test(filename)) { return "chapel"; }
    if (/chpl$/i.test(filename)) { return "chapel"; }
    if (/^Chart(\.bundle)?(\.min)?\.[cm]?js$/i.test(filename)) { return "chartjs"; }
    if (/TODO/.test(filename)) { return "checklist"; }
    if (/^todo\.txt$/i.test(filename)) { return "checklist"; }
    if (/\.(todo|taskpaper)$/i.test(filename)) { return "checklist"; }
    if (/\.jas$/i.test(filename)) { return "cheetah3d"; }
    if (/^chefignore$|^(Berks|Policy)file(\.lock)?$/i.test(filename)) { return "chef"; }
    if (/^chocolatey.*\.ps1$/i.test(filename)) { return "chocolatey"; }
    if (/\.ck$/i.test(filename)) { return "chuck"; }
    if (/\.crx$/i.test(filename)) { return "chrome"; }
    if (/^circle\.yml$/i.test(filename)) { return "circleci"; }
    if (/\.brd$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.sch$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.pcb$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.gbr$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.gtl$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.gbl$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.gbs$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.gto$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.gts$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.gtp$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.gbo$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.gbp$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.drl$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.dsn$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.gko$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.gpt$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.gpb$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.gm\d+$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.g[0-9]+$/i.test(filename)) { return "icon-circuit-board"; }
    if (/^PCB\.[0-9]+(\.backup~?)?$/.test(filename)) { return "icon-circuit-board"; }
    if (/\.(cir|ckt|struct|tech)$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.fab$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.net$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.pho$/i.test(filename)) { return "icon-circuit-board"; }
    if (/\.cirru$/i.test(filename)) { return "cirru"; }
    if (/\.clw$/i.test(filename)) { return "clarion"; }
    if (/\.icl$/i.test(filename)) { return "clean"; }
    if (/\.dcl$/i.test(filename)) { return "clean"; }
    if (/\.abc$/i.test(filename)) { return "clean"; }
    if (/\.click$/i.test(filename)) { return "click"; }
    if (/Click!$/i.test(filename)) { return "click"; }
    if (/\.clp$/i.test(filename)) { return "clips"; }
    if (/\.clj$/i.test(filename)) { return "clojure"; }
    if (/\.cl2$/i.test(filename)) { return "clojure"; }
    if (/\.cljc$/i.test(filename)) { return "clojure"; }
    if (/\.cljx$/i.test(filename)) { return "clojure"; }
    if (/\.hic$/i.test(filename)) { return "clojure"; }
    if (/\.cljs(cm)?$/i.test(filename)) { return "cljs"; }
    if (/\.soy$/i.test(filename)) { return "closure-tpl"; }
    if (/\.cfignore$/i.test(filename)) { return "cloudfoundry"; }
    if (/\.cmake$/i.test(filename)) { return "cmake"; }
    if (/^CMakeLists\.txt$/.test(filename)) { return "cmake"; }
    if (/\.(cob|ccp|cbl|cobol|cpy)$/i.test(filename)) { return "cobol"; }
    if (/\.podspec$/i.test(filename)) { return "cocoapods"; }
    if (/\.codacy\.ya?ml$/i.test(filename)) { return "codacy"; }
    if (/\.codeclimate\.yml$/i.test(filename)) { return "cc"; }
    if (/^\.?codecov\.ya?ml$/i.test(filename)) { return "codecov"; }
    if (/(^config)?\.codekit\d*$/i.test(filename)) { return "codekit"; }
    if (/^codemeta\.json(ld)?$/i.test(filename)) { return "codemeta"; }
    if (/^codeship-[\w.-]+\.ya?ml$/i.test(filename)) { return "codeship"; }
    if (/\.coffee$/i.test(filename)) { return "coffee"; }
    if (/\.cjsx$/i.test(filename)) { return "coffee"; }
    if (/\.coffee\.ecr$/i.test(filename)) { return "coffee"; }
    if (/\.coffee\.erb$/i.test(filename)) { return "coffee"; }
    if (/\.coffee\.md$/i.test(filename)) { return "coffee"; }
    if (/\.litcoffee$/i.test(filename)) { return "coffee"; }
    if (/\.iced$/i.test(filename)) { return "coffee"; }
    if (/\.cfc$/i.test(filename)) { return "cf"; }
    if (/\.cfml?$/i.test(filename)) { return "cf"; }
    if (/\.(dae|collada)$/i.test(filename)) { return "khronos"; }
    if (/^commitlint\.config\.js$|^\.commitlintrc\.(json|js|ya?ml)$/i.test(filename)) { return "commitlint"; }
    if (/^\.?cz\.(json|toml|ya?ml)$/i.test(filename)) { return "commitizen"; }
    if (/\.cl$/i.test(filename)) { return "cl"; }
    if (/^c?lisp$/i.test(filename)) { return "cl"; }
    if (/^_?(compass|lemonade)\.scss$/i.test(filename)) { return "compass"; }
    if (/\.cp$/i.test(filename)) { return "cp"; }
    if (/\.cps$/i.test(filename)) { return "cp"; }
    if (/^composer\.(json|lock)$/i.test(filename)) { return "composer"; }
    if (/^composer\.phar$/i.test(filename)) { return "composer"; }
    if (/\.(zip|z|xz)$/i.test(filename)) { return "zip"; }
    if (/\.rar$/i.test(filename)) { return "zip"; }
    if (/\.t?gz$/i.test(filename)) { return "zip"; }
    if (/\.(lzo?|lzma|tlz|tar\.lzma)$/i.test(filename)) { return "zip"; }
    if (/\.7z$/i.test(filename)) { return "zip"; }
    if (/\.apk$/i.test(filename)) { return "zip"; }
    if (/\.tar$/i.test(filename)) { return "zip"; }
    if (/\.bz2$/i.test(filename)) { return "zip"; }
    if (/\.maff$/i.test(filename)) { return "zip"; }
    if (/\.iso$/i.test(filename)) { return "zip"; }
    if (/\.hqx$/i.test(filename)) { return "zip"; }
    if (/\.xpi$/i.test(filename)) { return "zip"; }
    if (/\.gem$/i.test(filename)) { return "zip"; }
    if (/\.whl$/i.test(filename)) { return "zip"; }
    if (/\.epub$/i.test(filename)) { return "zip"; }
    if (/\.jar$/i.test(filename)) { return "zip"; }
    if (/\.war$/i.test(filename)) { return "zip"; }
    if (/\.wgt$/i.test(filename)) { return "zip"; }
    if (/\.xar$/i.test(filename)) { return "zip"; }
    if (/\.dsk$/i.test(filename)) { return "zip"; }
    if (/\.ear$/i.test(filename)) { return "zip"; }
    if (/\.egg$/i.test(filename)) { return "zip"; }
    if (/\.sit$/i.test(filename)) { return "zip"; }
    if (/\.hak$/i.test(filename)) { return "zip"; }
    if (/\.cdf$/i.test(filename)) { return "cdf"; }
    if (/^(conanfile\.(txt|py)|conan\.conf)$/i.test(filename)) { return "conan"; }
    if (/^\.?condarc$/i.test(filename)) { return "conda"; }
    if (/\.(ini|desktop|directory|cfg|co?nf|prefs)$/i.test(filename)) { return "config"; }
    if (/\.properties$/i.test(filename)) { return "config"; }
    if (/\.ld$/i.test(filename)) { return "config"; }
    if (/\.ldif$/i.test(filename)) { return "config"; }
    if (/\.lds$/i.test(filename)) { return "config"; }
    if (/\.mcf$/i.test(filename)) { return "config"; }
    if (/\.opts$/i.test(filename)) { return "config"; }
    if (/^pf\.os$/i.test(filename)) { return "config"; }
    if (/\.sdl(ang)?$/i.test(filename)) { return "config"; }
    if (/^mimeapps\.list$/i.test(filename)) { return "config"; }
    if (/(\.|^)terminal(rc)?$/i.test(filename)) { return "config"; }
    if (/^ld\.script$/i.test(filename)) { return "config"; }
    if (/^(shells|rpc)$/i.test(filename)) { return "config"; }
    if (/^\.?XCompose$/.test(filename)) { return "config"; }
    if (/^buildozer\.spec$/i.test(filename)) { return "config"; }
    if (/^settings\.bsp$/i.test(filename)) { return "config"; }
    if (/config|settings|option|pref/i.test(filename)) { return "config"; }
    if (/\.flc$/i.test(filename)) { return "config"; }
    if (/\.kys$/i.test(filename)) { return "config"; }
    if (/\/(dev[-\w]+|troff)\/([^\/]+\/)*(DESC|Foundry|download|symbolmap)(\.(in|proto|8400))?$/i.test(filename)) { return "config"; }
    if (/[\/\\]fontforge[\/\\]hotkeys[\/\\][^\/\\]+/i.test(filename)) { return "config"; }
    if (/\.git[\/\\](config|info[\/\\][-\w]+)$/.test(filename)) { return "config"; }
    if (/(^|[\/\\])\.fossil-settings\1(?:[^\/\/]+)/.test(filename)) { return "config"; }
    if (/(^|[\/\\])\.ssh[\/\\]config$/.test(filename)) { return "config"; }
    if (/^\/(private\/)?etc\/([^\/]+\/)*[^\/]*\.(cf|conf|ini)(\.default)?$/i.test(filename)) { return "config"; }
    if (/^\/(private\/)?etc\/(aliases|auto_(home|master)|ftpusers|group|gettytab|hosts(\.equiv)?|manpaths|networks|paths|protocols|services|shells|sudoers|ttys)$/i.test(filename)) { return "config"; }
    if (/^coffeelint\.json$/i.test(filename)) { return "config-coffee"; }
    if (/\.coffeelintignore$/i.test(filename)) { return "config-coffee"; }
    if (/^go\.mod$/i.test(filename)) { return "config-go"; }
    if (/^go\.sum$/i.test(filename)) { return "config-go"; }
    if (/^haskellconfig\.json$/i.test(filename)) { return "config-hs"; }
    if (/\.js(beautify|cs|hint)rc$|^(jsconfig(\..+)?|\.?eshost(-config)?)\.json$/i.test(filename)) { return "config-js"; }
    if (/^perl[56]?-?config\.json$/i.test(filename)) { return "config-perl"; }
    if (/^python-?config\.json$/i.test(filename)) { return "config-python"; }
    if (/^pyproject\.toml$/i.test(filename)) { return "config-python"; }
    if (/^poetry\.lock$/i.test(filename)) { return "config-python"; }
    if (/^\.coveragerc$/i.test(filename)) { return "config-python"; }
    if (/^MANIFEST\.in$/i.test(filename)) { return "config-python"; }
    if (/\.python-version$/i.test(filename)) { return "config-python"; }
    if (/^jsxconfig\.json$/i.test(filename)) { return "config-react"; }
    if (/^rubyconfig\.json$|\.(autotest|cross_rubies|gemtest|hoerc|kick|simplecov|yardopts)$/i.test(filename)) { return "config-ruby"; }
    if (/^\.yardopts/i.test(filename)) { return "config-ruby"; }
    if (/^rustconfig\.json$/i.test(filename)) { return "config-rust"; }
    if (/^rust-toolchain$/i.test(filename)) { return "config-rust"; }
    if (/^tsconfig(\..+)?\.json$/i.test(filename)) { return "config-ts"; }
    if (/^tslint\.json$/i.test(filename)) { return "config-ts"; }
    if (/\.conll$/i.test(filename)) { return "conll"; }
    if (/\.conllu$/i.test(filename)) { return "conll"; }
    if (/\.coq$/i.test(filename)) { return "coq"; }
    if (/^cordova([^.]*\.|-(\d\.)+)[cm]?js$/i.test(filename)) { return "cordova"; }
    if (/\.(cmx|ccx)$/i.test(filename)) { return "corel"; }
    if (/\.(cdrx?|cdt)$/i.test(filename)) { return "coreldraw"; }
    if (/^\.coveralls\.ya?ml$/i.test(filename)) { return "coveralls"; }
    if (/^cpanfile$/i.test(filename)) { return "cpan"; }
    if (/^META\.yml$/.test(filename)) { return "cpan"; }
    if (/^META\.json$/.test(filename)) { return "cpan"; }
    if (/^MANIFEST\.SKIP$/.test(filename)) { return "cpan"; }
    if (/\.cpc$/i.test(filename)) { return "cpcdosc"; }
    if (/\.creole$/i.test(filename)) { return "creole"; }
    if (/^crowdin\.ya?ml$/i.test(filename)) { return "crowdin"; }
    if (/\.e?cr$/i.test(filename)) { return "crystal"; }
    if (/\.orc$/i.test(filename)) { return "csound"; }
    if (/\.udo$/i.test(filename)) { return "csound"; }
    if (/\.csd$/i.test(filename)) { return "csound"; }
    if (/\.sco$/i.test(filename)) { return "csound"; }
    if (/\.css$/i.test(filename)) { return "css3"; }
    if (/\.less$/i.test(filename)) { return "css3"; }
    if (/\.tss$/i.test(filename)) { return "css3"; }
    if (/\.feature$/i.test(filename)) { return "cucumber"; }
    if (/gherkin$/i.test(filename)) { return "cucumber"; }
    if (/\.cu$/i.test(filename)) { return "nvidia"; }
    if (/\.cuh$/i.test(filename)) { return "nvidia"; }
    if (/\.cfl$/i.test(filename)) { return "cuneiform"; }
    if (/(^|\.)curlrc$|^_curlrc$/i.test(filename)) { return "curl"; }
    if (/\.curry$/i.test(filename)) { return "curry"; }
    if (/\.cvsignore$/i.test(filename)) { return "cvs"; }
    if (/\.cwl$/i.test(filename)) { return "cwl"; }
    if (/Common Workflow Language$/i.test(filename)) { return "cwl"; }
    if (/\.pyx$/i.test(filename)) { return "cython"; }
    if (/\.pxd$/i.test(filename)) { return "cython"; }
    if (/\.pxi$/i.test(filename)) { return "cython"; }
    if (/\.di?$/i.test(filename)) { return "dlang"; }
    if (/^d3(\.v\d+)?[^.]*\.[cm]?js$/i.test(filename)) { return "d3"; }
    if (/\.(dfy|dafny)$/i.test(filename)) { return "dafny"; }
    if (/\.dnh$/i.test(filename)) { return "yang"; }
    if (/\.d(arcs)?patch$/i.test(filename)) { return "darcs"; }
    if (/^\.boringignore$/i.test(filename)) { return "darcs"; }
    if (/\.dart$/i.test(filename)) { return "dart"; }
    if (/\.s[kl]im$/i.test(filename)) { return "dashboard"; }
    if (/\.cpuprofile$/i.test(filename)) { return "dashboard"; }
    if (/\.cloc$/i.test(filename)) { return "dashboard"; }
    if (/\.aff$/i.test(filename)) { return "database"; }
    if (/\.cson$/i.test(filename)) { return "database"; }
    if (/\.dict?$/i.test(filename)) { return "database"; }
    if (/\.hson$/i.test(filename)) { return "database"; }
    if (/\.http$/i.test(filename)) { return "database"; }
    if (/\.ndjson$/i.test(filename)) { return "database"; }
    if (/\.fea$/i.test(filename)) { return "database"; }
    if (/\.json\.eex$/i.test(filename)) { return "database"; }
    if (/\.cbor$/i.test(filename)) { return "database"; }
    if (/\.(proto|protote?xt|pbte?xt)$/i.test(filename)) { return "database"; }
    if (/\.pytb$/i.test(filename)) { return "database"; }
    if (/\.pydeps$/i.test(filename)) { return "database"; }
    if (/\.pot?$/i.test(filename)) { return "database"; }
    if (/\.ejson$/i.test(filename)) { return "database"; }
    if (/\.edn$/i.test(filename)) { return "database"; }
    if (/\.eam\.fs$/i.test(filename)) { return "database"; }
    if (/\.son$/i.test(filename)) { return "database"; }
    if (/\.ston$/i.test(filename)) { return "database"; }
    if (/\.ttl$/i.test(filename)) { return "database"; }
    if (/\.schema$/i.test(filename)) { return "database"; }
    if (/\.sy$/i.test(filename)) { return "database"; }
    if (/\.syntax$/i.test(filename)) { return "database"; }
    if (/\.webmanifest$/i.test(filename)) { return "database"; }
    if (/\.tgn$/i.test(filename)) { return "database"; }
    if (/\.2da$/i.test(filename)) { return "database"; }
    if (/\.(od|onlydata)$/i.test(filename)) { return "database"; }
    if (/\.dbi$/i.test(filename)) { return "database"; }
    if (/\.snip(pets?)?$/i.test(filename)) { return "database"; }
    if (/\.yas(nippet)?$/i.test(filename)) { return "database"; }
    if (/(^|\.)fonts\.(dir|scale|alias)$/i.test(filename)) { return "database"; }
    if (/(^|\.)encodings\.dir$/i.test(filename)) { return "database"; }
    if (/^pkginfo$/i.test(filename)) { return "database"; }
    if (/^term(cap|info)/i.test(filename)) { return "database"; }
    if (/^eign$/.test(filename)) { return "database"; }
    if (/^(birthtoken|flowers)$/.test(filename)) { return "database"; }
    if (/(\\|\/)share(?:\1misc)?\1(?:ascii|trace\.codes)$/.test(filename)) { return "database"; }
    if (/^(mime\.types|fstab)$/i.test(filename)) { return "database"; }
    if (/^METADATA\.pb$/.test(filename)) { return "database"; }
    if (/\.(ldj|ldjson|jsonl)$/.test(filename)) { return "database"; }
    if (/\.(irb-history|lesshst)$/i.test(filename)) { return "database"; }
    if (/^(magic\.mgc|figmagic)$/i.test(filename)) { return "database"; }
    if (/[\/\\](?:magic[\/\\]Magdir|file[\/\\]magic)[\/\\][-.\w]+$/i.test(filename)) { return "database"; }
    if (/(\\|\/)dev[-\w]+\1(?:[^\\\/]+\1)*(?!DESC|NOTES)(?:[A-Z][-A-Z]*)(?:\.in)?$/.test(filename)) { return "database"; }
    if (/term\/O?tab\.[^\/]+$|\/dev[-\w]+\/(APL\.bug|[A-Z][-A-Za-z0-9]*)(\.fd)?$/i.test(filename)) { return "database"; }
    if (/(^|\/)n?term\/O?tab\.(X|lpr)$/i.test(filename)) { return "database"; }
    if (/\.ssh[\/\\](authorized_keys|known_hosts)$/.test(filename)) { return "database"; }
    if (/^\.icondb\.js$/.test(filename)) { return "database"; }
    if (/^index\.(bt|db|dir|pag)$/i.test(filename)) { return "database"; }
    if (/^whatis$/i.test(filename)) { return "database"; }
    if (/^(language-subtag-registry(\.txt)?|nametable)$/.test(filename)) { return "database"; }
    if (/\.git[\/\\](.*[\/\\])?(HEAD|ORIG_HEAD|packed-refs|logs[\/\\](.+[\/\\])?[^\/\\]+)$/.test(filename)) { return "database"; }
    if (/\.dwl$/i.test(filename)) { return "dataweave"; }
    if (/\.dbf$/i.test(filename)) { return "dbase"; }
    if (/\.deb$/i.test(filename)) { return "debian"; }
    if (/(^|\.)(control|dsc)$/.test(filename)) { return "debian"; }
    if (/^rules$/.test(filename)) { return "debian"; }
    if (/\.dfm$/i.test(filename)) { return "delphi"; }
    if (/\.dof$/i.test(filename)) { return "delphi"; }
    if (/\.dpr$/i.test(filename)) { return "delphi"; }
    if (/\.dmark$/i.test(filename)) { return "icon-star"; }
    if (/^d[_\W]?mark$/i.test(filename)) { return "icon-star"; }
    if (/^dependabot\.ya?ml$/i.test(filename)) { return "dependabot"; }
    if (/^devcontainer\.json$/i.test(filename)) { return "devcontainer"; }
    if (/\.dts$/i.test(filename)) { return "devicetree"; }
    if (/\.dtsi$/i.test(filename)) { return "devicetree"; }
    if (/\.dhall$/i.test(filename)) { return "dhall"; }
    if (/\.dia$/i.test(filename)) { return "dia"; }
    if (/\.diff$/i.test(filename)) { return "diff"; }
    if (/\.diffs$/i.test(filename)) { return "diff"; }
    if (/\.dig$/i.test(filename)) { return "digdag"; }
    if (/\.dit(roff)?$/i.test(filename)) { return "binary"; }
    if (/\.zone$/i.test(filename)) { return "earth"; }
    if (/\.arpa$/i.test(filename)) { return "earth"; }
    if (/^CNAME$/.test(filename)) { return "earth"; }
    if (/\.(dbk|docbook)$/i.test(filename)) { return "docbook"; }
    if (/^(Dockerfile|docker-compose)|\.docker(file|ignore)$/i.test(filename)) { return "docker"; }
    if (/^docker-sync\.yml$/i.test(filename)) { return "docker"; }
    if (/\.doclets\.ya?ml$/i.test(filename)) { return "doclets"; }
    if (/\.eco$/i.test(filename)) { return "docpad"; }
    if (/(^|\.)docz(rc)?(\.config)?\.[cm]?js$/i.test(filename)) { return "docz"; }
    if (/(^|\.)docz(rc)?(\.config)?\.json$/i.test(filename)) { return "docz"; }
    if (/\.djs$/i.test(filename)) { return "doge"; }
    if (/^dojo\.[cm]?js$/i.test(filename)) { return "dojo"; }
    if (/^dosbox(\b|_).*(\.conf|pref\w*)$/i.test(filename)) { return "dosbox"; }
    if (/^\.env(\.|$)/i.test(filename)) { return "dotenv"; }
    if (/\.dot$/i.test(filename)) { return "dotjs"; }
    if (/\.crdownload$/i.test(filename)) { return "download"; }
    if (/^\.?Doxyfile$/i.test(filename)) { return "doxygen"; }
    if (/^dragula(\.min)?\.([cm]?js|css)$/i.test(filename)) { return "dragula"; }
    if (/^\.drawio($|\.)|\.d(raw)?io(\.png|\.svg)?$/i.test(filename)) { return "drawio"; }
    if (/\.drone\.ya?ml$/i.test(filename)) { return "drone"; }
    if (/^dub(\.selections)?\.(json|sdl)$/i.test(filename)) { return "dub"; }
    if (/\.dyalog$/i.test(filename)) { return "dyalog"; }
    if (/\.dyapp$/i.test(filename)) { return "dyalog"; }
    if (/\.mipage$/i.test(filename)) { return "dyalog"; }
    if (/\.(dylib|bundle)$/i.test(filename)) { return "dylib"; }
    if (/\.E$/.test(filename)) { return "e"; }
    if (/\.eup$/i.test(filename)) { return "eagle"; }
    if (/\.eb$/i.test(filename)) { return "easybuild"; }
    if (/\.ec$/i.test(filename)) { return "ec"; }
    if (/\.eh$/i.test(filename)) { return "ec"; }
    if (/\.epj$/i.test(filename)) { return "ecere"; }
    if (/\.c?project$/.test(filename)) { return "eclipse"; }
    if (/\.classpath$/i.test(filename)) { return "eclipse"; }
    if (/\.ecl(\.txt)?$/i.test(filename)) { return "eclipse-lang"; }
    if (/\.editorconfig$/i.test(filename)) { return "editorconfig"; }
    if (/\.ecrc$/i.test(filename)) { return "editorconfig"; }
    if (/\.edge$/i.test(filename)) { return "edge"; }
    if (/\.e$/.test(filename)) { return "eiffel"; }
    if (/\.ejs$/i.test(filename)) { return "ejs"; }
    if (/\.compilerc(\.json)?$/i.test(filename)) { return "electron"; }
    if (/(^|\.)forge\.config\.js$/i.test(filename)) { return "electron"; }
    if (/\.ex$/i.test(filename)) { return "elixir"; }
    if (/\.(exs|l?eex)$/i.test(filename)) { return "elixir"; }
    if (/^mix\.(exs?|lock)$/i.test(filename)) { return "elixir"; }
    if (/\.elm$/i.test(filename)) { return "elm"; }
    if (/(^|\.)(el|_?emacs|emacs\.desktop|abbrev[-_]defs)$/i.test(filename)) { return "emacs"; }
    if (/(^|\.)(elc|eld)$/i.test(filename)) { return "emacs"; }
    if (/\.gnus$/i.test(filename)) { return "emacs"; }
    if (/\.viper$/i.test(filename)) { return "emacs"; }
    if (/^Cask$/.test(filename)) { return "emacs"; }
    if (/^Project\.ede$/i.test(filename)) { return "emacs"; }
    if (/^(authors|(code)?owners)$/i.test(filename)) { return "at"; }
    if (/^(EML|mbox|e?-?mail)$/i.test(filename)) { return "at"; }
    if (/^ember(\.|(-[^.]+)?-(\d+\.)+(debug\.)?)[cm]?js$/i.test(filename)) { return "ember"; }
    if (/\.emberscript$/i.test(filename)) { return "em"; }
    if (/\.em(blem)?$/i.test(filename)) { return "mustache"; }
    if (/\.ensime$/i.test(filename)) { return "ensime"; }
    if (/\.eq$/i.test(filename)) { return "eq"; }
    if (/\.erl$/i.test(filename)) { return "erlang"; }
    if (/\.beam$/i.test(filename)) { return "erlang"; }
    if (/\.hrl$/i.test(filename)) { return "erlang"; }
    if (/\.xrl$/i.test(filename)) { return "erlang"; }
    if (/\.yrl$/i.test(filename)) { return "erlang"; }
    if (/\.app\.src$/i.test(filename)) { return "erlang"; }
    if (/^Emakefile$/.test(filename)) { return "erlang"; }
    if (/^rebar(\.config)?\.lock$/i.test(filename)) { return "erlang"; }
    if (/^\.?esdoc\.([cm]?js|json)$/i.test(filename)) { return "esdoc"; }
    if (/\.eslint(cache|ignore)$/i.test(filename)) { return "eslint"; }
    if (/\.eslintrc($|\.)/i.test(filename)) { return "eslint"; }
    if (/\bExtjs(-ext)?\.[cm]?js$/i.test(filename)) { return "extjs"; }
    if (/^fabric\.mod\.json$/i.test(filename)) { return "fabric"; }
    if (/^fabfile\.py$/i.test(filename)) { return "fabfile"; }
    if (/\.factor$/i.test(filename)) { return "factor"; }
    if (/\.factor-rc$/i.test(filename)) { return "factor"; }
    if (/\.factor-boot-rc$/i.test(filename)) { return "factor"; }
    if (/\.fal(con)?$/i.test(filename)) { return "falcon"; }
    if (/\.fy$/i.test(filename)) { return "fancy"; }
    if (/\.fancypack$/i.test(filename)) { return "fancy"; }
    if (/^Fakefile$/.test(filename)) { return "fancy"; }
    if (/\.fan$/i.test(filename)) { return "fantom"; }
    if (/\.(fasta|fas?|seq|fsa)$/i.test(filename)) { return "dna"; }
    if (/\.(fastq|fq)$/i.test(filename)) { return "dna"; }
    if (/\.(faa|mpfa)$/i.test(filename)) { return "dna"; }
    if (/\.fna$/i.test(filename)) { return "dna"; }
    if (/\.ffn$/i.test(filename)) { return "dna"; }
    if (/\.frn$/i.test(filename)) { return "dna"; }
    if (/\.sam$/i.test(filename)) { return "dna"; }
    if (/\.fql$/i.test(filename)) { return "fauna"; }
    if (/\.faunarc$/i.test(filename)) { return "fauna"; }
    if (/\.dsp$/i.test(filename)) { return "faust"; }
    if (/\.fbx$/i.test(filename)) { return "fbx"; }
    if (/\.fxl$/i.test(filename)) { return "fexl"; }
    if (/\.figma$/i.test(filename)) { return "figma"; }
    if (/\.fdx$/i.test(filename)) { return "finaldraft"; }
    if (/^Icon\r$/.test(filename)) { return "finder"; }
    if (/\.rsrc$/i.test(filename)) { return "finder"; }
    if (/^\._./.test(filename)) { return "finder"; }
    if (/\.DS_Store$/i.test(filename)) { return "finder"; }
    if (/^firebase\.json$/i.test(filename)) { return "firebase"; }
    if (/^firestore\.indexes\.json$/i.test(filename)) { return "firebase"; }
    if (/^firestore\.rules?$/i.test(filename)) { return "firebase"; }
    if (/\.firebaserc$/i.test(filename)) { return "firebase"; }
    if (/\.bolt$/i.test(filename)) { return "firebase-bolt"; }
    if (/\.webapp$/i.test(filename)) { return "firefox"; }
    if (/^flask([-_.].*)\.py$/i.test(filename)) { return "flask"; }
    if (/\.flooignore$/i.test(filename)) { return "floobits"; }
    if (/\.(flowconfig|js\.flow|flow)$/i.test(filename)) { return "flow"; }
    if (/\.fx$/i.test(filename)) { return "flux"; }
    if (/\.flux$/i.test(filename)) { return "flux"; }
    if (/\.flutter-plugins$/i.test(filename)) { return "flutter"; }
    if (/\.woff2$/i.test(filename)) { return "font"; }
    if (/\.woff$/i.test(filename)) { return "font"; }
    if (/\.eot$/i.test(filename)) { return "font"; }
    if (/\.ttc$/i.test(filename)) { return "font"; }
    if (/\.ttf$/i.test(filename)) { return "font"; }
    if (/\.otf$/i.test(filename)) { return "font"; }
    if (/\.pfb$/i.test(filename)) { return "font"; }
    if (/\.pfm$/i.test(filename)) { return "font"; }
    if (/\.tfm$/i.test(filename)) { return "font"; }
    if (/\.dfont$/i.test(filename)) { return "font"; }
    if (/\.psfu?$/i.test(filename)) { return "font-bitmap"; }
    if (/\.pcf$/i.test(filename)) { return "font-bitmap"; }
    if (/\.psftx$/i.test(filename)) { return "font-bitmap"; }
    if (/\.bdf$/i.test(filename)) { return "font-bitmap"; }
    if (/\.fnt$/i.test(filename)) { return "font-bitmap"; }
    if (/\.fon$/i.test(filename)) { return "font-bitmap"; }
    if (/\.snf$/i.test(filename)) { return "font-bitmap"; }
    if (/\.flf$/i.test(filename)) { return "font-bitmap"; }
    if (/\.tlf$/i.test(filename)) { return "font-bitmap"; }
    if (/\.(ff|pe)$/i.test(filename)) { return "ff"; }
    if (/\.sfd$/i.test(filename)) { return "ff"; }
    if (/^\.issuetracker$/i.test(filename)) { return "fork"; }
    if (/\.trm$/i.test(filename)) { return "ftr"; }
    if (/\.f$/i.test(filename)) { return "fortran"; }
    if (/\.f90$/i.test(filename)) { return "fortran"; }
    if (/\.f03$/i.test(filename)) { return "fortran"; }
    if (/\.f08$/i.test(filename)) { return "fortran"; }
    if (/\.f77$/i.test(filename)) { return "fortran"; }
    if (/\.f95$/i.test(filename)) { return "fortran"; }
    if (/\.for$/i.test(filename)) { return "fortran"; }
    if (/\.fpp$/i.test(filename)) { return "fortran"; }
    if (/\.pfo$/i.test(filename)) { return "fortran"; }
    if (/\.fossa\.ya?ml$/i.test(filename)) { return "fossa"; }
    if (/\.fossaignore$/i.test(filename)) { return "fossa"; }
    if (/\.fountain$/i.test(filename)) { return "fountain"; }
    if (/\.fi?dl$/i.test(filename)) { return "franca"; }
    if (/\.fdepl$/i.test(filename)) { return "franca"; }
    if (/\.ftl$/i.test(filename)) { return "freemarker"; }
    if (/ftl$/i.test(filename)) { return "freemarker"; }
    if (/\.fr$/i.test(filename)) { return "frege"; }
    if (/\.fs[xi]?$/i.test(filename)) { return "fsharp"; }
    if (/f#$/i.test(filename)) { return "fsharp"; }
    if (/\.fthtml$/i.test(filename)) { return "fthtml"; }
    if (/^fuelux(\.min)?\.(css|[cm]?js)$/i.test(filename)) { return "fuelux"; }
    if (/^fuse\.[cm]?js$/.test(filename)) { return "fusebox"; }
    if (/\.fut$/i.test(filename)) { return "futhark"; }
    if (/^galaxy\.ini$/i.test(filename)) { return "galaxy"; }
    if (/\.gspec$/i.test(filename)) { return "galen"; }
    if (/\.gtest$/i.test(filename)) { return "galen"; }
    if (/\.gml$/i.test(filename)) { return "gml"; }
    if (/\.gms$/i.test(filename)) { return "gams"; }
    if (/\.gap$/i.test(filename)) { return "gap"; }
    if (/\.gi$/i.test(filename)) { return "gap"; }
    if (/\.tst$/i.test(filename)) { return "gap"; }
    if (/^gatsby-.+\.[jt]s$/i.test(filename)) { return "gatsby"; }
    if (/\.gss$/i.test(filename)) { return "gauss"; }
    if (/\.gdb$/i.test(filename)) { return "gdb"; }
    if (/gdbinit$/i.test(filename)) { return "gdb"; }
    if (/^\.htaccess$/i.test(filename)) { return "gear"; }
    if (/^\.htpasswd$/i.test(filename)) { return "gear"; }
    if (/^\.lesshintrc$/i.test(filename)) { return "gear"; }
    if (/^\.csscomb\.json$/i.test(filename)) { return "gear"; }
    if (/^text\.enc$/.test(filename)) { return "gear"; }
    if (/\.csslintrc$/i.test(filename)) { return "gear"; }
    if (/\.htmlhintrc$/i.test(filename)) { return "gear"; }
    if (/\.module$/i.test(filename)) { return "gear"; }
    if (/\.codoopts$/i.test(filename)) { return "gear"; }
    if (/\.arcconfig$/i.test(filename)) { return "gear"; }
    if (/\.pairs$/i.test(filename)) { return "gear"; }
    if (/\.lintstagedrc$/i.test(filename)) { return "gear"; }
    if (/\.indent\.pro$/i.test(filename)) { return "gear"; }
    if (/^\./.test(filename)) { return "gear"; }
    if (/\.dll$/i.test(filename)) { return "gears"; }
    if (/\.xml$/i.test(filename)) { return "code"; }
    if (/\.xmp$/i.test(filename)) { return "code"; }
    if (/\.rdf$/i.test(filename)) { return "code"; }
    if (/\.config$/i.test(filename)) { return "code"; }
    if (/^_service$/.test(filename)) { return "code"; }
    if (/^configure\.ac$/.test(filename)) { return "code"; }
    if (/^Settings\.StyleCop$/.test(filename)) { return "code"; }
    if (/\.4th$/i.test(filename)) { return "code"; }
    if (/\.adm[lx]$/i.test(filename)) { return "code"; }
    if (/\.[ad]sl$/i.test(filename)) { return "code"; }
    if (/\.aepx$/i.test(filename)) { return "code"; }
    if (/\.appxmanifest$/i.test(filename)) { return "code"; }
    if (/\.ash$/i.test(filename)) { return "code"; }
    if (/\.asn1?$/i.test(filename)) { return "code"; }
    if (/\.axml$/i.test(filename)) { return "code"; }
    if (/\.bc$/i.test(filename)) { return "code"; }
    if (/\.befunge$/i.test(filename)) { return "code"; }
    if (/\.bmx$/i.test(filename)) { return "code"; }
    if (/\.brs$/i.test(filename)) { return "code"; }
    if (/\.capnp$/i.test(filename)) { return "code"; }
    if (/\.ccxml$/i.test(filename)) { return "code"; }
    if (/\.cscfg$/i.test(filename)) { return "code"; }
    if (/\.cgi$/i.test(filename)) { return "code"; }
    if (/\.ch$/i.test(filename)) { return "code"; }
    if (/\.clixml$/i.test(filename)) { return "code"; }
    if (/\.cocci$/i.test(filename)) { return "code"; }
    if (/\.ct$/i.test(filename)) { return "code"; }
    if (/\.cw$/i.test(filename)) { return "code"; }
    if (/\.cy$/i.test(filename)) { return "code"; }
    if (/\.rdg$/i.test(filename)) { return "code"; }
    if (/\.dita$/i.test(filename)) { return "code"; }
    if (/\.ditamap$/i.test(filename)) { return "code"; }
    if (/\.ditaval$/i.test(filename)) { return "code"; }
    if (/\.dotsettings$/i.test(filename)) { return "code"; }
    if (/\.dtd$/i.test(filename)) { return "code"; }
    if (/\.dyl$/i.test(filename)) { return "code"; }
    if (/\.dylan$/i.test(filename)) { return "code"; }
    if (/\.eclxml$/i.test(filename)) { return "code"; }
    if (/\.ed$/i.test(filename)) { return "code"; }
    if (/\.fcgi$/i.test(filename)) { return "code"; }
    if (/\.fidl$/i.test(filename)) { return "code"; }
    if (/\.filters$/i.test(filename)) { return "code"; }
    if (/\.fo$/i.test(filename)) { return "code"; }
    if (/\.forth$/i.test(filename)) { return "code"; }
    if (/\.frt$/i.test(filename)) { return "code"; }
    if (/\.fsproj$/i.test(filename)) { return "code"; }
    if (/\.fth$/i.test(filename)) { return "code"; }
    if (/\.fun$/i.test(filename)) { return "code"; }
    if (/\.fxml$/i.test(filename)) { return "code"; }
    if (/\.grace$/i.test(filename)) { return "code"; }
    if (/\.grxml$/i.test(filename)) { return "code"; }
    if (/\.iml$/i.test(filename)) { return "code"; }
    if (/\.intr$/i.test(filename)) { return "code"; }
    if (/\.ivy$/i.test(filename)) { return "code"; }
    if (/\.jelly$/i.test(filename)) { return "code"; }
    if (/\.jf?lex$/i.test(filename)) { return "code"; }
    if (/\.joy$/i.test(filename)) { return "code"; }
    if (/\.jsproj$/i.test(filename)) { return "code"; }
    if (/\.jspx$/i.test(filename)) { return "code"; }
    if (/\.launch$/i.test(filename)) { return "code"; }
    if (/\.lid$/i.test(filename)) { return "code"; }
    if (/\.lp$/i.test(filename)) { return "code"; }
    if (/\.m4$/i.test(filename)) { return "code"; }
    if (/\.manifest$/i.test(filename)) { return "code"; }
    if (/\.mask$/i.test(filename)) { return "code"; }
    if (/\.mdpolicy$/i.test(filename)) { return "code"; }
    if (/\.menu$/i.test(filename)) { return "code"; }
    if (/\.ML$/.test(filename)) { return "code"; }
    if (/\.mq[45h]$/i.test(filename)) { return "code"; }
    if (/\.mtml$/i.test(filename)) { return "code"; }
    if (/\.muf$/i.test(filename)) { return "code"; }
    if (/\.mumps$/i.test(filename)) { return "code"; }
    if (/\.mxml$/i.test(filename)) { return "code"; }
    if (/\.myt$/i.test(filename)) { return "code"; }
    if (/\.natvis$/i.test(filename)) { return "code"; }
    if (/\.odd$/i.test(filename)) { return "code"; }
    if (/\.ohm$/i.test(filename)) { return "code"; }
    if (/\.omgrofl$/i.test(filename)) { return "code"; }
    if (/\.osm$/i.test(filename)) { return "code"; }
    if (/\.pig$/i.test(filename)) { return "code"; }
    if (/\.plist$/i.test(filename)) { return "code"; }
    if (/\.prg$/i.test(filename)) { return "code"; }
    if (/\.proj$/i.test(filename)) { return "code"; }
    if (/\.props$/i.test(filename)) { return "code"; }
    if (/\.psc1$/i.test(filename)) { return "code"; }
    if (/\.pt$/i.test(filename)) { return "code"; }
    if (/\.qhelp$/i.test(filename)) { return "code"; }
    if (/\.resx$/i.test(filename)) { return "code"; }
    if (/\.rl$/i.test(filename)) { return "code"; }
    if (/\.scxml$/i.test(filename)) { return "code"; }
    if (/\.sed$/i.test(filename)) { return "code"; }
    if (/\.sgml?$/i.test(filename)) { return "code"; }
    if (/\.sig$/i.test(filename)) { return "code"; }
    if (/\.sk$/i.test(filename)) { return "code"; }
    if (/\.sk[12]$/i.test(filename)) { return "code"; }
    if (/\.sml$/i.test(filename)) { return "code"; }
    if (/\.smt$/i.test(filename)) { return "code"; }
    if (/\.smt2$/i.test(filename)) { return "code"; }
    if (/\.spthy$/i.test(filename)) { return "code"; }
    if (/\.srdf$/i.test(filename)) { return "code"; }
    if (/\.ssmssln$/i.test(filename)) { return "code"; }
    if (/\.st$/i.test(filename)) { return "code"; }
    if (/\.stellaris$/i.test(filename)) { return "code"; }
    if (/\.storyboard$/i.test(filename)) { return "code"; }
    if (/\.tagx$/i.test(filename)) { return "code"; }
    if (/\.targets$/i.test(filename)) { return "code"; }
    if (/\.tera$/i.test(filename)) { return "code"; }
    if (/\.tml$/i.test(filename)) { return "code"; }
    if (/\.ui$/i.test(filename)) { return "code"; }
    if (/\.urdf$/i.test(filename)) { return "code"; }
    if (/\.ux$/i.test(filename)) { return "code"; }
    if (/\.vxml$/i.test(filename)) { return "code"; }
    if (/\.webidl$/i.test(filename)) { return "code"; }
    if (/\.wisp$/i.test(filename)) { return "code"; }
    if (/\.wlp(4|ppp)$/i.test(filename)) { return "code"; }
    if (/\.wsdl$/i.test(filename)) { return "code"; }
    if (/\.wsf$/i.test(filename)) { return "code"; }
    if (/\.x3d$/i.test(filename)) { return "code"; }
    if (/\.xacro$/i.test(filename)) { return "code"; }
    if (/\.xib$/i.test(filename)) { return "code"; }
    if (/\.xlf$/i.test(filename)) { return "code"; }
    if (/\.xliff$/i.test(filename)) { return "code"; }
    if (/\.xmi$/i.test(filename)) { return "code"; }
    if (/\.xproj$/i.test(filename)) { return "code"; }
    if (/\.xsd$/i.test(filename)) { return "code"; }
    if (/\.xsl$/i.test(filename)) { return "code"; }
    if (/\.xslt$/i.test(filename)) { return "code"; }
    if (/\.xul$/i.test(filename)) { return "code"; }
    if (/\.zcml$/i.test(filename)) { return "code"; }
    if (/\.kid$/i.test(filename)) { return "genshi"; }
    if (/^xml\+(genshi|kid)$/i.test(filename)) { return "genshi"; }
    if (/\.gen$/i.test(filename)) { return "genstat"; }
    if (/\.gpi$/i.test(filename)) { return "genstat"; }
    if (/\.ebuild$/i.test(filename)) { return "gentoo"; }
    if (/\.eclass$/i.test(filename)) { return "gentoo"; }
    if (/\.xcf$/i.test(filename)) { return "gimp"; }
    if (/\.ggr$/i.test(filename)) { return "gimp"; }
    if (/\.gih$/i.test(filename)) { return "gimp"; }
    if (/\.gpl$/i.test(filename)) { return "gimp"; }
    if (/\.vbr$/i.test(filename)) { return "gimp"; }
    if (/^\.git|^\.keep$|\.(lfsconfig|mailmap)$/i.test(filename)) { return "git"; }
    if (/\.git(ignore|config|attributes)$/i.test(filename)) { return "git"; }
    if (/^(ATOM_)?COMMIT_EDITMSG$/.test(filename)) { return "git-commit"; }
    if (/^MERGE_(HEAD|MODE|MSG)$/.test(filename)) { return "git-merge"; }
    if (/^\.gitlab-ci\.yml$/.test(filename)) { return "gitlab"; }
    if (/^\.?gitpod\.ya?ml$/i.test(filename)) { return "gitpod"; }
    if (/\.glade$/i.test(filename)) { return "glade"; }
    if (/^glide\.ya?ml$/i.test(filename)) { return "glide"; }
    if (/\.gltf$/i.test(filename)) { return "gltf"; }
    if (/\.glf$/i.test(filename)) { return "pointwise"; }
    if (/\.glyphs$/i.test(filename)) { return "glyphs"; }
    if (/\.gn$/i.test(filename)) { return "gn"; }
    if (/\.gni$/i.test(filename)) { return "gn"; }
    if (/\.(gnu|gplv[23])$/i.test(filename)) { return "gnu"; }
    if (/^([AL]?GPL|GFDL)(\b|_)/.test(filename)) { return "gnu"; }
    if (/\.gtk/.test(filename)) { return "gnome"; }
    if (/\.(gp|plo?t|gnuplot)$/i.test(filename)) { return "gnuplot"; }
    if (/\.go$/i.test(filename)) { return "go"; }
    if (/\.gd$/i.test(filename)) { return "godot"; }
    if (/\.godot$/i.test(filename)) { return "godot"; }
    if (/\.tres$/i.test(filename)) { return "godot"; }
    if (/\.tscn$/i.test(filename)) { return "godot"; }
    if (/\.import$/i.test(filename)) { return "godot"; }
    if (/\.golo$/i.test(filename)) { return "golo"; }
    if (/^\.goreleaser\.ya?ml$/i.test(filename)) { return "goreleaser"; }
    if (/\.gs$/i.test(filename)) { return "gosu"; }
    if (/\.gst$/i.test(filename)) { return "gosu"; }
    if (/\.gsx$/i.test(filename)) { return "gosu"; }
    if (/\.vark$/i.test(filename)) { return "gosu"; }
    if (/\.gradle$/i.test(filename)) { return "gradle"; }
    if (/gradlew$/i.test(filename)) { return "gradle"; }
    if (/\.bnf$/i.test(filename)) { return "bnf"; }
    if (/\.abnf$/i.test(filename)) { return "bnf"; }
    if (/\.ebnf$/i.test(filename)) { return "bnf"; }
    if (/\.cddl$/i.test(filename)) { return "bnf"; }
    if (/\.(cf|lbnf)$/i.test(filename)) { return "bnf"; }
    if (/\.grammar$/i.test(filename)) { return "bnf"; }
    if (/\.gf$/i.test(filename)) { return "gf"; }
    if (/\.gcx$/i.test(filename)) { return "grapher"; }
    if (/\.graphql$/i.test(filename)) { return "graphql"; }
    if (/\.graphqls$/i.test(filename)) { return "graphql"; }
    if (/\.gql$/i.test(filename)) { return "graphql"; }
    if (/^\.graphqlrc(?:\.(?:json|js|ya?ml))?$/i.test(filename)) { return "graphql"; }
    if (/^graphql\.config\.js$/.test(filename)) { return "graphql"; }
    if (/^codegen\.(json|ya?ml)$/i.test(filename)) { return "gql-codegen"; }
    if (/\.gv$/i.test(filename)) { return "graphviz"; }
    if (/\.dot$/i.test(filename)) { return "graphviz"; }
    if (/\.(plantuml|[ip]uml|pu)$/i.test(filename)) { return "graphviz"; }
    if (/\.gvdesign$/i.test(filename)) { return "gvdesign"; }
    if (/^greenkeeper\.json$/i.test(filename)) { return "greenkeeper"; }
    if (/\bgridsome\.(config|client|server)\.[jt]s$/i.test(filename)) { return "gridsome"; }
    if (/\.(groovy|grt|gtpl|gsp|gvy)$/i.test(filename)) { return "groovy"; }
    if (/gsp$/i.test(filename)) { return "groovy"; }
    if (/^gruntfile.*\.([cm]?js|jsx)$/i.test(filename)) { return "grunt"; }
    if (/^gruntfile.*\.(lit)?coffee$/i.test(filename)) { return "grunt"; }
    if (/^gruntfile.*\.tsx?$/i.test(filename)) { return "grunt"; }
    if (/^gulpfile.*\.([cm]?js|jsx)$/i.test(filename)) { return "gulp"; }
    if (/^gulpfile.*\.(lit)?coffee$/i.test(filename)) { return "gulp"; }
    if (/^gulpfile.*\.tsx?$/i.test(filename)) { return "gulp"; }
    if (/\.hh$/i.test(filename)) { return "hack"; }
    if (/\.hhi$/i.test(filename)) { return "hack"; }
    if (/\.hack$/i.test(filename)) { return "hack"; }
    if (/\.haml$/i.test(filename)) { return "haml"; }
    if (/\.hamlc$/i.test(filename)) { return "haml"; }
    if (/\.haml\.deface$/i.test(filename)) { return "haml"; }
    if (/\.hb$/i.test(filename)) { return "harbour"; }
    if (/\.hcl$/i.test(filename)) { return "hashicorp"; }
    if (/\.workflow$/i.test(filename)) { return "hashicorp"; }
    if (/\.hs$/i.test(filename)) { return "haskell"; }
    if (/\.hsc$/i.test(filename)) { return "haskell"; }
    if (/\.c2hs$/i.test(filename)) { return "haskell"; }
    if (/\.lhs$/i.test(filename)) { return "haskell"; }
    if (/\.hs-boot$/i.test(filename)) { return "haskell"; }
    if (/\.hsig$/i.test(filename)) { return "haskell"; }
    if (/^hie\.ya?ml($|\.)/i.test(filename)) { return "hie"; }
    if (/\.hx([sm]l|)?$/.test(filename)) { return "haxe"; }
    if (/\.hxproj$/i.test(filename)) { return "haxedevelop"; }
    if (/^\.p4ignore$/i.test(filename)) { return "helix"; }
    if (/\.chm$/i.test(filename)) { return "question"; }
    if (/\.hlp$/i.test(filename)) { return "question"; }
    if (/^(Proc|Apt)file$/.test(filename)) { return "heroku"; }
    if (/\.buildpacks$/i.test(filename)) { return "heroku"; }
    if (/\.slugignore$/i.test(filename)) { return "heroku"; }
    if (/^\.vendor_urls$/.test(filename)) { return "heroku"; }
    if (/\.hpgl$/i.test(filename)) { return "hp"; }
    if (/\.hjson$/i.test(filename)) { return "hjson"; }
    if (/\.hc$/i.test(filename)) { return "templeos"; }
    if (/\.hc\.z$/i.test(filename)) { return "templeos"; }
    if (/^Brewfile$/.test(filename)) { return "brew"; }
    if (/\.hl$/i.test(filename)) { return "hoplon"; }
    if (/\.(hipnc|hip|i3d|picnc)$/i.test(filename)) { return "houdini"; }
    if (/\.vfl$/i.test(filename)) { return "houdini"; }
    if (/\.hound\.ya?ml$/i.test(filename)) { return "houndci"; }
    if (/\.x?html?$/i.test(filename)) { return "html5"; }
    if (/\.cshtml$/i.test(filename)) { return "html5"; }
    if (/\.gohtml$/i.test(filename)) { return "html5"; }
    if (/\.html\.eex$/i.test(filename)) { return "html5"; }
    if (/\.jsp$/i.test(filename)) { return "html5"; }
    if (/\.jspf$/i.test(filename)) { return "html5"; }
    if (/\.kit$/i.test(filename)) { return "html5"; }
    if (/\.isml$/i.test(filename)) { return "html5"; }
    if (/\.latte$/i.test(filename)) { return "html5"; }
    if (/\.phtml$/i.test(filename)) { return "html5"; }
    if (/\.shtml$/i.test(filename)) { return "html5"; }
    if (/\.scaml$/i.test(filename)) { return "html5"; }
    if (/\.swig$/i.test(filename)) { return "html5"; }
    if (/\.vash$/i.test(filename)) { return "html5"; }
    if (/\.xht$/i.test(filename)) { return "html5"; }
    if (/\.dtml$/i.test(filename)) { return "html5"; }
    if (/\.mht(ml)?$/i.test(filename)) { return "html5"; }
    if (/\.html?\.ecr$/i.test(filename)) { return "html5"; }
    if (/\.(html?\.erb(\.deface)?|rhtml)$/i.test(filename)) { return "html5"; }
    if (/\.huskyrc$/i.test(filename)) { return "husky"; }
    if (/\.huskyrc\.js$/i.test(filename)) { return "husky"; }
    if (/\.huskyrc\.json$/i.test(filename)) { return "husky"; }
    if (/\.huskyrc\.cjs$/i.test(filename)) { return "husky"; }
    if (/\.huskyrc\.mjs$/i.test(filename)) { return "husky"; }
    if (/\.huskyrc\.ya?ml$/i.test(filename)) { return "husky"; }
    if (/\.hy$/i.test(filename)) { return "hy"; }
    if (/hylang$/i.test(filename)) { return "hy"; }
    if (/\.ejs\.t$/i.test(filename)) { return "hygen"; }
    if (/^\.hyper\.[cm]?js$/i.test(filename)) { return "hyper"; }
    if (/\.dlm$/i.test(filename)) { return "idl"; }
    if (/^icomoon(\.[-\w]+)*\.json$/i.test(filename)) { return "icomoon"; }
    if (/\.idr$/i.test(filename)) { return "idris"; }
    if (/\.lidr$/i.test(filename)) { return "idris"; }
    if (/\.ipf$/i.test(filename)) { return "igorpro"; }
    if (/igor$/i.test(filename)) { return "igorpro"; }
    if (/\.a?png$/i.test(filename)) { return "image"; }
    if (/\.gif$/i.test(filename)) { return "image"; }
    if (/\.jpe?g$/i.test(filename)) { return "image"; }
    if (/\.(avif|heifs?|hif)$/i.test(filename)) { return "image"; }
    if (/\.ico$/i.test(filename)) { return "image"; }
    if (/\.webp$/i.test(filename)) { return "image"; }
    if (/\.bmp$/i.test(filename)) { return "image"; }
    if (/\.bpg$/i.test(filename)) { return "image"; }
    if (/\.cin$/i.test(filename)) { return "image"; }
    if (/\.cd5$/i.test(filename)) { return "image"; }
    if (/\.cgm$/i.test(filename)) { return "image"; }
    if (/\.cr2$/i.test(filename)) { return "image"; }
    if (/\.dcm$/i.test(filename)) { return "image"; }
    if (/\.dds$/i.test(filename)) { return "image"; }
    if (/\.djvu?$/i.test(filename)) { return "image"; }
    if (/\.dpx$/i.test(filename)) { return "image"; }
    if (/\.ecw$/i.test(filename)) { return "image"; }
    if (/\.fig$/i.test(filename)) { return "image"; }
    if (/\.fits?$/i.test(filename)) { return "image"; }
    if (/\.flif$/i.test(filename)) { return "image"; }
    if (/\.fts$/i.test(filename)) { return "image"; }
    if (/\.(gsrc|gr(emli)?n)$/i.test(filename)) { return "image"; }
    if (/\.hdp$/i.test(filename)) { return "image"; }
    if (/\.hdr$/i.test(filename)) { return "image"; }
    if (/\.heic$/i.test(filename)) { return "image"; }
    if (/\.icns$/i.test(filename)) { return "image"; }
    if (/\.iff$/i.test(filename)) { return "image"; }
    if (/\.(jp[f2xm]|j2c|mj2)$/i.test(filename)) { return "image"; }
    if (/\.jps$/i.test(filename)) { return "image"; }
    if (/\.jng$/i.test(filename)) { return "image"; }
    if (/\.jxr$/i.test(filename)) { return "image"; }
    if (/\.lbm$/i.test(filename)) { return "image"; }
    if (/\.liff$/i.test(filename)) { return "image"; }
    if (/\.mpo$/i.test(filename)) { return "image"; }
    if (/\.mng$/i.test(filename)) { return "image"; }
    if (/\.nrrd$/i.test(filename)) { return "image"; }
    if (/\.ora$/i.test(filename)) { return "image"; }
    if (/\.pcx$/i.test(filename)) { return "image"; }
    if (/\.pict$/i.test(filename)) { return "image"; }
    if (/\.pxr$/i.test(filename)) { return "image"; }
    if (/\.raw$/i.test(filename)) { return "image"; }
    if (/\.sct$/i.test(filename)) { return "image"; }
    if (/\.sgi$/i.test(filename)) { return "image"; }
    if (/\.svgz$/i.test(filename)) { return "image"; }
    if (/\.tga$/i.test(filename)) { return "image"; }
    if (/\.tiff?$/i.test(filename)) { return "image"; }
    if (/\.vsdx?$/i.test(filename)) { return "image"; }
    if (/\.wbm$/i.test(filename)) { return "image"; }
    if (/\.wbmp$/i.test(filename)) { return "image"; }
    if (/\.(wmf|emf|wmz|apm)$/i.test(filename)) { return "image"; }
    if (/\.wdp$/i.test(filename)) { return "image"; }
    if (/\.xwd$/i.test(filename)) { return "image"; }
    if (/\.pxm$/i.test(filename)) { return "image"; }
    if (/\.pxb$/i.test(filename)) { return "image"; }
    if (/\.pxg$/i.test(filename)) { return "image"; }
    if (/\.pxls$/i.test(filename)) { return "image"; }
    if (/\.pxs$/i.test(filename)) { return "image"; }
    if (/\.imba$/i.test(filename)) { return "imba"; }
    if (/^\.imgbotconfig$/i.test(filename)) { return "imgbot"; }
    if (/\.ni$/i.test(filename)) { return "inform7"; }
    if (/\.i7x$/i.test(filename)) { return "inform7"; }
    if (/\.ink$/i.test(filename)) { return "ink"; }
    if (/\.ink2$/i.test(filename)) { return "ink"; }
    if (/\.inx$/i.test(filename)) { return "inkscape"; }
    if (/\.iss$/i.test(filename)) { return "inno"; }
    if (/\.isl$/i.test(filename)) { return "inno"; }
    if (/\.io$/i.test(filename)) { return "io"; }
    if (/\.ik$/i.test(filename)) { return "ioke"; }
    if (/^ionic\.(project|config\.json)$/.test(filename)) { return "ionic"; }
    if (/\.thy$/i.test(filename)) { return "isabelle"; }
    if (/^ROOT$/.test(filename)) { return "isabelle"; }
    if (/^\.nycrc(\.json)?$/i.test(filename)) { return "istanbul"; }
    if (/^\.nycrc\.ya?ml$/i.test(filename)) { return "istanbul"; }
    if (/^nyc\.config\.js$/i.test(filename)) { return "istanbul"; }
    if (/^nyc\.config\.cjs$/i.test(filename)) { return "istanbul"; }
    if (/^nyc\.config\.mjs$/i.test(filename)) { return "istanbul"; }
    if (/\.ijs$/i.test(filename)) { return "j"; }
    if (/\.jade$/i.test(filename)) { return "jade"; }
    if (/^Jakefile$/.test(filename)) { return "jake"; }
    if (/\.jake$/i.test(filename)) { return "jake"; }
    if (/^\.?jasmine\.json$|^jasmine\.([-\w]+\.)?([cm]?js|ts|coffee)$/i.test(filename)) { return "jasmine"; }
    if (/\.java$/i.test(filename)) { return "java"; }
    if (/\.class$/i.test(filename)) { return "java"; }
    if (/\.js$/i.test(filename)) { return "js"; }
    if (/\._js$/i.test(filename)) { return "js"; }
    if (/\.jsb$/i.test(filename)) { return "js"; }
    if (/\.jsm$/i.test(filename)) { return "js"; }
    if (/\.jss$/i.test(filename)) { return "js"; }
    if (/\.es\d?$/i.test(filename)) { return "js"; }
    if (/\.cjs$/i.test(filename)) { return "js"; }
    if (/\.mjs$/i.test(filename)) { return "js"; }
    if (/\.sjs$/i.test(filename)) { return "js"; }
    if (/\.ssjs$/i.test(filename)) { return "js"; }
    if (/\.jspre$/i.test(filename)) { return "js"; }
    if (/\.jscript$/i.test(filename)) { return "js"; }
    if (/\.jse$/i.test(filename)) { return "js"; }
    if (/\.jslib$/i.test(filename)) { return "js"; }
    if (/\.xsjs$/i.test(filename)) { return "js"; }
    if (/\.xsjslib$/i.test(filename)) { return "js"; }
    if (/\.dust$/i.test(filename)) { return "js"; }
    if (/\.htc$/i.test(filename)) { return "js"; }
    if (/\.pac$/i.test(filename)) { return "js"; }
    if (/\.pjs$/i.test(filename)) { return "js"; }
    if (/\.js\.ecr$/i.test(filename)) { return "js"; }
    if (/\.js\.erb$/i.test(filename)) { return "js"; }
    if (/([\/\\])cartridge\1scripts(?:\1.+)?\1[^\\\/]+\.ds$/i.test(filename)) { return "js"; }
    if (/^_config\.yml$/.test(filename)) { return "jekyll"; }
    if (/\.nojekyll$/i.test(filename)) { return "jekyll"; }
    if (/^Jenkinsfile$/.test(filename)) { return "jenkins"; }
    if (/^jest(\.config)?(\.babel)?\.(js(on|x)?|[cm]js|tsx?)$/i.test(filename)) { return "jest"; }
    if (/^\.jestrc($|\.)/i.test(filename)) { return "jest"; }
    if (/\.(mjs|tsx?)\.snap$/i.test(filename)) { return "jest"; }
    if (/\.cjs\.snap$/i.test(filename)) { return "jest"; }
    if (/\.snap$/i.test(filename)) { return "jest"; }
    if (/\.jinja$/i.test(filename)) { return "jinja"; }
    if (/\.j(inja)?2$/i.test(filename)) { return "jinja"; }
    if (/\.jison$/i.test(filename)) { return "jison"; }
    if (/\.jisonlex$/i.test(filename)) { return "jison"; }
    if (/\.ol$/i.test(filename)) { return "jolie"; }
    if (/\.iol$/i.test(filename)) { return "jolie"; }
    if (/^jquery([-.](min|latest|slim|\d\.\d+(\.\d+)?))*\.([jt]sx?|es6?|coffee|map)$/i.test(filename)) { return "jquery"; }
    if (/^jquery([-_.](ui[-_.](custom|dialog-?\w*)|effects)(\.[^.]*)?|[-.]?ui(-\d\.\d+(\.\d+)?)?(\.\w+)?)([-_.]?min|dev)?\.([jt]sx?|es6?|coffee|map|s?css|less|styl)$/i.test(filename)) { return "jqueryui"; }
    if (/\.jscpd(\.json)?$|^jscpd-report\.json/i.test(filename)) { return "jscpd"; }
    if (/\.jscpd\.html$/i.test(filename)) { return "jscpd"; }
    if (/\.jscpd\.xml$/i.test(filename)) { return "jscpd"; }
    if (/\.(h|geo|topo)?json$/i.test(filename)) { return "json"; }
    if (/\.jsonc$/i.test(filename)) { return "json"; }
    if (/\.rsj$/i.test(filename)) { return "json"; }
    if (/\.json5$/i.test(filename)) { return "json5"; }
    if (/\.jsonld$/i.test(filename)) { return "jsonld"; }
    if (/\.jq$/i.test(filename)) { return "sql"; }
    if (/\.jsonnet$/i.test(filename)) { return "jsonnet"; }
    if (/\.libsonnet$/i.test(filename)) { return "jsonnet"; }
    if (/\.jsx$/i.test(filename)) { return "jsx"; }
    if (/\.jl$/i.test(filename)) { return "julia"; }
    if (/\.jos$/i.test(filename)) { return "junos"; }
    if (/\.slax$/i.test(filename)) { return "junos"; }
    if (/\.ipynb$/i.test(filename)) { return "jupyter"; }
    if (/^Notebook$/.test(filename)) { return "jupyter"; }
    if (/\.ksy$/i.test(filename)) { return "kaitai"; }
    if (/^karma\.conf(ig)?\.[cm]?js$/i.test(filename)) { return "karma"; }
    if (/^karma\.conf(ig)?\.coffee$/i.test(filename)) { return "karma"; }
    if (/^karma\.conf(ig)?\.ts$/i.test(filename)) { return "karma"; }
    if (/\.ks$/i.test(filename)) { return "kos"; }
    if (/^keybase\.txt$/i.test(filename)) { return "keybase"; }
    if (/\.keynote$/i.test(filename)) { return "keynote"; }
    if (/\.knt$/i.test(filename)) { return "keynote"; }
    if (/\.hypr$/i.test(filename)) { return "kibo"; }
    if (/\.hypr\.live$/i.test(filename)) { return "kibo"; }
    if (/\.kicad_pcb$/i.test(filename)) { return "kicad"; }
    if (/\.kicad_pcb-bak$/i.test(filename)) { return "kicad"; }
    if (/\.kicad_mod$/i.test(filename)) { return "kicad"; }
    if (/\.kicad_wks$/i.test(filename)) { return "kicad"; }
    if (/^fp-lib-table$/i.test(filename)) { return "kicad"; }
    if (/^\.?kitchen(\.[-\w]*)*\.ya?ml$/i.test(filename)) { return "kitchenci"; }
    if (/\.kv$/i.test(filename)) { return "kivy"; }
    if (/\.kml$/i.test(filename)) { return "earth"; }
    if (/^knockout[-.](\d+\.){3}(debug\.)?[cm]?js$/i.test(filename)) { return "knockout"; }
    if (/\.kt$/i.test(filename)) { return "kotlin"; }
    if (/\.ktm$/i.test(filename)) { return "kotlin"; }
    if (/\.kts$/i.test(filename)) { return "kotlin"; }
    if (/\.krl$/i.test(filename)) { return "krl"; }
    if (/^kubernetes.*\.ya?ml$/i.test(filename)) { return "kubernetes"; }
    if (/(^|\.)kazelcfg\.json$/i.test(filename)) { return "kubernetes"; }
    if (/\.(csl|kusto)$/i.test(filename)) { return "kusto"; }
    if (/Kusto (Query.?Language|Explorer)|^KQL$/i.test(filename)) { return "kusto"; }
    if (/\.lv(proj|lib)$/i.test(filename)) { return "labview"; }
    if (/\.blade(\.php)?$/i.test(filename)) { return "laravel"; }
    if (/\.lark$/i.test(filename)) { return "lark"; }
    if (/\.lasso$/i.test(filename)) { return "lasso"; }
    if (/\.las$/i.test(filename)) { return "lasso"; }
    if (/\.lasso8$/i.test(filename)) { return "lasso"; }
    if (/\.lasso9$/i.test(filename)) { return "lasso"; }
    if (/\.lassoapp$/i.test(filename)) { return "lasso"; }
    if (/\.ldml$/i.test(filename)) { return "lasso"; }
    if (/\.lat$/i.test(filename)) { return "latino"; }
    if (/^leaflet\.(draw-src|draw|spin|coordinates-(\d+\.)\d+\.\d+\.src)\.([cm]?js|css)$|^wicket-leaflet\.[cm]?js$/i.test(filename)) { return "leaflet"; }
    if (/\.lean$/i.test(filename)) { return "lean"; }
    if (/\.hlean$/i.test(filename)) { return "lean"; }
    if (/\.ledger$/i.test(filename)) { return "graph"; }
    if (/\.hledger$/i.test(filename)) { return "graph"; }
    if (/^lefthook(-local)?\.ya?ml$/i.test(filename)) { return "lefthook"; }
    if (/\.lr$/i.test(filename)) { return "lektor"; }
    if (/\.lektorproject$/i.test(filename)) { return "lektor"; }
    if (/^lerna\.json$/i.test(filename)) { return "lerna"; }
    if (/project\.clj$/i.test(filename)) { return "lein"; }
    if (/\.l(e?x)?$/i.test(filename)) { return "lex"; }
    if (/^lexer\.x$/i.test(filename)) { return "lex"; }
    if (/\.flex$/i.test(filename)) { return "lex"; }
    if (/\.lfe$/i.test(filename)) { return "lfe"; }
    if (/^\.?lgtm\.ya?ml$/i.test(filename)) { return "lgtm"; }
    if (/^\.?lighthouserc\.(json|js|ya?ml)$/i.test(filename)) { return "lighthouse"; }
    if (/\.lwo$/i.test(filename)) { return "lightwave"; }
    if (/\.lws$/i.test(filename)) { return "lightwave"; }
    if (/\.ly$/i.test(filename)) { return "lilypond"; }
    if (/\.ily$/i.test(filename)) { return "lilypond"; }
    if (/\.hxp$/i.test(filename)) { return "lime"; }
    if (/\.url$/i.test(filename)) { return "link"; }
    if (/\.lnk$/i.test(filename)) { return "link"; }
    if (/\.alias$/.test(filename)) { return "link"; }
    if (/\.linq$/i.test(filename)) { return "linqpad"; }
    if (/\.lisp$/i.test(filename)) { return "lisp"; }
    if (/\.lsp$/i.test(filename)) { return "lisp"; }
    if (/\.nl$/i.test(filename)) { return "lisp"; }
    if (/\.ny$/i.test(filename)) { return "lisp"; }
    if (/\.podsl$/i.test(filename)) { return "lisp"; }
    if (/\.sexp$/i.test(filename)) { return "lisp"; }
    if (/\.sbclrc$/i.test(filename)) { return "lisp"; }
    if (/\.ls$/i.test(filename)) { return "ls"; }
    if (/\._ls$/i.test(filename)) { return "ls"; }
    if (/^Slakefile$/.test(filename)) { return "ls"; }
    if (/\.ll$/i.test(filename)) { return "llvm"; }
    if (/\.clang-(format|tidy)$/i.test(filename)) { return "llvm"; }
    if (/^ubsan\.blacklist$/i.test(filename)) { return "llvm"; }
    if (/\.xm$/i.test(filename)) { return "mobile"; }
    if (/\.xi$/i.test(filename)) { return "mobile"; }
    if (/\.(logtalk|lgt)$/i.test(filename)) { return "logtalk"; }
    if (/\.lol$/i.test(filename)) { return "lolcode"; }
    if (/\.(lookml|lkml)$/i.test(filename)) { return "lookml"; }
    if (/\.lsl$/i.test(filename)) { return "lsl"; }
    if (/\.lslp$/i.test(filename)) { return "lsl"; }
    if (/\.lua$/i.test(filename)) { return "lua"; }
    if (/\.pd_lua$/i.test(filename)) { return "lua"; }
    if (/\.rbxs$/i.test(filename)) { return "lua"; }
    if (/\.wlua$/i.test(filename)) { return "lua"; }
    if (/^Lakefile$/i.test(filename)) { return "lua"; }
    if (/\.luacheckrc$/i.test(filename)) { return "lua"; }
    if (/\.rockspec$/i.test(filename)) { return "lua"; }
    if (/\.m2$/i.test(filename)) { return "macaulay2"; }
    if (/m2$/i.test(filename)) { return "macaulay2"; }
    if (/^Makefile/.test(filename)) { return "checklist"; }
    if (/^mk\.config$/.test(filename)) { return "checklist"; }
    if (/\.(mk|mak|make)$/i.test(filename)) { return "checklist"; }
    if (/^contrib\.make?([-.]|$)/i.test(filename)) { return "checklist"; }
    if (/^BSDmakefile$/i.test(filename)) { return "checklist"; }
    if (/^GNUmakefile$/i.test(filename)) { return "checklist"; }
    if (/^makefile\.sco$/i.test(filename)) { return "checklist"; }
    if (/^Kbuild$/.test(filename)) { return "checklist"; }
    if (/^makefile$/.test(filename)) { return "checklist"; }
    if (/^mkfile$/i.test(filename)) { return "checklist"; }
    if (/^\.?qmake$/i.test(filename)) { return "checklist"; }
    if (/\.am$/i.test(filename)) { return "checklist"; }
    if (/^DEPS$/.test(filename)) { return "checklist"; }
    if (/\.mms$/i.test(filename)) { return "checklist"; }
    if (/\.mmk$/i.test(filename)) { return "checklist"; }
    if (/\.pri$/i.test(filename)) { return "checklist"; }
    if (/^justfile$/i.test(filename)) { return "checklist"; }
    if (/\.eml$/i.test(filename)) { return "icon-mail"; }
    if (/\.mbo?x$/i.test(filename)) { return "icon-mail"; }
    if (/\.mak?o$/i.test(filename)) { return "mako"; }
    if (/\.(1([bcmstx]|has|in)?|[24568]|3(avl|bsm|cfgadm|in|[cmx]|perl|pm?|qt)?|7(d|fs|i|ipp|m|p)?|9[efps]?|eqn|groff|man|mandoc|mdoc|me|mom|nr?|nroff|roff?|tmac|tmac-u|tr|troff)$/i.test(filename)) { return "manpage"; }
    if (/^(man|mdoc)\.template$/i.test(filename)) { return "manpage"; }
    if (/\.(chem|dformat|pic)$|^grap(\.tex)?\.defines$/i.test(filename)) { return "manpage"; }
    if (/\.(rnh|rno|run|runoff)$/i.test(filename)) { return "manpage"; }
    if (/(^|\.)((troff|eqn)rc(-end)?)$/i.test(filename)) { return "manpage"; }
    if (/^tmac\.|^(mmn|mmt|toc\.entries)$/i.test(filename)) { return "manpage"; }
    if (/(^|\/)samples\/(eqn|mm|[nt]?roff|pic|tbl)\.[a-z]+$/i.test(filename)) { return "manpage"; }
    if (/(\\|\/)(?:man(\w+)\1[^\\\/]+\.\2|(?:tmac|eqnchar)\.d\1(?:ms\.)?[^\\\/.]+(?:\.in)?|picasso\1(?:defs\.\w+|disclaimer))$/.test(filename)) { return "manpage"; }
    if (/\.css\.map$/i.test(filename)) { return "sourcemap"; }
    if (/\.js\.map$/i.test(filename)) { return "sourcemap"; }
    if (/\.cjs\.map$/i.test(filename)) { return "sourcemap"; }
    if (/\.mjs\.map$/i.test(filename)) { return "sourcemap"; }
    if (/\.cidmap$/i.test(filename)) { return "sourcemap"; }
    if (/\.map$/i.test(filename)) { return "sourcemap"; }
    if (/\.mapping$/i.test(filename)) { return "sourcemap"; }
    if (/\.enigma$/i.test(filename)) { return "sourcemap"; }
    if (/\.match$/i.test(filename)) { return "sourcemap"; }
    if (/\.tiny$/i.test(filename)) { return "sourcemap"; }
    if (/\.tinyv2$/i.test(filename)) { return "sourcemap"; }
    if (/\.unpick$/i.test(filename)) { return "sourcemap"; }
    if (/\.mss$/i.test(filename)) { return "mapbox"; }
    if (/^Carto(CSS)?$/i.test(filename)) { return "mapbox"; }
    if (/\.(md(te?xt)?|mdown|markdown|mkd|mkdown|mdwn|mkdn|ron|pmd|jmd)$/i.test(filename)) { return "markdown"; }
    if (/^(CommonMark|GFM|Pandoc)$|\bMarkdown\b/i.test(filename)) { return "markdown"; }
    if (/^\.markdownlint/i.test(filename)) { return "markdownlint"; }
    if (/^\.?mdlrc(\.style)?\.rb$/i.test(filename)) { return "markdownlint"; }
    if (/^\.?mdlrc$/i.test(filename)) { return "markdownlint"; }
    if (/\.marko$/i.test(filename)) { return "marko"; }
    if (/\.marko\.[cm]?js$/i.test(filename)) { return "marko"; }
    if (/^materialize(\.min)?\.([cm]?js|css)$/i.test(filename)) { return "materialize"; }
    if (/\.mathematica$/i.test(filename)) { return "mathematica"; }
    if (/\.ma$/i.test(filename)) { return "mathematica"; }
    if (/\.mt$/i.test(filename)) { return "mathematica"; }
    if (/\.nb$/i.test(filename)) { return "mathematica"; }
    if (/\.nbp$/i.test(filename)) { return "mathematica"; }
    if (/^MathJax[^.]*\.[cm]?js$/i.test(filename)) { return "mathjax"; }
    if (/\.matlab$/i.test(filename)) { return "matlab"; }
    if (/\.mlappinstall$/i.test(filename)) { return "matlab"; }
    if (/\.mlpkginstall$/i.test(filename)) { return "matlab"; }
    if (/\.mltbx$/i.test(filename)) { return "matlab"; }
    if (/\.mdlp$/i.test(filename)) { return "matlab"; }
    if (/\.mn$/i.test(filename)) { return "matlab"; }
    if (/\.sldd$/i.test(filename)) { return "matlab"; }
    if (/\.slx$/i.test(filename)) { return "matlab"; }
    if (/\.slxp$/i.test(filename)) { return "matlab"; }
    if (/\.maxpat$/i.test(filename)) { return "max"; }
    if (/\.maxhelp$/i.test(filename)) { return "max"; }
    if (/\.maxproj$/i.test(filename)) { return "max"; }
    if (/\.mxt$/i.test(filename)) { return "max"; }
    if (/\.pat$/i.test(filename)) { return "max"; }
    if (/\.ms$/i.test(filename)) { return "maxscript"; }
    if (/\.mcr$/i.test(filename)) { return "maxscript"; }
    if (/\.mce$/i.test(filename)) { return "maxscript"; }
    if (/\.max$/i.test(filename)) { return "maxscript"; }
    if (/\.3ds$/i.test(filename)) { return "maxscript"; }
    if (/\.mb$/i.test(filename)) { return "maya"; }
    if (/\.mel$/i.test(filename)) { return "maya"; }
    if (/\.mcf[ip]$/i.test(filename)) { return "maya"; }
    if (/\.mdx$/i.test(filename)) { return "mdx"; }
    if (/\.mediawiki$/i.test(filename)) { return "mediawiki"; }
    if (/\.wiki$/i.test(filename)) { return "mediawiki"; }
    if (/^\.mention-bot$/i.test(filename)) { return "bullhorn"; }
    if (/\.hgignore$/i.test(filename)) { return "hg"; }
    if (/\.?hgrc$/i.test(filename)) { return "hg"; }
    if (/\.hgsub$/i.test(filename)) { return "hg"; }
    if (/\.hgsubstate$/i.test(filename)) { return "hg"; }
    if (/\.moo$/i.test(filename)) { return "mercury"; }
    if (/\.(mmd|mermaid)$/i.test(filename)) { return "mermaid"; }
    if (/^(meson\.build|meson_options\.txt)$/i.test(filename)) { return "meson"; }
    if (/\.metal$/i.test(filename)) { return "metal"; }
    if (/\.mp$/i.test(filename)) { return "metapost"; }
    if (/\.mf$/i.test(filename)) { return "metapost"; }
    if (/\.accda$/i.test(filename)) { return "access"; }
    if (/\.accdb$/i.test(filename)) { return "access"; }
    if (/\.accde$/i.test(filename)) { return "access"; }
    if (/\.accdr$/i.test(filename)) { return "access"; }
    if (/\.accdt$/i.test(filename)) { return "access"; }
    if (/\.adn$/i.test(filename)) { return "access"; }
    if (/\.laccdb$/i.test(filename)) { return "access"; }
    if (/\.mdw$/i.test(filename)) { return "access"; }
    if (/\.xls$/i.test(filename)) { return "excel"; }
    if (/\.xlsx$/i.test(filename)) { return "excel"; }
    if (/\.xlsm$/i.test(filename)) { return "excel"; }
    if (/\.xlsb$/i.test(filename)) { return "excel"; }
    if (/\.xlt$/i.test(filename)) { return "excel"; }
    if (/\.xla$/i.test(filename)) { return "excel"; }
    if (/\.xlam$/i.test(filename)) { return "excel"; }
    if (/\.xltm$/i.test(filename)) { return "excel"; }
    if (/\.xltx$/i.test(filename)) { return "excel"; }
    if (/\.(infopathxml|xsn|xsf|xtp2)$/i.test(filename)) { return "infopath"; }
    if (/\.o?crec$/i.test(filename)) { return "lync"; }
    if (/\.one$/i.test(filename)) { return "onenote"; }
    if (/\.pst$/i.test(filename)) { return "outlook"; }
    if (/\.bcmx$/i.test(filename)) { return "outlook"; }
    if (/\.oab$/i.test(filename)) { return "outlook"; }
    if (/\.otm$/i.test(filename)) { return "outlook"; }
    if (/\.oft$/i.test(filename)) { return "outlook"; }
    if (/\.nk2$/i.test(filename)) { return "outlook"; }
    if (/\.olk14\w*$/i.test(filename)) { return "outlook"; }
    if (/\.pps$/i.test(filename)) { return "powerpoint"; }
    if (/\.ppsx$/i.test(filename)) { return "powerpoint"; }
    if (/\.ppt$/i.test(filename)) { return "powerpoint"; }
    if (/\.pptx$/i.test(filename)) { return "powerpoint"; }
    if (/\.potm$/i.test(filename)) { return "powerpoint"; }
    if (/\.mpp$/i.test(filename)) { return "msproject"; }
    if (/\.mpt$/i.test(filename)) { return "msproject"; }
    if (/\.puz$/i.test(filename)) { return "publisher"; }
    if (/\.doc$/i.test(filename)) { return "word"; }
    if (/\.docx$/i.test(filename)) { return "word"; }
    if (/\.docm$/i.test(filename)) { return "word"; }
    if (/\.docxml$/i.test(filename)) { return "word"; }
    if (/\.dotm$/i.test(filename)) { return "word"; }
    if (/\.dotx$/i.test(filename)) { return "word"; }
    if (/\.wri$/i.test(filename)) { return "word"; }
    if (/\.wll$/i.test(filename)) { return "word"; }
    if (/\.vsdx$/i.test(filename)) { return "visio"; }
    if (/\.vdw$/i.test(filename)) { return "visio"; }
    if (/\.vdx$/i.test(filename)) { return "visio"; }
    if (/\.vsd$/i.test(filename)) { return "visio"; }
    if (/\.vsdm$/i.test(filename)) { return "visio"; }
    if (/\.vsw$/i.test(filename)) { return "visio"; }
    if (/\.vsx$/i.test(filename)) { return "visio"; }
    if (/\.vtx$/i.test(filename)) { return "visio"; }
    if (/\.vrd$/i.test(filename)) { return "visio"; }
    if (/\.vsl$/i.test(filename)) { return "visio"; }
    if (/\.vs[st][mx]?$/i.test(filename)) { return "visio"; }
    if (/^mcmod\.info$/i.test(filename)) { return "minecraft"; }
    if (/\.mcfunction$/i.test(filename)) { return "minecraft"; }
    if (/\.mclevel$/i.test(filename)) { return "minecraft"; }
    if (/\.mcpack$/i.test(filename)) { return "minecraft"; }
    if (/\.mcworld$/i.test(filename)) { return "minecraft"; }
    if (/^pack\.mcmeta$/i.test(filename)) { return "minecraft"; }
    if (/\.png\.mcmeta$/.test(filename)) { return "minecraft"; }
    if (/\.mzn$/i.test(filename)) { return "minizinc"; }
    if (/\.dzn$/i.test(filename)) { return "minizinc"; }
    if (/\.mint$/i.test(filename)) { return "mint"; }
    if (/\.dr?uby$/g.test(filename)) { return "mirah"; }
    if (/\.mir(ah)?$/g.test(filename)) { return "mirah"; }
    if (/\.m$/i.test(filename)) { return "miranda"; }
    if (/\.mrc$/i.test(filename)) { return "mirc"; }
    if (/\.mjml$/i.test(filename)) { return "mjml"; }
    if (/\.mjmlslim$/i.test(filename)) { return "mjml"; }
    if (/^\.?mkdocs\.ya?ml$/i.test(filename)) { return "book-alt"; }
    if (/\.mocharc\.(jsonc?|[cm]?js|ya?ml)$/i.test(filename)) { return "mocha"; }
    if (/^mocha(\.min)?\.([jt]sx?|es6?|coffee)$/i.test(filename)) { return "mocha"; }
    if (/^mocha(\.min)?\.(s?css|less|styl)$/i.test(filename)) { return "mocha"; }
    if (/mocha\.opts$/i.test(filename)) { return "mocha"; }
    if (/\.obj$/i.test(filename)) { return "model"; }
    if (/\.mtl$/i.test(filename)) { return "model"; }
    if (/\.shader$/i.test(filename)) { return "model"; }
    if (/\.geo(m|metry)?$/i.test(filename)) { return "model"; }
    if (/\.c4d$/i.test(filename)) { return "model"; }
    if (/\.comp$/i.test(filename)) { return "model"; }
    if (/\.tesc$/i.test(filename)) { return "model"; }
    if (/\.tese$/i.test(filename)) { return "model"; }
    if (/\.cginc$/i.test(filename)) { return "model"; }
    if (/\.dxf$/i.test(filename)) { return "model"; }
    if (/\.dwg$/i.test(filename)) { return "model"; }
    if (/\.mdl$/i.test(filename)) { return "model"; }
    if (/\.ply$/i.test(filename)) { return "model"; }
    if (/\.fnc$/i.test(filename)) { return "model"; }
    if (/\.stl$/i.test(filename)) { return "model"; }
    if (/\.u3d$/i.test(filename)) { return "model"; }
    if (/\.(rviz|vcg)$/i.test(filename)) { return "model"; }
    if (/\.(ste?p|p21)$/i.test(filename)) { return "model"; }
    if (/\.x$/i.test(filename)) { return "model"; }
    if (/\.mo$/i.test(filename)) { return "modelica"; }
    if (/^\.?modernizr(rc)?\.[cm]?js$|^modernizr([-\.]custom|-\d\.\d+)(\.\d+)?\.[cm]?js$/i.test(filename)) { return "modernizr"; }
    if (/^web-(dev-server|test-runner)\.config\.([cm]?js)$/i.test(filename)) { return "modernweb"; }
    if (/\.lxo$/i.test(filename)) { return "modo"; }
    if (/\.mod$/i.test(filename)) { return "modula2"; }
    if (/\.def$/i.test(filename)) { return "modula2"; }
    if (/\.i3$/i.test(filename)) { return "modula3"; }
    if (/\.ig$/i.test(filename)) { return "modula3"; }
    if (/\.m3$/i.test(filename)) { return "modula3"; }
    if (/\.mg$/i.test(filename)) { return "modula3"; }
    if (/^m3(makefile|overrides)$/i.test(filename)) { return "modula3"; }
    if (/\.moho$/i.test(filename)) { return "moho"; }
    if (/\.mohoaction$/i.test(filename)) { return "moho"; }
    if (/\.mohobrush$/i.test(filename)) { return "moho"; }
    if (/\.mohoexport$/i.test(filename)) { return "moho"; }
    if (/\.mohoproj$/i.test(filename)) { return "moho"; }
    if (/\.mohostyle$/i.test(filename)) { return "moho"; }
    if (/^moleculer\.config\.([cm]?js|json|ts)$/i.test(filename)) { return "moleculer"; }
    if (/^moment(-with-locales)?(\.min)?\.[cm]?js$/i.test(filename)) { return "moment"; }
    if (/^moment-timezone(-with-data)?(-\d{4}-\d{4})?(\.min)?\.[cm]?js$/i.test(filename)) { return "moment-tz"; }
    if (/\.monkey$/i.test(filename)) { return "monkey"; }
    if (/\.mtn-ignore$/i.test(filename)) { return "monotone"; }
    if (/\.moon$/i.test(filename)) { return "moon"; }
    if (/^mootools[^.]*\d+\.\d+(\.\d+)?[^.]*\.[cm]?js$/i.test(filename)) { return "mootools"; }
    if (/\.mrb$/i.test(filename)) { return "mruby"; }
    if (/\.dsql$/i.test(filename)) { return "msql"; }
    if (/\.mu$/i.test(filename)) { return "mupad"; }
    if (/\.chord$/i.test(filename)) { return "music"; }
    if (/\.midi?$/i.test(filename)) { return "music"; }
    if (/\.pd$/i.test(filename)) { return "music"; }
    if (/\.(hb[st]|handlebars|(mu)?stache)$/i.test(filename)) { return "mustache"; }
    if (/^(hbs|htmlbars|handlebars)$/i.test(filename)) { return "mustache"; }
    if (/\.nanorc$/i.test(filename)) { return "nano"; }
    if (/^\.?nanoc\.ya?ml$/i.test(filename)) { return "nanoc"; }
    if (/\.build$/i.test(filename)) { return "nant"; }
    if (/\.nasm$/i.test(filename)) { return "nasm"; }
    if (/\.ncl$/i.test(filename)) { return "earth"; }
    if (/\.neon$/i.test(filename)) { return "neon"; }
    if (/\.nd?proj$/i.test(filename)) { return "ndepend"; }
    if (/\.neko$/i.test(filename)) { return "neko"; }
    if (/^run\.n$/.test(filename)) { return "neko"; }
    if (/\.cyp(her)?$/i.test(filename)) { return "neo4j"; }
    if (/\.nasl$/i.test(filename)) { return "nessus"; }
    if (/\.axs$/i.test(filename)) { return "amx"; }
    if (/\.axi$/i.test(filename)) { return "amx"; }
    if (/\.nlogo$/i.test(filename)) { return "netlogo"; }
    if (/^netlify\.toml$/i.test(filename)) { return "netlify"; }
    if (/^newrelic\.yml/i.test(filename)) { return "newrelic"; }
    if (/\.nf$/i.test(filename)) { return "nextflow"; }
    if (/^nextflow\.config$/i.test(filename)) { return "nextflow"; }
    if (/^next\.config\.[cm]?js$/i.test(filename)) { return "nextjs"; }
    if (/^nestconfig\.json$/i.test(filename)) { return "nestjs"; }
    if (/\.pbm$/i.test(filename)) { return "image"; }
    if (/\.pgm$/i.test(filename)) { return "image"; }
    if (/\.ppm$/i.test(filename)) { return "image"; }
    if (/\.pnm$/i.test(filename)) { return "image"; }
    if (/^nginx(\.[-\w]+)*\.conf$/i.test(filename)) { return "nginx"; }
    if (/\.nginx(conf)?$/i.test(filename)) { return "nginx"; }
    if (/\.nib$/i.test(filename)) { return "nib"; }
    if (/\.5c$/i.test(filename)) { return "nickle"; }
    if (/^nightwatch\.conf(ig)?\.[cm]?js$/i.test(filename)) { return "nightwatch"; }
    if (/\.nim(rod)?$/i.test(filename)) { return "nimrod"; }
    if (/Nimrod$/i.test(filename)) { return "nimrod"; }
    if (/\.nimble$/i.test(filename)) { return "nimble"; }
    if (/\.ninja$/i.test(filename)) { return "shuriken"; }
    if (/\.ninja\.d$/i.test(filename)) { return "shuriken"; }
    if (/\.n64$/i.test(filename)) { return "n64"; }
    if (/\.z64$/i.test(filename)) { return "n64"; }
    if (/\.nit$/i.test(filename)) { return "nit"; }
    if (/\.nix$/i.test(filename)) { return "nix"; }
    if (/nixos$/i.test(filename)) { return "nix"; }
    if (/\.nse$/i.test(filename)) { return "nmap"; }
    if (/\.njs$/i.test(filename)) { return "node"; }
    if (/\.nvmrc$/i.test(filename)) { return "node"; }
    if (/\.node$/i.test(filename)) { return "node"; }
    if (/\.node-version$/i.test(filename)) { return "node"; }
    if (/^BUNDLED_NODE_VERSION$/.test(filename)) { return "node"; }
    if (/\.node_repl_history$/i.test(filename)) { return "node"; }
    if (/^nodemon\.json$|\.nodemonignore$/i.test(filename)) { return "nodemon"; }
    if (/^\.?nokogirirc($|\.)/i.test(filename)) { return "nokogiri"; }
    if (/\.nomad$/i.test(filename)) { return "nomad"; }
    if (/\.noon$/i.test(filename)) { return "noon"; }
    if (/^normalize(\.min)?\.(css|less|scss|styl)$/i.test(filename)) { return "normalize"; }
    if (/^(package\.json|\.npmignore|\.?npmrc|npm-debug\.log|npm-shrinkwrap\.json|package-lock\.json)$/i.test(filename)) { return "npm"; }
    if (/\.nsi$/i.test(filename)) { return "nsis"; }
    if (/\.nsh$/i.test(filename)) { return "nsis"; }
    if (/^\.nsrirc(\.(json|(config\.)?[cm]?js|ya?ml))?$/i.test(filename)) { return "nsri"; }
    if (/^\.nsriignore(\.(json|(config\.)?[cm]?js|ya?ml))?$/i.test(filename)) { return "nsri"; }
    if (/\.integrity\.json$/i.test(filename)) { return "nsri-alt"; }
    if (/\.nu$/i.test(filename)) { return "recycle"; }
    if (/^Nukefile$/.test(filename)) { return "recycle"; }
    if (/\.nuspec$/i.test(filename)) { return "nuget"; }
    if (/\.nupkg$/i.test(filename)) { return "nuget"; }
    if (/\.pkgproj$/i.test(filename)) { return "nuget"; }
    if (/\.snupkg$/i.test(filename)) { return "nuget"; }
    if (/\.psmdcp$/i.test(filename)) { return "nuget"; }
    if (/\.npy$/i.test(filename)) { return "numpy"; }
    if (/\.npz$/i.test(filename)) { return "numpy"; }
    if (/\.numpy$/i.test(filename)) { return "numpy"; }
    if (/\.numpyw$/i.test(filename)) { return "numpy"; }
    if (/\.numsc$/i.test(filename)) { return "numpy"; }
    if (/\.(nunjucks|njk)$/i.test(filename)) { return "nunjucks"; }
    if (/^nuxt\.config\.[jt]s$/i.test(filename)) { return "nuxt"; }
    if (/\.nss$/i.test(filename)) { return "nwscript"; }
    if (/\.ncs$/i.test(filename)) { return "nwscript"; }
    if (/\.ndb$/i.test(filename)) { return "nwscript"; }
    if (/^nx\.json$/i.test(filename)) { return "nx"; }
    if (/\.nxc$/i.test(filename)) { return "nxc"; }
    if (/\.ob2$/i.test(filename)) { return "oberon"; }
    if (/\.mm?$/i.test(filename)) { return "objc"; }
    if (/\.pch$/i.test(filename)) { return "objc"; }
    if (/\.x$/i.test(filename)) { return "objc"; }
    if (/\.j$/i.test(filename)) { return "objj"; }
    if (/\.sj$/i.test(filename)) { return "objj"; }
    if (/\.ml$/i.test(filename)) { return "ocaml"; }
    if (/\.mli$/i.test(filename)) { return "ocaml"; }
    if (/\.eliom$/i.test(filename)) { return "ocaml"; }
    if (/\.eliomi$/i.test(filename)) { return "ocaml"; }
    if (/\.ml4$/i.test(filename)) { return "ocaml"; }
    if (/\.mll$/i.test(filename)) { return "ocaml"; }
    if (/\.mly$/i.test(filename)) { return "ocaml"; }
    if (/\.octave$/i.test(filename)) { return "octave"; }
    if (/\.octave_hist$/i.test(filename)) { return "octave"; }
    if (/\.octaverc$/i.test(filename)) { return "octave"; }
    if (/\.odin$/i.test(filename)) { return "odin"; }
    if (/\.graffle$/i.test(filename)) { return "omnigraffle"; }
    if (/\.gdiagramstyle$/i.test(filename)) { return "omnigraffle"; }
    if (/\.gstencil$/i.test(filename)) { return "omnigraffle"; }
    if (/\.gtemplate$/i.test(filename)) { return "omnigraffle"; }
    if (/\.(o3|ogone)$/i.test(filename)) { return "ogone"; }
    if (/\.ooc$/i.test(filename)) { return "ooc"; }
    if (/\.opa$/i.test(filename)) { return "opa"; }
    if (/^\+(CONTENTS|DESC|DISPLAY)$/.test(filename)) { return "openbsd"; }
    if (/\.opencl$/i.test(filename)) { return "opencl"; }
    if (/\.(p|abl)$/i.test(filename)) { return "progress"; }
    if (/^(progress|openedge|abl)$/i.test(filename)) { return "progress"; }
    if (/\.exr$/i.test(filename)) { return "openexr"; }
    if (/\.(glslv?|gsh|gshader)$/i.test(filename)) { return "opengl"; }
    if (/^(GLSL|GLslang)$/i.test(filename)) { return "opengl"; }
    if (/\.(vert|vrx|vertex|vsh(ader)?)$/i.test(filename)) { return "vertex"; }
    if (/\.(fra?g|fp|fsh|fshader)$/i.test(filename)) { return "vertex"; }
    if (/\.odt$/i.test(filename)) { return "openoffice"; }
    if (/\.ott$/i.test(filename)) { return "openoffice"; }
    if (/\.fodt$/i.test(filename)) { return "openoffice"; }
    if (/\.ods$/i.test(filename)) { return "openoffice"; }
    if (/\.ots$/i.test(filename)) { return "openoffice"; }
    if (/\.fods$/i.test(filename)) { return "openoffice"; }
    if (/\.odp$/i.test(filename)) { return "openoffice"; }
    if (/\.otp$/i.test(filename)) { return "openoffice"; }
    if (/\.fodp$/i.test(filename)) { return "openoffice"; }
    if (/\.odg$/i.test(filename)) { return "openoffice"; }
    if (/\.otg$/i.test(filename)) { return "openoffice"; }
    if (/\.fodg$/i.test(filename)) { return "openoffice"; }
    if (/\.odf$/i.test(filename)) { return "openoffice"; }
    if (/\.odb$/i.test(filename)) { return "openoffice"; }
    if (/\.rego$/i.test(filename)) { return "openpolicy"; }
    if (/\.scad$/i.test(filename)) { return "scad"; }
    if (/\.jscad$/i.test(filename)) { return "scad"; }
    if (/\.hlb$/i.test(filename)) { return "openvms"; }
    if (/\.cld$/i.test(filename)) { return "openvms"; }
    if (/\.com$/i.test(filename)) { return "openvms"; }
    if (/\.ovpn$/i.test(filename)) { return "openvpn"; }
    if (/^vdev\d+$/.test(filename)) { return "openzfs"; }
    if (/\.org$/i.test(filename)) { return "org"; }
    if (/\.dmg$/i.test(filename)) { return "osx"; }
    if (/\.ox$/i.test(filename)) { return "ox"; }
    if (/\.oxh$/i.test(filename)) { return "ox"; }
    if (/\.oxo$/i.test(filename)) { return "ox"; }
    if (/\.oxygene$/i.test(filename)) { return "oxygene"; }
    if (/\.oz$/i.test(filename)) { return "oz"; }
    if (/\.p4$/i.test(filename)) { return "p4"; }
    if (/Cargo\.toml$/i.test(filename)) { return "package"; }
    if (/Cargo\.lock$/i.test(filename)) { return "package"; }
    if (/\.packages$/i.test(filename)) { return "package"; }
    if (/^pubspec\.lock$/i.test(filename)) { return "package"; }
    if (/^pubspec\.ya?ml$/i.test(filename)) { return "package"; }
    if (/^paket\.(dependencies|lock|references|local|template)$/i.test(filename)) { return "package"; }
    if (/\.pan$/i.test(filename)) { return "pan"; }
    if (/\.psc$/i.test(filename)) { return "papyrus"; }
    if (/\.parrot$/i.test(filename)) { return "parrot"; }
    if (/\.pasm$/i.test(filename)) { return "parrot"; }
    if (/\.pir$/i.test(filename)) { return "parrot"; }
    if (/\.pas(cal)?$/i.test(filename)) { return "pascal"; }
    if (/\.lpr$/i.test(filename)) { return "pascal"; }
    if (/\.lfm$/i.test(filename)) { return "pascal"; }
    if (/\.lps$/i.test(filename)) { return "pascal"; }
    if (/\.lpi$/i.test(filename)) { return "pascal"; }
    if (/\.lpk$/i.test(filename)) { return "pascal"; }
    if (/\.lrs$/i.test(filename)) { return "pascal"; }
    if (/\.lrt$/i.test(filename)) { return "pascal"; }
    if (/\.or$/i.test(filename)) { return "pascal"; }
    if (/\.ppu$/i.test(filename)) { return "pascal"; }
    if (/\.patch$/i.test(filename)) { return "patch"; }
    if (/^PATR(ONS|EON)\.md$/.test(filename)) { return "patreon"; }
    if (/\.pwn$/i.test(filename)) { return "pawn"; }
    if (/\.pcd$/i.test(filename)) { return "pcd"; }
    if (/\.pdf$/i.test(filename)) { return "icon-file-pdf"; }
    if (/\.(pegjs|peggy)$/i.test(filename)) { return "peg"; }
    if (/\.pegcoffee$/i.test(filename)) { return "peg"; }
    if (/\.p(er)?l$/i.test(filename)) { return "perl"; }
    if (/\.al$/i.test(filename)) { return "perl"; }
    if (/\.ph$/i.test(filename)) { return "perl"; }
    if (/\.plx$/i.test(filename)) { return "perl"; }
    if (/\.pm$/i.test(filename)) { return "perl"; }
    if (/\.(psgi|xs)$/i.test(filename)) { return "perl"; }
    if (/\.volt$/i.test(filename)) { return "phalcon"; }
    if (/\.php([st\d]|_cs)?$/i.test(filename)) { return "php"; }
    if (/^Phakefile/.test(filename)) { return "php"; }
    if (/\.engine$/i.test(filename)) { return "php"; }
    if (/\.phar$/i.test(filename)) { return "php"; }
    if (/^phpunit\.xml$/i.test(filename)) { return "phpunit"; }
    if (/^phoenix\.ex$/i.test(filename)) { return "phoenix"; }
    if (/^phoenix\.[cm]?js$/i.test(filename)) { return "phoenix"; }
    if (/^\.photorec\.cfg$/i.test(filename)) { return "photorec"; }
    if (/^\.phraseapp\.ya?ml$/i.test(filename)) { return "phraseapp"; }
    if (/\.(pkl|pickle)$/i.test(filename)) { return "pickle"; }
    if (/\.p8$/i.test(filename)) { return "pico8"; }
    if (/^pico\W8$/i.test(filename)) { return "pico8"; }
    if (/\.l$/i.test(filename)) { return "picolisp"; }
    if (/^Pipfile(\.lock)?$/i.test(filename)) { return "pipenv"; }
    if (/\.pike$/i.test(filename)) { return "pike"; }
    if (/\.pmod$/i.test(filename)) { return "pike"; }
    if (/\.pine$/i.test(filename)) { return "pinescript"; }
    if (/^platformio\.ini$/i.test(filename)) { return "platformio"; }
    if (/\.pls$/i.test(filename)) { return "sql"; }
    if (/\.pck$/i.test(filename)) { return "sql"; }
    if (/\.pks$/i.test(filename)) { return "sql"; }
    if (/\.plb$/i.test(filename)) { return "sql"; }
    if (/\.plsql$/i.test(filename)) { return "sql"; }
    if (/\.pkb$/i.test(filename)) { return "sql"; }
    if (/^ecosystem\.conf(ig)?\./i.test(filename)) { return "pm2"; }
    if (/^pnpm-(lock|workspace)\.ya?ml$/i.test(filename)) { return "pnpm"; }
    if (/^pnpmfile\.js$/i.test(filename)) { return "pnpm"; }
    if (/\.pod$/i.test(filename)) { return "pod"; }
    if (/\.pogo$/i.test(filename)) { return "pogo"; }
    if (/^polymer\.json$/i.test(filename)) { return "polymer"; }
    if (/\.pony$/i.test(filename)) { return "pony"; }
    if (/\.p(ost)?css$/i.test(filename)) { return "postcss"; }
    if (/\.sss$/i.test(filename)) { return "postcss"; }
    if (/\.postcssrc(\.([cm]?js|json|ya?ml))?$/i.test(filename)) { return "postcss"; }
    if (/\bpostcss\.config\.[cm]?js$/i.test(filename)) { return "postcss"; }
    if (/\.pgsql$/i.test(filename)) { return "pgsql"; }
    if (/PL\/pgSQL$/i.test(filename)) { return "pgsql"; }
    if (/\.ps$/i.test(filename)) { return "postscript"; }
    if (/\.eps$/i.test(filename)) { return "postscript"; }
    if (/\.pfa$/i.test(filename)) { return "postscript"; }
    if (/\.bez$/i.test(filename)) { return "postscript"; }
    if (/^fontinfo$/i.test(filename)) { return "postscript"; }
    if (/\.a[fm]m$/i.test(filename)) { return "postscript"; }
    if (/\/Resource\/[A-Z]\w+\/[^\/]+$|(^|\/)(cidfmap|xlatmap|PPI_CUtils|Pscript5Idiom)$/i.test(filename)) { return "postscript"; }
    if (/\.eps[fi]$/i.test(filename)) { return "postscript"; }
    if (/^Fontmap(\.GS)?$/i.test(filename)) { return "postscript"; }
    if (/\.gsf$/i.test(filename)) { return "postscript"; }
    if (/\.pov$/i.test(filename)) { return "povray"; }
    if (/\.pbl$/i.test(filename)) { return "powerbuilder"; }
    if (/\.pbt$/i.test(filename)) { return "powerbuilder"; }
    if (/\.srw$/i.test(filename)) { return "powerbuilder"; }
    if (/\.sru$/i.test(filename)) { return "powerbuilder"; }
    if (/\.srp$/i.test(filename)) { return "powerbuilder"; }
    if (/\.sra$/i.test(filename)) { return "powerbuilder"; }
    if (/\.srj$/i.test(filename)) { return "powerbuilder"; }
    if (/\.ps1$/i.test(filename)) { return "powershell"; }
    if (/\.psd1$/i.test(filename)) { return "powershell"; }
    if (/\.psm1$/i.test(filename)) { return "powershell"; }
    if (/\.ps1xml$/i.test(filename)) { return "powershell"; }
    if (/^\.pre-commit\b.*\.ya?ml$/i.test(filename)) { return "precommit"; }
    if (/\.prettierrc(\.([cm]?js|json5?|ya?ml))?$|^prettier\.config\.[cm]?js$/i.test(filename)) { return "prettier"; }
    if (/\.prettierignore$/i.test(filename)) { return "prettier"; }
    if (/\.ppd$/i.test(filename)) { return "print"; }
    if (/\.upp$/i.test(filename)) { return "print"; }
    if (/\.joboptions$/i.test(filename)) { return "print"; }
    if (/\.prisma$/i.test(filename)) { return "prisma"; }
    if (/^project\.pros$/i.test(filename)) { return "pros"; }
    if (/\.pde$/i.test(filename)) { return "processing"; }
    if (/\.pro$/i.test(filename)) { return "prolog"; }
    if (/\.prolog$/i.test(filename)) { return "prolog"; }
    if (/\.yap$/i.test(filename)) { return "prolog"; }
    if (/\.spin$/i.test(filename)) { return "propeller"; }
    if (/\.proselintrc$/i.test(filename)) { return "proselint"; }
    if (/^protractor\.(conf|config)\./i.test(filename)) { return "protractor"; }
    if (/\.pug$/i.test(filename)) { return "pug"; }
    if (/^\.pug-lintrc/i.test(filename)) { return "pug"; }
    if (/^\.?pullapprove\.ya?ml$/i.test(filename)) { return "pullapprove"; }
    if (/\.pp$/i.test(filename)) { return "puppet"; }
    if (/\.epp$/i.test(filename)) { return "puppet"; }
    if (/Modulefile$/i.test(filename)) { return "puppet"; }
    if (/\.pure$/i.test(filename)) { return "pure"; }
    if (/\.pb$/i.test(filename)) { return "purebasic"; }
    if (/\.pbi$/i.test(filename)) { return "purebasic"; }
    if (/\.purs$/i.test(filename)) { return "purescript"; }
    if (/^((dev|docs?|tests?)[-_]requirements|requirements([-_](dev|docs?|tests?))?)\.(in|txt)$/i.test(filename)) { return "pypi"; }
    if (/\.arr$/i.test(filename)) { return "pyret"; }
    if (/^pytest\.ini$/.test(filename)) { return "pytest"; }
    if (/\.py$/i.test(filename)) { return "python"; }
    if (/\.ipy$/i.test(filename)) { return "python"; }
    if (/\.isolate$/i.test(filename)) { return "python"; }
    if (/\.pep$/i.test(filename)) { return "python"; }
    if (/\.gyp$/i.test(filename)) { return "python"; }
    if (/\.gypi$/i.test(filename)) { return "python"; }
    if (/\.pyde$/i.test(filename)) { return "python"; }
    if (/\.pyp$/i.test(filename)) { return "python"; }
    if (/\.pyt$/i.test(filename)) { return "python"; }
    if (/\.py3$/i.test(filename)) { return "python"; }
    if (/\.pyi$/i.test(filename)) { return "python"; }
    if (/\.pyw$/i.test(filename)) { return "python"; }
    if (/\.pyz$/i.test(filename)) { return "python"; }
    if (/\.tac$/i.test(filename)) { return "python"; }
    if (/\.wsgi$/i.test(filename)) { return "python"; }
    if (/\.xpy$/i.test(filename)) { return "python"; }
    if (/\.smk$/i.test(filename)) { return "python"; }
    if (/\.rpy$/i.test(filename)) { return "python"; }
    if (/^py\.typed$/i.test(filename)) { return "python"; }
    if (/\.?(pypirc|pythonrc|python-venv)$/i.test(filename)) { return "python"; }
    if (/^(SConstruct|SConscript)$/.test(filename)) { return "python"; }
    if (/^(Snakefile|WATCHLISTS)$/.test(filename)) { return "python"; }
    if (/^wscript$/.test(filename)) { return "python"; }
    if (/^\.pyup(\.ya?ml)?$/i.test(filename)) { return "pyup"; }
    if (/\.q$/i.test(filename)) { return "kx"; }
    if (/\.k$/i.test(filename)) { return "kx"; }
    if (/\.qs$/i.test(filename)) { return "qsharp"; }
    if (/qsharp$/i.test(filename)) { return "qsharp"; }
    if (/\.qasm$/i.test(filename)) { return "qiskit"; }
    if (/OpenQASM$/i.test(filename)) { return "qiskit"; }
    if (/\.qvw$/i.test(filename)) { return "qlik"; }
    if (/\.qvd$/i.test(filename)) { return "qlik"; }
    if (/\.qml$/i.test(filename)) { return "qt"; }
    if (/\.qmlproject$/i.test(filename)) { return "qt"; }
    if (/\.qbs$/i.test(filename)) { return "qt"; }
    if (/^(toolchain_)?installscript\.qs$/i.test(filename)) { return "qt"; }
    if (/^quasar\.conf\.[cm]?js$/i.test(filename)) { return "quasar"; }
    if (/\.(r|Rprofile|Rhistory|rsx|rd)$/i.test(filename)) { return "r"; }
    if (/^(Rscript|splus|Rlang)$/i.test(filename)) { return "r"; }
    if (/\.rkt$/i.test(filename)) { return "racket"; }
    if (/\.rktd$/i.test(filename)) { return "racket"; }
    if (/\.rktl$/i.test(filename)) { return "racket"; }
    if (/\.scrbl$/i.test(filename)) { return "racket"; }
    if (/\.pl6$/i.test(filename)) { return "perl6"; }
    if (/\.[tp]6$|\.6pl$/i.test(filename)) { return "perl6"; }
    if (/\.(pm6|p6m)$/i.test(filename)) { return "perl6"; }
    if (/\.6pm$/i.test(filename)) { return "perl6"; }
    if (/\.nqp$/i.test(filename)) { return "perl6"; }
    if (/\.p6l$/i.test(filename)) { return "perl6"; }
    if (/\.pod6$/i.test(filename)) { return "perl6"; }
    if (/\.raku$/i.test(filename)) { return "perl6"; }
    if (/\.rakumod$/i.test(filename)) { return "perl6"; }
    if (/\.rakutest$/i.test(filename)) { return "perl6"; }
    if (/^Rexfile$/.test(filename)) { return "perl6"; }
    if (/\.raml$/i.test(filename)) { return "raml"; }
    if (/^raphael(\.min|\.no-deps)*\.[cm]?js$/i.test(filename)) { return "raphael"; }
    if (/\.rsc$/i.test(filename)) { return "rascal"; }
    if (/^razzle\.config\./i.test(filename)) { return "razzle"; }
    if (/^\.?readthedocs\.ya?ml$/i.test(filename)) { return "readthedocs"; }
    if (/^\.rehyperc(\.([cm]?js|json|ya?ml))?$/i.test(filename)) { return "remark"; }
    if (/^\.remarkrc(\.([cm]?js|json|ya?ml))?$/i.test(filename)) { return "remark"; }
    if (/^\.retextrc(\.([cm]?js|json|ya?ml))?$/i.test(filename)) { return "remark"; }
    if (/\.rehypeignore$/i.test(filename)) { return "remark"; }
    if (/\.remarkignore$/i.test(filename)) { return "remark"; }
    if (/\.retextignore$/i.test(filename)) { return "remark"; }
    if (/\.r(est)?ql$/i.test(filename)) { return "restql"; }
    if (/^restql\.ya?ml$/i.test(filename)) { return "restql"; }
    if (/\.Rdata$/i.test(filename)) { return "rdata"; }
    if (/\.rdb$/i.test(filename)) { return "rdata"; }
    if (/\.rds$/i.test(filename)) { return "rdata"; }
    if (/\.rdx$/i.test(filename)) { return "rdata"; }
    if (/\.rdoc$/i.test(filename)) { return "rdoc"; }
    if (/^react(-[^.]*)?\.[cm]?js$/i.test(filename)) { return "react"; }
    if (/\.react\.[cm]?js$/i.test(filename)) { return "react"; }
    if (/^README(\b|_)|^((un)?licen[sc]es?(\.mysql)?|(read|readme|click|delete|keep|test)\.me)(\.(md|txt))?$|\.(readme|1st|licen[sc]es?)$/i.test(filename)) { return "book"; }
    if (/^(notice|bugs|changes|change[-_]?log([-._]?\d+)?|contribute|contributing|contributors|copy(ing|right)(\.regex)?|faq|fixes|hacking|history|install|maintainers|manifest|more\.stuff|notes|problems|projects|revision|terms|thanks|warnings)(_\w+)?$/i.test(filename)) { return "book"; }
    if (/\b(changelog|copying(v?\d)?|install|notes?|notices?|read[-_]?me)\b|^licen[sc]es?[-._]/i.test(filename)) { return "book"; }
    if (/^(news|release[-_.]?notes)([-_.]?[-\d]+)?$/i.test(filename)) { return "book"; }
    if (/^zork\d\.(?!pre$|pur$)[a-z]+$/.test(filename)) { return "book"; }
    if (/^zork\d\.doc$/.test(filename)) { return "book"; }
    if (/^sudo[-_]lecture$/i.test(filename)) { return "book"; }
    if (/\.changes$/i.test(filename)) { return "book"; }
    if (/\.journal$/i.test(filename)) { return "book"; }
    if (/\.faq$/i.test(filename)) { return "book"; }
    if (/\.yo$/i.test(filename)) { return "book"; }
    if (/\.rbbas$/i.test(filename)) { return "xojo"; }
    if (/\.rbfrm$/i.test(filename)) { return "xojo"; }
    if (/\.rbmnu$/i.test(filename)) { return "xojo"; }
    if (/\.rbres$/i.test(filename)) { return "xojo"; }
    if (/\.rbtbar$/i.test(filename)) { return "xojo"; }
    if (/\.rbuistate$/i.test(filename)) { return "xojo"; }
    if (/\.re$/i.test(filename)) { return "reason"; }
    if (/\.rei$/i.test(filename)) { return "reason"; }
    if (/\.reason$/i.test(filename)) { return "reasonstudios"; }
    if (/\.rns$/i.test(filename)) { return "reasonstudios"; }
    if (/\.rsn$/i.test(filename)) { return "reasonstudios"; }
    if (/\.rx2$/i.test(filename)) { return "reasonstudios"; }
    if (/\.sxt$/i.test(filename)) { return "reasonstudios"; }
    if (/\.reb(ol)?$/i.test(filename)) { return "rebol"; }
    if (/\.r2$/i.test(filename)) { return "rebol"; }
    if (/\.r3$/i.test(filename)) { return "rebol"; }
    if (/\.red$/i.test(filename)) { return "red"; }
    if (/\.reds$/i.test(filename)) { return "red"; }
    if (/\.rpm(macros)?$/i.test(filename)) { return "red-hat"; }
    if (/\.spec$/i.test(filename)) { return "red-hat"; }
    if (/\.reek$/i.test(filename)) { return "reek"; }
    if (/\.regexp?$/i.test(filename)) { return "regex"; }
    if (/(?!^renovate$)(\.|^)renovate(rc)?(\.json)?$/i.test(filename)) { return "renovate"; }
    if (/^require([-.]min|dev)?\.[cm]?js$/i.test(filename)) { return "requirejs"; }
    if (/\.resi$/i.test(filename)) { return "rescript"; }
    if (/\.re?st(\.txt)?$/i.test(filename)) { return "rst"; }
    if (/^re?st$/i.test(filename)) { return "rst"; }
    if (/\.rexx?$/i.test(filename)) { return "rexx"; }
    if (/\.pprx$/i.test(filename)) { return "rexx"; }
    if (/\.3dm$/i.test(filename)) { return "rhino"; }
    if (/\.rvb$/i.test(filename)) { return "rhino"; }
    if (/^riemann\.config$/i.test(filename)) { return "clojure"; }
    if (/\.ring$/i.test(filename)) { return "ring"; }
    if (/\.tag$/i.test(filename)) { return "riot"; }
    if (/\.(rmd|rmarkdown)$/i.test(filename)) { return "rmarkdown"; }
    if (/\.robot$/i.test(filename)) { return "robot"; }
    if (/^robots\.txt$/i.test(filename)) { return "robots"; }
    if (/^rollup\.config\./i.test(filename)) { return "rollup"; }
    if (/\.rg$/i.test(filename)) { return "clojure"; }
    if (/\.rspec$/i.test(filename)) { return "rspec"; }
    if (/\.rss$/i.test(filename)) { return "rss"; }
    if (/\.rproj$/i.test(filename)) { return "rstudio"; }
    if (/^rsyncd\.conf$/i.test(filename)) { return "rsync"; }
    if (/\.(rb|ru|ruby|erb|god|mspec|pluginspec|podspec|rabl|rake|opal)$/i.test(filename)) { return "ruby"; }
    if (/^\.?(irbrc|gemrc|pryrc|ruby-(gemset|version))$/i.test(filename)) { return "ruby"; }
    if (/^(Appraisals|(Rake|App|[bB]uild|Cap|Danger|Deliver|Fast|Guard|Jar|Maven|Pod|Puppet|Snap)file(\.lock)?)$/.test(filename)) { return "ruby"; }
    if (/\.(jbuilder|rbuild|rb[wx]|builder)$/i.test(filename)) { return "ruby"; }
    if (/^rails$/.test(filename)) { return "ruby"; }
    if (/\.watchr$/i.test(filename)) { return "ruby"; }
    if (/^\.rubocop(_todo)?\.ya?ml$/i.test(filename)) { return "rubocop"; }
    if (/\.gemspec$/i.test(filename)) { return "rubygems"; }
    if (/\.rs$/i.test(filename)) { return "rust"; }
    if (/\.rlib$/i.test(filename)) { return "rust"; }
    if (/^rust-toolchain$/.test(filename)) { return "rust"; }
    if (/\.sac$/i.test(filename)) { return "sac"; }
    if (/\.san$/i.test(filename)) { return "san"; }
    if (/\.webarchive$/i.test(filename)) { return "safari"; }
    if (/\.sage$/i.test(filename)) { return "sage"; }
    if (/\.sagews$/i.test(filename)) { return "sage"; }
    if (/^\.sailsrc$/i.test(filename)) { return "sails"; }
    if (/\.sls$/i.test(filename)) { return "saltstack"; }
    if (/^Salt(State)?$/i.test(filename)) { return "saltstack"; }
    if (/\.sb$/i.test(filename)) { return "sandbox"; }
    if (/^(Sandbox Profile Language|SBPL)$/i.test(filename)) { return "sandbox"; }
    if (/\.sas$/i.test(filename)) { return "sas"; }
    if (/\.scss$/i.test(filename)) { return "sass"; }
    if (/\.sass$/i.test(filename)) { return "sass"; }
    if (/^\.sassrc(\.[cm]?js)?$/i.test(filename)) { return "sass"; }
    if (/\.sbt$/i.test(filename)) { return "sbt"; }
    if (/\.(sc|scala)$/i.test(filename)) { return "scala"; }
    if (/\.kojo$/i.test(filename)) { return "scala"; }
    if (/\.scm$/i.test(filename)) { return "scheme"; }
    if (/\.sld$/i.test(filename)) { return "scheme"; }
    if (/\.sps$/i.test(filename)) { return "scheme"; }
    if (/\.xtm$/i.test(filename)) { return "scheme"; }
    if (/\.scilla$/i.test(filename)) { return "scilla"; }
    if (/\.sci$/i.test(filename)) { return "scilab"; }
    if (/\.sce$/i.test(filename)) { return "scilab"; }
    if (/\.tst$/i.test(filename)) { return "scilab"; }
    if (/\.sb2$/i.test(filename)) { return "scratch"; }
    if (/\.sb3$/i.test(filename)) { return "scratch"; }
    if (/\.scrutinizer\.yml$/i.test(filename)) { return "scrutinizer"; }
    if (/\.secret$/i.test(filename)) { return "secret"; }
    if (/\.self$/i.test(filename)) { return "self"; }
    if (/^\.releaserc(\.(ya?ml|[cm]?js|json))?$/i.test(filename)) { return "semrelease"; }
    if (/^sencha(\.min)?\.[cm]?js$/i.test(filename)) { return "sencha"; }
    if (/\.sentryclirc$/i.test(filename)) { return "sentry"; }
    if (/\.csv$/i.test(filename)) { return "graph"; }
    if (/\.(tab|tsv)$/i.test(filename)) { return "graph"; }
    if (/\.dif$/i.test(filename)) { return "graph"; }
    if (/\.slk$/i.test(filename)) { return "graph"; }
    if (/\.prn$/i.test(filename)) { return "graph"; }
    if (/(^|\.)serverless\.ya?ml$/i.test(filename)) { return "serverless"; }
    if (/\.sfproj$/i.test(filename)) { return "sf"; }
    if (/\.sequelizerc(\.[cm]?js|\.json)?$/i.test(filename)) { return "sequelize"; }
    if (/\.(sgi|iris)$/i.test(filename)) { return "sgi"; }
    if (/^shadow-cljs\.edn$/i.test(filename)) { return "shadowcljs"; }
    if (/\.(sh|rc|bash|tool|install|command)$/i.test(filename)) { return "terminal"; }
    if (/^(\.?bash(rc|[-_]?(profile|login|logout|history|prompt))|_osc|config|install-sh)$/i.test(filename)) { return "terminal"; }
    if (/\.(ksh|mksh|pdksh)$/i.test(filename)) { return "terminal"; }
    if (/\.sh-session$/i.test(filename)) { return "terminal"; }
    if (/\.zsh(-theme|_history)?$|^\.?(antigen|zpreztorc|zlogin|zlogout|zprofile|zshenv|zshrc)$/i.test(filename)) { return "terminal"; }
    if (/\.fish$|^\.fishrc$/i.test(filename)) { return "terminal"; }
    if (/^\.?(login|profile)$/.test(filename)) { return "terminal"; }
    if (/^\.?_?dir_?colors$/i.test(filename)) { return "terminal"; }
    if (/\.inputrc$/i.test(filename)) { return "terminal"; }
    if (/\.tmux$/i.test(filename)) { return "terminal"; }
    if (/rc_Apple_Terminal$/i.test(filename)) { return "terminal"; }
    if (/^(configure|config\.(guess|rpath|status|sub)|depcomp|libtool|compile)$/.test(filename)) { return "terminal"; }
    if (/^\/(private\/)?etc\/([^\/]+\/)*(profile$|nanorc$|rc\.|csh\.)/i.test(filename)) { return "terminal"; }
    if (/^\.?cshrc$/i.test(filename)) { return "terminal"; }
    if (/\.profile$/i.test(filename)) { return "terminal"; }
    if (/\.tcsh$/i.test(filename)) { return "terminal"; }
    if (/\.csh$/i.test(filename)) { return "terminal"; }
    if (/^\.?shellcheckrc$/i.test(filename)) { return "shellcheck"; }
    if (/\.shen$/i.test(filename)) { return "shen"; }
    if (/^shipitfile(\b.+)?\.[cm]?js$/i.test(filename)) { return "shipit"; }
    if (/^shippable\.ya?ml$/i.test(filename)) { return "shippable"; }
    if (/\.liquid$/i.test(filename)) { return "shopify"; }
    if (/\.sieve$/i.test(filename)) { return "filter"; }
    if (/\.sigils$/i.test(filename)) { return "sigils"; }
    if (/\.ss$/i.test(filename)) { return "silverstripe"; }
    if (/\.sketch$/i.test(filename)) { return "sketch"; }
    if (/\.layout$/i.test(filename)) { return "sketchup-lo"; }
    if (/\.skp$/i.test(filename)) { return "sketchup-mk"; }
    if (/\.style$/i.test(filename)) { return "sketchup-sb"; }
    if (/\.eskip$/i.test(filename)) { return "anchor"; }
    if (/\.sl$/i.test(filename)) { return "slash"; }
    if (/\.tpl$/i.test(filename)) { return "smarty"; }
    if (/^snapcraft\.ya?ml$/i.test(filename)) { return "snapcraft"; }
    if (/^snap\.svg([-.]min)?\.[cm]?js$/i.test(filename)) { return "snapsvg"; }
    if (/\.snort$/i.test(filename)) { return "snort"; }
    if (/^snowpack\.config\.([cm]?js|ts|json)$/i.test(filename)) { return "snowpack"; }
    if (/\.snyk$/i.test(filename)) { return "snyk"; }
    if (/^\.solidarity(\.json)?$/i.test(filename)) { return "solidarity"; }
    if (/\.sol(idity)?$/i.test(filename)) { return "solidity"; }
    if (/\.aes$/i.test(filename)) { return "sophia"; }
    if (/\.rbi$/i.test(filename)) { return "sorbet"; }
    if (/\.(sma|sp)$/i.test(filename)) { return "clojure"; }
    if (/\.inc$/i.test(filename)) { return "clojure"; }
    if (/\.spe$/i.test(filename)) { return "spacengine"; }
    if (/(^|\.)spacemacs$/i.test(filename)) { return "spacemacs"; }
    if (/\.sparql$/i.test(filename)) { return "sparql"; }
    if (/\.rq$/i.test(filename)) { return "sparql"; }
    if (/\.mixins?\.json$/i.test(filename)) { return "mixin"; }
    if (/\.jsont$/i.test(filename)) { return "squarespace"; }
    if (/^(json[-_]?t|json[-_\s]?template)$/i.test(filename)) { return "squarespace"; }
    if (/\.sqf$/i.test(filename)) { return "sqf"; }
    if (/\.hqf$/i.test(filename)) { return "sqf"; }
    if (/\.(my)?sql$/i.test(filename)) { return "sql"; }
    if (/\.ddl$/i.test(filename)) { return "sql"; }
    if (/\.udf$/i.test(filename)) { return "sql"; }
    if (/\.hql$/i.test(filename)) { return "sql"; }
    if (/\.viw$/i.test(filename)) { return "sql"; }
    if (/\.prc$/i.test(filename)) { return "sql"; }
    if (/\.cql$/i.test(filename)) { return "sql"; }
    if (/\.db2$/i.test(filename)) { return "sql"; }
    if (/\.4gl$/i.test(filename)) { return "sql"; }
    if (/\.per$/i.test(filename)) { return "sql"; }
    if (/\.spsql$/i.test(filename)) { return "sql"; }
    if (/\.sqlite$/i.test(filename)) { return "sqlite"; }
    if (/\.sqlite3$/i.test(filename)) { return "sqlite"; }
    if (/\.db$/i.test(filename)) { return "sqlite"; }
    if (/\.db3$/i.test(filename)) { return "sqlite"; }
    if (/\.nut$/i.test(filename)) { return "squirrel"; }
    if (/\.gnut$/i.test(filename)) { return "squirrel"; }
    if (/\.pub$/i.test(filename)) { return "key"; }
    if (/\.pem$/i.test(filename)) { return "key"; }
    if (/\.key$/i.test(filename)) { return "key"; }
    if (/\.crt$/i.test(filename)) { return "key"; }
    if (/\.der$/i.test(filename)) { return "key"; }
    if (/^id_rsa/.test(filename)) { return "key"; }
    if (/\.glyphs\d*License$/i.test(filename)) { return "key"; }
    if (/^(master\.)?passwd$/i.test(filename)) { return "key"; }
    if (/^git-credential-osxkeychain$/i.test(filename)) { return "key"; }
    if (/\.ssh[\/\\][^\/\\\s]+$/.test(filename)) { return "key"; }
    if (/\.stan$/i.test(filename)) { return "stan"; }
    if (/^(\.bazelrc|bazel\.rc|bazel\.bazelrc)$/i.test(filename)) { return "bazel"; }
    if (/^(BUILD|WORKSPACE)(\.[Bb][Aa][Zz][Ee][Ll])?$/.test(filename)) { return "bazel"; }
    if (/\.(bazel|bzl|star)$/i.test(filename)) { return "bazel"; }
    if (/^\.gazelcfg\.json$/i.test(filename)) { return "bazel"; }
    if (/\.do$/i.test(filename)) { return "stata"; }
    if (/\.ado$/i.test(filename)) { return "stata"; }
    if (/\.doh$/i.test(filename)) { return "stata"; }
    if (/\.ihlp$/i.test(filename)) { return "stata"; }
    if (/\.mata$/i.test(filename)) { return "stata"; }
    if (/\.matah$/i.test(filename)) { return "stata"; }
    if (/\.sthlp$/i.test(filename)) { return "stata"; }
    if (/\.stencil$/i.test(filename)) { return "stencil"; }
    if (/^stdlib(-.+)?\.[cm]?js$/i.test(filename)) { return "stdlibjs"; }
    if (/^stdlib(-.+)?\.[cm]?js\.gz$/i.test(filename)) { return "stdlibjs"; }
    if (/^\.?stitches\.config\.([cm]?js|ts)$/i.test(filename)) { return "stitches"; }
    if (/\.(story|stories)\.([cm]?js|jsx)$/i.test(filename)) { return "storybook"; }
    if (/\.(story|stories)\.tsx?$/i.test(filename)) { return "storybook"; }
    if (/\.story$/i.test(filename)) { return "storyist"; }
    if (/\.strings$/i.test(filename)) { return "strings"; }
    if (/\.st\.css$/i.test(filename)) { return "stylable"; }
    if (/\.sc\.js$/i.test(filename)) { return "nailpolish"; }
    if (/\.sc\.jsx$/i.test(filename)) { return "nailpolish"; }
    if (/\.sc\.mjs$/i.test(filename)) { return "nailpolish"; }
    if (/\.sc\.cjs$/i.test(filename)) { return "nailpolish"; }
    if (/\.sc\.ts$/i.test(filename)) { return "nailpolish"; }
    if (/\.sc\.tsx$/i.test(filename)) { return "nailpolish"; }
    if (/^\.stylelintrc(\.|$)/i.test(filename)) { return "stylelint"; }
    if (/^stylelint\.config\.[cm]?js$/i.test(filename)) { return "stylelint"; }
    if (/\.stylelint(ignore|cache)$/i.test(filename)) { return "stylelint"; }
    if (/^\.stylish-haskell\.ya?ml$/i.test(filename)) { return "stylishhaskell"; }
    if (/\.(styl|stylus)$/i.test(filename)) { return "stylus"; }
    if (/\.(stTheme|sublime[-_](build|commands|completions|keymap|macro|menu|mousemap|project|settings|theme|workspace|metrics|session|snippet))$/i.test(filename)) { return "sublime"; }
    if (/\.sublime-syntax$/i.test(filename)) { return "sublime"; }
    if (/\.scd$/i.test(filename)) { return "scd"; }
    if (/\.svg$/i.test(filename)) { return "svg"; }
    if (/^(openapi|swagger)\.(json|yaml|yml)$/i.test(filename)) { return "swagger"; }
    if (/\.swagger-codegen-ignore$/i.test(filename)) { return "swagger"; }
    if (/\.swift$/i.test(filename)) { return "swift"; }
    if (/\.svelte$/i.test(filename)) { return "svelte"; }
    if (/\.sv$/i.test(filename)) { return "sysverilog"; }
    if (/\.svh$/i.test(filename)) { return "sysverilog"; }
    if (/\.vh$/i.test(filename)) { return "sysverilog"; }
    if (/\.toc$/i.test(filename)) { return "toc"; }
    if (/^\.listing(\.\d+)?$/.test(filename)) { return "toc"; }
    if (/\.?c?tags$/i.test(filename)) { return "tag"; }
    if (/\.gemtags/i.test(filename)) { return "tag"; }
    if (/\.hgtags$|^localtags$/i.test(filename)) { return "tag"; }
    if (/^\.?VERSION$/i.test(filename)) { return "tag"; }
    if (/^\.atom-socket-.+\.\d$/.test(filename)) { return "tag"; }
    if (/\.pid$/i.test(filename)) { return "tag"; }
    if (/\.tld$/i.test(filename)) { return "tag"; }
    if (/(\.|^)sha(256|sum)?$/i.test(filename)) { return "tag"; }
    if (/(\.|^)(check|ck|crc(32)?|md5|rmd160|sha(224|256|384|512|1|2|3)?)?(sums?|(?<=\w))$/i.test(filename)) { return "tag"; }
    if (/^\.?tailwind(\.config)?\.([cm]?js|ts|coffee)$/i.test(filename)) { return "tailwind"; }
    if (/\.tcl$/i.test(filename)) { return "tcl"; }
    if (/\.adp$/i.test(filename)) { return "tcl"; }
    if (/\.tm$/i.test(filename)) { return "tcl"; }
    if (/\.exp$/i.test(filename)) { return "tcl"; }
    if (/^\.tkcvs/i.test(filename)) { return "tcl"; }
    if (/^\.tkdiffrc$/.test(filename)) { return "tcl"; }
    if (/\.tea$/i.test(filename)) { return "coffee"; }
    if (/\.tfignore$/i.test(filename)) { return "tfs"; }
    if (/tfs$/i.test(filename)) { return "tfs"; }
    if (/\.tl$/i.test(filename)) { return "telegram"; }
    if (/\.xps$/i.test(filename)) { return "telegram"; }
    if (/\.tt2?$/i.test(filename)) { return "tt"; }
    if (/\.tt3$/i.test(filename)) { return "tt"; }
    if (/\.tern-project$/i.test(filename)) { return "tern"; }
    if (/\.tern-config$/i.test(filename)) { return "tern"; }
    if (/\.tf(vars)?$/i.test(filename)) { return "terraform"; }
    if (/\.tf\.json$/i.test(filename)) { return "terraform"; }
    if (/\.tfstate(\.backup)?$/i.test(filename)) { return "terraform"; }
    if (/^\.(terser|uglify)rc(\.\w+)?$/i.test(filename)) { return "terser"; }
    if (/^\.testcaferc\.json$/i.test(filename)) { return "testcafe"; }
    if (/([._-](spec|test)s?|^test[-_].*)\.((lit)?coffee|iced|cjsx)$/i.test(filename)) { return "test-coffee"; }
    if (/([\\\/])t\1t?\d+(?:(?!\1).)+\.sh$|[._-](spec|test)s?\.sh$/i.test(filename)) { return "test-generic"; }
    if (/\.bats$/i.test(filename)) { return "test-generic"; }
    if (/\.test$/i.test(filename)) { return "test-generic"; }
    if (/\.xspec$/i.test(filename)) { return "test-generic"; }
    if (/(^test[._-].*|[._-](spec|test)s?)\.go$/i.test(filename)) { return "test-go"; }
    if (/(^test[._-].*|[._-](spec|test)s?)\.(hsc?|c2hs|lhs)$/i.test(filename)) { return "test-hs"; }
    if (/([._-](spec|test)s?|^test[._-].*)\.([_s]?js|js[bms]|es\d*)$/i.test(filename)) { return "test-js"; }
    if (/([._-](spec|test)s?|^test[._-].*)\.mjs$/i.test(filename)) { return "test-js"; }
    if (/([._-](spec|test)s?|^test[._-].*)\.cjs$/i.test(filename)) { return "test-js"; }
    if (/([\\\/])(?:(spec|test)s?|t)\1(?:\d+[-.])+(?!-)[^.\\\/]+\.js$/i.test(filename)) { return "test-js"; }
    if (/([\\\/])(?:(spec|test)s?|t)\1(?:\d+[-.])+(?!-)[^.\\\/]+\.mjs$/i.test(filename)) { return "test-js"; }
    if (/([\\\/])(?:(spec|test)s?|t)\1(?:\d+[-.])+(?!-)[^.\\\/]+\.cjs$/i.test(filename)) { return "test-js"; }
    if (/\.t$/i.test(filename)) { return "test-perl"; }
    if (/^test[._-].*\.pl$/i.test(filename)) { return "test-perl"; }
    if (/([\\\x2F])t\1(?:(?!\1).)+\.t$/i.test(filename)) { return "test-perl"; }
    if (/([\\\x2F])(test|spec)s?(\1((?!\1).)+)*\1((?!\1).)+[._-](spec|test)s?\.p(er)?l$/i.test(filename)) { return "test-perl"; }
    if (/(^test[._-].*|[._-](spec|test)s?)\.py(3|thon)?/i.test(filename)) { return "test-python"; }
    if (/([\\\x2F])(test|spec)s?(\1((?!\1).)+)*\1(((?!\1).)+[._-](?:spec|test)s?|(?:spec|test)s?[._-].+)\.py(3|thon)?$/i.test(filename)) { return "test-python"; }
    if (/(^test[._-].*|[._-](spec|test)s?)\.(jsx|react\.[cm]?js)$/.test(filename)) { return "test-react"; }
    if (/([\\\/])(spec|test)s?\1(?:\d+[-.])+(?!-)[^.\\\/]+\.(jsx|react\.[cm]?js)$/i.test(filename)) { return "test-react"; }
    if (/(^test[._-].*|[._-](spec|test)s?)\.(rb|ruby)$/i.test(filename)) { return "test-ruby"; }
    if (/([\\\x2F])(t|tests?|specs?)\1+(?:(?!\1).)*\.(rb|ruby)$/.test(filename)) { return "test-ruby"; }
    if (/(^test[-_].*|[._-](spec|test)s?)\.rs$/i.test(filename)) { return "test-rust"; }
    if (/(^test[._-].*|[._-](spec|test)s?)\.ts$/i.test(filename)) { return "test-ts"; }
    if (/(^test[._-].*|[._-](spec|test)s?)\.tsx$/i.test(filename)) { return "test-ts"; }
    if (/([\\\/])(spec|test)s?\1(?:\d+[-.])+(?!-)[^.\\\/]+\.ts$/i.test(filename)) { return "test-ts"; }
    if (/([\\\/])(spec|test)s?\1(?:\d+[-.])+(?!-)[^.\\\/]+\.tsx$/i.test(filename)) { return "test-ts"; }
    if (/\.tex$/i.test(filename)) { return "tex"; }
    if (/\.ltx$/i.test(filename)) { return "tex"; }
    if (/\.aux$/i.test(filename)) { return "tex"; }
    if (/\.sty$/i.test(filename)) { return "tex"; }
    if (/\.dtx$/i.test(filename)) { return "tex"; }
    if (/\.cls$/i.test(filename)) { return "tex"; }
    if (/\.ins$/i.test(filename)) { return "tex"; }
    if (/\.lbx$/i.test(filename)) { return "tex"; }
    if (/\.mkiv$/i.test(filename)) { return "tex"; }
    if (/\.mkvi$/i.test(filename)) { return "tex"; }
    if (/\.mkii$/i.test(filename)) { return "tex"; }
    if (/\.pgf$/i.test(filename)) { return "tex"; }
    if (/\.tikz$/i.test(filename)) { return "tex"; }
    if (/\.(texi(nfo)?|txi)$/i.test(filename)) { return "tex"; }
    if (/^hyphen(ex)?\.(cs|den|det|fr|sv|us)$/.test(filename)) { return "tex"; }
    if (/\.te?xt$/i.test(filename)) { return "icon-file-text"; }
    if (/\.log$|^Terminal[-_\s]Saved[-_\s]Output$/i.test(filename)) { return "icon-file-text"; }
    if (/\.git[\/\\]description$/.test(filename)) { return "icon-file-text"; }
    if (/(\\|\/)share(?:\1misc)?\1(?:operator|mail\.(?:tilde)?help)$/.test(filename)) { return "icon-file-text"; }
    if (/\.err$|\.std(err|out)$/i.test(filename)) { return "icon-file-text"; }
    if (/\.rtf$/i.test(filename)) { return "icon-file-text"; }
    if (/\.(i?nfo|lcov)$/i.test(filename)) { return "icon-file-text"; }
    if (/\.abt$/i.test(filename)) { return "icon-file-text"; }
    if (/\.ans$/i.test(filename)) { return "icon-file-text"; }
    if (/\.brf$/i.test(filename)) { return "icon-file-text"; }
    if (/\.dri$/i.test(filename)) { return "icon-file-text"; }
    if (/\.etx$/i.test(filename)) { return "icon-file-text"; }
    if (/\.irclog$/i.test(filename)) { return "icon-file-text"; }
    if (/\.more$/i.test(filename)) { return "icon-file-text"; }
    if (/\.msg$/i.test(filename)) { return "icon-file-text"; }
    if (/\.no$/i.test(filename)) { return "icon-file-text"; }
    if (/\.rpt$/i.test(filename)) { return "icon-file-text"; }
    if (/\.srt$/i.test(filename)) { return "icon-file-text"; }
    if (/\.sub$/i.test(filename)) { return "icon-file-text"; }
    if (/^(bug-report|fdl|for-release|tests)$/i.test(filename)) { return "icon-file-text"; }
    if (/\.(utxt|utf8)$/i.test(filename)) { return "icon-file-text"; }
    if (/\.weechatlog$/i.test(filename)) { return "icon-file-text"; }
    if (/\.uof$/i.test(filename)) { return "icon-file-text"; }
    if (/\.uot$/i.test(filename)) { return "icon-file-text"; }
    if (/\.uos$/i.test(filename)) { return "icon-file-text"; }
    if (/\.uop$/i.test(filename)) { return "icon-file-text"; }
    if (/\.textile$/i.test(filename)) { return "textile"; }
    if (/\.(tm_properties|tmProperties)$/i.test(filename)) { return "textmate"; }
    if (/\.tmcg$/i.test(filename)) { return "textmate"; }
    if (/\.tmLanguage$/i.test(filename)) { return "textmate"; }
    if (/\.tmCommand$/i.test(filename)) { return "textmate"; }
    if (/\.tmPreferences$/i.test(filename)) { return "textmate"; }
    if (/\.tmSnippet$/i.test(filename)) { return "textmate"; }
    if (/\.tmTheme$/i.test(filename)) { return "textmate"; }
    if (/\.tmMacro$/i.test(filename)) { return "textmate"; }
    if (/\.yaml-tmlanguage$/i.test(filename)) { return "textmate"; }
    if (/\.JSON-tmLanguage$/i.test(filename)) { return "textmate"; }
    if (/\.theme$/i.test(filename)) { return "icon-paintcan"; }
    if (/\.thor$/i.test(filename)) { return "thor"; }
    if (/^Thorfile$/i.test(filename)) { return "thor"; }
    if (/\.8x[pk](\.txt)?$/i.test(filename)) { return "calc"; }
    if (/^Tiltfile$/i.test(filename)) { return "tilt"; }
    if (/\.tipe$/i.test(filename)) { return "tipe"; }
    if (/\.tla$/i.test(filename)) { return "tla"; }
    if (/(\.|_|^)tmux\.conf$/i.test(filename)) { return "tmux"; }
    if (/\.toml$/i.test(filename)) { return "toml"; }
    if (/^\.tgitconfig$/i.test(filename)) { return "tortoise"; }
    if (/^\.travis/i.test(filename)) { return "travis"; }
    if (/^\.?truffle\.[cm]?js$/i.test(filename)) { return "truffle"; }
    if (/\.tsx$/i.test(filename)) { return "tsx"; }
    if (/\.ttcn3?$/i.test(filename)) { return "ttcn3"; }
    if (/\.tu$/i.test(filename)) { return "turing"; }
    if (/\.twig$/i.test(filename)) { return "twig"; }
    if (/\.tw$/i.test(filename)) { return "twine"; }
    if (/SugarCube$/i.test(filename)) { return "twine"; }
    if (/\.txl$/i.test(filename)) { return "txl"; }
    if (/^typedoc\.json$/i.test(filename)) { return "typedoc"; }
    if (/\.ts$/i.test(filename)) { return "ts"; }
    if (/^(ts|Type[-\s]*Script)$/i.test(filename)) { return "ts"; }
    if (/^typings\.json$/i.test(filename)) { return "typings"; }
    if (/\.(typoscript|tsconfig)$/i.test(filename)) { return "typo3"; }
    if (/typo3$/i.test(filename)) { return "typo3"; }
    if (/^uikit(\.min)?\.[cm]?js$/i.test(filename)) { return "uikit"; }
    if (/\.unibeautifyrc$/i.test(filename)) { return "unibeautify"; }
    if (/^unibeautify\.config\.[cm]?js$/i.test(filename)) { return "unibeautify"; }
    if (/\.unibeautifyrc\.([cm]?js|json)$/i.test(filename)) { return "unibeautify"; }
    if (/\.unibeautifyrc\.ya?ml$/i.test(filename)) { return "unibeautify"; }
    if (/^(ArabicShaping|Bidi(Brackets|CharacterTest|Mirroring|Test)|Blocks|CJKRadicals|CaseFolding|CompositionExclusions|Derived(Age|Name|Numeric(Type|Values)|BidiClass|BinaryProperties|CombiningClass|CoreProperties|DecompositionType|EastAsianWidth|GeneralCategory|Joining(Group|Type)|LineBreak|NormalizationProps)|EastAsianWidth|EmojiSources|EquivalentUnifiedIdeograph|(Grapheme|Line|Sentence|Word)Break(Property|Test)|HangulSyllableType|Index|Indic(Positional|Syllabic)Category|Jamo|LineBreak|NameAliases|NamedSequences(Prov)?|NamesList|Normalization(Corrections|Test)|NushuSources|PropList|Property(Value)?Aliases|Script(Extension)?s|SpecialCasing|StandardizedVariants|TangutSources|Unihan(_\w+)?|U(nicode|Source)Data|VerticalOrientation)\.txt$/.test(filename)) { return "unicode"; }
    if (/^NamesList\.(lst|txt)$/.test(filename)) { return "unicode"; }
    if (/([\\\/])(UNIDATA|UCD)(?:\1(?:auxiliary|emoji|extracted|unihan))?\1(?!ReadMe)[^\\\/]+\.txt$/i.test(filename)) { return "unicode"; }
    if (/\.units$/i.test(filename)) { return "scales"; }
    if (/^units\.(lib|dat)$|^unittab$/i.test(filename)) { return "scales"; }
    if (/^\.?units[-_]?history$/i.test(filename)) { return "scales"; }
    if (/\.anim$/i.test(filename)) { return "unity3d"; }
    if (/\.asset$/i.test(filename)) { return "unity3d"; }
    if (/\.cubemap$/i.test(filename)) { return "unity3d"; }
    if (/\.mat$/i.test(filename)) { return "unity3d"; }
    if (/\.meta$/i.test(filename)) { return "unity3d"; }
    if (/\.physics?Material(2D)?$/i.test(filename)) { return "unity3d"; }
    if (/\.prefab$/i.test(filename)) { return "unity3d"; }
    if (/\.unity$/i.test(filename)) { return "unity3d"; }
    if (/\.unityproj$/i.test(filename)) { return "unity3d"; }
    if (/\.unitypackage$/i.test(filename)) { return "unity3d"; }
    if (/\.uno$/i.test(filename)) { return "uno"; }
    if (/\.uc$/i.test(filename)) { return "unreal"; }
    if (/\.uasset$/i.test(filename)) { return "unreal"; }
    if (/\.ur$/i.test(filename)) { return "urweb"; }
    if (/\.urs$/i.test(filename)) { return "urweb"; }
    if (/\.v$/i.test(filename)) { return "v"; }
    if (/\.vh$/i.test(filename)) { return "v"; }
    if (/^([dv]8|v8[-_.][^.]*|mksnapshot|mkpeephole)$/i.test(filename)) { return "v8"; }
    if (/^\.v8flags\b/.test(filename)) { return "v8"; }
    if (/^\.c8rc(\.json)?$/i.test(filename)) { return "v8"; }
    if (/^Vagrantfile$/i.test(filename)) { return "vagrant"; }
    if (/\.vala$/i.test(filename)) { return "vala"; }
    if (/\.vapi$/i.test(filename)) { return "vala"; }
    if (/\.bsp$/i.test(filename)) { return "source"; }
    if (/\.vpk$/i.test(filename)) { return "source"; }
    if (/\.vtfx$/i.test(filename)) { return "source"; }
    if (/\.vmt$/i.test(filename)) { return "source"; }
    if (/\.vtf$/i.test(filename)) { return "source"; }
    if (/\.vmf$/i.test(filename)) { return "source"; }
    if (/\.res$/i.test(filename)) { return "source"; }
    if (/\.vcl$/i.test(filename)) { return "varnish"; }
    if (/\.vm$/i.test(filename)) { return "velocity"; }
    if (/^(vercel|now)\.json$/i.test(filename)) { return "zeit"; }
    if (/^\.(vercel|now)ignore$/i.test(filename)) { return "zeit"; }
    if (/\.v$/i.test(filename)) { return "verilog"; }
    if (/\.veo$/i.test(filename)) { return "verilog"; }
    if (/\.vhdl$/i.test(filename)) { return "vhdl"; }
    if (/\.vhf$/i.test(filename)) { return "vhdl"; }
    if (/\.vhi$/i.test(filename)) { return "vhdl"; }
    if (/\.vho$/i.test(filename)) { return "vhdl"; }
    if (/\.vhs$/i.test(filename)) { return "vhdl"; }
    if (/\.vht$/i.test(filename)) { return "vhdl"; }
    if (/\.vhw$/i.test(filename)) { return "vhdl"; }
    if (/\.3gpp?$/i.test(filename)) { return "video"; }
    if (/\.(mp4|m4v|h264)$/i.test(filename)) { return "video"; }
    if (/\.asx$/i.test(filename)) { return "video"; }
    if (/\.avi$/i.test(filename)) { return "video"; }
    if (/\.mov$/i.test(filename)) { return "video"; }
    if (/\.mk(v|s|3d)$/i.test(filename)) { return "video"; }
    if (/\.flv$/i.test(filename)) { return "video"; }
    if (/\.webm$/i.test(filename)) { return "video"; }
    if (/\.mpe?g$/i.test(filename)) { return "video"; }
    if (/\.(asf|wmv)$/i.test(filename)) { return "video"; }
    if (/\.(ogm|og[gv])$/i.test(filename)) { return "video"; }
    if (/\.(vim|[gn]?vimrc)$/i.test(filename)) { return "vim"; }
    if (/^[.gn_]?vim(rc|info)$/i.test(filename)) { return "vim"; }
    if (/\.vmb$/i.test(filename)) { return "vim"; }
    if (/(^|\.)n?exrc$/i.test(filename)) { return "vim"; }
    if (/\.ova$/i.test(filename)) { return "virtualbox"; }
    if (/\.ovf$/i.test(filename)) { return "virtualbox"; }
    if (/\.vhd$/i.test(filename)) { return "virtualbox"; }
    if (/\.vhdx$/i.test(filename)) { return "virtualbox"; }
    if (/\.vbox_version$/i.test(filename)) { return "virtualbox"; }
    if (/\.vbox(-prev)?$/i.test(filename)) { return "virtualbox"; }
    if (/^vite\.config\.[jt]s$/i.test(filename)) { return "vite"; }
    if (/\.(vba?|fr[mx]|bas)$/i.test(filename)) { return "vs"; }
    if (/\.vbhtml$/i.test(filename)) { return "vs"; }
    if (/\.vbs$/i.test(filename)) { return "vs"; }
    if (/\.vsix$/i.test(filename)) { return "vs"; }
    if (/\.csproj$/i.test(filename)) { return "vs"; }
    if (/\.vbproj$/i.test(filename)) { return "vs"; }
    if (/\.vcx?proj(\.[-\w]+)*$/i.test(filename)) { return "vs"; }
    if (/\.vssettings(\.json)?$/i.test(filename)) { return "vs"; }
    if (/\.vscodeignore(\.json)?$/i.test(filename)) { return "vs"; }
    if (/\.vstemplate$/i.test(filename)) { return "vs"; }
    if (/\.vsixmanifest$/i.test(filename)) { return "vs"; }
    if (/\.code-workspace$/i.test(filename)) { return "vs"; }
    if (/\.builds$/i.test(filename)) { return "vs"; }
    if (/\.dbproj$/i.test(filename)) { return "vs"; }
    if (/\.lsproj$/i.test(filename)) { return "vs"; }
    if (/\.modelproj$/i.test(filename)) { return "vs"; }
    if (/\.sln$/i.test(filename)) { return "vs"; }
    if (/\.njsproj$/i.test(filename)) { return "vs"; }
    if (/\.sqlproj$/i.test(filename)) { return "vs"; }
    if (/\.vcxitems$/i.test(filename)) { return "vs"; }
    if (/\.wmaproj$/i.test(filename)) { return "vs"; }
    if (/\.vmdk$/i.test(filename)) { return "vmware"; }
    if (/\.nvram$/i.test(filename)) { return "vmware"; }
    if (/\.vmsd$/i.test(filename)) { return "vmware"; }
    if (/\.vmsn$/i.test(filename)) { return "vmware"; }
    if (/\.vmss$/i.test(filename)) { return "vmware"; }
    if (/\.vmtm$/i.test(filename)) { return "vmware"; }
    if (/\.vmx$/i.test(filename)) { return "vmware"; }
    if (/\.vmxf$/i.test(filename)) { return "vmware"; }
    if (/\.vrimg$/i.test(filename)) { return "vray"; }
    if (/^\.vsts-ci\.ya?ml$/i.test(filename)) { return "vsts"; }
    if (/\.vue$/i.test(filename)) { return "vue"; }
    if (/^vue\.config\.[cm]?js$/i.test(filename)) { return "vue"; }
    if (/\.vy$/i.test(filename)) { return "vyper"; }
    if (/^w3c\.json$/i.test(filename)) { return "w3c"; }
    if (/^\.wallaby\.[cm]?js$/i.test(filename)) { return "wallaby"; }
    if (/\.walt$/i.test(filename)) { return "walt"; }
    if (/\.wc3$/i.test(filename)) { return "warcraft3"; }
    if (/\.jass$/i.test(filename)) { return "warcraft3"; }
    if (/\.zn$/i.test(filename)) { return "warcraft3"; }
    if (/\.watchmanconfig$|^watchman\.json$/i.test(filename)) { return "watchman"; }
    if (/\.wdl$/i.test(filename)) { return "wdl"; }
    if (/Workflow Description Language$/i.test(filename)) { return "wdl"; }
    if (/\.was?t$/i.test(filename)) { return "wasm"; }
    if (/\.wasm$/i.test(filename)) { return "wasm"; }
    if (/^\.hintrc$/i.test(filename)) { return "webhint"; }
    if (/\.webgl$/i.test(filename)) { return "webgl"; }
    if (/\.owl$/i.test(filename)) { return "owl"; }
    if (/(^|\.)webpack(file)?.*\.([jt]sx?|[cm]js|json|(lit)?coffee)$/i.test(filename)) { return "webpack"; }
    if (/\.vtt$/i.test(filename)) { return "webvtt"; }
    if (/^wgetrc$|\.wgetrc$/i.test(filename)) { return "wget"; }
    if (/\.wget-hsts$/i.test(filename)) { return "wget"; }
    if (/\.wxml$/i.test(filename)) { return "wechat"; }
    if (/\.wxss$/i.test(filename)) { return "wechat"; }
    if (/\.wy$/i.test(filename)) { return "wenyan"; }
    if (/^wercker\.ya?ml$/i.test(filename)) { return "wercker"; }
    if (/^windi\.config\.[tj]s$/i.test(filename)) { return "windi"; }
    if (/\.bat$/i.test(filename)) { return "windows"; }
    if (/\.cmd$/i.test(filename)) { return "windows"; }
    if (/\.(exe|com|msi)$/i.test(filename)) { return "windows"; }
    if (/\.reg$/i.test(filename)) { return "windows"; }
    if (/\.xaml$/i.test(filename)) { return "winui"; }
    if (/\.baml$/i.test(filename)) { return "winui"; }
    if (/\.wixproj$/i.test(filename)) { return "wix"; }
    if (/\.wixobj$/i.test(filename)) { return "wix"; }
    if (/\.wxs$/i.test(filename)) { return "wix"; }
    if (/\.wxi$/i.test(filename)) { return "wix"; }
    if (/\.wxl$/i.test(filename)) { return "wix"; }
    if (/\.wix$/i.test(filename)) { return "wix"; }
    if (/\.wl$/i.test(filename)) { return "wolfram"; }
    if (/\.wls$/i.test(filename)) { return "wolfram"; }
    if (/\.wlt$/i.test(filename)) { return "wolfram"; }
    if (/^workbox-config\.[cm]?js$/i.test(filename)) { return "workbox"; }
    if (/\.wurst$/i.test(filename)) { return "wurst"; }
    if (/WurstLang$/i.test(filename)) { return "wurst"; }
    if (/\.x10$/i.test(filename)) { return "x10"; }
    if (/xten$/i.test(filename)) { return "x10"; }
    if (/\.X(authority|clients|initrc|inputrc|profile|resources|session-errors|screensaver)$/i.test(filename)) { return "x11"; }
    if (/\.workbook$/i.test(filename)) { return "xamarin"; }
    if (/\.xc$/i.test(filename)) { return "xmos"; }
    if (/\.pbxproj$/i.test(filename)) { return "appstore"; }
    if (/\.pbxuser$/i.test(filename)) { return "appstore"; }
    if (/\.xccheckout$/i.test(filename)) { return "appstore"; }
    if (/\.xcplugindata$/i.test(filename)) { return "appstore"; }
    if (/\.xcrequiredplugins$/i.test(filename)) { return "appstore"; }
    if (/\.xcscheme$/i.test(filename)) { return "appstore"; }
    if (/\.xcscmblueprint$/i.test(filename)) { return "appstore"; }
    if (/\.xcsettings$/i.test(filename)) { return "appstore"; }
    if (/\.xcuserstate$/i.test(filename)) { return "appstore"; }
    if (/\.xcworkspacedata$/i.test(filename)) { return "appstore"; }
    if (/\.mode\dv3$/i.test(filename)) { return "appstore"; }
    if (/^xmake\.lua$/i.test(filename)) { return "xmake"; }
    if (/\.xojo_code$/i.test(filename)) { return "xojo"; }
    if (/\.xojo_menu$/i.test(filename)) { return "xojo"; }
    if (/\.xojo_report$/i.test(filename)) { return "xojo"; }
    if (/\.xojo_script$/i.test(filename)) { return "xojo"; }
    if (/\.xojo_toolbar$/i.test(filename)) { return "xojo"; }
    if (/\.xojo_window$/i.test(filename)) { return "xojo"; }
    if (/\.xsp-config$/i.test(filename)) { return "xpages"; }
    if (/\.xsp\.metadata$/i.test(filename)) { return "xpages"; }
    if (/\.xpl$/i.test(filename)) { return "xmos"; }
    if (/\.xproc$/i.test(filename)) { return "xmos"; }
    if (/\.(xquery|xq|xql|xqm|xqy)$/i.test(filename)) { return "sql"; }
    if (/\.xtend$/i.test(filename)) { return "xtend"; }
    if (/\.ya?ml$/i.test(filename)) { return "yaml"; }
    if (/\.ya?ml\.mysql$/i.test(filename)) { return "yaml"; }
    if (/\.ya?ml\.sed$/i.test(filename)) { return "yaml"; }
    if (/^\.yamllint(\.ya?ml)?$/i.test(filename)) { return "yamllint"; }
    if (/^\.yaspellerrc($|\.)|^\.yaspeller\.json$/i.test(filename)) { return "yandex"; }
    if (/\.yang$/i.test(filename)) { return "yang"; }
    if (/\.yara?$/i.test(filename)) { return "yara"; }
    if (/^yarn\.lock$|\.yarn-metadata(\.json)?$/i.test(filename)) { return "yarn"; }
    if (/\.(yarnrc|yarnclean|yarn-integrity)$/i.test(filename)) { return "yarn"; }
    if (/\.yo-rc\.json$/i.test(filename)) { return "yeoman"; }
    if (/\.yorick$/i.test(filename)) { return "yorick"; }
    if (/^(yahoo-|yui)[^.]*\.[cm]?js$/i.test(filename)) { return "yui"; }
    if (/\.zpr$/i.test(filename)) { return "zbrush"; }
    if (/\.ztl$/i.test(filename)) { return "zbrush"; }
    if (/\.zs$/i.test(filename)) { return "crafttweaker"; }
    if (/^\.zsrc\.json$/i.test(filename)) { return "crafttweaker"; }
    if (/\.zep$/i.test(filename)) { return "zephir"; }
    if (/\.zig$/i.test(filename)) { return "zig"; }
    if (/\.(zimpl|zmpl|zpl)$/i.test(filename)) { return "zimpl"; }
    if (/\.zap$/i.test(filename)) { return "zork"; }
    if (/\.xzap$/i.test(filename)) { return "zork"; }
    if (/^s4\.errors$/i.test(filename)) { return "zork"; }
    if (/\.zabstr?$/i.test(filename)) { return "zork"; }
    if (/\.zil$/i.test(filename)) { return "zork"; }
    if (/\.mud$/i.test(filename)) { return "zork"; }
}
module.exports = matchIcon;