diff --git a/2d/bullet_shower/bullets.gd.uid b/2d/bullet_shower/bullets.gd.uid new file mode 100644 index 00000000..1d2cdabf --- /dev/null +++ b/2d/bullet_shower/bullets.gd.uid @@ -0,0 +1 @@ +uid://rddaoyfpqvix diff --git a/2d/bullet_shower/player.gd.uid b/2d/bullet_shower/player.gd.uid new file mode 100644 index 00000000..59562616 --- /dev/null +++ b/2d/bullet_shower/player.gd.uid @@ -0,0 +1 @@ +uid://8ij4vk5yqwtt diff --git a/2d/bullet_shower/project.godot b/2d/bullet_shower/project.godot index 30a0d895..4fcebb3a 100644 --- a/2d/bullet_shower/project.godot +++ b/2d/bullet_shower/project.godot @@ -14,7 +14,7 @@ config/name="Bullet Shower" config/description="Demonstrates how to manage large amounts of objects efficiently using low-level Servers." config/tags=PackedStringArray("2d", "demo", "official", "performance") run/main_scene="res://shower.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/2d/dodge_the_creeps/fonts/Xolonium-Regular.ttf.import b/2d/dodge_the_creeps/fonts/Xolonium-Regular.ttf.import index 7fb41a75..0bcdea56 100644 --- a/2d/dodge_the_creeps/fonts/Xolonium-Regular.ttf.import +++ b/2d/dodge_the_creeps/fonts/Xolonium-Regular.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/Xolonium-Regular.ttf-bc2981e3069cff4c34dd7c8e Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/2d/dodge_the_creeps/hud.gd.uid b/2d/dodge_the_creeps/hud.gd.uid new file mode 100644 index 00000000..92a8e9ec --- /dev/null +++ b/2d/dodge_the_creeps/hud.gd.uid @@ -0,0 +1 @@ +uid://ole4kvtbp4r1 diff --git a/2d/dodge_the_creeps/hud.tscn b/2d/dodge_the_creeps/hud.tscn index ab9e2b66..2ab1c9bb 100644 --- a/2d/dodge_the_creeps/hud.tscn +++ b/2d/dodge_the_creeps/hud.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=5 format=3 uid="uid://ccqoreueuxdb7"] -[ext_resource type="Script" path="res://hud.gd" id="1"] +[ext_resource type="Script" uid="uid://ole4kvtbp4r1" path="res://hud.gd" id="1"] [ext_resource type="FontFile" uid="uid://cit6gwe5px1q8" path="res://fonts/Xolonium-Regular.ttf" id="2_2jm3i"] [sub_resource type="InputEventAction" id="InputEventAction_fopy7"] diff --git a/2d/dodge_the_creeps/main.gd.uid b/2d/dodge_the_creeps/main.gd.uid new file mode 100644 index 00000000..9651c862 --- /dev/null +++ b/2d/dodge_the_creeps/main.gd.uid @@ -0,0 +1 @@ +uid://bi0dtjbbi0wxj diff --git a/2d/dodge_the_creeps/main.tscn b/2d/dodge_the_creeps/main.tscn index ad0e9d88..c0e97674 100644 --- a/2d/dodge_the_creeps/main.tscn +++ b/2d/dodge_the_creeps/main.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=8 format=3 uid="uid://cyfwty2q3rdse"] -[ext_resource type="Script" path="res://main.gd" id="1_0r6n5"] +[ext_resource type="Script" uid="uid://bi0dtjbbi0wxj" path="res://main.gd" id="1_0r6n5"] [ext_resource type="PackedScene" uid="uid://rkdnhqgf2hpj" path="res://mob.tscn" id="2_50pww"] [ext_resource type="PackedScene" uid="uid://4vwrqjegqwpj" path="res://player.tscn" id="3_veqnc"] [ext_resource type="PackedScene" uid="uid://ccqoreueuxdb7" path="res://hud.tscn" id="4_0qnje"] diff --git a/2d/dodge_the_creeps/mob.gd.uid b/2d/dodge_the_creeps/mob.gd.uid new file mode 100644 index 00000000..1e52f8b7 --- /dev/null +++ b/2d/dodge_the_creeps/mob.gd.uid @@ -0,0 +1 @@ +uid://c8vixyuoi1xgn diff --git a/2d/dodge_the_creeps/mob.tscn b/2d/dodge_the_creeps/mob.tscn index 708339f3..14b13f2e 100644 --- a/2d/dodge_the_creeps/mob.tscn +++ b/2d/dodge_the_creeps/mob.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=10 format=3 uid="uid://rkdnhqgf2hpj"] -[ext_resource type="Script" path="res://mob.gd" id="1"] +[ext_resource type="Script" uid="uid://c8vixyuoi1xgn" path="res://mob.gd" id="1"] [ext_resource type="Texture2D" uid="uid://yqglrrsx7j1f" path="res://art/enemyFlyingAlt_1.png" id="2"] [ext_resource type="Texture2D" uid="uid://bpot8awhdn6ph" path="res://art/enemyFlyingAlt_2.png" id="3"] [ext_resource type="Texture2D" uid="uid://bu4221t7qpa7d" path="res://art/enemyWalking_1.png" id="4"] @@ -10,17 +10,35 @@ [sub_resource type="SpriteFrames" id="1"] animations = [{ -"frames": [ExtResource( "6" ), ExtResource( "7" )], -"loop": true, -"name": &"swim", -"speed": 4.0 +"frames": [{ +"duration": 1.0, +"texture": ExtResource("2") }, { -"frames": [ExtResource( "2" ), ExtResource( "3" )], +"duration": 1.0, +"texture": ExtResource("3") +}], "loop": true, "name": &"fly", "speed": 3.0 }, { -"frames": [ExtResource( "4" ), ExtResource( "5" )], +"frames": [{ +"duration": 1.0, +"texture": ExtResource("6") +}, { +"duration": 1.0, +"texture": ExtResource("7") +}], +"loop": true, +"name": &"swim", +"speed": 4.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("4") +}, { +"duration": 1.0, +"texture": ExtResource("5") +}], "loop": true, "name": &"walk", "speed": 4.0 @@ -33,16 +51,16 @@ height = 100.0 [node name="Mob" type="RigidDynamicBody2D" groups=["mobs"]] collision_mask = 0 gravity_scale = 0.0 -script = ExtResource( "1" ) +script = ExtResource("1") [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] scale = Vector2(0.75, 0.75) -frames = SubResource( "1" ) +frames = SubResource("1") animation = &"walk" [node name="CollisionShape2D" type="CollisionShape2D" parent="."] rotation = 1.5708 -shape = SubResource( "2" ) +shape = SubResource("2") [node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."] diff --git a/2d/dodge_the_creeps/player.gd.uid b/2d/dodge_the_creeps/player.gd.uid new file mode 100644 index 00000000..a2ee594a --- /dev/null +++ b/2d/dodge_the_creeps/player.gd.uid @@ -0,0 +1 @@ +uid://ccd1k2qxslohl diff --git a/2d/dodge_the_creeps/player.tscn b/2d/dodge_the_creeps/player.tscn index 4061f80f..b6efc55d 100644 --- a/2d/dodge_the_creeps/player.tscn +++ b/2d/dodge_the_creeps/player.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=13 format=3 uid="uid://4vwrqjegqwpj"] -[ext_resource type="Script" path="res://player.gd" id="1"] +[ext_resource type="Script" uid="uid://ccd1k2qxslohl" path="res://player.gd" id="1"] [ext_resource type="Texture2D" uid="uid://ftkxr8r4qghp" path="res://art/playerGrey_walk1.png" id="2"] [ext_resource type="Texture2D" uid="uid://couyhcegeihme" path="res://art/playerGrey_walk2.png" id="3"] [ext_resource type="Texture2D" uid="uid://b4yyoafu8bi0q" path="res://art/playerGrey_up1.png" id="4"] diff --git a/2d/dodge_the_creeps/project.godot b/2d/dodge_the_creeps/project.godot index cf12af01..9763fbd4 100644 --- a/2d/dodge_the_creeps/project.godot +++ b/2d/dodge_the_creeps/project.godot @@ -19,7 +19,7 @@ tutorial in the documentation. For more details, consider following the tutorial in the documentation." config/tags=PackedStringArray("2d", "demo", "official") run/main_scene="res://main.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [display] @@ -34,40 +34,40 @@ window/stretch/mode="canvas_items" move_left={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null) ] } move_right={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null) ] } move_up={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) ] } move_down={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) ] } start_game={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } diff --git a/2d/dynamic_tilemap_layers/level/tile_map.gd.uid b/2d/dynamic_tilemap_layers/level/tile_map.gd.uid new file mode 100644 index 00000000..10121c0a --- /dev/null +++ b/2d/dynamic_tilemap_layers/level/tile_map.gd.uid @@ -0,0 +1 @@ +uid://dgk6c03uxup6m diff --git a/2d/dynamic_tilemap_layers/player/player.gd.uid b/2d/dynamic_tilemap_layers/player/player.gd.uid new file mode 100644 index 00000000..bd6f50df --- /dev/null +++ b/2d/dynamic_tilemap_layers/player/player.gd.uid @@ -0,0 +1 @@ +uid://lsvtosr5760i diff --git a/2d/dynamic_tilemap_layers/player/player.tscn b/2d/dynamic_tilemap_layers/player/player.tscn index 3eeb0d26..e57fe3c8 100644 --- a/2d/dynamic_tilemap_layers/player/player.tscn +++ b/2d/dynamic_tilemap_layers/player/player.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://1o70ce0fv10w"] -[ext_resource type="Script" path="res://player/player.gd" id="1"] +[ext_resource type="Script" uid="uid://lsvtosr5760i" path="res://player/player.gd" id="1"] [ext_resource type="Texture2D" uid="uid://dfb8rr2fakwgp" path="res://player/player.png" id="2"] [sub_resource type="RectangleShape2D" id="1"] diff --git a/2d/dynamic_tilemap_layers/project.godot b/2d/dynamic_tilemap_layers/project.godot index 54bd9ba0..514008be 100644 --- a/2d/dynamic_tilemap_layers/project.godot +++ b/2d/dynamic_tilemap_layers/project.godot @@ -16,7 +16,7 @@ CharacterBody2D. The character moves around, is affected by moving platforms, can jump through one-way collision platforms, etc." config/tags=PackedStringArray("2d", "demo", "official", "tilemap") run/main_scene="res://world.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.png" [debug] diff --git a/2d/dynamic_tilemap_layers/world.tscn b/2d/dynamic_tilemap_layers/world.tscn index 91db1790..350ad049 100644 --- a/2d/dynamic_tilemap_layers/world.tscn +++ b/2d/dynamic_tilemap_layers/world.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=8 format=4 uid="uid://de7qapkqfycxl"] [ext_resource type="Texture2D" uid="uid://cs8h2qyuakmko" path="res://level/obstacle.png" id="2"] -[ext_resource type="Script" path="res://level/tile_map.gd" id="2_q8fhk"] +[ext_resource type="Script" uid="uid://dgk6c03uxup6m" path="res://level/tile_map.gd" id="2_q8fhk"] [ext_resource type="PackedScene" uid="uid://1o70ce0fv10w" path="res://player/player.tscn" id="3"] [sub_resource type="PhysicsMaterial" id="PhysicsMaterial_on5ov"] diff --git a/2d/finite_state_machine/Demo.tscn b/2d/finite_state_machine/Demo.tscn index b5ab5cbe..0f5d0bc6 100644 --- a/2d/finite_state_machine/Demo.tscn +++ b/2d/finite_state_machine/Demo.tscn @@ -26,9 +26,9 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_qbwwp"] _data = { -"idle": SubResource("1"), -"stagger": SubResource("2"), -"walk": SubResource("3") +&"idle": SubResource("1"), +&"stagger": SubResource("2"), +&"walk": SubResource("3") } [node name="Demo" type="Node"] diff --git a/2d/finite_state_machine/debug/StatesStackDiplayer.tscn b/2d/finite_state_machine/debug/StatesStackDiplayer.tscn index 90cc04d6..5ac39a2b 100644 --- a/2d/finite_state_machine/debug/StatesStackDiplayer.tscn +++ b/2d/finite_state_machine/debug/StatesStackDiplayer.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://cvi13chv8g4hj"] -[ext_resource type="Script" path="res://debug/states_stack_displayer.gd" id="1"] +[ext_resource type="Script" uid="uid://8e5wvxrlv1ct" path="res://debug/states_stack_displayer.gd" id="1"] [ext_resource type="FontFile" uid="uid://b5bspum6ffekd" path="res://fonts/SourceCodePro-Bold.ttf" id="2_58if7"] [node name="StatesStackDiplayer" type="Panel"] diff --git a/2d/finite_state_machine/debug/states_stack_displayer.gd.uid b/2d/finite_state_machine/debug/states_stack_displayer.gd.uid new file mode 100644 index 00000000..a7d0f1d9 --- /dev/null +++ b/2d/finite_state_machine/debug/states_stack_displayer.gd.uid @@ -0,0 +1 @@ +uid://8e5wvxrlv1ct diff --git a/2d/finite_state_machine/fonts/SourceCodePro-Bold.ttf.import b/2d/finite_state_machine/fonts/SourceCodePro-Bold.ttf.import index 6eb82caf..57452390 100644 --- a/2d/finite_state_machine/fonts/SourceCodePro-Bold.ttf.import +++ b/2d/finite_state_machine/fonts/SourceCodePro-Bold.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/SourceCodePro-Bold.ttf-bf03bd9c90603419d32725 Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/2d/finite_state_machine/player/Player.tscn b/2d/finite_state_machine/player/Player.tscn index 81fb0225..a65171c7 100644 --- a/2d/finite_state_machine/player/Player.tscn +++ b/2d/finite_state_machine/player/Player.tscn @@ -1,19 +1,19 @@ [gd_scene load_steps=19 format=3 uid="uid://bpdyvy2681m3i"] -[ext_resource type="Script" path="res://player/player_controller.gd" id="1"] -[ext_resource type="Script" path="res://player/player_state_machine.gd" id="2"] -[ext_resource type="Script" path="res://player/states/motion/on_ground/idle.gd" id="3"] -[ext_resource type="Script" path="res://player/states/motion/on_ground/move.gd" id="4"] -[ext_resource type="Script" path="res://player/states/motion/in_air/jump.gd" id="5"] -[ext_resource type="Script" path="res://player/states/combat/stagger.gd" id="6"] -[ext_resource type="Script" path="res://player/states/combat/attack.gd" id="7"] -[ext_resource type="Script" path="res://player/states/die.gd" id="8"] +[ext_resource type="Script" uid="uid://clya0ymtv6cnn" path="res://player/player_controller.gd" id="1"] +[ext_resource type="Script" uid="uid://bt4prj2loisak" path="res://player/player_state_machine.gd" id="2"] +[ext_resource type="Script" uid="uid://duqfhrergdg0p" path="res://player/states/motion/on_ground/idle.gd" id="3"] +[ext_resource type="Script" uid="uid://bprpybddlsqly" path="res://player/states/motion/on_ground/move.gd" id="4"] +[ext_resource type="Script" uid="uid://c3jdmjrutxlu3" path="res://player/states/motion/in_air/jump.gd" id="5"] +[ext_resource type="Script" uid="uid://bdx6kcg1n8na3" path="res://player/states/combat/stagger.gd" id="6"] +[ext_resource type="Script" uid="uid://bianktk6rvu15" path="res://player/states/combat/attack.gd" id="7"] +[ext_resource type="Script" uid="uid://badi2yipj0y74" path="res://player/states/die.gd" id="8"] [ext_resource type="Texture2D" uid="uid://eds33w28pilu" path="res://player/shadow.png" id="9"] [ext_resource type="Texture2D" uid="uid://ds53oxkqrcumd" path="res://player/body.png" id="10"] -[ext_resource type="Script" path="res://player/bullet/bullet_spawner.gd" id="11"] -[ext_resource type="Script" path="res://player/weapon/weapon_pivot.gd" id="12"] +[ext_resource type="Script" uid="uid://duw4ejcjfrp7o" path="res://player/bullet/bullet_spawner.gd" id="11"] +[ext_resource type="Script" uid="uid://d1hwnb818bhik" path="res://player/weapon/weapon_pivot.gd" id="12"] [ext_resource type="PackedScene" uid="uid://cdacdp11r3jua" path="res://player/weapon/Sword.tscn" id="13"] -[ext_resource type="Script" path="res://player/states/debug/state_name_displayer.gd" id="15"] +[ext_resource type="Script" uid="uid://dgpfeu3yan7hq" path="res://player/states/debug/state_name_displayer.gd" id="15"] [sub_resource type="Animation" id="1"] @@ -36,9 +36,9 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_vi1hn"] _data = { -"idle": SubResource("1"), -"stagger": SubResource("2"), -"walk": SubResource("3") +&"idle": SubResource("1"), +&"stagger": SubResource("2"), +&"walk": SubResource("3") } [node name="Player" type="CharacterBody2D"] diff --git a/2d/finite_state_machine/player/bullet/Bullet.tscn b/2d/finite_state_machine/player/bullet/Bullet.tscn index 64446018..a2f4696d 100644 --- a/2d/finite_state_machine/player/bullet/Bullet.tscn +++ b/2d/finite_state_machine/player/bullet/Bullet.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://b6uru8lfx45ma"] -[ext_resource type="Script" path="res://player/bullet/bullet.gd" id="1"] +[ext_resource type="Script" uid="uid://crm4tdogdpumr" path="res://player/bullet/bullet.gd" id="1"] [sub_resource type="CircleShape2D" id="1"] radius = 12.0 diff --git a/2d/finite_state_machine/player/bullet/bullet.gd.uid b/2d/finite_state_machine/player/bullet/bullet.gd.uid new file mode 100644 index 00000000..4a227fa9 --- /dev/null +++ b/2d/finite_state_machine/player/bullet/bullet.gd.uid @@ -0,0 +1 @@ +uid://crm4tdogdpumr diff --git a/2d/finite_state_machine/player/bullet/bullet_spawner.gd.uid b/2d/finite_state_machine/player/bullet/bullet_spawner.gd.uid new file mode 100644 index 00000000..6f8dc99a --- /dev/null +++ b/2d/finite_state_machine/player/bullet/bullet_spawner.gd.uid @@ -0,0 +1 @@ +uid://duw4ejcjfrp7o diff --git a/2d/finite_state_machine/player/player_controller.gd.uid b/2d/finite_state_machine/player/player_controller.gd.uid new file mode 100644 index 00000000..96667de5 --- /dev/null +++ b/2d/finite_state_machine/player/player_controller.gd.uid @@ -0,0 +1 @@ +uid://clya0ymtv6cnn diff --git a/2d/finite_state_machine/player/player_state_machine.gd.uid b/2d/finite_state_machine/player/player_state_machine.gd.uid new file mode 100644 index 00000000..f26342e3 --- /dev/null +++ b/2d/finite_state_machine/player/player_state_machine.gd.uid @@ -0,0 +1 @@ +uid://bt4prj2loisak diff --git a/2d/finite_state_machine/player/states/combat/attack.gd.uid b/2d/finite_state_machine/player/states/combat/attack.gd.uid new file mode 100644 index 00000000..92efe8fe --- /dev/null +++ b/2d/finite_state_machine/player/states/combat/attack.gd.uid @@ -0,0 +1 @@ +uid://bianktk6rvu15 diff --git a/2d/finite_state_machine/player/states/combat/stagger.gd.uid b/2d/finite_state_machine/player/states/combat/stagger.gd.uid new file mode 100644 index 00000000..cf89424d --- /dev/null +++ b/2d/finite_state_machine/player/states/combat/stagger.gd.uid @@ -0,0 +1 @@ +uid://bdx6kcg1n8na3 diff --git a/2d/finite_state_machine/player/states/debug/state_name_displayer.gd.uid b/2d/finite_state_machine/player/states/debug/state_name_displayer.gd.uid new file mode 100644 index 00000000..80943706 --- /dev/null +++ b/2d/finite_state_machine/player/states/debug/state_name_displayer.gd.uid @@ -0,0 +1 @@ +uid://dgpfeu3yan7hq diff --git a/2d/finite_state_machine/player/states/die.gd.uid b/2d/finite_state_machine/player/states/die.gd.uid new file mode 100644 index 00000000..0db4c1db --- /dev/null +++ b/2d/finite_state_machine/player/states/die.gd.uid @@ -0,0 +1 @@ +uid://badi2yipj0y74 diff --git a/2d/finite_state_machine/player/states/motion/in_air/jump.gd.uid b/2d/finite_state_machine/player/states/motion/in_air/jump.gd.uid new file mode 100644 index 00000000..222a10bf --- /dev/null +++ b/2d/finite_state_machine/player/states/motion/in_air/jump.gd.uid @@ -0,0 +1 @@ +uid://c3jdmjrutxlu3 diff --git a/2d/finite_state_machine/player/states/motion/motion.gd.uid b/2d/finite_state_machine/player/states/motion/motion.gd.uid new file mode 100644 index 00000000..1883d675 --- /dev/null +++ b/2d/finite_state_machine/player/states/motion/motion.gd.uid @@ -0,0 +1 @@ +uid://bbwnftow50xk3 diff --git a/2d/finite_state_machine/player/states/motion/on_ground/idle.gd.uid b/2d/finite_state_machine/player/states/motion/on_ground/idle.gd.uid new file mode 100644 index 00000000..48cb3759 --- /dev/null +++ b/2d/finite_state_machine/player/states/motion/on_ground/idle.gd.uid @@ -0,0 +1 @@ +uid://duqfhrergdg0p diff --git a/2d/finite_state_machine/player/states/motion/on_ground/move.gd.uid b/2d/finite_state_machine/player/states/motion/on_ground/move.gd.uid new file mode 100644 index 00000000..100376dc --- /dev/null +++ b/2d/finite_state_machine/player/states/motion/on_ground/move.gd.uid @@ -0,0 +1 @@ +uid://bprpybddlsqly diff --git a/2d/finite_state_machine/player/states/motion/on_ground/on_ground.gd.uid b/2d/finite_state_machine/player/states/motion/on_ground/on_ground.gd.uid new file mode 100644 index 00000000..0b2d7e23 --- /dev/null +++ b/2d/finite_state_machine/player/states/motion/on_ground/on_ground.gd.uid @@ -0,0 +1 @@ +uid://qyf46nijd62s diff --git a/2d/finite_state_machine/player/weapon/Sword.tscn b/2d/finite_state_machine/player/weapon/Sword.tscn index f4370bac..8b3b0eb7 100644 --- a/2d/finite_state_machine/player/weapon/Sword.tscn +++ b/2d/finite_state_machine/player/weapon/Sword.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=9 format=3 uid="uid://cdacdp11r3jua"] -[ext_resource type="Script" path="res://player/weapon/sword.gd" id="1"] +[ext_resource type="Script" uid="uid://1j2saaqxja3i" path="res://player/weapon/sword.gd" id="1"] [ext_resource type="Texture2D" uid="uid://7cfjw83v5m75" path="res://player/weapon/sword.png" id="2"] [sub_resource type="Animation" id="1"] @@ -222,11 +222,11 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_6cp3i"] _data = { -"SETUP": SubResource("1"), -"attack_circular": SubResource("2"), -"attack_fast": SubResource("3"), -"attack_medium": SubResource("4"), -"idle": SubResource("5") +&"SETUP": SubResource("1"), +&"attack_circular": SubResource("2"), +&"attack_fast": SubResource("3"), +&"attack_medium": SubResource("4"), +&"idle": SubResource("5") } [node name="Sword" type="Area2D"] diff --git a/2d/finite_state_machine/player/weapon/sword.gd.uid b/2d/finite_state_machine/player/weapon/sword.gd.uid new file mode 100644 index 00000000..baf4dd62 --- /dev/null +++ b/2d/finite_state_machine/player/weapon/sword.gd.uid @@ -0,0 +1 @@ +uid://1j2saaqxja3i diff --git a/2d/finite_state_machine/player/weapon/weapon_pivot.gd.uid b/2d/finite_state_machine/player/weapon/weapon_pivot.gd.uid new file mode 100644 index 00000000..8f46b5bb --- /dev/null +++ b/2d/finite_state_machine/player/weapon/weapon_pivot.gd.uid @@ -0,0 +1 @@ +uid://d1hwnb818bhik diff --git a/2d/finite_state_machine/project.godot b/2d/finite_state_machine/project.godot index 8b17a922..2585aabb 100644 --- a/2d/finite_state_machine/project.godot +++ b/2d/finite_state_machine/project.godot @@ -16,7 +16,7 @@ pattern in GDscript, including Hierarchical States, and a pushdown automaton." config/tags=PackedStringArray("2d", "ai", "demo", "official") run/main_scene="res://Demo.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -34,63 +34,63 @@ window/stretch/aspect="expand" move_left={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":113,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) ] } move_up={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":122,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) ] } move_right={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null) ] } move_down={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) ] } fire={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":82,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":82,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":7,"pressure":0.0,"pressed":false,"script":null) ] } run={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194325,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194325,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":1,"pressure":0.0,"pressed":false,"script":null) ] } jump={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null) ] } simulate_damage={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":88,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":88,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":3,"pressure":0.0,"pressed":false,"script":null) ] } attack={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":70,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":70,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":2,"pressure":0.0,"pressed":true,"script":null) ] } diff --git a/2d/finite_state_machine/state_machine/state.gd.uid b/2d/finite_state_machine/state_machine/state.gd.uid new file mode 100644 index 00000000..9ed5172a --- /dev/null +++ b/2d/finite_state_machine/state_machine/state.gd.uid @@ -0,0 +1 @@ +uid://dhqouwibt7w6w diff --git a/2d/finite_state_machine/state_machine/state_machine.gd.uid b/2d/finite_state_machine/state_machine/state_machine.gd.uid new file mode 100644 index 00000000..95133bfb --- /dev/null +++ b/2d/finite_state_machine/state_machine/state_machine.gd.uid @@ -0,0 +1 @@ +uid://b472efbw14vob diff --git a/2d/glow/beach_cave.gd.uid b/2d/glow/beach_cave.gd.uid new file mode 100644 index 00000000..a057273b --- /dev/null +++ b/2d/glow/beach_cave.gd.uid @@ -0,0 +1 @@ +uid://c357ae7xh2t52 diff --git a/2d/glow/beach_cave.tscn b/2d/glow/beach_cave.tscn index a47a95b0..7842a426 100644 --- a/2d/glow/beach_cave.tscn +++ b/2d/glow/beach_cave.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=5 format=3 uid="uid://bhcia8aeoa4cm"] -[ext_resource type="Script" path="res://beach_cave.gd" id="1"] +[ext_resource type="Script" uid="uid://c357ae7xh2t52" path="res://beach_cave.gd" id="1"] [ext_resource type="Texture2D" uid="uid://drndflsw6mug" path="res://ocean_beach.png" id="2"] [ext_resource type="Texture2D" uid="uid://dyslwppgvocgd" path="res://ocean_cave.png" id="3"] diff --git a/2d/glow/project.godot b/2d/glow/project.godot index 828e810b..45fe3657 100644 --- a/2d/glow/project.godot +++ b/2d/glow/project.godot @@ -16,7 +16,7 @@ config/description="This showcases how to use glow in a 2D game via the WorldEnv Slide the cave image left and right to observe the glow effect at work." config/tags=PackedStringArray("2d", "demo", "official", "rendering") run/main_scene="res://beach_cave.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" run/name="" @@ -35,7 +35,7 @@ window/stretch/aspect="expand" toggle_glow_map={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":71,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":71,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } diff --git a/2d/hexagonal_map/project.godot b/2d/hexagonal_map/project.godot index a839ceec..4712421e 100644 --- a/2d/hexagonal_map/project.godot +++ b/2d/hexagonal_map/project.godot @@ -14,7 +14,7 @@ config/name="Hexagonal Game" config/description="Very simple demo showing a hexagonal TileMap and TileSet." config/tags=PackedStringArray("2d", "demo", "official", "tilemap") run/main_scene="res://map.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -32,32 +32,32 @@ move_down={ "deadzone": 0.2, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } move_left={ "deadzone": 0.2, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } move_right={ "deadzone": 0.2, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } move_up={ "deadzone": 0.2, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } diff --git a/2d/hexagonal_map/tileset_edit.tscn b/2d/hexagonal_map/tileset_edit.tscn index 06d352e6..8052fdad 100644 --- a/2d/hexagonal_map/tileset_edit.tscn +++ b/2d/hexagonal_map/tileset_edit.tscn @@ -1,159 +1,159 @@ -[gd_scene load_steps=27 format=2] +[gd_scene load_steps=27 format=3 uid="uid://twswrwvaadi0"] -[ext_resource path="res://tiles/WWT-01.png" type="Texture2D" id=1] -[ext_resource path="res://tiles/WWT-02.png" type="Texture2D" id=2] -[ext_resource path="res://tiles/WWT-03.png" type="Texture2D" id=3] -[ext_resource path="res://tiles/WWT-04.png" type="Texture2D" id=4] -[ext_resource path="res://tiles/WWT-05.png" type="Texture2D" id=5] -[ext_resource path="res://tiles/WWT-06.png" type="Texture2D" id=6] -[ext_resource path="res://tiles/WWT-07.png" type="Texture2D" id=7] -[ext_resource path="res://tiles/WWT-08.png" type="Texture2D" id=8] -[ext_resource path="res://tiles/WWT-09.png" type="Texture2D" id=9] -[ext_resource path="res://tiles/WWT-10.png" type="Texture2D" id=10] -[ext_resource path="res://tiles/WWT-11.png" type="Texture2D" id=11] -[ext_resource path="res://tiles/WWT-12.png" type="Texture2D" id=12] -[ext_resource path="res://tiles/WWT-13.png" type="Texture2D" id=13] -[ext_resource path="res://tiles/WWT-14.png" type="Texture2D" id=14] -[ext_resource path="res://tiles/WWT-15.png" type="Texture2D" id=15] -[ext_resource path="res://tiles/WWT-16.png" type="Texture2D" id=16] -[ext_resource path="res://tiles/WWT-17.png" type="Texture2D" id=17] -[ext_resource path="res://tiles/WWT-18.png" type="Texture2D" id=18] -[ext_resource path="res://tiles/WWT-19.png" type="Texture2D" id=19] -[ext_resource path="res://tiles/WWT-20.png" type="Texture2D" id=20] -[ext_resource path="res://tiles/WWT-21.png" type="Texture2D" id=21] -[ext_resource path="res://tiles/WWT-22.png" type="Texture2D" id=22] -[ext_resource path="res://tiles/WWT-23.png" type="Texture2D" id=23] -[ext_resource path="res://tiles/WWT-24.png" type="Texture2D" id=24] -[ext_resource path="res://tiles/WWT-25.png" type="Texture2D" id=25] -[ext_resource path="res://tiles/WWT-26.png" type="Texture2D" id=26] +[ext_resource type="Texture2D" uid="uid://crqmfvmjk10qv" path="res://tiles/WWT-01.png" id="1"] +[ext_resource type="Texture2D" uid="uid://cedbg617ddc06" path="res://tiles/WWT-02.png" id="2"] +[ext_resource type="Texture2D" uid="uid://cmth7tlqu7i5b" path="res://tiles/WWT-03.png" id="3"] +[ext_resource type="Texture2D" uid="uid://cnap3w3iv55k6" path="res://tiles/WWT-04.png" id="4"] +[ext_resource type="Texture2D" uid="uid://b2l65q8a3gdh4" path="res://tiles/WWT-05.png" id="5"] +[ext_resource type="Texture2D" uid="uid://dw1k6i44aj0x6" path="res://tiles/WWT-06.png" id="6"] +[ext_resource type="Texture2D" uid="uid://c5fggtsfk75xa" path="res://tiles/WWT-07.png" id="7"] +[ext_resource type="Texture2D" uid="uid://wqigqjsj3avp" path="res://tiles/WWT-08.png" id="8"] +[ext_resource type="Texture2D" uid="uid://c6hs85g3cl0sq" path="res://tiles/WWT-09.png" id="9"] +[ext_resource type="Texture2D" uid="uid://bpo0pq1q0f27b" path="res://tiles/WWT-10.png" id="10"] +[ext_resource type="Texture2D" uid="uid://cbuym3gkbc32a" path="res://tiles/WWT-11.png" id="11"] +[ext_resource type="Texture2D" uid="uid://dyhvpxrxlip5v" path="res://tiles/WWT-12.png" id="12"] +[ext_resource type="Texture2D" uid="uid://cf37ho773vwp2" path="res://tiles/WWT-13.png" id="13"] +[ext_resource type="Texture2D" uid="uid://bxai3ekb6emcv" path="res://tiles/WWT-14.png" id="14"] +[ext_resource type="Texture2D" uid="uid://cqd2c2wh20qie" path="res://tiles/WWT-15.png" id="15"] +[ext_resource type="Texture2D" uid="uid://1hkvgty64oul" path="res://tiles/WWT-16.png" id="16"] +[ext_resource type="Texture2D" uid="uid://1iq2swd8y0kw" path="res://tiles/WWT-17.png" id="17"] +[ext_resource type="Texture2D" uid="uid://cyoanntk2j1r5" path="res://tiles/WWT-18.png" id="18"] +[ext_resource type="Texture2D" uid="uid://ceg6p4pycxma4" path="res://tiles/WWT-19.png" id="19"] +[ext_resource type="Texture2D" uid="uid://chb3m0ywas0um" path="res://tiles/WWT-20.png" id="20"] +[ext_resource type="Texture2D" uid="uid://c5uttqfeps4db" path="res://tiles/WWT-21.png" id="21"] +[ext_resource type="Texture2D" uid="uid://desylm4omaicl" path="res://tiles/WWT-22.png" id="22"] +[ext_resource type="Texture2D" uid="uid://c1124u4mauyoa" path="res://tiles/WWT-23.png" id="23"] +[ext_resource type="Texture2D" uid="uid://bi8qsd7i1aahf" path="res://tiles/WWT-24.png" id="24"] +[ext_resource type="Texture2D" uid="uid://c0ujnkfiof2c7" path="res://tiles/WWT-25.png" id="25"] +[ext_resource type="Texture2D" uid="uid://nqj5fdvt56ad" path="res://tiles/WWT-26.png" id="26"] [node name="TilesetEdit" type="Node2D"] [node name="Tile1" type="Sprite2D" parent="."] -texture = ExtResource( 1 ) +texture = ExtResource("1") centered = false [node name="Tile2" type="Sprite2D" parent="."] position = Vector2(128, 0) -texture = ExtResource( 2 ) +texture = ExtResource("2") centered = false [node name="Tile3" type="Sprite2D" parent="."] position = Vector2(256, 0) -texture = ExtResource( 3 ) +texture = ExtResource("3") centered = false [node name="Tile4" type="Sprite2D" parent="."] position = Vector2(384, 0) -texture = ExtResource( 4 ) +texture = ExtResource("4") centered = false [node name="Tile5" type="Sprite2D" parent="."] position = Vector2(512, 0) -texture = ExtResource( 5 ) +texture = ExtResource("5") centered = false [node name="Tile6" type="Sprite2D" parent="."] position = Vector2(640, 0) -texture = ExtResource( 6 ) +texture = ExtResource("6") centered = false [node name="Tile7" type="Sprite2D" parent="."] position = Vector2(768, 0) -texture = ExtResource( 7 ) +texture = ExtResource("7") centered = false [node name="Tile8" type="Sprite2D" parent="."] position = Vector2(896, 0) -texture = ExtResource( 8 ) +texture = ExtResource("8") centered = false [node name="Tile9" type="Sprite2D" parent="."] position = Vector2(1024, 0) -texture = ExtResource( 9 ) +texture = ExtResource("9") centered = false [node name="Tile10" type="Sprite2D" parent="."] position = Vector2(0, 128) -texture = ExtResource( 10 ) +texture = ExtResource("10") centered = false [node name="Tile11" type="Sprite2D" parent="."] position = Vector2(128, 128) -texture = ExtResource( 11 ) +texture = ExtResource("11") centered = false [node name="Tile12" type="Sprite2D" parent="."] position = Vector2(256, 128) -texture = ExtResource( 12 ) +texture = ExtResource("12") centered = false [node name="Tile13" type="Sprite2D" parent="."] position = Vector2(384, 128) -texture = ExtResource( 13 ) +texture = ExtResource("13") centered = false [node name="Tile14" type="Sprite2D" parent="."] position = Vector2(512, 128) -texture = ExtResource( 14 ) +texture = ExtResource("14") centered = false [node name="Tile15" type="Sprite2D" parent="."] position = Vector2(640, 128) -texture = ExtResource( 15 ) +texture = ExtResource("15") centered = false [node name="Tile16" type="Sprite2D" parent="."] position = Vector2(768, 128) -texture = ExtResource( 16 ) +texture = ExtResource("16") centered = false [node name="Tile17" type="Sprite2D" parent="."] position = Vector2(896, 128) -texture = ExtResource( 17 ) +texture = ExtResource("17") centered = false [node name="Tile18" type="Sprite2D" parent="."] position = Vector2(1024, 128) -texture = ExtResource( 18 ) +texture = ExtResource("18") centered = false [node name="Tile19" type="Sprite2D" parent="."] position = Vector2(0, 256) -texture = ExtResource( 19 ) +texture = ExtResource("19") centered = false [node name="Tile20" type="Sprite2D" parent="."] position = Vector2(128, 256) -texture = ExtResource( 20 ) +texture = ExtResource("20") centered = false [node name="Tile21" type="Sprite2D" parent="."] position = Vector2(256, 256) -texture = ExtResource( 21 ) +texture = ExtResource("21") centered = false [node name="Tile22" type="Sprite2D" parent="."] position = Vector2(384, 256) -texture = ExtResource( 22 ) +texture = ExtResource("22") centered = false [node name="Tile23" type="Sprite2D" parent="."] position = Vector2(512, 256) -texture = ExtResource( 23 ) +texture = ExtResource("23") centered = false [node name="Tile24" type="Sprite2D" parent="."] position = Vector2(640, 256) -texture = ExtResource( 24 ) +texture = ExtResource("24") centered = false [node name="Tile25" type="Sprite2D" parent="."] position = Vector2(768, 256) -texture = ExtResource( 25 ) +texture = ExtResource("25") centered = false [node name="Tile26" type="Sprite2D" parent="."] position = Vector2(896, 256) -texture = ExtResource( 26 ) +texture = ExtResource("26") centered = false diff --git a/2d/hexagonal_map/troll.gd.uid b/2d/hexagonal_map/troll.gd.uid new file mode 100644 index 00000000..4fbe31e2 --- /dev/null +++ b/2d/hexagonal_map/troll.gd.uid @@ -0,0 +1 @@ +uid://ncd8ojl2luqf diff --git a/2d/hexagonal_map/troll.tscn b/2d/hexagonal_map/troll.tscn index 3e7efade..9effd364 100644 --- a/2d/hexagonal_map/troll.tscn +++ b/2d/hexagonal_map/troll.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://bryfdf2r0lvau"] -[ext_resource type="Script" path="res://troll.gd" id="1"] +[ext_resource type="Script" uid="uid://ncd8ojl2luqf" path="res://troll.gd" id="1"] [ext_resource type="Texture2D" uid="uid://c125b0x0g8lwk" path="res://troll.png" id="2"] [sub_resource type="CircleShape2D" id="1"] diff --git a/2d/instancing/ball_factory.gd.uid b/2d/instancing/ball_factory.gd.uid new file mode 100644 index 00000000..aa37aeaa --- /dev/null +++ b/2d/instancing/ball_factory.gd.uid @@ -0,0 +1 @@ +uid://1p4pju37s0lv diff --git a/2d/instancing/project.godot b/2d/instancing/project.godot index 3e2a0664..ab95ec6b 100644 --- a/2d/instancing/project.godot +++ b/2d/instancing/project.godot @@ -15,7 +15,7 @@ config/description="A demo showing how to use scene instancing to make many duplicates of the same object." config/tags=PackedStringArray("2d", "demo", "official") run/main_scene="res://scene_instancing.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/2d/instancing/scene_instancing.tscn b/2d/instancing/scene_instancing.tscn index b8a4addd..cce9517c 100644 --- a/2d/instancing/scene_instancing.tscn +++ b/2d/instancing/scene_instancing.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=13 format=3 uid="uid://rcsr8t4nw526"] -[ext_resource type="Script" path="res://ball_factory.gd" id="1"] +[ext_resource type="Script" uid="uid://1p4pju37s0lv" path="res://ball_factory.gd" id="1"] [ext_resource type="PackedScene" uid="uid://cgx884jv27maj" path="res://ball.tscn" id="2"] [sub_resource type="PhysicsMaterial" id="1"] diff --git a/2d/isometric/decorations/bone_pile_1.tscn b/2d/isometric/decorations/bone_pile_1.tscn index 8e804271..5052e53b 100644 --- a/2d/isometric/decorations/bone_pile_1.tscn +++ b/2d/isometric/decorations/bone_pile_1.tscn @@ -1,9 +1,9 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=3 format=3 uid="uid://cg8o3746cgxml"] -[ext_resource path="res://decorations/bone_pile_1.png" type="Texture2D" id=1] +[ext_resource type="Texture2D" uid="uid://dpxv7d5d7hm33" path="res://decorations/bone_pile_1.png" id="1"] -[sub_resource type="CapsuleShape2D" id=1] -radius = 18.0 +[sub_resource type="CapsuleShape2D" id="1"] +radius = 14.0 height = 28.0 [node name="bone_pile" type="Node2D"] @@ -11,10 +11,10 @@ height = 28.0 [node name="StaticBody2D" type="StaticBody2D" parent="."] [node name="Sprite2D" type="Sprite2D" parent="StaticBody2D"] -position = Vector2( 0, -14 ) -texture = ExtResource( 1 ) +position = Vector2(0, -14) +texture = ExtResource("1") [node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"] -position = Vector2( 0, -15 ) +position = Vector2(0, -15) rotation = 1.5708 -shape = SubResource( 1 ) +shape = SubResource("1") diff --git a/2d/isometric/decorations/bone_pile_2.tscn b/2d/isometric/decorations/bone_pile_2.tscn index e6aa8e8f..c0ad98cd 100644 --- a/2d/isometric/decorations/bone_pile_2.tscn +++ b/2d/isometric/decorations/bone_pile_2.tscn @@ -1,20 +1,20 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=3 format=3 uid="uid://b35jmtc8em4ld"] -[ext_resource path="res://decorations/bone_pile_2.png" type="Texture2D" id=1] +[ext_resource type="Texture2D" uid="uid://wxpdcei7yeuk" path="res://decorations/bone_pile_2.png" id="1"] -[sub_resource type="CapsuleShape2D" id=1] +[sub_resource type="CapsuleShape2D" id="1"] radius = 13.0 height = 26.0001 [node name="bone_pile" type="Node2D"] [node name="Sprite2D" type="Sprite2D" parent="."] -position = Vector2( 0, -13 ) -texture = ExtResource( 1 ) +position = Vector2(0, -13) +texture = ExtResource("1") [node name="StaticBody2D" type="StaticBody2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"] -position = Vector2( 0, -13 ) +position = Vector2(0, -13) rotation = 1.5708 -shape = SubResource( 1 ) +shape = SubResource("1") diff --git a/2d/isometric/decorations/candle.tscn b/2d/isometric/decorations/candle.tscn index b596c2d5..043bf737 100644 --- a/2d/isometric/decorations/candle.tscn +++ b/2d/isometric/decorations/candle.tscn @@ -1,118 +1,119 @@ -[gd_scene load_steps=14 format=2] +[gd_scene load_steps=14 format=3 uid="uid://b4ol62k507nn7"] -[ext_resource path="res://decorations/sparkle.png" type="Texture2D" id=1] -[ext_resource path="res://decorations/candle.png" type="Texture2D" id=2] -[ext_resource path="res://decorations/fire.png" type="Texture2D" id=3] -[ext_resource path="res://decorations/glow.png" type="Texture2D" id=4] +[ext_resource type="Texture2D" uid="uid://bs6uc40vmpmhd" path="res://decorations/sparkle.png" id="1"] +[ext_resource type="Texture2D" uid="uid://bkae3n748i0ow" path="res://decorations/candle.png" id="2"] +[ext_resource type="Texture2D" uid="uid://bfa7cvk3m65n3" path="res://decorations/fire.png" id="3"] +[ext_resource type="Texture2D" uid="uid://cginrtmcplrec" path="res://decorations/glow.png" id="4"] -[sub_resource type="CanvasItemMaterial" id=1] +[sub_resource type="CanvasItemMaterial" id="1"] particles_animation = true particles_anim_h_frames = 11 particles_anim_v_frames = 1 particles_anim_loop = false -[sub_resource type="Gradient" id=2] -offsets = PackedFloat32Array( 0, 0.625698, 1 ) -colors = PackedColorArray( 1, 0.584314, 0, 1, 1, 0.84063, 0.226563, 1, 1, 0.584314, 0, 1 ) +[sub_resource type="Gradient" id="2"] +offsets = PackedFloat32Array(0, 0.625698, 1) +colors = PackedColorArray(1, 0.584314, 0, 1, 1, 0.84063, 0.226563, 1, 1, 0.584314, 0, 1) -[sub_resource type="CanvasItemMaterial" id=3] +[sub_resource type="CanvasItemMaterial" id="3"] blend_mode = 1 particles_animation = true particles_anim_h_frames = 8 particles_anim_v_frames = 1 particles_anim_loop = false -[sub_resource type="Curve" id=4] -max_value = 0.3 -_data = [ Vector2( 0, 0 ), 0.0, 1.36377, 0, 0, Vector2( 0.262376, 0.188182 ), 0.41974, 0.41974, 0, 0, Vector2( 1, 0.0295454 ), -1.06101, 0.0, 0, 0 ] +[sub_resource type="Curve" id="4"] +_limits = [0.0, 0.3, 0.0, 1.0] +_data = [Vector2(0, 0), 0.0, 1.36377, 0, 0, Vector2(0.262376, 0.188182), 0.41974, 0.41974, 0, 0, Vector2(1, 0.0295454), -1.06101, 0.0, 0, 0] +point_count = 3 -[sub_resource type="Gradient" id=5] -offsets = PackedFloat32Array( 0, 0.435754, 1 ) -colors = PackedColorArray( 1, 0.351563, 0, 1, 0.895996, 0.745333, 0.230999, 1, 1, 0.426842, 0.0234375, 1 ) +[sub_resource type="Gradient" id="5"] +offsets = PackedFloat32Array(0, 0.435754, 1) +colors = PackedColorArray(1, 0.351563, 0, 1, 0.895996, 0.745333, 0.230999, 1, 1, 0.426842, 0.0234375, 1) -[sub_resource type="Gradient" id=12] -offsets = PackedFloat32Array( 0, 0.100559, 0.234637, 0.480447, 0.603352, 1 ) -colors = PackedColorArray( 0.714844, 0.714844, 0.714844, 1, 0.382813, 0.382813, 0.382813, 1, 0.601563, 0.601563, 0.601563, 1, 0.229687, 0.229687, 0.229687, 1, 0.0197581, 0.0197581, 0.0197581, 1, 0, 0, 0, 1 ) +[sub_resource type="Gradient" id="12"] +offsets = PackedFloat32Array(0, 0.100559, 0.234637, 0.480447, 0.603352, 1) +colors = PackedColorArray(0.714844, 0.714844, 0.714844, 1, 0.382813, 0.382813, 0.382813, 1, 0.601563, 0.601563, 0.601563, 1, 0.229687, 0.229687, 0.229687, 1, 0.0197581, 0.0197581, 0.0197581, 1, 0, 0, 0, 1) -[sub_resource type="GradientTexture2D" id=9] -gradient = SubResource( 12 ) +[sub_resource type="GradientTexture2D" id="9"] +gradient = SubResource("12") width = 128 height = 128 fill = 1 -fill_from = Vector2( 0.5, 0.5 ) -fill_to = Vector2( 0, 0 ) +fill_from = Vector2(0.5, 0.5) +fill_to = Vector2(0, 0) -[sub_resource type="Gradient" id=13] -offsets = PackedFloat32Array( 0.0111732, 0.843575 ) -colors = PackedColorArray( 0.648926, 0.648926, 0.648926, 1, 0, 0, 0, 1 ) +[sub_resource type="Gradient" id="13"] +offsets = PackedFloat32Array(0.0111732, 0.843575) +colors = PackedColorArray(0.648926, 0.648926, 0.648926, 1, 0, 0, 0, 1) -[sub_resource type="GradientTexture2D" id=10] -gradient = SubResource( 13 ) +[sub_resource type="GradientTexture2D" id="10"] +gradient = SubResource("13") width = 800 height = 500 fill = 1 -fill_from = Vector2( 0.5, 0.5 ) +fill_from = Vector2(0.5, 0.5) [node name="Node2D" type="Node2D"] [node name="Sprite2D" type="Sprite2D" parent="."] light_mask = 128 -position = Vector2( 0, -11 ) -texture = ExtResource( 2 ) +position = Vector2(0, -11) +texture = ExtResource("2") [node name="glow" type="CPUParticles2D" parent="Sprite2D"] -modulate = Color( 1, 0.360784, 0.113725, 1 ) +modulate = Color(1, 0.360784, 0.113725, 1) light_mask = 128 -position = Vector2( -13, -33.244 ) -scale = Vector2( 0.3, 0.5 ) +position = Vector2(-13, -33.244) +scale = Vector2(0.3, 0.5) amount = 1 lifetime = 0.8 -texture = ExtResource( 4 ) -gravity = Vector2( 0, 0 ) +texture = ExtResource("4") +gravity = Vector2(0, 0) [node name="Fire" type="CPUParticles2D" parent="Sprite2D"] light_mask = 128 -material = SubResource( 1 ) -position = Vector2( -13, -35 ) -scale = Vector2( 0.6, 0.6 ) +material = SubResource("1") +position = Vector2(-13, -35) +scale = Vector2(0.6, 0.6) amount = 1 lifetime = 0.8 -texture = ExtResource( 3 ) -gravity = Vector2( 0, 0 ) -color_ramp = SubResource( 2 ) +texture = ExtResource("3") +gravity = Vector2(0, 0) +color_ramp = SubResource("2") anim_speed = 1.0 [node name="Sparkle" type="CPUParticles2D" parent="Sprite2D"] light_mask = 128 -material = SubResource( 3 ) -position = Vector2( -13, -35 ) -scale = Vector2( 0.6, 0.6 ) +material = SubResource("3") +position = Vector2(-13, -35) +scale = Vector2(0.6, 0.6) amount = 3 -texture = ExtResource( 1 ) +texture = ExtResource("1") emission_shape = 1 emission_sphere_radius = 8.0 -gravity = Vector2( 0, -80 ) +gravity = Vector2(0, -80) angular_velocity = 1.0 tangential_accel = 49.54 -scale_amount_curve = SubResource( 4 ) -color_ramp = SubResource( 5 ) +scale_amount_curve = SubResource("4") +color_ramp = SubResource("5") anim_speed = 1.0 [node name="flow front" type="CPUParticles2D" parent="Sprite2D"] -modulate = Color( 0.94902, 1, 0, 1 ) +modulate = Color(0.94902, 1, 0, 1) light_mask = 128 -position = Vector2( -13, -28.689 ) -scale = Vector2( 0.25, 0.25 ) +position = Vector2(-13, -28.689) +scale = Vector2(0.25, 0.25) amount = 1 lifetime = 0.8 -texture = ExtResource( 4 ) -gravity = Vector2( 0, 0 ) +texture = ExtResource("4") +gravity = Vector2(0, 0) [node name="Light2D2" type="PointLight2D" parent="."] light_mask = 2 -position = Vector2( -15, -49 ) -texture = SubResource( 9 ) -color = Color( 1, 0.466667, 0.0352941, 1 ) +position = Vector2(-15, -49) +texture = SubResource("9") +color = Color(1, 0.466667, 0.0352941, 1) energy = 2.0 range_height = 450.9 range_item_cull_mask = 145 @@ -122,8 +123,8 @@ shadow_item_cull_mask = 145 [node name="PointLight2D" type="PointLight2D" parent="."] light_mask = 2 -texture = SubResource( 10 ) -color = Color( 0.709804, 0.388235, 0.313726, 1 ) +texture = SubResource("10") +color = Color(0.709804, 0.388235, 0.313726, 1) range_height = 901.9 range_item_cull_mask = 17 shadow_enabled = true diff --git a/2d/isometric/decorations/coin_pile.tscn b/2d/isometric/decorations/coin_pile.tscn index 0a3e5e4a..6a366297 100644 --- a/2d/isometric/decorations/coin_pile.tscn +++ b/2d/isometric/decorations/coin_pile.tscn @@ -1,8 +1,8 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=3 format=3 uid="uid://crhvgu5svb00q"] -[ext_resource path="res://decorations/coin_pile.png" type="Texture2D" id=1] +[ext_resource type="Texture2D" uid="uid://b6sjbdj350qkj" path="res://decorations/coin_pile.png" id="1"] -[sub_resource type="CapsuleShape2D" id=1] +[sub_resource type="CapsuleShape2D" id="1"] radius = 12.0 height = 38.0 @@ -11,10 +11,10 @@ height = 38.0 [node name="StaticBody2D" type="StaticBody2D" parent="."] [node name="Sprite2D" type="Sprite2D" parent="StaticBody2D"] -position = Vector2( 0, -23 ) -texture = ExtResource( 1 ) +position = Vector2(0, -23) +texture = ExtResource("1") [node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"] -position = Vector2( 0, -13 ) +position = Vector2(0, -13) rotation = 1.5708 -shape = SubResource( 1 ) +shape = SubResource("1") diff --git a/2d/isometric/decorations/internal_shadow.tscn b/2d/isometric/decorations/internal_shadow.tscn index 2a46fa49..241d4045 100644 --- a/2d/isometric/decorations/internal_shadow.tscn +++ b/2d/isometric/decorations/internal_shadow.tscn @@ -1,9 +1,9 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://1qn6gng1j3uv"] -[ext_resource path="res://decorations/shadow_gradient.png" type="Texture2D" id=1] +[ext_resource type="Texture2D" uid="uid://cmxo4k7h2nl7h" path="res://decorations/shadow_gradient.png" id="1"] [node name="InternalShadow" type="Polygon2D"] -color = Color( 0.0705882, 0.0705882, 0.266667, 0.85098 ) -texture = ExtResource( 1 ) -polygon = PackedVector2Array( -92, -289, -94, 1, 128, -1, 121, -295 ) -uv = PackedVector2Array( -2, -1, -2, 292, 264, 291, 261, -2 ) +color = Color(0.0705882, 0.0705882, 0.266667, 0.85098) +texture = ExtResource("1") +polygon = PackedVector2Array(-92, -289, -94, 1, 128, -1, 121, -295) +uv = PackedVector2Array(-2, -1, -2, 292, 264, 291, 261, -2) diff --git a/2d/isometric/dungeon.tscn b/2d/isometric/dungeon.tscn index 093297dc..8a77f3fc 100644 --- a/2d/isometric/dungeon.tscn +++ b/2d/isometric/dungeon.tscn @@ -3,17 +3,17 @@ [ext_resource type="TileSet" uid="uid://ceswxvl27cesm" path="res://tileset/tileset.tres" id="1"] [ext_resource type="Texture2D" uid="uid://cy8biel27i5i7" path="res://decorations/wall_skull.png" id="2"] [ext_resource type="PackedScene" uid="uid://bqpkxht3mx8l8" path="res://player/goblin.tscn" id="3"] -[ext_resource type="PackedScene" path="res://decorations/candle.tscn" id="4"] +[ext_resource type="PackedScene" uid="uid://b4ol62k507nn7" path="res://decorations/candle.tscn" id="4"] [ext_resource type="Texture2D" uid="uid://bqugyxfkeyt7x" path="res://decorations/rug_1.png" id="5"] [ext_resource type="Texture2D" uid="uid://bycat883fu7q2" path="res://decorations/banner.png" id="6"] [ext_resource type="PackedScene" uid="uid://dxxtyefaa4rtn" path="res://decorations/vase_1.tscn" id="7"] [ext_resource type="PackedScene" uid="uid://ccxtgas16pmio" path="res://decorations/vase_2.tscn" id="8"] -[ext_resource type="PackedScene" path="res://decorations/coin_pile.tscn" id="9"] -[ext_resource type="PackedScene" path="res://decorations/bone_pile_1.tscn" id="10"] -[ext_resource type="PackedScene" path="res://decorations/bone_pile_2.tscn" id="11"] +[ext_resource type="PackedScene" uid="uid://crhvgu5svb00q" path="res://decorations/coin_pile.tscn" id="9"] +[ext_resource type="PackedScene" uid="uid://cg8o3746cgxml" path="res://decorations/bone_pile_1.tscn" id="10"] +[ext_resource type="PackedScene" uid="uid://b35jmtc8em4ld" path="res://decorations/bone_pile_2.tscn" id="11"] [ext_resource type="Texture2D" uid="uid://cginrtmcplrec" path="res://decorations/glow.png" id="12"] [ext_resource type="Texture2D" uid="uid://cmxo4k7h2nl7h" path="res://decorations/shadow_gradient.png" id="13"] -[ext_resource type="PackedScene" path="res://decorations/internal_shadow.tscn" id="14"] +[ext_resource type="PackedScene" uid="uid://1qn6gng1j3uv" path="res://decorations/internal_shadow.tscn" id="14"] [ext_resource type="Texture2D" uid="uid://dahfdmuvra5we" path="res://decorations/drape_1.png" id="15"] [ext_resource type="Texture2D" uid="uid://dmqbp4e43sm1t" path="res://decorations/paw_prints.png" id="16"] [ext_resource type="Texture2D" uid="uid://d3j0qnogdctw4" path="res://decorations/crow_sleep.png" id="18"] diff --git a/2d/isometric/player/goblin.gd.uid b/2d/isometric/player/goblin.gd.uid new file mode 100644 index 00000000..28a38312 --- /dev/null +++ b/2d/isometric/player/goblin.gd.uid @@ -0,0 +1 @@ +uid://di4s678ldrj6l diff --git a/2d/isometric/player/goblin.tscn b/2d/isometric/player/goblin.tscn index 0b386adc..b3bfb148 100644 --- a/2d/isometric/player/goblin.tscn +++ b/2d/isometric/player/goblin.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=264 format=3 uid="uid://bqpkxht3mx8l8"] [ext_resource type="Texture2D" uid="uid://dpwpop61vufvt" path="res://player/goblin.png" id="1"] -[ext_resource type="Script" path="res://player/goblin.gd" id="2"] +[ext_resource type="Script" uid="uid://di4s678ldrj6l" path="res://player/goblin.gd" id="2"] [sub_resource type="Gradient" id="662"] offsets = PackedFloat32Array(0.00558659, 0.441341, 0.659218) diff --git a/2d/isometric/project.godot b/2d/isometric/project.godot index f2790eb2..264bf2e5 100644 --- a/2d/isometric/project.godot +++ b/2d/isometric/project.godot @@ -17,7 +17,7 @@ A character can move around the level and will also slide around objects, as well as be occluded when standing in front or behind them." config/tags=PackedStringArray("2d", "demo", "official", "tilemap") run/main_scene="res://dungeon.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [display] @@ -29,32 +29,32 @@ window/stretch/aspect="expand" move_down={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194322,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194322,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) ] } move_left={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194319,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194319,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null) ] } move_right={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194321,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194321,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null) ] } move_up={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194320,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194320,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) ] diff --git a/2d/isometric/tileset/tileset_edit.tscn b/2d/isometric/tileset/tileset_edit.tscn index 888e9348..2776d19c 100644 --- a/2d/isometric/tileset/tileset_edit.tscn +++ b/2d/isometric/tileset/tileset_edit.tscn @@ -1,60 +1,60 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=3 format=3 uid="uid://co55dd2ckce04"] -[ext_resource path="res://tileset/isotiles.png" type="Texture2D" id=1] +[ext_resource type="Texture2D" uid="uid://dup8jrb6ajapx" path="res://tileset/isotiles.png" id="1"] -[sub_resource type="OccluderPolygon2D" id=2] -polygon = PackedVector2Array( 0, -100, -67, -68, -66, 0, -1, 33, 66, -2, 64, -67 ) +[sub_resource type="OccluderPolygon2D" id="2"] +polygon = PackedVector2Array(0, -100, -67, -68, -66, 0, -1, 33, 66, -2, 64, -67) [node name="TilesetEdit" type="Node2D"] [node name="Base" type="Sprite2D" parent="."] -texture = ExtResource( 1 ) +texture = ExtResource("1") region_enabled = true -region_rect = Rect2( 28, 75, 135, 105 ) +region_rect = Rect2(28, 75, 135, 105) [node name="Base2" type="Sprite2D" parent="."] -position = Vector2( 200, 0 ) -texture = ExtResource( 1 ) +position = Vector2(200, 0) +texture = ExtResource("1") region_enabled = true -region_rect = Rect2( 221, 75, 135, 105 ) +region_rect = Rect2(221, 75, 135, 105) [node name="Wall" type="Sprite2D" parent="."] -position = Vector2( 400, 0 ) -texture = ExtResource( 1 ) -offset = Vector2( 0, -32 ) +position = Vector2(400, 0) +texture = ExtResource("1") +offset = Vector2(0, -32) region_enabled = true -region_rect = Rect2( 28, 220, 140, 140 ) +region_rect = Rect2(28, 220, 140, 140) [node name="StaticBody2D" type="StaticBody2D" parent="Wall"] [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Wall/StaticBody2D"] -polygon = PackedVector2Array( -64, 0, 0, 32, 64, 0, 0, -32 ) +polygon = PackedVector2Array(-64, 0, 0, 32, 64, 0, 0, -32) [node name="LightOccluder2D" type="LightOccluder2D" parent="Wall"] visible = false -occluder = SubResource( 2 ) +occluder = SubResource("2") [node name="Column" type="Sprite2D" parent="."] -position = Vector2( 600, 0 ) -texture = ExtResource( 1 ) -offset = Vector2( 0, -32 ) +position = Vector2(600, 0) +texture = ExtResource("1") +offset = Vector2(0, -32) region_enabled = true -region_rect = Rect2( 259, 241, 55, 95 ) +region_rect = Rect2(259, 241, 55, 95) [node name="StaticBody2D" type="StaticBody2D" parent="Column"] [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Column/StaticBody2D"] -position = Vector2( 2, 0 ) -polygon = PackedVector2Array( -27, 7, -14, 20, 16, 20, 28, 4, 24, -12, 10, -22, -10, -22, -24, -12 ) +position = Vector2(2, 0) +polygon = PackedVector2Array(-27, 7, -14, 20, 16, 20, 28, 4, 24, -12, 10, -22, -10, -22, -24, -12) [node name="Door1" type="Sprite2D" parent="."] -position = Vector2( 800, 0 ) -texture = ExtResource( 1 ) -offset = Vector2( 0, -25 ) +position = Vector2(800, 0) +texture = ExtResource("1") +offset = Vector2(0, -25) region_enabled = true -region_rect = Rect2( 54, 426, 85, 110 ) +region_rect = Rect2(54, 426, 85, 110) [node name="StaticBody2D" type="StaticBody2D" parent="Door1"] [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Door1/StaticBody2D"] -polygon = PackedVector2Array( -24, 24, 40, -8, 24, -16, -40, 16 ) +polygon = PackedVector2Array(-24, 24, 40, -8, 24, -16, -40, 16) diff --git a/2d/kinematic_character/level/princess.gd.uid b/2d/kinematic_character/level/princess.gd.uid new file mode 100644 index 00000000..c960f49d --- /dev/null +++ b/2d/kinematic_character/level/princess.gd.uid @@ -0,0 +1 @@ +uid://bj33aputmer8v diff --git a/2d/kinematic_character/player/player.gd.uid b/2d/kinematic_character/player/player.gd.uid new file mode 100644 index 00000000..521d0dc0 --- /dev/null +++ b/2d/kinematic_character/player/player.gd.uid @@ -0,0 +1 @@ +uid://brnv71sufqqn diff --git a/2d/kinematic_character/player/player.tscn b/2d/kinematic_character/player/player.tscn index 25320c7c..91cbfd89 100644 --- a/2d/kinematic_character/player/player.tscn +++ b/2d/kinematic_character/player/player.tscn @@ -1,17 +1,17 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=4 format=3 uid="uid://1mg1vqqw4sf8"] -[ext_resource path="res://player/player.gd" type="Script" id=1] -[ext_resource path="res://player/player.png" type="Texture2D" id=2] +[ext_resource type="Script" uid="uid://brnv71sufqqn" path="res://player/player.gd" id="1"] +[ext_resource type="Texture2D" uid="uid://dfb8rr2fakwgp" path="res://player/player.png" id="2"] -[sub_resource type="RectangleShape2D" id=1] -extents = Vector2(7, 7) +[sub_resource type="RectangleShape2D" id="1"] +size = Vector2(14, 14) [node name="Player" type="CharacterBody2D"] -script = ExtResource( 1 ) +script = ExtResource("1") [node name="Sprite2D" type="Sprite2D" parent="."] -texture = ExtResource( 2 ) +texture = ExtResource("2") [node name="CollisionShape2D" type="CollisionShape2D" parent="."] position = Vector2(-0.315559, 0.157784) -shape = SubResource( 1 ) +shape = SubResource("1") diff --git a/2d/kinematic_character/project.godot b/2d/kinematic_character/project.godot index e4ac8757..bc16aa74 100644 --- a/2d/kinematic_character/project.godot +++ b/2d/kinematic_character/project.godot @@ -16,7 +16,7 @@ CharacterBody2D. The character moves around, is affected by moving platforms, can jump through one-way collision platforms, etc." config/tags=PackedStringArray("2d", "demo", "official", "physics") run/main_scene="res://world.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -37,25 +37,25 @@ jump={ "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } move_left={ "deadzone": 0.2, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } move_right={ "deadzone": 0.2, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } diff --git a/2d/kinematic_character/world.tscn b/2d/kinematic_character/world.tscn index 66f44a78..4cc02535 100644 --- a/2d/kinematic_character/world.tscn +++ b/2d/kinematic_character/world.tscn @@ -1,19 +1,17 @@ [gd_scene load_steps=23 format=3 uid="uid://de7qapkqfycxl"] [ext_resource type="Texture2D" uid="uid://cs8h2qyuakmko" path="res://level/obstacle.png" id="2"] -[ext_resource type="PackedScene" path="res://player/player.tscn" id="3"] +[ext_resource type="PackedScene" uid="uid://1mg1vqqw4sf8" path="res://player/player.tscn" id="3"] [ext_resource type="Texture2D" uid="uid://cxl5cvsgyxcoe" path="res://level/princess.png" id="4"] [ext_resource type="Texture2D" uid="uid://1ign8s1w414r" path="res://level/circle.png" id="5"] [ext_resource type="Texture2D" uid="uid://hp84e6iwjqjy" path="res://level/long_obstacle.png" id="6"] -[ext_resource type="Script" path="res://level/princess.gd" id="7"] +[ext_resource type="Script" uid="uid://bj33aputmer8v" path="res://level/princess.gd" id="7"] [sub_resource type="PhysicsMaterial" id="PhysicsMaterial_on5ov"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_vnjib"] texture = ExtResource("2") 0:0/0 = 0 -0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:0/0/physics_layer_0/angular_velocity = 0.0 0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8) [sub_resource type="TileSet" id="TileSet_xqlka"] @@ -42,7 +40,7 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_2v3oa"] _data = { -"leftright": SubResource("4") +&"leftright": SubResource("4") } [sub_resource type="Animation" id="5"] @@ -80,8 +78,8 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_j555p"] _data = { -"leftright": SubResource("5"), -"updown": SubResource("6") +&"leftright": SubResource("5"), +&"updown": SubResource("6") } [sub_resource type="RectangleShape2D" id="7"] @@ -111,7 +109,7 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_gijtf"] _data = { -"turn": SubResource("10") +&"turn": SubResource("10") } [sub_resource type="RectangleShape2D" id="11"] diff --git a/2d/light2d_as_mask/lightmask.tscn b/2d/light2d_as_mask/lightmask.tscn index 7d2f6124..8c71849a 100644 --- a/2d/light2d_as_mask/lightmask.tscn +++ b/2d/light2d_as_mask/lightmask.tscn @@ -48,7 +48,7 @@ tracks/2/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_co4us"] _data = { -"maskmotion": SubResource("2") +&"maskmotion": SubResource("2") } [node name="Lightmask" type="Control"] diff --git a/2d/light2d_as_mask/project.godot b/2d/light2d_as_mask/project.godot index 9f2c672e..49fa4035 100644 --- a/2d/light2d_as_mask/project.godot +++ b/2d/light2d_as_mask/project.godot @@ -14,7 +14,7 @@ config/name="2D Lights as Mask" config/description="Example of how to use 2D lights to mask objects on screen." config/tags=PackedStringArray("2d", "demo", "official", "rendering") run/main_scene="res://lightmask.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/2d/lights_and_shadows/light_shadows.gd.uid b/2d/lights_and_shadows/light_shadows.gd.uid new file mode 100644 index 00000000..f814bdfa --- /dev/null +++ b/2d/lights_and_shadows/light_shadows.gd.uid @@ -0,0 +1 @@ +uid://d1gyao34mw1tv diff --git a/2d/lights_and_shadows/light_shadows.tscn b/2d/lights_and_shadows/light_shadows.tscn index 18ab000f..fe5e8081 100644 --- a/2d/lights_and_shadows/light_shadows.tscn +++ b/2d/lights_and_shadows/light_shadows.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=25 format=3 uid="uid://xdjwv7eeck6l"] [ext_resource type="Texture2D" uid="uid://ulsh8ubvub37" path="res://background.png" id="1"] -[ext_resource type="Script" path="res://light_shadows.gd" id="1_7xjm7"] +[ext_resource type="Script" uid="uid://d1gyao34mw1tv" path="res://light_shadows.gd" id="1_7xjm7"] [ext_resource type="Texture2D" uid="uid://kkvm5nl3vgun" path="res://caster.png" id="2"] [ext_resource type="Texture2D" uid="uid://dk6osr088g4l3" path="res://light.png" id="3"] [ext_resource type="Texture2D" uid="uid://cnyul1oe7d4b" path="res://spot.png" id="4"] @@ -68,8 +68,8 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_wawvy"] _data = { -"motion": SubResource("3"), -"motion2": SubResource("4") +&"motion": SubResource("3"), +&"motion2": SubResource("4") } [sub_resource type="CanvasItemMaterial" id="5"] @@ -77,8 +77,8 @@ blend_mode = 1 [sub_resource type="AnimationLibrary" id="AnimationLibrary_fig6v"] _data = { -"m2": SubResource("4"), -"motion": SubResource("3") +&"m2": SubResource("4"), +&"motion": SubResource("3") } [sub_resource type="CanvasItemMaterial" id="6"] @@ -102,9 +102,9 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_kfxj1"] _data = { -"motion": SubResource("3"), -"motion2": SubResource("4"), -"motion3": SubResource("7") +&"motion": SubResource("3"), +&"motion2": SubResource("4"), +&"motion3": SubResource("7") } [sub_resource type="Animation" id="Animation_emv7u"] @@ -141,8 +141,8 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_6bket"] _data = { -"RESET": SubResource("Animation_emv7u"), -"rotate_directional_light": SubResource("Animation_rgbru") +&"RESET": SubResource("Animation_emv7u"), +&"rotate_directional_light": SubResource("Animation_rgbru") } [node name="LightShadows" type="Node2D"] diff --git a/2d/lights_and_shadows/project.godot b/2d/lights_and_shadows/project.godot index 3055e735..dc88f804 100644 --- a/2d/lights_and_shadows/project.godot +++ b/2d/lights_and_shadows/project.godot @@ -15,7 +15,7 @@ config/description="Simple demo of 2D lights and shadows, using PointLight2D and LightOccluder2D." config/tags=PackedStringArray("2d", "demo", "official", "rendering") run/main_scene="res://light_shadows.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/2d/navigation/character.gd.uid b/2d/navigation/character.gd.uid new file mode 100644 index 00000000..c7e10345 --- /dev/null +++ b/2d/navigation/character.gd.uid @@ -0,0 +1 @@ +uid://dkgahtfi2vfmd diff --git a/2d/navigation/character.tscn b/2d/navigation/character.tscn index d834ea1b..06af3543 100644 --- a/2d/navigation/character.tscn +++ b/2d/navigation/character.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://ct7veakwiei3h"] -[ext_resource type="Script" path="res://character.gd" id="1_8uimh"] +[ext_resource type="Script" uid="uid://dkgahtfi2vfmd" path="res://character.gd" id="1_8uimh"] [ext_resource type="Texture2D" uid="uid://b0wokaenwu7pj" path="res://character.png" id="1_rmg12"] [sub_resource type="CapsuleShape2D" id="CapsuleShape2D_20ukx"] diff --git a/2d/navigation/project.godot b/2d/navigation/project.godot index 5013022d..f06afa78 100644 --- a/2d/navigation/project.godot +++ b/2d/navigation/project.godot @@ -16,7 +16,7 @@ NavigationPolygonInstance node. It uses the 2D navigation API to request a path between two points, and then traverses the resulting path." config/tags=PackedStringArray("2d", "ai", "demo", "official") run/main_scene="res://navigation.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/2d/navigation_astar/character.gd.uid b/2d/navigation_astar/character.gd.uid new file mode 100644 index 00000000..635e1251 --- /dev/null +++ b/2d/navigation_astar/character.gd.uid @@ -0,0 +1 @@ +uid://dbxydeq5tyjky diff --git a/2d/navigation_astar/game.tscn b/2d/navigation_astar/game.tscn index cfbd844f..d6ce243f 100644 --- a/2d/navigation_astar/game.tscn +++ b/2d/navigation_astar/game.tscn @@ -2,8 +2,8 @@ [ext_resource type="Texture2D" uid="uid://baj4xukvf568b" path="res://sprites/space.png" id="1_2jdkd"] [ext_resource type="TileSet" uid="uid://f3wmg8detyai" path="res://tileset/tileset.tres" id="2_aylbj"] -[ext_resource type="Script" path="res://pathfind_astar.gd" id="3_taaih"] -[ext_resource type="Script" path="res://character.gd" id="4_ticbk"] +[ext_resource type="Script" uid="uid://cev7v38bl1iva" path="res://pathfind_astar.gd" id="3_taaih"] +[ext_resource type="Script" uid="uid://dbxydeq5tyjky" path="res://character.gd" id="4_ticbk"] [ext_resource type="Texture2D" uid="uid://bjsmfha28ro00" path="res://sprites/sparkle.png" id="5_1i6tb"] [ext_resource type="Texture2D" uid="uid://vsempfpeu7wr" path="res://sprites/character.png" id="6_b3lcn"] diff --git a/2d/navigation_astar/pathfind_astar.gd.uid b/2d/navigation_astar/pathfind_astar.gd.uid new file mode 100644 index 00000000..a7f64f9a --- /dev/null +++ b/2d/navigation_astar/pathfind_astar.gd.uid @@ -0,0 +1 @@ +uid://cev7v38bl1iva diff --git a/2d/navigation_astar/project.godot b/2d/navigation_astar/project.godot index d45c68e2..971f4c7c 100644 --- a/2d/navigation_astar/project.godot +++ b/2d/navigation_astar/project.godot @@ -15,7 +15,7 @@ config/description="This is an example of using AStarGrid2D for navigation in 2D complete with Steering Behaviors in order to smooth the movement out." config/tags=PackedStringArray("2d", "ai", "demo", "official", "tilemap") run/main_scene="res://game.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/2d/navigation_mesh_chunks/icon.webp.import b/2d/navigation_mesh_chunks/icon.webp.import new file mode 100644 index 00000000..e9cbb139 --- /dev/null +++ b/2d/navigation_mesh_chunks/icon.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2c7xavrk05gv" +path="res://.godot/imported/icon.webp-e94f9a68b0f625a567a797079e4d325f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.webp" +dest_files=["res://.godot/imported/icon.webp-e94f9a68b0f625a567a797079e4d325f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/2d/navigation_mesh_chunks/navmesh_chhunks_demo_2d.gd.uid b/2d/navigation_mesh_chunks/navmesh_chhunks_demo_2d.gd.uid new file mode 100644 index 00000000..439086c1 --- /dev/null +++ b/2d/navigation_mesh_chunks/navmesh_chhunks_demo_2d.gd.uid @@ -0,0 +1 @@ +uid://n6v5mfcumdmh diff --git a/2d/navigation_mesh_chunks/navmesh_chhunks_demo_2d.tscn b/2d/navigation_mesh_chunks/navmesh_chhunks_demo_2d.tscn index 2f06cfdd..251c2e10 100644 --- a/2d/navigation_mesh_chunks/navmesh_chhunks_demo_2d.tscn +++ b/2d/navigation_mesh_chunks/navmesh_chhunks_demo_2d.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://svfku2i5n033"] -[ext_resource type="Script" path="res://navmesh_chhunks_demo_2d.gd" id="1_d68tl"] +[ext_resource type="Script" uid="uid://n6v5mfcumdmh" path="res://navmesh_chhunks_demo_2d.gd" id="1_d68tl"] [node name="NavMeshChunksDemo2D" type="Node2D"] script = ExtResource("1_d68tl") diff --git a/2d/navigation_mesh_chunks/project.godot b/2d/navigation_mesh_chunks/project.godot index 205189cb..811a331e 100644 --- a/2d/navigation_mesh_chunks/project.godot +++ b/2d/navigation_mesh_chunks/project.godot @@ -13,7 +13,7 @@ config_version=5 config/name="Navigation Mesh Chunks 2D" config/tags=PackedStringArray("2d", "ai", "demo", "official") run/main_scene="res://navmesh_chhunks_demo_2d.tscn" -config/features=PackedStringArray("4.3", "GL Compatibility") +config/features=PackedStringArray("4.4", "GL Compatibility") config/icon="res://icon.webp" [display] diff --git a/2d/particles/particles.tscn b/2d/particles/particles.tscn index bdf9b285..b5414b81 100644 --- a/2d/particles/particles.tscn +++ b/2d/particles/particles.tscn @@ -4,7 +4,7 @@ [ext_resource type="Texture2D" uid="uid://bii6kglnqm6r2" path="res://smoke_particle.png" id="2"] [ext_resource type="Texture2D" uid="uid://b0nirvelkp3x2" path="res://spark_particle2.png" id="3"] [ext_resource type="Texture2D" path="res://point_texture_image_outline.tres" id="5"] -[ext_resource type="Script" path="res://pause.gd" id="6_5a71v"] +[ext_resource type="Script" uid="uid://dwtnqprkhkpob" path="res://pause.gd" id="6_5a71v"] [ext_resource type="Texture2D" uid="uid://734kppvbe7ba" path="res://flipbook.png" id="7"] [sub_resource type="Environment" id="Environment_y7usk"] @@ -21,8 +21,7 @@ glow_hdr_threshold = 0.01 blend_mode = 1 [sub_resource type="Curve" id="2"] -min_value = -360.0 -max_value = 360.0 +_limits = [-360.0, 360.0, 0.0, 1.0] _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 85.0781), 0.0, 0.0, 0, 0] point_count = 2 @@ -116,6 +115,7 @@ emission_ring_axis = Vector3(0, 0, 1) emission_ring_height = 1.0 emission_ring_radius = 60.0 emission_ring_inner_radius = 50.0 +emission_ring_cone_angle = 90.0 gravity = Vector3(0, 0, 0) radial_accel_min = -10.0 radial_accel_max = -10.0 @@ -148,7 +148,7 @@ colors = PackedColorArray(1, 0.63501, 0.28125, 1, 1, 0.398438, 0, 1, 0.679688, 0 gradient = SubResource("21") [sub_resource type="Curve" id="23"] -max_value = 50.0 +_limits = [0.0, 50.0, 0.0, 1.0] _data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.0180711, 0), 74.6314, 74.6314, 0, 0, Vector2(0.0392147, 40.9884), 0.0, 0.0, 0, 0, Vector2(1, 50), 0.0, 0.0, 0, 0] point_count = 4 @@ -156,7 +156,7 @@ point_count = 4 curve = SubResource("23") [sub_resource type="Curve" id="25"] -max_value = 2.0 +_limits = [0.0, 2.0, 0.0, 1.0] _data = [Vector2(0, 0), 0.0, 5.5132, 0, 1, Vector2(0.31, 1.70909), 0.287081, 0.287081, 0, 0, Vector2(1, 2), 0.421607, 0.0, 1, 0] point_count = 3 @@ -171,7 +171,7 @@ radial_accel_curve = SubResource("24") scale_curve = SubResource("26") color_ramp = SubResource("22") -[sub_resource type="Image" id="Image_r68lw"] +[sub_resource type="Image" id="Image_75ba6"] data = { "data": PackedByteArray(0, 0, 208, 65, 0, 0, 184, 66, 0, 0, 208, 65, 0, 0, 186, 66, 0, 0, 208, 65, 0, 0, 188, 66, 0, 0, 208, 65, 0, 0, 190, 66, 0, 0, 208, 65, 0, 0, 192, 66, 0, 0, 208, 65, 0, 0, 194, 66, 0, 0, 208, 65, 0, 0, 196, 66, 0, 0, 208, 65, 0, 0, 198, 66, 0, 0, 208, 65, 0, 0, 200, 66, 0, 0, 208, 65, 0, 0, 202, 66, 0, 0, 208, 65, 0, 0, 46, 67, 0, 0, 208, 65, 0, 0, 47, 67, 0, 0, 208, 65, 0, 0, 48, 67, 0, 0, 208, 65, 0, 0, 49, 67, 0, 0, 208, 65, 0, 0, 50, 67, 0, 0, 208, 65, 0, 0, 51, 67, 0, 0, 208, 65, 0, 0, 52, 67, 0, 0, 208, 65, 0, 0, 53, 67, 0, 0, 208, 65, 0, 0, 54, 67, 0, 0, 208, 65, 0, 0, 55, 67, 0, 0, 216, 65, 0, 0, 184, 66, 0, 0, 216, 65, 0, 0, 186, 66, 0, 0, 216, 65, 0, 0, 188, 66, 0, 0, 216, 65, 0, 0, 190, 66, 0, 0, 216, 65, 0, 0, 192, 66, 0, 0, 216, 65, 0, 0, 194, 66, 0, 0, 216, 65, 0, 0, 196, 66, 0, 0, 216, 65, 0, 0, 198, 66, 0, 0, 216, 65, 0, 0, 200, 66, 0, 0, 216, 65, 0, 0, 202, 66, 0, 0, 216, 65, 0, 0, 204, 66, 0, 0, 216, 65, 0, 0, 45, 67, 0, 0, 216, 65, 0, 0, 46, 67, 0, 0, 216, 65, 0, 0, 47, 67, 0, 0, 216, 65, 0, 0, 48, 67, 0, 0, 216, 65, 0, 0, 49, 67, 0, 0, 216, 65, 0, 0, 50, 67, 0, 0, 216, 65, 0, 0, 51, 67, 0, 0, 216, 65, 0, 0, 52, 67, 0, 0, 216, 65, 0, 0, 53, 67, 0, 0, 216, 65, 0, 0, 54, 67, 0, 0, 216, 65, 0, 0, 55, 67, 0, 0, 224, 65, 0, 0, 184, 66, 0, 0, 224, 65, 0, 0, 186, 66, 0, 0, 224, 65, 0, 0, 188, 66, 0, 0, 224, 65, 0, 0, 190, 66, 0, 0, 224, 65, 0, 0, 192, 66, 0, 0, 224, 65, 0, 0, 194, 66, 0, 0, 224, 65, 0, 0, 196, 66, 0, 0, 224, 65, 0, 0, 198, 66, 0, 0, 224, 65, 0, 0, 200, 66, 0, 0, 224, 65, 0, 0, 202, 66, 0, 0, 224, 65, 0, 0, 204, 66, 0, 0, 224, 65, 0, 0, 206, 66, 0, 0, 224, 65, 0, 0, 45, 67, 0, 0, 224, 65, 0, 0, 46, 67, 0, 0, 224, 65, 0, 0, 47, 67, 0, 0, 224, 65, 0, 0, 48, 67, 0, 0, 224, 65, 0, 0, 49, 67, 0, 0, 224, 65, 0, 0, 50, 67, 0, 0, 224, 65, 0, 0, 51, 67, 0, 0, 224, 65, 0, 0, 52, 67, 0, 0, 224, 65, 0, 0, 53, 67, 0, 0, 224, 65, 0, 0, 54, 67, 0, 0, 224, 65, 0, 0, 55, 67, 0, 0, 232, 65, 0, 0, 184, 66, 0, 0, 232, 65, 0, 0, 186, 66, 0, 0, 232, 65, 0, 0, 188, 66, 0, 0, 232, 65, 0, 0, 190, 66, 0, 0, 232, 65, 0, 0, 192, 66, 0, 0, 232, 65, 0, 0, 194, 66, 0, 0, 232, 65, 0, 0, 196, 66, 0, 0, 232, 65, 0, 0, 198, 66, 0, 0, 232, 65, 0, 0, 200, 66, 0, 0, 232, 65, 0, 0, 202, 66, 0, 0, 232, 65, 0, 0, 204, 66, 0, 0, 232, 65, 0, 0, 206, 66, 0, 0, 232, 65, 0, 0, 45, 67, 0, 0, 232, 65, 0, 0, 46, 67, 0, 0, 232, 65, 0, 0, 47, 67, 0, 0, 232, 65, 0, 0, 48, 67, 0, 0, 232, 65, 0, 0, 49, 67, 0, 0, 232, 65, 0, 0, 50, 67, 0, 0, 232, 65, 0, 0, 51, 67, 0, 0, 232, 65, 0, 0, 52, 67, 0, 0, 232, 65, 0, 0, 53, 67, 0, 0, 232, 65, 0, 0, 54, 67, 0, 0, 232, 65, 0, 0, 55, 67, 0, 0, 240, 65, 0, 0, 184, 66, 0, 0, 240, 65, 0, 0, 186, 66, 0, 0, 240, 65, 0, 0, 188, 66, 0, 0, 240, 65, 0, 0, 190, 66, 0, 0, 240, 65, 0, 0, 192, 66, 0, 0, 240, 65, 0, 0, 194, 66, 0, 0, 240, 65, 0, 0, 196, 66, 0, 0, 240, 65, 0, 0, 198, 66, 0, 0, 240, 65, 0, 0, 200, 66, 0, 0, 240, 65, 0, 0, 202, 66, 0, 0, 240, 65, 0, 0, 204, 66, 0, 0, 240, 65, 0, 0, 206, 66, 0, 0, 240, 65, 0, 0, 44, 67, 0, 0, 240, 65, 0, 0, 45, 67, 0, 0, 240, 65, 0, 0, 46, 67, 0, 0, 240, 65, 0, 0, 47, 67, 0, 0, 240, 65, 0, 0, 48, 67, 0, 0, 240, 65, 0, 0, 49, 67, 0, 0, 240, 65, 0, 0, 50, 67, 0, 0, 240, 65, 0, 0, 51, 67, 0, 0, 240, 65, 0, 0, 52, 67, 0, 0, 240, 65, 0, 0, 53, 67, 0, 0, 240, 65, 0, 0, 54, 67, 0, 0, 240, 65, 0, 0, 55, 67, 0, 0, 248, 65, 0, 0, 184, 66, 0, 0, 248, 65, 0, 0, 186, 66, 0, 0, 248, 65, 0, 0, 188, 66, 0, 0, 248, 65, 0, 0, 190, 66, 0, 0, 248, 65, 0, 0, 192, 66, 0, 0, 248, 65, 0, 0, 194, 66, 0, 0, 248, 65, 0, 0, 196, 66, 0, 0, 248, 65, 0, 0, 198, 66, 0, 0, 248, 65, 0, 0, 200, 66, 0, 0, 248, 65, 0, 0, 202, 66, 0, 0, 248, 65, 0, 0, 204, 66, 0, 0, 248, 65, 0, 0, 206, 66, 0, 0, 248, 65, 0, 0, 44, 67, 0, 0, 248, 65, 0, 0, 45, 67, 0, 0, 248, 65, 0, 0, 46, 67, 0, 0, 248, 65, 0, 0, 47, 67, 0, 0, 248, 65, 0, 0, 48, 67, 0, 0, 248, 65, 0, 0, 49, 67, 0, 0, 248, 65, 0, 0, 50, 67, 0, 0, 248, 65, 0, 0, 51, 67, 0, 0, 248, 65, 0, 0, 52, 67, 0, 0, 248, 65, 0, 0, 53, 67, 0, 0, 248, 65, 0, 0, 54, 67, 0, 0, 248, 65, 0, 0, 55, 67, 0, 0, 0, 66, 0, 0, 184, 66, 0, 0, 0, 66, 0, 0, 186, 66, 0, 0, 0, 66, 0, 0, 188, 66, 0, 0, 0, 66, 0, 0, 190, 66, 0, 0, 0, 66, 0, 0, 192, 66, 0, 0, 0, 66, 0, 0, 194, 66, 0, 0, 0, 66, 0, 0, 196, 66, 0, 0, 0, 66, 0, 0, 198, 66, 0, 0, 0, 66, 0, 0, 200, 66, 0, 0, 0, 66, 0, 0, 202, 66, 0, 0, 0, 66, 0, 0, 204, 66, 0, 0, 0, 66, 0, 0, 206, 66, 0, 0, 0, 66, 0, 0, 44, 67, 0, 0, 0, 66, 0, 0, 45, 67, 0, 0, 0, 66, 0, 0, 46, 67, 0, 0, 0, 66, 0, 0, 47, 67, 0, 0, 0, 66, 0, 0, 48, 67, 0, 0, 0, 66, 0, 0, 49, 67, 0, 0, 0, 66, 0, 0, 50, 67, 0, 0, 0, 66, 0, 0, 51, 67, 0, 0, 0, 66, 0, 0, 52, 67, 0, 0, 0, 66, 0, 0, 53, 67, 0, 0, 0, 66, 0, 0, 54, 67, 0, 0, 0, 66, 0, 0, 55, 67, 0, 0, 4, 66, 0, 0, 184, 66, 0, 0, 4, 66, 0, 0, 186, 66, 0, 0, 4, 66, 0, 0, 188, 66, 0, 0, 4, 66, 0, 0, 190, 66, 0, 0, 4, 66, 0, 0, 192, 66, 0, 0, 4, 66, 0, 0, 194, 66, 0, 0, 4, 66, 0, 0, 196, 66, 0, 0, 4, 66, 0, 0, 198, 66, 0, 0, 4, 66, 0, 0, 200, 66, 0, 0, 4, 66, 0, 0, 202, 66, 0, 0, 4, 66, 0, 0, 204, 66, 0, 0, 4, 66, 0, 0, 206, 66, 0, 0, 4, 66, 0, 0, 44, 67, 0, 0, 4, 66, 0, 0, 45, 67, 0, 0, 4, 66, 0, 0, 46, 67, 0, 0, 4, 66, 0, 0, 47, 67, 0, 0, 4, 66, 0, 0, 48, 67, 0, 0, 4, 66, 0, 0, 49, 67, 0, 0, 4, 66, 0, 0, 50, 67, 0, 0, 4, 66, 0, 0, 51, 67, 0, 0, 4, 66, 0, 0, 52, 67, 0, 0, 4, 66, 0, 0, 53, 67, 0, 0, 4, 66, 0, 0, 54, 67, 0, 0, 4, 66, 0, 0, 55, 67, 0, 0, 8, 66, 0, 0, 184, 66, 0, 0, 8, 66, 0, 0, 186, 66, 0, 0, 8, 66, 0, 0, 188, 66, 0, 0, 8, 66, 0, 0, 190, 66, 0, 0, 8, 66, 0, 0, 192, 66, 0, 0, 8, 66, 0, 0, 194, 66, 0, 0, 8, 66, 0, 0, 196, 66, 0, 0, 8, 66, 0, 0, 198, 66, 0, 0, 8, 66, 0, 0, 200, 66, 0, 0, 8, 66, 0, 0, 202, 66, 0, 0, 8, 66, 0, 0, 204, 66, 0, 0, 8, 66, 0, 0, 206, 66, 0, 0, 8, 66, 0, 0, 208, 66, 0, 0, 8, 66, 0, 0, 43, 67, 0, 0, 8, 66, 0, 0, 44, 67, 0, 0, 8, 66, 0, 0, 45, 67, 0, 0, 8, 66, 0, 0, 46, 67, 0, 0, 8, 66, 0, 0, 47, 67, 0, 0, 8, 66, 0, 0, 48, 67, 0, 0, 8, 66, 0, 0, 49, 67, 0, 0, 8, 66, 0, 0, 50, 67, 0, 0, 8, 66, 0, 0, 51, 67, 0, 0, 8, 66, 0, 0, 52, 67, 0, 0, 8, 66, 0, 0, 53, 67, 0, 0, 8, 66, 0, 0, 54, 67, 0, 0, 8, 66, 0, 0, 55, 67, 0, 0, 12, 66, 0, 0, 184, 66, 0, 0, 12, 66, 0, 0, 186, 66, 0, 0, 12, 66, 0, 0, 188, 66, 0, 0, 12, 66, 0, 0, 190, 66, 0, 0, 12, 66, 0, 0, 192, 66, 0, 0, 12, 66, 0, 0, 194, 66, 0, 0, 12, 66, 0, 0, 196, 66, 0, 0, 12, 66, 0, 0, 198, 66, 0, 0, 12, 66, 0, 0, 200, 66, 0, 0, 12, 66, 0, 0, 202, 66, 0, 0, 12, 66, 0, 0, 204, 66, 0, 0, 12, 66, 0, 0, 206, 66, 0, 0, 12, 66, 0, 0, 208, 66, 0, 0, 12, 66, 0, 0, 210, 66, 0, 0, 12, 66, 0, 0, 43, 67, 0, 0, 12, 66, 0, 0, 44, 67, 0, 0, 12, 66, 0, 0, 45, 67, 0, 0, 12, 66, 0, 0, 46, 67, 0, 0, 12, 66, 0, 0, 47, 67, 0, 0, 12, 66, 0, 0, 48, 67, 0, 0, 12, 66, 0, 0, 49, 67, 0, 0, 12, 66, 0, 0, 50, 67, 0, 0, 12, 66, 0, 0, 51, 67, 0, 0, 12, 66, 0, 0, 52, 67, 0, 0, 12, 66, 0, 0, 53, 67, 0, 0, 12, 66, 0, 0, 54, 67, 0, 0, 12, 66, 0, 0, 55, 67, 0, 0, 16, 66, 0, 0, 184, 66, 0, 0, 16, 66, 0, 0, 186, 66, 0, 0, 16, 66, 0, 0, 188, 66, 0, 0, 16, 66, 0, 0, 190, 66, 0, 0, 16, 66, 0, 0, 192, 66, 0, 0, 16, 66, 0, 0, 194, 66, 0, 0, 16, 66, 0, 0, 196, 66, 0, 0, 16, 66, 0, 0, 198, 66, 0, 0, 16, 66, 0, 0, 200, 66, 0, 0, 16, 66, 0, 0, 202, 66, 0, 0, 16, 66, 0, 0, 204, 66, 0, 0, 16, 66, 0, 0, 206, 66, 0, 0, 16, 66, 0, 0, 208, 66, 0, 0, 16, 66, 0, 0, 210, 66, 0, 0, 16, 66, 0, 0, 212, 66, 0, 0, 16, 66, 0, 0, 41, 67, 0, 0, 16, 66, 0, 0, 42, 67, 0, 0, 16, 66, 0, 0, 43, 67, 0, 0, 16, 66, 0, 0, 44, 67, 0, 0, 16, 66, 0, 0, 45, 67, 0, 0, 16, 66, 0, 0, 46, 67, 0, 0, 16, 66, 0, 0, 47, 67, 0, 0, 16, 66, 0, 0, 48, 67, 0, 0, 16, 66, 0, 0, 49, 67, 0, 0, 16, 66, 0, 0, 50, 67, 0, 0, 16, 66, 0, 0, 51, 67, 0, 0, 16, 66, 0, 0, 52, 67, 0, 0, 16, 66, 0, 0, 53, 67, 0, 0, 16, 66, 0, 0, 54, 67, 0, 0, 16, 66, 0, 0, 55, 67, 0, 0, 20, 66, 0, 0, 184, 66, 0, 0, 20, 66, 0, 0, 186, 66, 0, 0, 20, 66, 0, 0, 188, 66, 0, 0, 20, 66, 0, 0, 190, 66, 0, 0, 20, 66, 0, 0, 192, 66, 0, 0, 20, 66, 0, 0, 194, 66, 0, 0, 20, 66, 0, 0, 196, 66, 0, 0, 20, 66, 0, 0, 198, 66, 0, 0, 20, 66, 0, 0, 200, 66, 0, 0, 20, 66, 0, 0, 202, 66, 0, 0, 20, 66, 0, 0, 204, 66, 0, 0, 20, 66, 0, 0, 206, 66, 0, 0, 20, 66, 0, 0, 208, 66, 0, 0, 20, 66, 0, 0, 210, 66, 0, 0, 20, 66, 0, 0, 212, 66, 0, 0, 20, 66, 0, 0, 214, 66, 0, 0, 20, 66, 0, 0, 216, 66, 0, 0, 20, 66, 0, 0, 40, 67, 0, 0, 20, 66, 0, 0, 41, 67, 0, 0, 20, 66, 0, 0, 42, 67, 0, 0, 20, 66, 0, 0, 43, 67, 0, 0, 20, 66, 0, 0, 44, 67, 0, 0, 20, 66, 0, 0, 45, 67, 0, 0, 20, 66, 0, 0, 46, 67, 0, 0, 20, 66, 0, 0, 47, 67, 0, 0, 20, 66, 0, 0, 48, 67, 0, 0, 20, 66, 0, 0, 49, 67, 0, 0, 20, 66, 0, 0, 50, 67, 0, 0, 20, 66, 0, 0, 51, 67, 0, 0, 20, 66, 0, 0, 52, 67, 0, 0, 20, 66, 0, 0, 53, 67, 0, 0, 20, 66, 0, 0, 54, 67, 0, 0, 20, 66, 0, 0, 55, 67, 0, 0, 24, 66, 0, 0, 184, 66, 0, 0, 24, 66, 0, 0, 186, 66, 0, 0, 24, 66, 0, 0, 188, 66, 0, 0, 24, 66, 0, 0, 190, 66, 0, 0, 24, 66, 0, 0, 192, 66, 0, 0, 24, 66, 0, 0, 194, 66, 0, 0, 24, 66, 0, 0, 196, 66, 0, 0, 24, 66, 0, 0, 198, 66, 0, 0, 24, 66, 0, 0, 200, 66, 0, 0, 24, 66, 0, 0, 202, 66, 0, 0, 24, 66, 0, 0, 204, 66, 0, 0, 24, 66, 0, 0, 206, 66, 0, 0, 24, 66, 0, 0, 208, 66, 0, 0, 24, 66, 0, 0, 210, 66, 0, 0, 24, 66, 0, 0, 212, 66, 0, 0, 24, 66, 0, 0, 214, 66, 0, 0, 24, 66, 0, 0, 216, 66, 0, 0, 24, 66, 0, 0, 218, 66, 0, 0, 24, 66, 0, 0, 220, 66, 0, 0, 24, 66, 0, 0, 222, 66, 0, 0, 24, 66, 0, 0, 224, 66, 0, 0, 24, 66, 0, 0, 226, 66, 0, 0, 24, 66, 0, 0, 228, 66, 0, 0, 24, 66, 0, 0, 230, 66, 0, 0, 24, 66, 0, 0, 232, 66, 0, 0, 24, 66, 0, 0, 234, 66, 0, 0, 24, 66, 0, 0, 236, 66, 0, 0, 24, 66, 0, 0, 238, 66, 0, 0, 24, 66, 0, 0, 240, 66, 0, 0, 24, 66, 0, 0, 242, 66, 0, 0, 24, 66, 0, 0, 244, 66, 0, 0, 24, 66, 0, 0, 246, 66, 0, 0, 24, 66, 0, 0, 248, 66, 0, 0, 24, 66, 0, 0, 250, 66, 0, 0, 24, 66, 0, 0, 252, 66, 0, 0, 24, 66, 0, 0, 254, 66, 0, 0, 24, 66, 0, 0, 0, 67, 0, 0, 24, 66, 0, 0, 1, 67, 0, 0, 24, 66, 0, 0, 2, 67, 0, 0, 24, 66, 0, 0, 3, 67, 0, 0, 24, 66, 0, 0, 4, 67, 0, 0, 24, 66, 0, 0, 5, 67, 0, 0, 24, 66, 0, 0, 6, 67, 0, 0, 24, 66, 0, 0, 7, 67, 0, 0, 24, 66, 0, 0, 8, 67, 0, 0, 24, 66, 0, 0, 9, 67, 0, 0, 24, 66, 0, 0, 10, 67, 0, 0, 24, 66, 0, 0, 11, 67, 0, 0, 24, 66, 0, 0, 12, 67, 0, 0, 24, 66, 0, 0, 13, 67, 0, 0, 24, 66, 0, 0, 14, 67, 0, 0, 24, 66, 0, 0, 15, 67, 0, 0, 24, 66, 0, 0, 16, 67, 0, 0, 24, 66, 0, 0, 17, 67, 0, 0, 24, 66, 0, 0, 18, 67, 0, 0, 24, 66, 0, 0, 19, 67, 0, 0, 24, 66, 0, 0, 20, 67, 0, 0, 24, 66, 0, 0, 21, 67, 0, 0, 24, 66, 0, 0, 22, 67, 0, 0, 24, 66, 0, 0, 23, 67, 0, 0, 24, 66, 0, 0, 24, 67, 0, 0, 24, 66, 0, 0, 25, 67, 0, 0, 24, 66, 0, 0, 26, 67, 0, 0, 24, 66, 0, 0, 27, 67, 0, 0, 24, 66, 0, 0, 28, 67, 0, 0, 24, 66, 0, 0, 29, 67, 0, 0, 24, 66, 0, 0, 30, 67, 0, 0, 24, 66, 0, 0, 31, 67, 0, 0, 24, 66, 0, 0, 32, 67, 0, 0, 24, 66, 0, 0, 33, 67, 0, 0, 24, 66, 0, 0, 34, 67, 0, 0, 24, 66, 0, 0, 35, 67, 0, 0, 24, 66, 0, 0, 36, 67, 0, 0, 24, 66, 0, 0, 37, 67, 0, 0, 24, 66, 0, 0, 38, 67, 0, 0, 24, 66, 0, 0, 39, 67, 0, 0, 24, 66, 0, 0, 40, 67, 0, 0, 24, 66, 0, 0, 41, 67, 0, 0, 24, 66, 0, 0, 42, 67, 0, 0, 24, 66, 0, 0, 43, 67, 0, 0, 24, 66, 0, 0, 44, 67, 0, 0, 24, 66, 0, 0, 45, 67, 0, 0, 24, 66, 0, 0, 46, 67, 0, 0, 24, 66, 0, 0, 47, 67, 0, 0, 24, 66, 0, 0, 48, 67, 0, 0, 24, 66, 0, 0, 49, 67, 0, 0, 24, 66, 0, 0, 50, 67, 0, 0, 24, 66, 0, 0, 51, 67, 0, 0, 24, 66, 0, 0, 52, 67, 0, 0, 24, 66, 0, 0, 53, 67, 0, 0, 24, 66, 0, 0, 54, 67, 0, 0, 24, 66, 0, 0, 55, 67, 0, 0, 28, 66, 0, 0, 184, 66, 0, 0, 28, 66, 0, 0, 186, 66, 0, 0, 28, 66, 0, 0, 188, 66, 0, 0, 28, 66, 0, 0, 190, 66, 0, 0, 28, 66, 0, 0, 192, 66, 0, 0, 28, 66, 0, 0, 194, 66, 0, 0, 28, 66, 0, 0, 196, 66, 0, 0, 28, 66, 0, 0, 198, 66, 0, 0, 28, 66, 0, 0, 200, 66, 0, 0, 28, 66, 0, 0, 202, 66, 0, 0, 28, 66, 0, 0, 204, 66, 0, 0, 28, 66, 0, 0, 206, 66, 0, 0, 28, 66, 0, 0, 208, 66, 0, 0, 28, 66, 0, 0, 210, 66, 0, 0, 28, 66, 0, 0, 212, 66, 0, 0, 28, 66, 0, 0, 214, 66, 0, 0, 28, 66, 0, 0, 216, 66, 0, 0, 28, 66, 0, 0, 218, 66, 0, 0, 28, 66, 0, 0, 220, 66, 0, 0, 28, 66, 0, 0, 222, 66, 0, 0, 28, 66, 0, 0, 224, 66, 0, 0, 28, 66, 0, 0, 226, 66, 0, 0, 28, 66, 0, 0, 228, 66, 0, 0, 28, 66, 0, 0, 230, 66, 0, 0, 28, 66, 0, 0, 232, 66, 0, 0, 28, 66, 0, 0, 234, 66, 0, 0, 28, 66, 0, 0, 236, 66, 0, 0, 28, 66, 0, 0, 238, 66, 0, 0, 28, 66, 0, 0, 240, 66, 0, 0, 28, 66, 0, 0, 242, 66, 0, 0, 28, 66, 0, 0, 244, 66, 0, 0, 28, 66, 0, 0, 246, 66, 0, 0, 28, 66, 0, 0, 248, 66, 0, 0, 28, 66, 0, 0, 250, 66, 0, 0, 28, 66, 0, 0, 252, 66, 0, 0, 28, 66, 0, 0, 254, 66, 0, 0, 28, 66, 0, 0, 0, 67, 0, 0, 28, 66, 0, 0, 1, 67, 0, 0, 28, 66, 0, 0, 2, 67, 0, 0, 28, 66, 0, 0, 3, 67, 0, 0, 28, 66, 0, 0, 4, 67, 0, 0, 28, 66, 0, 0, 5, 67, 0, 0, 28, 66, 0, 0, 6, 67, 0, 0, 28, 66, 0, 0, 7, 67, 0, 0, 28, 66, 0, 0, 8, 67, 0, 0, 28, 66, 0, 0, 9, 67, 0, 0, 28, 66, 0, 0, 10, 67, 0, 0, 28, 66, 0, 0, 11, 67, 0, 0, 28, 66, 0, 0, 12, 67, 0, 0, 28, 66, 0, 0, 13, 67, 0, 0, 28, 66, 0, 0, 14, 67, 0, 0, 28, 66, 0, 0, 15, 67, 0, 0, 28, 66, 0, 0, 16, 67, 0, 0, 28, 66, 0, 0, 17, 67, 0, 0, 28, 66, 0, 0, 18, 67, 0, 0, 28, 66, 0, 0, 19, 67, 0, 0, 28, 66, 0, 0, 20, 67, 0, 0, 28, 66, 0, 0, 21, 67, 0, 0, 28, 66, 0, 0, 22, 67, 0, 0, 28, 66, 0, 0, 23, 67, 0, 0, 28, 66, 0, 0, 24, 67, 0, 0, 28, 66, 0, 0, 25, 67, 0, 0, 28, 66, 0, 0, 26, 67, 0, 0, 28, 66, 0, 0, 27, 67, 0, 0, 28, 66, 0, 0, 28, 67, 0, 0, 28, 66, 0, 0, 29, 67, 0, 0, 28, 66, 0, 0, 30, 67, 0, 0, 28, 66, 0, 0, 31, 67, 0, 0, 28, 66, 0, 0, 32, 67, 0, 0, 28, 66, 0, 0, 33, 67, 0, 0, 28, 66, 0, 0, 34, 67, 0, 0, 28, 66, 0, 0, 35, 67, 0, 0, 28, 66, 0, 0, 36, 67, 0, 0, 28, 66, 0, 0, 37, 67, 0, 0, 28, 66, 0, 0, 38, 67, 0, 0, 28, 66, 0, 0, 39, 67, 0, 0, 28, 66, 0, 0, 40, 67, 0, 0, 28, 66, 0, 0, 41, 67, 0, 0, 28, 66, 0, 0, 42, 67, 0, 0, 28, 66, 0, 0, 43, 67, 0, 0, 28, 66, 0, 0, 44, 67, 0, 0, 28, 66, 0, 0, 45, 67, 0, 0, 28, 66, 0, 0, 46, 67, 0, 0, 28, 66, 0, 0, 47, 67, 0, 0, 28, 66, 0, 0, 48, 67, 0, 0, 28, 66, 0, 0, 49, 67, 0, 0, 28, 66, 0, 0, 50, 67, 0, 0, 28, 66, 0, 0, 51, 67, 0, 0, 28, 66, 0, 0, 52, 67, 0, 0, 28, 66, 0, 0, 53, 67, 0, 0, 28, 66, 0, 0, 54, 67, 0, 0, 28, 66, 0, 0, 55, 67, 0, 0, 32, 66, 0, 0, 184, 66, 0, 0, 32, 66, 0, 0, 186, 66, 0, 0, 32, 66, 0, 0, 188, 66, 0, 0, 32, 66, 0, 0, 190, 66, 0, 0, 32, 66, 0, 0, 192, 66, 0, 0, 32, 66, 0, 0, 194, 66, 0, 0, 32, 66, 0, 0, 196, 66, 0, 0, 32, 66, 0, 0, 198, 66, 0, 0, 32, 66, 0, 0, 200, 66, 0, 0, 32, 66, 0, 0, 202, 66, 0, 0, 32, 66, 0, 0, 204, 66, 0, 0, 32, 66, 0, 0, 206, 66, 0, 0, 32, 66, 0, 0, 208, 66, 0, 0, 32, 66, 0, 0, 210, 66, 0, 0, 32, 66, 0, 0, 212, 66, 0, 0, 32, 66, 0, 0, 214, 66, 0, 0, 32, 66, 0, 0, 216, 66, 0, 0, 32, 66, 0, 0, 218, 66, 0, 0, 32, 66, 0, 0, 220, 66, 0, 0, 32, 66, 0, 0, 222, 66, 0, 0, 32, 66, 0, 0, 224, 66, 0, 0, 32, 66, 0, 0, 226, 66, 0, 0, 32, 66, 0, 0, 228, 66, 0, 0, 32, 66, 0, 0, 230, 66, 0, 0, 32, 66, 0, 0, 232, 66, 0, 0, 32, 66, 0, 0, 234, 66, 0, 0, 32, 66, 0, 0, 236, 66, 0, 0, 32, 66, 0, 0, 238, 66, 0, 0, 32, 66, 0, 0, 240, 66, 0, 0, 32, 66, 0, 0, 242, 66, 0, 0, 32, 66, 0, 0, 244, 66, 0, 0, 32, 66, 0, 0, 246, 66, 0, 0, 32, 66, 0, 0, 248, 66, 0, 0, 32, 66, 0, 0, 250, 66, 0, 0, 32, 66, 0, 0, 252, 66, 0, 0, 32, 66, 0, 0, 254, 66, 0, 0, 32, 66, 0, 0, 0, 67, 0, 0, 32, 66, 0, 0, 1, 67, 0, 0, 32, 66, 0, 0, 2, 67, 0, 0, 32, 66, 0, 0, 3, 67, 0, 0, 32, 66, 0, 0, 4, 67, 0, 0, 32, 66, 0, 0, 5, 67, 0, 0, 32, 66, 0, 0, 6, 67, 0, 0, 32, 66, 0, 0, 7, 67, 0, 0, 32, 66, 0, 0, 8, 67, 0, 0, 32, 66, 0, 0, 9, 67, 0, 0, 32, 66, 0, 0, 10, 67, 0, 0, 32, 66, 0, 0, 11, 67, 0, 0, 32, 66, 0, 0, 12, 67, 0, 0, 32, 66, 0, 0, 13, 67, 0, 0, 32, 66, 0, 0, 14, 67, 0, 0, 32, 66, 0, 0, 15, 67, 0, 0, 32, 66, 0, 0, 16, 67, 0, 0, 32, 66, 0, 0, 17, 67, 0, 0, 32, 66, 0, 0, 18, 67, 0, 0, 32, 66, 0, 0, 19, 67, 0, 0, 32, 66, 0, 0, 20, 67, 0, 0, 32, 66, 0, 0, 21, 67, 0, 0, 32, 66, 0, 0, 22, 67, 0, 0, 32, 66, 0, 0, 23, 67, 0, 0, 32, 66, 0, 0, 24, 67, 0, 0, 32, 66, 0, 0, 25, 67, 0, 0, 32, 66, 0, 0, 26, 67, 0, 0, 32, 66, 0, 0, 27, 67, 0, 0, 32, 66, 0, 0, 28, 67, 0, 0, 32, 66, 0, 0, 29, 67, 0, 0, 32, 66, 0, 0, 30, 67, 0, 0, 32, 66, 0, 0, 31, 67, 0, 0, 32, 66, 0, 0, 32, 67, 0, 0, 32, 66, 0, 0, 33, 67, 0, 0, 32, 66, 0, 0, 34, 67, 0, 0, 32, 66, 0, 0, 35, 67, 0, 0, 32, 66, 0, 0, 36, 67, 0, 0, 32, 66, 0, 0, 37, 67, 0, 0, 32, 66, 0, 0, 38, 67, 0, 0, 32, 66, 0, 0, 39, 67, 0, 0, 32, 66, 0, 0, 40, 67, 0, 0, 32, 66, 0, 0, 41, 67, 0, 0, 32, 66, 0, 0, 42, 67, 0, 0, 32, 66, 0, 0, 43, 67, 0, 0, 32, 66, 0, 0, 44, 67, 0, 0, 32, 66, 0, 0, 45, 67, 0, 0, 32, 66, 0, 0, 46, 67, 0, 0, 32, 66, 0, 0, 47, 67, 0, 0, 32, 66, 0, 0, 48, 67, 0, 0, 32, 66, 0, 0, 49, 67, 0, 0, 32, 66, 0, 0, 50, 67, 0, 0, 32, 66, 0, 0, 51, 67, 0, 0, 32, 66, 0, 0, 52, 67, 0, 0, 32, 66, 0, 0, 53, 67, 0, 0, 32, 66, 0, 0, 54, 67, 0, 0, 32, 66, 0, 0, 55, 67, 0, 0, 36, 66, 0, 0, 184, 66, 0, 0, 36, 66, 0, 0, 186, 66, 0, 0, 36, 66, 0, 0, 188, 66, 0, 0, 36, 66, 0, 0, 190, 66, 0, 0, 36, 66, 0, 0, 192, 66, 0, 0, 36, 66, 0, 0, 194, 66, 0, 0, 36, 66, 0, 0, 196, 66, 0, 0, 36, 66, 0, 0, 198, 66, 0, 0, 36, 66, 0, 0, 200, 66, 0, 0, 36, 66, 0, 0, 202, 66, 0, 0, 36, 66, 0, 0, 204, 66, 0, 0, 36, 66, 0, 0, 206, 66, 0, 0, 36, 66, 0, 0, 208, 66, 0, 0, 36, 66, 0, 0, 210, 66, 0, 0, 36, 66, 0, 0, 212, 66, 0, 0, 36, 66, 0, 0, 214, 66, 0, 0, 36, 66, 0, 0, 216, 66, 0, 0, 36, 66, 0, 0, 218, 66, 0, 0, 36, 66, 0, 0, 220, 66, 0, 0, 36, 66, 0, 0, 222, 66, 0, 0, 36, 66, 0, 0, 224, 66, 0, 0, 36, 66, 0, 0, 226, 66, 0, 0, 36, 66, 0, 0, 228, 66, 0, 0, 36, 66, 0, 0, 230, 66, 0, 0, 36, 66, 0, 0, 232, 66, 0, 0, 36, 66, 0, 0, 234, 66, 0, 0, 36, 66, 0, 0, 236, 66, 0, 0, 36, 66, 0, 0, 238, 66, 0, 0, 36, 66, 0, 0, 240, 66, 0, 0, 36, 66, 0, 0, 242, 66, 0, 0, 36, 66, 0, 0, 244, 66, 0, 0, 36, 66, 0, 0, 246, 66, 0, 0, 36, 66, 0, 0, 248, 66, 0, 0, 36, 66, 0, 0, 250, 66, 0, 0, 36, 66, 0, 0, 252, 66, 0, 0, 36, 66, 0, 0, 254, 66, 0, 0, 36, 66, 0, 0, 0, 67, 0, 0, 36, 66, 0, 0, 1, 67, 0, 0, 36, 66, 0, 0, 2, 67, 0, 0, 36, 66, 0, 0, 3, 67, 0, 0, 36, 66, 0, 0, 4, 67, 0, 0, 36, 66, 0, 0, 5, 67, 0, 0, 36, 66, 0, 0, 6, 67, 0, 0, 36, 66, 0, 0, 7, 67, 0, 0, 36, 66, 0, 0, 8, 67, 0, 0, 36, 66, 0, 0, 9, 67, 0, 0, 36, 66, 0, 0, 10, 67, 0, 0, 36, 66, 0, 0, 11, 67, 0, 0, 36, 66, 0, 0, 12, 67, 0, 0, 36, 66, 0, 0, 13, 67, 0, 0, 36, 66, 0, 0, 14, 67, 0, 0, 36, 66, 0, 0, 15, 67, 0, 0, 36, 66, 0, 0, 16, 67, 0, 0, 36, 66, 0, 0, 17, 67, 0, 0, 36, 66, 0, 0, 18, 67, 0, 0, 36, 66, 0, 0, 19, 67, 0, 0, 36, 66, 0, 0, 20, 67, 0, 0, 36, 66, 0, 0, 21, 67, 0, 0, 36, 66, 0, 0, 22, 67, 0, 0, 36, 66, 0, 0, 23, 67, 0, 0, 36, 66, 0, 0, 24, 67, 0, 0, 36, 66, 0, 0, 25, 67, 0, 0, 36, 66, 0, 0, 26, 67, 0, 0, 36, 66, 0, 0, 27, 67, 0, 0, 36, 66, 0, 0, 28, 67, 0, 0, 36, 66, 0, 0, 29, 67, 0, 0, 36, 66, 0, 0, 30, 67, 0, 0, 36, 66, 0, 0, 31, 67, 0, 0, 36, 66, 0, 0, 32, 67, 0, 0, 36, 66, 0, 0, 33, 67, 0, 0, 36, 66, 0, 0, 34, 67, 0, 0, 36, 66, 0, 0, 35, 67, 0, 0, 36, 66, 0, 0, 36, 67, 0, 0, 36, 66, 0, 0, 37, 67, 0, 0, 36, 66, 0, 0, 38, 67, 0, 0, 36, 66, 0, 0, 39, 67, 0, 0, 36, 66, 0, 0, 40, 67, 0, 0, 36, 66, 0, 0, 41, 67, 0, 0, 36, 66, 0, 0, 42, 67, 0, 0, 36, 66, 0, 0, 43, 67, 0, 0, 36, 66, 0, 0, 44, 67, 0, 0, 36, 66, 0, 0, 45, 67, 0, 0, 36, 66, 0, 0, 46, 67, 0, 0, 36, 66, 0, 0, 47, 67, 0, 0, 36, 66, 0, 0, 48, 67, 0, 0, 36, 66, 0, 0, 49, 67, 0, 0, 36, 66, 0, 0, 50, 67, 0, 0, 36, 66, 0, 0, 51, 67, 0, 0, 36, 66, 0, 0, 52, 67, 0, 0, 36, 66, 0, 0, 53, 67, 0, 0, 36, 66, 0, 0, 54, 67, 0, 0, 36, 66, 0, 0, 55, 67, 0, 0, 40, 66, 0, 0, 184, 66, 0, 0, 40, 66, 0, 0, 186, 66, 0, 0, 40, 66, 0, 0, 188, 66, 0, 0, 40, 66, 0, 0, 190, 66, 0, 0, 40, 66, 0, 0, 192, 66, 0, 0, 40, 66, 0, 0, 194, 66, 0, 0, 40, 66, 0, 0, 196, 66, 0, 0, 40, 66, 0, 0, 198, 66, 0, 0, 40, 66, 0, 0, 200, 66, 0, 0, 40, 66, 0, 0, 202, 66, 0, 0, 40, 66, 0, 0, 204, 66, 0, 0, 40, 66, 0, 0, 206, 66, 0, 0, 40, 66, 0, 0, 208, 66, 0, 0, 40, 66, 0, 0, 210, 66, 0, 0, 40, 66, 0, 0, 212, 66, 0, 0, 40, 66, 0, 0, 214, 66, 0, 0, 40, 66, 0, 0, 216, 66, 0, 0, 40, 66, 0, 0, 218, 66, 0, 0, 40, 66, 0, 0, 220, 66, 0, 0, 40, 66, 0, 0, 222, 66, 0, 0, 40, 66, 0, 0, 224, 66, 0, 0, 40, 66, 0, 0, 226, 66, 0, 0, 40, 66, 0, 0, 228, 66, 0, 0, 40, 66, 0, 0, 230, 66, 0, 0, 40, 66, 0, 0, 232, 66, 0, 0, 40, 66, 0, 0, 234, 66, 0, 0, 40, 66, 0, 0, 236, 66, 0, 0, 40, 66, 0, 0, 238, 66, 0, 0, 40, 66, 0, 0, 240, 66, 0, 0, 40, 66, 0, 0, 242, 66, 0, 0, 40, 66, 0, 0, 244, 66, 0, 0, 40, 66, 0, 0, 246, 66, 0, 0, 40, 66, 0, 0, 248, 66, 0, 0, 40, 66, 0, 0, 250, 66, 0, 0, 40, 66, 0, 0, 252, 66, 0, 0, 40, 66, 0, 0, 254, 66, 0, 0, 40, 66, 0, 0, 0, 67, 0, 0, 40, 66, 0, 0, 1, 67, 0, 0, 40, 66, 0, 0, 2, 67, 0, 0, 40, 66, 0, 0, 3, 67, 0, 0, 40, 66, 0, 0, 4, 67, 0, 0, 40, 66, 0, 0, 5, 67, 0, 0, 40, 66, 0, 0, 6, 67, 0, 0, 40, 66, 0, 0, 7, 67, 0, 0, 40, 66, 0, 0, 8, 67, 0, 0, 40, 66, 0, 0, 9, 67, 0, 0, 40, 66, 0, 0, 10, 67, 0, 0, 40, 66, 0, 0, 11, 67, 0, 0, 40, 66, 0, 0, 12, 67, 0, 0, 40, 66, 0, 0, 13, 67, 0, 0, 40, 66, 0, 0, 14, 67, 0, 0, 40, 66, 0, 0, 15, 67, 0, 0, 40, 66, 0, 0, 16, 67, 0, 0, 40, 66, 0, 0, 17, 67, 0, 0, 40, 66, 0, 0, 18, 67, 0, 0, 40, 66, 0, 0, 19, 67, 0, 0, 40, 66, 0, 0, 20, 67, 0, 0, 40, 66, 0, 0, 21, 67, 0, 0, 40, 66, 0, 0, 22, 67, 0, 0, 40, 66, 0, 0, 23, 67, 0, 0, 40, 66, 0, 0, 24, 67, 0, 0, 40, 66, 0, 0, 25, 67, 0, 0, 40, 66, 0, 0, 26, 67, 0, 0, 40, 66, 0, 0, 27, 67, 0, 0, 40, 66, 0, 0, 28, 67, 0, 0, 40, 66, 0, 0, 29, 67, 0, 0, 40, 66, 0, 0, 30, 67, 0, 0, 40, 66, 0, 0, 31, 67, 0, 0, 40, 66, 0, 0, 32, 67, 0, 0, 40, 66, 0, 0, 33, 67, 0, 0, 40, 66, 0, 0, 34, 67, 0, 0, 40, 66, 0, 0, 35, 67, 0, 0, 40, 66, 0, 0, 36, 67, 0, 0, 40, 66, 0, 0, 37, 67, 0, 0, 40, 66, 0, 0, 38, 67, 0, 0, 40, 66, 0, 0, 39, 67, 0, 0, 40, 66, 0, 0, 40, 67, 0, 0, 40, 66, 0, 0, 41, 67, 0, 0, 40, 66, 0, 0, 42, 67, 0, 0, 40, 66, 0, 0, 43, 67, 0, 0, 40, 66, 0, 0, 44, 67, 0, 0, 40, 66, 0, 0, 45, 67, 0, 0, 40, 66, 0, 0, 46, 67, 0, 0, 40, 66, 0, 0, 47, 67, 0, 0, 40, 66, 0, 0, 48, 67, 0, 0, 40, 66, 0, 0, 49, 67, 0, 0, 40, 66, 0, 0, 50, 67, 0, 0, 40, 66, 0, 0, 51, 67, 0, 0, 40, 66, 0, 0, 52, 67, 0, 0, 40, 66, 0, 0, 53, 67, 0, 0, 40, 66, 0, 0, 54, 67, 0, 0, 40, 66, 0, 0, 55, 67, 0, 0, 44, 66, 0, 0, 184, 66, 0, 0, 44, 66, 0, 0, 186, 66, 0, 0, 44, 66, 0, 0, 188, 66, 0, 0, 44, 66, 0, 0, 190, 66, 0, 0, 44, 66, 0, 0, 192, 66, 0, 0, 44, 66, 0, 0, 194, 66, 0, 0, 44, 66, 0, 0, 196, 66, 0, 0, 44, 66, 0, 0, 198, 66, 0, 0, 44, 66, 0, 0, 200, 66, 0, 0, 44, 66, 0, 0, 202, 66, 0, 0, 44, 66, 0, 0, 204, 66, 0, 0, 44, 66, 0, 0, 206, 66, 0, 0, 44, 66, 0, 0, 208, 66, 0, 0, 44, 66, 0, 0, 210, 66, 0, 0, 44, 66, 0, 0, 212, 66, 0, 0, 44, 66, 0, 0, 214, 66, 0, 0, 44, 66, 0, 0, 216, 66, 0, 0, 44, 66, 0, 0, 218, 66, 0, 0, 44, 66, 0, 0, 220, 66, 0, 0, 44, 66, 0, 0, 222, 66, 0, 0, 44, 66, 0, 0, 224, 66, 0, 0, 44, 66, 0, 0, 226, 66, 0, 0, 44, 66, 0, 0, 228, 66, 0, 0, 44, 66, 0, 0, 230, 66, 0, 0, 44, 66, 0, 0, 232, 66, 0, 0, 44, 66, 0, 0, 234, 66, 0, 0, 44, 66, 0, 0, 236, 66, 0, 0, 44, 66, 0, 0, 238, 66, 0, 0, 44, 66, 0, 0, 240, 66, 0, 0, 44, 66, 0, 0, 242, 66, 0, 0, 44, 66, 0, 0, 244, 66, 0, 0, 44, 66, 0, 0, 246, 66, 0, 0, 44, 66, 0, 0, 248, 66, 0, 0, 44, 66, 0, 0, 250, 66, 0, 0, 44, 66, 0, 0, 252, 66, 0, 0, 44, 66, 0, 0, 254, 66, 0, 0, 44, 66, 0, 0, 0, 67, 0, 0, 44, 66, 0, 0, 1, 67, 0, 0, 44, 66, 0, 0, 2, 67, 0, 0, 44, 66, 0, 0, 3, 67, 0, 0, 44, 66, 0, 0, 4, 67, 0, 0, 44, 66, 0, 0, 5, 67, 0, 0, 44, 66, 0, 0, 6, 67, 0, 0, 44, 66, 0, 0, 7, 67, 0, 0, 44, 66, 0, 0, 8, 67, 0, 0, 44, 66, 0, 0, 9, 67, 0, 0, 44, 66, 0, 0, 10, 67, 0, 0, 44, 66, 0, 0, 11, 67, 0, 0, 44, 66, 0, 0, 12, 67, 0, 0, 44, 66, 0, 0, 13, 67, 0, 0, 44, 66, 0, 0, 14, 67, 0, 0, 44, 66, 0, 0, 15, 67, 0, 0, 44, 66, 0, 0, 16, 67, 0, 0, 44, 66, 0, 0, 17, 67, 0, 0, 44, 66, 0, 0, 18, 67, 0, 0, 44, 66, 0, 0, 19, 67, 0, 0, 44, 66, 0, 0, 20, 67, 0, 0, 44, 66, 0, 0, 21, 67, 0, 0, 44, 66, 0, 0, 22, 67, 0, 0, 44, 66, 0, 0, 23, 67, 0, 0, 44, 66, 0, 0, 24, 67, 0, 0, 44, 66, 0, 0, 25, 67, 0, 0, 44, 66, 0, 0, 26, 67, 0, 0, 44, 66, 0, 0, 27, 67, 0, 0, 44, 66, 0, 0, 28, 67, 0, 0, 44, 66, 0, 0, 29, 67, 0, 0, 44, 66, 0, 0, 30, 67, 0, 0, 44, 66, 0, 0, 31, 67, 0, 0, 44, 66, 0, 0, 32, 67, 0, 0, 44, 66, 0, 0, 33, 67, 0, 0, 44, 66, 0, 0, 34, 67, 0, 0, 44, 66, 0, 0, 35, 67, 0, 0, 44, 66, 0, 0, 36, 67, 0, 0, 44, 66, 0, 0, 37, 67, 0, 0, 44, 66, 0, 0, 38, 67, 0, 0, 44, 66, 0, 0, 39, 67, 0, 0, 44, 66, 0, 0, 40, 67, 0, 0, 44, 66, 0, 0, 41, 67, 0, 0, 44, 66, 0, 0, 42, 67, 0, 0, 44, 66, 0, 0, 43, 67, 0, 0, 44, 66, 0, 0, 44, 67, 0, 0, 44, 66, 0, 0, 45, 67, 0, 0, 44, 66, 0, 0, 46, 67, 0, 0, 44, 66, 0, 0, 47, 67, 0, 0, 44, 66, 0, 0, 48, 67, 0, 0, 44, 66, 0, 0, 49, 67, 0, 0, 44, 66, 0, 0, 50, 67, 0, 0, 44, 66, 0, 0, 51, 67, 0, 0, 44, 66, 0, 0, 52, 67, 0, 0, 44, 66, 0, 0, 53, 67, 0, 0, 44, 66, 0, 0, 54, 67, 0, 0, 44, 66, 0, 0, 55, 67, 0, 0, 48, 66, 0, 0, 184, 66, 0, 0, 48, 66, 0, 0, 186, 66, 0, 0, 48, 66, 0, 0, 188, 66, 0, 0, 48, 66, 0, 0, 190, 66, 0, 0, 48, 66, 0, 0, 192, 66, 0, 0, 48, 66, 0, 0, 194, 66, 0, 0, 48, 66, 0, 0, 196, 66, 0, 0, 48, 66, 0, 0, 198, 66, 0, 0, 48, 66, 0, 0, 200, 66, 0, 0, 48, 66, 0, 0, 202, 66, 0, 0, 48, 66, 0, 0, 204, 66, 0, 0, 48, 66, 0, 0, 206, 66, 0, 0, 48, 66, 0, 0, 208, 66, 0, 0, 48, 66, 0, 0, 210, 66, 0, 0, 48, 66, 0, 0, 212, 66, 0, 0, 48, 66, 0, 0, 214, 66, 0, 0, 48, 66, 0, 0, 216, 66, 0, 0, 48, 66, 0, 0, 218, 66, 0, 0, 48, 66, 0, 0, 220, 66, 0, 0, 48, 66, 0, 0, 222, 66, 0, 0, 48, 66, 0, 0, 224, 66, 0, 0, 48, 66, 0, 0, 226, 66, 0, 0, 48, 66, 0, 0, 228, 66, 0, 0, 48, 66, 0, 0, 230, 66, 0, 0, 48, 66, 0, 0, 232, 66, 0, 0, 48, 66, 0, 0, 234, 66, 0, 0, 48, 66, 0, 0, 236, 66, 0, 0, 48, 66, 0, 0, 238, 66, 0, 0, 48, 66, 0, 0, 240, 66, 0, 0, 48, 66, 0, 0, 242, 66, 0, 0, 48, 66, 0, 0, 244, 66, 0, 0, 48, 66, 0, 0, 246, 66, 0, 0, 48, 66, 0, 0, 248, 66, 0, 0, 48, 66, 0, 0, 250, 66, 0, 0, 48, 66, 0, 0, 252, 66, 0, 0, 48, 66, 0, 0, 254, 66, 0, 0, 48, 66, 0, 0, 0, 67, 0, 0, 48, 66, 0, 0, 1, 67, 0, 0, 48, 66, 0, 0, 2, 67, 0, 0, 48, 66, 0, 0, 3, 67, 0, 0, 48, 66, 0, 0, 4, 67, 0, 0, 48, 66, 0, 0, 5, 67, 0, 0, 48, 66, 0, 0, 6, 67, 0, 0, 48, 66, 0, 0, 7, 67, 0, 0, 48, 66, 0, 0, 8, 67, 0, 0, 48, 66, 0, 0, 9, 67, 0, 0, 48, 66, 0, 0, 10, 67, 0, 0, 48, 66, 0, 0, 11, 67, 0, 0, 48, 66, 0, 0, 12, 67, 0, 0, 48, 66, 0, 0, 13, 67, 0, 0, 48, 66, 0, 0, 14, 67, 0, 0, 48, 66, 0, 0, 15, 67, 0, 0, 48, 66, 0, 0, 16, 67, 0, 0, 48, 66, 0, 0, 17, 67, 0, 0, 48, 66, 0, 0, 18, 67, 0, 0, 48, 66, 0, 0, 19, 67, 0, 0, 48, 66, 0, 0, 20, 67, 0, 0, 48, 66, 0, 0, 21, 67, 0, 0, 48, 66, 0, 0, 22, 67, 0, 0, 48, 66, 0, 0, 23, 67, 0, 0, 48, 66, 0, 0, 24, 67, 0, 0, 48, 66, 0, 0, 25, 67, 0, 0, 48, 66, 0, 0, 26, 67, 0, 0, 48, 66, 0, 0, 27, 67, 0, 0, 48, 66, 0, 0, 28, 67, 0, 0, 48, 66, 0, 0, 29, 67, 0, 0, 48, 66, 0, 0, 30, 67, 0, 0, 48, 66, 0, 0, 31, 67, 0, 0, 48, 66, 0, 0, 32, 67, 0, 0, 48, 66, 0, 0, 33, 67, 0, 0, 48, 66, 0, 0, 34, 67, 0, 0, 48, 66, 0, 0, 35, 67, 0, 0, 48, 66, 0, 0, 36, 67, 0, 0, 48, 66, 0, 0, 37, 67, 0, 0, 48, 66, 0, 0, 38, 67, 0, 0, 48, 66, 0, 0, 39, 67, 0, 0, 48, 66, 0, 0, 40, 67, 0, 0, 48, 66, 0, 0, 41, 67, 0, 0, 48, 66, 0, 0, 42, 67, 0, 0, 48, 66, 0, 0, 43, 67, 0, 0, 48, 66, 0, 0, 44, 67, 0, 0, 48, 66, 0, 0, 45, 67, 0, 0, 48, 66, 0, 0, 46, 67, 0, 0, 48, 66, 0, 0, 47, 67, 0, 0, 48, 66, 0, 0, 48, 67, 0, 0, 48, 66, 0, 0, 49, 67, 0, 0, 48, 66, 0, 0, 50, 67, 0, 0, 48, 66, 0, 0, 51, 67, 0, 0, 48, 66, 0, 0, 52, 67, 0, 0, 48, 66, 0, 0, 53, 67, 0, 0, 48, 66, 0, 0, 54, 67, 0, 0, 48, 66, 0, 0, 55, 67, 0, 0, 52, 66, 0, 0, 184, 66, 0, 0, 52, 66, 0, 0, 186, 66, 0, 0, 52, 66, 0, 0, 188, 66, 0, 0, 52, 66, 0, 0, 190, 66, 0, 0, 52, 66, 0, 0, 192, 66, 0, 0, 52, 66, 0, 0, 194, 66, 0, 0, 52, 66, 0, 0, 196, 66, 0, 0, 52, 66, 0, 0, 198, 66, 0, 0, 52, 66, 0, 0, 200, 66, 0, 0, 52, 66, 0, 0, 202, 66, 0, 0, 52, 66, 0, 0, 204, 66, 0, 0, 52, 66, 0, 0, 206, 66, 0, 0, 52, 66, 0, 0, 208, 66, 0, 0, 52, 66, 0, 0, 210, 66, 0, 0, 52, 66, 0, 0, 212, 66, 0, 0, 52, 66, 0, 0, 214, 66, 0, 0, 52, 66, 0, 0, 216, 66, 0, 0, 52, 66, 0, 0, 218, 66, 0, 0, 52, 66, 0, 0, 220, 66, 0, 0, 52, 66, 0, 0, 222, 66, 0, 0, 52, 66, 0, 0, 224, 66, 0, 0, 52, 66, 0, 0, 226, 66, 0, 0, 52, 66, 0, 0, 228, 66, 0, 0, 52, 66, 0, 0, 230, 66, 0, 0, 52, 66, 0, 0, 232, 66, 0, 0, 52, 66, 0, 0, 234, 66, 0, 0, 52, 66, 0, 0, 236, 66, 0, 0, 52, 66, 0, 0, 238, 66, 0, 0, 52, 66, 0, 0, 240, 66, 0, 0, 52, 66, 0, 0, 242, 66, 0, 0, 52, 66, 0, 0, 244, 66, 0, 0, 52, 66, 0, 0, 246, 66, 0, 0, 52, 66, 0, 0, 248, 66, 0, 0, 52, 66, 0, 0, 250, 66, 0, 0, 52, 66, 0, 0, 252, 66, 0, 0, 52, 66, 0, 0, 254, 66, 0, 0, 52, 66, 0, 0, 0, 67, 0, 0, 52, 66, 0, 0, 1, 67, 0, 0, 52, 66, 0, 0, 2, 67, 0, 0, 52, 66, 0, 0, 3, 67, 0, 0, 52, 66, 0, 0, 4, 67, 0, 0, 52, 66, 0, 0, 5, 67, 0, 0, 52, 66, 0, 0, 6, 67, 0, 0, 52, 66, 0, 0, 7, 67, 0, 0, 52, 66, 0, 0, 8, 67, 0, 0, 52, 66, 0, 0, 9, 67, 0, 0, 52, 66, 0, 0, 10, 67, 0, 0, 52, 66, 0, 0, 11, 67, 0, 0, 52, 66, 0, 0, 12, 67, 0, 0, 52, 66, 0, 0, 13, 67, 0, 0, 52, 66, 0, 0, 14, 67, 0, 0, 52, 66, 0, 0, 15, 67, 0, 0, 52, 66, 0, 0, 16, 67, 0, 0, 52, 66, 0, 0, 17, 67, 0, 0, 52, 66, 0, 0, 18, 67, 0, 0, 52, 66, 0, 0, 19, 67, 0, 0, 52, 66, 0, 0, 20, 67, 0, 0, 52, 66, 0, 0, 21, 67, 0, 0, 52, 66, 0, 0, 22, 67, 0, 0, 52, 66, 0, 0, 23, 67, 0, 0, 52, 66, 0, 0, 24, 67, 0, 0, 52, 66, 0, 0, 25, 67, 0, 0, 52, 66, 0, 0, 26, 67, 0, 0, 52, 66, 0, 0, 27, 67, 0, 0, 52, 66, 0, 0, 28, 67, 0, 0, 52, 66, 0, 0, 29, 67, 0, 0, 52, 66, 0, 0, 30, 67, 0, 0, 52, 66, 0, 0, 31, 67, 0, 0, 52, 66, 0, 0, 32, 67, 0, 0, 52, 66, 0, 0, 33, 67, 0, 0, 52, 66, 0, 0, 34, 67, 0, 0, 52, 66, 0, 0, 35, 67, 0, 0, 52, 66, 0, 0, 36, 67, 0, 0, 52, 66, 0, 0, 37, 67, 0, 0, 52, 66, 0, 0, 38, 67, 0, 0, 52, 66, 0, 0, 39, 67, 0, 0, 52, 66, 0, 0, 40, 67, 0, 0, 52, 66, 0, 0, 41, 67, 0, 0, 52, 66, 0, 0, 42, 67, 0, 0, 52, 66, 0, 0, 43, 67, 0, 0, 52, 66, 0, 0, 44, 67, 0, 0, 52, 66, 0, 0, 45, 67, 0, 0, 52, 66, 0, 0, 46, 67, 0, 0, 52, 66, 0, 0, 47, 67, 0, 0, 52, 66, 0, 0, 48, 67, 0, 0, 52, 66, 0, 0, 49, 67, 0, 0, 52, 66, 0, 0, 50, 67, 0, 0, 52, 66, 0, 0, 51, 67, 0, 0, 52, 66, 0, 0, 52, 67, 0, 0, 52, 66, 0, 0, 53, 67, 0, 0, 52, 66, 0, 0, 54, 67, 0, 0, 52, 66, 0, 0, 55, 67, 0, 0, 56, 66, 0, 0, 184, 66, 0, 0, 56, 66, 0, 0, 186, 66, 0, 0, 56, 66, 0, 0, 188, 66, 0, 0, 56, 66, 0, 0, 190, 66, 0, 0, 56, 66, 0, 0, 192, 66, 0, 0, 56, 66, 0, 0, 194, 66, 0, 0, 56, 66, 0, 0, 196, 66, 0, 0, 56, 66, 0, 0, 198, 66, 0, 0, 56, 66, 0, 0, 200, 66, 0, 0, 56, 66, 0, 0, 202, 66, 0, 0, 56, 66, 0, 0, 204, 66, 0, 0, 56, 66, 0, 0, 206, 66, 0, 0, 56, 66, 0, 0, 208, 66, 0, 0, 56, 66, 0, 0, 210, 66, 0, 0, 56, 66, 0, 0, 212, 66, 0, 0, 56, 66, 0, 0, 214, 66, 0, 0, 56, 66, 0, 0, 216, 66, 0, 0, 56, 66, 0, 0, 218, 66, 0, 0, 56, 66, 0, 0, 220, 66, 0, 0, 56, 66, 0, 0, 222, 66, 0, 0, 56, 66, 0, 0, 224, 66, 0, 0, 56, 66, 0, 0, 226, 66, 0, 0, 56, 66, 0, 0, 228, 66, 0, 0, 56, 66, 0, 0, 230, 66, 0, 0, 56, 66, 0, 0, 232, 66, 0, 0, 56, 66, 0, 0, 234, 66, 0, 0, 56, 66, 0, 0, 236, 66, 0, 0, 56, 66, 0, 0, 238, 66, 0, 0, 56, 66, 0, 0, 240, 66, 0, 0, 56, 66, 0, 0, 242, 66, 0, 0, 56, 66, 0, 0, 244, 66, 0, 0, 56, 66, 0, 0, 246, 66, 0, 0, 56, 66, 0, 0, 248, 66, 0, 0, 56, 66, 0, 0, 250, 66, 0, 0, 56, 66, 0, 0, 252, 66, 0, 0, 56, 66, 0, 0, 254, 66, 0, 0, 56, 66, 0, 0, 0, 67, 0, 0, 56, 66, 0, 0, 1, 67, 0, 0, 56, 66, 0, 0, 2, 67, 0, 0, 56, 66, 0, 0, 3, 67, 0, 0, 56, 66, 0, 0, 4, 67, 0, 0, 56, 66, 0, 0, 5, 67, 0, 0, 56, 66, 0, 0, 6, 67, 0, 0, 56, 66, 0, 0, 7, 67, 0, 0, 56, 66, 0, 0, 8, 67, 0, 0, 56, 66, 0, 0, 9, 67, 0, 0, 56, 66, 0, 0, 10, 67, 0, 0, 56, 66, 0, 0, 11, 67, 0, 0, 56, 66, 0, 0, 12, 67, 0, 0, 56, 66, 0, 0, 13, 67, 0, 0, 56, 66, 0, 0, 14, 67, 0, 0, 56, 66, 0, 0, 15, 67, 0, 0, 56, 66, 0, 0, 16, 67, 0, 0, 56, 66, 0, 0, 17, 67, 0, 0, 56, 66, 0, 0, 18, 67, 0, 0, 56, 66, 0, 0, 19, 67, 0, 0, 56, 66, 0, 0, 20, 67, 0, 0, 56, 66, 0, 0, 21, 67, 0, 0, 56, 66, 0, 0, 22, 67, 0, 0, 56, 66, 0, 0, 23, 67, 0, 0, 56, 66, 0, 0, 24, 67, 0, 0, 56, 66, 0, 0, 25, 67, 0, 0, 56, 66, 0, 0, 26, 67, 0, 0, 56, 66, 0, 0, 27, 67, 0, 0, 56, 66, 0, 0, 28, 67, 0, 0, 56, 66, 0, 0, 29, 67, 0, 0, 56, 66, 0, 0, 30, 67, 0, 0, 56, 66, 0, 0, 31, 67, 0, 0, 56, 66, 0, 0, 32, 67, 0, 0, 56, 66, 0, 0, 33, 67, 0, 0, 56, 66, 0, 0, 34, 67, 0, 0, 56, 66, 0, 0, 35, 67, 0, 0, 56, 66, 0, 0, 36, 67, 0, 0, 56, 66, 0, 0, 37, 67, 0, 0, 56, 66, 0, 0, 38, 67, 0, 0, 56, 66, 0, 0, 39, 67, 0, 0, 56, 66, 0, 0, 40, 67, 0, 0, 56, 66, 0, 0, 41, 67, 0, 0, 56, 66, 0, 0, 42, 67, 0, 0, 56, 66, 0, 0, 43, 67, 0, 0, 56, 66, 0, 0, 44, 67, 0, 0, 56, 66, 0, 0, 45, 67, 0, 0, 56, 66, 0, 0, 46, 67, 0, 0, 56, 66, 0, 0, 47, 67, 0, 0, 56, 66, 0, 0, 48, 67, 0, 0, 56, 66, 0, 0, 49, 67, 0, 0, 56, 66, 0, 0, 50, 67, 0, 0, 56, 66, 0, 0, 51, 67, 0, 0, 56, 66, 0, 0, 52, 67, 0, 0, 56, 66, 0, 0, 53, 67, 0, 0, 56, 66, 0, 0, 54, 67, 0, 0, 56, 66, 0, 0, 55, 67, 0, 0, 60, 66, 0, 0, 184, 66, 0, 0, 60, 66, 0, 0, 186, 66, 0, 0, 60, 66, 0, 0, 188, 66, 0, 0, 60, 66, 0, 0, 190, 66, 0, 0, 60, 66, 0, 0, 192, 66, 0, 0, 60, 66, 0, 0, 194, 66, 0, 0, 60, 66, 0, 0, 196, 66, 0, 0, 60, 66, 0, 0, 198, 66, 0, 0, 60, 66, 0, 0, 200, 66, 0, 0, 60, 66, 0, 0, 202, 66, 0, 0, 60, 66, 0, 0, 204, 66, 0, 0, 60, 66, 0, 0, 206, 66, 0, 0, 60, 66, 0, 0, 208, 66, 0, 0, 60, 66, 0, 0, 210, 66, 0, 0, 60, 66, 0, 0, 212, 66, 0, 0, 60, 66, 0, 0, 214, 66, 0, 0, 60, 66, 0, 0, 216, 66, 0, 0, 60, 66, 0, 0, 218, 66, 0, 0, 60, 66, 0, 0, 220, 66, 0, 0, 60, 66, 0, 0, 222, 66, 0, 0, 60, 66, 0, 0, 224, 66, 0, 0, 60, 66, 0, 0, 226, 66, 0, 0, 60, 66, 0, 0, 228, 66, 0, 0, 60, 66, 0, 0, 230, 66, 0, 0, 60, 66, 0, 0, 232, 66, 0, 0, 60, 66, 0, 0, 234, 66, 0, 0, 60, 66, 0, 0, 236, 66, 0, 0, 60, 66, 0, 0, 238, 66, 0, 0, 60, 66, 0, 0, 240, 66, 0, 0, 60, 66, 0, 0, 242, 66, 0, 0, 60, 66, 0, 0, 244, 66, 0, 0, 60, 66, 0, 0, 246, 66, 0, 0, 60, 66, 0, 0, 248, 66, 0, 0, 60, 66, 0, 0, 250, 66, 0, 0, 60, 66, 0, 0, 252, 66, 0, 0, 60, 66, 0, 0, 254, 66, 0, 0, 60, 66, 0, 0, 0, 67, 0, 0, 60, 66, 0, 0, 1, 67, 0, 0, 60, 66, 0, 0, 2, 67, 0, 0, 60, 66, 0, 0, 3, 67, 0, 0, 60, 66, 0, 0, 4, 67, 0, 0, 60, 66, 0, 0, 5, 67, 0, 0, 60, 66, 0, 0, 6, 67, 0, 0, 60, 66, 0, 0, 7, 67, 0, 0, 60, 66, 0, 0, 8, 67, 0, 0, 60, 66, 0, 0, 9, 67, 0, 0, 60, 66, 0, 0, 10, 67, 0, 0, 60, 66, 0, 0, 11, 67, 0, 0, 60, 66, 0, 0, 12, 67, 0, 0, 60, 66, 0, 0, 13, 67, 0, 0, 60, 66, 0, 0, 14, 67, 0, 0, 60, 66, 0, 0, 15, 67, 0, 0, 60, 66, 0, 0, 16, 67, 0, 0, 60, 66, 0, 0, 17, 67, 0, 0, 60, 66, 0, 0, 18, 67, 0, 0, 60, 66, 0, 0, 19, 67, 0, 0, 60, 66, 0, 0, 20, 67, 0, 0, 60, 66, 0, 0, 21, 67, 0, 0, 60, 66, 0, 0, 22, 67, 0, 0, 60, 66, 0, 0, 23, 67, 0, 0, 60, 66, 0, 0, 24, 67, 0, 0, 60, 66, 0, 0, 25, 67, 0, 0, 60, 66, 0, 0, 26, 67, 0, 0, 60, 66, 0, 0, 27, 67, 0, 0, 60, 66, 0, 0, 28, 67, 0, 0, 60, 66, 0, 0, 29, 67, 0, 0, 60, 66, 0, 0, 30, 67, 0, 0, 60, 66, 0, 0, 31, 67, 0, 0, 60, 66, 0, 0, 32, 67, 0, 0, 60, 66, 0, 0, 33, 67, 0, 0, 60, 66, 0, 0, 34, 67, 0, 0, 60, 66, 0, 0, 35, 67, 0, 0, 60, 66, 0, 0, 36, 67, 0, 0, 60, 66, 0, 0, 37, 67, 0, 0, 60, 66, 0, 0, 38, 67, 0, 0, 60, 66, 0, 0, 39, 67, 0, 0, 60, 66, 0, 0, 40, 67, 0, 0, 60, 66, 0, 0, 41, 67, 0, 0, 60, 66, 0, 0, 42, 67, 0, 0, 60, 66, 0, 0, 43, 67, 0, 0, 60, 66, 0, 0, 44, 67, 0, 0, 60, 66, 0, 0, 45, 67, 0, 0, 60, 66, 0, 0, 46, 67, 0, 0, 60, 66, 0, 0, 47, 67, 0, 0, 60, 66, 0, 0, 48, 67, 0, 0, 60, 66, 0, 0, 49, 67, 0, 0, 60, 66, 0, 0, 50, 67, 0, 0, 60, 66, 0, 0, 51, 67, 0, 0, 60, 66, 0, 0, 52, 67, 0, 0, 60, 66, 0, 0, 53, 67, 0, 0, 60, 66, 0, 0, 54, 67, 0, 0, 60, 66, 0, 0, 55, 67, 0, 0, 64, 66, 0, 0, 184, 66, 0, 0, 64, 66, 0, 0, 186, 66, 0, 0, 64, 66, 0, 0, 188, 66, 0, 0, 64, 66, 0, 0, 190, 66, 0, 0, 64, 66, 0, 0, 192, 66, 0, 0, 64, 66, 0, 0, 194, 66, 0, 0, 64, 66, 0, 0, 196, 66, 0, 0, 64, 66, 0, 0, 198, 66, 0, 0, 64, 66, 0, 0, 200, 66, 0, 0, 64, 66, 0, 0, 202, 66, 0, 0, 64, 66, 0, 0, 204, 66, 0, 0, 64, 66, 0, 0, 206, 66, 0, 0, 64, 66, 0, 0, 208, 66, 0, 0, 64, 66, 0, 0, 210, 66, 0, 0, 64, 66, 0, 0, 212, 66, 0, 0, 64, 66, 0, 0, 214, 66, 0, 0, 64, 66, 0, 0, 216, 66, 0, 0, 64, 66, 0, 0, 218, 66, 0, 0, 64, 66, 0, 0, 220, 66, 0, 0, 64, 66, 0, 0, 222, 66, 0, 0, 64, 66, 0, 0, 224, 66, 0, 0, 64, 66, 0, 0, 226, 66, 0, 0, 64, 66, 0, 0, 228, 66, 0, 0, 64, 66, 0, 0, 230, 66, 0, 0, 64, 66, 0, 0, 232, 66, 0, 0, 64, 66, 0, 0, 234, 66, 0, 0, 64, 66, 0, 0, 236, 66, 0, 0, 64, 66, 0, 0, 238, 66, 0, 0, 64, 66, 0, 0, 240, 66, 0, 0, 64, 66, 0, 0, 242, 66, 0, 0, 64, 66, 0, 0, 244, 66, 0, 0, 64, 66, 0, 0, 246, 66, 0, 0, 64, 66, 0, 0, 248, 66, 0, 0, 64, 66, 0, 0, 250, 66, 0, 0, 64, 66, 0, 0, 252, 66, 0, 0, 64, 66, 0, 0, 254, 66, 0, 0, 64, 66, 0, 0, 0, 67, 0, 0, 64, 66, 0, 0, 1, 67, 0, 0, 64, 66, 0, 0, 2, 67, 0, 0, 64, 66, 0, 0, 3, 67, 0, 0, 64, 66, 0, 0, 4, 67, 0, 0, 64, 66, 0, 0, 5, 67, 0, 0, 64, 66, 0, 0, 6, 67, 0, 0, 64, 66, 0, 0, 7, 67, 0, 0, 64, 66, 0, 0, 8, 67, 0, 0, 64, 66, 0, 0, 9, 67, 0, 0, 64, 66, 0, 0, 10, 67, 0, 0, 64, 66, 0, 0, 11, 67, 0, 0, 64, 66, 0, 0, 12, 67, 0, 0, 64, 66, 0, 0, 13, 67, 0, 0, 64, 66, 0, 0, 14, 67, 0, 0, 64, 66, 0, 0, 15, 67, 0, 0, 64, 66, 0, 0, 16, 67, 0, 0, 64, 66, 0, 0, 17, 67, 0, 0, 64, 66, 0, 0, 18, 67, 0, 0, 64, 66, 0, 0, 19, 67, 0, 0, 64, 66, 0, 0, 20, 67, 0, 0, 64, 66, 0, 0, 21, 67, 0, 0, 64, 66, 0, 0, 22, 67, 0, 0, 64, 66, 0, 0, 23, 67, 0, 0, 64, 66, 0, 0, 24, 67, 0, 0, 64, 66, 0, 0, 25, 67, 0, 0, 64, 66, 0, 0, 26, 67, 0, 0, 64, 66, 0, 0, 27, 67, 0, 0, 64, 66, 0, 0, 28, 67, 0, 0, 64, 66, 0, 0, 29, 67, 0, 0, 64, 66, 0, 0, 30, 67, 0, 0, 64, 66, 0, 0, 31, 67, 0, 0, 64, 66, 0, 0, 32, 67, 0, 0, 64, 66, 0, 0, 33, 67, 0, 0, 64, 66, 0, 0, 34, 67, 0, 0, 64, 66, 0, 0, 35, 67, 0, 0, 64, 66, 0, 0, 36, 67, 0, 0, 64, 66, 0, 0, 37, 67, 0, 0, 64, 66, 0, 0, 38, 67, 0, 0, 64, 66, 0, 0, 39, 67, 0, 0, 64, 66, 0, 0, 40, 67, 0, 0, 64, 66, 0, 0, 41, 67, 0, 0, 64, 66, 0, 0, 42, 67, 0, 0, 64, 66, 0, 0, 43, 67, 0, 0, 64, 66, 0, 0, 44, 67, 0, 0, 64, 66, 0, 0, 45, 67, 0, 0, 64, 66, 0, 0, 46, 67, 0, 0, 64, 66, 0, 0, 47, 67, 0, 0, 64, 66, 0, 0, 48, 67, 0, 0, 64, 66, 0, 0, 49, 67, 0, 0, 64, 66, 0, 0, 50, 67, 0, 0, 64, 66, 0, 0, 51, 67, 0, 0, 64, 66, 0, 0, 52, 67, 0, 0, 64, 66, 0, 0, 53, 67, 0, 0, 64, 66, 0, 0, 54, 67, 0, 0, 64, 66, 0, 0, 55, 67, 0, 0, 68, 66, 0, 0, 184, 66, 0, 0, 68, 66, 0, 0, 186, 66, 0, 0, 68, 66, 0, 0, 188, 66, 0, 0, 68, 66, 0, 0, 190, 66, 0, 0, 68, 66, 0, 0, 192, 66, 0, 0, 68, 66, 0, 0, 194, 66, 0, 0, 68, 66, 0, 0, 196, 66, 0, 0, 68, 66, 0, 0, 198, 66, 0, 0, 68, 66, 0, 0, 200, 66, 0, 0, 68, 66, 0, 0, 202, 66, 0, 0, 68, 66, 0, 0, 204, 66, 0, 0, 68, 66, 0, 0, 206, 66, 0, 0, 68, 66, 0, 0, 208, 66, 0, 0, 68, 66, 0, 0, 210, 66, 0, 0, 68, 66, 0, 0, 212, 66, 0, 0, 68, 66, 0, 0, 214, 66, 0, 0, 68, 66, 0, 0, 216, 66, 0, 0, 68, 66, 0, 0, 218, 66, 0, 0, 68, 66, 0, 0, 220, 66, 0, 0, 68, 66, 0, 0, 222, 66, 0, 0, 68, 66, 0, 0, 224, 66, 0, 0, 68, 66, 0, 0, 226, 66, 0, 0, 68, 66, 0, 0, 228, 66, 0, 0, 68, 66, 0, 0, 230, 66, 0, 0, 68, 66, 0, 0, 232, 66, 0, 0, 68, 66, 0, 0, 234, 66, 0, 0, 68, 66, 0, 0, 236, 66, 0, 0, 68, 66, 0, 0, 238, 66, 0, 0, 68, 66, 0, 0, 240, 66, 0, 0, 68, 66, 0, 0, 242, 66, 0, 0, 68, 66, 0, 0, 244, 66, 0, 0, 68, 66, 0, 0, 246, 66, 0, 0, 68, 66, 0, 0, 248, 66, 0, 0, 68, 66, 0, 0, 250, 66, 0, 0, 68, 66, 0, 0, 252, 66, 0, 0, 68, 66, 0, 0, 254, 66, 0, 0, 68, 66, 0, 0, 0, 67, 0, 0, 68, 66, 0, 0, 1, 67, 0, 0, 68, 66, 0, 0, 2, 67, 0, 0, 68, 66, 0, 0, 3, 67, 0, 0, 68, 66, 0, 0, 4, 67, 0, 0, 68, 66, 0, 0, 5, 67, 0, 0, 68, 66, 0, 0, 6, 67, 0, 0, 68, 66, 0, 0, 7, 67, 0, 0, 68, 66, 0, 0, 8, 67, 0, 0, 68, 66, 0, 0, 9, 67, 0, 0, 68, 66, 0, 0, 10, 67, 0, 0, 68, 66, 0, 0, 11, 67, 0, 0, 68, 66, 0, 0, 12, 67, 0, 0, 68, 66, 0, 0, 13, 67, 0, 0, 68, 66, 0, 0, 14, 67, 0, 0, 68, 66, 0, 0, 15, 67, 0, 0, 68, 66, 0, 0, 16, 67, 0, 0, 68, 66, 0, 0, 17, 67, 0, 0, 68, 66, 0, 0, 18, 67, 0, 0, 68, 66, 0, 0, 19, 67, 0, 0, 68, 66, 0, 0, 20, 67, 0, 0, 68, 66, 0, 0, 21, 67, 0, 0, 68, 66, 0, 0, 22, 67, 0, 0, 68, 66, 0, 0, 23, 67, 0, 0, 68, 66, 0, 0, 24, 67, 0, 0, 68, 66, 0, 0, 25, 67, 0, 0, 68, 66, 0, 0, 26, 67, 0, 0, 68, 66, 0, 0, 27, 67, 0, 0, 68, 66, 0, 0, 28, 67, 0, 0, 68, 66, 0, 0, 29, 67, 0, 0, 68, 66, 0, 0, 30, 67, 0, 0, 68, 66, 0, 0, 31, 67, 0, 0, 68, 66, 0, 0, 32, 67, 0, 0, 68, 66, 0, 0, 33, 67, 0, 0, 68, 66, 0, 0, 34, 67, 0, 0, 68, 66, 0, 0, 35, 67, 0, 0, 68, 66, 0, 0, 36, 67, 0, 0, 68, 66, 0, 0, 37, 67, 0, 0, 68, 66, 0, 0, 38, 67, 0, 0, 68, 66, 0, 0, 39, 67, 0, 0, 68, 66, 0, 0, 40, 67, 0, 0, 68, 66, 0, 0, 41, 67, 0, 0, 68, 66, 0, 0, 42, 67, 0, 0, 68, 66, 0, 0, 43, 67, 0, 0, 68, 66, 0, 0, 44, 67, 0, 0, 68, 66, 0, 0, 45, 67, 0, 0, 68, 66, 0, 0, 46, 67, 0, 0, 68, 66, 0, 0, 47, 67, 0, 0, 68, 66, 0, 0, 48, 67, 0, 0, 68, 66, 0, 0, 49, 67, 0, 0, 68, 66, 0, 0, 50, 67, 0, 0, 68, 66, 0, 0, 51, 67, 0, 0, 68, 66, 0, 0, 52, 67, 0, 0, 68, 66, 0, 0, 53, 67, 0, 0, 68, 66, 0, 0, 54, 67, 0, 0, 68, 66, 0, 0, 55, 67, 0, 0, 72, 66, 0, 0, 184, 66, 0, 0, 72, 66, 0, 0, 186, 66, 0, 0, 72, 66, 0, 0, 188, 66, 0, 0, 72, 66, 0, 0, 190, 66, 0, 0, 72, 66, 0, 0, 192, 66, 0, 0, 72, 66, 0, 0, 194, 66, 0, 0, 72, 66, 0, 0, 196, 66, 0, 0, 72, 66, 0, 0, 198, 66, 0, 0, 72, 66, 0, 0, 200, 66, 0, 0, 72, 66, 0, 0, 202, 66, 0, 0, 72, 66, 0, 0, 204, 66, 0, 0, 72, 66, 0, 0, 206, 66, 0, 0, 72, 66, 0, 0, 208, 66, 0, 0, 72, 66, 0, 0, 210, 66, 0, 0, 72, 66, 0, 0, 212, 66, 0, 0, 72, 66, 0, 0, 214, 66, 0, 0, 72, 66, 0, 0, 216, 66, 0, 0, 72, 66, 0, 0, 218, 66, 0, 0, 72, 66, 0, 0, 220, 66, 0, 0, 72, 66, 0, 0, 222, 66, 0, 0, 72, 66, 0, 0, 224, 66, 0, 0, 72, 66, 0, 0, 226, 66, 0, 0, 72, 66, 0, 0, 228, 66, 0, 0, 72, 66, 0, 0, 230, 66, 0, 0, 72, 66, 0, 0, 232, 66, 0, 0, 72, 66, 0, 0, 234, 66, 0, 0, 72, 66, 0, 0, 236, 66, 0, 0, 72, 66, 0, 0, 238, 66, 0, 0, 72, 66, 0, 0, 240, 66, 0, 0, 72, 66, 0, 0, 242, 66, 0, 0, 72, 66, 0, 0, 244, 66, 0, 0, 72, 66, 0, 0, 246, 66, 0, 0, 72, 66, 0, 0, 248, 66, 0, 0, 72, 66, 0, 0, 250, 66, 0, 0, 72, 66, 0, 0, 252, 66, 0, 0, 72, 66, 0, 0, 254, 66, 0, 0, 72, 66, 0, 0, 0, 67, 0, 0, 72, 66, 0, 0, 1, 67, 0, 0, 72, 66, 0, 0, 2, 67, 0, 0, 72, 66, 0, 0, 3, 67, 0, 0, 72, 66, 0, 0, 4, 67, 0, 0, 72, 66, 0, 0, 5, 67, 0, 0, 72, 66, 0, 0, 6, 67, 0, 0, 72, 66, 0, 0, 7, 67, 0, 0, 72, 66, 0, 0, 8, 67, 0, 0, 72, 66, 0, 0, 9, 67, 0, 0, 72, 66, 0, 0, 10, 67, 0, 0, 72, 66, 0, 0, 11, 67, 0, 0, 72, 66, 0, 0, 12, 67, 0, 0, 72, 66, 0, 0, 13, 67, 0, 0, 72, 66, 0, 0, 14, 67, 0, 0, 72, 66, 0, 0, 15, 67, 0, 0, 72, 66, 0, 0, 16, 67, 0, 0, 72, 66, 0, 0, 17, 67, 0, 0, 72, 66, 0, 0, 18, 67, 0, 0, 72, 66, 0, 0, 19, 67, 0, 0, 72, 66, 0, 0, 20, 67, 0, 0, 72, 66, 0, 0, 21, 67, 0, 0, 72, 66, 0, 0, 22, 67, 0, 0, 72, 66, 0, 0, 23, 67, 0, 0, 72, 66, 0, 0, 24, 67, 0, 0, 72, 66, 0, 0, 25, 67, 0, 0, 72, 66, 0, 0, 26, 67, 0, 0, 72, 66, 0, 0, 27, 67, 0, 0, 72, 66, 0, 0, 28, 67, 0, 0, 72, 66, 0, 0, 29, 67, 0, 0, 72, 66, 0, 0, 30, 67, 0, 0, 72, 66, 0, 0, 31, 67, 0, 0, 72, 66, 0, 0, 32, 67, 0, 0, 72, 66, 0, 0, 33, 67, 0, 0, 72, 66, 0, 0, 34, 67, 0, 0, 72, 66, 0, 0, 35, 67, 0, 0, 72, 66, 0, 0, 36, 67, 0, 0, 72, 66, 0, 0, 37, 67, 0, 0, 72, 66, 0, 0, 38, 67, 0, 0, 72, 66, 0, 0, 39, 67, 0, 0, 72, 66, 0, 0, 40, 67, 0, 0, 72, 66, 0, 0, 41, 67, 0, 0, 72, 66, 0, 0, 42, 67, 0, 0, 72, 66, 0, 0, 43, 67, 0, 0, 72, 66, 0, 0, 44, 67, 0, 0, 72, 66, 0, 0, 45, 67, 0, 0, 72, 66, 0, 0, 46, 67, 0, 0, 72, 66, 0, 0, 47, 67, 0, 0, 72, 66, 0, 0, 48, 67, 0, 0, 72, 66, 0, 0, 49, 67, 0, 0, 72, 66, 0, 0, 50, 67, 0, 0, 72, 66, 0, 0, 51, 67, 0, 0, 72, 66, 0, 0, 52, 67, 0, 0, 72, 66, 0, 0, 53, 67, 0, 0, 72, 66, 0, 0, 54, 67, 0, 0, 72, 66, 0, 0, 55, 67, 0, 0, 76, 66, 0, 0, 184, 66, 0, 0, 76, 66, 0, 0, 186, 66, 0, 0, 76, 66, 0, 0, 188, 66, 0, 0, 76, 66, 0, 0, 190, 66, 0, 0, 76, 66, 0, 0, 192, 66, 0, 0, 76, 66, 0, 0, 194, 66, 0, 0, 76, 66, 0, 0, 196, 66, 0, 0, 76, 66, 0, 0, 198, 66, 0, 0, 76, 66, 0, 0, 200, 66, 0, 0, 76, 66, 0, 0, 202, 66, 0, 0, 76, 66, 0, 0, 204, 66, 0, 0, 76, 66, 0, 0, 206, 66, 0, 0, 76, 66, 0, 0, 208, 66, 0, 0, 76, 66, 0, 0, 210, 66, 0, 0, 76, 66, 0, 0, 212, 66, 0, 0, 76, 66, 0, 0, 214, 66, 0, 0, 76, 66, 0, 0, 216, 66, 0, 0, 76, 66, 0, 0, 218, 66, 0, 0, 76, 66, 0, 0, 220, 66, 0, 0, 76, 66, 0, 0, 222, 66, 0, 0, 76, 66, 0, 0, 224, 66, 0, 0, 76, 66, 0, 0, 226, 66, 0, 0, 76, 66, 0, 0, 228, 66, 0, 0, 76, 66, 0, 0, 230, 66, 0, 0, 76, 66, 0, 0, 232, 66, 0, 0, 76, 66, 0, 0, 234, 66, 0, 0, 76, 66, 0, 0, 236, 66, 0, 0, 76, 66, 0, 0, 238, 66, 0, 0, 76, 66, 0, 0, 240, 66, 0, 0, 76, 66, 0, 0, 242, 66, 0, 0, 76, 66, 0, 0, 244, 66, 0, 0, 76, 66, 0, 0, 246, 66, 0, 0, 76, 66, 0, 0, 248, 66, 0, 0, 76, 66, 0, 0, 250, 66, 0, 0, 76, 66, 0, 0, 252, 66, 0, 0, 76, 66, 0, 0, 254, 66, 0, 0, 76, 66, 0, 0, 0, 67, 0, 0, 76, 66, 0, 0, 1, 67, 0, 0, 76, 66, 0, 0, 2, 67, 0, 0, 76, 66, 0, 0, 3, 67, 0, 0, 76, 66, 0, 0, 4, 67, 0, 0, 76, 66, 0, 0, 5, 67, 0, 0, 76, 66, 0, 0, 6, 67, 0, 0, 76, 66, 0, 0, 7, 67, 0, 0, 76, 66, 0, 0, 8, 67, 0, 0, 76, 66, 0, 0, 9, 67, 0, 0, 76, 66, 0, 0, 10, 67, 0, 0, 76, 66, 0, 0, 11, 67, 0, 0, 76, 66, 0, 0, 12, 67, 0, 0, 76, 66, 0, 0, 13, 67, 0, 0, 76, 66, 0, 0, 14, 67, 0, 0, 76, 66, 0, 0, 15, 67, 0, 0, 76, 66, 0, 0, 16, 67, 0, 0, 76, 66, 0, 0, 17, 67, 0, 0, 76, 66, 0, 0, 18, 67, 0, 0, 76, 66, 0, 0, 19, 67, 0, 0, 76, 66, 0, 0, 20, 67, 0, 0, 76, 66, 0, 0, 21, 67, 0, 0, 76, 66, 0, 0, 22, 67, 0, 0, 76, 66, 0, 0, 23, 67, 0, 0, 76, 66, 0, 0, 24, 67, 0, 0, 76, 66, 0, 0, 25, 67, 0, 0, 76, 66, 0, 0, 26, 67, 0, 0, 76, 66, 0, 0, 27, 67, 0, 0, 76, 66, 0, 0, 28, 67, 0, 0, 76, 66, 0, 0, 29, 67, 0, 0, 76, 66, 0, 0, 30, 67, 0, 0, 76, 66, 0, 0, 31, 67, 0, 0, 76, 66, 0, 0, 32, 67, 0, 0, 76, 66, 0, 0, 33, 67, 0, 0, 76, 66, 0, 0, 34, 67, 0, 0, 76, 66, 0, 0, 35, 67, 0, 0, 76, 66, 0, 0, 36, 67, 0, 0, 76, 66, 0, 0, 37, 67, 0, 0, 76, 66, 0, 0, 38, 67, 0, 0, 76, 66, 0, 0, 39, 67, 0, 0, 76, 66, 0, 0, 40, 67, 0, 0, 76, 66, 0, 0, 41, 67, 0, 0, 76, 66, 0, 0, 42, 67, 0, 0, 76, 66, 0, 0, 43, 67, 0, 0, 76, 66, 0, 0, 44, 67, 0, 0, 76, 66, 0, 0, 45, 67, 0, 0, 76, 66, 0, 0, 46, 67, 0, 0, 76, 66, 0, 0, 47, 67, 0, 0, 76, 66, 0, 0, 48, 67, 0, 0, 76, 66, 0, 0, 49, 67, 0, 0, 76, 66, 0, 0, 50, 67, 0, 0, 76, 66, 0, 0, 51, 67, 0, 0, 76, 66, 0, 0, 52, 67, 0, 0, 76, 66, 0, 0, 53, 67, 0, 0, 76, 66, 0, 0, 54, 67, 0, 0, 76, 66, 0, 0, 55, 67, 0, 0, 80, 66, 0, 0, 184, 66, 0, 0, 80, 66, 0, 0, 186, 66, 0, 0, 80, 66, 0, 0, 188, 66, 0, 0, 80, 66, 0, 0, 190, 66, 0, 0, 80, 66, 0, 0, 192, 66, 0, 0, 80, 66, 0, 0, 194, 66, 0, 0, 80, 66, 0, 0, 196, 66, 0, 0, 80, 66, 0, 0, 198, 66, 0, 0, 80, 66, 0, 0, 200, 66, 0, 0, 80, 66, 0, 0, 202, 66, 0, 0, 80, 66, 0, 0, 204, 66, 0, 0, 80, 66, 0, 0, 206, 66, 0, 0, 80, 66, 0, 0, 208, 66, 0, 0, 80, 66, 0, 0, 210, 66, 0, 0, 80, 66, 0, 0, 212, 66, 0, 0, 80, 66, 0, 0, 214, 66, 0, 0, 80, 66, 0, 0, 216, 66, 0, 0, 80, 66, 0, 0, 218, 66, 0, 0, 80, 66, 0, 0, 220, 66, 0, 0, 80, 66, 0, 0, 222, 66, 0, 0, 80, 66, 0, 0, 224, 66, 0, 0, 80, 66, 0, 0, 226, 66, 0, 0, 80, 66, 0, 0, 228, 66, 0, 0, 80, 66, 0, 0, 230, 66, 0, 0, 80, 66, 0, 0, 232, 66, 0, 0, 80, 66, 0, 0, 234, 66, 0, 0, 80, 66, 0, 0, 236, 66, 0, 0, 80, 66, 0, 0, 238, 66, 0, 0, 80, 66, 0, 0, 240, 66, 0, 0, 80, 66, 0, 0, 242, 66, 0, 0, 80, 66, 0, 0, 244, 66, 0, 0, 80, 66, 0, 0, 246, 66, 0, 0, 80, 66, 0, 0, 248, 66, 0, 0, 80, 66, 0, 0, 250, 66, 0, 0, 80, 66, 0, 0, 252, 66, 0, 0, 80, 66, 0, 0, 254, 66, 0, 0, 80, 66, 0, 0, 0, 67, 0, 0, 80, 66, 0, 0, 1, 67, 0, 0, 80, 66, 0, 0, 2, 67, 0, 0, 80, 66, 0, 0, 3, 67, 0, 0, 80, 66, 0, 0, 4, 67, 0, 0, 80, 66, 0, 0, 5, 67, 0, 0, 80, 66, 0, 0, 6, 67, 0, 0, 80, 66, 0, 0, 7, 67, 0, 0, 80, 66, 0, 0, 8, 67, 0, 0, 80, 66, 0, 0, 9, 67, 0, 0, 80, 66, 0, 0, 10, 67, 0, 0, 80, 66, 0, 0, 11, 67, 0, 0, 80, 66, 0, 0, 12, 67, 0, 0, 80, 66, 0, 0, 13, 67, 0, 0, 80, 66, 0, 0, 14, 67, 0, 0, 80, 66, 0, 0, 15, 67, 0, 0, 80, 66, 0, 0, 16, 67, 0, 0, 80, 66, 0, 0, 17, 67, 0, 0, 80, 66, 0, 0, 18, 67, 0, 0, 80, 66, 0, 0, 19, 67, 0, 0, 80, 66, 0, 0, 20, 67, 0, 0, 80, 66, 0, 0, 21, 67, 0, 0, 80, 66, 0, 0, 22, 67, 0, 0, 80, 66, 0, 0, 23, 67, 0, 0, 80, 66, 0, 0, 24, 67, 0, 0, 80, 66, 0, 0, 25, 67, 0, 0, 80, 66, 0, 0, 26, 67, 0, 0, 80, 66, 0, 0, 27, 67, 0, 0, 80, 66, 0, 0, 28, 67, 0, 0, 80, 66, 0, 0, 29, 67, 0, 0, 80, 66, 0, 0, 30, 67, 0, 0, 80, 66, 0, 0, 31, 67, 0, 0, 80, 66, 0, 0, 32, 67, 0, 0, 80, 66, 0, 0, 33, 67, 0, 0, 80, 66, 0, 0, 34, 67, 0, 0, 80, 66, 0, 0, 35, 67, 0, 0, 80, 66, 0, 0, 36, 67, 0, 0, 80, 66, 0, 0, 37, 67, 0, 0, 80, 66, 0, 0, 38, 67, 0, 0, 80, 66, 0, 0, 39, 67, 0, 0, 80, 66, 0, 0, 40, 67, 0, 0, 80, 66, 0, 0, 41, 67, 0, 0, 80, 66, 0, 0, 42, 67, 0, 0, 80, 66, 0, 0, 43, 67, 0, 0, 80, 66, 0, 0, 44, 67, 0, 0, 80, 66, 0, 0, 45, 67, 0, 0, 80, 66, 0, 0, 46, 67, 0, 0, 80, 66, 0, 0, 47, 67, 0, 0, 80, 66, 0, 0, 48, 67, 0, 0, 80, 66, 0, 0, 49, 67, 0, 0, 80, 66, 0, 0, 50, 67, 0, 0, 80, 66, 0, 0, 51, 67, 0, 0, 80, 66, 0, 0, 52, 67, 0, 0, 80, 66, 0, 0, 53, 67, 0, 0, 80, 66, 0, 0, 54, 67, 0, 0, 80, 66, 0, 0, 55, 67, 0, 0, 84, 66, 0, 0, 184, 66, 0, 0, 84, 66, 0, 0, 186, 66, 0, 0, 84, 66, 0, 0, 188, 66, 0, 0, 84, 66, 0, 0, 190, 66, 0, 0, 84, 66, 0, 0, 192, 66, 0, 0, 84, 66, 0, 0, 194, 66, 0, 0, 84, 66, 0, 0, 196, 66, 0, 0, 84, 66, 0, 0, 198, 66, 0, 0, 84, 66, 0, 0, 200, 66, 0, 0, 84, 66, 0, 0, 202, 66, 0, 0, 84, 66, 0, 0, 204, 66, 0, 0, 84, 66, 0, 0, 206, 66, 0, 0, 84, 66, 0, 0, 208, 66, 0, 0, 84, 66, 0, 0, 210, 66, 0, 0, 84, 66, 0, 0, 212, 66, 0, 0, 84, 66, 0, 0, 214, 66, 0, 0, 84, 66, 0, 0, 216, 66, 0, 0, 84, 66, 0, 0, 218, 66, 0, 0, 84, 66, 0, 0, 220, 66, 0, 0, 84, 66, 0, 0, 222, 66, 0, 0, 84, 66, 0, 0, 224, 66, 0, 0, 84, 66, 0, 0, 226, 66, 0, 0, 84, 66, 0, 0, 228, 66, 0, 0, 84, 66, 0, 0, 230, 66, 0, 0, 84, 66, 0, 0, 232, 66, 0, 0, 84, 66, 0, 0, 234, 66, 0, 0, 84, 66, 0, 0, 236, 66, 0, 0, 84, 66, 0, 0, 238, 66, 0, 0, 84, 66, 0, 0, 240, 66, 0, 0, 84, 66, 0, 0, 242, 66, 0, 0, 84, 66, 0, 0, 244, 66, 0, 0, 84, 66, 0, 0, 246, 66, 0, 0, 84, 66, 0, 0, 248, 66, 0, 0, 84, 66, 0, 0, 250, 66, 0, 0, 84, 66, 0, 0, 252, 66, 0, 0, 84, 66, 0, 0, 254, 66, 0, 0, 84, 66, 0, 0, 0, 67, 0, 0, 84, 66, 0, 0, 1, 67, 0, 0, 84, 66, 0, 0, 2, 67, 0, 0, 84, 66, 0, 0, 3, 67, 0, 0, 84, 66, 0, 0, 4, 67, 0, 0, 84, 66, 0, 0, 5, 67, 0, 0, 84, 66, 0, 0, 6, 67, 0, 0, 84, 66, 0, 0, 7, 67, 0, 0, 84, 66, 0, 0, 8, 67, 0, 0, 84, 66, 0, 0, 9, 67, 0, 0, 84, 66, 0, 0, 10, 67, 0, 0, 84, 66, 0, 0, 11, 67, 0, 0, 84, 66, 0, 0, 12, 67, 0, 0, 84, 66, 0, 0, 13, 67, 0, 0, 84, 66, 0, 0, 14, 67, 0, 0, 84, 66, 0, 0, 15, 67, 0, 0, 84, 66, 0, 0, 16, 67, 0, 0, 84, 66, 0, 0, 17, 67, 0, 0, 84, 66, 0, 0, 18, 67, 0, 0, 84, 66, 0, 0, 19, 67, 0, 0, 84, 66, 0, 0, 20, 67, 0, 0, 84, 66, 0, 0, 21, 67, 0, 0, 84, 66, 0, 0, 22, 67, 0, 0, 84, 66, 0, 0, 23, 67, 0, 0, 84, 66, 0, 0, 24, 67, 0, 0, 84, 66, 0, 0, 25, 67, 0, 0, 84, 66, 0, 0, 26, 67, 0, 0, 84, 66, 0, 0, 27, 67, 0, 0, 84, 66, 0, 0, 28, 67, 0, 0, 84, 66, 0, 0, 29, 67, 0, 0, 84, 66, 0, 0, 30, 67, 0, 0, 84, 66, 0, 0, 31, 67, 0, 0, 84, 66, 0, 0, 32, 67, 0, 0, 84, 66, 0, 0, 33, 67, 0, 0, 84, 66, 0, 0, 34, 67, 0, 0, 84, 66, 0, 0, 35, 67, 0, 0, 84, 66, 0, 0, 36, 67, 0, 0, 84, 66, 0, 0, 37, 67, 0, 0, 84, 66, 0, 0, 38, 67, 0, 0, 84, 66, 0, 0, 39, 67, 0, 0, 84, 66, 0, 0, 40, 67, 0, 0, 84, 66, 0, 0, 41, 67, 0, 0, 84, 66, 0, 0, 42, 67, 0, 0, 84, 66, 0, 0, 43, 67, 0, 0, 84, 66, 0, 0, 44, 67, 0, 0, 84, 66, 0, 0, 45, 67, 0, 0, 84, 66, 0, 0, 46, 67, 0, 0, 84, 66, 0, 0, 47, 67, 0, 0, 84, 66, 0, 0, 48, 67, 0, 0, 84, 66, 0, 0, 49, 67, 0, 0, 84, 66, 0, 0, 50, 67, 0, 0, 84, 66, 0, 0, 51, 67, 0, 0, 84, 66, 0, 0, 52, 67, 0, 0, 84, 66, 0, 0, 53, 67, 0, 0, 84, 66, 0, 0, 54, 67, 0, 0, 84, 66, 0, 0, 55, 67, 0, 0, 88, 66, 0, 0, 184, 66, 0, 0, 88, 66, 0, 0, 186, 66, 0, 0, 88, 66, 0, 0, 188, 66, 0, 0, 88, 66, 0, 0, 190, 66, 0, 0, 88, 66, 0, 0, 192, 66, 0, 0, 88, 66, 0, 0, 194, 66, 0, 0, 88, 66, 0, 0, 196, 66, 0, 0, 88, 66, 0, 0, 198, 66, 0, 0, 88, 66, 0, 0, 200, 66, 0, 0, 88, 66, 0, 0, 202, 66, 0, 0, 88, 66, 0, 0, 204, 66, 0, 0, 88, 66, 0, 0, 206, 66, 0, 0, 88, 66, 0, 0, 208, 66, 0, 0, 88, 66, 0, 0, 210, 66, 0, 0, 88, 66, 0, 0, 212, 66, 0, 0, 88, 66, 0, 0, 214, 66, 0, 0, 88, 66, 0, 0, 216, 66, 0, 0, 88, 66, 0, 0, 218, 66, 0, 0, 88, 66, 0, 0, 220, 66, 0, 0, 88, 66, 0, 0, 222, 66, 0, 0, 88, 66, 0, 0, 224, 66, 0, 0, 88, 66, 0, 0, 226, 66, 0, 0, 88, 66, 0, 0, 228, 66, 0, 0, 88, 66, 0, 0, 230, 66, 0, 0, 88, 66, 0, 0, 232, 66, 0, 0, 88, 66, 0, 0, 234, 66, 0, 0, 88, 66, 0, 0, 236, 66, 0, 0, 88, 66, 0, 0, 238, 66, 0, 0, 88, 66, 0, 0, 240, 66, 0, 0, 88, 66, 0, 0, 242, 66, 0, 0, 88, 66, 0, 0, 244, 66, 0, 0, 88, 66, 0, 0, 246, 66, 0, 0, 88, 66, 0, 0, 248, 66, 0, 0, 88, 66, 0, 0, 250, 66, 0, 0, 88, 66, 0, 0, 252, 66, 0, 0, 88, 66, 0, 0, 254, 66, 0, 0, 88, 66, 0, 0, 0, 67, 0, 0, 88, 66, 0, 0, 1, 67, 0, 0, 88, 66, 0, 0, 2, 67, 0, 0, 88, 66, 0, 0, 3, 67, 0, 0, 88, 66, 0, 0, 4, 67, 0, 0, 88, 66, 0, 0, 5, 67, 0, 0, 88, 66, 0, 0, 6, 67, 0, 0, 88, 66, 0, 0, 7, 67, 0, 0, 88, 66, 0, 0, 8, 67, 0, 0, 88, 66, 0, 0, 9, 67, 0, 0, 88, 66, 0, 0, 10, 67, 0, 0, 88, 66, 0, 0, 11, 67, 0, 0, 88, 66, 0, 0, 12, 67, 0, 0, 88, 66, 0, 0, 13, 67, 0, 0, 88, 66, 0, 0, 14, 67, 0, 0, 88, 66, 0, 0, 15, 67, 0, 0, 88, 66, 0, 0, 16, 67, 0, 0, 88, 66, 0, 0, 17, 67, 0, 0, 88, 66, 0, 0, 18, 67, 0, 0, 88, 66, 0, 0, 19, 67, 0, 0, 88, 66, 0, 0, 20, 67, 0, 0, 88, 66, 0, 0, 21, 67, 0, 0, 88, 66, 0, 0, 22, 67, 0, 0, 88, 66, 0, 0, 23, 67, 0, 0, 88, 66, 0, 0, 24, 67, 0, 0, 88, 66, 0, 0, 25, 67, 0, 0, 88, 66, 0, 0, 26, 67, 0, 0, 88, 66, 0, 0, 27, 67, 0, 0, 88, 66, 0, 0, 28, 67, 0, 0, 88, 66, 0, 0, 29, 67, 0, 0, 88, 66, 0, 0, 30, 67, 0, 0, 88, 66, 0, 0, 31, 67, 0, 0, 88, 66, 0, 0, 32, 67, 0, 0, 88, 66, 0, 0, 33, 67, 0, 0, 88, 66, 0, 0, 34, 67, 0, 0, 88, 66, 0, 0, 35, 67, 0, 0, 88, 66, 0, 0, 36, 67, 0, 0, 88, 66, 0, 0, 37, 67, 0, 0, 88, 66, 0, 0, 38, 67, 0, 0, 88, 66, 0, 0, 39, 67, 0, 0, 88, 66, 0, 0, 40, 67, 0, 0, 88, 66, 0, 0, 41, 67, 0, 0, 88, 66, 0, 0, 42, 67, 0, 0, 88, 66, 0, 0, 43, 67, 0, 0, 88, 66, 0, 0, 44, 67, 0, 0, 88, 66, 0, 0, 45, 67, 0, 0, 88, 66, 0, 0, 46, 67, 0, 0, 88, 66, 0, 0, 47, 67, 0, 0, 88, 66, 0, 0, 48, 67, 0, 0, 88, 66, 0, 0, 49, 67, 0, 0, 88, 66, 0, 0, 50, 67, 0, 0, 88, 66, 0, 0, 51, 67, 0, 0, 88, 66, 0, 0, 52, 67, 0, 0, 88, 66, 0, 0, 53, 67, 0, 0, 88, 66, 0, 0, 54, 67, 0, 0, 88, 66, 0, 0, 55, 67, 0, 0, 92, 66, 0, 0, 184, 66, 0, 0, 92, 66, 0, 0, 186, 66, 0, 0, 92, 66, 0, 0, 188, 66, 0, 0, 92, 66, 0, 0, 190, 66, 0, 0, 92, 66, 0, 0, 192, 66, 0, 0, 92, 66, 0, 0, 194, 66, 0, 0, 92, 66, 0, 0, 196, 66, 0, 0, 92, 66, 0, 0, 198, 66, 0, 0, 92, 66, 0, 0, 200, 66, 0, 0, 92, 66, 0, 0, 202, 66, 0, 0, 92, 66, 0, 0, 204, 66, 0, 0, 92, 66, 0, 0, 206, 66, 0, 0, 92, 66, 0, 0, 208, 66, 0, 0, 92, 66, 0, 0, 210, 66, 0, 0, 92, 66, 0, 0, 212, 66, 0, 0, 92, 66, 0, 0, 214, 66, 0, 0, 92, 66, 0, 0, 216, 66, 0, 0, 92, 66, 0, 0, 218, 66, 0, 0, 92, 66, 0, 0, 220, 66, 0, 0, 92, 66, 0, 0, 222, 66, 0, 0, 92, 66, 0, 0, 224, 66, 0, 0, 92, 66, 0, 0, 226, 66, 0, 0, 92, 66, 0, 0, 228, 66, 0, 0, 92, 66, 0, 0, 230, 66, 0, 0, 92, 66, 0, 0, 232, 66, 0, 0, 92, 66, 0, 0, 234, 66, 0, 0, 92, 66, 0, 0, 236, 66, 0, 0, 92, 66, 0, 0, 238, 66, 0, 0, 92, 66, 0, 0, 240, 66, 0, 0, 92, 66, 0, 0, 242, 66, 0, 0, 92, 66, 0, 0, 244, 66, 0, 0, 92, 66, 0, 0, 246, 66, 0, 0, 92, 66, 0, 0, 248, 66, 0, 0, 92, 66, 0, 0, 250, 66, 0, 0, 92, 66, 0, 0, 252, 66, 0, 0, 92, 66, 0, 0, 254, 66, 0, 0, 92, 66, 0, 0, 0, 67, 0, 0, 92, 66, 0, 0, 1, 67, 0, 0, 92, 66, 0, 0, 2, 67, 0, 0, 92, 66, 0, 0, 3, 67, 0, 0, 92, 66, 0, 0, 4, 67, 0, 0, 92, 66, 0, 0, 5, 67, 0, 0, 92, 66, 0, 0, 6, 67, 0, 0, 92, 66, 0, 0, 7, 67, 0, 0, 92, 66, 0, 0, 8, 67, 0, 0, 92, 66, 0, 0, 9, 67, 0, 0, 92, 66, 0, 0, 10, 67, 0, 0, 92, 66, 0, 0, 11, 67, 0, 0, 92, 66, 0, 0, 12, 67, 0, 0, 92, 66, 0, 0, 13, 67, 0, 0, 92, 66, 0, 0, 14, 67, 0, 0, 92, 66, 0, 0, 15, 67, 0, 0, 92, 66, 0, 0, 16, 67, 0, 0, 92, 66, 0, 0, 17, 67, 0, 0, 92, 66, 0, 0, 18, 67, 0, 0, 92, 66, 0, 0, 19, 67, 0, 0, 92, 66, 0, 0, 20, 67, 0, 0, 92, 66, 0, 0, 21, 67, 0, 0, 92, 66, 0, 0, 22, 67, 0, 0, 92, 66, 0, 0, 23, 67, 0, 0, 92, 66, 0, 0, 24, 67, 0, 0, 92, 66, 0, 0, 25, 67, 0, 0, 92, 66, 0, 0, 26, 67, 0, 0, 92, 66, 0, 0, 27, 67, 0, 0, 92, 66, 0, 0, 28, 67, 0, 0, 92, 66, 0, 0, 29, 67, 0, 0, 92, 66, 0, 0, 30, 67, 0, 0, 92, 66, 0, 0, 31, 67, 0, 0, 92, 66, 0, 0, 32, 67, 0, 0, 92, 66, 0, 0, 33, 67, 0, 0, 92, 66, 0, 0, 34, 67, 0, 0, 92, 66, 0, 0, 35, 67, 0, 0, 92, 66, 0, 0, 36, 67, 0, 0, 92, 66, 0, 0, 37, 67, 0, 0, 92, 66, 0, 0, 38, 67, 0, 0, 92, 66, 0, 0, 39, 67, 0, 0, 92, 66, 0, 0, 40, 67, 0, 0, 92, 66, 0, 0, 41, 67, 0, 0, 92, 66, 0, 0, 42, 67, 0, 0, 92, 66, 0, 0, 43, 67, 0, 0, 92, 66, 0, 0, 44, 67, 0, 0, 92, 66, 0, 0, 45, 67, 0, 0, 92, 66, 0, 0, 46, 67, 0, 0, 92, 66, 0, 0, 47, 67, 0, 0, 92, 66, 0, 0, 48, 67, 0, 0, 92, 66, 0, 0, 49, 67, 0, 0, 92, 66, 0, 0, 50, 67, 0, 0, 92, 66, 0, 0, 51, 67, 0, 0, 92, 66, 0, 0, 52, 67, 0, 0, 92, 66, 0, 0, 53, 67, 0, 0, 92, 66, 0, 0, 54, 67, 0, 0, 92, 66, 0, 0, 55, 67, 0, 0, 96, 66, 0, 0, 184, 66, 0, 0, 96, 66, 0, 0, 186, 66, 0, 0, 96, 66, 0, 0, 188, 66, 0, 0, 96, 66, 0, 0, 190, 66, 0, 0, 96, 66, 0, 0, 192, 66, 0, 0, 96, 66, 0, 0, 194, 66, 0, 0, 96, 66, 0, 0, 196, 66, 0, 0, 96, 66, 0, 0, 198, 66, 0, 0, 96, 66, 0, 0, 200, 66, 0, 0, 96, 66, 0, 0, 202, 66, 0, 0, 96, 66, 0, 0, 204, 66, 0, 0, 96, 66, 0, 0, 206, 66, 0, 0, 96, 66, 0, 0, 208, 66, 0, 0, 96, 66, 0, 0, 210, 66, 0, 0, 96, 66, 0, 0, 212, 66, 0, 0, 96, 66, 0, 0, 214, 66, 0, 0, 96, 66, 0, 0, 216, 66, 0, 0, 96, 66, 0, 0, 218, 66, 0, 0, 96, 66, 0, 0, 220, 66, 0, 0, 96, 66, 0, 0, 222, 66, 0, 0, 96, 66, 0, 0, 224, 66, 0, 0, 96, 66, 0, 0, 226, 66, 0, 0, 96, 66, 0, 0, 228, 66, 0, 0, 96, 66, 0, 0, 230, 66, 0, 0, 96, 66, 0, 0, 232, 66, 0, 0, 96, 66, 0, 0, 234, 66, 0, 0, 96, 66, 0, 0, 236, 66, 0, 0, 96, 66, 0, 0, 238, 66, 0, 0, 96, 66, 0, 0, 240, 66, 0, 0, 96, 66, 0, 0, 242, 66, 0, 0, 96, 66, 0, 0, 244, 66, 0, 0, 96, 66, 0, 0, 246, 66, 0, 0, 96, 66, 0, 0, 248, 66, 0, 0, 96, 66, 0, 0, 250, 66, 0, 0, 96, 66, 0, 0, 252, 66, 0, 0, 96, 66, 0, 0, 254, 66, 0, 0, 96, 66, 0, 0, 0, 67, 0, 0, 96, 66, 0, 0, 1, 67, 0, 0, 96, 66, 0, 0, 2, 67, 0, 0, 96, 66, 0, 0, 3, 67, 0, 0, 96, 66, 0, 0, 4, 67, 0, 0, 96, 66, 0, 0, 5, 67, 0, 0, 96, 66, 0, 0, 6, 67, 0, 0, 96, 66, 0, 0, 7, 67, 0, 0, 96, 66, 0, 0, 8, 67, 0, 0, 96, 66, 0, 0, 9, 67, 0, 0, 96, 66, 0, 0, 10, 67, 0, 0, 96, 66, 0, 0, 11, 67, 0, 0, 96, 66, 0, 0, 12, 67, 0, 0, 96, 66, 0, 0, 13, 67, 0, 0, 96, 66, 0, 0, 14, 67, 0, 0, 96, 66, 0, 0, 15, 67, 0, 0, 96, 66, 0, 0, 16, 67, 0, 0, 96, 66, 0, 0, 17, 67, 0, 0, 96, 66, 0, 0, 18, 67, 0, 0, 96, 66, 0, 0, 19, 67, 0, 0, 96, 66, 0, 0, 20, 67, 0, 0, 96, 66, 0, 0, 21, 67, 0, 0, 96, 66, 0, 0, 22, 67, 0, 0, 96, 66, 0, 0, 23, 67, 0, 0, 96, 66, 0, 0, 24, 67, 0, 0, 96, 66, 0, 0, 25, 67, 0, 0, 96, 66, 0, 0, 26, 67, 0, 0, 96, 66, 0, 0, 27, 67, 0, 0, 96, 66, 0, 0, 28, 67, 0, 0, 96, 66, 0, 0, 29, 67, 0, 0, 96, 66, 0, 0, 30, 67, 0, 0, 96, 66, 0, 0, 31, 67, 0, 0, 96, 66, 0, 0, 32, 67, 0, 0, 96, 66, 0, 0, 33, 67, 0, 0, 96, 66, 0, 0, 34, 67, 0, 0, 96, 66, 0, 0, 35, 67, 0, 0, 96, 66, 0, 0, 36, 67, 0, 0, 96, 66, 0, 0, 37, 67, 0, 0, 96, 66, 0, 0, 38, 67, 0, 0, 96, 66, 0, 0, 39, 67, 0, 0, 96, 66, 0, 0, 40, 67, 0, 0, 96, 66, 0, 0, 41, 67, 0, 0, 96, 66, 0, 0, 42, 67, 0, 0, 96, 66, 0, 0, 43, 67, 0, 0, 96, 66, 0, 0, 44, 67, 0, 0, 96, 66, 0, 0, 45, 67, 0, 0, 96, 66, 0, 0, 46, 67, 0, 0, 96, 66, 0, 0, 47, 67, 0, 0, 96, 66, 0, 0, 48, 67, 0, 0, 96, 66, 0, 0, 49, 67, 0, 0, 96, 66, 0, 0, 50, 67, 0, 0, 96, 66, 0, 0, 51, 67, 0, 0, 96, 66, 0, 0, 52, 67, 0, 0, 96, 66, 0, 0, 53, 67, 0, 0, 96, 66, 0, 0, 54, 67, 0, 0, 96, 66, 0, 0, 55, 67, 0, 0, 100, 66, 0, 0, 184, 66, 0, 0, 100, 66, 0, 0, 186, 66, 0, 0, 100, 66, 0, 0, 188, 66, 0, 0, 100, 66, 0, 0, 190, 66, 0, 0, 100, 66, 0, 0, 192, 66, 0, 0, 100, 66, 0, 0, 194, 66, 0, 0, 100, 66, 0, 0, 196, 66, 0, 0, 100, 66, 0, 0, 198, 66, 0, 0, 100, 66, 0, 0, 200, 66, 0, 0, 100, 66, 0, 0, 202, 66, 0, 0, 100, 66, 0, 0, 204, 66, 0, 0, 100, 66, 0, 0, 206, 66, 0, 0, 100, 66, 0, 0, 208, 66, 0, 0, 100, 66, 0, 0, 210, 66, 0, 0, 100, 66, 0, 0, 212, 66, 0, 0, 100, 66, 0, 0, 214, 66, 0, 0, 100, 66, 0, 0, 216, 66, 0, 0, 100, 66, 0, 0, 218, 66, 0, 0, 100, 66, 0, 0, 220, 66, 0, 0, 100, 66, 0, 0, 222, 66, 0, 0, 100, 66, 0, 0, 224, 66, 0, 0, 100, 66, 0, 0, 226, 66, 0, 0, 100, 66, 0, 0, 228, 66, 0, 0, 100, 66, 0, 0, 230, 66, 0, 0, 100, 66, 0, 0, 232, 66, 0, 0, 100, 66, 0, 0, 234, 66, 0, 0, 100, 66, 0, 0, 236, 66, 0, 0, 100, 66, 0, 0, 238, 66, 0, 0, 100, 66, 0, 0, 240, 66, 0, 0, 100, 66, 0, 0, 242, 66, 0, 0, 100, 66, 0, 0, 244, 66, 0, 0, 100, 66, 0, 0, 246, 66, 0, 0, 100, 66, 0, 0, 248, 66, 0, 0, 100, 66, 0, 0, 250, 66, 0, 0, 100, 66, 0, 0, 252, 66, 0, 0, 100, 66, 0, 0, 254, 66, 0, 0, 100, 66, 0, 0, 0, 67, 0, 0, 100, 66, 0, 0, 1, 67, 0, 0, 100, 66, 0, 0, 2, 67, 0, 0, 100, 66, 0, 0, 3, 67, 0, 0, 100, 66, 0, 0, 4, 67, 0, 0, 100, 66, 0, 0, 5, 67, 0, 0, 100, 66, 0, 0, 6, 67, 0, 0, 100, 66, 0, 0, 7, 67, 0, 0, 100, 66, 0, 0, 8, 67, 0, 0, 100, 66, 0, 0, 9, 67, 0, 0, 100, 66, 0, 0, 10, 67, 0, 0, 100, 66, 0, 0, 11, 67, 0, 0, 100, 66, 0, 0, 12, 67, 0, 0, 100, 66, 0, 0, 13, 67, 0, 0, 100, 66, 0, 0, 14, 67, 0, 0, 100, 66, 0, 0, 15, 67, 0, 0, 100, 66, 0, 0, 16, 67, 0, 0, 100, 66, 0, 0, 17, 67, 0, 0, 100, 66, 0, 0, 18, 67, 0, 0, 100, 66, 0, 0, 19, 67, 0, 0, 100, 66, 0, 0, 20, 67, 0, 0, 100, 66, 0, 0, 21, 67, 0, 0, 100, 66, 0, 0, 22, 67, 0, 0, 100, 66, 0, 0, 23, 67, 0, 0, 100, 66, 0, 0, 24, 67, 0, 0, 100, 66, 0, 0, 25, 67, 0, 0, 100, 66, 0, 0, 26, 67, 0, 0, 100, 66, 0, 0, 27, 67, 0, 0, 100, 66, 0, 0, 28, 67, 0, 0, 100, 66, 0, 0, 29, 67, 0, 0, 100, 66, 0, 0, 30, 67, 0, 0, 100, 66, 0, 0, 31, 67, 0, 0, 100, 66, 0, 0, 32, 67, 0, 0, 100, 66, 0, 0, 33, 67, 0, 0, 100, 66, 0, 0, 34, 67, 0, 0, 100, 66, 0, 0, 35, 67, 0, 0, 100, 66, 0, 0, 36, 67, 0, 0, 100, 66, 0, 0, 37, 67, 0, 0, 100, 66, 0, 0, 38, 67, 0, 0, 100, 66, 0, 0, 39, 67, 0, 0, 100, 66, 0, 0, 40, 67, 0, 0, 100, 66, 0, 0, 41, 67, 0, 0, 100, 66, 0, 0, 42, 67, 0, 0, 100, 66, 0, 0, 43, 67, 0, 0, 100, 66, 0, 0, 44, 67, 0, 0, 100, 66, 0, 0, 45, 67, 0, 0, 100, 66, 0, 0, 46, 67, 0, 0, 100, 66, 0, 0, 47, 67, 0, 0, 100, 66, 0, 0, 48, 67, 0, 0, 100, 66, 0, 0, 49, 67, 0, 0, 100, 66, 0, 0, 50, 67, 0, 0, 100, 66, 0, 0, 51, 67, 0, 0, 100, 66, 0, 0, 52, 67, 0, 0, 100, 66, 0, 0, 53, 67, 0, 0, 100, 66, 0, 0, 54, 67, 0, 0, 100, 66, 0, 0, 55, 67, 0, 0, 104, 66, 0, 0, 184, 66, 0, 0, 104, 66, 0, 0, 186, 66, 0, 0, 104, 66, 0, 0, 188, 66, 0, 0, 104, 66, 0, 0, 190, 66, 0, 0, 104, 66, 0, 0, 192, 66, 0, 0, 104, 66, 0, 0, 194, 66, 0, 0, 104, 66, 0, 0, 196, 66, 0, 0, 104, 66, 0, 0, 198, 66, 0, 0, 104, 66, 0, 0, 200, 66, 0, 0, 104, 66, 0, 0, 202, 66, 0, 0, 104, 66, 0, 0, 204, 66, 0, 0, 104, 66, 0, 0, 206, 66, 0, 0, 104, 66, 0, 0, 208, 66, 0, 0, 104, 66, 0, 0, 210, 66, 0, 0, 104, 66, 0, 0, 212, 66, 0, 0, 104, 66, 0, 0, 214, 66, 0, 0, 104, 66, 0, 0, 216, 66, 0, 0, 104, 66, 0, 0, 218, 66, 0, 0, 104, 66, 0, 0, 220, 66, 0, 0, 104, 66, 0, 0, 222, 66, 0, 0, 104, 66, 0, 0, 224, 66, 0, 0, 104, 66, 0, 0, 226, 66, 0, 0, 104, 66, 0, 0, 228, 66, 0, 0, 104, 66, 0, 0, 230, 66, 0, 0, 104, 66, 0, 0, 232, 66, 0, 0, 104, 66, 0, 0, 234, 66, 0, 0, 104, 66, 0, 0, 236, 66, 0, 0, 104, 66, 0, 0, 238, 66, 0, 0, 104, 66, 0, 0, 240, 66, 0, 0, 104, 66, 0, 0, 242, 66, 0, 0, 104, 66, 0, 0, 244, 66, 0, 0, 104, 66, 0, 0, 246, 66, 0, 0, 104, 66, 0, 0, 248, 66, 0, 0, 104, 66, 0, 0, 250, 66, 0, 0, 104, 66, 0, 0, 252, 66, 0, 0, 104, 66, 0, 0, 254, 66, 0, 0, 104, 66, 0, 0, 0, 67, 0, 0, 104, 66, 0, 0, 1, 67, 0, 0, 104, 66, 0, 0, 2, 67, 0, 0, 104, 66, 0, 0, 3, 67, 0, 0, 104, 66, 0, 0, 4, 67, 0, 0, 104, 66, 0, 0, 5, 67, 0, 0, 104, 66, 0, 0, 6, 67, 0, 0, 104, 66, 0, 0, 7, 67, 0, 0, 104, 66, 0, 0, 8, 67, 0, 0, 104, 66, 0, 0, 9, 67, 0, 0, 104, 66, 0, 0, 10, 67, 0, 0, 104, 66, 0, 0, 11, 67, 0, 0, 104, 66, 0, 0, 12, 67, 0, 0, 104, 66, 0, 0, 13, 67, 0, 0, 104, 66, 0, 0, 14, 67, 0, 0, 104, 66, 0, 0, 15, 67, 0, 0, 104, 66, 0, 0, 16, 67, 0, 0, 104, 66, 0, 0, 17, 67, 0, 0, 104, 66, 0, 0, 18, 67, 0, 0, 104, 66, 0, 0, 19, 67, 0, 0, 104, 66, 0, 0, 20, 67, 0, 0, 104, 66, 0, 0, 21, 67, 0, 0, 104, 66, 0, 0, 22, 67, 0, 0, 104, 66, 0, 0, 23, 67, 0, 0, 104, 66, 0, 0, 24, 67, 0, 0, 104, 66, 0, 0, 25, 67, 0, 0, 104, 66, 0, 0, 26, 67, 0, 0, 104, 66, 0, 0, 27, 67, 0, 0, 104, 66, 0, 0, 28, 67, 0, 0, 104, 66, 0, 0, 29, 67, 0, 0, 104, 66, 0, 0, 30, 67, 0, 0, 104, 66, 0, 0, 31, 67, 0, 0, 104, 66, 0, 0, 32, 67, 0, 0, 104, 66, 0, 0, 33, 67, 0, 0, 104, 66, 0, 0, 34, 67, 0, 0, 104, 66, 0, 0, 35, 67, 0, 0, 104, 66, 0, 0, 36, 67, 0, 0, 104, 66, 0, 0, 37, 67, 0, 0, 104, 66, 0, 0, 38, 67, 0, 0, 104, 66, 0, 0, 39, 67, 0, 0, 104, 66, 0, 0, 40, 67, 0, 0, 104, 66, 0, 0, 41, 67, 0, 0, 104, 66, 0, 0, 42, 67, 0, 0, 104, 66, 0, 0, 43, 67, 0, 0, 104, 66, 0, 0, 44, 67, 0, 0, 104, 66, 0, 0, 45, 67, 0, 0, 104, 66, 0, 0, 46, 67, 0, 0, 104, 66, 0, 0, 47, 67, 0, 0, 104, 66, 0, 0, 48, 67, 0, 0, 104, 66, 0, 0, 49, 67, 0, 0, 104, 66, 0, 0, 50, 67, 0, 0, 104, 66, 0, 0, 51, 67, 0, 0, 104, 66, 0, 0, 52, 67, 0, 0, 104, 66, 0, 0, 53, 67, 0, 0, 104, 66, 0, 0, 54, 67, 0, 0, 104, 66, 0, 0, 55, 67, 0, 0, 108, 66, 0, 0, 184, 66, 0, 0, 108, 66, 0, 0, 186, 66, 0, 0, 108, 66, 0, 0, 188, 66, 0, 0, 108, 66, 0, 0, 190, 66, 0, 0, 108, 66, 0, 0, 192, 66, 0, 0, 108, 66, 0, 0, 194, 66, 0, 0, 108, 66, 0, 0, 196, 66, 0, 0, 108, 66, 0, 0, 198, 66, 0, 0, 108, 66, 0, 0, 200, 66, 0, 0, 108, 66, 0, 0, 202, 66, 0, 0, 108, 66, 0, 0, 204, 66, 0, 0, 108, 66, 0, 0, 206, 66, 0, 0, 108, 66, 0, 0, 208, 66, 0, 0, 108, 66, 0, 0, 210, 66, 0, 0, 108, 66, 0, 0, 212, 66, 0, 0, 108, 66, 0, 0, 214, 66, 0, 0, 108, 66, 0, 0, 216, 66, 0, 0, 108, 66, 0, 0, 218, 66, 0, 0, 108, 66, 0, 0, 220, 66, 0, 0, 108, 66, 0, 0, 222, 66, 0, 0, 108, 66, 0, 0, 224, 66, 0, 0, 108, 66, 0, 0, 226, 66, 0, 0, 108, 66, 0, 0, 228, 66, 0, 0, 108, 66, 0, 0, 230, 66, 0, 0, 108, 66, 0, 0, 232, 66, 0, 0, 108, 66, 0, 0, 234, 66, 0, 0, 108, 66, 0, 0, 236, 66, 0, 0, 108, 66, 0, 0, 238, 66, 0, 0, 108, 66, 0, 0, 240, 66, 0, 0, 108, 66, 0, 0, 242, 66, 0, 0, 108, 66, 0, 0, 244, 66, 0, 0, 108, 66, 0, 0, 246, 66, 0, 0, 108, 66, 0, 0, 248, 66, 0, 0, 108, 66, 0, 0, 250, 66, 0, 0, 108, 66, 0, 0, 252, 66, 0, 0, 108, 66, 0, 0, 254, 66, 0, 0, 108, 66, 0, 0, 0, 67, 0, 0, 108, 66, 0, 0, 1, 67, 0, 0, 108, 66, 0, 0, 2, 67, 0, 0, 108, 66, 0, 0, 3, 67, 0, 0, 108, 66, 0, 0, 4, 67, 0, 0, 108, 66, 0, 0, 5, 67, 0, 0, 108, 66, 0, 0, 6, 67, 0, 0, 108, 66, 0, 0, 7, 67, 0, 0, 108, 66, 0, 0, 8, 67, 0, 0, 108, 66, 0, 0, 9, 67, 0, 0, 108, 66, 0, 0, 10, 67, 0, 0, 108, 66, 0, 0, 11, 67, 0, 0, 108, 66, 0, 0, 12, 67, 0, 0, 108, 66, 0, 0, 13, 67, 0, 0, 108, 66, 0, 0, 14, 67, 0, 0, 108, 66, 0, 0, 15, 67, 0, 0, 108, 66, 0, 0, 16, 67, 0, 0, 108, 66, 0, 0, 17, 67, 0, 0, 108, 66, 0, 0, 18, 67, 0, 0, 108, 66, 0, 0, 19, 67, 0, 0, 108, 66, 0, 0, 20, 67, 0, 0, 108, 66, 0, 0, 21, 67, 0, 0, 108, 66, 0, 0, 22, 67, 0, 0, 108, 66, 0, 0, 23, 67, 0, 0, 108, 66, 0, 0, 24, 67, 0, 0, 108, 66, 0, 0, 25, 67, 0, 0, 108, 66, 0, 0, 26, 67, 0, 0, 108, 66, 0, 0, 27, 67, 0, 0, 108, 66, 0, 0, 28, 67, 0, 0, 108, 66, 0, 0, 29, 67, 0, 0, 108, 66, 0, 0, 30, 67, 0, 0, 108, 66, 0, 0, 31, 67, 0, 0, 108, 66, 0, 0, 32, 67, 0, 0, 108, 66, 0, 0, 33, 67, 0, 0, 108, 66, 0, 0, 34, 67, 0, 0, 108, 66, 0, 0, 35, 67, 0, 0, 108, 66, 0, 0, 36, 67, 0, 0, 108, 66, 0, 0, 37, 67, 0, 0, 108, 66, 0, 0, 38, 67, 0, 0, 108, 66, 0, 0, 39, 67, 0, 0, 108, 66, 0, 0, 40, 67, 0, 0, 108, 66, 0, 0, 41, 67, 0, 0, 108, 66, 0, 0, 42, 67, 0, 0, 108, 66, 0, 0, 43, 67, 0, 0, 108, 66, 0, 0, 44, 67, 0, 0, 108, 66, 0, 0, 45, 67, 0, 0, 108, 66, 0, 0, 46, 67, 0, 0, 108, 66, 0, 0, 47, 67, 0, 0, 108, 66, 0, 0, 48, 67, 0, 0, 108, 66, 0, 0, 49, 67, 0, 0, 108, 66, 0, 0, 50, 67, 0, 0, 108, 66, 0, 0, 51, 67, 0, 0, 108, 66, 0, 0, 52, 67, 0, 0, 108, 66, 0, 0, 53, 67, 0, 0, 108, 66, 0, 0, 54, 67, 0, 0, 108, 66, 0, 0, 55, 67, 0, 0, 112, 66, 0, 0, 184, 66, 0, 0, 112, 66, 0, 0, 186, 66, 0, 0, 112, 66, 0, 0, 188, 66, 0, 0, 112, 66, 0, 0, 190, 66, 0, 0, 112, 66, 0, 0, 192, 66, 0, 0, 112, 66, 0, 0, 194, 66, 0, 0, 112, 66, 0, 0, 196, 66, 0, 0, 112, 66, 0, 0, 198, 66, 0, 0, 112, 66, 0, 0, 200, 66, 0, 0, 112, 66, 0, 0, 202, 66, 0, 0, 112, 66, 0, 0, 204, 66, 0, 0, 112, 66, 0, 0, 206, 66, 0, 0, 112, 66, 0, 0, 208, 66, 0, 0, 112, 66, 0, 0, 210, 66, 0, 0, 112, 66, 0, 0, 212, 66, 0, 0, 112, 66, 0, 0, 214, 66, 0, 0, 112, 66, 0, 0, 216, 66, 0, 0, 112, 66, 0, 0, 218, 66, 0, 0, 112, 66, 0, 0, 220, 66, 0, 0, 112, 66, 0, 0, 222, 66, 0, 0, 112, 66, 0, 0, 224, 66, 0, 0, 112, 66, 0, 0, 226, 66, 0, 0, 112, 66, 0, 0, 228, 66, 0, 0, 112, 66, 0, 0, 230, 66, 0, 0, 112, 66, 0, 0, 232, 66, 0, 0, 112, 66, 0, 0, 234, 66, 0, 0, 112, 66, 0, 0, 236, 66, 0, 0, 112, 66, 0, 0, 238, 66, 0, 0, 112, 66, 0, 0, 240, 66, 0, 0, 112, 66, 0, 0, 242, 66, 0, 0, 112, 66, 0, 0, 244, 66, 0, 0, 112, 66, 0, 0, 246, 66, 0, 0, 112, 66, 0, 0, 248, 66, 0, 0, 112, 66, 0, 0, 250, 66, 0, 0, 112, 66, 0, 0, 252, 66, 0, 0, 112, 66, 0, 0, 254, 66, 0, 0, 112, 66, 0, 0, 0, 67, 0, 0, 112, 66, 0, 0, 1, 67, 0, 0, 112, 66, 0, 0, 2, 67, 0, 0, 112, 66, 0, 0, 3, 67, 0, 0, 112, 66, 0, 0, 4, 67, 0, 0, 112, 66, 0, 0, 5, 67, 0, 0, 112, 66, 0, 0, 6, 67, 0, 0, 112, 66, 0, 0, 7, 67, 0, 0, 112, 66, 0, 0, 8, 67, 0, 0, 112, 66, 0, 0, 9, 67, 0, 0, 112, 66, 0, 0, 10, 67, 0, 0, 112, 66, 0, 0, 11, 67, 0, 0, 112, 66, 0, 0, 12, 67, 0, 0, 112, 66, 0, 0, 13, 67, 0, 0, 112, 66, 0, 0, 14, 67, 0, 0, 112, 66, 0, 0, 15, 67, 0, 0, 112, 66, 0, 0, 16, 67, 0, 0, 112, 66, 0, 0, 17, 67, 0, 0, 112, 66, 0, 0, 18, 67, 0, 0, 112, 66, 0, 0, 19, 67, 0, 0, 112, 66, 0, 0, 20, 67, 0, 0, 112, 66, 0, 0, 21, 67, 0, 0, 112, 66, 0, 0, 22, 67, 0, 0, 112, 66, 0, 0, 23, 67, 0, 0, 112, 66, 0, 0, 24, 67, 0, 0, 112, 66, 0, 0, 25, 67, 0, 0, 112, 66, 0, 0, 26, 67, 0, 0, 112, 66, 0, 0, 27, 67, 0, 0, 112, 66, 0, 0, 28, 67, 0, 0, 112, 66, 0, 0, 29, 67, 0, 0, 112, 66, 0, 0, 30, 67, 0, 0, 112, 66, 0, 0, 31, 67, 0, 0, 112, 66, 0, 0, 32, 67, 0, 0, 112, 66, 0, 0, 33, 67, 0, 0, 112, 66, 0, 0, 34, 67, 0, 0, 112, 66, 0, 0, 35, 67, 0, 0, 112, 66, 0, 0, 36, 67, 0, 0, 112, 66, 0, 0, 37, 67, 0, 0, 112, 66, 0, 0, 38, 67, 0, 0, 112, 66, 0, 0, 39, 67, 0, 0, 112, 66, 0, 0, 40, 67, 0, 0, 112, 66, 0, 0, 41, 67, 0, 0, 112, 66, 0, 0, 42, 67, 0, 0, 112, 66, 0, 0, 43, 67, 0, 0, 112, 66, 0, 0, 44, 67, 0, 0, 112, 66, 0, 0, 45, 67, 0, 0, 112, 66, 0, 0, 46, 67, 0, 0, 112, 66, 0, 0, 47, 67, 0, 0, 112, 66, 0, 0, 48, 67, 0, 0, 112, 66, 0, 0, 49, 67, 0, 0, 112, 66, 0, 0, 50, 67, 0, 0, 112, 66, 0, 0, 51, 67, 0, 0, 112, 66, 0, 0, 52, 67, 0, 0, 112, 66, 0, 0, 53, 67, 0, 0, 112, 66, 0, 0, 54, 67, 0, 0, 112, 66, 0, 0, 55, 67, 0, 0, 116, 66, 0, 0, 184, 66, 0, 0, 116, 66, 0, 0, 186, 66, 0, 0, 116, 66, 0, 0, 188, 66, 0, 0, 116, 66, 0, 0, 190, 66, 0, 0, 116, 66, 0, 0, 192, 66, 0, 0, 116, 66, 0, 0, 194, 66, 0, 0, 116, 66, 0, 0, 196, 66, 0, 0, 116, 66, 0, 0, 198, 66, 0, 0, 116, 66, 0, 0, 200, 66, 0, 0, 116, 66, 0, 0, 202, 66, 0, 0, 116, 66, 0, 0, 204, 66, 0, 0, 116, 66, 0, 0, 206, 66, 0, 0, 116, 66, 0, 0, 208, 66, 0, 0, 116, 66, 0, 0, 210, 66, 0, 0, 116, 66, 0, 0, 212, 66, 0, 0, 116, 66, 0, 0, 214, 66, 0, 0, 116, 66, 0, 0, 216, 66, 0, 0, 116, 66, 0, 0, 218, 66, 0, 0, 116, 66, 0, 0, 220, 66, 0, 0, 116, 66, 0, 0, 222, 66, 0, 0, 116, 66, 0, 0, 224, 66, 0, 0, 116, 66, 0, 0, 226, 66, 0, 0, 116, 66, 0, 0, 228, 66, 0, 0, 116, 66, 0, 0, 230, 66, 0, 0, 116, 66, 0, 0, 232, 66, 0, 0, 116, 66, 0, 0, 234, 66, 0, 0, 116, 66, 0, 0, 236, 66, 0, 0, 116, 66, 0, 0, 238, 66, 0, 0, 116, 66, 0, 0, 240, 66, 0, 0, 116, 66, 0, 0, 242, 66, 0, 0, 116, 66, 0, 0, 244, 66, 0, 0, 116, 66, 0, 0, 246, 66, 0, 0, 116, 66, 0, 0, 248, 66, 0, 0, 116, 66, 0, 0, 250, 66, 0, 0, 116, 66, 0, 0, 252, 66, 0, 0, 116, 66, 0, 0, 254, 66, 0, 0, 116, 66, 0, 0, 0, 67, 0, 0, 116, 66, 0, 0, 1, 67, 0, 0, 116, 66, 0, 0, 2, 67, 0, 0, 116, 66, 0, 0, 3, 67, 0, 0, 116, 66, 0, 0, 4, 67, 0, 0, 116, 66, 0, 0, 5, 67, 0, 0, 116, 66, 0, 0, 6, 67, 0, 0, 116, 66, 0, 0, 7, 67, 0, 0, 116, 66, 0, 0, 8, 67, 0, 0, 116, 66, 0, 0, 9, 67, 0, 0, 116, 66, 0, 0, 10, 67, 0, 0, 116, 66, 0, 0, 11, 67, 0, 0, 116, 66, 0, 0, 12, 67, 0, 0, 116, 66, 0, 0, 13, 67, 0, 0, 116, 66, 0, 0, 14, 67, 0, 0, 116, 66, 0, 0, 15, 67, 0, 0, 116, 66, 0, 0, 16, 67, 0, 0, 116, 66, 0, 0, 17, 67, 0, 0, 116, 66, 0, 0, 18, 67, 0, 0, 116, 66, 0, 0, 19, 67, 0, 0, 116, 66, 0, 0, 20, 67, 0, 0, 116, 66, 0, 0, 21, 67, 0, 0, 116, 66, 0, 0, 22, 67, 0, 0, 116, 66, 0, 0, 23, 67, 0, 0, 116, 66, 0, 0, 24, 67, 0, 0, 116, 66, 0, 0, 25, 67, 0, 0, 116, 66, 0, 0, 26, 67, 0, 0, 116, 66, 0, 0, 27, 67, 0, 0, 116, 66, 0, 0, 28, 67, 0, 0, 116, 66, 0, 0, 29, 67, 0, 0, 116, 66, 0, 0, 30, 67, 0, 0, 116, 66, 0, 0, 31, 67, 0, 0, 116, 66, 0, 0, 32, 67, 0, 0, 116, 66, 0, 0, 33, 67, 0, 0, 116, 66, 0, 0, 34, 67, 0, 0, 116, 66, 0, 0, 35, 67, 0, 0, 116, 66, 0, 0, 36, 67, 0, 0, 116, 66, 0, 0, 37, 67, 0, 0, 116, 66, 0, 0, 38, 67, 0, 0, 116, 66, 0, 0, 39, 67, 0, 0, 116, 66, 0, 0, 40, 67, 0, 0, 116, 66, 0, 0, 41, 67, 0, 0, 116, 66, 0, 0, 42, 67, 0, 0, 116, 66, 0, 0, 43, 67, 0, 0, 116, 66, 0, 0, 44, 67, 0, 0, 116, 66, 0, 0, 45, 67, 0, 0, 116, 66, 0, 0, 46, 67, 0, 0, 116, 66, 0, 0, 47, 67, 0, 0, 116, 66, 0, 0, 48, 67, 0, 0, 116, 66, 0, 0, 49, 67, 0, 0, 116, 66, 0, 0, 50, 67, 0, 0, 116, 66, 0, 0, 51, 67, 0, 0, 116, 66, 0, 0, 52, 67, 0, 0, 116, 66, 0, 0, 53, 67, 0, 0, 116, 66, 0, 0, 54, 67, 0, 0, 116, 66, 0, 0, 55, 67, 0, 0, 120, 66, 0, 0, 184, 66, 0, 0, 120, 66, 0, 0, 186, 66, 0, 0, 120, 66, 0, 0, 188, 66, 0, 0, 120, 66, 0, 0, 190, 66, 0, 0, 120, 66, 0, 0, 192, 66, 0, 0, 120, 66, 0, 0, 194, 66, 0, 0, 120, 66, 0, 0, 196, 66, 0, 0, 120, 66, 0, 0, 198, 66, 0, 0, 120, 66, 0, 0, 200, 66, 0, 0, 120, 66, 0, 0, 202, 66, 0, 0, 120, 66, 0, 0, 204, 66, 0, 0, 120, 66, 0, 0, 206, 66, 0, 0, 120, 66, 0, 0, 208, 66, 0, 0, 120, 66, 0, 0, 210, 66, 0, 0, 120, 66, 0, 0, 212, 66, 0, 0, 120, 66, 0, 0, 214, 66, 0, 0, 120, 66, 0, 0, 216, 66, 0, 0, 120, 66, 0, 0, 0, 67, 0, 0, 120, 66, 0, 0, 1, 67, 0, 0, 120, 66, 0, 0, 2, 67, 0, 0, 120, 66, 0, 0, 3, 67, 0, 0, 120, 66, 0, 0, 4, 67, 0, 0, 120, 66, 0, 0, 5, 67, 0, 0, 120, 66, 0, 0, 6, 67, 0, 0, 120, 66, 0, 0, 7, 67, 0, 0, 120, 66, 0, 0, 8, 67, 0, 0, 120, 66, 0, 0, 9, 67, 0, 0, 120, 66, 0, 0, 10, 67, 0, 0, 120, 66, 0, 0, 11, 67, 0, 0, 120, 66, 0, 0, 12, 67, 0, 0, 120, 66, 0, 0, 13, 67, 0, 0, 120, 66, 0, 0, 40, 67, 0, 0, 120, 66, 0, 0, 41, 67, 0, 0, 120, 66, 0, 0, 42, 67, 0, 0, 120, 66, 0, 0, 43, 67, 0, 0, 120, 66, 0, 0, 44, 67, 0, 0, 120, 66, 0, 0, 45, 67, 0, 0, 120, 66, 0, 0, 46, 67, 0, 0, 120, 66, 0, 0, 47, 67, 0, 0, 120, 66, 0, 0, 48, 67, 0, 0, 120, 66, 0, 0, 49, 67, 0, 0, 120, 66, 0, 0, 50, 67, 0, 0, 120, 66, 0, 0, 51, 67, 0, 0, 120, 66, 0, 0, 52, 67, 0, 0, 120, 66, 0, 0, 53, 67, 0, 0, 120, 66, 0, 0, 54, 67, 0, 0, 120, 66, 0, 0, 55, 67, 0, 0, 124, 66, 0, 0, 184, 66, 0, 0, 124, 66, 0, 0, 186, 66, 0, 0, 124, 66, 0, 0, 188, 66, 0, 0, 124, 66, 0, 0, 190, 66, 0, 0, 124, 66, 0, 0, 192, 66, 0, 0, 124, 66, 0, 0, 194, 66, 0, 0, 124, 66, 0, 0, 196, 66, 0, 0, 124, 66, 0, 0, 198, 66, 0, 0, 124, 66, 0, 0, 200, 66, 0, 0, 124, 66, 0, 0, 202, 66, 0, 0, 124, 66, 0, 0, 204, 66, 0, 0, 124, 66, 0, 0, 206, 66, 0, 0, 124, 66, 0, 0, 208, 66, 0, 0, 124, 66, 0, 0, 210, 66, 0, 0, 124, 66, 0, 0, 212, 66, 0, 0, 124, 66, 0, 0, 0, 67, 0, 0, 124, 66, 0, 0, 1, 67, 0, 0, 124, 66, 0, 0, 2, 67, 0, 0, 124, 66, 0, 0, 3, 67, 0, 0, 124, 66, 0, 0, 4, 67, 0, 0, 124, 66, 0, 0, 5, 67, 0, 0, 124, 66, 0, 0, 6, 67, 0, 0, 124, 66, 0, 0, 7, 67, 0, 0, 124, 66, 0, 0, 8, 67, 0, 0, 124, 66, 0, 0, 9, 67, 0, 0, 124, 66, 0, 0, 10, 67, 0, 0, 124, 66, 0, 0, 11, 67, 0, 0, 124, 66, 0, 0, 12, 67, 0, 0, 124, 66, 0, 0, 13, 67, 0, 0, 124, 66, 0, 0, 41, 67, 0, 0, 124, 66, 0, 0, 42, 67, 0, 0, 124, 66, 0, 0, 43, 67, 0, 0, 124, 66, 0, 0, 44, 67, 0, 0, 124, 66, 0, 0, 45, 67, 0, 0, 124, 66, 0, 0, 46, 67, 0, 0, 124, 66, 0, 0, 47, 67, 0, 0, 124, 66, 0, 0, 48, 67, 0, 0, 124, 66, 0, 0, 49, 67, 0, 0, 124, 66, 0, 0, 50, 67, 0, 0, 124, 66, 0, 0, 51, 67, 0, 0, 124, 66, 0, 0, 52, 67, 0, 0, 124, 66, 0, 0, 53, 67, 0, 0, 124, 66, 0, 0, 54, 67, 0, 0, 124, 66, 0, 0, 55, 67, 0, 0, 128, 66, 0, 0, 184, 66, 0, 0, 128, 66, 0, 0, 186, 66, 0, 0, 128, 66, 0, 0, 188, 66, 0, 0, 128, 66, 0, 0, 190, 66, 0, 0, 128, 66, 0, 0, 192, 66, 0, 0, 128, 66, 0, 0, 194, 66, 0, 0, 128, 66, 0, 0, 196, 66, 0, 0, 128, 66, 0, 0, 198, 66, 0, 0, 128, 66, 0, 0, 200, 66, 0, 0, 128, 66, 0, 0, 202, 66, 0, 0, 128, 66, 0, 0, 204, 66, 0, 0, 128, 66, 0, 0, 206, 66, 0, 0, 128, 66, 0, 0, 208, 66, 0, 0, 128, 66, 0, 0, 210, 66, 0, 0, 128, 66, 0, 0, 0, 67, 0, 0, 128, 66, 0, 0, 1, 67, 0, 0, 128, 66, 0, 0, 2, 67, 0, 0, 128, 66, 0, 0, 3, 67, 0, 0, 128, 66, 0, 0, 4, 67, 0, 0, 128, 66, 0, 0, 5, 67, 0, 0, 128, 66, 0, 0, 6, 67, 0, 0, 128, 66, 0, 0, 7, 67, 0, 0, 128, 66, 0, 0, 8, 67, 0, 0, 128, 66, 0, 0, 9, 67, 0, 0, 128, 66, 0, 0, 10, 67, 0, 0, 128, 66, 0, 0, 11, 67, 0, 0, 128, 66, 0, 0, 12, 67, 0, 0, 128, 66, 0, 0, 13, 67, 0, 0, 128, 66, 0, 0, 43, 67, 0, 0, 128, 66, 0, 0, 44, 67, 0, 0, 128, 66, 0, 0, 45, 67, 0, 0, 128, 66, 0, 0, 46, 67, 0, 0, 128, 66, 0, 0, 47, 67, 0, 0, 128, 66, 0, 0, 48, 67, 0, 0, 128, 66, 0, 0, 49, 67, 0, 0, 128, 66, 0, 0, 50, 67, 0, 0, 128, 66, 0, 0, 51, 67, 0, 0, 128, 66, 0, 0, 52, 67, 0, 0, 128, 66, 0, 0, 53, 67, 0, 0, 128, 66, 0, 0, 54, 67, 0, 0, 128, 66, 0, 0, 55, 67, 0, 0, 130, 66, 0, 0, 184, 66, 0, 0, 130, 66, 0, 0, 186, 66, 0, 0, 130, 66, 0, 0, 188, 66, 0, 0, 130, 66, 0, 0, 190, 66, 0, 0, 130, 66, 0, 0, 192, 66, 0, 0, 130, 66, 0, 0, 194, 66, 0, 0, 130, 66, 0, 0, 196, 66, 0, 0, 130, 66, 0, 0, 198, 66, 0, 0, 130, 66, 0, 0, 200, 66, 0, 0, 130, 66, 0, 0, 202, 66, 0, 0, 130, 66, 0, 0, 204, 66, 0, 0, 130, 66, 0, 0, 206, 66, 0, 0, 130, 66, 0, 0, 208, 66, 0, 0, 130, 66, 0, 0, 0, 67, 0, 0, 130, 66, 0, 0, 1, 67, 0, 0, 130, 66, 0, 0, 2, 67, 0, 0, 130, 66, 0, 0, 3, 67, 0, 0, 130, 66, 0, 0, 4, 67, 0, 0, 130, 66, 0, 0, 5, 67, 0, 0, 130, 66, 0, 0, 6, 67, 0, 0, 130, 66, 0, 0, 7, 67, 0, 0, 130, 66, 0, 0, 8, 67, 0, 0, 130, 66, 0, 0, 9, 67, 0, 0, 130, 66, 0, 0, 10, 67, 0, 0, 130, 66, 0, 0, 11, 67, 0, 0, 130, 66, 0, 0, 12, 67, 0, 0, 130, 66, 0, 0, 13, 67, 0, 0, 130, 66, 0, 0, 43, 67, 0, 0, 130, 66, 0, 0, 44, 67, 0, 0, 130, 66, 0, 0, 45, 67, 0, 0, 130, 66, 0, 0, 46, 67, 0, 0, 130, 66, 0, 0, 47, 67, 0, 0, 130, 66, 0, 0, 48, 67, 0, 0, 130, 66, 0, 0, 49, 67, 0, 0, 130, 66, 0, 0, 50, 67, 0, 0, 130, 66, 0, 0, 51, 67, 0, 0, 130, 66, 0, 0, 52, 67, 0, 0, 130, 66, 0, 0, 53, 67, 0, 0, 130, 66, 0, 0, 54, 67, 0, 0, 130, 66, 0, 0, 55, 67, 0, 0, 132, 66, 0, 0, 184, 66, 0, 0, 132, 66, 0, 0, 186, 66, 0, 0, 132, 66, 0, 0, 188, 66, 0, 0, 132, 66, 0, 0, 190, 66, 0, 0, 132, 66, 0, 0, 192, 66, 0, 0, 132, 66, 0, 0, 194, 66, 0, 0, 132, 66, 0, 0, 196, 66, 0, 0, 132, 66, 0, 0, 198, 66, 0, 0, 132, 66, 0, 0, 200, 66, 0, 0, 132, 66, 0, 0, 202, 66, 0, 0, 132, 66, 0, 0, 204, 66, 0, 0, 132, 66, 0, 0, 206, 66, 0, 0, 132, 66, 0, 0, 0, 67, 0, 0, 132, 66, 0, 0, 1, 67, 0, 0, 132, 66, 0, 0, 2, 67, 0, 0, 132, 66, 0, 0, 3, 67, 0, 0, 132, 66, 0, 0, 4, 67, 0, 0, 132, 66, 0, 0, 5, 67, 0, 0, 132, 66, 0, 0, 6, 67, 0, 0, 132, 66, 0, 0, 7, 67, 0, 0, 132, 66, 0, 0, 8, 67, 0, 0, 132, 66, 0, 0, 9, 67, 0, 0, 132, 66, 0, 0, 10, 67, 0, 0, 132, 66, 0, 0, 11, 67, 0, 0, 132, 66, 0, 0, 12, 67, 0, 0, 132, 66, 0, 0, 13, 67, 0, 0, 132, 66, 0, 0, 44, 67, 0, 0, 132, 66, 0, 0, 45, 67, 0, 0, 132, 66, 0, 0, 46, 67, 0, 0, 132, 66, 0, 0, 47, 67, 0, 0, 132, 66, 0, 0, 48, 67, 0, 0, 132, 66, 0, 0, 49, 67, 0, 0, 132, 66, 0, 0, 50, 67, 0, 0, 132, 66, 0, 0, 51, 67, 0, 0, 132, 66, 0, 0, 52, 67, 0, 0, 132, 66, 0, 0, 53, 67, 0, 0, 132, 66, 0, 0, 54, 67, 0, 0, 132, 66, 0, 0, 55, 67, 0, 0, 134, 66, 0, 0, 184, 66, 0, 0, 134, 66, 0, 0, 186, 66, 0, 0, 134, 66, 0, 0, 188, 66, 0, 0, 134, 66, 0, 0, 190, 66, 0, 0, 134, 66, 0, 0, 192, 66, 0, 0, 134, 66, 0, 0, 194, 66, 0, 0, 134, 66, 0, 0, 196, 66, 0, 0, 134, 66, 0, 0, 198, 66, 0, 0, 134, 66, 0, 0, 200, 66, 0, 0, 134, 66, 0, 0, 202, 66, 0, 0, 134, 66, 0, 0, 204, 66, 0, 0, 134, 66, 0, 0, 206, 66, 0, 0, 134, 66, 0, 0, 0, 67, 0, 0, 134, 66, 0, 0, 1, 67, 0, 0, 134, 66, 0, 0, 2, 67, 0, 0, 134, 66, 0, 0, 3, 67, 0, 0, 134, 66, 0, 0, 4, 67, 0, 0, 134, 66, 0, 0, 5, 67, 0, 0, 134, 66, 0, 0, 6, 67, 0, 0, 134, 66, 0, 0, 7, 67, 0, 0, 134, 66, 0, 0, 8, 67, 0, 0, 134, 66, 0, 0, 9, 67, 0, 0, 134, 66, 0, 0, 10, 67, 0, 0, 134, 66, 0, 0, 11, 67, 0, 0, 134, 66, 0, 0, 12, 67, 0, 0, 134, 66, 0, 0, 13, 67, 0, 0, 134, 66, 0, 0, 44, 67, 0, 0, 134, 66, 0, 0, 45, 67, 0, 0, 134, 66, 0, 0, 46, 67, 0, 0, 134, 66, 0, 0, 47, 67, 0, 0, 134, 66, 0, 0, 48, 67, 0, 0, 134, 66, 0, 0, 49, 67, 0, 0, 134, 66, 0, 0, 50, 67, 0, 0, 134, 66, 0, 0, 51, 67, 0, 0, 134, 66, 0, 0, 52, 67, 0, 0, 134, 66, 0, 0, 53, 67, 0, 0, 134, 66, 0, 0, 54, 67, 0, 0, 134, 66, 0, 0, 55, 67, 0, 0, 136, 66, 0, 0, 184, 66, 0, 0, 136, 66, 0, 0, 186, 66, 0, 0, 136, 66, 0, 0, 188, 66, 0, 0, 136, 66, 0, 0, 190, 66, 0, 0, 136, 66, 0, 0, 192, 66, 0, 0, 136, 66, 0, 0, 194, 66, 0, 0, 136, 66, 0, 0, 196, 66, 0, 0, 136, 66, 0, 0, 198, 66, 0, 0, 136, 66, 0, 0, 200, 66, 0, 0, 136, 66, 0, 0, 202, 66, 0, 0, 136, 66, 0, 0, 204, 66, 0, 0, 136, 66, 0, 0, 206, 66, 0, 0, 136, 66, 0, 0, 0, 67, 0, 0, 136, 66, 0, 0, 1, 67, 0, 0, 136, 66, 0, 0, 2, 67, 0, 0, 136, 66, 0, 0, 3, 67, 0, 0, 136, 66, 0, 0, 4, 67, 0, 0, 136, 66, 0, 0, 5, 67, 0, 0, 136, 66, 0, 0, 6, 67, 0, 0, 136, 66, 0, 0, 7, 67, 0, 0, 136, 66, 0, 0, 8, 67, 0, 0, 136, 66, 0, 0, 9, 67, 0, 0, 136, 66, 0, 0, 10, 67, 0, 0, 136, 66, 0, 0, 11, 67, 0, 0, 136, 66, 0, 0, 12, 67, 0, 0, 136, 66, 0, 0, 13, 67, 0, 0, 136, 66, 0, 0, 44, 67, 0, 0, 136, 66, 0, 0, 45, 67, 0, 0, 136, 66, 0, 0, 46, 67, 0, 0, 136, 66, 0, 0, 47, 67, 0, 0, 136, 66, 0, 0, 48, 67, 0, 0, 136, 66, 0, 0, 49, 67, 0, 0, 136, 66, 0, 0, 50, 67, 0, 0, 136, 66, 0, 0, 51, 67, 0, 0, 136, 66, 0, 0, 52, 67, 0, 0, 136, 66, 0, 0, 53, 67, 0, 0, 136, 66, 0, 0, 54, 67, 0, 0, 136, 66, 0, 0, 55, 67, 0, 0, 138, 66, 0, 0, 184, 66, 0, 0, 138, 66, 0, 0, 186, 66, 0, 0, 138, 66, 0, 0, 188, 66, 0, 0, 138, 66, 0, 0, 190, 66, 0, 0, 138, 66, 0, 0, 192, 66, 0, 0, 138, 66, 0, 0, 194, 66, 0, 0, 138, 66, 0, 0, 196, 66, 0, 0, 138, 66, 0, 0, 198, 66, 0, 0, 138, 66, 0, 0, 200, 66, 0, 0, 138, 66, 0, 0, 202, 66, 0, 0, 138, 66, 0, 0, 204, 66, 0, 0, 138, 66, 0, 0, 206, 66, 0, 0, 138, 66, 0, 0, 0, 67, 0, 0, 138, 66, 0, 0, 1, 67, 0, 0, 138, 66, 0, 0, 2, 67, 0, 0, 138, 66, 0, 0, 3, 67, 0, 0, 138, 66, 0, 0, 4, 67, 0, 0, 138, 66, 0, 0, 5, 67, 0, 0, 138, 66, 0, 0, 6, 67, 0, 0, 138, 66, 0, 0, 7, 67, 0, 0, 138, 66, 0, 0, 8, 67, 0, 0, 138, 66, 0, 0, 9, 67, 0, 0, 138, 66, 0, 0, 10, 67, 0, 0, 138, 66, 0, 0, 11, 67, 0, 0, 138, 66, 0, 0, 12, 67, 0, 0, 138, 66, 0, 0, 13, 67, 0, 0, 138, 66, 0, 0, 44, 67, 0, 0, 138, 66, 0, 0, 45, 67, 0, 0, 138, 66, 0, 0, 46, 67, 0, 0, 138, 66, 0, 0, 47, 67, 0, 0, 138, 66, 0, 0, 48, 67, 0, 0, 138, 66, 0, 0, 49, 67, 0, 0, 138, 66, 0, 0, 50, 67, 0, 0, 138, 66, 0, 0, 51, 67, 0, 0, 138, 66, 0, 0, 52, 67, 0, 0, 138, 66, 0, 0, 53, 67, 0, 0, 138, 66, 0, 0, 54, 67, 0, 0, 138, 66, 0, 0, 55, 67, 0, 0, 140, 66, 0, 0, 184, 66, 0, 0, 140, 66, 0, 0, 186, 66, 0, 0, 140, 66, 0, 0, 188, 66, 0, 0, 140, 66, 0, 0, 190, 66, 0, 0, 140, 66, 0, 0, 192, 66, 0, 0, 140, 66, 0, 0, 194, 66, 0, 0, 140, 66, 0, 0, 196, 66, 0, 0, 140, 66, 0, 0, 198, 66, 0, 0, 140, 66, 0, 0, 200, 66, 0, 0, 140, 66, 0, 0, 202, 66, 0, 0, 140, 66, 0, 0, 204, 66, 0, 0, 140, 66, 0, 0, 206, 66, 0, 0, 140, 66, 0, 0, 0, 67, 0, 0, 140, 66, 0, 0, 1, 67, 0, 0, 140, 66, 0, 0, 2, 67, 0, 0, 140, 66, 0, 0, 3, 67, 0, 0, 140, 66, 0, 0, 4, 67, 0, 0, 140, 66, 0, 0, 5, 67, 0, 0, 140, 66, 0, 0, 6, 67, 0, 0, 140, 66, 0, 0, 7, 67, 0, 0, 140, 66, 0, 0, 8, 67, 0, 0, 140, 66, 0, 0, 9, 67, 0, 0, 140, 66, 0, 0, 10, 67, 0, 0, 140, 66, 0, 0, 11, 67, 0, 0, 140, 66, 0, 0, 12, 67, 0, 0, 140, 66, 0, 0, 13, 67, 0, 0, 140, 66, 0, 0, 45, 67, 0, 0, 140, 66, 0, 0, 46, 67, 0, 0, 140, 66, 0, 0, 47, 67, 0, 0, 140, 66, 0, 0, 48, 67, 0, 0, 140, 66, 0, 0, 49, 67, 0, 0, 140, 66, 0, 0, 50, 67, 0, 0, 140, 66, 0, 0, 51, 67, 0, 0, 140, 66, 0, 0, 52, 67, 0, 0, 140, 66, 0, 0, 53, 67, 0, 0, 140, 66, 0, 0, 54, 67, 0, 0, 140, 66, 0, 0, 55, 67, 0, 0, 142, 66, 0, 0, 184, 66, 0, 0, 142, 66, 0, 0, 186, 66, 0, 0, 142, 66, 0, 0, 188, 66, 0, 0, 142, 66, 0, 0, 190, 66, 0, 0, 142, 66, 0, 0, 192, 66, 0, 0, 142, 66, 0, 0, 194, 66, 0, 0, 142, 66, 0, 0, 196, 66, 0, 0, 142, 66, 0, 0, 198, 66, 0, 0, 142, 66, 0, 0, 200, 66, 0, 0, 142, 66, 0, 0, 202, 66, 0, 0, 142, 66, 0, 0, 204, 66, 0, 0, 142, 66, 0, 0, 206, 66, 0, 0, 142, 66, 0, 0, 0, 67, 0, 0, 142, 66, 0, 0, 1, 67, 0, 0, 142, 66, 0, 0, 2, 67, 0, 0, 142, 66, 0, 0, 3, 67, 0, 0, 142, 66, 0, 0, 4, 67, 0, 0, 142, 66, 0, 0, 5, 67, 0, 0, 142, 66, 0, 0, 6, 67, 0, 0, 142, 66, 0, 0, 7, 67, 0, 0, 142, 66, 0, 0, 8, 67, 0, 0, 142, 66, 0, 0, 9, 67, 0, 0, 142, 66, 0, 0, 10, 67, 0, 0, 142, 66, 0, 0, 11, 67, 0, 0, 142, 66, 0, 0, 12, 67, 0, 0, 142, 66, 0, 0, 13, 67, 0, 0, 142, 66, 0, 0, 45, 67, 0, 0, 142, 66, 0, 0, 46, 67, 0, 0, 142, 66, 0, 0, 47, 67, 0, 0, 142, 66, 0, 0, 48, 67, 0, 0, 142, 66, 0, 0, 49, 67, 0, 0, 142, 66, 0, 0, 50, 67, 0, 0, 142, 66, 0, 0, 51, 67, 0, 0, 142, 66, 0, 0, 52, 67, 0, 0, 142, 66, 0, 0, 53, 67, 0, 0, 142, 66, 0, 0, 54, 67, 0, 0, 142, 66, 0, 0, 55, 67, 0, 0, 144, 66, 0, 0, 184, 66, 0, 0, 144, 66, 0, 0, 186, 66, 0, 0, 144, 66, 0, 0, 188, 66, 0, 0, 144, 66, 0, 0, 190, 66, 0, 0, 144, 66, 0, 0, 192, 66, 0, 0, 144, 66, 0, 0, 194, 66, 0, 0, 144, 66, 0, 0, 196, 66, 0, 0, 144, 66, 0, 0, 198, 66, 0, 0, 144, 66, 0, 0, 200, 66, 0, 0, 144, 66, 0, 0, 202, 66, 0, 0, 144, 66, 0, 0, 204, 66, 0, 0, 144, 66, 0, 0, 0, 67, 0, 0, 144, 66, 0, 0, 1, 67, 0, 0, 144, 66, 0, 0, 2, 67, 0, 0, 144, 66, 0, 0, 3, 67, 0, 0, 144, 66, 0, 0, 4, 67, 0, 0, 144, 66, 0, 0, 5, 67, 0, 0, 144, 66, 0, 0, 6, 67, 0, 0, 144, 66, 0, 0, 7, 67, 0, 0, 144, 66, 0, 0, 8, 67, 0, 0, 144, 66, 0, 0, 9, 67, 0, 0, 144, 66, 0, 0, 10, 67, 0, 0, 144, 66, 0, 0, 11, 67, 0, 0, 144, 66, 0, 0, 12, 67, 0, 0, 144, 66, 0, 0, 13, 67, 0, 0, 144, 66, 0, 0, 45, 67, 0, 0, 144, 66, 0, 0, 46, 67, 0, 0, 144, 66, 0, 0, 47, 67, 0, 0, 144, 66, 0, 0, 48, 67, 0, 0, 144, 66, 0, 0, 49, 67, 0, 0, 144, 66, 0, 0, 50, 67, 0, 0, 144, 66, 0, 0, 51, 67, 0, 0, 144, 66, 0, 0, 52, 67, 0, 0, 144, 66, 0, 0, 53, 67, 0, 0, 144, 66, 0, 0, 54, 67, 0, 0, 144, 66, 0, 0, 55, 67, 0, 0, 146, 66, 0, 0, 184, 66, 0, 0, 146, 66, 0, 0, 186, 66, 0, 0, 146, 66, 0, 0, 188, 66, 0, 0, 146, 66, 0, 0, 190, 66, 0, 0, 146, 66, 0, 0, 192, 66, 0, 0, 146, 66, 0, 0, 194, 66, 0, 0, 146, 66, 0, 0, 196, 66, 0, 0, 146, 66, 0, 0, 198, 66, 0, 0, 146, 66, 0, 0, 200, 66, 0, 0, 146, 66, 0, 0, 202, 66, 0, 0, 146, 66, 0, 0, 0, 67, 0, 0, 146, 66, 0, 0, 1, 67, 0, 0, 146, 66, 0, 0, 2, 67, 0, 0, 146, 66, 0, 0, 3, 67, 0, 0, 146, 66, 0, 0, 4, 67, 0, 0, 146, 66, 0, 0, 5, 67, 0, 0, 146, 66, 0, 0, 6, 67, 0, 0, 146, 66, 0, 0, 7, 67, 0, 0, 146, 66, 0, 0, 8, 67, 0, 0, 146, 66, 0, 0, 9, 67, 0, 0, 146, 66, 0, 0, 10, 67, 0, 0, 146, 66, 0, 0, 11, 67, 0, 0, 146, 66, 0, 0, 12, 67, 0, 0, 146, 66, 0, 0, 13, 67, 0, 0, 146, 66, 0, 0, 46, 67, 0, 0, 146, 66, 0, 0, 47, 67, 0, 0, 146, 66, 0, 0, 48, 67, 0, 0, 146, 66, 0, 0, 49, 67, 0, 0, 146, 66, 0, 0, 50, 67, 0, 0, 146, 66, 0, 0, 51, 67, 0, 0, 146, 66, 0, 0, 52, 67, 0, 0, 146, 66, 0, 0, 53, 67, 0, 0, 146, 66, 0, 0, 54, 67, 0, 0, 146, 66, 0, 0, 55, 67, 0, 0, 148, 66, 0, 0, 0, 67, 0, 0, 148, 66, 0, 0, 1, 67, 0, 0, 148, 66, 0, 0, 2, 67, 0, 0, 148, 66, 0, 0, 3, 67, 0, 0, 148, 66, 0, 0, 4, 67, 0, 0, 148, 66, 0, 0, 5, 67, 0, 0, 148, 66, 0, 0, 6, 67, 0, 0, 148, 66, 0, 0, 7, 67, 0, 0, 148, 66, 0, 0, 8, 67, 0, 0, 148, 66, 0, 0, 9, 67, 0, 0, 148, 66, 0, 0, 10, 67, 0, 0, 148, 66, 0, 0, 11, 67, 0, 0, 148, 66, 0, 0, 12, 67, 0, 0, 148, 66, 0, 0, 13, 67, 0, 0, 150, 66, 0, 0, 0, 67, 0, 0, 150, 66, 0, 0, 1, 67, 0, 0, 150, 66, 0, 0, 2, 67, 0, 0, 150, 66, 0, 0, 3, 67, 0, 0, 150, 66, 0, 0, 4, 67, 0, 0, 150, 66, 0, 0, 5, 67, 0, 0, 150, 66, 0, 0, 6, 67, 0, 0, 150, 66, 0, 0, 7, 67, 0, 0, 150, 66, 0, 0, 8, 67, 0, 0, 150, 66, 0, 0, 9, 67, 0, 0, 150, 66, 0, 0, 10, 67, 0, 0, 150, 66, 0, 0, 11, 67, 0, 0, 150, 66, 0, 0, 12, 67, 0, 0, 150, 66, 0, 0, 13, 67, 0, 0, 152, 66, 0, 0, 0, 67, 0, 0, 152, 66, 0, 0, 1, 67, 0, 0, 152, 66, 0, 0, 2, 67, 0, 0, 152, 66, 0, 0, 3, 67, 0, 0, 152, 66, 0, 0, 4, 67, 0, 0, 152, 66, 0, 0, 5, 67, 0, 0, 152, 66, 0, 0, 6, 67, 0, 0, 152, 66, 0, 0, 7, 67, 0, 0, 152, 66, 0, 0, 8, 67, 0, 0, 152, 66, 0, 0, 9, 67, 0, 0, 152, 66, 0, 0, 10, 67, 0, 0, 152, 66, 0, 0, 11, 67, 0, 0, 152, 66, 0, 0, 12, 67, 0, 0, 152, 66, 0, 0, 13, 67, 0, 0, 154, 66, 0, 0, 0, 67, 0, 0, 154, 66, 0, 0, 1, 67, 0, 0, 154, 66, 0, 0, 2, 67, 0, 0, 154, 66, 0, 0, 3, 67, 0, 0, 154, 66, 0, 0, 4, 67, 0, 0, 154, 66, 0, 0, 5, 67, 0, 0, 154, 66, 0, 0, 6, 67, 0, 0, 154, 66, 0, 0, 7, 67, 0, 0, 154, 66, 0, 0, 8, 67, 0, 0, 154, 66, 0, 0, 9, 67, 0, 0, 154, 66, 0, 0, 10, 67, 0, 0, 154, 66, 0, 0, 11, 67, 0, 0, 154, 66, 0, 0, 12, 67, 0, 0, 154, 66, 0, 0, 13, 67, 0, 0, 156, 66, 0, 0, 0, 67, 0, 0, 156, 66, 0, 0, 1, 67, 0, 0, 156, 66, 0, 0, 2, 67, 0, 0, 156, 66, 0, 0, 3, 67, 0, 0, 156, 66, 0, 0, 4, 67, 0, 0, 156, 66, 0, 0, 5, 67, 0, 0, 156, 66, 0, 0, 6, 67, 0, 0, 156, 66, 0, 0, 7, 67, 0, 0, 156, 66, 0, 0, 8, 67, 0, 0, 156, 66, 0, 0, 9, 67, 0, 0, 156, 66, 0, 0, 10, 67, 0, 0, 156, 66, 0, 0, 11, 67, 0, 0, 156, 66, 0, 0, 12, 67, 0, 0, 156, 66, 0, 0, 13, 67, 0, 0, 158, 66, 0, 0, 0, 67, 0, 0, 158, 66, 0, 0, 1, 67, 0, 0, 158, 66, 0, 0, 2, 67, 0, 0, 158, 66, 0, 0, 3, 67, 0, 0, 158, 66, 0, 0, 4, 67, 0, 0, 158, 66, 0, 0, 5, 67, 0, 0, 158, 66, 0, 0, 6, 67, 0, 0, 158, 66, 0, 0, 7, 67, 0, 0, 158, 66, 0, 0, 8, 67, 0, 0, 158, 66, 0, 0, 9, 67, 0, 0, 158, 66, 0, 0, 10, 67, 0, 0, 158, 66, 0, 0, 11, 67, 0, 0, 158, 66, 0, 0, 12, 67, 0, 0, 158, 66, 0, 0, 13, 67, 0, 0, 160, 66, 0, 0, 0, 67, 0, 0, 160, 66, 0, 0, 1, 67, 0, 0, 160, 66, 0, 0, 2, 67, 0, 0, 160, 66, 0, 0, 3, 67, 0, 0, 160, 66, 0, 0, 4, 67, 0, 0, 160, 66, 0, 0, 5, 67, 0, 0, 160, 66, 0, 0, 6, 67, 0, 0, 160, 66, 0, 0, 7, 67, 0, 0, 160, 66, 0, 0, 8, 67, 0, 0, 160, 66, 0, 0, 9, 67, 0, 0, 160, 66, 0, 0, 10, 67, 0, 0, 160, 66, 0, 0, 11, 67, 0, 0, 160, 66, 0, 0, 12, 67, 0, 0, 160, 66, 0, 0, 13, 67, 0, 0, 162, 66, 0, 0, 0, 67, 0, 0, 162, 66, 0, 0, 1, 67, 0, 0, 162, 66, 0, 0, 2, 67, 0, 0, 162, 66, 0, 0, 3, 67, 0, 0, 162, 66, 0, 0, 4, 67, 0, 0, 162, 66, 0, 0, 5, 67, 0, 0, 162, 66, 0, 0, 6, 67, 0, 0, 162, 66, 0, 0, 7, 67, 0, 0, 162, 66, 0, 0, 8, 67, 0, 0, 162, 66, 0, 0, 9, 67, 0, 0, 162, 66, 0, 0, 10, 67, 0, 0, 162, 66, 0, 0, 11, 67, 0, 0, 162, 66, 0, 0, 12, 67, 0, 0, 162, 66, 0, 0, 13, 67, 0, 0, 164, 66, 0, 0, 0, 67, 0, 0, 164, 66, 0, 0, 1, 67, 0, 0, 164, 66, 0, 0, 2, 67, 0, 0, 164, 66, 0, 0, 3, 67, 0, 0, 164, 66, 0, 0, 4, 67, 0, 0, 164, 66, 0, 0, 5, 67, 0, 0, 164, 66, 0, 0, 6, 67, 0, 0, 164, 66, 0, 0, 7, 67, 0, 0, 164, 66, 0, 0, 8, 67, 0, 0, 164, 66, 0, 0, 9, 67, 0, 0, 164, 66, 0, 0, 10, 67, 0, 0, 164, 66, 0, 0, 11, 67, 0, 0, 164, 66, 0, 0, 12, 67, 0, 0, 164, 66, 0, 0, 13, 67, 0, 0, 166, 66, 0, 0, 0, 67, 0, 0, 166, 66, 0, 0, 1, 67, 0, 0, 166, 66, 0, 0, 2, 67, 0, 0, 166, 66, 0, 0, 3, 67, 0, 0, 166, 66, 0, 0, 4, 67, 0, 0, 166, 66, 0, 0, 5, 67, 0, 0, 166, 66, 0, 0, 6, 67, 0, 0, 166, 66, 0, 0, 7, 67, 0, 0, 166, 66, 0, 0, 8, 67, 0, 0, 166, 66, 0, 0, 9, 67, 0, 0, 166, 66, 0, 0, 10, 67, 0, 0, 166, 66, 0, 0, 11, 67, 0, 0, 166, 66, 0, 0, 12, 67, 0, 0, 166, 66, 0, 0, 13, 67, 0, 0, 168, 66, 0, 0, 184, 66, 0, 0, 168, 66, 0, 0, 186, 66, 0, 0, 168, 66, 0, 0, 188, 66, 0, 0, 168, 66, 0, 0, 190, 66, 0, 0, 168, 66, 0, 0, 192, 66, 0, 0, 168, 66, 0, 0, 194, 66, 0, 0, 168, 66, 0, 0, 196, 66, 0, 0, 168, 66, 0, 0, 198, 66, 0, 0, 168, 66, 0, 0, 200, 66, 0, 0, 168, 66, 0, 0, 202, 66, 0, 0, 168, 66, 0, 0, 0, 67, 0, 0, 168, 66, 0, 0, 1, 67, 0, 0, 168, 66, 0, 0, 2, 67, 0, 0, 168, 66, 0, 0, 3, 67, 0, 0, 168, 66, 0, 0, 4, 67, 0, 0, 168, 66, 0, 0, 5, 67, 0, 0, 168, 66, 0, 0, 6, 67, 0, 0, 168, 66, 0, 0, 7, 67, 0, 0, 168, 66, 0, 0, 8, 67, 0, 0, 168, 66, 0, 0, 9, 67, 0, 0, 168, 66, 0, 0, 10, 67, 0, 0, 168, 66, 0, 0, 11, 67, 0, 0, 168, 66, 0, 0, 12, 67, 0, 0, 168, 66, 0, 0, 13, 67, 0, 0, 168, 66, 0, 0, 46, 67, 0, 0, 168, 66, 0, 0, 47, 67, 0, 0, 168, 66, 0, 0, 48, 67, 0, 0, 168, 66, 0, 0, 49, 67, 0, 0, 168, 66, 0, 0, 50, 67, 0, 0, 168, 66, 0, 0, 51, 67, 0, 0, 168, 66, 0, 0, 52, 67, 0, 0, 168, 66, 0, 0, 53, 67, 0, 0, 168, 66, 0, 0, 54, 67, 0, 0, 168, 66, 0, 0, 55, 67, 0, 0, 170, 66, 0, 0, 184, 66, 0, 0, 170, 66, 0, 0, 186, 66, 0, 0, 170, 66, 0, 0, 188, 66, 0, 0, 170, 66, 0, 0, 190, 66, 0, 0, 170, 66, 0, 0, 192, 66, 0, 0, 170, 66, 0, 0, 194, 66, 0, 0, 170, 66, 0, 0, 196, 66, 0, 0, 170, 66, 0, 0, 198, 66, 0, 0, 170, 66, 0, 0, 200, 66, 0, 0, 170, 66, 0, 0, 202, 66, 0, 0, 170, 66, 0, 0, 204, 66, 0, 0, 170, 66, 0, 0, 0, 67, 0, 0, 170, 66, 0, 0, 1, 67, 0, 0, 170, 66, 0, 0, 2, 67, 0, 0, 170, 66, 0, 0, 3, 67, 0, 0, 170, 66, 0, 0, 4, 67, 0, 0, 170, 66, 0, 0, 5, 67, 0, 0, 170, 66, 0, 0, 6, 67, 0, 0, 170, 66, 0, 0, 7, 67, 0, 0, 170, 66, 0, 0, 8, 67, 0, 0, 170, 66, 0, 0, 9, 67, 0, 0, 170, 66, 0, 0, 10, 67, 0, 0, 170, 66, 0, 0, 11, 67, 0, 0, 170, 66, 0, 0, 12, 67, 0, 0, 170, 66, 0, 0, 13, 67, 0, 0, 170, 66, 0, 0, 45, 67, 0, 0, 170, 66, 0, 0, 46, 67, 0, 0, 170, 66, 0, 0, 47, 67, 0, 0, 170, 66, 0, 0, 48, 67, 0, 0, 170, 66, 0, 0, 49, 67, 0, 0, 170, 66, 0, 0, 50, 67, 0, 0, 170, 66, 0, 0, 51, 67, 0, 0, 170, 66, 0, 0, 52, 67, 0, 0, 170, 66, 0, 0, 53, 67, 0, 0, 170, 66, 0, 0, 54, 67, 0, 0, 170, 66, 0, 0, 55, 67, 0, 0, 172, 66, 0, 0, 184, 66, 0, 0, 172, 66, 0, 0, 186, 66, 0, 0, 172, 66, 0, 0, 188, 66, 0, 0, 172, 66, 0, 0, 190, 66, 0, 0, 172, 66, 0, 0, 192, 66, 0, 0, 172, 66, 0, 0, 194, 66, 0, 0, 172, 66, 0, 0, 196, 66, 0, 0, 172, 66, 0, 0, 198, 66, 0, 0, 172, 66, 0, 0, 200, 66, 0, 0, 172, 66, 0, 0, 202, 66, 0, 0, 172, 66, 0, 0, 204, 66, 0, 0, 172, 66, 0, 0, 206, 66, 0, 0, 172, 66, 0, 0, 0, 67, 0, 0, 172, 66, 0, 0, 1, 67, 0, 0, 172, 66, 0, 0, 2, 67, 0, 0, 172, 66, 0, 0, 3, 67, 0, 0, 172, 66, 0, 0, 4, 67, 0, 0, 172, 66, 0, 0, 5, 67, 0, 0, 172, 66, 0, 0, 6, 67, 0, 0, 172, 66, 0, 0, 7, 67, 0, 0, 172, 66, 0, 0, 8, 67, 0, 0, 172, 66, 0, 0, 9, 67, 0, 0, 172, 66, 0, 0, 10, 67, 0, 0, 172, 66, 0, 0, 11, 67, 0, 0, 172, 66, 0, 0, 12, 67, 0, 0, 172, 66, 0, 0, 13, 67, 0, 0, 172, 66, 0, 0, 45, 67, 0, 0, 172, 66, 0, 0, 46, 67, 0, 0, 172, 66, 0, 0, 47, 67, 0, 0, 172, 66, 0, 0, 48, 67, 0, 0, 172, 66, 0, 0, 49, 67, 0, 0, 172, 66, 0, 0, 50, 67, 0, 0, 172, 66, 0, 0, 51, 67, 0, 0, 172, 66, 0, 0, 52, 67, 0, 0, 172, 66, 0, 0, 53, 67, 0, 0, 172, 66, 0, 0, 54, 67, 0, 0, 172, 66, 0, 0, 55, 67, 0, 0, 174, 66, 0, 0, 184, 66, 0, 0, 174, 66, 0, 0, 186, 66, 0, 0, 174, 66, 0, 0, 188, 66, 0, 0, 174, 66, 0, 0, 190, 66, 0, 0, 174, 66, 0, 0, 192, 66, 0, 0, 174, 66, 0, 0, 194, 66, 0, 0, 174, 66, 0, 0, 196, 66, 0, 0, 174, 66, 0, 0, 198, 66, 0, 0, 174, 66, 0, 0, 200, 66, 0, 0, 174, 66, 0, 0, 202, 66, 0, 0, 174, 66, 0, 0, 204, 66, 0, 0, 174, 66, 0, 0, 206, 66, 0, 0, 174, 66, 0, 0, 0, 67, 0, 0, 174, 66, 0, 0, 1, 67, 0, 0, 174, 66, 0, 0, 2, 67, 0, 0, 174, 66, 0, 0, 3, 67, 0, 0, 174, 66, 0, 0, 4, 67, 0, 0, 174, 66, 0, 0, 5, 67, 0, 0, 174, 66, 0, 0, 6, 67, 0, 0, 174, 66, 0, 0, 7, 67, 0, 0, 174, 66, 0, 0, 8, 67, 0, 0, 174, 66, 0, 0, 9, 67, 0, 0, 174, 66, 0, 0, 10, 67, 0, 0, 174, 66, 0, 0, 11, 67, 0, 0, 174, 66, 0, 0, 12, 67, 0, 0, 174, 66, 0, 0, 13, 67, 0, 0, 174, 66, 0, 0, 45, 67, 0, 0, 174, 66, 0, 0, 46, 67, 0, 0, 174, 66, 0, 0, 47, 67, 0, 0, 174, 66, 0, 0, 48, 67, 0, 0, 174, 66, 0, 0, 49, 67, 0, 0, 174, 66, 0, 0, 50, 67, 0, 0, 174, 66, 0, 0, 51, 67, 0, 0, 174, 66, 0, 0, 52, 67, 0, 0, 174, 66, 0, 0, 53, 67, 0, 0, 174, 66, 0, 0, 54, 67, 0, 0, 174, 66, 0, 0, 55, 67, 0, 0, 176, 66, 0, 0, 184, 66, 0, 0, 176, 66, 0, 0, 186, 66, 0, 0, 176, 66, 0, 0, 188, 66, 0, 0, 176, 66, 0, 0, 190, 66, 0, 0, 176, 66, 0, 0, 192, 66, 0, 0, 176, 66, 0, 0, 194, 66, 0, 0, 176, 66, 0, 0, 196, 66, 0, 0, 176, 66, 0, 0, 198, 66, 0, 0, 176, 66, 0, 0, 200, 66, 0, 0, 176, 66, 0, 0, 202, 66, 0, 0, 176, 66, 0, 0, 204, 66, 0, 0, 176, 66, 0, 0, 206, 66, 0, 0, 176, 66, 0, 0, 0, 67, 0, 0, 176, 66, 0, 0, 1, 67, 0, 0, 176, 66, 0, 0, 2, 67, 0, 0, 176, 66, 0, 0, 3, 67, 0, 0, 176, 66, 0, 0, 4, 67, 0, 0, 176, 66, 0, 0, 5, 67, 0, 0, 176, 66, 0, 0, 6, 67, 0, 0, 176, 66, 0, 0, 7, 67, 0, 0, 176, 66, 0, 0, 8, 67, 0, 0, 176, 66, 0, 0, 9, 67, 0, 0, 176, 66, 0, 0, 10, 67, 0, 0, 176, 66, 0, 0, 11, 67, 0, 0, 176, 66, 0, 0, 12, 67, 0, 0, 176, 66, 0, 0, 13, 67, 0, 0, 176, 66, 0, 0, 44, 67, 0, 0, 176, 66, 0, 0, 45, 67, 0, 0, 176, 66, 0, 0, 46, 67, 0, 0, 176, 66, 0, 0, 47, 67, 0, 0, 176, 66, 0, 0, 48, 67, 0, 0, 176, 66, 0, 0, 49, 67, 0, 0, 176, 66, 0, 0, 50, 67, 0, 0, 176, 66, 0, 0, 51, 67, 0, 0, 176, 66, 0, 0, 52, 67, 0, 0, 176, 66, 0, 0, 53, 67, 0, 0, 176, 66, 0, 0, 54, 67, 0, 0, 176, 66, 0, 0, 55, 67, 0, 0, 178, 66, 0, 0, 184, 66, 0, 0, 178, 66, 0, 0, 186, 66, 0, 0, 178, 66, 0, 0, 188, 66, 0, 0, 178, 66, 0, 0, 190, 66, 0, 0, 178, 66, 0, 0, 192, 66, 0, 0, 178, 66, 0, 0, 194, 66, 0, 0, 178, 66, 0, 0, 196, 66, 0, 0, 178, 66, 0, 0, 198, 66, 0, 0, 178, 66, 0, 0, 200, 66, 0, 0, 178, 66, 0, 0, 202, 66, 0, 0, 178, 66, 0, 0, 204, 66, 0, 0, 178, 66, 0, 0, 206, 66, 0, 0, 178, 66, 0, 0, 0, 67, 0, 0, 178, 66, 0, 0, 1, 67, 0, 0, 178, 66, 0, 0, 2, 67, 0, 0, 178, 66, 0, 0, 3, 67, 0, 0, 178, 66, 0, 0, 4, 67, 0, 0, 178, 66, 0, 0, 5, 67, 0, 0, 178, 66, 0, 0, 6, 67, 0, 0, 178, 66, 0, 0, 7, 67, 0, 0, 178, 66, 0, 0, 8, 67, 0, 0, 178, 66, 0, 0, 9, 67, 0, 0, 178, 66, 0, 0, 10, 67, 0, 0, 178, 66, 0, 0, 11, 67, 0, 0, 178, 66, 0, 0, 12, 67, 0, 0, 178, 66, 0, 0, 13, 67, 0, 0, 178, 66, 0, 0, 44, 67, 0, 0, 178, 66, 0, 0, 45, 67, 0, 0, 178, 66, 0, 0, 46, 67, 0, 0, 178, 66, 0, 0, 47, 67, 0, 0, 178, 66, 0, 0, 48, 67, 0, 0, 178, 66, 0, 0, 49, 67, 0, 0, 178, 66, 0, 0, 50, 67, 0, 0, 178, 66, 0, 0, 51, 67, 0, 0, 178, 66, 0, 0, 52, 67, 0, 0, 178, 66, 0, 0, 53, 67, 0, 0, 178, 66, 0, 0, 54, 67, 0, 0, 178, 66, 0, 0, 55, 67, 0, 0, 180, 66, 0, 0, 184, 66, 0, 0, 180, 66, 0, 0, 186, 66, 0, 0, 180, 66, 0, 0, 188, 66, 0, 0, 180, 66, 0, 0, 190, 66, 0, 0, 180, 66, 0, 0, 192, 66, 0, 0, 180, 66, 0, 0, 194, 66, 0, 0, 180, 66, 0, 0, 196, 66, 0, 0, 180, 66, 0, 0, 198, 66, 0, 0, 180, 66, 0, 0, 200, 66, 0, 0, 180, 66, 0, 0, 202, 66, 0, 0, 180, 66, 0, 0, 204, 66, 0, 0, 180, 66, 0, 0, 206, 66, 0, 0, 180, 66, 0, 0, 0, 67, 0, 0, 180, 66, 0, 0, 1, 67, 0, 0, 180, 66, 0, 0, 2, 67, 0, 0, 180, 66, 0, 0, 3, 67, 0, 0, 180, 66, 0, 0, 4, 67, 0, 0, 180, 66, 0, 0, 5, 67, 0, 0, 180, 66, 0, 0, 6, 67, 0, 0, 180, 66, 0, 0, 7, 67, 0, 0, 180, 66, 0, 0, 8, 67, 0, 0, 180, 66, 0, 0, 9, 67, 0, 0, 180, 66, 0, 0, 10, 67, 0, 0, 180, 66, 0, 0, 11, 67, 0, 0, 180, 66, 0, 0, 12, 67, 0, 0, 180, 66, 0, 0, 13, 67, 0, 0, 180, 66, 0, 0, 44, 67, 0, 0, 180, 66, 0, 0, 45, 67, 0, 0, 180, 66, 0, 0, 46, 67, 0, 0, 180, 66, 0, 0, 47, 67, 0, 0, 180, 66, 0, 0, 48, 67, 0, 0, 180, 66, 0, 0, 49, 67, 0, 0, 180, 66, 0, 0, 50, 67, 0, 0, 180, 66, 0, 0, 51, 67, 0, 0, 180, 66, 0, 0, 52, 67, 0, 0, 180, 66, 0, 0, 53, 67, 0, 0, 180, 66, 0, 0, 54, 67, 0, 0, 180, 66, 0, 0, 55, 67, 0, 0, 182, 66, 0, 0, 184, 66, 0, 0, 182, 66, 0, 0, 186, 66, 0, 0, 182, 66, 0, 0, 188, 66, 0, 0, 182, 66, 0, 0, 190, 66, 0, 0, 182, 66, 0, 0, 192, 66, 0, 0, 182, 66, 0, 0, 194, 66, 0, 0, 182, 66, 0, 0, 196, 66, 0, 0, 182, 66, 0, 0, 198, 66, 0, 0, 182, 66, 0, 0, 200, 66, 0, 0, 182, 66, 0, 0, 202, 66, 0, 0, 182, 66, 0, 0, 204, 66, 0, 0, 182, 66, 0, 0, 206, 66, 0, 0, 182, 66, 0, 0, 0, 67, 0, 0, 182, 66, 0, 0, 1, 67, 0, 0, 182, 66, 0, 0, 2, 67, 0, 0, 182, 66, 0, 0, 3, 67, 0, 0, 182, 66, 0, 0, 4, 67, 0, 0, 182, 66, 0, 0, 5, 67, 0, 0, 182, 66, 0, 0, 6, 67, 0, 0, 182, 66, 0, 0, 7, 67, 0, 0, 182, 66, 0, 0, 8, 67, 0, 0, 182, 66, 0, 0, 9, 67, 0, 0, 182, 66, 0, 0, 10, 67, 0, 0, 182, 66, 0, 0, 11, 67, 0, 0, 182, 66, 0, 0, 12, 67, 0, 0, 182, 66, 0, 0, 13, 67, 0, 0, 182, 66, 0, 0, 44, 67, 0, 0, 182, 66, 0, 0, 45, 67, 0, 0, 182, 66, 0, 0, 46, 67, 0, 0, 182, 66, 0, 0, 47, 67, 0, 0, 182, 66, 0, 0, 48, 67, 0, 0, 182, 66, 0, 0, 49, 67, 0, 0, 182, 66, 0, 0, 50, 67, 0, 0, 182, 66, 0, 0, 51, 67, 0, 0, 182, 66, 0, 0, 52, 67, 0, 0, 182, 66, 0, 0, 53, 67, 0, 0, 182, 66, 0, 0, 54, 67, 0, 0, 182, 66, 0, 0, 55, 67, 0, 0, 184, 66, 0, 0, 184, 66, 0, 0, 184, 66, 0, 0, 186, 66, 0, 0, 184, 66, 0, 0, 188, 66, 0, 0, 184, 66, 0, 0, 190, 66, 0, 0, 184, 66, 0, 0, 192, 66, 0, 0, 184, 66, 0, 0, 194, 66, 0, 0, 184, 66, 0, 0, 196, 66, 0, 0, 184, 66, 0, 0, 198, 66, 0, 0, 184, 66, 0, 0, 200, 66, 0, 0, 184, 66, 0, 0, 202, 66, 0, 0, 184, 66, 0, 0, 204, 66, 0, 0, 184, 66, 0, 0, 206, 66, 0, 0, 184, 66, 0, 0, 208, 66, 0, 0, 184, 66, 0, 0, 0, 67, 0, 0, 184, 66, 0, 0, 1, 67, 0, 0, 184, 66, 0, 0, 2, 67, 0, 0, 184, 66, 0, 0, 3, 67, 0, 0, 184, 66, 0, 0, 4, 67, 0, 0, 184, 66, 0, 0, 5, 67, 0, 0, 184, 66, 0, 0, 6, 67, 0, 0, 184, 66, 0, 0, 7, 67, 0, 0, 184, 66, 0, 0, 8, 67, 0, 0, 184, 66, 0, 0, 9, 67, 0, 0, 184, 66, 0, 0, 10, 67, 0, 0, 184, 66, 0, 0, 11, 67, 0, 0, 184, 66, 0, 0, 12, 67, 0, 0, 184, 66, 0, 0, 13, 67, 0, 0, 184, 66, 0, 0, 43, 67, 0, 0, 184, 66, 0, 0, 44, 67, 0, 0, 184, 66, 0, 0, 45, 67, 0, 0, 184, 66, 0, 0, 46, 67, 0, 0, 184, 66, 0, 0, 47, 67, 0, 0, 184, 66, 0, 0, 48, 67, 0, 0, 184, 66, 0, 0, 49, 67, 0, 0, 184, 66, 0, 0, 50, 67, 0, 0, 184, 66, 0, 0, 51, 67, 0, 0, 184, 66, 0, 0, 52, 67, 0, 0, 184, 66, 0, 0, 53, 67, 0, 0, 184, 66, 0, 0, 54, 67, 0, 0, 184, 66, 0, 0, 55, 67, 0, 0, 186, 66, 0, 0, 184, 66, 0, 0, 186, 66, 0, 0, 186, 66, 0, 0, 186, 66, 0, 0, 188, 66, 0, 0, 186, 66, 0, 0, 190, 66, 0, 0, 186, 66, 0, 0, 192, 66, 0, 0, 186, 66, 0, 0, 194, 66, 0, 0, 186, 66, 0, 0, 196, 66, 0, 0, 186, 66, 0, 0, 198, 66, 0, 0, 186, 66, 0, 0, 200, 66, 0, 0, 186, 66, 0, 0, 202, 66, 0, 0, 186, 66, 0, 0, 204, 66, 0, 0, 186, 66, 0, 0, 206, 66, 0, 0, 186, 66, 0, 0, 208, 66, 0, 0, 186, 66, 0, 0, 210, 66, 0, 0, 186, 66, 0, 0, 0, 67, 0, 0, 186, 66, 0, 0, 1, 67, 0, 0, 186, 66, 0, 0, 2, 67, 0, 0, 186, 66, 0, 0, 3, 67, 0, 0, 186, 66, 0, 0, 4, 67, 0, 0, 186, 66, 0, 0, 5, 67, 0, 0, 186, 66, 0, 0, 6, 67, 0, 0, 186, 66, 0, 0, 7, 67, 0, 0, 186, 66, 0, 0, 8, 67, 0, 0, 186, 66, 0, 0, 9, 67, 0, 0, 186, 66, 0, 0, 10, 67, 0, 0, 186, 66, 0, 0, 11, 67, 0, 0, 186, 66, 0, 0, 12, 67, 0, 0, 186, 66, 0, 0, 13, 67, 0, 0, 186, 66, 0, 0, 43, 67, 0, 0, 186, 66, 0, 0, 44, 67, 0, 0, 186, 66, 0, 0, 45, 67, 0, 0, 186, 66, 0, 0, 46, 67, 0, 0, 186, 66, 0, 0, 47, 67, 0, 0, 186, 66, 0, 0, 48, 67, 0, 0, 186, 66, 0, 0, 49, 67, 0, 0, 186, 66, 0, 0, 50, 67, 0, 0, 186, 66, 0, 0, 51, 67, 0, 0, 186, 66, 0, 0, 52, 67, 0, 0, 186, 66, 0, 0, 53, 67, 0, 0, 186, 66, 0, 0, 54, 67, 0, 0, 186, 66, 0, 0, 55, 67, 0, 0, 188, 66, 0, 0, 184, 66, 0, 0, 188, 66, 0, 0, 186, 66, 0, 0, 188, 66, 0, 0, 188, 66, 0, 0, 188, 66, 0, 0, 190, 66, 0, 0, 188, 66, 0, 0, 192, 66, 0, 0, 188, 66, 0, 0, 194, 66, 0, 0, 188, 66, 0, 0, 196, 66, 0, 0, 188, 66, 0, 0, 198, 66, 0, 0, 188, 66, 0, 0, 200, 66, 0, 0, 188, 66, 0, 0, 202, 66, 0, 0, 188, 66, 0, 0, 204, 66, 0, 0, 188, 66, 0, 0, 206, 66, 0, 0, 188, 66, 0, 0, 208, 66, 0, 0, 188, 66, 0, 0, 210, 66, 0, 0, 188, 66, 0, 0, 212, 66, 0, 0, 188, 66, 0, 0, 0, 67, 0, 0, 188, 66, 0, 0, 1, 67, 0, 0, 188, 66, 0, 0, 2, 67, 0, 0, 188, 66, 0, 0, 3, 67, 0, 0, 188, 66, 0, 0, 4, 67, 0, 0, 188, 66, 0, 0, 5, 67, 0, 0, 188, 66, 0, 0, 6, 67, 0, 0, 188, 66, 0, 0, 7, 67, 0, 0, 188, 66, 0, 0, 8, 67, 0, 0, 188, 66, 0, 0, 9, 67, 0, 0, 188, 66, 0, 0, 10, 67, 0, 0, 188, 66, 0, 0, 11, 67, 0, 0, 188, 66, 0, 0, 12, 67, 0, 0, 188, 66, 0, 0, 13, 67, 0, 0, 188, 66, 0, 0, 41, 67, 0, 0, 188, 66, 0, 0, 42, 67, 0, 0, 188, 66, 0, 0, 43, 67, 0, 0, 188, 66, 0, 0, 44, 67, 0, 0, 188, 66, 0, 0, 45, 67, 0, 0, 188, 66, 0, 0, 46, 67, 0, 0, 188, 66, 0, 0, 47, 67, 0, 0, 188, 66, 0, 0, 48, 67, 0, 0, 188, 66, 0, 0, 49, 67, 0, 0, 188, 66, 0, 0, 50, 67, 0, 0, 188, 66, 0, 0, 51, 67, 0, 0, 188, 66, 0, 0, 52, 67, 0, 0, 188, 66, 0, 0, 53, 67, 0, 0, 188, 66, 0, 0, 54, 67, 0, 0, 188, 66, 0, 0, 55, 67, 0, 0, 190, 66, 0, 0, 184, 66, 0, 0, 190, 66, 0, 0, 186, 66, 0, 0, 190, 66, 0, 0, 188, 66, 0, 0, 190, 66, 0, 0, 190, 66, 0, 0, 190, 66, 0, 0, 192, 66, 0, 0, 190, 66, 0, 0, 194, 66, 0, 0, 190, 66, 0, 0, 196, 66, 0, 0, 190, 66, 0, 0, 198, 66, 0, 0, 190, 66, 0, 0, 200, 66, 0, 0, 190, 66, 0, 0, 202, 66, 0, 0, 190, 66, 0, 0, 204, 66, 0, 0, 190, 66, 0, 0, 206, 66, 0, 0, 190, 66, 0, 0, 208, 66, 0, 0, 190, 66, 0, 0, 210, 66, 0, 0, 190, 66, 0, 0, 212, 66, 0, 0, 190, 66, 0, 0, 214, 66, 0, 0, 190, 66, 0, 0, 216, 66, 0, 0, 190, 66, 0, 0, 0, 67, 0, 0, 190, 66, 0, 0, 1, 67, 0, 0, 190, 66, 0, 0, 2, 67, 0, 0, 190, 66, 0, 0, 3, 67, 0, 0, 190, 66, 0, 0, 4, 67, 0, 0, 190, 66, 0, 0, 5, 67, 0, 0, 190, 66, 0, 0, 6, 67, 0, 0, 190, 66, 0, 0, 7, 67, 0, 0, 190, 66, 0, 0, 8, 67, 0, 0, 190, 66, 0, 0, 9, 67, 0, 0, 190, 66, 0, 0, 10, 67, 0, 0, 190, 66, 0, 0, 11, 67, 0, 0, 190, 66, 0, 0, 12, 67, 0, 0, 190, 66, 0, 0, 13, 67, 0, 0, 190, 66, 0, 0, 40, 67, 0, 0, 190, 66, 0, 0, 41, 67, 0, 0, 190, 66, 0, 0, 42, 67, 0, 0, 190, 66, 0, 0, 43, 67, 0, 0, 190, 66, 0, 0, 44, 67, 0, 0, 190, 66, 0, 0, 45, 67, 0, 0, 190, 66, 0, 0, 46, 67, 0, 0, 190, 66, 0, 0, 47, 67, 0, 0, 190, 66, 0, 0, 48, 67, 0, 0, 190, 66, 0, 0, 49, 67, 0, 0, 190, 66, 0, 0, 50, 67, 0, 0, 190, 66, 0, 0, 51, 67, 0, 0, 190, 66, 0, 0, 52, 67, 0, 0, 190, 66, 0, 0, 53, 67, 0, 0, 190, 66, 0, 0, 54, 67, 0, 0, 190, 66, 0, 0, 55, 67, 0, 0, 192, 66, 0, 0, 184, 66, 0, 0, 192, 66, 0, 0, 186, 66, 0, 0, 192, 66, 0, 0, 188, 66, 0, 0, 192, 66, 0, 0, 190, 66, 0, 0, 192, 66, 0, 0, 192, 66, 0, 0, 192, 66, 0, 0, 194, 66, 0, 0, 192, 66, 0, 0, 196, 66, 0, 0, 192, 66, 0, 0, 198, 66, 0, 0, 192, 66, 0, 0, 200, 66, 0, 0, 192, 66, 0, 0, 202, 66, 0, 0, 192, 66, 0, 0, 204, 66, 0, 0, 192, 66, 0, 0, 206, 66, 0, 0, 192, 66, 0, 0, 208, 66, 0, 0, 192, 66, 0, 0, 210, 66, 0, 0, 192, 66, 0, 0, 212, 66, 0, 0, 192, 66, 0, 0, 214, 66, 0, 0, 192, 66, 0, 0, 216, 66, 0, 0, 192, 66, 0, 0, 218, 66, 0, 0, 192, 66, 0, 0, 220, 66, 0, 0, 192, 66, 0, 0, 222, 66, 0, 0, 192, 66, 0, 0, 224, 66, 0, 0, 192, 66, 0, 0, 226, 66, 0, 0, 192, 66, 0, 0, 228, 66, 0, 0, 192, 66, 0, 0, 230, 66, 0, 0, 192, 66, 0, 0, 232, 66, 0, 0, 192, 66, 0, 0, 234, 66, 0, 0, 192, 66, 0, 0, 236, 66, 0, 0, 192, 66, 0, 0, 238, 66, 0, 0, 192, 66, 0, 0, 240, 66, 0, 0, 192, 66, 0, 0, 242, 66, 0, 0, 192, 66, 0, 0, 244, 66, 0, 0, 192, 66, 0, 0, 246, 66, 0, 0, 192, 66, 0, 0, 248, 66, 0, 0, 192, 66, 0, 0, 250, 66, 0, 0, 192, 66, 0, 0, 252, 66, 0, 0, 192, 66, 0, 0, 254, 66, 0, 0, 192, 66, 0, 0, 0, 67, 0, 0, 192, 66, 0, 0, 1, 67, 0, 0, 192, 66, 0, 0, 2, 67, 0, 0, 192, 66, 0, 0, 3, 67, 0, 0, 192, 66, 0, 0, 4, 67, 0, 0, 192, 66, 0, 0, 5, 67, 0, 0, 192, 66, 0, 0, 6, 67, 0, 0, 192, 66, 0, 0, 7, 67, 0, 0, 192, 66, 0, 0, 8, 67, 0, 0, 192, 66, 0, 0, 9, 67, 0, 0, 192, 66, 0, 0, 10, 67, 0, 0, 192, 66, 0, 0, 11, 67, 0, 0, 192, 66, 0, 0, 12, 67, 0, 0, 192, 66, 0, 0, 13, 67, 0, 0, 192, 66, 0, 0, 14, 67, 0, 0, 192, 66, 0, 0, 15, 67, 0, 0, 192, 66, 0, 0, 16, 67, 0, 0, 192, 66, 0, 0, 17, 67, 0, 0, 192, 66, 0, 0, 18, 67, 0, 0, 192, 66, 0, 0, 19, 67, 0, 0, 192, 66, 0, 0, 20, 67, 0, 0, 192, 66, 0, 0, 21, 67, 0, 0, 192, 66, 0, 0, 22, 67, 0, 0, 192, 66, 0, 0, 23, 67, 0, 0, 192, 66, 0, 0, 24, 67, 0, 0, 192, 66, 0, 0, 25, 67, 0, 0, 192, 66, 0, 0, 26, 67, 0, 0, 192, 66, 0, 0, 27, 67, 0, 0, 192, 66, 0, 0, 28, 67, 0, 0, 192, 66, 0, 0, 29, 67, 0, 0, 192, 66, 0, 0, 30, 67, 0, 0, 192, 66, 0, 0, 31, 67, 0, 0, 192, 66, 0, 0, 32, 67, 0, 0, 192, 66, 0, 0, 33, 67, 0, 0, 192, 66, 0, 0, 34, 67, 0, 0, 192, 66, 0, 0, 35, 67, 0, 0, 192, 66, 0, 0, 36, 67, 0, 0, 192, 66, 0, 0, 37, 67, 0, 0, 192, 66, 0, 0, 38, 67, 0, 0, 192, 66, 0, 0, 39, 67, 0, 0, 192, 66, 0, 0, 40, 67, 0, 0, 192, 66, 0, 0, 41, 67, 0, 0, 192, 66, 0, 0, 42, 67, 0, 0, 192, 66, 0, 0, 43, 67, 0, 0, 192, 66, 0, 0, 44, 67, 0, 0, 192, 66, 0, 0, 45, 67, 0, 0, 192, 66, 0, 0, 46, 67, 0, 0, 192, 66, 0, 0, 47, 67, 0, 0, 192, 66, 0, 0, 48, 67, 0, 0, 192, 66, 0, 0, 49, 67, 0, 0, 192, 66, 0, 0, 50, 67, 0, 0, 192, 66, 0, 0, 51, 67, 0, 0, 192, 66, 0, 0, 52, 67, 0, 0, 192, 66, 0, 0, 53, 67, 0, 0, 192, 66, 0, 0, 54, 67, 0, 0, 192, 66, 0, 0, 55, 67, 0, 0, 194, 66, 0, 0, 184, 66, 0, 0, 194, 66, 0, 0, 186, 66, 0, 0, 194, 66, 0, 0, 188, 66, 0, 0, 194, 66, 0, 0, 190, 66, 0, 0, 194, 66, 0, 0, 192, 66, 0, 0, 194, 66, 0, 0, 194, 66, 0, 0, 194, 66, 0, 0, 196, 66, 0, 0, 194, 66, 0, 0, 198, 66, 0, 0, 194, 66, 0, 0, 200, 66, 0, 0, 194, 66, 0, 0, 202, 66, 0, 0, 194, 66, 0, 0, 204, 66, 0, 0, 194, 66, 0, 0, 206, 66, 0, 0, 194, 66, 0, 0, 208, 66, 0, 0, 194, 66, 0, 0, 210, 66, 0, 0, 194, 66, 0, 0, 212, 66, 0, 0, 194, 66, 0, 0, 214, 66, 0, 0, 194, 66, 0, 0, 216, 66, 0, 0, 194, 66, 0, 0, 218, 66, 0, 0, 194, 66, 0, 0, 220, 66, 0, 0, 194, 66, 0, 0, 222, 66, 0, 0, 194, 66, 0, 0, 224, 66, 0, 0, 194, 66, 0, 0, 226, 66, 0, 0, 194, 66, 0, 0, 228, 66, 0, 0, 194, 66, 0, 0, 230, 66, 0, 0, 194, 66, 0, 0, 232, 66, 0, 0, 194, 66, 0, 0, 234, 66, 0, 0, 194, 66, 0, 0, 236, 66, 0, 0, 194, 66, 0, 0, 238, 66, 0, 0, 194, 66, 0, 0, 240, 66, 0, 0, 194, 66, 0, 0, 242, 66, 0, 0, 194, 66, 0, 0, 244, 66, 0, 0, 194, 66, 0, 0, 246, 66, 0, 0, 194, 66, 0, 0, 248, 66, 0, 0, 194, 66, 0, 0, 250, 66, 0, 0, 194, 66, 0, 0, 252, 66, 0, 0, 194, 66, 0, 0, 254, 66, 0, 0, 194, 66, 0, 0, 0, 67, 0, 0, 194, 66, 0, 0, 1, 67, 0, 0, 194, 66, 0, 0, 2, 67, 0, 0, 194, 66, 0, 0, 3, 67, 0, 0, 194, 66, 0, 0, 4, 67, 0, 0, 194, 66, 0, 0, 5, 67, 0, 0, 194, 66, 0, 0, 6, 67, 0, 0, 194, 66, 0, 0, 7, 67, 0, 0, 194, 66, 0, 0, 8, 67, 0, 0, 194, 66, 0, 0, 9, 67, 0, 0, 194, 66, 0, 0, 10, 67, 0, 0, 194, 66, 0, 0, 11, 67, 0, 0, 194, 66, 0, 0, 12, 67, 0, 0, 194, 66, 0, 0, 13, 67, 0, 0, 194, 66, 0, 0, 14, 67, 0, 0, 194, 66, 0, 0, 15, 67, 0, 0, 194, 66, 0, 0, 16, 67, 0, 0, 194, 66, 0, 0, 17, 67, 0, 0, 194, 66, 0, 0, 18, 67, 0, 0, 194, 66, 0, 0, 19, 67, 0, 0, 194, 66, 0, 0, 20, 67, 0, 0, 194, 66, 0, 0, 21, 67, 0, 0, 194, 66, 0, 0, 22, 67, 0, 0, 194, 66, 0, 0, 23, 67, 0, 0, 194, 66, 0, 0, 24, 67, 0, 0, 194, 66, 0, 0, 25, 67, 0, 0, 194, 66, 0, 0, 26, 67, 0, 0, 194, 66, 0, 0, 27, 67, 0, 0, 194, 66, 0, 0, 28, 67, 0, 0, 194, 66, 0, 0, 29, 67, 0, 0, 194, 66, 0, 0, 30, 67, 0, 0, 194, 66, 0, 0, 31, 67, 0, 0, 194, 66, 0, 0, 32, 67, 0, 0, 194, 66, 0, 0, 33, 67, 0, 0, 194, 66, 0, 0, 34, 67, 0, 0, 194, 66, 0, 0, 35, 67, 0, 0, 194, 66, 0, 0, 36, 67, 0, 0, 194, 66, 0, 0, 37, 67, 0, 0, 194, 66, 0, 0, 38, 67, 0, 0, 194, 66, 0, 0, 39, 67, 0, 0, 194, 66, 0, 0, 40, 67, 0, 0, 194, 66, 0, 0, 41, 67, 0, 0, 194, 66, 0, 0, 42, 67, 0, 0, 194, 66, 0, 0, 43, 67, 0, 0, 194, 66, 0, 0, 44, 67, 0, 0, 194, 66, 0, 0, 45, 67, 0, 0, 194, 66, 0, 0, 46, 67, 0, 0, 194, 66, 0, 0, 47, 67, 0, 0, 194, 66, 0, 0, 48, 67, 0, 0, 194, 66, 0, 0, 49, 67, 0, 0, 194, 66, 0, 0, 50, 67, 0, 0, 194, 66, 0, 0, 51, 67, 0, 0, 194, 66, 0, 0, 52, 67, 0, 0, 194, 66, 0, 0, 53, 67, 0, 0, 194, 66, 0, 0, 54, 67, 0, 0, 194, 66, 0, 0, 55, 67, 0, 0, 196, 66, 0, 0, 184, 66, 0, 0, 196, 66, 0, 0, 186, 66, 0, 0, 196, 66, 0, 0, 188, 66, 0, 0, 196, 66, 0, 0, 190, 66, 0, 0, 196, 66, 0, 0, 192, 66, 0, 0, 196, 66, 0, 0, 194, 66, 0, 0, 196, 66, 0, 0, 196, 66, 0, 0, 196, 66, 0, 0, 198, 66, 0, 0, 196, 66, 0, 0, 200, 66, 0, 0, 196, 66, 0, 0, 202, 66, 0, 0, 196, 66, 0, 0, 204, 66, 0, 0, 196, 66, 0, 0, 206, 66, 0, 0, 196, 66, 0, 0, 208, 66, 0, 0, 196, 66, 0, 0, 210, 66, 0, 0, 196, 66, 0, 0, 212, 66, 0, 0, 196, 66, 0, 0, 214, 66, 0, 0, 196, 66, 0, 0, 216, 66, 0, 0, 196, 66, 0, 0, 218, 66, 0, 0, 196, 66, 0, 0, 220, 66, 0, 0, 196, 66, 0, 0, 222, 66, 0, 0, 196, 66, 0, 0, 224, 66, 0, 0, 196, 66, 0, 0, 226, 66, 0, 0, 196, 66, 0, 0, 228, 66, 0, 0, 196, 66, 0, 0, 230, 66, 0, 0, 196, 66, 0, 0, 232, 66, 0, 0, 196, 66, 0, 0, 234, 66, 0, 0, 196, 66, 0, 0, 236, 66, 0, 0, 196, 66, 0, 0, 238, 66, 0, 0, 196, 66, 0, 0, 240, 66, 0, 0, 196, 66, 0, 0, 242, 66, 0, 0, 196, 66, 0, 0, 244, 66, 0, 0, 196, 66, 0, 0, 246, 66, 0, 0, 196, 66, 0, 0, 248, 66, 0, 0, 196, 66, 0, 0, 250, 66, 0, 0, 196, 66, 0, 0, 252, 66, 0, 0, 196, 66, 0, 0, 254, 66, 0, 0, 196, 66, 0, 0, 0, 67, 0, 0, 196, 66, 0, 0, 1, 67, 0, 0, 196, 66, 0, 0, 2, 67, 0, 0, 196, 66, 0, 0, 3, 67, 0, 0, 196, 66, 0, 0, 4, 67, 0, 0, 196, 66, 0, 0, 5, 67, 0, 0, 196, 66, 0, 0, 6, 67, 0, 0, 196, 66, 0, 0, 7, 67, 0, 0, 196, 66, 0, 0, 8, 67, 0, 0, 196, 66, 0, 0, 9, 67, 0, 0, 196, 66, 0, 0, 10, 67, 0, 0, 196, 66, 0, 0, 11, 67, 0, 0, 196, 66, 0, 0, 12, 67, 0, 0, 196, 66, 0, 0, 13, 67, 0, 0, 196, 66, 0, 0, 14, 67, 0, 0, 196, 66, 0, 0, 15, 67, 0, 0, 196, 66, 0, 0, 16, 67, 0, 0, 196, 66, 0, 0, 17, 67, 0, 0, 196, 66, 0, 0, 18, 67, 0, 0, 196, 66, 0, 0, 19, 67, 0, 0, 196, 66, 0, 0, 20, 67, 0, 0, 196, 66, 0, 0, 21, 67, 0, 0, 196, 66, 0, 0, 22, 67, 0, 0, 196, 66, 0, 0, 23, 67, 0, 0, 196, 66, 0, 0, 24, 67, 0, 0, 196, 66, 0, 0, 25, 67, 0, 0, 196, 66, 0, 0, 26, 67, 0, 0, 196, 66, 0, 0, 27, 67, 0, 0, 196, 66, 0, 0, 28, 67, 0, 0, 196, 66, 0, 0, 29, 67, 0, 0, 196, 66, 0, 0, 30, 67, 0, 0, 196, 66, 0, 0, 31, 67, 0, 0, 196, 66, 0, 0, 32, 67, 0, 0, 196, 66, 0, 0, 33, 67, 0, 0, 196, 66, 0, 0, 34, 67, 0, 0, 196, 66, 0, 0, 35, 67, 0, 0, 196, 66, 0, 0, 36, 67, 0, 0, 196, 66, 0, 0, 37, 67, 0, 0, 196, 66, 0, 0, 38, 67, 0, 0, 196, 66, 0, 0, 39, 67, 0, 0, 196, 66, 0, 0, 40, 67, 0, 0, 196, 66, 0, 0, 41, 67, 0, 0, 196, 66, 0, 0, 42, 67, 0, 0, 196, 66, 0, 0, 43, 67, 0, 0, 196, 66, 0, 0, 44, 67, 0, 0, 196, 66, 0, 0, 45, 67, 0, 0, 196, 66, 0, 0, 46, 67, 0, 0, 196, 66, 0, 0, 47, 67, 0, 0, 196, 66, 0, 0, 48, 67, 0, 0, 196, 66, 0, 0, 49, 67, 0, 0, 196, 66, 0, 0, 50, 67, 0, 0, 196, 66, 0, 0, 51, 67, 0, 0, 196, 66, 0, 0, 52, 67, 0, 0, 196, 66, 0, 0, 53, 67, 0, 0, 196, 66, 0, 0, 54, 67, 0, 0, 196, 66, 0, 0, 55, 67, 0, 0, 198, 66, 0, 0, 184, 66, 0, 0, 198, 66, 0, 0, 186, 66, 0, 0, 198, 66, 0, 0, 188, 66, 0, 0, 198, 66, 0, 0, 190, 66, 0, 0, 198, 66, 0, 0, 192, 66, 0, 0, 198, 66, 0, 0, 194, 66, 0, 0, 198, 66, 0, 0, 196, 66, 0, 0, 198, 66, 0, 0, 198, 66, 0, 0, 198, 66, 0, 0, 200, 66, 0, 0, 198, 66, 0, 0, 202, 66, 0, 0, 198, 66, 0, 0, 204, 66, 0, 0, 198, 66, 0, 0, 206, 66, 0, 0, 198, 66, 0, 0, 208, 66, 0, 0, 198, 66, 0, 0, 210, 66, 0, 0, 198, 66, 0, 0, 212, 66, 0, 0, 198, 66, 0, 0, 214, 66, 0, 0, 198, 66, 0, 0, 216, 66, 0, 0, 198, 66, 0, 0, 218, 66, 0, 0, 198, 66, 0, 0, 220, 66, 0, 0, 198, 66, 0, 0, 222, 66, 0, 0, 198, 66, 0, 0, 224, 66, 0, 0, 198, 66, 0, 0, 226, 66, 0, 0, 198, 66, 0, 0, 228, 66, 0, 0, 198, 66, 0, 0, 230, 66, 0, 0, 198, 66, 0, 0, 232, 66, 0, 0, 198, 66, 0, 0, 234, 66, 0, 0, 198, 66, 0, 0, 236, 66, 0, 0, 198, 66, 0, 0, 238, 66, 0, 0, 198, 66, 0, 0, 240, 66, 0, 0, 198, 66, 0, 0, 242, 66, 0, 0, 198, 66, 0, 0, 244, 66, 0, 0, 198, 66, 0, 0, 246, 66, 0, 0, 198, 66, 0, 0, 248, 66, 0, 0, 198, 66, 0, 0, 250, 66, 0, 0, 198, 66, 0, 0, 252, 66, 0, 0, 198, 66, 0, 0, 254, 66, 0, 0, 198, 66, 0, 0, 0, 67, 0, 0, 198, 66, 0, 0, 1, 67, 0, 0, 198, 66, 0, 0, 2, 67, 0, 0, 198, 66, 0, 0, 3, 67, 0, 0, 198, 66, 0, 0, 4, 67, 0, 0, 198, 66, 0, 0, 5, 67, 0, 0, 198, 66, 0, 0, 6, 67, 0, 0, 198, 66, 0, 0, 7, 67, 0, 0, 198, 66, 0, 0, 8, 67, 0, 0, 198, 66, 0, 0, 9, 67, 0, 0, 198, 66, 0, 0, 10, 67, 0, 0, 198, 66, 0, 0, 11, 67, 0, 0, 198, 66, 0, 0, 12, 67, 0, 0, 198, 66, 0, 0, 13, 67, 0, 0, 198, 66, 0, 0, 14, 67, 0, 0, 198, 66, 0, 0, 15, 67, 0, 0, 198, 66, 0, 0, 16, 67, 0, 0, 198, 66, 0, 0, 17, 67, 0, 0, 198, 66, 0, 0, 18, 67, 0, 0, 198, 66, 0, 0, 19, 67, 0, 0, 198, 66, 0, 0, 20, 67, 0, 0, 198, 66, 0, 0, 21, 67, 0, 0, 198, 66, 0, 0, 22, 67, 0, 0, 198, 66, 0, 0, 23, 67, 0, 0, 198, 66, 0, 0, 24, 67, 0, 0, 198, 66, 0, 0, 25, 67, 0, 0, 198, 66, 0, 0, 26, 67, 0, 0, 198, 66, 0, 0, 27, 67, 0, 0, 198, 66, 0, 0, 28, 67, 0, 0, 198, 66, 0, 0, 29, 67, 0, 0, 198, 66, 0, 0, 30, 67, 0, 0, 198, 66, 0, 0, 31, 67, 0, 0, 198, 66, 0, 0, 32, 67, 0, 0, 198, 66, 0, 0, 33, 67, 0, 0, 198, 66, 0, 0, 34, 67, 0, 0, 198, 66, 0, 0, 35, 67, 0, 0, 198, 66, 0, 0, 36, 67, 0, 0, 198, 66, 0, 0, 37, 67, 0, 0, 198, 66, 0, 0, 38, 67, 0, 0, 198, 66, 0, 0, 39, 67, 0, 0, 198, 66, 0, 0, 40, 67, 0, 0, 198, 66, 0, 0, 41, 67, 0, 0, 198, 66, 0, 0, 42, 67, 0, 0, 198, 66, 0, 0, 43, 67, 0, 0, 198, 66, 0, 0, 44, 67, 0, 0, 198, 66, 0, 0, 45, 67, 0, 0, 198, 66, 0, 0, 46, 67, 0, 0, 198, 66, 0, 0, 47, 67, 0, 0, 198, 66, 0, 0, 48, 67, 0, 0, 198, 66, 0, 0, 49, 67, 0, 0, 198, 66, 0, 0, 50, 67, 0, 0, 198, 66, 0, 0, 51, 67, 0, 0, 198, 66, 0, 0, 52, 67, 0, 0, 198, 66, 0, 0, 53, 67, 0, 0, 198, 66, 0, 0, 54, 67, 0, 0, 198, 66, 0, 0, 55, 67, 0, 0, 200, 66, 0, 0, 184, 66, 0, 0, 200, 66, 0, 0, 186, 66, 0, 0, 200, 66, 0, 0, 188, 66, 0, 0, 200, 66, 0, 0, 190, 66, 0, 0, 200, 66, 0, 0, 192, 66, 0, 0, 200, 66, 0, 0, 194, 66, 0, 0, 200, 66, 0, 0, 196, 66, 0, 0, 200, 66, 0, 0, 198, 66, 0, 0, 200, 66, 0, 0, 200, 66, 0, 0, 200, 66, 0, 0, 202, 66, 0, 0, 200, 66, 0, 0, 204, 66, 0, 0, 200, 66, 0, 0, 206, 66, 0, 0, 200, 66, 0, 0, 208, 66, 0, 0, 200, 66, 0, 0, 210, 66, 0, 0, 200, 66, 0, 0, 212, 66, 0, 0, 200, 66, 0, 0, 214, 66, 0, 0, 200, 66, 0, 0, 216, 66, 0, 0, 200, 66, 0, 0, 218, 66, 0, 0, 200, 66, 0, 0, 220, 66, 0, 0, 200, 66, 0, 0, 222, 66, 0, 0, 200, 66, 0, 0, 224, 66, 0, 0, 200, 66, 0, 0, 226, 66, 0, 0, 200, 66, 0, 0, 228, 66, 0, 0, 200, 66, 0, 0, 230, 66, 0, 0, 200, 66, 0, 0, 232, 66, 0, 0, 200, 66, 0, 0, 234, 66, 0, 0, 200, 66, 0, 0, 236, 66, 0, 0, 200, 66, 0, 0, 238, 66, 0, 0, 200, 66, 0, 0, 240, 66, 0, 0, 200, 66, 0, 0, 242, 66, 0, 0, 200, 66, 0, 0, 244, 66, 0, 0, 200, 66, 0, 0, 246, 66, 0, 0, 200, 66, 0, 0, 248, 66, 0, 0, 200, 66, 0, 0, 250, 66, 0, 0, 200, 66, 0, 0, 252, 66, 0, 0, 200, 66, 0, 0, 254, 66, 0, 0, 200, 66, 0, 0, 0, 67, 0, 0, 200, 66, 0, 0, 1, 67, 0, 0, 200, 66, 0, 0, 2, 67, 0, 0, 200, 66, 0, 0, 3, 67, 0, 0, 200, 66, 0, 0, 4, 67, 0, 0, 200, 66, 0, 0, 5, 67, 0, 0, 200, 66, 0, 0, 6, 67, 0, 0, 200, 66, 0, 0, 7, 67, 0, 0, 200, 66, 0, 0, 8, 67, 0, 0, 200, 66, 0, 0, 9, 67, 0, 0, 200, 66, 0, 0, 10, 67, 0, 0, 200, 66, 0, 0, 11, 67, 0, 0, 200, 66, 0, 0, 12, 67, 0, 0, 200, 66, 0, 0, 13, 67, 0, 0, 200, 66, 0, 0, 14, 67, 0, 0, 200, 66, 0, 0, 15, 67, 0, 0, 200, 66, 0, 0, 16, 67, 0, 0, 200, 66, 0, 0, 17, 67, 0, 0, 200, 66, 0, 0, 18, 67, 0, 0, 200, 66, 0, 0, 19, 67, 0, 0, 200, 66, 0, 0, 20, 67, 0, 0, 200, 66, 0, 0, 21, 67, 0, 0, 200, 66, 0, 0, 22, 67, 0, 0, 200, 66, 0, 0, 23, 67, 0, 0, 200, 66, 0, 0, 24, 67, 0, 0, 200, 66, 0, 0, 25, 67, 0, 0, 200, 66, 0, 0, 26, 67, 0, 0, 200, 66, 0, 0, 27, 67, 0, 0, 200, 66, 0, 0, 28, 67, 0, 0, 200, 66, 0, 0, 29, 67, 0, 0, 200, 66, 0, 0, 30, 67, 0, 0, 200, 66, 0, 0, 31, 67, 0, 0, 200, 66, 0, 0, 32, 67, 0, 0, 200, 66, 0, 0, 33, 67, 0, 0, 200, 66, 0, 0, 34, 67, 0, 0, 200, 66, 0, 0, 35, 67, 0, 0, 200, 66, 0, 0, 36, 67, 0, 0, 200, 66, 0, 0, 37, 67, 0, 0, 200, 66, 0, 0, 38, 67, 0, 0, 200, 66, 0, 0, 39, 67, 0, 0, 200, 66, 0, 0, 40, 67, 0, 0, 200, 66, 0, 0, 41, 67, 0, 0, 200, 66, 0, 0, 42, 67, 0, 0, 200, 66, 0, 0, 43, 67, 0, 0, 200, 66, 0, 0, 44, 67, 0, 0, 200, 66, 0, 0, 45, 67, 0, 0, 200, 66, 0, 0, 46, 67, 0, 0, 200, 66, 0, 0, 47, 67, 0, 0, 200, 66, 0, 0, 48, 67, 0, 0, 200, 66, 0, 0, 49, 67, 0, 0, 200, 66, 0, 0, 50, 67, 0, 0, 200, 66, 0, 0, 51, 67, 0, 0, 200, 66, 0, 0, 52, 67, 0, 0, 200, 66, 0, 0, 53, 67, 0, 0, 200, 66, 0, 0, 54, 67, 0, 0, 200, 66, 0, 0, 55, 67, 0, 0, 202, 66, 0, 0, 184, 66, 0, 0, 202, 66, 0, 0, 186, 66, 0, 0, 202, 66, 0, 0, 188, 66, 0, 0, 202, 66, 0, 0, 190, 66, 0, 0, 202, 66, 0, 0, 192, 66, 0, 0, 202, 66, 0, 0, 194, 66, 0, 0, 202, 66, 0, 0, 196, 66, 0, 0, 202, 66, 0, 0, 198, 66, 0, 0, 202, 66, 0, 0, 200, 66, 0, 0, 202, 66, 0, 0, 202, 66, 0, 0, 202, 66, 0, 0, 204, 66, 0, 0, 202, 66, 0, 0, 206, 66, 0, 0, 202, 66, 0, 0, 208, 66, 0, 0, 202, 66, 0, 0, 210, 66, 0, 0, 202, 66, 0, 0, 212, 66, 0, 0, 202, 66, 0, 0, 214, 66, 0, 0, 202, 66, 0, 0, 216, 66, 0, 0, 202, 66, 0, 0, 218, 66, 0, 0, 202, 66, 0, 0, 220, 66, 0, 0, 202, 66, 0, 0, 222, 66, 0, 0, 202, 66, 0, 0, 224, 66, 0, 0, 202, 66, 0, 0, 226, 66, 0, 0, 202, 66, 0, 0, 228, 66, 0, 0, 202, 66, 0, 0, 230, 66, 0, 0, 202, 66, 0, 0, 232, 66, 0, 0, 202, 66, 0, 0, 234, 66, 0, 0, 202, 66, 0, 0, 236, 66, 0, 0, 202, 66, 0, 0, 238, 66, 0, 0, 202, 66, 0, 0, 240, 66, 0, 0, 202, 66, 0, 0, 242, 66, 0, 0, 202, 66, 0, 0, 244, 66, 0, 0, 202, 66, 0, 0, 246, 66, 0, 0, 202, 66, 0, 0, 248, 66, 0, 0, 202, 66, 0, 0, 250, 66, 0, 0, 202, 66, 0, 0, 252, 66, 0, 0, 202, 66, 0, 0, 254, 66, 0, 0, 202, 66, 0, 0, 0, 67, 0, 0, 202, 66, 0, 0, 1, 67, 0, 0, 202, 66, 0, 0, 2, 67, 0, 0, 202, 66, 0, 0, 3, 67, 0, 0, 202, 66, 0, 0, 4, 67, 0, 0, 202, 66, 0, 0, 5, 67, 0, 0, 202, 66, 0, 0, 6, 67, 0, 0, 202, 66, 0, 0, 7, 67, 0, 0, 202, 66, 0, 0, 8, 67, 0, 0, 202, 66, 0, 0, 9, 67, 0, 0, 202, 66, 0, 0, 10, 67, 0, 0, 202, 66, 0, 0, 11, 67, 0, 0, 202, 66, 0, 0, 12, 67, 0, 0, 202, 66, 0, 0, 13, 67, 0, 0, 202, 66, 0, 0, 14, 67, 0, 0, 202, 66, 0, 0, 15, 67, 0, 0, 202, 66, 0, 0, 16, 67, 0, 0, 202, 66, 0, 0, 17, 67, 0, 0, 202, 66, 0, 0, 18, 67, 0, 0, 202, 66, 0, 0, 19, 67, 0, 0, 202, 66, 0, 0, 20, 67, 0, 0, 202, 66, 0, 0, 21, 67, 0, 0, 202, 66, 0, 0, 22, 67, 0, 0, 202, 66, 0, 0, 23, 67, 0, 0, 202, 66, 0, 0, 24, 67, 0, 0, 202, 66, 0, 0, 25, 67, 0, 0, 202, 66, 0, 0, 26, 67, 0, 0, 202, 66, 0, 0, 27, 67, 0, 0, 202, 66, 0, 0, 28, 67, 0, 0, 202, 66, 0, 0, 29, 67, 0, 0, 202, 66, 0, 0, 30, 67, 0, 0, 202, 66, 0, 0, 31, 67, 0, 0, 202, 66, 0, 0, 32, 67, 0, 0, 202, 66, 0, 0, 33, 67, 0, 0, 202, 66, 0, 0, 34, 67, 0, 0, 202, 66, 0, 0, 35, 67, 0, 0, 202, 66, 0, 0, 36, 67, 0, 0, 202, 66, 0, 0, 37, 67, 0, 0, 202, 66, 0, 0, 38, 67, 0, 0, 202, 66, 0, 0, 39, 67, 0, 0, 202, 66, 0, 0, 40, 67, 0, 0, 202, 66, 0, 0, 41, 67, 0, 0, 202, 66, 0, 0, 42, 67, 0, 0, 202, 66, 0, 0, 43, 67, 0, 0, 202, 66, 0, 0, 44, 67, 0, 0, 202, 66, 0, 0, 45, 67, 0, 0, 202, 66, 0, 0, 46, 67, 0, 0, 202, 66, 0, 0, 47, 67, 0, 0, 202, 66, 0, 0, 48, 67, 0, 0, 202, 66, 0, 0, 49, 67, 0, 0, 202, 66, 0, 0, 50, 67, 0, 0, 202, 66, 0, 0, 51, 67, 0, 0, 202, 66, 0, 0, 52, 67, 0, 0, 202, 66, 0, 0, 53, 67, 0, 0, 202, 66, 0, 0, 54, 67, 0, 0, 202, 66, 0, 0, 55, 67, 0, 0, 204, 66, 0, 0, 184, 66, 0, 0, 204, 66, 0, 0, 186, 66, 0, 0, 204, 66, 0, 0, 188, 66, 0, 0, 204, 66, 0, 0, 190, 66, 0, 0, 204, 66, 0, 0, 192, 66, 0, 0, 204, 66, 0, 0, 194, 66, 0, 0, 204, 66, 0, 0, 196, 66, 0, 0, 204, 66, 0, 0, 198, 66, 0, 0, 204, 66, 0, 0, 200, 66, 0, 0, 204, 66, 0, 0, 202, 66, 0, 0, 204, 66, 0, 0, 204, 66, 0, 0, 204, 66, 0, 0, 206, 66, 0, 0, 204, 66, 0, 0, 208, 66, 0, 0, 204, 66, 0, 0, 210, 66, 0, 0, 204, 66, 0, 0, 212, 66, 0, 0, 204, 66, 0, 0, 214, 66, 0, 0, 204, 66, 0, 0, 216, 66, 0, 0, 204, 66, 0, 0, 218, 66, 0, 0, 204, 66, 0, 0, 220, 66, 0, 0, 204, 66, 0, 0, 222, 66, 0, 0, 204, 66, 0, 0, 224, 66, 0, 0, 204, 66, 0, 0, 226, 66, 0, 0, 204, 66, 0, 0, 228, 66, 0, 0, 204, 66, 0, 0, 230, 66, 0, 0, 204, 66, 0, 0, 232, 66, 0, 0, 204, 66, 0, 0, 234, 66, 0, 0, 204, 66, 0, 0, 236, 66, 0, 0, 204, 66, 0, 0, 238, 66, 0, 0, 204, 66, 0, 0, 240, 66, 0, 0, 204, 66, 0, 0, 242, 66, 0, 0, 204, 66, 0, 0, 244, 66, 0, 0, 204, 66, 0, 0, 246, 66, 0, 0, 204, 66, 0, 0, 248, 66, 0, 0, 204, 66, 0, 0, 250, 66, 0, 0, 204, 66, 0, 0, 252, 66, 0, 0, 204, 66, 0, 0, 254, 66, 0, 0, 204, 66, 0, 0, 0, 67, 0, 0, 204, 66, 0, 0, 1, 67, 0, 0, 204, 66, 0, 0, 2, 67, 0, 0, 204, 66, 0, 0, 3, 67, 0, 0, 204, 66, 0, 0, 4, 67, 0, 0, 204, 66, 0, 0, 5, 67, 0, 0, 204, 66, 0, 0, 6, 67, 0, 0, 204, 66, 0, 0, 7, 67, 0, 0, 204, 66, 0, 0, 8, 67, 0, 0, 204, 66, 0, 0, 9, 67, 0, 0, 204, 66, 0, 0, 10, 67, 0, 0, 204, 66, 0, 0, 11, 67, 0, 0, 204, 66, 0, 0, 12, 67, 0, 0, 204, 66, 0, 0, 13, 67, 0, 0, 204, 66, 0, 0, 14, 67, 0, 0, 204, 66, 0, 0, 15, 67, 0, 0, 204, 66, 0, 0, 16, 67, 0, 0, 204, 66, 0, 0, 17, 67, 0, 0, 204, 66, 0, 0, 18, 67, 0, 0, 204, 66, 0, 0, 19, 67, 0, 0, 204, 66, 0, 0, 20, 67, 0, 0, 204, 66, 0, 0, 21, 67, 0, 0, 204, 66, 0, 0, 22, 67, 0, 0, 204, 66, 0, 0, 23, 67, 0, 0, 204, 66, 0, 0, 24, 67, 0, 0, 204, 66, 0, 0, 25, 67, 0, 0, 204, 66, 0, 0, 26, 67, 0, 0, 204, 66, 0, 0, 27, 67, 0, 0, 204, 66, 0, 0, 28, 67, 0, 0, 204, 66, 0, 0, 29, 67, 0, 0, 204, 66, 0, 0, 30, 67, 0, 0, 204, 66, 0, 0, 31, 67, 0, 0, 204, 66, 0, 0, 32, 67, 0, 0, 204, 66, 0, 0, 33, 67, 0, 0, 204, 66, 0, 0, 34, 67, 0, 0, 204, 66, 0, 0, 35, 67, 0, 0, 204, 66, 0, 0, 36, 67, 0, 0, 204, 66, 0, 0, 37, 67, 0, 0, 204, 66, 0, 0, 38, 67, 0, 0, 204, 66, 0, 0, 39, 67, 0, 0, 204, 66, 0, 0, 40, 67, 0, 0, 204, 66, 0, 0, 41, 67, 0, 0, 204, 66, 0, 0, 42, 67, 0, 0, 204, 66, 0, 0, 43, 67, 0, 0, 204, 66, 0, 0, 44, 67, 0, 0, 204, 66, 0, 0, 45, 67, 0, 0, 204, 66, 0, 0, 46, 67, 0, 0, 204, 66, 0, 0, 47, 67, 0, 0, 204, 66, 0, 0, 48, 67, 0, 0, 204, 66, 0, 0, 49, 67, 0, 0, 204, 66, 0, 0, 50, 67, 0, 0, 204, 66, 0, 0, 51, 67, 0, 0, 204, 66, 0, 0, 52, 67, 0, 0, 204, 66, 0, 0, 53, 67, 0, 0, 204, 66, 0, 0, 54, 67, 0, 0, 204, 66, 0, 0, 55, 67, 0, 0, 206, 66, 0, 0, 184, 66, 0, 0, 206, 66, 0, 0, 186, 66, 0, 0, 206, 66, 0, 0, 188, 66, 0, 0, 206, 66, 0, 0, 190, 66, 0, 0, 206, 66, 0, 0, 192, 66, 0, 0, 206, 66, 0, 0, 194, 66, 0, 0, 206, 66, 0, 0, 196, 66, 0, 0, 206, 66, 0, 0, 198, 66, 0, 0, 206, 66, 0, 0, 200, 66, 0, 0, 206, 66, 0, 0, 202, 66, 0, 0, 206, 66, 0, 0, 204, 66, 0, 0, 206, 66, 0, 0, 206, 66, 0, 0, 206, 66, 0, 0, 208, 66, 0, 0, 206, 66, 0, 0, 210, 66, 0, 0, 206, 66, 0, 0, 212, 66, 0, 0, 206, 66, 0, 0, 214, 66, 0, 0, 206, 66, 0, 0, 216, 66, 0, 0, 206, 66, 0, 0, 218, 66, 0, 0, 206, 66, 0, 0, 220, 66, 0, 0, 206, 66, 0, 0, 222, 66, 0, 0, 206, 66, 0, 0, 224, 66, 0, 0, 206, 66, 0, 0, 226, 66, 0, 0, 206, 66, 0, 0, 228, 66, 0, 0, 206, 66, 0, 0, 230, 66, 0, 0, 206, 66, 0, 0, 232, 66, 0, 0, 206, 66, 0, 0, 234, 66, 0, 0, 206, 66, 0, 0, 236, 66, 0, 0, 206, 66, 0, 0, 238, 66, 0, 0, 206, 66, 0, 0, 240, 66, 0, 0, 206, 66, 0, 0, 242, 66, 0, 0, 206, 66, 0, 0, 244, 66, 0, 0, 206, 66, 0, 0, 246, 66, 0, 0, 206, 66, 0, 0, 248, 66, 0, 0, 206, 66, 0, 0, 250, 66, 0, 0, 206, 66, 0, 0, 252, 66, 0, 0, 206, 66, 0, 0, 254, 66, 0, 0, 206, 66, 0, 0, 0, 67, 0, 0, 206, 66, 0, 0, 1, 67, 0, 0, 206, 66, 0, 0, 2, 67, 0, 0, 206, 66, 0, 0, 3, 67, 0, 0, 206, 66, 0, 0, 4, 67, 0, 0, 206, 66, 0, 0, 5, 67, 0, 0, 206, 66, 0, 0, 6, 67, 0, 0, 206, 66, 0, 0, 7, 67, 0, 0, 206, 66, 0, 0, 8, 67, 0, 0, 206, 66, 0, 0, 9, 67, 0, 0, 206, 66, 0, 0, 10, 67, 0, 0, 206, 66, 0, 0, 11, 67, 0, 0, 206, 66, 0, 0, 12, 67, 0, 0, 206, 66, 0, 0, 13, 67, 0, 0, 206, 66, 0, 0, 14, 67, 0, 0, 206, 66, 0, 0, 15, 67, 0, 0, 206, 66, 0, 0, 16, 67, 0, 0, 206, 66, 0, 0, 17, 67, 0, 0, 206, 66, 0, 0, 18, 67, 0, 0, 206, 66, 0, 0, 19, 67, 0, 0, 206, 66, 0, 0, 20, 67, 0, 0, 206, 66, 0, 0, 21, 67, 0, 0, 206, 66, 0, 0, 22, 67, 0, 0, 206, 66, 0, 0, 23, 67, 0, 0, 206, 66, 0, 0, 24, 67, 0, 0, 206, 66, 0, 0, 25, 67, 0, 0, 206, 66, 0, 0, 26, 67, 0, 0, 206, 66, 0, 0, 27, 67, 0, 0, 206, 66, 0, 0, 28, 67, 0, 0, 206, 66, 0, 0, 29, 67, 0, 0, 206, 66, 0, 0, 30, 67, 0, 0, 206, 66, 0, 0, 31, 67, 0, 0, 206, 66, 0, 0, 32, 67, 0, 0, 206, 66, 0, 0, 33, 67, 0, 0, 206, 66, 0, 0, 34, 67, 0, 0, 206, 66, 0, 0, 35, 67, 0, 0, 206, 66, 0, 0, 36, 67, 0, 0, 206, 66, 0, 0, 37, 67, 0, 0, 206, 66, 0, 0, 38, 67, 0, 0, 206, 66, 0, 0, 39, 67, 0, 0, 206, 66, 0, 0, 40, 67, 0, 0, 206, 66, 0, 0, 41, 67, 0, 0, 206, 66, 0, 0, 42, 67, 0, 0, 206, 66, 0, 0, 43, 67, 0, 0, 206, 66, 0, 0, 44, 67, 0, 0, 206, 66, 0, 0, 45, 67, 0, 0, 206, 66, 0, 0, 46, 67, 0, 0, 206, 66, 0, 0, 47, 67, 0, 0, 206, 66, 0, 0, 48, 67, 0, 0, 206, 66, 0, 0, 49, 67, 0, 0, 206, 66, 0, 0, 50, 67, 0, 0, 206, 66, 0, 0, 51, 67, 0, 0, 206, 66, 0, 0, 52, 67, 0, 0, 206, 66, 0, 0, 53, 67, 0, 0, 206, 66, 0, 0, 54, 67, 0, 0, 206, 66, 0, 0, 55, 67, 0, 0, 208, 66, 0, 0, 184, 66, 0, 0, 208, 66, 0, 0, 186, 66, 0, 0, 208, 66, 0, 0, 188, 66, 0, 0, 208, 66, 0, 0, 190, 66, 0, 0, 208, 66, 0, 0, 192, 66, 0, 0, 208, 66, 0, 0, 194, 66, 0, 0, 208, 66, 0, 0, 196, 66, 0, 0, 208, 66, 0, 0, 198, 66, 0, 0, 208, 66, 0, 0, 200, 66, 0, 0, 208, 66, 0, 0, 202, 66, 0, 0, 208, 66, 0, 0, 204, 66, 0, 0, 208, 66, 0, 0, 206, 66, 0, 0, 208, 66, 0, 0, 208, 66, 0, 0, 208, 66, 0, 0, 210, 66, 0, 0, 208, 66, 0, 0, 212, 66, 0, 0, 208, 66, 0, 0, 214, 66, 0, 0, 208, 66, 0, 0, 216, 66, 0, 0, 208, 66, 0, 0, 218, 66, 0, 0, 208, 66, 0, 0, 220, 66, 0, 0, 208, 66, 0, 0, 222, 66, 0, 0, 208, 66, 0, 0, 224, 66, 0, 0, 208, 66, 0, 0, 226, 66, 0, 0, 208, 66, 0, 0, 228, 66, 0, 0, 208, 66, 0, 0, 230, 66, 0, 0, 208, 66, 0, 0, 232, 66, 0, 0, 208, 66, 0, 0, 234, 66, 0, 0, 208, 66, 0, 0, 236, 66, 0, 0, 208, 66, 0, 0, 238, 66, 0, 0, 208, 66, 0, 0, 240, 66, 0, 0, 208, 66, 0, 0, 242, 66, 0, 0, 208, 66, 0, 0, 244, 66, 0, 0, 208, 66, 0, 0, 246, 66, 0, 0, 208, 66, 0, 0, 248, 66, 0, 0, 208, 66, 0, 0, 250, 66, 0, 0, 208, 66, 0, 0, 252, 66, 0, 0, 208, 66, 0, 0, 254, 66, 0, 0, 208, 66, 0, 0, 0, 67, 0, 0, 208, 66, 0, 0, 1, 67, 0, 0, 208, 66, 0, 0, 2, 67, 0, 0, 208, 66, 0, 0, 3, 67, 0, 0, 208, 66, 0, 0, 4, 67, 0, 0, 208, 66, 0, 0, 5, 67, 0, 0, 208, 66, 0, 0, 6, 67, 0, 0, 208, 66, 0, 0, 7, 67, 0, 0, 208, 66, 0, 0, 8, 67, 0, 0, 208, 66, 0, 0, 9, 67, 0, 0, 208, 66, 0, 0, 10, 67, 0, 0, 208, 66, 0, 0, 11, 67, 0, 0, 208, 66, 0, 0, 12, 67, 0, 0, 208, 66, 0, 0, 13, 67, 0, 0, 208, 66, 0, 0, 14, 67, 0, 0, 208, 66, 0, 0, 15, 67, 0, 0, 208, 66, 0, 0, 16, 67, 0, 0, 208, 66, 0, 0, 17, 67, 0, 0, 208, 66, 0, 0, 18, 67, 0, 0, 208, 66, 0, 0, 19, 67, 0, 0, 208, 66, 0, 0, 20, 67, 0, 0, 208, 66, 0, 0, 21, 67, 0, 0, 208, 66, 0, 0, 22, 67, 0, 0, 208, 66, 0, 0, 23, 67, 0, 0, 208, 66, 0, 0, 24, 67, 0, 0, 208, 66, 0, 0, 25, 67, 0, 0, 208, 66, 0, 0, 26, 67, 0, 0, 208, 66, 0, 0, 27, 67, 0, 0, 208, 66, 0, 0, 28, 67, 0, 0, 208, 66, 0, 0, 29, 67, 0, 0, 208, 66, 0, 0, 30, 67, 0, 0, 208, 66, 0, 0, 31, 67, 0, 0, 208, 66, 0, 0, 32, 67, 0, 0, 208, 66, 0, 0, 33, 67, 0, 0, 208, 66, 0, 0, 34, 67, 0, 0, 208, 66, 0, 0, 35, 67, 0, 0, 208, 66, 0, 0, 36, 67, 0, 0, 208, 66, 0, 0, 37, 67, 0, 0, 208, 66, 0, 0, 38, 67, 0, 0, 208, 66, 0, 0, 39, 67, 0, 0, 208, 66, 0, 0, 40, 67, 0, 0, 208, 66, 0, 0, 41, 67, 0, 0, 208, 66, 0, 0, 42, 67, 0, 0, 208, 66, 0, 0, 43, 67, 0, 0, 208, 66, 0, 0, 44, 67, 0, 0, 208, 66, 0, 0, 45, 67, 0, 0, 208, 66, 0, 0, 46, 67, 0, 0, 208, 66, 0, 0, 47, 67, 0, 0, 208, 66, 0, 0, 48, 67, 0, 0, 208, 66, 0, 0, 49, 67, 0, 0, 208, 66, 0, 0, 50, 67, 0, 0, 208, 66, 0, 0, 51, 67, 0, 0, 208, 66, 0, 0, 52, 67, 0, 0, 208, 66, 0, 0, 53, 67, 0, 0, 208, 66, 0, 0, 54, 67, 0, 0, 208, 66, 0, 0, 55, 67, 0, 0, 210, 66, 0, 0, 184, 66, 0, 0, 210, 66, 0, 0, 186, 66, 0, 0, 210, 66, 0, 0, 188, 66, 0, 0, 210, 66, 0, 0, 190, 66, 0, 0, 210, 66, 0, 0, 192, 66, 0, 0, 210, 66, 0, 0, 194, 66, 0, 0, 210, 66, 0, 0, 196, 66, 0, 0, 210, 66, 0, 0, 198, 66, 0, 0, 210, 66, 0, 0, 200, 66, 0, 0, 210, 66, 0, 0, 202, 66, 0, 0, 210, 66, 0, 0, 204, 66, 0, 0, 210, 66, 0, 0, 206, 66, 0, 0, 210, 66, 0, 0, 208, 66, 0, 0, 210, 66, 0, 0, 210, 66, 0, 0, 210, 66, 0, 0, 212, 66, 0, 0, 210, 66, 0, 0, 214, 66, 0, 0, 210, 66, 0, 0, 216, 66, 0, 0, 210, 66, 0, 0, 218, 66, 0, 0, 210, 66, 0, 0, 220, 66, 0, 0, 210, 66, 0, 0, 222, 66, 0, 0, 210, 66, 0, 0, 224, 66, 0, 0, 210, 66, 0, 0, 226, 66, 0, 0, 210, 66, 0, 0, 228, 66, 0, 0, 210, 66, 0, 0, 230, 66, 0, 0, 210, 66, 0, 0, 232, 66, 0, 0, 210, 66, 0, 0, 234, 66, 0, 0, 210, 66, 0, 0, 236, 66, 0, 0, 210, 66, 0, 0, 238, 66, 0, 0, 210, 66, 0, 0, 240, 66, 0, 0, 210, 66, 0, 0, 242, 66, 0, 0, 210, 66, 0, 0, 244, 66, 0, 0, 210, 66, 0, 0, 246, 66, 0, 0, 210, 66, 0, 0, 248, 66, 0, 0, 210, 66, 0, 0, 250, 66, 0, 0, 210, 66, 0, 0, 252, 66, 0, 0, 210, 66, 0, 0, 254, 66, 0, 0, 210, 66, 0, 0, 0, 67, 0, 0, 210, 66, 0, 0, 1, 67, 0, 0, 210, 66, 0, 0, 2, 67, 0, 0, 210, 66, 0, 0, 3, 67, 0, 0, 210, 66, 0, 0, 4, 67, 0, 0, 210, 66, 0, 0, 5, 67, 0, 0, 210, 66, 0, 0, 6, 67, 0, 0, 210, 66, 0, 0, 7, 67, 0, 0, 210, 66, 0, 0, 8, 67, 0, 0, 210, 66, 0, 0, 9, 67, 0, 0, 210, 66, 0, 0, 10, 67, 0, 0, 210, 66, 0, 0, 11, 67, 0, 0, 210, 66, 0, 0, 12, 67, 0, 0, 210, 66, 0, 0, 13, 67, 0, 0, 210, 66, 0, 0, 14, 67, 0, 0, 210, 66, 0, 0, 15, 67, 0, 0, 210, 66, 0, 0, 16, 67, 0, 0, 210, 66, 0, 0, 17, 67, 0, 0, 210, 66, 0, 0, 18, 67, 0, 0, 210, 66, 0, 0, 19, 67, 0, 0, 210, 66, 0, 0, 20, 67, 0, 0, 210, 66, 0, 0, 21, 67, 0, 0, 210, 66, 0, 0, 22, 67, 0, 0, 210, 66, 0, 0, 23, 67, 0, 0, 210, 66, 0, 0, 24, 67, 0, 0, 210, 66, 0, 0, 25, 67, 0, 0, 210, 66, 0, 0, 26, 67, 0, 0, 210, 66, 0, 0, 27, 67, 0, 0, 210, 66, 0, 0, 28, 67, 0, 0, 210, 66, 0, 0, 29, 67, 0, 0, 210, 66, 0, 0, 30, 67, 0, 0, 210, 66, 0, 0, 31, 67, 0, 0, 210, 66, 0, 0, 32, 67, 0, 0, 210, 66, 0, 0, 33, 67, 0, 0, 210, 66, 0, 0, 34, 67, 0, 0, 210, 66, 0, 0, 35, 67, 0, 0, 210, 66, 0, 0, 36, 67, 0, 0, 210, 66, 0, 0, 37, 67, 0, 0, 210, 66, 0, 0, 38, 67, 0, 0, 210, 66, 0, 0, 39, 67, 0, 0, 210, 66, 0, 0, 40, 67, 0, 0, 210, 66, 0, 0, 41, 67, 0, 0, 210, 66, 0, 0, 42, 67, 0, 0, 210, 66, 0, 0, 43, 67, 0, 0, 210, 66, 0, 0, 44, 67, 0, 0, 210, 66, 0, 0, 45, 67, 0, 0, 210, 66, 0, 0, 46, 67, 0, 0, 210, 66, 0, 0, 47, 67, 0, 0, 210, 66, 0, 0, 48, 67, 0, 0, 210, 66, 0, 0, 49, 67, 0, 0, 210, 66, 0, 0, 50, 67, 0, 0, 210, 66, 0, 0, 51, 67, 0, 0, 210, 66, 0, 0, 52, 67, 0, 0, 210, 66, 0, 0, 53, 67, 0, 0, 210, 66, 0, 0, 54, 67, 0, 0, 210, 66, 0, 0, 55, 67, 0, 0, 212, 66, 0, 0, 184, 66, 0, 0, 212, 66, 0, 0, 186, 66, 0, 0, 212, 66, 0, 0, 188, 66, 0, 0, 212, 66, 0, 0, 190, 66, 0, 0, 212, 66, 0, 0, 192, 66, 0, 0, 212, 66, 0, 0, 194, 66, 0, 0, 212, 66, 0, 0, 196, 66, 0, 0, 212, 66, 0, 0, 198, 66, 0, 0, 212, 66, 0, 0, 200, 66, 0, 0, 212, 66, 0, 0, 202, 66, 0, 0, 212, 66, 0, 0, 204, 66, 0, 0, 212, 66, 0, 0, 206, 66, 0, 0, 212, 66, 0, 0, 208, 66, 0, 0, 212, 66, 0, 0, 210, 66, 0, 0, 212, 66, 0, 0, 212, 66, 0, 0, 212, 66, 0, 0, 214, 66, 0, 0, 212, 66, 0, 0, 216, 66, 0, 0, 212, 66, 0, 0, 218, 66, 0, 0, 212, 66, 0, 0, 220, 66, 0, 0, 212, 66, 0, 0, 222, 66, 0, 0, 212, 66, 0, 0, 224, 66, 0, 0, 212, 66, 0, 0, 226, 66, 0, 0, 212, 66, 0, 0, 228, 66, 0, 0, 212, 66, 0, 0, 230, 66, 0, 0, 212, 66, 0, 0, 232, 66, 0, 0, 212, 66, 0, 0, 234, 66, 0, 0, 212, 66, 0, 0, 236, 66, 0, 0, 212, 66, 0, 0, 238, 66, 0, 0, 212, 66, 0, 0, 240, 66, 0, 0, 212, 66, 0, 0, 242, 66, 0, 0, 212, 66, 0, 0, 244, 66, 0, 0, 212, 66, 0, 0, 246, 66, 0, 0, 212, 66, 0, 0, 248, 66, 0, 0, 212, 66, 0, 0, 250, 66, 0, 0, 212, 66, 0, 0, 252, 66, 0, 0, 212, 66, 0, 0, 254, 66, 0, 0, 212, 66, 0, 0, 0, 67, 0, 0, 212, 66, 0, 0, 1, 67, 0, 0, 212, 66, 0, 0, 2, 67, 0, 0, 212, 66, 0, 0, 3, 67, 0, 0, 212, 66, 0, 0, 4, 67, 0, 0, 212, 66, 0, 0, 5, 67, 0, 0, 212, 66, 0, 0, 6, 67, 0, 0, 212, 66, 0, 0, 7, 67, 0, 0, 212, 66, 0, 0, 8, 67, 0, 0, 212, 66, 0, 0, 9, 67, 0, 0, 212, 66, 0, 0, 10, 67, 0, 0, 212, 66, 0, 0, 11, 67, 0, 0, 212, 66, 0, 0, 12, 67, 0, 0, 212, 66, 0, 0, 13, 67, 0, 0, 212, 66, 0, 0, 14, 67, 0, 0, 212, 66, 0, 0, 15, 67, 0, 0, 212, 66, 0, 0, 16, 67, 0, 0, 212, 66, 0, 0, 17, 67, 0, 0, 212, 66, 0, 0, 18, 67, 0, 0, 212, 66, 0, 0, 19, 67, 0, 0, 212, 66, 0, 0, 20, 67, 0, 0, 212, 66, 0, 0, 21, 67, 0, 0, 212, 66, 0, 0, 22, 67, 0, 0, 212, 66, 0, 0, 23, 67, 0, 0, 212, 66, 0, 0, 24, 67, 0, 0, 212, 66, 0, 0, 25, 67, 0, 0, 212, 66, 0, 0, 26, 67, 0, 0, 212, 66, 0, 0, 27, 67, 0, 0, 212, 66, 0, 0, 28, 67, 0, 0, 212, 66, 0, 0, 29, 67, 0, 0, 212, 66, 0, 0, 30, 67, 0, 0, 212, 66, 0, 0, 31, 67, 0, 0, 212, 66, 0, 0, 32, 67, 0, 0, 212, 66, 0, 0, 33, 67, 0, 0, 212, 66, 0, 0, 34, 67, 0, 0, 212, 66, 0, 0, 35, 67, 0, 0, 212, 66, 0, 0, 36, 67, 0, 0, 212, 66, 0, 0, 37, 67, 0, 0, 212, 66, 0, 0, 38, 67, 0, 0, 212, 66, 0, 0, 39, 67, 0, 0, 212, 66, 0, 0, 40, 67, 0, 0, 212, 66, 0, 0, 41, 67, 0, 0, 212, 66, 0, 0, 42, 67, 0, 0, 212, 66, 0, 0, 43, 67, 0, 0, 212, 66, 0, 0, 44, 67, 0, 0, 212, 66, 0, 0, 45, 67, 0, 0, 212, 66, 0, 0, 46, 67, 0, 0, 212, 66, 0, 0, 47, 67, 0, 0, 212, 66, 0, 0, 48, 67, 0, 0, 212, 66, 0, 0, 49, 67, 0, 0, 212, 66, 0, 0, 50, 67, 0, 0, 212, 66, 0, 0, 51, 67, 0, 0, 212, 66, 0, 0, 52, 67, 0, 0, 212, 66, 0, 0, 53, 67, 0, 0, 212, 66, 0, 0, 54, 67, 0, 0, 212, 66, 0, 0, 55, 67, 0, 0, 214, 66, 0, 0, 184, 66, 0, 0, 214, 66, 0, 0, 186, 66, 0, 0, 214, 66, 0, 0, 188, 66, 0, 0, 214, 66, 0, 0, 190, 66, 0, 0, 214, 66, 0, 0, 192, 66, 0, 0, 214, 66, 0, 0, 194, 66, 0, 0, 214, 66, 0, 0, 196, 66, 0, 0, 214, 66, 0, 0, 198, 66, 0, 0, 214, 66, 0, 0, 200, 66, 0, 0, 214, 66, 0, 0, 202, 66, 0, 0, 214, 66, 0, 0, 204, 66, 0, 0, 214, 66, 0, 0, 206, 66, 0, 0, 214, 66, 0, 0, 208, 66, 0, 0, 214, 66, 0, 0, 210, 66, 0, 0, 214, 66, 0, 0, 212, 66, 0, 0, 214, 66, 0, 0, 214, 66, 0, 0, 214, 66, 0, 0, 216, 66, 0, 0, 214, 66, 0, 0, 218, 66, 0, 0, 214, 66, 0, 0, 220, 66, 0, 0, 214, 66, 0, 0, 222, 66, 0, 0, 214, 66, 0, 0, 224, 66, 0, 0, 214, 66, 0, 0, 226, 66, 0, 0, 214, 66, 0, 0, 228, 66, 0, 0, 214, 66, 0, 0, 230, 66, 0, 0, 214, 66, 0, 0, 232, 66, 0, 0, 214, 66, 0, 0, 234, 66, 0, 0, 214, 66, 0, 0, 236, 66, 0, 0, 214, 66, 0, 0, 238, 66, 0, 0, 214, 66, 0, 0, 240, 66, 0, 0, 214, 66, 0, 0, 242, 66, 0, 0, 214, 66, 0, 0, 244, 66, 0, 0, 214, 66, 0, 0, 246, 66, 0, 0, 214, 66, 0, 0, 248, 66, 0, 0, 214, 66, 0, 0, 250, 66, 0, 0, 214, 66, 0, 0, 252, 66, 0, 0, 214, 66, 0, 0, 254, 66, 0, 0, 214, 66, 0, 0, 0, 67, 0, 0, 214, 66, 0, 0, 1, 67, 0, 0, 214, 66, 0, 0, 2, 67, 0, 0, 214, 66, 0, 0, 3, 67, 0, 0, 214, 66, 0, 0, 4, 67, 0, 0, 214, 66, 0, 0, 5, 67, 0, 0, 214, 66, 0, 0, 6, 67, 0, 0, 214, 66, 0, 0, 7, 67, 0, 0, 214, 66, 0, 0, 8, 67, 0, 0, 214, 66, 0, 0, 9, 67, 0, 0, 214, 66, 0, 0, 10, 67, 0, 0, 214, 66, 0, 0, 11, 67, 0, 0, 214, 66, 0, 0, 12, 67, 0, 0, 214, 66, 0, 0, 13, 67, 0, 0, 214, 66, 0, 0, 14, 67, 0, 0, 214, 66, 0, 0, 15, 67, 0, 0, 214, 66, 0, 0, 16, 67, 0, 0, 214, 66, 0, 0, 17, 67, 0, 0, 214, 66, 0, 0, 18, 67, 0, 0, 214, 66, 0, 0, 19, 67, 0, 0, 214, 66, 0, 0, 20, 67, 0, 0, 214, 66, 0, 0, 21, 67, 0, 0, 214, 66, 0, 0, 22, 67, 0, 0, 214, 66, 0, 0, 23, 67, 0, 0, 214, 66, 0, 0, 24, 67, 0, 0, 214, 66, 0, 0, 25, 67, 0, 0, 214, 66, 0, 0, 26, 67, 0, 0, 214, 66, 0, 0, 27, 67, 0, 0, 214, 66, 0, 0, 28, 67, 0, 0, 214, 66, 0, 0, 29, 67, 0, 0, 214, 66, 0, 0, 30, 67, 0, 0, 214, 66, 0, 0, 31, 67, 0, 0, 214, 66, 0, 0, 32, 67, 0, 0, 214, 66, 0, 0, 33, 67, 0, 0, 214, 66, 0, 0, 34, 67, 0, 0, 214, 66, 0, 0, 35, 67, 0, 0, 214, 66, 0, 0, 36, 67, 0, 0, 214, 66, 0, 0, 37, 67, 0, 0, 214, 66, 0, 0, 38, 67, 0, 0, 214, 66, 0, 0, 39, 67, 0, 0, 214, 66, 0, 0, 40, 67, 0, 0, 214, 66, 0, 0, 41, 67, 0, 0, 214, 66, 0, 0, 42, 67, 0, 0, 214, 66, 0, 0, 43, 67, 0, 0, 214, 66, 0, 0, 44, 67, 0, 0, 214, 66, 0, 0, 45, 67, 0, 0, 214, 66, 0, 0, 46, 67, 0, 0, 214, 66, 0, 0, 47, 67, 0, 0, 214, 66, 0, 0, 48, 67, 0, 0, 214, 66, 0, 0, 49, 67, 0, 0, 214, 66, 0, 0, 50, 67, 0, 0, 214, 66, 0, 0, 51, 67, 0, 0, 214, 66, 0, 0, 52, 67, 0, 0, 214, 66, 0, 0, 53, 67, 0, 0, 214, 66, 0, 0, 54, 67, 0, 0, 214, 66, 0, 0, 55, 67, 0, 0, 216, 66, 0, 0, 184, 66, 0, 0, 216, 66, 0, 0, 186, 66, 0, 0, 216, 66, 0, 0, 188, 66, 0, 0, 216, 66, 0, 0, 190, 66, 0, 0, 216, 66, 0, 0, 192, 66, 0, 0, 216, 66, 0, 0, 194, 66, 0, 0, 216, 66, 0, 0, 196, 66, 0, 0, 216, 66, 0, 0, 198, 66, 0, 0, 216, 66, 0, 0, 200, 66, 0, 0, 216, 66, 0, 0, 202, 66, 0, 0, 216, 66, 0, 0, 204, 66, 0, 0, 216, 66, 0, 0, 206, 66, 0, 0, 216, 66, 0, 0, 208, 66, 0, 0, 216, 66, 0, 0, 210, 66, 0, 0, 216, 66, 0, 0, 212, 66, 0, 0, 216, 66, 0, 0, 214, 66, 0, 0, 216, 66, 0, 0, 216, 66, 0, 0, 216, 66, 0, 0, 218, 66, 0, 0, 216, 66, 0, 0, 220, 66, 0, 0, 216, 66, 0, 0, 222, 66, 0, 0, 216, 66, 0, 0, 224, 66, 0, 0, 216, 66, 0, 0, 226, 66, 0, 0, 216, 66, 0, 0, 228, 66, 0, 0, 216, 66, 0, 0, 230, 66, 0, 0, 216, 66, 0, 0, 232, 66, 0, 0, 216, 66, 0, 0, 234, 66, 0, 0, 216, 66, 0, 0, 236, 66, 0, 0, 216, 66, 0, 0, 238, 66, 0, 0, 216, 66, 0, 0, 240, 66, 0, 0, 216, 66, 0, 0, 242, 66, 0, 0, 216, 66, 0, 0, 244, 66, 0, 0, 216, 66, 0, 0, 246, 66, 0, 0, 216, 66, 0, 0, 248, 66, 0, 0, 216, 66, 0, 0, 250, 66, 0, 0, 216, 66, 0, 0, 252, 66, 0, 0, 216, 66, 0, 0, 254, 66, 0, 0, 216, 66, 0, 0, 0, 67, 0, 0, 216, 66, 0, 0, 1, 67, 0, 0, 216, 66, 0, 0, 2, 67, 0, 0, 216, 66, 0, 0, 3, 67, 0, 0, 216, 66, 0, 0, 4, 67, 0, 0, 216, 66, 0, 0, 5, 67, 0, 0, 216, 66, 0, 0, 6, 67, 0, 0, 216, 66, 0, 0, 7, 67, 0, 0, 216, 66, 0, 0, 8, 67, 0, 0, 216, 66, 0, 0, 9, 67, 0, 0, 216, 66, 0, 0, 10, 67, 0, 0, 216, 66, 0, 0, 11, 67, 0, 0, 216, 66, 0, 0, 12, 67, 0, 0, 216, 66, 0, 0, 13, 67, 0, 0, 216, 66, 0, 0, 14, 67, 0, 0, 216, 66, 0, 0, 15, 67, 0, 0, 216, 66, 0, 0, 16, 67, 0, 0, 216, 66, 0, 0, 17, 67, 0, 0, 216, 66, 0, 0, 18, 67, 0, 0, 216, 66, 0, 0, 19, 67, 0, 0, 216, 66, 0, 0, 20, 67, 0, 0, 216, 66, 0, 0, 21, 67, 0, 0, 216, 66, 0, 0, 22, 67, 0, 0, 216, 66, 0, 0, 23, 67, 0, 0, 216, 66, 0, 0, 24, 67, 0, 0, 216, 66, 0, 0, 25, 67, 0, 0, 216, 66, 0, 0, 26, 67, 0, 0, 216, 66, 0, 0, 27, 67, 0, 0, 216, 66, 0, 0, 28, 67, 0, 0, 216, 66, 0, 0, 29, 67, 0, 0, 216, 66, 0, 0, 30, 67, 0, 0, 216, 66, 0, 0, 31, 67, 0, 0, 216, 66, 0, 0, 32, 67, 0, 0, 216, 66, 0, 0, 33, 67, 0, 0, 216, 66, 0, 0, 34, 67, 0, 0, 216, 66, 0, 0, 35, 67, 0, 0, 216, 66, 0, 0, 36, 67, 0, 0, 216, 66, 0, 0, 37, 67, 0, 0, 216, 66, 0, 0, 38, 67, 0, 0, 216, 66, 0, 0, 39, 67, 0, 0, 216, 66, 0, 0, 40, 67, 0, 0, 216, 66, 0, 0, 41, 67, 0, 0, 216, 66, 0, 0, 42, 67, 0, 0, 216, 66, 0, 0, 43, 67, 0, 0, 216, 66, 0, 0, 44, 67, 0, 0, 216, 66, 0, 0, 45, 67, 0, 0, 216, 66, 0, 0, 46, 67, 0, 0, 216, 66, 0, 0, 47, 67, 0, 0, 216, 66, 0, 0, 48, 67, 0, 0, 216, 66, 0, 0, 49, 67, 0, 0, 216, 66, 0, 0, 50, 67, 0, 0, 216, 66, 0, 0, 51, 67, 0, 0, 216, 66, 0, 0, 52, 67, 0, 0, 216, 66, 0, 0, 53, 67, 0, 0, 216, 66, 0, 0, 54, 67, 0, 0, 216, 66, 0, 0, 55, 67, 0, 0, 218, 66, 0, 0, 184, 66, 0, 0, 218, 66, 0, 0, 186, 66, 0, 0, 218, 66, 0, 0, 188, 66, 0, 0, 218, 66, 0, 0, 190, 66, 0, 0, 218, 66, 0, 0, 192, 66, 0, 0, 218, 66, 0, 0, 194, 66, 0, 0, 218, 66, 0, 0, 196, 66, 0, 0, 218, 66, 0, 0, 198, 66, 0, 0, 218, 66, 0, 0, 200, 66, 0, 0, 218, 66, 0, 0, 202, 66, 0, 0, 218, 66, 0, 0, 204, 66, 0, 0, 218, 66, 0, 0, 206, 66, 0, 0, 218, 66, 0, 0, 208, 66, 0, 0, 218, 66, 0, 0, 210, 66, 0, 0, 218, 66, 0, 0, 212, 66, 0, 0, 218, 66, 0, 0, 214, 66, 0, 0, 218, 66, 0, 0, 216, 66, 0, 0, 218, 66, 0, 0, 218, 66, 0, 0, 218, 66, 0, 0, 220, 66, 0, 0, 218, 66, 0, 0, 222, 66, 0, 0, 218, 66, 0, 0, 224, 66, 0, 0, 218, 66, 0, 0, 226, 66, 0, 0, 218, 66, 0, 0, 228, 66, 0, 0, 218, 66, 0, 0, 230, 66, 0, 0, 218, 66, 0, 0, 232, 66, 0, 0, 218, 66, 0, 0, 234, 66, 0, 0, 218, 66, 0, 0, 236, 66, 0, 0, 218, 66, 0, 0, 238, 66, 0, 0, 218, 66, 0, 0, 240, 66, 0, 0, 218, 66, 0, 0, 242, 66, 0, 0, 218, 66, 0, 0, 244, 66, 0, 0, 218, 66, 0, 0, 246, 66, 0, 0, 218, 66, 0, 0, 248, 66, 0, 0, 218, 66, 0, 0, 250, 66, 0, 0, 218, 66, 0, 0, 252, 66, 0, 0, 218, 66, 0, 0, 254, 66, 0, 0, 218, 66, 0, 0, 0, 67, 0, 0, 218, 66, 0, 0, 1, 67, 0, 0, 218, 66, 0, 0, 2, 67, 0, 0, 218, 66, 0, 0, 3, 67, 0, 0, 218, 66, 0, 0, 4, 67, 0, 0, 218, 66, 0, 0, 5, 67, 0, 0, 218, 66, 0, 0, 6, 67, 0, 0, 218, 66, 0, 0, 7, 67, 0, 0, 218, 66, 0, 0, 8, 67, 0, 0, 218, 66, 0, 0, 9, 67, 0, 0, 218, 66, 0, 0, 10, 67, 0, 0, 218, 66, 0, 0, 11, 67, 0, 0, 218, 66, 0, 0, 12, 67, 0, 0, 218, 66, 0, 0, 13, 67, 0, 0, 218, 66, 0, 0, 14, 67, 0, 0, 218, 66, 0, 0, 15, 67, 0, 0, 218, 66, 0, 0, 16, 67, 0, 0, 218, 66, 0, 0, 17, 67, 0, 0, 218, 66, 0, 0, 18, 67, 0, 0, 218, 66, 0, 0, 19, 67, 0, 0, 218, 66, 0, 0, 20, 67, 0, 0, 218, 66, 0, 0, 21, 67, 0, 0, 218, 66, 0, 0, 22, 67, 0, 0, 218, 66, 0, 0, 23, 67, 0, 0, 218, 66, 0, 0, 24, 67, 0, 0, 218, 66, 0, 0, 25, 67, 0, 0, 218, 66, 0, 0, 26, 67, 0, 0, 218, 66, 0, 0, 27, 67, 0, 0, 218, 66, 0, 0, 28, 67, 0, 0, 218, 66, 0, 0, 29, 67, 0, 0, 218, 66, 0, 0, 30, 67, 0, 0, 218, 66, 0, 0, 31, 67, 0, 0, 218, 66, 0, 0, 32, 67, 0, 0, 218, 66, 0, 0, 33, 67, 0, 0, 218, 66, 0, 0, 34, 67, 0, 0, 218, 66, 0, 0, 35, 67, 0, 0, 218, 66, 0, 0, 36, 67, 0, 0, 218, 66, 0, 0, 37, 67, 0, 0, 218, 66, 0, 0, 38, 67, 0, 0, 218, 66, 0, 0, 39, 67, 0, 0, 218, 66, 0, 0, 40, 67, 0, 0, 218, 66, 0, 0, 41, 67, 0, 0, 218, 66, 0, 0, 42, 67, 0, 0, 218, 66, 0, 0, 43, 67, 0, 0, 218, 66, 0, 0, 44, 67, 0, 0, 218, 66, 0, 0, 45, 67, 0, 0, 218, 66, 0, 0, 46, 67, 0, 0, 218, 66, 0, 0, 47, 67, 0, 0, 218, 66, 0, 0, 48, 67, 0, 0, 218, 66, 0, 0, 49, 67, 0, 0, 218, 66, 0, 0, 50, 67, 0, 0, 218, 66, 0, 0, 51, 67, 0, 0, 218, 66, 0, 0, 52, 67, 0, 0, 218, 66, 0, 0, 53, 67, 0, 0, 218, 66, 0, 0, 54, 67, 0, 0, 218, 66, 0, 0, 55, 67, 0, 0, 220, 66, 0, 0, 184, 66, 0, 0, 220, 66, 0, 0, 186, 66, 0, 0, 220, 66, 0, 0, 188, 66, 0, 0, 220, 66, 0, 0, 190, 66, 0, 0, 220, 66, 0, 0, 192, 66, 0, 0, 220, 66, 0, 0, 194, 66, 0, 0, 220, 66, 0, 0, 196, 66, 0, 0, 220, 66, 0, 0, 198, 66, 0, 0, 220, 66, 0, 0, 200, 66, 0, 0, 220, 66, 0, 0, 202, 66, 0, 0, 220, 66, 0, 0, 204, 66, 0, 0, 220, 66, 0, 0, 206, 66, 0, 0, 220, 66, 0, 0, 208, 66, 0, 0, 220, 66, 0, 0, 210, 66, 0, 0, 220, 66, 0, 0, 212, 66, 0, 0, 220, 66, 0, 0, 214, 66, 0, 0, 220, 66, 0, 0, 216, 66, 0, 0, 220, 66, 0, 0, 218, 66, 0, 0, 220, 66, 0, 0, 220, 66, 0, 0, 220, 66, 0, 0, 222, 66, 0, 0, 220, 66, 0, 0, 224, 66, 0, 0, 220, 66, 0, 0, 226, 66, 0, 0, 220, 66, 0, 0, 228, 66, 0, 0, 220, 66, 0, 0, 230, 66, 0, 0, 220, 66, 0, 0, 232, 66, 0, 0, 220, 66, 0, 0, 234, 66, 0, 0, 220, 66, 0, 0, 236, 66, 0, 0, 220, 66, 0, 0, 238, 66, 0, 0, 220, 66, 0, 0, 240, 66, 0, 0, 220, 66, 0, 0, 242, 66, 0, 0, 220, 66, 0, 0, 244, 66, 0, 0, 220, 66, 0, 0, 246, 66, 0, 0, 220, 66, 0, 0, 248, 66, 0, 0, 220, 66, 0, 0, 250, 66, 0, 0, 220, 66, 0, 0, 252, 66, 0, 0, 220, 66, 0, 0, 254, 66, 0, 0, 220, 66, 0, 0, 0, 67, 0, 0, 220, 66, 0, 0, 1, 67, 0, 0, 220, 66, 0, 0, 2, 67, 0, 0, 220, 66, 0, 0, 3, 67, 0, 0, 220, 66, 0, 0, 4, 67, 0, 0, 220, 66, 0, 0, 5, 67, 0, 0, 220, 66, 0, 0, 6, 67, 0, 0, 220, 66, 0, 0, 7, 67, 0, 0, 220, 66, 0, 0, 8, 67, 0, 0, 220, 66, 0, 0, 9, 67, 0, 0, 220, 66, 0, 0, 10, 67, 0, 0, 220, 66, 0, 0, 11, 67, 0, 0, 220, 66, 0, 0, 12, 67, 0, 0, 220, 66, 0, 0, 13, 67, 0, 0, 220, 66, 0, 0, 14, 67, 0, 0, 220, 66, 0, 0, 15, 67, 0, 0, 220, 66, 0, 0, 16, 67, 0, 0, 220, 66, 0, 0, 17, 67, 0, 0, 220, 66, 0, 0, 18, 67, 0, 0, 220, 66, 0, 0, 19, 67, 0, 0, 220, 66, 0, 0, 20, 67, 0, 0, 220, 66, 0, 0, 21, 67, 0, 0, 220, 66, 0, 0, 22, 67, 0, 0, 220, 66, 0, 0, 23, 67, 0, 0, 220, 66, 0, 0, 24, 67, 0, 0, 220, 66, 0, 0, 25, 67, 0, 0, 220, 66, 0, 0, 26, 67, 0, 0, 220, 66, 0, 0, 27, 67, 0, 0, 220, 66, 0, 0, 28, 67, 0, 0, 220, 66, 0, 0, 29, 67, 0, 0, 220, 66, 0, 0, 30, 67, 0, 0, 220, 66, 0, 0, 31, 67, 0, 0, 220, 66, 0, 0, 32, 67, 0, 0, 220, 66, 0, 0, 33, 67, 0, 0, 220, 66, 0, 0, 34, 67, 0, 0, 220, 66, 0, 0, 35, 67, 0, 0, 220, 66, 0, 0, 36, 67, 0, 0, 220, 66, 0, 0, 37, 67, 0, 0, 220, 66, 0, 0, 38, 67, 0, 0, 220, 66, 0, 0, 39, 67, 0, 0, 220, 66, 0, 0, 40, 67, 0, 0, 220, 66, 0, 0, 41, 67, 0, 0, 220, 66, 0, 0, 42, 67, 0, 0, 220, 66, 0, 0, 43, 67, 0, 0, 220, 66, 0, 0, 44, 67, 0, 0, 220, 66, 0, 0, 45, 67, 0, 0, 220, 66, 0, 0, 46, 67, 0, 0, 220, 66, 0, 0, 47, 67, 0, 0, 220, 66, 0, 0, 48, 67, 0, 0, 220, 66, 0, 0, 49, 67, 0, 0, 220, 66, 0, 0, 50, 67, 0, 0, 220, 66, 0, 0, 51, 67, 0, 0, 220, 66, 0, 0, 52, 67, 0, 0, 220, 66, 0, 0, 53, 67, 0, 0, 220, 66, 0, 0, 54, 67, 0, 0, 220, 66, 0, 0, 55, 67, 0, 0, 222, 66, 0, 0, 184, 66, 0, 0, 222, 66, 0, 0, 186, 66, 0, 0, 222, 66, 0, 0, 188, 66, 0, 0, 222, 66, 0, 0, 190, 66, 0, 0, 222, 66, 0, 0, 192, 66, 0, 0, 222, 66, 0, 0, 194, 66, 0, 0, 222, 66, 0, 0, 196, 66, 0, 0, 222, 66, 0, 0, 198, 66, 0, 0, 222, 66, 0, 0, 200, 66, 0, 0, 222, 66, 0, 0, 202, 66, 0, 0, 222, 66, 0, 0, 204, 66, 0, 0, 222, 66, 0, 0, 206, 66, 0, 0, 222, 66, 0, 0, 208, 66, 0, 0, 222, 66, 0, 0, 210, 66, 0, 0, 222, 66, 0, 0, 212, 66, 0, 0, 222, 66, 0, 0, 214, 66, 0, 0, 222, 66, 0, 0, 216, 66, 0, 0, 222, 66, 0, 0, 218, 66, 0, 0, 222, 66, 0, 0, 220, 66, 0, 0, 222, 66, 0, 0, 222, 66, 0, 0, 222, 66, 0, 0, 224, 66, 0, 0, 222, 66, 0, 0, 226, 66, 0, 0, 222, 66, 0, 0, 228, 66, 0, 0, 222, 66, 0, 0, 230, 66, 0, 0, 222, 66, 0, 0, 232, 66, 0, 0, 222, 66, 0, 0, 234, 66, 0, 0, 222, 66, 0, 0, 236, 66, 0, 0, 222, 66, 0, 0, 238, 66, 0, 0, 222, 66, 0, 0, 240, 66, 0, 0, 222, 66, 0, 0, 242, 66, 0, 0, 222, 66, 0, 0, 244, 66, 0, 0, 222, 66, 0, 0, 246, 66, 0, 0, 222, 66, 0, 0, 248, 66, 0, 0, 222, 66, 0, 0, 250, 66, 0, 0, 222, 66, 0, 0, 252, 66, 0, 0, 222, 66, 0, 0, 254, 66, 0, 0, 222, 66, 0, 0, 0, 67, 0, 0, 222, 66, 0, 0, 1, 67, 0, 0, 222, 66, 0, 0, 2, 67, 0, 0, 222, 66, 0, 0, 3, 67, 0, 0, 222, 66, 0, 0, 4, 67, 0, 0, 222, 66, 0, 0, 5, 67, 0, 0, 222, 66, 0, 0, 6, 67, 0, 0, 222, 66, 0, 0, 7, 67, 0, 0, 222, 66, 0, 0, 8, 67, 0, 0, 222, 66, 0, 0, 9, 67, 0, 0, 222, 66, 0, 0, 10, 67, 0, 0, 222, 66, 0, 0, 11, 67, 0, 0, 222, 66, 0, 0, 12, 67, 0, 0, 222, 66, 0, 0, 13, 67, 0, 0, 222, 66, 0, 0, 14, 67, 0, 0, 222, 66, 0, 0, 15, 67, 0, 0, 222, 66, 0, 0, 16, 67, 0, 0, 222, 66, 0, 0, 17, 67, 0, 0, 222, 66, 0, 0, 18, 67, 0, 0, 222, 66, 0, 0, 19, 67, 0, 0, 222, 66, 0, 0, 20, 67, 0, 0, 222, 66, 0, 0, 21, 67, 0, 0, 222, 66, 0, 0, 22, 67, 0, 0, 222, 66, 0, 0, 23, 67, 0, 0, 222, 66, 0, 0, 24, 67, 0, 0, 222, 66, 0, 0, 25, 67, 0, 0, 222, 66, 0, 0, 26, 67, 0, 0, 222, 66, 0, 0, 27, 67, 0, 0, 222, 66, 0, 0, 28, 67, 0, 0, 222, 66, 0, 0, 29, 67, 0, 0, 222, 66, 0, 0, 30, 67, 0, 0, 222, 66, 0, 0, 31, 67, 0, 0, 222, 66, 0, 0, 32, 67, 0, 0, 222, 66, 0, 0, 33, 67, 0, 0, 222, 66, 0, 0, 34, 67, 0, 0, 222, 66, 0, 0, 35, 67, 0, 0, 222, 66, 0, 0, 36, 67, 0, 0, 222, 66, 0, 0, 37, 67, 0, 0, 222, 66, 0, 0, 38, 67, 0, 0, 222, 66, 0, 0, 39, 67, 0, 0, 222, 66, 0, 0, 40, 67, 0, 0, 222, 66, 0, 0, 41, 67, 0, 0, 222, 66, 0, 0, 42, 67, 0, 0, 222, 66, 0, 0, 43, 67, 0, 0, 222, 66, 0, 0, 44, 67, 0, 0, 222, 66, 0, 0, 45, 67, 0, 0, 222, 66, 0, 0, 46, 67, 0, 0, 222, 66, 0, 0, 47, 67, 0, 0, 222, 66, 0, 0, 48, 67, 0, 0, 222, 66, 0, 0, 49, 67, 0, 0, 222, 66, 0, 0, 50, 67, 0, 0, 222, 66, 0, 0, 51, 67, 0, 0, 222, 66, 0, 0, 52, 67, 0, 0, 222, 66, 0, 0, 53, 67, 0, 0, 222, 66, 0, 0, 54, 67, 0, 0, 222, 66, 0, 0, 55, 67, 0, 0, 224, 66, 0, 0, 184, 66, 0, 0, 224, 66, 0, 0, 186, 66, 0, 0, 224, 66, 0, 0, 188, 66, 0, 0, 224, 66, 0, 0, 190, 66, 0, 0, 224, 66, 0, 0, 192, 66, 0, 0, 224, 66, 0, 0, 194, 66, 0, 0, 224, 66, 0, 0, 196, 66, 0, 0, 224, 66, 0, 0, 198, 66, 0, 0, 224, 66, 0, 0, 200, 66, 0, 0, 224, 66, 0, 0, 202, 66, 0, 0, 224, 66, 0, 0, 204, 66, 0, 0, 224, 66, 0, 0, 206, 66, 0, 0, 224, 66, 0, 0, 208, 66, 0, 0, 224, 66, 0, 0, 210, 66, 0, 0, 224, 66, 0, 0, 212, 66, 0, 0, 224, 66, 0, 0, 214, 66, 0, 0, 224, 66, 0, 0, 216, 66, 0, 0, 224, 66, 0, 0, 218, 66, 0, 0, 224, 66, 0, 0, 220, 66, 0, 0, 224, 66, 0, 0, 222, 66, 0, 0, 224, 66, 0, 0, 224, 66, 0, 0, 224, 66, 0, 0, 226, 66, 0, 0, 224, 66, 0, 0, 228, 66, 0, 0, 224, 66, 0, 0, 230, 66, 0, 0, 224, 66, 0, 0, 232, 66, 0, 0, 224, 66, 0, 0, 234, 66, 0, 0, 224, 66, 0, 0, 236, 66, 0, 0, 224, 66, 0, 0, 238, 66, 0, 0, 224, 66, 0, 0, 240, 66, 0, 0, 224, 66, 0, 0, 242, 66, 0, 0, 224, 66, 0, 0, 244, 66, 0, 0, 224, 66, 0, 0, 246, 66, 0, 0, 224, 66, 0, 0, 248, 66, 0, 0, 224, 66, 0, 0, 250, 66, 0, 0, 224, 66, 0, 0, 252, 66, 0, 0, 224, 66, 0, 0, 254, 66, 0, 0, 224, 66, 0, 0, 0, 67, 0, 0, 224, 66, 0, 0, 1, 67, 0, 0, 224, 66, 0, 0, 2, 67, 0, 0, 224, 66, 0, 0, 3, 67, 0, 0, 224, 66, 0, 0, 4, 67, 0, 0, 224, 66, 0, 0, 5, 67, 0, 0, 224, 66, 0, 0, 6, 67, 0, 0, 224, 66, 0, 0, 7, 67, 0, 0, 224, 66, 0, 0, 8, 67, 0, 0, 224, 66, 0, 0, 9, 67, 0, 0, 224, 66, 0, 0, 10, 67, 0, 0, 224, 66, 0, 0, 11, 67, 0, 0, 224, 66, 0, 0, 12, 67, 0, 0, 224, 66, 0, 0, 13, 67, 0, 0, 224, 66, 0, 0, 14, 67, 0, 0, 224, 66, 0, 0, 15, 67, 0, 0, 224, 66, 0, 0, 16, 67, 0, 0, 224, 66, 0, 0, 17, 67, 0, 0, 224, 66, 0, 0, 18, 67, 0, 0, 224, 66, 0, 0, 19, 67, 0, 0, 224, 66, 0, 0, 20, 67, 0, 0, 224, 66, 0, 0, 21, 67, 0, 0, 224, 66, 0, 0, 22, 67, 0, 0, 224, 66, 0, 0, 23, 67, 0, 0, 224, 66, 0, 0, 24, 67, 0, 0, 224, 66, 0, 0, 25, 67, 0, 0, 224, 66, 0, 0, 26, 67, 0, 0, 224, 66, 0, 0, 27, 67, 0, 0, 224, 66, 0, 0, 28, 67, 0, 0, 224, 66, 0, 0, 29, 67, 0, 0, 224, 66, 0, 0, 30, 67, 0, 0, 224, 66, 0, 0, 31, 67, 0, 0, 224, 66, 0, 0, 32, 67, 0, 0, 224, 66, 0, 0, 33, 67, 0, 0, 224, 66, 0, 0, 34, 67, 0, 0, 224, 66, 0, 0, 35, 67, 0, 0, 224, 66, 0, 0, 36, 67, 0, 0, 224, 66, 0, 0, 37, 67, 0, 0, 224, 66, 0, 0, 38, 67, 0, 0, 224, 66, 0, 0, 39, 67, 0, 0, 224, 66, 0, 0, 40, 67, 0, 0, 224, 66, 0, 0, 41, 67, 0, 0, 224, 66, 0, 0, 42, 67, 0, 0, 224, 66, 0, 0, 43, 67, 0, 0, 224, 66, 0, 0, 44, 67, 0, 0, 224, 66, 0, 0, 45, 67, 0, 0, 224, 66, 0, 0, 46, 67, 0, 0, 224, 66, 0, 0, 47, 67, 0, 0, 224, 66, 0, 0, 48, 67, 0, 0, 224, 66, 0, 0, 49, 67, 0, 0, 224, 66, 0, 0, 50, 67, 0, 0, 224, 66, 0, 0, 51, 67, 0, 0, 224, 66, 0, 0, 52, 67, 0, 0, 224, 66, 0, 0, 53, 67, 0, 0, 224, 66, 0, 0, 54, 67, 0, 0, 224, 66, 0, 0, 55, 67, 0, 0, 226, 66, 0, 0, 184, 66, 0, 0, 226, 66, 0, 0, 186, 66, 0, 0, 226, 66, 0, 0, 188, 66, 0, 0, 226, 66, 0, 0, 190, 66, 0, 0, 226, 66, 0, 0, 192, 66, 0, 0, 226, 66, 0, 0, 194, 66, 0, 0, 226, 66, 0, 0, 196, 66, 0, 0, 226, 66, 0, 0, 198, 66, 0, 0, 226, 66, 0, 0, 200, 66, 0, 0, 226, 66, 0, 0, 202, 66, 0, 0, 226, 66, 0, 0, 204, 66, 0, 0, 226, 66, 0, 0, 206, 66, 0, 0, 226, 66, 0, 0, 208, 66, 0, 0, 226, 66, 0, 0, 210, 66, 0, 0, 226, 66, 0, 0, 212, 66, 0, 0, 226, 66, 0, 0, 214, 66, 0, 0, 226, 66, 0, 0, 216, 66, 0, 0, 226, 66, 0, 0, 218, 66, 0, 0, 226, 66, 0, 0, 220, 66, 0, 0, 226, 66, 0, 0, 222, 66, 0, 0, 226, 66, 0, 0, 224, 66, 0, 0, 226, 66, 0, 0, 226, 66, 0, 0, 226, 66, 0, 0, 228, 66, 0, 0, 226, 66, 0, 0, 230, 66, 0, 0, 226, 66, 0, 0, 232, 66, 0, 0, 226, 66, 0, 0, 234, 66, 0, 0, 226, 66, 0, 0, 236, 66, 0, 0, 226, 66, 0, 0, 238, 66, 0, 0, 226, 66, 0, 0, 240, 66, 0, 0, 226, 66, 0, 0, 242, 66, 0, 0, 226, 66, 0, 0, 244, 66, 0, 0, 226, 66, 0, 0, 246, 66, 0, 0, 226, 66, 0, 0, 248, 66, 0, 0, 226, 66, 0, 0, 250, 66, 0, 0, 226, 66, 0, 0, 252, 66, 0, 0, 226, 66, 0, 0, 254, 66, 0, 0, 226, 66, 0, 0, 0, 67, 0, 0, 226, 66, 0, 0, 1, 67, 0, 0, 226, 66, 0, 0, 2, 67, 0, 0, 226, 66, 0, 0, 3, 67, 0, 0, 226, 66, 0, 0, 4, 67, 0, 0, 226, 66, 0, 0, 5, 67, 0, 0, 226, 66, 0, 0, 6, 67, 0, 0, 226, 66, 0, 0, 7, 67, 0, 0, 226, 66, 0, 0, 8, 67, 0, 0, 226, 66, 0, 0, 9, 67, 0, 0, 226, 66, 0, 0, 10, 67, 0, 0, 226, 66, 0, 0, 11, 67, 0, 0, 226, 66, 0, 0, 12, 67, 0, 0, 226, 66, 0, 0, 13, 67, 0, 0, 226, 66, 0, 0, 14, 67, 0, 0, 226, 66, 0, 0, 15, 67, 0, 0, 226, 66, 0, 0, 16, 67, 0, 0, 226, 66, 0, 0, 17, 67, 0, 0, 226, 66, 0, 0, 18, 67, 0, 0, 226, 66, 0, 0, 19, 67, 0, 0, 226, 66, 0, 0, 20, 67, 0, 0, 226, 66, 0, 0, 21, 67, 0, 0, 226, 66, 0, 0, 22, 67, 0, 0, 226, 66, 0, 0, 23, 67, 0, 0, 226, 66, 0, 0, 24, 67, 0, 0, 226, 66, 0, 0, 25, 67, 0, 0, 226, 66, 0, 0, 26, 67, 0, 0, 226, 66, 0, 0, 27, 67, 0, 0, 226, 66, 0, 0, 28, 67, 0, 0, 226, 66, 0, 0, 29, 67, 0, 0, 226, 66, 0, 0, 30, 67, 0, 0, 226, 66, 0, 0, 31, 67, 0, 0, 226, 66, 0, 0, 32, 67, 0, 0, 226, 66, 0, 0, 33, 67, 0, 0, 226, 66, 0, 0, 34, 67, 0, 0, 226, 66, 0, 0, 35, 67, 0, 0, 226, 66, 0, 0, 36, 67, 0, 0, 226, 66, 0, 0, 37, 67, 0, 0, 226, 66, 0, 0, 38, 67, 0, 0, 226, 66, 0, 0, 39, 67, 0, 0, 226, 66, 0, 0, 40, 67, 0, 0, 226, 66, 0, 0, 41, 67, 0, 0, 226, 66, 0, 0, 42, 67, 0, 0, 226, 66, 0, 0, 43, 67, 0, 0, 226, 66, 0, 0, 44, 67, 0, 0, 226, 66, 0, 0, 45, 67, 0, 0, 226, 66, 0, 0, 46, 67, 0, 0, 226, 66, 0, 0, 47, 67, 0, 0, 226, 66, 0, 0, 48, 67, 0, 0, 226, 66, 0, 0, 49, 67, 0, 0, 226, 66, 0, 0, 50, 67, 0, 0, 226, 66, 0, 0, 51, 67, 0, 0, 226, 66, 0, 0, 52, 67, 0, 0, 226, 66, 0, 0, 53, 67, 0, 0, 226, 66, 0, 0, 54, 67, 0, 0, 226, 66, 0, 0, 55, 67, 0, 0, 228, 66, 0, 0, 184, 66, 0, 0, 228, 66, 0, 0, 186, 66, 0, 0, 228, 66, 0, 0, 188, 66, 0, 0, 228, 66, 0, 0, 190, 66, 0, 0, 228, 66, 0, 0, 192, 66, 0, 0, 228, 66, 0, 0, 194, 66, 0, 0, 228, 66, 0, 0, 196, 66, 0, 0, 228, 66, 0, 0, 198, 66, 0, 0, 228, 66, 0, 0, 200, 66, 0, 0, 228, 66, 0, 0, 202, 66, 0, 0, 228, 66, 0, 0, 204, 66, 0, 0, 228, 66, 0, 0, 206, 66, 0, 0, 228, 66, 0, 0, 208, 66, 0, 0, 228, 66, 0, 0, 210, 66, 0, 0, 228, 66, 0, 0, 212, 66, 0, 0, 228, 66, 0, 0, 214, 66, 0, 0, 228, 66, 0, 0, 216, 66, 0, 0, 228, 66, 0, 0, 218, 66, 0, 0, 228, 66, 0, 0, 220, 66, 0, 0, 228, 66, 0, 0, 222, 66, 0, 0, 228, 66, 0, 0, 224, 66, 0, 0, 228, 66, 0, 0, 226, 66, 0, 0, 228, 66, 0, 0, 228, 66, 0, 0, 228, 66, 0, 0, 230, 66, 0, 0, 228, 66, 0, 0, 232, 66, 0, 0, 228, 66, 0, 0, 234, 66, 0, 0, 228, 66, 0, 0, 236, 66, 0, 0, 228, 66, 0, 0, 238, 66, 0, 0, 228, 66, 0, 0, 240, 66, 0, 0, 228, 66, 0, 0, 242, 66, 0, 0, 228, 66, 0, 0, 244, 66, 0, 0, 228, 66, 0, 0, 246, 66, 0, 0, 228, 66, 0, 0, 248, 66, 0, 0, 228, 66, 0, 0, 250, 66, 0, 0, 228, 66, 0, 0, 252, 66, 0, 0, 228, 66, 0, 0, 254, 66, 0, 0, 228, 66, 0, 0, 0, 67, 0, 0, 228, 66, 0, 0, 1, 67, 0, 0, 228, 66, 0, 0, 2, 67, 0, 0, 228, 66, 0, 0, 3, 67, 0, 0, 228, 66, 0, 0, 4, 67, 0, 0, 228, 66, 0, 0, 5, 67, 0, 0, 228, 66, 0, 0, 6, 67, 0, 0, 228, 66, 0, 0, 7, 67, 0, 0, 228, 66, 0, 0, 8, 67, 0, 0, 228, 66, 0, 0, 9, 67, 0, 0, 228, 66, 0, 0, 10, 67, 0, 0, 228, 66, 0, 0, 11, 67, 0, 0, 228, 66, 0, 0, 12, 67, 0, 0, 228, 66, 0, 0, 13, 67, 0, 0, 228, 66, 0, 0, 14, 67, 0, 0, 228, 66, 0, 0, 15, 67, 0, 0, 228, 66, 0, 0, 16, 67, 0, 0, 228, 66, 0, 0, 17, 67, 0, 0, 228, 66, 0, 0, 18, 67, 0, 0, 228, 66, 0, 0, 19, 67, 0, 0, 228, 66, 0, 0, 20, 67, 0, 0, 228, 66, 0, 0, 21, 67, 0, 0, 228, 66, 0, 0, 22, 67, 0, 0, 228, 66, 0, 0, 23, 67, 0, 0, 228, 66, 0, 0, 24, 67, 0, 0, 228, 66, 0, 0, 25, 67, 0, 0, 228, 66, 0, 0, 26, 67, 0, 0, 228, 66, 0, 0, 27, 67, 0, 0, 228, 66, 0, 0, 28, 67, 0, 0, 228, 66, 0, 0, 29, 67, 0, 0, 228, 66, 0, 0, 30, 67, 0, 0, 228, 66, 0, 0, 31, 67, 0, 0, 228, 66, 0, 0, 32, 67, 0, 0, 228, 66, 0, 0, 33, 67, 0, 0, 228, 66, 0, 0, 34, 67, 0, 0, 228, 66, 0, 0, 35, 67, 0, 0, 228, 66, 0, 0, 36, 67, 0, 0, 228, 66, 0, 0, 37, 67, 0, 0, 228, 66, 0, 0, 38, 67, 0, 0, 228, 66, 0, 0, 39, 67, 0, 0, 228, 66, 0, 0, 40, 67, 0, 0, 228, 66, 0, 0, 41, 67, 0, 0, 228, 66, 0, 0, 42, 67, 0, 0, 228, 66, 0, 0, 43, 67, 0, 0, 228, 66, 0, 0, 44, 67, 0, 0, 228, 66, 0, 0, 45, 67, 0, 0, 228, 66, 0, 0, 46, 67, 0, 0, 228, 66, 0, 0, 47, 67, 0, 0, 228, 66, 0, 0, 48, 67, 0, 0, 228, 66, 0, 0, 49, 67, 0, 0, 228, 66, 0, 0, 50, 67, 0, 0, 228, 66, 0, 0, 51, 67, 0, 0, 228, 66, 0, 0, 52, 67, 0, 0, 228, 66, 0, 0, 53, 67, 0, 0, 228, 66, 0, 0, 54, 67, 0, 0, 228, 66, 0, 0, 55, 67, 0, 0, 230, 66, 0, 0, 184, 66, 0, 0, 230, 66, 0, 0, 186, 66, 0, 0, 230, 66, 0, 0, 188, 66, 0, 0, 230, 66, 0, 0, 190, 66, 0, 0, 230, 66, 0, 0, 192, 66, 0, 0, 230, 66, 0, 0, 194, 66, 0, 0, 230, 66, 0, 0, 196, 66, 0, 0, 230, 66, 0, 0, 198, 66, 0, 0, 230, 66, 0, 0, 200, 66, 0, 0, 230, 66, 0, 0, 202, 66, 0, 0, 230, 66, 0, 0, 204, 66, 0, 0, 230, 66, 0, 0, 206, 66, 0, 0, 230, 66, 0, 0, 208, 66, 0, 0, 230, 66, 0, 0, 210, 66, 0, 0, 230, 66, 0, 0, 212, 66, 0, 0, 230, 66, 0, 0, 214, 66, 0, 0, 230, 66, 0, 0, 216, 66, 0, 0, 230, 66, 0, 0, 218, 66, 0, 0, 230, 66, 0, 0, 220, 66, 0, 0, 230, 66, 0, 0, 222, 66, 0, 0, 230, 66, 0, 0, 224, 66, 0, 0, 230, 66, 0, 0, 226, 66, 0, 0, 230, 66, 0, 0, 228, 66, 0, 0, 230, 66, 0, 0, 230, 66, 0, 0, 230, 66, 0, 0, 232, 66, 0, 0, 230, 66, 0, 0, 234, 66, 0, 0, 230, 66, 0, 0, 236, 66, 0, 0, 230, 66, 0, 0, 238, 66, 0, 0, 230, 66, 0, 0, 240, 66, 0, 0, 230, 66, 0, 0, 242, 66, 0, 0, 230, 66, 0, 0, 244, 66, 0, 0, 230, 66, 0, 0, 246, 66, 0, 0, 230, 66, 0, 0, 248, 66, 0, 0, 230, 66, 0, 0, 250, 66, 0, 0, 230, 66, 0, 0, 252, 66, 0, 0, 230, 66, 0, 0, 254, 66, 0, 0, 230, 66, 0, 0, 0, 67, 0, 0, 230, 66, 0, 0, 1, 67, 0, 0, 230, 66, 0, 0, 2, 67, 0, 0, 230, 66, 0, 0, 3, 67, 0, 0, 230, 66, 0, 0, 4, 67, 0, 0, 230, 66, 0, 0, 5, 67, 0, 0, 230, 66, 0, 0, 6, 67, 0, 0, 230, 66, 0, 0, 7, 67, 0, 0, 230, 66, 0, 0, 8, 67, 0, 0, 230, 66, 0, 0, 9, 67, 0, 0, 230, 66, 0, 0, 10, 67, 0, 0, 230, 66, 0, 0, 11, 67, 0, 0, 230, 66, 0, 0, 12, 67, 0, 0, 230, 66, 0, 0, 13, 67, 0, 0, 230, 66, 0, 0, 14, 67, 0, 0, 230, 66, 0, 0, 15, 67, 0, 0, 230, 66, 0, 0, 16, 67, 0, 0, 230, 66, 0, 0, 17, 67, 0, 0, 230, 66, 0, 0, 18, 67, 0, 0, 230, 66, 0, 0, 19, 67, 0, 0, 230, 66, 0, 0, 20, 67, 0, 0, 230, 66, 0, 0, 21, 67, 0, 0, 230, 66, 0, 0, 22, 67, 0, 0, 230, 66, 0, 0, 23, 67, 0, 0, 230, 66, 0, 0, 24, 67, 0, 0, 230, 66, 0, 0, 25, 67, 0, 0, 230, 66, 0, 0, 26, 67, 0, 0, 230, 66, 0, 0, 27, 67, 0, 0, 230, 66, 0, 0, 28, 67, 0, 0, 230, 66, 0, 0, 29, 67, 0, 0, 230, 66, 0, 0, 30, 67, 0, 0, 230, 66, 0, 0, 31, 67, 0, 0, 230, 66, 0, 0, 32, 67, 0, 0, 230, 66, 0, 0, 33, 67, 0, 0, 230, 66, 0, 0, 34, 67, 0, 0, 230, 66, 0, 0, 35, 67, 0, 0, 230, 66, 0, 0, 36, 67, 0, 0, 230, 66, 0, 0, 37, 67, 0, 0, 230, 66, 0, 0, 38, 67, 0, 0, 230, 66, 0, 0, 39, 67, 0, 0, 230, 66, 0, 0, 40, 67, 0, 0, 230, 66, 0, 0, 41, 67, 0, 0, 230, 66, 0, 0, 42, 67, 0, 0, 230, 66, 0, 0, 43, 67, 0, 0, 230, 66, 0, 0, 44, 67, 0, 0, 230, 66, 0, 0, 45, 67, 0, 0, 230, 66, 0, 0, 46, 67, 0, 0, 230, 66, 0, 0, 47, 67, 0, 0, 230, 66, 0, 0, 48, 67, 0, 0, 230, 66, 0, 0, 49, 67, 0, 0, 230, 66, 0, 0, 50, 67, 0, 0, 230, 66, 0, 0, 51, 67, 0, 0, 230, 66, 0, 0, 52, 67, 0, 0, 230, 66, 0, 0, 53, 67, 0, 0, 230, 66, 0, 0, 54, 67, 0, 0, 230, 66, 0, 0, 55, 67, 0, 0, 232, 66, 0, 0, 184, 66, 0, 0, 232, 66, 0, 0, 186, 66, 0, 0, 232, 66, 0, 0, 188, 66, 0, 0, 232, 66, 0, 0, 190, 66, 0, 0, 232, 66, 0, 0, 192, 66, 0, 0, 232, 66, 0, 0, 194, 66, 0, 0, 232, 66, 0, 0, 196, 66, 0, 0, 232, 66, 0, 0, 198, 66, 0, 0, 232, 66, 0, 0, 200, 66, 0, 0, 232, 66, 0, 0, 202, 66, 0, 0, 232, 66, 0, 0, 204, 66, 0, 0, 232, 66, 0, 0, 206, 66, 0, 0, 232, 66, 0, 0, 208, 66, 0, 0, 232, 66, 0, 0, 210, 66, 0, 0, 232, 66, 0, 0, 212, 66, 0, 0, 232, 66, 0, 0, 214, 66, 0, 0, 232, 66, 0, 0, 216, 66, 0, 0, 232, 66, 0, 0, 218, 66, 0, 0, 232, 66, 0, 0, 220, 66, 0, 0, 232, 66, 0, 0, 222, 66, 0, 0, 232, 66, 0, 0, 224, 66, 0, 0, 232, 66, 0, 0, 226, 66, 0, 0, 232, 66, 0, 0, 228, 66, 0, 0, 232, 66, 0, 0, 230, 66, 0, 0, 232, 66, 0, 0, 232, 66, 0, 0, 232, 66, 0, 0, 234, 66, 0, 0, 232, 66, 0, 0, 236, 66, 0, 0, 232, 66, 0, 0, 238, 66, 0, 0, 232, 66, 0, 0, 240, 66, 0, 0, 232, 66, 0, 0, 242, 66, 0, 0, 232, 66, 0, 0, 244, 66, 0, 0, 232, 66, 0, 0, 246, 66, 0, 0, 232, 66, 0, 0, 248, 66, 0, 0, 232, 66, 0, 0, 250, 66, 0, 0, 232, 66, 0, 0, 252, 66, 0, 0, 232, 66, 0, 0, 254, 66, 0, 0, 232, 66, 0, 0, 0, 67, 0, 0, 232, 66, 0, 0, 1, 67, 0, 0, 232, 66, 0, 0, 2, 67, 0, 0, 232, 66, 0, 0, 3, 67, 0, 0, 232, 66, 0, 0, 4, 67, 0, 0, 232, 66, 0, 0, 5, 67, 0, 0, 232, 66, 0, 0, 6, 67, 0, 0, 232, 66, 0, 0, 7, 67, 0, 0, 232, 66, 0, 0, 8, 67, 0, 0, 232, 66, 0, 0, 9, 67, 0, 0, 232, 66, 0, 0, 10, 67, 0, 0, 232, 66, 0, 0, 11, 67, 0, 0, 232, 66, 0, 0, 12, 67, 0, 0, 232, 66, 0, 0, 13, 67, 0, 0, 232, 66, 0, 0, 14, 67, 0, 0, 232, 66, 0, 0, 15, 67, 0, 0, 232, 66, 0, 0, 16, 67, 0, 0, 232, 66, 0, 0, 17, 67, 0, 0, 232, 66, 0, 0, 18, 67, 0, 0, 232, 66, 0, 0, 19, 67, 0, 0, 232, 66, 0, 0, 20, 67, 0, 0, 232, 66, 0, 0, 21, 67, 0, 0, 232, 66, 0, 0, 22, 67, 0, 0, 232, 66, 0, 0, 23, 67, 0, 0, 232, 66, 0, 0, 24, 67, 0, 0, 232, 66, 0, 0, 25, 67, 0, 0, 232, 66, 0, 0, 26, 67, 0, 0, 232, 66, 0, 0, 27, 67, 0, 0, 232, 66, 0, 0, 28, 67, 0, 0, 232, 66, 0, 0, 29, 67, 0, 0, 232, 66, 0, 0, 30, 67, 0, 0, 232, 66, 0, 0, 31, 67, 0, 0, 232, 66, 0, 0, 32, 67, 0, 0, 232, 66, 0, 0, 33, 67, 0, 0, 232, 66, 0, 0, 34, 67, 0, 0, 232, 66, 0, 0, 35, 67, 0, 0, 232, 66, 0, 0, 36, 67, 0, 0, 232, 66, 0, 0, 37, 67, 0, 0, 232, 66, 0, 0, 38, 67, 0, 0, 232, 66, 0, 0, 39, 67, 0, 0, 232, 66, 0, 0, 40, 67, 0, 0, 232, 66, 0, 0, 41, 67, 0, 0, 232, 66, 0, 0, 42, 67, 0, 0, 232, 66, 0, 0, 43, 67, 0, 0, 232, 66, 0, 0, 44, 67, 0, 0, 232, 66, 0, 0, 45, 67, 0, 0, 232, 66, 0, 0, 46, 67, 0, 0, 232, 66, 0, 0, 47, 67, 0, 0, 232, 66, 0, 0, 48, 67, 0, 0, 232, 66, 0, 0, 49, 67, 0, 0, 232, 66, 0, 0, 50, 67, 0, 0, 232, 66, 0, 0, 51, 67, 0, 0, 232, 66, 0, 0, 52, 67, 0, 0, 232, 66, 0, 0, 53, 67, 0, 0, 232, 66, 0, 0, 54, 67, 0, 0, 232, 66, 0, 0, 55, 67, 0, 0, 234, 66, 0, 0, 184, 66, 0, 0, 234, 66, 0, 0, 186, 66, 0, 0, 234, 66, 0, 0, 188, 66, 0, 0, 234, 66, 0, 0, 190, 66, 0, 0, 234, 66, 0, 0, 192, 66, 0, 0, 234, 66, 0, 0, 194, 66, 0, 0, 234, 66, 0, 0, 196, 66, 0, 0, 234, 66, 0, 0, 198, 66, 0, 0, 234, 66, 0, 0, 200, 66, 0, 0, 234, 66, 0, 0, 202, 66, 0, 0, 234, 66, 0, 0, 204, 66, 0, 0, 234, 66, 0, 0, 206, 66, 0, 0, 234, 66, 0, 0, 208, 66, 0, 0, 234, 66, 0, 0, 210, 66, 0, 0, 234, 66, 0, 0, 212, 66, 0, 0, 234, 66, 0, 0, 214, 66, 0, 0, 234, 66, 0, 0, 216, 66, 0, 0, 234, 66, 0, 0, 218, 66, 0, 0, 234, 66, 0, 0, 220, 66, 0, 0, 234, 66, 0, 0, 222, 66, 0, 0, 234, 66, 0, 0, 224, 66, 0, 0, 234, 66, 0, 0, 226, 66, 0, 0, 234, 66, 0, 0, 228, 66, 0, 0, 234, 66, 0, 0, 230, 66, 0, 0, 234, 66, 0, 0, 232, 66, 0, 0, 234, 66, 0, 0, 234, 66, 0, 0, 234, 66, 0, 0, 236, 66, 0, 0, 234, 66, 0, 0, 238, 66, 0, 0, 234, 66, 0, 0, 240, 66, 0, 0, 234, 66, 0, 0, 242, 66, 0, 0, 234, 66, 0, 0, 244, 66, 0, 0, 234, 66, 0, 0, 246, 66, 0, 0, 234, 66, 0, 0, 248, 66, 0, 0, 234, 66, 0, 0, 250, 66, 0, 0, 234, 66, 0, 0, 252, 66, 0, 0, 234, 66, 0, 0, 254, 66, 0, 0, 234, 66, 0, 0, 0, 67, 0, 0, 234, 66, 0, 0, 1, 67, 0, 0, 234, 66, 0, 0, 2, 67, 0, 0, 234, 66, 0, 0, 3, 67, 0, 0, 234, 66, 0, 0, 4, 67, 0, 0, 234, 66, 0, 0, 5, 67, 0, 0, 234, 66, 0, 0, 6, 67, 0, 0, 234, 66, 0, 0, 7, 67, 0, 0, 234, 66, 0, 0, 8, 67, 0, 0, 234, 66, 0, 0, 9, 67, 0, 0, 234, 66, 0, 0, 10, 67, 0, 0, 234, 66, 0, 0, 11, 67, 0, 0, 234, 66, 0, 0, 12, 67, 0, 0, 234, 66, 0, 0, 13, 67, 0, 0, 234, 66, 0, 0, 14, 67, 0, 0, 234, 66, 0, 0, 15, 67, 0, 0, 234, 66, 0, 0, 16, 67, 0, 0, 234, 66, 0, 0, 17, 67, 0, 0, 234, 66, 0, 0, 18, 67, 0, 0, 234, 66, 0, 0, 19, 67, 0, 0, 234, 66, 0, 0, 20, 67, 0, 0, 234, 66, 0, 0, 21, 67, 0, 0, 234, 66, 0, 0, 22, 67, 0, 0, 234, 66, 0, 0, 23, 67, 0, 0, 234, 66, 0, 0, 24, 67, 0, 0, 234, 66, 0, 0, 25, 67, 0, 0, 234, 66, 0, 0, 26, 67, 0, 0, 234, 66, 0, 0, 27, 67, 0, 0, 234, 66, 0, 0, 28, 67, 0, 0, 234, 66, 0, 0, 29, 67, 0, 0, 234, 66, 0, 0, 30, 67, 0, 0, 234, 66, 0, 0, 31, 67, 0, 0, 234, 66, 0, 0, 32, 67, 0, 0, 234, 66, 0, 0, 33, 67, 0, 0, 234, 66, 0, 0, 34, 67, 0, 0, 234, 66, 0, 0, 35, 67, 0, 0, 234, 66, 0, 0, 36, 67, 0, 0, 234, 66, 0, 0, 37, 67, 0, 0, 234, 66, 0, 0, 38, 67, 0, 0, 234, 66, 0, 0, 39, 67, 0, 0, 234, 66, 0, 0, 40, 67, 0, 0, 234, 66, 0, 0, 41, 67, 0, 0, 234, 66, 0, 0, 42, 67, 0, 0, 234, 66, 0, 0, 43, 67, 0, 0, 234, 66, 0, 0, 44, 67, 0, 0, 234, 66, 0, 0, 45, 67, 0, 0, 234, 66, 0, 0, 46, 67, 0, 0, 234, 66, 0, 0, 47, 67, 0, 0, 234, 66, 0, 0, 48, 67, 0, 0, 234, 66, 0, 0, 49, 67, 0, 0, 234, 66, 0, 0, 50, 67, 0, 0, 234, 66, 0, 0, 51, 67, 0, 0, 234, 66, 0, 0, 52, 67, 0, 0, 234, 66, 0, 0, 53, 67, 0, 0, 234, 66, 0, 0, 54, 67, 0, 0, 234, 66, 0, 0, 55, 67, 0, 0, 236, 66, 0, 0, 184, 66, 0, 0, 236, 66, 0, 0, 186, 66, 0, 0, 236, 66, 0, 0, 188, 66, 0, 0, 236, 66, 0, 0, 190, 66, 0, 0, 236, 66, 0, 0, 192, 66, 0, 0, 236, 66, 0, 0, 194, 66, 0, 0, 236, 66, 0, 0, 196, 66, 0, 0, 236, 66, 0, 0, 198, 66, 0, 0, 236, 66, 0, 0, 200, 66, 0, 0, 236, 66, 0, 0, 202, 66, 0, 0, 236, 66, 0, 0, 204, 66, 0, 0, 236, 66, 0, 0, 206, 66, 0, 0, 236, 66, 0, 0, 208, 66, 0, 0, 236, 66, 0, 0, 210, 66, 0, 0, 236, 66, 0, 0, 212, 66, 0, 0, 236, 66, 0, 0, 214, 66, 0, 0, 236, 66, 0, 0, 216, 66, 0, 0, 236, 66, 0, 0, 218, 66, 0, 0, 236, 66, 0, 0, 220, 66, 0, 0, 236, 66, 0, 0, 222, 66, 0, 0, 236, 66, 0, 0, 224, 66, 0, 0, 236, 66, 0, 0, 226, 66, 0, 0, 236, 66, 0, 0, 228, 66, 0, 0, 236, 66, 0, 0, 230, 66, 0, 0, 236, 66, 0, 0, 232, 66, 0, 0, 236, 66, 0, 0, 234, 66, 0, 0, 236, 66, 0, 0, 236, 66, 0, 0, 236, 66, 0, 0, 238, 66, 0, 0, 236, 66, 0, 0, 240, 66, 0, 0, 236, 66, 0, 0, 242, 66, 0, 0, 236, 66, 0, 0, 244, 66, 0, 0, 236, 66, 0, 0, 246, 66, 0, 0, 236, 66, 0, 0, 248, 66, 0, 0, 236, 66, 0, 0, 250, 66, 0, 0, 236, 66, 0, 0, 252, 66, 0, 0, 236, 66, 0, 0, 254, 66, 0, 0, 236, 66, 0, 0, 0, 67, 0, 0, 236, 66, 0, 0, 1, 67, 0, 0, 236, 66, 0, 0, 2, 67, 0, 0, 236, 66, 0, 0, 3, 67, 0, 0, 236, 66, 0, 0, 4, 67, 0, 0, 236, 66, 0, 0, 5, 67, 0, 0, 236, 66, 0, 0, 6, 67, 0, 0, 236, 66, 0, 0, 7, 67, 0, 0, 236, 66, 0, 0, 8, 67, 0, 0, 236, 66, 0, 0, 9, 67, 0, 0, 236, 66, 0, 0, 10, 67, 0, 0, 236, 66, 0, 0, 11, 67, 0, 0, 236, 66, 0, 0, 12, 67, 0, 0, 236, 66, 0, 0, 13, 67, 0, 0, 236, 66, 0, 0, 14, 67, 0, 0, 236, 66, 0, 0, 15, 67, 0, 0, 236, 66, 0, 0, 16, 67, 0, 0, 236, 66, 0, 0, 17, 67, 0, 0, 236, 66, 0, 0, 18, 67, 0, 0, 236, 66, 0, 0, 19, 67, 0, 0, 236, 66, 0, 0, 20, 67, 0, 0, 236, 66, 0, 0, 21, 67, 0, 0, 236, 66, 0, 0, 22, 67, 0, 0, 236, 66, 0, 0, 23, 67, 0, 0, 236, 66, 0, 0, 24, 67, 0, 0, 236, 66, 0, 0, 25, 67, 0, 0, 236, 66, 0, 0, 26, 67, 0, 0, 236, 66, 0, 0, 27, 67, 0, 0, 236, 66, 0, 0, 28, 67, 0, 0, 236, 66, 0, 0, 29, 67, 0, 0, 236, 66, 0, 0, 30, 67, 0, 0, 236, 66, 0, 0, 31, 67, 0, 0, 236, 66, 0, 0, 32, 67, 0, 0, 236, 66, 0, 0, 33, 67, 0, 0, 236, 66, 0, 0, 34, 67, 0, 0, 236, 66, 0, 0, 35, 67, 0, 0, 236, 66, 0, 0, 36, 67, 0, 0, 236, 66, 0, 0, 37, 67, 0, 0, 236, 66, 0, 0, 38, 67, 0, 0, 236, 66, 0, 0, 39, 67, 0, 0, 236, 66, 0, 0, 40, 67, 0, 0, 236, 66, 0, 0, 41, 67, 0, 0, 236, 66, 0, 0, 42, 67, 0, 0, 236, 66, 0, 0, 43, 67, 0, 0, 236, 66, 0, 0, 44, 67, 0, 0, 236, 66, 0, 0, 45, 67, 0, 0, 236, 66, 0, 0, 46, 67, 0, 0, 236, 66, 0, 0, 47, 67, 0, 0, 236, 66, 0, 0, 48, 67, 0, 0, 236, 66, 0, 0, 49, 67, 0, 0, 236, 66, 0, 0, 50, 67, 0, 0, 236, 66, 0, 0, 51, 67, 0, 0, 236, 66, 0, 0, 52, 67, 0, 0, 236, 66, 0, 0, 53, 67, 0, 0, 236, 66, 0, 0, 54, 67, 0, 0, 236, 66, 0, 0, 55, 67, 0, 0, 238, 66, 0, 0, 184, 66, 0, 0, 238, 66, 0, 0, 186, 66, 0, 0, 238, 66, 0, 0, 188, 66, 0, 0, 238, 66, 0, 0, 190, 66, 0, 0, 238, 66, 0, 0, 192, 66, 0, 0, 238, 66, 0, 0, 194, 66, 0, 0, 238, 66, 0, 0, 196, 66, 0, 0, 238, 66, 0, 0, 198, 66, 0, 0, 238, 66, 0, 0, 200, 66, 0, 0, 238, 66, 0, 0, 202, 66, 0, 0, 238, 66, 0, 0, 204, 66, 0, 0, 238, 66, 0, 0, 206, 66, 0, 0, 238, 66, 0, 0, 208, 66, 0, 0, 238, 66, 0, 0, 210, 66, 0, 0, 238, 66, 0, 0, 212, 66, 0, 0, 238, 66, 0, 0, 214, 66, 0, 0, 238, 66, 0, 0, 216, 66, 0, 0, 238, 66, 0, 0, 218, 66, 0, 0, 238, 66, 0, 0, 220, 66, 0, 0, 238, 66, 0, 0, 222, 66, 0, 0, 238, 66, 0, 0, 224, 66, 0, 0, 238, 66, 0, 0, 226, 66, 0, 0, 238, 66, 0, 0, 228, 66, 0, 0, 238, 66, 0, 0, 230, 66, 0, 0, 238, 66, 0, 0, 232, 66, 0, 0, 238, 66, 0, 0, 234, 66, 0, 0, 238, 66, 0, 0, 236, 66, 0, 0, 238, 66, 0, 0, 238, 66, 0, 0, 238, 66, 0, 0, 240, 66, 0, 0, 238, 66, 0, 0, 242, 66, 0, 0, 238, 66, 0, 0, 244, 66, 0, 0, 238, 66, 0, 0, 246, 66, 0, 0, 238, 66, 0, 0, 248, 66, 0, 0, 238, 66, 0, 0, 250, 66, 0, 0, 238, 66, 0, 0, 252, 66, 0, 0, 238, 66, 0, 0, 254, 66, 0, 0, 238, 66, 0, 0, 0, 67, 0, 0, 238, 66, 0, 0, 1, 67, 0, 0, 238, 66, 0, 0, 2, 67, 0, 0, 238, 66, 0, 0, 3, 67, 0, 0, 238, 66, 0, 0, 4, 67, 0, 0, 238, 66, 0, 0, 5, 67, 0, 0, 238, 66, 0, 0, 6, 67, 0, 0, 238, 66, 0, 0, 7, 67, 0, 0, 238, 66, 0, 0, 8, 67, 0, 0, 238, 66, 0, 0, 9, 67, 0, 0, 238, 66, 0, 0, 10, 67, 0, 0, 238, 66, 0, 0, 11, 67, 0, 0, 238, 66, 0, 0, 12, 67, 0, 0, 238, 66, 0, 0, 13, 67, 0, 0, 238, 66, 0, 0, 14, 67, 0, 0, 238, 66, 0, 0, 15, 67, 0, 0, 238, 66, 0, 0, 16, 67, 0, 0, 238, 66, 0, 0, 17, 67, 0, 0, 238, 66, 0, 0, 18, 67, 0, 0, 238, 66, 0, 0, 19, 67, 0, 0, 238, 66, 0, 0, 20, 67, 0, 0, 238, 66, 0, 0, 21, 67, 0, 0, 238, 66, 0, 0, 22, 67, 0, 0, 238, 66, 0, 0, 23, 67, 0, 0, 238, 66, 0, 0, 24, 67, 0, 0, 238, 66, 0, 0, 25, 67, 0, 0, 238, 66, 0, 0, 26, 67, 0, 0, 238, 66, 0, 0, 27, 67, 0, 0, 238, 66, 0, 0, 28, 67, 0, 0, 238, 66, 0, 0, 29, 67, 0, 0, 238, 66, 0, 0, 30, 67, 0, 0, 238, 66, 0, 0, 31, 67, 0, 0, 238, 66, 0, 0, 32, 67, 0, 0, 238, 66, 0, 0, 33, 67, 0, 0, 238, 66, 0, 0, 34, 67, 0, 0, 238, 66, 0, 0, 35, 67, 0, 0, 238, 66, 0, 0, 36, 67, 0, 0, 238, 66, 0, 0, 37, 67, 0, 0, 238, 66, 0, 0, 38, 67, 0, 0, 238, 66, 0, 0, 39, 67, 0, 0, 238, 66, 0, 0, 40, 67, 0, 0, 238, 66, 0, 0, 41, 67, 0, 0, 238, 66, 0, 0, 42, 67, 0, 0, 238, 66, 0, 0, 43, 67, 0, 0, 238, 66, 0, 0, 44, 67, 0, 0, 238, 66, 0, 0, 45, 67, 0, 0, 238, 66, 0, 0, 46, 67, 0, 0, 238, 66, 0, 0, 47, 67, 0, 0, 238, 66, 0, 0, 48, 67, 0, 0, 238, 66, 0, 0, 49, 67, 0, 0, 238, 66, 0, 0, 50, 67, 0, 0, 238, 66, 0, 0, 51, 67, 0, 0, 238, 66, 0, 0, 52, 67, 0, 0, 238, 66, 0, 0, 53, 67, 0, 0, 238, 66, 0, 0, 54, 67, 0, 0, 238, 66, 0, 0, 55, 67, 0, 0, 240, 66, 0, 0, 184, 66, 0, 0, 240, 66, 0, 0, 186, 66, 0, 0, 240, 66, 0, 0, 188, 66, 0, 0, 240, 66, 0, 0, 190, 66, 0, 0, 240, 66, 0, 0, 192, 66, 0, 0, 240, 66, 0, 0, 194, 66, 0, 0, 240, 66, 0, 0, 196, 66, 0, 0, 240, 66, 0, 0, 198, 66, 0, 0, 240, 66, 0, 0, 200, 66, 0, 0, 240, 66, 0, 0, 202, 66, 0, 0, 240, 66, 0, 0, 204, 66, 0, 0, 240, 66, 0, 0, 206, 66, 0, 0, 240, 66, 0, 0, 208, 66, 0, 0, 240, 66, 0, 0, 210, 66, 0, 0, 240, 66, 0, 0, 212, 66, 0, 0, 240, 66, 0, 0, 214, 66, 0, 0, 240, 66, 0, 0, 216, 66, 0, 0, 240, 66, 0, 0, 40, 67, 0, 0, 240, 66, 0, 0, 41, 67, 0, 0, 240, 66, 0, 0, 42, 67, 0, 0, 240, 66, 0, 0, 43, 67, 0, 0, 240, 66, 0, 0, 44, 67, 0, 0, 240, 66, 0, 0, 45, 67, 0, 0, 240, 66, 0, 0, 46, 67, 0, 0, 240, 66, 0, 0, 47, 67, 0, 0, 240, 66, 0, 0, 48, 67, 0, 0, 240, 66, 0, 0, 49, 67, 0, 0, 240, 66, 0, 0, 50, 67, 0, 0, 240, 66, 0, 0, 51, 67, 0, 0, 240, 66, 0, 0, 52, 67, 0, 0, 240, 66, 0, 0, 53, 67, 0, 0, 240, 66, 0, 0, 54, 67, 0, 0, 240, 66, 0, 0, 55, 67, 0, 0, 242, 66, 0, 0, 184, 66, 0, 0, 242, 66, 0, 0, 186, 66, 0, 0, 242, 66, 0, 0, 188, 66, 0, 0, 242, 66, 0, 0, 190, 66, 0, 0, 242, 66, 0, 0, 192, 66, 0, 0, 242, 66, 0, 0, 194, 66, 0, 0, 242, 66, 0, 0, 196, 66, 0, 0, 242, 66, 0, 0, 198, 66, 0, 0, 242, 66, 0, 0, 200, 66, 0, 0, 242, 66, 0, 0, 202, 66, 0, 0, 242, 66, 0, 0, 204, 66, 0, 0, 242, 66, 0, 0, 206, 66, 0, 0, 242, 66, 0, 0, 208, 66, 0, 0, 242, 66, 0, 0, 210, 66, 0, 0, 242, 66, 0, 0, 212, 66, 0, 0, 242, 66, 0, 0, 41, 67, 0, 0, 242, 66, 0, 0, 42, 67, 0, 0, 242, 66, 0, 0, 43, 67, 0, 0, 242, 66, 0, 0, 44, 67, 0, 0, 242, 66, 0, 0, 45, 67, 0, 0, 242, 66, 0, 0, 46, 67, 0, 0, 242, 66, 0, 0, 47, 67, 0, 0, 242, 66, 0, 0, 48, 67, 0, 0, 242, 66, 0, 0, 49, 67, 0, 0, 242, 66, 0, 0, 50, 67, 0, 0, 242, 66, 0, 0, 51, 67, 0, 0, 242, 66, 0, 0, 52, 67, 0, 0, 242, 66, 0, 0, 53, 67, 0, 0, 242, 66, 0, 0, 54, 67, 0, 0, 242, 66, 0, 0, 55, 67, 0, 0, 244, 66, 0, 0, 184, 66, 0, 0, 244, 66, 0, 0, 186, 66, 0, 0, 244, 66, 0, 0, 188, 66, 0, 0, 244, 66, 0, 0, 190, 66, 0, 0, 244, 66, 0, 0, 192, 66, 0, 0, 244, 66, 0, 0, 194, 66, 0, 0, 244, 66, 0, 0, 196, 66, 0, 0, 244, 66, 0, 0, 198, 66, 0, 0, 244, 66, 0, 0, 200, 66, 0, 0, 244, 66, 0, 0, 202, 66, 0, 0, 244, 66, 0, 0, 204, 66, 0, 0, 244, 66, 0, 0, 206, 66, 0, 0, 244, 66, 0, 0, 208, 66, 0, 0, 244, 66, 0, 0, 210, 66, 0, 0, 244, 66, 0, 0, 43, 67, 0, 0, 244, 66, 0, 0, 44, 67, 0, 0, 244, 66, 0, 0, 45, 67, 0, 0, 244, 66, 0, 0, 46, 67, 0, 0, 244, 66, 0, 0, 47, 67, 0, 0, 244, 66, 0, 0, 48, 67, 0, 0, 244, 66, 0, 0, 49, 67, 0, 0, 244, 66, 0, 0, 50, 67, 0, 0, 244, 66, 0, 0, 51, 67, 0, 0, 244, 66, 0, 0, 52, 67, 0, 0, 244, 66, 0, 0, 53, 67, 0, 0, 244, 66, 0, 0, 54, 67, 0, 0, 244, 66, 0, 0, 55, 67, 0, 0, 246, 66, 0, 0, 184, 66, 0, 0, 246, 66, 0, 0, 186, 66, 0, 0, 246, 66, 0, 0, 188, 66, 0, 0, 246, 66, 0, 0, 190, 66, 0, 0, 246, 66, 0, 0, 192, 66, 0, 0, 246, 66, 0, 0, 194, 66, 0, 0, 246, 66, 0, 0, 196, 66, 0, 0, 246, 66, 0, 0, 198, 66, 0, 0, 246, 66, 0, 0, 200, 66, 0, 0, 246, 66, 0, 0, 202, 66, 0, 0, 246, 66, 0, 0, 204, 66, 0, 0, 246, 66, 0, 0, 206, 66, 0, 0, 246, 66, 0, 0, 208, 66, 0, 0, 246, 66, 0, 0, 43, 67, 0, 0, 246, 66, 0, 0, 44, 67, 0, 0, 246, 66, 0, 0, 45, 67, 0, 0, 246, 66, 0, 0, 46, 67, 0, 0, 246, 66, 0, 0, 47, 67, 0, 0, 246, 66, 0, 0, 48, 67, 0, 0, 246, 66, 0, 0, 49, 67, 0, 0, 246, 66, 0, 0, 50, 67, 0, 0, 246, 66, 0, 0, 51, 67, 0, 0, 246, 66, 0, 0, 52, 67, 0, 0, 246, 66, 0, 0, 53, 67, 0, 0, 246, 66, 0, 0, 54, 67, 0, 0, 246, 66, 0, 0, 55, 67, 0, 0, 248, 66, 0, 0, 184, 66, 0, 0, 248, 66, 0, 0, 186, 66, 0, 0, 248, 66, 0, 0, 188, 66, 0, 0, 248, 66, 0, 0, 190, 66, 0, 0, 248, 66, 0, 0, 192, 66, 0, 0, 248, 66, 0, 0, 194, 66, 0, 0, 248, 66, 0, 0, 196, 66, 0, 0, 248, 66, 0, 0, 198, 66, 0, 0, 248, 66, 0, 0, 200, 66, 0, 0, 248, 66, 0, 0, 202, 66, 0, 0, 248, 66, 0, 0, 204, 66, 0, 0, 248, 66, 0, 0, 206, 66, 0, 0, 248, 66, 0, 0, 44, 67, 0, 0, 248, 66, 0, 0, 45, 67, 0, 0, 248, 66, 0, 0, 46, 67, 0, 0, 248, 66, 0, 0, 47, 67, 0, 0, 248, 66, 0, 0, 48, 67, 0, 0, 248, 66, 0, 0, 49, 67, 0, 0, 248, 66, 0, 0, 50, 67, 0, 0, 248, 66, 0, 0, 51, 67, 0, 0, 248, 66, 0, 0, 52, 67, 0, 0, 248, 66, 0, 0, 53, 67, 0, 0, 248, 66, 0, 0, 54, 67, 0, 0, 248, 66, 0, 0, 55, 67, 0, 0, 250, 66, 0, 0, 184, 66, 0, 0, 250, 66, 0, 0, 186, 66, 0, 0, 250, 66, 0, 0, 188, 66, 0, 0, 250, 66, 0, 0, 190, 66, 0, 0, 250, 66, 0, 0, 192, 66, 0, 0, 250, 66, 0, 0, 194, 66, 0, 0, 250, 66, 0, 0, 196, 66, 0, 0, 250, 66, 0, 0, 198, 66, 0, 0, 250, 66, 0, 0, 200, 66, 0, 0, 250, 66, 0, 0, 202, 66, 0, 0, 250, 66, 0, 0, 204, 66, 0, 0, 250, 66, 0, 0, 206, 66, 0, 0, 250, 66, 0, 0, 44, 67, 0, 0, 250, 66, 0, 0, 45, 67, 0, 0, 250, 66, 0, 0, 46, 67, 0, 0, 250, 66, 0, 0, 47, 67, 0, 0, 250, 66, 0, 0, 48, 67, 0, 0, 250, 66, 0, 0, 49, 67, 0, 0, 250, 66, 0, 0, 50, 67, 0, 0, 250, 66, 0, 0, 51, 67, 0, 0, 250, 66, 0, 0, 52, 67, 0, 0, 250, 66, 0, 0, 53, 67, 0, 0, 250, 66, 0, 0, 54, 67, 0, 0, 250, 66, 0, 0, 55, 67, 0, 0, 252, 66, 0, 0, 184, 66, 0, 0, 252, 66, 0, 0, 186, 66, 0, 0, 252, 66, 0, 0, 188, 66, 0, 0, 252, 66, 0, 0, 190, 66, 0, 0, 252, 66, 0, 0, 192, 66, 0, 0, 252, 66, 0, 0, 194, 66, 0, 0, 252, 66, 0, 0, 196, 66, 0, 0, 252, 66, 0, 0, 198, 66, 0, 0, 252, 66, 0, 0, 200, 66, 0, 0, 252, 66, 0, 0, 202, 66, 0, 0, 252, 66, 0, 0, 204, 66, 0, 0, 252, 66, 0, 0, 206, 66, 0, 0, 252, 66, 0, 0, 44, 67, 0, 0, 252, 66, 0, 0, 45, 67, 0, 0, 252, 66, 0, 0, 46, 67, 0, 0, 252, 66, 0, 0, 47, 67, 0, 0, 252, 66, 0, 0, 48, 67, 0, 0, 252, 66, 0, 0, 49, 67, 0, 0, 252, 66, 0, 0, 50, 67, 0, 0, 252, 66, 0, 0, 51, 67, 0, 0, 252, 66, 0, 0, 52, 67, 0, 0, 252, 66, 0, 0, 53, 67, 0, 0, 252, 66, 0, 0, 54, 67, 0, 0, 252, 66, 0, 0, 55, 67, 0, 0, 254, 66, 0, 0, 184, 66, 0, 0, 254, 66, 0, 0, 186, 66, 0, 0, 254, 66, 0, 0, 188, 66, 0, 0, 254, 66, 0, 0, 190, 66, 0, 0, 254, 66, 0, 0, 192, 66, 0, 0, 254, 66, 0, 0, 194, 66, 0, 0, 254, 66, 0, 0, 196, 66, 0, 0, 254, 66, 0, 0, 198, 66, 0, 0, 254, 66, 0, 0, 200, 66, 0, 0, 254, 66, 0, 0, 202, 66, 0, 0, 254, 66, 0, 0, 204, 66, 0, 0, 254, 66, 0, 0, 206, 66, 0, 0, 254, 66, 0, 0, 44, 67, 0, 0, 254, 66, 0, 0, 45, 67, 0, 0, 254, 66, 0, 0, 46, 67, 0, 0, 254, 66, 0, 0, 47, 67, 0, 0, 254, 66, 0, 0, 48, 67, 0, 0, 254, 66, 0, 0, 49, 67, 0, 0, 254, 66, 0, 0, 50, 67, 0, 0, 254, 66, 0, 0, 51, 67, 0, 0, 254, 66, 0, 0, 52, 67, 0, 0, 254, 66, 0, 0, 53, 67, 0, 0, 254, 66, 0, 0, 54, 67, 0, 0, 254, 66, 0, 0, 55, 67, 0, 0, 0, 67, 0, 0, 184, 66, 0, 0, 0, 67, 0, 0, 186, 66, 0, 0, 0, 67, 0, 0, 188, 66, 0, 0, 0, 67, 0, 0, 190, 66, 0, 0, 0, 67, 0, 0, 192, 66, 0, 0, 0, 67, 0, 0, 194, 66, 0, 0, 0, 67, 0, 0, 196, 66, 0, 0, 0, 67, 0, 0, 198, 66, 0, 0, 0, 67, 0, 0, 200, 66, 0, 0, 0, 67, 0, 0, 202, 66, 0, 0, 0, 67, 0, 0, 204, 66, 0, 0, 0, 67, 0, 0, 206, 66, 0, 0, 0, 67, 0, 0, 45, 67, 0, 0, 0, 67, 0, 0, 46, 67, 0, 0, 0, 67, 0, 0, 47, 67, 0, 0, 0, 67, 0, 0, 48, 67, 0, 0, 0, 67, 0, 0, 49, 67, 0, 0, 0, 67, 0, 0, 50, 67, 0, 0, 0, 67, 0, 0, 51, 67, 0, 0, 0, 67, 0, 0, 52, 67, 0, 0, 0, 67, 0, 0, 53, 67, 0, 0, 0, 67, 0, 0, 54, 67, 0, 0, 0, 67, 0, 0, 55, 67, 0, 0, 1, 67, 0, 0, 184, 66, 0, 0, 1, 67, 0, 0, 186, 66, 0, 0, 1, 67, 0, 0, 188, 66, 0, 0, 1, 67, 0, 0, 190, 66, 0, 0, 1, 67, 0, 0, 192, 66, 0, 0, 1, 67, 0, 0, 194, 66, 0, 0, 1, 67, 0, 0, 196, 66, 0, 0, 1, 67, 0, 0, 198, 66, 0, 0, 1, 67, 0, 0, 200, 66, 0, 0, 1, 67, 0, 0, 202, 66, 0, 0, 1, 67, 0, 0, 204, 66, 0, 0, 1, 67, 0, 0, 206, 66, 0, 0, 1, 67, 0, 0, 45, 67, 0, 0, 1, 67, 0, 0, 46, 67, 0, 0, 1, 67, 0, 0, 47, 67, 0, 0, 1, 67, 0, 0, 48, 67, 0, 0, 1, 67, 0, 0, 49, 67, 0, 0, 1, 67, 0, 0, 50, 67, 0, 0, 1, 67, 0, 0, 51, 67, 0, 0, 1, 67, 0, 0, 52, 67, 0, 0, 1, 67, 0, 0, 53, 67, 0, 0, 1, 67, 0, 0, 54, 67, 0, 0, 1, 67, 0, 0, 55, 67, 0, 0, 2, 67, 0, 0, 184, 66, 0, 0, 2, 67, 0, 0, 186, 66, 0, 0, 2, 67, 0, 0, 188, 66, 0, 0, 2, 67, 0, 0, 190, 66, 0, 0, 2, 67, 0, 0, 192, 66, 0, 0, 2, 67, 0, 0, 194, 66, 0, 0, 2, 67, 0, 0, 196, 66, 0, 0, 2, 67, 0, 0, 198, 66, 0, 0, 2, 67, 0, 0, 200, 66, 0, 0, 2, 67, 0, 0, 202, 66, 0, 0, 2, 67, 0, 0, 204, 66, 0, 0, 2, 67, 0, 0, 45, 67, 0, 0, 2, 67, 0, 0, 46, 67, 0, 0, 2, 67, 0, 0, 47, 67, 0, 0, 2, 67, 0, 0, 48, 67, 0, 0, 2, 67, 0, 0, 49, 67, 0, 0, 2, 67, 0, 0, 50, 67, 0, 0, 2, 67, 0, 0, 51, 67, 0, 0, 2, 67, 0, 0, 52, 67, 0, 0, 2, 67, 0, 0, 53, 67, 0, 0, 2, 67, 0, 0, 54, 67, 0, 0, 2, 67, 0, 0, 55, 67, 0, 0, 3, 67, 0, 0, 184, 66, 0, 0, 3, 67, 0, 0, 186, 66, 0, 0, 3, 67, 0, 0, 188, 66, 0, 0, 3, 67, 0, 0, 190, 66, 0, 0, 3, 67, 0, 0, 192, 66, 0, 0, 3, 67, 0, 0, 194, 66, 0, 0, 3, 67, 0, 0, 196, 66, 0, 0, 3, 67, 0, 0, 198, 66, 0, 0, 3, 67, 0, 0, 200, 66, 0, 0, 3, 67, 0, 0, 202, 66, 0, 0, 3, 67, 0, 0, 46, 67, 0, 0, 3, 67, 0, 0, 47, 67, 0, 0, 3, 67, 0, 0, 48, 67, 0, 0, 3, 67, 0, 0, 49, 67, 0, 0, 3, 67, 0, 0, 50, 67, 0, 0, 3, 67, 0, 0, 51, 67, 0, 0, 3, 67, 0, 0, 52, 67, 0, 0, 3, 67, 0, 0, 53, 67, 0, 0, 3, 67, 0, 0, 54, 67, 0, 0, 3, 67, 0, 0, 55, 67, 0, 0, 10, 67, 0, 0, 184, 66, 0, 0, 10, 67, 0, 0, 186, 66, 0, 0, 10, 67, 0, 0, 188, 66, 0, 0, 10, 67, 0, 0, 190, 66, 0, 0, 10, 67, 0, 0, 192, 66, 0, 0, 10, 67, 0, 0, 194, 66, 0, 0, 10, 67, 0, 0, 196, 66, 0, 0, 10, 67, 0, 0, 198, 66, 0, 0, 10, 67, 0, 0, 200, 66, 0, 0, 10, 67, 0, 0, 202, 66, 0, 0, 10, 67, 0, 0, 46, 67, 0, 0, 10, 67, 0, 0, 47, 67, 0, 0, 10, 67, 0, 0, 48, 67, 0, 0, 10, 67, 0, 0, 49, 67, 0, 0, 10, 67, 0, 0, 50, 67, 0, 0, 10, 67, 0, 0, 51, 67, 0, 0, 10, 67, 0, 0, 52, 67, 0, 0, 10, 67, 0, 0, 53, 67, 0, 0, 10, 67, 0, 0, 54, 67, 0, 0, 10, 67, 0, 0, 55, 67, 0, 0, 11, 67, 0, 0, 184, 66, 0, 0, 11, 67, 0, 0, 186, 66, 0, 0, 11, 67, 0, 0, 188, 66, 0, 0, 11, 67, 0, 0, 190, 66, 0, 0, 11, 67, 0, 0, 192, 66, 0, 0, 11, 67, 0, 0, 194, 66, 0, 0, 11, 67, 0, 0, 196, 66, 0, 0, 11, 67, 0, 0, 198, 66, 0, 0, 11, 67, 0, 0, 200, 66, 0, 0, 11, 67, 0, 0, 202, 66, 0, 0, 11, 67, 0, 0, 204, 66, 0, 0, 11, 67, 0, 0, 45, 67, 0, 0, 11, 67, 0, 0, 46, 67, 0, 0, 11, 67, 0, 0, 47, 67, 0, 0, 11, 67, 0, 0, 48, 67, 0, 0, 11, 67, 0, 0, 49, 67, 0, 0, 11, 67, 0, 0, 50, 67, 0, 0, 11, 67, 0, 0, 51, 67, 0, 0, 11, 67, 0, 0, 52, 67, 0, 0, 11, 67, 0, 0, 53, 67, 0, 0, 11, 67, 0, 0, 54, 67, 0, 0, 11, 67, 0, 0, 55, 67, 0, 0, 12, 67, 0, 0, 184, 66, 0, 0, 12, 67, 0, 0, 186, 66, 0, 0, 12, 67, 0, 0, 188, 66, 0, 0, 12, 67, 0, 0, 190, 66, 0, 0, 12, 67, 0, 0, 192, 66, 0, 0, 12, 67, 0, 0, 194, 66, 0, 0, 12, 67, 0, 0, 196, 66, 0, 0, 12, 67, 0, 0, 198, 66, 0, 0, 12, 67, 0, 0, 200, 66, 0, 0, 12, 67, 0, 0, 202, 66, 0, 0, 12, 67, 0, 0, 204, 66, 0, 0, 12, 67, 0, 0, 45, 67, 0, 0, 12, 67, 0, 0, 46, 67, 0, 0, 12, 67, 0, 0, 47, 67, 0, 0, 12, 67, 0, 0, 48, 67, 0, 0, 12, 67, 0, 0, 49, 67, 0, 0, 12, 67, 0, 0, 50, 67, 0, 0, 12, 67, 0, 0, 51, 67, 0, 0, 12, 67, 0, 0, 52, 67, 0, 0, 12, 67, 0, 0, 53, 67, 0, 0, 12, 67, 0, 0, 54, 67, 0, 0, 12, 67, 0, 0, 55, 67, 0, 0, 13, 67, 0, 0, 184, 66, 0, 0, 13, 67, 0, 0, 186, 66, 0, 0, 13, 67, 0, 0, 188, 66, 0, 0, 13, 67, 0, 0, 190, 66, 0, 0, 13, 67, 0, 0, 192, 66, 0, 0, 13, 67, 0, 0, 194, 66, 0, 0, 13, 67, 0, 0, 196, 66, 0, 0, 13, 67, 0, 0, 198, 66, 0, 0, 13, 67, 0, 0, 200, 66, 0, 0, 13, 67, 0, 0, 202, 66, 0, 0, 13, 67, 0, 0, 204, 66, 0, 0, 13, 67, 0, 0, 45, 67, 0, 0, 13, 67, 0, 0, 46, 67, 0, 0, 13, 67, 0, 0, 47, 67, 0, 0, 13, 67, 0, 0, 48, 67, 0, 0, 13, 67, 0, 0, 49, 67, 0, 0, 13, 67, 0, 0, 50, 67, 0, 0, 13, 67, 0, 0, 51, 67, 0, 0, 13, 67, 0, 0, 52, 67, 0, 0, 13, 67, 0, 0, 53, 67, 0, 0, 13, 67, 0, 0, 54, 67, 0, 0, 13, 67, 0, 0, 55, 67, 0, 0, 14, 67, 0, 0, 184, 66, 0, 0, 14, 67, 0, 0, 186, 66, 0, 0, 14, 67, 0, 0, 188, 66, 0, 0, 14, 67, 0, 0, 190, 66, 0, 0, 14, 67, 0, 0, 192, 66, 0, 0, 14, 67, 0, 0, 194, 66, 0, 0, 14, 67, 0, 0, 196, 66, 0, 0, 14, 67, 0, 0, 198, 66, 0, 0, 14, 67, 0, 0, 200, 66, 0, 0, 14, 67, 0, 0, 202, 66, 0, 0, 14, 67, 0, 0, 204, 66, 0, 0, 14, 67, 0, 0, 44, 67, 0, 0, 14, 67, 0, 0, 45, 67, 0, 0, 14, 67, 0, 0, 46, 67, 0, 0, 14, 67, 0, 0, 47, 67, 0, 0, 14, 67, 0, 0, 48, 67, 0, 0, 14, 67, 0, 0, 49, 67, 0, 0, 14, 67, 0, 0, 50, 67, 0, 0, 14, 67, 0, 0, 51, 67, 0, 0, 14, 67, 0, 0, 52, 67, 0, 0, 14, 67, 0, 0, 53, 67, 0, 0, 14, 67, 0, 0, 54, 67, 0, 0, 14, 67, 0, 0, 55, 67, 0, 0, 15, 67, 0, 0, 184, 66, 0, 0, 15, 67, 0, 0, 186, 66, 0, 0, 15, 67, 0, 0, 188, 66, 0, 0, 15, 67, 0, 0, 190, 66, 0, 0, 15, 67, 0, 0, 192, 66, 0, 0, 15, 67, 0, 0, 194, 66, 0, 0, 15, 67, 0, 0, 196, 66, 0, 0, 15, 67, 0, 0, 198, 66, 0, 0, 15, 67, 0, 0, 200, 66, 0, 0, 15, 67, 0, 0, 202, 66, 0, 0, 15, 67, 0, 0, 204, 66, 0, 0, 15, 67, 0, 0, 206, 66, 0, 0, 15, 67, 0, 0, 44, 67, 0, 0, 15, 67, 0, 0, 45, 67, 0, 0, 15, 67, 0, 0, 46, 67, 0, 0, 15, 67, 0, 0, 47, 67, 0, 0, 15, 67, 0, 0, 48, 67, 0, 0, 15, 67, 0, 0, 49, 67, 0, 0, 15, 67, 0, 0, 50, 67, 0, 0, 15, 67, 0, 0, 51, 67, 0, 0, 15, 67, 0, 0, 52, 67, 0, 0, 15, 67, 0, 0, 53, 67, 0, 0, 15, 67, 0, 0, 54, 67, 0, 0, 15, 67, 0, 0, 55, 67, 0, 0, 16, 67, 0, 0, 184, 66, 0, 0, 16, 67, 0, 0, 186, 66, 0, 0, 16, 67, 0, 0, 188, 66, 0, 0, 16, 67, 0, 0, 190, 66, 0, 0, 16, 67, 0, 0, 192, 66, 0, 0, 16, 67, 0, 0, 194, 66, 0, 0, 16, 67, 0, 0, 196, 66, 0, 0, 16, 67, 0, 0, 198, 66, 0, 0, 16, 67, 0, 0, 200, 66, 0, 0, 16, 67, 0, 0, 202, 66, 0, 0, 16, 67, 0, 0, 204, 66, 0, 0, 16, 67, 0, 0, 206, 66, 0, 0, 16, 67, 0, 0, 44, 67, 0, 0, 16, 67, 0, 0, 45, 67, 0, 0, 16, 67, 0, 0, 46, 67, 0, 0, 16, 67, 0, 0, 47, 67, 0, 0, 16, 67, 0, 0, 48, 67, 0, 0, 16, 67, 0, 0, 49, 67, 0, 0, 16, 67, 0, 0, 50, 67, 0, 0, 16, 67, 0, 0, 51, 67, 0, 0, 16, 67, 0, 0, 52, 67, 0, 0, 16, 67, 0, 0, 53, 67, 0, 0, 16, 67, 0, 0, 54, 67, 0, 0, 16, 67, 0, 0, 55, 67, 0, 0, 17, 67, 0, 0, 184, 66, 0, 0, 17, 67, 0, 0, 186, 66, 0, 0, 17, 67, 0, 0, 188, 66, 0, 0, 17, 67, 0, 0, 190, 66, 0, 0, 17, 67, 0, 0, 192, 66, 0, 0, 17, 67, 0, 0, 194, 66, 0, 0, 17, 67, 0, 0, 196, 66, 0, 0, 17, 67, 0, 0, 198, 66, 0, 0, 17, 67, 0, 0, 200, 66, 0, 0, 17, 67, 0, 0, 202, 66, 0, 0, 17, 67, 0, 0, 204, 66, 0, 0, 17, 67, 0, 0, 206, 66, 0, 0, 17, 67, 0, 0, 44, 67, 0, 0, 17, 67, 0, 0, 45, 67, 0, 0, 17, 67, 0, 0, 46, 67, 0, 0, 17, 67, 0, 0, 47, 67, 0, 0, 17, 67, 0, 0, 48, 67, 0, 0, 17, 67, 0, 0, 49, 67, 0, 0, 17, 67, 0, 0, 50, 67, 0, 0, 17, 67, 0, 0, 51, 67, 0, 0, 17, 67, 0, 0, 52, 67, 0, 0, 17, 67, 0, 0, 53, 67, 0, 0, 17, 67, 0, 0, 54, 67, 0, 0, 17, 67, 0, 0, 55, 67, 0, 0, 18, 67, 0, 0, 184, 66, 0, 0, 18, 67, 0, 0, 186, 66, 0, 0, 18, 67, 0, 0, 188, 66, 0, 0, 18, 67, 0, 0, 190, 66, 0, 0, 18, 67, 0, 0, 192, 66, 0, 0, 18, 67, 0, 0, 194, 66, 0, 0, 18, 67, 0, 0, 196, 66, 0, 0, 18, 67, 0, 0, 198, 66, 0, 0, 18, 67, 0, 0, 200, 66, 0, 0, 18, 67, 0, 0, 202, 66, 0, 0, 18, 67, 0, 0, 204, 66, 0, 0, 18, 67, 0, 0, 206, 66, 0, 0, 18, 67, 0, 0, 44, 67, 0, 0, 18, 67, 0, 0, 45, 67, 0, 0, 18, 67, 0, 0, 46, 67, 0, 0, 18, 67, 0, 0, 47, 67, 0, 0, 18, 67, 0, 0, 48, 67, 0, 0, 18, 67, 0, 0, 49, 67, 0, 0, 18, 67, 0, 0, 50, 67, 0, 0, 18, 67, 0, 0, 51, 67, 0, 0, 18, 67, 0, 0, 52, 67, 0, 0, 18, 67, 0, 0, 53, 67, 0, 0, 18, 67, 0, 0, 54, 67, 0, 0, 18, 67, 0, 0, 55, 67, 0, 0, 19, 67, 0, 0, 184, 66, 0, 0, 19, 67, 0, 0, 186, 66, 0, 0, 19, 67, 0, 0, 188, 66, 0, 0, 19, 67, 0, 0, 190, 66, 0, 0, 19, 67, 0, 0, 192, 66, 0, 0, 19, 67, 0, 0, 194, 66, 0, 0, 19, 67, 0, 0, 196, 66, 0, 0, 19, 67, 0, 0, 198, 66, 0, 0, 19, 67, 0, 0, 200, 66, 0, 0, 19, 67, 0, 0, 202, 66, 0, 0, 19, 67, 0, 0, 204, 66, 0, 0, 19, 67, 0, 0, 206, 66, 0, 0, 19, 67, 0, 0, 208, 66, 0, 0, 19, 67, 0, 0, 43, 67, 0, 0, 19, 67, 0, 0, 44, 67, 0, 0, 19, 67, 0, 0, 45, 67, 0, 0, 19, 67, 0, 0, 46, 67, 0, 0, 19, 67, 0, 0, 47, 67, 0, 0, 19, 67, 0, 0, 48, 67, 0, 0, 19, 67, 0, 0, 49, 67, 0, 0, 19, 67, 0, 0, 50, 67, 0, 0, 19, 67, 0, 0, 51, 67, 0, 0, 19, 67, 0, 0, 52, 67, 0, 0, 19, 67, 0, 0, 53, 67, 0, 0, 19, 67, 0, 0, 54, 67, 0, 0, 19, 67, 0, 0, 55, 67, 0, 0, 20, 67, 0, 0, 184, 66, 0, 0, 20, 67, 0, 0, 186, 66, 0, 0, 20, 67, 0, 0, 188, 66, 0, 0, 20, 67, 0, 0, 190, 66, 0, 0, 20, 67, 0, 0, 192, 66, 0, 0, 20, 67, 0, 0, 194, 66, 0, 0, 20, 67, 0, 0, 196, 66, 0, 0, 20, 67, 0, 0, 198, 66, 0, 0, 20, 67, 0, 0, 200, 66, 0, 0, 20, 67, 0, 0, 202, 66, 0, 0, 20, 67, 0, 0, 204, 66, 0, 0, 20, 67, 0, 0, 206, 66, 0, 0, 20, 67, 0, 0, 208, 66, 0, 0, 20, 67, 0, 0, 210, 66, 0, 0, 20, 67, 0, 0, 42, 67, 0, 0, 20, 67, 0, 0, 43, 67, 0, 0, 20, 67, 0, 0, 44, 67, 0, 0, 20, 67, 0, 0, 45, 67, 0, 0, 20, 67, 0, 0, 46, 67, 0, 0, 20, 67, 0, 0, 47, 67, 0, 0, 20, 67, 0, 0, 48, 67, 0, 0, 20, 67, 0, 0, 49, 67, 0, 0, 20, 67, 0, 0, 50, 67, 0, 0, 20, 67, 0, 0, 51, 67, 0, 0, 20, 67, 0, 0, 52, 67, 0, 0, 20, 67, 0, 0, 53, 67, 0, 0, 20, 67, 0, 0, 54, 67, 0, 0, 20, 67, 0, 0, 55, 67, 0, 0, 21, 67, 0, 0, 184, 66, 0, 0, 21, 67, 0, 0, 186, 66, 0, 0, 21, 67, 0, 0, 188, 66, 0, 0, 21, 67, 0, 0, 190, 66, 0, 0, 21, 67, 0, 0, 192, 66, 0, 0, 21, 67, 0, 0, 194, 66, 0, 0, 21, 67, 0, 0, 196, 66, 0, 0, 21, 67, 0, 0, 198, 66, 0, 0, 21, 67, 0, 0, 200, 66, 0, 0, 21, 67, 0, 0, 202, 66, 0, 0, 21, 67, 0, 0, 204, 66, 0, 0, 21, 67, 0, 0, 206, 66, 0, 0, 21, 67, 0, 0, 208, 66, 0, 0, 21, 67, 0, 0, 210, 66, 0, 0, 21, 67, 0, 0, 212, 66, 0, 0, 21, 67, 0, 0, 214, 66, 0, 0, 21, 67, 0, 0, 40, 67, 0, 0, 21, 67, 0, 0, 41, 67, 0, 0, 21, 67, 0, 0, 42, 67, 0, 0, 21, 67, 0, 0, 43, 67, 0, 0, 21, 67, 0, 0, 44, 67, 0, 0, 21, 67, 0, 0, 45, 67, 0, 0, 21, 67, 0, 0, 46, 67, 0, 0, 21, 67, 0, 0, 47, 67, 0, 0, 21, 67, 0, 0, 48, 67, 0, 0, 21, 67, 0, 0, 49, 67, 0, 0, 21, 67, 0, 0, 50, 67, 0, 0, 21, 67, 0, 0, 51, 67, 0, 0, 21, 67, 0, 0, 52, 67, 0, 0, 21, 67, 0, 0, 53, 67, 0, 0, 21, 67, 0, 0, 54, 67, 0, 0, 21, 67, 0, 0, 55, 67, 0, 0, 22, 67, 0, 0, 184, 66, 0, 0, 22, 67, 0, 0, 186, 66, 0, 0, 22, 67, 0, 0, 188, 66, 0, 0, 22, 67, 0, 0, 190, 66, 0, 0, 22, 67, 0, 0, 192, 66, 0, 0, 22, 67, 0, 0, 194, 66, 0, 0, 22, 67, 0, 0, 196, 66, 0, 0, 22, 67, 0, 0, 198, 66, 0, 0, 22, 67, 0, 0, 200, 66, 0, 0, 22, 67, 0, 0, 202, 66, 0, 0, 22, 67, 0, 0, 204, 66, 0, 0, 22, 67, 0, 0, 206, 66, 0, 0, 22, 67, 0, 0, 208, 66, 0, 0, 22, 67, 0, 0, 210, 66, 0, 0, 22, 67, 0, 0, 212, 66, 0, 0, 22, 67, 0, 0, 214, 66, 0, 0, 22, 67, 0, 0, 216, 66, 0, 0, 22, 67, 0, 0, 218, 66, 0, 0, 22, 67, 0, 0, 220, 66, 0, 0, 22, 67, 0, 0, 222, 66, 0, 0, 22, 67, 0, 0, 224, 66, 0, 0, 22, 67, 0, 0, 226, 66, 0, 0, 22, 67, 0, 0, 228, 66, 0, 0, 22, 67, 0, 0, 230, 66, 0, 0, 22, 67, 0, 0, 232, 66, 0, 0, 22, 67, 0, 0, 234, 66, 0, 0, 22, 67, 0, 0, 236, 66, 0, 0, 22, 67, 0, 0, 238, 66, 0, 0, 22, 67, 0, 0, 240, 66, 0, 0, 22, 67, 0, 0, 242, 66, 0, 0, 22, 67, 0, 0, 244, 66, 0, 0, 22, 67, 0, 0, 246, 66, 0, 0, 22, 67, 0, 0, 248, 66, 0, 0, 22, 67, 0, 0, 250, 66, 0, 0, 22, 67, 0, 0, 252, 66, 0, 0, 22, 67, 0, 0, 254, 66, 0, 0, 22, 67, 0, 0, 0, 67, 0, 0, 22, 67, 0, 0, 1, 67, 0, 0, 22, 67, 0, 0, 2, 67, 0, 0, 22, 67, 0, 0, 3, 67, 0, 0, 22, 67, 0, 0, 4, 67, 0, 0, 22, 67, 0, 0, 5, 67, 0, 0, 22, 67, 0, 0, 6, 67, 0, 0, 22, 67, 0, 0, 7, 67, 0, 0, 22, 67, 0, 0, 8, 67, 0, 0, 22, 67, 0, 0, 9, 67, 0, 0, 22, 67, 0, 0, 10, 67, 0, 0, 22, 67, 0, 0, 11, 67, 0, 0, 22, 67, 0, 0, 12, 67, 0, 0, 22, 67, 0, 0, 13, 67, 0, 0, 22, 67, 0, 0, 14, 67, 0, 0, 22, 67, 0, 0, 15, 67, 0, 0, 22, 67, 0, 0, 16, 67, 0, 0, 22, 67, 0, 0, 17, 67, 0, 0, 22, 67, 0, 0, 18, 67, 0, 0, 22, 67, 0, 0, 19, 67, 0, 0, 22, 67, 0, 0, 20, 67, 0, 0, 22, 67, 0, 0, 21, 67, 0, 0, 22, 67, 0, 0, 22, 67, 0, 0, 22, 67, 0, 0, 23, 67, 0, 0, 22, 67, 0, 0, 24, 67, 0, 0, 22, 67, 0, 0, 25, 67, 0, 0, 22, 67, 0, 0, 26, 67, 0, 0, 22, 67, 0, 0, 27, 67, 0, 0, 22, 67, 0, 0, 28, 67, 0, 0, 22, 67, 0, 0, 29, 67, 0, 0, 22, 67, 0, 0, 30, 67, 0, 0, 22, 67, 0, 0, 31, 67, 0, 0, 22, 67, 0, 0, 32, 67, 0, 0, 22, 67, 0, 0, 33, 67, 0, 0, 22, 67, 0, 0, 34, 67, 0, 0, 22, 67, 0, 0, 35, 67, 0, 0, 22, 67, 0, 0, 36, 67, 0, 0, 22, 67, 0, 0, 37, 67, 0, 0, 22, 67, 0, 0, 38, 67, 0, 0, 22, 67, 0, 0, 39, 67, 0, 0, 22, 67, 0, 0, 40, 67, 0, 0, 22, 67, 0, 0, 41, 67, 0, 0, 22, 67, 0, 0, 42, 67, 0, 0, 22, 67, 0, 0, 43, 67, 0, 0, 22, 67, 0, 0, 44, 67, 0, 0, 22, 67, 0, 0, 45, 67, 0, 0, 22, 67, 0, 0, 46, 67, 0, 0, 22, 67, 0, 0, 47, 67, 0, 0, 22, 67, 0, 0, 48, 67, 0, 0, 22, 67, 0, 0, 49, 67, 0, 0, 22, 67, 0, 0, 50, 67, 0, 0, 22, 67, 0, 0, 51, 67, 0, 0, 22, 67, 0, 0, 52, 67, 0, 0, 22, 67, 0, 0, 53, 67, 0, 0, 22, 67, 0, 0, 54, 67, 0, 0, 22, 67, 0, 0, 55, 67, 0, 0, 23, 67, 0, 0, 184, 66, 0, 0, 23, 67, 0, 0, 186, 66, 0, 0, 23, 67, 0, 0, 188, 66, 0, 0, 23, 67, 0, 0, 190, 66, 0, 0, 23, 67, 0, 0, 192, 66, 0, 0, 23, 67, 0, 0, 194, 66, 0, 0, 23, 67, 0, 0, 196, 66, 0, 0, 23, 67, 0, 0, 198, 66, 0, 0, 23, 67, 0, 0, 200, 66, 0, 0, 23, 67, 0, 0, 202, 66, 0, 0, 23, 67, 0, 0, 204, 66, 0, 0, 23, 67, 0, 0, 206, 66, 0, 0, 23, 67, 0, 0, 208, 66, 0, 0, 23, 67, 0, 0, 210, 66, 0, 0, 23, 67, 0, 0, 212, 66, 0, 0, 23, 67, 0, 0, 214, 66, 0, 0, 23, 67, 0, 0, 216, 66, 0, 0, 23, 67, 0, 0, 218, 66, 0, 0, 23, 67, 0, 0, 220, 66, 0, 0, 23, 67, 0, 0, 222, 66, 0, 0, 23, 67, 0, 0, 224, 66, 0, 0, 23, 67, 0, 0, 226, 66, 0, 0, 23, 67, 0, 0, 228, 66, 0, 0, 23, 67, 0, 0, 230, 66, 0, 0, 23, 67, 0, 0, 232, 66, 0, 0, 23, 67, 0, 0, 234, 66, 0, 0, 23, 67, 0, 0, 236, 66, 0, 0, 23, 67, 0, 0, 238, 66, 0, 0, 23, 67, 0, 0, 240, 66, 0, 0, 23, 67, 0, 0, 242, 66, 0, 0, 23, 67, 0, 0, 244, 66, 0, 0, 23, 67, 0, 0, 246, 66, 0, 0, 23, 67, 0, 0, 248, 66, 0, 0, 23, 67, 0, 0, 250, 66, 0, 0, 23, 67, 0, 0, 252, 66, 0, 0, 23, 67, 0, 0, 254, 66, 0, 0, 23, 67, 0, 0, 0, 67, 0, 0, 23, 67, 0, 0, 1, 67, 0, 0, 23, 67, 0, 0, 2, 67, 0, 0, 23, 67, 0, 0, 3, 67, 0, 0, 23, 67, 0, 0, 4, 67, 0, 0, 23, 67, 0, 0, 5, 67, 0, 0, 23, 67, 0, 0, 6, 67, 0, 0, 23, 67, 0, 0, 7, 67, 0, 0, 23, 67, 0, 0, 8, 67, 0, 0, 23, 67, 0, 0, 9, 67, 0, 0, 23, 67, 0, 0, 10, 67, 0, 0, 23, 67, 0, 0, 11, 67, 0, 0, 23, 67, 0, 0, 12, 67, 0, 0, 23, 67, 0, 0, 13, 67, 0, 0, 23, 67, 0, 0, 14, 67, 0, 0, 23, 67, 0, 0, 15, 67, 0, 0, 23, 67, 0, 0, 16, 67, 0, 0, 23, 67, 0, 0, 17, 67, 0, 0, 23, 67, 0, 0, 18, 67, 0, 0, 23, 67, 0, 0, 19, 67, 0, 0, 23, 67, 0, 0, 20, 67, 0, 0, 23, 67, 0, 0, 21, 67, 0, 0, 23, 67, 0, 0, 22, 67, 0, 0, 23, 67, 0, 0, 23, 67, 0, 0, 23, 67, 0, 0, 24, 67, 0, 0, 23, 67, 0, 0, 25, 67, 0, 0, 23, 67, 0, 0, 26, 67, 0, 0, 23, 67, 0, 0, 27, 67, 0, 0, 23, 67, 0, 0, 28, 67, 0, 0, 23, 67, 0, 0, 29, 67, 0, 0, 23, 67, 0, 0, 30, 67, 0, 0, 23, 67, 0, 0, 31, 67, 0, 0, 23, 67, 0, 0, 32, 67, 0, 0, 23, 67, 0, 0, 33, 67, 0, 0, 23, 67, 0, 0, 34, 67, 0, 0, 23, 67, 0, 0, 35, 67, 0, 0, 23, 67, 0, 0, 36, 67, 0, 0, 23, 67, 0, 0, 37, 67, 0, 0, 23, 67, 0, 0, 38, 67, 0, 0, 23, 67, 0, 0, 39, 67, 0, 0, 23, 67, 0, 0, 40, 67, 0, 0, 23, 67, 0, 0, 41, 67, 0, 0, 23, 67, 0, 0, 42, 67, 0, 0, 23, 67, 0, 0, 43, 67, 0, 0, 23, 67, 0, 0, 44, 67, 0, 0, 23, 67, 0, 0, 45, 67, 0, 0, 23, 67, 0, 0, 46, 67, 0, 0, 23, 67, 0, 0, 47, 67, 0, 0, 23, 67, 0, 0, 48, 67, 0, 0, 23, 67, 0, 0, 49, 67, 0, 0, 23, 67, 0, 0, 50, 67, 0, 0, 23, 67, 0, 0, 51, 67, 0, 0, 23, 67, 0, 0, 52, 67, 0, 0, 23, 67, 0, 0, 53, 67, 0, 0, 23, 67, 0, 0, 54, 67, 0, 0, 23, 67, 0, 0, 55, 67, 0, 0, 24, 67, 0, 0, 184, 66, 0, 0, 24, 67, 0, 0, 186, 66, 0, 0, 24, 67, 0, 0, 188, 66, 0, 0, 24, 67, 0, 0, 190, 66, 0, 0, 24, 67, 0, 0, 192, 66, 0, 0, 24, 67, 0, 0, 194, 66, 0, 0, 24, 67, 0, 0, 196, 66, 0, 0, 24, 67, 0, 0, 198, 66, 0, 0, 24, 67, 0, 0, 200, 66, 0, 0, 24, 67, 0, 0, 202, 66, 0, 0, 24, 67, 0, 0, 204, 66, 0, 0, 24, 67, 0, 0, 206, 66, 0, 0, 24, 67, 0, 0, 208, 66, 0, 0, 24, 67, 0, 0, 210, 66, 0, 0, 24, 67, 0, 0, 212, 66, 0, 0, 24, 67, 0, 0, 214, 66, 0, 0, 24, 67, 0, 0, 216, 66, 0, 0, 24, 67, 0, 0, 218, 66, 0, 0, 24, 67, 0, 0, 220, 66, 0, 0, 24, 67, 0, 0, 222, 66, 0, 0, 24, 67, 0, 0, 224, 66, 0, 0, 24, 67, 0, 0, 226, 66, 0, 0, 24, 67, 0, 0, 228, 66, 0, 0, 24, 67, 0, 0, 230, 66, 0, 0, 24, 67, 0, 0, 232, 66, 0, 0, 24, 67, 0, 0, 234, 66, 0, 0, 24, 67, 0, 0, 236, 66, 0, 0, 24, 67, 0, 0, 238, 66, 0, 0, 24, 67, 0, 0, 240, 66, 0, 0, 24, 67, 0, 0, 242, 66, 0, 0, 24, 67, 0, 0, 244, 66, 0, 0, 24, 67, 0, 0, 246, 66, 0, 0, 24, 67, 0, 0, 248, 66, 0, 0, 24, 67, 0, 0, 250, 66, 0, 0, 24, 67, 0, 0, 252, 66, 0, 0, 24, 67, 0, 0, 254, 66, 0, 0, 24, 67, 0, 0, 0, 67, 0, 0, 24, 67, 0, 0, 1, 67, 0, 0, 24, 67, 0, 0, 2, 67, 0, 0, 24, 67, 0, 0, 3, 67, 0, 0, 24, 67, 0, 0, 4, 67, 0, 0, 24, 67, 0, 0, 5, 67, 0, 0, 24, 67, 0, 0, 6, 67, 0, 0, 24, 67, 0, 0, 7, 67, 0, 0, 24, 67, 0, 0, 8, 67, 0, 0, 24, 67, 0, 0, 9, 67, 0, 0, 24, 67, 0, 0, 10, 67, 0, 0, 24, 67, 0, 0, 11, 67, 0, 0, 24, 67, 0, 0, 12, 67, 0, 0, 24, 67, 0, 0, 13, 67, 0, 0, 24, 67, 0, 0, 14, 67, 0, 0, 24, 67, 0, 0, 15, 67, 0, 0, 24, 67, 0, 0, 16, 67, 0, 0, 24, 67, 0, 0, 17, 67, 0, 0, 24, 67, 0, 0, 18, 67, 0, 0, 24, 67, 0, 0, 19, 67, 0, 0, 24, 67, 0, 0, 20, 67, 0, 0, 24, 67, 0, 0, 21, 67, 0, 0, 24, 67, 0, 0, 22, 67, 0, 0, 24, 67, 0, 0, 23, 67, 0, 0, 24, 67, 0, 0, 24, 67, 0, 0, 24, 67, 0, 0, 25, 67, 0, 0, 24, 67, 0, 0, 26, 67, 0, 0, 24, 67, 0, 0, 27, 67, 0, 0, 24, 67, 0, 0, 28, 67, 0, 0, 24, 67, 0, 0, 29, 67, 0, 0, 24, 67, 0, 0, 30, 67, 0, 0, 24, 67, 0, 0, 31, 67, 0, 0, 24, 67, 0, 0, 32, 67, 0, 0, 24, 67, 0, 0, 33, 67, 0, 0, 24, 67, 0, 0, 34, 67, 0, 0, 24, 67, 0, 0, 35, 67, 0, 0, 24, 67, 0, 0, 36, 67, 0, 0, 24, 67, 0, 0, 37, 67, 0, 0, 24, 67, 0, 0, 38, 67, 0, 0, 24, 67, 0, 0, 39, 67, 0, 0, 24, 67, 0, 0, 40, 67, 0, 0, 24, 67, 0, 0, 41, 67, 0, 0, 24, 67, 0, 0, 42, 67, 0, 0, 24, 67, 0, 0, 43, 67, 0, 0, 24, 67, 0, 0, 44, 67, 0, 0, 24, 67, 0, 0, 45, 67, 0, 0, 24, 67, 0, 0, 46, 67, 0, 0, 24, 67, 0, 0, 47, 67, 0, 0, 24, 67, 0, 0, 48, 67, 0, 0, 24, 67, 0, 0, 49, 67, 0, 0, 24, 67, 0, 0, 50, 67, 0, 0, 24, 67, 0, 0, 51, 67, 0, 0, 24, 67, 0, 0, 52, 67, 0, 0, 24, 67, 0, 0, 53, 67, 0, 0, 24, 67, 0, 0, 54, 67, 0, 0, 24, 67, 0, 0, 55, 67, 0, 0, 25, 67, 0, 0, 184, 66, 0, 0, 25, 67, 0, 0, 186, 66, 0, 0, 25, 67, 0, 0, 188, 66, 0, 0, 25, 67, 0, 0, 190, 66, 0, 0, 25, 67, 0, 0, 192, 66, 0, 0, 25, 67, 0, 0, 194, 66, 0, 0, 25, 67, 0, 0, 196, 66, 0, 0, 25, 67, 0, 0, 198, 66, 0, 0, 25, 67, 0, 0, 200, 66, 0, 0, 25, 67, 0, 0, 202, 66, 0, 0, 25, 67, 0, 0, 204, 66, 0, 0, 25, 67, 0, 0, 206, 66, 0, 0, 25, 67, 0, 0, 208, 66, 0, 0, 25, 67, 0, 0, 210, 66, 0, 0, 25, 67, 0, 0, 212, 66, 0, 0, 25, 67, 0, 0, 214, 66, 0, 0, 25, 67, 0, 0, 216, 66, 0, 0, 25, 67, 0, 0, 218, 66, 0, 0, 25, 67, 0, 0, 220, 66, 0, 0, 25, 67, 0, 0, 222, 66, 0, 0, 25, 67, 0, 0, 224, 66, 0, 0, 25, 67, 0, 0, 226, 66, 0, 0, 25, 67, 0, 0, 228, 66, 0, 0, 25, 67, 0, 0, 230, 66, 0, 0, 25, 67, 0, 0, 232, 66, 0, 0, 25, 67, 0, 0, 234, 66, 0, 0, 25, 67, 0, 0, 236, 66, 0, 0, 25, 67, 0, 0, 238, 66, 0, 0, 25, 67, 0, 0, 240, 66, 0, 0, 25, 67, 0, 0, 242, 66, 0, 0, 25, 67, 0, 0, 244, 66, 0, 0, 25, 67, 0, 0, 246, 66, 0, 0, 25, 67, 0, 0, 248, 66, 0, 0, 25, 67, 0, 0, 250, 66, 0, 0, 25, 67, 0, 0, 252, 66, 0, 0, 25, 67, 0, 0, 254, 66, 0, 0, 25, 67, 0, 0, 0, 67, 0, 0, 25, 67, 0, 0, 1, 67, 0, 0, 25, 67, 0, 0, 2, 67, 0, 0, 25, 67, 0, 0, 3, 67, 0, 0, 25, 67, 0, 0, 4, 67, 0, 0, 25, 67, 0, 0, 5, 67, 0, 0, 25, 67, 0, 0, 6, 67, 0, 0, 25, 67, 0, 0, 7, 67, 0, 0, 25, 67, 0, 0, 8, 67, 0, 0, 25, 67, 0, 0, 9, 67, 0, 0, 25, 67, 0, 0, 10, 67, 0, 0, 25, 67, 0, 0, 11, 67, 0, 0, 25, 67, 0, 0, 12, 67, 0, 0, 25, 67, 0, 0, 13, 67, 0, 0, 25, 67, 0, 0, 14, 67, 0, 0, 25, 67, 0, 0, 15, 67, 0, 0, 25, 67, 0, 0, 16, 67, 0, 0, 25, 67, 0, 0, 17, 67, 0, 0, 25, 67, 0, 0, 18, 67, 0, 0, 25, 67, 0, 0, 19, 67, 0, 0, 25, 67, 0, 0, 20, 67, 0, 0, 25, 67, 0, 0, 21, 67, 0, 0, 25, 67, 0, 0, 22, 67, 0, 0, 25, 67, 0, 0, 23, 67, 0, 0, 25, 67, 0, 0, 24, 67, 0, 0, 25, 67, 0, 0, 25, 67, 0, 0, 25, 67, 0, 0, 26, 67, 0, 0, 25, 67, 0, 0, 27, 67, 0, 0, 25, 67, 0, 0, 28, 67, 0, 0, 25, 67, 0, 0, 29, 67, 0, 0, 25, 67, 0, 0, 30, 67, 0, 0, 25, 67, 0, 0, 31, 67, 0, 0, 25, 67, 0, 0, 32, 67, 0, 0, 25, 67, 0, 0, 33, 67, 0, 0, 25, 67, 0, 0, 34, 67, 0, 0, 25, 67, 0, 0, 35, 67, 0, 0, 25, 67, 0, 0, 36, 67, 0, 0, 25, 67, 0, 0, 37, 67, 0, 0, 25, 67, 0, 0, 38, 67, 0, 0, 25, 67, 0, 0, 39, 67, 0, 0, 25, 67, 0, 0, 40, 67, 0, 0, 25, 67, 0, 0, 41, 67, 0, 0, 25, 67, 0, 0, 42, 67, 0, 0, 25, 67, 0, 0, 43, 67, 0, 0, 25, 67, 0, 0, 44, 67, 0, 0, 25, 67, 0, 0, 45, 67, 0, 0, 25, 67, 0, 0, 46, 67, 0, 0, 25, 67, 0, 0, 47, 67, 0, 0, 25, 67, 0, 0, 48, 67, 0, 0, 25, 67, 0, 0, 49, 67, 0, 0, 25, 67, 0, 0, 50, 67, 0, 0, 25, 67, 0, 0, 51, 67, 0, 0, 25, 67, 0, 0, 52, 67, 0, 0, 25, 67, 0, 0, 53, 67, 0, 0, 25, 67, 0, 0, 54, 67, 0, 0, 25, 67, 0, 0, 55, 67, 0, 0, 26, 67, 0, 0, 184, 66, 0, 0, 26, 67, 0, 0, 186, 66, 0, 0, 26, 67, 0, 0, 188, 66, 0, 0, 26, 67, 0, 0, 190, 66, 0, 0, 26, 67, 0, 0, 192, 66, 0, 0, 26, 67, 0, 0, 194, 66, 0, 0, 26, 67, 0, 0, 196, 66, 0, 0, 26, 67, 0, 0, 198, 66, 0, 0, 26, 67, 0, 0, 200, 66, 0, 0, 26, 67, 0, 0, 202, 66, 0, 0, 26, 67, 0, 0, 204, 66, 0, 0, 26, 67, 0, 0, 206, 66, 0, 0, 26, 67, 0, 0, 208, 66, 0, 0, 26, 67, 0, 0, 210, 66, 0, 0, 26, 67, 0, 0, 212, 66, 0, 0, 26, 67, 0, 0, 214, 66, 0, 0, 26, 67, 0, 0, 216, 66, 0, 0, 26, 67, 0, 0, 218, 66, 0, 0, 26, 67, 0, 0, 220, 66, 0, 0, 26, 67, 0, 0, 222, 66, 0, 0, 26, 67, 0, 0, 224, 66, 0, 0, 26, 67, 0, 0, 226, 66, 0, 0, 26, 67, 0, 0, 228, 66, 0, 0, 26, 67, 0, 0, 230, 66, 0, 0, 26, 67, 0, 0, 232, 66, 0, 0, 26, 67, 0, 0, 234, 66, 0, 0, 26, 67, 0, 0, 236, 66, 0, 0, 26, 67, 0, 0, 238, 66, 0, 0, 26, 67, 0, 0, 240, 66, 0, 0, 26, 67, 0, 0, 242, 66, 0, 0, 26, 67, 0, 0, 244, 66, 0, 0, 26, 67, 0, 0, 246, 66, 0, 0, 26, 67, 0, 0, 248, 66, 0, 0, 26, 67, 0, 0, 250, 66, 0, 0, 26, 67, 0, 0, 252, 66, 0, 0, 26, 67, 0, 0, 254, 66, 0, 0, 26, 67, 0, 0, 0, 67, 0, 0, 26, 67, 0, 0, 1, 67, 0, 0, 26, 67, 0, 0, 2, 67, 0, 0, 26, 67, 0, 0, 3, 67, 0, 0, 26, 67, 0, 0, 4, 67, 0, 0, 26, 67, 0, 0, 5, 67, 0, 0, 26, 67, 0, 0, 6, 67, 0, 0, 26, 67, 0, 0, 7, 67, 0, 0, 26, 67, 0, 0, 8, 67, 0, 0, 26, 67, 0, 0, 9, 67, 0, 0, 26, 67, 0, 0, 10, 67, 0, 0, 26, 67, 0, 0, 11, 67, 0, 0, 26, 67, 0, 0, 12, 67, 0, 0, 26, 67, 0, 0, 13, 67, 0, 0, 26, 67, 0, 0, 14, 67, 0, 0, 26, 67, 0, 0, 15, 67, 0, 0, 26, 67, 0, 0, 16, 67, 0, 0, 26, 67, 0, 0, 17, 67, 0, 0, 26, 67, 0, 0, 18, 67, 0, 0, 26, 67, 0, 0, 19, 67, 0, 0, 26, 67, 0, 0, 20, 67, 0, 0, 26, 67, 0, 0, 21, 67, 0, 0, 26, 67, 0, 0, 22, 67, 0, 0, 26, 67, 0, 0, 23, 67, 0, 0, 26, 67, 0, 0, 24, 67, 0, 0, 26, 67, 0, 0, 25, 67, 0, 0, 26, 67, 0, 0, 26, 67, 0, 0, 26, 67, 0, 0, 27, 67, 0, 0, 26, 67, 0, 0, 28, 67, 0, 0, 26, 67, 0, 0, 29, 67, 0, 0, 26, 67, 0, 0, 30, 67, 0, 0, 26, 67, 0, 0, 31, 67, 0, 0, 26, 67, 0, 0, 32, 67, 0, 0, 26, 67, 0, 0, 33, 67, 0, 0, 26, 67, 0, 0, 34, 67, 0, 0, 26, 67, 0, 0, 35, 67, 0, 0, 26, 67, 0, 0, 36, 67, 0, 0, 26, 67, 0, 0, 37, 67, 0, 0, 26, 67, 0, 0, 38, 67, 0, 0, 26, 67, 0, 0, 39, 67, 0, 0, 26, 67, 0, 0, 40, 67, 0, 0, 26, 67, 0, 0, 41, 67, 0, 0, 26, 67, 0, 0, 42, 67, 0, 0, 26, 67, 0, 0, 43, 67, 0, 0, 26, 67, 0, 0, 44, 67, 0, 0, 26, 67, 0, 0, 45, 67, 0, 0, 26, 67, 0, 0, 46, 67, 0, 0, 26, 67, 0, 0, 47, 67, 0, 0, 26, 67, 0, 0, 48, 67, 0, 0, 26, 67, 0, 0, 49, 67, 0, 0, 26, 67, 0, 0, 50, 67, 0, 0, 26, 67, 0, 0, 51, 67, 0, 0, 26, 67, 0, 0, 52, 67, 0, 0, 26, 67, 0, 0, 53, 67, 0, 0, 26, 67, 0, 0, 54, 67, 0, 0, 26, 67, 0, 0, 55, 67, 0, 0, 27, 67, 0, 0, 184, 66, 0, 0, 27, 67, 0, 0, 186, 66, 0, 0, 27, 67, 0, 0, 188, 66, 0, 0, 27, 67, 0, 0, 190, 66, 0, 0, 27, 67, 0, 0, 192, 66, 0, 0, 27, 67, 0, 0, 194, 66, 0, 0, 27, 67, 0, 0, 196, 66, 0, 0, 27, 67, 0, 0, 198, 66, 0, 0, 27, 67, 0, 0, 200, 66, 0, 0, 27, 67, 0, 0, 202, 66, 0, 0, 27, 67, 0, 0, 204, 66, 0, 0, 27, 67, 0, 0, 206, 66, 0, 0, 27, 67, 0, 0, 208, 66, 0, 0, 27, 67, 0, 0, 210, 66, 0, 0, 27, 67, 0, 0, 212, 66, 0, 0, 27, 67, 0, 0, 214, 66, 0, 0, 27, 67, 0, 0, 216, 66, 0, 0, 27, 67, 0, 0, 218, 66, 0, 0, 27, 67, 0, 0, 220, 66, 0, 0, 27, 67, 0, 0, 222, 66, 0, 0, 27, 67, 0, 0, 224, 66, 0, 0, 27, 67, 0, 0, 226, 66, 0, 0, 27, 67, 0, 0, 228, 66, 0, 0, 27, 67, 0, 0, 230, 66, 0, 0, 27, 67, 0, 0, 232, 66, 0, 0, 27, 67, 0, 0, 234, 66, 0, 0, 27, 67, 0, 0, 236, 66, 0, 0, 27, 67, 0, 0, 238, 66, 0, 0, 27, 67, 0, 0, 240, 66, 0, 0, 27, 67, 0, 0, 242, 66, 0, 0, 27, 67, 0, 0, 244, 66, 0, 0, 27, 67, 0, 0, 246, 66, 0, 0, 27, 67, 0, 0, 248, 66, 0, 0, 27, 67, 0, 0, 250, 66, 0, 0, 27, 67, 0, 0, 252, 66, 0, 0, 27, 67, 0, 0, 254, 66, 0, 0, 27, 67, 0, 0, 0, 67, 0, 0, 27, 67, 0, 0, 1, 67, 0, 0, 27, 67, 0, 0, 2, 67, 0, 0, 27, 67, 0, 0, 3, 67, 0, 0, 27, 67, 0, 0, 4, 67, 0, 0, 27, 67, 0, 0, 5, 67, 0, 0, 27, 67, 0, 0, 6, 67, 0, 0, 27, 67, 0, 0, 7, 67, 0, 0, 27, 67, 0, 0, 8, 67, 0, 0, 27, 67, 0, 0, 9, 67, 0, 0, 27, 67, 0, 0, 10, 67, 0, 0, 27, 67, 0, 0, 11, 67, 0, 0, 27, 67, 0, 0, 12, 67, 0, 0, 27, 67, 0, 0, 13, 67, 0, 0, 27, 67, 0, 0, 14, 67, 0, 0, 27, 67, 0, 0, 15, 67, 0, 0, 27, 67, 0, 0, 16, 67, 0, 0, 27, 67, 0, 0, 17, 67, 0, 0, 27, 67, 0, 0, 18, 67, 0, 0, 27, 67, 0, 0, 19, 67, 0, 0, 27, 67, 0, 0, 20, 67, 0, 0, 27, 67, 0, 0, 21, 67, 0, 0, 27, 67, 0, 0, 22, 67, 0, 0, 27, 67, 0, 0, 23, 67, 0, 0, 27, 67, 0, 0, 24, 67, 0, 0, 27, 67, 0, 0, 25, 67, 0, 0, 27, 67, 0, 0, 26, 67, 0, 0, 27, 67, 0, 0, 27, 67, 0, 0, 27, 67, 0, 0, 28, 67, 0, 0, 27, 67, 0, 0, 29, 67, 0, 0, 27, 67, 0, 0, 30, 67, 0, 0, 27, 67, 0, 0, 31, 67, 0, 0, 27, 67, 0, 0, 32, 67, 0, 0, 27, 67, 0, 0, 33, 67, 0, 0, 27, 67, 0, 0, 34, 67, 0, 0, 27, 67, 0, 0, 35, 67, 0, 0, 27, 67, 0, 0, 36, 67, 0, 0, 27, 67, 0, 0, 37, 67, 0, 0, 27, 67, 0, 0, 38, 67, 0, 0, 27, 67, 0, 0, 39, 67, 0, 0, 27, 67, 0, 0, 40, 67, 0, 0, 27, 67, 0, 0, 41, 67, 0, 0, 27, 67, 0, 0, 42, 67, 0, 0, 27, 67, 0, 0, 43, 67, 0, 0, 27, 67, 0, 0, 44, 67, 0, 0, 27, 67, 0, 0, 45, 67, 0, 0, 27, 67, 0, 0, 46, 67, 0, 0, 27, 67, 0, 0, 47, 67, 0, 0, 27, 67, 0, 0, 48, 67, 0, 0, 27, 67, 0, 0, 49, 67, 0, 0, 27, 67, 0, 0, 50, 67, 0, 0, 27, 67, 0, 0, 51, 67, 0, 0, 27, 67, 0, 0, 52, 67, 0, 0, 27, 67, 0, 0, 53, 67, 0, 0, 27, 67, 0, 0, 54, 67, 0, 0, 27, 67, 0, 0, 55, 67, 0, 0, 28, 67, 0, 0, 184, 66, 0, 0, 28, 67, 0, 0, 186, 66, 0, 0, 28, 67, 0, 0, 188, 66, 0, 0, 28, 67, 0, 0, 190, 66, 0, 0, 28, 67, 0, 0, 192, 66, 0, 0, 28, 67, 0, 0, 194, 66, 0, 0, 28, 67, 0, 0, 196, 66, 0, 0, 28, 67, 0, 0, 198, 66, 0, 0, 28, 67, 0, 0, 200, 66, 0, 0, 28, 67, 0, 0, 202, 66, 0, 0, 28, 67, 0, 0, 204, 66, 0, 0, 28, 67, 0, 0, 206, 66, 0, 0, 28, 67, 0, 0, 208, 66, 0, 0, 28, 67, 0, 0, 210, 66, 0, 0, 28, 67, 0, 0, 212, 66, 0, 0, 28, 67, 0, 0, 214, 66, 0, 0, 28, 67, 0, 0, 216, 66, 0, 0, 28, 67, 0, 0, 218, 66, 0, 0, 28, 67, 0, 0, 220, 66, 0, 0, 28, 67, 0, 0, 222, 66, 0, 0, 28, 67, 0, 0, 224, 66, 0, 0, 28, 67, 0, 0, 226, 66, 0, 0, 28, 67, 0, 0, 228, 66, 0, 0, 28, 67, 0, 0, 230, 66, 0, 0, 28, 67, 0, 0, 232, 66, 0, 0, 28, 67, 0, 0, 234, 66, 0, 0, 28, 67, 0, 0, 236, 66, 0, 0, 28, 67, 0, 0, 238, 66, 0, 0, 28, 67, 0, 0, 240, 66, 0, 0, 28, 67, 0, 0, 242, 66, 0, 0, 28, 67, 0, 0, 244, 66, 0, 0, 28, 67, 0, 0, 246, 66, 0, 0, 28, 67, 0, 0, 248, 66, 0, 0, 28, 67, 0, 0, 250, 66, 0, 0, 28, 67, 0, 0, 252, 66, 0, 0, 28, 67, 0, 0, 254, 66, 0, 0, 28, 67, 0, 0, 0, 67, 0, 0, 28, 67, 0, 0, 1, 67, 0, 0, 28, 67, 0, 0, 2, 67, 0, 0, 28, 67, 0, 0, 3, 67, 0, 0, 28, 67, 0, 0, 4, 67, 0, 0, 28, 67, 0, 0, 5, 67, 0, 0, 28, 67, 0, 0, 6, 67, 0, 0, 28, 67, 0, 0, 7, 67, 0, 0, 28, 67, 0, 0, 8, 67, 0, 0, 28, 67, 0, 0, 9, 67, 0, 0, 28, 67, 0, 0, 10, 67, 0, 0, 28, 67, 0, 0, 11, 67, 0, 0, 28, 67, 0, 0, 12, 67, 0, 0, 28, 67, 0, 0, 13, 67, 0, 0, 28, 67, 0, 0, 14, 67, 0, 0, 28, 67, 0, 0, 15, 67, 0, 0, 28, 67, 0, 0, 16, 67, 0, 0, 28, 67, 0, 0, 17, 67, 0, 0, 28, 67, 0, 0, 18, 67, 0, 0, 28, 67, 0, 0, 19, 67, 0, 0, 28, 67, 0, 0, 20, 67, 0, 0, 28, 67, 0, 0, 21, 67, 0, 0, 28, 67, 0, 0, 22, 67, 0, 0, 28, 67, 0, 0, 23, 67, 0, 0, 28, 67, 0, 0, 24, 67, 0, 0, 28, 67, 0, 0, 25, 67, 0, 0, 28, 67, 0, 0, 26, 67, 0, 0, 28, 67, 0, 0, 27, 67, 0, 0, 28, 67, 0, 0, 28, 67, 0, 0, 28, 67, 0, 0, 29, 67, 0, 0, 28, 67, 0, 0, 30, 67, 0, 0, 28, 67, 0, 0, 31, 67, 0, 0, 28, 67, 0, 0, 32, 67, 0, 0, 28, 67, 0, 0, 33, 67, 0, 0, 28, 67, 0, 0, 34, 67, 0, 0, 28, 67, 0, 0, 35, 67, 0, 0, 28, 67, 0, 0, 36, 67, 0, 0, 28, 67, 0, 0, 37, 67, 0, 0, 28, 67, 0, 0, 38, 67, 0, 0, 28, 67, 0, 0, 39, 67, 0, 0, 28, 67, 0, 0, 40, 67, 0, 0, 28, 67, 0, 0, 41, 67, 0, 0, 28, 67, 0, 0, 42, 67, 0, 0, 28, 67, 0, 0, 43, 67, 0, 0, 28, 67, 0, 0, 44, 67, 0, 0, 28, 67, 0, 0, 45, 67, 0, 0, 28, 67, 0, 0, 46, 67, 0, 0, 28, 67, 0, 0, 47, 67, 0, 0, 28, 67, 0, 0, 48, 67, 0, 0, 28, 67, 0, 0, 49, 67, 0, 0, 28, 67, 0, 0, 50, 67, 0, 0, 28, 67, 0, 0, 51, 67, 0, 0, 28, 67, 0, 0, 52, 67, 0, 0, 28, 67, 0, 0, 53, 67, 0, 0, 28, 67, 0, 0, 54, 67, 0, 0, 28, 67, 0, 0, 55, 67, 0, 0, 29, 67, 0, 0, 184, 66, 0, 0, 29, 67, 0, 0, 186, 66, 0, 0, 29, 67, 0, 0, 188, 66, 0, 0, 29, 67, 0, 0, 190, 66, 0, 0, 29, 67, 0, 0, 192, 66, 0, 0, 29, 67, 0, 0, 194, 66, 0, 0, 29, 67, 0, 0, 196, 66, 0, 0, 29, 67, 0, 0, 198, 66, 0, 0, 29, 67, 0, 0, 200, 66, 0, 0, 29, 67, 0, 0, 202, 66, 0, 0, 29, 67, 0, 0, 204, 66, 0, 0, 29, 67, 0, 0, 206, 66, 0, 0, 29, 67, 0, 0, 208, 66, 0, 0, 29, 67, 0, 0, 210, 66, 0, 0, 29, 67, 0, 0, 212, 66, 0, 0, 29, 67, 0, 0, 214, 66, 0, 0, 29, 67, 0, 0, 216, 66, 0, 0, 29, 67, 0, 0, 218, 66, 0, 0, 29, 67, 0, 0, 220, 66, 0, 0, 29, 67, 0, 0, 222, 66, 0, 0, 29, 67, 0, 0, 224, 66, 0, 0, 29, 67, 0, 0, 226, 66, 0, 0, 29, 67, 0, 0, 228, 66, 0, 0, 29, 67, 0, 0, 230, 66, 0, 0, 29, 67, 0, 0, 232, 66, 0, 0, 29, 67, 0, 0, 234, 66, 0, 0, 29, 67, 0, 0, 236, 66, 0, 0, 29, 67, 0, 0, 238, 66, 0, 0, 29, 67, 0, 0, 240, 66, 0, 0, 29, 67, 0, 0, 242, 66, 0, 0, 29, 67, 0, 0, 244, 66, 0, 0, 29, 67, 0, 0, 246, 66, 0, 0, 29, 67, 0, 0, 248, 66, 0, 0, 29, 67, 0, 0, 250, 66, 0, 0, 29, 67, 0, 0, 252, 66, 0, 0, 29, 67, 0, 0, 254, 66, 0, 0, 29, 67, 0, 0, 0, 67, 0, 0, 29, 67, 0, 0, 1, 67, 0, 0, 29, 67, 0, 0, 2, 67, 0, 0, 29, 67, 0, 0, 3, 67, 0, 0, 29, 67, 0, 0, 4, 67, 0, 0, 29, 67, 0, 0, 5, 67, 0, 0, 29, 67, 0, 0, 6, 67, 0, 0, 29, 67, 0, 0, 7, 67, 0, 0, 29, 67, 0, 0, 8, 67, 0, 0, 29, 67, 0, 0, 9, 67, 0, 0, 29, 67, 0, 0, 10, 67, 0, 0, 29, 67, 0, 0, 11, 67, 0, 0, 29, 67, 0, 0, 12, 67, 0, 0, 29, 67, 0, 0, 13, 67, 0, 0, 29, 67, 0, 0, 14, 67, 0, 0, 29, 67, 0, 0, 15, 67, 0, 0, 29, 67, 0, 0, 16, 67, 0, 0, 29, 67, 0, 0, 17, 67, 0, 0, 29, 67, 0, 0, 18, 67, 0, 0, 29, 67, 0, 0, 19, 67, 0, 0, 29, 67, 0, 0, 20, 67, 0, 0, 29, 67, 0, 0, 21, 67, 0, 0, 29, 67, 0, 0, 22, 67, 0, 0, 29, 67, 0, 0, 23, 67, 0, 0, 29, 67, 0, 0, 24, 67, 0, 0, 29, 67, 0, 0, 25, 67, 0, 0, 29, 67, 0, 0, 26, 67, 0, 0, 29, 67, 0, 0, 27, 67, 0, 0, 29, 67, 0, 0, 28, 67, 0, 0, 29, 67, 0, 0, 29, 67, 0, 0, 29, 67, 0, 0, 30, 67, 0, 0, 29, 67, 0, 0, 31, 67, 0, 0, 29, 67, 0, 0, 32, 67, 0, 0, 29, 67, 0, 0, 33, 67, 0, 0, 29, 67, 0, 0, 34, 67, 0, 0, 29, 67, 0, 0, 35, 67, 0, 0, 29, 67, 0, 0, 36, 67, 0, 0, 29, 67, 0, 0, 37, 67, 0, 0, 29, 67, 0, 0, 38, 67, 0, 0, 29, 67, 0, 0, 39, 67, 0, 0, 29, 67, 0, 0, 40, 67, 0, 0, 29, 67, 0, 0, 41, 67, 0, 0, 29, 67, 0, 0, 42, 67, 0, 0, 29, 67, 0, 0, 43, 67, 0, 0, 29, 67, 0, 0, 44, 67, 0, 0, 29, 67, 0, 0, 45, 67, 0, 0, 29, 67, 0, 0, 46, 67, 0, 0, 29, 67, 0, 0, 47, 67, 0, 0, 29, 67, 0, 0, 48, 67, 0, 0, 29, 67, 0, 0, 49, 67, 0, 0, 29, 67, 0, 0, 50, 67, 0, 0, 29, 67, 0, 0, 51, 67, 0, 0, 29, 67, 0, 0, 52, 67, 0, 0, 29, 67, 0, 0, 53, 67, 0, 0, 29, 67, 0, 0, 54, 67, 0, 0, 29, 67, 0, 0, 55, 67, 0, 0, 30, 67, 0, 0, 184, 66, 0, 0, 30, 67, 0, 0, 186, 66, 0, 0, 30, 67, 0, 0, 188, 66, 0, 0, 30, 67, 0, 0, 190, 66, 0, 0, 30, 67, 0, 0, 192, 66, 0, 0, 30, 67, 0, 0, 194, 66, 0, 0, 30, 67, 0, 0, 196, 66, 0, 0, 30, 67, 0, 0, 198, 66, 0, 0, 30, 67, 0, 0, 200, 66, 0, 0, 30, 67, 0, 0, 202, 66, 0, 0, 30, 67, 0, 0, 204, 66, 0, 0, 30, 67, 0, 0, 206, 66, 0, 0, 30, 67, 0, 0, 208, 66, 0, 0, 30, 67, 0, 0, 210, 66, 0, 0, 30, 67, 0, 0, 212, 66, 0, 0, 30, 67, 0, 0, 214, 66, 0, 0, 30, 67, 0, 0, 216, 66, 0, 0, 30, 67, 0, 0, 218, 66, 0, 0, 30, 67, 0, 0, 220, 66, 0, 0, 30, 67, 0, 0, 222, 66, 0, 0, 30, 67, 0, 0, 224, 66, 0, 0, 30, 67, 0, 0, 226, 66, 0, 0, 30, 67, 0, 0, 228, 66, 0, 0, 30, 67, 0, 0, 230, 66, 0, 0, 30, 67, 0, 0, 232, 66, 0, 0, 30, 67, 0, 0, 234, 66, 0, 0, 30, 67, 0, 0, 236, 66, 0, 0, 30, 67, 0, 0, 238, 66, 0, 0, 30, 67, 0, 0, 240, 66, 0, 0, 30, 67, 0, 0, 242, 66, 0, 0, 30, 67, 0, 0, 244, 66, 0, 0, 30, 67, 0, 0, 246, 66, 0, 0, 30, 67, 0, 0, 248, 66, 0, 0, 30, 67, 0, 0, 250, 66, 0, 0, 30, 67, 0, 0, 252, 66, 0, 0, 30, 67, 0, 0, 254, 66, 0, 0, 30, 67, 0, 0, 0, 67, 0, 0, 30, 67, 0, 0, 1, 67, 0, 0, 30, 67, 0, 0, 2, 67, 0, 0, 30, 67, 0, 0, 3, 67, 0, 0, 30, 67, 0, 0, 4, 67, 0, 0, 30, 67, 0, 0, 5, 67, 0, 0, 30, 67, 0, 0, 6, 67, 0, 0, 30, 67, 0, 0, 7, 67, 0, 0, 30, 67, 0, 0, 8, 67, 0, 0, 30, 67, 0, 0, 9, 67, 0, 0, 30, 67, 0, 0, 10, 67, 0, 0, 30, 67, 0, 0, 11, 67, 0, 0, 30, 67, 0, 0, 12, 67, 0, 0, 30, 67, 0, 0, 13, 67, 0, 0, 30, 67, 0, 0, 14, 67, 0, 0, 30, 67, 0, 0, 15, 67, 0, 0, 30, 67, 0, 0, 16, 67, 0, 0, 30, 67, 0, 0, 17, 67, 0, 0, 30, 67, 0, 0, 18, 67, 0, 0, 30, 67, 0, 0, 19, 67, 0, 0, 30, 67, 0, 0, 20, 67, 0, 0, 30, 67, 0, 0, 21, 67, 0, 0, 30, 67, 0, 0, 22, 67, 0, 0, 30, 67, 0, 0, 23, 67, 0, 0, 30, 67, 0, 0, 24, 67, 0, 0, 30, 67, 0, 0, 25, 67, 0, 0, 30, 67, 0, 0, 26, 67, 0, 0, 30, 67, 0, 0, 27, 67, 0, 0, 30, 67, 0, 0, 28, 67, 0, 0, 30, 67, 0, 0, 29, 67, 0, 0, 30, 67, 0, 0, 30, 67, 0, 0, 30, 67, 0, 0, 31, 67, 0, 0, 30, 67, 0, 0, 32, 67, 0, 0, 30, 67, 0, 0, 33, 67, 0, 0, 30, 67, 0, 0, 34, 67, 0, 0, 30, 67, 0, 0, 35, 67, 0, 0, 30, 67, 0, 0, 36, 67, 0, 0, 30, 67, 0, 0, 37, 67, 0, 0, 30, 67, 0, 0, 38, 67, 0, 0, 30, 67, 0, 0, 39, 67, 0, 0, 30, 67, 0, 0, 40, 67, 0, 0, 30, 67, 0, 0, 41, 67, 0, 0, 30, 67, 0, 0, 42, 67, 0, 0, 30, 67, 0, 0, 43, 67, 0, 0, 30, 67, 0, 0, 44, 67, 0, 0, 30, 67, 0, 0, 45, 67, 0, 0, 30, 67, 0, 0, 46, 67, 0, 0, 30, 67, 0, 0, 47, 67, 0, 0, 30, 67, 0, 0, 48, 67, 0, 0, 30, 67, 0, 0, 49, 67, 0, 0, 30, 67, 0, 0, 50, 67, 0, 0, 30, 67, 0, 0, 51, 67, 0, 0, 30, 67, 0, 0, 52, 67, 0, 0, 30, 67, 0, 0, 53, 67, 0, 0, 30, 67, 0, 0, 54, 67, 0, 0, 30, 67, 0, 0, 55, 67, 0, 0, 31, 67, 0, 0, 184, 66, 0, 0, 31, 67, 0, 0, 186, 66, 0, 0, 31, 67, 0, 0, 188, 66, 0, 0, 31, 67, 0, 0, 190, 66, 0, 0, 31, 67, 0, 0, 192, 66, 0, 0, 31, 67, 0, 0, 194, 66, 0, 0, 31, 67, 0, 0, 196, 66, 0, 0, 31, 67, 0, 0, 198, 66, 0, 0, 31, 67, 0, 0, 200, 66, 0, 0, 31, 67, 0, 0, 202, 66, 0, 0, 31, 67, 0, 0, 204, 66, 0, 0, 31, 67, 0, 0, 206, 66, 0, 0, 31, 67, 0, 0, 208, 66, 0, 0, 31, 67, 0, 0, 210, 66, 0, 0, 31, 67, 0, 0, 212, 66, 0, 0, 31, 67, 0, 0, 214, 66, 0, 0, 31, 67, 0, 0, 216, 66, 0, 0, 31, 67, 0, 0, 218, 66, 0, 0, 31, 67, 0, 0, 220, 66, 0, 0, 31, 67, 0, 0, 222, 66, 0, 0, 31, 67, 0, 0, 224, 66, 0, 0, 31, 67, 0, 0, 226, 66, 0, 0, 31, 67, 0, 0, 228, 66, 0, 0, 31, 67, 0, 0, 230, 66, 0, 0, 31, 67, 0, 0, 232, 66, 0, 0, 31, 67, 0, 0, 234, 66, 0, 0, 31, 67, 0, 0, 236, 66, 0, 0, 31, 67, 0, 0, 238, 66, 0, 0, 31, 67, 0, 0, 240, 66, 0, 0, 31, 67, 0, 0, 242, 66, 0, 0, 31, 67, 0, 0, 244, 66, 0, 0, 31, 67, 0, 0, 246, 66, 0, 0, 31, 67, 0, 0, 248, 66, 0, 0, 31, 67, 0, 0, 250, 66, 0, 0, 31, 67, 0, 0, 252, 66, 0, 0, 31, 67, 0, 0, 254, 66, 0, 0, 31, 67, 0, 0, 0, 67, 0, 0, 31, 67, 0, 0, 1, 67, 0, 0, 31, 67, 0, 0, 2, 67, 0, 0, 31, 67, 0, 0, 3, 67, 0, 0, 31, 67, 0, 0, 4, 67, 0, 0, 31, 67, 0, 0, 5, 67, 0, 0, 31, 67, 0, 0, 6, 67, 0, 0, 31, 67, 0, 0, 7, 67, 0, 0, 31, 67, 0, 0, 8, 67, 0, 0, 31, 67, 0, 0, 9, 67, 0, 0, 31, 67, 0, 0, 10, 67, 0, 0, 31, 67, 0, 0, 11, 67, 0, 0, 31, 67, 0, 0, 12, 67, 0, 0, 31, 67, 0, 0, 13, 67, 0, 0, 31, 67, 0, 0, 14, 67, 0, 0, 31, 67, 0, 0, 15, 67, 0, 0, 31, 67, 0, 0, 16, 67, 0, 0, 31, 67, 0, 0, 17, 67, 0, 0, 31, 67, 0, 0, 18, 67, 0, 0, 31, 67, 0, 0, 19, 67, 0, 0, 31, 67, 0, 0, 20, 67, 0, 0, 31, 67, 0, 0, 21, 67, 0, 0, 31, 67, 0, 0, 22, 67, 0, 0, 31, 67, 0, 0, 23, 67, 0, 0, 31, 67, 0, 0, 24, 67, 0, 0, 31, 67, 0, 0, 25, 67, 0, 0, 31, 67, 0, 0, 26, 67, 0, 0, 31, 67, 0, 0, 27, 67, 0, 0, 31, 67, 0, 0, 28, 67, 0, 0, 31, 67, 0, 0, 29, 67, 0, 0, 31, 67, 0, 0, 30, 67, 0, 0, 31, 67, 0, 0, 31, 67, 0, 0, 31, 67, 0, 0, 32, 67, 0, 0, 31, 67, 0, 0, 33, 67, 0, 0, 31, 67, 0, 0, 34, 67, 0, 0, 31, 67, 0, 0, 35, 67, 0, 0, 31, 67, 0, 0, 36, 67, 0, 0, 31, 67, 0, 0, 37, 67, 0, 0, 31, 67, 0, 0, 38, 67, 0, 0, 31, 67, 0, 0, 39, 67, 0, 0, 31, 67, 0, 0, 40, 67, 0, 0, 31, 67, 0, 0, 41, 67, 0, 0, 31, 67, 0, 0, 42, 67, 0, 0, 31, 67, 0, 0, 43, 67, 0, 0, 31, 67, 0, 0, 44, 67, 0, 0, 31, 67, 0, 0, 45, 67, 0, 0, 31, 67, 0, 0, 46, 67, 0, 0, 31, 67, 0, 0, 47, 67, 0, 0, 31, 67, 0, 0, 48, 67, 0, 0, 31, 67, 0, 0, 49, 67, 0, 0, 31, 67, 0, 0, 50, 67, 0, 0, 31, 67, 0, 0, 51, 67, 0, 0, 31, 67, 0, 0, 52, 67, 0, 0, 31, 67, 0, 0, 53, 67, 0, 0, 31, 67, 0, 0, 54, 67, 0, 0, 31, 67, 0, 0, 55, 67, 0, 0, 32, 67, 0, 0, 184, 66, 0, 0, 32, 67, 0, 0, 186, 66, 0, 0, 32, 67, 0, 0, 188, 66, 0, 0, 32, 67, 0, 0, 190, 66, 0, 0, 32, 67, 0, 0, 192, 66, 0, 0, 32, 67, 0, 0, 194, 66, 0, 0, 32, 67, 0, 0, 196, 66, 0, 0, 32, 67, 0, 0, 198, 66, 0, 0, 32, 67, 0, 0, 200, 66, 0, 0, 32, 67, 0, 0, 202, 66, 0, 0, 32, 67, 0, 0, 204, 66, 0, 0, 32, 67, 0, 0, 206, 66, 0, 0, 32, 67, 0, 0, 208, 66, 0, 0, 32, 67, 0, 0, 210, 66, 0, 0, 32, 67, 0, 0, 212, 66, 0, 0, 32, 67, 0, 0, 214, 66, 0, 0, 32, 67, 0, 0, 216, 66, 0, 0, 32, 67, 0, 0, 218, 66, 0, 0, 32, 67, 0, 0, 220, 66, 0, 0, 32, 67, 0, 0, 222, 66, 0, 0, 32, 67, 0, 0, 224, 66, 0, 0, 32, 67, 0, 0, 226, 66, 0, 0, 32, 67, 0, 0, 228, 66, 0, 0, 32, 67, 0, 0, 230, 66, 0, 0, 32, 67, 0, 0, 232, 66, 0, 0, 32, 67, 0, 0, 234, 66, 0, 0, 32, 67, 0, 0, 236, 66, 0, 0, 32, 67, 0, 0, 238, 66, 0, 0, 32, 67, 0, 0, 240, 66, 0, 0, 32, 67, 0, 0, 242, 66, 0, 0, 32, 67, 0, 0, 244, 66, 0, 0, 32, 67, 0, 0, 246, 66, 0, 0, 32, 67, 0, 0, 248, 66, 0, 0, 32, 67, 0, 0, 250, 66, 0, 0, 32, 67, 0, 0, 252, 66, 0, 0, 32, 67, 0, 0, 254, 66, 0, 0, 32, 67, 0, 0, 0, 67, 0, 0, 32, 67, 0, 0, 1, 67, 0, 0, 32, 67, 0, 0, 2, 67, 0, 0, 32, 67, 0, 0, 3, 67, 0, 0, 32, 67, 0, 0, 4, 67, 0, 0, 32, 67, 0, 0, 5, 67, 0, 0, 32, 67, 0, 0, 6, 67, 0, 0, 32, 67, 0, 0, 7, 67, 0, 0, 32, 67, 0, 0, 8, 67, 0, 0, 32, 67, 0, 0, 9, 67, 0, 0, 32, 67, 0, 0, 10, 67, 0, 0, 32, 67, 0, 0, 11, 67, 0, 0, 32, 67, 0, 0, 12, 67, 0, 0, 32, 67, 0, 0, 13, 67, 0, 0, 32, 67, 0, 0, 14, 67, 0, 0, 32, 67, 0, 0, 15, 67, 0, 0, 32, 67, 0, 0, 16, 67, 0, 0, 32, 67, 0, 0, 17, 67, 0, 0, 32, 67, 0, 0, 18, 67, 0, 0, 32, 67, 0, 0, 19, 67, 0, 0, 32, 67, 0, 0, 20, 67, 0, 0, 32, 67, 0, 0, 21, 67, 0, 0, 32, 67, 0, 0, 22, 67, 0, 0, 32, 67, 0, 0, 23, 67, 0, 0, 32, 67, 0, 0, 24, 67, 0, 0, 32, 67, 0, 0, 25, 67, 0, 0, 32, 67, 0, 0, 26, 67, 0, 0, 32, 67, 0, 0, 27, 67, 0, 0, 32, 67, 0, 0, 28, 67, 0, 0, 32, 67, 0, 0, 29, 67, 0, 0, 32, 67, 0, 0, 30, 67, 0, 0, 32, 67, 0, 0, 31, 67, 0, 0, 32, 67, 0, 0, 32, 67, 0, 0, 32, 67, 0, 0, 33, 67, 0, 0, 32, 67, 0, 0, 34, 67, 0, 0, 32, 67, 0, 0, 35, 67, 0, 0, 32, 67, 0, 0, 36, 67, 0, 0, 32, 67, 0, 0, 37, 67, 0, 0, 32, 67, 0, 0, 38, 67, 0, 0, 32, 67, 0, 0, 39, 67, 0, 0, 32, 67, 0, 0, 40, 67, 0, 0, 32, 67, 0, 0, 41, 67, 0, 0, 32, 67, 0, 0, 42, 67, 0, 0, 32, 67, 0, 0, 43, 67, 0, 0, 32, 67, 0, 0, 44, 67, 0, 0, 32, 67, 0, 0, 45, 67, 0, 0, 32, 67, 0, 0, 46, 67, 0, 0, 32, 67, 0, 0, 47, 67, 0, 0, 32, 67, 0, 0, 48, 67, 0, 0, 32, 67, 0, 0, 49, 67, 0, 0, 32, 67, 0, 0, 50, 67, 0, 0, 32, 67, 0, 0, 51, 67, 0, 0, 32, 67, 0, 0, 52, 67, 0, 0, 32, 67, 0, 0, 53, 67, 0, 0, 32, 67, 0, 0, 54, 67, 0, 0, 32, 67, 0, 0, 55, 67, 0, 0, 33, 67, 0, 0, 184, 66, 0, 0, 33, 67, 0, 0, 186, 66, 0, 0, 33, 67, 0, 0, 188, 66, 0, 0, 33, 67, 0, 0, 190, 66, 0, 0, 33, 67, 0, 0, 192, 66, 0, 0, 33, 67, 0, 0, 194, 66, 0, 0, 33, 67, 0, 0, 196, 66, 0, 0, 33, 67, 0, 0, 198, 66, 0, 0, 33, 67, 0, 0, 200, 66, 0, 0, 33, 67, 0, 0, 202, 66, 0, 0, 33, 67, 0, 0, 204, 66, 0, 0, 33, 67, 0, 0, 206, 66, 0, 0, 33, 67, 0, 0, 208, 66, 0, 0, 33, 67, 0, 0, 210, 66, 0, 0, 33, 67, 0, 0, 212, 66, 0, 0, 33, 67, 0, 0, 214, 66, 0, 0, 33, 67, 0, 0, 216, 66, 0, 0, 33, 67, 0, 0, 218, 66, 0, 0, 33, 67, 0, 0, 220, 66, 0, 0, 33, 67, 0, 0, 222, 66, 0, 0, 33, 67, 0, 0, 224, 66, 0, 0, 33, 67, 0, 0, 226, 66, 0, 0, 33, 67, 0, 0, 228, 66, 0, 0, 33, 67, 0, 0, 230, 66, 0, 0, 33, 67, 0, 0, 232, 66, 0, 0, 33, 67, 0, 0, 234, 66, 0, 0, 33, 67, 0, 0, 236, 66, 0, 0, 33, 67, 0, 0, 238, 66, 0, 0, 33, 67, 0, 0, 240, 66, 0, 0, 33, 67, 0, 0, 242, 66, 0, 0, 33, 67, 0, 0, 244, 66, 0, 0, 33, 67, 0, 0, 246, 66, 0, 0, 33, 67, 0, 0, 248, 66, 0, 0, 33, 67, 0, 0, 250, 66, 0, 0, 33, 67, 0, 0, 252, 66, 0, 0, 33, 67, 0, 0, 254, 66, 0, 0, 33, 67, 0, 0, 0, 67, 0, 0, 33, 67, 0, 0, 1, 67, 0, 0, 33, 67, 0, 0, 2, 67, 0, 0, 33, 67, 0, 0, 3, 67, 0, 0, 33, 67, 0, 0, 4, 67, 0, 0, 33, 67, 0, 0, 5, 67, 0, 0, 33, 67, 0, 0, 6, 67, 0, 0, 33, 67, 0, 0, 7, 67, 0, 0, 33, 67, 0, 0, 8, 67, 0, 0, 33, 67, 0, 0, 9, 67, 0, 0, 33, 67, 0, 0, 10, 67, 0, 0, 33, 67, 0, 0, 11, 67, 0, 0, 33, 67, 0, 0, 12, 67, 0, 0, 33, 67, 0, 0, 13, 67, 0, 0, 33, 67, 0, 0, 14, 67, 0, 0, 33, 67, 0, 0, 15, 67, 0, 0, 33, 67, 0, 0, 16, 67, 0, 0, 33, 67, 0, 0, 17, 67, 0, 0, 33, 67, 0, 0, 18, 67, 0, 0, 33, 67, 0, 0, 19, 67, 0, 0, 33, 67, 0, 0, 20, 67, 0, 0, 33, 67, 0, 0, 21, 67, 0, 0, 33, 67, 0, 0, 22, 67, 0, 0, 33, 67, 0, 0, 23, 67, 0, 0, 33, 67, 0, 0, 24, 67, 0, 0, 33, 67, 0, 0, 25, 67, 0, 0, 33, 67, 0, 0, 26, 67, 0, 0, 33, 67, 0, 0, 27, 67, 0, 0, 33, 67, 0, 0, 28, 67, 0, 0, 33, 67, 0, 0, 29, 67, 0, 0, 33, 67, 0, 0, 30, 67, 0, 0, 33, 67, 0, 0, 31, 67, 0, 0, 33, 67, 0, 0, 32, 67, 0, 0, 33, 67, 0, 0, 33, 67, 0, 0, 33, 67, 0, 0, 34, 67, 0, 0, 33, 67, 0, 0, 35, 67, 0, 0, 33, 67, 0, 0, 36, 67, 0, 0, 33, 67, 0, 0, 37, 67, 0, 0, 33, 67, 0, 0, 38, 67, 0, 0, 33, 67, 0, 0, 39, 67, 0, 0, 33, 67, 0, 0, 40, 67, 0, 0, 33, 67, 0, 0, 41, 67, 0, 0, 33, 67, 0, 0, 42, 67, 0, 0, 33, 67, 0, 0, 43, 67, 0, 0, 33, 67, 0, 0, 44, 67, 0, 0, 33, 67, 0, 0, 45, 67, 0, 0, 33, 67, 0, 0, 46, 67, 0, 0, 33, 67, 0, 0, 47, 67, 0, 0, 33, 67, 0, 0, 48, 67, 0, 0, 33, 67, 0, 0, 49, 67, 0, 0, 33, 67, 0, 0, 50, 67, 0, 0, 33, 67, 0, 0, 51, 67, 0, 0, 33, 67, 0, 0, 52, 67, 0, 0, 33, 67, 0, 0, 53, 67, 0, 0, 33, 67, 0, 0, 54, 67, 0, 0, 33, 67, 0, 0, 55, 67, 0, 0, 34, 67, 0, 0, 184, 66, 0, 0, 34, 67, 0, 0, 186, 66, 0, 0, 34, 67, 0, 0, 188, 66, 0, 0, 34, 67, 0, 0, 190, 66, 0, 0, 34, 67, 0, 0, 192, 66, 0, 0, 34, 67, 0, 0, 194, 66, 0, 0, 34, 67, 0, 0, 196, 66, 0, 0, 34, 67, 0, 0, 198, 66, 0, 0, 34, 67, 0, 0, 200, 66, 0, 0, 34, 67, 0, 0, 202, 66, 0, 0, 34, 67, 0, 0, 204, 66, 0, 0, 34, 67, 0, 0, 206, 66, 0, 0, 34, 67, 0, 0, 208, 66, 0, 0, 34, 67, 0, 0, 210, 66, 0, 0, 34, 67, 0, 0, 212, 66, 0, 0, 34, 67, 0, 0, 214, 66, 0, 0, 34, 67, 0, 0, 216, 66, 0, 0, 34, 67, 0, 0, 218, 66, 0, 0, 34, 67, 0, 0, 220, 66, 0, 0, 34, 67, 0, 0, 222, 66, 0, 0, 34, 67, 0, 0, 224, 66, 0, 0, 34, 67, 0, 0, 226, 66, 0, 0, 34, 67, 0, 0, 228, 66, 0, 0, 34, 67, 0, 0, 230, 66, 0, 0, 34, 67, 0, 0, 232, 66, 0, 0, 34, 67, 0, 0, 234, 66, 0, 0, 34, 67, 0, 0, 236, 66, 0, 0, 34, 67, 0, 0, 238, 66, 0, 0, 34, 67, 0, 0, 240, 66, 0, 0, 34, 67, 0, 0, 242, 66, 0, 0, 34, 67, 0, 0, 244, 66, 0, 0, 34, 67, 0, 0, 246, 66, 0, 0, 34, 67, 0, 0, 248, 66, 0, 0, 34, 67, 0, 0, 250, 66, 0, 0, 34, 67, 0, 0, 252, 66, 0, 0, 34, 67, 0, 0, 254, 66, 0, 0, 34, 67, 0, 0, 0, 67, 0, 0, 34, 67, 0, 0, 1, 67, 0, 0, 34, 67, 0, 0, 2, 67, 0, 0, 34, 67, 0, 0, 3, 67, 0, 0, 34, 67, 0, 0, 4, 67, 0, 0, 34, 67, 0, 0, 5, 67, 0, 0, 34, 67, 0, 0, 6, 67, 0, 0, 34, 67, 0, 0, 7, 67, 0, 0, 34, 67, 0, 0, 8, 67, 0, 0, 34, 67, 0, 0, 9, 67, 0, 0, 34, 67, 0, 0, 10, 67, 0, 0, 34, 67, 0, 0, 11, 67, 0, 0, 34, 67, 0, 0, 12, 67, 0, 0, 34, 67, 0, 0, 13, 67, 0, 0, 34, 67, 0, 0, 14, 67, 0, 0, 34, 67, 0, 0, 15, 67, 0, 0, 34, 67, 0, 0, 16, 67, 0, 0, 34, 67, 0, 0, 17, 67, 0, 0, 34, 67, 0, 0, 18, 67, 0, 0, 34, 67, 0, 0, 19, 67, 0, 0, 34, 67, 0, 0, 20, 67, 0, 0, 34, 67, 0, 0, 21, 67, 0, 0, 34, 67, 0, 0, 22, 67, 0, 0, 34, 67, 0, 0, 23, 67, 0, 0, 34, 67, 0, 0, 24, 67, 0, 0, 34, 67, 0, 0, 25, 67, 0, 0, 34, 67, 0, 0, 26, 67, 0, 0, 34, 67, 0, 0, 27, 67, 0, 0, 34, 67, 0, 0, 28, 67, 0, 0, 34, 67, 0, 0, 29, 67, 0, 0, 34, 67, 0, 0, 30, 67, 0, 0, 34, 67, 0, 0, 31, 67, 0, 0, 34, 67, 0, 0, 32, 67, 0, 0, 34, 67, 0, 0, 33, 67, 0, 0, 34, 67, 0, 0, 34, 67, 0, 0, 34, 67, 0, 0, 35, 67, 0, 0, 34, 67, 0, 0, 36, 67, 0, 0, 34, 67, 0, 0, 37, 67, 0, 0, 34, 67, 0, 0, 38, 67, 0, 0, 34, 67, 0, 0, 39, 67, 0, 0, 34, 67, 0, 0, 40, 67, 0, 0, 34, 67, 0, 0, 41, 67, 0, 0, 34, 67, 0, 0, 42, 67, 0, 0, 34, 67, 0, 0, 43, 67, 0, 0, 34, 67, 0, 0, 44, 67, 0, 0, 34, 67, 0, 0, 45, 67, 0, 0, 34, 67, 0, 0, 46, 67, 0, 0, 34, 67, 0, 0, 47, 67, 0, 0, 34, 67, 0, 0, 48, 67, 0, 0, 34, 67, 0, 0, 49, 67, 0, 0, 34, 67, 0, 0, 50, 67, 0, 0, 34, 67, 0, 0, 51, 67, 0, 0, 34, 67, 0, 0, 52, 67, 0, 0, 34, 67, 0, 0, 53, 67, 0, 0, 34, 67, 0, 0, 54, 67, 0, 0, 34, 67, 0, 0, 55, 67, 0, 0, 35, 67, 0, 0, 184, 66, 0, 0, 35, 67, 0, 0, 186, 66, 0, 0, 35, 67, 0, 0, 188, 66, 0, 0, 35, 67, 0, 0, 190, 66, 0, 0, 35, 67, 0, 0, 192, 66, 0, 0, 35, 67, 0, 0, 194, 66, 0, 0, 35, 67, 0, 0, 196, 66, 0, 0, 35, 67, 0, 0, 198, 66, 0, 0, 35, 67, 0, 0, 200, 66, 0, 0, 35, 67, 0, 0, 202, 66, 0, 0, 35, 67, 0, 0, 204, 66, 0, 0, 35, 67, 0, 0, 206, 66, 0, 0, 35, 67, 0, 0, 208, 66, 0, 0, 35, 67, 0, 0, 210, 66, 0, 0, 35, 67, 0, 0, 212, 66, 0, 0, 35, 67, 0, 0, 214, 66, 0, 0, 35, 67, 0, 0, 216, 66, 0, 0, 35, 67, 0, 0, 218, 66, 0, 0, 35, 67, 0, 0, 220, 66, 0, 0, 35, 67, 0, 0, 222, 66, 0, 0, 35, 67, 0, 0, 224, 66, 0, 0, 35, 67, 0, 0, 226, 66, 0, 0, 35, 67, 0, 0, 228, 66, 0, 0, 35, 67, 0, 0, 230, 66, 0, 0, 35, 67, 0, 0, 232, 66, 0, 0, 35, 67, 0, 0, 234, 66, 0, 0, 35, 67, 0, 0, 236, 66, 0, 0, 35, 67, 0, 0, 238, 66, 0, 0, 35, 67, 0, 0, 240, 66, 0, 0, 35, 67, 0, 0, 242, 66, 0, 0, 35, 67, 0, 0, 244, 66, 0, 0, 35, 67, 0, 0, 246, 66, 0, 0, 35, 67, 0, 0, 248, 66, 0, 0, 35, 67, 0, 0, 250, 66, 0, 0, 35, 67, 0, 0, 252, 66, 0, 0, 35, 67, 0, 0, 254, 66, 0, 0, 35, 67, 0, 0, 0, 67, 0, 0, 35, 67, 0, 0, 1, 67, 0, 0, 35, 67, 0, 0, 2, 67, 0, 0, 35, 67, 0, 0, 3, 67, 0, 0, 35, 67, 0, 0, 4, 67, 0, 0, 35, 67, 0, 0, 5, 67, 0, 0, 35, 67, 0, 0, 6, 67, 0, 0, 35, 67, 0, 0, 7, 67, 0, 0, 35, 67, 0, 0, 8, 67, 0, 0, 35, 67, 0, 0, 9, 67, 0, 0, 35, 67, 0, 0, 10, 67, 0, 0, 35, 67, 0, 0, 11, 67, 0, 0, 35, 67, 0, 0, 12, 67, 0, 0, 35, 67, 0, 0, 13, 67, 0, 0, 35, 67, 0, 0, 14, 67, 0, 0, 35, 67, 0, 0, 15, 67, 0, 0, 35, 67, 0, 0, 16, 67, 0, 0, 35, 67, 0, 0, 17, 67, 0, 0, 35, 67, 0, 0, 18, 67, 0, 0, 35, 67, 0, 0, 19, 67, 0, 0, 35, 67, 0, 0, 20, 67, 0, 0, 35, 67, 0, 0, 21, 67, 0, 0, 35, 67, 0, 0, 22, 67, 0, 0, 35, 67, 0, 0, 23, 67, 0, 0, 35, 67, 0, 0, 24, 67, 0, 0, 35, 67, 0, 0, 25, 67, 0, 0, 35, 67, 0, 0, 26, 67, 0, 0, 35, 67, 0, 0, 27, 67, 0, 0, 35, 67, 0, 0, 28, 67, 0, 0, 35, 67, 0, 0, 29, 67, 0, 0, 35, 67, 0, 0, 30, 67, 0, 0, 35, 67, 0, 0, 31, 67, 0, 0, 35, 67, 0, 0, 32, 67, 0, 0, 35, 67, 0, 0, 33, 67, 0, 0, 35, 67, 0, 0, 34, 67, 0, 0, 35, 67, 0, 0, 35, 67, 0, 0, 35, 67, 0, 0, 36, 67, 0, 0, 35, 67, 0, 0, 37, 67, 0, 0, 35, 67, 0, 0, 38, 67, 0, 0, 35, 67, 0, 0, 39, 67, 0, 0, 35, 67, 0, 0, 40, 67, 0, 0, 35, 67, 0, 0, 41, 67, 0, 0, 35, 67, 0, 0, 42, 67, 0, 0, 35, 67, 0, 0, 43, 67, 0, 0, 35, 67, 0, 0, 44, 67, 0, 0, 35, 67, 0, 0, 45, 67, 0, 0, 35, 67, 0, 0, 46, 67, 0, 0, 35, 67, 0, 0, 47, 67, 0, 0, 35, 67, 0, 0, 48, 67, 0, 0, 35, 67, 0, 0, 49, 67, 0, 0, 35, 67, 0, 0, 50, 67, 0, 0, 35, 67, 0, 0, 51, 67, 0, 0, 35, 67, 0, 0, 52, 67, 0, 0, 35, 67, 0, 0, 53, 67, 0, 0, 35, 67, 0, 0, 54, 67, 0, 0, 35, 67, 0, 0, 55, 67, 0, 0, 36, 67, 0, 0, 184, 66, 0, 0, 36, 67, 0, 0, 186, 66, 0, 0, 36, 67, 0, 0, 188, 66, 0, 0, 36, 67, 0, 0, 190, 66, 0, 0, 36, 67, 0, 0, 192, 66, 0, 0, 36, 67, 0, 0, 194, 66, 0, 0, 36, 67, 0, 0, 196, 66, 0, 0, 36, 67, 0, 0, 198, 66, 0, 0, 36, 67, 0, 0, 200, 66, 0, 0, 36, 67, 0, 0, 202, 66, 0, 0, 36, 67, 0, 0, 204, 66, 0, 0, 36, 67, 0, 0, 206, 66, 0, 0, 36, 67, 0, 0, 208, 66, 0, 0, 36, 67, 0, 0, 210, 66, 0, 0, 36, 67, 0, 0, 212, 66, 0, 0, 36, 67, 0, 0, 214, 66, 0, 0, 36, 67, 0, 0, 216, 66, 0, 0, 36, 67, 0, 0, 218, 66, 0, 0, 36, 67, 0, 0, 220, 66, 0, 0, 36, 67, 0, 0, 222, 66, 0, 0, 36, 67, 0, 0, 224, 66, 0, 0, 36, 67, 0, 0, 226, 66, 0, 0, 36, 67, 0, 0, 228, 66, 0, 0, 36, 67, 0, 0, 230, 66, 0, 0, 36, 67, 0, 0, 232, 66, 0, 0, 36, 67, 0, 0, 234, 66, 0, 0, 36, 67, 0, 0, 236, 66, 0, 0, 36, 67, 0, 0, 238, 66, 0, 0, 36, 67, 0, 0, 240, 66, 0, 0, 36, 67, 0, 0, 242, 66, 0, 0, 36, 67, 0, 0, 244, 66, 0, 0, 36, 67, 0, 0, 246, 66, 0, 0, 36, 67, 0, 0, 248, 66, 0, 0, 36, 67, 0, 0, 250, 66, 0, 0, 36, 67, 0, 0, 252, 66, 0, 0, 36, 67, 0, 0, 254, 66, 0, 0, 36, 67, 0, 0, 0, 67, 0, 0, 36, 67, 0, 0, 1, 67, 0, 0, 36, 67, 0, 0, 2, 67, 0, 0, 36, 67, 0, 0, 3, 67, 0, 0, 36, 67, 0, 0, 4, 67, 0, 0, 36, 67, 0, 0, 5, 67, 0, 0, 36, 67, 0, 0, 6, 67, 0, 0, 36, 67, 0, 0, 7, 67, 0, 0, 36, 67, 0, 0, 8, 67, 0, 0, 36, 67, 0, 0, 9, 67, 0, 0, 36, 67, 0, 0, 10, 67, 0, 0, 36, 67, 0, 0, 11, 67, 0, 0, 36, 67, 0, 0, 12, 67, 0, 0, 36, 67, 0, 0, 13, 67, 0, 0, 36, 67, 0, 0, 14, 67, 0, 0, 36, 67, 0, 0, 15, 67, 0, 0, 36, 67, 0, 0, 16, 67, 0, 0, 36, 67, 0, 0, 17, 67, 0, 0, 36, 67, 0, 0, 18, 67, 0, 0, 36, 67, 0, 0, 19, 67, 0, 0, 36, 67, 0, 0, 20, 67, 0, 0, 36, 67, 0, 0, 21, 67, 0, 0, 36, 67, 0, 0, 22, 67, 0, 0, 36, 67, 0, 0, 23, 67, 0, 0, 36, 67, 0, 0, 24, 67, 0, 0, 36, 67, 0, 0, 25, 67, 0, 0, 36, 67, 0, 0, 26, 67, 0, 0, 36, 67, 0, 0, 27, 67, 0, 0, 36, 67, 0, 0, 28, 67, 0, 0, 36, 67, 0, 0, 29, 67, 0, 0, 36, 67, 0, 0, 30, 67, 0, 0, 36, 67, 0, 0, 31, 67, 0, 0, 36, 67, 0, 0, 32, 67, 0, 0, 36, 67, 0, 0, 33, 67, 0, 0, 36, 67, 0, 0, 34, 67, 0, 0, 36, 67, 0, 0, 35, 67, 0, 0, 36, 67, 0, 0, 36, 67, 0, 0, 36, 67, 0, 0, 37, 67, 0, 0, 36, 67, 0, 0, 38, 67, 0, 0, 36, 67, 0, 0, 39, 67, 0, 0, 36, 67, 0, 0, 40, 67, 0, 0, 36, 67, 0, 0, 41, 67, 0, 0, 36, 67, 0, 0, 42, 67, 0, 0, 36, 67, 0, 0, 43, 67, 0, 0, 36, 67, 0, 0, 44, 67, 0, 0, 36, 67, 0, 0, 45, 67, 0, 0, 36, 67, 0, 0, 46, 67, 0, 0, 36, 67, 0, 0, 47, 67, 0, 0, 36, 67, 0, 0, 48, 67, 0, 0, 36, 67, 0, 0, 49, 67, 0, 0, 36, 67, 0, 0, 50, 67, 0, 0, 36, 67, 0, 0, 51, 67, 0, 0, 36, 67, 0, 0, 52, 67, 0, 0, 36, 67, 0, 0, 53, 67, 0, 0, 36, 67, 0, 0, 54, 67, 0, 0, 36, 67, 0, 0, 55, 67, 0, 0, 37, 67, 0, 0, 184, 66, 0, 0, 37, 67, 0, 0, 186, 66, 0, 0, 37, 67, 0, 0, 188, 66, 0, 0, 37, 67, 0, 0, 190, 66, 0, 0, 37, 67, 0, 0, 192, 66, 0, 0, 37, 67, 0, 0, 194, 66, 0, 0, 37, 67, 0, 0, 196, 66, 0, 0, 37, 67, 0, 0, 198, 66, 0, 0, 37, 67, 0, 0, 200, 66, 0, 0, 37, 67, 0, 0, 202, 66, 0, 0, 37, 67, 0, 0, 204, 66, 0, 0, 37, 67, 0, 0, 206, 66, 0, 0, 37, 67, 0, 0, 208, 66, 0, 0, 37, 67, 0, 0, 210, 66, 0, 0, 37, 67, 0, 0, 212, 66, 0, 0, 37, 67, 0, 0, 214, 66, 0, 0, 37, 67, 0, 0, 216, 66, 0, 0, 37, 67, 0, 0, 218, 66, 0, 0, 37, 67, 0, 0, 220, 66, 0, 0, 37, 67, 0, 0, 222, 66, 0, 0, 37, 67, 0, 0, 224, 66, 0, 0, 37, 67, 0, 0, 226, 66, 0, 0, 37, 67, 0, 0, 228, 66, 0, 0, 37, 67, 0, 0, 230, 66, 0, 0, 37, 67, 0, 0, 232, 66, 0, 0, 37, 67, 0, 0, 234, 66, 0, 0, 37, 67, 0, 0, 236, 66, 0, 0, 37, 67, 0, 0, 238, 66, 0, 0, 37, 67, 0, 0, 240, 66, 0, 0, 37, 67, 0, 0, 242, 66, 0, 0, 37, 67, 0, 0, 244, 66, 0, 0, 37, 67, 0, 0, 246, 66, 0, 0, 37, 67, 0, 0, 248, 66, 0, 0, 37, 67, 0, 0, 250, 66, 0, 0, 37, 67, 0, 0, 252, 66, 0, 0, 37, 67, 0, 0, 254, 66, 0, 0, 37, 67, 0, 0, 0, 67, 0, 0, 37, 67, 0, 0, 1, 67, 0, 0, 37, 67, 0, 0, 2, 67, 0, 0, 37, 67, 0, 0, 3, 67, 0, 0, 37, 67, 0, 0, 4, 67, 0, 0, 37, 67, 0, 0, 5, 67, 0, 0, 37, 67, 0, 0, 6, 67, 0, 0, 37, 67, 0, 0, 7, 67, 0, 0, 37, 67, 0, 0, 8, 67, 0, 0, 37, 67, 0, 0, 9, 67, 0, 0, 37, 67, 0, 0, 10, 67, 0, 0, 37, 67, 0, 0, 11, 67, 0, 0, 37, 67, 0, 0, 12, 67, 0, 0, 37, 67, 0, 0, 13, 67, 0, 0, 37, 67, 0, 0, 14, 67, 0, 0, 37, 67, 0, 0, 15, 67, 0, 0, 37, 67, 0, 0, 16, 67, 0, 0, 37, 67, 0, 0, 17, 67, 0, 0, 37, 67, 0, 0, 18, 67, 0, 0, 37, 67, 0, 0, 19, 67, 0, 0, 37, 67, 0, 0, 20, 67, 0, 0, 37, 67, 0, 0, 21, 67, 0, 0, 37, 67, 0, 0, 22, 67, 0, 0, 37, 67, 0, 0, 23, 67, 0, 0, 37, 67, 0, 0, 24, 67, 0, 0, 37, 67, 0, 0, 25, 67, 0, 0, 37, 67, 0, 0, 26, 67, 0, 0, 37, 67, 0, 0, 27, 67, 0, 0, 37, 67, 0, 0, 28, 67, 0, 0, 37, 67, 0, 0, 29, 67, 0, 0, 37, 67, 0, 0, 30, 67, 0, 0, 37, 67, 0, 0, 31, 67, 0, 0, 37, 67, 0, 0, 32, 67, 0, 0, 37, 67, 0, 0, 33, 67, 0, 0, 37, 67, 0, 0, 34, 67, 0, 0, 37, 67, 0, 0, 35, 67, 0, 0, 37, 67, 0, 0, 36, 67, 0, 0, 37, 67, 0, 0, 37, 67, 0, 0, 37, 67, 0, 0, 38, 67, 0, 0, 37, 67, 0, 0, 39, 67, 0, 0, 37, 67, 0, 0, 40, 67, 0, 0, 37, 67, 0, 0, 41, 67, 0, 0, 37, 67, 0, 0, 42, 67, 0, 0, 37, 67, 0, 0, 43, 67, 0, 0, 37, 67, 0, 0, 44, 67, 0, 0, 37, 67, 0, 0, 45, 67, 0, 0, 37, 67, 0, 0, 46, 67, 0, 0, 37, 67, 0, 0, 47, 67, 0, 0, 37, 67, 0, 0, 48, 67, 0, 0, 37, 67, 0, 0, 49, 67, 0, 0, 37, 67, 0, 0, 50, 67, 0, 0, 37, 67, 0, 0, 51, 67, 0, 0, 37, 67, 0, 0, 52, 67, 0, 0, 37, 67, 0, 0, 53, 67, 0, 0, 37, 67, 0, 0, 54, 67, 0, 0, 37, 67, 0, 0, 55, 67, 0, 0, 38, 67, 0, 0, 184, 66, 0, 0, 38, 67, 0, 0, 186, 66, 0, 0, 38, 67, 0, 0, 188, 66, 0, 0, 38, 67, 0, 0, 190, 66, 0, 0, 38, 67, 0, 0, 192, 66, 0, 0, 38, 67, 0, 0, 194, 66, 0, 0, 38, 67, 0, 0, 196, 66, 0, 0, 38, 67, 0, 0, 198, 66, 0, 0, 38, 67, 0, 0, 200, 66, 0, 0, 38, 67, 0, 0, 202, 66, 0, 0, 38, 67, 0, 0, 204, 66, 0, 0, 38, 67, 0, 0, 206, 66, 0, 0, 38, 67, 0, 0, 208, 66, 0, 0, 38, 67, 0, 0, 210, 66, 0, 0, 38, 67, 0, 0, 212, 66, 0, 0, 38, 67, 0, 0, 214, 66, 0, 0, 38, 67, 0, 0, 216, 66, 0, 0, 38, 67, 0, 0, 218, 66, 0, 0, 38, 67, 0, 0, 220, 66, 0, 0, 38, 67, 0, 0, 222, 66, 0, 0, 38, 67, 0, 0, 224, 66, 0, 0, 38, 67, 0, 0, 226, 66, 0, 0, 38, 67, 0, 0, 228, 66, 0, 0, 38, 67, 0, 0, 230, 66, 0, 0, 38, 67, 0, 0, 232, 66, 0, 0, 38, 67, 0, 0, 234, 66, 0, 0, 38, 67, 0, 0, 236, 66, 0, 0, 38, 67, 0, 0, 238, 66, 0, 0, 38, 67, 0, 0, 240, 66, 0, 0, 38, 67, 0, 0, 242, 66, 0, 0, 38, 67, 0, 0, 244, 66, 0, 0, 38, 67, 0, 0, 246, 66, 0, 0, 38, 67, 0, 0, 248, 66, 0, 0, 38, 67, 0, 0, 250, 66, 0, 0, 38, 67, 0, 0, 252, 66, 0, 0, 38, 67, 0, 0, 254, 66, 0, 0, 38, 67, 0, 0, 0, 67, 0, 0, 38, 67, 0, 0, 1, 67, 0, 0, 38, 67, 0, 0, 2, 67, 0, 0, 38, 67, 0, 0, 3, 67, 0, 0, 38, 67, 0, 0, 4, 67, 0, 0, 38, 67, 0, 0, 5, 67, 0, 0, 38, 67, 0, 0, 6, 67, 0, 0, 38, 67, 0, 0, 7, 67, 0, 0, 38, 67, 0, 0, 8, 67, 0, 0, 38, 67, 0, 0, 9, 67, 0, 0, 38, 67, 0, 0, 10, 67, 0, 0, 38, 67, 0, 0, 11, 67, 0, 0, 38, 67, 0, 0, 12, 67, 0, 0, 38, 67, 0, 0, 13, 67, 0, 0, 38, 67, 0, 0, 14, 67, 0, 0, 38, 67, 0, 0, 15, 67, 0, 0, 38, 67, 0, 0, 16, 67, 0, 0, 38, 67, 0, 0, 17, 67, 0, 0, 38, 67, 0, 0, 18, 67, 0, 0, 38, 67, 0, 0, 19, 67, 0, 0, 38, 67, 0, 0, 20, 67, 0, 0, 38, 67, 0, 0, 21, 67, 0, 0, 38, 67, 0, 0, 22, 67, 0, 0, 38, 67, 0, 0, 23, 67, 0, 0, 38, 67, 0, 0, 24, 67, 0, 0, 38, 67, 0, 0, 25, 67, 0, 0, 38, 67, 0, 0, 26, 67, 0, 0, 38, 67, 0, 0, 27, 67, 0, 0, 38, 67, 0, 0, 28, 67, 0, 0, 38, 67, 0, 0, 29, 67, 0, 0, 38, 67, 0, 0, 30, 67, 0, 0, 38, 67, 0, 0, 31, 67, 0, 0, 38, 67, 0, 0, 32, 67, 0, 0, 38, 67, 0, 0, 33, 67, 0, 0, 38, 67, 0, 0, 34, 67, 0, 0, 38, 67, 0, 0, 35, 67, 0, 0, 38, 67, 0, 0, 36, 67, 0, 0, 38, 67, 0, 0, 37, 67, 0, 0, 38, 67, 0, 0, 38, 67, 0, 0, 38, 67, 0, 0, 39, 67, 0, 0, 38, 67, 0, 0, 40, 67, 0, 0, 38, 67, 0, 0, 41, 67, 0, 0, 38, 67, 0, 0, 42, 67, 0, 0, 38, 67, 0, 0, 43, 67, 0, 0, 38, 67, 0, 0, 44, 67, 0, 0, 38, 67, 0, 0, 45, 67, 0, 0, 38, 67, 0, 0, 46, 67, 0, 0, 38, 67, 0, 0, 47, 67, 0, 0, 38, 67, 0, 0, 48, 67, 0, 0, 38, 67, 0, 0, 49, 67, 0, 0, 38, 67, 0, 0, 50, 67, 0, 0, 38, 67, 0, 0, 51, 67, 0, 0, 38, 67, 0, 0, 52, 67, 0, 0, 38, 67, 0, 0, 53, 67, 0, 0, 38, 67, 0, 0, 54, 67, 0, 0, 38, 67, 0, 0, 55, 67, 0, 0, 39, 67, 0, 0, 184, 66, 0, 0, 39, 67, 0, 0, 186, 66, 0, 0, 39, 67, 0, 0, 188, 66, 0, 0, 39, 67, 0, 0, 190, 66, 0, 0, 39, 67, 0, 0, 192, 66, 0, 0, 39, 67, 0, 0, 194, 66, 0, 0, 39, 67, 0, 0, 196, 66, 0, 0, 39, 67, 0, 0, 198, 66, 0, 0, 39, 67, 0, 0, 200, 66, 0, 0, 39, 67, 0, 0, 202, 66, 0, 0, 39, 67, 0, 0, 204, 66, 0, 0, 39, 67, 0, 0, 206, 66, 0, 0, 39, 67, 0, 0, 208, 66, 0, 0, 39, 67, 0, 0, 210, 66, 0, 0, 39, 67, 0, 0, 212, 66, 0, 0, 39, 67, 0, 0, 214, 66, 0, 0, 39, 67, 0, 0, 216, 66, 0, 0, 39, 67, 0, 0, 218, 66, 0, 0, 39, 67, 0, 0, 220, 66, 0, 0, 39, 67, 0, 0, 222, 66, 0, 0, 39, 67, 0, 0, 224, 66, 0, 0, 39, 67, 0, 0, 226, 66, 0, 0, 39, 67, 0, 0, 228, 66, 0, 0, 39, 67, 0, 0, 230, 66, 0, 0, 39, 67, 0, 0, 232, 66, 0, 0, 39, 67, 0, 0, 234, 66, 0, 0, 39, 67, 0, 0, 236, 66, 0, 0, 39, 67, 0, 0, 238, 66, 0, 0, 39, 67, 0, 0, 240, 66, 0, 0, 39, 67, 0, 0, 242, 66, 0, 0, 39, 67, 0, 0, 244, 66, 0, 0, 39, 67, 0, 0, 246, 66, 0, 0, 39, 67, 0, 0, 248, 66, 0, 0, 39, 67, 0, 0, 250, 66, 0, 0, 39, 67, 0, 0, 252, 66, 0, 0, 39, 67, 0, 0, 254, 66, 0, 0, 39, 67, 0, 0, 0, 67, 0, 0, 39, 67, 0, 0, 1, 67, 0, 0, 39, 67, 0, 0, 2, 67, 0, 0, 39, 67, 0, 0, 3, 67, 0, 0, 39, 67, 0, 0, 4, 67, 0, 0, 39, 67, 0, 0, 5, 67, 0, 0, 39, 67, 0, 0, 6, 67, 0, 0, 39, 67, 0, 0, 7, 67, 0, 0, 39, 67, 0, 0, 8, 67, 0, 0, 39, 67, 0, 0, 9, 67, 0, 0, 39, 67, 0, 0, 10, 67, 0, 0, 39, 67, 0, 0, 11, 67, 0, 0, 39, 67, 0, 0, 12, 67, 0, 0, 39, 67, 0, 0, 13, 67, 0, 0, 39, 67, 0, 0, 14, 67, 0, 0, 39, 67, 0, 0, 15, 67, 0, 0, 39, 67, 0, 0, 16, 67, 0, 0, 39, 67, 0, 0, 17, 67, 0, 0, 39, 67, 0, 0, 18, 67, 0, 0, 39, 67, 0, 0, 19, 67, 0, 0, 39, 67, 0, 0, 20, 67, 0, 0, 39, 67, 0, 0, 21, 67, 0, 0, 39, 67, 0, 0, 22, 67, 0, 0, 39, 67, 0, 0, 23, 67, 0, 0, 39, 67, 0, 0, 24, 67, 0, 0, 39, 67, 0, 0, 25, 67, 0, 0, 39, 67, 0, 0, 26, 67, 0, 0, 39, 67, 0, 0, 27, 67, 0, 0, 39, 67, 0, 0, 28, 67, 0, 0, 39, 67, 0, 0, 29, 67, 0, 0, 39, 67, 0, 0, 30, 67, 0, 0, 39, 67, 0, 0, 31, 67, 0, 0, 39, 67, 0, 0, 32, 67, 0, 0, 39, 67, 0, 0, 33, 67, 0, 0, 39, 67, 0, 0, 34, 67, 0, 0, 39, 67, 0, 0, 35, 67, 0, 0, 39, 67, 0, 0, 36, 67, 0, 0, 39, 67, 0, 0, 37, 67, 0, 0, 39, 67, 0, 0, 38, 67, 0, 0, 39, 67, 0, 0, 39, 67, 0, 0, 39, 67, 0, 0, 40, 67, 0, 0, 39, 67, 0, 0, 41, 67, 0, 0, 39, 67, 0, 0, 42, 67, 0, 0, 39, 67, 0, 0, 43, 67, 0, 0, 39, 67, 0, 0, 44, 67, 0, 0, 39, 67, 0, 0, 45, 67, 0, 0, 39, 67, 0, 0, 46, 67, 0, 0, 39, 67, 0, 0, 47, 67, 0, 0, 39, 67, 0, 0, 48, 67, 0, 0, 39, 67, 0, 0, 49, 67, 0, 0, 39, 67, 0, 0, 50, 67, 0, 0, 39, 67, 0, 0, 51, 67, 0, 0, 39, 67, 0, 0, 52, 67, 0, 0, 39, 67, 0, 0, 53, 67, 0, 0, 39, 67, 0, 0, 54, 67, 0, 0, 39, 67, 0, 0, 55, 67, 0, 0, 40, 67, 0, 0, 184, 66, 0, 0, 40, 67, 0, 0, 186, 66, 0, 0, 40, 67, 0, 0, 188, 66, 0, 0, 40, 67, 0, 0, 190, 66, 0, 0, 40, 67, 0, 0, 192, 66, 0, 0, 40, 67, 0, 0, 194, 66, 0, 0, 40, 67, 0, 0, 196, 66, 0, 0, 40, 67, 0, 0, 198, 66, 0, 0, 40, 67, 0, 0, 200, 66, 0, 0, 40, 67, 0, 0, 202, 66, 0, 0, 40, 67, 0, 0, 204, 66, 0, 0, 40, 67, 0, 0, 206, 66, 0, 0, 40, 67, 0, 0, 208, 66, 0, 0, 40, 67, 0, 0, 210, 66, 0, 0, 40, 67, 0, 0, 212, 66, 0, 0, 40, 67, 0, 0, 214, 66, 0, 0, 40, 67, 0, 0, 216, 66, 0, 0, 40, 67, 0, 0, 218, 66, 0, 0, 40, 67, 0, 0, 220, 66, 0, 0, 40, 67, 0, 0, 222, 66, 0, 0, 40, 67, 0, 0, 224, 66, 0, 0, 40, 67, 0, 0, 226, 66, 0, 0, 40, 67, 0, 0, 228, 66, 0, 0, 40, 67, 0, 0, 230, 66, 0, 0, 40, 67, 0, 0, 232, 66, 0, 0, 40, 67, 0, 0, 234, 66, 0, 0, 40, 67, 0, 0, 236, 66, 0, 0, 40, 67, 0, 0, 238, 66, 0, 0, 40, 67, 0, 0, 240, 66, 0, 0, 40, 67, 0, 0, 242, 66, 0, 0, 40, 67, 0, 0, 244, 66, 0, 0, 40, 67, 0, 0, 246, 66, 0, 0, 40, 67, 0, 0, 248, 66, 0, 0, 40, 67, 0, 0, 250, 66, 0, 0, 40, 67, 0, 0, 252, 66, 0, 0, 40, 67, 0, 0, 254, 66, 0, 0, 40, 67, 0, 0, 0, 67, 0, 0, 40, 67, 0, 0, 1, 67, 0, 0, 40, 67, 0, 0, 2, 67, 0, 0, 40, 67, 0, 0, 3, 67, 0, 0, 40, 67, 0, 0, 4, 67, 0, 0, 40, 67, 0, 0, 5, 67, 0, 0, 40, 67, 0, 0, 6, 67, 0, 0, 40, 67, 0, 0, 7, 67, 0, 0, 40, 67, 0, 0, 8, 67, 0, 0, 40, 67, 0, 0, 9, 67, 0, 0, 40, 67, 0, 0, 10, 67, 0, 0, 40, 67, 0, 0, 11, 67, 0, 0, 40, 67, 0, 0, 12, 67, 0, 0, 40, 67, 0, 0, 13, 67, 0, 0, 40, 67, 0, 0, 14, 67, 0, 0, 40, 67, 0, 0, 15, 67, 0, 0, 40, 67, 0, 0, 16, 67, 0, 0, 40, 67, 0, 0, 17, 67, 0, 0, 40, 67, 0, 0, 18, 67, 0, 0, 40, 67, 0, 0, 19, 67, 0, 0, 40, 67, 0, 0, 20, 67, 0, 0, 40, 67, 0, 0, 21, 67, 0, 0, 40, 67, 0, 0, 22, 67, 0, 0, 40, 67, 0, 0, 23, 67, 0, 0, 40, 67, 0, 0, 24, 67, 0, 0, 40, 67, 0, 0, 25, 67, 0, 0, 40, 67, 0, 0, 26, 67, 0, 0, 40, 67, 0, 0, 27, 67, 0, 0, 40, 67, 0, 0, 28, 67, 0, 0, 40, 67, 0, 0, 29, 67, 0, 0, 40, 67, 0, 0, 30, 67, 0, 0, 40, 67, 0, 0, 31, 67, 0, 0, 40, 67, 0, 0, 32, 67, 0, 0, 40, 67, 0, 0, 33, 67, 0, 0, 40, 67, 0, 0, 34, 67, 0, 0, 40, 67, 0, 0, 35, 67, 0, 0, 40, 67, 0, 0, 36, 67, 0, 0, 40, 67, 0, 0, 37, 67, 0, 0, 40, 67, 0, 0, 38, 67, 0, 0, 40, 67, 0, 0, 39, 67, 0, 0, 40, 67, 0, 0, 40, 67, 0, 0, 40, 67, 0, 0, 41, 67, 0, 0, 40, 67, 0, 0, 42, 67, 0, 0, 40, 67, 0, 0, 43, 67, 0, 0, 40, 67, 0, 0, 44, 67, 0, 0, 40, 67, 0, 0, 45, 67, 0, 0, 40, 67, 0, 0, 46, 67, 0, 0, 40, 67, 0, 0, 47, 67, 0, 0, 40, 67, 0, 0, 48, 67, 0, 0, 40, 67, 0, 0, 49, 67, 0, 0, 40, 67, 0, 0, 50, 67, 0, 0, 40, 67, 0, 0, 51, 67, 0, 0, 40, 67, 0, 0, 52, 67, 0, 0, 40, 67, 0, 0, 53, 67, 0, 0, 40, 67, 0, 0, 54, 67, 0, 0, 40, 67, 0, 0, 55, 67, 0, 0, 41, 67, 0, 0, 184, 66, 0, 0, 41, 67, 0, 0, 186, 66, 0, 0, 41, 67, 0, 0, 188, 66, 0, 0, 41, 67, 0, 0, 190, 66, 0, 0, 41, 67, 0, 0, 192, 66, 0, 0, 41, 67, 0, 0, 194, 66, 0, 0, 41, 67, 0, 0, 196, 66, 0, 0, 41, 67, 0, 0, 198, 66, 0, 0, 41, 67, 0, 0, 200, 66, 0, 0, 41, 67, 0, 0, 202, 66, 0, 0, 41, 67, 0, 0, 204, 66, 0, 0, 41, 67, 0, 0, 206, 66, 0, 0, 41, 67, 0, 0, 208, 66, 0, 0, 41, 67, 0, 0, 210, 66, 0, 0, 41, 67, 0, 0, 212, 66, 0, 0, 41, 67, 0, 0, 214, 66, 0, 0, 41, 67, 0, 0, 216, 66, 0, 0, 41, 67, 0, 0, 218, 66, 0, 0, 41, 67, 0, 0, 220, 66, 0, 0, 41, 67, 0, 0, 222, 66, 0, 0, 41, 67, 0, 0, 224, 66, 0, 0, 41, 67, 0, 0, 226, 66, 0, 0, 41, 67, 0, 0, 228, 66, 0, 0, 41, 67, 0, 0, 230, 66, 0, 0, 41, 67, 0, 0, 232, 66, 0, 0, 41, 67, 0, 0, 234, 66, 0, 0, 41, 67, 0, 0, 236, 66, 0, 0, 41, 67, 0, 0, 238, 66, 0, 0, 41, 67, 0, 0, 240, 66, 0, 0, 41, 67, 0, 0, 242, 66, 0, 0, 41, 67, 0, 0, 244, 66, 0, 0, 41, 67, 0, 0, 246, 66, 0, 0, 41, 67, 0, 0, 248, 66, 0, 0, 41, 67, 0, 0, 250, 66, 0, 0, 41, 67, 0, 0, 252, 66, 0, 0, 41, 67, 0, 0, 254, 66, 0, 0, 41, 67, 0, 0, 0, 67, 0, 0, 41, 67, 0, 0, 1, 67, 0, 0, 41, 67, 0, 0, 2, 67, 0, 0, 41, 67, 0, 0, 3, 67, 0, 0, 41, 67, 0, 0, 4, 67, 0, 0, 41, 67, 0, 0, 5, 67, 0, 0, 41, 67, 0, 0, 6, 67, 0, 0, 41, 67, 0, 0, 7, 67, 0, 0, 41, 67, 0, 0, 8, 67, 0, 0, 41, 67, 0, 0, 9, 67, 0, 0, 41, 67, 0, 0, 10, 67, 0, 0, 41, 67, 0, 0, 11, 67, 0, 0, 41, 67, 0, 0, 12, 67, 0, 0, 41, 67, 0, 0, 13, 67, 0, 0, 41, 67, 0, 0, 14, 67, 0, 0, 41, 67, 0, 0, 15, 67, 0, 0, 41, 67, 0, 0, 16, 67, 0, 0, 41, 67, 0, 0, 17, 67, 0, 0, 41, 67, 0, 0, 18, 67, 0, 0, 41, 67, 0, 0, 19, 67, 0, 0, 41, 67, 0, 0, 20, 67, 0, 0, 41, 67, 0, 0, 21, 67, 0, 0, 41, 67, 0, 0, 22, 67, 0, 0, 41, 67, 0, 0, 23, 67, 0, 0, 41, 67, 0, 0, 24, 67, 0, 0, 41, 67, 0, 0, 25, 67, 0, 0, 41, 67, 0, 0, 26, 67, 0, 0, 41, 67, 0, 0, 27, 67, 0, 0, 41, 67, 0, 0, 28, 67, 0, 0, 41, 67, 0, 0, 29, 67, 0, 0, 41, 67, 0, 0, 30, 67, 0, 0, 41, 67, 0, 0, 31, 67, 0, 0, 41, 67, 0, 0, 32, 67, 0, 0, 41, 67, 0, 0, 33, 67, 0, 0, 41, 67, 0, 0, 34, 67, 0, 0, 41, 67, 0, 0, 35, 67, 0, 0, 41, 67, 0, 0, 36, 67, 0, 0, 41, 67, 0, 0, 37, 67, 0, 0, 41, 67, 0, 0, 38, 67, 0, 0, 41, 67, 0, 0, 39, 67, 0, 0, 41, 67, 0, 0, 40, 67, 0, 0, 41, 67, 0, 0, 41, 67, 0, 0, 41, 67, 0, 0, 42, 67, 0, 0, 41, 67, 0, 0, 43, 67, 0, 0, 41, 67, 0, 0, 44, 67, 0, 0, 41, 67, 0, 0, 45, 67, 0, 0, 41, 67, 0, 0, 46, 67, 0, 0, 41, 67, 0, 0, 47, 67, 0, 0, 41, 67, 0, 0, 48, 67, 0, 0, 41, 67, 0, 0, 49, 67, 0, 0, 41, 67, 0, 0, 50, 67, 0, 0, 41, 67, 0, 0, 51, 67, 0, 0, 41, 67, 0, 0, 52, 67, 0, 0, 41, 67, 0, 0, 53, 67, 0, 0, 41, 67, 0, 0, 54, 67, 0, 0, 41, 67, 0, 0, 55, 67, 0, 0, 42, 67, 0, 0, 184, 66, 0, 0, 42, 67, 0, 0, 186, 66, 0, 0, 42, 67, 0, 0, 188, 66, 0, 0, 42, 67, 0, 0, 190, 66, 0, 0, 42, 67, 0, 0, 192, 66, 0, 0, 42, 67, 0, 0, 194, 66, 0, 0, 42, 67, 0, 0, 196, 66, 0, 0, 42, 67, 0, 0, 198, 66, 0, 0, 42, 67, 0, 0, 200, 66, 0, 0, 42, 67, 0, 0, 202, 66, 0, 0, 42, 67, 0, 0, 204, 66, 0, 0, 42, 67, 0, 0, 206, 66, 0, 0, 42, 67, 0, 0, 208, 66, 0, 0, 42, 67, 0, 0, 210, 66, 0, 0, 42, 67, 0, 0, 212, 66, 0, 0, 42, 67, 0, 0, 214, 66, 0, 0, 42, 67, 0, 0, 216, 66, 0, 0, 42, 67, 0, 0, 218, 66, 0, 0, 42, 67, 0, 0, 220, 66, 0, 0, 42, 67, 0, 0, 222, 66, 0, 0, 42, 67, 0, 0, 224, 66, 0, 0, 42, 67, 0, 0, 226, 66, 0, 0, 42, 67, 0, 0, 228, 66, 0, 0, 42, 67, 0, 0, 230, 66, 0, 0, 42, 67, 0, 0, 232, 66, 0, 0, 42, 67, 0, 0, 234, 66, 0, 0, 42, 67, 0, 0, 236, 66, 0, 0, 42, 67, 0, 0, 238, 66, 0, 0, 42, 67, 0, 0, 240, 66, 0, 0, 42, 67, 0, 0, 242, 66, 0, 0, 42, 67, 0, 0, 244, 66, 0, 0, 42, 67, 0, 0, 246, 66, 0, 0, 42, 67, 0, 0, 248, 66, 0, 0, 42, 67, 0, 0, 250, 66, 0, 0, 42, 67, 0, 0, 252, 66, 0, 0, 42, 67, 0, 0, 254, 66, 0, 0, 42, 67, 0, 0, 0, 67, 0, 0, 42, 67, 0, 0, 1, 67, 0, 0, 42, 67, 0, 0, 2, 67, 0, 0, 42, 67, 0, 0, 3, 67, 0, 0, 42, 67, 0, 0, 4, 67, 0, 0, 42, 67, 0, 0, 5, 67, 0, 0, 42, 67, 0, 0, 6, 67, 0, 0, 42, 67, 0, 0, 7, 67, 0, 0, 42, 67, 0, 0, 8, 67, 0, 0, 42, 67, 0, 0, 9, 67, 0, 0, 42, 67, 0, 0, 10, 67, 0, 0, 42, 67, 0, 0, 11, 67, 0, 0, 42, 67, 0, 0, 12, 67, 0, 0, 42, 67, 0, 0, 13, 67, 0, 0, 42, 67, 0, 0, 14, 67, 0, 0, 42, 67, 0, 0, 15, 67, 0, 0, 42, 67, 0, 0, 16, 67, 0, 0, 42, 67, 0, 0, 17, 67, 0, 0, 42, 67, 0, 0, 18, 67, 0, 0, 42, 67, 0, 0, 19, 67, 0, 0, 42, 67, 0, 0, 20, 67, 0, 0, 42, 67, 0, 0, 21, 67, 0, 0, 42, 67, 0, 0, 22, 67, 0, 0, 42, 67, 0, 0, 23, 67, 0, 0, 42, 67, 0, 0, 24, 67, 0, 0, 42, 67, 0, 0, 25, 67, 0, 0, 42, 67, 0, 0, 26, 67, 0, 0, 42, 67, 0, 0, 27, 67, 0, 0, 42, 67, 0, 0, 28, 67, 0, 0, 42, 67, 0, 0, 29, 67, 0, 0, 42, 67, 0, 0, 30, 67, 0, 0, 42, 67, 0, 0, 31, 67, 0, 0, 42, 67, 0, 0, 32, 67, 0, 0, 42, 67, 0, 0, 33, 67, 0, 0, 42, 67, 0, 0, 34, 67, 0, 0, 42, 67, 0, 0, 35, 67, 0, 0, 42, 67, 0, 0, 36, 67, 0, 0, 42, 67, 0, 0, 37, 67, 0, 0, 42, 67, 0, 0, 38, 67, 0, 0, 42, 67, 0, 0, 39, 67, 0, 0, 42, 67, 0, 0, 40, 67, 0, 0, 42, 67, 0, 0, 41, 67, 0, 0, 42, 67, 0, 0, 42, 67, 0, 0, 42, 67, 0, 0, 43, 67, 0, 0, 42, 67, 0, 0, 44, 67, 0, 0, 42, 67, 0, 0, 45, 67, 0, 0, 42, 67, 0, 0, 46, 67, 0, 0, 42, 67, 0, 0, 47, 67, 0, 0, 42, 67, 0, 0, 48, 67, 0, 0, 42, 67, 0, 0, 49, 67, 0, 0, 42, 67, 0, 0, 50, 67, 0, 0, 42, 67, 0, 0, 51, 67, 0, 0, 42, 67, 0, 0, 52, 67, 0, 0, 42, 67, 0, 0, 53, 67, 0, 0, 42, 67, 0, 0, 54, 67, 0, 0, 42, 67, 0, 0, 55, 67, 0, 0, 43, 67, 0, 0, 184, 66, 0, 0, 43, 67, 0, 0, 186, 66, 0, 0, 43, 67, 0, 0, 188, 66, 0, 0, 43, 67, 0, 0, 190, 66, 0, 0, 43, 67, 0, 0, 192, 66, 0, 0, 43, 67, 0, 0, 194, 66, 0, 0, 43, 67, 0, 0, 196, 66, 0, 0, 43, 67, 0, 0, 198, 66, 0, 0, 43, 67, 0, 0, 200, 66, 0, 0, 43, 67, 0, 0, 202, 66, 0, 0, 43, 67, 0, 0, 204, 66, 0, 0, 43, 67, 0, 0, 206, 66, 0, 0, 43, 67, 0, 0, 208, 66, 0, 0, 43, 67, 0, 0, 210, 66, 0, 0, 43, 67, 0, 0, 212, 66, 0, 0, 43, 67, 0, 0, 214, 66, 0, 0, 43, 67, 0, 0, 216, 66, 0, 0, 43, 67, 0, 0, 218, 66, 0, 0, 43, 67, 0, 0, 220, 66, 0, 0, 43, 67, 0, 0, 222, 66, 0, 0, 43, 67, 0, 0, 224, 66, 0, 0, 43, 67, 0, 0, 226, 66, 0, 0, 43, 67, 0, 0, 228, 66, 0, 0, 43, 67, 0, 0, 230, 66, 0, 0, 43, 67, 0, 0, 232, 66, 0, 0, 43, 67, 0, 0, 234, 66, 0, 0, 43, 67, 0, 0, 236, 66, 0, 0, 43, 67, 0, 0, 238, 66, 0, 0, 43, 67, 0, 0, 240, 66, 0, 0, 43, 67, 0, 0, 242, 66, 0, 0, 43, 67, 0, 0, 244, 66, 0, 0, 43, 67, 0, 0, 246, 66, 0, 0, 43, 67, 0, 0, 248, 66, 0, 0, 43, 67, 0, 0, 250, 66, 0, 0, 43, 67, 0, 0, 252, 66, 0, 0, 43, 67, 0, 0, 254, 66, 0, 0, 43, 67, 0, 0, 0, 67, 0, 0, 43, 67, 0, 0, 1, 67, 0, 0, 43, 67, 0, 0, 2, 67, 0, 0, 43, 67, 0, 0, 3, 67, 0, 0, 43, 67, 0, 0, 4, 67, 0, 0, 43, 67, 0, 0, 5, 67, 0, 0, 43, 67, 0, 0, 6, 67, 0, 0, 43, 67, 0, 0, 7, 67, 0, 0, 43, 67, 0, 0, 8, 67, 0, 0, 43, 67, 0, 0, 9, 67, 0, 0, 43, 67, 0, 0, 10, 67, 0, 0, 43, 67, 0, 0, 11, 67, 0, 0, 43, 67, 0, 0, 12, 67, 0, 0, 43, 67, 0, 0, 13, 67, 0, 0, 43, 67, 0, 0, 14, 67, 0, 0, 43, 67, 0, 0, 15, 67, 0, 0, 43, 67, 0, 0, 16, 67, 0, 0, 43, 67, 0, 0, 17, 67, 0, 0, 43, 67, 0, 0, 18, 67, 0, 0, 43, 67, 0, 0, 19, 67, 0, 0, 43, 67, 0, 0, 20, 67, 0, 0, 43, 67, 0, 0, 21, 67, 0, 0, 43, 67, 0, 0, 22, 67, 0, 0, 43, 67, 0, 0, 23, 67, 0, 0, 43, 67, 0, 0, 24, 67, 0, 0, 43, 67, 0, 0, 25, 67, 0, 0, 43, 67, 0, 0, 26, 67, 0, 0, 43, 67, 0, 0, 27, 67, 0, 0, 43, 67, 0, 0, 28, 67, 0, 0, 43, 67, 0, 0, 29, 67, 0, 0, 43, 67, 0, 0, 30, 67, 0, 0, 43, 67, 0, 0, 31, 67, 0, 0, 43, 67, 0, 0, 32, 67, 0, 0, 43, 67, 0, 0, 33, 67, 0, 0, 43, 67, 0, 0, 34, 67, 0, 0, 43, 67, 0, 0, 35, 67, 0, 0, 43, 67, 0, 0, 36, 67, 0, 0, 43, 67, 0, 0, 37, 67, 0, 0, 43, 67, 0, 0, 38, 67, 0, 0, 43, 67, 0, 0, 39, 67, 0, 0, 43, 67, 0, 0, 40, 67, 0, 0, 43, 67, 0, 0, 41, 67, 0, 0, 43, 67, 0, 0, 42, 67, 0, 0, 43, 67, 0, 0, 43, 67, 0, 0, 43, 67, 0, 0, 44, 67, 0, 0, 43, 67, 0, 0, 45, 67, 0, 0, 43, 67, 0, 0, 46, 67, 0, 0, 43, 67, 0, 0, 47, 67, 0, 0, 43, 67, 0, 0, 48, 67, 0, 0, 43, 67, 0, 0, 49, 67, 0, 0, 43, 67, 0, 0, 50, 67, 0, 0, 43, 67, 0, 0, 51, 67, 0, 0, 43, 67, 0, 0, 52, 67, 0, 0, 43, 67, 0, 0, 53, 67, 0, 0, 43, 67, 0, 0, 54, 67, 0, 0, 43, 67, 0, 0, 55, 67, 0, 0, 44, 67, 0, 0, 184, 66, 0, 0, 44, 67, 0, 0, 186, 66, 0, 0, 44, 67, 0, 0, 188, 66, 0, 0, 44, 67, 0, 0, 190, 66, 0, 0, 44, 67, 0, 0, 192, 66, 0, 0, 44, 67, 0, 0, 194, 66, 0, 0, 44, 67, 0, 0, 196, 66, 0, 0, 44, 67, 0, 0, 198, 66, 0, 0, 44, 67, 0, 0, 200, 66, 0, 0, 44, 67, 0, 0, 202, 66, 0, 0, 44, 67, 0, 0, 204, 66, 0, 0, 44, 67, 0, 0, 206, 66, 0, 0, 44, 67, 0, 0, 208, 66, 0, 0, 44, 67, 0, 0, 210, 66, 0, 0, 44, 67, 0, 0, 212, 66, 0, 0, 44, 67, 0, 0, 214, 66, 0, 0, 44, 67, 0, 0, 216, 66, 0, 0, 44, 67, 0, 0, 218, 66, 0, 0, 44, 67, 0, 0, 220, 66, 0, 0, 44, 67, 0, 0, 222, 66, 0, 0, 44, 67, 0, 0, 224, 66, 0, 0, 44, 67, 0, 0, 226, 66, 0, 0, 44, 67, 0, 0, 228, 66, 0, 0, 44, 67, 0, 0, 230, 66, 0, 0, 44, 67, 0, 0, 232, 66, 0, 0, 44, 67, 0, 0, 234, 66, 0, 0, 44, 67, 0, 0, 236, 66, 0, 0, 44, 67, 0, 0, 238, 66, 0, 0, 44, 67, 0, 0, 240, 66, 0, 0, 44, 67, 0, 0, 242, 66, 0, 0, 44, 67, 0, 0, 244, 66, 0, 0, 44, 67, 0, 0, 246, 66, 0, 0, 44, 67, 0, 0, 248, 66, 0, 0, 44, 67, 0, 0, 250, 66, 0, 0, 44, 67, 0, 0, 252, 66, 0, 0, 44, 67, 0, 0, 254, 66, 0, 0, 44, 67, 0, 0, 0, 67, 0, 0, 44, 67, 0, 0, 1, 67, 0, 0, 44, 67, 0, 0, 2, 67, 0, 0, 44, 67, 0, 0, 3, 67, 0, 0, 44, 67, 0, 0, 4, 67, 0, 0, 44, 67, 0, 0, 5, 67, 0, 0, 44, 67, 0, 0, 6, 67, 0, 0, 44, 67, 0, 0, 7, 67, 0, 0, 44, 67, 0, 0, 8, 67, 0, 0, 44, 67, 0, 0, 9, 67, 0, 0, 44, 67, 0, 0, 10, 67, 0, 0, 44, 67, 0, 0, 11, 67, 0, 0, 44, 67, 0, 0, 12, 67, 0, 0, 44, 67, 0, 0, 13, 67, 0, 0, 44, 67, 0, 0, 14, 67, 0, 0, 44, 67, 0, 0, 15, 67, 0, 0, 44, 67, 0, 0, 16, 67, 0, 0, 44, 67, 0, 0, 17, 67, 0, 0, 44, 67, 0, 0, 18, 67, 0, 0, 44, 67, 0, 0, 19, 67, 0, 0, 44, 67, 0, 0, 20, 67, 0, 0, 44, 67, 0, 0, 21, 67, 0, 0, 44, 67, 0, 0, 22, 67, 0, 0, 44, 67, 0, 0, 23, 67, 0, 0, 44, 67, 0, 0, 24, 67, 0, 0, 44, 67, 0, 0, 25, 67, 0, 0, 44, 67, 0, 0, 26, 67, 0, 0, 44, 67, 0, 0, 27, 67, 0, 0, 44, 67, 0, 0, 28, 67, 0, 0, 44, 67, 0, 0, 29, 67, 0, 0, 44, 67, 0, 0, 30, 67, 0, 0, 44, 67, 0, 0, 31, 67, 0, 0, 44, 67, 0, 0, 32, 67, 0, 0, 44, 67, 0, 0, 33, 67, 0, 0, 44, 67, 0, 0, 34, 67, 0, 0, 44, 67, 0, 0, 35, 67, 0, 0, 44, 67, 0, 0, 36, 67, 0, 0, 44, 67, 0, 0, 37, 67, 0, 0, 44, 67, 0, 0, 38, 67, 0, 0, 44, 67, 0, 0, 39, 67, 0, 0, 44, 67, 0, 0, 40, 67, 0, 0, 44, 67, 0, 0, 41, 67, 0, 0, 44, 67, 0, 0, 42, 67, 0, 0, 44, 67, 0, 0, 43, 67, 0, 0, 44, 67, 0, 0, 44, 67, 0, 0, 44, 67, 0, 0, 45, 67, 0, 0, 44, 67, 0, 0, 46, 67, 0, 0, 44, 67, 0, 0, 47, 67, 0, 0, 44, 67, 0, 0, 48, 67, 0, 0, 44, 67, 0, 0, 49, 67, 0, 0, 44, 67, 0, 0, 50, 67, 0, 0, 44, 67, 0, 0, 51, 67, 0, 0, 44, 67, 0, 0, 52, 67, 0, 0, 44, 67, 0, 0, 53, 67, 0, 0, 44, 67, 0, 0, 54, 67, 0, 0, 44, 67, 0, 0, 55, 67, 0, 0, 45, 67, 0, 0, 184, 66, 0, 0, 45, 67, 0, 0, 186, 66, 0, 0, 45, 67, 0, 0, 188, 66, 0, 0, 45, 67, 0, 0, 190, 66, 0, 0, 45, 67, 0, 0, 192, 66, 0, 0, 45, 67, 0, 0, 194, 66, 0, 0, 45, 67, 0, 0, 196, 66, 0, 0, 45, 67, 0, 0, 198, 66, 0, 0, 45, 67, 0, 0, 200, 66, 0, 0, 45, 67, 0, 0, 202, 66, 0, 0, 45, 67, 0, 0, 204, 66, 0, 0, 45, 67, 0, 0, 206, 66, 0, 0, 45, 67, 0, 0, 208, 66, 0, 0, 45, 67, 0, 0, 210, 66, 0, 0, 45, 67, 0, 0, 212, 66, 0, 0, 45, 67, 0, 0, 214, 66, 0, 0, 45, 67, 0, 0, 216, 66, 0, 0, 45, 67, 0, 0, 218, 66, 0, 0, 45, 67, 0, 0, 220, 66, 0, 0, 45, 67, 0, 0, 222, 66, 0, 0, 45, 67, 0, 0, 224, 66, 0, 0, 45, 67, 0, 0, 226, 66, 0, 0, 45, 67, 0, 0, 228, 66, 0, 0, 45, 67, 0, 0, 230, 66, 0, 0, 45, 67, 0, 0, 232, 66, 0, 0, 45, 67, 0, 0, 234, 66, 0, 0, 45, 67, 0, 0, 236, 66, 0, 0, 45, 67, 0, 0, 238, 66, 0, 0, 45, 67, 0, 0, 240, 66, 0, 0, 45, 67, 0, 0, 242, 66, 0, 0, 45, 67, 0, 0, 244, 66, 0, 0, 45, 67, 0, 0, 246, 66, 0, 0, 45, 67, 0, 0, 248, 66, 0, 0, 45, 67, 0, 0, 250, 66, 0, 0, 45, 67, 0, 0, 252, 66, 0, 0, 45, 67, 0, 0, 254, 66, 0, 0, 45, 67, 0, 0, 0, 67, 0, 0, 45, 67, 0, 0, 1, 67, 0, 0, 45, 67, 0, 0, 2, 67, 0, 0, 45, 67, 0, 0, 3, 67, 0, 0, 45, 67, 0, 0, 4, 67, 0, 0, 45, 67, 0, 0, 5, 67, 0, 0, 45, 67, 0, 0, 6, 67, 0, 0, 45, 67, 0, 0, 7, 67, 0, 0, 45, 67, 0, 0, 8, 67, 0, 0, 45, 67, 0, 0, 9, 67, 0, 0, 45, 67, 0, 0, 10, 67, 0, 0, 45, 67, 0, 0, 11, 67, 0, 0, 45, 67, 0, 0, 12, 67, 0, 0, 45, 67, 0, 0, 13, 67, 0, 0, 45, 67, 0, 0, 14, 67, 0, 0, 45, 67, 0, 0, 15, 67, 0, 0, 45, 67, 0, 0, 16, 67, 0, 0, 45, 67, 0, 0, 17, 67, 0, 0, 45, 67, 0, 0, 18, 67, 0, 0, 45, 67, 0, 0, 19, 67, 0, 0, 45, 67, 0, 0, 20, 67, 0, 0, 45, 67, 0, 0, 21, 67, 0, 0, 45, 67, 0, 0, 22, 67, 0, 0, 45, 67, 0, 0, 23, 67, 0, 0, 45, 67, 0, 0, 24, 67, 0, 0, 45, 67, 0, 0, 25, 67, 0, 0, 45, 67, 0, 0, 26, 67, 0, 0, 45, 67, 0, 0, 27, 67, 0, 0, 45, 67, 0, 0, 28, 67, 0, 0, 45, 67, 0, 0, 29, 67, 0, 0, 45, 67, 0, 0, 30, 67, 0, 0, 45, 67, 0, 0, 31, 67, 0, 0, 45, 67, 0, 0, 32, 67, 0, 0, 45, 67, 0, 0, 33, 67, 0, 0, 45, 67, 0, 0, 34, 67, 0, 0, 45, 67, 0, 0, 35, 67, 0, 0, 45, 67, 0, 0, 36, 67, 0, 0, 45, 67, 0, 0, 37, 67, 0, 0, 45, 67, 0, 0, 38, 67, 0, 0, 45, 67, 0, 0, 39, 67, 0, 0, 45, 67, 0, 0, 40, 67, 0, 0, 45, 67, 0, 0, 41, 67, 0, 0, 45, 67, 0, 0, 42, 67, 0, 0, 45, 67, 0, 0, 43, 67, 0, 0, 45, 67, 0, 0, 44, 67, 0, 0, 45, 67, 0, 0, 45, 67, 0, 0, 45, 67, 0, 0, 46, 67, 0, 0, 45, 67, 0, 0, 47, 67, 0, 0, 45, 67, 0, 0, 48, 67, 0, 0, 45, 67, 0, 0, 49, 67, 0, 0, 45, 67, 0, 0, 50, 67, 0, 0, 45, 67, 0, 0, 51, 67, 0, 0, 45, 67, 0, 0, 52, 67, 0, 0, 45, 67, 0, 0, 53, 67, 0, 0, 45, 67, 0, 0, 54, 67, 0, 0, 45, 67, 0, 0, 55, 67, 0, 0, 46, 67, 0, 0, 184, 66, 0, 0, 46, 67, 0, 0, 186, 66, 0, 0, 46, 67, 0, 0, 188, 66, 0, 0, 46, 67, 0, 0, 190, 66, 0, 0, 46, 67, 0, 0, 192, 66, 0, 0, 46, 67, 0, 0, 194, 66, 0, 0, 46, 67, 0, 0, 196, 66, 0, 0, 46, 67, 0, 0, 198, 66, 0, 0, 46, 67, 0, 0, 200, 66, 0, 0, 46, 67, 0, 0, 202, 66, 0, 0, 46, 67, 0, 0, 204, 66, 0, 0, 46, 67, 0, 0, 206, 66, 0, 0, 46, 67, 0, 0, 208, 66, 0, 0, 46, 67, 0, 0, 210, 66, 0, 0, 46, 67, 0, 0, 212, 66, 0, 0, 46, 67, 0, 0, 214, 66, 0, 0, 46, 67, 0, 0, 40, 67, 0, 0, 46, 67, 0, 0, 41, 67, 0, 0, 46, 67, 0, 0, 42, 67, 0, 0, 46, 67, 0, 0, 43, 67, 0, 0, 46, 67, 0, 0, 44, 67, 0, 0, 46, 67, 0, 0, 45, 67, 0, 0, 46, 67, 0, 0, 46, 67, 0, 0, 46, 67, 0, 0, 47, 67, 0, 0, 46, 67, 0, 0, 48, 67, 0, 0, 46, 67, 0, 0, 49, 67, 0, 0, 46, 67, 0, 0, 50, 67, 0, 0, 46, 67, 0, 0, 51, 67, 0, 0, 46, 67, 0, 0, 52, 67, 0, 0, 46, 67, 0, 0, 53, 67, 0, 0, 46, 67, 0, 0, 54, 67, 0, 0, 46, 67, 0, 0, 55, 67, 0, 0, 47, 67, 0, 0, 184, 66, 0, 0, 47, 67, 0, 0, 186, 66, 0, 0, 47, 67, 0, 0, 188, 66, 0, 0, 47, 67, 0, 0, 190, 66, 0, 0, 47, 67, 0, 0, 192, 66, 0, 0, 47, 67, 0, 0, 194, 66, 0, 0, 47, 67, 0, 0, 196, 66, 0, 0, 47, 67, 0, 0, 198, 66, 0, 0, 47, 67, 0, 0, 200, 66, 0, 0, 47, 67, 0, 0, 202, 66, 0, 0, 47, 67, 0, 0, 204, 66, 0, 0, 47, 67, 0, 0, 206, 66, 0, 0, 47, 67, 0, 0, 208, 66, 0, 0, 47, 67, 0, 0, 210, 66, 0, 0, 47, 67, 0, 0, 42, 67, 0, 0, 47, 67, 0, 0, 43, 67, 0, 0, 47, 67, 0, 0, 44, 67, 0, 0, 47, 67, 0, 0, 45, 67, 0, 0, 47, 67, 0, 0, 46, 67, 0, 0, 47, 67, 0, 0, 47, 67, 0, 0, 47, 67, 0, 0, 48, 67, 0, 0, 47, 67, 0, 0, 49, 67, 0, 0, 47, 67, 0, 0, 50, 67, 0, 0, 47, 67, 0, 0, 51, 67, 0, 0, 47, 67, 0, 0, 52, 67, 0, 0, 47, 67, 0, 0, 53, 67, 0, 0, 47, 67, 0, 0, 54, 67, 0, 0, 47, 67, 0, 0, 55, 67, 0, 0, 48, 67, 0, 0, 184, 66, 0, 0, 48, 67, 0, 0, 186, 66, 0, 0, 48, 67, 0, 0, 188, 66, 0, 0, 48, 67, 0, 0, 190, 66, 0, 0, 48, 67, 0, 0, 192, 66, 0, 0, 48, 67, 0, 0, 194, 66, 0, 0, 48, 67, 0, 0, 196, 66, 0, 0, 48, 67, 0, 0, 198, 66, 0, 0, 48, 67, 0, 0, 200, 66, 0, 0, 48, 67, 0, 0, 202, 66, 0, 0, 48, 67, 0, 0, 204, 66, 0, 0, 48, 67, 0, 0, 206, 66, 0, 0, 48, 67, 0, 0, 208, 66, 0, 0, 48, 67, 0, 0, 43, 67, 0, 0, 48, 67, 0, 0, 44, 67, 0, 0, 48, 67, 0, 0, 45, 67, 0, 0, 48, 67, 0, 0, 46, 67, 0, 0, 48, 67, 0, 0, 47, 67, 0, 0, 48, 67, 0, 0, 48, 67, 0, 0, 48, 67, 0, 0, 49, 67, 0, 0, 48, 67, 0, 0, 50, 67, 0, 0, 48, 67, 0, 0, 51, 67, 0, 0, 48, 67, 0, 0, 52, 67, 0, 0, 48, 67, 0, 0, 53, 67, 0, 0, 48, 67, 0, 0, 54, 67, 0, 0, 48, 67, 0, 0, 55, 67, 0, 0, 49, 67, 0, 0, 184, 66, 0, 0, 49, 67, 0, 0, 186, 66, 0, 0, 49, 67, 0, 0, 188, 66, 0, 0, 49, 67, 0, 0, 190, 66, 0, 0, 49, 67, 0, 0, 192, 66, 0, 0, 49, 67, 0, 0, 194, 66, 0, 0, 49, 67, 0, 0, 196, 66, 0, 0, 49, 67, 0, 0, 198, 66, 0, 0, 49, 67, 0, 0, 200, 66, 0, 0, 49, 67, 0, 0, 202, 66, 0, 0, 49, 67, 0, 0, 204, 66, 0, 0, 49, 67, 0, 0, 206, 66, 0, 0, 49, 67, 0, 0, 44, 67, 0, 0, 49, 67, 0, 0, 45, 67, 0, 0, 49, 67, 0, 0, 46, 67, 0, 0, 49, 67, 0, 0, 47, 67, 0, 0, 49, 67, 0, 0, 48, 67, 0, 0, 49, 67, 0, 0, 49, 67, 0, 0, 49, 67, 0, 0, 50, 67, 0, 0, 49, 67, 0, 0, 51, 67, 0, 0, 49, 67, 0, 0, 52, 67, 0, 0, 49, 67, 0, 0, 53, 67, 0, 0, 49, 67, 0, 0, 54, 67, 0, 0, 49, 67, 0, 0, 55, 67, 0, 0, 50, 67, 0, 0, 184, 66, 0, 0, 50, 67, 0, 0, 186, 66, 0, 0, 50, 67, 0, 0, 188, 66, 0, 0, 50, 67, 0, 0, 190, 66, 0, 0, 50, 67, 0, 0, 192, 66, 0, 0, 50, 67, 0, 0, 194, 66, 0, 0, 50, 67, 0, 0, 196, 66, 0, 0, 50, 67, 0, 0, 198, 66, 0, 0, 50, 67, 0, 0, 200, 66, 0, 0, 50, 67, 0, 0, 202, 66, 0, 0, 50, 67, 0, 0, 204, 66, 0, 0, 50, 67, 0, 0, 206, 66, 0, 0, 50, 67, 0, 0, 44, 67, 0, 0, 50, 67, 0, 0, 45, 67, 0, 0, 50, 67, 0, 0, 46, 67, 0, 0, 50, 67, 0, 0, 47, 67, 0, 0, 50, 67, 0, 0, 48, 67, 0, 0, 50, 67, 0, 0, 49, 67, 0, 0, 50, 67, 0, 0, 50, 67, 0, 0, 50, 67, 0, 0, 51, 67, 0, 0, 50, 67, 0, 0, 52, 67, 0, 0, 50, 67, 0, 0, 53, 67, 0, 0, 50, 67, 0, 0, 54, 67, 0, 0, 50, 67, 0, 0, 55, 67, 0, 0, 51, 67, 0, 0, 184, 66, 0, 0, 51, 67, 0, 0, 186, 66, 0, 0, 51, 67, 0, 0, 188, 66, 0, 0, 51, 67, 0, 0, 190, 66, 0, 0, 51, 67, 0, 0, 192, 66, 0, 0, 51, 67, 0, 0, 194, 66, 0, 0, 51, 67, 0, 0, 196, 66, 0, 0, 51, 67, 0, 0, 198, 66, 0, 0, 51, 67, 0, 0, 200, 66, 0, 0, 51, 67, 0, 0, 202, 66, 0, 0, 51, 67, 0, 0, 204, 66, 0, 0, 51, 67, 0, 0, 206, 66, 0, 0, 51, 67, 0, 0, 44, 67, 0, 0, 51, 67, 0, 0, 45, 67, 0, 0, 51, 67, 0, 0, 46, 67, 0, 0, 51, 67, 0, 0, 47, 67, 0, 0, 51, 67, 0, 0, 48, 67, 0, 0, 51, 67, 0, 0, 49, 67, 0, 0, 51, 67, 0, 0, 50, 67, 0, 0, 51, 67, 0, 0, 51, 67, 0, 0, 51, 67, 0, 0, 52, 67, 0, 0, 51, 67, 0, 0, 53, 67, 0, 0, 51, 67, 0, 0, 54, 67, 0, 0, 51, 67, 0, 0, 55, 67, 0, 0, 52, 67, 0, 0, 184, 66, 0, 0, 52, 67, 0, 0, 186, 66, 0, 0, 52, 67, 0, 0, 188, 66, 0, 0, 52, 67, 0, 0, 190, 66, 0, 0, 52, 67, 0, 0, 192, 66, 0, 0, 52, 67, 0, 0, 194, 66, 0, 0, 52, 67, 0, 0, 196, 66, 0, 0, 52, 67, 0, 0, 198, 66, 0, 0, 52, 67, 0, 0, 200, 66, 0, 0, 52, 67, 0, 0, 202, 66, 0, 0, 52, 67, 0, 0, 204, 66, 0, 0, 52, 67, 0, 0, 206, 66, 0, 0, 52, 67, 0, 0, 44, 67, 0, 0, 52, 67, 0, 0, 45, 67, 0, 0, 52, 67, 0, 0, 46, 67, 0, 0, 52, 67, 0, 0, 47, 67, 0, 0, 52, 67, 0, 0, 48, 67, 0, 0, 52, 67, 0, 0, 49, 67, 0, 0, 52, 67, 0, 0, 50, 67, 0, 0, 52, 67, 0, 0, 51, 67, 0, 0, 52, 67, 0, 0, 52, 67, 0, 0, 52, 67, 0, 0, 53, 67, 0, 0, 52, 67, 0, 0, 54, 67, 0, 0, 52, 67, 0, 0, 55, 67, 0, 0, 53, 67, 0, 0, 184, 66, 0, 0, 53, 67, 0, 0, 186, 66, 0, 0, 53, 67, 0, 0, 188, 66, 0, 0, 53, 67, 0, 0, 190, 66, 0, 0, 53, 67, 0, 0, 192, 66, 0, 0, 53, 67, 0, 0, 194, 66, 0, 0, 53, 67, 0, 0, 196, 66, 0, 0, 53, 67, 0, 0, 198, 66, 0, 0, 53, 67, 0, 0, 200, 66, 0, 0, 53, 67, 0, 0, 202, 66, 0, 0, 53, 67, 0, 0, 204, 66, 0, 0, 53, 67, 0, 0, 206, 66, 0, 0, 53, 67, 0, 0, 45, 67, 0, 0, 53, 67, 0, 0, 46, 67, 0, 0, 53, 67, 0, 0, 47, 67, 0, 0, 53, 67, 0, 0, 48, 67, 0, 0, 53, 67, 0, 0, 49, 67, 0, 0, 53, 67, 0, 0, 50, 67, 0, 0, 53, 67, 0, 0, 51, 67, 0, 0, 53, 67, 0, 0, 52, 67, 0, 0, 53, 67, 0, 0, 53, 67, 0, 0, 53, 67, 0, 0, 54, 67, 0, 0, 53, 67, 0, 0, 55, 67, 0, 0, 54, 67, 0, 0, 184, 66, 0, 0, 54, 67, 0, 0, 186, 66, 0, 0, 54, 67, 0, 0, 188, 66, 0, 0, 54, 67, 0, 0, 190, 66, 0, 0, 54, 67, 0, 0, 192, 66, 0, 0, 54, 67, 0, 0, 194, 66, 0, 0, 54, 67, 0, 0, 196, 66, 0, 0, 54, 67, 0, 0, 198, 66, 0, 0, 54, 67, 0, 0, 200, 66, 0, 0, 54, 67, 0, 0, 202, 66, 0, 0, 54, 67, 0, 0, 204, 66, 0, 0, 54, 67, 0, 0, 45, 67, 0, 0, 54, 67, 0, 0, 46, 67, 0, 0, 54, 67, 0, 0, 47, 67, 0, 0, 54, 67, 0, 0, 48, 67, 0, 0, 54, 67, 0, 0, 49, 67, 0, 0, 54, 67, 0, 0, 50, 67, 0, 0, 54, 67, 0, 0, 51, 67, 0, 0, 54, 67, 0, 0, 52, 67, 0, 0, 54, 67, 0, 0, 53, 67, 0, 0, 54, 67, 0, 0, 54, 67, 0, 0, 54, 67, 0, 0, 55, 67, 0, 0, 55, 67, 0, 0, 184, 66, 0, 0, 55, 67, 0, 0, 186, 66, 0, 0, 55, 67, 0, 0, 188, 66, 0, 0, 55, 67, 0, 0, 190, 66, 0, 0, 55, 67, 0, 0, 192, 66, 0, 0, 55, 67, 0, 0, 194, 66, 0, 0, 55, 67, 0, 0, 196, 66, 0, 0, 55, 67, 0, 0, 198, 66, 0, 0, 55, 67, 0, 0, 200, 66, 0, 0, 55, 67, 0, 0, 202, 66, 0, 0, 55, 67, 0, 0, 204, 66, 0, 0, 55, 67, 0, 0, 45, 67, 0, 0, 55, 67, 0, 0, 46, 67, 0, 0, 55, 67, 0, 0, 47, 67, 0, 0, 55, 67, 0, 0, 48, 67, 0, 0, 55, 67, 0, 0, 49, 67, 0, 0, 55, 67, 0, 0, 50, 67, 0, 0, 55, 67, 0, 0, 51, 67, 0, 0, 55, 67, 0, 0, 52, 67, 0, 0, 55, 67, 0, 0, 53, 67, 0, 0, 55, 67, 0, 0, 54, 67, 0, 0, 55, 67, 0, 0, 55, 67, 0, 0, 56, 67, 0, 0, 184, 66, 0, 0, 56, 67, 0, 0, 186, 66, 0, 0, 56, 67, 0, 0, 188, 66, 0, 0, 56, 67, 0, 0, 190, 66, 0, 0, 56, 67, 0, 0, 192, 66, 0, 0, 56, 67, 0, 0, 194, 66, 0, 0, 56, 67, 0, 0, 196, 66, 0, 0, 56, 67, 0, 0, 198, 66, 0, 0, 56, 67, 0, 0, 200, 66, 0, 0, 56, 67, 0, 0, 202, 66, 0, 0, 56, 67, 0, 0, 204, 66, 0, 0, 56, 67, 0, 0, 45, 67, 0, 0, 56, 67, 0, 0, 46, 67, 0, 0, 56, 67, 0, 0, 47, 67, 0, 0, 56, 67, 0, 0, 48, 67, 0, 0, 56, 67, 0, 0, 49, 67, 0, 0, 56, 67, 0, 0, 50, 67, 0, 0, 56, 67, 0, 0, 51, 67, 0, 0, 56, 67, 0, 0, 52, 67, 0, 0, 56, 67, 0, 0, 53, 67, 0, 0, 56, 67, 0, 0, 54, 67, 0, 0, 56, 67, 0, 0, 55, 67, 0, 0, 57, 67, 0, 0, 184, 66, 0, 0, 57, 67, 0, 0, 186, 66, 0, 0, 57, 67, 0, 0, 188, 66, 0, 0, 57, 67, 0, 0, 190, 66, 0, 0, 57, 67, 0, 0, 192, 66, 0, 0, 57, 67, 0, 0, 194, 66, 0, 0, 57, 67, 0, 0, 196, 66, 0, 0, 57, 67, 0, 0, 198, 66, 0, 0, 57, 67, 0, 0, 200, 66, 0, 0, 57, 67, 0, 0, 202, 66, 0, 0, 57, 67, 0, 0, 46, 67, 0, 0, 57, 67, 0, 0, 47, 67, 0, 0, 57, 67, 0, 0, 48, 67, 0, 0, 57, 67, 0, 0, 49, 67, 0, 0, 57, 67, 0, 0, 50, 67, 0, 0, 57, 67, 0, 0, 51, 67, 0, 0, 57, 67, 0, 0, 52, 67, 0, 0, 57, 67, 0, 0, 53, 67, 0, 0, 57, 67, 0, 0, 54, 67, 0, 0, 57, 67, 0, 0, 55, 67, 0, 0, 72, 67, 0, 0, 198, 66, 0, 0, 72, 67, 0, 0, 200, 66, 0, 0, 72, 67, 0, 0, 202, 66, 0, 0, 72, 67, 0, 0, 204, 66, 0, 0, 72, 67, 0, 0, 206, 66, 0, 0, 72, 67, 0, 0, 208, 66, 0, 0, 72, 67, 0, 0, 210, 66, 0, 0, 72, 67, 0, 0, 212, 66, 0, 0, 72, 67, 0, 0, 214, 66, 0, 0, 72, 67, 0, 0, 216, 66, 0, 0, 72, 67, 0, 0, 218, 66, 0, 0, 72, 67, 0, 0, 220, 66, 0, 0, 72, 67, 0, 0, 222, 66, 0, 0, 72, 67, 0, 0, 42, 67, 0, 0, 72, 67, 0, 0, 43, 67, 0, 0, 72, 67, 0, 0, 44, 67, 0, 0, 72, 67, 0, 0, 45, 67, 0, 0, 72, 67, 0, 0, 46, 67, 0, 0, 72, 67, 0, 0, 47, 67, 0, 0, 72, 67, 0, 0, 48, 67, 0, 0, 72, 67, 0, 0, 49, 67, 0, 0, 73, 67, 0, 0, 196, 66, 0, 0, 73, 67, 0, 0, 198, 66, 0, 0, 73, 67, 0, 0, 200, 66, 0, 0, 73, 67, 0, 0, 202, 66, 0, 0, 73, 67, 0, 0, 204, 66, 0, 0, 73, 67, 0, 0, 206, 66, 0, 0, 73, 67, 0, 0, 208, 66, 0, 0, 73, 67, 0, 0, 210, 66, 0, 0, 73, 67, 0, 0, 212, 66, 0, 0, 73, 67, 0, 0, 214, 66, 0, 0, 73, 67, 0, 0, 216, 66, 0, 0, 73, 67, 0, 0, 218, 66, 0, 0, 73, 67, 0, 0, 220, 66, 0, 0, 73, 67, 0, 0, 222, 66, 0, 0, 73, 67, 0, 0, 224, 66, 0, 0, 73, 67, 0, 0, 226, 66, 0, 0, 73, 67, 0, 0, 228, 66, 0, 0, 73, 67, 0, 0, 230, 66, 0, 0, 73, 67, 0, 0, 41, 67, 0, 0, 73, 67, 0, 0, 42, 67, 0, 0, 73, 67, 0, 0, 43, 67, 0, 0, 73, 67, 0, 0, 44, 67, 0, 0, 73, 67, 0, 0, 45, 67, 0, 0, 73, 67, 0, 0, 46, 67, 0, 0, 73, 67, 0, 0, 47, 67, 0, 0, 73, 67, 0, 0, 48, 67, 0, 0, 73, 67, 0, 0, 49, 67, 0, 0, 73, 67, 0, 0, 50, 67, 0, 0, 74, 67, 0, 0, 190, 66, 0, 0, 74, 67, 0, 0, 192, 66, 0, 0, 74, 67, 0, 0, 194, 66, 0, 0, 74, 67, 0, 0, 196, 66, 0, 0, 74, 67, 0, 0, 198, 66, 0, 0, 74, 67, 0, 0, 200, 66, 0, 0, 74, 67, 0, 0, 202, 66, 0, 0, 74, 67, 0, 0, 204, 66, 0, 0, 74, 67, 0, 0, 206, 66, 0, 0, 74, 67, 0, 0, 208, 66, 0, 0, 74, 67, 0, 0, 210, 66, 0, 0, 74, 67, 0, 0, 212, 66, 0, 0, 74, 67, 0, 0, 214, 66, 0, 0, 74, 67, 0, 0, 216, 66, 0, 0, 74, 67, 0, 0, 218, 66, 0, 0, 74, 67, 0, 0, 220, 66, 0, 0, 74, 67, 0, 0, 222, 66, 0, 0, 74, 67, 0, 0, 224, 66, 0, 0, 74, 67, 0, 0, 226, 66, 0, 0, 74, 67, 0, 0, 228, 66, 0, 0, 74, 67, 0, 0, 230, 66, 0, 0, 74, 67, 0, 0, 232, 66, 0, 0, 74, 67, 0, 0, 234, 66, 0, 0, 74, 67, 0, 0, 236, 66, 0, 0, 74, 67, 0, 0, 238, 66, 0, 0, 74, 67, 0, 0, 240, 66, 0, 0, 74, 67, 0, 0, 242, 66, 0, 0, 74, 67, 0, 0, 244, 66, 0, 0, 74, 67, 0, 0, 246, 66, 0, 0, 74, 67, 0, 0, 39, 67, 0, 0, 74, 67, 0, 0, 40, 67, 0, 0, 74, 67, 0, 0, 41, 67, 0, 0, 74, 67, 0, 0, 42, 67, 0, 0, 74, 67, 0, 0, 43, 67, 0, 0, 74, 67, 0, 0, 44, 67, 0, 0, 74, 67, 0, 0, 45, 67, 0, 0, 74, 67, 0, 0, 46, 67, 0, 0, 74, 67, 0, 0, 47, 67, 0, 0, 74, 67, 0, 0, 48, 67, 0, 0, 74, 67, 0, 0, 49, 67, 0, 0, 74, 67, 0, 0, 50, 67, 0, 0, 74, 67, 0, 0, 51, 67, 0, 0, 74, 67, 0, 0, 52, 67, 0, 0, 75, 67, 0, 0, 188, 66, 0, 0, 75, 67, 0, 0, 190, 66, 0, 0, 75, 67, 0, 0, 192, 66, 0, 0, 75, 67, 0, 0, 194, 66, 0, 0, 75, 67, 0, 0, 196, 66, 0, 0, 75, 67, 0, 0, 198, 66, 0, 0, 75, 67, 0, 0, 200, 66, 0, 0, 75, 67, 0, 0, 202, 66, 0, 0, 75, 67, 0, 0, 204, 66, 0, 0, 75, 67, 0, 0, 206, 66, 0, 0, 75, 67, 0, 0, 208, 66, 0, 0, 75, 67, 0, 0, 210, 66, 0, 0, 75, 67, 0, 0, 212, 66, 0, 0, 75, 67, 0, 0, 214, 66, 0, 0, 75, 67, 0, 0, 216, 66, 0, 0, 75, 67, 0, 0, 218, 66, 0, 0, 75, 67, 0, 0, 220, 66, 0, 0, 75, 67, 0, 0, 222, 66, 0, 0, 75, 67, 0, 0, 224, 66, 0, 0, 75, 67, 0, 0, 226, 66, 0, 0, 75, 67, 0, 0, 228, 66, 0, 0, 75, 67, 0, 0, 230, 66, 0, 0, 75, 67, 0, 0, 232, 66, 0, 0, 75, 67, 0, 0, 234, 66, 0, 0, 75, 67, 0, 0, 236, 66, 0, 0, 75, 67, 0, 0, 238, 66, 0, 0, 75, 67, 0, 0, 240, 66, 0, 0, 75, 67, 0, 0, 242, 66, 0, 0, 75, 67, 0, 0, 244, 66, 0, 0, 75, 67, 0, 0, 246, 66, 0, 0, 75, 67, 0, 0, 248, 66, 0, 0, 75, 67, 0, 0, 250, 66, 0, 0, 75, 67, 0, 0, 252, 66, 0, 0, 75, 67, 0, 0, 254, 66, 0, 0, 75, 67, 0, 0, 38, 67, 0, 0, 75, 67, 0, 0, 39, 67, 0, 0, 75, 67, 0, 0, 40, 67, 0, 0, 75, 67, 0, 0, 41, 67, 0, 0, 75, 67, 0, 0, 42, 67, 0, 0, 75, 67, 0, 0, 43, 67, 0, 0, 75, 67, 0, 0, 44, 67, 0, 0, 75, 67, 0, 0, 45, 67, 0, 0, 75, 67, 0, 0, 46, 67, 0, 0, 75, 67, 0, 0, 47, 67, 0, 0, 75, 67, 0, 0, 48, 67, 0, 0, 75, 67, 0, 0, 49, 67, 0, 0, 75, 67, 0, 0, 50, 67, 0, 0, 75, 67, 0, 0, 51, 67, 0, 0, 75, 67, 0, 0, 52, 67, 0, 0, 75, 67, 0, 0, 53, 67, 0, 0, 76, 67, 0, 0, 186, 66, 0, 0, 76, 67, 0, 0, 188, 66, 0, 0, 76, 67, 0, 0, 190, 66, 0, 0, 76, 67, 0, 0, 192, 66, 0, 0, 76, 67, 0, 0, 194, 66, 0, 0, 76, 67, 0, 0, 196, 66, 0, 0, 76, 67, 0, 0, 198, 66, 0, 0, 76, 67, 0, 0, 200, 66, 0, 0, 76, 67, 0, 0, 202, 66, 0, 0, 76, 67, 0, 0, 204, 66, 0, 0, 76, 67, 0, 0, 206, 66, 0, 0, 76, 67, 0, 0, 208, 66, 0, 0, 76, 67, 0, 0, 210, 66, 0, 0, 76, 67, 0, 0, 212, 66, 0, 0, 76, 67, 0, 0, 214, 66, 0, 0, 76, 67, 0, 0, 216, 66, 0, 0, 76, 67, 0, 0, 218, 66, 0, 0, 76, 67, 0, 0, 220, 66, 0, 0, 76, 67, 0, 0, 222, 66, 0, 0, 76, 67, 0, 0, 224, 66, 0, 0, 76, 67, 0, 0, 226, 66, 0, 0, 76, 67, 0, 0, 228, 66, 0, 0, 76, 67, 0, 0, 230, 66, 0, 0, 76, 67, 0, 0, 232, 66, 0, 0, 76, 67, 0, 0, 234, 66, 0, 0, 76, 67, 0, 0, 236, 66, 0, 0, 76, 67, 0, 0, 238, 66, 0, 0, 76, 67, 0, 0, 240, 66, 0, 0, 76, 67, 0, 0, 242, 66, 0, 0, 76, 67, 0, 0, 244, 66, 0, 0, 76, 67, 0, 0, 246, 66, 0, 0, 76, 67, 0, 0, 248, 66, 0, 0, 76, 67, 0, 0, 250, 66, 0, 0, 76, 67, 0, 0, 252, 66, 0, 0, 76, 67, 0, 0, 254, 66, 0, 0, 76, 67, 0, 0, 0, 67, 0, 0, 76, 67, 0, 0, 1, 67, 0, 0, 76, 67, 0, 0, 2, 67, 0, 0, 76, 67, 0, 0, 3, 67, 0, 0, 76, 67, 0, 0, 4, 67, 0, 0, 76, 67, 0, 0, 5, 67, 0, 0, 76, 67, 0, 0, 6, 67, 0, 0, 76, 67, 0, 0, 7, 67, 0, 0, 76, 67, 0, 0, 8, 67, 0, 0, 76, 67, 0, 0, 37, 67, 0, 0, 76, 67, 0, 0, 38, 67, 0, 0, 76, 67, 0, 0, 39, 67, 0, 0, 76, 67, 0, 0, 40, 67, 0, 0, 76, 67, 0, 0, 41, 67, 0, 0, 76, 67, 0, 0, 42, 67, 0, 0, 76, 67, 0, 0, 43, 67, 0, 0, 76, 67, 0, 0, 44, 67, 0, 0, 76, 67, 0, 0, 45, 67, 0, 0, 76, 67, 0, 0, 46, 67, 0, 0, 76, 67, 0, 0, 47, 67, 0, 0, 76, 67, 0, 0, 48, 67, 0, 0, 76, 67, 0, 0, 49, 67, 0, 0, 76, 67, 0, 0, 50, 67, 0, 0, 76, 67, 0, 0, 51, 67, 0, 0, 76, 67, 0, 0, 52, 67, 0, 0, 76, 67, 0, 0, 53, 67, 0, 0, 76, 67, 0, 0, 54, 67, 0, 0, 77, 67, 0, 0, 184, 66, 0, 0, 77, 67, 0, 0, 186, 66, 0, 0, 77, 67, 0, 0, 188, 66, 0, 0, 77, 67, 0, 0, 190, 66, 0, 0, 77, 67, 0, 0, 192, 66, 0, 0, 77, 67, 0, 0, 194, 66, 0, 0, 77, 67, 0, 0, 196, 66, 0, 0, 77, 67, 0, 0, 198, 66, 0, 0, 77, 67, 0, 0, 200, 66, 0, 0, 77, 67, 0, 0, 202, 66, 0, 0, 77, 67, 0, 0, 204, 66, 0, 0, 77, 67, 0, 0, 206, 66, 0, 0, 77, 67, 0, 0, 208, 66, 0, 0, 77, 67, 0, 0, 210, 66, 0, 0, 77, 67, 0, 0, 212, 66, 0, 0, 77, 67, 0, 0, 214, 66, 0, 0, 77, 67, 0, 0, 216, 66, 0, 0, 77, 67, 0, 0, 218, 66, 0, 0, 77, 67, 0, 0, 220, 66, 0, 0, 77, 67, 0, 0, 222, 66, 0, 0, 77, 67, 0, 0, 224, 66, 0, 0, 77, 67, 0, 0, 226, 66, 0, 0, 77, 67, 0, 0, 228, 66, 0, 0, 77, 67, 0, 0, 230, 66, 0, 0, 77, 67, 0, 0, 232, 66, 0, 0, 77, 67, 0, 0, 234, 66, 0, 0, 77, 67, 0, 0, 236, 66, 0, 0, 77, 67, 0, 0, 238, 66, 0, 0, 77, 67, 0, 0, 240, 66, 0, 0, 77, 67, 0, 0, 242, 66, 0, 0, 77, 67, 0, 0, 244, 66, 0, 0, 77, 67, 0, 0, 246, 66, 0, 0, 77, 67, 0, 0, 248, 66, 0, 0, 77, 67, 0, 0, 250, 66, 0, 0, 77, 67, 0, 0, 252, 66, 0, 0, 77, 67, 0, 0, 254, 66, 0, 0, 77, 67, 0, 0, 0, 67, 0, 0, 77, 67, 0, 0, 1, 67, 0, 0, 77, 67, 0, 0, 2, 67, 0, 0, 77, 67, 0, 0, 3, 67, 0, 0, 77, 67, 0, 0, 4, 67, 0, 0, 77, 67, 0, 0, 5, 67, 0, 0, 77, 67, 0, 0, 6, 67, 0, 0, 77, 67, 0, 0, 7, 67, 0, 0, 77, 67, 0, 0, 8, 67, 0, 0, 77, 67, 0, 0, 9, 67, 0, 0, 77, 67, 0, 0, 10, 67, 0, 0, 77, 67, 0, 0, 11, 67, 0, 0, 77, 67, 0, 0, 12, 67, 0, 0, 77, 67, 0, 0, 36, 67, 0, 0, 77, 67, 0, 0, 37, 67, 0, 0, 77, 67, 0, 0, 38, 67, 0, 0, 77, 67, 0, 0, 39, 67, 0, 0, 77, 67, 0, 0, 40, 67, 0, 0, 77, 67, 0, 0, 41, 67, 0, 0, 77, 67, 0, 0, 42, 67, 0, 0, 77, 67, 0, 0, 43, 67, 0, 0, 77, 67, 0, 0, 44, 67, 0, 0, 77, 67, 0, 0, 45, 67, 0, 0, 77, 67, 0, 0, 46, 67, 0, 0, 77, 67, 0, 0, 47, 67, 0, 0, 77, 67, 0, 0, 48, 67, 0, 0, 77, 67, 0, 0, 49, 67, 0, 0, 77, 67, 0, 0, 50, 67, 0, 0, 77, 67, 0, 0, 51, 67, 0, 0, 77, 67, 0, 0, 52, 67, 0, 0, 77, 67, 0, 0, 53, 67, 0, 0, 77, 67, 0, 0, 54, 67, 0, 0, 77, 67, 0, 0, 55, 67, 0, 0, 78, 67, 0, 0, 184, 66, 0, 0, 78, 67, 0, 0, 186, 66, 0, 0, 78, 67, 0, 0, 188, 66, 0, 0, 78, 67, 0, 0, 190, 66, 0, 0, 78, 67, 0, 0, 192, 66, 0, 0, 78, 67, 0, 0, 194, 66, 0, 0, 78, 67, 0, 0, 196, 66, 0, 0, 78, 67, 0, 0, 198, 66, 0, 0, 78, 67, 0, 0, 200, 66, 0, 0, 78, 67, 0, 0, 202, 66, 0, 0, 78, 67, 0, 0, 204, 66, 0, 0, 78, 67, 0, 0, 206, 66, 0, 0, 78, 67, 0, 0, 208, 66, 0, 0, 78, 67, 0, 0, 210, 66, 0, 0, 78, 67, 0, 0, 212, 66, 0, 0, 78, 67, 0, 0, 214, 66, 0, 0, 78, 67, 0, 0, 216, 66, 0, 0, 78, 67, 0, 0, 218, 66, 0, 0, 78, 67, 0, 0, 220, 66, 0, 0, 78, 67, 0, 0, 222, 66, 0, 0, 78, 67, 0, 0, 224, 66, 0, 0, 78, 67, 0, 0, 226, 66, 0, 0, 78, 67, 0, 0, 228, 66, 0, 0, 78, 67, 0, 0, 230, 66, 0, 0, 78, 67, 0, 0, 232, 66, 0, 0, 78, 67, 0, 0, 234, 66, 0, 0, 78, 67, 0, 0, 236, 66, 0, 0, 78, 67, 0, 0, 238, 66, 0, 0, 78, 67, 0, 0, 240, 66, 0, 0, 78, 67, 0, 0, 242, 66, 0, 0, 78, 67, 0, 0, 244, 66, 0, 0, 78, 67, 0, 0, 246, 66, 0, 0, 78, 67, 0, 0, 248, 66, 0, 0, 78, 67, 0, 0, 250, 66, 0, 0, 78, 67, 0, 0, 252, 66, 0, 0, 78, 67, 0, 0, 254, 66, 0, 0, 78, 67, 0, 0, 0, 67, 0, 0, 78, 67, 0, 0, 1, 67, 0, 0, 78, 67, 0, 0, 2, 67, 0, 0, 78, 67, 0, 0, 3, 67, 0, 0, 78, 67, 0, 0, 4, 67, 0, 0, 78, 67, 0, 0, 5, 67, 0, 0, 78, 67, 0, 0, 6, 67, 0, 0, 78, 67, 0, 0, 7, 67, 0, 0, 78, 67, 0, 0, 8, 67, 0, 0, 78, 67, 0, 0, 9, 67, 0, 0, 78, 67, 0, 0, 10, 67, 0, 0, 78, 67, 0, 0, 11, 67, 0, 0, 78, 67, 0, 0, 12, 67, 0, 0, 78, 67, 0, 0, 13, 67, 0, 0, 78, 67, 0, 0, 14, 67, 0, 0, 78, 67, 0, 0, 15, 67, 0, 0, 78, 67, 0, 0, 16, 67, 0, 0, 78, 67, 0, 0, 17, 67, 0, 0, 78, 67, 0, 0, 18, 67, 0, 0, 78, 67, 0, 0, 19, 67, 0, 0, 78, 67, 0, 0, 20, 67, 0, 0, 78, 67, 0, 0, 21, 67, 0, 0, 78, 67, 0, 0, 22, 67, 0, 0, 78, 67, 0, 0, 23, 67, 0, 0, 78, 67, 0, 0, 24, 67, 0, 0, 78, 67, 0, 0, 25, 67, 0, 0, 78, 67, 0, 0, 26, 67, 0, 0, 78, 67, 0, 0, 36, 67, 0, 0, 78, 67, 0, 0, 37, 67, 0, 0, 78, 67, 0, 0, 38, 67, 0, 0, 78, 67, 0, 0, 39, 67, 0, 0, 78, 67, 0, 0, 40, 67, 0, 0, 78, 67, 0, 0, 41, 67, 0, 0, 78, 67, 0, 0, 42, 67, 0, 0, 78, 67, 0, 0, 43, 67, 0, 0, 78, 67, 0, 0, 44, 67, 0, 0, 78, 67, 0, 0, 45, 67, 0, 0, 78, 67, 0, 0, 46, 67, 0, 0, 78, 67, 0, 0, 47, 67, 0, 0, 78, 67, 0, 0, 48, 67, 0, 0, 78, 67, 0, 0, 49, 67, 0, 0, 78, 67, 0, 0, 50, 67, 0, 0, 78, 67, 0, 0, 51, 67, 0, 0, 78, 67, 0, 0, 52, 67, 0, 0, 78, 67, 0, 0, 53, 67, 0, 0, 78, 67, 0, 0, 54, 67, 0, 0, 78, 67, 0, 0, 55, 67, 0, 0, 79, 67, 0, 0, 182, 66, 0, 0, 79, 67, 0, 0, 184, 66, 0, 0, 79, 67, 0, 0, 186, 66, 0, 0, 79, 67, 0, 0, 188, 66, 0, 0, 79, 67, 0, 0, 190, 66, 0, 0, 79, 67, 0, 0, 192, 66, 0, 0, 79, 67, 0, 0, 194, 66, 0, 0, 79, 67, 0, 0, 196, 66, 0, 0, 79, 67, 0, 0, 198, 66, 0, 0, 79, 67, 0, 0, 200, 66, 0, 0, 79, 67, 0, 0, 202, 66, 0, 0, 79, 67, 0, 0, 204, 66, 0, 0, 79, 67, 0, 0, 206, 66, 0, 0, 79, 67, 0, 0, 208, 66, 0, 0, 79, 67, 0, 0, 210, 66, 0, 0, 79, 67, 0, 0, 212, 66, 0, 0, 79, 67, 0, 0, 214, 66, 0, 0, 79, 67, 0, 0, 216, 66, 0, 0, 79, 67, 0, 0, 218, 66, 0, 0, 79, 67, 0, 0, 220, 66, 0, 0, 79, 67, 0, 0, 222, 66, 0, 0, 79, 67, 0, 0, 224, 66, 0, 0, 79, 67, 0, 0, 226, 66, 0, 0, 79, 67, 0, 0, 228, 66, 0, 0, 79, 67, 0, 0, 230, 66, 0, 0, 79, 67, 0, 0, 232, 66, 0, 0, 79, 67, 0, 0, 234, 66, 0, 0, 79, 67, 0, 0, 236, 66, 0, 0, 79, 67, 0, 0, 238, 66, 0, 0, 79, 67, 0, 0, 240, 66, 0, 0, 79, 67, 0, 0, 242, 66, 0, 0, 79, 67, 0, 0, 244, 66, 0, 0, 79, 67, 0, 0, 246, 66, 0, 0, 79, 67, 0, 0, 248, 66, 0, 0, 79, 67, 0, 0, 250, 66, 0, 0, 79, 67, 0, 0, 252, 66, 0, 0, 79, 67, 0, 0, 254, 66, 0, 0, 79, 67, 0, 0, 0, 67, 0, 0, 79, 67, 0, 0, 1, 67, 0, 0, 79, 67, 0, 0, 2, 67, 0, 0, 79, 67, 0, 0, 3, 67, 0, 0, 79, 67, 0, 0, 4, 67, 0, 0, 79, 67, 0, 0, 5, 67, 0, 0, 79, 67, 0, 0, 6, 67, 0, 0, 79, 67, 0, 0, 7, 67, 0, 0, 79, 67, 0, 0, 8, 67, 0, 0, 79, 67, 0, 0, 9, 67, 0, 0, 79, 67, 0, 0, 10, 67, 0, 0, 79, 67, 0, 0, 11, 67, 0, 0, 79, 67, 0, 0, 12, 67, 0, 0, 79, 67, 0, 0, 13, 67, 0, 0, 79, 67, 0, 0, 14, 67, 0, 0, 79, 67, 0, 0, 15, 67, 0, 0, 79, 67, 0, 0, 16, 67, 0, 0, 79, 67, 0, 0, 17, 67, 0, 0, 79, 67, 0, 0, 18, 67, 0, 0, 79, 67, 0, 0, 19, 67, 0, 0, 79, 67, 0, 0, 20, 67, 0, 0, 79, 67, 0, 0, 21, 67, 0, 0, 79, 67, 0, 0, 22, 67, 0, 0, 79, 67, 0, 0, 23, 67, 0, 0, 79, 67, 0, 0, 24, 67, 0, 0, 79, 67, 0, 0, 25, 67, 0, 0, 79, 67, 0, 0, 26, 67, 0, 0, 79, 67, 0, 0, 27, 67, 0, 0, 79, 67, 0, 0, 35, 67, 0, 0, 79, 67, 0, 0, 36, 67, 0, 0, 79, 67, 0, 0, 37, 67, 0, 0, 79, 67, 0, 0, 38, 67, 0, 0, 79, 67, 0, 0, 39, 67, 0, 0, 79, 67, 0, 0, 40, 67, 0, 0, 79, 67, 0, 0, 41, 67, 0, 0, 79, 67, 0, 0, 42, 67, 0, 0, 79, 67, 0, 0, 43, 67, 0, 0, 79, 67, 0, 0, 44, 67, 0, 0, 79, 67, 0, 0, 45, 67, 0, 0, 79, 67, 0, 0, 46, 67, 0, 0, 79, 67, 0, 0, 47, 67, 0, 0, 79, 67, 0, 0, 48, 67, 0, 0, 79, 67, 0, 0, 49, 67, 0, 0, 79, 67, 0, 0, 50, 67, 0, 0, 79, 67, 0, 0, 51, 67, 0, 0, 79, 67, 0, 0, 52, 67, 0, 0, 79, 67, 0, 0, 53, 67, 0, 0, 79, 67, 0, 0, 54, 67, 0, 0, 79, 67, 0, 0, 55, 67, 0, 0, 79, 67, 0, 0, 56, 67, 0, 0, 80, 67, 0, 0, 182, 66, 0, 0, 80, 67, 0, 0, 184, 66, 0, 0, 80, 67, 0, 0, 186, 66, 0, 0, 80, 67, 0, 0, 188, 66, 0, 0, 80, 67, 0, 0, 190, 66, 0, 0, 80, 67, 0, 0, 192, 66, 0, 0, 80, 67, 0, 0, 194, 66, 0, 0, 80, 67, 0, 0, 196, 66, 0, 0, 80, 67, 0, 0, 198, 66, 0, 0, 80, 67, 0, 0, 200, 66, 0, 0, 80, 67, 0, 0, 202, 66, 0, 0, 80, 67, 0, 0, 204, 66, 0, 0, 80, 67, 0, 0, 206, 66, 0, 0, 80, 67, 0, 0, 208, 66, 0, 0, 80, 67, 0, 0, 210, 66, 0, 0, 80, 67, 0, 0, 212, 66, 0, 0, 80, 67, 0, 0, 214, 66, 0, 0, 80, 67, 0, 0, 216, 66, 0, 0, 80, 67, 0, 0, 218, 66, 0, 0, 80, 67, 0, 0, 220, 66, 0, 0, 80, 67, 0, 0, 222, 66, 0, 0, 80, 67, 0, 0, 224, 66, 0, 0, 80, 67, 0, 0, 226, 66, 0, 0, 80, 67, 0, 0, 228, 66, 0, 0, 80, 67, 0, 0, 230, 66, 0, 0, 80, 67, 0, 0, 232, 66, 0, 0, 80, 67, 0, 0, 234, 66, 0, 0, 80, 67, 0, 0, 236, 66, 0, 0, 80, 67, 0, 0, 238, 66, 0, 0, 80, 67, 0, 0, 240, 66, 0, 0, 80, 67, 0, 0, 242, 66, 0, 0, 80, 67, 0, 0, 244, 66, 0, 0, 80, 67, 0, 0, 246, 66, 0, 0, 80, 67, 0, 0, 248, 66, 0, 0, 80, 67, 0, 0, 250, 66, 0, 0, 80, 67, 0, 0, 252, 66, 0, 0, 80, 67, 0, 0, 254, 66, 0, 0, 80, 67, 0, 0, 0, 67, 0, 0, 80, 67, 0, 0, 1, 67, 0, 0, 80, 67, 0, 0, 2, 67, 0, 0, 80, 67, 0, 0, 3, 67, 0, 0, 80, 67, 0, 0, 4, 67, 0, 0, 80, 67, 0, 0, 5, 67, 0, 0, 80, 67, 0, 0, 6, 67, 0, 0, 80, 67, 0, 0, 7, 67, 0, 0, 80, 67, 0, 0, 8, 67, 0, 0, 80, 67, 0, 0, 9, 67, 0, 0, 80, 67, 0, 0, 10, 67, 0, 0, 80, 67, 0, 0, 11, 67, 0, 0, 80, 67, 0, 0, 12, 67, 0, 0, 80, 67, 0, 0, 13, 67, 0, 0, 80, 67, 0, 0, 14, 67, 0, 0, 80, 67, 0, 0, 15, 67, 0, 0, 80, 67, 0, 0, 16, 67, 0, 0, 80, 67, 0, 0, 17, 67, 0, 0, 80, 67, 0, 0, 18, 67, 0, 0, 80, 67, 0, 0, 19, 67, 0, 0, 80, 67, 0, 0, 20, 67, 0, 0, 80, 67, 0, 0, 21, 67, 0, 0, 80, 67, 0, 0, 22, 67, 0, 0, 80, 67, 0, 0, 23, 67, 0, 0, 80, 67, 0, 0, 24, 67, 0, 0, 80, 67, 0, 0, 25, 67, 0, 0, 80, 67, 0, 0, 26, 67, 0, 0, 80, 67, 0, 0, 27, 67, 0, 0, 80, 67, 0, 0, 34, 67, 0, 0, 80, 67, 0, 0, 35, 67, 0, 0, 80, 67, 0, 0, 36, 67, 0, 0, 80, 67, 0, 0, 37, 67, 0, 0, 80, 67, 0, 0, 38, 67, 0, 0, 80, 67, 0, 0, 39, 67, 0, 0, 80, 67, 0, 0, 40, 67, 0, 0, 80, 67, 0, 0, 41, 67, 0, 0, 80, 67, 0, 0, 42, 67, 0, 0, 80, 67, 0, 0, 43, 67, 0, 0, 80, 67, 0, 0, 44, 67, 0, 0, 80, 67, 0, 0, 45, 67, 0, 0, 80, 67, 0, 0, 46, 67, 0, 0, 80, 67, 0, 0, 47, 67, 0, 0, 80, 67, 0, 0, 48, 67, 0, 0, 80, 67, 0, 0, 49, 67, 0, 0, 80, 67, 0, 0, 50, 67, 0, 0, 80, 67, 0, 0, 51, 67, 0, 0, 80, 67, 0, 0, 52, 67, 0, 0, 80, 67, 0, 0, 53, 67, 0, 0, 80, 67, 0, 0, 54, 67, 0, 0, 80, 67, 0, 0, 55, 67, 0, 0, 80, 67, 0, 0, 56, 67, 0, 0, 80, 67, 0, 0, 57, 67, 0, 0, 81, 67, 0, 0, 180, 66, 0, 0, 81, 67, 0, 0, 182, 66, 0, 0, 81, 67, 0, 0, 184, 66, 0, 0, 81, 67, 0, 0, 186, 66, 0, 0, 81, 67, 0, 0, 188, 66, 0, 0, 81, 67, 0, 0, 190, 66, 0, 0, 81, 67, 0, 0, 192, 66, 0, 0, 81, 67, 0, 0, 194, 66, 0, 0, 81, 67, 0, 0, 196, 66, 0, 0, 81, 67, 0, 0, 198, 66, 0, 0, 81, 67, 0, 0, 200, 66, 0, 0, 81, 67, 0, 0, 202, 66, 0, 0, 81, 67, 0, 0, 204, 66, 0, 0, 81, 67, 0, 0, 206, 66, 0, 0, 81, 67, 0, 0, 208, 66, 0, 0, 81, 67, 0, 0, 210, 66, 0, 0, 81, 67, 0, 0, 212, 66, 0, 0, 81, 67, 0, 0, 214, 66, 0, 0, 81, 67, 0, 0, 216, 66, 0, 0, 81, 67, 0, 0, 218, 66, 0, 0, 81, 67, 0, 0, 220, 66, 0, 0, 81, 67, 0, 0, 222, 66, 0, 0, 81, 67, 0, 0, 224, 66, 0, 0, 81, 67, 0, 0, 226, 66, 0, 0, 81, 67, 0, 0, 228, 66, 0, 0, 81, 67, 0, 0, 230, 66, 0, 0, 81, 67, 0, 0, 232, 66, 0, 0, 81, 67, 0, 0, 234, 66, 0, 0, 81, 67, 0, 0, 236, 66, 0, 0, 81, 67, 0, 0, 238, 66, 0, 0, 81, 67, 0, 0, 240, 66, 0, 0, 81, 67, 0, 0, 242, 66, 0, 0, 81, 67, 0, 0, 244, 66, 0, 0, 81, 67, 0, 0, 246, 66, 0, 0, 81, 67, 0, 0, 248, 66, 0, 0, 81, 67, 0, 0, 250, 66, 0, 0, 81, 67, 0, 0, 252, 66, 0, 0, 81, 67, 0, 0, 254, 66, 0, 0, 81, 67, 0, 0, 0, 67, 0, 0, 81, 67, 0, 0, 1, 67, 0, 0, 81, 67, 0, 0, 2, 67, 0, 0, 81, 67, 0, 0, 3, 67, 0, 0, 81, 67, 0, 0, 4, 67, 0, 0, 81, 67, 0, 0, 5, 67, 0, 0, 81, 67, 0, 0, 6, 67, 0, 0, 81, 67, 0, 0, 7, 67, 0, 0, 81, 67, 0, 0, 8, 67, 0, 0, 81, 67, 0, 0, 9, 67, 0, 0, 81, 67, 0, 0, 10, 67, 0, 0, 81, 67, 0, 0, 11, 67, 0, 0, 81, 67, 0, 0, 12, 67, 0, 0, 81, 67, 0, 0, 13, 67, 0, 0, 81, 67, 0, 0, 14, 67, 0, 0, 81, 67, 0, 0, 15, 67, 0, 0, 81, 67, 0, 0, 16, 67, 0, 0, 81, 67, 0, 0, 17, 67, 0, 0, 81, 67, 0, 0, 18, 67, 0, 0, 81, 67, 0, 0, 19, 67, 0, 0, 81, 67, 0, 0, 20, 67, 0, 0, 81, 67, 0, 0, 21, 67, 0, 0, 81, 67, 0, 0, 22, 67, 0, 0, 81, 67, 0, 0, 23, 67, 0, 0, 81, 67, 0, 0, 24, 67, 0, 0, 81, 67, 0, 0, 25, 67, 0, 0, 81, 67, 0, 0, 26, 67, 0, 0, 81, 67, 0, 0, 27, 67, 0, 0, 81, 67, 0, 0, 34, 67, 0, 0, 81, 67, 0, 0, 35, 67, 0, 0, 81, 67, 0, 0, 36, 67, 0, 0, 81, 67, 0, 0, 37, 67, 0, 0, 81, 67, 0, 0, 38, 67, 0, 0, 81, 67, 0, 0, 39, 67, 0, 0, 81, 67, 0, 0, 40, 67, 0, 0, 81, 67, 0, 0, 41, 67, 0, 0, 81, 67, 0, 0, 42, 67, 0, 0, 81, 67, 0, 0, 43, 67, 0, 0, 81, 67, 0, 0, 44, 67, 0, 0, 81, 67, 0, 0, 45, 67, 0, 0, 81, 67, 0, 0, 46, 67, 0, 0, 81, 67, 0, 0, 47, 67, 0, 0, 81, 67, 0, 0, 48, 67, 0, 0, 81, 67, 0, 0, 49, 67, 0, 0, 81, 67, 0, 0, 50, 67, 0, 0, 81, 67, 0, 0, 51, 67, 0, 0, 81, 67, 0, 0, 52, 67, 0, 0, 81, 67, 0, 0, 53, 67, 0, 0, 81, 67, 0, 0, 54, 67, 0, 0, 81, 67, 0, 0, 55, 67, 0, 0, 81, 67, 0, 0, 56, 67, 0, 0, 81, 67, 0, 0, 57, 67, 0, 0, 82, 67, 0, 0, 180, 66, 0, 0, 82, 67, 0, 0, 182, 66, 0, 0, 82, 67, 0, 0, 184, 66, 0, 0, 82, 67, 0, 0, 186, 66, 0, 0, 82, 67, 0, 0, 188, 66, 0, 0, 82, 67, 0, 0, 190, 66, 0, 0, 82, 67, 0, 0, 192, 66, 0, 0, 82, 67, 0, 0, 194, 66, 0, 0, 82, 67, 0, 0, 196, 66, 0, 0, 82, 67, 0, 0, 198, 66, 0, 0, 82, 67, 0, 0, 200, 66, 0, 0, 82, 67, 0, 0, 202, 66, 0, 0, 82, 67, 0, 0, 204, 66, 0, 0, 82, 67, 0, 0, 206, 66, 0, 0, 82, 67, 0, 0, 208, 66, 0, 0, 82, 67, 0, 0, 210, 66, 0, 0, 82, 67, 0, 0, 212, 66, 0, 0, 82, 67, 0, 0, 214, 66, 0, 0, 82, 67, 0, 0, 216, 66, 0, 0, 82, 67, 0, 0, 218, 66, 0, 0, 82, 67, 0, 0, 220, 66, 0, 0, 82, 67, 0, 0, 222, 66, 0, 0, 82, 67, 0, 0, 224, 66, 0, 0, 82, 67, 0, 0, 226, 66, 0, 0, 82, 67, 0, 0, 228, 66, 0, 0, 82, 67, 0, 0, 230, 66, 0, 0, 82, 67, 0, 0, 232, 66, 0, 0, 82, 67, 0, 0, 234, 66, 0, 0, 82, 67, 0, 0, 236, 66, 0, 0, 82, 67, 0, 0, 238, 66, 0, 0, 82, 67, 0, 0, 240, 66, 0, 0, 82, 67, 0, 0, 242, 66, 0, 0, 82, 67, 0, 0, 244, 66, 0, 0, 82, 67, 0, 0, 246, 66, 0, 0, 82, 67, 0, 0, 248, 66, 0, 0, 82, 67, 0, 0, 250, 66, 0, 0, 82, 67, 0, 0, 252, 66, 0, 0, 82, 67, 0, 0, 254, 66, 0, 0, 82, 67, 0, 0, 0, 67, 0, 0, 82, 67, 0, 0, 1, 67, 0, 0, 82, 67, 0, 0, 2, 67, 0, 0, 82, 67, 0, 0, 3, 67, 0, 0, 82, 67, 0, 0, 4, 67, 0, 0, 82, 67, 0, 0, 5, 67, 0, 0, 82, 67, 0, 0, 6, 67, 0, 0, 82, 67, 0, 0, 7, 67, 0, 0, 82, 67, 0, 0, 8, 67, 0, 0, 82, 67, 0, 0, 9, 67, 0, 0, 82, 67, 0, 0, 10, 67, 0, 0, 82, 67, 0, 0, 11, 67, 0, 0, 82, 67, 0, 0, 12, 67, 0, 0, 82, 67, 0, 0, 13, 67, 0, 0, 82, 67, 0, 0, 14, 67, 0, 0, 82, 67, 0, 0, 15, 67, 0, 0, 82, 67, 0, 0, 16, 67, 0, 0, 82, 67, 0, 0, 17, 67, 0, 0, 82, 67, 0, 0, 18, 67, 0, 0, 82, 67, 0, 0, 19, 67, 0, 0, 82, 67, 0, 0, 20, 67, 0, 0, 82, 67, 0, 0, 21, 67, 0, 0, 82, 67, 0, 0, 22, 67, 0, 0, 82, 67, 0, 0, 23, 67, 0, 0, 82, 67, 0, 0, 24, 67, 0, 0, 82, 67, 0, 0, 25, 67, 0, 0, 82, 67, 0, 0, 26, 67, 0, 0, 82, 67, 0, 0, 27, 67, 0, 0, 82, 67, 0, 0, 34, 67, 0, 0, 82, 67, 0, 0, 35, 67, 0, 0, 82, 67, 0, 0, 36, 67, 0, 0, 82, 67, 0, 0, 37, 67, 0, 0, 82, 67, 0, 0, 38, 67, 0, 0, 82, 67, 0, 0, 39, 67, 0, 0, 82, 67, 0, 0, 40, 67, 0, 0, 82, 67, 0, 0, 41, 67, 0, 0, 82, 67, 0, 0, 42, 67, 0, 0, 82, 67, 0, 0, 43, 67, 0, 0, 82, 67, 0, 0, 44, 67, 0, 0, 82, 67, 0, 0, 45, 67, 0, 0, 82, 67, 0, 0, 46, 67, 0, 0, 82, 67, 0, 0, 47, 67, 0, 0, 82, 67, 0, 0, 48, 67, 0, 0, 82, 67, 0, 0, 49, 67, 0, 0, 82, 67, 0, 0, 50, 67, 0, 0, 82, 67, 0, 0, 51, 67, 0, 0, 82, 67, 0, 0, 52, 67, 0, 0, 82, 67, 0, 0, 53, 67, 0, 0, 82, 67, 0, 0, 54, 67, 0, 0, 82, 67, 0, 0, 55, 67, 0, 0, 82, 67, 0, 0, 56, 67, 0, 0, 82, 67, 0, 0, 57, 67, 0, 0, 83, 67, 0, 0, 180, 66, 0, 0, 83, 67, 0, 0, 182, 66, 0, 0, 83, 67, 0, 0, 184, 66, 0, 0, 83, 67, 0, 0, 186, 66, 0, 0, 83, 67, 0, 0, 188, 66, 0, 0, 83, 67, 0, 0, 190, 66, 0, 0, 83, 67, 0, 0, 192, 66, 0, 0, 83, 67, 0, 0, 194, 66, 0, 0, 83, 67, 0, 0, 196, 66, 0, 0, 83, 67, 0, 0, 198, 66, 0, 0, 83, 67, 0, 0, 200, 66, 0, 0, 83, 67, 0, 0, 202, 66, 0, 0, 83, 67, 0, 0, 204, 66, 0, 0, 83, 67, 0, 0, 206, 66, 0, 0, 83, 67, 0, 0, 208, 66, 0, 0, 83, 67, 0, 0, 210, 66, 0, 0, 83, 67, 0, 0, 212, 66, 0, 0, 83, 67, 0, 0, 214, 66, 0, 0, 83, 67, 0, 0, 216, 66, 0, 0, 83, 67, 0, 0, 218, 66, 0, 0, 83, 67, 0, 0, 220, 66, 0, 0, 83, 67, 0, 0, 222, 66, 0, 0, 83, 67, 0, 0, 224, 66, 0, 0, 83, 67, 0, 0, 226, 66, 0, 0, 83, 67, 0, 0, 228, 66, 0, 0, 83, 67, 0, 0, 230, 66, 0, 0, 83, 67, 0, 0, 232, 66, 0, 0, 83, 67, 0, 0, 234, 66, 0, 0, 83, 67, 0, 0, 236, 66, 0, 0, 83, 67, 0, 0, 238, 66, 0, 0, 83, 67, 0, 0, 240, 66, 0, 0, 83, 67, 0, 0, 242, 66, 0, 0, 83, 67, 0, 0, 244, 66, 0, 0, 83, 67, 0, 0, 246, 66, 0, 0, 83, 67, 0, 0, 248, 66, 0, 0, 83, 67, 0, 0, 250, 66, 0, 0, 83, 67, 0, 0, 252, 66, 0, 0, 83, 67, 0, 0, 254, 66, 0, 0, 83, 67, 0, 0, 0, 67, 0, 0, 83, 67, 0, 0, 1, 67, 0, 0, 83, 67, 0, 0, 2, 67, 0, 0, 83, 67, 0, 0, 3, 67, 0, 0, 83, 67, 0, 0, 4, 67, 0, 0, 83, 67, 0, 0, 5, 67, 0, 0, 83, 67, 0, 0, 6, 67, 0, 0, 83, 67, 0, 0, 7, 67, 0, 0, 83, 67, 0, 0, 8, 67, 0, 0, 83, 67, 0, 0, 9, 67, 0, 0, 83, 67, 0, 0, 10, 67, 0, 0, 83, 67, 0, 0, 11, 67, 0, 0, 83, 67, 0, 0, 12, 67, 0, 0, 83, 67, 0, 0, 13, 67, 0, 0, 83, 67, 0, 0, 14, 67, 0, 0, 83, 67, 0, 0, 15, 67, 0, 0, 83, 67, 0, 0, 16, 67, 0, 0, 83, 67, 0, 0, 17, 67, 0, 0, 83, 67, 0, 0, 18, 67, 0, 0, 83, 67, 0, 0, 19, 67, 0, 0, 83, 67, 0, 0, 20, 67, 0, 0, 83, 67, 0, 0, 21, 67, 0, 0, 83, 67, 0, 0, 22, 67, 0, 0, 83, 67, 0, 0, 23, 67, 0, 0, 83, 67, 0, 0, 24, 67, 0, 0, 83, 67, 0, 0, 25, 67, 0, 0, 83, 67, 0, 0, 26, 67, 0, 0, 83, 67, 0, 0, 27, 67, 0, 0, 83, 67, 0, 0, 34, 67, 0, 0, 83, 67, 0, 0, 35, 67, 0, 0, 83, 67, 0, 0, 36, 67, 0, 0, 83, 67, 0, 0, 37, 67, 0, 0, 83, 67, 0, 0, 38, 67, 0, 0, 83, 67, 0, 0, 39, 67, 0, 0, 83, 67, 0, 0, 40, 67, 0, 0, 83, 67, 0, 0, 41, 67, 0, 0, 83, 67, 0, 0, 42, 67, 0, 0, 83, 67, 0, 0, 43, 67, 0, 0, 83, 67, 0, 0, 44, 67, 0, 0, 83, 67, 0, 0, 45, 67, 0, 0, 83, 67, 0, 0, 46, 67, 0, 0, 83, 67, 0, 0, 47, 67, 0, 0, 83, 67, 0, 0, 48, 67, 0, 0, 83, 67, 0, 0, 49, 67, 0, 0, 83, 67, 0, 0, 50, 67, 0, 0, 83, 67, 0, 0, 51, 67, 0, 0, 83, 67, 0, 0, 52, 67, 0, 0, 83, 67, 0, 0, 53, 67, 0, 0, 83, 67, 0, 0, 54, 67, 0, 0, 83, 67, 0, 0, 55, 67, 0, 0, 83, 67, 0, 0, 56, 67, 0, 0, 83, 67, 0, 0, 57, 67, 0, 0, 84, 67, 0, 0, 180, 66, 0, 0, 84, 67, 0, 0, 182, 66, 0, 0, 84, 67, 0, 0, 184, 66, 0, 0, 84, 67, 0, 0, 186, 66, 0, 0, 84, 67, 0, 0, 188, 66, 0, 0, 84, 67, 0, 0, 190, 66, 0, 0, 84, 67, 0, 0, 192, 66, 0, 0, 84, 67, 0, 0, 194, 66, 0, 0, 84, 67, 0, 0, 196, 66, 0, 0, 84, 67, 0, 0, 198, 66, 0, 0, 84, 67, 0, 0, 200, 66, 0, 0, 84, 67, 0, 0, 202, 66, 0, 0, 84, 67, 0, 0, 204, 66, 0, 0, 84, 67, 0, 0, 206, 66, 0, 0, 84, 67, 0, 0, 208, 66, 0, 0, 84, 67, 0, 0, 210, 66, 0, 0, 84, 67, 0, 0, 212, 66, 0, 0, 84, 67, 0, 0, 214, 66, 0, 0, 84, 67, 0, 0, 216, 66, 0, 0, 84, 67, 0, 0, 218, 66, 0, 0, 84, 67, 0, 0, 220, 66, 0, 0, 84, 67, 0, 0, 222, 66, 0, 0, 84, 67, 0, 0, 224, 66, 0, 0, 84, 67, 0, 0, 226, 66, 0, 0, 84, 67, 0, 0, 228, 66, 0, 0, 84, 67, 0, 0, 230, 66, 0, 0, 84, 67, 0, 0, 232, 66, 0, 0, 84, 67, 0, 0, 234, 66, 0, 0, 84, 67, 0, 0, 236, 66, 0, 0, 84, 67, 0, 0, 238, 66, 0, 0, 84, 67, 0, 0, 240, 66, 0, 0, 84, 67, 0, 0, 242, 66, 0, 0, 84, 67, 0, 0, 244, 66, 0, 0, 84, 67, 0, 0, 246, 66, 0, 0, 84, 67, 0, 0, 248, 66, 0, 0, 84, 67, 0, 0, 250, 66, 0, 0, 84, 67, 0, 0, 252, 66, 0, 0, 84, 67, 0, 0, 254, 66, 0, 0, 84, 67, 0, 0, 0, 67, 0, 0, 84, 67, 0, 0, 1, 67, 0, 0, 84, 67, 0, 0, 2, 67, 0, 0, 84, 67, 0, 0, 3, 67, 0, 0, 84, 67, 0, 0, 4, 67, 0, 0, 84, 67, 0, 0, 5, 67, 0, 0, 84, 67, 0, 0, 6, 67, 0, 0, 84, 67, 0, 0, 7, 67, 0, 0, 84, 67, 0, 0, 8, 67, 0, 0, 84, 67, 0, 0, 9, 67, 0, 0, 84, 67, 0, 0, 10, 67, 0, 0, 84, 67, 0, 0, 11, 67, 0, 0, 84, 67, 0, 0, 12, 67, 0, 0, 84, 67, 0, 0, 13, 67, 0, 0, 84, 67, 0, 0, 14, 67, 0, 0, 84, 67, 0, 0, 15, 67, 0, 0, 84, 67, 0, 0, 16, 67, 0, 0, 84, 67, 0, 0, 17, 67, 0, 0, 84, 67, 0, 0, 18, 67, 0, 0, 84, 67, 0, 0, 19, 67, 0, 0, 84, 67, 0, 0, 20, 67, 0, 0, 84, 67, 0, 0, 21, 67, 0, 0, 84, 67, 0, 0, 22, 67, 0, 0, 84, 67, 0, 0, 23, 67, 0, 0, 84, 67, 0, 0, 24, 67, 0, 0, 84, 67, 0, 0, 25, 67, 0, 0, 84, 67, 0, 0, 26, 67, 0, 0, 84, 67, 0, 0, 27, 67, 0, 0, 84, 67, 0, 0, 34, 67, 0, 0, 84, 67, 0, 0, 35, 67, 0, 0, 84, 67, 0, 0, 36, 67, 0, 0, 84, 67, 0, 0, 37, 67, 0, 0, 84, 67, 0, 0, 38, 67, 0, 0, 84, 67, 0, 0, 39, 67, 0, 0, 84, 67, 0, 0, 40, 67, 0, 0, 84, 67, 0, 0, 41, 67, 0, 0, 84, 67, 0, 0, 42, 67, 0, 0, 84, 67, 0, 0, 43, 67, 0, 0, 84, 67, 0, 0, 44, 67, 0, 0, 84, 67, 0, 0, 45, 67, 0, 0, 84, 67, 0, 0, 46, 67, 0, 0, 84, 67, 0, 0, 47, 67, 0, 0, 84, 67, 0, 0, 48, 67, 0, 0, 84, 67, 0, 0, 49, 67, 0, 0, 84, 67, 0, 0, 50, 67, 0, 0, 84, 67, 0, 0, 51, 67, 0, 0, 84, 67, 0, 0, 52, 67, 0, 0, 84, 67, 0, 0, 53, 67, 0, 0, 84, 67, 0, 0, 54, 67, 0, 0, 84, 67, 0, 0, 55, 67, 0, 0, 84, 67, 0, 0, 56, 67, 0, 0, 84, 67, 0, 0, 57, 67, 0, 0, 85, 67, 0, 0, 180, 66, 0, 0, 85, 67, 0, 0, 182, 66, 0, 0, 85, 67, 0, 0, 184, 66, 0, 0, 85, 67, 0, 0, 186, 66, 0, 0, 85, 67, 0, 0, 188, 66, 0, 0, 85, 67, 0, 0, 190, 66, 0, 0, 85, 67, 0, 0, 192, 66, 0, 0, 85, 67, 0, 0, 194, 66, 0, 0, 85, 67, 0, 0, 196, 66, 0, 0, 85, 67, 0, 0, 198, 66, 0, 0, 85, 67, 0, 0, 200, 66, 0, 0, 85, 67, 0, 0, 202, 66, 0, 0, 85, 67, 0, 0, 204, 66, 0, 0, 85, 67, 0, 0, 206, 66, 0, 0, 85, 67, 0, 0, 208, 66, 0, 0, 85, 67, 0, 0, 210, 66, 0, 0, 85, 67, 0, 0, 212, 66, 0, 0, 85, 67, 0, 0, 214, 66, 0, 0, 85, 67, 0, 0, 216, 66, 0, 0, 85, 67, 0, 0, 218, 66, 0, 0, 85, 67, 0, 0, 220, 66, 0, 0, 85, 67, 0, 0, 222, 66, 0, 0, 85, 67, 0, 0, 224, 66, 0, 0, 85, 67, 0, 0, 226, 66, 0, 0, 85, 67, 0, 0, 228, 66, 0, 0, 85, 67, 0, 0, 230, 66, 0, 0, 85, 67, 0, 0, 232, 66, 0, 0, 85, 67, 0, 0, 234, 66, 0, 0, 85, 67, 0, 0, 236, 66, 0, 0, 85, 67, 0, 0, 238, 66, 0, 0, 85, 67, 0, 0, 240, 66, 0, 0, 85, 67, 0, 0, 242, 66, 0, 0, 85, 67, 0, 0, 244, 66, 0, 0, 85, 67, 0, 0, 246, 66, 0, 0, 85, 67, 0, 0, 248, 66, 0, 0, 85, 67, 0, 0, 250, 66, 0, 0, 85, 67, 0, 0, 252, 66, 0, 0, 85, 67, 0, 0, 254, 66, 0, 0, 85, 67, 0, 0, 0, 67, 0, 0, 85, 67, 0, 0, 1, 67, 0, 0, 85, 67, 0, 0, 2, 67, 0, 0, 85, 67, 0, 0, 3, 67, 0, 0, 85, 67, 0, 0, 4, 67, 0, 0, 85, 67, 0, 0, 5, 67, 0, 0, 85, 67, 0, 0, 6, 67, 0, 0, 85, 67, 0, 0, 7, 67, 0, 0, 85, 67, 0, 0, 8, 67, 0, 0, 85, 67, 0, 0, 9, 67, 0, 0, 85, 67, 0, 0, 10, 67, 0, 0, 85, 67, 0, 0, 11, 67, 0, 0, 85, 67, 0, 0, 12, 67, 0, 0, 85, 67, 0, 0, 13, 67, 0, 0, 85, 67, 0, 0, 14, 67, 0, 0, 85, 67, 0, 0, 15, 67, 0, 0, 85, 67, 0, 0, 16, 67, 0, 0, 85, 67, 0, 0, 17, 67, 0, 0, 85, 67, 0, 0, 18, 67, 0, 0, 85, 67, 0, 0, 19, 67, 0, 0, 85, 67, 0, 0, 20, 67, 0, 0, 85, 67, 0, 0, 21, 67, 0, 0, 85, 67, 0, 0, 22, 67, 0, 0, 85, 67, 0, 0, 23, 67, 0, 0, 85, 67, 0, 0, 24, 67, 0, 0, 85, 67, 0, 0, 25, 67, 0, 0, 85, 67, 0, 0, 26, 67, 0, 0, 85, 67, 0, 0, 27, 67, 0, 0, 85, 67, 0, 0, 34, 67, 0, 0, 85, 67, 0, 0, 35, 67, 0, 0, 85, 67, 0, 0, 36, 67, 0, 0, 85, 67, 0, 0, 37, 67, 0, 0, 85, 67, 0, 0, 38, 67, 0, 0, 85, 67, 0, 0, 39, 67, 0, 0, 85, 67, 0, 0, 40, 67, 0, 0, 85, 67, 0, 0, 41, 67, 0, 0, 85, 67, 0, 0, 42, 67, 0, 0, 85, 67, 0, 0, 43, 67, 0, 0, 85, 67, 0, 0, 44, 67, 0, 0, 85, 67, 0, 0, 45, 67, 0, 0, 85, 67, 0, 0, 46, 67, 0, 0, 85, 67, 0, 0, 47, 67, 0, 0, 85, 67, 0, 0, 48, 67, 0, 0, 85, 67, 0, 0, 49, 67, 0, 0, 85, 67, 0, 0, 50, 67, 0, 0, 85, 67, 0, 0, 51, 67, 0, 0, 85, 67, 0, 0, 52, 67, 0, 0, 85, 67, 0, 0, 53, 67, 0, 0, 85, 67, 0, 0, 54, 67, 0, 0, 85, 67, 0, 0, 55, 67, 0, 0, 85, 67, 0, 0, 56, 67, 0, 0, 85, 67, 0, 0, 57, 67, 0, 0, 86, 67, 0, 0, 180, 66, 0, 0, 86, 67, 0, 0, 182, 66, 0, 0, 86, 67, 0, 0, 184, 66, 0, 0, 86, 67, 0, 0, 186, 66, 0, 0, 86, 67, 0, 0, 188, 66, 0, 0, 86, 67, 0, 0, 190, 66, 0, 0, 86, 67, 0, 0, 192, 66, 0, 0, 86, 67, 0, 0, 194, 66, 0, 0, 86, 67, 0, 0, 196, 66, 0, 0, 86, 67, 0, 0, 198, 66, 0, 0, 86, 67, 0, 0, 200, 66, 0, 0, 86, 67, 0, 0, 202, 66, 0, 0, 86, 67, 0, 0, 204, 66, 0, 0, 86, 67, 0, 0, 206, 66, 0, 0, 86, 67, 0, 0, 208, 66, 0, 0, 86, 67, 0, 0, 210, 66, 0, 0, 86, 67, 0, 0, 212, 66, 0, 0, 86, 67, 0, 0, 214, 66, 0, 0, 86, 67, 0, 0, 216, 66, 0, 0, 86, 67, 0, 0, 218, 66, 0, 0, 86, 67, 0, 0, 220, 66, 0, 0, 86, 67, 0, 0, 222, 66, 0, 0, 86, 67, 0, 0, 224, 66, 0, 0, 86, 67, 0, 0, 226, 66, 0, 0, 86, 67, 0, 0, 228, 66, 0, 0, 86, 67, 0, 0, 230, 66, 0, 0, 86, 67, 0, 0, 232, 66, 0, 0, 86, 67, 0, 0, 234, 66, 0, 0, 86, 67, 0, 0, 236, 66, 0, 0, 86, 67, 0, 0, 238, 66, 0, 0, 86, 67, 0, 0, 240, 66, 0, 0, 86, 67, 0, 0, 242, 66, 0, 0, 86, 67, 0, 0, 244, 66, 0, 0, 86, 67, 0, 0, 246, 66, 0, 0, 86, 67, 0, 0, 248, 66, 0, 0, 86, 67, 0, 0, 250, 66, 0, 0, 86, 67, 0, 0, 252, 66, 0, 0, 86, 67, 0, 0, 254, 66, 0, 0, 86, 67, 0, 0, 0, 67, 0, 0, 86, 67, 0, 0, 1, 67, 0, 0, 86, 67, 0, 0, 2, 67, 0, 0, 86, 67, 0, 0, 3, 67, 0, 0, 86, 67, 0, 0, 4, 67, 0, 0, 86, 67, 0, 0, 5, 67, 0, 0, 86, 67, 0, 0, 6, 67, 0, 0, 86, 67, 0, 0, 7, 67, 0, 0, 86, 67, 0, 0, 8, 67, 0, 0, 86, 67, 0, 0, 9, 67, 0, 0, 86, 67, 0, 0, 10, 67, 0, 0, 86, 67, 0, 0, 11, 67, 0, 0, 86, 67, 0, 0, 12, 67, 0, 0, 86, 67, 0, 0, 13, 67, 0, 0, 86, 67, 0, 0, 14, 67, 0, 0, 86, 67, 0, 0, 15, 67, 0, 0, 86, 67, 0, 0, 16, 67, 0, 0, 86, 67, 0, 0, 17, 67, 0, 0, 86, 67, 0, 0, 18, 67, 0, 0, 86, 67, 0, 0, 19, 67, 0, 0, 86, 67, 0, 0, 20, 67, 0, 0, 86, 67, 0, 0, 21, 67, 0, 0, 86, 67, 0, 0, 22, 67, 0, 0, 86, 67, 0, 0, 23, 67, 0, 0, 86, 67, 0, 0, 24, 67, 0, 0, 86, 67, 0, 0, 25, 67, 0, 0, 86, 67, 0, 0, 26, 67, 0, 0, 86, 67, 0, 0, 27, 67, 0, 0, 86, 67, 0, 0, 34, 67, 0, 0, 86, 67, 0, 0, 35, 67, 0, 0, 86, 67, 0, 0, 36, 67, 0, 0, 86, 67, 0, 0, 37, 67, 0, 0, 86, 67, 0, 0, 38, 67, 0, 0, 86, 67, 0, 0, 39, 67, 0, 0, 86, 67, 0, 0, 40, 67, 0, 0, 86, 67, 0, 0, 41, 67, 0, 0, 86, 67, 0, 0, 42, 67, 0, 0, 86, 67, 0, 0, 43, 67, 0, 0, 86, 67, 0, 0, 44, 67, 0, 0, 86, 67, 0, 0, 45, 67, 0, 0, 86, 67, 0, 0, 46, 67, 0, 0, 86, 67, 0, 0, 47, 67, 0, 0, 86, 67, 0, 0, 48, 67, 0, 0, 86, 67, 0, 0, 49, 67, 0, 0, 86, 67, 0, 0, 50, 67, 0, 0, 86, 67, 0, 0, 51, 67, 0, 0, 86, 67, 0, 0, 52, 67, 0, 0, 86, 67, 0, 0, 53, 67, 0, 0, 86, 67, 0, 0, 54, 67, 0, 0, 86, 67, 0, 0, 55, 67, 0, 0, 86, 67, 0, 0, 56, 67, 0, 0, 86, 67, 0, 0, 57, 67, 0, 0, 87, 67, 0, 0, 180, 66, 0, 0, 87, 67, 0, 0, 182, 66, 0, 0, 87, 67, 0, 0, 184, 66, 0, 0, 87, 67, 0, 0, 186, 66, 0, 0, 87, 67, 0, 0, 188, 66, 0, 0, 87, 67, 0, 0, 190, 66, 0, 0, 87, 67, 0, 0, 192, 66, 0, 0, 87, 67, 0, 0, 194, 66, 0, 0, 87, 67, 0, 0, 196, 66, 0, 0, 87, 67, 0, 0, 198, 66, 0, 0, 87, 67, 0, 0, 200, 66, 0, 0, 87, 67, 0, 0, 202, 66, 0, 0, 87, 67, 0, 0, 204, 66, 0, 0, 87, 67, 0, 0, 206, 66, 0, 0, 87, 67, 0, 0, 208, 66, 0, 0, 87, 67, 0, 0, 210, 66, 0, 0, 87, 67, 0, 0, 212, 66, 0, 0, 87, 67, 0, 0, 214, 66, 0, 0, 87, 67, 0, 0, 216, 66, 0, 0, 87, 67, 0, 0, 218, 66, 0, 0, 87, 67, 0, 0, 220, 66, 0, 0, 87, 67, 0, 0, 222, 66, 0, 0, 87, 67, 0, 0, 224, 66, 0, 0, 87, 67, 0, 0, 226, 66, 0, 0, 87, 67, 0, 0, 228, 66, 0, 0, 87, 67, 0, 0, 230, 66, 0, 0, 87, 67, 0, 0, 232, 66, 0, 0, 87, 67, 0, 0, 234, 66, 0, 0, 87, 67, 0, 0, 236, 66, 0, 0, 87, 67, 0, 0, 238, 66, 0, 0, 87, 67, 0, 0, 240, 66, 0, 0, 87, 67, 0, 0, 242, 66, 0, 0, 87, 67, 0, 0, 244, 66, 0, 0, 87, 67, 0, 0, 246, 66, 0, 0, 87, 67, 0, 0, 248, 66, 0, 0, 87, 67, 0, 0, 250, 66, 0, 0, 87, 67, 0, 0, 252, 66, 0, 0, 87, 67, 0, 0, 254, 66, 0, 0, 87, 67, 0, 0, 0, 67, 0, 0, 87, 67, 0, 0, 1, 67, 0, 0, 87, 67, 0, 0, 2, 67, 0, 0, 87, 67, 0, 0, 3, 67, 0, 0, 87, 67, 0, 0, 4, 67, 0, 0, 87, 67, 0, 0, 5, 67, 0, 0, 87, 67, 0, 0, 6, 67, 0, 0, 87, 67, 0, 0, 7, 67, 0, 0, 87, 67, 0, 0, 8, 67, 0, 0, 87, 67, 0, 0, 9, 67, 0, 0, 87, 67, 0, 0, 10, 67, 0, 0, 87, 67, 0, 0, 11, 67, 0, 0, 87, 67, 0, 0, 12, 67, 0, 0, 87, 67, 0, 0, 13, 67, 0, 0, 87, 67, 0, 0, 14, 67, 0, 0, 87, 67, 0, 0, 15, 67, 0, 0, 87, 67, 0, 0, 16, 67, 0, 0, 87, 67, 0, 0, 17, 67, 0, 0, 87, 67, 0, 0, 18, 67, 0, 0, 87, 67, 0, 0, 19, 67, 0, 0, 87, 67, 0, 0, 20, 67, 0, 0, 87, 67, 0, 0, 21, 67, 0, 0, 87, 67, 0, 0, 22, 67, 0, 0, 87, 67, 0, 0, 23, 67, 0, 0, 87, 67, 0, 0, 24, 67, 0, 0, 87, 67, 0, 0, 25, 67, 0, 0, 87, 67, 0, 0, 26, 67, 0, 0, 87, 67, 0, 0, 27, 67, 0, 0, 87, 67, 0, 0, 34, 67, 0, 0, 87, 67, 0, 0, 35, 67, 0, 0, 87, 67, 0, 0, 36, 67, 0, 0, 87, 67, 0, 0, 37, 67, 0, 0, 87, 67, 0, 0, 38, 67, 0, 0, 87, 67, 0, 0, 39, 67, 0, 0, 87, 67, 0, 0, 40, 67, 0, 0, 87, 67, 0, 0, 41, 67, 0, 0, 87, 67, 0, 0, 42, 67, 0, 0, 87, 67, 0, 0, 43, 67, 0, 0, 87, 67, 0, 0, 44, 67, 0, 0, 87, 67, 0, 0, 45, 67, 0, 0, 87, 67, 0, 0, 46, 67, 0, 0, 87, 67, 0, 0, 47, 67, 0, 0, 87, 67, 0, 0, 48, 67, 0, 0, 87, 67, 0, 0, 49, 67, 0, 0, 87, 67, 0, 0, 50, 67, 0, 0, 87, 67, 0, 0, 51, 67, 0, 0, 87, 67, 0, 0, 52, 67, 0, 0, 87, 67, 0, 0, 53, 67, 0, 0, 87, 67, 0, 0, 54, 67, 0, 0, 87, 67, 0, 0, 55, 67, 0, 0, 87, 67, 0, 0, 56, 67, 0, 0, 87, 67, 0, 0, 57, 67, 0, 0, 88, 67, 0, 0, 180, 66, 0, 0, 88, 67, 0, 0, 182, 66, 0, 0, 88, 67, 0, 0, 184, 66, 0, 0, 88, 67, 0, 0, 186, 66, 0, 0, 88, 67, 0, 0, 188, 66, 0, 0, 88, 67, 0, 0, 190, 66, 0, 0, 88, 67, 0, 0, 192, 66, 0, 0, 88, 67, 0, 0, 194, 66, 0, 0, 88, 67, 0, 0, 196, 66, 0, 0, 88, 67, 0, 0, 198, 66, 0, 0, 88, 67, 0, 0, 200, 66, 0, 0, 88, 67, 0, 0, 202, 66, 0, 0, 88, 67, 0, 0, 204, 66, 0, 0, 88, 67, 0, 0, 206, 66, 0, 0, 88, 67, 0, 0, 208, 66, 0, 0, 88, 67, 0, 0, 210, 66, 0, 0, 88, 67, 0, 0, 212, 66, 0, 0, 88, 67, 0, 0, 214, 66, 0, 0, 88, 67, 0, 0, 216, 66, 0, 0, 88, 67, 0, 0, 218, 66, 0, 0, 88, 67, 0, 0, 220, 66, 0, 0, 88, 67, 0, 0, 222, 66, 0, 0, 88, 67, 0, 0, 224, 66, 0, 0, 88, 67, 0, 0, 226, 66, 0, 0, 88, 67, 0, 0, 228, 66, 0, 0, 88, 67, 0, 0, 230, 66, 0, 0, 88, 67, 0, 0, 232, 66, 0, 0, 88, 67, 0, 0, 234, 66, 0, 0, 88, 67, 0, 0, 236, 66, 0, 0, 88, 67, 0, 0, 238, 66, 0, 0, 88, 67, 0, 0, 240, 66, 0, 0, 88, 67, 0, 0, 242, 66, 0, 0, 88, 67, 0, 0, 244, 66, 0, 0, 88, 67, 0, 0, 246, 66, 0, 0, 88, 67, 0, 0, 248, 66, 0, 0, 88, 67, 0, 0, 250, 66, 0, 0, 88, 67, 0, 0, 252, 66, 0, 0, 88, 67, 0, 0, 254, 66, 0, 0, 88, 67, 0, 0, 0, 67, 0, 0, 88, 67, 0, 0, 1, 67, 0, 0, 88, 67, 0, 0, 2, 67, 0, 0, 88, 67, 0, 0, 3, 67, 0, 0, 88, 67, 0, 0, 4, 67, 0, 0, 88, 67, 0, 0, 5, 67, 0, 0, 88, 67, 0, 0, 6, 67, 0, 0, 88, 67, 0, 0, 7, 67, 0, 0, 88, 67, 0, 0, 8, 67, 0, 0, 88, 67, 0, 0, 9, 67, 0, 0, 88, 67, 0, 0, 10, 67, 0, 0, 88, 67, 0, 0, 11, 67, 0, 0, 88, 67, 0, 0, 12, 67, 0, 0, 88, 67, 0, 0, 13, 67, 0, 0, 88, 67, 0, 0, 14, 67, 0, 0, 88, 67, 0, 0, 15, 67, 0, 0, 88, 67, 0, 0, 16, 67, 0, 0, 88, 67, 0, 0, 17, 67, 0, 0, 88, 67, 0, 0, 18, 67, 0, 0, 88, 67, 0, 0, 19, 67, 0, 0, 88, 67, 0, 0, 20, 67, 0, 0, 88, 67, 0, 0, 21, 67, 0, 0, 88, 67, 0, 0, 22, 67, 0, 0, 88, 67, 0, 0, 23, 67, 0, 0, 88, 67, 0, 0, 24, 67, 0, 0, 88, 67, 0, 0, 25, 67, 0, 0, 88, 67, 0, 0, 26, 67, 0, 0, 88, 67, 0, 0, 27, 67, 0, 0, 88, 67, 0, 0, 35, 67, 0, 0, 88, 67, 0, 0, 36, 67, 0, 0, 88, 67, 0, 0, 37, 67, 0, 0, 88, 67, 0, 0, 38, 67, 0, 0, 88, 67, 0, 0, 39, 67, 0, 0, 88, 67, 0, 0, 40, 67, 0, 0, 88, 67, 0, 0, 41, 67, 0, 0, 88, 67, 0, 0, 42, 67, 0, 0, 88, 67, 0, 0, 43, 67, 0, 0, 88, 67, 0, 0, 44, 67, 0, 0, 88, 67, 0, 0, 45, 67, 0, 0, 88, 67, 0, 0, 46, 67, 0, 0, 88, 67, 0, 0, 47, 67, 0, 0, 88, 67, 0, 0, 48, 67, 0, 0, 88, 67, 0, 0, 49, 67, 0, 0, 88, 67, 0, 0, 50, 67, 0, 0, 88, 67, 0, 0, 51, 67, 0, 0, 88, 67, 0, 0, 52, 67, 0, 0, 88, 67, 0, 0, 53, 67, 0, 0, 88, 67, 0, 0, 54, 67, 0, 0, 88, 67, 0, 0, 55, 67, 0, 0, 88, 67, 0, 0, 56, 67, 0, 0, 89, 67, 0, 0, 182, 66, 0, 0, 89, 67, 0, 0, 184, 66, 0, 0, 89, 67, 0, 0, 186, 66, 0, 0, 89, 67, 0, 0, 188, 66, 0, 0, 89, 67, 0, 0, 190, 66, 0, 0, 89, 67, 0, 0, 192, 66, 0, 0, 89, 67, 0, 0, 194, 66, 0, 0, 89, 67, 0, 0, 196, 66, 0, 0, 89, 67, 0, 0, 198, 66, 0, 0, 89, 67, 0, 0, 200, 66, 0, 0, 89, 67, 0, 0, 202, 66, 0, 0, 89, 67, 0, 0, 204, 66, 0, 0, 89, 67, 0, 0, 206, 66, 0, 0, 89, 67, 0, 0, 208, 66, 0, 0, 89, 67, 0, 0, 210, 66, 0, 0, 89, 67, 0, 0, 212, 66, 0, 0, 89, 67, 0, 0, 214, 66, 0, 0, 89, 67, 0, 0, 216, 66, 0, 0, 89, 67, 0, 0, 218, 66, 0, 0, 89, 67, 0, 0, 220, 66, 0, 0, 89, 67, 0, 0, 222, 66, 0, 0, 89, 67, 0, 0, 224, 66, 0, 0, 89, 67, 0, 0, 226, 66, 0, 0, 89, 67, 0, 0, 228, 66, 0, 0, 89, 67, 0, 0, 230, 66, 0, 0, 89, 67, 0, 0, 232, 66, 0, 0, 89, 67, 0, 0, 234, 66, 0, 0, 89, 67, 0, 0, 236, 66, 0, 0, 89, 67, 0, 0, 238, 66, 0, 0, 89, 67, 0, 0, 240, 66, 0, 0, 89, 67, 0, 0, 242, 66, 0, 0, 89, 67, 0, 0, 244, 66, 0, 0, 89, 67, 0, 0, 246, 66, 0, 0, 89, 67, 0, 0, 248, 66, 0, 0, 89, 67, 0, 0, 250, 66, 0, 0, 89, 67, 0, 0, 252, 66, 0, 0, 89, 67, 0, 0, 254, 66, 0, 0, 89, 67, 0, 0, 0, 67, 0, 0, 89, 67, 0, 0, 1, 67, 0, 0, 89, 67, 0, 0, 2, 67, 0, 0, 89, 67, 0, 0, 3, 67, 0, 0, 89, 67, 0, 0, 4, 67, 0, 0, 89, 67, 0, 0, 5, 67, 0, 0, 89, 67, 0, 0, 6, 67, 0, 0, 89, 67, 0, 0, 7, 67, 0, 0, 89, 67, 0, 0, 8, 67, 0, 0, 89, 67, 0, 0, 9, 67, 0, 0, 89, 67, 0, 0, 10, 67, 0, 0, 89, 67, 0, 0, 11, 67, 0, 0, 89, 67, 0, 0, 12, 67, 0, 0, 89, 67, 0, 0, 13, 67, 0, 0, 89, 67, 0, 0, 14, 67, 0, 0, 89, 67, 0, 0, 15, 67, 0, 0, 89, 67, 0, 0, 16, 67, 0, 0, 89, 67, 0, 0, 17, 67, 0, 0, 89, 67, 0, 0, 18, 67, 0, 0, 89, 67, 0, 0, 19, 67, 0, 0, 89, 67, 0, 0, 20, 67, 0, 0, 89, 67, 0, 0, 21, 67, 0, 0, 89, 67, 0, 0, 22, 67, 0, 0, 89, 67, 0, 0, 23, 67, 0, 0, 89, 67, 0, 0, 24, 67, 0, 0, 89, 67, 0, 0, 25, 67, 0, 0, 89, 67, 0, 0, 26, 67, 0, 0, 89, 67, 0, 0, 36, 67, 0, 0, 89, 67, 0, 0, 37, 67, 0, 0, 89, 67, 0, 0, 38, 67, 0, 0, 89, 67, 0, 0, 39, 67, 0, 0, 89, 67, 0, 0, 40, 67, 0, 0, 89, 67, 0, 0, 41, 67, 0, 0, 89, 67, 0, 0, 42, 67, 0, 0, 89, 67, 0, 0, 43, 67, 0, 0, 89, 67, 0, 0, 44, 67, 0, 0, 89, 67, 0, 0, 45, 67, 0, 0, 89, 67, 0, 0, 46, 67, 0, 0, 89, 67, 0, 0, 47, 67, 0, 0, 89, 67, 0, 0, 48, 67, 0, 0, 89, 67, 0, 0, 49, 67, 0, 0, 89, 67, 0, 0, 50, 67, 0, 0, 89, 67, 0, 0, 51, 67, 0, 0, 89, 67, 0, 0, 52, 67, 0, 0, 89, 67, 0, 0, 53, 67, 0, 0, 89, 67, 0, 0, 54, 67, 0, 0, 89, 67, 0, 0, 55, 67, 0, 0, 90, 67, 0, 0, 184, 66, 0, 0, 90, 67, 0, 0, 186, 66, 0, 0, 90, 67, 0, 0, 188, 66, 0, 0, 90, 67, 0, 0, 190, 66, 0, 0, 90, 67, 0, 0, 192, 66, 0, 0, 90, 67, 0, 0, 194, 66, 0, 0, 90, 67, 0, 0, 196, 66, 0, 0, 90, 67, 0, 0, 198, 66, 0, 0, 90, 67, 0, 0, 200, 66, 0, 0, 90, 67, 0, 0, 202, 66, 0, 0, 90, 67, 0, 0, 204, 66, 0, 0, 90, 67, 0, 0, 206, 66, 0, 0, 90, 67, 0, 0, 208, 66, 0, 0, 90, 67, 0, 0, 210, 66, 0, 0, 90, 67, 0, 0, 212, 66, 0, 0, 90, 67, 0, 0, 214, 66, 0, 0, 90, 67, 0, 0, 216, 66, 0, 0, 90, 67, 0, 0, 218, 66, 0, 0, 90, 67, 0, 0, 220, 66, 0, 0, 90, 67, 0, 0, 222, 66, 0, 0, 90, 67, 0, 0, 224, 66, 0, 0, 90, 67, 0, 0, 226, 66, 0, 0, 90, 67, 0, 0, 228, 66, 0, 0, 90, 67, 0, 0, 230, 66, 0, 0, 90, 67, 0, 0, 232, 66, 0, 0, 90, 67, 0, 0, 234, 66, 0, 0, 90, 67, 0, 0, 236, 66, 0, 0, 90, 67, 0, 0, 238, 66, 0, 0, 90, 67, 0, 0, 240, 66, 0, 0, 90, 67, 0, 0, 242, 66, 0, 0, 90, 67, 0, 0, 244, 66, 0, 0, 90, 67, 0, 0, 246, 66, 0, 0, 90, 67, 0, 0, 248, 66, 0, 0, 90, 67, 0, 0, 250, 66, 0, 0, 90, 67, 0, 0, 252, 66, 0, 0, 90, 67, 0, 0, 254, 66, 0, 0, 90, 67, 0, 0, 0, 67, 0, 0, 90, 67, 0, 0, 1, 67, 0, 0, 90, 67, 0, 0, 2, 67, 0, 0, 90, 67, 0, 0, 3, 67, 0, 0, 90, 67, 0, 0, 4, 67, 0, 0, 90, 67, 0, 0, 5, 67, 0, 0, 90, 67, 0, 0, 6, 67, 0, 0, 90, 67, 0, 0, 7, 67, 0, 0, 90, 67, 0, 0, 8, 67, 0, 0, 90, 67, 0, 0, 9, 67, 0, 0, 90, 67, 0, 0, 10, 67, 0, 0, 90, 67, 0, 0, 11, 67, 0, 0, 90, 67, 0, 0, 12, 67, 0, 0, 90, 67, 0, 0, 13, 67, 0, 0, 90, 67, 0, 0, 14, 67, 0, 0, 90, 67, 0, 0, 15, 67, 0, 0, 90, 67, 0, 0, 36, 67, 0, 0, 90, 67, 0, 0, 37, 67, 0, 0, 90, 67, 0, 0, 38, 67, 0, 0, 90, 67, 0, 0, 39, 67, 0, 0, 90, 67, 0, 0, 40, 67, 0, 0, 90, 67, 0, 0, 41, 67, 0, 0, 90, 67, 0, 0, 42, 67, 0, 0, 90, 67, 0, 0, 43, 67, 0, 0, 90, 67, 0, 0, 44, 67, 0, 0, 90, 67, 0, 0, 45, 67, 0, 0, 90, 67, 0, 0, 46, 67, 0, 0, 90, 67, 0, 0, 47, 67, 0, 0, 90, 67, 0, 0, 48, 67, 0, 0, 90, 67, 0, 0, 49, 67, 0, 0, 90, 67, 0, 0, 50, 67, 0, 0, 90, 67, 0, 0, 51, 67, 0, 0, 90, 67, 0, 0, 52, 67, 0, 0, 90, 67, 0, 0, 53, 67, 0, 0, 90, 67, 0, 0, 54, 67, 0, 0, 90, 67, 0, 0, 55, 67, 0, 0, 91, 67, 0, 0, 184, 66, 0, 0, 91, 67, 0, 0, 186, 66, 0, 0, 91, 67, 0, 0, 188, 66, 0, 0, 91, 67, 0, 0, 190, 66, 0, 0, 91, 67, 0, 0, 192, 66, 0, 0, 91, 67, 0, 0, 194, 66, 0, 0, 91, 67, 0, 0, 196, 66, 0, 0, 91, 67, 0, 0, 198, 66, 0, 0, 91, 67, 0, 0, 200, 66, 0, 0, 91, 67, 0, 0, 202, 66, 0, 0, 91, 67, 0, 0, 204, 66, 0, 0, 91, 67, 0, 0, 206, 66, 0, 0, 91, 67, 0, 0, 208, 66, 0, 0, 91, 67, 0, 0, 210, 66, 0, 0, 91, 67, 0, 0, 212, 66, 0, 0, 91, 67, 0, 0, 214, 66, 0, 0, 91, 67, 0, 0, 216, 66, 0, 0, 91, 67, 0, 0, 218, 66, 0, 0, 91, 67, 0, 0, 220, 66, 0, 0, 91, 67, 0, 0, 222, 66, 0, 0, 91, 67, 0, 0, 224, 66, 0, 0, 91, 67, 0, 0, 226, 66, 0, 0, 91, 67, 0, 0, 228, 66, 0, 0, 91, 67, 0, 0, 230, 66, 0, 0, 91, 67, 0, 0, 232, 66, 0, 0, 91, 67, 0, 0, 234, 66, 0, 0, 91, 67, 0, 0, 236, 66, 0, 0, 91, 67, 0, 0, 238, 66, 0, 0, 91, 67, 0, 0, 240, 66, 0, 0, 91, 67, 0, 0, 242, 66, 0, 0, 91, 67, 0, 0, 244, 66, 0, 0, 91, 67, 0, 0, 246, 66, 0, 0, 91, 67, 0, 0, 248, 66, 0, 0, 91, 67, 0, 0, 250, 66, 0, 0, 91, 67, 0, 0, 252, 66, 0, 0, 91, 67, 0, 0, 254, 66, 0, 0, 91, 67, 0, 0, 0, 67, 0, 0, 91, 67, 0, 0, 1, 67, 0, 0, 91, 67, 0, 0, 2, 67, 0, 0, 91, 67, 0, 0, 3, 67, 0, 0, 91, 67, 0, 0, 4, 67, 0, 0, 91, 67, 0, 0, 5, 67, 0, 0, 91, 67, 0, 0, 6, 67, 0, 0, 91, 67, 0, 0, 7, 67, 0, 0, 91, 67, 0, 0, 8, 67, 0, 0, 91, 67, 0, 0, 9, 67, 0, 0, 91, 67, 0, 0, 10, 67, 0, 0, 91, 67, 0, 0, 37, 67, 0, 0, 91, 67, 0, 0, 38, 67, 0, 0, 91, 67, 0, 0, 39, 67, 0, 0, 91, 67, 0, 0, 40, 67, 0, 0, 91, 67, 0, 0, 41, 67, 0, 0, 91, 67, 0, 0, 42, 67, 0, 0, 91, 67, 0, 0, 43, 67, 0, 0, 91, 67, 0, 0, 44, 67, 0, 0, 91, 67, 0, 0, 45, 67, 0, 0, 91, 67, 0, 0, 46, 67, 0, 0, 91, 67, 0, 0, 47, 67, 0, 0, 91, 67, 0, 0, 48, 67, 0, 0, 91, 67, 0, 0, 49, 67, 0, 0, 91, 67, 0, 0, 50, 67, 0, 0, 91, 67, 0, 0, 51, 67, 0, 0, 91, 67, 0, 0, 52, 67, 0, 0, 91, 67, 0, 0, 53, 67, 0, 0, 91, 67, 0, 0, 54, 67, 0, 0, 92, 67, 0, 0, 186, 66, 0, 0, 92, 67, 0, 0, 188, 66, 0, 0, 92, 67, 0, 0, 190, 66, 0, 0, 92, 67, 0, 0, 192, 66, 0, 0, 92, 67, 0, 0, 194, 66, 0, 0, 92, 67, 0, 0, 196, 66, 0, 0, 92, 67, 0, 0, 198, 66, 0, 0, 92, 67, 0, 0, 200, 66, 0, 0, 92, 67, 0, 0, 202, 66, 0, 0, 92, 67, 0, 0, 204, 66, 0, 0, 92, 67, 0, 0, 206, 66, 0, 0, 92, 67, 0, 0, 208, 66, 0, 0, 92, 67, 0, 0, 210, 66, 0, 0, 92, 67, 0, 0, 212, 66, 0, 0, 92, 67, 0, 0, 214, 66, 0, 0, 92, 67, 0, 0, 216, 66, 0, 0, 92, 67, 0, 0, 218, 66, 0, 0, 92, 67, 0, 0, 220, 66, 0, 0, 92, 67, 0, 0, 222, 66, 0, 0, 92, 67, 0, 0, 224, 66, 0, 0, 92, 67, 0, 0, 226, 66, 0, 0, 92, 67, 0, 0, 228, 66, 0, 0, 92, 67, 0, 0, 230, 66, 0, 0, 92, 67, 0, 0, 232, 66, 0, 0, 92, 67, 0, 0, 234, 66, 0, 0, 92, 67, 0, 0, 236, 66, 0, 0, 92, 67, 0, 0, 238, 66, 0, 0, 92, 67, 0, 0, 240, 66, 0, 0, 92, 67, 0, 0, 242, 66, 0, 0, 92, 67, 0, 0, 244, 66, 0, 0, 92, 67, 0, 0, 246, 66, 0, 0, 92, 67, 0, 0, 248, 66, 0, 0, 92, 67, 0, 0, 250, 66, 0, 0, 92, 67, 0, 0, 252, 66, 0, 0, 92, 67, 0, 0, 254, 66, 0, 0, 92, 67, 0, 0, 0, 67, 0, 0, 92, 67, 0, 0, 1, 67, 0, 0, 92, 67, 0, 0, 2, 67, 0, 0, 92, 67, 0, 0, 3, 67, 0, 0, 92, 67, 0, 0, 38, 67, 0, 0, 92, 67, 0, 0, 39, 67, 0, 0, 92, 67, 0, 0, 40, 67, 0, 0, 92, 67, 0, 0, 41, 67, 0, 0, 92, 67, 0, 0, 42, 67, 0, 0, 92, 67, 0, 0, 43, 67, 0, 0, 92, 67, 0, 0, 44, 67, 0, 0, 92, 67, 0, 0, 45, 67, 0, 0, 92, 67, 0, 0, 46, 67, 0, 0, 92, 67, 0, 0, 47, 67, 0, 0, 92, 67, 0, 0, 48, 67, 0, 0, 92, 67, 0, 0, 49, 67, 0, 0, 92, 67, 0, 0, 50, 67, 0, 0, 92, 67, 0, 0, 51, 67, 0, 0, 92, 67, 0, 0, 52, 67, 0, 0, 92, 67, 0, 0, 53, 67, 0, 0, 93, 67, 0, 0, 188, 66, 0, 0, 93, 67, 0, 0, 190, 66, 0, 0, 93, 67, 0, 0, 192, 66, 0, 0, 93, 67, 0, 0, 194, 66, 0, 0, 93, 67, 0, 0, 196, 66, 0, 0, 93, 67, 0, 0, 198, 66, 0, 0, 93, 67, 0, 0, 200, 66, 0, 0, 93, 67, 0, 0, 202, 66, 0, 0, 93, 67, 0, 0, 204, 66, 0, 0, 93, 67, 0, 0, 206, 66, 0, 0, 93, 67, 0, 0, 208, 66, 0, 0, 93, 67, 0, 0, 210, 66, 0, 0, 93, 67, 0, 0, 212, 66, 0, 0, 93, 67, 0, 0, 214, 66, 0, 0, 93, 67, 0, 0, 216, 66, 0, 0, 93, 67, 0, 0, 218, 66, 0, 0, 93, 67, 0, 0, 220, 66, 0, 0, 93, 67, 0, 0, 222, 66, 0, 0, 93, 67, 0, 0, 224, 66, 0, 0, 93, 67, 0, 0, 226, 66, 0, 0, 93, 67, 0, 0, 228, 66, 0, 0, 93, 67, 0, 0, 230, 66, 0, 0, 93, 67, 0, 0, 232, 66, 0, 0, 93, 67, 0, 0, 234, 66, 0, 0, 93, 67, 0, 0, 236, 66, 0, 0, 93, 67, 0, 0, 238, 66, 0, 0, 93, 67, 0, 0, 240, 66, 0, 0, 93, 67, 0, 0, 242, 66, 0, 0, 93, 67, 0, 0, 244, 66, 0, 0, 93, 67, 0, 0, 246, 66, 0, 0, 93, 67, 0, 0, 248, 66, 0, 0, 93, 67, 0, 0, 250, 66, 0, 0, 93, 67, 0, 0, 252, 66, 0, 0, 93, 67, 0, 0, 254, 66, 0, 0, 93, 67, 0, 0, 0, 67, 0, 0, 93, 67, 0, 0, 39, 67, 0, 0, 93, 67, 0, 0, 40, 67, 0, 0, 93, 67, 0, 0, 41, 67, 0, 0, 93, 67, 0, 0, 42, 67, 0, 0, 93, 67, 0, 0, 43, 67, 0, 0, 93, 67, 0, 0, 44, 67, 0, 0, 93, 67, 0, 0, 45, 67, 0, 0, 93, 67, 0, 0, 46, 67, 0, 0, 93, 67, 0, 0, 47, 67, 0, 0, 93, 67, 0, 0, 48, 67, 0, 0, 93, 67, 0, 0, 49, 67, 0, 0, 93, 67, 0, 0, 50, 67, 0, 0, 93, 67, 0, 0, 51, 67, 0, 0, 93, 67, 0, 0, 52, 67, 0, 0, 94, 67, 0, 0, 190, 66, 0, 0, 94, 67, 0, 0, 192, 66, 0, 0, 94, 67, 0, 0, 194, 66, 0, 0, 94, 67, 0, 0, 196, 66, 0, 0, 94, 67, 0, 0, 198, 66, 0, 0, 94, 67, 0, 0, 200, 66, 0, 0, 94, 67, 0, 0, 202, 66, 0, 0, 94, 67, 0, 0, 204, 66, 0, 0, 94, 67, 0, 0, 206, 66, 0, 0, 94, 67, 0, 0, 208, 66, 0, 0, 94, 67, 0, 0, 210, 66, 0, 0, 94, 67, 0, 0, 212, 66, 0, 0, 94, 67, 0, 0, 214, 66, 0, 0, 94, 67, 0, 0, 216, 66, 0, 0, 94, 67, 0, 0, 218, 66, 0, 0, 94, 67, 0, 0, 220, 66, 0, 0, 94, 67, 0, 0, 222, 66, 0, 0, 94, 67, 0, 0, 224, 66, 0, 0, 94, 67, 0, 0, 226, 66, 0, 0, 94, 67, 0, 0, 228, 66, 0, 0, 94, 67, 0, 0, 230, 66, 0, 0, 94, 67, 0, 0, 232, 66, 0, 0, 94, 67, 0, 0, 234, 66, 0, 0, 94, 67, 0, 0, 236, 66, 0, 0, 94, 67, 0, 0, 238, 66, 0, 0, 94, 67, 0, 0, 240, 66, 0, 0, 94, 67, 0, 0, 242, 66, 0, 0, 94, 67, 0, 0, 244, 66, 0, 0, 94, 67, 0, 0, 41, 67, 0, 0, 94, 67, 0, 0, 42, 67, 0, 0, 94, 67, 0, 0, 43, 67, 0, 0, 94, 67, 0, 0, 44, 67, 0, 0, 94, 67, 0, 0, 45, 67, 0, 0, 94, 67, 0, 0, 46, 67, 0, 0, 94, 67, 0, 0, 47, 67, 0, 0, 94, 67, 0, 0, 48, 67, 0, 0, 94, 67, 0, 0, 49, 67, 0, 0, 94, 67, 0, 0, 50, 67, 0, 0, 95, 67, 0, 0, 192, 66, 0, 0, 95, 67, 0, 0, 194, 66, 0, 0, 95, 67, 0, 0, 196, 66, 0, 0, 95, 67, 0, 0, 198, 66, 0, 0, 95, 67, 0, 0, 200, 66, 0, 0, 95, 67, 0, 0, 202, 66, 0, 0, 95, 67, 0, 0, 204, 66, 0, 0, 95, 67, 0, 0, 206, 66, 0, 0, 95, 67, 0, 0, 208, 66, 0, 0, 95, 67, 0, 0, 210, 66, 0, 0, 95, 67, 0, 0, 212, 66, 0, 0, 95, 67, 0, 0, 214, 66, 0, 0, 95, 67, 0, 0, 216, 66, 0, 0, 95, 67, 0, 0, 218, 66, 0, 0, 95, 67, 0, 0, 220, 66, 0, 0, 95, 67, 0, 0, 222, 66, 0, 0, 95, 67, 0, 0, 224, 66, 0, 0, 95, 67, 0, 0, 226, 66, 0, 0, 95, 67, 0, 0, 228, 66, 0, 0, 95, 67, 0, 0, 230, 66, 0, 0, 95, 67, 0, 0, 232, 66, 0, 0, 95, 67, 0, 0, 234, 66, 0, 0, 95, 67, 0, 0, 236, 66, 0, 0, 95, 67, 0, 0, 238, 66, 0, 0, 95, 67, 0, 0, 42, 67, 0, 0, 95, 67, 0, 0, 43, 67, 0, 0, 95, 67, 0, 0, 44, 67, 0, 0, 95, 67, 0, 0, 45, 67, 0, 0, 95, 67, 0, 0, 46, 67, 0, 0, 95, 67, 0, 0, 47, 67, 0, 0, 95, 67, 0, 0, 48, 67, 0, 0, 95, 67, 0, 0, 49, 67, 0, 0, 96, 67, 0, 0, 196, 66, 0, 0, 96, 67, 0, 0, 198, 66, 0, 0, 96, 67, 0, 0, 200, 66, 0, 0, 96, 67, 0, 0, 202, 66, 0, 0, 96, 67, 0, 0, 204, 66, 0, 0, 96, 67, 0, 0, 206, 66, 0, 0, 96, 67, 0, 0, 208, 66, 0, 0, 96, 67, 0, 0, 210, 66, 0, 0, 96, 67, 0, 0, 212, 66, 0, 0, 96, 67, 0, 0, 214, 66, 0, 0, 96, 67, 0, 0, 216, 66, 0, 0, 96, 67, 0, 0, 218, 66, 0, 0, 96, 67, 0, 0, 220, 66, 0, 0, 96, 67, 0, 0, 222, 66, 0, 0, 96, 67, 0, 0, 224, 66, 0, 0, 96, 67, 0, 0, 226, 66, 0, 0, 97, 67, 0, 0, 200, 66, 0, 0, 97, 67, 0, 0, 202, 66, 0, 0, 97, 67, 0, 0, 204, 66, 0, 0, 97, 67, 0, 0, 206, 66, 0, 0, 97, 67, 0, 0, 208, 66, 0, 0, 97, 67, 0, 0, 210, 66, 0, 0, 97, 67, 0, 0, 212, 66, 0, 0, 97, 67, 0, 0, 214, 66, 0, 0, 97, 67, 0, 0, 216, 66, 0, 0, 97, 67, 0, 0, 218, 66, 0, 0, 97, 67, 0, 0, 220, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 2, 255, 12, 255, 82, 255, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 255, 80, 255, 11, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 2, 255, 12, 255, 82, 255, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 255, 80, 255, 11, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 70, 255, 208, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 255, 74, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 7, 255, 38, 255, 96, 255, 183, 255, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 255, 188, 255, 100, 255, 40, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 5, 255, 23, 255, 93, 255, 214, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 255, 91, 255, 22, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 5, 255, 23, 255, 93, 255, 214, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 255, 91, 255, 22, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 3, 255, 17, 255, 87, 255, 212, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 255, 88, 255, 19, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 25, 255, 117, 255, 186, 255, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 255, 187, 255, 118, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 10, 255, 50, 255, 121, 255, 221, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 221, 255, 119, 255, 49, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 10, 255, 50, 255, 121, 255, 221, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 221, 255, 119, 255, 49, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 8, 255, 42, 255, 112, 255, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 255, 114, 255, 44, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 4, 255, 63, 255, 176, 255, 240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 241, 255, 176, 255, 62, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 16, 255, 94, 255, 166, 255, 233, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 233, 255, 164, 255, 92, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 16, 255, 94, 255, 166, 255, 233, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 233, 255, 164, 255, 92, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 13, 255, 74, 255, 146, 255, 228, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 255, 151, 255, 79, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 13, 255, 54, 255, 121, 255, 214, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 255, 118, 255, 50, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 5, 255, 55, 255, 146, 255, 209, 255, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 255, 207, 255, 144, 255, 54, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 5, 255, 55, 255, 146, 255, 209, 255, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 255, 207, 255, 144, 255, 54, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 43, 255, 124, 255, 190, 255, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 240, 255, 194, 255, 128, 255, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 25, 255, 101, 255, 172, 255, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 237, 255, 167, 255, 96, 255, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 5, 255, 58, 255, 125, 255, 205, 255, 248, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 248, 255, 205, 255, 124, 255, 57, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 5, 255, 58, 255, 125, 255, 205, 255, 248, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 248, 255, 205, 255, 124, 255, 57, 255, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 34, 255, 99, 255, 193, 255, 244, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 244, 255, 190, 255, 92, 255, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 37, 255, 145, 255, 215, 255, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 255, 210, 255, 140, 255, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 4, 255, 14, 255, 21, 255, 25, 255, 29, 255, 34, 255, 39, 255, 43, 255, 73, 255, 130, 255, 186, 255, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 241, 255, 186, 255, 130, 255, 73, 255, 42, 255, 39, 255, 34, 255, 29, 255, 25, 255, 21, 255, 14, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 4, 255, 14, 255, 21, 255, 25, 255, 29, 255, 34, 255, 39, 255, 43, 255, 73, 255, 130, 255, 186, 255, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 241, 255, 186, 255, 130, 255, 73, 255, 42, 255, 39, 255, 34, 255, 29, 255, 25, 255, 21, 255, 14, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 255, 4, 255, 14, 255, 21, 255, 23, 255, 27, 255, 33, 255, 39, 255, 44, 255, 67, 255, 106, 255, 162, 255, 235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 255, 155, 255, 98, 255, 61, 255, 40, 255, 36, 255, 31, 255, 26, 255, 22, 255, 20, 255, 14, 255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 45, 255, 175, 255, 245, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 240, 255, 171, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 15, 255, 58, 255, 87, 255, 100, 255, 117, 255, 137, 255, 159, 255, 181, 255, 203, 255, 222, 255, 239, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 239, 255, 222, 255, 202, 255, 181, 255, 158, 255, 137, 255, 117, 255, 100, 255, 87, 255, 58, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 15, 255, 58, 255, 87, 255, 100, 255, 117, 255, 137, 255, 159, 255, 181, 255, 203, 255, 222, 255, 239, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 239, 255, 222, 255, 202, 255, 181, 255, 158, 255, 137, 255, 117, 255, 100, 255, 87, 255, 58, 255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 255, 17, 255, 59, 255, 84, 255, 92, 255, 108, 255, 132, 255, 157, 255, 183, 255, 203, 255, 217, 255, 233, 255, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 255, 231, 255, 213, 255, 194, 255, 173, 255, 148, 255, 125, 255, 104, 255, 89, 255, 82, 255, 58, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 49, 255, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 255, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 27, 255, 107, 255, 155, 255, 170, 255, 187, 255, 207, 255, 229, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 229, 255, 207, 255, 187, 255, 170, 255, 155, 255, 107, 255, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 27, 255, 107, 255, 155, 255, 170, 255, 187, 255, 207, 255, 229, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 229, 255, 207, 255, 187, 255, 170, 255, 155, 255, 107, 255, 27, 0, 0, 0, 0, 0, 0, 0, 0, 255, 33, 255, 115, 255, 159, 255, 163, 255, 178, 255, 202, 255, 227, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 255, 218, 255, 195, 255, 173, 255, 161, 255, 157, 255, 114, 255, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 51, 255, 199, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 255, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 41, 255, 162, 255, 226, 255, 234, 255, 240, 255, 244, 255, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 249, 255, 244, 255, 240, 255, 234, 255, 226, 255, 162, 255, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 41, 255, 162, 255, 226, 255, 234, 255, 240, 255, 244, 255, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 249, 255, 244, 255, 240, 255, 234, 255, 226, 255, 162, 255, 41, 0, 0, 0, 0, 0, 0, 0, 0, 255, 52, 255, 183, 255, 244, 255, 237, 255, 236, 255, 242, 255, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 247, 255, 241, 255, 235, 255, 236, 255, 244, 255, 182, 255, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 50, 255, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 255, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 47, 255, 187, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 255, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 47, 255, 187, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 255, 47, 0, 0, 0, 0, 0, 0, 0, 0, 255, 61, 255, 213, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 255, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 47, 255, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 255, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 46, 255, 182, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 182, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 46, 255, 182, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 182, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 255, 60, 255, 208, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 208, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 42, 255, 166, 255, 236, 255, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 239, 255, 169, 255, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 46, 255, 180, 255, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 255, 180, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 46, 255, 180, 255, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 255, 180, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 255, 59, 255, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 33, 255, 133, 255, 203, 255, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 255, 208, 255, 137, 255, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 46, 255, 180, 255, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 255, 180, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 46, 255, 180, 255, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 255, 180, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 255, 59, 255, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 21, 255, 86, 255, 157, 255, 235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 255, 163, 255, 92, 255, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 46, 255, 180, 255, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 255, 180, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 46, 255, 180, 255, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 255, 180, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 255, 59, 255, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 10, 255, 42, 255, 108, 255, 209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 255, 114, 255, 47, 255, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 46, 255, 180, 255, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 255, 180, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 46, 255, 180, 255, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 255, 180, 255, 46, 0, 0, 0, 0, 0, 0, 0, 0, 255, 59, 255, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 255, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 57, 255, 168, 255, 234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 255, 173, 255, 60, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 47, 255, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 184, 255, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 47, 255, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 184, 255, 47, 0, 0, 0, 0, 0, 0, 0, 0, 255, 60, 255, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 255, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 23, 255, 109, 255, 177, 255, 228, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 255, 184, 255, 115, 255, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 49, 255, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 255, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 49, 255, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 255, 49, 0, 0, 0, 0, 0, 0, 0, 0, 255, 63, 255, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 6, 255, 33, 255, 90, 255, 179, 255, 235, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 255, 184, 255, 96, 255, 37, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 36, 255, 143, 255, 199, 255, 203, 255, 205, 255, 204, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 204, 255, 205, 255, 203, 255, 199, 255, 143, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 36, 255, 143, 255, 199, 255, 203, 255, 205, 255, 204, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 204, 255, 205, 255, 203, 255, 199, 255, 143, 255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 255, 47, 255, 163, 255, 217, 255, 208, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 203, 255, 208, 255, 217, 255, 163, 255, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 33, 255, 110, 255, 170, 255, 211, 255, 237, 255, 246, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 246, 255, 237, 255, 213, 255, 173, 255, 115, 255, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 9, 255, 37, 255, 51, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 51, 255, 37, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 9, 255, 37, 255, 51, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 51, 255, 37, 255, 9, 0, 0, 0, 0, 0, 0, 0, 0, 255, 12, 255, 42, 255, 55, 255, 53, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 52, 255, 53, 255, 55, 255, 42, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 6, 255, 23, 255, 59, 255, 114, 255, 164, 255, 210, 255, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 255, 211, 255, 168, 255, 117, 255, 61, 255, 24, 255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 3, 255, 48, 255, 93, 255, 140, 255, 171, 255, 188, 255, 197, 255, 197, 255, 189, 255, 172, 255, 141, 255, 96, 255, 50, 255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 11, 255, 23, 255, 35, 255, 44, 255, 48, 255, 50, 255, 50, 255, 48, 255, 44, 255, 36, 255, 24, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), "format": "RGFloat", @@ -181,7 +181,7 @@ data = { } [sub_resource type="ImageTexture" id="ImageTexture_4v5mq"] -image = SubResource("Image_r68lw") +image = SubResource("Image_75ba6") [sub_resource type="ParticleProcessMaterial" id="28"] emission_shape = 4 @@ -190,7 +190,7 @@ emission_point_count = 10554 gravity = Vector3(0, 0, 0) color = Color(1, 0.550781, 0.550781, 1) -[sub_resource type="Image" id="Image_gtq67"] +[sub_resource type="Image" id="Image_deg5m"] data = { "data": PackedByteArray(242, 4, 53, 191, 244, 4, 53, 191, 6, 238, 108, 191, 252, 232, 193, 190, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 225, 194, 125, 191, 222, 32, 7, 62, 97, 227, 108, 191, 248, 28, 194, 62, 145, 189, 94, 191, 194, 94, 252, 190, 225, 194, 125, 191, 221, 32, 7, 190, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 6, 238, 108, 191, 252, 232, 193, 62, 243, 4, 53, 191, 243, 4, 53, 63, 252, 232, 193, 190, 6, 238, 108, 191, 224, 72, 102, 191, 187, 166, 223, 62, 243, 4, 53, 191, 243, 4, 53, 63, 193, 94, 252, 190, 145, 189, 94, 191, 243, 4, 53, 191, 243, 4, 53, 191, 251, 232, 193, 190, 6, 238, 108, 63, 13, 82, 8, 50, 0, 0, 128, 191, 187, 166, 223, 190, 224, 72, 102, 63, 247, 28, 194, 190, 97, 227, 108, 63, 8, 157, 132, 190, 141, 67, 119, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 221, 32, 7, 190, 225, 194, 125, 63, 200, 37, 122, 190, 125, 62, 120, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 52, 187, 131, 190, 185, 97, 119, 191, 10, 165, 146, 190, 103, 70, 117, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 220, 32, 7, 190, 225, 194, 125, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 225, 158, 0, 190, 248, 248, 125, 63, 224, 158, 0, 190, 248, 248, 125, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 244, 167, 193, 190, 82, 251, 108, 63, 200, 37, 122, 190, 125, 62, 120, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 228, 113, 23, 191, 20, 102, 78, 63, 7, 59, 27, 191, 30, 145, 75, 63, 193, 94, 252, 190, 145, 189, 94, 191, 178, 171, 227, 190, 65, 76, 101, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 243, 4, 53, 191, 242, 4, 53, 63, 243, 4, 53, 191, 243, 4, 53, 63, 56, 169, 30, 191, 153, 231, 72, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 243, 4, 53, 191, 242, 4, 53, 63, 30, 145, 75, 191, 7, 59, 27, 63, 77, 191, 75, 191, 100, 254, 26, 191, 153, 231, 72, 191, 56, 169, 30, 191, 244, 4, 53, 191, 244, 4, 53, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 21, 102, 78, 191, 227, 113, 23, 63, 117, 233, 92, 191, 16, 92, 1, 63, 97, 227, 108, 191, 248, 28, 194, 62, 145, 189, 94, 191, 193, 94, 252, 190, 74, 151, 80, 191, 51, 105, 20, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 65, 76, 101, 191, 178, 171, 227, 62, 125, 62, 120, 191, 201, 37, 122, 62, 248, 248, 125, 191, 226, 158, 0, 62, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 248, 248, 125, 191, 225, 158, 0, 190, 82, 251, 108, 191, 244, 167, 193, 190, 21, 102, 78, 191, 228, 113, 23, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 65, 76, 101, 63, 178, 171, 227, 62, 125, 62, 120, 63, 200, 37, 122, 62, 248, 248, 125, 63, 225, 158, 0, 62, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 125, 62, 120, 63, 200, 37, 122, 190, 212, 127, 93, 63, 237, 89, 0, 191, 243, 4, 53, 63, 244, 4, 53, 191, 244, 4, 53, 63, 244, 4, 53, 63, 212, 127, 93, 63, 237, 89, 0, 63, 125, 62, 120, 63, 200, 37, 122, 62, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 248, 248, 125, 63, 224, 158, 0, 190, 82, 251, 108, 63, 244, 167, 193, 190, 20, 102, 78, 63, 228, 113, 23, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 21, 102, 78, 63, 228, 113, 23, 63, 117, 233, 92, 63, 16, 92, 1, 63, 98, 227, 108, 63, 248, 28, 194, 62, 235, 89, 0, 63, 213, 127, 93, 191, 237, 89, 0, 63, 212, 127, 93, 63, 145, 189, 94, 63, 194, 94, 252, 190, 74, 151, 80, 63, 51, 105, 20, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 243, 4, 53, 63, 243, 4, 53, 63, 30, 145, 75, 63, 7, 59, 27, 63, 201, 37, 122, 62, 125, 62, 120, 191, 201, 37, 122, 62, 125, 62, 120, 63, 78, 191, 75, 63, 99, 254, 26, 191, 152, 231, 72, 63, 57, 169, 30, 191, 243, 4, 53, 63, 244, 4, 53, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 243, 4, 53, 63, 243, 4, 53, 63, 243, 4, 53, 63, 243, 4, 53, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 55, 169, 30, 63, 153, 231, 72, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 228, 113, 23, 63, 21, 102, 78, 63, 7, 59, 27, 63, 30, 145, 75, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 193, 94, 252, 62, 145, 189, 94, 191, 178, 171, 227, 62, 65, 76, 101, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 244, 167, 193, 62, 82, 251, 108, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 201, 37, 122, 62, 125, 62, 120, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 227, 158, 0, 62, 248, 248, 125, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 227, 158, 0, 62, 248, 248, 125, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 221, 32, 7, 62, 225, 194, 125, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 52, 187, 131, 62, 185, 97, 119, 191, 10, 165, 146, 62, 103, 70, 117, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 222, 32, 7, 62, 225, 194, 125, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 201, 37, 122, 62, 125, 62, 120, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 187, 166, 223, 62, 224, 72, 102, 63, 247, 28, 194, 62, 97, 227, 108, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 9, 157, 132, 62, 140, 67, 119, 191, 14, 82, 8, 50, 0, 0, 128, 63, 251, 232, 193, 62, 6, 238, 108, 191, 224, 72, 102, 63, 187, 166, 223, 62, 243, 4, 53, 63, 243, 4, 53, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 193, 94, 252, 62, 145, 189, 94, 191, 243, 4, 53, 63, 243, 4, 53, 191, 252, 232, 193, 62, 6, 238, 108, 63, 242, 4, 53, 63, 244, 4, 53, 191, 6, 238, 108, 63, 251, 232, 193, 190, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 225, 194, 125, 63, 221, 32, 7, 62, 98, 227, 108, 63, 248, 28, 194, 62, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 145, 189, 94, 63, 191, 94, 252, 190, 225, 194, 125, 63, 220, 32, 7, 190, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 6, 238, 108, 63, 251, 232, 193, 62, 243, 4, 53, 63, 243, 4, 53, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 242, 4, 53, 191, 244, 4, 53, 191, 6, 238, 108, 191, 252, 232, 193, 190, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 225, 194, 125, 191, 222, 32, 7, 62, 97, 227, 108, 191, 248, 28, 194, 62, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 145, 189, 94, 191, 194, 94, 252, 190, 225, 194, 125, 191, 221, 32, 7, 190, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 6, 238, 108, 191, 252, 232, 193, 62, 243, 4, 53, 191, 243, 4, 53, 63, 252, 232, 193, 190, 6, 238, 108, 191, 224, 72, 102, 191, 187, 166, 223, 62, 243, 4, 53, 191, 243, 4, 53, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 193, 94, 252, 190, 145, 189, 94, 191, 243, 4, 53, 191, 243, 4, 53, 191, 251, 232, 193, 190, 6, 238, 108, 63, 13, 82, 8, 50, 0, 0, 128, 191, 187, 166, 223, 190, 224, 72, 102, 63, 247, 28, 194, 190, 97, 227, 108, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 8, 157, 132, 190, 141, 67, 119, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 221, 32, 7, 190, 225, 194, 125, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 200, 37, 122, 190, 125, 62, 120, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 52, 187, 131, 190, 185, 97, 119, 191, 10, 165, 146, 190, 103, 70, 117, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 220, 32, 7, 190, 225, 194, 125, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 225, 158, 0, 190, 248, 248, 125, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 224, 158, 0, 190, 248, 248, 125, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 244, 167, 193, 190, 82, 251, 108, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 200, 37, 122, 190, 125, 62, 120, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 228, 113, 23, 191, 20, 102, 78, 63, 7, 59, 27, 191, 30, 145, 75, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 193, 94, 252, 190, 145, 189, 94, 191, 178, 171, 227, 190, 65, 76, 101, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 243, 4, 53, 191, 242, 4, 53, 63, 243, 4, 53, 191, 243, 4, 53, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 56, 169, 30, 191, 153, 231, 72, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 243, 4, 53, 191, 242, 4, 53, 63, 30, 145, 75, 191, 7, 59, 27, 63, 200, 37, 122, 190, 125, 62, 120, 191, 201, 37, 122, 190, 125, 62, 120, 63, 77, 191, 75, 191, 100, 254, 26, 191, 153, 231, 72, 191, 56, 169, 30, 191, 244, 4, 53, 191, 244, 4, 53, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 21, 102, 78, 191, 227, 113, 23, 63, 117, 233, 92, 191, 16, 92, 1, 63, 97, 227, 108, 191, 248, 28, 194, 62, 236, 89, 0, 191, 213, 127, 93, 191, 237, 89, 0, 191, 212, 127, 93, 63, 145, 189, 94, 191, 193, 94, 252, 190, 74, 151, 80, 191, 51, 105, 20, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 65, 76, 101, 191, 178, 171, 227, 62, 125, 62, 120, 191, 201, 37, 122, 62, 248, 248, 125, 191, 226, 158, 0, 62, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 125, 62, 120, 191, 201, 37, 122, 190, 213, 127, 93, 191, 236, 89, 0, 191, 244, 4, 53, 191, 244, 4, 53, 191, 244, 4, 53, 191, 243, 4, 53, 63, 212, 127, 93, 191, 236, 89, 0, 63, 125, 62, 120, 191, 201, 37, 122, 62, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 248, 248, 125, 191, 225, 158, 0, 190, 82, 251, 108, 191, 244, 167, 193, 190, 21, 102, 78, 191, 228, 113, 23, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 65, 76, 101, 63, 178, 171, 227, 62, 125, 62, 120, 63, 200, 37, 122, 62, 248, 248, 125, 63, 225, 158, 0, 62, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 248, 248, 125, 63, 224, 158, 0, 190, 82, 251, 108, 63, 244, 167, 193, 190, 20, 102, 78, 63, 228, 113, 23, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 21, 102, 78, 63, 228, 113, 23, 63, 117, 233, 92, 63, 16, 92, 1, 63, 98, 227, 108, 63, 248, 28, 194, 62, 145, 189, 94, 63, 194, 94, 252, 190, 74, 151, 80, 63, 51, 105, 20, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 243, 4, 53, 63, 243, 4, 53, 63, 30, 145, 75, 63, 7, 59, 27, 63, 78, 191, 75, 63, 99, 254, 26, 191, 152, 231, 72, 63, 57, 169, 30, 191, 243, 4, 53, 63, 244, 4, 53, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 243, 4, 53, 63, 243, 4, 53, 63, 243, 4, 53, 63, 243, 4, 53, 63, 55, 169, 30, 63, 153, 231, 72, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 228, 113, 23, 63, 21, 102, 78, 63, 7, 59, 27, 63, 30, 145, 75, 63, 193, 94, 252, 62, 145, 189, 94, 191, 178, 171, 227, 62, 65, 76, 101, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 244, 167, 193, 62, 82, 251, 108, 63, 201, 37, 122, 62, 125, 62, 120, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 227, 158, 0, 62, 248, 248, 125, 63, 227, 158, 0, 62, 248, 248, 125, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 221, 32, 7, 62, 225, 194, 125, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 52, 187, 131, 62, 185, 97, 119, 191, 10, 165, 146, 62, 103, 70, 117, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 222, 32, 7, 62, 225, 194, 125, 63, 201, 37, 122, 62, 125, 62, 120, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 187, 166, 223, 62, 224, 72, 102, 63, 247, 28, 194, 62, 97, 227, 108, 63, 9, 157, 132, 62, 140, 67, 119, 191, 14, 82, 8, 50, 0, 0, 128, 63, 251, 232, 193, 62, 6, 238, 108, 191, 224, 72, 102, 63, 187, 166, 223, 62, 243, 4, 53, 63, 243, 4, 53, 63, 193, 94, 252, 62, 145, 189, 94, 191, 243, 4, 53, 63, 243, 4, 53, 191, 252, 232, 193, 62, 6, 238, 108, 63, 242, 4, 53, 63, 244, 4, 53, 191, 6, 238, 108, 63, 251, 232, 193, 190, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 225, 194, 125, 63, 221, 32, 7, 62, 98, 227, 108, 63, 248, 28, 194, 62, 145, 189, 94, 63, 191, 94, 252, 190, 225, 194, 125, 63, 220, 32, 7, 190, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 6, 238, 108, 63, 251, 232, 193, 62, 243, 4, 53, 63, 243, 4, 53, 63, 242, 4, 53, 191, 244, 4, 53, 191, 6, 238, 108, 191, 252, 232, 193, 190, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 225, 194, 125, 191, 222, 32, 7, 62, 145, 189, 94, 191, 194, 94, 252, 62, 145, 189, 94, 191, 194, 94, 252, 190, 225, 194, 125, 191, 221, 32, 7, 190, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 6, 238, 108, 191, 252, 232, 193, 62, 243, 4, 53, 191, 243, 4, 53, 63, 252, 232, 193, 190, 6, 238, 108, 191, 243, 4, 53, 191, 243, 4, 53, 63, 192, 94, 252, 190, 145, 189, 94, 63, 193, 94, 252, 190, 145, 189, 94, 191, 243, 4, 53, 191, 243, 4, 53, 191, 251, 232, 193, 190, 6, 238, 108, 63, 13, 82, 8, 50, 0, 0, 128, 191, 221, 32, 7, 190, 225, 194, 125, 63, 8, 157, 132, 190, 141, 67, 119, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 225, 158, 0, 190, 248, 248, 125, 63, 200, 37, 122, 190, 125, 62, 120, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 201, 37, 122, 190, 125, 62, 120, 63, 52, 187, 131, 190, 185, 97, 119, 191, 10, 165, 146, 190, 103, 70, 117, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 10, 165, 146, 190, 103, 70, 117, 63, 52, 187, 131, 190, 185, 97, 119, 63, 220, 32, 7, 190, 225, 194, 125, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 221, 32, 7, 190, 225, 194, 125, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 225, 158, 0, 190, 248, 248, 125, 63, 224, 158, 0, 190, 248, 248, 125, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 244, 167, 193, 190, 82, 251, 108, 63, 242, 167, 193, 190, 81, 251, 108, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 228, 113, 23, 191, 20, 102, 78, 63, 7, 59, 27, 191, 30, 145, 75, 63, 7, 59, 27, 191, 30, 145, 75, 191, 228, 113, 23, 191, 21, 102, 78, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 243, 4, 53, 191, 242, 4, 53, 63, 30, 145, 75, 191, 7, 59, 27, 63, 30, 145, 75, 191, 7, 59, 27, 191, 243, 4, 53, 191, 243, 4, 53, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 21, 102, 78, 191, 227, 113, 23, 63, 117, 233, 92, 191, 16, 92, 1, 63, 97, 227, 108, 191, 248, 28, 194, 62, 97, 227, 108, 191, 247, 28, 194, 190, 117, 233, 92, 191, 16, 92, 1, 191, 21, 102, 78, 191, 228, 113, 23, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 65, 76, 101, 191, 178, 171, 227, 62, 125, 62, 120, 191, 201, 37, 122, 62, 248, 248, 125, 191, 226, 158, 0, 62, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 248, 248, 125, 191, 225, 158, 0, 190, 125, 62, 120, 191, 201, 37, 122, 190, 65, 76, 101, 191, 178, 171, 227, 190, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 65, 76, 101, 63, 178, 171, 227, 62, 125, 62, 120, 63, 200, 37, 122, 62, 248, 248, 125, 63, 225, 158, 0, 62, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 248, 248, 125, 63, 224, 158, 0, 190, 125, 62, 120, 63, 201, 37, 122, 190, 65, 76, 101, 63, 178, 171, 227, 190, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 21, 102, 78, 63, 228, 113, 23, 63, 117, 233, 92, 63, 16, 92, 1, 63, 98, 227, 108, 63, 248, 28, 194, 62, 98, 227, 108, 63, 247, 28, 194, 190, 117, 233, 92, 63, 16, 92, 1, 191, 20, 102, 78, 63, 228, 113, 23, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 243, 4, 53, 63, 243, 4, 53, 63, 30, 145, 75, 63, 7, 59, 27, 63, 30, 145, 75, 63, 8, 59, 27, 191, 242, 4, 53, 63, 243, 4, 53, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 228, 113, 23, 63, 21, 102, 78, 63, 7, 59, 27, 63, 30, 145, 75, 63, 8, 59, 27, 63, 30, 145, 75, 191, 227, 113, 23, 63, 21, 102, 78, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 244, 167, 193, 62, 82, 251, 108, 63, 244, 167, 193, 62, 82, 251, 108, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 227, 158, 0, 62, 248, 248, 125, 63, 227, 158, 0, 62, 248, 248, 125, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 221, 32, 7, 62, 225, 194, 125, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 222, 32, 7, 62, 225, 194, 125, 63, 52, 187, 131, 62, 185, 97, 119, 191, 10, 165, 146, 62, 103, 70, 117, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 10, 165, 146, 62, 103, 70, 117, 63, 53, 187, 131, 62, 185, 97, 119, 63, 201, 37, 122, 62, 125, 62, 120, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 201, 37, 122, 62, 125, 62, 120, 63, 227, 158, 0, 62, 248, 248, 125, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 9, 157, 132, 62, 140, 67, 119, 63, 221, 32, 7, 62, 225, 194, 125, 191, 14, 82, 8, 50, 0, 0, 128, 63, 251, 232, 193, 62, 6, 238, 108, 191, 243, 4, 53, 63, 243, 4, 53, 63, 194, 94, 252, 62, 145, 189, 94, 63, 193, 94, 252, 62, 145, 189, 94, 191, 243, 4, 53, 63, 243, 4, 53, 191, 252, 232, 193, 62, 6, 238, 108, 63, 242, 4, 53, 63, 244, 4, 53, 191, 6, 238, 108, 63, 251, 232, 193, 190, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 225, 194, 125, 63, 221, 32, 7, 62, 145, 189, 94, 63, 192, 94, 252, 62, 145, 189, 94, 63, 191, 94, 252, 190, 225, 194, 125, 63, 220, 32, 7, 190, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 6, 238, 108, 63, 251, 232, 193, 62, 243, 4, 53, 63, 243, 4, 53, 63, 97, 227, 108, 191, 248, 28, 194, 190, 225, 194, 125, 191, 221, 32, 7, 190, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 225, 194, 125, 191, 222, 32, 7, 62, 185, 97, 119, 191, 53, 187, 131, 62, 97, 227, 108, 191, 248, 28, 194, 190, 225, 194, 125, 191, 221, 32, 7, 190, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 225, 194, 125, 191, 222, 32, 7, 62, 97, 227, 108, 191, 248, 28, 194, 62, 145, 189, 94, 191, 193, 94, 252, 190, 224, 72, 102, 191, 187, 166, 223, 190, 103, 70, 117, 191, 10, 165, 146, 62, 125, 62, 120, 191, 201, 37, 122, 62, 248, 248, 125, 191, 226, 158, 0, 62, 225, 194, 125, 191, 222, 32, 7, 62, 185, 97, 119, 191, 53, 187, 131, 62, 145, 189, 94, 191, 193, 94, 252, 190, 224, 72, 102, 191, 187, 166, 223, 190, 224, 72, 102, 191, 187, 166, 223, 62, 145, 189, 94, 191, 193, 94, 252, 62, 97, 227, 108, 191, 248, 28, 194, 190, 140, 67, 119, 191, 8, 157, 132, 190, 82, 251, 108, 191, 244, 167, 193, 190, 21, 102, 78, 191, 228, 113, 23, 191, 103, 70, 117, 191, 10, 165, 146, 62, 125, 62, 120, 191, 201, 37, 122, 62, 248, 248, 125, 191, 226, 158, 0, 62, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 225, 194, 125, 191, 222, 32, 7, 62, 185, 97, 119, 191, 53, 187, 131, 62, 53, 41, 94, 191, 190, 103, 254, 190, 117, 233, 92, 191, 16, 92, 1, 191, 21, 102, 78, 191, 228, 113, 23, 191, 21, 102, 78, 191, 227, 113, 23, 63, 117, 233, 92, 191, 16, 92, 1, 63, 53, 41, 94, 191, 192, 103, 254, 62, 77, 191, 75, 191, 100, 254, 26, 191, 224, 72, 102, 191, 187, 166, 223, 190, 103, 70, 117, 191, 10, 165, 146, 62, 125, 62, 120, 191, 201, 37, 122, 62, 248, 248, 125, 191, 226, 158, 0, 62, 225, 194, 125, 191, 222, 32, 7, 62, 185, 97, 119, 191, 53, 187, 131, 62, 77, 191, 75, 191, 100, 254, 26, 191, 74, 151, 80, 191, 51, 105, 20, 191, 74, 151, 80, 191, 51, 105, 20, 63, 77, 191, 75, 191, 100, 254, 26, 63, 100, 254, 26, 191, 77, 191, 75, 191, 243, 4, 53, 191, 243, 4, 53, 191, 103, 70, 117, 191, 10, 165, 146, 62, 125, 62, 120, 191, 201, 37, 122, 62, 248, 248, 125, 191, 226, 158, 0, 62, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 225, 194, 125, 191, 222, 32, 7, 62, 185, 97, 119, 191, 53, 187, 131, 62, 100, 254, 26, 191, 77, 191, 75, 191, 243, 4, 53, 191, 243, 4, 53, 191, 243, 4, 53, 191, 242, 4, 53, 63, 100, 254, 26, 191, 77, 191, 75, 63, 191, 103, 254, 190, 53, 41, 94, 191, 51, 105, 20, 191, 74, 151, 80, 191, 103, 70, 117, 191, 10, 165, 146, 62, 125, 62, 120, 191, 201, 37, 122, 62, 248, 248, 125, 191, 226, 158, 0, 62, 225, 194, 125, 191, 222, 32, 7, 62, 185, 97, 119, 191, 53, 187, 131, 62, 191, 103, 254, 190, 53, 41, 94, 191, 51, 105, 20, 191, 74, 151, 80, 191, 51, 105, 20, 191, 74, 151, 80, 63, 191, 103, 254, 190, 53, 41, 94, 63, 251, 232, 193, 190, 6, 238, 108, 191, 103, 70, 117, 191, 10, 165, 146, 62, 125, 62, 120, 191, 201, 37, 122, 62, 248, 248, 125, 191, 226, 158, 0, 62, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 225, 194, 125, 191, 222, 32, 7, 62, 145, 189, 94, 191, 194, 94, 252, 62, 16, 92, 1, 191, 118, 233, 92, 191, 16, 92, 1, 191, 117, 233, 92, 63, 248, 28, 194, 190, 98, 227, 108, 191, 178, 171, 227, 190, 65, 76, 101, 191, 243, 4, 53, 191, 243, 4, 53, 63, 192, 94, 252, 190, 145, 189, 94, 63, 193, 94, 252, 190, 145, 189, 94, 191, 228, 113, 23, 191, 21, 102, 78, 191, 228, 113, 23, 191, 20, 102, 78, 63, 192, 94, 252, 190, 145, 189, 94, 63, 251, 232, 193, 190, 6, 238, 108, 191, 221, 32, 7, 190, 225, 194, 125, 63, 248, 28, 194, 190, 97, 227, 108, 191, 187, 166, 223, 190, 224, 72, 102, 191, 187, 166, 223, 190, 224, 72, 102, 63, 247, 28, 194, 190, 97, 227, 108, 63, 52, 187, 131, 190, 185, 97, 119, 191, 10, 165, 146, 190, 103, 70, 117, 191, 14, 82, 8, 50, 0, 0, 128, 63, 220, 32, 7, 190, 225, 194, 125, 191, 221, 32, 7, 190, 225, 194, 125, 63, 220, 32, 7, 190, 225, 194, 125, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 13, 82, 8, 50, 0, 0, 128, 191, 14, 82, 8, 50, 0, 0, 128, 63, 221, 32, 7, 62, 225, 194, 125, 191, 222, 32, 7, 62, 225, 194, 125, 63, 221, 32, 7, 62, 225, 194, 125, 191, 222, 32, 7, 62, 225, 194, 125, 63, 248, 28, 194, 62, 98, 227, 108, 191, 187, 166, 223, 62, 224, 72, 102, 191, 187, 166, 223, 62, 224, 72, 102, 63, 247, 28, 194, 62, 97, 227, 108, 63, 248, 28, 194, 62, 98, 227, 108, 191, 187, 166, 223, 62, 224, 72, 102, 191, 243, 4, 53, 63, 243, 4, 53, 63, 194, 94, 252, 62, 145, 189, 94, 63, 193, 94, 252, 62, 145, 189, 94, 191, 227, 113, 23, 63, 21, 102, 78, 191, 228, 113, 23, 63, 21, 102, 78, 63, 194, 94, 252, 62, 145, 189, 94, 63, 193, 94, 252, 62, 145, 189, 94, 191, 227, 113, 23, 63, 21, 102, 78, 191, 103, 70, 117, 63, 10, 165, 146, 62, 125, 62, 120, 63, 200, 37, 122, 62, 248, 248, 125, 63, 225, 158, 0, 62, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 225, 194, 125, 63, 221, 32, 7, 62, 145, 189, 94, 63, 192, 94, 252, 62, 16, 92, 1, 63, 117, 233, 92, 191, 16, 92, 1, 63, 117, 233, 92, 63, 16, 92, 1, 63, 117, 233, 92, 191, 103, 70, 117, 63, 10, 165, 146, 62, 125, 62, 120, 63, 200, 37, 122, 62, 248, 248, 125, 63, 225, 158, 0, 62, 0, 0, 128, 63, 13, 82, 136, 50, 225, 194, 125, 63, 221, 32, 7, 62, 185, 97, 119, 63, 52, 187, 131, 62, 192, 103, 254, 62, 53, 41, 94, 191, 51, 105, 20, 63, 74, 151, 80, 191, 51, 105, 20, 63, 74, 151, 80, 63, 191, 103, 254, 62, 53, 41, 94, 63, 192, 103, 254, 62, 53, 41, 94, 191, 51, 105, 20, 63, 74, 151, 80, 191, 103, 70, 117, 63, 10, 165, 146, 62, 125, 62, 120, 63, 200, 37, 122, 62, 248, 248, 125, 63, 225, 158, 0, 62, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 225, 194, 125, 63, 221, 32, 7, 62, 185, 97, 119, 63, 52, 187, 131, 62, 100, 254, 26, 63, 77, 191, 75, 191, 242, 4, 53, 63, 243, 4, 53, 191, 243, 4, 53, 63, 243, 4, 53, 63, 100, 254, 26, 63, 77, 191, 75, 63, 100, 254, 26, 63, 77, 191, 75, 191, 242, 4, 53, 63, 243, 4, 53, 191, 103, 70, 117, 63, 10, 165, 146, 62, 125, 62, 120, 63, 200, 37, 122, 62, 141, 67, 119, 63, 9, 157, 132, 62, 185, 97, 119, 63, 52, 187, 131, 62, 78, 191, 75, 63, 99, 254, 26, 191, 74, 151, 80, 63, 51, 105, 20, 191, 74, 151, 80, 63, 51, 105, 20, 63, 78, 191, 75, 63, 99, 254, 26, 63, 244, 4, 53, 63, 243, 4, 53, 191, 242, 4, 53, 63, 243, 4, 53, 191, 103, 70, 117, 63, 10, 165, 146, 62, 125, 62, 120, 63, 200, 37, 122, 62, 248, 248, 125, 63, 225, 158, 0, 62, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 225, 194, 125, 63, 221, 32, 7, 62, 185, 97, 119, 63, 52, 187, 131, 62, 53, 41, 94, 63, 190, 103, 254, 190, 117, 233, 92, 63, 16, 92, 1, 191, 20, 102, 78, 63, 228, 113, 23, 191, 21, 102, 78, 63, 228, 113, 23, 63, 117, 233, 92, 63, 16, 92, 1, 63, 53, 41, 94, 63, 191, 103, 254, 62, 78, 191, 75, 63, 99, 254, 26, 191, 74, 151, 80, 63, 51, 105, 20, 191, 103, 70, 117, 63, 10, 165, 146, 62, 125, 62, 120, 63, 200, 37, 122, 62, 141, 67, 119, 63, 9, 157, 132, 62, 185, 97, 119, 63, 52, 187, 131, 62, 145, 189, 94, 63, 194, 94, 252, 190, 224, 72, 102, 63, 187, 166, 223, 190, 224, 72, 102, 63, 187, 166, 223, 62, 145, 189, 94, 63, 192, 94, 252, 62, 53, 41, 94, 63, 190, 103, 254, 190, 6, 238, 108, 63, 252, 232, 193, 190, 65, 76, 101, 63, 178, 171, 227, 190, 103, 70, 117, 63, 10, 165, 146, 62, 125, 62, 120, 63, 200, 37, 122, 62, 248, 248, 125, 63, 225, 158, 0, 62, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 225, 194, 125, 63, 221, 32, 7, 62, 185, 97, 119, 63, 52, 187, 131, 62, 98, 227, 108, 63, 247, 28, 194, 190, 225, 194, 125, 63, 220, 32, 7, 190, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 225, 194, 125, 63, 221, 32, 7, 62, 98, 227, 108, 63, 248, 28, 194, 62, 98, 227, 108, 63, 247, 28, 194, 190, 6, 238, 108, 63, 252, 232, 193, 190, 103, 70, 117, 63, 10, 165, 146, 190, 103, 70, 117, 63, 10, 165, 146, 62, 125, 62, 120, 63, 200, 37, 122, 62, 141, 67, 119, 63, 9, 157, 132, 62, 185, 97, 119, 63, 52, 187, 131, 62, 185, 97, 119, 63, 52, 187, 131, 190, 225, 194, 125, 63, 220, 32, 7, 190, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 0, 0, 128, 63, 13, 82, 136, 50, 225, 194, 125, 63, 221, 32, 7, 62, 185, 97, 119, 63, 52, 187, 131, 62, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 28, 0, 1, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 208, 201, 83, 8, 0, 0, 0, 0, 130, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 8, 202, 83, 8, 0, 0, 0, 0, 131, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 64, 202, 83, 8, 0, 0, 0, 0, 132, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 120, 202, 83, 8, 0, 0, 0, 0, 133, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 20, 4, 1, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 176, 202, 83, 8, 0, 0, 0, 0, 134, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 244, 3, 3, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 232, 202, 83, 8, 0, 0, 0, 0, 135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 32, 203, 83, 8, 0, 0, 0, 0, 136, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 248, 1, 2, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 88, 203, 83, 8, 0, 0, 0, 0, 137, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 120, 127, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 144, 203, 83, 8, 0, 0, 0, 0, 138, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 200, 203, 83, 8, 0, 0, 0, 0, 139, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 0, 204, 83, 8, 0, 0, 0, 0, 140, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 56, 204, 83, 8, 0, 0, 0, 0, 141, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 112, 204, 83, 8, 0, 0, 0, 0, 142, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 168, 204, 83, 8, 0, 0, 0, 0, 143, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 224, 204, 83, 8, 0, 0, 0, 0, 144, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 24, 205, 83, 8, 0, 0, 0, 0, 145, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 80, 205, 83, 8, 0, 0, 0, 0, 146, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 136, 205, 83, 8, 0, 0, 0, 0, 147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 192, 205, 83, 8, 0, 0, 0, 0, 148, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 120, 127, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 248, 205, 83, 8, 0, 0, 0, 0, 149, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 48, 206, 83, 8, 0, 0, 0, 0, 150, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 104, 206, 83, 8, 0, 0, 0, 0, 151, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 160, 206, 83, 8, 0, 0, 0, 0, 152, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 216, 206, 83, 8, 0, 0, 0, 0, 153, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 16, 207, 83, 8, 0, 0, 0, 0, 154, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 72, 207, 83, 8, 0, 0, 0, 0, 155, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 128, 207, 83, 8, 0, 0, 0, 0, 156, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 184, 207, 83, 8, 0, 0, 0, 0, 157, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 240, 207, 83, 8, 0, 0, 0, 0, 158, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 40, 208, 83, 8, 0, 0, 0, 0, 159, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 96, 208, 83, 8, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 152, 208, 83, 8, 0, 0, 0, 0, 161, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 208, 208, 83, 8, 0, 0, 0, 0, 162, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 8, 209, 83, 8, 0, 0, 0, 0, 163, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 64, 209, 83, 8, 0, 0, 0, 0, 164, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 120, 209, 83, 8, 0, 0, 0, 0, 165, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 4, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 176, 209, 83, 8, 0, 0, 0, 0, 166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 232, 209, 83, 8, 0, 0, 0, 0, 167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 32, 210, 83, 8, 0, 0, 0, 0, 168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 88, 210, 83, 8, 0, 0, 0, 0, 169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 144, 210, 83, 8, 0, 0, 0, 0, 170, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 200, 210, 83, 8, 0, 0, 0, 0, 171, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 0, 211, 83, 8, 0, 0, 0, 0, 172, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 120, 127, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 56, 211, 83, 8, 0, 0, 0, 0, 173, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 112, 211, 83, 8, 0, 0, 0, 0, 174, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 168, 211, 83, 8, 0, 0, 0, 0, 175, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 224, 211, 83, 8, 0, 0, 0, 0, 176, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 24, 212, 83, 8, 0, 0, 0, 0, 177, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 80, 212, 83, 8, 0, 0, 0, 0, 178, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 136, 212, 83, 8, 0, 0, 0, 0, 179, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 192, 212, 83, 8, 0, 0, 0, 0, 180, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 248, 212, 83, 8, 0, 0, 0, 0, 181, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 48, 213, 83, 8, 0, 0, 0, 0, 182, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 77, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 104, 213, 83, 8, 0, 0, 0, 0, 183, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 160, 213, 83, 8, 0, 0, 0, 0, 184, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 216, 213, 83, 8, 0, 0, 0, 0, 185, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 16, 214, 83, 8, 0, 0, 0, 0, 186, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 72, 214, 83, 8, 0, 0, 0, 0, 187, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 128, 214, 83, 8, 0, 0, 0, 0, 188, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 120, 127, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 184, 214, 83, 8, 0, 0, 0, 0, 189, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 240, 214, 83, 8, 0, 0, 0, 0, 190, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 40, 215, 83, 8, 0, 0, 0, 0, 191, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 96, 215, 83, 8, 0, 0, 0, 0, 192, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 120, 127, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 152, 215, 83, 8, 0, 0, 0, 0, 193, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 208, 215, 83, 8, 0, 0, 0, 0, 194, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 8, 216, 83, 8, 0, 0, 0, 0, 195, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 64, 216, 83, 8, 0, 0, 0, 0, 196, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 120, 216, 83, 8, 0, 0, 0, 0, 197, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 176, 216, 83, 8, 0, 0, 0, 0, 198, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 232, 216, 83, 8, 0, 0, 0, 0, 199, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 32, 217, 83, 8, 0, 0, 0, 0, 200, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 88, 217, 83, 8, 0, 0, 0, 0, 201, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 144, 217, 83, 8, 0, 0, 0, 0, 202, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 120, 127, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 200, 217, 83, 8, 0, 0, 0, 0, 203, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 0, 218, 83, 8, 0, 0, 0, 0, 204, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 56, 218, 83, 8, 0, 0, 0, 0, 205, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 112, 218, 83, 8, 0, 0, 0, 0, 206, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 168, 218, 83, 8, 0, 0, 0, 0, 207, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 224, 218, 83, 8, 0, 0, 0, 0, 208, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 24, 219, 83, 8, 0, 0, 0, 0, 209, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 80, 219, 83, 8, 0, 0, 0, 0, 210, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 136, 219, 83, 8, 0, 0, 0, 0, 211, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 192, 219, 83, 8, 0, 0, 0, 0, 212, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 248, 219, 83, 8, 0, 0, 0, 0, 213, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 48, 220, 83, 8, 0, 0, 0, 0, 214, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 104, 220, 83, 8, 0, 0, 0, 0, 215, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 160, 220, 83, 8, 0, 0, 0, 0, 216, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 216, 220, 83, 8, 0, 0, 0, 0, 217, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 16, 221, 83, 8, 0, 0, 0, 0, 218, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 72, 221, 83, 8, 0, 0, 0, 0, 219, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 128, 221, 83, 8, 0, 0, 0, 0, 220, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 184, 221, 83, 8, 0, 0, 0, 0, 221, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 240, 221, 83, 8, 0, 0, 0, 0, 222, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 40, 222, 83, 8, 0, 0, 0, 0, 223, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 120, 127, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 96, 222, 83, 8, 0, 0, 0, 0, 224, 5, 0, 0, 0, 0, 0, 0), "format": "RGFloat", @@ -200,9 +200,9 @@ data = { } [sub_resource type="ImageTexture" id="ImageTexture_jr4op"] -image = SubResource("Image_gtq67") +image = SubResource("Image_deg5m") -[sub_resource type="Image" id="Image_5dfpo"] +[sub_resource type="Image" id="Image_n2nca"] data = { "data": PackedByteArray(0, 0, 208, 65, 0, 0, 184, 66, 0, 0, 208, 65, 0, 0, 186, 66, 0, 0, 208, 65, 0, 0, 188, 66, 0, 0, 208, 65, 0, 0, 190, 66, 0, 0, 208, 65, 0, 0, 192, 66, 0, 0, 208, 65, 0, 0, 194, 66, 0, 0, 208, 65, 0, 0, 196, 66, 0, 0, 208, 65, 0, 0, 198, 66, 0, 0, 208, 65, 0, 0, 200, 66, 0, 0, 208, 65, 0, 0, 202, 66, 0, 0, 208, 65, 0, 0, 46, 67, 0, 0, 208, 65, 0, 0, 47, 67, 0, 0, 208, 65, 0, 0, 48, 67, 0, 0, 208, 65, 0, 0, 49, 67, 0, 0, 208, 65, 0, 0, 50, 67, 0, 0, 208, 65, 0, 0, 51, 67, 0, 0, 208, 65, 0, 0, 52, 67, 0, 0, 208, 65, 0, 0, 53, 67, 0, 0, 208, 65, 0, 0, 54, 67, 0, 0, 208, 65, 0, 0, 55, 67, 0, 0, 216, 65, 0, 0, 184, 66, 0, 0, 216, 65, 0, 0, 202, 66, 0, 0, 216, 65, 0, 0, 204, 66, 0, 0, 216, 65, 0, 0, 45, 67, 0, 0, 216, 65, 0, 0, 46, 67, 0, 0, 216, 65, 0, 0, 55, 67, 0, 0, 224, 65, 0, 0, 184, 66, 0, 0, 224, 65, 0, 0, 204, 66, 0, 0, 224, 65, 0, 0, 206, 66, 0, 0, 224, 65, 0, 0, 45, 67, 0, 0, 224, 65, 0, 0, 55, 67, 0, 0, 232, 65, 0, 0, 184, 66, 0, 0, 232, 65, 0, 0, 206, 66, 0, 0, 232, 65, 0, 0, 45, 67, 0, 0, 232, 65, 0, 0, 55, 67, 0, 0, 240, 65, 0, 0, 184, 66, 0, 0, 240, 65, 0, 0, 206, 66, 0, 0, 240, 65, 0, 0, 44, 67, 0, 0, 240, 65, 0, 0, 45, 67, 0, 0, 240, 65, 0, 0, 55, 67, 0, 0, 248, 65, 0, 0, 184, 66, 0, 0, 248, 65, 0, 0, 206, 66, 0, 0, 248, 65, 0, 0, 44, 67, 0, 0, 248, 65, 0, 0, 55, 67, 0, 0, 0, 66, 0, 0, 184, 66, 0, 0, 0, 66, 0, 0, 206, 66, 0, 0, 0, 66, 0, 0, 44, 67, 0, 0, 0, 66, 0, 0, 55, 67, 0, 0, 4, 66, 0, 0, 184, 66, 0, 0, 4, 66, 0, 0, 206, 66, 0, 0, 4, 66, 0, 0, 44, 67, 0, 0, 4, 66, 0, 0, 55, 67, 0, 0, 8, 66, 0, 0, 184, 66, 0, 0, 8, 66, 0, 0, 206, 66, 0, 0, 8, 66, 0, 0, 208, 66, 0, 0, 8, 66, 0, 0, 43, 67, 0, 0, 8, 66, 0, 0, 44, 67, 0, 0, 8, 66, 0, 0, 55, 67, 0, 0, 12, 66, 0, 0, 184, 66, 0, 0, 12, 66, 0, 0, 208, 66, 0, 0, 12, 66, 0, 0, 210, 66, 0, 0, 12, 66, 0, 0, 43, 67, 0, 0, 12, 66, 0, 0, 55, 67, 0, 0, 16, 66, 0, 0, 184, 66, 0, 0, 16, 66, 0, 0, 210, 66, 0, 0, 16, 66, 0, 0, 212, 66, 0, 0, 16, 66, 0, 0, 41, 67, 0, 0, 16, 66, 0, 0, 42, 67, 0, 0, 16, 66, 0, 0, 43, 67, 0, 0, 16, 66, 0, 0, 55, 67, 0, 0, 20, 66, 0, 0, 184, 66, 0, 0, 20, 66, 0, 0, 212, 66, 0, 0, 20, 66, 0, 0, 214, 66, 0, 0, 20, 66, 0, 0, 216, 66, 0, 0, 20, 66, 0, 0, 40, 67, 0, 0, 20, 66, 0, 0, 41, 67, 0, 0, 20, 66, 0, 0, 55, 67, 0, 0, 24, 66, 0, 0, 184, 66, 0, 0, 24, 66, 0, 0, 216, 66, 0, 0, 24, 66, 0, 0, 218, 66, 0, 0, 24, 66, 0, 0, 220, 66, 0, 0, 24, 66, 0, 0, 222, 66, 0, 0, 24, 66, 0, 0, 224, 66, 0, 0, 24, 66, 0, 0, 226, 66, 0, 0, 24, 66, 0, 0, 228, 66, 0, 0, 24, 66, 0, 0, 230, 66, 0, 0, 24, 66, 0, 0, 232, 66, 0, 0, 24, 66, 0, 0, 234, 66, 0, 0, 24, 66, 0, 0, 236, 66, 0, 0, 24, 66, 0, 0, 238, 66, 0, 0, 24, 66, 0, 0, 240, 66, 0, 0, 24, 66, 0, 0, 242, 66, 0, 0, 24, 66, 0, 0, 244, 66, 0, 0, 24, 66, 0, 0, 246, 66, 0, 0, 24, 66, 0, 0, 248, 66, 0, 0, 24, 66, 0, 0, 250, 66, 0, 0, 24, 66, 0, 0, 252, 66, 0, 0, 24, 66, 0, 0, 254, 66, 0, 0, 24, 66, 0, 0, 0, 67, 0, 0, 24, 66, 0, 0, 1, 67, 0, 0, 24, 66, 0, 0, 2, 67, 0, 0, 24, 66, 0, 0, 3, 67, 0, 0, 24, 66, 0, 0, 4, 67, 0, 0, 24, 66, 0, 0, 5, 67, 0, 0, 24, 66, 0, 0, 6, 67, 0, 0, 24, 66, 0, 0, 7, 67, 0, 0, 24, 66, 0, 0, 8, 67, 0, 0, 24, 66, 0, 0, 9, 67, 0, 0, 24, 66, 0, 0, 10, 67, 0, 0, 24, 66, 0, 0, 11, 67, 0, 0, 24, 66, 0, 0, 12, 67, 0, 0, 24, 66, 0, 0, 13, 67, 0, 0, 24, 66, 0, 0, 14, 67, 0, 0, 24, 66, 0, 0, 15, 67, 0, 0, 24, 66, 0, 0, 16, 67, 0, 0, 24, 66, 0, 0, 17, 67, 0, 0, 24, 66, 0, 0, 18, 67, 0, 0, 24, 66, 0, 0, 19, 67, 0, 0, 24, 66, 0, 0, 20, 67, 0, 0, 24, 66, 0, 0, 21, 67, 0, 0, 24, 66, 0, 0, 22, 67, 0, 0, 24, 66, 0, 0, 23, 67, 0, 0, 24, 66, 0, 0, 24, 67, 0, 0, 24, 66, 0, 0, 25, 67, 0, 0, 24, 66, 0, 0, 26, 67, 0, 0, 24, 66, 0, 0, 27, 67, 0, 0, 24, 66, 0, 0, 28, 67, 0, 0, 24, 66, 0, 0, 29, 67, 0, 0, 24, 66, 0, 0, 30, 67, 0, 0, 24, 66, 0, 0, 31, 67, 0, 0, 24, 66, 0, 0, 32, 67, 0, 0, 24, 66, 0, 0, 33, 67, 0, 0, 24, 66, 0, 0, 34, 67, 0, 0, 24, 66, 0, 0, 35, 67, 0, 0, 24, 66, 0, 0, 36, 67, 0, 0, 24, 66, 0, 0, 37, 67, 0, 0, 24, 66, 0, 0, 38, 67, 0, 0, 24, 66, 0, 0, 39, 67, 0, 0, 24, 66, 0, 0, 40, 67, 0, 0, 24, 66, 0, 0, 55, 67, 0, 0, 28, 66, 0, 0, 184, 66, 0, 0, 28, 66, 0, 0, 55, 67, 0, 0, 32, 66, 0, 0, 184, 66, 0, 0, 32, 66, 0, 0, 55, 67, 0, 0, 36, 66, 0, 0, 184, 66, 0, 0, 36, 66, 0, 0, 55, 67, 0, 0, 40, 66, 0, 0, 184, 66, 0, 0, 40, 66, 0, 0, 55, 67, 0, 0, 44, 66, 0, 0, 184, 66, 0, 0, 44, 66, 0, 0, 55, 67, 0, 0, 48, 66, 0, 0, 184, 66, 0, 0, 48, 66, 0, 0, 55, 67, 0, 0, 52, 66, 0, 0, 184, 66, 0, 0, 52, 66, 0, 0, 55, 67, 0, 0, 56, 66, 0, 0, 184, 66, 0, 0, 56, 66, 0, 0, 55, 67, 0, 0, 60, 66, 0, 0, 184, 66, 0, 0, 60, 66, 0, 0, 55, 67, 0, 0, 64, 66, 0, 0, 184, 66, 0, 0, 64, 66, 0, 0, 55, 67, 0, 0, 68, 66, 0, 0, 184, 66, 0, 0, 68, 66, 0, 0, 55, 67, 0, 0, 72, 66, 0, 0, 184, 66, 0, 0, 72, 66, 0, 0, 55, 67, 0, 0, 76, 66, 0, 0, 184, 66, 0, 0, 76, 66, 0, 0, 55, 67, 0, 0, 80, 66, 0, 0, 184, 66, 0, 0, 80, 66, 0, 0, 55, 67, 0, 0, 84, 66, 0, 0, 184, 66, 0, 0, 84, 66, 0, 0, 55, 67, 0, 0, 88, 66, 0, 0, 184, 66, 0, 0, 88, 66, 0, 0, 55, 67, 0, 0, 92, 66, 0, 0, 184, 66, 0, 0, 92, 66, 0, 0, 55, 67, 0, 0, 96, 66, 0, 0, 184, 66, 0, 0, 96, 66, 0, 0, 55, 67, 0, 0, 100, 66, 0, 0, 184, 66, 0, 0, 100, 66, 0, 0, 55, 67, 0, 0, 104, 66, 0, 0, 184, 66, 0, 0, 104, 66, 0, 0, 55, 67, 0, 0, 108, 66, 0, 0, 184, 66, 0, 0, 108, 66, 0, 0, 55, 67, 0, 0, 112, 66, 0, 0, 184, 66, 0, 0, 112, 66, 0, 0, 55, 67, 0, 0, 116, 66, 0, 0, 184, 66, 0, 0, 116, 66, 0, 0, 216, 66, 0, 0, 116, 66, 0, 0, 218, 66, 0, 0, 116, 66, 0, 0, 220, 66, 0, 0, 116, 66, 0, 0, 222, 66, 0, 0, 116, 66, 0, 0, 224, 66, 0, 0, 116, 66, 0, 0, 226, 66, 0, 0, 116, 66, 0, 0, 228, 66, 0, 0, 116, 66, 0, 0, 230, 66, 0, 0, 116, 66, 0, 0, 232, 66, 0, 0, 116, 66, 0, 0, 234, 66, 0, 0, 116, 66, 0, 0, 236, 66, 0, 0, 116, 66, 0, 0, 238, 66, 0, 0, 116, 66, 0, 0, 240, 66, 0, 0, 116, 66, 0, 0, 242, 66, 0, 0, 116, 66, 0, 0, 244, 66, 0, 0, 116, 66, 0, 0, 246, 66, 0, 0, 116, 66, 0, 0, 248, 66, 0, 0, 116, 66, 0, 0, 250, 66, 0, 0, 116, 66, 0, 0, 252, 66, 0, 0, 116, 66, 0, 0, 254, 66, 0, 0, 116, 66, 0, 0, 0, 67, 0, 0, 116, 66, 0, 0, 13, 67, 0, 0, 116, 66, 0, 0, 14, 67, 0, 0, 116, 66, 0, 0, 15, 67, 0, 0, 116, 66, 0, 0, 16, 67, 0, 0, 116, 66, 0, 0, 17, 67, 0, 0, 116, 66, 0, 0, 18, 67, 0, 0, 116, 66, 0, 0, 19, 67, 0, 0, 116, 66, 0, 0, 20, 67, 0, 0, 116, 66, 0, 0, 21, 67, 0, 0, 116, 66, 0, 0, 22, 67, 0, 0, 116, 66, 0, 0, 23, 67, 0, 0, 116, 66, 0, 0, 24, 67, 0, 0, 116, 66, 0, 0, 25, 67, 0, 0, 116, 66, 0, 0, 26, 67, 0, 0, 116, 66, 0, 0, 27, 67, 0, 0, 116, 66, 0, 0, 28, 67, 0, 0, 116, 66, 0, 0, 29, 67, 0, 0, 116, 66, 0, 0, 30, 67, 0, 0, 116, 66, 0, 0, 31, 67, 0, 0, 116, 66, 0, 0, 32, 67, 0, 0, 116, 66, 0, 0, 33, 67, 0, 0, 116, 66, 0, 0, 34, 67, 0, 0, 116, 66, 0, 0, 35, 67, 0, 0, 116, 66, 0, 0, 36, 67, 0, 0, 116, 66, 0, 0, 37, 67, 0, 0, 116, 66, 0, 0, 38, 67, 0, 0, 116, 66, 0, 0, 39, 67, 0, 0, 116, 66, 0, 0, 40, 67, 0, 0, 116, 66, 0, 0, 55, 67, 0, 0, 120, 66, 0, 0, 184, 66, 0, 0, 120, 66, 0, 0, 212, 66, 0, 0, 120, 66, 0, 0, 214, 66, 0, 0, 120, 66, 0, 0, 216, 66, 0, 0, 120, 66, 0, 0, 0, 67, 0, 0, 120, 66, 0, 0, 13, 67, 0, 0, 120, 66, 0, 0, 40, 67, 0, 0, 120, 66, 0, 0, 41, 67, 0, 0, 120, 66, 0, 0, 55, 67, 0, 0, 124, 66, 0, 0, 184, 66, 0, 0, 124, 66, 0, 0, 210, 66, 0, 0, 124, 66, 0, 0, 212, 66, 0, 0, 124, 66, 0, 0, 0, 67, 0, 0, 124, 66, 0, 0, 13, 67, 0, 0, 124, 66, 0, 0, 41, 67, 0, 0, 124, 66, 0, 0, 42, 67, 0, 0, 124, 66, 0, 0, 43, 67, 0, 0, 124, 66, 0, 0, 55, 67, 0, 0, 128, 66, 0, 0, 184, 66, 0, 0, 128, 66, 0, 0, 208, 66, 0, 0, 128, 66, 0, 0, 210, 66, 0, 0, 128, 66, 0, 0, 0, 67, 0, 0, 128, 66, 0, 0, 13, 67, 0, 0, 128, 66, 0, 0, 43, 67, 0, 0, 128, 66, 0, 0, 55, 67, 0, 0, 130, 66, 0, 0, 184, 66, 0, 0, 130, 66, 0, 0, 206, 66, 0, 0, 130, 66, 0, 0, 208, 66, 0, 0, 130, 66, 0, 0, 0, 67, 0, 0, 130, 66, 0, 0, 13, 67, 0, 0, 130, 66, 0, 0, 43, 67, 0, 0, 130, 66, 0, 0, 44, 67, 0, 0, 130, 66, 0, 0, 55, 67, 0, 0, 132, 66, 0, 0, 184, 66, 0, 0, 132, 66, 0, 0, 206, 66, 0, 0, 132, 66, 0, 0, 0, 67, 0, 0, 132, 66, 0, 0, 13, 67, 0, 0, 132, 66, 0, 0, 44, 67, 0, 0, 132, 66, 0, 0, 55, 67, 0, 0, 134, 66, 0, 0, 184, 66, 0, 0, 134, 66, 0, 0, 206, 66, 0, 0, 134, 66, 0, 0, 0, 67, 0, 0, 134, 66, 0, 0, 13, 67, 0, 0, 134, 66, 0, 0, 44, 67, 0, 0, 134, 66, 0, 0, 55, 67, 0, 0, 136, 66, 0, 0, 184, 66, 0, 0, 136, 66, 0, 0, 206, 66, 0, 0, 136, 66, 0, 0, 0, 67, 0, 0, 136, 66, 0, 0, 13, 67, 0, 0, 136, 66, 0, 0, 44, 67, 0, 0, 136, 66, 0, 0, 55, 67, 0, 0, 138, 66, 0, 0, 184, 66, 0, 0, 138, 66, 0, 0, 206, 66, 0, 0, 138, 66, 0, 0, 0, 67, 0, 0, 138, 66, 0, 0, 13, 67, 0, 0, 138, 66, 0, 0, 44, 67, 0, 0, 138, 66, 0, 0, 45, 67, 0, 0, 138, 66, 0, 0, 55, 67, 0, 0, 140, 66, 0, 0, 184, 66, 0, 0, 140, 66, 0, 0, 206, 66, 0, 0, 140, 66, 0, 0, 0, 67, 0, 0, 140, 66, 0, 0, 13, 67, 0, 0, 140, 66, 0, 0, 45, 67, 0, 0, 140, 66, 0, 0, 55, 67, 0, 0, 142, 66, 0, 0, 184, 66, 0, 0, 142, 66, 0, 0, 204, 66, 0, 0, 142, 66, 0, 0, 206, 66, 0, 0, 142, 66, 0, 0, 0, 67, 0, 0, 142, 66, 0, 0, 13, 67, 0, 0, 142, 66, 0, 0, 45, 67, 0, 0, 142, 66, 0, 0, 55, 67, 0, 0, 144, 66, 0, 0, 184, 66, 0, 0, 144, 66, 0, 0, 202, 66, 0, 0, 144, 66, 0, 0, 204, 66, 0, 0, 144, 66, 0, 0, 0, 67, 0, 0, 144, 66, 0, 0, 13, 67, 0, 0, 144, 66, 0, 0, 45, 67, 0, 0, 144, 66, 0, 0, 46, 67, 0, 0, 144, 66, 0, 0, 55, 67, 0, 0, 146, 66, 0, 0, 184, 66, 0, 0, 146, 66, 0, 0, 186, 66, 0, 0, 146, 66, 0, 0, 188, 66, 0, 0, 146, 66, 0, 0, 190, 66, 0, 0, 146, 66, 0, 0, 192, 66, 0, 0, 146, 66, 0, 0, 194, 66, 0, 0, 146, 66, 0, 0, 196, 66, 0, 0, 146, 66, 0, 0, 198, 66, 0, 0, 146, 66, 0, 0, 200, 66, 0, 0, 146, 66, 0, 0, 202, 66, 0, 0, 146, 66, 0, 0, 0, 67, 0, 0, 146, 66, 0, 0, 13, 67, 0, 0, 146, 66, 0, 0, 46, 67, 0, 0, 146, 66, 0, 0, 47, 67, 0, 0, 146, 66, 0, 0, 48, 67, 0, 0, 146, 66, 0, 0, 49, 67, 0, 0, 146, 66, 0, 0, 50, 67, 0, 0, 146, 66, 0, 0, 51, 67, 0, 0, 146, 66, 0, 0, 52, 67, 0, 0, 146, 66, 0, 0, 53, 67, 0, 0, 146, 66, 0, 0, 54, 67, 0, 0, 146, 66, 0, 0, 55, 67, 0, 0, 148, 66, 0, 0, 0, 67, 0, 0, 148, 66, 0, 0, 13, 67, 0, 0, 150, 66, 0, 0, 0, 67, 0, 0, 150, 66, 0, 0, 13, 67, 0, 0, 152, 66, 0, 0, 0, 67, 0, 0, 152, 66, 0, 0, 13, 67, 0, 0, 154, 66, 0, 0, 0, 67, 0, 0, 154, 66, 0, 0, 13, 67, 0, 0, 156, 66, 0, 0, 0, 67, 0, 0, 156, 66, 0, 0, 13, 67, 0, 0, 158, 66, 0, 0, 0, 67, 0, 0, 158, 66, 0, 0, 13, 67, 0, 0, 160, 66, 0, 0, 0, 67, 0, 0, 160, 66, 0, 0, 13, 67, 0, 0, 162, 66, 0, 0, 0, 67, 0, 0, 162, 66, 0, 0, 13, 67, 0, 0, 164, 66, 0, 0, 0, 67, 0, 0, 164, 66, 0, 0, 13, 67, 0, 0, 166, 66, 0, 0, 0, 67, 0, 0, 166, 66, 0, 0, 13, 67, 0, 0, 168, 66, 0, 0, 184, 66, 0, 0, 168, 66, 0, 0, 186, 66, 0, 0, 168, 66, 0, 0, 188, 66, 0, 0, 168, 66, 0, 0, 190, 66, 0, 0, 168, 66, 0, 0, 192, 66, 0, 0, 168, 66, 0, 0, 194, 66, 0, 0, 168, 66, 0, 0, 196, 66, 0, 0, 168, 66, 0, 0, 198, 66, 0, 0, 168, 66, 0, 0, 200, 66, 0, 0, 168, 66, 0, 0, 202, 66, 0, 0, 168, 66, 0, 0, 0, 67, 0, 0, 168, 66, 0, 0, 13, 67, 0, 0, 168, 66, 0, 0, 46, 67, 0, 0, 168, 66, 0, 0, 47, 67, 0, 0, 168, 66, 0, 0, 48, 67, 0, 0, 168, 66, 0, 0, 49, 67, 0, 0, 168, 66, 0, 0, 50, 67, 0, 0, 168, 66, 0, 0, 51, 67, 0, 0, 168, 66, 0, 0, 52, 67, 0, 0, 168, 66, 0, 0, 53, 67, 0, 0, 168, 66, 0, 0, 54, 67, 0, 0, 168, 66, 0, 0, 55, 67, 0, 0, 170, 66, 0, 0, 184, 66, 0, 0, 170, 66, 0, 0, 202, 66, 0, 0, 170, 66, 0, 0, 204, 66, 0, 0, 170, 66, 0, 0, 0, 67, 0, 0, 170, 66, 0, 0, 13, 67, 0, 0, 170, 66, 0, 0, 45, 67, 0, 0, 170, 66, 0, 0, 46, 67, 0, 0, 170, 66, 0, 0, 55, 67, 0, 0, 172, 66, 0, 0, 184, 66, 0, 0, 172, 66, 0, 0, 204, 66, 0, 0, 172, 66, 0, 0, 206, 66, 0, 0, 172, 66, 0, 0, 0, 67, 0, 0, 172, 66, 0, 0, 13, 67, 0, 0, 172, 66, 0, 0, 45, 67, 0, 0, 172, 66, 0, 0, 55, 67, 0, 0, 174, 66, 0, 0, 184, 66, 0, 0, 174, 66, 0, 0, 206, 66, 0, 0, 174, 66, 0, 0, 0, 67, 0, 0, 174, 66, 0, 0, 13, 67, 0, 0, 174, 66, 0, 0, 45, 67, 0, 0, 174, 66, 0, 0, 55, 67, 0, 0, 176, 66, 0, 0, 184, 66, 0, 0, 176, 66, 0, 0, 206, 66, 0, 0, 176, 66, 0, 0, 0, 67, 0, 0, 176, 66, 0, 0, 13, 67, 0, 0, 176, 66, 0, 0, 44, 67, 0, 0, 176, 66, 0, 0, 45, 67, 0, 0, 176, 66, 0, 0, 55, 67, 0, 0, 178, 66, 0, 0, 184, 66, 0, 0, 178, 66, 0, 0, 206, 66, 0, 0, 178, 66, 0, 0, 0, 67, 0, 0, 178, 66, 0, 0, 13, 67, 0, 0, 178, 66, 0, 0, 44, 67, 0, 0, 178, 66, 0, 0, 55, 67, 0, 0, 180, 66, 0, 0, 184, 66, 0, 0, 180, 66, 0, 0, 206, 66, 0, 0, 180, 66, 0, 0, 0, 67, 0, 0, 180, 66, 0, 0, 13, 67, 0, 0, 180, 66, 0, 0, 44, 67, 0, 0, 180, 66, 0, 0, 55, 67, 0, 0, 182, 66, 0, 0, 184, 66, 0, 0, 182, 66, 0, 0, 206, 66, 0, 0, 182, 66, 0, 0, 0, 67, 0, 0, 182, 66, 0, 0, 13, 67, 0, 0, 182, 66, 0, 0, 44, 67, 0, 0, 182, 66, 0, 0, 55, 67, 0, 0, 184, 66, 0, 0, 184, 66, 0, 0, 184, 66, 0, 0, 206, 66, 0, 0, 184, 66, 0, 0, 208, 66, 0, 0, 184, 66, 0, 0, 0, 67, 0, 0, 184, 66, 0, 0, 13, 67, 0, 0, 184, 66, 0, 0, 43, 67, 0, 0, 184, 66, 0, 0, 44, 67, 0, 0, 184, 66, 0, 0, 55, 67, 0, 0, 186, 66, 0, 0, 184, 66, 0, 0, 186, 66, 0, 0, 208, 66, 0, 0, 186, 66, 0, 0, 210, 66, 0, 0, 186, 66, 0, 0, 0, 67, 0, 0, 186, 66, 0, 0, 13, 67, 0, 0, 186, 66, 0, 0, 43, 67, 0, 0, 186, 66, 0, 0, 55, 67, 0, 0, 188, 66, 0, 0, 184, 66, 0, 0, 188, 66, 0, 0, 210, 66, 0, 0, 188, 66, 0, 0, 212, 66, 0, 0, 188, 66, 0, 0, 0, 67, 0, 0, 188, 66, 0, 0, 13, 67, 0, 0, 188, 66, 0, 0, 41, 67, 0, 0, 188, 66, 0, 0, 42, 67, 0, 0, 188, 66, 0, 0, 43, 67, 0, 0, 188, 66, 0, 0, 55, 67, 0, 0, 190, 66, 0, 0, 184, 66, 0, 0, 190, 66, 0, 0, 212, 66, 0, 0, 190, 66, 0, 0, 214, 66, 0, 0, 190, 66, 0, 0, 216, 66, 0, 0, 190, 66, 0, 0, 0, 67, 0, 0, 190, 66, 0, 0, 13, 67, 0, 0, 190, 66, 0, 0, 40, 67, 0, 0, 190, 66, 0, 0, 41, 67, 0, 0, 190, 66, 0, 0, 55, 67, 0, 0, 192, 66, 0, 0, 184, 66, 0, 0, 192, 66, 0, 0, 216, 66, 0, 0, 192, 66, 0, 0, 218, 66, 0, 0, 192, 66, 0, 0, 220, 66, 0, 0, 192, 66, 0, 0, 222, 66, 0, 0, 192, 66, 0, 0, 224, 66, 0, 0, 192, 66, 0, 0, 226, 66, 0, 0, 192, 66, 0, 0, 228, 66, 0, 0, 192, 66, 0, 0, 230, 66, 0, 0, 192, 66, 0, 0, 232, 66, 0, 0, 192, 66, 0, 0, 234, 66, 0, 0, 192, 66, 0, 0, 236, 66, 0, 0, 192, 66, 0, 0, 238, 66, 0, 0, 192, 66, 0, 0, 240, 66, 0, 0, 192, 66, 0, 0, 242, 66, 0, 0, 192, 66, 0, 0, 244, 66, 0, 0, 192, 66, 0, 0, 246, 66, 0, 0, 192, 66, 0, 0, 248, 66, 0, 0, 192, 66, 0, 0, 250, 66, 0, 0, 192, 66, 0, 0, 252, 66, 0, 0, 192, 66, 0, 0, 254, 66, 0, 0, 192, 66, 0, 0, 0, 67, 0, 0, 192, 66, 0, 0, 13, 67, 0, 0, 192, 66, 0, 0, 14, 67, 0, 0, 192, 66, 0, 0, 15, 67, 0, 0, 192, 66, 0, 0, 16, 67, 0, 0, 192, 66, 0, 0, 17, 67, 0, 0, 192, 66, 0, 0, 18, 67, 0, 0, 192, 66, 0, 0, 19, 67, 0, 0, 192, 66, 0, 0, 20, 67, 0, 0, 192, 66, 0, 0, 21, 67, 0, 0, 192, 66, 0, 0, 22, 67, 0, 0, 192, 66, 0, 0, 23, 67, 0, 0, 192, 66, 0, 0, 24, 67, 0, 0, 192, 66, 0, 0, 25, 67, 0, 0, 192, 66, 0, 0, 26, 67, 0, 0, 192, 66, 0, 0, 27, 67, 0, 0, 192, 66, 0, 0, 28, 67, 0, 0, 192, 66, 0, 0, 29, 67, 0, 0, 192, 66, 0, 0, 30, 67, 0, 0, 192, 66, 0, 0, 31, 67, 0, 0, 192, 66, 0, 0, 32, 67, 0, 0, 192, 66, 0, 0, 33, 67, 0, 0, 192, 66, 0, 0, 34, 67, 0, 0, 192, 66, 0, 0, 35, 67, 0, 0, 192, 66, 0, 0, 36, 67, 0, 0, 192, 66, 0, 0, 37, 67, 0, 0, 192, 66, 0, 0, 38, 67, 0, 0, 192, 66, 0, 0, 39, 67, 0, 0, 192, 66, 0, 0, 40, 67, 0, 0, 192, 66, 0, 0, 55, 67, 0, 0, 194, 66, 0, 0, 184, 66, 0, 0, 194, 66, 0, 0, 55, 67, 0, 0, 196, 66, 0, 0, 184, 66, 0, 0, 196, 66, 0, 0, 55, 67, 0, 0, 198, 66, 0, 0, 184, 66, 0, 0, 198, 66, 0, 0, 55, 67, 0, 0, 200, 66, 0, 0, 184, 66, 0, 0, 200, 66, 0, 0, 55, 67, 0, 0, 202, 66, 0, 0, 184, 66, 0, 0, 202, 66, 0, 0, 55, 67, 0, 0, 204, 66, 0, 0, 184, 66, 0, 0, 204, 66, 0, 0, 55, 67, 0, 0, 206, 66, 0, 0, 184, 66, 0, 0, 206, 66, 0, 0, 55, 67, 0, 0, 208, 66, 0, 0, 184, 66, 0, 0, 208, 66, 0, 0, 55, 67, 0, 0, 210, 66, 0, 0, 184, 66, 0, 0, 210, 66, 0, 0, 55, 67, 0, 0, 212, 66, 0, 0, 184, 66, 0, 0, 212, 66, 0, 0, 55, 67, 0, 0, 214, 66, 0, 0, 184, 66, 0, 0, 214, 66, 0, 0, 55, 67, 0, 0, 216, 66, 0, 0, 184, 66, 0, 0, 216, 66, 0, 0, 55, 67, 0, 0, 218, 66, 0, 0, 184, 66, 0, 0, 218, 66, 0, 0, 55, 67, 0, 0, 220, 66, 0, 0, 184, 66, 0, 0, 220, 66, 0, 0, 55, 67, 0, 0, 222, 66, 0, 0, 184, 66, 0, 0, 222, 66, 0, 0, 55, 67, 0, 0, 224, 66, 0, 0, 184, 66, 0, 0, 224, 66, 0, 0, 55, 67, 0, 0, 226, 66, 0, 0, 184, 66, 0, 0, 226, 66, 0, 0, 55, 67, 0, 0, 228, 66, 0, 0, 184, 66, 0, 0, 228, 66, 0, 0, 55, 67, 0, 0, 230, 66, 0, 0, 184, 66, 0, 0, 230, 66, 0, 0, 55, 67, 0, 0, 232, 66, 0, 0, 184, 66, 0, 0, 232, 66, 0, 0, 55, 67, 0, 0, 234, 66, 0, 0, 184, 66, 0, 0, 234, 66, 0, 0, 55, 67, 0, 0, 236, 66, 0, 0, 184, 66, 0, 0, 236, 66, 0, 0, 55, 67, 0, 0, 238, 66, 0, 0, 184, 66, 0, 0, 238, 66, 0, 0, 216, 66, 0, 0, 238, 66, 0, 0, 218, 66, 0, 0, 238, 66, 0, 0, 220, 66, 0, 0, 238, 66, 0, 0, 222, 66, 0, 0, 238, 66, 0, 0, 224, 66, 0, 0, 238, 66, 0, 0, 226, 66, 0, 0, 238, 66, 0, 0, 228, 66, 0, 0, 238, 66, 0, 0, 230, 66, 0, 0, 238, 66, 0, 0, 232, 66, 0, 0, 238, 66, 0, 0, 234, 66, 0, 0, 238, 66, 0, 0, 236, 66, 0, 0, 238, 66, 0, 0, 238, 66, 0, 0, 238, 66, 0, 0, 240, 66, 0, 0, 238, 66, 0, 0, 242, 66, 0, 0, 238, 66, 0, 0, 244, 66, 0, 0, 238, 66, 0, 0, 246, 66, 0, 0, 238, 66, 0, 0, 248, 66, 0, 0, 238, 66, 0, 0, 250, 66, 0, 0, 238, 66, 0, 0, 252, 66, 0, 0, 238, 66, 0, 0, 254, 66, 0, 0, 238, 66, 0, 0, 0, 67, 0, 0, 238, 66, 0, 0, 1, 67, 0, 0, 238, 66, 0, 0, 2, 67, 0, 0, 238, 66, 0, 0, 3, 67, 0, 0, 238, 66, 0, 0, 4, 67, 0, 0, 238, 66, 0, 0, 5, 67, 0, 0, 238, 66, 0, 0, 6, 67, 0, 0, 238, 66, 0, 0, 7, 67, 0, 0, 238, 66, 0, 0, 8, 67, 0, 0, 238, 66, 0, 0, 9, 67, 0, 0, 238, 66, 0, 0, 10, 67, 0, 0, 238, 66, 0, 0, 11, 67, 0, 0, 238, 66, 0, 0, 12, 67, 0, 0, 238, 66, 0, 0, 13, 67, 0, 0, 238, 66, 0, 0, 14, 67, 0, 0, 238, 66, 0, 0, 15, 67, 0, 0, 238, 66, 0, 0, 16, 67, 0, 0, 238, 66, 0, 0, 17, 67, 0, 0, 238, 66, 0, 0, 18, 67, 0, 0, 238, 66, 0, 0, 19, 67, 0, 0, 238, 66, 0, 0, 20, 67, 0, 0, 238, 66, 0, 0, 21, 67, 0, 0, 238, 66, 0, 0, 22, 67, 0, 0, 238, 66, 0, 0, 23, 67, 0, 0, 238, 66, 0, 0, 24, 67, 0, 0, 238, 66, 0, 0, 25, 67, 0, 0, 238, 66, 0, 0, 26, 67, 0, 0, 238, 66, 0, 0, 27, 67, 0, 0, 238, 66, 0, 0, 28, 67, 0, 0, 238, 66, 0, 0, 29, 67, 0, 0, 238, 66, 0, 0, 30, 67, 0, 0, 238, 66, 0, 0, 31, 67, 0, 0, 238, 66, 0, 0, 32, 67, 0, 0, 238, 66, 0, 0, 33, 67, 0, 0, 238, 66, 0, 0, 34, 67, 0, 0, 238, 66, 0, 0, 35, 67, 0, 0, 238, 66, 0, 0, 36, 67, 0, 0, 238, 66, 0, 0, 37, 67, 0, 0, 238, 66, 0, 0, 38, 67, 0, 0, 238, 66, 0, 0, 39, 67, 0, 0, 238, 66, 0, 0, 40, 67, 0, 0, 238, 66, 0, 0, 55, 67, 0, 0, 240, 66, 0, 0, 184, 66, 0, 0, 240, 66, 0, 0, 212, 66, 0, 0, 240, 66, 0, 0, 214, 66, 0, 0, 240, 66, 0, 0, 216, 66, 0, 0, 240, 66, 0, 0, 40, 67, 0, 0, 240, 66, 0, 0, 41, 67, 0, 0, 240, 66, 0, 0, 55, 67, 0, 0, 242, 66, 0, 0, 184, 66, 0, 0, 242, 66, 0, 0, 210, 66, 0, 0, 242, 66, 0, 0, 212, 66, 0, 0, 242, 66, 0, 0, 41, 67, 0, 0, 242, 66, 0, 0, 42, 67, 0, 0, 242, 66, 0, 0, 43, 67, 0, 0, 242, 66, 0, 0, 55, 67, 0, 0, 244, 66, 0, 0, 184, 66, 0, 0, 244, 66, 0, 0, 208, 66, 0, 0, 244, 66, 0, 0, 210, 66, 0, 0, 244, 66, 0, 0, 43, 67, 0, 0, 244, 66, 0, 0, 55, 67, 0, 0, 246, 66, 0, 0, 184, 66, 0, 0, 246, 66, 0, 0, 206, 66, 0, 0, 246, 66, 0, 0, 208, 66, 0, 0, 246, 66, 0, 0, 43, 67, 0, 0, 246, 66, 0, 0, 44, 67, 0, 0, 246, 66, 0, 0, 55, 67, 0, 0, 248, 66, 0, 0, 184, 66, 0, 0, 248, 66, 0, 0, 206, 66, 0, 0, 248, 66, 0, 0, 44, 67, 0, 0, 248, 66, 0, 0, 55, 67, 0, 0, 250, 66, 0, 0, 184, 66, 0, 0, 250, 66, 0, 0, 206, 66, 0, 0, 250, 66, 0, 0, 44, 67, 0, 0, 250, 66, 0, 0, 55, 67, 0, 0, 252, 66, 0, 0, 184, 66, 0, 0, 252, 66, 0, 0, 206, 66, 0, 0, 252, 66, 0, 0, 44, 67, 0, 0, 252, 66, 0, 0, 55, 67, 0, 0, 254, 66, 0, 0, 184, 66, 0, 0, 254, 66, 0, 0, 206, 66, 0, 0, 254, 66, 0, 0, 44, 67, 0, 0, 254, 66, 0, 0, 45, 67, 0, 0, 254, 66, 0, 0, 55, 67, 0, 0, 0, 67, 0, 0, 184, 66, 0, 0, 0, 67, 0, 0, 206, 66, 0, 0, 0, 67, 0, 0, 45, 67, 0, 0, 0, 67, 0, 0, 55, 67, 0, 0, 1, 67, 0, 0, 184, 66, 0, 0, 1, 67, 0, 0, 204, 66, 0, 0, 1, 67, 0, 0, 206, 66, 0, 0, 1, 67, 0, 0, 45, 67, 0, 0, 1, 67, 0, 0, 55, 67, 0, 0, 2, 67, 0, 0, 184, 66, 0, 0, 2, 67, 0, 0, 202, 66, 0, 0, 2, 67, 0, 0, 204, 66, 0, 0, 2, 67, 0, 0, 45, 67, 0, 0, 2, 67, 0, 0, 46, 67, 0, 0, 2, 67, 0, 0, 55, 67, 0, 0, 3, 67, 0, 0, 184, 66, 0, 0, 3, 67, 0, 0, 186, 66, 0, 0, 3, 67, 0, 0, 188, 66, 0, 0, 3, 67, 0, 0, 190, 66, 0, 0, 3, 67, 0, 0, 192, 66, 0, 0, 3, 67, 0, 0, 194, 66, 0, 0, 3, 67, 0, 0, 196, 66, 0, 0, 3, 67, 0, 0, 198, 66, 0, 0, 3, 67, 0, 0, 200, 66, 0, 0, 3, 67, 0, 0, 202, 66, 0, 0, 3, 67, 0, 0, 46, 67, 0, 0, 3, 67, 0, 0, 47, 67, 0, 0, 3, 67, 0, 0, 48, 67, 0, 0, 3, 67, 0, 0, 49, 67, 0, 0, 3, 67, 0, 0, 50, 67, 0, 0, 3, 67, 0, 0, 51, 67, 0, 0, 3, 67, 0, 0, 52, 67, 0, 0, 3, 67, 0, 0, 53, 67, 0, 0, 3, 67, 0, 0, 54, 67, 0, 0, 3, 67, 0, 0, 55, 67, 0, 0, 10, 67, 0, 0, 184, 66, 0, 0, 10, 67, 0, 0, 186, 66, 0, 0, 10, 67, 0, 0, 188, 66, 0, 0, 10, 67, 0, 0, 190, 66, 0, 0, 10, 67, 0, 0, 192, 66, 0, 0, 10, 67, 0, 0, 194, 66, 0, 0, 10, 67, 0, 0, 196, 66, 0, 0, 10, 67, 0, 0, 198, 66, 0, 0, 10, 67, 0, 0, 200, 66, 0, 0, 10, 67, 0, 0, 202, 66, 0, 0, 10, 67, 0, 0, 46, 67, 0, 0, 10, 67, 0, 0, 47, 67, 0, 0, 10, 67, 0, 0, 48, 67, 0, 0, 10, 67, 0, 0, 49, 67, 0, 0, 10, 67, 0, 0, 50, 67, 0, 0, 10, 67, 0, 0, 51, 67, 0, 0, 10, 67, 0, 0, 52, 67, 0, 0, 10, 67, 0, 0, 53, 67, 0, 0, 10, 67, 0, 0, 54, 67, 0, 0, 10, 67, 0, 0, 55, 67, 0, 0, 11, 67, 0, 0, 184, 66, 0, 0, 11, 67, 0, 0, 202, 66, 0, 0, 11, 67, 0, 0, 204, 66, 0, 0, 11, 67, 0, 0, 45, 67, 0, 0, 11, 67, 0, 0, 46, 67, 0, 0, 11, 67, 0, 0, 55, 67, 0, 0, 12, 67, 0, 0, 184, 66, 0, 0, 12, 67, 0, 0, 204, 66, 0, 0, 12, 67, 0, 0, 45, 67, 0, 0, 12, 67, 0, 0, 55, 67, 0, 0, 13, 67, 0, 0, 184, 66, 0, 0, 13, 67, 0, 0, 204, 66, 0, 0, 13, 67, 0, 0, 45, 67, 0, 0, 13, 67, 0, 0, 55, 67, 0, 0, 14, 67, 0, 0, 184, 66, 0, 0, 14, 67, 0, 0, 204, 66, 0, 0, 14, 67, 0, 0, 44, 67, 0, 0, 14, 67, 0, 0, 45, 67, 0, 0, 14, 67, 0, 0, 55, 67, 0, 0, 15, 67, 0, 0, 184, 66, 0, 0, 15, 67, 0, 0, 204, 66, 0, 0, 15, 67, 0, 0, 206, 66, 0, 0, 15, 67, 0, 0, 44, 67, 0, 0, 15, 67, 0, 0, 55, 67, 0, 0, 16, 67, 0, 0, 184, 66, 0, 0, 16, 67, 0, 0, 206, 66, 0, 0, 16, 67, 0, 0, 44, 67, 0, 0, 16, 67, 0, 0, 55, 67, 0, 0, 17, 67, 0, 0, 184, 66, 0, 0, 17, 67, 0, 0, 206, 66, 0, 0, 17, 67, 0, 0, 44, 67, 0, 0, 17, 67, 0, 0, 55, 67, 0, 0, 18, 67, 0, 0, 184, 66, 0, 0, 18, 67, 0, 0, 206, 66, 0, 0, 18, 67, 0, 0, 44, 67, 0, 0, 18, 67, 0, 0, 55, 67, 0, 0, 19, 67, 0, 0, 184, 66, 0, 0, 19, 67, 0, 0, 206, 66, 0, 0, 19, 67, 0, 0, 208, 66, 0, 0, 19, 67, 0, 0, 43, 67, 0, 0, 19, 67, 0, 0, 44, 67, 0, 0, 19, 67, 0, 0, 55, 67, 0, 0, 20, 67, 0, 0, 184, 66, 0, 0, 20, 67, 0, 0, 208, 66, 0, 0, 20, 67, 0, 0, 210, 66, 0, 0, 20, 67, 0, 0, 42, 67, 0, 0, 20, 67, 0, 0, 43, 67, 0, 0, 20, 67, 0, 0, 55, 67, 0, 0, 21, 67, 0, 0, 184, 66, 0, 0, 21, 67, 0, 0, 210, 66, 0, 0, 21, 67, 0, 0, 212, 66, 0, 0, 21, 67, 0, 0, 214, 66, 0, 0, 21, 67, 0, 0, 40, 67, 0, 0, 21, 67, 0, 0, 41, 67, 0, 0, 21, 67, 0, 0, 42, 67, 0, 0, 21, 67, 0, 0, 55, 67, 0, 0, 22, 67, 0, 0, 184, 66, 0, 0, 22, 67, 0, 0, 214, 66, 0, 0, 22, 67, 0, 0, 216, 66, 0, 0, 22, 67, 0, 0, 218, 66, 0, 0, 22, 67, 0, 0, 220, 66, 0, 0, 22, 67, 0, 0, 222, 66, 0, 0, 22, 67, 0, 0, 224, 66, 0, 0, 22, 67, 0, 0, 226, 66, 0, 0, 22, 67, 0, 0, 228, 66, 0, 0, 22, 67, 0, 0, 230, 66, 0, 0, 22, 67, 0, 0, 232, 66, 0, 0, 22, 67, 0, 0, 234, 66, 0, 0, 22, 67, 0, 0, 236, 66, 0, 0, 22, 67, 0, 0, 238, 66, 0, 0, 22, 67, 0, 0, 240, 66, 0, 0, 22, 67, 0, 0, 242, 66, 0, 0, 22, 67, 0, 0, 244, 66, 0, 0, 22, 67, 0, 0, 246, 66, 0, 0, 22, 67, 0, 0, 248, 66, 0, 0, 22, 67, 0, 0, 250, 66, 0, 0, 22, 67, 0, 0, 252, 66, 0, 0, 22, 67, 0, 0, 254, 66, 0, 0, 22, 67, 0, 0, 0, 67, 0, 0, 22, 67, 0, 0, 1, 67, 0, 0, 22, 67, 0, 0, 2, 67, 0, 0, 22, 67, 0, 0, 3, 67, 0, 0, 22, 67, 0, 0, 4, 67, 0, 0, 22, 67, 0, 0, 5, 67, 0, 0, 22, 67, 0, 0, 6, 67, 0, 0, 22, 67, 0, 0, 7, 67, 0, 0, 22, 67, 0, 0, 8, 67, 0, 0, 22, 67, 0, 0, 9, 67, 0, 0, 22, 67, 0, 0, 10, 67, 0, 0, 22, 67, 0, 0, 11, 67, 0, 0, 22, 67, 0, 0, 12, 67, 0, 0, 22, 67, 0, 0, 13, 67, 0, 0, 22, 67, 0, 0, 14, 67, 0, 0, 22, 67, 0, 0, 15, 67, 0, 0, 22, 67, 0, 0, 16, 67, 0, 0, 22, 67, 0, 0, 17, 67, 0, 0, 22, 67, 0, 0, 18, 67, 0, 0, 22, 67, 0, 0, 19, 67, 0, 0, 22, 67, 0, 0, 20, 67, 0, 0, 22, 67, 0, 0, 21, 67, 0, 0, 22, 67, 0, 0, 22, 67, 0, 0, 22, 67, 0, 0, 23, 67, 0, 0, 22, 67, 0, 0, 24, 67, 0, 0, 22, 67, 0, 0, 25, 67, 0, 0, 22, 67, 0, 0, 26, 67, 0, 0, 22, 67, 0, 0, 27, 67, 0, 0, 22, 67, 0, 0, 28, 67, 0, 0, 22, 67, 0, 0, 29, 67, 0, 0, 22, 67, 0, 0, 30, 67, 0, 0, 22, 67, 0, 0, 31, 67, 0, 0, 22, 67, 0, 0, 32, 67, 0, 0, 22, 67, 0, 0, 33, 67, 0, 0, 22, 67, 0, 0, 34, 67, 0, 0, 22, 67, 0, 0, 35, 67, 0, 0, 22, 67, 0, 0, 36, 67, 0, 0, 22, 67, 0, 0, 37, 67, 0, 0, 22, 67, 0, 0, 38, 67, 0, 0, 22, 67, 0, 0, 39, 67, 0, 0, 22, 67, 0, 0, 40, 67, 0, 0, 22, 67, 0, 0, 55, 67, 0, 0, 23, 67, 0, 0, 184, 66, 0, 0, 23, 67, 0, 0, 55, 67, 0, 0, 24, 67, 0, 0, 184, 66, 0, 0, 24, 67, 0, 0, 55, 67, 0, 0, 25, 67, 0, 0, 184, 66, 0, 0, 25, 67, 0, 0, 55, 67, 0, 0, 26, 67, 0, 0, 184, 66, 0, 0, 26, 67, 0, 0, 55, 67, 0, 0, 27, 67, 0, 0, 184, 66, 0, 0, 27, 67, 0, 0, 55, 67, 0, 0, 28, 67, 0, 0, 184, 66, 0, 0, 28, 67, 0, 0, 55, 67, 0, 0, 29, 67, 0, 0, 184, 66, 0, 0, 29, 67, 0, 0, 55, 67, 0, 0, 30, 67, 0, 0, 184, 66, 0, 0, 30, 67, 0, 0, 55, 67, 0, 0, 31, 67, 0, 0, 184, 66, 0, 0, 31, 67, 0, 0, 55, 67, 0, 0, 32, 67, 0, 0, 184, 66, 0, 0, 32, 67, 0, 0, 55, 67, 0, 0, 33, 67, 0, 0, 184, 66, 0, 0, 33, 67, 0, 0, 55, 67, 0, 0, 34, 67, 0, 0, 184, 66, 0, 0, 34, 67, 0, 0, 55, 67, 0, 0, 35, 67, 0, 0, 184, 66, 0, 0, 35, 67, 0, 0, 55, 67, 0, 0, 36, 67, 0, 0, 184, 66, 0, 0, 36, 67, 0, 0, 55, 67, 0, 0, 37, 67, 0, 0, 184, 66, 0, 0, 37, 67, 0, 0, 55, 67, 0, 0, 38, 67, 0, 0, 184, 66, 0, 0, 38, 67, 0, 0, 55, 67, 0, 0, 39, 67, 0, 0, 184, 66, 0, 0, 39, 67, 0, 0, 55, 67, 0, 0, 40, 67, 0, 0, 184, 66, 0, 0, 40, 67, 0, 0, 55, 67, 0, 0, 41, 67, 0, 0, 184, 66, 0, 0, 41, 67, 0, 0, 55, 67, 0, 0, 42, 67, 0, 0, 184, 66, 0, 0, 42, 67, 0, 0, 55, 67, 0, 0, 43, 67, 0, 0, 184, 66, 0, 0, 43, 67, 0, 0, 55, 67, 0, 0, 44, 67, 0, 0, 184, 66, 0, 0, 44, 67, 0, 0, 55, 67, 0, 0, 45, 67, 0, 0, 184, 66, 0, 0, 45, 67, 0, 0, 214, 66, 0, 0, 45, 67, 0, 0, 216, 66, 0, 0, 45, 67, 0, 0, 218, 66, 0, 0, 45, 67, 0, 0, 220, 66, 0, 0, 45, 67, 0, 0, 222, 66, 0, 0, 45, 67, 0, 0, 224, 66, 0, 0, 45, 67, 0, 0, 226, 66, 0, 0, 45, 67, 0, 0, 228, 66, 0, 0, 45, 67, 0, 0, 230, 66, 0, 0, 45, 67, 0, 0, 232, 66, 0, 0, 45, 67, 0, 0, 234, 66, 0, 0, 45, 67, 0, 0, 236, 66, 0, 0, 45, 67, 0, 0, 238, 66, 0, 0, 45, 67, 0, 0, 240, 66, 0, 0, 45, 67, 0, 0, 242, 66, 0, 0, 45, 67, 0, 0, 244, 66, 0, 0, 45, 67, 0, 0, 246, 66, 0, 0, 45, 67, 0, 0, 248, 66, 0, 0, 45, 67, 0, 0, 250, 66, 0, 0, 45, 67, 0, 0, 252, 66, 0, 0, 45, 67, 0, 0, 254, 66, 0, 0, 45, 67, 0, 0, 0, 67, 0, 0, 45, 67, 0, 0, 1, 67, 0, 0, 45, 67, 0, 0, 2, 67, 0, 0, 45, 67, 0, 0, 3, 67, 0, 0, 45, 67, 0, 0, 4, 67, 0, 0, 45, 67, 0, 0, 5, 67, 0, 0, 45, 67, 0, 0, 6, 67, 0, 0, 45, 67, 0, 0, 7, 67, 0, 0, 45, 67, 0, 0, 8, 67, 0, 0, 45, 67, 0, 0, 9, 67, 0, 0, 45, 67, 0, 0, 10, 67, 0, 0, 45, 67, 0, 0, 11, 67, 0, 0, 45, 67, 0, 0, 12, 67, 0, 0, 45, 67, 0, 0, 13, 67, 0, 0, 45, 67, 0, 0, 14, 67, 0, 0, 45, 67, 0, 0, 15, 67, 0, 0, 45, 67, 0, 0, 16, 67, 0, 0, 45, 67, 0, 0, 17, 67, 0, 0, 45, 67, 0, 0, 18, 67, 0, 0, 45, 67, 0, 0, 19, 67, 0, 0, 45, 67, 0, 0, 20, 67, 0, 0, 45, 67, 0, 0, 21, 67, 0, 0, 45, 67, 0, 0, 22, 67, 0, 0, 45, 67, 0, 0, 23, 67, 0, 0, 45, 67, 0, 0, 24, 67, 0, 0, 45, 67, 0, 0, 25, 67, 0, 0, 45, 67, 0, 0, 26, 67, 0, 0, 45, 67, 0, 0, 27, 67, 0, 0, 45, 67, 0, 0, 28, 67, 0, 0, 45, 67, 0, 0, 29, 67, 0, 0, 45, 67, 0, 0, 30, 67, 0, 0, 45, 67, 0, 0, 31, 67, 0, 0, 45, 67, 0, 0, 32, 67, 0, 0, 45, 67, 0, 0, 33, 67, 0, 0, 45, 67, 0, 0, 34, 67, 0, 0, 45, 67, 0, 0, 35, 67, 0, 0, 45, 67, 0, 0, 36, 67, 0, 0, 45, 67, 0, 0, 37, 67, 0, 0, 45, 67, 0, 0, 38, 67, 0, 0, 45, 67, 0, 0, 39, 67, 0, 0, 45, 67, 0, 0, 40, 67, 0, 0, 45, 67, 0, 0, 55, 67, 0, 0, 46, 67, 0, 0, 184, 66, 0, 0, 46, 67, 0, 0, 210, 66, 0, 0, 46, 67, 0, 0, 212, 66, 0, 0, 46, 67, 0, 0, 214, 66, 0, 0, 46, 67, 0, 0, 40, 67, 0, 0, 46, 67, 0, 0, 41, 67, 0, 0, 46, 67, 0, 0, 42, 67, 0, 0, 46, 67, 0, 0, 55, 67, 0, 0, 47, 67, 0, 0, 184, 66, 0, 0, 47, 67, 0, 0, 208, 66, 0, 0, 47, 67, 0, 0, 210, 66, 0, 0, 47, 67, 0, 0, 42, 67, 0, 0, 47, 67, 0, 0, 43, 67, 0, 0, 47, 67, 0, 0, 55, 67, 0, 0, 48, 67, 0, 0, 184, 66, 0, 0, 48, 67, 0, 0, 206, 66, 0, 0, 48, 67, 0, 0, 208, 66, 0, 0, 48, 67, 0, 0, 43, 67, 0, 0, 48, 67, 0, 0, 44, 67, 0, 0, 48, 67, 0, 0, 55, 67, 0, 0, 49, 67, 0, 0, 184, 66, 0, 0, 49, 67, 0, 0, 206, 66, 0, 0, 49, 67, 0, 0, 44, 67, 0, 0, 49, 67, 0, 0, 55, 67, 0, 0, 50, 67, 0, 0, 184, 66, 0, 0, 50, 67, 0, 0, 206, 66, 0, 0, 50, 67, 0, 0, 44, 67, 0, 0, 50, 67, 0, 0, 55, 67, 0, 0, 51, 67, 0, 0, 184, 66, 0, 0, 51, 67, 0, 0, 206, 66, 0, 0, 51, 67, 0, 0, 44, 67, 0, 0, 51, 67, 0, 0, 55, 67, 0, 0, 52, 67, 0, 0, 184, 66, 0, 0, 52, 67, 0, 0, 206, 66, 0, 0, 52, 67, 0, 0, 44, 67, 0, 0, 52, 67, 0, 0, 45, 67, 0, 0, 52, 67, 0, 0, 55, 67, 0, 0, 53, 67, 0, 0, 184, 66, 0, 0, 53, 67, 0, 0, 204, 66, 0, 0, 53, 67, 0, 0, 206, 66, 0, 0, 53, 67, 0, 0, 45, 67, 0, 0, 53, 67, 0, 0, 55, 67, 0, 0, 54, 67, 0, 0, 184, 66, 0, 0, 54, 67, 0, 0, 204, 66, 0, 0, 54, 67, 0, 0, 45, 67, 0, 0, 54, 67, 0, 0, 55, 67, 0, 0, 55, 67, 0, 0, 184, 66, 0, 0, 55, 67, 0, 0, 204, 66, 0, 0, 55, 67, 0, 0, 45, 67, 0, 0, 55, 67, 0, 0, 55, 67, 0, 0, 56, 67, 0, 0, 184, 66, 0, 0, 56, 67, 0, 0, 202, 66, 0, 0, 56, 67, 0, 0, 204, 66, 0, 0, 56, 67, 0, 0, 45, 67, 0, 0, 56, 67, 0, 0, 46, 67, 0, 0, 56, 67, 0, 0, 55, 67, 0, 0, 57, 67, 0, 0, 184, 66, 0, 0, 57, 67, 0, 0, 186, 66, 0, 0, 57, 67, 0, 0, 188, 66, 0, 0, 57, 67, 0, 0, 190, 66, 0, 0, 57, 67, 0, 0, 192, 66, 0, 0, 57, 67, 0, 0, 194, 66, 0, 0, 57, 67, 0, 0, 196, 66, 0, 0, 57, 67, 0, 0, 198, 66, 0, 0, 57, 67, 0, 0, 200, 66, 0, 0, 57, 67, 0, 0, 202, 66, 0, 0, 57, 67, 0, 0, 46, 67, 0, 0, 57, 67, 0, 0, 47, 67, 0, 0, 57, 67, 0, 0, 48, 67, 0, 0, 57, 67, 0, 0, 49, 67, 0, 0, 57, 67, 0, 0, 50, 67, 0, 0, 57, 67, 0, 0, 51, 67, 0, 0, 57, 67, 0, 0, 52, 67, 0, 0, 57, 67, 0, 0, 53, 67, 0, 0, 57, 67, 0, 0, 54, 67, 0, 0, 57, 67, 0, 0, 55, 67, 0, 0, 72, 67, 0, 0, 198, 66, 0, 0, 72, 67, 0, 0, 200, 66, 0, 0, 72, 67, 0, 0, 202, 66, 0, 0, 72, 67, 0, 0, 204, 66, 0, 0, 72, 67, 0, 0, 206, 66, 0, 0, 72, 67, 0, 0, 208, 66, 0, 0, 72, 67, 0, 0, 210, 66, 0, 0, 72, 67, 0, 0, 212, 66, 0, 0, 72, 67, 0, 0, 214, 66, 0, 0, 72, 67, 0, 0, 216, 66, 0, 0, 72, 67, 0, 0, 218, 66, 0, 0, 72, 67, 0, 0, 220, 66, 0, 0, 72, 67, 0, 0, 222, 66, 0, 0, 72, 67, 0, 0, 42, 67, 0, 0, 72, 67, 0, 0, 43, 67, 0, 0, 72, 67, 0, 0, 44, 67, 0, 0, 72, 67, 0, 0, 45, 67, 0, 0, 72, 67, 0, 0, 46, 67, 0, 0, 72, 67, 0, 0, 47, 67, 0, 0, 72, 67, 0, 0, 48, 67, 0, 0, 72, 67, 0, 0, 49, 67, 0, 0, 73, 67, 0, 0, 196, 66, 0, 0, 73, 67, 0, 0, 198, 66, 0, 0, 73, 67, 0, 0, 222, 66, 0, 0, 73, 67, 0, 0, 224, 66, 0, 0, 73, 67, 0, 0, 226, 66, 0, 0, 73, 67, 0, 0, 228, 66, 0, 0, 73, 67, 0, 0, 230, 66, 0, 0, 73, 67, 0, 0, 41, 67, 0, 0, 73, 67, 0, 0, 42, 67, 0, 0, 73, 67, 0, 0, 49, 67, 0, 0, 73, 67, 0, 0, 50, 67, 0, 0, 74, 67, 0, 0, 190, 66, 0, 0, 74, 67, 0, 0, 192, 66, 0, 0, 74, 67, 0, 0, 194, 66, 0, 0, 74, 67, 0, 0, 196, 66, 0, 0, 74, 67, 0, 0, 230, 66, 0, 0, 74, 67, 0, 0, 232, 66, 0, 0, 74, 67, 0, 0, 234, 66, 0, 0, 74, 67, 0, 0, 236, 66, 0, 0, 74, 67, 0, 0, 238, 66, 0, 0, 74, 67, 0, 0, 240, 66, 0, 0, 74, 67, 0, 0, 242, 66, 0, 0, 74, 67, 0, 0, 244, 66, 0, 0, 74, 67, 0, 0, 246, 66, 0, 0, 74, 67, 0, 0, 39, 67, 0, 0, 74, 67, 0, 0, 40, 67, 0, 0, 74, 67, 0, 0, 41, 67, 0, 0, 74, 67, 0, 0, 50, 67, 0, 0, 74, 67, 0, 0, 51, 67, 0, 0, 74, 67, 0, 0, 52, 67, 0, 0, 75, 67, 0, 0, 188, 66, 0, 0, 75, 67, 0, 0, 190, 66, 0, 0, 75, 67, 0, 0, 246, 66, 0, 0, 75, 67, 0, 0, 248, 66, 0, 0, 75, 67, 0, 0, 250, 66, 0, 0, 75, 67, 0, 0, 252, 66, 0, 0, 75, 67, 0, 0, 254, 66, 0, 0, 75, 67, 0, 0, 38, 67, 0, 0, 75, 67, 0, 0, 39, 67, 0, 0, 75, 67, 0, 0, 52, 67, 0, 0, 75, 67, 0, 0, 53, 67, 0, 0, 76, 67, 0, 0, 186, 66, 0, 0, 76, 67, 0, 0, 188, 66, 0, 0, 76, 67, 0, 0, 254, 66, 0, 0, 76, 67, 0, 0, 0, 67, 0, 0, 76, 67, 0, 0, 1, 67, 0, 0, 76, 67, 0, 0, 2, 67, 0, 0, 76, 67, 0, 0, 3, 67, 0, 0, 76, 67, 0, 0, 4, 67, 0, 0, 76, 67, 0, 0, 5, 67, 0, 0, 76, 67, 0, 0, 6, 67, 0, 0, 76, 67, 0, 0, 7, 67, 0, 0, 76, 67, 0, 0, 8, 67, 0, 0, 76, 67, 0, 0, 37, 67, 0, 0, 76, 67, 0, 0, 38, 67, 0, 0, 76, 67, 0, 0, 53, 67, 0, 0, 76, 67, 0, 0, 54, 67, 0, 0, 77, 67, 0, 0, 184, 66, 0, 0, 77, 67, 0, 0, 186, 66, 0, 0, 77, 67, 0, 0, 8, 67, 0, 0, 77, 67, 0, 0, 9, 67, 0, 0, 77, 67, 0, 0, 10, 67, 0, 0, 77, 67, 0, 0, 11, 67, 0, 0, 77, 67, 0, 0, 12, 67, 0, 0, 77, 67, 0, 0, 36, 67, 0, 0, 77, 67, 0, 0, 37, 67, 0, 0, 77, 67, 0, 0, 54, 67, 0, 0, 77, 67, 0, 0, 55, 67, 0, 0, 78, 67, 0, 0, 184, 66, 0, 0, 78, 67, 0, 0, 12, 67, 0, 0, 78, 67, 0, 0, 13, 67, 0, 0, 78, 67, 0, 0, 14, 67, 0, 0, 78, 67, 0, 0, 15, 67, 0, 0, 78, 67, 0, 0, 16, 67, 0, 0, 78, 67, 0, 0, 17, 67, 0, 0, 78, 67, 0, 0, 18, 67, 0, 0, 78, 67, 0, 0, 19, 67, 0, 0, 78, 67, 0, 0, 20, 67, 0, 0, 78, 67, 0, 0, 21, 67, 0, 0, 78, 67, 0, 0, 22, 67, 0, 0, 78, 67, 0, 0, 23, 67, 0, 0, 78, 67, 0, 0, 24, 67, 0, 0, 78, 67, 0, 0, 25, 67, 0, 0, 78, 67, 0, 0, 26, 67, 0, 0, 78, 67, 0, 0, 36, 67, 0, 0, 78, 67, 0, 0, 55, 67, 0, 0, 79, 67, 0, 0, 182, 66, 0, 0, 79, 67, 0, 0, 184, 66, 0, 0, 79, 67, 0, 0, 26, 67, 0, 0, 79, 67, 0, 0, 27, 67, 0, 0, 79, 67, 0, 0, 35, 67, 0, 0, 79, 67, 0, 0, 36, 67, 0, 0, 79, 67, 0, 0, 55, 67, 0, 0, 79, 67, 0, 0, 56, 67, 0, 0, 80, 67, 0, 0, 182, 66, 0, 0, 80, 67, 0, 0, 27, 67, 0, 0, 80, 67, 0, 0, 34, 67, 0, 0, 80, 67, 0, 0, 35, 67, 0, 0, 80, 67, 0, 0, 56, 67, 0, 0, 80, 67, 0, 0, 57, 67, 0, 0, 81, 67, 0, 0, 180, 66, 0, 0, 81, 67, 0, 0, 182, 66, 0, 0, 81, 67, 0, 0, 27, 67, 0, 0, 81, 67, 0, 0, 34, 67, 0, 0, 81, 67, 0, 0, 57, 67, 0, 0, 82, 67, 0, 0, 180, 66, 0, 0, 82, 67, 0, 0, 27, 67, 0, 0, 82, 67, 0, 0, 34, 67, 0, 0, 82, 67, 0, 0, 57, 67, 0, 0, 83, 67, 0, 0, 180, 66, 0, 0, 83, 67, 0, 0, 27, 67, 0, 0, 83, 67, 0, 0, 34, 67, 0, 0, 83, 67, 0, 0, 57, 67, 0, 0, 84, 67, 0, 0, 180, 66, 0, 0, 84, 67, 0, 0, 27, 67, 0, 0, 84, 67, 0, 0, 34, 67, 0, 0, 84, 67, 0, 0, 57, 67, 0, 0, 85, 67, 0, 0, 180, 66, 0, 0, 85, 67, 0, 0, 27, 67, 0, 0, 85, 67, 0, 0, 34, 67, 0, 0, 85, 67, 0, 0, 57, 67, 0, 0, 86, 67, 0, 0, 180, 66, 0, 0, 86, 67, 0, 0, 27, 67, 0, 0, 86, 67, 0, 0, 34, 67, 0, 0, 86, 67, 0, 0, 57, 67, 0, 0, 87, 67, 0, 0, 180, 66, 0, 0, 87, 67, 0, 0, 27, 67, 0, 0, 87, 67, 0, 0, 34, 67, 0, 0, 87, 67, 0, 0, 35, 67, 0, 0, 87, 67, 0, 0, 56, 67, 0, 0, 87, 67, 0, 0, 57, 67, 0, 0, 88, 67, 0, 0, 180, 66, 0, 0, 88, 67, 0, 0, 182, 66, 0, 0, 88, 67, 0, 0, 26, 67, 0, 0, 88, 67, 0, 0, 27, 67, 0, 0, 88, 67, 0, 0, 35, 67, 0, 0, 88, 67, 0, 0, 36, 67, 0, 0, 88, 67, 0, 0, 55, 67, 0, 0, 88, 67, 0, 0, 56, 67, 0, 0, 89, 67, 0, 0, 182, 66, 0, 0, 89, 67, 0, 0, 184, 66, 0, 0, 89, 67, 0, 0, 15, 67, 0, 0, 89, 67, 0, 0, 16, 67, 0, 0, 89, 67, 0, 0, 17, 67, 0, 0, 89, 67, 0, 0, 18, 67, 0, 0, 89, 67, 0, 0, 19, 67, 0, 0, 89, 67, 0, 0, 20, 67, 0, 0, 89, 67, 0, 0, 21, 67, 0, 0, 89, 67, 0, 0, 22, 67, 0, 0, 89, 67, 0, 0, 23, 67, 0, 0, 89, 67, 0, 0, 24, 67, 0, 0, 89, 67, 0, 0, 25, 67, 0, 0, 89, 67, 0, 0, 26, 67, 0, 0, 89, 67, 0, 0, 36, 67, 0, 0, 89, 67, 0, 0, 55, 67, 0, 0, 90, 67, 0, 0, 184, 66, 0, 0, 90, 67, 0, 0, 10, 67, 0, 0, 90, 67, 0, 0, 11, 67, 0, 0, 90, 67, 0, 0, 12, 67, 0, 0, 90, 67, 0, 0, 13, 67, 0, 0, 90, 67, 0, 0, 14, 67, 0, 0, 90, 67, 0, 0, 15, 67, 0, 0, 90, 67, 0, 0, 36, 67, 0, 0, 90, 67, 0, 0, 37, 67, 0, 0, 90, 67, 0, 0, 54, 67, 0, 0, 90, 67, 0, 0, 55, 67, 0, 0, 91, 67, 0, 0, 184, 66, 0, 0, 91, 67, 0, 0, 186, 66, 0, 0, 91, 67, 0, 0, 3, 67, 0, 0, 91, 67, 0, 0, 4, 67, 0, 0, 91, 67, 0, 0, 5, 67, 0, 0, 91, 67, 0, 0, 6, 67, 0, 0, 91, 67, 0, 0, 7, 67, 0, 0, 91, 67, 0, 0, 8, 67, 0, 0, 91, 67, 0, 0, 9, 67, 0, 0, 91, 67, 0, 0, 10, 67, 0, 0, 91, 67, 0, 0, 37, 67, 0, 0, 91, 67, 0, 0, 38, 67, 0, 0, 91, 67, 0, 0, 53, 67, 0, 0, 91, 67, 0, 0, 54, 67, 0, 0, 92, 67, 0, 0, 186, 66, 0, 0, 92, 67, 0, 0, 188, 66, 0, 0, 92, 67, 0, 0, 0, 67, 0, 0, 92, 67, 0, 0, 1, 67, 0, 0, 92, 67, 0, 0, 2, 67, 0, 0, 92, 67, 0, 0, 3, 67, 0, 0, 92, 67, 0, 0, 38, 67, 0, 0, 92, 67, 0, 0, 39, 67, 0, 0, 92, 67, 0, 0, 52, 67, 0, 0, 92, 67, 0, 0, 53, 67, 0, 0, 93, 67, 0, 0, 188, 66, 0, 0, 93, 67, 0, 0, 190, 66, 0, 0, 93, 67, 0, 0, 244, 66, 0, 0, 93, 67, 0, 0, 246, 66, 0, 0, 93, 67, 0, 0, 248, 66, 0, 0, 93, 67, 0, 0, 250, 66, 0, 0, 93, 67, 0, 0, 252, 66, 0, 0, 93, 67, 0, 0, 254, 66, 0, 0, 93, 67, 0, 0, 0, 67, 0, 0, 93, 67, 0, 0, 39, 67, 0, 0, 93, 67, 0, 0, 40, 67, 0, 0, 93, 67, 0, 0, 41, 67, 0, 0, 93, 67, 0, 0, 50, 67, 0, 0, 93, 67, 0, 0, 51, 67, 0, 0, 93, 67, 0, 0, 52, 67, 0, 0, 94, 67, 0, 0, 190, 66, 0, 0, 94, 67, 0, 0, 192, 66, 0, 0, 94, 67, 0, 0, 238, 66, 0, 0, 94, 67, 0, 0, 240, 66, 0, 0, 94, 67, 0, 0, 242, 66, 0, 0, 94, 67, 0, 0, 244, 66, 0, 0, 94, 67, 0, 0, 41, 67, 0, 0, 94, 67, 0, 0, 42, 67, 0, 0, 94, 67, 0, 0, 49, 67, 0, 0, 94, 67, 0, 0, 50, 67, 0, 0, 95, 67, 0, 0, 192, 66, 0, 0, 95, 67, 0, 0, 194, 66, 0, 0, 95, 67, 0, 0, 196, 66, 0, 0, 95, 67, 0, 0, 226, 66, 0, 0, 95, 67, 0, 0, 228, 66, 0, 0, 95, 67, 0, 0, 230, 66, 0, 0, 95, 67, 0, 0, 232, 66, 0, 0, 95, 67, 0, 0, 234, 66, 0, 0, 95, 67, 0, 0, 236, 66, 0, 0, 95, 67, 0, 0, 238, 66, 0, 0, 95, 67, 0, 0, 42, 67, 0, 0, 95, 67, 0, 0, 43, 67, 0, 0, 95, 67, 0, 0, 44, 67, 0, 0, 95, 67, 0, 0, 45, 67, 0, 0, 95, 67, 0, 0, 46, 67, 0, 0, 95, 67, 0, 0, 47, 67, 0, 0, 95, 67, 0, 0, 48, 67, 0, 0, 95, 67, 0, 0, 49, 67, 0, 0, 96, 67, 0, 0, 196, 66, 0, 0, 96, 67, 0, 0, 198, 66, 0, 0, 96, 67, 0, 0, 200, 66, 0, 0, 96, 67, 0, 0, 220, 66, 0, 0, 96, 67, 0, 0, 222, 66, 0, 0, 96, 67, 0, 0, 224, 66, 0, 0, 96, 67, 0, 0, 226, 66, 0, 0, 97, 67, 0, 0, 200, 66, 0, 0, 97, 67, 0, 0, 202, 66, 0, 0, 97, 67, 0, 0, 204, 66, 0, 0, 97, 67, 0, 0, 206, 66, 0, 0, 97, 67, 0, 0, 208, 66, 0, 0, 97, 67, 0, 0, 210, 66, 0, 0, 97, 67, 0, 0, 212, 66, 0, 0, 97, 67, 0, 0, 214, 66, 0, 0, 97, 67, 0, 0, 216, 66, 0, 0, 97, 67, 0, 0, 218, 66, 0, 0, 97, 67, 0, 0, 220, 66, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 28, 0, 1, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 208, 201, 83, 8, 0, 0, 0, 0, 130, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 8, 202, 83, 8, 0, 0, 0, 0, 131, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 64, 202, 83, 8, 0, 0, 0, 0, 132, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 120, 202, 83, 8, 0, 0, 0, 0, 133, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 20, 4, 1, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 176, 202, 83, 8, 0, 0, 0, 0, 134, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 244, 3, 3, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 232, 202, 83, 8, 0, 0, 0, 0, 135, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 32, 203, 83, 8, 0, 0, 0, 0, 136, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 248, 1, 2, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 88, 203, 83, 8, 0, 0, 0, 0, 137, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 120, 127, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 144, 203, 83, 8, 0, 0, 0, 0, 138, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 200, 203, 83, 8, 0, 0, 0, 0, 139, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 0, 204, 83, 8, 0, 0, 0, 0, 140, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 56, 204, 83, 8, 0, 0, 0, 0, 141, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 112, 204, 83, 8, 0, 0, 0, 0, 142, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 168, 204, 83, 8, 0, 0, 0, 0, 143, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 224, 204, 83, 8, 0, 0, 0, 0, 144, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 24, 205, 83, 8, 0, 0, 0, 0, 145, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 80, 205, 83, 8, 0, 0, 0, 0, 146, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 136, 205, 83, 8, 0, 0, 0, 0, 147, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 192, 205, 83, 8, 0, 0, 0, 0, 148, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 120, 127, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 248, 205, 83, 8, 0, 0, 0, 0, 149, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 48, 206, 83, 8, 0, 0, 0, 0, 150, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 104, 206, 83, 8, 0, 0, 0, 0, 151, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 160, 206, 83, 8, 0, 0, 0, 0, 152, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 216, 206, 83, 8, 0, 0, 0, 0, 153, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 16, 207, 83, 8, 0, 0, 0, 0, 154, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 72, 207, 83, 8, 0, 0, 0, 0, 155, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 128, 207, 83, 8, 0, 0, 0, 0, 156, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 184, 207, 83, 8, 0, 0, 0, 0, 157, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 240, 207, 83, 8, 0, 0, 0, 0, 158, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 40, 208, 83, 8, 0, 0, 0, 0, 159, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 96, 208, 83, 8, 0, 0, 0, 0, 160, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 152, 208, 83, 8, 0, 0, 0, 0, 161, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 208, 208, 83, 8, 0, 0, 0, 0, 162, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 8, 209, 83, 8, 0, 0, 0, 0, 163, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 64, 209, 83, 8, 0, 0, 0, 0, 164, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 120, 209, 83, 8, 0, 0, 0, 0, 165, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 4, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 176, 209, 83, 8, 0, 0, 0, 0, 166, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 232, 209, 83, 8, 0, 0, 0, 0, 167, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 32, 210, 83, 8, 0, 0, 0, 0, 168, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 88, 210, 83, 8, 0, 0, 0, 0, 169, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 144, 210, 83, 8, 0, 0, 0, 0, 170, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 200, 210, 83, 8, 0, 0, 0, 0, 171, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 0, 211, 83, 8, 0, 0, 0, 0, 172, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 120, 127, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 56, 211, 83, 8, 0, 0, 0, 0, 173, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 112, 211, 83, 8, 0, 0, 0, 0, 174, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 168, 211, 83, 8, 0, 0, 0, 0, 175, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 224, 211, 83, 8, 0, 0, 0, 0, 176, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 24, 212, 83, 8, 0, 0, 0, 0, 177, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 80, 212, 83, 8, 0, 0, 0, 0, 178, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 136, 212, 83, 8, 0, 0, 0, 0, 179, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 192, 212, 83, 8, 0, 0, 0, 0, 180, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 248, 212, 83, 8, 0, 0, 0, 0, 181, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 48, 213, 83, 8, 0, 0, 0, 0, 182, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 77, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 104, 213, 83, 8, 0, 0, 0, 0, 183, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 160, 213, 83, 8, 0, 0, 0, 0, 184, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 216, 213, 83, 8, 0, 0, 0, 0, 185, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 16, 214, 83, 8, 0, 0, 0, 0, 186, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 72, 214, 83, 8, 0, 0, 0, 0, 187, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 128, 214, 83, 8, 0, 0, 0, 0, 188, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 120, 127, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 184, 214, 83, 8, 0, 0, 0, 0, 189, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 240, 214, 83, 8, 0, 0, 0, 0, 190, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 40, 215, 83, 8, 0, 0, 0, 0, 191, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 96, 215, 83, 8, 0, 0, 0, 0, 192, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 120, 127, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 152, 215, 83, 8, 0, 0, 0, 0, 193, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 208, 215, 83, 8, 0, 0, 0, 0, 194, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 8, 216, 83, 8, 0, 0, 0, 0, 195, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 64, 216, 83, 8, 0, 0, 0, 0, 196, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 120, 216, 83, 8, 0, 0, 0, 0, 197, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 176, 216, 83, 8, 0, 0, 0, 0, 198, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 232, 216, 83, 8, 0, 0, 0, 0, 199, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 32, 217, 83, 8, 0, 0, 0, 0, 200, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 88, 217, 83, 8, 0, 0, 0, 0, 201, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 144, 217, 83, 8, 0, 0, 0, 0, 202, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 120, 127, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 200, 217, 83, 8, 0, 0, 0, 0, 203, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 0, 218, 83, 8, 0, 0, 0, 0, 204, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 56, 218, 83, 8, 0, 0, 0, 0, 205, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 112, 218, 83, 8, 0, 0, 0, 0, 206, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 168, 218, 83, 8, 0, 0, 0, 0, 207, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 224, 218, 83, 8, 0, 0, 0, 0, 208, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 24, 219, 83, 8, 0, 0, 0, 0, 209, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 80, 219, 83, 8, 0, 0, 0, 0, 210, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 136, 219, 83, 8, 0, 0, 0, 0, 211, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 192, 219, 83, 8, 0, 0, 0, 0, 212, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 248, 219, 83, 8, 0, 0, 0, 0, 213, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 48, 220, 83, 8, 0, 0, 0, 0, 214, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 104, 220, 83, 8, 0, 0, 0, 0, 215, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 160, 220, 83, 8, 0, 0, 0, 0, 216, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 216, 220, 83, 8, 0, 0, 0, 0, 217, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 8, 0, 0, 0, 109, 206, 115, 33, 0, 0, 0, 0, 193, 1, 0, 0, 0, 0, 0, 0, 112, 2, 75, 33, 0, 0, 0, 0, 144, 142, 95, 122, 120, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 18, 207, 32, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 45, 154, 115, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 141, 113, 33, 0, 0, 0, 0, 224, 140, 113, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 96, 218, 8, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 81, 1, 0, 0, 0, 0, 0, 0, 96, 53, 120, 33, 0, 0, 0, 0, 112, 105, 114, 33, 0, 0, 0, 0, 1, 0, 0, 1, 129, 0, 0, 0, 113, 0, 0, 4, 80, 0, 3, 0, 110, 0, 0, 33, 12, 4, 3, 0, 0, 0, 0, 0, 0, 2, 134, 0, 198, 6, 0, 36, 16, 4, 43, 0, 129, 0, 0, 0, 0, 0, 0, 0, 160, 73, 224, 32, 0, 0, 0, 0, 80, 250, 120, 33, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 113, 0, 0, 4, 80, 0, 3, 0, 110, 0, 0, 33, 12, 4, 3, 0, 0, 0, 0, 0, 0, 2, 134, 0, 200, 6, 0, 36, 16, 4, 43, 0, 65, 0, 0, 0, 0, 0, 0, 0, 16, 251, 120, 33, 0, 0, 0, 0, 160, 73, 224, 32, 0, 0, 0, 0, 1, 0, 0, 1, 33, 0, 0, 0, 113, 0, 0, 4, 80, 0, 3, 0, 110, 0, 0, 33, 12, 4, 3, 0, 0, 0, 0, 0, 0, 2, 134, 0, 192, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 107, 114, 33, 0, 0, 0, 0, 144, 137, 165, 32, 0, 0, 0, 0, 240, 104, 240, 32, 0, 0, 0, 0, 16, 107, 114, 33, 0, 0, 0, 0, 112, 137, 165, 32, 0, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 16, 53, 120, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 53, 120, 33, 0, 0, 0, 0), "format": "RGFloat", @@ -212,7 +212,7 @@ data = { } [sub_resource type="ImageTexture" id="ImageTexture_sshgl"] -image = SubResource("Image_5dfpo") +image = SubResource("Image_n2nca") [sub_resource type="ParticleProcessMaterial" id="29"] emission_shape = 5 @@ -451,8 +451,8 @@ tracks/1/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_j1xdo"] _data = { -"RESET": SubResource("Animation_y6gdc"), -"move_particles": SubResource("Animation_bl3q0") +&"RESET": SubResource("Animation_y6gdc"), +&"move_particles": SubResource("Animation_bl3q0") } [node name="GPUParticles3D" type="WorldEnvironment"] diff --git a/2d/particles/pause.gd.uid b/2d/particles/pause.gd.uid new file mode 100644 index 00000000..5069a0e4 --- /dev/null +++ b/2d/particles/pause.gd.uid @@ -0,0 +1 @@ +uid://dwtnqprkhkpob diff --git a/2d/particles/project.godot b/2d/particles/project.godot index e36b74ba..04329868 100644 --- a/2d/particles/project.godot +++ b/2d/particles/project.godot @@ -14,7 +14,7 @@ config/name="2D GPUParticles3D" config/description="This demo showcases how 2D particle systems work in Godot." config/tags=PackedStringArray("2d", "demo", "official", "rendering") run/main_scene="res://particles.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -30,33 +30,33 @@ window/stretch/aspect="expand" toggle_pause={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194313,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194313,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } toggle_trails={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":84,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":84,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } increase_trail_length={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } decrease_trail_length={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } toggle_glow={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":71,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":71,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } [rendering] renderer/rendering_method="mobile" -environment/defaults/default_clear_color=Color(0, 0, 0, 1) anti_aliasing/quality/msaa_2d=2 +environment/defaults/default_clear_color=Color(0, 0, 0, 1) diff --git a/2d/physics_platformer/coin/coin.gd.uid b/2d/physics_platformer/coin/coin.gd.uid new file mode 100644 index 00000000..8d236586 --- /dev/null +++ b/2d/physics_platformer/coin/coin.gd.uid @@ -0,0 +1 @@ +uid://bjuea6cfhdx0c diff --git a/2d/physics_platformer/coin/coin.tscn b/2d/physics_platformer/coin/coin.tscn index 3617c4d2..f850ac9d 100644 --- a/2d/physics_platformer/coin/coin.tscn +++ b/2d/physics_platformer/coin/coin.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=11 format=3 uid="uid://6uilf6rad880"] -[ext_resource type="Script" path="res://coin/coin.gd" id="1"] +[ext_resource type="Script" uid="uid://bjuea6cfhdx0c" path="res://coin/coin.gd" id="1"] [ext_resource type="Texture2D" uid="uid://bio1crwbvrmc2" path="res://coin/coin.png" id="2"] [ext_resource type="AudioStream" uid="uid://cy7lxrapbqu1r" path="res://audio/sound_coin.wav" id="3"] [ext_resource type="Texture2D" uid="uid://7sv64orewgmb" path="res://player/bullet.png" id="4"] @@ -91,8 +91,8 @@ tracks/4/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_4atuj"] _data = { -"spin": SubResource("1"), -"taken": SubResource("2") +&"spin": SubResource("1"), +&"taken": SubResource("2") } [sub_resource type="CircleShape2D" id="3"] diff --git a/2d/physics_platformer/enemy/enemy.gd.uid b/2d/physics_platformer/enemy/enemy.gd.uid new file mode 100644 index 00000000..56760bb8 --- /dev/null +++ b/2d/physics_platformer/enemy/enemy.gd.uid @@ -0,0 +1 @@ +uid://dhnjultys4i0n diff --git a/2d/physics_platformer/enemy/enemy.tscn b/2d/physics_platformer/enemy/enemy.tscn index a7dcc1d4..3f835b7a 100644 --- a/2d/physics_platformer/enemy/enemy.tscn +++ b/2d/physics_platformer/enemy/enemy.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=14 format=3 uid="uid://daqqtote00syu"] -[ext_resource type="Script" path="res://enemy/enemy.gd" id="1_hjwkx"] +[ext_resource type="Script" uid="uid://dhnjultys4i0n" path="res://enemy/enemy.gd" id="1_hjwkx"] [ext_resource type="Texture2D" uid="uid://crrmmbu8k46tl" path="res://enemy/enemy.png" id="2_org2d"] [ext_resource type="Texture2D" uid="uid://7sv64orewgmb" path="res://player/bullet.png" id="3_7unrb"] [ext_resource type="AudioStream" uid="uid://cfssio7r2t7wq" path="res://audio/sound_hit.wav" id="4_5rkwm"] @@ -129,10 +129,10 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_ay0tp"] _data = { -"RESET": SubResource("Animation_a7qal"), -"explode": SubResource("2"), -"idle": SubResource("3"), -"walk": SubResource("4") +&"RESET": SubResource("Animation_a7qal"), +&"explode": SubResource("2"), +&"idle": SubResource("3"), +&"walk": SubResource("4") } [sub_resource type="CircleShape2D" id="5"] diff --git a/2d/physics_platformer/player/bullet.gd.uid b/2d/physics_platformer/player/bullet.gd.uid new file mode 100644 index 00000000..1fa92cf2 --- /dev/null +++ b/2d/physics_platformer/player/bullet.gd.uid @@ -0,0 +1 @@ +uid://o5d31j3cb8co diff --git a/2d/physics_platformer/player/bullet.tscn b/2d/physics_platformer/player/bullet.tscn index a09856e3..d8df147e 100644 --- a/2d/physics_platformer/player/bullet.tscn +++ b/2d/physics_platformer/player/bullet.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=7 format=3 uid="uid://dlfwkokoudcwv"] -[ext_resource type="Script" path="res://player/bullet.gd" id="1"] +[ext_resource type="Script" uid="uid://o5d31j3cb8co" path="res://player/bullet.gd" id="1"] [ext_resource type="Texture2D" uid="uid://7sv64orewgmb" path="res://player/bullet.png" id="2"] [sub_resource type="CanvasItemMaterial" id="1"] @@ -52,7 +52,7 @@ tracks/2/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_hkd2b"] _data = { -"shutdown": SubResource("3") +&"shutdown": SubResource("3") } [node name="Bullet" type="RigidBody2D"] diff --git a/2d/physics_platformer/player/player.gd.uid b/2d/physics_platformer/player/player.gd.uid new file mode 100644 index 00000000..3d2a42db --- /dev/null +++ b/2d/physics_platformer/player/player.gd.uid @@ -0,0 +1 @@ +uid://dc65th8sdysu3 diff --git a/2d/physics_platformer/player/player.tscn b/2d/physics_platformer/player/player.tscn index d895e8d6..48c4202d 100644 --- a/2d/physics_platformer/player/player.tscn +++ b/2d/physics_platformer/player/player.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=20 format=3 uid="uid://bbxsp4gp554vh"] -[ext_resource type="Script" path="res://player/player.gd" id="1"] +[ext_resource type="Script" uid="uid://dc65th8sdysu3" path="res://player/player.gd" id="1"] [ext_resource type="Texture2D" uid="uid://dh57uloeigwj6" path="res://player/player.webp" id="2_675nc"] [ext_resource type="Texture2D" uid="uid://7sv64orewgmb" path="res://player/bullet.png" id="3"] [ext_resource type="AudioStream" uid="uid://gw2a4ii0oby2" path="res://audio/sound_shoot.wav" id="8"] @@ -178,16 +178,16 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_30623"] _data = { -"crouch": SubResource("3"), -"falling": SubResource("4"), -"falling_weapon": SubResource("5"), -"idle": SubResource("6"), -"idle_weapon": SubResource("7"), -"jumping": SubResource("8"), -"jumping_weapon": SubResource("9"), -"run": SubResource("10"), -"run_weapon": SubResource("11"), -"standing_weapon_ready": SubResource("12") +&"crouch": SubResource("3"), +&"falling": SubResource("4"), +&"falling_weapon": SubResource("5"), +&"idle": SubResource("6"), +&"idle_weapon": SubResource("7"), +&"jumping": SubResource("8"), +&"jumping_weapon": SubResource("9"), +&"run": SubResource("10"), +&"run_weapon": SubResource("11"), +&"standing_weapon_ready": SubResource("12") } [sub_resource type="SeparationRayShape2D" id="13"] diff --git a/2d/physics_platformer/project.godot b/2d/physics_platformer/project.godot index 5b78d3a4..bdd433ca 100644 --- a/2d/physics_platformer/project.godot +++ b/2d/physics_platformer/project.godot @@ -17,7 +17,7 @@ but can be more difficult to handle, as they require manual modification of the RigidBody3D velocity." config/tags=PackedStringArray("2d", "demo", "official", "physics", "tilemap") run/main_scene="res://stage.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -59,30 +59,30 @@ texture={ jump={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":122,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":false,"script":null) ] } move_left={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":113,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":13,"pressure":0.0,"pressed":false,"script":null) ] } move_right={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":15,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null) ] } shoot={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":7,"pressure":0.0,"pressed":false,"script":null) @@ -90,7 +90,7 @@ shoot={ } spawn={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":114,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":114,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":3,"pressure":0.0,"pressed":false,"script":null) ] } diff --git a/2d/physics_platformer/stage.tscn b/2d/physics_platformer/stage.tscn index d489e98c..6335dcd3 100644 --- a/2d/physics_platformer/stage.tscn +++ b/2d/physics_platformer/stage.tscn @@ -92,8 +92,8 @@ tracks/2/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_el48w"] _data = { -"RESET": SubResource("Animation_oxal6"), -"move": SubResource("Animation_vjtqx") +&"RESET": SubResource("Animation_oxal6"), +&"move": SubResource("Animation_vjtqx") } [sub_resource type="PhysicsMaterial" id="2"] diff --git a/2d/physics_platformer/tileset_edit.tscn b/2d/physics_platformer/tileset_edit.tscn index e6dc6b78..2bec34b7 100644 --- a/2d/physics_platformer/tileset_edit.tscn +++ b/2d/physics_platformer/tileset_edit.tscn @@ -1,11 +1,11 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://clx0hgyagb3df"] -[ext_resource path="res://tiles_demo.png" type="Texture2D" id=1] +[ext_resource type="Texture2D" uid="uid://dbcdt0wqr3gd3" path="res://tiles_demo.png" id="1"] [node name="TilesetEdit" type="Node2D"] [node name="Floor" type="Sprite2D" parent="."] -texture = ExtResource( 1 ) +texture = ExtResource("1") region_rect = Rect2(0, 0, 32, 32) [node name="Collision" type="StaticBody2D" parent="Floor"] @@ -15,7 +15,7 @@ polygon = PackedVector2Array(16, -12, 16, 16, -16, 16, -16, -12) [node name="Edge" type="Sprite2D" parent="."] position = Vector2(32, 0) -texture = ExtResource( 1 ) +texture = ExtResource("1") region_rect = Rect2(32, 0, 32, 32) [node name="Collision" type="StaticBody2D" parent="Edge"] @@ -25,7 +25,7 @@ polygon = PackedVector2Array(-16, -12, 12, -12, 12, 16, -16, 16) [node name="Wall" type="Sprite2D" parent="."] position = Vector2(32, 32) -texture = ExtResource( 1 ) +texture = ExtResource("1") region_rect = Rect2(32, 32, 32, 32) [node name="Collision" type="StaticBody2D" parent="Wall"] @@ -35,7 +35,7 @@ polygon = PackedVector2Array(-16, -16, 12, -16, 12, 16, -16, 16) [node name="WallDeco" type="Sprite2D" parent="."] position = Vector2(48, 64) -texture = ExtResource( 1 ) +texture = ExtResource("1") region_rect = Rect2(160, 64, 64, 32) [node name="Collision" type="StaticBody2D" parent="WallDeco"] @@ -45,7 +45,7 @@ polygon = PackedVector2Array(-32, -16, -4, -16, -4, 16, -32, 16) [node name="Corner" type="Sprite2D" parent="."] position = Vector2(32, 96) -texture = ExtResource( 1 ) +texture = ExtResource("1") region_rect = Rect2(32, 64, 32, 32) [node name="Collision" type="StaticBody2D" parent="Corner"] @@ -55,7 +55,7 @@ polygon = PackedVector2Array(-16, -16, 12, -16, 16, -12, 16, 16, -16, 16) [node name="Flowers" type="Sprite2D" parent="."] position = Vector2(64, 96) -texture = ExtResource( 1 ) +texture = ExtResource("1") region_rect = Rect2(96, 96, 32, 32) [node name="Collision" type="StaticBody2D" parent="Flowers"] @@ -65,7 +65,7 @@ polygon = PackedVector2Array(-16, 16, 16, 16, 16, -12, -16, -12) [node name="TreeBase" type="Sprite2D" parent="."] position = Vector2(96, 96) -texture = ExtResource( 1 ) +texture = ExtResource("1") region_rect = Rect2(128, 96, 32, 32) [node name="Collision" type="StaticBody2D" parent="TreeBase"] @@ -75,27 +75,27 @@ polygon = PackedVector2Array(-16, 16, 16, 16, 16, -12, -16, -12) [node name="TreeMid" type="Sprite2D" parent="."] position = Vector2(96, 64) -texture = ExtResource( 1 ) +texture = ExtResource("1") region_rect = Rect2(128, 64, 32, 32) [node name="TreeMid2" type="Sprite2D" parent="."] position = Vector2(96, 32) -texture = ExtResource( 1 ) +texture = ExtResource("1") region_rect = Rect2(128, 32, 32, 32) [node name="TreeTop" type="Sprite2D" parent="."] position = Vector2(96, 0) -texture = ExtResource( 1 ) +texture = ExtResource("1") region_rect = Rect2(128, 0, 32, 32) [node name="Solid" type="Sprite2D" parent="."] position = Vector2(0, 32) -texture = ExtResource( 1 ) +texture = ExtResource("1") region_rect = Rect2(0, 32, 32, 32) [node name="Ceiling" type="Sprite2D" parent="."] position = Vector2(0, 64) -texture = ExtResource( 1 ) +texture = ExtResource("1") region_rect = Rect2(192, 32, 32, 32) [node name="Collision" type="StaticBody2D" parent="Ceiling"] @@ -105,7 +105,7 @@ polygon = PackedVector2Array(16, -16, 16, 16, -16, 16, -16, -16) [node name="Ramp" type="Sprite2D" parent="."] position = Vector2(128, 112) -texture = ExtResource( 1 ) +texture = ExtResource("1") region_rect = Rect2(64, 64, 32, 64) [node name="Collision" type="StaticBody2D" parent="Ramp"] @@ -115,7 +115,7 @@ polygon = PackedVector2Array(-16, -28, 16, 4, 16, 32, -16, 32) [node name="CeilingWall" type="Sprite2D" parent="."] position = Vector2(0, 96) -texture = ExtResource( 1 ) +texture = ExtResource("1") region_rect = Rect2(224, 32, 32, 32) [node name="Collision" type="StaticBody2D" parent="CeilingWall"] @@ -125,7 +125,7 @@ polygon = PackedVector2Array(-16, -16, 12, -16, 12, 16, -16, 16) [node name="PlatformFloor" type="Sprite2D" parent="."] position = Vector2(0, 128) -texture = ExtResource( 1 ) +texture = ExtResource("1") region_rect = Rect2(64, 0, 32, 32) [node name="Collision" type="StaticBody2D" parent="PlatformFloor"] @@ -135,7 +135,7 @@ polygon = PackedVector2Array(16, -12, 16, 12, -16, 12, -16, -12) [node name="PlatformEdge" type="Sprite2D" parent="."] position = Vector2(32, 128) -texture = ExtResource( 1 ) +texture = ExtResource("1") region_rect = Rect2(96, 0, 32, 32) [node name="Collision" type="StaticBody2D" parent="PlatformEdge"] diff --git a/2d/physics_tests/main.tscn b/2d/physics_tests/main.tscn index b3afa6ee..05264ac7 100644 --- a/2d/physics_tests/main.tscn +++ b/2d/physics_tests/main.tscn @@ -1,14 +1,14 @@ [gd_scene load_steps=11 format=3 uid="uid://6a0nxwkgf5dq"] -[ext_resource type="Script" path="res://utils/label_fps.gd" id="1"] -[ext_resource type="Script" path="res://utils/label_version.gd" id="2"] -[ext_resource type="Script" path="res://utils/label_engine.gd" id="3"] -[ext_resource type="Script" path="res://tests_menu.gd" id="4"] -[ext_resource type="Script" path="res://utils/label_test.gd" id="5"] -[ext_resource type="Script" path="res://utils/label_pause.gd" id="6"] -[ext_resource type="Script" path="res://utils/container_log.gd" id="10"] -[ext_resource type="Script" path="res://utils/scroll_log.gd" id="11"] -[ext_resource type="Script" path="res://tests.gd" id="12"] +[ext_resource type="Script" uid="uid://db4ofia8ieq55" path="res://utils/label_fps.gd" id="1"] +[ext_resource type="Script" uid="uid://dustsplck84ac" path="res://utils/label_version.gd" id="2"] +[ext_resource type="Script" uid="uid://c87b1snynit3u" path="res://utils/label_engine.gd" id="3"] +[ext_resource type="Script" uid="uid://cw0pi4lgucxdr" path="res://tests_menu.gd" id="4"] +[ext_resource type="Script" uid="uid://bjl0grl2gv43y" path="res://utils/label_test.gd" id="5"] +[ext_resource type="Script" uid="uid://b4rnndt2dw5g1" path="res://utils/label_pause.gd" id="6"] +[ext_resource type="Script" uid="uid://k8crlob60yte" path="res://utils/container_log.gd" id="10"] +[ext_resource type="Script" uid="uid://b2t0e1okrl3j4" path="res://utils/scroll_log.gd" id="11"] +[ext_resource type="Script" uid="uid://db80201lynb6l" path="res://tests.gd" id="12"] [sub_resource type="StyleBoxFlat" id="1"] bg_color = Color(0, 0, 0, 0.176471) diff --git a/2d/physics_tests/project.godot b/2d/physics_tests/project.godot index c9ed06e6..bdfab0c6 100644 --- a/2d/physics_tests/project.godot +++ b/2d/physics_tests/project.godot @@ -13,7 +13,7 @@ config_version=5 config/name="2D Physics Tests" config/tags=PackedStringArray("2d", "demo", "official", "physics") run/main_scene="res://main.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [autoload] @@ -50,46 +50,46 @@ ui_down={ } toggle_full_screen={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":70,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":70,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } exit={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194305,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194305,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } toggle_debug_collision={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":67,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":67,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } restart_test={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":82,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":82,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } toggle_pause={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":80,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":80,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } character_left={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":113,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } character_right={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } character_jump={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":122,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) ] } diff --git a/2d/physics_tests/test.gd.uid b/2d/physics_tests/test.gd.uid new file mode 100644 index 00000000..d3ab0ddd --- /dev/null +++ b/2d/physics_tests/test.gd.uid @@ -0,0 +1 @@ +uid://d0kgjrek58tgu diff --git a/2d/physics_tests/tests.gd.uid b/2d/physics_tests/tests.gd.uid new file mode 100644 index 00000000..d71ee398 --- /dev/null +++ b/2d/physics_tests/tests.gd.uid @@ -0,0 +1 @@ +uid://db80201lynb6l diff --git a/2d/physics_tests/tests/dynamic_box.tscn b/2d/physics_tests/tests/dynamic_box.tscn index 22362822..e1f013c4 100644 --- a/2d/physics_tests/tests/dynamic_box.tscn +++ b/2d/physics_tests/tests/dynamic_box.tscn @@ -7,4 +7,4 @@ size = Vector2(40, 40) position = Vector2(-180, -20) [node name="CollisionShape2D" type="CollisionShape2D" parent="."] -shape = SubResource( "1" ) +shape = SubResource("1") diff --git a/2d/physics_tests/tests/functional/test_character.gd.uid b/2d/physics_tests/tests/functional/test_character.gd.uid new file mode 100644 index 00000000..03c89786 --- /dev/null +++ b/2d/physics_tests/tests/functional/test_character.gd.uid @@ -0,0 +1 @@ +uid://bunx01rkxycln diff --git a/2d/physics_tests/tests/functional/test_character_pixels.gd.uid b/2d/physics_tests/tests/functional/test_character_pixels.gd.uid new file mode 100644 index 00000000..041d3b43 --- /dev/null +++ b/2d/physics_tests/tests/functional/test_character_pixels.gd.uid @@ -0,0 +1 @@ +uid://bc7qj5246usj0 diff --git a/2d/physics_tests/tests/functional/test_character_pixels.tscn b/2d/physics_tests/tests/functional/test_character_pixels.tscn index f17bdd80..e400bb57 100644 --- a/2d/physics_tests/tests/functional/test_character_pixels.tscn +++ b/2d/physics_tests/tests/functional/test_character_pixels.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=12 format=3 uid="uid://bxx2ftwccdlft"] -[ext_resource type="Script" path="res://tests/functional/test_character_pixels.gd" id="1"] -[ext_resource type="Script" path="res://utils/rigidbody_controller.gd" id="2"] +[ext_resource type="Script" uid="uid://bc7qj5246usj0" path="res://tests/functional/test_character_pixels.gd" id="1"] +[ext_resource type="Script" uid="uid://3kutyof2jcdh" path="res://utils/rigidbody_controller.gd" id="2"] [ext_resource type="PackedScene" uid="uid://blh3twy74kbkv" path="res://tests/test_options.tscn" id="3"] [ext_resource type="PackedScene" uid="uid://cx2q80okt25o1" path="res://tests/static_scene_flat.tscn" id="4"] -[ext_resource type="Script" path="res://utils/characterbody_controller.gd" id="7"] +[ext_resource type="Script" uid="uid://gajv1ool1il5" path="res://utils/characterbody_controller.gd" id="7"] [sub_resource type="RectangleShape2D" id="3"] size = Vector2(6, 9.8) @@ -25,7 +25,7 @@ size = Vector2(6, 10) size = Vector2(20, 4) [node name="Test" type="Node2D"] -script = ExtResource( "1" ) +script = ExtResource("1") _motion_speed = 30.0 _gravity_force = 2.0 _jump_force = 50.0 @@ -50,85 +50,85 @@ size_2d_override = Vector2i(128, 75) size_2d_override_stretch = true render_target_update_mode = 4 -[node name="StaticSceneFlat" parent="ViewportContainer/Viewport" instance=ExtResource( "4" )] +[node name="StaticSceneFlat" parent="ViewportContainer/Viewport" instance=ExtResource("4")] position = Vector2(0, -450) [node name="CharacterBody2D" type="CharacterBody2D" parent="ViewportContainer/Viewport"] position = Vector2(30, 40) collision_mask = 2147483649 -script = ExtResource( "7" ) +script = ExtResource("7") [node name="CollisionShape2D" type="CollisionShape2D" parent="ViewportContainer/Viewport/CharacterBody2D"] -shape = SubResource( "3" ) +shape = SubResource("3") [node name="CharacterBodyRay2D" type="CharacterBody2D" parent="ViewportContainer/Viewport"] position = Vector2(30, 40) collision_mask = 2147483649 -script = ExtResource( "7" ) +script = ExtResource("7") [node name="CollisionShape2D" type="CollisionShape2D" parent="ViewportContainer/Viewport/CharacterBodyRay2D"] position = Vector2(0, -2.5) -shape = SubResource( "RectangleShape2D_scs3g" ) +shape = SubResource("RectangleShape2D_scs3g") [node name="CollisionShapeRay2D" type="CollisionShape2D" parent="ViewportContainer/Viewport/CharacterBodyRay2D"] position = Vector2(0, -2) -shape = SubResource( "SeparationRayShape2D_vby12" ) +shape = SubResource("SeparationRayShape2D_vby12") [node name="RigidDynamicBody2D" type="RigidDynamicBody2D" parent="ViewportContainer/Viewport"] position = Vector2(30, 40) collision_mask = 2147483649 -physics_material_override = SubResource( "1" ) +physics_material_override = SubResource("1") contacts_reported = 4 contact_monitor = true lock_rotation = true -script = ExtResource( "2" ) +script = ExtResource("2") [node name="CollisionShape2D" type="CollisionShape2D" parent="ViewportContainer/Viewport/RigidDynamicBody2D"] -shape = SubResource( "2" ) +shape = SubResource("2") [node name="RigidBodyRay2D" type="RigidDynamicBody2D" parent="ViewportContainer/Viewport"] position = Vector2(30, 40) collision_mask = 2147483649 -physics_material_override = SubResource( "1" ) +physics_material_override = SubResource("1") contacts_reported = 4 contact_monitor = true lock_rotation = true -script = ExtResource( "2" ) +script = ExtResource("2") [node name="CollisionShape2D" type="CollisionShape2D" parent="ViewportContainer/Viewport/RigidBodyRay2D"] position = Vector2(0, -2.5) -shape = SubResource( "RectangleShape2D_scs3g" ) +shape = SubResource("RectangleShape2D_scs3g") [node name="CollisionShapeRay2D" type="CollisionShape2D" parent="ViewportContainer/Viewport/RigidBodyRay2D"] position = Vector2(0, -2) -shape = SubResource( "SeparationRayShape2D_vby12" ) +shape = SubResource("SeparationRayShape2D_vby12") [node name="Wall1" type="StaticBody2D" parent="ViewportContainer/Viewport"] position = Vector2(20, 40) [node name="CollisionShape2D" type="CollisionShape2D" parent="SubViewportContainer/SubViewport/Wall1"] rotation = 1.5708 -shape = SubResource( "6" ) +shape = SubResource("6") [node name="Wall2" type="StaticBody2D" parent="ViewportContainer/Viewport"] position = Vector2(122, 40) [node name="CollisionShape2D" type="CollisionShape2D" parent="SubViewportContainer/SubViewport/Wall2"] rotation = 1.5708 -shape = SubResource( "6" ) +shape = SubResource("6") [node name="Platform1" type="StaticBody2D" parent="ViewportContainer/Viewport"] position = Vector2(50, 44) [node name="CollisionShape2D" type="CollisionShape2D" parent="ViewportContainer/Viewport/Platform1"] -shape = SubResource( "6" ) +shape = SubResource("6") one_way_collision = true [node name="Platform2" type="StaticBody2D" parent="ViewportContainer/Viewport"] position = Vector2(80, 38) [node name="CollisionShape2D" type="CollisionShape2D" parent="ViewportContainer/Viewport/Platform2"] -shape = SubResource( "6" ) +shape = SubResource("6") [node name="Slope" type="StaticBody2D" parent="ViewportContainer/Viewport"] position = Vector2(85, 36) @@ -146,7 +146,7 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Options" parent="." instance=ExtResource( "3" )] +[node name="Options" parent="." instance=ExtResource("3")] [node name="LabelFloor" type="Label" parent="."] offset_left = 14.0 diff --git a/2d/physics_tests/tests/functional/test_character_slopes.tscn b/2d/physics_tests/tests/functional/test_character_slopes.tscn index 2a5d1f5c..f371dfc2 100644 --- a/2d/physics_tests/tests/functional/test_character_slopes.tscn +++ b/2d/physics_tests/tests/functional/test_character_slopes.tscn @@ -1,12 +1,12 @@ [gd_scene load_steps=15 format=3 uid="uid://bqmku5ewlo6j5"] -[ext_resource type="Script" path="res://tests/functional/test_character.gd" id="1"] +[ext_resource type="Script" uid="uid://bunx01rkxycln" path="res://tests/functional/test_character.gd" id="1"] [ext_resource type="PackedScene" uid="uid://blh3twy74kbkv" path="res://tests/test_options.tscn" id="3"] -[ext_resource type="Script" path="res://utils/slider.gd" id="3_cd5g0"] +[ext_resource type="Script" uid="uid://bbj7imitin8ud" path="res://utils/slider.gd" id="3_cd5g0"] [ext_resource type="PackedScene" uid="uid://cx2q80okt25o1" path="res://tests/static_scene_flat.tscn" id="4"] -[ext_resource type="Script" path="res://utils/label_slider_value.gd" id="4_eoplu"] -[ext_resource type="Script" path="res://utils/rigidbody_controller.gd" id="6"] -[ext_resource type="Script" path="res://utils/characterbody_controller.gd" id="7"] +[ext_resource type="Script" uid="uid://de1e0s7nie4wc" path="res://utils/label_slider_value.gd" id="4_eoplu"] +[ext_resource type="Script" uid="uid://3kutyof2jcdh" path="res://utils/rigidbody_controller.gd" id="6"] +[ext_resource type="Script" uid="uid://gajv1ool1il5" path="res://utils/characterbody_controller.gd" id="7"] [sub_resource type="CapsuleShape2D" id="3"] radius = 15.0 diff --git a/2d/physics_tests/tests/functional/test_character_tilemap.gd.uid b/2d/physics_tests/tests/functional/test_character_tilemap.gd.uid new file mode 100644 index 00000000..2786e38b --- /dev/null +++ b/2d/physics_tests/tests/functional/test_character_tilemap.gd.uid @@ -0,0 +1 @@ +uid://bhwuwhopw4t8 diff --git a/2d/physics_tests/tests/functional/test_character_tilemap.tscn b/2d/physics_tests/tests/functional/test_character_tilemap.tscn index 8fb98126..5b5f743f 100644 --- a/2d/physics_tests/tests/functional/test_character_tilemap.tscn +++ b/2d/physics_tests/tests/functional/test_character_tilemap.tscn @@ -1,11 +1,11 @@ [gd_scene load_steps=12 format=3 uid="uid://b7fcmfv5sqxfo"] -[ext_resource type="Script" path="res://tests/functional/test_character_tilemap.gd" id="1"] +[ext_resource type="Script" uid="uid://bhwuwhopw4t8" path="res://tests/functional/test_character_tilemap.gd" id="1"] [ext_resource type="PackedScene" uid="uid://blh3twy74kbkv" path="res://tests/test_options.tscn" id="3"] [ext_resource type="PackedScene" uid="uid://cx2q80okt25o1" path="res://tests/static_scene_flat.tscn" id="4"] [ext_resource type="TileSet" uid="uid://rgfdpxlejxl3" path="res://assets/tileset/tileset.tres" id="5"] -[ext_resource type="Script" path="res://utils/rigidbody_controller.gd" id="6"] -[ext_resource type="Script" path="res://utils/characterbody_controller.gd" id="7"] +[ext_resource type="Script" uid="uid://3kutyof2jcdh" path="res://utils/rigidbody_controller.gd" id="6"] +[ext_resource type="Script" uid="uid://gajv1ool1il5" path="res://utils/characterbody_controller.gd" id="7"] [sub_resource type="RectangleShape2D" id="2"] size = Vector2(32, 63.9) diff --git a/2d/physics_tests/tests/functional/test_collision_pairs.gd.uid b/2d/physics_tests/tests/functional/test_collision_pairs.gd.uid new file mode 100644 index 00000000..56947c79 --- /dev/null +++ b/2d/physics_tests/tests/functional/test_collision_pairs.gd.uid @@ -0,0 +1 @@ +uid://cvlh3pf74fsjr diff --git a/2d/physics_tests/tests/functional/test_collision_pairs.tscn b/2d/physics_tests/tests/functional/test_collision_pairs.tscn index a3b38b00..3399a0cd 100644 --- a/2d/physics_tests/tests/functional/test_collision_pairs.tscn +++ b/2d/physics_tests/tests/functional/test_collision_pairs.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=8 format=3 uid="uid://pm3t5nl2v6gj"] -[ext_resource type="Script" path="res://tests/functional/test_collision_pairs.gd" id="1"] +[ext_resource type="Script" uid="uid://cvlh3pf74fsjr" path="res://tests/functional/test_collision_pairs.gd" id="1"] [ext_resource type="Texture2D" uid="uid://c5duuyhbmd0m4" path="res://assets/texture/godot-head.png" id="2"] [ext_resource type="PackedScene" uid="uid://blh3twy74kbkv" path="res://tests/test_options.tscn" id="3"] @@ -18,9 +18,9 @@ height = 110.0 segments = PackedVector2Array(-5.93512, -43.2195, 6.44476, -42.9695, 6.44476, -42.9695, 11.127, -54.3941, 11.127, -54.3941, 26.9528, -49.4309, 26.9528, -49.4309, 26.2037, -36.508, 26.2037, -36.508, 37.5346, -28.1737, 37.5346, -28.1737, 47.6282, -34.3806, 47.6282, -34.3806, 58.0427, -20.9631, 58.0427, -20.9631, 51.113, -10.2876, 51.113, -10.2876, 50.9869, 35.2694, 50.9869, 35.2694, 38.8, 47.5, 38.8, 47.5, 15.9852, 54.3613, 15.9852, 54.3613, -14.9507, 54.1845, -14.9507, 54.1845, -36.5, 48.1, -36.5, 48.1, -50.4828, 36.33, -50.4828, 36.33, -51.3668, -9.98545, -51.3668, -9.98545, -57.8889, -20.5885, -57.8889, -20.5885, -46.9473, -34.7342, -46.9473, -34.7342, -37.4014, -28.547, -37.4014, -28.547, -26.0876, -37.0323, -26.0876, -37.0323, -26.9862, -49.15, -26.9862, -49.15, -11.4152, -54.5332, -11.4152, -54.5332, -5.93512, -43.2195) [node name="Test" type="Node2D"] -script = ExtResource( "1" ) +script = ExtResource("1") -[node name="Options" parent="." instance=ExtResource( "3" )] +[node name="Options" parent="." instance=ExtResource("3")] [node name="Shapes" type="Node2D" parent="."] z_index = -1 @@ -33,14 +33,14 @@ freeze = true [node name="CollisionShape2D" type="CollisionShape2D" parent="Shapes/RigidBodyRectangle"] rotation = -1.19206 scale = Vector2(1.2, 1.2) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="RigidBodySphere" type="RigidDynamicBody2D" parent="Shapes"] position = Vector2(314.894, 257.658) freeze = true [node name="CollisionShape2D" type="CollisionShape2D" parent="Shapes/RigidBodySphere"] -shape = SubResource( "2" ) +shape = SubResource("2") [node name="RigidBodyCapsule" type="RigidDynamicBody2D" parent="Shapes"] position = Vector2(465.629, 261.204) @@ -49,7 +49,7 @@ freeze = true [node name="CollisionShape2D" type="CollisionShape2D" parent="Shapes/RigidBodyCapsule"] rotation = -0.202458 scale = Vector2(1.2, 1.2) -shape = SubResource( "3" ) +shape = SubResource("3") [node name="RigidBodyConvexPolygon" type="RigidDynamicBody2D" parent="Shapes"] position = Vector2(613.385, 252.771) @@ -60,7 +60,7 @@ polygon = PackedVector2Array(10.7, -54.5, 28.3596, -49.4067, 47.6282, -34.3806, [node name="GodotIcon" type="Sprite2D" parent="Shapes/RigidBodyConvexPolygon"] modulate = Color(1, 1, 1, 0.392157) -texture = ExtResource( "2" ) +texture = ExtResource("2") [node name="RigidBodyConcavePolygon" type="RigidDynamicBody2D" parent="Shapes"] position = Vector2(771.159, 252.771) @@ -71,18 +71,18 @@ polygon = PackedVector2Array(-5.93512, -43.2195, 6.44476, -42.9695, 11.127, -54. [node name="GodotIcon" type="Sprite2D" parent="Shapes/RigidBodyConcavePolygon"] modulate = Color(1, 1, 1, 0.392157) -texture = ExtResource( "2" ) +texture = ExtResource("2") [node name="RigidBodyConcaveSegments" type="RigidDynamicBody2D" parent="Shapes"] position = Vector2(930.097, 252.771) freeze = true [node name="CollisionShape2D" type="CollisionShape2D" parent="Shapes/RigidBodyConcaveSegments"] -shape = SubResource( "4" ) +shape = SubResource("4") [node name="GodotIcon" type="Sprite2D" parent="Shapes/RigidBodyConcaveSegments"] modulate = Color(1, 1, 1, 0.392157) -texture = ExtResource( "2" ) +texture = ExtResource("2") [node name="Controls" type="VBoxContainer" parent="."] anchor_right = 1.0 diff --git a/2d/physics_tests/tests/functional/test_joints.gd.uid b/2d/physics_tests/tests/functional/test_joints.gd.uid new file mode 100644 index 00000000..da15a138 --- /dev/null +++ b/2d/physics_tests/tests/functional/test_joints.gd.uid @@ -0,0 +1 @@ +uid://byl5qc4hm2fxu diff --git a/2d/physics_tests/tests/functional/test_joints.tscn b/2d/physics_tests/tests/functional/test_joints.tscn index 08966875..3205e87e 100644 --- a/2d/physics_tests/tests/functional/test_joints.tscn +++ b/2d/physics_tests/tests/functional/test_joints.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://bckpvilds8sif"] -[ext_resource type="Script" path="res://tests/functional/test_joints.gd" id="2"] +[ext_resource type="Script" uid="uid://byl5qc4hm2fxu" path="res://tests/functional/test_joints.gd" id="2"] [ext_resource type="PackedScene" uid="uid://blh3twy74kbkv" path="res://tests/test_options.tscn" id="4"] [node name="JointTest2D" type="Node2D"] diff --git a/2d/physics_tests/tests/functional/test_one_way_collision.gd.uid b/2d/physics_tests/tests/functional/test_one_way_collision.gd.uid new file mode 100644 index 00000000..338de0f4 --- /dev/null +++ b/2d/physics_tests/tests/functional/test_one_way_collision.gd.uid @@ -0,0 +1 @@ +uid://ybstkpm1nj3i diff --git a/2d/physics_tests/tests/functional/test_one_way_collision.tscn b/2d/physics_tests/tests/functional/test_one_way_collision.tscn index 7ed282b9..9bc5834f 100644 --- a/2d/physics_tests/tests/functional/test_one_way_collision.tscn +++ b/2d/physics_tests/tests/functional/test_one_way_collision.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=9 format=3 uid="uid://c85275leeliuq"] -[ext_resource type="Script" path="res://tests/functional/test_one_way_collision.gd" id="1"] +[ext_resource type="Script" uid="uid://ybstkpm1nj3i" path="res://tests/functional/test_one_way_collision.gd" id="1"] [ext_resource type="Texture2D" uid="uid://brwp8bimc75uu" path="res://icon.webp" id="2"] [ext_resource type="PackedScene" uid="uid://blh3twy74kbkv" path="res://tests/test_options.tscn" id="3"] -[ext_resource type="Script" path="res://utils/label_slider_value.gd" id="4"] -[ext_resource type="Script" path="res://utils/slider.gd" id="5"] +[ext_resource type="Script" uid="uid://de1e0s7nie4wc" path="res://utils/label_slider_value.gd" id="4"] +[ext_resource type="Script" uid="uid://bbj7imitin8ud" path="res://utils/slider.gd" id="5"] [sub_resource type="CircleShape2D" id="CircleShape2D_e5nt1"] radius = 16.0 diff --git a/2d/physics_tests/tests/functional/test_pyramid.gd.uid b/2d/physics_tests/tests/functional/test_pyramid.gd.uid new file mode 100644 index 00000000..64b4df7c --- /dev/null +++ b/2d/physics_tests/tests/functional/test_pyramid.gd.uid @@ -0,0 +1 @@ +uid://cp4rhpt3715y3 diff --git a/2d/physics_tests/tests/functional/test_pyramid.tscn b/2d/physics_tests/tests/functional/test_pyramid.tscn index 04a029da..b45a80b2 100644 --- a/2d/physics_tests/tests/functional/test_pyramid.tscn +++ b/2d/physics_tests/tests/functional/test_pyramid.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://b4s4ohq0j4oi8"] -[ext_resource type="Script" path="res://tests/functional/test_pyramid.gd" id="1"] +[ext_resource type="Script" uid="uid://cp4rhpt3715y3" path="res://tests/functional/test_pyramid.gd" id="1"] [ext_resource type="PackedScene" uid="uid://cx2q80okt25o1" path="res://tests/static_scene_flat.tscn" id="2"] [node name="Test" type="Node2D"] diff --git a/2d/physics_tests/tests/functional/test_raycasting.gd.uid b/2d/physics_tests/tests/functional/test_raycasting.gd.uid new file mode 100644 index 00000000..e009bb54 --- /dev/null +++ b/2d/physics_tests/tests/functional/test_raycasting.gd.uid @@ -0,0 +1 @@ +uid://dlfsiilnbgus3 diff --git a/2d/physics_tests/tests/functional/test_raycasting.tscn b/2d/physics_tests/tests/functional/test_raycasting.tscn index ee0a839f..2f923f16 100644 --- a/2d/physics_tests/tests/functional/test_raycasting.tscn +++ b/2d/physics_tests/tests/functional/test_raycasting.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=7 format=3 uid="uid://dwka2imbe5gcs"] [ext_resource type="Texture2D" uid="uid://c5duuyhbmd0m4" path="res://assets/texture/godot-head.png" id="1"] -[ext_resource type="Script" path="res://tests/functional/test_raycasting.gd" id="2"] +[ext_resource type="Script" uid="uid://dlfsiilnbgus3" path="res://tests/functional/test_raycasting.gd" id="2"] [ext_resource type="PackedScene" uid="uid://blh3twy74kbkv" path="res://tests/test_options.tscn" id="2_q8u1v"] [sub_resource type="RectangleShape2D" id="1"] @@ -15,9 +15,9 @@ radius = 30.0 height = 110.0 [node name="Test" type="Node2D"] -script = ExtResource( "2" ) +script = ExtResource("2") -[node name="Options" parent="." instance=ExtResource( "2_q8u1v" )] +[node name="Options" parent="." instance=ExtResource("2_q8u1v")] offset_right = 134.0 offset_bottom = 135.719 theme_override_font_sizes/font_size = 16 @@ -33,14 +33,14 @@ freeze = true [node name="CollisionShape2D" type="CollisionShape2D" parent="Shapes/RigidBodyRectangle"] rotation = -1.19206 scale = Vector2(1.2, 1.2) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="RigidBodySphere" type="RigidDynamicBody2D" parent="Shapes"] position = Vector2(314.894, 257.658) freeze = true [node name="CollisionShape2D" type="CollisionShape2D" parent="Shapes/RigidBodySphere"] -shape = SubResource( "2" ) +shape = SubResource("2") [node name="RigidBodyCapsule" type="RigidDynamicBody2D" parent="Shapes"] position = Vector2(465.629, 261.204) @@ -49,7 +49,7 @@ freeze = true [node name="CollisionShape2D" type="CollisionShape2D" parent="Shapes/RigidBodyCapsule"] rotation = -0.202458 scale = Vector2(1.2, 1.2) -shape = SubResource( "3" ) +shape = SubResource("3") [node name="RigidBodyConvexPolygon" type="RigidDynamicBody2D" parent="Shapes"] position = Vector2(613.385, 252.771) @@ -60,7 +60,7 @@ polygon = PackedVector2Array(10.7, -54.5, 28.3596, -49.4067, 47.6282, -34.3806, [node name="GodotIcon" type="Sprite2D" parent="Shapes/RigidBodyConvexPolygon"] modulate = Color(1, 1, 1, 0.392157) -texture = ExtResource( "1" ) +texture = ExtResource("1") [node name="RigidBodyConcavePolygon" type="RigidDynamicBody2D" parent="Shapes"] position = Vector2(771.159, 252.771) @@ -71,7 +71,7 @@ polygon = PackedVector2Array(-5.93512, -43.2195, 6.44476, -42.9695, 11.127, -54. [node name="GodotIcon" type="Sprite2D" parent="Shapes/RigidBodyConcavePolygon"] modulate = Color(1, 1, 1, 0.392157) -texture = ExtResource( "1" ) +texture = ExtResource("1") [node name="RigidBodyConcaveSegments" type="RigidDynamicBody2D" parent="Shapes"] position = Vector2(930.097, 252.771) @@ -83,4 +83,4 @@ polygon = PackedVector2Array(-5.93512, -43.2195, 6.44476, -42.9695, 11.127, -54. [node name="GodotIcon" type="Sprite2D" parent="Shapes/RigidBodyConcaveSegments"] modulate = Color(1, 1, 1, 0.392157) -texture = ExtResource( "1" ) +texture = ExtResource("1") diff --git a/2d/physics_tests/tests/functional/test_shapes.tscn b/2d/physics_tests/tests/functional/test_shapes.tscn index 4e512cc3..69e64141 100644 --- a/2d/physics_tests/tests/functional/test_shapes.tscn +++ b/2d/physics_tests/tests/functional/test_shapes.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=8 format=3 uid="uid://v3saw5bafa6a"] [ext_resource type="Texture2D" uid="uid://c5duuyhbmd0m4" path="res://assets/texture/godot-head.png" id="1"] -[ext_resource type="Script" path="res://test.gd" id="2"] -[ext_resource type="Script" path="res://utils/rigidbody_pick.gd" id="3"] +[ext_resource type="Script" uid="uid://d0kgjrek58tgu" path="res://test.gd" id="2"] +[ext_resource type="Script" uid="uid://wmtyglckg2sn" path="res://utils/rigidbody_pick.gd" id="3"] [ext_resource type="PackedScene" uid="uid://dv7rxhg55y3t6" path="res://tests/static_scene.tscn" id="6"] [sub_resource type="RectangleShape2D" id="1"] @@ -16,29 +16,29 @@ height = 70.0 radius = 30.0 [node name="Test" type="Node2D"] -script = ExtResource( "2" ) +script = ExtResource("2") [node name="DynamicShapes" type="Node2D" parent="."] [node name="RigidBodyRectangle" type="RigidDynamicBody2D" parent="DynamicShapes"] position = Vector2(96, 127) -script = ExtResource( "3" ) +script = ExtResource("3") [node name="CollisionShape2D" type="CollisionShape2D" parent="DynamicShapes/RigidBodyRectangle"] rotation = 0.675442 -shape = SubResource( "1" ) +shape = SubResource("1") [node name="RigidBodyCapsule" type="RigidDynamicBody2D" parent="DynamicShapes"] position = Vector2(270.165, 139.444) -script = ExtResource( "3" ) +script = ExtResource("3") [node name="CollisionShape2D" type="CollisionShape2D" parent="DynamicShapes/RigidBodyCapsule"] rotation = -0.202458 -shape = SubResource( "2" ) +shape = SubResource("2") [node name="RigidBodyConcavePolygon" type="RigidDynamicBody2D" parent="DynamicShapes"] position = Vector2(683.614, 132.749) -script = ExtResource( "3" ) +script = ExtResource("3") [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DynamicShapes/RigidBodyConcavePolygon"] scale = Vector2(0.5, 0.5) @@ -47,11 +47,11 @@ polygon = PackedVector2Array(-5.93512, -43.2195, 6.44476, -42.9695, 11.127, -54. [node name="GodotIcon" type="Sprite2D" parent="DynamicShapes/RigidBodyConcavePolygon"] self_modulate = Color(1, 1, 1, 0.392157) scale = Vector2(0.5, 0.5) -texture = ExtResource( "1" ) +texture = ExtResource("1") [node name="RigidBodyConvexPolygon" type="RigidDynamicBody2D" parent="DynamicShapes"] position = Vector2(473.536, 134.336) -script = ExtResource( "3" ) +script = ExtResource("3") [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="DynamicShapes/RigidBodyConvexPolygon"] scale = Vector2(0.5, 0.5) @@ -60,13 +60,13 @@ polygon = PackedVector2Array(10.7, -54.5, 28.3596, -49.4067, 47.6282, -34.3806, [node name="GodotIcon" type="Sprite2D" parent="DynamicShapes/RigidBodyConvexPolygon"] self_modulate = Color(1, 1, 1, 0.392157) scale = Vector2(0.5, 0.5) -texture = ExtResource( "1" ) +texture = ExtResource("1") [node name="RigidBodySphere" type="RigidDynamicBody2D" parent="DynamicShapes"] position = Vector2(919.968, 115.129) -script = ExtResource( "3" ) +script = ExtResource("3") [node name="CollisionShape2D" type="CollisionShape2D" parent="DynamicShapes/RigidBodySphere"] -shape = SubResource( "3" ) +shape = SubResource("3") -[node name="StaticScene" parent="." instance=ExtResource( "6" )] +[node name="StaticScene" parent="." instance=ExtResource("6")] diff --git a/2d/physics_tests/tests/functional/test_stack.gd.uid b/2d/physics_tests/tests/functional/test_stack.gd.uid new file mode 100644 index 00000000..c4daab08 --- /dev/null +++ b/2d/physics_tests/tests/functional/test_stack.gd.uid @@ -0,0 +1 @@ +uid://bgfh5ho48jh45 diff --git a/2d/physics_tests/tests/functional/test_stack.tscn b/2d/physics_tests/tests/functional/test_stack.tscn index 41d5fb31..64acb58c 100644 --- a/2d/physics_tests/tests/functional/test_stack.tscn +++ b/2d/physics_tests/tests/functional/test_stack.tscn @@ -1,12 +1,12 @@ [gd_scene load_steps=3 format=3 uid="uid://m8crffoaqg7b"] -[ext_resource type="Script" path="res://tests/functional/test_stack.gd" id="1"] +[ext_resource type="Script" uid="uid://bgfh5ho48jh45" path="res://tests/functional/test_stack.gd" id="1"] [ext_resource type="PackedScene" uid="uid://cx2q80okt25o1" path="res://tests/static_scene_flat.tscn" id="2"] [node name="Test" type="Node2D"] -script = ExtResource( "1" ) +script = ExtResource("1") [node name="Stack" type="Node2D" parent="."] position = Vector2(512, 500) -[node name="StaticSceneFlat" parent="." instance=ExtResource( "2" )] +[node name="StaticSceneFlat" parent="." instance=ExtResource("2")] diff --git a/2d/physics_tests/tests/performance/test_perf_broadphase.gd.uid b/2d/physics_tests/tests/performance/test_perf_broadphase.gd.uid new file mode 100644 index 00000000..3377029e --- /dev/null +++ b/2d/physics_tests/tests/performance/test_perf_broadphase.gd.uid @@ -0,0 +1 @@ +uid://doexgap1g2rlt diff --git a/2d/physics_tests/tests/performance/test_perf_broadphase.tscn b/2d/physics_tests/tests/performance/test_perf_broadphase.tscn index 0ee4917f..60a20aab 100644 --- a/2d/physics_tests/tests/performance/test_perf_broadphase.tscn +++ b/2d/physics_tests/tests/performance/test_perf_broadphase.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://yk1857jynutc"] -[ext_resource type="Script" path="res://tests/performance/test_perf_broadphase.gd" id="1"] +[ext_resource type="Script" uid="uid://doexgap1g2rlt" path="res://tests/performance/test_perf_broadphase.gd" id="1"] [node name="Test" type="Node2D"] script = ExtResource("1") diff --git a/2d/physics_tests/tests/performance/test_perf_contact_islands.tscn b/2d/physics_tests/tests/performance/test_perf_contact_islands.tscn index ba43f372..336d4604 100644 --- a/2d/physics_tests/tests/performance/test_perf_contact_islands.tscn +++ b/2d/physics_tests/tests/performance/test_perf_contact_islands.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=8 format=3 uid="uid://vb6u0374prwg"] [ext_resource type="PackedScene" uid="uid://dv7rxhg55y3t6" path="res://tests/static_scene.tscn" id="1"] -[ext_resource type="Script" path="res://tests/performance/test_perf_contacts.gd" id="2"] +[ext_resource type="Script" uid="uid://drhbdv8rabmf0" path="res://tests/performance/test_perf_contacts.gd" id="2"] [ext_resource type="Texture2D" uid="uid://c5duuyhbmd0m4" path="res://assets/texture/godot-head.png" id="3"] [ext_resource type="PackedScene" uid="uid://blh3twy74kbkv" path="res://tests/test_options.tscn" id="4"] @@ -16,13 +16,13 @@ radius = 5.0 height = 17.0 [node name="Test" type="Node2D"] -script = ExtResource( "2" ) +script = ExtResource("2") _enable_debug_collision = false spawns = [NodePath("SpawnTarget1"), NodePath("SpawnTarget2"), NodePath("SpawnTarget3"), NodePath("SpawnTarget4"), NodePath("SpawnTarget5"), NodePath("SpawnTarget6"), NodePath("SpawnTarget7"), NodePath("SpawnTarget8"), NodePath("SpawnTarget9")] spawn_count = 300 spawn_randomize = Vector2(10, 10) -[node name="Options" parent="." instance=ExtResource( "4" )] +[node name="Options" parent="." instance=ExtResource("4")] [node name="SpawnTarget1" type="Node2D" parent="."] position = Vector2(145.646, 109.462) @@ -51,7 +51,7 @@ position = Vector2(528.14, 507.113) [node name="SpawnTarget9" type="Node2D" parent="."] position = Vector2(893.995, 508.042) -[node name="StaticScene" parent="." instance=ExtResource( "1" )] +[node name="StaticScene" parent="." instance=ExtResource("1")] visible = false position = Vector2(0, 125.017) @@ -62,21 +62,21 @@ position = Vector2(0, 1024) gravity_scale = 0.0 [node name="CollisionShape2D" type="CollisionShape2D" parent="DynamicShapes/RigidBodyRectangle"] -shape = SubResource( "1" ) +shape = SubResource("1") [node name="RigidBodySphere" type="RigidDynamicBody2D" parent="DynamicShapes"] position = Vector2(100, 1024) gravity_scale = 0.0 [node name="CollisionShape2D" type="CollisionShape2D" parent="DynamicShapes/RigidBodySphere"] -shape = SubResource( "2" ) +shape = SubResource("2") [node name="RigidBodyCapsule" type="RigidDynamicBody2D" parent="DynamicShapes"] position = Vector2(200, 1024) gravity_scale = 0.0 [node name="CollisionShape2D" type="CollisionShape2D" parent="DynamicShapes/RigidBodyCapsule"] -shape = SubResource( "3" ) +shape = SubResource("3") [node name="RigidBodyConvexPolygon" type="RigidDynamicBody2D" parent="DynamicShapes"] position = Vector2(300, 1024) @@ -89,7 +89,7 @@ polygon = PackedVector2Array(10.7, -54.5, 28.3596, -49.4067, 47.6282, -34.3806, [node name="GodotIcon" type="Sprite2D" parent="DynamicShapes/RigidBodyConvexPolygon"] self_modulate = Color(1, 1, 1, 0.392157) scale = Vector2(0.1, 0.1) -texture = ExtResource( "3" ) +texture = ExtResource("3") [node name="RigidBodyConcavePolygon" type="RigidDynamicBody2D" parent="DynamicShapes"] position = Vector2(400, 1024) @@ -102,4 +102,4 @@ polygon = PackedVector2Array(-5.93512, -43.2195, 6.44476, -42.9695, 11.127, -54. [node name="GodotIcon" type="Sprite2D" parent="DynamicShapes/RigidBodyConcavePolygon"] self_modulate = Color(1, 1, 1, 0.392157) scale = Vector2(0.1, 0.1) -texture = ExtResource( "3" ) +texture = ExtResource("3") diff --git a/2d/physics_tests/tests/performance/test_perf_contacts.gd.uid b/2d/physics_tests/tests/performance/test_perf_contacts.gd.uid new file mode 100644 index 00000000..6b253c17 --- /dev/null +++ b/2d/physics_tests/tests/performance/test_perf_contacts.gd.uid @@ -0,0 +1 @@ +uid://drhbdv8rabmf0 diff --git a/2d/physics_tests/tests/performance/test_perf_contacts.tscn b/2d/physics_tests/tests/performance/test_perf_contacts.tscn index 0a16bc5c..703d7298 100644 --- a/2d/physics_tests/tests/performance/test_perf_contacts.tscn +++ b/2d/physics_tests/tests/performance/test_perf_contacts.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=8 format=3 uid="uid://bsieda0p35qu3"] [ext_resource type="PackedScene" uid="uid://dv7rxhg55y3t6" path="res://tests/static_scene.tscn" id="1"] -[ext_resource type="Script" path="res://tests/performance/test_perf_contacts.gd" id="2"] +[ext_resource type="Script" uid="uid://drhbdv8rabmf0" path="res://tests/performance/test_perf_contacts.gd" id="2"] [ext_resource type="Texture2D" uid="uid://c5duuyhbmd0m4" path="res://assets/texture/godot-head.png" id="3"] [ext_resource type="PackedScene" uid="uid://blh3twy74kbkv" path="res://tests/test_options.tscn" id="4"] diff --git a/2d/physics_tests/tests/static_scene_flat.tscn b/2d/physics_tests/tests/static_scene_flat.tscn index 752e55b1..dd264b79 100644 --- a/2d/physics_tests/tests/static_scene_flat.tscn +++ b/2d/physics_tests/tests/static_scene_flat.tscn @@ -9,4 +9,4 @@ size = Vector2(1600, 100) position = Vector2(512, 550) [node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBodyPolygon"] -shape = SubResource( "1" ) +shape = SubResource("1") diff --git a/2d/physics_tests/tests/test_options.tscn b/2d/physics_tests/tests/test_options.tscn index 6c55d831..86977c2f 100644 --- a/2d/physics_tests/tests/test_options.tscn +++ b/2d/physics_tests/tests/test_options.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://blh3twy74kbkv"] -[ext_resource type="Script" path="res://utils/option_menu.gd" id="1"] +[ext_resource type="Script" uid="uid://b7eui0ran16il" path="res://utils/option_menu.gd" id="1"] [node name="Options" type="MenuButton"] offset_left = 10.0 @@ -10,7 +10,7 @@ offset_bottom = 126.719 text = "TEST OPTIONS" flat = false align = 0 -script = ExtResource( "1" ) +script = ExtResource("1") __meta__ = { "_edit_use_anchors_": false } diff --git a/2d/physics_tests/tests_menu.gd.uid b/2d/physics_tests/tests_menu.gd.uid new file mode 100644 index 00000000..b8fd3374 --- /dev/null +++ b/2d/physics_tests/tests_menu.gd.uid @@ -0,0 +1 @@ +uid://cw0pi4lgucxdr diff --git a/2d/physics_tests/utils/characterbody_controller.gd.uid b/2d/physics_tests/utils/characterbody_controller.gd.uid new file mode 100644 index 00000000..23015910 --- /dev/null +++ b/2d/physics_tests/utils/characterbody_controller.gd.uid @@ -0,0 +1 @@ +uid://gajv1ool1il5 diff --git a/2d/physics_tests/utils/container_log.gd.uid b/2d/physics_tests/utils/container_log.gd.uid new file mode 100644 index 00000000..d3ebfcab --- /dev/null +++ b/2d/physics_tests/utils/container_log.gd.uid @@ -0,0 +1 @@ +uid://k8crlob60yte diff --git a/2d/physics_tests/utils/label_engine.gd.uid b/2d/physics_tests/utils/label_engine.gd.uid new file mode 100644 index 00000000..be28aa78 --- /dev/null +++ b/2d/physics_tests/utils/label_engine.gd.uid @@ -0,0 +1 @@ +uid://c87b1snynit3u diff --git a/2d/physics_tests/utils/label_fps.gd.uid b/2d/physics_tests/utils/label_fps.gd.uid new file mode 100644 index 00000000..bcf7682d --- /dev/null +++ b/2d/physics_tests/utils/label_fps.gd.uid @@ -0,0 +1 @@ +uid://db4ofia8ieq55 diff --git a/2d/physics_tests/utils/label_pause.gd.uid b/2d/physics_tests/utils/label_pause.gd.uid new file mode 100644 index 00000000..d32a12f9 --- /dev/null +++ b/2d/physics_tests/utils/label_pause.gd.uid @@ -0,0 +1 @@ +uid://b4rnndt2dw5g1 diff --git a/2d/physics_tests/utils/label_slider_value.gd.uid b/2d/physics_tests/utils/label_slider_value.gd.uid new file mode 100644 index 00000000..eee42221 --- /dev/null +++ b/2d/physics_tests/utils/label_slider_value.gd.uid @@ -0,0 +1 @@ +uid://de1e0s7nie4wc diff --git a/2d/physics_tests/utils/label_test.gd.uid b/2d/physics_tests/utils/label_test.gd.uid new file mode 100644 index 00000000..fbd506ec --- /dev/null +++ b/2d/physics_tests/utils/label_test.gd.uid @@ -0,0 +1 @@ +uid://bjl0grl2gv43y diff --git a/2d/physics_tests/utils/label_version.gd.uid b/2d/physics_tests/utils/label_version.gd.uid new file mode 100644 index 00000000..483d363f --- /dev/null +++ b/2d/physics_tests/utils/label_version.gd.uid @@ -0,0 +1 @@ +uid://dustsplck84ac diff --git a/2d/physics_tests/utils/option_menu.gd.uid b/2d/physics_tests/utils/option_menu.gd.uid new file mode 100644 index 00000000..4fd1d37d --- /dev/null +++ b/2d/physics_tests/utils/option_menu.gd.uid @@ -0,0 +1 @@ +uid://b7eui0ran16il diff --git a/2d/physics_tests/utils/rigidbody_controller.gd.uid b/2d/physics_tests/utils/rigidbody_controller.gd.uid new file mode 100644 index 00000000..5456f3b5 --- /dev/null +++ b/2d/physics_tests/utils/rigidbody_controller.gd.uid @@ -0,0 +1 @@ +uid://3kutyof2jcdh diff --git a/2d/physics_tests/utils/rigidbody_pick.gd.uid b/2d/physics_tests/utils/rigidbody_pick.gd.uid new file mode 100644 index 00000000..41d31711 --- /dev/null +++ b/2d/physics_tests/utils/rigidbody_pick.gd.uid @@ -0,0 +1 @@ +uid://wmtyglckg2sn diff --git a/2d/physics_tests/utils/scroll_log.gd.uid b/2d/physics_tests/utils/scroll_log.gd.uid new file mode 100644 index 00000000..510b78e3 --- /dev/null +++ b/2d/physics_tests/utils/scroll_log.gd.uid @@ -0,0 +1 @@ +uid://b2t0e1okrl3j4 diff --git a/2d/physics_tests/utils/slider.gd.uid b/2d/physics_tests/utils/slider.gd.uid new file mode 100644 index 00000000..e97adcba --- /dev/null +++ b/2d/physics_tests/utils/slider.gd.uid @@ -0,0 +1 @@ +uid://bbj7imitin8ud diff --git a/2d/physics_tests/utils/system.gd.uid b/2d/physics_tests/utils/system.gd.uid new file mode 100644 index 00000000..34de9737 --- /dev/null +++ b/2d/physics_tests/utils/system.gd.uid @@ -0,0 +1 @@ +uid://b1xiqy1uns33g diff --git a/2d/physics_tests/utils/system_log.gd.uid b/2d/physics_tests/utils/system_log.gd.uid new file mode 100644 index 00000000..d94b7c3e --- /dev/null +++ b/2d/physics_tests/utils/system_log.gd.uid @@ -0,0 +1 @@ +uid://4ey7mjoypf7s diff --git a/2d/platformer/enemy/enemy.gd.uid b/2d/platformer/enemy/enemy.gd.uid new file mode 100644 index 00000000..ff5d3552 --- /dev/null +++ b/2d/platformer/enemy/enemy.gd.uid @@ -0,0 +1 @@ +uid://cic7bqxvgc40e diff --git a/2d/platformer/enemy/enemy.tscn b/2d/platformer/enemy/enemy.tscn index 0b3849b5..4cc2c4a0 100644 --- a/2d/platformer/enemy/enemy.tscn +++ b/2d/platformer/enemy/enemy.tscn @@ -4,7 +4,7 @@ [ext_resource type="AudioStream" uid="uid://duwm7i44o75o2" path="res://enemy/explode.wav" id="2"] [ext_resource type="AudioStream" uid="uid://dm7wsawmylc7b" path="res://enemy/hit.wav" id="3"] [ext_resource type="Texture2D" uid="uid://bjjywmvba0sve" path="res://enemy/enemy.webp" id="4"] -[ext_resource type="Script" path="res://enemy/enemy.gd" id="5"] +[ext_resource type="Script" uid="uid://cic7bqxvgc40e" path="res://enemy/enemy.gd" id="5"] [sub_resource type="CanvasItemMaterial" id="1"] @@ -231,10 +231,10 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_0kjfc"] _data = { -"RESET": SubResource("8"), -"destroy": SubResource("2"), -"idle": SubResource("3"), -"walk": SubResource("4") +&"RESET": SubResource("8"), +&"destroy": SubResource("2"), +&"idle": SubResource("3"), +&"walk": SubResource("4") } [sub_resource type="CapsuleShape2D" id="5"] diff --git a/2d/platformer/game.gd.uid b/2d/platformer/game.gd.uid new file mode 100644 index 00000000..ad451808 --- /dev/null +++ b/2d/platformer/game.gd.uid @@ -0,0 +1 @@ +uid://denb5hic12yj diff --git a/2d/platformer/game_singleplayer.tscn b/2d/platformer/game_singleplayer.tscn index 5205bba5..f34d47bd 100644 --- a/2d/platformer/game_singleplayer.tscn +++ b/2d/platformer/game_singleplayer.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=5 format=3 uid="uid://bf3wnwihk7ymg"] -[ext_resource type="Script" path="res://game.gd" id="2"] +[ext_resource type="Script" uid="uid://denb5hic12yj" path="res://game.gd" id="2"] [ext_resource type="PackedScene" uid="uid://ctgumjaytuoch" path="res://level/level.tscn" id="3"] [ext_resource type="PackedScene" uid="uid://vh7pmputa7r3" path="res://player/player.tscn" id="4"] [ext_resource type="PackedScene" uid="uid://c7ai4bigaryci" path="res://gui/pause_menu_singleplayer.tscn" id="4_x6l06"] diff --git a/2d/platformer/game_splitscreen.gd.uid b/2d/platformer/game_splitscreen.gd.uid new file mode 100644 index 00000000..2b4088e3 --- /dev/null +++ b/2d/platformer/game_splitscreen.gd.uid @@ -0,0 +1 @@ +uid://dxam3kv38wmt1 diff --git a/2d/platformer/game_splitscreen.tscn b/2d/platformer/game_splitscreen.tscn index 20a2d953..bc8cd2e8 100644 --- a/2d/platformer/game_splitscreen.tscn +++ b/2d/platformer/game_splitscreen.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=8 format=3 uid="uid://2elur2m0il32"] -[ext_resource type="Script" path="res://game_splitscreen.gd" id="1_60qgt"] +[ext_resource type="Script" uid="uid://dxam3kv38wmt1" path="res://game_splitscreen.gd" id="1_60qgt"] [ext_resource type="PackedScene" uid="uid://dggactv0aho4p" path="res://gui/pause_menu_splitscreen.tscn" id="2_xkexm"] [ext_resource type="PackedScene" uid="uid://ctgumjaytuoch" path="res://level/level.tscn" id="3_e0nyr"] [ext_resource type="PackedScene" uid="uid://vh7pmputa7r3" path="res://player/player.tscn" id="4_8j0va"] diff --git a/2d/platformer/gui/coins_counter.gd.uid b/2d/platformer/gui/coins_counter.gd.uid new file mode 100644 index 00000000..188be7b3 --- /dev/null +++ b/2d/platformer/gui/coins_counter.gd.uid @@ -0,0 +1 @@ +uid://b37qq13n8munn diff --git a/2d/platformer/gui/coins_counter.tscn b/2d/platformer/gui/coins_counter.tscn index 0f2cce67..9cd8acb7 100644 --- a/2d/platformer/gui/coins_counter.tscn +++ b/2d/platformer/gui/coins_counter.tscn @@ -2,7 +2,7 @@ [ext_resource type="Theme" uid="uid://da4noqsij73it" path="res://gui/theme.tres" id="1_mctnl"] [ext_resource type="Texture2D" uid="uid://cj2absxg54f75" path="res://level/coin.webp" id="2"] -[ext_resource type="Script" path="res://gui/coins_counter.gd" id="3"] +[ext_resource type="Script" uid="uid://b37qq13n8munn" path="res://gui/coins_counter.gd" id="3"] [sub_resource type="AtlasTexture" id="AtlasTexture_0ik14"] atlas = ExtResource("2") diff --git a/2d/platformer/gui/kenney_mini_square.ttf.import b/2d/platformer/gui/kenney_mini_square.ttf.import index a504129e..f09605e0 100644 --- a/2d/platformer/gui/kenney_mini_square.ttf.import +++ b/2d/platformer/gui/kenney_mini_square.ttf.import @@ -23,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/2d/platformer/gui/pause_menu.gd.uid b/2d/platformer/gui/pause_menu.gd.uid new file mode 100644 index 00000000..33375baf --- /dev/null +++ b/2d/platformer/gui/pause_menu.gd.uid @@ -0,0 +1 @@ +uid://h31k4xtmhjt diff --git a/2d/platformer/gui/pause_menu.tscn b/2d/platformer/gui/pause_menu.tscn index b77f1311..33d4e1af 100644 --- a/2d/platformer/gui/pause_menu.tscn +++ b/2d/platformer/gui/pause_menu.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=3 uid="uid://dh71g61cm8k44"] [ext_resource type="Theme" uid="uid://da4noqsij73it" path="res://gui/theme.tres" id="1"] -[ext_resource type="Script" path="res://gui/pause_menu.gd" id="2"] +[ext_resource type="Script" uid="uid://h31k4xtmhjt" path="res://gui/pause_menu.gd" id="2"] [ext_resource type="PackedScene" uid="uid://bsyqg6eh3wl5i" path="res://gui/coins_counter.tscn" id="4"] [node name="PauseMenu" type="Control"] diff --git a/2d/platformer/level/coin.gd.uid b/2d/platformer/level/coin.gd.uid new file mode 100644 index 00000000..a1c8fc1e --- /dev/null +++ b/2d/platformer/level/coin.gd.uid @@ -0,0 +1 @@ +uid://ce47ydcl7k65m diff --git a/2d/platformer/level/coin.tscn b/2d/platformer/level/coin.tscn index 3528ac0f..6fe29f2e 100644 --- a/2d/platformer/level/coin.tscn +++ b/2d/platformer/level/coin.tscn @@ -2,7 +2,7 @@ [ext_resource type="Texture2D" uid="uid://cj2absxg54f75" path="res://level/coin.webp" id="1"] [ext_resource type="AudioStream" uid="uid://w4j7xs5uhoer" path="res://player/coin_pickup.wav" id="3"] -[ext_resource type="Script" path="res://level/coin.gd" id="4"] +[ext_resource type="Script" uid="uid://ce47ydcl7k65m" path="res://level/coin.gd" id="4"] [sub_resource type="Animation" id="Animation_4kkvr"] length = 0.001 @@ -156,9 +156,9 @@ tracks/3/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_i7oeb"] _data = { -"RESET": SubResource("Animation_4kkvr"), -"picked": SubResource("1"), -"spinning": SubResource("2") +&"RESET": SubResource("Animation_4kkvr"), +&"picked": SubResource("1"), +&"spinning": SubResource("2") } [sub_resource type="CircleShape2D" id="3"] diff --git a/2d/platformer/level/level.gd.uid b/2d/platformer/level/level.gd.uid new file mode 100644 index 00000000..42dca250 --- /dev/null +++ b/2d/platformer/level/level.gd.uid @@ -0,0 +1 @@ +uid://0fdjo32eojga diff --git a/2d/platformer/level/level.tscn b/2d/platformer/level/level.tscn index dfb7acd2..d80925f3 100644 --- a/2d/platformer/level/level.tscn +++ b/2d/platformer/level/level.tscn @@ -39,7 +39,7 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_knmjc"] _data = { -"move": SubResource("1") +&"move": SubResource("1") } [sub_resource type="Animation" id="2"] @@ -60,7 +60,7 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_frb4n"] _data = { -"move": SubResource("2") +&"move": SubResource("2") } [node name="Level" type="Node2D"] diff --git a/2d/platformer/player/bullet.gd.uid b/2d/platformer/player/bullet.gd.uid new file mode 100644 index 00000000..2c3ae39d --- /dev/null +++ b/2d/platformer/player/bullet.gd.uid @@ -0,0 +1 @@ +uid://xb35rakv4vtt diff --git a/2d/platformer/player/bullet.tscn b/2d/platformer/player/bullet.tscn index f7945685..f39de0c8 100644 --- a/2d/platformer/player/bullet.tscn +++ b/2d/platformer/player/bullet.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=13 format=3 uid="uid://df7ddsoclivwe"] [ext_resource type="Texture2D" uid="uid://coj0d33vyyqx1" path="res://player/bullet.webp" id="1"] -[ext_resource type="Script" path="res://player/bullet.gd" id="2"] +[ext_resource type="Script" uid="uid://xb35rakv4vtt" path="res://player/bullet.gd" id="2"] [sub_resource type="CanvasItemMaterial" id="1"] @@ -85,8 +85,8 @@ tracks/2/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_iv8gr"] _data = { -"RESET": SubResource("Animation_v7668"), -"destroy": SubResource("5") +&"RESET": SubResource("Animation_v7668"), +&"destroy": SubResource("5") } [node name="Bullet" type="RigidBody2D"] diff --git a/2d/platformer/player/gun.gd.uid b/2d/platformer/player/gun.gd.uid new file mode 100644 index 00000000..5e8e7918 --- /dev/null +++ b/2d/platformer/player/gun.gd.uid @@ -0,0 +1 @@ +uid://c3cm5mpl2xelv diff --git a/2d/platformer/player/player.gd.uid b/2d/platformer/player/player.gd.uid new file mode 100644 index 00000000..7322607e --- /dev/null +++ b/2d/platformer/player/player.gd.uid @@ -0,0 +1 @@ +uid://3kovi8hshvar diff --git a/2d/platformer/player/player.tscn b/2d/platformer/player/player.tscn index bc682a7f..00a88dc7 100644 --- a/2d/platformer/player/player.tscn +++ b/2d/platformer/player/player.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=18 format=3 uid="uid://vh7pmputa7r3"] -[ext_resource type="Script" path="res://player/player.gd" id="3"] +[ext_resource type="Script" uid="uid://3kovi8hshvar" path="res://player/player.gd" id="3"] [ext_resource type="AudioStream" uid="uid://sjod173axgwf" path="res://player/jump.wav" id="5"] [ext_resource type="AudioStream" uid="uid://b01brytl75mwa" path="res://player/shoot.wav" id="6"] -[ext_resource type="Script" path="res://player/gun.gd" id="8"] +[ext_resource type="Script" uid="uid://c3cm5mpl2xelv" path="res://player/gun.gd" id="8"] [ext_resource type="Texture2D" uid="uid://cc7o7t0ramd6y" path="res://player/robot.webp" id="9"] [sub_resource type="Animation" id="1"] @@ -170,16 +170,16 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_jnr5f"] _data = { -"crouch": SubResource("1"), -"falling": SubResource("2"), -"falling_weapon": SubResource("3"), -"idle": SubResource("4"), -"idle_weapon": SubResource("5"), -"jumping": SubResource("6"), -"jumping_weapon": SubResource("7"), -"run": SubResource("8"), -"run_weapon": SubResource("9"), -"standing_weapon_ready": SubResource("10") +&"crouch": SubResource("1"), +&"falling": SubResource("2"), +&"falling_weapon": SubResource("3"), +&"idle": SubResource("4"), +&"idle_weapon": SubResource("5"), +&"jumping": SubResource("6"), +&"jumping_weapon": SubResource("7"), +&"run": SubResource("8"), +&"run_weapon": SubResource("9"), +&"standing_weapon_ready": SubResource("10") } [sub_resource type="RectangleShape2D" id="11"] diff --git a/2d/platformer/project.godot b/2d/platformer/project.godot index 13f7dcba..07aa0ada 100644 --- a/2d/platformer/project.godot +++ b/2d/platformer/project.godot @@ -20,7 +20,7 @@ interact with enemies, and more. It contains one closed level, and the player is invincible, unlike the enemies." config/tags=PackedStringArray("2d", "demo", "official", "physics", "tilemap") run/main_scene="res://game_singleplayer.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [autoload] diff --git a/2d/polygons_lines/polygons_lines.gd.uid b/2d/polygons_lines/polygons_lines.gd.uid new file mode 100644 index 00000000..193ffc8c --- /dev/null +++ b/2d/polygons_lines/polygons_lines.gd.uid @@ -0,0 +1 @@ +uid://crwsygfp7rhpx diff --git a/2d/polygons_lines/polygons_lines.tscn b/2d/polygons_lines/polygons_lines.tscn index 864ac656..a92ec5d9 100644 --- a/2d/polygons_lines/polygons_lines.tscn +++ b/2d/polygons_lines/polygons_lines.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=12 format=3 uid="uid://sso1dr5jdq5r"] [ext_resource type="Texture2D" uid="uid://vc1ox5j7i4ht" path="res://line_10px.png" id="1"] -[ext_resource type="Script" path="res://polygons_lines.gd" id="1_jv8u4"] +[ext_resource type="Script" uid="uid://crwsygfp7rhpx" path="res://polygons_lines.gd" id="1_jv8u4"] [ext_resource type="Texture2D" uid="uid://cxdixutgi5uhq" path="res://line_30px.png" id="2"] [sub_resource type="FastNoiseLite" id="5"] diff --git a/2d/polygons_lines/project.godot b/2d/polygons_lines/project.godot index f33473db..5fbe2e75 100644 --- a/2d/polygons_lines/project.godot +++ b/2d/polygons_lines/project.godot @@ -15,7 +15,7 @@ config/description="A demo of solid and textured 2D polygons and lines using Pol 2D antialiasing is also showcased using two techniques: MSAA 2D and a specially crafted texture applied to a Line2D node." run/main_scene="res://polygons_lines.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" diff --git a/2d/pong/logic/ball.gd.uid b/2d/pong/logic/ball.gd.uid new file mode 100644 index 00000000..8cedb48d --- /dev/null +++ b/2d/pong/logic/ball.gd.uid @@ -0,0 +1 @@ +uid://crrm7cavqaic1 diff --git a/2d/pong/logic/ceiling_floor.gd.uid b/2d/pong/logic/ceiling_floor.gd.uid new file mode 100644 index 00000000..93d68960 --- /dev/null +++ b/2d/pong/logic/ceiling_floor.gd.uid @@ -0,0 +1 @@ +uid://cxci6j34bhc5d diff --git a/2d/pong/logic/paddle.gd.uid b/2d/pong/logic/paddle.gd.uid new file mode 100644 index 00000000..3fe47c1f --- /dev/null +++ b/2d/pong/logic/paddle.gd.uid @@ -0,0 +1 @@ +uid://efxwgauhun73 diff --git a/2d/pong/logic/wall.gd.uid b/2d/pong/logic/wall.gd.uid new file mode 100644 index 00000000..fafd05c9 --- /dev/null +++ b/2d/pong/logic/wall.gd.uid @@ -0,0 +1 @@ +uid://gcpvok34sb3f diff --git a/2d/pong/pong.tscn b/2d/pong/pong.tscn index 1fab29f0..14deb641 100644 --- a/2d/pong/pong.tscn +++ b/2d/pong/pong.tscn @@ -1,12 +1,12 @@ [gd_scene load_steps=12 format=3 uid="uid://jlfslyfbhid5"] -[ext_resource type="Script" path="res://logic/paddle.gd" id="1"] +[ext_resource type="Script" uid="uid://efxwgauhun73" path="res://logic/paddle.gd" id="1"] [ext_resource type="Texture2D" uid="uid://dvrb8efddt0aa" path="res://paddle.png" id="2"] -[ext_resource type="Script" path="res://logic/ball.gd" id="4"] +[ext_resource type="Script" uid="uid://crrm7cavqaic1" path="res://logic/ball.gd" id="4"] [ext_resource type="Texture2D" uid="uid://clowikjgl4yq1" path="res://ball.png" id="5"] [ext_resource type="Texture2D" uid="uid://drgpdyyomyqpl" path="res://separator.png" id="6"] -[ext_resource type="Script" path="res://logic/wall.gd" id="7"] -[ext_resource type="Script" path="res://logic/ceiling_floor.gd" id="8"] +[ext_resource type="Script" uid="uid://gcpvok34sb3f" path="res://logic/wall.gd" id="7"] +[ext_resource type="Script" uid="uid://cxci6j34bhc5d" path="res://logic/ceiling_floor.gd" id="8"] [sub_resource type="RectangleShape2D" id="1"] size = Vector2(8, 32) diff --git a/2d/pong/project.godot b/2d/pong/project.godot index bc038df7..50e3c265 100644 --- a/2d/pong/project.godot +++ b/2d/pong/project.godot @@ -15,7 +15,7 @@ config/description="A simple Pong game. This demo shows best practices for game development in Godot, including signals." config/tags=PackedStringArray("2d", "demo", "official") run/main_scene="pong.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -36,28 +36,28 @@ left_move_down={ "deadzone": 0.2, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } left_move_up={ "deadzone": 0.2, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } right_move_down={ "deadzone": 0.2, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":1,"button_index":13,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":1,"axis":1,"axis_value":1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } right_move_up={ "deadzone": 0.2, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":1,"button_index":12,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":1,"axis":1,"axis_value":-1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } diff --git a/2d/role_playing_game/combat/combat.gd.uid b/2d/role_playing_game/combat/combat.gd.uid new file mode 100644 index 00000000..706f4490 --- /dev/null +++ b/2d/role_playing_game/combat/combat.gd.uid @@ -0,0 +1 @@ +uid://bh7qaqa6inb8n diff --git a/2d/role_playing_game/combat/combat.tscn b/2d/role_playing_game/combat/combat.tscn index 42dcd3d4..6d102694 100644 --- a/2d/role_playing_game/combat/combat.tscn +++ b/2d/role_playing_game/combat/combat.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=17 format=3 uid="uid://b4aouv6fsdecc"] -[ext_resource type="Script" path="res://combat/combat.gd" id="1"] -[ext_resource type="Script" path="res://combat/turn_queue.gd" id="2"] +[ext_resource type="Script" uid="uid://bh7qaqa6inb8n" path="res://combat/combat.gd" id="1"] +[ext_resource type="Script" uid="uid://bokfxv77maemj" path="res://combat/turn_queue.gd" id="2"] [ext_resource type="Theme" uid="uid://dtao6d0ebglcf" path="res://theme/theme.tres" id="3"] -[ext_resource type="Script" path="res://combat/interface/ui.gd" id="4"] +[ext_resource type="Script" uid="uid://cp8eg0avq1egt" path="res://combat/interface/ui.gd" id="4"] [ext_resource type="PackedScene" uid="uid://bypumcqt7j0iv" path="res://combat/interface/info.tscn" id="5"] [ext_resource type="Texture2D" uid="uid://dh804n3h2bl5h" path="res://combat/background/combat_background.png" id="6"] [ext_resource type="Texture2D" uid="uid://mi3mmtft0snh" path="res://decoration/grass.png" id="7"] diff --git a/2d/role_playing_game/combat/combatants/combatant.gd.uid b/2d/role_playing_game/combat/combatants/combatant.gd.uid new file mode 100644 index 00000000..6703022a --- /dev/null +++ b/2d/role_playing_game/combat/combatants/combatant.gd.uid @@ -0,0 +1 @@ +uid://dky6rb5i8pa2i diff --git a/2d/role_playing_game/combat/combatants/combatant.tscn b/2d/role_playing_game/combat/combatants/combatant.tscn index 23fc2eeb..af014bc9 100644 --- a/2d/role_playing_game/combat/combatants/combatant.tscn +++ b/2d/role_playing_game/combat/combatants/combatant.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=3 uid="uid://blh4bx2nbvbn5"] -[ext_resource type="Script" path="res://combat/combatants/combatant.gd" id="1"] -[ext_resource type="Script" path="res://combat/combatants/health.gd" id="2"] +[ext_resource type="Script" uid="uid://dky6rb5i8pa2i" path="res://combat/combatants/combatant.gd" id="1"] +[ext_resource type="Script" uid="uid://bs6gt5qg3gdco" path="res://combat/combatants/health.gd" id="2"] [ext_resource type="PackedScene" uid="uid://pxvb8ikxb0k" path="res://combat/combatants/sprites/sprite.tscn" id="3"] [node name="Combatant" type="Node2D"] diff --git a/2d/role_playing_game/combat/combatants/health.gd.uid b/2d/role_playing_game/combat/combatants/health.gd.uid new file mode 100644 index 00000000..909d0d6a --- /dev/null +++ b/2d/role_playing_game/combat/combatants/health.gd.uid @@ -0,0 +1 @@ +uid://bs6gt5qg3gdco diff --git a/2d/role_playing_game/combat/combatants/health/health.tscn b/2d/role_playing_game/combat/combatants/health/health.tscn index 95b70c12..b7f2a036 100644 --- a/2d/role_playing_game/combat/combatants/health/health.tscn +++ b/2d/role_playing_game/combat/combatants/health/health.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://cjbgw2qb173cy"] -[ext_resource path="res://combat/combatants/health.gd" type="Script" id=1] +[ext_resource type="Script" uid="uid://bs6gt5qg3gdco" path="res://combat/combatants/health.gd" id="1"] [node name="Health" type="Node"] -script = ExtResource( 1 ) +script = ExtResource("1") diff --git a/2d/role_playing_game/combat/combatants/opponent.gd.uid b/2d/role_playing_game/combat/combatants/opponent.gd.uid new file mode 100644 index 00000000..e15d2e4d --- /dev/null +++ b/2d/role_playing_game/combat/combatants/opponent.gd.uid @@ -0,0 +1 @@ +uid://dubjrdn06rxco diff --git a/2d/role_playing_game/combat/combatants/opponent.tscn b/2d/role_playing_game/combat/combatants/opponent.tscn index 49e4ffd3..9564b8f8 100644 --- a/2d/role_playing_game/combat/combatants/opponent.tscn +++ b/2d/role_playing_game/combat/combatants/opponent.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=3 uid="uid://dp7gq0vfmf4nc"] [ext_resource type="PackedScene" uid="uid://blh4bx2nbvbn5" path="res://combat/combatants/combatant.tscn" id="1"] -[ext_resource type="Script" path="res://combat/combatants/opponent.gd" id="2"] +[ext_resource type="Script" uid="uid://dubjrdn06rxco" path="res://combat/combatants/opponent.gd" id="2"] [ext_resource type="Texture2D" uid="uid://bebxw4udsw7i3" path="res://combat/combatants/sprites/opponent_battle.png" id="3"] [node name="Opponent" instance=ExtResource("1")] diff --git a/2d/role_playing_game/combat/combatants/sprites/sprite.tscn b/2d/role_playing_game/combat/combatants/sprites/sprite.tscn index 45ae6393..9c6682cc 100644 --- a/2d/role_playing_game/combat/combatants/sprites/sprite.tscn +++ b/2d/role_playing_game/combat/combatants/sprites/sprite.tscn @@ -50,8 +50,8 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_cqku5"] _data = { -"idle": SubResource("2"), -"take_damage": SubResource("1") +&"idle": SubResource("2"), +&"take_damage": SubResource("1") } [node name="Sprite2D" type="Node2D"] diff --git a/2d/role_playing_game/combat/interface/info.tscn b/2d/role_playing_game/combat/interface/info.tscn index 958d2b83..27ede4d7 100644 --- a/2d/role_playing_game/combat/interface/info.tscn +++ b/2d/role_playing_game/combat/interface/info.tscn @@ -4,9 +4,6 @@ [sub_resource type="FontFile" id="1"] fallbacks = Array[Font]([ExtResource("1")]) -face_index = null -embolden = null -transform = null cache/0/16/0/ascent = 0.0 cache/0/16/0/descent = 0.0 cache/0/16/0/underline_position = 0.0 diff --git a/2d/role_playing_game/combat/interface/ui.gd.uid b/2d/role_playing_game/combat/interface/ui.gd.uid new file mode 100644 index 00000000..405588e1 --- /dev/null +++ b/2d/role_playing_game/combat/interface/ui.gd.uid @@ -0,0 +1 @@ +uid://cp8eg0avq1egt diff --git a/2d/role_playing_game/combat/turn_queue.gd.uid b/2d/role_playing_game/combat/turn_queue.gd.uid new file mode 100644 index 00000000..ef4abdd9 --- /dev/null +++ b/2d/role_playing_game/combat/turn_queue.gd.uid @@ -0,0 +1 @@ +uid://bokfxv77maemj diff --git a/2d/role_playing_game/dialogue/dialogue_player/dialogue_player.gd.uid b/2d/role_playing_game/dialogue/dialogue_player/dialogue_player.gd.uid new file mode 100644 index 00000000..caba9a90 --- /dev/null +++ b/2d/role_playing_game/dialogue/dialogue_player/dialogue_player.gd.uid @@ -0,0 +1 @@ +uid://cklty8a5vrf3 diff --git a/2d/role_playing_game/dialogue/dialogue_player/dialogue_player.tscn b/2d/role_playing_game/dialogue/dialogue_player/dialogue_player.tscn index 949a32fb..36813257 100644 --- a/2d/role_playing_game/dialogue/dialogue_player/dialogue_player.tscn +++ b/2d/role_playing_game/dialogue/dialogue_player/dialogue_player.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://cid4iajexfsg2"] -[ext_resource type="Script" path="res://dialogue/dialogue_player/dialogue_player.gd" id="1"] +[ext_resource type="Script" uid="uid://cklty8a5vrf3" path="res://dialogue/dialogue_player/dialogue_player.gd" id="1"] [node name="DialoguePlayer" type="Node"] script = ExtResource("1") diff --git a/2d/role_playing_game/dialogue/interface/interface.gd.uid b/2d/role_playing_game/dialogue/interface/interface.gd.uid new file mode 100644 index 00000000..ec52be49 --- /dev/null +++ b/2d/role_playing_game/dialogue/interface/interface.gd.uid @@ -0,0 +1 @@ +uid://bve0terp5lnxv diff --git a/2d/role_playing_game/dialogue/interface/interface.tscn b/2d/role_playing_game/dialogue/interface/interface.tscn index b775e2e5..0f191e5d 100644 --- a/2d/role_playing_game/dialogue/interface/interface.tscn +++ b/2d/role_playing_game/dialogue/interface/interface.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=3 uid="uid://nb2wowyl2vi0"] [ext_resource type="Theme" uid="uid://dtao6d0ebglcf" path="res://theme/theme.tres" id="1"] -[ext_resource type="Script" path="res://dialogue/interface/interface.gd" id="2"] +[ext_resource type="Script" uid="uid://bve0terp5lnxv" path="res://dialogue/interface/interface.gd" id="2"] [node name="Dialogue" type="Panel"] offset_top = 544.0 diff --git a/2d/role_playing_game/game.gd.uid b/2d/role_playing_game/game.gd.uid new file mode 100644 index 00000000..0b392e04 --- /dev/null +++ b/2d/role_playing_game/game.gd.uid @@ -0,0 +1 @@ +uid://cjofko0oy4rnb diff --git a/2d/role_playing_game/game.tscn b/2d/role_playing_game/game.tscn index 48f55d6d..f27889ec 100644 --- a/2d/role_playing_game/game.tscn +++ b/2d/role_playing_game/game.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=6 format=3 uid="uid://8ylj6j3vmxoy"] -[ext_resource type="Script" path="res://game.gd" id="1"] +[ext_resource type="Script" uid="uid://cjofko0oy4rnb" path="res://game.gd" id="1"] [ext_resource type="PackedScene" uid="uid://b4aouv6fsdecc" path="res://combat/combat.tscn" id="2"] [ext_resource type="PackedScene" uid="uid://ckgv4m67a5kfj" path="res://grid_movement/exploration.tscn" id="3"] @@ -21,7 +21,7 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_53g8u"] _data = { -"fade": SubResource("1") +&"fade": SubResource("1") } [node name="Game" type="Node" node_paths=PackedStringArray("combat_screen", "exploration_screen")] diff --git a/2d/role_playing_game/grid_movement/exploration.tscn b/2d/role_playing_game/grid_movement/exploration.tscn index 7c5e9b03..882f9ef5 100644 --- a/2d/role_playing_game/grid_movement/exploration.tscn +++ b/2d/role_playing_game/grid_movement/exploration.tscn @@ -2,13 +2,13 @@ [ext_resource type="TileSet" path="res://grid_movement/grid/lines/grid_lines_tileset.tres" id="1"] [ext_resource type="TileSet" path="res://grid_movement/grid/tiles/grid_tileset.tres" id="2"] -[ext_resource type="Script" path="res://grid_movement/grid/grid.gd" id="3"] +[ext_resource type="Script" uid="uid://clx78fbkwpsi4" path="res://grid_movement/grid/grid.gd" id="3"] [ext_resource type="PackedScene" uid="uid://bdni5iw2j108j" path="res://grid_movement/pawns/character.tscn" id="4"] [ext_resource type="PackedScene" uid="uid://d05javsln2aci" path="res://combat/combatants/player.tscn" id="5"] -[ext_resource type="Script" path="res://grid_movement/pawns/opponent.gd" id="6"] +[ext_resource type="Script" uid="uid://bdialey3dei5g" path="res://grid_movement/pawns/opponent.gd" id="6"] [ext_resource type="PackedScene" uid="uid://dp7gq0vfmf4nc" path="res://combat/combatants/opponent.tscn" id="7"] -[ext_resource type="PackedScene" path="res://dialogue/dialogue_player/dialogue_player.tscn" id="8"] -[ext_resource type="Script" path="res://grid_movement/pawns/pawn.gd" id="9"] +[ext_resource type="PackedScene" uid="uid://cid4iajexfsg2" path="res://dialogue/dialogue_player/dialogue_player.tscn" id="8"] +[ext_resource type="Script" uid="uid://u2wwet6gk4n2" path="res://grid_movement/pawns/pawn.gd" id="9"] [ext_resource type="PackedScene" uid="uid://nb2wowyl2vi0" path="res://dialogue/interface/interface.tscn" id="10"] [ext_resource type="TileSet" path="res://grid_movement/grid/tiles/ground_tileset.tres" id="11"] [ext_resource type="Texture2D" uid="uid://mi3mmtft0snh" path="res://decoration/grass.png" id="12"] diff --git a/2d/role_playing_game/grid_movement/grid/grid.gd.uid b/2d/role_playing_game/grid_movement/grid/grid.gd.uid new file mode 100644 index 00000000..c876b01c --- /dev/null +++ b/2d/role_playing_game/grid_movement/grid/grid.gd.uid @@ -0,0 +1 @@ +uid://clx78fbkwpsi4 diff --git a/2d/role_playing_game/grid_movement/pawns/actor.gd.uid b/2d/role_playing_game/grid_movement/pawns/actor.gd.uid new file mode 100644 index 00000000..03a937fa --- /dev/null +++ b/2d/role_playing_game/grid_movement/pawns/actor.gd.uid @@ -0,0 +1 @@ +uid://cdar60j1jhogk diff --git a/2d/role_playing_game/grid_movement/pawns/character.tscn b/2d/role_playing_game/grid_movement/pawns/character.tscn index 791d8b70..0f97611f 100644 --- a/2d/role_playing_game/grid_movement/pawns/character.tscn +++ b/2d/role_playing_game/grid_movement/pawns/character.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=21 format=3 uid="uid://bdni5iw2j108j"] -[ext_resource type="Script" path="res://grid_movement/pawns/walker.gd" id="1"] +[ext_resource type="Script" uid="uid://b240sdxvva6wr" path="res://grid_movement/pawns/walker.gd" id="1"] [ext_resource type="Texture2D" uid="uid://ba5rklp7brg7" path="res://grid_movement/pawns/character.png" id="2"] [ext_resource type="Texture2D" uid="uid://c7n37h1euodch" path="res://grid_movement/pawns/player_exploration.png" id="3"] [ext_resource type="Texture2D" uid="uid://c5mr2yqxvctld" path="res://grid_movement/pawns/player_exploration_bump.png" id="4"] @@ -181,10 +181,10 @@ tracks/5/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_yxglf"] _data = { -"RESET": SubResource("3"), -"bump": SubResource("1"), -"idle": SubResource("4"), -"walk": SubResource("2") +&"RESET": SubResource("3"), +&"bump": SubResource("1"), +&"idle": SubResource("4"), +&"walk": SubResource("2") } [sub_resource type="AnimationNodeAnimation" id="9"] diff --git a/2d/role_playing_game/grid_movement/pawns/opponent.gd.uid b/2d/role_playing_game/grid_movement/pawns/opponent.gd.uid new file mode 100644 index 00000000..136a8283 --- /dev/null +++ b/2d/role_playing_game/grid_movement/pawns/opponent.gd.uid @@ -0,0 +1 @@ +uid://bdialey3dei5g diff --git a/2d/role_playing_game/grid_movement/pawns/pawn.gd.uid b/2d/role_playing_game/grid_movement/pawns/pawn.gd.uid new file mode 100644 index 00000000..a63c3d9e --- /dev/null +++ b/2d/role_playing_game/grid_movement/pawns/pawn.gd.uid @@ -0,0 +1 @@ +uid://u2wwet6gk4n2 diff --git a/2d/role_playing_game/grid_movement/pawns/walker.gd.uid b/2d/role_playing_game/grid_movement/pawns/walker.gd.uid new file mode 100644 index 00000000..537d9dea --- /dev/null +++ b/2d/role_playing_game/grid_movement/pawns/walker.gd.uid @@ -0,0 +1 @@ +uid://b240sdxvva6wr diff --git a/2d/role_playing_game/project.godot b/2d/role_playing_game/project.godot index 7d0c52d6..71e7b6ef 100644 --- a/2d/role_playing_game/project.godot +++ b/2d/role_playing_game/project.godot @@ -16,7 +16,7 @@ and GDScript. It also includes a simple JRPG-style dialogue and battle system on top of it." config/tags=PackedStringArray("2d", "demo", "gui", "official", "tilemap") run/main_scene="res://game.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.svg" [debug] diff --git a/2d/role_playing_game/theme/fonts/montserrat_extra_bold.otf.import b/2d/role_playing_game/theme/fonts/montserrat_extra_bold.otf.import index a76649bb..29442c01 100644 --- a/2d/role_playing_game/theme/fonts/montserrat_extra_bold.otf.import +++ b/2d/role_playing_game/theme/fonts/montserrat_extra_bold.otf.import @@ -23,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/2d/screen_space_shaders/project.godot b/2d/screen_space_shaders/project.godot index 26ed8337..66878ca9 100644 --- a/2d/screen_space_shaders/project.godot +++ b/2d/screen_space_shaders/project.godot @@ -15,7 +15,7 @@ config/description="Several examples of full screen 2D shader processing. Many common full-res effects are implemented here for reference." config/tags=PackedStringArray("2d", "demo", "official", "rendering", "shaders") run/main_scene="res://screen_shaders.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/2d/screen_space_shaders/screen_shaders.gd.uid b/2d/screen_space_shaders/screen_shaders.gd.uid new file mode 100644 index 00000000..a41b9199 --- /dev/null +++ b/2d/screen_space_shaders/screen_shaders.gd.uid @@ -0,0 +1 @@ +uid://bknidpt4xwb2k diff --git a/2d/screen_space_shaders/screen_shaders.tscn b/2d/screen_space_shaders/screen_shaders.tscn index eebcbd10..1fdef160 100644 --- a/2d/screen_space_shaders/screen_shaders.tscn +++ b/2d/screen_space_shaders/screen_shaders.tscn @@ -1,23 +1,23 @@ [gd_scene load_steps=31 format=3 uid="uid://dyk2fhwqwi2u0"] -[ext_resource type="Script" path="res://screen_shaders.gd" id="1"] +[ext_resource type="Script" uid="uid://bknidpt4xwb2k" path="res://screen_shaders.gd" id="1"] [ext_resource type="Texture2D" uid="uid://bxfl16c7nqg0t" path="res://art/burano.jpg" id="2"] [ext_resource type="Texture2D" uid="uid://cjycbveqawf6o" path="res://art/platformer.jpg" id="3"] [ext_resource type="Texture2D" uid="uid://bj5ysvx4sbbw0" path="res://art/mountains.jpg" id="4"] [ext_resource type="Texture2D" uid="uid://dmposqqlg6e2m" path="res://art/forest.jpg" id="5"] -[ext_resource type="Shader" path="res://shaders/vignette.gdshader" id="6"] +[ext_resource type="Shader" uid="uid://ch0xjgqu23fiu" path="res://shaders/vignette.gdshader" id="6"] [ext_resource type="Texture2D" uid="uid://c7uiamx2smpx5" path="res://art/vignette.png" id="7"] [ext_resource type="Texture2D" uid="uid://dxb6wr1r452am" path="res://art/white.png" id="8"] -[ext_resource type="Shader" path="res://shaders/blur.gdshader" id="9"] -[ext_resource type="Shader" path="res://shaders/pixelize.gdshader" id="10"] -[ext_resource type="Shader" path="res://shaders/whirl.gdshader" id="11"] -[ext_resource type="Shader" path="res://shaders/sepia.gdshader" id="12"] -[ext_resource type="Shader" path="res://shaders/negative.gdshader" id="13"] -[ext_resource type="Shader" path="res://shaders/contrasted.gdshader" id="14"] -[ext_resource type="Shader" path="res://shaders/normalized.gdshader" id="15"] -[ext_resource type="Shader" path="res://shaders/BCS.gdshader" id="16"] -[ext_resource type="Shader" path="res://shaders/mirage.gdshader" id="17"] -[ext_resource type="Shader" path="res://shaders/old_film.gdshader" id="18"] +[ext_resource type="Shader" uid="uid://dgts6gsu4bfjm" path="res://shaders/blur.gdshader" id="9"] +[ext_resource type="Shader" uid="uid://citjk4vnekq72" path="res://shaders/pixelize.gdshader" id="10"] +[ext_resource type="Shader" uid="uid://pnideychiwpr" path="res://shaders/whirl.gdshader" id="11"] +[ext_resource type="Shader" uid="uid://gckypfickw2n" path="res://shaders/sepia.gdshader" id="12"] +[ext_resource type="Shader" uid="uid://dsw173xob2fug" path="res://shaders/negative.gdshader" id="13"] +[ext_resource type="Shader" uid="uid://cn2w21vb1u7ih" path="res://shaders/contrasted.gdshader" id="14"] +[ext_resource type="Shader" uid="uid://c0c1ikkm1kude" path="res://shaders/normalized.gdshader" id="15"] +[ext_resource type="Shader" uid="uid://bcg68gbeyyamn" path="res://shaders/BCS.gdshader" id="16"] +[ext_resource type="Shader" uid="uid://7o6pgfrjk66v" path="res://shaders/mirage.gdshader" id="17"] +[ext_resource type="Shader" uid="uid://dqd5h8qhkb4y8" path="res://shaders/old_film.gdshader" id="18"] [ext_resource type="Texture2D" uid="uid://c5jxxypesp0k5" path="res://art/filmgrain.png" id="19_mg7oc"] [sub_resource type="ShaderMaterial" id="1"] @@ -64,12 +64,12 @@ shader_parameter/depth = 0.005 [sub_resource type="ShaderMaterial" id="11"] shader = ExtResource("18") shader_parameter/base = Color(0.941176, 0.647059, 0.356863, 1) +shader_parameter/grain = ExtResource("19_mg7oc") shader_parameter/grain_strength = 0.5 +shader_parameter/vignette = ExtResource("7") shader_parameter/fps = 15.0 shader_parameter/stretch = 0.5 shader_parameter/flashing = 0.1 -shader_parameter/grain = ExtResource("19_mg7oc") -shader_parameter/vignette = ExtResource("7") [node name="ScreenShaders" type="Control"] layout_mode = 3 diff --git a/2d/screen_space_shaders/shaders/BCS.gdshader.uid b/2d/screen_space_shaders/shaders/BCS.gdshader.uid new file mode 100644 index 00000000..65be6bf1 --- /dev/null +++ b/2d/screen_space_shaders/shaders/BCS.gdshader.uid @@ -0,0 +1 @@ +uid://bcg68gbeyyamn diff --git a/2d/screen_space_shaders/shaders/blur.gdshader.uid b/2d/screen_space_shaders/shaders/blur.gdshader.uid new file mode 100644 index 00000000..d6f14bfe --- /dev/null +++ b/2d/screen_space_shaders/shaders/blur.gdshader.uid @@ -0,0 +1 @@ +uid://dgts6gsu4bfjm diff --git a/2d/screen_space_shaders/shaders/contrasted.gdshader.uid b/2d/screen_space_shaders/shaders/contrasted.gdshader.uid new file mode 100644 index 00000000..0bbe2f4e --- /dev/null +++ b/2d/screen_space_shaders/shaders/contrasted.gdshader.uid @@ -0,0 +1 @@ +uid://cn2w21vb1u7ih diff --git a/2d/screen_space_shaders/shaders/mirage.gdshader.uid b/2d/screen_space_shaders/shaders/mirage.gdshader.uid new file mode 100644 index 00000000..078afb88 --- /dev/null +++ b/2d/screen_space_shaders/shaders/mirage.gdshader.uid @@ -0,0 +1 @@ +uid://7o6pgfrjk66v diff --git a/2d/screen_space_shaders/shaders/negative.gdshader.uid b/2d/screen_space_shaders/shaders/negative.gdshader.uid new file mode 100644 index 00000000..d0bb9bf8 --- /dev/null +++ b/2d/screen_space_shaders/shaders/negative.gdshader.uid @@ -0,0 +1 @@ +uid://dsw173xob2fug diff --git a/2d/screen_space_shaders/shaders/normalized.gdshader.uid b/2d/screen_space_shaders/shaders/normalized.gdshader.uid new file mode 100644 index 00000000..737c8b55 --- /dev/null +++ b/2d/screen_space_shaders/shaders/normalized.gdshader.uid @@ -0,0 +1 @@ +uid://c0c1ikkm1kude diff --git a/2d/screen_space_shaders/shaders/old_film.gdshader.uid b/2d/screen_space_shaders/shaders/old_film.gdshader.uid new file mode 100644 index 00000000..3ccc4314 --- /dev/null +++ b/2d/screen_space_shaders/shaders/old_film.gdshader.uid @@ -0,0 +1 @@ +uid://dqd5h8qhkb4y8 diff --git a/2d/screen_space_shaders/shaders/pixelize.gdshader.uid b/2d/screen_space_shaders/shaders/pixelize.gdshader.uid new file mode 100644 index 00000000..9d039d8b --- /dev/null +++ b/2d/screen_space_shaders/shaders/pixelize.gdshader.uid @@ -0,0 +1 @@ +uid://citjk4vnekq72 diff --git a/2d/screen_space_shaders/shaders/sepia.gdshader.uid b/2d/screen_space_shaders/shaders/sepia.gdshader.uid new file mode 100644 index 00000000..337e98bf --- /dev/null +++ b/2d/screen_space_shaders/shaders/sepia.gdshader.uid @@ -0,0 +1 @@ +uid://gckypfickw2n diff --git a/2d/screen_space_shaders/shaders/vignette.gdshader.uid b/2d/screen_space_shaders/shaders/vignette.gdshader.uid new file mode 100644 index 00000000..0bfc08cb --- /dev/null +++ b/2d/screen_space_shaders/shaders/vignette.gdshader.uid @@ -0,0 +1 @@ +uid://ch0xjgqu23fiu diff --git a/2d/screen_space_shaders/shaders/whirl.gdshader.uid b/2d/screen_space_shaders/shaders/whirl.gdshader.uid new file mode 100644 index 00000000..1b6aa77d --- /dev/null +++ b/2d/screen_space_shaders/shaders/whirl.gdshader.uid @@ -0,0 +1 @@ +uid://pnideychiwpr diff --git a/2d/skeleton/level.tscn b/2d/skeleton/level.tscn index 4596c0a8..d341af2d 100644 --- a/2d/skeleton/level.tscn +++ b/2d/skeleton/level.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://b0dcakpphuuc5"] [ext_resource type="TileSet" uid="uid://dlu6wo1aknvai" path="res://level/tileset/tileset.tres" id="1_0yenw"] -[ext_resource type="Script" path="res://level/level.gd" id="1_bccge"] +[ext_resource type="Script" uid="uid://1d7amrvf0fas" path="res://level/level.gd" id="1_bccge"] [ext_resource type="PackedScene" uid="uid://c1n07vnm2brb8" path="res://level/parallax_background.tscn" id="3"] [ext_resource type="PackedScene" uid="uid://c657hgr7fcptm" path="res://player/player.tscn" id="4"] diff --git a/2d/skeleton/level/level.gd.uid b/2d/skeleton/level/level.gd.uid new file mode 100644 index 00000000..9940c3b7 --- /dev/null +++ b/2d/skeleton/level/level.gd.uid @@ -0,0 +1 @@ +uid://1d7amrvf0fas diff --git a/2d/skeleton/player/player.gd.uid b/2d/skeleton/player/player.gd.uid new file mode 100644 index 00000000..442a9a8e --- /dev/null +++ b/2d/skeleton/player/player.gd.uid @@ -0,0 +1 @@ +uid://bpwsjp2ufno2s diff --git a/2d/skeleton/player/player.tscn b/2d/skeleton/player/player.tscn index eecd14c6..738ef389 100644 --- a/2d/skeleton/player/player.tscn +++ b/2d/skeleton/player/player.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=28 format=3 uid="uid://c657hgr7fcptm"] -[ext_resource type="Script" path="res://player/player.gd" id="1"] +[ext_resource type="Script" uid="uid://bpwsjp2ufno2s" path="res://player/player.gd" id="1"] [ext_resource type="Texture2D" uid="uid://cgnjku7sa0qyt" path="res://player/gBot.png" id="2"] [sub_resource type="Animation" id="1"] @@ -1654,14 +1654,14 @@ tracks/16/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_sx6h1"] _data = { -"fall": SubResource("1"), -"fly": SubResource("2"), -"idle": SubResource("3"), -"jump": SubResource("4"), -"land": SubResource("5"), -"land_hard": SubResource("6"), -"run": SubResource("7"), -"walk": SubResource("8") +&"fall": SubResource("1"), +&"fly": SubResource("2"), +&"idle": SubResource("3"), +&"jump": SubResource("4"), +&"land": SubResource("5"), +&"land_hard": SubResource("6"), +&"run": SubResource("7"), +&"walk": SubResource("8") } [sub_resource type="AnimationNodeAnimation" id="9"] @@ -1702,18 +1702,23 @@ animation = &"run" xfade_time = 0.1 input_0/name = "idle" input_0/auto_advance = false +input_0/break_loop_at_end = false input_0/reset = true input_1/name = "walk" input_1/auto_advance = false +input_1/break_loop_at_end = false input_1/reset = true input_2/name = "run" input_2/auto_advance = false +input_2/break_loop_at_end = false input_2/reset = true input_3/name = "fly" input_3/auto_advance = false +input_3/break_loop_at_end = false input_3/reset = true input_4/name = "fall" input_4/auto_advance = false +input_4/break_loop_at_end = false input_4/reset = true [sub_resource type="AnimationNodeAnimation" id="21"] diff --git a/2d/skeleton/project.godot b/2d/skeleton/project.godot index 7701b362..8ee1a535 100644 --- a/2d/skeleton/project.godot +++ b/2d/skeleton/project.godot @@ -16,7 +16,7 @@ Godot's Skeleton2D node. There are several movement-related animations and there is a simple character controller that controls the animations." config/tags=PackedStringArray("2d", "animation", "demo", "official", "rendering") run/main_scene="res://level.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -34,25 +34,25 @@ window/stretch/aspect="keep_height" move_left={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":113,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":13,"pressure":0.0,"pressed":false,"script":null) ] } move_right={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":14,"pressure":0.0,"pressed":false,"script":null) ] } jump={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":122,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":11,"pressure":0.0,"pressed":false,"script":null) @@ -61,8 +61,8 @@ jump={ walk={ "deadzone": 0.2, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } diff --git a/2d/sprite_shaders/project.godot b/2d/sprite_shaders/project.godot index 1001e553..3974c82f 100644 --- a/2d/sprite_shaders/project.godot +++ b/2d/sprite_shaders/project.godot @@ -15,7 +15,7 @@ config/description="This is a sample consisting of different shaders applied to Effects include outlines, blurs, distorts, shadows, glows, and more." config/tags=PackedStringArray("2d", "demo", "official", "rendering", "shaders") run/main_scene="res://sprite_shaders.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/2d/sprite_shaders/shaders/aura.gdshader.uid b/2d/sprite_shaders/shaders/aura.gdshader.uid new file mode 100644 index 00000000..dc11efc7 --- /dev/null +++ b/2d/sprite_shaders/shaders/aura.gdshader.uid @@ -0,0 +1 @@ +uid://dom421aej4xdo diff --git a/2d/sprite_shaders/shaders/blur.gdshader.uid b/2d/sprite_shaders/shaders/blur.gdshader.uid new file mode 100644 index 00000000..37ed3114 --- /dev/null +++ b/2d/sprite_shaders/shaders/blur.gdshader.uid @@ -0,0 +1 @@ +uid://cn8oqgy8gr3b7 diff --git a/2d/sprite_shaders/shaders/dissintegrate.gdshader.uid b/2d/sprite_shaders/shaders/dissintegrate.gdshader.uid new file mode 100644 index 00000000..5efa4ee7 --- /dev/null +++ b/2d/sprite_shaders/shaders/dissintegrate.gdshader.uid @@ -0,0 +1 @@ +uid://cleww1frhhgv8 diff --git a/2d/sprite_shaders/shaders/dropshadow.gdshader.uid b/2d/sprite_shaders/shaders/dropshadow.gdshader.uid new file mode 100644 index 00000000..e0501077 --- /dev/null +++ b/2d/sprite_shaders/shaders/dropshadow.gdshader.uid @@ -0,0 +1 @@ +uid://y3j3q5af28u8 diff --git a/2d/sprite_shaders/shaders/fatty.gdshader.uid b/2d/sprite_shaders/shaders/fatty.gdshader.uid new file mode 100644 index 00000000..d96add02 --- /dev/null +++ b/2d/sprite_shaders/shaders/fatty.gdshader.uid @@ -0,0 +1 @@ +uid://ba16ang4isfn2 diff --git a/2d/sprite_shaders/shaders/glow.gdshader.uid b/2d/sprite_shaders/shaders/glow.gdshader.uid new file mode 100644 index 00000000..2fd73401 --- /dev/null +++ b/2d/sprite_shaders/shaders/glow.gdshader.uid @@ -0,0 +1 @@ +uid://wo66l68yu5hk diff --git a/2d/sprite_shaders/shaders/offsetshadow.gdshader.uid b/2d/sprite_shaders/shaders/offsetshadow.gdshader.uid new file mode 100644 index 00000000..bb801c7b --- /dev/null +++ b/2d/sprite_shaders/shaders/offsetshadow.gdshader.uid @@ -0,0 +1 @@ +uid://cs62fm2x8vvus diff --git a/2d/sprite_shaders/shaders/outline.gdshader.uid b/2d/sprite_shaders/shaders/outline.gdshader.uid new file mode 100644 index 00000000..7017e6a5 --- /dev/null +++ b/2d/sprite_shaders/shaders/outline.gdshader.uid @@ -0,0 +1 @@ +uid://bbo8eq1oak7xl diff --git a/2d/sprite_shaders/shaders/silouette.gdshader.uid b/2d/sprite_shaders/shaders/silouette.gdshader.uid new file mode 100644 index 00000000..da3aea27 --- /dev/null +++ b/2d/sprite_shaders/shaders/silouette.gdshader.uid @@ -0,0 +1 @@ +uid://dih7vjstm5rih diff --git a/2d/sprite_shaders/sprite_shaders.tscn b/2d/sprite_shaders/sprite_shaders.tscn index 105d30a4..a1e09d13 100644 --- a/2d/sprite_shaders/sprite_shaders.tscn +++ b/2d/sprite_shaders/sprite_shaders.tscn @@ -1,27 +1,27 @@ [gd_scene load_steps=22 format=3 uid="uid://qutrkkh2f6j3"] -[ext_resource type="Shader" path="res://shaders/outline.gdshader" id="1"] +[ext_resource type="Shader" uid="uid://bbo8eq1oak7xl" path="res://shaders/outline.gdshader" id="1"] [ext_resource type="Texture2D" uid="uid://c3w5hecxtwqeh" path="res://godotea.png" id="2"] -[ext_resource type="Shader" path="res://shaders/aura.gdshader" id="3"] -[ext_resource type="Shader" path="res://shaders/blur.gdshader" id="4"] -[ext_resource type="Shader" path="res://shaders/fatty.gdshader" id="5"] -[ext_resource type="Shader" path="res://shaders/dropshadow.gdshader" id="6"] -[ext_resource type="Shader" path="res://shaders/offsetshadow.gdshader" id="7"] -[ext_resource type="Shader" path="res://shaders/silouette.gdshader" id="8"] -[ext_resource type="Shader" path="res://shaders/glow.gdshader" id="9"] -[ext_resource type="Shader" path="res://shaders/dissintegrate.gdshader" id="10"] +[ext_resource type="Shader" uid="uid://dom421aej4xdo" path="res://shaders/aura.gdshader" id="3"] +[ext_resource type="Shader" uid="uid://cn8oqgy8gr3b7" path="res://shaders/blur.gdshader" id="4"] +[ext_resource type="Shader" uid="uid://ba16ang4isfn2" path="res://shaders/fatty.gdshader" id="5"] +[ext_resource type="Shader" uid="uid://y3j3q5af28u8" path="res://shaders/dropshadow.gdshader" id="6"] +[ext_resource type="Shader" uid="uid://cs62fm2x8vvus" path="res://shaders/offsetshadow.gdshader" id="7"] +[ext_resource type="Shader" uid="uid://dih7vjstm5rih" path="res://shaders/silouette.gdshader" id="8"] +[ext_resource type="Shader" uid="uid://wo66l68yu5hk" path="res://shaders/glow.gdshader" id="9"] +[ext_resource type="Shader" uid="uid://cleww1frhhgv8" path="res://shaders/dissintegrate.gdshader" id="10"] [sub_resource type="ShaderMaterial" id="1"] shader = ExtResource("1") shader_parameter/outline_width = 2.0 -shader_parameter/outline_color = null +shader_parameter/outline_color = Color(0, 0, 0, 1) [sub_resource type="ShaderMaterial" id="2"] [sub_resource type="ShaderMaterial" id="3"] shader = ExtResource("1") shader_parameter/outline_width = 2.0 -shader_parameter/outline_color = null +shader_parameter/outline_color = Color(0, 0, 0, 1) [sub_resource type="ShaderMaterial" id="4"] shader = ExtResource("3") @@ -39,12 +39,12 @@ shader_parameter/fattyness = 3.0 [sub_resource type="ShaderMaterial" id="7"] shader = ExtResource("6") shader_parameter/radius = 5.0 -shader_parameter/modulate = null +shader_parameter/modulate = Color(0, 0, 0, 1) [sub_resource type="ShaderMaterial" id="8"] shader = ExtResource("7") shader_parameter/offset = Vector2(8, 8) -shader_parameter/modulate = null +shader_parameter/modulate = Color(0, 0, 0, 1) [sub_resource type="ShaderMaterial" id="9"] shader = ExtResource("8") diff --git a/2d/tween/main.gd.uid b/2d/tween/main.gd.uid new file mode 100644 index 00000000..4234747d --- /dev/null +++ b/2d/tween/main.gd.uid @@ -0,0 +1 @@ +uid://b4jutcuofd1mp diff --git a/2d/tween/main.tscn b/2d/tween/main.tscn index cdada367..4fdd3c93 100644 --- a/2d/tween/main.tscn +++ b/2d/tween/main.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=8 format=3 uid="uid://dath4f6h4tbmk"] -[ext_resource type="Script" path="res://main.gd" id="1"] +[ext_resource type="Script" uid="uid://b4jutcuofd1mp" path="res://main.gd" id="1"] [ext_resource type="Texture2D" uid="uid://bqpyg61et07pf" path="res://godot.png" id="2_tapbf"] [sub_resource type="Gradient" id="Gradient_npp8a"] diff --git a/2d/tween/project.godot b/2d/tween/project.godot index 09d1eb4b..92419f2c 100644 --- a/2d/tween/project.godot +++ b/2d/tween/project.godot @@ -14,7 +14,7 @@ config/name="Tween Demo" config/description="A demo showing advanced tween usage." config/tags=PackedStringArray("2d", "animation", "demo", "official") run/main_scene="res://main.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" target_fps=60 diff --git a/3d/antialiasing/anti_aliasing.gd.uid b/3d/antialiasing/anti_aliasing.gd.uid new file mode 100644 index 00000000..9161049a --- /dev/null +++ b/3d/antialiasing/anti_aliasing.gd.uid @@ -0,0 +1 @@ +uid://c2cf5n6btjt3k diff --git a/3d/antialiasing/anti_aliasing.tscn b/3d/antialiasing/anti_aliasing.tscn index ee0c385b..790deeef 100644 --- a/3d/antialiasing/anti_aliasing.tscn +++ b/3d/antialiasing/anti_aliasing.tscn @@ -5,7 +5,7 @@ [ext_resource type="PackedScene" uid="uid://sxx5ow26t0c3" path="res://polyhaven/dutch_ship_medium_1k.gltf" id="3_fa2bl"] [ext_resource type="Texture2D" uid="uid://bm6eht0bqttpo" path="res://textures/paint_normal.png" id="4_fdfpv"] [ext_resource type="Texture2D" uid="uid://chjqieyps5n5r" path="res://textures/checker.png" id="14"] -[ext_resource type="Script" path="res://anti_aliasing.gd" id="18"] +[ext_resource type="Script" uid="uid://c2cf5n6btjt3k" path="res://anti_aliasing.gd" id="18"] [sub_resource type="ProceduralSkyMaterial" id="9"] @@ -15,6 +15,7 @@ sky_material = SubResource("9") [sub_resource type="Environment" id="11"] background_mode = 2 sky = SubResource("10") +tonemap_mode = 4 [sub_resource type="Animation" id="Animation_qdnt6"] length = 0.001 @@ -218,8 +219,8 @@ tracks/7/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_ecfcr"] _data = { -"RESET": SubResource("Animation_qdnt6"), -"move": SubResource("12") +&"RESET": SubResource("Animation_qdnt6"), +&"move": SubResource("12") } [sub_resource type="StandardMaterial3D" id="13"] @@ -395,6 +396,7 @@ emission_ring_axis = Vector3(0, 1, 0) emission_ring_height = 0.0 emission_ring_radius = 0.25 emission_ring_inner_radius = 0.25 +emission_ring_cone_angle = 90.0 radial_accel_min = 2.0 radial_accel_max = 2.0 @@ -458,6 +460,7 @@ void fragment() { render_priority = 0 shader = SubResource("Shader_rejcs") shader_parameter/albedo = Color(1.2, 0.915333, 0.997134, 1) +shader_parameter/texture_albedo = SubResource("NoiseTexture_bgiac") shader_parameter/point_size = 1.0 shader_parameter/roughness = 1.0 shader_parameter/metallic_texture_channel = null @@ -467,7 +470,6 @@ shader_parameter/uv1_scale = Vector3(2, 2, 1) shader_parameter/uv1_offset = Vector3(0, 0, 0) shader_parameter/uv2_scale = Vector3(1, 1, 1) shader_parameter/uv2_offset = Vector3(0, 0, 0) -shader_parameter/texture_albedo = SubResource("NoiseTexture_bgiac") [sub_resource type="CylinderMesh" id="CylinderMesh_oopii"] height = 1.0 @@ -519,6 +521,7 @@ void fragment() { render_priority = 0 shader = SubResource("Shader_ovufm") shader_parameter/albedo = Color(1.2, 1.16365, 0.85123, 1) +shader_parameter/texture_albedo = SubResource("NoiseTexture_bgiac") shader_parameter/point_size = 1.0 shader_parameter/roughness = 1.0 shader_parameter/metallic_texture_channel = null @@ -528,7 +531,6 @@ shader_parameter/uv1_scale = Vector3(2, 2, 1) shader_parameter/uv1_offset = Vector3(0, 0, 0) shader_parameter/uv2_scale = Vector3(1, 1, 1) shader_parameter/uv2_offset = Vector3(0, 0, 0) -shader_parameter/texture_albedo = SubResource("NoiseTexture_bgiac") [sub_resource type="Gradient" id="Gradient_ehij4"] offsets = PackedFloat32Array(0, 0.333, 0.667, 1) @@ -540,7 +542,7 @@ script = ExtResource("18") [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { -"": SubResource("AnimationLibrary_ecfcr") +&"": SubResource("AnimationLibrary_ecfcr") } autoplay = "move" @@ -900,8 +902,8 @@ vertical_alignment = 1 [node name="MSAA" type="OptionButton" parent="Antialiasing/MSAAContainer"] custom_minimum_size = Vector2(235, 2.08165e-12) layout_mode = 2 -item_count = 4 selected = 0 +item_count = 4 popup/item_0/text = "Disabled (Fastest)" popup/item_0/id = 0 popup/item_1/text = "2× (Average)" @@ -927,8 +929,8 @@ vertical_alignment = 1 [node name="FXAA" type="OptionButton" parent="Antialiasing/FXAAContainer"] custom_minimum_size = Vector2(235, 2.08165e-12) layout_mode = 2 -item_count = 2 selected = 0 +item_count = 2 popup/item_0/text = "Disabled (Fastest)" popup/item_0/id = 0 popup/item_1/text = "Enabled (Fast)" @@ -950,8 +952,8 @@ vertical_alignment = 1 [node name="TAA" type="OptionButton" parent="Antialiasing/TAAContainer"] custom_minimum_size = Vector2(235, 2.08165e-12) layout_mode = 2 -item_count = 2 selected = 0 +item_count = 2 popup/item_0/text = "Disabled (Fastest)" popup/item_0/id = 0 popup/item_1/text = "Enabled (Average)" @@ -972,8 +974,8 @@ vertical_alignment = 1 [node name="VSync" type="OptionButton" parent="Antialiasing/VSyncContainer"] custom_minimum_size = Vector2(235, 2.08165e-12) layout_mode = 2 -item_count = 3 selected = 0 +item_count = 3 popup/item_0/text = "Disabled" popup/item_0/id = 0 popup/item_1/text = "Adaptive" @@ -1053,8 +1055,8 @@ text = "AMD FidelityFX Super Resolution 1.0" [node name="FSRSharpness" type="OptionButton" parent="Antialiasing"] visible = false layout_mode = 2 -item_count = 5 selected = 3 +item_count = 5 popup/item_0/text = "No FSR Sharpness" popup/item_0/id = 0 popup/item_1/text = "Low FSR Sharpness" diff --git a/3d/antialiasing/default_env.tres b/3d/antialiasing/default_env.tres deleted file mode 100644 index ddf6bb74..00000000 --- a/3d/antialiasing/default_env.tres +++ /dev/null @@ -1,7 +0,0 @@ -[gd_resource type="Environment" load_steps=2 format=2] - -[sub_resource type="Sky" id=1] - -[resource] -background_mode = 2 -sky = SubResource( 1 ) diff --git a/3d/antialiasing/polyhaven/dutch_ship_medium_1k.gltf.import b/3d/antialiasing/polyhaven/dutch_ship_medium_1k.gltf.import index 9de8635a..8e247975 100644 --- a/3d/antialiasing/polyhaven/dutch_ship_medium_1k.gltf.import +++ b/3d/antialiasing/polyhaven/dutch_ship_medium_1k.gltf.import @@ -17,6 +17,8 @@ nodes/root_type="Node3D" nodes/root_name="Scene Root" nodes/apply_root_scale=true nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true @@ -28,6 +30,7 @@ animation/import=true animation/fps=30 animation/trimming=false animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false import_script/path="" _subresources={} gltf/naming_version=0 diff --git a/3d/antialiasing/project.godot b/3d/antialiasing/project.godot index 679d99b1..79fb315b 100644 --- a/3d/antialiasing/project.godot +++ b/3d/antialiasing/project.godot @@ -14,7 +14,7 @@ config/name="3D Anti-Aliasing" config/description="This project showcases the various 3D antialiasing techniques supported by Godot." config/tags=PackedStringArray("3d", "demo", "official") run/main_scene="res://anti_aliasing.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/3d/csg/csg.gd.uid b/3d/csg/csg.gd.uid new file mode 100644 index 00000000..40d26244 --- /dev/null +++ b/3d/csg/csg.gd.uid @@ -0,0 +1 @@ +uid://0nw2s63fn4t4 diff --git a/3d/csg/csg.tscn b/3d/csg/csg.tscn index fc8ba689..be93da28 100644 --- a/3d/csg/csg.tscn +++ b/3d/csg/csg.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=13 format=3 uid="uid://0muc0thmv7lh"] -[ext_resource type="Script" path="res://csg.gd" id="1_v0cxj"] +[ext_resource type="Script" uid="uid://0nw2s63fn4t4" path="res://csg.gd" id="1_v0cxj"] [ext_resource type="Texture2D" uid="uid://chjqieyps5n5r" path="res://textures/checker.png" id="2_smte3"] [ext_resource type="Material" uid="uid://dhcqaj76o5gkd" path="res://blue_material.tres" id="3_5yyaq"] [ext_resource type="Material" uid="uid://drwcsdeggid6n" path="res://indigo_material.tres" id="4_dsi4m"] @@ -13,8 +13,7 @@ sky_material = SubResource("9") [sub_resource type="Environment" id="11"] background_mode = 2 sky = SubResource("10") -tonemap_mode = 2 -tonemap_white = 6.0 +tonemap_mode = 4 fog_sky_affect = 0.0 [sub_resource type="StandardMaterial3D" id="13"] diff --git a/3d/csg/project.godot b/3d/csg/project.godot index 462d8937..78157a02 100644 --- a/3d/csg/project.godot +++ b/3d/csg/project.godot @@ -15,7 +15,7 @@ config/description="This project showcases the various constructive solid geomet CSG can be used to prototype level designs within the 3D editor." config/tags=PackedStringArray("3d", "demo", "official") run/main_scene="res://csg.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" @@ -33,6 +33,6 @@ window/stretch/aspect="expand" lights_and_shadows/directional_shadow/size=8192 lights_and_shadows/directional_shadow/soft_shadow_filter_quality=3 textures/default_filters/anisotropic_filtering_level=4 -textures/decals/filter=4 anti_aliasing/quality/msaa_3d=2 +textures/decals/filter=4 anti_aliasing/quality/use_debanding=true diff --git a/3d/decals/default_env.tres b/3d/decals/default_env.tres deleted file mode 100644 index ddf6bb74..00000000 --- a/3d/decals/default_env.tres +++ /dev/null @@ -1,7 +0,0 @@ -[gd_resource type="Environment" load_steps=2 format=2] - -[sub_resource type="Sky" id=1] - -[resource] -background_mode = 2 -sky = SubResource( 1 ) diff --git a/3d/decals/project.godot b/3d/decals/project.godot index ca6bb264..dba1dac8 100644 --- a/3d/decals/project.godot +++ b/3d/decals/project.godot @@ -13,7 +13,7 @@ config_version=5 config/name="Decals" config/tags=PackedStringArray("3d", "demo", "official", "rendering") run/main_scene="res://test.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/3d/decals/test.tscn b/3d/decals/test.tscn index ff0b759c..a895c83a 100644 --- a/3d/decals/test.tscn +++ b/3d/decals/test.tscn @@ -19,7 +19,7 @@ [ext_resource type="Texture2D" uid="uid://5wewxgmcpq2t" path="res://textures/scifi_2_normal.png" id="14_yj8ff"] [ext_resource type="Texture2D" uid="uid://cyh57iw40y5pc" path="res://textures/scifi_3_albedo.png" id="15_ct5bp"] [ext_resource type="Texture2D" uid="uid://cwg21hcwtkqiw" path="res://textures/scifi_3_normal.png" id="16_0mhgx"] -[ext_resource type="Script" path="res://tester.gd" id="18"] +[ext_resource type="Script" uid="uid://bi2o4fooys1dc" path="res://tester.gd" id="18"] [sub_resource type="ProceduralSkyMaterial" id="9"] @@ -29,6 +29,7 @@ sky_material = SubResource("9") [sub_resource type="Environment" id="11"] background_mode = 2 sky = SubResource("10") +tonemap_mode = 4 [sub_resource type="Animation" id="12"] resource_name = "move" @@ -121,7 +122,7 @@ tracks/6/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_ecfcr"] _data = { -"move": SubResource("12") +&"move": SubResource("12") } [sub_resource type="StandardMaterial3D" id="13"] @@ -194,7 +195,7 @@ script = ExtResource("18") [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { -"": SubResource("AnimationLibrary_ecfcr") +&"": SubResource("AnimationLibrary_ecfcr") } autoplay = "move" @@ -755,6 +756,7 @@ layout_mode = 2 selected = 4 item_count = 6 popup/item_0/text = "Nearest" +popup/item_0/id = 0 popup/item_1/text = "Linear" popup/item_1/id = 1 popup/item_2/text = "Nearest + Mipmaps" diff --git a/3d/decals/tester.gd.uid b/3d/decals/tester.gd.uid new file mode 100644 index 00000000..ab17d34e --- /dev/null +++ b/3d/decals/tester.gd.uid @@ -0,0 +1 @@ +uid://bi2o4fooys1dc diff --git a/3d/global_illumination/camera.gd.uid b/3d/global_illumination/camera.gd.uid new file mode 100644 index 00000000..4eae698b --- /dev/null +++ b/3d/global_illumination/camera.gd.uid @@ -0,0 +1 @@ +uid://bbfpss6nqbjeu diff --git a/3d/global_illumination/cube.glb.import b/3d/global_illumination/cube.glb.import index 4389625d..8081cfc6 100644 --- a/3d/global_illumination/cube.glb.import +++ b/3d/global_illumination/cube.glb.import @@ -18,6 +18,7 @@ nodes/root_name="Scene Root" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true diff --git a/3d/global_illumination/default_env.tres b/3d/global_illumination/default_env.tres deleted file mode 100644 index cf5a12a2..00000000 --- a/3d/global_illumination/default_env.tres +++ /dev/null @@ -1,13 +0,0 @@ -[gd_resource type="Environment" load_steps=2 format=2] - -[sub_resource type="ProceduralSky" id=1] -sky_energy = 0.2 -ground_energy = 0.0 - -[resource] -background_mode = 2 -background_sky = SubResource( 1 ) -fog_sun_amount = 1.0 -fog_depth_begin = 0.0 -tonemap_mode = 2 -tonemap_white = 6.0 diff --git a/3d/global_illumination/project.godot b/3d/global_illumination/project.godot index afb79942..92a06c9b 100644 --- a/3d/global_illumination/project.godot +++ b/3d/global_illumination/project.godot @@ -14,7 +14,7 @@ config/name="Global Illumination" config/description="This demo showcases Godot's global illumination systems: LightmapGI, VoxelGI, SDFGI, ReflectionProbe and screen-space effects like SSAO and SSIL." config/tags=PackedStringArray("3d", "demo", "official", "rendering") run/main_scene="res://test.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/3d/global_illumination/test.gd.uid b/3d/global_illumination/test.gd.uid new file mode 100644 index 00000000..f809a9c3 --- /dev/null +++ b/3d/global_illumination/test.gd.uid @@ -0,0 +1 @@ +uid://b33gdc1jklq5 diff --git a/3d/global_illumination/test.tscn b/3d/global_illumination/test.tscn index 4a09f93f..9e2469c6 100644 --- a/3d/global_illumination/test.tscn +++ b/3d/global_illumination/test.tscn @@ -4,9 +4,9 @@ [ext_resource type="PackedScene" uid="uid://c2lbhsefub1o5" path="res://cube.glb" id="3"] [ext_resource type="VoxelGIData" uid="uid://duykbpl6evu0r" path="res://test_VoxelGIData.res" id="3_1netx"] [ext_resource type="LightmapGIData" uid="uid://bqpu20db0gmry" path="res://zdm2_all.lmbake" id="4_7vqwx"] -[ext_resource type="Script" path="res://test.gd" id="5"] +[ext_resource type="Script" uid="uid://b33gdc1jklq5" path="res://test.gd" id="5"] [ext_resource type="LightmapGIData" uid="uid://brs3ywo1ouol0" path="res://zdm2_indirect.lmbake" id="5_14bmd"] -[ext_resource type="Script" path="res://camera.gd" id="6"] +[ext_resource type="Script" uid="uid://bbfpss6nqbjeu" path="res://camera.gd" id="6"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_30v8t"] sky_top_color = Color(0.568627, 0.698039, 0.807843, 1) @@ -20,8 +20,7 @@ sky_material = SubResource("ProceduralSkyMaterial_30v8t") [sub_resource type="Environment" id="Environment_bau0c"] background_mode = 2 sky = SubResource("Sky_4q314") -tonemap_mode = 3 -tonemap_white = 6.0 +tonemap_mode = 4 ssao_intensity = 1.0 sdfgi_cascades = 3 sdfgi_min_cell_size = 0.25 diff --git a/3d/global_illumination/zdm2.glb.import b/3d/global_illumination/zdm2.glb.import index 1f22ba83..36f1a7eb 100644 --- a/3d/global_illumination/zdm2.glb.import +++ b/3d/global_illumination/zdm2.glb.import @@ -18,6 +18,7 @@ nodes/root_name="Zdm2" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=false meshes/create_shadow_meshes=true diff --git a/3d/graphics_settings/control.tscn b/3d/graphics_settings/control.tscn index 2f89440e..bf9d2d7b 100644 --- a/3d/graphics_settings/control.tscn +++ b/3d/graphics_settings/control.tscn @@ -6,8 +6,7 @@ [sub_resource type="Environment" id="Environment_1f0b2"] background_mode = 1 background_color = Color(0.6, 0.6, 0.6, 1) -tonemap_mode = 3 -tonemap_white = 6.0 +tonemap_mode = 4 sdfgi_cascades = 2 sdfgi_min_cell_size = 0.1 sdfgi_cascade0_distance = 6.4 diff --git a/3d/graphics_settings/polyhaven/dutch_ship_medium_1k.gltf.import b/3d/graphics_settings/polyhaven/dutch_ship_medium_1k.gltf.import index 801c45b6..8e247975 100644 --- a/3d/graphics_settings/polyhaven/dutch_ship_medium_1k.gltf.import +++ b/3d/graphics_settings/polyhaven/dutch_ship_medium_1k.gltf.import @@ -18,6 +18,7 @@ nodes/root_name="Scene Root" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true diff --git a/3d/graphics_settings/project.godot b/3d/graphics_settings/project.godot index b6f0295b..5f91cca3 100644 --- a/3d/graphics_settings/project.godot +++ b/3d/graphics_settings/project.godot @@ -13,7 +13,7 @@ config_version=5 config/name="3D Graphics Settings" config/tags=PackedStringArray("3d", "demo", "official", "rendering", "settings") run/main_scene="res://control.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [display] diff --git a/3d/graphics_settings/settings.gd.uid b/3d/graphics_settings/settings.gd.uid new file mode 100644 index 00000000..16c545b0 --- /dev/null +++ b/3d/graphics_settings/settings.gd.uid @@ -0,0 +1 @@ +uid://bbk03ocyrerm8 diff --git a/3d/ik/addons/sade/ik_fabrik.gd.uid b/3d/ik/addons/sade/ik_fabrik.gd.uid new file mode 100644 index 00000000..4b0018fb --- /dev/null +++ b/3d/ik/addons/sade/ik_fabrik.gd.uid @@ -0,0 +1 @@ +uid://cibapncyeomml diff --git a/3d/ik/addons/sade/ik_look_at.gd.uid b/3d/ik/addons/sade/ik_look_at.gd.uid new file mode 100644 index 00000000..a18183da --- /dev/null +++ b/3d/ik/addons/sade/ik_look_at.gd.uid @@ -0,0 +1 @@ +uid://tmd4ubxbhvue diff --git a/3d/ik/addons/sade/plugin_main.gd.uid b/3d/ik/addons/sade/plugin_main.gd.uid new file mode 100644 index 00000000..1658ba4e --- /dev/null +++ b/3d/ik/addons/sade/plugin_main.gd.uid @@ -0,0 +1 @@ +uid://b0xb4viyrk1s diff --git a/3d/ik/button_change_scene.gd.uid b/3d/ik/button_change_scene.gd.uid new file mode 100644 index 00000000..8f2d2682 --- /dev/null +++ b/3d/ik/button_change_scene.gd.uid @@ -0,0 +1 @@ +uid://dpsdir1qgcjff diff --git a/3d/ik/default_env.tres b/3d/ik/default_env.tres deleted file mode 100644 index 74df8206..00000000 --- a/3d/ik/default_env.tres +++ /dev/null @@ -1,17 +0,0 @@ -[gd_resource type="Environment" load_steps=2 format=2] - -[sub_resource type="Sky" id=1] - -[resource] -background_mode = 2 -background_sky = SubResource( 1 ) -ambient_light_color = Color( 1, 1, 1, 1 ) -ambient_light_sky_contribution = 0.8 -tonemap_mode = 2 -tonemap_white = 6.0 -glow_enabled = true -glow_levels/1 = true -glow_levels/2 = true -glow_levels/5 = false -glow_intensity = 0.2 -glow_blend_mode = 0 diff --git a/3d/ik/fps/example_player.gd.uid b/3d/ik/fps/example_player.gd.uid new file mode 100644 index 00000000..5f0a0879 --- /dev/null +++ b/3d/ik/fps/example_player.gd.uid @@ -0,0 +1 @@ +uid://bpf0c1q1kq4xf diff --git a/3d/ik/fps/simple_bullet.gd.uid b/3d/ik/fps/simple_bullet.gd.uid new file mode 100644 index 00000000..588c3556 --- /dev/null +++ b/3d/ik/fps/simple_bullet.gd.uid @@ -0,0 +1 @@ +uid://xw8wcff2o0p8 diff --git a/3d/ik/fps/weapon_pistol.dae.import b/3d/ik/fps/weapon_pistol.dae.import index 8afd1147..7acffad5 100644 --- a/3d/ik/fps/weapon_pistol.dae.import +++ b/3d/ik/fps/weapon_pistol.dae.import @@ -18,6 +18,7 @@ nodes/root_name="WeaponPistol" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true diff --git a/3d/ik/model/godot_battle_bot.dae.import b/3d/ik/model/godot_battle_bot.dae.import index 14330919..8038b867 100644 --- a/3d/ik/model/godot_battle_bot.dae.import +++ b/3d/ik/model/godot_battle_bot.dae.import @@ -18,6 +18,7 @@ nodes/root_name="GodotBattleBot" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true diff --git a/3d/ik/project.godot b/3d/ik/project.godot index 22a28ec1..33cca63d 100644 --- a/3d/ik/project.godot +++ b/3d/ik/project.godot @@ -16,7 +16,7 @@ implemented in Godot. It contains four scenes, showing different ways they can be used, including via SkeletonIK3D." config/tags=PackedStringArray("3d", "demo", "official") run/main_scene="res://look_at_ik.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [display] diff --git a/3d/ik/skeleton_ik_runner.gd.uid b/3d/ik/skeleton_ik_runner.gd.uid new file mode 100644 index 00000000..63d902ce --- /dev/null +++ b/3d/ik/skeleton_ik_runner.gd.uid @@ -0,0 +1 @@ +uid://fwpk0277wskk diff --git a/3d/ik/target_from_mousepos.gd.uid b/3d/ik/target_from_mousepos.gd.uid new file mode 100644 index 00000000..d3523d17 --- /dev/null +++ b/3d/ik/target_from_mousepos.gd.uid @@ -0,0 +1 @@ +uid://cwmnshpgflv3w diff --git a/3d/kinematic_character/level.tscn b/3d/kinematic_character/level.tscn index 0fe827ae..dba522d9 100644 --- a/3d/kinematic_character/level.tscn +++ b/3d/kinematic_character/level.tscn @@ -22,8 +22,7 @@ background_mode = 2 sky = SubResource("1") ambient_light_color = Color(1, 1, 1, 1) ambient_light_sky_contribution = 0.5 -tonemap_mode = 3 -tonemap_white = 6.0 +tonemap_mode = 4 glow_levels/7 = 1.0 glow_strength = 0.79 glow_bloom = 1.0 diff --git a/3d/kinematic_character/models/cube.glb.import b/3d/kinematic_character/models/cube.glb.import index 226191e8..1d38d5d2 100644 --- a/3d/kinematic_character/models/cube.glb.import +++ b/3d/kinematic_character/models/cube.glb.import @@ -18,6 +18,7 @@ nodes/root_name="Cube" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true diff --git a/3d/kinematic_character/models/mushroom.glb.import b/3d/kinematic_character/models/mushroom.glb.import index 4e49af45..3e9fbc53 100644 --- a/3d/kinematic_character/models/mushroom.glb.import +++ b/3d/kinematic_character/models/mushroom.glb.import @@ -18,6 +18,7 @@ nodes/root_name="Mushroom" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true diff --git a/3d/kinematic_character/player/cubio.gd.uid b/3d/kinematic_character/player/cubio.gd.uid new file mode 100644 index 00000000..9c15e434 --- /dev/null +++ b/3d/kinematic_character/player/cubio.gd.uid @@ -0,0 +1 @@ +uid://31pf3ace5gs2 diff --git a/3d/kinematic_character/player/follow_camera.gd.uid b/3d/kinematic_character/player/follow_camera.gd.uid new file mode 100644 index 00000000..8dd193ec --- /dev/null +++ b/3d/kinematic_character/player/follow_camera.gd.uid @@ -0,0 +1 @@ +uid://dp4h5reedxr3q diff --git a/3d/kinematic_character/project.godot b/3d/kinematic_character/project.godot index ecb06e7a..50792ce2 100644 --- a/3d/kinematic_character/project.godot +++ b/3d/kinematic_character/project.godot @@ -15,7 +15,7 @@ config/description="Kinematic character demo for 3D using a cube for the charact This is similar to the 3D platformer demo." config/tags=PackedStringArray("3d", "demo", "official", "physics") run/main_scene="res://level.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/3d/labels_and_texts/3d_labels_and_texts.gd.uid b/3d/labels_and_texts/3d_labels_and_texts.gd.uid new file mode 100644 index 00000000..9f6ecd98 --- /dev/null +++ b/3d/labels_and_texts/3d_labels_and_texts.gd.uid @@ -0,0 +1 @@ +uid://v0e1avxpe8n7 diff --git a/3d/labels_and_texts/3d_labels_and_texts.tscn b/3d/labels_and_texts/3d_labels_and_texts.tscn index 924125a3..58f340ad 100644 --- a/3d/labels_and_texts/3d_labels_and_texts.tscn +++ b/3d/labels_and_texts/3d_labels_and_texts.tscn @@ -6,10 +6,10 @@ [ext_resource type="FontFile" uid="uid://ceawygbjffpls" path="res://fonts/Xolonium-Regular-Mipmaps.ttf" id="6_ewmy5"] [ext_resource type="Texture2D" uid="uid://bpgdsvb3lfg6l" path="res://textures/textmesh_texture.png" id="7_w00di"] [ext_resource type="FontFile" uid="uid://cb35jtyk02goi" path="res://fonts/fontello-godot.woff2" id="7_wvpht"] -[ext_resource type="Shader" path="res://curvature.gdshader" id="8_2gwag"] -[ext_resource type="Script" path="res://label_3d_layout.gd" id="8_rvw0p"] +[ext_resource type="Shader" uid="uid://bdi1lue6e88s" path="res://curvature.gdshader" id="8_2gwag"] +[ext_resource type="Script" uid="uid://pi7aybdqwmdk" path="res://label_3d_layout.gd" id="8_rvw0p"] [ext_resource type="Texture2D" uid="uid://chjqieyps5n5r" path="res://textures/checker.png" id="14"] -[ext_resource type="Script" path="res://3d_labels_and_texts.gd" id="18"] +[ext_resource type="Script" uid="uid://v0e1avxpe8n7" path="res://3d_labels_and_texts.gd" id="18"] [sub_resource type="ProceduralSkyMaterial" id="9"] @@ -19,6 +19,7 @@ sky_material = SubResource("9") [sub_resource type="Environment" id="11"] background_mode = 2 sky = SubResource("10") +tonemap_mode = 4 [sub_resource type="Animation" id="Animation_qdnt6"] length = 0.001 @@ -54,8 +55,8 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_ecfcr"] _data = { -"RESET": SubResource("Animation_qdnt6"), -"move": SubResource("12") +&"RESET": SubResource("Animation_qdnt6"), +&"move": SubResource("12") } [sub_resource type="StandardMaterial3D" id="13"] @@ -141,13 +142,13 @@ shading_mode = 0 albedo_texture = ExtResource("7_w00di") texture_filter = 0 -[node name="AntiAliasingTestScene" type="WorldEnvironment"] +[node name="LabelsAndTexts" type="WorldEnvironment"] environment = SubResource("11") script = ExtResource("18") [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { -"": SubResource("AnimationLibrary_ecfcr") +&"": SubResource("AnimationLibrary_ecfcr") } autoplay = "move" diff --git a/3d/labels_and_texts/curvature.gdshader.uid b/3d/labels_and_texts/curvature.gdshader.uid new file mode 100644 index 00000000..86cb2b1f --- /dev/null +++ b/3d/labels_and_texts/curvature.gdshader.uid @@ -0,0 +1 @@ +uid://bdi1lue6e88s diff --git a/3d/labels_and_texts/default_env.tres b/3d/labels_and_texts/default_env.tres deleted file mode 100644 index ddf6bb74..00000000 --- a/3d/labels_and_texts/default_env.tres +++ /dev/null @@ -1,7 +0,0 @@ -[gd_resource type="Environment" load_steps=2 format=2] - -[sub_resource type="Sky" id=1] - -[resource] -background_mode = 2 -sky = SubResource( 1 ) diff --git a/3d/labels_and_texts/fonts/Xolonium-Regular-MSDF-Mipmaps.ttf.import b/3d/labels_and_texts/fonts/Xolonium-Regular-MSDF-Mipmaps.ttf.import index 2a66d3f6..1c650845 100644 --- a/3d/labels_and_texts/fonts/Xolonium-Regular-MSDF-Mipmaps.ttf.import +++ b/3d/labels_and_texts/fonts/Xolonium-Regular-MSDF-Mipmaps.ttf.import @@ -23,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/3d/labels_and_texts/fonts/Xolonium-Regular-MSDF.ttf.import b/3d/labels_and_texts/fonts/Xolonium-Regular-MSDF.ttf.import index c4929005..7cab368f 100644 --- a/3d/labels_and_texts/fonts/Xolonium-Regular-MSDF.ttf.import +++ b/3d/labels_and_texts/fonts/Xolonium-Regular-MSDF.ttf.import @@ -23,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/3d/labels_and_texts/fonts/Xolonium-Regular-Mipmaps.ttf.import b/3d/labels_and_texts/fonts/Xolonium-Regular-Mipmaps.ttf.import index d0106c21..e1f7cb47 100644 --- a/3d/labels_and_texts/fonts/Xolonium-Regular-Mipmaps.ttf.import +++ b/3d/labels_and_texts/fonts/Xolonium-Regular-Mipmaps.ttf.import @@ -23,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/3d/labels_and_texts/fonts/Xolonium-Regular.ttf.import b/3d/labels_and_texts/fonts/Xolonium-Regular.ttf.import index 3acb8615..545f0925 100644 --- a/3d/labels_and_texts/fonts/Xolonium-Regular.ttf.import +++ b/3d/labels_and_texts/fonts/Xolonium-Regular.ttf.import @@ -23,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/3d/labels_and_texts/fonts/fontello-godot.woff2.import b/3d/labels_and_texts/fonts/fontello-godot.woff2.import index 671c9afd..06bb08a4 100644 --- a/3d/labels_and_texts/fonts/fontello-godot.woff2.import +++ b/3d/labels_and_texts/fonts/fontello-godot.woff2.import @@ -23,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/3d/labels_and_texts/label_3d_layout.gd.uid b/3d/labels_and_texts/label_3d_layout.gd.uid new file mode 100644 index 00000000..10659a17 --- /dev/null +++ b/3d/labels_and_texts/label_3d_layout.gd.uid @@ -0,0 +1 @@ +uid://pi7aybdqwmdk diff --git a/3d/labels_and_texts/project.godot b/3d/labels_and_texts/project.godot index 71935ae2..5194a246 100644 --- a/3d/labels_and_texts/project.godot +++ b/3d/labels_and_texts/project.godot @@ -14,7 +14,7 @@ config/name="3D Labels and Texts" config/description="This project showcases 2 ways to draw text in 3D space: the Label3D node, and MeshInstance3D with a TextMesh primitive." config/tags=PackedStringArray("3d", "demo", "official", "rendering") run/main_scene="res://3d_labels_and_texts.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/3d/lights_and_shadows/day_night_cycle.gd.uid b/3d/lights_and_shadows/day_night_cycle.gd.uid new file mode 100644 index 00000000..66488303 --- /dev/null +++ b/3d/lights_and_shadows/day_night_cycle.gd.uid @@ -0,0 +1 @@ +uid://dob2lvq6f7h5y diff --git a/3d/lights_and_shadows/default_env.tres b/3d/lights_and_shadows/default_env.tres deleted file mode 100644 index ddf6bb74..00000000 --- a/3d/lights_and_shadows/default_env.tres +++ /dev/null @@ -1,7 +0,0 @@ -[gd_resource type="Environment" load_steps=2 format=2] - -[sub_resource type="Sky" id=1] - -[resource] -background_mode = 2 -sky = SubResource( 1 ) diff --git a/3d/lights_and_shadows/project.godot b/3d/lights_and_shadows/project.godot index fa1b9978..26d9f90a 100644 --- a/3d/lights_and_shadows/project.godot +++ b/3d/lights_and_shadows/project.godot @@ -17,7 +17,7 @@ This includes contact-hardening shadows (PCSS) and light projectors. The background sky uses a PhysicalSkyMaterial, which allows for the sky colors to be automatically adjusted as the sun performs a day/night cycle." config/tags=PackedStringArray("3d", "demo", "official", "rendering") run/main_scene="res://test.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -34,8 +34,8 @@ window/stretch/aspect="expand" lights_and_shadows/directional_shadow/soft_shadow_filter_quality=3 lights_and_shadows/positional_shadow/soft_shadow_filter_quality=3 textures/default_filters/anisotropic_filtering_level=4 -textures/light_projectors/filter=5 anti_aliasing/quality/msaa_3d=2 +textures/light_projectors/filter=5 anti_aliasing/quality/use_debanding=true lights_and_shadows/positional_shadow/atlas_quadrant_2_subdiv=2 lights_and_shadows/positional_shadow/atlas_quadrant_3_subdiv=2 diff --git a/3d/lights_and_shadows/spin.gd.uid b/3d/lights_and_shadows/spin.gd.uid new file mode 100644 index 00000000..c563f0ce --- /dev/null +++ b/3d/lights_and_shadows/spin.gd.uid @@ -0,0 +1 @@ +uid://de4hddw681f7y diff --git a/3d/lights_and_shadows/test.tscn b/3d/lights_and_shadows/test.tscn index e9086eab..7a852f1a 100644 --- a/3d/lights_and_shadows/test.tscn +++ b/3d/lights_and_shadows/test.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=26 format=3 uid="uid://bo5sv4e5gv8rc"] -[ext_resource type="Script" path="res://day_night_cycle.gd" id="3_qt5yq"] -[ext_resource type="Script" path="res://spin.gd" id="3_umwj4"] +[ext_resource type="Script" uid="uid://dob2lvq6f7h5y" path="res://day_night_cycle.gd" id="3_qt5yq"] +[ext_resource type="Script" uid="uid://de4hddw681f7y" path="res://spin.gd" id="3_umwj4"] [ext_resource type="Texture2D" uid="uid://dxd67gur3av1s" path="res://logo_projector.png" id="5_ink5e"] [ext_resource type="Texture2D" uid="uid://chjqieyps5n5r" path="res://checker.png" id="14"] -[ext_resource type="Script" path="res://tester.gd" id="18"] +[ext_resource type="Script" uid="uid://ddwdhnegsosxg" path="res://tester.gd" id="18"] [sub_resource type="PhysicalSkyMaterial" id="PhysicalSkyMaterial_7hpiw"] @@ -15,8 +15,7 @@ process_mode = 3 [sub_resource type="Environment" id="11"] background_mode = 2 sky = SubResource("10") -tonemap_mode = 3 -tonemap_white = 6.0 +tonemap_mode = 4 sdfgi_min_cell_size = 0.05 sdfgi_cascade0_distance = 3.2 sdfgi_max_distance = 51.2 diff --git a/3d/lights_and_shadows/tester.gd.uid b/3d/lights_and_shadows/tester.gd.uid new file mode 100644 index 00000000..95107dbc --- /dev/null +++ b/3d/lights_and_shadows/tester.gd.uid @@ -0,0 +1 @@ +uid://ddwdhnegsosxg diff --git a/3d/material_testers/material_tester.tscn b/3d/material_testers/material_tester.tscn index aafe3ba3..e7469cbf 100644 --- a/3d/material_testers/material_tester.tscn +++ b/3d/material_testers/material_tester.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=24 format=3 uid="uid://c57duuo5p7mc0"] -[ext_resource type="Script" path="res://tester.gd" id="1"] +[ext_resource type="Script" uid="uid://cqp4qxsy87pgt" path="res://tester.gd" id="1"] [ext_resource type="Texture2D" uid="uid://ddo4ecus0bal4" path="res://backgrounds/schelde.hdr" id="2_6cpkq"] [ext_resource type="PackedScene" uid="uid://cgqfdwd4g5e14" path="res://models/test_bed/test_bed.tscn" id="3"] [ext_resource type="ArrayMesh" uid="uid://btydvpp0agbfj" path="res://models/godot_ball.res" id="4_7al4s"] @@ -31,8 +31,7 @@ radiance_size = 4 [sub_resource type="Environment" id="Environment_5crof"] background_mode = 2 sky = SubResource("2") -tonemap_mode = 3 -tonemap_white = 6.0 +tonemap_mode = 4 fog_enabled = true fog_density = 0.002 fog_sky_affect = 0.0 diff --git a/3d/material_testers/models/godot_ball.glb.import b/3d/material_testers/models/godot_ball.glb.import index 9e96a8dc..03132b72 100644 --- a/3d/material_testers/models/godot_ball.glb.import +++ b/3d/material_testers/models/godot_ball.glb.import @@ -18,6 +18,7 @@ nodes/root_name="Scene Root" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=false meshes/create_shadow_meshes=true diff --git a/3d/material_testers/models/godot_ball.res b/3d/material_testers/models/godot_ball.res index 7bbc3ca4..147cd983 100644 Binary files a/3d/material_testers/models/godot_ball.res and b/3d/material_testers/models/godot_ball.res differ diff --git a/3d/material_testers/models/test_bed/test_bed.glb.import b/3d/material_testers/models/test_bed/test_bed.glb.import index b47ced95..f7e1977a 100644 --- a/3d/material_testers/models/test_bed/test_bed.glb.import +++ b/3d/material_testers/models/test_bed/test_bed.glb.import @@ -18,6 +18,7 @@ nodes/root_name="Scene Root" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true diff --git a/3d/material_testers/project.godot b/3d/material_testers/project.godot index 687df07a..54170785 100644 --- a/3d/material_testers/project.godot +++ b/3d/material_testers/project.godot @@ -17,7 +17,7 @@ for the purpose of showcasing Godot's rendering capabilities. This demo was featured at the beginning of the Godot 3.0 trailer." config/tags=PackedStringArray("3d", "demo", "official", "rendering") run/main_scene="res://material_tester.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/3d/material_testers/tester.gd.uid b/3d/material_testers/tester.gd.uid new file mode 100644 index 00000000..194c2501 --- /dev/null +++ b/3d/material_testers/tester.gd.uid @@ -0,0 +1 @@ +uid://cqp4qxsy87pgt diff --git a/3d/navigation/character.gd.uid b/3d/navigation/character.gd.uid new file mode 100644 index 00000000..d0ce2222 --- /dev/null +++ b/3d/navigation/character.gd.uid @@ -0,0 +1 @@ +uid://beeqg7f52q412 diff --git a/3d/navigation/line3d.gd.uid b/3d/navigation/line3d.gd.uid new file mode 100644 index 00000000..3c1dde65 --- /dev/null +++ b/3d/navigation/line3d.gd.uid @@ -0,0 +1 @@ +uid://jgqmqvjwn8d diff --git a/3d/navigation/models/level_mesh/level_mesh.obj.import b/3d/navigation/models/level_mesh/level_mesh.obj.import index 7ddfe694..7f312f76 100644 --- a/3d/navigation/models/level_mesh/level_mesh.obj.import +++ b/3d/navigation/models/level_mesh/level_mesh.obj.import @@ -16,7 +16,10 @@ dest_files=["res://.godot/imported/level_mesh.obj-cb581ab47676f7bdca9b8e945c2681 [params] generate_tangents=true +generate_lods=true +generate_shadow_mesh=true +generate_lightmap_uv2=false +generate_lightmap_uv2_texel_size=0.2 scale_mesh=Vector3(1, 1, 1) offset_mesh=Vector3(0, 0, 0) -optimize_mesh=true force_disable_mesh_compression=false diff --git a/3d/navigation/models/robot/robot.obj.import b/3d/navigation/models/robot/robot.obj.import index f9fab1a4..e82fe88c 100644 --- a/3d/navigation/models/robot/robot.obj.import +++ b/3d/navigation/models/robot/robot.obj.import @@ -16,7 +16,10 @@ dest_files=["res://.godot/imported/robot.obj-092b89606c0253fbce9c8b1d2c112784.me [params] generate_tangents=true +generate_lods=true +generate_shadow_mesh=true +generate_lightmap_uv2=false +generate_lightmap_uv2_texel_size=0.2 scale_mesh=Vector3(1, 1, 1) offset_mesh=Vector3(0, 0, 0) -optimize_mesh=true force_disable_mesh_compression=false diff --git a/3d/navigation/navmesh.gd.uid b/3d/navigation/navmesh.gd.uid new file mode 100644 index 00000000..bfd56638 --- /dev/null +++ b/3d/navigation/navmesh.gd.uid @@ -0,0 +1 @@ +uid://cvvjdscam27wn diff --git a/3d/navigation/navmesh.tscn b/3d/navigation/navmesh.tscn index c16914c1..8a744f42 100644 --- a/3d/navigation/navmesh.tscn +++ b/3d/navigation/navmesh.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=10 format=3 uid="uid://dkhg8e00d02f2"] -[ext_resource type="Script" path="res://navmesh.gd" id="1"] +[ext_resource type="Script" uid="uid://cvvjdscam27wn" path="res://navmesh.gd" id="1"] [ext_resource type="NavigationMesh" uid="uid://ii7ckx3dvrs2" path="res://navmesh.res" id="2_lcfvj"] [ext_resource type="ArrayMesh" uid="uid://c2d3qxdexm53n" path="res://models/level_mesh/level_mesh.obj" id="3_bu7c5"] -[ext_resource type="Script" path="res://character.gd" id="4_u7d3d"] +[ext_resource type="Script" uid="uid://beeqg7f52q412" path="res://character.gd" id="4_u7d3d"] [ext_resource type="ArrayMesh" uid="uid://wuj3rp35gym1" path="res://models/robot/robot.obj" id="5_17f0w"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_ps07l"] @@ -16,8 +16,7 @@ sky_material = SubResource("ProceduralSkyMaterial_ps07l") [sub_resource type="Environment" id="Environment_c0if4"] background_mode = 2 sky = SubResource("Sky_baxfs") -tonemap_mode = 3 -tonemap_white = 6.0 +tonemap_mode = 4 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2y26t"] albedo_color = Color(1.01075e-06, 0, 0.451248, 1) diff --git a/3d/navigation/project.godot b/3d/navigation/project.godot index fdbe4789..0a140a21 100644 --- a/3d/navigation/project.godot +++ b/3d/navigation/project.godot @@ -17,7 +17,7 @@ The navigation path is drawn using a line. Code is provided for polyline following in 3D." config/tags=PackedStringArray("3d", "ai", "demo", "official") run/main_scene="res://navmesh.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/3d/navigation_mesh_chunks/navmesh_chhunks_demo_3d.gd.uid b/3d/navigation_mesh_chunks/navmesh_chhunks_demo_3d.gd.uid new file mode 100644 index 00000000..a1031f6a --- /dev/null +++ b/3d/navigation_mesh_chunks/navmesh_chhunks_demo_3d.gd.uid @@ -0,0 +1 @@ +uid://ctnbg0gjol208 diff --git a/3d/navigation_mesh_chunks/navmesh_chhunks_demo_3d.tscn b/3d/navigation_mesh_chunks/navmesh_chhunks_demo_3d.tscn index 94b73390..d10b1f41 100644 --- a/3d/navigation_mesh_chunks/navmesh_chhunks_demo_3d.tscn +++ b/3d/navigation_mesh_chunks/navmesh_chhunks_demo_3d.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=11 format=3 uid="uid://cir4dtbp7i1ky"] -[ext_resource type="Script" path="res://navmesh_chhunks_demo_3d.gd" id="1_027f2"] +[ext_resource type="Script" uid="uid://ctnbg0gjol208" path="res://navmesh_chhunks_demo_3d.gd" id="1_027f2"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_p73ky"] sky_horizon_color = Color(0.64625, 0.65575, 0.67075, 1) @@ -12,7 +12,7 @@ sky_material = SubResource("ProceduralSkyMaterial_p73ky") [sub_resource type="Environment" id="Environment_ccmns"] background_mode = 2 sky = SubResource("Sky_k64yg") -tonemap_mode = 2 +tonemap_mode = 4 glow_enabled = true [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8p3iq"] diff --git a/3d/navigation_mesh_chunks/project.godot b/3d/navigation_mesh_chunks/project.godot index 458a8e2f..ad75ddce 100644 --- a/3d/navigation_mesh_chunks/project.godot +++ b/3d/navigation_mesh_chunks/project.godot @@ -13,7 +13,7 @@ config_version=5 config/name="Navigation Mesh Chunks 3D" config/tags=PackedStringArray("3d", "ai", "demo", "official") run/main_scene="res://navmesh_chhunks_demo_3d.tscn" -config/features=PackedStringArray("4.3", "GL Compatibility") +config/features=PackedStringArray("4.4", "GL Compatibility") config/icon="res://icon.webp" [rendering] diff --git a/3d/occlusion_culling_mesh_lod/camera.gd.uid b/3d/occlusion_culling_mesh_lod/camera.gd.uid new file mode 100644 index 00000000..386d4bf9 --- /dev/null +++ b/3d/occlusion_culling_mesh_lod/camera.gd.uid @@ -0,0 +1 @@ +uid://bvm23pul5m156 diff --git a/3d/occlusion_culling_mesh_lod/door.gd.uid b/3d/occlusion_culling_mesh_lod/door.gd.uid new file mode 100644 index 00000000..d0dfbbc5 --- /dev/null +++ b/3d/occlusion_culling_mesh_lod/door.gd.uid @@ -0,0 +1 @@ +uid://dsl7ogru2qvj6 diff --git a/3d/occlusion_culling_mesh_lod/door.tscn b/3d/occlusion_culling_mesh_lod/door.tscn index f42d56df..bfdd6eac 100644 --- a/3d/occlusion_culling_mesh_lod/door.tscn +++ b/3d/occlusion_culling_mesh_lod/door.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=9 format=3 uid="uid://b72b3llm3ks25"] -[ext_resource type="Script" path="res://door.gd" id="1_cd56o"] +[ext_resource type="Script" uid="uid://dsl7ogru2qvj6" path="res://door.gd" id="1_cd56o"] [sub_resource type="BoxMesh" id="BoxMesh_uwx0y"] size = Vector3(0.05, 3.25, 2.5) @@ -45,8 +45,8 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_5gp0p"] _data = { -"RESET": SubResource("Animation_4cjd4"), -"open": SubResource("Animation_6r4px") +&"RESET": SubResource("Animation_4cjd4"), +&"open": SubResource("Animation_6r4px") } [node name="Door" type="Node3D"] diff --git a/3d/occlusion_culling_mesh_lod/node_3d.gd.uid b/3d/occlusion_culling_mesh_lod/node_3d.gd.uid new file mode 100644 index 00000000..633d9400 --- /dev/null +++ b/3d/occlusion_culling_mesh_lod/node_3d.gd.uid @@ -0,0 +1 @@ +uid://bpnpab3ttyv8n diff --git a/3d/occlusion_culling_mesh_lod/node_3d.tscn b/3d/occlusion_culling_mesh_lod/node_3d.tscn index c361cc7f..278c0396 100644 --- a/3d/occlusion_culling_mesh_lod/node_3d.tscn +++ b/3d/occlusion_culling_mesh_lod/node_3d.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=13 format=3 uid="uid://dp872nvjdbsc2"] [ext_resource type="ArrayOccluder3D" uid="uid://cop123efet6j2" path="res://node_3d.occ" id="1_clbmh"] -[ext_resource type="Script" path="res://node_3d.gd" id="1_x3hdm"] -[ext_resource type="Script" path="res://camera.gd" id="2_6krsy"] +[ext_resource type="Script" uid="uid://bpnpab3ttyv8n" path="res://node_3d.gd" id="1_x3hdm"] +[ext_resource type="Script" uid="uid://bvm23pul5m156" path="res://camera.gd" id="2_6krsy"] [ext_resource type="PackedScene" uid="uid://ck4wa4vxhhk1v" path="res://room.glb" id="2_fu476"] [ext_resource type="PackedScene" uid="uid://b72b3llm3ks25" path="res://door.tscn" id="5_cprsk"] @@ -15,8 +15,7 @@ sky_material = SubResource("PhysicalSkyMaterial_gmnym") [sub_resource type="Environment" id="Environment_inqbi"] background_mode = 2 sky = SubResource("Sky_85e0t") -tonemap_mode = 3 -tonemap_white = 6.0 +tonemap_mode = 4 fog_enabled = true [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_bunpn"] diff --git a/3d/occlusion_culling_mesh_lod/project.godot b/3d/occlusion_culling_mesh_lod/project.godot index c3ad1ac5..b4687504 100644 --- a/3d/occlusion_culling_mesh_lod/project.godot +++ b/3d/occlusion_culling_mesh_lod/project.godot @@ -14,7 +14,7 @@ config/name="Occlusion Culling and Mesh LOD" config/description="This demo showcases the use of occlusion culling and mesh level of detail in a 3D scene." config/tags=PackedStringArray("3d", "demo", "official", "performance", "rendering") run/main_scene="res://node_3d.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/3d/occlusion_culling_mesh_lod/room.glb.import b/3d/occlusion_culling_mesh_lod/room.glb.import index f8e8abfb..7e3a0f82 100644 --- a/3d/occlusion_culling_mesh_lod/room.glb.import +++ b/3d/occlusion_culling_mesh_lod/room.glb.import @@ -18,6 +18,7 @@ nodes/root_name="Scene Root" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true diff --git a/3d/particles/default_env.tres b/3d/particles/default_env.tres deleted file mode 100644 index ddf6bb74..00000000 --- a/3d/particles/default_env.tres +++ /dev/null @@ -1,7 +0,0 @@ -[gd_resource type="Environment" load_steps=2 format=2] - -[sub_resource type="Sky" id=1] - -[resource] -background_mode = 2 -sky = SubResource( 1 ) diff --git a/3d/particles/project.godot b/3d/particles/project.godot index cc1bb460..aa8926b5 100644 --- a/3d/particles/project.godot +++ b/3d/particles/project.godot @@ -14,7 +14,7 @@ config/name="3D Particles" config/description="This project showcases various 3D particle features supported by Godot, for both GPU-based and CPU-based particles." config/tags=PackedStringArray("3d", "demo", "official", "rendering") run/main_scene="res://test.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/3d/particles/test.tscn b/3d/particles/test.tscn index 0d04054e..79b00256 100644 --- a/3d/particles/test.tscn +++ b/3d/particles/test.tscn @@ -3,7 +3,7 @@ [ext_resource type="Texture2D" uid="uid://ddp8ek6rswwmc" path="res://kenney/smoke_05.png" id="3_pmhp8"] [ext_resource type="CompressedTexture3D" uid="uid://dgnb433rl8hr1" path="res://test.GPUParticlesCollisionSDF3D_data.exr" id="4_wcrow"] [ext_resource type="Texture2D" uid="uid://chjqieyps5n5r" path="res://checker.png" id="14"] -[ext_resource type="Script" path="res://tester.gd" id="18"] +[ext_resource type="Script" uid="uid://bfxtcmm7r6i6p" path="res://tester.gd" id="18"] [sub_resource type="ProceduralSkyMaterial" id="9"] @@ -13,6 +13,7 @@ sky_material = SubResource("9") [sub_resource type="Environment" id="11"] background_mode = 2 sky = SubResource("10") +tonemap_mode = 4 [sub_resource type="Animation" id="Animation_qdnt6"] length = 0.001 @@ -168,8 +169,8 @@ tracks/5/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_ecfcr"] _data = { -"RESET": SubResource("Animation_qdnt6"), -"move": SubResource("12") +&"RESET": SubResource("Animation_qdnt6"), +&"move": SubResource("12") } [sub_resource type="StandardMaterial3D" id="13"] @@ -413,6 +414,7 @@ emission_ring_axis = Vector3(0, 1, 0) emission_ring_height = 0.0 emission_ring_radius = 0.25 emission_ring_inner_radius = 0.25 +emission_ring_cone_angle = 90.0 radial_accel_min = 2.0 radial_accel_max = 2.0 collision_mode = 1 @@ -444,6 +446,7 @@ emission_ring_axis = Vector3(0, 1, 0) emission_ring_height = 0.0 emission_ring_radius = 1.6 emission_ring_inner_radius = 0.0 +emission_ring_cone_angle = 90.0 gravity = Vector3(0, 1, 0) color = Color(1, 1, 1, 0.25098) color_ramp = SubResource("GradientTexture1D_bewgf") @@ -646,7 +649,7 @@ script = ExtResource("18") [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { -"": SubResource("AnimationLibrary_ecfcr") +&"": SubResource("AnimationLibrary_ecfcr") } autoplay = "move" diff --git a/3d/particles/tester.gd.uid b/3d/particles/tester.gd.uid new file mode 100644 index 00000000..12fb9f4a --- /dev/null +++ b/3d/particles/tester.gd.uid @@ -0,0 +1 @@ +uid://bfxtcmm7r6i6p diff --git a/3d/physical_light_camera_units/living_room.glb.import b/3d/physical_light_camera_units/living_room.glb.import index 30248e99..c29d2960 100644 --- a/3d/physical_light_camera_units/living_room.glb.import +++ b/3d/physical_light_camera_units/living_room.glb.import @@ -18,6 +18,7 @@ nodes/root_name="Scene Root" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=false meshes/create_shadow_meshes=true diff --git a/3d/physical_light_camera_units/options.gd.uid b/3d/physical_light_camera_units/options.gd.uid new file mode 100644 index 00000000..5ee1eb6d --- /dev/null +++ b/3d/physical_light_camera_units/options.gd.uid @@ -0,0 +1 @@ +uid://8ioamb610wua diff --git a/3d/physical_light_camera_units/project.godot b/3d/physical_light_camera_units/project.godot index 75d75dae..04792cbc 100644 --- a/3d/physical_light_camera_units/project.godot +++ b/3d/physical_light_camera_units/project.godot @@ -16,7 +16,7 @@ This allows you to use real world units for lights (lumen, lux, Kelvin) and cameras (shutter speed, aperture, ISO sensitivity)." config/tags=PackedStringArray("3d", "demo", "official", "rendering") run/main_scene="res://test.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -38,6 +38,6 @@ lights_and_shadows/use_physical_light_units=true lights_and_shadows/directional_shadow/size=8192 lights_and_shadows/directional_shadow/soft_shadow_filter_quality=3 lights_and_shadows/positional_shadow/soft_shadow_filter_quality=3 -global_illumination/sdfgi/probe_ray_count=5 anti_aliasing/quality/msaa_3d=2 +global_illumination/sdfgi/probe_ray_count=5 anti_aliasing/quality/use_debanding=true diff --git a/3d/physical_light_camera_units/test.tscn b/3d/physical_light_camera_units/test.tscn index cde31c4e..a7ae1bf1 100644 --- a/3d/physical_light_camera_units/test.tscn +++ b/3d/physical_light_camera_units/test.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=8 format=3 uid="uid://c2wwh47i8o462"] [ext_resource type="PackedScene" uid="uid://doh0vqn8wpfky" path="res://living_room.glb" id="1_oncn7"] -[ext_resource type="Script" path="res://options.gd" id="2_hjhvo"] +[ext_resource type="Script" uid="uid://8ioamb610wua" path="res://options.gd" id="2_hjhvo"] [sub_resource type="PhysicalSkyMaterial" id="PhysicalSkyMaterial_6cd1w"] use_debanding = false @@ -12,8 +12,7 @@ sky_material = SubResource("PhysicalSkyMaterial_6cd1w") [sub_resource type="Environment" id="Environment_3p42x"] background_mode = 2 sky = SubResource("Sky_i7d6m") -tonemap_mode = 3 -tonemap_white = 6.0 +tonemap_mode = 4 sdfgi_use_occlusion = true sdfgi_cascades = 2 sdfgi_min_cell_size = 0.15 diff --git a/3d/physics_tests/main.tscn b/3d/physics_tests/main.tscn index d7de5575..91618e69 100644 --- a/3d/physics_tests/main.tscn +++ b/3d/physics_tests/main.tscn @@ -1,14 +1,14 @@ [gd_scene load_steps=11 format=3 uid="uid://pfb5u7r1hl8t"] -[ext_resource type="Script" path="res://utils/label_fps.gd" id="1"] -[ext_resource type="Script" path="res://utils/label_version.gd" id="2"] -[ext_resource type="Script" path="res://utils/label_engine.gd" id="3"] -[ext_resource type="Script" path="res://tests_menu.gd" id="4"] -[ext_resource type="Script" path="res://utils/label_test.gd" id="5"] -[ext_resource type="Script" path="res://utils/label_pause.gd" id="6"] -[ext_resource type="Script" path="res://utils/container_log.gd" id="10"] -[ext_resource type="Script" path="res://utils/scroll_log.gd" id="11"] -[ext_resource type="Script" path="res://tests.gd" id="12"] +[ext_resource type="Script" uid="uid://34ftr8y77xc0" path="res://utils/label_fps.gd" id="1"] +[ext_resource type="Script" uid="uid://bai0htaaejvop" path="res://utils/label_version.gd" id="2"] +[ext_resource type="Script" uid="uid://do0udxc585k84" path="res://utils/label_engine.gd" id="3"] +[ext_resource type="Script" uid="uid://dd0fbi0qttuuw" path="res://tests_menu.gd" id="4"] +[ext_resource type="Script" uid="uid://bkvmvpx2kl536" path="res://utils/label_test.gd" id="5"] +[ext_resource type="Script" uid="uid://bsrr8ude7isvn" path="res://utils/label_pause.gd" id="6"] +[ext_resource type="Script" uid="uid://eleg6e366qxd" path="res://utils/container_log.gd" id="10"] +[ext_resource type="Script" uid="uid://pagh264d7unt" path="res://utils/scroll_log.gd" id="11"] +[ext_resource type="Script" uid="uid://sjyvya2tmvni" path="res://tests.gd" id="12"] [sub_resource type="StyleBoxFlat" id="1"] bg_color = Color(0, 0, 0, 0.176471) diff --git a/3d/physics_tests/project.godot b/3d/physics_tests/project.godot index 6c31aa91..7c9d31c5 100644 --- a/3d/physics_tests/project.godot +++ b/3d/physics_tests/project.godot @@ -13,7 +13,7 @@ config_version=5 config/name="3D Physics Tests" config/tags=PackedStringArray("3d", "demo", "official", "physics") run/main_scene="res://main.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [autoload] diff --git a/3d/physics_tests/test.gd.uid b/3d/physics_tests/test.gd.uid new file mode 100644 index 00000000..c14d1012 --- /dev/null +++ b/3d/physics_tests/test.gd.uid @@ -0,0 +1 @@ +uid://cu0nmknf22ua2 diff --git a/3d/physics_tests/tests.gd.uid b/3d/physics_tests/tests.gd.uid new file mode 100644 index 00000000..a9344c3e --- /dev/null +++ b/3d/physics_tests/tests.gd.uid @@ -0,0 +1 @@ +uid://sjyvya2tmvni diff --git a/3d/physics_tests/tests/functional/test_collision_pairs.gd.uid b/3d/physics_tests/tests/functional/test_collision_pairs.gd.uid new file mode 100644 index 00000000..34278bc9 --- /dev/null +++ b/3d/physics_tests/tests/functional/test_collision_pairs.gd.uid @@ -0,0 +1 @@ +uid://bo8r6pye3q4ki diff --git a/3d/physics_tests/tests/functional/test_collision_pairs.tscn b/3d/physics_tests/tests/functional/test_collision_pairs.tscn index 83c33609..067ef9c4 100644 --- a/3d/physics_tests/tests/functional/test_collision_pairs.tscn +++ b/3d/physics_tests/tests/functional/test_collision_pairs.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=10 format=3 uid="uid://wy4qr8euxk27"] [ext_resource type="Shape3D" path="res://assets/robot_head/godot3_robot_head_collision.tres" id="1"] -[ext_resource type="Script" path="res://tests/functional/test_collision_pairs.gd" id="2"] -[ext_resource type="Script" path="res://utils/camera_orbit.gd" id="4"] +[ext_resource type="Script" uid="uid://bo8r6pye3q4ki" path="res://tests/functional/test_collision_pairs.gd" id="2"] +[ext_resource type="Script" uid="uid://cx8vo58lobtgu" path="res://utils/camera_orbit.gd" id="4"] [ext_resource type="PackedScene" uid="uid://b1ihqm3x8jru" path="res://tests/test_options.tscn" id="5"] [sub_resource type="BoxShape3D" id="1"] diff --git a/3d/physics_tests/tests/functional/test_compound_shapes.tscn b/3d/physics_tests/tests/functional/test_compound_shapes.tscn index 1facee2b..30061035 100644 --- a/3d/physics_tests/tests/functional/test_compound_shapes.tscn +++ b/3d/physics_tests/tests/functional/test_compound_shapes.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=6 format=3 uid="uid://b15gg5je5qdu4"] [ext_resource type="PackedScene" uid="uid://cl2vpuxqgnylc" path="res://tests/static_scene.tscn" id="1"] -[ext_resource type="Script" path="res://test.gd" id="2"] -[ext_resource type="Script" path="res://utils/camera_orbit.gd" id="3"] +[ext_resource type="Script" uid="uid://cu0nmknf22ua2" path="res://test.gd" id="2"] +[ext_resource type="Script" uid="uid://cx8vo58lobtgu" path="res://utils/camera_orbit.gd" id="3"] [sub_resource type="BoxShape3D" id="1"] @@ -10,7 +10,7 @@ radius = 0.2 [node name="Test" type="Node3D"] -script = ExtResource( "2" ) +script = ExtResource("2") [node name="DynamicShapes" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 9.35591, 0) @@ -20,115 +20,115 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.51361, 0, 0) [node name="CollisionShape1" type="CollisionShape3D" parent="DynamicShapes/RigidBodyG"] transform = Transform3D(-2.44381e-07, -0.3, 0, 1.5, -4.88762e-08, 0, 0, 0, 0.3, -0.8, 0, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="CollisionShape2" type="CollisionShape3D" parent="DynamicShapes/RigidBodyG"] transform = Transform3D(0.8, 0, 4.26326e-15, 0, 0.3, 0, -1.13687e-14, 0, 0.3, 0.3, -1.2, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="CollisionShape3" type="CollisionShape3D" parent="DynamicShapes/RigidBodyG"] transform = Transform3D(-8.14603e-08, -0.3, 0, 0.5, -4.88762e-08, 0, 0, 0, 0.3, 0.8, -0.5, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="CollisionShape4" type="CollisionShape3D" parent="DynamicShapes/RigidBodyG"] transform = Transform3D(0.8, 0, 4.26326e-15, 0, 0.3, 0, -1.13687e-14, 0, 0.3, 0.3, 1.2, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="RigidBodyO" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.65654, 0, 0) [node name="CollisionShape1" type="CollisionShape3D" parent="DynamicShapes/RigidBodyO"] transform = Transform3D(-2.44381e-07, -0.3, 0, 1.5, -4.88762e-08, 0, 0, 0, 0.3, -0.8, 0, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="CollisionShape2" type="CollisionShape3D" parent="DynamicShapes/RigidBodyO"] transform = Transform3D(0.5, 0, 4.26326e-15, 0, 0.3, 0, -7.10543e-15, 0, 0.3, 0, 1.2, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="CollisionShape3" type="CollisionShape3D" parent="DynamicShapes/RigidBodyO"] transform = Transform3D(0.5, 0, 4.26326e-15, 0, 0.3, 0, -7.10543e-15, 0, 0.3, 0, -1.2, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="CollisionShape4" type="CollisionShape3D" parent="DynamicShapes/RigidBodyO"] transform = Transform3D(-2.44381e-07, -0.3, 0, 1.5, -4.88762e-08, 0, 0, 0, 0.3, 0.8, 0, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="RigidBodyD" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.248918, 0, 0) [node name="CollisionShape1" type="CollisionShape3D" parent="DynamicShapes/RigidBodyD"] transform = Transform3D(-2.44381e-07, -0.3, 0, 1.5, -4.88762e-08, 0, 0, 0, 0.3, -0.8, 0, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="CollisionShape2" type="CollisionShape3D" parent="DynamicShapes/RigidBodyD"] transform = Transform3D(0.5, 0, 4.26326e-15, 0, 0.3, 0, -7.10543e-15, 0, 0.3, 0, 1.2, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="CollisionShape3" type="CollisionShape3D" parent="DynamicShapes/RigidBodyD"] transform = Transform3D(0.5, 0, 4.26326e-15, 0, 0.3, 0, -7.10543e-15, 0, 0.3, 0, -1.2, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="CollisionShape4" type="CollisionShape3D" parent="DynamicShapes/RigidBodyD"] transform = Transform3D(-1.46629e-07, -0.3, 0, 0.9, -4.88762e-08, 0, 0, 0, 0.3, 0.8, 0, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="RigidBodyO2" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.97932, 0, 0) [node name="CollisionShape1" type="CollisionShape3D" parent="DynamicShapes/RigidBodyO2"] transform = Transform3D(-2.44381e-07, -0.3, 0, 1.5, -4.88762e-08, 0, 0, 0, 0.3, -0.8, 0, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="CollisionShape2" type="CollisionShape3D" parent="DynamicShapes/RigidBodyO2"] transform = Transform3D(0.5, 0, 4.26326e-15, 0, 0.3, 0, -7.10543e-15, 0, 0.3, 0, 1.2, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="CollisionShape3" type="CollisionShape3D" parent="DynamicShapes/RigidBodyO2"] transform = Transform3D(0.5, 0, 4.26326e-15, 0, 0.3, 0, -7.10543e-15, 0, 0.3, 0, -1.2, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="CollisionShape4" type="CollisionShape3D" parent="DynamicShapes/RigidBodyO2"] transform = Transform3D(-2.44381e-07, -0.3, 0, 1.5, -4.88762e-08, 0, 0, 0, 0.3, 0.8, 0, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="RigidBodyT" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.46836, 0, 0) [node name="CollisionShape1" type="CollisionShape3D" parent="DynamicShapes/RigidBodyT"] transform = Transform3D(-1.95505e-07, -0.3, 0, 1.2, -4.88762e-08, 0, 0, 0, 0.3, 0, -0.3, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="CollisionShape2" type="CollisionShape3D" parent="DynamicShapes/RigidBodyT"] transform = Transform3D(1, 0, 4.26326e-15, 0, 0.3, 0, -1.42109e-14, 0, 0.3, 0, 1.2, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="StaticBodyPins" type="StaticBody3D" parent="."] [node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyPins"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 9.13207, 0) -shape = SubResource( "2" ) +shape = SubResource("2") [node name="CollisionShape2" type="CollisionShape3D" parent="StaticBodyPins"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -2.71742, 9.13207, 0) -shape = SubResource( "2" ) +shape = SubResource("2") [node name="CollisionShape3" type="CollisionShape3D" parent="StaticBodyPins"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -5.64188, 9.13207, 0) -shape = SubResource( "2" ) +shape = SubResource("2") [node name="CollisionShape4" type="CollisionShape3D" parent="StaticBodyPins"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 2.87444, 9.13207, 0) -shape = SubResource( "2" ) +shape = SubResource("2") [node name="CollisionShape5" type="CollisionShape3D" parent="StaticBodyPins"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 4.81639, 9.13207, 0) -shape = SubResource( "2" ) +shape = SubResource("2") -[node name="StaticScene" parent="." instance=ExtResource( "1" )] +[node name="StaticScene" parent="." instance=ExtResource("1")] [node name="Camera3D" type="Camera3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.53602, 22.1236) -script = ExtResource( "3" ) +script = ExtResource("3") [node name="OmniLight" type="OmniLight3D" parent="Camera3D"] omni_range = 50.0 diff --git a/3d/physics_tests/tests/functional/test_friction.tscn b/3d/physics_tests/tests/functional/test_friction.tscn index a875063f..a7dbafee 100644 --- a/3d/physics_tests/tests/functional/test_friction.tscn +++ b/3d/physics_tests/tests/functional/test_friction.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=10 format=3 uid="uid://d1j6kxs3plvry"] -[ext_resource type="Script" path="res://test.gd" id="1"] -[ext_resource type="Script" path="res://utils/control3d.gd" id="2"] +[ext_resource type="Script" uid="uid://cu0nmknf22ua2" path="res://test.gd" id="1"] +[ext_resource type="Script" uid="uid://k4cta5vagong" path="res://utils/control3d.gd" id="2"] [sub_resource type="PhysicsMaterial" id="1"] friction = 0.0 @@ -22,31 +22,31 @@ friction = 0.5 [sub_resource type="PhysicsMaterial" id="7"] [node name="Test" type="Node3D"] -script = ExtResource( "1" ) +script = ExtResource("1") [node name="StaticBodyFriction0" type="StaticBody3D" parent="."] transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, -6, 8.581, 0) -physics_material_override = SubResource( "1" ) +physics_material_override = SubResource("1") [node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyFriction0"] transform = Transform3D(5, 0, 0, 0, 1, 0, 0, 0, 50, 0, 0, 0) -shape = SubResource( "2" ) +shape = SubResource("2") [node name="RigidBodies" type="Node3D" parent="StaticBodyFriction0"] transform = Transform3D(1, 0, 0, 0, 0.866026, 0.5, 0, -0.5, 0.866026, -3, -7.431, 4.291) [node name="RigidBodyFriction0" type="RigidDynamicBody3D" parent="StaticBodyFriction0/RigidBodies"] transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, 0, 10, 0) -physics_material_override = SubResource( "3" ) +physics_material_override = SubResource("3") [node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyFriction0/RigidBodies/RigidBodyFriction0"] -shape = SubResource( "4" ) +shape = SubResource("4") [node name="LabelFriction" type="Label" parent="StaticBodyFriction0/RigidBodies/RigidBodyFriction0"] offset_right = 40.0 offset_bottom = 14.0 text = "0" -script = ExtResource( "2" ) +script = ExtResource("2") __meta__ = { "_edit_use_anchors_": false } @@ -54,16 +54,16 @@ world_offset = Vector3(0, 1.5, 0) [node name="RigidBodyFriction05" type="RigidDynamicBody3D" parent="StaticBodyFriction0/RigidBodies"] transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, 3, 10, 0) -physics_material_override = SubResource( "5" ) +physics_material_override = SubResource("5") [node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyFriction0/RigidBodies/RigidBodyFriction05"] -shape = SubResource( "4" ) +shape = SubResource("4") [node name="LabelFriction" type="Label" parent="StaticBodyFriction0/RigidBodies/RigidBodyFriction05"] offset_right = 40.0 offset_bottom = 14.0 text = "0.5" -script = ExtResource( "2" ) +script = ExtResource("2") __meta__ = { "_edit_use_anchors_": false } @@ -71,16 +71,16 @@ world_offset = Vector3(0, 1.5, 0) [node name="RigidBodyFriction1" type="RigidDynamicBody3D" parent="StaticBodyFriction0/RigidBodies"] transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, 6, 10, 0) -physics_material_override = SubResource( "6" ) +physics_material_override = SubResource("6") [node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyFriction0/RigidBodies/RigidBodyFriction1"] -shape = SubResource( "4" ) +shape = SubResource("4") [node name="LabelFriction" type="Label" parent="StaticBodyFriction0/RigidBodies/RigidBodyFriction1"] offset_right = 40.0 offset_bottom = 14.0 text = "1" -script = ExtResource( "2" ) +script = ExtResource("2") __meta__ = { "_edit_use_anchors_": false } @@ -88,27 +88,27 @@ world_offset = Vector3(0, 1.5, 0) [node name="StaticBodyFriction1" type="StaticBody3D" parent="."] transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, 6, 8.581, 0) -physics_material_override = SubResource( "7" ) +physics_material_override = SubResource("7") [node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyFriction1"] transform = Transform3D(5, 0, 0, 0, 1, 0, 0, 0, 50, 0, 0, 0) -shape = SubResource( "2" ) +shape = SubResource("2") [node name="RigidBodies" type="Node3D" parent="StaticBodyFriction1"] transform = Transform3D(1, 0, 0, 0, 0.866026, 0.5, 0, -0.5, 0.866026, -3, -7.431, 4.291) [node name="RigidBodyFriction0" type="RigidDynamicBody3D" parent="StaticBodyFriction1/RigidBodies"] transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, 0, 10, 0) -physics_material_override = SubResource( "3" ) +physics_material_override = SubResource("3") [node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyFriction1/RigidBodies/RigidBodyFriction0"] -shape = SubResource( "4" ) +shape = SubResource("4") [node name="LabelFriction" type="Label" parent="StaticBodyFriction1/RigidBodies/RigidBodyFriction0"] offset_right = 40.0 offset_bottom = 14.0 text = "0" -script = ExtResource( "2" ) +script = ExtResource("2") __meta__ = { "_edit_use_anchors_": false } @@ -116,16 +116,16 @@ world_offset = Vector3(0, 1.5, 0) [node name="RigidBodyFriction05" type="RigidDynamicBody3D" parent="StaticBodyFriction1/RigidBodies"] transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, 3, 10, 0) -physics_material_override = SubResource( "5" ) +physics_material_override = SubResource("5") [node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyFriction1/RigidBodies/RigidBodyFriction05"] -shape = SubResource( "4" ) +shape = SubResource("4") [node name="LabelFriction" type="Label" parent="StaticBodyFriction1/RigidBodies/RigidBodyFriction05"] offset_right = 40.0 offset_bottom = 14.0 text = "0.5" -script = ExtResource( "2" ) +script = ExtResource("2") __meta__ = { "_edit_use_anchors_": false } @@ -133,16 +133,16 @@ world_offset = Vector3(0, 1.5, 0) [node name="RigidBodyFriction1" type="RigidDynamicBody3D" parent="StaticBodyFriction1/RigidBodies"] transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, 6, 10, 0) -physics_material_override = SubResource( "6" ) +physics_material_override = SubResource("6") [node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyFriction1/RigidBodies/RigidBodyFriction1"] -shape = SubResource( "4" ) +shape = SubResource("4") [node name="LabelFriction" type="Label" parent="StaticBodyFriction1/RigidBodies/RigidBodyFriction1"] offset_right = 40.0 offset_bottom = 14.0 text = "1" -script = ExtResource( "2" ) +script = ExtResource("2") __meta__ = { "_edit_use_anchors_": false } diff --git a/3d/physics_tests/tests/functional/test_joints.gd.uid b/3d/physics_tests/tests/functional/test_joints.gd.uid new file mode 100644 index 00000000..4109710b --- /dev/null +++ b/3d/physics_tests/tests/functional/test_joints.gd.uid @@ -0,0 +1 @@ +uid://bjsln0okk343c diff --git a/3d/physics_tests/tests/functional/test_joints.tscn b/3d/physics_tests/tests/functional/test_joints.tscn index fdc3bbb5..7b5c0fdf 100644 --- a/3d/physics_tests/tests/functional/test_joints.tscn +++ b/3d/physics_tests/tests/functional/test_joints.tscn @@ -1,11 +1,11 @@ [gd_scene load_steps=4 format=3 uid="uid://ff88axeu4fvf"] -[ext_resource type="Script" path="res://utils/camera_orbit.gd" id="1"] -[ext_resource type="Script" path="res://tests/functional/test_joints.gd" id="2"] +[ext_resource type="Script" uid="uid://cx8vo58lobtgu" path="res://utils/camera_orbit.gd" id="1"] +[ext_resource type="Script" uid="uid://bjsln0okk343c" path="res://tests/functional/test_joints.gd" id="2"] [ext_resource type="PackedScene" uid="uid://b1ihqm3x8jru" path="res://tests/test_options.tscn" id="3"] [node name="Test" type="Node3D"] -script = ExtResource( "2" ) +script = ExtResource("2") [node name="LabelJointType" type="Label" parent="."] offset_left = 14.0 @@ -17,7 +17,7 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Options" parent="." instance=ExtResource( "3" )] +[node name="Options" parent="." instance=ExtResource("3")] [node name="Joints" type="Node3D" parent="."] @@ -35,7 +35,7 @@ __meta__ = { [node name="Camera3D" type="Camera3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 6.19796) -script = ExtResource( "1" ) +script = ExtResource("1") [node name="OmniLight" type="OmniLight3D" parent="Camera3D"] omni_range = 50.0 diff --git a/3d/physics_tests/tests/functional/test_moving_platform.gd.uid b/3d/physics_tests/tests/functional/test_moving_platform.gd.uid new file mode 100644 index 00000000..457e4e13 --- /dev/null +++ b/3d/physics_tests/tests/functional/test_moving_platform.gd.uid @@ -0,0 +1 @@ +uid://uo2swke2y6v8 diff --git a/3d/physics_tests/tests/functional/test_moving_platform.tscn b/3d/physics_tests/tests/functional/test_moving_platform.tscn index aa6bf48f..16e31f81 100644 --- a/3d/physics_tests/tests/functional/test_moving_platform.tscn +++ b/3d/physics_tests/tests/functional/test_moving_platform.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=13 format=3 uid="uid://dgh5drb4q81kh"] -[ext_resource type="Script" path="res://utils/camera_orbit.gd" id="1"] -[ext_resource type="Script" path="res://tests/functional/test_moving_platform.gd" id="2"] +[ext_resource type="Script" uid="uid://cx8vo58lobtgu" path="res://utils/camera_orbit.gd" id="1"] +[ext_resource type="Script" uid="uid://uo2swke2y6v8" path="res://tests/functional/test_moving_platform.gd" id="2"] [ext_resource type="PackedScene" uid="uid://b1ihqm3x8jru" path="res://tests/test_options.tscn" id="3"] -[ext_resource type="Script" path="res://utils/characterbody_physics.gd" id="4"] +[ext_resource type="Script" uid="uid://ckob04lrcf4w" path="res://utils/characterbody_physics.gd" id="4"] [sub_resource type="CapsuleShape3D" id="1"] radius = 0.3 @@ -12,8 +12,8 @@ radius = 0.3 size = Vector3(0.6, 1.6, 0.6) [sub_resource type="CylinderShape3D" id="3"] -radius = 0.3 height = 1.60005 +radius = 0.3 [sub_resource type="SphereShape3D" id="4"] radius = 0.79945 @@ -30,7 +30,7 @@ size = Vector3(4, 0.4, 2) length = 9.0 [node name="Test2" type="Node3D"] -script = ExtResource( "2" ) +script = ExtResource("2") [node name="LabelBodyType" type="Label" parent="."] offset_left = 14.0 @@ -42,7 +42,7 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Options" parent="." instance=ExtResource( "3" )] +[node name="Options" parent="." instance=ExtResource("3")] offset_top = 153.0 offset_right = 134.0 offset_bottom = 182.0 @@ -52,29 +52,29 @@ offset_bottom = 182.0 [node name="CharacterBody3D" type="CharacterBody3D" parent="Bodies"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, -4.18538, 0) collision_layer = 2 -script = ExtResource( "4" ) +script = ExtResource("4") _stop_on_slopes = true use_snap = true [node name="Capsule" type="CollisionShape3D" parent="Bodies/CharacterBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="Box" type="CollisionShape3D" parent="Bodies/CharacterBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0) -shape = SubResource( "2" ) +shape = SubResource("2") [node name="Cylinder" type="CollisionShape3D" parent="Bodies/CharacterBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0) -shape = SubResource( "3" ) +shape = SubResource("3") [node name="Sphere" type="CollisionShape3D" parent="Bodies/CharacterBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0) -shape = SubResource( "4" ) +shape = SubResource("4") [node name="Convex" type="CollisionShape3D" parent="Bodies/CharacterBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0) -shape = SubResource( "5" ) +shape = SubResource("5") [node name="RigidBody" type="RigidDynamicBody3D" parent="Bodies"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, -4.18538, 0) @@ -82,27 +82,27 @@ collision_layer = 4 axis_lock_angular_x = true axis_lock_angular_y = true axis_lock_angular_z = true -physics_material_override = SubResource( "7" ) +physics_material_override = SubResource("7") [node name="Capsule" type="CollisionShape3D" parent="Bodies/RigidBody"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="Box" type="CollisionShape3D" parent="Bodies/RigidBody"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0) -shape = SubResource( "2" ) +shape = SubResource("2") [node name="Cylinder" type="CollisionShape3D" parent="Bodies/RigidBody"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0) -shape = SubResource( "3" ) +shape = SubResource("3") [node name="Sphere" type="CollisionShape3D" parent="Bodies/RigidBody"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0) -shape = SubResource( "4" ) +shape = SubResource("4") [node name="Convex" type="CollisionShape3D" parent="Bodies/RigidBody"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.8, 0) -shape = SubResource( "5" ) +shape = SubResource("5") [node name="Platforms" type="Node3D" parent="."] @@ -111,15 +111,15 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, -4.235, 0) [node name="CollisionShape" type="CollisionShape3D" parent="Platforms/MovingPlatform"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0) -shape = SubResource( "8" ) +shape = SubResource("8") [node name="AnimationPlayer" type="AnimationPlayer" parent="Platforms/MovingPlatform"] -anims/Move = SubResource( "9" ) +anims/Move = SubResource("9") [node name="Camera3D" type="Camera3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 10) current = true -script = ExtResource( "1" ) +script = ExtResource("1") [node name="OmniLight" type="OmniLight3D" parent="Camera3D"] omni_range = 50.0 diff --git a/3d/physics_tests/tests/functional/test_pyramid.gd.uid b/3d/physics_tests/tests/functional/test_pyramid.gd.uid new file mode 100644 index 00000000..8694c4cd --- /dev/null +++ b/3d/physics_tests/tests/functional/test_pyramid.gd.uid @@ -0,0 +1 @@ +uid://cln5072myhje1 diff --git a/3d/physics_tests/tests/functional/test_pyramid.tscn b/3d/physics_tests/tests/functional/test_pyramid.tscn index aa0f1264..bb166b2a 100644 --- a/3d/physics_tests/tests/functional/test_pyramid.tscn +++ b/3d/physics_tests/tests/functional/test_pyramid.tscn @@ -1,16 +1,16 @@ [gd_scene load_steps=4 format=3 uid="uid://coci5d8ma8tpi"] -[ext_resource type="Script" path="res://tests/functional/test_pyramid.gd" id="1"] +[ext_resource type="Script" uid="uid://cln5072myhje1" path="res://tests/functional/test_pyramid.gd" id="1"] [ext_resource type="PackedScene" uid="uid://3gkujifjokqw" path="res://tests/static_scene_plane.tscn" id="2"] -[ext_resource type="Script" path="res://utils/camera_orbit.gd" id="4"] +[ext_resource type="Script" uid="uid://cx8vo58lobtgu" path="res://utils/camera_orbit.gd" id="4"] [node name="Test" type="Node3D"] -script = ExtResource( "1" ) +script = ExtResource("1") [node name="Pyramid" type="Node3D" parent="."] -[node name="StaticBodyPlane" parent="." instance=ExtResource( "2" )] +[node name="StaticBodyPlane" parent="." instance=ExtResource("2")] [node name="Camera3D" type="Camera3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6.62348, 22.9474) -script = ExtResource( "4" ) +script = ExtResource("4") diff --git a/3d/physics_tests/tests/functional/test_raycasting.gd.uid b/3d/physics_tests/tests/functional/test_raycasting.gd.uid new file mode 100644 index 00000000..954f0523 --- /dev/null +++ b/3d/physics_tests/tests/functional/test_raycasting.gd.uid @@ -0,0 +1 @@ +uid://cjd3xvrn5bdw5 diff --git a/3d/physics_tests/tests/functional/test_raycasting.tscn b/3d/physics_tests/tests/functional/test_raycasting.tscn index f2b70e3c..3d7afdf8 100644 --- a/3d/physics_tests/tests/functional/test_raycasting.tscn +++ b/3d/physics_tests/tests/functional/test_raycasting.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=10 format=3 uid="uid://dnpps474nfbu4"] [ext_resource type="Shape3D" path="res://assets/robot_head/godot3_robot_head_collision.tres" id="1"] -[ext_resource type="Script" path="res://tests/functional/test_raycasting.gd" id="2"] +[ext_resource type="Script" uid="uid://cjd3xvrn5bdw5" path="res://tests/functional/test_raycasting.gd" id="2"] [ext_resource type="PackedScene" uid="uid://b1ihqm3x8jru" path="res://tests/test_options.tscn" id="2_qprqi"] -[ext_resource type="Script" path="res://utils/camera_orbit.gd" id="4"] +[ext_resource type="Script" uid="uid://cx8vo58lobtgu" path="res://utils/camera_orbit.gd" id="4"] [sub_resource type="BoxShape3D" id="1"] @@ -17,9 +17,9 @@ points = PackedVector3Array(-0.7, 0, -0.7, -0.3, 0, 0.8, 0.8, 0, -0.3, 0, -1, 0) [node name="Test" type="Node3D"] -script = ExtResource( "2" ) +script = ExtResource("2") -[node name="Options" parent="." instance=ExtResource( "2_qprqi" )] +[node name="Options" parent="." instance=ExtResource("2_qprqi")] offset_right = 134.0 offset_bottom = 135.719 theme_override_font_sizes/font_size = 16 @@ -33,7 +33,7 @@ freeze = true [node name="CollisionShape" type="CollisionShape3D" parent="Shapes/RigidBodyBox"] transform = Transform3D(0.579556, 0.0885213, 0.145926, 0, 0.939693, -0.205212, -0.155291, 0.330366, 0.544604, 0, 0, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="RigidBodySphere" type="RigidDynamicBody3D" parent="Shapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0) @@ -41,14 +41,14 @@ freeze = true [node name="CollisionShape" type="CollisionShape3D" parent="Shapes/RigidBodySphere"] transform = Transform3D(1.2, 0, 0, 0, 1.2, 0, 0, 0, 1.2, 0, 0, 0) -shape = SubResource( "2" ) +shape = SubResource("2") [node name="RigidBodyCapsule" type="RigidDynamicBody3D" parent="Shapes"] freeze = true [node name="CollisionShape" type="CollisionShape3D" parent="Shapes/RigidBodyCapsule"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0) -shape = SubResource( "3" ) +shape = SubResource("3") [node name="RigidBodyCylinder" type="RigidDynamicBody3D" parent="Shapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 0) @@ -56,7 +56,7 @@ freeze = true [node name="CollisionShape" type="CollisionShape3D" parent="Shapes/RigidBodyCylinder"] transform = Transform3D(0.772741, -0.258819, 2.59821e-08, 0.2, 0.933013, -0.207055, 0.0535898, 0.25, 0.772741, 0, 0, 0) -shape = SubResource( "4" ) +shape = SubResource("4") [node name="RigidBodyConvexPolygon" type="RigidDynamicBody3D" parent="Shapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, -0.211, 0) @@ -64,15 +64,15 @@ freeze = true [node name="CollisionShape" type="CollisionShape3D" parent="Shapes/RigidBodyConvexPolygon"] transform = Transform3D(2, 0, 0, 0, 2.89766, -0.517939, 0, 0.776908, 1.93177, 0, 0.3533, 0) -shape = SubResource( "5" ) +shape = SubResource("5") [node name="StaticBodyHead" type="StaticBody3D" parent="Shapes"] transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, -6, 3.93357) [node name="CollisionShape" type="CollisionShape3D" parent="Shapes/StaticBodyHead"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0) -shape = ExtResource( "1" ) +shape = ExtResource("1") [node name="Camera3D" type="Camera3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.8667, 11.8164) -script = ExtResource( "4" ) +script = ExtResource("4") diff --git a/3d/physics_tests/tests/functional/test_rigidbody_ground_check.gd.uid b/3d/physics_tests/tests/functional/test_rigidbody_ground_check.gd.uid new file mode 100644 index 00000000..b8a95b67 --- /dev/null +++ b/3d/physics_tests/tests/functional/test_rigidbody_ground_check.gd.uid @@ -0,0 +1 @@ +uid://dhh0chau7tu87 diff --git a/3d/physics_tests/tests/functional/test_rigidbody_ground_check.tscn b/3d/physics_tests/tests/functional/test_rigidbody_ground_check.tscn index 45db90e0..760787bb 100644 --- a/3d/physics_tests/tests/functional/test_rigidbody_ground_check.tscn +++ b/3d/physics_tests/tests/functional/test_rigidbody_ground_check.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=28 format=3 uid="uid://se7gyhmygqul"] -[ext_resource type="Script" path="res://utils/rigidbody_ground_check.gd" id="1"] +[ext_resource type="Script" uid="uid://4rx7rkakkj28" path="res://utils/rigidbody_ground_check.gd" id="1"] [ext_resource type="PackedScene" uid="uid://b1ihqm3x8jru" path="res://tests/test_options.tscn" id="2"] -[ext_resource type="Script" path="res://tests/functional/test_rigidbody_ground_check.gd" id="3"] -[ext_resource type="Script" path="res://utils/camera_orbit.gd" id="4"] +[ext_resource type="Script" uid="uid://dhh0chau7tu87" path="res://tests/functional/test_rigidbody_ground_check.gd" id="3"] +[ext_resource type="Script" uid="uid://cx8vo58lobtgu" path="res://utils/camera_orbit.gd" id="4"] [sub_resource type="PhysicsMaterial" id="1"] friction = 0.0 diff --git a/3d/physics_tests/tests/functional/test_rigidbody_impact.tscn b/3d/physics_tests/tests/functional/test_rigidbody_impact.tscn index 35adb257..7cb74650 100644 --- a/3d/physics_tests/tests/functional/test_rigidbody_impact.tscn +++ b/3d/physics_tests/tests/functional/test_rigidbody_impact.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=10 format=3 uid="uid://cw38dssdgqkti"] -[ext_resource type="Script" path="res://utils/rigidbody_pick.gd" id="1"] -[ext_resource type="Script" path="res://test.gd" id="2"] +[ext_resource type="Script" uid="uid://cy2w4686igcmr" path="res://utils/rigidbody_pick.gd" id="1"] +[ext_resource type="Script" uid="uid://cu0nmknf22ua2" path="res://test.gd" id="2"] [ext_resource type="PackedScene" uid="uid://3gkujifjokqw" path="res://tests/static_scene_plane.tscn" id="3"] -[ext_resource type="Script" path="res://utils/camera_orbit.gd" id="4"] +[ext_resource type="Script" uid="uid://cx8vo58lobtgu" path="res://utils/camera_orbit.gd" id="4"] [sub_resource type="BoxShape3D" id="1"] @@ -17,7 +17,7 @@ points = PackedVector3Array(-0.7, 0, -0.7, -0.3, 0, 0.8, 0.8, 0, -0.3, 0, -1, 0) [sub_resource type="SphereShape3D" id="5"] [node name="Test" type="Node3D"] -script = ExtResource( "2" ) +script = ExtResource("2") [node name="DynamicShapes" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 9.35591, 0) @@ -27,62 +27,62 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 1, 0) axis_lock_angular_x = true axis_lock_angular_y = true axis_lock_angular_z = true -script = ExtResource( "1" ) +script = ExtResource("1") [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodyBox"] transform = Transform3D(0.6, 0, 0, 0, 1, 0, 0, 0, 0.6, 0, 0, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="RigidBodyCapsule" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 1.0034, 0) axis_lock_angular_x = true axis_lock_angular_y = true axis_lock_angular_z = true -script = ExtResource( "1" ) +script = ExtResource("1") [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodyCapsule"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0) -shape = SubResource( "2" ) +shape = SubResource("2") [node name="RigidBodyCylinder" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0034, 0) axis_lock_angular_x = true axis_lock_angular_y = true axis_lock_angular_z = true -script = ExtResource( "1" ) +script = ExtResource("1") [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodyCylinder"] transform = Transform3D(0.8, 0, 0, 0, 1, 0, 0, 0, 0.8, 0, 0, 0) -shape = SubResource( "3" ) +shape = SubResource("3") [node name="RigidBodyConvex" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 1.97795, 0) axis_lock_angular_x = true axis_lock_angular_y = true axis_lock_angular_z = true -script = ExtResource( "1" ) +script = ExtResource("1") [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodyConvex"] transform = Transform3D(1.5, 0, 0, 0, 2, 0, 0, 0, 1.5, 0, 0, 0) -shape = SubResource( "4" ) +shape = SubResource("4") [node name="RigidBodySphere" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 1, 0) axis_lock_angular_x = true axis_lock_angular_y = true axis_lock_angular_z = true -script = ExtResource( "1" ) +script = ExtResource("1") [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodySphere"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0) -shape = SubResource( "5" ) +shape = SubResource("5") -[node name="StaticBodyPlane" parent="." instance=ExtResource( "3" )] +[node name="StaticBodyPlane" parent="." instance=ExtResource("3")] [node name="Camera3D" type="Camera3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.604, 22.124) fov = 35.0 -script = ExtResource( "4" ) +script = ExtResource("4") [node name="OmniLight" type="OmniLight3D" parent="Camera3D"] omni_range = 50.0 diff --git a/3d/physics_tests/tests/functional/test_shapes.tscn b/3d/physics_tests/tests/functional/test_shapes.tscn index 012eee03..f7ef93cb 100644 --- a/3d/physics_tests/tests/functional/test_shapes.tscn +++ b/3d/physics_tests/tests/functional/test_shapes.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=10 format=3 uid="uid://dmvgjuovguvg7"] -[ext_resource type="Script" path="res://utils/rigidbody_pick.gd" id="1"] -[ext_resource type="Script" path="res://test.gd" id="2"] -[ext_resource type="Script" path="res://utils/camera_orbit.gd" id="4"] +[ext_resource type="Script" uid="uid://cy2w4686igcmr" path="res://utils/rigidbody_pick.gd" id="1"] +[ext_resource type="Script" uid="uid://cu0nmknf22ua2" path="res://test.gd" id="2"] +[ext_resource type="Script" uid="uid://cx8vo58lobtgu" path="res://utils/camera_orbit.gd" id="4"] [ext_resource type="PackedScene" uid="uid://cl2vpuxqgnylc" path="res://tests/static_scene.tscn" id="6"] [sub_resource type="BoxShape3D" id="1"] @@ -17,55 +17,55 @@ points = PackedVector3Array(-0.7, 0, -0.7, -0.3, 0, 0.8, 0.8, 0, -0.3, 0, -1, 0) [sub_resource type="SphereShape3D" id="5"] [node name="Test" type="Node3D"] -script = ExtResource( "2" ) +script = ExtResource("2") [node name="DynamicShapes" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 9.35591, 0) [node name="RigidBodyBox" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0, 0) -script = ExtResource( "1" ) +script = ExtResource("1") [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodyBox"] transform = Transform3D(0.579556, 0.0885213, 0.145926, 0, 0.939693, -0.205212, -0.155291, 0.330366, 0.544604, 0, 0, 0) -shape = SubResource( "1" ) +shape = SubResource("1") [node name="RigidBodyCapsule" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0, 0) -script = ExtResource( "1" ) +script = ExtResource("1") [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodyCapsule"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0) -shape = SubResource( "2" ) +shape = SubResource("2") [node name="RigidBodyCylinder" type="RigidDynamicBody3D" parent="DynamicShapes"] -script = ExtResource( "1" ) +script = ExtResource("1") [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodyCylinder"] transform = Transform3D(0.772741, -0.258819, 2.59821e-08, 0.2, 0.933013, -0.207055, 0.0535898, 0.25, 0.772741, 0, 0, 0) -shape = SubResource( "3" ) +shape = SubResource("3") [node name="RigidBodyConvex" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 0, 0) -script = ExtResource( "1" ) +script = ExtResource("1") [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodyConvex"] transform = Transform3D(1.5, 0, 0, 0, 1.93185, -0.388229, 0, 0.517638, 1.44889, 0, 0, 0) -shape = SubResource( "4" ) +shape = SubResource("4") [node name="RigidBodySphere" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 0) -script = ExtResource( "1" ) +script = ExtResource("1") [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodySphere"] transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0) -shape = SubResource( "5" ) +shape = SubResource("5") -[node name="StaticScene" parent="." instance=ExtResource( "6" )] +[node name="StaticScene" parent="." instance=ExtResource("6")] [node name="Camera3D" type="Camera3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.53602, 22.1236) -script = ExtResource( "4" ) +script = ExtResource("4") [node name="OmniLight" type="OmniLight3D" parent="Camera3D"] omni_range = 50.0 diff --git a/3d/physics_tests/tests/functional/test_stack.gd.uid b/3d/physics_tests/tests/functional/test_stack.gd.uid new file mode 100644 index 00000000..6ab0a2a1 --- /dev/null +++ b/3d/physics_tests/tests/functional/test_stack.gd.uid @@ -0,0 +1 @@ +uid://co4k1bxvtd0mq diff --git a/3d/physics_tests/tests/functional/test_stack.tscn b/3d/physics_tests/tests/functional/test_stack.tscn index 9e00bddb..75ffbc36 100644 --- a/3d/physics_tests/tests/functional/test_stack.tscn +++ b/3d/physics_tests/tests/functional/test_stack.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=4 format=3 uid="uid://dwn10myg4lqtw"] -[ext_resource type="Script" path="res://tests/functional/test_stack.gd" id="1"] +[ext_resource type="Script" uid="uid://co4k1bxvtd0mq" path="res://tests/functional/test_stack.gd" id="1"] [ext_resource type="PackedScene" uid="uid://3gkujifjokqw" path="res://tests/static_scene_plane.tscn" id="2"] -[ext_resource type="Script" path="res://utils/camera_orbit.gd" id="4"] +[ext_resource type="Script" uid="uid://cx8vo58lobtgu" path="res://utils/camera_orbit.gd" id="4"] [node name="Test" type="Node3D"] script = ExtResource("1") diff --git a/3d/physics_tests/tests/performance/test_perf_broadphase.gd.uid b/3d/physics_tests/tests/performance/test_perf_broadphase.gd.uid new file mode 100644 index 00000000..5e5cd9a4 --- /dev/null +++ b/3d/physics_tests/tests/performance/test_perf_broadphase.gd.uid @@ -0,0 +1 @@ +uid://2p17w871kkxq diff --git a/3d/physics_tests/tests/performance/test_perf_broadphase.tscn b/3d/physics_tests/tests/performance/test_perf_broadphase.tscn index 048c0d89..ae920001 100644 --- a/3d/physics_tests/tests/performance/test_perf_broadphase.tscn +++ b/3d/physics_tests/tests/performance/test_perf_broadphase.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=2 format=3 uid="uid://d3h64row8tfqc"] -[ext_resource type="Script" path="res://tests/performance/test_perf_broadphase.gd" id="1"] +[ext_resource type="Script" uid="uid://2p17w871kkxq" path="res://tests/performance/test_perf_broadphase.gd" id="1"] [node name="Test" type="Node3D"] -script = ExtResource( "1" ) +script = ExtResource("1") _enable_debug_collision = false row_size = 50 column_size = 50 diff --git a/3d/physics_tests/tests/performance/test_perf_contact_islands.tscn b/3d/physics_tests/tests/performance/test_perf_contact_islands.tscn index bb8169a1..258d3e0f 100644 --- a/3d/physics_tests/tests/performance/test_perf_contact_islands.tscn +++ b/3d/physics_tests/tests/performance/test_perf_contact_islands.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=11 format=3 uid="uid://ctni5eafiy2bu"] -[ext_resource type="Script" path="res://tests/performance/test_perf_contacts.gd" id="1"] -[ext_resource type="Script" path="res://utils/camera_orbit.gd" id="3"] +[ext_resource type="Script" uid="uid://4kcl3sbrycms" path="res://tests/performance/test_perf_contacts.gd" id="1"] +[ext_resource type="Script" uid="uid://cx8vo58lobtgu" path="res://utils/camera_orbit.gd" id="3"] [ext_resource type="PackedScene" uid="uid://b1ihqm3x8jru" path="res://tests/test_options.tscn" id="4"] [ext_resource type="PackedScene" uid="uid://cl2vpuxqgnylc" path="res://tests/static_scene.tscn" id="5"] @@ -15,18 +15,17 @@ points = PackedVector3Array(-0.7, 0, -0.7, -0.3, 0, 0.8, 0.8, 0, -0.3, 0, -1, 0) [sub_resource type="SphereShape3D" id="5"] -radius = 0.5 [sub_resource type="WorldBoundaryShape3D" id="6"] [node name="Test" type="Node3D"] -script = ExtResource( "1" ) +script = ExtResource("1") _enable_debug_collision = false spawns = ["SpawnTarget1", "SpawnTarget2", "SpawnTarget3", "SpawnTarget4", "SpawnTarget5", "SpawnTarget6", "SpawnTarget7", "SpawnTarget8", "SpawnTarget9", "SpawnTarget10", "SpawnTarget11", "SpawnTarget12", "SpawnTarget13", "SpawnTarget14", "SpawnTarget15", "SpawnTarget16"] spawn_count = 200 spawn_randomize = Vector3(0.2, 0.2, 0.2) -[node name="Options" parent="." instance=ExtResource( "4" )] +[node name="Options" parent="." instance=ExtResource("4")] [node name="SpawnTarget1" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 40, 7, -37.715) @@ -82,56 +81,56 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.3192, 1.2359, 38.0117) [node name="RigidBodyBox" type="RigidDynamicBody3D" parent="DynamicShapes"] [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodyBox"] -shape = SubResource( "1" ) +shape = SubResource("1") [node name="RigidBodyCapsule" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 0) [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodyCapsule"] -shape = SubResource( "2" ) +shape = SubResource("2") [node name="RigidBodyCylinder" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 0) [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodyCylinder"] -shape = SubResource( "3" ) +shape = SubResource("3") [node name="RigidBodyConvex" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 0) [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodyConvex"] transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0) -shape = SubResource( "4" ) +shape = SubResource("4") [node name="RigidBodySphere" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 0) [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodySphere"] -shape = SubResource( "5" ) +shape = SubResource("5") -[node name="StaticScene" parent="." instance=ExtResource( "5" )] +[node name="StaticScene" parent="." instance=ExtResource("5")] [node name="StaticBodyWalls" type="StaticBody3D" parent="."] [node name="CollisionShape1" type="CollisionShape3D" parent="StaticBodyWalls"] transform = Transform3D(-1.62921e-07, 1, 0, -1, -1.62921e-07, 0, 0, 0, 1, -50, 0, 0) -shape = SubResource( "6" ) +shape = SubResource("6") [node name="CollisionShape2" type="CollisionShape3D" parent="StaticBodyWalls"] transform = Transform3D(-1.62921e-07, -1, 0, 1, -1.62921e-07, 0, 0, 0, 1, 50, 0, 0) -shape = SubResource( "6" ) +shape = SubResource("6") [node name="CollisionShape3" type="CollisionShape3D" parent="StaticBodyWalls"] transform = Transform3D(2.6543e-14, 1.62921e-07, 1, 1, -1.62921e-07, 1.56125e-19, 1.62921e-07, 1, -1.62921e-07, 0, 0, -50) -shape = SubResource( "6" ) +shape = SubResource("6") [node name="CollisionShape4" type="CollisionShape3D" parent="StaticBodyWalls"] transform = Transform3D(2.6543e-14, 1.62921e-07, -1, 1, -1.62921e-07, -1.56125e-19, -1.62921e-07, -1, -1.62921e-07, 0, 0, 50) -shape = SubResource( "6" ) +shape = SubResource("6") [node name="Camera3D" type="Camera3D" parent="."] transform = Transform3D(1, 0, 0, 0, 0.881757, 0.471705, 0, -0.471705, 0.881757, 0, 20.4125, 41.0426) -script = ExtResource( "3" ) +script = ExtResource("3") [node name="OmniLight" type="OmniLight3D" parent="Camera3D"] omni_range = 80.0 diff --git a/3d/physics_tests/tests/performance/test_perf_contacts.gd.uid b/3d/physics_tests/tests/performance/test_perf_contacts.gd.uid new file mode 100644 index 00000000..45a59018 --- /dev/null +++ b/3d/physics_tests/tests/performance/test_perf_contacts.gd.uid @@ -0,0 +1 @@ +uid://4kcl3sbrycms diff --git a/3d/physics_tests/tests/performance/test_perf_contacts.tscn b/3d/physics_tests/tests/performance/test_perf_contacts.tscn index c06c7447..8a0670cd 100644 --- a/3d/physics_tests/tests/performance/test_perf_contacts.tscn +++ b/3d/physics_tests/tests/performance/test_perf_contacts.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=11 format=3 uid="uid://4wsisagg0r7r"] [ext_resource type="PackedScene" uid="uid://cl2vpuxqgnylc" path="res://tests/static_scene.tscn" id="1"] -[ext_resource type="Script" path="res://tests/performance/test_perf_contacts.gd" id="2"] +[ext_resource type="Script" uid="uid://4kcl3sbrycms" path="res://tests/performance/test_perf_contacts.gd" id="2"] [ext_resource type="PackedScene" uid="uid://b1ihqm3x8jru" path="res://tests/test_options.tscn" id="4"] -[ext_resource type="Script" path="res://utils/camera_orbit.gd" id="5"] +[ext_resource type="Script" uid="uid://cx8vo58lobtgu" path="res://utils/camera_orbit.gd" id="5"] [sub_resource type="BoxShape3D" id="1"] @@ -19,13 +19,13 @@ points = PackedVector3Array(-0.7, 0, -0.7, -0.3, 0, 0.8, 0.8, 0, -0.3, 0, -1, 0) [sub_resource type="WorldBoundaryShape3D" id="6"] [node name="Test" type="Node3D"] -script = ExtResource( "2" ) +script = ExtResource("2") _enable_debug_collision = false spawns = ["SpawnTarget1"] spawn_count = 500 spawn_randomize = Vector3(0.2, 0.2, 0.2) -[node name="Options" parent="." instance=ExtResource( "4" )] +[node name="Options" parent="." instance=ExtResource("4")] [node name="SpawnTarget1" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7.06418, -1.24693) @@ -36,55 +36,55 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.3192, 1.2359, 38.0117) [node name="RigidBodyBox" type="RigidDynamicBody3D" parent="DynamicShapes"] [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodyBox"] -shape = SubResource( "1" ) +shape = SubResource("1") [node name="RigidBodyCapsule" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 0) [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodyCapsule"] -shape = SubResource( "2" ) +shape = SubResource("2") [node name="RigidBodyCylinder" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 0) [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodyCylinder"] -shape = SubResource( "3" ) +shape = SubResource("3") [node name="RigidBodyConvex" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 0) [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodyConvex"] -shape = SubResource( "4" ) +shape = SubResource("4") [node name="RigidBodySphere" type="RigidDynamicBody3D" parent="DynamicShapes"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 0) [node name="CollisionShape" type="CollisionShape3D" parent="DynamicShapes/RigidBodySphere"] -shape = SubResource( "5" ) +shape = SubResource("5") [node name="StaticBodyWalls" type="StaticBody3D" parent="."] [node name="CollisionShape1" type="CollisionShape3D" parent="StaticBodyWalls"] transform = Transform3D(-1.62921e-07, 1, 0, -1, -1.62921e-07, 0, 0, 0, 1, -5, 0, 0) -shape = SubResource( "6" ) +shape = SubResource("6") [node name="CollisionShape2" type="CollisionShape3D" parent="StaticBodyWalls"] transform = Transform3D(-1.62921e-07, -1, 0, 1, -1.62921e-07, 0, 0, 0, 1, 5, 0, 0) -shape = SubResource( "6" ) +shape = SubResource("6") [node name="CollisionShape3" type="CollisionShape3D" parent="StaticBodyWalls"] transform = Transform3D(2.6543e-14, 1.62921e-07, 1, 1, -1.62921e-07, 1.56125e-19, 1.62921e-07, 1, -1.62921e-07, 0, 0, -5) -shape = SubResource( "6" ) +shape = SubResource("6") [node name="CollisionShape4" type="CollisionShape3D" parent="StaticBodyWalls"] transform = Transform3D(2.6543e-14, 1.62921e-07, -1, 1, -1.62921e-07, -1.56125e-19, -1.62921e-07, -1, -1.62921e-07, 0, 0, 5) -shape = SubResource( "6" ) +shape = SubResource("6") -[node name="StaticScene" parent="." instance=ExtResource( "1" )] +[node name="StaticScene" parent="." instance=ExtResource("1")] [node name="Camera3D" type="Camera3D" parent="."] transform = Transform3D(1, 0, 0, 0, 0.881757, 0.471705, 0, -0.471705, 0.881757, 0, 20.4125, 41.0426) -script = ExtResource( "5" ) +script = ExtResource("5") [node name="OmniLight" type="OmniLight3D" parent="Camera3D"] omni_range = 80.0 diff --git a/3d/physics_tests/tests/static_scene.tscn b/3d/physics_tests/tests/static_scene.tscn index 58b0f47e..9bcded0b 100644 --- a/3d/physics_tests/tests/static_scene.tscn +++ b/3d/physics_tests/tests/static_scene.tscn @@ -6,13 +6,13 @@ [node name="StaticScene" type="Node3D"] -[node name="StaticBodyPlane" parent="." instance=ExtResource( "3" )] +[node name="StaticBodyPlane" parent="." instance=ExtResource("3")] [node name="StaticBodyHead" type="StaticBody3D" parent="."] transform = Transform3D(10, 0, 0, 0, 8.66025, 5, 0, -5, 8.66025, 0, -11.1389, 2.29332) [node name="RobotHead" type="MeshInstance3D" parent="StaticBodyHead"] -mesh = ExtResource( "2" ) +mesh = ExtResource("2") [node name="CollisionShape" type="CollisionShape3D" parent="StaticBodyHead"] -shape = ExtResource( "1" ) +shape = ExtResource("1") diff --git a/3d/physics_tests/tests/static_scene_plane.tscn b/3d/physics_tests/tests/static_scene_plane.tscn index d038d7aa..49cd9391 100644 --- a/3d/physics_tests/tests/static_scene_plane.tscn +++ b/3d/physics_tests/tests/static_scene_plane.tscn @@ -9,8 +9,8 @@ data = PackedVector3Array(-1, 0, 1, 1, 0, -1, 1, 0, 1, -1, 0, 1, -1, 0, -1, 1, 0 [node name="MeshInstance3D" type="MeshInstance3D" parent="."] transform = Transform3D(50, 0, 0, 0, 1, 0, 0, 0, 50, 0, 0, 0) -mesh = SubResource( "1" ) +mesh = SubResource("1") [node name="CollisionShape" type="CollisionShape3D" parent="."] transform = Transform3D(50, 0, 0, 0, 1, 0, 0, 0, 50, 0, 0, 0) -shape = SubResource( "2" ) +shape = SubResource("2") diff --git a/3d/physics_tests/tests/test_options.tscn b/3d/physics_tests/tests/test_options.tscn index 1c488715..802c82d2 100644 --- a/3d/physics_tests/tests/test_options.tscn +++ b/3d/physics_tests/tests/test_options.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://b1ihqm3x8jru"] -[ext_resource type="Script" path="res://utils/option_menu.gd" id="1"] +[ext_resource type="Script" uid="uid://4nrylag73hse" path="res://utils/option_menu.gd" id="1"] [node name="Options" type="MenuButton"] offset_left = 10.0 @@ -9,7 +9,7 @@ offset_right = 125.0 offset_bottom = 126.719 text = "TEST OPTIONS" flat = false -script = ExtResource( "1" ) +script = ExtResource("1") __meta__ = { "_edit_use_anchors_": false } diff --git a/3d/physics_tests/tests_menu.gd.uid b/3d/physics_tests/tests_menu.gd.uid new file mode 100644 index 00000000..005105c8 --- /dev/null +++ b/3d/physics_tests/tests_menu.gd.uid @@ -0,0 +1 @@ +uid://dd0fbi0qttuuw diff --git a/3d/physics_tests/utils/camera_orbit.gd.uid b/3d/physics_tests/utils/camera_orbit.gd.uid new file mode 100644 index 00000000..87651fb5 --- /dev/null +++ b/3d/physics_tests/utils/camera_orbit.gd.uid @@ -0,0 +1 @@ +uid://cx8vo58lobtgu diff --git a/3d/physics_tests/utils/characterbody_physics.gd.uid b/3d/physics_tests/utils/characterbody_physics.gd.uid new file mode 100644 index 00000000..a217ce7e --- /dev/null +++ b/3d/physics_tests/utils/characterbody_physics.gd.uid @@ -0,0 +1 @@ +uid://ckob04lrcf4w diff --git a/3d/physics_tests/utils/container_log.gd.uid b/3d/physics_tests/utils/container_log.gd.uid new file mode 100644 index 00000000..d43a77c3 --- /dev/null +++ b/3d/physics_tests/utils/container_log.gd.uid @@ -0,0 +1 @@ +uid://eleg6e366qxd diff --git a/3d/physics_tests/utils/control3d.gd.uid b/3d/physics_tests/utils/control3d.gd.uid new file mode 100644 index 00000000..f1d613f3 --- /dev/null +++ b/3d/physics_tests/utils/control3d.gd.uid @@ -0,0 +1 @@ +uid://k4cta5vagong diff --git a/3d/physics_tests/utils/label_engine.gd.uid b/3d/physics_tests/utils/label_engine.gd.uid new file mode 100644 index 00000000..11f62813 --- /dev/null +++ b/3d/physics_tests/utils/label_engine.gd.uid @@ -0,0 +1 @@ +uid://do0udxc585k84 diff --git a/3d/physics_tests/utils/label_fps.gd.uid b/3d/physics_tests/utils/label_fps.gd.uid new file mode 100644 index 00000000..f7e9d12d --- /dev/null +++ b/3d/physics_tests/utils/label_fps.gd.uid @@ -0,0 +1 @@ +uid://34ftr8y77xc0 diff --git a/3d/physics_tests/utils/label_pause.gd.uid b/3d/physics_tests/utils/label_pause.gd.uid new file mode 100644 index 00000000..d14fb977 --- /dev/null +++ b/3d/physics_tests/utils/label_pause.gd.uid @@ -0,0 +1 @@ +uid://bsrr8ude7isvn diff --git a/3d/physics_tests/utils/label_test.gd.uid b/3d/physics_tests/utils/label_test.gd.uid new file mode 100644 index 00000000..b532bf82 --- /dev/null +++ b/3d/physics_tests/utils/label_test.gd.uid @@ -0,0 +1 @@ +uid://bkvmvpx2kl536 diff --git a/3d/physics_tests/utils/label_version.gd.uid b/3d/physics_tests/utils/label_version.gd.uid new file mode 100644 index 00000000..7d55af9f --- /dev/null +++ b/3d/physics_tests/utils/label_version.gd.uid @@ -0,0 +1 @@ +uid://bai0htaaejvop diff --git a/3d/physics_tests/utils/option_menu.gd.uid b/3d/physics_tests/utils/option_menu.gd.uid new file mode 100644 index 00000000..e216d731 --- /dev/null +++ b/3d/physics_tests/utils/option_menu.gd.uid @@ -0,0 +1 @@ +uid://4nrylag73hse diff --git a/3d/physics_tests/utils/rigidbody_ground_check.gd.uid b/3d/physics_tests/utils/rigidbody_ground_check.gd.uid new file mode 100644 index 00000000..c1302ed0 --- /dev/null +++ b/3d/physics_tests/utils/rigidbody_ground_check.gd.uid @@ -0,0 +1 @@ +uid://4rx7rkakkj28 diff --git a/3d/physics_tests/utils/rigidbody_pick.gd.uid b/3d/physics_tests/utils/rigidbody_pick.gd.uid new file mode 100644 index 00000000..d660323d --- /dev/null +++ b/3d/physics_tests/utils/rigidbody_pick.gd.uid @@ -0,0 +1 @@ +uid://cy2w4686igcmr diff --git a/3d/physics_tests/utils/scroll_log.gd.uid b/3d/physics_tests/utils/scroll_log.gd.uid new file mode 100644 index 00000000..1abed3c5 --- /dev/null +++ b/3d/physics_tests/utils/scroll_log.gd.uid @@ -0,0 +1 @@ +uid://pagh264d7unt diff --git a/3d/physics_tests/utils/system.gd.uid b/3d/physics_tests/utils/system.gd.uid new file mode 100644 index 00000000..e18e1a00 --- /dev/null +++ b/3d/physics_tests/utils/system.gd.uid @@ -0,0 +1 @@ +uid://bau7sgdbs7a8y diff --git a/3d/physics_tests/utils/system_log.gd.uid b/3d/physics_tests/utils/system_log.gd.uid new file mode 100644 index 00000000..b12677df --- /dev/null +++ b/3d/physics_tests/utils/system_log.gd.uid @@ -0,0 +1 @@ +uid://dx0o62ygt6yta diff --git a/3d/platformer/coin/coin.gd.uid b/3d/platformer/coin/coin.gd.uid new file mode 100644 index 00000000..a5375523 --- /dev/null +++ b/3d/platformer/coin/coin.gd.uid @@ -0,0 +1 @@ +uid://c2pvqnv0idykh diff --git a/3d/platformer/coin/coin.tscn b/3d/platformer/coin/coin.tscn index 7f8c03dc..bcda4213 100644 --- a/3d/platformer/coin/coin.tscn +++ b/3d/platformer/coin/coin.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=19 format=3 uid="uid://dfxo2jwbj4aeh"] -[ext_resource type="Script" path="res://coin/coin.gd" id="1"] +[ext_resource type="Script" uid="uid://c2pvqnv0idykh" path="res://coin/coin.gd" id="1"] [ext_resource type="AudioStream" uid="uid://b23l5nfatq2d2" path="res://coin/sound_coin.wav" id="2"] [ext_resource type="Material" uid="uid://dp0bangabfrg" path="res://coin/coin_material.tres" id="2_n0rbc"] [ext_resource type="Texture2D" uid="uid://y3opjgnv67r8" path="res://particle.webp" id="3"] @@ -180,9 +180,9 @@ tracks/4/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_7v453"] _data = { -"RESET": SubResource("Animation_r4jod"), -"spin": SubResource("3"), -"take": SubResource("4") +&"RESET": SubResource("Animation_r4jod"), +&"spin": SubResource("3"), +&"take": SubResource("4") } [sub_resource type="SphereShape3D" id="5"] diff --git a/3d/platformer/enemy/enemy.gd.uid b/3d/platformer/enemy/enemy.gd.uid new file mode 100644 index 00000000..985b82cb --- /dev/null +++ b/3d/platformer/enemy/enemy.gd.uid @@ -0,0 +1 @@ +uid://ekd2gwe75mcy diff --git a/3d/platformer/enemy/enemy.glb.import b/3d/platformer/enemy/enemy.glb.import index 14aab9b2..fe34ad08 100644 --- a/3d/platformer/enemy/enemy.glb.import +++ b/3d/platformer/enemy/enemy.glb.import @@ -18,6 +18,7 @@ nodes/root_name="Enemy" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true diff --git a/3d/platformer/enemy/enemy.tscn b/3d/platformer/enemy/enemy.tscn index ab32efc6..c75fdadc 100644 --- a/3d/platformer/enemy/enemy.tscn +++ b/3d/platformer/enemy/enemy.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=20 format=3 uid="uid://o5q0hy6cg6nt"] -[ext_resource type="Script" path="res://enemy/enemy.gd" id="1"] +[ext_resource type="Script" uid="uid://ekd2gwe75mcy" path="res://enemy/enemy.gd" id="1"] [ext_resource type="AudioStream" uid="uid://bqpmm2b3otsvp" path="res://enemy/robot_walk.wav" id="2"] [ext_resource type="PackedScene" uid="uid://51yuwlr5tgi0" path="res://enemy/enemy.glb" id="2_qf8n3"] [ext_resource type="AudioStream" uid="uid://bb3j3700yjir8" path="res://enemy/sound_hit.wav" id="3"] @@ -350,10 +350,10 @@ tracks/10/keys = PackedFloat32Array(0, 1, -3.87449e-08, 0.475726, -0.0617121) [sub_resource type="AnimationLibrary" id="AnimationLibrary_f4l5d"] _data = { -"RESET": SubResource("Animation_7y2o5"), -"idle": SubResource("Animation_icvte"), -"impact": SubResource("Animation_ggs1k"), -"walk": SubResource("Animation_ce6v8") +&"RESET": SubResource("Animation_7y2o5"), +&"idle": SubResource("Animation_icvte"), +&"impact": SubResource("Animation_ggs1k"), +&"walk": SubResource("Animation_ce6v8") } [sub_resource type="Animation" id="Animation_6dp7f"] @@ -410,7 +410,7 @@ tracks/3/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_q27i1"] _data = { -"explode": SubResource("Animation_6dp7f") +&"explode": SubResource("Animation_6dp7f") } [sub_resource type="SphereShape3D" id="11"] @@ -427,7 +427,7 @@ material = ExtResource("6_47uim") orientation = 2 [sub_resource type="Curve" id="17"] -max_value = 3.0 +_limits = [0.0, 3.0, 0.0, 1.0] _data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.2, 0.6), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] point_count = 3 diff --git a/3d/platformer/player/bullet/bullet.gd.uid b/3d/platformer/player/bullet/bullet.gd.uid new file mode 100644 index 00000000..5f4490f7 --- /dev/null +++ b/3d/platformer/player/bullet/bullet.gd.uid @@ -0,0 +1 @@ +uid://4p6kbrxb3no5 diff --git a/3d/platformer/player/bullet/bullet.tscn b/3d/platformer/player/bullet/bullet.tscn index 841208ee..0100c818 100644 --- a/3d/platformer/player/bullet/bullet.tscn +++ b/3d/platformer/player/bullet/bullet.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=12 format=3 uid="uid://0qwkkgqdb77r"] -[ext_resource type="Script" path="res://player/bullet/bullet.gd" id="1"] +[ext_resource type="Script" uid="uid://4p6kbrxb3no5" path="res://player/bullet/bullet.gd" id="1"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_p7q83"] transparency = 1 @@ -117,8 +117,8 @@ tracks/4/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_pyoek"] _data = { -"RESET": SubResource("Animation_vsjh6"), -"life": SubResource("Animation_i372c") +&"RESET": SubResource("Animation_vsjh6"), +&"life": SubResource("Animation_i372c") } [sub_resource type="SphereMesh" id="SphereMesh_hnt4a"] diff --git a/3d/platformer/player/follow_camera.gd.uid b/3d/platformer/player/follow_camera.gd.uid new file mode 100644 index 00000000..bbbbaccc --- /dev/null +++ b/3d/platformer/player/follow_camera.gd.uid @@ -0,0 +1 @@ +uid://c34yhkkhix7m7 diff --git a/3d/platformer/player/player.gd.uid b/3d/platformer/player/player.gd.uid new file mode 100644 index 00000000..00e5c9b0 --- /dev/null +++ b/3d/platformer/player/player.gd.uid @@ -0,0 +1 @@ +uid://juqqcu31phas diff --git a/3d/platformer/player/player.glb.import b/3d/platformer/player/player.glb.import index 86a8384b..b48aacf2 100644 --- a/3d/platformer/player/player.glb.import +++ b/3d/platformer/player/player.glb.import @@ -18,6 +18,7 @@ nodes/root_name="Player" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true diff --git a/3d/platformer/player/player.tscn b/3d/platformer/player/player.tscn index e058c553..b42939cb 100644 --- a/3d/platformer/player/player.tscn +++ b/3d/platformer/player/player.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=28 format=3 uid="uid://cc4idhykjp5f5"] -[ext_resource type="Script" path="res://player/player.gd" id="1"] -[ext_resource type="Script" path="res://player/follow_camera.gd" id="2"] +[ext_resource type="Script" uid="uid://juqqcu31phas" path="res://player/player.gd" id="1"] +[ext_resource type="Script" uid="uid://c34yhkkhix7m7" path="res://player/follow_camera.gd" id="2"] [ext_resource type="PackedScene" uid="uid://yd1e7ai2k5cr" path="res://player/player.glb" id="3_uccbe"] [ext_resource type="Texture2D" uid="uid://kujhqacj3v72" path="res://player/controls/osb_up.webp" id="4_lmv6w"] [ext_resource type="Texture2D" uid="uid://68sox6egj4j7" path="res://player/controls/osb_down.webp" id="5_4oxdy"] @@ -79,13 +79,11 @@ node_connections = [&"air_dir", 0, &"Animation 3", &"air_dir", 1, &"Animation 4" random_pitch = 1.03 streams_count = 1 stream_0/stream = ExtResource("7") -stream_0/weight = 1.0 [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_axa7i"] random_pitch = 1.03 streams_count = 1 stream_0/stream = ExtResource("8") -stream_0/weight = 1.0 [sub_resource type="Gradient" id="Gradient_p2tu5"] interpolation_mode = 2 diff --git a/3d/platformer/project.godot b/3d/platformer/project.godot index e3929127..35e85c9f 100644 --- a/3d/platformer/project.godot +++ b/3d/platformer/project.godot @@ -15,7 +15,7 @@ config/description="Platformer 3D demo using a CharacterBody3D. It uses similar code to the 2D platformer, but implemented in 3D." config/tags=PackedStringArray("3d", "demo", "gridmap", "official", "physics") run/main_scene="res://game.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -150,8 +150,8 @@ lights_and_shadows/directional_shadow/size=8192 lights_and_shadows/directional_shadow/soft_shadow_filter_quality=3 lights_and_shadows/positional_shadow/soft_shadow_filter_quality=0 textures/default_filters/anisotropic_filtering_level=4 -textures/decals/filter=1 anti_aliasing/quality/msaa_3d=2 +textures/decals/filter=1 anti_aliasing/quality/use_debanding=true lights_and_shadows/positional_shadow/atlas_size=512 lights_and_shadows/positional_shadow/atlas_size.mobile=256 diff --git a/3d/platformer/stage/grid_map.scn b/3d/platformer/stage/grid_map.scn index c57b822d..0bb8bca1 100644 Binary files a/3d/platformer/stage/grid_map.scn and b/3d/platformer/stage/grid_map.scn differ diff --git a/3d/platformer/stage/stage.tscn b/3d/platformer/stage/stage.tscn index 22af6186..9e7925d6 100644 --- a/3d/platformer/stage/stage.tscn +++ b/3d/platformer/stage/stage.tscn @@ -16,8 +16,7 @@ sky = SubResource("Sky_qdkmq") ambient_light_source = 2 ambient_light_color = Color(0.6, 0.6, 0.6, 1) ambient_light_sky_contribution = 0.0 -tonemap_mode = 2 -tonemap_white = 6.0 +tonemap_mode = 4 fog_enabled = true fog_density = 0.0015 fog_sky_affect = 0.0 diff --git a/3d/procedural_materials/loading.gd.uid b/3d/procedural_materials/loading.gd.uid new file mode 100644 index 00000000..3774622d --- /dev/null +++ b/3d/procedural_materials/loading.gd.uid @@ -0,0 +1 @@ +uid://d34w66o0eq3h diff --git a/3d/procedural_materials/project.godot b/3d/procedural_materials/project.godot index 0ab2e074..9a902213 100644 --- a/3d/procedural_materials/project.godot +++ b/3d/procedural_materials/project.godot @@ -13,7 +13,7 @@ config_version=5 config/name="Procedural Materials" config/tags=PackedStringArray("3d", "demo", "official", "procedural", "rendering") run/main_scene="res://loading.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -30,5 +30,5 @@ window/stretch/aspect="expand" lights_and_shadows/directional_shadow/soft_shadow_filter_quality=3 textures/default_filters/anisotropic_filtering_level=4 -environment/defaults/default_clear_color=Color(0.301961, 0.301961, 0.301961, 1) anti_aliasing/quality/msaa_3d=2 +environment/defaults/default_clear_color=Color(0.301961, 0.301961, 0.301961, 1) diff --git a/3d/procedural_materials/scripts/grid.gd.uid b/3d/procedural_materials/scripts/grid.gd.uid new file mode 100644 index 00000000..b4a1c528 --- /dev/null +++ b/3d/procedural_materials/scripts/grid.gd.uid @@ -0,0 +1 @@ +uid://b0eoqk0ra4e44 diff --git a/3d/procedural_materials/shaders/plasma.gdshader.uid b/3d/procedural_materials/shaders/plasma.gdshader.uid new file mode 100644 index 00000000..4becd9c5 --- /dev/null +++ b/3d/procedural_materials/shaders/plasma.gdshader.uid @@ -0,0 +1 @@ +uid://c2sob8fforwfh diff --git a/3d/procedural_materials/test.tscn b/3d/procedural_materials/test.tscn index dd19cedc..7bd66b5c 100644 --- a/3d/procedural_materials/test.tscn +++ b/3d/procedural_materials/test.tscn @@ -20,8 +20,7 @@ sky_material = SubResource("9") [sub_resource type="Environment" id="11"] background_mode = 2 sky = SubResource("10") -tonemap_mode = 3 -tonemap_white = 6.0 +tonemap_mode = 4 [sub_resource type="StandardMaterial3D" id="13"] diffuse_mode = 1 diff --git a/3d/procedural_materials/tester.gd.uid b/3d/procedural_materials/tester.gd.uid new file mode 100644 index 00000000..f4fd893a --- /dev/null +++ b/3d/procedural_materials/tester.gd.uid @@ -0,0 +1 @@ +uid://d0cm5bgl3715n diff --git a/3d/rigidbody_character/level.gd.uid b/3d/rigidbody_character/level.gd.uid new file mode 100644 index 00000000..fd3f91aa --- /dev/null +++ b/3d/rigidbody_character/level.gd.uid @@ -0,0 +1 @@ +uid://cwpf43cjk6o52 diff --git a/3d/rigidbody_character/level.tscn b/3d/rigidbody_character/level.tscn index 94ae4863..420067e5 100644 --- a/3d/rigidbody_character/level.tscn +++ b/3d/rigidbody_character/level.tscn @@ -24,8 +24,7 @@ background_mode = 2 sky = SubResource("1") ambient_light_color = Color(1, 1, 1, 1) ambient_light_sky_contribution = 0.5 -tonemap_mode = 3 -tonemap_white = 6.0 +tonemap_mode = 4 glow_levels/7 = 1.0 glow_strength = 0.79 glow_bloom = 1.0 diff --git a/3d/rigidbody_character/models/cube.glb.import b/3d/rigidbody_character/models/cube.glb.import index 52d2ef67..7466e718 100644 --- a/3d/rigidbody_character/models/cube.glb.import +++ b/3d/rigidbody_character/models/cube.glb.import @@ -18,6 +18,7 @@ nodes/root_name="Cube" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true diff --git a/3d/rigidbody_character/models/mushroom.glb.import b/3d/rigidbody_character/models/mushroom.glb.import index a9365b29..cc7976db 100644 --- a/3d/rigidbody_character/models/mushroom.glb.import +++ b/3d/rigidbody_character/models/mushroom.glb.import @@ -18,6 +18,7 @@ nodes/root_name="Mushroom" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true diff --git a/3d/rigidbody_character/player/cubio.gd.uid b/3d/rigidbody_character/player/cubio.gd.uid new file mode 100644 index 00000000..8b5e0cd9 --- /dev/null +++ b/3d/rigidbody_character/player/cubio.gd.uid @@ -0,0 +1 @@ +uid://8e5vq04gpm2b diff --git a/3d/rigidbody_character/player/follow_camera.gd.uid b/3d/rigidbody_character/player/follow_camera.gd.uid new file mode 100644 index 00000000..781548c8 --- /dev/null +++ b/3d/rigidbody_character/player/follow_camera.gd.uid @@ -0,0 +1 @@ +uid://86cixhtmw0n3 diff --git a/3d/rigidbody_character/project.godot b/3d/rigidbody_character/project.godot index 66933131..34d0d507 100644 --- a/3d/rigidbody_character/project.godot +++ b/3d/rigidbody_character/project.godot @@ -15,7 +15,7 @@ config/description="Rigidbody character demo for 3D using a capsule for the char " config/tags=PackedStringArray("3d", "demo", "official", "physics") run/main_scene="res://level.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/3d/squash_the_creeps/Main.gd.uid b/3d/squash_the_creeps/Main.gd.uid new file mode 100644 index 00000000..d9c74525 --- /dev/null +++ b/3d/squash_the_creeps/Main.gd.uid @@ -0,0 +1 @@ +uid://dn0kiywu3mkq7 diff --git a/3d/squash_the_creeps/Main.tscn b/3d/squash_the_creeps/Main.tscn index ba6855af..d313dc6f 100644 --- a/3d/squash_the_creeps/Main.tscn +++ b/3d/squash_the_creeps/Main.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=15 format=3 uid="uid://2y3ar4s86yra"] -[ext_resource type="Script" path="res://Main.gd" id="1"] +[ext_resource type="Script" uid="uid://dn0kiywu3mkq7" path="res://Main.gd" id="1"] [ext_resource type="PackedScene" uid="uid://dp478jyugrn7o" path="res://Player.tscn" id="2"] [ext_resource type="PackedScene" uid="uid://ha0ar5s2c3m4" path="res://Mob.tscn" id="3"] [ext_resource type="Theme" uid="uid://cqquurjk1i7yw" path="res://ui_theme.tres" id="4_gnyca"] -[ext_resource type="Script" path="res://ScoreLabel.gd" id="6"] +[ext_resource type="Script" uid="uid://ofhvwth8plpb" path="res://ScoreLabel.gd" id="6"] [sub_resource type="BoxShape3D" id="1"] size = Vector3(60, 2, 60) @@ -24,7 +24,7 @@ sky_material = SubResource("ProceduralSkyMaterial_m3njk") [sub_resource type="Environment" id="Environment_0tcge"] background_mode = 2 sky = SubResource("Sky_yutuu") -tonemap_mode = 2 +tonemap_mode = 4 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cr5ed"] albedo_color = Color(0.635294, 0.211765, 0.0235294, 1) diff --git a/3d/squash_the_creeps/Mob.gd.uid b/3d/squash_the_creeps/Mob.gd.uid new file mode 100644 index 00000000..35a9fa6a --- /dev/null +++ b/3d/squash_the_creeps/Mob.gd.uid @@ -0,0 +1 @@ +uid://db48qhcxd4usg diff --git a/3d/squash_the_creeps/Mob.tscn b/3d/squash_the_creeps/Mob.tscn index 8033619d..ca7e7035 100644 --- a/3d/squash_the_creeps/Mob.tscn +++ b/3d/squash_the_creeps/Mob.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=7 format=3 uid="uid://ha0ar5s2c3m4"] -[ext_resource type="Script" path="res://Mob.gd" id="1"] +[ext_resource type="Script" uid="uid://db48qhcxd4usg" path="res://Mob.gd" id="1"] [ext_resource type="PackedScene" uid="uid://bicorb7we351t" path="res://art/mob.glb" id="2"] [sub_resource type="BoxShape3D" id="1"] @@ -39,7 +39,7 @@ tracks/1/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_5n6vs"] _data = { -"float": SubResource("2") +&"float": SubResource("2") } [node name="Mob" type="CharacterBody3D" groups=["mob"]] diff --git a/3d/squash_the_creeps/MusicPlayer.tscn b/3d/squash_the_creeps/MusicPlayer.tscn index 7f0826b6..29042906 100644 --- a/3d/squash_the_creeps/MusicPlayer.tscn +++ b/3d/squash_the_creeps/MusicPlayer.tscn @@ -1,7 +1,7 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://khf0gkxrnylp"] -[ext_resource path="res://art/House In a Forest Loop.ogg" type="AudioStream" id=1] +[ext_resource type="AudioStream" uid="uid://c5qpnfga41t4p" path="res://art/House In a Forest Loop.ogg" id="1"] [node name="MusicPlayer" type="AudioStreamPlayer"] -stream = ExtResource( 1 ) +stream = ExtResource("1") autoplay = true diff --git a/3d/squash_the_creeps/Player.gd.uid b/3d/squash_the_creeps/Player.gd.uid new file mode 100644 index 00000000..808abfc7 --- /dev/null +++ b/3d/squash_the_creeps/Player.gd.uid @@ -0,0 +1 @@ +uid://d1ilwo7xlp834 diff --git a/3d/squash_the_creeps/Player.tscn b/3d/squash_the_creeps/Player.tscn index 89025e55..0cf63d53 100644 --- a/3d/squash_the_creeps/Player.tscn +++ b/3d/squash_the_creeps/Player.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=8 format=3 uid="uid://dp478jyugrn7o"] -[ext_resource type="Script" path="res://Player.gd" id="1"] +[ext_resource type="Script" uid="uid://d1ilwo7xlp834" path="res://Player.gd" id="1"] [ext_resource type="PackedScene" uid="uid://d0ypm0v45pwdv" path="res://art/player.glb" id="2"] [sub_resource type="SphereShape3D" id="1"] @@ -44,7 +44,7 @@ tracks/1/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_aq6tr"] _data = { -"float": SubResource("3") +&"float": SubResource("3") } [node name="Player" type="CharacterBody3D"] diff --git a/3d/squash_the_creeps/ScoreLabel.gd.uid b/3d/squash_the_creeps/ScoreLabel.gd.uid new file mode 100644 index 00000000..d4de7bf3 --- /dev/null +++ b/3d/squash_the_creeps/ScoreLabel.gd.uid @@ -0,0 +1 @@ +uid://ofhvwth8plpb diff --git a/3d/squash_the_creeps/art/mob.glb.import b/3d/squash_the_creeps/art/mob.glb.import index d0387fd5..f78f7825 100644 --- a/3d/squash_the_creeps/art/mob.glb.import +++ b/3d/squash_the_creeps/art/mob.glb.import @@ -17,6 +17,8 @@ nodes/root_type="Spatial" nodes/root_name="Scene Root" nodes/apply_root_scale=true nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=false meshes/create_shadow_meshes=true @@ -28,6 +30,7 @@ animation/import=true animation/fps=15 animation/trimming=false animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false import_script/path="" _subresources={} gltf/naming_version=0 diff --git a/3d/squash_the_creeps/art/player.glb.import b/3d/squash_the_creeps/art/player.glb.import index 52f12df0..391fe920 100644 --- a/3d/squash_the_creeps/art/player.glb.import +++ b/3d/squash_the_creeps/art/player.glb.import @@ -17,6 +17,8 @@ nodes/root_type="Spatial" nodes/root_name="Scene Root" nodes/apply_root_scale=true nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=false meshes/create_shadow_meshes=true @@ -28,6 +30,7 @@ animation/import=true animation/fps=15 animation/trimming=false animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false import_script/path="" _subresources={} gltf/naming_version=0 diff --git a/3d/squash_the_creeps/fonts/Montserrat-Medium.ttf.import b/3d/squash_the_creeps/fonts/Montserrat-Medium.ttf.import index 4640bc8e..a6475e89 100644 --- a/3d/squash_the_creeps/fonts/Montserrat-Medium.ttf.import +++ b/3d/squash_the_creeps/fonts/Montserrat-Medium.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/Montserrat-Medium.ttf-e832861e4ad4110e172112d Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/3d/squash_the_creeps/project.godot b/3d/squash_the_creeps/project.godot index fc70f0c5..c1cbb676 100644 --- a/3d/squash_the_creeps/project.godot +++ b/3d/squash_the_creeps/project.godot @@ -17,7 +17,7 @@ This is a finished version of the game featured in the \"Your first 3D game\" tutorial in the official documentation." config/tags=PackedStringArray("3d", "demo", "official") run/main_scene="res://Main.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [autoload] @@ -37,35 +37,35 @@ import/blender/enabled=false move_left={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194319,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":113,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194319,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null) ] } move_right={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null) ] } move_forward={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":122,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) ] } move_back={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) ] } jump={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) , Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"canceled":false,"pressed":false,"double_click":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null) ] diff --git a/3d/truck_town/car_select/car_select.gd.uid b/3d/truck_town/car_select/car_select.gd.uid new file mode 100644 index 00000000..98c07acb --- /dev/null +++ b/3d/truck_town/car_select/car_select.gd.uid @@ -0,0 +1 @@ +uid://divmva3ph52yl diff --git a/3d/truck_town/car_select/car_select.tscn b/3d/truck_town/car_select/car_select.tscn index 38a6221e..0b628a51 100644 --- a/3d/truck_town/car_select/car_select.tscn +++ b/3d/truck_town/car_select/car_select.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=7 format=3 uid="uid://ckvqraq6j1okh"] -[ext_resource type="Script" path="res://car_select/car_select.gd" id="1"] +[ext_resource type="Script" uid="uid://divmva3ph52yl" path="res://car_select/car_select.gd" id="1"] [ext_resource type="Texture2D" uid="uid://bh7b4n4lg1uqt" path="res://car_select/choose_van.png" id="2"] [ext_resource type="Texture2D" uid="uid://hvkcmpdq1t0k" path="res://car_select/choose_trailer.png" id="3"] [ext_resource type="Texture2D" uid="uid://de7itkxhl0u28" path="res://car_select/choose_tow.png" id="4"] diff --git a/3d/truck_town/project.godot b/3d/truck_town/project.godot index 8de8b7b6..0cbf20b1 100644 --- a/3d/truck_town/project.godot +++ b/3d/truck_town/project.godot @@ -15,7 +15,7 @@ config/description="This is a demo implementing different types of trucks of varying complexity using vehicle physics." config/tags=PackedStringArray("3d", "demo", "official", "physics", "vehicle") run/main_scene="res://car_select/car_select.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -168,10 +168,10 @@ lights_and_shadows/directional_shadow/soft_shadow_filter_quality.mobile=1 lights_and_shadows/positional_shadow/soft_shadow_filter_quality=3 lights_and_shadows/positional_shadow/soft_shadow_filter_quality.mobile=1 textures/default_filters/anisotropic_filtering_level=4 +anti_aliasing/quality/msaa_3d=2 textures/default_filters/texture_mipmap_bias=-0.5 textures/decals/filter=1 environment/defaults/default_clear_color=Color(0.133333, 0.133333, 0.133333, 1) -anti_aliasing/quality/msaa_3d=2 anti_aliasing/quality/use_debanding=true lights_and_shadows/positional_shadow/atlas_size=2048 lights_and_shadows/positional_shadow/atlas_size.mobile=1024 diff --git a/3d/truck_town/spedometer.gd.uid b/3d/truck_town/spedometer.gd.uid new file mode 100644 index 00000000..a91c6a1f --- /dev/null +++ b/3d/truck_town/spedometer.gd.uid @@ -0,0 +1 @@ +uid://wvputaxreqtm diff --git a/3d/truck_town/town/model/town_model.gltf.import b/3d/truck_town/town/model/town_model.gltf.import index eb74146d..f8394258 100644 --- a/3d/truck_town/town/model/town_model.gltf.import +++ b/3d/truck_town/town/model/town_model.gltf.import @@ -18,6 +18,7 @@ nodes/root_name="" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true diff --git a/3d/truck_town/town/town_scene.gd.uid b/3d/truck_town/town/town_scene.gd.uid new file mode 100644 index 00000000..e0a1b666 --- /dev/null +++ b/3d/truck_town/town/town_scene.gd.uid @@ -0,0 +1 @@ +uid://ycaxe40edj35 diff --git a/3d/truck_town/town/town_scene.tscn b/3d/truck_town/town/town_scene.tscn index 533167e3..d8118c5d 100644 --- a/3d/truck_town/town/town_scene.tscn +++ b/3d/truck_town/town/town_scene.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=15 format=3 uid="uid://d0ygmqpylq0wy"] [ext_resource type="PackedScene" uid="uid://csucj4oj3q3qt" path="res://town/model/town_model.gltf" id="1_amwer"] -[ext_resource type="Script" path="res://town/town_scene.gd" id="1_gxe8p"] -[ext_resource type="Script" uid="uid://ikqivupl66lr" path="res://spedometer.gd" id="2"] +[ext_resource type="Script" uid="uid://ycaxe40edj35" path="res://town/town_scene.gd" id="1_gxe8p"] +[ext_resource type="Script" uid="uid://wvputaxreqtm" path="res://spedometer.gd" id="2"] [ext_resource type="Material" uid="uid://bpms6jemjgt36" path="res://town/sky_day.tres" id="2_1df3w"] [ext_resource type="Material" uid="uid://c71ovlrgdfif5" path="res://town/materials/grass.tres" id="2_ubld8"] [ext_resource type="Material" uid="uid://bdjiubscxkdn6" path="res://town/materials/cement.tres" id="3_8s61a"] @@ -13,8 +13,7 @@ sky_material = ExtResource("2_1df3w") [sub_resource type="Environment" id="Environment_dauhq"] background_mode = 2 sky = SubResource("Sky_1gf0c") -tonemap_mode = 2 -tonemap_white = 6.0 +tonemap_mode = 4 glow_intensity = 0.5 glow_blend_mode = 1 fog_enabled = true diff --git a/3d/truck_town/vehicles/car_base.tscn b/3d/truck_town/vehicles/car_base.tscn index 3d2ee8d4..c106ffcb 100644 --- a/3d/truck_town/vehicles/car_base.tscn +++ b/3d/truck_town/vehicles/car_base.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=19 format=3 uid="uid://c1uai3rvx8hul"] -[ext_resource type="Script" path="res://vehicles/vehicle.gd" id="1_r806m"] +[ext_resource type="Script" uid="uid://kt4hrufrklts" path="res://vehicles/vehicle.gd" id="1_r806m"] [ext_resource type="Texture2D" uid="uid://d4ostmqwgytk" path="res://vehicles/particle_smoke.png" id="2_1gkvk"] [ext_resource type="ArrayMesh" uid="uid://bqrwin8ccgptt" path="res://vehicles/meshes/wheel.res" id="2_3cqaw"] [ext_resource type="ArrayMesh" uid="uid://b2xi556mwp7ue" path="res://vehicles/meshes/minivan.res" id="3_cqia8"] -[ext_resource type="Script" path="res://vehicles/follow_camera.gd" id="4_6igu8"] +[ext_resource type="Script" uid="uid://bgr2k6joe7a2f" path="res://vehicles/follow_camera.gd" id="4_6igu8"] [ext_resource type="AudioStream" uid="uid://cb7wvsd6vygd3" path="res://vehicles/engine.wav" id="5_m8g7o"] [ext_resource type="AudioStream" uid="uid://sy2li7u35867" path="res://vehicles/impact_1.wav" id="6_kq567"] [ext_resource type="AudioStream" uid="uid://bf0h7s81yr8nj" path="res://vehicles/impact_2.wav" id="7_e8n8v"] diff --git a/3d/truck_town/vehicles/follow_camera.gd.uid b/3d/truck_town/vehicles/follow_camera.gd.uid new file mode 100644 index 00000000..1cdb384a --- /dev/null +++ b/3d/truck_town/vehicles/follow_camera.gd.uid @@ -0,0 +1 @@ +uid://bgr2k6joe7a2f diff --git a/3d/truck_town/vehicles/meshes/meshes.glb.import b/3d/truck_town/vehicles/meshes/meshes.glb.import index 842896a6..6ff88ae4 100644 --- a/3d/truck_town/vehicles/meshes/meshes.glb.import +++ b/3d/truck_town/vehicles/meshes/meshes.glb.import @@ -18,6 +18,7 @@ nodes/root_name="Scene Root" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true diff --git a/3d/truck_town/vehicles/meshes/minivan.res b/3d/truck_town/vehicles/meshes/minivan.res index 115c049d..b9c11555 100644 Binary files a/3d/truck_town/vehicles/meshes/minivan.res and b/3d/truck_town/vehicles/meshes/minivan.res differ diff --git a/3d/truck_town/vehicles/meshes/tow_truck.res b/3d/truck_town/vehicles/meshes/tow_truck.res index ef654e30..64893bee 100644 Binary files a/3d/truck_town/vehicles/meshes/tow_truck.res and b/3d/truck_town/vehicles/meshes/tow_truck.res differ diff --git a/3d/truck_town/vehicles/meshes/truck_cab.res b/3d/truck_town/vehicles/meshes/truck_cab.res index 1c0585e4..b97e20d2 100644 Binary files a/3d/truck_town/vehicles/meshes/truck_cab.res and b/3d/truck_town/vehicles/meshes/truck_cab.res differ diff --git a/3d/truck_town/vehicles/meshes/truck_trailer.res b/3d/truck_town/vehicles/meshes/truck_trailer.res index 4e05b0f4..ba02a7b8 100644 Binary files a/3d/truck_town/vehicles/meshes/truck_trailer.res and b/3d/truck_town/vehicles/meshes/truck_trailer.res differ diff --git a/3d/truck_town/vehicles/meshes/wheel.res b/3d/truck_town/vehicles/meshes/wheel.res index 10452fdc..6fb29bbe 100644 Binary files a/3d/truck_town/vehicles/meshes/wheel.res and b/3d/truck_town/vehicles/meshes/wheel.res differ diff --git a/3d/truck_town/vehicles/tow_truck.tscn b/3d/truck_town/vehicles/tow_truck.tscn index 1b3cb3ba..b5a90eee 100644 --- a/3d/truck_town/vehicles/tow_truck.tscn +++ b/3d/truck_town/vehicles/tow_truck.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=28 format=3 uid="uid://bh7765vrq5muf"] -[ext_resource type="Script" path="res://vehicles/vehicle.gd" id="1_qhfnb"] +[ext_resource type="Script" uid="uid://kt4hrufrklts" path="res://vehicles/vehicle.gd" id="1_qhfnb"] [ext_resource type="ArrayMesh" uid="uid://bqrwin8ccgptt" path="res://vehicles/meshes/wheel.res" id="2_uwuq1"] [ext_resource type="ArrayMesh" uid="uid://cbpqxxd14g8un" path="res://vehicles/meshes/tow_truck.res" id="3_tv0o3"] -[ext_resource type="Script" path="res://vehicles/follow_camera.gd" id="4_wddne"] +[ext_resource type="Script" uid="uid://bgr2k6joe7a2f" path="res://vehicles/follow_camera.gd" id="4_wddne"] [ext_resource type="ArrayMesh" uid="uid://ctglc27jx8xe2" path="res://vehicles/meshes/truck_cab.res" id="5_04cnp"] [ext_resource type="AudioStream" uid="uid://cb7wvsd6vygd3" path="res://vehicles/engine.wav" id="5_fwfew"] [ext_resource type="AudioStream" uid="uid://sy2li7u35867" path="res://vehicles/impact_1.wav" id="6_i7k5m"] diff --git a/3d/truck_town/vehicles/trailer_truck.tscn b/3d/truck_town/vehicles/trailer_truck.tscn index 0b4b2c73..61ca6cf4 100644 --- a/3d/truck_town/vehicles/trailer_truck.tscn +++ b/3d/truck_town/vehicles/trailer_truck.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=27 format=4 uid="uid://drinprblemj5u"] -[ext_resource type="Script" path="res://vehicles/vehicle.gd" id="1_wetfm"] +[ext_resource type="Script" uid="uid://kt4hrufrklts" path="res://vehicles/vehicle.gd" id="1_wetfm"] [ext_resource type="ArrayMesh" uid="uid://bqrwin8ccgptt" path="res://vehicles/meshes/wheel.res" id="2_q28iu"] [ext_resource type="ArrayMesh" uid="uid://ctglc27jx8xe2" path="res://vehicles/meshes/truck_cab.res" id="3_t1je7"] -[ext_resource type="Script" path="res://vehicles/follow_camera.gd" id="4_4yhuf"] +[ext_resource type="Script" uid="uid://bgr2k6joe7a2f" path="res://vehicles/follow_camera.gd" id="4_4yhuf"] [ext_resource type="AudioStream" uid="uid://sy2li7u35867" path="res://vehicles/impact_1.wav" id="6_n54jl"] [ext_resource type="AudioStream" uid="uid://cb7wvsd6vygd3" path="res://vehicles/engine.wav" id="6_r21ue"] [ext_resource type="AudioStream" uid="uid://bf0h7s81yr8nj" path="res://vehicles/impact_2.wav" id="7_i1avs"] diff --git a/3d/truck_town/vehicles/vehicle.gd.uid b/3d/truck_town/vehicles/vehicle.gd.uid new file mode 100644 index 00000000..b019fe31 --- /dev/null +++ b/3d/truck_town/vehicles/vehicle.gd.uid @@ -0,0 +1 @@ +uid://kt4hrufrklts diff --git a/3d/variable_rate_shading/information.gd.uid b/3d/variable_rate_shading/information.gd.uid new file mode 100644 index 00000000..72b8e264 --- /dev/null +++ b/3d/variable_rate_shading/information.gd.uid @@ -0,0 +1 @@ +uid://cxojup2wsc5ud diff --git a/3d/variable_rate_shading/project.godot b/3d/variable_rate_shading/project.godot index 9b46868e..9b643ec5 100644 --- a/3d/variable_rate_shading/project.godot +++ b/3d/variable_rate_shading/project.godot @@ -16,7 +16,7 @@ config/description="This project showcases how to use variable rate shading (VRS Performance metrics are also displayed to evaluate potential performance gains." config/tags=PackedStringArray("3d", "demo", "official", "performance", "rendering") run/main_scene="res://vrs.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/3d/variable_rate_shading/vrs.gd.uid b/3d/variable_rate_shading/vrs.gd.uid new file mode 100644 index 00000000..b5a3b512 --- /dev/null +++ b/3d/variable_rate_shading/vrs.gd.uid @@ -0,0 +1 @@ +uid://384tj2kcpe4i diff --git a/3d/variable_rate_shading/vrs.tscn b/3d/variable_rate_shading/vrs.tscn index 9b09a2bd..a0e33232 100644 --- a/3d/variable_rate_shading/vrs.tscn +++ b/3d/variable_rate_shading/vrs.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=16 format=3 uid="uid://byr2ixl00dqdl"] -[ext_resource type="Script" path="res://vrs.gd" id="1_5k5b8"] +[ext_resource type="Script" uid="uid://384tj2kcpe4i" path="res://vrs.gd" id="1_5k5b8"] [ext_resource type="Texture2D" uid="uid://dsdx5gplyr6or" path="res://vrs_texture.png" id="2_44sk1"] -[ext_resource type="Script" path="res://information.gd" id="3_mhihd"] +[ext_resource type="Script" uid="uid://cxojup2wsc5ud" path="res://information.gd" id="3_mhihd"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_xgdl3"] sky_horizon_color = Color(0.64625, 0.65575, 0.67075, 1) @@ -15,8 +15,7 @@ sky_material = SubResource("ProceduralSkyMaterial_xgdl3") [sub_resource type="Environment" id="Environment_0bhf1"] background_mode = 2 sky = SubResource("Sky_ndq4s") -tonemap_mode = 3 -tonemap_white = 6.0 +tonemap_mode = 4 glow_enabled = true [sub_resource type="BoxMesh" id="BoxMesh_t8cmv"] diff --git a/3d/variable_rate_shading/vrs_texture.gdshader.uid b/3d/variable_rate_shading/vrs_texture.gdshader.uid new file mode 100644 index 00000000..cd148e51 --- /dev/null +++ b/3d/variable_rate_shading/vrs_texture.gdshader.uid @@ -0,0 +1 @@ +uid://c4o5jq74u47fy diff --git a/3d/volumetric_fog/camera.gd.uid b/3d/volumetric_fog/camera.gd.uid new file mode 100644 index 00000000..d019c3db --- /dev/null +++ b/3d/volumetric_fog/camera.gd.uid @@ -0,0 +1 @@ +uid://dsqgladgv427l diff --git a/3d/volumetric_fog/project.godot b/3d/volumetric_fog/project.godot index 8da5bda0..784c805d 100644 --- a/3d/volumetric_fog/project.godot +++ b/3d/volumetric_fog/project.godot @@ -13,7 +13,7 @@ config_version=5 config/name="Volumetric Fog" config/tags=PackedStringArray("3d", "demo", "official", "rendering") run/main_scene="res://volumetric_fog.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/3d/volumetric_fog/volumetric_fog.tscn b/3d/volumetric_fog/volumetric_fog.tscn index d302642c..2c721037 100644 --- a/3d/volumetric_fog/volumetric_fog.tscn +++ b/3d/volumetric_fog/volumetric_fog.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=26 format=3 uid="uid://d1d6jy84lcpg7"] -[ext_resource type="Script" path="res://camera.gd" id="1_mfjvp"] +[ext_resource type="Script" uid="uid://dsqgladgv427l" path="res://camera.gd" id="1_mfjvp"] [ext_resource type="CompressedTexture3D" uid="uid://bpvy0e34otmhk" path="res://icon_outlined.png" id="2_8fjmj"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_fefkn"] @@ -15,7 +15,7 @@ sky_material = SubResource("ProceduralSkyMaterial_fefkn") [sub_resource type="Environment" id="Environment_gsgar"] background_mode = 2 sky = SubResource("Sky_5gwha") -tonemap_mode = 2 +tonemap_mode = 4 glow_enabled = true volumetric_fog_enabled = true @@ -167,8 +167,8 @@ tracks/2/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_avffy"] _data = { -"RESET": SubResource("Animation_jg7qq"), -"move_fog_volume": SubResource("Animation_axnf8") +&"RESET": SubResource("Animation_jg7qq"), +&"move_fog_volume": SubResource("Animation_axnf8") } [sub_resource type="BoxMesh" id="BoxMesh_fi43t"] diff --git a/3d/voxel/default_env.tres b/3d/voxel/default_env.tres deleted file mode 100644 index 8b57234e..00000000 --- a/3d/voxel/default_env.tres +++ /dev/null @@ -1,16 +0,0 @@ -[gd_resource type="Environment" load_steps=3 format=3 uid="uid://brymefbrev3s"] - -[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_rhfg5"] -sky_horizon_color = Color(0.64625, 0.65575, 0.67075, 1) -ground_horizon_color = Color(0.64625, 0.65575, 0.67075, 1) - -[sub_resource type="Sky" id="Sky_iri27"] -sky_material = SubResource( "ProceduralSkyMaterial_rhfg5" ) - -[resource] -background_mode = 2 -sky = SubResource( "Sky_iri27" ) -tonemap_mode = 2 -glow_enabled = true -fog_enabled = true -fog_aerial_perspective = 0.5 diff --git a/3d/voxel/menu/debug.gd.uid b/3d/voxel/menu/debug.gd.uid new file mode 100644 index 00000000..7035d39a --- /dev/null +++ b/3d/voxel/menu/debug.gd.uid @@ -0,0 +1 @@ +uid://b05s2e1kn311h diff --git a/3d/voxel/menu/ingame/pause_menu.gd.uid b/3d/voxel/menu/ingame/pause_menu.gd.uid new file mode 100644 index 00000000..1e97ca10 --- /dev/null +++ b/3d/voxel/menu/ingame/pause_menu.gd.uid @@ -0,0 +1 @@ +uid://b6vy0unljaxvy diff --git a/3d/voxel/menu/main/main_menu.gd.uid b/3d/voxel/menu/main/main_menu.gd.uid new file mode 100644 index 00000000..598a3234 --- /dev/null +++ b/3d/voxel/menu/main/main_menu.gd.uid @@ -0,0 +1 @@ +uid://vem4pxxf2p2o diff --git a/3d/voxel/menu/main/main_menu.tscn b/3d/voxel/menu/main/main_menu.tscn index c2650519..7237c117 100644 --- a/3d/voxel/menu/main/main_menu.tscn +++ b/3d/voxel/menu/main/main_menu.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=11 format=3 uid="uid://csdy1t6j24awl"] [ext_resource type="Texture2D" uid="uid://c2eorasvxyf5u" path="res://menu/main/title.png" id="1"] -[ext_resource type="Script" path="res://menu/main/splash_text.gd" id="2"] -[ext_resource type="Script" path="res://menu/main/main_menu.gd" id="3"] +[ext_resource type="Script" uid="uid://c1suva036dhbr" path="res://menu/main/splash_text.gd" id="2"] +[ext_resource type="Script" uid="uid://vem4pxxf2p2o" path="res://menu/main/main_menu.gd" id="3"] [ext_resource type="Texture2D" uid="uid://c514noc8ngc4x" path="res://menu/main/dark_dirt.png" id="4"] [ext_resource type="PackedScene" uid="uid://e22n700qhxqr" path="res://menu/options/options.tscn" id="5"] [ext_resource type="Theme" uid="uid://ckax6htygmelo" path="res://menu/theme/theme.tres" id="6"] diff --git a/3d/voxel/menu/main/splash_text.gd.uid b/3d/voxel/menu/main/splash_text.gd.uid new file mode 100644 index 00000000..f089c265 --- /dev/null +++ b/3d/voxel/menu/main/splash_text.gd.uid @@ -0,0 +1 @@ +uid://c1suva036dhbr diff --git a/3d/voxel/menu/options/option_buttons.gd.uid b/3d/voxel/menu/options/option_buttons.gd.uid new file mode 100644 index 00000000..107f6315 --- /dev/null +++ b/3d/voxel/menu/options/option_buttons.gd.uid @@ -0,0 +1 @@ +uid://i7n7l1g5k1hb diff --git a/3d/voxel/menu/options/options.gd.uid b/3d/voxel/menu/options/options.gd.uid new file mode 100644 index 00000000..d73c4360 --- /dev/null +++ b/3d/voxel/menu/options/options.gd.uid @@ -0,0 +1 @@ +uid://brj1q8sojgro4 diff --git a/3d/voxel/menu/theme/TinyUnicode.ttf.import b/3d/voxel/menu/theme/TinyUnicode.ttf.import index 9e89993e..4d7c0506 100644 --- a/3d/voxel/menu/theme/TinyUnicode.ttf.import +++ b/3d/voxel/menu/theme/TinyUnicode.ttf.import @@ -23,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/3d/voxel/player/player.gd.uid b/3d/voxel/player/player.gd.uid new file mode 100644 index 00000000..08de2d2e --- /dev/null +++ b/3d/voxel/player/player.gd.uid @@ -0,0 +1 @@ +uid://rm45k07vw817 diff --git a/3d/voxel/project.godot b/3d/voxel/project.godot index 1a4c7351..ee8e05fc 100644 --- a/3d/voxel/project.godot +++ b/3d/voxel/project.godot @@ -18,7 +18,7 @@ quite limiting. If you are making your own voxel game, you should probably use Zylann's voxel module instead: https://github.com/Zylann/godot_voxel" config/tags=PackedStringArray("3d", "demo", "official") run/main_scene="res://menu/main/main_menu.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [autoload] diff --git a/3d/voxel/settings.gd.uid b/3d/voxel/settings.gd.uid new file mode 100644 index 00000000..145b3f25 --- /dev/null +++ b/3d/voxel/settings.gd.uid @@ -0,0 +1 @@ +uid://ddll4d63eo8ik diff --git a/3d/voxel/world/chunk.gd.uid b/3d/voxel/world/chunk.gd.uid new file mode 100644 index 00000000..3877e9ab --- /dev/null +++ b/3d/voxel/world/chunk.gd.uid @@ -0,0 +1 @@ +uid://mhqbosjjrta4 diff --git a/3d/voxel/world/environment.gd.uid b/3d/voxel/world/environment.gd.uid new file mode 100644 index 00000000..a8fbcb3b --- /dev/null +++ b/3d/voxel/world/environment.gd.uid @@ -0,0 +1 @@ +uid://c83le0f8bxh5q diff --git a/3d/voxel/world/terrain_generator.gd.uid b/3d/voxel/world/terrain_generator.gd.uid new file mode 100644 index 00000000..e33f9637 --- /dev/null +++ b/3d/voxel/world/terrain_generator.gd.uid @@ -0,0 +1 @@ +uid://dvl32o3y3y34u diff --git a/3d/voxel/world/voxel_world.gd.uid b/3d/voxel/world/voxel_world.gd.uid new file mode 100644 index 00000000..534afcbc --- /dev/null +++ b/3d/voxel/world/voxel_world.gd.uid @@ -0,0 +1 @@ +uid://dkrm4ehfinjtk diff --git a/3d/voxel/world/world.tscn b/3d/voxel/world/world.tscn index b3fe5200..300524db 100644 --- a/3d/voxel/world/world.tscn +++ b/3d/voxel/world/world.tscn @@ -1,10 +1,10 @@ [gd_scene load_steps=10 format=3 uid="uid://3wtpjm677uyk"] [ext_resource type="PackedScene" uid="uid://1s4asqpay67m" path="res://player/player.tscn" id="1"] -[ext_resource type="Script" path="res://world/voxel_world.gd" id="2"] -[ext_resource type="Script" path="res://world/environment.gd" id="4"] +[ext_resource type="Script" uid="uid://dkrm4ehfinjtk" path="res://world/voxel_world.gd" id="2"] +[ext_resource type="Script" uid="uid://c83le0f8bxh5q" path="res://world/environment.gd" id="4"] [ext_resource type="PackedScene" uid="uid://dk8arl1if3lyr" path="res://menu/ingame/pause_menu.tscn" id="5"] -[ext_resource type="Script" path="res://menu/debug.gd" id="6"] +[ext_resource type="Script" uid="uid://b05s2e1kn311h" path="res://menu/debug.gd" id="6"] [ext_resource type="Theme" uid="uid://ckax6htygmelo" path="res://menu/theme/theme.tres" id="7"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_culy1"] @@ -17,7 +17,7 @@ sky_material = SubResource("ProceduralSkyMaterial_culy1") [sub_resource type="Environment" id="Environment_lwytn"] background_mode = 2 sky = SubResource("Sky_heg3k") -tonemap_mode = 2 +tonemap_mode = 4 fog_enabled = true fog_sun_scatter = 0.3 fog_sky_affect = 0.5 diff --git a/3d/waypoints/camera.gd.uid b/3d/waypoints/camera.gd.uid new file mode 100644 index 00000000..9c9e32d5 --- /dev/null +++ b/3d/waypoints/camera.gd.uid @@ -0,0 +1 @@ +uid://cx0dkr482ui5p diff --git a/3d/waypoints/default_env.tres b/3d/waypoints/default_env.tres deleted file mode 100644 index 4ac679b9..00000000 --- a/3d/waypoints/default_env.tres +++ /dev/null @@ -1,9 +0,0 @@ -[gd_resource type="Environment" load_steps=2 format=2] - -[sub_resource type="Sky" id=1] -sun_latitude = 30.0 -sun_longitude = 40.0 - -[resource] -background_mode = 2 -background_sky = SubResource( 1 ) diff --git a/3d/waypoints/main.tscn b/3d/waypoints/main.tscn index c124f4dd..6019baa9 100644 --- a/3d/waypoints/main.tscn +++ b/3d/waypoints/main.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=18 format=3 uid="uid://rj7yrj3c672g"] -[ext_resource type="Script" path="res://camera.gd" id="1"] +[ext_resource type="Script" uid="uid://cx0dkr482ui5p" path="res://camera.gd" id="1"] [ext_resource type="PackedScene" uid="uid://deqpan4silm2n" path="res://waypoint.tscn" id="2"] [sub_resource type="StandardMaterial3D" id="5"] @@ -51,8 +51,7 @@ sky_material = SubResource("ProceduralSkyMaterial_1hqbf") [sub_resource type="Environment" id="Environment_ob0ys"] background_mode = 2 sky = SubResource("Sky_47fsp") -tonemap_mode = 3 -tonemap_white = 6.0 +tonemap_mode = 4 [node name="Main" type="Node3D"] diff --git a/3d/waypoints/noto_sans_regular.ttf.import b/3d/waypoints/noto_sans_regular.ttf.import index 21898a5d..331883e5 100644 --- a/3d/waypoints/noto_sans_regular.ttf.import +++ b/3d/waypoints/noto_sans_regular.ttf.import @@ -23,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/3d/waypoints/project.godot b/3d/waypoints/project.godot index 2910ba4f..1adf5e10 100644 --- a/3d/waypoints/project.godot +++ b/3d/waypoints/project.godot @@ -14,7 +14,7 @@ config/name="3D Waypoints" config/description="This is an example of displaying GUI elements such as Labels in a 3D world, without relying on viewports. This results in better readability and performance for use cases such as showing player names." config/tags=PackedStringArray("3d", "demo", "official") run/main_scene="res://main.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/3d/waypoints/waypoint.gd.uid b/3d/waypoints/waypoint.gd.uid new file mode 100644 index 00000000..ef29ba21 --- /dev/null +++ b/3d/waypoints/waypoint.gd.uid @@ -0,0 +1 @@ +uid://bjpfryyf0j7ab diff --git a/audio/bpm_sync/bpm_sync.gd.uid b/audio/bpm_sync/bpm_sync.gd.uid new file mode 100644 index 00000000..f935b5c2 --- /dev/null +++ b/audio/bpm_sync/bpm_sync.gd.uid @@ -0,0 +1 @@ +uid://cf16w6xmoryli diff --git a/audio/bpm_sync/bpm_sync.tscn b/audio/bpm_sync/bpm_sync.tscn index dcd9301f..d97604ca 100644 --- a/audio/bpm_sync/bpm_sync.tscn +++ b/audio/bpm_sync/bpm_sync.tscn @@ -6,7 +6,7 @@ [ext_resource type="AudioStream" uid="uid://dumjxbamq37fe" path="res://the_comeback2.ogg" id="3"] [ext_resource type="Texture2D" uid="uid://y41g3g5d88f3" path="res://play_sound_button_hl.png" id="4"] [ext_resource type="Texture2D" uid="uid://cdpaolglwepko" path="res://play_system_button.png" id="5"] -[ext_resource type="Script" path="res://bpm_sync.gd" id="7"] +[ext_resource type="Script" uid="uid://cf16w6xmoryli" path="res://bpm_sync.gd" id="7"] [node name="BPMSync" type="Panel"] anchors_preset = 15 diff --git a/audio/bpm_sync/lcd.ttf.import b/audio/bpm_sync/lcd.ttf.import index 572b7c83..49170248 100644 --- a/audio/bpm_sync/lcd.ttf.import +++ b/audio/bpm_sync/lcd.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/lcd.ttf-94000d26745ba06b3dc55e650290dad3.font Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/audio/bpm_sync/project.godot b/audio/bpm_sync/project.godot index 40b34271..dd64e3b5 100644 --- a/audio/bpm_sync/project.godot +++ b/audio/bpm_sync/project.godot @@ -14,7 +14,7 @@ config/name="BPM Sync Demo" config/description="A demo of how to sync the audio playback with the time for a consistent BPM." config/tags=PackedStringArray("audio", "demo", "official") run/main_scene="res://bpm_sync.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/audio/device_changer/Changer.gd.uid b/audio/device_changer/Changer.gd.uid new file mode 100644 index 00000000..7a43505a --- /dev/null +++ b/audio/device_changer/Changer.gd.uid @@ -0,0 +1 @@ +uid://crcovtlk15ppi diff --git a/audio/device_changer/Changer.tscn b/audio/device_changer/Changer.tscn index b70a53a8..798cc4e9 100644 --- a/audio/device_changer/Changer.tscn +++ b/audio/device_changer/Changer.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://co1ys4ggr68mk"] -[ext_resource type="Script" path="res://Changer.gd" id="1"] +[ext_resource type="Script" uid="uid://crcovtlk15ppi" path="res://Changer.gd" id="1"] [ext_resource type="AudioStream" uid="uid://k0y5fyud50c1" path="res://Intro.ogg" id="2"] [node name="Changer" type="Control"] diff --git a/audio/device_changer/project.godot b/audio/device_changer/project.godot index 91da7a82..71a000ad 100644 --- a/audio/device_changer/project.godot +++ b/audio/device_changer/project.godot @@ -14,7 +14,7 @@ config/name="Audio Device Changer Demo" config/description="This is a demo showing how the audio output device can be changed from Godot." config/tags=PackedStringArray("audio", "demo", "official") run/main_scene="res://Changer.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" @@ -32,76 +32,76 @@ window/vsync/vsync_mode=0 ui_accept={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777221,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777222,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777221,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777222,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null) ] } ui_select={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":3,"pressure":0.0,"pressed":false,"script":null) ] } ui_cancel={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777217,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777217,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":1,"pressure":0.0,"pressed":false,"script":null) ] } ui_focus_next={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777218,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777218,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } ui_focus_prev={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } ui_left={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777231,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777231,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) ] } ui_right={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777233,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777233,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null) ] } ui_up={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777232,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777232,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) ] } ui_down={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777234,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777234,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) ] } ui_page_up={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777235,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777235,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } ui_page_down={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777236,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777236,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } ui_home={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777229,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777229,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } ui_end={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777230,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777230,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } diff --git a/audio/generator/generator.tscn b/audio/generator/generator.tscn index 68d3df89..4f6ba226 100644 --- a/audio/generator/generator.tscn +++ b/audio/generator/generator.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://deuhq8h4ymo7y"] -[ext_resource type="Script" path="res://generator_demo.gd" id="1"] +[ext_resource type="Script" uid="uid://cbujfviaqjaxb" path="res://generator_demo.gd" id="1"] [sub_resource type="AudioStreamGenerator" id="AudioStreamGenerator_8tsrq"] diff --git a/audio/generator/generator_demo.gd.uid b/audio/generator/generator_demo.gd.uid new file mode 100644 index 00000000..e1dad81b --- /dev/null +++ b/audio/generator/generator_demo.gd.uid @@ -0,0 +1 @@ +uid://cbujfviaqjaxb diff --git a/audio/generator/project.godot b/audio/generator/project.godot index 141cdb5b..b0d16ecf 100644 --- a/audio/generator/project.godot +++ b/audio/generator/project.godot @@ -16,7 +16,7 @@ play audio samples from GDScript. It plays a simple 440 Hz sine wave at 22050 Hz." config/tags=PackedStringArray("audio", "demo", "official") run/main_scene="res://generator.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" diff --git a/audio/mic_record/MicRecord.gd.uid b/audio/mic_record/MicRecord.gd.uid new file mode 100644 index 00000000..9cc9fa44 --- /dev/null +++ b/audio/mic_record/MicRecord.gd.uid @@ -0,0 +1 @@ +uid://d1vwxlua122d3 diff --git a/audio/mic_record/MicRecord.tscn b/audio/mic_record/MicRecord.tscn index 88bf2233..4766b1cf 100644 --- a/audio/mic_record/MicRecord.tscn +++ b/audio/mic_record/MicRecord.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://dvjlkpjvjxn0h"] -[ext_resource type="Script" path="res://MicRecord.gd" id="1"] +[ext_resource type="Script" uid="uid://d1vwxlua122d3" path="res://MicRecord.gd" id="1"] [ext_resource type="AudioStream" uid="uid://c2re52petqrvx" path="res://Intro.ogg" id="2"] [sub_resource type="AudioStreamMicrophone" id="1"] diff --git a/audio/mic_record/project.godot b/audio/mic_record/project.godot index 22e5069c..3322c0da 100644 --- a/audio/mic_record/project.godot +++ b/audio/mic_record/project.godot @@ -15,7 +15,7 @@ config/description="This is an example showing how one can record audio from the microphone and later play it back or save it to a file." config/tags=PackedStringArray("audio", "demo", "official") run/main_scene="res://MicRecord.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" diff --git a/audio/midi_piano/piano.gd.uid b/audio/midi_piano/piano.gd.uid new file mode 100644 index 00000000..382bf10d --- /dev/null +++ b/audio/midi_piano/piano.gd.uid @@ -0,0 +1 @@ +uid://bnap1n0intn83 diff --git a/audio/midi_piano/piano.tscn b/audio/midi_piano/piano.tscn index 9fff9fa8..2104eddf 100644 --- a/audio/midi_piano/piano.tscn +++ b/audio/midi_piano/piano.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://dctcehelc4sv0"] -[ext_resource type="Script" path="res://piano.gd" id="1"] +[ext_resource type="Script" uid="uid://bnap1n0intn83" path="res://piano.gd" id="1"] [node name="Piano" type="ColorRect"] anchors_preset = 15 diff --git a/audio/midi_piano/piano_keys/black_piano_key.tscn b/audio/midi_piano/piano_keys/black_piano_key.tscn index bf139317..dea2a019 100644 --- a/audio/midi_piano/piano_keys/black_piano_key.tscn +++ b/audio/midi_piano/piano_keys/black_piano_key.tscn @@ -1,14 +1,14 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=3 format=3 uid="uid://cm4esrs15qsr6"] -[ext_resource path="res://piano_keys/piano_key.gd" type="Script" id=1] -[ext_resource path="res://piano_keys/piano_key_color.gd" type="Script" id=2] +[ext_resource type="Script" uid="uid://8g1i1otpp364" path="res://piano_keys/piano_key.gd" id="1"] +[ext_resource type="Script" uid="uid://b02quekjr8vc7" path="res://piano_keys/piano_key_color.gd" id="2"] [node name="PianoKey" type="Control"] offset_right = 20.0 offset_bottom = 200.0 mouse_filter = 2 size_flags_horizontal = 3 -script = ExtResource( 1 ) +script = ExtResource("1") __meta__ = { "_edit_use_anchors_": false } @@ -21,7 +21,7 @@ offset_left = 2.0 offset_right = -2.0 size_flags_horizontal = 3 color = Color(0, 0, 0, 1) -script = ExtResource( 2 ) +script = ExtResource("2") __meta__ = { "_edit_use_anchors_": false } diff --git a/audio/midi_piano/piano_keys/piano_key.gd.uid b/audio/midi_piano/piano_keys/piano_key.gd.uid new file mode 100644 index 00000000..002961d8 --- /dev/null +++ b/audio/midi_piano/piano_keys/piano_key.gd.uid @@ -0,0 +1 @@ +uid://8g1i1otpp364 diff --git a/audio/midi_piano/piano_keys/piano_key_color.gd.uid b/audio/midi_piano/piano_keys/piano_key_color.gd.uid new file mode 100644 index 00000000..ea5646fa --- /dev/null +++ b/audio/midi_piano/piano_keys/piano_key_color.gd.uid @@ -0,0 +1 @@ +uid://b02quekjr8vc7 diff --git a/audio/midi_piano/piano_keys/white_piano_key.tscn b/audio/midi_piano/piano_keys/white_piano_key.tscn index df788247..ae91c873 100644 --- a/audio/midi_piano/piano_keys/white_piano_key.tscn +++ b/audio/midi_piano/piano_keys/white_piano_key.tscn @@ -1,13 +1,13 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=3 format=3 uid="uid://bfndn1ls8rgnp"] -[ext_resource path="res://piano_keys/piano_key.gd" type="Script" id=1] -[ext_resource path="res://piano_keys/piano_key_color.gd" type="Script" id=2] +[ext_resource type="Script" uid="uid://8g1i1otpp364" path="res://piano_keys/piano_key.gd" id="1"] +[ext_resource type="Script" uid="uid://b02quekjr8vc7" path="res://piano_keys/piano_key_color.gd" id="2"] [node name="PianoKey" type="Control"] offset_right = 20.0 offset_bottom = 200.0 size_flags_horizontal = 3 -script = ExtResource( 1 ) +script = ExtResource("1") __meta__ = { "_edit_use_anchors_": false } @@ -18,7 +18,7 @@ anchor_bottom = 1.0 offset_left = 1.0 offset_right = -1.0 size_flags_horizontal = 3 -script = ExtResource( 2 ) +script = ExtResource("2") __meta__ = { "_edit_use_anchors_": false } diff --git a/audio/midi_piano/project.godot b/audio/midi_piano/project.godot index 32a9fd90..1be4349e 100644 --- a/audio/midi_piano/project.godot +++ b/audio/midi_piano/project.godot @@ -13,7 +13,7 @@ config_version=5 config/name="MIDI Piano Demo" config/tags=PackedStringArray("audio", "demo", "official") run/main_scene="res://piano.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/audio/spectrum/project.godot b/audio/spectrum/project.godot index d6a97441..089efe16 100644 --- a/audio/spectrum/project.godot +++ b/audio/spectrum/project.godot @@ -14,7 +14,7 @@ config/name="Audio Spectrum Demo" config/description="This is a demo showing how a spectrum analyzer can be built using Godot." config/tags=PackedStringArray("audio", "demo", "official", "visualization") run/main_scene="res://show_spectrum.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" diff --git a/audio/spectrum/show_spectrum.gd.uid b/audio/spectrum/show_spectrum.gd.uid new file mode 100644 index 00000000..372fa3dd --- /dev/null +++ b/audio/spectrum/show_spectrum.gd.uid @@ -0,0 +1 @@ +uid://cl8xm0e7efs55 diff --git a/audio/spectrum/show_spectrum.tscn b/audio/spectrum/show_spectrum.tscn index 68edf5d6..2dc30457 100644 --- a/audio/spectrum/show_spectrum.tscn +++ b/audio/spectrum/show_spectrum.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://dfyeamw4sg2af"] -[ext_resource type="Script" path="res://show_spectrum.gd" id="1"] +[ext_resource type="Script" uid="uid://cl8xm0e7efs55" path="res://show_spectrum.gd" id="1"] [ext_resource type="AudioStream" uid="uid://dl3ppges2sw77" path="res://maldita.ogg" id="2"] [node name="ShowSpectrum" type="Node2D"] diff --git a/audio/text_to_speech/control.tscn b/audio/text_to_speech/control.tscn index 29e3712c..90de9de1 100644 --- a/audio/text_to_speech/control.tscn +++ b/audio/text_to_speech/control.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://u5emvyeyodyh"] -[ext_resource type="Script" path="res://voice_list.gd" id="1_0bwjs"] +[ext_resource type="Script" uid="uid://do4voajl5ebhv" path="res://voice_list.gd" id="1_0bwjs"] [node name="Control" type="Control"] layout_mode = 3 diff --git a/audio/text_to_speech/project.godot b/audio/text_to_speech/project.godot index cacb368d..683f0de6 100644 --- a/audio/text_to_speech/project.godot +++ b/audio/text_to_speech/project.godot @@ -14,7 +14,7 @@ config/name="Text-to-speech demo" config/description="This is a demo showing text-to-speech support." config/tags=PackedStringArray("accessibility", "demo", "gui", "official") run/main_scene="res://control.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [audio] diff --git a/audio/text_to_speech/voice_list.gd.uid b/audio/text_to_speech/voice_list.gd.uid new file mode 100644 index 00000000..fcac6e56 --- /dev/null +++ b/audio/text_to_speech/voice_list.gd.uid @@ -0,0 +1 @@ +uid://do4voajl5ebhv diff --git a/compute/post_shader/main.gd.uid b/compute/post_shader/main.gd.uid new file mode 100644 index 00000000..b8abd83c --- /dev/null +++ b/compute/post_shader/main.gd.uid @@ -0,0 +1 @@ +uid://4fiju4j550yb diff --git a/compute/post_shader/main.tscn b/compute/post_shader/main.tscn index a0d16aa6..c48445be 100644 --- a/compute/post_shader/main.tscn +++ b/compute/post_shader/main.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=17 format=3 uid="uid://bpfg1l8j4i08u"] -[ext_resource type="Script" path="res://main.gd" id="1_o0pyp"] +[ext_resource type="Script" uid="uid://4fiju4j550yb" path="res://main.gd" id="1_o0pyp"] [ext_resource type="Texture2D" uid="uid://br4k6sn2rvgj" path="res://pattern.png" id="1_r22bv"] -[ext_resource type="Script" path="res://post_process_shader.gd" id="1_rkpno"] -[ext_resource type="Script" path="res://post_process_grayscale.gd" id="2_pwabc"] +[ext_resource type="Script" uid="uid://c726jddgfchjb" path="res://post_process_shader.gd" id="1_rkpno"] +[ext_resource type="Script" uid="uid://b10l0f4aslyya" path="res://post_process_grayscale.gd" id="2_pwabc"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_lnmx8"] sky_horizon_color = Color(0.64625, 0.65575, 0.67075, 1) @@ -15,7 +15,7 @@ sky_material = SubResource("ProceduralSkyMaterial_lnmx8") [sub_resource type="Environment" id="Environment_fjaix"] background_mode = 2 sky = SubResource("Sky_guc0r") -tonemap_mode = 2 +tonemap_mode = 4 glow_enabled = true [sub_resource type="CompositorEffect" id="CompositorEffect_d6jju"] diff --git a/compute/post_shader/post_process_grayscale.gd.uid b/compute/post_shader/post_process_grayscale.gd.uid new file mode 100644 index 00000000..3347b309 --- /dev/null +++ b/compute/post_shader/post_process_grayscale.gd.uid @@ -0,0 +1 @@ +uid://b10l0f4aslyya diff --git a/compute/post_shader/post_process_shader.gd.uid b/compute/post_shader/post_process_shader.gd.uid new file mode 100644 index 00000000..be12b98c --- /dev/null +++ b/compute/post_shader/post_process_shader.gd.uid @@ -0,0 +1 @@ +uid://c726jddgfchjb diff --git a/compute/post_shader/project.godot b/compute/post_shader/project.godot index 2d9540b8..a1e2faf4 100644 --- a/compute/post_shader/project.godot +++ b/compute/post_shader/project.godot @@ -12,7 +12,7 @@ config_version=5 config/name="Compositor Effects (Post-Processing)" run/main_scene="res://main.tscn" -config/features=PackedStringArray("4.3", "Forward Plus") +config/features=PackedStringArray("4.4", "Forward Plus") config/icon="res://icon.svg" [debug] diff --git a/compute/texture/main.gd.uid b/compute/texture/main.gd.uid new file mode 100644 index 00000000..3cb8aa8a --- /dev/null +++ b/compute/texture/main.gd.uid @@ -0,0 +1 @@ +uid://c5og1p3tits8n diff --git a/compute/texture/main.tscn b/compute/texture/main.tscn index 2d33e65b..6487f72f 100644 --- a/compute/texture/main.tscn +++ b/compute/texture/main.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=7 format=3 uid="uid://c7nfvt1chslyh"] -[ext_resource type="Script" path="res://main.gd" id="1_yvrvl"] +[ext_resource type="Script" uid="uid://c5og1p3tits8n" path="res://main.gd" id="1_yvrvl"] [ext_resource type="Texture2D" uid="uid://d051ugdf65it1" path="res://assets/polyhaven/industrial_sunset_puresky_2k.hdr" id="2_g2q6b"] [ext_resource type="PackedScene" uid="uid://b2a5bjsxw63wr" path="res://water_plane/water_plane.tscn" id="2_k1nfp"] @@ -13,8 +13,7 @@ sky_material = SubResource("PanoramaSkyMaterial_obhcg") [sub_resource type="Environment" id="Environment_5dv8s"] background_mode = 2 sky = SubResource("Sky_s1sgk") -tonemap_mode = 2 -tonemap_white = 4.56 +tonemap_mode = 4 [node name="Main" type="Node3D"] script = ExtResource("1_yvrvl") diff --git a/compute/texture/project.godot b/compute/texture/project.godot index b4121a26..f4ece1b2 100644 --- a/compute/texture/project.godot +++ b/compute/texture/project.godot @@ -13,7 +13,7 @@ config_version=5 config/name="Compute Texture" config/tags=PackedStringArray("3d", "demo", "official", "rendering") run/main_scene="res://main.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.svg" [debug] diff --git a/compute/texture/water_plane/water_plane.gd.uid b/compute/texture/water_plane/water_plane.gd.uid new file mode 100644 index 00000000..e552169e --- /dev/null +++ b/compute/texture/water_plane/water_plane.gd.uid @@ -0,0 +1 @@ +uid://bcyew2ivtyik2 diff --git a/compute/texture/water_plane/water_plane.tscn b/compute/texture/water_plane/water_plane.tscn index b520d4aa..0ca27a61 100644 --- a/compute/texture/water_plane/water_plane.tscn +++ b/compute/texture/water_plane/water_plane.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=11 format=3 uid="uid://b2a5bjsxw63wr"] -[ext_resource type="Script" path="res://water_plane/water_plane.gd" id="1_ltm8k"] -[ext_resource type="Shader" path="res://water_plane/water_shader.gdshader" id="1_rujqj"] +[ext_resource type="Script" uid="uid://bcyew2ivtyik2" path="res://water_plane/water_plane.gd" id="1_ltm8k"] +[ext_resource type="Shader" uid="uid://db8ftbgw7qre3" path="res://water_plane/water_shader.gdshader" id="1_rujqj"] [ext_resource type="Texture2D" uid="uid://d051ugdf65it1" path="res://assets/polyhaven/industrial_sunset_puresky_2k.hdr" id="3_fdqn0"] [sub_resource type="Texture2DRD" id="Texture2DRD_gbeoi"] @@ -13,8 +13,8 @@ shader = ExtResource("1_rujqj") shader_parameter/albedo = Color(5.19812e-06, 0.748295, 0.942472, 1) shader_parameter/metalic = 1.0 shader_parameter/roughness = 0.0 -shader_parameter/effect_texture_size = null shader_parameter/effect_texture = SubResource("Texture2DRD_gbeoi") +shader_parameter/effect_texture_size = Vector2(0, 0) [sub_resource type="PlaneMesh" id="PlaneMesh_wl5mm"] size = Vector2(5, 5) diff --git a/compute/texture/water_plane/water_shader.gdshader.uid b/compute/texture/water_plane/water_shader.gdshader.uid new file mode 100644 index 00000000..4562e553 --- /dev/null +++ b/compute/texture/water_plane/water_shader.gdshader.uid @@ -0,0 +1 @@ +uid://db8ftbgw7qre3 diff --git a/gui/bidi_and_font_features/bidi.gd.uid b/gui/bidi_and_font_features/bidi.gd.uid new file mode 100644 index 00000000..36e5b547 --- /dev/null +++ b/gui/bidi_and_font_features/bidi.gd.uid @@ -0,0 +1 @@ +uid://gqrqtmbho5lj diff --git a/gui/bidi_and_font_features/bidi.tscn b/gui/bidi_and_font_features/bidi.tscn index 082bc864..38dc9520 100644 --- a/gui/bidi_and_font_features/bidi.tscn +++ b/gui/bidi_and_font_features/bidi.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=21 format=3 uid="uid://doa7j7q1j4p4e"] -[ext_resource type="Script" path="res://bidi.gd" id="2"] +[ext_resource type="Script" uid="uid://gqrqtmbho5lj" path="res://bidi.gd" id="2"] [ext_resource type="FontFile" uid="uid://dcyy0x2u3jocr" path="res://fonts/NotoSansThaiUI_Regular.ttf" id="2_plk2w"] -[ext_resource type="Script" path="res://custom_st_parser.gd" id="3"] +[ext_resource type="Script" uid="uid://c1yur7v2rmbrg" path="res://custom_st_parser.gd" id="3"] [ext_resource type="FontFile" uid="uid://bk3udiiuy60g4" path="res://fonts/NotoNaskhArabicUI_Regular.ttf" id="3_cf43x"] [ext_resource type="FontVariation" uid="uid://bymgwaapysw4i" path="res://lib_font.tres" id="4"] [ext_resource type="FontFile" uid="uid://cwer1pi5ka4io" path="res://fonts/NotoSansHebrew_Regular.ttf" id="4_03wxc"] diff --git a/gui/bidi_and_font_features/custom_st_parser.gd.uid b/gui/bidi_and_font_features/custom_st_parser.gd.uid new file mode 100644 index 00000000..5f9a56ff --- /dev/null +++ b/gui/bidi_and_font_features/custom_st_parser.gd.uid @@ -0,0 +1 @@ +uid://c1yur7v2rmbrg diff --git a/gui/bidi_and_font_features/fonts/LinLibertine_R.otf.import b/gui/bidi_and_font_features/fonts/LinLibertine_R.otf.import index 4c34379e..b568c753 100644 --- a/gui/bidi_and_font_features/fonts/LinLibertine_R.otf.import +++ b/gui/bidi_and_font_features/fonts/LinLibertine_R.otf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/LinLibertine_R.otf-0d33583986cf94e9ad55cc89a5 Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8.0 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/gui/bidi_and_font_features/fonts/NotoNaskhArabicUI_Regular.ttf.import b/gui/bidi_and_font_features/fonts/NotoNaskhArabicUI_Regular.ttf.import index d0f65c20..39880ff2 100644 --- a/gui/bidi_and_font_features/fonts/NotoNaskhArabicUI_Regular.ttf.import +++ b/gui/bidi_and_font_features/fonts/NotoNaskhArabicUI_Regular.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/NotoNaskhArabicUI_Regular.ttf-71ae3841953d426 Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/gui/bidi_and_font_features/fonts/NotoSansHebrew_Regular.ttf.import b/gui/bidi_and_font_features/fonts/NotoSansHebrew_Regular.ttf.import index 1a33b362..e8be74b6 100644 --- a/gui/bidi_and_font_features/fonts/NotoSansHebrew_Regular.ttf.import +++ b/gui/bidi_and_font_features/fonts/NotoSansHebrew_Regular.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/NotoSansHebrew_Regular.ttf-9d09161984e30bb05b Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8.0 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/gui/bidi_and_font_features/fonts/NotoSansThaiUI_Regular.ttf.import b/gui/bidi_and_font_features/fonts/NotoSansThaiUI_Regular.ttf.import index baccff7c..3dcb9d52 100644 --- a/gui/bidi_and_font_features/fonts/NotoSansThaiUI_Regular.ttf.import +++ b/gui/bidi_and_font_features/fonts/NotoSansThaiUI_Regular.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/NotoSansThaiUI_Regular.ttf-a2b65614687aa5ce07 Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8.0 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/gui/bidi_and_font_features/fonts/NotoSansUI_Regular.ttf.import b/gui/bidi_and_font_features/fonts/NotoSansUI_Regular.ttf.import index 92dca02c..1f6e4e6f 100644 --- a/gui/bidi_and_font_features/fonts/NotoSansUI_Regular.ttf.import +++ b/gui/bidi_and_font_features/fonts/NotoSansUI_Regular.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/NotoSansUI_Regular.ttf-e126ff40055cb76ad97143 Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8.0 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/gui/bidi_and_font_features/fonts/Recursive_VF_subset-GF_latin_basic.woff2.import b/gui/bidi_and_font_features/fonts/Recursive_VF_subset-GF_latin_basic.woff2.import index 8c2efa42..fb32c5f9 100644 --- a/gui/bidi_and_font_features/fonts/Recursive_VF_subset-GF_latin_basic.woff2.import +++ b/gui/bidi_and_font_features/fonts/Recursive_VF_subset-GF_latin_basic.woff2.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/Recursive_VF_subset-GF_latin_basic.woff2-8863 Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/gui/bidi_and_font_features/project.godot b/gui/bidi_and_font_features/project.godot index 3df645a2..9b5b8556 100644 --- a/gui/bidi_and_font_features/project.godot +++ b/gui/bidi_and_font_features/project.godot @@ -13,7 +13,7 @@ config_version=5 config/name="BiDi and Font Features" config/tags=PackedStringArray("demo", "gui", "official") run/main_scene="res://bidi.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" diff --git a/gui/control_gallery/control_gallery.tscn b/gui/control_gallery/control_gallery.tscn index f82af92c..f727ca7e 100644 --- a/gui/control_gallery/control_gallery.tscn +++ b/gui/control_gallery/control_gallery.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://dy11txudwdmgy"] [ext_resource type="Texture2D" uid="uid://brwp8bimc75uu" path="res://icon.webp" id="1_8tycj"] -[ext_resource type="Script" path="res://tree.gd" id="2_68sc3"] +[ext_resource type="Script" uid="uid://bh4pfy7ykbtl2" path="res://tree.gd" id="2_68sc3"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_bl4wp"] content_margin_left = 10.0 diff --git a/gui/control_gallery/project.godot b/gui/control_gallery/project.godot index a6a944c4..1dbf4db9 100644 --- a/gui/control_gallery/project.godot +++ b/gui/control_gallery/project.godot @@ -14,7 +14,7 @@ config/name="Control Gallery" config/description="Showcases various Control nodes with their names affixed for easy recognition." config/tags=PackedStringArray("demo", "gui", "official") run/main_scene="res://control_gallery.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" diff --git a/gui/control_gallery/tree.gd.uid b/gui/control_gallery/tree.gd.uid new file mode 100644 index 00000000..180d78d2 --- /dev/null +++ b/gui/control_gallery/tree.gd.uid @@ -0,0 +1 @@ +uid://bh4pfy7ykbtl2 diff --git a/gui/drag_and_drop/drag_and_drop.tscn b/gui/drag_and_drop/drag_and_drop.tscn index 86431d01..ab2d2a2b 100644 --- a/gui/drag_and_drop/drag_and_drop.tscn +++ b/gui/drag_and_drop/drag_and_drop.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://bfrbj2aq7xqe4"] -[ext_resource type="Script" path="res://drag_drop_script.gd" id="1"] +[ext_resource type="Script" uid="uid://w33ulhuhrjo6" path="res://drag_drop_script.gd" id="1"] [node name="DragAndDrop" type="Control"] layout_mode = 3 diff --git a/gui/drag_and_drop/drag_drop_script.gd.uid b/gui/drag_and_drop/drag_drop_script.gd.uid new file mode 100644 index 00000000..a8768d00 --- /dev/null +++ b/gui/drag_and_drop/drag_drop_script.gd.uid @@ -0,0 +1 @@ +uid://w33ulhuhrjo6 diff --git a/gui/drag_and_drop/project.godot b/gui/drag_and_drop/project.godot index bc9d1f2e..c29e6687 100644 --- a/gui/drag_and_drop/project.godot +++ b/gui/drag_and_drop/project.godot @@ -17,7 +17,7 @@ config/description="A demo showcasing drag and drop functionality. - Click on the buttons to manually adjust their color." config/tags=PackedStringArray("demo", "gui", "official") run/main_scene="res://drag_and_drop.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" diff --git a/gui/gd_paint/paint_control.gd.uid b/gui/gd_paint/paint_control.gd.uid new file mode 100644 index 00000000..93a38894 --- /dev/null +++ b/gui/gd_paint/paint_control.gd.uid @@ -0,0 +1 @@ +uid://c3qox3onxh0we diff --git a/gui/gd_paint/paint_root.tscn b/gui/gd_paint/paint_root.tscn index b31b04d4..1c49939b 100644 --- a/gui/gd_paint/paint_root.tscn +++ b/gui/gd_paint/paint_root.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=10 format=3 uid="uid://bhjmyer4wlwy2"] -[ext_resource type="Script" path="res://paint_control.gd" id="1"] -[ext_resource type="Script" path="res://tools_panel.gd" id="2"] +[ext_resource type="Script" uid="uid://c3qox3onxh0we" path="res://paint_control.gd" id="1"] +[ext_resource type="Script" uid="uid://bu3w4m4lffwrc" path="res://tools_panel.gd" id="2"] [ext_resource type="Texture2D" uid="uid://cdqq0m3rrlbva" path="res://paint_tools.png" id="3"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4ksjc"] diff --git a/gui/gd_paint/project.godot b/gui/gd_paint/project.godot index 228b520b..d9b67c0e 100644 --- a/gui/gd_paint/project.godot +++ b/gui/gd_paint/project.godot @@ -16,7 +16,7 @@ It supports different types of 'brushes': a basic pen/pencil and eraser, as well as a rectangle and a circle brush." config/tags=PackedStringArray("demo", "gui", "official") run/main_scene="res://paint_root.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/gui/gd_paint/tools_panel.gd.uid b/gui/gd_paint/tools_panel.gd.uid new file mode 100644 index 00000000..727e0ef1 --- /dev/null +++ b/gui/gd_paint/tools_panel.gd.uid @@ -0,0 +1 @@ +uid://bu3w4m4lffwrc diff --git a/gui/input_mapping/ActionRemapButton.gd.uid b/gui/input_mapping/ActionRemapButton.gd.uid new file mode 100644 index 00000000..a15585d1 --- /dev/null +++ b/gui/input_mapping/ActionRemapButton.gd.uid @@ -0,0 +1 @@ +uid://rbsby5v73hrx diff --git a/gui/input_mapping/ActionRemapButton.tscn b/gui/input_mapping/ActionRemapButton.tscn index 34c18a28..4d27661a 100644 --- a/gui/input_mapping/ActionRemapButton.tscn +++ b/gui/input_mapping/ActionRemapButton.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://cy6kmby6mupvv"] -[ext_resource type="Script" path="res://ActionRemapButton.gd" id="1"] +[ext_resource type="Script" uid="uid://rbsby5v73hrx" path="res://ActionRemapButton.gd" id="1"] [node name="ActionRemapButton" type="Button"] offset_right = 90.0 diff --git a/gui/input_mapping/KeyPersistence.gd.uid b/gui/input_mapping/KeyPersistence.gd.uid new file mode 100644 index 00000000..23a7acd7 --- /dev/null +++ b/gui/input_mapping/KeyPersistence.gd.uid @@ -0,0 +1 @@ +uid://blx4uxto7bsmy diff --git a/gui/input_mapping/project.godot b/gui/input_mapping/project.godot index a98c661b..02876997 100644 --- a/gui/input_mapping/project.godot +++ b/gui/input_mapping/project.godot @@ -18,7 +18,7 @@ config/description="A demo showing how to build an input key remapping screen. after the project is restarted." config/tags=PackedStringArray("demo", "gui", "input", "official", "settings") run/main_scene="res://InputRemapMenu.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [autoload] @@ -40,27 +40,27 @@ window/stretch/aspect="expand" move_right={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } move_left={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } look_up={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } crouch={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } dash={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) ] } diff --git a/gui/msdf_font/montserrat_semibold.ttf.import b/gui/msdf_font/montserrat_semibold.ttf.import index f60d2302..7bbe2dc7 100644 --- a/gui/msdf_font/montserrat_semibold.ttf.import +++ b/gui/msdf_font/montserrat_semibold.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/montserrat_semibold.ttf-82447902655912d350b40 Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/gui/msdf_font/montserrat_semibold_msdf.ttf.import b/gui/msdf_font/montserrat_semibold_msdf.ttf.import index 91cb9280..515eed5d 100644 --- a/gui/msdf_font/montserrat_semibold_msdf.ttf.import +++ b/gui/msdf_font/montserrat_semibold_msdf.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/montserrat_semibold_msdf.ttf-3d4d7c8ca9f6b67f Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=true msdf_pixel_range=40 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/gui/msdf_font/project.godot b/gui/msdf_font/project.godot index 72ce2ef4..2812aa5b 100644 --- a/gui/msdf_font/project.godot +++ b/gui/msdf_font/project.godot @@ -19,7 +19,7 @@ for higher precision when rendering the font. This allows MSDF fonts to be more at small font sizes compared to single-channel signed distance field fonts." config/tags=PackedStringArray("2d", "demo", "gui", "official", "rendering") run/main_scene="res://sdf_font_demo.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -35,7 +35,7 @@ window/stretch/aspect="expand" toggle_msdf_font={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":83,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":83,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } diff --git a/gui/msdf_font/sdf_font_demo.gd.uid b/gui/msdf_font/sdf_font_demo.gd.uid new file mode 100644 index 00000000..42eb00bc --- /dev/null +++ b/gui/msdf_font/sdf_font_demo.gd.uid @@ -0,0 +1 @@ +uid://bttvjfh81iwsa diff --git a/gui/multiple_resolutions/main.gd.uid b/gui/multiple_resolutions/main.gd.uid new file mode 100644 index 00000000..8c75249a --- /dev/null +++ b/gui/multiple_resolutions/main.gd.uid @@ -0,0 +1 @@ +uid://dp32xd528bcdt diff --git a/gui/multiple_resolutions/main.tscn b/gui/multiple_resolutions/main.tscn index c0abbf78..d43bdbe1 100644 --- a/gui/multiple_resolutions/main.tscn +++ b/gui/multiple_resolutions/main.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=7 format=3 uid="uid://1cywl1qtanq3"] -[ext_resource type="Script" path="res://main.gd" id="1"] +[ext_resource type="Script" uid="uid://dp32xd528bcdt" path="res://main.gd" id="1"] [ext_resource type="Texture2D" uid="uid://dnhldrc8cymrs" path="res://pixel_art_example.webp" id="2_mfq7n"] [ext_resource type="Texture2D" uid="uid://cok02ms2cxmut" path="res://pixel_art_text_example.webp" id="3_0qxym"] [ext_resource type="Texture2D" uid="uid://c43k4wledw7py" path="res://pixel_art_checkerboard_example.webp" id="3_unurd"] diff --git a/gui/multiple_resolutions/project.godot b/gui/multiple_resolutions/project.godot index e836cca7..5171e84d 100644 --- a/gui/multiple_resolutions/project.godot +++ b/gui/multiple_resolutions/project.godot @@ -29,7 +29,7 @@ This can also improve the gameplay experience on large monitors by bringing HUD elements closer to the center of the screen." config/tags=PackedStringArray("accessibility", "best_practices", "demo", "gui", "official") run/main_scene="res://main.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" diff --git a/gui/pseudolocalization/Pseudolocalization.gd.uid b/gui/pseudolocalization/Pseudolocalization.gd.uid new file mode 100644 index 00000000..3bc0a6fe --- /dev/null +++ b/gui/pseudolocalization/Pseudolocalization.gd.uid @@ -0,0 +1 @@ +uid://mpv582838ll0 diff --git a/gui/pseudolocalization/default_env.tres b/gui/pseudolocalization/default_env.tres deleted file mode 100644 index bc83a518..00000000 --- a/gui/pseudolocalization/default_env.tres +++ /dev/null @@ -1,8 +0,0 @@ -[gd_resource type="Environment" load_steps=2 format=2] - -[sub_resource type="Sky" id=1] - -[resource] -background_mode = 1 -background_color = Color(0.839216, 0.352941, 0.635294, 1) -sky = SubResource( 1 ) diff --git a/gui/pseudolocalization/project.godot b/gui/pseudolocalization/project.godot index 30f45124..4a298547 100644 --- a/gui/pseudolocalization/project.godot +++ b/gui/pseudolocalization/project.godot @@ -13,7 +13,7 @@ config_version=5 config/name="Pseudolocalization" config/tags=PackedStringArray("demo", "internationalization", "official") run/main_scene="res://Pseudolocalization.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/gui/regex/project.godot b/gui/regex/project.godot index e8a78c93..7418e5a1 100644 --- a/gui/regex/project.godot +++ b/gui/regex/project.godot @@ -15,7 +15,7 @@ config/description="A demo showing regex functionality and usage. Can also serve as a playground for regex testing." config/tags=PackedStringArray("demo", "gui", "official") run/main_scene="res://regex.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/gui/regex/regex.gd.uid b/gui/regex/regex.gd.uid new file mode 100644 index 00000000..d8d93e89 --- /dev/null +++ b/gui/regex/regex.gd.uid @@ -0,0 +1 @@ +uid://c6tksmpnkjarn diff --git a/gui/regex/regex.tscn b/gui/regex/regex.tscn index 0ea0e00e..b7bfe447 100644 --- a/gui/regex/regex.tscn +++ b/gui/regex/regex.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://cimp70l7c0y2p"] -[ext_resource type="Script" path="res://regex.gd" id="1"] +[ext_resource type="Script" uid="uid://c6tksmpnkjarn" path="res://regex.gd" id="1"] [node name="Regex" type="VBoxContainer"] anchors_preset = 15 diff --git a/gui/rich_text_bbcode/project.godot b/gui/rich_text_bbcode/project.godot index e79d15bc..599402f2 100644 --- a/gui/rich_text_bbcode/project.godot +++ b/gui/rich_text_bbcode/project.godot @@ -14,7 +14,7 @@ config/name="Rich Text Label with BBCode" config/description="A demo showcasing the support for rich text and BBCode via RichTextLabel." config/tags=PackedStringArray("demo", "gui", "official") run/main_scene="res://rich_text_bbcode.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" @@ -32,7 +32,7 @@ window/vsync/vsync_mode=0 toggle_pause={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194313,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194313,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } diff --git a/gui/rich_text_bbcode/rich_text_bbcode.gd.uid b/gui/rich_text_bbcode/rich_text_bbcode.gd.uid new file mode 100644 index 00000000..260acc8e --- /dev/null +++ b/gui/rich_text_bbcode/rich_text_bbcode.gd.uid @@ -0,0 +1 @@ +uid://7xit3bi5778x diff --git a/gui/rich_text_bbcode/rich_text_bbcode.tscn b/gui/rich_text_bbcode/rich_text_bbcode.tscn index c55feacc..3ed885f5 100644 --- a/gui/rich_text_bbcode/rich_text_bbcode.tscn +++ b/gui/rich_text_bbcode/rich_text_bbcode.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=5 format=3 uid="uid://oeg5vj7lpjw0"] -[ext_resource type="Script" path="res://rich_text_bbcode.gd" id="1"] +[ext_resource type="Script" uid="uid://7xit3bi5778x" path="res://rich_text_bbcode.gd" id="1"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_q1hwu"] diff --git a/gui/theming_override/project.godot b/gui/theming_override/project.godot index 08e70675..12863602 100644 --- a/gui/theming_override/project.godot +++ b/gui/theming_override/project.godot @@ -14,7 +14,7 @@ config/name="GUI Theming Override" config/description="Demonstrates how to override GUI colors and styleboxes at runtime." config/tags=PackedStringArray("demo", "gui", "official") run/main_scene="res://test.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" diff --git a/gui/theming_override/test.gd.uid b/gui/theming_override/test.gd.uid new file mode 100644 index 00000000..b4c5af51 --- /dev/null +++ b/gui/theming_override/test.gd.uid @@ -0,0 +1 @@ +uid://be47tmkdw4g diff --git a/gui/theming_override/test.tscn b/gui/theming_override/test.tscn index cea5a243..c208c61b 100644 --- a/gui/theming_override/test.tscn +++ b/gui/theming_override/test.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=7 format=3 uid="uid://dbk0b4jkfq81v"] -[ext_resource type="Script" path="res://test.gd" id="1"] +[ext_resource type="Script" uid="uid://be47tmkdw4g" path="res://test.gd" id="1"] [sub_resource type="StyleBoxFlat" id="1"] bg_color = Color(0.16, 0.678, 1, 0.12549) diff --git a/gui/translation/fonts/DroidSans.ttf.import b/gui/translation/fonts/DroidSans.ttf.import index 948fbe82..58dc2c6a 100644 --- a/gui/translation/fonts/DroidSans.ttf.import +++ b/gui/translation/fonts/DroidSans.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/DroidSans.ttf-f4f3e617929333a8a3b131725141d72 Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/gui/translation/fonts/DroidSansArabic.ttf.import b/gui/translation/fonts/DroidSansArabic.ttf.import index 21263a2b..fb40b04b 100644 --- a/gui/translation/fonts/DroidSansArabic.ttf.import +++ b/gui/translation/fonts/DroidSansArabic.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/DroidSansArabic.ttf-e3dcbe0c4bc0f3f609a01ac9b Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/gui/translation/fonts/DroidSansFallback.ttf.import b/gui/translation/fonts/DroidSansFallback.ttf.import index 0f289db2..08717fa9 100644 --- a/gui/translation/fonts/DroidSansFallback.ttf.import +++ b/gui/translation/fonts/DroidSansFallback.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/DroidSansFallback.ttf-fefd6276707493f1293e2a6 Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/gui/translation/fonts/DroidSansHebrew.ttf.import b/gui/translation/fonts/DroidSansHebrew.ttf.import index 4ee792bb..6be1c75d 100644 --- a/gui/translation/fonts/DroidSansHebrew.ttf.import +++ b/gui/translation/fonts/DroidSansHebrew.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/DroidSansHebrew.ttf-12677dba89ba8356d90dbb456 Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/gui/translation/fonts/DroidSansJapanese.ttf.import b/gui/translation/fonts/DroidSansJapanese.ttf.import index 02f63f0a..bf33721c 100644 --- a/gui/translation/fonts/DroidSansJapanese.ttf.import +++ b/gui/translation/fonts/DroidSansJapanese.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/DroidSansJapanese.ttf-70e19a56601aacaaf5d6d30 Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/gui/translation/fonts/DroidSansThai.ttf.import b/gui/translation/fonts/DroidSansThai.ttf.import index acda4b4d..936b03b8 100644 --- a/gui/translation/fonts/DroidSansThai.ttf.import +++ b/gui/translation/fonts/DroidSansThai.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/DroidSansThai.ttf-136cea21d69e1da7eb0a603f8d9 Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/gui/translation/project.godot b/gui/translation/project.godot index 87a8b4fd..13385ac2 100644 --- a/gui/translation/project.godot +++ b/gui/translation/project.godot @@ -15,7 +15,7 @@ config/description="A demo showing how Godot seamlessly enables the use of localized resources and texts." config/tags=PackedStringArray("demo", "internationalization", "official") run/main_scene="res://translation_demo_csv.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/gui/translation/translation_csv.gd.uid b/gui/translation/translation_csv.gd.uid new file mode 100644 index 00000000..ab1fdc90 --- /dev/null +++ b/gui/translation/translation_csv.gd.uid @@ -0,0 +1 @@ +uid://csakmnh104ac3 diff --git a/gui/translation/translation_demo_csv.tscn b/gui/translation/translation_demo_csv.tscn index 001446ef..17b1d35f 100644 --- a/gui/translation/translation_demo_csv.tscn +++ b/gui/translation/translation_demo_csv.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=6 format=3 uid="uid://du3apufm66p3x"] -[ext_resource type="Script" path="res://translation_csv.gd" id="1_o1a7r"] +[ext_resource type="Script" uid="uid://csakmnh104ac3" path="res://translation_csv.gd" id="1_o1a7r"] [ext_resource type="Texture2D" uid="uid://bk44e7bkr4w4l" path="res://images/speaker.webp" id="3_usrmd"] [ext_resource type="FontFile" uid="uid://b0887xnwnkgju" path="res://fonts/droid_sans.tres" id="3_wf1ar"] [ext_resource type="Texture2D" uid="uid://cy06u7558clgu" path="res://images/flag_uk.webp" id="4_j5852"] diff --git a/gui/translation/translation_demo_po.tscn b/gui/translation/translation_demo_po.tscn index 217f6a1e..fa530bc2 100644 --- a/gui/translation/translation_demo_po.tscn +++ b/gui/translation/translation_demo_po.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=6 format=3 uid="uid://u6cnwv1b1mhl"] -[ext_resource type="Script" path="res://translation_po.gd" id="1_u1syg"] +[ext_resource type="Script" uid="uid://bkwr74v0jd1gi" path="res://translation_po.gd" id="1_u1syg"] [ext_resource type="FontFile" uid="uid://b0887xnwnkgju" path="res://fonts/droid_sans.tres" id="3_0g48e"] [ext_resource type="Texture2D" uid="uid://bk44e7bkr4w4l" path="res://images/speaker.webp" id="3_x3031"] [ext_resource type="Texture2D" uid="uid://cy06u7558clgu" path="res://images/flag_uk.webp" id="4_2she1"] diff --git a/gui/translation/translation_po.gd.uid b/gui/translation/translation_po.gd.uid new file mode 100644 index 00000000..7dc3f9c4 --- /dev/null +++ b/gui/translation/translation_po.gd.uid @@ -0,0 +1 @@ +uid://bkwr74v0jd1gi diff --git a/gui/ui_mirroring/fonts/NotoNaskhArabic-Bold.ttf.import b/gui/ui_mirroring/fonts/NotoNaskhArabic-Bold.ttf.import index 073b2791..e1e3dceb 100644 --- a/gui/ui_mirroring/fonts/NotoNaskhArabic-Bold.ttf.import +++ b/gui/ui_mirroring/fonts/NotoNaskhArabic-Bold.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/NotoNaskhArabic-Bold.ttf-b67ac52f5189efb58090 Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8.0 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/gui/ui_mirroring/fonts/NotoSans-Bold.ttf.import b/gui/ui_mirroring/fonts/NotoSans-Bold.ttf.import index 1892472a..80f9dc74 100644 --- a/gui/ui_mirroring/fonts/NotoSans-Bold.ttf.import +++ b/gui/ui_mirroring/fonts/NotoSans-Bold.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/NotoSans-Bold.ttf-8ff3d9f1cfda88e84d6afd9724b Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8.0 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/gui/ui_mirroring/project.godot b/gui/ui_mirroring/project.godot index 62ef068e..a0bdc871 100644 --- a/gui/ui_mirroring/project.godot +++ b/gui/ui_mirroring/project.godot @@ -13,7 +13,7 @@ config_version=5 config/name="UI Mirroring Demo" config/tags=PackedStringArray("demo", "gui", "internationalization", "official") run/main_scene="res://ui_mirroring.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/gui/ui_mirroring/ui_mirroring.gd.uid b/gui/ui_mirroring/ui_mirroring.gd.uid new file mode 100644 index 00000000..14f69d03 --- /dev/null +++ b/gui/ui_mirroring/ui_mirroring.gd.uid @@ -0,0 +1 @@ +uid://dhl6y6rx14crn diff --git a/gui/ui_mirroring/ui_mirroring.tscn b/gui/ui_mirroring/ui_mirroring.tscn index e326f86e..3f2c3588 100644 --- a/gui/ui_mirroring/ui_mirroring.tscn +++ b/gui/ui_mirroring/ui_mirroring.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=3 uid="uid://c20r173idr1eu"] [ext_resource type="FontVariation" uid="uid://dle4xickuiwl" path="res://fonts/noto_sans_bold.tres" id="1_anavx"] -[ext_resource type="Script" path="res://ui_mirroring.gd" id="2_ypepw"] +[ext_resource type="Script" uid="uid://dhl6y6rx14crn" path="res://ui_mirroring.gd" id="2_ypepw"] [sub_resource type="Theme" id="Theme_yin5r"] default_font = ExtResource("1_anavx") diff --git a/loading/autoload/global.gd.uid b/loading/autoload/global.gd.uid new file mode 100644 index 00000000..969f3555 --- /dev/null +++ b/loading/autoload/global.gd.uid @@ -0,0 +1 @@ +uid://ckpav307n5x6t diff --git a/loading/autoload/project.godot b/loading/autoload/project.godot index 18327419..5329172b 100644 --- a/loading/autoload/project.godot +++ b/loading/autoload/project.godot @@ -14,7 +14,7 @@ config/name="Autoload (Singletons)" config/description="This demo shows how to use autoloads to change between scenes." config/tags=PackedStringArray("best_practices", "demo", "official") run/main_scene="res://scene_a.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" diff --git a/loading/autoload/scene_a.gd.uid b/loading/autoload/scene_a.gd.uid new file mode 100644 index 00000000..b27495a9 --- /dev/null +++ b/loading/autoload/scene_a.gd.uid @@ -0,0 +1 @@ +uid://q7akmme21y0k diff --git a/loading/autoload/scene_a.tscn b/loading/autoload/scene_a.tscn index 7670cc89..b83ec3af 100644 --- a/loading/autoload/scene_a.tscn +++ b/loading/autoload/scene_a.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://6xgdg1bmya7c"] -[ext_resource type="Script" path="res://scene_a.gd" id="1"] +[ext_resource type="Script" uid="uid://q7akmme21y0k" path="res://scene_a.gd" id="1"] [node name="SceneA" type="Panel"] anchors_preset = 15 diff --git a/loading/autoload/scene_b.gd.uid b/loading/autoload/scene_b.gd.uid new file mode 100644 index 00000000..99611395 --- /dev/null +++ b/loading/autoload/scene_b.gd.uid @@ -0,0 +1 @@ +uid://b1mph1gwcg8l8 diff --git a/loading/autoload/scene_b.tscn b/loading/autoload/scene_b.tscn index 3894a326..418955e1 100644 --- a/loading/autoload/scene_b.tscn +++ b/loading/autoload/scene_b.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://cmu1caqo7k7wy"] -[ext_resource type="Script" path="res://scene_b.gd" id="1"] +[ext_resource type="Script" uid="uid://b1mph1gwcg8l8" path="res://scene_b.gd" id="1"] [node name="SceneB" type="Panel"] anchors_preset = 15 diff --git a/loading/load_threaded/load_threaded.gd.uid b/loading/load_threaded/load_threaded.gd.uid new file mode 100644 index 00000000..4dc60b47 --- /dev/null +++ b/loading/load_threaded/load_threaded.gd.uid @@ -0,0 +1 @@ +uid://bi2wuwmxb7hqd diff --git a/loading/load_threaded/load_threaded.tscn b/loading/load_threaded/load_threaded.tscn index 77b0e79f..e4e38110 100644 --- a/loading/load_threaded/load_threaded.tscn +++ b/loading/load_threaded/load_threaded.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://gc6pbdkdi7xt"] -[ext_resource type="Script" path="res://load_threaded.gd" id="1_5o27a"] +[ext_resource type="Script" uid="uid://bi2wuwmxb7hqd" path="res://load_threaded.gd" id="1_5o27a"] [node name="LoadThreaded" type="VBoxContainer"] anchors_preset = 15 diff --git a/loading/load_threaded/project.godot b/loading/load_threaded/project.godot index 96efd427..c39ac66e 100644 --- a/loading/load_threaded/project.godot +++ b/loading/load_threaded/project.godot @@ -14,7 +14,7 @@ config/name="Threaded Loading" config/description="This demo demonstrates how to use ResourceLoader for background loading." config/tags=PackedStringArray("best_practices", "demo", "official", "performance") run/main_scene="res://load_threaded.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" diff --git a/loading/runtime_save_load/project.godot b/loading/runtime_save_load/project.godot index 27b219b1..10175f19 100644 --- a/loading/runtime_save_load/project.godot +++ b/loading/runtime_save_load/project.godot @@ -19,7 +19,7 @@ run-time such as user-generated content, without requiring users to generate a PCK file through Godot." config/tags=PackedStringArray("demo", "filesystem", "official") run/main_scene="res://runtime_save_load.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.svg" diff --git a/loading/runtime_save_load/runtime_save_load.gd.uid b/loading/runtime_save_load/runtime_save_load.gd.uid new file mode 100644 index 00000000..55384666 --- /dev/null +++ b/loading/runtime_save_load/runtime_save_load.gd.uid @@ -0,0 +1 @@ +uid://dsuhasj84j4ri diff --git a/loading/runtime_save_load/runtime_save_load.tscn b/loading/runtime_save_load/runtime_save_load.tscn index 7797f383..08423e7d 100644 --- a/loading/runtime_save_load/runtime_save_load.tscn +++ b/loading/runtime_save_load/runtime_save_load.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://ca0d8q5aicxfr"] -[ext_resource type="Script" path="res://runtime_save_load.gd" id="1_2gu2h"] +[ext_resource type="Script" uid="uid://dsuhasj84j4ri" path="res://runtime_save_load.gd" id="1_2gu2h"] [node name="RuntimeLoadSave" type="Control"] layout_mode = 3 diff --git a/loading/scene_changer/project.godot b/loading/scene_changer/project.godot index 0e9d71a2..82bf5a74 100644 --- a/loading/scene_changer/project.godot +++ b/loading/scene_changer/project.godot @@ -14,7 +14,7 @@ config/name="Scene Changer" config/description="This uses functions in SceneTree to switch between two scenes." config/tags=PackedStringArray("demo", "official") run/main_scene="res://scene_a.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.svg" diff --git a/loading/scene_changer/scene_a.gd.uid b/loading/scene_changer/scene_a.gd.uid new file mode 100644 index 00000000..ac4f4ce7 --- /dev/null +++ b/loading/scene_changer/scene_a.gd.uid @@ -0,0 +1 @@ +uid://bgbatdeargkvp diff --git a/loading/scene_changer/scene_a.tscn b/loading/scene_changer/scene_a.tscn index e6844100..ce935a6f 100644 --- a/loading/scene_changer/scene_a.tscn +++ b/loading/scene_changer/scene_a.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://dnveeke63vq8x"] -[ext_resource type="Script" path="res://scene_a.gd" id="1"] +[ext_resource type="Script" uid="uid://bgbatdeargkvp" path="res://scene_a.gd" id="1"] [node name="SceneA" type="Panel"] anchors_preset = 15 diff --git a/loading/scene_changer/scene_b.gd.uid b/loading/scene_changer/scene_b.gd.uid new file mode 100644 index 00000000..72e1ffb3 --- /dev/null +++ b/loading/scene_changer/scene_b.gd.uid @@ -0,0 +1 @@ +uid://r2k3l8t7gk2m diff --git a/loading/scene_changer/scene_b.tscn b/loading/scene_changer/scene_b.tscn index 57784b6a..db4a9c31 100644 --- a/loading/scene_changer/scene_b.tscn +++ b/loading/scene_changer/scene_b.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://c71ureg6hk2u1"] -[ext_resource type="Script" path="res://scene_b.gd" id="1"] +[ext_resource type="Script" uid="uid://r2k3l8t7gk2m" path="res://scene_b.gd" id="1"] [node name="SceneB" type="Panel"] anchors_preset = 15 diff --git a/loading/serialization/default_env.tres b/loading/serialization/default_env.tres deleted file mode 100644 index 1a5570b8..00000000 --- a/loading/serialization/default_env.tres +++ /dev/null @@ -1,7 +0,0 @@ -[gd_resource type="Environment" load_steps=2 format=2] - -[sub_resource type="Sky" id=1] - -[resource] -background_mode = 2 -background_sky = SubResource( 1 ) diff --git a/loading/serialization/enemy.gd.uid b/loading/serialization/enemy.gd.uid new file mode 100644 index 00000000..e6dbda88 --- /dev/null +++ b/loading/serialization/enemy.gd.uid @@ -0,0 +1 @@ +uid://dr7lme16ugvqt diff --git a/loading/serialization/enemy.tscn b/loading/serialization/enemy.tscn index 1b066ffe..8fa044c3 100644 --- a/loading/serialization/enemy.tscn +++ b/loading/serialization/enemy.tscn @@ -1,7 +1,7 @@ -[gd_scene load_steps=4 format=3] +[gd_scene load_steps=4 format=3 uid="uid://b166gomfp2kwq"] -[ext_resource type="Script" path="res://enemy.gd" id="1"] -[ext_resource type="Texture2D" path="res://enemy_crab.png" id="2_7p8lv"] +[ext_resource type="Script" uid="uid://dr7lme16ugvqt" path="res://enemy.gd" id="1"] +[ext_resource type="Texture2D" uid="uid://btwwc5scaqp55" path="res://enemy_crab.png" id="2_7p8lv"] [sub_resource type="RectangleShape2D" id="2"] size = Vector2(76, 76) diff --git a/loading/serialization/gui.gd.uid b/loading/serialization/gui.gd.uid new file mode 100644 index 00000000..4b4e6c0c --- /dev/null +++ b/loading/serialization/gui.gd.uid @@ -0,0 +1 @@ +uid://dq5aa2ilo5725 diff --git a/loading/serialization/player.gd.uid b/loading/serialization/player.gd.uid new file mode 100644 index 00000000..a885b42d --- /dev/null +++ b/loading/serialization/player.gd.uid @@ -0,0 +1 @@ +uid://bfynknbvp647c diff --git a/loading/serialization/project.godot b/loading/serialization/project.godot index eafea322..8d597bee 100644 --- a/loading/serialization/project.godot +++ b/loading/serialization/project.godot @@ -18,7 +18,7 @@ For more information, see this documentation article: https://docs.godotengine.org/en/latest/tutorials/io/saving_games.html" config/tags=PackedStringArray("demo", "filesystem", "official") run/main_scene="res://save_load.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -33,36 +33,36 @@ window/stretch/mode="canvas_items" move_up={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194446,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194446,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) ] } move_down={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194440,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194440,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) ] } move_left={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194442,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194442,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) ] } move_right={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194444,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194444,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null) ] diff --git a/loading/serialization/save_load.tscn b/loading/serialization/save_load.tscn index afdd00e2..a401074b 100644 --- a/loading/serialization/save_load.tscn +++ b/loading/serialization/save_load.tscn @@ -1,11 +1,11 @@ [gd_scene load_steps=10 format=3 uid="uid://w7nl5fe4vheb"] -[ext_resource type="PackedScene" path="res://enemy.tscn" id="1"] -[ext_resource type="Script" path="res://gui.gd" id="2"] +[ext_resource type="PackedScene" uid="uid://b166gomfp2kwq" path="res://enemy.tscn" id="1"] +[ext_resource type="Script" uid="uid://dq5aa2ilo5725" path="res://gui.gd" id="2"] [ext_resource type="Texture2D" uid="uid://dpm1oolm8wr02" path="res://sea_turtle.png" id="2_g2wd8"] -[ext_resource type="Script" path="res://save_load_json.gd" id="3"] -[ext_resource type="Script" path="res://save_load_config_file.gd" id="4"] -[ext_resource type="Script" path="res://player.gd" id="6"] +[ext_resource type="Script" uid="uid://dftj1bvu5ppwa" path="res://save_load_json.gd" id="3"] +[ext_resource type="Script" uid="uid://cmb05q2q85h1c" path="res://save_load_config_file.gd" id="4"] +[ext_resource type="Script" uid="uid://bfynknbvp647c" path="res://player.gd" id="6"] [sub_resource type="RectangleShape2D" id="1"] size = Vector2(64, 64) diff --git a/loading/serialization/save_load_config_file.gd.uid b/loading/serialization/save_load_config_file.gd.uid new file mode 100644 index 00000000..dae1791b --- /dev/null +++ b/loading/serialization/save_load_config_file.gd.uid @@ -0,0 +1 @@ +uid://cmb05q2q85h1c diff --git a/loading/serialization/save_load_json.gd.uid b/loading/serialization/save_load_json.gd.uid new file mode 100644 index 00000000..5ab3453f --- /dev/null +++ b/loading/serialization/save_load_json.gd.uid @@ -0,0 +1 @@ +uid://dftj1bvu5ppwa diff --git a/loading/threads/project.godot b/loading/threads/project.godot index 515f504f..1e95278f 100644 --- a/loading/threads/project.godot +++ b/loading/threads/project.godot @@ -14,7 +14,7 @@ config/name="Loading in a Thread" config/description="An example using a thread to load an image." config/tags=PackedStringArray("best_practices", "demo", "official", "performance") run/main_scene="res://thread.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" run/stretch/aspect="expand" diff --git a/loading/threads/thread.gd.uid b/loading/threads/thread.gd.uid new file mode 100644 index 00000000..5be7bab5 --- /dev/null +++ b/loading/threads/thread.gd.uid @@ -0,0 +1 @@ +uid://chmblcpy328ih diff --git a/loading/threads/thread.tscn b/loading/threads/thread.tscn index c93cac09..a0985475 100644 --- a/loading/threads/thread.tscn +++ b/loading/threads/thread.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://df1dmjx4ny0gd"] -[ext_resource type="Script" path="res://thread.gd" id="1"] +[ext_resource type="Script" uid="uid://chmblcpy328ih" path="res://thread.gd" id="1"] [node name="Thread" type="Control"] layout_mode = 3 diff --git a/misc/2.5d/addons/node25d/main_screen/gizmo_25d.gd.uid b/misc/2.5d/addons/node25d/main_screen/gizmo_25d.gd.uid new file mode 100644 index 00000000..46356fcf --- /dev/null +++ b/misc/2.5d/addons/node25d/main_screen/gizmo_25d.gd.uid @@ -0,0 +1 @@ +uid://dorhfqwjxwtp diff --git a/misc/2.5d/addons/node25d/main_screen/gizmo_25d.tscn b/misc/2.5d/addons/node25d/main_screen/gizmo_25d.tscn index 0b09772a..a691377a 100644 --- a/misc/2.5d/addons/node25d/main_screen/gizmo_25d.tscn +++ b/misc/2.5d/addons/node25d/main_screen/gizmo_25d.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=4 uid="uid://cx4xo5jddm0g"] +[gd_scene load_steps=2 format=3 uid="uid://cx4xo5jddm0g"] -[ext_resource type="Script" path="res://addons/node25d/main_screen/gizmo_25d.gd" id="1"] +[ext_resource type="Script" uid="uid://dorhfqwjxwtp" path="res://addons/node25d/main_screen/gizmo_25d.gd" id="1"] [node name="Gizmo25D" type="Node2D"] script = ExtResource("1") diff --git a/misc/2.5d/addons/node25d/main_screen/main_screen_25d.tscn b/misc/2.5d/addons/node25d/main_screen/main_screen_25d.tscn index 84392af5..2d313ed4 100644 --- a/misc/2.5d/addons/node25d/main_screen/main_screen_25d.tscn +++ b/misc/2.5d/addons/node25d/main_screen/main_screen_25d.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=5 format=4 uid="uid://d3xt5cbt06bfy"] +[gd_scene load_steps=5 format=3 uid="uid://d3xt5cbt06bfy"] -[ext_resource type="Script" path="res://addons/node25d/main_screen/viewport_25d.gd" id="1"] +[ext_resource type="Script" uid="uid://cv0noi3nh3amw" path="res://addons/node25d/main_screen/viewport_25d.gd" id="1"] [ext_resource type="ButtonGroup" path="res://addons/node25d/main_screen/view_mode_button_group.tres" id="2"] [sub_resource type="ViewportTexture" id="1"] diff --git a/misc/2.5d/addons/node25d/main_screen/viewport_25d.gd.uid b/misc/2.5d/addons/node25d/main_screen/viewport_25d.gd.uid new file mode 100644 index 00000000..00426e07 --- /dev/null +++ b/misc/2.5d/addons/node25d/main_screen/viewport_25d.gd.uid @@ -0,0 +1 @@ +uid://cv0noi3nh3amw diff --git a/misc/2.5d/addons/node25d/node25d_plugin.gd.uid b/misc/2.5d/addons/node25d/node25d_plugin.gd.uid new file mode 100644 index 00000000..2e1e343f --- /dev/null +++ b/misc/2.5d/addons/node25d/node25d_plugin.gd.uid @@ -0,0 +1 @@ +uid://chkp68wehiak diff --git a/misc/2.5d/addons/node25d/node_25d.gd.uid b/misc/2.5d/addons/node25d/node_25d.gd.uid new file mode 100644 index 00000000..24d7eec5 --- /dev/null +++ b/misc/2.5d/addons/node25d/node_25d.gd.uid @@ -0,0 +1 @@ +uid://c05x6jnllnlcy diff --git a/misc/2.5d/addons/node25d/shadow_math_25d.gd.uid b/misc/2.5d/addons/node25d/shadow_math_25d.gd.uid new file mode 100644 index 00000000..3bdfaf49 --- /dev/null +++ b/misc/2.5d/addons/node25d/shadow_math_25d.gd.uid @@ -0,0 +1 @@ +uid://bm6vj6i3mbhne diff --git a/misc/2.5d/addons/node25d/y_sort_25d.gd.uid b/misc/2.5d/addons/node25d/y_sort_25d.gd.uid new file mode 100644 index 00000000..2bfc30d2 --- /dev/null +++ b/misc/2.5d/addons/node25d/y_sort_25d.gd.uid @@ -0,0 +1 @@ +uid://brxg0oaqx52dw diff --git a/misc/2.5d/assets/cube/cube.tscn b/misc/2.5d/assets/cube/cube.tscn index a332ce16..afd43a46 100644 --- a/misc/2.5d/assets/cube/cube.tscn +++ b/misc/2.5d/assets/cube/cube.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=4 format=3 uid="uid://b6oxx8ppj53nt"] [ext_resource type="PackedScene" uid="uid://c54vn5cyu7bwg" path="res://assets/ui/overlay_cube.tscn" id="2"] -[ext_resource type="Script" path="res://assets/cube/cube_math.gd" id="3"] -[ext_resource type="Script" path="res://addons/node25d/y_sort_25d.gd" id="4"] +[ext_resource type="Script" uid="uid://npvu2rqfqpp" path="res://assets/cube/cube_math.gd" id="3"] +[ext_resource type="Script" uid="uid://brxg0oaqx52dw" path="res://addons/node25d/y_sort_25d.gd" id="4"] [node name="Cube" type="Node2D"] diff --git a/misc/2.5d/assets/cube/cube_math.gd.uid b/misc/2.5d/assets/cube/cube_math.gd.uid new file mode 100644 index 00000000..5381cb3f --- /dev/null +++ b/misc/2.5d/assets/cube/cube_math.gd.uid @@ -0,0 +1 @@ +uid://npvu2rqfqpp diff --git a/misc/2.5d/assets/cube/cube_point.tscn b/misc/2.5d/assets/cube/cube_point.tscn index 6ff8e711..94467cd2 100644 --- a/misc/2.5d/assets/cube/cube_point.tscn +++ b/misc/2.5d/assets/cube/cube_point.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://dpm3nweqk8ws0"] -[ext_resource type="Script" path="res://addons/node25d/node_25d.gd" id="1"] +[ext_resource type="Script" uid="uid://c05x6jnllnlcy" path="res://addons/node25d/node_25d.gd" id="1"] [ext_resource type="Texture2D" uid="uid://c5d2c7nxf1wbo" path="res://assets/cube/godot.png" id="3"] [node name="CubePoint" type="Node2D"] diff --git a/misc/2.5d/assets/demo_scene.tscn b/misc/2.5d/assets/demo_scene.tscn index 31125d21..6720d729 100644 --- a/misc/2.5d/assets/demo_scene.tscn +++ b/misc/2.5d/assets/demo_scene.tscn @@ -3,10 +3,10 @@ [ext_resource type="PackedScene" uid="uid://6o8sm5bti8d1" path="res://assets/ui/overlay.tscn" id="1"] [ext_resource type="PackedScene" uid="uid://bg27d8sfehmr4" path="res://assets/player/player_25d.tscn" id="2"] [ext_resource type="PackedScene" uid="uid://ivolxaqaaddk" path="res://assets/shadow/shadow_25d.tscn" id="3"] -[ext_resource type="Script" path="res://addons/node25d/node_25d.gd" id="4"] +[ext_resource type="Script" uid="uid://c05x6jnllnlcy" path="res://addons/node25d/node_25d.gd" id="4"] [ext_resource type="Texture2D" uid="uid://cocwocceljq4g" path="res://assets/platform/textures/forty_five.png" id="6"] -[ext_resource type="Script" path="res://assets/platform/platform_sprite.gd" id="7"] -[ext_resource type="Script" path="res://addons/node25d/y_sort_25d.gd" id="8"] +[ext_resource type="Script" uid="uid://8mwkshvh4a54" path="res://assets/platform/platform_sprite.gd" id="7"] +[ext_resource type="Script" uid="uid://brxg0oaqx52dw" path="res://addons/node25d/y_sort_25d.gd" id="8"] [ext_resource type="AudioStream" uid="uid://c2su2nuhi1rof" path="res://assets/mr_mrs_robot.ogg" id="10"] [sub_resource type="BoxShape3D" id="1"] diff --git a/misc/2.5d/assets/platform/platform.tscn b/misc/2.5d/assets/platform/platform.tscn index f112b53d..f4ceee05 100644 --- a/misc/2.5d/assets/platform/platform.tscn +++ b/misc/2.5d/assets/platform/platform.tscn @@ -1,18 +1,18 @@ -[gd_scene load_steps=6 format=2] +[gd_scene load_steps=6 format=3 uid="uid://dlxl8hoiq0150"] -[ext_resource path="res://addons/node25d/node_25d.gd" type="Script" id=1] -[ext_resource path="res://addons/node25d/icons/node_25d_icon.png" type="Texture2D" id=2] -[ext_resource path="res://assets/platform/textures/forty_five.png" type="Texture2D" id=3] -[ext_resource path="res://assets/platform/platform_sprite.gd" type="Script" id=4] +[ext_resource type="Script" uid="uid://c05x6jnllnlcy" path="res://addons/node25d/node_25d.gd" id="1"] +[ext_resource type="Texture2D" uid="uid://t7isjmhdc8sk" path="res://addons/node25d/icons/node_25d_icon.png" id="2"] +[ext_resource type="Texture2D" uid="uid://cocwocceljq4g" path="res://assets/platform/textures/forty_five.png" id="3"] +[ext_resource type="Script" uid="uid://8mwkshvh4a54" path="res://assets/platform/platform_sprite.gd" id="4"] -[sub_resource type="BoxShape3D" id=1] -extents = Vector3(5, 0.5, 5) +[sub_resource type="BoxShape3D" id="1"] +size = Vector3(10, 1, 10) [node name="Platform" type="Node2D"] z_index = -3996 -script = ExtResource( 1 ) +script = ExtResource("1") __meta__ = { -"_editor_icon": ExtResource( 2 ) +"_editor_icon": ExtResource("2") } [node name="PlatformMath" type="StaticBody3D" parent="."] @@ -20,12 +20,12 @@ collision_layer = 1048575 collision_mask = 1048575 [node name="CollisionShape3D" type="CollisionShape3D" parent="PlatformMath"] -shape = SubResource( 1 ) +shape = SubResource("1") __meta__ = { "_edit_lock_": true } [node name="PlatformSprite" type="Sprite2D" parent="."] scale = Vector2(0.5, 0.5) -texture = ExtResource( 3 ) -script = ExtResource( 4 ) +texture = ExtResource("3") +script = ExtResource("4") diff --git a/misc/2.5d/assets/platform/platform_sprite.gd.uid b/misc/2.5d/assets/platform/platform_sprite.gd.uid new file mode 100644 index 00000000..f67919eb --- /dev/null +++ b/misc/2.5d/assets/platform/platform_sprite.gd.uid @@ -0,0 +1 @@ +uid://8mwkshvh4a54 diff --git a/misc/2.5d/assets/player/player_25d.tscn b/misc/2.5d/assets/player/player_25d.tscn index feea8c62..ed1c19f1 100644 --- a/misc/2.5d/assets/player/player_25d.tscn +++ b/misc/2.5d/assets/player/player_25d.tscn @@ -1,9 +1,9 @@ -[gd_scene load_steps=6 format=4 uid="uid://bg27d8sfehmr4"] +[gd_scene load_steps=6 format=3 uid="uid://bg27d8sfehmr4"] -[ext_resource type="Script" path="res://addons/node25d/node_25d.gd" id="1"] -[ext_resource type="Script" path="res://assets/player/player_math_25d.gd" id="3"] +[ext_resource type="Script" uid="uid://c05x6jnllnlcy" path="res://addons/node25d/node_25d.gd" id="1"] +[ext_resource type="Script" uid="uid://bvdq6a8p52u8y" path="res://assets/player/player_math_25d.gd" id="3"] [ext_resource type="Texture2D" uid="uid://bfdfertqyhf1u" path="res://assets/player/textures/jump.png" id="4"] -[ext_resource type="Script" path="res://assets/player/player_sprite.gd" id="5"] +[ext_resource type="Script" uid="uid://cd85f1gc6whi6" path="res://assets/player/player_sprite.gd" id="5"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_b17hs"] diff --git a/misc/2.5d/assets/player/player_math_25d.gd.uid b/misc/2.5d/assets/player/player_math_25d.gd.uid new file mode 100644 index 00000000..249a646a --- /dev/null +++ b/misc/2.5d/assets/player/player_math_25d.gd.uid @@ -0,0 +1 @@ +uid://bvdq6a8p52u8y diff --git a/misc/2.5d/assets/player/player_sprite.gd.uid b/misc/2.5d/assets/player/player_sprite.gd.uid new file mode 100644 index 00000000..24f7a641 --- /dev/null +++ b/misc/2.5d/assets/player/player_sprite.gd.uid @@ -0,0 +1 @@ +uid://cd85f1gc6whi6 diff --git a/misc/2.5d/assets/shadow/shadow_25d.tscn b/misc/2.5d/assets/shadow/shadow_25d.tscn index f449bcb1..a8435cdf 100644 --- a/misc/2.5d/assets/shadow/shadow_25d.tscn +++ b/misc/2.5d/assets/shadow/shadow_25d.tscn @@ -1,9 +1,9 @@ -[gd_scene load_steps=6 format=4 uid="uid://ivolxaqaaddk"] +[gd_scene load_steps=6 format=3 uid="uid://ivolxaqaaddk"] -[ext_resource type="Script" path="res://addons/node25d/node_25d.gd" id="1"] -[ext_resource type="Script" path="res://addons/node25d/shadow_math_25d.gd" id="3"] +[ext_resource type="Script" uid="uid://c05x6jnllnlcy" path="res://addons/node25d/node_25d.gd" id="1"] +[ext_resource type="Script" uid="uid://bm6vj6i3mbhne" path="res://addons/node25d/shadow_math_25d.gd" id="3"] [ext_resource type="Texture2D" uid="uid://4fvxohv2aowy" path="res://assets/shadow/textures/forty_five.png" id="5"] -[ext_resource type="Script" path="res://assets/shadow/shadow_sprite.gd" id="6"] +[ext_resource type="Script" uid="uid://cyo130tjpsmxr" path="res://assets/shadow/shadow_sprite.gd" id="6"] [sub_resource type="SphereShape3D" id="SphereShape3D_v7tld"] diff --git a/misc/2.5d/assets/shadow/shadow_sprite.gd.uid b/misc/2.5d/assets/shadow/shadow_sprite.gd.uid new file mode 100644 index 00000000..1ccf0a11 --- /dev/null +++ b/misc/2.5d/assets/shadow/shadow_sprite.gd.uid @@ -0,0 +1 @@ +uid://cyo130tjpsmxr diff --git a/misc/2.5d/assets/ui/control_hints.gd.uid b/misc/2.5d/assets/ui/control_hints.gd.uid new file mode 100644 index 00000000..414a1a7e --- /dev/null +++ b/misc/2.5d/assets/ui/control_hints.gd.uid @@ -0,0 +1 @@ +uid://bh60kilfykunq diff --git a/misc/2.5d/assets/ui/overlay.tscn b/misc/2.5d/assets/ui/overlay.tscn index fe398376..796a5576 100644 --- a/misc/2.5d/assets/ui/overlay.tscn +++ b/misc/2.5d/assets/ui/overlay.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=4 uid="uid://6o8sm5bti8d1"] +[gd_scene load_steps=2 format=3 uid="uid://6o8sm5bti8d1"] -[ext_resource type="Script" path="res://assets/ui/control_hints.gd" id="1"] +[ext_resource type="Script" uid="uid://bh60kilfykunq" path="res://assets/ui/control_hints.gd" id="1"] [node name="Overlay" type="CanvasLayer"] diff --git a/misc/2.5d/assets/ui/overlay_cube.tscn b/misc/2.5d/assets/ui/overlay_cube.tscn index 7b139433..a3a990d3 100644 --- a/misc/2.5d/assets/ui/overlay_cube.tscn +++ b/misc/2.5d/assets/ui/overlay_cube.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://c54vn5cyu7bwg"] -[ext_resource type="Script" path="res://assets/ui/control_hints.gd" id="1"] +[ext_resource type="Script" uid="uid://bh60kilfykunq" path="res://assets/ui/control_hints.gd" id="1"] [node name="Overlay" type="CanvasLayer"] diff --git a/misc/2.5d/project.godot b/misc/2.5d/project.godot index d671b1d0..dfd85f1d 100644 --- a/misc/2.5d/project.godot +++ b/misc/2.5d/project.godot @@ -16,7 +16,7 @@ in Godot by mixing 2D and 3D nodes. It also adds a 2.5D editor viewport for easily editing 2.5D levels." config/tags=PackedStringArray("2d", "demo", "official") run/main_scene="res://assets/demo_scene.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/misc/compute_shader_heightmap/main.gd.uid b/misc/compute_shader_heightmap/main.gd.uid new file mode 100644 index 00000000..a2cb3978 --- /dev/null +++ b/misc/compute_shader_heightmap/main.gd.uid @@ -0,0 +1 @@ +uid://cuw4ic0p5jka7 diff --git a/misc/compute_shader_heightmap/main.tscn b/misc/compute_shader_heightmap/main.tscn index d445c885..f8cd2b38 100644 --- a/misc/compute_shader_heightmap/main.tscn +++ b/misc/compute_shader_heightmap/main.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://dm8doenormt4l"] -[ext_resource type="Script" path="res://main.gd" id="1_r4h6n"] +[ext_resource type="Script" uid="uid://cuw4ic0p5jka7" path="res://main.gd" id="1_r4h6n"] [sub_resource type="Gradient" id="Gradient_l3ffd"] colors = PackedColorArray(0, 0.686275, 0.658824, 1, 0.542081, 0.741499, 1, 1) diff --git a/misc/compute_shader_heightmap/project.godot b/misc/compute_shader_heightmap/project.godot index 08bd68cf..fd88757b 100644 --- a/misc/compute_shader_heightmap/project.godot +++ b/misc/compute_shader_heightmap/project.godot @@ -13,7 +13,7 @@ config_version=5 config/name="Compute Shader Heightmap" config/tags=PackedStringArray("demo", "official", "performance", "rendering", "shaders") run/main_scene="res://main.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" diff --git a/misc/graphics_tablet_input/graphics_tablet_input.gd.uid b/misc/graphics_tablet_input/graphics_tablet_input.gd.uid new file mode 100644 index 00000000..0d80b71d --- /dev/null +++ b/misc/graphics_tablet_input/graphics_tablet_input.gd.uid @@ -0,0 +1 @@ +uid://c8j1v1pxecy0q diff --git a/misc/graphics_tablet_input/graphics_tablet_input.tscn b/misc/graphics_tablet_input/graphics_tablet_input.tscn index 4599a7af..0fbb7e20 100644 --- a/misc/graphics_tablet_input/graphics_tablet_input.tscn +++ b/misc/graphics_tablet_input/graphics_tablet_input.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=13 format=3 uid="uid://dxpettbof8pr8"] -[ext_resource type="Script" path="res://graphics_tablet_input.gd" id="1_fhuxi"] +[ext_resource type="Script" uid="uid://c8j1v1pxecy0q" path="res://graphics_tablet_input.gd" id="1_fhuxi"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_0pp2f"] content_margin_left = 12.0 diff --git a/misc/graphics_tablet_input/project.godot b/misc/graphics_tablet_input/project.godot index bd0bd74c..0995702d 100644 --- a/misc/graphics_tablet_input/project.godot +++ b/misc/graphics_tablet_input/project.godot @@ -14,7 +14,7 @@ config/name="Graphics Tablet Input" config/description="A demo showing how to use graphics tablet input in Godot." config/tags=PackedStringArray("2d", "demo", "input", "official", "porting") run/main_scene="res://graphics_tablet_input.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.svg" diff --git a/misc/joypads/joypads.gd.uid b/misc/joypads/joypads.gd.uid new file mode 100644 index 00000000..4081caf8 --- /dev/null +++ b/misc/joypads/joypads.gd.uid @@ -0,0 +1 @@ +uid://ihy5kxx4e6xt diff --git a/misc/joypads/joypads.tscn b/misc/joypads/joypads.tscn index 2c774780..d6f2aeef 100644 --- a/misc/joypads/joypads.tscn +++ b/misc/joypads/joypads.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=8 format=3 uid="uid://b2dl5qw1jss2w"] -[ext_resource type="Script" path="res://joypads.gd" id="1"] +[ext_resource type="Script" uid="uid://ihy5kxx4e6xt" path="res://joypads.gd" id="1"] [ext_resource type="PackedScene" uid="uid://bsrktfrmtkqvo" path="res://joypad_diagram.tscn" id="2"] [ext_resource type="PackedScene" uid="uid://na4hexkywup6" path="res://remap/remap_wizard.tscn" id="3"] diff --git a/misc/joypads/project.godot b/misc/joypads/project.godot index 2e614e72..9539558d 100644 --- a/misc/joypads/project.godot +++ b/misc/joypads/project.godot @@ -14,7 +14,7 @@ config/name="Joypads" config/description="A tool for testing joypad input." config/tags=PackedStringArray("demo", "gui", "input", "official") run/main_scene="res://joypads.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" diff --git a/misc/joypads/remap/joy_mapping.gd.uid b/misc/joypads/remap/joy_mapping.gd.uid new file mode 100644 index 00000000..deb1f9f0 --- /dev/null +++ b/misc/joypads/remap/joy_mapping.gd.uid @@ -0,0 +1 @@ +uid://chstcpkms6b14 diff --git a/misc/joypads/remap/remap_wizard.gd.uid b/misc/joypads/remap/remap_wizard.gd.uid new file mode 100644 index 00000000..4f621173 --- /dev/null +++ b/misc/joypads/remap/remap_wizard.gd.uid @@ -0,0 +1 @@ +uid://b2g3tdhenaajo diff --git a/misc/joypads/remap/remap_wizard.tscn b/misc/joypads/remap/remap_wizard.tscn index ee1fcb9f..56076a9d 100644 --- a/misc/joypads/remap/remap_wizard.tscn +++ b/misc/joypads/remap/remap_wizard.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://na4hexkywup6"] -[ext_resource type="Script" path="res://remap/remap_wizard.gd" id="1"] +[ext_resource type="Script" uid="uid://b2g3tdhenaajo" path="res://remap/remap_wizard.gd" id="1"] [ext_resource type="PackedScene" uid="uid://bsrktfrmtkqvo" path="res://joypad_diagram.tscn" id="2"] [node name="RemapWizard" type="Node"] diff --git a/misc/large_world_coordinates/controls.gd.uid b/misc/large_world_coordinates/controls.gd.uid new file mode 100644 index 00000000..8903b0ff --- /dev/null +++ b/misc/large_world_coordinates/controls.gd.uid @@ -0,0 +1 @@ +uid://dx422su5mo4xm diff --git a/misc/large_world_coordinates/project.godot b/misc/large_world_coordinates/project.godot index 475cac4e..e9d0f20c 100644 --- a/misc/large_world_coordinates/project.godot +++ b/misc/large_world_coordinates/project.godot @@ -15,7 +15,7 @@ config/description="This project showcases optional support for double-precision and physics in action." config/tags=PackedStringArray("3d", "demo", "official", "physics", "rendering") run/main_scene="res://test.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" diff --git a/misc/large_world_coordinates/test.tscn b/misc/large_world_coordinates/test.tscn index bdb1e3ef..0e1dbe2c 100644 --- a/misc/large_world_coordinates/test.tscn +++ b/misc/large_world_coordinates/test.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=23 format=3 uid="uid://37j1wgn5e8e"] -[ext_resource type="Script" path="res://controls.gd" id="1_ojycn"] +[ext_resource type="Script" uid="uid://dx422su5mo4xm" path="res://controls.gd" id="1_ojycn"] [sub_resource type="PhysicalSkyMaterial" id="PhysicalSkyMaterial_i2lbx"] ground_color = Color(1, 1, 1, 1) @@ -14,8 +14,7 @@ sky = SubResource("Sky_rtoqf") ambient_light_source = 2 ambient_light_color = Color(1, 1, 1, 1) ambient_light_energy = 0.3 -tonemap_mode = 2 -tonemap_white = 6.0 +tonemap_mode = 4 [sub_resource type="BoxMesh" id="BoxMesh_rpkrt"] size = Vector3(16, 16, 16) @@ -175,8 +174,8 @@ tracks/3/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_2gye4"] _data = { -"RESET": SubResource("Animation_c3rry"), -"move_text_around": SubResource("Animation_ww6nu") +&"RESET": SubResource("Animation_c3rry"), +&"move_text_around": SubResource("Animation_ww6nu") } [node name="Node3D" type="Node3D"] diff --git a/misc/matrix_transform/2D.tscn b/misc/matrix_transform/2D.tscn index 773727a6..4e9fb792 100644 --- a/misc/matrix_transform/2D.tscn +++ b/misc/matrix_transform/2D.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://dnhyegott4sq3"] -[ext_resource path="res://marker/AxisMarker2D.tscn" type="PackedScene" id=1] +[ext_resource type="PackedScene" uid="uid://dgglwcbo10bxf" path="res://marker/AxisMarker2D.tscn" id="1"] [node name="2D" type="Node2D"] @@ -8,8 +8,8 @@ rotation = 2.98023e-08 scale = Vector2(100, 100) -[node name="AxisMarker" parent="Scale100" instance=ExtResource( 1 )] +[node name="AxisMarker" parent="Scale100" instance=ExtResource("1")] -[node name="AxisMarker2" parent="Scale100/AxisMarker" instance=ExtResource( 1 )] +[node name="AxisMarker2" parent="Scale100/AxisMarker" instance=ExtResource("1")] position = Vector2(1.5, 1) rotation = 0.349066 diff --git a/misc/matrix_transform/3D.tscn b/misc/matrix_transform/3D.tscn index 2bca0656..4e462356 100644 --- a/misc/matrix_transform/3D.tscn +++ b/misc/matrix_transform/3D.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://dh1yenn4jvxrf"] -[ext_resource type="PackedScene" path="res://marker/AxisMarker3D.tscn" id="1"] +[ext_resource type="PackedScene" uid="uid://bn1lmdxiowagu" path="res://marker/AxisMarker3D.tscn" id="1"] [node name="3D" type="Node3D"] diff --git a/misc/matrix_transform/default_env.tres b/misc/matrix_transform/default_env.tres deleted file mode 100644 index 1a5570b8..00000000 --- a/misc/matrix_transform/default_env.tres +++ /dev/null @@ -1,7 +0,0 @@ -[gd_resource type="Environment" load_steps=2 format=2] - -[sub_resource type="Sky" id=1] - -[resource] -background_mode = 2 -background_sky = SubResource( 1 ) diff --git a/misc/matrix_transform/marker/AxisMarker2D.gd.uid b/misc/matrix_transform/marker/AxisMarker2D.gd.uid new file mode 100644 index 00000000..684048d9 --- /dev/null +++ b/misc/matrix_transform/marker/AxisMarker2D.gd.uid @@ -0,0 +1 @@ +uid://c422hmpso5c08 diff --git a/misc/matrix_transform/marker/AxisMarker2D.tscn b/misc/matrix_transform/marker/AxisMarker2D.tscn index baa51b39..0bac2355 100644 --- a/misc/matrix_transform/marker/AxisMarker2D.tscn +++ b/misc/matrix_transform/marker/AxisMarker2D.tscn @@ -1,9 +1,9 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://dgglwcbo10bxf"] -[ext_resource path="res://marker/AxisMarker2D.gd" type="Script" id=1] +[ext_resource type="Script" uid="uid://c422hmpso5c08" path="res://marker/AxisMarker2D.gd" id="1"] [node name="AxisMarker" type="Node2D"] -script = ExtResource( 1 ) +script = ExtResource("1") [node name="Origin" type="Node" parent="."] diff --git a/misc/matrix_transform/marker/AxisMarker3D.gd.uid b/misc/matrix_transform/marker/AxisMarker3D.gd.uid new file mode 100644 index 00000000..edd2c8b4 --- /dev/null +++ b/misc/matrix_transform/marker/AxisMarker3D.gd.uid @@ -0,0 +1 @@ +uid://dm1m23b17d4a2 diff --git a/misc/matrix_transform/marker/AxisMarker3D.tscn b/misc/matrix_transform/marker/AxisMarker3D.tscn index 67aabce4..69836b61 100644 --- a/misc/matrix_transform/marker/AxisMarker3D.tscn +++ b/misc/matrix_transform/marker/AxisMarker3D.tscn @@ -1,24 +1,23 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=7 format=3 uid="uid://bn1lmdxiowagu"] -[ext_resource path="res://marker/AxisMarker3D.gd" type="Script" id=1] +[ext_resource type="Script" uid="uid://dm1m23b17d4a2" path="res://marker/AxisMarker3D.gd" id="1"] -[sub_resource type="BoxMesh" id=1] -size = Vector3(1, 1, 1) +[sub_resource type="BoxMesh" id="1"] -[sub_resource type="StandardMaterial3D" id=2] +[sub_resource type="StandardMaterial3D" id="2"] albedo_color = Color(0, 1, 1, 1) -[sub_resource type="StandardMaterial3D" id=3] +[sub_resource type="StandardMaterial3D" id="3"] albedo_color = Color(1, 0, 0, 1) -[sub_resource type="StandardMaterial3D" id=4] +[sub_resource type="StandardMaterial3D" id="4"] albedo_color = Color(0, 1, 0, 1) -[sub_resource type="StandardMaterial3D" id=5] +[sub_resource type="StandardMaterial3D" id="5"] albedo_color = Color(0, 0, 1, 1) [node name="AxisMarker" type="Node3D"] -script = ExtResource( 1 ) +script = ExtResource("1") [node name="Origin" type="Node" parent="."] @@ -26,25 +25,25 @@ script = ExtResource( 1 ) [node name="Cube" type="MeshInstance3D" parent="Origin/Holder"] transform = Transform3D(0.0001, 0, 0, 0, 0.0001, 0, 0, 0, 0.0001, 0, 0, 0) -mesh = SubResource( 1 ) -surface_material_override/0 = SubResource( 2 ) +mesh = SubResource("1") +surface_material_override/0 = SubResource("2") [node name="Center" type="MeshInstance3D" parent="."] transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0) -mesh = SubResource( 1 ) -surface_material_override/0 = SubResource( 2 ) +mesh = SubResource("1") +surface_material_override/0 = SubResource("2") [node name="X" type="MeshInstance3D" parent="."] transform = Transform3D(1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0.55, 0, 0) -mesh = SubResource( 1 ) -surface_material_override/0 = SubResource( 3 ) +mesh = SubResource("1") +surface_material_override/0 = SubResource("3") [node name="Y" type="MeshInstance3D" parent="."] transform = Transform3D(0.1, 0, 0, 0, 1, 0, 0, 0, 0.1, 0, 0.55, 0) -mesh = SubResource( 1 ) -surface_material_override/0 = SubResource( 4 ) +mesh = SubResource("1") +surface_material_override/0 = SubResource("4") [node name="Z" type="MeshInstance3D" parent="."] transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 1, 0, 0, 0.55) -mesh = SubResource( 1 ) -surface_material_override/0 = SubResource( 5 ) +mesh = SubResource("1") +surface_material_override/0 = SubResource("5") diff --git a/misc/matrix_transform/project.godot b/misc/matrix_transform/project.godot index a12666fa..ff87c704 100644 --- a/misc/matrix_transform/project.godot +++ b/misc/matrix_transform/project.godot @@ -18,7 +18,7 @@ Do not 'run' this project. You are only meant to use it within the Godot editor. For more information, see the Matrices and Transforms article." config/tags=PackedStringArray("3d", "demo", "editor", "official") run/main_scene="res://3D.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/misc/noise_viewer/noise_viewer.gd.uid b/misc/noise_viewer/noise_viewer.gd.uid new file mode 100644 index 00000000..806a0a8e --- /dev/null +++ b/misc/noise_viewer/noise_viewer.gd.uid @@ -0,0 +1 @@ +uid://dkdptu8hleksd diff --git a/misc/noise_viewer/noise_viewer.gdshader.uid b/misc/noise_viewer/noise_viewer.gdshader.uid new file mode 100644 index 00000000..3520bf3e --- /dev/null +++ b/misc/noise_viewer/noise_viewer.gdshader.uid @@ -0,0 +1 @@ +uid://dmd1pl0hub0ys diff --git a/misc/noise_viewer/noise_viewer.tscn b/misc/noise_viewer/noise_viewer.tscn index ac92ae9a..59930c0d 100644 --- a/misc/noise_viewer/noise_viewer.tscn +++ b/misc/noise_viewer/noise_viewer.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=5 format=3 uid="uid://835hb2c3ckoi"] -[ext_resource type="Script" path="res://noise_viewer.gd" id="1_a6h72"] +[ext_resource type="Script" uid="uid://dkdptu8hleksd" path="res://noise_viewer.gd" id="1_a6h72"] [ext_resource type="Material" uid="uid://dnxbb2gtigc6b" path="res://noise_viewer_material.tres" id="2_lywnk"] [sub_resource type="FastNoiseLite" id="1"] diff --git a/misc/noise_viewer/project.godot b/misc/noise_viewer/project.godot index ddccc061..c66d9aaa 100644 --- a/misc/noise_viewer/project.godot +++ b/misc/noise_viewer/project.godot @@ -14,7 +14,7 @@ config/name="Noise Viewer" config/description="This is a sample project which allows the user to tweak different parameters of a FastNoiseLite texture." config/tags=PackedStringArray("demo", "gui", "official", "procedural", "visualization") run/main_scene="res://noise_viewer.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" diff --git a/misc/os_test/actions.gd.uid b/misc/os_test/actions.gd.uid new file mode 100644 index 00000000..e01d7201 --- /dev/null +++ b/misc/os_test/actions.gd.uid @@ -0,0 +1 @@ +uid://dmkhqnbfmwl2x diff --git a/misc/os_test/os_test.gd.uid b/misc/os_test/os_test.gd.uid new file mode 100644 index 00000000..8d3995ff --- /dev/null +++ b/misc/os_test/os_test.gd.uid @@ -0,0 +1 @@ +uid://tqgoio0xyygf diff --git a/misc/os_test/os_test.tscn b/misc/os_test/os_test.tscn index 120d6f73..bec5998d 100644 --- a/misc/os_test/os_test.tscn +++ b/misc/os_test/os_test.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=3 uid="uid://ds1y65r8ld026"] -[ext_resource type="Script" path="res://os_test.gd" id="1"] -[ext_resource type="Script" path="res://actions.gd" id="4"] +[ext_resource type="Script" uid="uid://tqgoio0xyygf" path="res://os_test.gd" id="1"] +[ext_resource type="Script" uid="uid://dmkhqnbfmwl2x" path="res://actions.gd" id="4"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_dl4cr"] diff --git a/misc/os_test/project.godot b/misc/os_test/project.godot index 752a53bf..a18e7514 100644 --- a/misc/os_test/project.godot +++ b/misc/os_test/project.godot @@ -19,7 +19,7 @@ In a nutshell, this demo shows how you can get information from the operating system, or interact with the operating system." config/tags=PackedStringArray("demo", "official", "porting") run/main_scene="res://os_test.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" diff --git a/misc/pause/pause_button.gd.uid b/misc/pause/pause_button.gd.uid new file mode 100644 index 00000000..9131cd37 --- /dev/null +++ b/misc/pause/pause_button.gd.uid @@ -0,0 +1 @@ +uid://xapeonuqvkvg diff --git a/misc/pause/process_mode.gd.uid b/misc/pause/process_mode.gd.uid new file mode 100644 index 00000000..371ad999 --- /dev/null +++ b/misc/pause/process_mode.gd.uid @@ -0,0 +1 @@ +uid://d2rbcfb2egi82 diff --git a/misc/pause/project.godot b/misc/pause/project.godot index 03cb8f4d..0a328ebb 100644 --- a/misc/pause/project.godot +++ b/misc/pause/project.godot @@ -14,7 +14,7 @@ config/name="Pause" config/description="A demo showing how a game made in Godot can be paused." config/tags=PackedStringArray("demo", "official") run/main_scene="res://spinpause.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -30,8 +30,8 @@ window/stretch/aspect="expand" toggle_pause={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":80,"physical_keycode":0,"key_label":0,"unicode":112,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194313,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":80,"physical_keycode":0,"key_label":0,"unicode":112,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194313,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } @@ -39,6 +39,6 @@ toggle_pause={ renderer/rendering_method="gl_compatibility" renderer/rendering_method.mobile="gl_compatibility" -environment/defaults/default_clear_color=Color(0.133333, 0.133333, 0.133333, 1) anti_aliasing/quality/msaa_3d=2 +environment/defaults/default_clear_color=Color(0.133333, 0.133333, 0.133333, 1) anti_aliasing/quality/use_debanding=true diff --git a/misc/pause/spinpause.tscn b/misc/pause/spinpause.tscn index f5f05546..3ecdaa3c 100644 --- a/misc/pause/spinpause.tscn +++ b/misc/pause/spinpause.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=8 format=3 uid="uid://cwa8rglnrg4yb"] -[ext_resource type="Script" path="res://pause_button.gd" id="1"] -[ext_resource type="Script" path="res://process_mode.gd" id="2_0dpmq"] +[ext_resource type="Script" uid="uid://xapeonuqvkvg" path="res://pause_button.gd" id="1"] +[ext_resource type="Script" uid="uid://d2rbcfb2egi82" path="res://process_mode.gd" id="2_0dpmq"] [sub_resource type="BoxMesh" id="1"] size = Vector3(1.5, 1.5, 1.5) @@ -24,7 +24,7 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_5vmwp"] _data = { -"spin": SubResource("2") +&"spin": SubResource("2") } [sub_resource type="InputEventAction" id="InputEventAction_6y126"] diff --git a/misc/window_management/control.gd.uid b/misc/window_management/control.gd.uid new file mode 100644 index 00000000..8a3fe5f7 --- /dev/null +++ b/misc/window_management/control.gd.uid @@ -0,0 +1 @@ +uid://dd3sqwlvyiip3 diff --git a/misc/window_management/observer/observer.gd.uid b/misc/window_management/observer/observer.gd.uid new file mode 100644 index 00000000..dfb0f3b8 --- /dev/null +++ b/misc/window_management/observer/observer.gd.uid @@ -0,0 +1 @@ +uid://buo62ixrf8xbj diff --git a/misc/window_management/observer/observer.tscn b/misc/window_management/observer/observer.tscn index 69e52ca8..88d6fb69 100644 --- a/misc/window_management/observer/observer.tscn +++ b/misc/window_management/observer/observer.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://dn8gun8srd127"] -[ext_resource type="Script" path="res://observer/observer.gd" id="1"] +[ext_resource type="Script" uid="uid://buo62ixrf8xbj" path="res://observer/observer.gd" id="1"] [sub_resource type="BoxShape3D" id="1"] diff --git a/misc/window_management/project.godot b/misc/window_management/project.godot index 80048079..6f9b7a0d 100644 --- a/misc/window_management/project.godot +++ b/misc/window_management/project.godot @@ -14,7 +14,7 @@ config/name="Window Management" config/description="A demo showing the various window management features available through DisplayServer." config/tags=PackedStringArray("demo", "official", "porting") run/main_scene="res://window_management.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") run/low_processor_mode=true config/icon="res://icon.webp" @@ -35,51 +35,51 @@ window/resizable=true mouse_mode_visible={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194332,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194332,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } mouse_mode_hidden={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194333,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194333,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } mouse_mode_captured={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194334,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194334,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } mouse_mode_confined={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194335,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194335,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } mouse_mode_confined_hidden={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194336,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194336,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } move_forward={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } move_backwards={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } move_left={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } move_right={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } diff --git a/misc/window_management/window_management.tscn b/misc/window_management/window_management.tscn index 229485fc..26f3feed 100644 --- a/misc/window_management/window_management.tscn +++ b/misc/window_management/window_management.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=9 format=3 uid="uid://cwvmsqurkf8aa"] [ext_resource type="PackedScene" uid="uid://dn8gun8srd127" path="res://observer/observer.tscn" id="1"] -[ext_resource type="Script" path="res://control.gd" id="2"] +[ext_resource type="Script" uid="uid://dd3sqwlvyiip3" path="res://control.gd" id="2"] [sub_resource type="Gradient" id="Gradient_oauk4"] colors = PackedColorArray(0.862745, 0.862745, 0.862745, 1, 1, 1, 1, 1) diff --git a/mobile/android_iap/iap_demo.gd.uid b/mobile/android_iap/iap_demo.gd.uid new file mode 100644 index 00000000..4c829fa2 --- /dev/null +++ b/mobile/android_iap/iap_demo.gd.uid @@ -0,0 +1 @@ +uid://c3hpm70nolmyj diff --git a/mobile/android_iap/main.tscn b/mobile/android_iap/main.tscn index c1691df1..3e7e18ed 100644 --- a/mobile/android_iap/main.tscn +++ b/mobile/android_iap/main.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://ba8dxewtq7kxv"] -[ext_resource type="Script" path="res://iap_demo.gd" id="1"] +[ext_resource type="Script" uid="uid://c3hpm70nolmyj" path="res://iap_demo.gd" id="1"] [node name="Control" type="Control"] layout_mode = 3 diff --git a/mobile/android_iap/project.godot b/mobile/android_iap/project.godot index 02e40400..c4b9c73b 100644 --- a/mobile/android_iap/project.godot +++ b/mobile/android_iap/project.godot @@ -20,7 +20,7 @@ config/description="This demo shows how to make in-app payments in Android. Note: Running the demo requires exporting and uploading the game to Google Play." config/tags=PackedStringArray("demo", "mobile", "official", "porting") run/main_scene="res://main.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/mobile/multitouch_cubes/GestureArea.gd.uid b/mobile/multitouch_cubes/GestureArea.gd.uid new file mode 100644 index 00000000..e1bbc441 --- /dev/null +++ b/mobile/multitouch_cubes/GestureArea.gd.uid @@ -0,0 +1 @@ +uid://dk531tymxg2i diff --git a/mobile/multitouch_cubes/Main.tscn b/mobile/multitouch_cubes/Main.tscn index c968bbca..be055aa8 100644 --- a/mobile/multitouch_cubes/Main.tscn +++ b/mobile/multitouch_cubes/Main.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://didpkugc6cvxv"] -[ext_resource type="Script" path="res://GestureArea.gd" id="1"] +[ext_resource type="Script" uid="uid://dk531tymxg2i" path="res://GestureArea.gd" id="1"] [ext_resource type="PackedScene" uid="uid://csyb8ij530w1l" path="res://CubeScene.tscn" id="2"] [node name="VBoxContainer" type="VBoxContainer"] diff --git a/mobile/multitouch_cubes/project.godot b/mobile/multitouch_cubes/project.godot index 1ae86dac..216be612 100644 --- a/mobile/multitouch_cubes/project.godot +++ b/mobile/multitouch_cubes/project.godot @@ -14,7 +14,7 @@ config/name="Multitouch Cubes Demo " config/description="Demo of multitouch input and different gestures using the touch API. This demo is meant to be used with a touch-enabled device such as a phone or tablet." config/tags=PackedStringArray("demo", "input", "mobile", "official") run/main_scene="res://Main.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/mobile/multitouch_view/Main.gd.uid b/mobile/multitouch_view/Main.gd.uid new file mode 100644 index 00000000..d544be6f --- /dev/null +++ b/mobile/multitouch_view/Main.gd.uid @@ -0,0 +1 @@ +uid://bbvd61pjrrhfx diff --git a/mobile/multitouch_view/Main.tscn b/mobile/multitouch_view/Main.tscn index 21252546..a488781b 100644 --- a/mobile/multitouch_view/Main.tscn +++ b/mobile/multitouch_view/Main.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://bhi7m0klu2kgy"] -[ext_resource type="Script" path="res://Main.gd" id="1"] +[ext_resource type="Script" uid="uid://bbvd61pjrrhfx" path="res://Main.gd" id="1"] [node name="Main" type="Node2D"] script = ExtResource("1") diff --git a/mobile/multitouch_view/TouchHelper.gd.uid b/mobile/multitouch_view/TouchHelper.gd.uid new file mode 100644 index 00000000..0798295d --- /dev/null +++ b/mobile/multitouch_view/TouchHelper.gd.uid @@ -0,0 +1 @@ +uid://1tl8t8q5rb4w diff --git a/mobile/multitouch_view/project.godot b/mobile/multitouch_view/project.godot index 8933c1fd..d753e2d5 100644 --- a/mobile/multitouch_view/project.godot +++ b/mobile/multitouch_view/project.godot @@ -14,7 +14,7 @@ config/name="Multitouch View" config/description="Simple debugger for multitouch input. Shows red dots everywhere you press." config/tags=PackedStringArray("demo", "input", "mobile", "official") run/main_scene="res://Main.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [autoload] diff --git a/mobile/sensors/main.gd.uid b/mobile/sensors/main.gd.uid new file mode 100644 index 00000000..f144f7d0 --- /dev/null +++ b/mobile/sensors/main.gd.uid @@ -0,0 +1 @@ +uid://bbvi58u8grx2e diff --git a/mobile/sensors/main.tscn b/mobile/sensors/main.tscn index bca58095..b3962f81 100644 --- a/mobile/sensors/main.tscn +++ b/mobile/sensors/main.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=11 format=3 uid="uid://cfhql05dj6udh"] -[ext_resource type="Script" path="res://main.gd" id="1"] +[ext_resource type="Script" uid="uid://bbvi58u8grx2e" path="res://main.gd" id="1"] [ext_resource type="Texture2D" uid="uid://yba5kdfjgn65" path="res://cube_6.png" id="2"] [sub_resource type="Environment" id="1"] diff --git a/mobile/sensors/project.godot b/mobile/sensors/project.godot index 2c814f19..a2d714fe 100644 --- a/mobile/sensors/project.godot +++ b/mobile/sensors/project.godot @@ -15,7 +15,7 @@ config/description="A demo showing the use of various sensors: an accelerometer, These sensors are typically found on mobile devices, so don't expect this to work on a desktop." config/tags=PackedStringArray("demo", "mobile", "official") run/main_scene="res://main.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/mono/2.5d/addons/node25d-cs/main_screen/main_screen_25d.tscn b/mono/2.5d/addons/node25d-cs/main_screen/main_screen_25d.tscn index 72c66ebb..328ad136 100644 --- a/mono/2.5d/addons/node25d-cs/main_screen/main_screen_25d.tscn +++ b/mono/2.5d/addons/node25d-cs/main_screen/main_screen_25d.tscn @@ -1,12 +1,12 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=5 format=3 uid="uid://do65o2c344upb"] -[ext_resource path="res://addons/node25d-cs/main_screen/viewport_25d.gd" type="Script" id=1] -[ext_resource path="res://addons/node25d-cs/main_screen/view_mode_button_group.tres" type="ButtonGroup" id=2] +[ext_resource type="Script" uid="uid://kjcptyhtpm3a" path="res://addons/node25d-cs/main_screen/viewport_25d.gd" id="1"] +[ext_resource type="ButtonGroup" path="res://addons/node25d-cs/main_screen/view_mode_button_group.tres" id="2"] -[sub_resource type="ViewportTexture" id=1] +[sub_resource type="ViewportTexture" id="1"] viewport_path = NodePath("Viewport25D/Viewport2D") -[sub_resource type="ViewportTexture" id=2] +[sub_resource type="ViewportTexture" id="2"] viewport_path = NodePath("Viewport25D/ViewportOverlay") [node name="MainScreen25D" type="VBoxContainer"] @@ -33,7 +33,7 @@ size_flags_horizontal = 3 offset_right = 94.0 offset_bottom = 32.0 pressed = true -group = ExtResource( 2 ) +group = ExtResource("2") text = "45 Degree" __meta__ = { "_edit_use_anchors_": false @@ -43,7 +43,7 @@ __meta__ = { offset_left = 98.0 offset_right = 188.0 offset_bottom = 32.0 -group = ExtResource( 2 ) +group = ExtResource("2") text = "Isometric" __meta__ = { "_edit_use_anchors_": false @@ -53,7 +53,7 @@ __meta__ = { offset_left = 192.0 offset_right = 283.0 offset_bottom = 32.0 -group = ExtResource( 2 ) +group = ExtResource("2") text = "Top Down" __meta__ = { "_edit_use_anchors_": false @@ -63,7 +63,7 @@ __meta__ = { offset_left = 287.0 offset_right = 379.0 offset_bottom = 32.0 -group = ExtResource( 2 ) +group = ExtResource("2") text = "Front Side" __meta__ = { "_edit_use_anchors_": false @@ -73,7 +73,7 @@ __meta__ = { offset_left = 383.0 offset_right = 473.0 offset_bottom = 32.0 -group = ExtResource( 2 ) +group = ExtResource("2") text = "Oblique Y" __meta__ = { "_edit_use_anchors_": false @@ -83,7 +83,7 @@ __meta__ = { offset_left = 477.0 offset_right = 568.0 offset_bottom = 32.0 -group = ExtResource( 2 ) +group = ExtResource("2") text = "Oblique Z" __meta__ = { "_edit_use_anchors_": false @@ -136,7 +136,7 @@ rect_clip_content = true size_flags_horizontal = 3 size_flags_vertical = 3 color = Color(0.301961, 0.301961, 0.301961, 1) -script = ExtResource( 1 ) +script = ExtResource("1") [node name="Viewport2D" type="SubViewport" parent="Viewport25D"] size = Vector2(1600, 864) @@ -155,7 +155,7 @@ render_target_v_flip = true [node name="ViewportTexture" type="TextureRect" parent="Viewport25D"] anchor_right = 1.0 anchor_bottom = 1.0 -texture = SubResource( 1 ) +texture = SubResource("1") expand = true __meta__ = { "_edit_use_anchors_": false @@ -164,10 +164,11 @@ __meta__ = { [node name="Overlay" type="TextureRect" parent="Viewport25D/ViewportTexture"] anchor_right = 1.0 anchor_bottom = 1.0 -texture = SubResource( 2 ) +texture = SubResource("2") __meta__ = { "_edit_use_anchors_": false } + [connection signal="pressed" from="TopBar/Zoom/ZoomOut" to="Viewport25D" method="_on_ZoomOut_pressed"] [connection signal="pressed" from="TopBar/Zoom/ZoomPercent/ZoomReset" to="Viewport25D" method="_on_ZoomReset_pressed"] [connection signal="pressed" from="TopBar/Zoom/ZoomIn" to="Viewport25D" method="_on_ZoomIn_pressed"] diff --git a/mono/2.5d/addons/node25d-cs/main_screen/viewport_25d.gd.uid b/mono/2.5d/addons/node25d-cs/main_screen/viewport_25d.gd.uid new file mode 100644 index 00000000..7dc32495 --- /dev/null +++ b/mono/2.5d/addons/node25d-cs/main_screen/viewport_25d.gd.uid @@ -0,0 +1 @@ +uid://kjcptyhtpm3a diff --git a/mono/2.5d/addons/node25d-cs/node25d_plugin.gd.uid b/mono/2.5d/addons/node25d-cs/node25d_plugin.gd.uid new file mode 100644 index 00000000..8d439000 --- /dev/null +++ b/mono/2.5d/addons/node25d-cs/node25d_plugin.gd.uid @@ -0,0 +1 @@ +uid://byic7mp2w2rxo diff --git a/mono/2.5d/assets/platform/platform_sprite.gd.uid b/mono/2.5d/assets/platform/platform_sprite.gd.uid new file mode 100644 index 00000000..b7b13b85 --- /dev/null +++ b/mono/2.5d/assets/platform/platform_sprite.gd.uid @@ -0,0 +1 @@ +uid://de7vrqkc4teer diff --git a/mono/2.5d/assets/shadow/shadow_sprite.gd.uid b/mono/2.5d/assets/shadow/shadow_sprite.gd.uid new file mode 100644 index 00000000..2b708e5c --- /dev/null +++ b/mono/2.5d/assets/shadow/shadow_sprite.gd.uid @@ -0,0 +1 @@ +uid://jmtpedgln6iw diff --git a/mono/2.5d/assets/ui/control_hints.gd.uid b/mono/2.5d/assets/ui/control_hints.gd.uid new file mode 100644 index 00000000..a6987f93 --- /dev/null +++ b/mono/2.5d/assets/ui/control_hints.gd.uid @@ -0,0 +1 @@ +uid://dnnq2no2yndps diff --git a/mono/2.5d/assets/ui/overlay.tscn b/mono/2.5d/assets/ui/overlay.tscn index a9d773ee..96d205c7 100644 --- a/mono/2.5d/assets/ui/overlay.tscn +++ b/mono/2.5d/assets/ui/overlay.tscn @@ -1,13 +1,13 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://caca4dwn1vn0x"] -[ext_resource path="res://assets/ui/control_hints.gd" type="Script" id=1] +[ext_resource type="Script" uid="uid://dnnq2no2yndps" path="res://assets/ui/control_hints.gd" id="1"] [node name="Overlay" type="CanvasLayer"] [node name="ControlHints" type="CenterContainer" parent="."] anchor_right = 1.0 offset_bottom = 200.0 -script = ExtResource( 1 ) +script = ExtResource("1") [node name="Label" type="Label" parent="ControlHints"] offset_left = 348.0 diff --git a/mono/2.5d/assets/ui/overlay_cube.tscn b/mono/2.5d/assets/ui/overlay_cube.tscn index f042863c..9e000933 100644 --- a/mono/2.5d/assets/ui/overlay_cube.tscn +++ b/mono/2.5d/assets/ui/overlay_cube.tscn @@ -1,13 +1,13 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://6tujnx553lpj"] -[ext_resource path="res://assets/ui/control_hints.gd" type="Script" id=1] +[ext_resource type="Script" uid="uid://dnnq2no2yndps" path="res://assets/ui/control_hints.gd" id="1"] [node name="Overlay" type="CanvasLayer"] [node name="ControlHints" type="CenterContainer" parent="."] anchor_right = 1.0 offset_bottom = 200.0 -script = ExtResource( 1 ) +script = ExtResource("1") [node name="Label" type="Label" parent="ControlHints"] offset_left = 416.0 diff --git a/mono/2.5d/project.godot b/mono/2.5d/project.godot index 8bbf9e1e..16ee56b0 100644 --- a/mono/2.5d/project.godot +++ b/mono/2.5d/project.godot @@ -16,7 +16,7 @@ in Godot by mixing 2D and 3D nodes. It also adds a 2.5D editor viewport for easily editing 2.5D levels." config/tags=PackedStringArray("2d", "demo", "official") run/main_scene="res://assets/demo_scene.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [display] @@ -32,133 +32,133 @@ enabled=PackedStringArray("node25d-cs") move_right={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":68,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777233,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":68,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777233,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null) ] } move_left={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":65,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777231,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":65,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777231,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null) ] } move_forward={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":87,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777232,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":87,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777232,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) ] } move_back={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":83,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777234,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":83,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777234,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) ] } movement_modifier={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777237,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777348,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777237,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777348,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":1,"pressure":0.0,"pressed":false,"script":null) ] } jump={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777350,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777350,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null) ] } reset_position={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":82,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777222,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":82,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777222,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":3,"pressure":0.0,"pressed":false,"script":null) ] } forty_five_mode={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":85,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777354,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":85,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777354,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) ] } isometric_mode={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":73,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777355,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":73,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777355,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null) ] } top_down_mode={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":79,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777356,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":79,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777356,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) ] } front_side_mode={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":74,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777351,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":74,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777351,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) ] } oblique_y_mode={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":75,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777352,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":75,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777352,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":4,"pressure":0.0,"pressed":false,"script":null) ] } oblique_z_mode={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":76,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777353,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":76,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777353,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":5,"pressure":0.0,"pressed":false,"script":null) ] } toggle_isometric_controls={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":84,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":84,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":8,"pressure":0.0,"pressed":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777349,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777349,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } toggle_control_hints={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777218,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777347,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777218,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777347,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":10,"pressure":0.0,"pressed":false,"script":null) ] } move_clockwise={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":69,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777359,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":69,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777359,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":7,"pressure":0.0,"pressed":false,"script":null) ] } move_counterclockwise={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":81,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777357,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":81,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777357,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":6,"pressure":0.0,"pressed":false,"script":null) ] } view_cube_demo={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":67,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777358,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":67,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777358,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":2,"pressure":0.0,"pressed":false,"script":null) ] } exit={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777217,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777217,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":11,"pressure":0.0,"pressed":false,"script":null) ] } diff --git a/mono/android_iap/default_env.tres b/mono/android_iap/default_env.tres deleted file mode 100644 index 1a5570b8..00000000 --- a/mono/android_iap/default_env.tres +++ /dev/null @@ -1,7 +0,0 @@ -[gd_resource type="Environment" load_steps=2 format=2] - -[sub_resource type="Sky" id=1] - -[resource] -background_mode = 2 -background_sky = SubResource( 1 ) diff --git a/mono/android_iap/project.godot b/mono/android_iap/project.godot index 46cf0b9a..c260f5fa 100644 --- a/mono/android_iap/project.godot +++ b/mono/android_iap/project.godot @@ -16,7 +16,7 @@ config/description="This demo shows how to make in-app payments in Android in C# Note: Running the demo requires exporting and uploading the game to Google Play." config/tags=PackedStringArray("demo", "mobile", "official", "porting") run/main_scene="res://main.tscn" -config/features=PackedStringArray("4.3", "C#", "Mobile") +config/features=PackedStringArray("4.4", "Mobile") config/icon="res://icon.webp" [display] diff --git a/mono/dodge_the_creeps/fonts/Xolonium-Regular.ttf.import b/mono/dodge_the_creeps/fonts/Xolonium-Regular.ttf.import index c0425532..66e353db 100644 --- a/mono/dodge_the_creeps/fonts/Xolonium-Regular.ttf.import +++ b/mono/dodge_the_creeps/fonts/Xolonium-Regular.ttf.import @@ -23,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/mono/dodge_the_creeps/project.godot b/mono/dodge_the_creeps/project.godot index ce388994..ab73c2b6 100644 --- a/mono/dodge_the_creeps/project.godot +++ b/mono/dodge_the_creeps/project.godot @@ -19,7 +19,7 @@ tutorial in the documentation, but ported to C#. For more details, consider following the tutorial in the documentation." config/tags=PackedStringArray("2d", "demo", "official") run/main_scene="res://Main.tscn" -config/features=PackedStringArray("4.2", "C#") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [display] @@ -36,40 +36,40 @@ project/assembly_name="Dodge the Creeps with C#" move_left={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null) ] } move_right={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null) ] } move_up={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) ] } move_down={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) ] } start_game={ "deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":false,"script":null) ] diff --git a/mono/multiplayer_pong/project.godot b/mono/multiplayer_pong/project.godot index 688f3fd9..699fb6a8 100644 --- a/mono/multiplayer_pong/project.godot +++ b/mono/multiplayer_pong/project.godot @@ -16,7 +16,7 @@ One of the players should press 'host', while the other should select the address and press 'join'." config/tags=PackedStringArray("2d", "demo", "network", "official") run/main_scene="res://lobby.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [display] @@ -30,20 +30,20 @@ window/stretch/aspect="expand" move_down={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777234,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777234,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":90,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":83,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":90,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":83,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } move_up={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777232,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":16777232,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":65,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":87,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":65,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":87,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } diff --git a/mono/pong/project.godot b/mono/pong/project.godot index 2e81543e..3beab0b0 100644 --- a/mono/pong/project.godot +++ b/mono/pong/project.godot @@ -15,7 +15,7 @@ config/description="A simple Pong game. This demo shows best practices for game development in Godot, including signals." config/tags=PackedStringArray("2d", "demo", "official") run/main_scene="pong.tscn" -config/features=PackedStringArray("4.2", "C#") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [display] @@ -35,32 +35,32 @@ left_move_down={ "deadzone": 0.2, "events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) ] } left_move_up={ "deadzone": 0.2, "events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":11,"pressure":0.0,"pressed":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":122,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":113,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null) ] } right_move_down={ "deadzone": 0.2, "events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":1,"axis":1,"axis_value":1.0,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":1,"button_index":12,"pressure":0.0,"pressed":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } right_move_up={ "deadzone": 0.2, "events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":1,"axis":1,"axis_value":-1.0,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":1,"button_index":11,"pressure":0.0,"pressed":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } diff --git a/networking/multiplayer_bomber/bomb.gd.uid b/networking/multiplayer_bomber/bomb.gd.uid new file mode 100644 index 00000000..90808b5f --- /dev/null +++ b/networking/multiplayer_bomber/bomb.gd.uid @@ -0,0 +1 @@ +uid://cxr4batapdr8d diff --git a/networking/multiplayer_bomber/bomb.tscn b/networking/multiplayer_bomber/bomb.tscn index febc01b2..3c7e741d 100644 --- a/networking/multiplayer_bomber/bomb.tscn +++ b/networking/multiplayer_bomber/bomb.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=9 format=3 uid="uid://enwoaqi0rnei"] -[ext_resource type="Script" path="res://bomb.gd" id="1"] +[ext_resource type="Script" uid="uid://cxr4batapdr8d" path="res://bomb.gd" id="1"] [ext_resource type="Texture2D" uid="uid://bdomqql6y50po" path="res://brickfloor.png" id="2"] [ext_resource type="Texture2D" uid="uid://drfbkdqmj0gu2" path="res://explosion.png" id="3"] @@ -11,7 +11,7 @@ size = Vector2(16, 192) size = Vector2(192, 16) [sub_resource type="Curve" id="Curve_4yges"] -max_value = 2.0 +_limits = [0.0, 2.0, 0.0, 1.0] _data = [Vector2(0.00150494, 0.398437), 0.0, 0.0, 0, 0, Vector2(0.0152287, 1.42969), 0.0, 0.0, 0, 0, Vector2(0.478607, 1.30078), 0.0, 0.0, 0, 0, Vector2(1, 0.291016), 0.0, 0.0, 0, 0] point_count = 4 @@ -73,7 +73,7 @@ tracks/3/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_h2w7m"] _data = { -"anim": SubResource("Animation_21j5c") +&"anim": SubResource("Animation_21j5c") } [node name="Bomb" type="Area2D"] diff --git a/networking/multiplayer_bomber/bomb_spawner.gd.uid b/networking/multiplayer_bomber/bomb_spawner.gd.uid new file mode 100644 index 00000000..a3e26aad --- /dev/null +++ b/networking/multiplayer_bomber/bomb_spawner.gd.uid @@ -0,0 +1 @@ +uid://bgxd4vmkp402l diff --git a/networking/multiplayer_bomber/gamestate.gd.uid b/networking/multiplayer_bomber/gamestate.gd.uid new file mode 100644 index 00000000..034f8c94 --- /dev/null +++ b/networking/multiplayer_bomber/gamestate.gd.uid @@ -0,0 +1 @@ +uid://rajh4d2lsr52 diff --git a/networking/multiplayer_bomber/lobby.gd.uid b/networking/multiplayer_bomber/lobby.gd.uid new file mode 100644 index 00000000..f4c212c8 --- /dev/null +++ b/networking/multiplayer_bomber/lobby.gd.uid @@ -0,0 +1 @@ +uid://3lmk6aviormn diff --git a/networking/multiplayer_bomber/lobby.tscn b/networking/multiplayer_bomber/lobby.tscn index 6be1c572..36eb6abf 100644 --- a/networking/multiplayer_bomber/lobby.tscn +++ b/networking/multiplayer_bomber/lobby.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://jhdlqsokif5o"] -[ext_resource type="Script" path="res://lobby.gd" id="1"] +[ext_resource type="Script" uid="uid://3lmk6aviormn" path="res://lobby.gd" id="1"] [node name="Lobby" type="Control"] layout_mode = 3 diff --git a/networking/multiplayer_bomber/montserrat.otf.import b/networking/multiplayer_bomber/montserrat.otf.import index bcf1ae41..7ccf9821 100644 --- a/networking/multiplayer_bomber/montserrat.otf.import +++ b/networking/multiplayer_bomber/montserrat.otf.import @@ -23,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/networking/multiplayer_bomber/player.gd.uid b/networking/multiplayer_bomber/player.gd.uid new file mode 100644 index 00000000..16627599 --- /dev/null +++ b/networking/multiplayer_bomber/player.gd.uid @@ -0,0 +1 @@ +uid://cuf0ipqplpy1q diff --git a/networking/multiplayer_bomber/player.tscn b/networking/multiplayer_bomber/player.tscn index ab541cc2..2fe3caba 100644 --- a/networking/multiplayer_bomber/player.tscn +++ b/networking/multiplayer_bomber/player.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=16 format=3 uid="uid://dviwgv2ty8v6u"] -[ext_resource type="Script" path="res://player.gd" id="1"] +[ext_resource type="Script" uid="uid://cuf0ipqplpy1q" path="res://player.gd" id="1"] [ext_resource type="Texture2D" uid="uid://bsqovikudjr0q" path="res://charwalk.png" id="2"] [ext_resource type="FontFile" uid="uid://knb8u535cfkw" path="res://montserrat.otf" id="3"] -[ext_resource type="Script" path="res://player_controls.gd" id="4_k1vfr"] +[ext_resource type="Script" uid="uid://cgb4kyp43ripi" path="res://player_controls.gd" id="4_k1vfr"] [sub_resource type="CircleShape2D" id="1"] radius = 16.0 @@ -134,12 +134,12 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_yb83i"] _data = { -"standing": SubResource("2"), -"stunned": SubResource("3"), -"walk_down": SubResource("4"), -"walk_left": SubResource("5"), -"walk_right": SubResource("6"), -"walk_up": SubResource("7") +&"standing": SubResource("2"), +&"stunned": SubResource("3"), +&"walk_down": SubResource("4"), +&"walk_left": SubResource("5"), +&"walk_right": SubResource("6"), +&"walk_up": SubResource("7") } [sub_resource type="LabelSettings" id="LabelSettings_5huhx"] diff --git a/networking/multiplayer_bomber/player_controls.gd.uid b/networking/multiplayer_bomber/player_controls.gd.uid new file mode 100644 index 00000000..f2fdcf99 --- /dev/null +++ b/networking/multiplayer_bomber/player_controls.gd.uid @@ -0,0 +1 @@ +uid://cgb4kyp43ripi diff --git a/networking/multiplayer_bomber/project.godot b/networking/multiplayer_bomber/project.godot index 7f7beed2..82a32cf3 100644 --- a/networking/multiplayer_bomber/project.godot +++ b/networking/multiplayer_bomber/project.godot @@ -16,7 +16,7 @@ One of the players should press \"Host\", while the other should type in his address and press \"Play\"." config/tags=PackedStringArray("2d", "demo", "network", "official") run/main_scene="res://lobby.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [autoload] diff --git a/networking/multiplayer_bomber/rock.gd.uid b/networking/multiplayer_bomber/rock.gd.uid new file mode 100644 index 00000000..80220a50 --- /dev/null +++ b/networking/multiplayer_bomber/rock.gd.uid @@ -0,0 +1 @@ +uid://bu8tp1wfhmtl7 diff --git a/networking/multiplayer_bomber/rock.tscn b/networking/multiplayer_bomber/rock.tscn index faf09f78..5692c9de 100644 --- a/networking/multiplayer_bomber/rock.tscn +++ b/networking/multiplayer_bomber/rock.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=6 format=3 uid="uid://bao3yernlglws"] -[ext_resource type="Script" path="res://rock.gd" id="1"] +[ext_resource type="Script" uid="uid://bu8tp1wfhmtl7" path="res://rock.gd" id="1"] [ext_resource type="Texture2D" uid="uid://bdomqql6y50po" path="res://brickfloor.png" id="2"] [sub_resource type="RectangleShape2D" id="1"] @@ -37,7 +37,7 @@ tracks/1/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_6pqaw"] _data = { -"explode": SubResource("2") +&"explode": SubResource("2") } [node name="Rock" type="CharacterBody2D"] diff --git a/networking/multiplayer_bomber/score.gd.uid b/networking/multiplayer_bomber/score.gd.uid new file mode 100644 index 00000000..af8fd203 --- /dev/null +++ b/networking/multiplayer_bomber/score.gd.uid @@ -0,0 +1 @@ +uid://bo1prybdbphh2 diff --git a/networking/multiplayer_bomber/world.tscn b/networking/multiplayer_bomber/world.tscn index dd284c2e..b0b7a307 100644 --- a/networking/multiplayer_bomber/world.tscn +++ b/networking/multiplayer_bomber/world.tscn @@ -2,9 +2,9 @@ [ext_resource type="TileSet" uid="uid://do2l6lpuotti8" path="res://tileset.tres" id="1"] [ext_resource type="PackedScene" uid="uid://bao3yernlglws" path="res://rock.tscn" id="2"] -[ext_resource type="Script" path="res://score.gd" id="3"] +[ext_resource type="Script" uid="uid://bo1prybdbphh2" path="res://score.gd" id="3"] [ext_resource type="FontFile" uid="uid://knb8u535cfkw" path="res://montserrat.otf" id="4"] -[ext_resource type="Script" path="res://bomb_spawner.gd" id="6_ac5ja"] +[ext_resource type="Script" uid="uid://bgxd4vmkp402l" path="res://bomb_spawner.gd" id="6_ac5ja"] [node name="World" type="Node2D"] diff --git a/networking/multiplayer_pong/ball.tscn b/networking/multiplayer_pong/ball.tscn index 1a1a43a1..aab8052b 100644 --- a/networking/multiplayer_pong/ball.tscn +++ b/networking/multiplayer_pong/ball.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://bjmldn1x3lpa"] -[ext_resource type="Script" path="res://logic/ball.gd" id="1"] +[ext_resource type="Script" uid="uid://c1e3vmosr1ya1" path="res://logic/ball.gd" id="1"] [ext_resource type="Texture2D" uid="uid://i1imfdcn7ui" path="res://ball.png" id="2"] [sub_resource type="CircleShape2D" id="1"] diff --git a/networking/multiplayer_pong/lobby.tscn b/networking/multiplayer_pong/lobby.tscn index 8676929e..be0954fc 100644 --- a/networking/multiplayer_pong/lobby.tscn +++ b/networking/multiplayer_pong/lobby.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://f85s2avde6r4"] -[ext_resource type="Script" path="res://logic/lobby.gd" id="1"] +[ext_resource type="Script" uid="uid://bnjfw5fu6g688" path="res://logic/lobby.gd" id="1"] [node name="Lobby" type="Control"] layout_mode = 3 diff --git a/networking/multiplayer_pong/logic/ball.gd.uid b/networking/multiplayer_pong/logic/ball.gd.uid new file mode 100644 index 00000000..1dcb59fa --- /dev/null +++ b/networking/multiplayer_pong/logic/ball.gd.uid @@ -0,0 +1 @@ +uid://c1e3vmosr1ya1 diff --git a/networking/multiplayer_pong/logic/lobby.gd.uid b/networking/multiplayer_pong/logic/lobby.gd.uid new file mode 100644 index 00000000..2d3de632 --- /dev/null +++ b/networking/multiplayer_pong/logic/lobby.gd.uid @@ -0,0 +1 @@ +uid://bnjfw5fu6g688 diff --git a/networking/multiplayer_pong/logic/paddle.gd.uid b/networking/multiplayer_pong/logic/paddle.gd.uid new file mode 100644 index 00000000..963ad8e7 --- /dev/null +++ b/networking/multiplayer_pong/logic/paddle.gd.uid @@ -0,0 +1 @@ +uid://bvy684femwalu diff --git a/networking/multiplayer_pong/logic/pong.gd.uid b/networking/multiplayer_pong/logic/pong.gd.uid new file mode 100644 index 00000000..83881b58 --- /dev/null +++ b/networking/multiplayer_pong/logic/pong.gd.uid @@ -0,0 +1 @@ +uid://cdws8350npwh4 diff --git a/networking/multiplayer_pong/paddle.tscn b/networking/multiplayer_pong/paddle.tscn index ab7a37e0..33a70df4 100644 --- a/networking/multiplayer_pong/paddle.tscn +++ b/networking/multiplayer_pong/paddle.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://cpw46256eirwq"] -[ext_resource type="Script" path="res://logic/paddle.gd" id="1"] +[ext_resource type="Script" uid="uid://bvy684femwalu" path="res://logic/paddle.gd" id="1"] [ext_resource type="Texture2D" uid="uid://bjw2yb853klh2" path="res://paddle.png" id="2"] [sub_resource type="CapsuleShape2D" id="1"] diff --git a/networking/multiplayer_pong/pong.tscn b/networking/multiplayer_pong/pong.tscn index 510404b3..01ce1611 100644 --- a/networking/multiplayer_pong/pong.tscn +++ b/networking/multiplayer_pong/pong.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=5 format=3 uid="uid://bafoh1ief0147"] -[ext_resource type="Script" path="res://logic/pong.gd" id="1"] +[ext_resource type="Script" uid="uid://cdws8350npwh4" path="res://logic/pong.gd" id="1"] [ext_resource type="Texture2D" uid="uid://b10swafhe08oj" path="res://separator.png" id="2"] [ext_resource type="PackedScene" uid="uid://cpw46256eirwq" path="res://paddle.tscn" id="3"] [ext_resource type="PackedScene" uid="uid://bjmldn1x3lpa" path="res://ball.tscn" id="4"] diff --git a/networking/multiplayer_pong/project.godot b/networking/multiplayer_pong/project.godot index 336574ea..04550361 100644 --- a/networking/multiplayer_pong/project.godot +++ b/networking/multiplayer_pong/project.godot @@ -16,7 +16,7 @@ One of the players should press \"Host\", while the other should select the address and press \"Join\"." config/tags=PackedStringArray("2d", "demo", "network", "official") run/main_scene="res://lobby.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -34,16 +34,16 @@ window/stretch/scale_mode="integer" move_up={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":122,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":11,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"script":null) ] } move_down={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":12,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null) ] diff --git a/networking/webrtc_minimal/Signaling.gd.uid b/networking/webrtc_minimal/Signaling.gd.uid new file mode 100644 index 00000000..7dc79aa0 --- /dev/null +++ b/networking/webrtc_minimal/Signaling.gd.uid @@ -0,0 +1 @@ +uid://er80vrg7gjy0 diff --git a/networking/webrtc_minimal/chat.gd.uid b/networking/webrtc_minimal/chat.gd.uid new file mode 100644 index 00000000..d624292d --- /dev/null +++ b/networking/webrtc_minimal/chat.gd.uid @@ -0,0 +1 @@ +uid://bndsen688qeub diff --git a/networking/webrtc_minimal/link_button.gd.uid b/networking/webrtc_minimal/link_button.gd.uid new file mode 100644 index 00000000..1e4f12af --- /dev/null +++ b/networking/webrtc_minimal/link_button.gd.uid @@ -0,0 +1 @@ +uid://dhj3tnogccu3u diff --git a/networking/webrtc_minimal/main.gd.uid b/networking/webrtc_minimal/main.gd.uid new file mode 100644 index 00000000..0320c7de --- /dev/null +++ b/networking/webrtc_minimal/main.gd.uid @@ -0,0 +1 @@ +uid://3guq7t330y8m diff --git a/networking/webrtc_minimal/main.tscn b/networking/webrtc_minimal/main.tscn index c3e01c0e..1843e636 100644 --- a/networking/webrtc_minimal/main.tscn +++ b/networking/webrtc_minimal/main.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=4 format=3 uid="uid://bvmm5mgb38ysa"] [ext_resource type="PackedScene" path="res://minimal.tscn" id="1"] -[ext_resource type="Script" path="res://main.gd" id="2"] -[ext_resource type="Script" path="res://link_button.gd" id="3"] +[ext_resource type="Script" uid="uid://3guq7t330y8m" path="res://main.gd" id="2"] +[ext_resource type="Script" uid="uid://dhj3tnogccu3u" path="res://link_button.gd" id="3"] [node name="Main" type="Node"] script = ExtResource("2") diff --git a/networking/webrtc_minimal/minimal.gd.uid b/networking/webrtc_minimal/minimal.gd.uid new file mode 100644 index 00000000..53c8f319 --- /dev/null +++ b/networking/webrtc_minimal/minimal.gd.uid @@ -0,0 +1 @@ +uid://7ijj05t6wmp4 diff --git a/networking/webrtc_minimal/minimal.tscn b/networking/webrtc_minimal/minimal.tscn index 2eb0dd7b..46a7ee4b 100644 --- a/networking/webrtc_minimal/minimal.tscn +++ b/networking/webrtc_minimal/minimal.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=2 format=3 uid="uid://b88gswk1hgbys"] -[ext_resource path="res://minimal.gd" type="Script" id=1] +[ext_resource type="Script" uid="uid://7ijj05t6wmp4" path="res://minimal.gd" id="1"] [node name="Minimal" type="Node"] -script = ExtResource( 1 ) +script = ExtResource("1") diff --git a/networking/webrtc_minimal/project.godot b/networking/webrtc_minimal/project.godot index 0aaaab82..eed7e57b 100644 --- a/networking/webrtc_minimal/project.godot +++ b/networking/webrtc_minimal/project.godot @@ -14,7 +14,7 @@ config/name="WebRTC Minimal Connection" config/description="This is a minimal sample of using WebRTC connections to connect two peers to each other." config/tags=PackedStringArray("demo", "network", "official") run/main_scene="res://main.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") [autoload] diff --git a/networking/webrtc_signaling/client/multiplayer_client.gd.uid b/networking/webrtc_signaling/client/multiplayer_client.gd.uid new file mode 100644 index 00000000..59c3abf4 --- /dev/null +++ b/networking/webrtc_signaling/client/multiplayer_client.gd.uid @@ -0,0 +1 @@ +uid://cws7jorypdutt diff --git a/networking/webrtc_signaling/client/ws_webrtc_client.gd.uid b/networking/webrtc_signaling/client/ws_webrtc_client.gd.uid new file mode 100644 index 00000000..3e2c274b --- /dev/null +++ b/networking/webrtc_signaling/client/ws_webrtc_client.gd.uid @@ -0,0 +1 @@ +uid://b4y3s4tl8677y diff --git a/networking/webrtc_signaling/demo/client_ui.gd.uid b/networking/webrtc_signaling/demo/client_ui.gd.uid new file mode 100644 index 00000000..be44993b --- /dev/null +++ b/networking/webrtc_signaling/demo/client_ui.gd.uid @@ -0,0 +1 @@ +uid://cfnyqq3jw8cuw diff --git a/networking/webrtc_signaling/demo/client_ui.tscn b/networking/webrtc_signaling/demo/client_ui.tscn index 623da91f..200e439d 100644 --- a/networking/webrtc_signaling/demo/client_ui.tscn +++ b/networking/webrtc_signaling/demo/client_ui.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=3 uid="uid://cpwp4xx6mv5p"] -[ext_resource type="Script" path="res://demo/client_ui.gd" id="1"] -[ext_resource type="Script" path="res://client/multiplayer_client.gd" id="2"] +[ext_resource type="Script" uid="uid://cfnyqq3jw8cuw" path="res://demo/client_ui.gd" id="1"] +[ext_resource type="Script" uid="uid://cws7jorypdutt" path="res://client/multiplayer_client.gd" id="2"] [node name="ClientUI" type="Control"] layout_mode = 3 diff --git a/networking/webrtc_signaling/demo/main.gd.uid b/networking/webrtc_signaling/demo/main.gd.uid new file mode 100644 index 00000000..f60888fd --- /dev/null +++ b/networking/webrtc_signaling/demo/main.gd.uid @@ -0,0 +1 @@ +uid://b17kvs73mjup8 diff --git a/networking/webrtc_signaling/demo/main.tscn b/networking/webrtc_signaling/demo/main.tscn index 930e0006..5a8c804b 100644 --- a/networking/webrtc_signaling/demo/main.tscn +++ b/networking/webrtc_signaling/demo/main.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=4 format=3 uid="uid://5p1bp2kcs0py"] -[ext_resource type="Script" path="res://demo/main.gd" id="1"] +[ext_resource type="Script" uid="uid://b17kvs73mjup8" path="res://demo/main.gd" id="1"] [ext_resource type="PackedScene" uid="uid://cpwp4xx6mv5p" path="res://demo/client_ui.tscn" id="2"] -[ext_resource type="Script" path="res://server/ws_webrtc_server.gd" id="3"] +[ext_resource type="Script" uid="uid://5tcyyp5nagrp" path="res://server/ws_webrtc_server.gd" id="3"] [node name="Control" type="Control"] layout_mode = 3 diff --git a/networking/webrtc_signaling/project.godot b/networking/webrtc_signaling/project.godot index 78c8e472..08b776d2 100644 --- a/networking/webrtc_signaling/project.godot +++ b/networking/webrtc_signaling/project.godot @@ -17,7 +17,7 @@ The protocol is text based, and composed by a command and possibly multiple payload arguments, each separated by a new line." config/tags=PackedStringArray("demo", "network", "official") run/main_scene="res://demo/main.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") [debug] diff --git a/networking/webrtc_signaling/server/ws_webrtc_server.gd.uid b/networking/webrtc_signaling/server/ws_webrtc_server.gd.uid new file mode 100644 index 00000000..f91f7fdb --- /dev/null +++ b/networking/webrtc_signaling/server/ws_webrtc_server.gd.uid @@ -0,0 +1 @@ +uid://5tcyyp5nagrp diff --git a/networking/websocket_chat/client.gd.uid b/networking/websocket_chat/client.gd.uid new file mode 100644 index 00000000..30590dad --- /dev/null +++ b/networking/websocket_chat/client.gd.uid @@ -0,0 +1 @@ +uid://d06jni2xgdhqx diff --git a/networking/websocket_chat/client.tscn b/networking/websocket_chat/client.tscn index 7438a9d9..e8adb523 100644 --- a/networking/websocket_chat/client.tscn +++ b/networking/websocket_chat/client.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=4 format=3 uid="uid://ph5ghsflqegf"] [ext_resource type="PackedScene" uid="uid://cyvrywci15kev" path="res://chat.tscn" id="1_cfcun"] -[ext_resource type="Script" path="res://websocket/WebSocketClient.gd" id="2_m4g4y"] -[ext_resource type="Script" path="res://client.gd" id="2_opbid"] +[ext_resource type="Script" uid="uid://dfixgs880d3h5" path="res://websocket/WebSocketClient.gd" id="2_m4g4y"] +[ext_resource type="Script" uid="uid://d06jni2xgdhqx" path="res://client.gd" id="2_opbid"] [node name="Client" instance=ExtResource("1_cfcun")] script = ExtResource("2_opbid") diff --git a/networking/websocket_chat/project.godot b/networking/websocket_chat/project.godot index 7168d683..70433bb9 100644 --- a/networking/websocket_chat/project.godot +++ b/networking/websocket_chat/project.godot @@ -14,7 +14,7 @@ config/name="WebSocket Chat Demo" config/description="This is a demo of a simple chat implemented using WebSockets, showing both how to host a websocket server from Godot and how to connect to it." config/tags=PackedStringArray("demo", "network", "official") run/main_scene="res://combo.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/networking/websocket_chat/server.gd.uid b/networking/websocket_chat/server.gd.uid new file mode 100644 index 00000000..e8621392 --- /dev/null +++ b/networking/websocket_chat/server.gd.uid @@ -0,0 +1 @@ +uid://blxndhdtjw7mt diff --git a/networking/websocket_chat/server.tscn b/networking/websocket_chat/server.tscn index a0833523..70b7ad0d 100644 --- a/networking/websocket_chat/server.tscn +++ b/networking/websocket_chat/server.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=4 format=3 uid="uid://qvg4q16blgx5"] [ext_resource type="PackedScene" uid="uid://cyvrywci15kev" path="res://chat.tscn" id="1_i673i"] -[ext_resource type="Script" path="res://server.gd" id="1_urpfw"] -[ext_resource type="Script" path="res://websocket/WebSocketServer.gd" id="3_0eqsy"] +[ext_resource type="Script" uid="uid://blxndhdtjw7mt" path="res://server.gd" id="1_urpfw"] +[ext_resource type="Script" uid="uid://b1bu2661jrfv8" path="res://websocket/WebSocketServer.gd" id="3_0eqsy"] [node name="Server" instance=ExtResource("1_i673i")] script = ExtResource("1_urpfw") diff --git a/networking/websocket_chat/websocket/WebSocketClient.gd.uid b/networking/websocket_chat/websocket/WebSocketClient.gd.uid new file mode 100644 index 00000000..f58019be --- /dev/null +++ b/networking/websocket_chat/websocket/WebSocketClient.gd.uid @@ -0,0 +1 @@ +uid://dfixgs880d3h5 diff --git a/networking/websocket_chat/websocket/WebSocketServer.gd.uid b/networking/websocket_chat/websocket/WebSocketServer.gd.uid new file mode 100644 index 00000000..159e080d --- /dev/null +++ b/networking/websocket_chat/websocket/WebSocketServer.gd.uid @@ -0,0 +1 @@ +uid://b1bu2661jrfv8 diff --git a/networking/websocket_minimal/Main.tscn b/networking/websocket_minimal/Main.tscn index c5f5f41b..5727c643 100644 --- a/networking/websocket_minimal/Main.tscn +++ b/networking/websocket_minimal/Main.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=3 uid="uid://cxaa046x45suv"] -[ext_resource type="Script" path="res://server.gd" id="1"] -[ext_resource type="Script" path="res://client.gd" id="2"] +[ext_resource type="Script" uid="uid://cefrjt4kj0dhd" path="res://server.gd" id="1"] +[ext_resource type="Script" uid="uid://ddyb303624mxb" path="res://client.gd" id="2"] [node name="Main" type="Node"] diff --git a/networking/websocket_minimal/client.gd.uid b/networking/websocket_minimal/client.gd.uid new file mode 100644 index 00000000..0d23fd24 --- /dev/null +++ b/networking/websocket_minimal/client.gd.uid @@ -0,0 +1 @@ +uid://ddyb303624mxb diff --git a/networking/websocket_minimal/project.godot b/networking/websocket_minimal/project.godot index 75fc64b3..a2a7f057 100644 --- a/networking/websocket_minimal/project.godot +++ b/networking/websocket_minimal/project.godot @@ -14,7 +14,7 @@ config/name="WebSocket Minimal Demo" config/description="This is a minimal sample of connecting two peers to each other using WebSockets." config/tags=PackedStringArray("demo", "network", "official") run/main_scene="res://Main.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") [debug] diff --git a/networking/websocket_minimal/server.gd.uid b/networking/websocket_minimal/server.gd.uid new file mode 100644 index 00000000..7a882c9f --- /dev/null +++ b/networking/websocket_minimal/server.gd.uid @@ -0,0 +1 @@ +uid://cefrjt4kj0dhd diff --git a/networking/websocket_multiplayer/project.godot b/networking/websocket_multiplayer/project.godot index 130e4ed8..792c7ebe 100644 --- a/networking/websocket_multiplayer/project.godot +++ b/networking/websocket_multiplayer/project.godot @@ -14,7 +14,7 @@ config/name="WebSocket Multiplayer Demo" config/description="This is a sample showing how the use WebSockets along with the Multiplayer API in Godot." config/tags=PackedStringArray("demo", "network", "official") run/main_scene="res://scene/combo.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/networking/websocket_multiplayer/scene/combo.tscn b/networking/websocket_multiplayer/scene/combo.tscn index 23d04685..3e0a2c65 100644 --- a/networking/websocket_multiplayer/scene/combo.tscn +++ b/networking/websocket_multiplayer/scene/combo.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://cwmhra3pt1h83"] -[ext_resource type="Script" path="res://script/combo.gd" id="1_8i0ov"] +[ext_resource type="Script" uid="uid://dh8712tu57wq4" path="res://script/combo.gd" id="1_8i0ov"] [ext_resource type="PackedScene" uid="uid://c240icwf4uov8" path="res://scene/main.tscn" id="2_reiiv"] [node name="Combo" type="Control"] diff --git a/networking/websocket_multiplayer/scene/game.tscn b/networking/websocket_multiplayer/scene/game.tscn index 84b51485..473440b9 100644 --- a/networking/websocket_multiplayer/scene/game.tscn +++ b/networking/websocket_multiplayer/scene/game.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://dqxum77awcw6u"] -[ext_resource type="Script" path="res://script/game.gd" id="1"] +[ext_resource type="Script" uid="uid://bfqnaykbi5ihg" path="res://script/game.gd" id="1"] [node name="Game" type="Control"] layout_mode = 3 diff --git a/networking/websocket_multiplayer/scene/main.tscn b/networking/websocket_multiplayer/scene/main.tscn index ad2ca7a6..c626d7cf 100644 --- a/networking/websocket_multiplayer/scene/main.tscn +++ b/networking/websocket_multiplayer/scene/main.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://c240icwf4uov8"] -[ext_resource type="Script" path="res://script/main.gd" id="1"] +[ext_resource type="Script" uid="uid://cco2lu8ybv50w" path="res://script/main.gd" id="1"] [ext_resource type="PackedScene" uid="uid://dqxum77awcw6u" path="res://scene/game.tscn" id="2"] [node name="Main" type="Control"] diff --git a/networking/websocket_multiplayer/script/combo.gd.uid b/networking/websocket_multiplayer/script/combo.gd.uid new file mode 100644 index 00000000..ee03b9bb --- /dev/null +++ b/networking/websocket_multiplayer/script/combo.gd.uid @@ -0,0 +1 @@ +uid://dh8712tu57wq4 diff --git a/networking/websocket_multiplayer/script/game.gd.uid b/networking/websocket_multiplayer/script/game.gd.uid new file mode 100644 index 00000000..2a4a071c --- /dev/null +++ b/networking/websocket_multiplayer/script/game.gd.uid @@ -0,0 +1 @@ +uid://bfqnaykbi5ihg diff --git a/networking/websocket_multiplayer/script/main.gd.uid b/networking/websocket_multiplayer/script/main.gd.uid new file mode 100644 index 00000000..37c7325b --- /dev/null +++ b/networking/websocket_multiplayer/script/main.gd.uid @@ -0,0 +1 @@ +uid://cco2lu8ybv50w diff --git a/plugins/addons/custom_node/heart.gd.uid b/plugins/addons/custom_node/heart.gd.uid new file mode 100644 index 00000000..e299dbb8 --- /dev/null +++ b/plugins/addons/custom_node/heart.gd.uid @@ -0,0 +1 @@ +uid://b384b0tqsxfef diff --git a/plugins/addons/custom_node/heart_plugin.gd.uid b/plugins/addons/custom_node/heart_plugin.gd.uid new file mode 100644 index 00000000..e019f672 --- /dev/null +++ b/plugins/addons/custom_node/heart_plugin.gd.uid @@ -0,0 +1 @@ +uid://8155imckc4va diff --git a/plugins/addons/main_screen/handled_by_main_screen.gd.uid b/plugins/addons/main_screen/handled_by_main_screen.gd.uid new file mode 100644 index 00000000..0753aa12 --- /dev/null +++ b/plugins/addons/main_screen/handled_by_main_screen.gd.uid @@ -0,0 +1 @@ +uid://ypouby8eprb2 diff --git a/plugins/addons/main_screen/main_panel.tscn b/plugins/addons/main_screen/main_panel.tscn index e706e0eb..d1050520 100644 --- a/plugins/addons/main_screen/main_panel.tscn +++ b/plugins/addons/main_screen/main_panel.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://b8623u0gk1acu"] -[ext_resource type="Script" path="res://addons/main_screen/print_hello.gd" id="1"] +[ext_resource type="Script" uid="uid://dc5r7etu3vh33" path="res://addons/main_screen/print_hello.gd" id="1"] [node name="MainPanel" type="CenterContainer"] anchors_preset = 15 diff --git a/plugins/addons/main_screen/main_screen_plugin.gd.uid b/plugins/addons/main_screen/main_screen_plugin.gd.uid new file mode 100644 index 00000000..99ef919a --- /dev/null +++ b/plugins/addons/main_screen/main_screen_plugin.gd.uid @@ -0,0 +1 @@ +uid://k8fuclpu26q5 diff --git a/plugins/addons/main_screen/print_hello.gd.uid b/plugins/addons/main_screen/print_hello.gd.uid new file mode 100644 index 00000000..b58bcaec --- /dev/null +++ b/plugins/addons/main_screen/print_hello.gd.uid @@ -0,0 +1 @@ +uid://dc5r7etu3vh33 diff --git a/plugins/addons/material_creator/material_creator.gd.uid b/plugins/addons/material_creator/material_creator.gd.uid new file mode 100644 index 00000000..e6f0793f --- /dev/null +++ b/plugins/addons/material_creator/material_creator.gd.uid @@ -0,0 +1 @@ +uid://b1c4k2gwfai8t diff --git a/plugins/addons/material_creator/material_dock.tscn b/plugins/addons/material_creator/material_dock.tscn index 3ecc8bc5..f15bc659 100644 --- a/plugins/addons/material_creator/material_dock.tscn +++ b/plugins/addons/material_creator/material_dock.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://n44d53us24uu"] -[ext_resource type="Script" path="res://addons/material_creator/material_creator.gd" id="1"] +[ext_resource type="Script" uid="uid://b1c4k2gwfai8t" path="res://addons/material_creator/material_creator.gd" id="1"] [node name="Material Creator" type="Panel"] custom_minimum_size = Vector2(208, 0) diff --git a/plugins/addons/material_creator/material_plugin.gd.uid b/plugins/addons/material_creator/material_plugin.gd.uid new file mode 100644 index 00000000..7f43c3f7 --- /dev/null +++ b/plugins/addons/material_creator/material_plugin.gd.uid @@ -0,0 +1 @@ +uid://c5v44sn0rx64q diff --git a/plugins/addons/material_creator/material_resource.gd.uid b/plugins/addons/material_creator/material_resource.gd.uid new file mode 100644 index 00000000..2868a23c --- /dev/null +++ b/plugins/addons/material_creator/material_resource.gd.uid @@ -0,0 +1 @@ +uid://ds0q33wnfdgj5 diff --git a/plugins/addons/material_import_plugin/import.gd.uid b/plugins/addons/material_import_plugin/import.gd.uid new file mode 100644 index 00000000..d0ede3df --- /dev/null +++ b/plugins/addons/material_import_plugin/import.gd.uid @@ -0,0 +1 @@ +uid://daf0mh6n0temb diff --git a/plugins/addons/material_import_plugin/plugin.gd.uid b/plugins/addons/material_import_plugin/plugin.gd.uid new file mode 100644 index 00000000..6012db8a --- /dev/null +++ b/plugins/addons/material_import_plugin/plugin.gd.uid @@ -0,0 +1 @@ +uid://psxg5foon3xt diff --git a/plugins/default_env.tres b/plugins/default_env.tres deleted file mode 100644 index 1a5570b8..00000000 --- a/plugins/default_env.tres +++ /dev/null @@ -1,7 +0,0 @@ -[gd_resource type="Environment" load_steps=2 format=2] - -[sub_resource type="Sky" id=1] - -[resource] -background_mode = 2 -background_sky = SubResource( 1 ) diff --git a/plugins/project.godot b/plugins/project.godot index c0c226f6..58f7fe0e 100644 --- a/plugins/project.godot +++ b/plugins/project.godot @@ -22,7 +22,7 @@ This project contains 4 plugins: * The main screen plugin is a minimal example of how to create a plugin with a main screen." config/tags=PackedStringArray("demo", "editor", "official") run/main_scene="res://test_scene.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/plugins/test_scene.tscn b/plugins/test_scene.tscn index d680b9c0..353c56bc 100644 --- a/plugins/test_scene.tscn +++ b/plugins/test_scene.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=3 uid="uid://dlap00bmh07ai"] -[ext_resource type="Script" path="res://addons/main_screen/handled_by_main_screen.gd" id="1"] -[ext_resource type="Script" path="res://addons/custom_node/heart.gd" id="2"] +[ext_resource type="Script" uid="uid://ypouby8eprb2" path="res://addons/main_screen/handled_by_main_screen.gd" id="1"] +[ext_resource type="Script" uid="uid://b384b0tqsxfef" path="res://addons/custom_node/heart.gd" id="2"] [sub_resource type="BoxMesh" id="1"] diff --git a/viewport/2d_in_3d/2d_in_3d.gd.uid b/viewport/2d_in_3d/2d_in_3d.gd.uid new file mode 100644 index 00000000..ab6f8a28 --- /dev/null +++ b/viewport/2d_in_3d/2d_in_3d.gd.uid @@ -0,0 +1 @@ +uid://bkwx6xltirdmq diff --git a/viewport/2d_in_3d/2d_in_3d.tscn b/viewport/2d_in_3d/2d_in_3d.tscn index 2d370f51..4760823a 100644 --- a/viewport/2d_in_3d/2d_in_3d.tscn +++ b/viewport/2d_in_3d/2d_in_3d.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=22 format=3 uid="uid://c587vtbfwth3k"] -[ext_resource type="Script" path="res://2d_in_3d.gd" id="1_b8rgl"] -[ext_resource type="Script" path="res://pong.gd" id="2"] +[ext_resource type="Script" uid="uid://bkwx6xltirdmq" path="res://2d_in_3d.gd" id="1_b8rgl"] +[ext_resource type="Script" uid="uid://dsbi2nxoat0r7" path="res://pong.gd" id="2"] [ext_resource type="Texture2D" uid="uid://dbuw5tlmsx6ss" path="res://ball.png" id="3"] [ext_resource type="Texture2D" uid="uid://gtbg1ogxcsl7" path="res://left_pallete.png" id="4"] [ext_resource type="Texture2D" uid="uid://bc2vi0nh1j1hs" path="res://right_pallete.png" id="5"] @@ -59,8 +59,7 @@ sky_material = SubResource("ProceduralSkyMaterial_cvh5i") [sub_resource type="Environment" id="Environment_fvsgw"] background_mode = 2 sky = SubResource("Sky_7gemw") -tonemap_mode = 2 -tonemap_white = 2.0 +tonemap_mode = 4 [node name="2Din3D" type="Node3D"] script = ExtResource("1_b8rgl") diff --git a/viewport/2d_in_3d/default_env.tres b/viewport/2d_in_3d/default_env.tres deleted file mode 100644 index 0f9c18ce..00000000 --- a/viewport/2d_in_3d/default_env.tres +++ /dev/null @@ -1,8 +0,0 @@ -[gd_resource type="Environment" load_steps=2 format=2] - -[sub_resource type="Sky" id=1] - -[resource] -background_mode = 2 -background_sky = SubResource( 1 ) -ssao_blur = 1 diff --git a/viewport/2d_in_3d/pong.gd.uid b/viewport/2d_in_3d/pong.gd.uid new file mode 100644 index 00000000..24cb6b88 --- /dev/null +++ b/viewport/2d_in_3d/pong.gd.uid @@ -0,0 +1 @@ +uid://dsbi2nxoat0r7 diff --git a/viewport/2d_in_3d/project.godot b/viewport/2d_in_3d/project.godot index 7b2966c3..a2acf45b 100644 --- a/viewport/2d_in_3d/project.godot +++ b/viewport/2d_in_3d/project.godot @@ -14,7 +14,7 @@ config/name="2D in 3D" config/description="A demo showing how a 2D scene can be shown within a 3D one using viewports." config/tags=PackedStringArray("2d", "3d", "demo", "official", "rendering") run/main_scene="res://2d_in_3d.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -25,22 +25,22 @@ gdscript/warnings/untyped_declaration=1 left_move_up={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } left_move_down={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } right_move_up={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } right_move_down={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } diff --git a/viewport/3d_in_2d/3d_in_2d.gd.uid b/viewport/3d_in_2d/3d_in_2d.gd.uid new file mode 100644 index 00000000..5394f7cb --- /dev/null +++ b/viewport/3d_in_2d/3d_in_2d.gd.uid @@ -0,0 +1 @@ +uid://mo02a37s0tq4 diff --git a/viewport/3d_in_2d/3d_in_2d.tscn b/viewport/3d_in_2d/3d_in_2d.tscn index d3f1f478..b36f4b5d 100644 --- a/viewport/3d_in_2d/3d_in_2d.tscn +++ b/viewport/3d_in_2d/3d_in_2d.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=11 format=3 uid="uid://xwkspajfdmd7"] -[ext_resource type="Script" path="res://3d_in_2d.gd" id="1"] +[ext_resource type="Script" uid="uid://mo02a37s0tq4" path="res://3d_in_2d.gd" id="1"] [ext_resource type="Texture2D" uid="uid://q5bonn8iowbc" path="res://robot_demo.png" id="2"] [ext_resource type="PackedScene" uid="uid://8nlipuu0ceal" path="res://robot_3d.tscn" id="3"] diff --git a/viewport/3d_in_2d/project.godot b/viewport/3d_in_2d/project.godot index 62fc960d..fe0dae13 100644 --- a/viewport/3d_in_2d/project.godot +++ b/viewport/3d_in_2d/project.godot @@ -14,7 +14,7 @@ config/name="3D in 2D" config/description="A demo showing how a 3D scene can be shown within a 2D one using viewports." config/tags=PackedStringArray("2d", "3d", "demo", "official", "rendering") run/main_scene="res://3d_in_2d.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/viewport/3d_in_2d/robot.glb.import b/viewport/3d_in_2d/robot.glb.import index c9349b53..aa8a3271 100644 --- a/viewport/3d_in_2d/robot.glb.import +++ b/viewport/3d_in_2d/robot.glb.import @@ -18,6 +18,7 @@ nodes/root_name="" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true diff --git a/viewport/3d_in_2d/robot_3d.gd.uid b/viewport/3d_in_2d/robot_3d.gd.uid new file mode 100644 index 00000000..72ca7770 --- /dev/null +++ b/viewport/3d_in_2d/robot_3d.gd.uid @@ -0,0 +1 @@ +uid://cmp2euf1r777m diff --git a/viewport/3d_in_2d/robot_3d.tscn b/viewport/3d_in_2d/robot_3d.tscn index 014a6811..99d8a833 100644 --- a/viewport/3d_in_2d/robot_3d.tscn +++ b/viewport/3d_in_2d/robot_3d.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://8nlipuu0ceal"] -[ext_resource type="Script" path="res://robot_3d.gd" id="1"] +[ext_resource type="Script" uid="uid://cmp2euf1r777m" path="res://robot_3d.gd" id="1"] [ext_resource type="PackedScene" uid="uid://c2ad4ixc1eni0" path="res://robot.glb" id="2_jioss"] [node name="Robot3D" type="Node3D"] diff --git a/viewport/3d_scaling/cubes.tscn b/viewport/3d_scaling/cubes.tscn index 67bd2da9..cd973cde 100644 --- a/viewport/3d_scaling/cubes.tscn +++ b/viewport/3d_scaling/cubes.tscn @@ -23,8 +23,7 @@ sky_material = SubResource("PanoramaSkyMaterial_me6gu") [sub_resource type="Environment" id="Environment_0v44j"] background_mode = 2 sky = SubResource("Sky_5j6vf") -tonemap_mode = 2 -tonemap_white = 6.0 +tonemap_mode = 4 [sub_resource type="Gradient" id="Gradient_1dao0"] diff --git a/viewport/3d_scaling/hud.gd.uid b/viewport/3d_scaling/hud.gd.uid new file mode 100644 index 00000000..6d9b25b7 --- /dev/null +++ b/viewport/3d_scaling/hud.gd.uid @@ -0,0 +1 @@ +uid://nyi4gfum5kdh diff --git a/viewport/3d_scaling/hud.tscn b/viewport/3d_scaling/hud.tscn index 883f6226..460b4664 100644 --- a/viewport/3d_scaling/hud.tscn +++ b/viewport/3d_scaling/hud.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=3 uid="uid://c5uc5vwuqvck5"] [ext_resource type="PackedScene" uid="uid://bbnebk7xoaoto" path="res://cubes.tscn" id="2"] -[ext_resource type="Script" path="res://hud.gd" id="3"] +[ext_resource type="Script" uid="uid://nyi4gfum5kdh" path="res://hud.gd" id="3"] [sub_resource type="Theme" id="2"] diff --git a/viewport/3d_scaling/noto_sans_ui_regular.ttf.import b/viewport/3d_scaling/noto_sans_ui_regular.ttf.import index 0f8726da..84776784 100644 --- a/viewport/3d_scaling/noto_sans_ui_regular.ttf.import +++ b/viewport/3d_scaling/noto_sans_ui_regular.ttf.import @@ -15,6 +15,7 @@ dest_files=["res://.godot/imported/noto_sans_ui_regular.ttf-37da988dfa3a55ebf3ea Rendering=null antialiasing=1 generate_mipmaps=false +disable_embedded_bitmaps=true multichannel_signed_distance_field=false msdf_pixel_range=8 msdf_size=48 @@ -22,6 +23,7 @@ allow_system_fallback=true force_autohinter=false hinting=1 subpixel_positioning=1 +keep_rounding_remainders=true oversampling=0.0 Fallbacks=null fallbacks=[] diff --git a/viewport/3d_scaling/project.godot b/viewport/3d_scaling/project.godot index 8b8135d9..91461348 100644 --- a/viewport/3d_scaling/project.godot +++ b/viewport/3d_scaling/project.godot @@ -18,7 +18,7 @@ be used to have a \"pixel art\" viewport for the main game area and a non-pixel-art viewport for HUD elements." config/tags=PackedStringArray("3d", "demo", "official", "rendering") run/main_scene="res://hud.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -34,12 +34,12 @@ window/stretch/aspect="expand" cycle_viewport_resolution={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } toggle_filtering={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194309,"physical_keycode":0,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194309,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } diff --git a/viewport/dynamic_split_screen/camera_controller.gd.uid b/viewport/dynamic_split_screen/camera_controller.gd.uid new file mode 100644 index 00000000..29d119dd --- /dev/null +++ b/viewport/dynamic_split_screen/camera_controller.gd.uid @@ -0,0 +1 @@ +uid://dg0vbquh0gvvw diff --git a/viewport/dynamic_split_screen/default_env.tres b/viewport/dynamic_split_screen/default_env.tres deleted file mode 100644 index e60b10ed..00000000 --- a/viewport/dynamic_split_screen/default_env.tres +++ /dev/null @@ -1,14 +0,0 @@ -[gd_resource type="Environment" load_steps=3 format=3 uid="uid://cs2mpcwx6q2bp"] - -[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_16la2"] -sky_horizon_color = Color(0.64625, 0.65575, 0.67075, 1) -ground_horizon_color = Color(0.64625, 0.65575, 0.67075, 1) - -[sub_resource type="Sky" id="Sky_i64ko"] -sky_material = SubResource( "ProceduralSkyMaterial_16la2" ) - -[resource] -background_mode = 2 -sky = SubResource( "Sky_i64ko" ) -tonemap_mode = 2 -glow_enabled = true diff --git a/viewport/dynamic_split_screen/player.gd.uid b/viewport/dynamic_split_screen/player.gd.uid new file mode 100644 index 00000000..3e8eebb2 --- /dev/null +++ b/viewport/dynamic_split_screen/player.gd.uid @@ -0,0 +1 @@ +uid://cgfyrvp46cfna diff --git a/viewport/dynamic_split_screen/project.godot b/viewport/dynamic_split_screen/project.godot index 1e347135..63b5860b 100644 --- a/viewport/dynamic_split_screen/project.godot +++ b/viewport/dynamic_split_screen/project.godot @@ -15,7 +15,7 @@ config/description="This sample project showcases an implementation of dynamic split screen, also called Voronoi split screen, using the Godot shader language." config/tags=PackedStringArray("3d", "demo", "official") run/main_scene="res://split_screen.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] @@ -26,56 +26,56 @@ gdscript/warnings/untyped_declaration=1 move_up_player1={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) ] } move_down_player1={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) ] } move_left_player1={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null) ] } move_right_player1={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null) ] } move_up_player2={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":73,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":73,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":3,"axis_value":-1.0,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":1,"axis":1,"axis_value":-1.0,"script":null) ] } move_down_player2={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":75,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":75,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":3,"axis_value":1.0,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":1,"axis":1,"axis_value":1.0,"script":null) ] } move_left_player2={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":74,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":74,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":2,"axis_value":-1.0,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":1,"axis":0,"axis_value":-1.0,"script":null) ] } move_right_player2={ "deadzone": 0.2, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":76,"key_label":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":76,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":2,"axis_value":1.0,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":1,"axis":0,"axis_value":1.0,"script":null) ] diff --git a/viewport/dynamic_split_screen/split_screen.gdshader.uid b/viewport/dynamic_split_screen/split_screen.gdshader.uid new file mode 100644 index 00000000..872b31dd --- /dev/null +++ b/viewport/dynamic_split_screen/split_screen.gdshader.uid @@ -0,0 +1 @@ +uid://dixoly6np1kea diff --git a/viewport/dynamic_split_screen/split_screen.tscn b/viewport/dynamic_split_screen/split_screen.tscn index e73389bd..75a9ba42 100644 --- a/viewport/dynamic_split_screen/split_screen.tscn +++ b/viewport/dynamic_split_screen/split_screen.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=67 format=3 uid="uid://dksa68cph6y4b"] -[ext_resource type="Script" path="res://camera_controller.gd" id="2"] -[ext_resource type="Shader" path="res://split_screen.gdshader" id="3"] +[ext_resource type="Script" uid="uid://dg0vbquh0gvvw" path="res://camera_controller.gd" id="2"] +[ext_resource type="Shader" uid="uid://dixoly6np1kea" path="res://split_screen.gdshader" id="3"] [ext_resource type="Texture2D" uid="uid://brwp8bimc75uu" path="res://icon.webp" id="4"] -[ext_resource type="Script" path="res://player.gd" id="5"] +[ext_resource type="Script" uid="uid://cgfyrvp46cfna" path="res://player.gd" id="5"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_16la2"] sky_horizon_color = Color(0.64625, 0.65575, 0.67075, 1) @@ -18,16 +18,16 @@ ambient_light_source = 3 ambient_light_color = Color(0.79, 0.8775, 1, 1) ambient_light_energy = 0.33 reflected_light_source = 2 -tonemap_mode = 2 +tonemap_mode = 4 [sub_resource type="ShaderMaterial" id="1"] shader = ExtResource("3") -shader_parameter/viewport_size = null +shader_parameter/viewport_size = Vector2(0, 0) shader_parameter/split_active = false -shader_parameter/player1_position = null -shader_parameter/player2_position = null +shader_parameter/player1_position = Vector2(0, 0) +shader_parameter/player2_position = Vector2(0, 0) shader_parameter/split_line_thickness = 10.0 -shader_parameter/split_line_color = null +shader_parameter/split_line_color = Color(0, 0, 0, 1) [sub_resource type="CapsuleMesh" id="2"] radius = 0.375 diff --git a/viewport/dynamic_split_screen/wall_coloring.gd.uid b/viewport/dynamic_split_screen/wall_coloring.gd.uid new file mode 100644 index 00000000..452e129d --- /dev/null +++ b/viewport/dynamic_split_screen/wall_coloring.gd.uid @@ -0,0 +1 @@ +uid://b0x0e4b2sfdga diff --git a/viewport/gui_in_3d/default_env.tres b/viewport/gui_in_3d/default_env.tres deleted file mode 100644 index f932820e..00000000 --- a/viewport/gui_in_3d/default_env.tres +++ /dev/null @@ -1,11 +0,0 @@ -[gd_resource type="Environment" load_steps=2 format=2] - -[sub_resource type="Sky" id=1] - -[resource] -background_mode = 2 -background_sky = SubResource( 1 ) -ambient_light_color = Color( 1, 1, 1, 1 ) -ambient_light_energy = 0.28 -ambient_light_sky_contribution = 0.0 -ssao_blur = 1 diff --git a/viewport/gui_in_3d/gui_3d.gd.uid b/viewport/gui_in_3d/gui_3d.gd.uid new file mode 100644 index 00000000..badb9221 --- /dev/null +++ b/viewport/gui_in_3d/gui_3d.gd.uid @@ -0,0 +1 @@ +uid://b7348wp4g5h2l diff --git a/viewport/gui_in_3d/gui_in_3d.tscn b/viewport/gui_in_3d/gui_in_3d.tscn index 0f701e27..b3bb3ad1 100644 --- a/viewport/gui_in_3d/gui_in_3d.tscn +++ b/viewport/gui_in_3d/gui_in_3d.tscn @@ -12,8 +12,7 @@ sky_material = SubResource("ProceduralSkyMaterial_1lgdv") [sub_resource type="Environment" id="Environment_niyks"] background_mode = 2 sky = SubResource("Sky_pq42j") -tonemap_mode = 2 -tonemap_white = 2.0 +tonemap_mode = 4 [sub_resource type="Animation" id="1"] length = 6.0 @@ -33,7 +32,7 @@ tracks/0/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_uw4n0"] _data = { -"Move_camera": SubResource("1") +&"Move_camera": SubResource("1") } [sub_resource type="PlaneMesh" id="2"] diff --git a/viewport/gui_in_3d/gui_panel_3d.tscn b/viewport/gui_in_3d/gui_panel_3d.tscn index 2b9500ae..218cd215 100644 --- a/viewport/gui_in_3d/gui_panel_3d.tscn +++ b/viewport/gui_in_3d/gui_panel_3d.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=7 format=3 uid="uid://dvl383ispakmn"] -[ext_resource type="Script" path="res://gui_3d.gd" id="1"] +[ext_resource type="Script" uid="uid://b7348wp4g5h2l" path="res://gui_3d.gd" id="1"] [ext_resource type="Texture2D" uid="uid://brwp8bimc75uu" path="res://icon.webp" id="2"] [sub_resource type="QuadMesh" id="1"] diff --git a/viewport/gui_in_3d/project.godot b/viewport/gui_in_3d/project.godot index fa27ae42..ea6d868d 100644 --- a/viewport/gui_in_3d/project.godot +++ b/viewport/gui_in_3d/project.godot @@ -15,7 +15,7 @@ config/description="A demo showing a GUI instanced within a 3D scene using viewp as well as forwarding mouse and keyboard input to the GUI." config/tags=PackedStringArray("3d", "demo", "gui", "official") run/main_scene="res://gui_in_3d.tscn" -config/features=PackedStringArray("4.3") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/viewport/screen_capture/project.godot b/viewport/screen_capture/project.godot index 1841a76c..b67e63dd 100644 --- a/viewport/screen_capture/project.godot +++ b/viewport/screen_capture/project.godot @@ -14,7 +14,7 @@ config/name="Screen Capture" config/description="An example showing how to take screenshots of the screen." config/tags=PackedStringArray("demo", "official", "rendering") run/main_scene="res://screen_capture.tscn" -config/features=PackedStringArray("4.2") +config/features=PackedStringArray("4.4") config/icon="res://icon.webp" [debug] diff --git a/viewport/screen_capture/screen_capture.gd.uid b/viewport/screen_capture/screen_capture.gd.uid new file mode 100644 index 00000000..90862e81 --- /dev/null +++ b/viewport/screen_capture/screen_capture.gd.uid @@ -0,0 +1 @@ +uid://pqqpk0vulaq6 diff --git a/viewport/screen_capture/screen_capture.tscn b/viewport/screen_capture/screen_capture.tscn index 61e6d0f4..6fb54790 100644 --- a/viewport/screen_capture/screen_capture.tscn +++ b/viewport/screen_capture/screen_capture.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://d10mveb7aokfl"] -[ext_resource type="Script" path="res://screen_capture.gd" id="1"] +[ext_resource type="Script" uid="uid://pqqpk0vulaq6" path="res://screen_capture.gd" id="1"] [ext_resource type="Texture2D" uid="uid://tgwx64g0plcn" path="res://mountains.png" id="2"] [node name="ScreenCapture" type="Control"] diff --git a/xr/openxr_character_centric_movement/main.tscn b/xr/openxr_character_centric_movement/main.tscn index 4de4d88c..927e87ed 100644 --- a/xr/openxr_character_centric_movement/main.tscn +++ b/xr/openxr_character_centric_movement/main.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://gvmfk4owutdm"] -[ext_resource type="Script" path="res://start_vr.gd" id="1_mbbqq"] +[ext_resource type="Script" uid="uid://docctelxad67q" path="res://start_vr.gd" id="1_mbbqq"] [ext_resource type="PackedScene" uid="uid://cpj7vtj6gr3tv" path="res://player.tscn" id="2_igeja"] [ext_resource type="PackedScene" uid="uid://bymbq2ruecbhn" path="res://world.tscn" id="2_m075s"] diff --git a/xr/openxr_character_centric_movement/objects/black_out.gd.uid b/xr/openxr_character_centric_movement/objects/black_out.gd.uid new file mode 100644 index 00000000..33d778c6 --- /dev/null +++ b/xr/openxr_character_centric_movement/objects/black_out.gd.uid @@ -0,0 +1 @@ +uid://djyj6dgqey5m8 diff --git a/xr/openxr_character_centric_movement/objects/black_out.gdshader.uid b/xr/openxr_character_centric_movement/objects/black_out.gdshader.uid new file mode 100644 index 00000000..581eda4c --- /dev/null +++ b/xr/openxr_character_centric_movement/objects/black_out.gdshader.uid @@ -0,0 +1 @@ +uid://x5d5i7aoljuk diff --git a/xr/openxr_character_centric_movement/objects/black_out.tscn b/xr/openxr_character_centric_movement/objects/black_out.tscn index 73e39dbb..fc8666f2 100644 --- a/xr/openxr_character_centric_movement/objects/black_out.tscn +++ b/xr/openxr_character_centric_movement/objects/black_out.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://bbvciliw3xnf6"] -[ext_resource type="Script" path="res://objects/black_out.gd" id="1_1r6dl"] -[ext_resource type="Shader" path="res://objects/black_out.gdshader" id="2_xc5vy"] +[ext_resource type="Script" uid="uid://djyj6dgqey5m8" path="res://objects/black_out.gd" id="1_1r6dl"] +[ext_resource type="Shader" uid="uid://x5d5i7aoljuk" path="res://objects/black_out.gdshader" id="2_xc5vy"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_ve0hd"] resource_local_to_scene = true diff --git a/xr/openxr_character_centric_movement/player.gd.uid b/xr/openxr_character_centric_movement/player.gd.uid new file mode 100644 index 00000000..198c5bfc --- /dev/null +++ b/xr/openxr_character_centric_movement/player.gd.uid @@ -0,0 +1 @@ +uid://bxc37u25o5ca5 diff --git a/xr/openxr_character_centric_movement/player.tscn b/xr/openxr_character_centric_movement/player.tscn index fd10916f..95e55926 100644 --- a/xr/openxr_character_centric_movement/player.tscn +++ b/xr/openxr_character_centric_movement/player.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=5 format=3 uid="uid://cpj7vtj6gr3tv"] -[ext_resource type="Script" path="res://player.gd" id="1_d31c7"] +[ext_resource type="Script" uid="uid://bxc37u25o5ca5" path="res://player.gd" id="1_d31c7"] [ext_resource type="PackedScene" uid="uid://bbvciliw3xnf6" path="res://objects/black_out.tscn" id="2_ecfc5"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_xe2ly"] diff --git a/xr/openxr_character_centric_movement/project.godot b/xr/openxr_character_centric_movement/project.godot index 91c0d7e9..8cd436dd 100644 --- a/xr/openxr_character_centric_movement/project.godot +++ b/xr/openxr_character_centric_movement/project.godot @@ -13,7 +13,7 @@ config_version=5 config/name="OpenXR Character Centric Movement" config/tags=PackedStringArray("demo", "official", "xr") run/main_scene="res://main.tscn" -config/features=PackedStringArray("4.2", "GL Compatibility") +config/features=PackedStringArray("4.4", "GL Compatibility") config/icon="res://icon.svg" [debug] diff --git a/xr/openxr_character_centric_movement/start_vr.gd.uid b/xr/openxr_character_centric_movement/start_vr.gd.uid new file mode 100644 index 00000000..628c5727 --- /dev/null +++ b/xr/openxr_character_centric_movement/start_vr.gd.uid @@ -0,0 +1 @@ +uid://docctelxad67q diff --git a/xr/openxr_character_centric_movement/world.tscn b/xr/openxr_character_centric_movement/world.tscn index e0afce1e..4fb8ecfe 100644 --- a/xr/openxr_character_centric_movement/world.tscn +++ b/xr/openxr_character_centric_movement/world.tscn @@ -14,7 +14,7 @@ sky_material = SubResource("ProceduralSkyMaterial_4mshr") [sub_resource type="Environment" id="Environment_pcm4o"] background_mode = 2 sky = SubResource("Sky_kwq44") -tonemap_mode = 2 +tonemap_mode = 4 [sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_xavpm"] diff --git a/xr/openxr_composition_layers/cursor.gdshader.uid b/xr/openxr_composition_layers/cursor.gdshader.uid new file mode 100644 index 00000000..ac947a7e --- /dev/null +++ b/xr/openxr_composition_layers/cursor.gdshader.uid @@ -0,0 +1 @@ +uid://dv4o4q3rftcq5 diff --git a/xr/openxr_composition_layers/handle_pointers.gd.uid b/xr/openxr_composition_layers/handle_pointers.gd.uid new file mode 100644 index 00000000..0e1ae4cf --- /dev/null +++ b/xr/openxr_composition_layers/handle_pointers.gd.uid @@ -0,0 +1 @@ +uid://bbcqp0r7v08vm diff --git a/xr/openxr_composition_layers/main.gd.uid b/xr/openxr_composition_layers/main.gd.uid new file mode 100644 index 00000000..a699b174 --- /dev/null +++ b/xr/openxr_composition_layers/main.gd.uid @@ -0,0 +1 @@ +uid://tgpixkxsqlyj diff --git a/xr/openxr_composition_layers/main.tscn b/xr/openxr_composition_layers/main.tscn index 797884a4..270c4542 100644 --- a/xr/openxr_composition_layers/main.tscn +++ b/xr/openxr_composition_layers/main.tscn @@ -1,12 +1,12 @@ [gd_scene load_steps=16 format=3 uid="uid://gybusi3kmss"] -[ext_resource type="Script" path="res://main.gd" id="1_oboy8"] -[ext_resource type="Script" path="res://start_vr.gd" id="1_xxyg6"] +[ext_resource type="Script" uid="uid://tgpixkxsqlyj" path="res://main.gd" id="1_oboy8"] +[ext_resource type="Script" uid="uid://2rgwbv5yd5ul" path="res://start_vr.gd" id="1_xxyg6"] [ext_resource type="PackedScene" uid="uid://cenb0bfok13vx" path="res://ui.tscn" id="2_ee2ui"] [ext_resource type="Texture2D" uid="uid://rek0t7kubpx4" path="res://assets/pattern.png" id="3_l16dp"] -[ext_resource type="Script" path="res://handle_pointers.gd" id="4_211j6"] +[ext_resource type="Script" uid="uid://bbcqp0r7v08vm" path="res://handle_pointers.gd" id="4_211j6"] [ext_resource type="PackedScene" uid="uid://cl6m21y2uldtf" path="res://pointer.tscn" id="4_qvtse"] -[ext_resource type="Shader" path="res://pointer.gdshader" id="5_gtvna"] +[ext_resource type="Shader" uid="uid://dd8oq5s11wm4g" path="res://pointer.gdshader" id="5_gtvna"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_401xc"] sky_horizon_color = Color(0.64625, 0.65575, 0.67075, 1) @@ -18,7 +18,7 @@ sky_material = SubResource("ProceduralSkyMaterial_401xc") [sub_resource type="Environment" id="Environment_niqal"] background_mode = 2 sky = SubResource("Sky_v0f0v") -tonemap_mode = 2 +tonemap_mode = 4 [sub_resource type="SphereMesh" id="SphereMesh_078nk"] radius = 0.02 diff --git a/xr/openxr_composition_layers/pointer.gdshader.uid b/xr/openxr_composition_layers/pointer.gdshader.uid new file mode 100644 index 00000000..8964a4da --- /dev/null +++ b/xr/openxr_composition_layers/pointer.gdshader.uid @@ -0,0 +1 @@ +uid://dd8oq5s11wm4g diff --git a/xr/openxr_composition_layers/pointer.tscn b/xr/openxr_composition_layers/pointer.tscn index 91925e0c..c28fc299 100644 --- a/xr/openxr_composition_layers/pointer.tscn +++ b/xr/openxr_composition_layers/pointer.tscn @@ -1,11 +1,12 @@ [gd_scene load_steps=4 format=3 uid="uid://cl6m21y2uldtf"] -[ext_resource type="Shader" path="res://pointer.gdshader" id="1_u1f3u"] +[ext_resource type="Shader" uid="uid://dd8oq5s11wm4g" path="res://pointer.gdshader" id="1_u1f3u"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_pwb3i"] render_priority = 0 shader = ExtResource("1_u1f3u") shader_parameter/color = Color(1, 0, 0, 0.5) +shader_parameter/energy = 1.0 [sub_resource type="BoxMesh" id="BoxMesh_1je57"] size = Vector3(0.01, 0.01, 1) diff --git a/xr/openxr_composition_layers/project.godot b/xr/openxr_composition_layers/project.godot index 21cfbb3e..ce39a2b9 100644 --- a/xr/openxr_composition_layers/project.godot +++ b/xr/openxr_composition_layers/project.godot @@ -12,7 +12,7 @@ config_version=5 config/name="OpenXR Composition Layers" run/main_scene="res://main.tscn" -config/features=PackedStringArray("4.3", "GL Compatibility") +config/features=PackedStringArray("4.4", "GL Compatibility") config/icon="res://icon.svg" [rendering] @@ -28,5 +28,4 @@ openxr/enabled=true openxr/reference_space=2 openxr/foveation_level=3 openxr/foveation_dynamic=true -openxr/extensions/hand_tracking=false shaders/enabled=true diff --git a/xr/openxr_composition_layers/start_vr.gd.uid b/xr/openxr_composition_layers/start_vr.gd.uid new file mode 100644 index 00000000..e692e512 --- /dev/null +++ b/xr/openxr_composition_layers/start_vr.gd.uid @@ -0,0 +1 @@ +uid://2rgwbv5yd5ul diff --git a/xr/openxr_composition_layers/ui.gd.uid b/xr/openxr_composition_layers/ui.gd.uid new file mode 100644 index 00000000..00c8ee2f --- /dev/null +++ b/xr/openxr_composition_layers/ui.gd.uid @@ -0,0 +1 @@ +uid://cdiefxvr0rerb diff --git a/xr/openxr_composition_layers/ui.tscn b/xr/openxr_composition_layers/ui.tscn index 3a6e25c2..c9822c43 100644 --- a/xr/openxr_composition_layers/ui.tscn +++ b/xr/openxr_composition_layers/ui.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://cenb0bfok13vx"] -[ext_resource type="Script" path="res://ui.gd" id="1_wnf2v"] -[ext_resource type="Shader" path="res://cursor.gdshader" id="2_hngl5"] +[ext_resource type="Script" uid="uid://cdiefxvr0rerb" path="res://ui.gd" id="1_wnf2v"] +[ext_resource type="Shader" uid="uid://dv4o4q3rftcq5" path="res://cursor.gdshader" id="2_hngl5"] [sub_resource type="LabelSettings" id="LabelSettings_cnxo1"] font_size = 64 diff --git a/xr/openxr_hand_tracking_demo/assets/gltf/LeftHandHumanoid.gltf.import b/xr/openxr_hand_tracking_demo/assets/gltf/LeftHandHumanoid.gltf.import index 371ff307..ef59c7fa 100644 --- a/xr/openxr_hand_tracking_demo/assets/gltf/LeftHandHumanoid.gltf.import +++ b/xr/openxr_hand_tracking_demo/assets/gltf/LeftHandHumanoid.gltf.import @@ -18,6 +18,7 @@ nodes/root_name="" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true @@ -32,8 +33,5 @@ animation/remove_immutable_tracks=true animation/import_rest_as_RESET=false import_script/path="" _subresources={} -fbx/importer=0 -fbx/allow_geometry_helper_nodes=false -fbx/embedded_image_handling=1 gltf/naming_version=1 gltf/embedded_image_handling=1 diff --git a/xr/openxr_hand_tracking_demo/assets/gltf/RightHandHumanoid.gltf.import b/xr/openxr_hand_tracking_demo/assets/gltf/RightHandHumanoid.gltf.import index 4156b55c..dbaf7378 100644 --- a/xr/openxr_hand_tracking_demo/assets/gltf/RightHandHumanoid.gltf.import +++ b/xr/openxr_hand_tracking_demo/assets/gltf/RightHandHumanoid.gltf.import @@ -18,6 +18,7 @@ nodes/root_name="" nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true meshes/create_shadow_meshes=true @@ -32,8 +33,5 @@ animation/remove_immutable_tracks=true animation/import_rest_as_RESET=false import_script/path="" _subresources={} -fbx/importer=0 -fbx/allow_geometry_helper_nodes=false -fbx/embedded_image_handling=1 gltf/naming_version=1 gltf/embedded_image_handling=1 diff --git a/xr/openxr_hand_tracking_demo/hand_info.gd.uid b/xr/openxr_hand_tracking_demo/hand_info.gd.uid new file mode 100644 index 00000000..d93d99b6 --- /dev/null +++ b/xr/openxr_hand_tracking_demo/hand_info.gd.uid @@ -0,0 +1 @@ +uid://qimdq4s5bo13 diff --git a/xr/openxr_hand_tracking_demo/hand_info.tscn b/xr/openxr_hand_tracking_demo/hand_info.tscn index eda30ccd..e4b3af28 100644 --- a/xr/openxr_hand_tracking_demo/hand_info.tscn +++ b/xr/openxr_hand_tracking_demo/hand_info.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://dtabh705qyufu"] -[ext_resource type="Script" path="res://hand_info.gd" id="1_kp65y"] +[ext_resource type="Script" uid="uid://qimdq4s5bo13" path="res://hand_info.gd" id="1_kp65y"] [node name="HandInfo" type="Node3D"] script = ExtResource("1_kp65y") diff --git a/xr/openxr_hand_tracking_demo/main.tscn b/xr/openxr_hand_tracking_demo/main.tscn index d060375c..9370e6c1 100644 --- a/xr/openxr_hand_tracking_demo/main.tscn +++ b/xr/openxr_hand_tracking_demo/main.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=14 format=3 uid="uid://br3bss6kac8pa"] [ext_resource type="PackedScene" uid="uid://d22k0sp2hinew" path="res://assets/gltf/LeftHandHumanoid.gltf" id="2_3hxem"] -[ext_resource type="Script" path="res://start_vr.gd" id="2_5rtkn"] +[ext_resource type="Script" uid="uid://dpqdbsepdkd4h" path="res://start_vr.gd" id="2_5rtkn"] [ext_resource type="PackedScene" uid="uid://dlswhmq6s52gu" path="res://assets/gltf/RightHandHumanoid.gltf" id="3_oifi1"] [ext_resource type="PackedScene" uid="uid://byif52d1xkl3u" path="res://pickup/pickup_handler.tscn" id="3_sg1io"] [ext_resource type="Texture2D" uid="uid://b1waowk6l76ap" path="res://assets/images/pattern.png" id="4_3x0ea"] @@ -19,7 +19,7 @@ sky_material = SubResource("ProceduralSkyMaterial_eyx45") [sub_resource type="Environment" id="Environment_0xu52"] background_mode = 2 sky = SubResource("Sky_tsis2") -tonemap_mode = 2 +tonemap_mode = 4 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dxr1t"] albedo_color = Color(0.187808, 0.607643, 0.279312, 1) diff --git a/xr/openxr_hand_tracking_demo/objects/box.tscn b/xr/openxr_hand_tracking_demo/objects/box.tscn index 39031d41..8c8dd086 100644 --- a/xr/openxr_hand_tracking_demo/objects/box.tscn +++ b/xr/openxr_hand_tracking_demo/objects/box.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=6 format=3 uid="uid://cerkxyasq8t8b"] -[ext_resource type="Script" path="res://pickup/pickup_able_body.gd" id="1_mxwa3"] +[ext_resource type="Script" uid="uid://bf7nf472wl0v0" path="res://pickup/pickup_able_body.gd" id="1_mxwa3"] [ext_resource type="Texture2D" uid="uid://b1waowk6l76ap" path="res://assets/images/pattern.png" id="1_t4uiq"] [sub_resource type="BoxShape3D" id="BoxShape3D_jjy5v"] diff --git a/xr/openxr_hand_tracking_demo/pickup/pickup_able_body.gd.uid b/xr/openxr_hand_tracking_demo/pickup/pickup_able_body.gd.uid new file mode 100644 index 00000000..d156e807 --- /dev/null +++ b/xr/openxr_hand_tracking_demo/pickup/pickup_able_body.gd.uid @@ -0,0 +1 @@ +uid://bf7nf472wl0v0 diff --git a/xr/openxr_hand_tracking_demo/pickup/pickup_handler.gd.uid b/xr/openxr_hand_tracking_demo/pickup/pickup_handler.gd.uid new file mode 100644 index 00000000..94465039 --- /dev/null +++ b/xr/openxr_hand_tracking_demo/pickup/pickup_handler.gd.uid @@ -0,0 +1 @@ +uid://c5th2vj2kn3c5 diff --git a/xr/openxr_hand_tracking_demo/pickup/pickup_handler.tscn b/xr/openxr_hand_tracking_demo/pickup/pickup_handler.tscn index cdf31041..bbecb883 100644 --- a/xr/openxr_hand_tracking_demo/pickup/pickup_handler.tscn +++ b/xr/openxr_hand_tracking_demo/pickup/pickup_handler.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://byif52d1xkl3u"] -[ext_resource type="Script" path="res://pickup/pickup_handler.gd" id="1_5qec3"] +[ext_resource type="Script" uid="uid://c5th2vj2kn3c5" path="res://pickup/pickup_handler.gd" id="1_5qec3"] [sub_resource type="SphereShape3D" id="SphereShape3D_i5on0"] resource_local_to_scene = true diff --git a/xr/openxr_hand_tracking_demo/project.godot b/xr/openxr_hand_tracking_demo/project.godot index 1a18af26..6cb4143f 100644 --- a/xr/openxr_hand_tracking_demo/project.godot +++ b/xr/openxr_hand_tracking_demo/project.godot @@ -12,7 +12,7 @@ config_version=5 config/name="openxr_hand_tracking_demo" run/main_scene="res://main.tscn" -config/features=PackedStringArray("4.3", "GL Compatibility") +config/features=PackedStringArray("4.4", "GL Compatibility") config/icon="res://icon.svg" [debug] diff --git a/xr/openxr_hand_tracking_demo/start_vr.gd.uid b/xr/openxr_hand_tracking_demo/start_vr.gd.uid new file mode 100644 index 00000000..0d8393bd --- /dev/null +++ b/xr/openxr_hand_tracking_demo/start_vr.gd.uid @@ -0,0 +1 @@ +uid://dpqdbsepdkd4h diff --git a/xr/openxr_origin_centric_movement/main.tscn b/xr/openxr_origin_centric_movement/main.tscn index 177ff068..1fe6856d 100644 --- a/xr/openxr_origin_centric_movement/main.tscn +++ b/xr/openxr_origin_centric_movement/main.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://gvmfk4owutdm"] -[ext_resource type="Script" path="res://start_vr.gd" id="1_mbbqq"] +[ext_resource type="Script" uid="uid://dur7hydkdd1cd" path="res://start_vr.gd" id="1_mbbqq"] [ext_resource type="PackedScene" uid="uid://cpj7vtj6gr3tv" path="res://player.tscn" id="2_igeja"] [ext_resource type="PackedScene" uid="uid://bymbq2ruecbhn" path="res://world.tscn" id="2_m075s"] diff --git a/xr/openxr_origin_centric_movement/objects/black_out.gd.uid b/xr/openxr_origin_centric_movement/objects/black_out.gd.uid new file mode 100644 index 00000000..db3f5055 --- /dev/null +++ b/xr/openxr_origin_centric_movement/objects/black_out.gd.uid @@ -0,0 +1 @@ +uid://f70uvsitk1o1 diff --git a/xr/openxr_origin_centric_movement/objects/black_out.gdshader.uid b/xr/openxr_origin_centric_movement/objects/black_out.gdshader.uid new file mode 100644 index 00000000..1b63205f --- /dev/null +++ b/xr/openxr_origin_centric_movement/objects/black_out.gdshader.uid @@ -0,0 +1 @@ +uid://1mp4i53hv561 diff --git a/xr/openxr_origin_centric_movement/objects/black_out.tscn b/xr/openxr_origin_centric_movement/objects/black_out.tscn index 73e39dbb..dedfae3e 100644 --- a/xr/openxr_origin_centric_movement/objects/black_out.tscn +++ b/xr/openxr_origin_centric_movement/objects/black_out.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3 uid="uid://bbvciliw3xnf6"] -[ext_resource type="Script" path="res://objects/black_out.gd" id="1_1r6dl"] -[ext_resource type="Shader" path="res://objects/black_out.gdshader" id="2_xc5vy"] +[ext_resource type="Script" uid="uid://f70uvsitk1o1" path="res://objects/black_out.gd" id="1_1r6dl"] +[ext_resource type="Shader" uid="uid://1mp4i53hv561" path="res://objects/black_out.gdshader" id="2_xc5vy"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_ve0hd"] resource_local_to_scene = true diff --git a/xr/openxr_origin_centric_movement/player.gd.uid b/xr/openxr_origin_centric_movement/player.gd.uid new file mode 100644 index 00000000..563a01c1 --- /dev/null +++ b/xr/openxr_origin_centric_movement/player.gd.uid @@ -0,0 +1 @@ +uid://jp2fklq6xk1d diff --git a/xr/openxr_origin_centric_movement/player.tscn b/xr/openxr_origin_centric_movement/player.tscn index 61942152..4f20d0d0 100644 --- a/xr/openxr_origin_centric_movement/player.tscn +++ b/xr/openxr_origin_centric_movement/player.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=5 format=3 uid="uid://cpj7vtj6gr3tv"] -[ext_resource type="Script" path="res://player.gd" id="1_d31c7"] +[ext_resource type="Script" uid="uid://jp2fklq6xk1d" path="res://player.gd" id="1_d31c7"] [ext_resource type="PackedScene" uid="uid://bbvciliw3xnf6" path="res://objects/black_out.tscn" id="2_ecfc5"] [sub_resource type="BoxMesh" id="BoxMesh_sldd7"] diff --git a/xr/openxr_origin_centric_movement/project.godot b/xr/openxr_origin_centric_movement/project.godot index a0375857..9cb05d1f 100644 --- a/xr/openxr_origin_centric_movement/project.godot +++ b/xr/openxr_origin_centric_movement/project.godot @@ -13,7 +13,7 @@ config_version=5 config/name="OpenXR Origin Centric Movement" config/tags=PackedStringArray("demo", "official", "xr") run/main_scene="res://main.tscn" -config/features=PackedStringArray("4.2", "GL Compatibility") +config/features=PackedStringArray("4.4", "GL Compatibility") config/icon="res://icon.svg" [debug] diff --git a/xr/openxr_origin_centric_movement/start_vr.gd.uid b/xr/openxr_origin_centric_movement/start_vr.gd.uid new file mode 100644 index 00000000..0af4ce6e --- /dev/null +++ b/xr/openxr_origin_centric_movement/start_vr.gd.uid @@ -0,0 +1 @@ +uid://dur7hydkdd1cd diff --git a/xr/openxr_origin_centric_movement/world.tscn b/xr/openxr_origin_centric_movement/world.tscn index e0afce1e..4fb8ecfe 100644 --- a/xr/openxr_origin_centric_movement/world.tscn +++ b/xr/openxr_origin_centric_movement/world.tscn @@ -14,7 +14,7 @@ sky_material = SubResource("ProceduralSkyMaterial_4mshr") [sub_resource type="Environment" id="Environment_pcm4o"] background_mode = 2 sky = SubResource("Sky_kwq44") -tonemap_mode = 2 +tonemap_mode = 4 [sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_xavpm"]