├── icon.png ├── character.png ├── industrial.v1.png ├── industrial.v2.png ├── default_env.tres ├── Bullet.gd ├── Bullet.tscn ├── Turret.tscn ├── icon.png.import ├── character.png.import ├── industrial.v1.png.import ├── industrial.v2.png.import ├── Gun.gd ├── project.godot ├── Player.gd ├── Player.tscn └── World.tscn /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Miziziziz/SmallPlatformer/HEAD/icon.png -------------------------------------------------------------------------------- /character.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Miziziziz/SmallPlatformer/HEAD/character.png -------------------------------------------------------------------------------- /industrial.v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Miziziziz/SmallPlatformer/HEAD/industrial.v1.png -------------------------------------------------------------------------------- /industrial.v2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Miziziziz/SmallPlatformer/HEAD/industrial.v2.png -------------------------------------------------------------------------------- /default_env.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="Environment" load_steps=2 format=2] 2 | 3 | [sub_resource type="ProceduralSky" id=1] 4 | 5 | [resource] 6 | background_mode = 2 7 | background_sky = SubResource( 1 ) 8 | -------------------------------------------------------------------------------- /Bullet.gd: -------------------------------------------------------------------------------- 1 | extends KinematicBody2D 2 | 3 | var move_dir = Vector2() 4 | var move_speed = 200 5 | 6 | func _physics_process(delta): 7 | var coll = move_and_collide(move_dir * move_speed * delta) 8 | if coll: 9 | if coll.collider.name == "Player": 10 | coll.collider.die() 11 | queue_free() 12 | -------------------------------------------------------------------------------- /Bullet.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=4 format=2] 2 | 3 | [ext_resource path="res://Bullet.gd" type="Script" id=1] 4 | [ext_resource path="res://industrial.v2.png" type="Texture" id=2] 5 | 6 | [sub_resource type="CircleShape2D" id=1] 7 | radius = 6.20559 8 | 9 | [node name="Bullet" type="KinematicBody2D"] 10 | script = ExtResource( 1 ) 11 | 12 | [node name="Sprite" type="Sprite" parent="."] 13 | texture = ExtResource( 2 ) 14 | region_enabled = true 15 | region_rect = Rect2( 209, 257, 14, 14 ) 16 | 17 | [node name="CollisionShape2D" type="CollisionShape2D" parent="."] 18 | shape = SubResource( 1 ) 19 | -------------------------------------------------------------------------------- /Turret.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=3 format=2] 2 | 3 | [ext_resource path="res://industrial.v2.png" type="Texture" id=1] 4 | [ext_resource path="res://Gun.gd" type="Script" id=2] 5 | 6 | [node name="Turret" type="Node2D"] 7 | 8 | [node name="Gun" type="Sprite" parent="." groups=[ 9 | "need_player_ref", 10 | ]] 11 | texture = ExtResource( 1 ) 12 | region_enabled = true 13 | region_rect = Rect2( 3, 354, 12, 7 ) 14 | script = ExtResource( 2 ) 15 | 16 | [node name="Handle" type="Sprite" parent="."] 17 | position = Vector2( 0, -4.88843 ) 18 | rotation = -3.14159 19 | texture = ExtResource( 1 ) 20 | region_enabled = true 21 | region_rect = Rect2( 4, 361, 8, 7 ) 22 | -------------------------------------------------------------------------------- /icon.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://icon.png" 13 | dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /character.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/character.png-7a996d3b758d22c506b76a7c15391284.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://character.png" 13 | dest_files=[ "res://.import/character.png-7a996d3b758d22c506b76a7c15391284.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=false 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /industrial.v1.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/industrial.v1.png-3214a18c4c799c86ce2a94c5644b6e10.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://industrial.v1.png" 13 | dest_files=[ "res://.import/industrial.v1.png-3214a18c4c799c86ce2a94c5644b6e10.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=true 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /industrial.v2.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="StreamTexture" 5 | path="res://.import/industrial.v2.png-a9f4da2e23c41b745f8ae4f9d3807bb6.stex" 6 | metadata={ 7 | "vram_texture": false 8 | } 9 | 10 | [deps] 11 | 12 | source_file="res://industrial.v2.png" 13 | dest_files=[ "res://.import/industrial.v2.png-a9f4da2e23c41b745f8ae4f9d3807bb6.stex" ] 14 | 15 | [params] 16 | 17 | compress/mode=0 18 | compress/lossy_quality=0.7 19 | compress/hdr_mode=0 20 | compress/bptc_ldr=0 21 | compress/normal_map=0 22 | flags/repeat=0 23 | flags/filter=false 24 | flags/mipmaps=false 25 | flags/anisotropic=false 26 | flags/srgb=2 27 | process/fix_alpha_border=true 28 | process/premult_alpha=false 29 | process/HDR_as_SRGB=false 30 | process/invert_color=false 31 | stream=false 32 | size_limit=0 33 | detect_3d=true 34 | svg/scale=1.0 35 | -------------------------------------------------------------------------------- /Gun.gd: -------------------------------------------------------------------------------- 1 | extends Sprite 2 | 3 | var player = null 4 | 5 | var rot_speed = 0.1 6 | var fire_rate = 1.0 7 | var fire_time = 0.0 8 | var rang = 500 9 | 10 | var bullet = preload("res://Bullet.tscn") 11 | 12 | func _physics_process(delta): 13 | if player == null: 14 | return 15 | var dir_to_player = player.global_position - global_position 16 | rotation = dir_to_player.angle() 17 | fire_time += delta 18 | if fire_time > fire_rate: 19 | fire_time = 0 20 | fire() 21 | 22 | func fire(): 23 | if global_position.distance_to(player.global_position) > rang: 24 | return 25 | var bullet_inst = bullet.instance() 26 | get_tree().get_root().add_child(bullet_inst) 27 | bullet_inst.global_position = global_position 28 | var dir_to_player = (player.global_position - global_position).normalized() 29 | bullet_inst.move_dir = dir_to_player 30 | 31 | func set_player(p): 32 | player = p -------------------------------------------------------------------------------- /project.godot: -------------------------------------------------------------------------------- 1 | ; Engine configuration file. 2 | ; It's best edited using the editor UI and not directly, 3 | ; since the parameters that go here are not all obvious. 4 | ; 5 | ; Format: 6 | ; [section] ; section goes between [] 7 | ; param=value ; assign values to parameters 8 | 9 | config_version=4 10 | 11 | _global_script_classes=[ ] 12 | _global_script_class_icons={ 13 | 14 | } 15 | 16 | [application] 17 | 18 | config/name="speedrun" 19 | run/main_scene="res://World.tscn" 20 | config/icon="res://icon.png" 21 | 22 | [display] 23 | 24 | window/size/fullscreen=true 25 | 26 | [input] 27 | 28 | move_right={ 29 | "deadzone": 0.5, 30 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null) 31 | ] 32 | } 33 | move_left={ 34 | "deadzone": 0.5, 35 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null) 36 | ] 37 | } 38 | jump={ 39 | "deadzone": 0.5, 40 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"unicode":0,"echo":false,"script":null) 41 | ] 42 | } 43 | exit={ 44 | "deadzone": 0.5, 45 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777217,"unicode":0,"echo":false,"script":null) 46 | ] 47 | } 48 | restart={ 49 | "deadzone": 0.5, 50 | "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":82,"unicode":0,"echo":false,"script":null) 51 | ] 52 | } 53 | 54 | [rendering] 55 | 56 | environment/default_clear_color=Color( 0, 0, 0, 1 ) 57 | environment/default_environment="res://default_env.tres" 58 | -------------------------------------------------------------------------------- /Player.gd: -------------------------------------------------------------------------------- 1 | extends KinematicBody2D 2 | 3 | export var move_speed = 200 4 | export var gravity = 20 5 | export var less_gravity = 10 6 | export var jump_force = 400 7 | var velo = Vector2() 8 | var drag = 0.5 9 | 10 | const jump_buffer = 0.08 11 | var time_pressed_jump = 0.0 12 | var time_left_ground = 0.0 13 | var last_grounded = false 14 | 15 | var facing_right = true 16 | 17 | onready var anim_player = $AnimationPlayer 18 | 19 | var dead = false 20 | 21 | func _ready(): 22 | Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN) 23 | get_tree().call_group("need_player_ref", "set_player", self) 24 | 25 | func _process(delta): 26 | if Input.is_action_pressed("exit"): 27 | get_tree().quit() 28 | 29 | if dead and Input.is_action_pressed("restart"): 30 | get_tree().reload_current_scene() 31 | 32 | func _physics_process(delta): 33 | var move_vec = Vector2() 34 | if !dead: 35 | if Input.is_action_pressed("move_left"): 36 | move_vec.x -= 1 37 | if Input.is_action_pressed("move_right"): 38 | move_vec.x += 1 39 | 40 | velo += move_vec * move_speed - drag * Vector2(velo.x, 0) 41 | 42 | var cur_grounded = is_on_floor() 43 | if !cur_grounded and last_grounded: 44 | time_left_ground = get_cur_time() 45 | 46 | var will_jump = false 47 | var pressed_jump = Input.is_action_just_pressed("jump") 48 | 49 | if pressed_jump: 50 | time_pressed_jump = get_cur_time() 51 | 52 | if (pressed_jump and cur_grounded): 53 | jump() 54 | elif (!last_grounded and cur_grounded and get_cur_time() - time_pressed_jump < jump_buffer): 55 | jump() 56 | elif pressed_jump and get_cur_time() - time_left_ground < jump_buffer: 57 | jump() 58 | 59 | if Input.is_action_pressed("jump"): 60 | velo.y += less_gravity 61 | else: 62 | velo.y += gravity 63 | 64 | if cur_grounded and velo.y > 10: 65 | velo.y = 10 66 | 67 | move_and_slide(velo, Vector2.UP) 68 | 69 | if move_vec.x > 0.0 and !facing_right: 70 | flip() 71 | elif move_vec.x < 0.0 and facing_right: 72 | flip() 73 | 74 | if cur_grounded: 75 | if move_vec == Vector2(): 76 | play_anim("idle") 77 | else: 78 | play_anim("walk") 79 | else: 80 | play_anim("jump") 81 | 82 | 83 | last_grounded = cur_grounded 84 | 85 | func jump(): 86 | if dead: 87 | return 88 | velo.y = -jump_force 89 | 90 | func get_cur_time(): 91 | return OS.get_ticks_msec() / 1000.0 92 | 93 | func flip(): 94 | $Sprite.flip_h = !$Sprite.flip_h 95 | facing_right = !facing_right 96 | 97 | func play_anim(anim): 98 | if anim_player.current_animation == anim: 99 | return 100 | anim_player.play(anim) 101 | 102 | func die(): 103 | dead = true 104 | $CanvasLayer/RestartMessage.show() 105 | $Blood.emitting = true 106 | -------------------------------------------------------------------------------- /Player.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=8 format=2] 2 | 3 | [ext_resource path="res://Player.gd" type="Script" id=1] 4 | [ext_resource path="res://character.png" type="Texture" id=2] 5 | 6 | [sub_resource type="CapsuleShape2D" id=5] 7 | radius = 5.16813 8 | height = 3.69393 9 | 10 | [sub_resource type="Animation" id=2] 11 | resource_name = "idle" 12 | length = 0.8 13 | loop = true 14 | tracks/0/type = "value" 15 | tracks/0/path = NodePath("Sprite:frame") 16 | tracks/0/interp = 1 17 | tracks/0/loop_wrap = true 18 | tracks/0/imported = false 19 | tracks/0/enabled = true 20 | tracks/0/keys = { 21 | "times": PoolRealArray( 0, 0.4 ), 22 | "transitions": PoolRealArray( 1, 1 ), 23 | "update": 1, 24 | "values": [ 1, 2 ] 25 | } 26 | 27 | [sub_resource type="Animation" id=3] 28 | resource_name = "jump" 29 | tracks/0/type = "value" 30 | tracks/0/path = NodePath("Sprite:frame") 31 | tracks/0/interp = 1 32 | tracks/0/loop_wrap = true 33 | tracks/0/imported = false 34 | tracks/0/enabled = true 35 | tracks/0/keys = { 36 | "times": PoolRealArray( 0 ), 37 | "transitions": PoolRealArray( 1 ), 38 | "update": 1, 39 | "values": [ 8 ] 40 | } 41 | 42 | [sub_resource type="Animation" id=4] 43 | resource_name = "walk" 44 | length = 0.8 45 | loop = true 46 | tracks/0/type = "value" 47 | tracks/0/path = NodePath("Sprite:frame") 48 | tracks/0/interp = 1 49 | tracks/0/loop_wrap = true 50 | tracks/0/imported = false 51 | tracks/0/enabled = true 52 | tracks/0/keys = { 53 | "times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7 ), 54 | "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ), 55 | "update": 1, 56 | "values": [ 8, 9, 10, 11, 12, 13, 14, 15 ] 57 | } 58 | 59 | [sub_resource type="ParticlesMaterial" id=6] 60 | emission_shape = 1 61 | emission_sphere_radius = 2.1 62 | flag_disable_z = true 63 | gravity = Vector3( 0, 98, 0 ) 64 | initial_velocity = 67.6 65 | angular_velocity = 0.0 66 | orbit_velocity = 0.0 67 | orbit_velocity_random = 0.0 68 | color = Color( 1, 0, 0, 1 ) 69 | 70 | [node name="Player" type="KinematicBody2D"] 71 | script = ExtResource( 1 ) 72 | 73 | [node name="CollisionShape2D" type="CollisionShape2D" parent="."] 74 | shape = SubResource( 5 ) 75 | 76 | [node name="Sprite" type="Sprite" parent="."] 77 | position = Vector2( 0, -1.23112 ) 78 | texture = ExtResource( 2 ) 79 | vframes = 2 80 | hframes = 8 81 | frame = 11 82 | region_rect = Rect2( 0, 0, 32, 32 ) 83 | 84 | [node name="AnimationPlayer" type="AnimationPlayer" parent="."] 85 | autoplay = "idle" 86 | anims/idle = SubResource( 2 ) 87 | anims/jump = SubResource( 3 ) 88 | anims/walk = SubResource( 4 ) 89 | 90 | [node name="Camera2D" type="Camera2D" parent="."] 91 | current = true 92 | zoom = Vector2( 0.5, 0.5 ) 93 | drag_margin_top = 0.5 94 | 95 | [node name="CanvasLayer" type="CanvasLayer" parent="."] 96 | 97 | [node name="RestartMessage" type="Label" parent="CanvasLayer"] 98 | visible = false 99 | anchor_left = 0.5 100 | anchor_top = 0.5 101 | anchor_right = 0.5 102 | anchor_bottom = 0.5 103 | margin_left = -84.5 104 | margin_top = -75.1807 105 | margin_right = 84.5 106 | margin_bottom = -61.1807 107 | text = "You died press R to restart" 108 | 109 | [node name="Panel" type="Panel" parent="CanvasLayer/RestartMessage"] 110 | show_behind_parent = true 111 | anchor_right = 1.0 112 | anchor_bottom = 1.0 113 | 114 | [node name="Blood" type="Particles2D" parent="."] 115 | emitting = false 116 | amount = 64 117 | lifetime = 0.5 118 | preprocess = 0.1 119 | process_material = SubResource( 6 ) 120 | -------------------------------------------------------------------------------- /World.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=6 format=2] 2 | 3 | [ext_resource path="res://Player.tscn" type="PackedScene" id=1] 4 | [ext_resource path="res://industrial.v2.png" type="Texture" id=2] 5 | [ext_resource path="res://Turret.tscn" type="PackedScene" id=3] 6 | 7 | [sub_resource type="ConvexPolygonShape2D" id=1] 8 | points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) 9 | 10 | [sub_resource type="TileSet" id=2] 11 | 0/name = "industrial.v2.png 0" 12 | 0/texture = ExtResource( 2 ) 13 | 0/tex_offset = Vector2( 0, 0 ) 14 | 0/modulate = Color( 1, 1, 1, 1 ) 15 | 0/region = Rect2( 304, 0, 16, 16 ) 16 | 0/tile_mode = 0 17 | 0/occluder_offset = Vector2( 0, 0 ) 18 | 0/navigation_offset = Vector2( 0, 0 ) 19 | 0/shapes = [ { 20 | "autotile_coord": Vector2( 0, 0 ), 21 | "one_way": false, 22 | "one_way_margin": 1.0, 23 | "shape": SubResource( 1 ), 24 | "shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) 25 | } ] 26 | 0/z_index = 0 27 | 28 | [node name="World" type="Node2D"] 29 | 30 | [node name="Player" parent="." instance=ExtResource( 1 )] 31 | position = Vector2( -203.015, -102.742 ) 32 | 33 | [node name="TileMap" type="TileMap" parent="."] 34 | tile_set = SubResource( 2 ) 35 | cell_size = Vector2( 16, 16 ) 36 | format = 1 37 | tile_data = PoolIntArray( -4521918, 0, 0, -4456382, 0, 0, -4390846, 0, 0, -4325310, 0, 0, -4259774, 0, 0, -4194238, 0, 0, -4194131, 0, 0, -4194130, 0, 0, -4194129, 0, 0, -4194128, 0, 0, -4194127, 0, 0, -4194126, 0, 0, -4194125, 0, 0, -4128702, 0, 0, -4128599, 0, 0, -4128598, 0, 0, -4128597, 0, 0, -4128596, 0, 0, -4128589, 0, 0, -4128588, 0, 0, -4063166, 0, 0, -4063068, 0, 0, -4063067, 0, 0, -4063066, 0, 0, -4063065, 0, 0, -4063064, 0, 0, -4063052, 0, 0, -3997630, 0, 0, -3997536, 0, 0, -3997535, 0, 0, -3997534, 0, 0, -3997533, 0, 0, -3997515, 0, 0, -3932094, 0, 0, -3932006, 0, 0, -3932005, 0, 0, -3932004, 0, 0, -3932003, 0, 0, -3932002, 0, 0, -3932001, 0, 0, -3931978, 0, 0, -3866558, 0, 0, -3866481, 0, 0, -3866480, 0, 0, -3866479, 0, 0, -3866478, 0, 0, -3866477, 0, 0, -3866476, 0, 0, -3866475, 0, 0, -3866474, 0, 0, -3866473, 0, 0, -3866472, 0, 0, -3866471, 0, 0, -3866441, 0, 0, -3801021, 0, 0, -3800975, 0, 0, -3800974, 0, 0, -3800973, 0, 0, -3800947, 0, 0, -3800946, 0, 0, -3800904, 0, 0, -3800903, 0, 0, -3735485, 0, 0, -3735453, 0, 0, -3735436, 0, 0, -3735435, 0, 0, -3735415, 0, 0, -3735414, 0, 0, -3735413, 0, 0, -3735412, 0, 0, -3735366, 0, 0, -3669949, 0, 0, -3669917, 0, 0, -3669907, 0, 0, -3669889, 0, 0, -3669888, 0, 0, -3669887, 0, 0, -3669886, 0, 0, -3669885, 0, 0, -3669884, 0, 0, -3669883, 0, 0, -3669882, 0, 0, -3669881, 0, 0, -3669880, 0, 0, -3669829, 0, 0, -3604413, 0, 0, -3604381, 0, 0, -3604371, 0, 0, -3604357, 0, 0, -3604356, 0, 0, -3604355, 0, 0, -3604354, 0, 0, -3604292, 0, 0, -3538877, 0, 0, -3538844, 0, 0, -3538835, 0, 0, -3538823, 0, 0, -3538822, 0, 0, -3538755, 0, 0, -3473341, 0, 0, -3473308, 0, 0, -3473299, 0, 0, -3473289, 0, 0, -3473288, 0, 0, -3473218, 0, 0, -3407805, 0, 0, -3407773, 0, 0, -3407772, 0, 0, -3407762, 0, 0, -3407755, 0, 0, -3407754, 0, 0, -3407681, 0, 0, -3407680, 0, 0, -3342269, 0, 0, -3342239, 0, 0, -3342238, 0, 0, -3342237, 0, 0, -3342236, 0, 0, -3342226, 0, 0, -3342222, 0, 0, -3342221, 0, 0, -3342220, 0, 0, -3342143, 0, 0, -3342082, 0, 0, -3276733, 0, 0, -3276704, 0, 0, -3276699, 0, 0, -3276690, 0, 0, -3276687, 0, 0, -3276638, 0, 0, -3276637, 0, 0, -3276636, 0, 0, -3276635, 0, 0, -3276634, 0, 0, -3276633, 0, 0, -3276632, 0, 0, -3276631, 0, 0, -3276630, 0, 0, -3276629, 0, 0, -3276628, 0, 0, -3276627, 0, 0, -3276606, 0, 0, -3276605, 0, 0, -3276546, 0, 0, -3145751, 0, 0, -3211197, 0, 0, -3211171, 0, 0, -3211170, 0, 0, -3211169, 0, 0, -3211163, 0, 0, -3211154, 0, 0, -3211153, 0, 0, -3211152, 0, 0, -3211107, 0, 0, -3211106, 0, 0, -3211105, 0, 0, -3211104, 0, 0, -3211103, 0, 0, -3211091, 0, 0, -3211090, 0, 0, -3211068, 0, 0, -3211010, 0, 0, -3080215, 0, 0, -3145661, 0, 0, -3145635, 0, 0, -3145627, 0, 0, -3145618, 0, 0, -3145583, 0, 0, -3145582, 0, 0, -3145581, 0, 0, -3145580, 0, 0, -3145579, 0, 0, -3145578, 0, 0, -3145577, 0, 0, -3145576, 0, 0, -3145575, 0, 0, -3145574, 0, 0, -3145573, 0, 0, -3145572, 0, 0, -3145571, 0, 0, -3145554, 0, 0, -3145531, 0, 0, -3145530, 0, 0, -3145528, 0, 0, -3145527, 0, 0, -3145526, 0, 0, -3145525, 0, 0, -3145524, 0, 0, -3145474, 0, 0, -3014679, 0, 0, -3080125, 0, 0, -3080099, 0, 0, -3080091, 0, 0, -3080082, 0, 0, -3080047, 0, 0, -3080046, 0, 0, -3080017, 0, 0, -3080016, 0, 0, -3079994, 0, 0, -3079993, 0, 0, -3079988, 0, 0, -3079987, 0, 0, -3079938, 0, 0, -2949143, 0, 0, -3014589, 0, 0, -3014566, 0, 0, -3014564, 0, 0, -3014555, 0, 0, -3014546, 0, 0, -3014512, 0, 0, -3014479, 0, 0, -3014451, 0, 0, -3014402, 0, 0, -2883607, 0, 0, -2949053, 0, 0, -2949030, 0, 0, -2949029, 0, 0, -2949018, 0, 0, -2949009, 0, 0, -2948976, 0, 0, -2948975, 0, 0, -2948942, 0, 0, -2948941, 0, 0, -2948914, 0, 0, -2948866, 0, 0, -2818071, 0, 0, -2883517, 0, 0, -2883495, 0, 0, -2883494, 0, 0, -2883482, 0, 0, -2883473, 0, 0, -2883443, 0, 0, -2883442, 0, 0, -2883441, 0, 0, -2883440, 0, 0, -2883404, 0, 0, -2883403, 0, 0, -2883402, 0, 0, -2883401, 0, 0, -2883400, 0, 0, -2883399, 0, 0, -2883398, 0, 0, -2883397, 0, 0, -2883396, 0, 0, -2883395, 0, 0, -2883394, 0, 0, -2883393, 0, 0, -2883392, 0, 0, -2883391, 0, 0, -2883390, 0, 0, -2883389, 0, 0, -2883377, 0, 0, -2883330, 0, 0, -2752535, 0, 0, -2817981, 0, 0, -2817959, 0, 0, -2817958, 0, 0, -2817946, 0, 0, -2817937, 0, 0, -2817908, 0, 0, -2817907, 0, 0, -2817904, 0, 0, -2817853, 0, 0, -2817841, 0, 0, -2817794, 0, 0, -2686999, 0, 0, -2752445, 0, 0, -2752429, 0, 0, -2752423, 0, 0, -2752410, 0, 0, -2752401, 0, 0, -2752373, 0, 0, -2752372, 0, 0, -2752369, 0, 0, -2752368, 0, 0, -2752367, 0, 0, -2752366, 0, 0, -2752317, 0, 0, -2752305, 0, 0, -2752258, 0, 0, -2621463, 0, 0, -2686909, 0, 0, -2686888, 0, 0, -2686873, 0, 0, -2686865, 0, 0, -2686838, 0, 0, -2686833, 0, 0, -2686830, 0, 0, -2686781, 0, 0, -2686768, 0, 0, -2686722, 0, 0, -2555927, 0, 0, -2621373, 0, 0, -2621354, 0, 0, -2621353, 0, 0, -2621337, 0, 0, -2621329, 0, 0, -2621308, 0, 0, -2621307, 0, 0, -2621306, 0, 0, -2621305, 0, 0, -2621304, 0, 0, -2621303, 0, 0, -2621302, 0, 0, -2621301, 0, 0, -2621300, 0, 0, -2621299, 0, 0, -2621298, 0, 0, -2621297, 0, 0, -2621296, 0, 0, -2621295, 0, 0, -2621294, 0, 0, -2621245, 0, 0, -2621232, 0, 0, -2621186, 0, 0, -2490391, 0, 0, -2555837, 0, 0, -2555820, 0, 0, -2555819, 0, 0, -2555801, 0, 0, -2555793, 0, 0, -2555774, 0, 0, -2555773, 0, 0, -2555772, 0, 0, -2555758, 0, 0, -2555709, 0, 0, -2555696, 0, 0, -2555650, 0, 0, -2424855, 0, 0, -2490301, 0, 0, -2490285, 0, 0, -2490284, 0, 0, -2490265, 0, 0, -2490257, 0, 0, -2490240, 0, 0, -2490239, 0, 0, -2490238, 0, 0, -2490222, 0, 0, -2490173, 0, 0, -2490159, 0, 0, -2490114, 0, 0, -2359319, 0, 0, -2424764, 0, 0, -2424749, 0, 0, -2424729, 0, 0, -2424720, 0, 0, -2424713, 0, 0, -2424712, 0, 0, -2424711, 0, 0, -2424710, 0, 0, -2424709, 0, 0, -2424708, 0, 0, -2424707, 0, 0, -2424706, 0, 0, -2424705, 0, 0, -2424704, 0, 0, -2424686, 0, 0, -2424637, 0, 0, -2424623, 0, 0, -2424578, 0, 0, -2293783, 0, 0, -2293761, 0, 0, -2359296, 0, 0, -2359295, 0, 0, -2359294, 0, 0, -2359293, 0, 0, -2359292, 0, 0, -2359291, 0, 0, -2359290, 0, 0, -2359289, 0, 0, -2359288, 0, 0, -2359287, 0, 0, -2359286, 0, 0, -2359285, 0, 0, -2359284, 0, 0, -2359283, 0, 0, -2359282, 0, 0, -2359281, 0, 0, -2359280, 0, 0, -2359279, 0, 0, -2359278, 0, 0, -2359277, 0, 0, -2359276, 0, 0, -2359275, 0, 0, -2359274, 0, 0, -2359273, 0, 0, -2359272, 0, 0, -2359271, 0, 0, -2359270, 0, 0, -2359269, 0, 0, -2359268, 0, 0, -2359267, 0, 0, -2359266, 0, 0, -2359265, 0, 0, -2359264, 0, 0, -2359263, 0, 0, -2359262, 0, 0, -2359254, 0, 0, -2359228, 0, 0, -2359214, 0, 0, -2359192, 0, 0, -2359184, 0, 0, -2359180, 0, 0, -2359179, 0, 0, -2359178, 0, 0, -2359149, 0, 0, -2359101, 0, 0, -2359086, 0, 0, -2359042, 0, 0, -2228247, 0, 0, -2293725, 0, 0, -2293724, 0, 0, -2293723, 0, 0, -2293722, 0, 0, -2293721, 0, 0, -2293720, 0, 0, -2293719, 0, 0, -2293692, 0, 0, -2293679, 0, 0, -2293675, 0, 0, -2293674, 0, 0, -2293673, 0, 0, -2293672, 0, 0, -2293671, 0, 0, -2293670, 0, 0, -2293656, 0, 0, -2293648, 0, 0, -2293613, 0, 0, -2293565, 0, 0, -2293550, 0, 0, -2293506, 0, 0, -2162711, 0, 0, -2228183, 0, 0, -2228156, 0, 0, -2228144, 0, 0, -2228133, 0, 0, -2228132, 0, 0, -2228120, 0, 0, -2228112, 0, 0, -2228077, 0, 0, -2228029, 0, 0, -2228014, 0, 0, -2227970, 0, 0, -2097175, 0, 0, -2097161, 0, 0, -2097160, 0, 0, -2162647, 0, 0, -2162620, 0, 0, -2162608, 0, 0, -2162595, 0, 0, -2162594, 0, 0, -2162584, 0, 0, -2162576, 0, 0, -2162541, 0, 0, -2162493, 0, 0, -2162477, 0, 0, -2162434, 0, 0, -2031639, 0, 0, -2031623, 0, 0, -2031622, 0, 0, -2031621, 0, 0, -2031620, 0, 0, -2097111, 0, 0, -2097084, 0, 0, -2097073, 0, 0, -2097048, 0, 0, -2097040, 0, 0, -2097004, 0, 0, -2096957, 0, 0, -2096940, 0, 0, -2096898, 0, 0, -1966103, 0, 0, -1966084, 0, 0, -2031575, 0, 0, -2031548, 0, 0, -2031538, 0, 0, -2031537, 0, 0, -2031511, 0, 0, -2031504, 0, 0, -2031468, 0, 0, -2031422, 0, 0, -2031404, 0, 0, -2031403, 0, 0, -2031362, 0, 0, -1900567, 0, 0, -1900548, 0, 0, -1966038, 0, 0, -1966012, 0, 0, -1966003, 0, 0, -1966002, 0, 0, -1966001, 0, 0, -1965975, 0, 0, -1965967, 0, 0, -1965932, 0, 0, -1965886, 0, 0, -1965867, 0, 0, -1965826, 0, 0, -1835031, 0, 0, -1835012, 0, 0, -1835011, 0, 0, -1835010, 0, 0, -1835009, 0, 0, -1900544, 0, 0, -1900543, 0, 0, -1900542, 0, 0, -1900511, 0, 0, -1900502, 0, 0, -1900476, 0, 0, -1900470, 0, 0, -1900469, 0, 0, -1900468, 0, 0, -1900439, 0, 0, -1900431, 0, 0, -1900395, 0, 0, -1900350, 0, 0, -1900331, 0, 0, -1900330, 0, 0, -1900290, 0, 0, -1769495, 0, 0, -1835006, 0, 0, -1834975, 0, 0, -1834966, 0, 0, -1834940, 0, 0, -1834936, 0, 0, -1834935, 0, 0, -1834903, 0, 0, -1834896, 0, 0, -1834895, 0, 0, -1834894, 0, 0, -1834893, 0, 0, -1834859, 0, 0, -1834814, 0, 0, -1834794, 0, 0, -1834754, 0, 0, -1703959, 0, 0, -1769470, 0, 0, -1769469, 0, 0, -1769439, 0, 0, -1769430, 0, 0, -1769404, 0, 0, -1769402, 0, 0, -1769401, 0, 0, -1769366, 0, 0, -1769359, 0, 0, -1769356, 0, 0, -1769355, 0, 0, -1769354, 0, 0, -1769353, 0, 0, -1769352, 0, 0, -1769351, 0, 0, -1769350, 0, 0, -1769349, 0, 0, -1769348, 0, 0, -1769347, 0, 0, -1769346, 0, 0, -1769345, 0, 0, -1769323, 0, 0, -1769278, 0, 0, -1769277, 0, 0, -1769258, 0, 0, -1769218, 0, 0, -1638423, 0, 0, -1703933, 0, 0, -1703932, 0, 0, -1703931, 0, 0, -1703930, 0, 0, -1703929, 0, 0, -1703928, 0, 0, -1703927, 0, 0, -1703903, 0, 0, -1703894, 0, 0, -1703868, 0, 0, -1703867, 0, 0, -1703865, 0, 0, -1703864, 0, 0, -1703830, 0, 0, -1703824, 0, 0, -1703823, 0, 0, -1703822, 0, 0, -1703821, 0, 0, -1703820, 0, 0, -1703819, 0, 0, -1703818, 0, 0, -1703808, 0, 0, -1703807, 0, 0, -1703806, 0, 0, -1703805, 0, 0, -1703804, 0, 0, -1703786, 0, 0, -1703741, 0, 0, -1703722, 0, 0, -1703682, 0, 0, -1572887, 0, 0, -1638391, 0, 0, -1638390, 0, 0, -1638367, 0, 0, -1638360, 0, 0, -1638358, 0, 0, -1638327, 0, 0, -1638294, 0, 0, -1638288, 0, 0, -1638287, 0, 0, -1638250, 0, 0, -1638205, 0, 0, -1638186, 0, 0, -1638185, 0, 0, -1638146, 0, 0, -1507351, 0, 0, -1572855, 0, 0, -1572854, 0, 0, -1572853, 0, 0, -1572831, 0, 0, -1572824, 0, 0, -1572823, 0, 0, -1572822, 0, 0, -1572821, 0, 0, -1572790, 0, 0, -1572758, 0, 0, -1572751, 0, 0, -1572714, 0, 0, -1572668, 0, 0, -1572649, 0, 0, -1572610, 0, 0, -1441815, 0, 0, -1507317, 0, 0, -1507295, 0, 0, -1507286, 0, 0, -1507284, 0, 0, -1507283, 0, 0, -1507282, 0, 0, -1507253, 0, 0, -1507252, 0, 0, -1507222, 0, 0, -1507214, 0, 0, -1507178, 0, 0, -1507132, 0, 0, -1507113, 0, 0, -1507074, 0, 0, -1376279, 0, 0, -1441781, 0, 0, -1441780, 0, 0, -1441759, 0, 0, -1441745, 0, 0, -1441744, 0, 0, -1441743, 0, 0, -1441715, 0, 0, -1441686, 0, 0, -1441678, 0, 0, -1441642, 0, 0, -1441596, 0, 0, -1441577, 0, 0, -1441538, 0, 0, -1310743, 0, 0, -1376244, 0, 0, -1376243, 0, 0, -1376242, 0, 0, -1376241, 0, 0, -1376240, 0, 0, -1376239, 0, 0, -1376223, 0, 0, -1376206, 0, 0, -1376205, 0, 0, -1376204, 0, 0, -1376203, 0, 0, -1376150, 0, 0, -1376142, 0, 0, -1376111, 0, 0, -1376110, 0, 0, -1376109, 0, 0, -1376108, 0, 0, -1376107, 0, 0, -1376106, 0, 0, -1376105, 0, 0, -1376104, 0, 0, -1376103, 0, 0, -1376102, 0, 0, -1376101, 0, 0, -1376100, 0, 0, -1376099, 0, 0, -1376098, 0, 0, -1376097, 0, 0, -1376096, 0, 0, -1376059, 0, 0, -1376041, 0, 0, -1376002, 0, 0, -1245207, 0, 0, -1310686, 0, 0, -1310666, 0, 0, -1310665, 0, 0, -1310664, 0, 0, -1310663, 0, 0, -1310662, 0, 0, -1310661, 0, 0, -1310660, 0, 0, -1310614, 0, 0, -1310606, 0, 0, -1310596, 0, 0, -1310595, 0, 0, -1310594, 0, 0, -1310593, 0, 0, -1310592, 0, 0, -1310591, 0, 0, -1310590, 0, 0, -1310589, 0, 0, -1310588, 0, 0, -1310587, 0, 0, -1310586, 0, 0, -1310585, 0, 0, -1310584, 0, 0, -1310583, 0, 0, -1310582, 0, 0, -1310581, 0, 0, -1310580, 0, 0, -1310579, 0, 0, -1310578, 0, 0, -1310577, 0, 0, -1310576, 0, 0, -1310575, 0, 0, -1310523, 0, 0, -1310466, 0, 0, -1179671, 0, 0, -1245150, 0, 0, -1245127, 0, 0, -1245078, 0, 0, -1245070, 0, 0, -1245062, 0, 0, -1245061, 0, 0, -1245060, 0, 0, -1244987, 0, 0, -1244930, 0, 0, -1114135, 0, 0, -1179614, 0, 0, -1179591, 0, 0, -1179542, 0, 0, -1179534, 0, 0, -1179527, 0, 0, -1179526, 0, 0, -1179451, 0, 0, -1179394, 0, 0, -1048599, 0, 0, -1114092, 0, 0, -1114091, 0, 0, -1114090, 0, 0, -1114089, 0, 0, -1114088, 0, 0, -1114078, 0, 0, -1114055, 0, 0, -1114007, 0, 0, -1113998, 0, 0, -1113915, 0, 0, -1113858, 0, 0, -983063, 0, 0, -1048542, 0, 0, -1048519, 0, 0, -1048471, 0, 0, -1048462, 0, 0, -1048378, 0, 0, -1048322, 0, 0, -917527, 0, 0, -983007, 0, 0, -983006, 0, 0, -983005, 0, 0, -982983, 0, 0, -982935, 0, 0, -982926, 0, 0, -982925, 0, 0, -982924, 0, 0, -982842, 0, 0, -982786, 0, 0, -851991, 0, 0, -917474, 0, 0, -917473, 0, 0, -917472, 0, 0, -917471, 0, 0, -917470, 0, 0, -917447, 0, 0, -917399, 0, 0, -917389, 0, 0, -917388, 0, 0, -917306, 0, 0, -917250, 0, 0, -786455, 0, 0, -851938, 0, 0, -851911, 0, 0, -851863, 0, 0, -851853, 0, 0, -851852, 0, 0, -851770, 0, 0, -851714, 0, 0, -720918, 0, 0, -786406, 0, 0, -786405, 0, 0, -786404, 0, 0, -786403, 0, 0, -786402, 0, 0, -786375, 0, 0, -786327, 0, 0, -786317, 0, 0, -786316, 0, 0, -786233, 0, 0, -786178, 0, 0, -655382, 0, 0, -720870, 0, 0, -720839, 0, 0, -720791, 0, 0, -720786, 0, 0, -720785, 0, 0, -720784, 0, 0, -720783, 0, 0, -720782, 0, 0, -720780, 0, 0, -720697, 0, 0, -720642, 0, 0, -589846, 0, 0, -655334, 0, 0, -655302, 0, 0, -655255, 0, 0, -655254, 0, 0, -655253, 0, 0, -655252, 0, 0, -655251, 0, 0, -655246, 0, 0, -655243, 0, 0, -655161, 0, 0, -655106, 0, 0, -524310, 0, 0, -589802, 0, 0, -589801, 0, 0, -589800, 0, 0, -589799, 0, 0, -589798, 0, 0, -589766, 0, 0, -589765, 0, 0, -589710, 0, 0, -589709, 0, 0, -589708, 0, 0, -589707, 0, 0, -589706, 0, 0, -589705, 0, 0, -589704, 0, 0, -589703, 0, 0, -589702, 0, 0, -589624, 0, 0, -589584, 0, 0, -589583, 0, 0, -589582, 0, 0, -589581, 0, 0, -589570, 0, 0, -458774, 0, 0, -524266, 0, 0, -524230, 0, 0, -524228, 0, 0, -524227, 0, 0, -524173, 0, 0, -524166, 0, 0, -524088, 0, 0, -524058, 0, 0, -524057, 0, 0, -524056, 0, 0, -524055, 0, 0, -524054, 0, 0, -524053, 0, 0, -524052, 0, 0, -524051, 0, 0, -524050, 0, 0, -524049, 0, 0, -524048, 0, 0, -524044, 0, 0, -524034, 0, 0, -393238, 0, 0, -458730, 0, 0, -458694, 0, 0, -458690, 0, 0, -458689, 0, 0, -458637, 0, 0, -458636, 0, 0, -458630, 0, 0, -458629, 0, 0, -458552, 0, 0, -458551, 0, 0, -458550, 0, 0, -458549, 0, 0, -458548, 0, 0, -458547, 0, 0, -458546, 0, 0, -458545, 0, 0, -458544, 0, 0, -458543, 0, 0, -458542, 0, 0, -458541, 0, 0, -458540, 0, 0, -458539, 0, 0, -458538, 0, 0, -458537, 0, 0, -458536, 0, 0, -458535, 0, 0, -458534, 0, 0, -458533, 0, 0, -458532, 0, 0, -458531, 0, 0, -458530, 0, 0, -458529, 0, 0, -458528, 0, 0, -458527, 0, 0, -458526, 0, 0, -458525, 0, 0, -458524, 0, 0, -458523, 0, 0, -458522, 0, 0, -458521, 0, 0, -458518, 0, 0, -458517, 0, 0, -458498, 0, 0, -327704, 0, 0, -327703, 0, 0, -327702, 0, 0, -327682, 0, 0, -327681, 0, 0, -393194, 0, 0, -393158, 0, 0, -393152, 0, 0, -393151, 0, 0, -393150, 0, 0, -393100, 0, 0, -393093, 0, 0, -393019, 0, 0, -393018, 0, 0, -393017, 0, 0, -393016, 0, 0, -393003, 0, 0, -393002, 0, 0, -393001, 0, 0, -393000, 0, 0, -392999, 0, 0, -392998, 0, 0, -392997, 0, 0, -392996, 0, 0, -392995, 0, 0, -392994, 0, 0, -392993, 0, 0, -392992, 0, 0, -392982, 0, 0, -392962, 0, 0, -262166, 0, 0, -262165, 0, 0, -262160, 0, 0, -262159, 0, 0, -262158, 0, 0, -262157, 0, 0, -262156, 0, 0, -262155, 0, 0, -327657, 0, 0, -327622, 0, 0, -327613, 0, 0, -327612, 0, 0, -327564, 0, 0, -327557, 0, 0, -327480, 0, 0, -327455, 0, 0, -327454, 0, 0, -327453, 0, 0, -327452, 0, 0, -327446, 0, 0, -327426, 0, 0, -196629, 0, 0, -196628, 0, 0, -262132, 0, 0, -262131, 0, 0, -262130, 0, 0, -262129, 0, 0, -262121, 0, 0, -262086, 0, 0, -262075, 0, 0, -262074, 0, 0, -262073, 0, 0, -262055, 0, 0, -262054, 0, 0, -262053, 0, 0, -262052, 0, 0, -262051, 0, 0, -262050, 0, 0, -262049, 0, 0, -262048, 0, 0, -262047, 0, 0, -262046, 0, 0, -262045, 0, 0, -262044, 0, 0, -262043, 0, 0, -262028, 0, 0, -262027, 0, 0, -262026, 0, 0, -262025, 0, 0, -262024, 0, 0, -262023, 0, 0, -262022, 0, 0, -262021, 0, 0, -262020, 0, 0, -262019, 0, 0, -262018, 0, 0, -262017, 0, 0, -262016, 0, 0, -262015, 0, 0, -262014, 0, 0, -262013, 0, 0, -262012, 0, 0, -261944, 0, 0, -261916, 0, 0, -261915, 0, 0, -261910, 0, 0, -261890, 0, 0, -131094, 0, 0, -131092, 0, 0, -131091, 0, 0, -196594, 0, 0, -196585, 0, 0, -196550, 0, 0, -196536, 0, 0, -196535, 0, 0, -196519, 0, 0, -196508, 0, 0, -196408, 0, 0, -196378, 0, 0, -196374, 0, 0, -196354, 0, 0, -65560, 0, 0, -65559, 0, 0, -65558, 0, 0, -65556, 0, 0, -65554, 0, 0, -131069, 0, 0, -131068, 0, 0, -131067, 0, 0, -131058, 0, 0, -131049, 0, 0, -131014, 0, 0, -130998, 0, 0, -130997, 0, 0, -130982, 0, 0, -130972, 0, 0, -130872, 0, 0, -130842, 0, 0, -130841, 0, 0, -130840, 0, 0, -130838, 0, 0, -130837, 0, 0, -130818, 0, 0, -24, 0, 0, -19, 0, 0, -18, 0, 0, -65535, 0, 0, -65534, 0, 0, -65533, 0, 0, -65532, 0, 0, -65531, 0, 0, -65522, 0, 0, -65513, 0, 0, -65478, 0, 0, -65460, 0, 0, -65459, 0, 0, -65446, 0, 0, -65435, 0, 0, -65336, 0, 0, -65304, 0, 0, -65303, 0, 0, -65302, 0, 0, -65282, 0, 0, 65507, 0, 0, 65508, 0, 0, 65509, 0, 0, 65510, 0, 0, 65511, 0, 0, 65512, 0, 0, 65513, 0, 0, 65514, 0, 0, 65515, 0, 0, 65516, 0, 0, 65517, 0, 0, 65518, 0, 0, 65519, 0, 0, 65520, 0, 0, 65521, 0, 0, 65522, 0, 0, 65523, 0, 0, 65524, 0, 0, 65525, 0, 0, 65526, 0, 0, 65527, 0, 0, 65528, 0, 0, 65529, 0, 0, 65530, 0, 0, 65531, 0, 0, 65532, 0, 0, 65533, 0, 0, 65534, 0, 0, 65535, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 3, 0, 0, 4, 0, 0, 5, 0, 0, 6, 0, 0, 7, 0, 0, 8, 0, 0, 9, 0, 0, 10, 0, 0, 11, 0, 0, 12, 0, 0, 13, 0, 0, 14, 0, 0, 15, 0, 0, 16, 0, 0, 17, 0, 0, 18, 0, 0, 19, 0, 0, 20, 0, 0, 21, 0, 0, 22, 0, 0, 23, 0, 0, 24, 0, 0, 25, 0, 0, 26, 0, 0, 27, 0, 0, 28, 0, 0, 29, 0, 0, 30, 0, 0, 31, 0, 0, 32, 0, 0, 33, 0, 0, 34, 0, 0, 35, 0, 0, 36, 0, 0, 37, 0, 0, 38, 0, 0, 39, 0, 0, 40, 0, 0, 41, 0, 0, 42, 0, 0, 43, 0, 0, 44, 0, 0, 45, 0, 0, 46, 0, 0, 47, 0, 0, 48, 0, 0, 49, 0, 0, 50, 0, 0, 51, 0, 0, 52, 0, 0, 53, 0, 0, 54, 0, 0, 55, 0, 0, 56, 0, 0, 57, 0, 0, 58, 0, 0, 59, 0, 0, 60, 0, 0, 61, 0, 0, 62, 0, 0, 63, 0, 0, 64, 0, 0, 65, 0, 0, 66, 0, 0, 67, 0, 0, 68, 0, 0, 69, 0, 0, 70, 0, 0, 71, 0, 0, 72, 0, 0, 73, 0, 0, 74, 0, 0, 75, 0, 0, 76, 0, 0, 77, 0, 0, 78, 0, 0, 79, 0, 0, 80, 0, 0, 81, 0, 0, 82, 0, 0, 83, 0, 0, 84, 0, 0, 85, 0, 0, 86, 0, 0, 87, 0, 0, 88, 0, 0, 89, 0, 0, 90, 0, 0, 91, 0, 0, 92, 0, 0, 93, 0, 0, 94, 0, 0, 95, 0, 0, 96, 0, 0, 97, 0, 0, 98, 0, 0, 99, 0, 0, 100, 0, 0, 101, 0, 0, 102, 0, 0, 103, 0, 0, 104, 0, 0, 105, 0, 0, 106, 0, 0, 107, 0, 0, 108, 0, 0, 109, 0, 0, 110, 0, 0, 111, 0, 0, 112, 0, 0, 113, 0, 0, 114, 0, 0, 115, 0, 0, 116, 0, 0, 117, 0, 0, 118, 0, 0, 119, 0, 0, 120, 0, 0, 121, 0, 0, 122, 0, 0, 123, 0, 0, 124, 0, 0, 125, 0, 0, 126, 0, 0, 127, 0, 0, 128, 0, 0, 129, 0, 0, 130, 0, 0, 131, 0, 0, 132, 0, 0, 133, 0, 0, 134, 0, 0, 135, 0, 0, 136, 0, 0, 137, 0, 0, 138, 0, 0, 139, 0, 0, 140, 0, 0, 141, 0, 0, 142, 0, 0, 143, 0, 0, 144, 0, 0, 145, 0, 0, 146, 0, 0, 147, 0, 0, 148, 0, 0, 149, 0, 0, 150, 0, 0, 151, 0, 0, 152, 0, 0, 153, 0, 0, 154, 0, 0, 155, 0, 0, 156, 0, 0, 157, 0, 0, 158, 0, 0, 159, 0, 0, 160, 0, 0, 161, 0, 0, 162, 0, 0, 163, 0, 0, 164, 0, 0, 165, 0, 0, 166, 0, 0, 167, 0, 0, 168, 0, 0, 169, 0, 0, 170, 0, 0, 171, 0, 0, 172, 0, 0, 173, 0, 0, 174, 0, 0, 175, 0, 0, 176, 0, 0, 177, 0, 0, 178, 0, 0, 179, 0, 0, 180, 0, 0, 181, 0, 0, 182, 0, 0, 183, 0, 0, 184, 0, 0, 185, 0, 0, 186, 0, 0, 187, 0, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 191, 0, 0, 192, 0, 0, 193, 0, 0, 194, 0, 0, 195, 0, 0, 196, 0, 0, 197, 0, 0, 198, 0, 0, 199, 0, 0, 200, 0, 0, 201, 0, 0, 202, 0, 0, 203, 0, 0, 204, 0, 0, 205, 0, 0, 206, 0, 0, 207, 0, 0, 208, 0, 0, 209, 0, 0, 210, 0, 0, 211, 0, 0, 212, 0, 0, 213, 0, 0, 214, 0, 0, 215, 0, 0, 216, 0, 0, 217, 0, 0, 218, 0, 0, 219, 0, 0, 220, 0, 0, 221, 0, 0, 222, 0, 0, 223, 0, 0, 224, 0, 0, 225, 0, 0, 226, 0, 0, 227, 0, 0, 228, 0, 0, 229, 0, 0, 230, 0, 0, 231, 0, 0, 232, 0, 0, 233, 0, 0, 234, 0, 0, 235, 0, 0, 236, 0, 0, 237, 0, 0, 238, 0, 0, 239, 0, 0, 240, 0, 0, 241, 0, 0, 242, 0, 0, 243, 0, 0, 244, 0, 0, 245, 0, 0, 246, 0, 0, 247, 0, 0, 248, 0, 0, 249, 0, 0, 250, 0, 0, 251, 0, 0, 252, 0, 0, 253, 0, 0, 254, 0, 0, 131052, 0, 0, 131053, 0, 0 ) 38 | 39 | [node name="Turret2" parent="." instance=ExtResource( 3 )] 40 | position = Vector2( 272.451, -212.843 ) 41 | 42 | [node name="Turret8" parent="." instance=ExtResource( 3 )] 43 | position = Vector2( 202.351, -538.788 ) 44 | 45 | [node name="Turret9" parent="." instance=ExtResource( 3 )] 46 | position = Vector2( 331.991, -701.669 ) 47 | 48 | [node name="Turret10" parent="." instance=ExtResource( 3 )] 49 | position = Vector2( 436.146, -706.101 ) 50 | 51 | [node name="Turret11" parent="." instance=ExtResource( 3 )] 52 | position = Vector2( 591.271, -697.237 ) 53 | 54 | [node name="Turret12" parent="." instance=ExtResource( 3 )] 55 | position = Vector2( 748.611, -704.993 ) 56 | 57 | [node name="Turret3" parent="." instance=ExtResource( 3 )] 58 | position = Vector2( 907.121, -634.784 ) 59 | 60 | [node name="Turret4" parent="." instance=ExtResource( 3 )] 61 | position = Vector2( 1473.22, -117.906 ) 62 | 63 | [node name="Turret5" parent="." instance=ExtResource( 3 )] 64 | position = Vector2( 1907.47, -548.637 ) 65 | 66 | [node name="Turret6" parent="." instance=ExtResource( 3 )] 67 | position = Vector2( 2679.73, -926.104 ) 68 | 69 | [node name="Turret7" parent="." instance=ExtResource( 3 )] 70 | position = Vector2( 3146.01, -562.557 ) 71 | 72 | [node name="Turret14" parent="." instance=ExtResource( 3 )] 73 | position = Vector2( 3147.6, -489.57 ) 74 | 75 | [node name="Turret15" parent="." instance=ExtResource( 3 )] 76 | position = Vector2( 3152.36, -421.343 ) 77 | 78 | [node name="Turret16" parent="." instance=ExtResource( 3 )] 79 | position = Vector2( 3161.88, -351.529 ) 80 | 81 | [node name="Turret17" parent="." instance=ExtResource( 3 )] 82 | position = Vector2( 3182.51, -283.302 ) 83 | 84 | [node name="Turret18" parent="." instance=ExtResource( 3 )] 85 | position = Vector2( 3209.78, -183.953 ) 86 | 87 | [node name="Turret13" parent="." instance=ExtResource( 3 )] 88 | position = Vector2( 2030.83, -271.709 ) 89 | 90 | [node name="WinMessage" type="Label" parent="."] 91 | margin_left = 3969.24 92 | margin_top = -80.5156 93 | margin_right = 4025.24 94 | margin_bottom = -66.5156 95 | text = "You Win!" 96 | 97 | [node name="Instructions" type="Label" parent="."] 98 | margin_left = -174.8 99 | margin_top = -139.65 100 | margin_right = -84.8 101 | margin_bottom = -91.65 102 | text = "AD to move 103 | Space to Jump 104 | " 105 | --------------------------------------------------------------------------------