diff --git a/Game.gd b/Game.gd index 3541ccd..98edb23 100644 --- a/Game.gd +++ b/Game.gd @@ -5,9 +5,7 @@ signal game_loaded var init_config -func load_map(): - Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) - +func _ready(): init_config = Runtimeloader.loadConfig("init.cfg") as ConfigFile print("Loading PCK...") @@ -20,7 +18,8 @@ func load_map(): Runtimeloader.loadPCK(weapon) print("Loading Resources Done.") - + +func load_map(): Runtimeloader.loadScene("maps/test_map.tscn", self) #Runtimeloader.get_all_entities(node) game_loaded.emit() diff --git a/assets/shader/test.tscn b/assets/shader/test.tscn new file mode 100644 index 0000000..8203168 --- /dev/null +++ b/assets/shader/test.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=3 format=3 uid="uid://tojfiub8y1f6"] + +[ext_resource type="Shader" path="res://assets/shader/no_depth.gdshader" id="2_lklwv"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_5pubw"] +render_priority = 0 +shader = ExtResource("2_lklwv") +shader_parameter/z_offset = null + +[node name="Chainsaw_test"] + +[node name="Cube014" parent="." index="0"] +material_override = SubResource("ShaderMaterial_5pubw") +transparency = 0.02 diff --git a/entities/Player.tscn b/entities/Player.tscn index 48d3f07..4452757 100644 --- a/entities/Player.tscn +++ b/entities/Player.tscn @@ -1,19 +1,20 @@ -[gd_scene load_steps=10 format=3 uid="uid://bl7jynld7s25o"] +[gd_scene load_steps=11 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"] +[ext_resource type="Script" path="res://entities/PlayerSync.gd" id="5_828co"] -[sub_resource type="CylinderShape3D" id="CylinderShape3D_resyc"] +[sub_resource type="CylinderShape3D" id="CylinderShape3D_8iawe"] -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_d6dov"] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_4aqh7"] albedo_texture = ExtResource("2_mxb5i") uv1_scale = Vector3(3, 2, 1) -[sub_resource type="CylinderMesh" id="CylinderMesh_j6ixa"] +[sub_resource type="CylinderMesh" id="CylinderMesh_dh7aw"] -[sub_resource type="ShaderMaterial" id="ShaderMaterial_qn642"] +[sub_resource type="ShaderMaterial" id="ShaderMaterial_giw1l"] shader = ExtResource("3_3vnqi") shader_parameter/center_enabled = null shader_parameter/legs_enabled = null @@ -28,39 +29,46 @@ shader_parameter/len = null shader_parameter/spacing = null shader_parameter/spread = null -[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_36ekt"] -properties/0/path = NodePath(".:position") +[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_86371"] +properties/0/path = NodePath("Body/Head:rotation") 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/path = NodePath("Networking:sync_velocity") properties/2/spawn = true properties/2/sync = true +properties/3/path = NodePath("Networking:sync_position") +properties/3/spawn = true +properties/3/sync = true +properties/4/path = NodePath("Networking:processed_position") +properties/4/spawn = true +properties/4/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("CylinderShape3D_resyc") - -[node name="MeshInstance3D" type="MeshInstance3D" parent="CollisionShape3D"] -material_override = SubResource("StandardMaterial3D_d6dov") -mesh = SubResource("CylinderMesh_j6ixa") +shape = SubResource("CylinderShape3D_8iawe") [node name="Body" type="Node3D" parent="."] +[node name="MeshInstance3D" type="MeshInstance3D" parent="Body"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) +material_override = SubResource("StandardMaterial3D_4aqh7") +mesh = SubResource("CylinderMesh_dh7aw") +skeleton = NodePath("../../CollisionShape3D") + [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_paths=PackedStringArray("player_root")] +[node name="Hand" type="Node3D" parent="Body/Head"] script = ExtResource("2_dl1i1") -player_root = NodePath("../../..") [node name="Crosshair" type="ColorRect" parent="Body/Head/Hand"] -material = SubResource("ShaderMaterial_qn642") +material = SubResource("ShaderMaterial_giw1l") anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -83,7 +91,8 @@ offset_bottom = 14.0 metadata/_edit_use_anchors_ = true [node name="Networking" type="Node" parent="."] +script = ExtResource("5_828co") [node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="Networking"] root_path = NodePath("../..") -replication_config = SubResource("SceneReplicationConfig_36ekt") +replication_config = SubResource("SceneReplicationConfig_86371") diff --git a/entities/PlayerSync.gd b/entities/PlayerSync.gd new file mode 100644 index 0000000..7797d6d --- /dev/null +++ b/entities/PlayerSync.gd @@ -0,0 +1,10 @@ +extends Node + +var sync_position : Vector3: + set(value): + sync_position = value + processed_position = false +var sync_velocity : Vector3 +var sync_is_jumping : bool + +var processed_position : bool diff --git a/entities/Weapon.scn b/entities/Weapon.scn new file mode 100644 index 0000000..bd356af Binary files /dev/null and b/entities/Weapon.scn differ diff --git a/scenes/GUI/MAIN.tscn b/scenes/GUI/MAIN.tscn new file mode 100644 index 0000000..28d0187 --- /dev/null +++ b/scenes/GUI/MAIN.tscn @@ -0,0 +1,57 @@ +[gd_scene load_steps=2 format=3 uid="uid://3o430r2kys4k"] + +[ext_resource type="Script" path="res://scenes/GUI/main.gd" id="1_i8nr4"] + +[node name="MAIN" type="Control"] +layout_mode = 3 +anchors_preset = 0 +script = ExtResource("1_i8nr4") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 1 +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="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 2 + +[node name="Start" type="Button" parent="VBoxContainer/HBoxContainer"] +layout_mode = 2 +text = "Start Game" + +[node name="ModsMenu" type="MenuButton" parent="VBoxContainer/HBoxContainer"] +layout_mode = 2 +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"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 10 + +[node name="SettingsButton" type="Button" parent="VBoxContainer/VBoxContainer2"] +layout_mode = 2 +text = "Game Settings" +icon_alignment = 1 + +[node name="ExitButton" type="Button" parent="VBoxContainer/VBoxContainer2"] +layout_mode = 2 +text = "Exit" + +[connection signal="pressed" from="VBoxContainer/HBoxContainer/Start" to="." method="_on_start_pressed"] diff --git a/scenes/GUI/MainMenu.gd b/scenes/GUI/MainMenu.gd new file mode 100644 index 0000000..b6a933f --- /dev/null +++ b/scenes/GUI/MainMenu.gd @@ -0,0 +1,25 @@ +extends Control + +@onready var game = get_tree().get_current_scene() as Game +@onready var previous = $MAIN +@onready var current = $MAIN + +func _on_main_start_game(): + previous = current + current = $"START GAME" + $"START GAME".show() + +func back(): + current.hide() + previous.show() + var tmp = current + current = previous + previous = tmp + +func _on_start_game_start_game(): + game.load_map() + self.hide() + +func _on_start_game_back(): + previous = $MAIN + back() diff --git a/scenes/GUI/START_GAME.tscn b/scenes/GUI/START_GAME.tscn new file mode 100644 index 0000000..8f6a74a --- /dev/null +++ b/scenes/GUI/START_GAME.tscn @@ -0,0 +1,62 @@ +[gd_scene load_steps=2 format=3 uid="uid://d0kkhtesg83g"] + +[ext_resource type="Script" path="res://scenes/GUI/start_game.gd" id="1_amknd"] + +[node name="START GAME" type="Control"] +layout_mode = 3 +anchors_preset = 0 +script = ExtResource("1_amknd") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 1 +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 +size_flags_horizontal = 4 +metadata/_edit_use_anchors_ = true + +[node name="HostContainer" type="HBoxContainer" parent="VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 2 + +[node name="HostButton" type="Button" parent="VBoxContainer/HostContainer"] +layout_mode = 2 +text = "Host" + +[node name="JoinContainer" type="HBoxContainer" parent="VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 2 + +[node name="IPAdress" type="TextEdit" parent="VBoxContainer/JoinContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_font_sizes/font_size = 13 +placeholder_text = "localhost" + +[node name="JoinButton" type="Button" parent="VBoxContainer/JoinContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 0 +text = "Join +" + +[node name="BackContainer" type="VBoxContainer" parent="VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 + +[node name="BackButton" type="Button" parent="VBoxContainer/BackContainer"] +layout_mode = 2 +text = "Back" + +[connection signal="pressed" from="VBoxContainer/HostContainer/HostButton" to="." method="_on_host_button_pressed"] +[connection signal="pressed" from="VBoxContainer/JoinContainer/JoinButton" to="." method="_on_join_button_pressed"] +[connection signal="pressed" from="VBoxContainer/BackContainer/BackButton" to="." method="_on_back_button_pressed"] diff --git a/scenes/GUI/main.gd b/scenes/GUI/main.gd new file mode 100644 index 0000000..739533e --- /dev/null +++ b/scenes/GUI/main.gd @@ -0,0 +1,7 @@ +extends Control + +signal start_game; + +func _on_start_pressed(): + start_game.emit() + hide() diff --git a/scenes/GUI/start_game.gd b/scenes/GUI/start_game.gd new file mode 100644 index 0000000..65c54ab --- /dev/null +++ b/scenes/GUI/start_game.gd @@ -0,0 +1,27 @@ +extends Control + +@onready var IPAdress_Field = $VBoxContainer/JoinContainer/IPAdress as TextEdit +signal start_game +signal back + +func _on_join_button_pressed(): + if not try_connection(): + return + Network.start_network(false, IPAdress_Field.text) + start_game.emit() + + +func try_connection(): + if IPAdress_Field.text.is_empty(): + return false + return true + + +func _on_host_button_pressed(): + Network.start_network(true) + start_game.emit() + + +func _on_back_button_pressed(): + hide() + back.emit() diff --git a/scenes/map/EntitySpawner.gd b/scenes/map/EntitySpawner.gd new file mode 100644 index 0000000..75c0c83 --- /dev/null +++ b/scenes/map/EntitySpawner.gd @@ -0,0 +1,5 @@ +extends MultiplayerSpawner + + +func _spawn_custom(data): + return diff --git a/scenes/map/Game.tscn b/scenes/map/Game.tscn index 2f392e3..f677992 100644 --- a/scenes/map/Game.tscn +++ b/scenes/map/Game.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=6 format=3 uid="uid://8g7w4uv2xsck"] +[gd_scene load_steps=7 format=3 uid="uid://8g7w4uv2xsck"] [ext_resource type="Script" path="res://Game.gd" id="1_71dcv"] [ext_resource type="PackedScene" uid="uid://dsnlwjofq6psf" path="res://scenes/GUI/Main Menu.tscn" id="2_448f8"] +[ext_resource type="Script" path="res://scenes/map/EntitySpawner.gd" id="3_i5esv"] [sub_resource type="PhysicalSkyMaterial" id="PhysicalSkyMaterial_2n8qo"] @@ -34,6 +35,10 @@ environment = SubResource("Environment_oqaam") [node name="Networking" type="Node" parent="."] -[node name="MultiplayerSpawner" type="MultiplayerSpawner" parent="Networking"] +[node name="PlayerSpawner" type="MultiplayerSpawner" parent="Networking"] _spawnable_scenes = PackedStringArray("res://entities/Player.tscn") -spawn_path = NodePath("../..") +spawn_path = NodePath("..") + +[node name="EntitySpawner" type="MultiplayerSpawner" parent="Networking"] +spawn_path = NodePath("..") +script = ExtResource("3_i5esv") diff --git a/scenes/map/test_map_gd.tscn b/scenes/map/test_map_gd.tscn new file mode 100644 index 0000000..488142d --- /dev/null +++ b/scenes/map/test_map_gd.tscn @@ -0,0 +1,83 @@ +[gd_scene load_steps=12 format=3 uid="uid://bq7p576e7a17i"] + +[ext_resource type="Texture2D" uid="uid://bx4pdgghucl4k" path="res://textures/concrete_15.jpg" id="1_37wdm"] +[ext_resource type="Texture2D" uid="uid://bj2qm3joiywso" path="res://textures/dark.png" id="2_f8syx"] +[ext_resource type="Texture2D" uid="uid://bt671xkej3a2s" path="res://textures/shipping_container_01_side.jpg" id="3_vf5qg"] +[ext_resource type="Texture2D" uid="uid://c52qu6ad3taix" path="res://textures/shipping_container_01_front.jpg" id="4_70w0l"] +[ext_resource type="PackedScene" uid="uid://bp5ekvan8qsmc" path="res://entities/enemy/dummy.tscn" id="5_1x24o"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_yhpph"] +albedo_texture = ExtResource("1_37wdm") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_plg37"] +albedo_texture = ExtResource("2_f8syx") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8xybu"] +albedo_texture = ExtResource("3_vf5qg") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_rri1d"] +albedo_texture = ExtResource("4_70w0l") + +[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="0_geometry" type="MeshInstance3D" parent="."] +mesh = SubResource("ArrayMesh_bdgr3") + +[node name="0_geometry_col" type="StaticBody3D" parent="."] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="0_geometry_col"] +shape = SubResource("ConcavePolygonShape3D_2ub2n") + +[node name="entity_test" type="Node3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.7493, -0.748922, -3.17036) + +[node name="Enemy" parent="." instance=ExtResource("5_1x24o")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.47822, -2.5938, -7.02456) diff --git a/scoom b/scoom index e921609..81bf2c5 160000 --- a/scoom +++ b/scoom @@ -1 +1 @@ -Subproject commit e921609c47f3eb6498f318ec87ed2e01921ee7fb +Subproject commit 81bf2c532a75ab6c7b71c99a4399ecb985da7cb1 diff --git a/scripts/player/PlayerQ3.gd b/scripts/player/PlayerQ3.gd index 60da889..4f16e62 100644 --- a/scripts/player/PlayerQ3.gd +++ b/scripts/player/PlayerQ3.gd @@ -3,7 +3,7 @@ extends CharacterBody3D const DIST_FLOOR_SNAP := Vector3.DOWN * 0.2 @onready var label : Label = $CanvasLayer/Label -@onready var synchroniser = $Networking/MultiplayerSynchronizer +@onready var networking = $Networking @onready var body : Node3D = $Body @onready var head : Node3D = $Body/Head @@ -29,12 +29,15 @@ 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 _enter_tree(): + $Networking/MultiplayerSynchronizer.set_multiplayer_authority(str(name).to_int()) + $Body/Head/Camera3D.current = is_local_authority() + if is_local_authority(): + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + func is_local_authority(): - return synchroniser.get_multiplayer_authority() == multiplayer.get_unique_id() + return $Networking/MultiplayerSynchronizer.get_multiplayer_authority() == multiplayer.get_unique_id() func _process(_delta): if not is_local_authority(): @@ -42,6 +45,7 @@ func _process(_delta): 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() + label.text += "\nNetwork ID: %d" % multiplayer.get_unique_id() func get_move_direction() -> Vector3: var input_dir := Vector2( @@ -62,7 +66,10 @@ func rotate_look(amount : Vector2) -> void: func _physics_process(delta): if !is_local_authority(): - + if not networking.processed_position: + position = networking.sync_position + networking.processed_position = true + velocity = networking.sync_velocity move_and_slide() return @@ -96,6 +103,9 @@ func _physics_process(delta): floor_snap = DIST_FLOOR_SNAP elif was_on_floor and !is_on_floor(): floor_snap = Vector3.ZERO + + networking.sync_position = position + networking.sync_velocity = velocity func accelerate(delta : float, p_target_dir : Vector3, p_target_speed : float, p_accel : float): var current_speed : float = velocity.dot(p_target_dir) diff --git a/scripts/player/Weapon.gd b/scripts/player/Weapon.gd index 0e2e114..5570ee3 100644 --- a/scripts/player/Weapon.gd +++ b/scripts/player/Weapon.gd @@ -58,32 +58,39 @@ func InitialPos(draw_time, ready_time): tween.tween_property(MODEL, "rotation", Vector3.ZERO, draw_time) tween.tween_callback(func(): state = INITIAL).set_delay(ready_time) - - +@rpc func Shoot(): if CanShoot(): if not FIREMODE: can_shoot = false if not MELEE: clip -= 1 - - state = SHOOT; - tween = create_tween() - tween.set_trans(Tween.TRANS_ELASTIC) - tween.set_ease(Tween.EASE_OUT) - tween.set_parallel(true) - tween.tween_property(MODEL, "position", Vector3(.0, MOMENTUM.x, MOMENTUM.y), RECOIL_COOLDOWN / 2) - var rand_rot_y = randf_range(-ANGULAR_MOMENTUM.y,ANGULAR_MOMENTUM.y) - var rand_rot_z = randf_range(-ANGULAR_MOMENTUM.z,ANGULAR_MOMENTUM.z) - tween.tween_property(MODEL, "rotation", Vector3(deg_to_rad(ANGULAR_MOMENTUM.x),deg_to_rad(rand_rot_y),deg_to_rad(rand_rot_z)),RECOIL_COOLDOWN /2) - tween.tween_callback(func(): InitialPos(RECOIL_COOLDOWN / 2, SHOOTING_SPEED / 2)).set_delay(SHOOTING_SPEED / 2) + rpc("rpc_AnimShoot") return true return false +@rpc(call_local, any_peer) +func rpc_AnimShoot(): + state = SHOOT; + tween = create_tween() + tween.set_trans(Tween.TRANS_ELASTIC) + tween.set_ease(Tween.EASE_OUT) + tween.set_parallel(true) + tween.tween_property(MODEL, "position", Vector3(.0, MOMENTUM.x, MOMENTUM.y), RECOIL_COOLDOWN / 2) + var rand_rot_y = randf_range(-ANGULAR_MOMENTUM.y,ANGULAR_MOMENTUM.y) + var rand_rot_z = randf_range(-ANGULAR_MOMENTUM.z,ANGULAR_MOMENTUM.z) + tween.tween_property(MODEL, "rotation", Vector3(deg_to_rad(ANGULAR_MOMENTUM.x),deg_to_rad(rand_rot_y),deg_to_rad(rand_rot_z)),RECOIL_COOLDOWN /2) + tween.tween_callback(func(): InitialPos(RECOIL_COOLDOWN / 2, SHOOTING_SPEED / 2)).set_delay(SHOOTING_SPEED / 2) + func CanShoot(): return clip > 0 && state == INITIAL && can_shoot - + +@rpc func Release(): + rpc("rpc_Release") + +@rpc(call_local, any_peer) +func rpc_Release(): if !FIREMODE: can_shoot = true diff --git a/scripts/player/Weapons.gd b/scripts/player/Weapons.gd index 19bc1e4..b70fc87 100644 --- a/scripts/player/Weapons.gd +++ b/scripts/player/Weapons.gd @@ -1,8 +1,9 @@ extends Node3D const CONFIG_PATH = "weapons.cfg" +const WEAPON_SCENE = preload("res://entities/Weapon.scn") -@export var player_root : CharacterBody3D +@onready var player_root = get_node("../../..") @onready var raycast = get_node("../Camera3D/AimCast") as RayCast3D #@onready var crosshair = $Crosshair @@ -15,50 +16,53 @@ var current_weapon = null var mouse_mov : Vector3 var sway_lerp = 5 -func _ready(): - get_tree().get_current_scene().game_loaded.connect(init) -func init(): +func _ready(): var config = Runtimeloader.loadConfig(CONFIG_PATH) as ConfigFile if(config == null): return Init_Config(config) - var init_config = get_tree().get_current_scene().init_config - + var init_config = get_node("/root/Game").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())) + 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())) + ChangeWeapon((posmod(current_weapon_index, weapons.size()))) - func _input(event): + if not player_root.is_local_authority(): + return 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) + if event is InputEventKey and event.is_pressed(): + if event.keycode == KEY_T: + GiveWeapon("CHAINSAW") func _unhandled_input(_event): + if not player_root.is_local_authority(): + return + 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())) + 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() @@ -74,7 +78,10 @@ func ChangeWeapon(i): raycast.target_position.z = -current_weapon.RAY_LEN var time = 0 + func _process(delta): + if not player_root.is_local_authority(): + return if(current_weapon == null): return @@ -119,9 +126,9 @@ func Projectile(): func Init_Config(config): for weapon in config.get_sections(): - var root = Weapon.new() + var root = WEAPON_SCENE.instantiate() root.name = weapon - + var model_path = config.get_value(weapon, "MODEL") as String var weapon_model if(model_path.ends_with(".glb") or model_path.ends_with(".gltf")): diff --git a/scripts/utils/network.gd b/scripts/utils/network.gd new file mode 100644 index 0000000..1975c4b --- /dev/null +++ b/scripts/utils/network.gd @@ -0,0 +1,44 @@ +extends Node + + +signal player_spawn +# The player scene (which we want to configure for replication). +const Player = preload("res://entities/Player.tscn") +@onready var NetworkingRoot = get_node("/root/Game/Networking") + + +func start_network(server: bool, ip="localhost"): + var peer = ENetMultiplayerPeer.new() + if server: + peer.create_server(27015) + # Listen to peer connections, and create new player for them + multiplayer.peer_connected.connect(create_player) + # Listen to peer disconnections, and destroy their players + multiplayer.peer_disconnected.connect(destroy_player) + multiplayer.set_multiplayer_peer(peer) + create_player() + else: + peer.create_client(ip, 27015) + multiplayer.set_multiplayer_peer(peer) + +func add_network_entity(path): + var spawner = NetworkingRoot.get_node("Networking") as MultiplayerSpawner + spawner.add_spawnable_scene(path) + + +func create_player(id=1): + # Instantiate a new player for this client. + var p = Player.instantiate() + # Sets the player name (only sent during spawn). + #p.player_name = "Player %d" % id + # Set a random position (sent on every replicator update). + #p.position = Vector2(randi() % 500, randi() % 500) + # Add it to the "Players" node. + # We give the new Node a name for easy retrieval, but that's not necessary. + p.name = str(id) + p.set_multiplayer_authority(id) + NetworkingRoot.add_child(p) + +func destroy_player(id): + # Delete this peer's node. + NetworkingRoot.get_node(str(id)).queue_free() diff --git a/scripts/utils/runtimeloader.gd b/scripts/utils/runtimeloader.gd index 7024d4d..5e46825 100644 --- a/scripts/utils/runtimeloader.gd +++ b/scripts/utils/runtimeloader.gd @@ -28,13 +28,14 @@ func load_gltf(file, parent = self, hasCollision = false, trimesh = false): fileBytes = snd_file.get_buffer(snd_file.get_length()) gltf.append_from_buffer(fileBytes, "", gltf_state) - + print("Loading ", EXTERNAL_PATH + file) - var node = gltf.generate_scene(gltf_state) - parent.add_child(node) + var node = gltf.generate_scene(gltf_state) as Node + parent.add_child(node) get_all_entities(node) + if not hasCollision: return node