From 1ef5d54d6ca9b95295581ec1a0fec158ebaf5df8 Mon Sep 17 00:00:00 2001 From: kookroach Date: Sun, 15 Jan 2023 23:59:12 +0100 Subject: [PATCH] start Multiplayer --- Game.gd | 27 +++-- assets/shader/no_depth.gdshader | 7 +- entities/Player.tscn | 48 +++++++-- project.godot | 7 ++ scenes/GUI/Main Menu.tscn | 67 +++--------- scenes/map/Game.tscn | 20 ++-- scenes/map/test_map.tscn | 76 -------------- scripts/player/PlayerQ3.gd | 32 ++++-- scripts/player/Weapon.gd | 2 +- scripts/player/Weapons.gd | 174 ++++++++++++++++++-------------- scripts/utils/runtimeloader.gd | 4 - 11 files changed, 209 insertions(+), 255 deletions(-) delete mode 100644 scenes/map/test_map.tscn diff --git a/Game.gd b/Game.gd index 4e9a9e3..3541ccd 100644 --- a/Game.gd +++ b/Game.gd @@ -1,35 +1,31 @@ extends Node3D +class_name Game -@onready var label : Label = $CanvasLayer/Label -@onready var player : CharacterBody3D = $PlayerQ3 +signal game_loaded +var init_config -func _ready(): +func load_map(): Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) - var config = Runtimeloader.loadConfig("init.cfg") as ConfigFile + init_config = Runtimeloader.loadConfig("init.cfg") as ConfigFile print("Loading PCK...") - for map_list in config.get_section_keys("MAPS"): - for map in config.get_value("MAPS", map_list): + for map_list in init_config.get_section_keys("MAPS"): + for map in init_config.get_value("MAPS", map_list): Runtimeloader.loadPCK(map) - for weapons_list in config.get_section_keys("WEAPONS"): - for weapon in config.get_value("WEAPONS", weapons_list): + for weapons_list in init_config.get_section_keys("WEAPONS"): + for weapon in init_config.get_value("WEAPONS", weapons_list): Runtimeloader.loadPCK(weapon) print("Loading Resources Done.") Runtimeloader.loadScene("maps/test_map.tscn", self) #Runtimeloader.get_all_entities(node) + game_loaded.emit() - -func _process(_delta): - label.text = "H Velocity: %3.2f" % [Vector2(player.velocity.x, player.velocity.z).length()] - label.text += "\nV Velocity: %3.2f" % [player.velocity.y] - label.text += "\nOn floor: %s" % player.is_on_floor() - - + func _input(event): if event is InputEventKey and event.is_pressed(): if event.keycode == KEY_F: @@ -39,3 +35,4 @@ func _input(event): DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED) elif event.keycode == KEY_ESCAPE: get_tree().quit() + diff --git a/assets/shader/no_depth.gdshader b/assets/shader/no_depth.gdshader index 24fadff..8631883 100644 --- a/assets/shader/no_depth.gdshader +++ b/assets/shader/no_depth.gdshader @@ -1,6 +1,9 @@ shader_type spatial; render_mode cull_back; +uniform float z_offset : hint_range(-1, 1); + void fragment() { - // Place fragment code here. -} + // write the final depth value to the depth buffer + DEPTH = 0.9; +} \ No newline at end of file diff --git a/entities/Player.tscn b/entities/Player.tscn index 0481714..48d3f07 100644 --- a/entities/Player.tscn +++ b/entities/Player.tscn @@ -1,12 +1,19 @@ -[gd_scene load_steps=6 format=3 uid="uid://bl7jynld7s25o"] +[gd_scene load_steps=10 format=3 uid="uid://bl7jynld7s25o"] [ext_resource type="Script" path="res://scripts/player/PlayerQ3.gd" id="1"] [ext_resource type="Script" path="res://scripts/player/Weapons.gd" id="2_dl1i1"] +[ext_resource type="Texture2D" uid="uid://17b1nu8spjfi" path="res://textures/icon.png" id="2_mxb5i"] [ext_resource type="Shader" path="res://assets/shader/crosshair.gdshader" id="3_3vnqi"] -[sub_resource type="CylinderShape3D" id="1"] +[sub_resource type="CylinderShape3D" id="CylinderShape3D_resyc"] -[sub_resource type="ShaderMaterial" id="ShaderMaterial_mqdp4"] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_d6dov"] +albedo_texture = ExtResource("2_mxb5i") +uv1_scale = Vector3(3, 2, 1) + +[sub_resource type="CylinderMesh" id="CylinderMesh_j6ixa"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_qn642"] shader = ExtResource("3_3vnqi") shader_parameter/center_enabled = null shader_parameter/legs_enabled = null @@ -21,23 +28,39 @@ shader_parameter/len = null shader_parameter/spacing = null shader_parameter/spread = null +[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_36ekt"] +properties/0/path = NodePath(".:position") +properties/0/spawn = true +properties/0/sync = true +properties/1/path = NodePath("Body:rotation") +properties/1/spawn = true +properties/1/sync = true +properties/2/path = NodePath("Body/Head:rotation") +properties/2/spawn = true +properties/2/sync = true + [node name="PlayerQ3" type="CharacterBody3D"] script = ExtResource("1") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) -shape = SubResource("1") +shape = SubResource("CylinderShape3D_resyc") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="CollisionShape3D"] +material_override = SubResource("StandardMaterial3D_d6dov") +mesh = SubResource("CylinderMesh_j6ixa") [node name="Body" type="Node3D" parent="."] [node name="Head" type="Node3D" parent="Body"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.75, 0) -[node name="Hand" type="Node3D" parent="Body/Head"] +[node name="Hand" type="Node3D" parent="Body/Head" node_paths=PackedStringArray("player_root")] script = ExtResource("2_dl1i1") +player_root = NodePath("../../..") [node name="Crosshair" type="ColorRect" parent="Body/Head/Hand"] -material = SubResource("ShaderMaterial_mqdp4") +material = SubResource("ShaderMaterial_qn642") anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -51,3 +74,16 @@ current = true [node name="AimCast" type="RayCast3D" parent="Body/Head/Camera3D"] target_position = Vector3(0, 0, -1) collision_mask = 512 + +[node name="CanvasLayer" type="CanvasLayer" parent="."] + +[node name="Label" type="Label" parent="CanvasLayer"] +offset_right = 40.0 +offset_bottom = 14.0 +metadata/_edit_use_anchors_ = true + +[node name="Networking" type="Node" parent="."] + +[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="Networking"] +root_path = NodePath("../..") +replication_config = SubResource("SceneReplicationConfig_36ekt") diff --git a/project.godot b/project.godot index 6222398..097b2a6 100644 --- a/project.godot +++ b/project.godot @@ -9,6 +9,11 @@ config_version=5 _global_script_classes=[{ +"base": "Node3D", +"class": &"Game", +"language": &"GDScript", +"path": "res://Game.gd" +}, { "base": "Node", "class": &"Hitable", "language": &"GDScript", @@ -25,6 +30,7 @@ _global_script_classes=[{ "path": "res://scripts/player/Weapon.gd" }] _global_script_class_icons={ +"Game": "", "Hitable": "", "TBPlugin": "", "Weapon": "" @@ -40,6 +46,7 @@ config/icon="res://textures/icon.png" [autoload] Runtimeloader="*res://scripts/utils/runtimeloader.gd" +Network="*res://scripts/utils/network.gd" [display] diff --git a/scenes/GUI/Main Menu.tscn b/scenes/GUI/Main Menu.tscn index 1496eff..95e4672 100644 --- a/scenes/GUI/Main Menu.tscn +++ b/scenes/GUI/Main Menu.tscn @@ -1,4 +1,8 @@ -[gd_scene format=3 uid="uid://dsnlwjofq6psf"] +[gd_scene load_steps=4 format=3 uid="uid://dsnlwjofq6psf"] + +[ext_resource type="Script" path="res://scenes/GUI/MainMenu.gd" id="1_23sw7"] +[ext_resource type="PackedScene" uid="uid://3o430r2kys4k" path="res://scenes/GUI/MAIN.tscn" id="1_sojs8"] +[ext_resource type="PackedScene" uid="uid://d0kkhtesg83g" path="res://scenes/GUI/START_GAME.tscn" id="2_ipoll"] [node name="Main Menu" type="Control"] layout_mode = 3 @@ -9,61 +13,14 @@ anchor_right = 0.5 anchor_bottom = 0.5 grow_horizontal = 2 grow_vertical = 2 +script = ExtResource("1_23sw7") metadata/_edit_use_anchors_ = true -[node name="VBoxContainer" type="VBoxContainer" parent="."] -anchors_preset = 8 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -offset_left = -198.0 -offset_top = -104.0 -offset_right = 199.0 -offset_bottom = 64.0 -grow_horizontal = 2 -grow_vertical = 2 +[node name="MAIN" parent="." instance=ExtResource("1_sojs8")] -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] -offset_left = 102.0 -offset_right = 295.0 -offset_bottom = 31.0 -size_flags_horizontal = 4 -size_flags_vertical = 2 +[node name="START GAME" parent="." instance=ExtResource("2_ipoll")] +visible = false -[node name="Start" type="Button" parent="VBoxContainer/HBoxContainer"] -offset_right = 96.0 -offset_bottom = 31.0 -text = "Start Game" - -[node name="ModsMenu" type="MenuButton" parent="VBoxContainer/HBoxContainer"] -offset_left = 100.0 -offset_right = 193.0 -offset_bottom = 31.0 -text = "Select Mod" -flat = false -item_count = 2 -popup/item_0/text = "test1" -popup/item_0/id = 0 -popup/item_1/text = "test2" -popup/item_1/id = 1 - -[node name="VBoxContainer2" type="VBoxContainer" parent="VBoxContainer"] -offset_left = 138.0 -offset_top = 102.0 -offset_right = 258.0 -offset_bottom = 168.0 -size_flags_horizontal = 4 -size_flags_vertical = 10 - -[node name="SettingsButton" type="Button" parent="VBoxContainer/VBoxContainer2"] -offset_right = 120.0 -offset_bottom = 31.0 -text = "Game Settings" -icon_alignment = 1 - -[node name="ExitButton" type="Button" parent="VBoxContainer/VBoxContainer2"] -offset_top = 35.0 -offset_right = 120.0 -offset_bottom = 66.0 -text = "Exit" +[connection signal="start_game" from="MAIN" to="." method="_on_main_start_game"] +[connection signal="back" from="START GAME" to="." method="_on_start_game_back"] +[connection signal="start_game" from="START GAME" to="." method="_on_start_game_start_game"] diff --git a/scenes/map/Game.tscn b/scenes/map/Game.tscn index d115e43..2f392e3 100644 --- a/scenes/map/Game.tscn +++ b/scenes/map/Game.tscn @@ -1,8 +1,7 @@ -[gd_scene load_steps=7 format=3 uid="uid://8g7w4uv2xsck"] +[gd_scene load_steps=6 format=3 uid="uid://8g7w4uv2xsck"] [ext_resource type="Script" path="res://Game.gd" id="1_71dcv"] -[ext_resource type="PackedScene" uid="uid://bp5ekvan8qsmc" path="res://entities/enemy/dummy.tscn" id="2_13e86"] -[ext_resource type="PackedScene" uid="uid://bl7jynld7s25o" path="res://entities/Player.tscn" id="3_ngdfc"] +[ext_resource type="PackedScene" uid="uid://dsnlwjofq6psf" path="res://scenes/GUI/Main Menu.tscn" id="2_448f8"] [sub_resource type="PhysicalSkyMaterial" id="PhysicalSkyMaterial_2n8qo"] @@ -31,15 +30,10 @@ shadow_enabled = true [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource("Environment_oqaam") -[node name="CanvasLayer" type="CanvasLayer" parent="."] +[node name="Main Menu" parent="." instance=ExtResource("2_448f8")] -[node name="Label" type="Label" parent="CanvasLayer"] -offset_right = 40.0 -offset_bottom = 14.0 -metadata/_edit_use_anchors_ = true +[node name="Networking" type="Node" parent="."] -[node name="Enemy" parent="." instance=ExtResource("2_13e86")] -transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 23.8087, 0.346554, -28.3203) - -[node name="PlayerQ3" parent="." instance=ExtResource("3_ngdfc")] -transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 3.52828, 2.64918, -22.0849) +[node name="MultiplayerSpawner" type="MultiplayerSpawner" parent="Networking"] +_spawnable_scenes = PackedStringArray("res://entities/Player.tscn") +spawn_path = NodePath("../..") diff --git a/scenes/map/test_map.tscn b/scenes/map/test_map.tscn deleted file mode 100644 index 20c9879..0000000 --- a/scenes/map/test_map.tscn +++ /dev/null @@ -1,76 +0,0 @@ -[gd_scene load_steps=11 format=3 uid="uid://bq7p576e7a17i"] - -[ext_resource type="Texture2D" uid="uid://bx4pdgghucl4k" path="res://textures/concrete_15.jpg" id="1_os4mo"] -[ext_resource type="Texture2D" uid="uid://bj2qm3joiywso" path="res://textures/dark.png" id="2_53atb"] -[ext_resource type="Texture2D" uid="uid://bt671xkej3a2s" path="res://textures/shipping_container_01_side.jpg" id="3_am21j"] -[ext_resource type="Texture2D" uid="uid://c52qu6ad3taix" path="res://textures/shipping_container_01_front.jpg" id="4_tpukd"] - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_yhpph"] -albedo_texture = ExtResource("1_os4mo") - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_plg37"] -albedo_texture = ExtResource("2_53atb") - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8xybu"] -albedo_texture = ExtResource("3_am21j") - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_rri1d"] -albedo_texture = ExtResource("4_tpukd") - -[sub_resource type="ArrayMesh" id="ArrayMesh_bdgr3"] -lightmap_size_hint = Vector2i(2802, 2814) -_surfaces = [{ -"aabb": AABB(-31.1636, -4.59375, -36.3203, 84, 2.00001, 50), -"attribute_data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 185, 108, 85, 60, 148, 64, 52, 63, 0, 0, 0, 0, 0, 0, 0, 63, 185, 108, 85, 60, 65, 231, 55, 63, 0, 0, 168, 65, 0, 0, 0, 63, 159, 234, 28, 63, 65, 231, 55, 63, 0, 0, 168, 65, 0, 0, 0, 0, 159, 234, 28, 63, 148, 64, 52, 63, 0, 0, 72, 193, 0, 0, 0, 0, 224, 47, 10, 63, 131, 79, 117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 69, 164, 101, 63, 131, 79, 117, 63, 0, 0, 0, 0, 0, 0, 0, 63, 69, 164, 101, 63, 95, 10, 121, 63, 0, 0, 72, 193, 0, 0, 0, 63, 224, 47, 10, 63, 95, 10, 121, 63, 0, 0, 72, 193, 0, 0, 168, 193, 161, 71, 184, 62, 187, 131, 84, 60, 0, 0, 72, 193, 0, 0, 0, 0, 161, 71, 184, 62, 81, 63, 28, 63, 0, 0, 0, 0, 0, 0, 0, 0, 54, 152, 55, 63, 81, 63, 28, 63, 0, 0, 0, 0, 0, 0, 168, 193, 54, 152, 55, 63, 187, 131, 84, 60, 0, 0, 72, 193, 0, 0, 168, 193, 176, 28, 59, 57, 108, 80, 58, 57, 0, 0, 0, 0, 0, 0, 168, 193, 47, 0, 183, 62, 108, 80, 58, 57, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 183, 62, 231, 248, 24, 63, 0, 0, 72, 193, 0, 0, 0, 0, 176, 28, 59, 57, 231, 248, 24, 63, 0, 0, 72, 193, 0, 0, 0, 0, 84, 47, 165, 60, 131, 79, 117, 63, 0, 0, 72, 193, 0, 0, 0, 63, 84, 47, 165, 60, 95, 10, 121, 63, 0, 0, 0, 0, 0, 0, 0, 63, 192, 59, 193, 62, 95, 10, 121, 63, 0, 0, 0, 0, 0, 0, 0, 0, 192, 59, 193, 62, 131, 79, 117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 45, 72, 29, 63, 130, 73, 84, 63, 0, 0, 168, 65, 0, 0, 0, 0, 79, 208, 108, 60, 130, 73, 84, 63, 0, 0, 168, 65, 0, 0, 0, 63, 79, 208, 108, 60, 166, 142, 80, 63, 0, 0, 0, 0, 0, 0, 0, 63, 45, 72, 29, 63, 166, 142, 80, 63), -"format": 4151, -"index_count": 36, -"index_data": PackedByteArray(0, 0, 1, 0, 2, 0, 0, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 4, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 8, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 12, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 16, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 20, 0, 22, 0, 23, 0), -"material": SubResource("StandardMaterial3D_yhpph"), -"primitive": 3, -"vertex_count": 24, -"vertex_data": PackedByteArray(244, 78, 249, 193, 0, 0, 38, 192, 0, 72, 17, 194, 255, 255, 255, 255, 255, 255, 0, 192, 244, 78, 249, 193, 0, 0, 147, 192, 0, 72, 17, 194, 255, 255, 255, 255, 255, 255, 0, 192, 134, 88, 83, 66, 0, 0, 147, 192, 0, 72, 17, 194, 255, 255, 255, 255, 255, 255, 0, 192, 134, 88, 83, 66, 0, 0, 38, 192, 0, 72, 17, 194, 255, 255, 255, 255, 255, 255, 0, 192, 244, 78, 249, 193, 0, 0, 38, 192, 0, 72, 17, 194, 0, 0, 0, 128, 255, 127, 255, 191, 244, 78, 249, 193, 0, 0, 38, 192, 0, 224, 90, 65, 0, 0, 0, 128, 255, 127, 255, 191, 244, 78, 249, 193, 0, 0, 147, 192, 0, 224, 90, 65, 0, 0, 0, 128, 255, 127, 255, 191, 244, 78, 249, 193, 0, 0, 147, 192, 0, 72, 17, 194, 0, 0, 0, 128, 255, 127, 255, 191, 134, 88, 83, 66, 0, 0, 147, 192, 0, 72, 17, 194, 0, 128, 0, 0, 255, 127, 0, 192, 244, 78, 249, 193, 0, 0, 147, 192, 0, 72, 17, 194, 0, 128, 0, 0, 255, 127, 0, 192, 244, 78, 249, 193, 0, 0, 147, 192, 0, 224, 90, 65, 0, 128, 0, 0, 255, 127, 0, 192, 134, 88, 83, 66, 0, 0, 147, 192, 0, 224, 90, 65, 0, 128, 0, 0, 255, 127, 0, 192, 134, 88, 83, 66, 0, 0, 38, 192, 0, 72, 17, 194, 0, 128, 255, 255, 255, 127, 255, 191, 134, 88, 83, 66, 0, 0, 38, 192, 0, 224, 90, 65, 0, 128, 255, 255, 255, 127, 255, 191, 244, 78, 249, 193, 0, 0, 38, 192, 0, 224, 90, 65, 0, 128, 255, 255, 255, 127, 255, 191, 244, 78, 249, 193, 0, 0, 38, 192, 0, 72, 17, 194, 0, 128, 255, 255, 255, 127, 255, 191, 134, 88, 83, 66, 0, 0, 38, 192, 0, 72, 17, 194, 255, 255, 0, 128, 255, 127, 0, 192, 134, 88, 83, 66, 0, 0, 147, 192, 0, 72, 17, 194, 255, 255, 0, 128, 255, 127, 0, 192, 134, 88, 83, 66, 0, 0, 147, 192, 0, 224, 90, 65, 255, 255, 0, 128, 255, 127, 0, 192, 134, 88, 83, 66, 0, 0, 38, 192, 0, 224, 90, 65, 255, 255, 0, 128, 255, 127, 0, 192, 244, 78, 249, 193, 0, 0, 38, 192, 0, 224, 90, 65, 255, 127, 255, 127, 255, 255, 255, 191, 134, 88, 83, 66, 0, 0, 38, 192, 0, 224, 90, 65, 255, 127, 255, 127, 255, 255, 255, 191, 134, 88, 83, 66, 0, 0, 147, 192, 0, 224, 90, 65, 255, 127, 255, 127, 255, 255, 255, 191, 244, 78, 249, 193, 0, 0, 147, 192, 0, 224, 90, 65, 255, 127, 255, 127, 255, 255, 255, 191) -}, { -"aabb": AABB(-31.1636, -2.59375, -36.3203, 84, 13, 50), -"attribute_data": PackedByteArray(0, 0, 0, 0, 0, 0, 72, 193, 185, 108, 85, 60, 47, 133, 28, 63, 0, 0, 0, 0, 0, 0, 0, 63, 185, 108, 85, 60, 148, 64, 52, 63, 0, 0, 168, 66, 0, 0, 0, 63, 159, 234, 28, 63, 148, 64, 52, 63, 0, 0, 168, 66, 0, 0, 72, 193, 159, 234, 28, 63, 47, 133, 28, 63, 0, 0, 72, 194, 0, 0, 72, 193, 125, 98, 77, 61, 66, 237, 88, 63, 0, 0, 68, 194, 0, 0, 72, 193, 125, 98, 77, 61, 86, 214, 90, 63, 0, 0, 68, 194, 0, 0, 0, 63, 191, 186, 18, 62, 86, 214, 90, 63, 0, 0, 72, 194, 0, 0, 0, 63, 191, 186, 18, 62, 66, 237, 88, 63, 0, 0, 72, 194, 0, 0, 167, 194, 2, 38, 48, 61, 81, 190, 86, 63, 0, 0, 72, 194, 0, 0, 0, 63, 76, 151, 36, 63, 81, 190, 86, 63, 0, 0, 68, 194, 0, 0, 0, 63, 76, 151, 36, 63, 100, 167, 88, 63, 0, 0, 68, 194, 0, 0, 167, 194, 2, 38, 48, 61, 100, 167, 88, 63, 0, 0, 72, 194, 0, 0, 167, 194, 94, 55, 89, 63, 96, 143, 84, 63, 0, 0, 68, 194, 0, 0, 167, 194, 94, 55, 89, 63, 115, 120, 86, 63, 0, 0, 68, 194, 0, 0, 0, 63, 199, 137, 126, 62, 115, 120, 86, 63, 0, 0, 72, 194, 0, 0, 0, 63, 199, 137, 126, 62, 96, 143, 84, 63, 0, 0, 72, 194, 0, 0, 72, 193, 247, 65, 15, 60, 37, 75, 93, 63, 0, 0, 72, 194, 0, 0, 0, 63, 247, 65, 15, 60, 165, 9, 117, 63, 0, 0, 68, 194, 0, 0, 0, 63, 235, 40, 130, 60, 165, 9, 117, 63, 0, 0, 68, 194, 0, 0, 72, 193, 235, 40, 130, 60, 37, 75, 93, 63, 0, 0, 0, 0, 0, 0, 72, 193, 137, 235, 47, 63, 199, 72, 80, 63, 0, 0, 168, 66, 0, 0, 72, 193, 230, 180, 178, 61, 199, 72, 80, 63, 0, 0, 168, 66, 0, 0, 0, 63, 230, 180, 178, 61, 72, 138, 56, 63, 0, 0, 0, 0, 0, 0, 0, 63, 137, 235, 47, 63, 72, 138, 56, 63, 132, 176, 16, 56, 0, 0, 88, 65, 46, 91, 117, 63, 98, 157, 225, 60, 0, 0, 0, 0, 0, 0, 0, 63, 166, 130, 93, 63, 98, 157, 225, 60, 0, 0, 128, 191, 45, 0, 0, 63, 166, 130, 93, 63, 255, 122, 164, 60, 189, 253, 127, 191, 3, 0, 88, 65, 46, 91, 117, 63, 255, 122, 164, 60, 9, 0, 68, 66, 120, 255, 87, 65, 78, 244, 127, 63, 161, 118, 12, 61, 132, 176, 16, 56, 0, 0, 88, 65, 78, 244, 127, 63, 95, 12, 196, 62, 0, 0, 0, 0, 0, 0, 0, 63, 198, 27, 104, 63, 95, 12, 196, 62, 0, 0, 68, 66, 245, 238, 255, 62, 198, 27, 104, 63, 161, 118, 12, 61, 1, 0, 68, 66, 189, 251, 191, 63, 30, 206, 24, 63, 108, 80, 58, 57, 0, 0, 68, 66, 245, 238, 255, 62, 30, 206, 24, 63, 17, 92, 250, 59, 0, 0, 0, 0, 0, 0, 0, 63, 187, 110, 114, 63, 17, 92, 250, 59, 83, 20, 50, 54, 0, 0, 192, 63, 187, 110, 114, 63, 108, 80, 58, 57, 1, 0, 68, 66, 189, 251, 191, 63, 128, 100, 170, 62, 80, 57, 123, 63, 83, 20, 50, 54, 0, 0, 192, 63, 222, 210, 46, 63, 80, 57, 123, 63, 0, 0, 0, 0, 0, 0, 0, 63, 222, 210, 46, 63, 61, 80, 121, 63, 0, 0, 68, 66, 245, 238, 255, 62, 128, 100, 170, 62, 61, 80, 121, 63, 9, 0, 68, 66, 120, 255, 87, 65, 254, 52, 206, 62, 37, 75, 93, 63, 0, 0, 68, 66, 245, 238, 255, 62, 254, 52, 206, 62, 165, 9, 117, 63, 0, 0, 0, 0, 0, 0, 0, 63, 29, 187, 64, 63, 165, 9, 117, 63, 132, 176, 16, 56, 0, 0, 88, 65, 29, 187, 64, 63, 37, 75, 93, 63, 132, 176, 16, 56, 0, 0, 88, 65, 233, 182, 79, 63, 226, 91, 57, 63, 189, 253, 127, 191, 3, 0, 88, 65, 233, 182, 79, 63, 210, 137, 55, 63, 0, 0, 128, 191, 45, 0, 0, 63, 97, 222, 55, 63, 210, 137, 55, 63, 0, 0, 0, 0, 0, 0, 0, 63, 97, 222, 55, 63, 226, 91, 57, 63, 189, 253, 127, 191, 3, 0, 88, 65, 156, 213, 103, 63, 82, 196, 183, 61, 0, 0, 128, 191, 45, 0, 0, 63, 20, 253, 79, 63, 82, 196, 183, 61, 0, 0, 168, 194, 156, 14, 0, 63, 20, 253, 79, 63, 4, 20, 46, 63, 251, 255, 167, 194, 234, 0, 88, 65, 156, 213, 103, 63, 4, 20, 46, 63, 33, 1, 128, 63, 253, 255, 87, 65, 180, 104, 91, 63, 223, 75, 97, 63, 132, 176, 16, 56, 0, 0, 88, 65, 180, 104, 91, 63, 242, 52, 99, 63, 0, 0, 0, 0, 0, 0, 0, 63, 44, 144, 67, 63, 242, 52, 99, 63, 0, 0, 128, 63, 167, 255, 255, 62, 44, 144, 67, 63, 223, 75, 97, 63, 78, 7, 128, 63, 0, 0, 169, 66, 179, 30, 152, 62, 66, 237, 88, 63, 22, 0, 128, 63, 234, 255, 191, 63, 126, 208, 99, 63, 66, 237, 88, 63, 83, 20, 50, 54, 0, 0, 192, 63, 126, 208, 99, 63, 86, 214, 90, 63, 173, 186, 105, 57, 0, 0, 169, 66, 179, 30, 152, 62, 86, 214, 90, 63, 78, 7, 128, 63, 0, 0, 169, 66, 64, 50, 149, 62, 52, 28, 91, 63, 173, 186, 105, 57, 0, 0, 169, 66, 64, 50, 149, 62, 71, 5, 93, 63, 83, 20, 50, 54, 0, 0, 192, 63, 68, 90, 98, 63, 71, 5, 93, 63, 22, 0, 128, 63, 234, 255, 191, 63, 68, 90, 98, 63, 52, 28, 91, 63, 33, 1, 128, 63, 253, 255, 87, 65, 92, 186, 183, 62, 37, 75, 93, 63, 0, 0, 128, 63, 167, 255, 255, 62, 92, 186, 183, 62, 165, 9, 117, 63, 0, 0, 0, 0, 0, 0, 0, 63, 219, 98, 187, 62, 165, 9, 117, 63, 132, 176, 16, 56, 0, 0, 88, 65, 219, 98, 187, 62, 37, 75, 93, 63, 251, 255, 167, 194, 234, 0, 88, 65, 233, 182, 79, 63, 127, 186, 1, 62, 0, 0, 168, 194, 156, 14, 0, 63, 97, 222, 55, 63, 127, 186, 1, 62, 0, 0, 166, 66, 0, 0, 72, 193, 64, 105, 0, 63, 55, 173, 120, 63, 0, 0, 166, 66, 0, 0, 0, 63, 112, 33, 209, 62, 55, 173, 120, 63, 0, 0, 168, 66, 0, 0, 0, 63, 112, 33, 209, 62, 36, 196, 118, 63, 0, 0, 168, 66, 0, 0, 72, 193, 64, 105, 0, 63, 36, 196, 118, 63, 0, 0, 68, 194, 0, 0, 72, 193, 78, 244, 127, 63, 187, 131, 20, 63, 0, 0, 128, 191, 0, 0, 72, 193, 78, 244, 127, 63, 183, 240, 107, 63, 0, 0, 128, 191, 0, 0, 0, 63, 198, 27, 104, 63, 183, 240, 107, 63, 0, 0, 68, 194, 0, 0, 0, 63, 198, 27, 104, 63, 187, 131, 20, 63, 0, 0, 68, 194, 0, 0, 167, 194, 46, 237, 94, 61, 46, 127, 123, 63, 0, 0, 68, 194, 0, 0, 165, 194, 46, 237, 94, 61, 66, 104, 125, 63, 0, 0, 128, 191, 0, 0, 165, 194, 82, 119, 203, 62, 66, 104, 125, 63, 0, 0, 128, 191, 0, 0, 167, 194, 82, 119, 203, 62, 46, 127, 123, 63, 0, 0, 68, 194, 0, 0, 167, 194, 227, 13, 212, 62, 87, 220, 123, 63, 0, 0, 128, 191, 0, 0, 167, 194, 200, 211, 65, 63, 87, 220, 123, 63, 0, 0, 128, 191, 0, 0, 165, 194, 200, 211, 65, 63, 106, 197, 125, 63, 0, 0, 68, 194, 0, 0, 165, 194, 227, 13, 212, 62, 106, 197, 125, 63, 0, 0, 128, 191, 0, 0, 0, 63, 92, 186, 183, 62, 165, 9, 117, 63, 0, 0, 128, 191, 0, 0, 72, 193, 92, 186, 183, 62, 37, 75, 93, 63, 0, 0, 166, 66, 0, 0, 72, 193, 81, 191, 113, 62, 71, 5, 93, 63, 0, 0, 168, 66, 0, 0, 72, 193, 81, 191, 113, 62, 52, 28, 91, 63, 0, 0, 168, 66, 0, 0, 0, 63, 49, 93, 18, 62, 52, 28, 91, 63, 0, 0, 166, 66, 0, 0, 0, 63, 49, 93, 18, 62, 71, 5, 93, 63, 0, 0, 60, 66, 0, 0, 176, 192, 181, 178, 94, 63, 175, 192, 35, 61, 0, 0, 216, 65, 0, 0, 0, 63, 183, 15, 58, 63, 90, 240, 169, 61, 0, 0, 60, 66, 0, 0, 0, 63, 181, 178, 94, 63, 90, 240, 169, 61, 0, 0, 68, 194, 0, 0, 58, 194, 40, 159, 97, 63, 42, 232, 60, 63, 0, 0, 20, 194, 0, 0, 58, 194, 40, 159, 97, 63, 225, 212, 82, 63, 0, 0, 20, 194, 0, 0, 212, 193, 98, 40, 59, 63, 225, 212, 82, 63, 0, 0, 68, 194, 0, 0, 212, 193, 98, 40, 59, 63, 42, 232, 60, 63, 0, 0, 68, 194, 0, 0, 58, 194, 142, 239, 105, 63, 231, 248, 216, 62, 0, 0, 68, 194, 0, 0, 212, 193, 142, 239, 105, 63, 115, 247, 16, 63, 0, 0, 20, 194, 0, 0, 212, 193, 78, 244, 127, 63, 115, 247, 16, 63, 0, 0, 20, 194, 0, 0, 58, 194, 78, 244, 127, 63, 231, 248, 216, 62, 0, 0, 68, 194, 0, 0, 0, 63, 174, 191, 31, 63, 194, 40, 32, 63, 0, 0, 20, 194, 0, 0, 0, 63, 110, 196, 53, 63, 194, 40, 32, 63, 0, 0, 20, 194, 0, 0, 176, 192, 110, 196, 53, 63, 194, 42, 43, 63, 0, 0, 68, 194, 0, 0, 176, 192, 174, 191, 31, 63, 194, 42, 43, 63, 0, 0, 60, 66, 0, 0, 176, 192, 69, 164, 101, 63, 179, 218, 114, 63, 0, 0, 60, 66, 0, 0, 0, 63, 69, 164, 101, 63, 179, 216, 103, 63, 0, 0, 216, 65, 0, 0, 0, 63, 71, 1, 65, 63, 179, 216, 103, 63, 0, 0, 80, 65, 0, 0, 128, 192, 87, 13, 111, 63, 144, 153, 204, 62, 0, 0, 80, 65, 0, 0, 0, 63, 105, 27, 122, 63, 144, 153, 204, 62, 0, 0, 128, 65, 0, 0, 0, 63, 105, 27, 122, 63, 219, 178, 215, 62, 0, 0, 128, 65, 0, 0, 128, 192, 87, 13, 111, 63, 219, 178, 215, 62, 0, 0, 128, 191, 0, 0, 128, 192, 139, 237, 204, 62, 74, 148, 111, 63, 0, 0, 128, 191, 0, 0, 0, 63, 48, 239, 187, 62, 74, 148, 111, 63, 0, 0, 160, 192, 0, 0, 0, 63, 48, 239, 187, 62, 219, 53, 104, 63, 0, 0, 160, 192, 0, 0, 120, 193, 154, 84, 57, 63, 214, 150, 189, 61, 0, 0, 160, 192, 0, 0, 72, 193, 85, 231, 62, 63, 214, 150, 189, 61, 0, 0, 128, 191, 0, 0, 72, 193, 85, 231, 62, 63, 72, 138, 248, 61, 0, 0, 128, 191, 0, 0, 120, 193, 154, 84, 57, 63, 72, 138, 248, 61, 0, 0, 128, 191, 0, 0, 128, 192, 83, 248, 249, 60, 184, 117, 71, 63, 0, 0, 160, 192, 0, 0, 0, 63, 70, 128, 210, 58, 159, 235, 79, 63, 0, 0, 128, 191, 0, 0, 0, 63, 83, 248, 249, 60, 159, 235, 79, 63, 0, 0, 128, 65, 0, 0, 128, 192, 161, 71, 120, 63, 245, 195, 117, 63, 0, 0, 128, 65, 0, 0, 0, 63, 161, 71, 120, 63, 14, 78, 109, 63, 0, 0, 80, 65, 0, 0, 0, 63, 230, 180, 114, 63, 14, 78, 109, 63, 0, 0, 80, 65, 0, 0, 128, 192, 230, 180, 114, 63, 245, 195, 117, 63, 0, 0, 144, 65, 0, 0, 144, 192, 250, 31, 89, 63, 211, 136, 48, 63, 0, 0, 144, 65, 0, 0, 0, 63, 41, 233, 100, 63, 211, 136, 48, 63, 0, 0, 168, 65, 0, 0, 0, 63, 41, 233, 100, 63, 120, 21, 54, 63, 0, 0, 168, 65, 0, 0, 144, 192, 250, 31, 89, 63, 120, 21, 54, 63, 0, 0, 128, 191, 0, 0, 144, 192, 89, 15, 76, 63, 59, 195, 113, 63, 0, 0, 128, 191, 0, 0, 0, 63, 15, 213, 66, 63, 59, 195, 113, 63, 0, 0, 160, 192, 0, 0, 0, 63, 15, 213, 66, 63, 205, 100, 106, 63, 0, 0, 160, 192, 0, 0, 164, 193, 106, 46, 146, 59, 182, 103, 122, 63, 0, 0, 160, 192, 0, 0, 140, 193, 106, 46, 146, 59, 91, 244, 127, 63, 0, 0, 128, 191, 0, 0, 140, 193, 245, 173, 8, 61, 91, 244, 127, 63, 0, 0, 128, 191, 0, 0, 164, 193, 245, 173, 8, 61, 182, 103, 122, 63, 0, 0, 128, 191, 0, 0, 144, 192, 86, 49, 66, 63, 154, 209, 0, 61, 0, 0, 160, 192, 0, 0, 0, 63, 212, 202, 58, 63, 136, 234, 137, 61, 0, 0, 128, 191, 0, 0, 0, 63, 86, 49, 66, 63, 136, 234, 137, 61, 0, 0, 168, 65, 0, 0, 144, 192, 69, 164, 101, 63, 228, 99, 101, 63, 0, 0, 168, 65, 0, 0, 0, 63, 251, 105, 92, 63, 228, 99, 101, 63, 0, 0, 144, 65, 0, 0, 0, 63, 251, 105, 92, 63, 62, 215, 95, 63, 0, 0, 144, 65, 0, 0, 144, 192, 69, 164, 101, 63, 62, 215, 95, 63, 0, 0, 184, 65, 0, 0, 0, 191, 179, 250, 196, 61, 91, 244, 127, 63, 0, 0, 184, 65, 0, 0, 0, 63, 179, 250, 196, 61, 72, 11, 126, 63, 0, 0, 208, 65, 0, 0, 0, 63, 221, 100, 152, 61, 72, 11, 126, 63, 0, 0, 208, 65, 0, 0, 0, 191, 221, 100, 152, 61, 91, 244, 127, 63, 0, 0, 160, 192, 0, 0, 0, 191, 47, 110, 77, 63, 89, 105, 195, 61, 0, 0, 128, 191, 0, 0, 0, 191, 47, 110, 77, 63, 203, 92, 254, 61, 0, 0, 128, 191, 0, 0, 0, 63, 90, 89, 79, 63, 203, 92, 254, 61, 0, 0, 160, 192, 0, 0, 0, 63, 90, 89, 79, 63, 89, 105, 195, 61, 0, 0, 160, 192, 0, 0, 204, 193, 23, 219, 89, 63, 86, 91, 54, 63, 0, 0, 160, 192, 0, 0, 180, 193, 23, 219, 89, 63, 252, 231, 59, 63, 0, 0, 128, 191, 0, 0, 180, 193, 153, 65, 97, 63, 252, 231, 59, 63, 0, 0, 128, 191, 0, 0, 204, 193, 153, 65, 97, 63, 86, 91, 54, 63, 0, 0, 160, 192, 0, 0, 204, 193, 75, 223, 74, 63, 61, 80, 121, 63, 0, 0, 128, 191, 0, 0, 204, 193, 205, 69, 82, 63, 61, 80, 121, 63, 0, 0, 128, 191, 0, 0, 180, 193, 205, 69, 82, 63, 226, 220, 126, 63, 0, 0, 160, 192, 0, 0, 180, 193, 75, 223, 74, 63, 226, 220, 126, 63, 0, 0, 160, 192, 0, 0, 0, 191, 163, 219, 190, 62, 241, 171, 113, 63, 0, 0, 160, 192, 0, 0, 0, 63, 163, 219, 190, 62, 4, 149, 115, 63, 0, 0, 128, 191, 0, 0, 0, 63, 168, 168, 205, 62, 4, 149, 115, 63, 0, 0, 128, 191, 0, 0, 0, 191, 168, 168, 205, 62, 241, 171, 113, 63, 0, 0, 184, 65, 0, 0, 0, 191, 109, 122, 50, 63, 179, 89, 45, 63, 0, 0, 208, 65, 0, 0, 0, 191, 179, 231, 44, 63, 179, 89, 45, 63, 0, 0, 208, 65, 0, 0, 0, 63, 179, 231, 44, 63, 160, 112, 43, 63, 0, 0, 184, 65, 0, 0, 0, 63, 109, 122, 50, 63, 160, 112, 43, 63, 0, 0, 248, 65, 0, 0, 192, 191, 13, 120, 103, 63, 159, 235, 79, 63, 0, 0, 248, 65, 0, 0, 0, 63, 13, 120, 103, 63, 195, 48, 76, 63, 0, 0, 8, 66, 0, 0, 0, 63, 82, 229, 97, 63, 195, 48, 76, 63, 0, 0, 8, 66, 0, 0, 192, 191, 82, 229, 97, 63, 159, 235, 79, 63, 0, 0, 160, 192, 0, 0, 192, 191, 26, 185, 99, 63, 166, 142, 80, 63, 0, 0, 128, 191, 0, 0, 192, 191, 26, 185, 99, 63, 20, 237, 87, 63, 0, 0, 128, 191, 0, 0, 0, 63, 13, 120, 103, 63, 20, 237, 87, 63, 0, 0, 160, 192, 0, 0, 0, 63, 13, 120, 103, 63, 166, 142, 80, 63, 0, 0, 160, 192, 0, 0, 6, 194, 82, 229, 97, 63, 243, 185, 62, 63, 0, 0, 160, 192, 0, 0, 244, 193, 13, 120, 103, 63, 243, 185, 62, 63, 0, 0, 128, 191, 0, 0, 244, 193, 13, 120, 103, 63, 98, 24, 70, 63, 0, 0, 128, 191, 0, 0, 6, 194, 82, 229, 97, 63, 98, 24, 70, 63, 0, 0, 160, 192, 0, 0, 6, 194, 21, 71, 83, 63, 61, 80, 121, 63, 0, 0, 128, 191, 0, 0, 6, 194, 151, 173, 90, 63, 61, 80, 121, 63, 0, 0, 128, 191, 0, 0, 244, 193, 151, 173, 90, 63, 226, 220, 126, 63, 0, 0, 160, 192, 0, 0, 244, 193, 21, 71, 83, 63, 226, 220, 126, 63, 0, 0, 160, 192, 0, 0, 192, 191, 138, 199, 92, 63, 6, 34, 123, 63, 0, 0, 160, 192, 0, 0, 0, 63, 138, 199, 92, 63, 226, 220, 126, 63, 0, 0, 128, 191, 0, 0, 0, 63, 12, 46, 100, 63, 226, 220, 126, 63, 0, 0, 128, 191, 0, 0, 192, 191, 12, 46, 100, 63, 6, 34, 123, 63, 0, 0, 248, 65, 0, 0, 192, 191, 63, 232, 81, 63, 213, 146, 103, 63, 0, 0, 8, 66, 0, 0, 192, 191, 132, 85, 76, 63, 213, 146, 103, 63, 0, 0, 8, 66, 0, 0, 0, 63, 132, 85, 76, 63, 249, 215, 99, 63, 0, 0, 248, 65, 0, 0, 0, 63, 63, 232, 81, 63, 249, 215, 99, 63, 0, 0, 216, 65, 0, 0, 128, 191, 21, 126, 126, 63, 221, 61, 20, 63, 0, 0, 216, 65, 0, 0, 0, 63, 21, 126, 126, 63, 81, 61, 17, 63, 0, 0, 240, 65, 0, 0, 0, 63, 90, 235, 120, 63, 81, 61, 17, 63, 0, 0, 240, 65, 0, 0, 128, 191, 90, 235, 120, 63, 221, 61, 20, 63, 0, 0, 160, 192, 0, 0, 128, 191, 15, 213, 66, 63, 73, 146, 100, 63, 0, 0, 128, 191, 0, 0, 128, 191, 146, 59, 74, 63, 73, 146, 100, 63, 0, 0, 128, 191, 0, 0, 0, 63, 146, 59, 74, 63, 213, 146, 103, 63, 0, 0, 160, 192, 0, 0, 0, 63, 15, 213, 66, 63, 213, 146, 103, 63, 0, 0, 160, 192, 0, 0, 236, 193, 145, 4, 31, 63, 251, 229, 48, 63, 0, 0, 160, 192, 0, 0, 212, 193, 76, 151, 36, 63, 251, 229, 48, 63, 0, 0, 128, 191, 0, 0, 212, 193, 76, 151, 36, 63, 106, 68, 56, 63, 0, 0, 128, 191, 0, 0, 236, 193, 145, 4, 31, 63, 106, 68, 56, 63, 0, 0, 160, 192, 0, 0, 236, 193, 84, 47, 165, 60, 96, 143, 84, 63, 0, 0, 128, 191, 0, 0, 236, 193, 84, 47, 165, 60, 206, 237, 91, 63, 0, 0, 128, 191, 0, 0, 212, 193, 86, 195, 43, 61, 206, 237, 91, 63, 0, 0, 160, 192, 0, 0, 212, 193, 86, 195, 43, 61, 96, 143, 84, 63, 0, 0, 160, 192, 0, 0, 128, 191, 45, 218, 70, 63, 77, 168, 93, 63, 0, 0, 160, 192, 0, 0, 0, 63, 45, 218, 70, 63, 217, 168, 96, 63, 0, 0, 128, 191, 0, 0, 0, 63, 175, 64, 78, 63, 217, 168, 96, 63, 0, 0, 128, 191, 0, 0, 128, 191, 175, 64, 78, 63, 77, 168, 93, 63, 0, 0, 216, 65, 0, 0, 128, 191, 4, 40, 77, 63, 251, 229, 112, 61, 0, 0, 240, 65, 0, 0, 128, 191, 74, 149, 71, 63, 251, 229, 112, 61, 0, 0, 240, 65, 0, 0, 0, 63, 74, 149, 71, 63, 63, 221, 64, 61, 0, 0, 216, 65, 0, 0, 0, 63, 4, 40, 77, 63, 63, 221, 64, 61, 0, 0, 12, 66, 0, 0, 0, 192, 21, 126, 126, 63, 11, 58, 127, 63, 0, 0, 12, 66, 0, 0, 0, 63, 119, 166, 121, 63, 11, 58, 127, 63, 0, 0, 24, 66, 0, 0, 0, 63, 119, 166, 121, 63, 101, 173, 121, 63, 0, 0, 24, 66, 0, 0, 0, 192, 21, 126, 126, 63, 101, 173, 121, 63, 0, 0, 160, 192, 0, 0, 0, 192, 80, 81, 91, 63, 231, 119, 83, 63, 0, 0, 128, 191, 0, 0, 0, 192, 211, 183, 98, 63, 231, 119, 83, 63, 0, 0, 128, 191, 0, 0, 0, 63, 211, 183, 98, 63, 60, 74, 88, 63, 0, 0, 160, 192, 0, 0, 0, 63, 80, 81, 91, 63, 60, 74, 88, 63, 0, 0, 160, 192, 0, 0, 22, 194, 180, 49, 48, 63, 6, 161, 53, 63, 0, 0, 160, 192, 0, 0, 10, 194, 180, 49, 48, 63, 171, 45, 59, 63, 0, 0, 128, 191, 0, 0, 10, 194, 54, 152, 55, 63, 171, 45, 59, 63, 0, 0, 128, 191, 0, 0, 22, 194, 54, 152, 55, 63, 6, 161, 53, 63, 0, 0, 160, 192, 0, 0, 22, 194, 191, 21, 81, 63, 131, 206, 47, 63, 0, 0, 128, 191, 0, 0, 22, 194, 65, 124, 88, 63, 131, 206, 47, 63, 0, 0, 128, 191, 0, 0, 10, 194, 65, 124, 88, 63, 40, 91, 53, 63, 0, 0, 160, 192, 0, 0, 10, 194, 191, 21, 81, 63, 40, 91, 53, 63, 0, 0, 160, 192, 0, 0, 0, 192, 239, 59, 56, 63, 235, 139, 129, 60, 0, 0, 160, 192, 0, 0, 0, 63, 239, 59, 56, 63, 66, 235, 13, 61, 0, 0, 128, 191, 0, 0, 0, 63, 114, 162, 63, 63, 66, 235, 13, 61, 0, 0, 128, 191, 0, 0, 0, 192, 114, 162, 63, 63, 235, 139, 129, 60, 0, 0, 12, 66, 0, 0, 0, 192, 251, 105, 156, 60, 123, 164, 72, 63, 0, 0, 24, 66, 0, 0, 0, 192, 251, 105, 156, 60, 214, 23, 67, 63, 0, 0, 24, 66, 0, 0, 0, 63, 176, 28, 59, 57, 214, 23, 67, 63, 0, 0, 12, 66, 0, 0, 0, 63, 176, 28, 59, 57, 123, 164, 72, 63, 0, 0, 128, 191, 0, 0, 240, 192, 63, 177, 38, 63, 241, 42, 44, 63, 0, 0, 160, 192, 0, 0, 240, 192, 63, 177, 38, 63, 201, 207, 54, 63, 0, 0, 160, 192, 0, 0, 40, 193, 249, 67, 44, 63, 201, 207, 54, 63, 0, 0, 128, 191, 0, 0, 40, 193, 249, 67, 44, 63, 241, 42, 44, 63, 0, 0, 128, 191, 0, 0, 96, 192, 185, 163, 64, 63, 249, 86, 222, 61, 0, 0, 128, 191, 0, 0, 0, 63, 251, 251, 69, 63, 17, 219, 180, 61, 0, 0, 160, 192, 0, 0, 0, 63, 61, 84, 75, 63, 249, 86, 222, 61, 0, 0, 160, 192, 0, 0, 40, 193, 252, 179, 95, 63, 43, 238, 29, 61, 0, 0, 160, 192, 0, 0, 240, 192, 183, 70, 101, 63, 43, 238, 29, 61, 0, 0, 128, 191, 0, 0, 240, 192, 183, 70, 101, 63, 136, 234, 137, 61, 0, 0, 128, 191, 0, 0, 40, 193, 252, 179, 95, 63, 136, 234, 137, 61, 0, 0, 128, 191, 0, 0, 96, 192, 134, 32, 126, 63, 190, 149, 119, 63, 0, 0, 160, 192, 0, 0, 0, 63, 134, 32, 126, 63, 230, 240, 108, 63, 0, 0, 128, 191, 0, 0, 0, 63, 90, 235, 120, 63, 82, 67, 114, 63, 0, 0, 48, 65, 0, 0, 96, 192, 139, 237, 204, 62, 187, 6, 101, 63, 0, 0, 48, 65, 0, 0, 0, 63, 139, 237, 204, 62, 77, 168, 93, 63, 0, 0, 0, 65, 0, 0, 0, 63, 22, 200, 193, 62, 77, 168, 93, 63, 0, 0, 0, 65, 0, 0, 96, 192, 22, 200, 193, 62, 187, 6, 101, 63, 0, 0, 160, 64, 0, 0, 64, 192, 201, 194, 134, 62, 91, 244, 127, 63, 0, 0, 160, 64, 0, 0, 0, 192, 201, 194, 134, 62, 72, 11, 126, 63, 0, 0, 192, 64, 0, 0, 0, 192, 115, 236, 130, 62, 72, 11, 126, 63, 0, 0, 192, 64, 0, 0, 64, 192, 115, 236, 130, 62, 91, 244, 127, 63, 0, 0, 160, 192, 0, 0, 64, 192, 251, 160, 7, 63, 36, 196, 118, 63, 0, 0, 128, 192, 0, 0, 64, 192, 39, 140, 9, 63, 36, 196, 118, 63, 0, 0, 128, 192, 0, 0, 0, 192, 39, 140, 9, 63, 55, 173, 120, 63, 0, 0, 160, 192, 0, 0, 0, 192, 251, 160, 7, 63, 55, 173, 120, 63, 0, 0, 160, 192, 0, 0, 176, 192, 33, 227, 141, 62, 72, 11, 126, 63, 0, 0, 160, 192, 0, 0, 144, 192, 33, 227, 141, 62, 91, 244, 127, 63, 0, 0, 128, 192, 0, 0, 144, 192, 120, 185, 145, 62, 91, 244, 127, 63, 0, 0, 128, 192, 0, 0, 176, 192, 120, 185, 145, 62, 72, 11, 126, 63, 0, 0, 160, 192, 0, 0, 176, 192, 16, 31, 70, 63, 72, 11, 126, 63, 0, 0, 128, 192, 0, 0, 176, 192, 60, 10, 72, 63, 72, 11, 126, 63, 0, 0, 128, 192, 0, 0, 144, 192, 60, 10, 72, 63, 91, 244, 127, 63, 0, 0, 160, 192, 0, 0, 144, 192, 16, 31, 70, 63, 91, 244, 127, 63, 0, 0, 160, 192, 0, 0, 64, 192, 231, 254, 117, 63, 28, 152, 196, 62, 0, 0, 160, 192, 0, 0, 0, 192, 231, 254, 117, 63, 66, 106, 200, 62, 0, 0, 128, 192, 0, 0, 0, 192, 19, 234, 119, 63, 66, 106, 200, 62, 0, 0, 128, 192, 0, 0, 64, 192, 19, 234, 119, 63, 28, 152, 196, 62, 0, 0, 160, 64, 0, 0, 64, 192, 115, 236, 66, 63, 104, 58, 193, 61, 0, 0, 192, 64, 0, 0, 64, 192, 71, 1, 65, 63, 104, 58, 193, 61, 0, 0, 192, 64, 0, 0, 0, 192, 71, 1, 65, 63, 207, 241, 177, 61, 0, 0, 160, 64, 0, 0, 0, 192, 115, 236, 66, 63, 207, 241, 177, 61, 0, 0, 28, 66, 0, 0, 32, 192, 116, 54, 70, 63, 112, 231, 248, 60, 0, 0, 28, 66, 0, 0, 0, 63, 185, 163, 64, 63, 112, 231, 248, 60, 0, 0, 40, 66, 0, 0, 0, 63, 185, 163, 64, 63, 146, 165, 14, 60, 0, 0, 40, 66, 0, 0, 32, 192, 116, 54, 70, 63, 146, 165, 14, 60, 0, 0, 160, 192, 0, 0, 32, 192, 48, 184, 80, 63, 127, 184, 54, 63, 0, 0, 128, 191, 0, 0, 32, 192, 179, 30, 88, 63, 127, 184, 54, 63, 0, 0, 128, 191, 0, 0, 0, 63, 179, 30, 88, 63, 36, 69, 60, 63, 0, 0, 160, 192, 0, 0, 0, 63, 48, 184, 80, 63, 36, 69, 60, 63, 0, 0, 160, 192, 0, 0, 38, 194, 170, 96, 103, 63, 54, 171, 109, 63, 0, 0, 160, 192, 0, 0, 26, 194, 100, 243, 108, 63, 54, 171, 109, 63, 0, 0, 128, 191, 0, 0, 26, 194, 100, 243, 108, 63, 165, 9, 117, 63, 0, 0, 128, 191, 0, 0, 38, 194, 170, 96, 103, 63, 165, 9, 117, 63, 0, 0, 160, 192, 0, 0, 38, 194, 146, 23, 119, 63, 160, 239, 37, 60, 0, 0, 128, 191, 0, 0, 38, 194, 21, 126, 126, 63, 160, 239, 37, 60, 0, 0, 128, 191, 0, 0, 26, 194, 21, 126, 126, 63, 59, 70, 2, 61, 0, 0, 160, 192, 0, 0, 26, 194, 146, 23, 119, 63, 59, 70, 2, 61, 0, 0, 160, 192, 0, 0, 32, 192, 71, 1, 129, 61, 144, 24, 71, 63, 0, 0, 160, 192, 0, 0, 0, 63, 29, 151, 173, 61, 144, 24, 71, 63, 0, 0, 128, 191, 0, 0, 0, 63, 29, 151, 173, 61, 254, 118, 78, 63, 0, 0, 128, 191, 0, 0, 32, 192, 71, 1, 129, 61, 254, 118, 78, 63, 0, 0, 28, 66, 0, 0, 32, 192, 35, 119, 84, 63, 165, 9, 117, 63, 0, 0, 40, 66, 0, 0, 32, 192, 105, 228, 78, 63, 165, 9, 117, 63, 0, 0, 40, 66, 0, 0, 0, 63, 105, 228, 78, 63, 255, 124, 111, 63, 0, 0, 28, 66, 0, 0, 0, 63, 35, 119, 84, 63, 255, 124, 111, 63), -"format": 4151, -"index_count": 456, -"index_data": PackedByteArray(0, 0, 1, 0, 2, 0, 0, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 4, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 8, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 12, 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, 0, 16, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 20, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 24, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 0, 28, 0, 30, 0, 31, 0, 32, 0, 33, 0, 34, 0, 32, 0, 34, 0, 35, 0, 36, 0, 37, 0, 38, 0, 36, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 40, 0, 42, 0, 43, 0, 44, 0, 45, 0, 46, 0, 44, 0, 46, 0, 47, 0, 48, 0, 49, 0, 50, 0, 48, 0, 50, 0, 51, 0, 52, 0, 53, 0, 54, 0, 52, 0, 54, 0, 55, 0, 56, 0, 57, 0, 58, 0, 56, 0, 58, 0, 59, 0, 60, 0, 61, 0, 62, 0, 60, 0, 62, 0, 63, 0, 64, 0, 65, 0, 66, 0, 64, 0, 66, 0, 67, 0, 45, 0, 68, 0, 69, 0, 45, 0, 69, 0, 46, 0, 70, 0, 71, 0, 72, 0, 70, 0, 72, 0, 73, 0, 74, 0, 75, 0, 76, 0, 74, 0, 76, 0, 77, 0, 78, 0, 79, 0, 80, 0, 78, 0, 80, 0, 81, 0, 82, 0, 83, 0, 84, 0, 82, 0, 84, 0, 85, 0, 19, 0, 18, 0, 86, 0, 19, 0, 86, 0, 87, 0, 88, 0, 89, 0, 90, 0, 88, 0, 90, 0, 91, 0, 92, 0, 93, 0, 94, 0, 95, 0, 96, 0, 97, 0, 95, 0, 97, 0, 98, 0, 99, 0, 100, 0, 101, 0, 99, 0, 101, 0, 102, 0, 103, 0, 104, 0, 105, 0, 103, 0, 105, 0, 106, 0, 107, 0, 108, 0, 109, 0, 110, 0, 111, 0, 112, 0, 110, 0, 112, 0, 113, 0, 114, 0, 115, 0, 116, 0, 117, 0, 118, 0, 119, 0, 117, 0, 119, 0, 120, 0, 121, 0, 122, 0, 123, 0, 124, 0, 125, 0, 126, 0, 124, 0, 126, 0, 127, 0, 128, 0, 129, 0, 130, 0, 128, 0, 130, 0, 131, 0, 132, 0, 133, 0, 134, 0, 135, 0, 136, 0, 137, 0, 135, 0, 137, 0, 138, 0, 139, 0, 140, 0, 141, 0, 142, 0, 143, 0, 144, 0, 142, 0, 144, 0, 145, 0, 146, 0, 147, 0, 148, 0, 146, 0, 148, 0, 149, 0, 150, 0, 151, 0, 152, 0, 150, 0, 152, 0, 153, 0, 154, 0, 155, 0, 156, 0, 154, 0, 156, 0, 157, 0, 158, 0, 159, 0, 160, 0, 158, 0, 160, 0, 161, 0, 162, 0, 163, 0, 164, 0, 162, 0, 164, 0, 165, 0, 166, 0, 167, 0, 168, 0, 166, 0, 168, 0, 169, 0, 170, 0, 171, 0, 172, 0, 170, 0, 172, 0, 173, 0, 174, 0, 175, 0, 176, 0, 174, 0, 176, 0, 177, 0, 178, 0, 179, 0, 180, 0, 178, 0, 180, 0, 181, 0, 182, 0, 183, 0, 184, 0, 182, 0, 184, 0, 185, 0, 186, 0, 187, 0, 188, 0, 186, 0, 188, 0, 189, 0, 190, 0, 191, 0, 192, 0, 190, 0, 192, 0, 193, 0, 194, 0, 195, 0, 196, 0, 194, 0, 196, 0, 197, 0, 198, 0, 199, 0, 200, 0, 198, 0, 200, 0, 201, 0, 202, 0, 203, 0, 204, 0, 202, 0, 204, 0, 205, 0, 206, 0, 207, 0, 208, 0, 206, 0, 208, 0, 209, 0, 210, 0, 211, 0, 212, 0, 210, 0, 212, 0, 213, 0, 214, 0, 215, 0, 216, 0, 214, 0, 216, 0, 217, 0, 218, 0, 219, 0, 220, 0, 218, 0, 220, 0, 221, 0, 222, 0, 223, 0, 224, 0, 222, 0, 224, 0, 225, 0, 226, 0, 227, 0, 228, 0, 226, 0, 228, 0, 229, 0, 230, 0, 231, 0, 232, 0, 230, 0, 232, 0, 233, 0, 234, 0, 235, 0, 236, 0, 234, 0, 236, 0, 237, 0, 238, 0, 239, 0, 240, 0, 238, 0, 240, 0, 241, 0, 242, 0, 243, 0, 244, 0, 242, 0, 244, 0, 245, 0, 246, 0, 247, 0, 248, 0, 249, 0, 250, 0, 251, 0, 249, 0, 251, 0, 252, 0, 253, 0, 254, 0, 255, 0, 0, 1, 1, 1, 2, 1, 0, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 4, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 8, 1, 10, 1, 11, 1, 12, 1, 13, 1, 14, 1, 12, 1, 14, 1, 15, 1, 16, 1, 17, 1, 18, 1, 16, 1, 18, 1, 19, 1, 20, 1, 21, 1, 22, 1, 20, 1, 22, 1, 23, 1, 24, 1, 25, 1, 26, 1, 24, 1, 26, 1, 27, 1, 28, 1, 29, 1, 30, 1, 28, 1, 30, 1, 31, 1, 32, 1, 33, 1, 34, 1, 32, 1, 34, 1, 35, 1, 36, 1, 37, 1, 38, 1, 36, 1, 38, 1, 39, 1, 40, 1, 41, 1, 42, 1, 40, 1, 42, 1, 43, 1, 44, 1, 45, 1, 46, 1, 44, 1, 46, 1, 47, 1, 48, 1, 49, 1, 50, 1, 48, 1, 50, 1, 51, 1), -"material": SubResource("StandardMaterial3D_plg37"), -"primitive": 3, -"vertex_count": 308, -"vertex_data": PackedByteArray(244, 78, 249, 193, 0, 128, 38, 65, 0, 72, 17, 194, 255, 255, 255, 255, 255, 255, 0, 192, 244, 78, 249, 193, 0, 0, 38, 192, 0, 72, 17, 194, 255, 255, 255, 255, 255, 255, 0, 192, 134, 88, 83, 66, 0, 0, 38, 192, 0, 72, 17, 194, 255, 255, 255, 255, 255, 255, 0, 192, 134, 88, 83, 66, 0, 128, 38, 65, 0, 72, 17, 194, 255, 255, 255, 255, 255, 255, 0, 192, 244, 78, 249, 193, 0, 128, 38, 65, 0, 72, 17, 194, 0, 0, 0, 128, 255, 127, 255, 191, 244, 78, 249, 193, 0, 128, 38, 65, 0, 72, 13, 194, 0, 0, 0, 128, 255, 127, 255, 191, 244, 78, 249, 193, 0, 0, 38, 192, 0, 72, 13, 194, 0, 0, 0, 128, 255, 127, 255, 191, 244, 78, 249, 193, 0, 0, 38, 192, 0, 72, 17, 194, 0, 0, 0, 128, 255, 127, 255, 191, 134, 88, 83, 66, 0, 0, 38, 192, 0, 72, 17, 194, 0, 128, 0, 0, 255, 127, 0, 192, 244, 78, 249, 193, 0, 0, 38, 192, 0, 72, 17, 194, 0, 128, 0, 0, 255, 127, 0, 192, 244, 78, 249, 193, 0, 0, 38, 192, 0, 72, 13, 194, 0, 128, 0, 0, 255, 127, 0, 192, 134, 88, 83, 66, 0, 0, 38, 192, 0, 72, 13, 194, 0, 128, 0, 0, 255, 127, 0, 192, 134, 88, 83, 66, 0, 128, 38, 65, 0, 72, 17, 194, 0, 128, 255, 255, 255, 127, 255, 191, 134, 88, 83, 66, 0, 128, 38, 65, 0, 72, 13, 194, 0, 128, 255, 255, 255, 127, 255, 191, 244, 78, 249, 193, 0, 128, 38, 65, 0, 72, 13, 194, 0, 128, 255, 255, 255, 127, 255, 191, 244, 78, 249, 193, 0, 128, 38, 65, 0, 72, 17, 194, 0, 128, 255, 255, 255, 127, 255, 191, 134, 88, 83, 66, 0, 128, 38, 65, 0, 72, 17, 194, 255, 255, 0, 128, 255, 127, 0, 192, 134, 88, 83, 66, 0, 0, 38, 192, 0, 72, 17, 194, 255, 255, 0, 128, 255, 127, 0, 192, 134, 88, 83, 66, 0, 0, 38, 192, 0, 72, 13, 194, 255, 255, 0, 128, 255, 127, 0, 192, 134, 88, 83, 66, 0, 128, 38, 65, 0, 72, 13, 194, 255, 255, 0, 128, 255, 127, 0, 192, 244, 78, 249, 193, 0, 128, 38, 65, 0, 72, 13, 194, 255, 127, 255, 127, 255, 255, 255, 191, 134, 88, 83, 66, 0, 128, 38, 65, 0, 72, 13, 194, 255, 127, 255, 127, 255, 255, 255, 191, 134, 88, 83, 66, 0, 0, 38, 192, 0, 72, 13, 194, 255, 127, 255, 127, 255, 255, 255, 191, 244, 78, 249, 193, 0, 0, 38, 192, 0, 72, 13, 194, 255, 127, 255, 127, 255, 255, 255, 191, 244, 78, 249, 193, 0, 128, 38, 65, 0, 72, 13, 194, 255, 255, 255, 255, 0, 0, 0, 192, 244, 78, 249, 193, 0, 0, 38, 192, 0, 72, 13, 194, 255, 255, 255, 255, 0, 0, 0, 192, 244, 78, 241, 193, 0, 0, 38, 192, 0, 72, 13, 194, 255, 255, 255, 255, 0, 0, 0, 192, 244, 78, 241, 193, 0, 128, 38, 65, 0, 72, 13, 194, 255, 255, 255, 255, 0, 0, 0, 192, 244, 78, 249, 193, 0, 128, 38, 65, 0, 72, 13, 194, 0, 0, 0, 128, 254, 255, 255, 255, 244, 78, 249, 193, 0, 128, 38, 65, 0, 224, 90, 65, 0, 0, 0, 128, 254, 255, 255, 255, 244, 78, 249, 193, 0, 0, 38, 192, 0, 224, 90, 65, 0, 0, 0, 128, 254, 255, 255, 255, 244, 78, 249, 193, 0, 0, 38, 192, 0, 72, 13, 194, 0, 0, 0, 128, 254, 255, 255, 255, 244, 78, 241, 193, 0, 0, 38, 192, 0, 72, 13, 194, 0, 128, 0, 0, 255, 255, 255, 255, 244, 78, 249, 193, 0, 0, 38, 192, 0, 72, 13, 194, 0, 128, 0, 0, 255, 255, 255, 255, 244, 78, 249, 193, 0, 0, 38, 192, 0, 224, 90, 65, 0, 128, 0, 0, 255, 255, 255, 255, 244, 78, 241, 193, 0, 0, 38, 192, 0, 224, 90, 65, 0, 128, 0, 0, 255, 255, 255, 255, 244, 78, 241, 193, 0, 128, 38, 65, 0, 72, 13, 194, 0, 128, 255, 255, 255, 255, 254, 255, 244, 78, 241, 193, 0, 128, 38, 65, 0, 224, 90, 65, 0, 128, 255, 255, 255, 255, 254, 255, 244, 78, 249, 193, 0, 128, 38, 65, 0, 224, 90, 65, 0, 128, 255, 255, 255, 255, 254, 255, 244, 78, 249, 193, 0, 128, 38, 65, 0, 72, 13, 194, 0, 128, 255, 255, 255, 255, 254, 255, 244, 78, 241, 193, 0, 128, 38, 65, 0, 72, 13, 194, 255, 255, 0, 128, 254, 255, 255, 255, 244, 78, 241, 193, 0, 0, 38, 192, 0, 72, 13, 194, 255, 255, 0, 128, 254, 255, 255, 255, 244, 78, 241, 193, 0, 0, 38, 192, 0, 224, 90, 65, 255, 255, 0, 128, 254, 255, 255, 255, 244, 78, 241, 193, 0, 128, 38, 65, 0, 224, 90, 65, 255, 255, 0, 128, 254, 255, 255, 255, 244, 78, 249, 193, 0, 128, 38, 65, 0, 224, 90, 65, 255, 127, 255, 127, 0, 0, 255, 191, 244, 78, 241, 193, 0, 128, 38, 65, 0, 224, 90, 65, 255, 127, 255, 127, 0, 0, 255, 191, 244, 78, 241, 193, 0, 0, 38, 192, 0, 224, 90, 65, 255, 127, 255, 127, 0, 0, 255, 191, 244, 78, 249, 193, 0, 0, 38, 192, 0, 224, 90, 65, 255, 127, 255, 127, 0, 0, 255, 191, 244, 78, 241, 193, 0, 128, 38, 65, 0, 224, 74, 65, 255, 255, 255, 255, 0, 0, 0, 192, 244, 78, 241, 193, 0, 0, 38, 192, 0, 224, 74, 65, 255, 255, 255, 255, 0, 0, 0, 192, 134, 88, 83, 66, 0, 0, 38, 192, 0, 224, 74, 65, 255, 255, 255, 255, 0, 0, 0, 192, 134, 88, 83, 66, 0, 128, 38, 65, 0, 224, 74, 65, 255, 255, 255, 255, 0, 0, 0, 192, 244, 78, 241, 193, 0, 128, 38, 65, 0, 224, 74, 65, 0, 0, 0, 128, 254, 255, 255, 255, 244, 78, 241, 193, 0, 128, 38, 65, 0, 224, 90, 65, 0, 0, 0, 128, 254, 255, 255, 255, 244, 78, 241, 193, 0, 0, 38, 192, 0, 224, 90, 65, 0, 0, 0, 128, 254, 255, 255, 255, 244, 78, 241, 193, 0, 0, 38, 192, 0, 224, 74, 65, 0, 0, 0, 128, 254, 255, 255, 255, 134, 88, 83, 66, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 255, 255, 255, 244, 78, 241, 193, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 255, 255, 255, 244, 78, 241, 193, 0, 0, 38, 192, 0, 224, 90, 65, 0, 128, 0, 0, 255, 255, 255, 255, 134, 88, 83, 66, 0, 0, 38, 192, 0, 224, 90, 65, 0, 128, 0, 0, 255, 255, 255, 255, 134, 88, 83, 66, 0, 128, 38, 65, 0, 224, 74, 65, 0, 128, 255, 255, 255, 255, 254, 255, 134, 88, 83, 66, 0, 128, 38, 65, 0, 224, 90, 65, 0, 128, 255, 255, 255, 255, 254, 255, 244, 78, 241, 193, 0, 128, 38, 65, 0, 224, 90, 65, 0, 128, 255, 255, 255, 255, 254, 255, 244, 78, 241, 193, 0, 128, 38, 65, 0, 224, 74, 65, 0, 128, 255, 255, 255, 255, 254, 255, 134, 88, 83, 66, 0, 128, 38, 65, 0, 224, 74, 65, 255, 255, 0, 128, 254, 255, 255, 255, 134, 88, 83, 66, 0, 0, 38, 192, 0, 224, 74, 65, 255, 255, 0, 128, 254, 255, 255, 255, 134, 88, 83, 66, 0, 0, 38, 192, 0, 224, 90, 65, 255, 255, 0, 128, 254, 255, 255, 255, 134, 88, 83, 66, 0, 128, 38, 65, 0, 224, 90, 65, 255, 255, 0, 128, 254, 255, 255, 255, 134, 88, 83, 66, 0, 128, 38, 65, 0, 224, 90, 65, 255, 127, 255, 127, 0, 0, 255, 191, 134, 88, 83, 66, 0, 0, 38, 192, 0, 224, 90, 65, 255, 127, 255, 127, 0, 0, 255, 191, 134, 88, 79, 66, 0, 128, 38, 65, 0, 72, 13, 194, 255, 255, 255, 255, 255, 255, 0, 192, 134, 88, 79, 66, 0, 0, 38, 192, 0, 72, 13, 194, 255, 255, 255, 255, 255, 255, 0, 192, 134, 88, 83, 66, 0, 0, 38, 192, 0, 72, 13, 194, 255, 255, 255, 255, 255, 255, 0, 192, 134, 88, 83, 66, 0, 128, 38, 65, 0, 72, 13, 194, 255, 255, 255, 255, 255, 255, 0, 192, 134, 88, 79, 66, 0, 128, 38, 65, 0, 72, 13, 194, 0, 0, 0, 128, 255, 127, 255, 191, 134, 88, 79, 66, 0, 128, 38, 65, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 134, 88, 79, 66, 0, 0, 38, 192, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 134, 88, 79, 66, 0, 0, 38, 192, 0, 72, 13, 194, 0, 0, 0, 128, 255, 127, 255, 191, 134, 88, 83, 66, 0, 0, 38, 192, 0, 72, 13, 194, 0, 128, 0, 0, 255, 127, 0, 192, 134, 88, 79, 66, 0, 0, 38, 192, 0, 72, 13, 194, 0, 128, 0, 0, 255, 127, 0, 192, 134, 88, 79, 66, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 134, 88, 83, 66, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 134, 88, 83, 66, 0, 128, 38, 65, 0, 72, 13, 194, 0, 128, 255, 255, 255, 127, 255, 191, 134, 88, 83, 66, 0, 128, 38, 65, 0, 224, 74, 65, 0, 128, 255, 255, 255, 127, 255, 191, 134, 88, 79, 66, 0, 128, 38, 65, 0, 224, 74, 65, 0, 128, 255, 255, 255, 127, 255, 191, 134, 88, 79, 66, 0, 128, 38, 65, 0, 72, 13, 194, 0, 128, 255, 255, 255, 127, 255, 191, 134, 88, 83, 66, 0, 0, 38, 192, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 134, 88, 83, 66, 0, 128, 38, 65, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 134, 88, 79, 66, 0, 128, 38, 65, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 134, 88, 83, 66, 0, 128, 38, 65, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 134, 88, 83, 66, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 134, 88, 79, 66, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 24, 98, 125, 65, 0, 0, 90, 64, 0, 72, 13, 194, 255, 255, 255, 255, 255, 255, 0, 192, 209, 59, 133, 192, 0, 0, 38, 192, 0, 72, 13, 194, 255, 255, 255, 255, 255, 255, 0, 192, 24, 98, 125, 65, 0, 0, 38, 192, 0, 72, 13, 194, 255, 255, 255, 255, 255, 255, 0, 192, 24, 98, 125, 65, 0, 0, 90, 64, 0, 72, 13, 194, 117, 98, 117, 226, 255, 127, 255, 191, 24, 98, 125, 65, 0, 0, 90, 64, 0, 144, 186, 193, 117, 98, 117, 226, 255, 127, 255, 191, 209, 59, 133, 192, 0, 0, 38, 192, 0, 144, 186, 193, 117, 98, 117, 226, 255, 127, 255, 191, 209, 59, 133, 192, 0, 0, 38, 192, 0, 72, 13, 194, 117, 98, 117, 226, 255, 127, 255, 191, 24, 98, 125, 65, 0, 0, 38, 192, 0, 72, 13, 194, 0, 128, 0, 0, 255, 127, 0, 192, 209, 59, 133, 192, 0, 0, 38, 192, 0, 72, 13, 194, 0, 128, 0, 0, 255, 127, 0, 192, 209, 59, 133, 192, 0, 0, 38, 192, 0, 144, 186, 193, 0, 128, 0, 0, 255, 127, 0, 192, 24, 98, 125, 65, 0, 0, 38, 192, 0, 144, 186, 193, 0, 128, 0, 0, 255, 127, 0, 192, 24, 98, 125, 65, 0, 0, 38, 192, 0, 72, 13, 194, 255, 255, 0, 128, 255, 127, 0, 192, 24, 98, 125, 65, 0, 0, 38, 192, 0, 144, 186, 193, 255, 255, 0, 128, 255, 127, 0, 192, 24, 98, 125, 65, 0, 0, 90, 64, 0, 144, 186, 193, 255, 255, 0, 128, 255, 127, 0, 192, 24, 98, 125, 65, 0, 0, 90, 64, 0, 72, 13, 194, 255, 255, 0, 128, 255, 127, 0, 192, 24, 98, 125, 65, 0, 0, 90, 64, 0, 144, 186, 193, 255, 127, 255, 127, 255, 255, 255, 191, 24, 98, 125, 65, 0, 0, 38, 192, 0, 144, 186, 193, 255, 127, 255, 127, 255, 255, 255, 191, 209, 59, 133, 192, 0, 0, 38, 192, 0, 144, 186, 193, 255, 127, 255, 127, 255, 255, 255, 191, 244, 78, 145, 193, 0, 0, 244, 63, 0, 224, 74, 65, 195, 195, 255, 255, 255, 255, 0, 192, 244, 78, 145, 193, 0, 0, 38, 192, 0, 224, 10, 65, 195, 195, 255, 255, 255, 255, 0, 192, 232, 157, 114, 193, 0, 0, 38, 192, 0, 224, 10, 65, 195, 195, 255, 255, 255, 255, 0, 192, 232, 157, 114, 193, 0, 0, 244, 63, 0, 224, 74, 65, 195, 195, 255, 255, 255, 255, 0, 192, 244, 78, 145, 193, 0, 0, 244, 63, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 244, 78, 145, 193, 0, 0, 38, 192, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 244, 78, 145, 193, 0, 0, 38, 192, 0, 224, 10, 65, 0, 0, 0, 128, 255, 127, 255, 191, 232, 157, 114, 193, 0, 0, 38, 192, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 244, 78, 145, 193, 0, 0, 38, 192, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 244, 78, 145, 193, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 232, 157, 114, 193, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 232, 157, 114, 193, 0, 0, 244, 63, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 232, 157, 114, 193, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 0, 128, 255, 127, 0, 192, 232, 157, 114, 193, 0, 0, 38, 192, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 232, 157, 114, 193, 0, 0, 244, 63, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 232, 157, 114, 193, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 244, 78, 145, 193, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 244, 78, 145, 193, 0, 0, 244, 63, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 232, 157, 82, 193, 0, 0, 26, 64, 0, 224, 74, 65, 27, 199, 255, 255, 255, 255, 0, 192, 232, 157, 82, 193, 0, 0, 38, 192, 0, 224, 10, 65, 27, 199, 255, 255, 255, 255, 0, 192, 232, 157, 34, 193, 0, 0, 38, 192, 0, 224, 10, 65, 27, 199, 255, 255, 255, 255, 0, 192, 232, 157, 34, 193, 0, 0, 26, 64, 0, 224, 74, 65, 27, 199, 255, 255, 255, 255, 0, 192, 232, 157, 82, 193, 0, 0, 26, 64, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 232, 157, 82, 193, 0, 0, 38, 192, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 232, 157, 82, 193, 0, 0, 38, 192, 0, 224, 10, 65, 0, 0, 0, 128, 255, 127, 255, 191, 232, 157, 34, 193, 0, 0, 38, 192, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 232, 157, 82, 193, 0, 0, 38, 192, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 232, 157, 82, 193, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 232, 157, 34, 193, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 232, 157, 34, 193, 0, 0, 26, 64, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 232, 157, 34, 193, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 0, 128, 255, 127, 0, 192, 232, 157, 34, 193, 0, 0, 38, 192, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 232, 157, 34, 193, 0, 0, 26, 64, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 232, 157, 34, 193, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 232, 157, 82, 193, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 232, 157, 82, 193, 0, 0, 26, 64, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 232, 157, 2, 193, 0, 0, 204, 191, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 232, 157, 2, 193, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 209, 59, 165, 192, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 209, 59, 165, 192, 0, 0, 204, 191, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 232, 157, 2, 193, 0, 0, 204, 191, 0, 224, 10, 65, 0, 0, 0, 128, 255, 127, 255, 191, 232, 157, 2, 193, 0, 0, 204, 191, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 232, 157, 2, 193, 0, 0, 38, 192, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 232, 157, 2, 193, 0, 0, 38, 192, 0, 224, 10, 65, 0, 0, 0, 128, 255, 127, 255, 191, 209, 59, 165, 192, 0, 0, 38, 192, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 232, 157, 2, 193, 0, 0, 38, 192, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 232, 157, 2, 193, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 209, 59, 165, 192, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 209, 59, 165, 192, 0, 0, 204, 191, 0, 224, 10, 65, 0, 128, 255, 255, 255, 127, 255, 191, 209, 59, 165, 192, 0, 0, 204, 191, 0, 224, 74, 65, 0, 128, 255, 255, 255, 127, 255, 191, 232, 157, 2, 193, 0, 0, 204, 191, 0, 224, 74, 65, 0, 128, 255, 255, 255, 127, 255, 191, 232, 157, 2, 193, 0, 0, 204, 191, 0, 224, 10, 65, 0, 128, 255, 255, 255, 127, 255, 191, 209, 59, 165, 192, 0, 0, 204, 191, 0, 224, 10, 65, 255, 255, 0, 128, 255, 127, 0, 192, 209, 59, 165, 192, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 0, 128, 255, 127, 0, 192, 209, 59, 165, 192, 0, 0, 38, 192, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 209, 59, 165, 192, 0, 0, 204, 191, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 232, 157, 2, 193, 0, 0, 204, 191, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 209, 59, 165, 192, 0, 0, 204, 191, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 209, 59, 165, 192, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 232, 157, 2, 193, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 24, 122, 39, 190, 0, 0, 24, 191, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 24, 122, 39, 190, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 95, 136, 53, 64, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 95, 136, 53, 64, 0, 0, 24, 191, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 24, 122, 39, 190, 0, 0, 24, 191, 0, 224, 10, 65, 0, 0, 0, 128, 255, 127, 255, 191, 24, 122, 39, 190, 0, 0, 24, 191, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 24, 122, 39, 190, 0, 0, 38, 192, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 24, 122, 39, 190, 0, 0, 38, 192, 0, 224, 10, 65, 0, 0, 0, 128, 255, 127, 255, 191, 95, 136, 53, 64, 0, 0, 38, 192, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 24, 122, 39, 190, 0, 0, 38, 192, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 24, 122, 39, 190, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 95, 136, 53, 64, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 95, 136, 53, 64, 0, 0, 24, 191, 0, 224, 10, 65, 0, 128, 255, 255, 255, 127, 255, 191, 95, 136, 53, 64, 0, 0, 24, 191, 0, 224, 74, 65, 0, 128, 255, 255, 255, 127, 255, 191, 24, 122, 39, 190, 0, 0, 24, 191, 0, 224, 74, 65, 0, 128, 255, 255, 255, 127, 255, 191, 24, 122, 39, 190, 0, 0, 24, 191, 0, 224, 10, 65, 0, 128, 255, 255, 255, 127, 255, 191, 95, 136, 53, 64, 0, 0, 24, 191, 0, 224, 10, 65, 255, 255, 0, 128, 255, 127, 0, 192, 95, 136, 53, 64, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 0, 128, 255, 127, 0, 192, 95, 136, 53, 64, 0, 0, 38, 192, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 95, 136, 53, 64, 0, 0, 24, 191, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 24, 122, 39, 190, 0, 0, 24, 191, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 95, 136, 53, 64, 0, 0, 24, 191, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 95, 136, 53, 64, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 24, 122, 39, 190, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 209, 59, 133, 192, 0, 0, 140, 191, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 209, 59, 133, 192, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 67, 239, 148, 191, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 67, 239, 148, 191, 0, 0, 140, 191, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 209, 59, 133, 192, 0, 0, 140, 191, 0, 224, 10, 65, 0, 0, 0, 128, 255, 127, 255, 191, 209, 59, 133, 192, 0, 0, 140, 191, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 209, 59, 133, 192, 0, 0, 38, 192, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 209, 59, 133, 192, 0, 0, 38, 192, 0, 224, 10, 65, 0, 0, 0, 128, 255, 127, 255, 191, 67, 239, 148, 191, 0, 0, 38, 192, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 209, 59, 133, 192, 0, 0, 38, 192, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 209, 59, 133, 192, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 67, 239, 148, 191, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 67, 239, 148, 191, 0, 0, 140, 191, 0, 224, 10, 65, 0, 128, 255, 255, 255, 127, 255, 191, 67, 239, 148, 191, 0, 0, 140, 191, 0, 224, 74, 65, 0, 128, 255, 255, 255, 127, 255, 191, 209, 59, 133, 192, 0, 0, 140, 191, 0, 224, 74, 65, 0, 128, 255, 255, 255, 127, 255, 191, 209, 59, 133, 192, 0, 0, 140, 191, 0, 224, 10, 65, 0, 128, 255, 255, 255, 127, 255, 191, 67, 239, 148, 191, 0, 0, 140, 191, 0, 224, 10, 65, 255, 255, 0, 128, 255, 127, 0, 192, 67, 239, 148, 191, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 0, 128, 255, 127, 0, 192, 67, 239, 148, 191, 0, 0, 38, 192, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 67, 239, 148, 191, 0, 0, 140, 191, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 209, 59, 133, 192, 0, 0, 140, 191, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 67, 239, 148, 191, 0, 0, 140, 191, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 67, 239, 148, 191, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 209, 59, 133, 192, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 95, 136, 117, 64, 0, 0, 192, 189, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 95, 136, 117, 64, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 47, 196, 218, 64, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 47, 196, 218, 64, 0, 0, 192, 189, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 95, 136, 117, 64, 0, 0, 192, 189, 0, 224, 10, 65, 0, 0, 0, 128, 255, 127, 255, 191, 95, 136, 117, 64, 0, 0, 192, 189, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 95, 136, 117, 64, 0, 0, 38, 192, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 95, 136, 117, 64, 0, 0, 38, 192, 0, 224, 10, 65, 0, 0, 0, 128, 255, 127, 255, 191, 47, 196, 218, 64, 0, 0, 38, 192, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 95, 136, 117, 64, 0, 0, 38, 192, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 95, 136, 117, 64, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 47, 196, 218, 64, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 47, 196, 218, 64, 0, 0, 192, 189, 0, 224, 10, 65, 0, 128, 255, 255, 255, 127, 255, 191, 47, 196, 218, 64, 0, 0, 192, 189, 0, 224, 74, 65, 0, 128, 255, 255, 255, 127, 255, 191, 95, 136, 117, 64, 0, 0, 192, 189, 0, 224, 74, 65, 0, 128, 255, 255, 255, 127, 255, 191, 95, 136, 117, 64, 0, 0, 192, 189, 0, 224, 10, 65, 0, 128, 255, 255, 255, 127, 255, 191, 47, 196, 218, 64, 0, 0, 192, 189, 0, 224, 10, 65, 255, 255, 0, 128, 255, 127, 0, 192, 47, 196, 218, 64, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 0, 128, 255, 127, 0, 192, 47, 196, 218, 64, 0, 0, 38, 192, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 47, 196, 218, 64, 0, 0, 192, 189, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 95, 136, 117, 64, 0, 0, 192, 189, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 47, 196, 218, 64, 0, 0, 192, 189, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 47, 196, 218, 64, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 95, 136, 117, 64, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 244, 78, 185, 193, 0, 0, 180, 63, 0, 224, 74, 65, 255, 191, 255, 255, 255, 127, 255, 191, 244, 78, 185, 193, 0, 0, 38, 192, 0, 224, 10, 65, 255, 191, 255, 255, 255, 127, 255, 191, 244, 78, 161, 193, 0, 0, 38, 192, 0, 224, 10, 65, 255, 191, 255, 255, 255, 127, 255, 191, 244, 78, 161, 193, 0, 0, 180, 63, 0, 224, 74, 65, 255, 191, 255, 255, 255, 127, 255, 191, 244, 78, 185, 193, 0, 0, 180, 63, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 244, 78, 185, 193, 0, 0, 38, 192, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 244, 78, 185, 193, 0, 0, 38, 192, 0, 224, 10, 65, 0, 0, 0, 128, 255, 127, 255, 191, 244, 78, 161, 193, 0, 0, 38, 192, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 244, 78, 185, 193, 0, 0, 38, 192, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 244, 78, 185, 193, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 244, 78, 161, 193, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 244, 78, 161, 193, 0, 0, 180, 63, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 244, 78, 161, 193, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 0, 128, 255, 127, 0, 192, 244, 78, 161, 193, 0, 0, 38, 192, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 244, 78, 161, 193, 0, 0, 180, 63, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 244, 78, 161, 193, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 244, 78, 185, 193, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 244, 78, 185, 193, 0, 0, 180, 63, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 244, 78, 209, 193, 0, 0, 104, 63, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 244, 78, 209, 193, 0, 0, 192, 189, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 244, 78, 201, 193, 0, 0, 192, 189, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 244, 78, 201, 193, 0, 0, 104, 63, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 244, 78, 209, 193, 0, 0, 104, 63, 0, 224, 10, 65, 0, 0, 0, 128, 255, 127, 255, 191, 244, 78, 209, 193, 0, 0, 104, 63, 0, 224, 26, 65, 0, 0, 0, 128, 255, 127, 255, 191, 244, 78, 209, 193, 0, 0, 192, 189, 0, 224, 26, 65, 0, 0, 0, 128, 255, 127, 255, 191, 244, 78, 209, 193, 0, 0, 192, 189, 0, 224, 10, 65, 0, 0, 0, 128, 255, 127, 255, 191, 244, 78, 201, 193, 0, 0, 192, 189, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 244, 78, 209, 193, 0, 0, 192, 189, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 244, 78, 209, 193, 0, 0, 192, 189, 0, 224, 26, 65, 0, 128, 0, 0, 255, 127, 0, 192, 244, 78, 201, 193, 0, 0, 192, 189, 0, 224, 26, 65, 0, 128, 0, 0, 255, 127, 0, 192, 244, 78, 201, 193, 0, 0, 104, 63, 0, 224, 10, 65, 0, 128, 255, 255, 255, 127, 255, 191, 244, 78, 201, 193, 0, 0, 104, 63, 0, 224, 26, 65, 0, 128, 255, 255, 255, 127, 255, 191, 244, 78, 209, 193, 0, 0, 104, 63, 0, 224, 26, 65, 0, 128, 255, 255, 255, 127, 255, 191, 244, 78, 209, 193, 0, 0, 104, 63, 0, 224, 10, 65, 0, 128, 255, 255, 255, 127, 255, 191, 244, 78, 201, 193, 0, 0, 104, 63, 0, 224, 10, 65, 255, 255, 0, 128, 255, 127, 0, 192, 244, 78, 201, 193, 0, 0, 192, 189, 0, 224, 10, 65, 255, 255, 0, 128, 255, 127, 0, 192, 244, 78, 201, 193, 0, 0, 192, 189, 0, 224, 26, 65, 255, 255, 0, 128, 255, 127, 0, 192, 244, 78, 201, 193, 0, 0, 104, 63, 0, 224, 26, 65, 255, 255, 0, 128, 255, 127, 0, 192, 244, 78, 209, 193, 0, 0, 104, 63, 0, 224, 26, 65, 255, 127, 255, 127, 255, 255, 255, 191, 244, 78, 201, 193, 0, 0, 104, 63, 0, 224, 26, 65, 255, 127, 255, 127, 255, 255, 255, 191, 244, 78, 201, 193, 0, 0, 192, 189, 0, 224, 26, 65, 255, 127, 255, 127, 255, 255, 255, 191, 244, 78, 209, 193, 0, 0, 192, 189, 0, 224, 26, 65, 255, 127, 255, 127, 255, 255, 255, 191, 47, 196, 250, 64, 0, 0, 208, 62, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 47, 196, 250, 64, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 24, 98, 45, 65, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 24, 98, 45, 65, 0, 0, 208, 62, 0, 224, 10, 65, 255, 255, 255, 255, 255, 255, 0, 192, 47, 196, 250, 64, 0, 0, 208, 62, 0, 224, 10, 65, 0, 0, 0, 128, 255, 127, 255, 191, 47, 196, 250, 64, 0, 0, 208, 62, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 47, 196, 250, 64, 0, 0, 38, 192, 0, 224, 74, 65, 0, 0, 0, 128, 255, 127, 255, 191, 47, 196, 250, 64, 0, 0, 38, 192, 0, 224, 10, 65, 0, 0, 0, 128, 255, 127, 255, 191, 24, 98, 45, 65, 0, 0, 38, 192, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 47, 196, 250, 64, 0, 0, 38, 192, 0, 224, 10, 65, 0, 128, 0, 0, 255, 127, 0, 192, 47, 196, 250, 64, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 24, 98, 45, 65, 0, 0, 38, 192, 0, 224, 74, 65, 0, 128, 0, 0, 255, 127, 0, 192, 24, 98, 45, 65, 0, 0, 208, 62, 0, 224, 10, 65, 0, 128, 255, 255, 255, 127, 255, 191, 24, 98, 45, 65, 0, 0, 208, 62, 0, 224, 74, 65, 0, 128, 255, 255, 255, 127, 255, 191, 47, 196, 250, 64, 0, 0, 208, 62, 0, 224, 74, 65, 0, 128, 255, 255, 255, 127, 255, 191, 47, 196, 250, 64, 0, 0, 208, 62, 0, 224, 10, 65, 0, 128, 255, 255, 255, 127, 255, 191, 24, 98, 45, 65, 0, 0, 208, 62, 0, 224, 10, 65, 255, 255, 0, 128, 255, 127, 0, 192, 24, 98, 45, 65, 0, 0, 38, 192, 0, 224, 10, 65, 255, 255, 0, 128, 255, 127, 0, 192, 24, 98, 45, 65, 0, 0, 38, 192, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 24, 98, 45, 65, 0, 0, 208, 62, 0, 224, 74, 65, 255, 255, 0, 128, 255, 127, 0, 192, 47, 196, 250, 64, 0, 0, 208, 62, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 24, 98, 45, 65, 0, 0, 208, 62, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 24, 98, 45, 65, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191, 47, 196, 250, 64, 0, 0, 38, 192, 0, 224, 74, 65, 255, 127, 255, 127, 255, 255, 255, 191) -}, { -"aabb": AABB(-0.426691, -2.59375, -15.5524, 11.0933, 4.00001, 8.7141), -"attribute_data": PackedByteArray(115, 101, 128, 64, 0, 0, 128, 191, 9, 80, 90, 63, 204, 98, 31, 61, 122, 55, 62, 64, 0, 0, 128, 191, 45, 218, 70, 63, 204, 98, 31, 61, 122, 55, 62, 64, 0, 0, 0, 0, 45, 218, 70, 63, 160, 239, 37, 60, 115, 101, 128, 64, 0, 0, 0, 0, 9, 80, 90, 63, 160, 239, 37, 60, 146, 36, 198, 190, 255, 255, 151, 192, 76, 96, 121, 63, 66, 104, 125, 63, 76, 99, 65, 190, 0, 0, 152, 192, 76, 96, 121, 63, 211, 9, 118, 63, 92, 99, 65, 190, 0, 0, 194, 192, 112, 234, 101, 63, 211, 9, 118, 63, 154, 36, 198, 190, 255, 255, 193, 192, 112, 234, 101, 63, 66, 104, 125, 63, 115, 101, 128, 64, 0, 0, 128, 191, 123, 206, 70, 59, 248, 209, 66, 63, 115, 101, 128, 64, 0, 0, 0, 0, 152, 206, 70, 59, 137, 115, 59, 63, 123, 55, 62, 64, 0, 0, 0, 0, 82, 229, 161, 61, 137, 115, 59, 63, 123, 55, 62, 64, 0, 0, 128, 191, 82, 229, 161, 61, 248, 209, 66, 63), -"format": 4151, -"index_count": 18, -"index_data": PackedByteArray(0, 0, 1, 0, 2, 0, 0, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 4, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 8, 0, 10, 0, 11, 0), -"material": SubResource("StandardMaterial3D_8xybu"), -"primitive": 3, -"vertex_count": 12, -"vertex_data": PackedByteArray(75, 170, 10, 65, 0, 0, 180, 63, 123, 214, 120, 193, 0, 0, 37, 209, 255, 255, 0, 192, 76, 119, 218, 190, 0, 0, 180, 63, 123, 214, 36, 193, 0, 0, 37, 209, 255, 255, 0, 192, 76, 119, 218, 190, 0, 0, 38, 192, 123, 214, 36, 193, 0, 0, 37, 209, 255, 255, 0, 192, 75, 170, 10, 65, 0, 0, 38, 192, 123, 214, 120, 193, 0, 0, 37, 209, 255, 255, 0, 192, 76, 119, 218, 190, 0, 0, 38, 192, 123, 214, 36, 193, 0, 128, 0, 0, 217, 174, 0, 192, 45, 98, 201, 63, 0, 0, 38, 192, 10, 211, 218, 192, 0, 128, 0, 0, 217, 174, 0, 192, 75, 170, 42, 65, 0, 0, 38, 192, 133, 105, 65, 193, 0, 128, 0, 0, 217, 174, 0, 192, 75, 170, 10, 65, 0, 0, 38, 192, 123, 214, 120, 193, 0, 128, 0, 0, 217, 174, 0, 192, 75, 170, 42, 65, 0, 0, 180, 63, 133, 105, 65, 193, 217, 174, 255, 127, 255, 255, 255, 191, 75, 170, 42, 65, 0, 0, 38, 192, 133, 105, 65, 193, 217, 174, 255, 127, 255, 255, 255, 191, 45, 98, 201, 63, 0, 0, 38, 192, 10, 211, 218, 192, 217, 174, 255, 127, 255, 255, 255, 191, 45, 98, 201, 63, 0, 0, 180, 63, 10, 211, 218, 192, 217, 174, 255, 127, 255, 255, 255, 191) -}, { -"aabb": AABB(-0.426691, -2.59375, -15.5524, 11.0933, 4.00001, 8.7141), -"attribute_data": PackedByteArray(209, 30, 0, 193, 96, 34, 129, 191, 253, 198, 119, 61, 148, 48, 75, 63, 209, 30, 0, 193, 224, 141, 43, 60, 214, 94, 1, 61, 148, 48, 75, 63, 0, 0, 224, 192, 224, 141, 43, 60, 214, 94, 1, 61, 38, 210, 67, 63, 0, 0, 224, 192, 96, 34, 129, 191, 253, 198, 119, 61, 38, 210, 67, 63, 102, 210, 2, 192, 2, 0, 64, 192, 180, 49, 48, 63, 104, 189, 81, 63, 107, 210, 2, 192, 222, 169, 127, 192, 180, 49, 48, 63, 203, 92, 62, 63, 35, 200, 119, 191, 223, 169, 127, 192, 54, 152, 55, 63, 203, 92, 62, 63, 14, 200, 119, 191, 2, 0, 64, 192, 54, 152, 55, 63, 104, 189, 81, 63, 65, 118, 224, 192, 20, 110, 128, 191, 139, 127, 54, 63, 0, 254, 52, 63, 0, 0, 192, 192, 20, 110, 128, 191, 139, 127, 54, 63, 145, 159, 45, 63, 0, 0, 192, 192, 0, 0, 0, 0, 9, 25, 47, 63, 145, 159, 45, 63, 65, 118, 224, 192, 0, 0, 0, 0, 9, 25, 47, 63, 0, 254, 52, 63), -"format": 4151, -"index_count": 18, -"index_data": PackedByteArray(0, 0, 1, 0, 2, 0, 0, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 4, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 8, 0, 10, 0, 11, 0), -"material": SubResource("StandardMaterial3D_rri1d"), -"primitive": 3, -"vertex_count": 12, -"vertex_data": PackedByteArray(75, 170, 10, 65, 0, 0, 180, 63, 123, 214, 120, 193, 255, 255, 217, 174, 255, 127, 0, 192, 75, 170, 10, 65, 0, 0, 38, 192, 123, 214, 120, 193, 255, 255, 217, 174, 255, 127, 0, 192, 75, 170, 42, 65, 0, 0, 38, 192, 133, 105, 65, 193, 255, 255, 217, 174, 255, 127, 0, 192, 75, 170, 42, 65, 0, 0, 180, 63, 133, 105, 65, 193, 255, 255, 217, 174, 255, 127, 0, 192, 76, 119, 218, 190, 0, 0, 180, 63, 123, 214, 36, 193, 0, 128, 255, 255, 217, 174, 255, 191, 75, 170, 10, 65, 0, 0, 180, 63, 123, 214, 120, 193, 0, 128, 255, 255, 217, 174, 255, 191, 75, 170, 42, 65, 0, 0, 180, 63, 133, 105, 65, 193, 0, 128, 255, 255, 217, 174, 255, 191, 45, 98, 201, 63, 0, 0, 180, 63, 10, 211, 218, 192, 0, 128, 255, 255, 217, 174, 255, 191, 76, 119, 218, 190, 0, 0, 180, 63, 123, 214, 36, 193, 217, 46, 255, 127, 255, 127, 255, 191, 45, 98, 201, 63, 0, 0, 180, 63, 10, 211, 218, 192, 217, 46, 255, 127, 255, 127, 255, 191, 45, 98, 201, 63, 0, 0, 38, 192, 10, 211, 218, 192, 217, 46, 255, 127, 255, 127, 255, 191, 76, 119, 218, 190, 0, 0, 38, 192, 123, 214, 36, 193, 217, 46, 255, 127, 255, 127, 255, 191) -}] - -[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_2ub2n"] -data = PackedVector3Array(-31.1636, -2.5938, -36.3203, -31.1636, -4.5938, -36.3203, 52.8365, -4.5938, -36.3203, -31.1636, -2.5938, -36.3203, 52.8365, -4.5938, -36.3203, 52.8365, -2.5938, -36.3203, -31.1636, -2.5938, -36.3203, -31.1636, -2.5938, 13.6797, -31.1636, -4.5938, 13.6797, -31.1636, -2.5938, -36.3203, -31.1636, -4.5938, 13.6797, -31.1636, -4.5938, -36.3203, 52.8365, -4.5938, -36.3203, -31.1636, -4.5938, -36.3203, -31.1636, -4.5938, 13.6797, 52.8365, -4.5938, -36.3203, -31.1636, -4.5938, 13.6797, 52.8365, -4.5938, 13.6797, 52.8365, -2.5938, -36.3203, 52.8365, -2.5938, 13.6797, -31.1636, -2.5938, 13.6797, 52.8365, -2.5938, -36.3203, -31.1636, -2.5938, 13.6797, -31.1636, -2.5938, -36.3203, 52.8365, -2.5938, -36.3203, 52.8365, -4.5938, -36.3203, 52.8365, -4.5938, 13.6797, 52.8365, -2.5938, -36.3203, 52.8365, -4.5938, 13.6797, 52.8365, -2.5938, 13.6797, -31.1636, -2.5938, 13.6797, 52.8365, -2.5938, 13.6797, 52.8365, -4.5938, 13.6797, -31.1636, -2.5938, 13.6797, 52.8365, -4.5938, 13.6797, -31.1636, -4.5938, 13.6797, -31.1636, 10.4063, -36.3203, -31.1636, -2.5938, -36.3203, 52.8365, -2.5938, -36.3203, -31.1636, 10.4063, -36.3203, 52.8365, -2.5938, -36.3203, 52.8365, 10.4063, -36.3203, -31.1636, 10.4063, -36.3203, -31.1636, 10.4063, -35.3203, -31.1636, -2.5938, -35.3203, -31.1636, 10.4063, -36.3203, -31.1636, -2.5938, -35.3203, -31.1636, -2.5938, -36.3203, 52.8365, -2.5938, -36.3203, -31.1636, -2.5938, -36.3203, -31.1636, -2.5938, -35.3203, 52.8365, -2.5938, -36.3203, -31.1636, -2.5938, -35.3203, 52.8365, -2.5938, -35.3203, 52.8365, 10.4063, -36.3203, 52.8365, 10.4063, -35.3203, -31.1636, 10.4063, -35.3203, 52.8365, 10.4063, -36.3203, -31.1636, 10.4063, -35.3203, -31.1636, 10.4063, -36.3203, 52.8365, 10.4063, -36.3203, 52.8365, -2.5938, -36.3203, 52.8365, -2.5938, -35.3203, 52.8365, 10.4063, -36.3203, 52.8365, -2.5938, -35.3203, 52.8365, 10.4063, -35.3203, -31.1636, 10.4063, -35.3203, 52.8365, 10.4063, -35.3203, 52.8365, -2.5938, -35.3203, -31.1636, 10.4063, -35.3203, 52.8365, -2.5938, -35.3203, -31.1636, -2.5938, -35.3203, -31.1636, 10.4063, -35.3203, -31.1636, -2.5938, -35.3203, -30.1636, -2.5938, -35.3203, -31.1636, 10.4063, -35.3203, -30.1636, -2.5938, -35.3203, -30.1636, 10.4063, -35.3203, -31.1636, 10.4063, -35.3203, -31.1636, 10.4063, 13.6797, -31.1636, -2.5938, 13.6797, -31.1636, 10.4063, -35.3203, -31.1636, -2.5938, 13.6797, -31.1636, -2.5938, -35.3203, -30.1636, -2.5938, -35.3203, -31.1636, -2.5938, -35.3203, -31.1636, -2.5938, 13.6797, -30.1636, -2.5938, -35.3203, -31.1636, -2.5938, 13.6797, -30.1636, -2.5938, 13.6797, -30.1636, 10.4063, -35.3203, -30.1636, 10.4063, 13.6797, -31.1636, 10.4063, 13.6797, -30.1636, 10.4063, -35.3203, -31.1636, 10.4063, 13.6797, -31.1636, 10.4063, -35.3203, -30.1636, 10.4063, -35.3203, -30.1636, -2.5938, -35.3203, -30.1636, -2.5938, 13.6797, -30.1636, 10.4063, -35.3203, -30.1636, -2.5938, 13.6797, -30.1636, 10.4063, 13.6797, -31.1636, 10.4063, 13.6797, -30.1636, 10.4063, 13.6797, -30.1636, -2.5938, 13.6797, -31.1636, 10.4063, 13.6797, -30.1636, -2.5938, 13.6797, -31.1636, -2.5938, 13.6797, -30.1636, 10.4063, 12.6797, -30.1636, -2.5938, 12.6797, 52.8365, -2.5938, 12.6797, -30.1636, 10.4063, 12.6797, 52.8365, -2.5938, 12.6797, 52.8365, 10.4063, 12.6797, -30.1636, 10.4063, 12.6797, -30.1636, 10.4063, 13.6797, -30.1636, -2.5938, 13.6797, -30.1636, 10.4063, 12.6797, -30.1636, -2.5938, 13.6797, -30.1636, -2.5938, 12.6797, 52.8365, -2.5938, 12.6797, -30.1636, -2.5938, 12.6797, -30.1636, -2.5938, 13.6797, 52.8365, -2.5938, 12.6797, -30.1636, -2.5938, 13.6797, 52.8365, -2.5938, 13.6797, 52.8365, 10.4063, 12.6797, 52.8365, 10.4063, 13.6797, -30.1636, 10.4063, 13.6797, 52.8365, 10.4063, 12.6797, -30.1636, 10.4063, 13.6797, -30.1636, 10.4063, 12.6797, 52.8365, 10.4063, 12.6797, 52.8365, -2.5938, 12.6797, 52.8365, -2.5938, 13.6797, 52.8365, 10.4063, 12.6797, 52.8365, -2.5938, 13.6797, 52.8365, 10.4063, 13.6797, -30.1636, 10.4063, 13.6797, 52.8365, 10.4063, 13.6797, 52.8365, -2.5938, 13.6797, -30.1636, 10.4063, 13.6797, 52.8365, -2.5938, 13.6797, -30.1636, -2.5938, 13.6797, 51.8364, 10.4063, -35.3203, 51.8364, -2.5938, -35.3203, 52.8365, -2.5938, -35.3203, 51.8364, 10.4063, -35.3203, 52.8365, -2.5938, -35.3203, 52.8365, 10.4063, -35.3203, 51.8364, 10.4063, -35.3203, 51.8364, 10.4063, 12.6797, 51.8364, -2.5938, 12.6797, 51.8364, 10.4063, -35.3203, 51.8364, -2.5938, 12.6797, 51.8364, -2.5938, -35.3203, 52.8365, -2.5938, -35.3203, 51.8364, -2.5938, -35.3203, 51.8364, -2.5938, 12.6797, 52.8365, -2.5938, -35.3203, 51.8364, -2.5938, 12.6797, 52.8365, -2.5938, 12.6797, 52.8365, 10.4063, -35.3203, 52.8365, 10.4063, 12.6797, 51.8364, 10.4063, 12.6797, 52.8365, 10.4063, -35.3203, 51.8364, 10.4063, 12.6797, 51.8364, 10.4063, -35.3203, 52.8365, 10.4063, -35.3203, 52.8365, -2.5938, -35.3203, 52.8365, -2.5938, 12.6797, 52.8365, 10.4063, -35.3203, 52.8365, -2.5938, 12.6797, 52.8365, 10.4063, 12.6797, 51.8364, 10.4063, 12.6797, 52.8365, 10.4063, 12.6797, 52.8365, -2.5938, 12.6797, 51.8364, 10.4063, 12.6797, 52.8365, -2.5938, 12.6797, 51.8364, -2.5938, 12.6797, 15.8364, 3.4063, -35.3203, -4.1636, -2.5938, -35.3203, 15.8364, -2.5938, -35.3203, 15.8364, 3.4063, -35.3203, 15.8364, 3.4063, -23.3203, -4.1636, -2.5938, -23.3203, 15.8364, 3.4063, -35.3203, -4.1636, -2.5938, -23.3203, -4.1636, -2.5938, -35.3203, 15.8364, -2.5938, -35.3203, -4.1636, -2.5938, -35.3203, -4.1636, -2.5938, -23.3203, 15.8364, -2.5938, -35.3203, -4.1636, -2.5938, -23.3203, 15.8364, -2.5938, -23.3203, 15.8364, -2.5938, -35.3203, 15.8364, -2.5938, -23.3203, 15.8364, 3.4063, -23.3203, 15.8364, -2.5938, -35.3203, 15.8364, 3.4063, -23.3203, 15.8364, 3.4063, -35.3203, 15.8364, 3.4063, -23.3203, 15.8364, -2.5938, -23.3203, -4.1636, -2.5938, -23.3203, -18.1636, 1.9063, 12.6797, -18.1636, -2.5938, 8.6797, -15.1636, -2.5938, 8.6797, -18.1636, 1.9063, 12.6797, -15.1636, -2.5938, 8.6797, -15.1636, 1.9063, 12.6797, -18.1636, 1.9063, 12.6797, -18.1636, -2.5938, 12.6797, -18.1636, -2.5938, 8.6797, -15.1636, -2.5938, 8.6797, -18.1636, -2.5938, 8.6797, -18.1636, -2.5938, 12.6797, -15.1636, -2.5938, 8.6797, -18.1636, -2.5938, 12.6797, -15.1636, -2.5938, 12.6797, -15.1636, 1.9063, 12.6797, -15.1636, -2.5938, 8.6797, -15.1636, -2.5938, 12.6797, -15.1636, 1.9063, 12.6797, -15.1636, -2.5938, 12.6797, -18.1636, -2.5938, 12.6797, -15.1636, 1.9063, 12.6797, -18.1636, -2.5938, 12.6797, -18.1636, 1.9063, 12.6797, -13.1636, 2.4063, 12.6797, -13.1636, -2.5938, 8.6797, -10.1636, -2.5938, 8.6797, -13.1636, 2.4063, 12.6797, -10.1636, -2.5938, 8.6797, -10.1636, 2.4063, 12.6797, -13.1636, 2.4063, 12.6797, -13.1636, -2.5938, 12.6797, -13.1636, -2.5938, 8.6797, -10.1636, -2.5938, 8.6797, -13.1636, -2.5938, 8.6797, -13.1636, -2.5938, 12.6797, -10.1636, -2.5938, 8.6797, -13.1636, -2.5938, 12.6797, -10.1636, -2.5938, 12.6797, -10.1636, 2.4063, 12.6797, -10.1636, -2.5938, 8.6797, -10.1636, -2.5938, 12.6797, -10.1636, 2.4063, 12.6797, -10.1636, -2.5938, 12.6797, -13.1636, -2.5938, 12.6797, -10.1636, 2.4063, 12.6797, -13.1636, -2.5938, 12.6797, -13.1636, 2.4063, 12.6797, -8.1636, -1.5938, 8.6797, -8.1636, -2.5938, 8.6797, -5.1636, -2.5938, 8.6797, -8.1636, -1.5938, 8.6797, -5.1636, -2.5938, 8.6797, -5.1636, -1.5938, 8.6797, -8.1636, -1.5938, 8.6797, -8.1636, -1.5938, 12.6797, -8.1636, -2.5938, 12.6797, -8.1636, -1.5938, 8.6797, -8.1636, -2.5938, 12.6797, -8.1636, -2.5938, 8.6797, -5.1636, -2.5938, 8.6797, -8.1636, -2.5938, 8.6797, -8.1636, -2.5938, 12.6797, -5.1636, -2.5938, 8.6797, -8.1636, -2.5938, 12.6797, -5.1636, -2.5938, 12.6797, -5.1636, -1.5938, 8.6797, -5.1636, -1.5938, 12.6797, -8.1636, -1.5938, 12.6797, -5.1636, -1.5938, 8.6797, -8.1636, -1.5938, 12.6797, -8.1636, -1.5938, 8.6797, -5.1636, -1.5938, 8.6797, -5.1636, -2.5938, 8.6797, -5.1636, -2.5938, 12.6797, -5.1636, -1.5938, 8.6797, -5.1636, -2.5938, 12.6797, -5.1636, -1.5938, 12.6797, -8.1636, -1.5938, 12.6797, -5.1636, -1.5938, 12.6797, -5.1636, -2.5938, 12.6797, -8.1636, -1.5938, 12.6797, -5.1636, -2.5938, 12.6797, -8.1636, -2.5938, 12.6797, -0.1636, -0.5938, 8.6797, -0.1636, -2.5938, 8.6797, 2.8364, -2.5938, 8.6797, -0.1636, -0.5938, 8.6797, 2.8364, -2.5938, 8.6797, 2.8364, -0.5938, 8.6797, -0.1636, -0.5938, 8.6797, -0.1636, -0.5938, 12.6797, -0.1636, -2.5938, 12.6797, -0.1636, -0.5938, 8.6797, -0.1636, -2.5938, 12.6797, -0.1636, -2.5938, 8.6797, 2.8364, -2.5938, 8.6797, -0.1636, -2.5938, 8.6797, -0.1636, -2.5938, 12.6797, 2.8364, -2.5938, 8.6797, -0.1636, -2.5938, 12.6797, 2.8364, -2.5938, 12.6797, 2.8364, -0.5938, 8.6797, 2.8364, -0.5938, 12.6797, -0.1636, -0.5938, 12.6797, 2.8364, -0.5938, 8.6797, -0.1636, -0.5938, 12.6797, -0.1636, -0.5938, 8.6797, 2.8364, -0.5938, 8.6797, 2.8364, -2.5938, 8.6797, 2.8364, -2.5938, 12.6797, 2.8364, -0.5938, 8.6797, 2.8364, -2.5938, 12.6797, 2.8364, -0.5938, 12.6797, -0.1636, -0.5938, 12.6797, 2.8364, -0.5938, 12.6797, 2.8364, -2.5938, 12.6797, -0.1636, -0.5938, 12.6797, 2.8364, -2.5938, 12.6797, -0.1636, -2.5938, 12.6797, -4.1636, -1.0938, 8.6797, -4.1636, -2.5938, 8.6797, -1.1636, -2.5938, 8.6797, -4.1636, -1.0938, 8.6797, -1.1636, -2.5938, 8.6797, -1.1636, -1.0938, 8.6797, -4.1636, -1.0938, 8.6797, -4.1636, -1.0938, 12.6797, -4.1636, -2.5938, 12.6797, -4.1636, -1.0938, 8.6797, -4.1636, -2.5938, 12.6797, -4.1636, -2.5938, 8.6797, -1.1636, -2.5938, 8.6797, -4.1636, -2.5938, 8.6797, -4.1636, -2.5938, 12.6797, -1.1636, -2.5938, 8.6797, -4.1636, -2.5938, 12.6797, -1.1636, -2.5938, 12.6797, -1.1636, -1.0938, 8.6797, -1.1636, -1.0938, 12.6797, -4.1636, -1.0938, 12.6797, -1.1636, -1.0938, 8.6797, -4.1636, -1.0938, 12.6797, -4.1636, -1.0938, 8.6797, -1.1636, -1.0938, 8.6797, -1.1636, -2.5938, 8.6797, -1.1636, -2.5938, 12.6797, -1.1636, -1.0938, 8.6797, -1.1636, -2.5938, 12.6797, -1.1636, -1.0938, 12.6797, -4.1636, -1.0938, 12.6797, -1.1636, -1.0938, 12.6797, -1.1636, -2.5938, 12.6797, -4.1636, -1.0938, 12.6797, -1.1636, -2.5938, 12.6797, -4.1636, -2.5938, 12.6797, 3.8364, -0.0938, 8.6797, 3.8364, -2.5938, 8.6797, 6.8364, -2.5938, 8.6797, 3.8364, -0.0938, 8.6797, 6.8364, -2.5938, 8.6797, 6.8364, -0.0938, 8.6797, 3.8364, -0.0938, 8.6797, 3.8364, -0.0938, 12.6797, 3.8364, -2.5938, 12.6797, 3.8364, -0.0938, 8.6797, 3.8364, -2.5938, 12.6797, 3.8364, -2.5938, 8.6797, 6.8364, -2.5938, 8.6797, 3.8364, -2.5938, 8.6797, 3.8364, -2.5938, 12.6797, 6.8364, -2.5938, 8.6797, 3.8364, -2.5938, 12.6797, 6.8364, -2.5938, 12.6797, 6.8364, -0.0938, 8.6797, 6.8364, -0.0938, 12.6797, 3.8364, -0.0938, 12.6797, 6.8364, -0.0938, 8.6797, 3.8364, -0.0938, 12.6797, 3.8364, -0.0938, 8.6797, 6.8364, -0.0938, 8.6797, 6.8364, -2.5938, 8.6797, 6.8364, -2.5938, 12.6797, 6.8364, -0.0938, 8.6797, 6.8364, -2.5938, 12.6797, 6.8364, -0.0938, 12.6797, 3.8364, -0.0938, 12.6797, 6.8364, -0.0938, 12.6797, 6.8364, -2.5938, 12.6797, 3.8364, -0.0938, 12.6797, 6.8364, -2.5938, 12.6797, 3.8364, -2.5938, 12.6797, -23.1636, 1.4063, 12.6797, -23.1636, -2.5938, 8.6797, -20.1636, -2.5938, 8.6797, -23.1636, 1.4063, 12.6797, -20.1636, -2.5938, 8.6797, -20.1636, 1.4063, 12.6797, -23.1636, 1.4063, 12.6797, -23.1636, -2.5938, 12.6797, -23.1636, -2.5938, 8.6797, -20.1636, -2.5938, 8.6797, -23.1636, -2.5938, 8.6797, -23.1636, -2.5938, 12.6797, -20.1636, -2.5938, 8.6797, -23.1636, -2.5938, 12.6797, -20.1636, -2.5938, 12.6797, -20.1636, 1.4063, 12.6797, -20.1636, -2.5938, 8.6797, -20.1636, -2.5938, 12.6797, -20.1636, 1.4063, 12.6797, -20.1636, -2.5938, 12.6797, -23.1636, -2.5938, 12.6797, -20.1636, 1.4063, 12.6797, -23.1636, -2.5938, 12.6797, -23.1636, 1.4063, 12.6797, -26.1636, 0.9063, 8.6797, -26.1636, -0.0938, 8.6797, -25.1636, -0.0938, 8.6797, -26.1636, 0.9063, 8.6797, -25.1636, -0.0938, 8.6797, -25.1636, 0.9063, 8.6797, -26.1636, 0.9063, 8.6797, -26.1636, 0.9063, 9.6797, -26.1636, -0.0938, 9.6797, -26.1636, 0.9063, 8.6797, -26.1636, -0.0938, 9.6797, -26.1636, -0.0938, 8.6797, -25.1636, -0.0938, 8.6797, -26.1636, -0.0938, 8.6797, -26.1636, -0.0938, 9.6797, -25.1636, -0.0938, 8.6797, -26.1636, -0.0938, 9.6797, -25.1636, -0.0938, 9.6797, -25.1636, 0.9063, 8.6797, -25.1636, 0.9063, 9.6797, -26.1636, 0.9063, 9.6797, -25.1636, 0.9063, 8.6797, -26.1636, 0.9063, 9.6797, -26.1636, 0.9063, 8.6797, -25.1636, 0.9063, 8.6797, -25.1636, -0.0938, 8.6797, -25.1636, -0.0938, 9.6797, -25.1636, 0.9063, 8.6797, -25.1636, -0.0938, 9.6797, -25.1636, 0.9063, 9.6797, -26.1636, 0.9063, 9.6797, -25.1636, 0.9063, 9.6797, -25.1636, -0.0938, 9.6797, -26.1636, 0.9063, 9.6797, -25.1636, -0.0938, 9.6797, -26.1636, -0.0938, 9.6797, 7.8364, 0.4063, 8.6797, 7.8364, -2.5938, 8.6797, 10.8364, -2.5938, 8.6797, 7.8364, 0.4063, 8.6797, 10.8364, -2.5938, 8.6797, 10.8364, 0.4063, 8.6797, 7.8364, 0.4063, 8.6797, 7.8364, 0.4063, 12.6797, 7.8364, -2.5938, 12.6797, 7.8364, 0.4063, 8.6797, 7.8364, -2.5938, 12.6797, 7.8364, -2.5938, 8.6797, 10.8364, -2.5938, 8.6797, 7.8364, -2.5938, 8.6797, 7.8364, -2.5938, 12.6797, 10.8364, -2.5938, 8.6797, 7.8364, -2.5938, 12.6797, 10.8364, -2.5938, 12.6797, 10.8364, 0.4063, 8.6797, 10.8364, 0.4063, 12.6797, 7.8364, 0.4063, 12.6797, 10.8364, 0.4063, 8.6797, 7.8364, 0.4063, 12.6797, 7.8364, 0.4063, 8.6797, 10.8364, 0.4063, 8.6797, 10.8364, -2.5938, 8.6797, 10.8364, -2.5938, 12.6797, 10.8364, 0.4063, 8.6797, 10.8364, -2.5938, 12.6797, 10.8364, 0.4063, 12.6797, 7.8364, 0.4063, 12.6797, 10.8364, 0.4063, 12.6797, 10.8364, -2.5938, 12.6797, 7.8364, 0.4063, 12.6797, 10.8364, -2.5938, 12.6797, 7.8364, -2.5938, 12.6797, 8.6666, 1.4063, -15.5524, -0.4267, 1.4063, -10.3024, -0.4267, -2.5938, -10.3024, 8.6666, 1.4063, -15.5524, -0.4267, -2.5938, -10.3024, 8.6666, -2.5938, -15.5524, -0.4267, -2.5938, -10.3024, 1.5733, -2.5938, -6.8383, 10.6666, -2.5938, -12.0883, -0.4267, -2.5938, -10.3024, 10.6666, -2.5938, -12.0883, 8.6666, -2.5938, -15.5524, 10.6666, 1.4063, -12.0883, 10.6666, -2.5938, -12.0883, 1.5733, -2.5938, -6.8383, 10.6666, 1.4063, -12.0883, 1.5733, -2.5938, -6.8383, 1.5733, 1.4063, -6.8383, 8.6666, 1.4063, -15.5524, 8.6666, -2.5938, -15.5524, 10.6666, -2.5938, -12.0883, 8.6666, 1.4063, -15.5524, 10.6666, -2.5938, -12.0883, 10.6666, 1.4063, -12.0883, -0.4267, 1.4063, -10.3024, 8.6666, 1.4063, -15.5524, 10.6666, 1.4063, -12.0883, -0.4267, 1.4063, -10.3024, 10.6666, 1.4063, -12.0883, 1.5733, 1.4063, -6.8383, -0.4267, 1.4063, -10.3024, 1.5733, 1.4063, -6.8383, 1.5733, -2.5938, -6.8383, -0.4267, 1.4063, -10.3024, 1.5733, -2.5938, -6.8383, -0.4267, -2.5938, -10.3024) - -[node name="Map" type="Node3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22.8341, -0.0932, -2.1058) - -[node name="entity_0_geometry" type="MeshInstance3D" parent="."] -mesh = SubResource("ArrayMesh_bdgr3") - -[node name="entity_0_geometry_col" type="StaticBody3D" parent="."] - -[node name="CollisionShape3D" type="CollisionShape3D" parent="entity_0_geometry_col"] -shape = SubResource("ConcavePolygonShape3D_2ub2n") diff --git a/scripts/player/PlayerQ3.gd b/scripts/player/PlayerQ3.gd index 9101bf7..60da889 100644 --- a/scripts/player/PlayerQ3.gd +++ b/scripts/player/PlayerQ3.gd @@ -2,6 +2,9 @@ extends CharacterBody3D const DIST_FLOOR_SNAP := Vector3.DOWN * 0.2 +@onready var label : Label = $CanvasLayer/Label +@onready var synchroniser = $Networking/MultiplayerSynchronizer + @onready var body : Node3D = $Body @onready var head : Node3D = $Body/Head @onready var cam : Camera3D = $Body/Head/Camera3D @@ -26,9 +29,21 @@ const DIST_FLOOR_SNAP := Vector3.DOWN * 0.2 var floor_snap := Vector3.ZERO +func _ready(): + synchroniser.set_multiplayer_authority(str(name).to_int()) + cam.current = is_local_authority() + +func is_local_authority(): + return synchroniser.get_multiplayer_authority() == multiplayer.get_unique_id() + +func _process(_delta): + if not is_local_authority(): + return + label.text = "H Velocity: %3.2f" % [Vector2(velocity.x, velocity.z).length()] + label.text += "\nV Velocity: %3.2f" % [velocity.y] + label.text += "\nOn floor: %s" % is_on_floor() func get_move_direction() -> Vector3: - var input_dir := Vector2( Input.get_action_strength("move_backward") - Input.get_action_strength("move_forward"), Input.get_action_strength("move_right") - Input.get_action_strength("move_left") @@ -36,18 +51,21 @@ func get_move_direction() -> Vector3: return input_dir.x * body.global_transform.basis.z + input_dir.y * body.global_transform.basis.x - func _input(event): - if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED and event is InputEventMouseMotion: - rotate_look(event.relative * 0.001 * mouse_sensitivity) - + if is_local_authority(): + if Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED and event is InputEventMouseMotion: + rotate_look(event.relative * 0.001 * mouse_sensitivity) func rotate_look(amount : Vector2) -> void: body.rotation.y -= amount.x head.rotation.x = clamp(head.rotation.x - amount.y, -PI * 0.5, PI * 0.5) - func _physics_process(delta): + if !is_local_authority(): + + move_and_slide() + return + var was_on_floor : bool = is_on_floor() var h_target_dir : Vector3 = get_move_direction() @@ -79,7 +97,6 @@ func _physics_process(delta): elif was_on_floor and !is_on_floor(): floor_snap = Vector3.ZERO - func accelerate(delta : float, p_target_dir : Vector3, p_target_speed : float, p_accel : float): var current_speed : float = velocity.dot(p_target_dir) var add_speed : float = p_target_speed - current_speed @@ -87,7 +104,6 @@ func accelerate(delta : float, p_target_dir : Vector3, p_target_speed : float, p var accel_speed : float = min(add_speed, p_accel * delta * p_target_speed) velocity += p_target_dir * accel_speed - func apply_friction(delta : float): #var vec : Vector3 = velocity diff --git a/scripts/player/Weapon.gd b/scripts/player/Weapon.gd index 06b85e7..0e2e114 100644 --- a/scripts/player/Weapon.gd +++ b/scripts/player/Weapon.gd @@ -47,7 +47,7 @@ func init(): can_shoot = true InitialPos(DRAW_TIME, DRAW_TIME) - + func InitialPos(draw_time, ready_time): tween = create_tween() diff --git a/scripts/player/Weapons.gd b/scripts/player/Weapons.gd index 54e69e3..19bc1e4 100644 --- a/scripts/player/Weapons.gd +++ b/scripts/player/Weapons.gd @@ -1,22 +1,22 @@ extends Node3D const CONFIG_PATH = "weapons.cfg" -signal shoot -var state = 0 -@onready var player_root = get_node("../../../../PlayerQ3") as CharacterBody3D +@export var player_root : CharacterBody3D @onready var raycast = get_node("../Camera3D/AimCast") as RayCast3D #@onready var crosshair = $Crosshair - +var ALL_WEAPONS = {} var weapons = [] -var current_weapon = 0 + +var current_weapon_index = 0 +var current_weapon = null var mouse_mov : Vector3 var sway_lerp = 5 func _ready(): - get_tree().get_current_scene().ready.connect(init) + get_tree().get_current_scene().game_loaded.connect(init) func init(): var config = Runtimeloader.loadConfig(CONFIG_PATH) as ConfigFile @@ -24,7 +24,98 @@ func init(): return Init_Config(config) - ChangeWeapon(0) + + var init_config = get_tree().get_current_scene().init_config + + for w_name in init_config.get_value("PLAYER", "starting_weapons"): + GiveWeapon(w_name) + + +func GiveWeapon(weapon_name): + if weapon_name in ALL_WEAPONS and not ALL_WEAPONS[weapon_name] in weapons: + weapons.append(ALL_WEAPONS[weapon_name]) + ChangeWeapon(posmod(current_weapon_index, weapons.size())) + +func TakeWeapon(weapon_name): + if weapon_name in ALL_WEAPONS and ALL_WEAPONS[weapon_name] in weapons: + weapons.erase(ALL_WEAPONS[weapon_name]) + ChangeWeapon(posmod(current_weapon_index, weapons.size())) + + +func _input(event): + if event is InputEventMouseMotion: + mouse_mov.y = clampf(-event.relative.x, -0.1, 0.1) + mouse_mov.x = clampf(event.relative.y, -0.1, 0.1) + +func _unhandled_input(_event): + if(weapons.size() == 0): + return + + if weapons.size() > 1 && Input.is_action_just_released("wheel_up"): + ChangeWeapon(posmod((current_weapon_index + 1),weapons.size())) + if weapons.size() > 1 && Input.is_action_just_released("wheel_down"): + ChangeWeapon(posmod(current_weapon_index - 1,weapons.size())) + + if Input.is_action_just_pressed("reload"): + current_weapon.Reload() + +func ChangeWeapon(i): + if(current_weapon): + current_weapon.hide() + + if(weapons.size() == 0): + current_weapon = null + return + + current_weapon_index = i + current_weapon = weapons[current_weapon_index] + current_weapon.show() + current_weapon.init() + raycast.target_position.z = -current_weapon.RAY_LEN + +var time = 0 +func _process(delta): + if(current_weapon == null): + return + + if Input.is_action_pressed("shoot") && current_weapon.Shoot(): + if(current_weapon.HITSCAN): + HitScan() + else: + Projectile() + + if Input.is_action_just_released("shoot"): + current_weapon.Release() + + + #SWAY + if mouse_mov != null && mouse_mov.length() > 0: + current_weapon.MODEL.rotation = current_weapon.MODEL.rotation.lerp(mouse_mov, sway_lerp * delta) + mouse_mov = Vector3.ZERO + else: + current_weapon.MODEL.rotation = current_weapon.MODEL.rotation.lerp(Vector3.ZERO, sway_lerp * delta) + + #BOB + if player_root.velocity.length() > 0: + time += delta + var bobOscillate = sin(time * 4 * (2 * PI)) * 0.01 + position.y = bobOscillate + bobOscillate = sin(time * 4 * (PI) + PI/4) * 0.015 + position.x = bobOscillate + + +func HitScan(): + if(raycast.is_colliding()): + var target = raycast.get_collider() + print_debug("Hit target ", target.name, " with ", current_weapon.name, " ",current_weapon_index, ". Dealt damage ", current_weapon.DAMAGE) + if(raycast.get_collision_mask_value(10)): + if(target is Hitable): + target.Hit(current_weapon.DAMAGE) + + +func Projectile(): + pass + func Init_Config(config): for weapon in config.get_sections(): @@ -71,71 +162,4 @@ func Init_Config(config): root.RELOAD_ANGULAR_MOMENTUM = config.get_value(weapon, "RELOAD_ANGULAR_MOMENTUM") root.RELOAD_TIME = config.get_value(weapon, "RELOAD_TIME") - weapons.append(root) - -func _input(event): - if event is InputEventMouseMotion: - mouse_mov.y = clampf(-event.relative.x, -0.1, 0.1) - mouse_mov.x = clampf(event.relative.y, -0.1, 0.1) - - - -func _unhandled_input(_event): - if weapons.size() > 1 && Input.is_action_just_released("wheel_up"): - ChangeWeapon((current_weapon + 1) % weapons.size()) - if weapons.size() > 1 && Input.is_action_just_released("wheel_down"): - ChangeWeapon((current_weapon - 1) % weapons.size()) - - - if Input.is_action_just_pressed("reload"): - weapons[current_weapon].Reload() - -func ChangeWeapon(i): - weapons[current_weapon].hide() - current_weapon = i - weapons[current_weapon].show() - weapons[current_weapon].init() - raycast.target_position.z = -weapons[current_weapon].RAY_LEN - -var time = 0 -func _process(delta): - if Input.is_action_pressed("shoot") && weapons[current_weapon].Shoot(): - shoot.emit(0.20, 0.15) - if(weapons[current_weapon].HITSCAN): - HitScan() - else: - Projectile() - - if Input.is_action_just_released("shoot"): - weapons[current_weapon].Release() - - - #SWAY - if mouse_mov != null && mouse_mov.length() > 0: - weapons[current_weapon].MODEL.rotation = weapons[current_weapon].MODEL.rotation.lerp(mouse_mov, sway_lerp * delta) - mouse_mov = Vector3.ZERO - else: - weapons[current_weapon].MODEL.rotation = weapons[current_weapon].MODEL.rotation.lerp(Vector3.ZERO, sway_lerp * delta) - - #BOB - if player_root.velocity.length() > 0: - time += delta - var bobOscillate = sin(time * 4 * (2 * PI)) * 0.01 - position.y = bobOscillate - bobOscillate = sin(time * 4 * (PI) + PI/4) * 0.015 - position.x = bobOscillate - - -func HitScan(): - if(raycast.is_colliding()): - var target = raycast.get_collider() - print_debug("Hit target ", target.name, " with ", weapons[current_weapon].MODEL.name, " ",current_weapon, ". Dealt damage ", weapons[current_weapon].DAMAGE) - if(raycast.get_collision_mask_value(10)): - if(target is Hitable): - target.Hit(weapons[current_weapon].DAMAGE) - - -func Projectile(): - pass - - + ALL_WEAPONS[root.name] = root diff --git a/scripts/utils/runtimeloader.gd b/scripts/utils/runtimeloader.gd index 918528c..7024d4d 100644 --- a/scripts/utils/runtimeloader.gd +++ b/scripts/utils/runtimeloader.gd @@ -7,10 +7,6 @@ func _ready(): if(not OS.has_feature("editor")): EXTERNAL_PATH = OS.get_executable_path().get_base_dir() + "/scoom/" -func _input(event): - if event is InputEventKey and event.is_pressed(): - if event.keycode == KEY_T: - load_gltf("models/runtime_loader_test.glb") func get_all_children(in_node, arr = []): arr.push_back(in_node)