Add boxsim CLI: pure Python codec, netlist extraction, KiCad project generation
Replaces the bpj2ini.py prototype with a packaged tool. The A2F codec is now reimplemented in Python, so neither Boxsim.exe nor a CPU emulator is needed to decode a container; the emulator survives as a development-only oracle that the codec is differentially tested against. Verified: - 134 containers decode byte-identically to Boxsim's own decoder, 270 pre-2.0 files rejected by both implementations (tools/difftest.py --self-test) - Default.BPJ: 22 components, 14 nets, no dangling terminal - 22 of 22 parts resolve to library symbols; one series inferred from a sibling, two DC resistance deviations reported - ERC clean and the netlist KiCad extracts from the generated sheet is an identical partition to the one derived from the Boxsim grid - container build byte-identical to the host build - 32 tests passing, ruff clean Decode time went 69 s -> 14.5 s (binding emulator hooks to trap addresses) -> 1.6 s (pure Python). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
eb81ca61cb
commit
4737a5bae8
28 files changed
+4459
-122
No files matched your search
@@ -0,0 +1,73 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
import shutil
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
ROOT = Path(__file__).resolve().parent.parent
|
||||
DIST = ROOT / "boxsim_dl" / "BoxSim 2.1 DE (Stand 12.2025)"
|
||||
DEFAULT_BPJ = DIST / "Projekte" / "Default.BPJ"
|
||||
MANIFEST = ROOT / "tests" / "oracle_manifest.json"
|
||||
|
||||
|
||||
def pytest_configure(config):
|
||||
config.addinivalue_line("markers", "needs_kicad: requires kicad-cli 10 on PATH")
|
||||
config.addinivalue_line("markers", "needs_dist: requires the Boxsim distribution")
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def dist() -> Path:
|
||||
if not DIST.exists():
|
||||
pytest.skip(f"Boxsim distribution not present at {DIST}")
|
||||
return DIST
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def default_bpj(dist: Path) -> Path:
|
||||
if not DEFAULT_BPJ.exists():
|
||||
pytest.skip("Default.BPJ not present")
|
||||
return DEFAULT_BPJ
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def manifest() -> dict:
|
||||
if not MANIFEST.exists():
|
||||
pytest.skip("oracle manifest missing; run tools/difftest.py")
|
||||
return json.loads(MANIFEST.read_text(encoding="utf-8"))
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def kicad_cli() -> str:
|
||||
exe = shutil.which("kicad-cli")
|
||||
if exe is None:
|
||||
pytest.skip("kicad-cli not on PATH")
|
||||
return exe
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def library():
|
||||
from boxsim import symbols
|
||||
|
||||
try:
|
||||
return symbols.load()
|
||||
except symbols.SymbolError as exc:
|
||||
pytest.skip(str(exc))
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def catalog():
|
||||
from boxsim import catalog as catalog_mod
|
||||
|
||||
try:
|
||||
return catalog_mod.load()
|
||||
except catalog_mod.CatalogError as exc:
|
||||
pytest.skip(str(exc))
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def default_project(default_bpj: Path):
|
||||
from boxsim import model
|
||||
|
||||
return model.load(default_bpj.read_bytes())
|
||||
@@ -0,0 +1,813 @@
|
||||
{
|
||||
"files": {
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/AL130-8.BCH": {
|
||||
"len": 166589,
|
||||
"sha256": "52563a9ec686c3fbb63ddcab63d21c18b3e42c1260816823c3be54e9296c7761"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/AL130M-8.BCH": {
|
||||
"len": 166958,
|
||||
"sha256": "6336ea4920427b8e90ef4d578f0d7c17a96eefd352f14aeead9e376dae6c6d03"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/AL170-8.BCH": {
|
||||
"len": 167237,
|
||||
"sha256": "85e527b16b6d4e5b9022899ffb68a377996d056b9759c1241560db2fafa7ade5"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/AL200-8.BCH": {
|
||||
"len": 166398,
|
||||
"sha256": "0f3df9168ef1bcdf50fc1c04dbdf2d71882c9ae712576e2c11531dc025fee46a"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/B100-6.BCH": {
|
||||
"len": 167545,
|
||||
"sha256": "acb0479980734856d8daef68f2d334af3b1d8b271503a65a143df0ef4002d653"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/B200-6.BCH": {
|
||||
"len": 164948,
|
||||
"sha256": "c9f66a0615ec5bbde6d04b0896729c1f127188501ebac074722a048240d71459"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/B80-8.BCH": {
|
||||
"len": 167758,
|
||||
"sha256": "046d00c3288d515148a05a08312d3432d69c803a068b3f83cadfa2fe2577716b"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/BF32-4.BCH": {
|
||||
"len": 168059,
|
||||
"sha256": "b93583230b24073f4322cc32603cd5587690941f53673cc5cef34b8dfc667975"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/BF32-8.BCH": {
|
||||
"len": 167706,
|
||||
"sha256": "b0bb6c9101c297f4939b7147ecaef2c3326b852414626617e2543b07b295f3a9"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/BF32SWP-8.BCH": {
|
||||
"len": 168621,
|
||||
"sha256": "24a8a65637b5668723496126d4dea7edfe6b6562df54f4410e643f3233a7de07"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/BF37-4.BCH": {
|
||||
"len": 167856,
|
||||
"sha256": "9b25d410d84252a18cf3c088d2a2586b94c57029ed41f104640407bb5a4b61eb"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/BF37-8.BCH": {
|
||||
"len": 167492,
|
||||
"sha256": "3635f5db87a7a893d071959badebb42443a1b5ae881bee905527d79962ec1d1c"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/BF45-4.BCH": {
|
||||
"len": 168393,
|
||||
"sha256": "589c6a365b2899b019c4c856eed621b2adf51951c39e9d24454421be923910cc"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/BF45-8.BCH": {
|
||||
"len": 167753,
|
||||
"sha256": "fb1387ec0c26d0975b4ee2bd2948240c0fca6830d595435b034c87ecd5619297"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/BG13P-8.BCH": {
|
||||
"len": 167761,
|
||||
"sha256": "2d7cc9dce5da0039c1cdb9808817dd6eb8a519832d8a0a32f99cbc0d82a2ab45"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/BG17-8.BCH": {
|
||||
"len": 167705,
|
||||
"sha256": "63e521cddb82620b4b9866f2417c20126c810576ae61f875b7b8dd12f0d35d5c"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/BG20-8.BCH": {
|
||||
"len": 158456,
|
||||
"sha256": "0c616486aaa06dd4d728cab520b545ee00ab10774b041a8ad26bcecb6091e9fd"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/DMR120-8.BCH": {
|
||||
"len": 167930,
|
||||
"sha256": "e9e0c6fce89307a392899516243993038e3429f3b48eb38ede3f87ebefb0630f"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/DSM25FFL-8.BCH": {
|
||||
"len": 169090,
|
||||
"sha256": "7a29bb64a89f5c987b7991d1f6697a29bf81f997d027d2c85d0d3fe61fca6c3b"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/DSM25FFL-8_WG.BCH": {
|
||||
"len": 169024,
|
||||
"sha256": "ff3769dc79fc4786beb1ee6769cb0ce11a3cff3defab1b9e053c5bc070beeb5e"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/DSM50FFL-8.BCH": {
|
||||
"len": 167782,
|
||||
"sha256": "8a6e5a6fb43635e5f8f83002c931a1d6d4a9604b82b0736db94631c013661f63"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/DT94-4.BCH": {
|
||||
"len": 160517,
|
||||
"sha256": "6667fef358fee4126876a61ab4f07e495f0470c675e2d6794b5dd89e9291b02d"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/DT94-8.BCH": {
|
||||
"len": 160866,
|
||||
"sha256": "49125ad11ac0c6c8dde04c19fb3af43cc7c0eb98fb2e6717016b99839ee1a0ad"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/DTW72-8.BCH": {
|
||||
"len": 168472,
|
||||
"sha256": "eaefc3e044514529b0d672df913a60e613e8882c4c2f1f5fe2e55b226dafe5eb"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/DTW95FFL-8.BCH": {
|
||||
"len": 168777,
|
||||
"sha256": "4ed1a4afbf547551b0907d2c85afc4e9cce57c450f6f615803c1a6d5214035ac"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/DX10-4.BCH": {
|
||||
"len": 167756,
|
||||
"sha256": "ecc54f732bf04757f58f1a2fa2875e0f034138eb9c67e2274ad236226f1e61d0"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/DX13-4.BCH": {
|
||||
"len": 168631,
|
||||
"sha256": "d5c9ca84e49f26e021bfb7166163ceb23ec392f3be7b96a625c9469f3f839253"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FR10-4.BCH": {
|
||||
"len": 167556,
|
||||
"sha256": "88630ad18068860767b5c7a3d92d806c10bebc879f6a963b8a571a5651ae2206"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FR10-8.BCH": {
|
||||
"len": 167133,
|
||||
"sha256": "bfd49bdc06e1149dae80c7e0f70273ceb4755fcc82690dc487496858cf54c411"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FR10HM-4.BCH": {
|
||||
"len": 168758,
|
||||
"sha256": "143dc6f5e8615a77cb88dba96a21fdddb9a3eb9f31d5064681111a127d2d504c"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FR10HM-8.BCH": {
|
||||
"len": 167612,
|
||||
"sha256": "a805602adc1fedc1650dbea4380016e155e773b752ab7b88921e7eb957aae1aa"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FR10HMP-4.BCH": {
|
||||
"len": 169371,
|
||||
"sha256": "a29084a06ba41dbe58261751922e81e9f988f77d56223488b8e67d188d8d1117"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FR12-4.BCH": {
|
||||
"len": 169156,
|
||||
"sha256": "3aa62ed143eef3e2e50f743945bc69dfb92473f991a88e294117d87b88a8c2b0"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FR12-8.BCH": {
|
||||
"len": 168523,
|
||||
"sha256": "e3766981e2a15f50bc108204e5a0065a070986ac48b20092d14bcc794d1cb62a"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FR58-4.BCH": {
|
||||
"len": 168008,
|
||||
"sha256": "9c9e7902e25f798da0cff00f0906c0fc9ddb8b459afa3fc53496de4c35078d76"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FR58-8.BCH": {
|
||||
"len": 167844,
|
||||
"sha256": "37c87bec9e31d05a738533d8ab877446d26aafb0a0d567325075fe9595cd70df"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FR8JS-8.BCH": {
|
||||
"len": 167871,
|
||||
"sha256": "f76ffb278e5a76732ee3d255b870e66a1cb806ebbb1330736df8718fe5b4b30c"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FR8WP-4.BCH": {
|
||||
"len": 168277,
|
||||
"sha256": "e14621eb94f90aa72eea47a8c084f1a96839ec600e99c585fd1a1f519f3db97f"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FR8WP-8.BCH": {
|
||||
"len": 168292,
|
||||
"sha256": "c9ba868f0ec01edf84d6d5488733b02f2f50853491d58068b75d7814e33980a1"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FR9.15-4_horizontal.BCH": {
|
||||
"len": 169606,
|
||||
"sha256": "914cc40a0f02b1efa87a9e63f68690067b5512fdb71b1e69884a122f218fbdec"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FR9.15-4_vertikal.BCH": {
|
||||
"len": 170049,
|
||||
"sha256": "a88a684ce8a7f10aed0f72153c7f960bf06330331795eed68594b9915b55c00f"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FRS5X-8.BCH": {
|
||||
"len": 166753,
|
||||
"sha256": "a523d440bab1a96de5a96cee96c52f7c81bcf2c5b0a49de1ff7f8a8d97a08a5a"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FRS7-4.BCH": {
|
||||
"len": 167982,
|
||||
"sha256": "2e3c1c49436cf6b9f4a00c966ec6ef25301614cff448c5540ba72275f7b1e81d"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FRS7-8.BCH": {
|
||||
"len": 168154,
|
||||
"sha256": "3d119358c324194760264e0c26d6aec8c15d70fdb2b256456576c9d81bc22d49"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FRS7S-8.BCH": {
|
||||
"len": 167984,
|
||||
"sha256": "0c387f6e5147f04add4aebdafa97da2e754f3da07782f0aad0179c15603797f4"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FRS7W-8.BCH": {
|
||||
"len": 168125,
|
||||
"sha256": "520ab27b5bb120dde5a7a44f59e6d449996cb2c534b41332271847f781364785"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FRS7XWP-8.BCH": {
|
||||
"len": 159786,
|
||||
"sha256": "38b4433cf3cb7e09fd971ab8b56d8f067fc2997a973829bd57a72aa1f9000b06"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FRS8-4.BCH": {
|
||||
"len": 167487,
|
||||
"sha256": "5dd7e15bda43e727d8bcb34dbdbbdebdfd797b487af9b62d40440416537744fe"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FRS8-8.BCH": {
|
||||
"len": 167191,
|
||||
"sha256": "798183c313ef04fa9d0e2403c4131b0ba41fe2b704a99c24257c9ad9be1b27dc"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FRS8M-8.BCH": {
|
||||
"len": 167527,
|
||||
"sha256": "0382528f2a44afdfe60fcbff1367b585a96a90bd9cab999e1e40dfd45051f3c5"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FRWS4ND-8.BCH": {
|
||||
"len": 168207,
|
||||
"sha256": "63d9db35ef1e74ca0f080ef6c1a0b28d395aa971420bcb175c736e8b412849dc"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FRWS5-4.BCH": {
|
||||
"len": 167564,
|
||||
"sha256": "6c74e49fe8e9d6bf4f6fc225fafd1a7fcd429a6d35a9b6fdf4f37bd7fb585dfb"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FRWS5-8.BCH": {
|
||||
"len": 167743,
|
||||
"sha256": "f8ef5c31c3283c3653f3edd146b5bb649d476beb906b9622283da97167730200"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FRWS5SC-8.BCH": {
|
||||
"len": 167460,
|
||||
"sha256": "b07b81fed5818d2aa11b4364bd14e24b4f1b0caa6b661185a106abaea552a102"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FX10-4.BCH": {
|
||||
"len": 167699,
|
||||
"sha256": "4f70649c267f6d824f710c901daff648da072028a354966b9fc95cfe001ee467"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FX13-4.BCH": {
|
||||
"len": 168491,
|
||||
"sha256": "85c4ad73a053ff58676ffe31e5450bd9b2281d9910e05eeb71385e43df80d637"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FX16-4.BCH": {
|
||||
"len": 168407,
|
||||
"sha256": "df02baa2f1688ceddc5192da8546ddfac2b5746a7b1a459e0f6cc1c176d47886"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/FX16WP-4.BCH": {
|
||||
"len": 168916,
|
||||
"sha256": "f6c8d03f26a5f942dce524ddaf11931ba10e1436c26bf978dd6e04a235cbc3ed"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/G20SC-8.BCH": {
|
||||
"len": 168972,
|
||||
"sha256": "549ea20a17763d75052ad872b3e650639c56d49597f2c9f6fca747faeadcbab5"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/G25FFL-8.BCH": {
|
||||
"len": 169098,
|
||||
"sha256": "7004466c21b4a7e438d09e4b8373c20f58250adbf4e68c1998365151ba46fef4"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/G25FFL-8_WG.BCH": {
|
||||
"len": 169005,
|
||||
"sha256": "85d51691fb41410442c60efc9782c0b80061279f8571fafcf88129591b2715c1"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/G25NDWG-8.BCH": {
|
||||
"len": 160482,
|
||||
"sha256": "743de0c456c272620a8d5fcfe83e51a735f8ed88efa9681b95d1c4f4dc427abc"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/G50FFL-8.BCH": {
|
||||
"len": 168413,
|
||||
"sha256": "951e5a3bcce8bb0453cf0e3a8f58a9c89fa690fb99fc00bb5de949317d2bcdd5"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/G50FFL-8_WG.BCH": {
|
||||
"len": 168650,
|
||||
"sha256": "b3010ea9780428570922a513749110bfa83953cc7aa3c2b24abd503645aa66d4"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/GF200-2.BCH": {
|
||||
"len": 166568,
|
||||
"sha256": "13aa73962985e626969e37159c9a08f600b41fcad91ab1e6ad52584fe2b8b811"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/GF200-4.BCH": {
|
||||
"len": 165632,
|
||||
"sha256": "90a3164b9a602cebdab476370101146d6d058fd39c58bfa958159831cddf105e"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/GF200-8.BCH": {
|
||||
"len": 166762,
|
||||
"sha256": "be26e8616356d2bf9bbb5418383efaf3bf3aa8d6883ee3e0fe0eadd5d1dca03a"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/HT21_DR45-8_horizontal.BCH": {
|
||||
"len": 169380,
|
||||
"sha256": "57e5bede970aa72e4f524cc66c4d6e7fae8f549cf1487f31b21b60dae7b2d781"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/HT21_DR45-8_vertikal.BCH": {
|
||||
"len": 169432,
|
||||
"sha256": "3239c9fad549ed904f8b3df174e6a21325d5b0ace33e27fffcc001107358ca1e"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/HTH8.7-8_horizontal.BCH": {
|
||||
"len": 169140,
|
||||
"sha256": "03e2a4e185191161987279d6aefb6d396a11acaef781f3dc4a3b766447b1ef1b"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/HTH8.7-8_vertikal.BCH": {
|
||||
"len": 169142,
|
||||
"sha256": "dd51cbef66b6c5a848d1dc777ca4805d32f544ad89c7f53aa5bcbaf59f226fbb"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/HX10-4.BCH": {
|
||||
"len": 167294,
|
||||
"sha256": "997a8f9ba8763e9309d2cb640e21d923a9344d29be263f2be1d1a1eed875f6f1"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/KE25SC-8.BCH": {
|
||||
"len": 169009,
|
||||
"sha256": "3c0a8a5ef64bf27a102c8dd09c0d87b456c8fdac006a6095d1304f7a1edd7184"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/KE25SC-8_WG.BCH": {
|
||||
"len": 169097,
|
||||
"sha256": "81d987a1a2bf51ddf463d8422ce7881dc57b0cd7e0bd20fbd3e4f376abd69696"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/KT100V-4.BCH": {
|
||||
"len": 167368,
|
||||
"sha256": "82c4f9d62fe3114c4280a6cd63343833adbff29f398a9f94485fd0f763dcec03"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/MHT12-8_horizontal.BCH": {
|
||||
"len": 169158,
|
||||
"sha256": "eea5c3d1c7d8c12ee26bf2f0e4e93d7bb9a57c80ded560cf356ba22ad1168605"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/MHT12-8_vertikal.BCH": {
|
||||
"len": 169757,
|
||||
"sha256": "b294b6988b5745efa71547307690c8f1d3e1316c2b1184819fe24d0baf28fb35"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/PAM13-8.BCH": {
|
||||
"len": 167870,
|
||||
"sha256": "aab4c8c1e559807b96c8a53d04091c0296dc9c5ba8877f56af066dcdcdcabd31"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/PAW25-8.BCH": {
|
||||
"len": 168066,
|
||||
"sha256": "b594a2ea9297fc74cca7f22705ece652fa37565fa8ae885d493147dfb5be88a6"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/PAW30ND-8.BCH": {
|
||||
"len": 167976,
|
||||
"sha256": "1e0bc20347273e08f6c6c29139aa7921214b175b42f89c6a0b8ab65893b54676"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/R10S-4.BCH": {
|
||||
"len": 170298,
|
||||
"sha256": "121c01119b6aeb20464c09a6f0cdc8e4cdb17562ef1b86d850bdcbe665ad3176"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/R10S-8.BCH": {
|
||||
"len": 168270,
|
||||
"sha256": "fc6019cfb41cf4acee2e79f30503734abc4d0ae023f0ddc31d41f15c53ea3d53"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/SC10N-8.BCH": {
|
||||
"len": 169400,
|
||||
"sha256": "9f5d425b353efbea1d3fba20f0bc18ec889b3c8164a9a7d15e6a7574a55cada8"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/SC13-8.BCH": {
|
||||
"len": 167377,
|
||||
"sha256": "691a2b026ba63f9374e852cac955a91229cc6817912a4b1c366c1f6492b7b329"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/SC4.6FL-8_horizontal.BCH": {
|
||||
"len": 166596,
|
||||
"sha256": "a80c5f54e0076c90b4caac9260b5aee77c8ee339d807963685d09c735b4eae6a"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/SC4.6FL-8_vertikal.BCH": {
|
||||
"len": 165391,
|
||||
"sha256": "5e307e4738b21a52de10540d5fde9a1cbd22b272cb1a41751df82489eab5285a"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/SC5-8.BCH": {
|
||||
"len": 168689,
|
||||
"sha256": "de0d2a411130436e596ff2c1ad97bfa679ba92e7e2b166cb71329ac5768b93e4"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/SC8N-8.BCH": {
|
||||
"len": 167245,
|
||||
"sha256": "43fc053d9f583e2282660eec169f066ff4f92c904b46b5aba330d50d0cfe7d55"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/SL70NDV-4.BCH": {
|
||||
"len": 166825,
|
||||
"sha256": "5277f8c2712d4a5fe57b0b64dfdfe73a616932b57e58d1aed8ef77bade362555"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/SL713-4_horizontal.BCH": {
|
||||
"len": 168817,
|
||||
"sha256": "cfc643055f62e0a836e0f67720610663d32f6e3aba3c2c3bd0f14b86e3a3e6f8"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/SL713-4_vertikal.BCH": {
|
||||
"len": 168657,
|
||||
"sha256": "26cc25623bbeb0b022785a190dfde7bcbdd0785a5a41f363a4599d79cf31ef10"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/SL83-4.BCH": {
|
||||
"len": 168108,
|
||||
"sha256": "a35ff412b172c7ae23489ded7e12f2146c33bb3126d9a90a6ecf6c81c65f1ff1"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/SL87FE-8.BCH": {
|
||||
"len": 167737,
|
||||
"sha256": "115d35c6aa8fc19d52a146dec2810e524a1580c8b31f46f27ad8ab339ea6eee6"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/SL87FS-8.BCH": {
|
||||
"len": 159847,
|
||||
"sha256": "ce73e4b9e8f98efe44d85bf9c67a63cb65546c88b1ee4e4a5ccf5af9758208ac"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/SL87ND-8.BCH": {
|
||||
"len": 166764,
|
||||
"sha256": "1a2fa67bcd7cdddbfdeb30fd4b4f36d49ea11b44b52d195833cc9a9b9c490d1c"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/TI100-8.BCH": {
|
||||
"len": 167102,
|
||||
"sha256": "c9ef7266472e0c0a75de8fa05173ff8e6004f0e83f044557243b867af70d7558"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/TIW200XS-8.BCH": {
|
||||
"len": 167275,
|
||||
"sha256": "a57a4bfc5aa1185b758ba182da2417f98030d1f16ac658a84073e1894e270ff5"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/TIW250XS-8.BCH": {
|
||||
"len": 167470,
|
||||
"sha256": "e0acbe4e8a520e4cc3339bdbf8b9ee071e4580ecd575d03043f80bee7fe7fe24"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/TIW300-8.BCH": {
|
||||
"len": 167601,
|
||||
"sha256": "1f04190ed3fa3010d45f6f00366bdd55ff94e357ab8a031bd264503186412440"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/TW70-8.BCH": {
|
||||
"len": 170337,
|
||||
"sha256": "19083805ea97002c817871111cba605bc6b841bffba4373af2dc225b8ac2330e"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W100S-4.BCH": {
|
||||
"len": 166693,
|
||||
"sha256": "e267b8524a33c50eb485d46c0f2606908c1c2181172841d0b7902792722054b2"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W100S-8.BCH": {
|
||||
"len": 166742,
|
||||
"sha256": "bb509e566b55b46c1030b305fc6eeab22a52cca5323f94d45e9b92eb9b3d7e77"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W100X-2.BCH": {
|
||||
"len": 168225,
|
||||
"sha256": "c4ecd29f912e680977eeb4ff8d786ab4ce1bc3b7cdbf5e68fbd32df5354e0c54"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W100X-4.BCH": {
|
||||
"len": 167513,
|
||||
"sha256": "6b7eee3b7ca9e91e407409a9822a6706c13c375a0a423ba084f955fe0b6d39d0"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W100X-8.BCH": {
|
||||
"len": 168268,
|
||||
"sha256": "3377174cf9e99fa61d30307fa3f54c99e9dd18c10143abae90d4ef316083dbd3"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W130S-4.BCH": {
|
||||
"len": 166620,
|
||||
"sha256": "a4c52c72fac5c9ecffb0db7d4aa54ca82ec0d8cb6cd4bf9f3542401b277d2dcf"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W130S-8.BCH": {
|
||||
"len": 166750,
|
||||
"sha256": "6ed33ac44bbf9046eddd59ba7b54c3a3785d09244648555ae847683982c6909f"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W130X-2.BCH": {
|
||||
"len": 167957,
|
||||
"sha256": "0683f476f4eea32bc73351045ee3e221053ad197297cdd3bc4a2843b128267c1"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W130X-4.BCH": {
|
||||
"len": 167030,
|
||||
"sha256": "53ae4cffdf3ed2bf4cb19fadd22ba8dd8762c1063dbf7818a109add348506cf3"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W130X-8.BCH": {
|
||||
"len": 167958,
|
||||
"sha256": "2127c7eed9b6aa116ea2b5e3ddea0830e7816a6f61b66acd89b3912958fb594d"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W150X-4.BCH": {
|
||||
"len": 169571,
|
||||
"sha256": "8bc70cb3b380ab4d9bafefa6fbe72ebfb4c64b872dec02fc776f45194306e8d2"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W165A-2.BCH": {
|
||||
"len": 167502,
|
||||
"sha256": "660ad2655067e765d00ad735ae5a53a2b4b8eeda3934b9484361e04653c30053"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W170-8.BCH": {
|
||||
"len": 166591,
|
||||
"sha256": "ff5564f0a05f880267ca2d528f8d9534bb90629139d27d56a9125f207a07acaf"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W170S-4.BCH": {
|
||||
"len": 166045,
|
||||
"sha256": "83ae8d8d5c2f063b358ea4d2b7f60cc24c18af6d9a004d42266d2f1a2ac15846"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W170S-8.BCH": {
|
||||
"len": 166277,
|
||||
"sha256": "63606eca63bf6cff1df12b72bb01add86b20ec1d958370173f00916dfe671d47"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W200-4.BCH": {
|
||||
"len": 167312,
|
||||
"sha256": "2d2f991f058c141442a3bade8e849c63571ce5d965d4e4b5e1cd18dd6a57c0d5"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W200-8.BCH": {
|
||||
"len": 166917,
|
||||
"sha256": "02fbe70c17a3d142c36253fe75647f2514c84a85ef8b943029b0549163b02cc1"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W200S-4.BCH": {
|
||||
"len": 167865,
|
||||
"sha256": "1d18f05ec042c96834da5d8c8da5d778d1a90577ff3aeb5c5ec1ebf98f2367a7"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W200S-8.BCH": {
|
||||
"len": 167988,
|
||||
"sha256": "acc138abeb612ba105eb1918caceec5db809dd14d1b63461f3b7b3c84bc0c555"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W250-8.BCH": {
|
||||
"len": 167424,
|
||||
"sha256": "b91cdde6d85ded8133469e292e29ea3149375623ce2b8a89b5ce85d8f444c59f"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W250S-4.BCH": {
|
||||
"len": 167964,
|
||||
"sha256": "f5f1a678216f26c872668de068902e979bc3fc45ef14060760f74600f6976d4d"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W250S-8.BCH": {
|
||||
"len": 167668,
|
||||
"sha256": "0ff699238b80b2a129ca44f0c97925b0b553250a1cb0d234c298358fb097df31"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/W300-8.BCH": {
|
||||
"len": 167900,
|
||||
"sha256": "d0e9afe82f3124fa5e11325d6a7a8c4fb2970c0d64e7677a70412668e39cd791"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/WF130ND-8.BCH": {
|
||||
"len": 166121,
|
||||
"sha256": "95bf3e21b4af281133f63c6ddbd305ddcdbc022bcedc495a974caa388c2bc7e6"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/WS13E-8.BCH": {
|
||||
"len": 167806,
|
||||
"sha256": "afe345e6be400e9780b5ceb9c3a90c4f4f095ea61196e10a45ce2b2072344c57"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/WS17E-4.BCH": {
|
||||
"len": 167482,
|
||||
"sha256": "55817cab04efd7582edcda75c17bdb1288e94ce8b591359393b19df84a4048f2"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/WS17E-8.BCH": {
|
||||
"len": 167230,
|
||||
"sha256": "a5a5f0ffd1bf9120fdf2de0033f5d07dc6aaf213fcc0296d81b627093e8873ea"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/WS20E-4.BCH": {
|
||||
"len": 167030,
|
||||
"sha256": "775e9162ce2d763b72ea53037541b89fdce980583836baa9e023937567595137"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/WS20E-8.BCH": {
|
||||
"len": 167098,
|
||||
"sha256": "658cc7a40aeaa3154bbcba033bf41076d14d014673528745d3324c3fe734833f"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/aktuelle Daten 12.2025/WS25E-8.BCH": {
|
||||
"len": 166786,
|
||||
"sha256": "e99a0c69b3c590f276f165d2b45a79cb7d9a204045a0904ebe665beb3a568d21"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/nicht mehr erh\u00e4ltlich/DMR120-8.BCH": {
|
||||
"len": 167930,
|
||||
"sha256": "e9e0c6fce89307a392899516243993038e3429f3b48eb38ede3f87ebefb0630f"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/nicht mehr erh\u00e4ltlich/DTW95FFL-8.BCH": {
|
||||
"len": 168777,
|
||||
"sha256": "4ed1a4afbf547551b0907d2c85afc4e9cce57c450f6f615803c1a6d5214035ac"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/nicht mehr erh\u00e4ltlich/WS26SF-8.BCH": {
|
||||
"len": 167601,
|
||||
"sha256": "c8991c5973e0afa0298e3b6e5256fa72d6d56fca202d343c60376117c36872ff"
|
||||
},
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Projekte/Default.BPJ": {
|
||||
"len": 509573,
|
||||
"sha256": "d687252660aeabff3be9203ebdc35cf35087266eda87eb3aa1c23b306983e552"
|
||||
}
|
||||
},
|
||||
"note": "oracle digests from boxsim._oracle, see tools/difftest.py",
|
||||
"rejected_not_myini2ck": [
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/AL130-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/AL130M-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/AL170-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/AL200-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/AL200DV-2x8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/B100-6.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/B200-6.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/B80-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/BF32-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/BF37-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/BF45-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/BG13-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/BG13P-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/BG17-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/BG20-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/BG30NG-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/BGS40-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/BZ130P-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/BZ300-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/CF25-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/CMC 10 - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/CMC 10 - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/CMC 12 - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/CMC 12 - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/CP13-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/CT25A-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DHT9-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DHT9-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DK121-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DK8P-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DL10-20.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DL10-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DL18-100V.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DL18_2-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DL5-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DL8-20.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DL8-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DMR120-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DMR35-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DR45N+M300-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DSM25FFL-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DSM38FFL-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DSM50FFL-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DT90-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DT90-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DT94-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DT94-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTC 104 - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTC 110 - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTC 110 - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTC 76 - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTC 76 - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTC 76 SC - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTC 76 SC - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTC 78 - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTC 78 - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTC 80 - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTC 80 - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTC 80 SC - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTC 80 SC - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTC 87.130 - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTC 87.130 - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTW110NG-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTW72-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTW72-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTW8.12-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTW8.12NG-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTW95NG-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DTW97-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DX10-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DX13-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DX16-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DX4x6P-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/DX6x9-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/F8SC-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/F8SC-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR10-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR10-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR10F-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR10HM-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR10HM-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR10WP-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR12-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR12-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR13-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR13-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR13WP-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR16WP-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR58-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR58-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR6.5-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR7-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR8-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR8-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR87-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR8JS-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR8WP-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR8WP-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FR9.15-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FRS10WP-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FRS10WP-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FRS5-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FRS5X-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FRS5XWP-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FRS7-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FRS7-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FRS7S-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FRS7W-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FRS8-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FRS8-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FRS8M-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FRWS5-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FRWS5-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FRWS5SC-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/FX10-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/G20SC-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/G25FFL-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/G25FFL-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/G25HE-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/G25ND-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/G50FFL-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/G50FFL-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/GF200-2.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/GF200-2_ 2Spulen_parallel.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/GF200-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/GF200-4_1Spule_Kurzschluss.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/GF200-4_1Spule_offen.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/GF200-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/GF250-2.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/GF250-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/GF250-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/H11-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/HTC 11.19 - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/HTC 11.19 - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/HTC 87 - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/HTC 87 - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/HTC 87 A - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/HTC 87 A - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/HTH8.7-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/HX10-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/K50-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/K50WP-50.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/K50WP-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/K57C-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/K64WP-50.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/K64WP-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/KE25SC-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/KT100V-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/LMC 13 HE - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/LMC 13 HE - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/LMC 16 HE - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/LMC 16 HE - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/LMC 20 - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/LMC 20 - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/LMC 20 X - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/LMC 20 X - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/M10-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/M10-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/MHT12-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/MR130-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/MR130-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/PAW25-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/PAW30ND-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/PAW38-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/PAW46-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/R10S-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/R10S-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/R10SC-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/R10SC-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/SC10N-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/SC13-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/SC4.7ND-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/SC4.7ND-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/SC4ND-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/SC5-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/SC5.9-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/SC5.9ND-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/SC5.9ND-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/SC8-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/SC8N-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/SL713-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/SL87ND-8.bch",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/SL87WP-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/SL87WP-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/T130-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/T200-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/T250-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/T300-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TI100-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TI100M-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TIW200XS-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TIW250-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TIW250XS-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TIW300-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TIW360-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TIW360DS-2.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TIW360DS-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TIW360DS-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TIW360X-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TIW400-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TIW400DS-2.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TIW400DS-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TIW400DS-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TL10B50-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TL14CH.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TL15D61-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TL16H-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TL4Falnico-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TL8C50F-6.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TW6NG-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/TW70-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W100S-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W100S-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W100SC-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W100SC-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W130S-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W130S-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W130SC-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W130SC-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W130X-2.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W130X-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W130X-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W170-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W170-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W170S-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W170S-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W170SC-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W170SC-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W200-4.bch",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W200-8.bch",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W200NG-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W200NG-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W200S-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W200S-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W200SC-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W200SC-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W250-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W250NG-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W250NG-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W250S-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W250S-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W300-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W300-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W300NG-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W300NG-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W300S-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W300S-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W400S-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/W400S-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WF130ND-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WHC 25 - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WHC 25 - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WHC 30 - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WHC 30 - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WHC 30 X - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WHC 30 X - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WPC 30 - 4 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WPC 30 - 8 Ohm.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WS13BF-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WS13E-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WS13E-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WS17BF-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WS17E-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WS17E-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WS20E-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WS20E-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WS25E-4.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WS25E-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WSP21S-8.BCH",
|
||||
"boxsim_dl/BoxSim 2.1 DE (Stand 12.2025)/Chassis/_alte Simulationsdaten BoxSim 1.2/WSP26S-8.BCH"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
"""End to end: generate a project, then check KiCad agrees with Boxsim.
|
||||
|
||||
The netlist comparison is the real gate, so it gets its own teeth test: a
|
||||
deliberately mis-wired schematic must be reported as a mismatch. A gate that
|
||||
has never been shown to fail is decoration.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import pytest
|
||||
|
||||
from boxsim import project as project_mod
|
||||
from boxsim import verify
|
||||
from boxsim.schematic import DEFAULT_PITCH_MM, SchematicBuilder, transform
|
||||
|
||||
|
||||
def test_rotation_transform_matches_kicad():
|
||||
# Derived empirically from KiCad's own demo schematics.
|
||||
assert transform(0, 3.81, 2.54) == (3.81, -2.54)
|
||||
assert transform(90, 3.81, 2.54) == (-2.54, -3.81)
|
||||
assert transform(180, 3.81, 2.54) == (-3.81, 2.54)
|
||||
assert transform(270, 3.81, 2.54) == (2.54, 3.81)
|
||||
|
||||
|
||||
def test_pitch_must_clear_widest_symbol(library):
|
||||
with pytest.raises(ValueError, match="widest symbol"):
|
||||
SchematicBuilder(library, pitch=20.0)
|
||||
SchematicBuilder(library, pitch=DEFAULT_PITCH_MM) # must not raise
|
||||
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
def built(tmp_path_factory, default_project, catalog, library):
|
||||
outdir = tmp_path_factory.mktemp("kicad")
|
||||
return project_mod.build(default_project, "Default", outdir, catalog, library)
|
||||
|
||||
|
||||
def test_project_files_written(built):
|
||||
assert built.schematic.exists()
|
||||
assert built.project_file.exists()
|
||||
assert (built.directory / "sym-lib-table").exists()
|
||||
assert (built.directory / "fp-lib-table").exists()
|
||||
text = built.schematic.read_text(encoding="utf-8")
|
||||
assert text.startswith("(kicad_sch")
|
||||
assert "(version 20260101)" in text
|
||||
assert "extends" not in text, "derived symbols must be flattened"
|
||||
|
||||
|
||||
def test_all_components_placed(built, default_project):
|
||||
assert len(built.sheet.placements) == len(default_project.crossovers[0].components)
|
||||
refdes = [p.refdes for p in built.sheet.placements]
|
||||
assert len(set(refdes)) == len(refdes), "reference designators must be unique"
|
||||
assert sum(1 for r in refdes if r.startswith("LS")) == 3
|
||||
assert sum(1 for r in refdes if r.startswith("J")) == 1
|
||||
|
||||
|
||||
def test_output_is_deterministic(tmp_path, default_project, catalog, library):
|
||||
a = project_mod.build(default_project, "Default", tmp_path / "a", catalog, library)
|
||||
b = project_mod.build(default_project, "Default", tmp_path / "b", catalog, library)
|
||||
assert a.schematic.read_text() == b.schematic.read_text(), (
|
||||
"UUIDs must be derived, not random, so regeneration is reproducible"
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.needs_kicad
|
||||
def test_gate_passes(built, default_project, kicad_cli):
|
||||
gate = verify.run_gate(
|
||||
built.schematic, default_project.crossovers[0], built.sheet.placements
|
||||
)
|
||||
assert gate.erc_ok, gate.messages
|
||||
assert gate.netlist_matches, gate.messages
|
||||
assert len(gate.reference_nets) == 14
|
||||
|
||||
|
||||
@pytest.mark.needs_kicad
|
||||
def test_gate_has_teeth(tmp_path, default_project, catalog, library, kicad_cli):
|
||||
"""Swap one component's terminals and confirm the gate reports it.
|
||||
|
||||
The reference netlist is derived from the Boxsim grid while the compared one
|
||||
is extracted from the sheet by KiCad, so mis-wiring a single part must break
|
||||
the comparison. If this ever passes, the gate proves nothing.
|
||||
"""
|
||||
result = project_mod.build(
|
||||
default_project, "Broken", tmp_path / "broken", catalog, library
|
||||
)
|
||||
crossover = default_project.crossovers[0]
|
||||
|
||||
# Pick a component whose two terminals are on different nets, then lie about
|
||||
# which grid node one of its pins reaches.
|
||||
netlist = crossover.build_netlist()
|
||||
victim = next(
|
||||
p
|
||||
for p in result.sheet.placements
|
||||
if len({netlist.net_of(n) for n in p.pin_nodes.values()}) == 2
|
||||
)
|
||||
pins = sorted(victim.pin_nodes)
|
||||
victim.pin_nodes[pins[0]], victim.pin_nodes[pins[1]] = (
|
||||
victim.pin_nodes[pins[1]],
|
||||
victim.pin_nodes[pins[0]],
|
||||
)
|
||||
|
||||
gate = verify.run_gate(result.schematic, crossover, result.sheet.placements)
|
||||
assert not gate.netlist_matches, (
|
||||
"a swapped terminal was not detected: the netlist comparison is not "
|
||||
"actually comparing anything"
|
||||
)
|
||||
assert not gate.ok
|
||||
assert any("mismatch" in m for m in gate.messages)
|
||||
@@ -0,0 +1,79 @@
|
||||
"""Codec tests. The heavy differential sweep against Boxsim.exe lives in
|
||||
tools/difftest.py; these guard regressions against the digests it recorded.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import hashlib
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from boxsim import a2f, container
|
||||
from boxsim.krypt import KryptPRNG
|
||||
|
||||
ROOT = Path(__file__).resolve().parent.parent
|
||||
|
||||
|
||||
def test_keystream_is_stable():
|
||||
"""Regression guard on the keystream every Boxsim file is scrambled with.
|
||||
|
||||
The value is not independently derived, it is the keystream under which all
|
||||
134 containers in the distribution decode byte-identically to Boxsim's own
|
||||
decoder (see tools/difftest.py). Its worth here is catching an accidental
|
||||
change to the generator, not proving the generator correct.
|
||||
"""
|
||||
ks = KryptPRNG().keystream(8)
|
||||
assert ks.hex() == "ebe14331cb3183e1"
|
||||
|
||||
|
||||
def test_rejects_foreign_file():
|
||||
with pytest.raises(container.ContainerError, match="not a MyIni2CK file"):
|
||||
container.decode(b"not a boxsim file at all")
|
||||
|
||||
|
||||
def test_truncated_stream_fails_loudly():
|
||||
raw = (ROOT / "boxsim_dl" / "BoxSim 2.1 DE (Stand 12.2025)"
|
||||
/ "Projekte" / "Default.BPJ")
|
||||
if not raw.exists():
|
||||
pytest.skip("distribution not present")
|
||||
data = raw.read_bytes()
|
||||
with pytest.raises(a2f.A2FError):
|
||||
container.decode(data[: len(data) // 2])
|
||||
|
||||
|
||||
def test_padding_allowance_is_bounded():
|
||||
# A stream of zeros must not decode forever; it has to hit the limit.
|
||||
with pytest.raises(a2f.A2FError):
|
||||
a2f.expand(b"MyIni2CK", skip_magic=8)
|
||||
|
||||
|
||||
@pytest.mark.needs_dist
|
||||
def test_matches_oracle_digests(manifest: dict):
|
||||
"""Every container the oracle decoded must still decode identically."""
|
||||
files = manifest["files"]
|
||||
assert files, "manifest has no entries"
|
||||
checked = 0
|
||||
for rel, expected in files.items():
|
||||
path = ROOT / rel
|
||||
if not path.exists():
|
||||
pytest.fail(f"manifest references missing file {rel}")
|
||||
payload = container.decode(path.read_bytes())
|
||||
digest = hashlib.sha256(payload).hexdigest()
|
||||
assert digest == expected["sha256"], f"{rel} digest changed"
|
||||
assert len(payload) == expected["len"], f"{rel} length changed"
|
||||
checked += 1
|
||||
assert checked == len(files)
|
||||
|
||||
|
||||
@pytest.mark.needs_dist
|
||||
def test_pre20_containers_are_rejected(manifest: dict):
|
||||
"""The BoxSim 1.2 files use an older container and must stay rejected."""
|
||||
rejected = manifest["rejected_not_myini2ck"]
|
||||
assert rejected, "manifest recorded no rejected files"
|
||||
for rel in rejected:
|
||||
path = ROOT / rel
|
||||
if not path.exists():
|
||||
continue
|
||||
with pytest.raises(container.ContainerError):
|
||||
container.decode(path.read_bytes())
|
||||
@@ -0,0 +1,92 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import pytest
|
||||
|
||||
from boxsim import model
|
||||
from boxsim.model import COLS, LINK_BASE, ROWS, TOTAL_SLOTS, Orientation, PartType
|
||||
|
||||
|
||||
def test_slot_partition_is_exact():
|
||||
"""The three slot ranges must tile 1..375 with no gap or overlap."""
|
||||
seen = {}
|
||||
for slot in range(1, TOTAL_SLOTS + 1):
|
||||
orientation, row, col = model.slot_geometry(slot)
|
||||
if orientation == Orientation.LINK:
|
||||
continue
|
||||
key = (orientation, row, col)
|
||||
assert key not in seen, f"slot {slot} collides with {seen[key]}"
|
||||
seen[key] = slot
|
||||
horizontal = sum(1 for k in seen if k[0] == Orientation.HORIZONTAL)
|
||||
vertical = sum(1 for k in seen if k[0] == Orientation.VERTICAL)
|
||||
assert horizontal == (COLS - 1) * ROWS == 180
|
||||
assert vertical == COLS * (ROWS - 1) == 187
|
||||
assert LINK_BASE == 368 and TOTAL_SLOTS == 375
|
||||
|
||||
|
||||
def test_slot_geometry_bounds():
|
||||
with pytest.raises(model.ModelError):
|
||||
model.slot_geometry(0)
|
||||
with pytest.raises(model.ModelError):
|
||||
model.slot_geometry(TOTAL_SLOTS + 1)
|
||||
|
||||
|
||||
def test_slot_endpoints_are_adjacent_nodes():
|
||||
orientation, row, col = model.slot_geometry(1)
|
||||
assert (orientation, row, col) == (Orientation.HORIZONTAL, 0, 0)
|
||||
orientation, row, col = model.slot_geometry(181)
|
||||
assert (orientation, row, col) == (Orientation.VERTICAL, 0, 0)
|
||||
# The last vertical slot must sit on the bottom-but-one row.
|
||||
orientation, row, col = model.slot_geometry(367)
|
||||
assert (orientation, row, col) == (Orientation.VERTICAL, ROWS - 2, COLS - 1)
|
||||
|
||||
|
||||
def test_default_project_shape(default_project):
|
||||
p = default_project
|
||||
assert p.version == 2000
|
||||
assert p.amp_count == 1
|
||||
assert p.chassis_count == 3
|
||||
assert [c.name for c in p.chassis] == [
|
||||
"GF 200 - 8 Ohm",
|
||||
"B 100 - 6 Ohm",
|
||||
"G 20 SC - 8 Ohm",
|
||||
]
|
||||
|
||||
|
||||
def test_default_netlist_is_closed(default_project):
|
||||
"""The published Default project must have no floating terminal."""
|
||||
xo = default_project.crossovers[0]
|
||||
netlist = xo.build_netlist()
|
||||
assert len(xo.components) == 22
|
||||
assert netlist.net_count == 14
|
||||
assert netlist.dangling() == []
|
||||
|
||||
|
||||
def test_drivers_and_amp_present(default_project):
|
||||
xo = default_project.crossovers[0]
|
||||
drivers = [p for p in xo.components if p.typ == PartType.DRIVER]
|
||||
amps = [p for p in xo.components if p.typ == PartType.AMP_INPUT]
|
||||
assert len(amps) == 1
|
||||
assert sorted(d.chassis_index for d in drivers) == [0, 1, 2]
|
||||
|
||||
|
||||
def test_bounding_box(default_project):
|
||||
assert default_project.crossovers[0].bounding_box() == (0, 0, 8, 9)
|
||||
|
||||
|
||||
def test_crossover_corner_frequencies(default_project):
|
||||
"""Sanity-check the reconstruction against loudspeaker physics.
|
||||
|
||||
A wrong slot-to-node mapping would still produce a netlist, but not one
|
||||
whose series/shunt pairs land on sensible crossover points.
|
||||
"""
|
||||
import math
|
||||
|
||||
xo = default_project.crossovers[0]
|
||||
by_slot = {p.slot: p for p in xo.components}
|
||||
# Woofer low-pass: 4.7 mH series with the 15 uF shunt.
|
||||
fc = 1 / (2 * math.pi * math.sqrt(by_slot[5].value * by_slot[198].value))
|
||||
assert 550 < fc < 650
|
||||
# Tweeter high-pass: two series caps into the 0.22 mH shunt.
|
||||
cser = 1 / (1 / by_slot[65].value + 1 / by_slot[67].value)
|
||||
fc = 1 / (2 * math.pi * math.sqrt(by_slot[252].value * cser))
|
||||
assert 5000 < fc < 6500
|
||||
@@ -0,0 +1,133 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import pytest
|
||||
|
||||
from boxsim import symbols
|
||||
from boxsim.catalog import SERIES_TO_SYMBOL
|
||||
from boxsim.model import Orientation, Part, PartType
|
||||
|
||||
|
||||
def test_catalogue_shape(catalog):
|
||||
"""Guard the figures the resolver design relies on."""
|
||||
assert len(catalog) == 95
|
||||
assert len(catalog.series_names) == 11
|
||||
assert set(catalog.series_names) == set(SERIES_TO_SYMBOL)
|
||||
# The last catalogue line is a real part; the file has no trailing newline
|
||||
# and is easy to truncate by one.
|
||||
assert catalog.find("SP 1,3mm", 2.2e-3) is not None
|
||||
|
||||
|
||||
def test_every_catalogue_part_has_a_symbol(catalog, library):
|
||||
extras = symbols.cross_check(catalog, library)
|
||||
assert extras == ["MKT 22μF"], (
|
||||
"library should contain exactly the catalogue plus Amplifier, Speaker "
|
||||
"and the radial MKT 22uF that Boxsim cannot select"
|
||||
)
|
||||
|
||||
|
||||
def test_library_values_are_matched_numerically(library):
|
||||
"""Irregular library names must still resolve: 1.0uF next to 10uF."""
|
||||
assert library.lookup("MKP", 1e-6) is not None
|
||||
assert library.lookup("MKP", 10e-6) is not None
|
||||
assert library.lookup("SP-Spule", 1e-3, "0.6").name == "SP-Spule 1.0mH (0.6)"
|
||||
assert library.lookup("LR-Spule", 10e-3).name == "LR-Spule 10mH"
|
||||
|
||||
|
||||
def test_derived_symbols_resolve_geometry(library):
|
||||
"""Most symbols use `extends`; pins live on the base symbol."""
|
||||
from boxsim.schematic import symbol_pins
|
||||
|
||||
pins = symbol_pins(library, "SP-Spule 0.82mH (0.6)")
|
||||
assert len(pins.by_number) == 2
|
||||
assert library.base_of("SP-Spule 0.82mH (0.6)") == "FC-Spule 10mH"
|
||||
|
||||
|
||||
def test_flattened_definition_has_no_extends(library):
|
||||
body = library.definition("SP-Spule 0.82mH (0.6)")
|
||||
assert "extends" not in body
|
||||
assert '(symbol "SP-Spule 0.82mH (0.6)_' in body, "graphics must be inlined"
|
||||
|
||||
|
||||
def test_default_project_fully_resolves(catalog, library, default_project):
|
||||
resolver = symbols.Resolver(catalog, library)
|
||||
components = default_project.crossovers[0].components
|
||||
results = resolver.resolve_all(components)
|
||||
assert len(results) == len(components) == 22
|
||||
assert all(r.symbol in library for r in results)
|
||||
|
||||
|
||||
def test_empty_series_is_inferred_from_sibling(catalog, library, default_project):
|
||||
resolver = symbols.Resolver(catalog, library)
|
||||
components = default_project.crossovers[0].components
|
||||
results = {r.part.slot: r for r in resolver.resolve_all(components)}
|
||||
part231 = results[231]
|
||||
assert part231.inferred_series is True
|
||||
assert part231.symbol == "MKT-A 15μF", "sibling Part198 is an MKT-A 15uF"
|
||||
|
||||
|
||||
def test_dcr_deviation_is_reported_not_corrected(catalog, library, default_project):
|
||||
resolver = symbols.Resolver(catalog, library)
|
||||
results = {
|
||||
r.part.slot: r
|
||||
for r in resolver.resolve_all(default_project.crossovers[0].components)
|
||||
}
|
||||
assert results[5].dcr_note is not None, "0.28 vs catalogue 0.33"
|
||||
assert results[48].dcr_note is not None, "5 vs catalogue 4.8"
|
||||
assert results[5].part.dcr == 0.28, "the project value must win"
|
||||
|
||||
|
||||
def test_unstocked_value_is_a_hard_error(catalog, library):
|
||||
resolver = symbols.Resolver(catalog, library)
|
||||
part = Part(
|
||||
slot=1,
|
||||
typ=PartType.CAPACITOR,
|
||||
orientation=Orientation.HORIZONTAL,
|
||||
row=0,
|
||||
col=0,
|
||||
node_a=0,
|
||||
node_b=1,
|
||||
value=13e-6, # not a Visaton value
|
||||
label="MKT-A",
|
||||
)
|
||||
with pytest.raises(symbols.SymbolError, match="not stocked"):
|
||||
resolver.resolve(part)
|
||||
|
||||
|
||||
def test_unknown_series_is_a_hard_error(catalog, library):
|
||||
resolver = symbols.Resolver(catalog, library)
|
||||
part = Part(
|
||||
slot=2,
|
||||
typ=PartType.CAPACITOR,
|
||||
orientation=Orientation.HORIZONTAL,
|
||||
row=0,
|
||||
col=0,
|
||||
node_a=0,
|
||||
node_b=1,
|
||||
value=10e-6,
|
||||
label="Mundorf Supreme",
|
||||
)
|
||||
with pytest.raises(symbols.SymbolError, match="not in the Visaton catalogue"):
|
||||
resolver.resolve(part)
|
||||
|
||||
|
||||
def test_catalogue_shape_check_has_teeth(catalog):
|
||||
"""A truncated catalogue must be rejected, not silently accepted.
|
||||
|
||||
`cross_check` only proves the catalogue is a subset of the library, so a
|
||||
short catalogue passes it and then rejects valid projects at runtime with
|
||||
"not stocked by Visaton". This is the check that catches it.
|
||||
"""
|
||||
from boxsim import catalog as catalog_mod
|
||||
|
||||
catalog_mod.check_shape(catalog) # the real thing must pass
|
||||
|
||||
short = catalog_mod.Catalog(catalog.parts[:40])
|
||||
with pytest.raises(catalog_mod.CatalogError, match="expected"):
|
||||
catalog_mod.check_shape(short)
|
||||
|
||||
# Losing a whole series must also be caught, even at the right total.
|
||||
without_sp13 = catalog_mod.Catalog(
|
||||
[p for p in catalog.parts if p.series != "SP 1,3mm"]
|
||||
)
|
||||
with pytest.raises(catalog_mod.CatalogError):
|
||||
catalog_mod.check_shape(without_sp13)
|
||||
Reference in new issue
Block a user