From 02b3be35b00e604a4bc845cd3c389dc0992d3d02 Mon Sep 17 00:00:00 2001 From: Dan Baker Date: Tue, 29 Apr 2025 17:35:39 +0100 Subject: [PATCH] Sets up initial project structure Initializes the project with core files including: - Editor configuration (.editorconfig, .gitattributes, .gitignore, .vscode/settings.json) - Log.gd addon for enhanced debugging - Loggie addon for advanced logging - Project assets folder --- .editorconfig | 4 + .gitattributes | 2 + .gitignore | 3 + .vscode/settings.json | 3 + addons/log/LICENSE | 21 + addons/log/log.gd | 621 ++++++++++++ addons/log/log.gd.uid | 1 + addons/log/plugin.cfg | 14 + addons/log/plugin.gd | 8 + addons/log/plugin.gd.uid | 1 + addons/loggie/assets/icon.png | Bin 0 -> 16039 bytes addons/loggie/assets/icon.png.import | 34 + addons/loggie/assets/logo.png | Bin 0 -> 59538 bytes addons/loggie/assets/logo.png.import | 34 + .../theme/checkbox/checkbox_checked.png | Bin 0 -> 5021 bytes .../checkbox/checkbox_checked.png.import | 34 + .../checkbox/checkbox_checked_disabled.png | Bin 0 -> 4934 bytes .../checkbox_checked_disabled.png.import | 34 + .../theme/checkbox/checkbox_unchecked.png | Bin 0 -> 4010 bytes .../checkbox/checkbox_unchecked.png.import | 34 + .../checkbox/checkbox_unchecked_disabled.png | Bin 0 -> 3920 bytes .../checkbox_unchecked_disabled.png.import | 34 + .../theme/fonts/PatrickHandSC-Regular.ttf | Bin 0 -> 152608 bytes .../fonts/PatrickHandSC-Regular.ttf.import | 35 + .../loggie/assets/theme/fonts/coffee_soda.ttf | Bin 0 -> 49816 bytes .../assets/theme/fonts/coffee_soda.ttf.import | 35 + .../assets/theme/loggie_border_box.tres | 14 + addons/loggie/assets/theme/loggie_theme.tres | 95 ++ addons/loggie/assets/updater_bg.png | Bin 0 -> 701492 bytes addons/loggie/assets/updater_bg.png.import | 34 + .../custom_channels/template.gd.example | 28 + addons/loggie/channels/discord.gd | 75 ++ addons/loggie/channels/discord.gd.uid | 1 + addons/loggie/channels/slack.gd | 65 ++ addons/loggie/channels/slack.gd.uid | 1 + addons/loggie/channels/terminal.gd | 21 + addons/loggie/channels/terminal.gd.uid | 1 + addons/loggie/custom_settings.gd.example | 52 + addons/loggie/loggie.gd | 286 ++++++ addons/loggie/loggie.gd.uid | 1 + addons/loggie/loggie_message.gd | 429 ++++++++ addons/loggie/loggie_message.gd.uid | 1 + addons/loggie/loggie_message_channel.gd | 24 + addons/loggie/loggie_message_channel.gd.uid | 1 + addons/loggie/loggie_settings.gd | 521 ++++++++++ addons/loggie/loggie_settings.gd.uid | 1 + addons/loggie/plugin.cfg | 7 + addons/loggie/plugin.gd | 50 + addons/loggie/plugin.gd.uid | 1 + addons/loggie/tools/loggie_enums.gd | 79 ++ addons/loggie/tools/loggie_enums.gd.uid | 1 + addons/loggie/tools/loggie_system_specs.gd | 186 ++++ .../loggie/tools/loggie_system_specs.gd.uid | 1 + addons/loggie/tools/loggie_tools.gd | 530 ++++++++++ addons/loggie/tools/loggie_tools.gd.uid | 1 + .../version_management/loggie_update.gd | 335 +++++++ .../version_management/loggie_update.gd.uid | 1 + .../version_management/loggie_version.gd | 39 + .../version_management/loggie_version.gd.uid | 1 + .../loggie_version_manager.gd | 225 +++++ .../loggie_version_manager.gd.uid | 1 + .../update_prompt_window.gd | 192 ++++ .../update_prompt_window.gd.uid | 1 + .../update_prompt_window.tscn | 818 ++++++++++++++++ assets/sprites/characters/README.txt | 18 + assets/sprites/characters/player.png | Bin 0 -> 12465 bytes assets/sprites/characters/player.png.import | 34 + assets/sprites/characters/skeleton.png | Bin 0 -> 20099 bytes assets/sprites/characters/skeleton.png.import | 34 + .../sprites/characters/skeleton_swordless.png | Bin 0 -> 18162 bytes .../characters/skeleton_swordless.png.import | 34 + assets/sprites/characters/slime.png | Bin 0 -> 10007 bytes assets/sprites/characters/slime.png.import | 34 + assets/sprites/objects/chest_01.png | Bin 0 -> 574 bytes assets/sprites/objects/chest_01.png.import | 34 + assets/sprites/objects/chest_02.png | Bin 0 -> 567 bytes assets/sprites/objects/chest_02.png.import | 34 + assets/sprites/objects/objects.png | Bin 0 -> 13277 bytes assets/sprites/objects/objects.png.import | 34 + .../objects/rock_in_water_01-sheet.png | Bin 0 -> 509 bytes .../objects/rock_in_water_01-sheet.png.import | 34 + assets/sprites/objects/rock_in_water_01.png | Bin 0 -> 352 bytes .../objects/rock_in_water_01.png.import | 34 + assets/sprites/objects/rock_in_water_02.png | Bin 0 -> 360 bytes .../objects/rock_in_water_02.png.import | 34 + assets/sprites/objects/rock_in_water_03.png | Bin 0 -> 356 bytes .../objects/rock_in_water_03.png.import | 34 + assets/sprites/objects/rock_in_water_04.png | Bin 0 -> 351 bytes .../objects/rock_in_water_04.png.import | 34 + assets/sprites/objects/rock_in_water_05.png | Bin 0 -> 358 bytes .../objects/rock_in_water_05.png.import | 34 + assets/sprites/objects/rock_in_water_06.png | Bin 0 -> 360 bytes .../objects/rock_in_water_06.png.import | 34 + .../sprites/particles/dust_particles_01.png | Bin 0 -> 223 bytes .../particles/dust_particles_01.png.import | 34 + assets/sprites/tilesets/decor_16x16.png | Bin 0 -> 1970 bytes .../sprites/tilesets/decor_16x16.png.import | 34 + assets/sprites/tilesets/decor_8x8.png | Bin 0 -> 649 bytes assets/sprites/tilesets/decor_8x8.png.import | 34 + assets/sprites/tilesets/fences.png | Bin 0 -> 776 bytes assets/sprites/tilesets/fences.png.import | 34 + assets/sprites/tilesets/floors/carpet.png | Bin 0 -> 2267 bytes .../sprites/tilesets/floors/carpet.png.import | 34 + assets/sprites/tilesets/floors/flooring.png | Bin 0 -> 619 bytes .../tilesets/floors/flooring.png.import | 34 + assets/sprites/tilesets/floors/wooden.png | Bin 0 -> 179 bytes .../sprites/tilesets/floors/wooden.png.import | 34 + assets/sprites/tilesets/grass.png | Bin 0 -> 95 bytes assets/sprites/tilesets/grass.png.import | 34 + assets/sprites/tilesets/grass_scatter.png | Bin 0 -> 1958 bytes .../sprites/tilesets/grass_scatter.png.import | 34 + assets/sprites/tilesets/plains.png | Bin 0 -> 5787 bytes assets/sprites/tilesets/plains.png.import | 34 + assets/sprites/tilesets/walls/walls.png | Bin 0 -> 2201 bytes .../sprites/tilesets/walls/walls.png.import | 34 + assets/sprites/tilesets/walls/wooden_door.png | Bin 0 -> 327 bytes .../tilesets/walls/wooden_door.png.import | 34 + .../sprites/tilesets/walls/wooden_door_b.png | Bin 0 -> 283 bytes .../tilesets/walls/wooden_door_b.png.import | 34 + assets/sprites/tilesets/water-sheet.png | Bin 0 -> 3019 bytes .../sprites/tilesets/water-sheet.png.import | 34 + assets/sprites/tilesets/water1.png | Bin 0 -> 1397 bytes assets/sprites/tilesets/water1.png.import | 34 + assets/sprites/tilesets/water2.png | Bin 0 -> 1410 bytes assets/sprites/tilesets/water2.png.import | 34 + assets/sprites/tilesets/water3.png | Bin 0 -> 1425 bytes assets/sprites/tilesets/water3.png.import | 34 + assets/sprites/tilesets/water4.png | Bin 0 -> 1427 bytes assets/sprites/tilesets/water4.png.import | 34 + assets/sprites/tilesets/water5.png | Bin 0 -> 1410 bytes assets/sprites/tilesets/water5.png.import | 34 + assets/sprites/tilesets/water6.png | Bin 0 -> 1430 bytes assets/sprites/tilesets/water6.png.import | 34 + assets/sprites/tilesets/water_decorations.png | Bin 0 -> 1357 bytes .../tilesets/water_decorations.png.import | 34 + assets/sprites/tilesets/water_lillies.png | Bin 0 -> 739 bytes .../sprites/tilesets/water_lillies.png.import | 34 + assets/tileset/basic.tres | 926 ++++++++++++++++++ playground/level.gd | 27 + playground/level.gd.uid | 1 + playground/level.tscn | 18 + project.godot | 32 + utility/CoordUtility.gd | 80 ++ utility/CoordUtility.gd.uid | 1 + 144 files changed, 7399 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .vscode/settings.json create mode 100644 addons/log/LICENSE create mode 100644 addons/log/log.gd create mode 100644 addons/log/log.gd.uid create mode 100644 addons/log/plugin.cfg create mode 100644 addons/log/plugin.gd create mode 100644 addons/log/plugin.gd.uid create mode 100644 addons/loggie/assets/icon.png create mode 100644 addons/loggie/assets/icon.png.import create mode 100644 addons/loggie/assets/logo.png create mode 100644 addons/loggie/assets/logo.png.import create mode 100644 addons/loggie/assets/theme/checkbox/checkbox_checked.png create mode 100644 addons/loggie/assets/theme/checkbox/checkbox_checked.png.import create mode 100644 addons/loggie/assets/theme/checkbox/checkbox_checked_disabled.png create mode 100644 addons/loggie/assets/theme/checkbox/checkbox_checked_disabled.png.import create mode 100644 addons/loggie/assets/theme/checkbox/checkbox_unchecked.png create mode 100644 addons/loggie/assets/theme/checkbox/checkbox_unchecked.png.import create mode 100644 addons/loggie/assets/theme/checkbox/checkbox_unchecked_disabled.png create mode 100644 addons/loggie/assets/theme/checkbox/checkbox_unchecked_disabled.png.import create mode 100644 addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf create mode 100644 addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf.import create mode 100644 addons/loggie/assets/theme/fonts/coffee_soda.ttf create mode 100644 addons/loggie/assets/theme/fonts/coffee_soda.ttf.import create mode 100644 addons/loggie/assets/theme/loggie_border_box.tres create mode 100644 addons/loggie/assets/theme/loggie_theme.tres create mode 100644 addons/loggie/assets/updater_bg.png create mode 100644 addons/loggie/assets/updater_bg.png.import create mode 100644 addons/loggie/channels/custom_channels/template.gd.example create mode 100644 addons/loggie/channels/discord.gd create mode 100644 addons/loggie/channels/discord.gd.uid create mode 100644 addons/loggie/channels/slack.gd create mode 100644 addons/loggie/channels/slack.gd.uid create mode 100644 addons/loggie/channels/terminal.gd create mode 100644 addons/loggie/channels/terminal.gd.uid create mode 100644 addons/loggie/custom_settings.gd.example create mode 100644 addons/loggie/loggie.gd create mode 100644 addons/loggie/loggie.gd.uid create mode 100644 addons/loggie/loggie_message.gd create mode 100644 addons/loggie/loggie_message.gd.uid create mode 100644 addons/loggie/loggie_message_channel.gd create mode 100644 addons/loggie/loggie_message_channel.gd.uid create mode 100644 addons/loggie/loggie_settings.gd create mode 100644 addons/loggie/loggie_settings.gd.uid create mode 100644 addons/loggie/plugin.cfg create mode 100644 addons/loggie/plugin.gd create mode 100644 addons/loggie/plugin.gd.uid create mode 100644 addons/loggie/tools/loggie_enums.gd create mode 100644 addons/loggie/tools/loggie_enums.gd.uid create mode 100644 addons/loggie/tools/loggie_system_specs.gd create mode 100644 addons/loggie/tools/loggie_system_specs.gd.uid create mode 100644 addons/loggie/tools/loggie_tools.gd create mode 100644 addons/loggie/tools/loggie_tools.gd.uid create mode 100644 addons/loggie/version_management/loggie_update.gd create mode 100644 addons/loggie/version_management/loggie_update.gd.uid create mode 100644 addons/loggie/version_management/loggie_version.gd create mode 100644 addons/loggie/version_management/loggie_version.gd.uid create mode 100644 addons/loggie/version_management/loggie_version_manager.gd create mode 100644 addons/loggie/version_management/loggie_version_manager.gd.uid create mode 100644 addons/loggie/version_management/update_prompt_window.gd create mode 100644 addons/loggie/version_management/update_prompt_window.gd.uid create mode 100644 addons/loggie/version_management/update_prompt_window.tscn create mode 100644 assets/sprites/characters/README.txt create mode 100644 assets/sprites/characters/player.png create mode 100644 assets/sprites/characters/player.png.import create mode 100644 assets/sprites/characters/skeleton.png create mode 100644 assets/sprites/characters/skeleton.png.import create mode 100644 assets/sprites/characters/skeleton_swordless.png create mode 100644 assets/sprites/characters/skeleton_swordless.png.import create mode 100644 assets/sprites/characters/slime.png create mode 100644 assets/sprites/characters/slime.png.import create mode 100644 assets/sprites/objects/chest_01.png create mode 100644 assets/sprites/objects/chest_01.png.import create mode 100644 assets/sprites/objects/chest_02.png create mode 100644 assets/sprites/objects/chest_02.png.import create mode 100644 assets/sprites/objects/objects.png create mode 100644 assets/sprites/objects/objects.png.import create mode 100644 assets/sprites/objects/rock_in_water_01-sheet.png create mode 100644 assets/sprites/objects/rock_in_water_01-sheet.png.import create mode 100644 assets/sprites/objects/rock_in_water_01.png create mode 100644 assets/sprites/objects/rock_in_water_01.png.import create mode 100644 assets/sprites/objects/rock_in_water_02.png create mode 100644 assets/sprites/objects/rock_in_water_02.png.import create mode 100644 assets/sprites/objects/rock_in_water_03.png create mode 100644 assets/sprites/objects/rock_in_water_03.png.import create mode 100644 assets/sprites/objects/rock_in_water_04.png create mode 100644 assets/sprites/objects/rock_in_water_04.png.import create mode 100644 assets/sprites/objects/rock_in_water_05.png create mode 100644 assets/sprites/objects/rock_in_water_05.png.import create mode 100644 assets/sprites/objects/rock_in_water_06.png create mode 100644 assets/sprites/objects/rock_in_water_06.png.import create mode 100644 assets/sprites/particles/dust_particles_01.png create mode 100644 assets/sprites/particles/dust_particles_01.png.import create mode 100644 assets/sprites/tilesets/decor_16x16.png create mode 100644 assets/sprites/tilesets/decor_16x16.png.import create mode 100644 assets/sprites/tilesets/decor_8x8.png create mode 100644 assets/sprites/tilesets/decor_8x8.png.import create mode 100644 assets/sprites/tilesets/fences.png create mode 100644 assets/sprites/tilesets/fences.png.import create mode 100644 assets/sprites/tilesets/floors/carpet.png create mode 100644 assets/sprites/tilesets/floors/carpet.png.import create mode 100644 assets/sprites/tilesets/floors/flooring.png create mode 100644 assets/sprites/tilesets/floors/flooring.png.import create mode 100644 assets/sprites/tilesets/floors/wooden.png create mode 100644 assets/sprites/tilesets/floors/wooden.png.import create mode 100644 assets/sprites/tilesets/grass.png create mode 100644 assets/sprites/tilesets/grass.png.import create mode 100644 assets/sprites/tilesets/grass_scatter.png create mode 100644 assets/sprites/tilesets/grass_scatter.png.import create mode 100644 assets/sprites/tilesets/plains.png create mode 100644 assets/sprites/tilesets/plains.png.import create mode 100644 assets/sprites/tilesets/walls/walls.png create mode 100644 assets/sprites/tilesets/walls/walls.png.import create mode 100644 assets/sprites/tilesets/walls/wooden_door.png create mode 100644 assets/sprites/tilesets/walls/wooden_door.png.import create mode 100644 assets/sprites/tilesets/walls/wooden_door_b.png create mode 100644 assets/sprites/tilesets/walls/wooden_door_b.png.import create mode 100644 assets/sprites/tilesets/water-sheet.png create mode 100644 assets/sprites/tilesets/water-sheet.png.import create mode 100644 assets/sprites/tilesets/water1.png create mode 100644 assets/sprites/tilesets/water1.png.import create mode 100644 assets/sprites/tilesets/water2.png create mode 100644 assets/sprites/tilesets/water2.png.import create mode 100644 assets/sprites/tilesets/water3.png create mode 100644 assets/sprites/tilesets/water3.png.import create mode 100644 assets/sprites/tilesets/water4.png create mode 100644 assets/sprites/tilesets/water4.png.import create mode 100644 assets/sprites/tilesets/water5.png create mode 100644 assets/sprites/tilesets/water5.png.import create mode 100644 assets/sprites/tilesets/water6.png create mode 100644 assets/sprites/tilesets/water6.png.import create mode 100644 assets/sprites/tilesets/water_decorations.png create mode 100644 assets/sprites/tilesets/water_decorations.png.import create mode 100644 assets/sprites/tilesets/water_lillies.png create mode 100644 assets/sprites/tilesets/water_lillies.png.import create mode 100644 assets/tileset/basic.tres create mode 100644 playground/level.gd create mode 100644 playground/level.gd.uid create mode 100644 playground/level.tscn create mode 100644 project.godot create mode 100644 utility/CoordUtility.gd create mode 100644 utility/CoordUtility.gd.uid diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f28239b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,4 @@ +root = true + +[*] +charset = utf-8 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0af181c --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Godot 4+ specific ignores +.godot/ +/android/ diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..e47e164 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "godotTools.editorPath.godot4": "c:\\Dev\\Godot\\Godot_v4.4.1-stable_win64_console.exe" +} diff --git a/addons/log/LICENSE b/addons/log/LICENSE new file mode 100644 index 0000000..d4d4ceb --- /dev/null +++ b/addons/log/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Russell Matney + +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. diff --git a/addons/log/log.gd b/addons/log/log.gd new file mode 100644 index 0000000..e485b04 --- /dev/null +++ b/addons/log/log.gd @@ -0,0 +1,621 @@ +## Log.gd - colorized pretty printing functions +## +## [code]Log.pr(...)[/code] and [code]Log.prn(...)[/code] are drop-in replacements for [code]print(...)[/code]. +## +## [br][br] +## You can also [code]Log.warn(...)[/code] or [code]Log.error(...)[/code] to both print and push_warn/push_error. +## +## [br][br] +## Custom object output is supported by implementing [code]to_pretty()[/code] on the object. +## +## [br][br] +## For objects you don't own (built-ins or addons you don't want to edit), +## there is a [code]register_type_overwrite(key, handler)[/code] helper. +## +## [br][br] +## You can find up to date docs and examples in the Log.gd repo and docs site: +## [br] +## - https://github.com/russmatney/log.gd +## [br] +## - https://russmatney.github.io/log.gd +## + +@tool +extends Object +class_name Log + +# helpers #################################### + +static func assoc(opts: Dictionary, key: String, val): + var _opts = opts.duplicate(true) + _opts[key] = val + return _opts + +# config #################################### + +const KEY_PREFIX = "log_gd/config" +static var is_config_setup = false + +const KEY_COLOR_THEME = "%s/color_theme" % KEY_PREFIX +const KEY_DISABLE_COLORS = "%s/disable_colors" % KEY_PREFIX +const KEY_MAX_ARRAY_SIZE = "%s/max_array_size" % KEY_PREFIX +const KEY_SKIP_KEYS = "%s/dictionary_skip_keys" % KEY_PREFIX + +static func setup_config(opts={}): + var keys = opts.get("keys", [ + KEY_COLOR_THEME, + KEY_DISABLE_COLORS, + KEY_MAX_ARRAY_SIZE, + KEY_SKIP_KEYS, + ]) + + for key in keys: + if ProjectSettings.has_setting(key): + Log.config[key] = ProjectSettings.get_setting(key) + else: + var val = Log.config[key] + if val != null: + ProjectSettings.set_setting(key, val) + ProjectSettings.set_initial_value(key, val) + + Log.is_config_setup = true + +static var config = { + KEY_COLOR_THEME: LOG_THEME_TERMSAFE, + KEY_DISABLE_COLORS: false, + KEY_MAX_ARRAY_SIZE: 20, + KEY_SKIP_KEYS: [ + "layer_0/tile_data", # skip huge tilemap arrays + ], + } + +# config getters ################################################################### + +static func get_max_array_size(): + return Log.config.get(KEY_MAX_ARRAY_SIZE, 20) + +static func get_dictionary_skip_keys(): + return Log.config.get(KEY_SKIP_KEYS, []) + +static func get_disable_colors(): + return Log.config.get(KEY_DISABLE_COLORS, false) + +static func get_config_color_theme(): + var theme_id = Log.config.get(KEY_COLOR_THEME, LOG_THEME_TERMSAFE) + match theme_id: + LOG_THEME_TERMSAFE: + return Log.COLORS_TERMINAL_SAFE + LOG_THEME_PRETTY_V1: + return Log.COLORS_PRETTY_V1 + _: + print("Unknown LOG_THEME '%s', using fallback" % theme_id) + return Log.COLORS_TERMINAL_SAFE + +# config setters ################################################################### + +## Disable color-wrapping output. +## +## [br][br] +## Useful to declutter the output if the environment does not support colors. +## Note that some environments support only a subset of colors - you may prefer +## [code]set_colors_termsafe()[/code] or otherwise setting the theme to 'TERMSAFE'. +static func disable_colors(): + Log.config[KEY_DISABLE_COLORS] = true + +## Re-enable color-wrapping output. +static func enable_colors(): + Log.config[KEY_DISABLE_COLORS] = false + +## DEPRECATED +static func set_color_scheme(theme): + set_color_theme(theme) + +static func set_color_theme(theme): + Log.config[KEY_COLOR_THEME] = theme + +## colors ########################################################################### + +# terminal safe colors: +# - black +# - red +# - green +# - yellow +# - blue +# - magenta +# - pink +# - purple +# - cyan +# - white +# - orange +# - gray + +const LOG_THEME_TERMSAFE = "TERMSAFE" +const LOG_THEME_PRETTY_V1 = "PRETTY_V1" + +static var COLORS_TERMINAL_SAFE = { + "SRC": "cyan", + "ADDONS": "red", + "TEST": "green", + ",": "red", + "(": "red", + ")": "red", + "[": "red", + "]": "red", + "{": "red", + "}": "red", + "&": "orange", + "^": "orange", + "dict_key": "magenta", + "vector_value": "green", + "class_name": "magenta", + TYPE_NIL: "pink", + TYPE_BOOL: "pink", + TYPE_INT: "green", + TYPE_FLOAT: "green", + TYPE_STRING: "pink", + TYPE_VECTOR2: "green", + TYPE_VECTOR2I: "green", + TYPE_RECT2: "green", + TYPE_RECT2I: "green", + TYPE_VECTOR3: "green", + TYPE_VECTOR3I: "green", + TYPE_TRANSFORM2D: "pink", + TYPE_VECTOR4: "green", + TYPE_VECTOR4I: "green", + TYPE_PLANE: "pink", + TYPE_QUATERNION: "pink", + TYPE_AABB: "pink", + TYPE_BASIS: "pink", + TYPE_TRANSFORM3D: "pink", + TYPE_PROJECTION: "pink", + TYPE_COLOR: "pink", + TYPE_STRING_NAME: "pink", + TYPE_NODE_PATH: "pink", + TYPE_RID: "pink", + TYPE_OBJECT: "pink", + TYPE_CALLABLE: "pink", + TYPE_SIGNAL: "pink", + TYPE_DICTIONARY: "pink", + TYPE_ARRAY: "pink", + TYPE_PACKED_BYTE_ARRAY: "pink", + TYPE_PACKED_INT32_ARRAY: "pink", + TYPE_PACKED_INT64_ARRAY: "pink", + TYPE_PACKED_FLOAT32_ARRAY: "pink", + TYPE_PACKED_FLOAT64_ARRAY: "pink", + TYPE_PACKED_STRING_ARRAY: "pink", + TYPE_PACKED_VECTOR2_ARRAY: "pink", + TYPE_PACKED_VECTOR3_ARRAY: "pink", + TYPE_PACKED_COLOR_ARRAY: "pink", + TYPE_MAX: "pink", + } + +static var COLORS_PRETTY_V1 = { + "SRC": "aquamarine", + "ADDONS": "peru", + "TEST": "green_yellow", + ",": "crimson", + "(": "crimson", + ")": "crimson", + "[": "crimson", + "]": "crimson", + "{": "crimson", + "}": "crimson", + "&": "coral", + "^": "coral", + "dict_key": "cadet_blue", + "vector_value": "cornflower_blue", + "class_name": "cadet_blue", + TYPE_NIL: "coral", + TYPE_BOOL: "pink", + TYPE_INT: "cornflower_blue", + TYPE_FLOAT: "cornflower_blue", + TYPE_STRING: "dark_gray", + TYPE_VECTOR2: "cornflower_blue", + TYPE_VECTOR2I: "cornflower_blue", + TYPE_RECT2: "cornflower_blue", + TYPE_RECT2I: "cornflower_blue", + TYPE_VECTOR3: "cornflower_blue", + TYPE_VECTOR3I: "cornflower_blue", + TYPE_TRANSFORM2D: "pink", + TYPE_VECTOR4: "cornflower_blue", + TYPE_VECTOR4I: "cornflower_blue", + TYPE_PLANE: "pink", + TYPE_QUATERNION: "pink", + TYPE_AABB: "pink", + TYPE_BASIS: "pink", + TYPE_TRANSFORM3D: "pink", + TYPE_PROJECTION: "pink", + TYPE_COLOR: "pink", + TYPE_STRING_NAME: "pink", + TYPE_NODE_PATH: "pink", + TYPE_RID: "pink", + TYPE_OBJECT: "pink", + TYPE_CALLABLE: "pink", + TYPE_SIGNAL: "pink", + TYPE_DICTIONARY: "pink", + TYPE_ARRAY: "pink", + TYPE_PACKED_BYTE_ARRAY: "pink", + TYPE_PACKED_INT32_ARRAY: "pink", + TYPE_PACKED_INT64_ARRAY: "pink", + TYPE_PACKED_FLOAT32_ARRAY: "pink", + TYPE_PACKED_FLOAT64_ARRAY: "pink", + TYPE_PACKED_STRING_ARRAY: "pink", + TYPE_PACKED_VECTOR2_ARRAY: "pink", + TYPE_PACKED_VECTOR3_ARRAY: "pink", + TYPE_PACKED_COLOR_ARRAY: "pink", + TYPE_MAX: "pink", + } + +## set color theme #################################### + +## Use the terminal safe color scheme, which should handle colors in most tty-like environments. +static func set_colors_termsafe(): + set_color_theme(LOG_THEME_TERMSAFE) + +## Use prettier colors - looks nice in most dark godot themes. +## +## [br][br] +## Hopefully we'll support more themes (including light themes) soon! +static func set_colors_pretty(): + set_color_theme(LOG_THEME_PRETTY_V1) + +static var theme_overwrites = {} + +## Merge per type color adjustments. +## +## [br][br] +## Expects a Dictionary from [code]{typeof(obj): Color}[/code]. +## See [code]COLORS_TERMINAL_SAFE[/code] for an example. +static func merge_theme_overwrites(colors): + theme_overwrites.merge(colors, true) + +static func clear_theme_overwrites(): + theme_overwrites = {} + +static func get_color_theme(opts={}): + var theme = opts.get("color_theme", {}) + # fill in any missing vals with the set theme, then the term-safe fallbacks + theme.merge(Log.theme_overwrites) + theme.merge(Log.get_config_color_theme()) + theme.merge(Log.COLORS_TERMINAL_SAFE) + return theme + +static func should_use_color(opts={}): + if Log.get_disable_colors(): + return false + # supports per-print color skipping + if opts.get("disable_colors", false): + return false + return true + +static func color_wrap(s, opts={}): + # don't rebuild the theme every time + var colors = opts.get("built_color_theme", get_color_theme(opts)) + + if not should_use_color(opts): + return str(s) + + var color = opts.get("color") + if not color: + var s_type = opts.get("typeof", typeof(s)) + if s_type is String: + # type overwrites + color = colors.get(s_type) + elif s_type is int and s_type == TYPE_STRING: + # specific strings/punctuation + var s_trimmed = s.strip_edges() + if s_trimmed in colors: + color = colors.get(s_trimmed) + else: + # fallback string color + color = colors.get(s_type) + else: + # all other types + color = colors.get(s_type) + + if color == null: + print("Log.gd could not determine color for object: %s type: (%s)" % [str(s), typeof(s)]) + + return "[color=%s]%s[/color]" % [color, s] + +## overwrites ########################################################################### + +static var type_overwrites = {} + +## Register a single type overwrite. +## +## [br][br] +## The key should be either obj.get_class() or typeof(var). (Note that using typeof(var) may overwrite more broadly than expected). +## +## [br][br] +## The handler is called with the object and an options dict. +## [code]func(obj, _opts): return {name=obj.name}[/code] +static func register_type_overwrite(key, handler): + # TODO warning on key exists? support multiple handlers for same type? + # validate the key/handler somehow? + type_overwrites[key] = handler + +## Register a dictionary of type overwrite. +## +## [br][br] +## Expects a Dictionary like [code]{obj.get_class(): func(obj, opts): return {key=obj.get_key()}}[/code]. +## +## [br][br] +## It depends on [code]obj.get_class()[/code] then [code]typeof(obj)[/code] for the key. +## The handler is called with the object and an options dict (e.g. [code]func(obj, _opts): return {name=obj.name}[/code]). +static func register_type_overwrites(overwrites): + type_overwrites.merge(overwrites, true) + +static func clear_type_overwrites(overwrites): + type_overwrites = {} + +## to_pretty ########################################################################### + +## Returns the passed object as a bb-colorized string. +## +## [br][br] +## Useful for feeding directly into a RichTextLabel, but also the core +## of Log.gd's functionality. +static func to_pretty(msg, opts={}) -> String: + var newlines = opts.get("newlines", false) + var indent_level = opts.get("indent_level", 0) + if not "indent_level" in opts: + opts["indent_level"] = indent_level + + var theme = opts.get("built_color_theme", get_color_theme(opts)) + if not "built_color_theme" in opts: + opts["built_color_theme"] = theme + + if not is_instance_valid(msg) and typeof(msg) == TYPE_OBJECT: + return str("invalid instance: ", msg) + + if msg == null: + return Log.color_wrap(msg, opts) + + if msg is Object and msg.get_class() in type_overwrites: + # TODO support single arity (no opts) impls? + return type_overwrites.get(msg.get_class()).call(msg, opts) + elif typeof(msg) in type_overwrites: + return type_overwrites.get(typeof(msg)).call(msg, opts) + + # objects + if msg is Object and msg.has_method("to_pretty"): + return Log.to_pretty(msg.to_pretty(), opts) + if msg is Object and msg.has_method("data"): + return Log.to_pretty(msg.data(), opts) + # DEPRECATED + if msg is Object and msg.has_method("to_printable"): + return Log.to_pretty(msg.to_printable(), opts) + + # arrays + if msg is Array or msg is PackedStringArray: + if len(msg) > Log.get_max_array_size(): + pr("[DEBUG]: truncating large array. total:", len(msg)) + msg = msg.slice(0, Log.get_max_array_size() - 1) + if newlines: + msg.append("...") + + var tmp = Log.color_wrap("[ ", opts) + var last = len(msg) - 1 + for i in range(len(msg)): + if newlines and last > 1: + tmp += "\n\t" + tmp += Log.to_pretty(msg[i], + # duplicate here to prevent indenting-per-msg + # e.g. when printing an array of dictionaries + opts.duplicate(true)) + if i != last: + tmp += Log.color_wrap(", ", opts) + tmp += Log.color_wrap(" ]", opts) + return tmp + + # dictionary + elif msg is Dictionary: + var tmp = Log.color_wrap("{ ", opts) + var ct = len(msg) + var last + if len(msg) > 0: + last = msg.keys()[-1] + for k in msg.keys(): + var val + if k in Log.get_dictionary_skip_keys(): + val = "..." + else: + opts.indent_level += 1 + val = Log.to_pretty(msg[k], opts) + if newlines and ct > 1: + tmp += "\n\t" \ + + range(indent_level)\ + .map(func(_i): return "\t")\ + .reduce(func(a, b): return str(a, b), "") + var key = Log.color_wrap('"%s"' % k, Log.assoc(opts, "typeof", "dict_key")) + tmp += "%s: %s" % [key, val] + if last and str(k) != str(last): + tmp += Log.color_wrap(", ", opts) + tmp += Log.color_wrap(" }", opts) + return tmp + + # strings + elif msg is String: + if msg == "": + return '""' + if "[color=" in msg and "[/color]" in msg: + # assumes the string is already colorized + # NOT PERFECT! could use a regex for something more robust + return msg + return Log.color_wrap(msg, opts) + elif msg is StringName: + return str(Log.color_wrap("&", opts), '"%s"' % msg) + elif msg is NodePath: + return str(Log.color_wrap("^", opts), '"%s"' % msg) + + # vectors + elif msg is Vector2 or msg is Vector2i: + return '%s%s%s%s%s' % [ + Log.color_wrap("(", opts), + Log.color_wrap(msg.x, Log.assoc(opts, "typeof", "vector_value")), + Log.color_wrap(",", opts), + Log.color_wrap(msg.y, Log.assoc(opts, "typeof", "vector_value")), + Log.color_wrap(")", opts), + ] + + elif msg is Vector3 or msg is Vector3i: + return '%s%s%s%s%s%s%s' % [ + Log.color_wrap("(", opts), + Log.color_wrap(msg.x, Log.assoc(opts, "typeof", "vector_value")), + Log.color_wrap(",", opts), + Log.color_wrap(msg.y, Log.assoc(opts, "typeof", "vector_value")), + Log.color_wrap(",", opts), + Log.color_wrap(msg.z, Log.assoc(opts, "typeof", "vector_value")), + Log.color_wrap(")", opts), + ] + elif msg is Vector4 or msg is Vector4i: + return '%s%s%s%s%s%s%s%s%s' % [ + Log.color_wrap("(", opts), + Log.color_wrap(msg.x, Log.assoc(opts, "typeof", "vector_value")), + Log.color_wrap(",", opts), + Log.color_wrap(msg.y, Log.assoc(opts, "typeof", "vector_value")), + Log.color_wrap(",", opts), + Log.color_wrap(msg.z, Log.assoc(opts, "typeof", "vector_value")), + Log.color_wrap(",", opts), + Log.color_wrap(msg.w, Log.assoc(opts, "typeof", "vector_value")), + Log.color_wrap(")", opts), + ] + + # packed scene + elif msg is PackedScene: + if msg.resource_path != "": + return str(Log.color_wrap("PackedScene:", opts), '%s' % msg.resource_path.get_file()) + elif msg.get_script() != null and msg.get_script().resource_path != "": + return Log.color_wrap(msg.get_script().resource_path.get_file(), Log.assoc(opts, "typeof", "class_name")) + else: + return Log.color_wrap(msg, opts) + + # resource + elif msg is Resource: + if msg.get_script() != null and msg.get_script().resource_path != "": + return Log.color_wrap(msg.get_script().resource_path.get_file(), Log.assoc(opts, "typeof", "class_name")) + elif msg.resource_path != "": + return str(Log.color_wrap("Resource:", opts), '%s' % msg.resource_path.get_file()) + else: + return Log.color_wrap(msg, opts) + + # refcounted + elif msg is RefCounted: + if msg.get_script() != null and msg.get_script().resource_path != "": + return Log.color_wrap(msg.get_script().resource_path.get_file(), Log.assoc(opts, "typeof", "class_name")) + else: + return Log.color_wrap(msg.get_class(), Log.assoc(opts, "typeof", "class_name")) + + # fallback to primitive-type lookup + else: + return Log.color_wrap(msg, opts) + +## to_printable ########################################################################### + +static func log_prefix(stack) -> String: + if len(stack) > 1: + var call_site = stack[1] + var basename = call_site["source"].get_file().get_basename() + var line_num = str(call_site.get("line", 0)) + if call_site["source"].match("*/test/*"): + return "{" + basename + ":" + line_num + "}: " + elif call_site["source"].match("*/addons/*"): + return "<" + basename + ":" + line_num + ">: " + else: + return "[" + basename + ":" + line_num + "]: " + return "" + +static func to_printable(msgs, opts={}) -> String: + if not Log.is_config_setup: + setup_config() + + if not msgs is Array: + msgs = [msgs] + var stack = opts.get("stack", []) + var pretty = opts.get("pretty", true) + var newlines = opts.get("newlines", false) + var m = "" + if len(stack) > 0: + var prefix = Log.log_prefix(stack) + var prefix_type + if prefix != null and prefix[0] == "[": + prefix_type = "SRC" + elif prefix != null and prefix[0] == "{": + prefix_type = "TEST" + elif prefix != null and prefix[0] == "<": + prefix_type = "ADDONS" + if pretty: + m += Log.color_wrap(prefix, Log.assoc(opts, "typeof", prefix_type)) + else: + m += prefix + for msg in msgs: + # add a space between msgs + if pretty: + m += "%s " % Log.to_pretty(msg, opts) + else: + m += "%s " % str(msg) + return m.trim_suffix(" ") + +## public print fns ########################################################################### + +static func is_not_default(v) -> bool: + return not v is String or (v is String and v != "ZZZDEF") + +## Pretty-print the passed arguments in a single line. +static func pr(msg, msg2="ZZZDEF", msg3="ZZZDEF", msg4="ZZZDEF", msg5="ZZZDEF", msg6="ZZZDEF", msg7="ZZZDEF"): + var msgs = [msg, msg2, msg3, msg4, msg5, msg6, msg7] + msgs = msgs.filter(Log.is_not_default) + var m = Log.to_printable(msgs, {stack=get_stack()}) + print_rich(m) + +## Pretty-print the passed arguments in a single line. +static func info(msg, msg2="ZZZDEF", msg3="ZZZDEF", msg4="ZZZDEF", msg5="ZZZDEF", msg6="ZZZDEF", msg7="ZZZDEF"): + var msgs = [msg, msg2, msg3, msg4, msg5, msg6, msg7] + msgs = msgs.filter(Log.is_not_default) + var m = Log.to_printable(msgs, {stack=get_stack()}) + print_rich(m) + +## Pretty-print the passed arguments in a single line. +static func log(msg, msg2="ZZZDEF", msg3="ZZZDEF", msg4="ZZZDEF", msg5="ZZZDEF", msg6="ZZZDEF", msg7="ZZZDEF"): + var msgs = [msg, msg2, msg3, msg4, msg5, msg6, msg7] + msgs = msgs.filter(Log.is_not_default) + var m = Log.to_printable(msgs, {stack=get_stack()}) + print_rich(m) + +## Pretty-print the passed arguments, expanding dictionaries and arrays with newlines and indentation. +static func prn(msg, msg2="ZZZDEF", msg3="ZZZDEF", msg4="ZZZDEF", msg5="ZZZDEF", msg6="ZZZDEF", msg7="ZZZDEF"): + var msgs = [msg, msg2, msg3, msg4, msg5, msg6, msg7] + msgs = msgs.filter(Log.is_not_default) + var m = Log.to_printable(msgs, {stack=get_stack(), newlines=true}) + print_rich(m) + +## Like [code]Log.prn()[/code], but also calls push_warning() with the pretty string. +static func warn(msg, msg2="ZZZDEF", msg3="ZZZDEF", msg4="ZZZDEF", msg5="ZZZDEF", msg6="ZZZDEF", msg7="ZZZDEF"): + var msgs = [msg, msg2, msg3, msg4, msg5, msg6, msg7] + msgs = msgs.filter(Log.is_not_default) + var rich_msgs = msgs.duplicate() + rich_msgs.push_front("[color=yellow][WARN][/color]") + print_rich(Log.to_printable(rich_msgs, {stack=get_stack(), newlines=true})) + var m = Log.to_printable(msgs, {stack=get_stack(), newlines=true, pretty=false}) + push_warning(m) + +## Like [code]Log.prn()[/code], but also calls push_error() with the pretty string. +static func err(msg, msg2="ZZZDEF", msg3="ZZZDEF", msg4="ZZZDEF", msg5="ZZZDEF", msg6="ZZZDEF", msg7="ZZZDEF"): + var msgs = [msg, msg2, msg3, msg4, msg5, msg6, msg7] + msgs = msgs.filter(Log.is_not_default) + var rich_msgs = msgs.duplicate() + rich_msgs.push_front("[color=red][ERR][/color]") + print_rich(Log.to_printable(rich_msgs, {stack=get_stack(), newlines=true})) + var m = Log.to_printable(msgs, {stack=get_stack(), newlines=true, pretty=false}) + push_error(m) + +## Like [code]Log.prn()[/code], but also calls push_error() with the pretty string. +static func error(msg, msg2="ZZZDEF", msg3="ZZZDEF", msg4="ZZZDEF", msg5="ZZZDEF", msg6="ZZZDEF", msg7="ZZZDEF"): + var msgs = [msg, msg2, msg3, msg4, msg5, msg6, msg7] + msgs = msgs.filter(Log.is_not_default) + var rich_msgs = msgs.duplicate() + rich_msgs.push_front("[color=red][ERR][/color]") + print_rich(Log.to_printable(rich_msgs, {stack=get_stack(), newlines=true})) + var m = Log.to_printable(msgs, {stack=get_stack(), newlines=true, pretty=false}) + push_error(m) diff --git a/addons/log/log.gd.uid b/addons/log/log.gd.uid new file mode 100644 index 0000000..953c6ed --- /dev/null +++ b/addons/log/log.gd.uid @@ -0,0 +1 @@ +uid://dav5jaue8fbfo diff --git a/addons/log/plugin.cfg b/addons/log/plugin.cfg new file mode 100644 index 0000000..c4c02c3 --- /dev/null +++ b/addons/log/plugin.cfg @@ -0,0 +1,14 @@ +[plugin] + +name="Log.gd" +description="A pretty-printing debug logger. + +Log.pr(\"some str\", some_object) + +- Colorizes printed data based on datatype +- Handles nested data structures (Arrays and Dictionaries) +- Prefixes logs with the callsite's source file +- Opt-in to pretty printing via duck-typing (implement a `to_pretty()` method on the object)" +author="Russell Matney" +version="v0.0.6" +script="plugin.gd" diff --git a/addons/log/plugin.gd b/addons/log/plugin.gd new file mode 100644 index 0000000..cbc45aa --- /dev/null +++ b/addons/log/plugin.gd @@ -0,0 +1,8 @@ +@tool +extends EditorPlugin + +func _enter_tree(): + ProjectSettings.settings_changed.connect(on_settings_changed) + +func on_settings_changed(): + Log.setup_config() diff --git a/addons/log/plugin.gd.uid b/addons/log/plugin.gd.uid new file mode 100644 index 0000000..66fe227 --- /dev/null +++ b/addons/log/plugin.gd.uid @@ -0,0 +1 @@ +uid://dnhb0udygmnot diff --git a/addons/loggie/assets/icon.png b/addons/loggie/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..59c10f9939942a75fa72c6a7f2c7c738f127bb39 GIT binary patch literal 16039 zcmcJ$byQo?w=TLvaMz;6t!Qv}C>GqIIKkbW;1nsexH}XmR-lFATH4~YP$&+?io5gD zpPh5xxc9#E&&wD|b~bZ;^P95g-fOMNOHFk}983yK003~5mE^S%-$j4l=%|R#gmF7g z#21FUl93kxU=jU&gMgeoG5|nTbkH^QHdKR(TD!S$S=zW+!MOZg+!4|MATH(aZfWfV z^QN_e**UmM&>yyU)6+WGNYEPys6o`+N`am*oj`S6>p&-K5gU3bNm_A#Q3QYs z%-fRI-^JP0OVnS2{vWuah~vMfx#?;DA>!>MK`--HA+4dBCas*CCyZ8zi)-V*c(s{gdX#r;39u3rE06T)NM{+90CJY0~!HvL;rP3`|K>f-VrX)kXD zUxb!_@%`Tdd+7$a!??9!UT!{~)-VNMn5#F#zm>V$yLr2L*}MH8xc%qP{|iGK>;EWp z_wjW8hkI|g3DB|{IJnxl z`FTD2%jjPNVDgsUFbR4@)c83eBAmQ@x)32m$VB=0*de^45Xe78)ewnbW9e=AKNEJd zaj*^epNOidi7LB#d0V<#!<6ME=nVV5d8}bJR>D@ooK^x>Hk>eF zei)~vB@aI*AB3Mr2x4OiX| z@BPns{u9>E9)^Ut7g|G(q)U-8z3`Flex17MzB|FU1!((b=J@n3TPkWsgE zLF9$of6teHoc{~*_xyj<{u6}zzlQ%WYW~6OzZJuOlSNe6zlZ;+?T8=$xjVpI5r%mp zYJbFBvk(9XqbkeG==#s^o1z)&8cZ+!Oo}i1iA6u9E8pnEe?b_eaR=445*nfi;+`ye zzQ^R)a2YRgv1CP@#N=2KQ9?Yp^msiUbg}e1!}MqL@7=nfLOW_?%frsC4m;bWY!NSS z`7*CKImxuLkyueK)p}j%6rYFHoBWsTM0U)De9HHY;$>iXhN(j|hBpB-KV>Qhbc*MC zk0D@)5cboVLugniSr_B4*dXF6ebrb@xp z73G=r5cbzCNxF`9Fq{S-4uYyHvyc>>9rS0KPp8?%ewVM?<%0_Ck- zteeC7Cq3`$wZdQ|>r#4FF2Og{Lks1@abY_{Qlt*cG-CGBkCM6_hFWz-#IziE)4p4; z^g#Z)j;>ytBfU>#o#q=u_!h0l&(`MT0&j1gbq1YAEOmy!Qa-vBO#d;^*w%tF=1X`b z4kc2{NJ=iwpj$)AvH|*s+tf!lT7aXN|xl(ozWUQXF~H`meWP{2RG<8 zrQqav!N5fRW8GvmiRxS1q}?zYnA^foGp602PZyaa5QsDU- zPf(q~S=ixnY9p4^=SQiqo47jj+uRChf&7x0nTnd>5J=huLBIO?j{GVkild~R;Bm4h zbA0>$_Tv!C>ElE4<8too_|ETB;rKv&88N>o?R{f`?45@fqQw?(L-i>V*4MUdzoxyU z;J=E0_}P?dRm!k4c*=72uqej6)psZnc9B(Q)}_=Ri&HKhaH3RrnFxl@gO2#Bo_nwx zrr1IYpTEBB%dYTO+ca}q?y9hZ)&Nm|X6j1daP2%|rT(Y-C-+xdGS(!VyQ)ogqh+_R z3HFwf=dAoSGG1KWvn10@HkQU#DX$OZiKrILE+dRVgp=wlk(^K4!b0&=z&cG}e-9dt z-9hy7;IjCugz`AC$H}%gNC97pacDxk7H* z$6e{&({%?XhLvAy&htTKSgM`x0 zER5)l0ULb6{}opja5ENsu6x( zdBy)AzpZ6n zZjD!?+dBS9ZxFN7A?*#?=PZ(7+;vOzM-|u!93$Mt7R_Ru4Yd9Hj zmm1WYeNm&heIVys6zc2S-slSX{-PF??wRmK=4GNaZ;Y}c^ADLcWZ=nbBzMEd2k*6H zDSMw``f7tFLKE7GLej&jB3F_Ez9*wR+y&yj{q(sK=M{OS`-4MTZDsuvsB}Ta`hw^e37C4V0eN+smDqa#i9_o=m^Lqo4?gg*ONSc%pUW^Mcd z#3QaxfROl&;z6t}GHpv0fO@$p7OY8t){F_nUi?v%N~Tij+9Mx9vG6FoYj#vX4>R)u z$UZm$674*xW(&sB+=m=x{U$LGmu;)vHrq6ggQ0$bBdqBP<$P9jDRLmb2kZns!hdmo z$_amTB*c^UyK%Xx*R6=EoCA<~vd>Og18*;ql!1sSC4rTipPXk8Uwk7M9{rf2^K-0I z%Dd0EPENNE->QBV)opoS@A#e|1_Yp8><;y0_B#Vsy>RiD>5?x&M^|^o#3Ap5B)ZO; zsN)_-OS9Pds=_|bGpq3$^4`e~U=x9h7s2@4c%R8|JvX7`-T|H>e=OMWUyxXtxDE84 zS~1!zrO}>T`ZS@#OBJzgD1O&s!!@j|Y$!B$!Cmpj8i&*_`om8GNzvxM{tkJ;+8M@? z?&7^Vz@dEu5BY>*j4UngHc`eC+?$0|l!j8jy{?!UTBAbn%UEmgOX2pH-{!*jg^yyf zGb4vqm{GCW{=_4h!sz=HaDRs@dUC$9X_y@@FBPo#lXVIHi*y_+K-lht@wqf+4vsYX znsWt!PSfBJiOP#}b#`%hw!5Uw{B2u+(Nm%23&j`dx{TmeaP{nQ0JKE5N^e<8scWi*W@5H$7cfLXeK>o|G@@Y@oPR@R z+st032XM)M{-Vbr>tacv-aCZi;d&RNp|xv&FQz8;*+4sR8qC{PY^)3|iM5NFD3yxU zS-74&6LuCy+gs!#vXP`UJX(>I;GBX3D|^{GdK8+-EBetGu6k3^o1yzM-C=)}RmB3Q zW6TD3Ca&HGy0jh!1)j~a_9Ia&ek@SNj~^JQ1F^zdA#DZGUhAI))Eqk5Na80JzJ#*@ zPcGRk1b{v?UB{lV*$@RkLBWljjj@U$;;uG~Xg7!F1STf#=6?<@1ijt1guLDS#NzKt zB?|3<^UXT0YRE`RS0~35JPu_nSIqP`I38H2K$n+$U#_YkQL|AtxG(-}L#$J9L8O^D zzwi_#Xl8~uC=h=(W@5AS_B#(s-*=JsVsqR;`HI(QhQii*HmTHsoyxC!$x4^emG;7sSK?hF2rLNIp{OQ9nk7@qJVvl zz;i7GqUJ~h3V|;2A=E~rkTA?gCyGvN^MT(RuLu~`21jvo?0GQAd7Pz7I1DM!I@(k~ z(q2)Zv#B=}Y&iCuL>zBY_H8#J9!XbZPrHtbn4WgDDofs|20R42Ge~Q$aU~XObyic} z{%Z8ake=M~@)%>xF)dv&Is4-${_1>fCisD5?BSRbY(s(1@skh-J;@3eOI;AiesR~C zBMZK$?ClInu`AAd;vhW$B0?_0z+p|-4w%x`Boe~3M24A;TX|n?d7g0xakpYN+M!PO zH_26n=#&nW)tQ3uD@dJ5dtrVb^Pcw_v`XuXwsvt#bn_%c;;w?D2v!zoUMy)9gE)nH z0Snpi?I$m@E%<(GD+$!t_Zab2WQ{~I+C-!yExQ}$2UA5k1rh(=*cghZAa47}pg?o~ z+VyZ>o#g&Sdf3MvSAg{<#KK_Mxq)31N0Q|x=umTLs^T~WghqX;L;WC<*fbV$nmYt; za9?F?Tq%ycVYH9PHNk*eCai<9n7nN3K(S}ny?sz6*Br5+9AzAP3_xMWoZ%xV3T-I8 zm>sHvn5U`uk-wgonq@_-l9B?%_mbhJ0ql|AqEGFL6WYHdn)LvnOEpr96u!K04SPmLYPVz+(K=!79j`xs}k=?2HL- zwz(=p?)vuLg&JP6GiaOL7dYLnC&EhVd$u{k@haOmIK$P_uEF@ejUYNf1xU_p zZZ1>s&M;RjM8@#gcrCSrDFye_rk5+$}3O@X+74jd4o-Y1j*(caU&KOu-t!}~+?UMQ5 zviBo}i&e3sXqnNC6QrqTXbVsLWSyzug!><*Z#)kIc&GM5B>Yv_H*Lb=C6{7jQ4jWS zX#5fh7CM>Wc<%|7q+6FaL({bxoET}9kNj63(xjV!Ral%?0V9W=F9?TCH_L&i!?B3-L3B4YJ6T4?jXlwj^MowN$QSc`DFot`WlyHN zo}ibyfFTC2-m&dp?i*0wFiP=#R66oH@+hoF(QtUyi#Eq}43c=G`NmwZ=bMdkS1SwS zAiu?O*OSUM%@j84UguR-AtvP-OLa~sJ3X3jLzSjGqfoh!onzog7L5YH#UJY z{wBt-xi`_r6q=2kUbi^{C-K|MyC(`%KCNinqSEK8FMbN+4mCUt8I~}&W$IC9X>cox zl_+0hRxxidH5GDo3^+#z({(K^9t%XfIga!gXcX=V@m6UQjeLYre|P(~H}N6blEyva z7w;^G&?inEenfFd7)sKKL%}OT%-OWyg|Tx$)X?)-v`D1&(*VWM;ciSO04Mhfu z-Xtp#7@y`|;Emv@ixal9YP2CuA7?MrxW|6ZM8UiDtX!^Ae+%C4sPGo$H+0n`={7_g zBj0fBh+MLu;A|@#?EPm=VZO`ZX~^PxP%?&!Paq*@iIwN*?9O>>(-IEjW${?vf)ZPIN?S<4>*pXR(L+OT&XeL zxY)k)XLGc+1e9LYTBw*<1THS-cXXFJ;WlQ~0!mtj>vcjaT3Z$0hxBq6O8(}!VxIol zK2x9BvMDUw`KAjBMeVD*=`*r@)0Rh}lvLeD$=BAV`KoZj*2e^81-kR?)#1js1W}ME zu@_R@l^Km^RsKquYk}s>k%&TP=g#m47w-f$14E&yyW4$_?CD%rewXXa2piDRaHUEPu)LyDW+D5w)EU6wgX8?| zzC9|qyI@iDD0B*Sh)bON=4TPzbW4*RIfjW`H0D6%^2LL(7Asm!e=SA{hPzKIv-nbG zr9d%3z00A>L4cG&1O#0qaAQ}8^4aH)FyQORVWWuoNi#*W#lVM*8)z)~Jl=a3?GC(c zy;jJ5FLVNinsp`QAO2lIZWlLVe{6?2pln zF)g6U1kvyLpG^p=WvZJjN%W5UsGU`K%TZhi;O{#QHEI{HdMseOm-_qyCbu$UBlV6~ z9GUNo95&x-HD@}6V-z3D-Szc) znA$MQtVHrE)n6Z)Qy15VGdR6Z?*igGgEFa~D{9GKxqR}tr;u`7Tk1p)e7MVg_p(jb zB(he@;^Bbgg9Yw86UFZP6Rh8!N%gB@f`72|V1h$Wo}eAzVu}H>a6EH7PFDvgmT&YE z`J3<502y0I+qpH;cK45#vs;!ZHOY#Iv7wEVsVn8t6iJD5o77JpL)i1(!6K$sIlsC1 z$}Qs1^#B`fHCEUgt5ik&EWSklJxq*ZwI z%;L9W46{e8Z@y~VTiCnI)>?Q3gg+@wRO=;bTHdRCR>&C54|w%O*x z-8JiS=zubcl$7yE^U6(?jsrJeA?f8|W&4PDIFl@q)fylSrN6|Py98L6AGr7;?Z~fu zIgI81{9NXykt#6$QKy#8r0AP|?5j?AMLUrv`UMmnn%FW4g=r&FQ%C-B_nVOQ##+Eoo|SOdx>nh5%9 zz`~rn*2!8I3v)*&7qzJUto$qS7p2(@-O5~c$K4R3Jz8t4x@(g1W`p2pMPJ*PFvr%%9-CaoX=LB;)? z{e{CSr}wfyjuoh}&$X*R?y#J|Ai3A3NVYft zf~j4)m4N}dJBwk>YiXsWy zM9rzTI$q;X&sGCM1;7u!A1uZiwm>iA37?EKDJBbNMUl6OXBlnqmY|(Wc+? zSliQ0m+e#XH$Y7iDhye>6?cgSkZ-g5^@UU$h?n(2!q0DHQ@buVZt+~vZ6glLP3^j_ z)8oTlU+umc!RE&y_qRR&qu7l{IRrwXt;-e9{=nPq%5s|S%WVb~3%yMeY&x7pMe*Ql zw%Jg6xWz)nDS740>jnG9Jk88{-`82BN0^FS_=DlW$n?EU@rRL-^#Xr&4uAuh13hb| z8}Dh!pGx(~BtEc5gb1*2g`rWKXD>^g)$Ymyc3gR0b9CQ=?B zyP`y{P^Cw{*mUz!r-SWs7k{S)O`XI|*eT9zhNP?OLU84qEYrt6^=4c9XSjmSOG{$! z`S+=`<7LB6wrV*W0_=3$I*V}TXC9dBe@TZe1)+2YrGPH|HBoSXVtJh(V!4oim8>Zn zaOsio5*E|B$0WJp&EH??!%h*922=2zDJuu%o7iZVXz2X z-7BfPF_nwNuh(qKSgSLFKFsVWB&hs7fxn>p=$0L0zkgZ;_xVHp&! z-zDPC#WtgP*;71THNl&NP#w1x-Ba@Ei0z9(>EQ$!P0Y^^^+h$+GVN*^8wQyIrJ{?jI(PF;0Mitx;>;K*c+ zhraiCgTnZDJV_{p9w@gTHF`&s=PSbpGZwDO=(vW(0t8mcp8Cb()OFx8Ir@PQ)`Dl8ByfOWWC}M5&#k zPs2dR2sXz@>c+2|RNiDG7a{*T1Tvh7=2MMg@4>Ej0;E%mY$CCR04@+Z+9wd)0-&9+ znh~dw|NaUxr|p8?6KN!OYXv$MTbWUrf0KK7WB>#!Pi}=udGHNS1yN-oFnieo7IPyV z6MW3yx8h7+yJBHT%FcQU0#90;DdDiZwzfzx?sTkS(F`!q>8`P0vU%%sQtW|)l_h?V zrd%a|v0Fy4^s#1zJDTNtDP9tNz@sf{-;c$!#XTOuIDC6at`4(?f-ZW8q)?AOrYz#^ zs^AMA1k>l``8#B%PAh2i%*;bbEvQ9Pcl24;oF@yAQx;p0^wol!pqZp$%G2#NNK?HCtQe3{TU9uD%!P85CbR^wxf}qj-(Mzi zje>-mY86Xr9a243y)GD$WgEkV`QO{ex4g*v7;XCp6?m@zZ?0;@H4>zZ8%t#pNDlA) z-m{~=qnY>&kZp$})3IU$F}O#SW-Xp9KQm@jX0dfP$;xb8E=!t&41q8%@nsxNWeQ*z z`7#mzo;=qgGfB)PXv#N%%ysCDrI(i#Vz_NyL)VykM^wFV>h(3)Sp z4j)U2Ky$s+T&mYmFmR1|{h`042ML7$pS+P7cu~q?4|&X@G<+5WtjO$OaqJy@8-=We zD}8a;`4g9;k4zg#-@i34sM|uvqMmt@IYL!RvrKOrLy#<=fxO;7+Aze0d1oDEAx${W z^G3g4viPKc*!wqt=J$8K+tk7s$WORXgeu%5`Ok}8}f6VSmQ(Xb|)^Y+0FrDrHeHNQ6` zabLwp#LwnnP@)D*W_Ivn=lEBBV(8EZqc4B4(Jrs8YTmO1kuzI@xvjcjM#ZKqvW-ell zsZA#|>Bz7S=pjwNMDH46-Z2Au8;?=~eQK9xnbI;ALZR(p5eV&v$K6eJ#Z9KAKF=Ic zq@FLKO-@~FYv%ZwvNFY?NSV&0p--p!!R;y;=VC5A7!N2nkQW~t1; z&UMo@n|NFy)CI#IXg#kdv{1fu9?i)<{yu&0SnN?=yCl*_h>E?RAQFD9uo_oOT9$)7 z$g#cKpWV>RDx(T8>tCX}OKZzwt??btIh+A$i$c&JVv3YNJQksK_%`y$;kJIXa~Gp| zVD#_}@&`^1>%JTkCUhb;PKnQDvmC`-Vk)T-0C5kCm)c2t*(Qb2!Q+ofRJcXYURN9@ zE&i)E8H7?d6<%^zvY*1;i5O1CX|y-teFxmozyy^!-Q&76WQ%$JD!q+&u-|(z>c$I? z{kC*T04uKrK7NYah}xf%Y90q$#Isz>u8STQB@4Z~?`z+wGz_f$l_C$GIY@thmwt9` z7oey+2W4uL+w`FF!eojaQshxcK%p47h z#EyXXJoYb;VfFsJamap8D!W>)B;U-@mF6l#JbIMDQ?8eYXZ-bhfWw#bN6GOlb&?1S z7?ImVC_wXx#Lz!bS{nnM1H?irL(=;AvCK}Zl#a{77KtCISym8yPz!>O3}D@dHK{l$YHehco9mm4+Qias!jnP%mJd5Nk{5On5rmKeyl{qjYc#h z6}4(mAR|kPj2yyau9J8z5Nr}L)|rmqy9Wv|(bEHiw&JovZ)bLG#eX20Seyi;H2J&x zjtxv^y4G?yn*2#noz+xysv@l;#ZGdO#q#w|o*A07R) zcQv8^QLgE{WH%=7-~x~~S`jd)(7l5REQ9F)O@6PEC)ng~MXMdjn@Re3W+43~*Q1+n zjDA1n!?1P5WptNon`PeM9Vx4nGBbi3w6Iq*lkQa+TQ%l0KyQf%?_)Ae?yWrz(AItj zJeS9!r>8dmn#(H)vG3K{O?%<5UpXEy!qsML$lr~0ZO_oD(aAd&u~YlGH@0Fm5SaO4 z6NYV-eDt`2*?Xt%Qt9}e*ii#W(^GuBsYS#4+;crhYp+LX574Urk+;*NgP7_+4d!&i z;ll=yhPlS>&c0+%1tnr}&^tYO)g;#HI|GNm$UOTZqlCRxd{$F9%Lr;j1HQ&7J=UL0 za@oeL-ccY;Q4kPBwpkMT`{3W?iPYlCDPmY-2okJ zv`=?)II%7l-#Eq$E^v>uy}8dg{Zb~y5hDRsXPYY2|87WxM1TH>j~U4%+rBbDAuuNj z@UfcX*WiwES3~%n##nu0(SVQq0`Q~V`1v8`9x)MPNK48!{@7A_iC)g=0M{)AeqyvdmgUY$5x!X>$I9Zhpp83S^NT!sl(SCh|5 zF6LH`9Ld93o^=(G1rh{zpQyMOnqQD~3#r!*&`sTu`+p2{SqnoCp?geFLMHA_8M-D~ zWN<-PEV9~9LAp|dcPy=IZBLRiQ~0w^iXA5v4@9P)TlY zRQhsi{N8*K>E`y}Du*WXD=2RL{fyK4<1yxTo1Q-#F$Rc=e3C=D1+O()0!dRp=FAi} zi?@a5im#5hycAQITa)SbR#xkWJoM~jxRmI=cc8kw+$dSREpJeA^8NV2lNXA@kWWv$ zxuFmid1GSQxa;NYn=?w{9(|v?bRZnPTNAmI^@^H~^ePGE#C8^?q1$p+f5%Rb zwIFFZcKI;*f-3F^tTTVdcG?{$9=GW?^ihHE{1I_auGSnlDNqOyel9+&!6&6D-c{gG zI4rR|iCDGU>FsqT_Gx9&<9IzyhCVsXEq6Vo;N4|*?d^JP>eJ?B`#Xn#95;CI^1xNZ zhbf_b$5H=T#cm9y2-Q^1VkNtT#U&WuGU9yG;MW;tANRr?;=yyt=j3g3mjqaI2=(&^ z?{!cm`Bm-1()X8&t9=_i?>-4tnH$d*=_{Mw zQ#{-`P2a%0We!;fB zm*uY7yfr-Lvj-s7Q!tvq@Hn1hZ}q_L_fOVHQe6cEAjs5PISFBr(F%G?#DntTcp%ywHFdHcv*>LQ(9p}XG)2GC_ z-m)-GXhPBh@y7(=M=ocgftT(Koe95W4{2hjZdrb1IVWd+-n(tp47{}G>r68G{J8l$ zKl*I%#yfCiBoNWABmC=?Q0F=S{v*9WH!Tg(kEi&r82KG8kb7QyP5)S}sMW>RDB2>} ze?0fPzST(Hos1C#pUho%c#+TwPzMaN<#vlcsk{%C*9GOC2{UM-#4GqgB!%8u>EUctB1_L%avCNbDN8@cPkUai z^sV1n*KWIy(TnzjO_!zEm@$YkB`wx2_E=Nx@6IN#R?*Ip7aaF^;H})E$dQF-u~9&y z1E!m>2J2Pg0(ZRB%E8@&te(FIPa{T?5b(8+$1v$n80(N6m^EdkUxV4)*CG7Vz!3(b}cilEJ$Ga#sO=Hlw;Xch1e&c$}@bwp; z+`byyhVB!CXh%RtH*WgNX-_TSjnx<+7^QHxv=TdWz%v zf8>sH=kOU_pi8?kQJT$siRI((|ML1&z}d{k4j>MCw4}3^v9`1h7dr8J|MPC19nfr)2~eDolUR%Xg4!JRxt%h~skJU03`jdTU4={6Gw_TKB^+%PJ9l4=25{J;bo} zDNJ%S^wcM};A{BBpL(uNOaZ@=Jra0zscL1IsbM_|+6^Ty0}Tp!BORb(9Tvw14}Q0= zmG<>LimU6vr4Fdbv0kYLurvPgBhyI+BJ>?Yg^vLjKd0@`KvojpzhG{r-*88d3k@LQ zWT#CK^FJoRnhx)*$w~k7i{QHFgKC)|fr;s_PFA0{S*930*%{C`hzeTyj`rY20oNGO zy1-{;FOx+W`=q(yi1sZ~eUtnO`IA9`NVbbvL>oJi4P(%aZu60thVitic^P0nQH(OW zd>#`r^Yb8{S155cCGh$U@$GFI5XXBIW}_(jeN66K_vI=(St8kFuojl6be8`%iUir} zZSR}3u|h88#%>J^I2)(o0FwZx!=VCu`<15@s)x*|6N(G;_GN%Me@I_e?ZKuhQEn9` zo>?yC?d^A9n-g0-SZtZ1&A|c9Osv+_ku#)Q4cpCM!nQ{o7$pF&H_lsCC?+ygB0lL=_b6HRFCcoz6vGOtw zJH~Wc&dT8DuQ~IFI>@wjEmNQ~clA+>FNAbzAO8@+22rQKDP<{%H_V~`*no645SM@7 z3VEk?U=th<=$_Bqc15t$tdu|P49EgWzy|miE7$PY@F=2~q#LX31B3LxI0$UsR)O(n z4S!p_a?ylG;@3Q_F~c4`Dy80|iW=gj)}F?~0!`T_wHAWm%;*@<%G8#%lkOE5uZ zsPL;1U|G>YE2>`REelIpK*c}tHl>joLnla6@JAv?;*qybkmk=aMQjWvQfR zhdbZO>8eCzPOH`j?<(!Yb5S4*8DH?!Yb}-GN6cI7@Hs-ff!;D%2Kp4N(+j#D)+JR; z(G=!ZtOKJgmDe-dD1&}nKOdS9Bvy1~?7xZO(TXMZV*27qb zAzux91*otr<%B3z3i}y6En-UBo$XQmP8|NUF!^>R6rkdNim40|bsiwaOF=zqP^KB@ za+E;t<7Dm;5@bUA1(IGj@ao+gW(E^6=GcJo=NJ*3U??R>%oy(@{3%ALfR|SkaahtA z7VrRB9VCtkO#l}?NtqxN&6YYWvU|{uRuH2Ws|a+~il-gtj?+L^l;0R;uxEyH2^x>L zd(uLUT&0wM9J9@*9a!`f;13Cah&Vf2RTF>h8BG@srzguqH}*iZbGepG3SfE&G}lMR z$OqyDX=<)uG$q~0;e!UqWE_iXX(3zq4-&T`4>Y$P1gH^$;GQFLfLsZA_q=G)on`?~ zZwa6>B;g|kLzAu}@5&;qO=^eks$ae#3G z3SfWj>8S(JmalBtvmlLP>Lm9Fd;XaC@OG&emCjxec~qf+F0AIer^-rp-0{mPjhbE` zVB$`+53Pb3+ZdUS(grtCt(7oq;yG1bA^<=pa!LSs?bi>5=v;T4k_>by&rlxN7h;k5 zsWGmPbBuA{f#I9x=yDtrOrCMr%w#*_!sjnRyi6#@xbVn~=f%-n$6)seZ{}Cip1{#M zP~_h-NiM=ak!EqS%GWoEMhjpodG?@KBou;26UI>|+-ZoQf^L0!I1)*|Bn0qLCP8~^|S literal 0 HcmV?d00001 diff --git a/addons/loggie/assets/icon.png.import b/addons/loggie/assets/icon.png.import new file mode 100644 index 0000000..c12b639 --- /dev/null +++ b/addons/loggie/assets/icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2fr6et0qni2y" +path="res://.godot/imported/icon.png-57313fc4d67f18c33a83a3388ad36531.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/loggie/assets/icon.png" +dest_files=["res://.godot/imported/icon.png-57313fc4d67f18c33a83a3388ad36531.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/addons/loggie/assets/logo.png b/addons/loggie/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c7d6cde3ff71c1d3abc59db5d228f9008ac83e2c GIT binary patch literal 59538 zcmcG#WmsI>wk=w?6Wl#WAV@*s?(Po3-Q5Z976|U{?gY0$g1ZI_PT>?1{IS+vd!KXP zckg}Y&*S@mSvC4>y^Y@6=wr??$Ba@|ltM!$LIwZ;Xfo2`ssI4A+S_pnBK+H5FI=yo zw|_`Z(mJjH01EbBzfge8YytoPUd38n+f7?Rp4ZgTp4r&U(ZrnD%iihD8UWxI@^UgZ zwKaF6Ffq5Zb`YRC@9d?bur?E*(&A76DmaOmTUkr{xR|T?D5{(K*qZW~Q3(lB@O$yT z0oa?n8B=)K+c~)MdI?bdjm!IX{MXkkR1|-kxY-I&iTve|LR&$ZLd?;{oPvv)jmZ=U z1X6JEFteI)au{>*FjBAq+1OZsoGh#$CRQ$9c1~Vac8Y&~sNUSUm|5_uic9|E?Cp~P zm6e;D6E6#kr>7^gCy3e6#gc`Uhlhs+$i~9P#`I>vf0=2~fRJ{Z}9Co&E#s;QCLT-Xg~0W$eVl$_)IgPyaSlQ24)_+S~uf z+SN_MP}|Lx4l%F)fy)ynbz!0kWH{|iGi z)BiYha(A)&J3MBlEarCR_HWp(Z?>#|^K;@Ab1^q|b97O6bhP_-rj-Bfk%A4x%t7%% z%i6)r(bJXwFGl~IU@mU#W-dVWmNj-JAP*B8NFB)imNH%t=SLtLFA(@IQ-wDnm>Ihn z|Idsa&8#iF|0kvj3cNB7u5QK-rsgu@0#t9Ln60hNc+EILrd;goTuc@qQ&uJmc6MVX z6A+sz6Bnx~E4P^`@J(wbfAe}fU)<5u{jW&;b^gC}YvySBhVh?h@|uB6cucu1xS4<^ z+@?%C?CfkzCg!Z%Ox#=`GgDS}Hgk3k!yj`|lXvo}NwZZ1xC6IL@O zGjt~>p#PWT|I5tP(ZbEs*u`AL@-5Q;pW!%lEU);&ewnCTix8tP2Sks+{N{u{)-x0{#PXa z%kFO*MPvInUC29HT3Va`chUUa_!rWD8vjG!UvMn{1@yl-{F~!{D~tc8{Z?!LI{Z(S zfBW#CdBWV`t&1*ivq13*3>g6M`#?rqMBQukGzY;;ePJ#yERE01PVW{L8mY)PR! zQ%&TeqvIJ(cLvA5HXjyszhHNoXkFJftvT27F}wYsIr}zG+P;3t;<+0wkh_fg)_4-F z-|*4H{GlWnnc&R*3;cV0Tc^Yyq^}-7gw`$t`g`*-cE$!Ha_V{?W_diWZ4a`re`Kp| z<~aF3{Ql$`pO)jkr~_VeozlQJ_~YmVmY93E6r$DY7@ABR%h^Ey0}e@Jz9 z*(k@Nu{XL=+2L_oTq>WNPo~$Q%;am;kO{KQB;v2{tyC*Z9ravy2X_U$%&mFGR{R}> zf7q4kS$4iB2UHsMA8RBHqb*z*hb(mQfaXKqt<{|w0;SeL7R5GxzH;t!3S5;aEM3#} zf(KA8UkNqDYO0C|HE0>UXOM#%XVtQM9~(abKJy)GrlHlxKz;FL6viopm$)lCw< z>Ymrz^oN&S75ArQO7}loKWsL$>MBF`-j!=IWmSEw>zZAItTY^b`71sD5R)``<$gSA zT5w;|uj=qPD&}<5s}l4&XS%sb%d1TK(W|=Y=PLg4{BThQ9=zMsR1#`YKqKT=#$_>( ze}?3}!e&45Q83b-%>PD(QTq{3ei?*A**(V6E8k-OOIM)Vw2IgNI^p4YNex^l6rdUK zdSCVMShs2ZbaUVcj^7N>?0xwxo5TIm;`z?Q$>*j6~KKqGbYq!lXK)I}kuU7DR7v|<-6jq~1 zGP`3d7zG-DdorI!h*)aWvv&MyRLtCct-4U+ig5E##ZpPGl%pK*a+%~CA5i}Kd?&;( ze`9#}81QtN_3(RM=H|s0VSc_sZ61wl&4{2<`zOo4!}cceGWQ%bIkj0h)hcos`bO>r(;wJ& z`fxfJ?>e@gAX8cjS?sEvo&rU0gP`~Ua%Tw380PwXAQaGf_teenWYkNtx4n-neV|y*_)|EY%)pB+c*No`Ra~qvFj63hryE4TJ%iPbZ8qVkVBAwWCivP&|@7~0vS(WIvIg}`7b2I<0 zyEb^ep9+{CNupbbIPWfdxCYbEpsX!TK}HbBxdUEr(jdLBFI-}xpHn_+srq^d9Y7a2 zDjoZ;`>G0Ma~EtZcYkuXUQz^G@H8kJ{`X*c<-{9(KFeMK-);H}Fs1&0lLP-U{W0HJ z*IT=;g{a^}fhoZL>}5u>6VP-hY1pp>3af{;@K-(mojspM?3J`uo?&nRVx(f%iDypcz-~ z2%3MBrT^=_<;_Han9b(dy3OfqNu}5CfgT5NnPZRh%hM^>4>;B`m{Rdy97e(cH+yLj z^L4#1iD!?`$9J0x^!R`Lo;Q4LHbGP6D?7s#{Ozs~S}i^Ip`l3${FgDF^SoCK<+sw! zs{F4x;Kdx>Yq?mj)_y=R$JK+G@Rj@EgnIBPc5@83$^5VR0j#mraa^lL9`NLx3EB=8 zvk(fn%i#t0OcFD5uRLvqRIV|#5dhs6+YJ5bPv!$&U-;Hfl8c58c823L4E?;dpD%x$ zA6ZNT{5Q!2t9!g43OD<=r#3U8NZ{ERmVJfV3f+QoSJSVy*|xRgJG(uHpUKsSVwL|+ z&Ft0)fUXa-^)MLnO7C&hD97wpJD&Bc{kBpr`)SDljPuj8-L;$JPe6|?GcMooxqjxs z=9TA@K;7W+5PHmC|-|63gTkUNi z+e4M$nzjd~PhSEaDj;Kbo4%_RbI@w|<<@HFYK8$fB`BpYh&opk9Hh9EJ)8bdDmj0i zTyKs()|G2>a$DdR=Otq`^0&$S-&5 z|CpmnbH$f3hU;OY)j49VSC+h7x!9)RbY`VFW4% zUp{M8iNd9fjV16szKPG%pVxc#{&7l32|->T7R2GYkBTqvw--{;`|_aX_joFEGa2MZ zC2x6g!?l^6kVgZh7Vui*|NI-l{Uk|gUW%nF|F+h!F15o5e8uk#E3ZJfK1{e#*DzOO z@6M{ZCx`EbjQdSgF_?gJQPu9b*xqqT(l5n~u($1Ws~2yOH$@uC{Yr$QXY- zPb=JSd!Ksp94m3ccSYigs0*)d#CC_|#rup03Y`J|8(W?L&nM7_ageLg6lfgLbtpT` zMD4_T|FIe>OUF14IK>?RnyRLO5pQg?=bDOqWZycpx#PLuX<+*7Ab5TkB-DFCRCg%*_LDZD~b^yCnv- zCzq=|3FIq^V7a>7I{E!;8=q-7yX#p;Q^8!P8dI6y*r;MsM@fziZVd9bZ9%V|dd&tg zQ*@z;bhTLf*weUC=1F{TDq7zSu;wgV1gxHgno zzHONeX7f~X8jYHkPV#)-3WN+^?o1lKjep&7oKqW%soa{LWZ)(_xQtw>qMJpaZaAK_ zR+qh|$VUBRk&R}r28W~Sr*)7|`RdIRh#B}K7$^ZFPbnz$Fe3#HS?^rPU8q_}^gUx8 zpXc}7&EY8M202)vSPIAcxQy=Lc#Xv^jqsXuH+Y!9(;fLwmw$lz1MO_>eb3XtmW`C+iN+um!GfZI6>pY7#;0<%we5dS=M4-;&pEQ`~* zNbl+j1qID*e~W=CGv`y1gBRE39j+kbkZb%&my?-p99g)~K@W+p*2US_d^CmO11g$r z6bBq|u*dbC$A^zqE8Sd=*X& znj~woc+?ge(knt9Z+XhTkh;D+Jm0ycNdt{+7OOMBRdqe;o7vp8tqwY6t8LchYd2dP zd7gO|I4qxAI%=F1TKrE31@jZ9_Y4Cn40~P;NbfJiZeAc$Rr(*bDj%iduz>EH<-g`{ zmZCBIkn?S3%NHjjU*dAePIt@{8aA{;xDP-XCCKnfCzOHFJkF-c&ZU9G11Ki~*_H>K z8hd83mpj zVb&=kr|A*}j)Td`mYn`>FyDIw_OJI)sPf$h=$00rMLt69$qR96O|%b}?2^{S<`Spnn_yGHl-L+V!#)gN<-g_9oN z>XIg1yaUrz$kY%2K(vE|K1(R+D^zcXvHfcovH-90rpJbc$zvrYw+(;)XmQ*%%!4oe zXOT+g7rxGb8oH%eCr&2v6MmNfa_{{$m?>;zbMUf6&n7GB6+UfSjb_wEqBu0Dh9L|Q;hQnf@M=J2p@^BI2IbYu|puX40RsJd3 za3`cIs;IRys`~&});T%jMTmso&EzCGU5+pEX%gBn5(%pU7qvBYoO- zZGjw}R_>6ZX|$`t%_~UMUWw!h{6UQaYiLXfHi?P)_Zxw`4{{-W^FP00?fc%fH-NwY znwt-qJKsWk*I^19?r^>J>${gJEbDSMkug7T+7g+`;oNYLf3KmLgu5P`5)jVZ%kd}U_lWCk5!{Rk6hq9e-vSp7f3|VqcEQ#Cm{WD# zC8!Z!tz8IK@0HN_;O7@@6n*Y#^-JE*`;Rgpo!9#?;bC_#ZNW93zi?4LtJEgt;{iy` zuP61n&*N7de7JWZZ~rgpm}_jI5n{jEsa&LmSM^!2O}-uG%&lGbkR-GoGSzh z2R>vFfszk^X!ownY8fgUFo`-iZZMRw{j{8Q@m zUY1F=cs9rOAW6t+?@r4dzu=;`KZL;f=Q0%E_aK;Ie`F2x-}50{#PhD zPY(8%-w6@xCjPE$D1@l_f5tz1EOL!wp9ocB+mdU3#o(U85C#Oo0gX)?+Un_8?1|62 zItH^2{P^e)K=iQ|*69b#i<>ECx!&&p1m_VG2&@E9?6ig)!0eZe)~ zr<^F*Fp)*?s*lDK{V#O6Wfrl8OSH-|p%d4t()ey|19yHA2I5WOvjt8K-2Ks6hz^5e zC-w5KeRzDF0H2?8R`m9+m%s3~i#*><_}nZ-xu0oQz3}%8lU6O{{m>lwvs3PSA@ETD zu=7)v(2zX6&S2RiK9j4Wrc$*waQ1FGru$d7es<_uhU*jiT~1P;x(me!yfi!kltb+2 zpNBk9+ZaF+hI&krN=kojBc~6buWb7nK<01oY>_~li>=3}>=s1$Z4T}Du6O6hhHDsy zu~|l9SHp}3itO2lJiiAq8d!O5#5fwg@RZJJ>Ex!riJTHhB($#-6YMPIc5rcoWUqzq z`O>TybqNh)mjOiiv6m~1imdzQU;G>^e~bB)SMH&dA(s;D$>OU_3EedZCQ%!Ke@86n z!jz(dQiA@PId#AlbZwRUah2t=<|rj^whIg?>UCXDg=snI(CI#|VstmpSw#!)5Y9A& zdboy2?<%y&iOU(%dWJ(^Ciiy7R{KA|&;}3s^B6y;4<<0B4;|HO0rBdw2n^B<(D_b& zEyO&G^ur_E1s`8Hm2%H|dMLSH`=1ovZQ;3gSg2R2e-|)bx{~Un_jL|%WCZ8!e(yHY z)mms$LvwViE?_KkQ||Q-K8Js|VIh0@_ zn|7K5Vi(AkhZzwR3;hYL@B2MO4=@r)X9wDX>qD-mJSnz!I?J!0WA@Gc#7TcJbr~tr z7A7#2G~9f7&@Qp_>C}6p&M@GM{jUs5^l6e>V-_KSdLH(Y+QA3$mQ{H|+4Kma zJOuv02_cG?ry0f@2%YOZOWvgGkI(lH-Ih|7moT<}@<*512j$J_f+^K!Q6Q0ZgT2HF zX1ijcfh)fN)PbnJ`q$aaz-^v-1OUGgUXf!+T-dsWAz+%)ALG^(1!|x^CPBCwt{ z$0Pce4$&jrF6l{a{s_X=?;Ea>G&AVJStU0yQa2~otsqqU78!C$ZE)d3viIGT= z;*%QqJQR(q*6DewZtqxkoU87Dh$4^6&Lrm!%Yl{5rui1wO!OHj1iZD6M*} zkNbCcnrOu4qRjPs+)Ow8LEx@-oukh^;6eVW?fx z{U8}Kt@>oucc=ZLXM(1=_>+f6lMvyIor?qSw`Ga@B(8%IexXd@_nZU1g^QOs^%zO> zU@@KH)LpJEuw2q0AKF2{mDEhU!Tz=^=*xL2JTUszM{Ttj`#DmK5`r$g z9k^B|XHV&s09*e8B@sw=LOR2`h+1H7NB#)in)QLO73Px_l{pD#>#>!NOGqB1GtiI9 zq6>i_>IQ0X&(JDScq@?3O^(sv#VV^bxL^lL!A@QQ>YxoUM`C}WNGLXL6!MVecCP1s zy%UQ}WX!F>rQ0d%#WgJ2uI5tneqwjR3)o3(oRqD^z!EB|76?a(X$fWGp3!Ebb&CBu8 zcI3Ck$Nq*Pl8Nm#dXck7{>)K=2~Y!-DJW}<;Uf{tL%m>3zTO{@zv&yH17Cwhp1w@b zK<7P%y7Bl%Zoa|FvX%w|jlD}L#VV|F!=ITAz^JnSg_0@j-tS<(vQKeeZBVrY-1*f)PHSkt*zECc&dUBGgsIuxY!w)>KhM>TYT$1gr=3NhGEtueCP|iYH7I77( zeVtag!l^P#-ZCX%Chb#Z`5-ZIdC0L%RlMf+3K+S{%B2HMRThPhbsh>`8Umo!=2h0p zWS{M`M4QLRPxGz6qf9&ba!GVl{Vk_<8?QXi1+*3XuAIqKw%BN2p8p8nEUrHu<&su%=RBf-3rljMMI6KlF3EB8Cen`xX=mZmUd&#?uc9(z@b9*s8i+I(AE=Z z^$w}jYI4i$Q-4~S&b-6@hP0WuIf_r34 zsi_H>)3+_>$`mm$eO!#9?Rt(TP|6nsqAP!dCo8ikFtLR1NBU+y?hn0yJGmrBk1l_H zESle%+%rD~46l>}7&rmML?WET8-U6a=t9J?CP~E0Exnl^`JcYeUcbvAukP}g66Rj&3>g!bUQQDp$<9Xd?ogaYrLaifngsH11%za1#?K2n+Ujhw z9fDg`+IfOZoClLB+IsP2cbEF zKlzC-uJg{@v^#R71hVYx8sO!I&qhf|^cW%IPtuVip+y6k2Rc`s8zfWMco8>LkdvO; z@utpH|1@s{JjD8t{rjO)(}k{)Qw>OX399c9KUYXiFsV_EDZX>piM1^6R=M-q5!w#q z_LiWP0C=;vFA1(wPAK5{ut- zZ(8NQpuMr`C0^*@i>X);h^dt7z*YI!iKF?E7grOB)KPhiFO=-bPU2wT>e1E*SB>}q zPb+I}X_c)!bd~K}=rX@S?^zuFhtsw99fD#hzl>@!U5G<_>g(!voi$B}9x+FtT!)PT zC;bL{%EEuhXp!>8rO8DRFznwhO)8jq z-gh1v>P7R9asQ1mbX zxh?~-EGHg(#e{ay#Hn%jJDo{;)PP@sAx|!9Vvv5J(Jb`b7ud1HDOYij9gSk<_2Rg0a@&1X712@t8rWTl7*I=Qs_+>+3W2d zWn(yCx5}dRdeA?cmK*N3nL??dCcJuh4ZA#!8#gN4wwfRcC3EQNVKk823g^bUB@IfM zdl9fN)0gB?37xI^lVn?d=xfJg;`7fScmbjgcE!ETUiWx@HG;l#1LE2qKlgHe%i)pk z5E_!N-0*VRqW&+V`dHvC^>@<}$MDO091@WIGf!kkOpvbND^y0_JX`jN3kv218VBz`G7iYy5OeST96eh{K^Ozans}lh)%K%lV^7{MHm`aa zmc`_Ffy@Zy)F6yhWKBF_iE`o}xw(g7JoEd=s9E;j`HrkNPobX{zRZ-s{scGxcsw;b z*8=HlCG;5#3eOxrDch;a8qs?(_7vrJw9T}Pp!<^nn)QIKvwrc!SJ^e!L_gVw=?S=v zL#A^~B2HY0m({Li$6-8>`a(IQBJq7OFHo#uw72^rx~beG3D9oW;ANMA!dTT`Q{R7w zvwqsw-a1Tv7cI_rip z7x=~@$lLq7#Z~IGga%ez83$Le7M;mr?LT^*ZwS9VN7DiC66ao`knHf6MToe?oxVGl zpOtj3%GQ=`iku&u9#^o>ae+A-nMAG zSWJ-wcf*0=)VEGs`}2;o%D#nzrf?rjS`o+K@X>laof^#;CT{o>s0Tm*Pz7KwjFTU9 z!nlYyjDQeQB!WFi`2kbd{wfx3JPAq(*jEdK9RZ#!IGJms`}qQUo$mJ&#Q*a7o%?4? zE%%cQMeyMq>HG}osW^mkCu$M=^L8=!<^A`BJfRs$|FmAd2XzE*Qo#A;K}QvKr%%<} z^j7tDX{x-Dba&gg$c@%q8rk&Y=$Gw@7V$Fq6}oL_8>*J)P32MA=oVoCz33B+lQI8|s$ZlR5QTuX_ct*;)&MOai0ZU+ixKxD@zXFXLUzulpx@BpO= zw#qD|SXC?6^s(3#t-dDnHLud|C`RKBIgOU^X&g0%ln3{FE^NFSoa;eiFBhQ7I|>DD zCzqZ`04De9u-gAxewmzIbeTeY!%UCr1fCu9i_@R)3y~s|g+p^@%}H1X((ufD%L-8#urQwU z%EB>SQ`;bc@i{sAk}Kk0+1;kIK9Tm#xcl;^RTC@e#m-&9-N;$v<|-Ds(%yV#mwik| zI9lz454yN#y-H{Sx3!9DFr0MklHD{^H&LaDL`-?Jydr)#R|3crI1+pZ9@uY^BY_O4r1RWmKeQ|~l_SV+v>8~pn9EmtOUf9W z7J9{{!qUGsB1MuElqjScY8o+}D8DmC8Ni?3t7qg!N7clLOoYLlyvbnNabMPl`LNkQ z8woNwNA?=1=zt8ZjTo%YN$qQs&_7}ww6~PJ-8flbZ5Rm+U=+b!O8R;CM3C3u50{@m z3kI}R1a*Ds+DN4ZSN(99EBvKNw&ijPZL73MY&+3H3Ek+_!#oW$kCKFY;uUs!E2@TY zH(YfYVsk&4>P@Q-pH4*$g+h4B)A}nF!~eT+f#0Btb0b|S9QM#r4tD3F2jZ_tQ%W8R z4B;Bw2nvr?IC2u3hN)!>0to_IK-IG8`(O|IIsg^y^cg>pJhXY1Yw9K`$5Pa+`u$>3 zAWOypx``pIReK<*?|`wcTm0EG)%Gn^>V!##x5vSAOO0m*Gn3rCj4ZWEf3jZ9J1N3% zY4|tgUejsm;3~cv~lil8S*N($j6wJf{zh)vfp2+TL2fv znc8^;qxOJwgQX~I%|bc75A|k=lwH*`K|OAVO>Jq#*%-fJid&#~dxb)-vwKq2sLb9y zAh57xcmIq|X1dr#NEA4d7(WTBxxdVj*_OJXuRad_O_OXPv$y&>`K2>dW*g0asZfNR z+s{~~pP34K8n$yc_qyQEO12q(Hb(vY0*tIlqeYR?@J5T;eO(Ujq0eK>2O}E zW?x?w+$gbg5<^Ke$Il7?5S33bL7<)p{kaamZk1qU8` zAg(OvW(eLM03-Q+?2@o(Su~yeuR2_xL~!(0$||PvP6{$AGHlMON32as%Q;%iF1v&$ zlJ%Qi=ReG4oj(997N9kzPlz9I@NLL~c<+Al?%}-bL7p{|!1r*lK~y|Zh=OD$c(U$94g$u z)b~H#()c=y=^KZy#78VHP5$XW?g+WVjEH6GL)w`hg5pXGNvURCYW?}(a-KE*AvQC4 z_@aM-U1(?xFqF3FrW#ijU2Bd^iBwb;#c9-vt$-*)nJ5(-Gbs9K(Z}W?+%)TwpUK~v z^I-RyNG)IVE}wg=!$UW8miZ6PMRQeKU}_O`wyw3)8ubi1WNm`Pa+p7B$^6T+H#)TL zrz~HJ7*x*v`*sJiJ{J+elMIAH?EaJtOKlhb+v^Z}^_P#KM}+;ktdHCw_lhpKayym2PDrJ*)Qry`eicic*#BhPc&`V%S;^G3e!EnL zigvc!1)-7G+7@<6{vb=2MF9;>;W1_B-~n+lYQtY7O#^EIHe{?HR@ec;iv2*+h}_dt z-j(C;BZXzGEw(49z0!Q2ew7!TitG%^5Vs~KQ4rb^u)_X`qNq$g1Uvz|>apMXQu5z5 z(~QFcMmaD57=pb(EM~;prZ1c;ee_Afb4T1poA)+>d%OnPAUljLWJ$C~GXgZ$gj(b8 zwU^#Pzt&_q7+K^kM)Y(j!qzN`v>mB2F=oX~gE7)B5Q(sA{2(I9Rszk7Xb6KN#8Onk z_s`b6b9UcSrQPt0&VzO>OtR3Nc$47{cmQUUw;u28PqfhYpbOWhLS8T365jhE1^3pj zyE_@VV{6nN!ex|F&T4_^SjR5bvfb)?M|ERLInXm)t+FB$F$zr;;1}p)mZo;{vDG!< zDyAEhu&_!*p?HsrjYg(OT7nYmnhXw?Rw?v1e*|ePOVfDsHrqiKl`xdfQ`1gVv$~K8``w z`GzI5lpH{XYZp@b5R?T9;Vefhl}1^2Kd(s?<$eBgjFyx2J`l$kK~!P>XCO0;Z9n(O z+hZ~K!#Qs6o-X_3js`F17VjNh!$30TbRs?r?aFZ+_fkQ_Pak1oP4#bH23wMkCb%s3 zzt6pc=wwz%ba3T8W+S^azH?R>fy6iM!degboAq?D)+JW!D<0KbMtHb^%2o{Og_Kum zyLl5!xa7YfMCV}OWD;Hr1lq9~Oiwx!g$in4B z0<%XJ=p?v=-s_TU&UX#tCM11= zcOW}oBq)w*5Q#W&XB#MiX94_Z-xMeQ&Iy>^6@`O1hnNopjQWw8lr_x6TP%6E_G_5N zqm|tzKHeMEIK{F}RombB2HJg=tYSzLXYXX1Cn@tFBsU6Ov!Xn;S(g?h2)(7JF#`T2gP#RAf%bp_&`@0?L4DW{{Gw4Crs6NfT+5MzZmq z*xR2c=1&OkDs6D1OQSLhC)H(*MuBQpk=zPlSaHx@ZwsF4h*DhdI!5MH+J%GB5Xya? zfA2E{Yy@2B?g7n8eLRXqMJ)6I8$c`N6RRSObTzpj^(qfI{3Xgkatm`=!(falpI%zx z%K$~Y>{+8kR`%>J;0H3$R|P0_ZN;`80?BvUEwj3HcqVP-myrFZQ5(DC&nj?gw<6KX z$kp#}zP=%*kZ~e+M;VuVVy8b2-qVR%)$q#~-3)393Zps+e2IdodzXwf6D?0=Ine~v z66uTf-naEv44$=hWvHYzXXa%BnsfD{rJ2KCB>XgiT{&DgN-}pV$5i&qI#HdI&wN(U zXP+y=yX5pkv3?!|PV{4XxRz7xhLePfaU(FNPt2L?D(EvA#Nz~KBB*_k^#aG3^MOhmkK)Z*EfLHtu1Mz0;%f;2obIxCbRo?aRTc)wu+h84}YmEcfK202(7>iQk6r zqdk#R(kfqf7r;Z!+H3v$C>0fTvjy*>RAE5gsgbv1I%{aI`qgl{s+2UB0&Z$>Dx(mI zKXrY5O<;M3NiuhfvnoWpT+>DOPSoqh<%_Ap$Zs23nD@wXmy@%V;JqW<`KBG&ssgmS zFGT5Vzdwa`*JF?rFTZkY+L)+pDm8t14;XU`y2wdFD-=v;_R%1jbe{N0amWcr<%*+> zZku}?wHZwBb=l(rK4LA==+1h{VFuz>(qP}h=6|O|K?01&Rpf{#0_+#-1p-Om4@;_v zQ_9#-_n#=sW3|p)7q$4#z_TZyvwG-u+aR@kok98roeZ^RGY_2@K3{rrS!ast}d$YGHW z1RtD*ffV$@f;faObV%v5>1N0ESta4=rYUx#hWifzveIY;X9vR>lHO{o9}uPdsK#to@9Ib~y^+32#(R3*T|@C%o0SJo9$wP&Elxn$uFVoW9kxgB{_Y8qAyACu6T58SFa zwe{+`O0X&)#hvJl$zTdSZty}vDS3;sZ6ihCFFN0;V^f5MluR4HW@?GU$rJkFpribV zsK@`xLqmKBDi?bkkW|6B_!;qzHu%GYEDH8sNI4nS?DrMKU+Ht&?ZchdbpL@V@LtZnjg z%pN0reXnIoW*p;|?M5u5M4Xm>R+zrVD0-k;T1wi*B^Yc-8(guVgCOr`re-tffJt{~ z)-;e4?iZLy^Qk)gOdP#M?j9za23JGEsf^ednK&%zyH^JaW;6O&y{W~X8%XVUs^m{A zi)dao$iBRa#w=oKDr07r3!EFieE0LNGS59@&f1#elZ;oar94wXeic410{}O}|M;Ad znU`Oe&#BVS#O?^t!P!L0C>hHE)jcW06&iwTKVQsRv+yoL6BhZ4P{zj*s!#|bgd!IQ zgNAAcwA4-%1<>iM$L-Yb8$bFAp6jkMAae$qyE$2z8gYO4u=2LY3-h+|?#LN@sEW{R z&bErxn8L5A8?vW$cGWCW3qpofvD_!g@*XzqZpm*XX>CLA*12`lD+nk-l3#H(W3#Lf zl41kU*Z>sGrl2#8VgT}y_3kxwYa&}eaXN2_CHed*N4|@&iI~hC7RMDOu_t&e!Pj`4 zkve}8wr8@j=}*>oC*o)UeEmsOPA<`gCYrnk%5YpJRBJF`lc28<^#zVq~&6XB@9Tm(<8~Y+q;nfO0w4C51s* z6Ex6Yx(xUND)w(2H8=ggO_xdU;XEt~Bz}GWo5)kdhd0s(EOS?^-{r-MnO|07Mb}4D zQkdgm9U2R*CJB;o6ilyR*oz58EB(VL(|8}8P9N<-=4Fz=O*|Y#2mj#rXByAR1_kpL z0+oVUsy37^ng_VqFLAZ>Aq8bs^m(ZbhRv}QK+BOY#0W+x*^}&99~65`vpM>832A&! zuYNZ(svNHXQn6%xvh1(aNT&UChu`V$HKlSI@& zcD?~E&D;3qfR4;+OOV6tDRAe)B%v- z62}#+l+Lc$7mCK7kQuD`JBe%m0k;}P8+m#3pu>0I>PKeo%*?2&6ayO)=Ie0hT7@=yh+)+iPZE z%WfCq4AfF-xBM}9+b^6J{pr;HK2rldi0j2A7Dzx2md9ZFBzloHI|4)!e!u8upwAMq z(wA#n%fOcc1*Bin0w~`HiD8rq1k+c$3>Kn3X3$#LJP8b{olm66jH~N5-6KN6k|ypR zGWpDk)K+vJ0%szoo;~e0M@t#(c|r>*0Sk!lW!pXy9p9omXTVk4Q%L+okj=3pLy`7I zzlB8brw&*Y6)TxS;rLbb8@S8Tc>JeI_qoh~rZgoW#k0Zd)cMv5sSOzAO_mD0y zupY~>CuYV`xy8Jo>Eo37(K}*f9qc~AP~vMt?|W<96;`g^{GM`UX6nrshl7Y)Ii3|O zzL2OKIL^I)?Z}bM`)lH(jx8I=6P{px z;krL3t` zsK7lC-jP!y;fORLg@n}<_Yvu_loy4ptgcrStd(*(l4K2IUR-q8+ly#*eOUZ{O4dko zLTfFNm8tO4s97*gFbVm)fsY&n}44Or5zRFX| zFxbrzJWa5={FFNp%UTZMblW-1r=9if-iR882Uz_%VPe?lso}6kf3&KN%s#{dIg^6- znvk_yZ$5RB3J%&UeludIRk#`ZeA&KfNRJXoub94~0y0B5WN3(^J2*~#z`v)AfMl*aH-KxR`)zAqWS6sxh?c(` z%nS_(8{;RAs2zIBM!SN>!A55{kt%O;z18+lyeNf1_jVYzZ`5lL`GfCC#<3;R#OXvh zgg|ppJdo6?_~$pOna~Y$!315dH61apN>p+dvk|?mLe!iS5Q;r4tuz%<5Ih zM;uW%Sl!51aWX>?xW00hDE?VXe)4kHl;9{`I9gByy*=&T-i|V|xk&CQfv)uTmG>G1 z`3r=jm7Ya*jxWjG$1$u->jc))?L5kZKm6xd^g3F|2-R+OYg0P1y>xK%PJoYNf*UGc?zJUycEZ1tp zmRwlEaC{QO$V5TXbugy&KXIs_f|OY}Oyy;t!p)xrPGMIOo$KeCJ!~$nJ2)R4q*Eb0Q_?x`G60t| zU3Sbks~ai3a2QL1ONTti;Ulv`0naX0Feo;OJ;pF&eyB1)$Ww=Fc`WYCaCi6R+7m@`u`>0-eAj4{#8nJ0@AqKItBAD1>kF|yx8@oxM-9G!(jlWiBqM|XEfqYMy6 zhm^E1LPjGnx=RG4M~Vp2FuDh$rIc=v?(UWr>C$iS_b2Rm_T1;(=UmtCGE=G*N*g^$ z!7Z92z9L}An4%6Z=1hnB9~m0*Kf3^biUELTMNXhq3FcXJC z#X9@>#@j`wsZ^u~^xF72;xY3p3y1Y43Gj$~Wr#!i8t(utLuWzaiI9A5-9W)m2Ll0B z|MpD)M1>8XN`WZxd#R?K#Ch-Ta6ld5I0#3|zXqu|5bSe>nNt`rFX& z$}cwf)$M4Y6;3m#E7_Yj$BdgN6zMNLN;#|Sv=ZOYm7M>mp=UJ2s(lkx@de$$d;^bs zm34K@oROvEncFwSsqptz1I^U{Pdu;V1%a#O>W;EB^QB@xAGgAxm3MNT$wb-{&(Mk{ zm;x_G@oe}yXU=5*RcJCvmCE=Xa9$lpQzecXR9p6e9bO2zt-ZTS^v_+D6d`#vGQZW> z%x4&&^)%l$54An?MUA8Agp}b(8bY|B%kvdGT);W~x?kH(5gNjYv}0k(Oz+3rL)9zv z71FO=@z#6v8&?8T)|81r#p;)WH&QHKnKf@a9C02B`*foK5_?cB6CqBE_Sc*off7QU z$!H_TUfmo~@H3Pf%{ttn%eR}N9LN6x9IP=-f4IwPwuoU-$k5mQoemQ*(O*mjPA}W9 ziH33iHCqBVvCLn>9t6|F^Hk?F3(I7mG5mTNy^-T3UFQ{ovQsJx_2=hq<0giNK9z<6+2wFPLpB?g^D9UYxaSG1AYe)KUbn7T=iAHGLi}0p`6?(ZKuDfMh-}Awo>oys_`Fe zy*~)_GMy#{z3*d{vj~-W{CIgDo2q|*d}N=BGz0!N`32v&Hf(p{%pMLV>4mAK2qvcs zo>-^y8nJcScda1HycaS>`MKg>pRB$S?h_W+yDV9xE?uV%+~hi9k!PswZ@ zzaN2;u1{*w^h_oT=*YN~yU)3c_jf6WKF3s@gxhO=x3GU7>M3|LF|K`;ak%%DZ|1OA z!#{M6*;0-hayab~I$q%{^Gad5Xs+;!qI-LQD?bT{#BIwi;7xYT4oug1O_K!Nv=N$< zd4L8v4vaSI=Cvfa^*_b|bkEBcvvovqzzdY7Acg90fKdl8FG?7|>7m&H-b?$PY6nxe zO!4HC0iSyPyyN;ibq%3vU*7vj3)KarVndQ$m_dK%o z`*k{e;voljSD%-z{@`#^Fmah3- zhPSN-;Cfe3JR>$wA2a^tmeb)7GypOeCy>oB0 z-%<6NwMj!}pB4}=;?7!@=Ka!mWOf$`wl|v8vXGn5Vr>sMQq{uRoavUyy5z!CU9j8K zeM5b$SL_^AtzAAw7%iZaKJ&*ylT+ZMxKXz(9TDQa(Pym7Wp)#v#~SJ&yD(QD-AhNp zz(#Fj_ggtNd4BJPR&Re%9cHAVv3)li^|EVcF?_=HlhN%;A0^^mSTg`LAgj*dJT|GJqZk0 zPvYc{ffyT}f)4fO50d7O5pH?vcxCodOd(#~`v@fzU-Tq)-b}ynjH$Ftzu8FenlNwcNNv|mr|0aDNACCc^`MKh8-5znzwXCy z$=f-T!_fgINZe?8AvG}rqN@3FY68k_sDPEnMrBmOfni9mA1~w5hI@sE$h(`=Ec$-o z=kC{v{HWE88mi@x<37kP2z4EKT%9v^s1{aW#pn~N+SsR9cFR5=E;q)eJ`vuO&f?!B zo6hq)?fv@rtkQJp*ht)n65Hj?IbDL^^(96MP7-DkWDA$pnS-P?i>yT zVzQ?$1{eGkba=+<&t>w*uex9N=@AV&B)ic!=cFo{T=szG^cB(sLmE+qcIsYEeW+uH z3y#eQf2}aswzWX0ikS*meKq)EeZ~S51R4WtIi^^SF{CJ4|N341$&o%h;&0dPXoBIp zV=iBsn<@+uA8=X}udLr)%$sv2onhRFKz*6gL9eC7-xrl_gx1H*pkC{G%)#_*33D(n z^w8j@P4@4tLWAq5nuFVPiwX{1!065G;#tQ(rawWlew$cV7y4{>(t`TDX><20EAFkRcCk?La|L(})CMkRVLCBidHB;a#j zqj@?sggCh1g!5>nE#nHcLj@qMu)!`)RE>n3{gKTyBq@GWB!n$MRPkrTfE-Mzzs{U; zPJ{4#^Qvv_LHppTs^y=I7-^lybmi43PAeaw87p50wSEYgD>&Q-3`2;>2J zI_liG+UfT?C=f}>{oS$~r*-4aq)J4J+K+uE5uXVbJ>K9TuepCux%UAs{VB@g{~j-9 zf3qsgELXQ7WW3iek{{NBAFng-?@E|w=TS~lnTJcOt2?{g(n6IE?~pnE?y|)j=Sv;) zj(_b-9f2)N-`w;4KCXz1APxAv29;=#Z3N{U!6XH_W&5-F?_=3m)D(-GlkSRgbToqT zv6Cr)^5E;&ev81rkxlyzKWUw3i&}*Wg01YX!->hSo67C7TsZ|yhM3_@F>8|c^utTT zBguEdl8f%q=jh$QFgdFg0fme=sn20|`E)0(zTP3p^A(2k34Uz-QnuJ|KL=yqhQQvJ zY-mP{P43N|lyu)~ro$hwz%GtE-yo;$;Nvgwy3XW5>zxgpma;D0$L>uk>1^c8xZ}PM z@*DQyXXjtTLfp8oXcLKMq1-{59hPQoF&act+}KmLnRNX^FKU2kWV@#Y*gKl+7^Eson* zXM3ZEg>C*y+Fu)^z|yd2yr*;i3aW;TpBw&Xcl)yt^|UfQisz-_0#-8$D45IMY#H*x zG(OT^sz;dU^zlDRQ`zOHSox>@af5N$`_iR{UW&scl#_Wq@G2#0V^ZPCfME2bOZp$` zJIm2`T$j08>W_6iI$m_#mA)y(Ic+yt)o&>K)gog=71=(FJ4Kd)Ui#siG~v$5U#3@B z)19r~NTw(bg$g{Ay56LC8sj)r>UKAVo0%ygIm6OgZM4)Gfw$PL+NIgW z+v9v~ZB)?EL>%f5-*|iHdyiWN%9zJOihc>E3 zDCEa2p+3U-e5=4qjrNs(W%G?$gGWE%)rbNK@;|W3+3^Ze<^vjmk_3|TKWfZjQwq;4 z!l-VhhmT7@&hh;BX4%_fwZli$QQ^j4p0nwR>-k}9(XN~u)vn&1`oA4_4D-*`;x#QZ z3w-pr8Z56aD@4`hjk5uY7c(RSaRg3E8b}iJkFVQmEy9*$+;aRlWXw)!^vfV&*qafz ziIZA)G35`(Mpi=pH0PNSg2CZ;AmPo(`%n?#6BB*!)6?~EX0lhZw|(kX(kx1D)ndxV z7P-f);sa6et_yso>+w3szluw55f+SOnK%xbycD(=lcte|!&?&yELA*c&`Z@9DSaWy z(w`PBa>B5Fp%eozT3*tE9c&%v>*{#+?QMtb{U<+r0E*fvW10=DxWDn4TgD;{jW8L& zbhh}}YsrY$o_REH-?e1;iu5i1beo}lX;Fa&dHC=uy}}G_b!>jv_u zH+-etF<7~>IpT%Vpy{FRgPAFUM3sZb1qlMqeH8*496Q@0_3Z;r_9q6d;~6teC)#B1 zg7(n2w3w<`8!}1Fw>n2y>LSq79~l*rsIsa|>0fuwMNgT5Y4@_00%Z*)d0z*!qdPJxM1h;U!YXuc&fqLuh^J~Tb zouVXh-MrP~l^m8r@O`ccw!iW4G#W&i2a89qO-GZ> zt1qh{I#v*Vo#OCFU~ii{QHd28+}%D=WoBl4t#3x3w2%!-|btKl$6 zDj4K5yF;eBk)NT5(Y!c_Yg8!^6=zd$_>dLRMfo*l%MAuJ%~&_j3%$-g-FW+tPWvsj zfF$g&0EK|lb8AvsUCj?O77X|porllj=@!RS=CM1J*oO1-PB)BoJ*1g|8lVox#QaLp z2j3F6`C)z`U8C?*A9UC*BU16l)Fa|>u^t&t(}NX+yYu454Pm_G zO_nD|p}^|+D1iIv`0jY+;;_ZdLc;}5R6J&90obxeYGEoU=I>nroE@_$PStc^1*2F9 z1L_ZXC|y0zqJU9lMh!_pz2|QI_@h<5N71jhxG4!up~^5BpYYLJnt1t-5zlwTh2{C& z_{-R!{oajlkuaI>iR-^;edYX6Jxwt##@km_4o`vwpQl;dO{<-mSS|>mslV4w*MbDr zDt5vNqq>20DjxU%u1jXn#}QV~H@_@nbL>!mKq=WWX^JI)eHV7yHadt{Pn4aGYNBG_ z_h=$>R*>K60%|OWCCWgG1s~c@QO3nX5buLPN;Wga@ekKKmgJQsSX7&iIM$l42354@f!U z_L|d3igPYcq_&x8eJm#xHI^3!*TIa0{_$u z$XFO!ut4czFm@HkFZ$!RgguG`SE>bmgui>eXTP|xGX9mP@*2#?6PYSuHAx4J*u>C2 z&q>=ItEAU0Wx2VHw?)bm$!!MQthI=_R=EDyqn|X(rj8ecM!V+*T?154DfD+UzIbv1 z58?Fi(9f7s>}y5hM<|4aFwd2n*X6ALI~I}Gf&b=c`TfUhsEjyT?S$T9D|Sf%k|*;> zMJ?KaJT(QL7AX_w*bS`;8yo)rIlxGKUa~o%f5P^UNZPyl*q-2BALJ%;!{q+BLJ{MQ zdWVbi;yFXR_+OqAZ%S0?rloQgH%q|oP{vE&*x@?E>l~ug#W-2C|*k6w72y=oc@6K88!`_|3YS<(Uc&ul*c=|Ddkl z(I_;5)3BjYxOFF`je$6n!vYa7s;i2c?cZC-_-q%ZZ+%!PS=w!fiu26D(ZQ^TRtfk^ zXC`WX-QUEEvj^v5UWWF27RWu9+kHo)i>5z8wfe3!o*PnM%I(`jRQB6z{!O3z5OXJK z+iqw{9P{-hnUuL^$(9_>bIFO6LGcNwidr^N5OX8C0*c&?g%5Z>!}h}P8MT~L$AH%Y zOxCbW(q_2qZ>8}YGEMmu+{2QalX7M6UwOv!WyP+%+H$5J|K6d~%9^DJxVY{#wM4$9 zty5{;%ZGIY#a7|tUeR@;yk>&fpJyzWu*vQxS=)i?FGMJC)ED+!<|F-`vFNgl!Yh9p z;oqd!V&6W3VqXb+X?zKv*^`~|V{sxTjr8mp%tuDo7dEJu0ggvld8MI4HF3%m^C&pm zRDIT*K)0I9aiJz!(YsFG6Uz$TQ3WIW9HadatnqLR5-2V#om^YfVZ3f$LeU~^vL4;h z{W^j04l4|Jit~`959$kvx{L6gDU#0vNaKV8Tly)}k&@B1HV>_S)Nn_JNo_B8bj(ju zodmfI41bVxaUa7lppHF{RWW)c0+$b;J7(xzA*L*Eh+YvP{-p7|4~hp!qxOnCnItOf zEsm(UN>L`;@wSXZ1y9>1t+k4?OAgSU*=6eC^aA}OpaP)r>&tDLI}__`!E2dG0?hDH zJSx-P)YqK7a){ZGNWn%JPnJMt_5|-SfK{QM`Z@3KsunKPVBG994&1G73ix=18r>cJ z+0!#<&O0mkkM}CR&)BptW{Q!Rk8Rwkn+*VA<-L=+?dQms+17?oa8TSItRhnl@~#dE zW)cjP3F65c(I@Zfvg;JvsFw}tloOlCToPKapbiDbz7{SwKotguIM6uaDEPAuZl7U5>+m)x7e1 z%N2l1gl1@`*e1XDjt8Jqi|iamX8G)bFsi^EU@eCYw`d<2zmqP)d0agpyvV8W>h|wy z6oih3{Pd~>eo2pZ1qQZ^QD#QeP!M-moDDuuQEthn=Fdsb1ge6) zNL1S-loj`<{P_uLbh?OBClJU<1+KJIo-QZAK(tWhJ{pxm+B>PnAn-^IP8uhXO@s%&(QR zHk#d8OlTIt z7k=X2*TfH8iIPn**br)=|BHP;|0lwIJ0oGs@!!ezmV`_qn)o97{_(t#9_;nIGx=bQ zG^AnZH3J~R9KD`}VbinL^|Lpr$Rm*KQbUHot8jT2Yti?5?{2`TU;Jb~(>v|2al1Llhfh!BpX@Fsft5ua zW#e3^FZ*K;cGqu9%7W}Gn=s%UZAl#B`yR2AOZo%}ES>u%ds$aR^LpdOD;$FO&`MIG zQK3n@VrLdCi1mjkah4bbkb0MtV2R&fif-}N2{AjGvD6Mb4GY-9_lgG9T1ev@c_A;< z5xRsb&HfhQ`>{vKiAy?64Ok z!A9u;&sw?Ep1&Agkiqk&u>Cx4`yqg_AB~R@02Y_5oC@0rsU+~h{O9uCIk1z_FrBd7 zjC<)B>b?ZGOkg`^kIne>xDskykn|_xxbZT_fwC8gEhTs7sndtM6hlcY{If=sfZF=g zk3UCEQS&hoHI%f=8^1};BGBa0Fx)pOEk9wi5tTZFI2|^phsp&i{}j{9i>B11?@yf~ zzmn#9*Lq}UrjR1GTISEFi8S;riwWZeEj+IwTsTf4rNCwlHRCF!3RXhq&<}g`zX=&W zhsE_uUEBk_tg;+bhm5sI;PP4EdvTHN{}_Uc8NXQUVoEFb7qLeCah&uIuS;unu7T#T znRju%{Q_7*O-3Z3`1;aZN2orAN}HNB$qD?K$gG&aqWPL8kbSX`M-$>oKA0b9 zTQEmG&}sRnGkHMm4Rc)uHevbOsl6PK-KUz1r`%iIOjIx*<{Cg@KoIFd4&D(+mV;9j{7_!MM`u0g0 zRTniP&_^%r*n3r|nG39CE>a^ZrCF{HK@QfuM3seEU3R&Daqj>{0Gh0O=deEd35y)1 z1Hjws1{>#|@(A*QUsjK3V+r_Ibn)O54uIg(9WKQTUxp~i<^?V3R$(L@8}e`?J7+R} zp&geZNEZ+{7bgk*t6e8j)0q#qqqQdB&CMK>z}7y=oh^g4;*5(=EMO=|46N77P9^{1p7!hr4NJ zze0ecYIuN;6%I3+CS6ecFkHvcA!u|GF9W$deknOf9Va<66A+y0n5WIX3ZrI*P_B)8o*Z zr?5$q$t3p+kS$pdIWl z*^}6wg+I8)o`DUp)&nVlvoyYJ2=EbvA#0|c*^l432*?tD{a7zhyVR*U*sH>Bfz}-i z5W~A`Qf9K!dd_;I_>pA_IV%eHGYtcNur_!X|2Q}|w#8lyzZN(##)TgWHfkw()P&za zi|v^?MEVLC?*($nQX~Jcb>&M-|HJdk5j<3buOMLN8v==JAGSY&rfOMk3oM;bM%ZK0n)&1p4orW}0|d2QKi~*eD(O;=XuhsK zHh3o|=?qWqo_G+qtc@r(L$LX$f!=0sIp9D*@xGy0ztA{C>6JtjgxI@u^^pQLH_Zex z8%~|%Zm~Z|*|W;61yK)$-DXaR6f82@3@!UkfWXgAv*F28psUlaJpOsx^b|d)EUe*; zm#M5HYZdcSL{J>bKGQovk5*=DITqW=p3(iL3&5S#{H8KeA z@aIhx7?Z;bC*#1Lxj73a*3h0m{mO1KkA4r%1Kw>A99DCqpA{A1C@LN9`ox)*BY)E~VuAGTTi!eGK zhXf{=)7+};t)df{?m>~dw8Df4k!U^8*Ey4phcGOKaRI1!sWSb%*9-pm7QJAUbF|v& zqGZ7e8}P*JteDW$`!aT+a{E?;^?IbAbp=->ZjUvwIYS%D&1e;q)JK}26T{WytKd;P zirvTqB);BJ$CwfGzyCF%HH`Z4gs*y#*>=vKZb(_3PQbQ;i7iaI+RqazCsOv=9bQ5E z0FaTRp*5u*$@8WBcfy=rWoamg>+kxOGJJNWL4wKN#Y(G!U)E?99NMI7?BT9RbzYW`|f$yeS0I&Ng+vdnf)2?-)q+d)L`-&>&(>wvYSioiq$ce zb>NPRPHZ@c$E1@iwIDcDcYCMjH7y&t$OQdNm3LBj@a<|!($SZ&h)VJE0Ik8ubNK+& zu}SMurIl}jhhvx#9fUXzx$UX!A>v@I6_>Tknv&YMszyjj4HO4;%HuL-p@*89qz0|_VOzXCb&B)uc6wr9hK zGbcs)3^t^OrBzpd%&xt|9``JjkXc2U;gUg+8@~&w>cCsVA_p2ud@$$XJ5Or3rHfS$ z)KvXND6rb6Vr=KtAH}1n8MvTR+OKdl$Wtrv3r|bvAt4S#oRStuT_Gy&;ZkP4H@O~} z{a(zbsEaaktSFZrWb=(;@(1WQ4l`=+EBtPx8rLvQ#n7a%;W;)qUo3r|)z^wpwcYrY zQM4ENUXMjvLwljPp&>AQf0Fo|?nPK+Bv{lWCW{UaXD@tw$&Q2;)Zpt3%s-b16zq_) zQ``jM!R!`v7%^eg-aX4M~&MSbNN_w-w&+rKCr7NIRVz`{k7bA?rQZ42efk9(|wevDVdA`^4O%EAU z&!$m9xxJ+_X~Q2P>qE*Un2mYAG10wG5|@aP%}WPSVw4QD7QR*B?+Q$u3`4|i1zOvY<@8R}{`2@* z;~XAJbc@c54zD4raNEwK6L*HxC*5?NlkO4XfIV>8^q4g8wmds2uMv>#?o-B_t3A5w zxAFm_h2&dxMnC}J*iY0W^xFJLmyyn9gKNpME79Y3QIT$PC@nBPBC)>x*AS;hCEWBb zuvQ)I0gx{iy6=m`X&;darnJntn-_LW+Z*j^+Z(M})uhMw*_(pmx9P%cx#eIvD6tnZ zBC3Nw2N%&w57BD40i+}=MQO(ZO>g3NXeaNRyt&_yjnKj+g}RbGxM9HZ*Hz9zqG2@< z-U-}L;05FQ&x{u^$g)Zb`8KzaIax&>BkA)AX!I0Xo%E=ZDu$9J+Lk9RLA~&=V(b-< zBoLLoJ!y`56u%l4LSHPWU#*1&X{F>z1cU*7&j#iVu6;9Wu7ZvzWKiCuza89|DBb zT=cWe(}HGgbkj0XdREbCC-B|zH-bnB;d9?2Xvr&|jJL60LXfI6=|kAi=;=%>gl5|l zY#wuF*gl#VPA++s(_8k_$a?bm$bq+lu1@)A-M21EYw^O`C3kJeB3+1EOU}@w_Ao@BP+Wr&8R{b zfBtWiOVy2kx=pVXWT^{haZU7`pT6$P_?Zp{(w}W5cE7*dg64m^FYMnsnl1mC zm0$+je8T^AJ@^tAe6l2Zpf3w~nP{ZZHIlqq&NEXG+dW$Wi5>0(!l!WGuag;jD)_V zsBLlw3^v&zuWk6Kanh)kWWzJ&wb4z5Ij#SoAugqIC2y^1q{mk|dQn%g%!28f72<@> zy@lh#Dxe-;=*3F;L|>Dlc+4;9rHd>x5LSF>LU`bH7phP45FcWNMw5!_U~xaB{pp;^ z+TAYuSTO@Jdv0z!5C7wGCdj``Yr;7iYx<8VU?cw(0ViV=wyyh$t1(XSfLsRJ#~n`^ zZuf{9PmX7Rni$>}3UYe-*bw``sPA@HYXR4xMCho!e~;R&MqnU_sw?BwwP(>NPQTa} z;g~V=`}<)0yv?GMFPH3aV~x`AX);!A!FG8Udy2oT1d$Zapk;o=mH`hN51C8&@dbON z{aoacTn#mx8SE|6VJTf{uevXWABg6#&AYWg1yLJ#LOlf=k8Eg--EV$?G@x$;^YU2R zXzmE_s>KcDC^7W$P2be3u`PIQD}HpHjs0S2EJ5PNxD4zvIS+gmF&zdpV=0xqYJ)6oU9@ISD8&B}5~pVh?) zI*GhD%>%1Xnc@l$!XNH^s*gT6nV8mkep_F7Uqb?r{Asr@2PzhN4XO8*E4QBR^5OXY6NILa<3fK?nl-c)8tl6k7}YgMyEJcE#P z*DZ>3T7&~2dOVaV{y2&PU!|9gF0m&+)CT!Sezw`IquunSRudbmo?n5U{3fp#S}4wK zg2_zd5QvV7Tg!x@nH``(n?KsrxeIg7n|XcCiX_YXBKLjsio83;Hwckr?W7Fhx8YXt z6t7hXFj8$b(HZw_Wiq*BJQG9FZoM2YvZw+5`K*-<7tSEBH{_sMkjj4t2*v7)UDL!+ zy}KKRW)Q*mJB}?+J^z(xaB0#=CC1hh`My^n69dmBa&$Qqj}+i zMzZ$fP~Ir50jhh0-rPcmCabM^$v$H^SFV1Emjb3^^8$8sL4H(&2bf@)k`VcFt35vw z4KmTcWz9fIN{VIT5i`{F*1Irak#Unv`igAzzg@Ct~%vv;tC8FaG)1U#w zT?J~ajm3inpJKaI1S$E3GXfAXO!4EYh%zh$dEdT{Raxxq(+D{4+ryjgBG0^tVn0Ve zi90Ef3Wah#IpA`oe{zgROViyf*w3=L-$`rrsI}QD^rCytV+?Y1N(~j=Un3sN%el%% zTn+ye+K3;a|G5ZtY)VT}#EtAz@K&Xsye}%ttbP9c^tvn!AC6C%j~WwCx}x`oR?rC| ze%&%1?9&F|3r7yqzJ#e3UE(1GTOEkipECojb*7Kx>A5udK-4hc)|ohL($tL_5z5Lc zb7D=RGB{YGa(kkgf{@P$Csp@y;^iO ze=FX7L}3?=2v2&|XOx}SZll6JfhpQBA&g49A@R-~bvDm^;S_>29Um)8Mnz^xayawZ z$U@DY0T+BDun9hDRKpkc0sV=hRU1_{j^$EvEc5J+eg2`Kgdf?Z~2QCPi?NI-CT|z&V{M zDE=%R;t@r!WOQg5m^e$NllM^na>9k0YTxmwxJX0$`SoJ`{z9_9!0NNaOuKeBD&DbF zs9N1_3ks(J{D$AmyjPy-(v^Id6<+^SH8PzXDc=^r1b_d@`i}=ovhxmZfWFT^DF0wg zaV{{BU+aXqBix-vCCwwRK`>*W;ghfPtOJqR_6@%&%hiF@RnIa-QBs#(rU@cr zHPfmqc@k_x14?<9E6CpXl>?p_y}$=AY!)6TC-ZB0@5|K`q6-m-*S4r;DnjNj_l*$UN;+k(XRBe3T%4Ahv+DMIWYl$LR++xfc#7>aMPDeLurgiZgQtFSMp(@1kii@ zlueCPnwuDm&M4`#P$au$)RN!mYmJgCdk{4rG}4B>XBb3%;8lw)w>bk|7i8qV!2a1u zwngjE5NcTeUo6m#w})mfUxU(uM1>psAe`=1eG`RjYq5~W&dJ!$WMww6a9R8&_D#_5 zi#LVFuWr^>hv;N0B7|&Jg=8yzq2qpk?xmLo-ZX#6w52K%W1|{sqLHKBz>&tiux1qM zWZ`1vPy%78?sy6g1nAGb(2Vq@z7~+rNYph^h~?wNdO5vpHx1yzNW|;Fcn*z4`zEDM z{t_UM+6lb>FMR5Qy`E7{@OqV3)_Lc2urx#XDRO6>IKU`zPF|)u-Ne`6N}b&q@3w`s;0?@`3;M?C~D5m&C5? z`)}N0->$byf)9H`oZ?sDBV9uH;Lm_3rfT8tL#9P)a33lgE)2Y7*N!Xw9y%nfhy~wr zCd(%&^R(&hO8&gK{TmcTURMn_(0tgcc_&AXOnUpiEnf#6l9kisQj zonN|+)k?HweWJPcnBzS-bN*~b+N=@ieiH>LOV5IT2RW|k{SXMW?^kOFU4;7TxV*zp>$_u zv8fTp+4=j@!)4bf36+%Q%D15idu=zyT88?6)WadKGCMWAhus_&ju@LsyE zr+?0k?2B34Ke=O4b>5--=?#7UvQ4((6=EZqmLD zGIW#X^lvn9k*n2`$>IO|RI!bUmdvc9gX2q*rBpx;v4FonK@O}X_&>DkF~WO`D)Onh$S zyHZq+m0gMPTxojb+n%Qf^|0xT8F4+?&O>7FjfFr z9xl{clPIqiRbFwtb2|&Sz`m>S7S>SdI z7x*+{r-m~BqEJ-d|HZ!P(xoI;qr*c$GhUpml55;S;W;_z@2{P-ixPcb?4FCP>>pc$|beGCE>tOUU-o7EYA;1`lWd4oB zu`5Kf-1|@$Mp8Kpt8jKfqbT&!M*7VF)B|n#R{&(6VjKD3OR+Un=uc9hfF7`shdbXT z<*=9k#T%ic`ps^C$+0(Yd1ir9U(DfAF zoEO^m^!L5;?>8gv10Nc;{>pH7J?nW8(~*|!r(1TPKsWY)ad#_0&YF7YrdmS6xyfD^ z5^P;$+@n?i=h6V#BVCjtq}&VPpzfB#p6rrA58slrmY;S&g9MntIAC<6boo;92!OWX zivgZfNy9LB7<%NYZ;n(|_Q=JwNq_ENso$t%I}(TGcj?BT3Vi|~H~3gMezACd z4naC&BSJ;by3+RaFF!!aE49rrd*q6AlO|tSph$&+FGPe>z`!h8uMBR#+2VbUnCer# zGz3cl3`tFf1_?LOh;Fj(IM6{KtmN;c^v7iB3nBv*-@Jjo`NS29^ffywt{1HnZ6@o6 zXZ@OFBzxZTy2-#PhHs>2$KzyH$Yg7F-;H1I-(67Mk*e6k*o;q(ct3^HZ0?IWRhP8h z%N-RCC8Pd?6bI%#HybH75qtUK*UY{*K@D#6lqsN&lEbz3vUII1SDFucxTR!c7{BgX zBeS>YHgt^&1DGd{!;pDX&n8O+Qi`tEe(5k_98{Umt9?rP=I}uXK-g`8+vZS>2K8=z zzJP;@XDOi``-LqS43wdMwra<5 z%$}ih4{&90b$n?n@0&*pkH&>BUEPKY{z(s5)eXlQ(tS{7$AtY9Ml-`t4=DQK$-UKE z>c4!l^fcizbu)70vLAvRL8Omf;Lgz&b1aBL@l^;EIH5!9JfnqUhM1S;j5|~;MBlFx z@w&*VUz_v}GQBu5`{MTlh8ZcBg(S*)XLrAUE)w)CO}1S#z8TaJd>2o-@^G?2j_MS@ zpi*J{k%JupqUJi;HUWZSR~9Ip$%Au98r!H-Q}r7ndb5Au6;2-*gHWVnNx?sVuQ$wA z)|cBnqN17K4UD)rbyBkOb^D6Hg)n>$wh*ZKlo1%?Wd2a5=+AYrBJ5}p533@*N!Iji zqLpJOrm|CuWHd@V)gvYq^w8z;+Udbb8oT)H#bk)eD)?xfvubxDmun|LRuFR|zx<5TKRt?{1 zcjfNx`@0Y$rA1BoVp+|sZaXnyXvZp>%#3BEdk~&9+4VvaiDF|X{q=?ctMwsIQN0s` zJ3Sy)85Mq!`aP?kCbw!SD6k#i*W&C>$iKTY_OEdVfW+ZU)?JdPX7PlMAGD`|e^BbQJm- z*mdaE&d$Zm{4Qy|qA3rawr5CAQK;wE@wl_qlAwEN#{FGSx{inuW4*YwsW~>znWWQc ztYx78ytf`!RkEE9ja*2Q2y`ep6aY@>D_tD;f%+ADMxDAs{8mC4P_-MLRf#c-(TY`f z=K_yXMtkV)1XX^DWt*G%qQM?T&5qFL(|LgI-nx`Zj==bzftxe+to^5Liv7FTw+^{> zd+-jS3$SF%L&gZrRit&!x?N5QDpx22=roG4_!>oJf6_YBO6pi`%|l7oeJ2OLnL{uj zQFUk;5-8Jk4{rh*EO~5?028uotfX;6_XZSU8~sNheM;x$@O*lKa5wB2Lf^%^kr%sc zqm3FIKal9rPYm-=A93@zfW~vIywT4D#Atb>UdPz(t?Qa4lyOzGcTvx%olsJX*JBAxbf&a znIL9OD!b?lENx%t;SeD6)+V`&@)O{?#=%&#l>Z$lLSfev1HlzCarO1E_G@r}T_WZG zs5v>3`v2}E#2XeE@{~4?hch6E!`<0-JnuZ`t0-l?fDCM z!Nz^v*LfcA_aPSk>I(21?e66i(NDZ@TX(?^ze#-au)j_<)=OjC=5++{9Nx%8Ne{Cg zw8hmhnq{{R1m*_0!{(Wa^pjxD^3*W=hU*Oq<~7u!H(A z6?`yZ-g1{43%sawy!g8KbI)sPFl}wl+YGL{;I5O$S%H{^DSFk~JpB@)Y?G)BzL{td zd@%o|?vlluCJ3fiAgPJLyXw(QKgOoB07$aqi>4vz1vUlM7s?X$N^?$Zx=g(-M^JXi zSR`7IHI(q{4wrlUFsh~k8cUdq`k=y0>U9V=qNh^He+wsKfw!#Dd-Wh6>XkG#$=8H& z+=Ywojg|Z6FyMDv^Rc#gKCx5SYG?&G^j9|+z}FJbGr$FGOlmnlb|-$qFf-r3Kb zmtnR4EpGOG9Uq-1H zI=+|$8WWXg<|6f?HF=Y2YI~ zG$g+N4kaX&(JDYm&WGc2v@3+4Rt$Yk(s%E(f6?Mxx{uoA|Excy96O9lO<;p>izMgb ze7CJy`|_OGY^>m&ep%weHzS7126O>Gvf=jT?9H$ww@e4Xa})`O95=Ded<4~BER|N4 z=jIvIW<6~Gb?b(4t2?{(!t?}uFQ`%aOV^pCiG25}2AXlflLc%D@N$jA5juL#%~P-< zYdu@g;WLA;>y7vMJ(f$(W_Il>ATjK`8$vfBylE?_@d6FkT`c}o=E3uws)Dx96YGaO zO#9Zf2MU%6nT~&GH-BWkDwWW5P5xnl8+#yFkc4J_xUksY2GfzS%0IZ`bx9`StH zR4Q7fthySms@9dTuDQ`M+;~x_utAd~e6`1Fw)S@$I0i$mnl{<(Yv&7|E1Dg#Fjrxo zAq3sF6+8Q3DJ4dFi~7hAPG>_=f`o%1x*?{!AL+MUk%c~7=Ip<=aTm|v&OXHsgYt1? z+P)GTK*&7>Kay=!`=WSrxB;Zt_mXSx^iSgyyGWP8wL$VyfW6NZO!pD7`OC~D#Dm=KC zBA-~F5mfr!LjC#@0J`>@#D*-Z03luPKyN|hNDA+_WOH5F_m#*Q42bP79X(RQXda!+ ziC(=v^sv~mgZpXTWD*__XZm!e0ktCfPE{Rc6Wy~CXhX*0x%BF zqNUo?&)zithSzkzU6~eUiOUxr#=6Y&rc|W{5=0bUkUFks`)eQTodjOyQ07!&W=Y!Y z7@DMwFzRD^p;K9GTrrqfjGxL(dE4Y^eP+kzEFl_&QXWrNym%pBIixN1Z+VR zg3^?yS)|H8^0Y*9eMbx=93y~bYNS{?lIenmfk>hY--T`a?Ymib^6PE6Okjhbvk*T~g zoR~k{c^^!bpZ!xPp1Tm_mgWDo=c#uUYP9;63A znx&}-s)2PtNQ02Xs(gdJbn2;t{mVH-4S)njAun=qSLm%`uL(W6V#ri7_g=mt-Z65H zt@9beo~W~07HO*y4P{>ac`O=gyKgY%j!JC#hlMY$c;=nyyb#91J@^{Zk6WCPSNWGX zNdvE__}@EWGH|cdiN3l3oOh=&1q-a+JDG!77Vnal!sdyl85?dQ#id0Z(K)T@2d(ng zd3*3Il&4Dw156mlgj&S-m%UG;Wo^3dYuh%~8)pw-WN4q!QpQ8I2LQQEv|Sq@w=I*@ zvm|yHsPrTY?(^yB7WMVnS#HAPr>zINSU(C-1R$40kpl%l{FXc=+%|>Oh?M@dE!)E& z$Q}W(e?Q~Dm1LTQjn1Vh2|f-=S;{g_w+;XZHM?}#ESz{#V9L0~^S2SbGg1gUKYM4t z--SZ^h$&aPz26LejOY~{kCcNH{+^>MFIo+_Q{pdkj&s~@*_~*R6-(|=Lod&pT)Wh8 z3p{eyOJte`HheVqqN%xg+=7k07u98rbKPi`k-(F`Y~mGI9UaQEb743}K=d`JTPLhP z?B$|g|6}gct#Hj|dXKLV1|a*Xul>i*S6rKP)S3mUgkLJ$vjnCcfpeV;SM=XAFp=|Q z^+K#iCr-jZFm2L+?Z@Lmzm#7eU)gvz0)(WTK{*5#OsR5ly@NCn$MX4EIJq%4R?+Vr zy=$YR?s0@Xi07+~ybWTKrbJucpE%(DYV;?~n~QFNoK&GH$%Pc5SUaph=yBV5Q=v#l zXpMV~1RI>5XK|&{E!M?)ycueWA-Q7uT1$|--hrmd{$nLni{SxFmHv~6koKYkxg2}` z1;U6D4P#@*(pq?YM4Ml*HchF;lus0n!Y&?Vh)uaCUsDK8v1KU}KB0AkpzPt`;~}*kjP{VFr}LFeD_IPL~CbWsz3qR z2SH4S6T5cX^r!F-cHJzL5{Jl&Vuz3JHb2F%Lxc_PXfH>ZBBOuYZq9_&-^qn-Zu#Cx z`|~dmHK_uYq=y5IdH!qhOuKK$6Nj_KRR%TUcQNT10l?}*=|G6$9C6u4Ao&mM25T7E zkLYPEW74@FX{awAXJrbw^?i%n!gI>h-lYb<`D56OqFvv<$lJ7j0Lw#uj-g7tMTs{= zJj`O5hswm`J{gth^Wptm=`>fEJ}=0-!chk^$UfZbEkdvbezV@PZZ{j1E$uviFHAtD z3|-N?G^PZ}uImyQSi13ZcQ_5tH-*eOrW#RcfjH&;+lGyiQhnWT`G40ZMHrp65!!D2 z$&rKqW_0Oyo-z!Fh@%yZAK0B8pUiiRRbx+jQd}zyHIf}${o8)$8&w(Ha)1gf<-w)z zw~pfh5D5r?>ml1;Apc@b51$-cq**3A2d7L;m>sS3LHj)5{VV?JH-VarwBH`-J}}q= z-_)4jaA2Frk&`|P>Wa5`f!`c$M(6T8Y?D=KDm411IO=cA^m4~nt#j+*Pasm%31+8k z9p?yG4kVi5v2o2`^zIrtt?<;!uqXpxh$_v>P>|T5y1ucrA}uV#;P_B@B*l|+n=k8W0c}qRHf@b75I3P?QC++h8g?)i;VnMr#I?+)Mm znVBgKaz0NkrJaeVi(-l)%=)BMw<_rUB9%OYsb{|nM3wq1_T_g!8_LVCj!m0nP#}=6uBL@&iCj)!X zz-LpKh{3r2vnbx4v)1}pbr(skQ-;KpTDC+^_M6tsEYPDAI(U3hbT=39rB{883e7s= z(ZcMIloj3MBql=dp5UyKM`_}mnrd||g)p8SoMi&*N|rLzE;4{_e!Lff9+b5x$exw^ z-lbaeU!z4ZJ+6F~XjSWf_IJC#X_J#FwClMjQMP2_+UBs)EfQe2)6_eeL8+KCtiQo& zUT-|V)b_#AfIGxbvmB)?*6ugvOcmAAikP95`F#`gdqp8#ExM#Tat?UgxI7l1-jIMl zxqI3YA*i_6656{%JLA{#I&;-5`l1qL(=&+DgcJX2GpK1+FO%Ytu4FY7T<9E#s9Y=- zI#cnAevO>J%8MXBi8vZ>w3lKfXTk=dF_FBRI(fr^t0Rg{Eb_&++pvd0P813@6f3ia z`e`Ed)}8UoPLF>EccCi}%B1sovV zpjnK)$pv#jO+(SbGbWBW3+($9(J?t>QS;`@)8gWsgBOYJX3J8OD;=^M{@%kF2MOie zQm(SnD=S|-n~IN+5+eWUl3GGECfk?~V|HP${ydv4l#|T_NRT&g z?9f4^$88jhCDPv=0rYGy$;2_gp+UuxVo%m;!k2nZTDQyww{zD!v9d|41P47;a~zLR z9eEn2{@R9xD5H9v68HBS)u-osv}jOptWQgBl4PNkU*SxCmLZoq&K&3~st$OIUz42b zW%X-PSJ`{Ehn7&DKrPj#M&EBg6VJzNs+c#8#6;oSD?jgQWf}g1Q#NGk>u3%2gi*$- z8$odlK%?_?g1YdFu!9v)(ztumYLDt%+0z)FC&QYf>g=Xzek0eou>wyhPvy7(wCc@g zEC|d_6oPt{^x^bS@Jf@86-`o@1t!hXt$5H9mAM7Ppmv%WXpjb+G9ineubn_F5)x(L zw>(Ct|Ckyb!?OQ&fS%kw6p;>lAEhHqKN_Kd&b)wg=fgvIh5=`lftb&_o*pUapLx&J zzf={RHO<1)Ti~U7BP+e2BP*q6u>Sq6IK>v5?{2N>8J9&bbg<95d|;**Pg!Q(P7;kk zc#8In3JHKgmsW-Nl#K!DLd&ps3Y86^UD694k+)8K&chjlXCrP)q$vHwP~bHg*Kmm3;)0FarBn01OuvFa zy}(w$>BvGJ7RQ$-$;r=s*I1(DL#=%aWJ8bh`3F)XX!|Xw+i8}(r{PC`+r+5Uzj*|x zYmDz3F;r{F9t}vDf>%eR6!WkMF&YH2aeORvu?zvz3kK?xakb4%$zr@ApJsv;?}qfC za;U$2BKJ9(u;W7IOif&?dg(xCvkN_MTQ!v5PEEEhpk}@Qo2{4q z|JnKqWA^;!rd-v3oP-zT-}Mj6BmEw01$LkwrEAwKM_-oD;@sVO$ln$b$H`1#K+SzXT=U*B2{vWh<^uIm^dp?hursRGuW~-|f zN0fE&RsXF(j7He+mhcn*ee|q%j3jloa%av~o-8<72jMop>l{(-IxB;~%NmgeLvjh9 z)8>(;6mg@mE)T()DEo1di`U;$!E!{K;lKLTKM-R<+GYCc?CcCig)HQH`d_iZrTl&* ztHi7Xk)lDCHTI+3IwYqZE!igNe(?}wAA;CfBQ}|xyWXFJ>r1Vj%7TCaX=0H4V}(GP zS5zcoZ@K)Hadw>a1kU4`yt2cO^S(>0`tOb4_6ajCd*@FG51vHvo$3~%W#U4OC5p@O z;aIqa_m5|sC}X{tAsMn|23?E$#aF8?{Jb@H%i8gHz z!_yxP)IO_80@O6tN5bNKwcQvg%Wam?$&cgUz$RlM8h(P}9BxaO1bJpgny~trFkli$ zg2wW@1ik9G9hR3xJV3X>8^9C(FgM(~Cn6XC)zG}|55;AI2lz)*Z?ne=Pgh| zGltF&9oiZbB>BsO7Kc$G9U9`OAyyn)ME;1>5|m?BJHw6z^I<40qwV#?NF>~@Q8_5Y z(Ax9gn|wQb9bn{Qd^;!0{P1JeZ~n*#QSaZ*CZdfy*L}_-GIO~W{@V;9a`TttTZweG z_ETzNna;ejQ{%Gg#33V@Vy$c&-%JDAwCh>0U2%6h0v}U6A+BgH8Y(oPQv57bPR4@; zPA2{Kg-ICC^YP5X6IAzN{uT3h5GX?She(p1ZD?hVJEraB5zX=ELzK%SQD`x;tMD3l zi<_iDBublsi@X}o@B?c7BSp4I@<8#hG*y{N_m2|m$>%T3`5`FH_B7^e;)+co0sWqk zke>U!IsfBw;xhcCqJS4h_DbSBhJi+nz`>AX##mbl*JI56?XfjEus(ogNn8zENSAR;N=Btk53`z!v&EKk>YzqDBcF=iG_i7_{J@-)D;_+6g8#2zx!|6T3 z9AW3%Jwjyt3CJ}rvWd>I18^7&ZOE40o$|b}Wc!09f&TStqS{B>j?Cw`+Oe{?QC!0O z-ir+m`W+Pvm}Q38IMX9CUpjJWYw;+pDd;DU92BE-)cEUwBBi%A^p@4bl?{tPs|+HKU+CU zu1Ggf04imqa)657J_RbzVE!hH%@qO=2H*$m9p-`Wqio{-{nzADSeG0)|P%pCrawng5|UjWG;YH?wM->W0ulf|Hm?0Xlyn4?Z@NqS!_F?I6cg2arfXSN;;bZ& z1yOn}LE!n55>!e&lYBg4e-+nIP{xOL!V6h#w|28|h0JFM+cdRnDd-|ul|>-GE~C=4 z^=|1wl!FpN7h@QnFT=yljOUEHZvH@l@*mm@aBOjr6m+7pr$S(J0Z0#Hh`g6}PsrzK zbTIP-7(>(b_0LeUqxO9nJBqJ;4YaBbsKW?IvI3?UQ!ph_yiEVn z|M;jEEfMn@!q;E^Fcr!eRxHHbOMcfUO#OLM$A7El=XyRMjZuSE1}JMu#wE$K^NF6~ zje&(3Rw@QPb;j38mNzbKXBm7;^t3y#0|zyEsRK{SJKE7NyLdD#))b-jFlm9YVtg&y5v;gDc z%^!0kJTR?G;fSN1DfIaaY5%DZ4x&lFMpxKaWG}2zH`ceSpJE?Sh(C

y_D3+9TSg}#JXgSl8phtK6RlZ%NrT-Mw%*&~vl1)`!Jxebu z-THI0r4gd59A_z{-n+}+{?>UGtj$EIgQ>u`$e^@4G)r23lml$>9$^=GG@nF(Z&Wuu zXjjeYf*&b6)zHqM(sBcC?Yy?MV3yRO`Oe7GV{s!9k9}h}aDYM$=EiWFCy1bKk)lTNpr=1neT#6;Omx)}jcD#n_!DxczPrSp{(&#xG!FxV_}|d~C?U z&XUPElBV`j??}nSQbVPmr*4xnII%$fEBO3my<|@nUJ(ZapIN+9OXR=jj@%v(!nmwq znWP!|Aj+i{=l7&umL-z1s`mqN79{&q!BpXYFu+|hhN4>b+1<<1W?D3>(_Ut;rxng5 zggHr{zVC5v1X{FPrDv+i|Lk$!GwmZm^FWmUr&u=Tx$Uxck)=b(>EJl}PulZ9joivm z+X5PW)jLq#Q(^)?XXLx(N=o-PBeog>@lK-d=A-sSt4rOnQ?h-cGJ7l$bAvNn!`i3> zq?HD){Fb2@s@-!~Z$2^6)j*!0VoA+Fx&-I?v*xz-(cq!fidUqsGL(@d!`$>a{^jR%$^7`7~A^06M|bO{Y=>&n?2JPBbPrf zI6or$OV-%4<*C2uM|t#5%%keUDfi>B)9z9ApWru#V{p=hPm0#hRXRUqoV`qb*T9`@ zdQ}tR-(;h~2FwHZXxw1`sPNmW&c*w(!BT+RHin|rInhM?y_}L8l5({@(oGwrF+mHw zaj?n&;h8mj`EMZZ!;I;5HAC$%E-x^X{W0Gp9bwWY88&;fBo1mqtZC8AfKQI{j=2YN zLja)olle=j@3=m^e+KAgT$7xWq9#)m@chc>)Bp*2 zEsLaRkFGTvA)hV0G!-Z)cZ;!H(ufEk!^gos$_py2TcmNx;rBKH6HB>ZOR19d%{#+P|j*O?|ih zCb$04s$lBbB>`;6;&Ak!u#R*bVR|w=e>5W&aN{Ix$L&nf-8$|6`|mP|m9L1j2%lc| zGmJ|HIQUuS1M#pxwp%)2(fpdvzUzVjJHhwU-d~TUBjxK(Z>Kpxs9_i(!`hE9Rs`e(r9GX! zFz1ej{hQjUR?d&q))IA!eyaUVX1_9B`}B8DQ7-AX2CLUK!*Q7ksbniw_@8rJf?o@l zbnD_{u%|4(emJKgezPw}BZl3QF@HyS%DienEKSgKn#Yu_C#@NvgE{a|QSai*am%2S zK3g038)?L$CtAfPEOcIpW*o;tR+PHlc~<@_Nc71W)@U>(Ec#$uIV<1*XGOh`U#2 zlNd!v&4g@{MZsKQ8Hl|rh}{z!v57)Jy<&J5M)=E#-?Fs1(W zyH_tQ+YAez|Ap93F_yfa!aJ`Z5@Jpzpm)rI;^r@(KDBAqOBtv=!k0KQ7=C3zsN#Bq ztZ*U<0}AsSKD<0^;Oz^(vX8zS38$!~Lylr<{RJUX1fq-5lq_juLVstWm5j%Tp&EoL zNSIZ`(G`P2aB$d%9iCH2Q`UA_^?fxPvaN=Nsr~!jRU>H3Dpb&FA@uD^{ng9#<5EV_ z#*#4Ri^CIc?}FF6KQ9+DzJ*p!d8x5}rM8j^^%^-IoTP?gr4mRFuHN&FH9!(l7$jbP zcqDqeH57MO(^WAsEQ4M(9g5T`Ex#yhBiSixt@69vJFZ?2Yo+o|g7Ly~PA_p7;mb~^ z(vIeZnZjbbef)u_%87U_ZA^#{W33X1a%GmdTgxYyq0kp87`0}^h!<%c+o(9MSpn=A zwG-xVfJ^5c&)mnTe}nL8!?dvxTyz%juc<(p;uK`NxDQYM`qtiA-qyMTeM4&>d^+S&J%c9qc)i-11ml2IRwvRST2JM8Wl&>3X@6l$Xo?opCNn3o(&R0OW&g_CnOBd74BILdE!n!Yz(CS0VfwEe7L>A7HiuZbs}ZC7 zP~KMOLACiA;XP6oB8lBTZQ0#(tp`s)8bAppIjwwj>Q?!O9j9$i#1e+X5Xp$7I9L@7 zxD9Avo zrOs-i{PFsZx(ZxBuz$rR@a}6J-=<3E1K5@pzmOJ$9WpJOT&aa&z74@{P7bdA0L_4H6ef#vk^mZElT2rJo&Q?aEE=L@x! z2Wzdm3;s8m%l1BPPHQors#C3b!0UDZeVjl;z-6%&lyT z<>+On&Vzu7d6nFm^4|F^9BYFQRo;+g+nbp>9-H7Fn!*Hpk}w=9TvM`tS@qJbb;n)~ z5G^mQWd?cKV1LpG^0HzbQD<_SfQ+d#&VX{QF>HLdq8AtV?Gp^+a~*+Yh@{WJ*X73I z{Pk3mr=|aKmiJS)CY|l+6n8$M6!+$f(l_y87T@VIxhE9BL||oIzN|AODxT_%(v~lj zs!nvWB}L|rl6_jfx@fL0d0BT&!=<+?Wh4329`-@`N|5gJV#x20+>SN*&u$XkW(>%; zoAJGE6{24gofV;O9OlsCkOD|E` zR-*EUMVufoWtwCFZ;k-E3i>P0u&gfT0_(&r)=!>^k1yK@s60HfOr8}p;yR3~Lw_9#Hg_5=;z?B-~5JM!G0;2c&*WVp$w zDWQ@xI}3bjpl8Xyb;hHg&jLd7VJd%i<-Z-!2S5@uBV+PZpina4cN5cp=ssX>QPshk{n;f{YF@cLzNmq26JntDC8;5~Fsg^1;P-Kl?YY0F$? zBTw*%4u$W1d1%eBgz`q%W?5;Bd>m5G=Yo@|f*U1|T*bG|Fyux0->rs67HOeKIn64Sb5dM3i$S#?vb+y_j|dHGED(s2wF?h4L`ulAR-P;p(L+bXM&j+Nn4S5#Rmzb(T29{NEe@!f~b~7o@EpYLodXdW}F(C%1 z_|?#x?J7nkUhi$0)y^cBqFU;oi}h|p5makSMos&9 zW-oP@Igq4V5?B!hzAwcW3uTD6Bn`O$u(p9vn z%A9QdJf*J0b}vdK*aRzSI}i6V(Sfqa@XLGdosX5Pub@@xdX@u5rXmplN_H($dGQ9% z`vkf#e5YoH3@=Y9v{^KxO`3nnAk2b5(JHFR>a22}VjZZkUwvEsi9K+waGA$S4PYdJ zCYjsz1Ht>}Q4WkfX|(()ejKNzKR7(p$A@w#+JiFOt|!Fd>+!4t-JSp%O|Qau_Sy(S zx-u0+Mt~%D=+$dGp!oB+FQn^A@HtE@2Ss>O*i&*p{MF-WI&mm9R@F<&LA5IFo0tDN zkW29Y#5{9FS9#;|;+AmX(0Kojw0;=%4*k{c(_Q92R24^_#Y%@ycExZuKEAq-Kmo0) z{7CATFV_&%R$$Lp0vZx_Kx=pNVkQ1 z4u9D;X>Ev?@jY6|b!Coz9AA3irv7<$lZdII0vCo}Kr)7?^6x&E0 zb*(UOj*Mz0{nll1k0C4t)*7faK^1j=4hwDG^j3pzD5kM%oS`2FOPs4Ebo-Umi6*A` zoonZB28*(l`Wm5sKbxi8^V+cGg~ln7S%DU&pyBZs>ZIN0yzIoYBaNf1(mubIvHSO%NBlHaFwI6w2J?G}!-oPcno%L5>`ml0YSRmojfJAH@8!1R|<>xRd+3sGT#@?h7Jv@QX?!avq!|PCeAD zE(FibB#tgs8Hrgy-u9^H;@&LIJYw5Iw<8iOpB7MtG5+5B1+E2Ke(tOdSy5HnNF;Rh z>d5jFoY~4+q=4GIss^(*LQVTe7cRPb8@?&!I)LY#utC|CH=b?Vk4BqDGzaY@wg(Nta_sZ3tbgIPKlPl_%B0{|Hmv)O|k-Yac@+m7zOpay^zpAw8yQV{W0Ey z@A@&GrT&eZ^7`Eun9WALAyUH;z_s6N%bA^-6uE0E%vK`ZVf6~A*DwNFXo!o{qF~uW zZpXhDoq6m9~G(31BXi$nK zLhjz~o3h#j`E{XI9qys2OW8{o@a9 zFCmd({%YF~mC`8~U>6r!AxAmsP@W2Z0i6|7`QWq@_Ft$8#Wcz0(PlgiN<&E9&D96F~A8NB$RH{-FAV0}k73@Ap63oYKi z5J@YlMtn5L1;wQwG&Xu~>;sI{8!)DfMdqNhf*7iK!db z)o!_*g!7rQG2#IB7Egk1%O9&b#rtH#FSJIGMtRw~IN9nG&=X**00b4+yh1;mV7UCy zJtd2lBUxZ$zpbt&?_F-alj5)H_eq$`UZMNREi}Mm9VF&(b+#x&Z*i_Cc@&q&fupts zQ{uk%yNoVbz{a0)cLue6<`T}W{rLFTn`?xv1t5zO$O6(Tzn7fE;lhREE6m4)K8~kd ztp^t+fOY}FExzGPGT)mGA%TU_*JEl{bC@g0>qd_@0 z58{AX+sR;ai#&Uw@<7rDql8!O=ALTYMNoKU5;Qi8FlbJ1@*1fZ7j0u>{T$TFrmdZl zqvjsXcRV&J?ZOyI5jvMg(tUmXbS3Oc;tV5JtZb=gRbTN@=Wp7aaT19d}eBnP*=y(jHS zsVPbM%Xpfe3rc%NmiRR65;|oHHCp}ST9Q4GFzYYqKlJrDoB}pyJ43Z)vN-|t{h5{q z_4j$eNo)G110(vH)N$N9&YMk&$m3ceI-LnJ?A=D-^O|!k`bUzOLk*m>;6}ARR@i$l zL+h(P85Ip~%46h!$Y)}3R`6*$6DXoA+WAH9M5gqnjU9Ie(YJl*=wTT^j}E-oeUtJ| zE<0;EM@sk-uH^AEh**%~X-EwyXB~|e4lt;Z1fo{eAG$C8zN6u~^_3g|4jE?KqdQ1) z7aT=&H|-xG-R1%1XSKV*oL(K3$pU|KJ!aE@KN%udz9;dFD|Ti7%`K5pU~mjz2D`YP zQ5(gFR+jYH#*1CapcaXRwp#=z0bOwte4kk03(<{`t%*bjXHA?TpR%KwHzk+623NnE zl}X0#ktid!gfe|Bjmn(B0t~(2AL1y+7M(Z0Fe?=oHd+_d)77f8M#DV&LCBt_nj`(f zfoGSf(&Hk8IRouyL^NZ&nSvZj7-L<+w(IAtj|Yg$o3Y=knSR|ykaJ*m_WT{&I5|;n ze>#P;_W_MQ@7Gpb=tiF1m5F$PWf!zSgiwd}N4!eJF8Wcgq(V+o18}?H z>0U~%x=QLphiG=x2nI~k-W9TYGOXUb#;Gpmep-6PMFY=xUd9(Lz?@W!q$mUf(%0L7 z9?0dimYb@H2JbsV2vA~~h|H?9i9gsTA%zp~*>CKBzSu9(r;C@!8!*PMoT=;e67eTX zCKw7vFdxhic|$R@aYu&}PPdf1Zuso6@hnClo4%mOY`^X3w=Yo}{RdI_Y8|37E8<`J z8)%hgIdA5uE$iAroQc(`URG1!4Ho6ku>!t2(MHHlmf7=33RNeV&?ho(r_F34S?xwI z-Z;0ubcl&|%e1AFnz@d)>e!P#CVQQCd82u$=;AA*PpSO3c zg2=YiYif|^2%&~v2GBi36_06RKnR;D;C(UWs0!q6Z}E=yxnS8F!upHMz8D3@&H=Zo zr3QMF-CNuZCec5C7c+iK&#uuol$^jg(aH+MJ!$_CHc4dqEhjDkR%SOIT0w^6Bv8i{E`Tl3ZMgJ|@#(>!nue>$J^+uhk_W$XB` za8AX3bj65Ik!(d0p|lezgt7unj4rT9-ey30WsqP(a(1A1Yzfm_VxXo6TabUl3kllT z{eo=kxDni>MM(D|3*Mw{`hhb6yLF2$0g@+zOT;2iRkZC+!QB~Py^k%+kcEe&xb0oL zel7RQf>fO}8C`G0OTsPmCvNpQjfFhIPN}Wq;!1%-;7?Nrtx`3K;7Ohv@6^(wh7opI zC+hMI(AC2&XG+B`JI21LA7g{!1%hgA{)#e^f!U$b$(CmoCLE$JkDB@w4$qLA^J3ul zhnpkM8Yp~HZGB&RK>I$ikF-_4n&q09xNm({GI-$f-z5y27wTwX;}1XNL?OoshdRH= zUZVyBnvDlf;A8LjT#Z1VM4vKuZR>hv--T}7s@>FFyHU;`rz_z#*_HgdGDcj)6)lmx z{lL%WcinmUWCB_#l9 z9T5osDY&b8o4QEU?nB2~k~Pux!KSwp3EYvYF>U|!N?yx_9AlDZ3=Dv@3I1C$a_o9& zw|@^c0^o#Pu89fx@UEQZk#H~0oeugK<6>t1z2s}{bg}^I4b3#+y0^fJ66)r_oc(+N zofX!XhILT+^uiOiR!C7WZ+uhe4lPox?{Jwe3v63Dz93aM?T_}u(3hdXFbu7ND}yqu zqv4W}N3zR<6_~!LLn=HzzkhHe!`%;1($geY@p$F-Ht>18u|$9GeDO88qE5T4z9^DH zet2GDJ4tI6jYX~&)!*A~v9#(x_yuFBCGHNsOFqr=VtI4Czi%2^6)z}%+dDr*14k(s z^tOu#V+-!N1?6QjkbgG(?RgV-LlNvKu}iOQ~_JAg~RT7U10ir z654pLOjbjk_1~}9_0`Si|lY~evzWkOgAQ?xATT8RK0 zfnVkahw%`Y-STGIc$FENjq=wVza5`j`#OXm;M{lt|0Fwi&~IO=(5OpV;g`3ntTFu; z!T%e-;A0l|njP;N`G?mu0@*^L_kz|W5fZXon0j^Wp=Xv)te?N&hvo6ef6rNbIlm>V z!2J1eZS+SqJ#NAp=Rsa6lfAiGYpUd;9}uTJdA$#0)A;gAWq}&>tad#4&~0!h?_Z zjLZ_%^L`<4mgjgcf#9vgl}sguk4{>gHTimPm*BHd4c=9h%k){Y$mAG|2VNN>_M59b zMuK0z*r`-gd0>3V0^OZACT2!44o&$v<$#9GK#Ul>?xCjX9Wk!@5Brs%LnZ)F*L85+ zYA@D|1z|QHSPZLsZ%sR(EC zGL7nm`R;_~g{38Z1$4@6F!J2oOmnZ}o$w2M>gPeNkP0MaUw8>th4YV7<_fY&f*;N& zThM(@&1PR{usGw8tjoTn3}``O8&Rchj5s={Z)mvnOm>LDq(heO;EXk`-JOz)2A^cW)61NyA*az@Ir zO$4nNj;>BE4epD;ZfJU zy-fk6R0J3kzit>m_|pGMQtZ@jN_r^2fjEDY=)wrom|ga^gG;=7v7R_moCrG_Moapy zDUcTzS*_b0-7k~b)+Yb#M-GNgZ;P%7A-3a}d`a^C6@YEWe7Mm+TG}B(daz3@8@$OF z(MTm+@i6qmVxo@ndnnbj^6!ZR=#V*4xW_@E_Ah)iYq^fRjvj5)lju0Ka#@i8w+yt+ zWm5k7dQ1cztZr*wO#hF6Tb}@zr*Ypape%026w2L4%9nr26HVT7|u0o)vQ#Go(W5>MMYw(#zCyl8a^%CNf=fAsmpmc z1*r1)Pg9mP&wsY2ceR?t$_WS~tk8G7=@V5KpYYXs)vXrFYtorDE5XQO)0Cyq>NJyn zPOa>oR}S!L<31<+p;$&So~Gx!v2K!Z^j7=45fz-#?x0G~xfgTQrjkIfK-+KAv>35Q zSIQco$k&Q4$lz^85zdK90K>Unm}GHZU?r?FT+C|Bng^r|Pb6^l@}Hme6fP4y?X4}= z9NEHXust0@6isM~Ahzqqy6C_{#Al-ixb_7h$IV*&WC)(y7QXa&9wc>O^hg*_dv8a1 zn6wBrxK+UG*NUZ*&?MMQe)Njg=i^W1gX+#xChb}nxI@hx@K@&Np2Tbu{Vu(NnE}Ta60+*-ww>j5q_EFvzD!5Y?%y8^;^MIYRHVB^8r>^EA zU~ojBSH)I~^SenNe@M4=s0cQObSM5-lF!C=L`8@=rNgOl%!^-@sE*O4agl$S{${Cv z{i#@5=cS*}>1OCqg*05h!Z=9eDGCh;%eD{NrzC{3Ux!sb`=iVZo~Y!wH-bwoe!vQ? zlqA1+#$w?>!`qx8T+5&;jt#l62PvzF{e_PQe*br(kLt}h()faU-{V8QM7pBbHnN>H zh|~LJ`REP9KYaHhweWI&sZ3oQcC_X|w&m$RR}8f$B$7tD^ti){obJ3jbDwt*HfL`` zt4pmF>O*BuB-dBVf1*XlX%lRD!3KR4FBzXhq1hzQH~6{HTe~B@kg2U z6K2H5xV2TQZJzX(N?wZ|l9dqlKh9g8FOHHlf2|89v}F>(2if6+TGyP;$5{y~0aILINWBr>7mu3q zbk5v0_2CbeF5@X@_zp;l0w4Ja>s~#l`WQnL!lfFqFBfl zLVjcwWhcf`c;Dd?ul(fae|i9cUIj`E{}+9?a|*UU^kS$x!>~ZQ)q%=k?+D~z zMEfL>thJc-XLO34J|6PC6}P7PZO0z3KWl%Q`Xo|DNX&0?`2OGT$UFfzs)<3I{WjMn zDI(M`f5|js_ZndT*=&;Nsn_c_)9WLq&{?mQ;7JK3pct*_)Hr?pn4N_j!ocgDZC<11 z_y^-vC}z}+SrbeT1Qm~=qm?y+@hqFKezSG}iJ^GfTciGE)Uz-}XH)9R&q_nni1^01 zM#oDSir4TG)w+MnGWU|^Kesp&+>upiTM_j=dy7odZhSfXA`gb6ASrkxr6?&o#HiEh z8bfq}NqHf?o4x>-PJ|LLEEci=^#ZZ0FE(jPKXuCJCeZ8j6F(%-Ezh%F88nY3 zl=&Kx-SpX3I_qFU1|N`)S&QNl?-q%`kw;8Z>S^BAeWEu%0t>rcn^kCN27Y!jU&M** znzN@2uk1uaP6X|x4MiCmn8;S~fh9GzGe&2}gE`|pU9cL6Ja#_%0Uzu*y<`5?^^<*yD{&}#{(&D-iqu+ZW?XLn2o^da0h@Q&b@`SyR!sT+u|`0Nk>Bt zi6_%flVq)lO2%$z6hE7eKRb253etuv^T^YC9bYq^9?N6nOBl{QHv#f&s=Ft0FagB> zJO(joOp^R2m%m<=J&yXqU9sSK0lJj2?2Fc)OxhsKK~XVWW4f5l$v$xEq%aNuw7=Qv zJ>Ya1&yf8X&tjMeE{Wp)eXnFhzBHJOH%}3L(jFzkI=PW(ybR&Glvt*HkdmOD|8-xo zcli)Kan=yb0Ye$!{;#RC3Tq>3*lj}4;O<)7-MthqP0^wa6qn*wEV#QAcXuyPpg6^) zxKoO|OQD?b{r`8)$z5(TPxj30+0X3vU28WpYovAK(NEbE5wjTi9ej`FcDJEh^N$Mh z8-VI|G34rC%_v`^@=~4^I=rfI1j?SBY}0v&9z|01G?uLCW@xfEc^lI}pDH>Z6czxS zRncZR%0w(ZV*Oc+P#g3mfP!r^miu%3F?4INSwML%%o+0 z7RYQ)Wx*__f-gd6$S9p7ew)VnE9bF!7YBt!fdpwYp_sFwB89T`n1$T*nF-wV!Ucp` zugx9J1}nZwSM{b5JJV3QUtH=(b4|Iyj@~8d zWeoLP&;FF;ILpU2sN&5CtQ@kjnElBw`#a+}-(|{*I4A;V@wafQMJLwOU#B10yBxLo z=&SeVq(6g`L8)bcImhr42_D*Bs63y#^f0Wf!8wb;E9?T*f;shK`J*w4u&HC5f9nlt zIiGOvgz4qIX@u8VAJ*Eucn)@P`nBDA?zpskuJz)hRb@uau|$X{Kp&k>FCGVEG0x4z zlK8$`3EVqfabXsZsL=`9;Xlw(JlW@X{G*1qXm^eRVv)pW+TPHp)6yuz zj_5S+dW(m}+jC|Ak(8BIisJYkwW`iC-j}lBZ$`U;DMo_vvJx+c{5hkD#s-9W0BK z!XR@1d>8ed!mMEeHim=bzd8ErjYhGV>v^L;f#r^`^@V3j+O`J{WjlO{qeOEti+>W8 zzfk9>Fl*~~NjG-rk1>S;A|?SW3+zX6z)?Z+e%}G5PYnUVJH>6Dg^Azb}xo3 zrmc6J2>PN+WJJV01Fl;CExxPRUjC6Y%lQU{jg`lX2^ z0$1(kN8v#eZd}cz#2RXA?nh%k-%Ht#*H0OrW@1m(h@`JC6&hxm3EkUrSw8|w^FQO} zM$iSx==gT1VPC9Ft{3&024R-B5!|F<+{o>MztRgap^b#5#9fE+@yZ${V!b075(XP_ zu?a7XB4`#Hjw)xt0C!!w`T9j`3uWI<9O3S$aq4jh)6IGbRpuHeKr@3LNJUjCZN3JTk+jyhhkcin_F&^zg=cbhD7k|qY zD>eCT!?*sP@PO)~g>buk2OpYhxZwN=$eQdk{zIq|fyfZ)BsDJ$eaCQO8VpHpntP8i zC$H(r?{Nhv^d)4>@QyJF>8y)%#G?y8GlUPZR2%{))stXo26QPiZ_sV@yXI!vMllBZ z*9m}dd370VRj*|GxJhA@$R+xv!aa_eFb@C;JB}bU5NW7Ox2`TP9e0&Sm=Is^6OK^G zc!2;SfeB5kcR`I~J zPJsx6>vXoh;BmNEzMd0PrJD*Q9fDVTC_&_iLXNg!izQpj-=p5zoNB#4lOIq7KeiP@ z<~xeiVybjt>98GQP4JYat35GOnjbA0({fh?Br^#MD0jIAXoFnZPShE<9QBelCwMkf zii~C0=zLc~KKA=9|Kg66ZW!?pU83%GEj8C->0t=$vhuLtvjVRDCH3xU(DL)(3l$Yc zMI;78>_y&?PWst*E`ZSO5Q3>GH%S66{Q&K!5_IUU1sE-~vs1`g2T786lOT5?V-9@r zTG_{xMZ_Qi^cd|~iM+p76_;5S1yaS33Wvfr5txV)9e0LE9`2Y)cW@b9ppk0#QQ}fN zz>WP|12BTt)EeOCx0wbRO>7_%Y6F#=?V3nj(WJC>d?H^BOHlo2X1e^hBWe=$GOfmj zjE9ri&4W--b;DDabMp^xUL89)bxWYaJrV7P%L^Ud^ts7eeXX_br$C5>^4#N^V{3J`MNB!yX-1d4* zjBlpx&8k*%{XM2fOon826(2mCS^|&c4>c9@=wu>Koj=&W9&3;obmkPfWf!O!yEaJ# zUQ;*;m-Q}jPY{r2IoqSW@K#gfF8;wII}vNx9Gq(5fn0)A8Mf4NV}QOlV%|1-!+>Jc z+xLC=wZH31MQ4~?i^t(m+(`$q%Hh9h3&yl~PPtG(u*8-_pbIiaFCWTlMCt>(=N#^D z3dTUSOcHKulFuMP(<{|MMdZ>TL^heOeq^rVkZ@Au(I5nYDYB)7!8c+qI0m$fM7Rh} zw+G;%;ts_x%aW#lehUC19N29c$CK$&*w_B_07NJhk@iY$ZvrHMhhaQs1^6+yE`q&p zTG;b`yxS@L2v?`9t?=lridFJV>?axXKr3EI|NP~K)2*8iY<-@lux^RFLe6~vy5rG) z%)w;LXX}SrGI=30imNiS2GO=$Xnt4~?!0rGz_F}s(PD4JUhP^Kh4=)}wE%;BC=XYV zvS8dq%|8XHcJBcS1A-3)$%~eIkCYirNgV&f zr-#4ktfg~{cPRR+JBg=IF`i_~H=#CjXwI8@0VKRkwB3HVOiQfkIqv2!djF52$ybR>tH>6(bp>U(c-OIuRrX0v z%k|5%p|cs)miY9S{t3ztvZ;)jC7L%ON{-#DdGm}F-`v(JZcaPj`8@CAwU(S3QPW1x z7*p|R=5_Jr%$gK{bAXqbg>9{r+JV;~&3F(QGIb^|lTLLx|Q=PU*rLATm%c*tua?6jY8*N?TqFlT{|ai zN&w$+L)eW--mB^5$x1M;;I}(WccBd!fqgsqA#li?_S4-zpZpR8 z&8LTcy6erz#F>?F_fppFYHWZu9PN7ms4lJbg;QA7;CA**MpqT|hWAaf?@N^L>GHh- zrt;5uXIuA)6*nPj)#MgJM9pX@5#uNpT&K@#1ZYyc0G&sybbJb12WRVE^$%q?9phb| zL@5y42TYAkwY|mOC_%Tmoup^qX{9c$NZ79gXFMbbgF1YnUcY1yCY*P9^EO4>87zcQUaoY27GtUHSUty>T zR#R`=%#iSTGZL(r?Rc~}j)x_B@rM$R%0KuDz1j_ny=zEs)>*t?q=5^|T&a9vc|$iM zyA2B%D#t=D3j^BDmRuT~9gSUP56YK^ze;E6u~##ZVBQhAEf_%-vH5!Q)zkb;V14=F zCuFzG)qRBfXz$LysSt}u8jOs`tgl-sUUK zV?9N&@J6@^3j#bA-c@M%P{aE3x=!;qd?lZAseX$vlFnV$=itJk=jqQe^*>Rsg%3zm zI7m5poa(Qjyjy9A$6?qFR0W!h6`o9^BoWk@6Im`KfB|Ukwn`uf8kM7Q%tCU&*UH;vA*gsFof{eg$MZ2jb&}1(0X&U@= z>JN4~*U2Os^LVV)N@im5Fp^xUu*O} z%;{*25c7&w{JE*d<*4v7Wb!dtCz!eb_eZAha?0OZ_i9}sBl4&)b+SyAP-qunqfEw{U#uRe`jUBF4tY!Wu7-wZjS$X zccVupVUm0Tp@RvHuC~t}$*gRd!R=1MS4vn#LNlaIB$Ian04#VV;Kttr9X4RmUc+{U zTAVtcR_aQk2m*_fcS#@Ffzb;%iHp>%BkSTqwo#t)LA{=DjWTYzL*2dS^{PPFyJu7w zxh`^j6vCf;_f%1|gcXVWtdnasD&UQSpJ8$AF`(72ZnbD?H=F~cxDY~&lqXH|s>Ch1 zknc?Kb z36E5p3;?ozU*LNZ-kw4Al{$<3bMRcJF8{sEamyzfRze6NSe(4sx&y1`?9oviV0ooQ z;KjhsRGG|Dw-LCfn9sbDuosBvG_p=Foqc21 zzctJxQYcp)xo8jw%@{@CrGf!ka*aLvwNMcI9EM;I#oSoKpR_KD`w7Pnyt@BD9To$Z zyw3I77DpwwXP@b17JktHv@W6=L^D~PtkP4kHu^eo@zd2dz8ZM@KdLkj?3?nQe{0`? zTWOhl40+Ar+j%Ct^(vf60ru@&E{J2?akS z?0%}Y`jN%o>?5B)SO2`oGx z#%y)kj$9%ut;x)Dzd!k>j*Z2`{M2aywJ1DE4u7?jh=cAjfP}>1O}A1i8;RVMM2Dy< zxGTRk!P9pldv}QQE`m5DavH-FpR6_tq@p%&nfZRwnEAT`)&+6v(Gh?n`u=FgW{Cgv z$SkK}p8i#b%`k(THlkU1$u1;a73sm!K(4W{SGKe%EhSKNg6@wq#`wjlrtoX5^Wqx% ze~_BRrw14@B>+h{Z_zprK}T4KutU3EzO;)%r?o{xs5%H$$KD1qV71ti8AgRG;cZi0DCzLLtF?#B< z9JA2#3@>hgC0yR4h9 zt3BTYIeA#vJZiQEtA+{dFK22p=Fn1&^q<7>m^HG+hBb-lh@a z{3Rs>d#^{sV1ztd#oK{d9Bd(BP}k*h<8l0o(8w@C$1Of`dC>_;QP!b_{g_?B7`N8U1KERvqFlC=yX~ceD$4_ZKb_uq?7oN=bh0yP0&4_*M=fV^ z_jx+FVGlO01Fi_Uyqjv@)~eL1YF=;qpP!XZHNcG)_u}5j$RC+T4>@QsAxIzS$HbqT zzAF1M!9EZnY2;NWsO6iF@0nnUro>4#$pP4Ud6Leg*3byf2CGM1TMYRj$*sT{=uAM9 z^A3MlK@el8Ac`qc5Jw1O2$RF;V~kaiY2;5#%W>Y4cD}&mt4tkM+Xj{$^fLi8ri{us zHQZbtj5+jyx^Ned;gVpY6LApkhB&Pth(YzIjIec!K#;;rzqIj_6e zK;M1vwfb>m7ub6(0|kcRkqz5qSbKjW{$iQ{)aUji(*kpIAXR@?owhW#fPVRT0epOs zU}39gPMXaA35mF}oNB2&n96Ire`cYi8&YBQup&0=k@c4assq^doFJ>j8>Sp_cezth zM!MoF@OS{4Sn}>~^g?qbWCHn7WgP?7S3CR-C++=*67FE+ZU8%|epHc#o;)+pM$IEV zUf9fk$6SqFHKS-@XM;#)vv#Q1G%C#kGwxkhx2+TLrR^A1eP|YD&NKj0cn%@+mX6lb zXLuxyXMQwYOqf?eBcv0bGj6B1eH+%9yW`#_?2q<&xKiscX^=+tPYgT10PHhocKsyt zA3@@!f8O5H2kh(}-G#r>FJ+p?(t3%dM<43E?P3?EZ7tRQ8L9x}10X-;05Ed-VM(6& zl5!)(+y5ae!HosiB)QpZyhfBBR&MoMr}jd6Tkqk*sZnyjtd)&u{KFY)1?rR|BHs9v zm1Q}?mJ4yKY;b|83nYk@#Znk9(lIUs7$RMMESJZyWzDhc&-bO9q5oy37;Ei27JgBL z4(3D3fAc*#I<;)U)trayrkg1f6k|BHBCO%uGeYfEsGDtvR$7jxJycZi-p!=OJty9V*gxXrX1>sk%}DA;DGKl0(toJQ58w9*^^J(%BqMR*_Kfw3fnz}T2N{KexTRHN2@fy|qW@H7P!@nE z6;z}vT2?kw!Q-mRjHiHP1Ou-pMzm0mCDA#}h|zL>nj_BTBK8@77m%gQg9aoQw1aN2{?D0Y7PT1n6gs*U}E9D7q@$78fIQbzQ4xLoOzp341KA-5>?8ry@C zV$7<~jh4H3J6pHAH(Z>$BQx3sL_}{&r;^pIQzpEt&!}loW6y|%Fzp7Tz3Zwva`_{G zyoyzl4=yM`mO|BE7?+1t97TA1s}n!IRF?4z36Q>OOpe1^;g2m`pDMVfZ}{UfKuhZS z7_(N4-pImY?;cS6lOnhSM^Ak#-+c2Dluo$Yx#wL1oA>btXO0EIM$ng1lBO;y~3wT-i@i-MRTw_8iKRWUlquXD1d zPs(0hf3{s_h`voMVGbbiVsJ6#tUrsNkE?q3JSih_I6{+{bL4Y1WV%0*KDm}hNW@EF zszBeiU;fnE#D&t1TTaBH{?aNK?uWNoN*F7sv8s~7Na9&h@xFwp&pxXV7pyF6^|%LK z4}Nx2=vSd9PbtJaD1V=A3{MKlFKY{pVdFGfx=$mgLb{@@s|zO(7!^AhqKV>U|Hd5` zFU)b*0Eidq7(exyMk@jvy1!ryr^<|F#34<&ICA|0jT1;`_;~?chg#{XM=5{f(z8=S z49crc(hRhZDRkuF#Mwx%ud<)rzxZs+&wXE-(GG{-JpXeYIT54=7@&ct7})m=Cz(h{LqjhqwxROYdJ>sEq%BxzhbIv14t*EWphzXCtW^LH=`_cWHu z)S=Jx4TPKdRwA!j`N3r7^LfUqRVo9PU$y@e)OGxT>5^D6sbBqJ&3We4i3NWSU+YBa zFRd+;WzPS-{O3s>lD{9dH_QaMAr&Pd|3NYZb2x^f`gC+8yXfaivtLlfBTWfi)S^^Q z@)a~aJgokm{kM8s78LB>RuFrzSQjEBIt$Tadyqg~eV%tw;2=%FX!d|j2zEUEW}mWo z_B4sMteaB8car-OG>UrW;&e*0&!A)){?GTSrEolZf2Fov#n|%z>Gx+Z%$JWF@$uQiCGn*r@djIFhF9#F+9(>#vgX#N3swU%t0%<$H`@Q1z~Fy| zZ|@-3@2CVlLpgSm$|!a+YimRi5uFr^mlO>tT~PaU*{+hv3vgJmZ8W_w6^ewTlt4CQ z!zrB*BnZP(vOBqDFplo4=b}!4(A5O0k#h)&T3t=O5dKdi8&Mq;=%c;p>Jdpz=SM)~ zmL?3WV{>_nM|$divzTXMl+6~(I=jd8Gm17FcHHoipWV{y3~N~bJHH%>{^F$la72|b zZI>6R6HKj(O@quG=u29~kGZfsmTN{>_E@r}*Y6zv@ z#9^En%2v=nvJJUkTTorKFe7h$ex(F4LD&CY>F{U9aD6UoOLX!o6G1a-2O&))BCnMl z|B-o<-5p25&k$slge4bQaw&zaKTLktXS_!NO`~pv&y6>~BmeL1^713|Nl`=bod4jD6JmIr~mS3=1f9*VT`}lC(({{NKOkIh(G@K%>QQ= vcWb{83-1?z-%viXuQ5UCZNj=yb`O4IltU!E_&5Rp_($oDnq0LkG~oXL&l8qP literal 0 HcmV?d00001 diff --git a/addons/loggie/assets/logo.png.import b/addons/loggie/assets/logo.png.import new file mode 100644 index 0000000..b2cdd95 --- /dev/null +++ b/addons/loggie/assets/logo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://duuj0ibyreygv" +path="res://.godot/imported/logo.png-2771abf7e361d7f10d5859133bc43562.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/loggie/assets/logo.png" +dest_files=["res://.godot/imported/logo.png-2771abf7e361d7f10d5859133bc43562.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/addons/loggie/assets/theme/checkbox/checkbox_checked.png b/addons/loggie/assets/theme/checkbox/checkbox_checked.png new file mode 100644 index 0000000000000000000000000000000000000000..89bee082cc539ba0fe25dfa8dea5beb4505598c5 GIT binary patch literal 5021 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 literal 0 HcmV?d00001 diff --git a/addons/loggie/assets/theme/checkbox/checkbox_checked_disabled.png.import b/addons/loggie/assets/theme/checkbox/checkbox_checked_disabled.png.import new file mode 100644 index 0000000..71c7bcb --- /dev/null +++ b/addons/loggie/assets/theme/checkbox/checkbox_checked_disabled.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqf5cye21gyw8" +path="res://.godot/imported/checkbox_checked_disabled.png-0752d58bb0616edc7e127ccd992cc02f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/loggie/assets/theme/checkbox/checkbox_checked_disabled.png" +dest_files=["res://.godot/imported/checkbox_checked_disabled.png-0752d58bb0616edc7e127ccd992cc02f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/addons/loggie/assets/theme/checkbox/checkbox_unchecked.png b/addons/loggie/assets/theme/checkbox/checkbox_unchecked.png new file mode 100644 index 0000000000000000000000000000000000000000..9b96ba7188b497c47123f7372b4160ec15b25b5a GIT binary patch literal 4010 zcmcInc{o)2|5vWArDVC%Vi}{1F#C*Q7?E8DF=XvJGjoQ)EM_Ka=_ay73l&*XJQNDq z>B_GmE>~%}sAw5(N@NXPy80e%-~0TY@Av-hKfm)lXU^wy&g=bpzuwDvKW9?hT4 zv*rmv7zu?#GB6knjAV+!(v67#$LEM`B52f-xCOfPFdOkUIgBMRvEb z`{E4RQQ*NM5uc1kM@B}XBJn7mAP9{$H8n+JaA+J32_cZeXs!r|LUM(=Um0vbAw$6C zi`YCaY?Tq9^A3n8a7gOs7&!cIv|QnrJV6;lM*(~^7KK@j=_`;*{d*{f^9?N&*+xKK zzUcjr#6ns$A4I!@Lf!!Z1GJ3*xgy=K&X|mEw)_KvuuqXP8E7yJj}^M40|QHkZkZ6z*JA^u++Q0Yo4L z4pohS#Nv=xJPiYt3`Zss4KY|U2J;z8g&Khgh=6|v<}ul<=zjvGQpt{7p$OnIKt~%2 z91?|MvzcT717J-7I*7!R01T1<9Y_;A2HG;2Obn4hH^zYYPr4v`8y@4pYWh~~Kld$@ z$ACD#Wrz&m=q3bXh>gi286!a)fq|qmO$kUkjsRkqL}P$ujQz^yDquse4iNTN)>TzZ zh!Mx6V@Y_Bh{O>YEF>NvV2~yNo`D2d7#4<3$1_=YA{@qKkXbwd2Y~v7%>jZyG@ly; zhy7cPH7|@Opz@ed&he|=46#E|IIx9K>7u{9A0A-%msJ=W_NnQ}0Asb+DR9PWkwGT> z%Wd|5$lgEG`I$B{7=%dwrud&>LLN&L2?#)|ASl!SXLF(dn|L7*@%PgIS>gX5rGH5) zBN*TYfzaec!&ierua20{MM3}XdVPBKmvQtJ4$ZjL<+teyZNANCkPA@@py}(@hwX<3 zeUhV%70tWt&Urc7Sx~E^#d0*B-FQ+qIT^llxEuaUNcN55Qd^WMJoQD+TJA;NRL7iS zCoW#e?v^9svs@nL?R2H8aF60fEkJT6yC}VcPMJIWY&ovSbJuBwS3P4F=FEm-TVrod zMSomgc9*tHe-0s(GAER^2 z;>v_Ywf7Ba0}18gEU^aXF`2d4zu4fKeImF^v|N^%+;r^TaNnj9TcWB;U2I$l_#~EeyU<5^`sFj)L65u? zLwg**DcIr!ck*cK)%D{3rhM!n@6hl5usFW%uFEkso

%PI|VE-fHui87BTKGWh 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 ChKZ#B literal 0 HcmV?d00001 diff --git a/addons/loggie/assets/theme/checkbox/checkbox_unchecked_disabled.png.import b/addons/loggie/assets/theme/checkbox/checkbox_unchecked_disabled.png.import new file mode 100644 index 0000000..e1da060 --- /dev/null +++ b/addons/loggie/assets/theme/checkbox/checkbox_unchecked_disabled.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cloe7vx2ej0nf" +path="res://.godot/imported/checkbox_unchecked_disabled.png-aa159b17a13862a51b7ba58c26a64745.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/loggie/assets/theme/checkbox/checkbox_unchecked_disabled.png" +dest_files=["res://.godot/imported/checkbox_unchecked_disabled.png-aa159b17a13862a51b7ba58c26a64745.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf b/addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..49dfe405b2eae0273a030eead2f0aa70b25654dd GIT binary patch literal 152608 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%0D}c+jI)0eRIDrxe8RD)^L~*mz-kW04ea&+^g& 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 SyxwwOSE|NcA$gUFzyAS@VSs4> literal 0 HcmV?d00001 diff --git a/addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf.import b/addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf.import new file mode 100644 index 0000000..3213a07 --- /dev/null +++ b/addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf.import @@ -0,0 +1,35 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://btuvtbhws7p8s" +path="res://.godot/imported/PatrickHandSC-Regular.ttf-a768b75713759378d46297f0740f6da5.fontdata" + +[deps] + +source_file="res://addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf" +dest_files=["res://.godot/imported/PatrickHandSC-Regular.ttf-a768b75713759378d46297f0740f6da5.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +disable_embedded_bitmaps=true +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +keep_rounding_remainders=true +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/addons/loggie/assets/theme/fonts/coffee_soda.ttf b/addons/loggie/assets/theme/fonts/coffee_soda.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1d0f9f5b990b626491f6fd2f697e2a9b28400823 GIT binary patch literal 49816 zcmeFa2bg3>c`jV1PR^mv>6~+z4%0o;Ju^FLXY*=v(gta@EA1+W6$&UKfkA)>7MTm! z25f9&;39&tkiZ0E8yjqcEu6r{7@RO*6D7FT&i~fw+0_!v^ZfpKZ0!He?$%bxY-TOZ)e&`#7y!&xN?00Y3e{h8)h(X9lUx2fm9S8Pr{jK-B z4afL@#OFJ9@9*}nc-YeagAH9y8g~9H%vd-!SS~fa?d4KpSt0W z8~^54pFxPWjDMfH`t-?D^-upf?#0dH`@^fzAU(l<5}$9y=knDz+hw)4cf?;Z#a3!8TtVAaW3vp@;9Em;k5S6 zr%-iszXFL3-U|H1G|<74CU*0AMP z@_C4CjeIEY3kyPk5 zlB3TdP5LHMB3~pK@)ca?Vf_0?QpEp7x=0HA%{cEdlB6%kdGE)4|C)4Z3*Vn0efm+f z|0Wr7m*CoOAR7H8GN3l;@@?Gjt)xxgiSsYV{XdESZ^w0>O=9#4V$cUjiN1#<`RhoX z{vwIfSK(fFkv2C+MtEi$|7W<5;2O*5;ordj50WZUlv{uHkB3pn?6_5G)8IojuAND`Sg^dl*V|@OY#8}^R zBfLk7#MpP%es1M{#Lv1P(T1jtVe<}FhDG@C>0*4i_;kY$*YGv=P28I!;Zf+3CzVyA z5P9`1=7NG!3rn4-s2fB>X%Zc!MGTa7SUSX9eTulmLg^73WrR2={jdy(i+YrJC}Sjo zGEV%}e}mRyWs(FaQzVKqO=2iBB#ts0mN}9@Jx`LW|A!Pv3T2U`QI^88OfslfNET(4 zsWs8(hPLMLnc35^u1@$heu6~#FNDbvAsiW+N<$yF$pCV0^ z)1-xRNG4E@P(Dd!NE_uW>7bk=U6kuc59NGVE|5vo7fB!G5*e&Mftfsoa(!5?kZII6 zkRi&AWQ1}PnL)WZEVq!^)$fq4WDeyvvJT~TGLQ12u-riwP~S-wQSKs3D0h?P)o+tM zVY!#AM|~ezLAjr7KzV>{M0qeQ50Oo)-y#>2%_t9(EhvwWttgL%Q|C|tKT43k^LyI4$EuE0o1Q0 z2T@)}4xzlBT#WLDu)L8RUi~_`i5x+Bh8#tCGdYIx8DV(~xdioF$)zZ7BgawRPA*&h zSMtoTyn~!T{Z4WcMtQTuYQ%hlsp6F z&yrhEJ`|QOBe$ada&jBWSCHFLzLGo><*QJBg}j>Ff$}xvPL!`DccJ`WRPAIe_{%QuqyQGXM8Hp(}X=b-#W@-rxZDJ0QI+#7ovPSd2scg$UDf3Q2y_*d?$G^>JO8bpnMm3Dav<~ zpGEneuzW9hX!Re-ualRdd>?r^%HJTbK>0{mzMs4j^+(C8P(DUpjq(HJHLL$XJ{Xq2 zNnVTkhsggz`C;-plpi6lNBPmP{4MeZ)IUakZuRfUZDR~>}e@5Pp^3TaTQ2qt^-zfhwEI&)$x%x%&Ir1>dzasBK`Pby#C_f*Te?#7b z`WMK1QT{FYb(CKu?_2#_@};o+JMtT-|2=sGoq+#wUx~egrb^@YHO=t8cqLO?yDyKYQdRuJ)%dWNbbQ3ishX&& zGCtrCJIHEm7}#Uru~bbsf0#W9JG^#Zm0(=hwQyfiVB>4s0)gbo!|+048NhvAGUFL+rV9G>`9#kKtkQ{9*Pa>@Ye?z$38x zD!7(x8W2GCzOKveE8#(0GrX^WI~%x8c<1qbHQUe)T-Y#iU)3@U4WDs}jdMgiD*N~Y zhuMR&!+2LgL!Ce##`jgE@V=3VNFcF_Wkf6{HF!J$uVmutrf!&+ajJqxGEF?aY00Lk z*`{e&_+yx8HZV(7-84)K{c1|*4;wh_;4ofQ#6y`xLx<9ep)x{BkNJ`TAy z4!eQl*qAN4g~NFF@!<#>T^m2)VccHAGrI)if?1?_uC9cUTq-3KOaa4pQ+_Bl5(Y71 zdlAp|a5G6VOv8ysyohhxk%;PfRx}cEBChAUk+|o%n8b#&cGwFKdmawsClbS9++Vg) zC+Iv}%Lsf^Ww9>FWY~Q*Gw?D|w5t~GYxqtih(sc8#D@f0rknI5K3>ibG~7P!`(EJr zc#?!4@l-=K-KP&n>{xi%V}~OV&v9JY@jRbkWF!oKEHJh3zWKaDFf*-~pO1%9BiphW z^@3OsL?b~|RxHQz($OG_r;kPTAnGQgQ9tGfeh@{ok6CJYnWb^#|Q>ZhIAxiwx+W8EfmK0jR%DUyRXCU8;eBaxYoJ*Ml!Kz44oQ_>(Qv2ipBgm zE*Zo!(P)7C+L2iBLx+R$VZ65zL7lkc`zGUS_pOvwqN=8oij~ufZR?)mDt6LOB;)Z! zG@ejY$8&;0GM-EYK{90~5`H$3h$Un3SUj0e#AAkSxB)xt`^h8@M{qcrjK#vk3A}iq z;-Qix;W-%gZGjc@#C1GWmOvs@h+RJG zTMPpsowh*?!|{umc1epwtf&^KUOt&CWV5+cHmB)+)W;)b^TlK`UvP4{cqN}t7c!Z2 zHeb(WGnl183Wp1cL_QZD&gIzQOa_N@nM5LKBvB_ZKdNcIUoHf;$?n^qGzq3&w345! z>OQ1Zk7<4}T__jw#Z11a8yM-#M5$21%auxQp_ptGi@9<>pUamfiiN!6JJAddms6?n z;d-%{E$7(bRv&Ro0QESIZpwb|;DVkT$Xnaor#=SSFmFWMd< zkw~&I>TaKPbGcaADcRYnW`8)@>reFhu9vUmTPstOQ=?{cdOF!3)EB0vI>YW{r#H1S z==b8;c(H}U!$xCzD$(!P7W#wsbhq2>O|9?uyNyOG((3l6NwrXN-9lk@Sc(VizW8DO z9sbcr*HF1MJ^{zzzD6YOkHa&*w00!?5Ek5dZ0{V#_w=#vuQ5b~U0(opCjpsLfQ4v8 z2mWCK_ppfrtiuDw;gbNkMhtjH0ystr_(cY|MGkmH0XPK^C}0y+U=np;5lvta6Tlui zz#MwO8v0}ad|?{6!U%Z6EO3N%zz-IH8!Q1YSWi|E4{rcMunEY(79axKfCOAbb|CuS zg{XfI*^5YjKO+2tbDWm5kzTZ^~0+l zT0Oe@$m*}JZeM+9^=5XJ&wu3eJO298^U_pAQ=YYd-;a;+KKFC;+6b`sV(-GaN*(Q zBdPP%(?^cX;W`4l4!(lZA3TC9T)TD!{2w-TpTbGv#6|gs`Rbm-dk;T+|HjnA%NviR z3WfZphd;dM@WUV8m?|7Og0rOaPl_kL_nP?HGs}2psfpvt_$vDkKfIiJm>hZVL3Yjk zhf9Tr?|<;Y)Ps1Bwa<@`5C1>|M}Dwjd949Gfoq^AHa)`KzXun?f2Bf-HNX@V@SI0B z;@;}SMf(qL!jl$`v{|3GfVps(Nwmd13V}jQ-{L-mN`j%T&{52XRazf{!~svepaozI z#~@HN`#5cU620Ve%pemQH~-aK>T4Q7Ly8M02Kg$FeAp(DTLdI zw1r}=AgKHc1=Y4GRZOd5h>1q08%fE@{>+HJO0X@1pnta_}9U|LAN&gFlWbAm8#k9rgb_*AXiDk>r*fdcLR9DP6iBGArNlZ&6YA`{ zccXqc>g<}&Lj755^=E&oH(7yzShPcH)kQigSt2^C!-XG;7FVoQr>Ck@5S>19T%)2? ztS)d*H!SjF`3w6QUzDT$!MV0*AAQf-`okEjvfJRwC3e;jpM7b3C&+L~=Kfi+WEv~h zigAv2qf!1Uj-gTj06P69&)Y%3i?O&b*n*@?HP8}+goDusiX+w9O;s`F{HDCjaH>|nd%bK(*QGu(xN4vS zT#+?Fo>^HmMp?)D>xZX;x=qY^%jmn#X8gDQZ?xiNzxLKqI}$jstX#6FGr8 zQgvsQ^E%xYnlKSWYD?vVGBR9yW7x{tSD z@t#XwOh_e5eRLM4HpXZ=l=-RYMIjo?(nX5tUaMjl*xwFHie@fAFS9|Rtdr%Ugb~Hp zsuqPVz~NYyKQ|&Z3$p}+7HW#X#~D$KcGcpz+c?NGUu{?MY?S6_y9Ehy&!wspl>|rK zSlksAy)l>>cAP*G;*tD;4$kAMy$K*-oW%8yCnZakob!S0nmo%UJ#?=#5wmoe zlhsUC(PCLQo{l)NQl{ETP5Y&eW*2QBWOy7^v2wQ7?`Vy71saL+oUAzcbW9RB)zaLC z0oc?`mAZw}wv`d$$|)WQ0axnJ#$}mP)nqLj?W(+H=@<^^g%W| zqjFRVH9N+T&7HL HE+$a{6xLf2@v6P9FI!$@Y3swL}bH#dzL63C)u2E(Fp^e9f zjyGr&x0mNu;^xGryOpZxMrP-B)+1h-!QZphkNj3DQ z5uRa4mS6YcjY3kTvLZ@UOGYB?TJ{DxD=D0+#Z@48rYr-N5#-VGI^)i--^I00@)$CJSnB%f*XXC| zmtey$hR1z9vRyti^_vbqLiTr4?}w)^EgtDjauR0NaC*q>BKun%hFy#S<3r8JrWKo9 zY|1fHOWE8)%a9E&`veOkmN0z$A~c-Eh9`&rFgC+}RDwukVWT=6y<9Y*e5h;cIZrSt zZ+I?k_9YxB9K7`Sz9mPck}+GIC@SquhmT*@OpCmcs7C#A!~nS58&2?o6Hm!PBH?jd zBwNfzsS77Br(dQPTu~Qv!{o zbEyb5+z9u9L?dNN$+(lU;v$t@OH|y~1>Jf^b(85yrpq|k@+ZiLLtB1sp2U8P1^@AO z`rkLi<9jt%zrx)`pFlK7M5$Qo2yAwY|H4bcps~@yWRx&)P=WZwoseSk=YaWuQKu@VXy< ziu`&!g=bM1FIXT^NQuM4EA4<9`Mv376PXa*ZFsUKOEk52Y4WP$I|CRUJV%g-Nti6K zFv8TH)7M|yzWG3=j_1m8zs&{o({NKsM2g~`%yZ-xxoL~3Breop%(ud`F(non{YByWjYE`1;{hf)Z`mg7 zx~T}f<+%bM@g0r>oGn^$>bPYGsV+)^ehRXy3WgMy1VHJ$s#_69jNwFs(nvJI?kS2! z&ZI~)xIrNBNNn&FKr-ch-{O@JP{A0GtGJI+4VVC_;9Y&VG2?eFTC~JoGIVd|x$4xK z{j|6MPD(!-Iw{2}SHqL%nLg#=C^tG4PEx2S3)M~o{vidLglrTv*QO%!B?8}=?3^ub zEFx1!`FgLdFt@NWQDgQx+h~#*J#r<(;G@>QvHXliKM*$yOAOChGleMd206OONM7oP39Sl)DSz z3A<+KE)S#dmIv_5#$FhOqjx|p$^v9tl2gj;nc3WO7H`7S-j;(q)_sqI|6gg9@t7>n z$Q2u9=C7k_aPgvB5 z+8ncNBUT7Xw&<9WV031ebI4hmdUmo=Jo|4(xlwoH31mr>s8t+Rqms@IWjk`|j{ydS(^=Wr%kDdN*^wQ|397->wbgXLV9C5?X;jpc^|SBwqOxWOi<>qi zt%Ty4olRReeBH7*+cE|ClK$%VxPODsvK}bbl_c|62%2OOdaUPxC}atDDWZAA1y_F# zhA_(qk_XkuV#y{~#WZ0ppwVI4smee^Am%KJZ?hazzNCem=+*MB=Lsr7_d%WL^Nx)f-J;S=%iw) za4{wwvUeifXbE{a*zeoi_3h^yfi*T{gSJkO;u(YP$7y0QSBJNOx&_&Eg=)gk=<(xv) z#v&d?WM$#S5Ydi8pPo5nM(pvZg?Ts8O1P!!g4M) zXl1z4U@mIv)V4$_aWQD61T`InN9e6o66KRuU3G9)mW$cMVt#IW!w|i*69U9i5X*zP z>6WUyIxS4jO;2!_K|!gKo-$Yt+sgJu9nmkC3~b)2(eNz|Ajhcr7R3`x=HHKb{_j&3QP8 zP+tNvxEy7DU0(e&`c^)Hxq2sfMFjC8vr25X!eTCR5IV##ygbZ;EpSd#gvN9P2^?kx zXmX5*MQcSU7-n;!+tI^JI>&)f*gQICinE*)I_k_e(@Qx^d^8Ei z6muysL@YO-O&V&hkdZ|o2FN~&)m`l^H;klXrV(LNLZ|ywm_$de&LkrqTns~lRTWdk zx`$vWcz{n0Ht*b1PEUGq01bj*L~~IyYblM15~XI4a0OM$RjQ^Ynihwsm^b65>@r3O z)R}J^8AVg0NlAo0mPJRAEJNedZ7Z6*=q8Da28t!P7DKyuu=2i1kAnBQ9r*WYj6oP! z20oIL=yP;0^A|=IAF9w$ON`wGU{a9x07w&44U61ho}D+2OlwW1al^2sA070W<1va# z;fT@$%s~LPLSMIj#7GGewWe3LEO%9n39+M4E59KxxV{6ahXqyzPU5rW0%CJf=+BQ7 zS-VF{rV^sYX=pQbJ7NSR94?MK$8|@QEd?SQ_Sav~ zWAqEiAsj{QP9iWUuqI4m*Bq)LgW;HAVIdzBAQMa|RJ754v_I-EG6MwX1LmF?AE-`X zccBuAE(+s{#h0KRqJMhwN30! z#=8-zA&qt(*}G(lIbatWRD>wU^uk5Eb`ay(TmThJ$_W)liX zF9?xi7oEB5j$=I?kRI~eu4;_tx+0_}X!@-rvbzvk=n8*|VR3t0xBr{hFjEO4YKZ8ls>C?MfWf4yJ1b@JPQypGE&38J=~> z*6fG$jRgo^JFE$lJtlsb>T6~j{Rw?sgBtF@!Drr5=6j1I}xrVFz-dr=gdCSI`hN4s5UTU?kx#{L>j+Nl%8Ib_w4n03J zx4c_1fk{F~bDpSjdUOfG4CaU^>1V%S3(3Yr6DBQHZ`D{o@ZjJ6E8LUELx1H8QRKWXCVcBr8Hs4to zTxxO>tm35P$D(~Yt#E=7D5<9FBmtT7@M7|aJdyDRR^%kp2|4H`+lN|ezL*8rBLG2z z;8>0=?0WsK($u zfbhUy1+Qteb?>%0tF^BoJ0_1WiNFskYKX#x(h0|eYiOWeNPSFuuzWC=5+aWf58Jc{|@htN#J6yy9Vhyom z252;d-s3}Dj?H{XFz~W}h!i87t>?Y$#%Rm1CE zA50Es(tc9+N^ml(mF%YSy2~?Wwbk~UJNj<+(5}L$*WLxblp%?ZY$jkm^iJFi9*`_2 zqFV`97R`xf`s_=n?8$}`E$7834~3c^)Di*Z6^*G-4o=&6E|*rHpm)-LKssa{@~%f% zblzb`nRUfjuGr@)Q*jJof$d;UIN%pp52iaqgN@0}YRvRAX9?39_8(t|AH}^vf=3BZ zLyAlVK~>FcZsoVEAAsDHYE93jF~zsev`2-R?M*>`C!Z`-GA@+95bxJxFXRCpTR@6! z{{v=!YC;k;)l3ztaZzKWP2TW*HgR*a+3a#TGo)OsHq2%>ZP_>*PV!)~c4}eqo@ZV+ z0qgMQsG((Roj}xuAm}f?192I|5^$$>TG9dw^PaP873z=|8KZ&%Py8PFE$;UbJ7Kj# zL^>Zm@lRJ@R2f9ve4>?uYRFv>RB?-XqCMr9LJU#W+26b{#6tcAapdoFe~9Y>gShaz zKPssF+48g(t3@gqhbGfMI>5xu;++vfxOlmoKl_n?C){Ll_CD^V6l+j$S4;?oi?Nw7 zHh{J2JY~~`>1+lbFm?0J&fy6OlrqYhu7z+$Ev;X_u?BFMi%9A17j2H4X_xAvDRmEV z6IRv7U;*Gt7t#oDMWrrWJGkHBu&xGjw*mPV z*5~ao>q4OW94z{IgqYBVCbXdg%@{#Ff_fYEChE<#dJpv;L#<$Wi(|lmN$KeOLg?^C z8J55fT@YPE4_+1`)(YS~Nl7Y8_ber*fiH`~IKEcY0!X3=0i?7tfBSrLAt@tez<0MC z*s+eg4mzpYu7On?szmy9^!@15VL1)~nF!-@%sV#cIK2BF?&TN@z;I!TC)DnkLOjAZ z0ca#96H`R7tcY<6(meMvbo#<2da&t*)i2Wu^l2Zw zi@l6ZQ7IzK4Ar8D=RprLBQ*9W;jV`cekdpB!f_}9On+pV;QX%z;QUyohlm5XySe%# ztT)C#p2-5Dv!9%*@rFtcaNC&>q`eWC0yB80QbaFPKS|h zEaZ|g-t)m2P2QazHd8c_PxZ=Z`V%gqc%!8a3j-VYtzE0+kQqhCW8@m$raIbMlQn&~ z>-c2nP}gm7_XDgp)CeFOie!U{P{4^LryW&-*C0RjK9~CCX4A1~P_Bozp7}iQ;kU!` z801E*oOlR!9kF@$F=Rn`;B-POgsR8(*5YAMLWGDVd>EF=LZZ;mW)5}-`Gqjo!^5c* z&|Qc=S*#k`9~Qa;YGh}i*MWYAU>|d&!f16oHO25^%=hGgI@&2)wk3fa;6jj6y#$N=36u640qhf5B5cDuc{oym$`b+$aXWwPFhgEP*; zQ`(uC0v8vqtjI|_U;M#q)17+R^J?Xk2$`MQb>h^CUDHTVYb`E;FX*5mDubrPtELo8 zr1h93`Y#SVF5(nRTp^V0$7*3=Fe-ixRVX43q^(x8{cciK?M- zsv}@T;b|a$H(-o&lm92t^pl>HNT;y)K=CpbTnHOJ4Qhvj%%D7sRFt*bZSF0Urb1IsVHWl`y7YhK;Ez z9=`7sb7Mk>5Y~W!$RX~QvGC*Rsoe~XaVb7(PUR<;?V40&2(2S51 zog-3BtlxS6Gb@Fjfh3OJ-K!-y1)PbX)$T;24)5sBaHc=2`nu#8<`+S*aPoFO?#|WV zm$af4C%ci`qqSxhGqovz5SZGcXY^0^m+o6??r#_s9XB#98VS6`QhrmRvc#oz#g+`j z*YKj@vDq#Xt7>G)0>zh$E+nUuloQo@IXL^3#AJeD6Qyj3sq^q%zD{38{|R>WC}Xp6 z(KIKe0sO&_hC)Z5O|c@>-l3nylup=n%(pvde!`HBM<6lBIu{lo4D6Wi%!iZ}T!B6h z&xLe+^Jr7&spd^Ii)xG}ltiu^v0UJVv^O_IVrF#o=G$(lPY?K+VdMJS?wFQ99zXlI z0A@O`$-Jg)zo{)d$n3binT2~n0JnJ|O&{UYjow6Ak$ewK6wdTxdLTqfk;&V7PR18i zDH2PVq5$YbGuL0fm{ukl!&m?OtETE5PeIN_R-f7jjRR^vC$AeJ18S?uX5R0ZHZ?2@ ziX5WZUHuIG82xkj9gCswyXBl15+-%z0x?`+4J#Kk>}CzSFKD=!HC#LvROSTpHRex+ z`X2qq2myQ$b}6(!liJakAOML*dO1uXFNR&rV&ZU6SS0dIKGW#d(-1%yb@(WpD&`uU z8ax8{62*N7_LruY{OHOJJ0}j7MoOdGPV>GL%~gZI6M&hT6bl-tI;!rhr{cP7L@Jf4 zuSJ07VHuPx%QU-?UH5_)J%3h-fcFEF2xrAa=fo3SELObt6|cE#J5RHTPxmI}-1-v> zUO55vvToCcv!4~fdsccrr-+v1@K7Ca>o5`_KESZ4w*kcYbMQ6~fzw%mceew|73@+d zR~~cz9H(Xn>f4|Tw!wcJVU~tdF?70}}GRhT$MtE^$-$gLQYP;7!T*tyDnQ!cFAa+HlC1{qc|KXr7y6}#9LE%^uEj5$L zOs7rR%x?ZDPNxRcCa?rqL4p|RL+S=xJmb%A*qG6m4<6q=%?nta!j?zbQlZHPn%$Wb z_MiYQ8mJb!HP(4j6D<>N_)xMq1z@{mGtjQxZH3}Or_%{478cqgwka?1!E)GQ>{2CZMvDm1}Mi#jOxCx33 zhZ?J`Onu8`S07%7GgJ!@Ztql&Q!2f|M3!}}poo#_xmhkbo76N;*HZII-Qdhe@qw+w z;S=pBmGD4lP`lO0skFB3e1INC&zCLcaLYLhj{}ubOn5A zY?WZGL)pZ!Q1^m*09(W)6qBCy51x2{aW1LlxVIDEy` zC--Lp&?)9_dc$Sj?EJKWbKpKxJ`|!9Fi=5jcAHvCO7url$0e-c5o9b*G)fDj$v{tI zG`4KLNpS*OkrHQ-l5vw_5c369hgT&jabxM4y~Bi9+cv5nX`g)EwIdMmJfm~0;}#tO z^30Oxypq(?mX-Ha(cNcHfT}O86GO zETO{Oidh^Qhl1n!5T_0C71n+ZRAZNX_UFz?`;S5A*1W?6n-7T#=0lw|)Guggv4++K z4L#P-V-1givCgrl!~`tj#yLDt4tkDbFbeYDffVyYpPp7jUL-ey(t=pPPQw~>7&8pv z7qDq2A5*m{hMGc*Fxvp>LG{6;2Qj7{nXW^Gg#<4q<2XuSCY-XI3WM>H1jLl1x564j z>XF5rRPA;0zwC?LsM#DLjkyzVv8)yy%ot0 z9%wMIeP)+Zs%IeK@2cEUy*=4B;9_dLACHQ1t6hM?qW5sX0+3PcR<&2ZTFT{;xGDq% zc1)hVbr#Pvb7lnFfy@f^l=`mvo&S0#JTDWI5U#2uv=+Cn?`xbjzcOop^MxNuN8o+| zkY%^UwV*D-WCJv~VoD0+th4$AS4aNZM|Nr>Y|q+QX4t@FE*Pn0*09VPFeWTnh&dQq zW&~VJcVRw;1|<@rtgJ`nX>cp%SV%|x0E^R*3gjw0)(k^EXEPaOG@^xiIrToQt&(g* zu1P`EXRHLES;&u~<0cnobpdM#@f~!ISgKd)U$XoiNF(SM%1KzP2&g%wYY~s5@u%wG zuZp&;%pbn)#;f=CfkZ=HQQm0z6BnL~MBE^hgIAGwVWn+4-r-&+}9N0{-W%v!UNhbNE~rF6OBI|^5jp?xLraw_#|Le?Wk&fIZ& zBNhTvUX|eXRj1}h6Z+CU^B0}$alK16g8Udr1K#yPkiy#0kBDZvS}*AiZ%1l{xPa)5 z$IcQ=hx{!p+;!v@a_TW8AcWAyg^HjFMer!RwisywPd_*C3L9sv96k@i>#RY)puu7d z)&&iFSi_#NXn;$=ls7Qz8I;sN0~|C1aravF~94E{hHA1wO7|(VP2t zV{b$AHB2tBX3hA4E6-egI3@R{ClKx7Optm7Pg#2QvcIx@dsYUU+z|i}WfWDc?%cW@ zug(HZQeYyol}eT|JC@dSe?@H_(6y&n>sID1%u-o#7uQe446IdkL?-K^&t{xJZ4}G0t;)(OeeaOk(1%jGRAD!zah<*dDRF>hGSJ% z1VRpL+J&RN$Z_8h0W)AGQC~5(TzdN83{^NC{fn#=(p#q3IynJe0%i^~SDni`ihK6G zQWBW3Zf@GO-E$qPtIpEq6>d>gz)wwryBy(k-n1RT987mWJca^g6Iy&rV$bo@m+puG zDugyOI9+Vate@{{-AlWQjTFh*_kkGUF-i_gAhBmE!GqB7EQX0CJ&gPDUETr5>ohXx zFM3)}<(cf|FA&DftYPz57`a7}MQRLt3!)(x1hN)-$>KC>43p?^B^UzceW26uH_Wi} zC1lu#9urdd(M&iQg#moBFh=IXq$S#zT>-QKu&D}v=T+2CWix@uC(Dge9DNEBSSC7l zojaoeGUOiOG+=Bvq!|{HZ=n8^v2Y$LPmg0+wT#>?nBO{YH<}GcqJ<&UzsRSmEs!5@ zHLJx1JQl%H#kB=2H3p0+0ps(d9ym>Ky3{C$WWLI6QI`%}wg>P&ln0jKo3c7ytpnrCg6Ikgq z^%#^dK4h z$GRV*6Ovs+l!=`x$&9@N<#Rr>3UqOeG7(M!sW@U&0As$$eFeM%6Z;;}NXU+7`W(z% zkk60FXMqq!MLVW2#2)K%z)UDLpE?Y&QsnsI z>u&Bf4>Wh}QH-P#FHWRWbJ@(^qnGSnur%@Op4D1jp4N3&!WIvpPfd&#hIOb?^hXOg z{WfsM8dyuY1f*^77?VIO%VdsbfQSxZHr(iQA$9-}OhO!!%+r=|Dt9SjIV65z)Iuy0 zJ%Rvc5#q<9?X?&jE)IfPh+;_8kvJ(#e=$Fj^<>Bp!3aP}RG34E+#VO1TbKhb1x1Tl z1Cf9@A*kK-z?N-Sbfxvrx(gF`!+Nz*^D01r!P?SQ7qo}Bs6|ERjPfj^aC7Ek^*wbx z2f=`-Vq+HHM)ox_b>}^I3}k2qC{k=6vFo~fZalzUF}QMIEN`BLIzIaju=qSMWi&y* z4h|ubop7H_HB%k;S7!A-`skYcY-4$iA0t0Z`;Ft(+V_i6Xnof3hRXjtK{}#zCTko} z>bw-y4r`K@?8(MK0Ft1$6BB&RvHheHTrK-TdG+80?*7LzmiXFgjv z{^3`I5=`fK3Uny;oK z1%846LB?V|L9tzN{;s9U&W+QC73puQPh8$tQK?&Gde<>rDH_%T&4P*Xb zPI<6vU{bQ(e?)7*^fxlyl6=-IZ7Q)9JE1v--m**OvhD4@;)WC3Y_Rsgb@O@Zlt%UT zfh|M3wvrR$xkAeAEiG`jRkl~;Lam-2`(&}zZ_}&k_rTt{k=#KxK0@w~ z>qD$TuJC!&UD&c^gp^;r+(|Yrzx;Fisd}E9YL}KE*%y%iKdauB_vfHVeumv5*8p0T~V_cqgbiB4)Twns7Q`tr!2#r ziXiuxp4c#z8TD#bG@$9xzL8S_?+hNd?t$US^O0iH7iHcrW`p6<)_SZ}N@~FTRif9q@{Q! z$ucUT1!NINn2;Nz%M?Hf3+EU)I`j^Jn*erU^r3Lk-Z>fNM4-vc8ip(xra;C=AlJ0- zZK%dKUbJ(=0Nx`AHdwqW%4|WT5MU7^Vrgs|gq2c=Kb&mBFTrns6QoE}^FtLYv@oL~ zUhvYar@msqdw>9PId}c$C5x@AjCT@7p_Ii+yTxK%H2icWo}9}VJ5Swo*?LC*WzY!N z+g!FY>{lhHJ=v?qGj6c$;!F3e!=_5WN#OM$@~hl(=gp;wV+#n7uQ(Hi)q^jsxdpqQrWG^%BxV%%y_s0Nu$ZHxn~N4`KX(lp6Zv z95XVU(8DUuMz>-X1K^~6?kI@I2uy*mrW@Ufg6w*QR&OfqZP>oacQR22YY7u^8_N!T z-5!i4!5RoR&*HdW5u#XQ;Crtqc1n4l!YN3pq9bC-MayFgnC*!7m4oj*Y8HzHJ#zybKJ@zMU8W;jsft2tIJBMp*WYpNE)xkAWIeD2)bNHIZX6=?*rD^-$4JoM#7S-; z2`AVD?2(jRJP$Y(I`XjNzNxQ%oZm_RBxLR1L4wCXKohZ@#hR7eGM2DKaeAKVGIUr- z7e|tx2_2>-U&BNT1&{$UBbFyx!;TT@VrC-B3%e6ak!3X*Yo-FU|K8h)Xbiy8403q(aBjc;TiUa&S+#EjTj zJxh6LQ!sd}EkpKH7V<*MjMq(s)WO$nqTYUz@pA_8Et7>6!=5&bjt_YK$^b8TG;lomQ; zEQ4#@y%6bQ$}B644UG(mM7M{=g_(J9Orzn_dzhe*t%7J5>jEt9iRAR47l3jdkApy7 ziv=~utdx*pHKanVtXU-+PNnO4IyRufc3X-Fd2OWF%6T_gndw#2VlEH4(T zc^;|#lxM>C0*7Tv0p&p!Dw?g zrhzn%Cb#D|%vL#CncKYF#Udahgz_!9e`NROY>*MN)mAMlQP8eA8ZK#?-7w43WTQWk zr_bj_1Na*x*sx4aY$23$MFZQ(@L0qAdHQnLmQ8S{u$RditiV)RNbZ9Y9y|JMcCW2A z8|Qn*{S1u=Cki~Vao8Ci3c;^f7@9Ge<@NxSN+qy}wKLr}B_G?M@uOpT#6yCmXj3y? zY~*KpE14=^5BE!}LV^cVb7lLGRi=bms1S_~- zwuT$GE_W4h6Tq-i#7rqCzv%22UvA}1tR)UtoMVNKJiRodDYeBzL%70997!cCe_&v% zAorHH%-24PwQDMJJ6;qz770;V_iTL@cg9Lt6zHq=>i6hA?Crb@oQ9jQcg>o2`a_^$ zgc+O21%^4v8j@qfTnSNG#8ly2F2V1C9vC~IKx81q7CMnmg|<7K;V?fK4fYq&E0SeM z4Ozg+#sDG!G7L}$%0%*Ex1wC%m>A9tuwnoqv}~wSDw|fE^?MIrG?Yzfby-k*OPiN^ zsy)5Daa{{YE}}CS1WdE3o2O@Qo;6cIZ8*s+3^wd}gJQwQ1$p(e>S%Eqo71^!(4Xof z-;2yZrSZ7@4of4wNmj+S-?_l05E{^_4(xyBVvKz z0xv)}iq8Hkmut1De*rpa%PKWJgpr6DWyHNK>i~Smz~0Q*C;0auV&B8ssPh4ST8)X8)7*#mv$4+ZIrN)|S`#scQQ$%3S809S=A}vX@H-Es zMk%y&aAMP2vRHhlRC`nH0>VM)RSww7?;#oU9oYEueY^&jKi$VB>vZgp$oe<}1f02- zj4cu-me^tw3G6-wJ%X5nr=O=#sI0GX#v<5)uZRt?N*z8NZ4dj3fIZRJ{9|lCh$;oU zp_#`zax7QU4c^B}Uk2xi^!ezq42a9D|3s;|w;5ddoR{8nSO;;OA%{3c;bQ3oQbhO| zzx>Xhx$P)>AD??C_iNxCOoSM-!&ss4h{GNgm)77-hI=r3z{0zl#l1;tcER9OL?xNa zW9js*pk-NZBpHKk;<0xiTMcVaJr+2;SLNQ#>#on}SyHt(Y-eCWME$k?>@(n9u&aWu`;x`7!@UJh%4ps%g znupQn6|7Cc=5zTovzE!aV3}pdn+y&~IyOdkG{06G*M6;((9<+k>iXB;)?`!DOMC<|Gy| zilUn;R4TCDaYJwPr@IK9W0=9|R0IhYX2CNo?igNOYM*F}pvuAKdVWNS$N7|qg(E=f z|4CMZOvA_-49+3{thp}e4WeI2q ziv&i|5Y3Rd4?yWD@pRgV7d&cZqRE+<1?gB>#1qOb;aDiS4d#>I)=@C#EN7288$1n zCKpx~ryXBNVDAWqvSQn0HDAiB$-0xz@%4IP|FIL@D_(F>!~?_AP(k>x3zo>RCWMdN z*+We6hJ-q4G^>jaSbVOKF2)?*4UljMvFXR@2N5$)fhxBhQKJbR(LbO1U{v=|9fQF+ zAFf=U#M7V{j>~S_v7%wU z_Vsz1d9jvT*t2ulj>gv?J+$(Nplo7!iCyrp!3y@5#uhnLMu0=1xv_TkVeDV_I8dD< z*!iEZcZHBZFqm!}12oKS375SK%ng8p66$fRVrF6(gicPV+|eiai?g#>k`Z6h+#p75Ihy?3fMH7aX!97HN=ODU0DBz6`EDXHe#)H*sXe(JPK!h2bSa^SAxbE8k0D!0^I1_DUXovBP@>TJMeMV z9Jg>KE%tBdM_IxeK3$1T{U}x&F+K?f155$7c&~%y8RNC4p^M7kIJS}$8^J|Gb@3F& z0KiCXqL$)7@dM97a@RkuNQ!aNvg=6_{N+`({b`QOAhjUrvF}bG(U+*2_BOy=XVxv|LW~VAr}MbM2NI5Z7RstVr6M{SCvh2 zp0Bj(Fnt&W_+y_%6J<+FKw8$5ux|;&=LO#Z8p2}pZ_uCr&*8)U?*B(VTw44o;=|#$ zr_h)FUq0M_86WP(|DW*T8sNi~{?qtyc@_r!m-69k*n&HL0(`iD&;8W%;qd#J=+B0H zlxvwUvBp&k(S)%J0N3IiW`7}3ElZ!Ksli1E;e4qh@ZU#OV+j!Wt&Hjx9ZoSD#UZl{ z8%_Da!VJPgEG(lsHjZJ)E|+FpHI}F3)AKVuhf0#%nXHOqqFQ!+F*XxuHX^T>Xf=9+ zcIjD+sFuv7vDX0ueUK|*ktPhBp)O+yf@RRhL8SsF528C<0a;G2q#xjf=Lz_I2iQq! z%vFoX;HpJ8?AQqmfpXb;9s5OwM78)t#EjXpj*U60dF*KwuMZ~c+^0cRvn0Ei)ceC8 zwohSkyr9i44&b0*^9@-_z@9b1Rg?ZRxN2VqGRGXN{{~#O2)JtYPcv8TmH(Hk_Jdrt z2Doas|5S6;{_%etS1rE!6nzMLLaSIcFpKq$2wvFAkRgINED0Nj2`o9qpU<7L#3|#l zo!_~l2DQufRY0hVXpdzBkxY5JXaV=qr9YvrnBCXL1|}Bh);aGpiN&RL(aKbr{l*f_ zK7G-;`)79TOM8J;#yZ$U_G&Ao8xf@DX^^i6u@(SsEpUtseTuDzg9D_Rx2aOOVPO%G z1fVOEdg=^Pot7Qnb?kU!aLv@NU5ac5nJeyka8u`K-HF=j7evkI4yWB{F@|kpjkvpI z=X!u%4961iI|aW?H~rLb(+Y@Peww*yJbt_5eOTtGfM&BEm@3w3{t%-v`yXPY(P#fC zO5;z0iAG=jBT0=v5e6FDgMe{fzKi*@3HV6JKQj@@ukDB@0Z(E}eN2SsV}jB-Q2jWA z%#UA?7&^%sPF~P(j5Qp)puuAe-UaEp7;A`K(C|a6f7Y`z*0VDn#qTwUk&_|+Y_wKm zcsCn9K=A)@p4kXU;g6!Q(Z)}ZX7-+ckIP11_Y)?X{pyeAvq4wz_}!>a(i6Z9c4Oy5 z{Em$=cZ}t}*hap9R*n^}vTQ!^R4i?=Xf52x2YEg$sR;K!!zT93 zdqv9NHKW_F*nq5&EMQqmDS?~-e#cIrN#?q(JJw-e&0KpXTi&;Scd;`CemH*B*W_#; zzq$<&q85#K-KwvO-IZNiX7GEyS}Qw5aG&L5uM)@RF%AeFYN?c2#*%03k*cWrff883`YjuxRvy0;D`tbF zXd4R~=kSXNu`xVWI&t(@1ni`NX|9VOms0t(951AzU=`^uXm_$+nP}RYB?@0T`3F}? z@k9W?6A5*VSNZz2x7~H~E! zFaQT9aS<0u5ClO&q(~Vg#2X|9+7JneARv$dDN#x`+0CvKtDMW_-AcApDP?!drLA(= zUhkQdolR6OM{%tkMwBHIlxR|yNlCm(iHGR&*L&85!d&?0;yymFr}v4O8SEn5!$CVxhBq{C@VD8>p%;jz!~T#T1Bn>d$8o5U zGg#)bD#`r6=Un&y*k0_x|Bvj&BDwSSv*-gJZPxd&y($s0?B`Zh%!$MX^O~@}&G29#FPw#!dv@(b~IUPesmds!dURz(o zJ(9W`up}4@m*T-S$k|og#BqK-J z+`>hz0oLE}A5W0m9i0I#TFb5vl z5%dFyG;F(S;i5)3R3-AOG|nQE)qZC@ldY+6_tumz>{^z6x-{sF#L9HlN@cdz7wB2C z(6X|NS1xZ41U#h?lmwi!a#bztXj$Niw?xWP)-pN*`%ql&;_);Xu-sAkh%D#!Rm00O z*pq$fZ`Yn|!{6MVOy=ExckIcUkWW5@d}%!^{uyrQD%gd5;^(FiQLfcy`CaSLPc2YC zF)+gl1Xa~2{vub_V4yL|l5`Y9kx}fzx%iwvU6=Mae@FQH0)PL3zdz*fKlArL`8&bi zIsR_)7aCisJK#p~O9{n)#0fT3VbfTdUFQ_m0^ptJKycJvCuRq$X0evZE zU#ssqeCRI^r~3PseS>RYFk~qU{-Lj7A(x9-{<1*0 zv$s1cE4KK;c`G)5qNt>Apc_9^*qCD+FnQHj@xc{4VfsmBrJz8HMy%cFUOgX0`0 zmP%IV9p+i1#qoaa_fZ6M>wxJT`X_G>qe;snN7bxwORRSq8bg+=IFzl$KW8L}C1l9E zV07oEbY;L<=0%O|@+ImTSXN>_n_WmHV2+mD!poGRk|pIr_RK8Z%il!CZWXb;^ zzveP5RH?SLd{GPc)VhiTwRLsDk{B+q?czXdS4T;*JJGp_lgX~ICzUR@>{vP}1A2E! zXmG>kwOur)%!R%)9jy(eoJ>WZTG!QC#N9VI9`Y5%`c|!3J%DHS za2c2Vh7*xwZ*O-ZwIJe@KcaxUa!q9jeX7@07G8ksIZnZFY1kL-YU^v9q(k1GX9{^+ zviun$iFf83%G$>IAC(WL{Z&;-7iUeqUQg$eRz^3MLchawdjl{tN^OF}6TOJ#W3z z#+O@gOp@n&pJlycIk_D{hh(i)qb)5vhnQq>Db&zX&u8NHT1Bnx4LVcmTG+J^OO<%d z0=#wFi9}UHMXATv!c7ZKuI}+9*FA+rNii-XokjjcM@vI#AntTEbaj2!#VtWrQRzB& zq&$r860DoKQP*9(>A*idw4>ag;N}dB1aKUK$7`5liQk>U6Ix35tTTb&mMaRQDqlG? zP!`2aJ-cU5AX8K2%QRy6f>ek(1?S<_;UZ5-xHc88;q-%Bj!K;P`Fq>mhAq~9$G>p= zJ4dS=Q@WW;3$_G|bR-ZCBoJGe6}MpRrtm((`^*fP7ue(C_`DnV5|y z%vAncmb_d8<|z%m916OlVT{k6sZ2H3>=fhjuh<>-$DP~)Y}?iKHSCY;Iy2l9U}aky zHJ4c2)$;I>)!~MTE&fWJlIX0A$H$=;j<+~F2L?(}%U}ZH_ta#oH2%tJ|GT_m;T_G3 zK?@cvm~p$AFF3Mfwfni@4!csfZfm!(SbWfa#C{%&8!WnTiY|jJI-KrXY|cpWHsok! z-iiwYFT#AtbTqd+aghpF25G)hCbCx1@$6CbBJ9|Ez9_c=dx|k2t>Bb-FkP9%YRD=s zN-So_VwXh9eGE6QEl4HfzQ!F*-dHkOiQqXtD>k=3_W>!SKaOm=0wm>tE7S z7S0uPv6v{h^D9_HaZw#sHO3N(cT$V>HZNwe{1xaO)LTDbw`N!3u{6<`#DjiE&q7+~ zD~dEPY%XWm_@(1x8E8Ax3o_oiwn`56VL|6|#gj;0>T!RlHDXz|))^)y>h-tl&_dLb zyr#B4>CM(xNy(YTCI*AiW&QZYhND`|J)P@uy@!K(L^&nZ8I~k=EQ!$!OB2lI`6ox9 z@mI}Z`bbOnU;{@Gyh-kGpFe`&U$k;fUw!G~RclwY<3b{Tkik<~Q|;USM?0BBxiZBY zhMV(lF}=Zaa|K?LEwkpfF-)?pm+dcbCVq_9C9&81yw8z7?8lh(nN7Nw-_87Q%(dw* zY>;FdY!{5mN~~r~`WXJQ>Q;B=Er-n=0+RT*R0K`VYFJe?6kh=g(-8i)#@|Bnxnf~>H85D1cFol&#>KAL+?g*N+c@r-;%b;E4)Ej23V)&{UeS^C zq;PbRtgZF9s%uluSarr{C)s?lCQUkVa1gicWOjkIG~Q7GBT2>rzF0>*-W7G1SEg)l zWlfdGRf(%3Po^gBvQo9xE_YQ;3O#Qc2c}$1t?!HTb&jo=fYu=EuIB`^G(~dXWLR(h zWypg5|8in%Tx*-RYBg5$HwO~&<*h{*f5GKIFIFsTDoR8Lu-g06gjLm*s<5iNUd8V7 zzBdN_n?zMtnq=Lo->>#=uwUIhWdCsPFa3vc533V@=$Gx+u($qoHl_c`ap2oH)^l?x zUEVC#!ctbjUUZ>?!mA0dCcK%ju2$9m_wfHcg}A2)KV3-s`*ORo1g_O)NG&1hE*|gV zaU0<$2tT1cimw0DLW=8^%o3Tof^DgjIfIF#9{Xg}IbB>Hl>fK>!J3P-#?o851}wc1 zAoX(l4O!(Kj62wLXB#KHY8RBp;)SSkSui)V-us0%;oJSS&27;VmOl7CU0B7zXG~qO z0`ECEwRhvPVpl8?(ah)zSCrzg8V}4Ia!-aspZ((39totmy_30=EvS{^)}(6r;ILZy z`bvB~eeF!(xKy+g*{1qR;(d#kcgpm{?Zke1A@<|py#4rRrVIAtnTs^W}p z!H(R6@8_zFx2u=kvd`sXjRFI}XPPzyPWYpf3x@g08=5a!a+jfbDgHBMXwHxAh+Ds7 z|FM0GrTJ5NKl+@W(=`~F)AByyWii;Cj=Wp--g3N1(f#>zRvfeA^pB_6E}Q_uX{DG1 z_dm$h-hj2j)*EIWt|ef8OVm;2BIY+R%ID}uq#=y4EQc1O9{3uDN6xYZ8MvZl#aG&K z&w_>wyB;p9U^{_NZhRSWM2m$iN7tiGF+1#Z;|>&`pPWOfh+!Xvvv97`!ykGH?MEEQ zHCoz`yR8>E$``a3O?TLy>V{f)FycCv#P0f96z}F77bjdeEQ!swJG`*9CE~7YsEmnU$G_hZ{J#B9}@XW9|OFmEGF3iRs$eB@YaC2mM@WXW{eXZ}%>` z#kv2;_R7cEto7gKK$I?r*Eb&EW1L@3Djed&4CQ^*|_RQf)y*+vFlLo)4&r^=qtsC}toX@!)aedi!%H8OG-hIuJ_6&O-^ZbD~?fs7L zX@8&pmB7=1pA>y7xI6ekajbY#@pByhc(mkN>C2(tEL&T4D*S9@Rpdtbm!mJm24a5} z|575E_^{#|TyA_cwKu)9vbplbs{K{Bs=t{T&0MPaYHhOik=pMr2rih-X0m7NK3^ZJ zf3e}8H71)jG`-Z^-+XrA!Ip2UHtNr{Y(4!{cc~fZ-3wK^&MZ)U%>L*DKMHl3&wNrf)%;rU@G?(n9jY1pHj}kfubLT{&_G7>Fc2KhDmc0EGIrpoiBo_RhaZwLDf7=P3FKfxj3FoPe$-9G6$CC z&VXeG!?_cL%X7EDSnfw)0tykz`Uq58B90X%evlF)j@?j0I8CpXJBqj|r5t_!MNsdn zoSG;mmiqwITPvp~x4;xM@ylt#115gV#Ox*p2Ug^Y8k$jPULhRhY19!iPs6z%6OK?~ z6v{%hk6?njMWKHkOqrBv6EFHv>U;?tq$W|v7(ElE=9iIdyK)ymckVP8Fjz#-#3=Di zu$Y#{Xwi>B-JuzyXI=xNypb5?DrLgtO45@tS|n<5C_fFGfug;z;e>ZX`Ny?R{VE|+rB4#PUtyTKC7^#2j8fYKrJMzmjPL~YzX{gT-h?SDL0M-A?>5vX4dwj?rwmSm z6{hqGN}nSfFc_qlDk%LNSeknuEHfCUPbw(=budcZDk%L7n4q64%y{N5L0Vlw9XtoQwFC&PS^7^$!IwNmgZgsL(oi8uEOEm%b>pNB&A;jqtH)M`bjWO ztCQv%NiuRoA#JeIV3ol!=%i@r`=Fb#l%m9U!GH-D(LX8r{3ck;8%a^(RWM@Gl+&Ln zN<0thou(*J=@aH@1^u6*?eBnTgS95*03#tq51ar8O`0)ko8nzu2PaLr`wdPRoCed> z>N*&tH`4UO99U*BOi!jM{dG_?VVd^d0h81=O{>MXR`4$Htw)JzMy#IhCT}G@b{5o3 zRYmw+Fdt5lrj|AeV^FAt=9^%O_Hr7S?}H9us{H7NG2h>726;&&5+lW2Olk&$^F95&%GMrIT7H^3rV-DKWWlX+83&_7NLH#dM) z2D8jmO_cZ^xP(4zatxW6VS1y95*5GQ#EPm>5xRgR-!Q z-frVddC~V-vXNrY98a35EEW!P<3dd^w)7F=Fa^uFkrCQU~TRgF`cxcoiQU^ zocj|{qotkJ>FGujzuDk6^Hd|G9hx`6NkeD9!6}2&U(^N z-sU@?=7cUY(z?idf^e2JUF5wCuHdb8LE#iQWa39myvprj%)G^kUhygXjzPbhUb+U> z^0eF0$QbCxOUfm%m)dsI8%nu?R&+ZaG*5?_8M+-?P5d_6-tE|B!eflC9%x0+JX z2b&GH=3XG&VbbfHUCe0L({%=i&C?O{bPNhhXv;M)%v`#JwqF7VDSZj`xr!aRhxunI z^|=9-l71;Q5o&Hl%=f;tQmf15M)5x&q>JUs@+bKe0gsLv`Wya{S| zvx<~Q@z^FVJY=}=km15Zv_dgj*$x>lJY=}=km15Ze7QG?7Z)Bf^Xib{!b6P46U2xM z4>`nzhxm$bf#SkLh6@il#D$0GnX90<@Q~rcLk@A_A&0o|17?Ijz#F_sSR?!aM))~U zT=)U=-L2;7yV!k;3$G^T4mO42!fO}_AAsV*Ye;hv6c=9O5EotpwYNZV;WfNR#fuBC zfx;V@zUU1;NZYT2;=!7&sI_mi$C|>yxb+`qJ3qJ%kh1G|{ zP`Ck#{|-Yzs8$bCliQ&9@35gWOidIc{yS`Fu7~C|EQ>UEtvCF4J$Ww>7XMvu`0sl1 z-XtvkyPg?IsM6O{`s;YPazSAOBj+d>Fjz#*H!yM(BVN3Lw!8vvrFGo!!?(79yqCdA zlV-ocDTC7>x8p&7#PHb>!)HgR;fKVC&yE;AJ7W0kh~cv%jK+_M7oQz5e0Id}*%8BM zM=1Ry@#3>1j7g#R>6_vS$H*^Tu4RZx6(BR#Je@!5^^{B`_JiqCE`V`-BaOPk1hf*A4HP2{}{ ziqCF>!YNREb`um7uW~m*=Pe1op}(10T>-^sHyb{?+3?xT%xss45ue>``0QqAzE4v5TD%w&0C=O>=u)E3-!4{SbTO1DbH|2p1zK)q`U)a z55ARl3Cj$sPqy-nTn3TegDar96*}j@VYtIq=$ry~6W#_jS*U2Qv<*5Zzz|>AHmE5a zW-M)knqsO94(FaHtQmMarC$TZ8Mjl)B~YAkJCv_tou<9mD3le}S3GKZew6gb30IPL z6q>?e#_g!7)edr9#S%boc?ao*dQ&@iQ|CePyB)kQ#p`?D!JAUN_}vcPm*Vxk?||9` zxg(~}cT$J5p!nTR!|!$)ezy~9iWk4z$+spHzuQUPH#m->-Rmy$&Vi-$!!9VC0?SNT zD~(;IXLgyM*+t&xiP=gI?1I8;_`1;i_6QVif#Oh)5PuqtusGBhoZ>7PrI*Iw7w>=- zlr;vYcpDUl+D)2Q!6-G~&2H`ln4oUE;VF8GHykicpG-pY1}Hh(B=MI(?b-L6`28k+ zzlq;(;-^gfl!>1*@lz&#+Qd(r_-PYAZQ>;Wtg>d1sOEp9hRla8OuKQDv>l=PQ{a1m0QtA#Mq zKFeDO7dx_6Wg%SRSYWM0o6FG=>buX{TL@dE|3M*aJ4&p#3t^|D&$?0wBiFQ>3t_h- zX%7~{NG|Q2g|OGL!9G|B`y3(rzZJrM!bc0?fMXy23G;O*at<4;bH&(5dM^kwdP$iGDJu9$5Tvxg=R%w!g|b#!#x z6@OPSGkGX8o;f@_zIWn@@!6@&fyX|n&3rNQ|Nom*{>YIdZBvEj9XkBv-pK=Pdk#Et z|JXeTW)6?UP+xod{L@cpwogy)nV2~= z(a!4Ufa9R!8P4WUVt%{NaoCYT8nB0bdq(><{<;Z0N{S42ll!o;ndQ{lA^v9A4`(=R zHqCG5uKb70za~gCLF`lDUQ()@$M~J#H^Y2?fY@<3$^@l8359Xe-b+8jiaqmla^|1S z*YN(-w?TcDdQ4K<43rj8j}G&D|Md5d&5&Ph8t3mY^v0?A1lEkI@f2}t*ZunD-qzgv zZoDWz zAkPPR+v>SV-uQf(8gqwvdWg5(&hNc>?^n-u@=sFk1U1k&!@Sp6fAPPc`*WDd8n;%= zFfQ~j9%gADmMsBh-ypMb3A&CDIt%m_$p4YwBf(Bc@{2?>%`9H!sHTlI$PgDG!>dCI z*T8quguH4YQmIy2)6U3R#P`z07t_N|eKEV^rL<`od$r~4xmM8nmF#{VVDGSoRsLF5 z*$*-1hgsKdV6FEs>$FXL8CzJDY-9Z}3jf{-7lmKK-#+IU$E@n}SbYAa2b92NH_E28G=7!k=)5B{*GY4iKot+q;nw)w3(82LN6M;hq z9y`46nS=W#W?ZYEoIT*$uyuHNKK+n=Zy2a&KoX=tHhOYJ>=T!nsq(vdd~Gt*GsNB*J;-kcM00X zP43URXWY-a|HA#M`(sbS)8<+0+3k7S^PJ~vp1<;3!BuX?`;d39ch>u?_c`x3y)Sv^ zydU6FquIB`_o(ln?~A_w;ydp9i9hCV@vria`e*%L^8bPVMgM94m4F>Ucf>m24l9n^ ztW1#nv(C`|RVxZ<{m?J4&d@3&A0w@n?ZCmTL1RX^xWf`@~)&%^T$WA+?cyPTD!?=CmqO+II?R ze?Z!gh(*3mS|3kN@&t_(C8#v%;qvuBCQmBv9izq4ziG`WeVepx(zQv`rkY60Chd_l zY{jJhkk#GCq`nAkG+KnESIhSqngVi4pC)aWc8}7e;rNVH`J7kG`du0{X|tp~lkQBK zGwIFpy?zS{9~uf;VM|x0)v5GkWl*|6`Ks}oMs|>=f_9HSl{QSeFloZ12a^^|IxuO# z)B|K{{5h@pl#AENwXxqlKL0jE^k6wBgvQY zW9TBeKOpx>+IO??{?Lw)PWm8eD&Hq3x?xI}_D8xOX?~>lk=92#AEU+NxwJjf^+?kr zJ&&|J((y>LBK?lEJK8~V>9vshNUkT1O@6%JAt#z8a!F4kEsbzss6HdwqSs+Rtk@ zuQVEoMbN)P&MTC04f-FM{knGR+NEoEuD!W-=Gu{~6&Fc)%k0LLLOXHo!?g?d^Hg>H zn9?-5PLS#*DXx&>A}Q44*A0#LNu{1RL8@b3>Z6vy|~B>Cf`y4O0WIRV1zCwUX27`;p{TGF8b^ zwS%7@5x0oFLCk4toS!4-_)6a9`$AU?4arQkANBK8^WssSp5W=LdLw9hGcUR8Nub7A z@7oukxkJ1|qf(sZ7NhtaW9dAtImKu`Z$>8;JB(gQl_X7)ltg1sv&^SQzs9&`Zc)^X zbj(otWk%N<9UoW2RI|W+a#S`J?_UqxN0K=sS$jImYMPX4HEbx$qT6tRyg! zzi6Ey*^4AE_gfF$yZZU-q_LcT0xbtzy@eI@!|bqr$MJ&WMaN$`euA0Y!`45x{;PG| zde8dU4#Ha`ACq*| zN@*y_>Xd(z!|3CQVz2l*dSU z>}Rc%=1O`iX|1HQlCDacD(R`DrIL)muFpu#k8M`FxlCMj;t{%J!?W@qf zOf4>(nE84gCq}dIe9uWHDv79KULn^jt)AV z%U(Fk?lr;g^&#oI*^dsGJ^V)2KUe{>TmEFP+-~;1OWF0Je_yIFS3+AnLb zEV+{Q$=V$cu^ZN2So>gfCT0(;ov%guyi8SlcKvAI?lASs@7+zL0qx@N_oMyjUoSVO zE}-tF)BwNSeZjArwv~a}{rjkY)|`Z?r>sVPi)l+UVM&xcv`1dVyZN=*_b-9QQht%8 z^6R3N%jn5|euK1k2s*3zEkX+LAavI8TSVJOptF%*8!5nMa67*N`fn6EJNR|cD?6dH Si{GH>f3;74f&BNNF8Dv+$;1c% literal 0 HcmV?d00001 diff --git a/addons/loggie/assets/theme/fonts/coffee_soda.ttf.import b/addons/loggie/assets/theme/fonts/coffee_soda.ttf.import new file mode 100644 index 0000000..c51dcd8 --- /dev/null +++ b/addons/loggie/assets/theme/fonts/coffee_soda.ttf.import @@ -0,0 +1,35 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://e3rpni7mpu0p" +path="res://.godot/imported/coffee_soda.ttf-1c45a1f5c42cb2ffa335471f7a4924a3.fontdata" + +[deps] + +source_file="res://addons/loggie/assets/theme/fonts/coffee_soda.ttf" +dest_files=["res://.godot/imported/coffee_soda.ttf-1c45a1f5c42cb2ffa335471f7a4924a3.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +disable_embedded_bitmaps=true +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +keep_rounding_remainders=true +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/addons/loggie/assets/theme/loggie_border_box.tres b/addons/loggie/assets/theme/loggie_border_box.tres new file mode 100644 index 0000000..d108787 --- /dev/null +++ b/addons/loggie/assets/theme/loggie_border_box.tres @@ -0,0 +1,14 @@ +[gd_resource type="StyleBoxFlat" format=3 uid="uid://ckw36egxdynxc"] + +[resource] +draw_center = false +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 3 +border_color = Color(0.71, 0.52114, 0.1704, 0.772549) +border_blend = true +corner_radius_top_left = 10 +corner_radius_top_right = 10 +corner_radius_bottom_right = 10 +corner_radius_bottom_left = 10 diff --git a/addons/loggie/assets/theme/loggie_theme.tres b/addons/loggie/assets/theme/loggie_theme.tres new file mode 100644 index 0000000..eb3767b --- /dev/null +++ b/addons/loggie/assets/theme/loggie_theme.tres @@ -0,0 +1,95 @@ +[gd_resource type="Theme" load_steps=10 format=3 uid="uid://bntkg3oi4b314"] + +[ext_resource type="FontFile" uid="uid://btuvtbhws7p8s" path="res://addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf" id="1_ucfms"] +[ext_resource type="Texture2D" uid="uid://bfnp2a0sbhi2x" path="res://addons/loggie/assets/theme/checkbox/checkbox_checked.png" id="2_tqabx"] +[ext_resource type="Texture2D" uid="uid://dqf5cye21gyw8" path="res://addons/loggie/assets/theme/checkbox/checkbox_checked_disabled.png" id="3_plx1a"] +[ext_resource type="Texture2D" uid="uid://bib1lwikra5kr" path="res://addons/loggie/assets/theme/checkbox/checkbox_unchecked.png" id="4_yp55b"] +[ext_resource type="Texture2D" uid="uid://cloe7vx2ej0nf" path="res://addons/loggie/assets/theme/checkbox/checkbox_unchecked_disabled.png" id="5_0424s"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_gb03k"] +bg_color = Color(0.349691, 0.30101, 0.201282, 1) +border_width_left = 4 +border_width_top = 4 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color(0.361244, 0.323458, 0.213348, 1) +corner_radius_top_left = 8 +corner_radius_top_right = 8 +corner_radius_bottom_right = 8 +corner_radius_bottom_left = 8 +expand_margin_left = 2.0 +expand_margin_top = 1.0 +expand_margin_right = 2.0 +expand_margin_bottom = 1.0 +anti_aliasing_size = 0.537 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_73pt3"] +bg_color = Color(0.767332, 0.598222, 0.330864, 1) +border_width_left = 4 +border_width_top = 4 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color(0.943861, 0.775452, 0.522251, 1) +corner_radius_top_left = 8 +corner_radius_top_right = 8 +corner_radius_bottom_right = 8 +corner_radius_bottom_left = 8 +expand_margin_left = 2.0 +expand_margin_top = 1.0 +expand_margin_right = 2.0 +expand_margin_bottom = 1.0 +anti_aliasing_size = 0.537 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_xxk7l"] +bg_color = Color(0.661808, 0.507874, 0.261375, 1) +border_width_left = 4 +border_width_top = 4 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color(0.83, 0.629555, 0.3071, 1) +corner_radius_top_left = 8 +corner_radius_top_right = 8 +corner_radius_bottom_right = 8 +corner_radius_bottom_left = 8 +expand_margin_left = 2.0 +expand_margin_top = 1.0 +expand_margin_right = 2.0 +expand_margin_bottom = 1.0 +anti_aliasing_size = 0.537 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_i1fiu"] +bg_color = Color(0.6, 0.4574, 0.228, 1) +border_width_left = 4 +border_width_top = 4 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color(0.83, 0.629555, 0.3071, 1) +corner_radius_top_left = 8 +corner_radius_top_right = 8 +corner_radius_bottom_right = 8 +corner_radius_bottom_left = 8 +expand_margin_left = 2.0 +expand_margin_top = 1.0 +expand_margin_right = 2.0 +expand_margin_bottom = 1.0 +anti_aliasing_size = 0.537 + +[resource] +Button/constants/outline_size = 6 +Button/font_sizes/font_size = 30 +Button/fonts/font = ExtResource("1_ucfms") +Button/styles/disabled = SubResource("StyleBoxFlat_gb03k") +Button/styles/focus = SubResource("StyleBoxFlat_73pt3") +Button/styles/hover = SubResource("StyleBoxFlat_xxk7l") +Button/styles/normal = SubResource("StyleBoxFlat_i1fiu") +CheckBox/icons/checked = ExtResource("2_tqabx") +CheckBox/icons/checked_disabled = ExtResource("3_plx1a") +CheckBox/icons/radio_checked = ExtResource("2_tqabx") +CheckBox/icons/radio_checked_disabled = ExtResource("3_plx1a") +CheckBox/icons/radio_unchecked = ExtResource("4_yp55b") +CheckBox/icons/radio_unchecked_disabled = ExtResource("5_0424s") +CheckBox/icons/unchecked = ExtResource("4_yp55b") +CheckBox/icons/unchecked_disabled = ExtResource("5_0424s") +Label/colors/font_color = Color(0.980392, 0.843137, 0.619608, 1) +Label/constants/outline_size = 3 +Label/font_sizes/font_size = 21 diff --git a/addons/loggie/assets/updater_bg.png b/addons/loggie/assets/updater_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..26d48d1a08db3a125c2817e165fa8ed3dab96008 GIT binary patch literal 701492 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

~*j(&{a|U3)`jt1o{Ng(we{%Hb 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 vuS+ltl-`ve@%vqG6y|d3@eFecQHrHh{gt%8z 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 (2-_ZMMS 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

Uq7(JbZ#2v$|Z8eHnCm3w!vAVpzZZeUOX;3u&D+ zN1a1&Vdb>wA7f_*8i^nM;n7dpX-aa_OZoe%Rq1#2hzUS$PW`2s%Y( zbd_}DDaWKDRtYm=tH60#_ZV^_nsNkXvt?&FxUwdSV#X+ZAcuW33c0c zl>kvFEt#cs9H~&Dva_ILw5D7@!_25b&6tcrQGulx!uE38MfBz67BtZ8am1nvE|@Tk z)QXv?3RFvtku1j%Rx^+)%%ByEz>F>k8(AID!tlxJ0he{sb8lTPvbN4`qCbg*5Mqp} zcCj(0U-pp;jxD?uCAOH5#-!Ea1J2nDfT83pH(0zW6(JH@Orbx#-0M;O$60pkaqUmR zaMGd-hN!f*^-n=!`4JQ@Q?5$M=ddZ|6!1VBQJpe(BSlh7L-z!i)?9NNwTBpv-TqjR zw?j75r3)XAqCt=2$Z;+)S&T`usQ|oGse|w&Etza?G+h5UB^x*Lu7n_|xe+PB=Jow5 zM`}qp>?)E@`Nlb{$4_nA3vLBoJM%@kI<|V#QF~pn!tNA&8bouK2t7dsUekt7 zQgT4ZkRwsJh?4BDAAf&*e7tV^7Bt6tcBv?Bhn9qKfda`~@-YW7osB`UQS9UW$Vi)EdY)O93#BN@*Twu6kvo!|k;Y5LPg+Fjg%e#UTuIMy%2-97>IQ11gVIwDk zlr!U9so+;EtnoH&4&J9L0bGa5avvYg523#KHXNaDU@YQ%;1MU8yPOxR%||)o(Bq5NNC6lhsvyHJg?DDwoy(w z4OCI>Qt+>k6oL)8=~lvj3!*XGqc@+T z<{qws0a~t6;tCbz3+W6-KO^iHSjLXkQWRSA|w^i?$+%o2ITsL;~8 z*66SN*ILM2mF1SYK4`#p+I`A!zSl|7<>*1e=Ksi0=TWMZ5mkD>~T4!Fw}+?XO^r-QKcHl=hTkLU)1qRaqhl2 z{bRvQE+2ZE8U$aW!$o2Xod>O4L>`>}(+6p{JK{y2aA311Yc&onS{e*I=cg6EWF;Ci?GcxlPwK_-JVh-!*@=b*^t||&; z;Jl#^g9a=t20Ni~aVj{iCa-&MZz;&BQ>qFqvVL?hIz-YcgUD1$;=*)__D_>gcwrw&lC|!mUAyebMaSaumT+M z5J6C8K2?=R7th>@NkLLIHRZA&$0I2; zkqQYR95IP>X)7Sx9`sQ#UjaB5>5TM1*Hnb)gpo0@8^++E5WAITxn=D%u z_morFosEu_UNRgkuUG;KNycpp`hcJ$QVh%!8RMDD?^udSD7O}aog1wJU-XhZ69rSE zKpsa7ThQzo&~tj)mY|scRt>I3_qu7@SrOSjOIkV!56Zo#*|5b)&9v%d5REbyx)EAs-g9)_Ev39r7cqd@!%QI*oAx8z{4NyNqTW-uad*YQgeM z<0T(q&cDS4Xmiz-FI73)NOtNuk-ngBR6+-ej&Eeg0cXno={4>hgzJv$*6%2i(7qHs zfKlUbWb`KJ)Dw<+gMy60^@|+H*{d}%&KjJ65!c)l$mp}hMddUtGOV&Z+ynyE17#MyPy0Wt}60RtL?M0xhvS#FD|Z0ZJ#jWChO*T3MXSa>GT0P z-#|G@U%-Bs*7(@9MXr~>&aGXItKvXssdpHs_i^NBblp*xgz8l6Ab9tz?*#Qr;a4 zV&l(KHy~v!zpub?9PxN;JAx`sT!MU5=D-Ox(U1w^ql+Qda@f9dI1ILmql!-ks6N7G zlGq*5Yrxz1igtGbNLMo;YXn=5luaIMIJUWIanWdCd@bJfByUL<9NL6J1LKpV#;A&ovWcCD00X~qj}}FL`n5*bziF$=iGQe!iVwK z`^VeM>rfOej7prY-%XKt9&5RHY0O{%T~E&SdCE26ZSgcuq*-b6=$_NpwYjYG2u>!3 zo-m04so+2ncA?>Yxh^hR z+%MO?&~)>iilPoD{38UO%{`WDWnuBu3UvGAk++#E^Kqk!5W==?+a9*9Wt6IzNH7XD zXb4GFEb+SBCTCX65N&%Aui@>v=Ah^m;&q9iU=4cwU-|VrY2BYRAK*MM5qey6PJxaz@lTY5rmz z@cMSa4_^Gn%5G>_%db^)H4TUIbUpoa2v;NIgGxuEwmM^hwTS|6+JhpA4Q9~%IMWg49sL)PUc%>)dRuP1+U9S0tTS6!mU zMZ_${6mAl9OJ*80ru5QD)`aUPf+D4&K_6z0&Lw~Cet6Ot;1nD@f~z!k&*7})Kn{~> zIV2^YPa6rd^%SSPQ~Gc^518f)S4d7u`T6Vp?;k(Jio-;r811%)6s16zuP z<{p-kJ+({K-S2vXkC9Res?jXIe;nWA?d4WIu^SVqGrverY&jhY{dE}N1FyUCDhemB z#~3>98AK<)6<4To90}*aL8}?70*cn`3$Dh9Lrw3cKg&!fu8KOYV0TQyJ&x^a`wns zM_A_XX)=WleEQtS-EPIWqaT^LQ0_rv>P?1RgbpUg=*adXPSzFAV2_#DN*OSUSwoNR zv(kdZD551UqH(|qXC2kpr|m`1o(KrIY?7|X?4Kr?JRb3JBpMY;O3Hf58lIeoFDV&| zcXlbDTbKrbm)jO&JYu{*jvUlLiXyimDO3L~Q@}05SMCGCE5f2g304AiA3K)`!YE+7C+n#MiHE6C= zLkKy9*l{pqsCZmYB(wkqh&ON^EA93wU^b&E)p1{VmXmB1M00R*m04!6H*>Sj+bf2! zMzO?X6fnhTCA!g!diHE6?LkTz%;@tu4yYOw$K%KW9Wfq4Sd6wIrD(>KGOGHJBgO%}7uEL;9k!%g2SP z&_GYEEd3c=?bDp7hDo?f3G`!C2n{IU-p8+xzkd9B91n$-|5c=v0yIC465`?b2BFRo zT2Yd>TXO{|e4~?{vBH+;7)Ol1KHm4+-t2n1*<8)cI0L$K4b5tGyJVF+^c&MFGgG!8 zOLIAn1<-gjwF9w0mqyjXwP`hKMyg4<08bq0SI$uqr9K_VT{x@2&%``&q>Yow%HR#^ zWztPpOmdOs;YAmmsl>x-C$G+09eXu#jdO5&BNBIuA z7q3r7shFUOi&klUOFgK&hERKJ?3OHsdc#|bz(XPQEex?71kcifcHJjWZj2C$QE;;9 zAxCp(o2|RoPjK?Jt)I7H}QQ_qFtgNhrVkDqa)M7PG4n_rW=vb~HT`nTMGCWWYTRFR;E7#IsK0 zN&Lu(2z2RCjFqH*AwlBrfk?cDl5AyQWf%D>L$EYPgYRh`)*STuG=Vd_*AYf#Hqe+n zwlHL&w3C{%wNFi%t4=_GLuWGMzl+&A$)_lcZ8qtqbH^Ybk92>;Tsk}M0rEh-CK#$t)*w6w(Ds36x9HJlim%0*`nAYL={~KHs*DIg-3kuZb*)=*~}6 zh1FP$%m>Q_bj}gSnokP9trwjMjTz*HW>yIRGrQl9d>ezRKvJ}lw_JKw>|4mAbQB^> z@97jOg_l}0+MUS2s&7evY`~IfNLPZkMD{*dg;P;f38Hl?*OI0;iv}9zNbfFMCg+KE zCXX|BGb5QYmw+W}85d(oGNq6#J|2fEQi?`Cjz>)C^<_)OcqDUISh9CJ4MAdzF(p6E zR)d)x$5ER`#C%)zxb5LMqUvMUa2$t-X$UFB(iB0oj(BsBo>@AMBX_^r#Wn^=OzGp} zQRnB-I>c7&F~&zcETxZ+$B`0{D)$Ffy&y+QmJ(CKO<$lQ={GQQes!O-n(tW`xo-PL z(cA(#Ln>#bhUJW|aX2V*pe`Y5#>eBH`wfT$)y%uAh@5E9ecSFl+;nn5efE?_EarEB zcf<#kVGI2A{_&6Rf9Muy9NzwOsqf;3X7;{}p5~{5U`~KojPOrtjq9mWcNxV{*s{5_ zf^3I3EM2kEF0n+$I%D{ojcee*~#Tlx-a#>e(oVwi^+Mb*DwqM z+ygy(3UMUO%ZXz$g8OH!56B73z*u$;;2BO~iR`IdG%naJ3uOn-IBmT`%ewJwx}wma zAs}e=m=*vf*au<(qL2_&0~v*5oh^$t`#ENC36fke&2UMe!m7b~+U3YuPw;uMi%)$H zM(^f96vih#p~KhD9gce=F)Nzq|GYwOutHS5cNL$a3jWEA!Jdwx#5Hh?lQ-A0Grziw zC&`TG{t;hjVmSueH+omyquD^x0dl2#&xa5OjBxT0h|(M{$kQUlWQjW@m!Ho-oXgYV zso!>#%IWV%AV_QVcGkwjJK^Lw@FXAiBc{}r87V2Ime!ZKOx`ag$Km<0d+AApLTU(> z6T4|y;hneZAkYvL(4g5JD5jKgR*;$Qlu}X+KuLF)_T+Nkjm_4=dwKd?Y8G{qZmw!=6N{dGaz6_Rk~<(@A`S^1z3{%$ToaBIiC?O(;*j!CUT9& zmqN1GsETI8$VP=x%^qP$W<5rSnf@?PLt8rspMAkb2@+Mc!;Tn9vlO#NCdL#~v}CPK zEAe@iyr>#P4s;&5be4rQi=h^KDaoiI7>hxcDkQa>(PR{AU3q@#!Q4=Qz9kN*K5O&x6W!^z{)BfmJJ6adA~n?{QUKZM;4K1mQ=^t zNT{kH8z*M2(@86pea|n`~V*^Ky$#5ig6NqubMb{W` zRnRT!c&<($%iqdLSWzMl2TiMypmRzv=KI)~TgC3qPT3!;3ceSXtfqvMRUuD&2d=sb zF07?43bIL?&MT^vj2_+OZ1j2x1ms8;<3&LLcQt-7OcHe2M&trbA2wQ5xk1OQaUCZ& zgSEY*G)!}1`aar`?L2v+B8i#b+tWQTO@`MA1pauakO{I$V0R%|acgo<5&#dBct;O! z=CzI>pm10##T}d%2p~qBqkO6MqZpOn3{?b$_WfQc2qFTe?3Ss zo@Ch%E>r5T9H*TAebIcKc9Ks=>Fy>iaDcCThjWqrDdHj*0p6d(k*78j*M<9)Vbs*a z!q4C_V+Arw-xLe0uFrR~uiQN>G~)KPd;X+LVNdFm%h2UBBsGqvD5I&<)dcCZ^m(#) zTMAc3({mB2{-Aky;W)xH7OPgk1va#h4_?fqC?by|J|6MN(G-e(+haTkfg%@D_4p_o zn^`T+J=G_NyVY5mkuSGfMo9LsrNnHkNn>OZL2h!g^c!L%w~)_^RP2Ar%oAh&T2x^{ zM!rRal2Qz+K{ckBtdh!x(Vh5&v|K#}Xx@i4XpJV6lu}HVg$t@0!bTd9MfQ=hZ6)+f z@*T_HKdZ@ARaIlXDUI;kAS!nRn?kni+(=EiP~(!q5NN2 zu?lokU4_uH@>|SOgR{y~bdphm%y3_Yxq^}E6jn5$R56Qd-bj)mgrIrcpS30Bw6>}q z$vK!b%WH^pyy-fob`E=91q%#lr%6_C=aysJcV=l*T_va-!UA{}>XeCSG3M*k&{}r4 z0gQ@J?#J=-*RRLpVP#c^IxNO;JmncB8Wly`(b}uKi<7bk6*wQEHeF~-@7MeLx3@R9 zSI_z1%QFOnr=V9N;KX#DS`p2=)7+Xw!34ii^-5m+NW|2+d_!3TDg-_WPnlzV^v(9_3LPIPA8xE{^W|M zMc;LFYnjNXCm!_>Y27Z<+!%Tpm)4@< z8fnX1pp1Y0u(%;TRtU1nFyXqQ!MTp$0_?!Kvo$}x&(vAf%$`z+suepxSYh54w-pt& zN**Pj@$vjWuWNL0be8(GT*gX%^T~jIbc4s&YF~Y7qyDA52wYC?aS>Iq>_*6E?aJ`_ zadBsGB0(*CIS!}52)0}(#m|5A1hv4ILpCTESn{>M@E6;d@!G&Coo%^>xoCsojWNhY zLhgm>pEZ5tlPP2qAeQWeLxgor@FW-+%oS(Uj7*WlpT+!@CUEi#}8U zN!i@Wx`CCOP>KkG>cN;&y6yYN<5AqGXd;pp2Vlk%aG0|k#Kxcq{un@?GNVEB7ZXz-7-slA5Ea70rRjzQsN_k^v z$mP9W+osL(NOH7^;&C3n8QEsUD^|bj2iNStaucK~ywH%s`WLO)G}U zyPuT17N!W6kc^lkLW}4^5i-xN$(FU^NXYVTVYO<=VN?>Ra1!$#lLB>vKU6fW?5g{| zDG)RWB&Dow5A96?L{%A#Wi&Hu$T=!zM?XbeGgbOnAqzP&w6)!KY+HGi>g{TfM30eU zg>U-KJ_!3EFwo47d;InB{&*b87*rGrQS}cWCCw($vR_;_p@V3jCAT-V-A0^hA1rc9 zi@>H9T&j3Hju_*!}|Km*R=pjJf2T`m=blv^t>*W0OjH*N$nTN-mE1F2kt}AWy`qD-M_}go%#& zdvSIzNY$fR)T&3H-1W#Au-Rti|2P?O$=@*PHdPCP5oF2QXjT#&&GOp^21g1-y_;og ztvi3^U_0+Y->y{oJ5T#aLwDFDkX(xrfRTx{?w@>K>6QGKGvRHX^!DfARzBuAzjq~8 zNXWLiknAMV_XyI3Nagd~zQ#g*9{ByFUgXNyl^5UY3)scNdiObG@oDGt6#|!BU$8v= zbnSO+0faALgk>Z-SL8ssh|751Fbv6}^H@dXitzf`Px;EP=Mg2(d$x6>bvEeiBNuOl z*)sugK~>=?%6*A(w`HeKu8k|Q=DL^a+gO=rnbVn^_m(M{l>U$-1V7$CVoYJv_8Aq* zz?9e$=2FT^X{MA45evXc+mtLpHS?)LP>7^t_s8+}@}demsIVNCl~2Q%BCSV`LM5hD zBh8Rvq!Efb%+5k*sv@YW3a9|gQ?^;mizOZIHt_ifWaQq_g4G*6%wk}}XaN^P2X7468(_NG2s3NBJ? zP7tt4JFbel@_j4^t(PTRz@p|`#wsvw(tDwi$x4Zgq8g%aCo!aG)gA#lZGb-Qgi2La zl$xrM^jiO}Ij>z7=~R_FY-N((X6(q4eeG1lEE7W7LJ%MxhlcXuw=Fyl%LD&>?~DeK zjA{vG3tQGBZ5mn{U|~L3Xgos&tRMxpZ6TQ{lp@={rDUpXqWm1hM-dHbmLFyE#xp)Y z9t(oX8uOom-m0;d7^z{q-ENOms2b&{*Onz-nRvy^3VuUriF+(6mw3cj2$m#NU$)>L zu6hZ2c26h;F^k>VcMOiZkFbdv#*n@o=1Hm*SjhV; zAzt6eA(U@CDLZ)VHp8xgqO-A^#)r=3YDma&eo`!kyF>#z*nR}3ygQC)9LD;i8%F2M zP!5yKGO_~e!7+%dTGgU;B4Q9_^SAcUD;&fj&n|rOv%YdYS9SmNmYwq=u;PjFT7GcVEnxLK zSn`XS`O?!wLde1j{;CjvqN0af5S30Y3#W=7_!@y~fkC++_(a&>{(^li&0VTGoC`W0 zI@&lQ7*pMEb@Q?Fl|VANU!1`J>%7B*w|y!j*BpycF?lr{>gH5gmF1ZL(=p5;wfDT& zC*hA@_ptA&GO21}ZY_kfSt^qmi(DICS~j*rMq0782^#i&|M~0JBObTg9%FnQ_jrWD zv4>|6WqmA+mQo7a?hycR#F_K78pszDV``r_J8#0pHL>wM3N zD1`7h4rbcANuq_IDWzm-(~u)Owh%rZcM7vrtC^WecKxy*Oz5MRMnKCXWDuzd_iMih zM5SGHlv!yUnwRlR31AE!=&0ZtU++RC#K~e^U)~j&`IfCT5T{rB;D@IPxqyIqF0Ll5tjC z6Hm_s@3M=Q(fvpR;84N0MP1ytoauTEk~h*A;HB`(@pAu0!#sTHYCG6OV8xwwWBi5V z=_n&zW|5zPdaoy$o+cK*Gib%hbJ0QPwB-45bfSYU2fV{b~zp9o%l0 z>3Y&hNSqz|%RbpW^#*s`rpfEhyM&LlbRMhDXB%gXY;d4*Js~DiW^=GzdAhOLj|oYH z#_e^|Q@Ya0GVP3)&cx^cI>mx794yMKt!&=j63S#L6RWBUuI%0Ywxc7`^T>RPSpRH3 z{hSN~-*}u1prpDCJ^5CXhaP&VI-#D!)MD9|@mi_;MLv&QKog(N_2&nT)0=r>)xl-n zke2`yS2k-`m%4-$_=U^{-cx(kf0&kTjkvD`~9(ptrmaOuw`{y_9*p%=_#ek02&HYHP3yw@-~cT#f!S-=H^yN~2sp3gUSqe)OMBLI zzn8U(99jr<^Ns~!kb}$p^BE7By_Knzr)Rk}E!?>#yDUn9@^V#Zt4D?mr9uC6xx3i* zQ0UQ$YH2obz=wmNSh~rkor1u|I&lS;LNo0!(E^b~X$cyv_$VOc#6cGG;xhjiGpZGo zD*Mf^Dx-M=nr+FaaCbJFW07s&pqeRO{dm+$CZr@YJ7Uc0t0q7%d6zV6_XV43maMeb z&9Oc(5Z)jbWDA?nxnKZ6gNbDZriTf9K+ME4YMrNQb$Efe5}dYX$tv>ay^t~ctPMiI zrt9i6KU^dXR!bBtXCzePz-sa4JjLDd%;HHyjq(2V(@$)XCBqb4{gtP?>iKzrY zP_omgcpEen{{R^fp{zvTe*Sv@^>G&|E{N#zJDWNos zL_Et3EkCYVKv9^;WX3WgcPD(~$&9bcpcA7H9lKI8uIKwx7uU=6t`aI*Axff!{bk#C%dms>lD;T&Ok#{bKkmnI6vka+ zNuY(&s6qg3Ry`?MyLtttkUVGWQzjU>kB`aRe7&uP=Gg-_>HleAU?{eVNkBgoAR@tn z%5i*r+`qlOL3-Oj@}hlnAq@_kx_6`rJRa}2DRr}w7<+R8$4VTQi{ z>GSEQ8CxDT=xFvZWaPA2_*^R>k6JL7_Pm}H4q`!G9({8K%j*GodC-&p804&BpT*{< zYJIwrjs4JOa}9H2I%iIR!8^38HO2`Z(Jul|kA4m{g-`E>vm?y$kTyaLBamF4?+EveQu84ZTpu zmoBy77eWY}Qo7|iYVm1Hgv;GquHlglf}$Hx)sU^gOHQF|YBbuGwnHULR#hyk$SobT zlq^|_DSdl=Jz|6*Gm%0F$;>PnV5FI;sv;aTW_>vdBH`?rxC({z>g|wfpb7AF-Z2ei=*&Hvi&Zk(it35e4(9#JIY_xGZK22{>ztOk6BG?lk%ZbU zmy3X_hy)`$)r4Zyx!v*eY4rE67W0;@M9I_w-$&u~l#`}=$gD`6$+fKsslZ6qsB5KZ z$ZW|zMfa8LZ6iSMT($^*yLf76*$0Ffz7R&raimAO@7t!3Bc!I&Fw+B-MZamakcLl~ zT)8jOVLZH|EYC-YBkf{z<>fWWOGXE;Lk-t6KMjKqDPbm(8sQ>8kZMm4%K1}5Lsl+hrdsLN)kHk7>y%Og6BrB@3n6F)FD-}^2Oq3{n)4OTNf=LzQ6`sd>br@Y6A^vidCAw zw>?$ke1*c*-j?biIbspEw~4>Be*OUa5IP)+Ocr8Jv!zcpq)k<4B-Y$1q9 z01`>c<8j>f?e+E|lq05^2d=5?Ooamigj~VoIc(u8nTe`+b1vp8T(&L5!#33|1ijq= zx$XNu|M5M0@|rdOD{Tz16r-i`Um3uGW)0#P%L`4(wrzV+{qx5UNfLBZl^7+#j+n|7 zXRBQ^k-$cwVX<9ev9-+}rk$Kyl8`!aRWOMpR(R$(zr;{MOd(g8`f7OYbJ@U)<=2$e z)0}>XqN16tm((j7y;;2*h>^{^2(+9kp(bRi5(!_IvacxgSx}LJI2j8HksjTt9W_?N zjHWs4ydO5X@TQFjkv1o^<`kwQD-t41HZoJ%U{RH{_E%L0TOKz+WWWAitrUz2*N`s< zg2aHn8YO?2WOA4!i!=+0+rE=>9MP({tDQGGCNQ_?trlH6IuAOMMOl*R6r3iBC_GLh zRJIT(LZb4va%}uGleTNiMVX*kKjX}E`x518_Hn*381Nq|n~uc$Se zFMfOF;NustATi6Jmx4dpAs2*bFJJE)4O_-GX_@)b?%s(4#uLG-ye4C}WgOH1&NX^L z#^lv}cR^-N{M7P6lY#a@!`3 z;&H@~5LHz}ZWTm=Y?6|tl=3(^ndJhsCDo{+cte?|Jug~RF8o`C24gN~+jMDR&%7i?j8^=_f^gugtJ;W}36LF+tuf@J zM-ssE!y3EZE9L_Bn;CJk?&-nz1Ky;KJx> z<~SK9MvtEpRQZc6lfLT=%K3@$IV)P=xjc9Vh@3(CEAXFOem*YEeU?SnlEeTJ*;Y=x zuBm9dVzU+W6yzZj0uI;mo)@z*TAMo5ad_EiiYmKaF`9La`H6Lte0MrdX5cDLV~tZp zeEEtwzI`Z;n};=r8N-mDK6@d1f%~bbnt69qDECzt+mcL>>lkf`NT@Fb`z*h(s>-=- z^d4fPejPYjHsP}ZQBKLA=enO|2bsn395+T{;X=qyjCw(L0UoHq#A;nzB0GrpbOACR z(QPzvCgeQf3t@y=`6;0MAN=Af7X`!2gnk5w1;K2|n)?#b&W)LfF`<3jhj8sofEAtW zRJ;3r9^N_tE}y(VM%P+&!#qFeE%5~$JKpoV$x*-0=}h7}w6)u(JL^)2Ak#zGTOKrL zD0ixsF!G%IT+mpPWcKSGX-p|)F(^dq$D`#TO|n+bbt|RWz`%UHl8s68OyY=9AX^Cg zzQq_b(Fs@w0|b5w?RHtjLSpdl0XyY&=AL_)|x*D;TcvnqE}4VywFMpMm%FQ zNdU?~HNVU}pVG_t(P)DJ;9e!ziGM@*g2odP@L30BXXFh(ZCq7)goO5*+wjt zjl8_+q|2+iPDEO{d-MZb%Q31cWelyGl@(j6!o31Gj%5Kim#m49 z#x7Jaa}ru*1+$QH8gLE5F)^A>^QNX|tc{}x5tPQ5?50X%P>tyrV!%A-EYsGAEY`;Y zs=D4APpoDm&61gX|Nh5czdkG;6;-d2cU7e&6Hgu*hyznXMmF6WXixCY_-uqEj%l%! zY#)q*f6~Mtxu4^dJ%_rH5NC={p9w-Pm}g^+c|4BeI6`=tl87eogrlKU+v%HcH966D zaGF!X36?lmdG&b2VRVEcK4B^W#$%vnb&3t0a>+t#h6)oyY03kqjIn?8MD8}f=imc{ z(c08euZp`PWEIuWr?I2tV_`v7zqbu;PlIxAie}`=5_;LM(Wh9*fJLq8Rjet2Bu^09 z4F8Uq(wHau@M7_dzTsIV(^iaYw{aD%gu#DUFitd4NR5>(4S(CvT-G^^89A48{ET;4 z7N4K5Vtn`m1iJk4Q?R`EkDCS4&io<+9lalFE;ks^chZH(tfp?bC<-Z;IKVaMYMt#p zOCaX=q`&l6-1=n)y}X`*!o-RI!C{+xM53+snSEWM*=IJgV(Xu2)l5 zPMFz`zuyz>=llJBkB>)!;N#;#;lACr5Nd{?m?bNIL<1u>2L?)3WB>qOLdfybS(GAz z?46a{xjb<`62HB@et&y=9Qjww&bcwBl#+;KQX1(5`(-XuuA%fnHk=8Bz}GfDn7GtJ zjxABBurwAIThx(rgRLrEzlk-wBGyD`jK*k8o+;pyfXB$1;VfQZac~n&7AN)`JdY5v zyu0MXTX`N{IptE*romfD87~K{F~@QbIljelxe~e*1rRGRh$8cg0nH>OS`WPwQ~`uD zfrhkr^5#V#S*lb~3#ODT(F<*~r*`$RlBy<)&$n?71kWj;LrlbsN3wtZd6lHj<)`cI#0acsA1x8a-{ z^3|6#45Aq_Ep0S;;#ORQi!4Eqja=Sd2h-0Hw{>DYw~GW;$$=OL$(+B$K@2hxX{71N zWTqzc4>=_LU_Ghe={4d^?wD!W=U9Y7({k}-r&<1-O1Vtu7|qpAf^75>QN^nJq2=5~G>SNEid1lGtyErPlHh7j;#wPI|jS`hEDWdCeL zbNP|@p8^xp$p5ONfJ+#}snfI5Uzkk!@Kn1$z5fFe#p@5vMK3pDL~`NPyX0cY3Bfpv z_0bZlXMtwZK|7?2bI3aC3y;&%bsUCE=EU=doP9Q@K#$4j+<1m3XUA|*40NwCn<0-Z z*ua4BNcQnK06dPvJA`auyX{-?is*n34r6}NS+cYSk*%bRaTe8BmSL!0{Zs$ z`u*)Cru6YRqM0QVpsGZrd6Sl^tCqDJOc;w;nhj=f_~Br@pDWC2mAE1eI4>q}pbu6~ zM3y>8cZ)ZgFrzYlZh8KvlB`9SA|-NS66rQ7T6`yc-h%G=xRub;!nH(L@@BxuMV(%4vM<5L=0 zRnwflOlT_wBRAV-7DS8^025~EO!kln+xCdD7-Z+hV?JK14|4Uia@pHM$%9XKP9s$x zk4H)=Y+H^Og$(|OXU{la`!;PV9UZoh`)Lb(h_y`QIfARbAvK(@)(kr_rJ17so~?y2ZrN**%=-J9K1-$;(St4D+F_VT&O; z>Bf1Q4EN|A=Rk4sF-dNNF&xJESgqr$$z!=x%b^;h{k)Uda!{mmoH&k5m%6ghi4gw# z)FKFwGcTz5&UzD4C;#oVxM~?ETqegmhGetB*1@rhXW7HVdRsabEQz?&BR*#`uru81 zp@w3N(`>EVUnu`&J#LKNZhGd(TtXSV@SJ^4#rX=g29u@ZXFv*N&5*{|TAk;e1-^)+ z%QVivyg64r7%wJfvlwWZjLtc8W}=EM4X?1m@#M2adAY#Bc$$FV8n|#hE%j@UhSMg7 zvrzLA1oJOuu^c_oN|y9n7kY*hUxGM;b%WO-7w!f5L$C4Un;CQf>F41)bs%hBonF&z_X4RK78$~fYdj@PFsKOFyri$CP^`Kr$R#;xCb6iDo z$oJ!TurRfdTaGr_$U8K&3> z8N#Nm$EiY;6^GB;z_9J<duP97OD3+b>Zwd_#PYFYA}BHJux{glL4-X@G@1pfJt|0NI;d%3-ATZl2$ zD0w3(DwYT^V|D>rrvwFG(%QTF=fmmPZbH{a?lQ|Vv6pSTZQK2bn;;$uEgXZAjMDqr zR)CHo@1`bM8R%klK+Z>#3e8eVAMf|?|JYpW;Nk!stngbS=eJsMNdo1gua1;bAl7uZ z%EE_?-V6)6#ZZ@)yD_NXvs(s&m2YAq!Sj{5q*k4{@}1Y`S!EZlS_93>am=c*(rHLI zvU|_xlN(=8>|#!Jg>mVd%;m;0_)A~<@Ltn>%Bt9gq{PnqDK{4`cV+1IC&04W^U*88 zyNxr@5xv)~8ezQ08m`yBu)*Ay0<8@&yB2`2v4N7S-WmE{^MNhl|_sO$0JhY?d7)bx8r#9%v$yS#QR*#@;08{8Rxp*$#WaR^9BAi0=?6!&zS^bNVEnk7b zAy9nMdsF^&q2ok8DjlMwSX-O+KgCEEP0K(+Bw5-tOC@cZ*}|6(aM~~jG8vhSM@s+C z|N39sw&x$TseXHX{qygil@QTH2rx^$NRT$uh38{#kQ+C zFQBmya{N`ExecTFEzdky|86?lIp>!Kkf%guus=@r%uhcVRj6s_BIMzPXUe+TYoIXG z!;ti?+a+;?7FE3kPem- zP_KzGcskv`8ghRMSvXUUr-n{GC>qb|-7m1BrWxQ#YBFX@;-s{`!dtN72rX-9T*x!7 zG#k&8J$MrOUy1LpF5@bv{QMmG8S2F^w<0`Y3}^Py6~1)Vr8K{a;>FKCz8vQt)5kBx zzI97yOcApK+;W27Jw11Aktho`P4HV7pyf!< zVSiF2xox8hTi8OVObs9x`nMe-+rE8&eHF;Ig_zRIZ5K+iG#zX)r7SVu_YH*(CL%au z$~$npKaLb1_eV?y6!t%j(NY1~bbAdU9?^_jfGX~f;}N4m_HDDA`cXJSB{8tFu3<1G z0t8GniuQB|fq&^p*H*K79_Qwyn3cm+w3u{t`D%@+cDp?N%(CMIoxLxEGc&^k(``YqbkBs5_%YcNj!5+g(99uXo1~KYJ+}MVF29bS zVzMCICX&^f9b2^Ah9*=NOLka#eSQ7*_RSG}_{X=mAHRN;Dhc)VQ5ZoMZvgWsL+Lxp zo7K`v+9)^&iKbNQ4HGKubqmRk1n%4Z^W#yn7n6t<4`={M5{I_JTTU#g3RJJ2lb$YolFpp1fR;j$DPmLe?RT1lwdz?u=+As$M=mvfF*d zJRJm3Xg0sib6z8Lq*uvFPKBuupK0_n9|q&*Ke#SZ&Q9+f#N(Md~PuJ|o_RY7M-FWIseM<@_h^}6$L;KpR0j`FP3qzxU6XwT3%am$PYMKr} z4yh3$qaWddam4u{RaK;Wo2I>JTDUOR%8r5dxHOEz+79iMi|h)i64X)VNOTtZCs1Wb z(xlUl;WUiLDt}5YghN+fcv*%zEDnol;1Hq32^f_#ga2F?W4%XVUh08qEb!9yCT0M{AGy2x0Wc;)DAHNA+J^#(??}k;EJ(`2cAd&BEt~nRM zPcx;Fsmi~&)&zb2z_S9SwI5iS%&t?h`Wrf;*giXaG5%|HL{+BvC_r|9mFY+3cltQe z{qe{$N{S>)LDh|R0gV7z`?R1$G#Q5Xf}E>!cy7-$dDOv3Z!JmMPX7){$yrm zBC>6zZ+SfK86x<&KVm!{_eZjnlH~(PF-X74r6x=1xNm`^W^XPH)ZDu1@i=m!nQvYe z9<*r_z)TIRxgAJWe$Zr(%W{BX$QvlEvc^IeB9Rj;i`;hR+L3ZX*xk#bBGGDK(CHP# z)I|*J18{N?nlr2+!cgX@1_=-(GbU;P6eY^f=hmS;E8v>5F$8JC zoY0-B+FNRHM8o8>$F3G<)10#jH*d6-)l&Sgo%NQhJnF+TW=BU~W%mR{W_#ZCub`|NO^4t)>%Z2c0V)G5)}>?C03y!e zarG!KecdBIUN(LIcu3gt_%ut$6l$>IVT}R9fX`q&ZPyt0Jph+la-6=d9H0uZ_xF!) zFE0gOWffoeSx(ca4C1CIO~*`Y$DAQ7Lm_k`E_t>R>I(616W0`lBHzuX;6?P*O>Iwe zJ0yiFziCj~n4L(iK#2T(0I1tatLYBqj3iChfu2B5Sb z>sxvAYb<#^sOy^w_|w{aP`5ey$3SE4E$%4@+RtUUu5L*eOXy7|-GT=uU5gWao)|Z^ zoXLY0-=uQY=#MS6vkM31q{vy%-AC5c;B>F%7I4HBK=0LzLDqao_>b&Ku`JuDy1O%BF5K~H#q-YOYko$3j5W;KNwrvXm&LiJw zR&7sm`As2I|M>oG-!>XeCASKN4#Y^BBGlDx#}QREnUQLVR3RlLvqV)WvhQuWAJHr+ zG=y-(Bc=R3Gbka(Xvr)k6H`$<51kRdzkdV;R252ECZ4I{NJ(l8MfO`#VKpNzzEj!B z3Lt?TZQhV33{q8Ao8$7Zhk>P43v(G1(#ZF|l%dqBw*f(+4hEk^@o$|~Rj%HjqgXBr0LivS#b$&1oE+;u^va=mL+<* zq%|Rau~Uq`ZT;~Wsm-0pD5%JmNHi-P0TVMS&RVd=o;(S=^1EeXk^JXBzlRWLR;HA- zzWe_6_VfLtysO9|JVwI?m@0>9c>ibXv?eB0exRGnVkVHxOafFNF}}R)P<^@GQj(Ym z)h%eES+Tw5d62ktt{(>Qt{0lKpH3nWKp>grsM%p6Ck9&GR)@9X4nh}lxth|llV^rE zf#Pmc{^FL8G#35NoVF5{1~L^L>tG^%NePq$!@!^B9IG*TBx03NLb8d&>W>733<)Lf9JbI)ExIo3>)rI+YNfBP2-UN)XxePBIG zb5$BIlN~s)|FCGZaBdU}eOQrMQeCi1qA@_diw?_}XYyCZx~_XhyqW$cKCfuOc@F2* z?tXXUG=M`jDx=h?QSoXVydxIb8Ykwxx6IYi{|0^ud4*WC+hsAO6N*Xf<;L10CWt4YYN9Pv(^7VkFH%940Dih z3E0SkV|76llda%nI#GB&GB?(rw=}Q$?Rzz>AK^ z=+YT4FB~%i`8XbsTV}?Dph5L?Cq&vKoEx6hN~cFt8N!kQ7-tB;{wRs+EZC zUWBz$*rzX_%w3BKPzewmxYzmoH9)qYLJ9Cn>cPydF#57pZY?&mBNk>tV=YfyCRH&m z5XtO21yUKsK}-46LOkb)j3*u{=Zu0RmW(gA{oCtX&%4ie%!J_E%kAxU`}OevAUW9= zuq?^&qbLkI?xCbdue?;_l)W-5GUr&Wkt2Hq!O$Z8m?Isu9U;FY%3%%mU)jz46a}P z3+n8IblDi3X2hP)T1w7gRk$3P);Eu$B|d8|xw74)gKT*R1&67CxgYr`YAP zM`g8LGZV9%t2D{~=j6e~JFM5l68UuMbE;xZCQoBIGv6i!P~-KTTOGs9-6GbCh^vu5 zW`~JSX8iSGVmd!LZF5U%;Ac<+PhHSO4e-@q!ROvwSGxS?c_3J=hpQy@ue*ow@|{?q zD6`mu#h4Clvg!f?i|HlZ47$dHuFuug*)utPVLm?yci3@o^&De+PoaSjmEl!&tW6JJ z``MQRK<rAZW;;a^9;cKlbCuY2`=lHzx1s%OkaRU-t2FKOPZ5gKAI}K~NOj zDBreJ&3khvW}-og{cUmLFk=zM_F;chao6rh2~)5$=lY5&=}DHY0aVqk7E@otjG+WI z$%HUW%DEoEIaie>c)kbYq!Lw*3?dt~^-#B3yXJOO5yVdrvt#ijCY~y% z$*;9;S>ONoUYhb==JYATKmPdk@itT59KmK3KoulYO5a{yk8R8J9snUAB?Q%d-zat@ z1vJYPwoPf42`@3G%po$fm}5I!K5k~Nw@n~^OCR@pjA;v73YN^0B|u(pFInu{j~x{5 ztECi=BS-n^0Cl$9Z+(_e z@utonJwgLbE!$u=t$`ExYUI)!J4*MPf=&P0996a%u{)ZpJl!O^H<8 z7Zs8w;oAUgE{+dl*uwpI2qj}3<#%iNh#)_aNkH)>qH3jP&`jRmzTNhhi7ey_biUqR z-d=7$KR)_s&H?u`bpy{LgihfYZG@rH-FN*rL!yl&t#0pgVpmNJc)FKyDhaqUo?THW z*g1fOCY{au@)Y1W_ALO~W|LhZjdMrGS=V4(a6`E4a92cLETekIu)+n*Fq*J533*EdZuPR`nf~i7@7gHyVBQS8BFa;sjl72GntfGFhyN zB&f)#&qwpjyn(C(M{K#y7Vm!D*LzGie#U?{4sYU^Q+6^&;JmuoSu|JE6JBp|ZU9s* zvoPpo>E3+zIa*TS=TmvQXwv0XJz;0z;xFUM8dgry^{35YH|fR=uP85U`1Z@!dm58;5Bgn&H+)wewyuP-lKP#Q#H zvXp1UxnoNyJst;}B~fDW9pdB?;8dohDkzM{5j1;%O9(1pvYccs0QL})rN{9&j+j5@ zXbI7#Lel_Wk4g+pqh5aGijxF$bP^ zsWH4`-cBddNM9xjMUbExlQl)>pkF_YRMzQ`~~V*4qo8VnV3#&<}6&#D(u#Bl+X#6{3o))@6a7-8-!Oz`}JM#)M+1CjJ_e@ z$*pe)XsyX-v$PZcvGyVT>8gwZ74%u%B9VZzmBPT$;L>Q7p2nq}rqrwT(vo3xB(~0i zbv|^IYmaC;xC0lQtE(#cT;pOW-CCS6@TJ21IU~Tgd7@wVdRrABCvRCi_c6YFqpsla zDfjy`OQ~~W#-~nM{93Q_xz>Lrj$ih}kXed2Jq~<@A-3@P`vk7RGfoYjY_h%tl^f>I==$Kw%G2p{+R2~G`1pu1 zq0`!BLV~aMcziZ%$X^|gBWCKqhAo7k+W2}|5}*YqXo_=Mt!bJ+@VK*P(~fEe3JP1L zT^6XZ4{AZCqO~8RT-?x$lc(EcZfESa#Ft6MXC{(o8J1!^r6|>rrAB9+R+H+v~57`=&5FNBO51 zy_0?d6TU^P&ep_2S2WdP-<=sF9lf8=dHmKXT&XaVKT?3k6caZl`LBQfP4bAxZNF{0 zRUfFa%NXrGJuoq4K6JxBm(Wxl?{wDM*l)zTD>Uquf}%zjxu^Z|&;ve89@ z_=a6-o+Axf>Bg*^TL@k-o^TN_eHLEKI_RrfgItfcS5w=sP_h;^j2q}-C5IY+ZJdg3 zdL)#HA2;a#bO zhrYljlw~3ot`g?EckqG-KJGeG1aUR$mMTc=4;FnmMh7CAIki&pS($5Yd||kLwalK! zmOmjBaT#nXXG=V10xGjmUpRCWa=`)P1=RNyjf6Z+BL942UbPO-qdeqkp2?GjB9-QFm2#Y?3h!`Syu9`&pQ;^eKV5Hm3 z;=OL{kxdfXeE1}>W3#abK0fYdrXe(zjah~jjK#H;$dsM3r=m7ppq zS#Ce}ef$3QdfT`55gtd3(c-p!JdPhfeuWTjFZ=y|#FP{QMF=6Klq_X{MNBMrAy$Pa z9>hVm-OE*A*g{Z1!0&IbueY6+(!RgFyuQ5bA0Lm8`~BDb{o{U*M--6&cd#LQRrEKf|jW3sJtM} zL_;>+x$LUVg?zNb(TK0uLeP7%FGwGRs!%c!Up2?}8OZ=uAQj&-4#BQikR|;Dx*N8XXAGxPqI_=adZ)3VqFEFM zh2}iI#APD+lbtpX((wJ;TXopMvvUISkMG|;?#C75bgW&_Kl}5?j2Tayhtb8pB3loT z^XT&`-xya`kutl_HxG%Toyq0?<8i#bzEUhZddGO|`vwtF3|2^UJKeQCJa4A()7AoB zv6C|~fU6wztsEn!2MPwyzFs_?(E|vSqNO}!;fZ7PjM^|8=5pcs&nvo%EF)Zfj}9`|4Xf)3)Y7~u}YWw-JHI$pBcc+v!j%Z@&~ti2CFNcIc^s{ z(t_vnG{zgV=k>h9VI2j+>4C~52oVPxjnMgW3PE{t5sN9**&l$v`IxSdgx`(t_=>1q z+}L}p{Z3W=x!=H0!OZw6+?na~XM4$ow($BC>%zW!xt$l4)BuProI?h3MY|A{axPYT zmSLFf=cjcNp6`kok1UZ$mJOXMdq-$YD9M1yY%_yuDaMj@w!z4g2#QFNY=E0gL~ghJ z?e%usHb5W85mR~`Nksnq>*v02Z*Q;p<0ebMEd+Y$*UaQUdgG++S0G0vF_+VD<{;XodRV^D#V;;Dr>%@)GfQsiczL0l5#sv7^zs#!$%?$CyT7H zHn~s(jNi#P&f1nb6keV3d@>7m>l<7~hO8>pp*2{017DR0r&G{D90Uu?N$t=_M&hwgN@ACLBg38zfGDp>t^tCS;ynD!IlFHa#Jztwx3*Vh#NaRxZx ztMWdwSqs9?HWZWe?o*w^7mM|^ZhOUhyPk z9X`Ej{0h>A1vu~wnVB_bZo=lqU<1C?XBBhyBiE1A)h?X(Zl0*DGr6LtGAKMRs7Wnc z3qBFm^R*u_8L7y+0A7c8lNNzP-HcG-jNkh&f`4F|tbaELq-!Zu`DxEpRCWYvG)m6*d9iRO z(w5GqsCdHD=&HP%5nad2w;+F5< z-eR(kk7L-@x(MX#wfFo4;xIaIKeo;|@`nhj3V9^+8uDI!dG-a?S-?*roc?vWkF~7C zp;$`AMF1e}UQ4XQn@2na=mJccndJ=ctj=^|vp2YZd1v9IpN+{9Lt zjD1!&get!%_$QzeATg!Kant}mlMqhsQbT|4`C;UjYNoMuh4AFRv-XW$>~ZsHb=|P? zbHVB5kOu<*_-q!$6J;#_%XaOS>_FS@Pgh8G6N{7`9IOf-Ay3-=*3S(3F#5QJdSTZ& zBUV-}ym%)s*RvZN*Bjngr3uCla=l`Qyyvvj>w{$SU8CvSz+|#tiVTv3Wl3h;D8oH_% zD7X7`#}Um8)m^GJO_1^b%4^OP4TEt?6EY*HLUF_tlZAjk-oCxQy_ngr_m9UBb9to5 zG!vmPHz&7r1TCgYP=ugR1|X(HGYz_h4bUE^P&F$?v&2044ys#F*6812u`Afawr%_0 zKY#uC_unz5yz44dcvaB+r_1s8_N{@Wk`B9*Vc){Iz&eaibSvXl(03{i0B>;OkZ}=# zidY-z=8eLN>6AJ?mIx%|s>jl>p&6$w^gPH&bbjh9-;Uh5G8ruo0G9 zHtDJqql6p^31=;Z90)(#n6fDY8@9$KXS*HkDO4AkW^N>v`?E9m#)p z8(E~zm#MntH=eyWIG1@TbOz7JF$7%q!KZ^>oBj`gwIAG6E_DBtL39pI`tSPxOb{}!i{1Yl7u=ggVYecdOo}SG z^fmgbz+t6`sE%Y<&9Fu0TX|osI4{Y zSJ1@Q&1%1b-uy<{_Ju}`zqKGPZ~I`fK!M&lJ+k*7X?F;4De@ZoJDn(2at3f{~}y~y-*;B{MS%9QKt^m6AaV$cL+ zn+b&qVzNzO#v{gzX!f)Va(<;TSr4O3TRZ4DbVU7kS_B&<(Q?F(QDTfOA$lsM;J*@? z{BG5n1jQz_1O(?7(ERIUG?Cz)Sljl#ga^k%;hbSDt(e0}p);ug{3&%&gitP3=%==U z{7U?h4-w>QV0#Yho~{BTsk&{uo9{8^C9h`Zj%LHQ(#yy?2=D8K?Dg8|@t5IEcUf-cUVEglV0!!E+5bJ}K7Ey_vUSnbbAsXTi_Oa{qZ@MqG9^Pf|(-$F@^E)3s^K zgoiJONAtI}LbPo!JLHt?;mqe2O(oe-(79cppDnae<-BbUe77Y}tQ3*5HoTgMG^L<4 z#$=jP6r>r5XFAQq&&9rN$!KCdbE0G;ly@Rodb#ayuP>X1pYI0>3>9@%QE5DHuV9F#2 zF(#zq?POXopVNpKjcbJ={?y2kcsgbf1J`G$uhpnR%cr)gLhp~qzV8siyiS!^p~?l< zLN7fr#^RwVDan{pN-4&etXOZf)t)JyG8*E|o#|G84hPdor#gcF_`s;%#@9f<>0 zgL9NvKdDM)4)59cPH<=&(AxrlXIsDdsAiiCVw9(!gCW}(sA++HFGo6ft!{`|4bFSl z@3%pYFz=PWwOn!G#wK`WQ#SZwwPjW(JADFRBEioHJcV>II=@P0Sbf|wuu^w})ti!C zkGk=Neey}&kK+C=946PFg9E%w26U4YE*iblxv6@_EGlFXZX0eEjEy>+J+*YJQgpv2^S#MnREOA{$6B8iX4Oz}4ltTg z3=%>&8fwH7oLE(jO-5D#M;ckIab(VWTV~)??`F@ELQmhxniEe+usrd!&ckosStojO zMgpr++@y4RmAFgoK|j?OtJVoyckQ330cd?8P4<1C7-XLwcJ&3ZParsqfNZXKmWeA* zx^?s!PT17UA_<#XW|r`KTkC>XmoX8gxV-FCNNh$kC2}o#||DWoko%ikx;qfYI z?b+!*vNxNk0~`{@rh}mmNo<^GQjY4&MQ4xzWHmX_2q$?sX4#8BsFdZQpg%6yt7NF*q)DzYp`B;k@h)Oe4)4@YrB$h*&aC*$3nnGZ zF&R|1Ep+q9-&uIZRfYku(7Bxs;TVY*t zj#&u<5AryUl(qapR3Rdd<9KHX4%TDVO*G?V0;P!m6gXA@Vga2uH#NWg#u0AX;F6k>*g2|v`b#BUPoyavAk@LZ|@{Yih z8MvH^G|t2=5+jQXS8pNb0QGZw3;lT{+U3(@SO-e&|0hjl=Xc;rn>V^dYf|#Vc)j5x0{sdV~3hm)W}@`NKAGdF;PA~ z9w}MM##0bT$UB}TZu>2Z0L)?7xh79XI^w~S8%PNLPrBu4yX$oqCR=de{~r92AC-}j zwn3+ouCtF^{AoumYBURH-|K>R6kDG>xi1eo+x(!4>Pwog`Vxb3KOPk1xh_OfNR@X~ z;{qE`FIl8XAm}xxpin)4Kn9YH4u{$r-Q;=2d>0XKERYMa|4dHkkr41&bNXhPx z$Lq^WecC=!xW^v?G?SQ8-sLiwk^94nt4NLP7;~v7k7JU*f$Z~iY}YiB7B-h>H?7g} z`@nU`-q_u7m}jlfF*d%(s3PV$z|zgn@x(#WQO;U{%-MAdPfd6IDLjWE;_@IKt3Jq* zfVMSHaE`?U#ianxpJ;%|91WjqvEZP)UsB>QGo1!uy8zv;c1m7qsI*mx8@1_m{M-z2 zaEgFm-oA@MXHtMa1w2pn%(VpJWRY4+JUU}SRs}$F8151!wg6(W(Lt+qQB#-dH@g}D zKcqyCB_>a;-8J87r3_zsLtWTN<5M0NuKSHoX-J>OY0GryPB6$+vbuZ~hl#8&p1(Ve zT^$O~87V{8jFD>0ud$fC`Ph;)^(3_P%Vt?TwJ7r(W!?#~VB9SKRD2hG@=g$*r&9|| z%HQ?bKbNO?n4aL!jXQIZ;pSoBMK_a)$+`X!7fjM8Bi%VyESX43wAPkTV~OaiT2;HCodNR})$`j#Y{_HZf6SDSYU45YAJnp1Fp z91sa1ncCwKV@#^Sz{GkM6uwHx%~vSjR@+o71#BUdsFs!`u4NpRXt@k1-oV=Z?g4~= z*O%QaZMtpy2Bm1h9K4yOLWJ2H8mhtH%aqb4qN-L_9a2geuG#k;fUA-_@dFIzhz=1& zD88?PfBXSxhPaZ!rz$ z|JU7{ZaI?UScABvN$!y~XWsug=Q~vuE*Wv>2RDF=Ngk0)%|!R<&Wv=|Vn!nY+>KHq z0Ragxj@0$~)E*z+Ll^zY>onIF&;2y=Y=DyKiSt{+2X<|4KK+r2!9&*_#)LIB?kMBN z0*l6$jbdc4Q`JCoeou;L|9`fpx~p{7=hybv7sL>IsgCjETJ^mXa13lKKgsLPtt~`J zY!o>#0E$3$znC1uW&GLZ4P7p3>DL%)r0TA0(s#OwL`+*pts{$`Jv$9Jx$r69tkW%q zw`P@aD+TG2mt}QqcZC{LASUa_(SOu_Wn1_{Rt}20u6sxg9Xv-dExv04A1;fDUE=k{ zFJd2U@lwaa4JtDCNqE)0?3hUMDo5{qd}DcWt{V?dmtrX|!Fvb{C$$=0e#m!>u(-Tp z({i66Q)^0LTvvvj1^&}|b3lwAV4TiItyc8DRMP14Kwyab$wm?I}tshUpZ*W>v-PZ6~og9R|WGJX1XNad9EGjY{_ zIbLYZhf&FPw)Om>XB1AssO{G06DFu4ggRV9JMBV8!<92pjkn1gFP3Q|an~1&ShpUteF3XZBPT$k*2+)0mQKQl_LKw;H)|GLcx>7O5?; zh5-dbJ&7<>w2CnE4V|xy>6emj`8?0_ zJhOk=nNm(WZTMZz`{|cz%H*gI6>OgSj&87Z%rk3>w!dif&PJ-L6Ww;uaBeRa3h?fc zechdsoSVKCgi;jXHk@r)6>$S!aJXIbjVCv?&8x4lD~dQx{_1BvR`YP!F*Pyrka{`F zA8iH_OCq&@BZ)qyX%hmmG7%u&oSZy5RXeLClwpdq4T zQQoar!s4Dg4zS<9(QBsey#qJlr7?!5EDf~aKb1%5V9SJJls>VZMCgsMmKGFi@b;Y| zo|gldx7PO_th#18eHShHg+gc3OJauryz`B&zXGpP*r&~ki#-SX7n~FeYaD0U%MF7f zuF#UP6`U&A$-ldu!f-Sy$Y9Yne=IIxV!8nGVVL8THvy-*w!-`Uik^vE> z69l&%4T9V4c%CU~iXr^C-$KBD{`+;N6k|MMNGW~XZ-4ywEJ10hOc%c%kAMI7r%+-j zDOX2~M2I0Cx7+jipL8Y(OsYp# ztE1okGg<<%*ZtV(Ed8F1CaH#TQ0 z8I+8+^u64}CwjypPAJ1lT3Tl72(UlF)*)R+?I{?mq+K(lLS%Mcv7;#$CIqDC`Sa)F zIO6kpDtV?;Q<*U%6zWp3w8c0oT@3|oJz_}veB*GYLo6-Iow@9_*~T!lt#b%s;K;Ui zwBd9lHk7M%_3rabILe6&#a4IZV0#|H9Xw;rxq~$P!t^K9^5hhm*hYbVTYaB}| z-_q6DjPrcs(YXk1!pE*)YKjimu?#4b<4P?uv?~*6N@G+&uIV*Dd19rg7L&vxSeFXf)a@iyaCap5YAdXf+1dUgas2cN59NabV&*C5#j!wrThB zNGvnjr1YU2{%UzuBZbfBGpQW$_~Y}gs{j7a&$BX2MC6Y@KJT|%ttUZBO6lK^pPDp; zaKuc> z5Q8!C^n=wiC03AuW@t#dtfQPDp937znFsj@ag3}WZ18op4bMlJO+OSW>whI0cRHIJ zIBjV5I-`gnDIqws5``^NTsn+}7C~6OR(t+?(VD_}hZZ%vL#Lvet!`HE5UF&LP;D z@5T&{y@#^?1jb3@nF6MC@z)5pa=Wh78n|lvL zulcrnSVs0tXrZhq%5rsq$8Rye^U*G;Nv!VU5=TX_OA}Yj5V6*J#_zcaKSlwT=QnD_ zr*hlay#HJm?!P3Q-J5U5tN|FCaps^&GMTdjwPT>?*)!LhTG6wYwDO_KV5#F5E)Z~3 z4%p^=QZ3)`ut281`?^m;6T6ZnU4-GYHt+EHaP4)QfHMw5zbRYr70xbM#ZK@7lal+`o~USb z=`}_;2L*zXq)o@MI^wvdLCRJHEX&GoFeT5xMSjT`f@;p{2|33@L=Z#y!2m07xz39k z$IZN?0Qd>za_3(Ol}nXRuBbVCOxHCLQwiRUIZc@0$b9iGXD`oLY|M6nF;98Eo8t&| zB7xB@Q^?#8y)!K4)fBSlbrgp{f$&Pu+rh)h+p1~xE%X7vZH40M|EaPzW11Bl)f2*i zq2;j7)ZO8tMG<9{l6s@@X&J5~6lMk|;jGrsvkp023f8PvZ!|aiw{pb0g2USA@)%X! z42AwA=6g-QxV*MfY6bhLaFq_oi9FNyAgm#R>!M)!H`ks^bCAfcMZp`23+&$rm)Oq5 zBYB-2j#ppp`tjy<{q0?+n)kYWYIQ#KzAsJLH7b~Z7mFrva|@QR%z_-%j2Ha^>c|Y; zp)+b)_TH>CIcW14=MCGt?vof4@mTQ0rmY2#kNXX0^(|%Lm}GIVlIMAf$Z;G2l9HY& zeSX~TxBJhp=hyR*_k{@j>&K7#$B|uM^0-tr{rf*ZAJ1p4F*L?_zu#gAF@_AnFe<#8 zTvC;Uq&d7?v*~`y(t_^{3;s-`L%!4U{`UK^$^h+yff@vXZmZcx1a)hMlEH)(m;Z02 z&>LX%1eAa|mTiw7wtl>r9%?AUUWJ&GM*wx$4?6BA9L<#&A0hf!uG$ z?Klt;Dfe5v9mlB(BwK}0IrR7a)J7|aT@s)OrR1BB5jixRucRphZc5F;FAkZUN`wF~ z*oY5@DK=-$7((tLvi#+UL4=`Yok)m>93cP*WCCIi&F&=ur-xc7^7--6&=F30FZ$y$ ze+4b#_##j_V*JSmn=@C#Y%h+Oo=;Fc)L;su8mbmV0)kK!Jzzq!H890_hQg{eOyf+9 zST5#($MvpH8#L&aPA&JOSohj8_#c8*YR5Q1IG zZh-*~^Hwc{|86H?SUtqp3YZw(5#1i)v3+4Ma`|m=Iaj6C z5HEH@8L`Z;7@2sqW_X2tux2IchAUy~PL z!~f=`!>h)*z_;sGW)noM{N1VE#6?r*@qub4vLhgu5W-Ll{FFRm$g^Pp=kq*{2$8SH zBIq z$C3N|M89X6FLcD?cE9;4L*HeFm}_l$k^X193BbgvH@WLVEQ#7}s5)(#$g%dO;D;nC zM1q9Gq{9T;mRT~UKjif@hJXq7kDIMhx;bo3VHAo)mlM)MaGY`;a(Se`aQ4OZ0mMZc z;<}s(2O;-BeTACoPP3}%vcim3#ZM+kuA>HKnYM!_W=nS&htpTEg_$i*S#&0JVHNUw zC4%R2Y`V`4T-~xmJlIzMWinku=L(F+yl^C7&0S72@9vf}h6&2uQZw9FI6{1L31FoN z^_X|~+(l}3*=wtz&=t%RGm#W$Hpj3LxOT}6LNGp&S}P4~3wE2c>0XyjsoHQlVNUzf z)|1f%B3=LjoK9Y@ycg!`c4LOICHrxu58jok*CYQ6SvmIea=fvPy;@i z!>efaF@}&U`->G|I6S7`?KrLn-hBHc*k2rUiZ-SQ9p|MlE$*N@%M1ZqtIm^~)|t~D zy6sHn$Ek!?c>-Hax&<8E)czz*|M~CF%r~e`q%Dg|MdVC`FeL@#JX45)qSe4fuUJ|01;t`}Itcmv_&12C(rc9opA=|_dvIQ0bB)uFU z{$)VNy9ocE(&0d>M zK1*w;OsbkR^py5uR7?13*0dZH{`kC`zF3}>l{RAX>mU4m*uh}5b;FmZ-=u@Pa!2<&q;;^t)kBY$r^K5Z(d1jqVff99 zFN+bjhdpK~E@iMf`Sv^`tnRby{*qHIC^C??-H*Uq-SAG5ARUyDVL6 zP$G>H44Xh~yKpU!%jU0Ry zMoB&HPv~4Jca`S81AMP4o#*{KPunFj!<8zUtACx@M>~bXysvN{p*%l=?+H}!UaPa9 zu;E%7=e@1@?OoVY9A8a;XFyjjZO5DopmBGQF+$`@k!<;k-QvMK^sVU%H3&vfL4bfW zMy-gJUGU1xi^|ScMk`)EZ)nde1WzWmJm8M6nuxYqSh9)`npjtrlF80U>C|*n067q5 zAPW@J=Tmb~h*X2&Vra`w*2(Xh5=EezW9b+}pqxYHi;2+_0yH3B_5mU$dB5Fmw;Q_` z=Twi63K}e|`FOSeU;EAv=?Lv}*8Dn05YX=IDj}e|(QXFS4z9o@fnhx8up1VQ`UC_( zE7e6>k3E=TVRJyQlpb$NnupD&$9kA#h4Ce8U8{n?RlV+l>F92Je+CA}J1qU878enl zPGFZP2-vy0UnyP7wYpQJdkkKb9_#2sOdRRmtZp~LJC0Bu5bIEb+?g(J*S*P=cg2#^9l!Vnroz)U?RqvWKbher3s7hZPxtuzYL1E%* z2!FVZ^+&Hkr!+`5FxKnOC@U*seuFSG;dirfuoPn}AFuqXoS=swFS?YuPvAV!-vNxq zj&=DkUo(_20YP|A)o_7YTxWoYEW8kw68S+{K7`s{bVu)jHOs%f4taZBMAAWpBYxfRdi#FtW)&q7Tq@{GrE zp6Q53E)#?Vf-?JzQz#(@oY-o-UUjO!PT-p|l>QEJhajokg6E{PPzgi*>xZK^c|r~U zq6$JWfwwF?H1Ap;y+qdfu`S0`en3@YDAQB`w<8`$JYxF!JfCMWzVg1KMb84ebp33@JfeA#@w(Z- zoKrFWbC{9N-j9&eco2vr`|&A8XK6^{Jj`C$}L6mW>Le0}e*= zDK=)uEuCU|jh2%H$9Q#4!(-P&%WOwC;;8vSHI%&L14H3CTxLU=>TX%e$@<52Uj6nL z#-;ZInej;Ljbi`@*t#am3d7uivh&>9{0FON;H8z5+ui6sA&Om=ae$}!I(WZwpiEw_ zd{vGw6&=$v1d4;U-!Dq|s(-*fRq*|)EYx==E2QXG2bUEv7Ic+$;27@Q>U=%t-lC}SXimhCL`2glAahDW{^5Zhg} za+f&++fs&+8LiFii~1DjXtU+31(DlvoM%c}v(hv&yV}GXc5XkNa_iP`e9CO8k19l9LJ$ju=V=a0oRRI%IbsO_UtqKs~ZE5(^>z7rKVu z>=P!u{jY5{h8a?@MX^AT9dV2JQQZg&$nqFcRU{|~2owye65y6-KrYVN_zcCm3jTZ@ zlXIsvuBKWcfc*ntjH*^~nxhWTnu5AZ1{{s^ z9NH?US5BCd1+xc@XSt8^rB@F#daJ{$9Y#tbB1*bSCo5WgYjrJ<>cL`)JnsF`S9B&{ zIadNfVgKE?H zU}}#zv60{f6ZE)LbJ0S3%qv6-hqqA%(*t8fYwmwDST3_aU7UfYw_gtAX@OnY)GNdV zhQISyT~mzckJ=vpmoucy#MEL(^*Pj5TJ4AKODwG$e)ARTH_QdTS%2*2pj^%Pxn^Y1 zPkI)=C>yk4Sw>%cV7~2Sw`0GGh?;ly3?RxxA-isb#@PfG2*dn4lRRz#p$>+7%d{45 zIK0e`1_gA5EW(|Fv?snVgaMuP8R{3e{kv3SRgdpgq5Y4SN%gkA#D zcli)LKkm<%R5gZ>B^A_K5!Ou%K#Va2q@)yyIh}*@IG;bi^7Oh=SAZWsK4U;qQbj^Y zkLS;?1R%x`LyT2W9sm^r$T`r%@c|%I?VOVOc%DhIwtV?@H-gut!{4l1Z`s(wM9u2{ z1~+LtWMHso%M{F&H`#;7355jX!`Va_Ky3=8M@dQ}%(elv*@QA|l{3{saaCaeK5p?; zT@5>ELIWDp54q?m_npg)3^mfc)7JBf)Rbf30-?jXfFMalQ<6%PHm#IoV}q2^<9R;M zq$$Pcsm1lG!VpE;LLjK>^E`tF1#R?1={n#5O z(}@zXCln&!<9?r`GUis;M;kA2f;Jk$#KCrETrS$NwLha78R=mSstsy33p&W4i zg?I~2>4C%5a(0u_I4N)X0`whD`xnTZ>{x}pK^NG<;>+Aarej1cx@7+?X&3?*ls zy*jAlcO3h<;U--~R?qGCJIUqP*TG9J87~_W?%7ChZic)BM&9`OZ*bb}otkYVu=AjJ zV`xpYY{mlcP%$9fo zHq+V~HgMdyH#);BRj{3UcMVr%{cj zhE}6O)%k1+K{Q#;9+Bf#gv7WVm1$9SMwLQG(H?gJv&g$NIyyu~hYQiDc~6UkLO=>oHC_+wE^YQ4ZZ1O2^L`_hUXYTx z%<&;}XXsqay~x^wX?x@+L!2meshm&MBh`X$-PX!tt5crojW= zDGz8yYrcGiX>a-ug7cu5rkZsUm-lvEUjEb&CHUU1eaI?j9jKe!T$!0mMp;sid|m6= z2v|hj(-lBve=bL3C_XSvmDaB0q=Yup!K{^J`!i*IS(*zuiOHrt2J6xjS8xsS zEq^==maay4uE9w~14`lFDp><3{k zl{lF$(mi)Aw~+op&_RnyD@@G^-|piTbOMEu*>!5Pfygp!(q?l)HMF<!|FO1y`~8 z0Upou=hve>eV-rqkNYjgP^|hzlJa?;*`F#Plmf)rw&XA2y0uD?Z=7tQ@Nu5LFkqL{va7;Jbbgk-hVqBQ&c_!~#S>wzA1=P)J%!W~xP zJAvOKF+d7%N(1h3FaHLtUFWh$@rM;K4se@O!2*#YaBU;egXJn#5F9%J4irJy-UM!F zO|%ln1*krkja*s!wsEsBHs96E`Ae$b12=3C+Y)%04_4!>x*Bv-gmSn}R9qza7@sjc zU*0^nt1&aaTm}ylS*ynn(>t0?iQ}E8Akxxsx}yMGM_ZlC+P}Y1Kuh10=flZU<#YJY% zb|Z;*M^c}L<$0c}3@0Q&$d8YY|NeYfH~v39KkoM0{-C&3PB6^52gqB5v`x9|x)krzLNrrgDT>$?ie{10)7P z2r}lCxv$hZVNEGOLO_VoIYYJyBbA7l=U_VvO0!OHVaPna5 zPqcbG#1IPBA!A?#jHrQjl#k`XFioY{)#SFZl$B9f$K2Kw(2-9I2UiXDM4ZyoX##}I zyb3*G6W*TJ60PVL$q-(!h#oU}QJe!^xGZVclJLBQ(V85v4Y_^IcV zjtoQjhG%u#SFr16u5GZGqtEEw3cV!FQd*o9x0j=})})%=?=7ax7ElF@3P(!x^2MCXb__+!@}6Q$s?VpMn(&XH9P-|C`xiDIC@D|5B5!=6 zQo)$yCqE~Ku;oY;hsAvR04NdE4cvhsSs*c4wD$&vYK&9hi2=DHKhv2D-$!~r9?y7$ zBOW0jB8H*>;+awplMOh4GlZODElHD-kce21J(xf_G-b;vK}13fN9bc}({^NoU$=p@ zsoU*{qymWXIBt52F=XOVWowacE=f{iRxtIfk>X{HKx)x}RIW)p0uWEi5kV3K;4^z# zv7e>{WTdi~gPEd*WHwGvbM@#MZ{6p} zh?cvnekpNhV#S<@G8g`MNsi!*o!DuYzf-e)3wN I)oM|;Lxh8yPB$RNNAOD`K; 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 literal 0 HcmV?d00001 diff --git a/addons/loggie/assets/updater_bg.png.import b/addons/loggie/assets/updater_bg.png.import new file mode 100644 index 0000000..e9ec333 --- /dev/null +++ b/addons/loggie/assets/updater_bg.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgh6hd3u8nlpj" +path="res://.godot/imported/updater_bg.png-c90bec38cc1681b029907f694c893180.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/loggie/assets/updater_bg.png" +dest_files=["res://.godot/imported/updater_bg.png-c90bec38cc1681b029907f694c893180.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/addons/loggie/channels/custom_channels/template.gd.example b/addons/loggie/channels/custom_channels/template.gd.example new file mode 100644 index 0000000..25bcc99 --- /dev/null +++ b/addons/loggie/channels/custom_channels/template.gd.example @@ -0,0 +1,28 @@ +extends LoggieMsgChannel + +func _init() -> void: + self.ID = "" + + # Example - Customize preprocess flags: + # self.preprocess_flags = LoggieEnums.PreprocessStep.APPEND_TIMESTAMPS | LoggieEnums.PreprocessStep.APPEND_DOMAIN_NAME | LoggieEnums.PreprocessStep.APPEND_CLASS_NAME + +func send(msg : LoggieMsg, msg_type : LoggieEnums.MsgType): + # Validate that the message is coming from a valid logger if you are going to be requiring access to a [Loggie] instance. + var loggie = msg.get_logger() # Access a [Loggie] instance directly from the message. + if loggie == null: + push_error("Attempt to send a message that's coming from an invalid logger.") + return + + # To access the most recently preprocessed version of the message - use: + # msg.last_preprocess_result + + # To access a string version of the message (no preprocessing) - use: + var msg_text = msg.string() + + # Optionally + # We can use `LoggieTools.convert_string_to_format_mode` to apply one of the Loggie format modes to it. + # Explore more functions in [LoggieTools] and [LoggieMsg]. + # var converted = LoggieTools.convert_string_to_format_mode(msg.last_preprocess_result, loggie.settings.msg_format_mode) + + # Do something with the message. + print(msg_text) diff --git a/addons/loggie/channels/discord.gd b/addons/loggie/channels/discord.gd new file mode 100644 index 0000000..ead09ae --- /dev/null +++ b/addons/loggie/channels/discord.gd @@ -0,0 +1,75 @@ +class_name DiscordLoggieMsgChannel extends LoggieMsgChannel + +const discord_msg_character_limit = 2000 # The max. amount of characters the content of the message can contain before discord refuses to post it. +var debug_domain = "_d_loggie_discord" +var debug_enabled = false + +func _init() -> void: + self.ID = "discord" + self.preprocess_flags = 0 # For this type of channel, this will be applied dynamically by Loggie after it loads LoggieSettings. + +func send(msg : LoggieMsg, msg_type : LoggieEnums.MsgType): + # Validate variables. + var loggie = msg.get_logger() + if loggie == null: + push_error("Attempt to send a message that's coming from an invalid logger.") + return + + # Wait until loggie is inside tree so that we can use add_child(http) on it without errors. + if !loggie.is_inside_tree(): + loggie.tree_entered.connect(func(): + send(msg, msg_type) + , CONNECT_ONE_SHOT) + return + + var webhook_url = loggie.settings.discord_webhook_url_live if loggie.is_in_production() else loggie.settings.discord_webhook_url_dev + if webhook_url == null or (webhook_url is String and webhook_url.is_empty()): + push_error("Attempt to send a message to the Discord channel with an invalid webhook_url.") + return + + var output_text = LoggieTools.convert_string_to_format_mode(msg.last_preprocess_result, LoggieEnums.MsgFormatMode.MARKDOWN) + + # Chunk the given string into chunks of maximum supported size by Discord, so we don't end up hitting the character limit + # which would prevent the message from getting posted. + var chunks = LoggieTools.chunk_string(output_text, discord_msg_character_limit) + if chunks.size() > 1: + loggie.debug("Chunking a long (", output_text.length(), "length ) message while sending to Discord into:", chunks.size(), "chunks.") + for chunk : String in chunks: + call_deferred("send_post_request", loggie, chunk, webhook_url) + +func send_post_request(logger : Variant, output_text : String, webhook_url : String): + # Enable debug messages if configured. + logger.set_domain_enabled(debug_domain, debug_enabled) + + # Create a new HTTPRequest POST request that will be sent to Discord and add it into the scenetree. + var http = HTTPRequest.new() + logger.add_child(http) + + # When the request is completed, destroy it. + http.request_completed.connect(func(result, response_code, headers, body): + var debug_msg = logger.msg("HTTP Request Completed:").color(Color.ORANGE).header().domain(debug_domain).channel("terminal") + debug_msg.nl().msg("Result:").color(Color.ORANGE).bold().space().msg(result).nl() + debug_msg.msg("Response Code:").color(Color.ORANGE).bold().space().msg(response_code).nl() + debug_msg.msg("Headers:").color(Color.ORANGE).bold().space().msg(headers).nl() + debug_msg.msg("Body:").color(Color.ORANGE).bold().space().msg(body) + debug_msg.debug() + + ## Inform the user about a received non-success response code. + if response_code < 200 or response_code > 299: + logger.msg("Discord responded with a non-success code: ").bold().msg(response_code, " - This is an indicator that something about the message you tried to send to Discord does not comply with their request body standards (e.g. content is too long, invalid format, etc.)").channel("terminal").warn() + + http.queue_free() + ) + + # Convert the [LoggieMsg]'s contents into markdown and post that to the target webhook url. + var json = JSON.stringify({"content": output_text}) + var header = ["Content-Type: application/json"] + + # Construct debug message. + if debug_enabled: + var debug_msg_post = logger.msg("Sending POST Request:").color(Color.CORNFLOWER_BLUE).header().channel("terminal").domain(debug_domain).nl() + debug_msg_post.msg("JSON stringified (length {size}):".format({"size": output_text.length()})).color(Color.LIGHT_SLATE_GRAY).bold().space().msg(json).color(Color.SLATE_GRAY) + debug_msg_post.debug() + + # Send the request. + http.request(webhook_url, header, HTTPClient.METHOD_POST, json) diff --git a/addons/loggie/channels/discord.gd.uid b/addons/loggie/channels/discord.gd.uid new file mode 100644 index 0000000..b0a58b7 --- /dev/null +++ b/addons/loggie/channels/discord.gd.uid @@ -0,0 +1 @@ +uid://bqmohonxdfp2s diff --git a/addons/loggie/channels/slack.gd b/addons/loggie/channels/slack.gd new file mode 100644 index 0000000..b380105 --- /dev/null +++ b/addons/loggie/channels/slack.gd @@ -0,0 +1,65 @@ +class_name SlackLoggieMsgChannel extends LoggieMsgChannel + +var debug_domain = "_d_loggie_slack" +var debug_enabled = false + +func _init() -> void: + self.ID = "slack" + self.preprocess_flags = 0 # For this type of channel, this will be applied dynamically by Loggie after it loads LoggieSettings. + +func send(msg : LoggieMsg, msg_type : LoggieEnums.MsgType): + # Validate variables. + var loggie = msg.get_logger() + if loggie == null: + push_error("Attempt to send a message that's coming from an invalid logger.") + return + + # Wait until loggie is inside tree so that we can use add_child(http) on it without errors. + if !loggie.is_inside_tree(): + loggie.tree_entered.connect(func(): + send(msg, msg_type) + , CONNECT_ONE_SHOT) + return + + var webhook = loggie.settings.slack_webhook_url_live if loggie.is_in_production() else loggie.settings.slack_webhook_url_dev + if webhook == null or (webhook is String and webhook.is_empty()): + push_error("Attempt to send a message to the Slack channel with an invalid webhook.") + return + + # Enable debug messages if configured. + loggie.set_domain_enabled(debug_domain, debug_enabled) + + # Create a new HTTPRequest POST request that will be sent to Slack and add it into the scenetree. + var http = HTTPRequest.new() + loggie.add_child(http) + + # When the request is completed, destroy it. + http.request_completed.connect(func(result, response_code, headers, body): + var debug_msg = loggie.msg("HTTP Request Completed:").color(Color.ORANGE).header().domain(debug_domain) + debug_msg.nl().msg("Result:").color(Color.ORANGE).bold().space().msg(result).nl() + debug_msg.msg("Response Code:").color(Color.ORANGE).bold().space().msg(response_code).nl() + debug_msg.msg("Headers:").color(Color.ORANGE).bold().space().msg(headers).nl() + debug_msg.msg("Body:").color(Color.ORANGE).bold().space().msg(body) + debug_msg.debug() + + ## Inform the user about a received non-success response code. + if response_code < 200 or response_code > 299: + loggie.msg("Slack responded with a non-success code: ").bold().msg(response_code, " - This is an indicator that something about the message you tried to send to Slack does not comply with their request body standards (e.g. content is too long, invalid format, etc.)").channel("terminal").warn() + + http.queue_free() + ) + + # Convert the [LoggieMsg]'s contents into markdown and post that to the target webhook url. + var md_text = LoggieTools.convert_string_to_format_mode(msg.last_preprocess_result, LoggieEnums.MsgFormatMode.PLAIN) + var json = JSON.stringify({"text": md_text}) + var header = ["Content-Type: application/json"] + + # Construct debug message. + if debug_enabled: + var debug_msg_post = loggie.msg("Sending POST Request:").color(Color.ORANGE).header().domain(debug_domain).nl() + debug_msg_post.msg("Preprocessed message:").color(Color.ORANGE).bold().space().msg(msg.last_preprocess_result).nl() + debug_msg_post.msg("JSON stringified:").color(Color.ORANGE).bold().space().msg(json) + debug_msg_post.debug() + + # Send the request. + http.request(webhook, header, HTTPClient.METHOD_POST, json) diff --git a/addons/loggie/channels/slack.gd.uid b/addons/loggie/channels/slack.gd.uid new file mode 100644 index 0000000..82711aa --- /dev/null +++ b/addons/loggie/channels/slack.gd.uid @@ -0,0 +1 @@ +uid://cw3nwdhr5xmgi diff --git a/addons/loggie/channels/terminal.gd b/addons/loggie/channels/terminal.gd new file mode 100644 index 0000000..122251c --- /dev/null +++ b/addons/loggie/channels/terminal.gd @@ -0,0 +1,21 @@ +class_name TerminalLoggieMsgChannel extends LoggieMsgChannel + +func _init() -> void: + self.ID = "terminal" + self.preprocess_flags = 0 # For this type of channel, this will be applied dynamically by Loggie after it loads LoggieSettings. + +func send(msg : LoggieMsg, msg_type : LoggieEnums.MsgType): + var loggie = msg.get_logger() + var text = LoggieTools.convert_string_to_format_mode(msg.last_preprocess_result, loggie.settings.msg_format_mode) + + match loggie.settings.msg_format_mode: + LoggieEnums.MsgFormatMode.ANSI, LoggieEnums.MsgFormatMode.BBCODE: + print_rich(text) + LoggieEnums.MsgFormatMode.PLAIN, _: + print(text) + + # Dump a non-preprocessed terminal-ready version of the message in additional ways if that has been configured. + if msg_type == LoggieEnums.MsgType.ERROR and loggie.settings.print_errors_to_console: + push_error(LoggieTools.convert_string_to_format_mode(msg.string(), LoggieEnums.MsgFormatMode.PLAIN)) + if msg_type == LoggieEnums.MsgType.WARNING and loggie.settings.print_warnings_to_console: + push_warning(LoggieTools.convert_string_to_format_mode(msg.string(), LoggieEnums.MsgFormatMode.PLAIN)) diff --git a/addons/loggie/channels/terminal.gd.uid b/addons/loggie/channels/terminal.gd.uid new file mode 100644 index 0000000..5ae77fa --- /dev/null +++ b/addons/loggie/channels/terminal.gd.uid @@ -0,0 +1 @@ +uid://bi8qfxuunsh1b diff --git a/addons/loggie/custom_settings.gd.example b/addons/loggie/custom_settings.gd.example new file mode 100644 index 0000000..35f066e --- /dev/null +++ b/addons/loggie/custom_settings.gd.example @@ -0,0 +1,52 @@ +class_name CustomLoggieSettings extends LoggieSettings + +func load(): + # Omit settings from here to have them use their default value instead. + # Otherwise, directly set the value of the setting to your liking. + # Any variable in [LoggieSettings] except `project_settings` is a valid target to alter. + # You could also have them loaded here in some custom way, for example, from a .json or .ini file. + # See the documentation of the [LoggieSettings] class to see all available options and their descriptions. + # This template doesn't contain *all* the available options. + + # Example: Customize Loggie preferences. + self.update_check_mode = LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_UPDATER_WINDOW + self.msg_format_mode = LoggieEnums.MsgFormatMode.BBCODE + self.log_level = LoggieEnums.LogLevel.INFO + self.show_loggie_specs = LoggieEnums.ShowLoggieSpecsMode.ESSENTIAL + self.show_system_specs = true + self.enforce_optimal_settings_in_release_build = true + + # Example: Customize logging settings. + self.print_errors_to_console = true + self.print_warnings_to_console = true + self.nameless_class_name_proxy = LoggieEnums.NamelessClassExtensionNameProxy.BASE_TYPE + self.timestamps_use_utc = true + + # Example: Customize formats. + self.format_info_msg = "{msg}" + self.format_notice_msg = "[b][color=cyan][NOTICE]:[/color][/b] {msg}" + self.format_warning_msg = "[b][color=orange][WARN]:[/color][/b] {msg}" + self.format_error_msg = "[b][color=red][ERROR]:[/color][/b] {msg}" + self.format_debug_msg = "[b][color=pink][DEBUG]:[/color][/b] {msg}" + + # Example: Customize boxes. + self.h_separator_symbol = "-" + self.box_characters_mode = LoggieEnums.BoxCharactersMode.COMPATIBLE + + self.box_symbols_compatible = { + "top_left" : "-", + "top_right" : "-", + "bottom_left" : "-", + "bottom_right" : "-", + "h_line" : "-", + "v_line" : ":", + } + + self.box_symbols_pretty = { + "top_left" : "┌", + "top_right" : "┐", + "bottom_left" : "└", + "bottom_right" : "┘", + "h_line" : "─", + "v_line" : "│", + } diff --git a/addons/loggie/loggie.gd b/addons/loggie/loggie.gd new file mode 100644 index 0000000..404b070 --- /dev/null +++ b/addons/loggie/loggie.gd @@ -0,0 +1,286 @@ +@tool + +## Loggie is a basic logging utility for those who need common minor improvements and helpers around the basic [method print], [method print_rich] +## and other default Godot printing functions. Loggie creates instances of [LoggieMsg], which are a wrapper around a string that needs to manipulated, +## then uses them to properly format, arrange and present them in the console and .log files. Loggie uses the default Godot logging mechanism under the hood. +extends Node + +## The current version of Loggie. +## Needs to be updated manually when changing the version. +var version : LoggieVersion = LoggieVersion.new(2,0) + +## Emitted any time Loggie attempts to log a message. +## Useful for capturing the messages that pass through Loggie. +## [br][param msg] is the message Loggie attempted to log (before any preprocessing). +## [br][param preprocessed_content] is what the string content of that message contained after the preprocessing step, +## which is what ultimately gets logged. +## [br][param result] describes the final result of the attempt to log that message. +signal log_attempted(msg : LoggieMsg, preprocessed_content : String, result : LoggieEnums.LogAttemptResult) + +## A reference to the settings of this Loggie. Read more about [LoggieSettings]. +var settings : LoggieSettings + +## Holds a mapping between all registered domains (string keys) and bool values representing whether +## those domains are currently enabled. Enable domains with [method set_domain_enabled]. +## You can then place [LoggieMsg] messages into a domain by calling [method LoggieMsg.domain]. +## Messages belonging to a disabled domain will never be outputted. +var domains : Dictionary = {} + +## Holds a mapping between script paths and the names of the classes defined in those scripts. +var class_names : Dictionary = {} + +## Holds a mapping between channel IDs (string) and the +## [LoggieMsgChannel] objects those IDs are representing. +var available_channels = {} + +## Stores a reference to a [LoggieVersionManager] that will be used to manage the +## version of this instance. +var version_manager : LoggieVersionManager = LoggieVersionManager.new() + +func _init() -> void: + # Connect the version manager to this logger. + version_manager.connect_logger(self) + + # Load and initialize the settings. + var uses_original_settings_file = true + var default_settings_path = get_script().get_path().get_base_dir().path_join("loggie_settings.gd") + var custom_settings_path = get_script().get_path().get_base_dir().path_join("custom_settings.gd") + + if self.settings == null: + if custom_settings_path != null and custom_settings_path != "" and ResourceLoader.exists(custom_settings_path): + var loaded_successfully = load_settings_from_path(custom_settings_path) + if loaded_successfully: + uses_original_settings_file = false + + if uses_original_settings_file: + var _settings = ResourceLoader.load(default_settings_path) + if _settings != null: + self.settings = _settings.new() + self.settings.load() + else: + push_error("Loggie loaded neither a custom nor a default settings file. This will break the plugin. Make sure that a valid loggie_settings.gd is in the same directory where loggie.gd is.") + return + + # Enforce certain settings if configured to do so. + if self.settings.enforce_optimal_settings_in_release_build == true and is_in_production(): + self.settings.msg_format_mode = LoggieEnums.MsgFormatMode.PLAIN + self.settings.box_characters_mode = LoggieEnums.BoxCharactersMode.COMPATIBLE + + # Set the default custom string converter. + self.settings.custom_string_converter = LoggieTools.convert_to_string + + # Install all the built-in channels. + var terminal_channel : TerminalLoggieMsgChannel = load("res://addons/loggie/channels/terminal.gd").new() + terminal_channel.preprocess_flags = self.settings.preprocess_flags_terminal_channel + add_channel(terminal_channel) + var discord_channel : DiscordLoggieMsgChannel = load("res://addons/loggie/channels/discord.gd").new() + discord_channel.preprocess_flags = self.settings.preprocess_flags_discord_channel + add_channel(discord_channel) + var slack_channel : SlackLoggieMsgChannel = load("res://addons/loggie/channels/slack.gd").new() + slack_channel.preprocess_flags = self.settings.preprocess_flags_slack_channel + add_channel(slack_channel) + + # Already cache the name of the singleton found at loggie's script path. + class_names[self.get_script().resource_path] = LoggieSettings.loggie_singleton_name + + # Prepopulate class data from ProjectSettings to avoid needing to read files. + if OS.has_feature("debug"): + for class_data: Dictionary in ProjectSettings.get_global_class_list(): + class_names[class_data.path] = class_data.class + + for autoload_setting: String in ProjectSettings.get_property_list().map(func(prop): return prop.name).filter(func(prop): return prop.begins_with("autoload/") and ProjectSettings.has_setting(prop)): + var autoload_class: String = autoload_setting.trim_prefix("autoload/") + var class_path: String = ProjectSettings.get_setting(autoload_setting) + class_path = class_path.trim_prefix("*") + if not class_names.has(class_path): + class_names[class_path] = autoload_class + + # And don't proceed further if we're in Editor mode, since we don't need to show loggie boot messages in that case. + if Engine.is_editor_hint(): + return + + # Print the Loggie boot messages. + if self.settings.show_loggie_specs != LoggieEnums.ShowLoggieSpecsMode.DISABLED: + msg("👀 Loggie {version}{isproxy} booted.".format({ + "version" : self.version_manager.version, + "isproxy" : " (proxy for {original})".format({"original": self.version_manager.version.proxy_for}) if self.version_manager.version.proxy_for != null else "" + })).color(Color.ORANGE).header().nl().info() + var loggie_specs_msg = LoggieSystemSpecsMsg.new().use_logger(self) + loggie_specs_msg.add(msg("|\t Using Custom Settings File: ").bold(), !uses_original_settings_file).nl().add("|\t ").hseparator(35).nl() + + match self.settings.show_loggie_specs: + LoggieEnums.ShowLoggieSpecsMode.ESSENTIAL: + loggie_specs_msg.embed_essential_logger_specs() + LoggieEnums.ShowLoggieSpecsMode.ADVANCED: + loggie_specs_msg.embed_advanced_logger_specs() + + loggie_specs_msg.preprocessed(false).info() + + if self.settings.show_system_specs: + var system_specs_msg = LoggieSystemSpecsMsg.new().use_logger(self) + system_specs_msg.embed_specs().preprocessed(false).info() + +## Attempts to instantiate and use a LoggieSettings object from the script at the given [param path]. +## Returns true if successful, otherwise false and prints an error. +func load_settings_from_path(path : String) -> bool: + var settings_resource = ResourceLoader.load(path) + var settings_instance + + if settings_resource != null: + settings_instance = settings_resource.new() + + if (settings_instance is LoggieSettings): + self.settings = settings_instance + self.settings.load() + return true + else: + push_error("Unable to instantiate a LoggieSettings object from the script at path {path}. Check that loggie.gd -> custom_settings_path is pointing to a valid .gd script that contains the class definition of a class that either extends LoggieSettings, or is LoggieSettings.".format({"path": path})) + return false + +## Checks if Loggie is running in production (release) mode of the game. +## While it is, every [LoggieMsg] will have plain output. +## Uses a sensible default check for most projects, but +## you can rewrite this function to your needs if necessary. +## TODO: Port this out of Loggie into LoggieSettings so users can override it easier. +func is_in_production() -> bool: + return OS.has_feature("release") + +## Returns a custom list of channels that messages from the given [param domain_name] will be sent to. +## This list can be set through the [method set_domain_enabled] method. +## If the list is empty, default channels will be used. +func get_domain_custom_target_channels(domain_name : String) -> Array: + if domains.has(domain_name): + return domains[domain_name].custom_target_channels + return [] + +## Sets whether the domain with the given name is enabled. +## If [param custom_target_channels] is provided, it will be used as the list of channels that messages from the given domain will be sent to. +## It can be provided as a string (if only one channel is used), or an array of strings (if multiple channels are used). +## Otherwise, the default channels will be used. +func set_domain_enabled(domain_name : String, enabled : bool, custom_target_channels : Variant = []) -> void: + var pruned_target_channels = [] + + if custom_target_channels is String: + custom_target_channels = [custom_target_channels] + + # Prune the array to ensure only string content is used. + if custom_target_channels is Array: + for entry in custom_target_channels: + if entry is String or entry is StringName: + pruned_target_channels.push_back(entry) + else: + push_error("Attempt to set a custom target channel for domain {domain_name} with an invalid value: {custom_target_channels}. The value must be a string or an array of strings. Default channels will be used instead.".format({ + "domain_name": domain_name, + "custom_target_channels": custom_target_channels + })) + + domains[domain_name] = {"enabled": enabled, "custom_target_channels": pruned_target_channels} + +## Checks whether the domain with the given name is enabled. +## The domain name "" (empty string) is the default one for all newly created messages, +## and is designed to always be enabled. +func is_domain_enabled(domain_name : String) -> bool: + if domain_name == "": + return true + + if domains.has(domain_name) and domains[domain_name].enabled == true: + return true + + return false + +## Returns an available channel with the given ID (if one exists), otherwise null. +func get_channel(channel_id : String) -> LoggieMsgChannel: + if available_channels.has(channel_id): + return available_channels[channel_id] + return null + +## Adds a new channel for sending messages to. +## Multiple channels with the same ID can not be added, so make sure your ID +## does not clash with one of the existing channels' IDs, which are: +## [param terminal], [param discord], [param slack]. +func add_channel(channel : LoggieMsgChannel): + if not available_channels.has(channel.ID): + available_channels[channel.ID] = channel + else: + push_error("Attempt to add a channel with ID {ID} failed, a channel with that ID already exists in Loggie.".format({ + "ID": channel.ID + })) + +## Creates a new [LoggieMsg] out of the given [param msg] and extra arguments (by converting them to strings and concatenating them to the msg). +## You may continue to modify the [LoggieMsg] with additional functions from that class, then when you are ready to output it, use methods like: +## [method LoggieMsg.info], [method LoggieMsg.warn], etc. +func msg(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> LoggieMsg: + var loggieMsg = LoggieMsg.new(message, arg1, arg2, arg3, arg4, arg5) + loggieMsg.use_logger(self) + return loggieMsg + +## A shortcut method that instantly creates a [LoggieMsg] with the given arguments and outputs it at the info level. +## Can be used when you have no intention of customizing a LoggieMsg in any way using helper methods. +## For customization, use [method msg] instead. +func info(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> LoggieMsg: + return msg(message, arg1, arg2, arg3, arg4, arg5).info() + +## A shortcut method that instantly creates a [LoggieMsg] with the given arguments and outputs it at the warn level. +## Can be used when you have no intention of customizing a LoggieMsg in any way using helper methods. +## For customization, use [method msg] instead. +func warn(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> LoggieMsg: + return msg(message, arg1, arg2, arg3, arg4, arg5).warn() + +## A shortcut method that instantly creates a [LoggieMsg] with the given arguments and outputs it at the error level. +## Can be used when you have no intention of customizing a LoggieMsg in any way using helper methods. +## For customization, use [method msg] instead. +func error(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> LoggieMsg: + return msg(message, arg1, arg2, arg3, arg4, arg5).error() + +## A shortcut method that instantly creates a [LoggieMsg] with the given arguments and outputs it at the debug level. +## Can be used when you have no intention of customizing a LoggieMsg in any way using helper methods. +## For customization, use [method msg] instead. +func debug(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> LoggieMsg: + return msg(message, arg1, arg2, arg3, arg4, arg5).debug() + +## A shortcut method that instantly creates a [LoggieMsg] with the given arguments and outputs it at the notice level. +## Can be used when you have no intention of customizing a LoggieMsg in any way using helper methods. +## For customization, use [method msg] instead. +func notice(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> LoggieMsg: + return msg(message, arg1, arg2, arg3, arg4, arg5).notice() + +## Returns the path to the directory from which within this script is running. +func get_directory_path() -> String: + return get_script().resource_path.get_base_dir() + +## Returns a [LoggieMsg] that comes inserted with stylized content describing the stack trace obtained via [method get_stack]. +## This function only works in debug builds, and on the main thread, because it uses [method get_stack]. +## Read more about why in that function's documentation. +func stack() -> LoggieMsg: + if !OS.has_feature("debug"): + return msg() + + const FALLBACK_TXT_TO_FORMAT = "{index}: {fn_name}:{line} (in {source_path})" + var stack = get_stack() + var stack_msg = msg() + + var text_to_format = settings.format_stacktrace_entry if is_instance_valid(settings) else FALLBACK_TXT_TO_FORMAT + + stack.reverse() + + for index in stack.size(): + var file_name = stack[index].source.get_file().get_basename() + + if settings.skipped_filenames_in_stack_trace.has(file_name): + continue + + var entry_msg = LoggieMsg.new() + entry_msg.add(text_to_format.format({ + "index": index, + "source_path": stack[index].source, + "fn_name": stack[index].function, + "line": stack[index].line + })) + + if index == 0 or index < stack.size(): + entry_msg.prefix("\n ") + entry_msg.endseg() + + stack_msg.add(entry_msg) + + return stack_msg diff --git a/addons/loggie/loggie.gd.uid b/addons/loggie/loggie.gd.uid new file mode 100644 index 0000000..209e187 --- /dev/null +++ b/addons/loggie/loggie.gd.uid @@ -0,0 +1 @@ +uid://dsexgf6nu6265 diff --git a/addons/loggie/loggie_message.gd b/addons/loggie/loggie_message.gd new file mode 100644 index 0000000..d2d70f5 --- /dev/null +++ b/addons/loggie/loggie_message.gd @@ -0,0 +1,429 @@ +@tool + +## LoggieMsg represents a mutable object that holds an array of strings ([member content]) [i](referred to as 'content segments')[/i], and +## a bunch of helper methods that make it easy to manipulate these segments and chain together additions and changes to them. +## [br][br]For example: +## [codeblock] +### Prints: "Hello world!" at the INFO debug level. +##var msg = LoggieMsg.new("Hello world").color(Color.RED).suffix("!").info() +##[/codeblock] +## [br] You can also use [method Loggie.msg] to quickly construct a message. +## [br] Example of usage: +## [codeblock]Loggie.msg("Hello world").color(Color("#ffffff")).suffix("!").info()[/codeblock] +class_name LoggieMsg extends RefCounted + +## The full content of this message. By calling various helper methods in this class, this content is further altered. +## The content is an array of strings which represents segments of the message which are ultimately appended together +## to form the final message. You can start a new segment by calling [method msg] on this class. +## You can then output the whole message with methods like [method info], [method debug], etc. +var content : Array = [""] + +## The segment of [member content] that is currently being edited. +var current_segment_index : int = 0 + +## The (key string) domain this message belongs to. +## "" is the default domain which is always enabled. +## If this message attempts to be outputted, but belongs to a disabled domain, it will not be outputted. +## You can change which domains are enabled in Loggie at any time with [Loggie.set_domain_enabled]. +## This is useful for creating blocks of debugging output that you can simply turn off/on with a boolean when you actually need them. +var domain_name : String = "" + +## Stores a reference to the logger that generated this message, from which we need to read settings and other data. +## This variable should be set with [method use_logger] before an attempt is made to log this message out. +var _logger : Variant + +## Stores an array of IDs of all channels this message should be sent to when being outputted. +var used_channels : Array = ["terminal"] + +## Whether this message should be preprocessed and modified during [method output]. +var preprocess : bool = true + +## Usually, the [LoggieMsgChannel] this message gets outputted on sets the preprocessing steps this message should use. +## But sometimes we may want to use a specific set of preprocessing steps on this message, +## overriding the channel's set of rules. +## In that case, set this variable to the value of the [LoggieEnums.PreprocessStep] flags you want this message to use with +## [method preprocess]. +var custom_preprocess_flags : int = -1 + +## Stores the string which was obtained the last time the [method get_preprocessed] was called on this message. +## You need to call it at least once for this to have any results. +var last_preprocess_result : String = "" + +## Whether this message should append the stack trace during preprocessing. +var appends_stack : bool = false + +func _init(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> void: + var args = [message, arg1, arg2, arg3, arg4, arg5] + self.content[0] = LoggieTools.concatenate_args(args) + self.set_meta("initial_args", args) + +## Returns a reference to the logger object that created this message. +func get_logger() -> Variant: + return self._logger + +## Sets this message to use the given [param logger] as the logger from which it will be reading +## settings. The given logger should be of class [Loggie] or an extension of it. +func use_logger(logger_to_use : Variant) -> LoggieMsg: + self._logger = logger_to_use + self.used_channels = self._logger.settings.default_channels + + # Now that a logger is connected, we can re-format the first segment + # using that Logger's converter function if it has a custom one defined. + if self.has_meta("initial_args"): + var initial_args = self.get_meta("initial_args") + if initial_args is Array: + var converter_fn = self._logger.settings.custom_string_converter if is_instance_valid(self._logger) and is_instance_valid(self._logger.settings) else null + self.content[0] = LoggieTools.concatenate_args(initial_args, converter_fn) + + return self + +## Sets the list of channels this message should be sent to when outputted. +## [param channels] should either be provided as a single channel ID (String), or +## as an array of channel IDs (Array of strings). +func channel(channels : Variant): + if typeof(channels) != TYPE_ARRAY and typeof(channels) != TYPE_PACKED_STRING_ARRAY: + channels = [str(channels)] + self.used_channels = channels + return self + +## Returns a processed version of the content of this message, which has modifications applied to +## it based on the requested [param level] and other settings defined by the provided preprocess [param flags]. +## Available preprocess flags are found in [enum LoggieEnums.PreprocessStep]. +func get_preprocessed(flags : int, level : LoggieEnums.LogLevel) -> String: + var loggie = get_logger() + var message = self.string() + + match level: + LoggieEnums.LogLevel.ERROR: + message = loggie.settings.format_error_msg.format({"msg": message}) + LoggieEnums.LogLevel.WARN: + message = loggie.settings.format_warning_msg.format({"msg": message}) + LoggieEnums.LogLevel.NOTICE: + message = loggie.settings.format_notice_msg.format({"msg": message}) + LoggieEnums.LogLevel.INFO: + message = loggie.settings.format_info_msg.format({"msg": message}) + LoggieEnums.LogLevel.DEBUG: + message = loggie.settings.format_debug_msg.format({"msg": message}) + + if (flags & LoggieEnums.PreprocessStep.APPEND_DOMAIN_NAME != 0) and !self.domain_name.is_empty(): + message = _apply_format_domain(message) + + if (flags & LoggieEnums.PreprocessStep.APPEND_CLASS_NAME != 0) and OS.has_feature("debug"): + message = _apply_format_class_name(message) + + if (flags & LoggieEnums.PreprocessStep.APPEND_TIMESTAMPS != 0): + message = _apply_format_timestamp(message) + + if self.appends_stack or (loggie.settings.debug_msgs_print_stack_trace and level == LoggieEnums.LogLevel.DEBUG): + message = _apply_format_stack(message) + + return message + +## Outputs the given string [param message] at the given output [param level] to the standard output using either [method print_rich] or [method print]. +## The domain from which the message is considered to be coming can be provided via [param target_domain]. +## The classification of the message can be provided via [param msg_type], as certain types need extra handling and treatment. +## It also does a number of changes to the given [param msg] based on various Loggie settings. +## Designed to be called internally. You should consider using [method info], [method error], [method warn], [method notice], [method debug] instead. +func output(level : LoggieEnums.LogLevel, msg_type : LoggieEnums.MsgType = LoggieEnums.MsgType.STANDARD) -> void: + var loggie = get_logger() + var message = self.string() + var target_domain = self.domain_name + var target_channels = self.used_channels + + if loggie == null: + push_error("Attempt to log output with an invalid _logger. Make sure to call LoggieMsg.use_logger to set the appropriate logger before working with the message.") + return + + if loggie.settings == null: + push_error("Attempt to use a _logger with invalid settings to print: {msg}".format({"msg": message})) + return + + # We don't output the message if the settings dictate that messages of that level shouldn't be outputted. + if level > loggie.settings.log_level: + loggie.log_attempted.emit(self, message, LoggieEnums.LogAttemptResult.LOG_LEVEL_INSUFFICIENT) + return + + # We don't output the message if the domain from which it comes is not enabled. + if not loggie.is_domain_enabled(target_domain): + loggie.log_attempted.emit(self, message, LoggieEnums.LogAttemptResult.DOMAIN_DISABLED) + return + + # Send the message on all configured channels. + var custom_target_channels = loggie.get_domain_custom_target_channels(target_domain) + if custom_target_channels.size() > 0: + target_channels = custom_target_channels + + for channel_id : String in target_channels: + var channel : LoggieMsgChannel = loggie.get_channel(channel_id) + + if channel == null: + loggie.log_attempted.emit(self, message, LoggieEnums.LogAttemptResult.INVALID_CHANNEL) + continue + + # Preprocessing Stage: + # Apply full preprocessing only if explicitly enabled. + # Otherwise, simply concatenate together all the [member content]. + if self.preprocess: + var flags = self.custom_preprocess_flags if self.custom_preprocess_flags != -1 else channel.preprocess_flags + self.last_preprocess_result = get_preprocessed(flags, level) + else: + self.last_preprocess_result = self.string() + + channel.send(self, msg_type) + + # Emit signal deferred so if this is called from a thread, it doesn't cry about it. + loggie.call_deferred("emit_signal", "log_attempted", self, message, LoggieEnums.LogAttemptResult.SUCCESS) + +## Outputs this message from Loggie as an Error type message. +## The [Loggie.settings.log_level] must be equal to or higher to the ERROR level for this to work. +func error() -> LoggieMsg: + output(LoggieEnums.LogLevel.ERROR, LoggieEnums.MsgType.ERROR) + return self + +## Outputs this message from Loggie as an Warning type message. +## The [Loggie.settings.log_level] must be equal to or higher to the WARN level for this to work. +func warn() -> LoggieMsg: + output(LoggieEnums.LogLevel.WARN, LoggieEnums.MsgType.WARNING) + return self + +## Outputs this message from Loggie as an Notice type message. +## The [Loggie.settings.log_level] must be equal to or higher to the NOTICE level for this to work. +func notice() -> LoggieMsg: + output(LoggieEnums.LogLevel.NOTICE) + return self + +## Outputs this message from Loggie as an Info type message. +## The [Loggie.settings.log_level] must be equal to or higher to the INFO level for this to work. +func info() -> LoggieMsg: + output(LoggieEnums.LogLevel.INFO) + return self + +## Outputs this message from Loggie as a Debug type message. +## The [Loggie.settings.log_level] must be equal to or higher to the DEBUG level for this to work. +func debug() -> LoggieMsg: + output(LoggieEnums.LogLevel.DEBUG, LoggieEnums.MsgType.DEBUG) + return self + +## Returns the string content of this message. +## If [param segment] is provided, it should be an integer indicating which segment of the message to return. +## If its value is -1, all segments are concatenated together and returned. +func string(segment : int = -1) -> String: + if segment == -1: + return "".join(self.content) + else: + if segment < self.content.size(): + return self.content[segment] + else: + push_error("Attempt to access a non-existent segment of a LoggieMsg. Make sure to use a valid segment index.") + return "" + +## Converts the current content of this message to an ANSI compatible form. +func to_ANSI() -> LoggieMsg: + var new_content : Array = [] + for segment in self.content: + new_content.append(LoggieTools.rich_to_ANSI(segment)) + self.content = new_content + return self + +## Strips all the BBCode in the current content of this message. +func strip_BBCode() -> LoggieMsg: + var new_content : Array = [] + for segment in self.content: + new_content.append(LoggieTools.remove_BBCode(segment)) + self.content = new_content + return self + +## Wraps the content of the current segment of this message in the given color. +## The [param color] can be provided as a [Color], a recognized Godot color name (String, e.g. "red"), or a color hex code (String, e.g. "#ff0000"). +func color(_color : Variant) -> LoggieMsg: + if _color is Color: + _color = _color.to_html() + + self.content[current_segment_index] = "[color={colorstr}]{msg}[/color]".format({ + "colorstr": _color, + "msg": self.content[current_segment_index] + }) + + return self + +## Stylizes the current segment of this message to be bold. +func bold() -> LoggieMsg: + self.content[current_segment_index] = "[b]{msg}[/b]".format({"msg": self.content[current_segment_index]}) + return self + +## Stylizes the current segment of this message to be italic. +func italic() -> LoggieMsg: + self.content[current_segment_index] = "[i]{msg}[/i]".format({"msg": self.content[current_segment_index]}) + return self + +## Stylizes the current segment of this message as a header. +func header() -> LoggieMsg: + var loggie = get_logger() + self.content[current_segment_index] = loggie.settings.format_header.format({"msg": self.content[current_segment_index]}) + return self + +## Sets whether this message should append the stack trace during preprocessing. +## If used in a different thread, it doesn't work, because it relies on [method get_stack] and +## that method doesn't work within threads. +func stack(enabled : bool = true) -> LoggieMsg: + self.appends_stack = enabled + return self + +## Constructs a decorative box with the given horizontal padding around the current segment +## of this message. Messages containing a box are not going to be preprocessed, so they are best +## used only as a special header or decoration. +func box(h_padding : int = 4): + var loggie = get_logger() + var stripped_content = LoggieTools.remove_BBCode(self.content[current_segment_index]).strip_edges(true, true) + var content_length = stripped_content.length() + var h_fill_length = content_length + (h_padding * 2) + var box_character_source = loggie.settings.box_symbols_compatible if loggie.settings.box_characters_mode == LoggieEnums.BoxCharactersMode.COMPATIBLE else loggie.settings.box_symbols_pretty + + var top_row_design = "{top_left_corner}{h_fill}{top_right_corner}".format({ + "top_left_corner" : box_character_source.top_left, + "h_fill" : box_character_source.h_line.repeat(h_fill_length), + "top_right_corner" : box_character_source.top_right + }) + + var middle_row_design = "{vert_line}{padding}{content}{space_fill}{padding}{vert_line}".format({ + "vert_line" : box_character_source.v_line, + "content" : self.content[current_segment_index], + "padding" : " ".repeat(h_padding), + "space_fill" : " ".repeat(h_fill_length - stripped_content.length() - h_padding*2) + }) + + var bottom_row_design = "{bottom_left_corner}{h_fill}{bottom_right_corner}".format({ + "bottom_left_corner" : box_character_source.bottom_left, + "h_fill" : box_character_source.h_line.repeat(h_fill_length), + "bottom_right_corner" : box_character_source.bottom_right + }) + + self.content[current_segment_index] = "{top_row}\n{middle_row}\n{bottom_row}\n".format({ + "top_row" : top_row_design, + "middle_row" : middle_row_design, + "bottom_row" : bottom_row_design + }) + + self.preprocessed(false) + return self + +## Appends additional content to this message at the end of the current content and its stylings. +## This does not create a new message segment, just appends to the current one. +func add(message : Variant = null, arg1 : Variant = null, arg2 : Variant = null, arg3 : Variant = null, arg4 : Variant = null, arg5 : Variant = null) -> LoggieMsg: + var converter_fn = self._logger.settings.custom_string_converter if is_instance_valid(self._logger) and is_instance_valid(self._logger.settings) else null + self.content[current_segment_index] = self.content[current_segment_index] + LoggieTools.concatenate_args([message, arg1, arg2, arg3, arg4, arg5], converter_fn) + return self + +## Adds a specified amount of newlines to the end of the current segment of this message. +func nl(amount : int = 1) -> LoggieMsg: + self.content[current_segment_index] += "\n".repeat(amount) + return self + +## Adds a specified amount of spaces to the end of the current segment of this message. +func space(amount : int = 1) -> LoggieMsg: + self.content[current_segment_index] += " ".repeat(amount) + return self + +## Adds a specified amount of tabs to the end of the current segment of this message. +func tab(amount : int = 1) -> LoggieMsg: + self.content[current_segment_index] += "\t".repeat(amount) + return self + +## Sets this message to belong to the domain with the given name. +## If it attempts to be outputted, but the domain is disabled, it won't be outputted. +func domain(_domain_name : String) -> LoggieMsg: + self.domain_name = _domain_name + return self + +## Prepends the given prefix string to the start of the message (first segment) with the provided separator. +func prefix(str_prefix : String, separator : String = "") -> LoggieMsg: + self.content[0] = "{prefix}{separator}{content}".format({ + "prefix" : str_prefix, + "separator" : separator, + "content" : self.content[0] + }) + return self + +## Appends the given suffix string to the end of the message (last segment) with the provided separator. +func suffix(str_suffix : String, separator : String = "") -> LoggieMsg: + self.content[self.content.size() - 1] = "{content}{separator}{suffix}".format({ + "suffix" : str_suffix, + "separator" : separator, + "content" : self.content[self.content.size() - 1] + }) + return self + +## Appends a horizontal separator with the given length to the current segment of this message. +## If [param alternative_symbol] is provided, it should be a String, and it will be used as the symbol for the separator instead of the default one. +func hseparator(size : int = 16, alternative_symbol : Variant = null) -> LoggieMsg: + var loggie = get_logger() + var symbol = loggie.settings.h_separator_symbol if alternative_symbol == null else str(alternative_symbol) + self.content[current_segment_index] = self.content[current_segment_index] + (symbol.repeat(size)) + return self + +## Ends the current segment of the message and starts a new one. +func endseg() -> LoggieMsg: + self.content.push_back("") + self.current_segment_index = self.content.size() - 1 + return self + +## Creates a new segment in this message and sets its content to the given message. +## Acts as a shortcut for calling [method endseg] + [method add]. +func msg(message = "", arg1 = null, arg2 = null, arg3 = null, arg4 = null, arg5 = null) -> LoggieMsg: + self.endseg() + var converter_fn = self._logger.settings.custom_string_converter if is_instance_valid(self._logger) and is_instance_valid(self._logger.settings) else null + self.content[current_segment_index] = LoggieTools.concatenate_args([message, arg1, arg2, arg3, arg4, arg5], converter_fn) + return self + +## Sets whether this message should be preprocessed and potentially modified with prefixes and suffixes during [method output]. +## If turned off, while outputting this message, Loggie will skip the steps where it appends the messaage domain, class name, timestamp, etc. +## Whether preprocess is set to true doesn't affect the final conversion from RICH to ANSI or PLAIN, which always happens +## under some circumstances that are based on other settings. +func preprocessed(shouldPreprocess : bool) -> LoggieMsg: + self.preprocess = shouldPreprocess + return self + +## Adds this message's configured domain to the start of the given [param message] and returns the modifier version of it. +func _apply_format_domain(message : String) -> String: + var loggie = get_logger() + message = loggie.settings.format_domain_prefix.format({"domain" : self.domain_name, "msg" : message}) + return message + +## Adds a formatted class name to the given [param message] and returns the modified version of it. +func _apply_format_class_name(message : String) -> String: + var loggie = get_logger() + var stack_frame : Dictionary = LoggieTools.get_current_stack_frame_data() + var _class_name : String + + var scriptPath = stack_frame.source + if loggie.class_names.has(scriptPath): + _class_name = loggie.class_names[scriptPath] + else: + _class_name = LoggieTools.get_class_name_from_script(scriptPath, loggie.settings.nameless_class_name_proxy) + loggie.class_names[scriptPath] = _class_name + + if _class_name != "": + message = "[b]({class_name})[/b] {msg}".format({ + "class_name" : _class_name, + "msg" : message + }) + return message + +## Adds a formatted timestamp to the given [param message] and returns the modified version of it. +func _apply_format_timestamp(message : String) -> String: + var loggie = get_logger() + var format_dict : Dictionary = Time.get_datetime_dict_from_system(loggie.settings.timestamps_use_utc) + for field in ["month", "day", "hour", "minute", "second"]: + format_dict[field] = "%02d" % format_dict[field] + message = "{formatted_time} {msg}".format({ + "formatted_time" : loggie.settings.format_timestamp.format(format_dict), + "msg" : message + }) + return message + +## Adds the stack trace to the given [param message] and returns the modified version of it. +func _apply_format_stack(message : String) -> String: + var loggie = get_logger() + var stack_msg = loggie.stack() + message = message + stack_msg.string() + return message diff --git a/addons/loggie/loggie_message.gd.uid b/addons/loggie/loggie_message.gd.uid new file mode 100644 index 0000000..cada3ae --- /dev/null +++ b/addons/loggie/loggie_message.gd.uid @@ -0,0 +1 @@ +uid://d2s1jro33fhet diff --git a/addons/loggie/loggie_message_channel.gd b/addons/loggie/loggie_message_channel.gd new file mode 100644 index 0000000..5a4d44e --- /dev/null +++ b/addons/loggie/loggie_message_channel.gd @@ -0,0 +1,24 @@ +@tool + +## A class that describes a channel that can be used to output Loggie Messages. +class_name LoggieMsgChannel extends RefCounted + +## The ID of the channel. +var ID : String = "" + +## The preprocessing steps a [method LoggieMsg] that's about to be +## sent to this channel has to go through. See: [LoggieEnums.PreprocessStep] for +## the list of flags that can be used. +var preprocess_flags : int = 0 + +## Defines what happens when some [LoggieMsg] wants to be sent with this channel. +## [br]If you're implementing your own channel, override this function to define +## how your channel outputs the message. +## +## You can access the last known preprocessed version of the message +## in [LoggieMsg.last_preprocess_result]. +## +## If your channel requires extra data, the data can be embedded into a message +## with [method LoggieMsg.set_meta] and read here with [method LoggieMsg.get_meta]. +func send(msg : LoggieMsg, type : LoggieEnums.MsgType): + pass diff --git a/addons/loggie/loggie_message_channel.gd.uid b/addons/loggie/loggie_message_channel.gd.uid new file mode 100644 index 0000000..3e821be --- /dev/null +++ b/addons/loggie/loggie_message_channel.gd.uid @@ -0,0 +1 @@ +uid://b70b2fx61qqj8 diff --git a/addons/loggie/loggie_settings.gd b/addons/loggie/loggie_settings.gd new file mode 100644 index 0000000..48a1334 --- /dev/null +++ b/addons/loggie/loggie_settings.gd @@ -0,0 +1,521 @@ +@tool + +## Defines a set of variables through which all the relevant settings of Loggie can have their +## values set, read and documented. An instance of this class is found in [member Loggie.settings], and that's where Loggie +## ultimately reads from when it's asking for the value of a setting. For user convenience, settings are (by default) exported +## as custom Godot project settings and are loaded from there into these variables during [method load], however, +## you can extend or overwrite this class' [method load] method to define a different way of loading these settings if you prefer. +## [i](e.g. loading from a config.ini file, or a .json file, etc.)[/i].[br][br] +## +## Loggie calls [method load] on this class during its [method _ready] function. +class_name LoggieSettings extends Resource + +## The name that will be used for the singleton referring to Loggie. +## [br][br][i][b]Note:[/b] You may change this to something you're more used to, such as "log" or "logger".[/i] +## When doing so, make sure to either do it while the Plugin is enabled, then disable and re-enable the plugin, +## or that you manually clear out the previously created autoload (should be called "Loggie") in Project Settings -> Autoloads. +static var loggie_singleton_name = "Loggie" + +# ----------------------------------------------- # +#region Project Settings +# ----------------------------------------------- # +## The dictionary which is used to grab the defaults and other values associated with each setting +## relevant to Loggie, particularly important for the default way of loading [LoggieSettings] and +## setting up Godot Project Settings related to Loggie. +const project_settings = { + "update_check_mode" = { + "path": "loggie/general/check_for_updates", + "default_value" : LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_UPDATER_WINDOW, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_ENUM, + "hint_string" : "Never:0,Only print notice if available:1,Print notice and auto-install:2,Yes and show updater window:3", + "doc" : "Sets which behavior Loggie should use when checking for updates.", + }, + "remove_settings_if_plugin_disabled" = { + "path": "loggie/general/remove_settings_if_plugin_disabled", + "default_value" : true, + "type" : TYPE_BOOL, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "Choose whether you want Loggie project settings to be wiped from ProjectSettings if the Loggie plugin is disabled.", + }, + "msg_format_mode" = { + "path": "loggie/general/msg_format_mode", + "default_value" : LoggieEnums.MsgFormatMode.BBCODE, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_ENUM, + "hint_string" : "Plain:0,ANSI:1,BBCode:2,Markdown:3", + "doc" : "Choose the format for which loggie should preprocess the output so that it displays correctly on the intended output medium.[br][br]Use BBCode for Godot console.[br]Use ANSI for Powershell, Bash, etc.[br]Use MARKDOWN for Discord.[br]Use PLAIN for log files.", + }, + "log_level" = { + "path": "loggie/general/log_level", + "default_value" : LoggieEnums.LogLevel.INFO, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_ENUM, + "hint_string" : "Error:0,Warn:1,Notice:2,Info:3,Debug:4", + "doc" : "Choose the level of messages which should be displayed. Loggie displays all messages that are outputted at the currently set level (or any lower level).", + }, + "show_system_specs" = { + "path": "loggie/general/show_system_specs", + "default_value" : true, + "type" : TYPE_BOOL, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "Should Loggie log the system and device specs of the user as soon as it is booted?", + }, + "show_loggie_specs" = { + "path": "loggie/general/show_loggie_specs", + "default_value" : LoggieEnums.ShowLoggieSpecsMode.ESSENTIAL, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_ENUM, + "hint_string" : "Disabled:0,Essential:1,Advanced:2", + "doc" : "Defines which way Loggie should print its own specs when it is booted.", + }, + "enforce_optimal_settings_in_release_build" = { + "path": "loggie/general/enforce_optimal_settings_in_release_build", + "default_value" : true, + "type" : TYPE_BOOL, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "Should Loggie enforce certain settings to automatically change to optimal values in production/release builds?", + }, + "default_channels" = { + "path": "loggie/general/default_channels", + "default_value" : ["terminal"], + "type" : TYPE_PACKED_STRING_ARRAY, + "hint" : PROPERTY_HINT_TYPE_STRING, + "hint_string" : "", + "doc" : "The channels messages outputted from Loggie will be sent to by default (if not modified with LoggieMsg.channel method).", + }, + "skipped_filenames_in_stack_trace" = { + "path": "loggie/general/skipped_filenames_in_stack_trace", + "default_value" : ["loggie", "loggie_message"], + "type" : TYPE_PACKED_STRING_ARRAY, + "hint" : PROPERTY_HINT_TYPE_STRING, + "hint_string" : "", + "doc" : "The file names, which, when appearing in a stack trace, should be omitted from the output.", + }, + "discord_webhook_url_live" = { + "path": "loggie/general/discord/live_webhook", + "default_value" : "", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_MULTILINE_TEXT, + "hint_string" : "", + "doc" : "The endpoint URL for the Discord webhook used when Loggie is running in a production build.", + }, + "discord_webhook_url_dev" = { + "path": "loggie/general/discord/dev_webhook", + "default_value" : "", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_MULTILINE_TEXT, + "hint_string" : "", + "doc" : "The endpoint URL for the Discord webhook used when Loggie is not running in a production build.", + }, + "slack_webhook_url_live" = { + "path": "loggie/general/slack/live_webhook", + "default_value" : "", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_MULTILINE_TEXT, + "hint_string" : "", + "doc" : "The endpoint URL for the Slack webhook used when Loggie is running in a production build.", + }, + "slack_webhook_url_dev" = { + "path": "loggie/general/slack/dev_webhook", + "default_value" : "", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_MULTILINE_TEXT, + "hint_string" : "", + "doc" : "The endpoint URL for the Slack webhook used when Loggie is not running in a production build.", + }, + "timestamps_use_utc" = { + "path": "loggie/preprocessing/timestamps_use_utc", + "default_value" : true, + "type" : TYPE_BOOL, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "If 'Output Timestamps' is true, should those timestamps use the UTC time. If not, local system time is used instead.", + }, + "output_errors_to_console" = { + "path": "loggie/preprocessing/terminal/output_errors_also_to_console", + "default_value" : true, + "type" : TYPE_BOOL, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "If true, errors printed by Loggie will also be visible through an additional print in the main output.", + }, + "output_warnings_to_console" = { + "path": "loggie/preprocessing/terminal/output_warnings_also_to_console", + "default_value" : true, + "type" : TYPE_BOOL, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "If true, warnings printed by Loggie will also be visible through an additional print in the main output.", + }, + "debug_msgs_print_stack_trace" = { + "path": "loggie/preprocessing/terminal/debug_msgs_print_stack_trace", + "default_value" : false, + "type" : TYPE_BOOL, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "If true, 'debug' level messages outputted by Loggie will also print the stack trace.", + }, + "nameless_class_name_proxy" = { + "path": "loggie/preprocessing/nameless_class_name_proxy", + "default_value" : LoggieEnums.NamelessClassExtensionNameProxy.BASE_TYPE, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_ENUM, + "hint_string" : "Nothing:0,ScriptName:1,BaseType:2", + "doc" : "If 'Derive and Display Class Names From Scripts' is enabled, and a script doesn't have a 'class_name', which text should we use as a substitute?", + }, + "preprocess_flags_terminal_channel" = { + "path": "loggie/preprocessing/terminal/preprocess_flags", + "default_value" : LoggieEnums.PreprocessStep.APPEND_TIMESTAMPS | LoggieEnums.PreprocessStep.APPEND_DOMAIN_NAME | LoggieEnums.PreprocessStep.APPEND_CLASS_NAME, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_FLAGS, + "hint_string" : "Append Timestamp:1,Append Domain Name:2,Append Class Name:4", + "doc" : "Defines the flags which LoggieMessages sent to the terminal channel will use during preprocessing.", + }, + "preprocess_flags_discord_channel" = { + "path": "loggie/preprocessing/discord/preprocess_flags", + "default_value" : LoggieEnums.PreprocessStep.APPEND_DOMAIN_NAME | LoggieEnums.PreprocessStep.APPEND_CLASS_NAME, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_FLAGS, + "hint_string" : "Append Timestamp:1,Append Domain Name:2,Append Class Name:4", + "doc" : "Defines the flags which LoggieMessages sent to the Discord channel will use during preprocessing.", + }, + "preprocess_flags_slack_channel" = { + "path": "loggie/preprocessing/slack/preprocess_flags", + "default_value" : LoggieEnums.PreprocessStep.APPEND_DOMAIN_NAME | LoggieEnums.PreprocessStep.APPEND_CLASS_NAME, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_FLAGS, + "hint_string" : "Append Timestamp:1,Append Domain Name:2,Append Class Name:4", + "doc" : "Defines the flags which LoggieMessages sent to the Slack channel will use during preprocessing.", + }, + "format_timestamp" = { + "path": "loggie/formats/timestamp", + "default_value" : "[{day}.{month}.{year} {hour}:{minute}:{second}]", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for timestamps which are prepended to the message when the appending of timestamps is enabled.", + }, + "format_stacktrace_entry" = { + "path": "loggie/formats/stacktrace_entry", + "default_value" : "{index}: [color=#ff7085]func[/color] [color=#53b1c3][b]{fn_name}[/b]:{line}[/color] [color=slate_gray][i](in {source_path})[/i][/color]", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for stack trace entries when trace logging is enabled.", + }, + "format_debug_msg" = { + "path": "loggie/formats/debug_message", + "default_value" : "[b][color=pink][DEBUG]:[/color][/b] {msg}", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for debug messages.", + }, + "format_info_msg" = { + "path": "loggie/formats/info_message", + "default_value" : "{msg}", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for info messages.", + }, + "format_notice_msg" = { + "path": "loggie/formats/notice_message", + "default_value" : "[b][color=cyan][NOTICE]:[/color][/b] {msg}", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for notice messages.", + }, + "format_warning_msg" = { + "path": "loggie/formats/warning_message", + "default_value" : "[b][color=orange][WARN]:[/color][/b] {msg}", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for warning messages.", + }, + "format_error_msg" = { + "path": "loggie/formats/error_message", + "default_value" : "[b][color=red][ERROR]:[/color][/b] {msg}", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for error messages.", + }, + "format_domain_prefix" = { + "path": "loggie/formats/domain_prefix", + "default_value" : "[b]({domain})[/b] {msg}", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for domain prefixes.", + }, + "format_header" = { + "path": "loggie/formats/header", + "default_value" : "[b][i]{msg}[/i][/b]", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The format used for headers.", + }, + "h_separator_symbol" = { + "path": "loggie/formats/h_separator_symbol", + "default_value" : "-", + "type" : TYPE_STRING, + "hint" : PROPERTY_HINT_NONE, + "hint_string" : "", + "doc" : "The symbol used for the horizontal separator.", + }, + "box_characters_mode" = { + "path": "loggie/formats/box_characters_mode", + "default_value" : LoggieEnums.BoxCharactersMode.COMPATIBLE, + "type" : TYPE_INT, + "hint" : PROPERTY_HINT_ENUM, + "hint_string" : "Compatible:0,Pretty:1", + "doc" : "There are two sets of box characters defined in LoggieSettings - one set contains prettier characters that produce a nicer looking box, but may not render correctly in the context of various terminals. The other set contains characters that produce a less pretty box, but are compatible with being shown in most terminals.", + } +} + +#endregion +# ----------------------------------------------- # +#region Variables +# ----------------------------------------------- # + +## The current behavior Loggie uses to check for updates. +var update_check_mode : LoggieEnums.UpdateCheckType = LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_UPDATER_WINDOW + +## The current Message Format Mode of Loggie. +## Message Format Mode determines whether BBCode, ANSI or some other type of +## formatting is used to convey text effects, such as bold, italic, colors, etc. +## [br][br]BBCode is compatible with the Godot console. +## [br]ANSI is compatible with consoles like Powershell and Windows CMD. +## [br]PLAIN is used to strip any effects and use plain text instead, which is good for saving raw logs into log files. +var msg_format_mode : LoggieEnums.MsgFormatMode = LoggieEnums.MsgFormatMode.BBCODE + +## The current log level of Loggie. +## It determines which types of messages are allowed to be logged. +## Set this using [method setLogLevel]. +var log_level : LoggieEnums.LogLevel = LoggieEnums.LogLevel.INFO + +## Whether or not Loggie should log the loggie specs on ready. +var show_loggie_specs : LoggieEnums.ShowLoggieSpecsMode = LoggieEnums.ShowLoggieSpecsMode.ESSENTIAL + +## Whether or not Loggie should log the system specs on ready. +var show_system_specs : bool = true + +## Whether to, in addition to logging errors with [method push_error], +## Loggie should also print the error as a message in the standard output. +var print_errors_to_console : bool = true + +## Whether to, in addition to logging errors with [method push_warning], +## Loggie should also print the error as a message in the standard output. +var print_warnings_to_console : bool = true + +## Defines which text will be used as a substitute for the 'class_name' of scripts that do not have a 'class_name'. +## Relevant only during the [member LoggieEnums.PreprocessStep.APPEND_CLASS_NAME] step of preprocessing. +var nameless_class_name_proxy : LoggieEnums.NamelessClassExtensionNameProxy + +## Whether the outputted timestamps use UTC or local machine time. +var timestamps_use_utc : bool = true + +## If true, when outputting Debug level messages, the stack trace will also be appended. +var debug_msgs_print_stack_trace : bool = false + +## Whether Loggie should enforce optimal values for certain settings when in a Release/Production build. +## [br]If true, Loggie will enforce: +## [br] * [member msg_format_mode] to [member LoggieEnums.MsgFormatMode.PLAIN] +## [br] * [member box_characters_mode] to [member LoggieEnums.BoxCharactersMode.COMPATIBLE] +var enforce_optimal_settings_in_release_build : bool = true + +## Endpoint URL for the Discord webhook (used in dev environment) +## [br][b]NEVER[/b] distribute your webhook in your project's repository, source code, or built game, where it can be accessed by other people. +## This is meant to be used only in controlled circumstances. +var discord_webhook_url_dev : String = "" + +## Endpoint URL for the Discord webhook (used in production/release environment) +## [br][b]NEVER[/b] distribute your webhook in your project's repository, source code, or built game, where it can be accessed by other people. +## This is meant to be used only in controlled circumstances. +var discord_webhook_url_live : String = "" + +## Endpoint URL for the Slack webhook (used in dev environment) +## [br][b]NEVER[/b] distribute your webhook in your project's repository, source code, or built game, where it can be accessed by other people. +## This is meant to be used only in controlled circumstances. +var slack_webhook_url_dev : String = "" + +## Endpoint URL for the Slack webhook (used in production/release environment) +## [br][b]NEVER[/b] distribute your webhook in your project's repository, source code, or built game, where it can be accessed by other people. +## This is meant to be used only in controlled circumstances. +var slack_webhook_url_live : String = "" + +## Defines the flags which LoggieMessages sent to the terminal channel will use during preprocessing. +var preprocess_flags_terminal_channel = LoggieEnums.PreprocessStep.APPEND_TIMESTAMPS | LoggieEnums.PreprocessStep.APPEND_DOMAIN_NAME | LoggieEnums.PreprocessStep.APPEND_CLASS_NAME + +## Defines the flags which LoggieMessages sent to the Discord channel output will use during preprocessing. +var preprocess_flags_discord_channel = LoggieEnums.PreprocessStep.APPEND_DOMAIN_NAME | LoggieEnums.PreprocessStep.APPEND_CLASS_NAME + +## Defines the flags which LoggieMessages sent to the Slack channel output will use during preprocessing. +var preprocess_flags_slack_channel = LoggieEnums.PreprocessStep.APPEND_DOMAIN_NAME | LoggieEnums.PreprocessStep.APPEND_CLASS_NAME + +## The list of channels a message outputted from Loggie should be sent to by default. +var default_channels : PackedStringArray = ["terminal"] + +## The list of file names, which, when appearing in a stack trace, should be omitted from the output.. +var skipped_filenames_in_stack_trace : PackedStringArray = ["loggie", "loggie_message"] + +#endregion +# ----------------------------------------------- # +#region Formats for prints +# ----------------------------------------------- # +# As per the `print_rich` documentation, supported colors are: black, red, green, yellow, blue, magenta, pink, purple, cyan, white, orange, gray. +# Any other color will be displayed in the Godot console or an ANSI based console, but the color tag (in case of BBCode) won't be properly stripped +# when written to the .log file, resulting in BBCode visible in .log files. + +## The format used to decorate a message as a header when using [method LoggieMsg.header].[br] +## The [param {msg}] is a variable that will be replaced with the contents of the message.[br] +var format_header = "[b][i]{msg}[/i][/b]" + +## The format used when appending a domain to a message.[br] +## The [param {msg}] is a variable that will be replaced with the contents of the message.[br] +## The [param {domain}] is a variable that will be replaced with the domain key.[br] +## You can customize this in your ProjectSettings, or custom_settings.gd (if using it).[br] +var format_domain_prefix = "[b]({domain})[/b] {msg}" + +## The format used when outputting error messages.[br] +## The [param {msg}] is a variable that will be replaced with the contents of the message.[br] +## You can customize this in your ProjectSettings, or custom_settings.gd (if using it).[br] +var format_error_msg = "[b][color=red][ERROR]:[/color][/b] {msg}" + +## The format used when outputting warning messages.[br] +## The [param {msg}] is a variable that will be replaced with the contents of the message.[br] +## You can customize this in your ProjectSettings, or custom_settings.gd (if using it).[br] +var format_warning_msg = "[b][color=orange][WARN]:[/color][/b] {msg}" + +## The format used when outputting notice messages.[br] +## The [param {msg}] is a variable that will be replaced with the contents of the message.[br] +## You can customize this in your ProjectSettings, or custom_settings.gd (if using it).[br] +var format_notice_msg = "[b][color=cyan][NOTICE]:[/color][/b] {msg}" + +## The format used when outputting info messages.[br] +## The [param {msg}] is a variable that will be replaced with the contents of the message.[br] +## You can customize this in your ProjectSettings, or custom_settings.gd (if using it).[br] +var format_info_msg = "{msg}" + +## The format used when outputting debug messages.[br] +## The [param {msg}] is a variable that will be replaced with the contents of the message.[br] +## You can customize this in your ProjectSettings, or custom_settings.gd (if using it).[br] +var format_debug_msg = "[b][color=pink][DEBUG]:[/color][/b] {msg}" + +## The format used for timestamps when they are prepended to the output.[br] +## The variables [param {day}], [param {month}], [param {year}], [param {hour}], [param {minute}], [param {second}], [param {weekday}], and [param {dst}] are supported. +## You can customize this in your ProjectSettings, or custom_settings.gd (if using it).[br] +var format_timestamp = "[{day}.{month}.{year} {hour}:{minute}:{second}]" + +## The format used for each entry in a stack trace that is obtained through [method Loggie.stack]. +## The variables [param {fn_name}], [param {index}], [param {source_path}], [param {line}] are supported. +## You can customize this in your ProjectSettings, or custom_settings.gd (if using it).[br] +var format_stacktrace_entry = "{index}: [color=#ff7085]func[/color] [color=#53b1c3][b]{fn_name}[/b]:{line}[/color] [color=slate_gray][i](in {source_path})[/i][/color]" + +## The symbol which will be used for the HSeparator. +var h_separator_symbol = "-" + +## The mode used for drawing boxes. +var box_characters_mode : LoggieEnums.BoxCharactersMode + +## The symbols which will be used to construct a box decoration that will properly +## display on any kind of terminal or text reader. +## For a prettier but potentially incompatible box, use [member box_symbols_pretty] instead. +var box_symbols_compatible = { + # ANSI and .log compatible box characters: + "top_left" : "-", + "top_right" : "-", + "bottom_left" : "-", + "bottom_right" : "-", + "h_line" : "-", + "v_line" : ":", +} + +## The symbols which will be used to construct pretty box decoration. +## These may not be compatible with some terminals or text readers. +## Use the [member box_symbols_compatible] instead as an alternative. +var box_symbols_pretty = { + "top_left" : "┌", + "top_right" : "┐", + "bottom_left" : "└", + "bottom_right" : "┘", + "h_line" : "─", + "v_line" : "│", +} + +#endregion +# ----------------------------------------------- # + +## A [Callable] function that takes 1 parameter [param something] (Variant), +## and returns a [String] which represents the given [param something] in text. +## By default, Loggie sets this to `LoggieTools.convert_to_string` when initialized. +## [br][br] +## You can, however, override that by changing this value to a valid replacement [Callable], +## after Loggie has initialized. +var custom_string_converter : Callable + +## Loads the initial (default) values for all of the LoggieSettings variables. +## (By default, loads them from ProjectSettings (if any modifications there exist), +## or looks in [LoggieEditorPlugin..project_settings] for default values). +## [br][br]Extend this class and override this function to write your own logic for +## how loggie should obtain these settings if you have a need for a different approach. +func load(): + update_check_mode = ProjectSettings.get_setting(project_settings.update_check_mode.path, project_settings.update_check_mode.default_value) + msg_format_mode = ProjectSettings.get_setting(project_settings.msg_format_mode.path, project_settings.msg_format_mode.default_value) + log_level = ProjectSettings.get_setting(project_settings.log_level.path, project_settings.log_level.default_value) + show_loggie_specs = ProjectSettings.get_setting(project_settings.show_loggie_specs.path, project_settings.show_loggie_specs.default_value) + show_system_specs = ProjectSettings.get_setting(project_settings.show_system_specs.path, project_settings.show_system_specs.default_value) + timestamps_use_utc = ProjectSettings.get_setting(project_settings.timestamps_use_utc.path, project_settings.timestamps_use_utc.default_value) + enforce_optimal_settings_in_release_build = ProjectSettings.get_setting(project_settings.enforce_optimal_settings_in_release_build.path, project_settings.enforce_optimal_settings_in_release_build.default_value) + default_channels = ProjectSettings.get_setting(project_settings.default_channels.path, project_settings.default_channels.default_value) + skipped_filenames_in_stack_trace = ProjectSettings.get_setting(project_settings.skipped_filenames_in_stack_trace.path, project_settings.skipped_filenames_in_stack_trace.default_value) + + print_errors_to_console = ProjectSettings.get_setting(project_settings.output_errors_to_console.path, project_settings.output_errors_to_console.default_value) + print_warnings_to_console = ProjectSettings.get_setting(project_settings.output_warnings_to_console.path, project_settings.output_warnings_to_console.default_value) + debug_msgs_print_stack_trace = ProjectSettings.get_setting(project_settings.debug_msgs_print_stack_trace.path, project_settings.debug_msgs_print_stack_trace.default_value) + + nameless_class_name_proxy = ProjectSettings.get_setting(project_settings.nameless_class_name_proxy.path, project_settings.nameless_class_name_proxy.default_value) + box_characters_mode = ProjectSettings.get_setting(project_settings.box_characters_mode.path, project_settings.box_characters_mode.default_value) + + format_timestamp = ProjectSettings.get_setting(project_settings.format_timestamp.path, project_settings.format_timestamp.default_value) + format_stacktrace_entry = ProjectSettings.get_setting(project_settings.format_stacktrace_entry.path, project_settings.format_stacktrace_entry.default_value) + format_info_msg = ProjectSettings.get_setting(project_settings.format_info_msg.path, project_settings.format_info_msg.default_value) + format_notice_msg = ProjectSettings.get_setting(project_settings.format_notice_msg.path, project_settings.format_notice_msg.default_value) + format_warning_msg = ProjectSettings.get_setting(project_settings.format_warning_msg.path, project_settings.format_warning_msg.default_value) + format_error_msg = ProjectSettings.get_setting(project_settings.format_error_msg.path, project_settings.format_error_msg.default_value) + format_debug_msg = ProjectSettings.get_setting(project_settings.format_debug_msg.path, project_settings.format_debug_msg.default_value) + h_separator_symbol = ProjectSettings.get_setting(project_settings.h_separator_symbol.path, project_settings.h_separator_symbol.default_value) + + discord_webhook_url_live = ProjectSettings.get_setting(project_settings.discord_webhook_url_live.path, project_settings.discord_webhook_url_live.default_value) + discord_webhook_url_dev = ProjectSettings.get_setting(project_settings.discord_webhook_url_dev.path, project_settings.discord_webhook_url_dev.default_value) + preprocess_flags_discord_channel = ProjectSettings.get_setting(project_settings.preprocess_flags_discord_channel.path, project_settings.preprocess_flags_discord_channel.default_value) + slack_webhook_url_live = ProjectSettings.get_setting(project_settings.slack_webhook_url_live.path, project_settings.slack_webhook_url_live.default_value) + slack_webhook_url_dev = ProjectSettings.get_setting(project_settings.slack_webhook_url_dev.path, project_settings.slack_webhook_url_dev.default_value) + preprocess_flags_slack_channel = ProjectSettings.get_setting(project_settings.preprocess_flags_slack_channel.path, project_settings.preprocess_flags_slack_channel.default_value) + preprocess_flags_terminal_channel = ProjectSettings.get_setting(project_settings.preprocess_flags_terminal_channel.path, project_settings.preprocess_flags_terminal_channel.default_value) + +## Returns a dictionary where the indices are names of relevant variables in the LoggieSettings class, +## and the values are their current values. +func to_dict() -> Dictionary: + var dict = {} + var included = [ + "preprocess_flags_discord_channel", "preprocess_flags_slack_channel", "preprocess_flags_terminal_channel", + "default_channels", "skipped_filenames_in_stack_trace", "msg_format_mode", "log_level", "show_loggie_specs", "show_system_specs", "enforce_optimal_settings_in_release_build", + "print_errors_to_console", "print_warnings_to_console", + "debug_msgs_print_stack_trace", "nameless_class_name_proxy", + "timestamps_use_utc", "format_header", "format_domain_prefix", "format_error_msg", + "format_warning_msg", "format_notice_msg", "format_info_msg", "format_debug_msg", "format_timestamp", + "h_separator_symbol", "box_characters_mode", "box_symbols_compatible", "box_symbols_pretty", + ] + + for var_name in included: + dict[var_name] = get(var_name) + return dict diff --git a/addons/loggie/loggie_settings.gd.uid b/addons/loggie/loggie_settings.gd.uid new file mode 100644 index 0000000..e3f86a7 --- /dev/null +++ b/addons/loggie/loggie_settings.gd.uid @@ -0,0 +1 @@ +uid://cy4e5xusg8krn diff --git a/addons/loggie/plugin.cfg b/addons/loggie/plugin.cfg new file mode 100644 index 0000000..9cb6e3d --- /dev/null +++ b/addons/loggie/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="Loggie" +description="Simple functional stylish logger for your basic logging needs." +author="Shiva Shadowsong" +version="2.0" +script="plugin.gd" diff --git a/addons/loggie/plugin.gd b/addons/loggie/plugin.gd new file mode 100644 index 0000000..1fd54b4 --- /dev/null +++ b/addons/loggie/plugin.gd @@ -0,0 +1,50 @@ +@tool +class_name LoggieEditorPlugin extends EditorPlugin + +func _enter_tree(): + add_autoload_singleton(LoggieSettings.loggie_singleton_name, "res://addons/loggie/loggie.gd") + add_loggie_project_settings() + Engine.set_meta("LoggieEditorPlugin", self) + if Engine.is_editor_hint(): + Engine.set_meta("LoggieEditorInterfaceBaseControl", EditorInterface.get_base_control()) + +func _enable_plugin() -> void: + add_loggie_project_settings() + +func _disable_plugin() -> void: + var wipe_setting_exists = ProjectSettings.has_setting(LoggieSettings.project_settings.remove_settings_if_plugin_disabled.path) + if (not wipe_setting_exists) or (wipe_setting_exists and ProjectSettings.get_setting(LoggieSettings.project_settings.remove_settings_if_plugin_disabled.path, true)): + push_warning("The Loggie plugin is being disabled, and all of its ProjectSettings are erased from Godot. If you wish to prevent this behavior, look for the 'Project Settings -> Loggie -> General -> Remove Settings if Plugin Disabled' option while the plugin is enabled.") + remove_loggie_project_setings() + else: + push_warning("The Loggie plugin is being disabled, but its ProjectSettings have been prevented from being removed from Godot. If you wish to allow that behavior, look for the 'Project Settings -> Loggie -> General -> Remove Settings if Plugin Disabled' option while the plugin is enabled.") + remove_autoload_singleton(LoggieSettings.loggie_singleton_name) + +## Adds new Loggie related ProjectSettings to Godot. +func add_loggie_project_settings(): + for setting in LoggieSettings.project_settings.values(): + add_project_setting(setting["path"], setting["default_value"], setting["type"], setting["hint"], setting["hint_string"], setting["doc"]) + +## Removes Loggie related ProjectSettings from Godot. +func remove_loggie_project_setings(): + for setting in LoggieSettings.project_settings.values(): + ProjectSettings.set_setting(setting["path"], null) + + var error: int = ProjectSettings.save() + if error != OK: + push_error("Loggie - Encountered error %d while saving project settings." % error) + +## Adds a new project setting to Godot. +## (WARNING): Unfortunately, as of Godot 4.3, it has been confirmed that it is not possible to set the +## popup tooltip text for a project setting. This should be implemented here as soon as that becomes possible. +func add_project_setting(setting_name: String, default_value : Variant, value_type: int, type_hint: int = PROPERTY_HINT_NONE, hint_string: String = "", documentation : String = ""): + if !ProjectSettings.has_setting(setting_name): + ProjectSettings.set_setting(setting_name, default_value) + + ProjectSettings.set_initial_value(setting_name, default_value) + ProjectSettings.add_property_info({ "name": setting_name, "type": value_type, "hint": type_hint, "hint_string": hint_string}) + ProjectSettings.set_as_basic(setting_name, true) + + var error: int = ProjectSettings.save() + if error: + push_error("Loggie - Encountered error %d while saving project settings." % error) diff --git a/addons/loggie/plugin.gd.uid b/addons/loggie/plugin.gd.uid new file mode 100644 index 0000000..db838b4 --- /dev/null +++ b/addons/loggie/plugin.gd.uid @@ -0,0 +1 @@ +uid://c877oew076160 diff --git a/addons/loggie/tools/loggie_enums.gd b/addons/loggie/tools/loggie_enums.gd new file mode 100644 index 0000000..daea02e --- /dev/null +++ b/addons/loggie/tools/loggie_enums.gd @@ -0,0 +1,79 @@ +@tool +class_name LoggieEnums extends Node + +## Based on which log level is currently set to be used by the Loggie., attempting to log a message that's on +## a higher-than-configured log level will result in nothing happening. +enum LogLevel { + ERROR, ## Log level which includes only the logging of Error type messages. + WARN, ## Log level which includes the logging of Error and Warning type messages. + NOTICE, ## Log level which includes the logging of Error, Warning and Notice type messages. + INFO, ## Log level which includes the logging of Error, Warning, Notice and Info type messages. + DEBUG ## Log level which includes the logging of Error, Warning, Notice, Info and Debug type messages. +} + +## The classification of message types that can be used to distinguish two identical strings in nature +## of their origin. This is different from [enum LogLevel]. +enum MsgType { + STANDARD, ## A message that is considered a standard text that is not special in any way. + ERROR, ## A message that is considered to be an error message. + WARNING, ## A message that is considered to be a warning message. + DEBUG ## A message that is considered to be a message used for debugging. +} + +enum MsgFormatMode { + PLAIN, ## Prints will be plain text. + ANSI, ## Prints will be styled using the ANSI standard. Compatible with Powershell, Win CMD, etc. + BBCODE, ## Prints will be styled using the Godot BBCode rules. Compatible with the Godot console. + MARKDOWN, ## Prints will be styled using the Markdown standard. Compatible with most Markdown readers. +} + +## Classifies various steps that can happen during preprocessing. +enum PreprocessStep { + ## A timestamp will be added to the message. + APPEND_TIMESTAMPS = 1 << 0, + + ## The name of the domain from which the message is coming will be added to the message. + APPEND_DOMAIN_NAME = 1 << 1, + + ## Whether Loggie should use the scripts from which it is being called to + ## figure out a class name for the class that called a loggie function, + ## and append it to the outputted message. + ## This only works in debug builds because it uses [method @GDScript.get_stack]. + ## See that method's documentation to see why that can't be used in release builds. + APPEND_CLASS_NAME = 1 << 2, +} + +enum BoxCharactersMode { + COMPATIBLE, ## Boxes are drawn using characters that compatible with any kind of terminal or text reader. + PRETTY ## Boxes are drawn using special unicode characters that create a prettier looking box which may not display properly in some terminals or text readers. +} + +## Defines a list of possible approaches that can be taken to derive some kind of a class name proxy from a script that doesn't have a 'class_name' clause. +enum NamelessClassExtensionNameProxy { + NOTHING, ## If there is no class_name, nothing will be displayed. + SCRIPT_NAME, ## Use the name of the script whose class_name we tried to read. (e.g. "my_script.gd"). + BASE_TYPE, ## Use the name of the base type which the script extends (e.g. 'Node2D', 'Control', etc.) +} + +## Defines a list of possible behaviors for the 'show_loggie_specs' setting. +enum ShowLoggieSpecsMode { + DISABLED, ## Loggie specs won't be shown. + ESSENTIAL, ## Show only the essentials. + ADVANCED ## Show all loggie specs. +} + +## Defines a list of possible outcomes that can happen when attempting to log a message. +enum LogAttemptResult { + SUCCESS, ## Message will be logged successfully. + LOG_LEVEL_INSUFFICIENT, ## Message won't be logged because it was output at a log level higher than what Loggie is currently set to. + DOMAIN_DISABLED, ## Message won't be logged because it was outputted from a disabled domain. + INVALID_CHANNEL, ## Message won't be logged because the channel which was supposed to send it doesn't exist. +} + +## Defines a list of possible ways to configure Loggie to check for updates. +enum UpdateCheckType { + DONT_CHECK, ## If the user doesn't want Loggie to check for updates at all. + CHECK_AND_SHOW_MSG, ## If the user wants Loggie to check for updates, and display info in a terminal message. + CHECK_DOWNLOAD_AND_SHOW_MSG, ## If the user wants Loggie to check for updates, download the update, and display info in a terminal message. + CHECK_AND_SHOW_UPDATER_WINDOW, ## If the user wants Loggie to check for updats, and display the updater window. +} diff --git a/addons/loggie/tools/loggie_enums.gd.uid b/addons/loggie/tools/loggie_enums.gd.uid new file mode 100644 index 0000000..bc33a5e --- /dev/null +++ b/addons/loggie/tools/loggie_enums.gd.uid @@ -0,0 +1 @@ +uid://cg22nkeh1ywxa diff --git a/addons/loggie/tools/loggie_system_specs.gd b/addons/loggie/tools/loggie_system_specs.gd new file mode 100644 index 0000000..b40eaac --- /dev/null +++ b/addons/loggie/tools/loggie_system_specs.gd @@ -0,0 +1,186 @@ +@tool + +## LoggieSystemSpecs is a helper class that defines various functions on how to access data about the local machine and its specs +## and creates displayable strings out of them. +class_name LoggieSystemSpecsMsg extends LoggieMsg + +## Embeds various system specs into the content of this message. +func embed_specs() -> LoggieSystemSpecsMsg: + self.embed_system_specs() + self.embed_localization_specs() + self.embed_date_data().nl() + self.embed_hardware_specs().nl() + self.embed_video_specs().nl() + self.embed_display_specs().nl() + self.embed_audio_specs().nl() + self.embed_engine_specs().nl() + self.embed_input_specs() + return self + +## Embeds essential data about the logger into the content of this message. +func embed_essential_logger_specs() -> LoggieSystemSpecsMsg: + var loggie = get_logger() + self.add(loggie.msg("|\t Is in Production:").bold(), loggie.is_in_production()).nl() + self.add(loggie.msg("|\t Default Channel(s):").bold(),loggie.settings.default_channels).nl() + self.add(loggie.msg("|\t Msg Format Mode:").bold(), LoggieEnums.MsgFormatMode.keys()[loggie.settings.msg_format_mode]).nl() + self.add(loggie.msg("|\t Log Level:").bold(), LoggieEnums.LogLevel.keys()[loggie.settings.log_level]).nl() + return self + +## Embeds advanced data about the logger into the content of this message. +func embed_advanced_logger_specs() -> LoggieSystemSpecsMsg: + var loggie = get_logger() + + self.add(loggie.msg("|\t Is in Production:").bold(), loggie.is_in_production()).nl() + + var settings_dict = loggie.settings.to_dict() + for setting_var_name : String in settings_dict.keys(): + var setting_value = settings_dict[setting_var_name] + var content_to_print = setting_value + + match setting_var_name: + "msg_format_mode": + content_to_print = LoggieEnums.MsgFormatMode.keys()[setting_value] + "log_level": + content_to_print = LoggieEnums.LogLevel.keys()[setting_value] + "box_characters_mode": + content_to_print = LoggieEnums.BoxCharactersMode.keys()[setting_value] + + self.add(loggie.msg("|\t", setting_var_name.capitalize(), ":").bold(), content_to_print).nl() + + return self + +## Adds data about the user's software to the content of this message. +func embed_system_specs() -> LoggieSystemSpecsMsg: + var loggie = get_logger() + var header = loggie.msg("Operating System: ").color(Color.ORANGE).add(OS.get_name()).box(4) + self.add(header) + return self + +## Adds data about localization to the content of this message. +func embed_localization_specs() -> LoggieSystemSpecsMsg: + var loggie = get_logger() + var header = loggie.msg("Localization: ").color(Color.ORANGE).add(OS.get_locale()).box(7) + self.add(header) + return self + +## Adds data about the current date/time to the content of this message. +func embed_date_data() -> LoggieSystemSpecsMsg: + var loggie = get_logger() + var header = loggie.msg("Date").color(Color.ORANGE).box(15) + self.add(header) + self.add(loggie.msg("Date and time (local):").bold(), Time.get_datetime_string_from_system(false, true)).nl() + self.add(loggie.msg("Date and time (UTC):").bold(), Time.get_datetime_string_from_system(true, true)).nl() + self.add(loggie.msg("Date (local):").bold(), Time.get_date_string_from_system(false)).nl() + self.add(loggie.msg("Date (UTC):").bold(), Time.get_date_string_from_system(true)).nl() + self.add(loggie.msg("Time (local):").bold(), Time.get_time_string_from_system(false)).nl() + self.add(loggie.msg("Time (UTC):").bold(), Time.get_time_string_from_system(true)).nl() + self.add(loggie.msg("Timezone:").bold(), Time.get_time_zone_from_system()).nl() + self.add(loggie.msg("UNIX time:").bold(), Time.get_unix_time_from_system()).nl() + return self + +## Adds data about the user's hardware to the content of this message. +func embed_hardware_specs() -> LoggieSystemSpecsMsg: + var loggie = get_logger() + var header = loggie.msg("Hardware").color(Color.ORANGE).box(13) + self.add(header) + self.add(loggie.msg("Model name:").bold(), OS.get_model_name()).nl() + self.add(loggie.msg("Processor name:").bold(), OS.get_processor_name()).nl() + return self + +## Adds data about the video system to the content of this message. +func embed_video_specs() -> LoggieSystemSpecsMsg: + const adapter_type_to_string = ["Other (Unknown)", "Integrated", "Discrete", "Virtual", "CPU"] + var adapter_type_string = adapter_type_to_string[RenderingServer.get_video_adapter_type()] + var video_adapter_driver_info = OS.get_video_adapter_driver_info() + var loggie = get_logger() + + var header = loggie.msg("Video").color(Color.ORANGE).box(15) + self.add(header) + self.add(loggie.msg("Adapter name:").bold(), RenderingServer.get_video_adapter_name()).nl() + self.add(loggie.msg("Adapter vendor:").bold(), RenderingServer.get_video_adapter_vendor()).nl() + self.add(loggie.msg("Adapter type:").bold(), adapter_type_string).nl() + self.add(loggie.msg("Adapter graphics API version:").bold(), RenderingServer.get_video_adapter_api_version()).nl() + + if video_adapter_driver_info.size() > 0: + self.add(loggie.msg("Adapter driver name:").bold(), video_adapter_driver_info[0]).nl() + if video_adapter_driver_info.size() > 1: + self.add(loggie.msg("Adapter driver version:").bold(), video_adapter_driver_info[1]).nl() + + return self + +## Adds data about the display to the content of this message. +func embed_display_specs() -> LoggieSystemSpecsMsg: + const screen_orientation_to_string = [ + "Landscape", + "Portrait", + "Landscape (reverse)", + "Portrait (reverse)", + "Landscape (defined by sensor)", + "Portrait (defined by sensor)", + "Defined by sensor", + ] + var screen_orientation_string = screen_orientation_to_string[DisplayServer.screen_get_orientation()] + var loggie = get_logger() + + var header = loggie.msg("Display").color(Color.ORANGE).box(13) + self.add(header) + self.add(loggie.msg("Screen count:").bold(), DisplayServer.get_screen_count()).nl() + self.add(loggie.msg("DPI:").bold(), DisplayServer.screen_get_dpi()).nl() + self.add(loggie.msg("Scale factor:").bold(), DisplayServer.screen_get_scale()).nl() + self.add(loggie.msg("Maximum scale factor:").bold(), DisplayServer.screen_get_max_scale()).nl() + self.add(loggie.msg("Startup screen position:").bold(), DisplayServer.screen_get_position()).nl() + self.add(loggie.msg("Startup screen size:").bold(), DisplayServer.screen_get_size()).nl() + self.add(loggie.msg("Startup screen refresh rate:").bold(), ("%f Hz" % DisplayServer.screen_get_refresh_rate()) if DisplayServer.screen_get_refresh_rate() > 0.0 else "").nl() + self.add(loggie.msg("Usable (safe) area rectangle:").bold(), DisplayServer.get_display_safe_area()).nl() + self.add(loggie.msg("Screen orientation:").bold(), screen_orientation_string).nl() + return self + +## Adds data about the audio system to the content of this message. +func embed_audio_specs() -> LoggieSystemSpecsMsg: + var loggie = get_logger() + var header = loggie.msg("Audio").color(Color.ORANGE).box(14) + self.add(header) + self.add(loggie.msg("Mix rate:").bold(), "%d Hz" % AudioServer.get_mix_rate()).nl() + self.add(loggie.msg("Output latency:").bold(), "%f ms" % (AudioServer.get_output_latency() * 1000)).nl() + self.add(loggie.msg("Output device list:").bold(), ", ".join(AudioServer.get_output_device_list())).nl() + self.add(loggie.msg("Capture device list:").bold(), ", ".join(AudioServer.get_input_device_list())).nl() + return self + +## Adds data about the godot engine to the content of this message. +func embed_engine_specs() -> LoggieSystemSpecsMsg: + var loggie = get_logger() + var header = loggie.msg("Engine").color(Color.ORANGE).box(14) + self.add(header) + self.add(loggie.msg("Version:").bold(), Engine.get_version_info()["string"]).nl() + self.add(loggie.msg("Command-line arguments:").bold(), str(OS.get_cmdline_args())).nl() + self.add(loggie.msg("Is debug build:").bold(), OS.is_debug_build()).nl() + self.add(loggie.msg("Filesystem is persistent:").bold(), OS.is_userfs_persistent()).nl() + return self + +## Adds data about the input device to the content of this message. +func embed_input_specs() -> LoggieSystemSpecsMsg: + var has_virtual_keyboard = DisplayServer.has_feature(DisplayServer.FEATURE_VIRTUAL_KEYBOARD) + var loggie = get_logger() + + var header = loggie.msg("Input").color(Color.ORANGE).box(14) + self.add(header) + self.add(loggie.msg("Device has touch screen:").bold(), DisplayServer.is_touchscreen_available()).nl() + self.add(loggie.msg("Device has virtual keyboard:").bold(), has_virtual_keyboard).nl() + + if has_virtual_keyboard: + self.add(loggie.msg("Virtual keyboard height:").bold(), DisplayServer.virtual_keyboard_get_height()) + + return self + +## Prints out a bunch of useful data about a given script. +## Useful for debugging. +func embed_script_data(script : Script): + var loggie = get_logger() + self.add("Script Data for:", script.get_path()).color("pink") + self.add(":").nl() + self.add(loggie.msg("get_class(): ").color("slate_blue").bold()).add(script.get_class()).nl() + self.add(loggie.msg("get_global_name(): ").color("slate_blue").bold()).add(script.get_global_name()).nl() + self.add(loggie.msg("get_base_script(): ").color("slate_blue").bold()).add(script.get_base_script().resource_path if script.get_base_script() != null else "No base script.").nl() + self.add(loggie.msg("get_instance_base_type(): ").color("slate_blue").bold()).add(script.get_instance_base_type()).nl() + self.add(loggie.msg("get_script_property_list(): ").color("slate_blue").bold()).add(script.get_script_property_list()).nl() + return self diff --git a/addons/loggie/tools/loggie_system_specs.gd.uid b/addons/loggie/tools/loggie_system_specs.gd.uid new file mode 100644 index 0000000..e54f712 --- /dev/null +++ b/addons/loggie/tools/loggie_system_specs.gd.uid @@ -0,0 +1 @@ +uid://b1tkhkakrmwdu diff --git a/addons/loggie/tools/loggie_tools.gd b/addons/loggie/tools/loggie_tools.gd new file mode 100644 index 0000000..2bc0764 --- /dev/null +++ b/addons/loggie/tools/loggie_tools.gd @@ -0,0 +1,530 @@ +@tool +class_name LoggieTools extends Node + +## Removes BBCode from the given text. +## If [param specific_tags] is an array, it removes only the tags found in that array. +## Otherwise, it removes the tags found in the default_tags array:[br] +## [param ["b", "i", "u", "s", "indent", "code", "url", "center", "right", "color", "bgcolor", "fgcolor"]] +static func remove_BBCode(text: String, specific_tags = null) -> String: + # The bbcode tags to remove. + var default_tags = ["b", "i", "u", "s", "indent", "code", "url", "center", "right", "color", "bgcolor", "fgcolor"] + var tags = specific_tags if specific_tags is Array else default_tags + + var regex = RegEx.new() + var tags_pattern = "|".join(tags) + regex.compile("\\[/?(" + tags_pattern + ")(=[^\\]]*)?\\]") + + var stripped_text = regex.sub(text, "", true) + return stripped_text + +## Concatenates all elements of the given [param args] array into one single string, in consecutive order. +## If [param custom_converter_fn] is provided, and is a [Callable], that function will be used to convert each element of the array into a string +## instead of using [method convert_to_string]. That function will receive 1 argument, which will be a 'Variant', and it has to return a 'String'. +static func concatenate_args(args : Array, custom_converter_fn : Variant = null) -> String: + if args.size() == 0: + return "" + + var converter_fn : Callable = LoggieTools.convert_to_string + if custom_converter_fn is Callable and custom_converter_fn.is_valid() and !custom_converter_fn.is_null(): + converter_fn = custom_converter_fn + + # Start with first element without modifying array + var final_msg : String = converter_fn.call(args[0]) + + # Start from index 1 since we already handled index 0 + for i in range(1, args.size()): + var arg = args[i] + var is_not_followed_by_a_null_arg = true if (i + 1 <= args.size() - 1) and (args[i + 1] != null) else false + if (arg != null) or (arg == null and is_not_followed_by_a_null_arg): + var converted_arg : String = converter_fn.call(arg) + final_msg += (" " + converted_arg) + + return final_msg + +## Converts a text with BBCode in it to markdown. +## A limited set of BBCode tags are supported for this conversion, because standard Markdown can't handle everything +## that BBCode can. For example, colors will be entirely stripped. +static func convert_BBCode_to_markdown(text: String) -> String: + # Purge the unsupported tags. + var unsupported_tags = ["indent", "url", "center", "right", "color", "bgcolor", "fgcolor"] + text = LoggieTools.remove_BBCode(text, unsupported_tags) + + # Space out all instances where "*" characters from multiple tags are strung together, + # since that would break them from rendering with the proper effect in markdown. + # This is only an issue with [b] and [i] tags because they both use the same "*" character + # in markdown to be represented. + text = text.replace("[/b][i]", "** *") + text = text.replace("[/b][/i]", "** *") + text = text.replace("[/i][b]", "* **") + text = text.replace("[/i][/b]", "* **") + text = text.replace("[/i][i]", "* *") + text = text.replace("[/i][/i]", "* *") + text = text.replace("[/b][b]", "** **") + text = text.replace("[/b][/b]", "** **") + + # Perform all supported conversion. + var supported_conversions = { + "[b]" : "**", "[/b]" : "**", + "[i]" : "*", "[/i]" : "*", + "[u]" : "__", "[/u]" : "__", + "[s]" : "~~", "[/s]" : "~~", + } + for bbcodetag in supported_conversions.keys(): + text = text.replace(bbcodetag, supported_conversions[bbcodetag]) + + return text + +## Converts [param something] into a string, with custom handling for +## certain native and custom classes. +static func convert_to_string(something : Variant) -> String: + var result : String + if something is Dictionary: + result = JSON.new().stringify(something, " ", false, true) + elif something is LoggieMsg: + result = something.string() + else: + result = str(something) + return result + +## Takes the given [param str] and returns a terminal-ready version of it by converting its content +## to the appropriate format required to display the string correctly in the provided [param mode] +## msg format mode. +## [b]The provided [param str] is expected to be either in Plain or BBCode format.[/b] +static func convert_string_to_format_mode(str : String, mode : LoggieEnums.MsgFormatMode) -> String: + match mode: + LoggieEnums.MsgFormatMode.ANSI: + # We put the message through the rich_to_ANSI converter which takes care of converting BBCode + # to appropriate ANSI. (Only if the MsgFormatMode is set to ANSI). + # Godot claims to be already preparing BBCode output for ANSI, but it only works with a small + # predefined set of colors, and I think it totally strips stuff like [b], [i], etc. + # It is possible to display those stylings in ANSI, but we have to do our own conversion here + # to support these features instead of having them stripped. + str = LoggieTools.rich_to_ANSI(str) + LoggieEnums.MsgFormatMode.BBCODE: + # No need to do anything for BBCODE mode, because we already expect all strings to + # start out with this format in mind. + pass + LoggieEnums.MsgFormatMode.MARKDOWN: + str = LoggieTools.convert_BBCode_to_markdown(str) + LoggieEnums.MsgFormatMode.PLAIN, _: + str = LoggieTools.remove_BBCode(str) + return str + +## Converts a given [Color] to an ANSI compatible representation of it in code. +static func color_to_ANSI(color: Color) -> String: + var r = int(color.r * 255) + var g = int(color.g * 255) + var b = int(color.b * 255) + return "\u001b[38;2;%d;%d;%dm" % [r, g, b] + +## Strips the BBCode from the given text, and converts all [b], [i] and [color] tags to appropriate ANSI representable codes, +## then returns the converted string. The result of this conversion becomes an ANSI compatible representation of the given [param text]. +static func rich_to_ANSI(text: String) -> String: + var regex_color = RegEx.new() + regex_color.compile("\\[color=(.*?)\\](.*?)\\[/color\\]") + + # Process color tags first. + while regex_color.search(text): + var match = regex_color.search(text) + var color_str = match.get_string(1).to_upper() + var color: Color + var color_code: String + var reset_code = "\u001b[0m" + + # Try to parse the color string + if LoggieTools.NamedColors.has(color_str): + color = LoggieTools.NamedColors[color_str] + else: + color = Color(color_str) + + if color: + color_code = color_to_ANSI(color) + else: + color_code = "" + reset_code = "" + + var replacement = color_code + match.get_string(2) + reset_code + text = text.replace(match.get_string(0), replacement) + + # Process bold and italic tags. + var bold_on = "\u001b[1m" + var bold_off = "\u001b[22m" + var italic_on = "\u001b[3m" + var italic_off = "\u001b[23m" + + text = text.replace("[b]", bold_on).replace("[/b]", bold_off) + text = text.replace("[i]", italic_on).replace("[/i]", italic_off) + + # Remove any other BBCode tags but retain the text between them. + var regex_bbcode = RegEx.new() + regex_bbcode.compile("\\[(b|/b|i|/i|color=[^\\]]+|/color)\\]") + text = regex_bbcode.sub(text, "", true) + + return text + +## Returns a dictionary of call stack data related to the stack the call to this function is a part of. +## This function only works in debug builds, and on the main thread, because it uses [method get_stack]. +## Read more about why in that function's documentation. +static func get_current_stack_frame_data() -> Dictionary: + var stack = get_stack() + if stack.size() > 0: + stack.reverse() + # Prune the frames starting from the first one that comes from loggie_message and onwards. + var pruned_stack = [] + for index in stack.size(): + var source : String = stack[index].source + var prune_breakpoint_files = ["loggie", "loggie_message"] + if prune_breakpoint_files.has(source.get_file().get_basename()): + break + pruned_stack.push_back(stack[index]) + + # The back-most remaining entry in the pruned stack is the first non-Loggie caller. + if pruned_stack.size() >= 1: + return pruned_stack.back() + + return { + "source" : "UnknownStackFrameSource", + "line" : 0, + "function" : "UnknownFunction" + } + +## Returns the `class_name` of a script. +## [br][param path_or_script] should be either an absolute path to the script +## (String, e.g. "res://my_script.gd"), or a [Script] object. +## [br][param proxy] defines which kind of text will be used as a replacement +## for the class name if the script has no 'class_name'. +static func get_class_name_from_script(path_or_script : Variant, proxy : LoggieEnums.NamelessClassExtensionNameProxy) -> String: + var script + var _class_name = "" + + if path_or_script is String or path_or_script is StringName: + if !ResourceLoader.exists(path_or_script, "Script"): + return _class_name + script = load(path_or_script) + elif path_or_script is Script: + script = path_or_script + + if not (script is Script): + push_error("Invalid 'path_or_script' param provided to get_class_name_from_script: {path}".format({"path" : path_or_script})) + else: + if not script.has_method("get_global_name"): + # User is using a pre-4.3 version of Godot that doesn't have Script.get_global_name. + # We must use a different method to achieve this then. + return extract_class_name_from_gd_script(path_or_script, proxy) + + # Try to get the class name directly. + _class_name = script.get_global_name() + + if _class_name != "": + return _class_name + + # If that's empty, the script is either a base class, or a class without a name. + # Check if this script has a base script, and if so, use that one as the target whose name to obtain. + # If it doesn't have it, use what the [param proxy] demands. + var base_script = script.get_base_script() + if base_script != null: + return get_class_name_from_script(base_script, proxy) + else: + match proxy: + LoggieEnums.NamelessClassExtensionNameProxy.BASE_TYPE: + _class_name = script.get_instance_base_type() + LoggieEnums.NamelessClassExtensionNameProxy.SCRIPT_NAME: + _class_name = script.get_script_property_list().front()["name"] + + return _class_name + +## Opens and reads a .gd script file to find out its 'class_name' or what it 'extends'. +## [param path_or_script] should be either an absolute path to the script +## (String, e.g. "res://my_script.gd"), or a [Script] object. +## [br][param proxy] defines which kind of text will be used as a replacement +## for the class name if the script has no 'class_name'. +## [br][br][b]Note:[/b] This is a compatibility method that will be used on older versions of Godot which +## don't support [method Script.get_global_name]. +static func extract_class_name_from_gd_script(path_or_script : Variant, proxy : LoggieEnums.NamelessClassExtensionNameProxy) -> String: + var path : String + + if path_or_script is String: + path = path_or_script + elif path_or_script is Script: + path = path_or_script.resource_path + else: + push_error("Invalid 'path_or_script' param provided to extract_class_name_from_gd_script: {path}".format({"path" : path_or_script})) + return "" + + var file = FileAccess.open(path, FileAccess.READ) + if not file: + return "File Open Error {filepath}".format({"filepath" : path}) + + var _class_name: String = "" + + for line_num in 40: # Loop only up to 40 lines + if file.eof_reached(): + break + + var line = file.get_line().strip_edges() + + if line.begins_with("class_name"): + _class_name = line.split(" ")[1] + break + + if _class_name == "": + var script = load(path) + if script is Script: + match proxy: + LoggieEnums.NamelessClassExtensionNameProxy.BASE_TYPE: + _class_name = script.get_instance_base_type() + LoggieEnums.NamelessClassExtensionNameProxy.SCRIPT_NAME: + _class_name = script.get_script_property_list().front()["name"] + + file.close() + return _class_name + +## Takes the given [param string] and returns an array made out of chunks of the given size. +## The string is chunked from start to end. +static func chunk_string(string : String, chunk_size : int) -> Array: + var message_chunks = [] + if string.length() >= chunk_size: + # Cut chunk_size pieces from the left side of the string and push them to message_chunks. + while string.length() >= chunk_size: + message_chunks.append(string.left(chunk_size)) + string = string.substr(chunk_size, -1) + + # Append the remaining slice as the final chunk. + if string.length() > 0: + message_chunks.append(string) + return message_chunks + else: + return [string] + +## Copies the directory at the given [param path_dir_to_copy] path and places the copy at the given [param path_dir_to_copy_into] path. +## Returns a dictionary with 2 keys: +##[codeblock] +##`errors` : Array[Error] # An array of all errors that occured during the process. ('Error.OK' is an exception and won't be included here) +##`messages` : Array[LoggieMsg] # An array of messages describing the process, including informational or error related content. +##[/codeblock] +static func copy_dir_absolute(path_dir_to_copy: String, path_dir_to_copy_into: String, overwrite_existing_files_with_same_name : bool = false) -> Dictionary: + const debug_enabled = false + var result = { + "errors" : [], + "messages" : [] + } + + # Ensure source directory is openable. + var source_dir = DirAccess.open(path_dir_to_copy) + if source_dir == null: + var open_error = DirAccess.get_open_error() + result.errors.push_back(open_error) + result.messages.push_back(LoggieMsg.new("Failed to open source directory: ", path_dir_to_copy, " with error: ", error_string(open_error))) + return result + + # Ensure target directory is openable. + var target_dir = DirAccess.open(path_dir_to_copy_into) + var target_dir_path_abs = ProjectSettings.globalize_path(path_dir_to_copy_into) + if target_dir == null: + var msg = LoggieMsg.new("📂 Target directory not found - creating it at:").msg(path_dir_to_copy_into).color(Color.CADET_BLUE) + result.messages.push_back(msg) + DirAccess.make_dir_recursive_absolute(path_dir_to_copy_into) + target_dir = DirAccess.open(path_dir_to_copy_into) + + # Copy all files from the current source directory into the target directory. + for file_name : String in source_dir.get_files(): + var file_path_abs = ProjectSettings.globalize_path(path_dir_to_copy.path_join(file_name)) + var target_file_path_abs = target_dir_path_abs.path_join(file_name) + var copying_msg = LoggieMsg.new("📝 Copying file...") + copying_msg.msg(file_path_abs).italic().color(Color.CORNFLOWER_BLUE).add(" -> ") + copying_msg.msg(target_file_path_abs).bold().color(Color.CORNFLOWER_BLUE) + + var is_overwrite_required = false + if FileAccess.file_exists(target_file_path_abs): + is_overwrite_required = true + if overwrite_existing_files_with_same_name: + copying_msg.nl().msg("\t[!] Target file already exists and will be overwritten.").bold().color(Color.DARK_KHAKI) + else: + copying_msg.nl().msg("\t🛑 File will not be copied as overwriting existing files is disabled.").bold().color(Color.SALMON) + + result.messages.push_back(copying_msg) + + if (not is_overwrite_required) or (is_overwrite_required and overwrite_existing_files_with_same_name): + var copy_error = DirAccess.copy_absolute(file_path_abs, target_file_path_abs) + if copy_error != OK: + result.errors.push_back(copy_error) + result.messages.push_back(LoggieMsg.new("Attempt to copy file failed with error: '", error_string(copy_error))) + + # Create all of source directory's subdirectories in the target directory and copy their contents. + for dir_name : String in source_dir.get_directories(): + var source_subdir_path = path_dir_to_copy.path_join(dir_name) + var source_subdir_path_abs = ProjectSettings.globalize_path(source_subdir_path) + var target_subdir_path = path_dir_to_copy_into.path_join(dir_name) + var dir_path_abs = ProjectSettings.globalize_path(target_subdir_path) + + result.messages.push_back(LoggieMsg.new("📂 Creating directory: ").msg("{dir}".format({"dir": dir_path_abs})).color(Color.CADET_BLUE)) + var make_dir_error = DirAccess.make_dir_recursive_absolute(dir_path_abs) + if make_dir_error != OK: + result.errors.push_back(make_dir_error) + var error_msg = LoggieMsg.new("Attempt to create directory at absolute path recursively failed with error: '", error_string(make_dir_error)) + result.messages.push_back(error_msg) + continue + + # Recursively copy the contents of the subdirectory + var subdir_copy_result = copy_dir_absolute(source_subdir_path_abs, target_subdir_path, overwrite_existing_files_with_same_name) + result.errors = result.errors + subdir_copy_result.errors + result.messages = result.messages + subdir_copy_result.messages + + if debug_enabled: + for msg : LoggieMsg in result.messages: + print_rich(msg.string()) + + return result + +## A dictionary of named colors matching the constants from [Color] used to help with rich text coloring. +## There may be a way to obtain these Color values without this dictionary if one can somehow check for the +## existence and value of a constant on the Color class (since they're already there), +## but I can't seem to find a way, so this will have to do for now. +static var NamedColors = { + "ALICE_BLUE": Color(0.941176, 0.972549, 1, 1), + "ANTIQUE_WHITE": Color(0.980392, 0.921569, 0.843137, 1), + "AQUA": Color(0, 1, 1, 1), + "AQUAMARINE": Color(0.498039, 1, 0.831373, 1), + "AZURE": Color(0.941176, 1, 1, 1), + "BEIGE": Color(0.960784, 0.960784, 0.862745, 1), + "BISQUE": Color(1, 0.894118, 0.768627, 1), + "BLACK": Color(0, 0, 0, 1), + "BLANCHED_ALMOND": Color(1, 0.921569, 0.803922, 1), + "BLUE": Color(0, 0, 1, 1), + "BLUE_VIOLET": Color(0.541176, 0.168627, 0.886275, 1), + "BROWN": Color(0.647059, 0.164706, 0.164706, 1), + "BURLYWOOD": Color(0.870588, 0.721569, 0.529412, 1), + "CADET_BLUE": Color(0.372549, 0.619608, 0.627451, 1), + "CHARTREUSE": Color(0.498039, 1, 0, 1), + "CHOCOLATE": Color(0.823529, 0.411765, 0.117647, 1), + "CORAL": Color(1, 0.498039, 0.313726, 1), + "CORNFLOWER_BLUE": Color(0.392157, 0.584314, 0.929412, 1), + "CORNSILK": Color(1, 0.972549, 0.862745, 1), + "CRIMSON": Color(0.862745, 0.0784314, 0.235294, 1), + "CYAN": Color(0, 1, 1, 1), + "DARK_BLUE": Color(0, 0, 0.545098, 1), + "DARK_CYAN": Color(0, 0.545098, 0.545098, 1), + "DARK_GOLDENROD": Color(0.721569, 0.52549, 0.0431373, 1), + "DARK_GRAY": Color(0.662745, 0.662745, 0.662745, 1), + "DARK_GREEN": Color(0, 0.392157, 0, 1), + "DARK_KHAKI": Color(0.741176, 0.717647, 0.419608, 1), + "DARK_MAGENTA": Color(0.545098, 0, 0.545098, 1), + "DARK_OLIVE_GREEN": Color(0.333333, 0.419608, 0.184314, 1), + "DARK_ORANGE": Color(1, 0.54902, 0, 1), + "DARK_ORCHID": Color(0.6, 0.196078, 0.8, 1), + "DARK_RED": Color(0.545098, 0, 0, 1), + "DARK_SALMON": Color(0.913725, 0.588235, 0.478431, 1), + "DARK_SEA_GREEN": Color(0.560784, 0.737255, 0.560784, 1), + "DARK_SLATE_BLUE": Color(0.282353, 0.239216, 0.545098, 1), + "DARK_SLATE_GRAY": Color(0.184314, 0.309804, 0.309804, 1), + "DARK_TURQUOISE": Color(0, 0.807843, 0.819608, 1), + "DARK_VIOLET": Color(0.580392, 0, 0.827451, 1), + "DEEP_PINK": Color(1, 0.0784314, 0.576471, 1), + "DEEP_SKY_BLUE": Color(0, 0.74902, 1, 1), + "DIM_GRAY": Color(0.411765, 0.411765, 0.411765, 1), + "DODGER_BLUE": Color(0.117647, 0.564706, 1, 1), + "FIREBRICK": Color(0.698039, 0.133333, 0.133333, 1), + "FLORAL_WHITE": Color(1, 0.980392, 0.941176, 1), + "FOREST_GREEN": Color(0.133333, 0.545098, 0.133333, 1), + "FUCHSIA": Color(1, 0, 1, 1), + "GAINSBORO": Color(0.862745, 0.862745, 0.862745, 1), + "GHOST_WHITE": Color(0.972549, 0.972549, 1, 1), + "GOLD": Color(1, 0.843137, 0, 1), + "GOLDENROD": Color(0.854902, 0.647059, 0.12549, 1), + "GRAY": Color(0.745098, 0.745098, 0.745098, 1), + "GREEN": Color(0, 1, 0, 1), + "GREEN_YELLOW": Color(0.678431, 1, 0.184314, 1), + "HONEYDEW": Color(0.941176, 1, 0.941176, 1), + "HOT_PINK": Color(1, 0.411765, 0.705882, 1), + "INDIAN_RED": Color(0.803922, 0.360784, 0.360784, 1), + "INDIGO": Color(0.294118, 0, 804, 1), + "IVORY": Color(1, 1, 0.941176, 1), + "KHAKI": Color(0.941176, 0.901961, 0.54902, 1), + "LAVENDER": Color(0.901961, 0.901961, 0.980392, 1), + "LAVENDER_BLUSH": Color(1, 0.941176, 0.960784, 1), + "LAWN_GREEN": Color(0.486275, 0.988235, 0, 1), + "LEMON_CHIFFON": Color(1, 0.980392, 0.803922, 1), + "LIGHT_BLUE": Color(0.678431, 0.847059, 0.901961, 1), + "LIGHT_CORAL": Color(0.941176, 0.501961, 0.501961, 1), + "LIGHT_CYAN": Color(0.878431, 1, 1, 1), + "LIGHT_GOLDENROD": Color(0.980392, 0.980392, 0.823529, 1), + "LIGHT_GRAY": Color(0.827451, 0.827451, 0.827451, 1), + "LIGHT_GREEN": Color(0.564706, 0.933333, 0.564706, 1), + "LIGHT_PINK": Color(1, 0.713726, 0.756863, 1), + "LIGHT_SALMON": Color(1, 0.627451, 0.478431, 1), + "LIGHT_SEA_GREEN": Color(0.12549, 0.698039, 0.666667, 1), + "LIGHT_SKY_BLUE": Color(0.529412, 0.807843, 0.980392, 1), + "LIGHT_SLATE_GRAY": Color(0.466667, 0.533333, 0.6, 1), + "LIGHT_STEEL_BLUE": Color(0.690196, 0.768627, 0.870588, 1), + "LIGHT_YELLOW": Color(1, 1, 0.878431, 1), + "LIME": Color(0, 1, 0, 1), + "LIME_GREEN": Color(0.196078, 0.803922, 0.196078, 1), + "LINEN": Color(0.980392, 0.941176, 0.901961, 1), + "MAGENTA": Color(1, 0, 1, 1), + "MAROON": Color(0.690196, 0.188235, 0.376471, 1), + "MEDIUM_AQUAMARINE": Color(0.4, 0.803922, 0.666667, 1), + "MEDIUM_BLUE": Color(0, 0, 0.803922, 1), + "MEDIUM_ORCHID": Color(0.729412, 0.333333, 0.827451, 1), + "MEDIUM_PURPLE": Color(0.576471, 0.439216, 0.858824, 1), + "MEDIUM_SEA_GREEN": Color(0.235294, 0.701961, 0.443137, 1), + "MEDIUM_SLATE_BLUE": Color(0.482353, 0.407843, 0.933333, 1), + "MEDIUM_SPRING_GREEN": Color(0, 0.980392, 0.603922, 1), + "MEDIUM_TURQUOISE": Color(0.282353, 0.819608, 0.8, 1), + "MEDIUM_VIOLET_RED": Color(0.780392, 0.0823529, 0.521569, 1), + "MIDNIGHT_BLUE": Color(0.0980392, 0.0980392, 0.439216, 1), + "MINT_CREAM": Color(0.960784, 1, 0.980392, 1), + "MISTY_ROSE": Color(1, 0.894118, 0.882353, 1), + "MOCCASIN": Color(1, 0.894118, 0.709804, 1), + "NAVAJO_WHITE": Color(1, 0.870588, 0.678431, 1), + "NAVY_BLUE": Color(0, 0, 0.501961, 1), + "OLD_LACE": Color(0.992157, 0.960784, 0.901961, 1), + "OLIVE": Color(0.501961, 0.501961, 0, 1), + "OLIVE_DRAB": Color(0.419608, 0.556863, 0.137255, 1), + "ORANGE": Color(1, 0.647059, 0, 1), + "ORANGE_RED": Color(1, 0.270588, 0, 1), + "ORCHID": Color(0.854902, 0.439216, 0.839216, 1), + "PALE_GOLDENROD": Color(0.933333, 0.909804, 0.666667, 1), + "PALE_GREEN": Color(0.596078, 0.984314, 0.596078, 1), + "PALE_TURQUOISE": Color(0.686275, 0.933333, 0.933333, 1), + "PALE_VIOLET_RED": Color(0.858824, 0.439216, 0.576471, 1), + "PAPAYA_WHIP": Color(1, 0.937255, 0.835294, 1), + "PEACH_PUFF": Color(1, 0.854902, 0.72549, 1), + "PERU": Color(0.803922, 0.521569, 0.247059, 1), + "PINK": Color(1, 0.752941, 0.796078, 1), + "PLUM": Color(0.866667, 0.627451, 0.866667, 1), + "POWDER_BLUE": Color(0.690196, 0.878431, 0.901961, 1), + "PURPLE": Color(0.627451, 0.12549, 0.941176, 1), + "REBECCA_PURPLE": Color(0.4, 0.2, 0.6, 1), + "RED": Color(1, 0, 0, 1), + "ROSY_BROWN": Color(0.737255, 0.560784, 0.560784, 1), + "ROYAL_BLUE": Color(0.254902, 0.411765, 0.882353, 1), + "SADDLE_BROWN": Color(0.545098, 0.270588, 0.0745098, 1), + "SALMON": Color(0.980392, 0.501961, 0.447059, 1), + "SANDY_BROWN": Color(0.956863, 0.643137, 0.376471, 1), + "SEA_GREEN": Color(0.180392, 0.545098, 0.341176, 1), + "SEASHELL": Color(1, 0.960784, 0.933333, 1), + "SIENNA": Color(0.627451, 0.321569, 0.176471, 1), + "SILVER": Color(0.752941, 0.752941, 0.752941, 1), + "SKY_BLUE": Color(0.529412, 0.807843, 0.921569, 1), + "SLATE_BLUE": Color(0.415686, 0.352941, 0.803922, 1), + "SLATE_GRAY": Color(0.439216, 0.501961, 0.564706, 1), + "SNOW": Color(1, 0.980392, 0.980392, 1), + "SPRING_GREEN": Color(0, 1, 0.498039, 1), + "STEEL_BLUE": Color(0.27451, 0.509804, 0.705882, 1), + "TAN": Color(0.823529, 0.705882, 0.54902, 1), + "TEAL": Color(0, 0.501961, 0.501961, 1), + "THISTLE": Color(0.847059, 0.74902, 0.847059, 1), + "TOMATO": Color(1, 0.388235, 0.278431, 1), + "TRANSPARENT": Color(1, 1, 1, 0), + "TURQUOISE": Color(0.25098, 0.878431, 0.815686, 1), + "VIOLET": Color(0.933333, 0.509804, 0.933333, 1), + "WEB_GRAY": Color(0.501961, 0.501961, 0.501961, 1), + "WEB_GREEN": Color(0, 0.501961, 0, 1), + "WEB_MAROON": Color(0.501961, 0, 0, 1), + "WEB_PURPLE": Color(0.501961, 0, 0.501961, 1), + "WHEAT": Color(0.960784, 0.870588, 0.701961, 1), + "WHITE": Color(1, 1, 1, 1), + "WHITE_SMOKE": Color(0.960784, 0.960784, 0.960784, 1), + "YELLOW": Color(1, 1, 0, 1), + "YELLOW_GREEN": Color(0.603922, 0.803922, 0.196078, 1) +} diff --git a/addons/loggie/tools/loggie_tools.gd.uid b/addons/loggie/tools/loggie_tools.gd.uid new file mode 100644 index 0000000..4788122 --- /dev/null +++ b/addons/loggie/tools/loggie_tools.gd.uid @@ -0,0 +1 @@ +uid://qv478m7f4x2s diff --git a/addons/loggie/version_management/loggie_update.gd b/addons/loggie/version_management/loggie_update.gd new file mode 100644 index 0000000..e8cce0a --- /dev/null +++ b/addons/loggie/version_management/loggie_update.gd @@ -0,0 +1,335 @@ +@tool +class_name LoggieUpdate extends Node + +## Emitted when this update fails. +signal failed() + +## Emitted when this update succeeds. +signal succeeded() + +## Emitted when this declares that it has made some progress. +signal progress(value : float) + +## Emitted when this declares that it wants a new status/substatus message to be used. +signal status_changed(status_msg : Variant, substatus_msg : Variant) + +## Emitted when this update is starting. +signal starting() + +## Emitted when the 'is_in_progress' status of this update changes. +signal is_in_progress_changed(new_value : bool) + +## The path to the directory that should have a temporary file created and filled with the patch zipball buffer. +const TEMP_FILES_DIR = "user://" + +## If this is set to a non-empty string, it will be used as the directory into which the new update will be +## installed. Used for testing/debugging. When set to empty string, Loggie will automatically figure out +## where it is being updated from and use that directory instead. +const ALT_LOGGIE_PLUGIN_CONTAINER_DIR = "" + +## The domain from which status report [LoggieMsg]s from this update will be logged from. +const REPORTS_DOMAIN : String = "loggie_update_status_reports" + +## Stores a reference to the logger that's requesting this update. +var _logger : Variant + +## The URL used to visit a page that contains the release notes for this update. +var release_notes_url = "" + +## Stores a reference to the previous version the connected [member _logger] is/was using. +var prev_version : LoggieVersion = null + +## Stores a reference to the new version the connected [member _logger] should be using after the update. +var new_version : LoggieVersion = null + +## Indicates whether this update is currently in progress. +var is_in_progress : bool = false + +## Whether the update should retain or purge the backup it makes of the previous version files once it is done +## installing and applying the new update. +var _clean_up_backup_files : bool = true + +func _init(_prev_version : LoggieVersion, _new_version : LoggieVersion) -> void: + self.prev_version = _prev_version + self.new_version = _new_version + +## Returns a reference to the logger that's requesting this update. +func get_logger() -> Variant: + return self._logger + +## Sets the URL used to visit a page that contains the release notes for this update. +func set_release_notes_url(url : String) -> void: + self.release_notes_url = url + +## Sets whether this window is currently performing the update. +func set_is_in_progress(value : bool) -> void: + self.is_in_progress = value + self.is_in_progress_changed.emit(value) + +## Tries to start the version update. Prevents the update from starting +## if something is not configured correctly and pushes a warning/error. +func try_start(): + if Engine.has_meta("LoggieUpdateSuccessful") and Engine.get_meta("LoggieUpdateSuccessful"): + # No plan to allow multiple updates to run during a single Engine session anyway so no need to start another one. + # Also, this helps with internal testing of the updater and prevents an updated plugin from auto-starting another update + # when dealing with proxy versions. + return + + if self._logger == null: + push_warning("Attempt to start Loggie update failed - member '_logger' on the LoggieUpdate object is null.") + return + + if self.is_in_progress: + push_warning("Attempt to start Loggie update failed - the update is already in progress.") + return + + if self.new_version == null or self.prev_version == null: + push_warning("Attempt to start Loggie update failed - the updater prompt has the 'new_version' or 'prev_version' variable at null value.") + return + elif !self.new_version.is_higher_than(self.prev_version): + push_warning("Attempt to start Loggie update failed - the 'new_version' is not higher than 'prev_version'.") + return + + if self.new_version.has_meta("github_data"): + var github_data = self.new_version.get_meta("github_data") + if !github_data.has("zipball_url"): + push_error("Attempt to start Loggie update failed - the meta key 'github_data' on the 'new_version' is a dictionary that does not contain the required 'zipball_url' key/value pair.") + return + else: + push_error("Attempt to start Loggie update failed - the meta key 'github_data' on the 'new_version' was not found.") + return + + _start() + +## Internal function. Starts the updating of the [param _logger] to the [param new_version]. +## Do not run without verification that configuration is correct. +## Use [method try_start] to call this safely. +func _start(): + var loggie = self.get_logger() + + loggie.msg("Loggie is updating from version {v_prev} to {v_new}.".format({ + "v_prev" : self.prev_version, + "v_new" : self.new_version + })).domain(REPORTS_DOMAIN).color(Color.ORANGE).box(12).info() + + set_is_in_progress(true) + starting.emit() + + # Make request to configured endpoint. + var update_data = self.new_version.get_meta("github_data") + var http_request = HTTPRequest.new() + loggie.add_child(http_request) + http_request.request_completed.connect(_on_download_request_completed) + http_request.request(update_data.zipball_url) + +## Internal callback function. +## Defines what happens when new update content is successfully downloaded from GitHub. +## Called automatically during [method _start] if everything is going according to plan. +func _on_download_request_completed(result: int, response_code: int, headers: PackedStringArray, body: PackedByteArray) -> void: + var loggie = self.get_logger() + + if loggie == null: + _failure("The _logger used by the updater window is null.") + return + + if result != HTTPRequest.RESULT_SUCCESS: + _failure("Download request returned non-zero code: " + str(result)) + return + + #region || Prepare: Define variables and callbacks that will be used throughout. + # The path to the directory which is supposed to contain the plugin directory. + # This will usually be 'res://addons/', but could be anything else too. We'll read it dynamically + # from the connected logger to guarantee correctness. + var LOGGIE_PLUGIN_CONTAINER_DIR = ALT_LOGGIE_PLUGIN_CONTAINER_DIR if !ALT_LOGGIE_PLUGIN_CONTAINER_DIR.is_empty() else loggie.get_directory_path().get_base_dir() + "/" + + # The path to the `loggie` plugin directory. + var LOGGIE_PLUGIN_DIR = ProjectSettings.globalize_path(LOGGIE_PLUGIN_CONTAINER_DIR.path_join("loggie/")) + + # The full path filename of the temporary .zip archive that will be created to store the downloaded data. + var TEMP_ZIP_FILE_PATH = ProjectSettings.globalize_path(TEMP_FILES_DIR.path_join("_temp_loggie_{ver}.zip".format({"ver": str(new_version)}))) + + # The path to the directory where a temporary backup of current loggie plugin files will be copied to. + # (will be created if doesn't exist). + var TEMP_PREV_VER_FILES_DIR_PATH = ProjectSettings.globalize_path(TEMP_FILES_DIR.path_join("_temp_loggie_{ver}_backup".format({"ver": str(prev_version)}))) + + # A callable that can be reused within this function that cleans up the temporary and unused directories, + # once this function comes to a conclusion. + var clean_up : Callable = func(): + if FileAccess.file_exists(TEMP_ZIP_FILE_PATH): + OS.move_to_trash(TEMP_ZIP_FILE_PATH) + if DirAccess.dir_exists_absolute(TEMP_PREV_VER_FILES_DIR_PATH) and self._clean_up_backup_files: + OS.move_to_trash(TEMP_PREV_VER_FILES_DIR_PATH) + + # A callable that can be used to replace the currently existing Loggie plugin directory + # with whatever is currently (temporarily) stored as its backup. + var revert_to_backup = func(): + if FileAccess.file_exists(LOGGIE_PLUGIN_DIR): + OS.move_to_trash(LOGGIE_PLUGIN_DIR) + if DirAccess.dir_exists_absolute(TEMP_PREV_VER_FILES_DIR_PATH): + DirAccess.rename_absolute(TEMP_PREV_VER_FILES_DIR_PATH, LOGGIE_PLUGIN_DIR) + + #endregion + + #region || Step 1: Store the downloaded content into a temporary zip file. + send_progress_update(20, "Processing Files", "Storing patch locally...") + + var zip_file: FileAccess = FileAccess.open(TEMP_ZIP_FILE_PATH, FileAccess.WRITE) + if zip_file == null: + _failure("Failed to open temp. file for writing: {path}".format({"path": TEMP_ZIP_FILE_PATH})) + clean_up.call() + return + + zip_file.store_buffer(body) + zip_file.close() + #endregion + + #region || Step 2: Make a temporary backup of the currently used Loggie plugin directory. + send_progress_update(30, "Processing Files", "Backing up previous version files...") + + if !DirAccess.dir_exists_absolute(LOGGIE_PLUGIN_DIR): + _failure("The Loggie plugin directory ({path}) could not be found.".format({ + "path" : LOGGIE_PLUGIN_DIR + })) + clean_up.call() + return + + var copy_prev_ver_result = LoggieTools.copy_dir_absolute(LOGGIE_PLUGIN_DIR, TEMP_PREV_VER_FILES_DIR_PATH, true) + if copy_prev_ver_result.errors.size() > 0: + var copy_prev_var_result_errors_msg = LoggieMsg.new("Errors encountered:") + for error in copy_prev_ver_result.errors: + copy_prev_var_result_errors_msg.nl().add(error_string(error)) + _failure(copy_prev_var_result_errors_msg.string()) + clean_up.call() + return + #endregion + + #region || Step 3: Remove currently used Loggie plugin directory and create a new one in its place populated with new version files. + send_progress_update(50, "Processing Files", "Copying new version files...") + var zip_reader: ZIPReader = ZIPReader.new() + var zip_reader_open_error = zip_reader.open(TEMP_ZIP_FILE_PATH) + if zip_reader_open_error != OK: + _failure("Attempt to open temp. file(s) archive at {path} failed with error: {err_str}".format({ + "path": LOGGIE_PLUGIN_DIR, + "err_str" : error_string(zip_reader_open_error) + })) + clean_up.call() + return + + # Trash the previously existing loggie plugin dir entirely. + # A new one will be created in a moment. + OS.move_to_trash(LOGGIE_PLUGIN_DIR) + + # Get a list of all files and dirs in the zip. + var files : PackedStringArray = zip_reader.get_files() + + # This will always be the "addons" directory in the zip archive in which we expect + # to find the "loggie" directory containing the plugin. + var base_path_in_zip = files[1] + + # Remove the first 2 parts of the path that we won't be needing at all. + files.remove_at(0) + files.remove_at(0) + + # Create all needed files and directories. + for path in files: + var new_file_path: String = path.replace(base_path_in_zip, "") + if path.ends_with("/"): + DirAccess.make_dir_recursive_absolute(LOGGIE_PLUGIN_CONTAINER_DIR + new_file_path) + else: + var abs_path = LOGGIE_PLUGIN_CONTAINER_DIR + new_file_path + var file : FileAccess = FileAccess.open(abs_path, FileAccess.WRITE) + if file == null: + _failure("Error while storing buffer data into temporary files - write target directory or file {target} gave the error: {error}".format({ + "error" : error_string(FileAccess.get_open_error()), + "target" : abs_path + })) + revert_to_backup.call() + clean_up.call() + return + else: + var file_content = zip_reader.read_file(path) + file.store_buffer(file_content) + file.close() + + zip_reader.close() + #endregion + + #region || Step 4: Move the user's 'custom_settings.gd' to the new version directory if it existed in prev version. + send_progress_update(70, "Processing Files", "Reapplying custom settings...") + var CUSTOM_SETTINGS_IN_PREV_VER_PATH = TEMP_PREV_VER_FILES_DIR_PATH.path_join("custom_settings.gd") + if FileAccess.file_exists(CUSTOM_SETTINGS_IN_PREV_VER_PATH): + var CUSTOM_SETTINGS_IN_NEW_VER_PATH = ProjectSettings.globalize_path(LOGGIE_PLUGIN_DIR.path_join("custom_settings.gd")) + var custom_settings_copy_error = DirAccess.copy_absolute(CUSTOM_SETTINGS_IN_PREV_VER_PATH, CUSTOM_SETTINGS_IN_NEW_VER_PATH) + if custom_settings_copy_error != OK: + push_error("Attempt to copy the 'custom_settings.gd' file from {p1} to {p2} failed with error: {error}".format({ + "p1" : CUSTOM_SETTINGS_IN_PREV_VER_PATH, + "p2" : CUSTOM_SETTINGS_IN_NEW_VER_PATH, + "error" : error_string(custom_settings_copy_error) + })) + #endregion + + #region || Step 5: Move the user's 'channels/custom_channels' directory to the new version if it existed in prev version. + send_progress_update(80, "Processing Files", "Reapplying custom channels...") + var CUSTOM_CHANNELS_IN_PREV_VER_PATH = ProjectSettings.globalize_path(TEMP_PREV_VER_FILES_DIR_PATH.path_join("channels/custom_channels/")) + if DirAccess.dir_exists_absolute(CUSTOM_CHANNELS_IN_PREV_VER_PATH): + var CUSTOM_CHANNELS_IN_NEW_VER_PATH = ProjectSettings.globalize_path(LOGGIE_PLUGIN_DIR.path_join("channels/custom_channels/")) + var copy_prev_ver_custom_channels_result = LoggieTools.copy_dir_absolute(CUSTOM_CHANNELS_IN_PREV_VER_PATH, CUSTOM_CHANNELS_IN_NEW_VER_PATH, true) + if copy_prev_ver_custom_channels_result.errors.size() > 0: + var copy_prev_var_result_errors_msg = LoggieMsg.new("Errors encountered:") + for error in copy_prev_ver_result.errors: + copy_prev_var_result_errors_msg.nl().add(error_string(error)) + push_error("Attempt to copy the 'channels/custom_channels' directory from {p1} to {p2} failed with error: {error}".format({ + "p1" : CUSTOM_CHANNELS_IN_PREV_VER_PATH, + "p2" : CUSTOM_CHANNELS_IN_NEW_VER_PATH, + "error" : copy_prev_var_result_errors_msg.string() + })) + else: + print("The {path} directory doesn't exist.".format({"path": CUSTOM_CHANNELS_IN_PREV_VER_PATH})) + #endregion + + #region || Step 6: Clean up temporarily created files and close filewrite. + send_progress_update(90, "Processing Files", "Cleaning up...") + clean_up.call() + #endregion + + #region || Step 7: Declare successful. Wrap up. + send_progress_update(100, "Finishing up", "") + _success() + #endregion + +## Internal function used at the end of the updating process if it is successfully completed. +func _success(): + set_is_in_progress(false) + + var msg = "💬 You may see temporary errors in the console due to Loggie files being re-scanned and reloaded on the spot.\nIt should be safe to dismiss them, but for the best experience, reload the Godot editor (and the plugin, if something seems wrong).\n\n🚩 If you see a 'Files have been modified on disk' window pop up, choose 'Discard local changes and reload' to accept incoming changes." + status_changed.emit(null, msg) + succeeded.emit() + + print_rich(LoggieMsg.new("👀 Loggie updated to version {new_ver}!".format({"new_ver": self.new_version})).bold().color(Color.ORANGE).string()) + print_rich(LoggieMsg.new("\t📚 Release Notes: ").bold().msg("[url={url}]{url}[/url]".format({"url": release_notes_url})).color(Color.CORNFLOWER_BLUE).string()) + print_rich(LoggieMsg.new("\t💬 Support, Development & Feature Requests: ").bold().msg("[url=https://discord.gg/XPdxpMqmcs]https://discord.gg/XPdxpMqmcs[/url]").color(Color.CORNFLOWER_BLUE).string()) + + if Engine.is_editor_hint(): + var editor_plugin = Engine.get_meta("LoggieEditorPlugin") + editor_plugin.get_editor_interface().get_resource_filesystem().scan() + editor_plugin.get_editor_interface().call_deferred("set_plugin_enabled", "loggie", true) + editor_plugin.get_editor_interface().set_plugin_enabled("loggie", false) + Engine.set_meta("LoggieUpdateSuccessful", true) + print_rich("[b]Updater:[/b] ", msg) + +## Internal function used to interrupt an ongoing update and cause it to fail. +func _failure(status_msg : String): + var loggie = self.get_logger() + loggie.msg(status_msg).color(Color.SALMON).preprocessed(false).error() + loggie.msg("\t💬 If this issue persists, consider reporting: ").bold().msg("https://github.com/Shiva-Shadowsong/loggie/issues").color(Color.CORNFLOWER_BLUE).preprocessed(false).info() + set_is_in_progress(false) + failed.emit() + status_changed.emit(null, status_msg) + +## Informs the listeners of the [signal progress] / [signal status_changed] signals about a change in the progress of the update. +func send_progress_update(progress_amount : float, status_msg : String, substatus_msg : String): + var loggie = self.get_logger() + if !substatus_msg.is_empty(): + loggie.msg("•• ").msg(substatus_msg).domain(REPORTS_DOMAIN).preprocessed(false).info() + progress.emit(progress_amount) + status_changed.emit(status_msg, substatus_msg) diff --git a/addons/loggie/version_management/loggie_update.gd.uid b/addons/loggie/version_management/loggie_update.gd.uid new file mode 100644 index 0000000..efe0371 --- /dev/null +++ b/addons/loggie/version_management/loggie_update.gd.uid @@ -0,0 +1 @@ +uid://dr553ffcn7yyg diff --git a/addons/loggie/version_management/loggie_version.gd b/addons/loggie/version_management/loggie_version.gd new file mode 100644 index 0000000..54de640 --- /dev/null +++ b/addons/loggie/version_management/loggie_version.gd @@ -0,0 +1,39 @@ +## A utility class that helps with storing data about a Loggie Version and converting and comparing version strings. +class_name LoggieVersion extends Resource + +var minor : int = -1 ## The minor component of the version. +var major : int = -1 ## The major component of the version. +var proxy_for : LoggieVersion = null ## The version that this version is a proxy for. (Internal use only) + +func _init(_major : int = -1, _minor : int = -1) -> void: + self.minor = _minor + self.major = _major + +func _to_string() -> String: + return str(self.major) + "." + str(self.minor) + +## Checks if this version is valid. +## (neither minor nor major component can be less than 0). +func is_valid() -> bool: + return (minor >= 0 and major >= 0) + +## Checks if the given [param version] if higher than this version. +func is_higher_than(version : LoggieVersion): + if self.major > version.major: + return true + if self.minor > version.minor: + return true + return false + +## Given a string that has 2 sets of digits separated by a ".", breaks that down +## into a version with a major and minor version component (ints). +static func from_string(version_string : String) -> LoggieVersion: + var version : LoggieVersion = LoggieVersion.new() + var regex = RegEx.new() + regex.compile("(\\d+)\\.(\\d+)") + + var result = regex.search(version_string) + if result: + version.major = result.get_string(1).to_int() + version.minor = result.get_string(2).to_int() + return version diff --git a/addons/loggie/version_management/loggie_version.gd.uid b/addons/loggie/version_management/loggie_version.gd.uid new file mode 100644 index 0000000..3262c34 --- /dev/null +++ b/addons/loggie/version_management/loggie_version.gd.uid @@ -0,0 +1 @@ +uid://bxwv6sw76aqxm diff --git a/addons/loggie/version_management/loggie_version_manager.gd b/addons/loggie/version_management/loggie_version_manager.gd new file mode 100644 index 0000000..0bc5979 --- /dev/null +++ b/addons/loggie/version_management/loggie_version_manager.gd @@ -0,0 +1,225 @@ +@tool +## A class that can be used to inquire about, generate, and operate on [LoggieVersion]s. +## It is also responsible for notifying about an available update, and starting it, if configured to do so. +class_name LoggieVersionManager extends RefCounted + +## Emitted when this version manager updates the known [member latest_version]. +signal latest_version_updated() + +## Emitted when this version manager has created a valid [LoggieUpdate] and is ready to use it. +signal update_ready() + +## The URL where loggie releases on GitHub can be found. +const REMOTE_RELEASES_URL = "https://api.github.com/repos/Shiva-Shadowsong/loggie/releases" + +## The domain from which [LoggieMsg]s from this version manager will be logged from. +const REPORTS_DOMAIN : String = "loggie_version_check_reports" + +## Stores the result of reading the Loggie version with [method get_current_Version]. +var version : LoggieVersion = null + +## Stores the result of reading the latest Loggie version with [method get_latest_version]. +var latest_version : LoggieVersion = null + +## Stores a reference to a ConfigFile which will be loaded from [member CONFIG_PATH] during [method find_and_store_current_version]. +var config : ConfigFile = ConfigFile.new() + +## Stores a reference to the logger that's using this version manager. +var _logger : Variant = null + +## Stores a reference to the [LoggieUpdate] that has been created to handle an available update. +var _update : LoggieUpdate = null + +## Internal debug variable. +## If not null, this version manager will treat the [LoggieVersion] provided under this variable to be the current [param version]. +## Useful for debugging this module when you want to simulate that the current version is something different than it actually is. +var _version_proxy : LoggieVersion = null + +## Initializes this version manager, connecting it to the logger that's using it and updating the version cache based on that logger, +## which will further prompt the emission of signals in this class, and so on. +func connect_logger(logger : Variant) -> void: + self.latest_version_updated.connect(on_latest_version_updated) + self._logger = logger + + # Set to true during development to enable debug prints related to version management. + self._logger.set_domain_enabled(self.REPORTS_DOMAIN, false) + + update_version_cache() + +## Returns a reference to the logger object that is using this version manager. +func get_logger() -> Variant: + return self._logger + +## Reads the current version of Loggie from plugin.cfg and stores it in [member version]. +func find_and_store_current_version(): + var detected_version = self._logger.version + if self._version_proxy != null: + self.version = self._version_proxy + self.version.proxy_for = detected_version + else: + self.version = detected_version + +## Reads the latest version of Loggie from a GitHub API response and stores it in [member latest_version]. +func find_and_store_latest_version(): + var loggie = self.get_logger() + var http_request = HTTPRequest.new() + loggie.add_child(http_request) + loggie.msg("Retrieving version(s) info from endpoint:", REMOTE_RELEASES_URL).domain(REPORTS_DOMAIN).debug() + http_request.request_completed.connect(_on_get_latest_version_request_completed, CONNECT_ONE_SHOT) + http_request.request(REMOTE_RELEASES_URL) + +## Defines what happens once this version manager emits the signal saying that an update is available. +func on_update_available_detected() -> void: + var loggie = self.get_logger() + if loggie.settings.update_check_mode == LoggieEnums.UpdateCheckType.DONT_CHECK: + return + + self._update = LoggieUpdate.new(self.version, self.latest_version) + self._update._logger = loggie + + var github_data = self.latest_version.get_meta("github_data") + var latest_release_notes_url = github_data.html_url + self._update.set_release_notes_url(latest_release_notes_url) + loggie.add_child(self._update) + update_ready.emit() + + # No plan to allow multiple updates to run during a single Engine session anyway so no need to start another one. + # Also, this helps with internal testing of the updater and prevents an updated plugin from auto-starting another update + # when dealing with proxy versions. + var hasUpdatedAlready = Engine.has_meta("LoggieUpdateSuccessful") and Engine.get_meta("LoggieUpdateSuccessful") + + match loggie.settings.update_check_mode: + LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_UPDATER_WINDOW: + if hasUpdatedAlready: + loggie.info("Update already performed. ✔️") + return + create_and_show_updater_widget(self._update) + LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_MSG: + loggie.msg("👀 Loggie update available!").color(Color.ORANGE).header().msg(" > Current version: {version}, Latest version: {latest}".format({ + "version" : self.version, + "latest" : self.latest_version + })).info() + LoggieEnums.UpdateCheckType.CHECK_DOWNLOAD_AND_SHOW_MSG: + if hasUpdatedAlready: + loggie.info("Update already performed. ✔️") + return + loggie.set_domain_enabled("loggie_update_status_reports", true) + self._update.try_start() + +## Defines what happens when the request to GitHub API which grabs all the Loggie releases is completed. +func _on_get_latest_version_request_completed(result : int, response_code : int, headers : PackedStringArray, body: PackedByteArray): + var loggie = self.get_logger() + loggie.msg("Response for request received:", response_code).domain(REPORTS_DOMAIN).debug() + + if result != HTTPRequest.RESULT_SUCCESS: + return + + var response = JSON.parse_string(body.get_string_from_utf8()) + + if typeof(response) != TYPE_ARRAY: + loggie.error("The response parsed from GitHub was not an array. Response received in an unsupported format.") + return + + var latest_version_data = response[0] # GitHub releases are in order of creation, so grab the first one from the response, that's the latest one. + self.latest_version = LoggieVersion.from_string(latest_version_data.tag_name) + self.latest_version.set_meta("github_data", latest_version_data) + + loggie.msg("Current version of Loggie:", self.version).msg(" (proxy for: {value})".format({"value": self.version.proxy_for})).domain(REPORTS_DOMAIN).debug() + loggie.msg("Latest version of Loggie:", self.latest_version).domain(REPORTS_DOMAIN).debug() + latest_version_updated.emit() + +## Executes every time this version manager updates the known latest_version. +func on_latest_version_updated() -> void: + var loggie = self.get_logger() + if loggie == null: + return + + # Check if update is available. + if loggie.settings.update_check_mode != LoggieEnums.UpdateCheckType.DONT_CHECK: + loggie.msg("👀 Loggie:").bold().color("orange").msg(" Checking for updates...").info() + if is_update_available(): + on_update_available_detected() + else: + loggie.msg("👀 Loggie:").bold().color("orange").msg(" Up to date. ✔️").color(Color.LIGHT_GREEN).info() + +## Displays the widget which informs the user of the available update and offers actions that they can take next. +func create_and_show_updater_widget(update : LoggieUpdate) -> Window: + const PATH_TO_WIDGET_SCENE = "addons/loggie/version_management/update_prompt_window.tscn" + var WIDGET_SCENE = load(PATH_TO_WIDGET_SCENE) + if !is_instance_valid(WIDGET_SCENE): + push_error("Loggie Update Prompt Window scene not found on expected path: {path}".format({"path": PATH_TO_WIDGET_SCENE})) + return + + var loggie = self.get_logger() + if loggie == null: + return + + var popup_parent = null + if Engine.is_editor_hint() and Engine.has_meta("LoggieEditorInterfaceBaseControl"): + popup_parent = Engine.get_meta("LoggieEditorInterfaceBaseControl") + else: + popup_parent = SceneTree.current_scene + + # Configure popup window. + var _popup = Window.new() + update.succeeded.connect(func(): + _popup.queue_free() + var success_dialog = AcceptDialog.new() + var msg = "💬 You may see temporary errors in the console due to Loggie files being re-scanned and reloaded on the spot.\nIt should be safe to dismiss them, but for the best experience, reload the Godot editor (and the plugin, if something seems wrong).\n\n🚩 If you see a 'Files have been modified on disk' window pop up, choose 'Discard local changes and reload' to accept incoming changes." + success_dialog.dialog_text = msg + success_dialog.title = "Loggie Updater" + if is_instance_valid(popup_parent): + popup_parent.add_child(success_dialog) + success_dialog.popup_centered() + ) + var on_close_requested = func(): + _popup.queue_free() + + _popup.close_requested.connect(on_close_requested, CONNECT_ONE_SHOT) + _popup.borderless = false + _popup.unresizable = true + _popup.transient = true + _popup.title = "Update Available" + + # Configure window widget and add it as a child of the popup window. + var widget : LoggieUpdatePrompt = WIDGET_SCENE.instantiate() + widget.connect_to_update(update) + widget.set_anchors_preset(Control.PRESET_FULL_RECT) + widget._logger = loggie + widget.close_requested.connect(on_close_requested, CONNECT_ONE_SHOT) + + if is_instance_valid(popup_parent): + popup_parent.add_child(_popup) + _popup.popup_centered(widget.host_window_size) + _popup.add_child(widget) + + return _popup + +## Updates the local variables which point to the current and latest version of Loggie. +func update_version_cache(): + # Read and cache the current version of Loggie from plugin.cfg. + find_and_store_current_version() + + # Read and cache the latest version of Loggie from GitHub. + # (Do it only if running in editor, no need for this if running in a game). + var logger = self.get_logger() + if logger is Node: + if !Engine.is_editor_hint(): + return + if logger.is_node_ready(): + find_and_store_latest_version() + else: + logger.ready.connect(func(): + find_and_store_latest_version() + , CONNECT_ONE_SHOT) + +## Checks if an update for Loggie is available. Run only after running [method update_version_cache]. +func is_update_available() -> bool: + var loggie = self.get_logger() + if !(self.version is LoggieVersion and self.version.is_valid()): + loggie.error("The current version of Loggie is not valid. Run `find_and_store_current_version` once to obtain this value first.") + return false + if !(self.latest_version is LoggieVersion and self.latest_version.is_valid()): + loggie.error("The latest version of Loggie is not valid. Run `find_and_store_latest_version` once to obtain this value first.") + return false + return self.latest_version.is_higher_than(self.version) diff --git a/addons/loggie/version_management/loggie_version_manager.gd.uid b/addons/loggie/version_management/loggie_version_manager.gd.uid new file mode 100644 index 0000000..10e4494 --- /dev/null +++ b/addons/loggie/version_management/loggie_version_manager.gd.uid @@ -0,0 +1 @@ +uid://cdu8t2jbqqvb2 diff --git a/addons/loggie/version_management/update_prompt_window.gd b/addons/loggie/version_management/update_prompt_window.gd new file mode 100644 index 0000000..ce97d0a --- /dev/null +++ b/addons/loggie/version_management/update_prompt_window.gd @@ -0,0 +1,192 @@ +@tool +## The Loggie Update Prompt is a control node that is meant to be created and added as a child of some other node, most commonly a [Window]. +## It connects to a [LoggieUpdate] via its [method connect_to_update] method, then displays data about that update depending on what kind of +## data that [LoggieUpdate] provides with its signals. +class_name LoggieUpdatePrompt extends Panel + +## Emitted when the user requests to close the update prompt. +signal close_requested() + +## The animation player that will be used to animate the appearance of this window. +@export var animator : AnimationPlayer + +## The size the window that's hosting this panel will be forced to assume when +## it's ready to pop this up on the screen. +@export var host_window_size : Vector2 = Vector2(1063, 672) + +## Stores a reference to the logger that's using this window. +var _logger : Variant + +## The update this window is visually representing. +var _update : LoggieUpdate + +## Stores a boolean which indicates whether the update is currently in progress. +var is_currently_updating : bool = false + +func _ready() -> void: + connect_control_effects() + %UpdateNowBtn.grab_focus() + refresh_remind_later_btn() + animator.play("RESET") + +## Connects this window to an instance of [LoggieUpdate] whose progress and properties this window is supposed to track. +func connect_to_update(p_update : LoggieUpdate) -> void: + self._update = p_update + _update.is_in_progress_changed.connect(is_update_in_progress_changed) + _update.starting.connect(on_update_starting) + _update.succeeded.connect(on_update_succeeded) + _update.failed.connect(on_update_failed) + _update.progress.connect(on_update_progress) + _update.status_changed.connect(on_update_status_changed) + +## Returns a reference to the logger object that is using this widget. +func get_logger() -> Variant: + return self._logger + +## Defines what happens when the update this window is representing updates its "is in progress" status. +func is_update_in_progress_changed(is_in_progress : bool) -> void: + self.is_currently_updating = is_in_progress + + # The first time we enter the UpdateMonitor view and start an update, + # the %Notice node and its children should no longer (ever) be interactive or processing, + # since there is no way to get back to that view anymore. + if is_in_progress and %Notice.process_mode != Node.PROCESS_MODE_DISABLED: + %Notice.process_mode = Node.PROCESS_MODE_DISABLED + for child in %NoticeButtons.get_children(): + if child is Button: + child.focus_mode = Button.FOCUS_NONE + +## Connects the effects and functionalities of various controls in this window. +func connect_control_effects(): + if !is_instance_valid(self._update): + return + + # Configure version(s) labels. + %LabelCurrentVersion.text = str(self._update.prev_version) + %LabelLatestVersion.text = str(self._update.new_version) + %LabelOldVersion.text = str(self._update.prev_version) + %LabelNewVersion.text = str(self._update.new_version) + + # Configure onhover/focused effects. + var buttons_with_on_focushover_effect = [%OptionExitBtn, %OptionRestartGodotBtn, %OptionRetryUpdateBtn, %ReleaseNotesBtn, %RemindLaterBtn, %UpdateNowBtn] + for button : Button in buttons_with_on_focushover_effect: + button.focus_entered.connect(_on_button_focus_entered.bind(button)) + button.focus_exited.connect(_on_button_focus_exited.bind(button)) + button.mouse_entered.connect(_on_button_focus_entered.bind(button)) + button.mouse_exited.connect(_on_button_focus_exited.bind(button)) + button.pivot_offset = button.size * 0.5 + + # Connect behavior which executes when "Update Now" is pressed. + %UpdateNowBtn.pressed.connect(func(): + self._update.try_start() + ) + + # Configure Release Notes button. + %ReleaseNotesBtn.visible = !self._update.release_notes_url.is_empty() + %ReleaseNotesBtn.tooltip_text = "Opens {url} in browser.".format({"url": self._update.release_notes_url}) + %ReleaseNotesBtn.pressed.connect(func(): + if !self._update.release_notes_url.is_empty(): + OS.shell_open(self._update.release_notes_url) + ) + + # Connect behavior which executes when the "Remind Me Later / Close" is pressed. + %RemindLaterBtn.pressed.connect(func(): close_requested.emit()) + %OptionExitBtn.pressed.connect(func(): close_requested.emit()) + + # Connect behavior which executes when the "Retry" button is pressed. + %OptionRetryUpdateBtn.pressed.connect(self._update.try_start) + + # Connect behavior which executes when the "Restart Godot" button is pressed. + %OptionRestartGodotBtn.pressed.connect(func(): + close_requested.emit() + if Engine.is_editor_hint(): + var editor_plugin = Engine.get_meta("LoggieEditorPlugin") + editor_plugin.get_editor_interface().restart_editor(true) + ) + + # The "Don't show again checkbox" updates project settings whenever it is toggled. + %DontShowAgainCheckbox.toggled.connect(func(toggled_on : bool): + var loggie = self.get_logger() + if Engine.is_editor_hint() and loggie != null: + if toggled_on: + loggie.settings.update_check_mode = LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_MSG + ProjectSettings.set_setting(loggie.settings.project_settings.update_check_mode.path, LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_MSG) + else: + loggie.settings.update_check_mode = LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_UPDATER_WINDOW + ProjectSettings.set_setting(loggie.settings.project_settings.update_check_mode.path, LoggieEnums.UpdateCheckType.CHECK_AND_SHOW_UPDATER_WINDOW) + refresh_remind_later_btn() + ) + +## Updates the content of the "Remind Later Btn" to show text appropriate to the current state of the "Don't show again" checkbox. +func refresh_remind_later_btn(): + if %DontShowAgainCheckbox.button_pressed: + %RemindLaterBtn.text = "close" + else: + %RemindLaterBtn.text = "remind later" + +## Defines what happens when the [member _update] is detected to be starting. +func on_update_starting(): + if animator.current_animation != "show_update_overview": + animator.queue("show_update_overview") + %ProgressBar.value = 0 + %LabelMainStatus.text = "Downloading" + %LabelUpdateStatus.text = "Waiting for server response." + %OptionExitBtn.disabled = true + %OptionExitBtn.visible = false + %OptionRetryUpdateBtn.disabled = true + %OptionRetryUpdateBtn.visible = false + %OptionRestartGodotBtn.disabled = true + %OptionRestartGodotBtn.visible = false + +## Defines what happens when the [member _update] declares it has made progress. +func on_update_progress(value : float): + %ProgressBar.value = value + +## Defines what happens when the [member _update] declares it has succeeded. +func on_update_succeeded(): + %LabelMainStatus.text = "Updated" + %OptionExitBtn.disabled = false + %OptionExitBtn.visible = true + %OptionRestartGodotBtn.disabled = false + %OptionRestartGodotBtn.visible = true + if animator.is_playing(): + animator.stop() + animator.play("finish_success") + +## Defines what happens when the [member _update] declares it wants the status message to change. +func on_update_status_changed(status_msg : Variant, substatus_msg : Variant): + if status_msg is String: + %LabelMainStatus.text = status_msg + if substatus_msg is String: + %LabelUpdateStatus.text = substatus_msg + +## Defines what happens when the [member _update] declares it has failed. +func on_update_failed(): + %ProgressBar.value = 0 + %LabelMainStatus.text = "Failed" + %OptionExitBtn.disabled = false + %OptionExitBtn.visible = true + %OptionRetryUpdateBtn.disabled = false + %OptionRetryUpdateBtn.visible = true + %OptionRestartGodotBtn.disabled = true + %OptionRestartGodotBtn.visible = false + +func _on_button_focus_entered(button : Button): + if button.has_meta("scale_tween"): + var old_tween = button.get_meta("scale_tween") + old_tween.kill() + button.set_meta("scale_tween", null) + + var tween : Tween = button.create_tween() + tween.tween_property(button, "scale", Vector2(1.2, 1.2), 0.1) + button.set_meta("scale_tween", tween) + +func _on_button_focus_exited(button : Button): + if button.has_meta("scale_tween"): + var old_tween = button.get_meta("scale_tween") + old_tween.kill() + button.set_meta("scale_tween", null) + + var tween : Tween = button.create_tween() + tween.tween_property(button, "scale", Vector2(1.0, 1.0), 0.1).from_current() + button.set_meta("scale_tween", tween) diff --git a/addons/loggie/version_management/update_prompt_window.gd.uid b/addons/loggie/version_management/update_prompt_window.gd.uid new file mode 100644 index 0000000..32e48da --- /dev/null +++ b/addons/loggie/version_management/update_prompt_window.gd.uid @@ -0,0 +1 @@ +uid://dh7dlpputw3bg diff --git a/addons/loggie/version_management/update_prompt_window.tscn b/addons/loggie/version_management/update_prompt_window.tscn new file mode 100644 index 0000000..2997221 --- /dev/null +++ b/addons/loggie/version_management/update_prompt_window.tscn @@ -0,0 +1,818 @@ +[gd_scene load_steps=32 format=3 uid="uid://d2eq0khfi3s15"] + +[ext_resource type="Script" path="res://addons/loggie/version_management/update_prompt_window.gd" id="1_xb7je"] +[ext_resource type="Texture2D" uid="uid://cgh6hd3u8nlpj" path="res://addons/loggie/assets/updater_bg.png" id="2_lbawe"] +[ext_resource type="FontFile" uid="uid://e3rpni7mpu0p" path="res://addons/loggie/assets/theme/fonts/coffee_soda.ttf" id="3_a36jf"] +[ext_resource type="FontFile" uid="uid://btuvtbhws7p8s" path="res://addons/loggie/assets/theme/fonts/PatrickHandSC-Regular.ttf" id="4_lnh27"] +[ext_resource type="StyleBox" uid="uid://ckw36egxdynxc" path="res://addons/loggie/assets/theme/loggie_border_box.tres" id="5_avea8"] +[ext_resource type="Texture2D" uid="uid://bfnp2a0sbhi2x" path="res://addons/loggie/assets/theme/checkbox/checkbox_checked.png" id="6_yoxpw"] +[ext_resource type="Texture2D" uid="uid://bib1lwikra5kr" path="res://addons/loggie/assets/theme/checkbox/checkbox_unchecked.png" id="7_xu2hn"] +[ext_resource type="Texture2D" uid="uid://dqf5cye21gyw8" path="res://addons/loggie/assets/theme/checkbox/checkbox_checked_disabled.png" id="8_4h2cx"] +[ext_resource type="Texture2D" uid="uid://cloe7vx2ej0nf" path="res://addons/loggie/assets/theme/checkbox/checkbox_unchecked_disabled.png" id="9_51n7f"] +[ext_resource type="Texture2D" uid="uid://2fr6et0qni2y" path="res://addons/loggie/assets/icon.png" id="10_abt8m"] +[ext_resource type="Theme" uid="uid://bntkg3oi4b314" path="res://addons/loggie/assets/theme/loggie_theme.tres" id="11_5uxhl"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3bh8r"] +draw_center = false +border_width_bottom = 4 +border_color = Color(0.86, 0.6794, 0.344, 1) + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_rjg43"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_bwgrr"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_qbrxo"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_3asxb"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_86pfv"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_rw12e"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_j1ttd"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_3sc8x"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ndum7"] + +[sub_resource type="Gradient" id="Gradient_wnvcb"] +colors = PackedColorArray(0.0311948, 0.0139167, 0.0080977, 1, 0.125625, 0.1125, 0.15, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_k1b6u"] +gradient = SubResource("Gradient_wnvcb") + +[sub_resource type="Gradient" id="Gradient_rkgx7"] +interpolation_mode = 2 +offsets = PackedFloat32Array(0, 0.270059, 1) +colors = PackedColorArray(0.584314, 0.337255, 0.145098, 1, 0.495303, 0.287021, 0.13981, 1, 0.188235, 0.113725, 0.121569, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_p6ad4"] +gradient = SubResource("Gradient_rkgx7") +fill_from = Vector2(0.239316, 0) +fill_to = Vector2(0.303419, 0.876068) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_y40yc"] +bg_color = Color(0.12, 0.0528, 0.09088, 0.556863) +border_width_left = 3 +border_width_top = 3 +border_width_right = 3 +border_width_bottom = 6 +border_color = Color(0.533576, 0.418125, 0.23421, 1) +border_blend = true +corner_radius_top_left = 11 +corner_radius_top_right = 11 +corner_radius_bottom_right = 11 +corner_radius_bottom_left = 11 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_h3ybw"] +bg_color = Color(0.69, 0.49128, 0.2484, 0.486275) +border_width_right = 4 +border_color = Color(0.94, 0.6768, 0.282, 0.541176) +corner_radius_top_left = 18 +corner_radius_top_right = 18 +corner_radius_bottom_right = 18 +corner_radius_bottom_left = 18 + +[sub_resource type="Animation" id="Animation_almc7"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, -673)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("VBoxContainer/OptionButtons/OptionRetryUpdateBtn:disabled") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("VBoxContainer/OptionButtons/OptionExitBtn:disabled") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("VBoxContainer/OptionButtons/OptionRetryUpdateBtn:visible") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("VBoxContainer/OptionButtons/OptionExitBtn:visible") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("%LabelOldVersion:modulate") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("%LabelNewVersion:modulate") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("%ProgressBar:modulate") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/9/type = "value" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("VBoxContainer:position") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, 532)] +} +tracks/10/type = "value" +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/path = NodePath("LoggieIcon:scale") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1, 1)] +} + +[sub_resource type="Animation" id="Animation_dewq5"] +resource_name = "finish_success" +length = 0.5 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("%LabelOldVersion:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("%LabelNewVersion:modulate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("%ProgressBar:modulate") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("VBoxContainer:position") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 0.466667), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(0, 532), Vector2(1, 432)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("LoggieIcon:scale") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0, 0.166667, 0.2, 0.3, 0.366667, 0.433333), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(1, 1), Vector2(1.33, 1), Vector2(1.075, 1.575), Vector2(0.735, 1.465), Vector2(1, 1)] +} + +[sub_resource type="Animation" id="Animation_jm1cu"] +resource_name = "show_update_overview" +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath(".:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2, 0.266667, 0.333333), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Vector2(0, -673), Vector2(0, 0), Vector2(0, 16), Vector2(0, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath(".:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("%ProgressBar:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("%LabelOldVersion:modulate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("%LabelNewVersion:modulate") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("LoggieIcon:scale") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1, 1)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("VBoxContainer:position") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, 532)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_lwiu5"] +_data = { +"RESET": SubResource("Animation_almc7"), +"finish_success": SubResource("Animation_dewq5"), +"show_update_overview": SubResource("Animation_jm1cu") +} + +[node name="UpdatePromptWindow" type="Panel" node_paths=PackedStringArray("animator")] +anchors_preset = -1 +anchor_right = 0.923 +anchor_bottom = 1.037 +offset_right = -0.296021 +offset_bottom = 0.0239868 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_xb7je") +animator = NodePath("AnimationPlayer") + +[node name="Notice" type="Control" parent="."] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Background" type="TextureRect" parent="Notice"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("2_lbawe") +expand_mode = 1 + +[node name="LabelLatestVersion" type="Label" parent="Notice"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.148 +anchor_top = 0.549 +anchor_right = 0.352 +anchor_bottom = 0.735 +offset_left = 0.414978 +offset_top = 0.115936 +offset_right = -0.122009 +offset_bottom = 0.123932 +grow_horizontal = 2 +grow_vertical = 0 +theme_override_colors/font_color = Color(0.878431, 0.662745, 0.266667, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 18 +theme_override_constants/shadow_outline_size = 3 +theme_override_fonts/font = ExtResource("3_a36jf") +theme_override_font_sizes/font_size = 133 +text = "X.Y" + +[node name="LabelCurrentVersion" type="Label" parent="Notice"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.76 +anchor_top = 0.454 +anchor_right = 0.869 +anchor_bottom = 0.571 +offset_left = 0.0449829 +offset_top = 0.18399 +offset_right = 57.004 +offset_bottom = -0.107056 +grow_horizontal = 0 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.784314, 0.619608, 0.317647, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/shadow_offset_x = 3 +theme_override_constants/shadow_offset_y = 3 +theme_override_constants/outline_size = 18 +theme_override_constants/shadow_outline_size = 3 +theme_override_fonts/font = ExtResource("3_a36jf") +theme_override_font_sizes/font_size = 73 +text = "X.Y" + +[node name="VBoxContainer" type="VBoxContainer" parent="Notice"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.229 +anchor_top = 0.789 +anchor_right = 0.771 +anchor_bottom = 0.926 +offset_left = 0.0729828 +offset_top = -0.208008 +offset_right = -0.0730591 +offset_bottom = 9.72797 +grow_horizontal = 2 +theme_override_constants/separation = -15 + +[node name="Label" type="Label" parent="Notice/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +theme_override_colors/font_color = Color(0.872047, 0.774098, 0.671572, 1) +theme_override_constants/outline_size = 7 +theme_override_fonts/font = ExtResource("4_lnh27") +theme_override_font_sizes/font_size = 32 +text = "a new version of Loggie is available for download." +horizontal_alignment = 1 + +[node name="HBoxContainer" type="HBoxContainer" parent="Notice/VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 4 +alignment = 1 + +[node name="NoticeButtons" type="HBoxContainer" parent="Notice/VBoxContainer/HBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 6 +theme_override_constants/separation = 51 + +[node name="ReleaseNotesBtn" type="Button" parent="Notice/VBoxContainer/HBoxContainer/NoticeButtons"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +mouse_default_cursor_shape = 2 +theme_override_colors/font_disabled_color = Color(0.53, 0.475145, 0.3869, 1) +theme_override_colors/font_hover_pressed_color = Color(0.996078, 0.94902, 0.882353, 1) +theme_override_colors/font_hover_color = Color(0.98, 0.67571, 0.1862, 1) +theme_override_colors/font_pressed_color = Color(0.994326, 0.950716, 0.88154, 1) +theme_override_colors/font_focus_color = Color(0.996078, 0.94902, 0.882353, 1) +theme_override_colors/font_color = Color(0.980932, 0.843799, 0.621104, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 8 +theme_override_fonts/font = ExtResource("4_lnh27") +theme_override_font_sizes/font_size = 43 +theme_override_styles/focus = SubResource("StyleBoxFlat_3bh8r") +theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_rjg43") +theme_override_styles/disabled = SubResource("StyleBoxEmpty_bwgrr") +theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_qbrxo") +theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_3asxb") +theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_86pfv") +theme_override_styles/hover = SubResource("StyleBoxFlat_3bh8r") +theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_rw12e") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_j1ttd") +theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_3sc8x") +theme_override_styles/normal = SubResource("StyleBoxEmpty_ndum7") +text = "release notes" + +[node name="UpdateNowBtn" type="Button" parent="Notice/VBoxContainer/HBoxContainer/NoticeButtons"] +unique_name_in_owner = true +layout_mode = 2 +mouse_default_cursor_shape = 2 +theme_override_colors/font_disabled_color = Color(0.53, 0.475145, 0.3869, 1) +theme_override_colors/font_hover_pressed_color = Color(0.996078, 0.94902, 0.882353, 1) +theme_override_colors/font_hover_color = Color(0.98, 0.67571, 0.1862, 1) +theme_override_colors/font_pressed_color = Color(0.994326, 0.950716, 0.88154, 1) +theme_override_colors/font_focus_color = Color(0.996078, 0.94902, 0.882353, 1) +theme_override_colors/font_color = Color(0.980932, 0.843799, 0.621104, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 8 +theme_override_fonts/font = ExtResource("4_lnh27") +theme_override_font_sizes/font_size = 43 +theme_override_styles/focus = SubResource("StyleBoxFlat_3bh8r") +theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_rjg43") +theme_override_styles/disabled = SubResource("StyleBoxEmpty_bwgrr") +theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_qbrxo") +theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_3asxb") +theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_86pfv") +theme_override_styles/hover = SubResource("StyleBoxFlat_3bh8r") +theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_rw12e") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_j1ttd") +theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_3sc8x") +theme_override_styles/normal = SubResource("StyleBoxEmpty_ndum7") +text = "update now" + +[node name="RemindLaterBtn" type="Button" parent="Notice/VBoxContainer/HBoxContainer/NoticeButtons"] +unique_name_in_owner = true +layout_mode = 2 +mouse_default_cursor_shape = 2 +theme_override_colors/font_disabled_color = Color(0.53, 0.475145, 0.3869, 1) +theme_override_colors/font_hover_pressed_color = Color(0.996078, 0.94902, 0.882353, 1) +theme_override_colors/font_hover_color = Color(0.98, 0.67571, 0.1862, 1) +theme_override_colors/font_pressed_color = Color(0.994326, 0.950716, 0.88154, 1) +theme_override_colors/font_focus_color = Color(0.996078, 0.94902, 0.882353, 1) +theme_override_colors/font_color = Color(0.98, 0.49, 0.5635, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 8 +theme_override_fonts/font = ExtResource("4_lnh27") +theme_override_font_sizes/font_size = 43 +theme_override_styles/focus = SubResource("StyleBoxFlat_3bh8r") +theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_rjg43") +theme_override_styles/disabled = SubResource("StyleBoxEmpty_bwgrr") +theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_qbrxo") +theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_3asxb") +theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_86pfv") +theme_override_styles/hover = SubResource("StyleBoxFlat_3bh8r") +theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_rw12e") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_j1ttd") +theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_3sc8x") +theme_override_styles/normal = SubResource("StyleBoxEmpty_ndum7") +text = "remind later" + +[node name="DontShowAgainCheckbox" type="CheckBox" parent="Notice"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -289.0 +offset_top = 9.0 +offset_right = -20.0 +offset_bottom = 62.0 +grow_horizontal = 0 +mouse_default_cursor_shape = 2 +theme_override_colors/font_hover_color = Color(0.490196, 0.701961, 0.501961, 1) +theme_override_colors/font_focus_color = Color(0.92549, 0.92549, 0.756863, 1) +theme_override_colors/font_color = Color(0.980932, 0.843799, 0.621104, 1) +theme_override_constants/outline_size = 7 +theme_override_fonts/font = ExtResource("4_lnh27") +theme_override_font_sizes/font_size = 27 +theme_override_styles/focus = ExtResource("5_avea8") +theme_override_icons/checked = ExtResource("6_yoxpw") +theme_override_icons/unchecked = ExtResource("7_xu2hn") +theme_override_icons/radio_checked = ExtResource("6_yoxpw") +theme_override_icons/radio_unchecked = ExtResource("7_xu2hn") +theme_override_icons/checked_disabled = ExtResource("8_4h2cx") +theme_override_icons/unchecked_disabled = ExtResource("9_51n7f") +theme_override_icons/radio_checked_disabled = ExtResource("8_4h2cx") +theme_override_icons/radio_unchecked_disabled = ExtResource("9_51n7f") +text = "do not show this again" + +[node name="UpdateMonitor" type="Control" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = -673.0 +offset_bottom = -673.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="BackgroundUnder" type="TextureRect" parent="UpdateMonitor"] +modulate = Color(1, 1, 1, 0.811765) +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = SubResource("GradientTexture1D_k1b6u") + +[node name="BackgroundOver" type="TextureRect" parent="UpdateMonitor"] +modulate = Color(1, 1, 1, 0.752941) +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = SubResource("GradientTexture2D_p6ad4") + +[node name="ProgressBar" type="ProgressBar" parent="UpdateMonitor"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 7 +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = -448.5 +offset_top = -224.0 +offset_right = 449.5 +offset_bottom = -160.0 +grow_horizontal = 2 +grow_vertical = 0 +theme_override_constants/outline_size = 19 +theme_override_fonts/font = ExtResource("3_a36jf") +theme_override_font_sizes/font_size = 31 +theme_override_styles/background = SubResource("StyleBoxFlat_y40yc") +theme_override_styles/fill = SubResource("StyleBoxFlat_h3ybw") + +[node name="LabelMainStatus" type="Label" parent="UpdateMonitor"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -201.0 +offset_top = -13.0 +offset_right = 201.0 +offset_bottom = 63.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.878431, 0.662745, 0.266667, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 14 +theme_override_fonts/font = ExtResource("3_a36jf") +theme_override_font_sizes/font_size = 81 +text = "status" +horizontal_alignment = 1 + +[node name="LabelOldVersion" type="Label" parent="UpdateMonitor"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -426.5 +offset_top = 77.0 +offset_right = -24.5 +offset_bottom = 153.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.878431, 0.662745, 0.266667, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 14 +theme_override_fonts/font = ExtResource("3_a36jf") +theme_override_font_sizes/font_size = 25 +text = "v_old" + +[node name="LabelNewVersion" type="Label" parent="UpdateMonitor"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = 33.5 +offset_top = 76.0 +offset_right = 435.5 +offset_bottom = 152.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_color = Color(0.878431, 0.662745, 0.266667, 1) +theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 14 +theme_override_fonts/font = ExtResource("3_a36jf") +theme_override_font_sizes/font_size = 25 +text = "V_NEW" +horizontal_alignment = 2 + +[node name="LoggieIcon" type="TextureRect" parent="UpdateMonitor"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -79.5 +offset_top = -213.0 +offset_right = 80.5 +offset_bottom = -53.0 +grow_horizontal = 2 +grow_vertical = 2 +pivot_offset = Vector2(80, 84) +texture = ExtResource("10_abt8m") + +[node name="VBoxContainer" type="VBoxContainer" parent="UpdateMonitor"] +layout_mode = 1 +anchors_preset = 12 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = -140.0 +offset_bottom = 77.0002 +grow_horizontal = 2 +grow_vertical = 0 +theme_override_constants/separation = 5 + +[node name="OptionButtons" type="HBoxContainer" parent="UpdateMonitor/VBoxContainer"] +layout_mode = 2 +theme_override_constants/separation = 24 +alignment = 1 + +[node name="OptionRetryUpdateBtn" type="Button" parent="UpdateMonitor/VBoxContainer/OptionButtons"] +unique_name_in_owner = true +visible = false +custom_minimum_size = Vector2(100, 0) +layout_mode = 2 +mouse_default_cursor_shape = 2 +theme = ExtResource("11_5uxhl") +disabled = true +text = "Retry" + +[node name="OptionRestartGodotBtn" type="Button" parent="UpdateMonitor/VBoxContainer/OptionButtons"] +unique_name_in_owner = true +visible = false +custom_minimum_size = Vector2(100, 0) +layout_mode = 2 +mouse_default_cursor_shape = 2 +theme = ExtResource("11_5uxhl") +disabled = true +text = "Reload Godot" + +[node name="OptionExitBtn" type="Button" parent="UpdateMonitor/VBoxContainer/OptionButtons"] +unique_name_in_owner = true +visible = false +custom_minimum_size = Vector2(100, 0) +layout_mode = 2 +mouse_default_cursor_shape = 2 +theme = ExtResource("11_5uxhl") +theme_override_colors/font_color = Color(0.980919, 0.500031, 0.570874, 1) +theme_override_colors/font_outline_color = Color(0.224555, 0.120107, 0.0255992, 1) +theme_override_constants/outline_size = 8 +disabled = true +text = "Exit" + +[node name="LabelUpdateStatus" type="Label" parent="UpdateMonitor/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme = ExtResource("11_5uxhl") +theme_override_font_sizes/font_size = 20 +text = "UPDATE_STATUS_DETAILED" +horizontal_alignment = 1 +autowrap_mode = 2 + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +unique_name_in_owner = true +root_node = NodePath("../UpdateMonitor") +libraries = { +"": SubResource("AnimationLibrary_lwiu5") +} diff --git a/assets/sprites/characters/README.txt b/assets/sprites/characters/README.txt new file mode 100644 index 0000000..edebaa5 --- /dev/null +++ b/assets/sprites/characters/README.txt @@ -0,0 +1,18 @@ +Player and skeleton sprites are on a 48x48 grid. +Slime is on a 32x32 grid. + +Flip right facing sprites to get the left facing sprites. + +Animations [rows (0 based for us programmers)] +Player: +[0 - 2] idle +[3 - 5] move +[6 - 8] attack +[9] death + +Enemies: +[0 - 2] idle +[3 - 5] move +[6 - 8] attack +[9 - 11] damaged +[12] death \ No newline at end of file diff --git a/assets/sprites/characters/player.png b/assets/sprites/characters/player.png new file mode 100644 index 0000000000000000000000000000000000000000..2a9ac8613d181b2822107c1b1a467181e8c48d54 GIT binary patch literal 12465 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 literal 0 HcmV?d00001 diff --git a/assets/sprites/characters/player.png.import b/assets/sprites/characters/player.png.import new file mode 100644 index 0000000..1947c9d --- /dev/null +++ b/assets/sprites/characters/player.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c6f2oguxl2r4u" +path="res://.godot/imported/player.png-4508374c418cbfe7b79c5beffcb67188.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/characters/player.png" +dest_files=["res://.godot/imported/player.png-4508374c418cbfe7b79c5beffcb67188.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/characters/skeleton.png b/assets/sprites/characters/skeleton.png new file mode 100644 index 0000000000000000000000000000000000000000..14a64b498143a3ae82ca0499763fcf9a49db9cb3 GIT binary patch literal 20099 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

^$@{UW~=S9Ewlk^OYdHcHOd zlyZ+~t#a}xn)?BP5eUv-IJ+78y_^Udrlp|;@s?oUq4G5Fy<+g}MK-&Jff7&SVkOaq)s_9{2w$#!62 z!@^Otni|2(s3sl;cS>h!#vFXx;7$}6#pVo^*&BeHdeg4ST?c!4u$t}1L%6N#3;sG; z-?7^1IoD5K&~g{}57;R}A?uTXs>=+wy~{EazdjIW`DM&!qLAxpe$VmZdaC{{x?JPN zHw6q~7k)NvO2-9$`dHINzH^bAAZ}UMc*wX@;_)n%o7AP70>#!;!<0i5n7=t9E=Cnc zou=L2Q=()cWDT8Casc;*8s3h70a!hFiam#clAgA1SLh0lmk`mUwBPYqD+7P*B)D0E zN#Vp(2hY+ykrMCj8|ZlbLj!WY-g;2JQ$MV`)!n@=yNUBgdOyY0m`JY=ewK28CdXT07QJz>iv3XS~lwe}}Kh~Y{Zu@@V>S0f*c7|QauAhu5**pTGz1>RItiR{9 z|CR5xca~vG*+f&OB+7pf{bCppedpxl?dn<pD|>f)4dwWo!I?=nPu+4H|Nq(F?pwC!t9YY}{prWWq1%Ms+}`RZ7i-|U>u6Qo>s`-QTBx`A%HZ6l$Rx#m zVy8db=dTg@{cYXz-Lgl^mDVo!t8$}{PsjCl*v4Mr_ETIZf_AL60c{%r8wA~7SP&HW ztyHE(KuElgQS+GzkBnI3qWSHMUiW(~+MVF=LwIrF$;}%>U$JeuyEoV=?AGQ>+LKdv si^tYa^vD68t~N=m5A_JPWB>VmK7EM&99+T*JXMat)78&qol`;+0F*^U3jhEB literal 0 HcmV?d00001 diff --git a/assets/sprites/characters/skeleton.png.import b/assets/sprites/characters/skeleton.png.import new file mode 100644 index 0000000..c6bf432 --- /dev/null +++ b/assets/sprites/characters/skeleton.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://csw18iu762nof" +path="res://.godot/imported/skeleton.png-d8aa7afaf8eaf6f264fc0a343e305765.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/characters/skeleton.png" +dest_files=["res://.godot/imported/skeleton.png-d8aa7afaf8eaf6f264fc0a343e305765.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/characters/skeleton_swordless.png b/assets/sprites/characters/skeleton_swordless.png new file mode 100644 index 0000000000000000000000000000000000000000..db7640e9a043a60f372648721f3e43adc4348f2f GIT binary patch literal 18162 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 literal 0 HcmV?d00001 diff --git a/assets/sprites/characters/skeleton_swordless.png.import b/assets/sprites/characters/skeleton_swordless.png.import new file mode 100644 index 0000000..66321ee --- /dev/null +++ b/assets/sprites/characters/skeleton_swordless.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dd4x5oeym48l5" +path="res://.godot/imported/skeleton_swordless.png-95add0301a56da4e5c440a853795f167.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/characters/skeleton_swordless.png" +dest_files=["res://.godot/imported/skeleton_swordless.png-95add0301a56da4e5c440a853795f167.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/characters/slime.png b/assets/sprites/characters/slime.png new file mode 100644 index 0000000000000000000000000000000000000000..5de1aed32cf4b7e2d841ef8641ecf28ee506f62f GIT binary patch literal 10007 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 literal 0 HcmV?d00001 diff --git a/assets/sprites/characters/slime.png.import b/assets/sprites/characters/slime.png.import new file mode 100644 index 0000000..ef9b820 --- /dev/null +++ b/assets/sprites/characters/slime.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cs7pbhq71yuvy" +path="res://.godot/imported/slime.png-a3f8ad08e9951dcfc89db77a5b728bd5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/characters/slime.png" +dest_files=["res://.godot/imported/slime.png-a3f8ad08e9951dcfc89db77a5b728bd5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/objects/chest_01.png b/assets/sprites/objects/chest_01.png new file mode 100644 index 0000000000000000000000000000000000000000..5f9051e2a44bbd4231ad9e5f77e87b5c5e9bce2c GIT binary patch literal 574 zcmV-E0>S->P)Px$_(?=TR9J=Ol|M@(K^Vq=kyHi?5s8HCb!(`o!Gn)ks_cYn;`#$r|{PJuz*3;g` z|E#!l?Pz*qQEud`Ex=K!#dmVBG#`kC?I5IqFdA0e{2A_19H2O~cR0XV$v z@NJgsXU2nE(oK&m`5?~9=3Zs}mEZpJ^UDC_r^kcfYXgke>r#|6km&-@N)RBY$e9`K zCqF%2chJT`r9Ly-&&I*I7eXk2Q2-#5sw74yL4Y?!jVLt0mZ)~ntP%+@Oq-Y8QvfW} z_H7QT8>TH%pen;>4b=#*F8tD(RZjwd`+U0BQ`NY-`cpl;=r!hR>Wu&dxVKAUhGp6$ zhv(SeSp#5fVixOYN%-&W(g%N7fC9krR*|;8NdR82wzx&aG)_pe`MqvTQ%ZYTM_3Z{g9Kw1$B$>?#0KM6qxCd}t1yD|;3qbMi z@A{$_&}RVcrxN8vx(JB*x~k5n5r5scz}UpB)`DJuaw_})ekR@dVf=vrg5Kq-Y8HPB zKsk{v+D{+(^b literal 0 HcmV?d00001 diff --git a/assets/sprites/objects/chest_01.png.import b/assets/sprites/objects/chest_01.png.import new file mode 100644 index 0000000..3065d16 --- /dev/null +++ b/assets/sprites/objects/chest_01.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqe5b8whdo7qi" +path="res://.godot/imported/chest_01.png-e50b4b546c81afcaf19ee08cbf0a5e97.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/objects/chest_01.png" +dest_files=["res://.godot/imported/chest_01.png-e50b4b546c81afcaf19ee08cbf0a5e97.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/objects/chest_02.png b/assets/sprites/objects/chest_02.png new file mode 100644 index 0000000000000000000000000000000000000000..a98db11688d99cb7d1ec8e48f1f288c0ef21fd0e GIT binary patch literal 567 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 igulcnc*fU2T~LWSJx;Qs-+EVT;& literal 0 HcmV?d00001 diff --git a/assets/sprites/objects/objects.png.import b/assets/sprites/objects/objects.png.import new file mode 100644 index 0000000..7813e92 --- /dev/null +++ b/assets/sprites/objects/objects.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dpumvq8hurh2k" +path="res://.godot/imported/objects.png-d2d4a55345a132e9a8ff3dd2e52d6372.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/objects/objects.png" +dest_files=["res://.godot/imported/objects.png-d2d4a55345a132e9a8ff3dd2e52d6372.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/objects/rock_in_water_01-sheet.png b/assets/sprites/objects/rock_in_water_01-sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..abda63a6e90615dfd589a982a6a8764a30cc22ad GIT binary patch literal 509 zcmVPx$w@E}nR9J=Wm$6F2P!xv$wB4$xXdp|44v9&YY9_(W;1v1-X3^P25PXO{gya>Z zv*6e%AVLxnq=QSqrHgYMuH4?nsdoHj% zn^G8Ma83RC{ueK+jSN+%6vAupg(;2TulxA`rvub)mpQAx00000NkvXXu0mjfKFjnY literal 0 HcmV?d00001 diff --git a/assets/sprites/objects/rock_in_water_01-sheet.png.import b/assets/sprites/objects/rock_in_water_01-sheet.png.import new file mode 100644 index 0000000..2aed9ea --- /dev/null +++ b/assets/sprites/objects/rock_in_water_01-sheet.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bemqlej7o4t4n" +path="res://.godot/imported/rock_in_water_01-sheet.png-3620ca531764c61ef4f85db7254bee8b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/objects/rock_in_water_01-sheet.png" +dest_files=["res://.godot/imported/rock_in_water_01-sheet.png-3620ca531764c61ef4f85db7254bee8b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/objects/rock_in_water_01.png b/assets/sprites/objects/rock_in_water_01.png new file mode 100644 index 0000000000000000000000000000000000000000..84f3985f92ade70eab3cd30e9097b45229d628dc GIT binary patch literal 352 zcmV-m0iXVfP)Px$8c9S!R49>^lCes}KoExitm&>fI09>tgB)bpq`2c!rB4}rf;3)jBMA2pc>>Gp zEqw@sLck^$l2##wh=sOlF)+8c7Z8VmoeBRp^KV$^qP)j{!Zn-yuH-tp-2MUVcjeXf z4S=>Ex~68>B88;}phKzR1b`nzeh`^!4}cXqlztEaP;p{0g2rcgaf+!p;cd(uHnjaP zTI)~($nt`iv+viJEH88@-`+nt0nEH}k^*?D9u{i3P|L@=TVYK)ZQFjx@}g_%BTMAL zWZHh9OPpy6KulJiGfi2| yh1HUJvhrLyzMj*ck7|@L)!@fR%&2J=Q1J`woPm$+VtrNs0000Px$B1uF+R49>^lCf%pKoEw1&2=`yA#4f{JlJKmI5{hOOUV=10QUFiY!&0r5YV~+`Ya5fMZQBo7UUW@;WQjbC znYJG&`3o_&q0mxL8an#*#d>petzA>|NW&oj%S{2y7VAydR4Pi?<=Dn}iRGqF?AcE2 zS#HW|E{vAOgWi%8dtc8ffS-?Q%COXlJ@DhBhOlYSDa9`+je*!1#|jJp0000Px$9!W$&R49>^Qn5J+!GLGik=NOK7_O z&pwg@KwfC_9DTpN=7o-=c>nk^1>nR#B`JWH<NN2;guGnY_fL-YOpUPx$8A(JzR49>^k}+$8P!Pxe&$wj?6u}M-hWb#41e{zlIZ8f(OZP5?LO+C`pkwxq z`49~)2rfo+O+iR09qQV4xNtt6DW!+to&0`x?^LnQxA;$(YO&wsoCnwUe+c_cesg;V zpl-XSDp=M`L!$xso-M-&fa3;^8>nLkK?~or9X9|V!$@-sYM-RpSd(GI)7Tj%)NOY* z_dOdxl4j&gzFrSWn)#mn_WsEifD7xAPyjExr@36r<>LAA!O%L5%ew87G;6AYN^upg zXaOSB!>B=mn8m|)AXIJ4DD5p~@o8xu*Hi^_>IoT`E-kUnw|#m1{@AH+bBt2^>C!Uk x)|W9m3~?|G{+Gx(yDkHinA)ShJpP7K`~X?+c{)_y;e`MI002ovPDHLkV1ikSnuGuV literal 0 HcmV?d00001 diff --git a/assets/sprites/objects/rock_in_water_04.png.import b/assets/sprites/objects/rock_in_water_04.png.import new file mode 100644 index 0000000..c922398 --- /dev/null +++ b/assets/sprites/objects/rock_in_water_04.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbn6gtau8l7mt" +path="res://.godot/imported/rock_in_water_04.png-56d7d053f05d3af179eabd417470e2d9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/objects/rock_in_water_04.png" +dest_files=["res://.godot/imported/rock_in_water_04.png-56d7d053f05d3af179eabd417470e2d9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/objects/rock_in_water_05.png b/assets/sprites/objects/rock_in_water_05.png new file mode 100644 index 0000000000000000000000000000000000000000..5ce6c883bc324b09cb51e0b45e5229f295d22e07 GIT binary patch literal 358 zcmV-s0h#`ZP)Px$AW1|)R49>^k+Dj|KoExi#9(vHfdpcaB8OR$E$(2eG&ZITKEXEE+X#XWkteW{ z>n(i<4~4)rxsbFf0YxmlRxL&*%SI4?w%FPEznR%x=d`@Vf8?3Lc2)8|U0(hHY**#k z`2~Qc>)X0w*dkra4IqgFAr*iyO2a5M+YW%GBo4wT1t6rd7?;ZDg&t!06-(0y?rE%DFeO~Cct|)Yl zYam zzBgI;yG;gwF*dQtO>&8&Q!~LPx$B1uF+R49>^lCf%pKoEw1&2=`yA#4f{JlJKmI5{hOOUV=10QUFiY!&0r5YV~+`Ya5fMZQBo7UUW@;WQjbC znYJG&`3o_&q0mxL8an#*#d>petzA>|NW&oj%S{2y7VAydR4Pi?<=Dn}iRGqF?AcE2 zS#HW|E{vAOgWi%8dtc8ffS-?Q%COXlJ@DhBhOlYSDa9`+je*!1#|jJp0000B0iN(hCPCtY?>)zUGFP@!@2pJ(+1{JPZu} XUo>>J1y4-^I+DTD)z4*}Q$iB}@h(+H literal 0 HcmV?d00001 diff --git a/assets/sprites/particles/dust_particles_01.png.import b/assets/sprites/particles/dust_particles_01.png.import new file mode 100644 index 0000000..8c4143e --- /dev/null +++ b/assets/sprites/particles/dust_particles_01.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://136rkycagt34" +path="res://.godot/imported/dust_particles_01.png-d02d3d47d8387839e793219b2baee183.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/particles/dust_particles_01.png" +dest_files=["res://.godot/imported/dust_particles_01.png-d02d3d47d8387839e793219b2baee183.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/tilesets/decor_16x16.png b/assets/sprites/tilesets/decor_16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..692df2b99be6685565a21440203d29cff9022081 GIT binary patch literal 1970 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 literal 0 HcmV?d00001 diff --git a/assets/sprites/tilesets/floors/carpet.png.import b/assets/sprites/tilesets/floors/carpet.png.import new file mode 100644 index 0000000..e64ec02 --- /dev/null +++ b/assets/sprites/tilesets/floors/carpet.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://f2k4x0c17w1g" +path="res://.godot/imported/carpet.png-e8b23c3dd0dfa76142c349d59f207122.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/tilesets/floors/carpet.png" +dest_files=["res://.godot/imported/carpet.png-e8b23c3dd0dfa76142c349d59f207122.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/tilesets/floors/flooring.png b/assets/sprites/tilesets/floors/flooring.png new file mode 100644 index 0000000000000000000000000000000000000000..74a61bde28a0af7adbfbe10e25e22d409adb9cf8 GIT binary patch literal 619 zcmV-x0+juUP)Px%B}qgdCEJ`4dtsyt)C32KrAPZm7kgXvQD0myZRX3I^ zkL4d}5^JW`2LU;*?8&R%j3irqe|~{9PP>hLsAI(e0Pq&`=Ajf-9Xo^;kpgl83#j4G z5B_>>t{q1XPUJYKHe7h9Eu8}#vV?TOWh>Fq#? zRhYzxO@n^7h>0|UlmnZQr_G29v8|0n3kT;wTXf6Dy38}}`kOgOtis;d^E%h_6f+9V zIiHF2YAkH8Fvj{)mvRya-b|RY!k}&@{QD~W>@7Np6KPiafvc**uV58b_?09J6G;{( zk}OOlS(r$&FcFC>5lqyyBQXcEicw+?Y-8kLV~IJC6%scSIuIfPbi8xe+)q?HNJ}huqI7U0PPju2!jz|)a$S;7H1$%xkRdN6T002ovPDHLk FV1gI&3$p+K literal 0 HcmV?d00001 diff --git a/assets/sprites/tilesets/floors/flooring.png.import b/assets/sprites/tilesets/floors/flooring.png.import new file mode 100644 index 0000000..c9659fb --- /dev/null +++ b/assets/sprites/tilesets/floors/flooring.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b51a0hwypuu47" +path="res://.godot/imported/flooring.png-26145fa990ec148278aa695adca94be5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/tilesets/floors/flooring.png" +dest_files=["res://.godot/imported/flooring.png-26145fa990ec148278aa695adca94be5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/tilesets/floors/wooden.png b/assets/sprites/tilesets/floors/wooden.png new file mode 100644 index 0000000000000000000000000000000000000000..43de3402945fd2486a661b2b8647974af10d9369 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|ay?xfLo_BP z>+o(%P+-ZkuUoC9&68*>7}CoY0pxK%UvY}dc}Kx#g=2?3+1S{`QY=lDM!0&E2_2Q1 zu(w5YL&BjC2ye$|%c5BUzu2fQ#m+i=!fMcpn%+2b2C YLkhc2!^a-M9-zexp00i_>zopr06v^JivR!s literal 0 HcmV?d00001 diff --git a/assets/sprites/tilesets/floors/wooden.png.import b/assets/sprites/tilesets/floors/wooden.png.import new file mode 100644 index 0000000..805765d --- /dev/null +++ b/assets/sprites/tilesets/floors/wooden.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://7cdq70veqnye" +path="res://.godot/imported/wooden.png-de6adc573ce9cb65f7ce8eea97dce428.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/tilesets/floors/wooden.png" +dest_files=["res://.godot/imported/wooden.png-de6adc573ce9cb65f7ce8eea97dce428.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/tilesets/grass.png b/assets/sprites/tilesets/grass.png new file mode 100644 index 0000000000000000000000000000000000000000..146c7b600daab3a39a7ef280fd8f9cfd1e32f59c GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|Bt2amLo_BP r^URog%z-OG$@A-qwm@EIFJ=bIC5(jus%f);iWody{an^LB{Ts5p3xT3 literal 0 HcmV?d00001 diff --git a/assets/sprites/tilesets/grass.png.import b/assets/sprites/tilesets/grass.png.import new file mode 100644 index 0000000..e3406d9 --- /dev/null +++ b/assets/sprites/tilesets/grass.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://kp2ka2v6xul5" +path="res://.godot/imported/grass.png-a8ad71a7b62094379d8ccf591977f6b3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/tilesets/grass.png" +dest_files=["res://.godot/imported/grass.png-a8ad71a7b62094379d8ccf591977f6b3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/tilesets/grass_scatter.png b/assets/sprites/tilesets/grass_scatter.png new file mode 100644 index 0000000000000000000000000000000000000000..22b81a54a800fc0958c7b814e3368fd0699a00c6 GIT binary patch literal 1958 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 SWHC;g0oRSKjA{+;#{Ul;H*I79 literal 0 HcmV?d00001 diff --git a/assets/sprites/tilesets/plains.png.import b/assets/sprites/tilesets/plains.png.import new file mode 100644 index 0000000..5c31285 --- /dev/null +++ b/assets/sprites/tilesets/plains.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://caehri3cruwp8" +path="res://.godot/imported/plains.png-b63aac4e7bfff1d2302cf7e7e3910af6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/tilesets/plains.png" +dest_files=["res://.godot/imported/plains.png-b63aac4e7bfff1d2302cf7e7e3910af6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/tilesets/walls/walls.png b/assets/sprites/tilesets/walls/walls.png new file mode 100644 index 0000000000000000000000000000000000000000..3cd30236896fd3a7dc5ff901825444bad77aebac GIT binary patch literal 2201 zcmbtW`8U+-AO8%)SQ1iKmTYD1TyppdStgVuOQO|86d_EQ7~4$QiY%2HjA?{yS+5Yr zz782%))BJAm>DrLW{lxG_uTs*+#jCz>pbWEI?wZd&U0Sx*ZYN|y|tK#tOx)AVm6no zoOp=-dkG2hVu#tiejb2=ovbZ@a*{j+0EDjDSe3sni;(h5!O+ zucL(cOXJrxgb`>34Wh8Vpady)FDj5OhpZ)Yt}R)=fAT~QKkJIbMCrz+jK!tgJ#!e2 z3JY=aC%9%WQunx~0AUIx3QT6w$H5M%bKhgKX=x@vB(5d2R*(G1sAM!i?sXwqg|<>e z$#>Nz$@Tab=bi0_hYW@Eg>F7w1J5Nag?crPnXerxIPu-9|FORj5^t)&F(OFMh0gq8 z9R6T|{G&lglcnt;SMSVrmLa};+Cx6I%=D6pN;}Gy9>nWUUuCDw9z|kcmvO@L`|nJm zn1Ah(%_!10LTd)A7(8I@QADFT+#5jaii2Ba9m=t$(KQ>g9mD{5o1x=7mds#6*#4Ep&iNXr&-uH`t}P0Jcve_Zotf*D5KN5aYa7V~ zKG`>PQ>)q5*`VaWsje{?o!LjkYd0@$tmb1bv3|3@b3>R~56ye%14pE942bTXSqx(> zrQ9L?RD9zf676+6QL<@bEqD{$7KOBq>jGYiX`drtXmZNzIw&bOUS% zU&-ligOu`JH!V3kfde)(wQQ)$&KU`4pGg$X^5FkO?Fx-#{aRV;a68}wqO0V%8;>9x zARzkNvRJb^vi?;hhO3jTTPd=Dc2QrY(}Et)PI@!R=W`sI13hSiZ*}SqluJy|l-Q?g z&im|$TUfkYX2n)dixJzbzUh`A{U3&GvAfi8mXAF8;$QI{s&i*GnJaymNmPpPyo1-5 z0^NcWrjprv+Y1ri-L-A&G5!0l?AIK{X9N83&aW}HY7<`T#O1W1#GFF~)i+|ASx_q# zjd*2siw5^zuJ|k{e#QujJ7={FU@t*-x{PsXGlaYf$tsPysf}5hU*f2B@5{5v*ayR0 zab3_A_3Lt9^^jS;h8-oXF=iEo97{%&hk{Qqv+gZwm!=vJ`0m1vc_%omH1~tep=n8D z>4K{jnTtUT)vqy@OueJ9VX}aWU5=k|wH`S+T!BQ~u?sM5tsOO%w6b~Yw!;a%Y?38( zBxR=wjo8}VZ79N=5);E-p|_{vU2qn0#kM&pvcCxJWE=uLlQ=QtY@6_GfAcWt=RzHB zRF>WBmMS}vO%Nvx@~xgV4>`gsEzf?wun*k*?i_m>zI;7uRv^f>y%wh>wW<}dz?{m2 z;t4Uy<>C^aE%()0J+nsP^@bJQ@Zbg4x{xXfhh`g<(foeRd+ zPW(t6?kCpO;6Hp)s+yd-cnmzUIZ_&VZ*JO0E<&<1jWE?xheGqjv$BS*3ioH%_PqF0 zRGcDC`7_h^qoZO$^IU*uMLLmK7#UD)sy3N4hSkFOqI@cg-RHVe<02X-qmieslisb& z!p?BUAL|Cubp*T>T3=Spq|-Kcf<~4o&4q(^jSJz~ckj%mh0BwoQ(QT=d3|{f-W8Ma z%nUzuLqlW);fm4u+S%IEa9w6F==RC}%#s6TQV~T%Q_}f6XjPc;pmCMXF)#Im^kbb`KhSj^Im5LerO5> zD|3~bRHaHGXY#@3RYBR0`k1bq;H8E>eddKq1@t~%1gBQdWHW<0CBCJwNwBeA6rI7NK;fhn{!nnMs% z5eL%U#OHlGYN!ngN-hUEULYz7bFH>X!5!By@pPOY91pafnD;dWmcH?4cs}wpg)ZJg z`&}`h3{Hllk0Pa98ddh~dV3ajU5?`S4SIfw@-9b@wh1&?!uiS|LeSJ#xhNrN#piBU z{a}nJsjcZJ0dum(iAkWegZ=QTUoD}n20M1riRu41uMqY))>ifa#BBmLS5H9y)#1Oc ooOf7B9s&F);uo_1k15i@Yj6XrQ{#RXZ`J^8F4$X@Tev^_KVc46z5oCK literal 0 HcmV?d00001 diff --git a/assets/sprites/tilesets/walls/walls.png.import b/assets/sprites/tilesets/walls/walls.png.import new file mode 100644 index 0000000..eea0214 --- /dev/null +++ b/assets/sprites/tilesets/walls/walls.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bvrwvvj0kyfxo" +path="res://.godot/imported/walls.png-2ed5512c462efc1c7833a4bb9877458f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/tilesets/walls/walls.png" +dest_files=["res://.godot/imported/walls.png-2ed5512c462efc1c7833a4bb9877458f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/tilesets/walls/wooden_door.png b/assets/sprites/tilesets/walls/wooden_door.png new file mode 100644 index 0000000000000000000000000000000000000000..8b3d41adbfd9de6afc4b8051e70b331eb82b6553 GIT binary patch literal 327 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYe6k~CayA#8@b22Z1Y(`HP#}JRs zWFP&xAM3Br31Ta1i1spP1_9MylA^4Y|JyAxC#N2mRU0lT0R$Qs&$~?X(_#{1V`FQ( z-GAT6rt){IO0Ur&n*uY{Uo$~ULQ-2FHW_eANY9qoBvZdB! z4-UVayhKBtYr}*^7Q0?^U6pMxWhr=?`6S09nEisVz*~kOZ>vR(ixl411KqS~1BjvX zEAW7#sA!wBme!3m|JG}q_&xvWzu)J1cqTlWm{RcnZ~BbZCoj_X{Qvj4o*}aIYPEI{At2SIx0thrNo_Cq%r^O`3#>Uom zyZ^qCP37-am0qJmHU(y?zal|OLQ-2L=k58+B<_-Sm|@qRRcj0mAHA(Fap7yeMd@q} zb_=NpgBYN6wa9{KKW~Q;sRdIPv)KqvdeSh{_>iR4WKp(rjPic-m#liq!*e0VL8s&0 zE~irV1YX9N$|$!P?XNluU#K_*d0Q=NT%_>69_Wls8$b-Nuf`6RPnc#Tro3inn7AO- VaPp}+bAcXY@O1TaS?83{1OUDvWHJB% literal 0 HcmV?d00001 diff --git a/assets/sprites/tilesets/walls/wooden_door_b.png.import b/assets/sprites/tilesets/walls/wooden_door_b.png.import new file mode 100644 index 0000000..494c5a3 --- /dev/null +++ b/assets/sprites/tilesets/walls/wooden_door_b.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c5tf6626uiegu" +path="res://.godot/imported/wooden_door_b.png-53fdfb6a481c3305596bb5f693299829.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/tilesets/walls/wooden_door_b.png" +dest_files=["res://.godot/imported/wooden_door_b.png-53fdfb6a481c3305596bb5f693299829.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/tilesets/water-sheet.png b/assets/sprites/tilesets/water-sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..1ffdcd0e7fa2284d1630022c78e58d64b1582b0f GIT binary patch literal 3019 zcmY*bc{tST7ynK&%39fCmG$0Gd+zU__kEw|J?}Z^bDqz6&*!0=%PAR2RY?E-vCO zUTOr8zmDokM#cUHne$f;=T7+2caNOZ9cvix!B z*0bx+|%rB6BN*$=05Gb z$fFM&0Id9uMu34^?xGDHQIj+AX;sWA%nY*$-l3!_9w5B&H@u%nsiSf43+|^)@FZIl zxpa{I?(%9~yUMgoA-+Kr(4P zJj(mg*GRedG%;g*%)iRAAKjvBNW~R}PY>9K@*qE&V_p8wpIHHfDn|?51?*5dkLD;C zl}6F_BZ#>um1<$^&CMYC>M905<($;X1qYXJO`G_Y*@8$-Vz8R&l=|Y z12a)|KL)M6A%S9W8MOW*-wm-Ju>=vSyx1Iz>uee8xr62vcxcsnf9^abnK758ZY@#G z@9c-IZdXWy$)J;1=KN}hgu1c)N+@{3IyxHa6o%;elvaAU_;@XZuX^t~N*rd`(qhvy9Q;<0}F!r5;W1RQGkH~A#3M)rK&dlvr&mkjk zvz7P5X3Jj*R<1QRV1Xn=r27`6758l!gLP#kr9rk~OW(u{5Oc>J?!3D3pla7EL4Et9 z`CqLF5_s~P&APKu+bkgOc}x=w5#^#~il42NWj?M%B_TdDo@FQYMIlfpN7v@dyU8WK z=F-2V#Wh5doMhRFp5_LT4VqPJ5dpZNnsiv|uxU}s;SQ{HQnqR6=}|A*$LBvDNyG7>(up+>)@e z>_&c)MQbC*7xs2Ip>d{E204Iekk?(O&DvA6I|@BRorN|Ye3_{xE8Otj&hrbViTm)G zr+b=*4U4+p712p0lIl3c1+jkD%Fra`T3fA&d47;DNw2TdIN{w`*bGLwbZVk6tEqLR zH@NB(t)lW3fzHM6`ZoAisse6z!G%pTDmRFyZp>r$W|H^u7Aik(1TpR^qZ~f&l*PQg*WVOWXK2{ZCXpH- z0ov{HKP)l9VG1*H#bI&0emBVXH>I3s&pAofxv0k;c;aT~G=&!WdaX00EeC{5e~+!R zQoovv$n5b4*5IM}0?dABok%`)hE|%^3Rd zd$6l&Ob8&w(Xq%&sy}*m#7yn{T z@t4nljq<14c~gTL%uY(YoG3}263T{rJ6BlXQ!+B}ORe?T#Gl-JiE1rQjL_KKN{wKo zN=yVhT;^smcZ~Dfc^;c*Tu1cKVY91u>cR8;+at?p8z=CEQ+qYJ@ti7Sz)!9xzdH<% zD^K6eM}F7Q-s^C1XZ)h8RJG8I+(f~4Z||9NZQGu%`3m2hG0s}3uRX9n7?_VbfDUiu z_MZ%0KD-Z+WEBMJ7C?L-q&{pf`G!&w_jcLuXFb!pvNL(rb+$G_nuc}=a=zr7Wjxu; z!IfTXqc6=bO1G_NcH8&PrQ%@5)2{u8I8!>xiF|6$&q;l@a zYBQd7c?a&u(m$Rhb4HERdOD-Az*QvWFy=KpZhk+YbSy&n7-n>ivl&tLDKrc6o{j^Ant z8W`p;+~k4k;LPeOcf0WO$VtxJ7)FBKt8#IC8mK=R#<}@K%L9_@@}*a}u zBi;<|3kEjIWS5Hye$Gq?KLNf-l9w^Mw<|`*9u`tDM+z`bu{6OSj9`^MR1=&REXrLF z3_yLH6?>4$H!5Uc-bF<#fgfzuzj;AmY4Xc5ACS^onLfZ^eU4;vTk*2r>JE`EdN7ba zANIJ0OkD6mhD9Gq0P1Fdu&{<$`7In>fUL3c6PggUHBHA8G%<0NO}a7S7R%bdeBIK>fZ zw)BLb6VSm%e-P2UITbuSEJn!qRxfHjFVUdpKc`FV#hQ;ZqqrMS&AP-t%DLq&dEu8> z$fHjzFW}t{;IH$V2gxNHQE4J_>1$}ml3IU@AfX>3c3-AfH?zzK$V2M{N0rf00t4$m z`C@nbtKdwEot-Ng+aDrk@KbUAEk0ig1CR&!!@k9oE-Vt@M@v1!gDSw4``4t)vRR-Du#YU-o^n}P-mH$f7gG%DO35*|BNcVg>skb1mPrkW~E4- O1NJ9ejuUNs;{F4n+d3xz literal 0 HcmV?d00001 diff --git a/assets/sprites/tilesets/water-sheet.png.import b/assets/sprites/tilesets/water-sheet.png.import new file mode 100644 index 0000000..6c279c7 --- /dev/null +++ b/assets/sprites/tilesets/water-sheet.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqndfths68nrm" +path="res://.godot/imported/water-sheet.png-0762cf9cba22ea2c17ae1cdd6bde8ae6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/tilesets/water-sheet.png" +dest_files=["res://.godot/imported/water-sheet.png-0762cf9cba22ea2c17ae1cdd6bde8ae6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/tilesets/water1.png b/assets/sprites/tilesets/water1.png new file mode 100644 index 0000000000000000000000000000000000000000..c0d5adb033a816767ee9ece81dec941803f6b60d GIT binary patch literal 1397 zcmV-*1&aEKP)Px)FG)l}RCt{2Ts>@~x#B=o5C>L3g&->#B2W>la_342u1kveKNy7+Iqnyj zOA$`!KctDffKcV)z{Me7AyB}Q3Kc4B2qu*wO-KrRM(>VxXJ^JUni1XyOyv1k?LN=U zJMYIjg@2zug$~~Tc_23Z(7Hfi`2O_|uiyWR*Kg0^UV!OnX54n)YiI62eN z4AapJi?j3C7}iEfWMjo~s`FWU==gP0U&P2@2ve=$AAHZ6Fh;SkR zC5NuU#o0O9#WDb3D3IMQmJwA-=-;&;?KUu9USoK6j_Uqi=6pIH0G|^&oCrY84qcT; zyN%VL<%&c`zBneTlw#vp-+XzEcCozH9#u++P(uG=61yK}qS~(yZ9b+II5k0RWhQ}< z%RfsXUW1K~P{Mq9ojAUqV8Vv~ddG^3rwKA9=I z8Gp&Vwlx8=Y-$?0GBU;Xq`9*1N`py`i0&erIVS5~5OYCKPCxV2pG1c03eFmrwNq49 zp$u&Pe0j}di!?Jvt?qzr$iJIHC2e8?=LH$n!`3yJ`OsY?^bn^BzO;IWN)C*|nE*Nm z(KbQMvZmHM6tS_A-n7tpt}`aq1x%;L`X&GASt7&@?5G5&zTz+e_TEY4bpzddA2XIY%L0g2aH$mH%^a%)gBPx)JV``BRCt{2n>}kIM;OQdicD`VQB`ok6H_5pWUYM&JWWDz*@u4TnkP^0*Z1XZ7r8_Ej@G<1jxkSi3X(^8DxJ zd7hcA{r&0{itxwJC*q+mg)U$jpa1>N=>5MkdUuC@0T#1m>0`TI^EsehfWv+}GR|VQ z#A3EYaCIFkL&vxgsjOHoZ+$v$J6~6IBQgdVZ!ufqu-}fA;f58BEFRCQ4`A!Ojc5^o z8;7^T;OZKKdJ_OJ6^uQoH{rJ$7(X2!cDh)tA27YThIf3FS)Z2&5Y@3AEduaihquaM zr@JY%-WZXLFP8CJjaWH4w^~17P;YJ>_gfA4XkdJM6MG&Sq6RL0Wz+8N#N2zPC;UZ9@EoSsld}>5#7TEhZzdY({PKhJIEhg7 z{CstfHz%(X@6+=SqWaU@I{R*Pk7BJqD;XyYC`c8#``2_Qa*to3IZkDnLIW&P&$vji&BSh%C0vau=mf}-K)V|=pYM#NH=pw^!^_%g+y-b_sL$tW_^ z6$w5$O4HHa@e!tvcUY|-@aE(-0*QB0C87a&98hK$p-EiEVZR-{e-V_=0bB&4s!201 zhy8Z$$y4_1MJC?Lydc2d{Cgn80!4V7f7+>j7TU6*^VPi-F#sWp0gA#Cd`asa!%i3I zgu!8+_t(B6X4~*n1oEOdVwN>=y@OpN%?6b%N&cUZEe4fEsQ@z1BC7>d%`S;Jf>z#C zpkxx}I~d3p?)eAC-B6l9d;UQz29WKzNW(ilOU%;B5VHWXp^Q)-hz&d4TnjB#KQWQS2hWY zBG^jVIUvd@3CDIpn-^ruT7azO=0)rUbUl^0&AFPXG!^k2_F@9Xp0lhAop<3#c@Gft z;Woqo>>4I-dNn>yS0`GpiRCCjR@)gtShUN+9t3t(kfDT+7 zU>GNWVYCTA>1bPqA&LQP3l_Br;I|sax2ACMZT(I_ODe)UK8kr9CVK%b$n3f&NEce% z(8X*SitrQ@1d|aw#CHnwjjsTI3i)ukW$vvJI`fB4RJxZ)5&bXe4e}LNxZ)HA>VM_wCz= zHUVU>`dNTqJB5CxBs` z0EQ_%2|Lu{dVpb^0ETe_7{&=;7$<;XoB)P#0vN^#U>GNWVVnSlaRM0TKXNng$$H#c QC;$Ke07*qoM6N<$g7z$j{Qv*} literal 0 HcmV?d00001 diff --git a/assets/sprites/tilesets/water2.png.import b/assets/sprites/tilesets/water2.png.import new file mode 100644 index 0000000..643f35f --- /dev/null +++ b/assets/sprites/tilesets/water2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c6vdpb3jw82wa" +path="res://.godot/imported/water2.png-8c1520366c726d04b5cc3acadff0b900.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/tilesets/water2.png" +dest_files=["res://.godot/imported/water2.png-8c1520366c726d04b5cc3acadff0b900.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/tilesets/water3.png b/assets/sprites/tilesets/water3.png new file mode 100644 index 0000000000000000000000000000000000000000..795eb6c46271d5d032e800c2286aaaef164a8231 GIT binary patch literal 1425 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 literal 0 HcmV?d00001 diff --git a/assets/sprites/tilesets/water4.png.import b/assets/sprites/tilesets/water4.png.import new file mode 100644 index 0000000..26ecf92 --- /dev/null +++ b/assets/sprites/tilesets/water4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bahrovkle7n8c" +path="res://.godot/imported/water4.png-7e2a40803f048ca90fe06df19feead67.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/tilesets/water4.png" +dest_files=["res://.godot/imported/water4.png-7e2a40803f048ca90fe06df19feead67.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/tilesets/water5.png b/assets/sprites/tilesets/water5.png new file mode 100644 index 0000000000000000000000000000000000000000..16256083c85c8b159abd7f0abbfd5dc2840e51c9 GIT binary patch literal 1410 zcmV-|1%3L7P)Px)JV``BRCt{2n>}kIM;OQdicD`VQB`ok6H_5pWUYM&JWWDz*@u4TnkP^0*Z1XZ7r8_Ej@G<1jxkSi3X(^8DxJ zd7hcA{r&0{itxwJC*q+mg)U$jpa1>N=>5MkdUuC@0T#1m>0`TI^EsehfWv+}GR|VQ z#A3EYaCIFkL&vxgsjOHoZ+$v$J6~6IBQgdVZ!ufqu-}fA;f58BEFRCQ4`A!Ojc5^o z8;7^T;OZKKdJ_OJ6^uQoH{rJ$7(X2!cDh)tA27YThIf3FS)Z2&5Y@3AEduaihquaM zr@JY%-WZXLFP8CJjaWH4w^~17P;YJ>_gfA4XkdJM6MG&Sq6RL0Wz+8N#N2zPC;UZ9@EoSsld}>5#7TEhZzdY({PKhJIEhg7 z{CstfHz%(X@6+=SqWaU@I{R*Pk7BJqD;XyYC`c8#``2_Qa*to3IZkDnLIW&P&$vji&BSh%C0vau=mf}-K)V|=pYM#NH=pw^!^_%g+y-b_sL$tW_^ z6$w5$O4HHa@e!tvcUY|-@aE(-0*QB0C87a&98hK$p-EiEVZR-{e-V_=0bB&4s!201 zhy8Z$$y4_1MJC?Lydc2d{Cgn80!4V7f7+>j7TU6*^VPi-F#sWp0gA#Cd`asa!%i3I zgu!8+_t(B6X4~*n1oEOdVwN>=y@OpN%?6b%N&cUZEe4fEsQ@z1BC7>d%`S;Jf>z#C zpkxx}I~d3p?)eAC-B6l9d;UQz29WKzNW(ilOU%;B5VHWXp^Q)-hz&d4TnjB#KQWQS2hWY zBG^jVIUvd@3CDIpn-^ruT7azO=0)rUbUl^0&AFPXG!^k2_F@9Xp0lhAop<3#c@Gft z;Woqo>>4I-dNn>yS0`GpiRCCjR@)gtShUN+9t3t(kfDT+7 zU>GNWVYCTA>1bPqA&LQP3l_Br;I|sax2ACMZT(I_ODe)UK8kr9CVK%b$n3f&NEce% z(8X*SitrQ@1d|aw#CHnwjjsTI3i)ukW$vvJI`fB4RJxZ)5&bXe4e}LNxZ)HA>VM_wCz= zHUVU>`dNTqJB5CxBs` z0EQ_%2|Lu{dVpb^0ETe_7{&=;7$<;XoB)P#0vN^#U>GNWVVnSlaRM0TKXNng$$H#c QC;$Ke07*qoM6N<$g7z$j{Qv*} literal 0 HcmV?d00001 diff --git a/assets/sprites/tilesets/water5.png.import b/assets/sprites/tilesets/water5.png.import new file mode 100644 index 0000000..0aac8c2 --- /dev/null +++ b/assets/sprites/tilesets/water5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b5q52dhjhtyql" +path="res://.godot/imported/water5.png-b971537c1b970f980c158571c19d8471.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/tilesets/water5.png" +dest_files=["res://.godot/imported/water5.png-b971537c1b970f980c158571c19d8471.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/tilesets/water6.png b/assets/sprites/tilesets/water6.png new file mode 100644 index 0000000000000000000000000000000000000000..37c4047463ca993aa8481ae2f3ddd5cf40a60822 GIT binary patch literal 1430 zcmV;H1!?+;P)Px)P)S5VRCt{2T)%50M-={)OA%0Yh=3JPA-I(UCr}Zqa_34I(p`$^e-H{OF5F)r zk|IRte{gf|4umQf0T)3|A<%&(6)IHNU`#4Ons6!Xw|+aC*_~a_XvVqyz*w4jvp?Q9 z^WK~H#xDHv>J`%9x1W#2rcbFZ;2Hk?`#Y!i|HA3rbJ!Gu&< z2;j=$vv7TJiB7Q$0GJ5M?i9-iDkY2_+Ix*AR+~FaE-q0$I!qkTA&%STjM~T*M(s`C0o#5<=7E841P-AmyuOK1Y&r zfqQeKl8fsD9{q^VFhW3FxR<0rKutuP^0Fv)vc2}sIU6BBbh@2lIaWbu=O4q*t>9pX zq%{429)Urngvr%40C@ z;>zc%hp(o3yM_fGLhnIWiv(k-2$>&9Qa%6_TVL;dr=PenNiu}$$#7={rp0{FMJqUv z_Qjd9?d&%3+Ez@E3`q)Awey#d$x)k3PNje>KERX@5n*Hn@WdH~pl9bF!`ZJhQ&rHN z?J~Ki+?PNkt~Ph*HJZvC6(HaLB&`A?1kh~YH-B^d8tVrK>KbH*I>mCV0^`QVIeH+f zd>zwEFq)389vxz`z4mJJ!&d>{2k54%`S{V*T6|i(l{cYAx1G`mQ`8r(8S(KlK&^jia{!DXScCdz^D)4%dr(4coBw*4m3@nUKPU! zl@fZ5W~Lc0!pcTWrx3Gm@I8R+#Dz(ui2#jn#CnZpBx2CXhwKA1YuADk)rCx{Dn&cl zh|xxb3gWiHwlpB}=~?17QZkV3rk${;a9P@&r(pOsR50pU|s}@Q@YONvqpfp6kVZuGQ^pXibxAFEpGC?tc9UI zKs5uiJg2H~q>|M&y~Ypc`WA+AMJV$51(!cYOOjdg;rjs917u<2iH#iEu(A*EsTv08)dO6SU~L~zM#1Ez_ktHMKj5cd&h>=<%-AR3v-uk_6ZHTa zuu6arc_1I2Ar7C-3h))y2%vg^FEfz#0KRP&tq~AZN?t`nKAqCwu#$@4X=#_(&Thks zSe7$E`+$`&bTM6qr=-g$U>iciQenRuzDdvN2*hl@OWKN81eD!3A^|&7y4=9x%*|2Eu0}R1xJs|SJ?HXop?-eg9 zMr`8>4zJO!VfMDGHGciRzjJ?|%npY&0%WtT_3IA+c8_=Oe24tFd)o0y&*KBEnV@Hc zXK#X@U(&}T(SNBPYNyasnLVKS}op|0Cw_`v3p{07*qoM6N<$g1Hf%K>z>% literal 0 HcmV?d00001 diff --git a/assets/sprites/tilesets/water6.png.import b/assets/sprites/tilesets/water6.png.import new file mode 100644 index 0000000..4208400 --- /dev/null +++ b/assets/sprites/tilesets/water6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://clxco4yisxynw" +path="res://.godot/imported/water6.png-13756df334cb3af9e273d20b2ffc8479.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/tilesets/water6.png" +dest_files=["res://.godot/imported/water6.png-13756df334cb3af9e273d20b2ffc8479.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/tilesets/water_decorations.png b/assets/sprites/tilesets/water_decorations.png new file mode 100644 index 0000000000000000000000000000000000000000..ce296825479234b7b9764243349f914903569b37 GIT binary patch literal 1357 zcmV-T1+w~yP)Px)2T4RhRA_4S>DdR*`3+jgNu|;TEWh~ znfKoJ-n^OFTk+@p`}iNXhum!&ps?`GZ+3DAFZ*nXJ08pLoaA4NcftR+8US0;2N|y9 zt3E0SLs=VSi?rkqQqaStP9F|8MNpQdC=HRX#k-yY;FW7wX|B4LAf;3f zL?4Kk{$G*xz!YgoOz0=Id!rAj*8p0_G9;fG?nHc=g)oZ}!azQJJ`-yA>-RMY-yg4B z3q9*;4anF5IW|+m*h~rN8Y{__xg9q}K7~#`zz0CW!Fd~_EXNb%0suW2Ec!(xb6KHt zc+TE?12QZX`7o*Qm;B5&h{O9Zf08l6ugXx$60d#}#VeQPQ8z)B=Lpg!X z;xBAJ)z+RdnH%YiRR9 zuwDphAC7#Q)p2A35MH?^sgFdS)gM`eJBR1Ue|;|^`0)9Rbrt|!qA9uLUc||z0TYDS zg;4bY5DA{{zec`I5;|=j*hRQ=cy6p^z9C8D3Wii+Xb<-EuGvpPY+|$6ZL`?oXnb78^za?)KI^SdNg`SL5K2l@02P^OaAR*n8y}Z58E1O)%b=n1OIn7 z_we`ob5^!_RnK${QU@`Pd}X`@qU2k=f({6!7xPFbcMX~-+-6{7aosqRHx`#8 z<%*SUIsY1`m$tzFoKirQPfU&D>8sDW?XIdcq#-m7`3zB_TA7m@i_1xJMtNVh*KMd& zGy97#?*+3<1wqY#kn*kKEC67rn!{FO7U-M;0Os=}tOm|0J)qa^d{*h%mn3hQg~Fe` zk#Xv8By)5EJwH5xKM-UwSAg@d}si3*7aJ=%A%PGR>yc zL@yk?ypd00Qhp9&ENyWoVd0mZNGA?lkd_*!=%CdtLHAHIP00001b5ch_0Itp) z=>Px%ok>JNR9J=8S3PgqP!v6;ma2#`1Z6<-o_ep;R%*r6tpi9II&|U}n1xQBV1Zx2 z#8}A;**c+Q0Eyko9*M!CbVMjaKeiC#|I662_%ambR4Ge_66{zwalDj!tU%!>79d3d0^!^56h731N(&(Pq4-Q& zy*Aim!-3iyt{9xhbP%Ng94ZNw&jS9a_DVnRzP$$kEGF}!K1DmUdhKIqpaq)%nfSRb z@Vx-O7ZmlK>mEZ_QSFUbOy&^tD&q6@<}P>c2#`*p^bU{_5QR6ap=^|=gXrK3g#c80 z6P(3lPCW9APhUP-pH)D)+FY5nNWk|3>oIKg+PJ;BE1VS7UIgDL@xv(h{d5p1r+7LT zL0m&p+oVsSl(NQRzWLQAEdT&?#;=}8P(mp{71Kt1iBOL31t~A8PJG^8@OhN|uWBrp z5#ot5@hiTIpYb)YT>${P)rQo$EGe;@p5MzwpxPJg!UIt`KPpk3{j{6xtRQPFHUS4j zJGE<6d>3c+8qfr`vjp90gR+Jk-wV>t_^EK?&L05U4$O6{!TtbI@`%vWbKyUmxElj% zP^7u|y!aKA5$ysP#w(x+?A99+f#H5y0HE5u#BRMoXAFGa{J{Cu1>*Y=d@qnCsagR* z`A$69&&VRNb*oLh12UrBY9k%a^s9#lFFeC;y}?<%hAk4DUtMJH+2yF(+bT{vgv&nl z526*qCFufYP)?!p5(ePx*G}$`46-5(;}y0@@U=dZo{1ku(jw^M=y2*HSc=ae%}ZAR z void: + print("Level ready") + + ground = $Ground + walls = $Walls + + Log.pr(ground) + + cells = CoordUtil.all_cells(Vector2i(-1, -1), Vector2i(map_width + 1, map_height + 1)) + + Log.pr(cells) + + ground.clear() + ground.set_cells_terrain_connect(cells, 0, 1, false) + + var perimeter_cells : Array = CoordUtil.perimeter_cells(Vector2i(0, 0), Vector2i(map_width, map_height), false, 2) + walls.set_cells_terrain_connect(perimeter_cells, 0, 0, false) + # walls.set_cells_terrain_connect(cells, 0, 0, true) diff --git a/playground/level.gd.uid b/playground/level.gd.uid new file mode 100644 index 0000000..9e5c9f9 --- /dev/null +++ b/playground/level.gd.uid @@ -0,0 +1 @@ +uid://danlcoyd8tlji diff --git a/playground/level.tscn b/playground/level.tscn new file mode 100644 index 0000000..bf53de0 --- /dev/null +++ b/playground/level.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=3 format=4 uid="uid://fqdbtka7hqn"] + +[ext_resource type="TileSet" uid="uid://eucffgw5x26k" path="res://assets/tileset/basic.tres" id="1_bdmjt"] +[ext_resource type="Script" uid="uid://danlcoyd8tlji" path="res://playground/level.gd" id="1_ny3pf"] + +[node name="Level" type="Node2D"] +script = ExtResource("1_ny3pf") + +[node name="Ground" type="TileMapLayer" parent="."] +tile_map_data = PackedByteArray("AAATABAAGwAEAAAAAAATAA8AGwAEAAAAAAATAA4AGwAEAAAAAAATAA0AGwADAAAAAAATAAwAGwAEAAAAAAATAAsAGwACAAAAAAATAAoAGwAEAAAAAAATAAkAGwAEAAAAAAATAAgAGwAAAAAAAAATAAcAGwAEAAAAAAATAAYAGwAEAAAAAAATAAUAGwAEAAAAAAATAAQAGwAEAAAAAAATAAMAGwAEAAAAAAATAAIAGwAEAAAAAAATAAEAGwAEAAAAAAATAAAAGwAEAAAAAAASABIAGwAEAAAAAAASAA8AGwAEAAAAAAASAA4AGwAEAAAAAAASAA0AGwAEAAAAAAASAAwAGwAEAAAAAAASAAsAGwAEAAAAAAASAAoAGwADAAAAAAASAAkAGwAEAAAAAAASAAgAGwAEAAAAAAASAAcAGwAEAAAAAAASAAYAGwAEAAAAAAASAAUAGwAEAAAAAAASAAQAGwAEAAAAAAASAAMAGwAEAAAAAAASAAIAGwAEAAAAAAASAAEAGwAEAAAAAAASAAAAGwAAAAIAAAARABIAGwAEAAAAAAARABEAGwAEAAAAAAARABAAGwACAAIAAAARAA4AGwAEAAAAAAARAA0AGwAEAAAAAAARAAwAGwAEAAAAAAARAAsAGwAEAAAAAAARAAoAGwAEAAAAAAARAAkAGwAEAAAAAAARAAgAGwABAAIAAAARAAcAGwAEAAAAAAARAAYAGwACAAAAAAARAAUAGwAEAAAAAAARAAQAGwAEAAAAAAARAAMAGwAEAAAAAAARAAIAGwAAAAEAAAARAAEAGwAEAAAAAAARAAAAGwAEAAAAAAAQABIAGwABAAIAAAAQABEAGwAEAAAAAAAQABAAGwAEAAAAAAAQAA4AGwAEAAAAAAAQAA0AGwAEAAAAAAAQAAwAGwAAAAAAAAAQAAsAGwAEAAAAAAAQAAoAGwAEAAAAAAAQAAkAGwAEAAAAAAAQAAgAGwAEAAAAAAAQAAcAGwAEAAAAAAAQAAYAGwAEAAAAAAAQAAUAGwAEAAAAAAAQAAQAGwAEAAAAAAAQAAMAGwAEAAAAAAAQAAIAGwABAAMAAAAQAAEAGwAEAAAAAAAQAAAAGwADAAAAAAAPABIAGwADAAIAAAAPABEAGwAEAAAAAAAPABAAGwAEAAAAAAAPAA8AGwAEAAAAAAAPAA0AGwAEAAAAAAAPAAwAGwAAAAIAAAAPAAsAGwACAAAAAAAPAAoAGwAEAAAAAAAPAAkAGwAEAAAAAAAPAAgAGwADAAEAAAAPAAcAGwAEAAAAAAAPAAYAGwAEAAAAAAAPAAUAGwAEAAAAAAAPAAQAGwAEAAAAAAAPAAMAGwAEAAAAAAAPAAIAGwAEAAAAAAAPAAEAGwAEAAAAAAAPAAAAGwAEAAAAAAAOABIAGwAEAAAAAAAOABEAGwAEAAAAAAAOABAAGwAEAAAAAAAOAA8AGwAEAAAAAAAOAA4AGwAEAAAAAAAOAAwAGwAEAAAAAAAOAAsAGwAEAAAAAAAOAAoAGwAEAAAAAAAOAAkAGwAEAAAAAAAOAAgAGwAEAAAAAAAOAAcAGwAEAAAAAAAOAAYAGwAEAAAAAAAOAAUAGwAEAAAAAAAOAAQAGwACAAIAAAAOAAMAGwAEAAAAAAAOAAIAGwAEAAAAAAAOAAEAGwAEAAAAAAAOAAAAGwAEAAAAAAANABIAGwAEAAAAAAANABEAGwAEAAAAAAANABAAGwAEAAAAAAANAA8AGwAEAAAAAAANAA4AGwACAAIAAAANAA0AGwAEAAAAAAANAAsAGwAEAAAAAAANAAoAGwAEAAAAAAANAAkAGwACAAIAAAANAAgAGwAEAAAAAAANAAcAGwAAAAIAAAANAAYAGwAEAAAAAAANAAUAGwAEAAAAAAANAAQAGwAEAAAAAAANAAMAGwAEAAAAAAANAAIAGwAEAAAAAAANAAEAGwAEAAAAAAANAAAAGwAEAAAAAAAMABIAGwAEAAAAAAAMABEAGwACAAEAAAAMABAAGwAEAAAAAAAMAA8AGwAEAAAAAAAMAA4AGwAEAAAAAAAMAA0AGwAEAAAAAAAMAAwAGwAEAAAAAAAMAAoAGwAEAAAAAAAMAAkAGwAEAAAAAAAMAAgAGwAEAAAAAAAMAAcAGwAEAAAAAAAMAAYAGwAEAAAAAAAMAAUAGwAEAAAAAAAMAAQAGwAEAAAAAAAMAAMAGwAEAAAAAAAMAAIAGwAEAAAAAAAMAAEAGwACAAIAAAAMAAAAGwAEAAAAAAALABIAGwAEAAAAAAALABEAGwAEAAAAAAALABAAGwAEAAAAAAALAA8AGwAEAAAAAAALAA4AGwAEAAAAAAALAA0AGwACAAAAAAALAAwAGwAEAAAAAAALAAsAGwADAAAAAAALAAgAGwAEAAAAAAALAAcAGwAEAAAAAAALAAYAGwAEAAAAAAALAAUAGwAEAAAAAAALAAQAGwAEAAAAAAALAAMAGwAEAAAAAAALAAIAGwAEAAAAAAALAAEAGwAEAAAAAAALAAAAGwAEAAAAAAAKABIAGwABAAMAAAAKABEAGwAEAAAAAAAKABAAGwAEAAAAAAAKAA8AGwAEAAAAAAAKAA4AGwAEAAAAAAAKAA0AGwAEAAAAAAAKAAwAGwAEAAAAAAAKAAsAGwABAAIAAAAKAAoAGwAEAAAAAAAKAAkAGwAEAAAAAAAKAAcAGwAEAAAAAAAKAAYAGwAEAAAAAAAKAAUAGwADAAAAAAAKAAQAGwAEAAAAAAAKAAMAGwAEAAAAAAAKAAIAGwAEAAAAAAAKAAEAGwAEAAAAAAAKAAAAGwACAAEAAAAJABIAGwAEAAAAAAAJABEAGwAEAAAAAAAJABAAGwAEAAAAAAAJAA8AGwABAAIAAAAJAA4AGwAEAAAAAAAJAA0AGwAEAAAAAAAJAAwAGwAEAAAAAAAJAAsAGwAEAAAAAAAJAAoAGwAEAAAAAAAJAAkAGwAEAAAAAAAJAAgAGwAEAAAAAAAJAAYAGwAEAAAAAAAJAAUAGwAEAAAAAAAJAAQAGwAEAAAAAAAJAAMAGwAEAAAAAAAJAAIAGwAEAAAAAAAJAAEAGwAEAAAAAAAJAAAAGwAEAAAAAAAIABIAGwAEAAAAAAAIABEAGwADAAMAAAAIABAAGwAEAAAAAAAIAA8AGwAEAAAAAAAIAA4AGwAEAAAAAAAIAA0AGwAEAAAAAAAIAAwAGwAEAAAAAAAIAAsAGwAAAAIAAAAIAAoAGwAEAAAAAAAIAAkAGwAEAAAAAAAIAAgAGwAEAAAAAAAIAAYAGwAEAAAAAAAIAAUAGwAEAAAAAAAIAAQAGwAAAAIAAAAIAAMAGwAEAAAAAAAIAAIAGwAEAAAAAAAIAAEAGwAEAAAAAAAIAAAAGwACAAIAAAAHABIAGwADAAEAAAAHABEAGwAEAAAAAAAHABAAGwACAAMAAAAHAA8AGwAEAAAAAAAHAA4AGwAAAAIAAAAHAA0AGwAEAAAAAAAHAAwAGwAEAAAAAAAHAAsAGwADAAEAAAAHAAoAGwAEAAAAAAAHAAkAGwAEAAAAAAAHAAgAGwAEAAAAAAAHAAcAGwAEAAAAAAAHAAUAGwAEAAAAAAAHAAQAGwAAAAIAAAAHAAMAGwAEAAAAAAAHAAIAGwACAAIAAAAHAAEAGwABAAIAAAAHAAAAGwAEAAAAAAAGABIAGwAEAAAAAAAGABEAGwAEAAAAAAAGABAAGwAEAAAAAAAGAA8AGwAEAAAAAAAGAA4AGwAEAAAAAAAGAA0AGwAEAAAAAAAGAAwAGwAEAAAAAAAGAAsAGwAEAAAAAAAGAAoAGwAEAAAAAAAGAAkAGwAEAAAAAAAGAAgAGwAEAAAAAAAGAAcAGwAEAAAAAAAGAAYAGwAEAAAAAAAGAAQAGwACAAAAAAAGAAMAGwAEAAAAAAAGAAIAGwABAAIAAAAGAAEAGwAEAAAAAAAGAAAAGwAEAAAAAAAFABIAGwAEAAAAAAAFABEAGwAEAAAAAAAFABAAGwAEAAAAAAAFAA8AGwAEAAAAAAAFAA4AGwAEAAAAAAAFAA0AGwAEAAAAAAAFAAwAGwAEAAAAAAAFAAsAGwAAAAMAAAAFAAoAGwAEAAAAAAAFAAkAGwABAAAAAAAFAAgAGwAEAAAAAAAFAAcAGwAAAAAAAAAFAAYAGwABAAAAAAAFAAUAGwAEAAAAAAAFAAMAGwADAAMAAAAFAAIAGwAEAAAAAAAFAAEAGwAEAAAAAAAFAAAAGwAEAAAAAAAEABIAGwAEAAAAAAAEABEAGwAAAAIAAAAEABAAGwADAAAAAAAEAA8AGwAAAAEAAAAEAA4AGwAEAAAAAAAEAA0AGwAEAAAAAAAEAAwAGwABAAIAAAAEAAsAGwAEAAAAAAAEAAoAGwAEAAAAAAAEAAkAGwABAAIAAAAEAAgAGwAEAAAAAAAEAAcAGwAAAAIAAAAEAAYAGwAEAAAAAAAEAAUAGwAEAAAAAAAEAAQAGwAEAAAAAAAEAAIAGwAEAAAAAAAEAAEAGwADAAMAAAAEAAAAGwAEAAAAAAADABIAGwAEAAAAAAADABEAGwAEAAAAAAADABAAGwAEAAAAAAADAA8AGwAEAAAAAAADAA4AGwAEAAAAAAADAA0AGwAEAAAAAAADAAwAGwAEAAAAAAADAAsAGwAEAAAAAAADAAoAGwAEAAAAAAADAAkAGwAEAAAAAAADAAgAGwAEAAAAAAADAAcAGwAEAAAAAAADAAYAGwAEAAAAAAADAAUAGwAEAAAAAAADAAQAGwABAAAAAAADAAMAGwAEAAAAAAADAAEAGwAEAAAAAAADAAAAGwAEAAAAAAACABIAGwAEAAAAAAACABEAGwAEAAAAAAACABAAGwAEAAAAAAACAA8AGwAEAAAAAAACAA4AGwAEAAAAAAACAA0AGwAEAAAAAAACAAwAGwAEAAAAAAACAAsAGwAEAAAAAAACAAoAGwABAAIAAAACAAkAGwAEAAAAAAACAAgAGwAEAAAAAAACAAcAGwAEAAAAAAACAAYAGwAEAAAAAAACAAUAGwAEAAAAAAACAAQAGwAEAAAAAAACAAMAGwADAAIAAAACAAEAGwAEAAAAAAACAAAAGwAEAAAAAAABABIAGwAAAAAAAAABABEAGwAEAAAAAAABABAAGwAEAAAAAAABAA8AGwAEAAAAAAABAA4AGwAEAAAAAAABAA0AGwAEAAAAAAABAAwAGwAEAAAAAAABAAsAGwAEAAAAAAABAAoAGwADAAIAAAABAAkAGwAEAAAAAAABAAgAGwAEAAAAAAABAAcAGwACAAIAAAABAAYAGwAEAAAAAAABAAUAGwADAAMAAAABAAQAGwAEAAAAAAABAAMAGwACAAAAAAABAAIAGwAEAAAAAAABAAAAGwAEAAAAAAAAABIAGwAEAAAAAAAAABEAGwAEAAAAAAAAABAAGwAEAAAAAAAAAA8AGwAEAAAAAAAAAA4AGwAEAAAAAAAAAA0AGwAEAAAAAAAAAAwAGwAEAAAAAAAAAAsAGwAEAAAAAAAAAAoAGwAEAAAAAAAAAAkAGwAEAAAAAAAAAAgAGwAEAAAAAAAAAAcAGwADAAEAAAAAAAYAGwAEAAAAAAAAAAUAGwAEAAAAAAAAAAQAGwAEAAAAAAAAAAMAGwAEAAAAAAAAAAIAGwAEAAAAAAAAAAEAGwAEAAAAAAAAAAAAGwAEAAAAAAABAAEAGwAEAAAAAAACAAIAGwAEAAAAAAAIAAcAGwABAAAAAAAHAAYAGwAEAAAAAAALAAoAGwAEAAAAAAAMAAsAGwABAAAAAAANAAwAGwADAAMAAAAOAA0AGwAEAAAAAAAPAA4AGwAEAAAAAAAQAA8AGwAEAAAAAAARAA8AGwAEAAAAAAASABAAGwAEAAAAAAASABEAGwAEAAAAAAATABEAGwAEAAAAAAATABIAGwACAAAAAAAUABIAGwAEAAAAAAAUABEAGwAEAAAAAAAVABEAGwAEAAAAAAAWABEAGwAEAAAAAAAWABAAGwACAAAAAAAWAA8AGwAEAAAAAAAWAA4AGwAEAAAAAAAWAA0AGwAEAAAAAAAWAAwAGwAEAAAAAAAWAAsAGwAEAAAAAAAWAAoAGwAEAAAAAAAWAAkAGwAEAAAAAAAWAAgAGwAEAAAAAAAWAAcAGwAEAAAAAAAWAAYAGwAEAAAAAAAWAAUAGwAEAAAAAAAWAAQAGwAEAAAAAAAWAAMAGwAEAAAAAAAWAAIAGwAEAAAAAAAVAAIAGwAEAAAAAAAVAAEAGwAEAAAAAAAVAAAAGwAEAAAAAAAUAAAAGwAEAAAAAAAUAAEAGwAEAAAAAAAUAAIAGwAEAAAAAAAUAAMAGwACAAAAAAAVAAMAGwAAAAEAAAAVAAQAGwAEAAAAAAAVAAUAGwAEAAAAAAAVAAYAGwAEAAAAAAAVAAcAGwAEAAAAAAAVAAgAGwAEAAAAAAAVAAkAGwAEAAAAAAAVAAoAGwAEAAAAAAAVAAsAGwACAAAAAAAVAAwAGwABAAAAAAAWABIAGwAEAAAAAAAVABIAGwAEAAAAAAAVABAAGwAEAAAAAAAVAA8AGwAEAAAAAAAVAA4AGwAEAAAAAAAVAA0AGwAEAAAAAAAUABAAGwAEAAAAAAAUAA8AGwAEAAAAAAAUAA4AGwAEAAAAAAAUAA0AGwAEAAAAAAAUAAwAGwAEAAAAAAAUAAsAGwAEAAAAAAAUAAoAGwAEAAAAAAAUAAkAGwAEAAAAAAAUAAgAGwAEAAAAAAAUAAcAGwAEAAAAAAAUAAYAGwABAAIAAAAUAAUAGwAEAAAAAAAUAAQAGwAEAAAAAAAWAAEAGwAAAAMAAAAWAAAAGwAEAAAAAAAJAAcAGwAEAAAAAAAKAAgAGwAEAAAAAAADAAIAGwAEAAAAAAAEAAMAGwAEAAAAAAAFAAQAGwAEAAAAAAAGAAUAGwAAAAIAAAALAAkAGwAEAAAAAAA=") +tile_set = ExtResource("1_bdmjt") + +[node name="Walls" type="TileMapLayer" parent="."] +tile_map_data = PackedByteArray("AAAGAAUABAABAAQAAAAGAAYABAABAAUAAAAGAAcABAAFAAUAAAAHAAcABAACAAUAAAAHAAgABAACAAUAAAAIAAgABAACAAUAAAAJAAgABAADAAUAAAAJAAkABAADAAYAAAAIAAkABAACAAYAAAAHAAkABAACAAYAAAAGAAkABAABAAYAAAAGAAgABAAFAAQAAAAHAAUABAACAAQAAAAHAAYABAACAAUAAAAIAAYABAACAAUAAAAIAAcABAACAAUAAAAIAAUABAAFAAUAAAANAAYABAABAAQAAAAOAAYABAACAAQAAAAPAAYABAACAAQAAAAQAAYABAADAAQAAAANAAcABAABAAUAAAAOAAcABAACAAUAAAAPAAcABAACAAUAAAAQAAcABAADAAUAAAANAAgABAABAAUAAAAOAAgABAACAAUAAAAPAAgABAACAAUAAAAQAAgABAADAAUAAAAQAAkABAADAAYAAAAPAAkABAACAAYAAAAOAAkABAACAAYAAAANAAkABAABAAYAAAAMAAsABAACAAQAAAANAAsABAACAAQAAAAOAAsABAADAAQAAAAOAAwABAADAAYAAAANAAwABAACAAYAAAAMAAwABAACAAYAAAALAAwABAABAAYAAAALAAsABAABAAQAAAAJAAYABAAEAAQAAAAJAAcABAADAAUAAAAJAAUABAAEAAUAAAAKAAUABAACAAQAAAALAAUABAADAAQAAAALAAYABAADAAYAAAAKAAYABAACAAYAAAAEAAcABAAEAAUAAAAEAAgABAACAAYAAAAFAAgABAACAAYAAAAFAAcABAACAAQAAAAEAAYABAADAAUAAAADAAYABAAFAAQAAAADAAcABAABAAUAAAADAAgABAABAAYAAAADAAUABAACAAQAAAAEAAUABAADAAQAAAACAAUABAACAAQAAAABAAUABAACAAQAAAABAAYABAAEAAQAAAACAAYABAACAAYAAAABAAcABAADAAUAAAABAAgABAADAAYAAAAAAAgABAABAAYAAAAAAAcABAABAAUAAAAAAAYABAABAAUAAAAAAAUABAABAAQAAAAJAAQABAADAAUAAAAJAAMABAADAAQAAAAIAAMABAABAAQAAAAIAAQABAABAAUAAAACAAMABAABAAcAAAADAAMABAACAAcAAAAEAAMABAACAAcAAAAFAAMABAACAAcAAAAGAAMABAADAAcAAAAOAAIABAAAAAQAAAAOAAMABAAAAAUAAAAOAAQABAAAAAYAAAARAAMABAAAAAcAAAADAAsABAABAAQAAAAEAAsABAADAAQAAAADAAwABAABAAYAAAAEAAwABAAFAAYAAAAFAA0ABAADAAYAAAAFAAwABAADAAQAAAAEAA0ABAABAAYAAAA=") +tile_set = ExtResource("1_bdmjt") + +[node name="Camera2D" type="Camera2D" parent="."] +position = Vector2(98, 86) diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..452c276 --- /dev/null +++ b/project.godot @@ -0,0 +1,32 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="Randomgeon" +run/main_scene="uid://fqdbtka7hqn" +config/features=PackedStringArray("4.4", "Forward Plus") + +[autoload] + +CoordUtil="*res://utility/CoordUtility.gd" + +[display] + +window/size/viewport_width=800 +window/size/viewport_height=600 +window/size/resizable=false +window/stretch/mode="viewport" +window/stretch/scale=2.0 +window/stretch/scale_mode="integer" + +[editor_plugins] + +enabled=PackedStringArray("res://addons/log/plugin.cfg") diff --git a/utility/CoordUtility.gd b/utility/CoordUtility.gd new file mode 100644 index 0000000..85bf36e --- /dev/null +++ b/utility/CoordUtility.gd @@ -0,0 +1,80 @@ +extends Node + +func _ready() -> void: + Log.pr("CoordUtility ready") + + +func all_cells(start : Vector2i, end : Vector2i) -> Array: + # Returns all cells between start and end + var cells = [] + + for y in range(start.y, end.y + 1): + for x in range(start.x, end.x + 1): + cells.append(Vector2i(x, y)) + + cells.sort() + + return cells + +## Return all the perimeter cells between vector2i points +func perimeter_cells(start: Vector2i, end: Vector2i, inclusive: bool = true, width: int = 1) -> Array[Vector2i]: + # Returns cells on the perimeter between start and end + # inclusive: if true, includes the area cells, if false, excludes them + # width: the thickness of the perimeter (default: 1) + + var cells: Array[Vector2i] = [] + var min_x: int = min(start.x, end.x) + var max_x: int = max(start.x, end.x) + var min_y: int = min(start.y, end.y) + var max_y: int = max(start.y, end.y) + + # Calculate the inner and outer bounds based on inclusive flag and width + var inner_min_x: int + var inner_min_y: int + var inner_max_x: int + var inner_max_y: int + var outer_min_x: int + var outer_min_y: int + var outer_max_x: int + var outer_max_y: int + + if inclusive: + # For inclusive, inner bounds are the original rectangle + inner_min_x = min_x + inner_min_y = min_y + inner_max_x = max_x + inner_max_y = max_y + + # Outer bounds expand by width-1 in each direction + outer_min_x = min_x - (width - 1) + outer_min_y = min_y - (width - 1) + outer_max_x = max_x + (width - 1) + outer_max_y = max_y + (width - 1) + else: + # For exclusive, inner bounds are the original rectangle + inner_min_x = min_x + inner_min_y = min_y + inner_max_x = max_x + inner_max_y = max_y + + # For exclusive, outer bounds expand by exact width + outer_min_x = min_x - width + outer_min_y = min_y - width + outer_max_x = max_x + width + outer_max_y = max_y + width + + # Add all cells in the outer rectangle + for x in range(outer_min_x, outer_max_x + 1): + for y in range(outer_min_y, outer_max_y + 1): + var pos: Vector2i = Vector2i(x, y) + + # For inclusive, include cells on or outside inner bounds + # For exclusive, only include cells that are outside inner bounds + if inclusive: + if x <= inner_min_x or x >= inner_max_x or y <= inner_min_y or y >= inner_max_y: + cells.append(pos) + else: + if x < inner_min_x or x > inner_max_x or y < inner_min_y or y > inner_max_y: + cells.append(pos) + + return cells \ No newline at end of file diff --git a/utility/CoordUtility.gd.uid b/utility/CoordUtility.gd.uid new file mode 100644 index 0000000..789b871 --- /dev/null +++ b/utility/CoordUtility.gd.uid @@ -0,0 +1 @@ +uid://bibtt7bkydo1b

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�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