text: "use strict"
  
  process.chdir("test/")
  
  
  const fs = require("fs")
  const sha256 = require("js-sha256")
  const { deepStrictEqual } = require("assert")
  
  
  const files = {}
  
  const hashes = {
     "H3ab_spr.lod":     "d1caa924f479ecaa428a4372251ab09993ad48576d9ea5f21da6f17df0c74ed2",
     "AH16_.DEF":        "83fb8b1101f81853408bbd26b93449fafa04b31f9e90e01773c27713a59337c8",
     "AH16_.msk":        "e702a1b9c463f2fef2349a19984d27c8107d1638658183c4e591fa0bf9112382",
     "Cmummy.def":       "de1d4367c68838d79a7331ccbaca086cd3aa3ae409bba054ee7f992d282e0f55",
  
     "H3sprite.lod":     "57caf2c50573f33a0d91e4222e51d3a73c136d44decf59dde21cacad88fe5d66",
     "ArtifBon.def":     "0739c23c1ee600e3ef12a9661c7dc46d607979f502a282e578f9cd7b93ffdd6f",
     "AVCvgarm.def":     "824f012514ab7f9fff7c6f418f14b90ff70ef86373955af0d02be7525604f02b",
     "CRDRGN.def":       "434cf98ef1981b476dac398da0f2ff1f468fcb5e2a81c66896b0a9f4e0e21fff",
     "SGTWMTA.def":      "ebf06379918753b4436bf9b84e85f18432cb089f1eeae3736e0e54769138b1ea",
     "SGTWMTB.def":      "c3256609ec1f611e83f7d1d5832a394a135aaa8676a083037db3657268c9db6d",
  
     "BoArt120.pcx":     "8f8d0b330ae12cfdb1f7b581cf0d1d239828bfef626ce3f4df0e9746e1a1c3cd",
     "CslReE3c.pcx":     "d99fc077dc70e7173b08fc59291486ce86f19fee50116847a00f097bc4b6df22",
     "t-bcw-001122.pcx": "2f667c33fee1887c331e80d0a0bb1baf731b68d25eefa1e1d32ef54e2967a0c3",
     "t-ccw-001122.pcx": "b6f49e059b78d98ab30b42159b63eeedb232859eb4f6070f991a08fd9efa7723",
     "t-mcw-001122.pcx": "649db28c94322872eda8a5fdb8fbdaf342145e9a2156dfab786c5ac399b9e939",
     "t-wcw-001122.pcx": "fa78d5db57c126e1e9a7ee9d7529e5922d37a18afa7c408b31e7a9e627162182"
  }
  
  
  
  // Check if test files are present.
  before(async() => {
  
     const filenames = Object.keys(hashes)
  
     for (const filename of filenames) {
        if (!exists(`files/${filename}`))
           throw new Error(`Missing '${filename}'.`)
        files[filename] = await read(`files/${filename}`)      // eslint-disable-line no-await-in-loop
        if (hashes[filename] !== sha256(files[filename]))
           throw new Error(`'${filename}' hash mismatch.`)
     }
  
  })
  
  
  
  const sources = ["lib/index", "dist/homm3-unpacker"]
  for (const source of sources) {
     describe(source, function() {
  
        this.timeout(10000)
  
        const module = require(`../${source}`)                 // eslint-disable-line global-require
        const { unpackLOD, unpackDEF, unpackPCX } = module["homm3-unpacker"] || module
  
        describe("lod", () => {
  
           // This also acts as an integrity check for archived files as they were extracted with an external tool (MMArchive).
           it("default", () => {
              let lod
  
              lod = unpackLOD(files["H3sprite.lod"])
              hashArrayBuffers(lod)
  
              assert(lod.type, "lod (vanilla)")
              assert(Object.keys(lod.files), ["AB01_.def", "AB01_.msk", "AB02_.def", "AB02_.msk", "AB03_.def", "AB03_.msk", "ABF01B.def", "ABF01B.msk", "ABF01D.def", "ABF01D.msk", "ABF01G.def", "ABF01G.msk", "ABF01K.def", "ABF01K.msk", "ABF01L.def", "ABF01L.msk", "ABF01P.def", "ABF01P.msk", "ABF01R.def", "ABF01R.msk", "ABF01W.def", "ABF01W.msk", "ABF02B.def", "ABF02B.msk", "ABF02D.def", "ABF02D.msk", "ABF02G.def", "ABF02G.msk", "ABF02K.def", "ABF02K.msk", "ABF02L.def", "ABF02L.msk", "ABF02P.def", "ABF02P.msk", "ABF02R.def", "ABF02R.msk", "ABF02W.def", "ABF02W.msk", "ABF03B.def", "ABF03B.msk", "ABF03D.def", "ABF03D.msk", "ABF03G.def", "ABF03G.msk", "ABF03K.def", "ABF03K.msk", "ABF03L.def", "ABF03L.msk", "ABF03P.def", "ABF03P.msk", "ABF03R.def", "ABF03R.msk", "ABF03W.def", "ABF03W.msk", "ABM01_.def", "ABM01_.msk", "ABM02_.def", "ABM02_.msk", "ABM03_.def", "ABM03_.msk", "adag.def", "ADcfra.def", "ADcfra.msk", "ADCFRA0.def", "ADCFRA0.msk", "ADOPB1B.DEF", "ADOPB1G.DEF", "ADOPB1O.DEF", "ADOPB1P.DEF", "ADOPB1R.DEF", "ADOPB1S.DEF", "ADOPB1T.DEF", "ADOPB1Y.DEF", "ADOPB2B.DEF", "ADOPB2G.DEF", "ADOPB2O.DEF", "ADOPB2P.DEF", "ADOPB2R.DEF", "ADOPB2S.DEF", "ADOPB2T.DEF", "ADOPB2Y.DEF", "ADOPLFA.DEF", "ADOPRTA.DEF", "ADVDIG.def", "ADVINFO.def", "ADVMWIND.def", "ADVMWIND.msk", "ADVPUZ.def", "ADVTURN.def", "ADVVIEW.def", "AF00.def", "AF00.msk", "AF00E.def", "AF00E.msk", "af01.def", "af01.msk", "AF01E.def", "AF01E.msk", "af02.def", "af02.msk", "AF02E.def", "AF02E.msk", "af03.def", "af03.msk", "AF03E.def", "AF03E.msk", "af04.def", "af04.msk", "AF04E.def", "AF04E.msk", "af05.def", "af05.msk", "AF05E.def", "AF05E.msk", "af06.def", "af06.msk", "AF06E.def", "AF06E.msk", "AF07.def", "AF07.msk", "AF07E.def", "AF07E.msk", "agemLL.def", "agemLR.def", "agemUL.def", "agemUR.def", "AH00_.def", "AH00_.msk", "AH00_E.def", "AH00_E.msk", "AH01_.def", "AH01_.msk", "AH01_E.def", "AH01_E.msk", "AH01m.msk", "AH02_.def", "AH02_.msk", "AH02_E.def", "AH02_E.msk", "AH02F.msk", "AH02m.msk", "AH03_.def", "AH03_.msk", "AH03_E.def", "AH03_E.msk", "AH04_.def", "AH04_.msk", "AH04_E.def", "AH04_E.msk", "AH05_.def", "AH05_.msk", "AH05_E.def", "AH05_E.msk", "AH06_.def", "AH06_.msk", "AH06_E.def", "AH06_E.msk", "AH07_.def", "AH07_.msk", "AH07_E.def", "AH07_E.msk", "AH08_.def", "AH08_.msk", "AH08_E.def", "AH08_E.msk", "AH09_.def", "AH09_.msk", "AH09_E.def", "AH09_E.msk", "AH10_.def", "AH10_.msk", "AH10_E.def", "AH10_E.msk", "AH11_.def", "AH11_.msk", "AH11_E.def", "AH11_E.msk", "AH12_.def", "AH12_.msk", "AH12_E.def", "AH12_E.msk", "AH13_.def", "AH13_.msk", "AH13_E.def", "AH13_E.msk", "AH14_.def", "AH14_.msk", "AH14_E.def", "AH14_E.msk", "AH15_.def", "AH15_.msk", "AH15_E.def", "AH15_E.msk", "AH16_.DEF", "AH16_.msk", "AH16_e.def", "AH16_e.msk", "AH17_.DEF", "AH17_.msk", "AH17_e.def", "AH17_e.msk", "AHplace.def", "AHplace.msk", "AHRANDOM.def", "AHRANDOM.msk", "AltArmy.def", "AltArt.def", "AltEmBk.def", "AltFill.def", "AltSacC.def", "AltSacr.def", "AOFLGBB.DEF", "AOFLGBG.DEF", "AOFLGBO.DEF", "AOFLGBP.DEF", "AOFLGBR.DEF", "AOFLGBS.DEF", "AOFLGBT.DEF", "AOFLGBY.DEF", "APHLF1G.def", "APHLF1R.def", "APHLF1Y.def", "APHLF4G.def", "APHLF4R.def", "APHLF4Y.def", "arrow.def", "arrow.msk", "Artifact.def", "ArtifBon.def", "auidat.def", "auires.def", "AVA0001.def", "AVA0001.msk", "AVA0002.def", "AVA0002.msk", "AVA0003.def", "AVA0003.msk", "AVA0004.def", "AVA0004.msk", "AVA0005.def", "AVA0005.msk", "AVA0006.def", "AVA0006.msk", "AVA0007.def", "AVA0007.msk", "AVA0008.def", "AVA0008.msk", "AVA0009.def", "AVA0009.msk", "AVA0010.def", "AVA0010.msk", "AVA0011.def", "AVA0011.msk", "AVA0012.def", "AVA0012.msk", "AVA0013.def", "AVA0013.msk", "AVA0014.def", "AVA0014.msk", "AVA0015.def", "AVA0015.msk", "AVA0016.def", "AVA0016.msk", "AVA0017.def", "AVA0017.msk", "AVA0018.def", "AVA0018.msk", "AVA0019.def", "AVA0019.msk", "AVA0020.def", "AVA0020.msk", "AVA0021.def", "AVA0021.msk", "AVA0022.def", "AVA0022.msk", "AVA0023.def", "AVA0023.msk", "AVA0024.def", "AVA0024.msk", "AVA0025.def", "AVA0025.msk", "AVA0026.def", "AVA0026.msk", "AVA0027.def", "AVA0027.msk", "AVA0028.def", "AVA0028.msk", "AVA0029.def", "AVA0029.msk", "AVA0030.def", "AVA0030.msk", "AVA0031.def", "AVA0031.msk", "AVA0032.def", "AVA0032.msk", "AVA0033.def", "AVA0033.msk", "AVA0034.def", "AVA0034.msk", "AVA0035.def", "AVA0035.msk", "AVA0036.def", "AVA0036.msk", "AVA0037.def", "AVA0037.msk", "AVA0038.def", "AVA0038.msk", "AVA0039.def", "AVA0039.msk", "AVA0040.def", "AVA0040.msk", "AVA0041.def", "AVA0041.msk", "AVA0042.def", "AVA0042.msk", "AVA0043.def", "AVA0043.msk", "AVA0044.def", "AVA0044.msk", "AVA0045.def", "AVA0045.msk", "AVA0046.def", "AVA0046.msk", "AVA0047.def", "AVA0047.msk", "AVA0048.def", "AVA0048.msk", "AVA0049.def", "AVA0049.msk", "AVA0050.def", "AVA0050.msk", "AVA0051.def", "AVA0051.msk", "AVA0052.def", "AVA0052.msk", "AVA0053.def", "AVA0053.msk", "AVA0054.def", "AVA0054.msk", "AVA0055.def", "AVA0055.msk", "AVA0056.def", "AVA0056.msk", "AVA0057.def", "AVA0057.msk", "AVA0058.def", "AVA0058.msk", "AVA0059.def", "AVA0059.msk", "AVA0060.def", "AVA0060.msk", "AVA0061.def", "AVA0061.msk", "AVA0062.def", "AVA0062.msk", "AVA0063.def", "AVA0063.msk", "AVA0064.def", "AVA0064.msk", "AVA0065.def", "AVA0065.msk", "AVA0066.def", "AVA0066.msk", "AVA0067.def", "AVA0067.msk", "AVA0068.def", "AVA0068.msk", "AVA0069.def", "AVA0069.msk", "AVA0070.def", "AVA0070.msk", "AVA0071.def", "AVA0071.msk", "AVA0072.def", "AVA0072.msk", "AVA0073.def", "AVA0073.msk", "AVA0074.def", "AVA0074.msk", "AVA0075.def", "AVA0075.msk", "AVA0076.def", "AVA0076.msk", "AVA0077.def", "AVA0077.msk", "AVA0078.def", "AVA0078.msk", "AVA0079.def", "AVA0079.msk", "AVA0080.def", "AVA0080.msk", "AVA0081.def", "AVA0081.msk", "AVA0082.def", "AVA0082.msk", "AVA0083.def", "AVA0083.msk", "AVA0084.def", "AVA0084.msk", "AVA0085.def", "AVA0085.msk", "AVA0086.def", "AVA0086.msk", "AVA0087.def", "AVA0087.msk", "AVA0088.def", "AVA0088.msk", "AVA0089.def", "AVA0089.msk", "AVA0090.def", "AVA0090.msk", "AVA0091.def", "AVA0091.msk", "AVA0092.def", "AVA0092.msk", "AVA0093.def", "AVA0093.msk", "AVA0094.def", "AVA0094.msk", "AVA0095.def", "AVA0095.msk", "AVA0096.def", "AVA0096.msk", "AVA0097.def", "AVA0097.msk", "AVA0098.def", "AVA0098.msk", "AVA0099.def", "AVA0099.msk", "AVA0100.def", "AVA0100.msk", "AVA0101.def", "AVA0101.msk", "AVA0102.def", "AVA0102.msk", "AVA0103.def", "AVA0103.msk", "AVA0104.def", "AVA0104.msk", "AVA0105.def", "AVA0105.msk", "AVA0106.def", "AVA0106.msk", "AVA0107.def", "AVA0107.msk", "AVA0108.def", "AVA0108.msk", "AVA0109.def", "AVA0109.msk", "AVA0110.def", "AVA0110.msk", "AVA0111.def", "AVA0111.msk", "AVA0112.def", "AVA0112.msk", "AVA0113.def", "AVA0113.msk", "AVA0114.def", "AVA0114.msk", "AVA0115.def", "AVA0115.msk", "AVA0116.def", "AVA0116.msk", "AVA0117.def", "AVA0117.msk", "AVA0118.def", "AVA0118.msk", "AVA0119.def", "AVA0119.msk", "AVA0120.def", "AVA0120.msk", "AVA0121.def", "AVA0121.msk", "AVA0122.def", "AVA0122.msk", "AVA0123.def", "AVA0123.msk", "AVA0124.def", "AVA0124.msk", "AVA0125.def", "AVA0125.msk", "AVA0126.def", "AVA0126.msk", "AVA0127.def", "AVA0127.msk", "AVA0128.def", "AVA0128.msk", "AVA0129.def", "AVA0129.msk", "AVA0130.def", "AVA0130.msk", "AVA0131.def", "AVA0131.msk", "AVA0132.def", "AVA0132.msk", "AVA0133.def", "AVA0133.msk", "AVA0134.def", "AVA0134.msk", "AVA0135.def", "AVA0135.msk", "AVA0136.def", "AVA0136.msk", "AVA0137.def", "AVA0137.msk", "AVA0138.def", "AVA0138.msk", "AVA0139.def", "AVA0139.msk", "AVA0140.def", "AVA0140.msk", "AVA0141.def", "AVA0141.msk", "AVA0142.def", "AVA0142.msk", "AVA0143.def", "AVA0143.msk", "AVA0144.def", "AVA0144.msk", "AVAdlic0.def", "AVAdlic0.msk", "AVAflot0.def", "AVAflot0.msk", "AVARAND.def", "AVARAND.msk", "AVARND1.def", "AVARND1.msk", "AVARND2.def", "AVARND2.msk", "AVARND3.def", "AVARND3.msk", "AVARND4.def", "AVARND4.msk", "AvArtif.def", "AvArtif.msk", "AVAsurv0.def", "AVAsurv0.msk", "AVAwre20.def", "AVAwre20.msk", "AVAwrek0.def", "AVAwrek0.msk", "AVCCAST0.def", "AVCCAST0.msk", "AVCcasx0.def", "AVCcasx0.msk", "AVCCASZ0.def", "AVCCASZ0.msk", "AVCdrgn0.msk", "AVCDUNG0.def", "AVCDUNG0.msk", "AVCdunx0.def", "AVCdunx0.msk", "AVCDUNZ0.def", "AVCDUNZ0.msk", "AVCFORZ0.def", "AVCFORZ0.msk", "AVCftrc0.def", "AVCftrc0.msk", "AVCftrt0.def", "AVCftrt0.msk", "Avcftrx0.def", "Avcftrx0.msk", "AVCgar10.def", "AVCgar10.msk", "AVCgar20.def", "AVCgar20.msk", "AVChfor0.def", "AVChfor0.msk", "AVChforX.def", "AVChforX.msk", "AVChforZ.def", "AVChforZ.msk", "AVCinfc0.def", "AVCinfc0.msk", "AVCinft0.def", "AVCinft0.msk", "AvCinfx0.def", "AvCinfx0.msk", "AVCINFZ0.def", "AVCINFZ0.msk", "AVCNECR0.def", "AVCNECR0.msk", "AVCnecx0.def", "AVCnecx0.msk", "AVCNECZ0.def", "AVCNECZ0.msk", "AVCneut0.def", "AVCneut0.msk", "AVCRAMP0.def", "AVCRAMP0.msk", "AVCramx0.def", "AVCramx0.msk", "AVCRAMZ0.def", "AVCRAMZ0.msk", "AVCRAND0.def", "AVCRAND0.msk", "avcranx0.def", "avcranx0.msk", "AVCRANZ0.def", "AVCRANZ0.msk", "AVCSTRO0.def", "AVCSTRO0.msk", "AVCstrx0.def", "AVCstrx0.msk", "AVCSTRZ0.def", "AVCSTRZ0.msk", "AVCTOWR0.def", "AVCTOWR0.msk", "AVCtowx0.def", "AVCtowx0.msk", "AVCTOWZ0.def", "AVCTOWZ0.msk", "AVCvgarm.def", "AVCvgarm.msk", "AVCvgr.def", "AVCvgr.msk", "AVG2ang0.def", "AVG2ang0.msk", "AVG2ela.def", "AVG2ela.msk", "AVG2ele.def", "AVG2ele.msk", "AVG2elf.def", "AVG2elf.msk", "AVG2elw.def", "AVG2elw.msk", "AVG2uni.def", "AVG2uni.msk", "AVGair0.def", "AVGair0.msk", "AVGangl0.def", "AVGangl0.msk", "AVGazur.def", "AVGazur.msk", "AVGbasl0.def", "AVGbasl0.msk", "AVGbhld0.def", "AVGbhld0.msk", "AVGbhmt0.def", "AVGbhmt0.msk", "AVGBKNI0.def", "AVGBKNI0.msk", "AVGboar.def", "AVGboar.msk", "AVGbone0.def", "AVGbone0.msk", "AVGcavl0.def", "AVGcavl0.msk", "AVGcdrg.def", "AVGcdrg.msk", "AVGCENT0.def", "AVGCENT0.msk", "AVGCROS0.def", "AVGCROS0.msk", "AVGcycl0.def", "AVGcycl0.msk", "AVGDEMN0.def", "AVGDEMN0.msk", "AVGdevl0.def", "AVGdevl0.msk", "AVGdfly0.def", "AVGdfly0.msk", "AVGdwrf0.def", "AVGdwrf0.msk", "AVGefre0.def", "AVGefre0.msk", "avgelem0.def", "avgelem0.msk", "AVGelf0.def", "AVGelf0.msk", "AVGelp.def", "AVGelp.msk", "AVGench.def", "AVGench.msk", "AVGerth0.def", "AVGerth0.msk", "AVGfbrd.def", "AVGfbrd.msk", "AVGfdrg.def", "AVGfdrg.msk", "AVGfire0.def", "AVGfire0.msk", "AVGGARG0.def", "AVGGARG0.msk", "AVGgdrg0.def", "AVGgdrg0.msk", "AVGgeni0.def", "AVGgeni0.msk", "AVGgian0.msk", "AVGGLM0.msk", "AVGGNLL0.def", "AVGGNLL0.msk", "AVGgobl0.def", "AVGgobl0.msk", "AVGgogs0.def", "AVGgogs0.msk", "AVGgolm0.def", "AVGgolm0.msk", "AVGgorg0.def", "AVGgorg0.msk", "AVGGREM0.def", "AVGGREM0.msk", "AVGgrff0.def", "AVGgrff0.msk", "AVGGRM0.msk", "AVGhalf.def", "AVGhalf.msk", "AVGharp0.def", "AVGharp0.msk", "AVGhell0.def", "AVGhell0.msk", "AVGhydr0.def", "AVGhydr0.msk", "AVGimp0.def", "AVGimp0.msk", "AVGlich0.def", "AVGlich0.msk", "AVGlzrd0.def", "AVGlzrd0.msk", "AVGmage0.def", "AVGmage0.msk", "AVGmant0.def", "AVGmant0.msk", "AVGmdsa0.def", "AVGmdsa0.msk", "AVGmino0.def", "AVGmino0.msk", "AVGmonk0.def", "AVGmonk0.msk", "AVGmumy.def", "AVGmumy.msk", "AVGnaga0.def", "AVGnaga0.msk", "AVGnite0.msk", "AvGnoll.def", "AvGnoll.msk", "AVGnomd.def", "AVGnomd.msk", "AVGogre0.def", "AVGogre0.msk", "AVGorcg0.def", "AVGorcg0.msk", "AVGorcs0.msk", "AVGpeas.def", "AVGpeas.msk", "AVGpega0.def", "AVGpega0.msk", "AVGPIKE0.def", "AVGPIKE0.msk", "AVGpit0.def", "AVGpit0.msk", "AVGpixie.def", "AVGpixie.msk", "AVGrdrg0.def", "AVGrdrg0.msk", "AVGrefg0.def", "AVGrefg0.msk", "AVGrocs0.def", "AVGrocs0.msk", "AVGrog.def", "AVGrog.msk", "AVGrust.def", "AVGrust.msk", "AVGshrp.def", "AVGshrp.msk", "AVGsieg0.def", "AVGsieg0.msk", "AVGskel0.def", "AVGskel0.msk", "AVGSWOR0.def", "AVGSWOR0.msk", "AVGtitn0.def", "AVGtitn0.msk", "AVGtree0.def", "AVGtree0.msk", "AVGtrll.def", "AVGtrll.msk", "AVGtrog0.def", "AVGtrog0.msk", "AVGUNIC0.def", "AVGUNIC0.msk", "AVGUTOP0.msk", "AVGvamp0.def", "AVGvamp0.msk", "AVGwatr0.def", "AVGwatr0.msk", "AVGwght0.def", "AVGwght0.msk", "AVGWOLF0.def", "AVGWOLF0.msk", "AVGwyvn0.def", "AVGwyvn0.msk", "AVGzomb0.def", "AVGzomb0.msk", "AVLAUTR0.def", "AVLAUTR0.msk", "AVLAUTR1.def", "AVLAUTR1.msk", "AVLAUTR2.def", "AVLAUTR2.msk", "AVLAUTR3.def", "AVLAUTR3.msk", "AVLAUTR4.def", "AVLAUTR4.msk", "AVLAUTR5.def", "AVLAUTR5.msk", "AVLAUTR6.def", "AVLAUTR6.msk", "AVLAUTR7.def", "AVLAUTR7.msk", "AVLbuzr0.def", "AVLbuzr0.msk", "avlc10l0.def", "avlc10l0.msk", "avlc11l0.def", "avlc11l0.msk", "avlc12l0.def", "avlc12l0.msk", "avlc13l0.def", "avlc13l0.msk", "avlc14l0.def", "avlc14l0.msk", "AVLca010.def", "AVLca010.msk", "AVLca020.def", "AVLca020.msk", "AVLca030.def", "AVLca030.msk", "AVLca040.def", "AVLca040.msk", "AVLca050.def", "AVLca050.msk", "AVLca060.def", "AVLca060.msk", "AVLca070.def", "AVLca070.msk", "AVLca080.def", "AVLca080.msk", "AVLca090.def", "AVLca090.msk", "AVLca100.def", "AVLca100.msk", "AVLca110.def", "AVLca110.msk", "AVLca120.def", "AVLca120.msk", "AVLca130.def", "AVLca130.msk", "AVLca1r0.def", "AVLca1r0.msk", "AVLca2r0.def", "AVLca2r0.msk", "AVLct1d0.def", "AVLct1d0.msk", "AVLct1g0.def", "AVLct1g0.msk", "AVLct1l0.def", "AVLct1l0.msk", "AVLct1r0.def", "AVLct1r0.msk", "AVLCT1U0.DEF", "AVLCT1U0.msk", "AVLct2d0.def", "AVLct2d0.msk", "AVLct2g0.def", "AVLct2g0.msk", "AVLct2l0.def", "AVLct2l0.msk", "AVLct2r0.def", "AVLct2r0.msk", "AVLCT2U0.DEF", "AVLCT2U0.msk", "AVLct3d0.def", "AVLct3d0.msk", "AVLct3g0.def", "AVLct3g0.msk", "avlct3l0.def", "avlct3l0.msk", "AVLct3r0.def", "AVLct3r0.msk", "AVLCT3U0.DEF", "AVLCT3U0.msk", "AVLCT4D0.def", "AVLCT4D0.msk", "AVLCT4G0.def", "AVLCT4G0.msk", "avlct4l0.def", "avlct4l0.msk", "AVLCT4R0.def", "AVLCT4R0.msk", "AVLCT4U0.DEF", "AVLCT4U0.msk", "AVLCT5D0.def", "AVLCT5D0.msk", "AVLCT5G0.def", "AVLCT5G0.msk", "avlct5l0.def", "avlct5l0.msk", "AVLCT5R0.def", "AVLCT5R0.msk", "AVLCT5U0.DEF", "AVLCT5U0.msk", "AVLCT6G0.def", "AVLCT6G0.msk", "avlct6l0.def", "avlct6l0.msk", "AVLCT6R0.def", "AVLCT6R0.msk", "avlct7l0.def", "avlct7l0.msk", "AVLCT7R0.def", "AVLCT7R0.msk", "avlct8l0.def", "avlct8l0.msk", "AVLCT8R0.def", "AVLCT8R0.msk", "avlct9l0.def", "avlct9l0.msk", "AVLCT9R0.def", "AVLCT9R0.msk", "AVLctds0.def", "AVLctds0.msk", "AVLctrd0.def", "AVLctrd0.msk", "AVLctrg0.def", "AVLctrg0.msk", "AVLctrl0.def", "AVLctrl0.msk", "AVLctrr0.def", "AVLctrr0.msk", "AVLctrs0.def", "AVLctrs0.msk", "AVLctsn0.def", "AVLctsn0.msk", "AVLd1sn0.def", "AVLd1sn0.msk", "AVLd2sn0.def", "AVLd2sn0.msk", "AVLd3sn0.def", "AVLd3sn0.msk", "AVLd4sn0.def", "AVLd4sn0.msk", "AVLd5sn0.def", "AVLd5sn0.msk", "AVLd6sn0.def", "AVLd6sn0.msk", "AVLd7sn0.def", "AVLd7sn0.msk", "AVLd8sn0.def", "AVLd8sn0.msk", "AVLd9sn0.def", "AVLd9sn0.msk", "AVLDDSN0.def", "AVLDDSN0.msk", "AVLDDSN1.def", "AVLDDSN1.msk", "AVLDDSN2.def", "AVLDDSN2.msk", "AVLDDSN3.def", "AVLDDSN3.msk", "AVLDDSN4.def", "AVLDDSN4.msk", "AVLDDSN5.def", "AVLDDSN5.msk", "AVLDDSN6.def", "AVLDDSN6.msk", "AVLDDSN7.def", "AVLDDSN7.msk", "AVLDEAD0.def", "AVLDEAD0.msk", "AVLDEAD1.def", "AVLDEAD1.msk", "AVLDEAD2.def", "AVLDEAD2.msk", "AVLDEAD3.def", "AVLDEAD3.msk", "AVLDEAD4.def", "AVLDEAD4.msk", "AVLDEAD5.def", "AVLDEAD5.msk", "AVLDEAD6.def", "AVLDEAD6.msk", "AVLDEAD7.def", "AVLDEAD7.msk", "AvLdlog.def", "AvLdlog.msk", "AVLdt1s0.def", "AVLdt1s0.msk", "AVLdt2s0.def", "AVLdt2s0.msk", "AVLdt3s0.def", "AVLdt3s0.msk", "AVLdun10.def", "AVLdun10.msk", "AVLdun20.def", "AVLdun20.msk", "AVLdun30.def", "AVLdun30.msk", "AVLf01g0.def", "AVLf01g0.msk", "AVLf02g0.def", "AVLf02g0.msk", "AVLf03g0.def", "AVLf03g0.msk", "AVLf04g0.def", "AVLf04g0.msk", "AVLf05g0.def", "AVLf05g0.msk", "AVLf06g0.def", "AVLf06g0.msk", "AVLf07g0.def", "AVLf07g0.msk", "AVLf08g0.def", "AVLf08g0.msk", "AVLf09g0.def", "AVLf09g0.msk", "AVLf10g0.def", "AVLf10g0.msk", "AVLf11g0.def", "AVLf11g0.msk", "AVLf12g0.def", "AVLf12g0.msk", "AVLfl1d0.def", "AVLfl1d0.msk", "AVLfl2d0.def", "AVLfl2d0.msk", "AVLfl3d0.def", "AVLfl3d0.msk", "AVLfl4d0.def", "AVLfl4d0.msk", "AVLfl5d0.def", "AVLfl5d0.msk", "AVLfl6d0.def", "AVLfl6d0.msk", "AVLfl7d0.def", "AVLfl7d0.msk", "AVLfl8d0.def", "AVLfl8d0.msk", "AVLfl9d0.def", "AVLfl9d0.msk", "AVLflk10.def", "AVLflk10.msk", "AVLflk20.def", "AVLflk20.msk", "AVLflk30.def", "AVLflk30.msk", "AVLglly0.def", "AVLglly0.msk", "AVLhlds0.def", "AVLhlds0.msk", "AVLhlsn0.def", "AVLhlsn0.msk", "AVLhold0.def", "AVLhold0.msk", "AVLholg0.def", "AVLholg0.msk", "AVLholl0.def", "AVLholl0.msk", "AVLholr0.def", "AVLholr0.msk", "AVLhols0.def", "AVLhols0.msk", "AVLHOLU0.DEF", "AVLHOLU0.msk", "AVLHOLX0.def", "AVLHOLX0.msk", "AVLklp10.def", "AVLklp10.msk", "AVLklp20.def", "AVLklp20.msk", "AVLlav10.def", "AVLlav10.msk", "AVLlav20.def", "AVLlav20.msk", "AVLlav30.def", "AVLlav30.msk", "AVLlav40.def", "AVLlav40.msk", "AVLlav50.def", "AVLlav50.msk", "AVLlav60.def", "AVLlav60.msk", "AVLlav70.def", "AVLlav70.msk", "AVLlav80.def", "AVLlav80.msk", "AVLlav90.def", "AVLlav90.msk", "AVLlk1d0.def", "AVLlk1d0.msk", "AVLlk1g0.def", "AVLlk1g0.msk", "AVLlk1r.def", "AVLlk1r.msk", "AVLlk1s0.def", "AVLlk1s0.msk", "AVLLK1U0.DEF", "AVLLK1U0.msk", "AVLlk2d0.def", "AVLlk2d0.msk", "AVLlk2g0.def", "AVLlk2g0.msk", "AVLlk2s0.def", "AVLlk2s0.msk", "AVLLK2U0.DEF", "AVLLK2U0.msk", "AVLlk3d0.def", "AVLlk3d0.msk", "AVLlk3g0.def", "AVLlk3g0.msk", "AVLlk3s0.def", "AVLlk3s0.msk", "AVLLK3U0.DEF", "AVLLK3U0.msk", "AVLLLK10.DEF", "AVLLLK10.msk", "AVLLLK20.DEF", "AVLLLK20.msk", "AVLlv100.def", "AVLlv100.msk", "AVLlv110.def", "AVLlv110.msk", "AVLlv120.def", "AVLlv120.msk", "AVLlv130.def", "AVLlv130.msk", "AVLlv140.def", "AVLlv140.msk", "AVLlv150.def", "AVLlv150.msk", "AVLlv160.def", "AVLlv160.msk", "AVLLV170.def", "AVLLV170.msk", "AVLLV180.def", "AVLLV180.msk", "AVLLV190.def", "AVLLV190.msk", "AVLLV1U0.DEF", "AVLLV1U0.msk", "AVLLV200.def", "AVLLV200.msk", "AVLlv210.def", "AVLlv210.msk", "AVLLV220.def", "AVLLV220.msk", "AVLLV230.def", "AVLLV230.msk", "AVLLV240.def", "AVLLV240.msk", "AVLLV250.def", "AVLLV250.msk", "AVLLV260.def", "AVLLV260.msk", "AVLLV2U0.DEF", "AVLLV2U0.msk", "AVLLV3U0.DEF", "AVLLV3U0.msk", "AVLman10.def", "AVLman10.msk", "AVLman20.def", "AVLman20.msk", "AVLman30.def", "AVLman30.msk", "AVLman40.def", "AVLman40.msk", "AVLman50.def", "AVLman50.msk", "AVLmd1d0.def", "AVLmd1d0.msk", "AVLmd1g0.def", "AVLmd1g0.msk", "AVLMD1R0.def", "AVLMD1R0.msk", "AVLmd2d0.def", "AVLmd2d0.msk", "AVLmd2g0.def", "AVLmd2g0.msk", "AVLMD2R0.def", "AVLMD2R0.msk", "AVLMD3R0.def", "AVLMD3R0.msk", "AVLmoss0.def", "AVLmoss0.msk", "AVLMS010.DEF", "AVLMS010.msk", "AVLMS020.DEF", "AVLMS020.msk", "AVLMS030.DEF", "AVLMS030.msk", "AVLMS040.DEF", "AVLMS040.msk", "AVLMS050.DEF", "AVLMS050.msk", "AVLMS060.DEF", "AVLMS060.msk", "AVLMS070.DEF", "AVLMS070.msk", "AVLMS080.DEF", "AVLMS080.msk", "AVLMS090.DEF", "AVLMS090.msk", "AVLMS100.DEF", "AVLMS100.msk", "AVLMS110.DEF", "AVLMS110.msk", "AVLMS120.DEF", "AVLMS120.msk", "AVLMTDR1.def", "AVLMTDR1.msk", "AVLMTDR2.def", "AVLMTDR2.msk", "AVLMTDR3.def", "AVLMTDR3.msk", "AVLMTDR4.def", "AVLMTDR4.msk", "AVLMTDR5.def", "AVLMTDR5.msk", "AVLMTDR6.def", "AVLMTDR6.msk", "AVLMTDR7.def", "AVLMTDR7.msk", "AVLMTDR8.def", "AVLMTDR8.msk", "AVLMTDS1.def", "AVLMTDS1.msk", "AVLMTDS2.def", "AVLMTDS2.msk", "AVLMTDS3.def", "AVLMTDS3.msk", "AVLMTDS4.def", "AVLMTDS4.msk", "AVLMTDS5.def", "AVLMTDS5.msk", "AVLMTDS6.def", "AVLMTDS6.msk", "AVLMTGN0.def", "AVLMTGN0.msk", "AVLMTGN1.def", "AVLMTGN1.msk", "AVLMTGN2.def", "AVLMTGN2.msk", "AVLMTGN3.def", "AVLMTGN3.msk", "AVLMTGN4.def", "AVLMTGN4.msk", "AVLMTGN5.def", "AVLMTGN5.msk", "AVLMTGR1.def", "AVLMTGR1.msk", "AVLMTGR2.def", "AVLMTGR2.msk", "AVLMTGR3.def", "AVLMTGR3.msk", "AVLMTGR4.def", "AVLMTGR4.msk", "AVLMTGR5.def", "AVLMTGR5.msk", "AVLMTGR6.def", "AVLMTGR6.msk", "AVLMTRF1.def", "AVLMTRF1.msk", "AVLMTRF2.def", "AVLMTRF2.msk", "AVLMTRF3.def", "AVLMTRF3.msk", "AVLMTRF4.def", "AVLMTRF4.msk", "AVLMTRF5.def", "AVLMTRF5.msk", "AVLMTRF6.def", "AVLMTRF6.msk", "AVLMTSB0.def", "AVLMTSB0.msk", "AVLMTSB1.def", "AVLMTSB1.msk", "AVLMTSB2.def", "AVLMTSB2.msk", "AVLMTSB3.def", "AVLMTSB3.msk", "AVLMTSB4.def", "AVLMTSB4.msk", "AVLMTSB5.def", "AVLMTSB5.msk", "AVLMTSN1.def", "AVLMTSN1.msk", "AVLMTSN2.def", "AVLMTSN2.msk", "AVLMTSN3.def", "AVLMTSN3.msk", "AVLMTSN4.def", "AVLMTSN4.msk", "AVLMTSN5.def", "AVLMTSN5.msk", "AVLMTSN6.def", "AVLMTSN6.msk", "AVLMTSW1.def", "AVLMTSW1.msk", "AVLMTSW2.def", "AVLMTSW2.msk", "AVLMTSW3.def", "AVLMTSW3.msk", "AVLMTSW4.def", "AVLMTSW4.msk", "AVLMTSW5.def", "AVLMTSW5.msk", "AVLMTSW6.def", "AVLMTSW6.msk", "AVLMTVO1.def", "AVLMTVO1.msk", "AVLMTVO2.def", "AVLMTVO2.msk", "AVLMTVO3.def", "AVLMTVO3.msk", "AVLMTVO4.def", "AVLMTVO4.msk", "AVLMTVO5.def", "AVLMTVO5.msk", "AVLMTVO6.def", "AVLMTVO6.msk", "AVLo1sn0.def", "AVLo1sn0.msk", "AVLo2sn0.def", "AVLo2sn0.msk", "AVLo3sn0.def", "AVLo3sn0.msk", "AVLoc1d0.def", "AVLoc1d0.msk", "AVLoc1g0.def", "AVLoc1g0.msk", "AVLOC1R0.def", "AVLOC1R0.msk", "avloc1u0.def", "avloc1u0.msk", "AVLoc2d0.def", "AVLoc2d0.msk", "AVLoc2g0.def", "AVLoc2g0.msk", "AVLOC2R0.def", "AVLOC2R0.msk", "AVLoc2u0.def", "AVLoc2u0.msk", "AVLoc3d0.def", "AVLoc3d0.msk", "AVLoc3g0.def", "AVLoc3g0.msk", "AVLOC3R0.def", "AVLOC3R0.msk", "AVLoc3u0.def", "AVLoc3u0.msk", "AVLOC4G0.DEF", "AVLOC4G0.msk", "AVLOC4R0.def", "AVLOC4R0.msk", "AVLoc4u0.def", "AVLoc4u0.msk", "AVLp1sn0.def", "AVLp1sn0.msk", "AVLp2sn0.def", "AVLp2sn0.msk", "AVLplm10.def", "AVLplm10.msk", "AVLplm20.def", "AVLplm20.msk", "AVLplm30.def", "AVLplm30.msk", "AVLplm40.def", "AVLplm40.msk", "AVLplm50.def", "AVLplm50.msk", "avlpntr0.def", "avlpntr0.msk", "avlpntr1.def", "avlpntr1.msk", "avlpntr2.def", "avlpntr2.msk", "avlpntr3.def", "avlpntr3.msk", "avlpntr4.def", "avlpntr4.msk", "avlpntr5.def", "avlpntr5.msk", "AVLPNTR6.def", "AVLPNTR6.msk", "AVLPNTR7.def", "AVLPNTR7.msk", "AVLr01u0.def", "AVLr01u0.msk", "AVLr02r0.def", "AVLr02r0.msk", "AVLr02u0.def", "AVLr02u0.msk", "AVLr03r0.def", "AVLr03r0.msk", "AVLr03u0.def", "AVLr03u0.msk", "AVLr04r0.def", "AVLr04r0.msk", "AVLr04u0.def", "AVLr04u0.msk", "AVLr05u0.def", "AVLr05u0.msk", "AVLr06r0.def", "AVLr06r0.msk", "AVLr06u0.def", "AVLr06u0.msk", "AVLr07r0.def", "AVLr07r0.msk", "AVLr07u0.def", "AVLr07u0.msk", "AVLr08r0.def", "AVLr08r0.msk", "AVLr08u0.def", "AVLr08u0.msk", "AVLr09r0.def", "AVLr09r0.msk", "AVLr09u0.def", "AVLr09u0.msk", "AVLr10r0.def", "AVLr10r0.msk", "AVLr10u0.def", "AVLr10u0.msk", "AVLr11r0.def", "AVLr11r0.msk", "AVLr11u0.def", "AVLr11u0.msk", "AVLr12r0.def", "AVLr12r0.msk", "AVLr12u0.def", "AVLr12u0.msk", "AVLr13r0.def", "AVLr13r0.msk", "AVLr13u0.def", "AVLr13u0.msk", "AVLR14R0.def", "AVLR14R0.msk", "AVLr14u0.def", "AVLr14u0.msk", "AVLR15R0.def", "AVLR15R0.msk", "AVLr15u0.def", "AVLr15u0.msk", "AVLr16u0.def", "AVLr16u0.msk", "AVLr1sn0.def", "AVLr1sn0.msk", "AVLr2sn0.def", "AVLr2sn0.msk", "AVLr3sn0.def", "AVLr3sn0.msk", "AVLr4sn0.def", "AVLr4sn0.msk", "AVLr5sn0.def", "AVLr5sn0.msk", "AVLr6sn0.def", "AVLr6sn0.msk", "AVLr7sn0.def", "AVLr7sn0.msk", "AVLr8sn0.def", "AVLr8sn0.msk", "AvLRD01.def", "AvLRD01.msk", "AvLRD02.def", "AvLRD02.msk", "AvLRD04.def", "AvLRD04.msk", "AVLref10.def", "AVLref10.msk", "AVLref20.def", "AVLref20.msk", "AVLref30.def", "AVLref30.msk", "AVLref40.def", "AVLref40.msk", "AVLref50.def", "AVLref50.msk", "AVLref60.def", "AVLref60.msk", "AvLRG01.def", "AvLRG01.msk", "AvLRG02.def", "AvLRG02.msk", "AvLRG03.def", "AvLRG03.msk", "AvLRG04.def", "AvLRG04.msk", "AvLRG05.def", "AvLRG05.msk", "AvLRG06.def", "AvLRG06.msk", "AvLRG07.def", "AvLRG07.msk", "AvLRG08.def", "AvLRG08.msk", "AvLRG09.def", "AvLRG09.msk", "AvLRG10.def", "AvLRG10.msk", "AvLRG11.def", "AvLRG11.msk", "AVLrk1s0.def", "AVLrk1s0.msk", "AVLrk1w0.def", "AVLrk1w0.msk", "AVLrk2s0.def", "AVLrk2s0.msk", "AVLrk2w0.def", "AVLrk2w0.msk", "AVLrk3d0.def", "AVLrk3d0.msk", "AVLrk3s0.def", "AVLrk3s0.msk", "AVLrk3w0.def", "AVLrk3w0.msk", "AVLrk4s0.def", "AVLrk4s0.msk", "AVLrk4w0.def", "AVLrk4w0.msk", "AVLrk5d0.def", "AVLrk5d0.msk", "AVLROUG0.def", "AVLROUG0.msk", "AVLROUG1.def", "AVLROUG1.msk", "AVLROUG2.def", "AVLROUG2.msk", "AvLRR01.def", "AvLRR01.msk", "AvLRR05.def", "AvLRR05.msk", "AVLs01s0.def", "AVLs01s0.msk", "AVLs02s0.def", "AVLs02s0.msk", "AVLs03s0.def", "AVLs03s0.msk", "AVLs04s0.def", "AVLs04s0.msk", "AVLs05s0.def", "AVLs05s0.msk", "AVLs06s0.def", "AVLs06s0.msk", "AVLs07s0.def", "AVLs07s0.msk", "AVLs08s0.def", "AVLs08s0.msk", "AVLs09s0.def", "AVLs09s0.msk", "AVLs10s0.def", "AVLs10s0.msk", "AVLs11s0.def", "AVLs11s0.msk", "AVLs1sn0.def", "AVLs1sn0.msk", "AVLs2sn0.def", "AVLs2sn0.msk", "AVLs3sn0.def", "AVLs3sn0.msk", "AVLsh1d0.def", "AVLsh1d0.msk", "AVLsh1g0.def", "AVLsh1g0.msk", "AVLsh1r0.def", "AVLsh1r0.msk", "AVLsh2d0.def", "AVLsh2d0.msk", "AVLsh2g0.def", "AVLsh2g0.msk", "AVLsh2r0.def", "AVLsh2r0.msk", "AVLsh3d0.def", "AVLsh3d0.msk", "AVLsh3g0.def", "AVLsh3g0.msk", "AVLsh3r0.def", "AVLsh3r0.msk", "AVLsh4d0.def", "AVLsh4d0.msk", "AVLsh4g0.def", "AVLsh4g0.msk", "AVLSH4R0.def", "AVLSH4R0.msk", "AVLsh5d0.def", "AVLsh5d0.msk", "AVLsh5g0.def", "AVLsh5g0.msk", "AVLSH5R0.def", "AVLSH5R0.msk", "AVLsh6d0.def", "AVLsh6d0.msk", "AVLsh6g0.def", "AVLsh6g0.msk", "AVLSH6R0.def", "AVLSH6R0.msk", "AVLSH7D0.def", "AVLSH7D0.msk", "AVLSH7R0.def", "AVLSH7R0.msk", "AVLSH8D0.def", "AVLSH8D0.msk", "AVLSH8R0.def", "AVLSH8R0.msk", "AVLSH9R0.def", "AVLSH9R0.msk", "AVLskul0.def", "AVLskul0.msk", "avlsntr0.def", "avlsntr0.msk", "avlsntr1.def", "avlsntr1.msk", "avlsntr2.def", "avlsntr2.msk", "avlsntr3.def", "avlsntr3.msk", "avlsntr4.def", "avlsntr4.msk", "avlsntr5.def", "avlsntr5.msk", "AVLSNTR6.def", "AVLSNTR6.msk", "AVLSNTR7.def", "AVLSNTR7.msk", "AVLspit0.def", "AVLspit0.msk", "AVLSPTR0.def", "AVLSPTR0.msk", "AVLSPTR1.def", "AVLSPTR1.msk", "AVLSPTR2.def", "AVLSPTR2.msk", "AVLSPTR3.def", "AVLSPTR3.msk", "AVLSPTR4.def", "AVLSPTR4.msk", "AVLSPTR5.def", "AVLSPTR5.msk", "AVLSPTR6.def", "AVLSPTR6.msk", "AVLSPTR7.def", "AVLSPTR7.msk", "AVLSPTR8.def", "AVLSPTR8.msk", "AVLstg10.def", "AVLstg10.msk", "AVLstg11.def", "AVLstg11.msk", "AVLstg20.def", "AVLstg20.msk", "AVLstg30.def", "AVLstg30.msk", "AVLstg40.def", "AVLstg40.msk", "AVLstg50.def", "AVLstg50.msk", "AVLstg60.def", "AVLstg60.msk", "AvLStm1.def", "AvLStm1.msk", "AvLStm2.def", "AvLStm2.msk", "AvLStm3.def", "AvLStm3.msk", "AVLSWMP0.def", "AVLSWMP0.msk", "AVLSWMP1.def", "AVLSWMP1.msk", "AVLSWMP2.def", "AVLSWMP2.msk", "AVLSWMP3.def", "AVLSWMP3.msk", "AVLSWMP4.def", "AVLSWMP4.msk", "AVLSWMP5.def", "AVLSWMP5.msk", "AVLSWMP6.def", "AVLSWMP6.msk", "AVLSWMP7.def", "AVLSWMP7.msk", "AVLswp10.def", "AVLswp10.msk", "AVLswp20.def", "AVLswp20.msk", "AVLswp30.def", "AVLswp30.msk", "AVLswp40.def", "AVLswp40.msk", "AVLswp50.def", "AVLswp50.msk", "AVLswp60.def", "AVLswp60.msk", "AVLswp70.def", "AVLswp70.msk", "AVLswt00.def", "AVLswt00.msk", "AVLswt01.def", "AVLswt01.msk", "AVLswt02.def", "AVLswt02.msk", "AVLswt03.def", "AVLswt03.msk", "AVLswt04.def", "AVLswt04.msk", "AVLswt05.def", "AVLswt05.msk", "AVLswt06.def", "AVLswt06.msk", "AVLswt07.def", "AVLswt07.msk", "AVLswt08.def", "AVLswt08.msk", "AVLswt09.def", "AVLswt09.msk", "AVLswt10.def", "AVLswt10.msk", "AVLswt11.def", "AVLswt11.msk", "AVLswt12.def", "AVLswt12.msk", "AVLswt13.def", "AVLswt13.msk", "AVLswt14.def", "AVLswt14.msk", "AVLswt15.def", "AVLswt15.msk", "AVLswt16.def", "AVLswt16.msk", "AVLswt17.def", "AVLswt17.msk", "AVLswt18.def", "AVLswt18.msk", "AVLswt19.def", "AVLswt19.msk", "AVLswtr0.def", "AVLswtr0.msk", "AVLswtr1.def", "AVLswtr1.msk", "AVLswtr2.def", "AVLswtr2.msk", "AVLswtr3.def", "AVLswtr3.msk", "AVLswtr4.def", "AVLswtr4.msk", "AVLswtr5.def", "AVLswtr5.msk", "AVLswtr6.def", "AVLswtr6.msk", "AVLswtr7.def", "AVLswtr7.msk", "AVLswtr8.def", "AVLswtr8.msk", "AVLswtr9.def", "AVLswtr9.msk", "AVLtr1d0.def", "AVLtr1d0.msk", "AVLtr2d0.def", "AVLtr2d0.msk", "AVLtr3d0.def", "AVLtr3d0.msk", "AVLtRo00.DEF", "AVLtRo00.msk", "AVLtRo01.DEF", "AVLtRo01.msk", "AVLtRo02.DEF", "AVLtRo02.msk", "AVLtRo03.DEF", "AVLtRo03.msk", "AVLtRo04.DEF", "AVLtRo04.msk", "AVLtRo05.DEF", "AVLtRo05.msk", "AVLtRo06.DEF", "AVLtRo06.msk", "AVLtRo07.DEF", "AVLtRo07.msk", "AVLtRo08.DEF", "AVLtRo08.msk", "AVLtRo09.DEF", "AVLtRo09.msk", "AVLtRo10.DEF", "AVLtRo10.msk", "AVLtRo11.DEF", "AVLtRo11.msk", "AVLtRo12.DEF", "AVLtRo12.msk", "AVLtrRo0.DEF", "AVLtrRo0.msk", "AVLtrRo1.DEF", "AVLtrRo1.msk", "AVLtrRo2.DEF", "AVLtrRo2.msk", "AVLtrRo3.DEF", "AVLtrRo3.msk", "AVLtrRo4.DEF", "AVLtrRo4.msk", "AVLtrRo5.DEF", "AVLtrRo5.msk", "AVLtrRo6.DEF", "AVLtrRo6.msk", "AVLtrRo7.DEF", "AVLtrRo7.msk", "AVLvol10.def", "AVLvol10.msk", "AVLvol20.def", "AVLvol20.msk", "AVLvol30.def", "AVLvol30.msk", "AVLvol40.def", "AVLvol40.msk", "AVLvol50.def", "AVLvol50.msk", "AVLwlw10.def", "AVLwlw10.msk", "AVLwlw20.def", "AVLwlw20.msk", "AVLwlw30.def", "AVLwlw30.msk", "AVLXds01.def", "AVLXds01.msk", "AVLXds02.def", "AVLXds02.msk", "AVLXds03.def", "AVLXds03.msk", "AVLXds04.def", "AVLXds04.msk", "AVLXds05.def", "AVLXds05.msk", "AVLXds06.def", "AVLXds06.msk", "AVLXds07.def", "AVLXds07.msk", "AVLXds08.def", "AVLXds08.msk", "AVLXds09.def", "AVLXds09.msk", "AVLXds10.def", "AVLXds10.msk", "AVLXds11.def", "AVLXds11.msk", "AVLXds12.def", "AVLXds12.msk", "AVLXdt00.def", "AVLXdt00.msk", "AVLXdt01.def", "AVLXdt01.msk", "AVLXdt02.def", "AVLXdt02.msk", "AVLXdt03.def", "AVLXdt03.msk", "AVLXdt04.def", "AVLXdt04.msk", "AVLXdt05.def", "AVLXdt05.msk", "AVLXdt06.def", "AVLXdt06.msk", "AVLXdt07.def", "AVLXdt07.msk", "AVLXdt08.def", "AVLXdt08.msk", "AVLXdt09.def", "AVLXdt09.msk", "AVLXdt10.def", "AVLXdt10.msk", "AVLXdt11.def", "AVLXdt11.msk", "AVLXgr01.def", "AVLXgr01.msk", "AVLXgr02.def", "AVLXgr02.msk", "AVLXgr03.def", "AVLXgr03.msk", "AVLXgr04.def", "AVLXgr04.msk", "AVLXgr05.def", "AVLXgr05.msk", "AVLXgr06.def", "AVLXgr06.msk", "AVLXgr07.def", "AVLXgr07.msk", "AVLXgr08.def", "AVLXgr08.msk", "AVLXgr09.def", "AVLXgr09.msk", "AVLXgr10.def", "AVLXgr10.msk", "AVLXgr11.def", "AVLXgr11.msk", "AVLXgr12.def", "AVLXgr12.msk", "AVLXro01.def", "AVLXro01.msk", "AVLXro02.def", "AVLXro02.msk", "AVLXro03.def", "AVLXro03.msk", "AVLXro04.def", "AVLXro04.msk", "AVLXro05.def", "AVLXro05.msk", "AVLXro06.def", "AVLXro06.msk", "AVLXro07.def", "AVLXro07.msk", "AVLXro08.def", "AVLXro08.msk", "AVLXro09.def", "AVLXro09.msk", "AVLXro10.def", "AVLXro10.msk", "AVLXro11.def", "AVLXro11.msk", "AVLXro12.def", "AVLXro12.msk", "AVLXsu01.def", "AVLXsu01.msk", "AVLXsu02.def", "AVLXsu02.msk", "AVLXsu03.def", "AVLXsu03.msk", "AVLXsu04.def", "AVLXsu04.msk", "AVLXsu05.def", "AVLXsu05.msk", "AVLXsu06.def", "AVLXsu06.msk", "AVLXsu07.def", "AVLXsu07.msk", "AVLXsu08.def", "AVLXsu08.msk", "AVLXsu09.def", "AVLXsu09.msk", "AVLXsu10.def", "AVLXsu10.msk", "AVLXsu11.def", "AVLXsu11.msk", "AVLXsu12.def", "AVLXsu12.msk", "AVLXsw01.def", "AVLXsw01.msk", "AVLXsw02.def", "AVLXsw02.msk", "AVLXsw03.def", "AVLXsw03.msk", "AVLXsw04.def", "AVLXsw04.msk", "AVLXsw05.def", "AVLXsw05.msk", "AVLXsw06.def", "AVLXsw06.msk", "AVLXsw07.def", "AVLXsw07.msk", "AVLXsw08.def", "AVLXsw08.msk", "AVLXsw09.def", "AVLXsw09.msk", "AVLXsw10.def", "AVLXsw10.msk", "AVLXsw11.def", "AVLXsw11.msk", "AVLXsw12.def", "AVLXsw12.msk", "AVLyuc10.def", "AVLyuc10.msk", "AVLyuc20.def", "AVLyuc20.msk", "AVLyuc30.def", "AVLyuc30.msk", "AvMAbMG.def", "AvMAbMG.msk", "AVMalch0.def", "AVMalch0.msk", "AVMalcs0.def", "AVMalcs0.msk", "AVMCRDR0.def", "AVMCRDR0.msk", "AVMCRDS0.def", "AVMCRDS0.msk", "AVMCRGR0.def", "AVMCRGR0.msk", "AVMCRRF0.def", "AVMCRRF0.msk", "AVMCRSN0.def", "AVMCRSN0.msk", "AVMCRSU0.def", "AVMCRSU0.msk", "AVMCRSW0.def", "AVMCRSW0.msk", "AVMCRVO0.def", "AVMCRVO0.msk", "AVMcrys0.def", "AVMcrys0.msk", "AVMGEDR0.def", "AVMGEDR0.msk", "AVMGELV0.def", "AVMGELV0.msk", "AVMgems0.def", "AVMgems0.msk", "AVMGERF0.def", "AVMGERF0.msk", "AVMGESD0.def", "AVMGESD0.msk", "AVMGESN0.def", "AVMGESN0.msk", "AVMGESU0.DEF", "AVMGESU0.msk", "AVMGESW0.DEF", "AVMGESW0.msk", "avmgodr0.def", "avmgodr0.msk", "AVMgods0.def", "AVMgods0.msk", "avmgogr0.def", "avmgogr0.msk", "AVMgold0.def", "AVMgold0.msk", "AVMgorf0.def", "AVMgorf0.msk", "AVMgosb0.def", "AVMgosb0.msk", "AVMgosn0.def", "AVMgosn0.msk", "AVMgosw0.def", "AVMgosw0.msk", "AVMgovo0.def", "AVMgovo0.msk", "AVMlean0.def", "AVMlean0.msk", "AVMORDR0.def", "AVMORDR0.msk", "AVMORDS0.def", "AVMORDS0.msk", "AVMore0.def", "AVMore0.msk", "AVMORLV0.def", "AVMORLV0.msk", "AVMORRO0.def", "AVMORRO0.msk", "AVMORSB0.def", "AVMORSB0.msk", "AVMORSN0.def", "AVMORSN0.msk", "AVMORSW0.def", "AVMORSW0.msk", "AVMsawd0.def", "AVMsawd0.msk", "AVMsawg0.def", "AVMsawg0.msk", "AVMsawl0.def", "AVMsawl0.msk", "AVMsawr0.def", "AVMsawr0.msk", "AVMsulf0.def", "AVMsulf0.msk", "AVMswds0.def", "AVMswds0.msk", "AVMswsn0.def", "AVMswsn0.msk", "AVMwmsn0.def", "AVMwmsn0.msk", "AVMwndd0.def", "AVMwndd0.msk", "AVMwwhl0.def", "AVMwwhl0.msk", "AVMwwsn0.def", "AVMwwsn0.msk", "AVRcgen0.def", "AVRcgen0.msk", "AVRcgen1.def", "AVRcgen1.msk", "AVRcgen2.def", "AVRcgen2.msk", "AVRcgen3.def", "AVRcgen3.msk", "AVRcgen4.def", "AVRcgen4.msk", "AVRcgen5.def", "AVRcgen5.msk", "AVRcgen6.def", "AVRcgen6.msk", "AVRcgen7.def", "AVRcgen7.msk", "AVRcgn00.def", "AVRcgn00.msk", "AVRcgn01.def", "AVRcgn01.msk", "AVRcgn02.def", "AVRcgn02.msk", "AVRcgn03.def", "AVRcgn03.msk", "AVRcgn04.def", "AVRcgn04.msk", "AVRcgn05.def", "AVRcgn05.msk", "AVRcgn06.def", "AVRcgn06.msk", "AVRcgn07.def", "AVRcgn07.msk", "AVRcgn08.def", "AVRcgn08.msk", "AVSarna0.def", "AVSarna0.msk", "AVSaxis0.def", "AVSaxis0.msk", "AVSbuoy0.def", "AVSbuoy0.msk", "AVSclvd0.def", "AVSclvd0.msk", "AVSclvg0.def", "AVSclvg0.msk", "AVSclvs0.def", "AVSclvs0.msk", "AVSfntn0.def", "AVSfntn0.msk", "AVSgrdn0.def", "AVSgrdn0.msk", "AVSgzbo0.def", "AVSgzbo0.msk", "AVSidol0.def", "AVSidol0.msk", "AVSlibr0.def", "AVSlibr0.msk", "AvSMarl.def", "AvSMarl.msk", "AVSmerc0.def", "AVSmerc0.msk", "AVSRING0.def", "AVSRING0.msk", "AVSschm0.def", "AVSschm0.msk", "AVSschw0.msk", "AVStmpl0.def", "AVStmpl0.msk", "AVSuniv0.def", "AVSuniv0.msk", "AVSutop0.def", "AVSutop0.msk", "avswar20.def", "avswar20.msk", "AVSWTCH0.def", "AVSWTCH0.msk", "AvTCave.def", "AvTCave.msk", "AVTchst0.def", "AVTchst0.msk", "AVTCRYS0.def", "AVTCRYS0.msk", "AVTgems0.def", "AVTgems0.msk", "AVTgold0.def", "AVTgold0.msk", "AVTmerc0.def", "AVTmerc0.msk", "AVTmyst0.def", "AVTmyst0.msk", "AVTORE0.def", "AVTORE0.msk", "AVTrndm0.def", "AVTrndm0.msk", "AVTsulf0.def", "AVTsulf0.msk", "AVTwagn0.def", "AVTwagn0.msk", "AVTwood0.def", "AVTwood0.msk", "AvWAngl.def", "AvWAngl.msk", "AvWArch.def", "AvWArch.msk", "AvWattak.def", "AvWattak.msk", "AVWazure.def", "AVWazure.msk", "AvWBasl.def", "AvWBasl.msk", "AVWbehl0.def", "AVWbehl0.msk", "AVWbehx0.def", "AVWbehx0.msk", "AVWbhmt0.def", "AVWbhmt0.msk", "AVWbhmx0.def", "AVWbhmx0.msk", "AVWbkni0.def", "AVWbkni0.msk", "AVWbknx0.def", "AVWbknx0.msk", "AVWboar.def", "AVWboar.msk", "AVWbone0.def", "AVWbone0.msk", "AVWbonx0.def", "AVWbonx0.msk", "AVWcdrg.def", "AVWcdrg.msk", "AVWcent0.def", "AVWcent0.msk", "AVWcenx0.def", "AVWcenx0.msk", "AVWcvlr0.def", "AVWcvlr0.msk", "AVWcvlx0.def", "AVWcvlx0.msk", "AVWcycl0.def", "AVWcycl0.msk", "AVWcycx0.def", "AVWcycx0.msk", "AVWddrx0.def", "AVWddrx0.msk", "AVWdemn0.def", "AVWdemn0.msk", "AVWdemx0.def", "AVWdemx0.msk", "AVWdevl0.def", "AVWdevl0.msk", "AVWdevx0.def", "AVWdevx0.msk", "AvWDfir.def", "AvWDfir.msk", "AvWDfly.def", "AvWDfly.msk", "AVWdrag0.def", "AVWdrag0.msk", "AVWdrax0.def", "AVWdrax0.msk", "AVWdwrf0.def", "AVWdwrf0.msk", "AVWdwrx0.def", "AVWdwrx0.msk", "AVWefre0.def", "AVWefre0.msk", "AVWefrx0.def", "AVWefrx0.msk", "AVWelfw0.def", "AVWelfw0.msk", "AVWelfx0.def", "AVWelfx0.msk", "AVWelma0.def", "AVWelma0.msk", "AVWelme0.def", "AVWelme0.msk", "AVWelmf0.def", "AVWelmf0.msk", "AVWelmw0.def", "AVWelmw0.msk", "AVWench.def", "AVWench.msk", "AVWfbird.def", "AVWfbird.msk", "AVWfdrg.def", "AVWfdrg.msk", "AVWgarg0.def", "AVWgarg0.msk", "AVWgarx0.def", "AVWgarx0.msk", "AvWGBas.def", "AvWGBas.msk", "AVWgeni0.def", "AVWgeni0.msk", "AVWgenx0.def", "AVWgenx0.msk", "AVWglmd0.def", "AVWglmd0.msk", "AVWglmg0.def", "AVWglmg0.msk", "AVWgnll0.def", "AVWgnll0.msk", "AVWgnlx0.def", "AVWgnlx0.msk", "AVWgobl0.def", "AVWgobl0.msk", "AVWgobx0.def", "AVWgobx0.msk", "AVWgog0.def", "AVWgog0.msk", "AVWgogx0.def", "AVWgogx0.msk", "AVWgolm0.def", "AVWgolm0.msk", "AVWgolx0.def", "AVWgolx0.msk", "AvWGorg.def", "AvWGorg.msk", "AVWgorx0.def", "AVWgorx0.msk", "AVWgrem0.def", "AVWgrem0.msk", "AVWgrex0.def", "AVWgrex0.msk", "AvWGrif.def", "AvWGrif.msk", "AVWgrix0.def", "AVWgrix0.msk", "AVWhalf.def", "AVWhalf.msk", "AVWharp0.def", "AVWharp0.msk", "AVWharx0.def", "AVWharx0.msk", "AvWHcrs.def", "AvWHcrs.msk", "AVWhoun0.def", "AVWhoun0.msk", "AVWhoux0.def", "AVWhoux0.msk", "AvWHydr.def", "AvWHydr.msk", "AVWhydx0.def", "AVWhydx0.msk", "AVWicee.def", "AVWicee.msk", "AVWimp0.def", "AVWimp0.msk", "AVWimpx0.def", "AVWimpx0.msk", "AvWInfr.def", "AvWInfr.msk", "AvWLCrs.def", "AvWLCrs.msk", "AVWlich0.def", "AVWlich0.msk", "AVWlicx0.def", "AVWlicx0.msk", "AvWLizr.def", "AvWLizr.msk", "AVWlizx0.def", "AVWlizx0.msk", "AVWmage0.def", "AVWmage0.msk", "AVWmagel.def", "AVWmagel.msk", "AVWmagx0.def", "AVWmagx0.msk", "AVWmant0.def", "AVWmant0.msk", "AVWmanx0.def", "AVWmanx0.msk", "AvWMeds.def", "AvWMeds.msk", "AVWmedx0.def", "AVWmedx0.msk", "AvWMino.def", "AvWMino.msk", "AVWminx0.def", "AVWminx0.msk", "AVWMON1.def", "AVWMON1.msk", "AVWMON2.def", "AVWMON2.msk", "AVWMON3.def", "AVWMON3.msk", "AVWMON4.def", "AVWMON4.msk", "AVWMON5.def", "AVWMON5.msk", "AVWMON6.def", "AVWMON6.msk", "AVWMON7.def", "AVWMON7.msk", "AvWMonk.def", "AvWMonk.msk", "AVWmonx0.def", "AVWmonx0.msk", "AVWmrnd0.def", "AVWmrnd0.msk", "AVWmumy.def", "AVWmumy.msk", "AVWnaga0.def", "AVWnaga0.msk", "AVWnagx0.def", "AVWnagx0.msk", "AVWnomd.def", "AVWnomd.msk", "AVWnrg.def", "AVWnrg.msk", "AVWogre0.def", "AVWogre0.msk", "AVWogrx0.def", "AVWogrx0.msk", "AVWorc0.def", "AVWorc0.msk", "AVWorcx0.def", "AVWorcx0.msk", "AVWpeas.def", "AVWpeas.msk", "AVWpega0.def", "AVWpega0.msk", "AVWpegx0.def", "AVWpegx0.msk", "AVWphx.def", "AVWphx.msk", "AvWPike.def", "AvWPike.msk", "AVWpikx0.def", "AVWpikx0.msk", "AVWpitf0.def", "AVWpitf0.msk", "AVWpitx0.def", "AVWpitx0.msk", "AVWpixie.def", "AVWpixie.msk", "AVWpsye.def", "AVWpsye.msk", "AvWRDrg.def", "AvWRDrg.msk", "AVWroc0.def", "AVWroc0.msk", "AVWrocx0.def", "AVWrocx0.msk", "AVWrog.def", "AVWrog.msk", "AVWrust.def", "AVWrust.msk", "AVWsharp.def", "AVWsharp.msk", "AVWskel0.def", "AVWskel0.msk", "AVWskex0.def", "AVWskex0.msk", "AVWsprit.def", "AVWsprit.msk", "AVWstone.def", "AVWstone.msk", "AVWstorm.def", "AVWstorm.msk", "AVWswrd0.def", "AVWswrd0.msk", "AVWswrx0.def", "AVWswrx0.msk", "AVWtitn0.def", "AVWtitn0.msk", "AVWtitx0.def", "AVWtitx0.msk", "AVWtree0.def", "AVWtree0.msk", "AVWtrex0.def", "AVWtrex0.msk", "AVWtrll.def", "AVWtrll.msk", "AVWtrog0.def", "AVWtrog0.msk", "AVWunic0.def", "AVWunic0.msk", "AVWunix0.def", "AVWunix0.msk", "AVWvamp0.def", "AVWvamp0.msk", "AVWvamx0.def", "AVWvamx0.msk", "AvWWigh.def", "AvWWigh.msk", "AVWwigx0.def", "AVWwigx0.msk", "AVWwolf0.def", "AVWwolf0.msk", "AVWwolx0.def", "AVWwolx0.msk", "AvWWyvr.def", "AvWWyvr.msk", "AVWwyvx0.def", "AVWwyvx0.msk", "AVWzomb0.def", "AVWzomb0.msk", "AVWzomx0.def", "AVWzomx0.msk", "AVXabnd0.def", "AVXabnd0.msk", "AvXAltar.def", "AvXAltar.msk", "AVXamDS.def", "AVXamDS.msk", "AVXamGR.def", "AVXamGR.msk", "AVXamLV.def", "AVXamLV.msk", "AVXamRO.def", "AVXamRO.msk", "AVXamSN.def", "AVXamSN.msk", "AVXamSU.def", "AVXamSU.msk", "AVXamSW.def", "AVXamSW.msk", "AVXbgt00.def", "AVXbgt00.msk", "AVXbgt10.def", "AVXbgt10.msk", "AVXbgt20.def", "AVXbgt20.msk", "AVXbgt30.def", "AVXbgt30.msk", "AVXbgt40.def", "AVXbgt40.msk", "AVXbgt50.def", "AVXbgt50.msk", "AVXbgt60.def", "AVXbgt60.msk", "AVXbgt70.def", "AVXbgt70.msk", "AVXbnk10.def", "AVXbnk10.msk", "AVXbnk20.def", "AVXbnk20.msk", "AVXbnk30.def", "AVXbnk30.msk", "AVXbnk40.def", "AVXbnk40.msk", "AVXbnk50.def", "AVXbnk50.msk", "AVXbnk60.def", "AVXbnk60.msk", "AVXbnk70.def", "AVXbnk70.msk", "avxboat0.def", "AVXboat0.msk", "avxboat1.def", "avxboat1.msk", "avxboat2.def", "avxboat2.msk", "AVXBOR00.def", "AVXBOR00.msk", "AVXBOR10.def", "AVXBOR10.msk", "AVXBOR20.def", "AVXBOR20.msk", "AVXBOR30.def", "AVXBOR30.msk", "AVXBOR40.def", "AVXBOR40.msk", "AVXBOR50.def", "AVXBOR50.msk", "AVXBOR60.def", "AVXBOR60.msk", "AVXBOR70.def", "AVXBOR70.msk", "AVXbor80.def", "AVXbor80.msk", "AVXbttl0.def", "AVXbttl0.msk", "AVXccht0.def", "AVXccht0.msk", "AVXcf0.def", "AVXcf0.msk", "AVXcf1.def", "AVXcf1.msk", "AVXcf2.def", "AVXcf2.msk", "AVXcf3.def", "AVXcf3.msk", "AVXcf4.def", "AVXcf4.msk", "AVXcf5.def", "AVXcf5.msk", "AVXcf6.def", "AVXcf6.msk", "AVXcf7.def", "AVXcf7.msk", "AVXcfds0.def", "AVXcfds0.msk", "AVXcflv0.def", "AVXcflv0.msk", "AVXcfsn0.def", "AVXcfsn0.msk", "AVXcg1.def", "AVXcg1.msk", "AVXcg2.def", "AVXcg2.msk", "AVXcg3.def", "AVXcg3.msk", "AVXcg4.def", "AVXcg4.msk", "AVXcg5.def", "AVXcg5.msk", "AVXcg6.def", "AVXcg6.msk", "AVXcg7.def", "AVXcg7.msk", "AVXcovr0.def", "AVXcovr0.msk", "AVXcrsd0.def", "AVXcrsd0.msk", "AVXdend0.def", "AVXdend0.msk", "AvXDenT.def", "AvXDenT.msk", "AVXef0.def", "AVXef0.msk", "AVXef1.def", "AVXef1.msk", "AVXef2.def", "AVXef2.msk", "AVXef3.def", "AVXef3.msk", "AVXef4.def", "AVXef4.msk", "AVXef5.def", "AVXef5.msk", "AVXef6.def", "AVXef6.msk", "AVXef7.def", "AVXef7.msk", "AVXeyem0.def", "AVXeyem0.msk", "AVXff0.def", "AVXff0.msk", "AVXff1.def", "AVXff1.msk", "AVXff2.def", "AVXff2.msk", "AVXff3.def", "AVXff3.msk", "AVXff4.def", "AVXff4.msk", "AVXff5.def", "AVXff5.msk", "AVXff6.def", "AVXff6.msk", "AVXff7.def", "AVXff7.msk", "AVXfgld.def", "AVXfgld.msk", "AVXfw0.def", "AVXfw0.msk", "AVXfw1.def", "AVXfw1.msk", "AVXfw2.def", "AVXfw2.msk", "AVXfw3.def", "AVXfw3.msk", "AVXfw4.def", "AVXfw4.msk", "AVXfw5.def", "AVXfw5.msk", "AVXfw6.def", "AVXfw6.msk", "AVXfw7.def", "AVXfw7.msk", "AVXfyth0.def", "AVXfyth0.msk", "AVXgyds0.def", "AVXgyds0.msk", "AVXgyne0.def", "AVXgyne0.msk", "AVXgysn0.def", "AVXgysn0.msk", "AVXhg0.def", "AVXhg0.msk", "AVXhg1.def", "AVXhg1.msk", "AVXhg2.def", "AVXhg2.msk", "AVXhg3.def", "AVXhg3.msk", "AVXhg4.def", "AVXhg4.msk", "AVXhg5.def", "AVXhg5.msk", "AVXhg6.def", "AVXhg6.msk", "AVXhg7.def", "AVXhg7.msk", "AVXhild0.def", "AVXhild0.msk", "AVXhilg0.def", "AVXhilg0.msk", "AVXhutm0.def", "AVXhutm0.msk", "AVXKEY00.def", "AVXKEY00.msk", "AVXKEY10.def", "AVXKEY10.msk", "AVXKEY20.def", "AVXKEY20.msk", "AVXKEY30.def", "AVXKEY30.msk", "AVXKEY40.def", "AVXKEY40.msk", "AVXKEY50.def", "AVXKEY50.msk", "AVXKEY60.def", "AVXKEY60.msk", "AVXKEY70.def", "AVXKEY70.msk", "AVXl1sh0.def", "AVXl1sh0.msk", "AVXl2sh0.def", "AVXl2sh0.msk", "AVXl3sh0.def", "AVXl3sh0.msk", "AVXlp0.def", "AVXlp0.msk", "AVXlp1.def", "AVXlp1.msk", "AVXlp2.def", "AVXlp2.msk", "AVXlp3.def", "AVXlp3.msk", "AVXlp4.def", "AVXlp4.msk", "AVXlp5.def", "AVXlp5.msk", "AVXlp6.def", "AVXlp6.msk", "AVXlp7.def", "AVXlp7.msk", "AVXlths0.def", "AVXlths0.msk", "AVXmags0.def", "AVXmags0.msk", "AVXmaps0.def", "AVXmaps0.msk", "AVXMAPU0.def", "AVXMAPU0.msk", "AVXmapw0.def", "AVXmapw0.msk", "AVXmc0.def", "AVXmc0.msk", "AVXmc1.def", "AVXmc1.msk", "AVXmc2.def", "AVXmc2.msk", "AVXmc3.def", "AVXmc3.msk", "AVXmc4.def", "AVXmc4.msk", "AVXmc5.def", "AVXmc5.msk", "AVXmc6.def", "AVXmc6.msk", "AVXmc7.def", "AVXmc7.msk", "AVXmerm0.def", "AVXmerm0.msk", "AVXMKTB0.def", "AVXMKTB0.msk", "AVXMKTT0.def", "AVXMKTT0.msk", "AVXMN1B0.def", "AVXMN1B0.msk", "AVXMN1R0.def", "AVXMN1R0.msk", "AVXMN1Y0.def", "AVXMN1Y0.msk", "AVXMN2G0.def", "AVXMN2G0.msk", "AVXMN2O0.def", "AVXMN2O0.msk", "AVXMN2P0.def", "AVXMN2P0.msk", "AVXmn4b0.def", "AVXmn4b0.msk", "AVXmn4i0.def", "AVXmn4i0.msk", "AVXmn4o0.def", "AVXmn4o0.msk", "AVXmn5b0.def", "AVXmn5b0.msk", "AVXmn5i0.def", "AVXmn5i0.msk", "AVXmn5o0.def", "AVXmn5o0.msk", "AVXmn6b0.def", "AVXmn6b0.msk", "AVXmn6i0.def", "AVXmn6i0.msk", "AVXmn6o0.def", "AVXmn6o0.msk", "AVXmn7b0.def", "AVXmn7b0.msk", "AVXmn7i0.def", "AVXmn7i0.msk", "AVXmn7o0.def", "AVXmn7o0.msk", "AVXmn8b0.def", "AVXmn8b0.msk", "AVXmn8i0.def", "AVXmn8i0.msk", "AVXmn8o0.def", "AVXmn8o0.msk", "AVXmp1.def", "AVXmp1.msk", "AVXmp2.def", "AVXmp2.msk", "AVXmp3.def", "AVXmp3.msk", "AVXmp4.def", "AVXmp4.msk", "AVXmp5.def", "AVXmp5.msk", "AVXmp6.def", "AVXmp6.msk", "AVXmp7.def", "AVXmp7.msk", "AVXmx1b0.def", "AVXmx1b0.msk", "AVXmx1r0.def", "AVXmx1r0.msk", "AVXmx1y0.def", "AVXmx1y0.msk", "AvXOblB.def", "AvXOblB.msk", "AvXOblG.def", "AvXOblG.msk", "AvXOblK.def", "AvXOblK.msk", "AvXOblO.def", "AvXOblO.msk", "AvXOblP.def", "AvXOblP.msk", "AvXOblR.def", "AvXOblR.msk", "AvXOblW.def", "AvXOblW.msk", "AvXOblY.def", "AvXOblY.msk", "AVXosis0.def", "AVXosis0.msk", "AVXPLLR0.def", "AVXPLLR0.msk", "AVXplns0.def", "AVXplns0.msk", "AVXpost0.def", "AVXpost0.msk", "avxprmd0.def", "avxprmd0.msk", "AVXprsn0.def", "AVXprsn0.msk", "AVXpsSN.def", "AVXpsSN.msk", "AVXpstr0.def", "AVXpstr0.msk", "avxreds0.def", "avxreds0.msk", "AvXRedW.def", "AvXRedW.msk", "AVXrk0.def", "AVXrk0.msk", "AVXrk1.def", "AVXrk1.msk", "AVXrk2.def", "AVXrk2.msk", "AVXrk3.def", "AVXrk3.msk", "AVXrk4.def", "AVXrk4.msk", "AVXrk5.def", "AVXrk5.msk", "AVXrk6.def", "AVXrk6.msk", "AVXrk7.def", "AVXrk7.msk", "AVXrlly0.def", "AVXrlly0.msk", "AVXsanc0.def", "AVXsanc0.msk", "AVXschl0.def", "AVXschl0.msk", "AVXseeb0.def", "AVXseeb0.msk", "AVXseer0.def", "AVXseer0.msk", "AVXseey0.def", "AVXseey0.msk", "AVXshyd0.def", "AVXshyd0.msk", "AVXsirn0.def", "AVXsirn0.msk", "AVXskds0.def", "AVXskds0.msk", "AVXsndg0.def", "AVXsndg0.msk", "AVXsnds0.def", "AVXsnds0.msk", "AVXsnlv0.def", "AVXsnlv0.msk", "AVXsnsn0.def", "AVXsnsn0.msk", "AVXsnsw0.def", "AVXsnsw0.msk", "AVXstbl0.def", "AVXstbl0.msk", "AvXThrn.def", "AvXThrn.msk", "AVXTOMB0.def", "AVXTOMB0.msk", "AVXtrek0.def", "AVXtrek0.msk", "AVXtvrn0.def", "AVXtvrn0.msk", "AVXwelg0.def", "AVXwelg0.msk", "AVXwelr0.def", "AVXwelr0.msk", "AVXwhrl0.def", "AVXwhrl0.msk", "AVXwlsn0.def", "AVXwlsn0.msk", "AVXwtrh0.def", "AVXwtrh0.msk", "AVZevnt0.def", "AVZevnt0.msk", "AVZGRAIL.def", "AVZGRAIL.msk", "BoRes.def", "C01SPA0.def", "C01SPE0.def", "C01SPF.DEF", "C01SPF0.def", "C01SPW.DEF", "C01SPW0.def", "C02SPA0.def", "C02SPE0.def", "C02SPF0.def", "C03SPA0.def", "C03SPA1.def", "C03SPW.DEF", "C03SPW0.def", "C04SPA0.def", "C04SPE0.def", "C04SPF0.def", "C04SPW.DEF", "C04SPW0.def", "C05SPE0.def", "C05SPF0.def", "C05SPW.DEF", "C05SPW0.def", "C06SPF0.def", "C06SPW.DEF", "C06SPW0.def", "C07SPA0.def", "C07SPA1.def", "C07SPE0.def", "C07SPF0.def", "C07SPF1.def", "C07SPF10.def", "C07SPF11.def", "C07SPF2.def", "C07SPF3.def", "C07SPF4.def", "C07SPF5.def", "C07SPF6.def", "c07spf60.def", "c07spf61.def", "c07spf62.def", "C07SPF7.def", "C07SPF8.def", "C07SPF9.def", "C07SPW.DEF", "C07SPW0.def", "C08SPE0.def", "C08SPF0.def", "C08SPW0.def", "C08SPW1.def", "C08SPW2.def", "C08SPW3.def", "C08SPW4.def", "C08SPW5.def", "C09SPA0.def", "C09SPE0.def", "c09spf0.def", "C09SPF1.def", "C09SPF2.def", "C09SPF3.def", "C09SPW0.def", "C0acid.def", "C0fear.def", "C10SPA0.def", "C10SPF0.def", "c10spw.def", "c11spa0.def", "c11spa1.def", "C11SPE0.def", "C11SPF0.def", "C11SPW0.def", "C12SPA0.def", "C12SPE0.def", "C12SPF0.def", "C12SPF1.def", "C13SPA0.def", "C13SPE0.def", "C13SPF.DEF", "C13SPF0.def", "C13SPW0.def", "C14SPA0.def", "C14SPE0.def", "C15SPA0.def", "C15SPE0.def", "C15SPE1.def", "C15SPE10.def", "C15SPE11.def", "C15SPE2.def", "C15SPE3.def", "C15SPE4.def", "C15SPE5.def", "C15SPE6.def", "C15SPE7.def", "C15SPE8.def", "C15SPE9.def", "C16SPE.DEF", "C16SPE0.def", "C17SPE0.def", "C17SPE1.def", "C17SPE2.def", "C17SPW0.def", "C18SPW0.def", "C20SPX.DEF", "C20SPX0.def", "C20SPX1.def", "C20SPX2.def", "C20SPX3.def", "C20SPX4.def", "CABEHE.def", "CADEVL.def", "CaDrgn.def", "CAELEM.def", "CALIZA.def", "CAMAGE.def", "CamCusL.def", "CamCusM.def", "CAMPCAN.def", "CAMPCHK.def", "CAMPCN.def", "CAMPLD.def", "CAMPRST.def", "CampStar.def", "CAMPVID.def", "cangel.def", "CAPEGS.def", "CBASIL.def", "CBBEGIB.DEF", "CBCANCB.DEF", "CBDRGN.def", "CBDWAR.def", "cbehol.def", "Cbgog.def", "CBKNIG.def", "CBLORD.def", "Cboar.def", "CBRESTB.DEF", "CBTREE.def", "CBVIDEB.DEF", "CBWLFR.def", "CCAVLR.def", "Ccdrgn.def", "CCENTR.def", "CCERBU.def", "Ccgorg.def", "CCHAMP.def", "cchydr.def", "CCMCOR.def", "Ccrusd.def", "CcyclLor.def", "CCYCLR.def", "CDDRAG.def", "CDEVIL.def", "CDGOLE.def", "CDRFIR.def", "CDRFLY.def", "CDWARF.def", "CECENT.def", "CEELEM.def", "cefree.def", "cefres.def", "CELF.def", "Cench.def", "Ceveye.def", "CFAMIL.def", "Cfbird.DEF", "Cfdrgn.def", "CFELEM.def", "CGARGO.def", "CGBASI.def", "CGDRAG.def", "CGENIE.def", "CGGOLE.def", "CGNOLL.def", "CGNOLM.def", "CGOBLI.def", "CGOG.def", "CGRELF.def", "CGREMA.def", "CGREMM.def", "CGRIFF.def", "CGTITA.def", "CH00.def", "CH01.def", "CH010.def", "CH012.def", "CH013.def", "CH014.def", "CH015.def", "CH02.def", "CH03.def", "CH04.def", "CH05.def", "CH06.def", "CH07.def", "CH08.def", "CH09.def", "CH11.def", "CH16.DEF", "CH17.DEF", "chalbd.def", "CHalf.def", "CHARPH.def", "CHARPY.def", "CHCBOW.def", "CHDRGN.def", "CHGOBL.def", "CHHOUN.def", "CHYDRA.def", "Cicee.def", "CIGOLE.def", "CIMP.def", "Citrog.def", "CLCBOW.def", "CLICH.def", "clrdelt1.def", "clrdelt1.msk", "clrdelt2.def", "clrdelt2.msk", "clrdelt3.def", "clrdelt3.msk", "clrdelt4.def", "clrdelt4.msk", "Clrrvr.def", "CLTITA.def", "CMAGE.def", "Cmagel.def", "CMAGOG.def", "CMCORE.def", "Cmeduq.def", "Cmedus.def", "CMFLAGL.def", "CMFLAGR.def", "Cminok.def", "CMINOT.def", "CMLMINE.def", "Cmonkk.def", "cmpscan.def", "CMQSAND.def", "Cmummy.def", "CNAGA.def", "CNAGAG.def", "CNDRGN.def", "Cnomad.def", "CNOSFE.def", "Cnrg.def", "cobbrd.def", "codefaul.def", "COGARG.def", "COGMAG.def", "COGRE.def", "COHDEM.def", "ComSlide.def", "CORC.def", "CORCCH.def", "Cpeas.def", "CPEGAS.def", "CPFIEN.def", "CPFOE.def", "Cphx.def", "Cpixie.def", "CPKMAN.def", "CPLICH.def", "CPLIZA.def", "CPRGOGX.def", "cprgre.def", "CPRGTIX.def", "CPRSMALL.def", "CPRZEAX.def", "Cpsyel.def", "CRADVNTR.def", "CRANGL.def", "CRCOMBAT.def", "crdeflt.def", "CRDRGN.def", "CREST58.def", "Crgrif.def", "CROC.def", "Crogue.def", "CRsDgn.def", "Crspell.def", "CSGOLE.def", "CSGRCK.def", "Csharp.def", "CSKELE.def", "CSprite.def", "CSSarm.def", "CSScus.def", "CSSexit.def", "CSSroe.def", "CSSsod.def", "Cstone.def", "Cstorm.def", "CSULTA.def", "Csword.def", "CTBIRD.def", "CTHDEM.def", "CTREE.def", "Ctrogl.def", "Ctroll.def", "CUNICO.def", "CUWLFR.def", "CVAMP.def", "CWELEM.def", "CWIGHT.def", "CWRAIT.def", "CWSKEL.def", "CWUNIC.def", "CWYVER.def", "CWYVMN.def", "CYBEHE.def", "Czealt.def", "CZOMBI.def", "CZOMLO.def", "DEFAULT.def", "DEFAULT.msk", "dialgbox.def", "dirtrd.def", "DIRTTL.def", "EDG.def", "FlagPort.def", "GRASTL.def", "gravrd.def", "GSPBGIN.DEF", "GSPBUT2.DEF", "GSPBUT3.DEF", "GSPBUT4.DEF", "GSPBUT5.DEF", "GSPBUT6.DEF", "GSPBUT7.DEF", "GSPBUTT.DEF", "GSPEXIT.DEF", "GTBACK.def", "GTCAMPN.def", "GTMULTI.def", "GTSINGL.def", "GTTUTOR.def", "HALLCSTL.def", "HallDung.def", "HallElem.def", "hallfort.def", "HALLINFR.def", "HALLNECR.def", "HALLRAMP.def", "HALLSTRN.def", "HallTowr.def", "HISCCAM.def", "HiScExt.def", "HISCRES.DEF", "HISCSTA.def", "HourGlas.def", "HourSand.def", "hsbtns.def", "hsbtns2.def", "hsbtns3.def", "hsbtns4.def", "HSBTNS5.def", "HSBTNS6.DEF", "HSBTNS7.DEF", "HSBTNS8.DEF", "HSBTNS9.DEF", "iam000.def", "iam001.def", "iam002.def", "iam003.def", "iam004.def", "iam005.def", "iam006.def", "iam007.def", "iam008.def", "iam009.def", "iam010.def", "iam011.def", "iam012.def", "iam013.def", "iam014.def", "iam015.def", "IBUY30.def", "IBY6432.DEF", "iCANCEL.def", "icedelt1.def", "icedelt1.msk", "icedelt2.def", "icedelt2.msk", "icedelt3.def", "icedelt3.msk", "icedelt4.def", "icedelt4.msk", "icm001.def", "icm002.def", "icm003.def", "icm004.def", "icm005.def", "icm006.def", "icm007.def", "icm008.def", "icm009.def", "icm010.def", "icm011.def", "icm012.def", "ICN6432.DEF", "Icyrvr.def", "iDv6432.def", "iGPCrDiv.def", "IHM000.def", "IHM001.def", "IHM002.def", "ILCK22.def", "ILCK30.def", "ILCK42.def", "ilck82.def", "ilckb.def", "ILCKS.def", "imana.def", "imobil.def", "IMRL22.def", "IMRL30.def", "IMRL42.def", "imrl82.def", "imrlb.def", "IMRLS.def", "IOK6432.DEF", "iOKAY.def", "IOKAY32.DEF", "ircbtns.def", "ISAVE.DEF", "itgflags.def", "itmcl.def", "ITMCLS.DEF", "itmtl.def", "ITMTLS.DEF", "ITPA.def", "itpt.def", "iViewCr.def", "IViewCr2.def", "Lavatl.def", "lavdelt1.def", "lavdelt1.msk", "lavdelt2.def", "lavdelt2.msk", "lavdelt3.def", "lavdelt3.msk", "lavdelt4.def", "lavdelt4.msk", "Lavrvr.def", "loadprog.def", "MMENUCR.def", "MMENUHS.def", "MMENULG.def", "MMENUNG.def", "MMENUQT.def", "MuBcanc.def", "MuBchck.def", "MuBdrct.def", "MuBexit.def", "MuBhost.def", "MuBhot.def", "MuBipx.def", "MuBjoin.def", "MuBmodm.def", "mubonl.def", "MuBsrch.def", "MuBtcp.def", "muddelt1.def", "muddelt1.msk", "muddelt2.def", "muddelt2.msk", "muddelt3.def", "muddelt3.msk", "muddelt4.def", "muddelt4.msk", "Mudrvr.def", "MuGStat.def", "NewDay.def", "NewWeek1.def", "NewWeek2.def", "NewWeek3.def", "NewWeek4.def", "ObBDT01.def", "ObBhS02.def", "ObBhS03.def", "OBBHS04.DEF", "ObBhS11a.def", "ObBhS12b.def", "ObBhS14b.def", "ObBhS16a.def", "ObBtS04.def", "ObCFs00.def", "ObCFs01.def", "ObCFs02.def", "ObCFs03.def", "ObDino1.def", "ObDino2.def", "ObDino3.def", "ObDRk01.def", "ObDRk02.def", "obdrk03.def", "obdrk04.def", "ObDSh01.def", "ObDSM01.def", "ObDSM02.def", "ObDsS02.def", "ObDsS17.def", "obdtf03.def", "ObDtS03.def", "ObDtS04.def", "ObDtS14.def", "ObDtS15.def", "ObEFs00.def", "ObEFs01.def", "ObEFs02.def", "ObEFs03.def", "ObEFs04.def", "ObFFs00.def", "ObFFs01.def", "ObFFs02.def", "ObFFs03.def", "ObFFs04.def", "ObGLg01.def", "ObGRk01.def", "ObGRk02.def", "ObGrS01.def", "ObGrS02.def", "ObGrS03.def", "ObGSt01.def", "ObHGs00.def", "ObHGs01.def", "ObHGs02.def", "ObHGs03.def", "ObHGs04.def", "ObLPs00.def", "ObLPs01.def", "ObLPs02.def", "ObLPs03.def", "ObLvS01.def", "ObLvS02.def", "ObLvS03.def", "ObLvS04.def", "ObLvS09.def", "ObLvS17.def", "ObLvS22.def", "ObMCs00.def", "ObMCs01.def", "ObMCs02.def", "ObRGS01.def", "ObRgS02.def", "ObRgS03.def", "ObRgS04.def", "ObRgS05.def", "ObRgS06.def", "ObRLs00.def", "ObRLs01.def", "ObRLs02.def", "ObRLs03.def", "ObSkel1.def", "obskel2.def", "ObSnS01.def", "ObSnS02.def", "ObSnS03.def", "ObSnS04.def", "ObSnS05.def", "ObSnS06.def", "ObSnS07.def", "ObSnS08.def", "OBSNS09.DEF", "OBSNS10.DEF", "ObSuS01.def", "ObSuS02.def", "ObSuS11b.def", "ObSwS01.def", "ObSwS02.def", "ObSwS03.def", "ObSwS04.def", "ObSwS11b.def", "ObSwS13a.def", "OVARTSLT.def", "OVBUTN1.def", "OVBUTN2.def", "OVBUTN3.def", "OVBUTN4.def", "OVBUTN5.def", "OVBUTN6.def", "OVMINES.def", "OVSLOT.def", "OVTITLE.def", "PCYCLBX.def", "PELFX.def", "Phalf.def", "Picee.def", "PLCBOWX.def", "PLICH.def", "PMAGEX.def", "PMEDUSX.def", "poof.def", "porchx.def", "PPLIZAX.def", "PRSTRIPS.DEF", "PSKIL32.def", "PSKIL42.def", "PSkilBon.DEF", "PSKILL.def", "QLexit.def", "RADAR.def", "RADAR.msk", "RanIsld.def", "RanNone.def", "RanNorm.def", "RanNum0.def", "RanNum1.def", "RanNum2.def", "RanNum3.def", "RanNum4.def", "RanNum5.def", "RanNum6.def", "RanNum7.def", "RanNum8.def", "RanRand.def", "RanShow.def", "RanSizL.def", "RanSizM.def", "RanSizS.def", "RanSizX.def", "RanStrg.def", "RanUndr.def", "RanWeak.def", "Resour82.def", "RESOURCE.def", "rocktl.def", "ROUGTL.def", "sandtl.def", "SCALBUT.DEF", "SCButCp.DEF", "SCBUTT1.DEF", "SCBUTT2.DEF", "SCBUTT3.DEF", "SCBUTT4.DEF", "SCBUTT5.DEF", "Schools.def", "SCLGBUT.DEF", "SCMDBUT.DEF", "ScnrAll.def", "SCNRBACK.def", "ScnrBDn.def", "ScnrBeg.def", "ScnrBLf.def", "ScnrBRt.def", "ScnrBSl.def", "ScnrBUp.def", "ScnrExi.def", "SCNRLOD.DEF", "SCNRLOSS.def", "ScnrMpSz.def", "ScnrNex.def", "SCNRSAV.DEF", "SCNRSTAR.def", "SCNRVICT.def", "ScnrVL.def", "SCRNHRL.def", "SCRNHRR.def", "ScSelC.def", "SCSMBUT.DEF", "SCXLBUT.DEF", "SECSK32.def", "SECSK82.DEF", "Secskill.def", "SGEXPL.def", "SGTWMTA.def", "SGTWMTB.def", "slidback.def", "SLIDBUH.def", "SLIDBUV.def", "SLIDEBUH.def", "SLIDEBUV.def", "slidknob.def", "SMALRES.def", "smbal.def", "SMBALX.def", "SMCart.def", "SMCata.def", "SMCatx.def", "SMtent.def", "Snowtl.def", "SOLOAD.DEF", "SOMAIN.DEF", "SOQUIT.DEF", "SORETRN.DEF", "SORSTRT.DEF", "SOSAVE.DEF", "Sp01_.def", "Sp02_.def", "Sp03_.def", "Sp04_.def", "Sp05_.def", "Sp06_.def", "Sp07_A.def", "Sp07_B.def", "Sp08_.def", "Sp09_.def", "Sp10_.def", "Sp11_.def", "Sp12_.def", "sp13_.def", "SpellBon.def", "SpellInt.def", "spells.def", "SpellScr.def", "SPELTAB.def", "SpLevA.def", "SpLevE.def", "SpLevF.def", "SpLevW.def", "SSkilBon.def", "Subbtl.def", "Swmptl.def", "SYSLB.DEF", "SYSOB10.DEF", "SYSOB11.DEF", "SYSOB12.DEF", "SYSOB13.DEF", "SYSOPB1.DEF", "SYSOPB2.DEF", "SYSOPB3.DEF", "SYSOPB4.DEF", "SYSOPB5.DEF", "SYSOPB6.DEF", "SYSOPB7.DEF", "SYSOPB8.DEF", "SYSOPB9.DEF", "SYSOPCHK.DEF", "tbcsblak.def", "TBCSBOAT.def", "TBCSCAS2.def", "TBCSCAS3.def", "TBCSCSTL.def", "TBCSDOCK.def", "TBCSDW_0.def", "TBCSDW_1.def", "TBCSDW_2.def", "TBCSDW_3.def", "TBCSDW_4.def", "TBCSDW_5.def", "TBCSDW_6.def", "TBCSEXT0.def", "TBCSEXT1.def", "TBCSEXT2.def", "TBCSHAL2.def", "TBCSHAL3.def", "TBCSHAL4.def", "TBCSHALL.def", "TBCSHOLY.def", "TBCSHRD1.def", "TBCSHRD2.def", "TBCSMAG2.def", "TBCSMAG3.def", "TBCSMAG4.def", "TBCSMAGE.def", "TBCSMARK.def", "TBCSSILO.def", "TBCSSPEC.def", "TBCSTVRN.def", "TBCSUP_0.def", "TBCSUP_1.def", "TBCSUP_2.def", "TBCSUP_3.def", "TBCSUP_4.def", "TBCSUP_5.def", "TBCSUP_6.def", "TBDnBlak.def", "TBDnCas2.def", "TBDnCas3.def", "TBDnCstl.def", "TBDnDw_0.def", "TBDnDw_1.def", "TBDnDw_2.def", "TBDnDw_3.def", "TBDnDw_4.def", "TBDnDw_5.def", "TBDnDw_6.def", "TBDnExt0.def", "TBDnExt1.def", "TBDnExt2.def", "TBDnHal2.def", "TBDnHal3.def", "TBDnHal4.def", "TBDnHall.def", "TBDnHoly.def", "TBDnHrd1.def", "TBDnHrd2.def", "TBDnMag2.def", "TBDnMag3.def", "TBDnMag4.def", "TBDnMag5.def", "TBDnMage.def", "TBDnMark.def", "TBDnSilo.def", "TBDnSpec.def", "TBDnTvrn.def", "TBDnUp_0.def", "TBDnUp_1.def", "TBDnUp_2.def", "TBDnUp_3.def", "TBDnUp_4.def", "TBDnUp_5.def", "TBDnUp_6.def", "TBELblak.def", "TBELboat.def", "TBELcas2.def", "TBELcas3.def", "TBELcstl.def", "TBELdock.def", "TBELdw_0.def", "TBELdw_1.def", "TBELdw_2.def", "TBELdw_3.def", "TBELdw_4.def", "TBELdw_5.def", "TBELdw_6.def", "TBELExt1.def", "TBELExt2.def", "TBELExt3.def", "TBELExt4.def", "TBELExt5.def", "TBELExt6.def", "TBELhal2.def", "TBELhal3.def", "TBELhal4.def", "TBELhall.def", "TBELHoly.def", "TBELHrd1.def", "TBELHrd2.def", "TBELmag2.def", "TBELmag3.def", "TBELmag4.def", "TBELmag5.def", "TBELmage.def", "TBELmark.def", "TBELsilo.def", "TBELSpec.def", "TBELtvrn.def", "TBELup_0.def", "TBELup_1.def", "TBELup_2.def", "TBELup_3.def", "TBELup_4.def", "TBELup_5.def", "TBELup_6.def", "TBFRBLAK.def", "TBFRBOAT.def", "TBFRCAS2.def", "TBFrCas3.def", "TBFRCSTL.def", "TBFRDOCK.def", "TBFRDW_0.def", "TBFRDW_1.def", "TBFRDW_2.def", "TBFRDW_3.def", "TBFRDW_4.def", "TBFrdw_5.def", "TBFRDW_6.def", "TBFREXT0.def", "TBFREXT1.def", "TBFREXT2.def", "TBFrHal2.def", "TBFrHal3.def", "TBFrhal4.def", "TBFRHALL.def", "TBFRHOLY.def", "TBFrHrd1.def", "TBFrHrd2.def", "TBFRMAG2.def", "TBFRMAG3.def", "TBFRMAGE.def", "TBFRMARK.def", "TBFRSILO.def", "TBFRSPEC.def", "TBFRTVRN.def", "TBFRUP_0.def", "TBFRUP_1.def", "TBFRUP_2.def", "TBFRUP_3.def", "TBFRUP_4.def", "TBFrup_5.def", "TBFRUP_6.def", "TBFRWTRW.DEF", "TBINBLAK.def", "TBINCAS2.def", "TBINCAS3.def", "TBINCSTL.def", "TBINDW_0.def", "TBINDW_1.def", "TBINDW_2.def", "TBINDW_3.def", "TBINDW_4.def", "TBINDW_5.def", "TBINDW_6.def", "TBINEXT0.def", "TBINEXT1.def", "TBINEXT2.def", "TBINHAL2.def", "TBINHAL3.def", "TBINHAL4.def", "TBINHALL.def", "TBINHOLY.def", "TBINHRD1.def", "TBINHRD2.def", "TBINHRD3.def", "TBINHRD4.def", "TBINMAG2.def", "TBINMAG3.def", "TBINMAG4.def", "TBINMAG5.def", "TBINMAGE.def", "TBINMARK.def", "TBINSILO.def", "TBINTVRN.def", "TBINUP_0.def", "TBINUP_1.def", "TBINUP_2.def", "TBINUP_3.def", "TBINUP_4.def", "TBINUP_5.def", "TBINUP_6.def", "TBNCBLAK.def", "TBNCBOAT.def", "TBNCCAS2.def", "TBNCCAS3.def", "TBNCCSTL.def", "TBNCDOCK.def", "TBNCDW_0.def", "TBNCDW_1.def", "TBNCDW_2.def", "TBNCDW_3.def", "TBNCDW_4.def", "TBNCDW_5.def", "TBNCDW_6.def", "TBNCEXT0.def", "TBNCEXT1.def", "TBNCEXT2.def", "TBNCEXT3.def", "TBNCEXT4.def", "TBNCEXT5.def", "TBNCHAL2.def", "TBNCHAL3.def", "TBNCHAL4.def", "TBNCHALL.def", "TBNCHOLY.def", "TBNCHRD1.def", "TBNCHRD2.def", "TBNCMAG2.def", "TBNCMAG3.def", "TBNCMAG4.def", "TBNCMAG5.def", "TBNCMAGE.def", "TBNCMARK.def", "TBNCSILO.def", "TBNCSPEC.def", "TBNCTVRN.def", "TBNCUP_0.def", "TBNCUP_1.def", "TBNCUP_2.def", "TBNCUP_3.def", "TBNCUP_4.def", "TBNCUP_5.def", "TBNCUP_6.def", "TBRMBLAK.def", "TBRMCAS2.def", "TBRMCAS3.def", "TBRMCSTL.def", "TBRMDW_0.def", "TBRMDW_1.def", "TBRMDW_2.def", "TBRMDW_3.def", "TBRMDW_4.def", "TBRMDW_5.def", "TBRMDW_6.def", "TBRMEXT0.def", "TBRMEXT1.def", "TBRMEXT2.def", "TBRMEXT3.def", "TBRMEXT4.def", "TBRMEXT5.def", "TBRMHAL2.def", "TBRMHAL3.def", "TBRMHAL4.def", "TBRMHALL.def", "TBRMHOLY.def", "TBRMHRD1.def", "TBRMHRD2.def", "TBRMHRD3.def", "TBRMHRD4.def", "TBRMMAG2.def", "TBRMMAG3.def", "TBRMMAG4.def", "TBRMMAG5.def", "TBRMMAGE.def", "TBRMMARK.def", "TBRMSILO.def", "TBRMSPEC.def", "TBRMTVRN.def", "TBRMUP_0.def", "TBRMUP_1.def", "TBRMUP_2.def", "TBRMUP_3.def", "TBRMUP_4.def", "TBRMUP_5.def", "TBRMUP_6.def", "TBStBlak.def", "TBStCas2.def", "TBStCas3.def", "TBStCstl.def", "TBStDw_0.def", "TBStDw_1.def", "TBStDw_2.def", "TBStDw_3.def", "TBStDw_4.def", "TBStDw_5.def", "TBStDw_6.def", "TBStExt0.def", "TBStExt1.def", "TBStExt2.def", "TBStExt3.def", "TBStHal2.def", "TBStHal3.def", "TBStHal4.def", "TBStHall.def", "TBStHoly.def", "TBStHrd1.def", "TBStHrd2.def", "TBStMag2.def", "TBStMag3.def", "TBStMage.def", "TBStMark.def", "TBStSilo.def", "TBStSpec.def", "TBStTvrn.def", "TBStUp_0.def", "TBStUp_1.def", "TBStUp_2.def", "TBStUp_3.def", "TBStUp_4.def", "TBStUp_5.def", "TBStUp_6.def", "tbtwblak.def", "TBTWCAS2.def", "TBTWCAS3.def", "TBTWCSTL.def", "TBTWDW_0.def", "TBTWDW_1.def", "TBTWDW_2.def", "TBTWDW_3.def", "TBTWDW_4.def", "TBTWDW_5.def", "TBTWDW_6.def", "TBTWEXT0.def", "TBTWEXT1.def", "TBTWEXT2.def", "TBTWHAL2.def", "TBTWHAL3.def", "TBTWHAL4.def", "TBTWHALL.def", "TBTwHoly.def", "TBTWHRD1.def", "TBTWHRD2.def", "TBTWMAG2.def", "TBTWMAG3.def", "TBTWMAG4.def", "TBTWMAG5.def", "TBTWMAGE.def", "TBTWMARK.def", "TBTWSILO.def", "TBTWSPEC.def", "TBTWTVRN.def", "TBTWUP_0.def", "TBTWUP_1.def", "TBTWUP_2.def", "TBTWUP_3.def", "TBTWUP_4.def", "TBTWUP_5.def", "TBTWUP_6.def", "TPMAGE1.def", "TPMAGES.def", "TPMrkB.def", "TPMrkBu1.def", "TPMrkBu2.def", "TPMrkBu3.def", "TPMrkBu4.def", "TPMrkBu5.def", "TPMrkBu6.def", "tpmrkpl.def", "tpmrkr.def", "tpmrkr3.def", "TPMrkS.def", "tptav01.def", "tptav02.def", "tpthbar.def", "tpthchk.def", "trrecb.def", "tsbtns.def", "Tshrc.def", "Tshre.def", "TSRESOUR.DEF", "TwCrPort.def", "UN32.def", "UN44.def", "UNGLDBAR.def", "UNIVCOLR.DEF", "VWMAG1.def", "VWMAG2.def", "VWMAG4.def", "VWMAGALL.DEF", "VWPUZ.def", "VwSymbol.def", "Watrtl.def"])
              assert(lod.files["ArtifBon.def"], hashes["ArtifBon.def"])
              assert(lod.files["AVCvgarm.def"], hashes["AVCvgarm.def"])
              assert(lod.files["CRDRGN.def"], hashes["CRDRGN.def"])
              assert(lod.files["SGTWMTA.def"], hashes["SGTWMTA.def"])
              assert(lod.files["SGTWMTB.def"], hashes["SGTWMTB.def"])
  
  
              lod = unpackLOD(files["H3ab_spr.lod"])
              hashArrayBuffers(lod)
  
              assert(lod.type, "lod (expansion)")
              assert(Object.keys(lod.files), ["AH16_.DEF", "AH16_.msk", "AH16_e.def", "AH16_e.msk", "AH17_.DEF", "AH17_.msk", "AH17_e.def", "AH17_e.msk", "AHplace.def", "AHplace.msk", "Artifact.def", "ArtifBon.def", "AVA0127.def", "AVA0127.msk", "AVA0129.def", "AVA0129.msk", "AVChfor0.def", "AVChfor0.msk", "AVChforX.def", "AVChforX.msk", "AVChforZ.def", "AVChforZ.msk", "Avcvgarm.def", "Avcvgarm.msk", "AVCvgr.def", "AVCvgr.msk", "AVG2ang0.def", "AVG2ang0.msk", "AVG2ela.def", "AVG2ela.msk", "AVG2ele.def", "AVG2ele.msk", "AVG2elf.def", "AVG2elf.msk", "AVG2elw.def", "AVG2elw.msk", "AVG2uni.def", "AVG2uni.msk", "AVGazur.def", "AVGazur.msk", "AVGboar.def", "AVGboar.msk", "AVGcdrg.def", "AVGcdrg.msk", "AVGelp.def", "AVGelp.msk", "AVGench.def", "AVGench.msk", "AVGfbrd.def", "AVGfbrd.msk", "AVGfdrg.def", "AVGfdrg.msk", "AVGhalf.def", "AVGhalf.msk", "AVGmumy.def", "AVGmumy.msk", "AVGnomd.def", "AVGnomd.msk", "AVGpeas.def", "AVGpeas.msk", "AVGpixie.def", "AVGpixie.msk", "AVGrog.def", "AVGrog.msk", "AVGrust.def", "AVGrust.msk", "AVGshrp.def", "AVGshrp.msk", "AVGtrll.def", "AVGtrll.msk", "AVLlk1r.def", "AVLlk1r.msk", "AvLStm1.DEF", "AvLStm1.msk", "AvLStm2.DEF", "AvLStm2.msk", "AvLStm3.DEF", "AvLStm3.msk", "AVLswt00.def", "AVLswt00.msk", "AVLswt01.def", "AVLswt01.msk", "AVLswt02.def", "AVLswt02.msk", "AVLswt03.def", "AVLswt03.msk", "AVLswt04.def", "AVLswt04.msk", "AVLswt05.def", "AVLswt05.msk", "AVLswt06.def", "AVLswt06.msk", "AVLswt07.def", "AVLswt07.msk", "AVLswt08.def", "AVLswt08.msk", "AVLswt09.def", "AVLswt09.msk", "AVLswt10.def", "AVLswt10.msk", "AVLswt11.def", "AVLswt11.msk", "AVLswt12.def", "AVLswt12.msk", "AVLswt13.def", "AVLswt13.msk", "AVLswt14.def", "AVLswt14.msk", "AVLswt15.def", "AVLswt15.msk", "AVLswt16.def", "AVLswt16.msk", "AVLswt17.def", "AVLswt17.msk", "AVLswt18.def", "AVLswt18.msk", "AVLswt19.def", "AVLswt19.msk", "AVLswtr0.def", "AVLswtr0.msk", "AVLswtr1.def", "AVLswtr1.msk", "AVLswtr2.def", "AVLswtr2.msk", "AVLswtr3.def", "AVLswtr3.msk", "AVLswtr4.def", "AVLswtr4.msk", "AVLswtr5.def", "AVLswtr5.msk", "AVLswtr6.def", "AVLswtr6.msk", "AVLswtr7.def", "AVLswtr7.msk", "AVLswtr8.def", "AVLswtr8.msk", "AVLswtr9.def", "AVLswtr9.msk", "AVLtRo00.DEF", "AVLtRo00.msk", "AVLtRo01.DEF", "AVLtRo01.msk", "AVLtRo02.DEF", "AVLtRo02.msk", "AVLtRo03.DEF", "AVLtRo03.msk", "AVLtRo04.DEF", "AVLtRo04.msk", "AVLtRo05.DEF", "AVLtRo05.msk", "AVLtRo06.DEF", "AVLtRo06.msk", "AVLtRo07.DEF", "AVLtRo07.msk", "AVLtRo08.DEF", "AVLtRo08.msk", "AVLtRo09.DEF", "AVLtRo09.msk", "AVLtRo10.DEF", "AVLtRo10.msk", "AVLtRo11.DEF", "AVLtRo11.msk", "AVLtRo12.DEF", "AVLtRo12.msk", "AVLtrRo0.DEF", "AVLtrRo0.msk", "AVLtrRo1.DEF", "AVLtrRo1.msk", "AVLtrRo2.DEF", "AVLtrRo2.msk", "AVLtrRo3.DEF", "AVLtrRo3.msk", "AVLtrRo4.DEF", "AVLtrRo4.msk", "AVLtrRo5.DEF", "AVLtrRo5.msk", "AVLtrRo6.DEF", "AVLtrRo6.msk", "AVLtrRo7.DEF", "AVLtrRo7.msk", "AVLXds01.def", "AVLXds01.msk", "AVLXds02.def", "AVLXds02.msk", "AVLXds03.def", "AVLXds03.msk", "AVLXds04.def", "AVLXds04.msk", "AVLXds05.def", "AVLXds05.msk", "AVLXds06.def", "AVLXds06.msk", "AVLXds07.def", "AVLXds07.msk", "AVLXds08.def", "AVLXds08.msk", "AVLXds09.def", "AVLXds09.msk", "AVLXds10.def", "AVLXds10.msk", "AVLXds11.def", "AVLXds11.msk", "AVLXds12.def", "AVLXds12.msk", "AVLXdt00.def", "AVLXdt00.msk", "AVLXdt01.def", "AVLXdt01.msk", "AVLXdt02.def", "AVLXdt02.msk", "AVLXdt03.def", "AVLXdt03.msk", "AVLXdt04.def", "AVLXdt04.msk", "AVLXdt05.def", "AVLXdt05.msk", "AVLXdt06.def", "AVLXdt06.msk", "AVLXdt07.def", "AVLXdt07.msk", "AVLXdt08.def", "AVLXdt08.msk", "AVLXdt09.def", "AVLXdt09.msk", "AVLXdt10.def", "AVLXdt10.msk", "AVLXdt11.def", "AVLXdt11.msk", "AVLXgr01.def", "AVLXgr01.msk", "AVLXgr02.def", "AVLXgr02.msk", "AVLXgr03.def", "AVLXgr03.msk", "AVLXgr04.def", "AVLXgr04.msk", "AVLXgr05.def", "AVLXgr05.msk", "AVLXgr06.def", "AVLXgr06.msk", "AVLXgr07.def", "AVLXgr07.msk", "AVLXgr08.def", "AVLXgr08.msk", "AVLXgr09.def", "AVLXgr09.msk", "AVLXgr10.def", "AVLXgr10.msk", "AVLXgr11.def", "AVLXgr11.msk", "AVLXgr12.def", "AVLXgr12.msk", "AVLXro01.def", "AVLXro01.msk", "AVLXro02.def", "AVLXro02.msk", "AVLXro03.def", "AVLXro03.msk", "AVLXro04.def", "AVLXro04.msk", "AVLXro05.def", "AVLXro05.msk", "AVLXro06.def", "AVLXro06.msk", "AVLXro07.def", "AVLXro07.msk", "AVLXro08.def", "AVLXro08.msk", "AVLXro09.def", "AVLXro09.msk", "AVLXro10.def", "AVLXro10.msk", "AVLXro11.def", "AVLXro11.msk", "AVLXro12.def", "AVLXro12.msk", "AVLXsu01.def", "AVLXsu01.msk", "AVLXsu02.def", "AVLXsu02.msk", "AVLXsu03.def", "AVLXsu03.msk", "AVLXsu04.def", "AVLXsu04.msk", "AVLXsu05.def", "AVLXsu05.msk", "AVLXsu06.def", "AVLXsu06.msk", "AVLXsu07.def", "AVLXsu07.msk", "AVLXsu08.def", "AVLXsu08.msk", "AVLXsu09.def", "AVLXsu09.msk", "AVLXsu10.def", "AVLXsu10.msk", "AVLXsu11.def", "AVLXsu11.msk", "AVLXsu12.def", "AVLXsu12.msk", "AVLXsw01.def", "AVLXsw01.msk", "AVLXsw02.def", "AVLXsw02.msk", "AVLXsw03.def", "AVLXsw03.msk", "AVLXsw04.def", "AVLXsw04.msk", "AVLXsw05.def", "AVLXsw05.msk", "AVLXsw06.def", "AVLXsw06.msk", "AVLXsw07.def", "AVLXsw07.msk", "AVLXsw08.def", "AVLXsw08.msk", "AVLXsw09.def", "AVLXsw09.msk", "AVLXsw10.def", "AVLXsw10.msk", "AVLXsw11.def", "AVLXsw11.msk", "AVLXsw12.def", "AVLXsw12.msk", "AVRcgen0.def", "AVRcgen0.msk", "AVRcgen1.def", "AVRcgen1.msk", "AVRcgen2.def", "AVRcgen2.msk", "AVRcgen3.def", "AVRcgen3.msk", "AVRcgen4.def", "AVRcgen4.msk", "AVRcgen5.def", "AVRcgen5.msk", "AVRcgen6.def", "AVRcgen6.msk", "AVRcgen7.def", "AVRcgen7.msk", "AVRcgn00.def", "AVRcgn00.msk", "AVRcgn01.def", "AVRcgn01.msk", "AVRcgn02.def", "AVRcgn02.msk", "AVRcgn03.def", "AVRcgn03.msk", "AVRcgn04.def", "AVRcgn04.msk", "AVRcgn05.def", "AVRcgn05.msk", "AVRcgn06.def", "AVRcgn06.msk", "AVRcgn07.def", "AVRcgn07.msk", "AVRcgn08.def", "AVRcgn08.msk", "AVSwtch0.def", "AVSwtch0.msk", "AvWattak.def", "AvWattak.msk", "AVWazure.def", "AVWazure.msk", "AVWboar.def", "AVWboar.msk", "AVWcdrg.def", "AVWcdrg.msk", "AVWench.def", "AVWench.msk", "AVWfbird.def", "AVWfbird.msk", "AVWfdrg.def", "AVWfdrg.msk", "AVWhalf.def", "AVWhalf.msk", "AVWicee.def", "AVWicee.msk", "AVWmagel.def", "AVWmagel.msk", "AVWmumy.def", "AVWmumy.msk", "AVWnomd.def", "AVWnomd.msk", "AVWnrg.def", "AVWnrg.msk", "AVWpeas.def", "AVWpeas.msk", "AVWphx.def", "AVWphx.msk", "AVWpixie.def", "AVWpixie.msk", "AVWpsye.def", "AVWpsye.msk", "AVWrog.def", "AVWrog.msk", "AVWrust.def", "AVWrust.msk", "AVWsharp.def", "AVWsharp.msk", "AvWSKEX0.def", "AvWSKEX0.msk", "AVWsprit.def", "AVWsprit.msk", "AVWstone.def", "AVWstone.msk", "AVWstorm.def", "AVWstorm.msk", "AVWtrll.def", "AVWtrll.msk", "AVXamDS.def", "AVXamDS.msk", "AVXamGR.def", "AVXamGR.msk", "AVXamLV.def", "AVXamLV.msk", "AVXamRO.def", "AVXamRO.msk", "AVXamSN.def", "AVXamSN.msk", "AVXamSU.def", "AVXamSU.msk", "AVXamSW.def", "AVXamSW.msk", "AVXbgt00.def", "AVXbgt00.msk", "AVXbgt10.def", "AVXbgt10.msk", "AVXbgt20.def", "AVXbgt20.msk", "AVXbgt30.def", "AVXbgt30.msk", "AVXbgt40.def", "AVXbgt40.msk", "AVXbgt50.def", "AVXbgt50.msk", "AVXbgt60.def", "AVXbgt60.msk", "AVXbgt70.def", "AVXbgt70.msk", "AVXbor80.def", "AVXbor80.msk", "AVXfgld.def", "AVXfgld.msk", "AVXpsSN.def", "AVXpsSN.msk", "BoRes.def", "C0acid.def", "C0fear.def", "CADRGN.def", "CamCusL.def", "CamCusM.def", "Cboar.def", "Ccdrgn.def", "Cench.def", "CFBIRD.DEF", "CFDRGN.def", "CH16.DEF", "CH17.DEF", "CHalf.def", "CIcee.def", "Cmagel.def", "Cmummy.def", "Cnomad.def", "Cnrg.def", "Cpeas.def", "Cphx.def", "Cpixie.def", "CPrSmalL.def", "Cpsyel.def", "Crogue.def", "CRsDgn.def", "Csharp.def", "CSprite.def", "CSSarm.def", "CSScus.def", "CSSexit.def", "CSSroe.def", "Cstone.def", "Cstorm.def", "Ctroll.def", "FlagPort.def", "GTBACK.DEF", "GTCAMPN.DEF", "GTMULTI.DEF", "GTSINGL.DEF", "GTTUTOR.DEF", "HallElem.def", "ITPA.def", "ITPT.def", "MMENUCR.DEF", "MMENUHS.DEF", "MMENULG.DEF", "MMENUNG.DEF", "MMENUQT.DEF", "Phalf.def", "Picee.def", "PSkilBon.DEF", "RanIsld.def", "RanNone.def", "RanNorm.def", "RanNum0.def", "RanNum1.def", "RanNum2.def", "RanNum3.def", "RanNum4.def", "RanNum5.def", "RanNum6.def", "RanNum7.def", "RanNum8.def", "RanRand.def", "RanShow.def", "RanSizL.def", "RanSizM.def", "RanSizS.def", "RanSizX.def", "RanStrg.def", "RanUndr.def", "RanWeak.def", "ScButCp.def", "ScSelC.def", "SpellBon.def", "SPELLSCR.DEF", "SSkilBon.def", "TBELblak.def", "TBELboat.def", "TBELcas2.def", "TBELcas3.def", "TBELcstl.def", "TBELdock.def", "TBELdw_0.def", "TBELdw_1.def", "TBELdw_2.def", "TBELdw_3.def", "TBELdw_4.def", "TBELdw_5.def", "TBELdw_6.def", "TBELExt1.def", "TBELExt2.def", "TBELExt3.def", "TBELExt4.def", "TBELExt5.def", "TBELExt6.def", "TBELhal2.def", "TBELhal3.def", "TBELhal4.def", "TBELhall.def", "TBELHoly.def", "TBELHrd1.def", "TBELHrd2.def", "TBELmag2.def", "TBELmag3.def", "TBELmag4.def", "TBELmag5.def", "TBELmage.def", "TBELmark.def", "TBELsilo.def", "TBELSpec.def", "TBELtvrn.def", "TBELup_0.def", "TBELup_1.def", "TBELup_2.def", "TBELup_3.def", "TBELup_4.def", "TBELup_5.def", "TBELup_6.def", "TwCrPort.def", "Un32.def", "Un44.def"])
              assert(lod.files["AH16_.DEF"], hashes["AH16_.DEF"])
              assert(lod.files["AH16_.msk"], hashes["AH16_.msk"])
              assert(lod.files["Cmummy.def"], hashes["Cmummy.def"])
           })
  
           it("(buffer, name) => ...", () => {
              const lod = unpackLOD(files["H3ab_spr.lod"], (buffer, name) => (name === "AH16_.DEF" ? null : buffer))
              hashArrayBuffers(lod)
  
              assert(lod.type, "lod (expansion)")
              assert(Object.keys(lod.files), ["AH16_.DEF", "AH16_.msk", "AH16_e.def", "AH16_e.msk", "AH17_.DEF", "AH17_.msk", "AH17_e.def", "AH17_e.msk", "AHplace.def", "AHplace.msk", "Artifact.def", "ArtifBon.def", "AVA0127.def", "AVA0127.msk", "AVA0129.def", "AVA0129.msk", "AVChfor0.def", "AVChfor0.msk", "AVChforX.def", "AVChforX.msk", "AVChforZ.def", "AVChforZ.msk", "Avcvgarm.def", "Avcvgarm.msk", "AVCvgr.def", "AVCvgr.msk", "AVG2ang0.def", "AVG2ang0.msk", "AVG2ela.def", "AVG2ela.msk", "AVG2ele.def", "AVG2ele.msk", "AVG2elf.def", "AVG2elf.msk", "AVG2elw.def", "AVG2elw.msk", "AVG2uni.def", "AVG2uni.msk", "AVGazur.def", "AVGazur.msk", "AVGboar.def", "AVGboar.msk", "AVGcdrg.def", "AVGcdrg.msk", "AVGelp.def", "AVGelp.msk", "AVGench.def", "AVGench.msk", "AVGfbrd.def", "AVGfbrd.msk", "AVGfdrg.def", "AVGfdrg.msk", "AVGhalf.def", "AVGhalf.msk", "AVGmumy.def", "AVGmumy.msk", "AVGnomd.def", "AVGnomd.msk", "AVGpeas.def", "AVGpeas.msk", "AVGpixie.def", "AVGpixie.msk", "AVGrog.def", "AVGrog.msk", "AVGrust.def", "AVGrust.msk", "AVGshrp.def", "AVGshrp.msk", "AVGtrll.def", "AVGtrll.msk", "AVLlk1r.def", "AVLlk1r.msk", "AvLStm1.DEF", "AvLStm1.msk", "AvLStm2.DEF", "AvLStm2.msk", "AvLStm3.DEF", "AvLStm3.msk", "AVLswt00.def", "AVLswt00.msk", "AVLswt01.def", "AVLswt01.msk", "AVLswt02.def", "AVLswt02.msk", "AVLswt03.def", "AVLswt03.msk", "AVLswt04.def", "AVLswt04.msk", "AVLswt05.def", "AVLswt05.msk", "AVLswt06.def", "AVLswt06.msk", "AVLswt07.def", "AVLswt07.msk", "AVLswt08.def", "AVLswt08.msk", "AVLswt09.def", "AVLswt09.msk", "AVLswt10.def", "AVLswt10.msk", "AVLswt11.def", "AVLswt11.msk", "AVLswt12.def", "AVLswt12.msk", "AVLswt13.def", "AVLswt13.msk", "AVLswt14.def", "AVLswt14.msk", "AVLswt15.def", "AVLswt15.msk", "AVLswt16.def", "AVLswt16.msk", "AVLswt17.def", "AVLswt17.msk", "AVLswt18.def", "AVLswt18.msk", "AVLswt19.def", "AVLswt19.msk", "AVLswtr0.def", "AVLswtr0.msk", "AVLswtr1.def", "AVLswtr1.msk", "AVLswtr2.def", "AVLswtr2.msk", "AVLswtr3.def", "AVLswtr3.msk", "AVLswtr4.def", "AVLswtr4.msk", "AVLswtr5.def", "AVLswtr5.msk", "AVLswtr6.def", "AVLswtr6.msk", "AVLswtr7.def", "AVLswtr7.msk", "AVLswtr8.def", "AVLswtr8.msk", "AVLswtr9.def", "AVLswtr9.msk", "AVLtRo00.DEF", "AVLtRo00.msk", "AVLtRo01.DEF", "AVLtRo01.msk", "AVLtRo02.DEF", "AVLtRo02.msk", "AVLtRo03.DEF", "AVLtRo03.msk", "AVLtRo04.DEF", "AVLtRo04.msk", "AVLtRo05.DEF", "AVLtRo05.msk", "AVLtRo06.DEF", "AVLtRo06.msk", "AVLtRo07.DEF", "AVLtRo07.msk", "AVLtRo08.DEF", "AVLtRo08.msk", "AVLtRo09.DEF", "AVLtRo09.msk", "AVLtRo10.DEF", "AVLtRo10.msk", "AVLtRo11.DEF", "AVLtRo11.msk", "AVLtRo12.DEF", "AVLtRo12.msk", "AVLtrRo0.DEF", "AVLtrRo0.msk", "AVLtrRo1.DEF", "AVLtrRo1.msk", "AVLtrRo2.DEF", "AVLtrRo2.msk", "AVLtrRo3.DEF", "AVLtrRo3.msk", "AVLtrRo4.DEF", "AVLtrRo4.msk", "AVLtrRo5.DEF", "AVLtrRo5.msk", "AVLtrRo6.DEF", "AVLtrRo6.msk", "AVLtrRo7.DEF", "AVLtrRo7.msk", "AVLXds01.def", "AVLXds01.msk", "AVLXds02.def", "AVLXds02.msk", "AVLXds03.def", "AVLXds03.msk", "AVLXds04.def", "AVLXds04.msk", "AVLXds05.def", "AVLXds05.msk", "AVLXds06.def", "AVLXds06.msk", "AVLXds07.def", "AVLXds07.msk", "AVLXds08.def", "AVLXds08.msk", "AVLXds09.def", "AVLXds09.msk", "AVLXds10.def", "AVLXds10.msk", "AVLXds11.def", "AVLXds11.msk", "AVLXds12.def", "AVLXds12.msk", "AVLXdt00.def", "AVLXdt00.msk", "AVLXdt01.def", "AVLXdt01.msk", "AVLXdt02.def", "AVLXdt02.msk", "AVLXdt03.def", "AVLXdt03.msk", "AVLXdt04.def", "AVLXdt04.msk", "AVLXdt05.def", "AVLXdt05.msk", "AVLXdt06.def", "AVLXdt06.msk", "AVLXdt07.def", "AVLXdt07.msk", "AVLXdt08.def", "AVLXdt08.msk", "AVLXdt09.def", "AVLXdt09.msk", "AVLXdt10.def", "AVLXdt10.msk", "AVLXdt11.def", "AVLXdt11.msk", "AVLXgr01.def", "AVLXgr01.msk", "AVLXgr02.def", "AVLXgr02.msk", "AVLXgr03.def", "AVLXgr03.msk", "AVLXgr04.def", "AVLXgr04.msk", "AVLXgr05.def", "AVLXgr05.msk", "AVLXgr06.def", "AVLXgr06.msk", "AVLXgr07.def", "AVLXgr07.msk", "AVLXgr08.def", "AVLXgr08.msk", "AVLXgr09.def", "AVLXgr09.msk", "AVLXgr10.def", "AVLXgr10.msk", "AVLXgr11.def", "AVLXgr11.msk", "AVLXgr12.def", "AVLXgr12.msk", "AVLXro01.def", "AVLXro01.msk", "AVLXro02.def", "AVLXro02.msk", "AVLXro03.def", "AVLXro03.msk", "AVLXro04.def", "AVLXro04.msk", "AVLXro05.def", "AVLXro05.msk", "AVLXro06.def", "AVLXro06.msk", "AVLXro07.def", "AVLXro07.msk", "AVLXro08.def", "AVLXro08.msk", "AVLXro09.def", "AVLXro09.msk", "AVLXro10.def", "AVLXro10.msk", "AVLXro11.def", "AVLXro11.msk", "AVLXro12.def", "AVLXro12.msk", "AVLXsu01.def", "AVLXsu01.msk", "AVLXsu02.def", "AVLXsu02.msk", "AVLXsu03.def", "AVLXsu03.msk", "AVLXsu04.def", "AVLXsu04.msk", "AVLXsu05.def", "AVLXsu05.msk", "AVLXsu06.def", "AVLXsu06.msk", "AVLXsu07.def", "AVLXsu07.msk", "AVLXsu08.def", "AVLXsu08.msk", "AVLXsu09.def", "AVLXsu09.msk", "AVLXsu10.def", "AVLXsu10.msk", "AVLXsu11.def", "AVLXsu11.msk", "AVLXsu12.def", "AVLXsu12.msk", "AVLXsw01.def", "AVLXsw01.msk", "AVLXsw02.def", "AVLXsw02.msk", "AVLXsw03.def", "AVLXsw03.msk", "AVLXsw04.def", "AVLXsw04.msk", "AVLXsw05.def", "AVLXsw05.msk", "AVLXsw06.def", "AVLXsw06.msk", "AVLXsw07.def", "AVLXsw07.msk", "AVLXsw08.def", "AVLXsw08.msk", "AVLXsw09.def", "AVLXsw09.msk", "AVLXsw10.def", "AVLXsw10.msk", "AVLXsw11.def", "AVLXsw11.msk", "AVLXsw12.def", "AVLXsw12.msk", "AVRcgen0.def", "AVRcgen0.msk", "AVRcgen1.def", "AVRcgen1.msk", "AVRcgen2.def", "AVRcgen2.msk", "AVRcgen3.def", "AVRcgen3.msk", "AVRcgen4.def", "AVRcgen4.msk", "AVRcgen5.def", "AVRcgen5.msk", "AVRcgen6.def", "AVRcgen6.msk", "AVRcgen7.def", "AVRcgen7.msk", "AVRcgn00.def", "AVRcgn00.msk", "AVRcgn01.def", "AVRcgn01.msk", "AVRcgn02.def", "AVRcgn02.msk", "AVRcgn03.def", "AVRcgn03.msk", "AVRcgn04.def", "AVRcgn04.msk", "AVRcgn05.def", "AVRcgn05.msk", "AVRcgn06.def", "AVRcgn06.msk", "AVRcgn07.def", "AVRcgn07.msk", "AVRcgn08.def", "AVRcgn08.msk", "AVSwtch0.def", "AVSwtch0.msk", "AvWattak.def", "AvWattak.msk", "AVWazure.def", "AVWazure.msk", "AVWboar.def", "AVWboar.msk", "AVWcdrg.def", "AVWcdrg.msk", "AVWench.def", "AVWench.msk", "AVWfbird.def", "AVWfbird.msk", "AVWfdrg.def", "AVWfdrg.msk", "AVWhalf.def", "AVWhalf.msk", "AVWicee.def", "AVWicee.msk", "AVWmagel.def", "AVWmagel.msk", "AVWmumy.def", "AVWmumy.msk", "AVWnomd.def", "AVWnomd.msk", "AVWnrg.def", "AVWnrg.msk", "AVWpeas.def", "AVWpeas.msk", "AVWphx.def", "AVWphx.msk", "AVWpixie.def", "AVWpixie.msk", "AVWpsye.def", "AVWpsye.msk", "AVWrog.def", "AVWrog.msk", "AVWrust.def", "AVWrust.msk", "AVWsharp.def", "AVWsharp.msk", "AvWSKEX0.def", "AvWSKEX0.msk", "AVWsprit.def", "AVWsprit.msk", "AVWstone.def", "AVWstone.msk", "AVWstorm.def", "AVWstorm.msk", "AVWtrll.def", "AVWtrll.msk", "AVXamDS.def", "AVXamDS.msk", "AVXamGR.def", "AVXamGR.msk", "AVXamLV.def", "AVXamLV.msk", "AVXamRO.def", "AVXamRO.msk", "AVXamSN.def", "AVXamSN.msk", "AVXamSU.def", "AVXamSU.msk", "AVXamSW.def", "AVXamSW.msk", "AVXbgt00.def", "AVXbgt00.msk", "AVXbgt10.def", "AVXbgt10.msk", "AVXbgt20.def", "AVXbgt20.msk", "AVXbgt30.def", "AVXbgt30.msk", "AVXbgt40.def", "AVXbgt40.msk", "AVXbgt50.def", "AVXbgt50.msk", "AVXbgt60.def", "AVXbgt60.msk", "AVXbgt70.def", "AVXbgt70.msk", "AVXbor80.def", "AVXbor80.msk", "AVXfgld.def", "AVXfgld.msk", "AVXpsSN.def", "AVXpsSN.msk", "BoRes.def", "C0acid.def", "C0fear.def", "CADRGN.def", "CamCusL.def", "CamCusM.def", "Cboar.def", "Ccdrgn.def", "Cench.def", "CFBIRD.DEF", "CFDRGN.def", "CH16.DEF", "CH17.DEF", "CHalf.def", "CIcee.def", "Cmagel.def", "Cmummy.def", "Cnomad.def", "Cnrg.def", "Cpeas.def", "Cphx.def", "Cpixie.def", "CPrSmalL.def", "Cpsyel.def", "Crogue.def", "CRsDgn.def", "Csharp.def", "CSprite.def", "CSSarm.def", "CSScus.def", "CSSexit.def", "CSSroe.def", "Cstone.def", "Cstorm.def", "Ctroll.def", "FlagPort.def", "GTBACK.DEF", "GTCAMPN.DEF", "GTMULTI.DEF", "GTSINGL.DEF", "GTTUTOR.DEF", "HallElem.def", "ITPA.def", "ITPT.def", "MMENUCR.DEF", "MMENUHS.DEF", "MMENULG.DEF", "MMENUNG.DEF", "MMENUQT.DEF", "Phalf.def", "Picee.def", "PSkilBon.DEF", "RanIsld.def", "RanNone.def", "RanNorm.def", "RanNum0.def", "RanNum1.def", "RanNum2.def", "RanNum3.def", "RanNum4.def", "RanNum5.def", "RanNum6.def", "RanNum7.def", "RanNum8.def", "RanRand.def", "RanShow.def", "RanSizL.def", "RanSizM.def", "RanSizS.def", "RanSizX.def", "RanStrg.def", "RanUndr.def", "RanWeak.def", "ScButCp.def", "ScSelC.def", "SpellBon.def", "SPELLSCR.DEF", "SSkilBon.def", "TBELblak.def", "TBELboat.def", "TBELcas2.def", "TBELcas3.def", "TBELcstl.def", "TBELdock.def", "TBELdw_0.def", "TBELdw_1.def", "TBELdw_2.def", "TBELdw_3.def", "TBELdw_4.def", "TBELdw_5.def", "TBELdw_6.def", "TBELExt1.def", "TBELExt2.def", "TBELExt3.def", "TBELExt4.def", "TBELExt5.def", "TBELExt6.def", "TBELhal2.def", "TBELhal3.def", "TBELhal4.def", "TBELhall.def", "TBELHoly.def", "TBELHrd1.def", "TBELHrd2.def", "TBELmag2.def", "TBELmag3.def", "TBELmag4.def", "TBELmag5.def", "TBELmage.def", "TBELmark.def", "TBELsilo.def", "TBELSpec.def", "TBELtvrn.def", "TBELup_0.def", "TBELup_1.def", "TBELup_2.def", "TBELup_3.def", "TBELup_4.def", "TBELup_5.def", "TBELup_6.def", "TwCrPort.def", "Un32.def", "Un44.def"])
              assert(lod.files["AH16_.DEF"], null)
              assert(lod.files["AH16_.msk"], hashes["AH16_.msk"])
              assert(lod.files["Cmummy.def"], hashes["Cmummy.def"])
           })
  
           it("(buffer, name, skip) => ...", () => {
              const lod = unpackLOD(files["H3ab_spr.lod"], (buffer, name, skip) => (name === "AH16_.DEF" ? buffer : skip()))
              hashArrayBuffers(lod)
  
              assert(lod.type, "lod (expansion)")
              assert(Object.keys(lod.files), ["AH16_.DEF"])
              assert(lod.files["AH16_.DEF"], hashes["AH16_.DEF"])
           })
  
           it("{}", () => {
              const lod = unpackLOD(files["H3ab_spr.lod"], {})
              hashArrayBuffers(lod)
  
              assert(lod.type, "lod (expansion)")
              assert(Object.keys(lod.files), ["AH16_.DEF", "AH16_.msk", "AH16_e.def", "AH16_e.msk", "AH17_.DEF", "AH17_.msk", "AH17_e.def", "AH17_e.msk", "AHplace.def", "AHplace.msk", "Artifact.def", "ArtifBon.def", "AVA0127.def", "AVA0127.msk", "AVA0129.def", "AVA0129.msk", "AVChfor0.def", "AVChfor0.msk", "AVChforX.def", "AVChforX.msk", "AVChforZ.def", "AVChforZ.msk", "Avcvgarm.def", "Avcvgarm.msk", "AVCvgr.def", "AVCvgr.msk", "AVG2ang0.def", "AVG2ang0.msk", "AVG2ela.def", "AVG2ela.msk", "AVG2ele.def", "AVG2ele.msk", "AVG2elf.def", "AVG2elf.msk", "AVG2elw.def", "AVG2elw.msk", "AVG2uni.def", "AVG2uni.msk", "AVGazur.def", "AVGazur.msk", "AVGboar.def", "AVGboar.msk", "AVGcdrg.def", "AVGcdrg.msk", "AVGelp.def", "AVGelp.msk", "AVGench.def", "AVGench.msk", "AVGfbrd.def", "AVGfbrd.msk", "AVGfdrg.def", "AVGfdrg.msk", "AVGhalf.def", "AVGhalf.msk", "AVGmumy.def", "AVGmumy.msk", "AVGnomd.def", "AVGnomd.msk", "AVGpeas.def", "AVGpeas.msk", "AVGpixie.def", "AVGpixie.msk", "AVGrog.def", "AVGrog.msk", "AVGrust.def", "AVGrust.msk", "AVGshrp.def", "AVGshrp.msk", "AVGtrll.def", "AVGtrll.msk", "AVLlk1r.def", "AVLlk1r.msk", "AvLStm1.DEF", "AvLStm1.msk", "AvLStm2.DEF", "AvLStm2.msk", "AvLStm3.DEF", "AvLStm3.msk", "AVLswt00.def", "AVLswt00.msk", "AVLswt01.def", "AVLswt01.msk", "AVLswt02.def", "AVLswt02.msk", "AVLswt03.def", "AVLswt03.msk", "AVLswt04.def", "AVLswt04.msk", "AVLswt05.def", "AVLswt05.msk", "AVLswt06.def", "AVLswt06.msk", "AVLswt07.def", "AVLswt07.msk", "AVLswt08.def", "AVLswt08.msk", "AVLswt09.def", "AVLswt09.msk", "AVLswt10.def", "AVLswt10.msk", "AVLswt11.def", "AVLswt11.msk", "AVLswt12.def", "AVLswt12.msk", "AVLswt13.def", "AVLswt13.msk", "AVLswt14.def", "AVLswt14.msk", "AVLswt15.def", "AVLswt15.msk", "AVLswt16.def", "AVLswt16.msk", "AVLswt17.def", "AVLswt17.msk", "AVLswt18.def", "AVLswt18.msk", "AVLswt19.def", "AVLswt19.msk", "AVLswtr0.def", "AVLswtr0.msk", "AVLswtr1.def", "AVLswtr1.msk", "AVLswtr2.def", "AVLswtr2.msk", "AVLswtr3.def", "AVLswtr3.msk", "AVLswtr4.def", "AVLswtr4.msk", "AVLswtr5.def", "AVLswtr5.msk", "AVLswtr6.def", "AVLswtr6.msk", "AVLswtr7.def", "AVLswtr7.msk", "AVLswtr8.def", "AVLswtr8.msk", "AVLswtr9.def", "AVLswtr9.msk", "AVLtRo00.DEF", "AVLtRo00.msk", "AVLtRo01.DEF", "AVLtRo01.msk", "AVLtRo02.DEF", "AVLtRo02.msk", "AVLtRo03.DEF", "AVLtRo03.msk", "AVLtRo04.DEF", "AVLtRo04.msk", "AVLtRo05.DEF", "AVLtRo05.msk", "AVLtRo06.DEF", "AVLtRo06.msk", "AVLtRo07.DEF", "AVLtRo07.msk", "AVLtRo08.DEF", "AVLtRo08.msk", "AVLtRo09.DEF", "AVLtRo09.msk", "AVLtRo10.DEF", "AVLtRo10.msk", "AVLtRo11.DEF", "AVLtRo11.msk", "AVLtRo12.DEF", "AVLtRo12.msk", "AVLtrRo0.DEF", "AVLtrRo0.msk", "AVLtrRo1.DEF", "AVLtrRo1.msk", "AVLtrRo2.DEF", "AVLtrRo2.msk", "AVLtrRo3.DEF", "AVLtrRo3.msk", "AVLtrRo4.DEF", "AVLtrRo4.msk", "AVLtrRo5.DEF", "AVLtrRo5.msk", "AVLtrRo6.DEF", "AVLtrRo6.msk", "AVLtrRo7.DEF", "AVLtrRo7.msk", "AVLXds01.def", "AVLXds01.msk", "AVLXds02.def", "AVLXds02.msk", "AVLXds03.def", "AVLXds03.msk", "AVLXds04.def", "AVLXds04.msk", "AVLXds05.def", "AVLXds05.msk", "AVLXds06.def", "AVLXds06.msk", "AVLXds07.def", "AVLXds07.msk", "AVLXds08.def", "AVLXds08.msk", "AVLXds09.def", "AVLXds09.msk", "AVLXds10.def", "AVLXds10.msk", "AVLXds11.def", "AVLXds11.msk", "AVLXds12.def", "AVLXds12.msk", "AVLXdt00.def", "AVLXdt00.msk", "AVLXdt01.def", "AVLXdt01.msk", "AVLXdt02.def", "AVLXdt02.msk", "AVLXdt03.def", "AVLXdt03.msk", "AVLXdt04.def", "AVLXdt04.msk", "AVLXdt05.def", "AVLXdt05.msk", "AVLXdt06.def", "AVLXdt06.msk", "AVLXdt07.def", "AVLXdt07.msk", "AVLXdt08.def", "AVLXdt08.msk", "AVLXdt09.def", "AVLXdt09.msk", "AVLXdt10.def", "AVLXdt10.msk", "AVLXdt11.def", "AVLXdt11.msk", "AVLXgr01.def", "AVLXgr01.msk", "AVLXgr02.def", "AVLXgr02.msk", "AVLXgr03.def", "AVLXgr03.msk", "AVLXgr04.def", "AVLXgr04.msk", "AVLXgr05.def", "AVLXgr05.msk", "AVLXgr06.def", "AVLXgr06.msk", "AVLXgr07.def", "AVLXgr07.msk", "AVLXgr08.def", "AVLXgr08.msk", "AVLXgr09.def", "AVLXgr09.msk", "AVLXgr10.def", "AVLXgr10.msk", "AVLXgr11.def", "AVLXgr11.msk", "AVLXgr12.def", "AVLXgr12.msk", "AVLXro01.def", "AVLXro01.msk", "AVLXro02.def", "AVLXro02.msk", "AVLXro03.def", "AVLXro03.msk", "AVLXro04.def", "AVLXro04.msk", "AVLXro05.def", "AVLXro05.msk", "AVLXro06.def", "AVLXro06.msk", "AVLXro07.def", "AVLXro07.msk", "AVLXro08.def", "AVLXro08.msk", "AVLXro09.def", "AVLXro09.msk", "AVLXro10.def", "AVLXro10.msk", "AVLXro11.def", "AVLXro11.msk", "AVLXro12.def", "AVLXro12.msk", "AVLXsu01.def", "AVLXsu01.msk", "AVLXsu02.def", "AVLXsu02.msk", "AVLXsu03.def", "AVLXsu03.msk", "AVLXsu04.def", "AVLXsu04.msk", "AVLXsu05.def", "AVLXsu05.msk", "AVLXsu06.def", "AVLXsu06.msk", "AVLXsu07.def", "AVLXsu07.msk", "AVLXsu08.def", "AVLXsu08.msk", "AVLXsu09.def", "AVLXsu09.msk", "AVLXsu10.def", "AVLXsu10.msk", "AVLXsu11.def", "AVLXsu11.msk", "AVLXsu12.def", "AVLXsu12.msk", "AVLXsw01.def", "AVLXsw01.msk", "AVLXsw02.def", "AVLXsw02.msk", "AVLXsw03.def", "AVLXsw03.msk", "AVLXsw04.def", "AVLXsw04.msk", "AVLXsw05.def", "AVLXsw05.msk", "AVLXsw06.def", "AVLXsw06.msk", "AVLXsw07.def", "AVLXsw07.msk", "AVLXsw08.def", "AVLXsw08.msk", "AVLXsw09.def", "AVLXsw09.msk", "AVLXsw10.def", "AVLXsw10.msk", "AVLXsw11.def", "AVLXsw11.msk", "AVLXsw12.def", "AVLXsw12.msk", "AVRcgen0.def", "AVRcgen0.msk", "AVRcgen1.def", "AVRcgen1.msk", "AVRcgen2.def", "AVRcgen2.msk", "AVRcgen3.def", "AVRcgen3.msk", "AVRcgen4.def", "AVRcgen4.msk", "AVRcgen5.def", "AVRcgen5.msk", "AVRcgen6.def", "AVRcgen6.msk", "AVRcgen7.def", "AVRcgen7.msk", "AVRcgn00.def", "AVRcgn00.msk", "AVRcgn01.def", "AVRcgn01.msk", "AVRcgn02.def", "AVRcgn02.msk", "AVRcgn03.def", "AVRcgn03.msk", "AVRcgn04.def", "AVRcgn04.msk", "AVRcgn05.def", "AVRcgn05.msk", "AVRcgn06.def", "AVRcgn06.msk", "AVRcgn07.def", "AVRcgn07.msk", "AVRcgn08.def", "AVRcgn08.msk", "AVSwtch0.def", "AVSwtch0.msk", "AvWattak.def", "AvWattak.msk", "AVWazure.def", "AVWazure.msk", "AVWboar.def", "AVWboar.msk", "AVWcdrg.def", "AVWcdrg.msk", "AVWench.def", "AVWench.msk", "AVWfbird.def", "AVWfbird.msk", "AVWfdrg.def", "AVWfdrg.msk", "AVWhalf.def", "AVWhalf.msk", "AVWicee.def", "AVWicee.msk", "AVWmagel.def", "AVWmagel.msk", "AVWmumy.def", "AVWmumy.msk", "AVWnomd.def", "AVWnomd.msk", "AVWnrg.def", "AVWnrg.msk", "AVWpeas.def", "AVWpeas.msk", "AVWphx.def", "AVWphx.msk", "AVWpixie.def", "AVWpixie.msk", "AVWpsye.def", "AVWpsye.msk", "AVWrog.def", "AVWrog.msk", "AVWrust.def", "AVWrust.msk", "AVWsharp.def", "AVWsharp.msk", "AvWSKEX0.def", "AvWSKEX0.msk", "AVWsprit.def", "AVWsprit.msk", "AVWstone.def", "AVWstone.msk", "AVWstorm.def", "AVWstorm.msk", "AVWtrll.def", "AVWtrll.msk", "AVXamDS.def", "AVXamDS.msk", "AVXamGR.def", "AVXamGR.msk", "AVXamLV.def", "AVXamLV.msk", "AVXamRO.def", "AVXamRO.msk", "AVXamSN.def", "AVXamSN.msk", "AVXamSU.def", "AVXamSU.msk", "AVXamSW.def", "AVXamSW.msk", "AVXbgt00.def", "AVXbgt00.msk", "AVXbgt10.def", "AVXbgt10.msk", "AVXbgt20.def", "AVXbgt20.msk", "AVXbgt30.def", "AVXbgt30.msk", "AVXbgt40.def", "AVXbgt40.msk", "AVXbgt50.def", "AVXbgt50.msk", "AVXbgt60.def", "AVXbgt60.msk", "AVXbgt70.def", "AVXbgt70.msk", "AVXbor80.def", "AVXbor80.msk", "AVXfgld.def", "AVXfgld.msk", "AVXpsSN.def", "AVXpsSN.msk", "BoRes.def", "C0acid.def", "C0fear.def", "CADRGN.def", "CamCusL.def", "CamCusM.def", "Cboar.def", "Ccdrgn.def", "Cench.def", "CFBIRD.DEF", "CFDRGN.def", "CH16.DEF", "CH17.DEF", "CHalf.def", "CIcee.def", "Cmagel.def", "Cmummy.def", "Cnomad.def", "Cnrg.def", "Cpeas.def", "Cphx.def", "Cpixie.def", "CPrSmalL.def", "Cpsyel.def", "Crogue.def", "CRsDgn.def", "Csharp.def", "CSprite.def", "CSSarm.def", "CSScus.def", "CSSexit.def", "CSSroe.def", "Cstone.def", "Cstorm.def", "Ctroll.def", "FlagPort.def", "GTBACK.DEF", "GTCAMPN.DEF", "GTMULTI.DEF", "GTSINGL.DEF", "GTTUTOR.DEF", "HallElem.def", "ITPA.def", "ITPT.def", "MMENUCR.DEF", "MMENUHS.DEF", "MMENULG.DEF", "MMENUNG.DEF", "MMENUQT.DEF", "Phalf.def", "Picee.def", "PSkilBon.DEF", "RanIsld.def", "RanNone.def", "RanNorm.def", "RanNum0.def", "RanNum1.def", "RanNum2.def", "RanNum3.def", "RanNum4.def", "RanNum5.def", "RanNum6.def", "RanNum7.def", "RanNum8.def", "RanRand.def", "RanShow.def", "RanSizL.def", "RanSizM.def", "RanSizS.def", "RanSizX.def", "RanStrg.def", "RanUndr.def", "RanWeak.def", "ScButCp.def", "ScSelC.def", "SpellBon.def", "SPELLSCR.DEF", "SSkilBon.def", "TBELblak.def", "TBELboat.def", "TBELcas2.def", "TBELcas3.def", "TBELcstl.def", "TBELdock.def", "TBELdw_0.def", "TBELdw_1.def", "TBELdw_2.def", "TBELdw_3.def", "TBELdw_4.def", "TBELdw_5.def", "TBELdw_6.def", "TBELExt1.def", "TBELExt2.def", "TBELExt3.def", "TBELExt4.def", "TBELExt5.def", "TBELExt6.def", "TBELhal2.def", "TBELhal3.def", "TBELhal4.def", "TBELhall.def", "TBELHoly.def", "TBELHrd1.def", "TBELHrd2.def", "TBELmag2.def", "TBELmag3.def", "TBELmag4.def", "TBELmag5.def", "TBELmage.def", "TBELmark.def", "TBELsilo.def", "TBELSpec.def", "TBELtvrn.def", "TBELup_0.def", "TBELup_1.def", "TBELup_2.def", "TBELup_3.def", "TBELup_4.def", "TBELup_5.def", "TBELup_6.def", "TwCrPort.def", "Un32.def", "Un44.def"])
              assert(lod.files["AH16_.DEF"], hashes["AH16_.DEF"])
              assert(lod.files["AH16_.msk"], hashes["AH16_.msk"])
              assert(lod.files["Cmummy.def"], hashes["Cmummy.def"])
           })
  
           it("{ ext: (buffer, name) => ... }", () => {
              const lod = unpackLOD(files["H3ab_spr.lod"], {
                 def: (buffer, name) => (name === "AH16_.DEF" ? null : buffer)
              })
              hashArrayBuffers(lod)
  
              assert(lod.type, "lod (expansion)")
              assert(Object.keys(lod.files), ["AH16_.DEF", "AH16_.msk", "AH16_e.def", "AH16_e.msk", "AH17_.DEF", "AH17_.msk", "AH17_e.def", "AH17_e.msk", "AHplace.def", "AHplace.msk", "Artifact.def", "ArtifBon.def", "AVA0127.def", "AVA0127.msk", "AVA0129.def", "AVA0129.msk", "AVChfor0.def", "AVChfor0.msk", "AVChforX.def", "AVChforX.msk", "AVChforZ.def", "AVChforZ.msk", "Avcvgarm.def", "Avcvgarm.msk", "AVCvgr.def", "AVCvgr.msk", "AVG2ang0.def", "AVG2ang0.msk", "AVG2ela.def", "AVG2ela.msk", "AVG2ele.def", "AVG2ele.msk", "AVG2elf.def", "AVG2elf.msk", "AVG2elw.def", "AVG2elw.msk", "AVG2uni.def", "AVG2uni.msk", "AVGazur.def", "AVGazur.msk", "AVGboar.def", "AVGboar.msk", "AVGcdrg.def", "AVGcdrg.msk", "AVGelp.def", "AVGelp.msk", "AVGench.def", "AVGench.msk", "AVGfbrd.def", "AVGfbrd.msk", "AVGfdrg.def", "AVGfdrg.msk", "AVGhalf.def", "AVGhalf.msk", "AVGmumy.def", "AVGmumy.msk", "AVGnomd.def", "AVGnomd.msk", "AVGpeas.def", "AVGpeas.msk", "AVGpixie.def", "AVGpixie.msk", "AVGrog.def", "AVGrog.msk", "AVGrust.def", "AVGrust.msk", "AVGshrp.def", "AVGshrp.msk", "AVGtrll.def", "AVGtrll.msk", "AVLlk1r.def", "AVLlk1r.msk", "AvLStm1.DEF", "AvLStm1.msk", "AvLStm2.DEF", "AvLStm2.msk", "AvLStm3.DEF", "AvLStm3.msk", "AVLswt00.def", "AVLswt00.msk", "AVLswt01.def", "AVLswt01.msk", "AVLswt02.def", "AVLswt02.msk", "AVLswt03.def", "AVLswt03.msk", "AVLswt04.def", "AVLswt04.msk", "AVLswt05.def", "AVLswt05.msk", "AVLswt06.def", "AVLswt06.msk", "AVLswt07.def", "AVLswt07.msk", "AVLswt08.def", "AVLswt08.msk", "AVLswt09.def", "AVLswt09.msk", "AVLswt10.def", "AVLswt10.msk", "AVLswt11.def", "AVLswt11.msk", "AVLswt12.def", "AVLswt12.msk", "AVLswt13.def", "AVLswt13.msk", "AVLswt14.def", "AVLswt14.msk", "AVLswt15.def", "AVLswt15.msk", "AVLswt16.def", "AVLswt16.msk", "AVLswt17.def", "AVLswt17.msk", "AVLswt18.def", "AVLswt18.msk", "AVLswt19.def", "AVLswt19.msk", "AVLswtr0.def", "AVLswtr0.msk", "AVLswtr1.def", "AVLswtr1.msk", "AVLswtr2.def", "AVLswtr2.msk", "AVLswtr3.def", "AVLswtr3.msk", "AVLswtr4.def", "AVLswtr4.msk", "AVLswtr5.def", "AVLswtr5.msk", "AVLswtr6.def", "AVLswtr6.msk", "AVLswtr7.def", "AVLswtr7.msk", "AVLswtr8.def", "AVLswtr8.msk", "AVLswtr9.def", "AVLswtr9.msk", "AVLtRo00.DEF", "AVLtRo00.msk", "AVLtRo01.DEF", "AVLtRo01.msk", "AVLtRo02.DEF", "AVLtRo02.msk", "AVLtRo03.DEF", "AVLtRo03.msk", "AVLtRo04.DEF", "AVLtRo04.msk", "AVLtRo05.DEF", "AVLtRo05.msk", "AVLtRo06.DEF", "AVLtRo06.msk", "AVLtRo07.DEF", "AVLtRo07.msk", "AVLtRo08.DEF", "AVLtRo08.msk", "AVLtRo09.DEF", "AVLtRo09.msk", "AVLtRo10.DEF", "AVLtRo10.msk", "AVLtRo11.DEF", "AVLtRo11.msk", "AVLtRo12.DEF", "AVLtRo12.msk", "AVLtrRo0.DEF", "AVLtrRo0.msk", "AVLtrRo1.DEF", "AVLtrRo1.msk", "AVLtrRo2.DEF", "AVLtrRo2.msk", "AVLtrRo3.DEF", "AVLtrRo3.msk", "AVLtrRo4.DEF", "AVLtrRo4.msk", "AVLtrRo5.DEF", "AVLtrRo5.msk", "AVLtrRo6.DEF", "AVLtrRo6.msk", "AVLtrRo7.DEF", "AVLtrRo7.msk", "AVLXds01.def", "AVLXds01.msk", "AVLXds02.def", "AVLXds02.msk", "AVLXds03.def", "AVLXds03.msk", "AVLXds04.def", "AVLXds04.msk", "AVLXds05.def", "AVLXds05.msk", "AVLXds06.def", "AVLXds06.msk", "AVLXds07.def", "AVLXds07.msk", "AVLXds08.def", "AVLXds08.msk", "AVLXds09.def", "AVLXds09.msk", "AVLXds10.def", "AVLXds10.msk", "AVLXds11.def", "AVLXds11.msk", "AVLXds12.def", "AVLXds12.msk", "AVLXdt00.def", "AVLXdt00.msk", "AVLXdt01.def", "AVLXdt01.msk", "AVLXdt02.def", "AVLXdt02.msk", "AVLXdt03.def", "AVLXdt03.msk", "AVLXdt04.def", "AVLXdt04.msk", "AVLXdt05.def", "AVLXdt05.msk", "AVLXdt06.def", "AVLXdt06.msk", "AVLXdt07.def", "AVLXdt07.msk", "AVLXdt08.def", "AVLXdt08.msk", "AVLXdt09.def", "AVLXdt09.msk", "AVLXdt10.def", "AVLXdt10.msk", "AVLXdt11.def", "AVLXdt11.msk", "AVLXgr01.def", "AVLXgr01.msk", "AVLXgr02.def", "AVLXgr02.msk", "AVLXgr03.def", "AVLXgr03.msk", "AVLXgr04.def", "AVLXgr04.msk", "AVLXgr05.def", "AVLXgr05.msk", "AVLXgr06.def", "AVLXgr06.msk", "AVLXgr07.def", "AVLXgr07.msk", "AVLXgr08.def", "AVLXgr08.msk", "AVLXgr09.def", "AVLXgr09.msk", "AVLXgr10.def", "AVLXgr10.msk", "AVLXgr11.def", "AVLXgr11.msk", "AVLXgr12.def", "AVLXgr12.msk", "AVLXro01.def", "AVLXro01.msk", "AVLXro02.def", "AVLXro02.msk", "AVLXro03.def", "AVLXro03.msk", "AVLXro04.def", "AVLXro04.msk", "AVLXro05.def", "AVLXro05.msk", "AVLXro06.def", "AVLXro06.msk", "AVLXro07.def", "AVLXro07.msk", "AVLXro08.def", "AVLXro08.msk", "AVLXro09.def", "AVLXro09.msk", "AVLXro10.def", "AVLXro10.msk", "AVLXro11.def", "AVLXro11.msk", "AVLXro12.def", "AVLXro12.msk", "AVLXsu01.def", "AVLXsu01.msk", "AVLXsu02.def", "AVLXsu02.msk", "AVLXsu03.def", "AVLXsu03.msk", "AVLXsu04.def", "AVLXsu04.msk", "AVLXsu05.def", "AVLXsu05.msk", "AVLXsu06.def", "AVLXsu06.msk", "AVLXsu07.def", "AVLXsu07.msk", "AVLXsu08.def", "AVLXsu08.msk", "AVLXsu09.def", "AVLXsu09.msk", "AVLXsu10.def", "AVLXsu10.msk", "AVLXsu11.def", "AVLXsu11.msk", "AVLXsu12.def", "AVLXsu12.msk", "AVLXsw01.def", "AVLXsw01.msk", "AVLXsw02.def", "AVLXsw02.msk", "AVLXsw03.def", "AVLXsw03.msk", "AVLXsw04.def", "AVLXsw04.msk", "AVLXsw05.def", "AVLXsw05.msk", "AVLXsw06.def", "AVLXsw06.msk", "AVLXsw07.def", "AVLXsw07.msk", "AVLXsw08.def", "AVLXsw08.msk", "AVLXsw09.def", "AVLXsw09.msk", "AVLXsw10.def", "AVLXsw10.msk", "AVLXsw11.def", "AVLXsw11.msk", "AVLXsw12.def", "AVLXsw12.msk", "AVRcgen0.def", "AVRcgen0.msk", "AVRcgen1.def", "AVRcgen1.msk", "AVRcgen2.def", "AVRcgen2.msk", "AVRcgen3.def", "AVRcgen3.msk", "AVRcgen4.def", "AVRcgen4.msk", "AVRcgen5.def", "AVRcgen5.msk", "AVRcgen6.def", "AVRcgen6.msk", "AVRcgen7.def", "AVRcgen7.msk", "AVRcgn00.def", "AVRcgn00.msk", "AVRcgn01.def", "AVRcgn01.msk", "AVRcgn02.def", "AVRcgn02.msk", "AVRcgn03.def", "AVRcgn03.msk", "AVRcgn04.def", "AVRcgn04.msk", "AVRcgn05.def", "AVRcgn05.msk", "AVRcgn06.def", "AVRcgn06.msk", "AVRcgn07.def", "AVRcgn07.msk", "AVRcgn08.def", "AVRcgn08.msk", "AVSwtch0.def", "AVSwtch0.msk", "AvWattak.def", "AvWattak.msk", "AVWazure.def", "AVWazure.msk", "AVWboar.def", "AVWboar.msk", "AVWcdrg.def", "AVWcdrg.msk", "AVWench.def", "AVWench.msk", "AVWfbird.def", "AVWfbird.msk", "AVWfdrg.def", "AVWfdrg.msk", "AVWhalf.def", "AVWhalf.msk", "AVWicee.def", "AVWicee.msk", "AVWmagel.def", "AVWmagel.msk", "AVWmumy.def", "AVWmumy.msk", "AVWnomd.def", "AVWnomd.msk", "AVWnrg.def", "AVWnrg.msk", "AVWpeas.def", "AVWpeas.msk", "AVWphx.def", "AVWphx.msk", "AVWpixie.def", "AVWpixie.msk", "AVWpsye.def", "AVWpsye.msk", "AVWrog.def", "AVWrog.msk", "AVWrust.def", "AVWrust.msk", "AVWsharp.def", "AVWsharp.msk", "AvWSKEX0.def", "AvWSKEX0.msk", "AVWsprit.def", "AVWsprit.msk", "AVWstone.def", "AVWstone.msk", "AVWstorm.def", "AVWstorm.msk", "AVWtrll.def", "AVWtrll.msk", "AVXamDS.def", "AVXamDS.msk", "AVXamGR.def", "AVXamGR.msk", "AVXamLV.def", "AVXamLV.msk", "AVXamRO.def", "AVXamRO.msk", "AVXamSN.def", "AVXamSN.msk", "AVXamSU.def", "AVXamSU.msk", "AVXamSW.def", "AVXamSW.msk", "AVXbgt00.def", "AVXbgt00.msk", "AVXbgt10.def", "AVXbgt10.msk", "AVXbgt20.def", "AVXbgt20.msk", "AVXbgt30.def", "AVXbgt30.msk", "AVXbgt40.def", "AVXbgt40.msk", "AVXbgt50.def", "AVXbgt50.msk", "AVXbgt60.def", "AVXbgt60.msk", "AVXbgt70.def", "AVXbgt70.msk", "AVXbor80.def", "AVXbor80.msk", "AVXfgld.def", "AVXfgld.msk", "AVXpsSN.def", "AVXpsSN.msk", "BoRes.def", "C0acid.def", "C0fear.def", "CADRGN.def", "CamCusL.def", "CamCusM.def", "Cboar.def", "Ccdrgn.def", "Cench.def", "CFBIRD.DEF", "CFDRGN.def", "CH16.DEF", "CH17.DEF", "CHalf.def", "CIcee.def", "Cmagel.def", "Cmummy.def", "Cnomad.def", "Cnrg.def", "Cpeas.def", "Cphx.def", "Cpixie.def", "CPrSmalL.def", "Cpsyel.def", "Crogue.def", "CRsDgn.def", "Csharp.def", "CSprite.def", "CSSarm.def", "CSScus.def", "CSSexit.def", "CSSroe.def", "Cstone.def", "Cstorm.def", "Ctroll.def", "FlagPort.def", "GTBACK.DEF", "GTCAMPN.DEF", "GTMULTI.DEF", "GTSINGL.DEF", "GTTUTOR.DEF", "HallElem.def", "ITPA.def", "ITPT.def", "MMENUCR.DEF", "MMENUHS.DEF", "MMENULG.DEF", "MMENUNG.DEF", "MMENUQT.DEF", "Phalf.def", "Picee.def", "PSkilBon.DEF", "RanIsld.def", "RanNone.def", "RanNorm.def", "RanNum0.def", "RanNum1.def", "RanNum2.def", "RanNum3.def", "RanNum4.def", "RanNum5.def", "RanNum6.def", "RanNum7.def", "RanNum8.def", "RanRand.def", "RanShow.def", "RanSizL.def", "RanSizM.def", "RanSizS.def", "RanSizX.def", "RanStrg.def", "RanUndr.def", "RanWeak.def", "ScButCp.def", "ScSelC.def", "SpellBon.def", "SPELLSCR.DEF", "SSkilBon.def", "TBELblak.def", "TBELboat.def", "TBELcas2.def", "TBELcas3.def", "TBELcstl.def", "TBELdock.def", "TBELdw_0.def", "TBELdw_1.def", "TBELdw_2.def", "TBELdw_3.def", "TBELdw_4.def", "TBELdw_5.def", "TBELdw_6.def", "TBELExt1.def", "TBELExt2.def", "TBELExt3.def", "TBELExt4.def", "TBELExt5.def", "TBELExt6.def", "TBELhal2.def", "TBELhal3.def", "TBELhal4.def", "TBELhall.def", "TBELHoly.def", "TBELHrd1.def", "TBELHrd2.def", "TBELmag2.def", "TBELmag3.def", "TBELmag4.def", "TBELmag5.def", "TBELmage.def", "TBELmark.def", "TBELsilo.def", "TBELSpec.def", "TBELtvrn.def", "TBELup_0.def", "TBELup_1.def", "TBELup_2.def", "TBELup_3.def", "TBELup_4.def", "TBELup_5.def", "TBELup_6.def", "TwCrPort.def", "Un32.def", "Un44.def"])
              assert(lod.files["AH16_.DEF"], null)
              assert(lod.files["AH16_.msk"], hashes["AH16_.msk"])
              assert(lod.files["Cmummy.def"], hashes["Cmummy.def"])
           })
  
           it("{ ext: (buffer, name, skip) => ... }", () => {
              const lod = unpackLOD(files["H3ab_spr.lod"], {
                 def: (buffer, name, skip) => (name === "AH16_.DEF" ? buffer : skip()),
                 msk: (buffer, name, skip) => skip()
              })
              hashArrayBuffers(lod)
  
              assert(lod.type, "lod (expansion)")
              assert(Object.keys(lod.files), ["AH16_.DEF"])
              assert(lod.files["AH16_.DEF"], hashes["AH16_.DEF"])
           })
  
        })
  
        describe("def", () => {
  
           // Here we check for properties in detail, and below are mainly .pcx frames tests.
           it("default", () => {
              const def = unpackDEF(files["Cmummy.def"])
              hashArrayBuffers(def)
  
              assert(def.type, "def (creature)")
              assert(def.fullWidth, 450)
              assert(def.fullHeight, 400)
              assert(def.palette, [{ "r": 0, "g": 0, "b": 0, "a": 0 }, { "r": 0, "g": 0, "b": 0, "a": 64 }, { "r": 255, "g": 100, "b": 255, "a": 255 }, { "r": 255, "g": 50, "b": 255, "a": 255 }, { "r": 0, "g": 0, "b": 0, "a": 128 }, { "r": 0, "g": 0, "b": 0, "a": 0 }, { "r": 0, "g": 0, "b": 0, "a": 128 }, { "r": 0, "g": 0, "b": 0, "a": 64 }, { "r": 255, "g": 128, "b": 255, "a": 255 }, { "r": 255, "g": 128, "b": 255, "a": 255 }, { "r": 230, "g": 227, "b": 223, "a": 255 }, { "r": 239, "g": 225, "b": 209, "a": 255 }, { "r": 233, "g": 216, "b": 193, "a": 255 }, { "r": 214, "g": 214, "b": 214, "a": 255 }, { "r": 222, "g": 206, "b": 187, "a": 255 }, { "r": 206, "g": 206, "b": 206, "a": 255 }, { "r": 215, "g": 198, "b": 178, "a": 255 }, { "r": 204, "g": 198, "b": 183, "a": 255 }, { "r": 212, "g": 191, "b": 156, "a": 255 }, { "r": 208, "g": 189, "b": 175, "a": 255 }, { "r": 207, "g": 187, "b": 165, "a": 255 }, { "r": 189, "g": 189, "b": 189, "a": 255 }, { "r": 189, "g": 189, "b": 180, "a": 255 }, { "r": 198, "g": 185, "b": 176, "a": 255 }, { "r": 242, "g": 192, "b": 3, "a": 255 }, { "r": 207, "g": 181, "b": 156, "a": 255 }, { "r": 198, "g": 181, "b": 165, "a": 255 }, { "r": 198, "g": 181, "b": 156, "a": 255 }, { "r": 214, "g": 180, "b": 115, "a": 255 }, { "r": 181, "g": 181, "b": 198, "a": 255 }, { "r": 181, "g": 181, "b": 181, "a": 255 }, { "r": 189, "g": 181, "b": 156, "a": 255 }, { "r": 200, "g": 176, "b": 148, "a": 255 }, { "r": 189, "g": 176, "b": 168, "a": 255 }, { "r": 251, "g": 169, "b": 19, "a": 255 }, { "r": 181, "g": 173, "b": 168, "a": 255 }, { "r": 188, "g": 173, "b": 148, "a": 255 }, { "r": 181, "g": 173, "b": 156, "a": 255 }, { "r": 173, "g": 173, "b": 173, "a": 255 }, { "r": 190, "g": 165, "b": 149, "a": 255 }, { "r": 189, "g": 165, "b": 140, "a": 255 }, { "r": 181, "g": 165, "b": 156, "a": 255 }, { "r": 173, "g": 165, "b": 173, "a": 255 }, { "r": 181, "g": 165, "b": 148, "a": 255 }, { "r": 181, "g": 165, "b": 140, "a": 255 }, { "r": 224, "g": 168, "b": 6, "a": 255 }, { "r": 173, "g": 164, "b": 158, "a": 255 }, { "r": 165, "g": 165, "b": 165, "a": 255 }, { "r": 237, "g": 151, "b": 42, "a": 255 }, { "r": 173, "g": 167, "b": 130, "a": 255 }, { "r": 173, "g": 165, "b": 140, "a": 255 }, { "r": 181, "g": 156, "b": 148, "a": 255 }, { "r": 173, "g": 160, "b": 148, "a": 255 }, { "r": 182, "g": 156, "b": 140, "a": 255 }, { "r": 165, "g": 156, "b": 181, "a": 255 }, { "r": 199, "g": 152, "b": 102, "a": 255 }, { "r": 241, "g": 148, "b": 0, "a": 255 }, { "r": 173, "g": 156, "b": 140, "a": 255 }, { "r": 173, "g": 156, "b": 132, "a": 255 }, { "r": 165, "g": 157, "b": 143, "a": 255 }, { "r": 173, "g": 156, "b": 123, "a": 255 }, { "r": 181, "g": 151, "b": 119, "a": 255 }, { "r": 150, "g": 160, "b": 151, "a": 255 }, { "r": 173, "g": 148, "b": 132, "a": 255 }, { "r": 173, "g": 148, "b": 123, "a": 255 }, { "r": 166, "g": 148, "b": 142, "a": 255 }, { "r": 209, "g": 145, "b": 34, "a": 255 }, { "r": 165, "g": 148, "b": 132, "a": 255 }, { "r": 166, "g": 149, "b": 115, "a": 255 }, { "r": 165, "g": 148, "b": 123, "a": 255 }, { "r": 212, "g": 146, "b": 0, "a": 255 }, { "r": 156, "g": 145, "b": 142, "a": 255 }, { "r": 156, "g": 148, "b": 123, "a": 255 }, { "r": 166, "g": 140, "b": 132, "a": 255 }, { "r": 166, "g": 140, "b": 123, "a": 255 }, { "r": 156, "g": 142, "b": 132, "a": 255 }, { "r": 166, "g": 140, "b": 115, "a": 255 }, { "r": 244, "g": 121, "b": 0, "a": 255 }, { "r": 160, "g": 141, "b": 107, "a": 255 }, { "r": 156, "g": 140, "b": 123, "a": 255 }, { "r": 156, "g": 140, "b": 115, "a": 255 }, { "r": 148, "g": 140, "b": 123, "a": 255 }, { "r": 212, "g": 125, "b": 26, "a": 255 }, { "r": 146, "g": 138, "b": 134, "a": 255 }, { "r": 148, "g": 140, "b": 115, "a": 255 }, { "r": 226, "g": 119, "b": 0, "a": 255 }, { "r": 210, "g": 127, "b": 0, "a": 255 }, { "r": 159, "g": 131, "b": 115, "a": 255 }, { "r": 156, "g": 131, "b": 123, "a": 255 }, { "r": 154, "g": 137, "b": 95, "a": 255 }, { "r": 148, "g": 132, "b": 123, "a": 255 }, { "r": 148, "g": 132, "b": 115, "a": 255 }, { "r": 150, "g": 132, "b": 107, "a": 255 }, { "r": 140, "g": 132, "b": 115, "a": 255 }, { "r": 140, "g": 132, "b": 107, "a": 255 }, { "r": 189, "g": 120, "b": 33, "a": 255 }, { "r": 148, "g": 123, "b": 115, "a": 255 }, { "r": 136, "g": 127, "b": 123, "a": 255 }, { "r": 153, "g": 120, "b": 107, "a": 255 }, { "r": 192, "g": 120, "b": 0, "a": 255 }, { "r": 209, "g": 111, "b": 0, "a": 255 }, { "r": 140, "g": 123, "b": 115, "a": 255 }, { "r": 144, "g": 123, "b": 98, "a": 255 }, { "r": 140, "g": 123, "b": 107, "a": 255 }, { "r": 132, "g": 123, "b": 115, "a": 255 }, { "r": 132, "g": 123, "b": 107, "a": 255 }, { "r": 132, "g": 123, "b": 99, "a": 255 }, { "r": 156, "g": 116, "b": 68, "a": 255 }, { "r": 211, "g": 99, "b": 0, "a": 255 }, { "r": 140, "g": 113, "b": 107, "a": 255 }, { "r": 191, "g": 107, "b": 0, "a": 255 }, { "r": 123, "g": 123, "b": 99, "a": 255 }, { "r": 145, "g": 112, "b": 95, "a": 255 }, { "r": 132, "g": 115, "b": 109, "a": 255 }, { "r": 132, "g": 115, "b": 99, "a": 255 }, { "r": 165, "g": 112, "b": 20, "a": 255 }, { "r": 132, "g": 114, "b": 85, "a": 255 }, { "r": 123, "g": 115, "b": 99, "a": 255 }, { "r": 123, "g": 113, "b": 109, "a": 255 }, { "r": 207, "g": 90, "b": 0, "a": 255 }, { "r": 123, "g": 115, "b": 90, "a": 255 }, { "r": 185, "g": 99, "b": 0, "a": 255 }, { "r": 132, "g": 107, "b": 99, "a": 255 }, { "r": 115, "g": 115, "b": 90, "a": 255 }, { "r": 123, "g": 111, "b": 79, "a": 255 }, { "r": 123, "g": 107, "b": 99, "a": 255 }, { "r": 123, "g": 107, "b": 90, "a": 255 }, { "r": 115, "g": 108, "b": 103, "a": 255 }, { "r": 185, "g": 90, "b": 0, "a": 255 }, { "r": 115, "g": 107, "b": 90, "a": 255 }, { "r": 115, "g": 108, "b": 77, "a": 255 }, { "r": 158, "g": 91, "b": 49, "a": 255 }, { "r": 169, "g": 94, "b": 0, "a": 255 }, { "r": 129, "g": 97, "b": 92, "a": 255 }, { "r": 126, "g": 99, "b": 82, "a": 255 }, { "r": 188, "g": 80, "b": 0, "a": 255 }, { "r": 115, "g": 98, "b": 93, "a": 255 }, { "r": 164, "g": 88, "b": 11, "a": 255 }, { "r": 115, "g": 99, "b": 82, "a": 255 }, { "r": 57, "g": 127, "b": 77, "a": 255 }, { "r": 106, "g": 99, "b": 90, "a": 255 }, { "r": 105, "g": 97, "b": 100, "a": 255 }, { "r": 107, "g": 99, "b": 82, "a": 255 }, { "r": 169, "g": 82, "b": 0, "a": 255 }, { "r": 122, "g": 91, "b": 74, "a": 255 }, { "r": 124, "g": 87, "b": 82, "a": 255 }, { "r": 126, "g": 90, "b": 58, "a": 255 }, { "r": 99, "g": 99, "b": 82, "a": 255 }, { "r": 153, "g": 86, "b": 0, "a": 255 }, { "r": 99, "g": 99, "b": 74, "a": 255 }, { "r": 107, "g": 90, "b": 90, "a": 255 }, { "r": 107, "g": 90, "b": 82, "a": 255 }, { "r": 107, "g": 91, "b": 74, "a": 255 }, { "r": 129, "g": 84, "b": 37, "a": 255 }, { "r": 99, "g": 90, "b": 82, "a": 255 }, { "r": 160, "g": 74, "b": 0, "a": 255 }, { "r": 99, "g": 90, "b": 74, "a": 255 }, { "r": 97, "g": 88, "b": 90, "a": 255 }, { "r": 136, "g": 84, "b": 3, "a": 255 }, { "r": 101, "g": 86, "b": 66, "a": 255 }, { "r": 90, "g": 90, "b": 74, "a": 255 }, { "r": 129, "g": 80, "b": 20, "a": 255 }, { "r": 123, "g": 74, "b": 67, "a": 255 }, { "r": 101, "g": 82, "b": 82, "a": 255 }, { "r": 101, "g": 80, "b": 74, "a": 255 }, { "r": 154, "g": 65, "b": 0, "a": 255 }, { "r": 93, "g": 85, "b": 57, "a": 255 }, { "r": 90, "g": 82, "b": 74, "a": 255 }, { "r": 88, "g": 81, "b": 82, "a": 255 }, { "r": 131, "g": 74, "b": 2, "a": 255 }, { "r": 90, "g": 82, "b": 66, "a": 255 }, { "r": 82, "g": 82, "b": 74, "a": 255 }, { "r": 96, "g": 72, "b": 66, "a": 255 }, { "r": 131, "g": 66, "b": 0, "a": 255 }, { "r": 121, "g": 60, "b": 56, "a": 255 }, { "r": 121, "g": 66, "b": 13, "a": 255 }, { "r": 84, "g": 73, "b": 74, "a": 255 }, { "r": 82, "g": 74, "b": 66, "a": 255 }, { "r": 85, "g": 74, "b": 57, "a": 255 }, { "r": 91, "g": 72, "b": 47, "a": 255 }, { "r": 92, "g": 66, "b": 57, "a": 255 }, { "r": 100, "g": 69, "b": 19, "a": 255 }, { "r": 128, "g": 57, "b": 1, "a": 255 }, { "r": 74, "g": 74, "b": 57, "a": 255 }, { "r": 82, "g": 66, "b": 66, "a": 255 }, { "r": 74, "g": 68, "b": 75, "a": 255 }, { "r": 74, "g": 67, "b": 66, "a": 255 }, { "r": 74, "g": 68, "b": 49, "a": 255 }, { "r": 74, "g": 66, "b": 57, "a": 255 }, { "r": 92, "g": 57, "b": 54, "a": 255 }, { "r": 66, "g": 66, "b": 49, "a": 255 }, { "r": 66, "g": 60, "b": 67, "a": 255 }, { "r": 119, "g": 41, "b": 21, "a": 255 }, { "r": 94, "g": 48, "b": 49, "a": 255 }, { "r": 66, "g": 59, "b": 57, "a": 255 }, { "r": 102, "g": 44, "b": 39, "a": 255 }, { "r": 96, "g": 53, "b": 6, "a": 255 }, { "r": 74, "g": 54, "b": 53, "a": 255 }, { "r": 66, "g": 57, "b": 49, "a": 255 }, { "r": 63, "g": 59, "b": 41, "a": 255 }, { "r": 89, "g": 49, "b": 20, "a": 255 }, { "r": 54, "g": 60, "b": 53, "a": 255 }, { "r": 86, "g": 45, "b": 39, "a": 255 }, { "r": 18, "g": 73, "b": 35, "a": 255 }, { "r": 70, "g": 45, "b": 41, "a": 255 }, { "r": 56, "g": 49, "b": 57, "a": 255 }, { "r": 59, "g": 48, "b": 49, "a": 255 }, { "r": 64, "g": 48, "b": 30, "a": 255 }, { "r": 57, "g": 49, "b": 41, "a": 255 }, { "r": 92, "g": 32, "b": 34, "a": 255 }, { "r": 49, "g": 49, "b": 41, "a": 255 }, { "r": 66, "g": 45, "b": 13, "a": 255 }, { "r": 49, "g": 49, "b": 32, "a": 255 }, { "r": 57, "g": 41, "b": 41, "a": 255 }, { "r": 48, "g": 44, "b": 49, "a": 255 }, { "r": 71, "g": 32, "b": 33, "a": 255 }, { "r": 49, "g": 41, "b": 41, "a": 255 }, { "r": 90, "g": 23, "b": 24, "a": 255 }, { "r": 49, "g": 41, "b": 33, "a": 255 }, { "r": 49, "g": 41, "b": 21, "a": 255 }, { "r": 41, "g": 41, "b": 41, "a": 255 }, { "r": 41, "g": 41, "b": 33, "a": 255 }, { "r": 94, "g": 16, "b": 16, "a": 255 }, { "r": 41, "g": 41, "b": 24, "a": 255 }, { "r": 23, "g": 49, "b": 29, "a": 255 }, { "r": 71, "g": 25, "b": 24, "a": 255 }, { "r": 53, "g": 29, "b": 28, "a": 255 }, { "r": 82, "g": 16, "b": 16, "a": 255 }, { "r": 41, "g": 33, "b": 35, "a": 255 }, { "r": 63, "g": 25, "b": 16, "a": 255 }, { "r": 61, "g": 26, "b": 7, "a": 255 }, { "r": 41, "g": 32, "b": 24, "a": 255 }, { "r": 21, "g": 41, "b": 27, "a": 255 }, { "r": 74, "g": 16, "b": 16, "a": 255 }, { "r": 33, "g": 33, "b": 24, "a": 255 }, { "r": 32, "g": 30, "b": 35, "a": 255 }, { "r": 33, "g": 33, "b": 16, "a": 255 }, { "r": 83, "g": 8, "b": 10, "a": 255 }, { "r": 62, "g": 16, "b": 16, "a": 255 }, { "r": 45, "g": 24, "b": 14, "a": 255 }, { "r": 24, "g": 33, "b": 16, "a": 255 }, { "r": 21, "g": 33, "b": 24, "a": 255 }, { "r": 33, "g": 24, "b": 24, "a": 255 }, { "r": 69, "g": 8, "b": 10, "a": 255 }, { "r": 33, "g": 24, "b": 16, "a": 255 }, { "r": 33, "g": 24, "b": 8, "a": 255 }, { "r": 24, "g": 24, "b": 16, "a": 255 }, { "r": 23, "g": 22, "b": 24, "a": 255 }, { "r": 24, "g": 24, "b": 8, "a": 255 }, { "r": 10, "g": 28, "b": 15, "a": 255 }, { "r": 50, "g": 8, "b": 9, "a": 255 }, { "r": 26, "g": 16, "b": 16, "a": 255 }, { "r": 16, "g": 16, "b": 16, "a": 255 }, { "r": 18, "g": 16, "b": 8, "a": 255 }, { "r": 21, "g": 7, "b": 7, "a": 255 }, { "r": 8, "g": 8, "b": 8, "a": 255 }])
              assert(def.groups, {
                 "moving":          ["cmummy58.pcx", "cmummy59.pcx", "cmummy60.pcx", "cmummy61.pcx", "cmummy62.pcx", "cmummy63.pcx", "cmummy64.pcx", "cmummy65.pcx"],
                 "mouse over":      ["cmummy41.pcx", "cmummy42.pcx", "cmummy43.pcx", "cmummy44.pcx", "cmummy45.pcx", "cmummy46.pcx", "cmummy47.pcx", "cmummy48.pcx"],
                 "standing":        ["cmummy49.pcx", "cmummy52.pcx", "cmummy53.pcx", "cmummy54.pcx", "cmummy55.pcx", "cmummy56.pcx"],
                 "getting hit":     ["cmummy66.pcx", "cmummy67.pcx", "cmummy68.pcx", "cmummy69.pcx", "cmummy70.pcx", "cmummy71.pcx", "cmummy72.pcx", "cmummy73.pcx"],
                 "defend":          ["cmummy25.pcx", "cmummy26.pcx", "cmummy27.pcx", "cmummy28.pcx", "cmummy28.pcx", "cmummy28.pcx", "cmummy29.pcx", "cmummy30.pcx"],
                 "death":           ["cmummy31.pcx", "cmummy32.pcx", "cmummy33.pcx", "cmummy34.pcx", "cmummy35.pcx", "cmummy36.pcx", "cmummy37.pcx", "cmummy38.pcx", "cmummy39.pcx", "cmummy40.pcx"],
                 "turn left":       ["cmummy50.pcx", "cmummy51.pcx"],
                 "turn right":      ["cmummy51.pcx", "cmummy50.pcx"],
                 "attack up":       ["cmummy17.pcx", "cmummy18.pcx", "cmummy19.pcx", "cmummy20.pcx", "cmummy21.pcx", "cmummy22.pcx", "cmummy23.pcx", "cmummy24.pcx"],
                 "attack straight": ["cmummy09.pcx", "cmummy10.pcx", "cmummy11.pcx", "cmummy12.pcx", "cmummy13.pcx", "cmummy14.pcx", "cmummy15.pcx", "cmummy16.pcx"],
                 "attack down":     ["cmummy01.pcx", "cmummy02.pcx", "cmummy03.pcx", "cmummy04.pcx", "cmummy05.pcx", "cmummy06.pcx", "cmummy07.pcx", "cmummy08.pcx"],
                 "start moving":    ["cmummy57.pcx"],
                 "stop moving":     ["cmummy66.pcx"]
              })
              assert(Object.keys(def.images), ["cmummy58.pcx", "cmummy59.pcx", "cmummy60.pcx", "cmummy61.pcx", "cmummy62.pcx", "cmummy63.pcx", "cmummy64.pcx", "cmummy65.pcx", "cmummy41.pcx", "cmummy42.pcx", "cmummy43.pcx", "cmummy44.pcx", "cmummy45.pcx", "cmummy46.pcx", "cmummy47.pcx", "cmummy48.pcx", "cmummy49.pcx", "cmummy52.pcx", "cmummy53.pcx", "cmummy54.pcx", "cmummy55.pcx", "cmummy56.pcx", "cmummy66.pcx", "cmummy67.pcx", "cmummy68.pcx", "cmummy69.pcx", "cmummy70.pcx", "cmummy71.pcx", "cmummy72.pcx", "cmummy73.pcx", "cmummy25.pcx", "cmummy26.pcx", "cmummy27.pcx", "cmummy28.pcx", "cmummy29.pcx", "cmummy30.pcx", "cmummy31.pcx", "cmummy32.pcx", "cmummy33.pcx", "cmummy34.pcx", "cmummy35.pcx", "cmummy36.pcx", "cmummy37.pcx", "cmummy38.pcx", "cmummy39.pcx", "cmummy40.pcx", "cmummy50.pcx", "cmummy51.pcx", "cmummy17.pcx", "cmummy18.pcx", "cmummy19.pcx", "cmummy20.pcx", "cmummy21.pcx", "cmummy22.pcx", "cmummy23.pcx", "cmummy24.pcx", "cmummy09.pcx", "cmummy10.pcx", "cmummy11.pcx", "cmummy12.pcx", "cmummy13.pcx", "cmummy14.pcx", "cmummy15.pcx", "cmummy16.pcx", "cmummy01.pcx", "cmummy02.pcx", "cmummy03.pcx", "cmummy04.pcx", "cmummy05.pcx", "cmummy06.pcx", "cmummy07.pcx", "cmummy08.pcx", "cmummy57.pcx"])
              assert(def.images["cmummy01.pcx"], { width: 58, height: 107, x: 170, y: 161, data: "1a9492ab5d7232ac8e2dcb14aaeef9f7f37a8ffe45c93310466c25a7b4798210" })
              assert(def.images["cmummy41.pcx"], { width: 44, height: 105, x: 174, y: 164, data: "0f26a16426438e89fad22b2852b49abaf1bcbf2529c0163fcf90647e1f233177", selection: "db3595a0a5a62810d1839e54755868249e9dd2f4b858565f4ef4f7808f1a20bf" })
              assert(def.images["cmummy42.pcx"], { width: 50, height: 112, x: 174, y: 157, data: "e4fdd056dbc149844ec15f0112a774f07647b714c3abb03fe2e0534adb116d6b", selection: "e5fddab6ee88c3c3676a91a729f5b18f8e10dc86ade34a5e535b93097fbda9e5" })
           })
  
           it("{ format: 'png', padding: false }", () => {
              const def = unpackDEF(files["Cmummy.def"], { format: "png", padding: false })
              hashArrayBuffers(def)
  
              assert(def.type, "def (creature)")
              assert(def.images["cmummy01.pcx"], { width: 58, height: 107, x: 170, y: 161, data: "1a9492ab5d7232ac8e2dcb14aaeef9f7f37a8ffe45c93310466c25a7b4798210" })
              assert(def.images["cmummy41.pcx"], { width: 44, height: 105, x: 174, y: 164, data: "0f26a16426438e89fad22b2852b49abaf1bcbf2529c0163fcf90647e1f233177", selection: "db3595a0a5a62810d1839e54755868249e9dd2f4b858565f4ef4f7808f1a20bf" })
              assert(def.images["cmummy42.pcx"], { width: 50, height: 112, x: 174, y: 157, data: "e4fdd056dbc149844ec15f0112a774f07647b714c3abb03fe2e0534adb116d6b", selection: "e5fddab6ee88c3c3676a91a729f5b18f8e10dc86ade34a5e535b93097fbda9e5" })
           })
  
           it("{ format: 'png', padding: true }", () => {
              const def = unpackDEF(files["Cmummy.def"], { format: "png", padding: true })
              hashArrayBuffers(def)
  
              assert(def.type, "def (creature)")
              assert(def.images["cmummy01.pcx"], { width: 58, height: 107, x: 170, y: 161, data: "9c23603da371629e2e91bf1afbd42f29c4dab9e22966f5916ac7e17fcdd0cb9d" })
              assert(def.images["cmummy41.pcx"], { width: 44, height: 105, x: 174, y: 164, data: "78c70edc183a8977c29b41d333fac9f2e267df0c204d8540751bb1c2ac2178ad", selection: "164e2bc4a937c7252f02ededae4b2aa1425480d9e9ab71d03f3c4d09bdf7aa0e" })
              assert(def.images["cmummy42.pcx"], { width: 50, height: 112, x: 174, y: 157, data: "880907f9bf0b706b29f206324519ae7f57dab79a24f77e3a7da2d9f6f05acc49", selection: "218a733a4ce1f1a19322654d0b61e693e2bc116621a39b425a7d6839a2ba7579" })
           })
  
           it("{ format: 'bitmap', padding: false }", () => {
              const def = unpackDEF(files["Cmummy.def"], { format: "bitmap", padding: false })
              hashArrayBuffers(def)
  
              assert(def.type, "def (creature)")
              assert(def.images["cmummy01.pcx"], { width: 58, height: 107, x: 170, y: 161, data: "8bfd518ff70b23a42d23b573802acaf4b8055ae361edd4171afd7c265fe7d8e9" })
              assert(def.images["cmummy41.pcx"], { width: 44, height: 105, x: 174, y: 164, data: "a341bf95e1876da8712682e634500c86bfa48b5d985bc7f1d2cbed7913237c0b", selection: "91736a4ba102c4dc9c14e5d312573153dc04c69992fc117d97046f64f26d33a9" })
              assert(def.images["cmummy42.pcx"], { width: 50, height: 112, x: 174, y: 157, data: "9ddcea0f56781f6e6e062cb3984713964ada331d62617314924b02866284c8c2", selection: "680655b9abc255d7e32d9d26e3ffa6dde94fffeaa20e1a1f1a970d1a570fd9e9" })
           })
  
           it("{ palette: () => {} }", () => {
              const def = unpackDEF(files["Cmummy.def"], {
                 format: "bitmap",
                 padding: false,
                 palette: (colors) => {
                    colors[2] = {r: 10, g: 20, b: 30, a: 40}
                    colors[10] = {r: 10, g: 20, b: 30, a: 40}
                    colors[255] = {r: 10, g: 20, b: 30, a: 40}
                    return colors
                 }
              })
  
              assert(def.palette[0], {r: 0, g: 0, b: 0, a: 0})        // Original
              assert(def.palette[1], {r: 0, g: 0, b: 0, a: 64})       // Original
              assert(def.palette[2], {r: 10, g: 20, b: 30, a: 40})    // Overwritten
              assert(def.palette[10], {r: 10, g: 20, b: 30, a: 40})   // Overwritten
              assert(def.palette[254], {r: 21, g: 7, b: 7, a: 255})   // Original
              assert(def.palette[255], {r: 10, g: 20, b: 30, a: 40})  // Overwritten
           })
  
           // For now all special colors except for unit selection and shadows in `def (creature)` defs are ignored.
           it("no special colors", () => {
              let def
  
              // Artifact, colors are not special, some happen to use yellow.
              def = unpackDEF(files["ArtifBon.def"], { format: "png", padding: false })
              hashArrayBuffers(def)
              assert(def.type, "def (interface)")
              assert(def.images["ABon108a.pcx"], {
                 width: 58,
                 height: 64,
                 x: 0,
                 y: 0,
                 data: "f27eca71c56dd318b4935df474ee7829f0bf6f8f7ff71b6859b7a634f455ddaa"
              })
  
  
              // Garrison, special color for flags (yellow), intentionally ignored for now.
              def = unpackDEF(files["AVCvgarm.def"], { format: "png", padding: false })
              hashArrayBuffers(def)
              assert(def.type, "def (adventure object)")
              assert(def.images["AVCvgm00.pcx"], {
                 width: 64,
                 height: 128,
                 x: 0,
                 y: 0,
                 data: "f90391f78919c632d32ed91f184c2ed2ee5a00941aa9069eeb1ae555f56afdf0"
              })
  
  
              // Creature DEF, special color only for "mouse over" and "standing" groups.
              def = unpackDEF(files["CRDRGN.def"], { format: "png", padding: false })
              hashArrayBuffers(def)
              assert(def.type, "def (creature)")
  
              assert(def.images["CRDRGN29.PCX"], {      // Yellow used but not special.
                 width: 163,
                 height: 116,
                 x: 110,
                 y: 153,
                 data: "22450c0c74261c94841c24a0034ba2e24f86937ef94535277c0726bd0da13b6a"
              })
  
              assert(def.images["CRDRGN02.PCX"], {      // "mouse over" representative.
                 width: 89,
                 height: 105,
                 x: 174,
                 y: 164,
                 data: "7c9481dc32a2fb44eac6529a52342bf729cc033ecb7a8197891b9e6e4aa86e0d",
                 selection: "a1e2f87a80dc38edf812ebee8ddb2350089530d585e7151a849b87953593b375"
              })
  
              assert(def.images["CRDRGN04.PCX"], {      // "standing" representative.
                 width: 88,
                 height: 105,
                 x: 174,
                 y: 164,
                 data: "b6ae6d87b96c9ace062fe66cad91e37c5ea8e90a9790acd81ad2adb3eddb047a",
                 selection: "e8fa6712e970c0b9538465bdedf81d60a74500a59e74cace03a87fa1e6251f36"
              })
           })
  
           it("legacy format", () => {
              let def
  
              def = unpackDEF(files["SGTWMTA.def"], { format: "png", padding: false })
              hashArrayBuffers(def)
              assert(def, {
                 type: "def (spell)",
                 fullWidth: 320,
                 fullHeight: 320,
                 palette: [{ "r": 0, "g": 0, "b": 0, "a": 0 }, { "r": 0, "g": 0, "b": 0, "a": 64 }, { "r": 255, "g": 100, "b": 255, "a": 255 }, { "r": 255, "g": 50, "b": 255, "a": 255 }, { "r": 0, "g": 0, "b": 0, "a": 128 }, { "r": 0, "g": 0, "b": 0, "a": 0 }, { "r": 0, "g": 0, "b": 0, "a": 128 }, { "r": 0, "g": 0, "b": 0, "a": 64 }, { "r": 255, "g": 128, "b": 255, "a": 255 }, { "r": 255, "g": 128, "b": 255, "a": 255 }, { "r": 255, "g": 255, "b": 255, "a": 255 }, { "r": 255, "g": 245, "b": 255, "a": 255 }, { "r": 251, "g": 242, "b": 237, "a": 255 }, { "r": 254, "g": 249, "b": 140, "a": 255 }, { "r": 255, "g": 255, "b": 101, "a": 255 }, { "r": 230, "g": 236, "b": 255, "a": 255 }, { "r": 254, "g": 255, "b": 73, "a": 255 }, { "r": 255, "g": 233, "b": 179, "a": 255 }, { "r": 253, "g": 255, "b": 45, "a": 255 }, { "r": 227, "g": 232, "b": 232, "a": 255 }, { "r": 236, "g": 229, "b": 214, "a": 255 }, { "r": 242, "g": 227, "b": 203, "a": 255 }, { "r": 255, "g": 254, "b": 19, "a": 255 }, { "r": 255, "g": 255, "b": 0, "a": 255 }, { "r": 254, "g": 253, "b": 8, "a": 255 }, { "r": 233, "g": 219, "b": 231, "a": 255 }, { "r": 222, "g": 222, "b": 231, "a": 255 }, { "r": 222, "g": 222, "b": 222, "a": 255 }, { "r": 222, "g": 218, "b": 240, "a": 255 }, { "r": 213, "g": 223, "b": 233, "a": 255 }, { "r": 214, "g": 223, "b": 222, "a": 255 }, { "r": 222, "g": 213, "b": 231, "a": 255 }, { "r": 222, "g": 214, "b": 222, "a": 255 }, { "r": 214, "g": 213, "b": 232, "a": 255 }, { "r": 214, "g": 214, "b": 222, "a": 255 }, { "r": 216, "g": 214, "b": 214, "a": 255 }, { "r": 255, "g": 232, "b": 0, "a": 255 }, { "r": 206, "g": 214, "b": 222, "a": 255 }, { "r": 251, "g": 224, "b": 45, "a": 255 }, { "r": 206, "g": 211, "b": 235, "a": 255 }, { "r": 205, "g": 214, "b": 214, "a": 255 }, { "r": 214, "g": 206, "b": 222, "a": 255 }, { "r": 254, "g": 225, "b": 10, "a": 255 }, { "r": 216, "g": 205, "b": 214, "a": 255 }, { "r": 227, "g": 205, "b": 179, "a": 255 }, { "r": 242, "g": 204, "b": 142, "a": 255 }, { "r": 206, "g": 205, "b": 222, "a": 255 }, { "r": 206, "g": 206, "b": 214, "a": 255 }, { "r": 243, "g": 207, "b": 100, "a": 255 }, { "r": 211, "g": 203, "b": 204, "a": 255 }, { "r": 196, "g": 205, "b": 227, "a": 255 }, { "r": 198, "g": 206, "b": 205, "a": 255 }, { "r": 197, "g": 203, "b": 214, "a": 255 }, { "r": 206, "g": 198, "b": 214, "a": 255 }, { "r": 255, "g": 210, "b": 0, "a": 255 }, { "r": 198, "g": 198, "b": 204, "a": 255 }, { "r": 188, "g": 198, "b": 202, "a": 255 }, { "r": 254, "g": 198, "b": 11, "a": 255 }, { "r": 231, "g": 184, "b": 142, "a": 255 }, { "r": 255, "g": 198, "b": 0, "a": 255 }, { "r": 206, "g": 185, "b": 201, "a": 255 }, { "r": 214, "g": 181, "b": 171, "a": 255 }, { "r": 189, "g": 186, "b": 200, "a": 255 }, { "r": 255, "g": 189, "b": 0, "a": 255 }, { "r": 255, "g": 181, "b": 0, "a": 255 }, { "r": 208, "g": 178, "b": 144, "a": 255 }, { "r": 177, "g": 179, "b": 209, "a": 255 }, { "r": 223, "g": 173, "b": 97, "a": 255 }, { "r": 193, "g": 174, "b": 173, "a": 255 }, { "r": 178, "g": 178, "b": 189, "a": 255 }, { "r": 255, "g": 173, "b": 0, "a": 255 }, { "r": 249, "g": 171, "b": 17, "a": 255 }, { "r": 176, "g": 176, "b": 179, "a": 255 }, { "r": 247, "g": 173, "b": 0, "a": 255 }, { "r": 206, "g": 165, "b": 138, "a": 255 }, { "r": 255, "g": 165, "b": 0, "a": 255 }, { "r": 247, "g": 165, "b": 0, "a": 255 }, { "r": 255, "g": 156, "b": 0, "a": 255 }, { "r": 161, "g": 166, "b": 196, "a": 255 }, { "r": 247, "g": 156, "b": 0, "a": 255 }, { "r": 183, "g": 161, "b": 144, "a": 255 }, { "r": 202, "g": 152, "b": 130, "a": 255 }, { "r": 177, "g": 157, "b": 171, "a": 255 }, { "r": 162, "g": 163, "b": 169, "a": 255 }, { "r": 255, "g": 146, "b": 0, "a": 255 }, { "r": 192, "g": 158, "b": 105, "a": 255 }, { "r": 209, "g": 151, "b": 93, "a": 255 }, { "r": 222, "g": 146, "b": 43, "a": 255 }, { "r": 189, "g": 148, "b": 106, "a": 255 }, { "r": 178, "g": 143, "b": 146, "a": 255 }, { "r": 154, "g": 152, "b": 153, "a": 255 }, { "r": 189, "g": 148, "b": 66, "a": 255 }, { "r": 191, "g": 140, "b": 103, "a": 255 }, { "r": 179, "g": 141, "b": 127, "a": 255 }, { "r": 155, "g": 142, "b": 175, "a": 255 }, { "r": 162, "g": 143, "b": 133, "a": 255 }, { "r": 176, "g": 140, "b": 106, "a": 255 }, { "r": 151, "g": 140, "b": 151, "a": 255 }, { "r": 183, "g": 132, "b": 100, "a": 255 }, { "r": 170, "g": 132, "b": 105, "a": 255 }, { "r": 160, "g": 129, "b": 129, "a": 255 }, { "r": 178, "g": 128, "b": 77, "a": 255 }, { "r": 183, "g": 127, "b": 46, "a": 255 }, { "r": 176, "g": 120, "b": 99, "a": 255 }, { "r": 138, "g": 130, "b": 133, "a": 255 }, { "r": 154, "g": 125, "b": 107, "a": 255 }, { "r": 129, "g": 123, "b": 179, "a": 255 }, { "r": 165, "g": 117, "b": 100, "a": 255 }, { "r": 135, "g": 119, "b": 151, "a": 255 }, { "r": 175, "g": 113, "b": 74, "a": 255 }, { "r": 152, "g": 115, "b": 102, "a": 255 }, { "r": 145, "g": 113, "b": 128, "a": 255 }, { "r": 152, "g": 118, "b": 72, "a": 255 }, { "r": 165, "g": 110, "b": 75, "a": 255 }, { "r": 173, "g": 109, "b": 48, "a": 255 }, { "r": 176, "g": 107, "b": 27, "a": 255 }, { "r": 140, "g": 110, "b": 104, "a": 255 }, { "r": 151, "g": 105, "b": 98, "a": 255 }, { "r": 156, "g": 107, "b": 68, "a": 255 }, { "r": 143, "g": 107, "b": 72, "a": 255 }, { "r": 123, "g": 105, "b": 133, "a": 255 }, { "r": 151, "g": 99, "b": 77, "a": 255 }, { "r": 132, "g": 103, "b": 103, "a": 255 }, { "r": 140, "g": 99, "b": 99, "a": 255 }, { "r": 152, "g": 99, "b": 66, "a": 255 }, { "r": 153, "g": 99, "b": 44, "a": 255 }, { "r": 140, "g": 99, "b": 71, "a": 255 }, { "r": 114, "g": 104, "b": 106, "a": 255 }, { "r": 144, "g": 89, "b": 85, "a": 255 }, { "r": 143, "g": 90, "b": 69, "a": 255 }, { "r": 123, "g": 99, "b": 70, "a": 255 }, { "r": 145, "g": 90, "b": 55, "a": 255 }, { "r": 164, "g": 85, "b": 18, "a": 255 }, { "r": 132, "g": 90, "b": 70, "a": 255 }, { "r": 132, "g": 87, "b": 84, "a": 255 }, { "r": 123, "g": 88, "b": 102, "a": 255 }, { "r": 142, "g": 80, "b": 68, "a": 255 }, { "r": 108, "g": 86, "b": 126, "a": 255 }, { "r": 123, "g": 85, "b": 85, "a": 255 }, { "r": 142, "g": 81, "b": 52, "a": 255 }, { "r": 132, "g": 84, "b": 57, "a": 255 }, { "r": 148, "g": 82, "b": 22, "a": 255 }, { "r": 132, "g": 81, "b": 69, "a": 255 }, { "r": 123, "g": 84, "b": 70, "a": 255 }, { "r": 132, "g": 83, "b": 49, "a": 255 }, { "r": 110, "g": 84, "b": 86, "a": 255 }, { "r": 123, "g": 83, "b": 55, "a": 255 }, { "r": 140, "g": 78, "b": 28, "a": 255 }, { "r": 113, "g": 83, "b": 70, "a": 255 }, { "r": 115, "g": 82, "b": 55, "a": 255 }, { "r": 132, "g": 74, "b": 51, "a": 255 }, { "r": 99, "g": 79, "b": 103, "a": 255 }, { "r": 127, "g": 76, "b": 41, "a": 255 }, { "r": 123, "g": 74, "b": 57, "a": 255 }, { "r": 123, "g": 74, "b": 49, "a": 255 }, { "r": 118, "g": 73, "b": 68, "a": 255 }, { "r": 128, "g": 76, "b": 24, "a": 255 }, { "r": 115, "g": 74, "b": 57, "a": 255 }, { "r": 115, "g": 74, "b": 49, "a": 255 }, { "r": 115, "g": 75, "b": 41, "a": 255 }, { "r": 104, "g": 74, "b": 70, "a": 255 }, { "r": 106, "g": 75, "b": 55, "a": 255 }, { "r": 100, "g": 71, "b": 86, "a": 255 }, { "r": 125, "g": 64, "b": 37, "a": 255 }, { "r": 115, "g": 66, "b": 49, "a": 255 }, { "r": 111, "g": 66, "b": 57, "a": 255 }, { "r": 123, "g": 61, "b": 51, "a": 255 }, { "r": 115, "g": 66, "b": 41, "a": 255 }, { "r": 112, "g": 68, "b": 33, "a": 255 }, { "r": 107, "g": 66, "b": 49, "a": 255 }, { "r": 107, "g": 66, "b": 41, "a": 255 }, { "r": 113, "g": 66, "b": 21, "a": 255 }, { "r": 97, "g": 64, "b": 69, "a": 255 }, { "r": 97, "g": 66, "b": 57, "a": 255 }, { "r": 99, "g": 69, "b": 33, "a": 255 }, { "r": 126, "g": 59, "b": 12, "a": 255 }, { "r": 98, "g": 66, "b": 49, "a": 255 }, { "r": 97, "g": 67, "b": 41, "a": 255 }, { "r": 74, "g": 65, "b": 102, "a": 255 }, { "r": 78, "g": 66, "b": 78, "a": 255 }, { "r": 108, "g": 57, "b": 41, "a": 255 }, { "r": 109, "g": 57, "b": 33, "a": 255 }, { "r": 104, "g": 56, "b": 51, "a": 255 }, { "r": 110, "g": 57, "b": 20, "a": 255 }, { "r": 99, "g": 57, "b": 41, "a": 255 }, { "r": 99, "g": 57, "b": 33, "a": 255 }, { "r": 97, "g": 58, "b": 23, "a": 255 }, { "r": 90, "g": 56, "b": 51, "a": 255 }, { "r": 90, "g": 57, "b": 41, "a": 255 }, { "r": 74, "g": 61, "b": 62, "a": 255 }, { "r": 90, "g": 57, "b": 33, "a": 255 }, { "r": 78, "g": 59, "b": 46, "a": 255 }, { "r": 110, "g": 44, "b": 36, "a": 255 }, { "r": 82, "g": 59, "b": 31, "a": 255 }, { "r": 109, "g": 47, "b": 11, "a": 255 }, { "r": 93, "g": 49, "b": 41, "a": 255 }, { "r": 99, "g": 49, "b": 24, "a": 255 }, { "r": 94, "g": 49, "b": 33, "a": 255 }, { "r": 94, "g": 49, "b": 16, "a": 255 }, { "r": 97, "g": 49, "b": 6, "a": 255 }, { "r": 90, "g": 49, "b": 24, "a": 255 }, { "r": 82, "g": 49, "b": 43, "a": 255 }, { "r": 82, "g": 49, "b": 33, "a": 255 }, { "r": 72, "g": 48, "b": 60, "a": 255 }, { "r": 82, "g": 49, "b": 24, "a": 255 }, { "r": 74, "g": 49, "b": 45, "a": 255 }, { "r": 82, "g": 49, "b": 16, "a": 255 }, { "r": 69, "g": 51, "b": 31, "a": 255 }, { "r": 91, "g": 41, "b": 20, "a": 255 }, { "r": 60, "g": 45, "b": 76, "a": 255 }, { "r": 82, "g": 41, "b": 33, "a": 255 }, { "r": 82, "g": 41, "b": 24, "a": 255 }, { "r": 57, "g": 49, "b": 45, "a": 255 }, { "r": 82, "g": 41, "b": 16, "a": 255 }, { "r": 74, "g": 41, "b": 33, "a": 255 }, { "r": 69, "g": 40, "b": 44, "a": 255 }, { "r": 74, "g": 41, "b": 24, "a": 255 }, { "r": 93, "g": 35, "b": 3, "a": 255 }, { "r": 78, "g": 41, "b": 8, "a": 255 }, { "r": 94, "g": 29, "b": 26, "a": 255 }, { "r": 73, "g": 41, "b": 16, "a": 255 }, { "r": 66, "g": 41, "b": 33, "a": 255 }, { "r": 66, "g": 41, "b": 24, "a": 255 }, { "r": 75, "g": 33, "b": 27, "a": 255 }, { "r": 57, "g": 37, "b": 44, "a": 255 }, { "r": 75, "g": 33, "b": 16, "a": 255 }, { "r": 77, "g": 33, "b": 7, "a": 255 }, { "r": 48, "g": 37, "b": 61, "a": 255 }, { "r": 66, "g": 33, "b": 33, "a": 255 }, { "r": 49, "g": 41, "b": 31, "a": 255 }, { "r": 66, "g": 33, "b": 24, "a": 255 }, { "r": 66, "g": 33, "b": 16, "a": 255 }, { "r": 57, "g": 33, "b": 33, "a": 255 }, { "r": 66, "g": 33, "b": 8, "a": 255 }, { "r": 57, "g": 33, "b": 24, "a": 255 }, { "r": 45, "g": 35, "b": 43, "a": 255 }, { "r": 57, "g": 33, "b": 16, "a": 255 }, { "r": 73, "g": 23, "b": 25, "a": 255 }, { "r": 57, "g": 33, "b": 8, "a": 255 }, { "r": 69, "g": 24, "b": 8, "a": 255 }, { "r": 57, "g": 24, "b": 25, "a": 255 }, { "r": 49, "g": 26, "b": 28, "a": 255 }, { "r": 57, "g": 24, "b": 16, "a": 255 }, { "r": 57, "g": 24, "b": 8, "a": 255 }, { "r": 57, "g": 24, "b": 0, "a": 255 }, { "r": 49, "g": 25, "b": 16, "a": 255 }, { "r": 71, "g": 13, "b": 7, "a": 255 }, { "r": 49, "g": 24, "b": 7, "a": 255 }, { "r": 41, "g": 23, "b": 28, "a": 255 }, { "r": 36, "g": 22, "b": 43, "a": 255 }, { "r": 29, "g": 25, "b": 28, "a": 255 }, { "r": 57, "g": 14, "b": 7, "a": 255 }, { "r": 41, "g": 19, "b": 12, "a": 255 }, { "r": 49, "g": 14, "b": 7, "a": 255 }, { "r": 29, "g": 19, "b": 12, "a": 255 }, { "r": 22, "g": 4, "b": 4, "a": 255 }],
                 groups: { "all": ["SgTwMt00.pcx"] },
                 images: {
                    "SgTwMt00.pcx": {
                       width: 320,
                       height: 320,
                       x: 0,
                       y: 0,
                       data: "045bf9919cb2a2ef26bdf464e3268022005d2670a55f4b2f83777c8bab6ee3dc"
                    }
                 }
              })
  
  
              def = unpackDEF(files["SGTWMTB.def"], { format: "png", padding: false })
              hashArrayBuffers(def)
              assert(def.type, "def (spell)")
              assert(def.fullWidth, 320)
              assert(def.fullHeight, 320)
              assert(def.palette, [{ "r": 0, "g": 0, "b": 0, "a": 0 }, { "r": 0, "g": 0, "b": 0, "a": 64 }, { "r": 255, "g": 100, "b": 255, "a": 255 }, { "r": 255, "g": 50, "b": 255, "a": 255 }, { "r": 0, "g": 0, "b": 0, "a": 128 }, { "r": 0, "g": 0, "b": 0, "a": 0 }, { "r": 0, "g": 0, "b": 0, "a": 128 }, { "r": 0, "g": 0, "b": 0, "a": 64 }, { "r": 255, "g": 128, "b": 255, "a": 255 }, { "r": 255, "g": 128, "b": 255, "a": 255 }, { "r": 255, "g": 255, "b": 255, "a": 255 }, { "r": 255, "g": 245, "b": 255, "a": 255 }, { "r": 251, "g": 242, "b": 237, "a": 255 }, { "r": 254, "g": 249, "b": 140, "a": 255 }, { "r": 255, "g": 255, "b": 101, "a": 255 }, { "r": 230, "g": 236, "b": 255, "a": 255 }, { "r": 254, "g": 255, "b": 73, "a": 255 }, { "r": 255, "g": 233, "b": 179, "a": 255 }, { "r": 253, "g": 255, "b": 45, "a": 255 }, { "r": 227, "g": 232, "b": 232, "a": 255 }, { "r": 236, "g": 229, "b": 214, "a": 255 }, { "r": 242, "g": 227, "b": 203, "a": 255 }, { "r": 255, "g": 254, "b": 19, "a": 255 }, { "r": 255, "g": 255, "b": 0, "a": 255 }, { "r": 254, "g": 253, "b": 8, "a": 255 }, { "r": 233, "g": 219, "b": 231, "a": 255 }, { "r": 222, "g": 222, "b": 231, "a": 255 }, { "r": 222, "g": 222, "b": 222, "a": 255 }, { "r": 222, "g": 218, "b": 240, "a": 255 }, { "r": 213, "g": 223, "b": 233, "a": 255 }, { "r": 214, "g": 223, "b": 222, "a": 255 }, { "r": 222, "g": 213, "b": 231, "a": 255 }, { "r": 222, "g": 214, "b": 222, "a": 255 }, { "r": 214, "g": 213, "b": 232, "a": 255 }, { "r": 214, "g": 214, "b": 222, "a": 255 }, { "r": 216, "g": 214, "b": 214, "a": 255 }, { "r": 255, "g": 232, "b": 0, "a": 255 }, { "r": 206, "g": 214, "b": 222, "a": 255 }, { "r": 251, "g": 224, "b": 45, "a": 255 }, { "r": 206, "g": 211, "b": 235, "a": 255 }, { "r": 205, "g": 214, "b": 214, "a": 255 }, { "r": 214, "g": 206, "b": 222, "a": 255 }, { "r": 254, "g": 225, "b": 10, "a": 255 }, { "r": 216, "g": 205, "b": 214, "a": 255 }, { "r": 227, "g": 205, "b": 179, "a": 255 }, { "r": 242, "g": 204, "b": 142, "a": 255 }, { "r": 206, "g": 205, "b": 222, "a": 255 }, { "r": 206, "g": 206, "b": 214, "a": 255 }, { "r": 243, "g": 207, "b": 100, "a": 255 }, { "r": 211, "g": 203, "b": 204, "a": 255 }, { "r": 196, "g": 205, "b": 227, "a": 255 }, { "r": 198, "g": 206, "b": 205, "a": 255 }, { "r": 197, "g": 203, "b": 214, "a": 255 }, { "r": 206, "g": 198, "b": 214, "a": 255 }, { "r": 255, "g": 210, "b": 0, "a": 255 }, { "r": 198, "g": 198, "b": 204, "a": 255 }, { "r": 188, "g": 198, "b": 202, "a": 255 }, { "r": 254, "g": 198, "b": 11, "a": 255 }, { "r": 231, "g": 184, "b": 142, "a": 255 }, { "r": 255, "g": 198, "b": 0, "a": 255 }, { "r": 206, "g": 185, "b": 201, "a": 255 }, { "r": 214, "g": 181, "b": 171, "a": 255 }, { "r": 189, "g": 186, "b": 200, "a": 255 }, { "r": 255, "g": 189, "b": 0, "a": 255 }, { "r": 255, "g": 181, "b": 0, "a": 255 }, { "r": 208, "g": 178, "b": 144, "a": 255 }, { "r": 177, "g": 179, "b": 209, "a": 255 }, { "r": 223, "g": 173, "b": 97, "a": 255 }, { "r": 193, "g": 174, "b": 173, "a": 255 }, { "r": 178, "g": 178, "b": 189, "a": 255 }, { "r": 255, "g": 173, "b": 0, "a": 255 }, { "r": 249, "g": 171, "b": 17, "a": 255 }, { "r": 176, "g": 176, "b": 179, "a": 255 }, { "r": 247, "g": 173, "b": 0, "a": 255 }, { "r": 206, "g": 165, "b": 138, "a": 255 }, { "r": 255, "g": 165, "b": 0, "a": 255 }, { "r": 247, "g": 165, "b": 0, "a": 255 }, { "r": 255, "g": 156, "b": 0, "a": 255 }, { "r": 161, "g": 166, "b": 196, "a": 255 }, { "r": 247, "g": 156, "b": 0, "a": 255 }, { "r": 183, "g": 161, "b": 144, "a": 255 }, { "r": 202, "g": 152, "b": 130, "a": 255 }, { "r": 177, "g": 157, "b": 171, "a": 255 }, { "r": 162, "g": 163, "b": 169, "a": 255 }, { "r": 255, "g": 146, "b": 0, "a": 255 }, { "r": 192, "g": 158, "b": 105, "a": 255 }, { "r": 209, "g": 151, "b": 93, "a": 255 }, { "r": 222, "g": 146, "b": 43, "a": 255 }, { "r": 189, "g": 148, "b": 106, "a": 255 }, { "r": 178, "g": 143, "b": 146, "a": 255 }, { "r": 154, "g": 152, "b": 153, "a": 255 }, { "r": 189, "g": 148, "b": 66, "a": 255 }, { "r": 191, "g": 140, "b": 103, "a": 255 }, { "r": 179, "g": 141, "b": 127, "a": 255 }, { "r": 155, "g": 142, "b": 175, "a": 255 }, { "r": 162, "g": 143, "b": 133, "a": 255 }, { "r": 176, "g": 140, "b": 106, "a": 255 }, { "r": 151, "g": 140, "b": 151, "a": 255 }, { "r": 183, "g": 132, "b": 100, "a": 255 }, { "r": 170, "g": 132, "b": 105, "a": 255 }, { "r": 160, "g": 129, "b": 129, "a": 255 }, { "r": 178, "g": 128, "b": 77, "a": 255 }, { "r": 183, "g": 127, "b": 46, "a": 255 }, { "r": 176, "g": 120, "b": 99, "a": 255 }, { "r": 138, "g": 130, "b": 133, "a": 255 }, { "r": 154, "g": 125, "b": 107, "a": 255 }, { "r": 129, "g": 123, "b": 179, "a": 255 }, { "r": 165, "g": 117, "b": 100, "a": 255 }, { "r": 135, "g": 119, "b": 151, "a": 255 }, { "r": 175, "g": 113, "b": 74, "a": 255 }, { "r": 152, "g": 115, "b": 102, "a": 255 }, { "r": 145, "g": 113, "b": 128, "a": 255 }, { "r": 152, "g": 118, "b": 72, "a": 255 }, { "r": 165, "g": 110, "b": 75, "a": 255 }, { "r": 173, "g": 109, "b": 48, "a": 255 }, { "r": 176, "g": 107, "b": 27, "a": 255 }, { "r": 140, "g": 110, "b": 104, "a": 255 }, { "r": 151, "g": 105, "b": 98, "a": 255 }, { "r": 156, "g": 107, "b": 68, "a": 255 }, { "r": 143, "g": 107, "b": 72, "a": 255 }, { "r": 123, "g": 105, "b": 133, "a": 255 }, { "r": 151, "g": 99, "b": 77, "a": 255 }, { "r": 132, "g": 103, "b": 103, "a": 255 }, { "r": 140, "g": 99, "b": 99, "a": 255 }, { "r": 152, "g": 99, "b": 66, "a": 255 }, { "r": 153, "g": 99, "b": 44, "a": 255 }, { "r": 140, "g": 99, "b": 71, "a": 255 }, { "r": 114, "g": 104, "b": 106, "a": 255 }, { "r": 144, "g": 89, "b": 85, "a": 255 }, { "r": 143, "g": 90, "b": 69, "a": 255 }, { "r": 123, "g": 99, "b": 70, "a": 255 }, { "r": 145, "g": 90, "b": 55, "a": 255 }, { "r": 164, "g": 85, "b": 18, "a": 255 }, { "r": 132, "g": 90, "b": 70, "a": 255 }, { "r": 132, "g": 87, "b": 84, "a": 255 }, { "r": 123, "g": 88, "b": 102, "a": 255 }, { "r": 142, "g": 80, "b": 68, "a": 255 }, { "r": 108, "g": 86, "b": 126, "a": 255 }, { "r": 123, "g": 85, "b": 85, "a": 255 }, { "r": 142, "g": 81, "b": 52, "a": 255 }, { "r": 132, "g": 84, "b": 57, "a": 255 }, { "r": 148, "g": 82, "b": 22, "a": 255 }, { "r": 132, "g": 81, "b": 69, "a": 255 }, { "r": 123, "g": 84, "b": 70, "a": 255 }, { "r": 132, "g": 83, "b": 49, "a": 255 }, { "r": 110, "g": 84, "b": 86, "a": 255 }, { "r": 123, "g": 83, "b": 55, "a": 255 }, { "r": 140, "g": 78, "b": 28, "a": 255 }, { "r": 113, "g": 83, "b": 70, "a": 255 }, { "r": 115, "g": 82, "b": 55, "a": 255 }, { "r": 132, "g": 74, "b": 51, "a": 255 }, { "r": 99, "g": 79, "b": 103, "a": 255 }, { "r": 127, "g": 76, "b": 41, "a": 255 }, { "r": 123, "g": 74, "b": 57, "a": 255 }, { "r": 123, "g": 74, "b": 49, "a": 255 }, { "r": 118, "g": 73, "b": 68, "a": 255 }, { "r": 128, "g": 76, "b": 24, "a": 255 }, { "r": 115, "g": 74, "b": 57, "a": 255 }, { "r": 115, "g": 74, "b": 49, "a": 255 }, { "r": 115, "g": 75, "b": 41, "a": 255 }, { "r": 104, "g": 74, "b": 70, "a": 255 }, { "r": 106, "g": 75, "b": 55, "a": 255 }, { "r": 100, "g": 71, "b": 86, "a": 255 }, { "r": 125, "g": 64, "b": 37, "a": 255 }, { "r": 115, "g": 66, "b": 49, "a": 255 }, { "r": 111, "g": 66, "b": 57, "a": 255 }, { "r": 123, "g": 61, "b": 51, "a": 255 }, { "r": 115, "g": 66, "b": 41, "a": 255 }, { "r": 112, "g": 68, "b": 33, "a": 255 }, { "r": 107, "g": 66, "b": 49, "a": 255 }, { "r": 107, "g": 66, "b": 41, "a": 255 }, { "r": 113, "g": 66, "b": 21, "a": 255 }, { "r": 97, "g": 64, "b": 69, "a": 255 }, { "r": 97, "g": 66, "b": 57, "a": 255 }, { "r": 99, "g": 69, "b": 33, "a": 255 }, { "r": 126, "g": 59, "b": 12, "a": 255 }, { "r": 98, "g": 66, "b": 49, "a": 255 }, { "r": 97, "g": 67, "b": 41, "a": 255 }, { "r": 74, "g": 65, "b": 102, "a": 255 }, { "r": 78, "g": 66, "b": 78, "a": 255 }, { "r": 108, "g": 57, "b": 41, "a": 255 }, { "r": 109, "g": 57, "b": 33, "a": 255 }, { "r": 104, "g": 56, "b": 51, "a": 255 }, { "r": 110, "g": 57, "b": 20, "a": 255 }, { "r": 99, "g": 57, "b": 41, "a": 255 }, { "r": 99, "g": 57, "b": 33, "a": 255 }, { "r": 97, "g": 58, "b": 23, "a": 255 }, { "r": 90, "g": 56, "b": 51, "a": 255 }, { "r": 90, "g": 57, "b": 41, "a": 255 }, { "r": 74, "g": 61, "b": 62, "a": 255 }, { "r": 90, "g": 57, "b": 33, "a": 255 }, { "r": 78, "g": 59, "b": 46, "a": 255 }, { "r": 110, "g": 44, "b": 36, "a": 255 }, { "r": 82, "g": 59, "b": 31, "a": 255 }, { "r": 109, "g": 47, "b": 11, "a": 255 }, { "r": 93, "g": 49, "b": 41, "a": 255 }, { "r": 99, "g": 49, "b": 24, "a": 255 }, { "r": 94, "g": 49, "b": 33, "a": 255 }, { "r": 94, "g": 49, "b": 16, "a": 255 }, { "r": 97, "g": 49, "b": 6, "a": 255 }, { "r": 90, "g": 49, "b": 24, "a": 255 }, { "r": 82, "g": 49, "b": 43, "a": 255 }, { "r": 82, "g": 49, "b": 33, "a": 255 }, { "r": 72, "g": 48, "b": 60, "a": 255 }, { "r": 82, "g": 49, "b": 24, "a": 255 }, { "r": 74, "g": 49, "b": 45, "a": 255 }, { "r": 82, "g": 49, "b": 16, "a": 255 }, { "r": 69, "g": 51, "b": 31, "a": 255 }, { "r": 91, "g": 41, "b": 20, "a": 255 }, { "r": 60, "g": 45, "b": 76, "a": 255 }, { "r": 82, "g": 41, "b": 33, "a": 255 }, { "r": 82, "g": 41, "b": 24, "a": 255 }, { "r": 57, "g": 49, "b": 45, "a": 255 }, { "r": 82, "g": 41, "b": 16, "a": 255 }, { "r": 74, "g": 41, "b": 33, "a": 255 }, { "r": 69, "g": 40, "b": 44, "a": 255 }, { "r": 74, "g": 41, "b": 24, "a": 255 }, { "r": 93, "g": 35, "b": 3, "a": 255 }, { "r": 78, "g": 41, "b": 8, "a": 255 }, { "r": 94, "g": 29, "b": 26, "a": 255 }, { "r": 73, "g": 41, "b": 16, "a": 255 }, { "r": 66, "g": 41, "b": 33, "a": 255 }, { "r": 66, "g": 41, "b": 24, "a": 255 }, { "r": 75, "g": 33, "b": 27, "a": 255 }, { "r": 57, "g": 37, "b": 44, "a": 255 }, { "r": 75, "g": 33, "b": 16, "a": 255 }, { "r": 77, "g": 33, "b": 7, "a": 255 }, { "r": 48, "g": 37, "b": 61, "a": 255 }, { "r": 66, "g": 33, "b": 33, "a": 255 }, { "r": 49, "g": 41, "b": 31, "a": 255 }, { "r": 66, "g": 33, "b": 24, "a": 255 }, { "r": 66, "g": 33, "b": 16, "a": 255 }, { "r": 57, "g": 33, "b": 33, "a": 255 }, { "r": 66, "g": 33, "b": 8, "a": 255 }, { "r": 57, "g": 33, "b": 24, "a": 255 }, { "r": 45, "g": 35, "b": 43, "a": 255 }, { "r": 57, "g": 33, "b": 16, "a": 255 }, { "r": 73, "g": 23, "b": 25, "a": 255 }, { "r": 57, "g": 33, "b": 8, "a": 255 }, { "r": 69, "g": 24, "b": 8, "a": 255 }, { "r": 57, "g": 24, "b": 25, "a": 255 }, { "r": 49, "g": 26, "b": 28, "a": 255 }, { "r": 57, "g": 24, "b": 16, "a": 255 }, { "r": 57, "g": 24, "b": 8, "a": 255 }, { "r": 57, "g": 24, "b": 0, "a": 255 }, { "r": 49, "g": 25, "b": 16, "a": 255 }, { "r": 71, "g": 13, "b": 7, "a": 255 }, { "r": 49, "g": 24, "b": 7, "a": 255 }, { "r": 41, "g": 23, "b": 28, "a": 255 }, { "r": 36, "g": 22, "b": 43, "a": 255 }, { "r": 29, "g": 25, "b": 28, "a": 255 }, { "r": 57, "g": 14, "b": 7, "a": 255 }, { "r": 41, "g": 19, "b": 12, "a": 255 }, { "r": 49, "g": 14, "b": 7, "a": 255 }, { "r": 29, "g": 19, "b": 12, "a": 255 }, { "r": 22, "g": 4, "b": 4, "a": 255 }])
              assert(def.groups, { "all": ["SgTwMt01.pcx", "SgTwMt02.pcx", "SgTwMt03.pcx", "SgTwMt04.pcx", "SgTwMt05.pcx", "SgTwMt06.pcx", "SgTwMt07.pcx", "SgTwMt08.pcx", "SgTwMt09.pcx", "SgTwMt10.pcx", "SgTwMt11.pcx"] })
              assert(Object.keys(def.images), ["SgTwMt01.pcx", "SgTwMt02.pcx", "SgTwMt03.pcx", "SgTwMt04.pcx", "SgTwMt05.pcx", "SgTwMt06.pcx", "SgTwMt07.pcx", "SgTwMt08.pcx", "SgTwMt09.pcx", "SgTwMt10.pcx", "SgTwMt11.pcx"])
              assert(def.images["SgTwMt01.pcx"], { width: 320, height: 320, x: 0, y: 0, data: "e0394e962b88d460feb67415b3a83b31dde758e348d213e50d323a91ed89b536" })
              assert(def.images["SgTwMt02.pcx"], { width: 320, height: 320, x: 0, y: 0, data: "e02b52757b8741605d0cc1959c90a9d963b7dba58bab01599992584f0eb2d63f" })
              assert(def.images["SgTwMt03.pcx"], { width: 320, height: 320, x: 0, y: 0, data: "2f13722fa435efc1fbd7412ce0e6fb07e852e2c862130ce1e081f178a8102e5d" })
           })
  
        })
  
        describe("pcx", () => {
  
           it("default", () => {
              let pcx
  
              pcx = unpackPCX(files["BoArt120.pcx"])
              hashArrayBuffers(pcx)
              assert(pcx, {
                 type: "pcx (indexed)",
                 width: 58,
                 height: 64,
                 data: "80bd002f90a4dba243d481db565362f04fe4584fe2b5788170e09f18311bdcb0"
              })
  
              pcx = unpackPCX(files["CslReE3c.pcx"])
              hashArrayBuffers(pcx)
              assert(pcx, {
                 type: "pcx (bgr)",
                 width: 400,
                 height: 232,
                 data: "6ab01e1082ec8fca809e02252a17e7e8f69b097c67ebbbec7f7100a868193512"
              })
           })
  
           it("{ format: 'png' }", () => {
              let pcx
  
              pcx = unpackPCX(files["BoArt120.pcx"], { format: "png" })
              hashArrayBuffers(pcx)
              assert(pcx, {
                 type: "pcx (indexed)",
                 width: 58,
                 height: 64,
                 data: "80bd002f90a4dba243d481db565362f04fe4584fe2b5788170e09f18311bdcb0"
              })
  
              pcx = unpackPCX(files["CslReE3c.pcx"], { format: "png" })
              hashArrayBuffers(pcx)
              assert(pcx, {
                 type: "pcx (bgr)",
                 width: 400,
                 height: 232,
                 data: "6ab01e1082ec8fca809e02252a17e7e8f69b097c67ebbbec7f7100a868193512"
              })
           })
  
           it("{ format: 'bitmap' }", () => {
              let pcx
  
              pcx = unpackPCX(files["BoArt120.pcx"], { format: "bitmap" })
              hashArrayBuffers(pcx)
              assert(pcx, {
                 type: "pcx (indexed)",
                 width: 58,
                 height: 64,
                 data: "9795286c67017c18192c6d7c139c41c85527d442284167c04f3a0ec269ec2f7d"
              })
  
              pcx = unpackPCX(files["CslReE3c.pcx"], { format: "bitmap" })
              hashArrayBuffers(pcx)
              assert(pcx, {
                 type: "pcx (bgr)",
                 width: 400,
                 height: 232,
                 data: "eea746477f53617dd42dfe176e9b5b14c0f18f65375453df4a9b0b1b5c59fe75"
              })
           })
  
           it("{ transparency: [...] }", () => {
              let pcx
  
              let black = {r: 0, g: 0, b: 0, a: 255}
              let white = {r: 255, g: 255, b: 255, a: 255}
              let cyan = {r: 0, g: 255, b: 255, a: 255}
              let magenta = {r: 255, g: 0, b: 255, a: 255}
              let trans = {r: 0, g: 0, b: 0, a: 0}
  
              // Keep raw colours.
              pcx = unpackPCX(files["t-ccw-001122.pcx"], { format: "bitmap", transparency: [] })
              assert(rgbArray(pcx.data), [cyan, cyan, cyan, cyan, white, white])
  
              pcx = unpackPCX(files["t-mcw-001122.pcx"], { format: "bitmap", transparency: [] })
              assert(rgbArray(pcx.data), [magenta, magenta, cyan, cyan, white, white])
  
              pcx = unpackPCX(files["t-bcw-001122.pcx"], { format: "bitmap", transparency: [] })
              assert(rgbArray(pcx.data), [black, black, cyan, cyan, white, white])
  
              pcx = unpackPCX(files["t-wcw-001122.pcx"], { format: "bitmap", transparency: [] })
              assert(rgbArray(pcx.data), [white, white, cyan, cyan, white, white])
  
  
              // Defaults.
              pcx = unpackPCX(files["t-ccw-001122.pcx"], { format: "bitmap" })
              assert(rgbArray(pcx.data), [trans, trans, cyan, cyan, white, white])
  
              pcx = unpackPCX(files["t-mcw-001122.pcx"], { format: "bitmap" })
              assert(rgbArray(pcx.data), [trans, trans, cyan, cyan, white, white])
  
              pcx = unpackPCX(files["t-bcw-001122.pcx"], { format: "bitmap" })
              assert(rgbArray(pcx.data), [trans, trans, cyan, cyan, white, white])
  
              pcx = unpackPCX(files["t-wcw-001122.pcx"], { format: "bitmap" })
              assert(rgbArray(pcx.data), [white, white, cyan, cyan, white, white])
  
  
              // Custom transparency colours.
              pcx = unpackPCX(files["t-ccw-001122.pcx"], { format: "bitmap", transparency: [cyan] })
              assert(rgbArray(pcx.data), [trans, trans, cyan, cyan, white, white])
  
              pcx = unpackPCX(files["t-ccw-001122.pcx"], { format: "bitmap", transparency: [black, white, magenta, cyan] })
              assert(rgbArray(pcx.data), [trans, trans, cyan, cyan, white, white])
  
              pcx = unpackPCX(files["t-wcw-001122.pcx"], { format: "bitmap", transparency: [white] })
              assert(rgbArray(pcx.data), [trans, trans, cyan, cyan, white, white])
           })
  
        })
     })
  }
  
  function assert(a, b) {
  
     try {
        deepStrictEqual(a, b)
     }
     catch (e) {
        a = JSON.stringify(a, null, 2)
        a = a.slice(0, 500) + (a.length > 500 ? " ..." : "")
  
        b = JSON.stringify(b, null, 2)
        b = b.slice(0, 500) + (b.length > 500 ? " ..." : "")
  
        throw new Error(`\n\nEXPECTED\n${b}\n\nACTUAL\n${a}`)
     }
  
  }
  
  
  // Replace ArrayBuffers with their sha256 hashes.
  
  function hashArrayBuffers(object) {
  
     if (typeof object !== "object" || object === null)
        return
  
     const keys = Object.keys(object)
     for (const key of keys) {
        if (object[key] instanceof ArrayBuffer)
           object[key] = sha256(object[key])
        else
           hashArrayBuffers(object[key])
     }
  
  }
  
  
  // Convert an ArrayBuffer of [r,g,b,a,r,g,b,a...] to [{r,g,b,a}...].
  function rgbArray(buffer) {
     let colours = []
     let values = new Uint8Array(buffer)
     for (let i = 0; i < values.length; i += 4)
        colours.push({ r: values[i], g: values[i + 1], b: values[i + 2], a: values[i + 3] })
     return colours
  }
  
  
  function read(path) {
  
     return new Promise((resolve, reject) => {
        fs.readFile(path, (error, result) => {
           if (error)
              reject(error)
           resolve(result)
        })
     })
  
  }
  
  function exists(path) {
  
     return fs.existsSync(path)
  
  }
  