summaryrefslogtreecommitdiff
path: root/node_modules/magic-bytes.js/dist/model/pattern-tree.js
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2023-09-02 19:12:47 -0400
committersowgro <tpoke.ferrari@gmail.com>2023-09-02 19:12:47 -0400
commite4450c8417624b71d779cb4f41692538f9165e10 (patch)
treeb70826542223ecdf8a7a259f61b0a1abb8a217d8 /node_modules/magic-bytes.js/dist/model/pattern-tree.js
downloadsowbot3-e4450c8417624b71d779cb4f41692538f9165e10.tar.gz
sowbot3-e4450c8417624b71d779cb4f41692538f9165e10.tar.bz2
sowbot3-e4450c8417624b71d779cb4f41692538f9165e10.zip
first commit
Diffstat (limited to 'node_modules/magic-bytes.js/dist/model/pattern-tree.js')
-rw-r--r--node_modules/magic-bytes.js/dist/model/pattern-tree.js764
1 files changed, 764 insertions, 0 deletions
diff --git a/node_modules/magic-bytes.js/dist/model/pattern-tree.js b/node_modules/magic-bytes.js/dist/model/pattern-tree.js
new file mode 100644
index 0000000..68228fe
--- /dev/null
+++ b/node_modules/magic-bytes.js/dist/model/pattern-tree.js
@@ -0,0 +1,764 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+const toHex_1 = require("./toHex");
+const tree_1 = require("./tree");
+// https://en.wikipedia.org/wiki/List_of_file_signatures
+let fileType = new Map();
+let tree = {
+ noOffset: null,
+ offset: {},
+};
+const add = (typename, signature, additionalInfo, offset) => {
+ fileType.set(typename, signature);
+ if (offset) {
+ const existing = tree.offset[toHex_1.toHex(offset)];
+ if (!existing) {
+ tree.offset[toHex_1.toHex(offset)] = tree_1.createComplexNode(typename, signature.map((e) => e.toLowerCase()), additionalInfo);
+ }
+ else {
+ const merged = tree_1.merge(tree_1.createNode(typename, signature.map((e) => e.toLowerCase()), additionalInfo), { ...existing });
+ tree.offset[toHex_1.toHex(offset)] = merged;
+ }
+ }
+ else {
+ if (tree.noOffset === null) {
+ tree.noOffset = tree_1.createComplexNode(typename, signature.map((e) => e.toLowerCase()), additionalInfo);
+ }
+ else {
+ tree.noOffset = tree_1.merge(tree_1.createNode(typename, signature.map((e) => e.toLowerCase()), additionalInfo), tree.noOffset);
+ }
+ }
+};
+add("gif", ["0x47", "0x49", "0x46", "0x38", "0x37", "0x61"], {
+ mime: "image/gif",
+ extension: "gif",
+});
+add("gif", ["0x47", "0x49", "0x46", "0x38", "0x39", "0x61"], {
+ mime: "image/gif",
+ extension: "gif",
+});
+add("jpg", ["0xFF", "0xD8", "0xFF", "0xDB"], {
+ mime: "image/jpeg",
+ extension: "jpeg",
+});
+add("jpg", [
+ "0xFF",
+ "0xD8",
+ "0xFF",
+ "0xE0",
+ "?",
+ "?",
+ "0x4A",
+ "0x46",
+ "0x49",
+ "0x46",
+ "0x00",
+ "0x01",
+], { mime: "image/jpeg", extension: "jpeg" });
+add("jpg", [
+ "0xFF",
+ "0xD8",
+ "0xFF",
+ "0xE1",
+ "?",
+ "?",
+ "0x45",
+ "0x78",
+ "0x69",
+ "0x66",
+ "0x00",
+ "0x00",
+], { mime: "image/jpeg", extension: "jpeg" });
+add("webp", [
+ "0x52",
+ "0x49",
+ "0x46",
+ "0x46",
+ "?",
+ "?",
+ "?",
+ "?",
+ "0x57",
+ "0x45",
+ "0x42",
+ "0x50",
+], { mime: "image/webp", extension: "webp" });
+add("heif", ["0x66", "0x74", "0x79", "0x70", "0x6D", "0x69", "0x66", "0x31"], { mime: "image/heif", extension: "heif" }, 4);
+add("heif", ["0x66", "0x74", "0x79", "0x70", "0x68", "0x65", "0x69", "0x63"], { mime: "image/heif", extension: "heic" }, 4);
+add("rpm", ["0xed", "0xab", "0xee", "0xdb"]);
+add("bin", ["0x53", "0x50", "0x30", "0x31"], {
+ mime: "application/octet-stream",
+ extension: "bin",
+});
+add("pic", ["0x00"]);
+add("pif", ["0x00"]);
+add("sea", ["0x00"]);
+add("ytr", ["0x00"]);
+// 66747970
+// 6D703432
+add("mp4", ["0x66", "0x74", "0x79", "0x70"], { mime: "video/mp4", extension: "mp4" }, 0x4);
+add("pdb", [
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+]);
+add("dba", ["0xBE", "0xBA", "0xFE", "0xCA"]);
+add("dba2", ["0x00", "0x01", "0x42", "0x44"]);
+add("tda", ["0x00", "0x01", "0x44", "0x54"]);
+add("tda2", ["0x00", "0x01", "0x00", "0x00"]);
+add("ico", ["0x00", "0x00", "0x01", "0x00"], {
+ mime: "image/x-icon",
+ extension: "ico",
+});
+add("3gp", ["0x66", "0x74", "0x79", "0x70", "0x33", "0x67"]);
+add("z", ["0x1F", "0x9D"]);
+add("tar.z", ["0x1F", "0xA0"]);
+add("bac", [
+ "0x42",
+ "0x41",
+ "0x43",
+ "0x4B",
+ "0x4D",
+ "0x49",
+ "0x4B",
+ "0x45",
+ "0x44",
+ "0x49",
+ "0x53",
+ "0x4B",
+]);
+add("bz2", ["0x42", "0x5A", "0x68"], {
+ mime: "application/x-bzip2",
+ extension: "bz2",
+});
+add("tif", ["0x49", "0x49", "0x2A", "0x00"], {
+ mime: "image/tiff",
+ extension: "tif",
+});
+add("tiff", ["0x4D", "0x4D", "0x00", "0x2A"], {
+ mime: "image/tiff",
+ extension: "tiff",
+});
+add("cr2", [
+ "0x49",
+ "0x49",
+ "0x2A",
+ "0x00",
+ "0x10",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x43",
+ "0x52",
+]);
+add("cin", ["0x80", "0x2A", "0x5F", "0xD7"]);
+add("cin1", ["0x52", "0x4E", "0x43", "0x01"]);
+add("cin2", ["0x52", "0x4E", "0x43", "0x02"]);
+add("dpx", ["0x53", "0x44", "0x50", "0x58"]);
+add("dpx2", ["0x58", "0x50", "0x44", "0x53"]);
+add("exr", ["0x76", "0x2F", "0x31", "0x01"]);
+add("bpg", ["0x42", "0x50", "0x47", "0xFB"]);
+add("ilbm", [
+ "0x46",
+ "0x4F",
+ "0x52",
+ "0x4D",
+ "?",
+ "?",
+ "?",
+ "?",
+ "0x49",
+ "0x4C",
+ "0x42",
+ "0x4D",
+]);
+add("8svx", [
+ "0x46",
+ "0x4F",
+ "0x52",
+ "0x4D",
+ "?",
+ "?",
+ "?",
+ "?",
+ "0x38",
+ "0x53",
+ "0x56",
+ "0x58",
+]);
+add("acbm", [
+ "0x46",
+ "0x4F",
+ "0x52",
+ "0x4D",
+ "?",
+ "?",
+ "?",
+ "?",
+ "0x41",
+ "0x43",
+ "0x42",
+ "0x4D",
+]);
+add("anbm", [
+ "0x46",
+ "0x4F",
+ "0x52",
+ "0x4D",
+ "?",
+ "?",
+ "?",
+ "?",
+ "0x41",
+ "0x4E",
+ "0x42",
+ "0x4D",
+]);
+add("anim", [
+ "0x46",
+ "0x4F",
+ "0x52",
+ "0x4D",
+ "?",
+ "?",
+ "?",
+ "?",
+ "0x41",
+ "0x4E",
+ "0x49",
+ "0x4D",
+]);
+add("faxx", [
+ "0x46",
+ "0x4F",
+ "0x52",
+ "0x4D",
+ "?",
+ "?",
+ "?",
+ "?",
+ "0x46",
+ "0x41",
+ "0x58",
+ "0x58",
+]);
+add("ftxt", [
+ "0x46",
+ "0x4F",
+ "0x52",
+ "0x4D",
+ "?",
+ "?",
+ "?",
+ "?",
+ "0x46",
+ "0x54",
+ "0x58",
+ "0x54",
+]);
+add("smus", [
+ "0x46",
+ "0x4F",
+ "0x52",
+ "0x4D",
+ "?",
+ "?",
+ "?",
+ "?",
+ "0x53",
+ "0x4D",
+ "0x55",
+ "0x53",
+]);
+add("cmus", [
+ "0x46",
+ "0x4F",
+ "0x52",
+ "0x4D",
+ "?",
+ "?",
+ "?",
+ "?",
+ "0x43",
+ "0x4D",
+ "0x55",
+ "0x53",
+]);
+add("yuvn", [
+ "0x46",
+ "0x4F",
+ "0x52",
+ "0x4D",
+ "?",
+ "?",
+ "?",
+ "?",
+ "0x59",
+ "0x55",
+ "0x56",
+ "0x4E",
+]);
+add("iff", [
+ "0x46",
+ "0x4F",
+ "0x52",
+ "0x4D",
+ "?",
+ "?",
+ "?",
+ "?",
+ "0x46",
+ "0x41",
+ "0x4E",
+ "0x54",
+]);
+add("aiff", [
+ "0x46",
+ "0x4F",
+ "0x52",
+ "0x4D",
+ "?",
+ "?",
+ "?",
+ "?",
+ "0x41",
+ "0x49",
+ "0x46",
+ "0x46",
+], { mime: "audio/x-aiff", extension: "aiff" });
+add("idx", ["0x49", "0x4E", "0x44", "0x58"]);
+add("lz", ["0x4C", "0x5A", "0x49", "0x50"]);
+add("exe", ["0x4D", "0x5A"]);
+add("zip", ["0x50", "0x4B", "0x03", "0x04"], {
+ mime: "application/zip",
+ extension: "zip",
+});
+add("zip", ["0x50", "0x4B", "0x05", "0x06"], {
+ mime: "application/zip",
+ extension: "zip",
+});
+add("zip", ["0x50", "0x4B", "0x07", "0x08"], {
+ mime: "application/zip",
+ extension: "zip",
+});
+add("jar", ["0x50", "0x4B", "0x03", "0x04"], {
+ mime: "application/java-archive",
+ extension: "jar",
+});
+add("jar", ["0x50", "0x4B", "0x05", "0x06"], {
+ mime: "application/java-archive",
+ extension: "jar",
+});
+add("jar", ["0x50", "0x4B", "0x07", "0x08"], {
+ mime: "application/java-archive",
+ extension: "jar",
+});
+add("odt", ["0x50", "0x4B", "0x03", "0x04"], {
+ mime: "application/vnd.oasis.opendocument.text",
+ extension: "odt",
+});
+add("odt", ["0x50", "0x4B", "0x05", "0x06"], {
+ mime: "application/vnd.oasis.opendocument.text",
+ extension: "odt",
+});
+add("odt", ["0x50", "0x4B", "0x07", "0x08"], {
+ mime: "application/vnd.oasis.opendocument.text",
+ extension: "odt",
+});
+add("ods", ["0x50", "0x4B", "0x03", "0x04"], {
+ mime: "application/vnd.oasis.opendocument.spreadsheet",
+ extension: "ods",
+});
+add("ods", ["0x50", "0x4B", "0x05", "0x06"], {
+ mime: "application/vnd.oasis.opendocument.spreadsheet",
+ extension: "ods",
+});
+add("ods", ["0x50", "0x4B", "0x07", "0x08"], {
+ mime: "application/vnd.oasis.opendocument.spreadsheet",
+ extension: "ods",
+});
+add("odp", ["0x50", "0x4B", "0x03", "0x04"], {
+ mime: "application/vnd.oasis.opendocument.presentation",
+ extension: "odp",
+});
+add("odp", ["0x50", "0x4B", "0x05", "0x06"], {
+ mime: "application/vnd.oasis.opendocument.presentation",
+ extension: "odp",
+});
+add("odp", ["0x50", "0x4B", "0x07", "0x08"], {
+ mime: "application/vnd.oasis.opendocument.presentation",
+ extension: "odp",
+});
+add("docx", ["0x50", "0x4B", "0x03", "0x04"], {
+ mime: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
+ extension: "docx",
+});
+add("docx", ["0x50", "0x4B", "0x05", "0x06"], {
+ mime: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
+ extension: "docx",
+});
+add("docx", ["0x50", "0x4B", "0x07", "0x08"], {
+ mime: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
+ extension: "docx",
+});
+add("xlsx", ["0x50", "0x4B", "0x03", "0x04"], {
+ mime: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+ extension: "xlsx",
+});
+add("xlsx", ["0x50", "0x4B", "0x05", "0x06"], {
+ mime: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+ extension: "xlsx",
+});
+add("xlsx", ["0x50", "0x4B", "0x07", "0x08"], {
+ mime: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+ extension: "xlsx",
+});
+add("pptx", ["0x50", "0x4B", "0x03", "0x04"], {
+ mime: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
+ extension: "pptx",
+});
+add("pptx", ["0x50", "0x4B", "0x05", "0x06"], {
+ mime: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
+ extension: "pptx",
+});
+add("pptx", ["0x50", "0x4B", "0x07", "0x08"], {
+ mime: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
+ extension: "pptx",
+});
+add("vsdx", ["0x50", "0x4B", "0x03", "0x04"]);
+add("vsdx", ["0x50", "0x4B", "0x05", "0x06"]);
+add("vsdx", ["0x50", "0x4B", "0x07", "0x08"]);
+add("apk", ["0x50", "0x4B", "0x03", "0x04"]);
+add("apk", ["0x50", "0x4B", "0x05", "0x06"]);
+add("apk", ["0x50", "0x4B", "0x07", "0x08"]);
+add("aar", ["0x50", "0x4B", "0x03", "0x04"]);
+add("aar", ["0x50", "0x4B", "0x05", "0x06"]);
+add("aar", ["0x50", "0x4B", "0x07", "0x08"]);
+add("rar", ["0x52", "0x61", "0x72", "0x21", "0x1A", "0x07", "0x00"], {
+ mime: "application/vnd.rar",
+ extension: "rar",
+});
+add("rar", ["0x52", "0x61", "0x72", "0x21", "0x1A", "0x07", "0x01", "0x00"], {
+ mime: "application/vnd.rar",
+ extension: "rar",
+});
+add("rar", ["0x7F", "0x45", "0x4C", "0x46"], {
+ mime: "application/vnd.rar",
+ extension: "rar",
+});
+add("png", ["0x89", "0x50", "0x4E", "0x47", "0x0D", "0x0A", "0x1A", "0x0A"], {
+ mime: "image/png",
+ extension: "png",
+});
+add("apng", ["0x89", "0x50", "0x4E", "0x47", "0x0D", "0x0A", "0x1A", "0x0A"], {
+ mime: "image/apng",
+ extension: "apng",
+});
+add("class", ["0xCA", "0xFE", "0xBA", "0xBE"]);
+add("class", ["0xEF", "0xBB", "0xBF"]);
+add("class", ["0xFE", "0xed", "0xFA", "0xCE"], undefined, 0x1000);
+add("class", ["0xFE", "0xed", "0xFA", "0xCF"], undefined, 0x1000);
+add("class", ["0xCE", "0xFA", "0xed", "0xFE"]);
+add("class", ["0xCF", "0xFA", "0xed", "0xFE"]);
+add("class", ["0xFF", "0xFE"]);
+add("class", ["0xFF", "0xFE"]);
+add("class", ["0xFF", "0xFE", "0x00", "0x00"]);
+add("ps", ["0x25", "0x21", "0x50", "0x53"]);
+add("pdf", ["0x25", "0x50", "0x44", "0x46"], {
+ mime: "application/pdf",
+ extension: "pdf",
+});
+add("asf", [
+ "0x30",
+ "0x26",
+ "0xB2",
+ "0x75",
+ "0x8E",
+ "0x66",
+ "0xCF",
+ "0x11",
+ "0xA6",
+ "0xD9",
+ "0x00",
+ "0xAA",
+ "0x00",
+ "0x62",
+ "0xCE",
+ "0x6C",
+]);
+add("wma", [
+ "0x30",
+ "0x26",
+ "0xB2",
+ "0x75",
+ "0x8E",
+ "0x66",
+ "0xCF",
+ "0x11",
+ "0xA6",
+ "0xD9",
+ "0x00",
+ "0xAA",
+ "0x00",
+ "0x62",
+ "0xCE",
+ "0x6C",
+]);
+add("wmv", [
+ "0x30",
+ "0x26",
+ "0xB2",
+ "0x75",
+ "0x8E",
+ "0x66",
+ "0xCF",
+ "0x11",
+ "0xA6",
+ "0xD9",
+ "0x00",
+ "0xAA",
+ "0x00",
+ "0x62",
+ "0xCE",
+ "0x6C",
+]);
+add("deploymentimage", [
+ "0x24",
+ "0x53",
+ "0x44",
+ "0x49",
+ "0x30",
+ "0x30",
+ "0x30",
+ "0x31",
+]);
+add("ogg", ["0x4F", "0x67", "0x67", "0x53"], {
+ mime: "audio/ogg",
+ extension: "ogg",
+});
+add("oga", ["0x4F", "0x67", "0x67", "0x53"], {
+ mime: "audio/ogg",
+ extension: "oga",
+});
+add("ogv", ["0x4F", "0x67", "0x67", "0x53"], {
+ mime: "video/ogg",
+ extension: "ogv",
+});
+add("psd", ["0x38", "0x42", "0x50", "0x53"], {
+ mime: "application/x-photoshop",
+ extension: "psd",
+});
+add("clip", ["0x43", "0x53", "0x46", "0x43", "0x48", "0x55", "0x4e", "0x4b"]);
+add("wav", [
+ "0x52",
+ "0x49",
+ "0x46",
+ "0x46",
+ "?",
+ "?",
+ "?",
+ "?",
+ "0x57",
+ "0x41",
+ "0x56",
+ "0x45",
+], { mime: "audio/x-wav", extension: "wav" });
+add("avi", [
+ "0x52",
+ "0x49",
+ "0x46",
+ "0x46",
+ "?",
+ "?",
+ "?",
+ "?",
+ "0x41",
+ "0x56",
+ "0x49",
+ "0x20",
+], { mime: "video/x-msvideo", extension: "avi" });
+add("mp3", ["0xFF", "0xFB"], { mime: "audio/mpeg", extension: "mp3" });
+add("mp3", ["0xFF", "0xF3"], { mime: "audio/mpeg", extension: "mp3" });
+add("mp3", ["0xFF", "0xF2"], { mime: "audio/mpeg", extension: "mp3" });
+add("mp3", ["0x49", "0x44", "0x33"], { mime: "audio/mpeg", extension: "mp3" });
+add("bmp", ["0x42", "0x4D"], { mime: "image/bmp", extension: "bmp" });
+add("iso", ["0x43", "0x44", "0x30", "0x30", "0x31"]);
+add("flac", ["0x66", "0x4C", "0x61", "0x43"]);
+add("mid", ["0x4D", "0x54", "0x68", "0x64"], {
+ mime: "audio/midi",
+ extension: "mid",
+});
+add("midi", ["0x4D", "0x54", "0x68", "0x64"], {
+ mime: "audio/midi",
+ extension: "midi",
+});
+add("doc", ["0xD0", "0xCF", "0x11", "0xE0", "0xA1", "0xB1", "0x1A", "0xE1"], {
+ mime: "application/msword",
+ extension: "doc",
+});
+add("xls", ["0xD0", "0xCF", "0x11", "0xE0", "0xA1", "0xB1", "0x1A", "0xE1"], {
+ mime: "application/vnd.ms-excel",
+ extension: "xls",
+});
+add("ppt", ["0xD0", "0xCF", "0x11", "0xE0", "0xA1", "0xB1", "0x1A", "0xE1"], {
+ mime: "application/vnd.ms-powerpoint",
+ extension: "ppt",
+});
+add("msg", ["0xD0", "0xCF", "0x11", "0xE0", "0xA1", "0xB1", "0x1A", "0xE1"]);
+add("dex", ["0x64", "0x65", "0x78", "0x0A", "0x30", "0x33", "0x35", "0x00"]);
+add("vmdk", ["0x4B", "0x44", "0x4D"]);
+add("crx", ["0x43", "0x72", "0x32", "0x34"]);
+add("fh8", ["0x41", "0x47", "0x44", "0x33"]);
+add("cwk", [
+ "0x05",
+ "0x07",
+ "0x00",
+ "0x00",
+ "0x42",
+ "0x4F",
+ "0x42",
+ "0x4F",
+ "0x05",
+ "0x07",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x01",
+]);
+add("cwk", [
+ "0x06",
+ "0x07",
+ "0xE1",
+ "0x00",
+ "0x42",
+ "0x4F",
+ "0x42",
+ "0x4F",
+ "0x06",
+ "0x07",
+ "0xE1",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x00",
+ "0x01",
+]);
+add("toast", ["0x45", "0x52", "0x02", "0x00", "0x00", "0x00"]);
+add("toast", ["0x8B", "0x45", "0x52", "0x02", "0x00", "0x00", "0x00"]);
+add("dmg", ["0x78", "0x01", "0x73", "0x0D", "0x62", "0x62", "0x60"]);
+add("xar", ["0x78", "0x61", "0x72", "0x21"]);
+add("dat", ["0x50", "0x4D", "0x4F", "0x43", "0x43", "0x4D", "0x4F", "0x43"]);
+add("nes", ["0x4E", "0x45", "0x53", "0x1A"]);
+add("tar", ["0x75", "0x73", "0x74", "0x61", "0x72", "0x00", "0x30", "0x30"], undefined, 0x101);
+add("tar", ["0x75", "0x73", "0x74", "0x61", "0x72", "0x20", "0x20", "0x00"], undefined, 0x101);
+add("tox", ["0x74", "0x6F", "0x78", "0x33"]);
+add("mlv", ["0x4D", "0x4C", "0x56", "0x49"]);
+add("windowsupdate", [
+ "0x44",
+ "0x43",
+ "0x4D",
+ "0x01",
+ "0x50",
+ "0x41",
+ "0x33",
+ "0x30",
+]);
+add("7z", ["0x37", "0x7A", "0xBC", "0xAF", "0x27", "0x1C"], {
+ mime: "application/x-7z-compressed",
+ extension: "7z",
+});
+add("gz", ["0x1F", "0x8B"], { mime: "application/gzip", extension: "gz" });
+add("tar.gz", ["0x1F", "0x8B"], {
+ mime: "application/gzip",
+ extension: "tar.gz",
+});
+add("xz", ["0xFD", "0x37", "0x7A", "0x58", "0x5A", "0x00", "0x00"], {
+ mime: "application/gzip",
+ extension: "xz",
+});
+add("tar.xz", ["0xFD", "0x37", "0x7A", "0x58", "0x5A", "0x00", "0x00"], {
+ mime: "application/gzip",
+ extension: "tar.xz",
+});
+add("lz2", ["0x04", "0x22", "0x4D", "0x18"]);
+add("cab", ["0x4D", "0x53", "0x43", "0x46"]);
+add("mkv", ["0x1A", "0x45", "0xDF", "0xA3"]);
+add("mka", ["0x1A", "0x45", "0xDF", "0xA3"]);
+add("mks", ["0x1A", "0x45", "0xDF", "0xA3"]);
+add("mk3d", ["0x1A", "0x45", "0xDF", "0xA3"]);
+add("webm", ["0x1A", "0x45", "0xDF", "0xA3"], {
+ mime: "audio/webm",
+ extension: "webm",
+});
+add("dcm", ["0x44", "0x49", "0x43", "0x4D"], undefined, 0x80);
+add("xml", ["0x3C", "0x3f", "0x78", "0x6d", "0x6C", "0x20"], {
+ mime: "application/xml",
+ extension: "xml",
+});
+add("wasm", ["0x00", "0x61", "0x73", "0x6d"]);
+add("lep", ["0xCF", "0x84", "0x01"]);
+add("swf", ["0x43", "0x57", "0x53"], {
+ mime: "application/x-shockwave-flash",
+ extension: "swf",
+});
+add("swf", ["0x46", "0x57", "0x53"], {
+ mime: "application/x-shockwave-flash",
+ extension: "swf",
+});
+add("deb", ["0x21", "0x3C", "0x61", "0x72", "0x63", "0x68", "0x3E"]);
+add("rtf", ["0x7B", "0x5C", "0x72", "0x74", "0x66", "0x31"], {
+ mime: "application/rtf",
+ extension: "rtf",
+});
+add("m2p", ["0x00", "0x00", "0x01", "0xBA"]);
+add("vob", ["0x00", "0x00", "0x01", "0xBA"]);
+add("mpg", ["0x00", "0x00", "0x01", "0xBA"], {
+ mime: "video/mpeg",
+ extension: "mpg",
+});
+add("mpeg", ["0x00", "0x00", "0x01", "0xBA"], {
+ mime: "video/mpeg",
+ extension: "mpeg",
+});
+add("mpeg", ["0x47"], { mime: "video/mpeg", extension: "mpeg" });
+add("mpeg", ["0x00", "0x00", "0x01", "0xB3"], {
+ mime: "video/mpeg",
+ extension: "mpeg",
+});
+add("hl2demo", ["48", "4C", "32", "44", "45", "4D", "4F"]);
+exports.default = () => tree;