From 04f0e5231cf15952e6a0184b8c33bfbf0cfca586 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Tue, 20 Jan 2026 10:24:41 +0100 Subject: [PATCH 01/60] Update RT to 271.0.0 (#42533) --- RobustToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RobustToolbox b/RobustToolbox index 68f8d00931..65ed19fa4e 160000 --- a/RobustToolbox +++ b/RobustToolbox @@ -1 +1 @@ -Subproject commit 68f8d00931d6b14f3e592d50c47dd44ef09eed1f +Subproject commit 65ed19fa4ebf1c4b4ddb2c8c491655f239c3e348 From 7f7f3b6ef105cfff28265c0e51e651d618dcb006 Mon Sep 17 00:00:00 2001 From: B_Kirill <153602297+B-Kirill@users.noreply.github.com> Date: Tue, 20 Jan 2026 21:59:58 +1000 Subject: [PATCH 02/60] Fix MagicMirror UI (#42544) --- Content.Client/MagicMirror/MagicMirrorBoundUserInterface.cs | 3 +++ Content.Client/MagicMirror/MagicMirrorWindow.xaml | 1 - Content.Shared/MagicMirror/MagicMirrorSystem.cs | 3 +++ .../character-appearance/components/magic-mirror-component.ftl | 1 - 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Content.Client/MagicMirror/MagicMirrorBoundUserInterface.cs b/Content.Client/MagicMirror/MagicMirrorBoundUserInterface.cs index ec247da1ac..4344926e85 100644 --- a/Content.Client/MagicMirror/MagicMirrorBoundUserInterface.cs +++ b/Content.Client/MagicMirror/MagicMirrorBoundUserInterface.cs @@ -20,6 +20,9 @@ public sealed class MagicMirrorBoundUserInterface : BoundUserInterface base.Open(); _window = this.CreateWindow(); + + _window.Title = EntMan.GetComponent(Owner).EntityName; + _window.MarkingsPicker.SetModel(_markingsModel); _markingsModel.MarkingsChanged += (_, _) => diff --git a/Content.Client/MagicMirror/MagicMirrorWindow.xaml b/Content.Client/MagicMirror/MagicMirrorWindow.xaml index a09b674508..3de0aecef3 100644 --- a/Content.Client/MagicMirror/MagicMirrorWindow.xaml +++ b/Content.Client/MagicMirror/MagicMirrorWindow.xaml @@ -1,6 +1,5 @@ diff --git a/Content.Shared/MagicMirror/MagicMirrorSystem.cs b/Content.Shared/MagicMirror/MagicMirrorSystem.cs index 65a4d11079..ca7609c97d 100644 --- a/Content.Shared/MagicMirror/MagicMirrorSystem.cs +++ b/Content.Shared/MagicMirror/MagicMirrorSystem.cs @@ -142,6 +142,9 @@ public sealed class MagicMirrorSystem : EntitySystem if (!args.CanReach || args.Target == null) return; + if (!HasComp(args.Target.Value)) + return; + UpdateInterface(mirror, args.Target.Value); _userInterface.TryOpenUi(mirror.Owner, MagicMirrorUiKey.Key, args.User); } diff --git a/Resources/Locale/en-US/character-appearance/components/magic-mirror-component.ftl b/Resources/Locale/en-US/character-appearance/components/magic-mirror-component.ftl index 1b22fbf828..ec2289cb90 100644 --- a/Resources/Locale/en-US/character-appearance/components/magic-mirror-component.ftl +++ b/Resources/Locale/en-US/character-appearance/components/magic-mirror-component.ftl @@ -1,6 +1,5 @@ magic-mirror-component-activate-user-has-no-hair = You can't have any hair! -magic-mirror-window-title = Magic Mirror magic-mirror-add-slot-self = You're giving yourself some hair. magic-mirror-remove-slot-self = You're removing some of your hair. magic-mirror-change-slot-self = You're changing your hairstyle. From 40f5f31a8e6dd0e690446205ca4d717f3659de92 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 20 Jan 2026 12:16:46 +0000 Subject: [PATCH 03/60] Automatic changelog update --- Resources/Changelog/Changelog.yml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index f8810b9580..19d921f291 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: VoidMeticulous - changes: - - message: Scurret petting rate lowered to once per 2.25 seconds - type: Tweak - id: 8923 - time: '2025-09-04T15:41:45.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/40097 - author: Quantum-cross changes: - message: The anomaly scanner has received an upgrade, showing some information @@ -3953,3 +3946,14 @@ id: 9429 time: '2026-01-20T08:03:06.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/42539 +- author: B_Kirill + changes: + - message: Hair styling tools, such as mirrors and scissors, now use their own names + as UI window titles. + type: Tweak + - message: Hair styling tools, such as mirrors and scissors, no longer attempt to + open UI on non-humanoids. + type: Fix + id: 9430 + time: '2026-01-20T12:15:37.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/42544 From b86b6e0ff019a74b61dd477a78edb5a72a4318e8 Mon Sep 17 00:00:00 2001 From: InsoPL Date: Tue, 20 Jan 2026 16:46:49 +0100 Subject: [PATCH 04/60] Examination verb for insuls (#42444) * feat * only clothing * fix * Revert "fix" This reverts commit 858c3f882718cd003391e0fde6b2711b31e6ab54. * fix * reversal * removed double namespace --- .../Electrocution/InsulatedSystem.cs | 33 +++++++++++++++++++ .../components/insulated-component.ftl | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 Content.Shared/Electrocution/InsulatedSystem.cs create mode 100644 Resources/Locale/en-US/clothing/components/insulated-component.ftl diff --git a/Content.Shared/Electrocution/InsulatedSystem.cs b/Content.Shared/Electrocution/InsulatedSystem.cs new file mode 100644 index 0000000000..7cd4913f7d --- /dev/null +++ b/Content.Shared/Electrocution/InsulatedSystem.cs @@ -0,0 +1,33 @@ +using Content.Shared.Clothing.Components; +using Content.Shared.Examine; +using Content.Shared.Verbs; + +namespace Content.Shared.Electrocution; + +public sealed class InsulatedSystem : EntitySystem +{ + [Dependency] private readonly ExamineSystemShared _examine = default!; + + /// + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent>(OnDetailedExamine); + } + + private void OnDetailedExamine(EntityUid ent, InsulatedComponent component, ref GetVerbsEvent args) + { + if (!HasComp(ent)) + return; + + var iconTexture = "/Textures/Interface/VerbIcons/zap.svg.192dpi.png"; + + _examine.AddHoverExamineVerb(args, + component, + Loc.GetString("identity-block-examinable-verb-text"), + Loc.GetString("identity-block-examinable-verb-text-message"), + iconTexture + ); + } +} diff --git a/Resources/Locale/en-US/clothing/components/insulated-component.ftl b/Resources/Locale/en-US/clothing/components/insulated-component.ftl new file mode 100644 index 0000000000..30c7e98a52 --- /dev/null +++ b/Resources/Locale/en-US/clothing/components/insulated-component.ftl @@ -0,0 +1,2 @@ +identity-block-examinable-verb-text = Insulatated +identity-block-examinable-verb-text-message = This item appears to be electrically insulated. It should protect the wearer from shocks. From 93247d961c6acdbd7ef17b711ed99f63be00cc64 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 20 Jan 2026 16:04:01 +0000 Subject: [PATCH 05/60] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 19d921f291..9264b412fe 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: Quantum-cross - changes: - - message: The anomaly scanner has received an upgrade, showing some information - without opening the UI. - type: Add - id: 8924 - time: '2025-09-04T19:11:04.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/37585 - author: whatston3 changes: - message: Lathe UIs are now way smoother when printing mass amounts of fast-printing @@ -3957,3 +3949,10 @@ id: 9430 time: '2026-01-20T12:15:37.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/42544 +- author: insoPL + changes: + - message: Added icon indicating if the gloves are insulated or not. + type: Add + id: 9431 + time: '2026-01-20T16:02:53.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/42444 From 33df83508c424c9efe05cc59712a2650e7a70a00 Mon Sep 17 00:00:00 2001 From: pathetic meowmeow Date: Tue, 20 Jan 2026 12:28:53 -0500 Subject: [PATCH 06/60] Add sowelipililimute as codeowner for body and humanoid (#42549) --- .github/CODEOWNERS | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 46dde7ecf2..f32c3de5f9 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -11,11 +11,13 @@ /Resources/Prototypes/Maps/** @Emisse @ArtisticRoomba @spanky-spanky /Resources/Maps/** @Emisse @ArtisticRoomba @spanky-spanky -/Resources/Prototypes/Body/ @DrSmugleaf # suffering +/Resources/Prototypes/Body/ @DrSmugleaf @sowelipililimute # suffering /Resources/Prototypes/Entities/Mobs/Player/ @DrSmugleaf /Resources/Prototypes/Entities/Mobs/Species/ @DrSmugleaf /Resources/Prototypes/Guidebook/rules.yml @crazybrain23 -/Content.*/Body/ @DrSmugleaf +/Content.*/Body/ @DrSmugleaf @sowelipililimute +/Content.*/Humanoid/ @sowelipililimute +/Content.Client/Lobby/UI/Humanoid* @sowelipililimute /Content.YAMLLinter @DrSmugleaf /Content.Shared/Damage/ @DrSmugleaf From b105944b3f164cbcebb96849cebc2fdae7c1275d Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Tue, 20 Jan 2026 19:56:49 +0100 Subject: [PATCH 07/60] Update RT to 271.1.0 (#42551) --- RobustToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RobustToolbox b/RobustToolbox index 65ed19fa4e..40b10f0dcc 160000 --- a/RobustToolbox +++ b/RobustToolbox @@ -1 +1 @@ -Subproject commit 65ed19fa4ebf1c4b4ddb2c8c491655f239c3e348 +Subproject commit 40b10f0dccfe568ccd7dc3c6f6ee87a63bad97ee From efb6c68ac802aff55cd5c591bb9deadf98e7abb3 Mon Sep 17 00:00:00 2001 From: pathetic meowmeow Date: Tue, 20 Jan 2026 14:13:51 -0500 Subject: [PATCH 08/60] Fix humanoid profile voice being broken (#42550) Fix humanoid appearance voice being broken --- .../Tests/Humanoid/HumanoidProfileTests.cs | 49 +++++++++++++++++++ .../Humanoid/HumanoidProfileSystem.cs | 3 ++ Content.Shared/Humanoid/Sex.cs | 1 + 3 files changed, 53 insertions(+) create mode 100644 Content.IntegrationTests/Tests/Humanoid/HumanoidProfileTests.cs diff --git a/Content.IntegrationTests/Tests/Humanoid/HumanoidProfileTests.cs b/Content.IntegrationTests/Tests/Humanoid/HumanoidProfileTests.cs new file mode 100644 index 0000000000..1e4a094b79 --- /dev/null +++ b/Content.IntegrationTests/Tests/Humanoid/HumanoidProfileTests.cs @@ -0,0 +1,49 @@ +using Content.Shared.Humanoid; +using Content.Shared.Humanoid.Prototypes; +using Content.Shared.Preferences; +using Content.Shared.Speech.Components; +using Robust.Shared.Enums; +using Robust.Shared.GameObjects; +using Robust.Shared.Prototypes; + +namespace Content.IntegrationTests.Tests.Humanoid; + +[TestFixture] +[TestOf(typeof(HumanoidProfileSystem))] +public sealed class HumanoidProfileTests +{ + private static readonly ProtoId Vox = "Vox"; + + [Test] + public async Task EnsureValidLoading() + { + await using var pair = await PoolManager.GetServerClient(); + var server = pair.Server; + + await server.WaitIdleAsync(); + + await server.WaitAssertion(() => + { + var entityManager = server.ResolveDependency(); + var humanoidProfile = entityManager.System(); + var human = entityManager.Spawn("MobHuman"); + humanoidProfile.ApplyProfileTo(human, new HumanoidCharacterProfile() + .WithSex(Sex.Female) + .WithAge(67) + .WithGender(Gender.Neuter) + .WithSpecies(Vox)); + var humanoidComponent = entityManager.GetComponent(human); + var voiceComponent = entityManager.GetComponent(human); + + Assert.That(humanoidComponent.Age, Is.EqualTo(67)); + Assert.That(humanoidComponent.Sex, Is.EqualTo(Sex.Female)); + Assert.That(humanoidComponent.Gender, Is.EqualTo(Gender.Neuter)); + Assert.That(humanoidComponent.Species, Is.EqualTo(Vox)); + + Assert.That(voiceComponent.Sounds, Is.Not.Null, message: "the MobHuman spawned by this test needs to have sex-specific sound set"); + Assert.That(voiceComponent.Sounds![Sex.Female], Is.EqualTo(voiceComponent.EmoteSounds)); + }); + + await pair.CleanReturnAsync(); + } +} diff --git a/Content.Shared/Humanoid/HumanoidProfileSystem.cs b/Content.Shared/Humanoid/HumanoidProfileSystem.cs index 881fd6378a..bc4f64d72a 100644 --- a/Content.Shared/Humanoid/HumanoidProfileSystem.cs +++ b/Content.Shared/Humanoid/HumanoidProfileSystem.cs @@ -30,6 +30,9 @@ public sealed class HumanoidProfileSystem : EntitySystem ent.Comp.Sex = profile.Sex; Dirty(ent); + var sexChanged = new SexChangedEvent(ent.Comp.Sex, profile.Sex); + RaiseLocalEvent(ent, ref sexChanged); + if (TryComp(ent, out var grammar)) { _grammar.SetGender((ent, grammar), profile.Gender); diff --git a/Content.Shared/Humanoid/Sex.cs b/Content.Shared/Humanoid/Sex.cs index ddb8cca036..f388ba9833 100644 --- a/Content.Shared/Humanoid/Sex.cs +++ b/Content.Shared/Humanoid/Sex.cs @@ -17,5 +17,6 @@ namespace Content.Shared.Humanoid /// Raised when entity has changed their sex. /// This doesn't handle gender changes. /// + [ByRefEvent] public record struct SexChangedEvent(Sex OldSex, Sex NewSex); } From 6c2ca3ce7360f9ec370c16eaf570afe41da98ba6 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 20 Jan 2026 19:31:01 +0000 Subject: [PATCH 09/60] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 9264b412fe..e2d5eb825a 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: whatston3 - changes: - - message: Lathe UIs are now way smoother when printing mass amounts of fast-printing - items. - type: Fix - id: 8925 - time: '2025-09-04T19:37:15.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/39886 - author: Princess-Cheeseballs changes: - message: You can no longer crawl under counters, or tables without space underneath. @@ -3956,3 +3948,10 @@ id: 9431 time: '2026-01-20T16:02:53.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/42444 +- author: sowelipililimute + changes: + - message: Voice emotes are now correct for your character's sex + type: Fix + id: 9432 + time: '2026-01-20T19:29:53.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/42550 From c9bb2ddf7cd7bb49bf969ab29853be35329bfbe8 Mon Sep 17 00:00:00 2001 From: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com> Date: Tue, 20 Jan 2026 11:19:40 -0800 Subject: [PATCH 10/60] Fix Changelog (#42552) whoops Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com> --- Resources/Changelog/Changelog.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index e2d5eb825a..1b821e4ff1 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -3888,7 +3888,7 @@ changes: - message: Longarms in the uplink are cheaper but don't come with extra ammo. type: Tweak - - message: Syndicate knuckle dusters are now 2 TC + - message: Syndicate knuckle dusters are now 4 TC type: Tweak - message: Shotgun slugs in the uplink are now 2 TC type: Tweak From 59e10d2854116888f3b0e60b105aeb3e47f77eb3 Mon Sep 17 00:00:00 2001 From: Velken <8467292+Velken@users.noreply.github.com> Date: Tue, 20 Jan 2026 17:35:47 -0300 Subject: [PATCH 11/60] Tile Stacking - attempt 2 (#42543) * WORK IN PROGRESS 1 * ITS ALIVE, ALIVE!!!! * clean up * WIP 1 * fix small oversight * big diff of doom * added CVAR to tile history stack size * component time * filescoped namespaces + remove redundant nametag * fix silly little mistakes * typo * TileStacksTest * bweeeeeeh :P * nuke cvar * :3 * WIP2025 * Fix submodule * It's beginning to look a lot like Christmas * It's the Most Wonderful Time of the Year * tiny fix * fixed extra spacing on yaml * slightly improve tilestacking test * Part 1 out of 2 (part 2 tomorrow) * Part 2 * add a simple tile construction test for tilestacking * guh * address reviews (no documentation yet) * documentation be upon ye * remove extra spaces * prediction fix * dirt * oops :p * attempt to make this suck less * am never doing a PR that touches explosion system ever again * small fix * maybe a bit better now? * more cleanup * one last cleanup for me --------- Co-authored-by: Killerqu00 Co-authored-by: Killerqu00 <47712032+Killerqu00@users.noreply.github.com> Co-authored-by: ScarKy0 Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com> --- .../Tests/Construction/RCDTest.cs | 2 +- .../Interaction/InteractionTest.Constants.cs | 1 + .../Tests/Tiles/TileConstructionTests.cs | 21 + .../Tests/Tiles/TileStackRecursionTest.cs | 66 ++ .../ExplosionSystem.Processing.cs | 100 ++- .../EntitySystems/ExplosionSystem.cs | 8 +- Content.Server/Maps/TileGridSplitSystem.cs | 74 ++ Content.Shared/CCVar/CCVars.Game.cs | 9 + Content.Shared/Maps/ContentTileDefinition.cs | 9 +- Content.Shared/Maps/TileHistoryComponent.cs | 125 ++++ Content.Shared/Maps/TileSystem.cs | 195 ++++- Content.Shared/RCD/Systems/RCDSystem.cs | 8 +- Content.Shared/Tiles/FloorTileSystem.cs | 29 +- Resources/Prototypes/Tiles/floors.yml | 673 ++++-------------- Resources/Prototypes/Tiles/planet.yml | 53 +- Resources/Prototypes/Tiles/plating.yml | 56 +- 16 files changed, 790 insertions(+), 639 deletions(-) create mode 100644 Content.IntegrationTests/Tests/Tiles/TileStackRecursionTest.cs create mode 100644 Content.Server/Maps/TileGridSplitSystem.cs create mode 100644 Content.Shared/Maps/TileHistoryComponent.cs diff --git a/Content.IntegrationTests/Tests/Construction/RCDTest.cs b/Content.IntegrationTests/Tests/Construction/RCDTest.cs index 814f7e89aa..f20a0cb434 100644 --- a/Content.IntegrationTests/Tests/Construction/RCDTest.cs +++ b/Content.IntegrationTests/Tests/Construction/RCDTest.cs @@ -194,7 +194,7 @@ public sealed class RCDTest : InteractionTest // Deconstruct the steel tile. await Interact(null, pEast); await RunSeconds(settingDeconstructTile.Delay + 1); // wait for the deconstruction to finish - await AssertTile(Lattice, FromServer(pEast)); + await AssertTile(Plating, FromServer(pEast)); // Check that the cost of the deconstruction was subtracted from the current charges. newCharges = sCharges.GetCurrentCharges(ToServer(rcd)); diff --git a/Content.IntegrationTests/Tests/Interaction/InteractionTest.Constants.cs b/Content.IntegrationTests/Tests/Interaction/InteractionTest.Constants.cs index 8917ba7ead..3cfb5a5dba 100644 --- a/Content.IntegrationTests/Tests/Interaction/InteractionTest.Constants.cs +++ b/Content.IntegrationTests/Tests/Interaction/InteractionTest.Constants.cs @@ -12,6 +12,7 @@ public abstract partial class InteractionTest protected const string FloorItem = "FloorTileItemSteel"; protected const string Plating = "Plating"; protected const string Lattice = "Lattice"; + protected const string PlatingBrass = "PlatingBrass"; // Structures protected const string Airlock = "Airlock"; diff --git a/Content.IntegrationTests/Tests/Tiles/TileConstructionTests.cs b/Content.IntegrationTests/Tests/Tiles/TileConstructionTests.cs index 0827e11b70..64c4c291fe 100644 --- a/Content.IntegrationTests/Tests/Tiles/TileConstructionTests.cs +++ b/Content.IntegrationTests/Tests/Tiles/TileConstructionTests.cs @@ -100,4 +100,25 @@ public sealed class TileConstructionTests : InteractionTest await AssertEntityLookup((FloorItem, 1)); } + + /// + /// Test brassPlating -> floor -> brassPlating using tilestacking + /// + [Test] + public async Task BrassPlatingPlace() + { + await SetTile(PlatingBrass); + + // Brass Plating -> Tile + await InteractUsing(FloorItem); + Assert.That(HandSys.GetActiveItem((SEntMan.GetEntity(Player), Hands)), Is.Null); + await AssertTile(Floor); + AssertGridCount(1); + + // Tile -> Brass Plating + await InteractUsing(Pry); + await AssertTile(PlatingBrass); + AssertGridCount(1); + await AssertEntityLookup((FloorItem, 1)); + } } diff --git a/Content.IntegrationTests/Tests/Tiles/TileStackRecursionTest.cs b/Content.IntegrationTests/Tests/Tiles/TileStackRecursionTest.cs new file mode 100644 index 0000000000..52c5b03265 --- /dev/null +++ b/Content.IntegrationTests/Tests/Tiles/TileStackRecursionTest.cs @@ -0,0 +1,66 @@ +using System.Collections.Generic; +using System.Linq; +using Content.Shared.CCVar; +using Content.Shared.Maps; +using Robust.Shared.Configuration; +using Robust.Shared.Prototypes; + +namespace Content.IntegrationTests.Tests.Tiles; + +public sealed class TileStackRecursionTest +{ + [Test] + public async Task TestBaseTurfRecursion() + { + await using var pair = await PoolManager.GetServerClient(); + var protoMan = pair.Server.ResolveDependency(); + var cfg = pair.Server.ResolveDependency(); + var maxTileHistoryLength = cfg.GetCVar(CCVars.TileStackLimit); + Assert.That(protoMan.TryGetInstances(out var tiles)); + Assert.That(tiles, Is.Not.EqualTo(null)); + //store the distance from the root node to the given tile node + var nodes = new List<(ProtoId, int)>(); + //each element of list is a connection from BaseTurf tile to tile that goes on it + var edges = new List<(ProtoId, ProtoId)>(); + foreach (var ctdef in tiles!.Values) + { + //at first, each node is unexplored and has infinite distance to root. + //we use space node as root - everything is supposed to start at space, and it's hardcoded into the game anyway. + if (ctdef.ID == ContentTileDefinition.SpaceID) + { + nodes.Insert(0, (ctdef.ID, 0)); //space is the first element + continue; + } + Assert.That(ctdef.BaseTurf != ctdef.ID); + nodes.Add((ctdef.ID, int.MaxValue)); + if (ctdef.BaseTurf != null) + edges.Add((ctdef.BaseTurf.Value, ctdef.ID)); + Assert.That(ctdef.BaseWhitelist, Does.Not.Contain(ctdef.ID)); + edges.AddRange(ctdef.BaseWhitelist.Select(possibleTurf => + (possibleTurf, new ProtoId(ctdef.ID)))); + } + Bfs(nodes, edges, maxTileHistoryLength); + await pair.CleanReturnAsync(); + } + + private void Bfs(List<(ProtoId, int)> nodes, List<(ProtoId, ProtoId)> edges, int depthLimit) + { + var root = nodes[0]; + var queue = new Queue<(ProtoId, int)>(); + queue.Enqueue(root); + while (queue.Count != 0) + { + var u = queue.Dequeue(); + //get a list of tiles that can be put on this tile + var adj = edges.Where(n => n.Item1 == u.Item1).Select(n => n.Item2); + var adjNodes = nodes.Where(n => adj.Contains(n.Item1)).ToList(); + foreach (var node in adjNodes) + { + var adjNode = node; + adjNode.Item2 = u.Item2 + 1; + Assert.That(adjNode.Item2, Is.LessThanOrEqualTo(depthLimit)); //we can doomstack tiles on top of each other. Bad! + queue.Enqueue(adjNode); + } + } + } +} diff --git a/Content.Server/Explosion/EntitySystems/ExplosionSystem.Processing.cs b/Content.Server/Explosion/EntitySystems/ExplosionSystem.Processing.cs index 2cec8d707a..5f83288009 100644 --- a/Content.Server/Explosion/EntitySystems/ExplosionSystem.Processing.cs +++ b/Content.Server/Explosion/EntitySystems/ExplosionSystem.Processing.cs @@ -17,6 +17,8 @@ using Robust.Shared.Random; using Robust.Shared.Timing; using Robust.Shared.Utility; using System.Numerics; +using Content.Shared.Damage.Systems; +using Robust.Shared.Prototypes; using TimedDespawnComponent = Robust.Shared.Spawners.TimedDespawnComponent; namespace Content.Server.Explosion.EntitySystems; @@ -506,10 +508,11 @@ public sealed partial class ExplosionSystem int maxTileBreak, bool canCreateVacuum, List<(Vector2i GridIndices, Tile Tile)> damagedTiles, - ExplosionPrototype type) + ExplosionPrototype type, + TileHistoryComponent? history, + ref (TileHistoryChunk? Chunk, Vector2i Indices)? chunk) { - if (_tileDefinitionManager[tileRef.Tile.TypeId] is not ContentTileDefinition tileDef - || tileDef.Indestructible) + if (_tileDefinitionManager[tileRef.Tile.TypeId] is not ContentTileDefinition tileDef || tileDef.Indestructible) return; if (!CanCreateVacuum) @@ -517,18 +520,17 @@ public sealed partial class ExplosionSystem else if (tileDef.MapAtmosphere) canCreateVacuum = true; // is already a vacuum. + // break the tile into its underlying parts int tileBreakages = 0; while (maxTileBreak > tileBreakages && _robustRandom.Prob(type.TileBreakChance(effectiveIntensity))) { tileBreakages++; effectiveIntensity -= type.TileBreakRerollReduction; - // does this have a base-turf that we can break it down to? - if (string.IsNullOrEmpty(tileDef.BaseTurf)) + if (GetNextTile((tileDef, tileRef.GridIndices), history, ref chunk) is not { } newId) break; - if (_tileDefinitionManager[tileDef.BaseTurf] is not ContentTileDefinition newDef) - break; + var newDef = (ContentTileDefinition) _tileDefinitionManager[newId]; if (newDef.MapAtmosphere && !canCreateVacuum) break; @@ -541,6 +543,44 @@ public sealed partial class ExplosionSystem damagedTiles.Add((tileRef.GridIndices, new Tile(tileDef.TileId))); } + + private ProtoId? GetNextTile((ContentTileDefinition tileDef, Vector2i gridIndices) tile, + TileHistoryComponent? history, + ref (TileHistoryChunk? Chunk, Vector2i Indices)? chunk) + { + if (chunk?.Chunk == null || !chunk.Value.Chunk.History.TryGetValue(tile.gridIndices, out var stack)) + return tile.tileDef.BaseTurf; // No tile stack means we return BaseTurf if it exists! + + // last entry in the stack + if (stack.Count > 1) + { + var newId = stack[^1]; + stack.RemoveAt(stack.Count - 1); + chunk.Value.Chunk.LastModified = _timing.CurTick; + return newId; + } + + chunk.Value.Chunk.History.Remove(tile.gridIndices); + if (chunk.Value.Chunk.History.Count == 0) + { + history?.ChunkHistory.Remove(chunk.Value.Indices); + chunk = null; + } + else + { + chunk.Value.Chunk.LastModified = _timing.CurTick; + } + + return stack[0]; // If the stack is somehow empty, this will throw, but we will have at least removed it from dict first! + } + + public void DirtyHistory(EntityUid grid) + { + if (!_tileHistoryQuery.TryComp(grid, out var history)) + return; + + Dirty(grid, history); + } } /// @@ -573,11 +613,14 @@ sealed class Explosion /// /// The actual grid that this corresponds to. If null, this implies space. /// - public Entity? MapGrid; + public Entity? MapGrid; } private readonly List _explosionData = new(); + private Entity? _currentGrid; + private (TileHistoryChunk? Chunk, Vector2i Indices)? _currentChunk; + /// /// The explosion intensity associated with each tile iteration. /// @@ -625,7 +668,6 @@ sealed class Explosion private DamageSpecifier? _expectedDamage; #endif private Entity _currentLookup = default!; - private Entity? _currentGrid; private float _currentIntensity; private float _currentThrowForce; private List.Enumerator _currentEnumerator; @@ -691,7 +733,8 @@ sealed class Explosion EntityUid visualEnt, EntityUid? cause, SharedMapSystem mapSystem, - Shared.Damage.Systems.DamageableSystem damageable) + DamageableSystem damageable, + EntityQuery historyQuery) { VisualEnt = visualEnt; Cause = cause; @@ -722,7 +765,7 @@ sealed class Explosion { TileLists = spaceData.TileLists, Lookup = (mapUid, entMan.GetComponent(mapUid)), - MapGrid = null + MapGrid = null, }); _spaceMatrix = spaceMatrix; @@ -731,11 +774,12 @@ sealed class Explosion foreach (var grid in gridData) { + var history = historyQuery.CompOrNull(grid.Grid); _explosionData.Add(new ExplosionData { TileLists = grid.TileLists, Lookup = (grid.Grid, entMan.GetComponent(grid.Grid)), - MapGrid = grid.Grid, + MapGrid = (grid.Grid, entMan.GetComponent(grid.Grid), history), }); } @@ -784,10 +828,11 @@ sealed class Explosion _currentEnumerator = tileList.GetEnumerator(); _currentLookup = _explosionData[_currentDataIndex].Lookup; _currentGrid = _explosionData[_currentDataIndex].MapGrid; + _currentChunk = null; _currentDataIndex++; // sanity checks, in case something changed while the explosion was being processed over several ticks. - if (_currentLookup.Comp.Deleted || _currentGrid != null && !_entMan.EntityExists(_currentGrid.Value)) + if (_currentLookup.Comp.Deleted || (_currentGrid is { } grid && !_entMan.EntityExists(grid.Owner))) continue; return true; @@ -843,19 +888,19 @@ sealed class Explosion // Is the current tile on a grid (instead of in space)? if (_currentGrid is { } currentGrid && - _mapSystem.TryGetTileRef(currentGrid, currentGrid.Comp, _currentEnumerator.Current, out var tileRef) && + _mapSystem.TryGetTileRef(currentGrid.Owner, currentGrid.Comp1, _currentEnumerator.Current, out var tileRef) && !tileRef.Tile.IsEmpty) { - if (!_tileUpdateDict.TryGetValue(currentGrid, out var tileUpdateList)) + if (!_tileUpdateDict.TryGetValue((currentGrid.Owner, currentGrid.Comp1), out var tileUpdateList)) { tileUpdateList = new(); - _tileUpdateDict[currentGrid] = tileUpdateList; + _tileUpdateDict[(currentGrid.Owner, currentGrid.Comp1)] = tileUpdateList; } // damage entities on the tile. Also figures out whether there are any solid entities blocking the floor // from being destroyed. var canDamageFloor = _system.ExplodeTile(_currentLookup, - currentGrid, + (currentGrid.Owner, currentGrid.Comp1), _currentEnumerator.Current, _currentThrowForce, _currentDamage, @@ -869,7 +914,24 @@ sealed class Explosion // If the floor is not blocked by some dense object, damage the floor tiles. if (canDamageFloor) - _system.DamageFloorTile(tileRef, _currentIntensity * _tileBreakScale, _maxTileBreak, _canCreateVacuum, tileUpdateList, ExplosionType); + { + var tileIndices = _currentEnumerator.Current; + var chunkIndices = SharedMapSystem.GetChunkIndices(tileIndices, TileSystem.ChunkSize); + if (_currentChunk?.Indices != chunkIndices) + { + var chunk = currentGrid.Comp2?.ChunkHistory.GetValueOrDefault(chunkIndices); + _currentChunk = (chunk, chunkIndices); + } + + _system.DamageFloorTile(tileRef, + _currentIntensity * _tileBreakScale, + _maxTileBreak, + _canCreateVacuum, + tileUpdateList, + ExplosionType, + currentGrid.Comp2, + ref _currentChunk); + } } else { @@ -909,6 +971,8 @@ sealed class Explosion if (list.Count > 0 && _entMan.EntityExists(grid.Owner)) { _mapSystem.SetTiles(grid.Owner, grid, list); + + _system.DirtyHistory(grid.Owner); } } _tileUpdateDict.Clear(); diff --git a/Content.Server/Explosion/EntitySystems/ExplosionSystem.cs b/Content.Server/Explosion/EntitySystems/ExplosionSystem.cs index 4824810dae..400f555db4 100644 --- a/Content.Server/Explosion/EntitySystems/ExplosionSystem.cs +++ b/Content.Server/Explosion/EntitySystems/ExplosionSystem.cs @@ -17,6 +17,7 @@ using Content.Shared.Explosion.Components; using Content.Shared.Explosion.EntitySystems; using Content.Shared.GameTicking; using Content.Shared.Inventory; +using Content.Shared.Maps; using Content.Shared.Projectiles; using Content.Shared.Throwing; using Robust.Server.GameStates; @@ -28,6 +29,7 @@ using Robust.Shared.Physics.Components; using Robust.Shared.Player; using Robust.Shared.Prototypes; using Robust.Shared.Random; +using Robust.Shared.Timing; using Robust.Shared.Utility; namespace Content.Server.Explosion.EntitySystems; @@ -41,6 +43,7 @@ public sealed partial class ExplosionSystem : SharedExplosionSystem [Dependency] private readonly IConfigurationManager _cfg = default!; [Dependency] private readonly IPlayerManager _playerManager = default!; [Dependency] private readonly IAdminLogManager _adminLogger = default!; + [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!; [Dependency] private readonly DamageableSystem _damageableSystem = default!; @@ -63,6 +66,7 @@ public sealed partial class ExplosionSystem : SharedExplosionSystem private EntityQuery _destructibleQuery; private EntityQuery _damageableQuery; private EntityQuery _airtightQuery; + private EntityQuery _tileHistoryQuery; /// /// "Tile-size" for space when there are no nearby grids to use as a reference. @@ -105,6 +109,7 @@ public sealed partial class ExplosionSystem : SharedExplosionSystem _destructibleQuery = GetEntityQuery(); _damageableQuery = GetEntityQuery(); _airtightQuery = GetEntityQuery(); + _tileHistoryQuery = GetEntityQuery(); _prototypeManager.PrototypesReloaded += ReloadExplosionPrototypes; } @@ -397,7 +402,8 @@ public sealed partial class ExplosionSystem : SharedExplosionSystem visualEnt, queued.Cause, _map, - _damageableSystem); + _damageableSystem, + _tileHistoryQuery); } private void CameraShake(float range, MapCoordinates epicenter, float totalIntensity) diff --git a/Content.Server/Maps/TileGridSplitSystem.cs b/Content.Server/Maps/TileGridSplitSystem.cs new file mode 100644 index 0000000000..fef0efed2b --- /dev/null +++ b/Content.Server/Maps/TileGridSplitSystem.cs @@ -0,0 +1,74 @@ +using System.Numerics; +using Content.Shared.Maps; +using Robust.Shared.Map; +using Robust.Shared.Map.Components; +using Robust.Shared.Prototypes; +using Robust.Shared.Timing; + +namespace Content.Server.Maps; + +/// +/// This system handles transferring data when a grid is split. +/// +public sealed class TileGridSplitSystem : EntitySystem +{ + [Dependency] private readonly SharedMapSystem _maps = default!; + [Dependency] private readonly IGameTiming _timing = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnGridSplit); + } + + /// + /// Transfer tile history from the old grid to the new grids. + /// + private void OnGridSplit(ref GridSplitEvent ev) + { + if (!TryComp(ev.Grid, out var oldHistory)) + return; + + var oldGrid = Comp(ev.Grid); + + foreach (var gridUid in ev.NewGrids) + { + // ensure the new grid has a history component and get its grid component + var newHistory = EnsureComp(gridUid); + var newGrid = Comp(gridUid); + + foreach (var tile in _maps.GetAllTiles(gridUid, newGrid)) + { + // calculate where this tile was on the old grid + var oldIndices = _maps.LocalToTile(ev.Grid, oldGrid, new EntityCoordinates(gridUid, new Vector2(tile.GridIndices.X + 0.5f, tile.GridIndices.Y + 0.5f))); + + var chunkIndices = SharedMapSystem.GetChunkIndices(oldIndices, TileSystem.ChunkSize); + if (oldHistory.ChunkHistory.TryGetValue(chunkIndices, out var oldChunk) && + oldChunk.History.TryGetValue(oldIndices, out var history)) + { + // now we move the history from the old grid to the new grid + var newChunkIndices = SharedMapSystem.GetChunkIndices(tile.GridIndices, TileSystem.ChunkSize); + if (!newHistory.ChunkHistory.TryGetValue(newChunkIndices, out var newChunk)) + { + newChunk = new TileHistoryChunk(); + newHistory.ChunkHistory[newChunkIndices] = newChunk; + } + + newChunk.History[tile.GridIndices] = new List>(history); + newChunk.LastModified = _timing.CurTick; + + // clean up the old history + oldChunk.History.Remove(oldIndices); + if (oldChunk.History.Count == 0) + oldHistory.ChunkHistory.Remove(chunkIndices); + else + oldChunk.LastModified = _timing.CurTick; + } + } + + Dirty(gridUid, newHistory); + } + + Dirty(ev.Grid, oldHistory); + } +} diff --git a/Content.Shared/CCVar/CCVars.Game.cs b/Content.Shared/CCVar/CCVars.Game.cs index 68342733f8..03cf6a673a 100644 --- a/Content.Shared/CCVar/CCVars.Game.cs +++ b/Content.Shared/CCVar/CCVars.Game.cs @@ -409,4 +409,13 @@ public sealed partial class CCVars /// public static readonly CVarDef GameHostnameInTitlebar = CVarDef.Create("game.hostname_in_titlebar", true, CVar.SERVER | CVar.REPLICATED); + + /// + /// The maximum amount of tiles you can stack on top of each other. 0 is unlimited. + /// + /// + /// Having it too high can result in "doomstacking" tiles - this messes with efficiency of explosions, deconstruction of tiles, and might result in memory problems. + /// + public static readonly CVarDef TileStackLimit = + CVarDef.Create("game.tile_stack_limit", 5, CVar.SERVER | CVar.REPLICATED); } diff --git a/Content.Shared/Maps/ContentTileDefinition.cs b/Content.Shared/Maps/ContentTileDefinition.cs index 46ce7a212e..672eb95911 100644 --- a/Content.Shared/Maps/ContentTileDefinition.cs +++ b/Content.Shared/Maps/ContentTileDefinition.cs @@ -8,6 +8,7 @@ using Robust.Shared.Prototypes; using Robust.Shared.Serialization; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List; using Robust.Shared.Utility; namespace Content.Shared.Maps @@ -41,7 +42,13 @@ namespace Content.Shared.Maps [DataField("isSubfloor")] public bool IsSubFloor { get; private set; } [DataField("baseTurf")] - public string BaseTurf { get; private set; } = string.Empty; + public ProtoId? BaseTurf { get; private set; } + + /// + /// On what tiles this tile can be placed on. BaseTurf is already included. + /// + [DataField] + public List> BaseWhitelist { get; private set; } = new(); [DataField] public PrototypeFlags DeconstructTools { get; set; } = new(); diff --git a/Content.Shared/Maps/TileHistoryComponent.cs b/Content.Shared/Maps/TileHistoryComponent.cs new file mode 100644 index 0000000000..0e02d60984 --- /dev/null +++ b/Content.Shared/Maps/TileHistoryComponent.cs @@ -0,0 +1,125 @@ +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization; +using Robust.Shared.Timing; + +namespace Content.Shared.Maps; + +[RegisterComponent, NetworkedComponent] +public sealed partial class TileHistoryComponent : Component +{ + // History of tiles for each grid chunk. + [DataField] + public Dictionary ChunkHistory = new(); + + /// + /// Tick at which PVS was last toggled. Ensures that all players receive a full update when toggling PVS. + /// + public GameTick ForceTick { get; set; } +} + +[Serializable, NetSerializable] +public sealed class TileHistoryState : ComponentState +{ + public Dictionary ChunkHistory; + + public TileHistoryState(Dictionary chunkHistory) + { + ChunkHistory = chunkHistory; + } +} + +[Serializable, NetSerializable] +public sealed class TileHistoryDeltaState : ComponentState, IComponentDeltaState +{ + public Dictionary ChunkHistory; + public HashSet AllHistoryChunks; + + public TileHistoryDeltaState(Dictionary chunkHistory, HashSet allHistoryChunks) + { + ChunkHistory = chunkHistory; + AllHistoryChunks = allHistoryChunks; + } + + public void ApplyToFullState(TileHistoryState state) + { + var toRemove = new List(); + foreach (var key in state.ChunkHistory.Keys) + { + if (!AllHistoryChunks.Contains(key)) + toRemove.Add(key); + } + + foreach (var key in toRemove) + { + state.ChunkHistory.Remove(key); + } + + foreach (var (indices, chunk) in ChunkHistory) + { + state.ChunkHistory[indices] = new TileHistoryChunk(chunk); + } + } + + public void ApplyToComponent(TileHistoryComponent component) + { + var toRemove = new List(); + foreach (var key in component.ChunkHistory.Keys) + { + if (!AllHistoryChunks.Contains(key)) + toRemove.Add(key); + } + + foreach (var key in toRemove) + { + component.ChunkHistory.Remove(key); + } + + foreach (var (indices, chunk) in ChunkHistory) + { + component.ChunkHistory[indices] = new TileHistoryChunk(chunk); + } + } + + public TileHistoryState CreateNewFullState(TileHistoryState state) + { + var chunks = new Dictionary(state.ChunkHistory.Count); + + foreach (var (indices, chunk) in ChunkHistory) + { + chunks[indices] = new TileHistoryChunk(chunk); + } + + foreach (var (indices, chunk) in state.ChunkHistory) + { + if (AllHistoryChunks.Contains(indices)) + chunks.TryAdd(indices, new TileHistoryChunk(chunk)); + } + + return new TileHistoryState(chunks); + } +} + +[DataDefinition, Serializable, NetSerializable] +public sealed partial class TileHistoryChunk +{ + [DataField] + public Dictionary>> History = new(); + + [ViewVariables] + public GameTick LastModified; + + public TileHistoryChunk() + { + } + + public TileHistoryChunk(TileHistoryChunk other) + { + History = new Dictionary>>(other.History.Count); + foreach (var (key, value) in other.History) + { + History[key] = new List>(value); + } + LastModified = other.LastModified; + } +} diff --git a/Content.Shared/Maps/TileSystem.cs b/Content.Shared/Maps/TileSystem.cs index d87b3ca50d..908507e54d 100644 --- a/Content.Shared/Maps/TileSystem.cs +++ b/Content.Shared/Maps/TileSystem.cs @@ -1,10 +1,16 @@ using System.Linq; using System.Numerics; +using Content.Shared.CCVar; using Content.Shared.Coordinates.Helpers; using Content.Shared.Decals; +using Content.Shared.Tiles; +using Robust.Shared.Configuration; +using Robust.Shared.GameStates; using Robust.Shared.Map; using Robust.Shared.Map.Components; +using Robust.Shared.Prototypes; using Robust.Shared.Random; +using Robust.Shared.Timing; using Robust.Shared.Utility; namespace Content.Shared.Maps; @@ -14,12 +20,85 @@ namespace Content.Shared.Maps; /// public sealed class TileSystem : EntitySystem { + [Dependency] private readonly IConfigurationManager _cfg = default!; [Dependency] private readonly IMapManager _mapManager = default!; [Dependency] private readonly IRobustRandom _robustRandom = default!; [Dependency] private readonly ITileDefinitionManager _tileDefinitionManager = default!; [Dependency] private readonly SharedDecalSystem _decal = default!; [Dependency] private readonly SharedMapSystem _maps = default!; [Dependency] private readonly TurfSystem _turf = default!; + [Dependency] private readonly IGameTiming _timing = default!; + + public const int ChunkSize = 16; + + private int _tileStackLimit; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnGridStartup); + SubscribeLocalEvent(OnGetState); + SubscribeLocalEvent(OnHandleState); + SubscribeLocalEvent(OnFloorTileAttempt); + + _cfg.OnValueChanged(CCVars.TileStackLimit, t => _tileStackLimit = t, true); + } + + private void OnHandleState(EntityUid uid, TileHistoryComponent component, ref ComponentHandleState args) + { + if (args.Current is not TileHistoryState state && args.Current is not TileHistoryDeltaState) + return; + + if (args.Current is TileHistoryState fullState) + { + component.ChunkHistory.Clear(); + foreach (var (key, value) in fullState.ChunkHistory) + { + component.ChunkHistory[key] = new TileHistoryChunk(value); + } + + return; + } + + if (args.Current is TileHistoryDeltaState deltaState) + { + deltaState.ApplyToComponent(component); + } + } + + private void OnGetState(EntityUid uid, TileHistoryComponent component, ref ComponentGetState args) + { + if (args.FromTick <= component.CreationTick || args.FromTick <= component.ForceTick) + { + var fullHistory = new Dictionary(component.ChunkHistory.Count); + foreach (var (key, value) in component.ChunkHistory) + { + fullHistory[key] = new TileHistoryChunk(value); + } + args.State = new TileHistoryState(fullHistory); + return; + } + + var data = new Dictionary(); + foreach (var (index, chunk) in component.ChunkHistory) + { + if (chunk.LastModified >= args.FromTick) + data[index] = new TileHistoryChunk(chunk); + } + + args.State = new TileHistoryDeltaState(data, new(component.ChunkHistory.Keys)); + } + + /// + /// On grid startup, ensure that we have Tile History. + /// + private void OnGridStartup(GridInitializeEvent ev) + { + if (HasComp(ev.EntityUid)) + return; + + EnsureComp(ev.EntityUid); + } /// /// Returns a weighted pick of a tile variant. @@ -85,7 +164,7 @@ public sealed class TileSystem : EntitySystem return PryTile(tileRef); } - public bool PryTile(TileRef tileRef) + public bool PryTile(TileRef tileRef) { return PryTile(tileRef, false); } @@ -97,7 +176,7 @@ public sealed class TileSystem : EntitySystem if (tile.IsEmpty) return false; - var tileDef = (ContentTileDefinition) _tileDefinitionManager[tile.TypeId]; + var tileDef = (ContentTileDefinition)_tileDefinitionManager[tile.TypeId]; if (!tileDef.CanCrowbar) return false; @@ -112,33 +191,73 @@ public sealed class TileSystem : EntitySystem return ReplaceTile(tileref, replacementTile, tileref.GridUid, grid); } - public bool ReplaceTile(TileRef tileref, ContentTileDefinition replacementTile, EntityUid grid, MapGridComponent? component = null) + public bool ReplaceTile(TileRef tileref, ContentTileDefinition replacementTile, EntityUid grid, MapGridComponent? component = null, byte? variant = null) { DebugTools.Assert(tileref.GridUid == grid); if (!Resolve(grid, ref component)) return false; + var key = tileref.GridIndices; + var currentTileDef = (ContentTileDefinition) _tileDefinitionManager[tileref.Tile.TypeId]; - var variant = PickVariant(replacementTile); + // If the tile we're placing has a baseTurf that matches the tile we're replacing, we don't need to create a history + // unless the tile already has a history. + var history = EnsureComp(grid); + var chunkIndices = SharedMapSystem.GetChunkIndices(key, ChunkSize); + history.ChunkHistory.TryGetValue(chunkIndices, out var chunk); + var historyExists = chunk != null && chunk.History.ContainsKey(key); + + if (replacementTile.BaseTurf != currentTileDef.ID || historyExists) + { + if (chunk == null) + { + chunk = new TileHistoryChunk(); + history.ChunkHistory[chunkIndices] = chunk; + } + + chunk.LastModified = _timing.CurTick; + Dirty(grid, history); + + //Create stack if needed + if (!chunk.History.TryGetValue(key, out var stack)) + { + stack = new List>(); + chunk.History[key] = stack; + } + + //Prevent the doomstack + if (stack.Count >= _tileStackLimit && _tileStackLimit != 0) + return false; + + //Push current tile to the stack, if not empty + if (!tileref.Tile.IsEmpty) + { + stack.Add(currentTileDef.ID); + } + } + + variant ??= PickVariant(replacementTile); var decals = _decal.GetDecalsInRange(tileref.GridUid, _turf.GetTileCenter(tileref).Position, 0.5f); foreach (var (id, _) in decals) { _decal.RemoveDecal(tileref.GridUid, id); } - _maps.SetTile(grid, component, tileref.GridIndices, new Tile(replacementTile.TileId, 0, variant)); + _maps.SetTile(grid, component, tileref.GridIndices, new Tile(replacementTile.TileId, 0, variant.Value)); return true; } - public bool DeconstructTile(TileRef tileRef) + + public bool DeconstructTile(TileRef tileRef, bool spawnItem = true) { if (tileRef.Tile.IsEmpty) return false; - var tileDef = (ContentTileDefinition) _tileDefinitionManager[tileRef.Tile.TypeId]; + var tileDef = (ContentTileDefinition)_tileDefinitionManager[tileRef.Tile.TypeId]; - if (string.IsNullOrEmpty(tileDef.BaseTurf)) + //Can't deconstruct anything that doesn't have a base turf. + if (tileDef.BaseTurf == null) return false; var gridUid = tileRef.GridUid; @@ -152,20 +271,68 @@ public sealed class TileSystem : EntitySystem (_robustRandom.NextFloat() - 0.5f) * bounds, (_robustRandom.NextFloat() - 0.5f) * bounds)); - //Actually spawn the relevant tile item at the right position and give it some random offset. - var tileItem = Spawn(tileDef.ItemDropPrototypeName, coordinates); - Transform(tileItem).LocalRotation = _robustRandom.NextDouble() * Math.Tau; + var historyComp = EnsureComp(gridUid); + ProtoId previousTileId; - // Destroy any decals on the tile + var chunkIndices = SharedMapSystem.GetChunkIndices(indices, ChunkSize); + + //Pop from stack if we have history + if (historyComp.ChunkHistory.TryGetValue(chunkIndices, out var chunk) && + chunk.History.TryGetValue(indices, out var stack) && stack.Count > 0) + { + chunk.LastModified = _timing.CurTick; + Dirty(gridUid, historyComp); + + previousTileId = stack.Last(); + stack.RemoveAt(stack.Count - 1); + + //Clean up empty stacks to avoid memory buildup + if (stack.Count == 0) + { + chunk.History.Remove(indices); + } + + // Clean up empty chunks + if (chunk.History.Count == 0) + { + historyComp.ChunkHistory.Remove(chunkIndices); + } + } + else + { + //No stack? Assume BaseTurf was the layer below + previousTileId = tileDef.BaseTurf.Value; + } + + if (spawnItem) + { + //Actually spawn the relevant tile item at the right position and give it some random offset. + var tileItem = Spawn(tileDef.ItemDropPrototypeName, coordinates); + Transform(tileItem).LocalRotation = _robustRandom.NextDouble() * Math.Tau; + } + + //Destroy any decals on the tile var decals = _decal.GetDecalsInRange(gridUid, coordinates.SnapToGrid(EntityManager, _mapManager).Position, 0.5f); foreach (var (id, _) in decals) { _decal.RemoveDecal(tileRef.GridUid, id); } - var plating = _tileDefinitionManager[tileDef.BaseTurf]; - _maps.SetTile(gridUid, mapGrid, tileRef.GridIndices, new Tile(plating.TileId)); + //Replace tile with the one it was placed on + var previousDef = (ContentTileDefinition)_tileDefinitionManager[previousTileId]; + _maps.SetTile(gridUid, mapGrid, indices, new Tile(previousDef.TileId)); return true; } + + private void OnFloorTileAttempt(Entity ent, ref FloorTileAttemptEvent args) + { + if (_tileStackLimit == 0) + return; + var chunkIndices = SharedMapSystem.GetChunkIndices(args.GridIndices, ChunkSize); + if (!ent.Comp.ChunkHistory.TryGetValue(chunkIndices, out var chunk) || + !chunk.History.TryGetValue(args.GridIndices, out var stack)) + return; + args.Cancelled = stack.Count >= _tileStackLimit; // greater or equals because the attempt itself counts as a tile we're trying to place + } } diff --git a/Content.Shared/RCD/Systems/RCDSystem.cs b/Content.Shared/RCD/Systems/RCDSystem.cs index 504576216a..8b3ae16a1f 100644 --- a/Content.Shared/RCD/Systems/RCDSystem.cs +++ b/Content.Shared/RCD/Systems/RCDSystem.cs @@ -38,6 +38,7 @@ public sealed class RCDSystem : EntitySystem [Dependency] private readonly SharedInteractionSystem _interaction = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly TurfSystem _turf = default!; + [Dependency] private readonly TileSystem _tile = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!; [Dependency] private readonly IPrototypeManager _protoManager = default!; [Dependency] private readonly SharedMapSystem _mapSystem = default!; @@ -560,10 +561,9 @@ public sealed class RCDSystem : EntitySystem if (target == null) { - // Deconstruct tile (either converts the tile to lattice, or removes lattice) - var tileDef = (_turf.GetContentTileDefinition(tile).ID != "Lattice") ? new Tile(_tileDefMan["Lattice"].TileId) : Tile.Empty; - _mapSystem.SetTile(gridUid, mapGrid, position, tileDef); - _adminLogger.Add(LogType.RCD, LogImpact.High, $"{ToPrettyString(user):user} used RCD to set grid: {gridUid} tile: {position} open to space"); + // Deconstruct tile, don't drop tile as item + if (_tile.DeconstructTile(tile, spawnItem: false)) + _adminLogger.Add(LogType.RCD, LogImpact.High, $"{ToPrettyString(user):user} used RCD to set grid: {gridUid} tile: {position} open to space"); } else { diff --git a/Content.Shared/Tiles/FloorTileSystem.cs b/Content.Shared/Tiles/FloorTileSystem.cs index 2c6df5ce89..a2743ca6ca 100644 --- a/Content.Shared/Tiles/FloorTileSystem.cs +++ b/Content.Shared/Tiles/FloorTileSystem.cs @@ -16,6 +16,7 @@ using Robust.Shared.Network; using Robust.Shared.Physics; using Robust.Shared.Physics.Components; using Robust.Shared.Physics.Systems; +using Robust.Shared.Prototypes; using Robust.Shared.Timing; namespace Content.Shared.Tiles; @@ -142,7 +143,7 @@ public sealed class FloorTileSystem : EntitySystem var baseTurf = (ContentTileDefinition) _tileDefinitionManager[tile.Tile.TypeId]; - if (HasBaseTurf(currentTileDefinition, baseTurf.ID)) + if (CanPlaceOn(currentTileDefinition, baseTurf.ID)) { if (!_stackSystem.TryUse((uid, stack), 1)) continue; @@ -152,7 +153,7 @@ public sealed class FloorTileSystem : EntitySystem return; } } - else if (HasBaseTurf(currentTileDefinition, ContentTileDefinition.SpaceID)) + else if (HasBaseTurf(currentTileDefinition, new ProtoId(ContentTileDefinition.SpaceID))) { if (!_stackSystem.TryUse((uid, stack), 1)) continue; @@ -171,19 +172,35 @@ public sealed class FloorTileSystem : EntitySystem } } - public bool HasBaseTurf(ContentTileDefinition tileDef, string baseTurf) + public bool HasBaseTurf(ContentTileDefinition tileDef, ProtoId baseTurf) { return tileDef.BaseTurf == baseTurf; } + private bool CanPlaceOn(ContentTileDefinition tileDef, ProtoId currentTurfId) + { + //Check exact BaseTurf match + if (tileDef.BaseTurf == currentTurfId) + return true; + + // Check whitelist match + if (tileDef.BaseWhitelist.Count > 0 && tileDef.BaseWhitelist.Contains(currentTurfId)) + return true; + + return false; + } + private void PlaceAt(EntityUid user, EntityUid gridUid, MapGridComponent mapGrid, EntityCoordinates location, ushort tileId, SoundSpecifier placeSound, float offset = 0) { _adminLogger.Add(LogType.Tile, LogImpact.Low, $"{ToPrettyString(user):actor} placed tile {_tileDefinitionManager[tileId].Name} at {ToPrettyString(gridUid)} {location}"); - var random = new System.Random((int) _timing.CurTick.Value); - var variant = _tile.PickVariant((ContentTileDefinition) _tileDefinitionManager[tileId], random); - _map.SetTile(gridUid, mapGrid,location.Offset(new Vector2(offset, offset)), new Tile(tileId, 0, variant)); + var tileDef = (ContentTileDefinition) _tileDefinitionManager[tileId]; + var random = new System.Random((int)_timing.CurTick.Value); + var variant = _tile.PickVariant(tileDef, random); + + var tileRef = _map.GetTileRef(gridUid, mapGrid, location.Offset(new Vector2(offset, offset))); + _tile.ReplaceTile(tileRef, tileDef, gridUid, mapGrid, variant: variant); _audio.PlayPredicted(placeSound, location, user); } diff --git a/Resources/Prototypes/Tiles/floors.yml b/Resources/Prototypes/Tiles/floors.yml index de0f0dd9b4..52657990d1 100644 --- a/Resources/Prototypes/Tiles/floors.yml +++ b/Resources/Prototypes/Tiles/floors.yml @@ -1,5 +1,31 @@ +- type: tile + id: BaseStationTile + abstract: true + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepFloor + heatCapacity: 10000 + baseTurf: Plating + baseWhitelist: + - PlatingBrass + - FloorAsteroidIronsand + - FloorAsteroidSand + - FloorAsteroidSandBorderless + - FloorAsteroidIronsandBorderless + - FloorAsteroidSandRedBorderless + - PlatingAsteroid + - PlatingSnow + - FloorPlanetDirt + - FloorDesert + - FloorLowDesert + - FloorPlanetGrass + - FloorSnow + - FloorDirt + - type: tile id: FloorSteel + parent: BaseStationTile name: tiles-steel-floor sprite: /Textures/Tiles/steel.png variants: 4 @@ -8,16 +34,11 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemSteel - heatCapacity: 10000 - type: tile id: FloorSteelCheckerLight + parent: BaseStationTile name: tiles-steel-floor-checker-light sprite: /Textures/Tiles/cafeteria.png variants: 4 @@ -26,16 +47,11 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemSteelCheckerLight - heatCapacity: 10000 - type: tile id: FloorSteelCheckerDark + parent: BaseStationTile name: tiles-steel-floor-checker-dark sprite: /Textures/Tiles/checker_dark.png variants: 4 @@ -44,16 +60,11 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemSteelCheckerDark - heatCapacity: 10000 - type: tile id: FloorSteelMini + parent: BaseStationTile name: tiles-steel-floor-mini sprite: /Textures/Tiles/steel_mini.png variants: 4 @@ -62,16 +73,11 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemSteelMini - heatCapacity: 10000 - type: tile id: FloorSteelPavement + parent: BaseStationTile name: tiles-steel-floor-pavement sprite: /Textures/Tiles/steel_pavement.png variants: 4 @@ -80,16 +86,11 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemSteelPavement - heatCapacity: 10000 - type: tile id: FloorSteelDiagonal + parent: BaseStationTile name: tiles-steel-floor-diagonal sprite: /Textures/Tiles/steel_diagonal.png variants: 4 @@ -98,28 +99,18 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemSteelDiagonal - heatCapacity: 10000 - type: tile id: FloorSteelOffset + parent: BaseStationTile name: tiles-steel-floor-offset sprite: /Textures/Tiles/steel_offset.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemSteelOffset - heatCapacity: 10000 - type: tile id: FloorSteelMono + parent: BaseStationTile name: tiles-steel-floor-mono sprite: /Textures/Tiles/steel_mono.png variants: 4 @@ -128,16 +119,11 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepTile itemDrop: FloorTileItemSteelMono - heatCapacity: 10000 - type: tile id: FloorSteelPavementVertical + parent: BaseStationTile name: tiles-steel-floor-pavement-vertical sprite: /Textures/Tiles/steel_pavement_vertical.png variants: 4 @@ -146,16 +132,11 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepTile itemDrop: FloorTileItemSteelPavementVertical - heatCapacity: 10000 - type: tile id: FloorSteelHerringbone + parent: BaseStationTile name: tiles-steel-floor-herringbone sprite: /Textures/Tiles/steel_herringbone.png variants: 4 @@ -164,16 +145,11 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepTile itemDrop: FloorTileItemSteelHerringbone - heatCapacity: 10000 - type: tile id: FloorSteelDiagonalMini + parent: BaseStationTile name: tiles-steel-floor-diagonal-mini sprite: /Textures/Tiles/steel_diagonal_mini.png variants: 4 @@ -182,40 +158,29 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepTile itemDrop: FloorTileItemSteelDiagonalMini - heatCapacity: 10000 - type: tile id: FloorBrassFilled + parent: BaseStationTile name: tiles-brass-floor-filled sprite: /Textures/Tiles/Misc/clockwork/clockwork_floor_filled.png - baseTurf: PlatingBrass - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepHull itemDrop: FloorTileItemBrassFilled - heatCapacity: 10000 - type: tile id: FloorBrassReebe + parent: BaseStationTile name: tiles-brass-floor-reebe sprite: /Textures/Tiles/Misc/clockwork/reebe.png - baseTurf: PlatingBrass - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepHull itemDrop: FloorTileItemBrassReebe - heatCapacity: 10000 - type: tile id: FloorPlastic + parent: BaseStationTile name: tiles-plastic-floor sprite: /Textures/Tiles/plastic.png variants: 4 @@ -224,16 +189,11 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemSteel - heatCapacity: 10000 - type: tile id: FloorWood + parent: BaseStationTile name: tiles-wood sprite: /Textures/Tiles/wood.png variants: 4 @@ -242,18 +202,15 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepWood barestepSounds: collection: BarestepWood itemDrop: FloorTileItemWood - heatCapacity: 10000 - type: tile id: FloorWhite + parent: BaseStationTile name: tiles-white-floor sprite: /Textures/Tiles/white.png variants: 4 @@ -262,16 +219,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemWhite - heatCapacity: 10000 - type: tile id: FloorWhiteMini + parent: BaseStationTile name: tiles-white-floor-mini sprite: /Textures/Tiles/white_mini.png variants: 4 @@ -280,16 +234,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemWhiteMini - heatCapacity: 10000 - type: tile id: FloorWhitePavement + parent: BaseStationTile name: tiles-white-floor-pavement sprite: /Textures/Tiles/white_pavement.png variants: 4 @@ -298,16 +249,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemWhitePavement - heatCapacity: 10000 - type: tile id: FloorWhiteDiagonal + parent: BaseStationTile name: tiles-white-floor-diagonal sprite: /Textures/Tiles/white_diagonal.png variants: 4 @@ -316,28 +264,22 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemWhiteDiagonal - heatCapacity: 10000 - type: tile id: FloorWhiteOffset + parent: BaseStationTile name: tiles-white-floor-offset sprite: /Textures/Tiles/white_offset.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemWhiteOffset - heatCapacity: 10000 - type: tile id: FloorWhiteMono + parent: BaseStationTile name: tiles-white-floor-mono sprite: /Textures/Tiles/white_mono.png variants: 4 @@ -346,16 +288,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemWhiteMono - heatCapacity: 10000 - type: tile id: FloorWhitePavementVertical + parent: BaseStationTile name: tiles-white-floor-pavement-vertical sprite: /Textures/Tiles/white_pavement_vertical.png variants: 4 @@ -364,16 +303,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemWhitePavementVertical - heatCapacity: 10000 - type: tile id: FloorWhiteHerringbone + parent: BaseStationTile name: tiles-white-floor-herringbone sprite: /Textures/Tiles/white_herringbone.png variants: 4 @@ -382,16 +318,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemWhiteHerringbone - heatCapacity: 10000 - type: tile id: FloorWhiteDiagonalMini + parent: BaseStationTile name: tiles-white-floor-diagonal-mini sprite: /Textures/Tiles/white_diagonal_mini.png variants: 4 @@ -400,16 +333,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemWhiteDiagonalMini - heatCapacity: 10000 - type: tile id: FloorWhitePlastic + parent: BaseStationTile name: tiles-plastic-white-floor sprite: /Textures/Tiles/white_plastic.png variants: 4 @@ -418,16 +348,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemWhite - heatCapacity: 10000 - type: tile id: FloorDark + parent: BaseStationTile name: tiles-dark-floor sprite: /Textures/Tiles/dark.png variants: 4 @@ -436,16 +363,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemDark - heatCapacity: 10000 - type: tile id: FloorDarkMini + parent: BaseStationTile name: tiles-dark-floor-mini sprite: /Textures/Tiles/dark_mini.png variants: 4 @@ -454,16 +378,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemDarkMini - heatCapacity: 10000 - type: tile id: FloorDarkPavement + parent: BaseStationTile name: tiles-dark-floor-pavement sprite: /Textures/Tiles/dark_pavement.png variants: 4 @@ -472,16 +393,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemDarkPavement - heatCapacity: 10000 - type: tile id: FloorDarkDiagonal + parent: BaseStationTile name: tiles-dark-floor-diagonal sprite: /Textures/Tiles/dark_diagonal.png variants: 4 @@ -490,28 +408,22 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemDarkDiagonal - heatCapacity: 10000 - type: tile id: FloorDarkOffset + parent: BaseStationTile name: tiles-dark-floor-offset sprite: /Textures/Tiles/dark_offset.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemDarkOffset - heatCapacity: 10000 - type: tile id: FloorDarkMono + parent: BaseStationTile name: tiles-dark-floor-mono sprite: /Textures/Tiles/dark_mono.png variants: 4 @@ -520,16 +432,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemDarkMono - heatCapacity: 10000 - type: tile id: FloorDarkPavementVertical + parent: BaseStationTile name: tiles-dark-floor-pavement-vertical sprite: /Textures/Tiles/dark_pavement_vertical.png variants: 4 @@ -538,16 +447,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemDarkPavementVertical - heatCapacity: 10000 - type: tile id: FloorDarkHerringbone + parent: BaseStationTile name: tiles-dark-floor-herringbone sprite: /Textures/Tiles/dark_herringbone.png variants: 4 @@ -556,16 +462,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemDarkHerringbone - heatCapacity: 10000 - type: tile id: FloorDarkDiagonalMini + parent: BaseStationTile name: tiles-dark-floor-diagonal-mini sprite: /Textures/Tiles/dark_diagonal_mini.png variants: 4 @@ -574,16 +477,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemDarkDiagonalMini - heatCapacity: 10000 - type: tile id: FloorDarkPlastic + parent: BaseStationTile name: tiles-plastic-dark-floor sprite: /Textures/Tiles/dark_plastic.png variants: 4 @@ -592,76 +492,58 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemDark - heatCapacity: 10000 - type: tile id: FloorTechMaint + parent: BaseStationTile name: tiles-techmaint-floor sprite: /Textures/Tiles/tech_maint.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepHull itemDrop: FloorTileItemTechmaint - heatCapacity: 10000 - type: tile id: FloorTechMaintDark + parent: BaseStationTile name: tiles-techmaint-floor-dark sprite: /Textures/Tiles/tech_maint_dark.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepHull itemDrop: FloorTileItemTechmaintDark - heatCapacity: 10000 - type: tile id: FloorReinforced + parent: BaseStationTile name: tiles-reinforced-floor sprite: /Textures/Tiles/reinforced.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepHull itemDrop: PartRodMetal1 - heatCapacity: 10000 - type: tile id: FloorMono + parent: BaseStationTile name: tiles-mono-floor sprite: /Textures/Tiles/mono.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemMono - heatCapacity: 10000 - type: tile id: FloorLino + parent: BaseStationTile name: tiles-linoleum-floor sprite: /Textures/Tiles/lino.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemLino - heatCapacity: 10000 - type: tile id: FloorSteelDirty + parent: BaseStationTile name: tiles-dirty-steel-floor sprite: /Textures/Tiles/steel_dirty.png variants: 4 @@ -670,64 +552,49 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepPlating itemDrop: FloorTileItemDirty - heatCapacity: 10000 - type: tile id: FloorElevatorShaft + parent: BaseStationTile name: tiles-elevator-shaft sprite: /Textures/Tiles/elevator_shaft.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepHull itemDrop: FloorTileItemElevatorShaft - heatCapacity: 10000 - type: tile id: FloorMetalDiamond + parent: BaseStationTile name: tiles-diamond-plate-floor sprite: /Textures/Tiles/metaldiamond.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepHull itemDrop: FloorTileItemMetalDiamond - heatCapacity: 10000 - type: tile id: FloorRockVault + parent: BaseStationTile name: tiles-rock-floor sprite: /Textures/Tiles/rock_vault.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepAsteroid itemDrop: FloorTileItemRockVault - heatCapacity: 10000 - type: tile id: FloorBlue + parent: BaseStationTile name: tiles-blue-tile sprite: /Textures/Tiles/blue.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemBlue - heatCapacity: 10000 - type: tile id: FloorSteelLime + parent: BaseStationTile name: tiles-lime-floor sprite: /Textures/Tiles/lime.png variants: 4 @@ -736,89 +603,62 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemLime - heatCapacity: 10000 - type: tile id: FloorMining + parent: BaseStationTile name: tiles-mining-tile sprite: /Textures/Tiles/mining_floor.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemMining - heatCapacity: 10000 - type: tile id: FloorMiningDark + parent: BaseStationTile name: tiles-mining-dark-tile sprite: /Textures/Tiles/mining_floor_dark.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemMiningDark - heatCapacity: 10000 - type: tile id: FloorMiningLight + parent: BaseStationTile name: tiles-mining-light-tile sprite: /Textures/Tiles/mining_floor_light.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemMiningLight - heatCapacity: 10000 # Departmental - type: tile id: FloorFreezer + parent: BaseStationTile name: tiles-freezer sprite: /Textures/Tiles/freezer.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepHull itemDrop: FloorTileItemFreezer - heatCapacity: 10000 - type: tile id: FloorShowroom + parent: BaseStationTile name: tiles-showroom-floor sprite: /Textures/Tiles/showroom.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemShowroom - heatCapacity: 10000 - type: tile id: FloorHydro + parent: BaseStationTile name: tiles-hydro-floor sprite: /Textures/Tiles/hydro.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemHydro - heatCapacity: 10000 - type: tile id: FloorBar + parent: BaseStationTile name: tiles-bar-floor sprite: /Textures/Tiles/bar.png variants: 4 @@ -827,64 +667,43 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemBar - heatCapacity: 10000 - type: tile id: FloorClown + parent: BaseStationTile name: tiles-clown-floor sprite: /Textures/Tiles/clown.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemClown - heatCapacity: 10000 - type: tile id: FloorMime + parent: BaseStationTile name: tiles-mime-floor sprite: /Textures/Tiles/mime.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemMime - heatCapacity: 10000 - type: tile id: FloorKitchen + parent: BaseStationTile name: tiles-kitchen-floor sprite: /Textures/Tiles/kitchen.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemKitchen - heatCapacity: 10000 - type: tile id: FloorLaundry + parent: BaseStationTile name: tiles-laundry-floor sprite: /Textures/Tiles/laundry.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemLaundry - heatCapacity: 10000 - type: tile id: FloorSteelDamaged + parent: BaseStationTile name: tiles-steel-floor sprite: /Textures/Tiles/steel_damaged.png variants: 5 @@ -894,17 +713,12 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemSteel #This should probably be made null when it becomes possible to make it such, in SS13 prying destroyed tiles wouldn't give you anything. - heatCapacity: 10000 # Concrete - type: tile id: FloorConcrete + parent: BaseStationTile name: tiles-concrete-tile sprite: /Textures/Tiles/Planet/Concrete/concrete.png variants: 4 @@ -913,16 +727,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemConcrete - heatCapacity: 10000 - type: tile id: FloorConcreteMono + parent: BaseStationTile name: tiles-concrete-slab sprite: /Textures/Tiles/Planet/Concrete/concrete_mono.png variants: 4 @@ -931,16 +742,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemConcreteMono - heatCapacity: 10000 - type: tile id: FloorConcreteSmooth + parent: BaseStationTile name: tiles-concrete-smooth sprite: /Textures/Tiles/Planet/Concrete/concrete_smooth.png variants: 4 @@ -949,16 +757,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemConcreteSmooth - heatCapacity: 10000 - type: tile id: FloorGrayConcrete + parent: BaseStationTile name: tiles-gray-concrete-tile sprite: /Textures/Tiles/Planet/Concrete/grayconcrete.png variants: 4 @@ -967,16 +772,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemGrayConcrete - heatCapacity: 10000 - type: tile id: FloorGrayConcreteMono + parent: BaseStationTile name: tiles-gray-concrete-slab sprite: /Textures/Tiles/Planet/Concrete/grayconcrete_mono.png variants: 4 @@ -985,16 +787,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemGrayConcreteMono - heatCapacity: 10000 - type: tile id: FloorGrayConcreteSmooth + parent: BaseStationTile name: tiles-gray-concrete-smooth sprite: /Textures/Tiles/Planet/Concrete/grayconcrete_smooth.png variants: 4 @@ -1003,16 +802,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemGrayConcreteSmooth - heatCapacity: 10000 - type: tile id: FloorOldConcrete + parent: BaseStationTile name: tiles-old-concrete-tile sprite: /Textures/Tiles/Planet/Concrete/oldconcrete.png variants: 4 @@ -1021,16 +817,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemOldConcrete - heatCapacity: 10000 - type: tile id: FloorOldConcreteMono + parent: BaseStationTile name: tiles-old-concrete-slab sprite: /Textures/Tiles/Planet/Concrete/oldconcrete_mono.png variants: 4 @@ -1039,16 +832,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemOldConcreteMono - heatCapacity: 10000 - type: tile id: FloorOldConcreteSmooth + parent: BaseStationTile name: tiles-old-concrete-smooth sprite: /Textures/Tiles/Planet/Concrete/oldconcrete_smooth.png variants: 4 @@ -1057,107 +847,86 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemOldConcreteSmooth - heatCapacity: 10000 # Carpets (non smoothing) - type: tile id: FloorArcadeBlue + parent: BaseStationTile name: tiles-blue-arcade-floor sprite: /Textures/Tiles/arcadeblue.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepCarpet barestepSounds: collection: BarestepCarpet friction: 1.25 itemDrop: FloorTileItemArcadeBlue - heatCapacity: 10000 - type: tile id: FloorArcadeBlue2 + parent: BaseStationTile name: tiles-blue-arcade-floor sprite: /Textures/Tiles/arcadeblue2.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepCarpet barestepSounds: collection: BarestepCarpet friction: 1.25 itemDrop: FloorTileItemArcadeBlue2 - heatCapacity: 10000 - type: tile id: FloorArcadeRed + parent: BaseStationTile name: tiles-red-arcade-floor sprite: /Textures/Tiles/arcadered.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepCarpet barestepSounds: collection: BarestepCarpet friction: 1.25 itemDrop: FloorTileItemArcadeRed - heatCapacity: 10000 - type: tile id: FloorEighties + parent: BaseStationTile name: tiles-eighties-floor sprite: /Textures/Tiles/eighties.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepCarpet barestepSounds: collection: BarestepCarpet friction: 1.25 itemDrop: FloorTileItemEighties - heatCapacity: 10000 - type: tile id: FloorCarpetClown + parent: BaseStationTile name: tiles-clown-carpet-floor sprite: /Textures/Tiles/carpetclown.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepCarpet barestepSounds: collection: BarestepCarpet friction: 1.25 itemDrop: FloorTileItemCarpetClown - heatCapacity: 10000 - type: tile id: FloorCarpetOffice + parent: BaseStationTile name: tiles-office-carpet-floor sprite: /Textures/Tiles/carpetoffice.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepCarpet barestepSounds: collection: BarestepCarpet friction: 1.25 itemDrop: FloorTileItemCarpetOffice - heatCapacity: 10000 - type: tile id: FloorBoxing + parent: BaseStationTile name: tiles-boxing-ring-floor sprite: /Textures/Tiles/boxing.png variants: 4 @@ -1166,17 +935,12 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor friction: 1.25 itemDrop: FloorTileItemBoxing - heatCapacity: 10000 - type: tile id: FloorGym + parent: BaseStationTile name: tiles-gym-floor sprite: /Textures/Tiles/gym.png variants: 4 @@ -1185,18 +949,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor friction: 1.25 itemDrop: FloorTileItemGym - heatCapacity: 10000 # Shuttle - type: tile id: FloorShuttleWhite + parent: BaseStationTile name: tiles-white-shuttle-floor sprite: /Textures/Tiles/shuttlewhite.png variants: 4 @@ -1205,16 +964,11 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemShuttleWhite - heatCapacity: 10000 - type: tile id: FloorShuttleGrey + parent: BaseStationTile name: tiles-grey-shuttle-floor sprite: /Textures/Tiles/shuttlegrey.png variants: 4 @@ -1223,16 +977,11 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemShuttleGrey - heatCapacity: 10000 - type: tile id: FloorShuttleBlack + parent: BaseStationTile name: tiles-black-shuttle-floor sprite: /Textures/Tiles/shuttleblack.png variants: 4 @@ -1241,16 +990,11 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemShuttleBlack - heatCapacity: 10000 - type: tile id: FloorShuttleBlue + parent: BaseStationTile name: tiles-blue-shuttle-floor sprite: /Textures/Tiles/shuttleblue.png variants: 4 @@ -1259,16 +1003,11 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemShuttleBlue - heatCapacity: 10000 - type: tile id: FloorShuttleOrange + parent: BaseStationTile name: tiles-orange-shuttle-floor sprite: /Textures/Tiles/shuttleorange.png variants: 4 @@ -1277,16 +1016,11 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemShuttleOrange - heatCapacity: 10000 - type: tile id: FloorShuttlePurple + parent: BaseStationTile name: tiles-purple-shuttle-floor sprite: /Textures/Tiles/shuttlepurple.png variants: 4 @@ -1295,16 +1029,11 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemShuttlePurple - heatCapacity: 10000 - type: tile id: FloorShuttleRed + parent: BaseStationTile name: tiles-red-shuttle-floor sprite: /Textures/Tiles/shuttlered.png variants: 4 @@ -1313,42 +1042,31 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemShuttleRed - heatCapacity: 10000 # Materials - type: tile id: FloorGold + parent: BaseStationTile name: tiles-gold-tile sprite: /Textures/Tiles/gold.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemGold - heatCapacity: 10000 - type: tile id: FloorSilver + parent: BaseStationTile name: tiles-silver-tile sprite: /Textures/Tiles/silver.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemSilver - heatCapacity: 10000 - type: tile id: FloorGlass + parent: BaseStationTile name: tiles-glass-floor sprite: /Textures/Tiles/glass.png variants: 4 @@ -1357,16 +1075,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: SheetGlass1 - heatCapacity: 10000 - type: tile id: FloorRGlass + parent: BaseStationTile name: tiles-reinforced-glass-floor sprite: /Textures/Tiles/rglass.png variants: 4 @@ -1375,65 +1090,49 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: SheetRGlass1 - heatCapacity: 10000 - type: tile id: FloorMetalFoam + parent: BaseStationTile name: tiles-metal-foam sprite: /Textures/Tiles/foammetal.png variants: 1 placementVariants: - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepHull itemDrop: SheetSteel1 - heatCapacity: 10000 # Circuits - type: tile id: FloorGreenCircuit + parent: BaseStationTile name: tiles-green-circuit-floor sprite: /Textures/Tiles/green_circuit.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepHull itemDrop: FloorTileItemGCircuit - heatCapacity: 10000 - type: tile id: FloorBlueCircuit + parent: BaseStationTile name: tiles-blue-circuit-floor sprite: /Textures/Tiles/blue_circuit.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepHull itemDrop: FloorTileItemBCircuit - heatCapacity: 10000 - type: tile id: FloorRedCircuit + parent: BaseStationTile name: tiles-red-circuit-floor sprite: /Textures/Tiles/red_circuit.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepHull itemDrop: FloorTileItemRCircuit - heatCapacity: 10000 # Terrain - type: tile @@ -1542,19 +1241,19 @@ sprite: /Textures/Tiles/Asteroid/asteroid.png variants: 13 placementVariants: - - 0.8 - - 0.0166 #Should be roughly 20%.... I think??? I don't know dude, I'm just a YAML monkey. - - 0.0166 - - 0.0166 - - 0.0166 - - 0.0166 - - 0.0166 - - 0.0166 - - 0.0166 - - 0.0166 - - 0.0166 - - 0.0116 - - 0.0116 + - 0.8 + - 0.0166 #Should be roughly 20%.... I think??? I don't know dude, I'm just a YAML monkey. + - 0.0166 + - 0.0166 + - 0.0166 + - 0.0166 + - 0.0166 + - 0.0166 + - 0.0166 + - 0.0166 + - 0.0166 + - 0.0116 + - 0.0116 baseTurf: Space isSubfloor: true footstepSounds: @@ -1793,6 +1492,7 @@ - type: tile id: FloorFlesh + parent: BaseStationTile name: tiles-flesh-floor sprite: /Textures/Tiles/meat.png variants: 4 @@ -1801,29 +1501,23 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepBlood itemDrop: FloorTileItemFlesh friction: 0.25 #slippy - heatCapacity: 10000 - type: tile id: FloorTechMaint2 + parent: BaseStationTile name: tiles-techmaint2-floor sprite: /Textures/Tiles/steel_maint.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepHull itemDrop: FloorTileItemSteelMaint - heatCapacity: 10000 - type: tile id: FloorTechMaint3 + parent: BaseStationTile name: tiles-techmaint3-floor sprite: /Textures/Tiles/grating_maint.png variants: 4 @@ -1832,16 +1526,13 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepHull itemDrop: FloorTileItemGratingMaint - heatCapacity: 10000 - type: tile id: FloorWoodTile + parent: BaseStationTile name: tiles-wood2 sprite: /Textures/Tiles/wood_tile.png variants: 4 @@ -1850,18 +1541,15 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepWood barestepSounds: collection: BarestepWood itemDrop: FloorTileItemWoodPattern - heatCapacity: 10000 - type: tile id: FloorBrokenWood + parent: BaseStationTile name: tiles-wood3 sprite: /Textures/Tiles/wood_broken.png variants: 7 @@ -1873,29 +1561,22 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepWood barestepSounds: collection: BarestepWood itemDrop: MaterialWoodPlank1 - heatCapacity: 10000 - type: tile id: FloorWebTile + parent: BaseStationTile name: tiles-web sprite: /Textures/Tiles/Misc/Web/web_tile.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepCarpet barestepSounds: collection: BarestepCarpet itemDrop: FloorTileItemWeb - heatCapacity: 10000 - type: tile id: FloorChromite @@ -1919,21 +1600,18 @@ #Hull tiles - type: tile id: FloorHull + parent: BaseStationTile name: tiles-hull sprite: /Textures/Tiles/hull.png - baseTurf: Plating - isSubfloor: false footstepSounds: collection: FootstepHull itemDrop: FloorTileItemSteel #probably should not be normally obtainable, but the game shits itself and dies when you try to put null here - heatCapacity: 10000 - type: tile id: FloorHullReinforced + parent: BaseStationTile name: tiles-hull-reinforced sprite: /Textures/Tiles/hull_reinforced.png - baseTurf: Plating - isSubfloor: false footstepSounds: collection: FootstepHull itemDrop: FloorTileItemSteel @@ -1942,10 +1620,9 @@ - type: tile id: FloorReinforcedHardened + parent: BaseStationTile name: tiles-super-reinforced-floor sprite: /Textures/Tiles/super_reinforced.png - baseTurf: Plating - isSubfloor: false footstepSounds: collection: FootstepHull itemDrop: PartRodMetal1 #same case as FloorHull @@ -1955,6 +1632,7 @@ # Grass - type: tile id: FloorAstroGrass + parent: BaseStationTile name: tiles-astro-grass sprite: /Textures/Tiles/Planet/Grass/grass.png variants: 4 @@ -1973,28 +1651,23 @@ East: /Textures/Tiles/Planet/Grass/double_edge.png North: /Textures/Tiles/Planet/Grass/double_edge.png West: /Textures/Tiles/Planet/Grass/double_edge.png - baseTurf: Plating - isSubfloor: false deconstructTools: [ Cutting ] footstepSounds: collection: FootstepGrass itemDrop: FloorTileItemAstroGrass - heatCapacity: 10000 - type: tile id: FloorMowedAstroGrass + parent: [ BaseStationTile, FloorGrass ] name: tiles-mowed-astro-grass - parent: FloorGrass - baseTurf: Plating isSubfloor: false deconstructTools: [ Cutting ] itemDrop: FloorTileItemMowedAstroGrass - type: tile id: FloorJungleAstroGrass + parent: [ BaseStationTile, FloorGrassJungle ] name: tiles-jungle-astro-grass - parent: FloorGrassJungle - baseTurf: Plating isSubfloor: false deconstructTools: [ Cutting ] itemDrop: FloorTileItemJungleAstroGrass @@ -2020,22 +1693,18 @@ # Ice - type: tile id: FloorAstroIce + parent: BaseStationTile name: tiles-astro-ice sprite: /Textures/Tiles/Planet/Snow/ice.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] friction: 0.05 - heatCapacity: 10000 mobFriction: 0.05 mobAcceleration: 0.1 itemDrop: FloorTileItemAstroIce - type: tile id: FloorAstroSnow + parent: [ BaseStationTile, FloorSnow ] name: tiles-astro-snow - parent: FloorSnow - baseTurf: Plating isSubfloor: false deconstructTools: [ Prying ] itemDrop: FloorTileItemAstroSnow @@ -2043,9 +1712,8 @@ # Asteroid Sand - type: tile id: FloorAstroAsteroidSand + parent: [ BaseStationTile, FloorAsteroidSand ] name: tiles-astro-asteroid-sand - parent: FloorAsteroidSand - baseTurf: Plating isSubfloor: false deconstructTools: [ Prying ] itemDrop: FloorTileItemAstroAsteroidSand @@ -2053,9 +1721,8 @@ - type: tile id: FloorAstroAsteroidSandBorderless + parent: [ BaseStationTile, FloorAsteroidSandBorderless ] name: tiles-astro-asteroid-sand-borderless - parent: FloorAsteroidSandBorderless - baseTurf: Plating isSubfloor: false deconstructTools: [ Prying ] itemDrop: FloorTileItemAstroAsteroidSand @@ -2093,6 +1760,7 @@ - type: tile id: FloorWoodLarge + parent: BaseStationTile name: tiles-wood-large sprite: /Textures/Tiles/wood_large.png variants: 4 @@ -2101,15 +1769,11 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepWood barestepSounds: collection: BarestepWood itemDrop: FloorTileItemWoodLarge - heatCapacity: 10000 - type: tile id: FloorXenoborg @@ -2125,44 +1789,36 @@ - type: tile id: FloorXeno + parent: BaseStationTile name: tiles-xeno-floor sprite: /Textures/Tiles/xeno_flooring.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepBlood itemDrop: FloorTileItemXeno - heatCapacity: 10000 - type: tile id: FloorXenoSteel + parent: BaseStationTile name: tiles-xeno-steel sprite: /Textures/Tiles/xeno_steel.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemXenoSteel - heatCapacity: 10000 allowRotationMirror: true - type: tile id: FloorXenoSteelCorner + parent: BaseStationTile name: tiles-xeno-steel-corner sprite: /Textures/Tiles/xeno_steel_corner.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile itemDrop: FloorTileItemXenoSteelCorner - heatCapacity: 10000 allowRotationMirror: true - type: tile id: FloorDarkSquiggly + parent: BaseStationTile name: tiles-dark-squiggly sprite: /Textures/Tiles/dark_squiggly.png variants: 4 @@ -2171,29 +1827,21 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] - footstepSounds: - collection: FootstepFloor itemDrop: FloorTileItemDarkSquiggly - heatCapacity: 10000 allowRotationMirror: true - type: tile id: FloorXenoMaint + parent: BaseStationTile name: tiles-xeno-maint sprite: /Textures/Tiles/xeno_maint.png - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepHull itemDrop: FloorTileItemXenoMaint - heatCapacity: 10000 - type: tile id: FloorWhiteMarble + parent: BaseStationTile name: tiles-white-marble sprite: /Textures/Tiles/white_marble.png variants: 8 @@ -2206,17 +1854,14 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile friction: 0.8 itemDrop: FloorTileItemWhiteMarble - heatCapacity: 10000 - type: tile id: FloorDarkMarble + parent: BaseStationTile name: tiles-dark-marble sprite: /Textures/Tiles/dark_marble.png variants: 8 @@ -2229,17 +1874,14 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile friction: 0.8 itemDrop: FloorTileItemDarkMarble - heatCapacity: 10000 - type: tile id: FloorPlasmaMarble + parent: BaseStationTile name: tiles-plasma-marble sprite: /Textures/Tiles/plasmarble.png variants: 8 @@ -2252,17 +1894,14 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile friction: 0.8 itemDrop: FloorTileItemPlasmaMarble - heatCapacity: 10000 - type: tile id: FloorUraniumMarble + parent: BaseStationTile name: tiles-uranium-marble sprite: /Textures/Tiles/uranium_marble.png variants: 8 @@ -2275,11 +1914,7 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Plating - isSubfloor: false - deconstructTools: [ Prying ] footstepSounds: collection: FootstepTile friction: 0.8 itemDrop: FloorTileItemUraniumMarble - heatCapacity: 10000 diff --git a/Resources/Prototypes/Tiles/planet.yml b/Resources/Prototypes/Tiles/planet.yml index f0ef0f1346..15134868b5 100644 --- a/Resources/Prototypes/Tiles/planet.yml +++ b/Resources/Prototypes/Tiles/planet.yml @@ -1,5 +1,16 @@ +- type: tile + id: BaseFloorPlanet + abstract: true + heatCapacity: 10000 + isSubfloor: true + footstepSounds: + collection: FootstepAsteroid + weather: true + indestructible: true + - type: tile id: FloorPlanetDirt + parent: BaseFloorPlanet name: tiles-dirt-planet-floor sprite: /Textures/Tiles/Planet/dirt.rsi/dirt.png variants: 4 @@ -8,16 +19,11 @@ - 1.0 - 1.0 - 1.0 - isSubfloor: true - footstepSounds: - collection: FootstepAsteroid - heatCapacity: 10000 - weather: true - indestructible: true # Desert - type: tile id: FloorDesert + parent: BaseFloorPlanet name: tiles-desert-floor sprite: /Textures/Tiles/Planet/Desert/desert.png variants: 6 @@ -28,12 +34,6 @@ - 1.0 - 1.0 - 1.0 - isSubfloor: true - footstepSounds: - collection: FootstepAsteroid - heatCapacity: 10000 - weather: true - indestructible: true - type: tile id: FloorLowDesert @@ -47,16 +47,11 @@ - 1.0 - 1.0 - 1.0 - isSubfloor: true - footstepSounds: - collection: FootstepAsteroid - heatCapacity: 10000 - weather: true - indestructible: true # Grass - type: tile id: FloorPlanetGrass + parent: BaseFloorPlanet name: tiles-grass-planet-floor sprite: /Textures/Tiles/Planet/Grass/grass.png variants: 4 @@ -76,29 +71,20 @@ North: /Textures/Tiles/Planet/Grass/double_edge.png West: /Textures/Tiles/Planet/Grass/double_edge.png baseTurf: FloorPlanetDirt - isSubfloor: true footstepSounds: collection: FootstepGrass - itemDrop: FloorTileItemGrass - heatCapacity: 10000 - weather: true - indestructible: true # Lava - type: tile id: FloorBasalt name: tiles-basalt-floor + parent: BaseFloorPlanet sprite: /Textures/Tiles/Planet/basalt.png - isSubfloor: true - footstepSounds: - collection: FootstepAsteroid - heatCapacity: 10000 - weather: true - indestructible: true # Snow - type: tile id: FloorSnow + parent: BaseFloorPlanet name: tiles-snow sprite: /Textures/Tiles/Planet/Snow/snow.png variants: 13 @@ -122,12 +108,8 @@ East: /Textures/Tiles/Planet/Snow/snow_double_edge_east.png North: /Textures/Tiles/Planet/Snow/snow_double_edge_north.png West: /Textures/Tiles/Planet/Snow/snow_double_edge_west.png - isSubfloor: true footstepSounds: collection: FootstepSnow - heatCapacity: 10000 - weather: true - indestructible: true # Ice - type: tile @@ -144,6 +126,7 @@ # Dug snow - type: tile id: FloorSnowDug + parent: BaseFloorPlanet name: tiles-snow-dug sprite: /Textures/Tiles/Planet/Snow/snow_dug.png edgeSpritePriority: 1 @@ -152,11 +135,7 @@ East: /Textures/Tiles/Planet/Snow/snow_dug_double_edge_east.png North: /Textures/Tiles/Planet/Snow/snow_dug_double_edge_north.png West: /Textures/Tiles/Planet/Snow/snow_dug_double_edge_west.png - isSubfloor: true footstepSounds: collection: FootstepSnow - heatCapacity: 10000 - weather: true - indestructible: true # Wasteland diff --git a/Resources/Prototypes/Tiles/plating.yml b/Resources/Prototypes/Tiles/plating.yml index 2a85222c3a..910f941bee 100644 --- a/Resources/Prototypes/Tiles/plating.yml +++ b/Resources/Prototypes/Tiles/plating.yml @@ -1,16 +1,24 @@ - type: tile - id: Plating - name: tiles-plating - sprite: /Textures/Tiles/plating.png - baseTurf: Lattice + id: BasePlating + abstract: true + friction: 1.5 + heatCapacity: 10000 isSubfloor: true footstepSounds: collection: FootstepPlating - friction: 1.5 - heatCapacity: 10000 + baseTurf: Lattice + baseWhitelist: + - TrainLattice + +- type: tile + id: Plating + parent: BasePlating + name: tiles-plating + sprite: /Textures/Tiles/plating.png - type: tile id: PlatingDamaged + parent: BasePlating name: tiles-plating sprite: /Textures/Tiles/plating_damaged.png variants: 3 @@ -18,45 +26,25 @@ - 1.0 - 1.0 - 1.0 - baseTurf: Lattice - isSubfloor: true - footstepSounds: - collection: FootstepPlating - friction: 1.5 - heatCapacity: 10000 - type: tile id: PlatingAsteroid + parent: BasePlating name: tiles-asteroid-plating sprite: /Textures/Tiles/Asteroid/asteroid_plating.png - baseTurf: Lattice - isSubfloor: true - footstepSounds: - collection: FootstepPlating - friction: 1.5 - heatCapacity: 10000 - type: tile id: PlatingBrass + parent: BasePlating name: tiles-brass-plating sprite: /Textures/Tiles/Misc/clockwork/clockwork_floor.png - baseTurf: Lattice - isSubfloor: true - footstepSounds: - collection: FootstepPlating - friction: 1.5 - heatCapacity: 10000 - type: tile id: PlatingSnow name: tiles-snow-plating + parent: BasePlating sprite: /Textures/Tiles/snow_plating.png #Not in the snow planet RSI because it doesn't have any metadata. Should probably be moved to its own folder later. - baseTurf: Lattice - isSubfloor: true - footstepSounds: - collection: FootstepPlating friction: 0.75 #a little less then actual snow - heatCapacity: 10000 - type: tile id: PlatingIronsand @@ -87,16 +75,8 @@ - type: tile id: TrainLattice + parent: Lattice name: tiles-lattice-train sprite: /Textures/Tiles/latticeTrain.png - baseTurf: Space - isSubfloor: true - deconstructTools: [ Cutting ] - weather: true footstepSounds: collection: FootstepPlating - friction: 1.5 - isSpace: true - itemDrop: PartRodMetal1 - heatCapacity: 10000 - mass: 200 From 0673809762ee1cf769d5ec4eb18fe2e5892b8f06 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 20 Jan 2026 20:52:23 +0000 Subject: [PATCH 12/60] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 1b821e4ff1..75e920b08c 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Princess-Cheeseballs - changes: - - message: You can no longer crawl under counters, or tables without space underneath. - type: Tweak - id: 8926 - time: '2025-09-04T21:03:10.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/40099 - author: CawsForConcern changes: - message: Iced Coffee now contains Theobromine @@ -3955,3 +3948,11 @@ id: 9432 time: '2026-01-20T19:29:53.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/42550 +- author: Velken, Murphyneko + changes: + - message: Station tiles and floors can now be placed on planets, asteroids and + different platings. + type: Tweak + id: 9433 + time: '2026-01-20T20:51:15.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/42543 From 892209db0184e5dfc09c0672cb5823fa58fb5cc4 Mon Sep 17 00:00:00 2001 From: osjarw <62134478+osjarw@users.noreply.github.com> Date: Tue, 20 Jan 2026 22:37:51 +0200 Subject: [PATCH 13/60] Medibot doAfter and some other improvements (#32932) * Medibot doAfter and some other improvements * Clean-up * Review fixes * the army of medibots chasing someone is really funny * misc cleanup --------- Co-authored-by: SlamBamActionman Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com> --- .../TargetInRangePrecondition.cs | 6 +- .../PrimitiveTasks/Operators/SpeakOperator.cs | 23 +++++ .../Specific/EnsureComponentOperator.cs | 29 ++++++ .../Specific/PickNearbyInjectableOperator.cs | 34 ++++--- .../Operators/UtilityOperator.cs | 50 +++++++--- .../NPC/Systems/NPCUtilitySystem.cs | 8 ++ Content.Shared/Silicons/Bots/MedibotSystem.cs | 1 - Resources/Prototypes/NPCs/medibot.yml | 92 +++++++++++-------- Resources/Prototypes/NPCs/utility_queries.yml | 23 +++++ 9 files changed, 202 insertions(+), 64 deletions(-) create mode 100644 Content.Server/NPC/HTN/PrimitiveTasks/Operators/Specific/EnsureComponentOperator.cs diff --git a/Content.Server/NPC/HTN/Preconditions/TargetInRangePrecondition.cs b/Content.Server/NPC/HTN/Preconditions/TargetInRangePrecondition.cs index 921b5ffa22..b88d17b13d 100644 --- a/Content.Server/NPC/HTN/Preconditions/TargetInRangePrecondition.cs +++ b/Content.Server/NPC/HTN/Preconditions/TargetInRangePrecondition.cs @@ -20,6 +20,9 @@ public sealed partial class TargetInRangePrecondition : HTNPrecondition _transformSystem = sysManager.GetEntitySystem(); } + [DataField] + public bool Invert; + public override bool IsMet(NPCBlackboard blackboard) { if (!blackboard.TryGetValue(NPCBlackboard.OwnerCoordinates, out var coordinates, _entManager)) @@ -29,7 +32,6 @@ public sealed partial class TargetInRangePrecondition : HTNPrecondition !_entManager.TryGetComponent(target, out var targetXform)) return false; - var transformSystem = _entManager.System; - return _transformSystem.InRange(coordinates, targetXform.Coordinates, blackboard.GetValueOrDefault(RangeKey, _entManager)); + return _transformSystem.InRange(coordinates, targetXform.Coordinates, blackboard.GetValueOrDefault(RangeKey, _entManager)) ^ Invert; } } diff --git a/Content.Server/NPC/HTN/PrimitiveTasks/Operators/SpeakOperator.cs b/Content.Server/NPC/HTN/PrimitiveTasks/Operators/SpeakOperator.cs index f3b977518b..98c63dd912 100644 --- a/Content.Server/NPC/HTN/PrimitiveTasks/Operators/SpeakOperator.cs +++ b/Content.Server/NPC/HTN/PrimitiveTasks/Operators/SpeakOperator.cs @@ -1,4 +1,5 @@ using Content.Server.Chat.Systems; +using Robust.Shared.Timing; using Content.Shared.Chat; using Content.Shared.Dataset; using Content.Shared.Random.Helpers; @@ -11,6 +12,8 @@ namespace Content.Server.NPC.HTN.PrimitiveTasks.Operators; public sealed partial class SpeakOperator : HTNOperator { + [Dependency] private readonly IEntityManager _entMan = default!; + [Dependency] private readonly IGameTiming _gameTiming = default!; private ChatSystem _chat = default!; [Dependency] private readonly IPrototypeManager _proto = default!; [Dependency] private readonly IRobustRandom _random = default!; @@ -24,6 +27,18 @@ public sealed partial class SpeakOperator : HTNOperator [DataField] public bool Hidden; + /// + /// Skip speaking for `cooldown` seconds, intended to stop spam + /// + [DataField] + public TimeSpan Cooldown = TimeSpan.Zero; + + /// + /// Define what key is used for storing the cooldown + /// + [DataField] + public string CooldownID = string.Empty; + public override void Initialize(IEntitySystemManager sysManager) { base.Initialize(sysManager); @@ -32,6 +47,14 @@ public sealed partial class SpeakOperator : HTNOperator public override HTNOperatorStatus Update(NPCBlackboard blackboard, float frameTime) { + if (Cooldown != TimeSpan.Zero && CooldownID != string.Empty) + { + if (blackboard.TryGetValue(CooldownID, out var nextSpeechTime, _entMan) && _gameTiming.CurTime < nextSpeechTime) + return base.Update(blackboard, frameTime); + + blackboard.SetValue(CooldownID, _gameTiming.CurTime + Cooldown); + } + LocId speechLocId; switch (Speech) { diff --git a/Content.Server/NPC/HTN/PrimitiveTasks/Operators/Specific/EnsureComponentOperator.cs b/Content.Server/NPC/HTN/PrimitiveTasks/Operators/Specific/EnsureComponentOperator.cs new file mode 100644 index 0000000000..317b7aacf2 --- /dev/null +++ b/Content.Server/NPC/HTN/PrimitiveTasks/Operators/Specific/EnsureComponentOperator.cs @@ -0,0 +1,29 @@ +using Robust.Shared.Prototypes; + +namespace Content.Server.NPC.HTN.PrimitiveTasks.Operators.Specific; + +public sealed partial class EnsureComponentOperator : HTNOperator +{ + [Dependency] private readonly IEntityManager _entMan = default!; + + /// + /// Target entity to inject. + /// + [DataField(required: true)] + public string TargetKey = string.Empty; + + /// + /// Components to be added + /// + [DataField] + public ComponentRegistry Components = new(); + + public override HTNOperatorStatus Update(NPCBlackboard blackboard, float frameTime) + { + if (!blackboard.TryGetValue(TargetKey, out var target, _entMan)) + return HTNOperatorStatus.Failed; + + _entMan.AddComponents(target, Components); + return HTNOperatorStatus.Finished; + } +} diff --git a/Content.Server/NPC/HTN/PrimitiveTasks/Operators/Specific/PickNearbyInjectableOperator.cs b/Content.Server/NPC/HTN/PrimitiveTasks/Operators/Specific/PickNearbyInjectableOperator.cs index 67a8198c38..6f656b0e29 100644 --- a/Content.Server/NPC/HTN/PrimitiveTasks/Operators/Specific/PickNearbyInjectableOperator.cs +++ b/Content.Server/NPC/HTN/PrimitiveTasks/Operators/Specific/PickNearbyInjectableOperator.cs @@ -14,10 +14,15 @@ namespace Content.Server.NPC.HTN.PrimitiveTasks.Operators.Specific; public sealed partial class PickNearbyInjectableOperator : HTNOperator { [Dependency] private readonly IEntityManager _entManager = default!; - private EntityLookupSystem _lookup = default!; private MedibotSystem _medibot = default!; private PathfindingSystem _pathfinding = default!; + private EntityQuery _damageQuery = default!; + private EntityQuery _injectQuery = default!; + private EntityQuery _recentlyInjected = default!; + private EntityQuery _mobState = default!; + private EntityQuery _emaggedQuery = default!; + [DataField("rangeKey")] public string RangeKey = NPCBlackboard.MedibotInjectRange; /// @@ -35,9 +40,14 @@ public sealed partial class PickNearbyInjectableOperator : HTNOperator public override void Initialize(IEntitySystemManager sysManager) { base.Initialize(sysManager); - _lookup = sysManager.GetEntitySystem(); _medibot = sysManager.GetEntitySystem(); _pathfinding = sysManager.GetEntitySystem(); + + _damageQuery = _entManager.GetEntityQuery(); + _injectQuery = _entManager.GetEntityQuery(); + _recentlyInjected = _entManager.GetEntityQuery(); + _mobState = _entManager.GetEntityQuery(); + _emaggedQuery = _entManager.GetEntityQuery(); } public override async Task<(bool Valid, Dictionary? Effects)> Plan(NPCBlackboard blackboard, @@ -51,18 +61,16 @@ public sealed partial class PickNearbyInjectableOperator : HTNOperator if (!_entManager.TryGetComponent(owner, out var medibot)) return (false, null); - var damageQuery = _entManager.GetEntityQuery(); - var injectQuery = _entManager.GetEntityQuery(); - var recentlyInjected = _entManager.GetEntityQuery(); - var mobState = _entManager.GetEntityQuery(); - var emaggedQuery = _entManager.GetEntityQuery(); - foreach (var entity in _lookup.GetEntitiesInRange(owner, range)) + if (!blackboard.TryGetValue>>("TargetList", out var patients, _entManager)) + return (false, null); + + foreach (var (entity, _) in patients) { - if (mobState.TryGetComponent(entity, out var state) && - injectQuery.HasComponent(entity) && - damageQuery.TryGetComponent(entity, out var damage) && - !recentlyInjected.HasComponent(entity)) + if (_mobState.TryGetComponent(entity, out var state) && + _injectQuery.HasComponent(entity) && + _damageQuery.TryGetComponent(entity, out var damage) && + !_recentlyInjected.HasComponent(entity)) { // no treating dead bodies if (!_medibot.TryGetTreatment(medibot, state.CurrentState, out var treatment)) @@ -71,7 +79,7 @@ public sealed partial class PickNearbyInjectableOperator : HTNOperator // Only go towards a target if the bot can actually help them or if the medibot is emagged // note: this and the actual injecting don't check for specific damage types so for example, // radiation damage will trigger injection but the tricordrazine won't heal it. - if (!emaggedQuery.HasComponent(entity) && !treatment.IsValid(damage.TotalDamage)) + if (!_emaggedQuery.HasComponent(entity) && !treatment.IsValid(damage.TotalDamage)) continue; //Needed to make sure it doesn't sometimes stop right outside it's interaction range diff --git a/Content.Server/NPC/HTN/PrimitiveTasks/Operators/UtilityOperator.cs b/Content.Server/NPC/HTN/PrimitiveTasks/Operators/UtilityOperator.cs index 2bf9b09b10..16f18ae59a 100644 --- a/Content.Server/NPC/HTN/PrimitiveTasks/Operators/UtilityOperator.cs +++ b/Content.Server/NPC/HTN/PrimitiveTasks/Operators/UtilityOperator.cs @@ -1,3 +1,4 @@ +using System.Linq; using System.Numerics; using System.Threading; using System.Threading.Tasks; @@ -15,7 +16,9 @@ public sealed partial class UtilityOperator : HTNOperator { [Dependency] private readonly IEntityManager _entManager = default!; - [DataField("key")] public string Key = "Target"; + [DataField] public string Key = "Target"; + + [DataField] public ReturnTypeResult ReturnType = ReturnTypeResult.Highest; /// /// The EntityCoordinates of the specified target. @@ -30,19 +33,44 @@ public sealed partial class UtilityOperator : HTNOperator CancellationToken cancelToken) { var result = _entManager.System().GetEntities(blackboard, Prototype); - var target = result.GetHighest(); + Dictionary effects; - if (!target.IsValid()) + switch (ReturnType) { - return (false, new Dictionary()); + case ReturnTypeResult.Highest: + var target = result.GetHighest(); + + if (!target.IsValid()) + { + return (false, new Dictionary()); + } + + effects = new Dictionary() + { + {Key, target}, + {KeyCoordinates, new EntityCoordinates(target, Vector2.Zero)}, + }; + + return (true, effects); + + case ReturnTypeResult.EnumerableDescending: + var targetList = result.GetEnumerable(); + + effects = new Dictionary() + { + {"TargetList", targetList}, + }; + + return (true, effects); + + default: + throw new NotImplementedException(); } + } - var effects = new Dictionary() - { - {Key, target}, - {KeyCoordinates, new EntityCoordinates(target, Vector2.Zero)} - }; - - return (true, effects); + public enum ReturnTypeResult + { + Highest, + EnumerableDescending } } diff --git a/Content.Server/NPC/Systems/NPCUtilitySystem.cs b/Content.Server/NPC/Systems/NPCUtilitySystem.cs index 9605b62847..9b791ae2f0 100644 --- a/Content.Server/NPC/Systems/NPCUtilitySystem.cs +++ b/Content.Server/NPC/Systems/NPCUtilitySystem.cs @@ -602,4 +602,12 @@ public readonly record struct UtilityResult(Dictionary Entitie return Entities.MinBy(x => x.Value).Key; } + + /// + /// Returns a GetEnumerable sorted in descending score. + /// + public IEnumerable> GetEnumerable() + { + return Entities.OrderByDescending(x => x.Value); + } } diff --git a/Content.Shared/Silicons/Bots/MedibotSystem.cs b/Content.Shared/Silicons/Bots/MedibotSystem.cs index 2e832da456..b960e19068 100644 --- a/Content.Shared/Silicons/Bots/MedibotSystem.cs +++ b/Content.Shared/Silicons/Bots/MedibotSystem.cs @@ -132,7 +132,6 @@ public sealed class MedibotSystem : EntitySystem if (!TryGetTreatment(medibot.Comp, mobState.CurrentState, out var treatment)) return false; if (!_solutionContainer.TryGetInjectableSolution(target, out var injectable, out _)) return false; - EnsureComp(target); _solutionContainer.TryAddReagent(injectable.Value, treatment.Reagent, treatment.Quantity, out _); _popup.PopupEntity(Loc.GetString("injector-component-feel-prick-message"), target, target); diff --git a/Resources/Prototypes/NPCs/medibot.yml b/Resources/Prototypes/NPCs/medibot.yml index 1cd6352e16..cd15904ff6 100644 --- a/Resources/Prototypes/NPCs/medibot.yml +++ b/Resources/Prototypes/NPCs/medibot.yml @@ -1,46 +1,64 @@ - type: htnCompound id: MedibotCompound branches: - - tasks: - - !type:HTNCompoundTask - task: InjectNearbyCompound - - tasks: - - !type:HTNCompoundTask - task: IdleCompound + # Observe for targets + - tasks: + - !type:HTNPrimitiveTask + operator: !type:UtilityOperator + proto: MedibotInjectable + returnType: EnumerableDescending + - !type:HTNPrimitiveTask + operator: !type:PickNearbyInjectableOperator + targetKey: Target + targetMoveKey: TargetCoordinates + + - !type:HTNCompoundTask + task: MedibotGetInRange + - !type:HTNCompoundTask + task: MedibotInject + + # Idle when targets not found + - tasks: + - !type:HTNCompoundTask + task: IdleCompound - type: htnCompound - id: InjectNearbyCompound + id: MedibotGetInRange branches: - - tasks: - # TODO: Kill this shit - - !type:HTNPrimitiveTask - operator: !type:PickNearbyInjectableOperator - targetKey: InjectTarget - targetMoveKey: TargetCoordinates + # Move to target if out of range + - preconditions: + - !type:TargetInRangePrecondition + invert: true + targetKey: Target + rangeKey: InteractRange + tasks: + - !type:HTNPrimitiveTask + operator: !type:SpeakOperator + speech: !type:SingleSpeakOperatorSpeech + line: medibot-start-inject + hidden: true + cooldownID: medibot-start-inject + cooldown: 5 + - !type:HTNPrimitiveTask + operator: !type:MoveToOperator + pathfindInPlanning: false - - !type:HTNPrimitiveTask - operator: !type:SpeakOperator - speech: !type:SingleSpeakOperatorSpeech - line: medibot-start-inject - hidden: true + - tasks: + - !type:HTNPrimitiveTask + operator: !type:NoOperator - - !type:HTNPrimitiveTask - operator: !type:MoveToOperator - pathfindInPlanning: false +# Should be called only when in range +- type: htnCompound + id: MedibotInject + branches: + - tasks: + - !type:HTNPrimitiveTask + operator: !type:InteractWithOperator + expectDoAfter: true + targetKey: Target + - !type:HTNPrimitiveTask + operator: !type:EnsureComponentOperator + targetKey: Target + components: + - type: NPCRecentlyInjected - - !type:HTNPrimitiveTask - operator: !type:SetFloatOperator - targetKey: IdleTime - amount: 3 - - - !type:HTNPrimitiveTask - operator: !type:WaitOperator - key: IdleTime - preconditions: - - !type:KeyExistsPrecondition - key: IdleTime - - # TODO: Kill this - - !type:HTNPrimitiveTask - operator: !type:MedibotInjectOperator - targetKey: InjectTarget diff --git a/Resources/Prototypes/NPCs/utility_queries.yml b/Resources/Prototypes/NPCs/utility_queries.yml index 3274bdf977..49b085b29a 100644 --- a/Resources/Prototypes/NPCs/utility_queries.yml +++ b/Resources/Prototypes/NPCs/utility_queries.yml @@ -202,6 +202,29 @@ - !type:TargetInLOSOrCurrentCon curve: !type:BoolCurve +- type: utilityQuery + id: MedibotInjectable + query: + - !type:ComponentQuery + components: + - type: InjectableSolution + - type: Damageable + - type: MobState + - !type:ComponentFilter + components: + - type: NPCRecentlyInjected + retainWithComp: false + considerations: + - !type:TargetIsCritCon + curve: !type:QuadraticCurve + slope: 1 + exponent: 1 + yOffset: 0.1 + xOffset: 0 + - !type:TargetDistanceCon + curve: !type:PresetCurve + preset: TargetDistance + - type: utilityQuery id: NearbyGunTargets query: From a913216675d8a474ed6276636af26ceb737722e7 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 20 Jan 2026 21:08:46 +0000 Subject: [PATCH 14/60] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 75e920b08c..84f1052e58 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: CawsForConcern - changes: - - message: Iced Coffee now contains Theobromine - type: Fix - id: 8927 - time: '2025-09-04T22:46:44.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/40063 - author: ArtisticRoomba changes: - message: Fixed Atmospherics Delta-Pressure damage not capping damage beyond a @@ -3956,3 +3949,10 @@ id: 9433 time: '2026-01-20T20:51:15.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/42543 +- author: osjarw + changes: + - message: Now the Medibot has a DoAfter bar, displaying injection progress. + type: Add + id: 9434 + time: '2026-01-20T21:07:38.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32932 From 4216e29fdb2097d8a5459d2445d8639172da62c9 Mon Sep 17 00:00:00 2001 From: pathetic meowmeow Date: Tue, 20 Jan 2026 15:58:44 -0500 Subject: [PATCH 15/60] Fix sexed organs (#42554) --- Content.Shared/Body/SharedVisualBodySystem.cs | 6 ++++ Content.Shared/Body/VisualOrganComponent.cs | 6 ++++ Resources/Prototypes/Body/Species/human.yml | 4 +-- Resources/Prototypes/Body/Species/moth.yml | 2 +- .../Prototypes/Body/Species/reptilian.yml | 4 +-- .../Prototypes/Body/Species/skeleton.yml | 2 +- Resources/Prototypes/Body/Species/slime.yml | 2 +- .../Prototypes/Body/Species/vulpkanin.yml | 2 +- Resources/Prototypes/Body/base_organs.yml | 34 +++++++++++++++--- Resources/Prototypes/Species/diona.yml | 2 ++ .../parts.rsi/{head_f.png => head.png} | Bin .../Species/Arachnid/parts.rsi/head_m.png | Bin 423 -> 0 bytes .../Mobs/Species/Arachnid/parts.rsi/meta.json | 12 ++----- .../parts.rsi/{torso_f.png => torso.png} | Bin .../Species/Arachnid/parts.rsi/torso_m.png | Bin 761 -> 0 bytes .../Diona/parts.rsi/{head_f.png => head.png} | Bin .../Mobs/Species/Diona/parts.rsi/head_m.png | Bin 787 -> 0 bytes .../Mobs/Species/Diona/parts.rsi/meta.json | 12 ++----- .../parts.rsi/{torso_f.png => torso.png} | Bin .../Mobs/Species/Diona/parts.rsi/torso_m.png | Bin 1681 -> 0 bytes .../parts.rsi/{head_f.png => head.png} | Bin .../Species/Gingerbread/parts.rsi/head_m.png | Bin 350 -> 0 bytes .../Species/Gingerbread/parts.rsi/meta.json | 12 ++----- .../parts.rsi/{torso_f.png => torso.png} | Bin .../Species/Gingerbread/parts.rsi/torso_m.png | Bin 479 -> 0 bytes .../Moth/parts.rsi/{head_f.png => head.png} | Bin .../Mobs/Species/Moth/parts.rsi/head_m.png | Bin 324 -> 0 bytes .../Mobs/Species/Moth/parts.rsi/meta.json | 6 +--- .../parts.rsi/{head_f.png => head.png} | Bin .../Species/Skeleton/parts.rsi/head_m.png | Bin 957 -> 0 bytes .../Mobs/Species/Skeleton/parts.rsi/meta.json | 6 +--- .../Slime/parts.rsi/{head_f.png => head.png} | Bin .../Mobs/Species/Slime/parts.rsi/head_m.png | Bin 339 -> 0 bytes .../Mobs/Species/Slime/parts.rsi/meta.json | 6 +--- .../parts.rsi/{head_f.png => head.png} | Bin .../Species/Vulpkanin/parts.rsi/head_m.png | Bin 598 -> 0 bytes .../Species/Vulpkanin/parts.rsi/meta.json | 6 +--- 37 files changed, 62 insertions(+), 62 deletions(-) rename Resources/Textures/Mobs/Species/Arachnid/parts.rsi/{head_f.png => head.png} (100%) delete mode 100644 Resources/Textures/Mobs/Species/Arachnid/parts.rsi/head_m.png rename Resources/Textures/Mobs/Species/Arachnid/parts.rsi/{torso_f.png => torso.png} (100%) delete mode 100644 Resources/Textures/Mobs/Species/Arachnid/parts.rsi/torso_m.png rename Resources/Textures/Mobs/Species/Diona/parts.rsi/{head_f.png => head.png} (100%) delete mode 100644 Resources/Textures/Mobs/Species/Diona/parts.rsi/head_m.png rename Resources/Textures/Mobs/Species/Diona/parts.rsi/{torso_f.png => torso.png} (100%) delete mode 100644 Resources/Textures/Mobs/Species/Diona/parts.rsi/torso_m.png rename Resources/Textures/Mobs/Species/Gingerbread/parts.rsi/{head_f.png => head.png} (100%) delete mode 100644 Resources/Textures/Mobs/Species/Gingerbread/parts.rsi/head_m.png rename Resources/Textures/Mobs/Species/Gingerbread/parts.rsi/{torso_f.png => torso.png} (100%) delete mode 100644 Resources/Textures/Mobs/Species/Gingerbread/parts.rsi/torso_m.png rename Resources/Textures/Mobs/Species/Moth/parts.rsi/{head_f.png => head.png} (100%) delete mode 100644 Resources/Textures/Mobs/Species/Moth/parts.rsi/head_m.png rename Resources/Textures/Mobs/Species/Skeleton/parts.rsi/{head_f.png => head.png} (100%) delete mode 100644 Resources/Textures/Mobs/Species/Skeleton/parts.rsi/head_m.png rename Resources/Textures/Mobs/Species/Slime/parts.rsi/{head_f.png => head.png} (100%) delete mode 100644 Resources/Textures/Mobs/Species/Slime/parts.rsi/head_m.png rename Resources/Textures/Mobs/Species/Vulpkanin/parts.rsi/{head_f.png => head.png} (100%) delete mode 100644 Resources/Textures/Mobs/Species/Vulpkanin/parts.rsi/head_m.png diff --git a/Content.Shared/Body/SharedVisualBodySystem.cs b/Content.Shared/Body/SharedVisualBodySystem.cs index 52f5bbfd5d..677d4f46dd 100644 --- a/Content.Shared/Body/SharedVisualBodySystem.cs +++ b/Content.Shared/Body/SharedVisualBodySystem.cs @@ -138,6 +138,12 @@ public abstract partial class SharedVisualBodySystem : EntitySystem SetOrganColor(ent, ent.Comp.Profile.EyeColor); else SetOrganColor(ent, ent.Comp.Profile.SkinColor); + + if (ent.Comp.SexStateOverrides is { } overrides && overrides.TryGetValue(data.Sex, out var state)) + { + ent.Comp.Data.State = state; + SetOrganAppearance(ent, ent.Comp.Data); + } } private void OnMarkingsOrganApplyMarkings(Entity ent, ref BodyRelayedEvent args) diff --git a/Content.Shared/Body/VisualOrganComponent.cs b/Content.Shared/Body/VisualOrganComponent.cs index 10214f9f2a..9ca2c36374 100644 --- a/Content.Shared/Body/VisualOrganComponent.cs +++ b/Content.Shared/Body/VisualOrganComponent.cs @@ -20,6 +20,12 @@ public sealed partial class VisualOrganComponent : Component [DataField(required: true), AutoNetworkedField, AlwaysPushInheritance] public PrototypeLayerData Data; + /// + /// When applying a profile, if the sex is present in this dictionary, overrides the state of the data. + /// + [DataField] + public Dictionary? SexStateOverrides; + [DataField, AutoNetworkedField] public OrganProfileData Profile = new(); } diff --git a/Resources/Prototypes/Body/Species/human.yml b/Resources/Prototypes/Body/Species/human.yml index aa67c15ec7..7c0ee31f32 100644 --- a/Resources/Prototypes/Body/Species/human.yml +++ b/Resources/Prototypes/Body/Species/human.yml @@ -124,11 +124,11 @@ group: Human - type: entity - parent: [ OrganBaseTorso, OrganHumanExternal ] + parent: [ OrganBaseTorsoSexed, OrganBaseTorso, OrganHumanExternal ] id: OrganHumanTorso - type: entity - parent: [ OrganBaseHead, OrganHumanExternal ] + parent: [ OrganBaseHeadSexed, OrganBaseHead, OrganHumanExternal ] id: OrganHumanHead - type: entity diff --git a/Resources/Prototypes/Body/Species/moth.yml b/Resources/Prototypes/Body/Species/moth.yml index 22c08d540f..a5a1874169 100644 --- a/Resources/Prototypes/Body/Species/moth.yml +++ b/Resources/Prototypes/Body/Species/moth.yml @@ -233,7 +233,7 @@ sprite: Mobs/Species/Moth/parts.rsi - type: entity - parent: [ OrganBaseTorso, OrganMothExternal ] + parent: [ OrganBaseTorsoSexed, OrganBaseTorso, OrganMothExternal ] id: OrganMothTorso - type: entity diff --git a/Resources/Prototypes/Body/Species/reptilian.yml b/Resources/Prototypes/Body/Species/reptilian.yml index 2c0d18056b..3dd25cf468 100644 --- a/Resources/Prototypes/Body/Species/reptilian.yml +++ b/Resources/Prototypes/Body/Species/reptilian.yml @@ -203,11 +203,11 @@ group: Reptilian - type: entity - parent: [ OrganBaseTorso, OrganReptilianExternal ] + parent: [ OrganBaseTorsoSexed, OrganBaseTorso, OrganReptilianExternal ] id: OrganReptilianTorso - type: entity - parent: [ OrganBaseHead, OrganReptilianExternal ] + parent: [ OrganBaseHeadSexed, OrganBaseHead, OrganReptilianExternal ] id: OrganReptilianHead - type: entity diff --git a/Resources/Prototypes/Body/Species/skeleton.yml b/Resources/Prototypes/Body/Species/skeleton.yml index dd2004aeba..ebe5bb6e28 100644 --- a/Resources/Prototypes/Body/Species/skeleton.yml +++ b/Resources/Prototypes/Body/Species/skeleton.yml @@ -204,7 +204,7 @@ group: Skeleton - type: entity - parent: [ OrganBaseTorso, OrganSkeletonPersonExternal ] + parent: [ OrganBaseTorsoSexed, OrganBaseTorso, OrganSkeletonPersonExternal ] id: OrganSkeletonPersonTorso - type: entity diff --git a/Resources/Prototypes/Body/Species/slime.yml b/Resources/Prototypes/Body/Species/slime.yml index fd238c5525..a72a949b77 100644 --- a/Resources/Prototypes/Body/Species/slime.yml +++ b/Resources/Prototypes/Body/Species/slime.yml @@ -210,7 +210,7 @@ group: Slime - type: entity - parent: [ OrganBaseTorso, OrganSlimePersonExternal ] + parent: [ OrganBaseTorsoSexed, OrganBaseTorso, OrganSlimePersonExternal ] id: OrganSlimePersonTorso - type: entity diff --git a/Resources/Prototypes/Body/Species/vulpkanin.yml b/Resources/Prototypes/Body/Species/vulpkanin.yml index 2e3557c8d7..9209e4c8b7 100644 --- a/Resources/Prototypes/Body/Species/vulpkanin.yml +++ b/Resources/Prototypes/Body/Species/vulpkanin.yml @@ -234,7 +234,7 @@ sprite: Mobs/Species/Vulpkanin/parts.rsi - type: entity - parent: [ OrganBaseTorso, OrganVulpkaninExternal ] + parent: [ OrganBaseTorsoSexed, OrganBaseTorso, OrganVulpkaninExternal ] id: OrganVulpkaninTorso - type: entity diff --git a/Resources/Prototypes/Body/base_organs.yml b/Resources/Prototypes/Body/base_organs.yml index 1dca7f2a0e..0a5607acef 100644 --- a/Resources/Prototypes/Body/base_organs.yml +++ b/Resources/Prototypes/Body/base_organs.yml @@ -31,11 +31,11 @@ - type: Organ category: Torso - type: Sprite - state: torso_m + state: torso - type: VisualOrgan layer: enum.HumanoidVisualLayers.Chest data: - state: torso_m + state: torso - type: VisualOrganMarkings markingData: layers: @@ -54,11 +54,11 @@ - type: Organ category: Head - type: Sprite - state: head_m + state: head - type: VisualOrgan layer: enum.HumanoidVisualLayers.Head data: - state: head_m + state: head - type: VisualOrganMarkings markingData: layers: @@ -435,3 +435,29 @@ components: - type: Sprite sprite: Mobs/Species/Human/organs.rsi + +- type: entity + id: OrganBaseHeadSexed + abstract: true + components: + - type: Sprite + state: head_m + - type: VisualOrgan + data: + state: head_m + sexStateOverrides: + Male: head_m + Female: head_f + +- type: entity + id: OrganBaseTorsoSexed + abstract: true + components: + - type: Sprite + state: torso_m + - type: VisualOrgan + data: + state: torso_m + sexStateOverrides: + Male: torso_m + Female: torso_f diff --git a/Resources/Prototypes/Species/diona.yml b/Resources/Prototypes/Species/diona.yml index 6dfd358720..880cdfdf84 100644 --- a/Resources/Prototypes/Species/diona.yml +++ b/Resources/Prototypes/Species/diona.yml @@ -10,3 +10,5 @@ femaleFirstNames: NamesDionaFirst lastNames: NamesDionaLast naming: TheFirstofLast + sexes: + - Unsexed diff --git a/Resources/Textures/Mobs/Species/Arachnid/parts.rsi/head_f.png b/Resources/Textures/Mobs/Species/Arachnid/parts.rsi/head.png similarity index 100% rename from Resources/Textures/Mobs/Species/Arachnid/parts.rsi/head_f.png rename to Resources/Textures/Mobs/Species/Arachnid/parts.rsi/head.png diff --git a/Resources/Textures/Mobs/Species/Arachnid/parts.rsi/head_m.png b/Resources/Textures/Mobs/Species/Arachnid/parts.rsi/head_m.png deleted file mode 100644 index 505fd68dfff1d43de919b97b28c82a9917c10531..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 423 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEV9fJ$aSW-L^Y)fuU$cP#>xD$= zsP0M1KX~>{wU$31yZsT5Ws~=5Q6bUjUe_C{i98kMTmO4%3Mu{H*z9Sj#$<6eYWJV3 zdzPuxNVFZZoZkK6UiWd!?Ahl_J&$W@-Lc#*k^Jd*q0DN%LsNgst3Hg%?lKe-4D6Y> z<=Rj2o!QnOcD(a`EbP;@ED_-uJ|Nd%{QO4ezUiyh3OH$v?#o^c)m4 z)UVrO`SWt*(YsS}1-Duohd=GU^;qUqY*d|O^1O9ZMU>8(AG@%t?NZIhRcn72Wyf9* zwbVE``T1wYHCx;@>=ZVpM_-t`?u^zgrfS_+QQvMocKM{M5XG=>@01|R3EVT5c^X~O zyli5t>%^g$fAaSBhVT14H80wn-^ro3;+Q?-^UqD|vkyu#!W_fEQ1MoH`Fz<;`M~_=oqsD&~+W!w(S)^in?d&qL$K!DW0A*Q12+>P>Aq2{@?5+DWu|5&s?Ogrj z8bE0XJZHcfkk0TioU1=O1BkLL;l1x=fcL(4XO@IAFec8xRI)OlEX!WyrJ$@qtP>Z& zT>az#5G0&hb>D?DfSxwq`%n~fyd-Y{5(UsRu{KI67-Qc4;gwvmwbu7BQDe-a{{x2l z#u#*6ho7IH5R5hS8HQmPhG7_nVHk#C80O1Ko)2i6W}~&f3n8GCf^!bn>lH;&toBY$ zYkj}nZrEAPCfTjooes;PGxg9#&Xtl4E%8{eB-BB)i=XbzLL%;(?3| zsO!4dj|UztvdiVN%9~kwD_m98)4YJSHhDlJt1n=!4dT>{7|skV32Bjb>?f7k0T@ed z>d)tjzk{{5*BXnvLMhvDb^wNHH5^V@GYE0^#e))4USE;51*Rr6*5p$jvH~y^9=5C3 z;8Py5YQQk+zm)-FUVw#bz*yAR-UegZv4_QLKy2iPx%%}GQ-RCt{2+A&KbK^O+$cWo~q6RugrG}~UXm4&bbu1k?Xu#Wf-=B(!jOzll$ zbB*W^IM5)b9+Fuv3di?!Np|P^c6KIPybBOQ>Jma& zA%u0G4-R+jYsdd9t`6tix<2ZT75JVYgs@V|fOBr+IL6P(ceGo50DzRzdpuv9bE}jJ zo?i6y<^t_jzgGPXpM!-EHc1i)A#AVLLpuF|cB>D@7@{b8)16p_n{?O5^yUJ$iwU~% ze(f>6CO}FVjK^c#E+)vb3}3ePP?lxw;&sgDb3{>ue${c4@WIk&$zeqr-r2XP!D z3`1mDw)X!3xAd>CuVIWqS(a!t8i=9@TI;I*!QrkwIl5e_ms%@edwaXO_&m>%W!c)d z!eG>~Ns?eZ9s_t>@=B?oEX!(J2qElX)LHrBftoAeBXG`bqtO6k?8TCIzrDv(=tFVN zt$X$pLI@#*5JCtcgb+dqAs^tqBJp+AUO7nkTii4lb*ziVf%l2Wf#vrBrZ*QjKf7A0 z>l2N6H9Qz~Y&YJAF{aAoqbRDfL16up;4VH%5)?%Nt##E4V+?72`eH&}L(I3rXQ7%%< R;nDyA002ovPDHLkV1gnzZ%hCH diff --git a/Resources/Textures/Mobs/Species/Diona/parts.rsi/meta.json b/Resources/Textures/Mobs/Species/Diona/parts.rsi/meta.json index bc90b509a1..1c6e521c5f 100644 --- a/Resources/Textures/Mobs/Species/Diona/parts.rsi/meta.json +++ b/Resources/Textures/Mobs/Species/Diona/parts.rsi/meta.json @@ -11,11 +11,7 @@ "name": "full" }, { - "name": "head_f", - "directions": 4 - }, - { - "name": "head_m", + "name": "head", "directions": 4 }, { @@ -51,11 +47,7 @@ "directions": 4 }, { - "name": "torso_f", - "directions": 4 - }, - { - "name": "torso_m", + "name": "torso", "directions": 4 } ] diff --git a/Resources/Textures/Mobs/Species/Diona/parts.rsi/torso_f.png b/Resources/Textures/Mobs/Species/Diona/parts.rsi/torso.png similarity index 100% rename from Resources/Textures/Mobs/Species/Diona/parts.rsi/torso_f.png rename to Resources/Textures/Mobs/Species/Diona/parts.rsi/torso.png diff --git a/Resources/Textures/Mobs/Species/Diona/parts.rsi/torso_m.png b/Resources/Textures/Mobs/Species/Diona/parts.rsi/torso_m.png deleted file mode 100644 index 6aaf688a4a2a9660c8cde04371c1f4854bb82647..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1681 zcmV;C25$L@P)Px*OG!jQRCt{2nm=gVRv5s4cXaYSF!%5xi~>PpVr$A^5W!xG2r-l_f#Bfbx@1wj z1cD$_;Rtj|Z^?8+Xb5x(g_uKhaVP>0o@B?P2v`^`LBb$sj5?@Kl^w@Expz$i`YlE} z`F(%%-uphi?}LVhhK7cQhK6qd*LCyiwc|MXS z02x#T38${S$88 zy45la1Jg9QDwp}~kDu5(*u=6dEXyK_A_jv&E!pQTfglJNjYhfe`y91*c=2qzB znx;t@hTJso1I5%-#Bu!D^OIsQ7_=P6$#q@l+O=yufAyFjRvzN}K3SHP(|$M{)=t32 zR#qiL$_Wa~vWVlDUa!|u%Vio)fFd6-41*vDIBM@OKeK|mR=LPT_kb!do^7{Q*N$@$ z3M|Vi@B6-AhDVhJ)={7?YStwmj+wtw+!I1v%6O>Z0Dy%nw>kW{1z2U=S4oNEIQg`V zuc9(dP18;+#k!28@ao!PzHsF>hGCq@_n}CXbX^CE-FjNnU*WoLuA)zxrdXE6{{B9X z9zB|_^Hq9z`U?#H`63(+hk4yx{A+VzCRk-O8s%!YKh563=0p_wuNiyVtgbEQSLHIm znVZe}#!`NB;m6vaqYVuW4Gj$q4Gj$q4Gj(75b6-*YwMv(^OybqTHo%~GlBQX+p;K9 zJs()#SSqW@ljii;>NxJt;8&`8)hWx@IuyMsm$7Y|IF1pa;N9VCuIqPD)#D^dNYfP9 zt~2b|%+IXw^Urs3DJ4M=pzAvC4qtQfyb@q{>@jN{i2-G8&@c>UKixn|3Gknu1Swfk zN@hRZD2@Npaou^;ngI%RB(Azbf}p5bNh$xH0nf4!QtDG83jjd$)zF&5%8HRynSqLGh)1Wo>COAK{ zQkJ2V$5mfI9LFR{Qnadw+sKX1M00^RFLzt(8%w!ryh@S;DP>utRgOrK1k180-pP2O zxKk44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`031o(uwrutdUs)^b$E#v9ar=GU@oq3_VcI^U6>a)ej11XM@Aiv=M5WsM+ zd2b|8jI+QavY3H^?=T269?xHq0uEaj?;r@2oM!q8k9L|a=XaE2IICGV=BIDem z)4V&JTV>*=oLu&E@jpI?DZ=6R&mHMCW-_e4-*co%UoByO<)P|V%;E<9|IWlk-)GYM zaov(Z-9_b2J;%B2{I4to-sjhHTLdt2Ezojc3}Mx1IK?>Ozh=?bw;mk(rwMSpw7YZa z^Zup3BONdNd%&r!&>4RAn#h8Wy$duZ!mbe`njxgN@xNAVXKAa diff --git a/Resources/Textures/Mobs/Species/Gingerbread/parts.rsi/meta.json b/Resources/Textures/Mobs/Species/Gingerbread/parts.rsi/meta.json index fec31a494d..8ddf28a359 100644 --- a/Resources/Textures/Mobs/Species/Gingerbread/parts.rsi/meta.json +++ b/Resources/Textures/Mobs/Species/Gingerbread/parts.rsi/meta.json @@ -11,11 +11,7 @@ "name": "full" }, { - "name": "head_f", - "directions": 4 - }, - { - "name": "head_m", + "name": "head", "directions": 4 }, { @@ -51,11 +47,7 @@ "directions": 4 }, { - "name": "torso_f", - "directions": 4 - }, - { - "name": "torso_m", + "name": "torso", "directions": 4 } ] diff --git a/Resources/Textures/Mobs/Species/Gingerbread/parts.rsi/torso_f.png b/Resources/Textures/Mobs/Species/Gingerbread/parts.rsi/torso.png similarity index 100% rename from Resources/Textures/Mobs/Species/Gingerbread/parts.rsi/torso_f.png rename to Resources/Textures/Mobs/Species/Gingerbread/parts.rsi/torso.png diff --git a/Resources/Textures/Mobs/Species/Gingerbread/parts.rsi/torso_m.png b/Resources/Textures/Mobs/Species/Gingerbread/parts.rsi/torso_m.png deleted file mode 100644 index bde0508ffdad7ff047dd9ec790f7880328fd6a8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 479 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`032l#}z?%K60)z7LkFLYK-)YGR=cTCHuigWd})d$MI(l}WKq&Q20{DS{O z0Yk8Vg%C)vz$3Dlfr0NZ2s0kfUy%Z|%)-;fF(ktM?X8qcJK|!UZ}s@e3GkDhhm7@4j+hD7;+Hd@G;JL2|j|9Ht0|L%|M`o9Awpx)saTIb&wfjDsiMG3Yuk zx+(U+cqL=brwz&s_gd6s_lmszzD+EF(S>^h!y1&s&Fiw_<7$s>N;Q2A_SW z-k;y5Y~heu*2lPBY;g?3BU_Jl##qLA=>?(90u$ab-BH@x{VKMhRDxk$wgA%;TL*3d z<|Ul3`=0M(^T}Cmr8-01)PW^%#(@h5+pXpQ&ppRCx#oQ)<35H08GGl+<#VizJ8ggg O%i!ti=d#Wzp$P!}^TR#> diff --git a/Resources/Textures/Mobs/Species/Moth/parts.rsi/head_f.png b/Resources/Textures/Mobs/Species/Moth/parts.rsi/head.png similarity index 100% rename from Resources/Textures/Mobs/Species/Moth/parts.rsi/head_f.png rename to Resources/Textures/Mobs/Species/Moth/parts.rsi/head.png diff --git a/Resources/Textures/Mobs/Species/Moth/parts.rsi/head_m.png b/Resources/Textures/Mobs/Species/Moth/parts.rsi/head_m.png deleted file mode 100644 index 6788ca0c00ec97aef9640dce281da510f9fb3282..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 324 zcmV-K0lWT*P)zEu?lsuwx3ENf3Z5Yl9#z<~4#K4)+77m;v$6 zoUD(j0$j{9f2dD&t6SY_yT+qm>sr?x{mWQBk%7#Fr-f8!AOf?gAFLbpEJFwhlnL?8nmf7hL1yTfJAJAQlqh;pZaO!*d693@ch8+10X z5D63t=flO%6bgaJVxBYefmbq~fTrtP%oAA*y}5yR;N}h}E~hKE`z=BUA%qY@JTV`B WRC5fOPpIDj0000EX>4Tx04R}tkv&MmKpe$i(~2S$hjvhL$WWauh)QvkDi*;)X)CnqU~=gfG-*gu zTpR`0f`cE6RRdDMv7M|nl9zMR_MR}I@xj)B%QZO0d6N%@TZdk+{#Ia3F z=e$oGW@SksJ|~_q=z_$LT$f#b<6LrB;F)0~o1P~Q6N{xTmb;jh4V8F?IHIT;NklE# zOz{RF`qIAne$g1?`tf$V^`7TL#y7^ex~^T!cc09sk8g}|)>>z+bzRrp#$zRM zzxe(ctq6T^Ypsjp*wuCI;y8BJ+EJ1)#{9AHzaO9YKYS8VN``REX$sQAb46V7C0V{n9XK5olXdX0Q>#^;hRyGWzUnz-CDdt}&fXaXz21+wHvKdnIg)aawB#A<(uh(li})CpN~oD2i_Hd7i(^Nkl|ML_|bH zL_|bHMD(Hjm-_+0_&xe}jo-J(M{iHx#lLTnzok7t@d>WA2JpKhETu#gMgRONkI?r8 z`;Ks*gVx$B{@?=igb=rJS(eE2+;^(M@;pabmapbAly?Ezw!Mv&Qt1B`W6)YdDfMbD zLk+$l@oTejT5CutaX1`sxm>&x@KF>6ilRUmhFGuHZ)(wd-4N-EP!t7Ls}-b_D9aL6 zRryRe*mAjqQVLDeAW0HbRposOcom=*h9O>FUTzB?<0$HjpQb71^EtvWd~`@6A|fIp fA|fIpqR-aWvmCDf39RRA=v-l!M7(7ysQqTBh=QB4c5qOGEuz!(U0~D!2cha_K|) zKdbr|N9TN&OV;_eC-=71W{!D3Px%5J^NqRCt{2+Rw|PKo|$`uRCjpDDaeLc_ZqN=uh|5)%y%thzAdLvG50siO-%C zZEIh&9}BzB2L^PK`94kq9%cZ>{%gjNhl!}YJ{%4-ola2{1(wU@!*L8_P{bcIyOdIG z{(8M`L!Qn1wiqHp5CoKE84(d>Sw=w+Q1jbudsSw)d7ejFYpUy-wASQ#9=$5>+hT$s zpsK2ymBT5JEs}4FJ$uLkI!ew&A+&TmJ&rb;+_U zn5Nn5H%$|kWxYKgLF9HBtco0 zz5cQ+ktE6B@G+7kK^(`pUaxJ7<9KxbsIS2Bc%<2E*7j#vhOe)$yJNlME3n(`Xti3k z_xt@G+wInPMIK{}F~%5Uj4{R-V~jDz*gtFZ`2eL90l;Rn`KwzoQc42Qo)P%S`2Z;; zRaHe*RZ$d0B&8g+G5Jg#Qc8-VsIB88H8c|th9Tv7-a8-Q`~Jsf!1w*$8HGI0DGbB+ z?+!OEmkR)(C<+us0U-n&#~Cx!D30Sm2+`(uYZ_|Q1OPyqroDS1#Mq$*yUn_-Wr&~8 z6q2SX=JPpt<807*qoM6N<$f@$Orl>h($ diff --git a/Resources/Textures/Mobs/Species/Vulpkanin/parts.rsi/meta.json b/Resources/Textures/Mobs/Species/Vulpkanin/parts.rsi/meta.json index fb445e85a1..c2eb0e3b26 100644 --- a/Resources/Textures/Mobs/Species/Vulpkanin/parts.rsi/meta.json +++ b/Resources/Textures/Mobs/Species/Vulpkanin/parts.rsi/meta.json @@ -14,11 +14,7 @@ "name": "icon" }, { - "name": "head_f", - "directions": 4 - }, - { - "name": "head_m", + "name": "head", "directions": 4 }, { From 2cd832b67e0022cf6e58336460c2704ed017d3ca Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 20 Jan 2026 21:25:14 +0000 Subject: [PATCH 16/60] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 84f1052e58..097f1ab66f 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: ArtisticRoomba - changes: - - message: Fixed Atmospherics Delta-Pressure damage not capping damage beyond a - certain pressure for applicable structures. - type: Fix - id: 8928 - time: '2025-09-05T07:09:54.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/40125 - author: ArtisticRoomba changes: - message: Shutters of all types (regular, windowed, radiation) now take Delta-Pressure @@ -3956,3 +3948,10 @@ id: 9434 time: '2026-01-20T21:07:38.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32932 +- author: sowelipililimute + changes: + - message: Species now properly render their sex-specific sprites + type: Fix + id: 9435 + time: '2026-01-20T21:24:06.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/42554 From cf19062414953efdbacf0dbfaf0184b22df3669b Mon Sep 17 00:00:00 2001 From: ScarKy0 <106310278+ScarKy0@users.noreply.github.com> Date: Tue, 20 Jan 2026 22:11:40 +0100 Subject: [PATCH 17/60] Fix handheld grinder and reaction mixer audio stacking (#42498) * yeah * AAAAAAAAAAAAAAAAAAAAAAA --------- Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com> --- .../Chemistry/Reaction/ReactionMixerSystem.cs | 13 +++++-------- .../EntitySystems/HandheldGrinderSystem.cs | 6 ++---- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/Content.Shared/Chemistry/Reaction/ReactionMixerSystem.cs b/Content.Shared/Chemistry/Reaction/ReactionMixerSystem.cs index 030c8b890c..bd5b481517 100644 --- a/Content.Shared/Chemistry/Reaction/ReactionMixerSystem.cs +++ b/Content.Shared/Chemistry/Reaction/ReactionMixerSystem.cs @@ -42,9 +42,6 @@ public sealed partial class ReactionMixerSystem : EntitySystem if (!CanMix(ent.AsNullable(), ent)) return; - if (_net.IsServer) // Cannot cancel predicted audio. - ent.Comp.AudioStream = _audio.PlayPvs(ent.Comp.MixingSound, ent)?.Entity; - var doAfterArgs = new DoAfterArgs(EntityManager, args.User, ent.Comp.TimeToMix, @@ -60,7 +57,8 @@ public sealed partial class ReactionMixerSystem : EntitySystem BreakOnMove = true }; - _doAfter.TryStartDoAfter(doAfterArgs); + if (_doAfter.TryStartDoAfter(doAfterArgs)) + ent.Comp.AudioStream = _audio.PlayPredicted(ent.Comp.MixingSound, ent, args.User)?.Entity ?? ent.Comp.AudioStream; } private void OnAfterInteract(Entity ent, ref AfterInteractEvent args) @@ -71,12 +69,11 @@ public sealed partial class ReactionMixerSystem : EntitySystem if (!CanMix(ent.AsNullable(), args.Target.Value)) return; - if (_net.IsServer) // Cannot cancel predicted audio. - ent.Comp.AudioStream = _audio.PlayPvs(ent.Comp.MixingSound, ent)?.Entity; - var doAfterArgs = new DoAfterArgs(EntityManager, args.User, ent.Comp.TimeToMix, new ReactionMixDoAfterEvent(), ent, args.Target.Value, ent); - _doAfter.TryStartDoAfter(doAfterArgs); + if (_doAfter.TryStartDoAfter(doAfterArgs)) + ent.Comp.AudioStream = _audio.PlayPredicted(ent.Comp.MixingSound, ent, args.User)?.Entity ?? ent.Comp.AudioStream; + args.Handled = true; } diff --git a/Content.Shared/Kitchen/Components/EntitySystems/HandheldGrinderSystem.cs b/Content.Shared/Kitchen/Components/EntitySystems/HandheldGrinderSystem.cs index 30e61c8501..26130d6d30 100644 --- a/Content.Shared/Kitchen/Components/EntitySystems/HandheldGrinderSystem.cs +++ b/Content.Shared/Kitchen/Components/EntitySystems/HandheldGrinderSystem.cs @@ -67,9 +67,6 @@ internal sealed class HandheldGrinderSystem : EntitySystem if (!_solution.ResolveSolution(ent.Owner, ent.Comp.SolutionName, ref ent.Comp.GrinderSolution)) return; - if (_net.IsServer) // Cannot cancel predicted audio. - ent.Comp.AudioStream = _audio.PlayPvs(ent.Comp.Sound, ent)?.Entity; - var doAfter = new DoAfterArgs(EntityManager, args.User, ent.Comp.DoAfterDuration, new HandheldGrinderDoAfterEvent(), ent, ent, item) { NeedHand = true, @@ -79,7 +76,8 @@ internal sealed class HandheldGrinderSystem : EntitySystem BreakOnMove = true }; - _doAfter.TryStartDoAfter(doAfter); + if (_doAfter.TryStartDoAfter(doAfter)) + ent.Comp.AudioStream = _audio.PlayPredicted(ent.Comp.Sound, ent, args.User)?.Entity ?? ent.Comp.AudioStream; } private void OnHandheldDoAfter(Entity ent, ref HandheldGrinderDoAfterEvent args) From 423accb9a243bfcb40c843bdddd8e6ea181c3d67 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 20 Jan 2026 21:41:49 +0000 Subject: [PATCH 18/60] Automatic changelog update --- Resources/Changelog/Changelog.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 097f1ab66f..dac8bdd0c3 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: ArtisticRoomba - changes: - - message: Shutters of all types (regular, windowed, radiation) now take Delta-Pressure - damage. Blast doors still don't take Delta-Pressure damage. - type: Fix - id: 8929 - time: '2025-09-05T07:47:31.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/40126 - author: ScarKy0, FairlySadPanda, TiniestShark, MilonPL, beck-thompson changes: - message: The vulpkanin species can now be selected as a roundstart species. @@ -3955,3 +3947,11 @@ id: 9435 time: '2026-01-20T21:24:06.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/42554 +- author: ScarKy0 + changes: + - message: Audio for mortars, juicers and the paperfuge can no longer be stacked + infinitely. + type: Fix + id: 9436 + time: '2026-01-20T21:40:41.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/42498 From bd40b85d7408459804f19d5feab2c7b9f13a1368 Mon Sep 17 00:00:00 2001 From: Pok <113675512+Pok27@users.noreply.github.com> Date: Tue, 20 Jan 2026 23:18:36 +0200 Subject: [PATCH 19/60] Towel migration (#42555) Update migration.yml --- Resources/migration.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Resources/migration.yml b/Resources/migration.yml index 53ec5f9717..71959fec08 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -785,4 +785,22 @@ TorsoSkeleton: OrganSkeletonPersonTorso RightArmSkeleton: OrganSkeletonPersonArmRight # 2026-01-19 +TowelColorPurple: null +TowelColorRed: null +TowelColorBlue: null +TowelColorDarkBlue: null +TowelColorLightBlue: null +TowelColorTeal: null +TowelColorBrown: null +TowelColorLightBrown: null +TowelColorGray: null +TowelColorGreen: null +TowelColorDarkGreen: null +TowelColorGold: null TowelColorOrange: null +TowelColorBlack: null +TowelColorPink: null +TowelColorYellow: null +TowelColorMaroon: null +TowelColorSilver: null +TowelColorMime: null From fb82cadc9f42cb5b119fe0150b2b6481669391e9 Mon Sep 17 00:00:00 2001 From: Velken <8467292+Velken@users.noreply.github.com> Date: Tue, 20 Jan 2026 18:48:30 -0300 Subject: [PATCH 20/60] "Fix RCD light spam, bypass of indestructible tiles and some plating fixes" - Tile Stacking got merged, time to bring back the RCD fix (#42556) * No more light spam, and some plating fixes * fixed test --- .../Tests/Construction/RCDTest.cs | 8 +-- .../Interaction/InteractionTest.Constants.cs | 1 + Content.Shared/RCD/RCDPrototype.cs | 6 ++ Content.Shared/RCD/Systems/RCDSystem.cs | 60 ++++++++++++++++--- .../en-US/rcd/components/rcd-component.ftl | 1 + Resources/Prototypes/RCD/rcd.yml | 6 +- Resources/Prototypes/Tiles/floors.yml | 13 +--- Resources/Prototypes/Tiles/plating.yml | 28 +++++++++ 8 files changed, 100 insertions(+), 23 deletions(-) diff --git a/Content.IntegrationTests/Tests/Construction/RCDTest.cs b/Content.IntegrationTests/Tests/Construction/RCDTest.cs index f20a0cb434..770f004517 100644 --- a/Content.IntegrationTests/Tests/Construction/RCDTest.cs +++ b/Content.IntegrationTests/Tests/Construction/RCDTest.cs @@ -38,9 +38,9 @@ public sealed class RCDTest : InteractionTest pEast = Transform.WithEntityId(pEast, MapData.Grid); pWest = Transform.WithEntityId(pWest, MapData.Grid); - await SetTile(Plating, SEntMan.GetNetCoordinates(pNorth), MapData.Grid); - await SetTile(Plating, SEntMan.GetNetCoordinates(pSouth), MapData.Grid); - await SetTile(Plating, SEntMan.GetNetCoordinates(pEast), MapData.Grid); + await SetTile(PlatingRCD, SEntMan.GetNetCoordinates(pNorth), MapData.Grid); + await SetTile(PlatingRCD, SEntMan.GetNetCoordinates(pSouth), MapData.Grid); + await SetTile(PlatingRCD, SEntMan.GetNetCoordinates(pEast), MapData.Grid); await SetTile(Lattice, SEntMan.GetNetCoordinates(pWest), MapData.Grid); Assert.That(ProtoMan.TryIndex(RCDSettingWall, out var settingWall), $"RCDPrototype not found: {RCDSettingWall}."); @@ -194,7 +194,7 @@ public sealed class RCDTest : InteractionTest // Deconstruct the steel tile. await Interact(null, pEast); await RunSeconds(settingDeconstructTile.Delay + 1); // wait for the deconstruction to finish - await AssertTile(Plating, FromServer(pEast)); + await AssertTile(PlatingRCD, FromServer(pEast)); // Check that the cost of the deconstruction was subtracted from the current charges. newCharges = sCharges.GetCurrentCharges(ToServer(rcd)); diff --git a/Content.IntegrationTests/Tests/Interaction/InteractionTest.Constants.cs b/Content.IntegrationTests/Tests/Interaction/InteractionTest.Constants.cs index 3cfb5a5dba..1aac18f3a4 100644 --- a/Content.IntegrationTests/Tests/Interaction/InteractionTest.Constants.cs +++ b/Content.IntegrationTests/Tests/Interaction/InteractionTest.Constants.cs @@ -11,6 +11,7 @@ public abstract partial class InteractionTest protected const string Floor = "FloorSteel"; protected const string FloorItem = "FloorTileItemSteel"; protected const string Plating = "Plating"; + protected const string PlatingRCD = "PlatingRCD"; protected const string Lattice = "Lattice"; protected const string PlatingBrass = "PlatingBrass"; diff --git a/Content.Shared/RCD/RCDPrototype.cs b/Content.Shared/RCD/RCDPrototype.cs index 2be5e1c776..c4ac7148f7 100644 --- a/Content.Shared/RCD/RCDPrototype.cs +++ b/Content.Shared/RCD/RCDPrototype.cs @@ -44,6 +44,12 @@ public sealed partial class RCDPrototype : IPrototype [DataField, ViewVariables(VVAccess.ReadOnly)] public string? Prototype { get; private set; } + /// + /// If true, allows placing the entity once per direction (North, West, South and East) + /// + [DataField, ViewVariables(VVAccess.ReadOnly)] + public bool AllowMultiDirection { get; private set; } + /// /// Number of charges consumed when the operation is completed /// diff --git a/Content.Shared/RCD/Systems/RCDSystem.cs b/Content.Shared/RCD/Systems/RCDSystem.cs index 8b3ae16a1f..2f1f058a1b 100644 --- a/Content.Shared/RCD/Systems/RCDSystem.cs +++ b/Content.Shared/RCD/Systems/RCDSystem.cs @@ -146,7 +146,7 @@ public sealed class RCDSystem : EntitySystem var tile = _mapSystem.GetTileRef(gridUid.Value, mapGrid, location); var position = _mapSystem.TileIndicesFor(gridUid.Value, mapGrid, location); - if (!IsRCDOperationStillValid(uid, component, gridUid.Value, mapGrid, tile, position, args.Target, args.User)) + if (!IsRCDOperationStillValid(uid, component, gridUid.Value, mapGrid, tile, position, component.ConstructionDirection, args.Target, args.User)) return; if (!_net.IsServer) @@ -254,7 +254,7 @@ public sealed class RCDSystem : EntitySystem var tile = _mapSystem.GetTileRef(gridUid.Value, mapGrid, location); var position = _mapSystem.TileIndicesFor(gridUid.Value, mapGrid, location); - if (!IsRCDOperationStillValid(uid, component, gridUid.Value, mapGrid, tile, position, args.Event.Target, args.Event.User)) + if (!IsRCDOperationStillValid(uid, component, gridUid.Value, mapGrid, tile, position, args.Event.Direction, args.Event.Target, args.Event.User)) args.Cancel(); } @@ -284,7 +284,7 @@ public sealed class RCDSystem : EntitySystem var position = _mapSystem.TileIndicesFor(gridUid.Value, mapGrid, location); // Ensure the RCD operation is still valid - if (!IsRCDOperationStillValid(uid, component, gridUid.Value, mapGrid, tile, position, args.Target, args.User)) + if (!IsRCDOperationStillValid(uid, component, gridUid.Value, mapGrid, tile, position, args.Direction, args.Target, args.User)) return; // Finalize the operation (this should handle prediction properly) @@ -319,6 +319,11 @@ public sealed class RCDSystem : EntitySystem #region Entity construction/deconstruction rule checks public bool IsRCDOperationStillValid(EntityUid uid, RCDComponent component, EntityUid gridUid, MapGridComponent mapGrid, TileRef tile, Vector2i position, EntityUid? target, EntityUid user, bool popMsgs = true) + { + return IsRCDOperationStillValid(uid, component, gridUid, mapGrid, tile, position, component.ConstructionDirection, target, user, popMsgs); + } + + public bool IsRCDOperationStillValid(EntityUid uid, RCDComponent component, EntityUid gridUid, MapGridComponent mapGrid, TileRef tile, Vector2i position, Direction direction, EntityUid? target, EntityUid user, bool popMsgs = true) { var prototype = _protoManager.Index(component.ProtoId); @@ -355,7 +360,7 @@ public sealed class RCDSystem : EntitySystem { case RcdMode.ConstructTile: case RcdMode.ConstructObject: - return IsConstructionLocationValid(uid, component, gridUid, mapGrid, tile, position, user, popMsgs); + return IsConstructionLocationValid(uid, component, gridUid, mapGrid, tile, position, direction, user, popMsgs); case RcdMode.Deconstruct: return IsDeconstructionStillValid(uid, tile, target, user, popMsgs); } @@ -363,7 +368,7 @@ public sealed class RCDSystem : EntitySystem return false; } - private bool IsConstructionLocationValid(EntityUid uid, RCDComponent component, EntityUid gridUid, MapGridComponent mapGrid, TileRef tile, Vector2i position, EntityUid user, bool popMsgs = true) + private bool IsConstructionLocationValid(EntityUid uid, RCDComponent component, EntityUid gridUid, MapGridComponent mapGrid, TileRef tile, Vector2i position, Direction direction, EntityUid user, bool popMsgs = true) { var prototype = _protoManager.Index(component.ProtoId); @@ -406,8 +411,24 @@ public sealed class RCDSystem : EntitySystem return false; } + var tileDef = _turf.GetContentTileDefinition(tile); + + // Check rule: Respect baseTurf and baseWhitelist + if (prototype.Prototype != null && _tileDefMan.TryGetDefinition(prototype.Prototype, out var replacementDef)) + { + var replacementContentDef = (ContentTileDefinition) replacementDef; + + if (replacementContentDef.BaseTurf != tileDef.ID && !replacementContentDef.BaseWhitelist.Contains(tileDef.ID)) + { + if (popMsgs) + _popup.PopupClient(Loc.GetString("rcd-component-cannot-build-on-empty-tile-message"), uid, user); + + return false; + } + } + // Check rule: Tiles can't be identical - if (_turf.GetContentTileDefinition(tile).ID == prototype.Prototype) + if (tileDef.ID == prototype.Prototype) { if (popMsgs) _popup.PopupClient(Loc.GetString("rcd-component-cannot-build-identical-tile"), uid, user); @@ -430,6 +451,28 @@ public sealed class RCDSystem : EntitySystem foreach (var ent in _intersectingEntities) { + // If the entity is the exact same prototype as what we are trying to build, then block it. + // This is to prevent spamming objects on the same tile (e.g. lights) + if (prototype.Prototype != null && MetaData(ent).EntityPrototype?.ID == prototype.Prototype) + { + var isIdentical = true; + + if (prototype.AllowMultiDirection) + { + var entDirection = Transform(ent).LocalRotation.GetCardinalDir(); + if (entDirection != direction) + isIdentical = false; + } + + if (isIdentical) + { + if (popMsgs) + _popup.PopupClient(Loc.GetString("rcd-component-cannot-build-identical-entity"), uid, user); + + return false; + } + } + if (isWindow && HasComp(ent)) continue; @@ -534,7 +577,10 @@ public sealed class RCDSystem : EntitySystem switch (prototype.Mode) { case RcdMode.ConstructTile: - _mapSystem.SetTile(gridUid, mapGrid, position, new Tile(_tileDefMan[prototype.Prototype].TileId)); + if (!_tileDefMan.TryGetDefinition(prototype.Prototype, out var tileDef)) + return; + + _tile.ReplaceTile(tile, (ContentTileDefinition) tileDef, gridUid, mapGrid); _adminLogger.Add(LogType.RCD, LogImpact.High, $"{ToPrettyString(user):user} used RCD to set grid: {gridUid} {position} to {prototype.Prototype}"); break; diff --git a/Resources/Locale/en-US/rcd/components/rcd-component.ftl b/Resources/Locale/en-US/rcd/components/rcd-component.ftl index 9741bde388..17fda9111e 100644 --- a/Resources/Locale/en-US/rcd/components/rcd-component.ftl +++ b/Resources/Locale/en-US/rcd/components/rcd-component.ftl @@ -29,6 +29,7 @@ rcd-component-must-build-on-subfloor-message = You can only build that on expose rcd-component-cannot-build-on-subfloor-message = You can't build that on exposed subfloor! rcd-component-cannot-build-on-occupied-tile-message = You can't build here, the space is already occupied! rcd-component-cannot-build-identical-tile = That tile already exists there! +rcd-component-cannot-build-identical-entity = That already exists there! ### Category names diff --git a/Resources/Prototypes/RCD/rcd.yml b/Resources/Prototypes/RCD/rcd.yml index 5fb5356f91..b173fa4157 100644 --- a/Resources/Prototypes/RCD/rcd.yml +++ b/Resources/Prototypes/RCD/rcd.yml @@ -37,7 +37,7 @@ category: WallsAndFlooring sprite: /Textures/Interface/Radial/RCD/plating.png mode: ConstructTile - prototype: Plating + prototype: PlatingRCD cost: 1 delay: 1 collisionMask: InteractImpassable @@ -128,6 +128,7 @@ - IsWindow rotation: User fx: EffectRCDConstruct1 + allowMultiDirection: true - type: rcd id: ReinforcedWindow @@ -157,6 +158,7 @@ - IsWindow rotation: User fx: EffectRCDConstruct2 + allowMultiDirection: true # Airlocks - type: rcd @@ -208,6 +210,7 @@ collisionBounds: "-0.23,-0.49,0.23,-0.36" rotation: User fx: EffectRCDConstruct1 + allowMultiDirection: true - type: rcd id: BulbLight @@ -221,6 +224,7 @@ collisionBounds: "-0.23,-0.49,0.23,-0.36" rotation: User fx: EffectRCDConstruct1 + allowMultiDirection: true # Electrical - type: rcd diff --git a/Resources/Prototypes/Tiles/floors.yml b/Resources/Prototypes/Tiles/floors.yml index 52657990d1..2d2a9ff3ea 100644 --- a/Resources/Prototypes/Tiles/floors.yml +++ b/Resources/Prototypes/Tiles/floors.yml @@ -22,6 +22,8 @@ - FloorPlanetGrass - FloorSnow - FloorDirt + - PlatingRCD + - FloorHullReinforced - type: tile id: FloorSteel @@ -1607,17 +1609,6 @@ collection: FootstepHull itemDrop: FloorTileItemSteel #probably should not be normally obtainable, but the game shits itself and dies when you try to put null here -- type: tile - id: FloorHullReinforced - parent: BaseStationTile - name: tiles-hull-reinforced - sprite: /Textures/Tiles/hull_reinforced.png - footstepSounds: - collection: FootstepHull - itemDrop: FloorTileItemSteel - heatCapacity: 100000 #/tg/ has this set as "INFINITY." I don't know if that exists here so I've just added an extra 0 - indestructible: true - - type: tile id: FloorReinforcedHardened parent: BaseStationTile diff --git a/Resources/Prototypes/Tiles/plating.yml b/Resources/Prototypes/Tiles/plating.yml index 910f941bee..a6f150959d 100644 --- a/Resources/Prototypes/Tiles/plating.yml +++ b/Resources/Prototypes/Tiles/plating.yml @@ -16,6 +16,34 @@ name: tiles-plating sprite: /Textures/Tiles/plating.png +- type: tile + id: PlatingRCD + parent: Plating + baseWhitelist: + - TrainLattice + - FloorPlanetDirt + - FloorDesert + - FloorLowDesert + - FloorPlanetGrass + - FloorSnow + - FloorDirt + - FloorAsteroidIronsand + - FloorAsteroidSand + - FloorAsteroidSandBorderless + - FloorAsteroidIronsandBorderless + - FloorAsteroidSandRedBorderless + +- type: tile + id: FloorHullReinforced + parent: BasePlating + name: tiles-hull-reinforced + sprite: /Textures/Tiles/hull_reinforced.png + footstepSounds: + collection: FootstepHull + itemDrop: FloorTileItemSteel + heatCapacity: 100000 #/tg/ has this set as "INFINITY." I don't know if that exists here so I've just added an extra 0 + indestructible: true + - type: tile id: PlatingDamaged parent: BasePlating From 3618b611243e886e91c94dac2ba26dc3e542ef09 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 20 Jan 2026 22:08:48 +0000 Subject: [PATCH 21/60] Automatic changelog update --- Resources/Changelog/Changelog.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index dac8bdd0c3..b3459a2973 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: ScarKy0, FairlySadPanda, TiniestShark, MilonPL, beck-thompson - changes: - - message: The vulpkanin species can now be selected as a roundstart species. - type: Add - id: 8930 - time: '2025-09-05T10:43:17.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/37539 - author: IProduceWidgets changes: - message: Pride pins can now chameleon to any other pride pin! @@ -3955,3 +3948,12 @@ id: 9436 time: '2026-01-20T21:40:41.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/42498 +- author: Velken + changes: + - message: RCD can no longer spam lights in the same spot. + type: Fix + - message: RCD can no longer be used to destroy indestructible tiles. + type: Fix + id: 9437 + time: '2026-01-20T22:04:09.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/42556 From acb685f3f93ce90719adaa86efbbc7830f82b0f9 Mon Sep 17 00:00:00 2001 From: Kip <32859367+kipdotnet@users.noreply.github.com> Date: Wed, 21 Jan 2026 09:24:06 +1100 Subject: [PATCH 22/60] Remove "Fuck Lizards" and "Lizard Power" decals from crayondecals.rsi (#42541) * remove antilizard.png, replace prolizard.png * forgot the meta.json --- .../Effects/crayondecals.rsi/antilizard.png | Bin 309 -> 0 bytes .../Textures/Effects/crayondecals.rsi/meta.json | 6 +----- .../Effects/crayondecals.rsi/prolizard.png | Bin 491 -> 428 bytes 3 files changed, 1 insertion(+), 5 deletions(-) delete mode 100644 Resources/Textures/Effects/crayondecals.rsi/antilizard.png diff --git a/Resources/Textures/Effects/crayondecals.rsi/antilizard.png b/Resources/Textures/Effects/crayondecals.rsi/antilizard.png deleted file mode 100644 index 459f673aa2b667768c2d9c73a66bef2fefe93fc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 309 zcmV-50m}Y~P)V9cF4Gr)+FSJNxZ%F4sUOXBlIu-xk2kxqXJ914em<+_Ud!%s^hS^4Uo} zqzck2sQ!&khsbBPa1KO*ve~ewn`JB1-j!DT<2w+k;@x;xK}4Zu1n8oLv>GA9h9koz7=;Z%j}1ynI;M_zxZOqbTip)sw(_ zs1omL*QHIj;(SX0l`CKw3-1FN(iBJ4&}-e>!Pc?gLNyCd@a0>V*3RZy00000NkvXX Hu0mjfnbV4b diff --git a/Resources/Textures/Effects/crayondecals.rsi/meta.json b/Resources/Textures/Effects/crayondecals.rsi/meta.json index b76fec05bf..7da987bece 100644 --- a/Resources/Textures/Effects/crayondecals.rsi/meta.json +++ b/Resources/Textures/Effects/crayondecals.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "From https://github.com/tgstation/tgstation/blob/master/icons/effects/crayondecal.dmi at c6803492ab2a5e523aae7b9b1a9e847ba155f1cf", + "copyright": "From https://github.com/tgstation/tgstation/blob/master/icons/effects/crayondecal.dmi at c6803492ab2a5e523aae7b9b1a9e847ba155f1cf, prolizard.png resprited by kipdotnet (github)", "states": [ { "name": "0" @@ -133,10 +133,6 @@ { "name": "amyjon" - }, - { - "name": "antilizard" - }, { "name": "arrow" diff --git a/Resources/Textures/Effects/crayondecals.rsi/prolizard.png b/Resources/Textures/Effects/crayondecals.rsi/prolizard.png index f2d5b497572991138b2b9047d739b39ede7dc7b9..dc04c5442d1f88b6a674990ca24117becc6a817c 100644 GIT binary patch delta 403 zcmV;E0c`&31FQp(BYyw^b5ch_0Itp)=>Px$W=TXrR9J=0R$I1%FbE``?k@Xu1#w}z z0s2#VIU^vbZSVZ#35>iVkpeR_C4l$zI;%r4X@S;Sic35%|0nhEX<(Vey5sbVV zBKm?WL@C)%Ok<~dyP-2vRl8);dsb(|im*s#^5ua7)^pl>r`B4-d(6zTk8)*?Ssl!) z0IwpnaqTrs*nh)Nc=>>dWxbRUK_uiFzoTZOl1+8QPhw}|o5oH2()jcXqyLHk(S=q! z&+|KUdS1aqs*6P=th04pY1=kpW|sMB=;nc-z)RjckVVrA%Z0u7y^wkrL`Lq(nSLiO xK{{I0D=e?wUe=LuO|tx3o`t8h{O1FB0vU0#0rr3QD+~Yt002ovPDHLkV1k;dyHWrE delta 466 zcmV;@0WJQl1M35jBYy$1NklbU-I@0Zv2E2o)ev z03r?K9>-eFvR>?jdz^Ihie|mLU8a&IHu#P!p-~)^QdmTyx&iE7nwGJ#AVWEq|yLw{~DnrX+^(r8SjB zN^A0%Jb$g3X3{3NuSJc>#RV`~GKY9MHy<$0VnH)M%0{}SZ z;JrtTvH2ov77$~c_WM1K$0Lp7n0V(Lw%cv9h?ifocT3H^_W%IC%h#fL0*}W7`OX;{ zSA%BL}ftI+vgjI#4;g$&d2Ah$q35}=>C;$Ke07*qo IM6N<$g2_|kRsaA1 From 0ec9975e4fe9d9be6b83673bdbb6c041a091aa4b Mon Sep 17 00:00:00 2001 From: pathetic meowmeow Date: Tue, 20 Jan 2026 17:24:09 -0500 Subject: [PATCH 23/60] Fix hideable humanoid layers (#42553) * Fix hideable humanoid layers * test maintenance coin * clean return * voxes can no longer have human beards * voxes fixes * voxing out --------- Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com> --- Content.Client/Body/VisualBodySystem.cs | 5 +- .../Humanoid/HideableHumanoidLayersSystem.cs | 4 +- .../Humanoid/HideableHumanoidLayersTest.cs | 88 +++++++++++++++++++ .../Humanoid/HideablePrototypeValidation.cs | 80 +++++++++++++++++ .../Body/VisualOrganMarkingsComponent.cs | 12 +++ .../EntitySystems/HideLayerClothingSystem.cs | 9 +- .../HideableHumanoidLayersComponent.cs | 6 -- .../SharedHideableHumanoidLayersSystem.cs | 10 +-- Resources/Prototypes/Body/Species/human.yml | 5 ++ Resources/Prototypes/Body/Species/moth.yml | 4 + .../Prototypes/Body/Species/reptilian.yml | 10 +++ Resources/Prototypes/Body/Species/vox.yml | 35 ++++---- .../Prototypes/Body/Species/vulpkanin.yml | 11 +++ Resources/Prototypes/Body/base_organs.yml | 2 + .../Prototypes/Body/species_appearance.yml | 7 -- .../Customization/Markings/vox_tattoos.yml | 6 +- 16 files changed, 245 insertions(+), 49 deletions(-) create mode 100644 Content.IntegrationTests/Tests/Humanoid/HideableHumanoidLayersTest.cs create mode 100644 Content.IntegrationTests/Tests/Humanoid/HideablePrototypeValidation.cs diff --git a/Content.Client/Body/VisualBodySystem.cs b/Content.Client/Body/VisualBodySystem.cs index 724dd22017..fba936ee58 100644 --- a/Content.Client/Body/VisualBodySystem.cs +++ b/Content.Client/Body/VisualBodySystem.cs @@ -232,6 +232,9 @@ public sealed class VisualBodySystem : SharedVisualBodySystem private void OnMarkingsChangedVisibility(Entity ent, ref BodyRelayedEvent args) { + if (!ent.Comp.HideableLayers.Contains(args.Args.Layer)) + return; + foreach (var markings in ent.Comp.Markings.Values) { foreach (var marking in markings) @@ -239,7 +242,7 @@ public sealed class VisualBodySystem : SharedVisualBodySystem if (!_marking.TryGetMarking(marking, out var proto)) continue; - if (proto.BodyPart != args.Args.Layer) + if (proto.BodyPart != args.Args.Layer && !(ent.Comp.DependentHidingLayers.TryGetValue(args.Args.Layer, out var dependent) && dependent.Contains(proto.BodyPart))) continue; foreach (var sprite in proto.Sprites) diff --git a/Content.Client/Humanoid/HideableHumanoidLayersSystem.cs b/Content.Client/Humanoid/HideableHumanoidLayersSystem.cs index 4feb48cbda..9d034a7a63 100644 --- a/Content.Client/Humanoid/HideableHumanoidLayersSystem.cs +++ b/Content.Client/Humanoid/HideableHumanoidLayersSystem.cs @@ -26,13 +26,13 @@ public sealed class HideableHumanoidLayersSystem : SharedHideableHumanoidLayersS UpdateSprite(ent); } - public override void SetLayerVisibility( + public override void SetLayerOcclusion( Entity ent, HumanoidVisualLayers layer, bool visible, SlotFlags source) { - base.SetLayerVisibility(ent, layer, visible, source); + base.SetLayerOcclusion(ent, layer, visible, source); if (Resolve(ent, ref ent.Comp)) UpdateSprite((ent, ent.Comp)); diff --git a/Content.IntegrationTests/Tests/Humanoid/HideableHumanoidLayersTest.cs b/Content.IntegrationTests/Tests/Humanoid/HideableHumanoidLayersTest.cs new file mode 100644 index 0000000000..24d8da479c --- /dev/null +++ b/Content.IntegrationTests/Tests/Humanoid/HideableHumanoidLayersTest.cs @@ -0,0 +1,88 @@ +using System.Collections.Generic; +using Content.IntegrationTests.Tests.Interaction; +using Content.Shared.Body; +using Content.Shared.Humanoid; +using Content.Shared.Humanoid.Markings; +using Content.Shared.Inventory; +using Robust.Client.GameObjects; + +namespace Content.IntegrationTests.Tests.Humanoid; + +[TestOf(typeof(SharedHideableHumanoidLayersSystem))] +public sealed class HideableHumanoidLayersTest : InteractionTest +{ + protected override string PlayerPrototype => "MobVulpkanin"; + + [Test] + public async Task BasicHiding() + { + await SpawnTarget("ClothingMaskGas"); + await Pickup(); // equip mask + await UseInHand(); + + await Server.WaitAssertion(() => + { + var hideableHumanoidLayers = SEntMan.GetComponent(SPlayer); + Assert.That(hideableHumanoidLayers.HiddenLayers, Does.ContainKey(HumanoidVisualLayers.Snout).WithValue(SlotFlags.MASK)); + }); + + await Server.WaitAssertion(() => + { + SEntMan.DeleteEntity(STarget); // de-equip mask + + var hideableHumanoidLayers = SEntMan.GetComponent(SPlayer); + Assert.That(hideableHumanoidLayers.HiddenLayers, Does.Not.ContainKey(HumanoidVisualLayers.Snout)); + }); + } + + [Test] + public async Task DependentHiding() + { + await Server.WaitAssertion(() => + { + var visualBody = SEntMan.System(); + visualBody.ApplyMarkings(SPlayer, new() + { + ["Head"] = new() + { + [HumanoidVisualLayers.SnoutCover] = new List() { new("VulpSnoutNose", 1) }, + }, + }); + }); + + await SpawnTarget("ClothingMaskGas"); + await Pickup(); // equip mask + await UseInHand(); + + await RunTicks(20); + + await Client.WaitAssertion(() => + { + var spriteSystem = CEntMan.System(); + var snoutIndex = spriteSystem.LayerMapGet(CPlayer, "VulpSnout-snout"); + var snoutCoverIndex = spriteSystem.LayerMapGet(CPlayer, "VulpSnoutNose-snout-nose"); + var spriteComp = CEntMan.GetComponent(CPlayer); + + Assert.That(spriteComp[snoutIndex].Visible, Is.False); + Assert.That(spriteComp[snoutCoverIndex].Visible, Is.False); + }); + + await Server.WaitAssertion(() => + { + SEntMan.DeleteEntity(STarget); // de-equip mask + }); + + await RunTicks(20); + + await Client.WaitAssertion(() => + { + var spriteSystem = CEntMan.System(); + var snoutIndex = spriteSystem.LayerMapGet(CPlayer, "VulpSnout-snout"); + var snoutCoverIndex = spriteSystem.LayerMapGet(CPlayer, "VulpSnoutNose-snout-nose"); + var spriteComp = CEntMan.GetComponent(CPlayer); + + Assert.That(spriteComp[snoutIndex].Visible, Is.True); + Assert.That(spriteComp[snoutCoverIndex].Visible, Is.True); + }); + } +} diff --git a/Content.IntegrationTests/Tests/Humanoid/HideablePrototypeValidation.cs b/Content.IntegrationTests/Tests/Humanoid/HideablePrototypeValidation.cs new file mode 100644 index 0000000000..d95992bda2 --- /dev/null +++ b/Content.IntegrationTests/Tests/Humanoid/HideablePrototypeValidation.cs @@ -0,0 +1,80 @@ +using System.Collections.Generic; +using System.Linq; +using Content.Shared.Body; +using Content.Shared.Clothing.Components; +using Content.Shared.Humanoid; +using Robust.Shared.Prototypes; + +namespace Content.IntegrationTests.Tests.Humanoid; + +[TestFixture] +public sealed class HideablePrototypeValidation +{ + [Test] + public async Task NoOrgansWithoutClothing() + { + await using var pair = await PoolManager.GetServerClient(); + + var requirements = new Dictionary>(); + foreach (var (proto, component) in pair.GetPrototypesWithComponent()) + { + foreach (var layer in component.HideableLayers) + { + requirements[layer] = requirements.GetValueOrDefault(layer) ?? []; + requirements[layer].Add(proto.ID); + } + } + + var provided = new HashSet(); + foreach (var (_, component) in pair.GetPrototypesWithComponent()) + { +#pragma warning disable CS0618 // Type or member is obsolete + if (component.Slots is { } slots) + { + provided.UnionWith(slots); + } + provided.UnionWith(component.Layers.Keys); +#pragma warning restore CS0618 // Type or member is obsolete + } + + using var scope = Assert.EnterMultipleScope(); + foreach (var (key, requirement) in requirements) + { + Assert.That(provided, Does.Contain(key), $"No clothing will hide {key} that can be hidden on {string.Join(", ", requirement.Select(it => it.Id))}"); + } + + await pair.CleanReturnAsync(); + } + + [Test] + public async Task NoClothingWithoutOrgans() + { + await using var pair = await PoolManager.GetServerClient(); + + var requirements = new Dictionary>(); + foreach (var (proto, component) in pair.GetPrototypesWithComponent()) + { +#pragma warning disable CS0618 // Type or member is obsolete + foreach (var layer in component.Layers.Keys.Concat(component.Slots ?? [])) +#pragma warning restore CS0618 // Type or member is obsolete + { + requirements[layer] = requirements.GetValueOrDefault(layer) ?? []; + requirements[layer].Add(proto.ID); + } + } + + var provided = new HashSet(); + foreach (var (_, component) in pair.GetPrototypesWithComponent()) + { + provided.UnionWith(component.HideableLayers); + } + + using var scope = Assert.EnterMultipleScope(); + foreach (var (key, requirement) in requirements) + { + Assert.That(provided, Does.Contain(key), $"No organ will hide {key} that can be hidden by {string.Join(", ", requirement.Select(it => it.Id))}"); + } + + await pair.CleanReturnAsync(); + } +} diff --git a/Content.Shared/Body/VisualOrganMarkingsComponent.cs b/Content.Shared/Body/VisualOrganMarkingsComponent.cs index e0ec567cf4..a0af5a6a16 100644 --- a/Content.Shared/Body/VisualOrganMarkingsComponent.cs +++ b/Content.Shared/Body/VisualOrganMarkingsComponent.cs @@ -22,6 +22,18 @@ public sealed partial class VisualOrganMarkingsComponent : Component [DataField, AutoNetworkedField] public Dictionary> Markings = new(); + /// + /// Layers that are eligible for hiding based on e.g. clothing + /// + [DataField, AutoNetworkedField] + public HashSet HideableLayers = new(); + + /// + /// A dictionary of layers to other layers that visually depend on them for hiding, e.g. SnoutCover depends on Snout + /// + [DataField, AutoNetworkedField] + public Dictionary> DependentHidingLayers = new(); + /// /// Client only - the last markings applied by this component /// diff --git a/Content.Shared/Clothing/EntitySystems/HideLayerClothingSystem.cs b/Content.Shared/Clothing/EntitySystems/HideLayerClothingSystem.cs index 1d58e7071c..ee0f3932d6 100644 --- a/Content.Shared/Clothing/EntitySystems/HideLayerClothingSystem.cs +++ b/Content.Shared/Clothing/EntitySystems/HideLayerClothingSystem.cs @@ -51,7 +51,6 @@ public sealed class HideLayerClothingSystem : EntitySystem hideLayers &= IsEnabled(clothing!); - var hideable = user.Comp.HideLayersOnEquip; var inSlot = clothing.Comp2.InSlotFlag ?? SlotFlags.NONE; // This method should only be getting called while the clothing is equipped (though possibly currently in @@ -64,12 +63,9 @@ public sealed class HideLayerClothingSystem : EntitySystem // the clothing is (or was)equipped in a matching slot. foreach (var (layer, validSlots) in clothing.Comp1.Layers) { - if (!hideable.Contains(layer)) - continue; - // Only update this layer if we are currently equipped to the relevant slot. if (validSlots.HasFlag(inSlot)) - _hideableHumanoidLayers.SetLayerVisibility(user, layer, !hideLayers, inSlot); + _hideableHumanoidLayers.SetLayerOcclusion(user, layer, hideLayers, inSlot); } // Fallback for obsolete field: assume we want to hide **all** layers, as long as we are equipped to any @@ -80,8 +76,7 @@ public sealed class HideLayerClothingSystem : EntitySystem { foreach (var layer in slots) { - if (hideable.Contains(layer)) - _hideableHumanoidLayers.SetLayerVisibility(user, layer, !hideLayers, inSlot); + _hideableHumanoidLayers.SetLayerOcclusion(user, layer, hideLayers, inSlot); } } } diff --git a/Content.Shared/Humanoid/HideableHumanoidLayersComponent.cs b/Content.Shared/Humanoid/HideableHumanoidLayersComponent.cs index 8fa0998ab5..75abeb4316 100644 --- a/Content.Shared/Humanoid/HideableHumanoidLayersComponent.cs +++ b/Content.Shared/Humanoid/HideableHumanoidLayersComponent.cs @@ -15,12 +15,6 @@ public sealed partial class HideableHumanoidLayersComponent : Component [DataField, AutoNetworkedField] public Dictionary HiddenLayers = new(); - /// - /// Which layers of this humanoid that should be hidden on equipping a corresponding item.. - /// - [DataField] - public HashSet HideLayersOnEquip = [HumanoidVisualLayers.Hair]; - /// /// Client only - which layers were last hidden /// diff --git a/Content.Shared/Humanoid/SharedHideableHumanoidLayersSystem.cs b/Content.Shared/Humanoid/SharedHideableHumanoidLayersSystem.cs index 6e308cc4bb..0baea47892 100644 --- a/Content.Shared/Humanoid/SharedHideableHumanoidLayersSystem.cs +++ b/Content.Shared/Humanoid/SharedHideableHumanoidLayersSystem.cs @@ -11,12 +11,12 @@ public abstract partial class SharedHideableHumanoidLayersSystem : EntitySystem /// /// Humanoid entity /// Layer to toggle visibility for - /// Whether to hide or show the layer. If more than once piece of clothing is hiding the layer, it may remain hidden. + /// Whether to hide (true) or show (false) the layer. If more than once piece of clothing is hiding the layer, it may remain hidden. /// Equipment slot that has the clothing that is (or was) hiding the layer. - public virtual void SetLayerVisibility( + public virtual void SetLayerOcclusion( Entity ent, HumanoidVisualLayers layer, - bool visible, + bool hidden, SlotFlags slot) { if (!Resolve(ent, ref ent.Comp)) @@ -30,7 +30,7 @@ public abstract partial class SharedHideableHumanoidLayersSystem : EntitySystem #endif var dirty = false; - if (visible) + if (hidden) { var oldSlots = ent.Comp.HiddenLayers.GetValueOrDefault(layer); ent.Comp.HiddenLayers[layer] = slot | oldSlots; @@ -52,7 +52,7 @@ public abstract partial class SharedHideableHumanoidLayersSystem : EntitySystem Dirty(ent); - var evt = new HumanoidLayerVisibilityChangedEvent(layer, visible); + var evt = new HumanoidLayerVisibilityChangedEvent(layer, ent.Comp.HiddenLayers.ContainsKey(layer)); RaiseLocalEvent(ent, ref evt); } } diff --git a/Resources/Prototypes/Body/Species/human.yml b/Resources/Prototypes/Body/Species/human.yml index 7c0ee31f32..fd9dd1fbbe 100644 --- a/Resources/Prototypes/Body/Species/human.yml +++ b/Resources/Prototypes/Body/Species/human.yml @@ -130,6 +130,11 @@ - type: entity parent: [ OrganBaseHeadSexed, OrganBaseHead, OrganHumanExternal ] id: OrganHumanHead + components: + - type: VisualOrganMarkings + hideableLayers: + - enum.HumanoidVisualLayers.Hair + - enum.HumanoidVisualLayers.Snout - type: entity parent: [ OrganBaseArmLeft, OrganHumanExternal ] diff --git a/Resources/Prototypes/Body/Species/moth.yml b/Resources/Prototypes/Body/Species/moth.yml index a5a1874169..a1a10ff8d9 100644 --- a/Resources/Prototypes/Body/Species/moth.yml +++ b/Resources/Prototypes/Body/Species/moth.yml @@ -239,6 +239,10 @@ - type: entity parent: [ OrganBaseHead, OrganMothExternal ] id: OrganMothHead + components: + - type: VisualOrganMarkings + hideableLayers: + - enum.HumanoidVisualLayers.HeadTop - type: entity parent: [ OrganBaseArmLeft, OrganMothExternal ] diff --git a/Resources/Prototypes/Body/Species/reptilian.yml b/Resources/Prototypes/Body/Species/reptilian.yml index 3dd25cf468..8083d8593c 100644 --- a/Resources/Prototypes/Body/Species/reptilian.yml +++ b/Resources/Prototypes/Body/Species/reptilian.yml @@ -205,10 +205,20 @@ - type: entity parent: [ OrganBaseTorsoSexed, OrganBaseTorso, OrganReptilianExternal ] id: OrganReptilianTorso + components: + - type: VisualOrganMarkings + hideableLayers: + - enum.HumanoidVisualLayers.Tail - type: entity parent: [ OrganBaseHeadSexed, OrganBaseHead, OrganReptilianExternal ] id: OrganReptilianHead + components: + - type: VisualOrganMarkings + hideableLayers: + - enum.HumanoidVisualLayers.Snout + - enum.HumanoidVisualLayers.HeadTop + - enum.HumanoidVisualLayers.HeadSide - type: entity parent: [ OrganBaseArmLeft, OrganReptilianExternal ] diff --git a/Resources/Prototypes/Body/Species/vox.yml b/Resources/Prototypes/Body/Species/vox.yml index 15190165e0..08a1b88dc1 100644 --- a/Resources/Prototypes/Body/Species/vox.yml +++ b/Resources/Prototypes/Body/Species/vox.yml @@ -4,13 +4,15 @@ limits: enum.HumanoidVisualLayers.Hair: limit: 1 + onlyGroupWhitelisted: true required: false enum.HumanoidVisualLayers.FacialHair: limit: 1 + onlyGroupWhitelisted: true required: false enum.HumanoidVisualLayers.Head: limit: 4 - required: true + required: false enum.HumanoidVisualLayers.Snout: limit: 1 required: true @@ -19,12 +21,12 @@ limit: 1 required: false enum.HumanoidVisualLayers.LArm: - limit: 1 - required: true + limit: 2 + required: false default: [ VoxLArmScales ] enum.HumanoidVisualLayers.RArm: - limit: 1 - required: true + limit: 2 + required: false default: [ VoxRArmScales ] enum.HumanoidVisualLayers.LHand: limit: 1 @@ -36,11 +38,11 @@ default: [ VoxRHandScales ] enum.HumanoidVisualLayers.LLeg: limit: 1 - required: true + required: false default: [ VoxLLegScales ] enum.HumanoidVisualLayers.RLeg: limit: 1 - required: true + required: false default: [ VoxRLegScales ] enum.HumanoidVisualLayers.LFoot: limit: 1 @@ -290,22 +292,19 @@ - type: entity parent: [ OrganBaseTorso, OrganVoxExternal ] id: OrganVoxTorso - components: - - type: Sprite - state: torso - - type: VisualOrgan - data: - state: torso - type: entity parent: [ OrganBaseHead, OrganVoxExternal ] id: OrganVoxHead components: - - type: Sprite - state: head - - type: VisualOrgan - data: - state: head + - type: VisualOrganMarkings + hideableLayers: + - enum.HumanoidVisualLayers.Snout + - enum.HumanoidVisualLayers.Hair + - enum.HumanoidVisualLayers.FacialHair + dependentHidingLayers: + enum.HumanoidVisualLayers.Snout: + - enum.HumanoidVisualLayers.SnoutCover - type: entity parent: [ OrganBaseArmLeft, OrganVoxExternal ] diff --git a/Resources/Prototypes/Body/Species/vulpkanin.yml b/Resources/Prototypes/Body/Species/vulpkanin.yml index 9209e4c8b7..d2d094e31b 100644 --- a/Resources/Prototypes/Body/Species/vulpkanin.yml +++ b/Resources/Prototypes/Body/Species/vulpkanin.yml @@ -240,6 +240,17 @@ - type: entity parent: [ OrganBaseHead, OrganVulpkaninExternal ] id: OrganVulpkaninHead + components: + - type: VisualOrganMarkings + hideableLayers: + - enum.HumanoidVisualLayers.Snout + - enum.HumanoidVisualLayers.HeadTop + - enum.HumanoidVisualLayers.HeadSide + - enum.HumanoidVisualLayers.Hair + - enum.HumanoidVisualLayers.FacialHair + dependentHidingLayers: + enum.HumanoidVisualLayers.Snout: + - enum.HumanoidVisualLayers.SnoutCover - type: entity parent: [ OrganBaseArmLeft, OrganVulpkaninExternal ] diff --git a/Resources/Prototypes/Body/base_organs.yml b/Resources/Prototypes/Body/base_organs.yml index 0a5607acef..5c16184a78 100644 --- a/Resources/Prototypes/Body/base_organs.yml +++ b/Resources/Prototypes/Body/base_organs.yml @@ -60,6 +60,8 @@ data: state: head - type: VisualOrganMarkings + hideableLayers: + - enum.HumanoidVisualLayers.Hair markingData: layers: - Head diff --git a/Resources/Prototypes/Body/species_appearance.yml b/Resources/Prototypes/Body/species_appearance.yml index ab5f83dd7c..aa584a5e0c 100644 --- a/Resources/Prototypes/Body/species_appearance.yml +++ b/Resources/Prototypes/Body/species_appearance.yml @@ -84,13 +84,6 @@ - type: ContainerContainer - type: Appearance - type: HideableHumanoidLayers - hideLayersOnEquip: - - Snout - - SnoutCover - - HeadTop - - HeadSide - - FacialHair - - Hair - type: UserInterface interfaces: enum.HumanoidMarkingModifierKey.Key: diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_tattoos.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_tattoos.yml index c10880d281..c1112ebaea 100644 --- a/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_tattoos.yml +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_tattoos.yml @@ -162,7 +162,7 @@ sprites: - sprite: Mobs/Customization/vox_tattoos.rsi state: eyeshadow_large - + - type: marking id: VoxTattooEyeliner bodyPart: Eyes @@ -173,7 +173,7 @@ - type: marking id: VoxBeakCoverStripe - bodyPart: Snout + bodyPart: SnoutCover coloring: default: type: @@ -186,7 +186,7 @@ - type: marking id: VoxBeakCoverTip - bodyPart: Snout + bodyPart: SnoutCover coloring: default: type: From 833f567fdb4c2627acccef4bbb0ce64cfb99cb4d Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 20 Jan 2026 22:41:02 +0000 Subject: [PATCH 24/60] Automatic changelog update --- Resources/Changelog/Changelog.yml | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index b3459a2973..55f6fa9327 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,18 +1,4 @@ Entries: -- author: IProduceWidgets - changes: - - message: Pride pins can now chameleon to any other pride pin! - type: Tweak - id: 8931 - time: '2025-09-05T15:55:54.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/36894 -- author: MidZik - changes: - - message: Midround wizard player count requirement increased from 10 to 30. - type: Tweak - id: 8932 - time: '2025-09-05T16:23:06.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/38424 - author: IProduceWidgets changes: - message: You can drink out of the toilets. @@ -3957,3 +3943,18 @@ id: 9437 time: '2026-01-20T22:04:09.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/42556 +- author: sowelipililimute + changes: + - message: Clothing now hides your body when it should, and doesn't show your body + when it shouldn't. + type: Fix + id: 9438 + time: '2026-01-20T22:39:51.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/42553 +- author: kipdotnet + changes: + - message: The "Lizard Power" graffiti decal has been replaced. + type: Tweak + id: 9439 + time: '2026-01-20T22:39:51.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/42541 From eb5b0c558e7c3c4722aa3fc36c59337316fcbdbb Mon Sep 17 00:00:00 2001 From: Velken <8467292+Velken@users.noreply.github.com> Date: Tue, 20 Jan 2026 20:48:02 -0300 Subject: [PATCH 25/60] FIX: Give RCD plating unique name (#42560) * sorry mappers, i had forgor * rename instead of abstract --- Resources/Locale/en-US/tiles/tiles.ftl | 1 + Resources/Prototypes/Tiles/plating.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/Resources/Locale/en-US/tiles/tiles.ftl b/Resources/Locale/en-US/tiles/tiles.ftl index 77cbce4d89..c4b30f57a2 100644 --- a/Resources/Locale/en-US/tiles/tiles.ftl +++ b/Resources/Locale/en-US/tiles/tiles.ftl @@ -1,5 +1,6 @@ tiles-space = space tiles-plating = plating +tiles-rcd-plating = RCD plating tiles-lattice = lattice tiles-lattice-train = train lattice tiles-steel-floor = steel tile diff --git a/Resources/Prototypes/Tiles/plating.yml b/Resources/Prototypes/Tiles/plating.yml index a6f150959d..e6b9a25111 100644 --- a/Resources/Prototypes/Tiles/plating.yml +++ b/Resources/Prototypes/Tiles/plating.yml @@ -19,6 +19,7 @@ - type: tile id: PlatingRCD parent: Plating + name: tiles-rcd-plating baseWhitelist: - TrainLattice - FloorPlanetDirt From 1b1cb64d24e244b804a8c908256f1f06c7ff4056 Mon Sep 17 00:00:00 2001 From: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com> Date: Tue, 20 Jan 2026 20:05:44 -0800 Subject: [PATCH 26/60] Power Consumers Rebalance: Simple Dynamic Power Loading (#41961) * initial commit * misc additions and fixes * final tests and additions * cleanup 1 * fix tests and add a test * fix tests AGAIN * abject horror and misery * cleanup * cleanup 2 * address some issues --- .../Power/EntitySystems/PowerStateSystem.cs | 6 ++ .../Tests/Power/PowerStatePrototypeTest.cs | 59 +++++++++++++++++++ .../Tests/Power/PowerStateTest.cs | 6 +- Content.Server/Holopad/HolopadSystem.cs | 6 ++ .../Kitchen/EntitySystems/MicrowaveSystem.cs | 4 ++ .../EntitySystems/ReagentGrinderSystem.cs | 6 ++ Content.Server/Lathe/LatheProducingSystem.cs | 34 +++++++++++ .../Power/EntitySystems/PowerStateSystem.cs | 21 +++++++ .../SharedSolutionContainerMixerSystem.cs | 4 ++ .../Power/EntitySystems/PowerStateSystem.cs | 27 ++++++--- .../Power/EntitySystems/UIPowerStateSystem.cs | 2 +- Resources/Maps/Misc/terminal.yml | 4 ++ .../Structures/Machines/Computers/arcades.yml | 2 - .../Computers/base_structurecomputers.yml | 6 +- .../Machines/Computers/computers.yml | 35 +++++++---- .../Machines/Medical/chemistry_machines.yml | 10 ++++ .../Entities/Structures/Machines/holopad.yml | 5 +- .../Entities/Structures/Machines/lathe.yml | 5 ++ .../Structures/Machines/microwave.yml | 5 +- .../Structures/Machines/reagent_grinder.yml | 5 +- .../WallmountMachines/station_map.yml | 6 +- 21 files changed, 229 insertions(+), 29 deletions(-) create mode 100644 Content.Client/Power/EntitySystems/PowerStateSystem.cs create mode 100644 Content.IntegrationTests/Tests/Power/PowerStatePrototypeTest.cs create mode 100644 Content.Server/Lathe/LatheProducingSystem.cs create mode 100644 Content.Server/Power/EntitySystems/PowerStateSystem.cs diff --git a/Content.Client/Power/EntitySystems/PowerStateSystem.cs b/Content.Client/Power/EntitySystems/PowerStateSystem.cs new file mode 100644 index 0000000000..b17f1746c2 --- /dev/null +++ b/Content.Client/Power/EntitySystems/PowerStateSystem.cs @@ -0,0 +1,6 @@ +using Content.Shared.Power.EntitySystems; + +namespace Content.Client.Power.EntitySystems; + +/// +public sealed class PowerStateSystem : SharedPowerStateSystem; diff --git a/Content.IntegrationTests/Tests/Power/PowerStatePrototypeTest.cs b/Content.IntegrationTests/Tests/Power/PowerStatePrototypeTest.cs new file mode 100644 index 0000000000..288e976e9b --- /dev/null +++ b/Content.IntegrationTests/Tests/Power/PowerStatePrototypeTest.cs @@ -0,0 +1,59 @@ +using System.Linq; +using Content.Server.Power.Components; +using Content.Shared.Power.Components; +using Content.Shared.Power.EntitySystems; +using Robust.Shared.GameObjects; +using Robust.Shared.Prototypes; + +namespace Content.IntegrationTests.Tests.Power; + +[TestFixture, TestOf(typeof(SharedPowerStateSystem))] +public sealed class PowerStatePrototypeTest +{ + /// + /// Asserts that the 's load is the same + /// as the idle or working power draw from , + /// depending on the current power state. + /// + [Test] + public async Task AssertApcPowerMatchesPowerState() + { + await using var pair = await PoolManager.GetServerClient(); + var server = pair.Server; + + var protoMan = server.ResolveDependency(); + var entMan = server.ResolveDependency(); + + await server.WaitAssertion(() => + { + Assert.Multiple(delegate + { + foreach (var prototype in protoMan.EnumeratePrototypes() + .Where(p => !p.Abstract) + .Where(p => !pair.IsTestPrototype(p))) + { + if (!prototype.TryGetComponent(out var powerStateComp, entMan.ComponentFactory)) + continue; + + // LESSON LEARNED: + // ENSURE THAT THE COMPONENT YOU ARE TRYING TO GET IS THE SERVER-SIDE VARIANT + if (!prototype.TryGetComponent(out var powerReceiverComp, entMan.ComponentFactory)) + { + Assert.Fail( + $"Entity prototype '{prototype.ID}' has a PowerStateComponent but is missing the required ApcPowerReceiverComponent."); + } + + var expectedLoad = powerStateComp.IsWorking + ? powerStateComp.WorkingPowerDraw + : powerStateComp.IdlePowerDraw; + + Assert.That(powerReceiverComp.Load, + Is.EqualTo(expectedLoad), + $"Entity prototype '{prototype.ID}' has mismatched power draw between PowerStateComponent and SharedApcPowerReceiverComponent."); + } + }); + }); + + await pair.CleanReturnAsync(); + } +} diff --git a/Content.IntegrationTests/Tests/Power/PowerStateTest.cs b/Content.IntegrationTests/Tests/Power/PowerStateTest.cs index dec398212d..edec6f3d21 100644 --- a/Content.IntegrationTests/Tests/Power/PowerStateTest.cs +++ b/Content.IntegrationTests/Tests/Power/PowerStateTest.cs @@ -56,7 +56,7 @@ public sealed class PowerStateTest Assert.That(receiver.Load, Is.EqualTo(powerState.IdlePowerDraw).Within(0.01f)); }); - var system = entManager.System(); + var system = entManager.System(); system.SetWorkingState((ent, powerState), true); Assert.Multiple(() => @@ -93,7 +93,7 @@ public sealed class PowerStateTest var receiver = entManager.GetComponent(ent); var powerState = entManager.GetComponent(ent); - var system = entManager.System(); + var system = entManager.System(); Entity newEnt = (ent, powerState); Assert.Multiple(() => @@ -146,7 +146,7 @@ public sealed class PowerStateTest var receiver = entManager.GetComponent(ent); var powerState = entManager.GetComponent(ent); - var system = entManager.System(); + var system = entManager.System(); Entity valueTuple = (ent, powerState); Assert.Multiple(() => diff --git a/Content.Server/Holopad/HolopadSystem.cs b/Content.Server/Holopad/HolopadSystem.cs index c634d14f2f..c2aaf827da 100644 --- a/Content.Server/Holopad/HolopadSystem.cs +++ b/Content.Server/Holopad/HolopadSystem.cs @@ -23,6 +23,7 @@ using Robust.Shared.Containers; using Robust.Shared.Timing; using Robust.Shared.Utility; using System.Linq; +using Content.Shared.Power.EntitySystems; namespace Content.Server.Holopad; @@ -40,6 +41,7 @@ public sealed class HolopadSystem : SharedHolopadSystem [Dependency] private readonly PopupSystem _popupSystem = default!; [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly PvsOverrideSystem _pvs = default!; + [Dependency] private readonly SharedPowerStateSystem _powerState = default!; private float _updateTimer = 1.0f; private const float UpdateTime = 1.0f; @@ -548,10 +550,14 @@ public sealed class HolopadSystem : SharedHolopadSystem { _telephoneSystem.SetSpeakerForTelephone((entity, entityTelephone), (hologramUid, hologramSpeech)); } + + _powerState.SetWorkingState(entity.Owner, true); } private void DeleteHologram(Entity hologram, Entity attachedHolopad) { + _powerState.SetWorkingState(attachedHolopad.Owner, false); + attachedHolopad.Comp.Hologram = null; QueueDel(hologram); diff --git a/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs b/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs index 6f3d393209..d1df5177d1 100644 --- a/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs +++ b/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs @@ -37,6 +37,7 @@ using Content.Shared.Stacks; using Content.Server.Construction.Components; using Content.Shared.Chat; using Content.Shared.Damage.Components; +using Content.Shared.Power.EntitySystems; using Content.Shared.Temperature.Components; namespace Content.Server.Kitchen.EntitySystems @@ -64,6 +65,7 @@ namespace Content.Server.Kitchen.EntitySystems [Dependency] private readonly IPrototypeManager _prototype = default!; [Dependency] private readonly IAdminLogManager _adminLogger = default!; [Dependency] private readonly SharedSuicideSystem _suicide = default!; + [Dependency] private readonly SharedPowerStateSystem _powerState = default!; private static readonly EntProtoId MalfunctionSpark = "Spark"; @@ -112,6 +114,7 @@ namespace Content.Server.Kitchen.EntitySystems microwaveComponent.PlayingStream = _audio.PlayPvs(microwaveComponent.LoopingSound, ent, AudioParams.Default.WithLoop(true).WithMaxDistance(5))?.Entity; + _powerState.SetWorkingState(ent.Owner, true); } private void OnCookStop(Entity ent, ref ComponentShutdown args) @@ -121,6 +124,7 @@ namespace Content.Server.Kitchen.EntitySystems SetAppearance(ent.Owner, MicrowaveVisualState.Idle, microwaveComponent); microwaveComponent.PlayingStream = _audio.Stop(microwaveComponent.PlayingStream); + _powerState.SetWorkingState(ent.Owner, false); } private void OnActiveMicrowaveInsert(Entity ent, ref EntInsertedIntoContainerMessage args) diff --git a/Content.Server/Kitchen/EntitySystems/ReagentGrinderSystem.cs b/Content.Server/Kitchen/EntitySystems/ReagentGrinderSystem.cs index a709f4b8d9..bf9e4e1434 100644 --- a/Content.Server/Kitchen/EntitySystems/ReagentGrinderSystem.cs +++ b/Content.Server/Kitchen/EntitySystems/ReagentGrinderSystem.cs @@ -22,6 +22,7 @@ using Content.Server.Jittering; using Content.Shared.Jittering; using Content.Shared.Kitchen.EntitySystems; using Content.Shared.Power; +using Content.Shared.Power.EntitySystems; namespace Content.Server.Kitchen.EntitySystems { @@ -40,6 +41,7 @@ namespace Content.Server.Kitchen.EntitySystems [Dependency] private readonly SharedDestructibleSystem _destructible = default!; [Dependency] private readonly RandomHelperSystem _randomHelper = default!; [Dependency] private readonly JitteringSystem _jitter = default!; + [Dependency] private readonly SharedPowerStateSystem _powerState = default!; public override void Initialize() { @@ -136,11 +138,15 @@ namespace Content.Server.Kitchen.EntitySystems private void OnActiveGrinderStart(Entity ent, ref ComponentStartup args) { _jitter.AddJitter(ent, -10, 100); + + // Not all grinders need power. + _powerState.TrySetWorkingState(ent.Owner, true); } private void OnActiveGrinderRemove(Entity ent, ref ComponentRemove args) { RemComp(ent); + _powerState.TrySetWorkingState(ent.Owner, false); } private void OnEntRemoveAttempt(Entity entity, ref ContainerIsRemovingAttemptEvent args) diff --git a/Content.Server/Lathe/LatheProducingSystem.cs b/Content.Server/Lathe/LatheProducingSystem.cs new file mode 100644 index 0000000000..ce81ed66e0 --- /dev/null +++ b/Content.Server/Lathe/LatheProducingSystem.cs @@ -0,0 +1,34 @@ +using Content.Server.Lathe.Components; +using Content.Shared.Power.EntitySystems; + +namespace Content.Server.Lathe; + +/// +/// System for handling lathes that are actively producing items. +/// The component is used more so as a marker for EntityQueryEnumerator, +/// however it's also used to set the power state of the lathe when producing. +/// +public sealed class LatheProducingSystem : EntitySystem +{ + [Dependency] private readonly SharedPowerStateSystem _powerState = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnComponentStartup); + SubscribeLocalEvent(OnComponentShutdown); + } + + private void OnComponentShutdown(Entity ent, ref ComponentShutdown args) + { + // use the Try variant of this here + // or else you get trolled by AllComponentsOneToOneDeleteTest + _powerState.TrySetWorkingState(ent.Owner, false); + } + + private void OnComponentStartup(Entity ent, ref ComponentStartup args) + { + _powerState.TrySetWorkingState(ent.Owner, true); + } +} diff --git a/Content.Server/Power/EntitySystems/PowerStateSystem.cs b/Content.Server/Power/EntitySystems/PowerStateSystem.cs new file mode 100644 index 0000000000..92c103bf8a --- /dev/null +++ b/Content.Server/Power/EntitySystems/PowerStateSystem.cs @@ -0,0 +1,21 @@ +using Content.Server.Power.Components; +using Content.Shared.Power.Components; +using Content.Shared.Power.EntitySystems; + +namespace Content.Server.Power.EntitySystems; + +public sealed class PowerStateSystem : SharedPowerStateSystem +{ + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnComponentStartup); + } + + private void OnComponentStartup(Entity ent, ref ComponentStartup args) + { + EnsureComp(ent); + SetWorkingState(ent.Owner, ent.Comp.IsWorking); + } +} diff --git a/Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerMixerSystem.cs b/Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerMixerSystem.cs index c8e8e89ce5..3128623fc3 100644 --- a/Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerMixerSystem.cs +++ b/Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerMixerSystem.cs @@ -2,6 +2,7 @@ using Content.Shared.Chemistry.Components; using Content.Shared.Chemistry.Reaction; using Content.Shared.Interaction; using Content.Shared.Popups; +using Content.Shared.Power.EntitySystems; using Robust.Shared.Audio.Systems; using Robust.Shared.Containers; using Robust.Shared.Network; @@ -21,6 +22,7 @@ public abstract class SharedSolutionContainerMixerSystem : EntitySystem [Dependency] private readonly SharedContainerSystem _container = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly SharedSolutionContainerSystem _solution = default!; + [Dependency] private readonly SharedPowerStateSystem _powerState = default!; /// public override void Initialize() @@ -74,6 +76,7 @@ public abstract class SharedSolutionContainerMixerSystem : EntitySystem comp.MixingSoundEntity = _audio.PlayPvs(comp.MixingSound, entity, comp.MixingSound?.Params.WithLoop(true)); comp.MixTimeEnd = _timing.CurTime + comp.MixDuration; _appearance.SetData(entity, SolutionContainerMixerVisuals.Mixing, true); + _powerState.SetWorkingState(entity.Owner, true); Dirty(uid, comp); } @@ -86,6 +89,7 @@ public abstract class SharedSolutionContainerMixerSystem : EntitySystem _appearance.SetData(entity, SolutionContainerMixerVisuals.Mixing, false); comp.Mixing = false; comp.MixingSoundEntity = null; + _powerState.SetWorkingState(entity.Owner, false); Dirty(uid, comp); } diff --git a/Content.Shared/Power/EntitySystems/PowerStateSystem.cs b/Content.Shared/Power/EntitySystems/PowerStateSystem.cs index dd47708d2d..aba41e2432 100644 --- a/Content.Shared/Power/EntitySystems/PowerStateSystem.cs +++ b/Content.Shared/Power/EntitySystems/PowerStateSystem.cs @@ -7,7 +7,7 @@ namespace Content.Shared.Power.EntitySystems; /// Generic system that handles entities with . /// Used for simple machines that only need to switch between "idle" and "working" power states. /// -public sealed class PowerStateSystem : EntitySystem +public abstract class SharedPowerStateSystem : EntitySystem { [Dependency] private readonly SharedPowerReceiverSystem _powerReceiverSystem = default!; @@ -17,16 +17,9 @@ public sealed class PowerStateSystem : EntitySystem { base.Initialize(); - SubscribeLocalEvent(OnComponentStartup); - _powerStateQuery = GetEntityQuery(); } - private void OnComponentStartup(Entity ent, ref ComponentStartup args) - { - SetWorkingState(ent.Owner, ent.Comp.IsWorking); - } - /// /// Sets the working state of the entity, adjusting its power draw accordingly. /// @@ -41,4 +34,22 @@ public sealed class PowerStateSystem : EntitySystem _powerReceiverSystem.SetLoad(ent.Owner, working ? ent.Comp.WorkingPowerDraw : ent.Comp.IdlePowerDraw); ent.Comp.IsWorking = working; } + + /// + /// Tries to set the working state of the entity, adjusting its power draw accordingly. + /// Use this for if you're not sure if the entity has a . + /// + /// The entity to set the working state for. + /// Whether the entity should be in the working state. + [PublicAPI] + public void TrySetWorkingState(Entity ent, bool working) + { + // Sometimes systems calling this API handle generic objects that can or can't consume power, + // so to reduce boilerplate we don't log an error. Any entity that *should* have an ApcPowerRecieverComponent + // will log an error in tests if someone tries to add an entity that doesn't have one. + if (!_powerStateQuery.Resolve(ent, ref ent.Comp, false)) + return; + + SetWorkingState(ent, working); + } } diff --git a/Content.Shared/Power/EntitySystems/UIPowerStateSystem.cs b/Content.Shared/Power/EntitySystems/UIPowerStateSystem.cs index bf2d08adbf..6bd5af591e 100644 --- a/Content.Shared/Power/EntitySystems/UIPowerStateSystem.cs +++ b/Content.Shared/Power/EntitySystems/UIPowerStateSystem.cs @@ -10,7 +10,7 @@ namespace Content.Shared.Power.EntitySystems; public sealed class UIPowerStateSystem : EntitySystem { [Dependency] private readonly SharedUserInterfaceSystem _ui = default!; - [Dependency] private readonly PowerStateSystem _powerState = default!; + [Dependency] private readonly SharedPowerStateSystem _powerState = default!; public override void Initialize() { diff --git a/Resources/Maps/Misc/terminal.yml b/Resources/Maps/Misc/terminal.yml index bb0491e9ce..1a736bac26 100644 --- a/Resources/Maps/Misc/terminal.yml +++ b/Resources/Maps/Misc/terminal.yml @@ -1583,6 +1583,7 @@ entities: - type: Godmode missingComponents: - ApcPowerReceiver + - PowerState - Anchorable - Construction - Destructible @@ -1595,6 +1596,7 @@ entities: - type: Godmode missingComponents: - ApcPowerReceiver + - PowerState - Anchorable - Construction - Destructible @@ -7904,6 +7906,7 @@ entities: - type: Godmode missingComponents: - ApcPowerReceiver + - PowerState - Anchorable - Construction - Destructible @@ -7916,6 +7919,7 @@ entities: - type: Godmode missingComponents: - ApcPowerReceiver + - PowerState - Anchorable - Construction - Destructible diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml index 8c7872c23f..8e852273ef 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml @@ -5,8 +5,6 @@ name: arcade parent: BaseComputer components: - - type: ApcPowerReceiver - powerLoad: 350 - type: ExtensionCableReceiver - type: PointLight radius: 1.8 diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/base_structurecomputers.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/base_structurecomputers.yml index bbd6ea8302..e4c8293fcb 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Computers/base_structurecomputers.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/base_structurecomputers.yml @@ -17,7 +17,11 @@ - board - type: Computer - type: ApcPowerReceiver - powerLoad: 200 + powerLoad: 50 + - type: PowerState + idlePowerDraw: 50 + workingPowerDraw: 500 + - type: UIPowerState - type: ExtensionCableReceiver - type: ActivatableUIRequiresPower - type: Sprite diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml index 396452fdb1..96e30a5aa7 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml @@ -500,7 +500,10 @@ enum.WiresUiKey.Key: type: WiresBoundUserInterface - type: ApcPowerReceiver - powerLoad: 1000 + powerLoad: 50 + - type: PowerState + idlePowerDraw: 50 + workingPowerDraw: 1000 - type: Computer board: ResearchComputerCircuitboard - type: AccessReader @@ -551,7 +554,10 @@ enum.WiresUiKey.Key: type: WiresBoundUserInterface - type: ApcPowerReceiver - powerLoad: 1000 + powerLoad: 50 + - type: PowerState + idlePowerDraw: 50 + workingPowerDraw: 1000 - type: Computer board: AnalysisComputerCircuitboard - type: PointLight @@ -631,8 +637,6 @@ name: body scanner computer description: A body scanner. components: - - type: ApcPowerReceiver - powerLoad: 500 - type: Computer board: BodyScannerComputerCircuitboard - type: PointLight @@ -1172,8 +1176,6 @@ state: generic_keys - map: [ "enum.WiresVisualLayers.MaintenancePanel" ] state: generic_panel_open - - type: ApcPowerReceiver - powerLoad: 3100 #We want this to fail first so I transferred most of the scanner and pod's power here. (3500 in total) - type: Computer board: CloningConsoleComputerCircuitboard - type: PointLight @@ -1543,7 +1545,11 @@ enum.WiresUiKey.Key: type: WiresBoundUserInterface - type: ApcPowerReceiver - powerLoad: 1000 + powerLoad: 5 + - type: PowerState + idlePowerDraw: 5 + workingPowerDraw: 1000 + - type: UIPowerState - type: DeviceNetwork deviceNetId: Wireless receiveFrequencyId: RoboticsConsole @@ -1588,7 +1594,10 @@ channels: - Xenoborg - type: ApcPowerReceiver - powerLoad: 1000 + powerLoad: 50 + - type: PowerState + idlePowerDraw: 50 + workingPowerDraw: 1000 - type: DeviceNetwork deviceNetId: Wireless receiveFrequencyId: Mothership @@ -1615,7 +1624,10 @@ - map: [ "enum.WiresVisualLayers.MaintenancePanel" ] state: generic_panel_open - type: ApcPowerReceiver - powerLoad: 1000 + powerLoad: 50 + - type: PowerState + idlePowerDraw: 50 + workingPowerDraw: 1000 - type: Computer board: StationAiUploadCircuitboard - type: AccessReader @@ -1691,7 +1703,10 @@ True: { visible: false } False: { visible: true } - type: ApcPowerReceiver - powerLoad: 1000 + powerLoad: 50 + - type: PowerState + idlePowerDraw: 50 + workingPowerDraw: 1000 - type: Computer board: StationAiFixerCircuitboard - type: AccessReader diff --git a/Resources/Prototypes/Entities/Structures/Machines/Medical/chemistry_machines.yml b/Resources/Prototypes/Entities/Structures/Machines/Medical/chemistry_machines.yml index 65a84c86aa..c88c248232 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Medical/chemistry_machines.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Medical/chemistry_machines.yml @@ -76,6 +76,11 @@ False: { visible: False } - type: Machine board: ElectrolysisUnitMachineCircuitboard + - type: ApcPowerReceiver + powerLoad: 0 + - type: PowerState + idlePowerDraw: 0 + workingPowerDraw: 1000 # for a lab-grade machine # TODO centrifuge should spill the vial if the lid is off - type: entity @@ -124,3 +129,8 @@ - CentrifugeCompatible - type: Machine board: CentrifugeMachineCircuitboard + - type: ApcPowerReceiver + powerLoad: 0 + - type: PowerState + idlePowerDraw: 0 + workingPowerDraw: 500 diff --git a/Resources/Prototypes/Entities/Structures/Machines/holopad.yml b/Resources/Prototypes/Entities/Structures/Machines/holopad.yml index 8c68710d76..5c9c5c21b6 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/holopad.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/holopad.yml @@ -15,7 +15,10 @@ mask: - Impassable - type: ApcPowerReceiver - powerLoad: 300 + powerLoad: 5 + - type: PowerState + idlePowerDraw: 5 + workingPowerDraw: 300 - type: StationAiVision range: 1 needsAnchoring: true diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 412126af5f..e59e2d86e7 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -49,6 +49,11 @@ price: 800 - type: ResearchClient - type: TechnologyDatabase + - type: ApcPowerReceiver + powerLoad: 150 + - type: PowerState + idlePowerDraw: 150 + workingPowerDraw: 1000 # a lathe that can be sped up with space lube / slowed down with glue - type: entity diff --git a/Resources/Prototypes/Entities/Structures/Machines/microwave.yml b/Resources/Prototypes/Entities/Structures/Machines/microwave.yml index b7c5b194ef..edc367a934 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/microwave.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/microwave.yml @@ -98,7 +98,10 @@ canCreateVacuum: false deleteAfterExplosion: false - type: ApcPowerReceiver - powerLoad: 400 + powerLoad: 5 + - type: PowerState + idlePowerDraw: 5 + workingPowerDraw: 1000 - type: Machine board: MicrowaveMachineCircuitboard - type: ContainerContainer diff --git a/Resources/Prototypes/Entities/Structures/Machines/reagent_grinder.yml b/Resources/Prototypes/Entities/Structures/Machines/reagent_grinder.yml index d423a47ae9..cd3d8dab83 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/reagent_grinder.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/reagent_grinder.yml @@ -39,7 +39,10 @@ - map: [ "grinder" ] state: "grinder_empty" - type: ApcPowerReceiver - powerLoad: 300 + powerLoad: 0 + - type: PowerState + idlePowerDraw: 0 + workingPowerDraw: 750 # medium power blender - type: ItemSlots slots: beakerSlot: diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/station_map.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/station_map.yml index 39643fb850..889cbb3003 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/station_map.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/WallmountMachines/station_map.yml @@ -49,7 +49,11 @@ containers: board: !type:Container - type: ApcPowerReceiver - powerLoad: 200 + powerLoad: 50 + - type: PowerState + idlePowerDraw: 50 + workingPowerDraw: 200 + - type: UIPowerState - type: Construction graph: StationMap node: station_map From f7ae0b0617481472e857632a6b856be6752c7fab Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 21 Jan 2026 04:22:47 +0000 Subject: [PATCH 27/60] Automatic changelog update --- Resources/Changelog/Changelog.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 55f6fa9327..63b90459eb 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: IProduceWidgets - changes: - - message: You can drink out of the toilets. - type: Add - id: 8933 - time: '2025-09-05T20:03:10.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/40133 - author: ArtisticRoomba changes: - message: Resin windows (exo windows) now inherit Delta-Pressure damage values @@ -3958,3 +3951,13 @@ id: 9439 time: '2026-01-20T22:39:51.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/42541 +- author: ArtisticRoomba + changes: + - message: Powernet consumers like lathes, computers, blenders, centrifuges, electrolyzers, + grinders, holopads, microwaves, etc. now have simple dynamic power consumption + behavior. When not in use, they will consume either little or no power, and + while in use, they will consume a sane amount of power. + type: Add + id: 9440 + time: '2026-01-21T04:21:38.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/41961 From 3c48696b16b32aa1213b88a8b451937f1e275fee Mon Sep 17 00:00:00 2001 From: Steel Date: Thu, 22 Jan 2026 05:36:05 +0400 Subject: [PATCH 28/60] Add aloe cream storage sprite (#42453) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Initial commit * Rotate sprite * Update Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml Use existing sprite Co-authored-by: āda * Remove cream-storage sprite --------- Co-authored-by: āda --- .../Entities/Objects/Specific/Medical/healing.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml index 74b9caaf63..7893dfd646 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml @@ -347,6 +347,12 @@ - type: Stack stackType: AloeCream count: 10 + - type: Item + storedRotation: 90 + storedOffset: 4, 0 + storedSprite: + state: cream + sprite: Objects/Specific/Hydroponics/aloe.rsi - type: entity parent: BaseHealingItem From 6cfedfa34ff827677988d0c6af5ef8b8705a54e6 Mon Sep 17 00:00:00 2001 From: pathetic meowmeow Date: Wed, 21 Jan 2026 21:27:56 -0500 Subject: [PATCH 29/60] Ensure cat ears & tails cannot be selected by players (#42579) Ensure cat ears & tails cannot be selected. --- Content.Client/Humanoid/MarkingsViewModel.cs | 2 +- Resources/Locale/en-US/preferences/ui/markings-picker.ftl | 6 ++++-- Resources/Prototypes/Body/Species/human.yml | 6 ++++++ Resources/Prototypes/Body/base_organs.yml | 1 + 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Content.Client/Humanoid/MarkingsViewModel.cs b/Content.Client/Humanoid/MarkingsViewModel.cs index 8fe9208afd..86ad319562 100644 --- a/Content.Client/Humanoid/MarkingsViewModel.cs +++ b/Content.Client/Humanoid/MarkingsViewModel.cs @@ -325,7 +325,7 @@ public sealed class MarkingsViewModel public void GetMarkingCounts(ProtoId organ, HumanoidVisualLayers layer, out bool isRequired, out int count, out int selected) { isRequired = false; - count = 0; + count = -1; selected = 0; if (!_organData.TryGetValue(organ, out var organData)) diff --git a/Resources/Locale/en-US/preferences/ui/markings-picker.ftl b/Resources/Locale/en-US/preferences/ui/markings-picker.ftl index 8982988be4..676c17a908 100644 --- a/Resources/Locale/en-US/preferences/ui/markings-picker.ftl +++ b/Resources/Locale/en-US/preferences/ui/markings-picker.ftl @@ -6,12 +6,14 @@ markings-search = Search } markings-limits = { $required -> [true] { $count -> - [0] Select at least one marking. + [-1] Select at least one marking. + [0] You cannot select any markings, but somehow, you have to? This is a bug. [one] Select one marking. *[other] Select at least one marking and up to {$count} markings. { -markings-selection(selectable: $selectable) } } *[false] { $count -> - [0] Select any number of markings. + [-1] Select any number of markings. + [0] You cannot select any markings. [one] Select up to one marking. *[other] Select up to {$count} markings. { -markings-selection(selectable: $selectable) } } diff --git a/Resources/Prototypes/Body/Species/human.yml b/Resources/Prototypes/Body/Species/human.yml index fd9dd1fbbe..b569527a61 100644 --- a/Resources/Prototypes/Body/Species/human.yml +++ b/Resources/Prototypes/Body/Species/human.yml @@ -38,6 +38,12 @@ enum.HumanoidVisualLayers.RFoot: limit: 1 required: false + enum.HumanoidVisualLayers.Tail: + limit: 0 + required: false + enum.HumanoidVisualLayers.Special: + limit: 0 + required: false - type: entity parent: BaseSpeciesAppearance diff --git a/Resources/Prototypes/Body/base_organs.yml b/Resources/Prototypes/Body/base_organs.yml index 5c16184a78..5205297eca 100644 --- a/Resources/Prototypes/Body/base_organs.yml +++ b/Resources/Prototypes/Body/base_organs.yml @@ -44,6 +44,7 @@ - Overlay - UndergarmentTop - UndergarmentBottom + - Special - type: entity parent: OrganBase From 5fd2b84a7d9a6cbdb5f04d71cbf1e50cbbb8c265 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Jan 2026 02:44:57 +0000 Subject: [PATCH 30/60] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 63b90459eb..cb0993a6f1 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: ArtisticRoomba - changes: - - message: Resin windows (exo windows) now inherit Delta-Pressure damage values - and pressure thresholds from reinforced windows. - type: Fix - id: 8934 - time: '2025-09-06T08:02:47.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/40151 - author: ScarKy0 changes: - message: The size of the antique laser pistol and appraisal tool have been reverted @@ -3961,3 +3953,10 @@ id: 9440 time: '2026-01-21T04:21:38.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/41961 +- author: sowelipililimute + changes: + - message: Cat tails are no longer accessible to humans. + type: Fix + id: 9441 + time: '2026-01-22T02:43:47.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/42579 From 3a23bf5e055d4b8da82c2c1d95e2955239e02d42 Mon Sep 17 00:00:00 2001 From: Emisse <99158783+Emisse@users.noreply.github.com> Date: Wed, 21 Jan 2026 20:05:59 -0700 Subject: [PATCH 31/60] bagel update (#42558) * bagel update * invalid lmao * im toing im toing im toing * resave fuck this aghost bullshit * why got --- Resources/Maps/bagel.yml | 1724 ++++++++++++++------------------------ 1 file changed, 609 insertions(+), 1115 deletions(-) diff --git a/Resources/Maps/bagel.yml b/Resources/Maps/bagel.yml index 18e71b4ccc..993f230a50 100644 --- a/Resources/Maps/bagel.yml +++ b/Resources/Maps/bagel.yml @@ -1,11 +1,11 @@ meta: format: 7 category: Map - engineVersion: 268.0.0 + engineVersion: 271.1.0 forkId: "" forkVersion: "" - time: 12/08/2025 08:17:25 - entityCount: 25476 + time: 01/22/2026 02:05:58 + entityCount: 25402 maps: - 943 grids: @@ -27,6 +27,7 @@ tilemap: 36: FloorDarkMono 38: FloorDarkPavement 40: FloorDarkPlastic + 15: FloorDesertAstroSand 46: FloorFreezer 47: FloorGlass 48: FloorGold @@ -45,6 +46,7 @@ tilemap: 66: FloorMetalDiamond 67: FloorMime 71: FloorMono + 13: FloorMowedAstroGrass 77: FloorPlastic 78: FloorRGlass 79: FloorReinforced @@ -91,99 +93,99 @@ entities: chunks: 0,-1: ind: 0,-1 - tiles: XQAAAAADAF0AAAAAAQB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAwB+AAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAMAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAABAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAAAXQAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAABAF0AAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAwBdAAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAgBdAAAAAAIAfgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAADAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAADAH4AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAE0AAAAAAwAfAAAAAAMAHwAAAAABAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAIAHwAAAAABAB8AAAAAAwAfAAAAAAEATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAACAB8AAAAAAwAfAAAAAAEAfgAAAAAAAE8AAAAAAAARAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAwAfAAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAAAHwAAAAADAB8AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAgAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAADAB8AAAAAAQAfAAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAgAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAIAHwAAAAADAB8AAAAAAgAfAAAAAAEAHwAAAAACAB8AAAAAAgB+AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAADAA== + tiles: XQAAAAABAF0AAAAAAwB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAQB+AAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAEAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAACAH4AAAAAAAB+AAAAAAAACgAAAAAAAAoAAAAAAAAKAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAgB+AAAAAAAACgAAAAAAAAoAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAACgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAE0AAAAAAwAfAAAAAAMAHwAAAAABAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAEAHwAAAAACAB8AAAAAAQAfAAAAAAIATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAAAAB8AAAAAAAAfAAAAAAIAfgAAAAAAAE8AAAAAAAARAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAACgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwAfAAAAAAEAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAoAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAHwAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAGwAAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAACAB8AAAAAAgAfAAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAHwAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAABAA== version: 7 -1,-1: ind: -1,-1 - tiles: XQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAegAAAAAAAHoAAAAAAAB6AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAHoAAAAAAAB6AAAAAAAAegAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAAB6AAAAAAAAegAAAAAAAHoAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAA4AAAAAAAAOAAAAAAAADgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAAuAAAAAAAAfgAAAAAAAF0AAAAAAgAOAAAAAAAADgAAAAAAAA4AAAAAAABsAAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB0AAAAAAAAdAAAAAACAH4AAAAAAABdAAAAAAIADgAAAAAAAA4AAAAAAAAOAAAAAAAAbAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAdAAAAAADAHMAAAAAAQB+AAAAAAAAXQAAAAAAAA4AAAAAAAAOAAAAAAAADgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABwAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAAB6AAAAAAAAegAAAAABAH4AAAAAAAAfAAAAAAEAfgAAAAAAAH4AAAAAAABsAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAEAegAAAAACADMAAAAAAAB6AAAAAAIAegAAAAADAHoAAAAAAwB+AAAAAAAAHwAAAAACAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB6AAAAAAMAegAAAAABAHoAAAAAAAAzAAAAAAAAegAAAAADAHoAAAAAAQB6AAAAAAMAfgAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAegAAAAACAHoAAAAAAgB6AAAAAAIAJAAAAAADAHoAAAAAAgB6AAAAAAAAegAAAAAAAH4AAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAHoAAAAAAAB6AAAAAAAAegAAAAACAH4AAAAAAAB6AAAAAAMAegAAAAACAHoAAAAAAgB+AAAAAAAAHwAAAAAAAGwAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAQB+AAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAEAfgAAAAAAAB8AAAAAAgBsAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAMAHwAAAAABAA== + tiles: XQAAAAADAF0AAAAAAQBdAAAAAAAAXQAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAAAegAAAAACAHoAAAAAAwB6AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAIAXQAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAADAHoAAAAAAAB6AAAAAAEAegAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAABAF0AAAAAAAB6AAAAAAEAegAAAAAAAHoAAAAAAQB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAA4AAAAAAAAOAAAAAAMADgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAAuAAAAAAAAfgAAAAAAAF0AAAAAAQAOAAAAAAMADgAAAAACAA4AAAAAAABsAAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB0AAAAAAMAdAAAAAAAAH4AAAAAAABdAAAAAAAADgAAAAABAA4AAAAAAgAOAAAAAAMAbAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAdAAAAAADAHMAAAAAAgB+AAAAAAAAXQAAAAADAA4AAAAAAwAOAAAAAAEADgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABwAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAAB6AAAAAAEAegAAAAABAH4AAAAAAAAfAAAAAAIAfgAAAAAAAH4AAAAAAABsAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAAAegAAAAAAAA0AAAAAAAB6AAAAAAEAegAAAAABAHoAAAAAAwB+AAAAAAAAHwAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB6AAAAAAIAegAAAAACAHoAAAAAAwANAAAAAAAAegAAAAADAHoAAAAAAAB6AAAAAAEAfgAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAegAAAAACAHoAAAAAAQB6AAAAAAMAJAAAAAAAAHoAAAAAAwB6AAAAAAAAegAAAAAAAH4AAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAHoAAAAAAgB6AAAAAAMAegAAAAABAH4AAAAAAAB6AAAAAAIAegAAAAABAHoAAAAAAgB+AAAAAAAAHwAAAAADAGwAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAwB+AAAAAAAAHwAAAAADAB8AAAAAAgAfAAAAAAIAfgAAAAAAAB8AAAAAAgBsAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAAAHwAAAAADAA== version: 7 0,0: ind: 0,0 - tiles: HwAAAAADAB8AAAAAAgAfAAAAAAEAHwAAAAACAB8AAAAAAwB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAACAB8AAAAAAQAfAAAAAAMAHwAAAAACAB8AAAAAAgAfAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAvAAAAAAEALwAAAAABAC8AAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAQAfAAAAAAAAHwAAAAAAAB8AAAAAAQAfAAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAvAAAAAAEADAAAAAAAAAwAAAAAAAAMAAAAAAIALwAAAAACAH4AAAAAAABdAAAAAAAAHwAAAAACAB8AAAAAAAAfAAAAAAEAHwAAAAADAH4AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAvAAAAAAIADAAAAAADAAwAAAAAAgAMAAAAAAEADAAAAAADAAwAAAAAAAAvAAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAALwAAAAACAAwAAAAAAgAMAAAAAAIADAAAAAABAAwAAAAAAAAMAAAAAAAALwAAAAADAF0AAAAAAwB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAC8AAAAAAgAfAAAAAAAADAAAAAAAAAwAAAAAAQAMAAAAAAIAHwAAAAAAAC8AAAAAAQBdAAAAAAIAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAALwAAAAACAC8AAAAAAwBOAAAAAAIALwAAAAACAC8AAAAAAAB+AAAAAAAATQAAAAABAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAgBdAAAAAAIATQAAAAAAAF0AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAACAF0AAAAAAgBdAAAAAAMAXQAAAAADAF0AAAAAAwBdAAAAAAIAXQAAAAACAE0AAAAAAwBdAAAAAAIAXQAAAAACAF0AAAAAAwBdAAAAAAMAXQAAAAADAF0AAAAAAgBdAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAMAXQAAAAADAF0AAAAAAwBNAAAAAAMAXQAAAAABAF0AAAAAAQBdAAAAAAIAXQAAAAABAF0AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE0AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAABdAAAAAAIAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAwBdAAAAAAEAXQAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAwB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAwB+AAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAEAfgAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAACAF0AAAAAAABdAAAAAAEAfgAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAABAF0AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAEAXQAAAAADAF0AAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAAAXQAAAAACAH4AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAgB+AAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAgB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAQB+AAAAAAAAXQAAAAABAA== + tiles: HwAAAAABAB8AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAADAB8AAAAAAwAfAAAAAAMAHwAAAAAAAB8AAAAAAQAfAAAAAAIAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAvAAAAAAIALwAAAAADAC8AAAAAAQB9AAAAAAAAfgAAAAAAAF0AAAAAAgAfAAAAAAEAHwAAAAAAAB8AAAAAAQAfAAAAAAIAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAvAAAAAAEADAAAAAABAAwAAAAAAgAMAAAAAAEALwAAAAAAAH4AAAAAAABdAAAAAAMAHwAAAAABAB8AAAAAAAAfAAAAAAIAHwAAAAADAH4AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAvAAAAAAIADAAAAAAAAAwAAAAAAgAMAAAAAAMADAAAAAABAAwAAAAAAQAvAAAAAAIAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAALwAAAAABAAwAAAAAAQAMAAAAAAMADAAAAAABAAwAAAAAAAAMAAAAAAAALwAAAAAAAF0AAAAAAgB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAC8AAAAAAAAfAAAAAAAADAAAAAABAAwAAAAAAgAMAAAAAAMAHwAAAAAAAC8AAAAAAABdAAAAAAEAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAALwAAAAAAAC8AAAAAAgBOAAAAAAAALwAAAAADAC8AAAAAAQB+AAAAAAAATQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAIAXQAAAAACAF0AAAAAAgBdAAAAAAMATQAAAAACAF0AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAAAAE0AAAAAAgBdAAAAAAIAXQAAAAABAF0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAwBdAAAAAAEAXQAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAAAAF0AAAAAAQBNAAAAAAEAXQAAAAACAF0AAAAAAgBdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE0AAAAAAwBdAAAAAAEAXQAAAAABAF0AAAAAAQBdAAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAABdAAAAAAEAXQAAAAADAH4AAAAAAABdAAAAAAEAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAwB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAQB+AAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAIAfgAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAACAF0AAAAAAgBdAAAAAAIAfgAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAQBdAAAAAAIAXQAAAAABAF0AAAAAAQBdAAAAAAEAXQAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAADAF0AAAAAAgBdAAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAAAXQAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAgB+AAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAEAXQAAAAADAF0AAAAAAwB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAwB+AAAAAAAAXQAAAAACAA== version: 7 -1,0: ind: -1,0 - tiles: fgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAAAHwAAAAABAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAMAHwAAAAADAB8AAAAAAABsAAAAAAAAbQAAAAAAAH4AAAAAAABtAAAAAAAAbQAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAABAB8AAAAAAwB+AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAMAfgAAAAAAAG0AAAAAAABsAAAAAAAAbQAAAAAAAG0AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAAfAAAAAAMAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAB8AAAAAAgAfAAAAAAEAHwAAAAACAH4AAAAAAABtAAAAAAAAfgAAAAAAAG0AAAAAAABtAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAHwAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAA4AAAAAAAAOAAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAB8AAAAAAgB+AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAABdAAAAAAAATQAAAAACAF0AAAAAAwBdAAAAAAEAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAABdAAAAAAAAXQAAAAADAE0AAAAAAgBdAAAAAAEAXQAAAAACAF0AAAAAAQBdAAAAAAIAXQAAAAABAF0AAAAAAQBdAAAAAAIAXQAAAAABAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAQBNAAAAAAEAXQAAAAABAF0AAAAAAQBdAAAAAAMAXQAAAAABAF0AAAAAAwBdAAAAAAMAXQAAAAACAF0AAAAAAQBdAAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAMAXQAAAAAAAE0AAAAAAwBNAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAACAF0AAAAAAgBdAAAAAAAAXQAAAAACAB8AAAAAAQB+AAAAAAAAegAAAAAAAHoAAAAAAAB6AAAAAAIAegAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAABAF0AAAAAAgAfAAAAAAAAfgAAAAAAAHoAAAAAAAB6AAAAAAAAegAAAAAAAHoAAAAAAQB6AAAAAAAAegAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAEAHwAAAAADAH4AAAAAAAB6AAAAAAMAegAAAAACAHoAAAAAAAB6AAAAAAAAegAAAAADAHoAAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAIAfgAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAADAH4AAAAAAAB+AAAAAAAAegAAAAACAHoAAAAAAgB6AAAAAAAAegAAAAABAHoAAAAAAAB6AAAAAAEAfgAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAAAAF0AAAAAAQBdAAAAAAIAXQAAAAACAF0AAAAAAQB+AAAAAAAAegAAAAAAAHoAAAAAAQBAAAAAAAAAQAAAAAAAAEAAAAAAAAB6AAAAAAEAegAAAAABAH4AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAAB+AAAAAAAAXQAAAAABAA== + tiles: fgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAHwAAAAADAB8AAAAAAgAfAAAAAAAAHwAAAAADAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAQBsAAAAAAAAbQAAAAAAAH4AAAAAAABtAAAAAAAAbQAAAAAAAB8AAAAAAQAfAAAAAAEAHwAAAAADAB8AAAAAAQB+AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAIAfgAAAAAAAG0AAAAAAABsAAAAAAAAbQAAAAAAAG0AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAAfAAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAMAHwAAAAACAH4AAAAAAABtAAAAAAAAfgAAAAAAAG0AAAAAAABtAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAHwAAAAABAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAA4AAAAAAAAOAAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAB8AAAAAAQB+AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAABdAAAAAAEATQAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAABdAAAAAAEAXQAAAAAAAE0AAAAAAQBdAAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAMAXQAAAAADAF0AAAAAAwBdAAAAAAMAXQAAAAADAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAABNAAAAAAMAXQAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAIAXQAAAAADAF0AAAAAAgBdAAAAAAMAXQAAAAACAE0AAAAAAABNAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAACAF0AAAAAAgBdAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAAAXQAAAAADAB8AAAAAAQB+AAAAAAAAegAAAAABAHoAAAAAAwB6AAAAAAAAegAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAAAfAAAAAAAAfgAAAAAAAHoAAAAAAwB6AAAAAAIAegAAAAACAHoAAAAAAwB6AAAAAAIAegAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAMAHwAAAAAAAH4AAAAAAAB6AAAAAAEAegAAAAABAHoAAAAAAwB6AAAAAAEAegAAAAABAHoAAAAAAgB+AAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAMAfgAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAADAH4AAAAAAAB+AAAAAAAAegAAAAACAHoAAAAAAgB6AAAAAAAAegAAAAAAAHoAAAAAAAB6AAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAABAF0AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAgB+AAAAAAAAegAAAAACAHoAAAAAAQBAAAAAAAAAQAAAAAAAAEAAAAAAAAB6AAAAAAIAegAAAAADAH4AAAAAAAAfAAAAAAMAHwAAAAABAB8AAAAAAQB+AAAAAAAAXQAAAAACAA== version: 7 0,-2: ind: 0,-2 - tiles: XQAAAAAAAF0AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAQAfAAAAAAAAegAAAAABAHoAAAAAAgB6AAAAAAEAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAegAAAAAAAF0AAAAAAQBdAAAAAAMAfgAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAACAB8AAAAAAQAfAAAAAAMAHwAAAAABAB8AAAAAAQAfAAAAAAAAHwAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAABOAAAAAAIAegAAAAAAAHoAAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAADAB8AAAAAAQAfAAAAAAEAfgAAAAAAAA4AAAAAAgB6AAAAAAIAegAAAAACAHoAAAAAAAB6AAAAAAEAegAAAAABAF0AAAAAAABdAAAAAAIAfgAAAAAAAB8AAAAAAgAfAAAAAAEAHwAAAAADAB8AAAAAAAAfAAAAAAIAHwAAAAAAAH4AAAAAAAAOAAAAAAEAegAAAAADAHoAAAAAAwB6AAAAAAIAegAAAAAAAHoAAAAAAQBdAAAAAAAAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAADgAAAAADAA4AAAAAAQAOAAAAAAIADgAAAAABAA4AAAAAAwAOAAAAAAEAXQAAAAADAF0AAAAAAwB+AAAAAAAATQAAAAACAE0AAAAAAwBNAAAAAAAATQAAAAABAE0AAAAAAgBNAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAAATQAAAAABAF0AAAAAAQBdAAAAAAMAXQAAAAABAF0AAAAAAQBdAAAAAAMAXQAAAAACAF0AAAAAAQBdAAAAAAMAXQAAAAABAF0AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAEAXQAAAAAAAE0AAAAAAQBdAAAAAAIAXQAAAAACAF0AAAAAAQBdAAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAgBNAAAAAAIAXQAAAAABAF0AAAAAAgBdAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAADAF0AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAEAXQAAAAACAF0AAAAAAwBdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAIAXQAAAAABAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE0AAAAAAgBdAAAAAAEAXQAAAAACAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAABdAAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAQB+AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAEAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAABAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAADAH4AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAgB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAAAXQAAAAABAA== + tiles: XQAAAAAAAF0AAAAAAwB+AAAAAAAAHwAAAAABAB8AAAAAAQAfAAAAAAEAegAAAAADAHoAAAAAAgB6AAAAAAEAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAegAAAAAAAF0AAAAAAABdAAAAAAIAfgAAAAAAAB8AAAAAAAAfAAAAAAEAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAAAAB8AAAAAAAAfAAAAAAEAHwAAAAACAB8AAAAAAQAfAAAAAAMAHwAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABOAAAAAAIAegAAAAADAHoAAAAAAgB+AAAAAAAAXQAAAAADAF0AAAAAAgB+AAAAAAAAHwAAAAADAB8AAAAAAAAfAAAAAAEAHwAAAAAAAB8AAAAAAwAfAAAAAAAAfgAAAAAAAA4AAAAAAgB6AAAAAAAAegAAAAACAHoAAAAAAgB6AAAAAAEAegAAAAAAAF0AAAAAAwBdAAAAAAIAfgAAAAAAAB8AAAAAAwAfAAAAAAIAHwAAAAABAB8AAAAAAQAfAAAAAAIAHwAAAAABAH4AAAAAAAAOAAAAAAAAegAAAAACAHoAAAAAAAB6AAAAAAMAegAAAAADAHoAAAAAAABdAAAAAAIAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAADgAAAAAAAA4AAAAAAwAOAAAAAAIADgAAAAADAA4AAAAAAwAOAAAAAAEAXQAAAAACAF0AAAAAAQB+AAAAAAAATQAAAAABAE0AAAAAAABNAAAAAAEATQAAAAABAE0AAAAAAQBNAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAEATQAAAAABAF0AAAAAAgBdAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAIAXQAAAAADAF0AAAAAAQBdAAAAAAEAXQAAAAADAF0AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAQBdAAAAAAAAXQAAAAABAE0AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAwBNAAAAAAIAXQAAAAACAF0AAAAAAwBdAAAAAAEAXQAAAAACAF0AAAAAAwBdAAAAAAIAXQAAAAADAF0AAAAAAQBdAAAAAAEAXQAAAAACAF0AAAAAAgBdAAAAAAIAXQAAAAABAF0AAAAAAgBdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE0AAAAAAwBdAAAAAAAAXQAAAAADAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAwBdAAAAAAIAbQAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAQB+AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAAAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAIAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAMAXQAAAAACAH4AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAwB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAACAF0AAAAAAgBdAAAAAAIAXQAAAAADAA== version: 7 -1,-2: ind: -1,-2 - tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAF0AAAAAAgB6AAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAAfAAAAAAMAHwAAAAACAB8AAAAAAgAfAAAAAAEAHwAAAAABAB8AAAAAAwB+AAAAAAAAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAMAHwAAAAAAAB8AAAAAAgAfAAAAAAIAfgAAAAAAAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAwAfAAAAAAIAHwAAAAADAH4AAAAAAABdAAAAAAMAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAQB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAQBdAAAAAAMAXQAAAAACAF0AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAwBdAAAAAAEAXQAAAAAAAF0AAAAAAQBdAAAAAAMATQAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAwBdAAAAAAEAXQAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAACAF0AAAAAAgBdAAAAAAMAXQAAAAABAF0AAAAAAwBdAAAAAAIAXQAAAAACAE0AAAAAAwBdAAAAAAIAXQAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAADAF0AAAAAAwBdAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAMAXQAAAAABAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAwBNAAAAAAIAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAfgAAAAAAAHQAAAAAAAB0AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAAADgAAAAAAAA4AAAAAAAAOAAAAAAAADgAAAAAAAA4AAAAAAAAOAAAAAAAAXQAAAAAAAGwAAAAAAAB0AAAAAAAAdAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAADAA4AAAAAAAAOAAAAAAAADgAAAAAAAA4AAAAAAAAOAAAAAAAADgAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAQAOAAAAAAAADgAAAAAAAA4AAAAAAAAOAAAAAAAADgAAAAAAAA4AAAAAAABdAAAAAAAAfgAAAAAAAHoAAAAAAAB6AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAEADgAAAAAAAA4AAAAAAAAOAAAAAAAADgAAAAAAAA4AAAAAAAAOAAAAAAAAXQAAAAAAAGwAAAAAAAB6AAAAAAAAegAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAAAAA== + tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAF0AAAAAAgB6AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAAfAAAAAAMAHwAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAADAB8AAAAAAQB+AAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAHwAAAAADAB8AAAAAAQAfAAAAAAMAHwAAAAAAAB8AAAAAAwAfAAAAAAAAfgAAAAAAAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAMAHwAAAAAAAH4AAAAAAABdAAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAACAB8AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAIAXQAAAAACAF0AAAAAAwBdAAAAAAIAXQAAAAABAF0AAAAAAQBdAAAAAAMAXQAAAAAAAF0AAAAAAwBdAAAAAAMATQAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAIAXQAAAAADAF0AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAIAXQAAAAAAAE0AAAAAAwBdAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAMAXQAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAgBNAAAAAAIAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAACAF0AAAAAAwBdAAAAAAMAXQAAAAACAF0AAAAAAwBdAAAAAAMAfgAAAAAAAHQAAAAAAgB0AAAAAAMAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAMADgAAAAACAA4AAAAAAwAOAAAAAAIADgAAAAABAA4AAAAAAwAOAAAAAAEAXQAAAAACAGwAAAAAAAB0AAAAAAAAdAAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAABAA4AAAAAAQAOAAAAAAIADgAAAAAAAA4AAAAAAwAOAAAAAAAADgAAAAACAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAgAOAAAAAAMADgAAAAACAA4AAAAAAAAOAAAAAAEADgAAAAABAA4AAAAAAABdAAAAAAAAfgAAAAAAAHoAAAAAAwB6AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAEADgAAAAACAA4AAAAAAQAOAAAAAAIADgAAAAABAA4AAAAAAwAOAAAAAAMAXQAAAAAAAGwAAAAAAAB6AAAAAAIAegAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAACAA== version: 7 0,-3: ind: 0,-3 - tiles: XQAAAAACAF0AAAAAAwBdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAABAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAGQAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAAAfAAAAAAMAHwAAAAADAB8AAAAAAgAfAAAAAAEAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAABkAAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAIAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAAAZAAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAgBtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAACAH4AAAAAAAAfAAAAAAEAHwAAAAABAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAwB+AAAAAAAAHwAAAAAAAB8AAAAAAQAfAAAAAAIAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAEAHwAAAAADAB8AAAAAAAAfAAAAAAEAHwAAAAABAB8AAAAAAgAfAAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAACAH4AAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAACAB8AAAAAAQAfAAAAAAMAHwAAAAADAH4AAAAAAAB6AAAAAAMAegAAAAAAAHoAAAAAAgB+AAAAAAAAQAAAAAAAAEAAAAAAAAB6AAAAAAAAXQAAAAACAF0AAAAAAgB+AAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAMAHwAAAAACAB8AAAAAAwB+AAAAAAAAegAAAAACAHoAAAAAAAB6AAAAAAIAfgAAAAAAAEAAAAAAAABAAAAAAAAAegAAAAAAAF0AAAAAAABdAAAAAAEAfgAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAIAfgAAAAAAAHoAAAAAAgB6AAAAAAEAegAAAAADAH4AAAAAAABAAAAAAAAAQAAAAAAAAHoAAAAAAABdAAAAAAMAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAegAAAAADAH4AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAAB6AAAAAAAAXQAAAAADAF0AAAAAAQB+AAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAIAfgAAAAAAAHoAAAAAAAB6AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAegAAAAAAAA== + tiles: XQAAAAADAF0AAAAAAgBdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAADAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAABAGQAAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAQAfAAAAAAIAHwAAAAADAB8AAAAAAAAfAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAwBkAAAAAAEAXQAAAAADAF0AAAAAAwBdAAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAQB+AAAAAAAAfgAAAAAAAGQAAAAAAQB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAIAZAAAAAABAH4AAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAABAH4AAAAAAAAfAAAAAAMAHwAAAAADAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAIAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAMAHwAAAAACAB8AAAAAAgAfAAAAAAMAHwAAAAABAB8AAAAAAwAfAAAAAAMAfgAAAAAAAB8AAAAAAgAfAAAAAAEAHwAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAADAH4AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAQAfAAAAAAMAHwAAAAAAAH4AAAAAAAB6AAAAAAIAegAAAAAAAHoAAAAAAQB+AAAAAAAAQAAAAAAAAEAAAAAAAAB6AAAAAAIAXQAAAAAAAF0AAAAAAQB+AAAAAAAAHwAAAAADAB8AAAAAAQAfAAAAAAAAHwAAAAAAAB8AAAAAAAB+AAAAAAAAegAAAAAAAHoAAAAAAQB6AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAegAAAAACAF0AAAAAAABdAAAAAAEAfgAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAIAfgAAAAAAAHoAAAAAAgB6AAAAAAIAegAAAAADAH4AAAAAAABAAAAAAAAAQAAAAAAAAHoAAAAAAABdAAAAAAAAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAegAAAAABAH4AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAAB6AAAAAAEAXQAAAAADAF0AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAMAfgAAAAAAAHoAAAAAAwB6AAAAAAEAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAegAAAAAAAA== version: 7 -1,-3: ind: -1,-3 - tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAADAGQAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAG0AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAAFAAAAAAIAXQAAAAADAF0AAAAAAgBkAAAAAAAAZAAAAAAAAGQAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAABQAAAAABAF0AAAAAAwBdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAQB+AAAAAAAAbAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAA== + tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAABAGQAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAACAG0AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAAFAAAAAAAAXQAAAAAAAF0AAAAAAABkAAAAAAIAZAAAAAABAGQAAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAABQAAAAADAF0AAAAAAQBdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAQB+AAAAAAAAbAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAADAA== version: 7 1,-2: ind: 1,-2 - tiles: egAAAAADAHoAAAAAAAB6AAAAAAIAegAAAAAAAHoAAAAAAQB6AAAAAAIAegAAAAAAAAQAAAAAAwAEAAAAAAEABAAAAAAAAAQAAAAAAwAfAAAAAAAAHwAAAAABAF0AAAAAAABdAAAAAAIAXQAAAAAAAHoAAAAAAwB6AAAAAAMAegAAAAACAHoAAAAAAwB6AAAAAAIAegAAAAAAAHoAAAAAAAAEAAAAAAEABAAAAAACAAQAAAAAAwAEAAAAAAAAHwAAAAAAAB8AAAAAAgBdAAAAAAMAXQAAAAAAAF0AAAAAAAB6AAAAAAEAegAAAAAAAHoAAAAAAgB6AAAAAAMAegAAAAAAAHoAAAAAAQB+AAAAAAAAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAEAegAAAAAAAHoAAAAAAAB6AAAAAAMAegAAAAAAAHoAAAAAAgB6AAAAAAEAfgAAAAAAAC4AAAAAAAAuAAAAAAAALgAAAAAAAC4AAAAAAAB+AAAAAAAAHwAAAAADAF0AAAAAAgBdAAAAAAAAXQAAAAABAHoAAAAAAgB6AAAAAAIAegAAAAADAHoAAAAAAQB6AAAAAAAAegAAAAADAH4AAAAAAAAuAAAAAAAALgAAAAAAAC4AAAAAAAAuAAAAAAAAfgAAAAAAAB8AAAAAAQBdAAAAAAMAXQAAAAAAAF0AAAAAAwAOAAAAAAMADgAAAAADAA4AAAAAAwAOAAAAAAIADgAAAAACAA4AAAAAAQB+AAAAAAAALgAAAAAAAC4AAAAAAAAuAAAAAAAALgAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAADAB8AAAAAAQAfAAAAAAAADgAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwB+AAAAAAAAPAAAAAAAAF0AAAAAAABdAAAAAAIATQAAAAABAF0AAAAAAgBdAAAAAAIAXQAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAACAF0AAAAAAgBdAAAAAAEAXQAAAAADAF0AAAAAAQBdAAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAIAXQAAAAADAE0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAgBdAAAAAAIAXQAAAAABAF0AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAgBdAAAAAAIAXQAAAAACAF0AAAAAAABNAAAAAAMAXQAAAAACAF0AAAAAAwBdAAAAAAIAXQAAAAABAF0AAAAAAwBdAAAAAAMAXQAAAAACAF0AAAAAAgBdAAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAIAXQAAAAACAE0AAAAAAgBNAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAHAAAAAAAwB+AAAAAAAAXQAAAAAAAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHAAAAAAAQBwAAAAAAIAcAAAAAADAF0AAAAAAgBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAcAAAAAADAHAAAAAAAQBwAAAAAAEAXQAAAAACAF0AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHAAAAAAAwBwAAAAAAMAfgAAAAAAAA== + tiles: egAAAAABAHoAAAAAAgB6AAAAAAEAegAAAAABAHoAAAAAAAB6AAAAAAMAegAAAAAAAAQAAAAAAwAEAAAAAAMABAAAAAAAAAQAAAAAAQAfAAAAAAIAHwAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAABAHoAAAAAAAB6AAAAAAMAegAAAAADAHoAAAAAAQB6AAAAAAAAegAAAAAAAHoAAAAAAgAEAAAAAAEABAAAAAABAAQAAAAAAAAEAAAAAAEAHwAAAAACAB8AAAAAAwBdAAAAAAIAXQAAAAABAF0AAAAAAgB6AAAAAAAAegAAAAADAHoAAAAAAQB6AAAAAAEAegAAAAABAHoAAAAAAAB+AAAAAAAAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAEAegAAAAACAHoAAAAAAQB6AAAAAAIAegAAAAACAHoAAAAAAQB6AAAAAAAAfgAAAAAAAC4AAAAAAAAuAAAAAAAALgAAAAAAAC4AAAAAAAB+AAAAAAAAHwAAAAADAF0AAAAAAQBdAAAAAAIAXQAAAAACAHoAAAAAAAB6AAAAAAIAegAAAAAAAHoAAAAAAwB6AAAAAAIAegAAAAABAH4AAAAAAAAuAAAAAAAALgAAAAAAAC4AAAAAAAAuAAAAAAAAfgAAAAAAAB8AAAAAAgBdAAAAAAAAXQAAAAACAF0AAAAAAAAOAAAAAAEADgAAAAAAAA4AAAAAAwAOAAAAAAIADgAAAAADAA4AAAAAAgB+AAAAAAAALgAAAAAAAC4AAAAAAAAuAAAAAAAALgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAQAfAAAAAAAADgAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwB+AAAAAAAAPAAAAAAAAF0AAAAAAwBdAAAAAAEATQAAAAACAF0AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAgBdAAAAAAIAXQAAAAABAE0AAAAAAwBdAAAAAAEAXQAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAABAF0AAAAAAQBdAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAAAXQAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAAAAF0AAAAAAgBNAAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAIAXQAAAAADAF0AAAAAAQBdAAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAIAXQAAAAACAF0AAAAAAgBdAAAAAAAAXQAAAAADAE0AAAAAAwBNAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAHAAAAAAAQB+AAAAAAAAXQAAAAAAAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHAAAAAAAQBwAAAAAAAAcAAAAAABAF0AAAAAAwBdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAcAAAAAADAHAAAAAAAQBwAAAAAAAAXQAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHAAAAAAAwBwAAAAAAEAfgAAAAAAAA== version: 7 1,-1: ind: 1,-1 - tiles: XQAAAAADAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAEAegAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAACAH4AAAAAAAAfAAAAAAIAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAEMAAAAAAABDAAAAAAAAQwAAAAAAAB8AAAAAAgB+AAAAAAAAegAAAAABAHoAAAAAAAAfAAAAAAAAXQAAAAABAF0AAAAAAAB+AAAAAAAAHwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAABDAAAAAAAAQwAAAAAAAEMAAAAAAAAfAAAAAAMAfgAAAAAAAHoAAAAAAgB6AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAMAfgAAAAAAAB8AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAQwAAAAAAAEMAAAAAAABDAAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAwBtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAE0AAAAAAgBNAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAACAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAQB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAB8AAAAAAwAfAAAAAAMAHwAAAAABAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAIAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAAfAAAAAAEAHwAAAAACAB8AAAAAAwB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAADAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAHwAAAAADAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAXQAAAAABAF0AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAIAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAH4AAAAAAABdAAAAAAIAXQAAAAABAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAABAH4AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAABABEAAAAAAAAfAAAAAAEAHwAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAA== + tiles: XQAAAAABAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAAAegAAAAABAH4AAAAAAABdAAAAAAAAXQAAAAACAH4AAAAAAAAfAAAAAAIAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAEMAAAAAAABDAAAAAAAAQwAAAAAAAB8AAAAAAgB+AAAAAAAAegAAAAAAAHoAAAAAAAAfAAAAAAIAXQAAAAADAF0AAAAAAwB+AAAAAAAAHwAAAAACABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAABDAAAAAAAAQwAAAAAAAEMAAAAAAAAfAAAAAAAAfgAAAAAAAHoAAAAAAgB6AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAIAfgAAAAAAAB8AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAQwAAAAAAAEMAAAAAAABDAAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAgBtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAE0AAAAAAABNAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAAAAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAHwAAAAACAH4AAAAAAAAfAAAAAAAAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAgB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAB8AAAAAAQAfAAAAAAEAHwAAAAABAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAEAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAQB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAABAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAHwAAAAABAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAXQAAAAABAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAMAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAH4AAAAAAABdAAAAAAMAXQAAAAACAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAABAH4AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAAAABEAAAAAAAAfAAAAAAMAHwAAAAADAH4AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAA== version: 7 1,0: ind: 1,0 - tiles: XQAAAAACAF0AAAAAAgB+AAAAAAAAAAAAAAAAAH4AAAAAAAA4AAAAAAAAXQAAAAABABEAAAAAAAAfAAAAAAMAOAAAAAAAAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAIAfgAAAAAAAAAAAAAAAAB+AAAAAAAAOAAAAAAAADgAAAAAAAARAAAAAAAAOAAAAAAAADgAAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAAAAH4AAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAAAEQAAAAAAAF0AAAAAAgBdAAAAAAEAfgAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAgB+AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAMAfgAAAAAAAF0AAAAAAABdAAAAAAMAfgAAAAAAAAAAAAAAAAB+AAAAAAAAHwAAAAADAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAQBdAAAAAAIAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAQB+AAAAAAAATQAAAAADAE0AAAAAAwB+AAAAAAAAXQAAAAADAF0AAAAAAwB+AAAAAAAAfgAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAIAXQAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAgBdAAAAAAMAXQAAAAADAF0AAAAAAgBdAAAAAAEAXQAAAAADAF0AAAAAAgBdAAAAAAEAXQAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAADAF0AAAAAAwBdAAAAAAEAXQAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAABAF0AAAAAAQBdAAAAAAIAXQAAAAABAF0AAAAAAQBdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAEAXQAAAAABAE0AAAAAAQBNAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAACAH4AAAAAAAB0AAAAAAAAdAAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAABwAAAAAAEAdAAAAAACAHQAAAAAAwB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAF0AAAAAAQBdAAAAAAMAfgAAAAAAAHQAAAAAAwB0AAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAADAH4AAAAAAAB0AAAAAAMAVgAAAAABAH4AAAAAAAARAAAAAAAAEQAAAAAAABEAAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAA== + tiles: XQAAAAADAF0AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAA4AAAAAAAAXQAAAAACABEAAAAAAAAfAAAAAAEAOAAAAAAAAH4AAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAIAfgAAAAAAAAAAAAAAAAB+AAAAAAAAOAAAAAAAADgAAAAAAAARAAAAAAAAOAAAAAAAADgAAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAACAH4AAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAIAEQAAAAAAAF0AAAAAAwBdAAAAAAEAfgAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAABAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAwB+AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAEAfgAAAAAAAF0AAAAAAgBdAAAAAAEAfgAAAAAAAAAAAAAAAAB+AAAAAAAAHwAAAAADAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAwBdAAAAAAMAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAAAHwAAAAADAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAAB+AAAAAAAATQAAAAACAE0AAAAAAQB+AAAAAAAAXQAAAAACAF0AAAAAAgB+AAAAAAAAfgAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAABAF0AAAAAAgBdAAAAAAIAXQAAAAACAF0AAAAAAQBdAAAAAAIAXQAAAAABAF0AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAQBdAAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAMAXQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAIAXQAAAAADAF0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAwBdAAAAAAMAXQAAAAACAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAACAF0AAAAAAQBdAAAAAAEAXQAAAAADAF0AAAAAAgBdAAAAAAEAXQAAAAADAE0AAAAAAQBNAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAAAAH4AAAAAAAB0AAAAAAAAdAAAAAACAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAwBwAAAAAAMAdAAAAAACAHQAAAAAAwB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAF0AAAAAAQBdAAAAAAMAfgAAAAAAAHQAAAAAAAB0AAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAADAH4AAAAAAAB0AAAAAAIAVgAAAAABAH4AAAAAAAARAAAAAAAAEQAAAAAAABEAAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAA== version: 7 -2,-2: ind: -2,-2 - tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAMAegAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAHoAAAAAAgB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAFsAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB6AAAAAAEAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABbAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAegAAAAABAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAMAfgAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAHoAAAAAAwB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAHoAAAAAAgB6AAAAAAIAegAAAAAAAHoAAAAAAgB8AAAAAAIAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAADAF0AAAAAAQBdAAAAAAEAXQAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAADAF0AAAAAAwBdAAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAIAXQAAAAADAF0AAAAAAgBdAAAAAAIAXQAAAAACAF0AAAAAAgBdAAAAAAEAXQAAAAACAE0AAAAAAQBdAAAAAAMAXQAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAABAF0AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAIAXQAAAAABAF0AAAAAAQBdAAAAAAIAXQAAAAABAF0AAAAAAgBNAAAAAAMAXQAAAAADAF0AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAEAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAfgAAAAAAAAwAAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAH4AAAAAAAAMAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAB8AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAGwAAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAAB+AAAAAAAADAAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABsAAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAABsAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAfgAAAAAAAAwAAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAH4AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAbAAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAA== + tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAEAegAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAHoAAAAAAQB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAFsAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB6AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABbAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAegAAAAABAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAMAfgAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAHoAAAAAAgB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAHoAAAAAAgB6AAAAAAAAegAAAAABAHoAAAAAAwB8AAAAAAEAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAMAXQAAAAACAF0AAAAAAwBdAAAAAAEAXQAAAAACAF0AAAAAAwBdAAAAAAEAXQAAAAABAF0AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAQBdAAAAAAAAXQAAAAAAAE0AAAAAAwBdAAAAAAEAXQAAAAABAF0AAAAAAgBdAAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAEAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAABNAAAAAAMAXQAAAAABAF0AAAAAAQBdAAAAAAAAXQAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAEAHwAAAAABAB8AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAAAfgAAAAAAAAwAAAAAAQBdAAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAMAHwAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAAAAB8AAAAAAQAfAAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAAAAH4AAAAAAAAMAAAAAAIAXQAAAAABAF0AAAAAAQBdAAAAAAEAXQAAAAACAB8AAAAAAQB+AAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAEAHwAAAAABAGwAAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAgB+AAAAAAAADAAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAAAAF0AAAAAAQBsAAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAEAHwAAAAACAB8AAAAAAQBsAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAMAfgAAAAAAAAwAAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAgBdAAAAAAMAXQAAAAACAH4AAAAAAAAfAAAAAAEAHwAAAAABAB8AAAAAAAAfAAAAAAMAbAAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAA== version: 7 -2,-1: ind: -2,-1 - tiles: XQAAAAAAAGwAAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAfgAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABsAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAAAAGwAAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABsAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAGwAAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAAAbAAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAGwAAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAF0AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAGwAAAAAAABdAAAAAAAAbAAAAAAAAH4AAAAAAABwAAAAAAAAcAAAAAAAAHAAAAAAAAA/AAAAAAAAfgAAAAAAAGwAAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAPwAAAAAAAD8AAAAAAAA/AAAAAAAAPwAAAAAAAH4AAAAAAABsAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAAB+AAAAAAAALgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAbAAAAAAAAC4AAAAAAAAuAAAAAAAALgAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAH4AAAAAAAAuAAAAAAAALgAAAAAAAC4AAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAHwAAAAAAAC4AAAAAAAAuAAAAAAAAHwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAbAAAAAAAAB8AAAAAAAAuAAAAAAAALgAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAA== + tiles: XQAAAAADAGwAAAAAAAAfAAAAAAMAHwAAAAAAAB8AAAAAAgAfAAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAACAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAMAfgAAAAAAAF0AAAAAAQB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAABsAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAAAXQAAAAADAH4AAAAAAABdAAAAAAAAXQAAAAABAGwAAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAgBsAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAMAfgAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAgB+AAAAAAAAXQAAAAADAF0AAAAAAwB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAEAfgAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAADAGwAAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAwBdAAAAAAMAfgAAAAAAAF0AAAAAAgBdAAAAAAEAbAAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAADAGwAAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAMAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAF0AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAGwAAAAAAABdAAAAAAIAbAAAAAAAAH4AAAAAAABwAAAAAAAAcAAAAAACAHAAAAAAAQA/AAAAAAAAfgAAAAAAAGwAAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAPwAAAAAAAD8AAAAAAAA/AAAAAAAAPwAAAAAAAH4AAAAAAABsAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAgBdAAAAAAAAXQAAAAAAAF0AAAAAAwB+AAAAAAAALgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAwBdAAAAAAEAXQAAAAADAF0AAAAAAgBdAAAAAAAAbAAAAAAAAC4AAAAAAAAuAAAAAAAALgAAAAAAAB8AAAAAAwB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAEAXQAAAAAAAH4AAAAAAAAuAAAAAAAALgAAAAAAAC4AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAHwAAAAADAC4AAAAAAAAuAAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAADAB8AAAAAAwB+AAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAAAbAAAAAAAAB8AAAAAAAAuAAAAAAAALgAAAAAAAB8AAAAAAwB+AAAAAAAAfgAAAAAAAA== version: 7 -2,0: ind: -2,0 - tiles: fgAAAAAAAHoAAAAAAAB6AAAAAAAAegAAAAAAAHoAAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAfgAAAAAAAB8AAAAAAAAuAAAAAAAALgAAAAAAAC4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAAAegAAAAAAAHoAAAAAAAB6AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAAALgAAAAAAAB8AAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAAKAAAAAAAACgAAAAAAAAoAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAAKAAAAAAAAfgAAAAAAAH4AAAAAAAAKAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAACgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAABAF0AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAgBdAAAAAAMATQAAAAACAF0AAAAAAgBdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAADAE0AAAAAAgBdAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAABAF0AAAAAAwBNAAAAAAIAXQAAAAACAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE0AAAAAAQBdAAAAAAAAHwAAAAABAH4AAAAAAAAfAAAAAAEAegAAAAABAHoAAAAAAgB6AAAAAAEAegAAAAACAHoAAAAAAAAfAAAAAAIAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAEAEQAAAAAAAB8AAAAAAQB+AAAAAAAAHwAAAAADAHoAAAAAAgB6AAAAAAMAegAAAAABAHoAAAAAAQB6AAAAAAIAHwAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAACABEAAAAAAABdAAAAAAIAfgAAAAAAAB8AAAAAAAB6AAAAAAIAegAAAAACAHoAAAAAAQB6AAAAAAIAegAAAAADAB8AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAgARAAAAAAAAHwAAAAACAH4AAAAAAAAfAAAAAAMAegAAAAABAHoAAAAAAgB6AAAAAAAAegAAAAABAHoAAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAACAB8AAAAAAwB+AAAAAAAAHwAAAAABAHoAAAAAAQB6AAAAAAAAegAAAAACAHoAAAAAAgB6AAAAAAAAHwAAAAABAH4AAAAAAAAfAAAAAAEAHwAAAAABAB8AAAAAAgB+AAAAAAAAXQAAAAAAAA== + tiles: fgAAAAAAAHoAAAAAAQB6AAAAAAEAegAAAAACAHoAAAAAAwB+AAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAIAfgAAAAAAAB8AAAAAAAAuAAAAAAAALgAAAAAAAC4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAIAegAAAAAAAHoAAAAAAAB6AAAAAAMAfgAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAADAH4AAAAAAAAfAAAAAAIALgAAAAAAAB8AAAAAAQAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAMAHwAAAAACAH4AAAAAAAAfAAAAAAMAHwAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAAAfgAAAAAAAH4AAAAAAAAKAAAAAAAACgAAAAAAAAoAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAAKAAAAAAAAfgAAAAAAAH4AAAAAAAAKAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAACgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAABAF0AAAAAAwBdAAAAAAMAXQAAAAABAF0AAAAAAgBdAAAAAAIATQAAAAABAF0AAAAAAgBdAAAAAAEAXQAAAAADAF0AAAAAAgBdAAAAAAIAXQAAAAABAF0AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAwBdAAAAAAEAXQAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAAAAE0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAEAXQAAAAACAF0AAAAAAgBdAAAAAAIAXQAAAAABAF0AAAAAAQBNAAAAAAIAXQAAAAACAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE0AAAAAAgBdAAAAAAAAHwAAAAABAH4AAAAAAAAfAAAAAAMAegAAAAACAHoAAAAAAgB6AAAAAAIAegAAAAABAHoAAAAAAAAfAAAAAAIAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAMAEQAAAAAAAB8AAAAAAwB+AAAAAAAAHwAAAAACAHoAAAAAAAB6AAAAAAMAegAAAAABAHoAAAAAAQB6AAAAAAEAHwAAAAABAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAAAABEAAAAAAABdAAAAAAIAfgAAAAAAAB8AAAAAAAB6AAAAAAMAegAAAAADAHoAAAAAAQB6AAAAAAAAegAAAAABAB8AAAAAAQB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAwARAAAAAAAAHwAAAAABAH4AAAAAAAAfAAAAAAAAegAAAAADAHoAAAAAAwB6AAAAAAIAegAAAAABAHoAAAAAAAAfAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAABAB8AAAAAAwB+AAAAAAAAHwAAAAAAAHoAAAAAAgB6AAAAAAEAegAAAAACAHoAAAAAAAB6AAAAAAEAHwAAAAACAH4AAAAAAAAfAAAAAAAAHwAAAAACAB8AAAAAAQB+AAAAAAAAXQAAAAADAA== version: 7 1,-3: ind: 1,-3 - tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAAAAAAAAH4AAAAAAABkAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAIAHwAAAAADAB8AAAAAAwAfAAAAAAIAfgAAAAAAAAQAAAAAAAAEAAAAAAIABAAAAAADAAQAAAAAAwAEAAAAAAMAfgAAAAAAAB8AAAAAAQAfAAAAAAMAfgAAAAAAAB8AAAAAAAAfAAAAAAMAHwAAAAADAB8AAAAAAAAfAAAAAAEAHwAAAAACAH4AAAAAAAAEAAAAAAIABAAAAAADAAQAAAAAAAAEAAAAAAMABAAAAAACAH4AAAAAAAAMAAAAAAIADAAAAAABAH4AAAAAAAB6AAAAAAEAegAAAAABAHoAAAAAAAB6AAAAAAMAegAAAAAAAHoAAAAAAAAfAAAAAAEABAAAAAABAAQAAAAAAAAEAAAAAAEABAAAAAADAAQAAAAAAQAfAAAAAAIADAAAAAADAAwAAAAAAQB+AAAAAAAAegAAAAABAHoAAAAAAQB6AAAAAAIAegAAAAAAAHoAAAAAAAB6AAAAAAAAfgAAAAAAAAQAAAAAAQAEAAAAAAAABAAAAAABAAQAAAAAAAAEAAAAAAIAfgAAAAAAAAwAAAAAAAAMAAAAAAIAfgAAAAAAAHoAAAAAAQB6AAAAAAEAegAAAAABAHoAAAAAAAB6AAAAAAMAegAAAAABAHoAAAAAAAAEAAAAAAEABAAAAAAAAAQAAAAAAAAEAAAAAAIAfgAAAAAAAH4AAAAAAAAMAAAAAAIADAAAAAACAH4AAAAAAAB6AAAAAAMAegAAAAADAHoAAAAAAgB6AAAAAAAAegAAAAACAHoAAAAAAwB6AAAAAAAABAAAAAADAAQAAAAAAwAEAAAAAAEABAAAAAADAB8AAAAAAAAfAAAAAAMAHwAAAAAAAB8AAAAAAgAfAAAAAAIAegAAAAAAAHoAAAAAAwB6AAAAAAIAegAAAAAAAHoAAAAAAwB6AAAAAAAAegAAAAAAAAQAAAAAAgAEAAAAAAMABAAAAAACAAQAAAAAAAAfAAAAAAAAHwAAAAABAF0AAAAAAQBdAAAAAAAAXQAAAAABAA== + tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAAAAAABAH4AAAAAAABkAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAHwAAAAADAB8AAAAAAQAfAAAAAAEAHwAAAAACAB8AAAAAAgAfAAAAAAIAfgAAAAAAAAQAAAAAAgAEAAAAAAMABAAAAAADAAQAAAAAAAAEAAAAAAMAfgAAAAAAAB8AAAAAAAAfAAAAAAIAfgAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAMAHwAAAAACAH4AAAAAAAAEAAAAAAAABAAAAAABAAQAAAAAAAAEAAAAAAMABAAAAAAAAH4AAAAAAAAMAAAAAAAADAAAAAAAAH4AAAAAAAB6AAAAAAMAegAAAAAAAHoAAAAAAgB6AAAAAAIAegAAAAACAHoAAAAAAQAfAAAAAAMABAAAAAABAAQAAAAAAQAEAAAAAAMABAAAAAABAAQAAAAAAwAfAAAAAAAADAAAAAADAAwAAAAAAAB+AAAAAAAAegAAAAABAHoAAAAAAwB6AAAAAAAAegAAAAADAHoAAAAAAAB6AAAAAAIAfgAAAAAAAAQAAAAAAgAEAAAAAAEABAAAAAAAAAQAAAAAAQAEAAAAAAIAfgAAAAAAAAwAAAAAAQAMAAAAAAEAfgAAAAAAAHoAAAAAAgB6AAAAAAEAegAAAAABAHoAAAAAAwB6AAAAAAIAegAAAAABAHoAAAAAAgAEAAAAAAIABAAAAAADAAQAAAAAAAAEAAAAAAEAfgAAAAAAAH4AAAAAAAAMAAAAAAIADAAAAAABAH4AAAAAAAB6AAAAAAIAegAAAAADAHoAAAAAAgB6AAAAAAAAegAAAAADAHoAAAAAAwB6AAAAAAIABAAAAAAAAAQAAAAAAQAEAAAAAAIABAAAAAABAB8AAAAAAwAfAAAAAAAAHwAAAAADAB8AAAAAAwAfAAAAAAMAegAAAAAAAHoAAAAAAQB6AAAAAAEAegAAAAAAAHoAAAAAAwB6AAAAAAAAegAAAAADAAQAAAAAAwAEAAAAAAEABAAAAAACAAQAAAAAAgAfAAAAAAIAHwAAAAABAF0AAAAAAgBdAAAAAAIAXQAAAAABAA== version: 7 -3,0: ind: -3,0 - tiles: HwAAAAACAB8AAAAAAQAfAAAAAAAAHwAAAAABAH4AAAAAAAB5AAAAAAAAeQAAAAAAAH4AAAAAAABNAAAAAAMAXQAAAAADAF0AAAAAAwBdAAAAAAMAbAAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAACAB8AAAAAAAAfAAAAAAIAHwAAAAABAH4AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABuAAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAIAHwAAAAACAB8AAAAAAgAfAAAAAAAAHwAAAAACAB8AAAAAAQB+AAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbgAAAAAAAB8AAAAAAAAfAAAAAAAAfgAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAACAB8AAAAAAAAfAAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAyAAAAAAMAMgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAwAfAAAAAAAAHwAAAAACAH4AAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAwBsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAB8AAAAAAQB6AAAAAAMAegAAAAAAAH4AAAAAAAB6AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAABAE0AAAAAAwBdAAAAAAEAXQAAAAADAF0AAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAAfAAAAAAAAegAAAAAAAHoAAAAAAgAfAAAAAAAAegAAAAADAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAgBNAAAAAAIAXQAAAAACAF0AAAAAAgBdAAAAAAMAfQAAAAAAAAAAAAAAAAB+AAAAAAAAHwAAAAADAHoAAAAAAwB6AAAAAAMAfgAAAAAAAHoAAAAAAgB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAAATQAAAAADAF0AAAAAAwBdAAAAAAMAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAFIAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAADAB8AAAAAAwAfAAAAAAIAfgAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAACAB8AAAAAAgBwAAAAAAMAcAAAAAACAHAAAAAAAwB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAEAKAAAAAAAAB8AAAAAAQAfAAAAAAMAHwAAAAABAH4AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAgAfAAAAAAAAcAAAAAABAHAAAAAAAgBwAAAAAAIAfgAAAAAAAF0AAAAAAgARAAAAAAAAXQAAAAACACgAAAAAAQAfAAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAIAcAAAAAABAHAAAAAAAABwAAAAAAAAcAAAAAABAHAAAAAAAgBwAAAAAAMAcAAAAAABAB8AAAAAAQBdAAAAAAEAEQAAAAAAABEAAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAMAfgAAAAAAAHAAAAAAAgBwAAAAAAIAcAAAAAADAHAAAAAAAgBwAAAAAAIAcAAAAAADAHAAAAAAAAB+AAAAAAAAXQAAAAAAABEAAAAAAABdAAAAAAAAaAAAAAACAF0AAAAAAQBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAAAAA== + tiles: HwAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAAAAH4AAAAAAAB5AAAAAAMAeQAAAAABAH4AAAAAAABNAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAIAbAAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAABAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAACAH4AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAAAfAAAAAAIAHwAAAAADAH4AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABuAAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAIAHwAAAAADAB8AAAAAAwAfAAAAAAMAHwAAAAADAB8AAAAAAwB+AAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbgAAAAADAB8AAAAAAwAfAAAAAAIAfgAAAAAAAB8AAAAAAwAfAAAAAAEAHwAAAAAAAB8AAAAAAgAfAAAAAAIAfgAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAABAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAyAAAAAAIAMgAAAAACAH4AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAgAfAAAAAAMAHwAAAAADAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAQBsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAB8AAAAAAAB6AAAAAAEAegAAAAABAH4AAAAAAAB6AAAAAAIAfgAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAACAE0AAAAAAQBdAAAAAAMAXQAAAAADAF0AAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAAfAAAAAAAAegAAAAACAHoAAAAAAQAfAAAAAAIAegAAAAABAH4AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAwBNAAAAAAMAXQAAAAAAAF0AAAAAAQBdAAAAAAAAfQAAAAAAAAAAAAAAAAB+AAAAAAAAHwAAAAACAHoAAAAAAAB6AAAAAAAAfgAAAAAAAHoAAAAAAwB+AAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAEATQAAAAADAF0AAAAAAgBdAAAAAAIAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAFIAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAMAHwAAAAAAAB8AAAAAAAAfAAAAAAIAfgAAAAAAAB8AAAAAAAAfAAAAAAEAHwAAAAABAB8AAAAAAQBwAAAAAAEAcAAAAAAAAHAAAAAAAgB+AAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAEAKAAAAAABAB8AAAAAAgAfAAAAAAMAHwAAAAACAH4AAAAAAAAfAAAAAAAAHwAAAAADAB8AAAAAAAAfAAAAAAMAcAAAAAADAHAAAAAAAgBwAAAAAAAAfgAAAAAAAF0AAAAAAAARAAAAAAAAXQAAAAACACgAAAAAAQAfAAAAAAEAHwAAAAABAB8AAAAAAgAfAAAAAAIAcAAAAAADAHAAAAAAAQBwAAAAAAEAcAAAAAABAHAAAAAAAwBwAAAAAAIAcAAAAAACAB8AAAAAAABdAAAAAAIAEQAAAAAAABEAAAAAAAAfAAAAAAMAHwAAAAACAB8AAAAAAgAfAAAAAAIAfgAAAAAAAHAAAAAAAgBwAAAAAAEAcAAAAAACAHAAAAAAAQBwAAAAAAAAcAAAAAABAHAAAAAAAwB+AAAAAAAAXQAAAAAAABEAAAAAAABdAAAAAAEAaAAAAAADAF0AAAAAAQBdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAAAAA== version: 7 -3,-2: ind: -3,-2 - tiles: ZAAAAAAAAH4AAAAAAABkAAAAAAAAZAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAACAF0AAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAEAXQAAAAADAF0AAAAAAgBdAAAAAAAAXQAAAAABAH4AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAIAHwAAAAADAB8AAAAAAgAfAAAAAAMAfgAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAgAfAAAAAAMAHwAAAAACAB8AAAAAAgAfAAAAAAEAHwAAAAAAAB8AAAAAAgBdAAAAAAEAXQAAAAADAF0AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAABAB8AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAEAfgAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAH4AAAAAAAB6AAAAAAAAegAAAAACAHoAAAAAAAB6AAAAAAIAegAAAAABAHoAAAAAAgB6AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAABAH4AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAB+AAAAAAAAegAAAAACAHoAAAAAAQB6AAAAAAAAegAAAAACAHoAAAAAAQB6AAAAAAIAegAAAAAAAH4AAAAAAABNAAAAAAIATQAAAAABAE0AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAHwAAAAABAHoAAAAAAAB6AAAAAAMAegAAAAACAHoAAAAAAAB6AAAAAAEAegAAAAADAHoAAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAEAfgAAAAAAAEAAAAAAAABAAAAAAAAAfgAAAAAAAA== + tiles: ZAAAAAAAAH4AAAAAAABkAAAAAAIAZAAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAABAGQAAAAAAgBkAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAADAF0AAAAAAgBdAAAAAAIAXQAAAAADAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAAAXQAAAAACAH4AAAAAAAAfAAAAAAAAHwAAAAACAB8AAAAAAwAfAAAAAAMAHwAAAAAAAB8AAAAAAwAfAAAAAAIAfgAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAwAfAAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAMAHwAAAAABAB8AAAAAAwBdAAAAAAAAXQAAAAACAF0AAAAAAAB+AAAAAAAAHwAAAAADAB8AAAAAAwAfAAAAAAEAfgAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAEAHwAAAAABAB8AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAIAfgAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAADAH4AAAAAAAB6AAAAAAEAegAAAAADAHoAAAAAAwB6AAAAAAMAegAAAAACAHoAAAAAAAB6AAAAAAMAfgAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAABAH4AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAwB+AAAAAAAAegAAAAAAAHoAAAAAAwB6AAAAAAIAegAAAAAAAHoAAAAAAQB6AAAAAAIAegAAAAABAH4AAAAAAABNAAAAAAEATQAAAAAAAE0AAAAAAwB+AAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAHwAAAAAAAHoAAAAAAQB6AAAAAAIAegAAAAADAHoAAAAAAAB6AAAAAAEAegAAAAABAHoAAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAfgAAAAAAAA== version: 7 -3,-1: ind: -3,-1 - tiles: fgAAAAAAAHwAAAAAAwB8AAAAAAMAegAAAAAAAHoAAAAAAwB6AAAAAAIAfAAAAAADAHwAAAAAAgB+AAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAMAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAACAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAQB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAMAfgAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABsAAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAABAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAADAB8AAAAAAQBdAAAAAAAAXQAAAAADAF0AAAAAAwB+AAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAEAfgAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAB8AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAQAfAAAAAAEAHwAAAAACAB8AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAADAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAAAfAAAAAAMAfgAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAABAB8AAAAAAgAfAAAAAAMAfgAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAABAF0AAAAAAwB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAHwAAAAABAH4AAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAIAHwAAAAACAH4AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAgBdAAAAAAEAfgAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAADAB8AAAAAAAAfAAAAAAEAHwAAAAAAAB8AAAAAAwB+AAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAIAXQAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAAAfAAAAAAEAfgAAAAAAAB8AAAAAAQAfAAAAAAMAHwAAAAADAB8AAAAAAAAfAAAAAAAAHwAAAAACAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAwB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAwAfAAAAAAEAHwAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAABdAAAAAAMAbAAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAADAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAAAfAAAAAAMAHwAAAAADAB8AAAAAAAAfAAAAAAEAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAE0AAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAQBsAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAEAHwAAAAACAB8AAAAAAwAoAAAAAAIAKAAAAAABAB8AAAAAAwBNAAAAAAEAXQAAAAACAF0AAAAAAQBdAAAAAAAAbAAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAA== + tiles: fgAAAAAAAHwAAAAAAAB8AAAAAAIAegAAAAAAAHoAAAAAAQB6AAAAAAAAfAAAAAACAHwAAAAAAgB+AAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAMAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAQB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAQB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAMAfgAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAABAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAACAH4AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAwBsAAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAEAHwAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAACAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAgB+AAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAIAfgAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAADAB8AAAAAAgB+AAAAAAAAHwAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAACAB8AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAgAfAAAAAAEAfgAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAACAB8AAAAAAAAfAAAAAAMAfgAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAACAF0AAAAAAwB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAIAHwAAAAABAH4AAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAQAfAAAAAAEAHwAAAAADAH4AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAABdAAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAADAB8AAAAAAgAfAAAAAAAAHwAAAAACAB8AAAAAAAAfAAAAAAAAHwAAAAACAB8AAAAAAgB+AAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAAAXQAAAAACAH4AAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAAAfAAAAAAMAfgAAAAAAAB8AAAAAAQAfAAAAAAMAHwAAAAAAAB8AAAAAAQAfAAAAAAMAHwAAAAACAF0AAAAAAgBdAAAAAAMAXQAAAAADAF0AAAAAAwB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAIAHwAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAAAAB8AAAAAAQAfAAAAAAEAHwAAAAACAH4AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAIAbAAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAADAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAgAfAAAAAAMAHwAAAAAAAB8AAAAAAgAfAAAAAAIAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAE0AAAAAAwBdAAAAAAAAXQAAAAACAF0AAAAAAwBsAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAEAHwAAAAACAB8AAAAAAQAfAAAAAAEAHwAAAAABAB8AAAAAAAAoAAAAAAEAKAAAAAABAB8AAAAAAQBNAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAEAbAAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAABAA== version: 7 2,-3: ind: 2,-3 - tiles: fgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAEAegAAAAABAHoAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAwB6AAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAAB6AAAAAAAAegAAAAABAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAADwAAAAAAAA8AAAAAAAAPAAAAAAAADwAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAGQAAAAAAAA8AAAAAAAAPAAAAAAAADwAAAAAAAA8AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAPAAAAAAAADwAAAAAAAA8AAAAAAAAPAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABNAAAAAAAATQAAAAACAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABNAAAAAAIATQAAAAADAE0AAAAAAQB+AAAAAAAAcAAAAAADAHAAAAAAAABwAAAAAAEAfgAAAAAAAH4AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHAAAAAAAAB5AAAAAAAAcAAAAAABAH4AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAgAfAAAAAAMAHwAAAAACAH4AAAAAAABwAAAAAAIAeQAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAABAA== + tiles: fgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAMAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAMAegAAAAABAHoAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAwB6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAQB6AAAAAAEAegAAAAABAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAACADwAAAAAAAA8AAAAAAAAPAAAAAAAADwAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAGQAAAAAAQA8AAAAAAAAPAAAAAAAADwAAAAAAAA8AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAPAAAAAAAADwAAAAAAAA8AAAAAAAAPAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABNAAAAAAEATQAAAAACAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAADAH4AAAAAAAB+AAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABNAAAAAAAATQAAAAACAE0AAAAAAwB+AAAAAAAAcAAAAAACAHAAAAAAAABwAAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHAAAAAAAAB5AAAAAAMAcAAAAAADAH4AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAEAHwAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAQAfAAAAAAEAHwAAAAACAH4AAAAAAABwAAAAAAEAeQAAAAACAHAAAAAAAwBwAAAAAAIAcAAAAAADAA== version: 7 2,-2: ind: 2,-2 - tiles: XQAAAAABAF0AAAAAAwBdAAAAAAMAHwAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAwAfAAAAAAAAHwAAAAAAAHAAAAAAAABwAAAAAAIAeQAAAAACAHAAAAAAAgB+AAAAAAAAcAAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAACAB8AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAQAfAAAAAAAAHwAAAAADAB8AAAAAAQB+AAAAAAAAcAAAAAAAAHkAAAAAAwBwAAAAAAEAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAwAfAAAAAAAAXQAAAAACAB8AAAAAAQAfAAAAAAEAHwAAAAACAB8AAAAAAQAfAAAAAAAAfgAAAAAAAHAAAAAAAwB5AAAAAAMAcAAAAAABAH4AAAAAAAB1AAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAEAHwAAAAADAH4AAAAAAAAfAAAAAAAAHwAAAAADAB8AAAAAAgAfAAAAAAIAHwAAAAAAAH4AAAAAAABwAAAAAAAAeQAAAAADAHAAAAAAAwB+AAAAAAAAdQAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAACAB8AAAAAAQB+AAAAAAAAHwAAAAADAB8AAAAAAwAfAAAAAAMAHwAAAAAAAB8AAAAAAgBwAAAAAAEAcAAAAAABAHkAAAAAAwBwAAAAAAEAfgAAAAAAAHUAAAAAAgAfAAAAAAAAHwAAAAACAB8AAAAAAQAfAAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAQAfAAAAAAAAfgAAAAAAAHAAAAAAAABwAAAAAAMAcAAAAAADAH4AAAAAAABwAAAAAAEAPAAAAAAAADEAAAAAAAAxAAAAAAAAMQAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAcAAAAAADAH4AAAAAAAB+AAAAAAAAcAAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAADAF0AAAAAAwB+AAAAAAAAcAAAAAADAHAAAAAAAABwAAAAAAEAcAAAAAAAAHAAAAAAAAB+AAAAAAAAcAAAAAABAHAAAAAAAwBwAAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAMAcAAAAAAAAHAAAAAAAwB5AAAAAAIAeQAAAAABAHkAAAAAAwBwAAAAAAAAcAAAAAACAHAAAAAAAgB5AAAAAAIAcAAAAAABAH4AAAAAAAAoAAAAAAEAXQAAAAACAF0AAAAAAABdAAAAAAEAXQAAAAABAH4AAAAAAABwAAAAAAEAcAAAAAAAAHAAAAAAAwBwAAAAAAEAcAAAAAACAH4AAAAAAABwAAAAAAAAeQAAAAABAHAAAAAAAgB+AAAAAAAAHwAAAAADAH4AAAAAAABwAAAAAAAAcAAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAcAAAAAADAHkAAAAAAgBwAAAAAAEAcAAAAAACAB8AAAAAAwBwAAAAAAEAcAAAAAAAAHAAAAAAAwBwAAAAAAIAcAAAAAADAHAAAAAAAQBwAAAAAAEAcAAAAAAAAHAAAAAAAQBwAAAAAAIAfgAAAAAAAHAAAAAAAQB5AAAAAAIAcAAAAAADAH4AAAAAAABdAAAAAAMAcAAAAAAAAHkAAAAAAQB5AAAAAAMAeQAAAAABAHkAAAAAAQB5AAAAAAMAeQAAAAAAAHkAAAAAAQB5AAAAAAMAcAAAAAADAH4AAAAAAABwAAAAAAIAeQAAAAACAHAAAAAAAgB+AAAAAAAAfgAAAAAAAHAAAAAAAgB5AAAAAAEAcAAAAAABAHAAAAAAAgBwAAAAAAMAcAAAAAACAHAAAAAAAQBwAAAAAAEAeQAAAAACAHkAAAAAAwBwAAAAAAEAcAAAAAAAAHkAAAAAAABwAAAAAAMAcAAAAAABAHAAAAAAAQBwAAAAAAIAeQAAAAADAHkAAAAAAAB5AAAAAAMAeQAAAAACAHkAAAAAAAB5AAAAAAAAeQAAAAAAAHkAAAAAAwBwAAAAAAIAfgAAAAAAAHAAAAAAAQB5AAAAAAAAcAAAAAABAHAAAAAAAwBwAAAAAAIAcAAAAAADAHAAAAAAAQBwAAAAAAIAcAAAAAADAHAAAAAAAgBwAAAAAAMAcAAAAAABAHAAAAAAAABwAAAAAAIAcAAAAAACAH4AAAAAAABwAAAAAAIAcAAAAAABAHAAAAAAAgBwAAAAAAEAcAAAAAAAAA== + tiles: XQAAAAAAAF0AAAAAAABdAAAAAAEAHwAAAAACAH4AAAAAAAAfAAAAAAMAHwAAAAADAB8AAAAAAAAfAAAAAAAAHwAAAAADAHAAAAAAAgBwAAAAAAAAeQAAAAADAHAAAAAAAgB+AAAAAAAAcAAAAAADAF0AAAAAAwBdAAAAAAAAXQAAAAABAB8AAAAAAQB+AAAAAAAAHwAAAAACAB8AAAAAAAAfAAAAAAEAHwAAAAAAAB8AAAAAAAB+AAAAAAAAcAAAAAADAHkAAAAAAQBwAAAAAAIAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAQAfAAAAAAMAXQAAAAACAB8AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAgAfAAAAAAAAfgAAAAAAAHAAAAAAAQB5AAAAAAAAcAAAAAABAH4AAAAAAAB1AAAAAAIAXQAAAAADAF0AAAAAAgBdAAAAAAEAHwAAAAADAH4AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAwAfAAAAAAEAHwAAAAAAAH4AAAAAAABwAAAAAAEAeQAAAAAAAHAAAAAAAAB+AAAAAAAAdQAAAAADAF0AAAAAAwBdAAAAAAEAXQAAAAAAAB8AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAIAHwAAAAAAAB8AAAAAAABwAAAAAAMAcAAAAAAAAHkAAAAAAwBwAAAAAAAAfgAAAAAAAHUAAAAAAgAfAAAAAAIAHwAAAAADAB8AAAAAAAAfAAAAAAEAfgAAAAAAAB8AAAAAAQAfAAAAAAMAHwAAAAABAB8AAAAAAQAfAAAAAAIAfgAAAAAAAHAAAAAAAgBwAAAAAAIAcAAAAAABAH4AAAAAAABwAAAAAAIAPAAAAAAAADEAAAAAAAAxAAAAAAAAMQAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAcAAAAAACAH4AAAAAAAB+AAAAAAAAcAAAAAACAF0AAAAAAQBdAAAAAAMAXQAAAAAAAF0AAAAAAAB+AAAAAAAAcAAAAAAAAHAAAAAAAwBwAAAAAAAAcAAAAAAAAHAAAAAAAgB+AAAAAAAAcAAAAAABAHAAAAAAAABwAAAAAAMAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAQBdAAAAAAIAcAAAAAADAHAAAAAAAwB5AAAAAAAAeQAAAAABAHkAAAAAAgBwAAAAAAMAcAAAAAABAHAAAAAAAQB5AAAAAAIAcAAAAAACAH4AAAAAAAAoAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAMAXQAAAAACAH4AAAAAAABwAAAAAAIAcAAAAAACAHAAAAAAAQBwAAAAAAIAcAAAAAAAAH4AAAAAAABwAAAAAAEAeQAAAAABAHAAAAAAAwB+AAAAAAAAHwAAAAACAH4AAAAAAABwAAAAAAIAcAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAcAAAAAABAHkAAAAAAgBwAAAAAAAAcAAAAAABAB8AAAAAAABwAAAAAAMAcAAAAAAAAHAAAAAAAQBwAAAAAAEAcAAAAAAAAHAAAAAAAgBwAAAAAAIAcAAAAAABAHAAAAAAAgBwAAAAAAMAfgAAAAAAAHAAAAAAAAB5AAAAAAMAcAAAAAACAH4AAAAAAABdAAAAAAEAcAAAAAABAHkAAAAAAAB5AAAAAAEAeQAAAAABAHkAAAAAAwB5AAAAAAIAeQAAAAADAHkAAAAAAQB5AAAAAAEAcAAAAAACAH4AAAAAAABwAAAAAAMAeQAAAAACAHAAAAAAAAB+AAAAAAAAfgAAAAAAAHAAAAAAAQB5AAAAAAMAcAAAAAAAAHAAAAAAAwBwAAAAAAMAcAAAAAACAHAAAAAAAQBwAAAAAAIAeQAAAAABAHkAAAAAAABwAAAAAAAAcAAAAAADAHkAAAAAAgBwAAAAAAMAcAAAAAADAHAAAAAAAQBwAAAAAAMAeQAAAAAAAHkAAAAAAgB5AAAAAAIAeQAAAAADAHkAAAAAAQB5AAAAAAAAeQAAAAACAHkAAAAAAgBwAAAAAAIAfgAAAAAAAHAAAAAAAgB5AAAAAAIAcAAAAAAAAHAAAAAAAQBwAAAAAAMAcAAAAAACAHAAAAAAAwBwAAAAAAAAcAAAAAADAHAAAAAAAQBwAAAAAAEAcAAAAAACAHAAAAAAAABwAAAAAAMAcAAAAAAAAH4AAAAAAABwAAAAAAEAcAAAAAADAHAAAAAAAgBwAAAAAAEAcAAAAAADAA== version: 7 3,-3: ind: 3,-3 - tiles: fgAAAAAAAHoAAAAAAAB6AAAAAAAAegAAAAABAHoAAAAAAAB6AAAAAAAAfgAAAAAAAHoAAAAAAgB+AAAAAAAAZAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAHoAAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAAAZAAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB6AAAAAAIAfgAAAAAAAH4AAAAAAAB6AAAAAAEAegAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAegAAAAAAAH4AAAAAAAB6AAAAAAIAegAAAAADAHoAAAAAAwB+AAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAF0AAAAAAABkAAAAAAAAfgAAAAAAAF0AAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAGQAAAAAAABkAAAAAAAAXQAAAAABAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAABkAAAAAAAAXQAAAAACAGQAAAAAAABkAAAAAAAAXQAAAAABAGQAAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAH4AAAAAAAB+AAAAAAAAZAAAAAAAAF0AAAAAAABkAAAAAAAAZAAAAAAAAH4AAAAAAABkAAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAGQAAAAAAABkAAAAAAAAXQAAAAADAH4AAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAcAAAAAADAHAAAAAAAABwAAAAAAIAcAAAAAACAHAAAAAAAQB+AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAA== + tiles: fgAAAAAAAHoAAAAAAQB6AAAAAAEAegAAAAABAHoAAAAAAgB6AAAAAAEAfgAAAAAAAHoAAAAAAgB+AAAAAAAAZAAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAHoAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAEAZAAAAAABAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB6AAAAAAMAfgAAAAAAAH4AAAAAAAB6AAAAAAEAegAAAAABAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAZAAAAAADAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAegAAAAADAH4AAAAAAAB6AAAAAAEAegAAAAADAHoAAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAQB+AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAF0AAAAAAwBkAAAAAAAAfgAAAAAAAF0AAAAAAgBkAAAAAAIAZAAAAAAAAGQAAAAAAABkAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAGQAAAAAAABkAAAAAAEAXQAAAAABAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAwBkAAAAAAAAXQAAAAADAGQAAAAAAQBkAAAAAAIAXQAAAAAAAGQAAAAAAgB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAH4AAAAAAAB+AAAAAAAAZAAAAAAAAF0AAAAAAwBkAAAAAAEAZAAAAAADAH4AAAAAAABkAAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAGQAAAAAAQBkAAAAAAEAXQAAAAADAH4AAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAcAAAAAADAHAAAAAAAQBwAAAAAAEAcAAAAAADAHAAAAAAAgB+AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAA== version: 7 3,-2: ind: 3,-2 - tiles: cAAAAAADAH4AAAAAAABwAAAAAAMAeQAAAAACAHAAAAAAAgB+AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAcAAAAAABAHkAAAAAAABwAAAAAAIAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB1AAAAAAAAdQAAAAADAHAAAAAAAQB5AAAAAAAAcAAAAAABAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAegAAAAABAH4AAAAAAAB9AAAAAAAAdQAAAAACAHUAAAAAAABwAAAAAAAAeQAAAAABAHAAAAAAAQB+AAAAAAAAfQAAAAAAAAAAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAHUAAAAAAwB1AAAAAAAAcAAAAAABAHkAAAAAAQBwAAAAAAEAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAABwAAAAAAMAcAAAAAACAHAAAAAAAgB5AAAAAAEAcAAAAAACAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAMAfgAAAAAAAH4AAAAAAAB9AAAAAAAAcAAAAAAAAHAAAAAAAwBwAAAAAAIAcAAAAAAAAHAAAAAAAgB+AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAegAAAAAAAHoAAAAAAwB+AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAoAAAAAAMAKAAAAAABACgAAAAAAgAoAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAKAAAAAABACgAAAAAAAAoAAAAAAAAKAAAAAADAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAACgAAAAAAAAoAAAAAAMAKAAAAAACACgAAAAAAgB+AAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAABdAAAAAAIATQAAAAADAF0AAAAAAgBdAAAAAAIAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAHAAAAAAAwBwAAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB5AAAAAAMAcAAAAAADAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAcAAAAAACAHAAAAAAAQB+AAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAA== + tiles: cAAAAAACAH4AAAAAAABwAAAAAAAAeQAAAAADAHAAAAAAAQB+AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAcAAAAAAAAHkAAAAAAwBwAAAAAAMAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAwB+AAAAAAAAfgAAAAAAAH0AAAAAAAB1AAAAAAEAdQAAAAACAHAAAAAAAwB5AAAAAAAAcAAAAAABAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAegAAAAAAAH4AAAAAAAB9AAAAAAAAdQAAAAABAHUAAAAAAQBwAAAAAAMAeQAAAAAAAHAAAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAHUAAAAAAAB1AAAAAAAAcAAAAAAAAHkAAAAAAQBwAAAAAAEAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAABwAAAAAAIAcAAAAAABAHAAAAAAAwB5AAAAAAMAcAAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAcAAAAAADAHAAAAAAAgBwAAAAAAIAcAAAAAABAHAAAAAAAgB+AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAegAAAAAAAHoAAAAAAwB+AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAoAAAAAAEAKAAAAAAAACgAAAAAAwAoAAAAAAMAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAKAAAAAADACgAAAAAAQAoAAAAAAAAKAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAACgAAAAAAwAoAAAAAAEAKAAAAAABACgAAAAAAgB+AAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAABdAAAAAAAATQAAAAABAF0AAAAAAwBdAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAHAAAAAAAABwAAAAAAEAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB5AAAAAAAAcAAAAAABAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAcAAAAAACAHAAAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAA== version: 7 2,-1: ind: 2,-1 - tiles: fgAAAAAAAHAAAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB5AAAAAAIAeQAAAAAAAHkAAAAAAgB+AAAAAAAAfgAAAAAAAHAAAAAAAgBwAAAAAAMAcAAAAAACAHAAAAAAAQBwAAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAMAHwAAAAACAB8AAAAAAgB+AAAAAAAAcAAAAAABAHAAAAAAAQBwAAAAAAMAfgAAAAAAAF0AAAAAAwBwAAAAAAMAcAAAAAAAAHAAAAAAAQBwAAAAAAAAcAAAAAAAAH4AAAAAAABSAAAAAAAAUgAAAAAAAFIAAAAAAAAfAAAAAAEAHwAAAAADAHAAAAAAAgB5AAAAAAMAcAAAAAACAH4AAAAAAABdAAAAAAAAcAAAAAABAHAAAAAAAwBwAAAAAAAAcAAAAAADAHAAAAAAAAB+AAAAAAAAUgAAAAAAAFIAAAAAAABSAAAAAAAAHwAAAAABAH4AAAAAAABwAAAAAAEAeQAAAAABAHAAAAAAAwB+AAAAAAAAXQAAAAAAAH4AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAcAAAAAABAHkAAAAAAABwAAAAAAIAfgAAAAAAAF0AAAAAAwAfAAAAAAIAHwAAAAACAB8AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAEAfgAAAAAAAHAAAAAAAQB5AAAAAAEAcAAAAAACAH4AAAAAAABwAAAAAAAAHwAAAAABAB8AAAAAAQAfAAAAAAEAfgAAAAAAAB8AAAAAAQAfAAAAAAEAHwAAAAABAB8AAAAAAQAfAAAAAAMAHwAAAAABAB8AAAAAAQBwAAAAAAAAeQAAAAAAAHAAAAAAAQBwAAAAAAEAcAAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAACAB8AAAAAAQB+AAAAAAAAcAAAAAABAHAAAAAAAgBwAAAAAAIAfgAAAAAAAF0AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAwAfAAAAAAIAHwAAAAACAB8AAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbQAAAAAAAB8AAAAAAQAfAAAAAAEAHwAAAAACAB8AAAAAAQAfAAAAAAEAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAQAfAAAAAAAAHwAAAAACAB8AAAAAAgB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAEAfgAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAABAB8AAAAAAgAfAAAAAAMAHwAAAAADAB8AAAAAAQAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQBdAAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAADAF0AAAAAAwBdAAAAAAMAXQAAAAAAAA== + tiles: fgAAAAAAAHAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB5AAAAAAAAeQAAAAABAHkAAAAAAwB+AAAAAAAAfgAAAAAAAHAAAAAAAABwAAAAAAAAcAAAAAABAHAAAAAAAgBwAAAAAAIAfgAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAAAAB8AAAAAAgB+AAAAAAAAcAAAAAABAHAAAAAAAABwAAAAAAIAfgAAAAAAAF0AAAAAAQBwAAAAAAIAcAAAAAADAHAAAAAAAQBwAAAAAAIAcAAAAAADAH4AAAAAAABSAAAAAAAAUgAAAAAAAFIAAAAAAAAfAAAAAAMAHwAAAAACAHAAAAAAAgB5AAAAAAEAcAAAAAAAAH4AAAAAAABdAAAAAAAAcAAAAAABAHAAAAAAAgBwAAAAAAEAcAAAAAACAHAAAAAAAAB+AAAAAAAAUgAAAAAAAFIAAAAAAABSAAAAAAAAHwAAAAAAAH4AAAAAAABwAAAAAAAAeQAAAAACAHAAAAAAAAB+AAAAAAAAXQAAAAADAH4AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAcAAAAAAAAHkAAAAAAwBwAAAAAAIAfgAAAAAAAF0AAAAAAgAfAAAAAAIAHwAAAAAAAB8AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAACAB8AAAAAAgAfAAAAAAEAfgAAAAAAAHAAAAAAAgB5AAAAAAIAcAAAAAACAH4AAAAAAABwAAAAAAIAHwAAAAADAB8AAAAAAAAfAAAAAAMAfgAAAAAAAB8AAAAAAQAfAAAAAAEAHwAAAAABAB8AAAAAAAAfAAAAAAMAHwAAAAAAAB8AAAAAAQBwAAAAAAEAeQAAAAABAHAAAAAAAABwAAAAAAMAcAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAACAB8AAAAAAwAfAAAAAAAAHwAAAAADAB8AAAAAAwB+AAAAAAAAcAAAAAABAHAAAAAAAABwAAAAAAIAfgAAAAAAAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAADAB8AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbQAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAwAfAAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAwAfAAAAAAIAHwAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAMAfgAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAMAHwAAAAADAB8AAAAAAAAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQBdAAAAAAIAXQAAAAADAF0AAAAAAwBdAAAAAAIAXQAAAAABAF0AAAAAAgBdAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAMAXQAAAAABAA== version: 7 3,-1: ind: 3,-1 - tiles: cAAAAAACAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAABkAAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAHAAAAAAAgBwAAAAAAEAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAABwAAAAAAAAcAAAAAADAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAcAAAAAADAHAAAAAAAwB+AAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAHAAAAAAAQBwAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAABwAAAAAAMAcAAAAAACAF0AAAAAAQB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAcAAAAAABAHAAAAAAAABdAAAAAAIAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAABAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAAAZAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAGQAAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAIAHwAAAAAAAB8AAAAAAQAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: cAAAAAABAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAABkAAAAAAIAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAHAAAAAAAwBwAAAAAAIAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAACAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAABwAAAAAAMAcAAAAAABAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAACAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAcAAAAAACAHAAAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAHAAAAAAAgBwAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAABwAAAAAAIAcAAAAAACAF0AAAAAAQB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAcAAAAAACAHAAAAAAAgBdAAAAAAMAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAACAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAAAZAAAAAABAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAGQAAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAIAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAMAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAMAHwAAAAACAB8AAAAAAgAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAIAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 1,-4: ind: 1,-4 @@ -211,11 +213,11 @@ entities: version: 7 -4,-1: ind: -4,-1 - tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbgAAAAADAG4AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAG4AAAAAAQB+AAAAAAAAbgAAAAACAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAHwAAAAADAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAAAfAAAAAAIAHwAAAAABAH4AAAAAAAAfAAAAAAEALwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAACAB8AAAAAAQB+AAAAAAAAHwAAAAAAAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAACAB8AAAAAAQAfAAAAAAIAfgAAAAAAAB8AAAAAAAAvAAAAAAIAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAAAAH4AAAAAAAAfAAAAAAAAHwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAMAHwAAAAADAB8AAAAAAgAfAAAAAAIAHwAAAAADAB8AAAAAAwB+AAAAAAAAHwAAAAAAAC8AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAfAAAAAAAAHwAAAAADAB8AAAAAAwAfAAAAAAMAHwAAAAACAB8AAAAAAAAfAAAAAAEAfgAAAAAAAB8AAAAAAwAfAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAwAfAAAAAAIAHwAAAAACAB8AAAAAAwAfAAAAAAAAHwAAAAABAH4AAAAAAAAfAAAAAAIALwAAAAAAAA== + tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbgAAAAABAG4AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAG4AAAAAAwB+AAAAAAAAbgAAAAADAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAEAHwAAAAABAH4AAAAAAAAfAAAAAAEALwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAACAB8AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAgAfAAAAAAIAfgAAAAAAAB8AAAAAAwAvAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAACAH4AAAAAAAAfAAAAAAMAHwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAEAHwAAAAABAB8AAAAAAAB+AAAAAAAAHwAAAAABAC8AAAAAAQBsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAwAfAAAAAAMAfgAAAAAAAB8AAAAAAgAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAHwAAAAADAB8AAAAAAQAfAAAAAAEAHwAAAAADAB8AAAAAAAAfAAAAAAEAHwAAAAAAAH4AAAAAAAAfAAAAAAMALwAAAAADAA== version: 7 -4,-2: ind: -4,-2 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAAAfgAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAZAAAAAAAAGQAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgB+AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAgB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABkAAAAAAEAfgAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAZAAAAAAAAGQAAAAAAgB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAZAAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQB+AAAAAAAAfgAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAQB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAA== version: 7 -6,-1: ind: -6,-1 @@ -227,23 +229,23 @@ entities: version: 7 -4,0: ind: -4,0 - tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAH4AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAACAB8AAAAAAQB+AAAAAAAAHwAAAAADAH4AAAAAAAAfAAAAAAIAHwAAAAAAAB8AAAAAAgB+AAAAAAAAHwAAAAAAAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAIAfgAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAADAB8AAAAAAwAfAAAAAAMAHwAAAAAAAB8AAAAAAgAfAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABtAAAAAAAAbAAAAAAAAH4AAAAAAAAfAAAAAAEALwAAAAAAAB8AAAAAAwAvAAAAAAIAHwAAAAACAC8AAAAAAAAfAAAAAAAALwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAQAfAAAAAAEAHwAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAADAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAG0AAAAAAABsAAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAACAB8AAAAAAwB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABNAAAAAAIATQAAAAABAF0AAAAAAwB+AAAAAAAAfgAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAwBdAAAAAAMAfgAAAAAAADgAAAAAAAAfAAAAAAEAEQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAcAAAAAABAHAAAAAAAABwAAAAAAIAcAAAAAABAH4AAAAAAAA4AAAAAAAAHwAAAAAAABEAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHAAAAAAAgBwAAAAAAIAcAAAAAABAHAAAAAAAgB+AAAAAAAAOAAAAAAAAB8AAAAAAwARAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAfgAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADAB8AAAAAAgAfAAAAAAMAHwAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAQAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAMAHwAAAAABAB8AAAAAAQAoAAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAbQAAAAAAAF0AAAAAAQB+AAAAAAAAfgAAAAAAAG0AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAAAfAAAAAAMAHwAAAAAAAB8AAAAAAwAoAAAAAAAAKAAAAAAAACgAAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADAB8AAAAAAAAfAAAAAAMAHwAAAAACAB8AAAAAAgAfAAAAAAMAHwAAAAACAB8AAAAAAAAfAAAAAAMAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAACgAAAAAAQB+AAAAAAAAfgAAAAAAAA== + tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADAH4AAAAAAAAfAAAAAAEAfgAAAAAAAH4AAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAABAB8AAAAAAgB+AAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAAAHwAAAAADAB8AAAAAAwB+AAAAAAAAHwAAAAADAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADAB8AAAAAAQAfAAAAAAMAfgAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAABAB8AAAAAAQAfAAAAAAMAHwAAAAABAB8AAAAAAgAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABtAAAAAAAAbAAAAAAAAH4AAAAAAAAfAAAAAAAALwAAAAAAAB8AAAAAAgAvAAAAAAIAHwAAAAACAC8AAAAAAAAfAAAAAAEALwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAQAfAAAAAAMAHwAAAAADAB8AAAAAAQAfAAAAAAEAHwAAAAABAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAG0AAAAAAABsAAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAEAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAAAAB8AAAAAAgB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABNAAAAAAAATQAAAAADAF0AAAAAAQB+AAAAAAAAfgAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAwBdAAAAAAMAfgAAAAAAADgAAAAAAAAfAAAAAAAAEQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAcAAAAAAAAHAAAAAAAgBwAAAAAAIAcAAAAAACAH4AAAAAAAA4AAAAAAAAHwAAAAADABEAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHAAAAAAAwBwAAAAAAMAcAAAAAADAHAAAAAAAAB+AAAAAAAAOAAAAAAAAB8AAAAAAAARAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAfgAAAAAAAH4AAAAAAABdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAQAfAAAAAAMAHwAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAADAB8AAAAAAQAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAMAHwAAAAABAB8AAAAAAQAfAAAAAAMAHwAAAAADAB8AAAAAAQAoAAAAAAMAHwAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAF0AAAAAAgB+AAAAAAAAfgAAAAAAAG0AAAAAAAAfAAAAAAMAHwAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAADAB8AAAAAAQAoAAAAAAMAKAAAAAACACgAAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAIAHwAAAAABAB8AAAAAAwAfAAAAAAMAHwAAAAACAB8AAAAAAgAfAAAAAAIAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAACgAAAAAAQB+AAAAAAAAfgAAAAAAAA== version: 7 -4,-3: ind: -4,-3 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAGQAAAAAAABkAAAAAAAAfgAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABkAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAABkAAAAAAAAfgAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAGQAAAAAAABkAAAAAAAAfgAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABkAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAQBkAAAAAAIAfgAAAAAAAA== version: 7 0,-4: ind: 0,-4 - tiles: XQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAABAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAgBdAAAAAAIAbQAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAIAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAABdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAABdAAAAAAIAbQAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAEAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAAAAF0AAAAAAgB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAQBdAAAAAAEAXQAAAAABAF0AAAAAAQBdAAAAAAIAXQAAAAACAF0AAAAAAQBdAAAAAAEAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAIAXQAAAAACAF0AAAAAAQBdAAAAAAMAXQAAAAADAF0AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAABdAAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAEAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAA== + tiles: XQAAAAADAF0AAAAAAwBdAAAAAAIAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAABAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAgBdAAAAAAMAbQAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAwBdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAQBdAAAAAAMAbQAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAABAF0AAAAAAQB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAIAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAMAXQAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAQBdAAAAAAIAXQAAAAABAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAMAXQAAAAAAAF0AAAAAAgBdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAABdAAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAIAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAA== version: 7 -1,-4: ind: -1,-4 - tiles: fQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAADAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAgB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAIAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAIAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAgBdAAAAAAEAXQAAAAACAF0AAAAAAgBdAAAAAAIAXQAAAAABAF0AAAAAAQBdAAAAAAEAXQAAAAABAF0AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAgBdAAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAIAXQAAAAABAF0AAAAAAwBdAAAAAAMAXQAAAAAAAF0AAAAAAQBdAAAAAAIAXQAAAAACAF0AAAAAAwBdAAAAAAEAXQAAAAABAF0AAAAAAQBdAAAAAAMAXQAAAAABAF0AAAAAAgBdAAAAAAIAXQAAAAABAF0AAAAAAwBdAAAAAAEAXQAAAAACAF0AAAAAAwB+AAAAAAAAJAAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAfgAAAAAAAHoAAAAAAgB6AAAAAAEAegAAAAADAHoAAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAAAAH4AAAAAAAB6AAAAAAMAegAAAAADAHoAAAAAAgB6AAAAAAMAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAACAA== + tiles: fQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAADAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAwB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAIAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAABAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAIAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAwBdAAAAAAEAXQAAAAABAF0AAAAAAQBdAAAAAAEAXQAAAAABAF0AAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAACAF0AAAAAAQBdAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAMAXQAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAMAXQAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAACAF0AAAAAAgBdAAAAAAMAXQAAAAABAF0AAAAAAwBdAAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAQBdAAAAAAIAXQAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAQBdAAAAAAEAXQAAAAACAF0AAAAAAAB+AAAAAAAAJAAAAAABAB8AAAAAAwAfAAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAHoAAAAAAQB6AAAAAAMAegAAAAACAHoAAAAAAwB+AAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAACAH4AAAAAAAB6AAAAAAMAegAAAAABAHoAAAAAAwB6AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAIAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAACAA== version: 7 -2,-4: ind: -2,-4 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAwBdAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAwBdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAMAXQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAADAF0AAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAA== version: 7 -1,-6: ind: -1,-6 @@ -251,23 +253,23 @@ entities: version: 7 0,-5: ind: 0,-5 - tiles: fgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAgB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAMAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAAAXQAAAAADAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAACAF0AAAAAAgB+AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAwBdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAEAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAgAMAAAAAAAAXQAAAAADAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAMADAAAAAACAF0AAAAAAQBdAAAAAAAAXQAAAAACAAcAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAwAAAAAAgBdAAAAAAAAXQAAAAABAF0AAAAAAAAHAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAgAMAAAAAAIAXQAAAAADAF0AAAAAAQBdAAAAAAEABwAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAIADAAAAAACAF0AAAAAAQBdAAAAAAAAXQAAAAACAAcAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAACAAwAAAAAAABdAAAAAAEAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: fgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAwB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAEAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAEAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAEAXQAAAAABAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAANAAAAAAAAXQAAAAACAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAADQAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAACAA8AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAA0AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAgAPAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAANAAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAAADwAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAADQAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAABAA8AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAA0AAAAAAABdAAAAAAIAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -3,-3: ind: -3,-3 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB6AAAAAAMAegAAAAADAH4AAAAAAAB+AAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAIAfgAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAABkAAAAAAAAZAAAAAAAAGQAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB6AAAAAAIAegAAAAADAH4AAAAAAAB+AAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAIAfgAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAgB+AAAAAAAAfgAAAAAAAHoAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAgBkAAAAAAEAZAAAAAABAGQAAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAA== version: 7 -1,1: ind: -1,1 - tiles: XQAAAAACAF0AAAAAAAAfAAAAAAAAegAAAAABAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAegAAAAACAH4AAAAAAAAfAAAAAAMAHwAAAAADAB8AAAAAAQB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAEAfgAAAAAAAHoAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAHoAAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAABAH4AAAAAAAB6AAAAAAMAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB6AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAAAXQAAAAACAF0AAAAAAAB+AAAAAAAAegAAAAABAHoAAAAAAwBAAAAAAAAAQAAAAAAAAEAAAAAAAAB6AAAAAAMAegAAAAACAH4AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAQBdAAAAAAMAfgAAAAAAAHoAAAAAAgB6AAAAAAEAegAAAAADAHoAAAAAAgAfAAAAAAIAHwAAAAAAAB8AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAgBdAAAAAAEAXQAAAAAAAH4AAAAAAAB6AAAAAAIAegAAAAACAHoAAAAAAAB6AAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAEAfgAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAAAAF0AAAAAAwBdAAAAAAIATQAAAAABAE0AAAAAAwB+AAAAAAAAegAAAAACAHoAAAAAAgB6AAAAAAMAegAAAAADAB8AAAAAAwAfAAAAAAIAHwAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAKAAAAAABAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAwBdAAAAAAEAHwAAAAAAAH4AAAAAAABOAAAAAAIAXQAAAAAAAG0AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAMAXQAAAAAAAF0AAAAAAwB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAMAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAADAH4AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAQBdAAAAAAIAXQAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAADAF0AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAgBdAAAAAAIAXQAAAAADAF0AAAAAAQBdAAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAIAXQAAAAADAF0AAAAAAgBdAAAAAAEAXQAAAAACAF0AAAAAAgBdAAAAAAEAXQAAAAABAF0AAAAAAQBdAAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAEAfgAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAAAAB8AAAAAAQAfAAAAAAEAHwAAAAADAB8AAAAAAwAfAAAAAAEAHwAAAAACAB8AAAAAAAAfAAAAAAIAHwAAAAAAAB8AAAAAAwBdAAAAAAAAXQAAAAACAH4AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAAfAAAAAAIAXQAAAAACAA== + tiles: XQAAAAACAF0AAAAAAAAfAAAAAAIAegAAAAADAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAegAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAEAfgAAAAAAAHoAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAHoAAAAAAwB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAABdAAAAAAAAXQAAAAADAH4AAAAAAAB6AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB6AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAADAF0AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAwB+AAAAAAAAegAAAAADAHoAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB6AAAAAAAAegAAAAACAH4AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAQBdAAAAAAIAXQAAAAADAF0AAAAAAABdAAAAAAIAfgAAAAAAAHoAAAAAAAB6AAAAAAAAegAAAAACAHoAAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAwB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAH4AAAAAAAB6AAAAAAEAegAAAAACAHoAAAAAAAB6AAAAAAEAHwAAAAADAB8AAAAAAQAfAAAAAAEAfgAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAEATQAAAAAAAE0AAAAAAQB+AAAAAAAAegAAAAACAHoAAAAAAQB6AAAAAAAAegAAAAABAB8AAAAAAAAfAAAAAAAAHwAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAKAAAAAACAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAwBdAAAAAAEAHwAAAAACAH4AAAAAAABOAAAAAAAAXQAAAAAAAG0AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAgBdAAAAAAIAXQAAAAABAF0AAAAAAwBdAAAAAAEAXQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAIAXQAAAAADAF0AAAAAAQBdAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAMAfgAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAIAHwAAAAAAAB8AAAAAAQAfAAAAAAEAHwAAAAACAB8AAAAAAwBdAAAAAAMAXQAAAAABAH4AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAAfAAAAAAEAXQAAAAABAA== version: 7 3,0: ind: 3,0 - tiles: XQAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAADAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAQBdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAADAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAEAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAADAF0AAAAAAQBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAEAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAABAF0AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAwBdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAADAF0AAAAAAgBdAAAAAAEAXQAAAAADAF0AAAAAAwBdAAAAAAEAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAIAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAADAF0AAAAAAgBdAAAAAAMAXQAAAAACAF0AAAAAAgBdAAAAAAEAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAwBdAAAAAAEAXQAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: XQAAAAADAF0AAAAAAABdAAAAAAEAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAADAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAgBdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAABAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAIAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAEAXQAAAAABAF0AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAADAF0AAAAAAwBdAAAAAAEAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAgBdAAAAAAIAXQAAAAACAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAADAF0AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAwBdAAAAAAIAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAEAXQAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAQBdAAAAAAEAXQAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAMAXQAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAADAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAgBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 0,1: ind: 0,1 - tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAIAXQAAAAADAF0AAAAAAwB+AAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAAAfgAAAAAAAHoAAAAAAAB6AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAEAXQAAAAAAAF0AAAAAAgBdAAAAAAMAfgAAAAAAAB8AAAAAAAAfAAAAAAEAHwAAAAABAH4AAAAAAAB6AAAAAAMAegAAAAACAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAIAXQAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAABAB8AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAgAfAAAAAAMAegAAAAACAHoAAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAMAXQAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAAB+AAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAMAfgAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAEAXQAAAAAAAF0AAAAAAQBdAAAAAAEAfgAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAATQAAAAACAH4AAAAAAAB+AAAAAAAAHwAAAAABAH4AAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAMAHwAAAAADAB8AAAAAAgAfAAAAAAIAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAwAfAAAAAAAAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAAAfgAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQB+AAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAMAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAE0AAAAAAABdAAAAAAAAXQAAAAAAAB8AAAAAAwB+AAAAAAAAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAwAfAAAAAAIAfgAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAABAB8AAAAAAwAfAAAAAAEAHwAAAAAAAB8AAAAAAwAfAAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAgAfAAAAAAMAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAA== + tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAIAXQAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAADAF0AAAAAAwB+AAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAAAfgAAAAAAAHoAAAAAAAB6AAAAAAIAfgAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAADAF0AAAAAAwBdAAAAAAEAfgAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAAAAH4AAAAAAAB6AAAAAAAAegAAAAADAH4AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAwBdAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAEAXQAAAAADAB8AAAAAAgAfAAAAAAMAHwAAAAACAB8AAAAAAAAfAAAAAAIAegAAAAABAHoAAAAAAQB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAAB+AAAAAAAAHwAAAAADAB8AAAAAAAAfAAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAABAF0AAAAAAQBdAAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAEAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAATQAAAAABAH4AAAAAAAB+AAAAAAAAHwAAAAACAH4AAAAAAAAfAAAAAAMAHwAAAAADAB8AAAAAAQAfAAAAAAIAHwAAAAACAB8AAAAAAQAfAAAAAAMAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAQAfAAAAAAEAHwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAEAfgAAAAAAAH4AAAAAAAAfAAAAAAIAfgAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwB+AAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAE0AAAAAAABdAAAAAAMAXQAAAAACAB8AAAAAAwB+AAAAAAAAHwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAQAfAAAAAAIAfgAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwB+AAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAABAB8AAAAAAAAfAAAAAAEAHwAAAAACAH4AAAAAAAAfAAAAAAMAHwAAAAABAB8AAAAAAwAfAAAAAAMAHwAAAAAAAB8AAAAAAgAfAAAAAAEAfgAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAwAfAAAAAAMAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAA== version: 7 0,-6: ind: 0,-6 @@ -275,15 +277,15 @@ entities: version: 7 -1,-5: ind: -1,-5 - tiles: fQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAMAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAADAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAgB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAABAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAIAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAABAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAAAAAwAAAAAAgB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAcAAAAACwBdAAAAAAEAXQAAAAACAF0AAAAAAgAMAAAAAAEAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAAHAAAAAAQAXQAAAAAAAF0AAAAAAABdAAAAAAEADAAAAAABAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAABwAAAAABAF0AAAAAAABdAAAAAAMAXQAAAAADAAwAAAAAAQB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAcAAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAwAMAAAAAAIAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAIADAAAAAABAA== + tiles: fQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAEAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAABAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAADAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAADAA0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAA8AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAQANAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAAPAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAIADQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAADwAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAACAA0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAA8AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAQANAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAMADQAAAAAAAA== version: 7 1,1: ind: 1,1 - tiles: XQAAAAACAF0AAAAAAwB+AAAAAAAATQAAAAADAE0AAAAAAAB+AAAAAAAAfgAAAAAAACgAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAMAfgAAAAAAAB8AAAAAAQAfAAAAAAMAHwAAAAABAB8AAAAAAQAfAAAAAAMAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAADAB8AAAAAAQAfAAAAAAIAHwAAAAAAAB8AAAAAAwAfAAAAAAMAHwAAAAACAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAXQAAAAABAF0AAAAAAgB+AAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAIAHwAAAAAAAB8AAAAAAwAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAACAH4AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAAAfAAAAAAIAHwAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAATQAAAAADAE0AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAMAXQAAAAABAF0AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAIAXQAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAABAF0AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAgBdAAAAAAIAXQAAAAADAF0AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAACAF0AAAAAAwBdAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAEAXQAAAAABAE0AAAAAAgBNAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAXQAAAAACAF0AAAAAAQB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAA== + tiles: XQAAAAAAAF0AAAAAAAB+AAAAAAAATQAAAAABAE0AAAAAAAB+AAAAAAAAfgAAAAAAACgAAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAMAfgAAAAAAAB8AAAAAAQAfAAAAAAEAHwAAAAABAB8AAAAAAgAfAAAAAAMAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAXQAAAAACAF0AAAAAAgB+AAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAAAAB8AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAEAfgAAAAAAAB8AAAAAAwAfAAAAAAEAHwAAAAADAB8AAAAAAwAfAAAAAAEAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAACAH4AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAQAfAAAAAAIAHwAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAATQAAAAACAE0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAABAF0AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAQBdAAAAAAEAXQAAAAACAF0AAAAAAwBdAAAAAAMAXQAAAAADAF0AAAAAAQBdAAAAAAEAXQAAAAABAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAEAXQAAAAABAF0AAAAAAQBdAAAAAAIAXQAAAAACAF0AAAAAAgBdAAAAAAIAXQAAAAABAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAIAXQAAAAACAF0AAAAAAgBdAAAAAAIAXQAAAAADAE0AAAAAAABNAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAACAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAXQAAAAAAAF0AAAAAAwB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAA== version: 7 2,1: ind: 2,1 - tiles: fgAAAAAAAH4AAAAAAAAmAAAAAAIAJgAAAAAAACYAAAAAAAAmAAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAADAH4AAAAAAAB6AAAAAAEAegAAAAABAHoAAAAAAAB+AAAAAAAAXQAAAAACAGwAAAAAAAB+AAAAAAAAJgAAAAAAAC8AAAAAAQAvAAAAAAEALwAAAAADAH4AAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQB+AAAAAAAAfgAAAAAAACYAAAAAAAAvAAAAAAMALwAAAAADAC8AAAAAAQB+AAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAIAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAEAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAIAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAACAF0AAAAAAwBdAAAAAAIAXQAAAAABAF0AAAAAAQBdAAAAAAAAXQAAAAADAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAAAAH4AAAAAAAAJAAAAAAAACQAAAAAAAAkAAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAAAAE0AAAAAAQBdAAAAAAIAXQAAAAACAF0AAAAAAwBdAAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAMAXQAAAAADAF0AAAAAAwBdAAAAAAAAXQAAAAAAAF0AAAAAAQBNAAAAAAMAXQAAAAADAF0AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAACAF0AAAAAAwBdAAAAAAEAXQAAAAADAF0AAAAAAQBdAAAAAAIATQAAAAADAF0AAAAAAwBdAAAAAAMAXQAAAAABAF0AAAAAAQBdAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAEAXQAAAAABAH4AAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAMAfgAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAACAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAEAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAQBdAAAAAAMAXQAAAAADAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAAAXQAAAAABAF0AAAAAAgB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: fgAAAAAAAH4AAAAAAAAmAAAAAAIAJgAAAAAAACYAAAAAAAAmAAAAAAEAfgAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAACAH4AAAAAAAB6AAAAAAEAegAAAAADAHoAAAAAAwB+AAAAAAAAXQAAAAACAGwAAAAAAAB+AAAAAAAAJgAAAAACAC8AAAAAAQAvAAAAAAAALwAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgB+AAAAAAAAfgAAAAAAACYAAAAAAwAvAAAAAAEALwAAAAACAC8AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAEAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAIAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAMAXQAAAAADAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAMAXQAAAAADAF0AAAAAAgBdAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAAAXQAAAAABAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAACAH4AAAAAAAAJAAAAAAAACQAAAAAAAAkAAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAMAXQAAAAADAF0AAAAAAQBdAAAAAAEAXQAAAAAAAE0AAAAAAgBdAAAAAAEAXQAAAAACAF0AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAQBdAAAAAAEAXQAAAAACAF0AAAAAAQBdAAAAAAMAXQAAAAADAF0AAAAAAQBdAAAAAAEAXQAAAAAAAF0AAAAAAgBNAAAAAAEAXQAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAAATQAAAAABAF0AAAAAAwBdAAAAAAMAXQAAAAABAF0AAAAAAgBdAAAAAAEAXQAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAADAH4AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAIAfgAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAADAF0AAAAAAABdAAAAAAEAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAMAXQAAAAADAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 4,-2: ind: 4,-2 @@ -299,27 +301,27 @@ entities: version: 7 2,0: ind: 2,0 - tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQBdAAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAMAXQAAAAACAF0AAAAAAwBdAAAAAAAAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAXQAAAAABAF0AAAAAAgB+AAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAACAF0AAAAAAQBdAAAAAAMAXQAAAAABAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAABAF0AAAAAAQBdAAAAAAMAXQAAAAABAF0AAAAAAQBdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAEAXQAAAAABAF0AAAAAAgBdAAAAAAMAfgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAMAXQAAAAABAF0AAAAAAwBdAAAAAAIAfgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAABAF0AAAAAAgBdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAABAF0AAAAAAQBdAAAAAAEAXQAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAACAF0AAAAAAQBdAAAAAAEAXQAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAABAF0AAAAAAwBdAAAAAAIAXQAAAAABAF0AAAAAAwBdAAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAEAXQAAAAABAF0AAAAAAgBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAQBdAAAAAAEAXQAAAAAAAF0AAAAAAgB+AAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAMAHwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAADAH4AAAAAAAAfAAAAAAIAHwAAAAAAAB8AAAAAAgB+AAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAgB+AAAAAAAAegAAAAADAHoAAAAAAgB6AAAAAAIAXQAAAAACAF0AAAAAAgB+AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAAfAAAAAAMAXQAAAAACAF0AAAAAAABdAAAAAAIAfgAAAAAAAHoAAAAAAQB6AAAAAAAAegAAAAACAH4AAAAAAABdAAAAAAEAfgAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAABAH4AAAAAAAB6AAAAAAIAegAAAAAAAHoAAAAAAgB+AAAAAAAAfgAAAAAAAA== + tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAgBdAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAEAXQAAAAADAF0AAAAAAwBdAAAAAAMAXQAAAAACAF0AAAAAAgBdAAAAAAAAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAMAXQAAAAACAF0AAAAAAwB+AAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAIAXQAAAAACAF0AAAAAAQBdAAAAAAIAXQAAAAABAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAAAAF0AAAAAAwBdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAMAXQAAAAAAAF0AAAAAAQBdAAAAAAIAfgAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAADAF0AAAAAAwBdAAAAAAEAXQAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAABAF0AAAAAAABdAAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAIAXQAAAAABAF0AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAQBdAAAAAAMAXQAAAAADAF0AAAAAAQBdAAAAAAIAXQAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAACAF0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAQBdAAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAMAXQAAAAACAF0AAAAAAgBdAAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAQB+AAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAEAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAADAH4AAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAgB+AAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAAB+AAAAAAAAegAAAAACAHoAAAAAAAB6AAAAAAAAXQAAAAAAAF0AAAAAAwB+AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAAfAAAAAAIAXQAAAAACAF0AAAAAAABdAAAAAAMAfgAAAAAAAHoAAAAAAgB6AAAAAAMAegAAAAACAH4AAAAAAABdAAAAAAMAfgAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAACAH4AAAAAAAB6AAAAAAIAegAAAAABAHoAAAAAAwB+AAAAAAAAfgAAAAAAAA== version: 7 3,1: ind: 3,1 - tiles: XQAAAAABAF0AAAAAAgBdAAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAACAF0AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAwBdAAAAAAMAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAMAXQAAAAADAF0AAAAAAgBdAAAAAAIAXQAAAAAAAF0AAAAAAQB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAMAXQAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAkAAAAAAAAJAAAAAAAACQAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAIAXQAAAAABAF0AAAAAAgB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAACAF0AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAIAXQAAAAACAF0AAAAAAwBdAAAAAAMAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAIAXQAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAACAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAIAXQAAAAACAF0AAAAAAgBdAAAAAAIAXQAAAAACAF0AAAAAAgBdAAAAAAEAXQAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAACAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAIAXQAAAAADAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAAAXQAAAAAAAF0AAAAAAwB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAgBdAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: XQAAAAACAF0AAAAAAABdAAAAAAMAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAMAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAADAF0AAAAAAQB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAQBdAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAMAXQAAAAABAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAkAAAAAAAAJAAAAAAAACQAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAAAXQAAAAAAAF0AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAIAXQAAAAABAF0AAAAAAwBdAAAAAAIAXQAAAAABAF0AAAAAAABdAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAQBdAAAAAAEAXQAAAAABAF0AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAABAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAMAXQAAAAACAF0AAAAAAwBdAAAAAAEAXQAAAAADAF0AAAAAAQBdAAAAAAIAXQAAAAABAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAgBdAAAAAAIAXQAAAAADAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAABAF0AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAIAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -3,1: ind: -3,1 - tiles: aAAAAAABAF0AAAAAAABdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAGgAAAAAAQBoAAAAAAEAaAAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAegAAAAADAHoAAAAAAgB6AAAAAAEAfgAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAADAH4AAAAAAAA/AAAAAAAAPwAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAQB6AAAAAAAAegAAAAABAB8AAAAAAwBdAAAAAAIAXQAAAAABAF0AAAAAAgB+AAAAAAAAPwAAAAAAAD8AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAAAegAAAAABAHoAAAAAAgB+AAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAIAfgAAAAAAAD8AAAAAAAA/AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAADAH4AAAAAAAB+AAAAAAAAPwAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAQB6AAAAAAIAegAAAAADAH4AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAwBdAAAAAAEAXQAAAAADAF0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAACAF0AAAAAAQB6AAAAAAIAegAAAAACAHoAAAAAAgBdAAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAAAXQAAAAABAE4AAAAAAwBdAAAAAAMATgAAAAADAF0AAAAAAwBOAAAAAAMAXQAAAAABAE4AAAAAAwBdAAAAAAAAegAAAAACAHoAAAAAAgB6AAAAAAEAfgAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAADAF0AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAACAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAA== + tiles: aAAAAAADAF0AAAAAAQBdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAGgAAAAAAQBoAAAAAAEAaAAAAAADAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAegAAAAADAHoAAAAAAgB6AAAAAAEAfgAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAAAAH4AAAAAAAA/AAAAAAAAPwAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAAB6AAAAAAIAegAAAAAAAB8AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAAB+AAAAAAAAPwAAAAAAAD8AAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAfgAAAAAAAH4AAAAAAAB6AAAAAAMAegAAAAADAHoAAAAAAwB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAEAfgAAAAAAAD8AAAAAAAA/AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAABAH4AAAAAAAB+AAAAAAAAPwAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAHoAAAAAAwB6AAAAAAEAegAAAAADAH4AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAADAF0AAAAAAQBdAAAAAAEAXQAAAAADAF0AAAAAAgBdAAAAAAEAXQAAAAACAF0AAAAAAAB6AAAAAAAAegAAAAAAAHoAAAAAAwBdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAAAAE4AAAAAAwBdAAAAAAAATgAAAAADAF0AAAAAAQBOAAAAAAEAXQAAAAACAE4AAAAAAwBdAAAAAAAAegAAAAACAHoAAAAAAwB6AAAAAAMAfgAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAwBdAAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAAAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAgAfAAAAAAEAHwAAAAABAB8AAAAAAgAfAAAAAAEAHwAAAAADAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAA== version: 7 -4,1: ind: -4,1 - tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAAB+AAAAAAAAXQAAAAACAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAACAB8AAAAAAgBdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATwAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAAB+AAAAAAAAegAAAAAAAHoAAAAAAgB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAIAegAAAAADAHoAAAAAAAB6AAAAAAIAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAE4AAAAAAQBdAAAAAAAAfgAAAAAAAHoAAAAAAQB6AAAAAAMAegAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAEAZAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABdAAAAAAIATgAAAAABAH4AAAAAAAB+AAAAAAAAegAAAAADAHoAAAAAAQB6AAAAAAMAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAZAAAAAAAAF0AAAAAAAB+AAAAAAAAXQAAAAACAHoAAAAAAwB6AAAAAAMAegAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAACAH4AAAAAAAB6AAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAA== + tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGQAAAAAAAB+AAAAAAAAXQAAAAADAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAABAB8AAAAAAgBdAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATwAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAZAAAAAAAAH4AAAAAAAB+AAAAAAAAegAAAAABAHoAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAEAegAAAAACAHoAAAAAAQB6AAAAAAEAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAE4AAAAAAwBdAAAAAAIAfgAAAAAAAHoAAAAAAgB6AAAAAAAAegAAAAACAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAIAZAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAABdAAAAAAIATgAAAAACAH4AAAAAAAB+AAAAAAAAegAAAAADAHoAAAAAAAB6AAAAAAMAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAB+AAAAAAAAZAAAAAACAF0AAAAAAQB+AAAAAAAAXQAAAAACAHoAAAAAAwB6AAAAAAAAegAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAQAAAAAAAAEAAAAAAAABAAAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAADAH4AAAAAAAB6AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAA== version: 7 -2,1: ind: -2,1 - tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADAHoAAAAAAAB6AAAAAAAAegAAAAAAAHoAAAAAAAB6AAAAAAAAHwAAAAABAH4AAAAAAAAfAAAAAAAAHwAAAAACAB8AAAAAAgB+AAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAbQAAAAAAAB8AAAAAAAB6AAAAAAIAegAAAAACAHoAAAAAAwB6AAAAAAIAegAAAAABAB8AAAAAAAAfAAAAAAIAQAAAAAAAAEAAAAAAAABAAAAAAAAAHwAAAAADAF0AAAAAAwB+AAAAAAAAbAAAAAAAAH4AAAAAAAAfAAAAAAMAegAAAAACAHoAAAAAAgB6AAAAAAIAegAAAAABAHoAAAAAAgAfAAAAAAMAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAABdAAAAAAEAfgAAAAAAAGwAAAAAAAB+AAAAAAAAHwAAAAABAHoAAAAAAAB6AAAAAAEAegAAAAAAAHoAAAAAAgB6AAAAAAMAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAB+AAAAAAAAXQAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAB8AAAAAAQB6AAAAAAAAegAAAAADAHoAAAAAAAB6AAAAAAMAegAAAAADAB8AAAAAAgAfAAAAAAIAIwAAAAABAB8AAAAAAwAjAAAAAAEAfgAAAAAAAF0AAAAAAwB+AAAAAAAAbAAAAAAAAH4AAAAAAAAfAAAAAAEAegAAAAABAHoAAAAAAwB6AAAAAAIAegAAAAADAHoAAAAAAgAfAAAAAAIAfgAAAAAAACMAAAAAAAAfAAAAAAMAIwAAAAAAAH4AAAAAAABdAAAAAAMAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATQAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAIAXQAAAAABAF0AAAAAAgBdAAAAAAIAXQAAAAACAF0AAAAAAwBdAAAAAAIAXQAAAAADAF0AAAAAAwBdAAAAAAAAXQAAAAAAAE4AAAAAAABdAAAAAAIATgAAAAADAF0AAAAAAQBOAAAAAAMAXQAAAAADAE4AAAAAAgBdAAAAAAAATgAAAAADAF0AAAAAAABOAAAAAAMAXQAAAAADAE4AAAAAAwBdAAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAIAXQAAAAACAF0AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAACAF0AAAAAAQBdAAAAAAIAXQAAAAADAB8AAAAAAwAfAAAAAAIAHwAAAAACAB8AAAAAAgAfAAAAAAAAHwAAAAADAB8AAAAAAQAfAAAAAAEAfgAAAAAAAE0AAAAAAABNAAAAAAEATQAAAAABAH4AAAAAAAB+AAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAQBdAAAAAAIAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAABAF0AAAAAAwBdAAAAAAIAXQAAAAABAF0AAAAAAQBdAAAAAAIAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAADAF0AAAAAAQBdAAAAAAMAXQAAAAABAF0AAAAAAQBdAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAEAXQAAAAABAF0AAAAAAQBdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAMAXQAAAAACAF0AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAABAF0AAAAAAgBdAAAAAAMAXQAAAAABAF0AAAAAAwBdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAA== + tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAAAAHoAAAAAAwB6AAAAAAEAegAAAAABAHoAAAAAAwB6AAAAAAMAHwAAAAABAH4AAAAAAAAfAAAAAAEAHwAAAAAAAB8AAAAAAQB+AAAAAAAAXQAAAAACAH4AAAAAAAB+AAAAAAAAbQAAAAAAAB8AAAAAAwB6AAAAAAMAegAAAAAAAHoAAAAAAwB6AAAAAAIAegAAAAABAB8AAAAAAQAfAAAAAAEAQAAAAAAAAEAAAAAAAABAAAAAAAAAHwAAAAABAF0AAAAAAwB+AAAAAAAAbAAAAAAAAH4AAAAAAAAfAAAAAAEAegAAAAACAHoAAAAAAAB6AAAAAAIAegAAAAADAHoAAAAAAQAfAAAAAAEAfgAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAH4AAAAAAABdAAAAAAMAfgAAAAAAAGwAAAAAAAB+AAAAAAAAHwAAAAABAHoAAAAAAgB6AAAAAAEAegAAAAADAHoAAAAAAgB6AAAAAAEAHwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQB+AAAAAAAAXQAAAAADAH4AAAAAAABsAAAAAAAAfgAAAAAAAB8AAAAAAQB6AAAAAAEAegAAAAABAHoAAAAAAAB6AAAAAAAAegAAAAACAB8AAAAAAwAfAAAAAAAAIwAAAAABAB8AAAAAAgAjAAAAAAEAfgAAAAAAAF0AAAAAAgB+AAAAAAAAbAAAAAAAAH4AAAAAAAAfAAAAAAAAegAAAAACAHoAAAAAAAB6AAAAAAIAegAAAAAAAHoAAAAAAAAfAAAAAAIAfgAAAAAAACMAAAAAAgAfAAAAAAMAIwAAAAACAH4AAAAAAABdAAAAAAEAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATQAAAAADAF0AAAAAAQBdAAAAAAIAXQAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAADAF0AAAAAAQBdAAAAAAMAXQAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAABAF0AAAAAAgBdAAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAIAXQAAAAAAAE4AAAAAAABdAAAAAAAATgAAAAADAF0AAAAAAgBOAAAAAAAAXQAAAAACAE4AAAAAAwBdAAAAAAIATgAAAAACAF0AAAAAAgBOAAAAAAIAXQAAAAAAAE4AAAAAAwBdAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAIAXQAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAADAF0AAAAAAwBdAAAAAAMAXQAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAABAF0AAAAAAABdAAAAAAEAXQAAAAADAB8AAAAAAAAfAAAAAAAAHwAAAAADAB8AAAAAAQAfAAAAAAAAHwAAAAADAB8AAAAAAAAfAAAAAAEAfgAAAAAAAE0AAAAAAwBNAAAAAAEATQAAAAABAH4AAAAAAAB+AAAAAAAAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAADAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAMAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAIAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAEAXQAAAAABAF0AAAAAAgBdAAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAIAXQAAAAACAF0AAAAAAgBdAAAAAAEAXQAAAAABAF0AAAAAAwBdAAAAAAEAXQAAAAAAAF0AAAAAAQBdAAAAAAIAXQAAAAAAAF0AAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAABdAAAAAAEAXQAAAAACAF0AAAAAAwBdAAAAAAMAXQAAAAABAF0AAAAAAABdAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAA== version: 7 -2,2: ind: -2,2 - tiles: fgAAAAAAAF0AAAAAAQBdAAAAAAIAXQAAAAADAF0AAAAAAQBdAAAAAAEAXQAAAAACAF0AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAMAfgAAAAAAAF0AAAAAAQBPAAAAAAAATwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEATwAAAAAAAAUAAAAAAAB+AAAAAAAATwAAAAAAAB8AAAAAAwAfAAAAAAEAHwAAAAACAB8AAAAAAAAfAAAAAAEAHwAAAAABAB8AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAQB+AAAAAAAAXQAAAAADAE8AAAAAAABPAAAAAAAAfgAAAAAAAE8AAAAAAAAfAAAAAAEATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAAfAAAAAAMAXQAAAAACAF0AAAAAAgBdAAAAAAMAfgAAAAAAAF0AAAAAAQBdAAAAAAMAXQAAAAABAH4AAAAAAAAfAAAAAAMAHwAAAAABAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgB+AAAAAAAAHwAAAAACAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAA== + tiles: fgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAwBdAAAAAAIAXQAAAAAAAF0AAAAAAQB+AAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAAAfgAAAAAAAF0AAAAAAQBPAAAAAAAATwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAfgAAAAAAAH4AAAAAAABdAAAAAAIATwAAAAAAAAUAAAAAAAB+AAAAAAAATwAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAABAB8AAAAAAwAfAAAAAAIAHwAAAAACAB8AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAgB+AAAAAAAAXQAAAAADAE8AAAAAAABPAAAAAAAAfgAAAAAAAE8AAAAAAAAfAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAAfAAAAAAIAXQAAAAACAF0AAAAAAABdAAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAADAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAAAHwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAwB+AAAAAAAAHwAAAAACAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAA== version: 7 -1,3: ind: -1,3 @@ -327,7 +329,7 @@ entities: version: 7 -1,2: ind: -1,2 - tiles: TwAAAAAAAF0AAAAAAQB+AAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAIAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAAfAAAAAAMAXQAAAAADAE8AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAfgAAAAAAAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAHwAAAAAAAF0AAAAAAgBPAAAAAAAAXQAAAAACAH4AAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAMAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAAfAAAAAAMAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAABAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAHwAAAAADAB8AAAAAAQBsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAAAfAAAAAAAAHwAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAHwAAAAACAB8AAAAAAwBsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAA== + tiles: TwAAAAAAAF0AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAAfAAAAAAMAXQAAAAABAE8AAAAAAABdAAAAAAEAfgAAAAAAAH4AAAAAAABdAAAAAAIAfgAAAAAAAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAHwAAAAABAF0AAAAAAQBPAAAAAAAAXQAAAAABAH4AAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAwB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAwB+AAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAAAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAAfAAAAAAAAHwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAIAHwAAAAADAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAHwAAAAADAB8AAAAAAwBsAAAAAAAAbAAAAAAAAGwAAAAAAABsAAAAAAAAbAAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAEAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAAAfAAAAAAAAHwAAAAABAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAHwAAAAADAB8AAAAAAgBsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAfgAAAAAAAGwAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAGwAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAA== version: 7 -3,2: ind: -3,2 @@ -347,23 +349,23 @@ entities: version: 7 0,2: ind: 0,2 - tiles: XQAAAAAAAF0AAAAAAQAfAAAAAAAAbQAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAF0AAAAAAwBdAAAAAAIAHwAAAAABAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAIAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAAAAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAABsAAAAAAAAbAAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAbAAAAAAAAGwAAAAAAAAfAAAAAAIAHwAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAGwAAAAAAABsAAAAAAAAHwAAAAADAB8AAAAAAgBtAAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAABsAAAAAAAAbAAAAAAAAB8AAAAAAAAfAAAAAAIAbQAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAIAHwAAAAADAG0AAAAAAABtAAAAAAAAbQAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAABAH4AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAA== + tiles: XQAAAAADAF0AAAAAAwAfAAAAAAEAbQAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAF0AAAAAAABdAAAAAAAAHwAAAAACAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAABsAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAIAfgAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAAAAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAABsAAAAAAAAbAAAAAAAAB8AAAAAAwB+AAAAAAAAfgAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAbAAAAAAAAGwAAAAAAAAfAAAAAAIAHwAAAAACAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAGwAAAAAAABsAAAAAAAAHwAAAAACAB8AAAAAAwBtAAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAABsAAAAAAAAbAAAAAAAAB8AAAAAAQAfAAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAABtAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAHwAAAAACAB8AAAAAAAAfAAAAAAEAHwAAAAACAG0AAAAAAABtAAAAAAAAbQAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAAAAH4AAAAAAABtAAAAAAAAbQAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABsAAAAAAAAbAAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAA== version: 7 -4,2: ind: -4,2 - tiles: AAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAgAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAACAB8AAAAAAwAfAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAfQAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAfQAAAAAAAA== version: 7 -4,3: ind: -4,3 - tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH0AAAAAAABdAAAAAAEAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAXQAAAAADAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAfQAAAAAAAF0AAAAAAgAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAATwAAAAAAAE8AAAAAAABPAAAAAAAAfgAAAAAAAH0AAAAAAABdAAAAAAEAHwAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAXQAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH4AAAAAAABPAAAAAAAATwAAAAAAAE8AAAAAAAB+AAAAAAAAfQAAAAAAAF0AAAAAAQAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB+AAAAAAAAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -5,1: ind: -5,1 - tiles: HwAAAAABAB8AAAAAAwAfAAAAAAMAHwAAAAAAAB8AAAAAAwAfAAAAAAIAHwAAAAADAB8AAAAAAwAfAAAAAAAAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE4AAAAAAwBOAAAAAAIATgAAAAABAE4AAAAAAgAfAAAAAAIAHwAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAEAHwAAAAADAB8AAAAAAQAfAAAAAAEAHwAAAAACAB8AAAAAAQAfAAAAAAAAHwAAAAADAB8AAAAAAAAfAAAAAAMAHwAAAAABAB8AAAAAAAAfAAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAABAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAADsAAAAAAAA7AAAAAAAAOwAAAAAAADsAAAAAAAA7AAAAAAAAHwAAAAADAH4AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAwB+AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: HwAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAEAHwAAAAACAB8AAAAAAwAfAAAAAAEAHwAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAE4AAAAAAwBOAAAAAAIATgAAAAADAE4AAAAAAAAfAAAAAAMAHwAAAAADAB8AAAAAAQAfAAAAAAAAHwAAAAADAB8AAAAAAwAfAAAAAAAAHwAAAAADAB8AAAAAAwAfAAAAAAMAHwAAAAABAB8AAAAAAQAfAAAAAAMAHwAAAAABAB8AAAAAAwAfAAAAAAIAHwAAAAACAB8AAAAAAwAfAAAAAAEAHwAAAAAAAB8AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAADAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAADsAAAAAAAA7AAAAAAAAOwAAAAAAADsAAAAAAAA7AAAAAAAAHwAAAAABAH4AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAwB+AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAEAAAAAAAABAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -5,0: ind: -5,0 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAQB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAgB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAEAXQAAAAABAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAgB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAgB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAA== version: 7 2,-5: ind: 2,-5 @@ -419,11 +421,11 @@ entities: version: 7 -6,1: ind: -6,1 - tiles: HwAAAAADAB8AAAAAAgAfAAAAAAIAHwAAAAACAB8AAAAAAAAfAAAAAAAAHwAAAAADAB8AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAwAfAAAAAAAAHwAAAAADAB8AAAAAAgAfAAAAAAAAHwAAAAACAB8AAAAAAQAfAAAAAAAAHwAAAAAAAE4AAAAAAABOAAAAAAEATgAAAAACAE4AAAAAAgBOAAAAAAAATgAAAAACAE4AAAAAAgBOAAAAAAEATgAAAAAAAE4AAAAAAQBOAAAAAAMATgAAAAABAE4AAAAAAAAfAAAAAAMAHwAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAADAB8AAAAAAwAfAAAAAAIAHwAAAAABAB8AAAAAAAAfAAAAAAIAfQAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAA7AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAADsAAAAAAAA7AAAAAAAAOwAAAAAAADsAAAAAAAA7AAAAAAAAOwAAAAAAADsAAAAAAAB+AAAAAAAAOwAAAAAAADsAAAAAAAA7AAAAAAAAOwAAAAAAADsAAAAAAAA7AAAAAAAAOwAAAAAAADsAAAAAAAA7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: HwAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAMAHwAAAAACAB8AAAAAAwAfAAAAAAMAHwAAAAADAB8AAAAAAwAfAAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAEAHwAAAAAAAB8AAAAAAAAfAAAAAAMAHwAAAAACAE4AAAAAAABOAAAAAAIATgAAAAAAAE4AAAAAAgBOAAAAAAIATgAAAAABAE4AAAAAAgBOAAAAAAMATgAAAAAAAE4AAAAAAQBOAAAAAAAATgAAAAAAAE4AAAAAAgAfAAAAAAIAHwAAAAAAAB8AAAAAAQAfAAAAAAEAHwAAAAADAB8AAAAAAwAfAAAAAAEAHwAAAAAAAB8AAAAAAQAfAAAAAAMAHwAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAEAfQAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAA7AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAADsAAAAAAAA7AAAAAAAAOwAAAAAAADsAAAAAAAA7AAAAAAAAOwAAAAAAADsAAAAAAAB+AAAAAAAAOwAAAAAAADsAAAAAAAA7AAAAAAAAOwAAAAAAADsAAAAAAAA7AAAAAAAAOwAAAAAAADsAAAAAAAA7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -7,1: ind: -7,1 - tiles: QAAAAAAAAEAAAAAAAABAAAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAABAB8AAAAAAAAfAAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAABAB8AAAAAAgAfAAAAAAEAHwAAAAADAEAAAAAAAABAAAAAAAAAQAAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAAAAB8AAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAQAfAAAAAAIAHwAAAAADAB8AAAAAAwAfAAAAAAIAHwAAAAAAAB8AAAAAAgBAAAAAAAAAQAAAAAAAAEAAAAAAAAAfAAAAAAMAfgAAAAAAAB8AAAAAAAAfAAAAAAEAHwAAAAACAB8AAAAAAwAfAAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAAAHwAAAAACAB8AAAAAAwAfAAAAAAAAHwAAAAACAB8AAAAAAwAfAAAAAAEAHwAAAAADAH4AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAAAfAAAAAAMAHwAAAAAAAH4AAAAAAAB9AAAAAAAAHwAAAAABAH4AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAwAfAAAAAAMATwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAEAfgAAAAAAAH4AAAAAAAB+AAAAAAAAIwAAAAAAACMAAAAAAgAjAAAAAAIAIwAAAAACAB8AAAAAAgAfAAAAAAMAfgAAAAAAAH4AAAAAAAB9AAAAAAAAHwAAAAACAB8AAAAAAAAfAAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAfQAAAAAAACMAAAAAAAA4AAAAAAAAOAAAAAAAACMAAAAAAAAfAAAAAAIAHwAAAAADAH4AAAAAAAB+AAAAAAAAfQAAAAAAAB8AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAADgAAAAAAAAjAAAAAAMAHwAAAAADAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH0AAAAAAAAfAAAAAAIAfQAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAH4AAAAAAAA4AAAAAAAAIwAAAAABAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAHwAAAAADAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAACMAAAAAAQAjAAAAAAIAIwAAAAACACMAAAAAAgAjAAAAAAIAOAAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAB8AAAAAAgB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAADgAAAAAAAAjAAAAAAEAHwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAfAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAOAAAAAAAADgAAAAAAAA4AAAAAAAAIwAAAAABAB8AAAAAAQAfAAAAAAIAfgAAAAAAAH4AAAAAAAB9AAAAAAAAHwAAAAADAH0AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAQAjAAAAAAMAIwAAAAACACMAAAAAAwAfAAAAAAAAHwAAAAADAH4AAAAAAAB+AAAAAAAAfQAAAAAAAB8AAAAAAgB9AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAAAHwAAAAAAAB8AAAAAAAAfAAAAAAMATwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAABAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAACAH0AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: QAAAAAAAAEAAAAAAAABAAAAAAAAAHwAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAABAB8AAAAAAQAfAAAAAAMAHwAAAAAAAH4AAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAQAfAAAAAAAAHwAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAB8AAAAAAAAfAAAAAAMAHwAAAAACAB8AAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAAAHwAAAAACAB8AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAwBAAAAAAAAAQAAAAAAAAEAAAAAAAAAfAAAAAAMAfgAAAAAAAB8AAAAAAwAfAAAAAAEAHwAAAAABAB8AAAAAAgAfAAAAAAMAfgAAAAAAAB8AAAAAAAAfAAAAAAEAHwAAAAACAB8AAAAAAgAfAAAAAAEAHwAAAAABAB8AAAAAAAAfAAAAAAMAHwAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAABAB8AAAAAAAAfAAAAAAMAHwAAAAABAH4AAAAAAAB9AAAAAAAAHwAAAAADAH4AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAB8AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAwAfAAAAAAIATwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAIwAAAAADACMAAAAAAQAjAAAAAAMAIwAAAAADAB8AAAAAAwAfAAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAEAHwAAAAABAH4AAAAAAAB+AAAAAAAAfQAAAAAAACMAAAAAAgA4AAAAAAAAOAAAAAAAACMAAAAAAwAfAAAAAAAAHwAAAAABAH4AAAAAAAB+AAAAAAAAfQAAAAAAAB8AAAAAAwB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAADgAAAAAAAAjAAAAAAAAHwAAAAADAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH0AAAAAAAAfAAAAAAIAfQAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAH4AAAAAAAA4AAAAAAAAIwAAAAADAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAHwAAAAACAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAACMAAAAAAwAjAAAAAAAAIwAAAAABACMAAAAAAQAjAAAAAAAAOAAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAB8AAAAAAQB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAADgAAAAAAAAjAAAAAAMAHwAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAfAAAAAAMAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAOAAAAAAAADgAAAAAAAA4AAAAAAAAIwAAAAABAB8AAAAAAwAfAAAAAAAAfgAAAAAAAH4AAAAAAAB9AAAAAAAAHwAAAAADAH0AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAwAjAAAAAAMAIwAAAAABACMAAAAAAQAfAAAAAAMAHwAAAAADAH4AAAAAAAB+AAAAAAAAfQAAAAAAAB8AAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAAAfAAAAAAEATwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAfAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAACAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAABAH0AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -6,0: ind: -6,0 @@ -431,23 +433,23 @@ entities: version: 7 -7,0: ind: -7,0 - tiles: fQAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAEAHwAAAAAAAB8AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAAB8AAAAAAwAfAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAAAQAfAAAAAAMAHwAAAAADAB8AAAAAAQAfAAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAIAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAEAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAHwAAAAABAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAHwAAAAACAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAQB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAEAEQAAAAAAABEAAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAHwAAAAADAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAACAB8AAAAAAAAfAAAAAAIAEQAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAwARAAAAAAAAHwAAAAADABEAAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAIAfQAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAAAJAAAAAADAB8AAAAAAAAfAAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAADABEAAAAAAAAfAAAAAAEAEQAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAACAB8AAAAAAAAfAAAAAAIAHwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAIAHwAAAAAAABEAAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAgB9AAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAIAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAfAAAAAAIAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAACAH4AAAAAAAAfAAAAAAIAHwAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAACAH4AAAAAAAB9AAAAAAAAHwAAAAACAH0AAAAAAAB9AAAAAAAAfQAAAAAAAA== + tiles: fQAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAQB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAACAB8AAAAAAAAfAAAAAAMAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAAAAB8AAAAAAQAfAAAAAAMAHwAAAAABAB8AAAAAAgAfAAAAAAEAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAEAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAHwAAAAACAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAHwAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAgB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAQB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAEAfQAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAMAEQAAAAAAABEAAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAHwAAAAABAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAADAB8AAAAAAgAfAAAAAAIAEQAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAgB9AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAwARAAAAAAAAHwAAAAACABEAAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAIAfQAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAMAJAAAAAACAB8AAAAAAgAfAAAAAAMAfgAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAADAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAACABEAAAAAAAAfAAAAAAEAEQAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAwAfAAAAAAMAHwAAAAAAAB8AAAAAAwAfAAAAAAEAHwAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAABABEAAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAQB9AAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH0AAAAAAAAfAAAAAAIAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAACAB8AAAAAAwAfAAAAAAIAHwAAAAABAH4AAAAAAAAfAAAAAAMAHwAAAAABAB8AAAAAAQAfAAAAAAIAHwAAAAADAH4AAAAAAAB9AAAAAAAAHwAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAA== version: 7 -8,0: ind: -8,0 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAQAfAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAMAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAAAfAAAAAAIAHwAAAAADAB8AAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAEAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAHwAAAAABAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAQB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAABEAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAACAH0AAAAAAAAAAAAAAAAAfgAAAAAAABEAAAAAAAAfAAAAAAMAHwAAAAACAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAwB9AAAAAAAAAAAAAAAAAH4AAAAAAAARAAAAAAAAHwAAAAABABEAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAIAfQAAAAAAAAAAAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAAAkAAAAAAEAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAACAB8AAAAAAgAfAAAAAAEAHwAAAAADAH0AAAAAAAB9AAAAAAAAfgAAAAAAABEAAAAAAAAfAAAAAAAAEQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAIAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAARAAAAAAAAHwAAAAABAB8AAAAAAwAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAACAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAgB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAMAHwAAAAADAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAQAfAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAEAHwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAABAB8AAAAAAQAfAAAAAAAAHwAAAAACAB8AAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAIAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAHwAAAAADAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAIAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAABEAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAADAH0AAAAAAAAAAAAAAAAAfgAAAAAAABEAAAAAAAAfAAAAAAEAHwAAAAACAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAwB9AAAAAAAAAAAAAAAAAH4AAAAAAAARAAAAAAAAHwAAAAACABEAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAIAfQAAAAAAAAAAAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAwAkAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAwAfAAAAAAIAHwAAAAAAAB8AAAAAAQAfAAAAAAMAHwAAAAABAH0AAAAAAAB9AAAAAAAAfgAAAAAAABEAAAAAAAAfAAAAAAEAEQAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAAARAAAAAAAAHwAAAAAAAB8AAAAAAgAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAADAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAQB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAIAHwAAAAADAA== version: 7 -8,1: ind: -8,1 - tiles: AAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAQAfAAAAAAMAfgAAAAAAAB8AAAAAAgAfAAAAAAMAHwAAAAACAB8AAAAAAAAfAAAAAAAAfgAAAAAAAB8AAAAAAgBAAAAAAAAAQAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAAAfAAAAAAMAHwAAAAADAB8AAAAAAQAfAAAAAAAAHwAAAAACAB8AAAAAAwAfAAAAAAEAQAAAAAAAAEAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAADAB8AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAEAAAAAAAABAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAQAfAAAAAAIAHwAAAAACAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAMAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAHwAAAAABAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABPAAAAAAAAHwAAAAABAB8AAAAAAQAfAAAAAAEAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAADAB8AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAIAHwAAAAACACMAAAAAAgAjAAAAAAEAIwAAAAACAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAEAfQAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAACAB8AAAAAAQAjAAAAAAMAOAAAAAAAADgAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAMAIwAAAAABADgAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAwB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAAAACMAAAAAAwA4AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAEAfQAAAAAAAH4AAAAAAAB+AAAAAAAAOAAAAAAAACMAAAAAAAAjAAAAAAMAIwAAAAABACMAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAAAIwAAAAAAADgAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAAAHwAAAAADACMAAAAAAQA4AAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAAAjAAAAAAEAIwAAAAADACMAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABPAAAAAAAAHwAAAAABAB8AAAAAAgAfAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAgB9AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAAAAA== + tiles: AAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAwAfAAAAAAAAfgAAAAAAAB8AAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAwAfAAAAAAAAfgAAAAAAAB8AAAAAAgBAAAAAAAAAQAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAIAHwAAAAACAB8AAAAAAQAfAAAAAAMAHwAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAACAB8AAAAAAQAfAAAAAAEAQAAAAAAAAEAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAACAB8AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAAAAEAAAAAAAABAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAgB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAABAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAEAfQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAHwAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABPAAAAAAAAHwAAAAABAB8AAAAAAwAfAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAQAfAAAAAAEAHwAAAAADAB8AAAAAAwB9AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAAAHwAAAAAAACMAAAAAAQAjAAAAAAAAIwAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAIAfQAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADAB8AAAAAAgAjAAAAAAAAOAAAAAAAADgAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAACAH0AAAAAAAB+AAAAAAAAfgAAAAAAAB8AAAAAAwAfAAAAAAAAIwAAAAABADgAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAADACMAAAAAAwA4AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAfAAAAAAIAfQAAAAAAAH4AAAAAAAB+AAAAAAAAOAAAAAAAACMAAAAAAQAjAAAAAAMAIwAAAAACACMAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAADAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAMAIwAAAAADADgAAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAgB9AAAAAAAAfgAAAAAAAH4AAAAAAAAfAAAAAAAAHwAAAAACACMAAAAAAgA4AAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAB8AAAAAAwAjAAAAAAIAIwAAAAABACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAADAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABPAAAAAAAAHwAAAAACAB8AAAAAAQAfAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAwB9AAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAHwAAAAABAA== version: 7 -8,2: ind: -8,2 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAwB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAMAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAADAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAAAAB8AAAAAAwAfAAAAAAIAHwAAAAADAB8AAAAAAQAfAAAAAAEAHwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAHwAAAAABAB8AAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAQAfAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAQB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAIAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAHwAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAgAfAAAAAAEAHwAAAAADAB8AAAAAAAAfAAAAAAEAHwAAAAACAB8AAAAAAQAfAAAAAAEAHwAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAHwAAAAAAAB8AAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAB8AAAAAAAAfAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -7,2: ind: -7,2 - tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAHwAAAAACAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAEAfQAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAAB8AAAAAAgAfAAAAAAIAHwAAAAAAAB8AAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAAAfAAAAAAMAHwAAAAADAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAAAgAfAAAAAAAAHwAAAAACAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAAHwAAAAABAB8AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: fgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAHwAAAAABAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAB8AAAAAAwB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAfAAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAADAB8AAAAAAwAfAAAAAAAAHwAAAAADAB8AAAAAAAAfAAAAAAMAHwAAAAACAB8AAAAAAQAfAAAAAAMAHwAAAAADAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAAAwAfAAAAAAAAHwAAAAABAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAEAHwAAAAADAB8AAAAAAAB9AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -7,-1: ind: -7,-1 @@ -459,7 +461,7 @@ entities: version: 7 -5,3: ind: -5,3 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 -5,2: ind: -5,2 @@ -479,11 +481,11 @@ entities: version: 7 3,2: ind: 3,2 - tiles: AAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAABAF0AAAAAAgBdAAAAAAIAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAIAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAADAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAQB+AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAF0AAAAAAQBdAAAAAAIAXQAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAMAbQAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAAAAF0AAAAAAQBdAAAAAAEAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAABAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAEAXQAAAAADAF0AAAAAAQB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAMAbQAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAIAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAQBtAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAAAAF0AAAAAAwBdAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAwBdAAAAAAIAfgAAAAAAAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAADAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAQB+AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAbQAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAAAAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAADAF0AAAAAAABdAAAAAAEAbQAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAEAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAAAXQAAAAABAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAgB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH4AAAAAAABtAAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAIAbQAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAG0AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 2,2: ind: 2,2 - tiles: XQAAAAADAF0AAAAAAABdAAAAAAIAXQAAAAADAF0AAAAAAQB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAAAAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAIAfgAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAIAXQAAAAABAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAIAXQAAAAACAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtAAAAAAAAXQAAAAACAF0AAAAAAgBdAAAAAAEAbQAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAMAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG0AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAgBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAgB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAQBdAAAAAAMAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAABdAAAAAAIAXQAAAAABAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAADAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG0AAAAAAABdAAAAAAMAXQAAAAABAF0AAAAAAwBtAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAgBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbQAAAAAAAF0AAAAAAwBdAAAAAAMAXQAAAAADAG0AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: XQAAAAAAAF0AAAAAAwBdAAAAAAAAXQAAAAACAF0AAAAAAQB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAEAXQAAAAADAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAMAXQAAAAAAAH4AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAADAF0AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtAAAAAAAAXQAAAAACAF0AAAAAAABdAAAAAAAAbQAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAEAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG0AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAMAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAEAXQAAAAACAF0AAAAAAgB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAABAF0AAAAAAQBdAAAAAAEAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAIAXQAAAAABAF0AAAAAAwBdAAAAAAAAXQAAAAADAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG0AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAABtAAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAAAAG0AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 1,3: ind: 1,3 @@ -491,11 +493,11 @@ entities: version: 7 2,3: ind: 2,3 - tiles: fgAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAABAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAQBdAAAAAAIAXQAAAAADAF0AAAAAAQBdAAAAAAIAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAgBdAAAAAAAAXQAAAAADAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAwBdAAAAAAIAXQAAAAADAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: fgAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAACAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0AAAAAAgBdAAAAAAAAXQAAAAAAAF0AAAAAAABdAAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAgBdAAAAAAEAXQAAAAABAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAF0AAAAAAABdAAAAAAEAXQAAAAACAH4AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 3,3: ind: 3,3 - tiles: AAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAgB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAABdAAAAAAIAXQAAAAADAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAwBdAAAAAAIAXQAAAAACAF0AAAAAAwB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAACAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + tiles: AAAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAABAF0AAAAAAwB+AAAAAAAAfgAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH4AAAAAAABdAAAAAAAAXQAAAAAAAF0AAAAAAQBdAAAAAAAAXQAAAAABAH4AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAB+AAAAAAAAXQAAAAADAF0AAAAAAQBdAAAAAAEAXQAAAAADAF0AAAAAAAB+AAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfgAAAAAAAH4AAAAAAABdAAAAAAMAXQAAAAADAF0AAAAAAQB+AAAAAAAAfgAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAB+AAAAAAAAfgAAAAAAAH4AAAAAAAB+AAAAAAAAfgAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAAAAAAAAAAAAAAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAH0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB9AAAAAAAAfQAAAAAAAH0AAAAAAAB+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== version: 7 0,4: ind: 0,4 @@ -900,8 +902,8 @@ entities: 4376: 55,39 4377: 55,45 4378: 55,47 - 4836: 13,-13 5690: 1,32 + 7249: 13,-17 - node: angle: 3.141592653589793 rad color: '#FFFFFFFF' @@ -3337,7 +3339,6 @@ entities: decals: 31: 50,-33 38: 3,-2 - 41: 11,-4 - node: cleanable: True color: '#FFFFFFFF' @@ -3363,7 +3364,6 @@ entities: 32: 52,-33 33: 51,-33 34: -6,-3 - 42: 11,-3 43: 5,-3 44: -4,-3 57: 11,-28 @@ -3846,12 +3846,6 @@ entities: 6672: -27,-14 7146: -28,-14 7147: -29,-14 - - node: - color: '#EFB34196' - id: HalfTileOverlayGreyscale180 - decals: - 139: 13,-18 - 140: 12,-18 - node: color: '#EFCC4196' id: HalfTileOverlayGreyscale180 @@ -4445,8 +4439,6 @@ entities: 1579: 41,18 1580: 40,18 1581: 39,18 - 3957: 12,-16 - 3958: 13,-16 4306: 37,25 4307: 39,25 4308: 40,25 @@ -5374,8 +5366,6 @@ entities: 5315: -6,-3 5318: 2,-2 5319: 3,-2 - 5322: 11,-4 - 5323: 11,-3 5324: 5,-3 5325: -4,-3 - node: @@ -6621,7 +6611,7 @@ entities: 0,0: 0: 65535 1,-3: - 0: 272 + 0: 3952 1,-2: 0: 1911 1,-1: @@ -6630,34 +6620,29 @@ entities: 1,0: 0: 17 1: 42052 + 2,-3: + 0: 13308 2,-2: - 0: 784 - 1: 34944 + 0: 45875 2,-1: - 0: 23 - 1: 136 + 0: 255 2,-4: - 1: 4369 - 0: 52228 + 1: 4353 + 0: 49356 2,-5: 1: 4352 - 0: 58379 - 2,-3: - 1: 33825 - 0: 140 + 0: 52235 3,-4: - 0: 64395 + 0: 63931 3,-3: 0: 35003 - 1: 12288 + 3,-2: + 0: 47240 3,-1: - 1: 8739 - 0: 34952 + 0: 35007 + 1: 8192 3,-5: 0: 64411 - 3,-2: - 1: 8738 - 0: 34952 3,0: 1: 35 0: 47496 @@ -9332,6 +9317,8 @@ entities: stiffness: 14000.604 - type: ImplicitRoof - type: ExplosionAirtightGrid + - type: TileHistory + chunkHistory: {} - uid: 943 components: - type: MetaData @@ -9555,10 +9542,12 @@ entities: id: docking43669 localAnchorB: -47.5,-40 localAnchorA: 0.5,0 - damping: 1560.8403 - stiffness: 14010.071 + damping: 1560.8552 + stiffness: 14010.204 - type: ImplicitRoof - type: ExplosionAirtightGrid + - type: TileHistory + chunkHistory: {} - proto: AcousticGuitarInstrument entities: - uid: 6610 @@ -9686,6 +9675,14 @@ entities: - 7463 - type: Fixtures fixtures: {} + - uid: 6503 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 11.5,-18.5 + parent: 60 + - type: Fixtures + fixtures: {} - uid: 7065 components: - type: Transform @@ -10793,19 +10790,6 @@ entities: - 16669 - type: Fixtures fixtures: {} - - uid: 23956 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 11.5,-14.5 - parent: 60 - - type: DeviceList - devices: - - 23975 - - 14770 - - 3594 - - type: Fixtures - fixtures: {} - uid: 24360 components: - type: Transform @@ -11486,18 +11470,6 @@ entities: - type: Transform pos: -101.5,17.5 parent: 60 - - uid: 18033 - components: - - type: MetaData - name: Bridge Maintenance - - type: Transform - pos: 5.5,-3.5 - parent: 60 - - type: DeviceLinkSource - linkedPorts: - 18076: - - - DoorStatus - - DoorBolt - uid: 18125 components: - type: MetaData @@ -11598,10 +11570,8 @@ entities: - type: Transform pos: 38.5,-36.5 parent: 60 - - uid: 1447 + - uid: 1436 components: - - type: MetaData - name: Storage/Bagel EVA - type: Transform pos: 12.5,-18.5 parent: 60 @@ -12403,18 +12373,6 @@ entities: 22426: - - DoorStatus - DoorBolt - - uid: 24098 - components: - - type: Transform - pos: 9.5,-16.5 - parent: 60 - - type: DeviceLinkSink - invokeCounter: 1 - - type: DeviceLinkSource - linkedPorts: - 1435: - - - DoorStatus - - DoorBolt - uid: 25634 components: - type: Transform @@ -12631,18 +12589,6 @@ entities: DockStatus: True - proto: AirlockExternalLocked entities: - - uid: 1435 - components: - - type: Transform - pos: 11.5,-16.5 - parent: 60 - - type: DeviceLinkSink - invokeCounter: 1 - - type: DeviceLinkSource - linkedPorts: - 24098: - - - DoorStatus - - DoorBolt - uid: 3900 components: - type: Transform @@ -12673,16 +12619,6 @@ entities: 11630: - - DoorStatus - DoorBolt - - uid: 18076 - components: - - type: Transform - pos: 10.5,-3.5 - parent: 60 - - type: DeviceLinkSource - linkedPorts: - 18033: - - - DoorStatus - - DoorBolt - proto: AirlockExternalShuttleSyndicateLocked entities: - uid: 8065 @@ -12719,11 +12655,6 @@ entities: - type: Transform pos: 33.5,26.5 parent: 60 - - uid: 288 - components: - - type: Transform - pos: 14.5,-16.5 - parent: 60 - uid: 489 components: - type: Transform @@ -12834,16 +12765,16 @@ entities: - type: Transform pos: 4.5,-54.5 parent: 60 - - uid: 5317 - components: - - type: Transform - pos: 14.5,-12.5 - parent: 60 - uid: 5401 components: - type: Transform pos: 11.5,6.5 parent: 60 + - uid: 5863 + components: + - type: Transform + pos: 14.5,-16.5 + parent: 60 - uid: 6266 components: - type: MetaData @@ -13186,6 +13117,11 @@ entities: - type: Transform pos: -121.5,17.5 parent: 60 + - uid: 6561 + components: + - type: Transform + pos: 5.5,-3.5 + parent: 60 - uid: 9621 components: - type: Transform @@ -13341,6 +13277,16 @@ entities: - type: Transform pos: 26.5,22.5 parent: 60 + - uid: 2933 + components: + - type: Transform + pos: 14.5,-3.5 + parent: 60 + - uid: 2937 + components: + - type: Transform + pos: 14.5,-12.5 + parent: 60 - uid: 3356 components: - type: Transform @@ -13390,6 +13336,11 @@ entities: - type: Transform pos: -3.5,-61.5 parent: 60 + - uid: 5317 + components: + - type: Transform + pos: 12.5,-13.5 + parent: 60 - uid: 5480 components: - type: Transform @@ -14012,14 +13963,6 @@ entities: - type: Transform pos: 23.5,-31.5 parent: 60 - - uid: 3594 - components: - - type: Transform - pos: 13.5,-13.5 - parent: 60 - - type: DeviceNetwork - deviceLists: - - 23956 - uid: 4730 components: - type: Transform @@ -16320,11 +16263,6 @@ entities: - type: Transform pos: 49.5,-29.5 parent: 60 - - uid: 5854 - components: - - type: Transform - pos: 47.5,-29.5 - parent: 60 - uid: 7841 components: - type: Transform @@ -16459,11 +16397,6 @@ entities: parent: 60 - proto: BedsheetGreen entities: - - uid: 3015 - components: - - type: Transform - pos: 47.5,-29.5 - parent: 60 - uid: 3016 components: - type: Transform @@ -17934,11 +17867,6 @@ entities: - type: Transform pos: -26.5,6.5 parent: 60 - - uid: 815 - components: - - type: Transform - pos: 13.5,-12.5 - parent: 60 - uid: 840 components: - type: Transform @@ -18169,11 +18097,6 @@ entities: - type: Transform pos: 40.5,-32.5 parent: 60 - - uid: 2541 - components: - - type: Transform - pos: 15.5,-12.5 - parent: 60 - uid: 2572 components: - type: Transform @@ -32669,16 +32592,6 @@ entities: - type: Transform pos: -62.5,40.5 parent: 60 - - uid: 23723 - components: - - type: Transform - pos: 14.5,-12.5 - parent: 60 - - uid: 23725 - components: - - type: Transform - pos: 12.5,-12.5 - parent: 60 - uid: 23726 components: - type: Transform @@ -33154,26 +33067,6 @@ entities: - type: Transform pos: -63.5,-5.5 parent: 60 - - uid: 24652 - components: - - type: Transform - pos: 11.5,-12.5 - parent: 60 - - uid: 24653 - components: - - type: Transform - pos: 10.5,-12.5 - parent: 60 - - uid: 24654 - components: - - type: Transform - pos: 12.5,-11.5 - parent: 60 - - uid: 24655 - components: - - type: Transform - pos: 12.5,-10.5 - parent: 60 - uid: 24671 components: - type: Transform @@ -41335,16 +41228,6 @@ entities: - type: Transform pos: 3.5,-2.5 parent: 60 - - uid: 18149 - components: - - type: Transform - pos: 14.5,-4.5 - parent: 60 - - uid: 18150 - components: - - type: Transform - pos: 14.5,-2.5 - parent: 60 - uid: 18151 components: - type: Transform @@ -52651,6 +52534,11 @@ entities: - type: Transform pos: -85.5,-23.5 parent: 60 + - uid: 6408 + components: + - type: Transform + pos: 13.5,-3.5 + parent: 60 - uid: 6429 components: - type: Transform @@ -53201,6 +53089,11 @@ entities: - type: Transform pos: -75.5,-18.5 parent: 60 + - uid: 7238 + components: + - type: Transform + pos: 12.5,-3.5 + parent: 60 - uid: 7276 components: - type: Transform @@ -53211,6 +53104,16 @@ entities: - type: Transform pos: -69.5,-25.5 parent: 60 + - uid: 7421 + components: + - type: Transform + pos: 11.5,-3.5 + parent: 60 + - uid: 7431 + components: + - type: Transform + pos: 10.5,-3.5 + parent: 60 - uid: 7467 components: - type: Transform @@ -53771,11 +53674,6 @@ entities: - type: Transform pos: 31.5,-77.5 parent: 60 - - uid: 9562 - components: - - type: Transform - pos: 10.5,-17.5 - parent: 60 - uid: 9748 components: - type: Transform @@ -54322,11 +54220,6 @@ entities: - type: Transform pos: -13.5,-46.5 parent: 60 - - uid: 11432 - components: - - type: Transform - pos: 10.5,-15.5 - parent: 60 - uid: 11490 components: - type: Transform @@ -59262,11 +59155,11 @@ entities: rot: -1.5707963267948966 rad pos: 49.5,-11.5 parent: 60 - - uid: 11683 + - uid: 4006 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 12.52908,-13.379191 + rot: -1.5707963267948966 rad + pos: 11.5,-14.5 parent: 60 - uid: 16150 components: @@ -59279,6 +59172,14 @@ entities: rot: 3.141592653589793 rad pos: -26.60413,44.66303 parent: 60 +- proto: ChairGreyscale + entities: + - uid: 8228 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 13.5,-10.5 + parent: 60 - proto: ChairOfficeDark entities: - uid: 492 @@ -60154,10 +60055,15 @@ entities: parent: 60 - proto: CigaretteSpent entities: - - uid: 7194 + - uid: 7223 components: - type: Transform - pos: 12.722401,-10.222941 + pos: 11.881467,-14.858844 + parent: 60 + - uid: 8590 + components: + - type: Transform + pos: 13.038995,-10.828611 parent: 60 - uid: 11564 components: @@ -60207,6 +60113,13 @@ entities: - type: Transform pos: -53.525055,-14.398706 parent: 60 +- proto: CigPackMixed + entities: + - uid: 8504 + components: + - type: Transform + pos: 13.49212,-10.547361 + parent: 60 - proto: CigPackRed entities: - uid: 8196 @@ -60529,6 +60442,11 @@ entities: parent: 60 - proto: ClosetEmergencyN2FilledRandom entities: + - uid: 7630 + components: + - type: Transform + pos: 9.5,-2.5 + parent: 60 - uid: 22006 components: - type: Transform @@ -60634,6 +60552,11 @@ entities: moles: Oxygen: 1.6495836 Nitrogen: 6.2055764 + - uid: 7564 + components: + - type: Transform + pos: 10.5,-12.5 + parent: 60 - uid: 12851 components: - type: Transform @@ -61642,6 +61565,11 @@ entities: - type: Transform pos: 55.800465,-12.206088 parent: 60 + - uid: 7226 + components: + - type: Transform + pos: 10.303342,-14.265094 + parent: 60 - proto: ClothingHeadHatPirate entities: - uid: 3744 @@ -61900,31 +61828,11 @@ entities: - type: Transform pos: -42.46292,12.379346 parent: 60 - - uid: 11259 - components: - - type: Transform - pos: 12.37671,-15.364663 - parent: 60 - uid: 21241 components: - type: Transform pos: -70.49764,19.650846 parent: 60 - - uid: 24690 - components: - - type: Transform - pos: 12.392335,-15.567788 - parent: 60 - - uid: 24691 - components: - - type: Transform - pos: 12.65796,-15.442788 - parent: 60 - - uid: 24692 - components: - - type: Transform - pos: 12.65796,-15.614663 - parent: 60 - proto: ClothingMaskBreathMedical entities: - uid: 4033 @@ -62391,20 +62299,6 @@ entities: - type: Transform pos: -64.59717,0.6690302 parent: 60 -- proto: ClothingUniformJumpskirtJanimaid - entities: - - uid: 18529 - components: - - type: Transform - pos: 8.506187,-6.4335732 - parent: 60 -- proto: ClothingUniformJumpskirtJanimaidmini - entities: - - uid: 6944 - components: - - type: Transform - pos: 8.493573,-6.4299474 - parent: 60 - proto: ClothingUniformJumpskirtOfLife entities: - uid: 21692 @@ -64430,41 +64324,57 @@ entities: parent: 60 - proto: CryogenicSleepUnit entities: + - uid: 520 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 10.5,-16.5 + parent: 60 + - uid: 1439 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 10.5,-17.5 + parent: 60 + - uid: 1452 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 10.5,-15.5 + parent: 60 - uid: 1574 components: - type: Transform rot: -1.5707963267948966 rad pos: -9.5,-20.5 parent: 60 - - uid: 6056 + - uid: 3015 components: - type: Transform rot: 3.141592653589793 rad - pos: 10.5,-12.5 + pos: 47.5,-29.5 parent: 60 - - uid: 11682 + - uid: 3070 components: - type: Transform - rot: 3.141592653589793 rad - pos: 10.5,-11.5 + pos: 45.5,-23.5 parent: 60 - - uid: 13847 + - uid: 6505 components: - type: Transform - rot: 3.141592653589793 rad - pos: 10.5,-13.5 + pos: 45.5,-22.5 parent: 60 - proto: CryogenicSleepUnitSpawnerLateJoin entities: - - uid: 4283 + - uid: 1447 components: - type: Transform - pos: 13.5,-10.5 + pos: 13.5,-15.5 parent: 60 - - uid: 23954 + - uid: 1451 components: - type: Transform - pos: 13.5,-11.5 + pos: 13.5,-14.5 parent: 60 - proto: CryoPod entities: @@ -64778,10 +64688,10 @@ entities: parent: 60 - proto: DefaultStationBeaconCryosleep entities: - - uid: 23981 + - uid: 3128 components: - type: Transform - pos: 12.5,-12.5 + pos: 11.5,-15.5 parent: 60 - proto: DefaultStationBeaconDetectiveRoom entities: @@ -70365,6 +70275,12 @@ entities: - type: Transform pos: 51.488304,17.5316 parent: 60 + - uid: 7224 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 10.647092,-14.515094 + parent: 60 - uid: 9085 components: - type: Transform @@ -70385,27 +70301,6 @@ entities: - type: Transform pos: 51.66018,17.672226 parent: 60 - - uid: 23976 - components: - - type: Transform - pos: 13.274552,-13.238566 - parent: 60 - - uid: 23978 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 11.977677,-10.910441 - parent: 60 - - uid: 23979 - components: - - type: Transform - pos: 13.274552,-13.472941 - parent: 60 - - uid: 23980 - components: - - type: Transform - pos: 13.274552,-13.363566 - parent: 60 - proto: DrinkWhiskeyBottleFull entities: - uid: 16148 @@ -70820,26 +70715,6 @@ entities: - type: Transform pos: -70.41952,19.557096 parent: 60 - - uid: 24693 - components: - - type: Transform - pos: 13.329835,-15.302163 - parent: 60 - - uid: 24694 - components: - - type: Transform - pos: 13.34546,-15.489663 - parent: 60 - - uid: 24695 - components: - - type: Transform - pos: 13.611085,-15.520913 - parent: 60 - - uid: 24696 - components: - - type: Transform - pos: 13.62671,-15.317788 - parent: 60 - proto: Emitter entities: - uid: 13249 @@ -71050,6 +70925,13 @@ entities: parent: 60 - type: Fixtures fixtures: {} + - uid: 7658 + components: + - type: Transform + pos: 14.5,-9.5 + parent: 60 + - type: Fixtures + fixtures: {} - uid: 8028 components: - type: Transform @@ -71227,13 +71109,6 @@ entities: parent: 60 - type: Fixtures fixtures: {} - - uid: 21732 - components: - - type: Transform - pos: 14.5,-17.5 - parent: 60 - - type: Fixtures - fixtures: {} - uid: 21737 components: - type: Transform @@ -71385,13 +71260,6 @@ entities: parent: 60 - type: FaxMachine name: Bridge -- proto: FigureSpawner - entities: - - uid: 5340 - components: - - type: Transform - pos: -36.5,-34.5 - parent: 60 - proto: filingCabinetDrawerRandom entities: - uid: 1942 @@ -74288,6 +74156,11 @@ entities: - type: Transform pos: 3.4771476,-42.724022 parent: 60 + - uid: 8039 + components: + - type: Transform + pos: 8.475593,-7.4423304 + parent: 60 - uid: 12600 components: - type: Transform @@ -75042,148 +74915,6 @@ entities: - type: Transform pos: -54.45124,23.498655 parent: 60 -- proto: FloorTileItemGold - entities: - - uid: 18054 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18055 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18130 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18131 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18378 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18379 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18380 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18381 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18382 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18383 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18384 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18385 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18386 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18387 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18388 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18389 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18390 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18391 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18392 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18393 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18394 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18395 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18396 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18397 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18398 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18399 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18400 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - - uid: 18401 - components: - - type: Transform - pos: 8.50918,-6.461349 - parent: 60 - proto: FloorTileItemLino entities: - uid: 16990 @@ -75606,16 +75337,6 @@ entities: - type: Transform pos: 11.828171,-26.428648 parent: 60 -- proto: FuelDispenser - entities: - - uid: 24299 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,-2.5 - parent: 60 - - type: Fixtures - fixtures: {} - proto: GalaxythistleSeeds entities: - uid: 3414 @@ -76192,6 +75913,12 @@ entities: parent: 60 - type: AtmosPipeColor color: '#990000FF' + - uid: 2541 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 12.5,-16.5 + parent: 60 - uid: 2999 components: - type: Transform @@ -76820,14 +76547,6 @@ entities: parent: 60 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 11488 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 12.5,-12.5 - parent: 60 - - type: AtmosPipeColor - color: '#0055CCFF' - uid: 11723 components: - type: Transform @@ -78630,6 +78349,12 @@ entities: parent: 60 - type: AtmosPipeColor color: '#990000FF' + - uid: 521 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 15.5,-17.5 + parent: 60 - uid: 532 components: - type: Transform @@ -78638,6 +78363,12 @@ entities: parent: 60 - type: AtmosPipeColor color: '#990000FF' + - uid: 583 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 13.5,-17.5 + parent: 60 - uid: 617 components: - type: Transform @@ -79163,14 +78894,6 @@ entities: parent: 60 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 1064 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 17.5,-17.5 - parent: 60 - - type: AtmosPipeColor - color: '#990000FF' - uid: 1065 components: - type: Transform @@ -79955,6 +79678,23 @@ entities: parent: 60 - type: AtmosPipeColor color: '#0055CCFF' + - uid: 1437 + components: + - type: Transform + pos: 17.5,-13.5 + parent: 60 + - uid: 1438 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 12.5,-17.5 + parent: 60 + - uid: 1440 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 14.5,-17.5 + parent: 60 - uid: 1459 components: - type: Transform @@ -81245,6 +80985,12 @@ entities: parent: 60 - type: AtmosPipeColor color: '#0055CCFF' + - uid: 2542 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 16.5,-17.5 + parent: 60 - uid: 2545 components: - type: Transform @@ -82418,14 +82164,6 @@ entities: parent: 60 - type: AtmosPipeColor color: '#990000FF' - - uid: 4006 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 14.5,-13.5 - parent: 60 - - type: AtmosPipeColor - color: '#990000FF' - uid: 4008 components: - type: Transform @@ -85093,14 +84831,6 @@ entities: parent: 60 - type: AtmosPipeColor color: '#990000FF' - - uid: 6124 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 11.5,-16.5 - parent: 60 - - type: AtmosPipeColor - color: '#0055CCFF' - uid: 6134 components: - type: Transform @@ -85329,6 +85059,11 @@ entities: parent: 60 - type: AtmosPipeColor color: '#0055CCFF' + - uid: 6346 + components: + - type: Transform + pos: 15.5,-12.5 + parent: 60 - uid: 6358 components: - type: Transform @@ -85790,14 +85525,6 @@ entities: parent: 60 - type: AtmosPipeColor color: '#990000FF' - - uid: 7200 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 16.5,-13.5 - parent: 60 - - type: AtmosPipeColor - color: '#990000FF' - uid: 7211 components: - type: Transform @@ -86796,14 +86523,6 @@ entities: parent: 60 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 11379 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 14.5,-12.5 - parent: 60 - - type: AtmosPipeColor - color: '#0055CCFF' - uid: 11727 components: - type: Transform @@ -87336,14 +87055,6 @@ entities: parent: 60 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 13573 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 13.5,-13.5 - parent: 60 - - type: AtmosPipeColor - color: '#990000FF' - uid: 13587 components: - type: Transform @@ -87407,14 +87118,6 @@ entities: parent: 60 - type: AtmosPipeColor color: '#990000FF' - - uid: 13640 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 12.5,-13.5 - parent: 60 - - type: AtmosPipeColor - color: '#990000FF' - uid: 13651 components: - type: Transform @@ -89611,14 +89314,6 @@ entities: parent: 60 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 15171 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 13.5,-12.5 - parent: 60 - - type: AtmosPipeColor - color: '#0055CCFF' - uid: 15279 components: - type: Transform @@ -94233,14 +93928,6 @@ entities: rot: -1.5707963267948966 rad pos: -54.5,51.5 parent: 60 - - uid: 23977 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 15.5,-13.5 - parent: 60 - - type: AtmosPipeColor - color: '#990000FF' - uid: 24357 components: - type: Transform @@ -96209,6 +95896,12 @@ entities: parent: 60 - type: AtmosPipeColor color: '#0055CCFF' + - uid: 2543 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 17.5,-17.5 + parent: 60 - uid: 2693 components: - type: Transform @@ -96798,13 +96491,6 @@ entities: parent: 60 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 5890 - components: - - type: Transform - pos: 12.5,-16.5 - parent: 60 - - type: AtmosPipeColor - color: '#0055CCFF' - uid: 5891 components: - type: Transform @@ -97227,22 +96913,6 @@ entities: parent: 60 - type: AtmosPipeColor color: '#990000FF' - - uid: 11734 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 15.5,-12.5 - parent: 60 - - type: AtmosPipeColor - color: '#0055CCFF' - - uid: 11761 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 17.5,-13.5 - parent: 60 - - type: AtmosPipeColor - color: '#990000FF' - uid: 12302 components: - type: Transform @@ -99430,22 +99100,6 @@ entities: - 21612 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 5954 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 10.5,-16.5 - parent: 60 - - type: AtmosPipeColor - color: '#0055CCFF' - - uid: 5955 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 12.5,-17.5 - parent: 60 - - type: AtmosPipeColor - color: '#0055CCFF' - uid: 5956 components: - type: Transform @@ -99987,16 +99641,6 @@ entities: parent: 60 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 14770 - components: - - type: Transform - pos: 12.5,-11.5 - parent: 60 - - type: DeviceNetwork - deviceLists: - - 23956 - - type: AtmosPipeColor - color: '#0055CCFF' - uid: 15310 components: - type: Transform @@ -101942,17 +101586,6 @@ entities: parent: 60 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 23975 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 11.5,-13.5 - parent: 60 - - type: DeviceNetwork - deviceLists: - - 23956 - - type: AtmosPipeColor - color: '#990000FF' - uid: 24358 components: - type: Transform @@ -102146,6 +101779,16 @@ entities: - type: Transform pos: -60.5,-9.5 parent: 60 + - uid: 7200 + components: + - type: Transform + pos: 10.5,-11.5 + parent: 60 + - uid: 7213 + components: + - type: Transform + pos: 8.5,-6.5 + parent: 60 - uid: 9041 components: - type: Transform @@ -102161,11 +101804,6 @@ entities: - type: Transform pos: 29.5,-8.5 parent: 60 - - uid: 21405 - components: - - type: Transform - pos: 8.5,-5.5 - parent: 60 - uid: 23393 components: - type: Transform @@ -102398,21 +102036,6 @@ entities: - type: Transform pos: 50.5,53.5 parent: 60 - - uid: 601 - components: - - type: Transform - pos: 14.5,-3.5 - parent: 60 - - uid: 602 - components: - - type: Transform - pos: 14.5,-2.5 - parent: 60 - - uid: 606 - components: - - type: Transform - pos: 14.5,-4.5 - parent: 60 - uid: 631 components: - type: Transform @@ -102730,11 +102353,6 @@ entities: - type: Transform pos: 38.5,49.5 parent: 60 - - uid: 2543 - components: - - type: Transform - pos: 10.5,-14.5 - parent: 60 - uid: 2565 components: - type: Transform @@ -103358,10 +102976,10 @@ entities: - type: Transform pos: -46.5,-6.5 parent: 60 - - uid: 4544 + - uid: 4525 components: - type: Transform - pos: 14.5,-13.5 + pos: 9.5,-14.5 parent: 60 - uid: 4589 components: @@ -103668,6 +103286,11 @@ entities: - type: Transform pos: -45.5,2.5 parent: 60 + - uid: 5582 + components: + - type: Transform + pos: 14.5,-17.5 + parent: 60 - uid: 5586 components: - type: Transform @@ -103888,6 +103511,11 @@ entities: - type: Transform pos: 4.5,44.5 parent: 60 + - uid: 6407 + components: + - type: Transform + pos: 9.5,-16.5 + parent: 60 - uid: 6415 components: - type: Transform @@ -103928,6 +103556,16 @@ entities: - type: Transform pos: 6.5,16.5 parent: 60 + - uid: 6532 + components: + - type: Transform + pos: 6.5,-11.5 + parent: 60 + - uid: 6533 + components: + - type: Transform + pos: 10.5,-1.5 + parent: 60 - uid: 6547 components: - type: Transform @@ -103958,6 +103596,11 @@ entities: - type: Transform pos: -22.5,27.5 parent: 60 + - uid: 6581 + components: + - type: Transform + pos: 13.5,-9.5 + parent: 60 - uid: 6606 components: - type: Transform @@ -103968,6 +103611,11 @@ entities: - type: Transform pos: 30.5,-59.5 parent: 60 + - uid: 6681 + components: + - type: Transform + pos: 12.5,-9.5 + parent: 60 - uid: 6688 components: - type: Transform @@ -103993,6 +103641,11 @@ entities: - type: Transform pos: 46.5,-43.5 parent: 60 + - uid: 6756 + components: + - type: Transform + pos: 11.5,-9.5 + parent: 60 - uid: 6812 components: - type: Transform @@ -104003,11 +103656,21 @@ entities: - type: Transform pos: 31.5,-16.5 parent: 60 + - uid: 6843 + components: + - type: Transform + pos: 13.5,-5.5 + parent: 60 - uid: 6911 components: - type: Transform pos: 15.5,29.5 parent: 60 + - uid: 6944 + components: + - type: Transform + pos: 12.5,-5.5 + parent: 60 - uid: 6966 components: - type: Transform @@ -104018,16 +103681,31 @@ entities: - type: Transform pos: 3.5,-74.5 parent: 60 + - uid: 7035 + components: + - type: Transform + pos: 11.5,-5.5 + parent: 60 - uid: 7067 components: - type: Transform pos: -47.5,6.5 parent: 60 + - uid: 7071 + components: + - type: Transform + pos: 12.5,-1.5 + parent: 60 - uid: 7074 components: - type: Transform pos: -46.5,6.5 parent: 60 + - uid: 7088 + components: + - type: Transform + pos: 11.5,-1.5 + parent: 60 - uid: 7093 components: - type: Transform @@ -109853,11 +109531,6 @@ entities: - type: Transform pos: -53.5,-24.5 parent: 60 - - uid: 24353 - components: - - type: Transform - pos: 9.5,-13.5 - parent: 60 - uid: 24364 components: - type: Transform @@ -109993,36 +109666,6 @@ entities: - type: Transform pos: -62.5,-3.5 parent: 60 - - uid: 24646 - components: - - type: Transform - pos: 9.5,-12.5 - parent: 60 - - uid: 24647 - components: - - type: Transform - pos: 9.5,-11.5 - parent: 60 - - uid: 24648 - components: - - type: Transform - pos: 10.5,-10.5 - parent: 60 - - uid: 24649 - components: - - type: Transform - pos: 11.5,-9.5 - parent: 60 - - uid: 24650 - components: - - type: Transform - pos: 12.5,-9.5 - parent: 60 - - uid: 24651 - components: - - type: Transform - pos: 13.5,-9.5 - parent: 60 - uid: 25220 components: - type: Transform @@ -111530,10 +111173,10 @@ entities: parent: 60 - proto: HolopadGeneralCryosleep entities: - - uid: 24060 + - uid: 3594 components: - type: Transform - pos: 12.5,-12.5 + pos: 12.5,-15.5 parent: 60 - proto: HolopadGeneralDisposals entities: @@ -113841,6 +113484,13 @@ entities: - type: Transform pos: 49.47655,18.540401 parent: 60 +- proto: MechFigurineSpawner50 + entities: + - uid: 5340 + components: + - type: Transform + pos: -36.5,-34.5 + parent: 60 - proto: MedicalBed entities: - uid: 108 @@ -114659,11 +114309,6 @@ entities: - type: Transform pos: -50.5,49.5 parent: 60 - - uid: 7182 - components: - - type: Transform - pos: 13.5,-17.5 - parent: 60 - uid: 7615 components: - type: Transform @@ -115781,6 +115426,23 @@ entities: - type: Transform pos: 30.505884,-10.627335 parent: 60 +- proto: PlushieSpawner50 + entities: + - uid: 5303 + components: + - type: Transform + pos: -39.5,-34.5 + parent: 60 + - uid: 6968 + components: + - type: Transform + pos: -63.5,2.5 + parent: 60 + - uid: 17839 + components: + - type: Transform + pos: -47.5,20.5 + parent: 60 - proto: PonderingOrb entities: - uid: 7784 @@ -116276,13 +115938,6 @@ entities: parent: 60 - type: Fixtures fixtures: {} - - uid: 24674 - components: - - type: Transform - pos: 12.5,-14.5 - parent: 60 - - type: Fixtures - fixtures: {} - proto: PosterContrabandSpaceCola entities: - uid: 16098 @@ -117697,6 +117352,18 @@ entities: rot: 3.141592653589793 rad pos: -33.5,2.5 parent: 60 + - uid: 7193 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 11.5,-12.5 + parent: 60 + - uid: 7194 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 4.5,-10.5 + parent: 60 - uid: 10314 components: - type: Transform @@ -117803,12 +117470,6 @@ entities: - type: Transform pos: -32.5,-34.5 parent: 60 - - uid: 19568 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 4.5,-3.5 - parent: 60 - uid: 19569 components: - type: Transform @@ -117900,17 +117561,6 @@ entities: - type: Transform pos: -38.5,17.5 parent: 60 - - uid: 19633 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,-10.5 - parent: 60 - - uid: 19637 - components: - - type: Transform - pos: 8.5,-2.5 - parent: 60 - uid: 19639 components: - type: Transform @@ -120075,14 +119725,6 @@ entities: parent: 60 - type: ApcPowerReceiver powerLoad: 0 - - uid: 1457 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 10.5,-17.5 - parent: 60 - - type: ApcPowerReceiver - powerLoad: 0 - uid: 1764 components: - type: Transform @@ -120261,6 +119903,12 @@ entities: rot: -1.5707963267948966 rad pos: -2.5,-10.5 parent: 60 + - uid: 8595 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 4.5,-3.5 + parent: 60 - uid: 8598 components: - type: Transform @@ -120293,12 +119941,6 @@ entities: rot: 3.141592653589793 rad pos: 12.5,-20.5 parent: 60 - - uid: 9367 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 12.5,-17.5 - parent: 60 - uid: 10035 components: - type: Transform @@ -120713,12 +120355,6 @@ entities: rot: 1.5707963267948966 rad pos: 57.5,3.5 parent: 60 - - uid: 24656 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 11.5,-13.5 - parent: 60 - uid: 24670 components: - type: Transform @@ -121003,21 +120639,16 @@ entities: - type: Transform pos: -0.5,15.5 parent: 60 - - uid: 7035 - components: - - type: Transform - pos: 12.5,-15.5 - parent: 60 - - uid: 7088 - components: - - type: Transform - pos: 13.5,-15.5 - parent: 60 - uid: 7703 components: - type: Transform pos: 46.5,-1.5 parent: 60 + - uid: 7711 + components: + - type: Transform + pos: 8.5,-7.5 + parent: 60 - uid: 7737 components: - type: Transform @@ -122326,16 +121957,6 @@ entities: - type: Transform pos: 10.5,11.5 parent: 60 - - uid: 7431 - components: - - type: Transform - pos: -3.5,-66.5 - parent: 60 - - uid: 8228 - components: - - type: Transform - pos: -32.5,-24.5 - parent: 60 - uid: 8251 components: - type: Transform @@ -122363,21 +121984,11 @@ entities: parent: 60 - proto: RandomVendingSnacks entities: - - uid: 3070 - components: - - type: Transform - pos: -31.5,-24.5 - parent: 60 - uid: 6320 components: - type: Transform pos: 9.5,11.5 parent: 60 - - uid: 7421 - components: - - type: Transform - pos: -3.5,-65.5 - parent: 60 - uid: 18523 components: - type: Transform @@ -122437,11 +122048,6 @@ entities: parent: 60 - proto: ReinforcedGirder entities: - - uid: 11134 - components: - - type: Transform - pos: 9.5,-5.5 - parent: 60 - uid: 24143 components: - type: Transform @@ -122767,6 +122373,12 @@ entities: - type: Transform pos: 57.5,-6.5 parent: 60 + - uid: 288 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 11.5,-5.5 + parent: 60 - uid: 320 components: - type: Transform @@ -122842,6 +122454,12 @@ entities: - type: Transform pos: 20.5,1.5 parent: 60 + - uid: 455 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 13.5,-9.5 + parent: 60 - uid: 493 components: - type: Transform @@ -122862,10 +122480,21 @@ entities: - type: Transform pos: -68.5,11.5 parent: 60 - - uid: 603 + - uid: 587 components: - type: Transform - pos: 14.5,-4.5 + pos: 9.5,-14.5 + parent: 60 + - uid: 588 + components: + - type: Transform + pos: 9.5,-16.5 + parent: 60 + - uid: 602 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 11.5,-1.5 parent: 60 - uid: 604 components: @@ -123027,6 +122656,12 @@ entities: - type: Transform pos: 5.5,-26.5 parent: 60 + - uid: 1434 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 12.5,-1.5 + parent: 60 - uid: 1442 components: - type: Transform @@ -123153,11 +122788,6 @@ entities: - type: Transform pos: 42.5,-32.5 parent: 60 - - uid: 2542 - components: - - type: Transform - pos: 10.5,-10.5 - parent: 60 - uid: 2591 components: - type: Transform @@ -123273,6 +122903,12 @@ entities: - type: Transform pos: 48.5,-19.5 parent: 60 + - uid: 3125 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 11.5,-9.5 + parent: 60 - uid: 3131 components: - type: Transform @@ -123573,11 +123209,6 @@ entities: - type: Transform pos: 40.5,-25.5 parent: 60 - - uid: 4531 - components: - - type: Transform - pos: 14.5,-13.5 - parent: 60 - uid: 4549 components: - type: Transform @@ -123866,12 +123497,8 @@ entities: - uid: 5457 components: - type: Transform - pos: 14.5,-3.5 - parent: 60 - - uid: 5458 - components: - - type: Transform - pos: 14.5,-2.5 + rot: 3.141592653589793 rad + pos: 13.5,-5.5 parent: 60 - uid: 5519 components: @@ -123973,6 +123600,11 @@ entities: - type: Transform pos: -55.5,-24.5 parent: 60 + - uid: 6056 + components: + - type: Transform + pos: 14.5,-17.5 + parent: 60 - uid: 6061 components: - type: Transform @@ -123983,6 +123615,12 @@ entities: - type: Transform pos: -47.5,10.5 parent: 60 + - uid: 6124 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 12.5,-5.5 + parent: 60 - uid: 6169 components: - type: Transform @@ -124033,6 +123671,12 @@ entities: - type: Transform pos: 57.5,-13.5 parent: 60 + - uid: 6486 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 12.5,-9.5 + parent: 60 - uid: 6520 components: - type: Transform @@ -124133,6 +123777,11 @@ entities: - type: Transform pos: 45.5,-25.5 parent: 60 + - uid: 7047 + components: + - type: Transform + pos: 10.5,-1.5 + parent: 60 - uid: 7068 components: - type: Transform @@ -124163,25 +123812,10 @@ entities: - type: Transform pos: 3.5,-74.5 parent: 60 - - uid: 7193 - components: - - type: Transform - pos: 9.5,-12.5 - parent: 60 - uid: 7199 components: - type: Transform - pos: 9.5,-13.5 - parent: 60 - - uid: 7223 - components: - - type: Transform - pos: 12.5,-9.5 - parent: 60 - - uid: 7224 - components: - - type: Transform - pos: 10.5,-14.5 + pos: 6.5,-11.5 parent: 60 - uid: 7244 components: @@ -124513,11 +124147,6 @@ entities: - type: Transform pos: -65.5,14.5 parent: 60 - - uid: 8039 - components: - - type: Transform - pos: 11.5,-9.5 - parent: 60 - uid: 8194 components: - type: Transform @@ -126864,16 +126493,6 @@ entities: - type: Transform pos: 57.5,32.5 parent: 60 - - uid: 24087 - components: - - type: Transform - pos: 13.5,-9.5 - parent: 60 - - uid: 24271 - components: - - type: Transform - pos: 9.5,-11.5 - parent: 60 - uid: 24540 components: - type: Transform @@ -127046,14 +126665,6 @@ entities: parent: 60 - proto: Screen entities: - - uid: 5582 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 13.5,-14.5 - parent: 60 - - type: Fixtures - fixtures: {} - uid: 15599 components: - type: Transform @@ -129750,10 +129361,10 @@ entities: fixtures: {} - proto: SignCryo entities: - - uid: 23955 + - uid: 3161 components: - type: Transform - pos: 14.5,-11.5 + pos: 14.5,-15.5 parent: 60 - type: Fixtures fixtures: {} @@ -130840,13 +130451,6 @@ entities: fixtures: {} - proto: SignEVA entities: - - uid: 1452 - components: - - type: Transform - pos: 14.5,-15.5 - parent: 60 - - type: Fixtures - fixtures: {} - uid: 3745 components: - type: Transform @@ -131585,13 +131189,6 @@ entities: fixtures: {} - proto: SignSpace entities: - - uid: 1451 - components: - - type: Transform - pos: 11.5,-15.5 - parent: 60 - - type: Fixtures - fixtures: {} - uid: 3275 components: - type: Transform @@ -135900,17 +135497,6 @@ entities: - SurveillanceCameraCommand nameSet: True id: AI Sat Bridge - - uid: 21051 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,-7.5 - parent: 60 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraCommand - nameSet: True - id: Vault - uid: 21052 components: - type: Transform @@ -136105,17 +135691,6 @@ entities: - SurveillanceCameraCommand nameSet: True id: AI Sat Tunnel - - uid: 24276 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 11.5,-4.5 - parent: 60 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraCommand - nameSet: True - id: Bridge Exterior Access - uid: 24285 components: - type: Transform @@ -136137,27 +135712,6 @@ entities: - SurveillanceCameraCommand nameSet: True id: HoP Bedroom - - uid: 24719 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 7.5,-2.5 - parent: 60 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraCommand - nameSet: True - id: Bridge Airlock - - uid: 24720 - components: - - type: Transform - pos: 4.5,-3.5 - parent: 60 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraCommand - nameSet: True - id: Bridge Power Closet - uid: 24757 components: - type: Transform @@ -136648,6 +136202,17 @@ entities: - SurveillanceCameraGeneral nameSet: True id: Science front north hall + - uid: 4544 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 11.5,-14.5 + parent: 60 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraGeneral + nameSet: True + id: Cryosleep - uid: 7157 components: - type: Transform @@ -136821,16 +136386,6 @@ entities: - SurveillanceCameraGeneral nameSet: True id: Bagel Space - - uid: 23958 - components: - - type: Transform - pos: 12.5,-13.5 - parent: 60 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraGeneral - nameSet: True - id: Cryosleep - uid: 24269 components: - type: Transform @@ -137049,28 +136604,6 @@ entities: - SurveillanceCameraGeneral nameSet: True id: News Room - - uid: 24731 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 12.5,-15.5 - parent: 60 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraGeneral - nameSet: True - id: Bagel Central Eva Closet - - uid: 24732 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 10.5,-15.5 - parent: 60 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraGeneral - nameSet: True - id: Bagel Central Eva Airlock - uid: 24739 components: - type: Transform @@ -138197,6 +137730,11 @@ entities: rot: 1.5707963267948966 rad pos: 49.5,-13.5 parent: 60 + - uid: 4531 + components: + - type: Transform + pos: 10.5,-14.5 + parent: 60 - uid: 4577 components: - type: Transform @@ -138533,11 +138071,6 @@ entities: - type: Transform pos: -54.5,-5.5 parent: 60 - - uid: 11344 - components: - - type: Transform - pos: 13.5,-13.5 - parent: 60 - uid: 11482 components: - type: Transform @@ -140883,23 +140416,6 @@ entities: - type: Transform pos: -2.47266,-11.475237 parent: 60 -- proto: ToySpawner - entities: - - uid: 5303 - components: - - type: Transform - pos: -39.5,-34.5 - parent: 60 - - uid: 6968 - components: - - type: Transform - pos: -63.5,2.5 - parent: 60 - - uid: 17839 - components: - - type: Transform - pos: -47.5,20.5 - parent: 60 - proto: TrashBag entities: - uid: 926 @@ -142710,11 +142226,6 @@ entities: - type: Transform pos: 50.5,-19.5 parent: 60 - - uid: 455 - components: - - type: Transform - pos: 10.5,-2.5 - parent: 60 - uid: 456 components: - type: Transform @@ -142766,11 +142277,6 @@ entities: - type: Transform pos: -13.5,6.5 parent: 60 - - uid: 520 - components: - - type: Transform - pos: 14.5,-17.5 - parent: 60 - uid: 522 components: - type: Transform @@ -142915,30 +142421,15 @@ entities: - type: Transform pos: 14.5,-18.5 parent: 60 - - uid: 583 - components: - - type: Transform - pos: 14.5,-17.5 - parent: 60 - uid: 586 components: - type: Transform - pos: 14.5,-15.5 - parent: 60 - - uid: 587 - components: - - type: Transform - pos: 14.5,-15.5 - parent: 60 - - uid: 588 - components: - - type: Transform - pos: 14.5,-15.5 + pos: 10.5,-8.5 parent: 60 - uid: 589 components: - type: Transform - pos: 14.5,-15.5 + pos: 14.5,-13.5 parent: 60 - uid: 590 components: @@ -142975,6 +142466,18 @@ entities: - type: Transform pos: 14.5,-6.5 parent: 60 + - uid: 603 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,-12.5 + parent: 60 + - uid: 606 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,-11.5 + parent: 60 - uid: 624 components: - type: Transform @@ -143214,6 +142717,12 @@ entities: - type: Transform pos: -27.5,-10.5 parent: 60 + - uid: 1064 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 7.5,-11.5 + parent: 60 - uid: 1123 components: - type: Transform @@ -143433,36 +142942,6 @@ entities: - type: Transform pos: 24.5,22.5 parent: 60 - - uid: 1434 - components: - - type: Transform - pos: 9.5,-14.5 - parent: 60 - - uid: 1436 - components: - - type: Transform - pos: 11.5,-14.5 - parent: 60 - - uid: 1437 - components: - - type: Transform - pos: 12.5,-14.5 - parent: 60 - - uid: 1438 - components: - - type: Transform - pos: 13.5,-14.5 - parent: 60 - - uid: 1439 - components: - - type: Transform - pos: 11.5,-17.5 - parent: 60 - - uid: 1440 - components: - - type: Transform - pos: 11.5,-15.5 - parent: 60 - uid: 1448 components: - type: Transform @@ -145581,6 +145060,11 @@ entities: - type: Transform pos: 6.5,-62.5 parent: 60 + - uid: 5209 + components: + - type: Transform + pos: 10.5,-9.5 + parent: 60 - uid: 5213 components: - type: Transform @@ -145791,6 +145275,11 @@ entities: - type: Transform pos: 14.5,6.5 parent: 60 + - uid: 5458 + components: + - type: Transform + pos: 14.5,-15.5 + parent: 60 - uid: 5483 components: - type: Transform @@ -146061,6 +145550,11 @@ entities: - type: Transform pos: -63.5,-7.5 parent: 60 + - uid: 5890 + components: + - type: Transform + pos: 10.5,-7.5 + parent: 60 - uid: 5903 components: - type: Transform @@ -146076,6 +145570,11 @@ entities: - type: Transform pos: -55.5,30.5 parent: 60 + - uid: 5954 + components: + - type: Transform + pos: 10.5,-6.5 + parent: 60 - uid: 5960 components: - type: Transform @@ -146231,6 +145730,12 @@ entities: - type: Transform pos: -52.5,52.5 parent: 60 + - uid: 6345 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 8.5,-11.5 + parent: 60 - uid: 6351 components: - type: Transform @@ -146301,6 +145806,11 @@ entities: - type: Transform pos: 10.5,43.5 parent: 60 + - uid: 6409 + components: + - type: Transform + pos: 10.5,-5.5 + parent: 60 - uid: 6420 components: - type: Transform @@ -146341,6 +145851,11 @@ entities: - type: Transform pos: 57.5,-9.5 parent: 60 + - uid: 6490 + components: + - type: Transform + pos: 9.5,-13.5 + parent: 60 - uid: 6506 components: - type: Transform @@ -146366,6 +145881,11 @@ entities: - type: Transform pos: 7.5,21.5 parent: 60 + - uid: 6531 + components: + - type: Transform + pos: 13.5,-1.5 + parent: 60 - uid: 6537 components: - type: Transform @@ -150047,11 +149567,6 @@ entities: - type: Transform pos: -4.5,2.5 parent: 60 - - uid: 17940 - components: - - type: Transform - pos: 10.5,-4.5 - parent: 60 - uid: 17977 components: - type: Transform @@ -150092,11 +149607,6 @@ entities: - type: Transform pos: 2.5,-4.5 parent: 60 - - uid: 18030 - components: - - type: Transform - pos: 2.5,-9.5 - parent: 60 - uid: 18031 components: - type: Transform @@ -150112,16 +149622,6 @@ entities: - type: Transform pos: 2.5,-8.5 parent: 60 - - uid: 18035 - components: - - type: Transform - pos: 9.5,-4.5 - parent: 60 - - uid: 18036 - components: - - type: Transform - pos: 2.5,-10.5 - parent: 60 - uid: 18037 components: - type: Transform @@ -150177,11 +149677,6 @@ entities: - type: Transform pos: -1.5,-4.5 parent: 60 - - uid: 18048 - components: - - type: Transform - pos: 8.5,-7.5 - parent: 60 - uid: 18049 components: - type: Transform @@ -150197,11 +149692,6 @@ entities: - type: Transform pos: -5.5,-1.5 parent: 60 - - uid: 18053 - components: - - type: Transform - pos: 5.5,-9.5 - parent: 60 - uid: 18056 components: - type: Transform @@ -150212,21 +149702,6 @@ entities: - type: Transform pos: 5.5,-0.5 parent: 60 - - uid: 18064 - components: - - type: Transform - pos: 9.5,-6.5 - parent: 60 - - uid: 18065 - components: - - type: Transform - pos: 10.5,-6.5 - parent: 60 - - uid: 18066 - components: - - type: Transform - pos: 10.5,-5.5 - parent: 60 - uid: 18069 components: - type: Transform @@ -150252,21 +149727,11 @@ entities: - type: Transform pos: -4.5,-0.5 parent: 60 - - uid: 18074 - components: - - type: Transform - pos: 9.5,-7.5 - parent: 60 - uid: 18075 components: - type: Transform pos: 4.5,-11.5 parent: 60 - - uid: 18077 - components: - - type: Transform - pos: 9.5,-2.5 - parent: 60 - uid: 18091 components: - type: Transform @@ -150457,11 +149922,6 @@ entities: - type: Transform pos: 5.5,-11.5 parent: 60 - - uid: 18377 - components: - - type: Transform - pos: 5.5,-10.5 - parent: 60 - uid: 18521 components: - type: Transform @@ -152339,6 +151799,11 @@ entities: - type: Transform pos: 38.5,-35.5 parent: 60 + - uid: 601 + components: + - type: Transform + pos: 13.5,-13.5 + parent: 60 - uid: 620 components: - type: Transform @@ -152479,6 +151944,11 @@ entities: - type: Transform pos: -13.5,22.5 parent: 60 + - uid: 815 + components: + - type: Transform + pos: 11.5,-13.5 + parent: 60 - uid: 819 components: - type: Transform @@ -152681,6 +152151,11 @@ entities: - type: Transform pos: -16.5,-27.5 parent: 60 + - uid: 1435 + components: + - type: Transform + pos: 14.5,-4.5 + parent: 60 - uid: 1593 components: - type: Transform @@ -153969,11 +153444,6 @@ entities: - type: Transform pos: -36.5,-33.5 parent: 60 - - uid: 4525 - components: - - type: Transform - pos: 14.5,-11.5 - parent: 60 - uid: 4569 components: - type: Transform @@ -154205,6 +153675,11 @@ entities: - type: Transform pos: 42.5,-19.5 parent: 60 + - uid: 5854 + components: + - type: Transform + pos: 14.5,-11.5 + parent: 60 - uid: 5874 components: - type: Transform @@ -154300,6 +153775,16 @@ entities: - type: Transform pos: 41.5,-11.5 parent: 60 + - uid: 6487 + components: + - type: Transform + pos: 14.5,-10.5 + parent: 60 + - uid: 6489 + components: + - type: Transform + pos: 10.5,-13.5 + parent: 60 - uid: 6509 components: - type: Transform @@ -154320,6 +153805,21 @@ entities: - type: Transform pos: -0.5,16.5 parent: 60 + - uid: 6534 + components: + - type: Transform + pos: 2.5,-9.5 + parent: 60 + - uid: 6535 + components: + - type: Transform + pos: 2.5,-10.5 + parent: 60 + - uid: 6548 + components: + - type: Transform + pos: 14.5,-2.5 + parent: 60 - uid: 6552 components: - type: Transform @@ -154420,6 +153920,11 @@ entities: - type: Transform pos: 44.5,-44.5 parent: 60 + - uid: 7120 + components: + - type: Transform + pos: 10.5,-4.5 + parent: 60 - uid: 7121 components: - type: Transform @@ -154440,6 +153945,11 @@ entities: - type: Transform pos: 11.5,-25.5 parent: 60 + - uid: 7182 + components: + - type: Transform + pos: 7.5,-10.5 + parent: 60 - uid: 7188 components: - type: Transform @@ -155936,11 +155446,6 @@ entities: - type: Transform pos: -1.5,-9.5 parent: 60 - - uid: 18063 - components: - - type: Transform - pos: 8.5,-4.5 - parent: 60 - uid: 18117 components: - type: Transform @@ -156386,11 +155891,6 @@ entities: - type: Transform pos: 28.5,-35.5 parent: 60 - - uid: 23960 - components: - - type: Transform - pos: 14.5,-10.5 - parent: 60 - uid: 23962 components: - type: Transform @@ -157044,16 +156544,16 @@ entities: - type: Transform pos: -67.5,6.5 parent: 60 + - uid: 4283 + components: + - type: Transform + pos: 13.5,-17.5 + parent: 60 - uid: 4297 components: - type: Transform pos: -50.5,-21.5 parent: 60 - - uid: 5863 - components: - - type: Transform - pos: 11.5,-10.5 - parent: 60 - uid: 7250 components: - type: Transform @@ -157383,6 +156883,11 @@ entities: - type: Transform pos: -28.5,-36.5 parent: 60 + - uid: 6488 + components: + - type: Transform + pos: 11.5,-4.5 + parent: 60 - uid: 8738 components: - type: Transform @@ -158516,11 +158021,6 @@ entities: parent: 60 - proto: WindowReinforcedDirectional entities: - - uid: 521 - components: - - type: Transform - pos: 10.5,-9.5 - parent: 60 - uid: 836 components: - type: Transform @@ -158833,12 +158333,6 @@ entities: - type: Transform pos: -14.5,-44.5 parent: 60 - - uid: 7226 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 9.5,-10.5 - parent: 60 - uid: 7436 components: - type: Transform From 69cd61ac2ebcebd0efd316354a51cb2f6c10597c Mon Sep 17 00:00:00 2001 From: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com> Date: Wed, 21 Jan 2026 23:30:08 -0800 Subject: [PATCH 32/60] Tweak traitor deception items (#42510) tweak --- .../Prototypes/Catalog/uplink_catalog.yml | 38 ++++++------------- .../Structures/Storage/Closets/big_boxes.yml | 2 +- 2 files changed, 12 insertions(+), 28 deletions(-) diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index f9d559afbb..773f748e28 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -935,19 +935,6 @@ categories: - UplinkDeception -- type: listing - id: UplinkUltrabrightLantern - name: uplink-ultrabright-lantern-name - description: uplink-ultrabright-lantern-desc - productEntity: LanternFlash - discountCategory: usualDiscounts - discountDownTo: - Telecrystal: 1 - cost: - Telecrystal: 2 - categories: - - UplinkDeception - - type: listing id: UplinkBribe name: uplink-bribe-name @@ -971,20 +958,6 @@ # categories: # - UplinkDeception -- type: listing - id: UplinkDecoyKit - name: uplink-decoy-kit-name - description: uplink-decoy-kit-desc - icon: { sprite: /Textures/Objects/Tools/Decoys/operative_decoy.rsi, state: folded } - productEntity: ClothingBackpackDuffelSyndicateDecoyKitFilled - discountCategory: usualDiscounts - discountDownTo: - Telecrystal: 3 - cost: - Telecrystal: 6 - categories: - - UplinkDeception - - type: listing id: UplinkSyndicateBombFake name: uplink-exploding-syndicate-bomb-fake-name @@ -2034,6 +2007,17 @@ - !type:ListingLimitedStockCondition stock: 3 +- type: listing + id: UplinkDecoyKit + name: uplink-decoy-kit-name + description: uplink-decoy-kit-desc + icon: { sprite: /Textures/Objects/Tools/Decoys/operative_decoy.rsi, state: folded } + productEntity: ClothingBackpackDuffelSyndicateDecoyKitFilled + cost: + Telecrystal: 1 + categories: + - UplinkPointless + # Job Specific - type: listing diff --git a/Resources/Prototypes/Entities/Structures/Storage/Closets/big_boxes.yml b/Resources/Prototypes/Entities/Structures/Storage/Closets/big_boxes.yml index 64069e7c6a..9861bcae69 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Closets/big_boxes.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Closets/big_boxes.yml @@ -70,7 +70,7 @@ - type: Stealth hadOutline: true - type: StealthOnMove - passiveVisibilityRate: -0.37 + passiveVisibilityRate: -1 # very useful for going around the station concealed, if you start jitterstrafing you get seen movementVisibilityRate: 0.20 - type: entity From 1bfe7a0d1136a1d378ce1aac23288335754d7bd8 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Jan 2026 07:46:30 +0000 Subject: [PATCH 33/60] Automatic changelog update --- Resources/Changelog/Changelog.yml | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index cb0993a6f1..f1eca6a617 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: ScarKy0 - changes: - - message: The size of the antique laser pistol and appraisal tool have been reverted - to an L and 1x2 respectfully. - type: Tweak - id: 8935 - time: '2025-09-06T15:13:43.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/40158 - author: ToastEnjoyer changes: - message: On box, fixed a bug where there was a disconnected grid at the tesla @@ -3960,3 +3952,16 @@ id: 9441 time: '2026-01-22T02:43:47.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/42579 +- author: ArtisticRoomba + changes: + - message: Extra-bright lantern has been removed from the traitor uplink. + type: Remove + - message: Stealthbox has been buffed significantly, you'll be able to remain in + stealth for much longer when moving at speed. + type: Tweak + - message: Decoy bundle has been moved to the Useless category and reduced to 1 + TC in the traitor uplink. + type: Tweak + id: 9442 + time: '2026-01-22T07:45:20.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/42510 From 1a0b108bdd3dfb2c6daba1f2a6fc54eaaf917c69 Mon Sep 17 00:00:00 2001 From: ScarKy0 <106310278+ScarKy0@users.noreply.github.com> Date: Thu, 22 Jan 2026 10:44:31 +0100 Subject: [PATCH 34/60] Force-prying crit borgs opens borg panel (#42460) yeah --- .../Lock/BypassLock/Components/BypassLockComponent.cs | 8 +++++++- .../Lock/BypassLock/Systems/BypassLockSystem.cs | 9 ++++++++- .../Entities/Mobs/Cyborgs/base_borg_chassis.yml | 1 + 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Content.Shared/Lock/BypassLock/Components/BypassLockComponent.cs b/Content.Shared/Lock/BypassLock/Components/BypassLockComponent.cs index 38c6275d86..377c12cc6d 100644 --- a/Content.Shared/Lock/BypassLock/Components/BypassLockComponent.cs +++ b/Content.Shared/Lock/BypassLock/Components/BypassLockComponent.cs @@ -21,5 +21,11 @@ public sealed partial class BypassLockComponent : Component /// Amount of time in seconds it takes to bypass /// [DataField] - public TimeSpan BypassDelay = TimeSpan.FromSeconds(5f); + public TimeSpan BypassDelay = TimeSpan.FromSeconds(4f); + + /// + /// Whether the wirepanel should be opened as well, if one exists. + /// + [DataField] + public bool OpenWiresPanel = false; } diff --git a/Content.Shared/Lock/BypassLock/Systems/BypassLockSystem.cs b/Content.Shared/Lock/BypassLock/Systems/BypassLockSystem.cs index 1dcc4ee74a..406e898c59 100644 --- a/Content.Shared/Lock/BypassLock/Systems/BypassLockSystem.cs +++ b/Content.Shared/Lock/BypassLock/Systems/BypassLockSystem.cs @@ -6,6 +6,7 @@ using Content.Shared.Lock.BypassLock.Components; using Content.Shared.Tools; using Content.Shared.Tools.Systems; using Content.Shared.Verbs; +using Content.Shared.Wires; using Robust.Shared.Prototypes; using Robust.Shared.Serialization; @@ -16,6 +17,7 @@ public sealed partial class BypassLockSystem : EntitySystem [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!; [Dependency] private readonly LockSystem _lock = default!; [Dependency] private readonly SharedToolSystem _tool = default!; + [Dependency] private readonly SharedWiresSystem _wires = default!; public override void Initialize() { @@ -32,7 +34,7 @@ public sealed partial class BypassLockSystem : EntitySystem { if (target.Owner == args.User) return; - + if (!_tool.HasQuality(args.Used, target.Comp.BypassingTool) || !_lock.IsLocked(target.Owner)) return; @@ -70,6 +72,11 @@ public sealed partial class BypassLockSystem : EntitySystem return; _lock.Unlock(target, args.User, target.Comp); + + if (TryComp(target, out var wiresPanel) && + TryComp(target, out var bypassLock) && bypassLock.OpenWiresPanel) + _wires.TogglePanel(target, wiresPanel, true, args.User); + } private void OnGetVerb(Entity target, ref GetVerbsEvent args) diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index ed61df6eff..b20116333f 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -247,6 +247,7 @@ flatReductions: Heat: 10 # capable of touching light bulbs and stoves without feeling pain! - type: BypassLock + openWiresPanel: true - type: BypassLockRequiresMobState requiredMobState: - Critical From dc4473942048632ee830911cce51f223d030246a Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Jan 2026 10:00:57 +0000 Subject: [PATCH 35/60] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index f1eca6a617..faa1f4bc67 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: ToastEnjoyer - changes: - - message: On box, fixed a bug where there was a disconnected grid at the tesla - engine spot. - type: Fix - id: 8936 - time: '2025-09-06T16:00:24.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/40161 - author: Dutch-VanDerLinde changes: - message: Some jumpsuits may now be folded to give them an alternate look. @@ -3965,3 +3957,10 @@ id: 9442 time: '2026-01-22T07:45:20.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/42510 +- author: ScarKy0 + changes: + - message: Force-prying crit borgs now also opens their panel. + type: Tweak + id: 9443 + time: '2026-01-22T09:59:49.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/42460 From 8e1145b1fca8bfb6e3b858b54d3146d8de74cc66 Mon Sep 17 00:00:00 2001 From: c4llv07e Date: Thu, 22 Jan 2026 19:37:45 +0300 Subject: [PATCH 36/60] Cargo console rework (retry) (#34052) * Cargo console upgraded * add comment of hardcode * Update Resources/Locale/en-US/cargo/cargo-console-component.ftl Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com> * Update Content.Client/Cargo/UI/CargoConsoleMenu.xaml.cs Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com> * Update Content.Client/Cargo/UI/CargoConsoleOrderMenu.xaml Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com> * Some small technical improvements * More indent * Fix unknown requester name * whitespace cleanup * Small improvement * Add order price to the title * Fix build errors * Port new slip system * Remove unused loc * Some required changes * Add stride * minor code style + update to sheetlets --------- Co-authored-by: VideoKompany <135313844+VlaDOS1408@users.noreply.github.com> Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com> Co-authored-by: Janet Blackquill --- .../CargoOrderConsoleBoundUserInterface.cs | 16 +- Content.Client/Cargo/UI/CargoConsoleMenu.xaml | 304 +++++++++++++----- .../Cargo/UI/CargoConsoleMenu.xaml.cs | 54 +++- .../Cargo/UI/CargoConsoleOrderMenu.xaml | 48 ++- Content.Client/Cargo/UI/CargoOrderRow.xaml | 108 +++++-- Content.Client/Cargo/UI/CargoProductRow.xaml | 58 ++-- .../Cargo/UI/CargoProductRow.xaml.cs | 2 +- .../en-US/cargo/cargo-console-component.ftl | 14 +- 8 files changed, 427 insertions(+), 177 deletions(-) diff --git a/Content.Client/Cargo/BUI/CargoOrderConsoleBoundUserInterface.cs b/Content.Client/Cargo/BUI/CargoOrderConsoleBoundUserInterface.cs index 3bd220bfad..9cd614de14 100644 --- a/Content.Client/Cargo/BUI/CargoOrderConsoleBoundUserInterface.cs +++ b/Content.Client/Cargo/BUI/CargoOrderConsoleBoundUserInterface.cs @@ -70,9 +70,9 @@ namespace Content.Client.Cargo.BUI _menu.OnClose += Close; - _menu.OnItemSelected += (args) => + _menu.OnItemSelected += (row) => { - if (args.Button.Parent is not CargoProductRow row) + if (row == null) return; description.Clear(); @@ -175,23 +175,23 @@ namespace Content.Client.Cargo.BUI return true; } - private void RemoveOrder(ButtonEventArgs args) + private void RemoveOrder(CargoOrderData? order) { - if (args.Button.Parent?.Parent is not CargoOrderRow row || row.Order == null) + if (order == null) return; - SendMessage(new CargoConsoleRemoveOrderMessage(row.Order.OrderId)); + SendMessage(new CargoConsoleRemoveOrderMessage(order.OrderId)); } - private void ApproveOrder(ButtonEventArgs args) + private void ApproveOrder(CargoOrderData? order) { - if (args.Button.Parent?.Parent is not CargoOrderRow row || row.Order == null) + if (order == null) return; if (OrderCount >= OrderCapacity) return; - SendMessage(new CargoConsoleApproveOrderMessage(row.Order.OrderId)); + SendMessage(new CargoConsoleApproveOrderMessage(order.OrderId)); } } } diff --git a/Content.Client/Cargo/UI/CargoConsoleMenu.xaml b/Content.Client/Cargo/UI/CargoConsoleMenu.xaml index 940352dc48..3ecfad94aa 100644 --- a/Content.Client/Cargo/UI/CargoConsoleMenu.xaml +++ b/Content.Client/Cargo/UI/CargoConsoleMenu.xaml @@ -1,86 +1,226 @@ - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -18,9 +29,13 @@ diff --git a/Content.Client/SprayPainter/UI/SprayPainterDecals.xaml.cs b/Content.Client/SprayPainter/UI/SprayPainterDecals.xaml.cs index 64d1f78d3c..66530eba91 100644 --- a/Content.Client/SprayPainter/UI/SprayPainterDecals.xaml.cs +++ b/Content.Client/SprayPainter/UI/SprayPainterDecals.xaml.cs @@ -1,4 +1,4 @@ -using System.Numerics; +using Content.Client.Decals.UI; using Content.Client.Stylesheets; using Content.Shared.Decals; using Robust.Client.AutoGenerated; @@ -8,6 +8,8 @@ using Robust.Client.UserInterface; using Robust.Client.UserInterface.Controls; using Robust.Client.UserInterface.XAML; using Robust.Shared.Prototypes; +using System.Linq; +using System.Numerics; namespace Content.Client.SprayPainter.UI; @@ -21,6 +23,9 @@ public sealed partial class SprayPainterDecals : Control public Action? OnColorChanged; public Action? OnAngleChanged; public Action? OnSnapChanged; + public Action? OnColorPickerToggled; + + private PaletteColorPicker? _palette; private SpriteSystem? _sprite; private string _selectedDecal = string.Empty; @@ -30,14 +35,17 @@ public sealed partial class SprayPainterDecals : Control { RobustXamlLoader.Load(this); - AddAngleButton.OnButtonUp += _ => AngleSpinBox.Value += 90; - SubAngleButton.OnButtonUp += _ => AngleSpinBox.Value -= 90; + AddAngleButton.OnButtonUp += _ => AngleSpinBox.Value = (AngleSpinBox.Value + 90) % 360; + SubAngleButton.OnButtonUp += _ => AngleSpinBox.Value = (AngleSpinBox.Value - 90) % 360; SetZeroAngleButton.OnButtonUp += _ => AngleSpinBox.Value = 0; AngleSpinBox.ValueChanged += args => OnAngleChanged?.Invoke(args.Value); UseCustomColorCheckBox.OnPressed += UseCustomColorCheckBoxOnOnPressed; SnapToTileCheckBox.OnPressed += SnapToTileCheckBoxOnOnPressed; ColorSelector.OnColorChanged += OnColorSelected; + + ColorPalette.OnPressed += ColorPaletteOnPressed; + ColorPicker.OnPressed += args => OnColorPickerToggled?.Invoke(args.Button.Pressed); } private void UseCustomColorCheckBoxOnOnPressed(BaseButton.ButtonEventArgs _) @@ -147,6 +155,7 @@ public sealed partial class SprayPainterDecals : Control public void SetSelectedDecal(string name) { _selectedDecal = name; + SelectedDecalName.Text = name; if (_sprite is null) return; @@ -171,4 +180,35 @@ public sealed partial class SprayPainterDecals : Control { SnapToTileCheckBox.Pressed = snap; } + + private void ColorPaletteOnPressed(BaseButton.ButtonEventArgs _) + { + // Code copied from other implementations of `PaletteColorPicker`. + if (_palette is null) + { + _palette = new PaletteColorPicker(); + _palette.OpenCenteredLeft(); + _palette.PaletteList.OnItemSelected += args => + { + var color = (args.ItemList.GetSelected().First().Metadata as Color?)!.Value; + ColorSelector.Color = color; + OnColorSelected(color); + }; + return; + } + + if (_palette.IsOpen) + { + _palette.Close(); + } + else + { + _palette.Open(); + } + } + + public void SetColorPicker(bool enabled) + { + ColorPicker.Pressed = enabled; + } } diff --git a/Content.Client/SprayPainter/UI/SprayPainterWindow.xaml.cs b/Content.Client/SprayPainter/UI/SprayPainterWindow.xaml.cs index eb1218ad67..2f72796043 100644 --- a/Content.Client/SprayPainter/UI/SprayPainterWindow.xaml.cs +++ b/Content.Client/SprayPainter/UI/SprayPainterWindow.xaml.cs @@ -30,6 +30,7 @@ public sealed partial class SprayPainterWindow : DefaultWindow public event Action? OnDecalColorChanged; public event Action? OnDecalAngleChanged; public event Action? OnDecalSnapChanged; + public event Action? OnDecalColorPickerToggled; // Pipe color data private ItemList _colorList = default!; @@ -195,6 +196,7 @@ public sealed partial class SprayPainterWindow : DefaultWindow _sprayPainterDecals.OnColorChanged += color => OnDecalColorChanged?.Invoke(color); _sprayPainterDecals.OnAngleChanged += angle => OnDecalAngleChanged?.Invoke(angle); _sprayPainterDecals.OnSnapChanged += snap => OnDecalSnapChanged?.Invoke(snap); + _sprayPainterDecals.OnColorPickerToggled += toggle => OnDecalColorPickerToggled?.Invoke(toggle); Tabs.AddChild(_sprayPainterDecals); TabContainer.SetTabTitle(_sprayPainterDecals, Loc.GetString("spray-painter-tab-category-decals")); @@ -298,7 +300,12 @@ public sealed partial class SprayPainterWindow : DefaultWindow if (_sprayPainterDecals != null) _sprayPainterDecals.SetSnap(snap); } - # endregion + + public void SetDecalColorPicker(bool colorPickerEnabled) + { + _sprayPainterDecals?.SetColorPicker(colorPickerEnabled); + } + #endregion } public record SpriteListData(string Group, string Style, EntProtoId Prototype, int SelectedIndex) : ListData; diff --git a/Content.Server/SprayPainter/SprayPainterSystem.cs b/Content.Server/SprayPainter/SprayPainterSystem.cs index f00ae1d7dd..a4c631db41 100644 --- a/Content.Server/SprayPainter/SprayPainterSystem.cs +++ b/Content.Server/SprayPainter/SprayPainterSystem.cs @@ -15,7 +15,8 @@ using Content.Shared.SprayPainter; using Content.Shared.SprayPainter.Components; using Robust.Server.Audio; using Robust.Server.GameObjects; -using Robust.Shared.Prototypes; +using System.Linq; +using System.Numerics; namespace Content.Server.SprayPainter; @@ -48,7 +49,16 @@ public sealed class SprayPainterSystem : SharedSprayPainterSystem /// private void OnFloorAfterInteract(Entity ent, ref AfterInteractEvent args) { - if (args.Handled || !args.CanReach || args.Target != null) + if (args.Handled || args.Target != null) + return; + + if (ent.Comp.ColorPickerEnabled) + { + PickColor(ent, ref args); + return; + } + + if (!args.CanReach) return; // Includes both off and all other don't cares @@ -83,7 +93,7 @@ public sealed class SprayPainterSystem : SharedSprayPainterSystem return; } - var decals = _decals.GetDecalsInRange(grid, position.Position, validDelegate: IsDecalRemovable); + var decals = _decals.GetDecalsInRange(grid, position.Position, validDelegate: IsDecalValid); if (decals.Count <= 0) { _popup.PopupEntity(Loc.GetString("spray-painter-interact-nothing-to-remove"), args.User, args.User); @@ -104,10 +114,9 @@ public sealed class SprayPainterSystem : SharedSprayPainterSystem } /// - /// Handles drawing decals when a spray painter is used to interact with the floor. - /// Spray painter must have decal painting enabled and enough charges of paint to paint on the floor. + /// Returns whether is valid to interact with when a spray painter is used to interact with the floor. /// - private bool IsDecalRemovable(Decal decal) + private bool IsDecalValid(Decal decal) { if (!Proto.TryIndex(decal.Id, out var decalProto)) return false; @@ -189,4 +198,26 @@ public sealed class SprayPainterSystem : SharedSprayPainterSystem args.Handled = DoAfter.TryStartDoAfter(doAfterEventArgs); } + + private void PickColor(Entity ent, ref AfterInteractEvent args) + { + if (!args.ClickLocation.IsValid(EntityManager) || _transform.GetGrid(args.ClickLocation) is not { } grid) + return; + + var clickPos = args.ClickLocation.Position; + var decals = _decals.GetDecalsInRange(grid, clickPos, validDelegate: IsDecalValid); + if (decals.Count == 0) + { + _popup.PopupEntity(Loc.GetString("spray-painter-interact-no-color-pick"), args.User, args.User); + return; + } + + var closestDecal = decals.MinBy(d => Vector2.Distance(d.Decal.Coordinates, clickPos)).Decal; + + _popup.PopupEntity(Loc.GetString("spray-painter-interact-color-picked", ("id", closestDecal.Id)), args.User, args.User); + + ent.Comp.SelectedDecalColor = closestDecal.Color; + ent.Comp.ColorPickerEnabled = false; + Dirty(ent); + } } diff --git a/Content.Shared/SprayPainter/Components/SprayPainterComponent.cs b/Content.Shared/SprayPainter/Components/SprayPainterComponent.cs index b9a7057347..6b3e36bef2 100644 --- a/Content.Shared/SprayPainter/Components/SprayPainterComponent.cs +++ b/Content.Shared/SprayPainter/Components/SprayPainterComponent.cs @@ -105,6 +105,12 @@ public sealed partial class SprayPainterComponent : Component /// [DataField] public SoundSpecifier SoundSwitchDecalMode = new SoundPathSpecifier("/Audio/Machines/quickbeep.ogg", AudioParams.Default.WithVolume(1.5f)); + + /// + /// Whether the decal color picker is currently active. + /// + [DataField, AutoNetworkedField] + public bool ColorPickerEnabled = false; } /// diff --git a/Content.Shared/SprayPainter/SharedSprayPainterSystem.cs b/Content.Shared/SprayPainter/SharedSprayPainterSystem.cs index d1f19d0c25..a3eb26a892 100644 --- a/Content.Shared/SprayPainter/SharedSprayPainterSystem.cs +++ b/Content.Shared/SprayPainter/SharedSprayPainterSystem.cs @@ -53,6 +53,7 @@ public abstract class SharedSprayPainterSystem : EntitySystem subs.Event(OnSetDecalColor); subs.Event(OnSetDecalAngle); subs.Event(OnSetDecalSnap); + subs.Event(OnSetDecalColorPicker); }); } @@ -300,6 +301,16 @@ public abstract class SharedSprayPainterSystem : EntitySystem UpdateUi(ent); } + /// + /// Enables or disables the decal colour picker. + /// + private void OnSetDecalColorPicker(Entity ent, ref SprayPainterSetDecalColorPickerMessage args) + { + ent.Comp.ColorPickerEnabled = args.Toggle; + Dirty(ent); + UpdateUi(ent); + } + /// /// Sets the decal to paint on the ground. /// diff --git a/Content.Shared/SprayPainter/SprayPainterEvents.cs b/Content.Shared/SprayPainter/SprayPainterEvents.cs index db9de9c278..806cfd2888 100644 --- a/Content.Shared/SprayPainter/SprayPainterEvents.cs +++ b/Content.Shared/SprayPainter/SprayPainterEvents.cs @@ -56,6 +56,12 @@ public sealed class SprayPainterSetPipeColorMessage(string? key) : BoundUserInte public readonly string? Key = key; } +[Serializable, NetSerializable] +public sealed class SprayPainterSetDecalColorPickerMessage(bool toggle) : BoundUserInterfaceMessage +{ + public bool Toggle = toggle; +} + [Serializable, NetSerializable] public sealed partial class SprayPainterDoAfterEvent : DoAfterEvent { diff --git a/Resources/Locale/en-US/spray-painter/spray-painter.ftl b/Resources/Locale/en-US/spray-painter/spray-painter.ftl index dc54c5c8b8..18c8c36f90 100644 --- a/Resources/Locale/en-US/spray-painter/spray-painter.ftl +++ b/Resources/Locale/en-US/spray-painter/spray-painter.ftl @@ -5,6 +5,8 @@ spray-painter-ammo-after-interact-refilled = You refill the spray painter. spray-painter-interact-no-charges = Not enough paint left. spray-painter-interact-nothing-to-remove = Nothing to remove! +spray-painter-interact-no-color-pick = Can't find a color to pick! +spray-painter-interact-color-picked = Picked color from '{$id}'. spray-painter-on-examined-painted-message = It seems to have been freshly painted. spray-painter-style-not-available = Cannot apply the selected style to this object. From 1e0e1edfbda5c73c850c8da7c9c2d9868081dc20 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Jan 2026 18:04:01 +0000 Subject: [PATCH 41/60] Automatic changelog update --- Resources/Changelog/Changelog.yml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 054a7351be..9d13058634 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,13 +1,4 @@ Entries: -- author: FairlySadPanda - changes: - - message: Removing displaced markings no longer makes the renderer give up. - type: Fix - - message: Vulpkanin can once again use normal human hair. - type: Fix - id: 8939 - time: '2025-09-07T14:36:38.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/40171 - author: ArtisticRoomba changes: - message: Atmospherics Delta-Pressure now has a short guidebook entry. You can @@ -3965,3 +3956,13 @@ id: 9445 time: '2026-01-22T17:46:58.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/39161 +- author: SabreML + changes: + - message: Added a colour picker and colour palette selector to the Spraypainter's + decal menu. + type: Add + - message: Made a few other tweaks to the Spraypainter's UI as well. + type: Tweak + id: 9446 + time: '2026-01-22T18:02:54.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/41943 From 6d4f622977d9049a545b076d102950d3a61ef823 Mon Sep 17 00:00:00 2001 From: eoineoineoin Date: Thu, 22 Jan 2026 17:56:50 +0000 Subject: [PATCH 42/60] Character editor style fixes (#41278) * Restore pre-StyleNano element height * Add style for HelpButton to sheetlet --------- Co-authored-by: Janet Blackquill --- Content.Client/Lobby/UI/CharacterSetupGui.xaml | 3 +-- Content.Client/Stylesheets/Sheetlets/ButtonSheetlet.cs | 6 ++++++ Content.Client/Stylesheets/StyleClass.cs | 1 + Content.Client/Stylesheets/StyleNano.cs | 6 ------ 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Content.Client/Lobby/UI/CharacterSetupGui.xaml b/Content.Client/Lobby/UI/CharacterSetupGui.xaml index 09ed989fc6..ab264deb34 100644 --- a/Content.Client/Lobby/UI/CharacterSetupGui.xaml +++ b/Content.Client/Lobby/UI/CharacterSetupGui.xaml @@ -28,8 +28,7 @@ Text="{Loc 'character-setup-gui-character-setup-close-button'}" StyleClasses="ButtonBig"/> - - + diff --git a/Content.Client/Stylesheets/Sheetlets/ButtonSheetlet.cs b/Content.Client/Stylesheets/Sheetlets/ButtonSheetlet.cs index 51ba206392..8b92e1410a 100644 --- a/Content.Client/Stylesheets/Sheetlets/ButtonSheetlet.cs +++ b/Content.Client/Stylesheets/Sheetlets/ButtonSheetlet.cs @@ -19,6 +19,7 @@ public sealed class ButtonSheetlet : Sheetlet where T : PalettedStylesheet var crossTex = sheet.GetTextureOr(iconCfg.CrossIconPath, NanotrasenStylesheet.TextureRoot); var refreshTex = sheet.GetTextureOr(iconCfg.RefreshIconPath, NanotrasenStylesheet.TextureRoot); + var helpTex = sheet.GetTextureOr(iconCfg.HelpIconPath, NanotrasenStylesheet.TextureRoot); var rules = new List { @@ -56,6 +57,11 @@ public sealed class ButtonSheetlet : Sheetlet where T : PalettedStylesheet .Class(StyleClass.RefreshButton) .Prop(TextureButton.StylePropertyTexture, refreshTex), + // Help button + E() + .Class(StyleClass.HelpButton) + .Prop(TextureButton.StylePropertyTexture, helpTex), + // Ensure labels in buttons are aligned. E -/// -/// public enum HandLocation : byte { - Left, + Right, Middle, - Right -} - -/// -/// What side of the UI a hand is on. -/// -/// -/// -public enum HandUILocation : byte -{ - Left, - Right -} - -/// -/// Helper functions for working with . -/// -public static class HandLocationExt -{ - /// - /// Convert a into the appropriate . - /// This maps "middle" hands to . - /// - public static HandUILocation GetUILocation(this HandLocation location) - { - return location switch - { - HandLocation.Left => HandUILocation.Left, - HandLocation.Middle => HandUILocation.Right, - HandLocation.Right => HandUILocation.Right, - _ => throw new ArgumentOutOfRangeException(nameof(location), location, null) - }; - } + Left } diff --git a/Content.Shared/Hands/EntitySystems/SharedHandsSystem.cs b/Content.Shared/Hands/EntitySystems/SharedHandsSystem.cs index 2060ee892f..75d2b3ba01 100644 --- a/Content.Shared/Hands/EntitySystems/SharedHandsSystem.cs +++ b/Content.Shared/Hands/EntitySystems/SharedHandsSystem.cs @@ -90,6 +90,8 @@ public abstract partial class SharedHandsSystem ent.Comp.Hands.Add(handName, hand); ent.Comp.SortedHands.Add(handName); + // we use LINQ + ToList instead of the list sort because it's a stable sort vs the list sort + ent.Comp.SortedHands = ent.Comp.SortedHands.OrderBy(handId => ent.Comp.Hands[handId].Location).ToList(); Dirty(ent); OnPlayerAddHand?.Invoke((ent, ent.Comp), handName, hand.Location); From dfeb9f6bd308e8bd4ddea11e4fae29d6776225cd Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Jan 2026 21:48:45 +0000 Subject: [PATCH 48/60] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 525465c975..08d03f31f0 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Orbitsystem - changes: - - message: Diona sap can now trigger artifact nodes that require blood. - type: Fix - id: 8942 - time: '2025-09-08T13:56:59.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/40211 - author: Centronias changes: - message: Derelict Mediborgs can determine solution contents and see mob health @@ -3965,3 +3958,10 @@ id: 9448 time: '2026-01-22T21:14:52.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/42529 +- author: sowelipililimute + changes: + - message: Hands will no longer sometimes display in the wrong order. + type: Fix + id: 9449 + time: '2026-01-22T21:47:37.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/42534 From 5d2988d5ff609cf84e686624a474c39256ee99fd Mon Sep 17 00:00:00 2001 From: deathride58 Date: Thu, 22 Jan 2026 17:15:01 -0500 Subject: [PATCH 49/60] Grappling rework - Grappling hooks are now physics-driven (#42409) * Grappling rework - Grappling hooks are now physics-based * still have no idea wtf is going on with portals but fixed a few bugs + cleanup * bonus fixes + prep for optional-but-recommended engine PR * dropkicking a stray comment outta here * makes the impulses actually take into account the fucking relays, makes reeling cancel if the rope's already too short, and tweaks values * reviews + cleanup + makes ungrapple behavior a bit more consistent joint removal was removed from ungrapple because it mispredicts either way, and breaks grappling hooks attached to the grappling gun (always good to leave possibilities like that open) * adds a hack to work around grids not caring about waking cross-grid joints * makes use of dirtyfield(), defenestrates magic number * y'know it'd probably be better if we were like actually awake before we made commits * null-coalesce instead of if statement * two changes * dont datafield and fix up for sound overrides --------- Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com> --- .../Weapons/Misc/GrapplingGunSystem.cs | 10 - .../Systems/SharedPortalSystem.cs | 7 + .../Weapons/Misc/SharedGrapplingGunSystem.cs | 194 +++++++++++++----- .../Components/GrapplingGunComponent.cs | 88 +++++++- 4 files changed, 227 insertions(+), 72 deletions(-) diff --git a/Content.Client/Weapons/Misc/GrapplingGunSystem.cs b/Content.Client/Weapons/Misc/GrapplingGunSystem.cs index df20042b4b..082dff999f 100644 --- a/Content.Client/Weapons/Misc/GrapplingGunSystem.cs +++ b/Content.Client/Weapons/Misc/GrapplingGunSystem.cs @@ -32,16 +32,6 @@ public sealed class GrapplingGunSystem : SharedGrapplingGunSystem if (!TryComp(handUid, out var grappling)) return; - if (!TryComp(handUid, out var jointComp) || - !jointComp.GetJoints.TryGetValue(GrapplingJoint, out var joint) || - joint is not DistanceJoint distance) - { - return; - } - - if (distance.MaxLength <= distance.MinLength) - return; - var reelKey = _input.CmdStates.GetState(EngineKeyFunctions.UseSecondary) == BoundKeyState.Down; if (!TryComp(local, out var combatMode) || diff --git a/Content.Shared/Teleportation/Systems/SharedPortalSystem.cs b/Content.Shared/Teleportation/Systems/SharedPortalSystem.cs index 3ab703704a..473a7f9fb9 100644 --- a/Content.Shared/Teleportation/Systems/SharedPortalSystem.cs +++ b/Content.Shared/Teleportation/Systems/SharedPortalSystem.cs @@ -5,12 +5,14 @@ using Content.Shared.Movement.Pulling.Systems; using Content.Shared.Popups; using Content.Shared.Projectiles; using Content.Shared.Teleportation.Components; +using Content.Shared.Weapons.Misc; using Content.Shared.Verbs; using Robust.Shared.Audio.Systems; using Robust.Shared.Map; using Robust.Shared.Network; using Robust.Shared.Physics.Dynamics; using Robust.Shared.Physics.Events; +using Robust.Shared.Physics.Systems; using Robust.Shared.Player; using Robust.Shared.Random; using Robust.Shared.Utility; @@ -31,6 +33,8 @@ public abstract class SharedPortalSystem : EntitySystem [Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly PullingSystem _pulling = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly SharedGrapplingGunSystem _grappling = default!; + [Dependency] private readonly SharedJointSystem _joints = default!; private const string PortalFixture = "portalFixture"; private const string ProjectileFixture = "projectile"; @@ -105,6 +109,9 @@ public abstract class SharedPortalSystem : EntitySystem _pulling.TryStopPull(pullerComp.Pulling.Value, subjectPulling); } + // also break grapple joints + _joints.RemoveJoint(subject, SharedGrapplingGunSystem.GrapplingJoint); + // if they came from another portal, just return and wait for them to exit the portal if (HasComp(subject)) { diff --git a/Content.Shared/Weapons/Misc/SharedGrapplingGunSystem.cs b/Content.Shared/Weapons/Misc/SharedGrapplingGunSystem.cs index 47e726b0e7..b0afbfd2ca 100644 --- a/Content.Shared/Weapons/Misc/SharedGrapplingGunSystem.cs +++ b/Content.Shared/Weapons/Misc/SharedGrapplingGunSystem.cs @@ -9,9 +9,11 @@ using Content.Shared.Projectiles; using Content.Shared.Weapons.Ranged.Components; using Content.Shared.Weapons.Ranged.Systems; using Robust.Shared.Audio.Systems; +using Robust.Shared.Containers; using Robust.Shared.Network; using Robust.Shared.Physics; using Robust.Shared.Physics.Components; +using Robust.Shared.Physics.Controllers; using Robust.Shared.Physics.Dynamics.Joints; using Robust.Shared.Physics.Systems; using Robust.Shared.Serialization; @@ -19,9 +21,10 @@ using Robust.Shared.Timing; namespace Content.Shared.Weapons.Misc; -public abstract class SharedGrapplingGunSystem : EntitySystem +public abstract class SharedGrapplingGunSystem : VirtualController { [Dependency] protected readonly IGameTiming Timing = default!; + [Dependency] private readonly IEntityManager _entities = default!; [Dependency] private readonly INetManager _netManager = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; @@ -29,12 +32,13 @@ public abstract class SharedGrapplingGunSystem : EntitySystem [Dependency] private readonly SharedJointSystem _joints = default!; [Dependency] private readonly SharedGunSystem _gun = default!; [Dependency] private readonly SharedPhysicsSystem _physics = default!; + [Dependency] private readonly SharedTransformSystem _transform = default!; + [Dependency] private readonly SharedContainerSystem _container = default!; public const string GrapplingJoint = "grappling"; public override void Initialize() { - base.Initialize(); SubscribeLocalEvent(OnGrappleCollide); SubscribeLocalEvent(OnGrappleJointRemoved); SubscribeLocalEvent(OnWeightlessMove); @@ -44,6 +48,9 @@ public abstract class SharedGrapplingGunSystem : EntitySystem SubscribeLocalEvent(OnGrapplingShot); SubscribeLocalEvent(OnGunActivate); SubscribeLocalEvent(OnGrapplingDeselected); + + UpdatesBefore.Add(typeof(SharedJointSystem)); // We want to run before joints are solved + base.Initialize(); } private void OnGrappleJointRemoved(EntityUid uid, GrapplingProjectileComponent component, JointRemovedEvent args) @@ -62,7 +69,7 @@ public abstract class SharedGrapplingGunSystem : EntitySystem //todo: this doesn't actually support multigrapple // At least show the visuals. component.Projectile = shotUid.Value; - Dirty(uid, component); + DirtyField(uid, component, nameof(GrapplingGunComponent.Projectile)); var visuals = EnsureComp(shotUid.Value); visuals.Sprite = component.RopeSprite; visuals.Target = uid; @@ -71,7 +78,6 @@ public abstract class SharedGrapplingGunSystem : EntitySystem TryComp(uid, out var appearance); _appearance.SetData(uid, SharedTetherGunSystem.TetherVisualsStatus.Key, false, appearance); - Dirty(uid, component); } private void OnGrapplingDeselected(EntityUid uid, GrapplingGunComponent component, HandDeselectedEvent args) @@ -115,91 +121,160 @@ public abstract class SharedGrapplingGunSystem : EntitySystem } } - private void OnGunActivate(EntityUid uid, GrapplingGunComponent component, ActivateInWorldEvent args) + /// + /// Ungrapples the grappling hook, destroying the hook and severing the joint + /// + /// Entity for the grappling gun + /// Whether to play the sound for the rope breaking + /// The user responsible for the ungrapple. Optional + public void Ungrapple(Entity grapple, bool isBreak, EntityUid? user = null) { - if (!Timing.IsFirstTimePredicted || args.Handled || !args.Complex || component.Projectile is not { } projectile) + if (!Timing.IsFirstTimePredicted || grapple.Comp.Projectile is not { } projectile) return; - _audio.PlayPredicted(component.CycleSound, uid, args.User); - _appearance.SetData(uid, SharedTetherGunSystem.TetherVisualsStatus.Key, true); + if(isBreak) + _audio.PlayPredicted(grapple.Comp.BreakSound, grapple.Owner, user); + + _appearance.SetData(grapple.Owner, SharedTetherGunSystem.TetherVisualsStatus.Key, true); if (_netManager.IsServer) QueueDel(projectile); - component.Projectile = null; - SetReeling(uid, component, false, args.User); - _gun.ChangeBasicEntityAmmoCount(uid, 1); + SetReeling(grapple.Owner, grapple.Comp, false, user); + grapple.Comp.Projectile = null; + DirtyField(grapple.Owner, grapple.Comp, nameof(GrapplingGunComponent.Projectile)); + _gun.ChangeBasicEntityAmmoCount(grapple.Owner, 1); + } + + private void OnGunActivate(EntityUid uid, GrapplingGunComponent component, ActivateInWorldEvent args) + { + if (!Timing.IsFirstTimePredicted || args.Handled || !args.Complex) + return; + + _audio.PlayPredicted(component.CycleSound, uid, args.User); + Ungrapple((uid, component), false, args.User); args.Handled = true; } private void SetReeling(EntityUid uid, GrapplingGunComponent component, bool value, EntityUid? user) { + if (TryComp(uid, out var jointComp) && + jointComp.GetJoints.TryGetValue(GrapplingJoint, out var joint) && + joint is DistanceJoint distance) + { + if (distance.MaxLength <= distance.MinLength + component.RopeFullyReeledMargin) + value = false; + } + if (component.Reeling == value) return; if (value) { - if (Timing.IsFirstTimePredicted) - component.Stream = _audio.PlayPredicted(component.ReelSound, uid, user)?.Entity; + // We null-coalesce here because playing the sound again will cause it to become eternally stuck playing + component.Stream = _audio.PlayPredicted(component.ReelSound, uid, user)?.Entity ?? component.Stream; } - else + else if (!value && component.Stream.HasValue) { - if (Timing.IsFirstTimePredicted) - { - component.Stream = _audio.Stop(component.Stream); - } + component.Stream = _audio.Stop(component.Stream); } component.Reeling = value; - Dirty(uid, component); + + DirtyField(uid, component, nameof(GrapplingGunComponent.Reeling)); } - public override void Update(float frameTime) + public override void UpdateBeforeSolve(bool prediction, float frameTime) { - base.Update(frameTime); + base.UpdateBeforeSolve(prediction, frameTime); - var query = EntityQueryEnumerator(); + var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var grappling)) + while (query.MoveNext(out var uid, out var grappling, out var jointComp)) { + if (!jointComp.GetJoints.TryGetValue(GrapplingJoint, out var joint) || + joint is not DistanceJoint distance || + !_entities.TryGetComponent(joint.BodyAUid, out var hookJointComp)) + { + if (_netManager.IsServer) // Client might not receive the joint due to PVS culling, so lets not spam them with 23895739 mispredicted ungrapples + Ungrapple((uid, grappling), true); + continue; + } + + // If the joint breaks, it gets disabled + if (distance.Enabled == false) + { + Ungrapple((uid, grappling), true); + continue; + } + + var physicalGrapple = jointComp.Relay.HasValue ? jointComp.Relay.Value : joint.BodyBUid; + var physicalHook = hookJointComp.Relay.HasValue ? hookJointComp.Relay.Value : joint.BodyAUid; + + // HACK: preventing both ends of the grappling hook from sleeping if neither are on the same grid, so that grid movement works as expected + if (_transform.GetGrid(physicalHook) != _transform.GetGrid(physicalGrapple)) + { + _physics.WakeBody(physicalHook); + _physics.WakeBody(physicalGrapple); + } + // END OF HACK + + var bodyAWorldPos = _transform.GetWorldPosition(physicalHook); + var bodyBWorldPos = _transform.GetWorldPosition(physicalGrapple); + + // The solver does not handle setting the rope's length, but we still need to work with a copy of it to prevent jank. + var ropeLength = (bodyAWorldPos - bodyBWorldPos).Length(); + + // Rope should just break, instantly, if the user is teleported past its max length + if (ropeLength >= distance.MaxLength + grappling.RopeMargin) + { + Ungrapple((uid, grappling), true); + continue; + } + if (!grappling.Reeling) { - if (Timing.IsFirstTimePredicted) - { - // Just in case. + // Just in case. + if (grappling.Stream.HasValue && Timing.IsFirstTimePredicted) grappling.Stream = _audio.Stop(grappling.Stream); - } continue; } - if (!TryComp(uid, out var jointComp) || - !jointComp.GetJoints.TryGetValue(GrapplingJoint, out var joint) || - joint is not DistanceJoint distance) + + // TODO: Contracting DistanceJoints should be in engine + if (distance.MaxLength >= ropeLength + grappling.RopeMargin) + { + distance.MaxLength = MathF.Max(distance.MinLength + grappling.RopeMargin, distance.MaxLength - grappling.ReelRate * frameTime); + distance.MaxLength = MathF.Max(ropeLength + grappling.RopeMargin, distance.MaxLength); + ropeLength = MathF.Min(distance.MaxLength, ropeLength); + + distance.Length = ropeLength; + } + + if (ropeLength <= distance.MinLength + grappling.RopeFullyReeledMargin) { SetReeling(uid, grappling, false, null); - continue; } - - // TODO: This should be on engine. - distance.MaxLength = MathF.Max(distance.MinLength, distance.MaxLength - grappling.ReelRate * frameTime); - distance.Length = MathF.Min(distance.MaxLength, distance.Length); - - _physics.WakeBody(joint.BodyAUid); - _physics.WakeBody(joint.BodyBUid); - - if (jointComp.Relay != null) + else if (ropeLength >= distance.MaxLength - grappling.RopeMargin) { - _physics.WakeBody(jointComp.Relay.Value); + var targetDirection = (bodyAWorldPos - bodyBWorldPos).Normalized(); + + var grapplerUidA = _container.TryGetOuterContainer(physicalHook, Transform(physicalHook), out var containerA) ? containerA.Owner : physicalHook; + var grapplerBodyA = Comp(grapplerUidA); + + var massFactorA = MathF.Min(grapplerBodyA.InvMass * grappling.ReelMassCoefficient, 1f); + _physics.ApplyLinearImpulse(grapplerUidA, targetDirection * grappling.ReelForce * massFactorA * frameTime * -1, body: grapplerBodyA); + + var grapplerUidB = _container.TryGetOuterContainer(physicalGrapple, Transform(physicalGrapple), out var containerB) ? containerB.Owner : physicalGrapple; + var grapplerBodyB = Comp(grapplerUidB); + + var massFactorB = MathF.Min(grapplerBodyB.InvMass * grappling.ReelMassCoefficient, 1f); + _physics.ApplyLinearImpulse(grapplerUidB, targetDirection * grappling.ReelForce * massFactorB * frameTime, body: grapplerBodyB); } Dirty(uid, jointComp); - - if (distance.MaxLength.Equals(distance.MinLength)) - { - SetReeling(uid, grappling, false, null); - } } } @@ -224,17 +299,28 @@ public abstract class SharedGrapplingGunSystem : EntitySystem private void OnGrappleCollide(EntityUid uid, GrapplingProjectileComponent component, ref ProjectileEmbedEvent args) { - if (!Timing.IsFirstTimePredicted || !args.Weapon.HasValue) + if (!Timing.IsFirstTimePredicted || !args.Weapon.HasValue || !_entities.TryGetComponent(args.Weapon, out var grapple)) return; - var jointComp = EnsureComp(uid); + var grapplePos = _transform.GetWorldPosition(args.Weapon.Value); + var hookPos = _transform.GetWorldPosition(uid); + if ((grapplePos - hookPos).Length() >= grapple.RopeMaxLength) + { + Ungrapple((args.Weapon.Value, grapple), true); + return; + } + var joint = _joints.CreateDistanceJoint(uid, args.Weapon.Value, id: GrapplingJoint); - joint.MaxLength = joint.Length + 0.2f; - joint.Stiffness = 1f; - joint.MinLength = 1f; // Length of a tile to prevent pulling yourself into / through walls - // Setting velocity directly for mob movement fucks this so need to make them aware of it. - // joint.Breakpoint = 4000f; - Dirty(uid, jointComp); + joint.MaxLength = joint.Length + grapple.RopeMargin; + joint.Stiffness = grapple.RopeStiffness; + joint.MinLength = grapple.RopeMinLength; // Length of a tile to prevent pulling yourself into / through walls + joint.Breakpoint = grapple.RopeBreakPoint; + + var jointCompHook = _entities.GetComponent(uid); // we use get here because if the component doesn't exist then something has fucked up bigtime + var jointCompGrapple = _entities.GetComponent(args.Weapon.Value); + + _joints.SetRelay(uid, args.Embedded, jointCompHook); + _joints.RefreshRelay(args.Weapon.Value, jointCompGrapple); } [Serializable, NetSerializable] diff --git a/Content.Shared/Weapons/Ranged/Components/GrapplingGunComponent.cs b/Content.Shared/Weapons/Ranged/Components/GrapplingGunComponent.cs index 553f0c10f3..39d310cd4f 100644 --- a/Content.Shared/Weapons/Ranged/Components/GrapplingGunComponent.cs +++ b/Content.Shared/Weapons/Ranged/Components/GrapplingGunComponent.cs @@ -5,36 +5,108 @@ using Robust.Shared.Utility; namespace Content.Shared.Weapons.Ranged.Components; // I have tried to make this as generic as possible but "delete joint on cycle / right-click reels in" is very specific behavior. -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(fieldDeltas: true)] public sealed partial class GrapplingGunComponent : Component { /// - /// Hook's reeling force and speed - the higher the number, the faster the hook rewinds. + /// Hook's reeling speed when there's no resistance. /// [DataField, AutoNetworkedField] public float ReelRate = 2.5f; - [DataField("jointId"), AutoNetworkedField] - public string Joint = string.Empty; + /// + /// Amount of force to use while reeling. This is made extremely small when compensating for frametime + /// Don't be afraid to use large numbers, but do beware that this becomes fast as fuck in frictionless conditions such as space + /// + [DataField, AutoNetworkedField] + public float ReelForce = 4000f; + /// + /// Highest mass that can be reeled in without resistance + /// + [DataField, AutoNetworkedField] + public float ReelMassCoefficient = 80f; + + /// + /// Margin between max length and the grappling gun when reeling the grappling hook in. + /// + [DataField, AutoNetworkedField] + public float RopeMargin = 0.2f; + + /// + /// Margin from the min length for the rope to be considered fully reeled-in, preventing it from being reeled in further + /// + [DataField, AutoNetworkedField] + public float RopeFullyReeledMargin = 0.22f; + + /// + /// Minimum length for the grappling hook's rope + /// + [DataField, AutoNetworkedField] + public float RopeMinLength = 1f; + + /// + /// Maximum length the grapple can actually be. + /// If this is too large, then the rope gets culled out of PVS, causing issues + /// + [DataField, AutoNetworkedField] + public float? RopeMaxLength; + + /// + /// Stiffness of the rope, in N/m + /// + [DataField, AutoNetworkedField] + public float RopeStiffness = 1f; + + /// + /// Amount of force, in newtons, needed to snap the rope + /// + [DataField, AutoNetworkedField] + public float RopeBreakPoint = 50000f; + + /// + /// Entity UID of the grapple's hook + /// [DataField, AutoNetworkedField] public EntityUid? Projectile; - [ViewVariables(VVAccess.ReadWrite), DataField("reeling"), AutoNetworkedField] + /// + /// Whether or not the grappling gun is currently reeling in + /// + [DataField, AutoNetworkedField] public bool Reeling; - [ViewVariables(VVAccess.ReadWrite), DataField("reelSound"), AutoNetworkedField] + /// + /// Looping sound used while the grappling gun is reeling + /// + [DataField, AutoNetworkedField] public SoundSpecifier? ReelSound = new SoundPathSpecifier("/Audio/Weapons/reel.ogg") { Params = AudioParams.Default.WithLoop(true) }; - [ViewVariables(VVAccess.ReadWrite), DataField("cycleSound"), AutoNetworkedField] + /// + /// Sound that plays when the user cycles the grappling gun by using it in their hand + /// + [DataField, AutoNetworkedField] public SoundSpecifier? CycleSound = new SoundPathSpecifier("/Audio/Weapons/Guns/MagIn/kinetic_reload.ogg"); - [DataField, ViewVariables] + /// + /// Sound that plays when the rope breaks due to physics + /// + [DataField, AutoNetworkedField] + public SoundSpecifier? BreakSound = new SoundPathSpecifier("/Audio/Items/snap.ogg"); + + /// + /// Sprite specifier for the rope, used to visualize the joint + /// + [DataField, AutoNetworkedField] public SpriteSpecifier RopeSprite = new SpriteSpecifier.Rsi(new ResPath("Objects/Weapons/Guns/Launchers/grappling_gun.rsi"), "rope"); + /// + /// Entity UID for the audio stream, which plays . + /// + [ViewVariables] public EntityUid? Stream; } From 39e2b8a9a62d433d3c2801d1ab915a3c4e7cadd2 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Jan 2026 22:31:55 +0000 Subject: [PATCH 50/60] Automatic changelog update --- Resources/Changelog/Changelog.yml | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 08d03f31f0..eb0a9d81cc 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: Centronias - changes: - - message: Derelict Mediborgs can determine solution contents and see mob health - in their HUD, like their non-derelict counterparts. - type: Fix - id: 8943 - time: '2025-09-09T02:44:31.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/40206 - author: Kittygyat changes: - message: Changed the Galoshes description to be more descriptive of what they @@ -3965,3 +3957,16 @@ id: 9449 time: '2026-01-22T21:47:37.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/42534 +- author: Bhijn and Myr + changes: + - message: Grappling hooks have been reworked. They are now physics-driven, meaning + that they use actual physical forces to retract. + type: Tweak + - message: The majority of known exploits of grappling hooks have been fixed as + a result. You can no longer clip into walls via grappling hook, and you can + no longer teleport your friends across the station by having them hook onto + an object and stay still. + type: Fix + id: 9450 + time: '2026-01-22T22:30:46.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/42409 From bcd36127301735eeda37cff3f2d3c0d9ebba74e0 Mon Sep 17 00:00:00 2001 From: Julian Giebel Date: Thu, 22 Jan 2026 23:19:54 +0100 Subject: [PATCH 51/60] Add feedback popups (#41352) * Commit * add the form post * dv * fixes * Change wording * Address review * wording change * Added some stuff * New format * bruh * thanks perry! * yes * More fixes! * typo * Add a command to show the list, improve the UI slightly, split up command names * Fix UI controller * Add better comment * Get rid of weird recursive thing * Cleanup * Work on moving feedback popups out of simulation * Move round end screen subscription to feedback ui controller * Finish moving feedback popups out of simulation * Fix _ as parameter * Clean up FeedbackPopupUIController * Clean up commands * Fix prototype yaml * Fix openfeedbackpopup command description * Update Resources/Locale/en-US/feedbackpopup/feedbackpopup.ftl Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com> * Address reviews * Address reviews * Fix FeedbackPopupPrototype.cs using empty string instead of string.empty * Address some more of the reviews, style nano is still trolling sadly * Fix feedback popup styling * Fix PopupPrototype ID field not having a setter * Address reviews * Add label when no feedback entries are present Change link button to not show when no link is set --------- Co-authored-by: beck-thompson Co-authored-by: SlamBamActionman Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com> --- Content.Client/Entry/EntryPoint.cs | 4 + .../FeedbackPopup/ClientFeedbackManager.cs | 71 +++++++++ .../FeedbackPopup/FeedbackEntry.xaml | 24 +++ .../FeedbackPopup/FeedbackEntry.xaml.cs | 54 +++++++ .../FeedbackPopup/FeedbackPopupSheetlet.cs | 36 +++++ .../FeedbackPopupUIController.cs | 75 +++++++++ .../FeedbackPopup/FeedbackPopupWindow.xaml | 24 +++ .../FeedbackPopup/FeedbackPopupWindow.xaml.cs | 49 ++++++ .../Guidebook/Richtext/ProtodataTag.cs | 2 +- Content.Client/IoC/ClientContentIoC.cs | 4 + Content.Client/Options/UI/EscapeMenu.xaml | 1 + Content.Client/Stylesheets/StyleNano.cs | 24 ++- .../Systems/EscapeMenu/EscapeUIController.cs | 10 +- Content.Server/Entry/EntryPoint.cs | 4 + .../FeedbackSystem/FeedbackCommand.cs | 63 ++++++++ .../OpenFeedbackPopupCommand.cs | 24 +++ .../FeedbackSystem/ServerFeedbackManager.cs | 78 +++++++++ Content.Server/IoC/ServerContentIoC.cs | 4 + Content.Shared/CCVar/CCVars.Feedback.cs | 17 ++ .../FeedbackSystem/FeedbackPopupMessage.cs | 61 +++++++ .../FeedbackSystem/FeedbackPopupPrototype.cs | 56 +++++++ .../SharedFeedbackManager.Events.cs | 21 +++ .../FeedbackSystem/SharedFeedbackManager.cs | 150 ++++++++++++++++++ .../en-US/escape-menu/ui/escape-menu.ftl | 2 +- .../en-US/feedbackpopup/feedbackpopup.ftl | 28 ++++ .../FeedbackPopup/feedbackpopups.yml | 19 +++ 26 files changed, 901 insertions(+), 4 deletions(-) create mode 100644 Content.Client/FeedbackPopup/ClientFeedbackManager.cs create mode 100644 Content.Client/FeedbackPopup/FeedbackEntry.xaml create mode 100644 Content.Client/FeedbackPopup/FeedbackEntry.xaml.cs create mode 100644 Content.Client/FeedbackPopup/FeedbackPopupSheetlet.cs create mode 100644 Content.Client/FeedbackPopup/FeedbackPopupUIController.cs create mode 100644 Content.Client/FeedbackPopup/FeedbackPopupWindow.xaml create mode 100644 Content.Client/FeedbackPopup/FeedbackPopupWindow.xaml.cs create mode 100644 Content.Server/FeedbackSystem/FeedbackCommand.cs create mode 100644 Content.Server/FeedbackSystem/OpenFeedbackPopupCommand.cs create mode 100644 Content.Server/FeedbackSystem/ServerFeedbackManager.cs create mode 100644 Content.Shared/CCVar/CCVars.Feedback.cs create mode 100644 Content.Shared/FeedbackSystem/FeedbackPopupMessage.cs create mode 100644 Content.Shared/FeedbackSystem/FeedbackPopupPrototype.cs create mode 100644 Content.Shared/FeedbackSystem/SharedFeedbackManager.Events.cs create mode 100644 Content.Shared/FeedbackSystem/SharedFeedbackManager.cs create mode 100644 Resources/Locale/en-US/feedbackpopup/feedbackpopup.ftl create mode 100644 Resources/Prototypes/FeedbackPopup/feedbackpopups.yml diff --git a/Content.Client/Entry/EntryPoint.cs b/Content.Client/Entry/EntryPoint.cs index 2266b30c51..e0358d54e7 100644 --- a/Content.Client/Entry/EntryPoint.cs +++ b/Content.Client/Entry/EntryPoint.cs @@ -3,6 +3,7 @@ using Content.Client.Changelog; using Content.Client.Chat.Managers; using Content.Client.DebugMon; using Content.Client.Eui; +using Content.Client.FeedbackPopup; using Content.Client.Fullscreen; using Content.Client.GameTicking.Managers; using Content.Client.GhostKick; @@ -24,6 +25,7 @@ using Content.Client.UserInterface; using Content.Client.Viewport; using Content.Client.Voting; using Content.Shared.Ame.Components; +using Content.Shared.FeedbackSystem; using Content.Shared.Gravity; using Content.Shared.Localizations; using Robust.Client; @@ -76,6 +78,7 @@ namespace Content.Client.Entry [Dependency] private readonly TitleWindowManager _titleWindowManager = default!; [Dependency] private readonly IEntitySystemManager _entitySystemManager = default!; [Dependency] private readonly ClientsidePlaytimeTrackingManager _clientsidePlaytimeManager = default!; + [Dependency] private readonly ClientFeedbackManager _feedbackManager = null!; public override void PreInit() { @@ -170,6 +173,7 @@ namespace Content.Client.Entry _userInterfaceManager.SetActiveTheme(_configManager.GetCVar(CVars.InterfaceTheme)); _documentParsingManager.Initialize(); _titleWindowManager.Initialize(); + _feedbackManager.Initialize(); _baseClient.RunLevelChanged += (_, args) => { diff --git a/Content.Client/FeedbackPopup/ClientFeedbackManager.cs b/Content.Client/FeedbackPopup/ClientFeedbackManager.cs new file mode 100644 index 0000000000..a4cdf6a617 --- /dev/null +++ b/Content.Client/FeedbackPopup/ClientFeedbackManager.cs @@ -0,0 +1,71 @@ +using Content.Shared.FeedbackSystem; +using Robust.Shared.Network; +using Robust.Shared.Prototypes; + +namespace Content.Client.FeedbackPopup; + +/// +public sealed class ClientFeedbackManager : SharedFeedbackManager +{ + /// + /// A read-only set representing the currently displayed feedback popups. + /// + public IReadOnlySet> DisplayedPopups => _displayedPopups; + + private readonly HashSet> _displayedPopups = []; + + public override void Initialize() + { + base.Initialize(); + NetManager.RegisterNetMessage(ReceivedPopupMessage); + NetManager.RegisterNetMessage(_ => Open()); + } + + /// + /// Opens the feedback popup window. + /// + public void Open() + { + InvokeDisplayedPopupsChanged(true); + } + + /// + public override void Display(List>? prototypes) + { + if (prototypes == null || !NetManager.IsClient) + return; + + var count = _displayedPopups.Count; + _displayedPopups.UnionWith(prototypes); + InvokeDisplayedPopupsChanged(_displayedPopups.Count > count); + } + + /// + public override void Remove(List>? prototypes) + { + if (!NetManager.IsClient) + return; + + if (prototypes == null) + { + _displayedPopups.Clear(); + } + else + { + _displayedPopups.ExceptWith(prototypes); + } + + InvokeDisplayedPopupsChanged(false); + } + + private void ReceivedPopupMessage(FeedbackPopupMessage message) + { + if (message.Remove) + { + Remove(message.FeedbackPrototypes); + return; + } + + Display(message.FeedbackPrototypes); + } +} diff --git a/Content.Client/FeedbackPopup/FeedbackEntry.xaml b/Content.Client/FeedbackPopup/FeedbackEntry.xaml new file mode 100644 index 0000000000..9b7e6ceb17 --- /dev/null +++ b/Content.Client/FeedbackPopup/FeedbackEntry.xaml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + +