From 6c65b13a8f0463acc3180308bdefa8c5eca5a164 Mon Sep 17 00:00:00 2001 From: "Hermes (scopedvr-dev)" Date: Mon, 19 Oct 2026 18:10:41 +0000 Subject: [PATCH] =?UTF-8?q?D4=20(t=5F691b51ce):=20Editor-Sync=20=E2=80=94?= =?UTF-8?q?=2059=20neue=20Prop-Thumbs=20+=20Map-Builder-Probe=20(3=20Props?= =?UTF-8?q?=20mit=20Kollisionsboxen)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/objects.json | 813 ++++++++++++++++++++++++++- library/thumbs/barrel_001.png | Bin 0 -> 869 bytes library/thumbs/barrel_002.png | Bin 0 -> 869 bytes library/thumbs/barrel_003.png | Bin 0 -> 869 bytes library/thumbs/barrel_004.png | Bin 0 -> 869 bytes library/thumbs/barrel_005.png | Bin 0 -> 869 bytes library/thumbs/barrel_006.png | Bin 0 -> 869 bytes library/thumbs/barrel_007.png | Bin 0 -> 869 bytes library/thumbs/barrel_008.png | Bin 0 -> 869 bytes library/thumbs/barrel_009.png | Bin 0 -> 869 bytes library/thumbs/barrel_010.png | Bin 0 -> 869 bytes library/thumbs/barrel_011.png | Bin 0 -> 702 bytes library/thumbs/barrel_012.png | Bin 0 -> 997 bytes library/thumbs/barrel_013.png | Bin 0 -> 1020 bytes library/thumbs/box_001.png | Bin 0 -> 1727 bytes library/thumbs/box_002.png | Bin 0 -> 1727 bytes library/thumbs/box_003.png | Bin 0 -> 805 bytes library/thumbs/box_004.png | Bin 0 -> 697 bytes library/thumbs/box_005.png | Bin 0 -> 1400 bytes library/thumbs/box_006.png | Bin 0 -> 636 bytes library/thumbs/box_007.png | Bin 0 -> 1018 bytes library/thumbs/box_008.png | Bin 0 -> 636 bytes library/thumbs/box_009.png | Bin 0 -> 636 bytes library/thumbs/box_010.png | Bin 0 -> 983 bytes library/thumbs/box_011.png | Bin 0 -> 636 bytes library/thumbs/box_012.png | Bin 0 -> 637 bytes library/thumbs/box_013.png | Bin 0 -> 637 bytes library/thumbs/box_014.png | Bin 0 -> 637 bytes library/thumbs/box_015.png | Bin 0 -> 637 bytes library/thumbs/box_016.png | Bin 0 -> 637 bytes library/thumbs/box_017.png | Bin 0 -> 637 bytes library/thumbs/box_018.png | Bin 0 -> 666 bytes library/thumbs/box_019.png | Bin 0 -> 666 bytes library/thumbs/box_020.png | Bin 0 -> 633 bytes library/thumbs/box_021.png | Bin 0 -> 934 bytes library/thumbs/box_022.png | Bin 0 -> 934 bytes library/thumbs/box_023.png | Bin 0 -> 633 bytes library/thumbs/box_024.png | Bin 0 -> 626 bytes library/thumbs/box_025.png | Bin 0 -> 626 bytes library/thumbs/box_026.png | Bin 0 -> 1036 bytes library/thumbs/box_027.png | Bin 0 -> 1299 bytes library/thumbs/box_028.png | Bin 0 -> 1036 bytes library/thumbs/box_029.png | Bin 0 -> 1299 bytes library/thumbs/box_030.png | Bin 0 -> 662 bytes library/thumbs/box_031.png | Bin 0 -> 654 bytes library/thumbs/shell_001.png | Bin 0 -> 590 bytes library/thumbs/shell_002.png | Bin 0 -> 697 bytes library/thumbs/shell_003.png | Bin 0 -> 631 bytes library/thumbs/shell_004.png | Bin 0 -> 631 bytes library/thumbs/shell_005.png | Bin 0 -> 667 bytes library/thumbs/shell_006.png | Bin 0 -> 646 bytes library/thumbs/shell_007.png | Bin 0 -> 804 bytes library/thumbs/shell_008.png | Bin 0 -> 804 bytes library/thumbs/training_item_001.png | Bin 0 -> 927 bytes library/thumbs/training_item_002.png | Bin 0 -> 891 bytes library/thumbs/training_item_003.png | Bin 0 -> 1151 bytes library/thumbs/training_item_004.png | Bin 0 -> 953 bytes library/thumbs/training_item_005.png | Bin 0 -> 814 bytes library/thumbs/training_item_006.png | Bin 0 -> 813 bytes library/thumbs/training_item_007.png | Bin 0 -> 1028 bytes tests/probe_d4_mapbuilder.gd | 82 +++ 61 files changed, 894 insertions(+), 1 deletion(-) create mode 100644 library/thumbs/barrel_001.png create mode 100644 library/thumbs/barrel_002.png create mode 100644 library/thumbs/barrel_003.png create mode 100644 library/thumbs/barrel_004.png create mode 100644 library/thumbs/barrel_005.png create mode 100644 library/thumbs/barrel_006.png create mode 100644 library/thumbs/barrel_007.png create mode 100644 library/thumbs/barrel_008.png create mode 100644 library/thumbs/barrel_009.png create mode 100644 library/thumbs/barrel_010.png create mode 100644 library/thumbs/barrel_011.png create mode 100644 library/thumbs/barrel_012.png create mode 100644 library/thumbs/barrel_013.png create mode 100644 library/thumbs/box_001.png create mode 100644 library/thumbs/box_002.png create mode 100644 library/thumbs/box_003.png create mode 100644 library/thumbs/box_004.png create mode 100644 library/thumbs/box_005.png create mode 100644 library/thumbs/box_006.png create mode 100644 library/thumbs/box_007.png create mode 100644 library/thumbs/box_008.png create mode 100644 library/thumbs/box_009.png create mode 100644 library/thumbs/box_010.png create mode 100644 library/thumbs/box_011.png create mode 100644 library/thumbs/box_012.png create mode 100644 library/thumbs/box_013.png create mode 100644 library/thumbs/box_014.png create mode 100644 library/thumbs/box_015.png create mode 100644 library/thumbs/box_016.png create mode 100644 library/thumbs/box_017.png create mode 100644 library/thumbs/box_018.png create mode 100644 library/thumbs/box_019.png create mode 100644 library/thumbs/box_020.png create mode 100644 library/thumbs/box_021.png create mode 100644 library/thumbs/box_022.png create mode 100644 library/thumbs/box_023.png create mode 100644 library/thumbs/box_024.png create mode 100644 library/thumbs/box_025.png create mode 100644 library/thumbs/box_026.png create mode 100644 library/thumbs/box_027.png create mode 100644 library/thumbs/box_028.png create mode 100644 library/thumbs/box_029.png create mode 100644 library/thumbs/box_030.png create mode 100644 library/thumbs/box_031.png create mode 100644 library/thumbs/shell_001.png create mode 100644 library/thumbs/shell_002.png create mode 100644 library/thumbs/shell_003.png create mode 100644 library/thumbs/shell_004.png create mode 100644 library/thumbs/shell_005.png create mode 100644 library/thumbs/shell_006.png create mode 100644 library/thumbs/shell_007.png create mode 100644 library/thumbs/shell_008.png create mode 100644 library/thumbs/training_item_001.png create mode 100644 library/thumbs/training_item_002.png create mode 100644 library/thumbs/training_item_003.png create mode 100644 library/thumbs/training_item_004.png create mode 100644 library/thumbs/training_item_005.png create mode 100644 library/thumbs/training_item_006.png create mode 100644 library/thumbs/training_item_007.png create mode 100644 tests/probe_d4_mapbuilder.gd diff --git a/library/objects.json b/library/objects.json index d73f04d..04bc69a 100644 --- a/library/objects.json +++ b/library/objects.json @@ -1,6 +1,6 @@ { "library_version": 1, - "note": "Editor-Kopie der offiziellen Bibliotheks-Registry (geschlossener Baukasten, PLAN Entscheidung 20). Quelle: scopedvr-match-server library/objects.json — beim Registrieren neuer Objekte DORT zuerst eintragen und hier synchron ziehen. 'poly' = Referenz-Dreieckszahl (Budget-Rechnung, map_format.md §4 V8); 'collision' = Approximation für Platzhalter-Darstellung im Viewport.", + "note": "Server-Registry der offiziellen Asset-Bibliothek (geschlossener Baukasten, PLAN Entscheidung 20). 'poly' = Referenz-Dreieckszahl des Client-Meshes (Budget-Rechnung, map_format.md §4 V8); 'collision' = Server-Approximation (Nur Physik, headless). Die Bibliothek waechst mit der Client-Asset-Liste — IDs sind IMMER zuerst HIER registriert, bevor Maps sie referenzieren.", "objects": { "barracks_001": { "poly": 1139, @@ -16,6 +16,188 @@ "kategorie": "buildings", "name_de": "Kaserne" }, + "barrel_001": { + "poly": 184, + "collision": { + "shape": "box", + "size": [ + 0.617, + 0.85, + 0.617 + ] + }, + "glb": "res://assets/objekte/military_desert/props/barrel_001.glb", + "kategorie": "props", + "name_de": "Fass 01" + }, + "barrel_002": { + "poly": 184, + "collision": { + "shape": "box", + "size": [ + 0.617, + 0.85, + 0.617 + ] + }, + "glb": "res://assets/objekte/military_desert/props/barrel_002.glb", + "kategorie": "props", + "name_de": "Fass 02" + }, + "barrel_003": { + "poly": 184, + "collision": { + "shape": "box", + "size": [ + 0.617, + 0.85, + 0.617 + ] + }, + "glb": "res://assets/objekte/military_desert/props/barrel_003.glb", + "kategorie": "props", + "name_de": "Fass 03" + }, + "barrel_004": { + "poly": 184, + "collision": { + "shape": "box", + "size": [ + 0.617, + 0.85, + 0.617 + ] + }, + "glb": "res://assets/objekte/military_desert/props/barrel_004.glb", + "kategorie": "props", + "name_de": "Fass 04" + }, + "barrel_005": { + "poly": 184, + "collision": { + "shape": "box", + "size": [ + 0.617, + 0.85, + 0.617 + ] + }, + "glb": "res://assets/objekte/military_desert/props/barrel_005.glb", + "kategorie": "props", + "name_de": "Fass 05" + }, + "barrel_006": { + "poly": 184, + "collision": { + "shape": "box", + "size": [ + 0.617, + 0.85, + 0.617 + ] + }, + "glb": "res://assets/objekte/military_desert/props/barrel_006.glb", + "kategorie": "props", + "name_de": "Fass 06" + }, + "barrel_007": { + "poly": 184, + "collision": { + "shape": "box", + "size": [ + 0.617, + 0.85, + 0.617 + ] + }, + "glb": "res://assets/objekte/military_desert/props/barrel_007.glb", + "kategorie": "props", + "name_de": "Fass 07" + }, + "barrel_008": { + "poly": 184, + "collision": { + "shape": "box", + "size": [ + 0.617, + 0.85, + 0.617 + ] + }, + "glb": "res://assets/objekte/military_desert/props/barrel_008.glb", + "kategorie": "props", + "name_de": "Fass 08" + }, + "barrel_009": { + "poly": 184, + "collision": { + "shape": "box", + "size": [ + 0.617, + 0.85, + 0.617 + ] + }, + "glb": "res://assets/objekte/military_desert/props/barrel_009.glb", + "kategorie": "props", + "name_de": "Fass 09" + }, + "barrel_010": { + "poly": 184, + "collision": { + "shape": "box", + "size": [ + 0.617, + 0.85, + 0.617 + ] + }, + "glb": "res://assets/objekte/military_desert/props/barrel_010.glb", + "kategorie": "props", + "name_de": "Fass 10" + }, + "barrel_011": { + "poly": 192, + "collision": { + "shape": "box", + "size": [ + 1.183, + 2.578, + 1.183 + ] + }, + "glb": "res://assets/objekte/military_desert/props/barrel_011.glb", + "kategorie": "props", + "name_de": "Fass 11" + }, + "barrel_012": { + "poly": 296, + "collision": { + "shape": "box", + "size": [ + 1.605, + 0.948, + 1.052 + ] + }, + "glb": "res://assets/objekte/military_desert/props/barrel_012.glb", + "kategorie": "props", + "name_de": "Fass 12" + }, + "barrel_013": { + "poly": 126, + "collision": { + "shape": "box", + "size": [ + 2.297, + 1.409, + 1.183 + ] + }, + "glb": "res://assets/objekte/military_desert/props/barrel_013.glb", + "kategorie": "props", + "name_de": "Fass 13" + }, "barrier_001": { "poly": 72, "collision": { @@ -390,6 +572,440 @@ "radius": 0.8 } }, + "box_001": { + "poly": 604, + "collision": { + "shape": "box", + "size": [ + 1.411, + 0.784, + 0.947 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_001.glb", + "kategorie": "props", + "name_de": "Kiste 01" + }, + "box_002": { + "poly": 604, + "collision": { + "shape": "box", + "size": [ + 1.411, + 0.784, + 0.947 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_002.glb", + "kategorie": "props", + "name_de": "Kiste 02" + }, + "box_003": { + "poly": 604, + "collision": { + "shape": "box", + "size": [ + 1.411, + 0.784, + 0.947 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_003.glb", + "kategorie": "props", + "name_de": "Kiste 03" + }, + "box_004": { + "poly": 200, + "collision": { + "shape": "box", + "size": [ + 1.568, + 0.684, + 0.684 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_004.glb", + "kategorie": "props", + "name_de": "Kiste 04" + }, + "box_005": { + "poly": 200, + "collision": { + "shape": "box", + "size": [ + 1.568, + 0.684, + 0.684 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_005.glb", + "kategorie": "props", + "name_de": "Kiste 05" + }, + "box_006": { + "poly": 104, + "collision": { + "shape": "box", + "size": [ + 1.21, + 0.334, + 0.452 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_006.glb", + "kategorie": "props", + "name_de": "Kiste 06" + }, + "box_007": { + "poly": 104, + "collision": { + "shape": "box", + "size": [ + 1.21, + 0.334, + 0.452 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_007.glb", + "kategorie": "props", + "name_de": "Kiste 07" + }, + "box_008": { + "poly": 104, + "collision": { + "shape": "box", + "size": [ + 1.21, + 0.334, + 0.452 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_008.glb", + "kategorie": "props", + "name_de": "Kiste 08" + }, + "box_009": { + "poly": 104, + "collision": { + "shape": "box", + "size": [ + 1.646, + 0.334, + 0.451 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_009.glb", + "kategorie": "props", + "name_de": "Kiste 09" + }, + "box_010": { + "poly": 104, + "collision": { + "shape": "box", + "size": [ + 1.646, + 0.334, + 0.451 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_010.glb", + "kategorie": "props", + "name_de": "Kiste 10" + }, + "box_011": { + "poly": 104, + "collision": { + "shape": "box", + "size": [ + 1.646, + 0.334, + 0.451 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_011.glb", + "kategorie": "props", + "name_de": "Kiste 11" + }, + "box_012": { + "poly": 120, + "collision": { + "shape": "box", + "size": [ + 0.623, + 0.623, + 0.623 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_012.glb", + "kategorie": "props", + "name_de": "Kiste 12" + }, + "box_013": { + "poly": 120, + "collision": { + "shape": "box", + "size": [ + 0.623, + 0.623, + 0.623 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_013.glb", + "kategorie": "props", + "name_de": "Kiste 13" + }, + "box_014": { + "poly": 108, + "collision": { + "shape": "box", + "size": [ + 0.623, + 0.623, + 0.623 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_014.glb", + "kategorie": "props", + "name_de": "Kiste 14" + }, + "box_015": { + "poly": 108, + "collision": { + "shape": "box", + "size": [ + 0.623, + 0.623, + 0.623 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_015.glb", + "kategorie": "props", + "name_de": "Kiste 15" + }, + "box_016": { + "poly": 84, + "collision": { + "shape": "box", + "size": [ + 0.623, + 0.623, + 0.623 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_016.glb", + "kategorie": "props", + "name_de": "Kiste 16" + }, + "box_017": { + "poly": 84, + "collision": { + "shape": "box", + "size": [ + 0.623, + 0.623, + 0.623 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_017.glb", + "kategorie": "props", + "name_de": "Kiste 17" + }, + "box_018": { + "poly": 84, + "collision": { + "shape": "box", + "size": [ + 1.156, + 0.623, + 0.623 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_018.glb", + "kategorie": "props", + "name_de": "Kiste 18" + }, + "box_019": { + "poly": 84, + "collision": { + "shape": "box", + "size": [ + 1.156, + 0.623, + 0.623 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_019.glb", + "kategorie": "props", + "name_de": "Kiste 19" + }, + "box_020": { + "poly": 195, + "collision": { + "shape": "box", + "size": [ + 1.438, + 1.321, + 1.439 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_020.glb", + "kategorie": "props", + "name_de": "Kiste 20" + }, + "box_021": { + "poly": 195, + "collision": { + "shape": "box", + "size": [ + 1.438, + 1.321, + 1.439 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_021.glb", + "kategorie": "props", + "name_de": "Kiste 21" + }, + "box_022": { + "poly": 195, + "collision": { + "shape": "box", + "size": [ + 1.438, + 1.321, + 1.439 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_022.glb", + "kategorie": "props", + "name_de": "Kiste 22" + }, + "box_023": { + "poly": 195, + "collision": { + "shape": "box", + "size": [ + 1.438, + 1.321, + 1.439 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_023.glb", + "kategorie": "props", + "name_de": "Kiste 23" + }, + "box_024": { + "poly": 350, + "collision": { + "shape": "box", + "size": [ + 1.438, + 1.421, + 1.439 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_024.glb", + "kategorie": "props", + "name_de": "Kiste 24" + }, + "box_025": { + "poly": 350, + "collision": { + "shape": "box", + "size": [ + 1.438, + 1.421, + 1.439 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_025.glb", + "kategorie": "props", + "name_de": "Kiste 25" + }, + "box_026": { + "poly": 594, + "collision": { + "shape": "box", + "size": [ + 3.462, + 1.489, + 3.305 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_026.glb", + "kategorie": "props", + "name_de": "Kiste 26" + }, + "box_027": { + "poly": 739, + "collision": { + "shape": "box", + "size": [ + 2.641, + 2.376, + 2.54 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_027.glb", + "kategorie": "props", + "name_de": "Kiste 27" + }, + "box_028": { + "poly": 594, + "collision": { + "shape": "box", + "size": [ + 3.462, + 1.489, + 3.305 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_028.glb", + "kategorie": "props", + "name_de": "Kiste 28" + }, + "box_029": { + "poly": 739, + "collision": { + "shape": "box", + "size": [ + 2.641, + 2.376, + 2.54 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_029.glb", + "kategorie": "props", + "name_de": "Kiste 29" + }, + "box_030": { + "poly": 739, + "collision": { + "shape": "box", + "size": [ + 2.641, + 2.376, + 2.54 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_030.glb", + "kategorie": "props", + "name_de": "Kiste 30" + }, + "box_031": { + "poly": 594, + "collision": { + "shape": "box", + "size": [ + 3.462, + 1.489, + 3.305 + ] + }, + "glb": "res://assets/objekte/military_desert/props/box_031.glb", + "kategorie": "props", + "name_de": "Kiste 31" + }, "bruecke_holz": { "poly": 228, "collision": { @@ -2351,6 +2967,103 @@ "radius": 1.5 } }, + "shell_001": { + "poly": 320, + "collision": { + "shape": "box", + "size": [ + 0.456, + 1.368, + 0.456 + ] + }, + "glb": "res://assets/objekte/military_desert/props/shell_001.glb", + "kategorie": "props", + "name_de": "Granate 01" + }, + "shell_002": { + "poly": 184, + "collision": { + "shape": "none" + }, + "glb": "res://assets/objekte/military_desert/props/shell_002.glb", + "kategorie": "props", + "name_de": "Granate 02" + }, + "shell_003": { + "poly": 186, + "collision": { + "shape": "box", + "size": [ + 0.177, + 1.107, + 0.177 + ] + }, + "glb": "res://assets/objekte/military_desert/props/shell_003.glb", + "kategorie": "props", + "name_de": "Granate 03" + }, + "shell_004": { + "poly": 186, + "collision": { + "shape": "box", + "size": [ + 0.177, + 1.107, + 0.177 + ] + }, + "glb": "res://assets/objekte/military_desert/props/shell_004.glb", + "kategorie": "props", + "name_de": "Granate 04" + }, + "shell_005": { + "poly": 212, + "collision": { + "shape": "none" + }, + "glb": "res://assets/objekte/military_desert/props/shell_005.glb", + "kategorie": "props", + "name_de": "Granate 05" + }, + "shell_006": { + "poly": 88, + "collision": { + "shape": "none" + }, + "glb": "res://assets/objekte/military_desert/props/shell_006.glb", + "kategorie": "props", + "name_de": "Granate 06" + }, + "shell_007": { + "poly": 94, + "collision": { + "shape": "box", + "size": [ + 1.963, + 0.488, + 0.488 + ] + }, + "glb": "res://assets/objekte/military_desert/props/shell_007.glb", + "kategorie": "props", + "name_de": "Granate 07" + }, + "shell_008": { + "poly": 94, + "collision": { + "shape": "box", + "size": [ + 1.963, + 0.488, + 0.488 + ] + }, + "glb": "res://assets/objekte/military_desert/props/shell_008.glb", + "kategorie": "props", + "name_de": "Granate 08" + }, "stein_kiesel_1": { "poly": 136, "collision": { @@ -2755,6 +3468,104 @@ "kategorie": "buildings", "name_de": "Zelt 14" }, + "training_item_001": { + "poly": 518, + "collision": { + "shape": "box", + "size": [ + 1.156, + 1.108, + 1.307 + ] + }, + "glb": "res://assets/objekte/military_desert/props/training_item_001.glb", + "kategorie": "props", + "name_de": "Trainingsziel 01" + }, + "training_item_002": { + "poly": 778, + "collision": { + "shape": "box", + "size": [ + 0.529, + 1.279, + 0.962 + ] + }, + "glb": "res://assets/objekte/military_desert/props/training_item_002.glb", + "kategorie": "props", + "name_de": "Trainingsziel 02" + }, + "training_item_003": { + "poly": 1996, + "collision": { + "shape": "box", + "size": [ + 1.393, + 1.416, + 1.008 + ] + }, + "glb": "res://assets/objekte/military_desert/props/training_item_003.glb", + "kategorie": "props", + "name_de": "Trainingsziel 03" + }, + "training_item_004": { + "poly": 1320, + "collision": { + "shape": "box", + "size": [ + 0.81, + 1.509, + 0.926 + ] + }, + "glb": "res://assets/objekte/military_desert/props/training_item_004.glb", + "kategorie": "props", + "name_de": "Trainingsziel 04" + }, + "training_item_005": { + "poly": 392, + "collision": { + "shape": "box", + "size": [ + 1.731, + 1.264, + 1.894 + ] + }, + "glb": "res://assets/objekte/military_desert/props/training_item_005.glb", + "kategorie": "props", + "name_de": "Trainingsziel 05" + }, + "training_item_006": { + "poly": 304, + "collision": { + "shape": "box", + "size": [ + 1.731, + 1.53, + 1.87 + ] + }, + "glb": "res://assets/objekte/military_desert/props/training_item_006.glb", + "kategorie": "props", + "name_de": "Trainingsziel 06" + }, + "training_item_007": { + "poly": 628, + "collision": { + "shape": "box", + "size": [ + 2.562, + 2.818, + 3.204 + ] + }, + "glb": "res://assets/objekte/military_desert/props/training_item_007.glb", + "kategorie": "props", + "name_de": "Trainingsziel 07" + }, "tree_pine": { "poly": 180, "collision": { diff --git a/library/thumbs/barrel_001.png b/library/thumbs/barrel_001.png new file mode 100644 index 0000000000000000000000000000000000000000..21ac75123c5f1070c2899891d501dc0f1d6eb6f7 GIT binary patch literal 869 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V3zlEaSW-L z^Y+f}zFQ6wZ4d7YGz&O|#4xbB2C2jrNoEE;YYSfH>D=hz=-fKt=)s0y7X`lA4RaeC z|5wk?+RJXdy3%mX@q17H9zWme7^eG;K|q|bLz$tFMWK)3h+u;SlYl$JBMt`{stevb zDtEy4@2{WAC+h5KehH=6pV#>KWxkWM?+?>?O%*>G@@9UqIj`#*e0tLvwaJ~lY|RP% z|6dt;>|yt~eC5oUTW`xQoRsHlKln|w+lAr#hTCtG_!T*rR&+4Tb6Io!!P~Oz`2Ds0 zpKd7btzp=hv;FoBXO1QYty?)}8`}j~7(=E!uY9A(;>aMn_WEmxRFvLyh}4m4h8+$N zFNcT}1!}4>2|QP7_*n7h!|^X0L~@=zXqvFsJ(hRN_gCUgZ+2QR+02@L`9K;=K<(t0UIz5 z8o2hXVV)t_U;~O5(TYe8qhgT*%HruZcLcXQS8H(B#Shr_ zGsV4QwRon-Fy*mPL$yt?t=;dlbJ!BZ$`0-E+c$G@HS>DS>h}wtd)liBAK3X>Aw=!Z ooE(N9hu>B++-ak2Dyw6@F1R#xN4W(fFyAnEy85}Sb4q9e0M7JRuK)l5 literal 0 HcmV?d00001 diff --git a/library/thumbs/barrel_002.png b/library/thumbs/barrel_002.png new file mode 100644 index 0000000000000000000000000000000000000000..21ac75123c5f1070c2899891d501dc0f1d6eb6f7 GIT binary patch literal 869 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V3zlEaSW-L z^Y+f}zFQ6wZ4d7YGz&O|#4xbB2C2jrNoEE;YYSfH>D=hz=-fKt=)s0y7X`lA4RaeC z|5wk?+RJXdy3%mX@q17H9zWme7^eG;K|q|bLz$tFMWK)3h+u;SlYl$JBMt`{stevb zDtEy4@2{WAC+h5KehH=6pV#>KWxkWM?+?>?O%*>G@@9UqIj`#*e0tLvwaJ~lY|RP% z|6dt;>|yt~eC5oUTW`xQoRsHlKln|w+lAr#hTCtG_!T*rR&+4Tb6Io!!P~Oz`2Ds0 zpKd7btzp=hv;FoBXO1QYty?)}8`}j~7(=E!uY9A(;>aMn_WEmxRFvLyh}4m4h8+$N zFNcT}1!}4>2|QP7_*n7h!|^X0L~@=zXqvFsJ(hRN_gCUgZ+2QR+02@L`9K;=K<(t0UIz5 z8o2hXVV)t_U;~O5(TYe8qhgT*%HruZcLcXQS8H(B#Shr_ zGsV4QwRon-Fy*mPL$yt?t=;dlbJ!BZ$`0-E+c$G@HS>DS>h}wtd)liBAK3X>Aw=!Z ooE(N9hu>B++-ak2Dyw6@F1R#xN4W(fFyAnEy85}Sb4q9e0M7JRuK)l5 literal 0 HcmV?d00001 diff --git a/library/thumbs/barrel_003.png b/library/thumbs/barrel_003.png new file mode 100644 index 0000000000000000000000000000000000000000..21ac75123c5f1070c2899891d501dc0f1d6eb6f7 GIT binary patch literal 869 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V3zlEaSW-L z^Y+f}zFQ6wZ4d7YGz&O|#4xbB2C2jrNoEE;YYSfH>D=hz=-fKt=)s0y7X`lA4RaeC z|5wk?+RJXdy3%mX@q17H9zWme7^eG;K|q|bLz$tFMWK)3h+u;SlYl$JBMt`{stevb zDtEy4@2{WAC+h5KehH=6pV#>KWxkWM?+?>?O%*>G@@9UqIj`#*e0tLvwaJ~lY|RP% z|6dt;>|yt~eC5oUTW`xQoRsHlKln|w+lAr#hTCtG_!T*rR&+4Tb6Io!!P~Oz`2Ds0 zpKd7btzp=hv;FoBXO1QYty?)}8`}j~7(=E!uY9A(;>aMn_WEmxRFvLyh}4m4h8+$N zFNcT}1!}4>2|QP7_*n7h!|^X0L~@=zXqvFsJ(hRN_gCUgZ+2QR+02@L`9K;=K<(t0UIz5 z8o2hXVV)t_U;~O5(TYe8qhgT*%HruZcLcXQS8H(B#Shr_ zGsV4QwRon-Fy*mPL$yt?t=;dlbJ!BZ$`0-E+c$G@HS>DS>h}wtd)liBAK3X>Aw=!Z ooE(N9hu>B++-ak2Dyw6@F1R#xN4W(fFyAnEy85}Sb4q9e0M7JRuK)l5 literal 0 HcmV?d00001 diff --git a/library/thumbs/barrel_004.png b/library/thumbs/barrel_004.png new file mode 100644 index 0000000000000000000000000000000000000000..21ac75123c5f1070c2899891d501dc0f1d6eb6f7 GIT binary patch literal 869 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V3zlEaSW-L z^Y+f}zFQ6wZ4d7YGz&O|#4xbB2C2jrNoEE;YYSfH>D=hz=-fKt=)s0y7X`lA4RaeC z|5wk?+RJXdy3%mX@q17H9zWme7^eG;K|q|bLz$tFMWK)3h+u;SlYl$JBMt`{stevb zDtEy4@2{WAC+h5KehH=6pV#>KWxkWM?+?>?O%*>G@@9UqIj`#*e0tLvwaJ~lY|RP% z|6dt;>|yt~eC5oUTW`xQoRsHlKln|w+lAr#hTCtG_!T*rR&+4Tb6Io!!P~Oz`2Ds0 zpKd7btzp=hv;FoBXO1QYty?)}8`}j~7(=E!uY9A(;>aMn_WEmxRFvLyh}4m4h8+$N zFNcT}1!}4>2|QP7_*n7h!|^X0L~@=zXqvFsJ(hRN_gCUgZ+2QR+02@L`9K;=K<(t0UIz5 z8o2hXVV)t_U;~O5(TYe8qhgT*%HruZcLcXQS8H(B#Shr_ zGsV4QwRon-Fy*mPL$yt?t=;dlbJ!BZ$`0-E+c$G@HS>DS>h}wtd)liBAK3X>Aw=!Z ooE(N9hu>B++-ak2Dyw6@F1R#xN4W(fFyAnEy85}Sb4q9e0M7JRuK)l5 literal 0 HcmV?d00001 diff --git a/library/thumbs/barrel_005.png b/library/thumbs/barrel_005.png new file mode 100644 index 0000000000000000000000000000000000000000..21ac75123c5f1070c2899891d501dc0f1d6eb6f7 GIT binary patch literal 869 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V3zlEaSW-L z^Y+f}zFQ6wZ4d7YGz&O|#4xbB2C2jrNoEE;YYSfH>D=hz=-fKt=)s0y7X`lA4RaeC z|5wk?+RJXdy3%mX@q17H9zWme7^eG;K|q|bLz$tFMWK)3h+u;SlYl$JBMt`{stevb zDtEy4@2{WAC+h5KehH=6pV#>KWxkWM?+?>?O%*>G@@9UqIj`#*e0tLvwaJ~lY|RP% z|6dt;>|yt~eC5oUTW`xQoRsHlKln|w+lAr#hTCtG_!T*rR&+4Tb6Io!!P~Oz`2Ds0 zpKd7btzp=hv;FoBXO1QYty?)}8`}j~7(=E!uY9A(;>aMn_WEmxRFvLyh}4m4h8+$N zFNcT}1!}4>2|QP7_*n7h!|^X0L~@=zXqvFsJ(hRN_gCUgZ+2QR+02@L`9K;=K<(t0UIz5 z8o2hXVV)t_U;~O5(TYe8qhgT*%HruZcLcXQS8H(B#Shr_ zGsV4QwRon-Fy*mPL$yt?t=;dlbJ!BZ$`0-E+c$G@HS>DS>h}wtd)liBAK3X>Aw=!Z ooE(N9hu>B++-ak2Dyw6@F1R#xN4W(fFyAnEy85}Sb4q9e0M7JRuK)l5 literal 0 HcmV?d00001 diff --git a/library/thumbs/barrel_006.png b/library/thumbs/barrel_006.png new file mode 100644 index 0000000000000000000000000000000000000000..21ac75123c5f1070c2899891d501dc0f1d6eb6f7 GIT binary patch literal 869 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V3zlEaSW-L z^Y+f}zFQ6wZ4d7YGz&O|#4xbB2C2jrNoEE;YYSfH>D=hz=-fKt=)s0y7X`lA4RaeC z|5wk?+RJXdy3%mX@q17H9zWme7^eG;K|q|bLz$tFMWK)3h+u;SlYl$JBMt`{stevb zDtEy4@2{WAC+h5KehH=6pV#>KWxkWM?+?>?O%*>G@@9UqIj`#*e0tLvwaJ~lY|RP% z|6dt;>|yt~eC5oUTW`xQoRsHlKln|w+lAr#hTCtG_!T*rR&+4Tb6Io!!P~Oz`2Ds0 zpKd7btzp=hv;FoBXO1QYty?)}8`}j~7(=E!uY9A(;>aMn_WEmxRFvLyh}4m4h8+$N zFNcT}1!}4>2|QP7_*n7h!|^X0L~@=zXqvFsJ(hRN_gCUgZ+2QR+02@L`9K;=K<(t0UIz5 z8o2hXVV)t_U;~O5(TYe8qhgT*%HruZcLcXQS8H(B#Shr_ zGsV4QwRon-Fy*mPL$yt?t=;dlbJ!BZ$`0-E+c$G@HS>DS>h}wtd)liBAK3X>Aw=!Z ooE(N9hu>B++-ak2Dyw6@F1R#xN4W(fFyAnEy85}Sb4q9e0M7JRuK)l5 literal 0 HcmV?d00001 diff --git a/library/thumbs/barrel_007.png b/library/thumbs/barrel_007.png new file mode 100644 index 0000000000000000000000000000000000000000..21ac75123c5f1070c2899891d501dc0f1d6eb6f7 GIT binary patch literal 869 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V3zlEaSW-L z^Y+f}zFQ6wZ4d7YGz&O|#4xbB2C2jrNoEE;YYSfH>D=hz=-fKt=)s0y7X`lA4RaeC z|5wk?+RJXdy3%mX@q17H9zWme7^eG;K|q|bLz$tFMWK)3h+u;SlYl$JBMt`{stevb zDtEy4@2{WAC+h5KehH=6pV#>KWxkWM?+?>?O%*>G@@9UqIj`#*e0tLvwaJ~lY|RP% z|6dt;>|yt~eC5oUTW`xQoRsHlKln|w+lAr#hTCtG_!T*rR&+4Tb6Io!!P~Oz`2Ds0 zpKd7btzp=hv;FoBXO1QYty?)}8`}j~7(=E!uY9A(;>aMn_WEmxRFvLyh}4m4h8+$N zFNcT}1!}4>2|QP7_*n7h!|^X0L~@=zXqvFsJ(hRN_gCUgZ+2QR+02@L`9K;=K<(t0UIz5 z8o2hXVV)t_U;~O5(TYe8qhgT*%HruZcLcXQS8H(B#Shr_ zGsV4QwRon-Fy*mPL$yt?t=;dlbJ!BZ$`0-E+c$G@HS>DS>h}wtd)liBAK3X>Aw=!Z ooE(N9hu>B++-ak2Dyw6@F1R#xN4W(fFyAnEy85}Sb4q9e0M7JRuK)l5 literal 0 HcmV?d00001 diff --git a/library/thumbs/barrel_008.png b/library/thumbs/barrel_008.png new file mode 100644 index 0000000000000000000000000000000000000000..21ac75123c5f1070c2899891d501dc0f1d6eb6f7 GIT binary patch literal 869 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V3zlEaSW-L z^Y+f}zFQ6wZ4d7YGz&O|#4xbB2C2jrNoEE;YYSfH>D=hz=-fKt=)s0y7X`lA4RaeC z|5wk?+RJXdy3%mX@q17H9zWme7^eG;K|q|bLz$tFMWK)3h+u;SlYl$JBMt`{stevb zDtEy4@2{WAC+h5KehH=6pV#>KWxkWM?+?>?O%*>G@@9UqIj`#*e0tLvwaJ~lY|RP% z|6dt;>|yt~eC5oUTW`xQoRsHlKln|w+lAr#hTCtG_!T*rR&+4Tb6Io!!P~Oz`2Ds0 zpKd7btzp=hv;FoBXO1QYty?)}8`}j~7(=E!uY9A(;>aMn_WEmxRFvLyh}4m4h8+$N zFNcT}1!}4>2|QP7_*n7h!|^X0L~@=zXqvFsJ(hRN_gCUgZ+2QR+02@L`9K;=K<(t0UIz5 z8o2hXVV)t_U;~O5(TYe8qhgT*%HruZcLcXQS8H(B#Shr_ zGsV4QwRon-Fy*mPL$yt?t=;dlbJ!BZ$`0-E+c$G@HS>DS>h}wtd)liBAK3X>Aw=!Z ooE(N9hu>B++-ak2Dyw6@F1R#xN4W(fFyAnEy85}Sb4q9e0M7JRuK)l5 literal 0 HcmV?d00001 diff --git a/library/thumbs/barrel_009.png b/library/thumbs/barrel_009.png new file mode 100644 index 0000000000000000000000000000000000000000..21ac75123c5f1070c2899891d501dc0f1d6eb6f7 GIT binary patch literal 869 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V3zlEaSW-L z^Y+f}zFQ6wZ4d7YGz&O|#4xbB2C2jrNoEE;YYSfH>D=hz=-fKt=)s0y7X`lA4RaeC z|5wk?+RJXdy3%mX@q17H9zWme7^eG;K|q|bLz$tFMWK)3h+u;SlYl$JBMt`{stevb zDtEy4@2{WAC+h5KehH=6pV#>KWxkWM?+?>?O%*>G@@9UqIj`#*e0tLvwaJ~lY|RP% z|6dt;>|yt~eC5oUTW`xQoRsHlKln|w+lAr#hTCtG_!T*rR&+4Tb6Io!!P~Oz`2Ds0 zpKd7btzp=hv;FoBXO1QYty?)}8`}j~7(=E!uY9A(;>aMn_WEmxRFvLyh}4m4h8+$N zFNcT}1!}4>2|QP7_*n7h!|^X0L~@=zXqvFsJ(hRN_gCUgZ+2QR+02@L`9K;=K<(t0UIz5 z8o2hXVV)t_U;~O5(TYe8qhgT*%HruZcLcXQS8H(B#Shr_ zGsV4QwRon-Fy*mPL$yt?t=;dlbJ!BZ$`0-E+c$G@HS>DS>h}wtd)liBAK3X>Aw=!Z ooE(N9hu>B++-ak2Dyw6@F1R#xN4W(fFyAnEy85}Sb4q9e0M7JRuK)l5 literal 0 HcmV?d00001 diff --git a/library/thumbs/barrel_010.png b/library/thumbs/barrel_010.png new file mode 100644 index 0000000000000000000000000000000000000000..21ac75123c5f1070c2899891d501dc0f1d6eb6f7 GIT binary patch literal 869 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V3zlEaSW-L z^Y+f}zFQ6wZ4d7YGz&O|#4xbB2C2jrNoEE;YYSfH>D=hz=-fKt=)s0y7X`lA4RaeC z|5wk?+RJXdy3%mX@q17H9zWme7^eG;K|q|bLz$tFMWK)3h+u;SlYl$JBMt`{stevb zDtEy4@2{WAC+h5KehH=6pV#>KWxkWM?+?>?O%*>G@@9UqIj`#*e0tLvwaJ~lY|RP% z|6dt;>|yt~eC5oUTW`xQoRsHlKln|w+lAr#hTCtG_!T*rR&+4Tb6Io!!P~Oz`2Ds0 zpKd7btzp=hv;FoBXO1QYty?)}8`}j~7(=E!uY9A(;>aMn_WEmxRFvLyh}4m4h8+$N zFNcT}1!}4>2|QP7_*n7h!|^X0L~@=zXqvFsJ(hRN_gCUgZ+2QR+02@L`9K;=K<(t0UIz5 z8o2hXVV)t_U;~O5(TYe8qhgT*%HruZcLcXQS8H(B#Shr_ zGsV4QwRon-Fy*mPL$yt?t=;dlbJ!BZ$`0-E+c$G@HS>DS>h}wtd)liBAK3X>Aw=!Z ooE(N9hu>B++-ak2Dyw6@F1R#xN4W(fFyAnEy85}Sb4q9e0M7JRuK)l5 literal 0 HcmV?d00001 diff --git a/library/thumbs/barrel_011.png b/library/thumbs/barrel_011.png new file mode 100644 index 0000000000000000000000000000000000000000..8557d840a81d1a4a11e17be414ed8f8f7a5a9c66 GIT binary patch literal 702 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V5;zRaSW-L z^Y-pWzuN&4?jQSCt$)PWwrG`B2#@G1?vj@`j=#RKwEy6VLzCD~PHEB9=xW-~`*!xf z^FMugZtT2NUL$;TQgPwWmucaLeqE?y%sS2RfQR86^@w-LuUU1TzWkVY;eUMW{c~F; zeJ+~#uVco-X8UP!PB{$kW&dovBA{f?>|^_9=ebJ0M@%z{13Cqd>|xchoik;7ONZ=& zqf=*Yl6GOaaHwi;-rg2Zi31+D-){RVq$Vin(Ea`K`f_`*`m>fUEDJuOy4&r>Tcv%r z>$R8<7&i#sVSEs@k8Pb%Lm-d^L_808bSvFIoZkNXXk2!lA!CLNbAvI11v(+2@zO0| zDkD!CLxHDx(<+{X4QJCXS8-16;!5bWZknIJ@BBY0?=CKf!;%bh7!RNkM_CP?Z*SD} zXSWp*cerZP>?Kndn!yn4En62_zz}|Y`_`zn_iE>9o+~_;G*9f`tor)@d;Z)lja{Go z&H4QV4m;k;uumf z=j~m8eK|S#u0LBs$%T1E;Gy|1)GjzX zuP#~2edyf3Z@WdNIoBsW0n&$h*yGvo_ONL8+|CEk?n0}Mt+T1@XXB=nnBut*X zpT}9EiYr2C^@SRva@G&Fny$OGW^f(&{zQGFoJ-<2#+pjWrAH-14zT@w&o%Y9!xoM+ z0do0?Tn%%WPDI>W#{^<1EN3_|lS`q$Kk(X2E(f#oF$`xX2m34!W;k&9^5o|iZ=~xn zF#P!PRN87TU)y2Dyu7>*fBw9w_DGvqWvFrTy!?GehD3=)VXGGgt*nr{SX3E(d`7+Q z0n6{N9`D|5-ICZbSN8M%C^a9srK!6!+uPea7IA#7l64eV5TloFVN`u)E#sw}rB=@a zR$ncstn55~{5X$W>hzrqVGrjxOSDPwurV~;JoCOtJ^y?Cfdq!vGDj3R3}*TSXiYVc z>fO^mLH!w1MEKSyR}t5a#}e1CUzg}VzOQ`>x0-n4>sj`OUw+s298Z4p_HAN)z5Laz z(%1IZ{nP6kbQ*RZbw3`rzFmQ1!|vU$GhO~&xWhEf(#pzd_uXS}-@XmoHvMzeH)gH} z{Lf`xeYIM*Ze2lrz5nLDIYtek=T?NCw|g$b$H#XeZ~Mm&9~vzB?u$ClJ72eeVLj`f zt%h4F9$fz$y(esSt3}`cNb@BVzn^69iDQh5vN>^f^5tH+A8v~o86^1HwQJ|Mo@D3x zB(mXc^V>PjBCZy8c5VVJ(SIW&jq6!YbQSa6%`?AxJ<9SoBkP7qCa)R1C-aLu5u32| zCyTzG)>_{`bC^6dGdD)E>|$LKFy*A5lkkCElOvu0jocu(MQiW+2iYZzXI{>AtzXQ` zpmEOYpY00f8M`g)7tg72V7#!nl50W=Eb28Gim1>0&fUaw>7Qxb#dE-X%i!ti=d#Wz Gp$PyTUZGO} literal 0 HcmV?d00001 diff --git a/library/thumbs/barrel_013.png b/library/thumbs/barrel_013.png new file mode 100644 index 0000000000000000000000000000000000000000..1268ffc0588c2ae7f072a8e735f8223558a7c7d7 GIT binary patch literal 1020 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>VBY5G;uumf z=k49S{CxH zop80mN!mK5W`Fg(^IS)k-?{$$w6?H(nf-T#Eo!Ib8m4$NP6%drBEn$F>flFjX7?$% z11tLY`0xF>dG6l73;Tbs-_L!s<>`NMgEuW=2Zb6>dLOv>u<`Oq|I1fizWse9hT-vy z85&&|UY5*}KhD04N#c3r&o5t0wk1zJ`A6--)SEYNiXUv#N4b1OK*!oVsD(VG!SKA z$jQk`sH&2B{`|Se&Pdm5ICJV0*CLHWU%#4G*}jjz_-)!v1|x26ZVNj*x7~O3 zsx{PR@-r}O+rC}!xZ$j`YVY2?J0;hr>Bur6GCJCMYn1EitA`FBcD{MI^5FI7MonA_ zoA>PLS-DbE#nb8YyL*eyuugdHGi&~Q_q}oYwe=5P-{hCzVK`CVo|l`e*q1zK-n^`O zgNBm~4bM3~wQSh6t1D}3S9dq}o%{E#WoGK8F`sx68<)LRN^2_DB$b1YA1_`U`1k4O zPy8$b3=`^28RmUwKbt1}w(RyzVb6X3b^;y@GxwDLc=k-~k;So_Hzm)uJH{J-Jh?!r zYtQr#pFRl{7Zeh_s8l|ZjX0>w!?m<)9)``5|Zj=o1~)o$0>OEWkchi z4hKLIs}G($$tfl-ZfI=WeDdVObCYM!mVQ(Jd*bhiRIW1C7vU+U5%KZvGRHHvMmfLb zU$<`E8DBexO-x^kKUy|d?d_Ytzi$8Uw|&g93Zi4*uFSPW8W; YgAcw8HI3pu3Czw6p00i_>zopr01D!!NdN!< literal 0 HcmV?d00001 diff --git a/library/thumbs/box_001.png b/library/thumbs/box_001.png new file mode 100644 index 0000000000000000000000000000000000000000..8660b45a325d2458fc3fd9f387a1e8763510769c GIT binary patch literal 1727 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 XzR3aqzwR~zrh5iYS3j3^P6U@G=>aSW-L z^Y)H)&|wDwhKr4lwD=SbNZzqmQBk~@sBr61@`lvKU(e-yKRrj+=emd1^wQ%0KfcHv z+9g}d(3{Foz{ZeHFQVN17lZAdz58l@|JhJ4S2F2O-m3k2|DJESZqVWXlxauGgXI&N zJ!BpF6W2R(DdjROZu>ubX7h|sY6aQG_d}!(u%>Y-y;W6Ex}N$#W@=Lbb4fs^v%~?> z6uw0<45v38$=fbn+f#p1#AWAurd9m*vx69QP8P+Vk1V2KXyUv6JF-+ zoPM!B`4z*J`HTl78Rjs?I6gZb&b*`PjK2Y!!G#y<4INC3DL>S6RUa=^sAVudS)r*R zc;N8A%2mD-JUbbrlyAhXWKg=p7OgGr5Nz9|^ITurq2+c0_fqDJo(Dz2ECLVBc3d%G zG-)fC_mU~Y$bG`goXc!L!3dz0Qp!J~U)^W>X7KBK+s&jStOAB=O*zf^6Btddb1A<5 zp!|T*#Mb$Q%^!{vz7I6_woR%1A(+>|9G%{GkL1>%&LpF=94?sJzX0ET~nqKE_ZNVAvCRL^FZELUXTuBdy4~}WtUKho9a#ak z+Vh&A^9};E#hRfOh^PKGJhJ)pF^Sx)hBOJ#Bz`PL# z_|u%T@Z38>=IV2KL_vUZskT2#qtUF^ApJd68>x4pCeyqR;Ir4y zn18ragUVRUEz?IYcAd3n9I*1qS}L*7^e!{E8XHc`x5!hvR=Q#_tJcWsBiHN<; zBt`nArNHu}@v#3g@N#&E0TS!77;~m{9ecI*re>u_1tCJx8u5jSyfwzqh9`P zs=ahHJyTgaJ7*raj`ptDo2VC?%}pi8B%xGz+#VU%`~A7V9tY)!0nZ+;aJ2x#Bljbr zC$W$?%?@RE?6wOrO=`o&KauXc0iL@7|G`p15)2g-wrSQEQNq8>LpBG zio0@+pbahKW@U{Y?gI#&gL?W3omz`gf;~d($a6dXfBp}yM`aK$x*{i>K8!ygOJ%86H zd667+^|>=QCF3}uhskd^0?KVDr^(d6Je4)dYDkK4JM?=RJV*& zM+WQeBmG%G?1=*gRvYcc6hrW!tanJ2)Re*FS@GAV147ULBK z6T6Q8^gJr`YOZvPD|589xfz!xTHh}KlpQ#r+wFBehK5KzGABhLq7-@Hw5IVN)%0w? z2<)y%@H}aIcjmi>@N^VDr5y@JA3t1agqDx#)WhQLqpymyE0#!wbfDlhet1?v?b({p zq^>=I#%5p?MJk9rrlczWLUvXR!Im4WTaLGvW@K~D-Ky6p4^6f8uG7Q)5!Q4A ze91j>r5(X#3Pi*8c}12({qn4A_L#-H%1^rp8!5C>)WdU^4S`aSW-L z^Y*S`P;-KS!^7Uksar1iy^mk!Gx>GKLj&gk4yMMt|M$LUO5CJ>n%~z?KVLpxan16@ z`VPm97%Z3@j0c1WVYq(Ua^3XL7pG4=wQ}iyo+zU`*T0`ffU4n!*ju zbv;7c8*JPCcdJgh$x!|BxLe0T2DP4}26sHBI)4<~urbSU!9C^|=FAPBd4QaD59W#m zT!vFDSlq5yaon4%$#$NB{e;M7Mi~`vmQ&t$@u&JUGip|{6n@K8^4;Ju=t?J{Nu2gVu(at z3!_hzl+)CQ?iFk^LNX_K?_^AywVQX9>tnVVE3bZMXZzrPnB!M}g(&k!F^1=Cw2zY= Z`AJ+!F?E-2o&qK(22WQ%mvv4FO#q&b(&GRC literal 0 HcmV?d00001 diff --git a/library/thumbs/box_007.png b/library/thumbs/box_007.png new file mode 100644 index 0000000000000000000000000000000000000000..169f75d7ef50fd9bca39658d57453f6795ecce04 GIT binary patch literal 1018 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>VBX^C;uumf z=j~np?#m7m$3LncP4@g{R??lPpQo)C7gKZgktfSt+m}u6UVAtd``S#=R6Mg}=AX=G zC*OZ(Ow`?KZE@djW(n)!>-qP?oi>CO>o+_*%5cDtp@4@$hMD2`05Tm}KYaS5qJQ4M zSYKJ=;-r7)7tFuE|5V!Mmw*14_&z ziXSo#E>G^ycVGYf_B*~D#VM(kh62}Tys!Soq1krypTUVTF^$uo{;WRzIC7fh{g2Lk z^ZM=gef_sNIXZ_y=`Fj{?Y8Uk`FVS8eldJ!@yLQtjmebp&YgGZKldf)R?T}JG;QgV zO1;W?{TntFuCQX6#ZhyP`I*Cu>^0}bVrK8%UoY|WYkQC}fvum9Vys`nIUKzZ@*_a=gEf0pj%>(MKe@!!;^xq|<| z3@awV?{AYPw_VI%v6tmW$xfXwwjyRTIr@$-?wI4Y=V#R9qdpD0)=h8ScxC&?DOTR_wx_cV*=h7HKryt`T(oukb|b-@kuPzy8^Fo?(#&SJC0w57Zs* z0u{V{XK*Sz^G1yzTY{-cOF-R~+pNqP7gd`ky#Kg6fkFI-AG7cKIzhGzk<$g7_CMdA x$S`k~;Een4-^*W-`SYqmnxjvcu8I9WV^IySeP@?cHZU_Yc)I$ztaD0e0ss@8s2czP literal 0 HcmV?d00001 diff --git a/library/thumbs/box_008.png b/library/thumbs/box_008.png new file mode 100644 index 0000000000000000000000000000000000000000..622169a2ba7d6e1134076b6e4254e6876d3cd88f GIT binary patch literal 636 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U^4S`aSW-L z^Y*S`P;-KS!^7Uksar1iy^mk!Gx>GKLj&gk4yMMt|M$LUO5CJ>n%~z?KVLpxan16@ z`VPm97%Z3@j0c1WVYq(Ua^3XL7pG4=wQ}iyo+zU`*T0`ffU4n!*ju zbv;7c8*JPCcdJgh$x!|BxLe0T2DP4}26sHBI)4<~urbSU!9C^|=FAPBd4QaD59W#m zT!vFDSlq5yaon4%$#$NB{e;M7Mi~`vmQ&t$@u&JUGip|{6n@K8^4;Ju=t?J{Nu2gVu(at z3!_hzl+)CQ?iFk^LNX_K?_^AywVQX9>tnVVE3bZMXZzrPnB!M}g(&k!F^1=Cw2zY= Z`AJ+!F?E-2o&qK(22WQ%mvv4FO#q&b(&GRC literal 0 HcmV?d00001 diff --git a/library/thumbs/box_009.png b/library/thumbs/box_009.png new file mode 100644 index 0000000000000000000000000000000000000000..c42eef5fb0371e85c97e566ac0e7981938d635bf GIT binary patch literal 636 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U^4S`aSW-L z^Y*Tx-(d#Y}-h?uR{(EojVe*E|Qua|p&KV~$vOG~f}BK;b{ef@=~n4bo?K@vv<;Xw`QA+Db2# zeXKG%)f|`qYFbQwV{X6b0+Wg8bcJG$r%V}IZ2}YZ+cq(pggSSe5On@&?9e7&xSHqV zG=7Do&ILsr>9dp?jtLy|6?I7F*go3`$o?1pPcy-#%{g4(c}}qYfv7fd8|e@R!F{@G z9x`R{BsTIcSlHgczhGfoLlu`q;TK`&X*XgTwEH4jzJ1~4>Gj3pv zc0N({S(ztc^2~pVSB(#_8QU7}V6fh?jYCwakg@E7zSFVE|Kej9EW{bkF+AX*HSvyH Yd1>yZq_^+wfys%%)78&qol`;+0L?$%d;kCd literal 0 HcmV?d00001 diff --git a/library/thumbs/box_010.png b/library/thumbs/box_010.png new file mode 100644 index 0000000000000000000000000000000000000000..5c79a75c439604ef84196c129e93a43be68a280d GIT binary patch literal 983 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V4mpd;uumf z=j~m8|Jw#K?H}V;-CeO3NI3t&mskTkf#VXV#L;e{0J2 zop*QAUZXYf&ylUXLN|Z+&)?1#xj8tV!LOU)h+u;SlYl$JBMt`{#tvnMLKcNSx(e<% z$@<~Xmk-Yhe^`D?UHSjw3Nz+EpFSm}rN!_2FZH`<(&u+q#0z?o-=*2V$e4D7=fn4p z_crNd*ZAFSh>wX0sr!3)`R#kxO<7N#VYvM^dwJxvw{p)b_kG{9i&39DUHGZQB+dh$ zo8_~tUzAQs_Rwp%@bl--2kTdgISXYoY`$K4K(YNAXRVKE+miH#O^Y)7*_xB*K3mtK8?`-4-{m~|`SReq|9|A({^m;!GIp4} zF}*cl-t%dxGj;d>mHAu!b?OOk%7^4)%{keM` z8FatQU^4S`aSW-L z^Y*Tx-(d#Y}-h?uR{(EojVe*E|Qua|p&KV~$vOG~f}BK;b{ef@=~n4bo?K@vv<;Xw`QA+Db2# zeXKG%)f|`qYFbQwV{X6b0+Wg8bcJG$r%V}IZ2}YZ+cq(pggSSe5On@&?9e7&xSHqV zG=7Do&ILsr>9dp?jtLy|6?I7F*go3`$o?1pPcy-#%{g4(c}}qYfv7fd8|e@R!F{@G z9x`R{BsTIcSlHgczhGfoLlu`q;TK`&X*XgTwEH4jzJ1~4>Gj3pv zc0N({S(ztc^2~pVSB(#_8QU7}V6fh?jYCwakg@E7zSFVE|Kej9EW{bkF+AX*HSvyH Yd1>yZq_^+wfys%%)78&qol`;+0L?$%d;kCd literal 0 HcmV?d00001 diff --git a/library/thumbs/box_012.png b/library/thumbs/box_012.png new file mode 100644 index 0000000000000000000000000000000000000000..f142116758aa7033fe110e3eb5667cb86de045dd GIT binary patch literal 637 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U^4e~aSW-L z^Y)Hm5R;>b>&5n`X(ktZzROF^+9BJk;m(!VkoD~UzVAoac;8>!GI>LFRpsx#4RYJ; z8n&e}6tFR*)12s!mVYpBpPhZ!-@Bh*|9&v}%Es9rw>Mqqt6eF1I79xxijCJ_$+^yE z*e3TYDE5$sw8Qp;=T}O#>V z@_MSl>krkzc8t^VBn!TM6n0=ZS?Vlw%%36rz{28irqmy{M}!kzUOBMkqi_Pl$&U*= oAFChGcBogJ&+v=darK>f=SJH?qvK%#!1To6>FVdQ&MBb@0Lmld{r~^~ literal 0 HcmV?d00001 diff --git a/library/thumbs/box_013.png b/library/thumbs/box_013.png new file mode 100644 index 0000000000000000000000000000000000000000..f142116758aa7033fe110e3eb5667cb86de045dd GIT binary patch literal 637 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U^4e~aSW-L z^Y)Hm5R;>b>&5n`X(ktZzROF^+9BJk;m(!VkoD~UzVAoac;8>!GI>LFRpsx#4RYJ; z8n&e}6tFR*)12s!mVYpBpPhZ!-@Bh*|9&v}%Es9rw>Mqqt6eF1I79xxijCJ_$+^yE z*e3TYDE5$sw8Qp;=T}O#>V z@_MSl>krkzc8t^VBn!TM6n0=ZS?Vlw%%36rz{28irqmy{M}!kzUOBMkqi_Pl$&U*= oAFChGcBogJ&+v=darK>f=SJH?qvK%#!1To6>FVdQ&MBb@0Lmld{r~^~ literal 0 HcmV?d00001 diff --git a/library/thumbs/box_014.png b/library/thumbs/box_014.png new file mode 100644 index 0000000000000000000000000000000000000000..f142116758aa7033fe110e3eb5667cb86de045dd GIT binary patch literal 637 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U^4e~aSW-L z^Y)Hm5R;>b>&5n`X(ktZzROF^+9BJk;m(!VkoD~UzVAoac;8>!GI>LFRpsx#4RYJ; z8n&e}6tFR*)12s!mVYpBpPhZ!-@Bh*|9&v}%Es9rw>Mqqt6eF1I79xxijCJ_$+^yE z*e3TYDE5$sw8Qp;=T}O#>V z@_MSl>krkzc8t^VBn!TM6n0=ZS?Vlw%%36rz{28irqmy{M}!kzUOBMkqi_Pl$&U*= oAFChGcBogJ&+v=darK>f=SJH?qvK%#!1To6>FVdQ&MBb@0Lmld{r~^~ literal 0 HcmV?d00001 diff --git a/library/thumbs/box_015.png b/library/thumbs/box_015.png new file mode 100644 index 0000000000000000000000000000000000000000..f142116758aa7033fe110e3eb5667cb86de045dd GIT binary patch literal 637 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U^4e~aSW-L z^Y)Hm5R;>b>&5n`X(ktZzROF^+9BJk;m(!VkoD~UzVAoac;8>!GI>LFRpsx#4RYJ; z8n&e}6tFR*)12s!mVYpBpPhZ!-@Bh*|9&v}%Es9rw>Mqqt6eF1I79xxijCJ_$+^yE z*e3TYDE5$sw8Qp;=T}O#>V z@_MSl>krkzc8t^VBn!TM6n0=ZS?Vlw%%36rz{28irqmy{M}!kzUOBMkqi_Pl$&U*= oAFChGcBogJ&+v=darK>f=SJH?qvK%#!1To6>FVdQ&MBb@0Lmld{r~^~ literal 0 HcmV?d00001 diff --git a/library/thumbs/box_016.png b/library/thumbs/box_016.png new file mode 100644 index 0000000000000000000000000000000000000000..f142116758aa7033fe110e3eb5667cb86de045dd GIT binary patch literal 637 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U^4e~aSW-L z^Y)Hm5R;>b>&5n`X(ktZzROF^+9BJk;m(!VkoD~UzVAoac;8>!GI>LFRpsx#4RYJ; z8n&e}6tFR*)12s!mVYpBpPhZ!-@Bh*|9&v}%Es9rw>Mqqt6eF1I79xxijCJ_$+^yE z*e3TYDE5$sw8Qp;=T}O#>V z@_MSl>krkzc8t^VBn!TM6n0=ZS?Vlw%%36rz{28irqmy{M}!kzUOBMkqi_Pl$&U*= oAFChGcBogJ&+v=darK>f=SJH?qvK%#!1To6>FVdQ&MBb@0Lmld{r~^~ literal 0 HcmV?d00001 diff --git a/library/thumbs/box_017.png b/library/thumbs/box_017.png new file mode 100644 index 0000000000000000000000000000000000000000..f142116758aa7033fe110e3eb5667cb86de045dd GIT binary patch literal 637 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U^4e~aSW-L z^Y)Hm5R;>b>&5n`X(ktZzROF^+9BJk;m(!VkoD~UzVAoac;8>!GI>LFRpsx#4RYJ; z8n&e}6tFR*)12s!mVYpBpPhZ!-@Bh*|9&v}%Es9rw>Mqqt6eF1I79xxijCJ_$+^yE z*e3TYDE5$sw8Qp;=T}O#>V z@_MSl>krkzc8t^VBn!TM6n0=ZS?Vlw%%36rz{28irqmy{M}!kzUOBMkqi_Pl$&U*= oAFChGcBogJ&+v=darK>f=SJH?qvK%#!1To6>FVdQ&MBb@0Lmld{r~^~ literal 0 HcmV?d00001 diff --git a/library/thumbs/box_018.png b/library/thumbs/box_018.png new file mode 100644 index 0000000000000000000000000000000000000000..9dcee22bdc479abae9dbaa7f86fd01594aa57bd8 GIT binary patch literal 666 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U<&bcaSW-L z^Y)Hm&|wE2hrojck{Sz|e@~y1xr0wc(s&+2XY<=NOa8~Z9#5*B(mM0WyN^G=8n=|% z|6-6j&G3MS;T(MkIXC%)eEIh8@7K?dyT>+9W%+Ku`C@kR--Or#EgG`h_loFt2{FDg zeWSXIeWF>zMCbiWf<@lyH&$EpZY~mF+t7H*QQ`n!UG>jXQm(hG9bDd3ABc)<`e5JK zoYHw4$p>s7*E1}gVAY_rUv=(MK8N4N3>M4{#tn={cXPpBy~I8tGq!As9m89&=hwL~ z%zejrvu>IYql=7u%(nLHjx!n5+%~K&VszQTyDh}1p;K^8xK#tk_JdJRnP-G_C_I+D z%_8v7>_>kXqmPl>gpWRgC+|z|XywU2c*^Qe$1>@Jyf264|Nhm_+|T$dZ!hmAetRY{ zhac>NRxEH!8dGkMF~DTei^LAA%2f4YnUOTVe5s;{)4_XzM+z4)+%@|0y_Y zw!-E|r}Tp(mll>u)U`-IShIhdT literal 0 HcmV?d00001 diff --git a/library/thumbs/box_019.png b/library/thumbs/box_019.png new file mode 100644 index 0000000000000000000000000000000000000000..9dcee22bdc479abae9dbaa7f86fd01594aa57bd8 GIT binary patch literal 666 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U<&bcaSW-L z^Y)Hm&|wE2hrojck{Sz|e@~y1xr0wc(s&+2XY<=NOa8~Z9#5*B(mM0WyN^G=8n=|% z|6-6j&G3MS;T(MkIXC%)eEIh8@7K?dyT>+9W%+Ku`C@kR--Or#EgG`h_loFt2{FDg zeWSXIeWF>zMCbiWf<@lyH&$EpZY~mF+t7H*QQ`n!UG>jXQm(hG9bDd3ABc)<`e5JK zoYHw4$p>s7*E1}gVAY_rUv=(MK8N4N3>M4{#tn={cXPpBy~I8tGq!As9m89&=hwL~ z%zejrvu>IYql=7u%(nLHjx!n5+%~K&VszQTyDh}1p;K^8xK#tk_JdJRnP-G_C_I+D z%_8v7>_>kXqmPl>gpWRgC+|z|XywU2c*^Qe$1>@Jyf264|Nhm_+|T$dZ!hmAetRY{ zhac>NRxEH!8dGkMF~DTei^LAA%2f4YnUOTVe5s;{)4_XzM+z4)+%@|0y_Y zw!-E|r}Tp(mll>u)U`-IShIhdT literal 0 HcmV?d00001 diff --git a/library/thumbs/box_020.png b/library/thumbs/box_020.png new file mode 100644 index 0000000000000000000000000000000000000000..2a77c24ce52c652ad7800de39e393eabc70668d1 GIT binary patch literal 633 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U^4b}aSW-L z^Y*TxAG0HmLm+#hq{f2g-_xg<#ISc|9LW$|5I8CJ_W%9U(uC?OJItCcAHIA#o#XYp z7tAjr*cj3o3TRAxcb9*_A^$#q|GzgMf0iDfEc5=#PyeI;Okar3U7R6!U@P0+Rn8Jm znJltyXlu1jv}@pE{_p=xA*i0~g~6XULF@}|8#7oiH{c|^r5pU2zE3n`czc-P0T07D zh6k6}Cj6`}(cZMb?@K(F?5bL=6Lvoo-?Ck>1IwOb33%$ac9{>uE?(vxjb67;L3M#8 zy;uVtZhy^{K4)sB#FnXV9|mka$iLL=fX-#|TuQmg_S&nH;%+Aq2&x}o%~_QKl_+QXz1%FZ^H%GS9&<~7)zB3&X^ z$D-2E@s(p2e_cj3YtCApDMo)dF0jq`$*;Umk-6iCBxCLe=4V_tX0iLp*0EGDzu?); gSdvENIQq^iC+)lUP%Be7FfB27y85}Sb4q9e0Gf){ZvX%Q literal 0 HcmV?d00001 diff --git a/library/thumbs/box_021.png b/library/thumbs/box_021.png new file mode 100644 index 0000000000000000000000000000000000000000..8af5ef0a8bc9d6f26eac2cfca47a92ace1b7f956 GIT binary patch literal 934 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U{3IKaSW-L z^Y-rUqRS2vZ4do#XOG>V z*I!q?{<`aXqRo_22En<0>Px45UG$5KQRhL4m92dqzx{U!j)X;@f6n<^(5}!Rc<%Y< z&yTAQ_m_S1X1VaXXlIMWlMt4I<4=n!>ugGX1S%^w%zk#^H;-i56onnqE8abvUI$cY z5apS^--ThbtJF8!H;hqoyd|e@&aYNrDKJhA*vVhc!Suo~?Zm}%b()WD4@@g(TD_|3 zbBtH!x2FnBVGMg&4AR@>O*xn@1Tz$$`=zH)BCKc zD%*eDlrPhir69OoXvQZ){YMY7fi8MF+2P5->znSfY+JimGv~j~f^5?j^X+B$9=7Yx zT+5)j^qleD_lpz$#&A04Z{k{z{p0NQU3o8hBx}y?=em|Ad|>hB_$q1lmFYFJeHr@O z?$_;YIeRxC(X27LNOGSG!}>34g;bRq+V`@31sc zZ^&p~-x|d@>srO()vIQ0VeGN0(JWxN^eO+(6j6mwAC@xIt7NTMyI)_R_QTc-+76ee zF>9v&2y$ffxXrU{$wP0}Sf*Rk_Nh!U`wVhW^z10{!9xH1A zwI=B^<|ebfGO9V5!J6?%-fhnY9)~LF#@i3F&89bOdv+kUU0-rNLq*bVrU#rfNWORK YJN`J8N>7tm4a|59p00i_>zopr07Ny7)c^nh literal 0 HcmV?d00001 diff --git a/library/thumbs/box_022.png b/library/thumbs/box_022.png new file mode 100644 index 0000000000000000000000000000000000000000..8af5ef0a8bc9d6f26eac2cfca47a92ace1b7f956 GIT binary patch literal 934 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U{3IKaSW-L z^Y-rUqRS2vZ4do#XOG>V z*I!q?{<`aXqRo_22En<0>Px45UG$5KQRhL4m92dqzx{U!j)X;@f6n<^(5}!Rc<%Y< z&yTAQ_m_S1X1VaXXlIMWlMt4I<4=n!>ugGX1S%^w%zk#^H;-i56onnqE8abvUI$cY z5apS^--ThbtJF8!H;hqoyd|e@&aYNrDKJhA*vVhc!Suo~?Zm}%b()WD4@@g(TD_|3 zbBtH!x2FnBVGMg&4AR@>O*xn@1Tz$$`=zH)BCKc zD%*eDlrPhir69OoXvQZ){YMY7fi8MF+2P5->znSfY+JimGv~j~f^5?j^X+B$9=7Yx zT+5)j^qleD_lpz$#&A04Z{k{z{p0NQU3o8hBx}y?=em|Ad|>hB_$q1lmFYFJeHr@O z?$_;YIeRxC(X27LNOGSG!}>34g;bRq+V`@31sc zZ^&p~-x|d@>srO()vIQ0VeGN0(JWxN^eO+(6j6mwAC@xIt7NTMyI)_R_QTc-+76ee zF>9v&2y$ffxXrU{$wP0}Sf*Rk_Nh!U`wVhW^z10{!9xH1A zwI=B^<|ebfGO9V5!J6?%-fhnY9)~LF#@i3F&89bOdv+kUU0-rNLq*bVrU#rfNWORK YJN`J8N>7tm4a|59p00i_>zopr07Ny7)c^nh literal 0 HcmV?d00001 diff --git a/library/thumbs/box_023.png b/library/thumbs/box_023.png new file mode 100644 index 0000000000000000000000000000000000000000..2a77c24ce52c652ad7800de39e393eabc70668d1 GIT binary patch literal 633 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U^4b}aSW-L z^Y*TxAG0HmLm+#hq{f2g-_xg<#ISc|9LW$|5I8CJ_W%9U(uC?OJItCcAHIA#o#XYp z7tAjr*cj3o3TRAxcb9*_A^$#q|GzgMf0iDfEc5=#PyeI;Okar3U7R6!U@P0+Rn8Jm znJltyXlu1jv}@pE{_p=xA*i0~g~6XULF@}|8#7oiH{c|^r5pU2zE3n`czc-P0T07D zh6k6}Cj6`}(cZMb?@K(F?5bL=6Lvoo-?Ck>1IwOb33%$ac9{>uE?(vxjb67;L3M#8 zy;uVtZhy^{K4)sB#FnXV9|mka$iLL=fX-#|TuQmg_S&nH;%+Aq2&x}o%~_QKl_+QXz1%FZ^H%GS9&<~7)zB3&X^ z$D-2E@s(p2e_cj3YtCApDMo)dF0jq`$*;Umk-6iCBxCLe=4V_tX0iLp*0EGDzu?); gSdvENIQq^iC+)lUP%Be7FfB27y85}Sb4q9e0Gf){ZvX%Q literal 0 HcmV?d00001 diff --git a/library/thumbs/box_024.png b/library/thumbs/box_024.png new file mode 100644 index 0000000000000000000000000000000000000000..0d63c2de451517b02dac9f13f708bfd9b27fd22e GIT binary patch literal 626 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>VAAn)aSW-L z^Y+d`ze5264i^vpFy1s_?w|jcmP*&Vi$9sUj5BJ*Qsd(Hky-}%)#UO-h;h_)8dsrVx9$;G)^H-3qA)TRsjR8h1Wm@s&baffHxI-hT@)BI|Xp?CW5!meidQ@IT*dH(<4Nsn0kg>A;IWa$w3I+w)^N^;_k z?Fadn<}*gE4`rCU?u>h8Dff)u>!S~SEcsWtHgDoqK82)Omb+|r*XX bi96;F+M$m_cZdZ56A^=_tDnm{r-UW|4@TaM literal 0 HcmV?d00001 diff --git a/library/thumbs/box_025.png b/library/thumbs/box_025.png new file mode 100644 index 0000000000000000000000000000000000000000..0d63c2de451517b02dac9f13f708bfd9b27fd22e GIT binary patch literal 626 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>VAAn)aSW-L z^Y+d`ze5264i^vpFy1s_?w|jcmP*&Vi$9sUj5BJ*Qsd(Hky-}%)#UO-h;h_)8dsrVx9$;G)^H-3qA)TRsjR8h1Wm@s&baffHxI-hT@)BI|Xp?CW5!meidQ@IT*dH(<4Nsn0kg>A;IWa$w3I+w)^N^;_k z?Fadn<}*gE4`rCU?u>h8Dff)u>!S~SEcsWtHgDoqK82)Omb+|r*XX bi96;F+M$m_cZdZ56A^=_tDnm{r-UW|4@TaM literal 0 HcmV?d00001 diff --git a/library/thumbs/box_026.png b/library/thumbs/box_026.png new file mode 100644 index 0000000000000000000000000000000000000000..4f3e962e55a95f0393308020723f6e18cdf131ef GIT binary patch literal 1036 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U_R#Q;uumf z=k49SezyZ8j(xnYc7jp3RW;eIO=+u#Y?sJN@8faq)BE;L>Wi(Cox92_RNFgJYh!`1 z4~MYjM|Z26pWHnR3XA;iJ^$(Hk4Sq{Cm2s2|JhhH=Idgcp$-G!N$%-1vR7$@iDFPqx0zkVI>+)hirOZ$6P^8Zlda9qK+;BCYD#inebj3t&2W@m6Z zomDEB-<q$)1<5e93&n^QE?7c}t?ky4Pa)r;*zp6Ml8SYv4q{~yNL{{k<&yO7bGyKCQ69)R|#s${hh<;kP^Af;PquZ$V=857zLCki$`YdkLtH2e1K%+#y%R64&@-LCasy)UkqgI(O= z@3#EP193tQGRKQ*YGQ7dm6U|+*`N90|DRuq@9k@HN_}R__%Qh2eXq}7A#?oF`|r_j zub0jacf9}o>BoU^(mQ;uumf z=k1-d`Hx*>j(wc}c8^JI@X~!TRqI(q6+Uiquw*!$*#BptjD-S=#~a2aYa>*`cIVvu zC)qn|nct(2Jncu-3g=v_{9N*^(k|$#n%ADqv)11iI(^Xky}gms2B+K13cDp3EZ7+O z7#orq9?*d)wT(UD^6c>Q>T>&kA6!1oEy=&3Wc7_lE#VKVMFbdij6S;F%?m%buVz!z zMH`)a^2}?JKDoMl`}Qqt)13BWzZt?ZLk(?J;@BTNZdp5PJL8({Pqp2rZZljvxtwDU z&w=HfQRe#0E1LBuR*E<13kQq8XIe3te`BR+1HW*P`Ff@e2fx19!+GFq=Z2%R8FGp& z?ev)nDw%RVD>bw~crL$hvu#VOMZN2Uw_EQ^D0^vI+SzTh>T|V}Z{YQu)Dh%$$Y4s? zYSlyuFA>*m?OO%d4A|FhJyK}%amU>}ZvhrD_pLH)0gjVYj3jtec$_arbsOfdUv#>z zec|r*pm%+H*v!q%i%LsX3uU||+JsmdO=h31*}Q+_M#GQ4;_H9iyW}DM{EJvZEPDe` z!TRfyHM&%~7S#yP|9dVeWBYC4_tsWcQKu`ebw)QdUCdC~8>c`2$)@>{QoP@-F?jPkd&&;Hb%y{pWp0fhY67rFQk7p7a0P=||10XHI5Z za~T+Gmrmcfbt~$i$16s0hpE2bpFVvWbUM>)c5&}XwH*wrEG#WQrpedKKWD1=`>5vO zcfR(+m!5b3{@UE!JafHvo$w2*=S&gLzO4Q6)K|@O(#q$0dU|Pk%TGP||M&XlSInDF z>|_W#D-m23R!~)C1@zJM*G$j%?UUM{2})nf^B#pf6*2U^TvMFaqiLIQ`{vDww{J%a z{`|kke)biuO*iy?soSL^=zeT4hY;~yB!t&a%gr150cE7diW4`6@6l(Zh&iVWK zQ~6-wHB%-51HIQxdH;*WJ~GD_ZJk%~|M>j+z1KcoJNr`CK{PeHe3Hsf^XA9*`9(^t zWM6*&t@P;rk@P+M3p9L#CHdNa9_jXYxi3~zwb#wr&ayfubx!HWUpfnN?%PQ9e$sVN z+kNS}#N_yIZ$C}l_xZq&_e;hrSHAvz9Jk+M`gc2<)yW-U6_N+m zY~5e6`MG<1P4WBRHP2HSQjgj1n0fSj^x^3r|1~S@n!TO9F@%?y;W)zqLxut#1{s<# b|1%XkG_5XG+WQMw$}xDl`njxgN@xNAUuR1~ literal 0 HcmV?d00001 diff --git a/library/thumbs/box_028.png b/library/thumbs/box_028.png new file mode 100644 index 0000000000000000000000000000000000000000..4f3e962e55a95f0393308020723f6e18cdf131ef GIT binary patch literal 1036 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U_R#Q;uumf z=k49SezyZ8j(xnYc7jp3RW;eIO=+u#Y?sJN@8faq)BE;L>Wi(Cox92_RNFgJYh!`1 z4~MYjM|Z26pWHnR3XA;iJ^$(Hk4Sq{Cm2s2|JhhH=Idgcp$-G!N$%-1vR7$@iDFPqx0zkVI>+)hirOZ$6P^8Zlda9qK+;BCYD#inebj3t&2W@m6Z zomDEB-<q$)1<5e93&n^QE?7c}t?ky4Pa)r;*zp6Ml8SYv4q{~yNL{{k<&yO7bGyKCQ69)R|#s${hh<;kP^Af;PquZ$V=857zLCki$`YdkLtH2e1K%+#y%R64&@-LCasy)UkqgI(O= z@3#EP193tQGRKQ*YGQ7dm6U|+*`N90|DRuq@9k@HN_}R__%Qh2eXq}7A#?oF`|r_j zub0jacf9}o>BoU^(mQ;uumf z=k1-d`Hx*>j(wc}c8^JI@X~!TRqI(q6+Uiquw*!$*#BptjD-S=#~a2aYa>*`cIVvu zC)qn|nct(2Jncu-3g=v_{9N*^(k|$#n%ADqv)11iI(^Xky}gms2B+K13cDp3EZ7+O z7#orq9?*d)wT(UD^6c>Q>T>&kA6!1oEy=&3Wc7_lE#VKVMFbdij6S;F%?m%buVz!z zMH`)a^2}?JKDoMl`}Qqt)13BWzZt?ZLk(?J;@BTNZdp5PJL8({Pqp2rZZljvxtwDU z&w=HfQRe#0E1LBuR*E<13kQq8XIe3te`BR+1HW*P`Ff@e2fx19!+GFq=Z2%R8FGp& z?ev)nDw%RVD>bw~crL$hvu#VOMZN2Uw_EQ^D0^vI+SzTh>T|V}Z{YQu)Dh%$$Y4s? zYSlyuFA>*m?OO%d4A|FhJyK}%amU>}ZvhrD_pLH)0gjVYj3jtec$_arbsOfdUv#>z zec|r*pm%+H*v!q%i%LsX3uU||+JsmdO=h31*}Q+_M#GQ4;_H9iyW}DM{EJvZEPDe` z!TRfyHM&%~7S#yP|9dVeWBYC4_tsWcQKu`ebw)QdUCdC~8>c`2$)@>{QoP@-F?jPkd&&;Hb%y{pWp0fhY67rFQk7p7a0P=||10XHI5Z za~T+Gmrmcfbt~$i$16s0hpE2bpFVvWbUM>)c5&}XwH*wrEG#WQrpedKKWD1=`>5vO zcfR(+m!5b3{@UE!JafHvo$w2*=S&gLzO4Q6)K|@O(#q$0dU|Pk%TGP||M&XlSInDF z>|_W#D-m23R!~)C1@zJM*G$j%?UUM{2})nf^B#pf6*2U^TvMFaqiLIQ`{vDww{J%a z{`|kke)biuO*iy?soSL^=zeT4hY;~yB!t&a%gr150cE7diW4`6@6l(Zh&iVWK zQ~6-wHB%-51HIQxdH;*WJ~GD_ZJk%~|M>j+z1KcoJNr`CK{PeHe3Hsf^XA9*`9(^t zWM6*&t@P;rk@P+M3p9L#CHdNa9_jXYxi3~zwb#wr&ayfubx!HWUpfnN?%PQ9e$sVN z+kNS}#N_yIZ$C}l_xZq&_e;hrSHAvz9Jk+M`gc2<)yW-U6_N+m zY~5e6`MG<1P4WBRHP2HSQjgj1n0fSj^x^3r|1~S@n!TO9F@%?y;W)zqLxut#1{s<# b|1%XkG_5XG+WQMw$}xDl`njxgN@xNAUuR1~ literal 0 HcmV?d00001 diff --git a/library/thumbs/box_030.png b/library/thumbs/box_030.png new file mode 100644 index 0000000000000000000000000000000000000000..8423ddbadc1905f9c468d9ae97876364376139ae GIT binary patch literal 662 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U<&YbaSW-L z^Y+e0KPE>Jw?xBzT&-f4PX3-g#l*y>CrsjiYuL@ZGk?$jtSX`+BK+>=83)7F*T46l zS5LIv9@lWoh{1xn!I-v0b>`lNX?(x$9{s)j?6!+uw<0I5>)I>#L*iwi0@IK45873Z z3DmRA$ojGJ5%Y|oB%h0nDttLv8yU}-{@Jo3iFrnF5X(eH72b@ziHtgms+)E&1hH+N zvV&pT6oKdv22SS4s1OF-kbXV2hF8rQs%j0>w2q4lIy`0EA|~j-zsfDbu3=Stjs7Y2 z1;-^A<}e|KE45i$2A+AQP-^D$j!NwcEab zovSU`uq>H@x$k)LYgL_N3~XzzzrN-j;j@!L>+O2cDclK~{dvrxPNogg8n+#GMjtx& z{-x!ca{G60SAKf(Rq5NL6+4}G@O`|OUL`7h;N%s>5Q$guQ*JXwc}oB3WV|!c>c`|4 z@r-gD@4NXNz8__KaM|83hhh7k+->*Q8(wnmvSI1_8~bj)$3jLP$`GxMU}H$9J`pdtp{(BFn{zBMp)q*6`njxgN@xNAHy7^{ literal 0 HcmV?d00001 diff --git a/library/thumbs/box_031.png b/library/thumbs/box_031.png new file mode 100644 index 0000000000000000000000000000000000000000..73079bda38f32418636e4e4d5cf701a45bed26de GIT binary patch literal 654 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>VDj*EaSW-L z^Y*T75R;>T!^5MWv{3+; z`FhWY@{8sRBG?$x843n~_Z-Buk6d9Eb((gxzDa}MoDwWqX*wF zsTTOMu~n9ro%o8uRvW?y?pc86ca2ZC(lT|@3LJvBQpM_#~oZ4HC< zb*_cC)-(Dr{MPGT7{v1Q97BEKOUs3qA{llv@zopr095ns>;M1& literal 0 HcmV?d00001 diff --git a/library/thumbs/shell_001.png b/library/thumbs/shell_001.png new file mode 100644 index 0000000000000000000000000000000000000000..5cd503324d269e9331c16c547d0416f874f69b53 GIT binary patch literal 590 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>VB+v}aSW-L z^Y+$WKWRq^hl`5uA2o?AQGOpEbm@aaUQXmD4?$NIE}i|S7ubHcY53|{T%NY&b@%Dj zuYU_(+kTTdWgXK2QHFI41*{F)3^9xkxER72c91J%Vb!qv_Uyv)YUApjl{Xmv#Z_1` znKk?gW3Vu4IKHjstAqmc31+>9rRuSFSa&ddS`V_PkL!VI`kpfW1xzRYgDkgDYq&n= z?Iqg=PKAE3i#izY6)n^L&Y;v_vlisc+cgaDEl;;rA9%)mViP`>-Y#K~|7e>3I-bQ` z)?pslTe(&Z@9pdAI`98DWd;`G_FI1WjbKTYvm-hn028K;*7z$h%@^7AMeOu3?(qI_3eZi?m{fw+1f}Ve_{Khf=)uT_Z ye${;wnE!U={z^~(fAT2|l@|o55YE^lC_X#F{bwLQ8!s?{FnGH9xvXU@G=>aSW-L z^Y+&MtV0134j;4M>g{WKkifn>a#zWlTT7GYZ%Lm1=*1%;0ofXc@YW^GH;&nBb{>tH zU0gRi;Q@31_wFOt5-d(NZOBXFU$BFR;T*#Q8WDW52TF|iE}yjcCK0%hS-_& zt_0=_(-;pZGFy~B3BJx?#PHXE!6JrXzwFl|rVZQ*=-&)dcp!1!VY^Xn488>z{b$d@nFu}e?LFgHF~b&S8CY(yZzL48#~+hgh{WPITFg5&ZKSL z5TnO^f4YjN$E1|^vzG1dwRM)tp78yKU{an^LB{Ts5 Dfmj%5 literal 0 HcmV?d00001 diff --git a/library/thumbs/shell_003.png b/library/thumbs/shell_003.png new file mode 100644 index 0000000000000000000000000000000000000000..e6838ed9d5452244eae40d25ece64f389839d511 GIT binary patch literal 631 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U^4V{aSW-L z^Y+gAyh8yp?jKJZU1jNa4mCI^Q_XYciCk$BTj#+A0Uua8J}ozXT@-ok)bH$~bH^vn z%D*((Y1XBaNjtM9ZPJVz^^16xBoZ$sV7_X*4= zCMFv&STHvjGgzcBJbC|T{{+TA?NY69Yi0BpUiI&_+riM5v(Ij^x=1?1%$FrnwhJv{ z7@mLL`Ta)Se*GOOG6jqwp;xPO{{9OrIBD^KsiLyBd!B*T4u&r$7#{F2@QEL|(5vvs zS1E?Ux$k)LmzGC73dMWlz@|wiF`U21tTe}OxykIab@uXn?N>~C&6_knO`ad*_4%jG z)zY{94j(080g-ZRTkpJpIgBYh4Cfdgy!&1aHtew|!#Qo3k^_SC*$o=bye;bnE7Y6r z4OWxPP~dyn#a{!c4XhVV7?sAlgM|widG;!I{P?#37zdAR*}pFSt*`L$Ncjaujvt~6 i+}Rk?8474Z-1m*m`1&Vfz6CHPF?hQAxvXU^4V{aSW-L z^Y+gAyh8yp?jKJZU1jNa4mCI^Q_XYciCk$BTj#+A0Uua8J}ozXT@-ok)bH$~bH^vn z%D*((Y1XBaNjtM9ZPJVz^^16xBoZ$sV7_X*4= zCMFv&STHvjGgzcBJbC|T{{+TA?NY69Yi0BpUiI&_+riM5v(Ij^x=1?1%$FrnwhJv{ z7@mLL`Ta)Se*GOOG6jqwp;xPO{{9OrIBD^KsiLyBd!B*T4u&r$7#{F2@QEL|(5vvs zS1E?Ux$k)LmzGC73dMWlz@|wiF`U21tTe}OxykIab@uXn?N>~C&6_knO`ad*_4%jG z)zY{94j(080g-ZRTkpJpIgBYh4Cfdgy!&1aHtew|!#Qo3k^_SC*$o=bye;bnE7Y6r z4OWxPP~dyn#a{!c4XhVV7?sAlgM|widG;!I{P?#37zdAR*}pFSt*`L$Ncjaujvt~6 i+}Rk?8474Z-1m*m`1&Vfz6CHPF?hQAxvXU<&ngaSW-L z^Y-q3ze52M4j-@mFfus6R#;ea#nHSr(M@dHCyqbd{0^}uTP`?xKlRW8gIa?fw|5tVaKkJ`rX5dZeSeBLuq-HJ zV@PKx01>);?ap5~JS7~u-TuOPX2Xdxey*% z^w0k`gVdX{-7f?u88)!3zN%H#l48L4#gcEqoBxq)Tnn@>{hOc4R*<&;zI*=!5v>Nj z+XpUx_HOcg$F9XN7w9JD6%l&VFDk2m99wwc_3!jUp6{6T7_Le($QU(zt*ZSN6DYzs z`N(PZ#hkA%UGKkqdtd&~Q$Oqvuok?ntB>MXp}QdWCr|-g_)>n!&KD?Qv%AM1T3oHg5bAE^T#Hb8FZww8H9%*aBs6 e0MVA%k+1bBHGQl8`%A#o#^CAd=d#Wzp$Py0PVjO7 literal 0 HcmV?d00001 diff --git a/library/thumbs/shell_006.png b/library/thumbs/shell_006.png new file mode 100644 index 0000000000000000000000000000000000000000..a859b933f19986696988de1e7a6ad0956d8c48ca GIT binary patch literal 646 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U~=$uaSW-L z^Y)H@c2l54+sES@(>@w=u!+aq4inSWK4kE#wO6b=tl8J);Qk#uPWCw;zURJUUHp}z z!#ge3b3|pA$N4F)X@A3bDwUytjUk=-#0!RFixYd?55JLIxqJq)4;Oxb<98AKcEj2SF^7`Df}U2>d3jbW-JgNzcxrKxq=E)2WQFg)O4I0qv5 z1P@&Poc*n3cPod(bV-MU4+~Dr3y@^ixRJO0rm$8r1MBX)deu&;JPQ)`-%s~n(ZeW` zV>bH@=TyT6CVOU%!*FxJhG8eTs{T5DYdIysAfwihT`yxa)8}91$=ZV~0)=-UPFnY$ zBZ6V?KZUf-H;;awemb=^`yI1ZLr2HEV7lk&;uumf z=k48%Udn+oZXfk$^CWX*EL0Gjs1fl-Z1>%F$u}Z?RZKIpJ2vfhj`ECf0q#Vun`_yU z0|I;e-p%=3-LP}|lPC4*la!j*->?7Iy{QI%_3&q(~ z|D|6D&i}Vve!tZX&!1gf54O&)O0L)&cwPDjNB2UB!>7AuGOV`x%=>6#oL|Fq3t73t ztQ$^9JYdv`vP;r%6e;GPQ1boF{pS*0vly;lziw$|_3KON@0t)1Q^rY8K0UJWEUKxw z^V05@kW(S!7M?`YF5U&H9Pfi`7}lQd{u~lI^=8hsmv&y<3(Xm~=;@!^ymRNwyLa!N z`xX$ya`d0fpE;8+Z@zQy-m_P)w9L)T=e}9EWd5pZb4IbP-`T6Ht7rPC&EHqYIeEc~ z_l);mJ^7+@(wXD;@86RB$7Ay{-+rlL(#dwVu(0rmy*_`_vt9m-Aq;EHT5je{TeZrr zW^ZZVg6r-Fil_Cr9X@=x$L+-QMfLuS`4`&^=ASp7f4;cB{=eeuHJ^hSKXFueS@Rxy zTv%3CwrS(Wjh{@febg{$P|fA=+_ZP^+_h`h^0XhG8grY0Ym>yG43kqOR=%;k literal 0 HcmV?d00001 diff --git a/library/thumbs/shell_008.png b/library/thumbs/shell_008.png new file mode 100644 index 0000000000000000000000000000000000000000..399a7bcac5cf90d384572e38befa27afbddc5a2d GIT binary patch literal 804 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V7lk&;uumf z=k48%Udn+oZXfk$^CWX*EL0Gjs1fl-Z1>%F$u}Z?RZKIpJ2vfhj`ECf0q#Vun`_yU z0|I;e-p%=3-LP}|lPC4*la!j*->?7Iy{QI%_3&q(~ z|D|6D&i}Vve!tZX&!1gf54O&)O0L)&cwPDjNB2UB!>7AuGOV`x%=>6#oL|Fq3t73t ztQ$^9JYdv`vP;r%6e;GPQ1boF{pS*0vly;lziw$|_3KON@0t)1Q^rY8K0UJWEUKxw z^V05@kW(S!7M?`YF5U&H9Pfi`7}lQd{u~lI^=8hsmv&y<3(Xm~=;@!^ymRNwyLa!N z`xX$ya`d0fpE;8+Z@zQy-m_P)w9L)T=e}9EWd5pZb4IbP-`T6Ht7rPC&EHqYIeEc~ z_l);mJ^7+@(wXD;@86RB$7Ay{-+rlL(#dwVu(0rmy*_`_vt9m-Aq;EHT5je{TeZrr zW^ZZVg6r-Fil_Cr9X@=x$L+-QMfLuS`4`&^=ASp7f4;cB{=eeuHJ^hSKXFueS@Rxy zTv%3CwrS(Wjh{@febg{$P|fA=+_ZP^+_h`h^0XhG8grY0Ym>yG43kqOR=%;k literal 0 HcmV?d00001 diff --git a/library/thumbs/training_item_001.png b/library/thumbs/training_item_001.png new file mode 100644 index 0000000000000000000000000000000000000000..e4cc421f56d5575ebc36a100edac9a8607723547 GIT binary patch literal 927 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V2<>3aSW-L z^Y*S`|78Q2wnF)&7q|E)HgW}S3}9r=*>Jb$ajlJ;n3o*2|6Fy=UAx2c@BJ-o`kM5LdqSorg9R(Ya)t*Y40D(of*A_982lIy z&{puy>6Q8qrhVI;`{8`}>$Ar3Cu?T%E%3JHDH1rraO;HQoyfnfg0YwX2V6_OpeArG zg<+@NUlujy6HC{ctLjeeXHEfAj|B(>&B$h-UEUu@^6x}Ilv>tA!<)TX57e&haUeaU@k|Me8U7^T0M zHTTw^);{^7cazTAH7pGBK4jW#nYMH0?nmDlESJu+I`)lksa6&Lh46R1bC+_MFdq;V zJ#d5F_R`u8hFRI4XE<)#QT9B@g(3I)ol7T!kLEE2=l?VL@K?l;`AJ2I_upgwUV@Aj zRdw^@H~KRjx4F2u=4y4vqO^u(+3c@t?9y%HS9b9p*!e@<_DiPyT)+QyaXMlrKMRQL zW-;N7<@+P;_US;i8q)`z{oD3VT{OL6+YN=+eu`(V@I1)eet-T-$pg}#kMe0vX0%u? z?od0E_dqa9;WOrfzQ6MJK|Xm*yCZ&kmGiA&cv9b?>adIIY4e?aM*#Z+A0__Bz#PZm M>FVdQ&MBb@0Q60U$N&HU literal 0 HcmV?d00001 diff --git a/library/thumbs/training_item_002.png b/library/thumbs/training_item_002.png new file mode 100644 index 0000000000000000000000000000000000000000..d42b24a1104e6d97d3ba7fbbfa723ad2b570dca1 GIT binary patch literal 891 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>U^ex1aSW-L z^Y*TF{^bOb_K(3w#6M1GZe#pUh_5<&n zGx5W%9*$8bcj!GcM^o#7FOgA8MbGD9IX z1>@THH3-!G|Mm0!`Ml%hjO$cv%o;3C@&-JsG1kaoH9N5Q^TXqXGB3R1rv2s(_);71 z@-R>TQ5CZYZ~W79`=-3+4JZqb-z6%t;~v8bmd+&u8vdalC1B5{V-dnL;mpUmRho26XA z_rmS#f4;oWq7MvNPMSC7?*DH)Px?-NgI(LROyM22%oTg0e?R!7z2N=B>aNqV4D;GP z3*BLDNV_wKamVM|g&P?q>Z+Uh6^?wcwPoY8V<>TE;H}*C`z*(Ti8`m9;tyRFJkYvH zXYv-#}hwelP8zt7!#^TzM~`Rhtt4FP-1=^UZ`E*32fdA$Kn~UqASqZ8u}r7RhO!KAfF1hf$)Y z8mLRR?f;Rxk_%3m^7Y;GU^(#M^iC@lvBV!&Rm>a&zaD%Zlg}{q`p(!LdV6pUcaSW-L z^LCECpR%D$t33Cjry`nSnc|tWWE$rIxqOSoOL@}bzR|4&-X3UC$Fz#{y$ma zjGfYvOJ5bHOkrqTc`A@=^K-o=+Kg?93=BDDv*#Xv)Uce%_y0BL*XtUi8WJV89qP-U zA0PAR-@CFu)hkP`a|AZ+j9wtevdo87@cZxY<=Z!3RkS@PG(%;sSj&`*@vQWCW*(dGvsOMo>-#(E+;OLJ(FJAy=10q(@zwrr`CZXj(?N5= z297ChA7?&1@;rHR!?w>_TVGrDKX|Y1)AR`{ zQ9N+RevgU48qV(81>sHGxFc3iJu2Q;6zjfg{swgo?E{lOTxK{NW8X4c+U8xcAKMG9 z1Ctb%#R)(A{qfSMSPK)I6mM}4V_C9#v-Khurl(xhurZfdLXg-?YJ==78 z*M^%pWqtRV@1A2?W+y9Sf30fciscuQU$8YAZms_1bv`;d-|=iVpJ*0iRHkU6ZX%zg zCS${=?UiS8)e`?}{17Q(Vp+Dz@${Mo%P$gU@rD_aSW-L z^Y)Ivx3r_ov5)FYo7{^zD!xpxHECTo<5QpwQ_osxIVWN2b)t| zQ-|$~U77!OMklNP{%tou+G|SVPb*{VW!vKRRFx|qu9{ZGFl`!hLoq`EAHzAu1C|UH z>_4vp_<@AW(#}kt3PjMzDiVSqU1_@R@4f#N4tiYr%vJFG`uX=O z+b6Uz?kwglA;XH;q?stjyqI} z7z!RTOY|S#wQrxFZO>X!yN2`e{UwEk3vJF%eO~$MVUFw(#Sb5TJXwGJ=si2B-Yxt0 zub(@2uE^nATqjm1tn5iB3w=>yb?f%+-SuymGc@R&o{~C~uixKfuHXCra}9n9C2+6! ztYN-CRG=k}k>mWweo?Cis}=M4xT-ns97z#6#~8puHsm@y&?4;k6l&tj7Dw;t^fQF zo<2=oyZ-f8_TK-U^RNHVU2x;}YQHmoA{EXTm+p?;8nt$7ym;;-?%p`YH1*A=6!ULZ zZ_>GZ`uh9pdE9~O@mW8(0>0+|Ti2cZ@9*aKy*3|P-Pje@&bt#=ACUcMrIdU_$bZTE zljFGr8$xuM{QoR6U=+EQ%eigEMSsTAYi7OhnE&YJk^)ALz6E^+(Fb(wS#5Mm7+B|X zhXKRz%x9PNZ5$3!JqH5s9AZ(JI{Dp6eZ_MO+oZBsH@H$W4gX_!5%lrw#@#!A0P`Y) Mr>mdKI;Vst02soVx&QzG literal 0 HcmV?d00001 diff --git a/library/thumbs/training_item_005.png b/library/thumbs/training_item_005.png new file mode 100644 index 0000000000000000000000000000000000000000..9fa8964a6ab2c07bd3714af5f8a66f636d62ef55 GIT binary patch literal 814 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V0z){;uumf z=j~m?JgGnthl}YRp3Kn>B85vVLg&OT@tpZI@X`jJ>3Mg~h)uY2K`AIAnUPaqhT-S? zcdE4<#N=Ma{;QGDxnKM5SFQ9RsghcTSJM~|NHWZ!4^jK-7sIYEpZ;tq|Nrmd#>L7n z`N~)=Wd3bD{)mXjGsg{td={m^z^s$@%z8OizAJbumLkFqO~#kZ;24u+^bG#~<(IOTRAXt_I@YlTqH`{`4Qk8yGLJ#~)_Bkn&-- zc;By0`Uhh8@{&J1pJ$xRvp0@$mfq**Y*lZUKAH5zsG(o3X8so~2KM@$Ul_M+{IkvU zN00R3EsRr4ew?|)8gS`Bt$0DQ>fFb_4gPSPxO!mKswnw@zct_a`!n0+Cw^&O@IRJw z)he&=ti93Rk`6~+a%{VuTl4eV<2Lun;kOu+{>eH%d%A;rrCH;0iyyC-@GQ``{vfoZ zT71IKL*AX2SQnHny~7gsYx`d-y;KI%`>ZC@e~CQUFxy+!p+(SS>MxN6&n~TJ$U4UG hfQR86&4_pWU*;crSlZ#f4wwNLJYD@<);T3K0RXYtWLy9M literal 0 HcmV?d00001 diff --git a/library/thumbs/training_item_006.png b/library/thumbs/training_item_006.png new file mode 100644 index 0000000000000000000000000000000000000000..b2c39a4a2d06a4f4f678cc06fe45f7995f12a59b GIT binary patch literal 813 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>V0!N9;uumf z=k1;SezyZe8a_IQruI*OyjYVKXy-nPCt-huO-yxe(56XyEL zx~`6QQxh{p-agmkEMv`hZMQ&N(ndgMr3R=qq+W+bS%|4qZ{Q7Ivvei<@7}UZ-uO2N6u!?89cjIM=)&BTf z|Kt-H%tNo2%Jd)a&?x>Pn8!HzWtHefJLM@SMBxEs!?LaB%dNdvCjT*wVT`hq`joie zdcSTf;})IF9kmh+bL{#063hR-zAyWtN=N#OV!?|CyYHRfmzuD>VdG)>PZ4Z8L=#@f z&aOT1znLpx)$Te^0mhX3%kwiorZ*TKUVi7VAa@+2OpSdv&w=K+`fjcRyX$rwox}J{ zs_ta{*URp|L>EliZI{ilGQ1(EZGPk}(S&yo{Xe=dR`rl{$Xx!Xr#XMgJ*Hnft`^LC ze%9ts$C3T~7t%#f*v&aV!K|ULsQb z&QQP4e(n^;lDlu+4E;_qDD@<0WioddG-)p3Q+O25BFAvtTizjA^Zu;AIV<-IuXwGS l#(KemjUk<(fF?veqfPK`trHU(nt|z`!PC{xWt~$(69BIFSFQj6 literal 0 HcmV?d00001 diff --git a/library/thumbs/training_item_007.png b/library/thumbs/training_item_007.png new file mode 100644 index 0000000000000000000000000000000000000000..5b683df7f65fa89cb59736d669ff56d07ed1b628 GIT binary patch literal 1028 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSjKx9jP7LeL$-HD>VBY8H;uumf z=j|NpNw*wCT<`CY*~BR3kiax~Ca*=I%g(L|Pkk*K)r%jo3QU@ykWVjgk zSQ*-BCoC}W^;4USo#`45Et3w53syS)S$$*Q!o2d|8M7Cb>ICg!*tlW)?!7Vk&+F$K zu39zeY})0U)6DJkY8ebmG&F4u+*b5%OFdh*`_TI9U)35b8E;7_zX=IivSQ_`Q+ERr z;uvCQIUhV8k{2D_hU7dRQU9D91>Lr~NMUmxxdzdp?=IXP9?`S!1c+q{n-t!GP-S4k0tJ4{GI_8%DE&{IX`VoPEo8 z{BpCx8jk)Mq7IXP{n!@C8>H$q?NBR2?)tc;Ys^bGsCFb5@fl2+W8I+IV!*< z&!yk1dVvgvrPs4H4#ZEW+RGNla3pSh;a9r@Hx{((Get2<{HcGS#c;TuWfRjC1@?I6 zK*k%dcWcHmw8<}fp~&#{mR void: + var manifest: Dictionary = JSON.parse_string(FileAccess.get_file_as_string("res://library/objects.json")) + var doc: Dictionary = MapDocument.create_new("D4-Beweis", 256.0, "mittag") + doc["objects"] = PLATZ + + var bauer: Node3D = load("res://src/viewport/map_view_builder.gd").new() + root.add_child(bauer) + await process_frame + bauer.rebuild(doc, manifest) + + var lib: Dictionary = manifest.get("objects", {}) + var fehler: Array = [] + for i in PLATZ.size(): + var marker: Node3D = bauer.object_markers[i] + if marker == null: + fehler.append("%s: kein Marker" % PLATZ[i]["id"]) + continue + var oid := str(PLATZ[i]["id"]) + var entry: Dictionary = lib.get(oid, {}) + if entry.is_empty(): + fehler.append("%s: nicht in der Bibliothek" % oid) + continue + var col: Dictionary = entry.get("collision", {}) + var groesse: Array = col.get("size", [0.0, 0.0, 0.0]) + # Kollisionsbox als Drahtgitter (Fußpunkt: Unterkante y=0). + var box := MeshInstance3D.new() + var bm := BoxMesh.new() + bm.size = Vector3(float(groesse[0]), float(groesse[1]), float(groesse[2])) + Vector3(0.01, 0.01, 0.01) + box.mesh = bm + var mat := StandardMaterial3D.new() + mat.shading_mode = BaseMaterial3D.SHADING_MODE_UNSHADED + mat.albedo_color = Color(0.15, 1.0, 0.35, 0.28) + mat.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA + mat.cull_mode = BaseMaterial3D.CULL_DISABLED + mat.wireframe = true + box.material_override = mat + box.position = Vector3(0.0, float(groesse[1]) * 0.5, 0.0) + marker.add_child(box) + var echt := bool(marker.get_meta("glb")) + var mi := marker.get_child(0) as MeshInstance3D + var mesh_aabb := mi.mesh.get_aabb() if (mi != null and mi.mesh != null) else AABB() + print("%s: ehctesGLB=%s registry=%.3f/%.3f/%.3f mesh_aabb=%.3f/%.3f/%.3f mesh_min_y=%.3f" + % [oid, str(echt), float(groesse[0]), float(groesse[1]), float(groesse[2]), + mesh_aabb.size.x, mesh_aabb.size.y, mesh_aabb.size.z, mesh_aabb.position.y]) + if not echt: + fehler.append("%s: rendert nur den Platzhalter (GLB fehlt)" % oid) + + var cam := Camera3D.new() + cam.fov = 45.0 + cam.position = Vector3(4.5, 3.2, 7.5) + root.add_child(cam) + await process_frame + cam.look_at(Vector3(0.6, 0.7, 0.0), Vector3.UP) + cam.current = true + cam.make_current() + + await process_frame + await process_frame + await RenderingServer.frame_post_draw + root.get_texture().get_image().save_png("/tmp/d4_mapbuilder.png") + for f in fehler: + print(" FEHLER: %s" % f) + print("PROBE_D4_MAPBUILDER_%s" % ("FAIL" if not fehler.is_empty() else "OK")) + quit(1 if not fehler.is_empty() else 0)