From dcdc3eb9f19dd42eb6955ea158189a6752db1091 Mon Sep 17 00:00:00 2001 From: Relintai Date: Sun, 21 Feb 2021 17:39:36 +0100 Subject: [PATCH] Updated the UI. --- game/player/Body.gd | 6 +- game/project.godot | 2 + game/ui/actionbars/ActionBarEntry.gd | 69 ++- game/ui/actionbars/Actionbars.gd | 4 - game/ui/actionbars/Actionbars.tscn | 18 + game/ui/actionbars/game_module.tres | 10 + game/ui/auraframe/AuraFrame.gd | 2 +- game/ui/auraframe/AuraFrame.tscn | 35 +- game/ui/auraframe/game_module.tres | 10 + game/ui/autoload/SettingsManager.gd | 84 ++++ game/ui/bags/Bag.tscn | 171 +++---- game/ui/bags/BagEntry.gd | 6 +- .../ui/{windows/base => bags}/BaseWindow.tscn | 0 game/ui/bags/EquipmentSlot.gd | 4 +- game/ui/bags/InventoryGUI.gd | 28 +- .../ui/{windows => bags}/InventoryWindow.tscn | 6 +- .../inventory => bags}/ItemEntry.tscn | 0 game/ui/bags/game_module.tres | 13 + game/ui/buttons/Buttons.gd | 22 + game/ui/buttons/ImageButton.tscn | 26 ++ game/ui/castbar/game_module.tres | 10 + game/ui/character/CharacterWindow.gd | 33 ++ game/ui/character/CharacterWindow.tscn | 385 ++++++++++++++++ game/ui/character/SingleStatRow.gd | 38 ++ game/ui/character/SingleStatRow.tscn | 27 ++ game/ui/character/game_module.tres | 13 + .../CraftItemDescription.gd | 0 .../{windows => crafting}/CraftingWindow.gd | 23 +- game/ui/crafting/CraftingWindow.tscn | 319 +++++++++++++ game/ui/crafting/game_module.tres | 13 + game/ui/debug/debuginfo_font.tres | 1 - game/ui/icons/icon_add.png | Bin 0 -> 564 bytes game/ui/icons/icon_add.png.import | 34 ++ game/ui/icons/icon_edit.png | Bin 0 -> 627 bytes game/ui/icons/icon_edit.png.import | 34 ++ game/ui/icons/icon_joy_axis.png | Bin 0 -> 689 bytes game/ui/icons/icon_joy_axis.png.import | 34 ++ game/ui/icons/icon_joy_button.png | Bin 0 -> 703 bytes game/ui/icons/icon_joy_button.png.import | 34 ++ game/ui/icons/icon_keyboard.png | Bin 0 -> 739 bytes game/ui/icons/icon_keyboard.png.import | 34 ++ game/ui/icons/icon_mouse.png | Bin 0 -> 689 bytes game/ui/icons/icon_mouse.png.import | 34 ++ game/ui/icons/icon_remove.png | Bin 0 -> 615 bytes game/ui/icons/icon_remove.png.import | 34 ++ game/ui/ingame_menu/IngameMenu.tscn | 33 +- game/ui/interface/InterfaceOptions.gd | 6 + game/ui/interface/InterfaceOptions.tscn | 52 +++ game/ui/interface/SetActionbarAsDefault.gd | 16 + game/ui/keybinds/Keybinds.gd | 27 ++ game/ui/keybinds/Keybinds.tscn | 33 +- game/ui/loot_window/LootEntry.gd | 2 +- game/ui/loot_window/LootWindow.gd | 20 +- game/ui/loot_window/LootWindow.tscn | 40 +- game/ui/loot_window/game_module.tres | 11 + game/ui/options/Options.tscn | 29 +- game/ui/options/OptionsSpinboxRow.gd | 9 +- game/ui/options/OptionsSpinboxRow.tscn | 11 +- game/ui/player_ui/player_ui.gd | 31 +- game/ui/player_ui/player_ui.tscn | 428 ++---------------- .../{windows => spellbook}/SpellBookWindow.gd | 26 +- game/ui/spellbook/SpellBookWindow.tscn | 178 ++++++++ .../{windows => spellbook}/SpellContainer.gd | 61 ++- .../SpellContainer.tscn | 34 +- .../SpellDragAndDropSpellBook.gd | 0 game/ui/spellbook/game_module.tres | 13 + game/ui/talents/TalentEntry.gd | 19 +- game/ui/talents/TalentRow.gd | 8 +- game/ui/talents/TalentRow.tscn | 29 +- game/ui/{windows => talents}/TalentWindow.gd | 23 +- game/ui/talents/TalentWindow.tscn | 117 +++++ game/ui/talents/game_module.tres | 13 + game/ui/theme/GameUI.png | Bin 16423 -> 3405 bytes game/ui/theme/actionbar_dynamicfont.tres | 1 - game/ui/theme/bag_icon.tres | 2 +- game/ui/theme/button_bg_stylebox.tres | 4 +- game/ui/theme/character_icon.tres | 7 + game/ui/theme/crafting_icon.tres | 7 + game/ui/theme/locked_icon.tres | 2 +- game/ui/theme/menu_icon.tres | 7 + game/ui/theme/spellbook_icon.tres | 2 +- game/ui/theme/talent_icon.tres | 7 + game/ui/theme/ui_theme.tres | 16 +- game/ui/theme/unlocked_icon.tres | 2 +- .../TouchMovementControls.tscn | 92 ++++ .../touch_movement_controls/game_module.tres | 10 + .../TouchTargetControls.tscn | 55 +++ .../ui/touch_target_controls/game_module.tres | 10 + game/ui/trainer/TrainerWindow.gd | 227 ++++++++++ game/ui/trainer/TrainerWindow.tscn | 157 +++++++ game/ui/trainer/game_module.tres | 11 + game/ui/unitframes/Unitframes.tscn | 24 + game/ui/unitframes/game_module.tres | 10 + game/ui/vendor_window/ItemContainer.gd | 89 ++++ game/ui/vendor_window/ItemContainer.tscn | 165 +++++++ .../ItemDragAndDropVendor.gd} | 32 +- game/ui/vendor_window/VendorEntryPopup.gd | 54 +++ game/ui/vendor_window/VendorWindow.gd | 161 +++++++ game/ui/vendor_window/VendorWindow.tscn | 175 +++++++ game/ui/vendor_window/game_module.tres | 11 + game/ui/windows/CharacterWindow.gd | 27 -- game/ui/windows/CharacterWindow.tscn | 75 --- game/ui/windows/CraftingWindow.tscn | 311 ------------- game/ui/windows/SpellBookWindow.tscn | 179 -------- game/ui/windows/TalentWindow.tscn | 112 ----- game/ui/windows/TrainerWindow.gd | 23 - game/ui/windows/TrainerWindow.tscn | 184 -------- .../windows/base/PagedContentContainer.tscn | 56 --- game/ui/windows/base/ScrollContainer.tscn | 22 - 109 files changed, 3545 insertions(+), 1669 deletions(-) create mode 100644 game/ui/actionbars/Actionbars.tscn create mode 100644 game/ui/actionbars/game_module.tres create mode 100644 game/ui/auraframe/game_module.tres rename game/ui/{windows/base => bags}/BaseWindow.tscn (100%) rename game/ui/{windows => bags}/InventoryWindow.tscn (96%) rename game/ui/{windows/inventory => bags}/ItemEntry.tscn (100%) create mode 100644 game/ui/bags/game_module.tres create mode 100644 game/ui/buttons/ImageButton.tscn create mode 100644 game/ui/castbar/game_module.tres create mode 100644 game/ui/character/CharacterWindow.gd create mode 100644 game/ui/character/CharacterWindow.tscn create mode 100644 game/ui/character/SingleStatRow.gd create mode 100644 game/ui/character/SingleStatRow.tscn create mode 100644 game/ui/character/game_module.tres rename game/ui/{windows => crafting}/CraftItemDescription.gd (100%) rename game/ui/{windows => crafting}/CraftingWindow.gd (91%) create mode 100644 game/ui/crafting/CraftingWindow.tscn create mode 100644 game/ui/crafting/game_module.tres create mode 100644 game/ui/icons/icon_add.png create mode 100644 game/ui/icons/icon_add.png.import create mode 100644 game/ui/icons/icon_edit.png create mode 100644 game/ui/icons/icon_edit.png.import create mode 100644 game/ui/icons/icon_joy_axis.png create mode 100644 game/ui/icons/icon_joy_axis.png.import create mode 100644 game/ui/icons/icon_joy_button.png create mode 100644 game/ui/icons/icon_joy_button.png.import create mode 100644 game/ui/icons/icon_keyboard.png create mode 100644 game/ui/icons/icon_keyboard.png.import create mode 100644 game/ui/icons/icon_mouse.png create mode 100644 game/ui/icons/icon_mouse.png.import create mode 100644 game/ui/icons/icon_remove.png create mode 100644 game/ui/icons/icon_remove.png.import create mode 100644 game/ui/interface/InterfaceOptions.gd create mode 100644 game/ui/interface/InterfaceOptions.tscn create mode 100644 game/ui/interface/SetActionbarAsDefault.gd create mode 100644 game/ui/loot_window/game_module.tres rename game/ui/{windows => spellbook}/SpellBookWindow.gd (89%) create mode 100644 game/ui/spellbook/SpellBookWindow.tscn rename game/ui/{windows => spellbook}/SpellContainer.gd (78%) rename game/ui/{windows => spellbook}/SpellContainer.tscn (90%) rename game/ui/{windows => spellbook}/SpellDragAndDropSpellBook.gd (100%) create mode 100644 game/ui/spellbook/game_module.tres rename game/ui/{windows => talents}/TalentWindow.gd (87%) create mode 100644 game/ui/talents/TalentWindow.tscn create mode 100644 game/ui/talents/game_module.tres create mode 100644 game/ui/theme/character_icon.tres create mode 100644 game/ui/theme/crafting_icon.tres create mode 100644 game/ui/theme/menu_icon.tres create mode 100644 game/ui/theme/talent_icon.tres create mode 100644 game/ui/touch_movement_controls/TouchMovementControls.tscn create mode 100644 game/ui/touch_movement_controls/game_module.tres create mode 100644 game/ui/touch_target_controls/TouchTargetControls.tscn create mode 100644 game/ui/touch_target_controls/game_module.tres create mode 100644 game/ui/trainer/TrainerWindow.gd create mode 100644 game/ui/trainer/TrainerWindow.tscn create mode 100644 game/ui/trainer/game_module.tres create mode 100644 game/ui/unitframes/Unitframes.tscn create mode 100644 game/ui/unitframes/game_module.tres create mode 100644 game/ui/vendor_window/ItemContainer.gd create mode 100644 game/ui/vendor_window/ItemContainer.tscn rename game/ui/{windows/VBoxContainer.gd => vendor_window/ItemDragAndDropVendor.gd} (70%) create mode 100644 game/ui/vendor_window/VendorEntryPopup.gd create mode 100644 game/ui/vendor_window/VendorWindow.gd create mode 100644 game/ui/vendor_window/VendorWindow.tscn create mode 100644 game/ui/vendor_window/game_module.tres delete mode 100644 game/ui/windows/CharacterWindow.gd delete mode 100644 game/ui/windows/CharacterWindow.tscn delete mode 100644 game/ui/windows/CraftingWindow.tscn delete mode 100644 game/ui/windows/SpellBookWindow.tscn delete mode 100644 game/ui/windows/TalentWindow.tscn delete mode 100644 game/ui/windows/TrainerWindow.gd delete mode 100644 game/ui/windows/TrainerWindow.tscn delete mode 100644 game/ui/windows/base/PagedContentContainer.tscn delete mode 100644 game/ui/windows/base/ScrollContainer.tscn diff --git a/game/player/Body.gd b/game/player/Body.gd index a908a12..4691024 100644 --- a/game/player/Body.gd +++ b/game/player/Body.gd @@ -476,8 +476,10 @@ func on_c_controlled_changed(val): add_child(camera) camera.current = true - var uiscn : PackedScene = ResourceLoader.load("res://ui/player_ui/player_ui.tscn") - var ui = uiscn.instance() + #var uiscn : PackedScene = ResourceLoader.load("res://ui/player_ui/player_ui.tscn") + #var ui = uiscn.instance() + #add_child(ui) + var ui = DataManager.request_instance(DataManager.PLAYER_UI_INSTANCE) add_child(ui) set_process_input(true) diff --git a/game/project.godot b/game/project.godot index f97898c..6b66043 100644 --- a/game/project.godot +++ b/game/project.godot @@ -390,6 +390,8 @@ window/stretch/mode="2d" window/stretch/aspect="expand" mouse_cursor/sensitivity=0.9 window/size/viewport_scale=100 +window/size/ui_scale=1.0 +window/size/ui_scale_touch=1.2 [ess] diff --git a/game/ui/actionbars/ActionBarEntry.gd b/game/ui/actionbars/ActionBarEntry.gd index acb8ef4..e3b10c2 100644 --- a/game/ui/actionbars/ActionBarEntry.gd +++ b/game/ui/actionbars/ActionBarEntry.gd @@ -53,6 +53,8 @@ func _ready() -> void: keybind_text = get_node(keybind_text_path) as Label button.connect("pressed", self, "_on_button_pressed") + + ProfileManager.connect("keybinds_changed", self, "on_keybinds_changed") func _exit_tree(): if icon_rect.texture != null: @@ -116,8 +118,29 @@ func set_button_entry(action_bar_button_entry: ActionBarButtonEntry, p_player: E if not InputMap.has_action(action_name): InputMap.add_action(action_name) + on_keybinds_changed() + + iea.action = action_name + iea.pressed = true + var sc : ShortCut = ShortCut.new() + sc.shortcut = iea + shortcut = sc + + setup_icon() + refresh_known() + +func on_keybinds_changed(): + var action_name : String = "actionbar_" + str(button_entry.action_bar_id) + "_" + str(button_entry.slot_id) + + keybind_text.text = "" + + if not InputMap.has_action(action_name): + return + var action_list : Array = InputMap.get_action_list(action_name) + keybind_text.text = "" + for action in action_list: if action is InputEventKey: var s : String = "" @@ -141,14 +164,6 @@ func set_button_entry(action_bar_button_entry: ActionBarButtonEntry, p_player: E keybind_text.text = s - iea.action = action_name - iea.pressed = true - var sc : ShortCut = ShortCut.new() - sc.shortcut = iea - shortcut = sc - - setup_icon() - func setup_icon() -> void: if (button_entry.type == ActionBarButtonEntry.ACTION_BAR_BUTTON_ENTRY_TYPE_NONE): if icon_rect.texture != null: @@ -276,6 +291,27 @@ func drop_data(pos, esd) -> void: setup_icon() + refresh_known() + +func refresh_known(): + if !player: + set_known(true) + return + + if (button_entry.type == ActionBarButtonEntry.ACTION_BAR_BUTTON_ENTRY_TYPE_NONE): + set_known(true) + elif (button_entry.type == ActionBarButtonEntry.ACTION_BAR_BUTTON_ENTRY_TYPE_SPELL): + var spell = ESS.resource_db.get_spell_path(button_entry.item_path) + + set_known(player.spell_hasc(spell)) + elif (button_entry.type == ActionBarButtonEntry.ACTION_BAR_BUTTON_ENTRY_TYPE_ITEM): + set_known(true) + +func set_known(val : bool): + if val: + icon_rect.modulate = Color(1, 1, 1, 1) + else: + icon_rect.modulate = Color(0.5, 0.5, 0.5, 1) func set_player(p_player: Entity) -> void: if not player == null: @@ -287,6 +323,9 @@ func set_player(p_player: Entity) -> void: player.disconnect("cgcd_started", self, "_cgcd_started") player.disconnect("cgcd_finished", self, "_cgcd_finished") + player.disconnect("cspell_added", self, "_cspell_added") + player.disconnect("cspell_removed", self, "_cspell_removed") + player = null player = p_player @@ -304,7 +343,17 @@ func set_player(p_player: Entity) -> void: player.connect("cgcd_started", self, "_cgcd_started") player.connect("cgcd_finished", self, "_cgcd_finished") + + player.connect("cspell_added", self, "_cspell_added") + player.connect("cspell_removed", self, "_cspell_removed") + +func _cspell_added(entity: Entity, spell: Spell): + if button_entry.type == ActionBarButtonEntry.ACTION_BAR_BUTTON_ENTRY_TYPE_SPELL && button_entry.item_path == spell.resource_path: + set_known(true) +func _cspell_removed(entity: Entity, spell: Spell): + if button_entry.type == ActionBarButtonEntry.ACTION_BAR_BUTTON_ENTRY_TYPE_SPELL && button_entry.item_path == spell.resource_path: + set_known(false) func _ccooldown_added(id : int, value : float) -> void: if id == spell_id: @@ -327,7 +376,7 @@ func _ccategory_cooldown_removed(id : int, value : float) -> void: categ_cd = 0 -func _cgcd_started(value :float) -> void: +func _cgcd_started(e : Entity, value :float) -> void: if not has_gcd: return @@ -335,5 +384,5 @@ func _cgcd_started(value :float) -> void: show_cooldown_timer(value) set_process(true) -func _cgcd_finished() -> void: +func _cgcd_finished(val) -> void: gcd = 0 diff --git a/game/ui/actionbars/Actionbars.gd b/game/ui/actionbars/Actionbars.gd index f7fc4c0..2e0c96d 100644 --- a/game/ui/actionbars/Actionbars.gd +++ b/game/ui/actionbars/Actionbars.gd @@ -50,8 +50,6 @@ func _centity_data_changed(cls: EntityData) -> void: _abp = _player.get_action_bar_profile() - _abp.connect("changed", self, "on_changed") - for i in range(_abp.get_action_bar_count()): var abe = _abp.get_action_bar(i) var s = actionbar_scene.instance() @@ -62,8 +60,6 @@ func _centity_data_changed(cls: EntityData) -> void: s.owner = self -func on_changed(): - ProfileManager.save() func clear_actionbars() -> void: var children = get_children() diff --git a/game/ui/actionbars/Actionbars.tscn b/game/ui/actionbars/Actionbars.tscn new file mode 100644 index 0000000..af3f2b7 --- /dev/null +++ b/game/ui/actionbars/Actionbars.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://ui/actionbars/Actionbars.gd" type="Script" id=1] +[ext_resource path="res://ui/actionbars/ActionBar.tscn" type="PackedScene" id=2] + +[node name="Actionbars" type="HBoxContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/separation = 0 +alignment = 2 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} +actionbar_scene = ExtResource( 2 ) diff --git a/game/ui/actionbars/game_module.tres b/game/ui/actionbars/game_module.tres new file mode 100644 index 0000000..a301a86 --- /dev/null +++ b/game/ui/actionbars/game_module.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://scripts/game_modules/ui_gui_child_module.gd" type="Script" id=1] +[ext_resource path="res://ui/actionbars/Actionbars.tscn" type="PackedScene" id=2] + +[resource] +script = ExtResource( 1 ) +enabled = true +scene = ExtResource( 2 ) +hide = false diff --git a/game/ui/auraframe/AuraFrame.gd b/game/ui/auraframe/AuraFrame.gd index 55101f8..a0391f7 100644 --- a/game/ui/auraframe/AuraFrame.gd +++ b/game/ui/auraframe/AuraFrame.gd @@ -1,4 +1,4 @@ -extends MarginContainer +extends Control # Copyright (c) 2019-2020 Péter Magyar # diff --git a/game/ui/auraframe/AuraFrame.tscn b/game/ui/auraframe/AuraFrame.tscn index e7682d5..3290e0a 100644 --- a/game/ui/auraframe/AuraFrame.tscn +++ b/game/ui/auraframe/AuraFrame.tscn @@ -3,38 +3,41 @@ [ext_resource path="res://ui/auraframe/AuraFrame.gd" type="Script" id=1] [ext_resource path="res://ui/auraframe/AuraEntry.tscn" type="PackedScene" id=2] -[node name="AuraFrame" type="MarginContainer"] -anchor_left = 1.0 +[node name="AuraFrame" type="Control"] anchor_right = 1.0 -margin_left = -376.0 -margin_right = -1.0 -margin_bottom = 160.0 +anchor_bottom = 1.0 mouse_filter = 2 script = ExtResource( 1 ) __meta__ = { "_edit_use_anchors_": false } aura_entry_scene = ExtResource( 2 ) -buff_container_path = NodePath("VBoxContainer/Buffs") -debuff_container_path = NodePath("VBoxContainer/Debuffs") +buff_container_path = NodePath("MarginContainer/VBoxContainer/Buffs") +debuff_container_path = NodePath("MarginContainer/VBoxContainer/Debuffs") -[node name="VBoxContainer" type="VBoxContainer" parent="."] -margin_right = 375.0 -margin_bottom = 160.0 +[node name="MarginContainer" type="MarginContainer" parent="."] +anchor_left = 1.0 +anchor_right = 1.0 +margin_left = -335.0 +margin_bottom = 157.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"] +margin_right = 335.0 +margin_bottom = 157.0 mouse_filter = 2 -[node name="Buffs" type="GridContainer" parent="VBoxContainer"] -margin_right = 375.0 +[node name="Buffs" type="GridContainer" parent="MarginContainer/VBoxContainer"] +margin_right = 335.0 margin_bottom = 76.0 mouse_filter = 2 size_flags_horizontal = 3 size_flags_vertical = 3 columns = 9 -[node name="Debuffs" type="GridContainer" parent="VBoxContainer"] -margin_top = 84.0 -margin_right = 375.0 -margin_bottom = 160.0 +[node name="Debuffs" type="GridContainer" parent="MarginContainer/VBoxContainer"] +margin_top = 80.0 +margin_right = 335.0 +margin_bottom = 157.0 mouse_filter = 2 size_flags_horizontal = 3 size_flags_vertical = 3 diff --git a/game/ui/auraframe/game_module.tres b/game/ui/auraframe/game_module.tres new file mode 100644 index 0000000..bf19038 --- /dev/null +++ b/game/ui/auraframe/game_module.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://scripts/game_modules/ui_gui_child_module.gd" type="Script" id=1] +[ext_resource path="res://ui/auraframe/AuraFrame.tscn" type="PackedScene" id=2] + +[resource] +script = ExtResource( 1 ) +enabled = true +scene = ExtResource( 2 ) +hide = false diff --git a/game/ui/autoload/SettingsManager.gd b/game/ui/autoload/SettingsManager.gd index d0b8eaf..665f517 100644 --- a/game/ui/autoload/SettingsManager.gd +++ b/game/ui/autoload/SettingsManager.gd @@ -30,6 +30,9 @@ var loaded : bool = false var _config_file : ConfigFile = ConfigFile.new() var _settings : Dictionary = { "rendering" : { + "window_size" : OS.window_size, + "window_position" : OS.window_position, + "viewport_scale" : ProjectSettings.get("display/window/size/viewport_scale"), "thread_model" : ProjectSettings.get("rendering/threads/thread_model"), "borderless" : ProjectSettings.get("display/window/size/borderless"), @@ -41,6 +44,8 @@ var _settings : Dictionary = { }, "ui" : { "touchscreen_mode" : OS.has_touchscreen_ui_hint(), + "ui_scale" : ProjectSettings.get("display/window/size/ui_scale"), + "ui_scale_touch" : ProjectSettings.get("display/window/size/ui_scale_touch"), }, "debug" : { "debug_info" : false @@ -65,7 +70,30 @@ func _ready(): InputMap.action_erase_event(action, a) InputMap.action_add_event(action, nie) + set_stretch() + setup_window() + +func _exit_tree(): + if OS.window_fullscreen: + return + var wp : Vector2 = OS.window_position + var ws : Vector2 = OS.window_size + + var wpr = get_value("rendering", "window_position") + var wsr = get_value("rendering", "window_size") + + if int(wp.x) != int(wpr.x) || \ + int(wp.y) != int(wpr.y) || \ + int(ws.x) != int(wsr.x) || \ + int(ws.y) != int(wsr.y): + + #don't use set_value() here, as the app is quitting + _settings["rendering"]["window_size"] = ws + _settings["rendering"]["window_position"] = wp + + save_settings() + func set_value(section, key, value) -> void: _settings[section][key] = value @@ -117,6 +145,9 @@ func set_rendering_fullscreen(value : bool) -> void: ProjectSettings.set("display/window/size/fullscreen", value) OS.window_fullscreen = value + if !value: + setup_window() + func set_rendering_always_on_top(value : bool) -> void: ProjectSettings.set("display/window/size/always_on_top", value) OS.set_window_always_on_top(value) @@ -140,4 +171,57 @@ func set_rendering_vsync_via_compositor(value : bool) -> void: ProjectSettings.set("display/window/vsync/vsync_via_compositor", value) OS.vsync_via_compositor = value + +func set_ui_touchscreen_mode(value : bool) -> void: + set_stretch() + +func set_ui_ui_scale(value : float) -> void: + ProjectSettings.set("rendering/window/size/ui_scale", value) + set_stretch() +func set_ui_ui_scale_touch(value : float) -> void: + ProjectSettings.set("rendering/window/size/ui_scale_touch", value) + set_stretch() + +func set_stretch(): + if !loaded: + return + + var stretch_mode : String = ProjectSettings.get("display/window/stretch/mode") + var stretch_aspect : String = ProjectSettings.get("display/window/stretch/aspect") + var stretch_size : Vector2 = Vector2(ProjectSettings.get("display/window/size/width"), ProjectSettings.get("display/window/size/height")) + var stretch_shrink : float = ProjectSettings.get("display/window/stretch/shrink") + + var uiscale : float = 1 + + if !get_value("ui", "touchscreen_mode"): + uiscale = get_value("ui", "ui_scale") + else: + uiscale = get_value("ui", "ui_scale_touch") + + stretch_size *= uiscale + + var sml_sm = SceneTree.STRETCH_MODE_DISABLED; + if (stretch_mode == "2d"): + sml_sm = SceneTree.STRETCH_MODE_2D; + elif (stretch_mode == "viewport"): + sml_sm = SceneTree.STRETCH_MODE_VIEWPORT; + + var sml_aspect = SceneTree.STRETCH_ASPECT_IGNORE; + if (stretch_aspect == "keep"): + sml_aspect = SceneTree.STRETCH_ASPECT_KEEP; + elif (stretch_aspect == "keep_width"): + sml_aspect = SceneTree.STRETCH_ASPECT_KEEP_WIDTH; + elif (stretch_aspect == "keep_height"): + sml_aspect = SceneTree.STRETCH_ASPECT_KEEP_HEIGHT; + elif (stretch_aspect == "expand"): + sml_aspect = SceneTree.STRETCH_ASPECT_EXPAND; + + get_tree().set_screen_stretch(sml_sm, sml_aspect, stretch_size, stretch_shrink) + +func setup_window(): + if OS.window_fullscreen: + return + + OS.window_position = get_value("rendering", "window_position") + OS.window_size = get_value("rendering", "window_size") diff --git a/game/ui/bags/Bag.tscn b/game/ui/bags/Bag.tscn index 692b664..08de2b7 100644 --- a/game/ui/bags/Bag.tscn +++ b/game/ui/bags/Bag.tscn @@ -6,255 +6,260 @@ [ext_resource path="res://ui/bags/EquipmentSlot.tscn" type="PackedScene" id=4] [ext_resource path="res://ui/bags/ItemTooltip.tscn" type="PackedScene" id=5] -[node name="Inventory" type="PanelContainer"] +[node name="Inventory" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 +mouse_filter = 2 theme = ExtResource( 1 ) script = ExtResource( 2 ) __meta__ = { "_edit_use_anchors_": false } inventory_item_scene = ExtResource( 3 ) -inventory_item_container_path = NodePath("VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/ScrollContainer/GridContainer") -item_tooltip_path = NodePath("TooltipContainer/ItemTooltip") -inventory_slots = [ NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer/Head"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2/Neck"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2/Shoulder"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3/Chest"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2/Hands"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4/Belt"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer5/Legs"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer5/Feet"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3/Ring1"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3/Ring2"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4/Trinket1"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4/Trinket2"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer/HBoxContainer/MainHand"), NodePath("VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer/HBoxContainer/OffHand") ] +inventory_item_container_path = NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/ScrollContainer/GridContainer") +item_tooltip_path = NodePath("ItemTooltip") +inventory_slots = [ NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer/Head"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2/Neck"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2/Shoulder"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3/Chest"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2/Hands"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4/Belt"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer5/Legs"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer5/Feet"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3/Ring1"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3/Ring2"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4/Trinket1"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4/Trinket2"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer/HBoxContainer/MainHand"), NodePath("PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer/HBoxContainer/OffHand") ] -[node name="VBoxContainer" type="VBoxContainer" parent="."] +[node name="PanelContainer" type="PanelContainer" parent="."] +margin_left = 103.0 +margin_top = 37.0 +margin_right = 692.0 +margin_bottom = 527.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"] margin_left = 4.0 margin_top = 4.0 -margin_right = 1020.0 -margin_bottom = 596.0 +margin_right = 585.0 +margin_bottom = 486.0 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] -margin_right = 1016.0 +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer"] +margin_right = 581.0 margin_bottom = 26.0 -[node name="BagName" type="Label" parent="VBoxContainer/HBoxContainer"] +[node name="BagName" type="Label" parent="PanelContainer/VBoxContainer/HBoxContainer"] margin_top = 5.0 -margin_right = 982.0 +margin_right = 547.0 margin_bottom = 20.0 size_flags_horizontal = 3 size_flags_vertical = 6 text = "Inventory" align = 1 -[node name="CloseButton" type="Button" parent="VBoxContainer/HBoxContainer"] -margin_left = 986.0 -margin_right = 1016.0 -margin_bottom = 26.269 +[node name="CloseButton" type="Button" parent="PanelContainer/VBoxContainer/HBoxContainer"] +margin_left = 551.0 +margin_right = 581.0 +margin_bottom = 26.5702 rect_min_size = Vector2( 30, 20 ) text = "X" -[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer"] +[node name="HBoxContainer3" type="HBoxContainer" parent="PanelContainer/VBoxContainer"] margin_top = 34.0 -margin_right = 1016.0 -margin_bottom = 592.0 +margin_right = 581.0 +margin_bottom = 482.0 size_flags_horizontal = 3 size_flags_vertical = 3 alignment = 1 -[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer/HBoxContainer3"] +[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3"] margin_right = 227.96 -margin_bottom = 558.0 +margin_bottom = 448.0 rect_min_size = Vector2( 227.96, 0 ) -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer"] +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer"] margin_left = 4.0 margin_top = 4.0 margin_right = 223.96 -margin_bottom = 554.0 +margin_bottom = 444.0 size_flags_horizontal = 3 size_flags_vertical = 3 custom_constants/separation = 10 alignment = 1 -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] -margin_top = 96.0 +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] +margin_top = 41.0 margin_right = 219.0 -margin_bottom = 146.0 +margin_bottom = 91.0 size_flags_horizontal = 3 alignment = 1 -[node name="Head" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer" instance=ExtResource( 4 )] +[node name="Head" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer" instance=ExtResource( 4 )] -[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] -margin_top = 156.0 +[node name="HBoxContainer2" type="HBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] +margin_top = 101.0 margin_right = 219.0 -margin_bottom = 206.0 +margin_bottom = 151.0 size_flags_horizontal = 3 alignment = 1 -[node name="Shoulder" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2" instance=ExtResource( 4 )] +[node name="Shoulder" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2" instance=ExtResource( 4 )] margin_left = 30.0 margin_right = 80.0 text = "sh" equip_slot = 2 -[node name="Neck" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2" instance=ExtResource( 4 )] +[node name="Neck" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2" instance=ExtResource( 4 )] text = "Neck" equip_slot = 1 -[node name="Hands" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2" instance=ExtResource( 4 )] +[node name="Hands" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer2" instance=ExtResource( 4 )] margin_left = 138.0 margin_right = 188.0 text = "Hands" equip_slot = 4 -[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] -margin_top = 216.0 +[node name="HBoxContainer3" type="HBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] +margin_top = 161.0 margin_right = 219.0 -margin_bottom = 266.0 +margin_bottom = 211.0 size_flags_horizontal = 3 alignment = 1 -[node name="Ring1" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3" instance=ExtResource( 4 )] +[node name="Ring1" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3" instance=ExtResource( 4 )] margin_left = 30.0 margin_right = 80.0 text = "Ring" equip_slot = 8 texture_path = NodePath("../Ring1/MarginContainer/TextureRect") -[node name="Chest" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3" instance=ExtResource( 4 )] +[node name="Chest" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3" instance=ExtResource( 4 )] text = "Chest" equip_slot = 3 -[node name="Ring2" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3" instance=ExtResource( 4 )] +[node name="Ring2" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer3" instance=ExtResource( 4 )] margin_left = 138.0 margin_right = 188.0 text = "Ring" equip_slot = 9 -[node name="HBoxContainer4" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] -margin_top = 276.0 +[node name="HBoxContainer4" type="HBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] +margin_top = 221.0 margin_right = 219.0 -margin_bottom = 326.0 +margin_bottom = 271.0 size_flags_horizontal = 3 alignment = 1 -[node name="Trinket1" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4" instance=ExtResource( 4 )] +[node name="Trinket1" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4" instance=ExtResource( 4 )] margin_left = 30.0 margin_right = 80.0 text = "Tr" equip_slot = 10 -[node name="Belt" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4" instance=ExtResource( 4 )] +[node name="Belt" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4" instance=ExtResource( 4 )] text = "Belt" equip_slot = 5 -[node name="Trinket2" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4" instance=ExtResource( 4 )] +[node name="Trinket2" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer4" instance=ExtResource( 4 )] margin_left = 138.0 margin_right = 188.0 text = "Tr" equip_slot = 11 -[node name="HBoxContainer5" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] -margin_top = 336.0 +[node name="HBoxContainer5" type="HBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] +margin_top = 281.0 margin_right = 219.0 -margin_bottom = 386.0 +margin_bottom = 331.0 size_flags_horizontal = 3 alignment = 1 -[node name="Legs" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer5" instance=ExtResource( 4 )] +[node name="Legs" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer5" instance=ExtResource( 4 )] margin_left = 57.0 margin_right = 107.0 text = "Legs" equip_slot = 6 -[node name="Feet" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer5" instance=ExtResource( 4 )] +[node name="Feet" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer5" instance=ExtResource( 4 )] margin_left = 111.0 margin_right = 161.0 text = "Feet" equip_slot = 7 -[node name="HBoxContainer6" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] -margin_top = 396.0 +[node name="HBoxContainer6" type="HBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer"] +margin_top = 341.0 margin_right = 219.0 -margin_bottom = 454.0 +margin_bottom = 399.0 size_flags_horizontal = 3 alignment = 1 -[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6"] +[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6"] margin_left = 53.0 margin_right = 165.0 margin_bottom = 58.0 size_flags_horizontal = 0 size_flags_vertical = 0 -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer"] +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer"] margin_left = 4.0 margin_top = 4.0 margin_right = 108.0 margin_bottom = 54.0 -[node name="MainHand" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer/HBoxContainer" instance=ExtResource( 4 )] +[node name="MainHand" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer/HBoxContainer" instance=ExtResource( 4 )] margin_left = 0.0 margin_right = 50.0 text = "MH" equip_slot = 12 -[node name="OffHand" parent="VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer/HBoxContainer" instance=ExtResource( 4 )] +[node name="OffHand" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer/VBoxContainer/HBoxContainer6/PanelContainer/HBoxContainer" instance=ExtResource( 4 )] margin_left = 54.0 margin_right = 104.0 text = "OH" equip_slot = 13 -texture_path = NodePath("../OffHand/MarginContainer/TextureRect") -[node name="PanelContainer2" type="PanelContainer" parent="VBoxContainer/HBoxContainer3"] +[node name="PanelContainer2" type="PanelContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3"] margin_left = 231.0 -margin_right = 1016.0 -margin_bottom = 558.0 +margin_right = 581.0 +margin_bottom = 448.0 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer2"] +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer2"] margin_left = 4.0 margin_top = 4.0 -margin_right = 781.0 -margin_bottom = 554.0 +margin_right = 346.0 +margin_bottom = 444.0 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer"] -margin_right = 777.0 -margin_bottom = 516.0 +[node name="ScrollContainer" type="ScrollContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer"] +margin_right = 342.0 +margin_bottom = 406.0 size_flags_horizontal = 3 size_flags_vertical = 3 scroll_horizontal_enabled = false -[node name="GridContainer" type="GridContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/ScrollContainer"] +[node name="GridContainer" type="GridContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/ScrollContainer"] size_flags_horizontal = 2 size_flags_vertical = 2 custom_constants/vseparation = 5 custom_constants/hseparation = 5 columns = 6 -[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer"] -margin_top = 524.0 -margin_right = 777.0 -margin_bottom = 550.0 +[node name="HBoxContainer2" type="HBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer"] +margin_top = 414.0 +margin_right = 342.0 +margin_bottom = 440.0 -[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/HBoxContainer2"] +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/HBoxContainer2"] margin_top = 5.0 -margin_right = 743.0 +margin_right = 308.0 margin_bottom = 20.0 size_flags_horizontal = 3 text = "190 " align = 2 -[node name="ResizeButton" type="Button" parent="VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/HBoxContainer2"] -margin_left = 747.0 -margin_right = 777.0 -margin_bottom = 26.269 +[node name="ResizeButton" type="Button" parent="PanelContainer/VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/HBoxContainer2"] +margin_left = 312.0 +margin_right = 342.0 +margin_bottom = 26.5702 rect_min_size = Vector2( 30, 20 ) -[node name="TooltipContainer" type="Control" parent="."] +[node name="ItemTooltip" parent="." instance=ExtResource( 5 )] +toplevel = false margin_left = 4.0 margin_top = 4.0 -margin_right = 1020.0 -margin_bottom = 596.0 -mouse_filter = 2 +margin_right = 299.0 +margin_bottom = 227.0 -[node name="ItemTooltip" parent="TooltipContainer" instance=ExtResource( 5 )] -[connection signal="pressed" from="VBoxContainer/HBoxContainer/CloseButton" to="." method="hide"] +[connection signal="pressed" from="PanelContainer/VBoxContainer/HBoxContainer/CloseButton" to="." method="hide"] diff --git a/game/ui/bags/BagEntry.gd b/game/ui/bags/BagEntry.gd index 7179fe6..e502bbe 100644 --- a/game/ui/bags/BagEntry.gd +++ b/game/ui/bags/BagEntry.gd @@ -190,7 +190,7 @@ func drop_data(pos, esd) -> void: player.item_crequest_swap(slot_id, esd.get_meta("slot_id")) setup_icon() elif esd.type == ESDragAndDrop.ES_DRAG_AND_DROP_TYPE_EQUIPPED_ITEM: - player.equip_crequest(ESS.resource_db.get_item_template_path(esd.item_path).id, slot_id) + player.equip_crequest(ESS.resource_db.get_item_template_path(esd.item_path).equip_slot, slot_id) setup_icon() func set_slot_id(pslot_id : int) -> void: @@ -231,7 +231,7 @@ func _ccooldown_removed(id : int, value : float) -> void: if id == spell_id: cd = 0 -func _cgcd_started(value :float) -> void: +func _cgcd_started(entity: Entity, value :float) -> void: if not has_gcd: return @@ -239,7 +239,7 @@ func _cgcd_started(value :float) -> void: show_cooldown_timer(value) set_process(true) -func _cgcd_finished() -> void: +func _cgcd_finished(entity) -> void: gcd = 0 func _on_button_pressed() -> void: diff --git a/game/ui/windows/base/BaseWindow.tscn b/game/ui/bags/BaseWindow.tscn similarity index 100% rename from game/ui/windows/base/BaseWindow.tscn rename to game/ui/bags/BaseWindow.tscn diff --git a/game/ui/bags/EquipmentSlot.gd b/game/ui/bags/EquipmentSlot.gd index c360fd7..3112fa0 100644 --- a/game/ui/bags/EquipmentSlot.gd +++ b/game/ui/bags/EquipmentSlot.gd @@ -50,6 +50,8 @@ func set_player(player: Entity) -> void: _player.connect("equip_con_success", self, "equip_con_success") + equip_con_success(player, equip_slot, player.equip_getc_slot(equip_slot), null, 0) + func drop_data(position, data): if _player == null: return @@ -98,7 +100,7 @@ func equip_con_success(entity: Entity, pequip_slot: int, item: ItemInstance, old return _item_instance = item - + if item == null: _texture.texture = null return diff --git a/game/ui/bags/InventoryGUI.gd b/game/ui/bags/InventoryGUI.gd index cd0ab23..9d2df43 100644 --- a/game/ui/bags/InventoryGUI.gd +++ b/game/ui/bags/InventoryGUI.gd @@ -1,4 +1,4 @@ -extends PanelContainer +extends Control # Copyright (c) 2019-2020 Péter Magyar # @@ -20,6 +20,8 @@ extends PanelContainer # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +var opener_button : BaseButton + export(PackedScene) var inventory_item_scene : PackedScene export(NodePath) var inventory_item_container_path : NodePath export(NodePath) var item_tooltip_path : NodePath @@ -46,6 +48,7 @@ func _ready() -> void: func set_player(p_player: Entity) -> void: if _player != null: _player.disconnect("cbag_changed", self, "cbag_changed") + _player.disconnect("equip_con_success", self, "equip_con_success") for ie in _inventory_item_container.get_children(): ie.queue_free() @@ -53,6 +56,7 @@ func set_player(p_player: Entity) -> void: _player = p_player _player.connect("cbag_changed", self, "cbag_changed") + _player.connect("equip_con_success", self, "equip_con_success") cbag_changed(_player, _player.cbag) @@ -121,13 +125,25 @@ func item_removed(bag: Bag, item: ItemInstance, slot_id: int) -> void: func item_swapped(bag: Bag, item1_slot : int, item2_slot: int) -> void: refresh_bags() - -func on_visibility_changed() -> void: + +func equip_con_success(entity, equip_slot, item, old_item, bag_slot) -> void: refresh_bags() +func on_visibility_changed(): + refresh_bags() + + if opener_button: + if visible && !opener_button.pressed: + opener_button.pressed = true + return + + if !visible && opener_button.pressed: + opener_button.pressed = false -func _on_BagButton_toggled(button_pressed): +func _on_button_toggled(button_pressed): if button_pressed: - show() + if !visible: + show() else: - hide() + if visible: + hide() diff --git a/game/ui/windows/InventoryWindow.tscn b/game/ui/bags/InventoryWindow.tscn similarity index 96% rename from game/ui/windows/InventoryWindow.tscn rename to game/ui/bags/InventoryWindow.tscn index 69e3f87..7b090e4 100644 --- a/game/ui/windows/InventoryWindow.tscn +++ b/game/ui/bags/InventoryWindow.tscn @@ -1,7 +1,9 @@ [gd_scene load_steps=3 format=2] -[ext_resource path="res://ui/windows/inventory/ItemEntry.tscn" type="PackedScene" id=1] -[ext_resource path="res://ui/windows/base/BaseWindow.tscn" type="PackedScene" id=2] +[ext_resource path="res://ui/bags/ItemEntry.tscn" type="PackedScene" id=1] +[ext_resource path="res://ui/bags/BaseWindow.tscn" type="PackedScene" id=2] + + [node name="InventoryWindow" type="Control"] margin_right = 888.0 diff --git a/game/ui/windows/inventory/ItemEntry.tscn b/game/ui/bags/ItemEntry.tscn similarity index 100% rename from game/ui/windows/inventory/ItemEntry.tscn rename to game/ui/bags/ItemEntry.tscn diff --git a/game/ui/bags/game_module.tres b/game/ui/bags/game_module.tres new file mode 100644 index 0000000..3c5777c --- /dev/null +++ b/game/ui/bags/game_module.tres @@ -0,0 +1,13 @@ +[gd_resource type="Resource" load_steps=4 format=2] + +[ext_resource path="res://ui/theme/bag_icon.tres" type="Texture" id=1] +[ext_resource path="res://scripts/game_modules/ui_window_module.gd" type="Script" id=2] +[ext_resource path="res://ui/bags/Bag.tscn" type="PackedScene" id=3] + +[resource] +script = ExtResource( 2 ) +enabled = true +scene = ExtResource( 3 ) +opener_button_texture = ExtResource( 1 ) +index = 3 +add_button = true diff --git a/game/ui/buttons/Buttons.gd b/game/ui/buttons/Buttons.gd index ca211ce..f69ae56 100644 --- a/game/ui/buttons/Buttons.gd +++ b/game/ui/buttons/Buttons.gd @@ -20,6 +20,8 @@ extends Control # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +export (PackedScene) var image_button : PackedScene + export (NodePath) var spell_book_path export (NodePath) var spell_book_button_path var spell_book @@ -34,6 +36,26 @@ func _ready(): lock_button = get_node(lock_button_path) lock_button.connect("pressed", self, "_lock_button_click") +func add_image_button(texture : Texture, index : int = -1) -> Button: + var button : Button = image_button.instance() as Button + + button.set_meta("button_index", index) + + button.get_child(0).texture = texture + + add_child(button) + + for ch in get_children(): + var button_index : int = get_child_count() + + if ch.has_meta("button_index"): + button_index = ch.get_meta("button_index") + + if button_index != -1: + move_child(ch, button_index) + + return button + func set_player(p_player): player = p_player diff --git a/game/ui/buttons/ImageButton.tscn b/game/ui/buttons/ImageButton.tscn new file mode 100644 index 0000000..30a2305 --- /dev/null +++ b/game/ui/buttons/ImageButton.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://ui/theme/character_icon.tres" type="Texture" id=1] + +[node name="ImageButton" type="Button"] +margin_right = 25.0 +margin_bottom = 40.0 +rect_min_size = Vector2( 25, 30 ) +hint_tooltip = "Inventory" +focus_mode = 0 +toggle_mode = true +enabled_focus_mode = 0 +keep_pressed_outside = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="TextureRect" type="TextureRect" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +texture = ExtResource( 1 ) +expand = true +stretch_mode = 6 +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/game/ui/castbar/game_module.tres b/game/ui/castbar/game_module.tres new file mode 100644 index 0000000..2d4c9e7 --- /dev/null +++ b/game/ui/castbar/game_module.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://scripts/game_modules/ui_gui_child_module.gd" type="Script" id=1] +[ext_resource path="res://ui/castbar/Castbar.tscn" type="PackedScene" id=2] + +[resource] +script = ExtResource( 1 ) +enabled = true +scene = ExtResource( 2 ) +hide = true diff --git a/game/ui/character/CharacterWindow.gd b/game/ui/character/CharacterWindow.gd new file mode 100644 index 0000000..b6f6d9d --- /dev/null +++ b/game/ui/character/CharacterWindow.gd @@ -0,0 +1,33 @@ +extends Control + +#export(NodePath) var opener_button_path : NodePath +var opener_button : BaseButton + +export(NodePath) var container_path : NodePath +var container : Node + +var _player : Entity + +func _ready(): +# opener_button = get_node_or_null(opener_button_path) as BaseButton + container = get_node(container_path) + +func set_player(p_player: Entity) -> void: + _player = p_player + + for c in container.get_children(): + if c.has_method("set_player"): + c.set_player(_player) + +func _on_button_toggled(button_pressed): + if button_pressed: + show() + else: + hide() + + +func _on_Button_pressed(): + if opener_button: + opener_button.pressed = false + + hide() diff --git a/game/ui/character/CharacterWindow.tscn b/game/ui/character/CharacterWindow.tscn new file mode 100644 index 0000000..25abd6d --- /dev/null +++ b/game/ui/character/CharacterWindow.tscn @@ -0,0 +1,385 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] +[ext_resource path="res://ui/character/CharacterWindow.gd" type="Script" id=2] +[ext_resource path="res://ui/character/SingleStatRow.tscn" type="PackedScene" id=3] + +[node name="CharacterWindow" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +theme = ExtResource( 1 ) +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} +container_path = NodePath("Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer") + +[node name="Panel" type="PanelContainer" parent="."] +margin_left = 52.0 +margin_top = 54.0 +margin_right = 288.0 +margin_bottom = 421.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="Panel"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 232.0 +margin_bottom = 363.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="Panel/VBoxContainer"] +margin_right = 228.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 0, 30 ) + +[node name="Label" type="Label" parent="Panel/VBoxContainer/HBoxContainer"] +margin_top = 7.0 +margin_right = 194.0 +margin_bottom = 22.0 +size_flags_horizontal = 3 +text = "Character" + +[node name="Button" type="Button" parent="Panel/VBoxContainer/HBoxContainer"] +margin_left = 198.0 +margin_right = 228.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 30, 30 ) +text = "X" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBoxContainer2" type="HBoxContainer" parent="Panel/VBoxContainer"] +margin_top = 38.0 +margin_right = 228.0 +margin_bottom = 359.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="ScrollContainer" type="ScrollContainer" parent="Panel/VBoxContainer/HBoxContainer2"] +margin_right = 228.0 +margin_bottom = 321.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="MarginContainer" type="MarginContainer" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer"] +margin_right = 218.0 +margin_bottom = 1066.0 +size_flags_horizontal = 3 +custom_constants/margin_right = 8 +custom_constants/margin_left = 6 + +[node name="VBoxContainer" type="VBoxContainer" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer"] +margin_left = 6.0 +margin_right = 210.0 +margin_bottom = 1066.0 +size_flags_horizontal = 3 + +[node name="Agility" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_right = 204.0 +stat_name = "Agility" + +[node name="Strength" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 23.0 +margin_right = 204.0 +margin_bottom = 38.0 +stat_name = "Strength" + +[node name="Stamina" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 46.0 +margin_right = 204.0 +margin_bottom = 61.0 +stat_name = "Stamina" + +[node name="Intellect" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 69.0 +margin_right = 204.0 +margin_bottom = 84.0 +stat_name = "Intellect" + +[node name="Spirit" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 92.0 +margin_right = 204.0 +margin_bottom = 107.0 +stat_name = "Spirit" + +[node name="Separator" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 115.0 +margin_right = 204.0 +margin_bottom = 119.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="Health" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 127.0 +margin_right = 204.0 +margin_bottom = 142.0 +stat_name = "Health" + +[node name="Mana" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 150.0 +margin_right = 204.0 +margin_bottom = 165.0 +stat_name = "Mana" + +[node name="Speed" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 173.0 +margin_right = 204.0 +margin_bottom = 188.0 +stat_name = "Speed" + +[node name="Haste" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 196.0 +margin_right = 204.0 +margin_bottom = 211.0 +stat_name = "Haste" + +[node name="HasteRating" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 219.0 +margin_right = 204.0 +margin_bottom = 234.0 +stat_name = "Haste Rating" + +[node name="Separator2" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 242.0 +margin_right = 204.0 +margin_bottom = 246.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="Resilience" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 254.0 +margin_right = 204.0 +margin_bottom = 269.0 +stat_name = "Resilience" + +[node name="Armor" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 277.0 +margin_right = 204.0 +margin_bottom = 292.0 +stat_name = "Armor" + +[node name="Separator4" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 300.0 +margin_right = 204.0 +margin_bottom = 304.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="AttackPower" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 312.0 +margin_right = 204.0 +margin_bottom = 327.0 +stat_name = "Attack Power" + +[node name="SpellPower" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 335.0 +margin_right = 204.0 +margin_bottom = 350.0 +stat_name = "Spell Power" + +[node name="MeleeCrit" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 358.0 +margin_right = 204.0 +margin_bottom = 373.0 +stat_name = "Melee Crit" + +[node name="MeleeCritBonus" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 381.0 +margin_right = 204.0 +margin_bottom = 396.0 +stat_name = "Melee Crit Bonus" + +[node name="SpellCrit" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 404.0 +margin_right = 204.0 +margin_bottom = 419.0 +stat_name = "Spell Crit" + +[node name="SpellCritBonus" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 427.0 +margin_right = 204.0 +margin_bottom = 442.0 +stat_name = "Spell Crit Bonus" + +[node name="Separator3" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 450.0 +margin_right = 204.0 +margin_bottom = 454.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="Block" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 462.0 +margin_right = 204.0 +margin_bottom = 477.0 +stat_name = "Block" + +[node name="Parry" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 485.0 +margin_right = 204.0 +margin_bottom = 500.0 +stat_name = "Parry" + +[node name="DamageReduction" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 508.0 +margin_right = 204.0 +margin_bottom = 523.0 +stat_name = "Damage Reduction" + +[node name="MeleeDamageReduction" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 531.0 +margin_right = 204.0 +margin_bottom = 546.0 +stat_name = "Melee Damage Reduction" + +[node name="SpellDamageReduction" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 554.0 +margin_right = 204.0 +margin_bottom = 569.0 +stat_name = "Spell Damage Reduction" + +[node name="Separator5" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 577.0 +margin_right = 204.0 +margin_bottom = 581.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="DamageTaken" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 589.0 +margin_right = 204.0 +margin_bottom = 604.0 +stat_name = "Damage Taken" + +[node name="HealTaken" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 612.0 +margin_right = 204.0 +margin_bottom = 627.0 +stat_name = "Heal Taken" + +[node name="Separator6" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 635.0 +margin_right = 204.0 +margin_bottom = 639.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="MeleeDamage" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 647.0 +margin_right = 204.0 +margin_bottom = 662.0 +stat_name = "Melee Damage" + +[node name="SpellDamage" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 670.0 +margin_right = 204.0 +margin_bottom = 685.0 +stat_name = "Spell Damage" + +[node name="Separator7" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 693.0 +margin_right = 204.0 +margin_bottom = 697.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="HolyResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 705.0 +margin_right = 204.0 +margin_bottom = 720.0 +stat_name = "Holy Resist" + +[node name="ShadowResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 728.0 +margin_right = 204.0 +margin_bottom = 743.0 +stat_name = "Shadow Resist" + +[node name="NatureResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 751.0 +margin_right = 204.0 +margin_bottom = 766.0 +stat_name = "Nature Resist" + +[node name="FireResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 774.0 +margin_right = 204.0 +margin_bottom = 789.0 +stat_name = "Fire Resist" + +[node name="FrostResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 797.0 +margin_right = 204.0 +margin_bottom = 812.0 +stat_name = "Frost Resist" + +[node name="LightningResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 820.0 +margin_right = 204.0 +margin_bottom = 835.0 +stat_name = "Lightning Resist" + +[node name="ChaosResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 843.0 +margin_right = 204.0 +margin_bottom = 858.0 +stat_name = "Chaos Resist" + +[node name="SilenceResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 866.0 +margin_right = 204.0 +margin_bottom = 881.0 +stat_name = "Silence Resist" + +[node name="FearResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 889.0 +margin_right = 204.0 +margin_bottom = 904.0 +stat_name = "Fear Resist" + +[node name="StunResist" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 912.0 +margin_right = 204.0 +margin_bottom = 927.0 +stat_name = "Stun Resist" + +[node name="Separator8" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 935.0 +margin_right = 204.0 +margin_bottom = 939.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="Energy" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 947.0 +margin_right = 204.0 +margin_bottom = 962.0 +stat_name = "Energy" + +[node name="Rage" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 970.0 +margin_right = 204.0 +margin_bottom = 985.0 +stat_name = "Rage" + +[node name="XPRate" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 993.0 +margin_right = 204.0 +margin_bottom = 1008.0 +stat_name = "XP Rate" + +[node name="Separator9" type="Control" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer"] +margin_top = 1016.0 +margin_right = 204.0 +margin_bottom = 1020.0 +rect_min_size = Vector2( 0, 4 ) + +[node name="WeaponDamageMin" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 1028.0 +margin_right = 204.0 +margin_bottom = 1043.0 +stat_name = "Weapon Damage Min" + +[node name="WeaponDamageMax" parent="Panel/VBoxContainer/HBoxContainer2/ScrollContainer/MarginContainer/VBoxContainer" instance=ExtResource( 3 )] +margin_top = 1051.0 +margin_right = 204.0 +margin_bottom = 1066.0 +stat_name = "Weapon Damage Max" + +[connection signal="pressed" from="Panel/VBoxContainer/HBoxContainer/Button" to="." method="_on_Button_pressed"] diff --git a/game/ui/character/SingleStatRow.gd b/game/ui/character/SingleStatRow.gd new file mode 100644 index 0000000..053938d --- /dev/null +++ b/game/ui/character/SingleStatRow.gd @@ -0,0 +1,38 @@ +extends HBoxContainer + +export(String) var stat_name : String +var stat_id : int + +onready var stat_name_label : Label = $StatName as Label +onready var stat_value_label : Label = $Stat as Label + +var _player : Entity + +func _ready(): + stat_id = ESS.stat_get_id(stat_name) + + stat_name_label.text = stat_name + + connect("visibility_changed", self, "on_visibility_changed") + +func on_visibility_changed(): + if _player: + stat_value_label.text = str(_player.stat_getc_current(stat_id)) + " " + else: + stat_value_label.text = str(0) + " " + +func set_player(p_player: Entity) -> void: + _player = p_player + + on_visibility_changed() + +""" +Agility,Strength,Stamina,Intellect,Spirit, +Health,Mana,Speed,Global Cooldown,Haste,Haste Rating, +Resilience,Armor,Attack Power,Spell Power,Melee Crit, +Melee Crit Bonus,Spell Crit,Spell Crit Bonus,Block,Parry,Damage Reduction, +Melee Damage Reduction,Spell Damage Reduction,Damage Taken,Heal Taken, +Melee Damage,Spell Damage,Holy Resist,Shadow Resist,Nature Resist, +Fire Resist,Frost Resist,Lightning Resist,Chaos Resist,Silence Resist,Fear Resist, +Stun Resist,Energy,Rage,XP Rate,Weapon Damage Min,Weapon Damage Max +""" diff --git a/game/ui/character/SingleStatRow.tscn b/game/ui/character/SingleStatRow.tscn new file mode 100644 index 0000000..af3ffed --- /dev/null +++ b/game/ui/character/SingleStatRow.tscn @@ -0,0 +1,27 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://ui/character/SingleStatRow.gd" type="Script" id=1] + +[node name="SingleStatRow" type="HBoxContainer"] +margin_right = 1016.0 +margin_bottom = 15.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="StatName" type="Label" parent="."] +margin_right = 506.0 +margin_bottom = 14.0 +size_flags_horizontal = 3 +size_flags_vertical = 6 +valign = 1 + +[node name="Stat" type="Label" parent="."] +margin_left = 510.0 +margin_right = 1016.0 +margin_bottom = 14.0 +size_flags_horizontal = 3 +size_flags_vertical = 6 +align = 2 +valign = 1 diff --git a/game/ui/character/game_module.tres b/game/ui/character/game_module.tres new file mode 100644 index 0000000..3efffa8 --- /dev/null +++ b/game/ui/character/game_module.tres @@ -0,0 +1,13 @@ +[gd_resource type="Resource" load_steps=4 format=2] + +[ext_resource path="res://scripts/game_modules/ui_window_module.gd" type="Script" id=1] +[ext_resource path="res://ui/character/CharacterWindow.tscn" type="PackedScene" id=2] +[ext_resource path="res://ui/theme/character_icon.tres" type="Texture" id=3] + +[resource] +script = ExtResource( 1 ) +enabled = true +scene = ExtResource( 2 ) +opener_button_texture = ExtResource( 3 ) +index = 0 +add_button = true diff --git a/game/ui/windows/CraftItemDescription.gd b/game/ui/crafting/CraftItemDescription.gd similarity index 100% rename from game/ui/windows/CraftItemDescription.gd rename to game/ui/crafting/CraftItemDescription.gd diff --git a/game/ui/windows/CraftingWindow.gd b/game/ui/crafting/CraftingWindow.gd similarity index 91% rename from game/ui/windows/CraftingWindow.gd rename to game/ui/crafting/CraftingWindow.gd index c9e4e04..0080c41 100644 --- a/game/ui/windows/CraftingWindow.gd +++ b/game/ui/crafting/CraftingWindow.gd @@ -1,4 +1,4 @@ -extends PanelContainer +extends Control # Copyright (c) 2019-2020 Péter Magyar # @@ -20,6 +20,8 @@ extends PanelContainer # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +var opener_button : BaseButton + export(PackedScene) var item_entry_scene : PackedScene export(PackedScene) var recipe_selector_scene : PackedScene @@ -48,6 +50,8 @@ var _materials_container_main_on : Node var _materials_container_main_off : Node func _ready(): + connect("visibility_changed", self, "on_visibility_changed") + _item_container = get_node(item_container_path) _tools_container = get_node(tools_container_path) _materials_container = get_node(materials_container_path) @@ -140,8 +144,19 @@ func select_recipe(recipe : CraftRecipe) -> void: ie.set_item(_player, ih) -func _on_CraftingButton_toggled(button_pressed): +func on_visibility_changed(): + if opener_button: + if visible && !opener_button.pressed: + opener_button.pressed = true + return + + if !visible && opener_button.pressed: + opener_button.pressed = false + +func _on_button_toggled(button_pressed): if button_pressed: - show() + if !visible: + show() else: - hide() + if visible: + hide() diff --git a/game/ui/crafting/CraftingWindow.tscn b/game/ui/crafting/CraftingWindow.tscn new file mode 100644 index 0000000..e8d411b --- /dev/null +++ b/game/ui/crafting/CraftingWindow.tscn @@ -0,0 +1,319 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] +[ext_resource path="res://ui/crafting/CraftingWindow.gd" type="Script" id=2] +[ext_resource path="res://ui/crafting/RecipeSelector.tscn" type="PackedScene" id=3] +[ext_resource path="res://ui/crafting/ItemEntry.tscn" type="PackedScene" id=4] +[ext_resource path="res://ui/crafting/CraftItemDescription.gd" type="Script" id=5] + +[sub_resource type="ButtonGroup" id=1] + +[node name="CraftingWindow" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +theme = ExtResource( 1 ) +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} +item_entry_scene = ExtResource( 4 ) +recipe_selector_scene = ExtResource( 3 ) +item_container_path = NodePath("PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription") +tools_container_path = NodePath("PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/ToolsContainer") +materials_container_path = NodePath("PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/MaterialContainer") +recipe_selector_container_path = NodePath("PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/Recipes/VBoxContainer") +recipe_selector_main_on = NodePath("PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/Recipes") +recipe_selector_main_off = NodePath("PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/CenterContainer2") +materials_container_main_on = NodePath("PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry") +materials_container_main_off = NodePath("PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CenterContainer") + +[node name="PanelContainer" type="PanelContainer" parent="."] +margin_left = 43.0 +margin_top = 36.0 +margin_right = 995.0 +margin_bottom = 577.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 948.0 +margin_bottom = 537.0 + +[node name="Header" type="HBoxContainer" parent="PanelContainer/VBoxContainer"] +margin_right = 944.0 +margin_bottom = 30.0 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/Header"] +margin_top = 7.0 +margin_right = 900.0 +margin_bottom = 22.0 +size_flags_horizontal = 3 +text = "Crafting" + +[node name="Button" type="Button" parent="PanelContainer/VBoxContainer/Header"] +margin_left = 904.0 +margin_right = 944.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 40, 30 ) +text = "X" + +[node name="Categories" type="HBoxContainer" parent="PanelContainer/VBoxContainer"] +margin_top = 38.0 +margin_right = 944.0 +margin_bottom = 64.0 + +[node name="HBoxContainer2" type="HBoxContainer" parent="PanelContainer/VBoxContainer/Categories"] +margin_right = 944.0 +margin_bottom = 26.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 3 +alignment = 1 + +[node name="Alchemy" type="Button" parent="PanelContainer/VBoxContainer/Categories/HBoxContainer2"] +margin_left = 162.0 +margin_right = 262.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 100, 0 ) +toggle_mode = true +pressed = true +group = SubResource( 1 ) +text = "Alchemy" + +[node name="Smithing" type="Button" parent="PanelContainer/VBoxContainer/Categories/HBoxContainer2"] +margin_left = 266.0 +margin_right = 366.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 100, 0 ) +toggle_mode = true +group = SubResource( 1 ) +text = "Smithing" + +[node name="Enchanting" type="Button" parent="PanelContainer/VBoxContainer/Categories/HBoxContainer2"] +margin_left = 370.0 +margin_right = 470.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 100, 0 ) +toggle_mode = true +group = SubResource( 1 ) +text = "Enchantig" + +[node name="Engineering" type="Button" parent="PanelContainer/VBoxContainer/Categories/HBoxContainer2"] +margin_left = 474.0 +margin_right = 574.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 100, 0 ) +toggle_mode = true +group = SubResource( 1 ) +text = "Engineering" + +[node name="Tailoring" type="Button" parent="PanelContainer/VBoxContainer/Categories/HBoxContainer2"] +margin_left = 578.0 +margin_right = 678.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 100, 0 ) +toggle_mode = true +group = SubResource( 1 ) +text = "Tailoring" + +[node name="Other" type="Button" parent="PanelContainer/VBoxContainer/Categories/HBoxContainer2"] +margin_left = 682.0 +margin_right = 782.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 100, 0 ) +toggle_mode = true +group = SubResource( 1 ) +text = "Other" + +[node name="VBoxContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer"] +margin_top = 72.0 +margin_right = 944.0 +margin_bottom = 533.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer"] +margin_right = 944.0 +margin_bottom = 461.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer"] +margin_right = 626.0 +margin_bottom = 461.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="CraftEntry" type="VBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer"] +visible = false +margin_left = 4.0 +margin_top = 4.0 +margin_right = 718.0 +margin_bottom = 516.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 0.6 +custom_constants/separation = 10 + +[node name="ScrollContainer" type="ScrollContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry"] +margin_right = 714.0 +margin_bottom = 472.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +scroll_horizontal_enabled = false + +[node name="VBoxContainer2" type="VBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer"] +margin_right = 714.0 +margin_bottom = 122.0 +size_flags_horizontal = 3 + +[node name="CraftItemDescription" type="HBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] +margin_right = 714.0 +margin_bottom = 60.0 +alignment = 1 +script = ExtResource( 5 ) +icon_path = NodePath("VBoxContainer/PanelContainer/TextureRect") +name_label_path = NodePath("PanelContainer2/VBoxContainer/Label") +description_label_path = NodePath("PanelContainer2/VBoxContainer/RichTextLabel") + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription"] +margin_left = 175.0 +margin_right = 235.0 +margin_bottom = 60.0 + +[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/VBoxContainer"] +margin_right = 60.0 +margin_bottom = 60.0 +rect_min_size = Vector2( 60, 60 ) + +[node name="TextureRect" type="TextureRect" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/VBoxContainer/PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 56.0 +margin_bottom = 56.0 +expand = true + +[node name="PanelContainer2" type="PanelContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription"] +margin_left = 239.0 +margin_right = 539.0 +margin_bottom = 60.0 +rect_min_size = Vector2( 300, 0 ) + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/PanelContainer2"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 296.0 +margin_bottom = 56.0 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/PanelContainer2/VBoxContainer"] +margin_right = 292.0 +margin_bottom = 15.0 + +[node name="RichTextLabel" type="RichTextLabel" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/PanelContainer2/VBoxContainer"] +margin_top = 23.0 +margin_right = 292.0 +margin_bottom = 52.0 +size_flags_vertical = 3 +text = " +" +scroll_active = false + +[node name="Label2" type="Label" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] +margin_top = 68.0 +margin_right = 714.0 +margin_bottom = 83.0 +text = "Tools" + +[node name="ToolsContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] +margin_top = 91.0 +margin_right = 714.0 +margin_bottom = 91.0 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] +margin_top = 99.0 +margin_right = 714.0 +margin_bottom = 114.0 +text = "Materials" + +[node name="MaterialContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] +margin_top = 122.0 +margin_right = 714.0 +margin_bottom = 122.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry"] +margin_top = 482.0 +margin_right = 714.0 +margin_bottom = 512.0 +alignment = 1 + +[node name="CraftButton" type="Button" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/HBoxContainer"] +margin_left = 307.0 +margin_right = 407.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 100, 30 ) +text = "Craft" + +[node name="CenterContainer" type="CenterContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 622.0 +margin_bottom = 457.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CenterContainer"] +margin_left = 264.0 +margin_top = 219.0 +margin_right = 354.0 +margin_bottom = 234.0 +text = "Select a recipe" +align = 1 +valign = 1 + +[node name="PanelContainer2" type="PanelContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer"] +margin_left = 630.0 +margin_right = 944.0 +margin_bottom = 461.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 0.5 + +[node name="Recipes" type="ScrollContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2"] +visible = false +margin_left = 4.0 +margin_top = 4.0 +margin_right = 286.0 +margin_bottom = 516.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/Recipes"] +margin_right = 282.0 +size_flags_horizontal = 3 + +[node name="CenterContainer2" type="CenterContainer" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 310.0 +margin_bottom = 457.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/CenterContainer2"] +margin_left = 123.0 +margin_top = 219.0 +margin_right = 183.0 +margin_bottom = 234.0 +text = "No recipes" +align = 1 +valign = 1 + +[connection signal="pressed" from="PanelContainer/VBoxContainer/Header/Button" to="." method="hide"] +[connection signal="pressed" from="PanelContainer/VBoxContainer/Categories/HBoxContainer2/Alchemy" to="." method="set_category" binds= [ 1 ]] +[connection signal="pressed" from="PanelContainer/VBoxContainer/Categories/HBoxContainer2/Smithing" to="." method="set_category" binds= [ 2 ]] +[connection signal="pressed" from="PanelContainer/VBoxContainer/Categories/HBoxContainer2/Enchanting" to="." method="set_category" binds= [ 4 ]] +[connection signal="pressed" from="PanelContainer/VBoxContainer/Categories/HBoxContainer2/Engineering" to="." method="set_category" binds= [ 5 ]] +[connection signal="pressed" from="PanelContainer/VBoxContainer/Categories/HBoxContainer2/Tailoring" to="." method="set_category" binds= [ 3 ]] +[connection signal="pressed" from="PanelContainer/VBoxContainer/Categories/HBoxContainer2/Other" to="." method="set_category" binds= [ 0 ]] +[connection signal="pressed" from="PanelContainer/VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/HBoxContainer/CraftButton" to="." method="request_craft"] diff --git a/game/ui/crafting/game_module.tres b/game/ui/crafting/game_module.tres new file mode 100644 index 0000000..71af8a5 --- /dev/null +++ b/game/ui/crafting/game_module.tres @@ -0,0 +1,13 @@ +[gd_resource type="Resource" load_steps=4 format=2] + +[ext_resource path="res://ui/theme/crafting_icon.tres" type="Texture" id=1] +[ext_resource path="res://scripts/game_modules/ui_window_module.gd" type="Script" id=2] +[ext_resource path="res://ui/crafting/CraftingWindow.tscn" type="PackedScene" id=3] + +[resource] +script = ExtResource( 2 ) +enabled = true +scene = ExtResource( 3 ) +opener_button_texture = ExtResource( 1 ) +index = 4 +add_button = true diff --git a/game/ui/debug/debuginfo_font.tres b/game/ui/debug/debuginfo_font.tres index c2b720d..e07ee08 100644 --- a/game/ui/debug/debuginfo_font.tres +++ b/game/ui/debug/debuginfo_font.tres @@ -2,7 +2,6 @@ [ext_resource path="res://fonts/VT323-Regular.ttf" type="DynamicFontData" id=1] - [resource] size = 11 font_data = ExtResource( 1 ) diff --git a/game/ui/icons/icon_add.png b/game/ui/icons/icon_add.png new file mode 100644 index 0000000000000000000000000000000000000000..fafc1543c500fd6c0749f4373f1cec2d2999bf20 GIT binary patch literal 564 zcmV-40?Yl0P)EX>4Tx04R}tkv&MmKpe$iTcsiu2MdabWT;LSM5T1pDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|}?mh0_0scmXsb<$CplX(p zP9}tGZdC}rB8X88B8IrcOnpuiQ}7&L_we!cF3PjK&;2?2l)T9RpFljzbi*RvAdYQX zI_G`jFe^z4@j3B?K^G)`x1ki;UEAVPqQ8p^1^LX=jG6ccIMPk8u;9luB}nOtQs zax9<<6_Voz|AXJ%nuX~pHz||=x?gPjV+;uH0?oQ@e;?a+^8^Sy16NwxUu^*KPtxmc zEpi0(Zvz+CZB5<-E_Z;TCtWfmM+(sN7Ye}p8GTa@7`O#`*WBJ(`#607GSpS-1~@nb z#*37_?(y!P&ffk#)9UXB66A8{+{!BA00006VoOIv03!g600MZy2UGw6010qNS#tmY z4c7nw4c7reD4Tcy000McNliru05M5KK~y-)V_={qc<|uC{|65q z{Kuz;iBd~O4PankgoQRaniUij7@0=X!Ei8uVgLZgZW5H=^g5#e0000EX>4Tx04R}tkv&MmKpe$iTcsiu2MdabWT;LSM5T1pDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|}?mh0_0scmXsb<$CplX(p zP9}tGZdC}rB8X88B8IrcOnpuiQ}7&L_we!cF3PjK&;2?2l)T9RpFljzbi*RvAdYQX zI_G`jFe^z4@j3B?K^G)`x1ki;UEAVPqQ8p^1^LX=jG6ccIMPk8u;9luB}nOtQs zax9<<6_Voz|AXJ%nuX~pHz||=x?gPjV+;uH0?oQ@e;?a+^8^Sy16NwxUu^*KPtxmc zEpi0(Zvz+CZB5<-E_Z;TCtWfmM+(sN7Ye}p8GTa@7`O#`*WBJ(`#607GSpS-1~@nb z#*37_?(y!P&ffk#)9UXB66A8{+{!BA00006VoOIv03!g600MZy2UGw6010qNS#tmY z4c7nw4c7reD4Tcy000McNliruf`Sb;bxe2+w?blD<5I-LFwg*B82m@(D<~*1lI#Usny4BE!`%S%m>|`F z)iB2Y|NmE!YycY@TNVQY!%GGRhBtrz{>>%Je-9r%41M_UVJJEX>4Tx04R}tkv&MmKpe$iTcsiu2MdabWT;LSM5T1pDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|}?mh0_0scmXsb<$CplX(p zP9}tGZdC}rB8X88B8IrcOnpuiQ}7&L_we!cF3PjK&;2?2l)T9RpFljzbi*RvAdYQX zI_G`jFe^z4@j3B?K^G)`x1ki;UEAVPqQ8p^1^LX=jG6ccIMPk8u;9luB}nOtQs zax9<<6_Voz|AXJ%nuX~pHz||=x?gPjV+;uH0?oQ@e;?a+^8^Sy16NwxUu^*KPtxmc zEpi0(Zvz+CZB5<-E_Z;TCtWfmM+(sN7Ye}p8GTa@7`O#`*WBJ(`#607GSpS-1~@nb z#*37_?(y!P&ffk#)9UXB66A8{+{!BA00006VoOIv03!g600MZy2UGw6010qNS#tmY z4c7nw4c7reD4Tcy000McNliruu%28I9t0Io?yK~y-)#gfep!Y~X*KPPMf z2S-_>WdR0ZB$$W4EgJdIHBxh-RR}3GLIR)SM7G|G4SX2{03xyja0IZfDQ0G40Dy=N zwZ&r?08rIU;jLk2!^|eexP9AT2JbeWz4w>u22~0r?9zvobj%#~V>(w6Ij48I&L@RI zRdumK*L6)s)H>&$kV6PEX>4Tx04R}tkv&MmKpe$iTcsiu2MdabWT;LSM5T1pDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|}?mh0_0scmXsb<$CplX(p zP9}tGZdC}rB8X88B8IrcOnpuiQ}7&L_we!cF3PjK&;2?2l)T9RpFljzbi*RvAdYQX zI_G`jFe^z4@j3B?K^G)`x1ki;UEAVPqQ8p^1^LX=jG6ccIMPk8u;9luB}nOtQs zax9<<6_Voz|AXJ%nuX~pHz||=x?gPjV+;uH0?oQ@e;?a+^8^Sy16NwxUu^*KPtxmc zEpi0(Zvz+CZB5<-E_Z;TCtWfmM+(sN7Ye}p8GTa@7`O#`*WBJ(`#607GSpS-1~@nb z#*37_?(y!P&ffk#)9UXB66A8{+{!BA00006VoOIv03!g600MZy2UGw6010qNS#tmY z4c7nw4c7reD4Tcy000McNliru=K~y-)#Zuc1f4YuECc~S+qT!AOhmn^7S6dUiRg}L znpzRb08~>#RW|?*01ylik-fF{;=S+3aoo*FY&76om=M9tWnI?=5s@*b4C#_c=bV{4 zW6TM_Hnhp}3L=tu?|T4fn#SIZ(@oxZ=UlSh2A?{I`00o_Gj}hW?1o_=W-e!VEd2xg l{SVI3fKca$SycEX>4Tx04R}tkv&MmKpe$iTcsiu2MdabWT;LSM5T1pDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|}?mh0_0scmXsb<$CplX(p zP9}tGZdC}rB8X88B8IrcOnpuiQ}7&L_we!cF3PjK&;2?2l)T9RpFljzbi*RvAdYQX zI_G`jFe^z4@j3B?K^G)`x1ki;UEAVPqQ8p^1^LX=jG6ccIMPk8u;9luB}nOtQs zax9<<6_Voz|AXJ%nuX~pHz||=x?gPjV+;uH0?oQ@e;?a+^8^Sy16NwxUu^*KPtxmc zEpi0(Zvz+CZB5<-E_Z;TCtWfmM+(sN7Ye}p8GTa@7`O#`*WBJ(`#607GSpS-1~@nb z#*37_?(y!P&ffk#)9UXB66A8{+{!BA00006VoOIv03!g600MZy2UGw6010qNS#tmY z4c7nw4c7reD4Tcy000McNliruBCo6e$>`cM8;KLm7PsB$jpkFRoQXJ%*q%uv(%b81-9LaqF5wJ z(o;&U>k1kH#+Z2!1Q*wJHvk471BmEa{=5IKrVX$x0jsY70Kz=aL*Msf0P#0~RuxWN z&>CxKkGV;~p~Lp>Ulb70IZe|sGlyOFKg+TSfYTEoB9Y@bTdno5;|-leB>KrU-T|;z VPaw!=umS)8002ovPDHLkV1mntK{x;a literal 0 HcmV?d00001 diff --git a/game/ui/icons/icon_keyboard.png.import b/game/ui/icons/icon_keyboard.png.import new file mode 100644 index 0000000..4419622 --- /dev/null +++ b/game/ui/icons/icon_keyboard.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon_keyboard.png-58b4ebdc3868706f0d2ebc63fcba3a74.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/icons/icon_keyboard.png" +dest_files=[ "res://.import/icon_keyboard.png-58b4ebdc3868706f0d2ebc63fcba3a74.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=1 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/game/ui/icons/icon_mouse.png b/game/ui/icons/icon_mouse.png new file mode 100644 index 0000000000000000000000000000000000000000..eebefdcdd1840f2f52f0d7f096c0e4e655c72c68 GIT binary patch literal 689 zcmV;i0#5yjP)EX>4Tx04R}tkv&MmKpe$iTcsiu2MdabWT;LSM5T1pDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|}?mh0_0scmXsb<$CplX(p zP9}tGZdC}rB8X88B8IrcOnpuiQ}7&L_we!cF3PjK&;2?2l)T9RpFljzbi*RvAdYQX zI_G`jFe^z4@j3B?K^G)`x1ki;UEAVPqQ8p^1^LX=jG6ccIMPk8u;9luB}nOtQs zax9<<6_Voz|AXJ%nuX~pHz||=x?gPjV+;uH0?oQ@e;?a+^8^Sy16NwxUu^*KPtxmc zEpi0(Zvz+CZB5<-E_Z;TCtWfmM+(sN7Ye}p8GTa@7`O#`*WBJ(`#607GSpS-1~@nb z#*37_?(y!P&ffk#)9UXB66A8{+{!BA00006VoOIv03!g600MZy2UGw6010qNS#tmY z4c7nw4c7reD4Tcy000McNliru$+md)YhW?G?m+tb`?OVgvjaNf$}; zp|hhnA!%)92LQ8Px&m+tA*`|hNfm${01jM6l644SnyX;@?s+6PIl#D}MHBp$7&XyK zOx}AY$M~sYz@xx(&jH#3K$`@RYzhEP65yOW0;n_Qz4!i{oI?LInc1?pST_JoZ2pR# X40SZZIS6T+00000NkvXXu0mjf#8V}L literal 0 HcmV?d00001 diff --git a/game/ui/icons/icon_mouse.png.import b/game/ui/icons/icon_mouse.png.import new file mode 100644 index 0000000..4d1b8c0 --- /dev/null +++ b/game/ui/icons/icon_mouse.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon_mouse.png-5bef59a63732b271e4a97478075d6992.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/icons/icon_mouse.png" +dest_files=[ "res://.import/icon_mouse.png-5bef59a63732b271e4a97478075d6992.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=1 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/game/ui/icons/icon_remove.png b/game/ui/icons/icon_remove.png new file mode 100644 index 0000000000000000000000000000000000000000..5df461d0c26d1433fc5e33270033f40f7d060833 GIT binary patch literal 615 zcmV-t0+{`YP)EX>4Tx04R}tkv&MmKpe$iTcsiu2MdabWT;LSM5T1pDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|}?mh0_0scmXsb<$CplX(p zP9}tGZdC}rB8X88B8IrcOnpuiQ}7&L_we!cF3PjK&;2?2l)T9RpFljzbi*RvAdYQX zI_G`jFe^z4@j3B?K^G)`x1ki;UEAVPqQ8p^1^LX=jG6ccIMPk8u;9luB}nOtQs zax9<<6_Voz|AXJ%nuX~pHz||=x?gPjV+;uH0?oQ@e;?a+^8^Sy16NwxUu^*KPtxmc zEpi0(Zvz+CZB5<-E_Z;TCtWfmM+(sN7Ye}p8GTa@7`O#`*WBJ(`#607GSpS-1~@nb z#*37_?(y!P&ffk#)9UXB66A8{+{!BA00006VoOIv03!g600MZy2UGw6010qNS#tmY z4c7nw4c7reD4Tcy000McNliruFt0+Hz}<7} zzwY4#zd^Bsl+q??>D28c*INQf(aeq>v7|U{KPQtgGFuwrZcqRK002ovPDHLkV1lG) B2%rD} literal 0 HcmV?d00001 diff --git a/game/ui/icons/icon_remove.png.import b/game/ui/icons/icon_remove.png.import new file mode 100644 index 0000000..cd70e3f --- /dev/null +++ b/game/ui/icons/icon_remove.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon_remove.png-05b3a725226167bddcdc3b55463863b5.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/icons/icon_remove.png" +dest_files=[ "res://.import/icon_remove.png-05b3a725226167bddcdc3b55463863b5.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=1 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/game/ui/ingame_menu/IngameMenu.tscn b/game/ui/ingame_menu/IngameMenu.tscn index 9406723..6795fe6 100644 --- a/game/ui/ingame_menu/IngameMenu.tscn +++ b/game/ui/ingame_menu/IngameMenu.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=6 format=2] [ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] [ext_resource path="res://ui/options/Options.tscn" type="PackedScene" id=2] [ext_resource path="res://ui/ingame_menu/ExitButton.gd" type="Script" id=3] [ext_resource path="res://ui/keybinds/Keybinds.tscn" type="PackedScene" id=4] +[ext_resource path="res://ui/interface/InterfaceOptions.tscn" type="PackedScene" id=5] [node name="IngameMenu" type="Control"] anchor_right = 1.0 @@ -31,7 +32,7 @@ __meta__ = { margin_left = 4.0 margin_top = 4.0 margin_right = 151.0 -margin_bottom = 132.0 +margin_bottom = 166.0 [node name="Resume" type="Button" parent="Menu/VBoxContainer"] margin_right = 147.0 @@ -44,16 +45,25 @@ margin_right = 147.0 margin_bottom = 60.5702 text = "Keybinds" -[node name="Options" type="Button" parent="Menu/VBoxContainer"] +[node name="Interface" type="Button" parent="Menu/VBoxContainer"] margin_top = 68.0 margin_right = 147.0 margin_bottom = 94.5702 -text = "Options" +text = "Interface" +__meta__ = { +"_edit_use_anchors_": false +} -[node name="Exit" type="Button" parent="Menu/VBoxContainer"] +[node name="Options" type="Button" parent="Menu/VBoxContainer"] margin_top = 102.0 margin_right = 147.0 margin_bottom = 128.57 +text = "Options" + +[node name="Exit" type="Button" parent="Menu/VBoxContainer"] +margin_top = 136.0 +margin_right = 147.0 +margin_bottom = 162.57 text = "Exit" script = ExtResource( 3 ) @@ -78,6 +88,19 @@ margin_left = -426.0 margin_top = -270.0 margin_right = 426.0 margin_bottom = 270.0 + +[node name="InterfaceOptions" parent="." instance=ExtResource( 5 )] +visible = false +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -331.0 +margin_top = -224.5 +margin_right = 331.0 +margin_bottom = 224.5 + [connection signal="pressed" from="Menu/VBoxContainer/Resume" to="." method="hide"] [connection signal="pressed" from="Menu/VBoxContainer/Keybinds" to="KeybindWindow" method="show"] +[connection signal="pressed" from="Menu/VBoxContainer/Interface" to="InterfaceOptions" method="show"] [connection signal="pressed" from="Menu/VBoxContainer/Options" to="Options" method="show"] diff --git a/game/ui/interface/InterfaceOptions.gd b/game/ui/interface/InterfaceOptions.gd new file mode 100644 index 0000000..1ecf6d1 --- /dev/null +++ b/game/ui/interface/InterfaceOptions.gd @@ -0,0 +1,6 @@ +extends PanelContainer + +export(NodePath) var actionbar_set_default_button_path : NodePath + +func set_player(p_player: Entity) -> void: + get_node(actionbar_set_default_button_path).set_player(p_player) diff --git a/game/ui/interface/InterfaceOptions.tscn b/game/ui/interface/InterfaceOptions.tscn new file mode 100644 index 0000000..e4a20f3 --- /dev/null +++ b/game/ui/interface/InterfaceOptions.tscn @@ -0,0 +1,52 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://ui/interface/SetActionbarAsDefault.gd" type="Script" id=1] +[ext_resource path="res://ui/interface/InterfaceOptions.gd" type="Script" id=2] + +[node name="InterfaceOptions" type="PanelContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} +actionbar_set_default_button_path = NodePath("VBoxContainer2/VBoxContainer/SetActionbarAsDefault") + +[node name="VBoxContainer2" type="VBoxContainer" parent="."] +margin_left = 7.0 +margin_top = 7.0 +margin_right = 1017.0 +margin_bottom = 593.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer2"] +margin_right = 1010.0 +margin_bottom = 30.0 +size_flags_horizontal = 3 + +[node name="Label" type="Label" parent="VBoxContainer2/HBoxContainer"] +margin_top = 8.0 +margin_right = 966.0 +margin_bottom = 22.0 +size_flags_horizontal = 3 +text = "Interface options" + +[node name="Button" type="Button" parent="VBoxContainer2/HBoxContainer"] +margin_left = 970.0 +margin_right = 1010.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 40, 30 ) +text = "X" + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer2"] +margin_top = 34.0 +margin_right = 1010.0 +margin_bottom = 586.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="SetActionbarAsDefault" type="Button" parent="VBoxContainer2/VBoxContainer"] +margin_right = 1010.0 +margin_bottom = 20.0 +text = "Set current actionbar setup as default" +script = ExtResource( 1 ) +[connection signal="pressed" from="VBoxContainer2/HBoxContainer/Button" to="." method="hide"] diff --git a/game/ui/interface/SetActionbarAsDefault.gd b/game/ui/interface/SetActionbarAsDefault.gd new file mode 100644 index 0000000..c2cdd07 --- /dev/null +++ b/game/ui/interface/SetActionbarAsDefault.gd @@ -0,0 +1,16 @@ +extends Button + +var _player : Entity + +func set_player(p_player: Entity) -> void: + _player = p_player + +func _pressed(): + if _player && is_instance_valid(_player): + var abp : ActionBarProfile = _player.get_action_bar_profile() + + var cp : ClassProfile = ProfileManager.getc_player_profile().get_class_profile(_player.gets_entity_data().get_path()) + + cp.get_default_action_bar_profile().from_actionbar_profile(abp) + + ProfileManager.save() diff --git a/game/ui/keybinds/Keybinds.gd b/game/ui/keybinds/Keybinds.gd index 9d63e78..bcc3db4 100644 --- a/game/ui/keybinds/Keybinds.gd +++ b/game/ui/keybinds/Keybinds.gd @@ -24,6 +24,24 @@ export(PackedScene) var keybind_category_scene : PackedScene export(NodePath) var content_container_path : NodePath +var _player : Entity + +func set_player(player : Entity): + if _player: + _player.disconnect("centity_data_changed", self, "on_data_changed") + + _player = player + + on_data_changed(_player.getc_entity_data()) + + _player.connect("centity_data_changed", self, "on_data_changed") + + +func on_data_changed(data): + if data: + ProfileManager.on_keybinds_changed(data.get_path()) + InputMap.load_from_globals() + # Note for the reader: # @@ -127,3 +145,12 @@ func a_ready(): # Do not start processing input until a button is pressed set_process_input(false) + +func close(): + InputMap.load_from_globals() + + if _player: + ProfileManager.on_keybinds_changed(_player.getc_entity_data().get_path()) + + hide() + diff --git a/game/ui/keybinds/Keybinds.tscn b/game/ui/keybinds/Keybinds.tscn index e6ba833..c5046e3 100644 --- a/game/ui/keybinds/Keybinds.tscn +++ b/game/ui/keybinds/Keybinds.tscn @@ -1,8 +1,15 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=11 format=2] [ext_resource path="res://ui/keybinds/Keybinds.gd" type="Script" id=1] [ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=2] [ext_resource path="res://ui/keybinds/KeybindCategory.tscn" type="PackedScene" id=3] +[ext_resource path="res://ui/icons/icon_mouse.png" type="Texture" id=4] +[ext_resource path="res://ui/icons/icon_keyboard.png" type="Texture" id=5] +[ext_resource path="res://ui/icons/icon_joy_button.png" type="Texture" id=6] +[ext_resource path="res://ui/icons/icon_remove.png" type="Texture" id=7] +[ext_resource path="res://ui/icons/icon_add.png" type="Texture" id=8] +[ext_resource path="res://ui/icons/icon_edit.png" type="Texture" id=9] +[ext_resource path="res://ui/icons/icon_joy_axis.png" type="Texture" id=10] [node name="KeybindWindow" type="PanelContainer"] anchor_right = 1.0 @@ -13,7 +20,6 @@ __meta__ = { "_edit_use_anchors_": false } keybind_category_scene = ExtResource( 3 ) -content_container_path = NodePath("VBoxContainer/ScrollContainer/Content") [node name="VBoxContainer" type="VBoxContainer" parent="."] margin_left = 4.0 @@ -27,7 +33,7 @@ margin_bottom = 30.0 [node name="Label" type="Label" parent="VBoxContainer/HBoxContainer"] margin_top = 7.0 -margin_right = 968.0 +margin_right = 972.0 margin_bottom = 22.0 size_flags_horizontal = 3 text = "Keybinds" @@ -39,17 +45,19 @@ margin_bottom = 30.0 rect_min_size = Vector2( 40, 30 ) text = "X" -[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer"] +[node name="InputMapEditor" type="InputMapEditor" parent="VBoxContainer"] margin_top = 38.0 margin_right = 1016.0 margin_bottom = 554.0 size_flags_horizontal = 3 size_flags_vertical = 3 -scroll_horizontal_enabled = false - -[node name="Content" type="VBoxContainer" parent="VBoxContainer/ScrollContainer"] -margin_right = 1016.0 -size_flags_horizontal = 3 +add_texture = ExtResource( 8 ) +remove_texture = ExtResource( 7 ) +edit_texture = ExtResource( 9 ) +keyboard_texture = ExtResource( 5 ) +joybutton_texture = ExtResource( 6 ) +joyaxis_texture = ExtResource( 10 ) +mouse_texture = ExtResource( 4 ) [node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer"] margin_top = 562.0 @@ -58,8 +66,8 @@ margin_bottom = 592.0 alignment = 2 [node name="Button" type="Button" parent="VBoxContainer/HBoxContainer2"] -margin_left = 848.0 -margin_right = 928.0 +margin_left = 852.0 +margin_right = 932.0 margin_bottom = 30.0 rect_min_size = Vector2( 80, 30 ) text = "Cancel" @@ -71,3 +79,6 @@ margin_bottom = 30.0 rect_min_size = Vector2( 80, 30 ) text = "OK" [connection signal="pressed" from="VBoxContainer/HBoxContainer/Button" to="." method="hide"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer2/Button" to="." method="hide"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer2/Button2" to="." method="close"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer2/Button2" to="VBoxContainer/InputMapEditor" method="queue_save"] diff --git a/game/ui/loot_window/LootEntry.gd b/game/ui/loot_window/LootEntry.gd index 0a80b0d..28df181 100644 --- a/game/ui/loot_window/LootEntry.gd +++ b/game/ui/loot_window/LootEntry.gd @@ -35,7 +35,7 @@ func _ready(): label = get_node(label_path) as RichTextLabel if icon == null or label == null: - print("LootEntry is not setup correctly!") + Logger.error("LootEntry is not setup correctly!") func on_click(): player.loot_crequest(index) diff --git a/game/ui/loot_window/LootWindow.gd b/game/ui/loot_window/LootWindow.gd index 51d5634..7f525c2 100644 --- a/game/ui/loot_window/LootWindow.gd +++ b/game/ui/loot_window/LootWindow.gd @@ -29,12 +29,14 @@ var player : Entity var target_bag : Bag func _ready(): + get_node("../../../").loot_window = self + container = get_node(container_path) connect("visibility_changed", self, "on_visibility_changed") if entry_scene == null: - print("LootWindow: entry_scene is null") + Logger.error("LootWindow: entry_scene is null") func refresh(): for child in container.get_children(): @@ -57,7 +59,11 @@ func refresh(): func set_player(p_player : Entity) -> void: player = p_player player.connect("ctarget_bag_changed", self, "ctarget_bag_changed") - player.connect("onc_open_loot_winow_request", self, "onc_open_loot_winow_request") + player.connect("onc_open_winow_request", self, "onc_open_loot_winow_request") + +func on_player_moved(): + if visible: + hide() func on_visibility_changed(): if visible: @@ -66,7 +72,7 @@ func on_visibility_changed(): if target_bag != null: target_bag.disconnect("item_removed", self, "on_item_removed") target_bag = null - + func on_item_removed(bag: Bag, item: ItemInstance, slot_id: int) -> void: refresh() @@ -82,5 +88,11 @@ func ctarget_bag_changed(entity: Entity, bag: Bag) -> void: target_bag.connect("item_removed", self, "on_item_removed") -func onc_open_loot_winow_request() -> void: +func onc_open_loot_winow_request(window_id) -> void: + if window_id != EntityEnums.ENTITY_WINDOW_LOOT: + return + show() + + if player.has_signal("player_moved") && !player.is_connected("player_moved", self, "on_player_moved"): + player.connect("player_moved", self, "on_player_moved", [], CONNECT_ONESHOT) diff --git a/game/ui/loot_window/LootWindow.tscn b/game/ui/loot_window/LootWindow.tscn index 5aa5eb5..18807e4 100644 --- a/game/ui/loot_window/LootWindow.tscn +++ b/game/ui/loot_window/LootWindow.tscn @@ -4,7 +4,7 @@ [ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=2] [ext_resource path="res://ui/loot_window/LootEntry.tscn" type="PackedScene" id=3] -[node name="LootWindow" type="PanelContainer"] +[node name="LootWindow" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 mouse_filter = 2 @@ -14,37 +14,43 @@ __meta__ = { "_edit_use_anchors_": false } entry_scene = ExtResource( 3 ) -container_path = NodePath("VBoxContainer/ScrollContainer/container") +container_path = NodePath("PanelContainer/VBoxContainer/ScrollContainer/container") -[node name="VBoxContainer" type="VBoxContainer" parent="."] +[node name="PanelContainer" type="PanelContainer" parent="."] +margin_left = 82.0 +margin_top = 83.0 +margin_right = 299.0 +margin_bottom = 359.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"] margin_left = 4.0 margin_top = 4.0 -margin_right = 1020.0 -margin_bottom = 596.0 +margin_right = 213.0 +margin_bottom = 272.0 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="Label" type="Label" parent="VBoxContainer"] -margin_right = 1016.0 +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"] +margin_right = 209.0 margin_bottom = 15.0 text = "Loot" align = 1 valign = 1 -[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer"] +[node name="ScrollContainer" type="ScrollContainer" parent="PanelContainer/VBoxContainer"] margin_top = 23.0 -margin_right = 1016.0 -margin_bottom = 558.0 +margin_right = 209.0 +margin_bottom = 234.0 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="container" type="VBoxContainer" parent="VBoxContainer/ScrollContainer"] -margin_right = 1016.0 +[node name="container" type="VBoxContainer" parent="PanelContainer/VBoxContainer/ScrollContainer"] +margin_right = 209.0 size_flags_horizontal = 3 -[node name="Button" type="Button" parent="VBoxContainer"] -margin_top = 566.0 -margin_right = 1016.0 -margin_bottom = 592.269 +[node name="Button" type="Button" parent="PanelContainer/VBoxContainer"] +margin_top = 242.0 +margin_right = 209.0 +margin_bottom = 268.57 text = "close" -[connection signal="pressed" from="VBoxContainer/Button" to="." method="hide"] +[connection signal="pressed" from="PanelContainer/VBoxContainer/Button" to="." method="hide"] diff --git a/game/ui/loot_window/game_module.tres b/game/ui/loot_window/game_module.tres new file mode 100644 index 0000000..8a640a3 --- /dev/null +++ b/game/ui/loot_window/game_module.tres @@ -0,0 +1,11 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://scripts/game_modules/ui_window_module.gd" type="Script" id=2] +[ext_resource path="res://ui/loot_window/LootWindow.tscn" type="PackedScene" id=3] + +[resource] +script = ExtResource( 2 ) +enabled = true +scene = ExtResource( 3 ) +index = -1 +add_button = false diff --git a/game/ui/options/Options.tscn b/game/ui/options/Options.tscn index 3284d0a..2316be6 100644 --- a/game/ui/options/Options.tscn +++ b/game/ui/options/Options.tscn @@ -68,10 +68,8 @@ margin_bottom = 70.0 property_category = "rendering" property_name = "viewport_scale" property_label = "Viewport Scale" -min_value = 20 -max_value = 100 -step = 5 -prefix = "" +min_value = 20.0 +step = 5.0 suffix = "%" [node name="Borderless" parent="PanelContainer/VBoxContainer/TabContainer/Video" instance=ExtResource( 4 )] @@ -141,6 +139,28 @@ property_category = "ui" property_name = "touchscreen_mode" property_label = "Touchscreen Mode" +[node name="OptionsSpinboxRow" parent="PanelContainer/VBoxContainer/TabContainer/Interface" instance=ExtResource( 8 )] +margin_top = 58.0 +margin_bottom = 82.0 +property_category = "ui" +property_name = "ui_scale" +property_label = "UI Scale" +min_value = 0.2 +max_value = 2.4 +step = 0.01 +rounded = false + +[node name="OptionsSpinboxRow2" parent="PanelContainer/VBoxContainer/TabContainer/Interface" instance=ExtResource( 8 )] +margin_top = 90.0 +margin_bottom = 114.0 +property_category = "ui" +property_name = "ui_scale_touch" +property_label = "UI Scale Touch" +min_value = 0.2 +max_value = 2.4 +step = 0.01 +rounded = false + [node name="Debug" type="VBoxContainer" parent="PanelContainer/VBoxContainer/TabContainer"] visible = false anchor_right = 1.0 @@ -172,4 +192,5 @@ margin_top = 439.0 margin_right = 535.0 margin_bottom = 465.57 text = "Close" + [connection signal="pressed" from="PanelContainer/VBoxContainer/Close" to="." method="hide"] diff --git a/game/ui/options/OptionsSpinboxRow.gd b/game/ui/options/OptionsSpinboxRow.gd index 1eac69d..ac26d37 100644 --- a/game/ui/options/OptionsSpinboxRow.gd +++ b/game/ui/options/OptionsSpinboxRow.gd @@ -26,9 +26,10 @@ export(String) var property_name : String export(String) var property_label : String -export(int) var min_value : int = 0 -export(int) var max_value : int = 100 -export(int) var step : int = 1 +export(float) var min_value : float = 0 +export(float) var max_value : float = 100 +export(float) var step : float = 1 +export(bool) var rounded : bool = true export(String) var prefix : String = "" export(String) var suffix : String = "" @@ -47,6 +48,8 @@ func _ready(): _sb.prefix = prefix _sb.suffix = suffix + _sb.rounded = rounded + if Engine.editor_hint: return diff --git a/game/ui/options/OptionsSpinboxRow.tscn b/game/ui/options/OptionsSpinboxRow.tscn index 6767464..dbe44e5 100644 --- a/game/ui/options/OptionsSpinboxRow.tscn +++ b/game/ui/options/OptionsSpinboxRow.tscn @@ -11,7 +11,15 @@ script = ExtResource( 1 ) __meta__ = { "_edit_use_anchors_": false } -step = 0 +property_category = "" +property_name = "" +property_label = "" +min_value = 0.0 +max_value = 100.0 +step = 0.0 +rounded = true +prefix = "" +suffix = "" [node name="Label" type="Label" parent="."] margin_top = 5.0 @@ -25,5 +33,6 @@ margin_right = 527.0 margin_bottom = 24.0 size_flags_horizontal = 3 size_flags_vertical = 3 +step = 0.0 rounded = true align = 1 diff --git a/game/ui/player_ui/player_ui.gd b/game/ui/player_ui/player_ui.gd index 1d2c524..2752891 100644 --- a/game/ui/player_ui/player_ui.gd +++ b/game/ui/player_ui/player_ui.gd @@ -20,11 +20,38 @@ extends CanvasLayer # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -export(NodePath) var loot_window_path : NodePath +export (String) var player_path : String = "../.." + + +export(NodePath) var gui_base_path : NodePath +export(NodePath) var buttons_path : NodePath +export(NodePath) var windows_path : NodePath + +var gui_base : Node +var buttons : Node +var windows : Node + var loot_window : Control func _ready(): - loot_window = get_node(loot_window_path) as Control + initialize() + + if player_path != null: + var player = get_node(player_path) + + for c in windows.get_children(): + if c.has_method("set_player"): + c.set_player(player) + + for c in gui_base.get_children(): + if c.has_method("set_player"): + c.set_player(player) + +func initialize(): + gui_base = get_node(gui_base_path) + buttons = get_node(buttons_path) + windows = get_node(windows_path) + func _on_Player_onc_open_loot_winow_request() -> void: if loot_window != null: diff --git a/game/ui/player_ui/player_ui.tscn b/game/ui/player_ui/player_ui.tscn index 700a97b..a3ca5d6 100644 --- a/game/ui/player_ui/player_ui.tscn +++ b/game/ui/player_ui/player_ui.tscn @@ -1,35 +1,20 @@ -[gd_scene load_steps=27 format=2] +[gd_scene load_steps=10 format=2] [ext_resource path="res://player/GUI.gd" type="Script" id=1] [ext_resource path="res://ui/ingame_menu/IngameMenu.tscn" type="PackedScene" id=2] -[ext_resource path="res://player/Unitframes.gd" type="Script" id=3] -[ext_resource path="res://ui/errorframe/ErrorFrame.tscn" type="PackedScene" id=4] -[ext_resource path="res://ui/auraframe/AuraFrame.tscn" type="PackedScene" id=5] -[ext_resource path="res://ui/touch_pad/TurnPanel.gd" type="Script" id=7] -[ext_resource path="res://ui/actionbars/Actionbars.gd" type="Script" id=8] +[ext_resource path="res://ui/theme/menu_icon.tres" type="Texture" id=6] [ext_resource path="res://ui/buttons/Buttons.gd" type="Script" id=9] [ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=10] -[ext_resource path="res://ui/windows/TalentWindow.tscn" type="PackedScene" id=11] -[ext_resource path="res://ui/unitframes/TargetUnitframe.tscn" type="PackedScene" id=12] -[ext_resource path="res://ui/touch_pad/analog.tscn" type="PackedScene" id=13] -[ext_resource path="res://ui/actionbars/ActionBar.tscn" type="PackedScene" id=14] -[ext_resource path="res://ui/bags/Bag.tscn" type="PackedScene" id=15] -[ext_resource path="res://ui/castbar/Castbar.tscn" type="PackedScene" id=16] -[ext_resource path="res://ui/windows/SpellBookWindow.tscn" type="PackedScene" id=17] -[ext_resource path="res://ui/minimap/MiniMap.tscn" type="PackedScene" id=18] -[ext_resource path="res://ui/loot_window/LootWindow.tscn" type="PackedScene" id=19] -[ext_resource path="res://ui/windows/CraftingWindow.tscn" type="PackedScene" id=20] -[ext_resource path="res://ui/unitframes/UnitframeBase.tscn" type="PackedScene" id=21] -[ext_resource path="res://ui/theme/spellbook_icon.tres" type="Texture" id=23] -[ext_resource path="res://ui/theme/bag_icon.tres" type="Texture" id=24] [ext_resource path="res://ui/theme/locked_icon.tres" type="Texture" id=25] [ext_resource path="res://ui/theme/unlocked_icon.tres" type="Texture" id=26] [ext_resource path="res://ui/player_ui/player_ui.gd" type="Script" id=28] -[ext_resource path="res://ui/windows/CharacterWindow.tscn" type="PackedScene" id=29] +[ext_resource path="res://ui/buttons/ImageButton.tscn" type="PackedScene" id=30] [node name="GUILayer" type="CanvasLayer"] script = ExtResource( 28 ) -loot_window_path = NodePath("GUI/Windows/LootWindow") +gui_base_path = NodePath("GUI") +buttons_path = NodePath("GUI/Buttons") +windows_path = NodePath("GUI/Windows") [node name="GUI" type="Control" parent="."] anchor_right = 1.0 @@ -40,272 +25,35 @@ script = ExtResource( 1 ) __meta__ = { "_edit_lock_": true } -child_controls = [ NodePath("Unitframes"), NodePath("Actionbars"), NodePath("Windows/SpellBookWindow"), NodePath("Buttons"), NodePath("Castbar"), NodePath("AuraFrame"), NodePath("Windows/Inventory"), NodePath("Windows/LootWindow"), NodePath("Windows/TalentWindow"), NodePath("Windows/CraftingWindow") ] -[node name="TouchTargetControls" type="MarginContainer" parent="GUI"] -visible = false -anchor_right = 1.0 -anchor_bottom = 1.0 -mouse_filter = 2 -custom_constants/margin_right = 272 -custom_constants/margin_top = 481 -custom_constants/margin_left = 60 -custom_constants/margin_bottom = 41 -__meta__ = { -"_edit_group_": true -} - -[node name="HBoxContainer" type="HBoxContainer" parent="GUI/TouchTargetControls"] -margin_left = 60.0 -margin_top = 481.0 -margin_right = 752.0 -margin_bottom = 559.0 -mouse_filter = 2 -size_flags_horizontal = 7 -size_flags_vertical = 7 - -[node name="Control" type="Control" parent="GUI/TouchTargetControls/HBoxContainer"] -margin_right = 603.0 -margin_bottom = 78.0 -mouse_filter = 2 -size_flags_horizontal = 15 -size_flags_vertical = 15 -size_flags_stretch_ratio = 12.0 - -[node name="TargetPad" type="Control" parent="GUI/TouchTargetControls/HBoxContainer"] -margin_left = 611.0 -margin_right = 692.0 -margin_bottom = 78.0 -mouse_filter = 2 -size_flags_horizontal = 15 -size_flags_vertical = 15 -size_flags_stretch_ratio = 1.6 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="Analog" parent="GUI/TouchTargetControls/HBoxContainer/TargetPad" instance=ExtResource( 13 )] -position = Vector2( 40, 30 ) -padname = "TargetPad" - -[node name="TouchMovementControls" type="MarginContainer" parent="GUI"] -anchor_right = 1.0 -anchor_bottom = 1.0 -mouse_filter = 2 -custom_constants/margin_top = 200 -__meta__ = { -"_edit_group_": true, -"_edit_use_anchors_": false -} - -[node name="HBoxContainer" type="HBoxContainer" parent="GUI/TouchMovementControls"] -margin_top = 200.0 -margin_right = 1024.0 -margin_bottom = 600.0 -mouse_filter = 2 -size_flags_horizontal = 7 -size_flags_vertical = 7 - -[node name="VBoxContainer" type="VBoxContainer" parent="GUI/TouchMovementControls/HBoxContainer"] -margin_right = 323.0 -margin_bottom = 400.0 -mouse_filter = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -size_flags_stretch_ratio = 1.4 - -[node name="Control" type="Control" parent="GUI/TouchMovementControls/HBoxContainer/VBoxContainer"] -margin_right = 323.0 -margin_bottom = 196.0 -mouse_filter = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="TouchPad" type="Control" parent="GUI/TouchMovementControls/HBoxContainer/VBoxContainer"] -margin_top = 204.0 -margin_right = 323.0 -margin_bottom = 400.0 -mouse_filter = 2 -size_flags_horizontal = 15 -size_flags_vertical = 15 - -[node name="Analog" parent="GUI/TouchMovementControls/HBoxContainer/VBoxContainer/TouchPad" instance=ExtResource( 13 )] -position = Vector2( 107.368, 94.2101 ) -padname = "TouchPad" - -[node name="Control" type="Control" parent="GUI/TouchMovementControls/HBoxContainer"] -margin_left = 327.0 -margin_right = 557.0 -margin_bottom = 400.0 -mouse_filter = 2 -size_flags_horizontal = 15 -size_flags_vertical = 15 - -[node name="VBoxContainer2" type="VBoxContainer" parent="GUI/TouchMovementControls/HBoxContainer"] -margin_left = 561.0 -margin_right = 1024.0 -margin_bottom = 400.0 -mouse_filter = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -size_flags_stretch_ratio = 2.0 - -[node name="Control" type="Control" parent="GUI/TouchMovementControls/HBoxContainer/VBoxContainer2"] -margin_right = 463.0 -margin_bottom = 150.0 -mouse_filter = 2 -size_flags_vertical = 3 - -[node name="TurnPanel" type="Control" parent="GUI/TouchMovementControls/HBoxContainer/VBoxContainer2"] -margin_top = 158.0 -margin_right = 463.0 -margin_bottom = 400.0 -mouse_filter = 2 -size_flags_horizontal = 15 -size_flags_vertical = 15 -size_flags_stretch_ratio = 1.6 - -[node name="Node2D" type="Node2D" parent="GUI/TouchMovementControls/HBoxContainer/VBoxContainer2/TurnPanel"] -position = Vector2( -600, -200 ) -script = ExtResource( 7 ) -listenerNodePath = "../../../../../../.." - -[node name="Buttons" type="Control" parent="GUI"] -anchor_left = 0.5 +[node name="Buttons" type="HBoxContainer" parent="GUI"] anchor_top = 1.0 -anchor_right = 0.5 anchor_bottom = 1.0 -margin_left = -202.0 -margin_top = -45.0 -margin_right = 140.0 +margin_top = -40.0 +margin_right = 342.0 +rect_min_size = Vector2( 0, 40 ) mouse_filter = 2 +custom_constants/separation = 0 script = ExtResource( 9 ) __meta__ = { "_edit_group_": true, "_edit_use_anchors_": false } -spell_book_path = NodePath("../Windows/SpellBookWindow") -spell_book_button_path = NodePath("HBoxContainer/SpellBookButton") -lock_button_path = NodePath("HBoxContainer/LockButton") +image_button = ExtResource( 30 ) +lock_button_path = NodePath("LockButton") -[node name="HBoxContainer" type="HBoxContainer" parent="GUI/Buttons"] +[node name="LockButton" type="Button" parent="GUI/Buttons"] +margin_right = 25.0 +margin_bottom = 40.0 +rect_min_size = Vector2( 25, 30 ) +focus_mode = 0 +toggle_mode = true +enabled_focus_mode = 0 +keep_pressed_outside = true + +[node name="locked" type="TextureRect" parent="GUI/Buttons/LockButton"] anchor_right = 1.0 anchor_bottom = 1.0 -mouse_filter = 2 -custom_constants/separation = 0 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="CharacterButton" type="Button" parent="GUI/Buttons/HBoxContainer"] -margin_right = 45.0 -margin_bottom = 45.0 -rect_min_size = Vector2( 45, 45 ) -hint_tooltip = "Inventory" -focus_mode = 0 -toggle_mode = true -enabled_focus_mode = 0 -keep_pressed_outside = true -text = "Char" - -[node name="SpellBookButton" type="Button" parent="GUI/Buttons/HBoxContainer"] -margin_left = 45.0 -margin_right = 90.0 -margin_bottom = 45.0 -rect_min_size = Vector2( 45, 45 ) -hint_tooltip = "SpellBook" -focus_mode = 0 -toggle_mode = true -enabled_focus_mode = 0 -keep_pressed_outside = true - -[node name="TextureRect" type="TextureRect" parent="GUI/Buttons/HBoxContainer/SpellBookButton"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -15.0 -margin_top = -15.0 -margin_right = 15.0 -margin_bottom = 15.0 -texture = ExtResource( 23 ) -expand = true -stretch_mode = 6 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="BagButton" type="Button" parent="GUI/Buttons/HBoxContainer"] -margin_left = 90.0 -margin_right = 135.0 -margin_bottom = 45.0 -rect_min_size = Vector2( 45, 45 ) -hint_tooltip = "Inventory" -focus_mode = 0 -toggle_mode = true -enabled_focus_mode = 0 -keep_pressed_outside = true - -[node name="TextureRect2" type="TextureRect" parent="GUI/Buttons/HBoxContainer/BagButton"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -15.0 -margin_top = -15.0 -margin_right = 15.0 -margin_bottom = 15.0 -texture = ExtResource( 24 ) -expand = true -stretch_mode = 6 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="TalentButton" type="Button" parent="GUI/Buttons/HBoxContainer"] -margin_left = 135.0 -margin_right = 181.626 -margin_bottom = 45.0 -rect_min_size = Vector2( 45, 45 ) -hint_tooltip = "Inventory" -focus_mode = 0 -toggle_mode = true -enabled_focus_mode = 0 -keep_pressed_outside = true -text = "Talent" - -[node name="CraftingButton" type="Button" parent="GUI/Buttons/HBoxContainer"] -visible = false -margin_left = 181.0 -margin_right = 226.0 -margin_bottom = 45.0 -rect_min_size = Vector2( 45, 45 ) -hint_tooltip = "Inventory" -focus_mode = 0 -toggle_mode = true -enabled_focus_mode = 0 -keep_pressed_outside = true -text = "Craft" - -[node name="LockButton" type="Button" parent="GUI/Buttons/HBoxContainer"] -margin_left = 181.0 -margin_right = 226.0 -margin_bottom = 45.0 -rect_min_size = Vector2( 45, 45 ) -focus_mode = 0 -toggle_mode = true -enabled_focus_mode = 0 -keep_pressed_outside = true - -[node name="locked" type="TextureRect" parent="GUI/Buttons/HBoxContainer/LockButton"] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -15.0 -margin_top = -15.0 -margin_right = 15.0 -margin_bottom = 15.0 texture = ExtResource( 25 ) expand = true stretch_mode = 6 @@ -313,16 +61,10 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="unlocked" type="TextureRect" parent="GUI/Buttons/HBoxContainer/LockButton"] +[node name="unlocked" type="TextureRect" parent="GUI/Buttons/LockButton"] visible = false -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -15.0 -margin_top = -15.0 -margin_right = 15.0 -margin_bottom = 15.0 +anchor_right = 1.0 +anchor_bottom = 1.0 texture = ExtResource( 26 ) expand = true stretch_mode = 6 @@ -330,123 +72,31 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Menu" type="Button" parent="GUI/Buttons/HBoxContainer"] -margin_left = 226.0 -margin_right = 271.0 -margin_bottom = 45.0 -rect_min_size = Vector2( 45, 45 ) +[node name="Menu" type="Button" parent="GUI/Buttons"] +margin_left = 25.0 +margin_right = 50.0 +margin_bottom = 40.0 +rect_min_size = Vector2( 25, 30 ) focus_mode = 0 enabled_focus_mode = 0 keep_pressed_outside = true -text = "Menu" -[node name="Actionbars" type="HBoxContainer" parent="GUI"] +[node name="TextureRect3" type="TextureRect" parent="GUI/Buttons/Menu"] anchor_right = 1.0 anchor_bottom = 1.0 -mouse_filter = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -custom_constants/separation = 0 -alignment = 2 -script = ExtResource( 8 ) +texture = ExtResource( 6 ) +expand = true +stretch_mode = 6 __meta__ = { "_edit_use_anchors_": false } -actionbar_scene = ExtResource( 14 ) [node name="Windows" type="CanvasLayer" parent="GUI"] layer = 2 -[node name="CharacterWindow" parent="GUI/Windows" instance=ExtResource( 29 )] -visible = false -anchor_right = 0.0 -anchor_bottom = 0.0 -margin_left = 66.0 -margin_top = 44.0 -margin_right = 681.0 -margin_bottom = 474.0 - -[node name="SpellBookWindow" parent="GUI/Windows" instance=ExtResource( 17 )] -visible = false -margin_left = 60.0 -margin_top = 50.0 -margin_right = 561.0 - -[node name="TalentWindow" parent="GUI/Windows" instance=ExtResource( 11 )] -visible = false -anchor_right = 0.0 -anchor_bottom = 0.0 -margin_left = 62.0 -margin_top = 54.0 -margin_right = 656.0 -margin_bottom = 513.0 - -[node name="CraftingWindow" parent="GUI/Windows" instance=ExtResource( 20 )] -visible = false -margin_left = 31.0 -margin_top = 23.0 -margin_right = -345.0 -margin_bottom = -67.0 - -[node name="Inventory" parent="GUI/Windows" instance=ExtResource( 15 )] -visible = false -margin_left = 56.0 -margin_top = 69.0 -margin_right = -422.0 -margin_bottom = -109.0 -inventory_item_container_path = NodePath("../Inventory/VBoxContainer/HBoxContainer3/PanelContainer2/VBoxContainer/ScrollContainer/GridContainer") - -[node name="LootWindow" parent="GUI/Windows" instance=ExtResource( 19 )] -visible = false -anchor_right = 0.0 -anchor_bottom = 0.0 -margin_left = 39.0 -margin_top = 85.0 -margin_right = 242.0 -margin_bottom = 315.0 - -[node name="Unitframes" type="Control" parent="GUI"] -anchor_right = 1.0 -anchor_bottom = 1.0 -margin_left = 1.0 -margin_right = 1.0 -mouse_filter = 2 -script = ExtResource( 3 ) -__meta__ = { -"_edit_lock_": true -} -player_unit_frame_path = NodePath("PlayerUnitFrame") -target_unit_frame_path = NodePath("TargetUnitframe") - -[node name="PlayerUnitFrame" parent="GUI/Unitframes" instance=ExtResource( 21 )] -margin_right = 151.0 - -[node name="TargetUnitframe" parent="GUI/Unitframes" instance=ExtResource( 12 )] -visible = false - -[node name="MiniMap" parent="GUI" instance=ExtResource( 18 )] - -[node name="AuraFrame" parent="GUI" instance=ExtResource( 5 )] -margin_left = -331.0 -margin_bottom = 123.0 - -[node name="Castbar" parent="GUI" instance=ExtResource( 16 )] -visible = false - -[node name="ErrorFrame" parent="GUI" instance=ExtResource( 4 )] -anchor_left = 0.5 -anchor_right = 0.5 -margin_left = -191.728 -margin_top = 140.333 -margin_right = 180.272 -margin_bottom = 288.333 -mouse_filter = 2 - [node name="IngameMenu" parent="GUI" instance=ExtResource( 2 )] visible = false -[connection signal="toggled" from="GUI/Buttons/HBoxContainer/CharacterButton" to="GUI/Windows/CharacterWindow" method="_on_CharacterButton_toggled"] -[connection signal="toggled" from="GUI/Buttons/HBoxContainer/SpellBookButton" to="GUI/Windows/SpellBookWindow" method="_on_SpellBookButton_toggled"] -[connection signal="toggled" from="GUI/Buttons/HBoxContainer/BagButton" to="GUI/Windows/Inventory" method="_on_BagButton_toggled"] -[connection signal="toggled" from="GUI/Buttons/HBoxContainer/TalentButton" to="GUI/Windows/TalentWindow" method="_on_TalentButton_toggled"] -[connection signal="toggled" from="GUI/Buttons/HBoxContainer/CraftingButton" to="GUI/Windows/CraftingWindow" method="_on_CraftingButton_toggled"] -[connection signal="pressed" from="GUI/Buttons/HBoxContainer/Menu" to="GUI/IngameMenu" method="show"] + +[connection signal="pressed" from="GUI/Buttons/Menu" to="GUI/IngameMenu" method="show"] + +[editable path="GUI/IngameMenu"] diff --git a/game/ui/windows/SpellBookWindow.gd b/game/ui/spellbook/SpellBookWindow.gd similarity index 89% rename from game/ui/windows/SpellBookWindow.gd rename to game/ui/spellbook/SpellBookWindow.gd index 6081437..4988b5e 100644 --- a/game/ui/windows/SpellBookWindow.gd +++ b/game/ui/spellbook/SpellBookWindow.gd @@ -20,6 +20,8 @@ extends Control # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +var opener_button : BaseButton + export(NodePath) var spell_entry_container_path : NodePath export(NodePath) var prev_button_path : NodePath export(NodePath) var next_button_path : NodePath @@ -45,6 +47,8 @@ var _character_class : EntityClassData var _spells : Array func _ready() -> void: + connect("visibility_changed", self, "on_visibility_changed") + _spell_entries.clear() _spell_entry_container = get_node(spell_entry_container_path) @@ -58,6 +62,9 @@ func _ready() -> void: _prev_button.connect("pressed", self, "dec_page") _next_button.connect("pressed", self, "inc_page") + + if ESS.use_spell_points: + _spell_points_label.text = "" connect("visibility_changed", self, "_visibility_changed") @@ -129,7 +136,8 @@ func refresh_all() -> void: if _page > _max_pages: _page = _max_pages - _spell_points_label.text = "Free spell points: " + str(_player.getc_free_spell_points()) + if ESS.use_spell_points: + _spell_points_label.text = "Free spell points: " + str(_player.getc_free_spell_points()) refresh_entries() @@ -191,9 +199,19 @@ class CustomSpellSorter: return true +func on_visibility_changed(): + if opener_button: + if visible && !opener_button.pressed: + opener_button.pressed = true + return + + if !visible && opener_button.pressed: + opener_button.pressed = false -func _on_SpellBookButton_toggled(button_pressed): +func _on_button_toggled(button_pressed): if button_pressed: - show() + if !visible: + show() else: - hide() + if visible: + hide() diff --git a/game/ui/spellbook/SpellBookWindow.tscn b/game/ui/spellbook/SpellBookWindow.tscn new file mode 100644 index 0000000..2f081fb --- /dev/null +++ b/game/ui/spellbook/SpellBookWindow.tscn @@ -0,0 +1,178 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] +[ext_resource path="res://ui/spellbook/SpellBookWindow.gd" type="Script" id=2] +[ext_resource path="res://ui/spellbook/SpellContainer.tscn" type="PackedScene" id=3] + +[node name="SpellBookWindow" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +theme = ExtResource( 1 ) +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} +spell_entry_container_path = NodePath("PanelContainer/PagedContent/GridContainer") +prev_button_path = NodePath("PanelContainer/PagedContent/Controls/HBoxContainer/Button2") +next_button_path = NodePath("PanelContainer/PagedContent/Controls/HBoxContainer/Button") +spell_points_label_path = NodePath("PanelContainer/PagedContent/Controls/HBoxContainer/SpellPoints") +show_not_learned = false + +[node name="PanelContainer" type="PanelContainer" parent="."] +margin_left = 79.0 +margin_top = 65.0 +margin_right = 535.0 +margin_bottom = 483.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PagedContent" type="VBoxContainer" parent="PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 452.0 +margin_bottom = 414.0 + +[node name="Header" type="HBoxContainer" parent="PanelContainer/PagedContent"] +margin_right = 448.0 +margin_bottom = 30.0 + +[node name="Label" type="Label" parent="PanelContainer/PagedContent/Header"] +margin_top = 7.0 +margin_right = 54.0 +margin_bottom = 22.0 +text = "Spellbook" + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/PagedContent/Header"] +margin_left = 58.0 +margin_right = 404.0 +margin_bottom = 30.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +alignment = 1 + +[node name="Button" type="Button" parent="PanelContainer/PagedContent/Header/HBoxContainer"] +margin_left = 123.0 +margin_right = 223.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 100, 0 ) +text = "Nature" + +[node name="Button" type="Button" parent="PanelContainer/PagedContent/Header"] +margin_left = 408.0 +margin_right = 448.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 40, 30 ) +text = "X" + +[node name="GridContainer" type="GridContainer" parent="PanelContainer/PagedContent"] +margin_top = 38.0 +margin_right = 448.0 +margin_bottom = 372.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +columns = 2 + +[node name="SpellContainer" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 0.0 +margin_top = 0.0 +margin_right = 222.0 +margin_bottom = 63.0 + +[node name="SpellContainer2" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 226.0 +margin_top = 0.0 +margin_right = 448.0 +margin_bottom = 63.0 + +[node name="SpellContainer3" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 0.0 +margin_top = 67.0 +margin_right = 222.0 +margin_bottom = 130.0 + +[node name="SpellContainer4" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 226.0 +margin_top = 67.0 +margin_right = 448.0 +margin_bottom = 130.0 + +[node name="SpellContainer5" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 0.0 +margin_top = 134.0 +margin_right = 222.0 +margin_bottom = 197.0 + +[node name="SpellContainer6" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 226.0 +margin_top = 134.0 +margin_right = 448.0 +margin_bottom = 197.0 + +[node name="SpellContainer7" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 0.0 +margin_top = 201.0 +margin_right = 222.0 +margin_bottom = 264.0 + +[node name="SpellContainer8" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 226.0 +margin_top = 201.0 +margin_right = 448.0 +margin_bottom = 264.0 + +[node name="SpellContainer9" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 0.0 +margin_top = 268.0 +margin_right = 222.0 +margin_bottom = 331.0 + +[node name="SpellContainer10" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 3 )] +margin_left = 226.0 +margin_top = 268.0 +margin_right = 448.0 +margin_bottom = 331.0 + +[node name="Controls" type="MarginContainer" parent="PanelContainer/PagedContent"] +margin_top = 380.0 +margin_right = 448.0 +margin_bottom = 410.0 +custom_constants/margin_right = 2 +custom_constants/margin_top = 2 +custom_constants/margin_left = 2 +custom_constants/margin_bottom = 2 + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/PagedContent/Controls"] +margin_left = 2.0 +margin_top = 2.0 +margin_right = 446.0 +margin_bottom = 28.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Button2" type="Button" parent="PanelContainer/PagedContent/Controls/HBoxContainer"] +margin_right = 145.0 +margin_bottom = 26.5702 +size_flags_horizontal = 3 +size_flags_vertical = 3 +text = "< Previous page" + +[node name="SpellPoints" type="Label" parent="PanelContainer/PagedContent/Controls/HBoxContainer"] +margin_left = 149.0 +margin_top = 5.0 +margin_right = 294.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +align = 1 +valign = 1 + +[node name="Button" type="Button" parent="PanelContainer/PagedContent/Controls/HBoxContainer"] +margin_left = 298.0 +margin_right = 444.0 +margin_bottom = 26.5702 +size_flags_horizontal = 3 +size_flags_vertical = 3 +text = "Next page >" + +[connection signal="pressed" from="PanelContainer/PagedContent/Header/Button" to="." method="hide"] diff --git a/game/ui/windows/SpellContainer.gd b/game/ui/spellbook/SpellContainer.gd similarity index 78% rename from game/ui/windows/SpellContainer.gd rename to game/ui/spellbook/SpellContainer.gd index 02596af..5f6dfec 100644 --- a/game/ui/windows/SpellContainer.gd +++ b/game/ui/spellbook/SpellContainer.gd @@ -106,28 +106,45 @@ func spell_button_pressed() -> void: _popup.popup(Rect2(pos, _popup.rect_size)) func update_spell_indicators(): - if _spell_known: -# get_node(known_label_path).show() -# get_node(learn_button_path).hide() - - modulate = known_color + if ESS.use_spell_points: + if _spell_known: + get_node(known_label_path).show() + get_node(learn_button_path).hide() + + modulate = known_color + else: + if _spell != null: + if _spell.training_required_spell: + if not _player.spell_hasc(_spell.training_required_spell): + + if ESS.use_spell_points: + get_node(known_label_path).hide() + get_node(learn_button_path).show() + + modulate = unlearnable_color + + return + + if ESS.use_spell_points: + get_node(known_label_path).hide() + get_node(learn_button_path).show() + + modulate = not_known_color else: - if _spell != null: - if _spell.training_required_spell: - if not _player.spell_hasc(_spell.training_required_spell): - -# get_node(known_label_path).hide() -# get_node(learn_button_path).show() - - modulate = unlearnable_color - - return - -# get_node(known_label_path).hide() -# get_node(learn_button_path).show() - - modulate = not_known_color - - modulate = not_known_color + get_node(known_label_path).hide() + get_node(learn_button_path).hide() + + if _spell_known: + modulate = known_color + else: + if _spell != null: + if _spell.training_required_spell: + if not _player.spell_hasc(_spell.training_required_spell): + + modulate = unlearnable_color + + return + + modulate = not_known_color diff --git a/game/ui/windows/SpellContainer.tscn b/game/ui/spellbook/SpellContainer.tscn similarity index 90% rename from game/ui/windows/SpellContainer.tscn rename to game/ui/spellbook/SpellContainer.tscn index 1a8516d..3dda6b0 100644 --- a/game/ui/windows/SpellContainer.tscn +++ b/game/ui/spellbook/SpellContainer.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=5 format=2] -[ext_resource path="res://ui/windows/SpellDragAndDropSpellBook.gd" type="Script" id=1] -[ext_resource path="res://ui/windows/SpellContainer.gd" type="Script" id=2] -[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=3] -[ext_resource path="res://ui/spellbook/SpellEntryPopup.gd" type="Script" id=5] +[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] +[ext_resource path="res://ui/spellbook/SpellDragAndDropSpellBook.gd" type="Script" id=2] +[ext_resource path="res://ui/spellbook/SpellContainer.gd" type="Script" id=3] +[ext_resource path="res://ui/spellbook/SpellEntryPopup.gd" type="Script" id=4] [node name="SpellContainer" type="Control"] margin_left = 290.0 @@ -12,8 +12,8 @@ margin_right = 576.0 margin_bottom = 370.0 size_flags_horizontal = 3 size_flags_vertical = 3 -theme = ExtResource( 3 ) -script = ExtResource( 2 ) +theme = ExtResource( 1 ) +script = ExtResource( 3 ) __meta__ = { "_edit_use_anchors_": false } @@ -42,7 +42,7 @@ margin_bottom = 60.0 margin_right = 55.0 margin_bottom = 56.0 rect_min_size = Vector2( 55, 55 ) -script = ExtResource( 1 ) +script = ExtResource( 2 ) [node name="CenterContainer" type="MarginContainer" parent="PanelContainer/HBoxContainer/Button"] margin_left = 4.0 @@ -77,7 +77,7 @@ margin_left = 64.0 margin_top = 4.0 margin_right = 360.0 margin_bottom = 207.0 -script = ExtResource( 5 ) +script = ExtResource( 4 ) __meta__ = { "_edit_use_anchors_": false } @@ -108,7 +108,7 @@ size_flags_horizontal = 3 [node name="Button" type="Button" parent="SpellEntryPopup/VBoxContainer/HBoxContainer"] margin_left = 258.0 margin_right = 288.0 -margin_bottom = 26.269 +margin_bottom = 26.5702 rect_min_size = Vector2( 30, 0 ) text = "X" @@ -118,29 +118,29 @@ margin_right = 288.0 margin_bottom = 38.0 [node name="PanelContainer" type="PanelContainer" parent="SpellEntryPopup/VBoxContainer"] -visible = false margin_top = 46.0 margin_right = 288.0 -margin_bottom = 66.0 +margin_bottom = 69.0 rect_min_size = Vector2( 0, 20 ) [node name="KnownLabel" type="Label" parent="SpellEntryPopup/VBoxContainer/PanelContainer"] -margin_top = 2.0 -margin_right = 288.0 -margin_bottom = 17.0 +margin_left = 4.0 +margin_top = 4.0 +margin_right = 284.0 +margin_bottom = 19.0 text = "Known" align = 1 valign = 1 [node name="LearnButton" type="Button" parent="SpellEntryPopup/VBoxContainer"] visible = false -margin_top = 46.0 +margin_top = 77.0 margin_right = 288.0 -margin_bottom = 72.269 +margin_bottom = 103.57 text = "Learn" [node name="RichTextLabel" type="RichTextLabel" parent="SpellEntryPopup/VBoxContainer"] -margin_top = 46.0 +margin_top = 77.0 margin_right = 288.0 margin_bottom = 195.0 size_flags_horizontal = 3 diff --git a/game/ui/windows/SpellDragAndDropSpellBook.gd b/game/ui/spellbook/SpellDragAndDropSpellBook.gd similarity index 100% rename from game/ui/windows/SpellDragAndDropSpellBook.gd rename to game/ui/spellbook/SpellDragAndDropSpellBook.gd diff --git a/game/ui/spellbook/game_module.tres b/game/ui/spellbook/game_module.tres new file mode 100644 index 0000000..9080b7e --- /dev/null +++ b/game/ui/spellbook/game_module.tres @@ -0,0 +1,13 @@ +[gd_resource type="Resource" load_steps=4 format=2] + +[ext_resource path="res://ui/theme/spellbook_icon.tres" type="Texture" id=1] +[ext_resource path="res://ui/spellbook/SpellBookWindow.tscn" type="PackedScene" id=2] +[ext_resource path="res://scripts/game_modules/ui_window_module.gd" type="Script" id=3] + +[resource] +script = ExtResource( 3 ) +enabled = true +scene = ExtResource( 2 ) +opener_button_texture = ExtResource( 1 ) +index = 1 +add_button = true diff --git a/game/ui/talents/TalentEntry.gd b/game/ui/talents/TalentEntry.gd index e581886..5d2cab0 100644 --- a/game/ui/talents/TalentEntry.gd +++ b/game/ui/talents/TalentEntry.gd @@ -56,18 +56,23 @@ func _ready() -> void: _rank_label = get_node(rank_label_path) as Label _upgrade_button = get_node(upgrade_button_path) as Button -func set_player(player : Entity, spec : CharacterSpec, spec_index : int, row : int) -> void: +func set_player(player : Entity, spec : CharacterSpec, spec_index : int, row : int, pculomn : int) -> void: if _player != null: - _player.disconnect("ctalent_learned", self, "ctalent_learned") - _player.disconnect("ctalent_reset", self, "ctalent_reset") + _player.disconnect("cclass_talent_learned", self, "ctalent_learned") + _player.disconnect("ccharacter_talent_learned", self, "ctalent_learned") + _player.disconnect("cclass_talent_reset", self, "ctalent_reset") + _player.disconnect("ccharacter_talent_reset", self, "ctalent_reset") _row = row _spec = spec _player = player _spec_index = spec_index + culomn = pculomn - _player.connect("ctalent_learned", self, "ctalent_learned") - _player.connect("ctalent_reset", self, "ctalent_reset") + _player.connect("cclass_talent_learned", self, "ctalent_learned") + _player.connect("ccharacter_talent_learned", self, "ctalent_learned") + _player.connect("cclass_talent_reset", self, "ctalent_reset") + _player.connect("ccharacter_talent_reset", self, "ctalent_reset") refresh() @@ -86,7 +91,7 @@ func refresh() -> void: if a == null: break - if _player.talent_hasc(a.id): + if _player.class_talent_hasc(a.id): known_rank_count += 1 rank_count += 1 @@ -114,7 +119,7 @@ func open_popup() -> void: _popup.popup(Rect2(p, _popup.rect_size)) func upgrade(): - _player.talent_crequest_learn(_spec_index, _row, culomn) + _player.class_talent_crequest_learn(_spec_index, _row, culomn) func ctalent_learned(entity: Entity, talent_id: int) -> void: refresh() diff --git a/game/ui/talents/TalentRow.gd b/game/ui/talents/TalentRow.gd index bbefca5..27741c2 100644 --- a/game/ui/talents/TalentRow.gd +++ b/game/ui/talents/TalentRow.gd @@ -20,6 +20,10 @@ extends HBoxContainer # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +export(PackedScene) var entry_scene : PackedScene + func set_player(player : Entity, spec : CharacterSpec, spec_index: int, row : int) -> void: - for ch in get_children(): - ch.set_player(player, spec, spec_index, row) + for i in range(spec.get_num_columns(row)): + var ch : Node = entry_scene.instance() + add_child(ch) + ch.set_player(player, spec, spec_index, row, i) diff --git a/game/ui/talents/TalentRow.tscn b/game/ui/talents/TalentRow.tscn index b556fa0..4376857 100644 --- a/game/ui/talents/TalentRow.tscn +++ b/game/ui/talents/TalentRow.tscn @@ -14,31 +14,4 @@ script = ExtResource( 3 ) __meta__ = { "_edit_use_anchors_": false } - -[node name="TalentEntry" parent="." instance=ExtResource( 1 )] -margin_right = 198.0 -margin_bottom = 600.0 - -[node name="TalentEntry2" parent="." instance=ExtResource( 1 )] -margin_left = 206.0 -margin_right = 404.0 -margin_bottom = 600.0 -culomn = 1 - -[node name="TalentEntry3" parent="." instance=ExtResource( 1 )] -margin_left = 412.0 -margin_right = 610.0 -margin_bottom = 600.0 -culomn = 2 - -[node name="TalentEntry4" parent="." instance=ExtResource( 1 )] -margin_left = 618.0 -margin_right = 816.0 -margin_bottom = 600.0 -culomn = 3 - -[node name="TalentEntry5" parent="." instance=ExtResource( 1 )] -margin_left = 824.0 -margin_right = 1024.0 -margin_bottom = 600.0 -culomn = 4 +entry_scene = ExtResource( 1 ) diff --git a/game/ui/windows/TalentWindow.gd b/game/ui/talents/TalentWindow.gd similarity index 87% rename from game/ui/windows/TalentWindow.gd rename to game/ui/talents/TalentWindow.gd index 9b09c99..f6963ee 100644 --- a/game/ui/windows/TalentWindow.gd +++ b/game/ui/talents/TalentWindow.gd @@ -1,4 +1,4 @@ -extends PanelContainer +extends Control # Copyright (c) 2019-2020 Péter Magyar # @@ -20,6 +20,8 @@ extends PanelContainer # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. +var opener_button : BaseButton + export(PackedScene) var spec_scene : PackedScene export(PackedScene) var spec_switcher_scene : PackedScene export(NodePath) var spec_container_path : NodePath @@ -32,6 +34,8 @@ var _data : EntityData var _player : Entity func _ready(): + connect("visibility_changed", self, "on_visibility_changed") + _spec_container = get_node(spec_container_path) _spec_switcher_container = get_node(spec_switcher_path) @@ -96,10 +100,19 @@ func centity_data_changed(data: EntityData) -> void: s.set_spec(_player, spec, i) +func on_visibility_changed(): + if opener_button: + if visible && !opener_button.pressed: + opener_button.pressed = true + return + + if !visible && opener_button.pressed: + opener_button.pressed = false - -func _on_TalentButton_toggled(button_pressed): +func _on_button_toggled(button_pressed): if button_pressed: - show() + if !visible: + show() else: - hide() + if visible: + hide() diff --git a/game/ui/talents/TalentWindow.tscn b/game/ui/talents/TalentWindow.tscn new file mode 100644 index 0000000..44b83f6 --- /dev/null +++ b/game/ui/talents/TalentWindow.tscn @@ -0,0 +1,117 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] +[ext_resource path="res://ui/talents/Spec.tscn" type="PackedScene" id=2] +[ext_resource path="res://ui/talents/TalentWindow.gd" type="Script" id=3] +[ext_resource path="res://ui/talents/talent_switcher_button.tscn" type="PackedScene" id=4] + +[node name="TalentWindow" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +theme = ExtResource( 1 ) +script = ExtResource( 3 ) +spec_scene = ExtResource( 2 ) +spec_switcher_scene = ExtResource( 4 ) +spec_container_path = NodePath("PanelContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer/TabContainer2") +spec_switcher_path = NodePath("PanelContainer/VBoxContainer/Header/SpecSwitcher") + +[node name="PanelContainer" type="PanelContainer" parent="."] +margin_left = 68.0 +margin_top = 87.0 +margin_right = 643.0 +margin_bottom = 525.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 571.0 +margin_bottom = 434.0 + +[node name="Header" type="HBoxContainer" parent="PanelContainer/VBoxContainer"] +margin_right = 567.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 0, 30 ) +alignment = 1 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/Header"] +margin_top = 7.0 +margin_right = 42.0 +margin_bottom = 22.0 +text = "Talents" + +[node name="SpecSwitcher" type="HBoxContainer" parent="PanelContainer/VBoxContainer/Header"] +margin_left = 46.0 +margin_right = 523.0 +margin_bottom = 30.0 +size_flags_horizontal = 3 +alignment = 1 + +[node name="Button" type="Button" parent="PanelContainer/VBoxContainer/Header"] +margin_left = 527.0 +margin_right = 567.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 40, 30 ) +text = "X" + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer"] +margin_top = 38.0 +margin_right = 567.0 +margin_bottom = 430.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/HBoxContainer"] +margin_right = 185.0 +margin_bottom = 392.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 0.49 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer/PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 181.0 +margin_bottom = 388.0 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/HBoxContainer/PanelContainer/VBoxContainer"] +margin_right = 177.0 +margin_bottom = 15.0 +text = "Body" + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer/PanelContainer/VBoxContainer"] +margin_top = 23.0 +margin_right = 177.0 +margin_bottom = 384.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="PanelContainer2" type="PanelContainer" parent="PanelContainer/VBoxContainer/HBoxContainer"] +margin_left = 189.0 +margin_right = 567.0 +margin_bottom = 392.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/HBoxContainer/PanelContainer2"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 374.0 +margin_bottom = 388.0 + +[node name="Label2" type="Label" parent="PanelContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer"] +visible = false +margin_right = 672.0 +margin_bottom = 15.0 +text = "Class" + +[node name="TabContainer2" type="TabContainer" parent="PanelContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer"] +margin_right = 370.0 +margin_bottom = 384.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[connection signal="pressed" from="PanelContainer/VBoxContainer/Header/Button" to="." method="hide"] diff --git a/game/ui/talents/game_module.tres b/game/ui/talents/game_module.tres new file mode 100644 index 0000000..c343d87 --- /dev/null +++ b/game/ui/talents/game_module.tres @@ -0,0 +1,13 @@ +[gd_resource type="Resource" load_steps=4 format=2] + +[ext_resource path="res://ui/theme/talent_icon.tres" type="Texture" id=1] +[ext_resource path="res://scripts/game_modules/ui_window_module.gd" type="Script" id=2] +[ext_resource path="res://ui/talents/TalentWindow.tscn" type="PackedScene" id=3] + +[resource] +script = ExtResource( 2 ) +enabled = true +scene = ExtResource( 3 ) +opener_button_texture = ExtResource( 1 ) +index = 2 +add_button = true diff --git a/game/ui/theme/GameUI.png b/game/ui/theme/GameUI.png index 21f456f16fc478fa4ebdb416ca62b45a36df3758..abb3e2cff2a74cd6818e5f060f1c06f77e26bd32 100644 GIT binary patch delta 3404 zcmV-S4YTs6fC0@KkRyKp0drDELIAGL9O(c64F^d?K~#90?VVp}9LF8UzpFcPLPE07 zXGvbgmR0V`fF4E)vH%+>o+$y+vW>a2(ycL$Jw)IxynsWP67b-?%i9= z<_G{(mB)MGo6$t2fDP#R1YpufLg6MTPvzis8Ap&?E1LqkKhWm#t5 zt2zQ_P`dz@;PtQsFYq^}E z4;uuYNF)psG5Ngk!V89TJ7v+w_jz$sN8k)oAV{wScESgMGiT0dO2SeWl~^q1vZ;b% zQ1E1s6XAcWlRHjk16MP$EI$T-D2kFPR~t+Upcf{OV0kS7ZCclgR4TYAXZ=9EXAd5#)baO*kF}6l&HhD=UAW&1RSKlBG;0 z^JXE}Ee3=T?y$Gy#F_CCVZhnaZADQWFZWjK06;dI%>r1$vi|{qz{l$n&U36|+!Nrn zi<$*kzkWTl@V$HY4Cij@ASZaq=G=F@*V}8E_xh0|C2WcJl;g=G%OCx@piEE|U}k0p z0MLKY(SeSR4(3Jl<2d**+9Z2?v@CIy(8nL%e~CuU}5FfcFx0Jch?<_!!C80uP) z$zD@n6riW42c4ar=;?py0RYt3*K=J+Ew9$iueWX6Hd|+JYHCW_ zzkk1Dhj3_UNcay0U{Zkk`g#lu3~&oxUk`w7-J?g3eo0F|b?VeE_1MXJ0r3i1;gs~{ zPyjf7{P?RlFffl z54xjghi6^D&Ye5Yx3#tH&QBj18TtF@=;$8xoM!U<0!{cqj`QeEC(%HahG>TX(hG;a3Xf*2SwPjh} z=;;M>*Yxc=1+OT19AIfFe=(35H)DK7QNDH49>z71z{mzI_g3WZE*0{=s`(~(HTl$K6gZ_igzQ2|Mk3|&A)1>b5a5$Gu|o{R#js;V$I zH-~IC3qlAgDk@N0Tg$8`LcHb2_A%wzBun-3tE;O~TU(2D>(-&BrpAyb@GrI&K$0Y` z?OcVRgNv;KIM^l+0C0c$^l4LtLx&CtW`T*&4+Vru* zO85XUF)=~44CQ2bpMC-IEI?gdoo!)SzMb$@R3-3>CGf*O{eHoq0F{-Mj()9!NBAm! zQvyK_O#$-b`$2*bLe8H(%iPj+&)&Uj;+1bFxZWYekF4hX{EB}?+1CWRL6&7nQ52J7 zxtjO$D;9x#{h20wfjbIPfJ284Ni8icTxDBYT0~IDhZJl9c$7d0-@kY!6ssX&DTJ?% z0$7MqfEiD}jB?He@ch1y5WYYl5C{Z6}(TqoikSq&s;csIg-;4xXYTl0543sBuP@SCWAyAfR5V#|Hu66 zy|!oy;Kh8t9eQ)*-cl}lQrK}-X4+K-bLIHvc zd3I}Vqm%WG1cMhd0DxW15j4eeV*U8iLx3S;p#Z@oC;adde)^kXG&R>D8m+=J-`|Q| z%@IVTEYc)|rkKQ3fox{R;@!Gyg3!55nF^+cmp z_{D#|@1mv(crXu)D~o`z0IQp^Z&rS_HU0DySBiKm{S zuD-s*Yj_QL`LWzY&aE)P*nFlK?ciDxMqLxwI}*W>wlvn?A1kN@x36tLVP@kqCc! zNBC9^ITSPvz3?UdCmwIYvT&LItW|v{?cn@y^Y~&;Z*PT*v+M2l)@J~YHc>6WQ|~Tn z$A^D?(va78?l=J8{d3M5g$HEFX>xU{Z-SwD|b`U2{`xYzF& z3#tO_YMKJDB4~Yj??^<;cY>Rz|KzJ1(OTVu=TB@k<&Awcht}#I)V{hA$N%)LyZTR7 zW9+Lr%lbvawPJ3LNu*&Tdx!t&Z*vxWb5jd$UY}5vjH+ywSIaqqQ_P#$!7_jQETw3D zvRXTS>FsNVyiX`X^}2o$VGW-x^Ht&U5Zw^N&FjGCrWO+25X1P`MbouyM*+F3JO`xC zX=!#2A`Q2Fzl!>#TG9GsHDL1u7g}HCUmqW3mSI3B$C875+)NTf`OQtnUD~4?VgP{g zv5Saq0aAC9hIATK1yF_DI}(4vk(Z2Vh(3qjPyV@F(q0=Ix87au=gsgchMn+O!u6s) z0Mg#x&ME@{7#tk5eR|*PYQ*%+12ojv;PqqXZTZ66;vk!H!pe^P!?Hbq=H**5K6a6- z&Gar{`Kbr6@)s)#p(+Ef;FA+uH8bwUe7mgg_*Dc+k_vxz?4&zM%k}_l z;j{Af*m@KOOW@G-+hJuDX#Dr~BYdYZ7d6Wloa)3Cv%c5wlQh)VV0woB>K54)gLEgE zvjS755f-5dRyFg0+0>`*CiUF{^&g=tfcn(yEdiDlB6SX5Uf;Hy!X5_FD5g)~@ijb^ zKF#dw(agSC_y8d3&H6<4)@KM{-@o6yJ|W#?1U&sb8C2-17r(BWVTP|u*cP!=sD$v& i0G2&CBoGMJ3jYT{rMO&z3DpPy0000 zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3>vk|ntfr2q32Is*6QI9$!<26O!RoP3#;Ro!Yy zW}{M9R=y>IBmjpy2!`4J_x~L8uYdi^xlpr-snpzZw)`))*nH<7)xQ6=`?s_4{(b-V z^%lSX_PY6g!}C($XL!Gs{`q|8_4L;Zx$*n!rheY>^>d-m8($X;y0hmW>*pYO-M`me z{9LH*_mA9a`8m|#-_QB^;2p~6zm@IOOR2oK^t<`_LM*J(O57-Tzk>_*{vF>40;3Bp zbpCey&F@~X#QX1R_>n^SjD!XGZF*lnt^K(`zb*3Dzs#Sj|NXB&7T@>J>*0^J%%3&l zAAkFXOMk!kcZq-8IDC)D|Ncgde*9%Rpa0HT^_=}?*JEZy^T(sC`C1))hYxa*81C0H ze+vI4{$1{$#-D1totS)Kx51z3n)6uY7#H1g-5s~@&*>&ZjDGvVPw%G>_q7^|Z+?bn zC;qtO3pQM#VzcSD34xdW_gLJ$Z@c%Ku5#z)_^5YW%<+|f`^Ws#oBzunbB>(UIa|Ni zig9`QHN%kQ^f#ZvAnttZmhJ+7{rQ;R{_r1M6$_@j%#{gtJKiNma=&~lTssFom-zWY z$eFS}7hs9FcVaMvKy)^{kX&}Qcwd}j9V-UvjNAu21Pi#7{9=$khLF7}zIxr8?-X}G z>yyu3FM~}OB840Zwjs(eR*VV%DY4>1J%togN;#EOO=_vn&2~Lu1hQ)kzSiHyrIJB3|Y;{DmEGL`U<_U`A8Dx@e%yP0A zCXCzpblkV?ep&9nvYScuzp|VEPnI(>-Tx2E8BF(AyZw#Tmh#-Z7JE^sHMN20JC3Uc z6DxN;Ba&=e&&RjyXO5d2w#j-9cXA&MXiPnwqx2SwetJ8&i6E?;S?xA@@$A*~bJv)e z(Aho({q7jdX_5cV=Kq5i-9C$48roXv+(Fn8YtPl>d;+UJw`CNgV%NX`N*^V!?KVU0 z6NA^r#AiR4yr$#lC^6K-C|4C*Jk{2n+dAit{!Xn~<}>qfBeh}U3i-q}ddPc?m4>TR^Y3S@f=Ahw<<}EDUMye( z?`v76&xXPH7}H=)gG+Oj%5rQF#Fx#0yX`QD+;iiDEHAg~Yes+S+=b=Xn8lg3YUwGp zg0B}ABH>RYi_Lh>ois1B?q?f?T(TQqK9l^xze>>8a^uM>4y&NeB2QmaF4sF*AePhMFPRMH>w{RiuussuG(E!(l zXM=HLGThP}e8}OmrLWpZY-Z&IS&3z=H=)^Co{$m|ajgM+xjq)iHhx@O;kSBL!>d_H zIhE%t#$ic&T}~gE)h}I#sF=Gh=oj(kqW-^G44jA{>>H~o99BNCspA69ZL06{dbP## zNfMe)+_n4K#Rt1@tX4dJm&|`|m8K<4ah|+)b9)oIWeI9of96pv5e~?)KG+eSR=Z5X z$9g<7oQ4A=r^_=J`~7n`yEB0qBI|moiFM6qLCcU*amA#6|Iy`y_trnhD_bk+=5Y8fTOeudj7`W0iTgU5;!D?6Sv&bKDPuQwo7$&{y|bm;L|2k;W``O-=5bU#* zH^R*bfM`;P%SAWz{Dex@7`b?ss|+XtEIlRi2zCSzLI{BOjNu>nT(Z4GOUv>A>K?xD zoyZ}DYvRI|g4D0W0?UD_#HurD7*S8LDN^T3Z(`9&4b%SmNAHoFr0s7joSb zU(Cv~j7Pu$fWb}bVzi_Ie9?&>ZE|DnovF@EFxHLtj1UN}!yKI5+xWF27fvaDptb(^ z2_j6GU~DWZ?w^YMAHzk9$F4p40$I|4ARTjv0Ag^lAp8vn*kg>nOWK1)X5H|Hkrq$~ z>$pHeDECsCXYAM8p&OgLMgWo<@nN7j0!4UB_pV{_$+E&0-HAkJhu8!SEl7-k$OAYe z{9O}!VRU8?kp13p=!TVy1Ly+(+z_54_yr_ws>&KO7v*{US%8LdiQ+ZJ+@lyEim9~? z{Q&t0Fp@Ci9>=!9QovE_2CtZS86Z8wpGg_J*_S}WO=c+=1q-~>Gbld*R-A$iR94)i z<-PXOts%1z5P>lu0ec?+8@Rf5f-pg#2qxpLAf~mGNL`JACpW~i(!8^SqQS~^5iZCw zK}t{en1BFR6ho;=GBI_-Od-c$#kq-soP_bfc91xA6x<@UV2Z2&@*e67KiO;Q!)Fk* zpsfhrF)S!f3~MJvf+#+RoAXe0SiQkope2t(G0g6W19=ZyhtYhNY8Hi-MU=T5yiQNsbZBk4N3}WVe zxDqA>_s~3C`Unb`FFB=>;6k%+GPMgFNCc!hESus+_(6275YNR6d0B7^N(#h5_gnbF zfCQXZ(AYodj2nSe?1x!Hj5gf7>4Ml27Caf^?=l<_K7(qANi^=-6q%IVf)YdK0PjPV z+=oRq#||&bX(9chzr@5=x+3li`mIe&l^)R4Gxp#{5PN{82OI|J=~)#BpP7nG>5xO{ z;u@i<_)@u2LP*srhP%O8Q1_@Vc>I`;zB=J9vnaTEQUEd=crAV`-sni_SQhyB83PqMZ!3NPL#yu^uM?KN-Z zHGUOA6IXQwB!fSp$y~t+c7uPH#_VAHa4m#pMp}d5P^mlW4c1=a=e_PJJ(ib~00z)s zc9<*>%$0~lM-yr`Jf+Jh#6;?NsWk=!-tmTzT?IEl~aM%`I0UU3l7q8e- z!Xyq58R2(G7S%HWpUOaBGNWq^{NkeQa=@(H;1ArnKn|stl*1alYq6kUa+@Yg88BpA zorDX&g+I!iXFYx!n?^*E&!<8d2ZE49ifDzM0uv9yGFF3lLzmGg;$QNXnSr$;a(t~} zvG*gQWGbx7eV_D$i9%igq>D?!O0}&jme#PK@DR)9YWYAfG*nl zO*(ouBR=nJQ5Q!71*Ix73>gPDpxT6t)}tLnLn=@{0)|`(3XrK5CU5D-&(VQ1`dZZKJW98_?mYQk_=rDKvY z?j)LkR`3uRz(0rxl3U{vd0A4K5dy3*2F*)`ZR9C>rjm-QRRuRzNy=u6Q7QjogJnAR zL^DYY07yT6BQh-%3W=6`fgq#GrRVa@+_^Dipn|1}a^R5MtJWYJv6*U9SFYmdjsYS5 z-0%(Dx_-0(@$@3zL8hGm@s_u|{x%Fxzya9J0bi-Z?;VFGxgiHxml-6%Ams`83x4D- zsMRUgua`LTqJmMG$U?WGwqe7>PXoNIwVG0@oTOiAVV=GG$Ciy&GJ5_iB82^V0rWMc_j-1gD#? z2IOrf%#^{Pdn^-)6?}(}7vP-~3?0U=WA66Af}erfrI|VyZjvw^z)`?P(ekv z$*PdLg;r1dqKwk3Yl)>Y^W5yfz6Ptio=p&BsvAUJ+-&9}yW1q5!kOIRHO`{S=FS4XUzXe$VueoD#LWa7vFZgzQ^* z1L-XD1JaBT1f>lguX-1f#52X_0kRE+%)4X0*@jUJL?yJ6 zOoB+A+H%1xFilYllqWks&Zu0sxM0RUw2do9m|qwsN4_VErWt1+%uFDg>On|tgUaGc|Kmqb&7sFwQ z2tTX_aPG@{^bQDCMVLjYq{a|os0Hcpj!l-vvw3nki0ODDz^&)+Ju#*km_V^Z3n;~Nja=Dd6F4oNPK>g zmWC?2s4(T6UScxbpG<*kRR?lm?Ae-XZcP|~jgsZt$XS?IMDZgmwrbilpsyD0$#A*U zbVjKdmEDwPirjSE>!|uO5vYj}77vJwO8e)7QHv%h62;w5zcM3t!w7~_-ieRH*7YEe zP^hG8o1pf13(3@GXafNcQ@hts`3W^Mvhzan+x(Upv{HH6V0nv0!3cN2czwoIS1I8>3Tr#Non!xCzT}nozJ&&X= zh6HpYF0FIWd8O1Y*uUjeZpJrr&>lw&+T{?zo;ZF&h*;h2m^70LblTHPR=6R0vR|T1 z7%)__blmRov;u}J%EM>^G+2j3830fXx#4r~8@;3`Lb33k1nSMNQo`wH93ryTCa=Tl zK_E%a<`Q@W%%L#-iTP7&%GwKLK_@Xqo`kbz_+7AI@s6xmmroPs4y#U&JY893ABim} zHmI27S%=I%QDLm$n+~3d9wZLFw~SPEQv(BV9VK!L`2_Q~&U|p{Sg#NoV)U>sIiV|W zZ_j>8KCBwJHR`Q@b{KRoxv})K*kXc;s})6buH20TmUagmnl(MaPO^OwA4EH#qfuMH z`&KzRls>@Tni^2b6gk)CYOGS?5JKo8S-lGV$QkgokyRAT0d`_lL%mHwN0rl_k;*f5 zgBBn?p>=PtJ}Q-wT6i_YDcouT(8yHYj&2i+RRWD-9G6d^tzx?gQaJ{}x(SSfk;oe8 zRGgbZ;C48K1214YQJYci*EhH@uJLYQn(&vEV0G>t1eB^Gk%AVh1_OuYsNkKivSUpo z{I_@nA??xxD*}cx7`Q@H#*#9EWZ++W=nu)X?>Pf1NOX#@SPipo2N04BQsMUoEk{Wo z@W2GQ9xBXc+vi( z%{t}{@e)T!A1}nGOJlOA6Jj2H6F_!El{T(}rbb5n^XgEBzK>%)b_PQ14V{X}B}mW_ z(3zso;o1smz8a%7;Iww6lbwSwOr%#hySE5UNMF&;6TtwV#ND;y*|h<#wFYg8Y`HJ; zq<9ZzLvyhVZVZA5@{bxyv<^_c^?2=<6OMTD)|jV{TD`6J<=#M`I4;j>g# zspQlpb+$j6Ou-Oqfhez>afC3f!su>#<8=!uNA#=l!;2dt@AFn^9d)X_10Vz0vATs= z$Dv2M)xOLAlX8+3e}@+q0>wzRkjw~OLLB)FTm+N=!4Xl=xD{!XBs#R693_w7e#p6_ zBth6r_`H~UGx!r9w4VhbU8aVJe!wc+KYZaPs$19_Do)m z>e2u#w8L1G125T&a^I9{j_yuMZJ+~rm^|Q^$Fg_hiQXq@398l5*0{~kIg@62DocDe; zH>QNMxdoetJczWhcv=pCxU^gCMJG5_A)LI@Boq$9sMr~#koTYamEsH#6nOO|=kn2Y zu_UCpe{?mNyW47S7KNRlVniy5KSUw(NKNfL!D)Iv3M1`Bovp@==%qOzU#{+bOJl^K z4c?Wd^*BlUh(LyC5h4*YB;(bAl(fH&^oDeDL%B>&EapNvZG<0EDbC+Zaew|K9*>Gl zYTW^i7jAUTcXtV(Paw}RI|$#Q%mV!Yvv%5gk@3Rbs{P!i4?>pAx68O-iTH9A&Ye)t z70Sr)wuw-5;;k+5AFisedt#A%K^%e2({1Lda<&uS=AKwl>`(f&sSmWVO3^@N(0Z_L z*0mImrvwN@!~iyGqf8|kbp*)yK)|DhnuI`sfr8&GvxJ~H9i14DJH&s+#e7G!!HB)xXC^r~qL zp;UWW8KJG~PxWa|Lwu7SlR9^h5vR(f(So}{20l9xh&j2rN42MpBxX%hA=n%$Bu@x} zDx609mbX`oxXw{}Y^&D@r+u|Fc;{^)1J0p)h|V@}L(;T1{&9EhAd+{+Q`x|Uc75#h z_ysq*c}!ga173}5jB_`T6QBljMP`Y^>vIZIARS$0erM_G$5kMgSup7Vx!%M{zKAy`;nY%&0aSRmw$iH;geA;)6#^tl z|IvBor{MegiF8KjEXW^71bk?>N-FGt?vP>f4*V#|pU7nv9*)-=Va?lX5h|)~w$))+ z$viA97UI_MFFqt8x6oI&I}R`z0Jb0=C&;8Dawfzd5zBlAP9~{CjIkbw`0Z7UWR$~+ zb&&SAnl+}%t!iF#uWe``q>L1@suZIQ!Z@o4r2<+f&g<9iB~h5)c2T$;kJ{AbirTz< zyZ1nW8C%e}`dY7{LM6%!UE0!v?d>{f zD+zIf2*lF2ug`n*EJ;cGy^I`=h}9Bkb@zLjwAwQQD7Ut|`@IWZ0=6ok@0Q$oIG`du zqGNK^u4UU=HY2cKlV8YfBxj7L{dPyPlsjL+F<~!iU_OHEpxu2$uILiW3R}@82rx2E zCi`iPgSM3SQ9@*1#5cy$%7DG)t<@6W!E0cW+p6C}a!O675hOmQKxmzdl6vsR|g$Pb>GPuW4${N$k-zLu$vb?J)!wKedy zGZ0kA+squkce?6Gj$Mf+pO~lcd5#=KjVu(ymorMCAY8 zZSXgxwI7l_zD-AXOlnOP_RG<-_Wab~WUpx_;sO#{wBbD@uU`BYHHhZpi zKuVr!g2xrG8IrO=k(Uax!uE0CRswI844e9$0)&}w7zJ>sYLiflk80Xjh8w!BUZ}fa zq&7jsMU#rfz52d6n%upVi?YCiH3F~I(m2#UElkC(>L*tRx56AQfaqt~S%O}zt?Et1 zbW5AfEHHwuddz7mCmRThTimurSM5J0GnT+DRbd7@xBg(wIW10pv zjoJ?g?d>6>f@1sv{g0G6AAOWNgnSHbof3>hRllFmhUtZojj#X=Nm*I_8|kQHks$^A zqlh4dam|1RyLE?n&ss=w-&>2QEQ5_)L#zOtx5+pst6qswg%X&5x7!Y%S!|Js2x-}| z^n}BQ&kku4;2Am29eA(dK|OD%xk@XpRtQ#nltPl%iYMsi@vtJTcv;$50IbNkL*>J8 zSZDj$fBcO9j-JcE@mIAA-YO#RlbXP3$m`t~A5$)Z%#yqul_(~WuxQcw(A}q#Uwz_t zS4`C){PROKptz#aF8flu{2A9*^C?=v3746Y`pfMn6p2)2`Z-?rLCfeaUmdd`j#*x9 z3c@omo>R%iun5TJYu1AZ;8%hN2cCq=PX2aTI+5>ndz4B2cM#I#$YB5-?N2&IWveAG zw*UpVSzVmu{JZ}M!x(TXJRwKbH5uma$ixfRIOFthtO~2yifQGu1sy~1T2JJ&M9gPB z-<2^Bf3uu;gbKhcr`375&~XXk1{0ex)KS8`C1UgIxro?<43EXo8Of>12Tc-gBY9ii zAK1%T#oZ!G(f&qH23jWhS*= zSA!N;C*4mj>LI+aTrv%i%UpDX2uA0c9RLuH2?TMO2s$;dYL(h2(fz_X;&!W)dOS2$ zi~>%}N9#Qrvx`?RyBgdGOAIq^Um)BM28a)31b;MYm{1!wB)a>a{#u5sKdZD04^q8M z$D@EPa-@i^N0S(Uy|Io=eqw|+AIQIhI10n9Ue5l?E?lhA7tt z9C1$CXt%};_MtIJv$vDJ=?DwLZ1!dk!KB{z03krH&tT!h+gqfGfm%ucZsg?SW$+RB zBYcH1j+T488!(xSjYw9d4ZQ(3yt~}}wV|m5V&29)G`BtyrSpmbzIXT52`2dEkWj!x zUIdLK*VN-RP*2c%D~mK1&G_Qg{#X!1YU&otR%3~KVEaz+psKz`i*utqiE^cw>=(4(_+; zBv@K;sEiPpY8OAPu~Z~Tc#U}N)=3_O3lxLItNr<)vg}!=x*c9qp7y76X|KY-8o|%j z0QX7eEUu2Q6~)CIVo(VleO!ipfiLhjuf|HaR2XXBO(K&uJJguxnyO5x?rKrIy=5@p z4fq3cG>cnT?VL7g7q#&lu>k}&DI~MI+kbE2&|m96TI(&KLCsTjEr51OPleT8zl5kJ-)6N6p=`nF(#6~PCb*vxqJ@mXpi@1sB@E&B(Mrq3r;oZ0eBGTR@o=e* zAR(#pjCSS(gE!icB6#SNUwkf_gEOk}SEOg^jE*XC8Wm=ABtNJDIHA4^HGX%rg&I{l z*U_mvf>sUFM}4)R3QPvNGPQ{@r@a-}qV5a$gp*!ojkvmchZcBPD$9pS`j~3F)VYl% zJd$8-hgq{`q#!klXB>=33Fs^Qy+l|KOC3>?n<;Cv-(LvPk)thfr!I}D+7-|Q--+aO zb%F~&agd-6!3iL`%^xzTP5Ij2Zc7rU>5Mc7;?!D0o>2(0+;b7iD z{i|LX9jXOJ6t!<1MV-3#fw1> zIX+Gt0&4I?B58C6Q3y%2!zsb()M5JUL8^YSwRyi&it0FWI>`WWF&Wl@I&iv*4w;f* z-oY3hfRy0{q(tnkq^K)7iJ7t-FgRB75R6v6rDiGfO%_?L|9JUh0s*!K55X~dTtL9> zCUi^Z^T;@DiLG@tE)5aR?LWFf}N=O)2}JPG8kO zj}D2grKS@654Dxv(JI_frp!PF@0(qcTy$Vp zg#B}`H>Kb2b(7}zt=^h_-Rf?V=vD)&bPMCV{Kq@0-92=mr+}{8D)8J_74X^zJc>%v zf4JFt%Q)0-Q24N@G%Fr}fS@*+r8@zFYQie&)^ST6np$TI)6FnWXau?KsM_q+4NBr? z?ScaFIB1YMQ1Tzvw{$Vh6Wo zB$$BAYIZt)2_5r7eIIAJmHsT947+Vnz2XZsndj@8jIi3b7t89wkBZzUwH+@+?pttY zQQ^W|*^`~Ly~CS~W7@2~VrUi+-crM}A@3q(xF3on1s(TN9V9IxO-;Hwq`ZWJa3Ywb z3L57gFd4Th1)V0EywRkOcI9v&9e&Y%sE+(r2_pE~nJSDhTM-&ij(v0Imu&ZvDuztTl?8 ze?`}A90mEeHk7qTpw_)a&d*j3uk%wQ73FO*iU3;eB*CcP9XG@agYKd;&njDMb6y)y zYrK@)v`uwlXqNn~E+@RG>JbM{&Gf=-)oCG$+7O2TaM@$wqPRIEU_t$LB0SHxMeEdX zd;24$=uTG=RMjXiDT)jbM`4(^VlDcQEFx0yUFX+S{ps#V#Ci*(THFKaxDB%ElY&H% z-MSG~notGs0WZd)VQx~2wjq!f!EwZhLt$62JuSqR_3w{)|Pi!F%xq(s`h9%Mt zM9=4T;KLpXdG3wYQ2vIyW-_XtE|GO!2u83^B4z6#1bEAm{v^-|#gJE?WA+b~fuZ93 zh@YCzeKdg1>MLXGh`Yb~HEk7r;c(DPyl&_j2kO4MS^6;RHO19!L`-216@{QpV?u+; zXp*SJpuMN6%_-V0RTSgLRZqPDDOu41;|H;V9?WpN<*L}E#L zZiS^B+VU0ovbZ*BqfTdYFYMdkmSmo-+b!*{Eu96HoI$Zd&iw3pkOhv_b;Q5u0#>dr!)rk|`2>In;nn?~ zaqE}Xv`1p#Z;*`>RH6aVqR!vzbSoKKbzPhfe0?XQUSmGN{HrlP0*+gql-+>D<(|!m zKX%j9fvTfbZwr2MO-#4m*???st z&(@(PW!1PKmI`^3Z`z_15$^fodgDoFkj3*ZsZ@4&6Vx`#UPdLGElB%DPN&l>*U1Q{ zqth8ho2pwr9&YQfYTk@UeUugPx%RBfs6QPH2cfn19RJ*ncK?=S9bzksDwVr@M(d}^ z+}7dG`jJ|r1l4ExEUS!7wR{jRGzOdlFO&==m3{oz$br9(Q+zpaxX&8+a^PNnIj}05 zPzUIP7&W$3)&PTSz zj^FE%By`Q5NlqO#ct`J5DXg$$J%a@=&|$kMCCCy~pf(1XT#s70EeI;qsi#E`ID!_J zd>PCpMrupbW#-!SDqi3_=@Ar6dUSx!_mlb5>A|407uhHOr`uP4PaIv9{p-ZhM`!;! zarCOo)w~l&uNH|g%ubu>C?h@GN*i@c=kL{%h&@wBz(>+k)R{wZMe#p{Ty$o1s3mOV zVvG*7t5;hE6`fUOrT|ZC@G{9V)UFgnR4E0gxBHfh-br|KkHSmYwE_+%iLI=MIFO1# z18s)HTTM{o&DTutWAfC<@Mg+9cQrvB`yqeC>Mgte2xCOi)~Tp=PervW=H96&i8-BK z!R?oJn@qup^mwPCbB|d?#y&TUeF7;_&nbF#$?xe|Rp&R)*12u%mZ@M{fqGJ=nKA2V zOpwk5x7`re6wd%l6^!8HxXsAYNt>9#obE0^`G`1B9|8%D1lgWjiPe^^61z^ZftYHL zaFBaF83InZn1uAco8uzR>JVb@MA^IPsU`akKwXh9gZWH}jwcTp)eSp|!lTnWmV{H&& zMLQu*v1)=IwXtEvYU$HM&LCEs>!2%fSYP|R6+;!pek@LZi?i>>->#5kqm~GkM9K3W zBYBQFbX<;v!*sd4o>nxsQh*oyt47z=QljFRov)^2{-Ia!-}Vr;>-2B4Gwu7>vSmI! zpiPfF3g;f&Q@hv4Yi1GjtjoBSVPDxnkKhtfY3f;;xvK@h=m^Ntn%w6>{L^?q2na{I zV((MfSo;>9)N*8AWh1B$3*r7LY|M8;@JD?}tVCUTgSnIpZe;=uVLp;NHM=KMS0!c!?z!^5rYJgyGFaD z=&FsIsGiZD*0@HqM$B@_XnN@0t)2fq6#2>>3`0?Ckp!zM>qVu1Jh|xD1R-VAyaa&V z&1d2b`AfRHkn7cC4koGZUE93v9uB`Pa7TrK^jU*ar5<1>z5pELjUIO0uz^=*3G8qe65!{fMMqxp8%@(~8N z&Qq1;_HFX4dicp$w|ny+LdVEqPk4Iam6Wbx(A~Z(O5d8{R+O${sOwdfu3%6_$*f<8 zkuSs$R?YlB^R@E)8U{Y(0004mX+uL$Nkc;*aB^>EX>4Tx0C=2zkv&MmKpe$iQ>CIU z4rWks$WWauNELC^DionYs1;guFdzMbCJjl7i=*ILaPVWX>fqw6tAnc`2!4RLxH>7i zNQwVT3N2zhIPS;0dyl(!0N1D}n$ITlcb2Fdk<{lV{Ut-@s7OA04|?ia`T z7zIMRK(p>R-^Y&AJOP5wz?I(iR~x|0C+YRJ7Ci#`w}Ff6wkGcZmpj1VlOdUsD+OtC zg#z$?M&FbJ25y1gHLthUK29Hi40V;d0S*p*DNub z00006VoOIv0RI600RN!9r;`8x010qNS#tmY4#5Bb4#5Gqk!$S$000McNliru;|mlG z96H<#CFuYF4(LflK~#9!?Ok7J6iFKYdZx*Q3`VnR!i06r$q;-|+^7&v_c%wCTwXVF z_;3(Jkc}^U!W{(e@j$qPz&)5dAp~I`x~J{U67UDeg;-><&e+wi4!NRQ^%!JDVAPu zTEieo;Rnu~IYazTlD@t^;&+z3efw7EW8+v{Z{QO(z{JFa5B$W$1hewg)RYhW)YKHS zEKlw0s$&Y6q`{}z1V)Ac9`HB`>QUkVUbW{NGXfhD78dx(5F`PEj>`bWD_blUjc5Uv zXYJF3X6?rzCarw@f%8ZZr8l#PLL!$5+rU-vn@#%IHnlB60umuwT3RB3Pr9Bdx6=iX ziRxNOfqIwyMiTinY_g394=#B)~x@{ePyce`*{cNCFo4006gc z-SSDoBMXw9J9lbR$0k+1taUF#2$oMDw_Ol95F`UWn%t3@4Yb)Vz@vq-S}2#xH35KE zEEX$?8-XOXF9NKn1|UuA(qwsgS;@NAp^{aG64eM@u~__QjTb-yoCj?19Ib3Roram2 z8CYFi^^dKstwB1S2G8@raU2yj3+@6>uT}WP7R&K_1+aW(8|-HE(*MWld@TQHiS7 zo12^ew!Xf;fe%HMO6BV$Tte10JkJvjdpk15j77tfyV;N@@xUC_IsgFc>+9^8;|J2R2v1uZprD(dAhowm14-E~$;^HDqPEPs&v%m)cn4Fvp)ulnjd0IywqNLqjk+Itl;)?d|PC7eeJxUA$gbR~OURo1dR| z`uh5$4Z^9ZDMzJOncm-LLUi|jA_3al+hKBYQW*GPJ){w6buV1F@PKsu>eZ`<(RZ2k z0y103NGi3KNMHi|MBKpP;o%Fx-V6|Q6{}+bsx82W2!Pc5$jC_OW|4X)4FkdR z$l5Oy3PdkJ=7ypqh@x%f)}iio#0pfhe3%}h99>?3hz-!z)`pM&T5SLmR&?A}dEBD& z;j@-~ABl?qLC|!8RnH{QO#sql&tXIW(_R1$nof}Fl>`p1+HpbSKkK{*0qUW*)FTN} zL1P2|u#AzdxS0aa3qVR07Y7M-w&}_=eD>^F|M&Il*Xs&g(IEr(G?JJ})Y)dDi6VP? zdW2R0&Cbp`rolHw0+FTMqRYKa5HImep(6jZ39xnCHxH1YHzERR5^EA%nSVH__9;P) z!(gefV(+T?epn<>aYcEW#6%R)73~?UWJbu>uLbaV4^bsc2#Ex$aR`aBS`Uc;-*tBv92L zDkO+J1gN~(3#|!6;Fn4zf2J>$O2NmEAECd$-%FANEbw(dNF4mAJu|35&~;3Zz}El= z4jd4!^yJBt(C^jNRY<4PzUp=y2V7TPx#(2=xQ#*sU01?KTX?l#pXhN_bxj-JX(ZtFXmmbmPC_XoFq6qt9V?g1)QhB2DR3MoGz6ql zDP^#93T<%+$siO7OvwhaRA2Rit9@4dBC;E(qX(?4tibyEI(VK3sZLNr z;EVphI*h>(0h*herQX&d0zQufHtd#3>doCM2BFCN3zP_e$MF(|pD%;)N9SREBxK&!l?$80g4J3%H0YpfE zgKs;~Cg%tc@oACIB*s!LLURde;Hzo?Qcpx)08el)fVJ0;^zvpC2_lkCRin)a92^{U zWaa{NE^Trg#}RqIk7(8}n*VLW*3c2owZ;obQq4zA>1JxDuSiayB$tgP>ITYc0o{fe zsa;)Lz-5v_CArPqioJm%$(>A&lQaNSfRP10$?@NsK#60w;dfMh~oi~ws1uu#%5hlRof)40Tvb(B3-Dnvs1_Y>~3jkd2f2I9+8a& zh73@m#IZ4@OlSxYT?mrNWT0Fw6PJ%i1ctgRMP$a0CZw4_90=9kpJYT+dx8iVKoJR8 zfSGXXOuoTOc4x1M@fvj*H*F?R*RCU?1_%;CL@VIL5sl2T#Pd9lL;})`-#6pqk!J#R z@4P{Pi)skhbzyC7Ep)7-ql3Ce(#YPxAdnX?USw9ha^(v5;wtLebT1brLfk>6;La-7 zbs?M0La9`$+F@m6d$>riZitxsO7bd12vMn2psA_J*8-JFrE0&W38T^_srpPN1Hr`6 zG$9QcTUk`WN0QBE{jK(Bzh!J*01l$a5Re4$wDCNt7dx@WdD$MC$z&jt$v~-8qJmG_ z+^SUrAW%iX<+*|;#&T0epbiqycJPSGt5>fem&^I!<5@{@4P!(DAW%hy03JzbpqK)T zRFBn;PG8%^o<`l@M4>!NMn%5r`~`USppsh_`z-B zyk4&(SvA!S6d3~Qi3Bp>CZP#bGmS`TfO5I)e`rP@{@JSje;n7xd${qphX>>PEO148 zJ_o z!NwewdZfCn>#)l5+9uUyJtW6*tOnSWxWNbc{U3h%`EL6m?n6fp*l`?hetf%7V_oOo zGp{-Q?RNkG@Y$!IR<*;c6Rd~VRn>AP6Ej#x004lonGBroEyIrYkEAcO@ZuBb-1{T< z7z@b4uYVajJ~#IRl>|ZXN%f+-b)+fYIBW&{ttqtMMhI}emmd5Xo5?WChycw4pER^g zfBPL%6VU3_!Z^$`RD;(uWvhhf(J6aq-_I|hG5FkW=hHO0oq#BQ>VFNT|3yUkFCPe(!hSZ+=_icbA zq(L4#2;epzQL>;U-4Pl#K*I=Zh^qRu=|1rguW;R@Z{B8G04*o4XQH~bcJmG6(U2Qh zPinbAk~$_pTm-|HWAlhsV|!2Su>opL>H+ki{2$PbEo8c{<%$3R002ovPDHLkV1nb> BW556a diff --git a/game/ui/theme/actionbar_dynamicfont.tres b/game/ui/theme/actionbar_dynamicfont.tres index cfd8048..52051c6 100644 --- a/game/ui/theme/actionbar_dynamicfont.tres +++ b/game/ui/theme/actionbar_dynamicfont.tres @@ -2,7 +2,6 @@ [ext_resource path="res://fonts/VT323-Regular.ttf" type="DynamicFontData" id=1] - [resource] size = 21 font_data = ExtResource( 1 ) diff --git a/game/ui/theme/bag_icon.tres b/game/ui/theme/bag_icon.tres index 5d21af3..42b353e 100644 --- a/game/ui/theme/bag_icon.tres +++ b/game/ui/theme/bag_icon.tres @@ -4,4 +4,4 @@ [resource] atlas = ExtResource( 1 ) -region = Rect2( 2, 101, 12, 14 ) +region = Rect2( 0, 108, 20, 20 ) diff --git a/game/ui/theme/button_bg_stylebox.tres b/game/ui/theme/button_bg_stylebox.tres index 627733b..73888ec 100644 --- a/game/ui/theme/button_bg_stylebox.tres +++ b/game/ui/theme/button_bg_stylebox.tres @@ -5,8 +5,8 @@ [resource] texture = ExtResource( 1 ) region_rect = Rect2( 0, 0, 13, 14 ) -margin_left = 5.0562 -margin_right = 5.57024 +margin_left = 5.0 +margin_right = 5.0 margin_top = 6.0 margin_bottom = 5.57024 axis_stretch_horizontal = 2 diff --git a/game/ui/theme/character_icon.tres b/game/ui/theme/character_icon.tres new file mode 100644 index 0000000..02b0539 --- /dev/null +++ b/game/ui/theme/character_icon.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=2] + +[ext_resource path="res://ui/theme/GameUI.png" type="Texture" id=1] + +[resource] +atlas = ExtResource( 1 ) +region = Rect2( 105, 89, 20, 20 ) diff --git a/game/ui/theme/crafting_icon.tres b/game/ui/theme/crafting_icon.tres new file mode 100644 index 0000000..a9ee07e --- /dev/null +++ b/game/ui/theme/crafting_icon.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=2] + +[ext_resource path="res://ui/theme/GameUI.png" type="Texture" id=1] + +[resource] +atlas = ExtResource( 1 ) +region = Rect2( 105, 108, 20, 20 ) diff --git a/game/ui/theme/locked_icon.tres b/game/ui/theme/locked_icon.tres index 8b8a490..1d04f23 100644 --- a/game/ui/theme/locked_icon.tres +++ b/game/ui/theme/locked_icon.tres @@ -4,4 +4,4 @@ [resource] atlas = ExtResource( 1 ) -region = Rect2( 31, 101, 12, 14 ) +region = Rect2( 34, 108, 20, 20 ) diff --git a/game/ui/theme/menu_icon.tres b/game/ui/theme/menu_icon.tres new file mode 100644 index 0000000..1f439c8 --- /dev/null +++ b/game/ui/theme/menu_icon.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=2] + +[ext_resource path="res://ui/theme/GameUI.png" type="Texture" id=1] + +[resource] +atlas = ExtResource( 1 ) +region = Rect2( 68, 108, 20, 20 ) diff --git a/game/ui/theme/spellbook_icon.tres b/game/ui/theme/spellbook_icon.tres index 8311c95..cfacdf0 100644 --- a/game/ui/theme/spellbook_icon.tres +++ b/game/ui/theme/spellbook_icon.tres @@ -4,4 +4,4 @@ [resource] atlas = ExtResource( 1 ) -region = Rect2( 16, 101, 12, 14 ) +region = Rect2( 17, 108, 20, 20 ) diff --git a/game/ui/theme/talent_icon.tres b/game/ui/theme/talent_icon.tres new file mode 100644 index 0000000..2d7f204 --- /dev/null +++ b/game/ui/theme/talent_icon.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=2] + +[ext_resource path="res://ui/theme/GameUI.png" type="Texture" id=1] + +[resource] +atlas = ExtResource( 1 ) +region = Rect2( 86, 108, 20, 20 ) diff --git a/game/ui/theme/ui_theme.tres b/game/ui/theme/ui_theme.tres index 5a97dde..9f435b9 100644 --- a/game/ui/theme/ui_theme.tres +++ b/game/ui/theme/ui_theme.tres @@ -25,7 +25,7 @@ [ext_resource path="res://ui/theme/tab_button_bg_stylebox.tres" type="StyleBox" id=23] [ext_resource path="res://scripts/ui/AdaptiveTheme.gd" type="Script" id=24] -[sub_resource type="Image" id=10] +[sub_resource type="Image" id=1] data = { "data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 16, 255, 255, 255, 97, 255, 255, 255, 135, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 114, 191, 191, 191, 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, 191, 191, 191, 15, 255, 255, 255, 139, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 123, 191, 191, 191, 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, 128, 128, 128, 0, 255, 255, 255, 96, 255, 255, 255, 150, 255, 255, 255, 105, 255, 255, 255, 15, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 191, 191, 191, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 123, 191, 191, 191, 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, 128, 128, 128, 0, 255, 255, 255, 134, 255, 255, 255, 150, 255, 255, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 123, 191, 191, 191, 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, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 122, 191, 191, 191, 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, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 122, 191, 191, 191, 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, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 121, 191, 191, 191, 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, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 121, 191, 191, 191, 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, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 121, 191, 191, 191, 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, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 120, 191, 191, 191, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 120, 191, 191, 191, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 120, 191, 191, 191, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 119, 191, 191, 191, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 119, 191, 191, 191, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 134, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 119, 191, 191, 191, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 97, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 118, 191, 191, 191, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 16, 255, 255, 255, 139, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 111, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 16, 255, 255, 255, 97, 255, 255, 255, 135, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 191, 191, 191, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 150, 255, 255, 255, 150, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 134, 255, 255, 255, 150, 255, 255, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 255, 255, 16, 255, 255, 255, 150, 255, 255, 255, 134, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 255, 255, 255, 97, 255, 255, 255, 150, 255, 255, 255, 105, 255, 255, 255, 15, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 255, 255, 255, 15, 255, 255, 255, 105, 255, 255, 255, 150, 255, 255, 255, 97, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 16, 255, 255, 255, 139, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 139, 191, 191, 191, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 16, 255, 255, 255, 97, 255, 255, 255, 135, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 150, 255, 255, 255, 135, 255, 255, 255, 97, 191, 191, 191, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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": "RGBA8", @@ -37,10 +37,10 @@ data = { [sub_resource type="ImageTexture" id=2] flags = 0 flags = 0 -image = SubResource( 10 ) +image = SubResource( 1 ) size = Vector2( 64, 64 ) -[sub_resource type="Image" id=11] +[sub_resource type="Image" id=3] data = { "data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 27, 255, 91, 91, 165, 255, 93, 93, 229, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 195, 191, 68, 68, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 69, 69, 26, 255, 93, 93, 236, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 210, 191, 68, 68, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 164, 255, 93, 93, 255, 255, 92, 92, 178, 255, 88, 88, 26, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 191, 70, 70, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 209, 191, 68, 68, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 228, 255, 93, 93, 255, 255, 90, 90, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 209, 191, 69, 69, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 208, 191, 68, 68, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 208, 191, 68, 68, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 207, 191, 67, 67, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 206, 191, 68, 68, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 206, 191, 69, 69, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 205, 191, 68, 68, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 205, 191, 68, 68, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 204, 191, 68, 68, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 204, 191, 68, 68, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 203, 191, 68, 68, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 228, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 202, 191, 67, 67, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 165, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 202, 191, 67, 67, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 46, 27, 255, 93, 93, 236, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 190, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 191, 68, 68, 27, 255, 91, 91, 165, 255, 93, 93, 229, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 191, 70, 70, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 0, 0, 0, 0, 128, 46, 46, 0, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 128, 46, 46, 0, 191, 68, 68, 7, 255, 92, 92, 151, 255, 92, 92, 151, 191, 68, 68, 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, 191, 68, 68, 7, 255, 92, 92, 151, 255, 92, 92, 151, 191, 68, 68, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 255, 88, 88, 7, 255, 92, 92, 180, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 180, 191, 65, 65, 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, 191, 65, 65, 7, 255, 92, 92, 180, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 180, 191, 65, 65, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 253, 255, 91, 91, 180, 255, 93, 93, 255, 255, 93, 93, 233, 255, 93, 93, 233, 255, 93, 93, 255, 255, 91, 91, 180, 191, 66, 66, 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, 191, 66, 66, 7, 255, 91, 91, 180, 255, 93, 93, 255, 255, 93, 93, 233, 255, 93, 93, 233, 255, 93, 93, 255, 255, 91, 91, 180, 191, 66, 66, 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, 191, 69, 69, 7, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 87, 87, 43, 255, 78, 78, 44, 255, 93, 93, 233, 255, 93, 93, 255, 255, 91, 91, 179, 191, 66, 66, 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, 191, 66, 66, 7, 255, 91, 91, 179, 255, 93, 93, 255, 255, 93, 93, 233, 255, 78, 78, 44, 255, 78, 78, 44, 255, 93, 93, 233, 255, 93, 93, 255, 255, 91, 91, 179, 191, 66, 66, 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, 191, 68, 68, 7, 255, 92, 92, 181, 255, 93, 93, 255, 255, 92, 92, 217, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 234, 255, 70, 70, 44, 64, 19, 19, 0, 64, 16, 16, 0, 255, 70, 70, 44, 255, 93, 93, 234, 255, 93, 93, 255, 255, 92, 92, 178, 191, 65, 65, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 65, 65, 6, 255, 92, 92, 178, 255, 93, 93, 255, 255, 93, 93, 234, 255, 70, 70, 44, 64, 16, 16, 0, 64, 16, 16, 0, 255, 70, 70, 44, 255, 93, 93, 234, 255, 93, 93, 255, 255, 92, 92, 178, 191, 65, 65, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 66, 66, 7, 255, 91, 91, 180, 255, 93, 93, 255, 255, 93, 93, 233, 255, 87, 87, 43, 64, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 93, 93, 219, 255, 93, 93, 232, 255, 71, 71, 45, 128, 37, 37, 0, 191, 69, 69, 9, 191, 68, 68, 8, 128, 37, 37, 0, 255, 71, 71, 45, 255, 93, 93, 234, 255, 93, 93, 255, 255, 91, 91, 177, 191, 64, 64, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 64, 64, 6, 255, 91, 91, 178, 255, 93, 93, 255, 255, 93, 93, 234, 255, 71, 71, 45, 128, 37, 37, 0, 191, 69, 69, 8, 191, 69, 69, 8, 128, 37, 37, 0, 255, 71, 71, 45, 255, 93, 93, 234, 255, 93, 93, 255, 255, 91, 91, 177, 191, 64, 64, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 66, 66, 7, 255, 91, 91, 179, 255, 93, 93, 255, 255, 93, 93, 234, 255, 70, 70, 44, 64, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 69, 69, 11, 191, 68, 68, 11, 128, 26, 26, 0, 255, 87, 87, 43, 255, 93, 93, 230, 255, 93, 93, 230, 255, 87, 87, 42, 128, 25, 25, 0, 255, 61, 61, 45, 255, 93, 93, 234, 255, 93, 93, 255, 255, 91, 91, 176, 191, 66, 66, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 66, 66, 6, 255, 91, 91, 176, 255, 93, 93, 255, 255, 93, 93, 234, 255, 61, 61, 45, 128, 25, 25, 0, 255, 87, 87, 43, 255, 93, 93, 230, 255, 93, 93, 230, 255, 87, 87, 42, 128, 25, 25, 0, 255, 61, 61, 45, 255, 93, 93, 234, 255, 93, 93, 255, 255, 91, 91, 176, 191, 66, 66, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 64, 64, 6, 255, 91, 91, 178, 255, 93, 93, 255, 255, 93, 93, 234, 255, 71, 71, 45, 64, 16, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 255, 23, 23, 42, 255, 93, 93, 232, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 232, 255, 23, 23, 42, 128, 13, 13, 0, 255, 61, 61, 46, 255, 93, 93, 235, 255, 93, 93, 255, 255, 92, 92, 176, 191, 69, 69, 6, 0, 0, 0, 0, 0, 0, 0, 0, 191, 69, 69, 6, 255, 92, 92, 176, 255, 93, 93, 255, 255, 93, 93, 235, 255, 61, 61, 46, 128, 13, 13, 0, 255, 23, 23, 42, 255, 93, 93, 232, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 232, 255, 23, 23, 42, 128, 13, 13, 0, 255, 61, 61, 46, 255, 93, 93, 235, 255, 93, 93, 255, 255, 92, 92, 176, 191, 69, 69, 6, 0, 0, 0, 0, 0, 0, 0, 0, 191, 64, 64, 6, 255, 91, 91, 178, 255, 93, 93, 255, 255, 93, 93, 234, 255, 66, 66, 45, 128, 37, 37, 0, 191, 68, 68, 10, 191, 69, 69, 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, 64, 0, 0, 0, 255, 23, 23, 41, 255, 93, 93, 232, 255, 93, 93, 255, 255, 92, 92, 182, 255, 92, 92, 182, 255, 93, 93, 255, 255, 93, 93, 232, 255, 23, 23, 41, 128, 13, 13, 0, 255, 74, 74, 47, 255, 93, 93, 235, 255, 93, 93, 255, 255, 92, 92, 175, 191, 68, 68, 6, 191, 68, 68, 6, 255, 92, 92, 175, 255, 93, 93, 255, 255, 93, 93, 235, 255, 74, 74, 47, 128, 13, 13, 0, 255, 23, 23, 41, 255, 93, 93, 232, 255, 93, 93, 255, 255, 92, 92, 182, 255, 92, 92, 182, 255, 93, 93, 255, 255, 93, 93, 232, 255, 23, 23, 41, 128, 13, 13, 0, 255, 74, 74, 47, 255, 93, 93, 235, 255, 93, 93, 255, 255, 92, 92, 175, 191, 68, 68, 6, 191, 65, 65, 6, 255, 91, 91, 177, 255, 93, 93, 255, 255, 93, 93, 235, 255, 61, 61, 46, 128, 23, 23, 0, 255, 87, 87, 43, 255, 93, 93, 231, 255, 92, 92, 219, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 255, 23, 23, 41, 255, 93, 93, 231, 255, 93, 93, 255, 255, 90, 90, 183, 191, 66, 66, 7, 191, 66, 66, 7, 255, 90, 90, 183, 255, 93, 93, 255, 255, 93, 93, 231, 255, 23, 23, 41, 128, 21, 21, 0, 255, 87, 87, 47, 255, 93, 93, 236, 255, 93, 93, 255, 255, 91, 91, 174, 255, 91, 91, 174, 255, 93, 93, 255, 255, 93, 93, 236, 255, 87, 87, 47, 128, 21, 21, 0, 255, 23, 23, 41, 255, 93, 93, 231, 255, 93, 93, 255, 255, 90, 90, 183, 191, 66, 66, 7, 191, 66, 66, 7, 255, 90, 90, 183, 255, 93, 93, 255, 255, 93, 93, 231, 255, 23, 23, 41, 128, 21, 21, 0, 255, 87, 87, 47, 255, 93, 93, 236, 255, 93, 93, 255, 255, 91, 91, 174, 255, 92, 92, 176, 255, 93, 93, 255, 255, 93, 93, 235, 255, 61, 61, 46, 128, 13, 13, 0, 255, 23, 23, 42, 255, 93, 93, 232, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 46, 46, 0, 255, 93, 93, 216, 255, 93, 93, 255, 255, 91, 91, 184, 191, 64, 64, 8, 0, 0, 0, 0, 0, 0, 0, 0, 191, 64, 64, 8, 255, 91, 91, 184, 255, 93, 93, 255, 255, 93, 93, 231, 255, 23, 23, 40, 128, 21, 21, 0, 255, 87, 87, 48, 255, 93, 93, 236, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 236, 255, 87, 87, 48, 128, 21, 21, 0, 255, 23, 23, 40, 255, 93, 93, 231, 255, 93, 93, 255, 255, 91, 91, 184, 191, 64, 64, 8, 0, 0, 0, 0, 0, 0, 0, 0, 191, 64, 64, 8, 255, 91, 91, 184, 255, 93, 93, 255, 255, 93, 93, 231, 255, 23, 23, 40, 128, 21, 21, 0, 255, 87, 87, 48, 255, 93, 93, 236, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 236, 255, 87, 87, 47, 128, 17, 17, 0, 255, 23, 23, 41, 255, 93, 93, 232, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 191, 65, 65, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 64, 64, 8, 255, 92, 92, 184, 255, 93, 93, 255, 255, 93, 93, 231, 255, 23, 23, 39, 128, 20, 20, 0, 255, 77, 77, 48, 255, 93, 93, 233, 255, 93, 93, 233, 255, 77, 77, 48, 128, 20, 20, 0, 255, 23, 23, 40, 255, 93, 93, 231, 255, 93, 93, 255, 255, 92, 92, 184, 191, 64, 64, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 64, 64, 8, 255, 92, 92, 184, 255, 93, 93, 255, 255, 93, 93, 231, 255, 23, 23, 39, 128, 20, 20, 0, 255, 77, 77, 48, 255, 93, 93, 233, 255, 93, 93, 233, 255, 87, 87, 48, 128, 21, 21, 0, 255, 23, 23, 41, 255, 93, 93, 231, 255, 93, 93, 255, 255, 92, 92, 182, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 66, 66, 8, 255, 92, 92, 185, 255, 93, 93, 255, 255, 93, 93, 230, 191, 69, 69, 39, 64, 18, 18, 0, 191, 66, 66, 9, 191, 66, 66, 9, 64, 18, 18, 0, 191, 69, 69, 39, 255, 93, 93, 230, 255, 93, 93, 255, 255, 92, 92, 185, 191, 66, 66, 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, 191, 66, 66, 8, 255, 92, 92, 185, 255, 93, 93, 255, 255, 93, 93, 230, 191, 69, 69, 39, 64, 18, 18, 0, 191, 66, 66, 9, 191, 66, 66, 9, 128, 21, 21, 0, 255, 23, 23, 40, 255, 93, 93, 231, 255, 93, 93, 255, 255, 90, 90, 183, 255, 89, 89, 7, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 191, 69, 69, 8, 255, 92, 92, 186, 255, 93, 93, 255, 255, 93, 93, 230, 191, 68, 68, 38, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 38, 255, 93, 93, 230, 255, 93, 93, 255, 255, 92, 92, 186, 191, 69, 69, 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, 191, 69, 69, 8, 255, 92, 92, 186, 255, 93, 93, 255, 255, 93, 93, 230, 191, 68, 68, 38, 0, 0, 0, 0, 64, 0, 0, 0, 255, 23, 23, 40, 255, 93, 93, 231, 255, 93, 93, 255, 255, 91, 91, 184, 191, 64, 64, 8, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 191, 67, 67, 9, 255, 91, 91, 186, 255, 93, 93, 255, 255, 93, 93, 229, 191, 68, 68, 38, 191, 69, 69, 38, 255, 93, 93, 229, 255, 93, 93, 255, 255, 91, 91, 186, 191, 67, 67, 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, 191, 67, 67, 9, 255, 91, 91, 186, 255, 93, 93, 255, 255, 93, 93, 229, 191, 68, 68, 38, 191, 69, 69, 39, 255, 93, 93, 230, 255, 93, 93, 255, 255, 92, 92, 184, 191, 64, 64, 8, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 191, 68, 68, 9, 255, 92, 92, 187, 255, 93, 93, 255, 255, 93, 93, 229, 255, 93, 93, 229, 255, 93, 93, 255, 255, 92, 92, 187, 191, 68, 68, 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, 191, 68, 68, 9, 255, 92, 92, 187, 255, 93, 93, 255, 255, 93, 93, 229, 255, 93, 93, 230, 255, 93, 93, 255, 255, 92, 92, 185, 191, 66, 66, 8, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 191, 69, 69, 9, 255, 92, 92, 188, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 188, 191, 69, 69, 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, 191, 69, 69, 9, 255, 92, 92, 188, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 186, 191, 69, 69, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 191, 66, 66, 10, 255, 92, 92, 154, 255, 92, 92, 154, 191, 66, 66, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 66, 66, 10, 255, 92, 92, 154, 255, 92, 92, 153, 191, 68, 68, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 45, 45, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 46, 46, 0, 255, 92, 92, 228, 255, 93, 93, 255, 255, 90, 90, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 90, 90, 26, 255, 93, 93, 255, 255, 92, 92, 228, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 165, 255, 93, 93, 255, 255, 92, 92, 178, 255, 88, 88, 26, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 46, 46, 0, 255, 88, 88, 26, 255, 92, 92, 178, 255, 93, 93, 255, 255, 92, 92, 165, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 46, 27, 255, 93, 93, 236, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 236, 255, 46, 46, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 191, 68, 68, 27, 255, 91, 91, 165, 255, 93, 93, 229, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 229, 255, 91, 91, 165, 191, 68, 68, 27, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 46, 46, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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": "RGBA8", @@ -52,10 +52,10 @@ data = { [sub_resource type="ImageTexture" id=4] flags = 0 flags = 0 -image = SubResource( 11 ) +image = SubResource( 3 ) size = Vector2( 64, 64 ) -[sub_resource type="Image" id=12] +[sub_resource type="Image" id=5] data = { "data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 27, 255, 91, 91, 165, 255, 93, 93, 229, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 195, 191, 68, 68, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 69, 69, 26, 255, 93, 93, 236, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 210, 191, 69, 69, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 164, 255, 93, 93, 255, 255, 90, 90, 179, 255, 87, 87, 26, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 191, 70, 70, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 209, 191, 68, 68, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 228, 255, 93, 93, 255, 255, 89, 89, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 209, 191, 69, 69, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 208, 191, 68, 68, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 208, 191, 68, 68, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 207, 191, 68, 68, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 206, 191, 68, 68, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 206, 191, 69, 69, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 205, 191, 68, 68, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 205, 191, 68, 68, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 204, 191, 68, 68, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 203, 191, 68, 68, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 203, 191, 68, 68, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 46, 46, 0, 255, 92, 92, 228, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 202, 191, 67, 67, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 46, 46, 0, 255, 92, 92, 165, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 202, 191, 67, 67, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 255, 46, 46, 27, 255, 93, 93, 236, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 189, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 64, 0, 0, 0, 191, 68, 68, 27, 255, 91, 91, 165, 255, 93, 93, 229, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 45, 45, 0, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 191, 70, 70, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 255, 92, 92, 184, 255, 92, 92, 200, 191, 67, 67, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 15, 255, 92, 92, 191, 255, 91, 91, 183, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 255, 92, 92, 184, 255, 92, 92, 200, 191, 67, 67, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 15, 255, 92, 92, 191, 255, 91, 91, 183, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 197, 255, 93, 93, 255, 255, 92, 92, 188, 191, 66, 66, 6, 0, 0, 0, 0, 191, 66, 66, 6, 255, 92, 92, 188, 255, 93, 93, 255, 255, 92, 92, 197, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 197, 255, 93, 93, 255, 255, 92, 92, 188, 191, 66, 66, 6, 0, 0, 0, 0, 191, 66, 66, 6, 255, 92, 92, 188, 255, 93, 93, 255, 255, 92, 92, 197, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 69, 69, 30, 255, 93, 93, 229, 255, 93, 93, 255, 255, 91, 91, 161, 255, 85, 85, 2, 255, 91, 91, 161, 255, 93, 93, 255, 255, 93, 93, 229, 191, 69, 69, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 69, 69, 30, 255, 93, 93, 229, 255, 93, 93, 255, 255, 91, 91, 161, 255, 85, 85, 2, 255, 91, 91, 161, 255, 93, 93, 255, 255, 93, 93, 229, 191, 69, 69, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 21, 21, 0, 255, 89, 89, 48, 255, 93, 93, 242, 255, 93, 93, 255, 255, 92, 92, 201, 255, 93, 93, 255, 255, 93, 93, 242, 255, 89, 89, 48, 64, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 21, 21, 0, 255, 89, 89, 48, 255, 93, 93, 242, 255, 93, 93, 255, 255, 92, 92, 201, 255, 93, 93, 255, 255, 93, 93, 242, 255, 89, 89, 48, 64, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 23, 23, 0, 255, 90, 90, 72, 255, 93, 93, 251, 255, 93, 93, 255, 255, 93, 93, 251, 255, 90, 90, 72, 64, 23, 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, 64, 23, 23, 0, 255, 90, 90, 72, 255, 93, 93, 251, 255, 93, 93, 255, 255, 93, 93, 251, 255, 90, 90, 72, 64, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 22, 22, 0, 255, 90, 90, 71, 255, 93, 93, 250, 255, 93, 93, 255, 255, 93, 93, 250, 255, 90, 90, 71, 64, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 22, 22, 0, 255, 90, 90, 71, 255, 93, 93, 250, 255, 93, 93, 255, 255, 93, 93, 250, 255, 90, 90, 71, 64, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 21, 21, 0, 255, 87, 87, 47, 255, 93, 93, 242, 255, 93, 93, 255, 255, 92, 92, 203, 255, 93, 93, 255, 255, 93, 93, 242, 255, 87, 87, 47, 64, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 21, 21, 0, 255, 87, 87, 47, 255, 93, 93, 242, 255, 93, 93, 255, 255, 92, 92, 203, 255, 93, 93, 255, 255, 93, 93, 242, 255, 87, 87, 47, 64, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 29, 255, 93, 93, 228, 255, 93, 93, 255, 255, 92, 92, 162, 255, 87, 87, 2, 255, 92, 92, 162, 255, 93, 93, 255, 255, 93, 93, 228, 191, 68, 68, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 68, 68, 29, 255, 93, 93, 228, 255, 93, 93, 255, 255, 92, 92, 162, 255, 87, 87, 2, 255, 92, 92, 162, 255, 93, 93, 255, 255, 93, 93, 228, 191, 68, 68, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 196, 255, 93, 93, 255, 255, 91, 91, 189, 191, 67, 67, 6, 0, 0, 0, 0, 191, 66, 66, 6, 255, 91, 91, 189, 255, 93, 93, 255, 255, 92, 92, 196, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 196, 255, 93, 93, 255, 255, 91, 91, 189, 191, 67, 67, 6, 0, 0, 0, 0, 191, 66, 66, 6, 255, 91, 91, 189, 255, 93, 93, 255, 255, 92, 92, 196, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 255, 92, 92, 180, 255, 92, 92, 194, 191, 67, 67, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 67, 67, 16, 255, 92, 92, 194, 255, 92, 92, 180, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 255, 92, 92, 180, 255, 92, 92, 194, 191, 67, 67, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 67, 67, 16, 255, 92, 92, 194, 255, 92, 92, 180, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 45, 45, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 45, 45, 0, 255, 92, 92, 179, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 179, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 45, 45, 0, 255, 91, 91, 179, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 91, 91, 179, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 45, 45, 0, 128, 47, 47, 0, 128, 47, 47, 0, 191, 70, 70, 0, 255, 93, 93, 255, 255, 93, 93, 255, 191, 70, 70, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 191, 70, 70, 0, 255, 93, 93, 255, 255, 93, 93, 255, 191, 70, 70, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 46, 46, 0, 255, 93, 93, 241, 255, 93, 93, 255, 255, 90, 90, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 90, 90, 23, 255, 93, 93, 255, 255, 93, 93, 241, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 46, 46, 0, 255, 92, 92, 189, 255, 93, 93, 255, 255, 92, 92, 115, 64, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 23, 23, 0, 255, 92, 92, 115, 255, 93, 93, 255, 255, 92, 92, 189, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 64, 21, 21, 0, 255, 89, 89, 60, 255, 93, 93, 253, 255, 93, 93, 248, 255, 91, 91, 115, 255, 91, 91, 25, 255, 91, 91, 25, 255, 91, 91, 115, 255, 93, 93, 248, 255, 93, 93, 253, 255, 89, 89, 60, 64, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 64, 23, 23, 0, 255, 92, 92, 120, 255, 93, 93, 253, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 253, 255, 92, 92, 120, 64, 23, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 64, 23, 23, 0, 255, 57, 57, 60, 255, 92, 92, 190, 255, 93, 93, 242, 255, 93, 93, 242, 255, 92, 92, 190, 255, 57, 57, 60, 64, 23, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 64, 0, 0, 0, 128, 46, 46, 0, 128, 46, 46, 0, 128, 46, 46, 0, 128, 46, 46, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 47, 47, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 93, 93, 255, 255, 93, 93, 255, 128, 47, 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, 128, 46, 46, 0, 255, 92, 92, 228, 255, 93, 93, 255, 255, 90, 90, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 91, 91, 27, 255, 93, 93, 255, 255, 92, 92, 228, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 46, 46, 0, 255, 92, 92, 165, 255, 93, 93, 255, 255, 92, 92, 178, 255, 88, 88, 26, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 46, 46, 0, 255, 91, 91, 26, 255, 92, 92, 178, 255, 93, 93, 255, 255, 92, 92, 165, 128, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 46, 27, 255, 93, 93, 236, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 236, 255, 46, 46, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 191, 68, 68, 27, 255, 91, 91, 165, 255, 93, 93, 229, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 229, 255, 91, 91, 165, 191, 68, 68, 27, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 45, 45, 0, 128, 46, 46, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 47, 47, 0, 128, 46, 46, 0, 128, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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": "RGBA8", @@ -67,10 +67,10 @@ data = { [sub_resource type="ImageTexture" id=6] flags = 0 flags = 0 -image = SubResource( 12 ) +image = SubResource( 5 ) size = Vector2( 64, 64 ) -[sub_resource type="Image" id=13] +[sub_resource type="Image" id=7] data = { "data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 111, 111, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 98, 98, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 166, 166, 28, 222, 222, 222, 166, 224, 224, 224, 229, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 238, 210, 210, 210, 137, 150, 150, 150, 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, 111, 111, 111, 28, 224, 224, 224, 236, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 220, 220, 220, 145, 108, 108, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 110, 110, 0, 222, 222, 222, 165, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 251, 220, 220, 220, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 111, 111, 0, 223, 223, 223, 228, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 223, 223, 223, 181, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 222, 222, 222, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 223, 223, 223, 189, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 222, 222, 222, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 223, 223, 223, 189, 167, 167, 167, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 229, 222, 222, 222, 166, 166, 166, 166, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 236, 111, 111, 111, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 222, 222, 222, 165, 110, 110, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 223, 223, 223, 228, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 253, 112, 112, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 112, 112, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 223, 223, 223, 228, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 111, 111, 0, 223, 223, 223, 164, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 222, 222, 222, 165, 110, 110, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 111, 111, 35, 224, 224, 224, 233, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 236, 111, 111, 111, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 0, 212, 212, 212, 35, 222, 222, 222, 167, 224, 224, 224, 234, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 229, 222, 222, 222, 166, 166, 166, 166, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 110, 110, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 112, 112, 112, 0, 111, 111, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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": "RGBA8", @@ -82,7 +82,7 @@ data = { [sub_resource type="ImageTexture" id=8] flags = 0 flags = 0 -image = SubResource( 13 ) +image = SubResource( 7 ) size = Vector2( 64, 64 ) [sub_resource type="StyleBoxTexture" id=9] diff --git a/game/ui/theme/unlocked_icon.tres b/game/ui/theme/unlocked_icon.tres index 439f356..f89a110 100644 --- a/game/ui/theme/unlocked_icon.tres +++ b/game/ui/theme/unlocked_icon.tres @@ -4,4 +4,4 @@ [resource] atlas = ExtResource( 1 ) -region = Rect2( 45, 101, 12, 14 ) +region = Rect2( 50, 108, 20, 20 ) diff --git a/game/ui/touch_movement_controls/TouchMovementControls.tscn b/game/ui/touch_movement_controls/TouchMovementControls.tscn new file mode 100644 index 0000000..6a59c42 --- /dev/null +++ b/game/ui/touch_movement_controls/TouchMovementControls.tscn @@ -0,0 +1,92 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://ui/touch_pad/analog.tscn" type="PackedScene" id=1] +[ext_resource path="res://ui/touch_pad/TurnPanel.gd" type="Script" id=2] +[ext_resource path="res://ui/touch_pad/analog.gd" type="Script" id=3] + +[node name="TouchMovementControls" type="MarginContainer"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +custom_constants/margin_top = 200 +__meta__ = { +"_edit_group_": true, +"_edit_use_anchors_": false +} + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +margin_top = 200.0 +margin_right = 1024.0 +margin_bottom = 600.0 +mouse_filter = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 + +[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer"] +margin_right = 323.0 +margin_bottom = 400.0 +mouse_filter = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 1.4 + +[node name="Control" type="Control" parent="HBoxContainer/VBoxContainer"] +margin_right = 323.0 +margin_bottom = 196.0 +mouse_filter = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="TouchPad" type="Control" parent="HBoxContainer/VBoxContainer"] +margin_top = 204.0 +margin_right = 323.0 +margin_bottom = 400.0 +mouse_filter = 2 +size_flags_horizontal = 15 +size_flags_vertical = 15 + +[node name="Analog" type="Node2D" parent="HBoxContainer/VBoxContainer/TouchPad" instance=ExtResource( 1 )] +position = Vector2( 107.368, 94.2101 ) +script = ExtResource( 3 ) +__meta__ = { +"__editor_plugin_screen__": "2D" +} +isDynamicallyShowing = true +padname = "TouchPad" + +[node name="Control" type="Control" parent="HBoxContainer"] +margin_left = 327.0 +margin_right = 558.0 +margin_bottom = 400.0 +mouse_filter = 2 +size_flags_horizontal = 15 +size_flags_vertical = 15 + +[node name="VBoxContainer2" type="VBoxContainer" parent="HBoxContainer"] +margin_left = 562.0 +margin_right = 1024.0 +margin_bottom = 400.0 +mouse_filter = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +size_flags_stretch_ratio = 2.0 + +[node name="Control" type="Control" parent="HBoxContainer/VBoxContainer2"] +margin_right = 462.0 +margin_bottom = 150.0 +mouse_filter = 2 +size_flags_vertical = 3 + +[node name="TurnPanel" type="Control" parent="HBoxContainer/VBoxContainer2"] +margin_top = 158.0 +margin_right = 462.0 +margin_bottom = 400.0 +mouse_filter = 2 +size_flags_horizontal = 15 +size_flags_vertical = 15 +size_flags_stretch_ratio = 1.6 + +[node name="Node2D" type="Node2D" parent="HBoxContainer/VBoxContainer2/TurnPanel"] +position = Vector2( -600, -200 ) +script = ExtResource( 2 ) +listenerNodePath = "../../../../../../.." diff --git a/game/ui/touch_movement_controls/game_module.tres b/game/ui/touch_movement_controls/game_module.tres new file mode 100644 index 0000000..d6fe9a7 --- /dev/null +++ b/game/ui/touch_movement_controls/game_module.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://scripts/game_modules/ui_gui_child_module.gd" type="Script" id=1] +[ext_resource path="res://ui/touch_movement_controls/TouchMovementControls.tscn" type="PackedScene" id=2] + +[resource] +script = ExtResource( 1 ) +enabled = true +scene = ExtResource( 2 ) +hide = false diff --git a/game/ui/touch_target_controls/TouchTargetControls.tscn b/game/ui/touch_target_controls/TouchTargetControls.tscn new file mode 100644 index 0000000..8aea33b --- /dev/null +++ b/game/ui/touch_target_controls/TouchTargetControls.tscn @@ -0,0 +1,55 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://ui/touch_pad/analog.tscn" type="PackedScene" id=1] +[ext_resource path="res://ui/touch_pad/analog.gd" type="Script" id=2] + +[node name="TouchTargetControls" type="MarginContainer"] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +custom_constants/margin_right = 272 +custom_constants/margin_top = 481 +custom_constants/margin_left = 60 +custom_constants/margin_bottom = 41 +__meta__ = { +"_edit_group_": true +} + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +margin_left = 60.0 +margin_top = 481.0 +margin_right = 752.0 +margin_bottom = 559.0 +mouse_filter = 2 +size_flags_horizontal = 7 +size_flags_vertical = 7 + +[node name="Control" type="Control" parent="HBoxContainer"] +margin_right = 603.0 +margin_bottom = 78.0 +mouse_filter = 2 +size_flags_horizontal = 15 +size_flags_vertical = 15 +size_flags_stretch_ratio = 12.0 + +[node name="TargetPad" type="Control" parent="HBoxContainer"] +margin_left = 611.0 +margin_right = 692.0 +margin_bottom = 78.0 +mouse_filter = 2 +size_flags_horizontal = 15 +size_flags_vertical = 15 +size_flags_stretch_ratio = 1.6 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Analog" type="Node2D" parent="HBoxContainer/TargetPad" instance=ExtResource( 1 )] +position = Vector2( 40, 30 ) +script = ExtResource( 2 ) +__meta__ = { +"__editor_plugin_screen__": "2D" +} +isDynamicallyShowing = true +padname = "TargetPad" diff --git a/game/ui/touch_target_controls/game_module.tres b/game/ui/touch_target_controls/game_module.tres new file mode 100644 index 0000000..dc68a36 --- /dev/null +++ b/game/ui/touch_target_controls/game_module.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://scripts/game_modules/ui_gui_child_module.gd" type="Script" id=1] +[ext_resource path="res://ui/touch_target_controls/TouchTargetControls.tscn" type="PackedScene" id=2] + +[resource] +script = ExtResource( 1 ) +enabled = true +scene = ExtResource( 2 ) +hide = false diff --git a/game/ui/trainer/TrainerWindow.gd b/game/ui/trainer/TrainerWindow.gd new file mode 100644 index 0000000..7b8bf55 --- /dev/null +++ b/game/ui/trainer/TrainerWindow.gd @@ -0,0 +1,227 @@ +extends Control + +# Copyright (c) 2019-2020 Péter Magyar +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +export(NodePath) var spell_entry_container_path : NodePath +export(NodePath) var learn_button_path : NodePath +export(NodePath) var cost_label_path : NodePath + +export(NodePath) var spell_icon_path : NodePath +export(NodePath) var spell_name_label_path : NodePath +export(NodePath) var spell_description_label_path : NodePath +export(NodePath) var spell_requirements_label_path : NodePath + +var _spell_entry_container : Node +var _spell_entries : Array + +var _learn_button : Button +var _cost_label : Label + +var _spell_icon : TextureRect +var _spell_name_label : Label +var _spell_description_label : Label +var _spell_requirements_label : Label + +var _player : Entity + +var _entity_data : EntityData +var _character_class : EntityClassData + +var _spells : Array + +var _spell_button_group : ButtonGroup + +func _ready() -> void: + _spell_button_group = ButtonGroup.new() + + _spell_entry_container = get_node(spell_entry_container_path) + + _spell_icon = get_node(spell_icon_path) as TextureRect + _spell_name_label = get_node(spell_name_label_path) as Label + _spell_description_label = get_node(spell_description_label_path) as Label + _spell_requirements_label = get_node(spell_requirements_label_path) as Label + + _learn_button = get_node(learn_button_path) + _cost_label = get_node(cost_label_path) + + _learn_button.connect("pressed", self, "learn") + + connect("visibility_changed", self, "_visibility_changed") + +func learn() -> void: + if _character_class == null: + return + + if _player == null: + return + + var b : Button = _spell_button_group.get_pressed_button() + + if b: + var spell : Spell = b.get_meta("spell") + + _player.spell_learn_requestc(spell.id) + + refresh_entries() + +func refresh_entries() -> void: + if _character_class == null or _player == null: + return + + for c in _spell_entry_container.get_children(): + c.queue_free() + + _spell_entries.clear() + + for s in _spells: + var spell : Spell = s + + if !spell: + continue + + if _player.spell_hasc(spell): + continue + + var b : Button = Button.new() + + b.text = spell.text_name + " (rank " + str(spell.rank) + ")" + b.set_meta("spell", spell) + b.group = _spell_button_group + b.toggle_mode = true + b.connect("pressed", self, "_button_pressed") + + _spell_entries.append(b) + _spell_entry_container.add_child(b) + + if _spell_entries.size() > 0: + _spell_entries[0].pressed = true + _button_pressed() + +func refresh_all() -> void: + if _player == null: + return + + if _character_class == null: + return + + refresh_entries() + + +func _visibility_changed() -> void: + if visible: + refresh_all() + +func set_player(p_player: Entity) -> void: + if _player != null: + _player.disconnect("centity_data_changed", self, "centity_data_changed") + _player.disconnect("onc_open_winow_request", self, "onc_open_winow_request") + + _player = p_player + + _player.connect("centity_data_changed", self, "centity_data_changed") + _player.connect("onc_open_winow_request", self, "onc_open_winow_request") + + if _player != null: + centity_data_changed(_player.centity_data) + else: + centity_data_changed(null) + +func centity_data_changed(data: EntityData): + _spells.clear() + + _entity_data = null + _character_class = null + + if data == null: + return + + _entity_data = _player.centity_data + _character_class = _entity_data.entity_class_data + + if _character_class == null: + return + + for i in range(_character_class.get_num_spells()): + _spells.append(_character_class.get_spell(i)) + + _spells.sort_custom(CustomSpellSorter, "sort") + + refresh_all() + +func _button_pressed(): + var b : Button = _spell_button_group.get_pressed_button() + + if b && b.has_meta("spell"): + var spell : Spell = b.get_meta("spell") + + _spell_icon.texture = spell.icon + _spell_name_label.text = spell.text_name + _spell_description_label.text = spell.text_description + + var req_str = "Required: " + + if spell.training_required_spell: + req_str += spell.training_required_spell.text_name + " (rank " + str(spell.training_required_spell.rank) + ") " + + if spell.level > 0: + req_str += "level " + str(spell.level) + + _spell_requirements_label.text = req_str + + _cost_label.text = str(spell.get_training_cost()) + + else: + _spell_icon.texture = null + _spell_name_label.text = "" + _spell_description_label.text = "" + _spell_requirements_label.text = "" + + _cost_label.text = "0" + + + +class CustomSpellSorter: + static func sort(a, b): + if a.level < b.level: + return true + elif a.level > b.level: + return false + else: + var res = a.text_name.casecmp_to(b.text_name) + + if res == 0: + if a.rank < b.rank: + return true + return false + elif res == 1: + return false + + return true + + +func onc_open_winow_request(window_id : int) -> void: + if window_id != EntityEnums.ENTITY_WINDOW_TRAINER: + return + + show() + +# if player.has_signal("player_moved") && !player.is_connected("player_moved", self, "on_player_moved"): +# player.connect("player_moved", self, "on_player_moved", [], CONNECT_ONESHOT) diff --git a/game/ui/trainer/TrainerWindow.tscn b/game/ui/trainer/TrainerWindow.tscn new file mode 100644 index 0000000..a92599b --- /dev/null +++ b/game/ui/trainer/TrainerWindow.tscn @@ -0,0 +1,157 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://ui/trainer/TrainerWindow.gd" type="Script" id=1] +[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=2] + +[node name="TrainerWindow" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme = ExtResource( 2 ) +script = ExtResource( 1 ) +spell_entry_container_path = NodePath("PanelContainer/VBoxContainer/PanelContainer3/ScrollContainer/Spells") +learn_button_path = NodePath("PanelContainer/VBoxContainer/HBoxContainer/Train") +cost_label_path = NodePath("PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer2/Price") +spell_icon_path = NodePath("PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer/Icon") +spell_name_label_path = NodePath("PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer2/Name") +spell_description_label_path = NodePath("PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer2/Description") +spell_requirements_label_path = NodePath("PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer2/Requirements") + +[node name="PanelContainer" type="PanelContainer" parent="."] +margin_left = 49.0 +margin_top = 40.0 +margin_right = 436.0 +margin_bottom = 498.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 383.0 +margin_bottom = 454.0 + +[node name="HBoxContainer2" type="HBoxContainer" parent="PanelContainer/VBoxContainer"] +margin_right = 379.0 +margin_bottom = 26.0 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/HBoxContainer2"] +margin_top = 5.0 +margin_right = 345.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +text = "Trainer" + +[node name="Button" type="Button" parent="PanelContainer/VBoxContainer/HBoxContainer2"] +margin_left = 349.0 +margin_right = 379.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 30, 0 ) +text = "X" + +[node name="PanelContainer3" type="PanelContainer" parent="PanelContainer/VBoxContainer"] +margin_top = 34.0 +margin_right = 379.0 +margin_bottom = 221.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="ScrollContainer" type="ScrollContainer" parent="PanelContainer/VBoxContainer/PanelContainer3"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 375.0 +margin_bottom = 183.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +scroll_horizontal_enabled = false + +[node name="Spells" type="VBoxContainer" parent="PanelContainer/VBoxContainer/PanelContainer3/ScrollContainer"] +margin_right = 371.0 +size_flags_horizontal = 3 +custom_constants/separation = 2 + +[node name="PanelContainer2" type="PanelContainer" parent="PanelContainer/VBoxContainer"] +margin_top = 229.0 +margin_right = 379.0 +margin_bottom = 416.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/PanelContainer2"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 375.0 +margin_bottom = 183.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer"] +margin_right = 371.0 +margin_bottom = 156.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer"] +margin_right = 60.0 +margin_bottom = 156.0 + +[node name="Icon" type="TextureRect" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer"] +margin_right = 60.0 +margin_bottom = 60.0 +rect_min_size = Vector2( 60, 60 ) +expand = true + +[node name="VBoxContainer2" type="VBoxContainer" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer"] +margin_left = 64.0 +margin_right = 371.0 +margin_bottom = 156.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Name" type="Label" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer2"] +margin_right = 307.0 +margin_bottom = 15.0 +size_flags_horizontal = 3 +size_flags_vertical = 5 + +[node name="Requirements" type="Label" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer2"] +margin_top = 23.0 +margin_right = 307.0 +margin_bottom = 38.0 +size_flags_horizontal = 3 +size_flags_vertical = 5 + +[node name="Description" type="Label" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer2"] +margin_top = 46.0 +margin_right = 307.0 +margin_bottom = 156.0 +size_flags_horizontal = 3 +size_flags_vertical = 7 +autowrap = true + +[node name="HBoxContainer2" type="HBoxContainer" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer"] +margin_top = 164.0 +margin_right = 371.0 +margin_bottom = 179.0 + +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer2"] +margin_right = 36.0 +margin_bottom = 15.0 +text = "Costs " + +[node name="Price" type="Label" parent="PanelContainer/VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer2"] +margin_left = 40.0 +margin_right = 40.0 +margin_bottom = 15.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer"] +margin_top = 424.0 +margin_right = 379.0 +margin_bottom = 450.0 +alignment = 2 + +[node name="Train" type="Button" parent="PanelContainer/VBoxContainer/HBoxContainer"] +margin_left = 279.0 +margin_right = 379.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 100, 0 ) +text = "Learn" +[connection signal="pressed" from="PanelContainer/VBoxContainer/HBoxContainer2/Button" to="." method="hide"] diff --git a/game/ui/trainer/game_module.tres b/game/ui/trainer/game_module.tres new file mode 100644 index 0000000..816bec2 --- /dev/null +++ b/game/ui/trainer/game_module.tres @@ -0,0 +1,11 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://ui/trainer/TrainerWindow.tscn" type="PackedScene" id=1] +[ext_resource path="res://scripts/game_modules/ui_window_module.gd" type="Script" id=2] + +[resource] +script = ExtResource( 2 ) +enabled = true +scene = ExtResource( 1 ) +index = -1 +add_button = false diff --git a/game/ui/unitframes/Unitframes.tscn b/game/ui/unitframes/Unitframes.tscn new file mode 100644 index 0000000..9cb9175 --- /dev/null +++ b/game/ui/unitframes/Unitframes.tscn @@ -0,0 +1,24 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://player/Unitframes.gd" type="Script" id=2] +[ext_resource path="res://ui/unitframes/UnitframeBase.tscn" type="PackedScene" id=6] +[ext_resource path="res://ui/unitframes/TargetUnitframe.tscn" type="PackedScene" id=7] + +[node name="Unitframes" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 1.0 +margin_right = 1.0 +mouse_filter = 2 +script = ExtResource( 2 ) +__meta__ = { +"_edit_lock_": true +} +player_unit_frame_path = NodePath("PlayerUnitFrame") +target_unit_frame_path = NodePath("TargetUnitframe") + +[node name="PlayerUnitFrame" parent="." instance=ExtResource( 6 )] +margin_right = 151.0 + +[node name="TargetUnitframe" parent="." instance=ExtResource( 7 )] +visible = false diff --git a/game/ui/unitframes/game_module.tres b/game/ui/unitframes/game_module.tres new file mode 100644 index 0000000..8a6ca14 --- /dev/null +++ b/game/ui/unitframes/game_module.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://scripts/game_modules/ui_gui_child_module.gd" type="Script" id=1] +[ext_resource path="res://ui/unitframes/Unitframes.tscn" type="PackedScene" id=2] + +[resource] +script = ExtResource( 1 ) +enabled = true +scene = ExtResource( 2 ) +hide = false diff --git a/game/ui/vendor_window/ItemContainer.gd b/game/ui/vendor_window/ItemContainer.gd new file mode 100644 index 0000000..cacb70f --- /dev/null +++ b/game/ui/vendor_window/ItemContainer.gd @@ -0,0 +1,89 @@ +extends Control + +# Copyright (c) 2019-2020 Péter Magyar +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +export(NodePath) var icon_path : NodePath +export(NodePath) var name_label_path : NodePath +#export(NodePath) var description_label_path : NodePath +export(NodePath) var quantity_spinbox_path : NodePath +export(NodePath) var learn_button_path : NodePath +export(NodePath) var spell_button_path : NodePath +export(NodePath) var popup_path : NodePath + +export(Color) var known_color : Color = Color.white +export(Color) var not_known_color : Color = Color.gray +export(Color) var unlearnable_color : Color = Color.gray + +var _icon : TextureRect +var _name_label : Label +#var _description_label : RichTextLabel +var _item_button : Button +var _popup : Popup +var _quantity_spinbox : SpinBox + +var _vendor_item_data_entry : VendorItemDataEntry +var _player : Entity +var _index : int + +func _ready() -> void: + _icon = get_node(icon_path) as TextureRect + _name_label = get_node(name_label_path) as Label +# _description_label = get_node(description_label_path) as RichTextLabel + _item_button = get_node(spell_button_path) as Button + _popup = get_node(popup_path) as Popup + _quantity_spinbox = get_node(quantity_spinbox_path) as SpinBox + +func set_vendor_item(p_player : Entity, p_vide: VendorItemDataEntry, index : int) -> void: + _vendor_item_data_entry = p_vide + _player = p_player + _index = index + +# _icon.set_spell(_spell) + _item_button.set_item(_vendor_item_data_entry) + _popup.set_item(_vendor_item_data_entry) + + if _vendor_item_data_entry != null && _vendor_item_data_entry.item != null: + + _icon.texture = _vendor_item_data_entry.item.icon + _name_label.text = _vendor_item_data_entry.item.text_name + else: + _icon.texture = null + + _name_label.text = "....." + + update_spell_indicators() + +func spell_button_pressed() -> void: + var pos : Vector2 = _item_button.rect_global_position + pos.x += _item_button.rect_size.x + + _popup.popup(Rect2(pos, _popup.rect_size)) + +func buy(): + if !_player: + return + + var count : int = _quantity_spinbox.value + + _player.vendor_item_sbuy(_index, count) + +func update_spell_indicators(): + pass diff --git a/game/ui/vendor_window/ItemContainer.tscn b/game/ui/vendor_window/ItemContainer.tscn new file mode 100644 index 0000000..8308cf2 --- /dev/null +++ b/game/ui/vendor_window/ItemContainer.tscn @@ -0,0 +1,165 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] +[ext_resource path="res://ui/vendor_window/VendorEntryPopup.gd" type="Script" id=2] +[ext_resource path="res://ui/vendor_window/ItemDragAndDropVendor.gd" type="Script" id=3] +[ext_resource path="res://ui/vendor_window/ItemContainer.gd" type="Script" id=4] + +[node name="ItemContainer" type="Control"] +margin_left = 290.0 +margin_top = 306.0 +margin_right = 576.0 +margin_bottom = 370.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme = ExtResource( 1 ) +script = ExtResource( 4 ) +__meta__ = { +"_edit_use_anchors_": false +} +icon_path = NodePath("PanelContainer/HBoxContainer/Button/CenterContainer/Icon") +name_label_path = NodePath("PanelContainer/HBoxContainer/Name") +quantity_spinbox_path = NodePath("EntryPopup/VBoxContainer/Container/VBoxContainer/HBoxContainer/SpinBox") +learn_button_path = NodePath("EntryPopup/VBoxContainer/HBoxContainer/Button") +spell_button_path = NodePath("../ItemContainer/PanelContainer/HBoxContainer/Button") +popup_path = NodePath("EntryPopup") +not_known_color = Color( 0.596078, 0.596078, 0.596078, 1 ) +unlearnable_color = Color( 0.772549, 0.192157, 0.192157, 1 ) + +[node name="PanelContainer" type="PanelContainer" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 282.0 +margin_bottom = 60.0 + +[node name="Button" type="Button" parent="PanelContainer/HBoxContainer"] +margin_right = 55.0 +margin_bottom = 56.0 +rect_min_size = Vector2( 55, 55 ) +script = ExtResource( 3 ) + +[node name="CenterContainer" type="MarginContainer" parent="PanelContainer/HBoxContainer/Button"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 51.0 +margin_bottom = 51.0 +mouse_filter = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Icon" type="TextureRect" parent="PanelContainer/HBoxContainer/Button/CenterContainer"] +margin_right = 47.0 +margin_bottom = 47.0 +mouse_filter = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +expand = true + +[node name="Name" type="Label" parent="PanelContainer/HBoxContainer"] +margin_left = 59.0 +margin_top = 20.0 +margin_right = 278.0 +margin_bottom = 35.0 +size_flags_horizontal = 3 +text = "......" + +[node name="EntryPopup" type="PopupPanel" parent="."] +margin_left = 64.0 +margin_top = 4.0 +margin_right = 360.0 +margin_bottom = 207.0 +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} +label_path = NodePath("VBoxContainer/HBoxContainer/Label") +desc_label_path = NodePath("VBoxContainer/Container/VBoxContainer/RichTextLabel") +quantity_spinbox_path = NodePath("VBoxContainer/Container/VBoxContainer/HBoxContainer/SpinBox") + +[node name="VBoxContainer" type="VBoxContainer" parent="EntryPopup"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 4.0 +margin_top = 4.0 +margin_right = -4.0 +margin_bottom = -4.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBoxContainer" type="HBoxContainer" parent="EntryPopup/VBoxContainer"] +margin_right = 288.0 +margin_bottom = 26.0 + +[node name="Label" type="Label" parent="EntryPopup/VBoxContainer/HBoxContainer"] +margin_top = 5.0 +margin_right = 254.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 + +[node name="Button" type="Button" parent="EntryPopup/VBoxContainer/HBoxContainer"] +margin_left = 258.0 +margin_right = 288.0 +margin_bottom = 26.5702 +rect_min_size = Vector2( 30, 0 ) +text = "X" + +[node name="HSeparator2" type="HSeparator" parent="EntryPopup/VBoxContainer"] +margin_top = 34.0 +margin_right = 288.0 +margin_bottom = 38.0 + +[node name="Container" type="VBoxContainer" parent="EntryPopup/VBoxContainer"] +margin_top = 46.0 +margin_right = 288.0 +margin_bottom = 195.0 +rect_min_size = Vector2( 0, 20 ) +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="VBoxContainer" type="VBoxContainer" parent="EntryPopup/VBoxContainer/Container"] +margin_right = 288.0 +margin_bottom = 149.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="HBoxContainer" type="HBoxContainer" parent="EntryPopup/VBoxContainer/Container/VBoxContainer"] +margin_right = 288.0 +margin_bottom = 26.0 + +[node name="SpinBox" type="SpinBox" parent="EntryPopup/VBoxContainer/Container/VBoxContainer/HBoxContainer"] +margin_right = 169.47 +margin_bottom = 26.0 +min_value = 1.0 +value = 1.0 +rounded = true +align = 1 + +[node name="LearnButton" type="Button" parent="EntryPopup/VBoxContainer/Container/VBoxContainer/HBoxContainer"] +margin_left = 173.0 +margin_right = 288.0 +margin_bottom = 26.5702 +size_flags_horizontal = 3 +text = "Buy" + +[node name="RichTextLabel" type="RichTextLabel" parent="EntryPopup/VBoxContainer/Container/VBoxContainer"] +margin_top = 34.0 +margin_right = 288.0 +margin_bottom = 149.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +[connection signal="pressed" from="PanelContainer/HBoxContainer/Button" to="." method="spell_button_pressed"] +[connection signal="pressed" from="EntryPopup/VBoxContainer/HBoxContainer/Button" to="EntryPopup" method="hide"] +[connection signal="pressed" from="EntryPopup/VBoxContainer/Container/VBoxContainer/HBoxContainer/LearnButton" to="." method="buy"] diff --git a/game/ui/windows/VBoxContainer.gd b/game/ui/vendor_window/ItemDragAndDropVendor.gd similarity index 70% rename from game/ui/windows/VBoxContainer.gd rename to game/ui/vendor_window/ItemDragAndDropVendor.gd index 9c90862..37e5fd0 100644 --- a/game/ui/windows/VBoxContainer.gd +++ b/game/ui/vendor_window/ItemDragAndDropVendor.gd @@ -1,4 +1,4 @@ -extends VBoxContainer +extends Button # Copyright (c) 2019-2020 Péter Magyar # @@ -20,14 +20,26 @@ extends VBoxContainer # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -# Declare member variables here. Examples: -# var a = 2 -# var b = "text" +var item : VendorItemDataEntry -# Called when the node enters the scene tree for the first time. -func _ready(): - pass # Replace with function body. +func set_item(p_item): + item = p_item + +func get_drag_data(pos): + if item == null || item.item: + return null + + var tr = TextureRect.new() + tr.texture = item.item.icon + tr.expand = true + +# tr.rect_size = rect_size + tr.rect_size = Vector2(45, 45) + set_drag_preview(tr) -# Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta): -# pass + var esd = ESDragAndDrop.new() + + esd.type = ESDragAndDrop.ES_DRAG_AND_DROP_TYPE_ITEM + esd.item_path = item.item.resource_path + + return esd diff --git a/game/ui/vendor_window/VendorEntryPopup.gd b/game/ui/vendor_window/VendorEntryPopup.gd new file mode 100644 index 0000000..6e3d64e --- /dev/null +++ b/game/ui/vendor_window/VendorEntryPopup.gd @@ -0,0 +1,54 @@ +extends PopupPanel + +# Copyright (c) 2019-2020 Péter Magyar +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +export(NodePath) var label_path : NodePath +export(NodePath) var desc_label_path : NodePath +export(NodePath) var quantity_spinbox_path : NodePath + +var _label : Label +var _desc_label : RichTextLabel +var _quantity_spinbox : SpinBox + +var _item : ItemTemplate +var _item_data_entry : VendorItemDataEntry + +func _ready(): + _label = get_node(label_path) as Label + _desc_label = get_node(desc_label_path) as RichTextLabel + _quantity_spinbox = get_node(quantity_spinbox_path) as SpinBox + +func set_item(item_data_entry : VendorItemDataEntry) -> void: + _item_data_entry = item_data_entry + + if _item_data_entry == null: + return + + _item = _item_data_entry.item + + if _item == null: + return + + _label.text = _item.text_name + _desc_label.text = _item.get_description() + _quantity_spinbox.max_value = _item.stack_size + _quantity_spinbox.value = 1 + diff --git a/game/ui/vendor_window/VendorWindow.gd b/game/ui/vendor_window/VendorWindow.gd new file mode 100644 index 0000000..0fec5ca --- /dev/null +++ b/game/ui/vendor_window/VendorWindow.gd @@ -0,0 +1,161 @@ +extends Control + +# Copyright (c) 2019-2020 Péter Magyar +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +export(NodePath) var opener_button_path : NodePath +var opener_button : BaseButton + +export(NodePath) var spell_entry_container_path : NodePath +export(NodePath) var prev_button_path : NodePath +export(NodePath) var next_button_path : NodePath + +export(bool) var show_not_learned : bool = true +export(bool) var show_not_learnable : bool = false + +var _spell_entry_container : Node +var _item_entries : Array + +var _prev_button : Button +var _next_button : Button + +var _player : Entity + +var _page : int = 0 +var _max_pages : int = 0 + +var _vendor_item_data : VendorItemData + +func _ready() -> void: + opener_button = get_node_or_null(opener_button_path) as BaseButton + + _item_entries.clear() + + _spell_entry_container = get_node(spell_entry_container_path) + + for i in range(_spell_entry_container.get_child_count()): + _item_entries.append(_spell_entry_container.get_child(i)) + + _prev_button = get_node(prev_button_path) + _next_button = get_node(next_button_path) + + _prev_button.connect("pressed", self, "dec_page") + _next_button.connect("pressed", self, "inc_page") + + connect("visibility_changed", self, "_visibility_changed") + +func inc_page() -> void: + if _vendor_item_data == null: + return + + _page += 1 + + if _page > _max_pages: + _page = _max_pages + + refresh_entries() + +func dec_page() -> void: + if _vendor_item_data == null: + return + + _page -= 1 + + if _page < 0: + _page = 0 + + refresh_entries() + +func refresh_entries() -> void: + if _player == null || _vendor_item_data == null: + return + + var i : int = 0 + var n : int = 0 +# for n in range(len(_item_entries)): + while n < len(_item_entries): + var spindex : int = i + (_page * len(_item_entries)) + + if spindex >= _vendor_item_data.get_num_vendor_datas(): + _item_entries[n].set_vendor_item(_player, null, 0) + i += 1 + n += 1 + continue + + var vide : VendorItemDataEntry = _vendor_item_data.get_vendor_data(spindex) + + if !vide: + continue + + _item_entries[n].set_vendor_item(_player, vide, spindex) + i += 1 + n += 1 + + +func refresh_all() -> void: + if _player == null: + return + + if _vendor_item_data == null: + return + + _max_pages = int(_vendor_item_data.get_num_vendor_datas() / len(_item_entries)) + + if _page > _max_pages: + _page = _max_pages + + refresh_entries() + + +func _visibility_changed() -> void: + if visible: + if !_player: + return + + var t : Entity = _player.ctarget + + if !t: + return + + _vendor_item_data = t.getc_entity_data().entity_class_data.get_vendor_item_data() + + _page = 0 + refresh_all() + + + +func set_player(p_player: Entity) -> void: + if _player != null: + _player.disconnect("onc_open_winow_request", self, "onc_open_winow_request") + + _player = p_player + + _player.connect("onc_open_winow_request", self, "onc_open_winow_request") + + + +func onc_open_winow_request(window_id : int) -> void: + if window_id != EntityEnums.ENTITY_WINDOW_VENDOR: + return + + show() + +# if player.has_signal("player_moved") && !player.is_connected("player_moved", self, "on_player_moved"): +# player.connect("player_moved", self, "on_player_moved", [], CONNECT_ONESHOT) diff --git a/game/ui/vendor_window/VendorWindow.tscn b/game/ui/vendor_window/VendorWindow.tscn new file mode 100644 index 0000000..887493c --- /dev/null +++ b/game/ui/vendor_window/VendorWindow.tscn @@ -0,0 +1,175 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://ui/vendor_window/ItemContainer.tscn" type="PackedScene" id=1] +[ext_resource path="res://ui/vendor_window/VendorWindow.gd" type="Script" id=4] +[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=5] + +[node name="VendorWindow" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +theme = ExtResource( 5 ) +script = ExtResource( 4 ) +__meta__ = { +"_edit_use_anchors_": false +} +spell_entry_container_path = NodePath("PanelContainer/PagedContent/GridContainer") +prev_button_path = NodePath("PanelContainer/PagedContent/Controls/HBoxContainer/Button2") +next_button_path = NodePath("PanelContainer/PagedContent/Controls/HBoxContainer/Button") +show_not_learned = false + +[node name="PanelContainer" type="PanelContainer" parent="."] +margin_left = 64.0 +margin_top = 39.0 +margin_right = 580.0 +margin_bottom = 507.0 + +[node name="PagedContent" type="VBoxContainer" parent="PanelContainer"] +margin_left = 4.0 +margin_top = 4.0 +margin_right = 512.0 +margin_bottom = 464.0 + +[node name="Header" type="HBoxContainer" parent="PanelContainer/PagedContent"] +margin_right = 508.0 +margin_bottom = 30.0 + +[node name="Label" type="Label" parent="PanelContainer/PagedContent/Header"] +margin_top = 7.0 +margin_right = 36.0 +margin_bottom = 22.0 +text = "Vendor" + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/PagedContent/Header"] +margin_left = 40.0 +margin_right = 464.0 +margin_bottom = 30.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +alignment = 1 + +[node name="Button" type="Button" parent="PanelContainer/PagedContent/Header"] +margin_left = 468.0 +margin_right = 508.0 +margin_bottom = 30.0 +rect_min_size = Vector2( 40, 30 ) +text = "X" + +[node name="GridContainer" type="GridContainer" parent="PanelContainer/PagedContent"] +margin_top = 38.0 +margin_right = 508.0 +margin_bottom = 422.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +columns = 2 + +[node name="ItemContainer" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 0.0 +margin_top = 0.0 +margin_right = 252.0 +margin_bottom = 60.0 + +[node name="ItemContainer2" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 256.0 +margin_top = 0.0 +margin_right = 508.0 +margin_bottom = 60.0 + +[node name="ItemContainer3" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 0.0 +margin_top = 64.0 +margin_right = 252.0 +margin_bottom = 124.0 + +[node name="ItemContainer4" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 256.0 +margin_top = 64.0 +margin_right = 508.0 +margin_bottom = 124.0 + +[node name="ItemContainer5" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 0.0 +margin_top = 128.0 +margin_right = 252.0 +margin_bottom = 188.0 + +[node name="ItemContainer6" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 256.0 +margin_top = 128.0 +margin_right = 508.0 +margin_bottom = 188.0 + +[node name="ItemContainer7" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 0.0 +margin_top = 192.0 +margin_right = 252.0 +margin_bottom = 252.0 + +[node name="ItemContainer8" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 256.0 +margin_top = 192.0 +margin_right = 508.0 +margin_bottom = 252.0 + +[node name="ItemContainer9" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 0.0 +margin_top = 256.0 +margin_right = 252.0 +margin_bottom = 316.0 + +[node name="ItemContainer10" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 256.0 +margin_top = 256.0 +margin_right = 508.0 +margin_bottom = 316.0 + +[node name="ItemContainer11" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 0.0 +margin_top = 320.0 +margin_right = 252.0 +margin_bottom = 380.0 + +[node name="ItemContainer12" parent="PanelContainer/PagedContent/GridContainer" instance=ExtResource( 1 )] +margin_left = 256.0 +margin_top = 320.0 +margin_right = 508.0 +margin_bottom = 380.0 + +[node name="Controls" type="MarginContainer" parent="PanelContainer/PagedContent"] +margin_top = 430.0 +margin_right = 508.0 +margin_bottom = 460.0 +custom_constants/margin_right = 2 +custom_constants/margin_top = 2 +custom_constants/margin_left = 2 +custom_constants/margin_bottom = 2 + +[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/PagedContent/Controls"] +margin_left = 2.0 +margin_top = 2.0 +margin_right = 506.0 +margin_bottom = 28.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Button2" type="Button" parent="PanelContainer/PagedContent/Controls/HBoxContainer"] +margin_right = 165.0 +margin_bottom = 26.5702 +size_flags_horizontal = 3 +size_flags_vertical = 3 +text = "< Previous page" + +[node name="Spacer" type="Control" parent="PanelContainer/PagedContent/Controls/HBoxContainer"] +margin_left = 169.0 +margin_right = 334.0 +margin_bottom = 26.0 +size_flags_horizontal = 3 + +[node name="Button" type="Button" parent="PanelContainer/PagedContent/Controls/HBoxContainer"] +margin_left = 338.0 +margin_right = 504.0 +margin_bottom = 26.5702 +size_flags_horizontal = 3 +size_flags_vertical = 3 +text = "Next page >" +[connection signal="pressed" from="PanelContainer/PagedContent/Header/Button" to="." method="hide"] diff --git a/game/ui/vendor_window/game_module.tres b/game/ui/vendor_window/game_module.tres new file mode 100644 index 0000000..df5688e --- /dev/null +++ b/game/ui/vendor_window/game_module.tres @@ -0,0 +1,11 @@ +[gd_resource type="Resource" load_steps=3 format=2] + +[ext_resource path="res://ui/vendor_window/VendorWindow.tscn" type="PackedScene" id=1] +[ext_resource path="res://scripts/game_modules/ui_window_module.gd" type="Script" id=2] + +[resource] +script = ExtResource( 2 ) +enabled = true +scene = ExtResource( 1 ) +index = -1 +add_button = false diff --git a/game/ui/windows/CharacterWindow.gd b/game/ui/windows/CharacterWindow.gd deleted file mode 100644 index 0dcca18..0000000 --- a/game/ui/windows/CharacterWindow.gd +++ /dev/null @@ -1,27 +0,0 @@ -extends PanelContainer - - -# Declare member variables here. Examples: -# var a = 2 -# var b = "text" - - -# Called when the node enters the scene tree for the first time. -func _ready(): - pass # Replace with function body. - - -# Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta): -# pass - - -func _on_CharacterButton_toggled(button_pressed): - if button_pressed: - show() - else: - hide() - - -func _on_Button_pressed(): - hide() diff --git a/game/ui/windows/CharacterWindow.tscn b/game/ui/windows/CharacterWindow.tscn deleted file mode 100644 index 5f0f88b..0000000 --- a/game/ui/windows/CharacterWindow.tscn +++ /dev/null @@ -1,75 +0,0 @@ -[gd_scene load_steps=3 format=2] - -[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] -[ext_resource path="res://ui/windows/CharacterWindow.gd" type="Script" id=2] - -[node name="CharacterWindow" type="PanelContainer"] -anchor_right = 1.0 -anchor_bottom = 1.0 -theme = ExtResource( 1 ) -script = ExtResource( 2 ) -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="VBoxContainer" type="VBoxContainer" parent="."] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 1020.0 -margin_bottom = 596.0 - -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] -margin_right = 1016.0 -margin_bottom = 30.0 -rect_min_size = Vector2( 0, 30 ) - -[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer"] -margin_top = 7.0 -margin_right = 982.0 -margin_bottom = 22.0 -size_flags_horizontal = 3 -text = "Character" - -[node name="Button" type="Button" parent="VBoxContainer/HBoxContainer"] -margin_left = 986.0 -margin_right = 1016.0 -margin_bottom = 30.0 -rect_min_size = Vector2( 30, 30 ) -text = "X" -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer"] -margin_top = 38.0 -margin_right = 1016.0 -margin_bottom = 592.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer/HBoxContainer2"] -margin_right = 387.0 -margin_bottom = 554.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -size_flags_stretch_ratio = 0.62 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer2/PanelContainer"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 383.0 -margin_bottom = 550.0 - -[node name="PanelContainer2" type="PanelContainer" parent="VBoxContainer/HBoxContainer2"] -margin_left = 391.0 -margin_right = 1016.0 -margin_bottom = 554.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer2/PanelContainer2"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 621.0 -margin_bottom = 550.0 -[connection signal="pressed" from="VBoxContainer/HBoxContainer/Button" to="." method="_on_Button_pressed"] diff --git a/game/ui/windows/CraftingWindow.tscn b/game/ui/windows/CraftingWindow.tscn deleted file mode 100644 index dc883e3..0000000 --- a/game/ui/windows/CraftingWindow.tscn +++ /dev/null @@ -1,311 +0,0 @@ -[gd_scene load_steps=7 format=2] - -[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] -[ext_resource path="res://ui/windows/CraftingWindow.gd" type="Script" id=2] -[ext_resource path="res://ui/crafting/RecipeSelector.tscn" type="PackedScene" id=3] -[ext_resource path="res://ui/crafting/ItemEntry.tscn" type="PackedScene" id=4] -[ext_resource path="res://ui/windows/CraftItemDescription.gd" type="Script" id=5] - -[sub_resource type="ButtonGroup" id=1] - -[node name="CraftingWindow" type="PanelContainer"] -anchor_right = 1.0 -anchor_bottom = 1.0 -theme = ExtResource( 1 ) -script = ExtResource( 2 ) -__meta__ = { -"_edit_use_anchors_": false -} -item_entry_scene = ExtResource( 4 ) -recipe_selector_scene = ExtResource( 3 ) -item_container_path = NodePath("VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription") -tools_container_path = NodePath("VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/ToolsContainer") -materials_container_path = NodePath("VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/MaterialContainer") -recipe_selector_container_path = NodePath("VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/Recipes/VBoxContainer") -recipe_selector_main_on = NodePath("VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/Recipes") -recipe_selector_main_off = NodePath("VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/CenterContainer2") -materials_container_main_on = NodePath("VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry") -materials_container_main_off = NodePath("VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CenterContainer") - -[node name="VBoxContainer" type="VBoxContainer" parent="."] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 1020.0 -margin_bottom = 596.0 - -[node name="Header" type="HBoxContainer" parent="VBoxContainer"] -margin_right = 1016.0 -margin_bottom = 30.0 - -[node name="Label" type="Label" parent="VBoxContainer/Header"] -margin_top = 7.0 -margin_right = 972.0 -margin_bottom = 22.0 -size_flags_horizontal = 3 -text = "Crafting" - -[node name="Button" type="Button" parent="VBoxContainer/Header"] -margin_left = 976.0 -margin_right = 1016.0 -margin_bottom = 30.0 -rect_min_size = Vector2( 40, 30 ) -text = "X" - -[node name="Categories" type="HBoxContainer" parent="VBoxContainer"] -margin_top = 38.0 -margin_right = 1016.0 -margin_bottom = 64.0 - -[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/Categories"] -margin_right = 1016.0 -margin_bottom = 26.0 -rect_min_size = Vector2( 0, 20 ) -size_flags_horizontal = 3 -size_flags_vertical = 3 -alignment = 1 - -[node name="Alchemy" type="Button" parent="VBoxContainer/Categories/HBoxContainer2"] -margin_left = 198.0 -margin_right = 298.0 -margin_bottom = 26.269 -rect_min_size = Vector2( 100, 0 ) -toggle_mode = true -pressed = true -group = SubResource( 1 ) -text = "Alchemy" - -[node name="Smithing" type="Button" parent="VBoxContainer/Categories/HBoxContainer2"] -margin_left = 302.0 -margin_right = 402.0 -margin_bottom = 26.269 -rect_min_size = Vector2( 100, 0 ) -toggle_mode = true -group = SubResource( 1 ) -text = "Smithing" - -[node name="Enchanting" type="Button" parent="VBoxContainer/Categories/HBoxContainer2"] -margin_left = 406.0 -margin_right = 506.0 -margin_bottom = 26.269 -rect_min_size = Vector2( 100, 0 ) -toggle_mode = true -group = SubResource( 1 ) -text = "Enchantig" - -[node name="Engineering" type="Button" parent="VBoxContainer/Categories/HBoxContainer2"] -margin_left = 510.0 -margin_right = 610.0 -margin_bottom = 26.269 -rect_min_size = Vector2( 100, 0 ) -toggle_mode = true -group = SubResource( 1 ) -text = "Engineering" - -[node name="Tailoring" type="Button" parent="VBoxContainer/Categories/HBoxContainer2"] -margin_left = 614.0 -margin_right = 714.0 -margin_bottom = 26.269 -rect_min_size = Vector2( 100, 0 ) -toggle_mode = true -group = SubResource( 1 ) -text = "Tailoring" - -[node name="Other" type="Button" parent="VBoxContainer/Categories/HBoxContainer2"] -margin_left = 718.0 -margin_right = 818.0 -margin_bottom = 26.269 -rect_min_size = Vector2( 100, 0 ) -toggle_mode = true -group = SubResource( 1 ) -text = "Other" - -[node name="VBoxContainer" type="MarginContainer" parent="VBoxContainer"] -margin_top = 72.0 -margin_right = 1016.0 -margin_bottom = 592.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/VBoxContainer"] -margin_right = 1016.0 -margin_bottom = 520.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer"] -margin_right = 674.0 -margin_bottom = 520.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="CraftEntry" type="VBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer"] -visible = false -margin_left = 4.0 -margin_top = 4.0 -margin_right = 718.0 -margin_bottom = 516.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -size_flags_stretch_ratio = 0.6 -custom_constants/separation = 10 - -[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry"] -margin_right = 714.0 -margin_bottom = 472.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -scroll_horizontal_enabled = false - -[node name="VBoxContainer2" type="VBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer"] -margin_right = 714.0 -margin_bottom = 122.0 -size_flags_horizontal = 3 - -[node name="CraftItemDescription" type="HBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] -margin_right = 714.0 -margin_bottom = 60.0 -alignment = 1 -script = ExtResource( 5 ) -icon_path = NodePath("VBoxContainer/PanelContainer/TextureRect") -name_label_path = NodePath("PanelContainer2/VBoxContainer/Label") -description_label_path = NodePath("PanelContainer2/VBoxContainer/RichTextLabel") - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription"] -margin_left = 175.0 -margin_right = 235.0 -margin_bottom = 60.0 - -[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/VBoxContainer"] -margin_right = 60.0 -margin_bottom = 60.0 -rect_min_size = Vector2( 60, 60 ) - -[node name="TextureRect" type="TextureRect" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/VBoxContainer/PanelContainer"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 56.0 -margin_bottom = 56.0 -expand = true - -[node name="PanelContainer2" type="PanelContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription"] -margin_left = 239.0 -margin_right = 539.0 -margin_bottom = 60.0 -rect_min_size = Vector2( 300, 0 ) - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/PanelContainer2"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 296.0 -margin_bottom = 56.0 - -[node name="Label" type="Label" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/PanelContainer2/VBoxContainer"] -margin_right = 292.0 -margin_bottom = 15.0 - -[node name="RichTextLabel" type="RichTextLabel" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2/CraftItemDescription/PanelContainer2/VBoxContainer"] -margin_top = 23.0 -margin_right = 292.0 -margin_bottom = 52.0 -size_flags_vertical = 3 -text = " -" -scroll_active = false - -[node name="Label2" type="Label" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] -margin_top = 68.0 -margin_right = 714.0 -margin_bottom = 83.0 -text = "Tools" - -[node name="ToolsContainer" type="VBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] -margin_top = 91.0 -margin_right = 714.0 -margin_bottom = 91.0 - -[node name="Label" type="Label" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] -margin_top = 99.0 -margin_right = 714.0 -margin_bottom = 114.0 -text = "Materials" - -[node name="MaterialContainer" type="VBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/ScrollContainer/VBoxContainer2"] -margin_top = 122.0 -margin_right = 714.0 -margin_bottom = 122.0 - -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry"] -margin_top = 482.0 -margin_right = 714.0 -margin_bottom = 512.0 -alignment = 1 - -[node name="CraftButton" type="Button" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/HBoxContainer"] -margin_left = 307.0 -margin_right = 407.0 -margin_bottom = 30.0 -rect_min_size = Vector2( 100, 30 ) -text = "Craft" - -[node name="CenterContainer" type="CenterContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 670.0 -margin_bottom = 516.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="Label" type="Label" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CenterContainer"] -margin_left = 288.0 -margin_top = 248.0 -margin_right = 378.0 -margin_bottom = 263.0 -text = "Select a recipe" -align = 1 -valign = 1 - -[node name="PanelContainer2" type="PanelContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer"] -margin_left = 678.0 -margin_right = 1016.0 -margin_bottom = 520.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -size_flags_stretch_ratio = 0.5 - -[node name="Recipes" type="ScrollContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2"] -visible = false -margin_left = 4.0 -margin_top = 4.0 -margin_right = 286.0 -margin_bottom = 516.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/Recipes"] -margin_right = 282.0 -size_flags_horizontal = 3 - -[node name="CenterContainer2" type="CenterContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 334.0 -margin_bottom = 516.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="Label" type="Label" parent="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer2/CenterContainer2"] -margin_left = 135.0 -margin_top = 248.0 -margin_right = 195.0 -margin_bottom = 263.0 -text = "No recipes" -align = 1 -valign = 1 -[connection signal="pressed" from="VBoxContainer/Header/Button" to="." method="hide"] -[connection signal="pressed" from="VBoxContainer/Categories/HBoxContainer2/Alchemy" to="." method="set_category" binds= [ 1 ]] -[connection signal="pressed" from="VBoxContainer/Categories/HBoxContainer2/Smithing" to="." method="set_category" binds= [ 2 ]] -[connection signal="pressed" from="VBoxContainer/Categories/HBoxContainer2/Enchanting" to="." method="set_category" binds= [ 4 ]] -[connection signal="pressed" from="VBoxContainer/Categories/HBoxContainer2/Engineering" to="." method="set_category" binds= [ 5 ]] -[connection signal="pressed" from="VBoxContainer/Categories/HBoxContainer2/Tailoring" to="." method="set_category" binds= [ 3 ]] -[connection signal="pressed" from="VBoxContainer/Categories/HBoxContainer2/Other" to="." method="set_category" binds= [ 0 ]] -[connection signal="pressed" from="VBoxContainer/VBoxContainer/HBoxContainer/PanelContainer/CraftEntry/HBoxContainer/CraftButton" to="." method="request_craft"] diff --git a/game/ui/windows/SpellBookWindow.tscn b/game/ui/windows/SpellBookWindow.tscn deleted file mode 100644 index 6e05545..0000000 --- a/game/ui/windows/SpellBookWindow.tscn +++ /dev/null @@ -1,179 +0,0 @@ -[gd_scene load_steps=4 format=2] - -[ext_resource path="res://ui/windows/SpellContainer.tscn" type="PackedScene" id=1] -[ext_resource path="res://ui/windows/SpellBookWindow.gd" type="Script" id=4] -[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=5] - -[node name="SpellBookWindow" type="PanelContainer"] -margin_right = 884.0 -margin_bottom = 510.0 -theme = ExtResource( 5 ) -script = ExtResource( 4 ) -__meta__ = { -"_edit_use_anchors_": false -} -spell_entry_container_path = NodePath("PagedContent/GridContainer") -prev_button_path = NodePath("PagedContent/Controls/HBoxContainer/Button2") -next_button_path = NodePath("PagedContent/Controls/HBoxContainer/Button") -spell_points_label_path = NodePath("PagedContent/Controls/HBoxContainer/SpellPoints") - -[node name="PagedContent" type="VBoxContainer" parent="."] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 880.0 -margin_bottom = 506.0 - -[node name="Header" type="HBoxContainer" parent="PagedContent"] -margin_right = 876.0 -margin_bottom = 30.0 - -[node name="Label" type="Label" parent="PagedContent/Header"] -margin_top = 7.0 -margin_right = 54.0 -margin_bottom = 22.0 -text = "Spellbook" - -[node name="HBoxContainer" type="HBoxContainer" parent="PagedContent/Header"] -margin_left = 58.0 -margin_right = 832.0 -margin_bottom = 30.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -alignment = 1 - -[node name="Button" type="Button" parent="PagedContent/Header/HBoxContainer"] -margin_left = 337.0 -margin_right = 437.0 -margin_bottom = 30.0 -rect_min_size = Vector2( 100, 0 ) -text = "Nature" - -[node name="Button" type="Button" parent="PagedContent/Header"] -margin_left = 836.0 -margin_right = 876.0 -margin_bottom = 30.0 -rect_min_size = Vector2( 40, 30 ) -text = "X" - -[node name="GridContainer" type="GridContainer" parent="PagedContent"] -margin_top = 38.0 -margin_right = 876.0 -margin_bottom = 464.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -columns = 2 - -[node name="SpellContainer" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 0.0 -margin_top = 0.0 -margin_right = 436.0 -margin_bottom = 67.0 - -[node name="SpellContainer2" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 440.0 -margin_top = 0.0 -margin_right = 876.0 -margin_bottom = 67.0 - -[node name="SpellContainer3" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 0.0 -margin_top = 71.0 -margin_right = 436.0 -margin_bottom = 138.0 - -[node name="SpellContainer4" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 440.0 -margin_top = 71.0 -margin_right = 876.0 -margin_bottom = 138.0 - -[node name="SpellContainer5" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 0.0 -margin_top = 142.0 -margin_right = 436.0 -margin_bottom = 209.0 - -[node name="SpellContainer6" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 440.0 -margin_top = 142.0 -margin_right = 876.0 -margin_bottom = 209.0 - -[node name="SpellContainer7" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 0.0 -margin_top = 213.0 -margin_right = 436.0 -margin_bottom = 280.0 - -[node name="SpellContainer8" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 440.0 -margin_top = 213.0 -margin_right = 876.0 -margin_bottom = 280.0 - -[node name="SpellContainer9" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 0.0 -margin_top = 284.0 -margin_right = 436.0 -margin_bottom = 351.0 - -[node name="SpellContainer10" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 440.0 -margin_top = 284.0 -margin_right = 876.0 -margin_bottom = 351.0 - -[node name="SpellContainer11" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 0.0 -margin_top = 355.0 -margin_right = 436.0 -margin_bottom = 422.0 - -[node name="SpellContainer12" parent="PagedContent/GridContainer" instance=ExtResource( 1 )] -margin_left = 440.0 -margin_top = 355.0 -margin_right = 876.0 -margin_bottom = 422.0 - -[node name="Controls" type="MarginContainer" parent="PagedContent"] -margin_top = 472.0 -margin_right = 876.0 -margin_bottom = 502.0 -custom_constants/margin_right = 2 -custom_constants/margin_top = 2 -custom_constants/margin_left = 2 -custom_constants/margin_bottom = 2 - -[node name="HBoxContainer" type="HBoxContainer" parent="PagedContent/Controls"] -margin_left = 2.0 -margin_top = 2.0 -margin_right = 874.0 -margin_bottom = 28.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="Button2" type="Button" parent="PagedContent/Controls/HBoxContainer"] -margin_right = 434.0 -margin_bottom = 26.5702 -size_flags_horizontal = 3 -size_flags_vertical = 3 -text = "< Previous page" - -[node name="SpellPoints" type="Label" parent="PagedContent/Controls/HBoxContainer"] -visible = false -margin_left = 292.0 -margin_top = 5.0 -margin_right = 580.0 -margin_bottom = 20.0 -size_flags_horizontal = 3 -align = 1 -valign = 1 - -[node name="Button" type="Button" parent="PagedContent/Controls/HBoxContainer"] -margin_left = 438.0 -margin_right = 872.0 -margin_bottom = 26.5702 -size_flags_horizontal = 3 -size_flags_vertical = 3 -text = "Next page >" -[connection signal="pressed" from="PagedContent/Header/Button" to="." method="hide"] diff --git a/game/ui/windows/TalentWindow.tscn b/game/ui/windows/TalentWindow.tscn deleted file mode 100644 index d094fb3..0000000 --- a/game/ui/windows/TalentWindow.tscn +++ /dev/null @@ -1,112 +0,0 @@ -[gd_scene load_steps=5 format=2] - -[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=1] -[ext_resource path="res://ui/talents/Spec.tscn" type="PackedScene" id=2] -[ext_resource path="res://ui/windows/TalentWindow.gd" type="Script" id=3] -[ext_resource path="res://ui/talents/talent_switcher_button.tscn" type="PackedScene" id=4] - -[node name="TalentWindow" type="PanelContainer"] -anchor_right = 1.0 -anchor_bottom = 1.0 -theme = ExtResource( 1 ) -script = ExtResource( 3 ) -__meta__ = { -"_edit_use_anchors_": false -} -spec_scene = ExtResource( 2 ) -spec_switcher_scene = ExtResource( 4 ) -spec_container_path = NodePath("VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer/TabContainer2") -spec_switcher_path = NodePath("VBoxContainer/Header/SpecSwitcher") - -[node name="VBoxContainer" type="VBoxContainer" parent="."] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 1020.0 -margin_bottom = 596.0 - -[node name="Header" type="HBoxContainer" parent="VBoxContainer"] -margin_right = 1016.0 -margin_bottom = 30.0 -rect_min_size = Vector2( 0, 30 ) -alignment = 1 - -[node name="Label" type="Label" parent="VBoxContainer/Header"] -margin_top = 7.0 -margin_right = 42.0 -margin_bottom = 22.0 -text = "Talents" - -[node name="SpecSwitcher" type="HBoxContainer" parent="VBoxContainer/Header"] -margin_left = 46.0 -margin_right = 972.0 -margin_bottom = 30.0 -size_flags_horizontal = 3 -alignment = 1 - -[node name="Button" type="Button" parent="VBoxContainer/Header"] -margin_left = 976.0 -margin_right = 1016.0 -margin_bottom = 30.0 -rect_min_size = Vector2( 40, 30 ) -text = "X" - -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] -margin_top = 38.0 -margin_right = 1016.0 -margin_bottom = 592.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer/HBoxContainer"] -margin_right = 332.0 -margin_bottom = 554.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -size_flags_stretch_ratio = 0.49 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/PanelContainer"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 328.0 -margin_bottom = 550.0 - -[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/PanelContainer/VBoxContainer"] -margin_right = 324.0 -margin_bottom = 15.0 -text = "Body" - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/PanelContainer/VBoxContainer"] -margin_top = 23.0 -margin_right = 324.0 -margin_bottom = 546.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="PanelContainer2" type="PanelContainer" parent="VBoxContainer/HBoxContainer"] -margin_left = 336.0 -margin_right = 1016.0 -margin_bottom = 554.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/PanelContainer2"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 676.0 -margin_bottom = 550.0 - -[node name="Label2" type="Label" parent="VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer"] -margin_right = 672.0 -margin_bottom = 15.0 -text = "Astral" - -[node name="TabContainer2" type="TabContainer" parent="VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer"] -margin_top = 23.0 -margin_right = 672.0 -margin_bottom = 546.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -__meta__ = { -"_edit_use_anchors_": false -} -[connection signal="pressed" from="VBoxContainer/Header/Button" to="." method="hide"] diff --git a/game/ui/windows/TrainerWindow.gd b/game/ui/windows/TrainerWindow.gd deleted file mode 100644 index 434f2ad..0000000 --- a/game/ui/windows/TrainerWindow.gd +++ /dev/null @@ -1,23 +0,0 @@ -extends PanelContainer - - -# Declare member variables here. Examples: -# var a = 2 -# var b = "text" - - -# Called when the node enters the scene tree for the first time. -func _ready(): - pass # Replace with function body. - - -# Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta): -# pass - - -func _on_Trainer_toggled(button_pressed): - if button_pressed: - show() - else: - hide() diff --git a/game/ui/windows/TrainerWindow.tscn b/game/ui/windows/TrainerWindow.tscn deleted file mode 100644 index 19ec3b9..0000000 --- a/game/ui/windows/TrainerWindow.tscn +++ /dev/null @@ -1,184 +0,0 @@ -[gd_scene load_steps=3 format=2] - -[ext_resource path="res://ui/windows/TrainerWindow.gd" type="Script" id=1] -[ext_resource path="res://ui/theme/ui_theme.tres" type="Theme" id=2] - -[node name="TrainerWindow" type="PanelContainer"] -anchor_right = 1.0 -anchor_bottom = 1.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -theme = ExtResource( 2 ) -script = ExtResource( 1 ) -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="VBoxContainer" type="VBoxContainer" parent="."] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 1020.0 -margin_bottom = 596.0 - -[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer"] -margin_right = 1016.0 -margin_bottom = 34.0 - -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/PanelContainer"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 1012.0 -margin_bottom = 30.0 - -[node name="Label" type="Label" parent="VBoxContainer/PanelContainer/HBoxContainer"] -margin_top = 5.0 -margin_right = 974.0 -margin_bottom = 20.0 -size_flags_horizontal = 3 -text = "Trainer" - -[node name="Button" type="Button" parent="VBoxContainer/PanelContainer/HBoxContainer"] -margin_left = 978.0 -margin_right = 1008.0 -margin_bottom = 26.269 -rect_min_size = Vector2( 30, 0 ) -text = "X" - -[node name="PanelContainer3" type="PanelContainer" parent="VBoxContainer"] -margin_top = 42.0 -margin_right = 1016.0 -margin_bottom = 296.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer/PanelContainer3"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 1012.0 -margin_bottom = 250.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -scroll_horizontal_enabled = false - -[node name="Spells" type="VBoxContainer" parent="VBoxContainer/PanelContainer3/ScrollContainer"] -margin_right = 998.0 -margin_bottom = 306.0 -size_flags_horizontal = 3 -custom_constants/separation = 2 - -[node name="Button" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_right = 998.0 -margin_bottom = 26.269 - -[node name="Button2" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 28.0 -margin_right = 998.0 -margin_bottom = 54.269 - -[node name="Button3" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 56.0 -margin_right = 998.0 -margin_bottom = 82.269 - -[node name="Button4" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 84.0 -margin_right = 998.0 -margin_bottom = 110.269 - -[node name="Button5" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 112.0 -margin_right = 998.0 -margin_bottom = 138.269 - -[node name="Button6" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 140.0 -margin_right = 998.0 -margin_bottom = 166.269 - -[node name="Button7" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 168.0 -margin_right = 998.0 -margin_bottom = 194.269 - -[node name="Button8" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 196.0 -margin_right = 998.0 -margin_bottom = 222.269 - -[node name="Button9" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 224.0 -margin_right = 998.0 -margin_bottom = 250.269 - -[node name="Button10" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 252.0 -margin_right = 998.0 -margin_bottom = 278.269 - -[node name="Button11" type="Button" parent="VBoxContainer/PanelContainer3/ScrollContainer/Spells"] -margin_top = 280.0 -margin_right = 998.0 -margin_bottom = 306.269 - -[node name="PanelContainer2" type="PanelContainer" parent="VBoxContainer"] -margin_top = 304.0 -margin_right = 1016.0 -margin_bottom = 558.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/PanelContainer2"] -margin_left = 4.0 -margin_top = 4.0 -margin_right = 1012.0 -margin_bottom = 250.0 - -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/PanelContainer2/VBoxContainer"] -margin_right = 1008.0 -margin_bottom = 223.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer"] -margin_right = 60.0 -margin_bottom = 223.0 - -[node name="Icon" type="TextureRect" parent="VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer/VBoxContainer"] -margin_right = 60.0 -margin_bottom = 60.0 -rect_min_size = Vector2( 60, 60 ) - -[node name="Description" type="Label" parent="VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer"] -margin_left = 64.0 -margin_right = 1008.0 -margin_bottom = 223.0 -size_flags_horizontal = 3 -size_flags_vertical = 7 - -[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/PanelContainer2/VBoxContainer"] -margin_top = 231.0 -margin_right = 1008.0 -margin_bottom = 246.0 - -[node name="Label" type="Label" parent="VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer2"] -margin_right = 36.0 -margin_bottom = 15.0 -text = "Costs " - -[node name="Price" type="Label" parent="VBoxContainer/PanelContainer2/VBoxContainer/HBoxContainer2"] -margin_left = 40.0 -margin_right = 40.0 -margin_bottom = 15.0 - -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] -margin_top = 566.0 -margin_right = 1016.0 -margin_bottom = 592.0 -alignment = 2 - -[node name="Train" type="Button" parent="VBoxContainer/HBoxContainer"] -margin_left = 916.0 -margin_right = 1016.0 -margin_bottom = 26.269 -rect_min_size = Vector2( 100, 0 ) -text = "Learn" diff --git a/game/ui/windows/base/PagedContentContainer.tscn b/game/ui/windows/base/PagedContentContainer.tscn deleted file mode 100644 index b7ce2a6..0000000 --- a/game/ui/windows/base/PagedContentContainer.tscn +++ /dev/null @@ -1,56 +0,0 @@ -[gd_scene format=2] - -[node name="PagedContent" type="VSplitContainer"] -margin_right = 523.0 -margin_bottom = 400.0 -dragger_visibility = 2 - -[node name="Content" type="MarginContainer" parent="."] -margin_right = 523.0 -margin_bottom = 376.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -custom_constants/margin_right = 2 -custom_constants/margin_top = 2 -custom_constants/margin_left = 2 -custom_constants/margin_bottom = 2 - -[node name="Controls" type="MarginContainer" parent="."] -margin_top = 376.0 -margin_right = 523.0 -margin_bottom = 400.0 -custom_constants/margin_right = 2 -custom_constants/margin_top = 2 -custom_constants/margin_left = 2 -custom_constants/margin_bottom = 2 - -[node name="HBoxContainer" type="HBoxContainer" parent="Controls"] -margin_left = 2.0 -margin_top = 2.0 -margin_right = 521.0 -margin_bottom = 22.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="Button2" type="Button" parent="Controls/HBoxContainer"] -margin_right = 154.0 -margin_bottom = 20.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -text = "< Previous page" - -[node name="MarginContainer" type="MarginContainer" parent="Controls/HBoxContainer"] -margin_left = 158.0 -margin_right = 359.0 -margin_bottom = 20.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -size_flags_stretch_ratio = 1.3 - -[node name="Button" type="Button" parent="Controls/HBoxContainer"] -margin_left = 363.0 -margin_right = 519.0 -margin_bottom = 20.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -text = "Next page >" diff --git a/game/ui/windows/base/ScrollContainer.tscn b/game/ui/windows/base/ScrollContainer.tscn deleted file mode 100644 index f5ef79a..0000000 --- a/game/ui/windows/base/ScrollContainer.tscn +++ /dev/null @@ -1,22 +0,0 @@ -[gd_scene format=2] - -[node name="ScrollContainer" type="HSplitContainer"] -editor/display_folded = true -margin_right = 523.0 -margin_bottom = 403.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 -collapsed = true -dragger_visibility = 2 - -[node name="ScrollContainer" type="ScrollContainer" parent="."] -margin_right = 511.0 -margin_bottom = 403.0 -size_flags_horizontal = 3 -size_flags_vertical = 3 - -[node name="VScrollBar" type="VScrollBar" parent="."] -margin_left = 511.0 -margin_right = 523.0 -margin_bottom = 403.0 -