From bec7aadfa94ecdcdd6e9d59e2899e8722b5c585a Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Thu, 16 May 2019 05:14:00 +0300 Subject: [PATCH] (af16ecdfa) Merge branch 'dev' into human-ai --- .../BarotraumaClient/ClientCode.projitems | 5 + Barotrauma/BarotraumaClient/MacClient.csproj | 1 + .../Source/Characters/Animation/Ragdoll.cs | 11 +- .../Source/Characters/Character.cs | 44 +- .../Source/Characters/CharacterHUD.cs | 15 +- .../Characters/Health/CharacterHealth.cs | 11 + Barotrauma/BarotraumaClient/Source/GUI/GUI.cs | 14 +- .../BarotraumaClient/Source/GUI/GUIButton.cs | 5 + .../Source/GUI/GUIComponent.cs | 125 ++- .../Source/GUI/GUIMessageBox.cs | 6 + .../BarotraumaClient/Source/GUI/GUITextBox.cs | 4 +- .../Source/GUI/VideoPlayer.cs | 91 +- .../BarotraumaClient/Source/GameMain.cs | 12 +- .../Source/GameSession/CrewManager.cs | 105 ++- .../GameModes/Tutorials/BasicTutorial.cs | 2 +- .../GameModes/Tutorials/ContextualTutorial.cs | 277 +----- .../GameModes/Tutorials/DoctorTutorial.cs | 2 +- .../GameModes/Tutorials/MechanicTutorial.cs | 2 +- .../GameModes/Tutorials/ScenarioTutorial.cs | 228 ++++- .../GameModes/Tutorials/Tutorial.cs | 490 ++++++++-- .../GameModes/Tutorials/TutorialMode.cs | 10 +- .../Source/Items/CharacterInventory.cs | 1 + .../Source/Items/Components/LightComponent.cs | 2 +- .../Components/Machines/Deconstructor.cs | 7 +- .../Items/Components/Machines/Fabricator.cs | 75 +- .../Source/Items/Components/Machines/Pump.cs | 5 +- .../Items/Components/Machines/Reactor.cs | 18 + .../Source/Items/Components/Machines/Sonar.cs | 4 + .../Source/Items/Components/Repairable.cs | 4 + .../Items/Components/Signal/Connection.cs | 36 +- .../Components/Signal/CustomInterface.cs | 19 + .../Source/Items/Inventory.cs | 7 +- .../BarotraumaClient/Source/Items/Item.cs | 2 +- .../BarotraumaClient/Source/Map/Hull.cs | 837 ------------------ .../BarotraumaClient/Source/Map/Structure.cs | 18 +- .../Source/Screens/CampaignSetupUI.cs | 34 +- .../Source/Screens/CampaignUI.cs | 17 +- .../Source/Screens/MainMenuScreen.cs | 55 +- .../Source/Screens/SubEditorScreen.cs | 20 +- .../Data/ContentPackages/Vanilla 0.9.xml | 1 + .../BarotraumaShared/SharedCode.projitems | 1 + .../BarotraumaShared/SharedContent.projitems | 103 ++- .../Source/Characters/AI/EnemyAIController.cs | 2 + .../Source/Characters/Character.cs | 15 +- .../Source/Characters/CharacterInfo.cs | 25 +- .../Source/Items/Components/ItemComponent.cs | 5 +- .../Components/Machines/Deconstructor.cs | 24 + .../Items/Components/Machines/Fabricator.cs | 28 +- .../Source/Items/Components/Machines/Sonar.cs | 2 +- .../Items/Components/Machines/Steering.cs | 13 + .../Source/Items/Inventory.cs | 10 + .../BarotraumaShared/Source/Items/Item.cs | 4 + .../Source/Items/ItemPrefab.cs | 8 +- .../BarotraumaShared/Source/Map/Explosion.cs | 12 +- .../BarotraumaShared/Source/Map/FireSource.cs | 21 +- .../BarotraumaShared/Source/Map/Hull.cs | 19 + .../Source/Map/Levels/Level.cs | 37 +- .../BarotraumaShared/Source/Map/Submarine.cs | 8 +- .../BarotraumaShared/Source/PlayerInput.cs | 15 - .../Source/Serialization/XMLExtensions.cs | 10 +- .../BarotraumaShared/Source/TextManager.cs | 44 + .../BarotraumaShared/Submarines/Dugong.sub | Bin 74982 -> 25048 bytes .../BarotraumaShared/Submarines/Orca.sub | Bin 86062 -> 35997 bytes .../Submarines/TutorialOutpost.sub | Bin 24554 -> 24492 bytes .../BarotraumaShared/Submarines/Typhon.sub | Bin 104386 -> 44479 bytes 65 files changed, 1579 insertions(+), 1449 deletions(-) diff --git a/Barotrauma/BarotraumaClient/ClientCode.projitems b/Barotrauma/BarotraumaClient/ClientCode.projitems index 1b79fd2eb..8360a00c7 100644 --- a/Barotrauma/BarotraumaClient/ClientCode.projitems +++ b/Barotrauma/BarotraumaClient/ClientCode.projitems @@ -43,8 +43,13 @@ + + + + + diff --git a/Barotrauma/BarotraumaClient/MacClient.csproj b/Barotrauma/BarotraumaClient/MacClient.csproj index dff098df6..f9fdba9c8 100644 --- a/Barotrauma/BarotraumaClient/MacClient.csproj +++ b/Barotrauma/BarotraumaClient/MacClient.csproj @@ -243,6 +243,7 @@ PreserveNewest + diff --git a/Barotrauma/BarotraumaClient/Source/Characters/Animation/Ragdoll.cs b/Barotrauma/BarotraumaClient/Source/Characters/Animation/Ragdoll.cs index 864fd5996..667d29d62 100644 --- a/Barotrauma/BarotraumaClient/Source/Characters/Animation/Ragdoll.cs +++ b/Barotrauma/BarotraumaClient/Source/Characters/Animation/Ragdoll.cs @@ -440,14 +440,15 @@ namespace Barotrauma return; } - //foreach (Limb limb in Limbs) - //{ - // limb.Draw(spriteBatch, cam); - //} + Color? color = null; + if (character.ExternalHighlight) + { + color = Color.Lerp(Color.White, Color.OrangeRed, (float)Math.Sin(Timing.TotalTime * 3.5f)); + } for (int i = 0; i < limbs.Length; i++) { - inversedLimbDrawOrder[i].Draw(spriteBatch, cam); + inversedLimbDrawOrder[i].Draw(spriteBatch, cam, color); } LimbJoints.ForEach(j => j.Draw(spriteBatch)); } diff --git a/Barotrauma/BarotraumaClient/Source/Characters/Character.cs b/Barotrauma/BarotraumaClient/Source/Characters/Character.cs index 11f6f191c..603769a8e 100644 --- a/Barotrauma/BarotraumaClient/Source/Characters/Character.cs +++ b/Barotrauma/BarotraumaClient/Source/Characters/Character.cs @@ -111,6 +111,33 @@ namespace Barotrauma get { return gibEmitters; } } + public class ObjectiveEntity + { + public Entity Entity; + public Sprite Sprite; + public Color Color; + + public ObjectiveEntity(Entity entity, Sprite sprite, Color? color = null) + { + Entity = entity; + Sprite = sprite; + if (color.HasValue) + { + Color = color.Value; + } + else + { + Color = Color.White; + } + } + } + + private List activeObjectiveEntities = new List(); + public IEnumerable ActiveObjectiveEntities + { + get { return activeObjectiveEntities; } + } + partial void InitProjSpecific(XDocument doc) { soundInterval = doc.Root.GetAttributeFloat("soundinterval", 10.0f); @@ -140,9 +167,6 @@ namespace Barotrauma } } - hudProgressBars = new Dictionary(); - } - partial void UpdateLimbLightSource(Limb limb) { if (limb.LightSource != null) @@ -735,6 +759,20 @@ namespace Barotrauma soundTimer = soundInterval; } + public void AddActiveObjectiveEntity(Entity entity, Sprite sprite, Color? color = null) + { + if (activeObjectiveEntities.Any(aoe => aoe.Entity == entity)) return; + ObjectiveEntity objectiveEntity = new ObjectiveEntity(entity, sprite, color); + activeObjectiveEntities.Add(objectiveEntity); + } + + public void RemoveActiveObjectiveEntity(Entity entity) + { + ObjectiveEntity found = activeObjectiveEntities.Find(aoe => aoe.Entity == entity); + if (found == null) return; + activeObjectiveEntities.Remove(found); + } + partial void ImplodeFX() { Vector2 centerOfMass = AnimController.GetCenterOfMass(); diff --git a/Barotrauma/BarotraumaClient/Source/Characters/CharacterHUD.cs b/Barotrauma/BarotraumaClient/Source/Characters/CharacterHUD.cs index a2137e660..441ae6a6e 100644 --- a/Barotrauma/BarotraumaClient/Source/Characters/CharacterHUD.cs +++ b/Barotrauma/BarotraumaClient/Source/Characters/CharacterHUD.cs @@ -168,7 +168,12 @@ namespace Barotrauma DrawOrderIndicator(spriteBatch, cam, character, character.CurrentOrder, 1.0f); } } - + + foreach (Character.ObjectiveEntity objectiveEntity in character.ActiveObjectiveEntities) + { + DrawObjectiveIndicator(spriteBatch, cam, character, objectiveEntity, 1.0f); + } + foreach (Item brokenItem in brokenItems) { float dist = Vector2.Distance(character.WorldPosition, brokenItem.WorldPosition); @@ -371,5 +376,13 @@ namespace Barotrauma orderIndicatorCount[target] = orderIndicatorCount[target] + 1; } + + private static void DrawObjectiveIndicator(SpriteBatch spriteBatch, Camera cam, Character character, Character.ObjectiveEntity objectiveEntity, float iconAlpha = 1.0f) + { + if (objectiveEntity == null) return; + + Vector2 drawPos = objectiveEntity.Entity.WorldPosition;// + Vector2.UnitX * objectiveEntity.Sprite.size.X * 1.5f; + GUI.DrawIndicator(spriteBatch, drawPos, cam, 100.0f, objectiveEntity.Sprite, objectiveEntity.Color * iconAlpha); + } } } diff --git a/Barotrauma/BarotraumaClient/Source/Characters/Health/CharacterHealth.cs b/Barotrauma/BarotraumaClient/Source/Characters/Health/CharacterHealth.cs index 3799e1756..34ebcb336 100644 --- a/Barotrauma/BarotraumaClient/Source/Characters/Health/CharacterHealth.cs +++ b/Barotrauma/BarotraumaClient/Source/Characters/Health/CharacterHealth.cs @@ -136,6 +136,17 @@ namespace Barotrauma } } + public GUIButton CPRButton + { + get { return cprButton; } + } + + public float HealthBarPulsateTimer + { + get { return healthBarPulsateTimer; } + set { healthBarPulsateTimer = MathHelper.Clamp(value, 0.0f, 10.0f); } + } + static CharacterHealth() { damageOverlay = new Sprite("Content/UI/damageOverlay.png", Vector2.Zero); diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs index dddd37a0f..90d96a1dd 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs @@ -129,6 +129,8 @@ namespace Barotrauma get { return pauseMenuOpen; } } + public static bool PreventPauseMenuToggle = false; + public static Color ScreenOverlayColor { get; @@ -1413,6 +1415,7 @@ namespace Barotrauma public static void TogglePauseMenu() { if (Screen.Selected == GameMain.MainMenuScreen) return; + if (PreventPauseMenuToggle) return; settingsMenuOpen = false; @@ -1546,9 +1549,16 @@ namespace Barotrauma if (GameMain.GameSession != null) { - if (ContextualTutorial.Initialized && GameMain.GameSession.GameMode is SinglePlayerCampaign) + if (Tutorial.Initialized) { - ((SinglePlayerCampaign)GameMain.GameSession.GameMode).ContextualTutorial.Stop(); + if (GameMain.GameSession.GameMode is SinglePlayerCampaign) + { + ((SinglePlayerCampaign)GameMain.GameSession.GameMode).ContextualTutorial.Stop(); + } + else + { + ((TutorialMode)GameMain.GameSession.GameMode).Tutorial.Stop(); + } } if (GameSettings.SendUserStatistics) diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUIButton.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUIButton.cs index e9046010b..05e991ab8 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUIButton.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUIButton.cs @@ -174,6 +174,11 @@ namespace Barotrauma if (frame != null) frame.ApplyStyle(style); } + public override void Flash(Color? color = null, float flashDuration = 1.5f, bool useRectangleFlash = false, Vector2? flashRectInflate = null) + { + Frame.Flash(color, flashDuration, useRectangleFlash, flashRectInflate); + } + protected override void Draw(SpriteBatch spriteBatch) { //do nothing diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUIComponent.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUIComponent.cs index ddea12a60..1c546467b 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUIComponent.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUIComponent.cs @@ -121,77 +121,22 @@ namespace Barotrauma protected Color selectedColor; protected Color pressedColor; + private CoroutineHandle pulsateCoroutine; + protected ComponentState state; protected Color flashColor; protected float flashDuration = 1.5f; + private bool useRectangleFlash; + public float FlashTimer + { + get { return flashTimer; } + } protected float flashTimer; private Vector2 flashRectInflate; public bool IgnoreLayoutGroups; - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - - public bool IgnoreLayoutGroups; - public virtual ScalableFont Font { get; @@ -324,6 +269,8 @@ namespace Barotrauma set { pressedColor = value; } } + public bool ExternalHighlight = false; + private RectTransform rectTransform; public RectTransform RectTransform { @@ -496,11 +443,21 @@ namespace Barotrauma int flashCycleCount = (int)Math.Max(flashDuration, 1); float flashCycleDuration = flashDuration / flashCycleCount; + Rectangle flashRect = Rect; + flashRect.Inflate(flashRectInflate.X, flashRectInflate.Y); + //MathHelper.Pi * 0.8f -> the curve goes from 144 deg to 0, //i.e. quickly bumps up from almost full brightness to full and then fades out - GUI.UIGlow.Draw(spriteBatch, - rect, - flashColor * (float)Math.Sin(flashTimer % flashCycleDuration / flashCycleDuration * MathHelper.Pi * 0.8f)); + if (!useRectangleFlash) + { + GUI.UIGlow.Draw(spriteBatch, + flashRect, + flashColor * (float)Math.Sin(flashTimer % flashCycleDuration / flashCycleDuration * MathHelper.Pi * 0.8f)); + } + else + { + GUI.DrawRectangle(spriteBatch, flashRect, flashColor * (float)Math.Sin(flashTimer % flashCycleDuration / flashCycleDuration * MathHelper.Pi * 0.8f), true); + } } } @@ -525,6 +482,7 @@ namespace Barotrauma toolTipBlock.WrappedText.Split('\n').Length * 18 + 7); toolTipBlock.userData = toolTip; } + toolTipBlock.SetTextPos(); toolTipBlock.RectTransform.AbsoluteOffset = new Point(targetElement.Center.X, targetElement.Bottom); if (toolTipBlock.Rect.Right > GameMain.GraphicsWidth - 10) @@ -548,9 +506,11 @@ namespace Barotrauma color = new Color(color.R / 255.0f, color.G / 255.0f, color.B / 255.0f, a); } - public virtual void Flash(Color? color = null, float flashDuration = 1.5f) + public virtual void Flash(Color? color = null, float flashDuration = 1.5f, bool useRectangleFlash = false, Vector2? flashRectInflate = null) { flashTimer = flashDuration; + this.flashRectInflate = flashRectInflate ?? Vector2.Zero; + this.useRectangleFlash = useRectangleFlash; this.flashDuration = flashDuration; flashColor = (color == null) ? Color.Red : (Color)color; } @@ -568,12 +528,9 @@ namespace Barotrauma while (t < duration) { t += CoroutineManager.DeltaTime; - SetAlpha(MathHelper.Lerp(startA, to, t / duration)); - yield return CoroutineStatus.Running; } - toolTipBlock.SetTextPos(); SetAlpha(to); @@ -584,9 +541,31 @@ namespace Barotrauma yield return CoroutineStatus.Success; } + + public void Pulsate(Vector2 startScale, Vector2 endScale, float duration) + { + if (CoroutineManager.IsCoroutineRunning(pulsateCoroutine)) + { + return; + } + pulsateCoroutine = CoroutineManager.StartCoroutine(DoPulsate(startScale, endScale, duration), "Pulsate" + ToString()); + } + + private IEnumerable DoPulsate(Vector2 startScale, Vector2 endScale, float duration) + { + float t = 0.0f; + while (t < duration) + { + t += CoroutineManager.DeltaTime; + RectTransform.LocalScale = Vector2.Lerp(startScale, endScale, (float)Math.Sin(t / duration * MathHelper.Pi)); + yield return CoroutineStatus.Running; + } + RectTransform.LocalScale = startScale; + yield return CoroutineStatus.Success; + } #endregion - protected virtual void SetAlpha(float a) + public virtual void ApplyStyle(GUIComponentStyle style) { if (style == null) return; @@ -599,11 +578,7 @@ namespace Barotrauma OutlineColor = style.OutlineColor; - public virtual void Flash(Color? color = null, float flashDuration = 1.5f) - { - flashTimer = flashDuration; - this.flashDuration = flashDuration; - flashColor = (color == null) ? Color.Red : (Color)color; + this.style = style; } } } diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUIMessageBox.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUIMessageBox.cs index 4c3dcaf2a..e98b78b2e 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUIMessageBox.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUIMessageBox.cs @@ -227,6 +227,12 @@ namespace Barotrauma Content = new GUILayoutGroup(new RectTransform(new Vector2(0.9f, 0.85f), InnerFrame.RectTransform, Anchor.Center)) { AbsoluteSpacing = 5 }; Tag = tag; + InnerFrame = new GUIFrame(new RectTransform(new Point(width, height), RectTransform, Anchor.Center) { IsFixedSize = false }, style: null); + GUI.Style.Apply(InnerFrame, "", this); + + Content = new GUILayoutGroup(new RectTransform(new Vector2(0.9f, 0.85f), InnerFrame.RectTransform, Anchor.Center)) { AbsoluteSpacing = 5 }; + Tag = tag; + if (height == 0) { string wrappedText = ToolBox.WrapText(text, Content.Rect.Width, GUI.Font); diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUITextBox.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUITextBox.cs index 73fcd1b3a..886e5aa2c 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/GUITextBox.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/GUITextBox.cs @@ -365,9 +365,9 @@ namespace Barotrauma OnDeselected?.Invoke(this, Keys.None); } - public override void Flash(Color? color = null, float flashDuration = 1.5f) + public override void Flash(Color? color = null, float flashDuration = 1.5f, bool useRectangleFlash = false, Vector2? flashRectOffset = null) { - textBlock.Flash(color, flashDuration); + textBlock.Flash(color, flashDuration, useRectangleFlash, flashRectOffset); } protected override void Update(float deltaTime) diff --git a/Barotrauma/BarotraumaClient/Source/GUI/VideoPlayer.cs b/Barotrauma/BarotraumaClient/Source/GUI/VideoPlayer.cs index bb327ac69..ea9adc6f3 100644 --- a/Barotrauma/BarotraumaClient/Source/GUI/VideoPlayer.cs +++ b/Barotrauma/BarotraumaClient/Source/GUI/VideoPlayer.cs @@ -10,9 +10,10 @@ namespace Barotrauma { class VideoPlayer { + public bool IsPlaying; + private Video currentVideo; private string filePath; - private bool isPlaying; private GUIFrame background, videoFrame, textFrame; private GUITextBlock title, textContent, objectiveTitle, objectiveText; @@ -24,12 +25,14 @@ namespace Barotrauma private Point scaledVideoResolution; private readonly int borderSize = 20; - private readonly Point buttonSize = new Point(160, 50); + private readonly Point buttonSize = new Point(120, 30); private readonly int titleHeight = 30; private readonly int objectiveFrameHeight = 60; private readonly int textHeight = 25; - public struct TextSettings + private bool useTextOnRightSide = false; + + public class TextSettings { public string Text; public int Width; @@ -41,7 +44,7 @@ namespace Barotrauma } } - public struct VideoSettings + public class VideoSettings { public string File; @@ -62,7 +65,14 @@ namespace Barotrauma background = new GUIFrame(new RectTransform(Point.Zero, GUI.Canvas, Anchor.Center), "InnerFrame", backgroundColor); videoFrame = new GUIFrame(new RectTransform(Point.Zero, background.RectTransform, Anchor.Center, Pivot.Center), "SonarFrame"); - textFrame = new GUIFrame(new RectTransform(Point.Zero, videoFrame.RectTransform, Anchor.CenterLeft, Pivot.CenterLeft), "TextFrame"); + if (useTextOnRightSide) + { + textFrame = new GUIFrame(new RectTransform(Point.Zero, videoFrame.RectTransform, Anchor.CenterLeft, Pivot.CenterLeft), "TextFrame"); + } + else + { + textFrame = new GUIFrame(new RectTransform(Point.Zero, videoFrame.RectTransform, Anchor.TopCenter, Pivot.TopCenter), "TextFrame"); + } videoView = new GUICustomComponent(new RectTransform(Point.Zero, videoFrame.RectTransform, Anchor.Center), (spriteBatch, guiCustomComponent) => { DrawVideo(spriteBatch, guiCustomComponent.Rect); }); title = new GUITextBlock(new RectTransform(Point.Zero, textFrame.RectTransform, Anchor.TopLeft, Pivot.TopLeft), string.Empty, font: GUI.VideoTitleFont, textColor: new Color(253, 174, 0), textAlignment: Alignment.Left); @@ -70,7 +80,7 @@ namespace Barotrauma textContent = new GUITextBlock(new RectTransform(Point.Zero, textFrame.RectTransform, Anchor.TopLeft, Pivot.TopLeft), string.Empty, font: GUI.Font, textAlignment: Alignment.TopLeft); objectiveTitle = new GUITextBlock(new RectTransform(new Vector2(1f, 0f), textFrame.RectTransform, Anchor.TopCenter, Pivot.TopCenter), string.Empty, font: GUI.ObjectiveTitleFont, textAlignment: Alignment.CenterRight, textColor: Color.White); - objectiveTitle.Text = TextManager.Get("NewObjective"); + objectiveTitle.Text = TextManager.Get("Tutorial.NewObjective"); objectiveText = new GUITextBlock(new RectTransform(Point.Zero, textFrame.RectTransform, Anchor.TopCenter, Pivot.TopCenter), string.Empty, font: GUI.ObjectiveNameFont, textColor: new Color(4, 180, 108), textAlignment: Alignment.CenterRight); objectiveTitle.Visible = objectiveText.Visible = false; @@ -78,12 +88,12 @@ namespace Barotrauma public void Play() { - isPlaying = true; + IsPlaying = true; } public void Stop() { - isPlaying = false; + IsPlaying = false; if (currentVideo == null) return; currentVideo.Dispose(); currentVideo = null; @@ -99,13 +109,6 @@ namespace Barotrauma public void Update() { if (currentVideo == null) return; - - if (PlayerInput.KeyHit(Keys.Enter) || PlayerInput.KeyHit(Keys.Escape)) - { - DisposeVideo(null, null); - return; - } - if (currentVideo.IsPlaying) return; currentVideo.Dispose(); @@ -115,7 +118,7 @@ namespace Barotrauma public void AddToGUIUpdateList(bool ignoreChildren = false, int order = 0) { - if (!isPlaying) return; + if (!IsPlaying) return; background.AddToGUIUpdateList(ignoreChildren, order); } @@ -139,7 +142,7 @@ namespace Barotrauma currentVideo = CreateVideo(scaledVideoResolution); title.Text = TextManager.Get(contentId); - textContent.Text = textSettings.Text; + textContent.Text = textSettings != null ? textSettings.Text : string.Empty; objectiveText.Text = objective; AdjustFrames(videoSettings, textSettings); @@ -165,7 +168,8 @@ namespace Barotrauma title.TextScale = textContent.TextScale = objectiveText.TextScale = objectiveTitle.TextScale = GUI.Scale; int scaledBorderSize = (int)(borderSize * GUI.Scale); - int scaledTextWidth = (int)(textSettings.Width * GUI.Scale); + int scaledTextWidth = 0; + if (textSettings != null) scaledTextWidth = useTextOnRightSide ? (int)(textSettings.Width * GUI.Scale) : scaledVideoResolution.X / 2; int scaledTitleHeight = (int)(titleHeight * GUI.Scale); int scaledTextHeight = (int)(textHeight * GUI.Scale); int scaledObjectiveFrameHeight = (int)(objectiveFrameHeight * GUI.Scale); @@ -180,13 +184,21 @@ namespace Barotrauma title.RectTransform.NonScaledSize += new Point(scaledTextWidth, scaledTitleHeight); title.RectTransform.AbsoluteOffset = new Point((int)(5 * GUI.Scale), (int)(10 * GUI.Scale)); - if (!string.IsNullOrEmpty(textSettings.Text)) + if (textSettings != null && !string.IsNullOrEmpty(textSettings.Text)) { textSettings.Text = ToolBox.WrapText(textSettings.Text, scaledTextWidth, GUI.Font); int wrappedHeight = textSettings.Text.Split('\n').Length * scaledTextHeight; textFrame.RectTransform.NonScaledSize += new Point(scaledTextWidth + scaledBorderSize, wrappedHeight + scaledBorderSize + scaledButtonSize.Y + scaledTitleHeight); - textFrame.RectTransform.AbsoluteOffset = new Point(scaledVideoResolution.X + scaledBorderSize * 2, 0); + + if (useTextOnRightSide) + { + textFrame.RectTransform.AbsoluteOffset = new Point(scaledVideoResolution.X + scaledBorderSize * 2, 0); + } + else + { + textFrame.RectTransform.AbsoluteOffset = new Point(0, scaledVideoResolution.Y + scaledBorderSize * 2); + } textContent.RectTransform.NonScaledSize += new Point(scaledTextWidth, wrappedHeight); textContent.RectTransform.AbsoluteOffset = new Point(0, scaledBorderSize + scaledTitleHeight); @@ -209,22 +221,41 @@ namespace Barotrauma objectiveTitle.Visible = objectiveText.Visible = false; } - int totalFrameWidth = videoFrame.Rect.Width + textFrame.Rect.Width + scaledBorderSize * 2; - int xOffset = videoFrame.Rect.Width / 2 + scaledBorderSize - (videoFrame.Rect.Width / 2 - textFrame.Rect.Width / 2); - - - videoFrame.RectTransform.AbsoluteOffset = new Point(-xOffset, (int)(50 * GUI.Scale)); - if (okButton != null) { textFrame.RemoveChild(okButton); okButton = null; } - okButton = new GUIButton(new RectTransform(scaledButtonSize, textFrame.RectTransform, Anchor.BottomRight, Pivot.BottomRight) { AbsoluteOffset = new Point(scaledBorderSize, scaledBorderSize) }, TextManager.Get("OK")) + if (textSettings != null) { - OnClicked = DisposeVideo - }; + if (useTextOnRightSide) + { + int totalFrameWidth = videoFrame.Rect.Width + textFrame.Rect.Width + scaledBorderSize * 2; + int xOffset = videoFrame.Rect.Width / 2 + scaledBorderSize - (videoFrame.Rect.Width / 2 - textFrame.Rect.Width / 2); + videoFrame.RectTransform.AbsoluteOffset = new Point(-xOffset, (int)(50 * GUI.Scale)); + } + else + { + int totalFrameHeight = videoFrame.Rect.Height + textFrame.Rect.Height + scaledBorderSize * 2; + int yOffset = videoFrame.Rect.Height / 2 + scaledBorderSize - (videoFrame.Rect.Height / 2 - textFrame.Rect.Height / 2); + videoFrame.RectTransform.AbsoluteOffset = new Point(0, -yOffset); + } + + okButton = new GUIButton(new RectTransform(scaledButtonSize, textFrame.RectTransform, Anchor.BottomRight, Pivot.BottomRight) { AbsoluteOffset = new Point(scaledBorderSize, scaledBorderSize) }, TextManager.Get("OK")) + { + OnClicked = DisposeVideo + }; + } + else + { + videoFrame.RectTransform.AbsoluteOffset = new Point(0, (int)(100 * GUI.Scale)); + + okButton = new GUIButton(new RectTransform(scaledButtonSize, videoFrame.RectTransform, Anchor.TopLeft, Pivot.TopLeft) { AbsoluteOffset = new Point(scaledBorderSize, scaledBorderSize) }, TextManager.Get("Back")) + { + OnClicked = DisposeVideo + }; + } } private Video CreateVideo(Point resolution) @@ -245,7 +276,7 @@ namespace Barotrauma private void DrawVideo(SpriteBatch spriteBatch, Rectangle rect) { - if (!isPlaying) return; + if (!IsPlaying) return; spriteBatch.Draw(currentVideo.GetTexture(), rect, Color.White); } diff --git a/Barotrauma/BarotraumaClient/Source/GameMain.cs b/Barotrauma/BarotraumaClient/Source/GameMain.cs index 5ab2690c5..542ee3cf1 100644 --- a/Barotrauma/BarotraumaClient/Source/GameMain.cs +++ b/Barotrauma/BarotraumaClient/Source/GameMain.cs @@ -623,8 +623,12 @@ namespace Barotrauma { ((GUIMessageBox)GUIMessageBox.VisibleBox).Close(); } + else if (Tutorial.Initialized && Tutorial.ContentRunning) + { + (GameMain.GameSession.GameMode as TutorialMode).Tutorial.CloseActiveContentGUI(); + } else if ((Character.Controlled?.SelectedConstruction == null || !Character.Controlled.SelectedConstruction.ActiveHUDs.Any(ic => ic.GuiFrame != null)) - && Inventory.SelectedSlot == null && CharacterHealth.OpenHealthWindow == null) + && Inventory.SelectedSlot == null && CharacterHealth.OpenHealthWindow == null) { // Otherwise toggle pausing, unless another window/interface is open. GUI.TogglePauseMenu(); @@ -632,7 +636,7 @@ namespace Barotrauma } GUI.ClearUpdateList(); - paused = (DebugConsole.IsOpen || GUI.PauseMenuOpen || GUI.SettingsMenuOpen || ContextualTutorial.ContentRunning) && + paused = (DebugConsole.IsOpen || GUI.PauseMenuOpen || GUI.SettingsMenuOpen || Tutorial.ContentRunning) && (NetworkMember == null || !NetworkMember.GameStarted); Screen.Selected.AddToGUIUpdateList(); @@ -651,9 +655,9 @@ namespace Barotrauma { Screen.Selected.Update(Timing.Step); } - else if (ContextualTutorial.Initialized && ContextualTutorial.ContentRunning && GameSession.GameMode is SinglePlayerCampaign) + else if (Tutorial.Initialized && Tutorial.ContentRunning) { - (GameSession.GameMode as SinglePlayerCampaign).ContextualTutorial.Update((float)Timing.Step); + (GameSession.GameMode as TutorialMode).Update((float)Timing.Step); } if (NetworkMember != null) diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/CrewManager.cs b/Barotrauma/BarotraumaClient/Source/GameSession/CrewManager.cs index ddad8bfd9..0c0696af7 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/CrewManager.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/CrewManager.cs @@ -49,6 +49,8 @@ namespace Barotrauma private GUIComponent orderTargetFrame, orderTargetFrameShadow; + public bool AllowCharacterSwitch = true; + public bool ToggleCrewAreaOpen { get { return toggleCrewAreaOpen; } @@ -63,6 +65,8 @@ namespace Barotrauma } } + public List OrderOptionButtons = new List(); + #endregion #region Constructors @@ -98,6 +102,20 @@ namespace Barotrauma CanBeFocused = false }; + scrollButtonUp = new GUIButton(new RectTransform(scrollButtonSize, crewArea.RectTransform, Anchor.TopLeft, Pivot.TopLeft), "", Alignment.Center, "GUIButtonVerticalArrow") + { + Visible = false, + UserData = -1, + OnClicked = ScrollCharacterList + }; + scrollButtonDown = new GUIButton(new RectTransform(scrollButtonSize, crewArea.RectTransform, Anchor.BottomLeft, Pivot.BottomLeft), "", Alignment.Center, "GUIButtonVerticalArrow") + { + Visible = false, + UserData = 1, + OnClicked = ScrollCharacterList + }; + scrollButtonDown.Children.ForEach(c => c.SpriteEffects = SpriteEffects.FlipVertically); + var characterInfo = new CharacterInfo(subElement); characterInfos.Add(characterInfo); foreach (XElement invElement in subElement.Elements()) @@ -159,6 +177,16 @@ namespace Barotrauma ToggleCrewAreaOpen = GameMain.Config.CrewMenuOpen; } + + #endregion + + #region Character list management + + public Rectangle GetCharacterListArea() + { + return characterListBox.Rect; + } + partial void InitProjectSpecific() { guiFrame = new GUIFrame(new RectTransform(Vector2.One, GUICanvas.Instance), null, Color.Transparent) @@ -547,7 +575,10 @@ namespace Barotrauma orderButtonFrame.RectTransform; var btn = new GUIButton(new RectTransform(new Point(iconSize, iconSize), btnParent, Anchor.CenterLeft), - style: null); + style: null) + { + UserData = order + }; new GUIFrame(new RectTransform(new Vector2(1.5f), btn.RectTransform, Anchor.Center), "OuterGlow") { @@ -639,6 +670,7 @@ namespace Barotrauma /// public bool CharacterClicked(GUIComponent component, object selection) { + if (!AllowCharacterSwitch) { return false; } Character character = selection as Character; if (character == null || character.IsDead || character.IsUnconscious) return false; SelectCharacter(character); @@ -679,8 +711,33 @@ namespace Barotrauma { characterListBox.BarScroll = roundedPos; } + } - return false; + public void AddCharacterInfo(CharacterInfo characterInfo) + { + if (characterInfos.Contains(characterInfo)) + { + DebugConsole.ThrowError("Tried to add the same character info to CrewManager twice.\n" + Environment.StackTrace); + return; + } + + characterInfos.Add(characterInfo); + } + + /// + /// Remove the character from the crew (and crew menus). + /// + /// The character to remove + /// If the character info is also removed, the character will not be visible in the round summary. + public void RemoveCharacter(Character character, bool removeInfo = false) + { + if (character == null) + { + DebugConsole.ThrowError("Tried to remove a null character from CrewManager.\n" + Environment.StackTrace); + return; + } + characters.Remove(character); + if (removeInfo) characterInfos.Remove(character.Info); } private IEnumerable KillCharacterAnim(GUIComponent component) @@ -881,6 +938,22 @@ namespace Barotrauma } } } + + character.SetOrder(order, option, orderGiver, speak: orderGiver != character); + if (IsSinglePlayer) + { + orderGiver?.Speak( + order.GetChatMessage(character.Name, orderGiver.CurrentHull?.DisplayName, givingOrderToSelf: character == orderGiver, orderOption: option), null); + } + else if (orderGiver != null) + { + OrderChatMessage msg = new OrderChatMessage(order, option, order.TargetItemComponent?.Item, character, orderGiver); + if (GameMain.Client != null) + { + GameMain.Client.SendChatMessage(msg); + } + } + DisplayCharacterOrder(character, order); } /// @@ -982,9 +1055,12 @@ namespace Barotrauma if (Character.Controlled == null) return false; SetCharacterOrder(character, userData as Order, option, Character.Controlled); orderTargetFrame = null; + OrderOptionButtons.Clear(); return true; } }; + + OrderOptionButtons.Add(optionButton); } } @@ -1017,9 +1093,13 @@ namespace Barotrauma if (Character.Controlled == null) return false; SetCharacterOrder(character, userData as Order, option, Character.Controlled); orderTargetFrame = null; + OrderOptionButtons.Clear(); return true; } }; + + OrderOptionButtons.Add(optionButton); + //lines between the order buttons if (i < order.Options.Length - 1) { @@ -1035,6 +1115,24 @@ namespace Barotrauma color: matchingItems.Count > 1 ? Color.Black * 0.9f : Color.Black * 0.7f); } + public void HighlightOrderButton(Character character, string orderAiTag, Color color, Vector2? flashRectInflate = null) + { + var order = Order.PrefabList.Find(o => o.AITag == orderAiTag); + if (order == null) + { + DebugConsole.ThrowError("Could not find an order with the AI tag \"" + orderAiTag + "\".\n" + Environment.StackTrace); + return; + } + var characterElement = characterListBox.Content.FindChild(character); + GUIButton orderBtn = characterElement.FindChild(order, recursive: true) as GUIButton; + if (orderBtn.Frame.FlashTimer <= 0) + { + orderBtn.Flash(color, 1.5f, false, flashRectInflate); + } + + //orderBtn.Pulsate(Vector2.One, Vector2.One * 2.0f, 1.5f); + } + #region Updating and drawing the UI private void DrawMiniMapOverlay(SpriteBatch spriteBatch, GUICustomComponent container) @@ -1092,6 +1190,7 @@ namespace Barotrauma public void SelectNextCharacter() { + if (!AllowCharacterSwitch) { return; } if (GameMain.IsMultiplayer) { return; } if (characters.None()) { return; } SelectCharacter(characters[TryAdjustIndex(1)]); @@ -1099,6 +1198,7 @@ namespace Barotrauma public void SelectPreviousCharacter() { + if (!AllowCharacterSwitch) { return; } if (GameMain.IsMultiplayer) { return; } if (characters.None()) { return; } SelectCharacter(characters[TryAdjustIndex(-1)]); @@ -1106,6 +1206,7 @@ namespace Barotrauma private void SelectCharacter(Character character) { + if (!AllowCharacterSwitch) { return; } //make the previously selected character wait in place for some time //(so they don't immediately start idling and walking away from their station) if (Character.Controlled?.AIController?.ObjectiveManager != null) diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/BasicTutorial.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/BasicTutorial.cs index 95f619e22..0a0677484 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/BasicTutorial.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/BasicTutorial.cs @@ -303,7 +303,7 @@ namespace Barotrauma.Tutorials yield return new WaitForSeconds(1.0f); - infoBox = CreateInfoFrame("Uh-oh... Something enormous just appeared on the sonar."); + infoBox = CreateInfoFrame("", "Uh-oh... Something enormous just appeared on the sonar."); List windows = new List(); foreach (Structure s in Structure.WallList) diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ContextualTutorial.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ContextualTutorial.cs index d8ac5bc80..b883c43ed 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ContextualTutorial.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ContextualTutorial.cs @@ -4,22 +4,12 @@ using System; using Microsoft.Xna.Framework; using Barotrauma.Items.Components; using System.Linq; -using Microsoft.Xna.Framework.Input; namespace Barotrauma.Tutorials { class ContextualTutorial : Tutorial { public static bool Selected = false; - public static bool ContentRunning = false; - public static bool Initialized = false; - - private enum ContentTypes { None = 0, Video = 1, TextOnly = 2 }; - - private TutorialSegment activeSegment; - private List segments; - - private VideoPlayer videoPlayer; private Steering navConsole; private Reactor reactor; @@ -33,83 +23,29 @@ namespace Barotrauma.Tutorials private List> characterTimeOnSonar; private float requiredTimeOnSonar = 5f; - private bool started = false; - private string playableContentPath; - private float tutorialTimer; private bool disableTutorialOnDeficiencyFound = true; - private GUIFrame holderFrame, objectiveFrame; - private List activeObjectives = new List(); - private string objectiveTranslated; - private float floodTutorialTimer = 0.0f; private const float floodTutorialDelay = 2.0f; private float medicalTutorialTimer = 0.0f; private const float medicalTutorialDelay = 2.0f; - private Point screenResolution; - private float prevUIScale; - - private class TutorialSegment - { - public string Id; - public string Objective; - public ContentTypes ContentType; - public XElement TextContent; - public XElement VideoContent; - public bool IsTriggered; - public GUIButton ReplayButton; - public GUITextBlock LinkedTitle, LinkedText; - - public TutorialSegment(XElement config) - { - Id = config.GetAttributeString("id", "Missing ID"); - Objective = TextManager.Get(config.GetAttributeString("objective", string.Empty), true); - Enum.TryParse(config.GetAttributeString("contenttype", "None"), true, out ContentType); - IsTriggered = config.GetAttributeBool("istriggered", false); - - switch (ContentType) - { - case ContentTypes.None: - break; - case ContentTypes.Video: - VideoContent = config.Element("Video"); - TextContent = config.Element("Text"); - break; - case ContentTypes.TextOnly: - TextContent = config.Element("Text"); - break; - } - } - } - public ContextualTutorial(XElement element) : base(element) { - playableContentPath = element.GetAttributeString("playablecontentpath", ""); - segments = new List(); - - foreach (var segment in element.Elements("Segment")) - { - segments.Add(new TutorialSegment(segment)); - } - Name = "ContextualTutorial"; } public override void Initialize() { + base.Initialize(); + for (int i = 0; i < segments.Count; i++) { segments[i].IsTriggered = false; } - if (Initialized) return; - Initialized = true; - - base.Initialize(); - videoPlayer = new VideoPlayer(); characterTimeOnSonar = new List>(); } @@ -167,10 +103,7 @@ namespace Barotrauma.Tutorials base.Start(); injuredMember = null; - activeObjectives.Clear(); - objectiveTranslated = TextManager.Get("Objective"); - CreateObjectiveFrame(); - activeSegment = null; + activeContentSegment = null; tutorialTimer = floodTutorialTimer = medicalTutorialTimer = 0.0f; subStartingPosition = Vector2.Zero; characterTimeOnSonar.Clear(); @@ -183,10 +116,10 @@ namespace Barotrauma.Tutorials #if DEBUG if (reactor == null || navConsole == null || sonar == null) { - infoBox = CreateInfoFrame("Submarine not compatible with the tutorial:" + infoBox = CreateInfoFrame("Error", "Submarine not compatible with the tutorial:" + "\nReactor - " + (reactor != null ? "OK" : "Tag 'reactor' not found") + "\nNavigation Console - " + (navConsole != null ? "OK" : "Tag 'command' not found") - + "\nSonar - " + (sonar != null ? "OK" : "Not found under Navigation Console"), true); + + "\nSonar - " + (sonar != null ? "OK" : "Not found under Navigation Console"), hasButton: true); CoroutineManager.StartCoroutine(WaitForErrorClosed()); return; } @@ -222,62 +155,15 @@ namespace Barotrauma.Tutorials } #endif - public void Stop() + public override void Stop() { - started = ContentRunning = Initialized = false; - videoPlayer.Remove(); - videoPlayer = null; + base.Stop(); characterTimeOnSonar = null; } - private void CreateObjectiveFrame() - { - holderFrame = new GUIFrame(new RectTransform(new Point(GameMain.GraphicsWidth, GameMain.GraphicsHeight), GUI.Canvas, Anchor.Center)); - objectiveFrame = new GUIFrame(HUDLayoutSettings.ToRectTransform(HUDLayoutSettings.ObjectiveAnchor, holderFrame.RectTransform), style: null); - - for (int i = 0; i < activeObjectives.Count; i++) - { - CreateObjectiveGUI(activeObjectives[i], i); - } - - screenResolution = new Point(GameMain.GraphicsWidth, GameMain.GraphicsHeight); - prevUIScale = GUI.Scale; - } - - public override void AddToGUIUpdateList() - { - if (videoPlayer != null) - { - videoPlayer.AddToGUIUpdateList(order: 100); - } - - if (GUI.DisableHUD) return; - if (GameMain.GraphicsWidth != screenResolution.X || GameMain.GraphicsHeight != screenResolution.Y || prevUIScale != GUI.Scale) - { - CreateObjectiveFrame(); - } - - if (objectiveFrame != null && activeObjectives.Count > 0) - { - objectiveFrame.AddToGUIUpdateList(order: -1); - } - base.AddToGUIUpdateList(); - } - public override void Update(float deltaTime) { - if (videoPlayer != null) - { - videoPlayer.Update(); - } - - if (infoBox != null) - { - if (PlayerInput.KeyHit(Keys.Enter) || PlayerInput.KeyHit(Keys.Escape)) - { - CloseInfoFrame(null, null); - } - } + base.Update(deltaTime); if (!started || ContentRunning) return; @@ -285,93 +171,12 @@ namespace Barotrauma.Tutorials for (int i = 0; i < segments.Count; i++) { - if (segments[i].IsTriggered || activeObjectives.Contains(segments[i])) continue; + if (segments[i].IsTriggered || HasObjective(segments[i])) continue; if (CheckContextualTutorials(i, deltaTime)) // Found a relevant tutorial, halt finding new ones { break; } } - - for (int i = 0; i < activeObjectives.Count; i++) - { - CheckActiveObjectives(activeObjectives[i], deltaTime); - } - } - - private void ClosePreTextAndTriggerVideoCallback() - { - videoPlayer.LoadContent(playableContentPath, new VideoPlayer.VideoSettings(activeSegment.VideoContent), new VideoPlayer.TextSettings(activeSegment.VideoContent), activeSegment.Id, true, activeSegment.Objective, CurrentSegmentStopCallback); - } - - private void CurrentSegmentStopCallback() - { - if (!string.IsNullOrEmpty(activeSegment.Objective)) - { - AddNewObjective(activeSegment); - } - - activeSegment = null; - ContentRunning = false; - } - - private void AddNewObjective(TutorialSegment segment) - { - activeObjectives.Add(segment); - CreateObjectiveGUI(segment, activeObjectives.Count - 1); - } - - private void CreateObjectiveGUI(TutorialSegment segment, int index) - { - Point replayButtonSize = new Point((int)(GUI.ObjectiveNameFont.MeasureString(segment.Objective).X * GUI.Scale), (int)(GUI.ObjectiveNameFont.MeasureString(segment.Objective).Y * 1.45f * GUI.Scale)); - - segment.ReplayButton = new GUIButton(new RectTransform(replayButtonSize, objectiveFrame.RectTransform, Anchor.TopRight, Pivot.TopRight) { AbsoluteOffset = new Point(0, (replayButtonSize.Y + (int)(20f * GUI.Scale)) * index) }, style: null); - segment.ReplayButton.OnClicked += (GUIButton btn, object userdata) => - { - ReplaySegmentVideo(segment); - return true; - }; - - int yOffset = (int)((GUI.ObjectiveNameFont.MeasureString(objectiveTranslated).Y / 2f + 5) * GUI.Scale); - segment.LinkedTitle = new GUITextBlock(new RectTransform(new Point(replayButtonSize.X, yOffset), segment.ReplayButton.RectTransform, Anchor.Center, Pivot.BottomCenter) { AbsoluteOffset = new Point((int)(10 * GUI.Scale), 0) }, objectiveTranslated, textColor: Color.White, font: GUI.ObjectiveTitleFont, textAlignment: Alignment.CenterRight); - segment.LinkedText = new GUITextBlock(new RectTransform(new Point(replayButtonSize.X, yOffset), segment.ReplayButton.RectTransform, Anchor.Center, Pivot.TopCenter) { AbsoluteOffset = new Point((int)(10 * GUI.Scale), 0) }, segment.Objective, textColor: new Color(4, 180, 108), font: GUI.ObjectiveNameFont, textAlignment: Alignment.CenterRight); - - segment.LinkedTitle.TextScale = segment.LinkedText.TextScale = GUI.Scale; - - segment.LinkedTitle.Color = segment.LinkedTitle.HoverColor = segment.LinkedTitle.PressedColor = segment.LinkedTitle.SelectedColor = Color.Transparent; - segment.LinkedText.Color = segment.LinkedText.HoverColor = segment.LinkedText.PressedColor = segment.LinkedText.SelectedColor = Color.Transparent; - segment.ReplayButton.Color = segment.ReplayButton.HoverColor = segment.ReplayButton.PressedColor = segment.ReplayButton.SelectedColor = Color.Transparent; - } - - private void RemoveCompletedObjective(TutorialSegment objective) - { - objective.IsTriggered = true; - - int checkMarkHeight = (int)(objective.ReplayButton.Rect.Height * 1.2f); - int checkMarkWidth = (int)(checkMarkHeight * 0.93f); - - Color color = new Color(4, 180, 108); - RectTransform rectTA = new RectTransform(new Point(checkMarkWidth, checkMarkHeight), objective.ReplayButton.RectTransform, Anchor.BottomLeft, Pivot.BottomLeft); - rectTA.AbsoluteOffset = new Point(-rectTA.Rect.Width - 5, 0); - GUIImage checkmark = new GUIImage(rectTA, "CheckMark"); - checkmark.Color = color; - - RectTransform rectTB = new RectTransform(new Vector2(1.1f, .8f), objective.LinkedText.RectTransform, Anchor.Center, Pivot.Center); - GUIImage stroke = new GUIImage(rectTB, "Stroke"); - stroke.Color = color; - - CoroutineManager.StartCoroutine(WaitForObjectiveEnd(objective)); - } - - private IEnumerable WaitForObjectiveEnd(TutorialSegment objective) - { - yield return new WaitForSeconds(2.0f); - objectiveFrame.RemoveChild(objective.ReplayButton); - activeObjectives.Remove(objective); - - for (int i = 0; i < activeObjectives.Count; i++) - { - activeObjectives[i].ReplayButton.RectTransform.AbsoluteOffset = new Point(0, (activeObjectives[i].ReplayButton.Rect.Height + 20) * i); - } } private bool CheckContextualTutorials(int index, float deltaTime) @@ -526,17 +331,7 @@ namespace Barotrauma.Tutorials return true; } - private bool HasObjective(string objectiveName) - { - for (int i = 0; i < activeObjectives.Count; i++) - { - if (activeObjectives[i].Id == objectiveName) return true; - } - - return false; - } - - private void CheckActiveObjectives(TutorialSegment objective, float deltaTime) + protected override void CheckActiveObjectives(TutorialSegment objective, float deltaTime) { switch(objective.Id) { @@ -704,50 +499,9 @@ namespace Barotrauma.Tutorials return characterTimeOnSonar.Find(ct => ct.Second >= requiredTimeOnSonar && !ct.First.IsDead) != null; } - private void TriggerTutorialSegment(int index, params object[] args) + protected override void TriggerTutorialSegment(int index, params object[] args) { - Inventory.draggingItem = null; - ContentRunning = true; - activeSegment = segments[index]; - - string tutorialText = TextManager.GetFormatted(activeSegment.TextContent.GetAttributeString("tag", ""), true, args); - string objectiveText = string.Empty; - - if (!string.IsNullOrEmpty(activeSegment.Objective)) - { - if (args.Length == 0) - { - objectiveText = activeSegment.Objective; - } - else - { - objectiveText = string.Format(activeSegment.Objective, args); - } - - activeSegment.Objective = objectiveText; - } - else - { - activeSegment.IsTriggered = true; // Complete at this stage only if no related objective - } - - switch (activeSegment.ContentType) - { - case ContentTypes.None: - break; - case ContentTypes.Video: - infoBox = CreateInfoFrame(TextManager.Get(activeSegment.Id), tutorialText, - activeSegment.TextContent.GetAttributeInt("width", 300), - activeSegment.TextContent.GetAttributeInt("height", 80), - activeSegment.TextContent.GetAttributeString("anchor", "Center"), true, ClosePreTextAndTriggerVideoCallback); - break; - case ContentTypes.TextOnly: - infoBox = CreateInfoFrame(TextManager.Get(activeSegment.Id), tutorialText, - activeSegment.TextContent.GetAttributeInt("width", 300), - activeSegment.TextContent.GetAttributeInt("height", 80), - activeSegment.TextContent.GetAttributeString("anchor", "Center"), true, CurrentSegmentStopCallback); - break; - } + base.TriggerTutorialSegment(index, args); for (int i = 0; i < segments.Count; i++) { @@ -757,13 +511,6 @@ namespace Barotrauma.Tutorials CoroutineManager.StartCoroutine(WaitToStop()); // Completed } - private void ReplaySegmentVideo(TutorialSegment segment) - { - if (ContentRunning) return; - ContentRunning = true; - videoPlayer.LoadContent(playableContentPath, new VideoPlayer.VideoSettings(segment.VideoContent), new VideoPlayer.TextSettings(segment.VideoContent), segment.Id, true, callback: () => ContentRunning = false); - } - private IEnumerable WaitToStop() { while (ContentRunning) yield return null; diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/DoctorTutorial.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/DoctorTutorial.cs index b372f675b..8ad220618 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/DoctorTutorial.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/DoctorTutorial.cs @@ -170,7 +170,7 @@ namespace Barotrauma.Tutorials yield return new WaitForSeconds(2.0f); }*/ - TriggerTutorialSegment(0, GameMain.Config.KeyBind(InputType.Select), GameMain.Config.KeyBind(InputType.Deselect)); // Medical supplies objective + TriggerTutorialSegment(0, GameMain.Config.KeyBind(InputType.Use), GameMain.Config.KeyBind(InputType.Deselect)); // Medical supplies objective do { diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/MechanicTutorial.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/MechanicTutorial.cs index 6cc78431d..ec272ba98 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/MechanicTutorial.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/MechanicTutorial.cs @@ -508,7 +508,7 @@ namespace Barotrauma.Tutorials mechanic.AddActiveObjectiveEntity(mechanic_brokenWall_2, mechanic_repairIcon, mechanic_repairIconColor); do { yield return null; } while (WallHasDamagedSections(mechanic_brokenWall_2)); mechanic.RemoveActiveObjectiveEntity(mechanic_brokenWall_2); - TriggerTutorialSegment(9, GameMain.Config.KeyBind(InputType.Use)); // Repairing machinery (pump) + TriggerTutorialSegment(9, GameMain.Config.KeyBind(InputType.Select)); // Repairing machinery (pump) SetHighlight(mechanic_brokenPump.Item, true); Repairable repairablePumpComponent = mechanic_brokenPump.Item.GetComponent(); do diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ScenarioTutorial.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ScenarioTutorial.cs index 025ae979e..cbff14dca 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ScenarioTutorial.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ScenarioTutorial.cs @@ -1,44 +1,118 @@ -using System; +using Barotrauma.Items.Components; +using Microsoft.Xna.Framework; +using System; using System.Collections.Generic; +using System.IO; +using System.Linq; using System.Xml.Linq; namespace Barotrauma.Tutorials { class ScenarioTutorial : Tutorial { + private CoroutineHandle tutorialCoroutine; + private Character character; + private string spawnSub; private SpawnType spawnPointType; private string submarinePath; + private string startOutpostPath; + private string endOutpostPath; private string levelSeed; + private string levelParams; + + private Submarine startOutpost = null; + private Submarine endOutpost = null; + private bool currentTutorialCompleted = false; + private float fadeOutTime = 3f; + protected float waitBeforeFade = 4f; + + // Colors + protected Color highlightColor = Color.OrangeRed; + protected Color uiHighlightColor = new Color(150, 50, 0); + protected Color buttonHighlightColor = new Color(255, 100, 0); + protected Color inaccessibleColor = Color.Red; + protected Color accessibleColor = Color.Green; public ScenarioTutorial(XElement element) : base(element) { submarinePath = element.GetAttributeString("submarinepath", ""); + startOutpostPath = element.GetAttributeString("startoutpostpath", ""); + endOutpostPath = element.GetAttributeString("endoutpostpath", ""); + levelSeed = element.GetAttributeString("levelseed", "tuto"); - Enum.TryParse(element.GetAttributeString("spawnpointtype", "Human"), true, out spawnPointType); + levelParams = element.GetAttributeString("levelparams", ""); + + spawnSub = element.GetAttributeString("spawnsub", ""); + Enum.TryParse(element.GetAttributeString("spawnpointtype", "Human"), true, out spawnPointType); } public override void Initialize() { base.Initialize(); + currentTutorialCompleted = false; GameMain.Instance.ShowLoading(Loading()); } + private IEnumerable Loading() + { + Submarine.MainSub = Submarine.Load(submarinePath, "", true); + + LevelGenerationParams generationParams = LevelGenerationParams.LevelParams.Find(p => p.Name == levelParams); + + yield return CoroutineStatus.Running; + + GameMain.GameSession = new GameSession(Submarine.MainSub, "", + GameModePreset.List.Find(g => g.Identifier == "tutorial")); + (GameMain.GameSession.GameMode as TutorialMode).Tutorial = this; + + if (generationParams != null) + { + Biome biome = LevelGenerationParams.GetBiomes().Find(b => generationParams.AllowedBiomes.Contains(b)); + + if (startOutpostPath != string.Empty) + { + startOutpost = Submarine.Load(startOutpostPath, "", false); + } + + if (endOutpostPath != string.Empty) + { + endOutpost = Submarine.Load(endOutpostPath, "", false); + } + + Level tutorialLevel = new Level(levelSeed, 0, 0, generationParams, biome, startOutpost, endOutpost); + GameMain.GameSession.StartRound(tutorialLevel); + } + else + { + GameMain.GameSession.StartRound(levelSeed); + } + + GameMain.GameSession.EventManager.Events.Clear(); + GameMain.GameSession.EventManager.Enabled = false; + GameMain.GameScreen.Select(); + + yield return CoroutineStatus.Success; + } + public override void Start() { base.Start(); - WayPoint wayPoint = WayPoint.GetRandom(spawnPointType, null); + Submarine.MainSub.GodMode = true; + + CharacterInfo charInfo = configElement.Element("Character") == null ? + new CharacterInfo(Character.HumanConfigFile, "", JobPrefab.List.Find(jp => jp.Identifier == "engineer")) : + new CharacterInfo(configElement.Element("Character")); + + WayPoint wayPoint = GetSpawnPoint(charInfo); + if (wayPoint == null) { DebugConsole.ThrowError("A waypoint with the spawntype \"" + spawnPointType + "\" is required for the tutorial event"); return; } - CharacterInfo charInfo = configElement.Element("Character") == null ? - new CharacterInfo(Character.HumanConfigFile, "", JobPrefab.List.Find(jp => jp.Identifier == "engineer")) : - new CharacterInfo(configElement.Element("Character")); - character = Character.Create(charInfo, wayPoint.WorldPosition, "", false, false); Character.Controlled = character; character.GiveJobItems(null); @@ -52,22 +126,82 @@ namespace Barotrauma.Tutorials idCard.AddTag("com"); idCard.AddTag("eng"); - CoroutineManager.StartCoroutine(UpdateState()); + tutorialCoroutine = CoroutineManager.StartCoroutine(UpdateState()); } - private IEnumerable Loading() + public override void AddToGUIUpdateList() { - Submarine.MainSub = Submarine.Load(submarinePath, "", true); - yield return CoroutineStatus.Running; + if (!currentTutorialCompleted) + { + base.AddToGUIUpdateList(); + } + } - GameMain.GameSession = new GameSession(Submarine.MainSub, "", - GameModePreset.List.Find(g => g.Identifier == "tutorial")); - (GameMain.GameSession.GameMode as TutorialMode).tutorial = this; - GameMain.GameSession.StartRound(levelSeed); - GameMain.GameSession.EventManager.Events.Clear(); - GameMain.GameScreen.Select(); + private WayPoint GetSpawnPoint(CharacterInfo charInfo) + { + Submarine spawnSub = null; - yield return CoroutineStatus.Success; + if (this.spawnSub != string.Empty) + { + switch (this.spawnSub) + { + case "startoutpost": + spawnSub = startOutpost; + break; + + case "endoutpost": + spawnSub = endOutpost; + break; + + default: + spawnSub = Submarine.MainSub; + break; + } + } + + return WayPoint.GetRandom(spawnPointType, charInfo.Job, spawnSub); + } + + protected bool HasOrder(Character character, string aiTag, string option = null) + { + if (character.CurrentOrder?.AITag == aiTag) + { + if (option == null) + { + return true; + } + else + { + HumanAIController humanAI = character.AIController as HumanAIController; + return humanAI.CurrentOrderOption == option; + } + } + + return false; + } + + protected void SetHighlight(Item item, bool state) + { + if (item.ExternalHighlight == state) return; + item.SpriteColor = (state) ? highlightColor : Color.White; + item.ExternalHighlight = state; + } + + protected void SetHighlight(Structure structure, bool state) + { + structure.SpriteColor = (state) ? highlightColor : Color.White; + structure.ExternalHighlight = state; + } + + protected void SetHighlight(Character character, bool state) + { + character.ExternalHighlight = state; + } + + protected void SetDoorAccess(Door door, LightComponent light, bool state) + { + if (state && door != null) door.requiredItems.Clear(); + if (light != null) light.LightColor = (state) ? accessibleColor : inaccessibleColor; } public override void Update(float deltaTime) @@ -75,27 +209,47 @@ namespace Barotrauma.Tutorials base.Update(deltaTime); if (character != null) { - if (Character.Controlled == null) + if (character.Oxygen < 1) { - CoroutineManager.StopCoroutines("TutorialMode.UpdateState"); + character.Oxygen = 1; + } + if (character.IsDead) + { + CoroutineManager.StartCoroutine(Dead()); + } + else if (Character.Controlled == null) + { + if (tutorialCoroutine != null) + { + CoroutineManager.StopCoroutines(tutorialCoroutine); + } infoBox = null; } else if (Character.Controlled.IsDead) { - Character.Controlled = null; - - CoroutineManager.StopCoroutines("TutorialMode.UpdateState"); - infoBox = null; CoroutineManager.StartCoroutine(Dead()); } } } + public override void Stop() + { + if (tutorialCoroutine != null) + { + CoroutineManager.StopCoroutines(tutorialCoroutine); + } + base.Stop(); + } + private IEnumerable Dead() { + GUI.PreventPauseMenuToggle = true; + Character.Controlled = character = null; + Stop(); + yield return new WaitForSeconds(3.0f); - var messageBox = new GUIMessageBox("You have died", "Do you want to try again?", new string[] { "Yes", "No" }); + var messageBox = new GUIMessageBox(TextManager.Get("Tutorial.TryAgainHeader"), TextManager.Get("Tutorial.TryAgain"), new string[] { TextManager.Get("Yes"), TextManager.Get("No") }); messageBox.Buttons[0].OnClicked += Restart; messageBox.Buttons[0].OnClicked += messageBox.Close; @@ -106,5 +260,29 @@ namespace Barotrauma.Tutorials yield return CoroutineStatus.Success; } + + protected IEnumerable TutorialCompleted() + { + GUI.PreventPauseMenuToggle = true; + + Character.Controlled.ClearInputs(); + Character.Controlled = null; + + yield return new WaitForSeconds(waitBeforeFade); + + var endCinematic = new RoundEndCinematic(Submarine.MainSub, GameMain.GameScreen.Cam, fadeOutTime); + currentTutorialCompleted = Completed = true; + while (endCinematic.Running) yield return null; + Stop(); + GameMain.MainMenuScreen.ReturnToMainMenu(null, null); + } + + protected void Heal(Character character) + { + character.SetAllDamage(0.0f, 0.0f, 0.0f); + character.Oxygen = 100.0f; + character.Bloodloss = 0.0f; + character.SetStun(0.0f, true); + } } } diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/Tutorial.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/Tutorial.cs index 69a5e98c9..b4f3af7a9 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/Tutorial.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/Tutorial.cs @@ -1,15 +1,23 @@ using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Input; using System; using System.Collections.Generic; using System.Reflection; +using System.Linq; using System.Xml.Linq; +using Barotrauma.Items.Components; +using Barotrauma.Extensions; namespace Barotrauma.Tutorials { abstract class Tutorial { + #region Tutorial variables + public static bool Initialized = false; + public static bool ContentRunning = false; public static List Tutorials; + protected bool started = false; protected GUIComponent infoBox; private Action infoBoxClosedCallback; protected XElement configElement; @@ -17,6 +25,54 @@ namespace Barotrauma.Tutorials private enum TutorialType { None, Scenario, Contextual }; private TutorialType tutorialType = TutorialType.None; + protected VideoPlayer videoPlayer; + protected enum TutorialContentTypes { None = 0, Video = 1, ManualVideo = 2, TextOnly = 3 }; + protected string playableContentPath; + protected Point screenResolution; + protected float prevUIScale; + + private GUIFrame holderFrame, objectiveFrame; + private List activeObjectives = new List(); + private string objectiveTranslated; + + protected TutorialSegment activeContentSegment; + protected List segments; + + protected class TutorialSegment + { + public string Id; + public string Objective; + public TutorialContentTypes ContentType; + public XElement TextContent; + public XElement VideoContent; + public bool IsTriggered; + public GUIButton ReplayButton; + public GUITextBlock LinkedTitle, LinkedText; + public object[] Args; + + public TutorialSegment(XElement config) + { + Id = config.GetAttributeString("id", "Missing ID"); + Objective = TextManager.Get(config.GetAttributeString("objective", string.Empty), true); + Enum.TryParse(config.GetAttributeString("contenttype", "None"), true, out ContentType); + IsTriggered = config.GetAttributeBool("istriggered", false); + + switch (ContentType) + { + case TutorialContentTypes.None: + break; + case TutorialContentTypes.Video: + case TutorialContentTypes.ManualVideo: + VideoContent = config.Element("Video"); + TextContent = config.Element("Text"); + break; + case TutorialContentTypes.TextOnly: + TextContent = config.Element("Text"); + break; + } + } + } + public string Name { get; @@ -34,7 +90,9 @@ namespace Barotrauma.Tutorials GameMain.Config.SaveNewPlayerConfig(); } } + #endregion + #region Tutorial Controls public static void Init() { Tutorials = new List(); @@ -107,26 +165,85 @@ namespace Barotrauma.Tutorials Name = element.GetAttributeString("name", "Unnamed"); completed = GameMain.Config.CompletedTutorialNames.Contains(Name); Enum.TryParse(element.GetAttributeString("tutorialtype", "Scenario"), true, out tutorialType); + playableContentPath = element.GetAttributeString("playablecontentpath", ""); + + segments = new List(); + + foreach (var segment in element.Elements("Segment")) + { + segments.Add(new TutorialSegment(segment)); + } } public virtual void Initialize() { - + if (Initialized) return; + Initialized = true; + videoPlayer = new VideoPlayer(); } public virtual void Start() { - + activeObjectives.Clear(); + objectiveTranslated = TextManager.Get("Tutorial.Objective"); + CreateObjectiveFrame(); + + // Setup doors: Clear all requirements, unless the door is setup as locked. + foreach (var item in Item.ItemList) + { + var door = item.GetComponent(); + if (door != null) + { + if (door.requiredItems.Values.None(ris => ris.None(ri => ri.Identifiers.None(i => i == "locked")))) + { + door.requiredItems.Clear(); + } + } + } } public virtual void AddToGUIUpdateList() { + if (GameMain.GraphicsWidth != screenResolution.X || GameMain.GraphicsHeight != screenResolution.Y || prevUIScale != GUI.Scale) + { + CreateObjectiveFrame(); + } + + if (objectiveFrame != null && activeObjectives.Count > 0) + { + objectiveFrame.AddToGUIUpdateList(order: -1); + } + if (infoBox != null) infoBox.AddToGUIUpdateList(order: 100); + if (videoPlayer != null) videoPlayer.AddToGUIUpdateList(order: 100); } public virtual void Update(float deltaTime) { - + if (videoPlayer != null) + { + videoPlayer.Update(); + } + + if (activeObjectives != null) + { + for (int i = 0; i < activeObjectives.Count; i++) + { + CheckActiveObjectives(activeObjectives[i], deltaTime); + } + } + } + + public void CloseActiveContentGUI() + { + if (videoPlayer.IsPlaying) + { + videoPlayer.Stop(); + } + else if (infoBox != null) + { + CloseInfoFrame(null, null); + } } public virtual IEnumerable UpdateState() @@ -134,6 +251,233 @@ namespace Barotrauma.Tutorials yield return CoroutineStatus.Success; } + protected bool Restart(GUIButton button, object obj) + { + GUI.PreventPauseMenuToggle = false; + TutorialMode.StartTutorial(this); + return true; + } + + protected virtual void TriggerTutorialSegment(int index, params object[] args) + { + Inventory.draggingItem = null; + ContentRunning = true; + activeContentSegment = segments[index]; + segments[index].Args = args; + + string tutorialText = TextManager.GetFormatted(activeContentSegment.TextContent.GetAttributeString("tag", ""), true, args); + tutorialText = TextManager.ParseInputTypes(tutorialText); + string objectiveText = string.Empty; + + if (!string.IsNullOrEmpty(activeContentSegment.Objective)) + { + if (args.Length == 0) + { + objectiveText = activeContentSegment.Objective; + } + else + { + objectiveText = string.Format(activeContentSegment.Objective, args); + } + objectiveText = TextManager.ParseInputTypes(objectiveText); + activeContentSegment.Objective = objectiveText; + } + else + { + activeContentSegment.IsTriggered = true; // Complete at this stage only if no related objective + } + + + switch (activeContentSegment.ContentType) + { + case TutorialContentTypes.None: + break; + case TutorialContentTypes.Video: + infoBox = CreateInfoFrame(TextManager.Get(activeContentSegment.Id), tutorialText, + activeContentSegment.TextContent.GetAttributeInt("width", 300), + activeContentSegment.TextContent.GetAttributeInt("height", 80), + activeContentSegment.TextContent.GetAttributeString("anchor", "Center"), true, () => LoadVideo(activeContentSegment)); + break; + case TutorialContentTypes.ManualVideo: + infoBox = CreateInfoFrame(TextManager.Get(activeContentSegment.Id), tutorialText, + activeContentSegment.TextContent.GetAttributeInt("width", 300), + activeContentSegment.TextContent.GetAttributeInt("height", 80), + activeContentSegment.TextContent.GetAttributeString("anchor", "Center"), true, StopCurrentContentSegment, () => LoadVideo(activeContentSegment, false)); + break; + case TutorialContentTypes.TextOnly: + infoBox = CreateInfoFrame(TextManager.Get(activeContentSegment.Id), tutorialText, + activeContentSegment.TextContent.GetAttributeInt("width", 300), + activeContentSegment.TextContent.GetAttributeInt("height", 80), + activeContentSegment.TextContent.GetAttributeString("anchor", "Center"), true, StopCurrentContentSegment); + break; + } + } + + public virtual void Stop() + { + started = ContentRunning = Initialized = false; + infoBox = null; + if (videoPlayer != null) + { + videoPlayer.Remove(); + videoPlayer = null; + } + } + #endregion + + #region Objectives + private void CreateObjectiveFrame() + { + holderFrame = new GUIFrame(new RectTransform(new Point(GameMain.GraphicsWidth, GameMain.GraphicsHeight), GUI.Canvas, Anchor.Center)); + objectiveFrame = new GUIFrame(HUDLayoutSettings.ToRectTransform(HUDLayoutSettings.ObjectiveAnchor, holderFrame.RectTransform), style: null); + + for (int i = 0; i < activeObjectives.Count; i++) + { + CreateObjectiveGUI(activeObjectives[i], i, activeObjectives[i].ContentType); + } + + screenResolution = new Point(GameMain.GraphicsWidth, GameMain.GraphicsHeight); + prevUIScale = GUI.Scale; + } + + protected void StopCurrentContentSegment() + { + if (!string.IsNullOrEmpty(activeContentSegment.Objective)) + { + AddNewObjective(activeContentSegment, activeContentSegment.ContentType); + } + + activeContentSegment = null; + ContentRunning = false; + } + + protected virtual void CheckActiveObjectives(TutorialSegment objective, float deltaTime) + { + + } + + protected bool HasObjective(TutorialSegment segment) + { + return activeObjectives.Contains(segment); + } + + protected void AddNewObjective(TutorialSegment segment, TutorialContentTypes type) + { + activeObjectives.Add(segment); + CreateObjectiveGUI(segment, activeObjectives.Count - 1, type); + } + + private void CreateObjectiveGUI(TutorialSegment segment, int index, TutorialContentTypes type) + { + Point replayButtonSize = new Point((int)(GUI.ObjectiveNameFont.MeasureString(segment.Objective).X * GUI.Scale), (int)(GUI.ObjectiveNameFont.MeasureString(segment.Objective).Y * 1.45f * GUI.Scale)); + + segment.ReplayButton = new GUIButton(new RectTransform(replayButtonSize, objectiveFrame.RectTransform, Anchor.TopRight, Pivot.TopRight) { AbsoluteOffset = new Point(0, (replayButtonSize.Y + (int)(20f * GUI.Scale)) * index) }, style: null); + segment.ReplayButton.OnClicked += (GUIButton btn, object userdata) => + { + if (type == TutorialContentTypes.Video) + { + ReplaySegmentVideo(segment); + } + else + { + ShowSegmentText(segment); + } + return true; + }; + + string objectiveText = TextManager.ParseInputTypes(objectiveTranslated); + int yOffset = (int)((GUI.ObjectiveNameFont.MeasureString(objectiveText).Y / 2f + 5) * GUI.Scale); + segment.LinkedTitle = new GUITextBlock(new RectTransform(new Point((int)GUI.ObjectiveNameFont.MeasureString(objectiveText).X, yOffset), segment.ReplayButton.RectTransform, Anchor.CenterRight, Pivot.BottomRight) { AbsoluteOffset = new Point((int)(-10 * GUI.Scale), 0) }, + objectiveText, textColor: Color.White, font: GUI.ObjectiveTitleFont, textAlignment: Alignment.CenterRight); + segment.LinkedText = new GUITextBlock(new RectTransform(new Point(replayButtonSize.X, yOffset), segment.ReplayButton.RectTransform, Anchor.Center, Pivot.TopCenter) { AbsoluteOffset = new Point((int)(10 * GUI.Scale), 0) }, + TextManager.ParseInputTypes(segment.Objective), textColor: new Color(4, 180, 108), font: GUI.ObjectiveNameFont, textAlignment: Alignment.CenterRight); + + segment.LinkedTitle.TextScale = segment.LinkedText.TextScale = GUI.Scale; + + segment.LinkedTitle.Color = segment.LinkedTitle.HoverColor = segment.LinkedTitle.PressedColor = segment.LinkedTitle.SelectedColor = Color.Transparent; + segment.LinkedText.Color = segment.LinkedText.HoverColor = segment.LinkedText.PressedColor = segment.LinkedText.SelectedColor = Color.Transparent; + segment.ReplayButton.Color = segment.ReplayButton.HoverColor = segment.ReplayButton.PressedColor = segment.ReplayButton.SelectedColor = Color.Transparent; + } + + private void ReplaySegmentVideo(TutorialSegment segment) + { + if (ContentRunning) return; + ContentRunning = true; + videoPlayer.LoadContent(playableContentPath, new VideoPlayer.VideoSettings(segment.VideoContent), new VideoPlayer.TextSettings(segment.VideoContent), segment.Id, true, callback: () => ContentRunning = false); + } + + private void ShowSegmentText(TutorialSegment segment) + { + if (ContentRunning) return; + Inventory.draggingItem = null; + ContentRunning = true; + + string tutorialText = TextManager.GetFormatted(segment.TextContent.GetAttributeString("tag", ""), true, segment.Args); + + Action videoAction = null; + + if (segment.ContentType != TutorialContentTypes.TextOnly) + { + videoAction = () => LoadVideo(segment, false); + } + + infoBox = CreateInfoFrame(TextManager.Get(segment.Id), tutorialText, + segment.TextContent.GetAttributeInt("width", 300), + segment.TextContent.GetAttributeInt("height", 80), + segment.TextContent.GetAttributeString("anchor", "Center"), true, () => ContentRunning = false, videoAction); + } + + protected void RemoveCompletedObjective(TutorialSegment segment) + { + if (!HasObjective(segment)) return; + segment.IsTriggered = true; + segment.ReplayButton.OnClicked = null; + + int checkMarkHeight = (int)(segment.ReplayButton.Rect.Height * 1.2f); + int checkMarkWidth = (int)(checkMarkHeight * 0.93f); + + Color color = new Color(4, 180, 108); + + int objectiveTextWidth = segment.LinkedText.Rect.Width; + int objectiveTitleWidth = segment.LinkedTitle.Rect.Width; + + RectTransform rectTA; + if (objectiveTextWidth > objectiveTitleWidth) + { + rectTA = new RectTransform(new Point(checkMarkWidth, checkMarkHeight), segment.ReplayButton.RectTransform, Anchor.BottomLeft, Pivot.BottomLeft); + rectTA.AbsoluteOffset = new Point(-rectTA.Rect.Width - 5, 0); + } + else + { + rectTA = new RectTransform(new Point(checkMarkWidth, checkMarkHeight), segment.ReplayButton.RectTransform, Anchor.BottomLeft, Pivot.BottomLeft); + rectTA.AbsoluteOffset = new Point(-rectTA.Rect.Width - 5 - (objectiveTitleWidth), 0); + } + + GUIImage checkmark = new GUIImage(rectTA, "CheckMark"); + checkmark.Color = checkmark.SelectedColor = checkmark.HoverColor = checkmark.PressedColor = color; + + RectTransform rectTB = new RectTransform(new Vector2(1.1f, .8f), segment.LinkedText.RectTransform, Anchor.Center, Pivot.Center); + GUIImage stroke = new GUIImage(rectTB, "Stroke"); + stroke.Color = stroke.SelectedColor = stroke.HoverColor = stroke.PressedColor = color; + + CoroutineManager.StartCoroutine(WaitForObjectiveEnd(segment)); + } + + private IEnumerable WaitForObjectiveEnd(TutorialSegment objective) + { + yield return new WaitForSeconds(2.0f); + objectiveFrame.RemoveChild(objective.ReplayButton); + activeObjectives.Remove(objective); + + for (int i = 0; i < activeObjectives.Count; i++) + { + activeObjectives[i].ReplayButton.RectTransform.AbsoluteOffset = new Point(0, (activeObjectives[i].ReplayButton.Rect.Height + 20) * i); + } + } + + #endregion + + #region InfoFrame protected bool CloseInfoFrame(GUIButton button, object userData) { infoBox = null; @@ -141,73 +485,71 @@ namespace Barotrauma.Tutorials return true; } - protected GUIComponent CreateInfoFrame(string text, bool hasButton = false, Action callback = null) + protected GUIComponent CreateInfoFrame(string title, string text, int width = 300, int height = 80, string anchorStr = "", bool hasButton = false, Action callback = null, Action showVideo = null) { - int width = 300; - int height = hasButton ? 110 : 80; + if (hasButton) height += 60; - string wrappedText = ToolBox.WrapText(text, width, GUI.Font); - - height += wrappedText.Split('\n').Length * 25; - - var infoBlock = new GUIFrame(new RectTransform(new Point(width, height), GUI.Canvas, Anchor.TopRight) { AbsoluteOffset = new Point(20) }); - infoBlock.Flash(Color.Green); - - var textBlock = new GUITextBlock(new RectTransform(new Vector2(0.9f, 0.7f), infoBlock.RectTransform, Anchor.Center), - text, wrap: true); - - infoBoxClosedCallback = callback; - - if (hasButton) - { - var okButton = new GUIButton(new RectTransform(new Point(160, 50), infoBlock.RectTransform, Anchor.BottomCenter, Pivot.TopCenter) { AbsoluteOffset = new Point(0, -10) }, - TextManager.Get("OK")) - { - OnClicked = CloseInfoFrame - }; - } - - GUI.PlayUISound(GUISoundType.UIMessage); - - return infoBlock; - } - - protected GUIComponent CreateInfoFrame(string title, string text, int width, int height, string anchorStr, bool hasButton = false, Action callback = null) - { - if (hasButton) height += 30; - - string wrappedText = ToolBox.WrapText(text, width, GUI.Font); - - height += wrappedText.Split('\n').Length * 25; + float textScale = GUI.Scale; + string wrappedText = ToolBox.WrapText(text, width, GUI.Font, textScale); + height += (int)(GUI.Font.MeasureString(wrappedText).Y * textScale + 50); if (title.Length > 0) { height += 35; } Anchor anchor = Anchor.TopRight; - Enum.TryParse(anchorStr, out anchor); - var infoBlock = new GUIFrame(new RectTransform(new Point((int)(width * GUI.Scale), (int)(height * GUI.Scale)), GUI.Canvas, anchor) { AbsoluteOffset = new Point(20) }); + if (anchorStr != string.Empty) + { + Enum.TryParse(anchorStr, out anchor); + } + + var background = new GUIFrame(new RectTransform(new Point(GameMain.GraphicsWidth, GameMain.GraphicsHeight), GUI.Canvas, Anchor.Center), "InnerFrame", new Color(0, 0, 0, 1f)); + + var infoBlock = new GUIFrame(new RectTransform(new Point((int)(width * GUI.Scale), (int)(height * GUI.Scale)), background.RectTransform, anchor) { AbsoluteOffset = new Point(20) }); infoBlock.Flash(Color.Green); + var infoContent = new GUILayoutGroup(new RectTransform(new Vector2(0.9f, 0.8f), infoBlock.RectTransform, Anchor.Center)) + { + Stretch = true, + RelativeSpacing = 0.02f + }; + if (title.Length > 0) { - var titleBlock = new GUITextBlock(new RectTransform(new Vector2(1f, .35f), infoBlock.RectTransform, Anchor.TopCenter, - Pivot.TopCenter), title, font: GUI.VideoTitleFont, textAlignment: Alignment.Center, textColor: new Color(253, 174, 0)); - titleBlock.TextScale = GUI.Scale; + var titleBlock = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.3f), infoContent.RectTransform), + title, font: GUI.VideoTitleFont, textAlignment: Alignment.Center, textColor: new Color(253, 174, 0)); + titleBlock.TextScale = textScale; } - var textBlock = new GUITextBlock(new RectTransform(new Vector2(0.9f, 1f), infoBlock.RectTransform, Anchor.BottomCenter), - text, wrap: true); - textBlock.TextScale = GUI.Scale; + var textBlock = new GUITextBlock(new RectTransform(new Vector2(1.0f, 1.0f), infoContent.RectTransform), text, wrap: true); infoBoxClosedCallback = callback; if (hasButton) { - var okButton = new GUIButton(new RectTransform(new Point(160, 50), infoBlock.RectTransform, Anchor.BottomCenter, Pivot.TopCenter) { AbsoluteOffset = new Point(0, -10) }, - TextManager.Get("OK")) + var buttonContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.3f), infoContent.RectTransform) { MinSize = new Point(0, 30), MaxSize = new Point((int) infoContent.Rect.X, 60) }, isHorizontal: true) + { + Stretch = true, + RelativeSpacing = 0.1f + }; + + if (showVideo != null) + { + var videoButton = new GUIButton(new RectTransform(new Vector2(0.4f, 1.0f), buttonContainer.RectTransform), + TextManager.Get("Video"), style: "GUIButtonLarge") + { + OnClicked = (GUIButton button, object obj) => + { + showVideo(); + return true; + } + }; + } + + var okButton = new GUIButton(new RectTransform(new Vector2(0.6f, 1.0f), buttonContainer.RectTransform), + TextManager.Get("OK"), style: "GUIButtonLarge") { OnClicked = CloseInfoFrame }; @@ -215,13 +557,55 @@ namespace Barotrauma.Tutorials GUI.PlayUISound(GUISoundType.UIMessage); - return infoBlock; + return background; + } + #endregion + + #region Video + protected void LoadVideo(TutorialSegment segment, bool showText = true) + { + if (videoPlayer == null) videoPlayer = new VideoPlayer(); + if (showText) + { + videoPlayer.LoadContent(playableContentPath, new VideoPlayer.VideoSettings(segment.VideoContent), new VideoPlayer.TextSettings(segment.VideoContent), segment.Id, true, segment.Objective, StopCurrentContentSegment); + } + else + { + videoPlayer.LoadContent(playableContentPath, new VideoPlayer.VideoSettings(segment.VideoContent), null, segment.Id, true, segment.Objective, null); + } + } + #endregion + + #region Highlights + protected void HighlightInventorySlot(Inventory inventory, string identifier, Color color, float fadeInDuration, float fadeOutDuration, float scaleUpAmount) + { + if (inventory.slots == null) { return; } + for (int i = 0; i < inventory.Items.Length; i++) + { + if (inventory.Items[i] != null && inventory.Items[i].Prefab.Identifier == identifier) + { + HighlightInventorySlot(inventory, i, color, fadeInDuration, fadeOutDuration, scaleUpAmount); + } + } } - protected bool Restart(GUIButton button, object obj) + protected void HighlightInventorySlotWithTag(Inventory inventory, string tag, Color color, float fadeInDuration, float fadeOutDuration, float scaleUpAmount) { - TutorialMode.StartTutorial(this); - return true; + if (inventory.slots == null) { return; } + for (int i = 0; i < inventory.Items.Length; i++) + { + if (inventory.Items[i] != null && inventory.Items[i].HasTag(tag)) + { + HighlightInventorySlot(inventory, i, color, fadeInDuration, fadeOutDuration, scaleUpAmount); + } + } } + + protected void HighlightInventorySlot(Inventory inventory, int index, Color color, float fadeInDuration, float fadeOutDuration, float scaleUpAmount) + { + if (inventory.slots == null || index < 0 || inventory.slots[index].HighlightTimer > 0) return; + inventory.slots[index].ShowBorderHighlight(color, fadeInDuration, fadeOutDuration, scaleUpAmount); + } + #endregion } } diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/TutorialMode.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/TutorialMode.cs index 942168cfb..407f742e9 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/TutorialMode.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/TutorialMode.cs @@ -4,7 +4,7 @@ namespace Barotrauma { class TutorialMode : GameMode { - public Tutorial tutorial; + public Tutorial Tutorial; public static void StartTutorial(Tutorial tutorial) { @@ -19,18 +19,20 @@ namespace Barotrauma public override void Start() { base.Start(); - tutorial.Start(); + GameMain.GameSession.CrewManager = new CrewManager(true); + Tutorial.Start(); } public override void AddToGUIUpdateList() { - tutorial.AddToGUIUpdateList(); + base.AddToGUIUpdateList(); + Tutorial.AddToGUIUpdateList(); } public override void Update(float deltaTime) { base.Update(deltaTime); - tutorial.Update(deltaTime); + Tutorial.Update(deltaTime); } } } diff --git a/Barotrauma/BarotraumaClient/Source/Items/CharacterInventory.cs b/Barotrauma/BarotraumaClient/Source/Items/CharacterInventory.cs index 532e98df2..3e479aa80 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/CharacterInventory.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/CharacterInventory.cs @@ -100,6 +100,7 @@ namespace Barotrauma limbSlotIcons.Add(InvSlotType.Head, new Sprite("Content/UI/IconAtlas.png", new Rectangle(896 + margin, 128 + margin, 128 - margin * 2, 128 - margin * 2))); limbSlotIcons.Add(InvSlotType.LeftHand, new Sprite("Content/UI/IconAtlas.png", new Rectangle(640 + margin, 383 + margin, 128 - margin * 2, 128 - margin * 2))); limbSlotIcons.Add(InvSlotType.RightHand, new Sprite("Content/UI/IconAtlas.png", new Rectangle(768 + margin, 383 + margin, 128 - margin * 2, 128 - margin * 2))); + limbSlotIcons.Add(InvSlotType.OuterClothes, new Sprite("Content/UI/IconAtlas.png", new Rectangle(768 + margin, 896 + margin, 128 - margin * 2, 128 - margin * 2))); } SlotPositions = new Vector2[SlotTypes.Length]; CurrentLayout = Layout.Default; diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/LightComponent.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/LightComponent.cs index 141433f4e..7f676175e 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/LightComponent.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/LightComponent.cs @@ -23,7 +23,7 @@ namespace Barotrauma.Items.Components { if (light.LightSprite != null && (item.body == null || item.body.Enabled) && lightBrightness > 0.0f) { - light.LightSprite.Draw(spriteBatch, new Vector2(item.DrawPosition.X, -item.DrawPosition.Y), lightColor * lightBrightness, 0.0f, 1.0f, Microsoft.Xna.Framework.Graphics.SpriteEffects.None, item.SpriteDepth - 0.0001f); + light.LightSprite.Draw(spriteBatch, new Vector2(item.DrawPosition.X, -item.DrawPosition.Y), lightColor * lightBrightness, 0.0f, item.Scale, SpriteEffects.None, item.SpriteDepth - 0.0001f); } } diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Deconstructor.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Deconstructor.cs index 85150941e..cb8889292 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Deconstructor.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Deconstructor.cs @@ -9,6 +9,10 @@ namespace Barotrauma.Items.Components { partial class Deconstructor : Powered, IServerSerializable, IClientSerializable { + public GUIButton ActivateButton + { + get { return activateButton; } + } private GUIButton activateButton; private GUIComponent inputInventoryHolder, outputInventoryHolder; private GUICustomComponent inputInventoryOverlay; @@ -44,7 +48,6 @@ namespace Barotrauma.Items.Components Visible = false, CanBeFocused = false }; - outputInventoryHolder = new GUIFrame(new RectTransform(new Vector2(1.0f, 0.3f), paddedFrame.RectTransform), style: null); } @@ -71,7 +74,7 @@ namespace Barotrauma.Items.Components public override void UpdateHUD(Character character, float deltaTime, Camera cam) { inSufficientPowerWarning.Visible = powerConsumption > 0 && voltage < minVoltage; - activateButton.Enabled = !inSufficientPowerWarning.Visible; + //activateButton.Enabled = !inSufficientPowerWarning.Visible; } private bool ToggleActive(GUIButton button, object obj) diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Fabricator.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Fabricator.cs index 4dc0b89a1..f01906f3d 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Fabricator.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Fabricator.cs @@ -15,6 +15,10 @@ namespace Barotrauma.Items.Components private GUIFrame selectedItemFrame; + public GUIButton ActivateButton + { + get { return activateButton; } + } private GUIButton activateButton; private GUITextBox itemFilterBox; @@ -22,6 +26,10 @@ namespace Barotrauma.Items.Components private GUIComponent inputInventoryHolder, outputInventoryHolder; private GUICustomComponent inputInventoryOverlay, outputInventoryOverlay; + public FabricationRecipe SelectedItem + { + get { return selectedItem; } + } private FabricationRecipe selectedItem; private GUIComponent inSufficientPowerWarning; @@ -73,7 +81,31 @@ namespace Barotrauma.Items.Components { CanBeFocused = false }; - + + CreateRecipes(); + + activateButton = new GUIButton(new RectTransform(new Vector2(0.8f, 0.07f), paddedFrame.RectTransform), + TextManager.Get("FabricatorCreate"), style: "GUIButtonLarge") + { + OnClicked = StartButtonClicked, + UserData = selectedItem, + Enabled = false + }; + + inSufficientPowerWarning = new GUITextBlock(new RectTransform(Vector2.One, activateButton.RectTransform), TextManager.Get("FabricatorNoPower"), + textColor: Color.Orange, textAlignment: Alignment.Center, color: Color.Black, style: "OuterGlow") + { + HoverColor = Color.Black, + IgnoreLayoutGroups = true, + Visible = false, + CanBeFocused = false + }; + } + + partial void CreateRecipes() + { + itemList.Content.RectTransform.ClearChildren(); + foreach (FabricationRecipe fi in fabricationRecipes) { GUIFrame frame = new GUIFrame(new RectTransform(new Point(itemList.Rect.Width, 30), itemList.Content.RectTransform), style: null) @@ -101,23 +133,6 @@ namespace Barotrauma.Items.Components }; } } - - activateButton = new GUIButton(new RectTransform(new Vector2(0.8f, 0.07f), paddedFrame.RectTransform), - TextManager.Get("FabricatorCreate"), style: "GUIButtonLarge") - { - OnClicked = StartButtonClicked, - UserData = selectedItem, - Enabled = false - }; - - inSufficientPowerWarning = new GUITextBlock(new RectTransform(Vector2.One, activateButton.RectTransform), TextManager.Get("FabricatorNoPower"), - textColor: Color.Orange, textAlignment: Alignment.Center, color: Color.Black, style: "OuterGlow") - { - HoverColor = Color.Black, - IgnoreLayoutGroups = true, - Visible = false, - CanBeFocused = false - }; } partial void OnItemLoadedProjSpecific() @@ -241,6 +256,7 @@ namespace Barotrauma.Items.Components } } } + private void DrawOutputOverLay(SpriteBatch spriteBatch, GUICustomComponent overlayComponent) { overlayComponent.RectTransform.SetAsLastChild(); @@ -363,6 +379,29 @@ namespace Barotrauma.Items.Components return true; } + public void HighlightRecipe(string identifier, Color color) + { + foreach (GUIComponent child in itemList.Content.Children) + { + FabricationRecipe recipe = child.UserData as FabricationRecipe; + if (recipe?.DisplayName == null) { continue; } + if (recipe.TargetItem.Identifier == identifier) + { + if (child.FlashTimer > 0.0f) return; + child.Flash(color, 1.5f, false); + + for (int i = 0; i < child.CountChildren; i++) + { + var grandChild = child.GetChild(i); + if (grandChild is GUITextBlock) continue; + grandChild.Flash(color, 1.5f, false); + } + + return; + } + } + } + private bool StartButtonClicked(GUIButton button, object obj) { if (selectedItem == null) { return false; } diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Pump.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Pump.cs index b13727818..5ef0e010c 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Pump.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Pump.cs @@ -10,6 +10,10 @@ namespace Barotrauma.Items.Components { partial class Pump : Powered, IServerSerializable, IClientSerializable { + public GUIScrollBar IsActiveSlider + { + get { return isActiveSlider; } + } private GUIScrollBar isActiveSlider; private GUIScrollBar pumpSpeedSlider; private GUITickBox powerIndicator; @@ -49,7 +53,6 @@ namespace Barotrauma.Items.Components }; var sliderHandle = isActiveSlider.GetChild(); sliderHandle.RectTransform.NonScaledSize = new Point(84, sliderHandle.Rect.Height); - isActiveSlider.OnMoved = (GUIScrollBar scrollBar, float barScroll) => { bool active = scrollBar.BarScroll < 0.5f; diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Reactor.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Reactor.cs index 893943a62..b4d53d0e0 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Reactor.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Reactor.cs @@ -11,7 +11,16 @@ namespace Barotrauma.Items.Components { partial class Reactor : Powered, IServerSerializable, IClientSerializable { + public GUIScrollBar AutoTempSlider + { + get { return autoTempSlider; } + } private GUIScrollBar autoTempSlider; + + public GUIScrollBar OnOffSwitch + { + get { return onOffSwitch; } + } private GUIScrollBar onOffSwitch; private const int GraphSize = 25; @@ -27,7 +36,16 @@ namespace Barotrauma.Items.Components private Sprite graphLine; + public GUIScrollBar FissionRateScrollBar + { + get { return fissionRateScrollBar; } + } private GUIScrollBar fissionRateScrollBar; + + public GUIScrollBar TurbineOutputScrollBar + { + get { return turbineOutputScrollBar; } + } private GUIScrollBar turbineOutputScrollBar; private float[] outputGraph = new float[GraphSize]; diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Sonar.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Sonar.cs index 3c20dbb30..0c7c9c058 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Sonar.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Machines/Sonar.cs @@ -20,6 +20,10 @@ namespace Barotrauma.Items.Components private bool unsentChanges; private float networkUpdateTimer; + public GUITickBox ActiveTickBox + { + get { return activeTickBox; } + } private GUITickBox activeTickBox, passiveTickBox; private GUITextBlock signalWarningText; diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Repairable.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Repairable.cs index ddd2ffb29..5cde6d3ec 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Repairable.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Repairable.cs @@ -10,6 +10,10 @@ namespace Barotrauma.Items.Components { partial class Repairable : ItemComponent, IDrawableComponent { + public GUIButton RepairButton + { + get { return repairButton; } + } private GUIButton repairButton; private GUIProgressBar progressBar; diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Signal/Connection.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Signal/Connection.cs index 53c247abe..f5a3c8999 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Signal/Connection.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Signal/Connection.cs @@ -18,6 +18,14 @@ namespace Barotrauma.Items.Components private static Wire draggingConnected; + private Color flashColor; + private float flashDuration = 1.5f; + public float FlashTimer + { + get { return flashTimer; } + } + private float flashTimer; + public static void DrawConnections(SpriteBatch spriteBatch, ConnectionPanel panel, Character character) { Rectangle panelRect = panel.GuiFrame.Rect; @@ -174,14 +182,38 @@ namespace Barotrauma.Items.Components } } } - + + if (flashTimer > 0.0f) + { + //the number of flashes depends on the duration, 1 flash per 1 full second + int flashCycleCount = (int)Math.Max(flashDuration, 1); + float flashCycleDuration = flashDuration / flashCycleCount; + + //MathHelper.Pi * 0.8f -> the curve goes from 144 deg to 0, + //i.e. quickly bumps up from almost full brightness to full and then fades out + connectionSpriteHighlight.Draw(spriteBatch, position, flashColor * (float)Math.Sin(flashTimer % flashCycleDuration / flashCycleDuration * MathHelper.Pi * 0.8f)); + } + if (Wires.Any(w => w != null && w != draggingConnected)) { int screwIndex = (int)Math.Floor(position.Y / 30.0f) % screwSprites.Count; screwSprites[screwIndex].Draw(spriteBatch, position); } } - + + public void Flash(Color? color = null, float flashDuration = 1.5f) + { + flashTimer = flashDuration; + this.flashDuration = flashDuration; + flashColor = (color == null) ? Color.Red : (Color)color; + } + + public void UpdateFlashTimer(float deltaTime) + { + if (flashTimer <= 0) return; + flashTimer -= deltaTime; + } + private static void DrawWire(SpriteBatch spriteBatch, Wire wire, Item item, Vector2 end, Vector2 start, bool mouseIn, Wire equippedWire, ConnectionPanel panel, string label) { if (draggingConnected == wire) diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/Signal/CustomInterface.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/Signal/CustomInterface.cs index fe1fbc065..124992e2c 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/Signal/CustomInterface.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/Signal/CustomInterface.cs @@ -92,6 +92,25 @@ namespace Barotrauma.Items.Components } } + public void HighlightElement(int index, Color color, float duration, float pulsateAmount = 0.0f) + { + if (index < 0 || index >= uiElements.Count) { return; } + uiElements[index].Flash(color, duration); + + if (pulsateAmount > 0.0f) + { + if (uiElements[index] is GUIButton button) + { + button.Frame.Pulsate(Vector2.One, Vector2.One * (1.0f + pulsateAmount), duration); + button.Frame.RectTransform.SetPosition(Anchor.Center); + } + else + { + uiElements[index].Pulsate(Vector2.One, Vector2.One * (1.0f + pulsateAmount), duration); + } + } + } + partial void UpdateLabelsProjSpecific() { for (int i = 0; i < labels.Length && i < uiElements.Count; i++) diff --git a/Barotrauma/BarotraumaClient/Source/Items/Inventory.cs b/Barotrauma/BarotraumaClient/Source/Items/Inventory.cs index 30eaf8155..8fb30030a 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Inventory.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Inventory.cs @@ -26,6 +26,7 @@ namespace Barotrauma public Color Color; public Color HighlightColor; + public float HighlightScaleUpAmount; private CoroutineHandle highlightCoroutine; public float HighlightTimer; @@ -80,7 +81,7 @@ namespace Barotrauma return rect.Contains(PlayerInput.MousePosition); } - public void ShowBorderHighlight(Color color, float fadeInDuration, float fadeOutDuration) + public void ShowBorderHighlight(Color color, float fadeInDuration, float fadeOutDuration, float scaleUpAmount = 0.5f) { if (highlightCoroutine != null) { @@ -88,6 +89,7 @@ namespace Barotrauma highlightCoroutine = null; } + HighlightScaleUpAmount = scaleUpAmount; highlightCoroutine = CoroutineManager.StartCoroutine(UpdateBorderHighlight(color, fadeInDuration, fadeOutDuration)); } @@ -800,8 +802,7 @@ namespace Barotrauma if (slot.HighlightColor.A > 0) { - float scaleUpAmount = 0.5f; - float inflateAmount = (slot.HighlightColor.A / 255.0f) * scaleUpAmount * 0.5f; + float inflateAmount = (slot.HighlightColor.A / 255.0f) * slot.HighlightScaleUpAmount * 0.5f; rect.Inflate(rect.Width * inflateAmount, rect.Height * inflateAmount); } diff --git a/Barotrauma/BarotraumaClient/Source/Items/Item.cs b/Barotrauma/BarotraumaClient/Source/Items/Item.cs index 501f023e5..2c5e3b5cc 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Item.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Item.cs @@ -184,7 +184,7 @@ namespace Barotrauma if (!Visible || (!editing && hiddenInGame)) return; if (editing && !ShowItems) return; - Color color = isHighlighted && !GUI.DisableItemHighlights && Screen.Selected != GameMain.GameScreen ? Color.Orange : GetSpriteColor(); + Color color = IsHighlighted && !GUI.DisableItemHighlights && Screen.Selected != GameMain.GameScreen ? Color.Orange : GetSpriteColor(); //if (IsSelected && editing) color = Color.Lerp(color, Color.Gold, 0.5f); BrokenItemSprite fadeInBrokenSprite = null; diff --git a/Barotrauma/BarotraumaClient/Source/Map/Hull.cs b/Barotrauma/BarotraumaClient/Source/Map/Hull.cs index e32f31ea7..252662461 100644 --- a/Barotrauma/BarotraumaClient/Source/Map/Hull.cs +++ b/Barotrauma/BarotraumaClient/Source/Map/Hull.cs @@ -326,843 +326,6 @@ namespace Barotrauma Color.Green, width: 2); } } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } - - foreach (MapEntity e in linkedTo) - { - if (e is Hull) - { - Hull linkedHull = (Hull)e; - Rectangle connectedHullRect = e.Submarine == null ? - linkedHull.rect : - new Rectangle( - (int)(Submarine.DrawPosition.X + linkedHull.WorldPosition.X), - (int)(Submarine.DrawPosition.Y + linkedHull.WorldPosition.Y), - linkedHull.WorldRect.Width, linkedHull.WorldRect.Height); - - //center of the hull - Rectangle currentHullRect = Submarine == null ? - WorldRect : - new Rectangle( - (int)(Submarine.DrawPosition.X + WorldPosition.X), - (int)(Submarine.DrawPosition.Y + WorldPosition.Y), - WorldRect.Width, WorldRect.Height); - - GUI.DrawLine(spriteBatch, - new Vector2(currentHullRect.X, -currentHullRect.Y), - new Vector2(connectedHullRect.X, -connectedHullRect.Y), - Color.Green, width: 2); - } - } } public static void UpdateVertices(GraphicsDevice graphicsDevice, Camera cam, WaterRenderer renderer) diff --git a/Barotrauma/BarotraumaClient/Source/Map/Structure.cs b/Barotrauma/BarotraumaClient/Source/Map/Structure.cs index 8d893af08..08a9b5ae0 100644 --- a/Barotrauma/BarotraumaClient/Source/Map/Structure.cs +++ b/Barotrauma/BarotraumaClient/Source/Map/Structure.cs @@ -42,7 +42,21 @@ namespace Barotrauma MathHelper.Clamp(value.Y, 0.01f, 10)); } } - + + private string specialTag; + [Editable, Serialize("", true)] + public string SpecialTag + { + get { return specialTag; } + set { specialTag = value; } + } + + // Only for testing in the debug build. Not saved. +#if DEBUG + [Editable, Serialize(true, false)] +#endif + public bool DrawTiled { get; protected set; } = true; + protected Vector2 textureOffset = Vector2.Zero; [Editable(MinValueFloat = -1000f, MaxValueFloat = 1000f, ValueStep = 10f), Serialize("0.0, 0.0", true)] public Vector2 TextureOffset @@ -187,7 +201,7 @@ namespace Barotrauma if (HasBody && !ShowWalls) return; } - Color color = isHighlighted ? Color.Orange : spriteColor; + Color color = IsHighlighted ? Color.Orange : spriteColor; if (IsSelected && editing) { //color = Color.Lerp(color, Color.Gold, 0.5f); diff --git a/Barotrauma/BarotraumaClient/Source/Screens/CampaignSetupUI.cs b/Barotrauma/BarotraumaClient/Source/Screens/CampaignSetupUI.cs index c387484f4..835d09937 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/CampaignSetupUI.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/CampaignSetupUI.cs @@ -20,6 +20,8 @@ namespace Barotrauma private GUILayoutGroup subPreviewContainer; + private GUILayoutGroup subPreviewContainer; + private GUIButton loadGameButton; public Action StartNewGame; @@ -68,25 +70,20 @@ namespace Barotrauma new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.02f), leftColumn.RectTransform) { MinSize = new Point(0, 20) }, TextManager.Get("MapSeed") + ":"); seedBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 0.05f), leftColumn.RectTransform) { MinSize = new Point(0, 20) }, ToolBox.RandomSeed(8)); - if (!isMultiplayer) - { - contextualTutorialBox = new GUITickBox(new RectTransform(new Point(32, 32), leftColumn.RectTransform), TextManager.Get("TutorialActive")); - UpdateTutorialSelection(); - } - new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.02f), leftColumn.RectTransform) { MinSize = new Point(0, 20) }, TextManager.Get("SelectedSub") + ":"); + var filterContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.05f), leftColumn.RectTransform), isHorizontal: true) + { + Stretch = true + }; subList = new GUIListBox(new RectTransform(new Vector2(1.0f, 0.65f), leftColumn.RectTransform)) { ScrollBarVisible = true }; - var filterContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.07f), leftColumn.RectTransform), isHorizontal: true) - { - Stretch = true, - RelativeSpacing = 0.02f - }; - new GUITextBlock(new RectTransform(new Vector2(0.3f, 1.0f), filterContainer.RectTransform), TextManager.Get("FilterMapEntities"), textAlignment: Alignment.CenterLeft, font: GUI.Font); - var searchBox = new GUITextBox(new RectTransform(new Vector2(0.9f, 1.0f), filterContainer.RectTransform), font: GUI.Font); + var searchTitle = new GUITextBlock(new RectTransform(new Vector2(0.001f, 1.0f), filterContainer.RectTransform), TextManager.Get("FilterMapEntities"), textAlignment: Alignment.CenterLeft, font: GUI.Font); + var searchBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 1.0f), filterContainer.RectTransform, Anchor.CenterRight), font: GUI.Font); + searchBox.OnSelected += (sender, userdata) => { searchTitle.Visible = false; }; + searchBox.OnDeselected += (sender, userdata) => { searchTitle.Visible = true; }; searchBox.OnTextChanged += (textBox, text) => { FilterSubs(subList, text); return true; }; - var clearButton = new GUIButton(new RectTransform(new Vector2(0.15f, 1.0f), filterContainer.RectTransform), "x") + var clearButton = new GUIButton(new RectTransform(new Vector2(0.075f, 1.0f), filterContainer.RectTransform), "x") { OnClicked = (btn, userdata) => { searchBox.Text = ""; FilterSubs(subList, ""); searchBox.Flash(Color.White); return true; } }; @@ -399,14 +396,7 @@ namespace Barotrauma }, Enabled = false }; - } - - public void UpdateTutorialSelection() - { - if (isMultiplayer) return; - Tutorial contextualTutorial = Tutorial.Tutorials.Find(t => t is ContextualTutorial); - contextualTutorialBox.Selected = (contextualTutorial != null) ? !GameMain.Config.CompletedTutorialNames.Contains(contextualTutorial.Name) : true; - } + } private bool SelectSaveFile(GUIComponent component, object obj) { diff --git a/Barotrauma/BarotraumaClient/Source/Screens/CampaignUI.cs b/Barotrauma/BarotraumaClient/Source/Screens/CampaignUI.cs index 46c54674e..44859a667 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/CampaignUI.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/CampaignUI.cs @@ -182,23 +182,24 @@ namespace Barotrauma { TextGetter = GetMoney }; - var filterContainer = new GUILayoutGroup(new RectTransform(new Vector2(0.5f, 0.5f), storeContentTop.RectTransform), isHorizontal: true) + var filterContainer = new GUILayoutGroup(new RectTransform(new Vector2(0.5f, 0.4f), storeContentTop.RectTransform), isHorizontal: true) { - Stretch = true, - RelativeSpacing = 0.02f + Stretch = true }; - new GUITextBlock(new RectTransform(new Vector2(0.5f, 1.0f), filterContainer.RectTransform), TextManager.Get("FilterMapEntities"), textAlignment: Alignment.CenterRight, font: GUI.Font); - searchBox = new GUITextBox(new RectTransform(new Vector2(0.8f, 1.0f), filterContainer.RectTransform), font: GUI.Font); + var searchTitle = new GUITextBlock(new RectTransform(new Vector2(0.001f, 1.0f), filterContainer.RectTransform), TextManager.Get("FilterMapEntities"), textAlignment: Alignment.CenterLeft, font: GUI.Font); + searchBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 1.0f), filterContainer.RectTransform), font: GUI.Font); + searchBox.OnSelected += (sender, userdata) => { searchTitle.Visible = false; }; + searchBox.OnDeselected += (sender, userdata) => { searchTitle.Visible = true; }; + searchBox.OnTextChanged += (textBox, text) => { FilterStoreItems(null, text); return true; }; - var clearButton = new GUIButton(new RectTransform(new Vector2(0.2f, 1.0f), filterContainer.RectTransform), "x") + var clearButton = new GUIButton(new RectTransform(new Vector2(0.1f, 1.0f), filterContainer.RectTransform), "x") { OnClicked = (btn, userdata) => { searchBox.Text = ""; FilterStoreItems(selectedItemCategory, ""); searchBox.Flash(Color.White); return true; } }; var storeItemLists = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.8f), storeContent.RectTransform), isHorizontal: true) { - Stretch = true, - RelativeSpacing = 0.02f + Stretch = true }; myItemList = new GUIListBox(new RectTransform(new Vector2(0.5f, 1.0f), storeItemLists.RectTransform)); storeItemList = new GUIListBox(new RectTransform(new Vector2(0.5f, 1.0f), storeItemLists.RectTransform)) diff --git a/Barotrauma/BarotraumaClient/Source/Screens/MainMenuScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/MainMenuScreen.cs index 614b50e9c..2b85d4777 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/MainMenuScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/MainMenuScreen.cs @@ -59,10 +59,10 @@ namespace Barotrauma Stretch = true, RelativeSpacing = 0.02f }; - + // === CAMPAIGN var campaignHolder = new GUILayoutGroup(new RectTransform(new Vector2(0.9f, 1.0f), parent: buttonsParent.RectTransform) { RelativeOffset = new Vector2(0.1f, 0.0f) }, isHorizontal: true); - + new GUIImage(new RectTransform(new Vector2(0.2f, 0.7f), campaignHolder.RectTransform), "MainMenuCampaignIcon") { CanBeFocused = false @@ -84,6 +84,17 @@ namespace Barotrauma RelativeSpacing = 0.035f }; + new GUIButton(new RectTransform(new Vector2(1.0f, 1.0f), campaignList.RectTransform), "Tutorial", textAlignment: Alignment.Left, style: "MainMenuGUIButton") + { + ForceUpperCase = true, + UserData = Tab.Tutorials, + OnClicked = (tb, userdata) => + { + SelectTab(tb, userdata); + return true; + } + }; + new GUIButton(new RectTransform(new Vector2(1.0f, 1.0f), campaignList.RectTransform), TextManager.Get("LoadGameButton"), textAlignment: Alignment.Left, style: "MainMenuGUIButton") { ForceUpperCase = true, @@ -184,6 +195,10 @@ namespace Barotrauma UserData = Tab.SteamWorkshop, OnClicked = SelectTab }; + +#if OSX && !DEBUG + steamWorkshopButton.Text += " (Not yet available on MacOS)"; +#endif } new GUIButton(new RectTransform(new Vector2(1.0f, 1.0f), customizeList.RectTransform), TextManager.Get("SubEditorButton"), textAlignment: Alignment.Left, style: "MainMenuGUIButton") @@ -309,6 +324,7 @@ namespace Barotrauma false, null, ""); foreach (Tutorial tutorial in Tutorial.Tutorials) { + if (tutorial is ContextualTutorial) continue; var tutorialText = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.15f), tutorialList.Content.RectTransform), tutorial.Name, textAlignment: Alignment.Center, font: GUI.LargeFont) { UserData = tutorial @@ -320,8 +336,6 @@ namespace Barotrauma return true; }; - UpdateTutorialList(); - this.game = game; menuTabs[(int)Tab.Credits] = new GUIFrame(new RectTransform(Vector2.One, GUI.Canvas), style: null, color: Color.Black * 0.5f) @@ -331,9 +345,9 @@ namespace Barotrauma var creditsContainer = new GUIFrame(new RectTransform(new Vector2(0.75f, 1.5f), menuTabs[(int)Tab.Credits].RectTransform, Anchor.CenterRight), style: "OuterGlow", color: Color.Black * 0.8f); creditsPlayer = new CreditsPlayer(new RectTransform(Vector2.One, creditsContainer.RectTransform), "Content/Texts/Credits.xml"); } - #endregion +#endregion - #region Selection +#region Selection public override void Select() { base.Select(); @@ -348,10 +362,6 @@ namespace Barotrauma ResetButtonStates(null); - UpdateTutorialList(); - - ResetButtonStates(null); - GameAnalyticsManager.SetCustomDimension01(""); } @@ -397,7 +407,6 @@ namespace Barotrauma case Tab.NewGame: campaignSetupUI.CreateDefaultSaveName(); campaignSetupUI.RandomizeSeed(); - campaignSetupUI.UpdateTutorialSelection(); campaignSetupUI.UpdateSubList(Submarine.SavedSubmarines); break; case Tab.LoadGame: @@ -414,6 +423,7 @@ namespace Barotrauma case Tab.HostServer: break; case Tab.Tutorials: + UpdateTutorialList(); break; case Tab.CharacterEditor: Submarine.MainSub = null; @@ -444,6 +454,8 @@ namespace Barotrauma public bool ReturnToMainMenu(GUIButton button, object obj) { + GUI.PreventPauseMenuToggle = false; + if (Selected != this) { Select(); @@ -468,7 +480,7 @@ namespace Barotrauma otherButton.Selected = false; } } - #endregion +#endregion private void QuickStart() { @@ -646,6 +658,7 @@ namespace Barotrauma FileName = filename, Arguments = arguments #if !DEBUG + , WindowStyle = ProcessWindowStyle.Hidden #endif }; @@ -685,6 +698,7 @@ namespace Barotrauma GameMain.TitleScreen.TitleSize.Y / 2.0f * GameMain.TitleScreen.Scale + 30.0f), 0.1f); #if !DEBUG +#if !OSX if (Steam.SteamManager.USE_STEAM) { if (GameMain.Config.UseSteamMatchmaking) @@ -694,6 +708,16 @@ namespace Barotrauma } steamWorkshopButton.Enabled = Steam.SteamManager.IsInitialized; } +#else + if (Steam.SteamManager.USE_STEAM) + { + if (GameMain.Config.UseSteamMatchmaking) + { + joinServerButton.Enabled = Steam.SteamManager.IsInitialized; + hostServerButton.Enabled = Steam.SteamManager.IsInitialized; + } + } +#endif #else joinServerButton.Enabled = true; hostServerButton.Enabled = true; @@ -804,8 +828,7 @@ namespace Barotrauma } selectedSub = new Submarine(Path.Combine(SaveUtil.TempPath, selectedSub.Name + ".sub"), ""); - - ContextualTutorial.Selected = campaignSetupUI.TutorialSelected; + GameMain.GameSession = new GameSession(selectedSub, saveName, GameModePreset.List.Find(g => g.Identifier == "singleplayercampaign")); (GameMain.GameSession.GameMode as CampaignMode).GenerateMap(mapSeed); @@ -832,7 +855,7 @@ namespace Barotrauma GameMain.LobbyScreen.Select(); } - #region UI Methods +#region UI Methods private void CreateHostServerFields() { Vector2 textLabelSize = new Vector2(1.0f, 0.1f); @@ -913,7 +936,7 @@ namespace Barotrauma OnClicked = HostServerClicked }; } - #endregion +#endregion } } diff --git a/Barotrauma/BarotraumaClient/Source/Screens/SubEditorScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/SubEditorScreen.cs index 88890c05e..2ab09e2ee 100644 --- a/Barotrauma/BarotraumaClient/Source/Screens/SubEditorScreen.cs +++ b/Barotrauma/BarotraumaClient/Source/Screens/SubEditorScreen.cs @@ -1301,6 +1301,12 @@ namespace Barotrauma var paddedLoadFrame = new GUILayoutGroup(new RectTransform(new Vector2(0.9f, 0.9f), innerFrame.RectTransform, Anchor.Center)) { Stretch = true, RelativeSpacing = 0.02f }; var deleteButtonHolder = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.1f), paddedLoadFrame.RectTransform, Anchor.Center)); + + var filterContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.1f), paddedLoadFrame.RectTransform), isHorizontal: true) + { + Stretch = true + }; + var subList = new GUIListBox(new RectTransform(new Vector2(1.0f, 1.0f), paddedLoadFrame.RectTransform)) { ScrollBarVisible = true, @@ -1311,15 +1317,13 @@ namespace Barotrauma } }; - var filterContainer = new GUILayoutGroup(new RectTransform(new Vector2(1.0f, 0.1f), paddedLoadFrame.RectTransform), isHorizontal: true) - { - Stretch = true, - RelativeSpacing = 0.02f - }; - new GUITextBlock(new RectTransform(new Vector2(0.3f, 1.0f), filterContainer.RectTransform), TextManager.Get("FilterMapEntities"), textAlignment: Alignment.CenterLeft, font: GUI.Font); - var searchBox = new GUITextBox(new RectTransform(new Vector2(0.9f, 1.0f), filterContainer.RectTransform), font: GUI.Font); + var searchTitle = new GUITextBlock(new RectTransform(new Vector2(0.001f, 1.0f), filterContainer.RectTransform), TextManager.Get("FilterMapEntities"), textAlignment: Alignment.CenterLeft, font: GUI.Font); + var searchBox = new GUITextBox(new RectTransform(new Vector2(1.0f, 1.0f), filterContainer.RectTransform), font: GUI.Font); + searchBox.OnSelected += (sender, userdata) => { searchTitle.Visible = false; }; + searchBox.OnDeselected += (sender, userdata) => { searchTitle.Visible = true; }; + searchBox.OnTextChanged += (textBox, text) => { FilterSubs(subList, text); return true; }; - var clearButton = new GUIButton(new RectTransform(new Vector2(0.15f, 1.0f), filterContainer.RectTransform), "x") + var clearButton = new GUIButton(new RectTransform(new Vector2(0.1f, 1.0f), filterContainer.RectTransform), "x") { OnClicked = (btn, userdata) => { searchBox.Text = ""; FilterSubs(subList, ""); searchBox.Flash(Color.White); return true; } }; diff --git a/Barotrauma/BarotraumaShared/Data/ContentPackages/Vanilla 0.9.xml b/Barotrauma/BarotraumaShared/Data/ContentPackages/Vanilla 0.9.xml index 5d1bf37a2..c5985f21c 100644 --- a/Barotrauma/BarotraumaShared/Data/ContentPackages/Vanilla 0.9.xml +++ b/Barotrauma/BarotraumaShared/Data/ContentPackages/Vanilla 0.9.xml @@ -12,6 +12,7 @@ + diff --git a/Barotrauma/BarotraumaShared/SharedCode.projitems b/Barotrauma/BarotraumaShared/SharedCode.projitems index f15f9dbd1..05589e12a 100644 --- a/Barotrauma/BarotraumaShared/SharedCode.projitems +++ b/Barotrauma/BarotraumaShared/SharedCode.projitems @@ -181,6 +181,7 @@ + diff --git a/Barotrauma/BarotraumaShared/SharedContent.projitems b/Barotrauma/BarotraumaShared/SharedContent.projitems index dfe87235b..2b4cacac6 100644 --- a/Barotrauma/BarotraumaShared/SharedContent.projitems +++ b/Barotrauma/BarotraumaShared/SharedContent.projitems @@ -379,6 +379,18 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -409,6 +421,12 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -445,9 +463,24 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -475,6 +508,54 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -1144,6 +1225,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest @@ -1635,15 +1719,6 @@ PreserveNewest - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - PreserveNewest @@ -2109,9 +2184,19 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + PreserveNewest + + Never + + diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs index 7f2daf1d0..06af37860 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/EnemyAIController.cs @@ -1110,6 +1110,8 @@ namespace Barotrauma private bool IsProperlyLatchedOnSub => LatchOntoAI != null && LatchOntoAI.IsAttachedToSub && SelectedAiTarget?.Entity == wallTarget?.Structure; + private bool IsProperlyLatchedOnSub => LatchOntoAI != null && LatchOntoAI.IsAttachedToSub && SelectedAiTarget?.Entity == wallTarget?.Structure; + //goes through all the AItargets, evaluates how preferable it is to attack the target, //whether the Character can see/hear the target and chooses the most preferable target within //sight/hearing range diff --git a/Barotrauma/BarotraumaShared/Source/Characters/Character.cs b/Barotrauma/BarotraumaShared/Source/Characters/Character.cs index 11e41e70a..cd82280ff 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/Character.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/Character.cs @@ -426,7 +426,7 @@ namespace Barotrauma } } - private bool canSpeak; + public bool CanSpeak; private bool speechImpedimentSet; @@ -436,7 +436,7 @@ namespace Barotrauma { get { - if (!canSpeak || IsUnconscious || Stun > 0.0f || IsDead) return 100.0f; + if (!CanSpeak || IsUnconscious || Stun > 0.0f || IsDead) return 100.0f; return speechImpediment; } set @@ -710,7 +710,7 @@ namespace Barotrauma displayName = TextManager.Get($"Character.{Path.GetFileName(Path.GetDirectoryName(file))}", true); IsHumanoid = doc.Root.GetAttributeBool("humanoid", false); - canSpeak = doc.Root.GetAttributeBool("canspeak", false); + CanSpeak = doc.Root.GetAttributeBool("canspeak", false); needsAir = doc.Root.GetAttributeBool("needsair", false); Noise = doc.Root.GetAttributeFloat("noise", 100f); @@ -1588,9 +1588,8 @@ namespace Barotrauma } } } - - - if (item.InteractDistance == 0.0f && !item.Prefab.Triggers.Any()) return false; + + if (item.InteractDistance == 0.0f && !item.Prefab.Triggers.Any()) { return false; } Pickable pickableComponent = item.GetComponent(); if (pickableComponent != null && (pickableComponent.Picker != null && !pickableComponent.Picker.IsDead)) { return false; } @@ -2718,6 +2717,10 @@ namespace Barotrauma GameMain.GameSession?.CrewManager?.RemoveCharacter(this); #endif +#if CLIENT + GameMain.GameSession?.CrewManager?.RemoveCharacter(this); +#endif + #if CLIENT GameMain.GameSession?.CrewManager?.RemoveCharacter(this); #endif diff --git a/Barotrauma/BarotraumaShared/Source/Characters/CharacterInfo.cs b/Barotrauma/BarotraumaShared/Source/Characters/CharacterInfo.cs index 8dcf98fce..cb7df70ec 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/CharacterInfo.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/CharacterInfo.cs @@ -399,7 +399,7 @@ namespace Barotrauma { ID = idCounter; idCounter++; - Name = element.GetAttributeString("name", "unnamed"); + Name = element.GetAttributeString("name", ""); string genderStr = element.GetAttributeString("gender", "male").ToLowerInvariant(); File = element.GetAttributeString("file", ""); SourceElement = GetConfig(File).Root; @@ -423,6 +423,29 @@ namespace Barotrauma element.GetAttributeInt("beardindex", -1), element.GetAttributeInt("moustacheindex", -1), element.GetAttributeInt("faceattachmentindex", -1)); + + if (string.IsNullOrEmpty(Name)) + { + if (SourceElement.Element("name") != null) + { + string firstNamePath = SourceElement.Element("name").GetAttributeString("firstname", ""); + if (firstNamePath != "") + { + firstNamePath = firstNamePath.Replace("[GENDER]", (Head.gender == Gender.Female) ? "female" : "male"); + Name = ToolBox.GetRandomLine(firstNamePath); + } + + string lastNamePath = SourceElement.Element("name").GetAttributeString("lastname", ""); + if (lastNamePath != "") + { + lastNamePath = lastNamePath.Replace("[GENDER]", (Head.gender == Gender.Female) ? "female" : "male"); + if (Name != "") Name += " "; + Name += ToolBox.GetRandomLine(lastNamePath); + } + } + } + + StartItemsGiven = element.GetAttributeBool("startitemsgiven", false); string personalityName = element.GetAttributeString("personality", ""); ragdollFileName = element.GetAttributeString("ragdoll", string.Empty); diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs index 831c07c39..fa9ff9e17 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/ItemComponent.cs @@ -801,10 +801,7 @@ namespace Barotrauma.Items.Components string msg = TextManager.Get(Msg, true); if (msg != null) { - foreach (InputType inputType in Enum.GetValues(typeof(InputType))) - { - msg = msg.Replace("[" + inputType.ToString().ToLowerInvariant() + "]", GameMain.Config.KeyBind(inputType).ToString()); - } + msg = TextManager.ParseInputTypes(msg); DisplayMsg = msg; } else diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Deconstructor.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Deconstructor.cs index 777ecb668..de2718682 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Deconstructor.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Deconstructor.cs @@ -13,6 +13,11 @@ namespace Barotrauma.Items.Components private ItemContainer inputContainer, outputContainer; + public ItemContainer InputContainer + { + get { return inputContainer; } + } + public ItemContainer OutputContainer { get { return outputContainer; } @@ -102,6 +107,25 @@ namespace Barotrauma.Items.Components } } + if (targetItem.Prefab.DeconstructItems.Any()) + { + inputContainer.Inventory.RemoveItem(targetItem); + Entity.Spawner.AddToRemoveQueue(targetItem); + MoveInputQueue(); + PutItemsToLinkedContainer(); + } + else + { + if (outputContainer.Inventory.Items.All(i => i != null)) + { + targetItem.Drop(dropper: null); + } + else + { + outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true); + } + } + if (targetItem.Prefab.DeconstructItems.Any()) { inputContainer.Inventory.RemoveItem(targetItem); diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Fabricator.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Fabricator.cs index 7ade916d4..cd1b0e081 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Fabricator.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Fabricator.cs @@ -23,6 +23,16 @@ namespace Barotrauma.Items.Components private ItemContainer inputContainer, outputContainer; + public ItemContainer InputContainer + { + get { return inputContainer; } + } + + public ItemContainer OutputContainer + { + get { return outputContainer; } + } + private float progressState; public Fabricator(Item item, XElement element) @@ -98,7 +108,23 @@ namespace Barotrauma.Items.Components { return (picker != null); } - + + public void RemoveFabricationRecipes(List allowedIdentifiers) + { + for (int i = 0; i < fabricationRecipes.Count; i++) + { + if (!allowedIdentifiers.Contains(fabricationRecipes[i].TargetItem.Identifier)) + { + fabricationRecipes.RemoveAt(i); + i--; + } + } + + CreateRecipes(); + } + + partial void CreateRecipes(); + private void StartFabricating(FabricationRecipe selectedItem, Character user) { if (selectedItem == null) return; diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Sonar.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Sonar.cs index 40e97dfe5..144d8da1a 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Sonar.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Sonar.cs @@ -259,7 +259,7 @@ namespace Barotrauma.Items.Components int clockDir = (int)Math.Round((angle / MathHelper.TwoPi) * 12); if (clockDir == 0) clockDir = 12; - return TextManager.Get("SubDirOClock").Replace("[dir]", clockDir.ToString()); + return TextManager.Get("roomname.subdiroclock").Replace("[dir]", clockDir.ToString()); } private Vector2 GetTransducerCenter() diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Steering.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Steering.cs index 15be6c324..da381c89e 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Steering.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Steering.cs @@ -575,6 +575,19 @@ namespace Barotrauma.Items.Components return true; } + public override void OnItemLoaded() + { + sonar = item.GetComponent(); + } + + public override bool Select(Character character) + { + if (!CanBeSelected) return false; + + user = character; + return true; + } + public override void Update(float deltaTime, Camera cam) { networkUpdateTimer -= deltaTime; diff --git a/Barotrauma/BarotraumaShared/Source/Items/Inventory.cs b/Barotrauma/BarotraumaShared/Source/Items/Inventory.cs index e6e6a9541..85d352153 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Inventory.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Inventory.cs @@ -206,6 +206,16 @@ namespace Barotrauma return true; } + public bool IsFull() + { + for (int i = 0; i < capacity; i++) + { + if (Items[i] == null) return false; + } + + return true; + } + protected bool TrySwapping(int index, Item item, Character user, bool createNetworkEvent) { if (item?.ParentInventory == null || Items[index] == null) return false; diff --git a/Barotrauma/BarotraumaShared/Source/Items/Item.cs b/Barotrauma/BarotraumaShared/Source/Items/Item.cs index 3be49bf9d..53d8d3914 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Item.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Item.cs @@ -1200,6 +1200,10 @@ namespace Barotrauma { ApplyStatusEffects(!waterProof && inWater ? ActionType.InWater : ActionType.NotInWater, deltaTime); } + if (!broken) + { + ApplyStatusEffects(!waterProof && inWater ? ActionType.InWater : ActionType.NotInWater, deltaTime); + } ApplyStatusEffects(!waterProof && inWater ? ActionType.InWater : ActionType.NotInWater, deltaTime); if (body == null || !body.Enabled || !inWater || ParentInventory != null || Removed) { return; } diff --git a/Barotrauma/BarotraumaShared/Source/Items/ItemPrefab.cs b/Barotrauma/BarotraumaShared/Source/Items/ItemPrefab.cs index 0c5ee8062..f3f077ac5 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/ItemPrefab.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/ItemPrefab.cs @@ -132,14 +132,16 @@ namespace Barotrauma //default size protected Vector2 size; - private float impactTolerance; + private List fabricationRecipeElements = new List(); private bool canSpriteFlipX, canSpriteFlipY; private Dictionary prices; - //an area next to the construction - //the construction can be Activated() by a Character inside the area + /// + /// Defines areas where the item can be interacted with. If RequireBodyInsideTrigger is set to true, the character + /// has to be within the trigger to interact. If it's set to false, having the cursor within the trigger is enough. + /// public List Triggers; private List fabricationRecipeElements = new List(); diff --git a/Barotrauma/BarotraumaShared/Source/Map/Explosion.cs b/Barotrauma/BarotraumaShared/Source/Map/Explosion.cs index a73ac8907..40f2acd92 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Explosion.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Explosion.cs @@ -40,7 +40,7 @@ namespace Barotrauma flames = true; underwaterBubble = true; } - + public Explosion(XElement element, string parentDebugName) { attack = new Attack(element, parentDebugName + ", Explosion"); @@ -62,6 +62,16 @@ namespace Barotrauma CameraShake = element.GetAttributeFloat("camerashake", attack.Range * 0.1f); } + public void DisableParticles() + { + sparks = false; + shockwave = false; + smoke = false; + flash = false; + flames = false; + underwaterBubble = false; + } + public List> GetRecentExplosions(float maxSecondsAgo) { return prevExplosions.FindAll(e => e.Third >= Timing.TotalTime - maxSecondsAgo); diff --git a/Barotrauma/BarotraumaShared/Source/Map/FireSource.cs b/Barotrauma/BarotraumaShared/Source/Map/FireSource.cs index 11bf41f6c..e75ec8749 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/FireSource.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/FireSource.cs @@ -15,14 +15,15 @@ namespace Barotrauma { const float OxygenConsumption = 50.0f; const float GrowSpeed = 5.0f; - - private Hull hull; + + protected Hull hull; + + protected Vector2 position; + protected Vector2 size; private bool removed; - private bool removed; - - private bool removed; + protected bool removed; #if CLIENT private List burnDecals = new List(); @@ -184,6 +185,16 @@ namespace Barotrauma } } + protected virtual void ReduceOxygen(float deltaTime) + { + hull.Oxygen -= size.X * deltaTime * OxygenConsumption; + } + + protected virtual void AdjustXPos(float growModifier, float deltaTime) + { + position.X -= GrowSpeed * growModifier * 0.5f * deltaTime; + } + partial void UpdateProjSpecific(float growModifier); private void OnChangeHull(Vector2 pos, Hull particleHull) diff --git a/Barotrauma/BarotraumaShared/Source/Map/Hull.cs b/Barotrauma/BarotraumaShared/Source/Map/Hull.cs index 6a5d96f45..32d49292c 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Hull.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Hull.cs @@ -660,6 +660,25 @@ namespace Barotrauma } } + public string DisplayName + { + get; + private set; + } + + private string roomName; + [Editable, Serialize("", true, translationTextTag: "RoomName.")] + public string RoomName + { + get { return roomName; } + set + { + if (roomName == value) { return; } + roomName = value; + DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName; + } + } + public override Rectangle Rect { get diff --git a/Barotrauma/BarotraumaShared/Source/Map/Levels/Level.cs b/Barotrauma/BarotraumaShared/Source/Map/Levels/Level.cs index 5bace8352..695b56df0 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Levels/Level.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Levels/Level.cs @@ -138,6 +138,9 @@ namespace Barotrauma public Submarine StartOutpost { get; private set; } public Submarine EndOutpost { get; private set; } + private Submarine preSelectedStartOutpost; + private Submarine preSelectedEndOutpost; + public string Seed { get { return seed; } @@ -209,7 +212,7 @@ namespace Barotrauma /// /// A scalar between 0-100 /// A scalar between 0-1 (0 = the minimum width defined in the generation params is used, 1 = the max width is used) - public Level(string seed, float difficulty, float sizeFactor, LevelGenerationParams generationParams, Biome biome) + public Level(string seed, float difficulty, float sizeFactor, LevelGenerationParams generationParams, Biome biome, Submarine startOutpost = null, Submarine endOutPost = null) : base(null) { @@ -225,6 +228,9 @@ namespace Barotrauma (width / GridCellSize) * GridCellSize, (generationParams.Height / GridCellSize) * GridCellSize); + preSelectedStartOutpost = startOutpost; + preSelectedEndOutpost = endOutPost; + //remove from entity dictionary base.Remove(); } @@ -1510,14 +1516,24 @@ namespace Barotrauma continue; } - //only create a starting outpost in campaign mode - if (GameMain.GameSession?.GameMode as CampaignMode == null && ((i == 0) == !Mirrored)) + //only create a starting outpost in campaign and tutorial modes + if (!IsModeStartOutpostCompatible() && ((i == 0) == !Mirrored)) { continue; } - - string outpostFile = outpostFiles.GetRandom(Rand.RandSync.Server); - var outpost = new Submarine(outpostFile, tryLoad: false); + + Submarine outpost = null; + + if (i == 0 && preSelectedStartOutpost == null || i == 1 && preSelectedEndOutpost == null) + { + string outpostFile = outpostFiles.GetRandom(Rand.RandSync.Server); + outpost = new Submarine(outpostFile, tryLoad: false); + } + else + { + outpost = (i == 0) ? preSelectedStartOutpost : preSelectedEndOutpost; + } + outpost.Load(unloadPrevious: false); outpost.MakeOutpost(); @@ -1569,6 +1585,15 @@ namespace Barotrauma } } + private bool IsModeStartOutpostCompatible() + { +#if CLIENT + return GameMain.GameSession?.GameMode as CampaignMode != null || GameMain.GameSession?.GameMode as TutorialMode != null; +#else + return GameMain.GameSession?.GameMode as CampaignMode != null; +#endif + } + public override void Remove() { base.Remove(); diff --git a/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs b/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs index ab486666c..b686f5dac 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs @@ -431,6 +431,12 @@ namespace Barotrauma else if (ic is Pickable pickable) { //prevent picking up (or deattaching) items +#if CLIENT + if (GameMain.GameSession.GameMode is TutorialMode) + { + continue; + } +#endif pickable.CanBePicked = false; pickable.CanBeSelected = false; } @@ -1426,7 +1432,7 @@ namespace Barotrauma doc.Root.Add(new XAttribute("md5hash", hash.Hash)); if (previewImage != null) { - doc.Root.Add(new XAttribute("previewimage", Convert.ToBase64String(previewImage.ToArray()))); + //doc.Root.Add(new XAttribute("previewimage", Convert.ToBase64String(previewImage.ToArray()))); } try diff --git a/Barotrauma/BarotraumaShared/Source/PlayerInput.cs b/Barotrauma/BarotraumaShared/Source/PlayerInput.cs index 8ad826eea..e13028523 100644 --- a/Barotrauma/BarotraumaShared/Source/PlayerInput.cs +++ b/Barotrauma/BarotraumaShared/Source/PlayerInput.cs @@ -162,21 +162,6 @@ namespace Barotrauma get { return binding; } } - public void SetState() - { - hit = binding.IsHit(); - if (hit) hitQueue = true; - - held = binding.IsDown(); - if (held) heldQueue = true; - } -#endif - - public KeyOrMouse State - { - get { return binding; } - } - public void SetState() { hit = binding.IsHit(); diff --git a/Barotrauma/BarotraumaShared/Source/Serialization/XMLExtensions.cs b/Barotrauma/BarotraumaShared/Source/Serialization/XMLExtensions.cs index 8f9090ae9..10b3691c6 100644 --- a/Barotrauma/BarotraumaShared/Source/Serialization/XMLExtensions.cs +++ b/Barotrauma/BarotraumaShared/Source/Serialization/XMLExtensions.cs @@ -46,7 +46,15 @@ namespace Barotrauma if (File.Exists(filePath)) { - doc = XDocument.Load(filePath, LoadOptions.SetBaseUri); + try + { + doc = XDocument.Load(filePath, LoadOptions.SetBaseUri); + } + catch + { + return null; + } + if (doc.Root == null) return null; } diff --git a/Barotrauma/BarotraumaShared/Source/TextManager.cs b/Barotrauma/BarotraumaShared/Source/TextManager.cs index 52df9ac7b..9a0e023c7 100644 --- a/Barotrauma/BarotraumaShared/Source/TextManager.cs +++ b/Barotrauma/BarotraumaShared/Source/TextManager.cs @@ -79,6 +79,40 @@ namespace Barotrauma } public static string Get(string textTag, bool returnNull = false) + { + if (!textPacks.ContainsKey(Language)) + { + DebugConsole.ThrowError("No text packs available for the selected language (" + Language + ")! Switching to English..."); + Language = "English"; + if (!textPacks.ContainsKey(Language)) + { + throw new Exception("No text packs available in English!"); + } + } + } + + public static string GetFormatted(string textTag, bool returnNull = false, params object[] args) + { + string text = Get(textTag, returnNull); + + if (text == null || text.Length == 0) + { + if (returnNull) + { + return null; + } + else + { + DebugConsole.ThrowError("Text \"" + textTag + "\" not found."); + return textTag; + } + } + + return string.Format(text, args); + } + + // Format: ServerMessage.Identifier1/ServerMessage.Indentifier2~[variable1]=value~[variable2]=value + public static string GetServerMessage(string serverMessage) { if (!textPacks.ContainsKey(Language)) { @@ -118,6 +152,16 @@ namespace Barotrauma } } + public static string ParseInputTypes(string text) + { + foreach (InputType inputType in Enum.GetValues(typeof(InputType))) + { + text = text.Replace("[" + inputType.ToString().ToLowerInvariant() + "]", GameMain.Config.KeyBind(inputType).ToString()); + text = text.Replace("[InputType." + inputType.ToString() + "]", GameMain.Config.KeyBind(inputType).ToString()); + } + return text; + } + public static string GetFormatted(string textTag, bool returnNull = false, params object[] args) { string text = Get(textTag, returnNull); diff --git a/Barotrauma/BarotraumaShared/Submarines/Dugong.sub b/Barotrauma/BarotraumaShared/Submarines/Dugong.sub index 1875ad5b0238a773688070cd9fe6d5a0dcf1cf2b..cd2d2b7eb4807a7cb550454f8ca09a7cfc43c843 100644 GIT binary patch literal 25048 zcmXt<18^qK^YG*3;wQHG#I}u#Z5tOSmy4~7ZQHi(Tx{FMCHd#RzxUlw)z(aJ)zofp zS5MFMG+_h`$iE8$N~{@8V~*utf*1Yx`Oj-&-nT^U=-V z#fFO@8QBe!*pHXF(=2(P#2~j&BG5WAA(JT$x=;`}!374N)WpQphi3V;vo{Mi?SXtT zXF{LP!{Q6ux)v{%w4t+6tETmdxWOm;%}Dmyi`O@f{mJ7+y$5o=%8jG_N)Ozw!pFUn zbAG*^kVhbW=r?#(d+~Djxb-#EKknR`gGgs9-Meq8?*v<3z}MGz+?QjOzb@F-W;aGg z*_WB`Z(cV~)uZ4#?*h&BiJh#PHoJpn*xx_G?Tp{BJ_+c|?mSpY?E5+L-%2|o7TvbG zU#>siq3=HU-cLH81qFV&6LxW=eHaKNKI#!Xzn4POs5 zF(i$GJI@<+c1~a03H+_gT)T{@I=Z0VoRHj z4{???KHeX+bvX6*f}6YFsDD7Py}}*4ui-iRL($~l)q+pAdtrt?S$*MVTRlPdIZb5J z+Yx1c?*pkV+okmV&CZeUtYH#&$J|+K=I^AfoteY=mb-Qse_6HVFY^{`d4DEP9QIz- zdYzfDy|QYGJqfv9M9-RmCv-NQGqyLfTBhf!Uw&?8b8FJtM6Y$dV$tosSY*xP+;a4F z4IaxlizwAm_< zztvsYx2avXV-DI^xbbMBy0TyZX(i-a_Aab@9K2fRaN|%hLe{cw&rEDGVP5-Xtru^@ z!9)N0y5ik+H!8c=J9kBBb){|X8D47@u)vab-=YdD)q=3$MM%)JA%W*c*mTFAc7Kvn z$JW)(CKPS;{oHOcg|G7cqCI%|Ap4VmAwQKAXe|#0Nk(HXS((fPgXbaBYTUUxYH4GO z2xnrLtK4mFR;8Sfhw_JbLzHfM7*PUs5saE^$X=hJ;QJTK8bi)4rJMsQOe^I(2 zt=4;Y3OIQlc`t)|EjcZM>+@E1{yAUvj+nI@>-T1fYTI-+Yd>maR@!d2R<+Uk_BWy4 zuJ^}eg?3@3sZ7}W&SIM>`Wc4owxL#Y*ZJy}S;UI{EOWLmuP8uK_&v=o^mg@?gjcnD7&(MPyEOjCd{{JC=rvtaPQtx-qlRSl9(tYh3aR+wrJ za#olUn0{eWjns0$JYw_t9K)dX4g{JO7;J50lCPdqfiF2r#xwU3Jrj zukRVw{&YS*{LC(QXKFno(?dEb{9sc&-Nb%RU~QaXrH1!Hi4%rYqzAVXCF=79C^Owd zmqg8}a|)vaw2nz;5ImBFDgBaNuo+zM=xzN;@L%jwo?|K~ZUk)BuGB{RUFM@)DOVc3 zd_k-Ig7c7aBaf6@T;e9=V<%YDF4-9JoxrZLm||-tL(Jt}+)S$WCe5!^&buP!4BhZA z(k!32tTwc{2<3Z7%=O2DV5nI97+oG!m5AR+{)3>mt8#sukBI?&82Jj6W9jCXR@fL( zZwl}>R6ZzXr1*clza)&a3nxxCUgcw}rkNMa3si!TA>BAbm-3qwOFNooBu#;VDcbX# ztMaoXd#2!yKqn_|mzx<*uI za^q+?>WI`~EY}9B3_M8NN&e%}6(P`;Y2P1N{(MY?h030$FsNHqscCHsX!wpKh5jFn z45h%?v=maW*fNx9$+AvawdAhU7j0t32wVcjSr{Z=>lnS*|M2`%PHcN`^$5-P^lg$m zT+fZ8P>W!xMqF>|Mo9aew~3b0f_!dyCHTP_rYe}2kMs*dq3OD)%t8jost^`lzmqr1 z`c*k1MM~>^b#;l|WD~YG%$TKL_fL>NrjO-$v9TP;^UTqg+9;4L8h(shIaRTzbmK*3AM(SHv<#|3F*PjYpzTjl4F~0N!r=jM4Mu> zzES^d|6N>elB)J&G@V+Yv^l}Nn~gd#&WK9;wQN=BD(~PJQ|l^y1&rH_KP<^jQ!5wL z-WyPqTY83F1n&C>&RJG*rAU7o`2zx9xuB87wrsq{;bN8Mw3xg{?yptmnZke)bEJ*hp9HZp|=; zR;6Zpydc6Ikzly+dIi9TWLQ;$&-x7#&h~S=+@X07&Y4HKXxdJ5{Qj}d7@*d#ie??V+P$F zhC$%Yv_x;p<$|Z`L!AZie;#146n_RMo?+tDEiEv}Gu0#F&i0yf1^wD*vUhRVto>Cr za8`viBgp`jY_2VJJj0O39x`Az+9sxkpZ43OR(tbD*%^yqPlF$BVpw2G0F%k3_GZ5}xW}}KnrUj1)PNDGVcipud>Y)*+>-TuzNc9G1(-CxxIOo|1@V0#A;vy^VKK#5~YKx{gr~LjL zCT*KXHOlur@$e}!K8|U*!U*xgjcLi#y+v07 z+cKU;M8@xwo{4`<#?BK;!B6NK_`1a!DO-N*3JeBioFyUTFJADn%E}VI**%hJ|7<`u zFwI8NR5N`d_dN)2f~mZqSw;lK(@S(h6GZDt1_;*5fTZ8e%e&QP)_pR@+1xAtY7bAB zQnuzKlwyyvzeAo81~5bYQ9|j-;;$;Y05N)aXPDXN6MYzQ5pHx#JHk^`)h(Xd11Auk zl5D#<0NI_6J}0&3Bcq{5{Kf<>TQ7mH;tRtw;hIw7f(4^z?USka8RL~93PholnXaz` z8@_-@jv!Jok0Ky>bd9EZlSm@QOt7}S=?72!xj0oO!L8gd?-Cv?7$KZ9RU-0JFmRrj z`A{bji_4t)bc9KK9y7d^9LKCOtKK}-?!Esz`JSAV1e3qj5>N6HuD?ovSS|xqt@v$_ zD^xjcsz^aLBDl~<&?A)ffPk>QFUyVW&%J01c0#WdI`PjGc?p5}_CEeIr0gC4b(`|t zJ}_|MkitR)=Ituq%3L=zR;&J@$5(!>m2WS{{bO>IZmyv`@oO)p6~2d-_MCiwg&#oM z9!7q<++>z_Utu;kQR48$cqOe86=KUr9Zb}|?=-=!BOZY}oq0I#6~2RgwBVK~9k4U_ zuxPF7MH}{xwZ`ixt}`WOK9Z|nr$D<=$O{ZDFfu$O&v}iSw?BOp@xkr!V4ZJ9|C)YO zsO0e$Sa@7Lrsj8ayU=f1G>{DVc2*l`0PR~pLw>?1ifbULL~qZCX_!p*q{@%~ZYNM9 zfBUdTr!p14D&-R&Q!e%dYe%0Ipz5fq1EA$0Uj)iX(r4#)JY3bH-Be^h-IkgtJ)b}rWC1WZZr^03 z8@67X-ML?xUez`e`|=;J+_XT5Oom)|CNQnD@zFplBXMe-ERZQUC>cp2fo;N z_ZivcC2O{bA@d#4b5xzud%N-T@D&6noWQ2O+lH=dGxCG9_2XmGi?=lbqka_eScSB( zmjxtW^67pXi6gxUP>@TkD^X)#zK z_|W1Z>4~ve>cDG8L1`>J+y=7|kF#r|aoxZ-I?+L;;Hp}!F`V+( zK0v-qvF9qoHdlQNlQ~#wU)LLxRsgH!qO)KSQ%rw%03FP>$ME?&wZShMz=9IyuldZla?R+knbp=m|BZ? zT3ZR;{6~u>LO9$JUUx&Sa1lMRPFESEk|A-2AGV9@$)~?GirZf?&_5c@B5R`E#b4V! z1xmvGuFkb&7#SA~tGUo7<%d<^dDS0oD|pO8Fn4^Bh|__|ZL1zX{L~WMYi|!J3{OI<3QgcmJ*toiyA62lbP&MCRVsVy7 zw)vY{qUkP;c@j8J`QDb9RpGp=G5`-Ol;FY}$Y4M3hVNMHiT`X>c>34A2FmdNob< zOI(<(AhKewePte=!4`7`?TdT#no=V=ld{M3gpF2}i)P2{cxjp@YD!*YrD7ADB$IGu zul+eh9pKvNJW;A1SZY(|rhG8PJl!u`l-pmtFMGdmqd%O_D{XD)2lEnTFPWU3w|?p(ud^qj~<+GNSGE-NNJ06NqMa#eu}iV`$LYgNLL5sCiY zd4sk|R9$j6X*QT*wCKN-;-cSBvp~C!kTV5Dy-CtGuKxaNuk!9t_kNAJmw3zcp(j+0 z0Tq2lp5w?DV~$#)wtHSkad0@8qu;4v>dE}=>1u+{ctV=IFP`faO9`M%0|OHrmXFy$?RP+(Q*m69T;TM<4C^P?UAgl zs7ko75sF3E*0`~dAgTMuuC>wN*kNF}U@gw?iqQXXAFUX{6^m@e>JYg}wNT`Dq#+Op z@;+CsaKoJ=`C`}CLJ?DwttJE_A4LjaD@GGTA&Ag(z z{9F^-7>kf1S1LY=d&;+b<8vgbEzC(dRvw1gbK0qBVB@q!_iaaUN-;j0XDezmyeg3< z(i@s8PnoMVl2+qXN+aJ!Y`w6|cmtyv++cPp7&O}Z)y>6Qbv}|BLZjuI>MvX$TPsg# z;OZuX3j8MSmEvqWe*isAqL&ua?7?3iwee4ilYnWAHIw!!0of3ak2ambvqsPD&nur1 zhv&~WpO0~$w=I|#`OmjcqHEB`&%e!|=C3|~DOF}lazcu7mg==V7mil)#K7x2aa#0@ zS#4p%BVFeXPm;4ok_-Cs6cUgP8P(AEr22FGmvV|*A%Sw7Wopa2wRDgwir6cW_8(Qw8^#Em#4lROZOCtZ2~aWJCJ z{oO`(b z`8r!2m-X%PHH2>YnYvgqMzUeSvx)|QGOb|78_*rED@j(a_5&0%w>1~flYtG76+1BU zf#wXJ7!55v25KkPY9Cb|NWXj=BZU&vv}%I+)}de)WuR#Sj(I`Kc{mX&Tm{#b?k+}$ zes<-NPis9Q_Vl|d!o4=7Ix>Cozn%&ot$Rt4QcOqvxFy${jJMEgRs2u{_zxREPpNk3 zkT1_0rx}8@u;d`YWWPOK6#j6rhn&K#X}sQ zr)vAj&uEaoVQj`mkdOwM)m_|m+6uO=Ts{r|rmdQe(2LgNfl6H-Y%wt*I7ClmrO6oz z94MbIsC0`81DAn8l>&(=4++_a5sy=6_Lu##`0*-K#|Sn-`W}|N*))m$#}O)HLxLI^ z<%llc^%D=Mdz{$4RQCV}0QLUk0@M>@AC}=d8!!MQ6rmONj;oZ)r#*+g&+#1S6G7gA z;?pb1cqqJU^li5(*?9G$+4ggG>RSn7Ws);E1>AThVIYjK?2MSkqu;?4ErBMVbi7+2 z6;j`qixHT}UwA(rzUcliJ$hxk7yog{%@YgO(v~L-Ce2!6Kg7^C8?sqRd1u#KDT7(2 zU%Wr)J|#Ei;nG$*X?h@#uNp5sijE4EGR=*3>5h;V!#q`mnx)o0YYh?!LND#E6SK6Gh@ZVJAf)D&JWT`hj47im{P`*J?#?Hqk;t&hFB zpoFdN)zp-Y0F8SAcSboE7J78|Xm{`5+sN;^O-B^kwP!A`ko_ zNs?kdgknDQ%-N=E$uccDR`VE2WCJgh&fyf^ENq^aq;aD#6$RADDEJB?C?tmzMCIFc znc!n>ey6QEqJ7wovGu~bH;w0FJV00|FF`CGNx@$dCA?@!9bXa2B3yh8jkbV*aoY_> z>R56>T=9vmP}RCUkfp5wTCb)QIX!gp4=bkus<-E`S?IE;O;*X6m<5xiNl4yRCgUi~ zYBJ22vd{@T@imNec#fz-7T6eCggTe$Ptb#Jo6->E{&oDQPmp7%cu6o{y@R+;7oF4( z>yFYN_u3?k@5_ng!t&Gc>WTP)-?1X8i$+PQJWc9h90#dP?ERx*PN8s>{}MPoBP?tn zdPH!8sE!yJ@fV@^g$wc_l*sOPgA^&~JrhZLn&L1jnc>0N-h{V8rThxov8rZ;aC58j zV|_E8`ALQ=DU!vqCU`2oxy*8)FQrUJ=3fzttuYdQG!(A$SVH_W6y0-P{GliO&@`^b z#55ia->f3kQe(t*#1-7AeIo(zDkI`P;5wZWN>0PG%h?|(GcnL7OIy&`JGUColx8;` z92eY}wUSM<6#|KSxYu>^h+1sypqXT>+M6Qs%@AH552CUID*GRSZ{c=r~Df*{!!s|Dv zcqlp4!VdAseQ9zLv5r2ZylU# z5HBbW9whp(j)?>*`Pa;}kOU zm8_X34|P_vo=qm>b%GZ;v9bX~8p|NU0~#y!Mw)cW6?z%=l@2+K%1-EQ8}N>N=gus&JXOJHafA z(^CNY|8%BxMi1H1g(-9q`6%gcD+L~XxGJB?s$jQ~*U%%FMtn17{ewPaLNK)HTVgS? zt)5-FpRcIkV|1`;9|zIojqkt%hbWmKz#o0PIXeMV?=r~`@5{G_lM7W%Cq=6HkE zd$j68eVK|!0+(g%x9$#7WfEpUYO$pQKrbla4fbO9U<%7ZlY}CAfK1f&Wq?dXmV`on zW}6zLnz`#fKq@>%RQ5I1&$EC3o43;dnb91UQURRF^S!@}lm8o@Ls-j%?HDXS()R6F z^bDR^K+K_`y-)F-2lsc6db$!Wk@o$hkQ*Abzh8p?LOI*5C*sa?Myl;Sldzzx6a>e&= zRdm%jQ7K{*u7efq)X3HAek`&cP13cMI#^cQ|P zKLjJdH7Gb`3v~_0kc(jckQ!Q9&gY`R<_X|SM$w+tQbPi>A5x@=6#ym1wwCj&WohL$ z0&c{z2Nvgt8Yu9fx$+!}{dM$gm?T&%6f>e?4X)zlCXCkps?=`#@G6s%-uvgOPE^&U zaB|}o#|oNS3oy!omPktIeV~Azm8LxDJ8(JP$r*BU56~gR5vGRXTJ*irSgnnSamSuI=-@R<^<(4=i;<9hy~R|Aksi7YGnRUel<}W z^8x16N;t+uQkH1-QE-j$?-Uo2<8e%~9lt6N5>yS)9cpP{v;%F;mtm87+4UX0AheHm zfQT7uAbs`wxw8Ip%XGIe1+m+#g6AZz?bTQ?lB7SZwU8Hfx3SB1Ich2b$}rRD-0X7K zYkZBCL5vzhgy4QSt5VkK|5jlWwOk8Oh~0fk(G~>%xnU2!2F|bL0M4jg*%7G+1dLsl4aX@Y8GJ!X}fo6nMYHH=R{h+^> zY#Uif%}wHpn5L;Rs;rY22AQ#|44T4VH_s z$rf78SV&`$7_{;N$r!X)G<_~=So?OzwbFsRI1-;&-BxUMHf1K278;H?{J4#rk*Xl3 z0X_fIVg3osxBJb+^qW2&s=!)!G`-iVbrg;RaV1>ZQa=3bg`%KFmb!Dj&wEkd>Bb#l#r%K}Hcr z?G#L!)0ue1|L~Kvn@><7mzfYv(mou^OjAk9m>5fg)~yn0UYx*GnsqczW0jjH$fMYF zci)OdXX=b!dZ${aenTHY<{JmkO-z4XsdfiZCpxGEMsj;q>VckWE=_d_j1E>*+M6|*`wrb zlm;k_oMJjoBH_LocVsqZz8zx*rh5DJ^#IJM41$HrI}G3@#>WvT*lpdYsxD(yYXnf# zuaK^;@j}bPsu`ob6R2nsBpJCt<56P((~$tx;|Rb)eGvuKMFhapl)^%h1BHnJG!-$` z&Oo*~o$;^gtsV0Qiy66v-YwE_2E>Gvpd2oHF&}njqpfC+$#~cy-Yps!{MzM?ZFaJp zoT+ZbD7Dp0J};TL2LgeqbzeGbL6Xvr{gIjO0Lw9QzAbW6aZj9kAURhSEg%VIoYF`J zo#d-k+`|mMrwXeePzpUp1Oy}&$C{?PZYMLcr6qqU@1cbWTc7)oOv!VcgX+wM^eZAB z-i}v6YgL&iIuXzz)i>JihNbM0Q*uhFM4(vl>8+_a67G9#I>mVYmPia ziAkumXraU$FUZ)|-U*^?)vl!rOQq3o`cTA3_`q*iCm4l>wc~W_kAoKT^g@DJ*hFlt zI7ixzzf)Dz+irO_l$H~qUE`bw(W$+Y57gzAAA-PDaL^-L3k5O;NyB;aHMrZAQ)xy+ z)B9ykEfE>0{`nU$W*XlPX~R?VH#%~xe*&PnR%JH9^$Ze_>z|7P1Csl|s=$7Et+^1d z)ZRZxz=N9-QGFDDW@E|e9F;G}a&VIqc;HMytK8<|0yhg^G={{@_7%%}@N!qe%FmWg zDCeMVq`=7AD?1kP26+UIq<)37Y;6-Ia|F*}QKbI{2n+Avq4G@TSE$o@HjIhyC12$4 zS%s#A!(8P5T0Vg;@t0iu)Zoe2nm*qOY*&8)pKUtJcOvQ%)C7``7fOuLacE6Oxs=8X z#|#JSCx>5Er!PgPlrX%Ws8Xs(>2XZ@deEvA~Rq)Y#`TxE+%42nT+i{Cxe8p%jf9U~UpAfP#Pjo@#ZQ7we| z??tdK$Q-9o&tAI9^LN8QNZMPv-6kYEws!wXJ(qB`G4}&sMFvG)V&cN@L}1d$c`&nj zMdgE30oTj~df%r0?%Sj@imH$Rp=oqMB{BAyIe^qT(t~xs}w7?8EPcF^z-mg-rvqQs%pU z3iH;oyks+EEqlPYQ4F>%bZ45cTRp&;m|-bT%@NaxXpl$CN;9&6r{4ccNeKB!arOzX za-%Tq(x`QdMK_if04&`0r8u}HqTi}rP}j#bM!TrRNb2*%Hr32}6I=}2Y@VXt1EY=L z%cnE^7HW85=aA;6uTRW<)NBM^Z`5G6Vfw?>;Avb8r`nTlUHB);&}Jm9C9SI?7EQ{V zWj)AvFCwnFFL5-6UYsP)`q4gj7zfKW1pdT~6<5t|(bs0HA+C?54Qp5**)lMfXcCEq zx{Gx@4$uTPHf=A6b-0G7oHTm(dRWRjj#e;9F^r@PBpR?HPmc=PXm-!MUG(rL7T$lX z4tLSWSpG3u1LE^n^OcQPpc_i|kSE<@!!vclz9X7?ZV%&gx=aPtK!>zgfuquVU~w{2Fk=L;YLW$pN5X{mp~NV|CUzO zB%;)THV%7uKu+>9z_!xhsuRdfdL$HBGy2MF%7w-DrVwkA06lZ!nDMn#ZfQ=7PM{TE zJb5=j$5eSMr#xZH_Hml5(D{;9Qqe&7Fznwje5{g*NT%Uq!*!!TBUMb^VBmy-(CdFT z&)OvGc3m%x6~i~b4_G2)z=9rRsGcm|`$^LQ;|ZlI_(Nzh1IhbtpHqjY zNN0JIC%~UAzpu<9PJViJP7S*>1yg>HuHK=xGuRN&lbu`MuULvu58AF_JgahHU76?_ zfE2d*BzJmiTQUCq?_lbmuY;-jMfgV9=i{z+JV>JU@dHmXk-9@O35LN%HgVb!k&h#Z z?sp!YVeD_!KjM@x7_$LKL&pkcne z#D7C{Y86@^goI?v+B+d+rGNK`8W14Jmg3Rt&P1zgFtbtvlKIUxvf_S_iDilMW(~v- z6}aDv#8A?16A>^FL{H_M!;Wm40>yS%ILMI60%Mq+002`ua^PqdPU6Y6!GV3`-Op0a z>SCZgwYB!JihO7j>YEJwLn$HInzXUB{eh>aDiY>kT~u9J8Zs^Z@4rER*#bEi-pPtW z1*C7)nk&>ZC33A6v08ILd}wb&;a%k58{0>W|KxFX4H?JhW;G4u-#3Y<3h>ingos4_ zTHY5~Z$NsvZoJFA9}3|sJNmgTV*f^apO)&V7Dk0e;*0-g;5f$MkK*7MuJVLaV)wL2 zJF&&ipylBd`M^BfP!bpow2rboIF`_Xc*ir01+b3B6hn|ROC z4i-zcD&k&v^*jP6fqK;}^UkU1lST0sY?J0Dgd6y76T|CtA20R-fA6C8KW^T(KChkx zqP*RoF5ipgqtY~2&N{k0EW4>KtML!VCVZz@+LsRKa*MYgRyN2blvHz#sgWwZ7bKOZ zWtFojXHkBV)r6e6*EJ%2AXuJ_T0|`JS}vfXoSZ-WNd=z3vxfZAK8L{Au=B0$%tD7W=4<-%i^hVsvLm`rYh{K9oUWrX%y&wy|8)G42Ql&GI zVeKy^cU(^W+Jsky3puIrv7vEX-sX&~mo8x>KE9AZ4Oj>J*S1KSRc=lF<~^RsW+}+N0n7z?Va-NZJ|C>h7EuZhIciC z9}?N@djH{`;i_A+g2qbg0BQs|ZD73;vjp2%Sq14dY$`$YIdcL-{D z>hoVzvJJ{9!ldVTRI-VK9Mt5;@FEyI0vN`@P2b6D?+3VQu<{M#2V?qU`lllLSAp`3 zq%r+^0wE{v7sx+EIS%MM5xBb%kz0%i#>YreAl}_8$ zeKRN!CvYcc=f~xA{HjLor!+a$TPV-3BmBSdBTZC~YCYW?wK8Pfuz`7(PjNJy+4EF&!4p)Wi=T#*DH)uoW~8|-^_}H z4H-OG9Q%_$ZRIt2r!JeH^o_=W^^+X#h{ByQ(vYOplI#1{aZT!lcwo;T)Hp_{w!3_> zPDL&oP2E9f5ksuB?3)uC)H(JR?k3;Y~eD_ z57q^Al8Rz?j|at3M7~%PF`8=#whVmVoA@=GLYzlSAi{}bJn|o&?y_f13!E3z@(bz1 z5H$I`VWJo!|6y&;B-Dq2fqD~nQ({0Ju^g9QoUrz6@rLvm+v4lTE-_sBOQ*UCPQvhp{+SAWLcgfBDHHLV zy4%B`;lzAX^R`78al}6w)mQ9wbAR<3FjdM7cO5Y7GyX?Slg10Xh^%Ks?J>55p};$osNGC+%uG4~SsB8 zvptsDE-*ca+ec~~<1ul@d~q7WXMn`_-{)d@bDK|m~A6yNk>o#pDem9KMm>ny*$WxEzf&jspO zmVWeYlwXVDniadHK`KEQXuwB~$Q?51CXs)p@D7vYnI6mtXwos$sRwrlm>J3;#TeeME)WczBV+t}a$nk#E4pF6Z71g3c{KG+NYWQM6j?o9m?kDM3qF9k6M*^!H;UC+?f)Is&0@f^M)P8f&P5jC|o8{Cg4UqWN$*yY_N=@RJ@QplMlT^33yLFvce(yqiNOY0N_(n>qG zxgt)D4Zi@DXqBtXQvuuLB+Wci)>J-e2rZ5&F8%L{K(7f)L9j}2r(lznS<~N?NWO3Vg8KL5wswJx`0uZnzZPH|M9J9END=l@FkURMovo03=*sl5NvVQO~ zeMudSfKA2t9nI!Kio5nAHFZ)^|k;D$bR(!M#OZ82q^uxK16s0*1E3yzAj2mWsd_JN74 zDJSQ9?Mju}4MoaY?>b(gOpe7UqUkLS>oa|;J_X#{xn(7qdx;8o#lK=QtJp+vgSK#j zsy&{FrH9A1XXmEi;(sAKlN|`ijnVC-;RK)agG-pC&pyb83i{0Z&g(Dd=FHXdxjtw= z8tNfNzkn%{mBM`a{hznpM37%r-B zJx?~QC~5Q|g3<-TNDEIfP4{#TJTab@X1S;21KLZ|Pm89c-T5!xf#?r_AdI%NaXuEl zRT1)HHRCm1G(hIsYK2*I^953cq??Rk{QBn9-Zb{sh59tz*fw8^8;v#Sw1mLqVrd(p zUvNozh^4pPu3TZOeo$PE6D$g&ofO=uXiD!%kg^LX9jnlau9$r#L6}<+;W~KB-rL15 z7VRlp`6&z}wUR|Hru{?c_2_n3?LPxkqB&~nNM*$+847x284DHy4GB9lAM2LTaD?m5tCE4r%fTh{tz}`>f6qyjy(M7O?+RUji&4Eyc?U z)y#=DFylpvp#P`>Gpk6j*{z|S080QSO+UQka%!)l&K!QH`HXU?4P-$A&*2o;A zV!BX(oLctFzskJ;CS)GBLuX7aMp{-gC)9)aEAhcVRZTl7NrMXlZ^;uVL^l_42Cs^V z3Z5t@rqz1A-{o5g4D=A&$VDrir4$U1fkRk!c-_qr0&YSrp|7gmQJ62G3p6_qPK&80 z_+=YPWA(v~apmpi1m#-9UW3H-Vt=a;&)v0b+Z{ZQ2zUp9>}NjlO{>JVhrMN;V_Nsl ziBy>{C5KUugEcUmYM}A9FpMA+IOOXaCjkAdU}>gho|;=f-K2pG2~H9)Gy-G$JzXo~ zo!j0H#xLKV$J&;o)NlsfShb6I z+i>ltuVdkBo6#Q`bT%S4&i9t6!*{do$3L4wIilWG)(eqV60KW)#OWvFkQ`KCj72(u zV^gVtB1~;*^FA`&m>LzAW41M*=$m~4pCEm^&5#8jAn}wg^NS-U#@ZqBbPJkDiNL5; zb1J9eo78()6BwCw){F^4W1yHDmV#nVk&cAlG;1?ze3%UG``_PPcV6A@Pw2C@&UNrZ zFR$WVezI>Qb*}rPsni|%H9dyy2Lz0=Z1;D)U}1=+A!Cb_mYRcxEi%vG*oZy^22=s@ z#)6>A@u1%ipmc>@bKozcxfqXAy*W!TTuZn5AV6oVQQ25Nu``M2RiHjLZ{3 zL2sMQy1#*cr~A|@7gsKaNm0dE{2+h%MDpEJ$0VqO#*J3&6)hz5^Mbb`3|W$UzNJB9Re; zazRl_l#orr-OkoD8CfEs&&l}j&dxjq_71TBf%O~OZA5H25YDqT(eF~%LZ4j6sStxSB92b=>T?^ml-BqE=`vB*xaa2jSO88tVJreyfv2v zZeH%IS#=tgC9r2G8ormtBuPG(O+ z5265HL2opcI}m8C?dr;1l-rZ*qiD?7P=r>|)K{SZOLIfQyC27Ev>ilW@i~*0N_EY^ zdpeZ%3Wbs16M4jVYAUsnr1;6GJ(&Nbzhk$y@;cQu9^LfNoz_pNUez+i@PnRM8G+&} zPp>%yN(q9k$3GS?4|3sbRiQVBZPG_ccxm+Dr~Qxz@%ten>Va7J)ADhUo#(Y7lTF<1 zRIXy<==YF^Vaw=@Gy|HspL0$xg4OG`(8EhKmT9Y}Q5R2nq^m4&+-`xRyyBS)SQ^Q% zuBIt7w1N5<714lDGN#D3J@vx!d(Mj1GyQw_+V^wazJ>fW!D)NP`ARr%i_`1q>Mgsy z!Q*I)o24q`;DOA|<@!XJU=j(jwn#M%0iHx}z&XY->&6T(>!fY} z#%W>$MxqYQ5I^MYq{gH|Un>&4q(q)def9b2V|7VqokmOIWT;l7R%YNK8uAcCOb#+S zr=V-&90bW2W~P3+9M`X2Kml7)vQHAj-tQ#Hym=$ zs5p_GL_Qb^k{zP|I48#YIg-1YYCo1CU4Z)^>6wp{xz~{dj|dWdLjSQM!x_@yiOyi3 z?!!Te7l-=WzYKuviF3VESX6ms3oWz+b%I+Fe_@4^EyvwKgbx$qvg~)P&XIu^uDlYl z15RUh=X||*LPfqN7V8S1y&tquFR;V3?P-U1cQhg|TK|@rZNIb--D&uo|2`#vOJo

6Laf~0h&a?L2Fr+36yyrCO}sGI+}Y$rZCN%gkc)$bK9=&J?(HW5jWu`Y_TU-a9z63 zC}IQ~l+);o#9(+1_%)X-m?jW+$S2obC(t(0t%0Rb`Nx4kq4MzmS~#nqxSDPaVGh6dK{W(5s8wVT3{d!qHeXOumThzuy!J3}V^@;Q4S|g4+aO_^da`9pmbw1-9W`+~6E% zdn6#ljoJEJ_k-)Z7an)Kixi@L8(=mBSVCzP zr*6Sq8sLCExcq9Ggy#Q|m(ol=HjzG9-@umgAr)yIFVem*CiHu;2|qCd%)xx%^#o8< zC4EKHW5N&{p%O->52hi&D}pzG+*y@w+%Kw;%(BXx^U==y0x?1%d_?J)+Gp`1WVT@^ z`hec4_VWgxHh8L3(ChlDMM04C)O~Gq;K~gpYiYnUeQ4Ke{v(UIjEyBl(V3Kb)wC46 zplB%RA+WOa)dX4}D)Lps?U@RuW^r@(gkGLgdURegX8t#`pj(QEq41P+*Z`qyc~-<9 z_s0KS1qjsUPeXx1_AUx;&O|!3u$oLwE%p+J`!eW~w=SYRx>n8cRnD@NOt(C_8eO^8 z7MYPIWRBjL;vLAmO^k+sN2Au5GqU8Ish!U!Z5ulu?cDvcs<*?BKykk+^-9B2dEzfz zxh}f9?b{(Xdw$w2yn4*7*@|8yj-oSodsC+$0#@f>L+IvLKlQq8FxwBvtSn9$l_Qna zlg#LtUfQvN2>!C{q4hN?NNwJ&f%hG8>m)+O zKdkT-|G(h^N$jl=@WBL6O~}QH4j)W#okeaQWJ(3?&2{vij2lm}_}3agaaIB1i+tB+g*G%18y z>WpJ(j1#3JpgFJ_q($nCljo0PE{YT;j}!WdFa%`StB*+>_K7fza>lMYRf6cqBCKBk z%GE}dA4!D|saNKH;)#B8olY5lfYW;l6ASUw7-jX|`-O9ZReS1On$2ahNc-D(AP?KK z!tlv4Nlz}CGR33fXJgp=tm=sq*oVK7f0J{kvEgekcn{=@Q%Z5gzULmC(BX~w*=lO86t!#NVOMD9{y_|mx;3T#X;7cFMZf&I?@}lgiZCZC^Nc^- z=16wELNStRtW~HM=O(aBKT1EU95;NDV5Y-*q=SiutKfo?CzN8EVwzxjD_GLjfKFFR zKl~3(hUGe`sOUe0tOQ6Lgp2e;r5I~E`zILNoT`Zof$A~u=xYvJ(yK#!9#?AI_HjQ` zqmL}g=|hct*hI!U?T<94!PDi$3*Z!w^aW))u_j{tjlqh<0;kAHN0}Sps*kzLkURLW%tq`l-Y+M+B#CWI}ysrm^jvXnmQA8ZUs>NsgtEiz0rhrcBP0fD~bn(|s{!4!d2 zE)g)1?>w67Y^Sa>RMWc#^D;dFRjG|MWYZ|eJ^H*Oup$MqKD_@-|Kj)a(rp|EdFA?N zC>ST+p<4WyU)3-v80?QUzWhZOY3Siu7awrpX%TDXvx10IZ%BJ`dZ*B_&L7S7ZscQ6 z1X)D|ExjtW5D9(tzC4z1ilJ?sY89S5VAWkOgKAD+6$ScRS%g~PHGX}Kk=WXBROinT z1lP%GsMH8LeDtw8tma*Jo4Z@Cvn=sJVPzkzltH-*!ifXpGBly(zP;q58`dB9i4`vg z9n}gy+F$RkRdFL1ifQUNr7bo3*I0Dt%La7dJ)9R6LA0D(;$2{@^a;@WPhVt@v7pjnWl!wKzk4y!qDmD~-#5aGI(_7{FcC*} zc;+;-oJk)|3ES%N;VQoO6+wBdWqTv=d(QYu;mqR9ZrdBQuvod_!l-sqOc()7r;yD>;-8qTqsw%GHxD2fRN4Ex?LR89ApcrnbEr&m#^nut?bJz z8u{$7r)dUj3;LO1YoMH6b9!^gE9jzAT#PrR#?HBs? zAh}AQWCoL@;w?lC`JvApBN#<>s6}FZ0IxKA%jCJ4>oZa@;+e}IOeO`)1yA>OVOS)=)LR(4LchrR%K}4&Gb4rRIcfPccXhG z=>QQS_&r5W^kCkot3CQW-Sd*R!yk}+e`lV@8TW-8Zr=^&nrs4m*Ml}n{Yp;*IyU8I zP7}xYQI*bNE}R!52CRRuyVh6HzPkhhK4^)mh%Dp6a7{vop^~xxMy#d_m<@Mh_U~@} z=8?!f+0FmPo*S$&_^Bee#8)KY24Q&6rSd?<+~5x-23tgWUX%(_Y}7>&OSu(#YE_(CL{lf+kP0^}y|Z``EXeVTXyOjXZPGi|H{EX6iRSlS=3Hk%@Q zSHC|r8L%ESdgcCIzsqs1wSE~6pGy%Mk1y24{vI&+V?sgBjPW!?7e8fUg+4tAFAlSxd;Y|ZWW;r&&1Fm=Zik6P z7Bi`#Hf-_TZHRbWTOcVa4at=?f4aayD0HB^R(ZHH%J^g9`iqAzAj(pcv#HG(_!p$m3(>*@zx%_~3la(Jo z=PWQ-Q}V-1We{>2Kg5;&4xrN6%Kjt_=n=5`C8ylgUj{*SAm)r}6R?8>6t91B2}@iu~#B=S&gIK?R@a)-r}!C>oGsKR7+t>Gj(=!(z=y8G<+}(8bI=c{=c=2)$Ufq3EPEK zgm?(K_Ejd~G1f%#>s@fE%vVb0@QMDc)Yoj6wl|%Ay*4BnRi_X}kyOdX?N}svah{OF&_U@kF>=v(|3B?tVtnFz z`!0JAFAwCp{kIK8+#5~2*poP`@5|iBZ{VHy>)r`c|C~32 zy9YCrA&Ypi5%Kpf(|>P3zqZC*34f)1rT4hkN)t&vbH)}Ic-TVoboL!z%MJc6uhvl9 zg47$;rl+a!Qigh7^C$atu5idn?b4h6)>jX(mu}6`9euDcS8k43bIj?Mo~u`0KHmXj z;U_|SN)!fd23-n^mv?&Phd8r^+VUWP7#}=r-5JNH<+!|XHk8Ub?f4sd?MA21pai!| zUrB&IZd-G{L`Gif9Uo?!E9z^Nv_=u`x7n9Y`|FE@3VIyecT&-cC_$288uYlT|BG{V zOEGXM0OXP>IPaw7CaE(khL04K{G&-;;V6AS2+nMT9|;+0A{1#NpXnLN)5FGlO!RXj zB2yzSt-JVOKqHiXgcR;4|DdbvQ1zGcDyKzO#$$W)J?n@Ngv5z3IS;9YZ-I@+k?uq# z3cvtIh3H?28k;(&R51fTc49hd?a z{>YUJo%~JBlMAm<*A>@;9fkwWa~;x8H(lKyb;4eMzXO41e7_ZrklSMLIA`DY`a!zK z#eI9LFE|P+<*QLp7(lS1#-26zBJg8+VVx+#=*(i(MQiJAUG-Lkebrjpa;<3%*SA~A znJUKW?;Zu@|J9EP$eClkSCzSW$&{hYjRB~xGmSITFMk>IQAwFM1B)s8QuIICKSbQH zYg&rnrOm)I-8uM&f9x3Uy7IJc2`0Ss0uwXR8=x==C^dC4n^NKSVSE zJZ6C{^TnZPO}N@D1AR-iq6UDf=l!CHe~>a1Y5CYzi8O26$*z)Nwp|T;O!Lv67>XO1 zS(A3_U&(C?o%teA!;BJ`WC^`kMP!&Z(S7#g?DZOvF}>_iDEqmCc`649_!3yNxJ$kI}K9_)y8p@I=SE7thN zF-=*x@8)qSOPK#qQ=1j-sT4(USfaN}!ixVeo$v5nmWRN< z8gOQ>39KB3KR=%h-0mHY?%Gk2&~(G^m#jFm)<_yNY9d%;z|X^(dR?}G8-s^?yIMU3 z(6EYN5Ffo9Ev*#)bUu6={=vBn)<3h)Wnw!GBUgcQmI6h%A?AGyMvx83#~x^w385O8 zA=<*ij6)DJ3z<+&8{eWpZW8}Dio9hJi(=wcKtM^1`CSWvZ3Q%&8U!UK6_9=sgy0PK z&lL}jn9O8HSKfsw5^Y2SQ=FB`g4k4A@Nav@NLBb)Pv7AJwLI?> z`;ddn_uPDCrz*xfrM@P_rtYbP9nAEq-Orqnyp3%2`JkRp#93{fEp=x=&-X;ObG;V~ zjvScYqxltAA){c+c6lxAL&T%Vj~yZY2C_s<=^M0{zN8TQ8rH8m8g0t{-c|@_e_!Wk?ZM>qrMfWvB!AqA1aSj66_lc z+c)!#K;&!8OG9@&o|DX5qQ3tdts!L9GH|7@pY)Fc(J+T zZHS`-67y{&WoLs+UK5+_Vj8-5DuFHV{ak5HW#i__DGqzQ4W=FIGNf+U@Q^1qJszdTW)P6d(!rWIF$I|pcW@0zLra+7u?m! ziP8@^hIDz8lnL(mz6DqaMGRid&tYff9;aV5Bcz@z-(BDE#u?;s+nB@{*C?GpAO|HS z4B#>H@A*%{XUM}$%|VFR(4jHzAk9AV^9?D_1d7`c3iF@yR+jvYZd@RkvnbmhU3(4t zntc1#nD04s$-RVo3#SJwN25P{Q+)J7C{Rbj!~Z%B~rw3{vdXx&)R=FZ#2aAU_m7dmuWgQTGf@Sf^?E=8S03 zO($u>88JJERWaFFmDQh3+$i2OpDFGLr6xinoBO2;S3_c38>ez{N!Xbv5RRt~E$=)! zlzPpd?f>OAgeTVKwl&^q1H+!weuEK8auXdk=SuI%Os&wIlFWbG!GR2C#2Q9GFazw# z!~au&fT;)fk8$XC29?i9?h2Zfj(oF^(hkXu!>*my|KrID z@H!OpRe5OO3Bc@ARmo97qnd9lggQACyL6aty#OJw%gXEcJk!Q5XsA;_ONjx@OP>}E z8!h=#judCSpxWiF?;~_l7C#R1oT`f741O}hWm)FCWOQJv@5`l|YnnIwtG3l^D$bdf zrZw*2E|R@w)9aH47R(ChY-n3^);IKD9leE6U(G_3a+*wWzGrjz5LA9c56@g(VtHwP zmg&011e_4)_`loavD~+E{_y}h(QIA|8dfJSad3kkMe+7RK1y zAFp5k12!{%jHqs8HMX z+~bfDPt2@utTLT&PcG}v-Yvfz_77jNd-H_TDr?h(BBwoFQxLdNMKmWq;<0pLh&boAh1*)`cLBpkJ&m3VZu?ik zn>7K^m&cZ0_YT_d0+ZMdN^xo3{E@d8ea7Llu%yOSc8Tj;=y|68Xx@#m z;*Y;GX5mGm?q!EX*ks|y3AfVq%gvajyOY2ZW;Lgt#= z`xelGmUOw5MXZ*zUKJ%#o$?HbsHP=OD~xsZNJrYQDZ|!|hXp8w_z;2CvYMi2n5_4M z$#c(nW!ZDQa(njYgn?#nXG?ta_&KBXM}Z`Z7U{-Z4bnl@`9sAT*7>nUN;yS$n=~Fd z`AWRn9co-+!mRecRvMsUIXdAWf`DIT>b7Sy4g4`%3aB^d+u^ zLfw%z7#c*z){Jbd%YSGUC6QU?Xu)rBFGy`vMR%Q91z-b;VYFq&j+e=gOS%QVj0Yg`UGHI`>W zbW?Slgrt6UH=gKEXcGC){^W@IxLPv-W#uprl5;d5yX~r$PHe|EG5`m$PI1m#ww4S1<{_sltb^IuHODD1dj!LE`Ia}c zafthCsVmhFQ9-bBcklapushNx%LYr7%ku98A%UxU})T@R%hKQ-+{@a#&q7JieG-gRi|Y}HxE=;Qs=C8Xv66ccopQgqKgpY8g6`rY}^ z@}NaNAMe)k-b{jTDtVb>!a^ls(qmWn;5MxIXtAbJGxo%Q6nQnne{NY+eb_*HRX*OZ z>^2XT!NE&DXQp(U#-%p*#VOHS4JelEcoU*7doPs@uuJwaURVJ}Yjs{oFcijia_@$Y z3C8~n3-3+UcJEQAowt34**9%2Z;MSk$~g7O8G)2~G&sn;mX?~1_PTq3&DRn&P8bzuA=h2RsfhE3_*-)pRQ-a+>D`dHn7?rL;i>Q5B%O-e1~%Ud*gc+`hm#*B4PZ`KWmv!!+S?j7WrEKw(nC8 z-}iCo|9w|_{rd;|Uw4()T&~}8%-^eH-(&uNjKTr+Jsw<$D=H zI)3{;{RjFF_2-|Vz?yVx{{8d8Nfx6K0)q&GK~aRkA(Vn(fuK-Upg#Pcf9AD3zvb^c zyifD*pKrjJ&JR+>dZOPS!}S~9uiyXdzlZGm8^3?KZqIV{Jq8oM=k37xjG9X^*spg` z{{&4SQ;s|@p3Hc3;>dK289wIS$abGG#uj@_t<$ky(HRE}Ja{3w4rn?<-Y!Sex=VlU zR!+sdz@q{V=VvrV#mvFn1f;TB-uI8s7L_4SeSpN7Bm+U91?&XoSkd4NVQ}~n zO+Q$GcfMR*^H>PR;ofhaM2kfwb^6&4kayJRA$||Y4Y^#RaTNpgbqXa+- zQ@KR}{0+y3(@MTB92(=gv!bSG55kyK%pGV~F$ej9aQlit0%@2>D;Fo>4TMRK`LX4CNkO`{apMHpE1;tlRMDS*cr*~#!`p^an_%{6pG_)0U;$ejzUGGE6Rk`*9X!N z&KJ!3sh_ACtg?lJJ=Z*ZoUQ)Es}B5`F^_T7foCxlDhC4DL3z_iX!B5p$-?;k5mRG+ z!a#R3Cxsj|X!T2kST_h&iDwx`V^y8Vs^yNuX2_G8R;uY_sAUo~=BG*VCPSqSA;TB? z=3kq{x|{b;{Dw)fFIw6-sq}Z^+VKbq%H&eny1RGk&HVQR7t^s>%zFz6 zeXJr;bAk|jb188OjcAIAc#r{@hz8}V*KjiqETj4fVSGw+e+ByFK)Oagb5Nl_5(}wP z9cTCsHBMI%gm0a3?O|V%O2LALP~zMP$R|5&TQsDx3Q=YAa>yBX-ltUL^7q^m{J!lZ zXY;Dg_u6J48Gbm1Y4un(!g~AgzfhQzubsBv+8~hLQEX0m=n)xyAX_jH+2-j=N`%HH z!Vhhb4c1xGU6KU${Dx!{$JA#!9d#;=q*)moArkP>W(*pF(>c}5$% zC=JY~6PW#E-OAEWrtSe3b=z%^WClh*FLV%QX9AB}WndO)eB22N&=wcBMiK-?!=0Z7 z+@u}>08e*w8PeWi5;NEkY1kqS1nVP`amt+jKwIA+%K=6(-1zY-nV@IKOCEiReD8bR z{+c09-ibIJA})T4h(WMa7*WJh^>4uo&wkbza(hloL_c4ruLH?hgI0frsj_||-)L@0 z*rUOE()R%E=1XzY(W8DD!>NLb_oD980RWiwH96X-Pv zu3PhWEc}jY@Q=fC?V+S)te%fDPrdWs`ISiKg2vm2L4dN5W(q`v+Qtw9O_&)z zS&p7X4d3)Fif8wkm{EV@uMWrtCV)Y&tX=w^PcCLj_(K6DQ@e9ZddG5=Brb~2IPI>^ zDj&hVgz@dGas_%+&bnL0ft}b4S=X27+fd*K((r1%)%GDMql)jNI_jMpbR5*!>IVd< zsBnV1t4=z6^hrg?AMg!DV3Y5SN#4ATM9#NsUh$uCFpq(KCkQ4=U0Io0-hHgX*_=1( zwe7SYAq|k zguoCRC<%M~oSWNiwN^_-$hBXgvKAibX2}pDWCg#q#4@tmO4tf5#b_sRHoIJc-bDO@ zeEHnid-Oc6A^H%1#>zoVc?3&rMlQT4#pP8+uv-U`mXgK~D88Tiz|=N<#&Wxk!+)!9 z4gI*tVLlg{GVq1+2jOZ(4At8co#y6uay}zsX&L?lV(fQtp6ycZ9v5kmF7_lMo*%Y_ zInv)@KwpG-g(K3B`3?3>w1+{OoZaIur3NE@%!p5KLgq@o>>0OB7NPp^=C-`v2$uy; z!?kW;geowNwBbljrkwDHelLe1-rn#BeW}0apu}jlXY`34E!m^6`V>1_G^YxM*lg{X zR4&?$edk1G_mVnNpn3|7{MEoBgzocg-*QRXtgWAZIJzbYu|D{zXKOd|$JwlvTxZ4A zzQ0MGHBn=u&#_!{6vNiD?1#ly#7A5em>4I8PO&6Wx#Gl=s|thKlu@{@_WEq*W#%F2 z1H6xftTy3-?*@~VtaKBi62cDNW0e=S?Xk^;00noxJ4%IG5_slbF2Et&aHP@arlYRj z1~}?P>lMJ5Qy;=RqZW}Z4}@5?3YbC)-c$vEv1LoeK3%~61i0;o5~g>FVfDdl%W65> z7qi0wKBc&I&Cng*F;oFYlH=k6OE)chHsxWYQa<%4a>B)D#kzLWDmFVcEPJK%%^2F# zX|){&Oz0zJtTa&W742ZAW~|z5ctsa*O=V~dioW?%#LBqVQJPJrYrsyRst1DDYXjTL zG4etwCdhXblqa0Sn4_=Q&!G9Z;xg;w{y2Qx3i@a}W`X!pabRiVe+^p&P9E3y0?`%i z7@N$uO%(jB7o5?puM5rE=(lM;ypjtO;V399{iHubCk z{F38|xO3a_llo8sU?t)t0by219eDpSm4Z|<1c+5BA%4mlW_H`plv%DnlsrMryMdug z!0+rz2Bw?`af|~~Y!1X=`>>q!J+{|JB5=cv_9BB0OTEDjl20thBdMF`1GZAP1vW1N zD^zai1N>zL(3BAP$XVg>?3sT)EX&mx`Bi&A>}unK205dD8Xi(PcKPPsjNK2Cnoh(B z(mS5+`RO6KPSTeu41Kgc=CbVp$hNZDNKVX7PlD4+@yzE*6Jx@)>Pw8dGDwd;%V9Qp zx!phqIvb7^T{|vIxJ;y`h08)|f%zOp_!{ir8Sl$#@A?PZV#Ox(pV%FD< z`KCW-IpEC4P5~rTpX$zgjayKX(^KAgDrsvxiX`bIV)tY1ezXRz211k+P_Yqp?FN_( zYCB>aof&0YV=(x$Hfxl00pkX?>9>_ls7c91o*XcspRV7z6U@cNFkSYD7MOk|?hV_` z>cWq&m7QXWXSSAzmhAN+(BAv7Lo`c%*d>**ujxS$CD9(Uq)Uk6m$mwpUUx0ta|LWSi=D)L@&{_ zh=q|su8kMD zUV`AYU(Jg7cSS|%#IDEEcbkGxi@EbDd}h5~5~bi3mom0Jc@0%e;%$00`iyo88Z7K= zUQfePn2HwchhJv6}F?#%Bm_6;B~M4-f}J39$`I<*c-LLkU2Q~f)!-T zhO#8e?o2C9|1kpXgglU?3rZpZy@ zn84r9{}4;A8h|E$&)E~}8%L1$#5cw3c$k-Z`2!%vN7R|yckiw!}aJ&)|-1sA z=h*9?#!2}WU+%>!P#<*aUl1wFXxKsg?W5}|FtJ?}TYVVh^f!eOAaso@2|+k@vybm$ z#W-6@kC8gI?r3U9_so0*#IdUbCWV^tDzW>lsapa-vnPs4j(npsK<=$rqbs;F(!gDg zQ5;z{S6AblwJbM&hSPutAm3+J`EE>(j#7Qbed)=Ha}!GhM51mUnPl_^oW70~#U%*k zkzSpRn!;H2S|0kG&@U!!EXpfM@CAcGgJptQHT_&Z|C|NMyJ_3&MqWNdRe#EGLh)y> z#MQ?Z_)3?qCb@5=izxk{8*}ME(63_GjoKY zY>KVNlADmEGKH_!3`=kNQWE$F@vVAzP6dh3zWu=aR|?%)e&LNw9Z5I)xONM@U(P~E zAShxY0S-T8?ki&+bU->X1D1HW=Y({&A+exA2BOeSFoB=tn=x^{(5g3&o)#mtqB27i z0^liT>VmFZxB-iDf6Wcb9&zgTJghf&eHZ@|+ZvqpmEvI4A9G3?03aOly zie*jbh3+;Z==)d8hI>*8eD-h0@ydusq7PB zPCPYfe|vOM6un}(d50%42&`3zFN+e3Jo!4;tSo3NE6ZFmkrmc!Ob<`QI#yu zuuO1YS9qO{R!)pE&2daC?Hwt`>Ep<8_p=zYsZ_hCrheDM_#qjWW6D{SIkXdQVK_c@;$4F$Y_&#(xXHJWDM zt5B{RdfT@-SlRB!tfd6(zEySQmU2mHa9JrxKVTEemLK~Ra^fzk>L~f7c5kQ=Nqlo0 zPY#hkU`plX0et>$l z&knNUiQZ?zNeWCoR1cbz*DH3EhefKng0LS6Gk&s6_BHw1Rw|iDAhwF{JUCS#I-)T8 zS>~tg!>YxPg4cKIrzks9CBnP*6Gurr#Lz1P!C*mW&Yu^dT|sBP=C?msEHTa(lvL(1 z?S^n*Z9xhw4R!`H2~6>~c`?xXQ7aBid+~fXZ-Ssq1oFH&?jv?~XfR6&OTUM6SUDYV zA!kyZO;TmYJ}uQC1$!<7hEY!ff70VdtALz>e(^%M zhOs{WjU7XqC*ZE8wO^FYy$<0;#m>X1<{P|{VV403Tw}tb9wt5996-(%Xp13m41I*a zou33Wjz!FuG@HWC94>eF`>>_AcHMkt4r;0pwOEECSUS%%BOusBfQI3it`bn_N3)(A z_P}$v4jA4@n7R_}^no1-Am5&xTB|tPIuI?pSs#$;+hEF1A9h>KsS46^KFK*yNmxqr z_rq=)1k8_W-Gv9OttDhvSNK$feQGZtQ_qrA_OQf?k80>XP#)ICQ{v>MhFW?r8yIIgUp_oWxhIjzpGme95j@k8QU z#g#J}7LGfrA`h~AzvLAY+=pLD&2PLn2Y-bV+mQ3dQ4Hy(pGUIjmVXc&&Z**~(#CN1 z$Ev9-xQ*AOKkl;QRr6G>a(wAD6vjZLz1TlKY|GWmE7h{<_&UEH)W`N)8joRz`&#`+ zD=2iHT~be5!1RwL8adUCo?AL~y+yCQ3){xeWf!u_?6-mBF}tCeL~E=Yq{O%x4?82@?i}n)GPER8Jet*Jw6S`<-G~NQGR{_6H_UY zaI37+U4Ktb@O>w)0fv)na!!9N*8+MU;Wd(aXi(!AkK)O>(wC7%LxJC0BAuE^raXA= zQC#%&WM4qWBr@0QH;g&dAW%p2wdssedB$lyM)Zq5fiMPGKylCY_R{Bf8qw!`*5B}8 zkyQ2!3!x9G^e;(g9?^Nk_w)M#ww`DIega%NwNy6M=&W{$ex8FWYH26TY2a4+o z8Daa;U3^aLhQO%X4Syg*r|Sg{r6E9}CprTqmnQ%oL7uLFitzf~f8`F3mdx%^v_71e z>#pbB5}>ioz)hO_>Q22XBSxD-D#=&VvLa~KQah&mUBCA~705w$w1-A5e+k{ab06r( zFvdUn%iWBS6h(AE%QF*SV?;P0(kBE^z3FA!;8aYXzH7JmCnM;bSF5gT zu>HNRjysT^Q>xm(7@Y8#iDnL_eBS&Wpo`>vcz0aPRCDYbqcxRA-Qd!MJUFc%#wo zxwg-!oCGP2V$r1tH%H}yDl87F1M&G09M=|D`)Q2jyp!>Vqo%$ja0L$g;u}PbeIV|U zH`;GSGp1~^d z^?EI4uDUsO|ZVc#rXc^xcH)m;6$W0?^%n-LO{qRNA@XbQ#2epi2f4_-Si!88mDSBt8L9X1P!Vx z;c&?YGr%Zm^s~^;sVG~WSoq{*eVxxMUh0Q%GW^FTvGc7&5tp$lN^QOeMD=QvXfFn1 zwqoPjCfuEP1E%VS8*3TX82nw(T9})I<%^ig60_;Tu6bh_m&3?+#wd`v9}vx(X`@z* zcSeH(tggL+OU~C3^1na>XIz?$;bZnA+YSY&S%vfY_MfiV5-p(_EvZB7$5Yl>0GDGf z&Kj%_PW}$}XnXU5`}*tkJ>+d5%_0UPJ`8hwPM`F9~d^VPFi;a0rDEUKrZ)0R0>v^_l0ek+>jNuzFRu{d3r4)W0{{GrfJ(j zgt5&oEn!VoAiIcn4q|k2`)&E?i`(?_vCE3cewDP~gQ!c6@$JW0lYnJ-l-k&u?uX-? zh_hR&Sx>7ijlw9#_x5Au1O`oZ&(m`Y#{id!h=KkpZPtd0=4)INd&$vj^Q6#V9R(+a zI=E+#VI;k2(5R|KMNY#Pa&)jV zf@qA)z9~l8qxVK{r?$e%KxlYYRM;MGiXcXr?$_p%Q1IpfT8ncDWrZQl^1QIB(Jp9> z7v5)?54Wo2@cI~XAui2N^80A)tD`>|S~)i&TN8lZNsnn^9zX;_2zaFjo_W3qo)7@w zX&;iwZlZ33JP*I(3cJx+MR!WwH!#b@DSovAt+`!nV4vI& zS*DxKdBbfOhOhIf;P^+ZZ=R*4&o?Dsl&dJqX%9XRs{Sz1zzSCYQ{nR-wdxB26};nJ zuWnSeOS5$x_{b-I0iTKLUrwsGmpqB)(Dnpox=OJbme!B-`dGwLE!rau0q3fRu)l*A zYP8whV4(`B2~Ne>Scl^tlR2YWIpuViTrDd;vRdBxyFmJZDtj~Zs7#@gbS6XrF{ozv z>Y>3{XEgbDE8a8J5wZs=;%U0eXLaoz+bs!6&sy(M-a@Y*uRX~(5r6lUlJ>V>sm;CH z(XyDa1?#pO8*w&ucWqnW;$t+yPwzCbT7Hmz0Le%fiCs)rS{?YiEgd(`U6J3TfxUCr zOYJczByw?ZkFu}f)E0MH)1)!yxo9Tj^VJtZ6+25mmeVQ$DO@%Z0zWuL9&!gTHMGsP z)a_od!Zo)0Kk*3}2w`)iogxNpk^sHz3r+G>+Em#!8$u=Pw3aL1Y_|P9#*}W4 zv`w-5=#d8*=$lsl8Z7E}G^a`P^`uJDuwR(#_O-lo zWv6sPx@&CP?`k6wH3I!!l>SsM-&J>t~+i_fycv44a|ew zXTo9@07&OocZ&MT5EZbJjPHX%9Iw7qZ9xASnrE7B%*{9mdgc2SpW<3jB}=|hXIceC zPHf-2sO8_<9n=sXZV(*W3OKqSI(@z+Mmq#{B!Q1kEAlBkUi>Jh4Ew)p5Y*Q>P+w!0>$KpylgpWmC-G-j?PrCU$3FK){stSrW6%!Mk z5eZ=>-tr>#`;6Urb@I)(+p(I}q~kKuMo#P3J>@8TFOHk9#s3P%d4bEb1i<@(^CqaR z7l!&N<(@g@30vbo!Dh>oly2>`sTa;HBI2Z3paO<4jL#!sp3YH0O9#uYKnd{}DZ5nc z@oZ3Bj&kCIDZyu;Z$q=9%tD$bg=r`Z0ale*TH%>_Ji? zh8iKla$}-4{!Mq^T_^osjWrdW@}2|WzoxmUuOXOj8yx@bp?r? z+2f72qv}kI#SXMliwl*tfAI|5ab042rWAgRR8dch#s$C(mSwF9{GyuoJdYj5$L}M$ zr>srIO5KS|9}{RCZ$4XUSe@#qjL`}6jA{bodu1BALamk-WtOBl8NB?||3>)twZxL8 zLIk<v_b9;y}QcK62zN)AKlGUB%LaE~C&T;P@nC@rELH!$#(V8VTMaCvb>xoWI z#sQ3`s}`XzWt*|$h6$jES3c=gI<)YKapdB5f>b8qH-b1#izbeJPc=8bapx3L0=uJ2 zzHD*Na@lSwl*57(tNLWg9I`TMRa!Nyw=9pmo6A(M{4%KDNdWM9#LxV3FuetxdNrZc zSw=Gz^2}+M!?${e5=guTB}Awn8z@Gns&6#P6Z(dtE~evlb&;4TK~c7#GR+YFTYiw% zP{vsMT0nbiw!kOHCL`uX6_>%;yg@tw0CH$;N~C$8NY}!pMXY%z#HM7 zJfnMDMY+J^863O}GRM!FXa*IHka`O|@BsrY4Ar1LKx0Xo-y*0?&gd9{3KPdP6KyH@ zLu>Hc`1xyZPJMe&N>*(bh&?;jNUSg>KJj_W{X}{GDFp8W4^70<3VO6x?mK5B=+$o_ zSwsp~y=lt1^YW)Fnk$n*@_0&9w4P<4p}PBRpE|0b<yWT@ffp z6ra_>1zWAq?RsC{X)ru_8bynb3TReuz@&xd(m;k^LHjf`aBRdG1R3EtxUpK7k=$vo zqXQM$@KTc8fim1(JuK@x4|moHtIL%=aH~%yR#uGgQPYsl?|uMP7+sg5JT&z=db4m5 zT@HrD4WJ#)0tVFmc+73PcM9!k$F+j{+qCEL~?Gehe z0$6?^_ct=2LM9@xOBw7Fa672+$09n6v6Z}WC|FE}IhrV%dk zfr?<^g;#md94s4GBfjOC0@9m&(P#i1i=sdSyK4Hml9LVf+7&I%TwhUPOC{t&W2<>v!>T^Z-i+(Mf|Z_4A+^u zW1P3Bh!EbBZ#<}M!}KhgtD-IiP81{pJLs;8<(ne77n=<@U};o){jmIud(01lW zVRes;>YTl*@RLGXoB#A$T;yahyf zpG!Pu#Zm|oSEdhfjV%St4%2lf;EvD)b*ZbsV;r!C7@28`zPm4E3 zP3O8!nU*LtI5cX!&K%0C0FMA`W6-t(K3I8tXX5s+f=vU(H7@dXvngjWFM?<0^9!f1 zp{VIOJAlI-8L^O~+i%tEBEc-%vAj%Ye@u_g8LpF*=z@P^f#-|Tc6r#0k7V!~vFQ@I zM8vTjv%YguRb z$v&S?Mzz0wZMK%EAXrkgF;q>Y`r)P%4c*7-T_?0icL$ZV5liy2JW$vQ_=<65#)eO@|I~NrRD(n@LO*H&LdOg}zg)04nDIit zRQ=wi3fPrIgBQg?OMGO{Bug_8uaC3f&p=r>y*zeZOIfU`>c&kX@$JX0l8B?UqZn3r z;q0FEIHj??iQ-p8`6UI_iL`;V-hr;V(PhP!$cm?jP&gneX2MvI!FDL!9lnL>3`wfq z+f>_ktK`Su?}x)NGA;Ph3ydII<6nK&j8Qipm_^|%@1Q9- z)+yhR&2JN!IE+mMH?oF>ggqt$R{luuPVO6s9ZlXkv`*;lL*-);_3&cj+xngRY;Y4n zmrH0<4$wp3J{i)cHkWjm3GTM&X&=Cr2}~YL z%Queb-8Ej`QCZRT?Vr)UC}_kHSemS~2)nJo)SKir*|HrDQ$F#fy9J;q%aS)uxXE^m zUbslSz~+I7FsjeZ((~eL5Vj<39`YBlwrkct@S)~B%wbr23#7fREfWz5jD_+Y@}9x~ z9X_AbEG?9DzB(^i25_Y7H73q?#ERhsyAXWs5FGGF>mwHLL*^^=z`_^}x`-pj$5)~d zfrzSDWDDcLS5JNphhj+t7f;J?`-dGLvtsMf8C?-dApZI#xB!90J|bt1XGyr4zaVeO!9F zF`cydJf+E2_*&aiDa z)oQA)CnS(NK3e!omnTOtB+N#@UsTLAnnn|NPsL`kr8yOcWWaFytLC58fk#1}JTA?e z8Kuz9>aTZlI|tb(+z)oIO+fI|lpivUGbMp}Wo17e$P_wnht>^540q}7_8mx6nB7?G zsNRYCP=E@?RdB!4+YVzd-oP6uy|NP)BMv4cYZTar3$0J9F5RmGSS)#7B@eb<#ojHB zK=B(}Z?AEZWMI5y+bm(v%nEKmy0#R_@>p??ei9(9xIdn00zts#iS}sP^d>G%?$?{K zBB5et%jLQdM-XEDo=&capxLoITJiS6YPPU_?w2>sO$CcD2%-TB0z=gwhsRmPC!P$Z z<_qv*Sy@7jG-vjPM7{d)?#uRTSlCEffS~wgSVC?2LYKkmsKen3J@o~)&>sXm{6w$9 z{eE$=8iI4=P@nlt}kWo#=8Z-%L8s*uJ7}_K)Z{K$0H~XGhj6+MWCGA--1T zX}4%-(j?kdTU@c;{Y0mM@cjo+%FL8$AV@OEGOjfIANs!NTH z*B~>=SB|75MCVieP|E~=^V%;cyDvXfxco?tP(3;u92b0ltUm2r*ZwCO9Bw|#*(4UhC}bjO)b$-kA<7LQKo{DiiMCIZs;NC!$lz_0do zf$4JDwgIcExG^*u!g0%o%=LmMaf>u`MO}sQhs@wd{ z!sdvk(KIlOpDZ1YB%%#tEq#|kSBi*NGYDo*&+|iM%BqiG3V1zvf;t=1RF-lu-VG1e zs1Kv+{0T)nTtq==Q2F=7%k*|Xa_Ej&$w?eaN*}~<1jP+scpy36=fRi+fyc_D;$_h- z5e2o%RI?}8XLN#nTz!t^!Slli41e>veBv`w4v7_3Xci(_j6=pdy)4=d^g|`4l|IBJtpvja^2}5eL3bB{b+|}Ud%RU*6;PJC zsxLREZ&8^N9HJyVAY5M=xe;S>nhr;CMZi;iAcq_Rn%e_vTsaJ+>({S+b`Cc_(e`X; zJLl95gYn|MuPTLAk;>onZmyY*eS zAs3^2a~qku+gC)P;S_ylM^IhBD64_cI{NNu*Uy|(_ zY)`lOv5$+WUQIByk`l9C&ND?*NP(1fD+f><#JWZV)p_=Z)j}8j(?ZxS`RH}To5ts_ zN^u^9qMCpcDmkiFU3Du_!d`9>!T{l}X~$Jnu^_3NAPDW40875-KI(lgO{qM%TYX%X zr}GQ~w`X^C1MM7wmRqb#wNzghDhaehvz#UE^$^$T3bz{ z^tqE|=%yV781Bkxx=A#?JW^DsE{G}}z9c++^S9;b1k2T18Vc9fj!*0g>rYZ0V|aBK zP~akm*A&|z{!1&pIw`h93)Z4GZe4!aO_BBX=ejdxZ`sE7IBo) zZ)Y4)R&_67OPHa?uA~QJ_$w?Ax=D1+PhQrw?>+G<=WL!tML|6jKFY(!OqdjxK{x;< zTz>t&&C@YW1+iv`<~C)MdiU}=7``Ta>7)0m+Hqk#f^3|SJ}~h)a%-!emNreO1o_LJs@4Lf=Q= zyd6Q~Xo@f!qcJ~N1XgQ7Nrpg5P-@udVxU`8hu1pD^rxe(Rsl;Bc{>v5?1!Jqf^Q{e zdA1}%&awFSv{aT~pObiZgN84gJO7e+i@HuF;}153gC?lz&O-xVf16VFqJw+@1L__; z{e31R+24qy#;2;wPiBlf_^GnpCW@8<<7^Y7qHM1Uo;h)!gILuPTez|&obt%O@G_p* zYr%V+R+>XWl4VXng{GeIGFTM~fk;pu$h~C2oQ4Bq zFz9{nyKZ@r9msq<+%$$6yGXx(4F-hoz9XxP#7Z(`UA}Z*x-jdhCN!nxF_+?NW`7pn zp11`QN6IHBnTg-ZGwsBf;S0M-jr|z9ZQHb9Eh+Da?1g<9emTt<)gN3{3RQri-efjuUGEl9d zYO>x0vUA~qHek%|!OB_D8FSJ1PQ@Sm!RapSBbKh7vP8(}c|b(07g*ZZZ{5ozAX0B= zK2Qip$sJWmh^4SYV|jq|!DI=|N1={OQg^#D`R`#>AP^p8!h-;&S_anE3ImOknF2cn z82cP*ebQ<-)M=k@Xt+8hpX541WnB@xU+r(UI850XdL=ds?>r0h0`_{zNOx{|9)nmz z&QEHVE{>5OyTxFcRvnSvGO|D8Qz@?U9ee5FtWGq4Tk#_%9S<+~a|2uL)3of%^kEqa zSi9Zc#<`5kYxnd#>r>@Evm+D#oZw}@jq-L_>oX1epv(?gjoTqyAy`=|*V={b zNT~*7x#)mn5&&wrNq0L&kja*QJ6P7IE@h-3`R`4Zbuor%|L`AVCa{GmFbJZM zmrco0(mIUWpR#&q6&eu{nf2G^uy(FZDciDedS4^i^$?M|N2@$S7@zE@w-BXI>XzGSBE z-`M4y8z-IYZF^n*Q5V2a0mj2PKzZqg5VG+89{WO&uTpT`6B0y8Ha3x$BjNp)ZpZ7r zE4yXom0*f@F!Y;g!3|NI;xFp352g{HrzhL*P}7pZpAz$X2k+_LImNTDppNI9jzd-7Z74HUZvpK_YKm9R->uf>?Cxova?ThJxL1q&2Wg z14?}e7yL5^#(g&|hn2md!9m)JN!s-Q1uV(ZFPZ31?rWD%dvp}H8Brwj-g};TM4ig&WHi z;luc&(OV*y6LLPkwSglnNd(zDPzt9IupjWu0V%=!zOO*U^){Dnt!x4FW4Yw=DVRhk?Dq7%@~ zzxaq|DeRV1p=FyF(77JVvh)++03}fbLig)8{43)DD@xrPI4J!4yOy}4b>C#dk;@Pu zvCZG7g>6`!zMWz{IQKg+$9Ra%HV|W^%KC5tasNg}OLu~8%eQ0CUx^+xmHpmgYB_GC zte<)+7<~vl-poe@+MVkgbcuEJSaWR+-fe!L21KIwBql#M+wpq7g=JY|DMQcYHKz1! zX7*5jH9(3~UEh9l(oeCHwiE-k=w*H?N`5EDbbZiC2)>ZqH08+E$3gG55OwB&Ocd2~ zMN2<-2p*paxo+O-{y2)01-xqaE;PB{3b|T=6~ERcD=vZB*$V*5=HF~P1(LZUjd)I0 zYvl*6D)Ud_U&7tm-`AYgwrBNlSkk&@TurpD!ir_t2Y(a*RN#f_%L^P$tM9tH%{z~! zQh9v+ZTk_HOrIl%*mt6nmig%!U7|K=6oRyOCy`jC0VL-0X#k+L9fd`oi+rPYC19-K zw@|D76+2P6FlN*DFp#ML=0-il0M23!`t86Q+L1?K*<<+!L`wTkn8^DwY;f{GH#N+2 z?_#!Sr+$*twN1F_-eWY;g*jZqZh8x{Vie$ncCf|{T+~oslGdEpQ0BI%^ROu6$e>Jx zq9Tgd`RjbYuSkPuF#VOM(w9c=uFy3;*_>Bg?T=Er9)@e3a_NtuLStFypT6ZN=)~Of zE}P%&va_>jrtYDD>pi48>OOAx4yd|~Si3gqc#P{wcPI!hBjOPO4Okm@i<$91&oi2_ zL$HBiE1kzoGV4+`o+XT>3;{;y*_<|)bY@?0>tihwxUR;qXF^xamDY!#<`e9w`N&@$ ztG>Xf@6OkmuuTvdrH@v5g_aXsgRgjf9sNj(xmO#3R!*l1qc2Mz+DQW5rxb4wuM)xF)`gpwV5YKn-ve*I2 zd>0D37p=#|^{ea2p*k5={chrVa=c#Cp=y$9%Aw`&V3GP0QDM|bA~5aF2$A)5eXEI; z;#YE!x3Gr=7E`R1yEj0_L8VD5-1DA?J{8j}VKMkqW7BeCCA-_*H{9(kmsuYT@h+AO z)evp+%jjm(jxf%2_;_+7CiS(P@eAQpv&Y6eOCBhvTcnQ?79GJlmX7I@49jUW-%J-w zete6HC!THw2Rz#W~esB;ZJxyyfq`ioDDQPPRcSL;_**PaNmB*!<8jh8i$trIDY$^ zWO6-;DM88>ed_#AZ6zT9BS750TmL;zl*@Fi$M}c0 zrall~3KV7@*;U01hu>xS*muykEr;EHnTN)q)yA9%&Kf>E*=ctk=n>txj)AV!53{aO zzT*}Ul~bAXP*o@W)ct|E(kd7k^B!F%o$Z$Wc!GSQZBMbT;^qMkBjV;SgnEt6p!}eb zrOq)bX{j|1o-Wo7F=4}CS%1I! zn-vgMu)#Cb7H5|4ylbhq3R#tB#E*kq!ce32i;pUAiK(KIp4yUiBRY67n?TsHAGz`5 zU~)BKbfx0=as>xVm=k~=ONX-Ql%yinn_lMPZW}wvL-~y0is=YyDXQ+(I(B?F`rVq+ zPYm~p$2z%#-}QEyWv%TT_q_ZQPraXi)caAL+;W{=g~I9yBIGvDs6Pjl2 zs3WG1-6CtGeNP0xw39n8#Y1Jae%q69!*cfju2vxITK?TMsDHjjrkLJ?QJjI2 zyRBH3Cyq~7eqvJ#@HdksKv$;XYtRXi(=Ow~WLK!4fd6}M-YNx!;vj4?QSvwsJtDrI zeV1j!9~Srp$tuX!nk7cVX6xa z%&xP@U@0ySWf^+jWA~|7>~Q`bh`*@q@7|&#(%XBN(Vyjxm9US=J6v;!6UE`M^ura0 zvb@z?K4xgN11_XB5S+55%nzHYarV@L1vC*xgDT!+Q3uV5Vqp$JiFcx))% z@wptmzF7_UBd~ia01{o7AKr`g`Qbm)RZp7pdNdY>^}@2A_)aWxj>*TgqfZnvGr!(? zJv8u(XZk*toFI>4i%H+dwnz z6#B=!3qtQe$xo<r6>yY@{Wzn|z3EA;p)0&N7#WS#dVVLVPtBWt?#`14hp)E#zNTYme}=>&D>K1bgCz;(M(kxn zdga*=^rseQEG|V9gI1Wl$Nt^^=9twFrixA@0_PxX)qt?*N%awr@~ z2Us%*Cdz)Pu8Bnyyj+eB)SGH;iSQ*fCOOgkvfD6^>f<79;=`5{vRH$I&J-^nw9yjQ z)FwId7OMqHbkzV=z#ve(9s)9}hl4<@0%ZUM@O5%Kt0&Ot1GyvUWjP69_+jW>JqNYm z%fW{&(cmlOKAopwaDDWj#Uc?1i;V$I&w_9;-Mnn0*)!Gi4>=qY*HF#K_+51R(EP-= z7eh@yxmRa7Y}`sF`tf9{|ENXOlRNQ}9^BQT@}ZEpHZZx4b3#1zx(9;VGbN%mv}B9s zGL>hQ(@7nzW~lzVB6CgFx96&)`H5TjwT)==-oX7`fIqKT{|(VK$JkxrL>dj{37Pp( z6^zv2Ek8y7$CdV=|54e>D~1VHg0r3Oj)i3=aI^ z88+tNu+t|$0Evk3sTI(FKkavGAZaQwqUF{4p~4#k=Gd|#(xlQvr*IVB$0$BqBqQzNp8Qj>M1rCaW7VWPJM<~2zZUe_ahp9889+t)sx4oP zK+#3Xbw^>4eEvqP!To=B6i{mIgXQCGcR>t-)vjQOhOe|uQpL$@?l#+9vGoQOp6&K) zcvNA08{f7Yp2O_q(TJuy5bWtd3pawGk3zOcqC0@;1*&=T3C7cEiv_-0Q79q2E~Q=_ zU~-7&b2t=evy50vFJ}pzrd;H=1|D^+RSC|qIw$nFw=39z(}q+xWCFq31TAfup9a~S z4?-B23I4vlVsI(v9QLa%kfimfMvu@>e(F2CB9{C`uJq zu>6ssEDRY=UUkSw&y*zyh~%f*WBGXgd9|lMff$og*OJF=g91ZVgxe7~`7iD4+D3G|UO<>GUjlXtC;B2B-NY zbrBb3;^+@uI#HB>`WO4?<;B5TNP$Ayg2@7bXq(A4W_vbgHf4#2!4vpVoDr4$u2#GR z9ODy$8ND2>&GC0cn_HCu-^WO`LH+oum;ez-iu!>ak(R3R4Gmz&g9K@%p8$Ab(h2>H z-%Ggf-XvwI4m+|M0t#lPBErbMoIu^nN09NDdhJsEN7CZresLJ2yEleiBMY1%-uZEL}NkM1>KgT|kiNE)5hV zq5|{*!T>%>Hhc5BHmfgw3OpxE}|a7=;18Yad)I-5-~J zI4-3~oWK&$SNo0P4->s3)btFtk>kSa{XhZuiQ?M%X#_!mByEA~#l1ji$r))M5~^KF z&i~dWCpW zz;{s<&9aR}4p1*vVMo0BE9dmilSA|<9x8mE)S16^AKa-Ox-3`na(!uGVCBV$oF;f# z5LnV101BWrM}(km(^el-vg<3*6bE%$z2xr0UoSwL`2%eCSWsEn^ zjFVASl}`bv#bKe}4WZ``)Ivf^Zf|W%zY8CCJyJAeA_z_Xs_oaMhb2@7y!g!8O>$aQ z=HIG^)1y!3Rlk+vB?^UTY&kHdtGy{GC1uBMdteZlZxq17{Zq`XtVh*d6}k2`u~aYs z{MvpCih$R+uB;RCC=-J+_zVUSq;cJZPNT#TXzo{g=P`#ev5PsG&LRc-o!lqhN>_}%FV8U$h29mmn+ z6+l=P3fw}_T^Gf+Ccg@k4D|BEwTg5og?A9QT{+0#0~m(9LpZQs*)h1Fxoq_C;q=IZ zI+q1!`h3iM?`QdtJOIglA97r&3&SwzR`Fl0to*fn+1jU9cz3sm)a5k;R02Ur-iC~q zVHdotlU+7rpZX(@elm`?t*dQ_n>Y~O)Ke!ZUOgoS`K99cbtQ?+n%t6^^lZhn?fC%% zq-W8FNNY{H!s@>(gn_DmpqN;J&0PWHGm$0_f?W$xGjyPn0g_HY0uNc8W)4tKPZs6e zOA|4s`Qs)EMgpe{*t$l1u+n;Gv{Mio&UWDd_v|3mDZq-BNSjnLZjct9%18BImi`#K zXZeIO;kBx|sd|}XUA<2{x-|!w{ZMG~fkAKN5j~GlbllBN4OwR{#`$`U}zPJ^ccu>XaSToT^=<7Yn ze&g-1{R=*<=4nS>u{`hRH|vww`0c7L0xpn;tb`y<(W)+OeFr5XZ{&*;-ACS&b_P4Y zBxkvp^Rp7;n4+F{yLr7JYSz>o7XW~SOgzMLRQ36Otq7}hPf~O^K&Wc;xt>kvG$Zb8 zEhH&F(VOBjTM6vV?Z}D_xEJ>iJ?EyhX{k}}z0ZDE?O2~0MCE0qQ0`6_3)eFOv3Y90 z5-BHL%np8+cPoKqsc;+iAZIA#Pgi6=wx6D;KN2C)uZ>EaTN_KSFf6xM-~-vtB*O$o znMk%H`~dL@keAJYSfE{lht)73uldJiyF1A%e+2Ou3oAU2CF-z}pjvVBG%f@dJ zR0mM96}mzosOEPm_M?)Cyeen)P@F_}M$s#ugiyI5Vi)!so=V%V8XIZihu2dK&}Nff z{xqYiY`jQNkZBM9?ZB(|{10YyzCVZh*$u{|eGLo?mPn_!AwQd0aUT*k+n7>(9*sjt zK>LMmQT4t}){8YcZnba9$YB75-Pm4!;rq~1w>S$@3NL_Y>8eH0uoVFH6Z`I@WB)Dn zUTCht?(vY!1*iz}Cm2fWI|LZRp+xt4*5d+~-+m3IWyN6EhTk7|W^E#=I)nl~|$Fb?@g;Pi?-wd^}pRYyowDHd*_ zQ?4$ApunAi3CvF)3kmevN5^awEK8( zPFu)#{|4})ex)D+Y@c7WwfxK|OSTM1;c_KE+ahISzyDgSa+CCoLW1YZV|gR!ch$zr zbn|dg1fyyM4wh60DADxc3V}yA`BQfa;kTL`8aFq-Thl(36dDmmnJ}evcTD7nX7X>n z9CFw}KSlSxCU!|A;)a@{$s*n^>c%N3S)QrEx2o&3$bm1It?iqmpv(7dKLWY;?M8T! z4B9@OFyrZcg9JtPRSucA`b3aVAb1iWpwMBNkmiB2wN^@y7EOW{o^2%01B#}y(^Cs)p6b|=9PZGu%BYhJ<=@Zg3m5* zRLHl;-9T;>QYr2%1Taz{h|lPg&5Mk(@d3!DdNxg)QaN#R^A*wn#|%5-Q^*TdA5)LP>M)Lw2`wsI@9?t&g(AGRxDzfsL~_NkF#Oc{Q>5RLq+?^nqRu( zM0>pE#L2~e%$t1=ZwW=VJv__b+XCav6SA;P(#I>!S-nYGG#(V~go_aSg7HNM*$4UW zX*ofFl@^D8u4xI@sBBny7NP%Rz8@A7Q@&S%NK-^S)Iz$DM=sQciv`1n5ur%i7eMKd z-BXLoJ-ymKZkj?_ZK{5Uz0{-kaU&bFr{h~Hio9qVAoVRuHDsa+tXPgQaHNZ)vaRL$ zha6>_ctqJOgH)k@Gp2rl5-%?F-MUbF#)|mKzbbjiRsD{e)aZU>QVw79doFzXoG-MR ziK9VO`dE>Q&SR9qvIfypyi-9V@VmNich5@$%0!}V#{s(RBPiK1@v9#7q24J^uk69w zb}XA&FPW~tHH+eyq2PKoHs_xFe1`-Ao<4oKmY z`kI}5sbhOiiD&3p+UmCc#=xK#SMCp=Zk8gp-N3R{a_>s^a|XepKS=%Y9`cJ{lHaJp zu0r^$!E$1);M^;3ga2ZWMAl;!Mmxk<4Ne*_lDby&KxEg_W`pO(>w%~z7u$~Tvt^Xg zN@3^JH~qmGWcj?O?Ny%b6DUamE#Wd;<1m@Q=)y+}>ObgNucsubjw!3s$t0vZo9h-} z6JO%KkxkNrL`vBP$A`T}WKvN8sgVHrewoL8NyqzaggJ2<-+cVV+N(pPzLK{AEe?w_#iD|C!>t&I zpW9Vp>_X;35%XpsP^EfwUa8sJ<~&HbwxmAh3U04&iJd6Fvdj9uBM!K;DE|_T10?#d zNZ0k+oWwfZEIOWbXr#DZw?N6W=KUePX{lnE?8wzm+)8nwz^I3SO0?kf_mN5n0pU%! z6n1biCO^4Y*}m2C)*{bJYRPy$CApPu@`z4|;n0$`ee=x6-^qJiU_D*tTGu4uSBh6` zegE!N-iuIOGF`N@)3q5pd7EN4GwIi!jQNS4ZF{+eM?s67Zk7D4q$PaeGIvxC)g;Z+ zDbb))y61w@>@Tp`g&VHQ&d$1r+{mKGaoLzduHRQG-;lIqIs37E{miebP57WXek@Bw zAfUt#^b;*(0ZF|~DhtgLt72%Y-+q4qS}LCd`sieNjm@Fr%NHlxNlI8x3HdIJv}-ZI z=4kNToIYl;y45VkfH>qIG>y-YRWb$RA#|Cf6ZH5VBN-xVuq4j_2aeUHQ zW%U-l#&@M!LB$Kp?d)JUzf_3h0e5~3_dODM0=YU>%JOBsIJ(;?T}SaCjQn~z^ukVl zfBoN6?~yi&Hp46UcFyUlYC4O$DcXv4U+_R2Xd=NkARFU0`ayvg5mFARn(puRe#@Ba zFQy|V-5dR;7P9Jpmq}aW+7AETSYkv9rmdzeq?V^fg_iwIsO&}+(5NT=OJ!&O<9@bs$(d3F{WN%r5tn5 z^UResSz3ZW+on^bfF1TTDN12WCC)tbZ$q+#!xfi1)n0j2hsB-sHlIkWoSzhXPjeBG z8#*Q3(8SH#?_p|UtoNCeJLOR)PQ2Zow=NzNWN9Hna?umvM)hpHDajl9!7#J#j4l1n z#e`)5vK;&)lK|!2V?6NNmwlMv!^4f%f)5$w|+eLc0yJY#NNa!IR-M?t6wkv`w$=EHF@G& zUCE{LojnTfFS*;sQ|Cir>ji+C*7w^iJq|1Wat%tVuTAnFl9Wq*S9h%}Ue1y9j|?{8e}M^5Q4} zFUc2x!ltZzm9t_4-MlP;81>%ij)AKB`T*s%#svd0a&@qO*U!1zYWc@Zb+5mhWnIGc zq?OlnIxDU_hXQ%$0rA}HOFpQ*5NCwdd~F_VBC{+ju+qT+AlTkDq=dT^)rFnbUGq=+ z&=X$!)V=7ktu|#>5}4Kt5)y1@PwYrVQ~0fX-Ti6!!+9{TT^7k|qqswG*u^SMFTM&Y68;K#Wx{ z=*_(6gu|{)4*}Cc77eBOQy2I?_C-V0D0i%bP#&`Df8OYzJ$5t8s80*KhPrZk@i*Ext^#Gp6Q8p7s;X>$mUX0ZWdKFZ@vYR-+aWviLeu=fc$pXbq0qmD z(4{h3@ycD*m|+cVf>CMFD3m2d-$Ak=M*w~DORK=#0Fwrt^dvD4+$W8I-mzi`uI+XC zW~zw~ahBlYyk3SgNwjfoDYN$WPyMc!%gO$oyhM9<7)hNUPlfk zRbP25g1S@`06SR->AycTBMrKHD7kMAsVq;_2I=ZfDeEe*7yW@R*c6f?a&jlP{-;&5 zkqTa#o5A@rgNsXx_*&z2hTB74I#C+&2hBTo>5t!>uR=J)_ySI%vf=LVRe1OLT*T~<{mv+|FUR@R zDwzVDk>DoG&u7GHyN^~)2#OGuhEH{UK(Ulv* z%NZo^M2Fk2x>?;y+~%^(w_nqR_wG&@?gOTrI6x%g^P_rYy@gZXh&0D31t4uZ+;!zQgkO7KUgq(s0f_Q-9G_#!3hi?Dwz223+8z%IJH-T(FTn&&BC6^~j z8|2ni)$RQH*XPq6II3b_-^~R}p2s>gyC@3#PB~B1^&7N!)hM=xzjA=_Dy`7A{KV{~ zXEjGm!OPe`yaXsJAb0*EIKBeD#bkapY)Qs^649sIvLWB05Td-Oj42m6P0l{I8l3*~iRS{wKZ0_8j|O zS=w$PxOX$n`>XBSYGRGlD9G^SrM^wN#06Sh5BrmvAD++o7eQ`!962TzuxRM#d=%`& z`GuJ-(1WD_;f@pfj@y%vy;Uf1xppz^iE3lV@aJ&nFfr*?hZbI-&);jE03x0P z;^j$A`9N9Ekqsev2|hRgWDwy7I)c)b1v*0%3A-@gE;*%f2#9KyR~((~J=c)9nSbQq z<4luDu*v!R7NFnhp!J}T7%qTit!uRcX1x_cjinN;lWI}l7FY6xVFP4uWx;}uYc6Dm ziz6HckoYGd0a76J6oCC7=RR+5y&1<=>U)4BTWbK1Ncsx_fs1tZWSeq)HoP>jQP+2J z()G!dO@oh{Cw@HiI_YIeTA)WjWg9D=m z1W(D$ofswfp-)>!bER-oeBNvUA?K6b=y7B7yA>GL9Zc&EW^X@!seW6(+*Ql|@d`uL z`)CRW&7I;7$V(JJ2$&D$r}xbppbk2BohyXs%lz}%3q$__K{h7- z_f>x}aGjkFvY097!>De7mvfmG>}fVR@6H3Pp- zDnBfjjz?IT@6K`4DW=rRfnCr4C`X&fn}hB2MIuOyzMj27-!o&7Z>m1n;)ODWQVk6K zvRq0)mQbI{Z`%^9^J;QSOMWZ_EDX@(9Ou({0l>5$WQf~@Apmge+ccfFv(SbclUzuD z^um|ZYRbqeJStj>v?_0X36=onSC)G}%xRTn>-Kweueo69TR;I+I2}7ggw**pGXx-j zZ6rUa@#&WJ)-)Zm&aZ*#^Bn!Y0mc^GMuQ-j?p4KCrjNKibbecs`@5qPSO$W)>dUVN z2d?7@5y|;rKr>Ss8b7cTL zPYbm~ZmgF>ig!V4M?ehHy;L#gh3D=AS@!70?o^sNqO{)vSIH}`+Z~9sLV9gsVHcnybal* zpSG&{6$>5TxK;fwy)E{c{e=AZ&9GM6LYf7Sh%J6W$FYiQJwnTOLRnvnusF7t1PFT-j%% zFG;2S=DZMVAPVyG@bFXmGC{QqAf50-14)w||=r%nOX?N4m6`(@+;g_QW)^*aE} znn#p`i2q!KKadYk!gM;lr)jqVsu>=#Mz7;bu;toOcb|tsoY$*8odr#LPac~c9jk9XJcNvq0f(zNJ<}|1T$0oJ z*-3n^9~fb)NP+m~nWM{poV84qMBJO=Il%=3GP}BwzJV(JbWJgm`5&6s7fsmegg-F? ze$Cc#++cV`zXgy||zcUUTK9Foi@yeqT*DVq9AFVSmS( zc|Yho71!$$#(<`qV+SSVhhFPKYbY`<4;d?>eC zMN#c^!1;7{LsmP1xO@JV1Vad@z?S|GLn1EL9+8X7j(ycUmsM|Quh=8javb40ul8EO zQ*bFCf#sTT8Ip#a%980fTu-uf$(rojQ@|4>JNm+&D8iwipFX@wms`~gjD-jglu(+X zMyc7*EKaToQ0Q-xbuM?)1ub4ALxdoZLNH-#Bcac<$|bPnQx?ikTa~F! z!ezCe%~`)f97cyVJOMu=!|5i*{15rxwMnRpqTarkAf=^oaD3}6Cs;Awz$a!S7`Nl` z8a@aj)#M?LUBy8Vl6fYtA*3PqE>*oM-$B% zimQ7;C^cM&1B!FUovuwWX>UDd7vHWJ-a8LFgXEXcQFz|m$c}gB8O-sX0_Ft@ReUx;WGI^O)Ys0!+nU5yqTU z!JDmBlIEGPu53|`$wdk)Nk$n8?wVXVu<8IqdaK#*j2nFKpS$g4ob#GM)k=`vP)d&|1#kTr%H)k=Nl5PM=5yTxm7AQiD>aj zH&{^l8HJ`&DxjUJxytSlKa6gpsM*dBL0CMvZB)%uC8zVSH>?4lGsYR@|B(@<^B!Hp zS&}W`$r`)V2N#?Q6pGfLc14);|H8unm@FGwm$w1t9t?Y9Thb7ZuH{EKvmhIO?XrTo zM4)Vz&q2aDn{vHab*P+t0Dz-`((?eox>xQU6$X|=t-D_?r2+<3!2?DPxz5E#7C!Jc z({!l7ojS~BoDwEvUq>9}Z6|z8tDx64XG!qINh)VJ4(P~_GJ#E_e}aTl3%Nyjx?1O! zgt8ENS>H6z`3n44&T>%+piReNt*VaeqAh=lLDy^6A`Pf#agV@rEb&Q>+L|xH7=w1^ zSe;F(kAo^L3C{`LqLYRb43#*}TB{hCE4K3F;_dd#FUAwAU0WTpxkpm7er&Jj19#9t z9M^WOc114rYs{L_J&uFKYH`;~0LW(>{j$E=^5I;`4MC*}5=EVE(;Bx8=_kWAG}fce zrBO?zgD`Z+RiL~t733*_NNlNq=I!<_+AvQirsQp%id5r~r{6L5RBe2WUpf(T!uIa{ zyHex(hC7%Sx4mX0=$t&+$+qewA$j8FJb?UIm-IF012Y-aXu2^Pg2osqp671h=j1C1 zXMLGSbaepGxl+h>*LA)`y+Po|h#ENQV=XDrN;W#tPmC`P zn!8*(9r-jOskl}Hd6#K2u~8PcYgk9_{E?zFh!R3J1x4MpNo&h^3anYA&s_mm``%sF zUWhSseTEZpManWQWhIu=gvihCrhGZQ`Mi_3ek+p&)_!v=_xl>U4#|w-s)H7|Q zUa1v`i|%+VFGh7h^Au)deJXaQOL2qE(U99H8C&-#kOFA~RMkZ5W}WO7%H zrGD&U*d{^oNq#>m zVZv{LJ2-y);BlVU=%9UTF7r;rJA05khs=Rcy^tE^BTRF~%Ld9_Phkk2{>!2TL?@++ zu6yLjS25WSllZvFLkSLFuU~pTWktM8dM@AKNA5oro+c=|%D-ZR)de}Gyj)2VYbd-# zliBw^)Hk_-?@H*rpU{xvi6oABE)Iam&#RR?fx}biH*!%2^8~;4x{itmW%bDC3|MN{ zH-#xMee=o3!3QN*9R$ot)U~N%sqFsyXk}n+E5ZI+)yXu2%uBdt>9t zIeq1x(-Ycuj?h0Iar97nKNv~C67MQG8=MaHS+(1>edkyuH{}B8YB9r7)5&z-(-fD=g$$WAK zRLAR7%=e(MYEeIwKE2^0!t)W2f!D{Dj%J)MOA36e#M&70joYQ2{cWZ;?B11&( zr&pM9As?I7=`_da>?T3kMv4*@ck9w|4=V8Bg zWE`&`TF?kJcvfhC*#jYcUNh(Vn_#KliXvPbq#Znw&F{sNS041{pk{|UZ?MRA5l-^$AQgQ+tju}FRdHcbIu*4?UkH3E6# ziGV$ff)g%8qw#s!-?ipvLp%hY5K7a2JtY#%4+wBvQPfm=K!GaXHR&N$`sR$tORyOa z|Wjc;ADIi$)o@w?7k`nSbPQ$6=;248N4WQ z1krY~wi|d5(Yx0fcw?4Rg7snHT_tTQk}@eD_keWY1UVXMWq-#50A6-)Nt(z&)(5ex zN>C!`8IsNTnMlD>(7kW`i90A?Zd7Br{y2CrE?D`^ebSVtWjRmW(Ldy5d3=-8n4z4Z z;_}3eo~FZO^SUN6o+3QbuHU!=v=1Kn!Ju_z_#iHPYhe0##&j#`;p1pt&}r|FMUb`+my8yY%`^ka{L4NxaQ>m(xp_3K53U!p~<$>`}b& zjRn``U%{ch8@b$>kfguSwb)w-m-b`{gI#XJnH=AY-DJQE`S5-+qaAPERNurkS@e}l zMIv9zyoIEkp}H=D z_j(BB-e!SPmm=EHYs4s^nWf=>MKDw`Mq`nOVKXx?HpAj>8rK_UjIfxq2OwVV_|&T* zJ+x48JrO@hUDG_y=QvV6%x`b*;=y+@nBbQ0QJ%&RCP)DU!M&rtg(64~O~>T~zL6OG zl;stDgX%|j0h(DV#REt+5T4Awf&=KIAEU)hx%^=C1wasOWdF9Bs#I?J#H6ALW5y)J zgVNmri61bwS9$M~9baqM;tj3N82-2hv-_RFyL2c<^Js{@wGW(cmiZaz$a3Vt%o%D$ zKctA&UI}jH+Wm;>MS;2R8&a(e@FGhaM;9zB{F|3u#1^&eM5TKFKM?1C6r2F+G4e^Z zZ+@ULU`L^oyJL;nY_WFKlFzHCu}pDVi!fT-XKE8`N4RYJ2doa*l$u5?`sW^{8ZDrR zG=Fy2*B5^%^LNZfPgB8%OZWVn?Pm^@rEM)L^n1Pc{y(f7!fIz#hvDGlFxK`s7gF%o zAwoJ*&|@qw2aRSRZU=zg7)Xv7 zdyJk!W7k}Qvx3%bx5SvqKm!mIWLDD}7(j)BO6i1iWNn(yOP*X$pdN2wtjj1Kj+T$=Q0{``5g7)&%nJV z!;QHZ{p%4n3BS7zr^vNd@$NHnj+$6MKTifl;6NqIb3Hx&4j@^m_*+^k+Ict=|K5H% zzK-P>DZP9^IGBkxfurpt;=F)tdz&>8Cdt+xmVjZ8{jiF6qI9igkibTZ!ci6}H2(}MHHSc%d42T;zOH-_ri1Sz;K&8Pd^L7fV z>Sz#T@^)n-yS@QpwGi*<1k0r6%*Iu~H$I1(>%vyv8@QrPt)_(OD9@H-DaR2(<~ zDf50V) zDm&?{6#Y3QaOh_$SQAxh8hG8%OBavLCO!mQJuNo zHV%cqTJ(7jzg7KyI>8EDRH;pF04xPu^jEw*KEJQISBHzu>t^}BYVn(&WUitJsi%rR z1@n?U=jVQ!XyDTejC-us6v4ii+$Kg=ewjh#_sq%CBuifn|9BW4Vv-^?&qv*IXR3)k{nG+SfqQ0t(@I~pndeJ_qZqHlUza32sk%0i!pWG=fe*w%K^-!*Y( zcwB3!nw5MEQ?#vM-@wd9pXklSNC~^8SDNJN@a0uROMxn?Q{@C>8F&7oJ@tvCz9Cj*<84ezUHOr&TYW#1(siV+ko;a-t;DsoT&yG-yxTP}-~-1~hyBhE49 zcRSsTi<}KOX`HdvA^mF%jcHOZL%U(glT$rZ2zWE1QiZ=IHUVRE7q? zNTK{b_;!@!ZSHFfi0z0aXfjs^ojU`SAzmb1Bz|tU9tNjkqM6_uz6YZ54LJ76x^*Xt zZoXZJtOr^+|NL`O{E=I7N3DBt*n)4tXHy*c?S)7!DGoOkM=wb2xs^71{neBTjgG4ZL2;ivWHK;7VCvTtt_pcW}Gfd+Ftrr%FwbYt1g|3|P`FV>e!j4TT@-`&(+72hrKM+*22Z_x_kZfY%I zhI%yaD9+UfI=x>Qb0ZrWdEK%y90*2Lx{$pvzZOb>=@H4v^?$#Wc0g&e56b?X^c8!R zdl~S%EkKj%JiePeP(-4LcJJ@+4P+ysKW*~L^91jNH>p^~rqwkqa`a35vIYFqK(w&$ zkehT)GI6z+GYVYwVu)rw>?92j#7yVj_BX9oC-9qlA+N!W!NP~kD==MPQ|M7nNL^~b z*X$B<26_#*ooUneAuy=KRUA9 z5Xez@jbhig+)oYyLF_QiOZPfr;=C3qq09XVs-rSRlQjlgZ?yR%F&4cDI@{{zAkofB z-c}t=aDoe-xp2QLXyyOHAv8Kh_5YD#Qh$9C45nMZzZgy6EDNN%c5eu0*&b>`&4}%Z z57LFHpcXB9)p;|v{#H4eQ)G>GO1jk-yQLx8F%S(IxBi$;dpcR2D-nQy(vSz*nxZPr zYxv)oy+ITEg!SV>ZkwFBPN}>{m%(^_Eeofg@R|3~JY@emGcu|xg;EmtyQ3p%NE~5m z1cA7p{5+>V(BcwjOrt*qy)=~e~(8m1uX`L@j8?em&QpV&&^)vriT{MgM@z$$;_opm#(8cB! zv|Lc?%JvGQooiAlTLRdqh9qN5D8FO}Rwzt9#vCOdkN`bewn&nOz=a}XjItFUhP^fi zLE6KYG|4Xv4MGgUEvp&F50*B$=A(`D8c619L22RzF=QOKpqL@yKvvst7p0$QMn(MN zg|^8;Nvg!xg+@C-e=kLyPcuLO_v5g1CMvpsuW9e_Q|Dqt*5kX1pW}8xLJ_!SxX!@;c^?|#5_4N?E`z`L{d{2&sU5(M6(*(&uO{h`&D>i_=R{H(n5dv(^hjfG!L$KPkCruBxJ`Q&e zOY;UeAZhwC8c&2Fa}IK5qH_TWTbYu8Z)!Aj`6}grC`Q(A)>%vo{PIyiuPp4`aTNPV z1%HS@dr=*Uh62_-Sy3kmm_U|+UPEH7^9BYr7!!F?ATR?oI%Fa0GPU2-QJ}r zJZhBzHcBlEDI)4^bpZkA8>J4C1_1AF5{k~UWSqe@6!{Ug(hZ@;BD@dN+Q>ISh}B?! z-6Z%noN<)Ml=e5A$)`gmhpiiq<|wQuO=3*&Bk&m*=)s^DmiOn&74J!S(q4G>sD zaAmprq^kdSim3aO0si+2RPYK%6(^5T&m zwr&BBeVEZQP`0v^GKm)Xzgn(vI^1DWU`yvO-GP>+DatX4&l{g;lCTm2pt)aZjZ6Y{JsmY{1k*FU zl@$JqPU++NUtK#xeD)dw747-!`qZ zom0aYJ|T6t@>HfM%WI?5)R z*9~fN-oL5*y&)yZYq{_i>gi;uqZ-Jc?ZILA1l7s%KvD}}1p&wEf_6CcE*Wy+s?kA7 z-hWpiGaW~FBiqp*TRt-G3nU&T-wztPeEoP>joZtbS9|OzOy#pm{tNs6!=WB zK?oLKT;Xf!yQg}X6{%kY8t`qD!XQt;fQZbJ^(Us@KzUPX5;#k;(*2u0+^ua4e2>gl zd0iw-0g-(_+uccPUW&dHYQu=QzCN#r3>ZisD0X}C4^2jwOmI(jh;SSiC3XUhH?BLp zvy`i4dy*gwY0B5GXqbgD#5;csHYTJ?bny_?NPvXva3qqZ+jx~}0yM;5*V1ubYLDYV zOv=xOINrkVPZPOqf4lBB?9HqS3>e|>1+D(P8ex+s?A192Os_j427BkD{`e+~cPoSk zhrCHwl(xz^{lTe69=uny3rAU;;45H;^@#qE-58Yd4#O#rE3Bmw>jPJ#Tt&7mUGGRzF&}-ja!^*rxu;S>F*=A zvp7iNF*E>?onIxZIYKK)`X;a;m_^-w1$vVWSt?#4QJCXf8&E_rer#5kiyVi1Abm$d z^pR^}HHVZbx=DMDlKO~-{gAASBr>+$zr%+&y}EJ#lYDSfIyN;9$K%Jx6E8SQJcU~R z*?i~5K&NsAJrI?Cz(dP2+4X>!-Ik(c?ouhX5y`b{o$69fA=GYL-olY0$ zh@vQ-62IW$an>5?O_T!G^<@6B?}djX~nn}|1AQ|nEI zijO0_Ttx!jH>>mcm^0mKjo<4OgS}kg$V(W@ykg3;CO1O4TIwczrBA%hXuKrnX6NM3 zQ#RHxMfDe5MVgggx9Shlqm~; zeM6a>SMVFH!!+lcK^V3Ae~uYuwZbm0MD~9&4*4)@vo1E22P|i({t@92!)&IU4c}(c z)=DJPq+La19E5|l&gbpy=EKQy<(jF|$GJWu3i_o&xHUMKUo@RcBBv#=~mm$m$VZ1U$=Pzmwzr`T<2 zVhToG_PW&G^>I!h>)Qb{q7(*H;ftpB_#qo=U0-0@(^tM~(lH+01-a%j#{jjxFW>*< zYHtk&8Hs-HuNpi)GUP@u{NRE70^9eje^^*vzA^zTqUk(nAgH9h6sSDpQ$19LTS^$t zU#v?QBA7EbdpliW+6JsDP>wgpAg;8I3xtH^U5$UwtXG3ssNb=E%upLKc6=Hg2b^DL zFFq*r!P|OhEihzL4iP z@uWI!wux|K6BU?^c1Dw~(rIT(k|p@Zbl8aI1ImSh!Qwj=*yvhRuGi%y7HdqAkc;Rq zVD?=>Vofa2&$Ui^%wLfF98vwYeDw9w8D_QtQgHB72eY@I+saBN9)~x^N0uOH{fz`L z-veNK60uoiCx}5a-wm|$7{94- zBXY_wZ_?j43!z~M2Dtw};Kjk+pUq&Q(cgD%%(^Xo1@^0X>mvSAf0EUxIQ7>w5UY8FyfxEnht;l7z3}sd#XxR(bZ)3$4Gea$-f@CRL$Q7MG;ijMvRZ z8wqfTbPv6r@F;$FwL{IY<$(R5V>L!0 zhOD(*$Ux>AgmHN7Tk-`mL&}Cq!^*eu3+(bcB8fr z1sub-yQkTSTG;=I>^JU4Zlj&Ufj7})dNmlCN4zNG$$F?{a{;h>j7DRGPxm&4ZWNa@ zje=y?lqYA9W$w3^y1{p&5fQpV;3qNxsBP@sCw^ojafF`M^sa%`|5wb?iImr@X~$Y? za4*)B*?GQ(no?t2RgVo`{5SYjl7GHK(OL7~nMdI63skk|O$3BOz7?Z;0l=9PPl2m#SxFCi{U*CeW>w=-GHN5Unx1?z z{KGYvJ6lkKc{q!71#3TfM%qvFt_Si$s&g2h=^P4lM=}Nj8FX? zVpAeJ)qHv(ZD(L#FQ-x(2}JXvAlAgVQj)~ppNCrC%`l}P+`u{Fxr@RC1cK&yxZ?Us z(e8x;EOU@c`NgDto|+$+EXPEBfM9gXDs7A;S6lBcT}*^yAaR#0BT}khN-i_k)-Xt` zqBMULh_#2H&C6U7n{!VyA)-+lFpB5FEgYXYH)_IfUoaE$YC&^0ICGnxBLUkupKR>{Sl?E3Z0`zfRlk^S;D&qJH%so_{( zb{bDlW=P&3alpG9&x*e_lpbRP(jtx1>2v&${%7~VB^K+qL8W#MRyUn@_XEu!O-f>B zErylPPq1hmtC8T%!LqAV10~i|)FpENC9b>)>8+^W;p~%$T4*F)LA2~>F9r{I%cY}c zwc0kTB*sGllJx%AGxOoUb7?x{4`f>{7ON7*Ha6j#S@b%Vwxle>mJ}R*0d7((#lSk( zZDVSPIfCO(%rZkqWkjFp>G}Rn1+ay8;RZ7a=vJ4BQMooNx>Awbx!&fbI(ruDy;AHO zhHNk_wOJ3Y$@Q&{7H^xa9oZH@oF@A}ZR&fk-5MoO1zo>(rBL+?Lqk&WycwA7bh2Iy zUj{d!HF<%%>&({_yVRLpp!>U#nA8O?wsa!q)?4>@)68&R;x?~6*_b0o4c@tias9QU z%EY2S0|UPjj7k*)cxNk$tRoOsk1(@RFN=q$pH%-Y-<#yxV;UX-K-?uM#1$(XK*!~= zW|_|(EM0sQq~+({MiWY9TSk83_jC#82r%HI?AGGmXX_%sK!0c`A43Is{U+T821=M` zPHe9x8lYKr!q@qz^6!4`zgyJu;=8Ed9{$Rp2DLn%YOx+b7X|=e$y|>qC|lAg=Db4< znF4HMBKS)V?6t|NC0S?ajm;?Ulhi0o@QsstLsMg26TQ%CcIgu=4)gyvw77}Qcj=<` ze*K}!Bv1t!uW;^e)c3kilC#ncE-?VHOv)9=CYN#b=Pawnrd3(^G*k4_>ow2#$^J7>H-w5N z^qz;TPIUpq{~2wNmcEYYj9f+NGN36Z0!)czC6<6o3RR8*b%wP56C#%BG7IhPDd6ui z?XdqBxPN`Xa}!aTDv0q^6&&ajTiSEt4M~CQhGL%;1Y&*vSl%s?X2&~gUYnwM;ve=H zNF!Trtn^A%uVk!LaphPS)m!t)tB|1k$w>@T>5P3fE)wSK+iFwt(?zXE9QbotWxS%- zyk|p$Hg5C*gx9t2jS=%V9&F$+n(3pwAu@`fArn6uYtDmw|6dXcOJeig(Zm*C5rc(3 zNS)_Su*21S=Q7Q{_T=CHZSx(Mg^KR^M7=e(l-tn8@Rqik;KxtZK224)bBOcYmop0L zlbzw5OyyC+-KhM1s@Aic{>nAF-~g8{t16|a7UR-s_IRl`Gk-K(kZ+$DP`@X52yf6? zRJc^X|94TyoPA5d(jyjmrxtbxrgaAdvvoEIuA#Mt9-jT)Dn_kG*u5cE)l>fztqhpc zPhI$%pm*Cp+QNQ@Mb_|##dJDN>P)vJC{;iakgrMx^PE|S3o8Z18aEOrY%&X1P&#LO z&`@S)5wo+~XWq)@9Cp_G6f!#I0|;K<%L^YNV6Cb83^#>fxx6eZQ;r9=RFx-0R4%Pj z+B)4w4PvZyxyb^+bmv>j7*3%CO*PEf(hI}ai|pnD6NR{$ci+Q=YJq55Bv-jr4hYgm z*(l?FCS*;ac?pa1GS9Y2M9XptIZ0MR6++!cP{=i6x5+{@6!)qnt}So@ z^m{^1`21vdvxIiaK9oA0?U|A+!Zrwg%e=7GCzfB7hN~b4fHM?{%;aSNA<}VK?+J2DgxT|V5P$63@-o#Ecx!^D z5+!c%V-MS07de7lQmCq2C?S(&pxPas@rGCg*Pp_>< zKbD>=-h9X0b$kuDcE;aaF+J#}%5kui2mU9zOFc z`u-G1*``n1!p6U0D#o?Q9wiUB`Vhl&uWt-Y<)7%V))>)yJBPZW828j{Bq*BSg$)8? zlzs&^Z2fG|Pb3$B)lNjv3q_lhzpHE{A`#Y+zg$kXL@Ry*?DV5S!(yT7XRaundG~v{ zHNoyJ+Y@fcWEO4~m@jonvsO@s{b!oC#J3Y(Q&`V2;=8EUO6%=ZO-ZT`+$)6`C5TtM zpBN2-OjVQ?!;}`hgt#GZAN8gwG93LFbjYF$mI&GqPV0BXjlN%S?=dAQLL1ZIBZ?ZH zQ8qsGOLPh>{>u66v#x_erF@aKjK18bYV#KBMdedtRI5ScHdt5H&kR4nBdg06ZE|cK zT8%E+lR;tM4(JLgKChyfqVErmKBRiB(qpLeuceUs*rPhqe}@^8XZ7jOlnL7_yum8N zK~gfYw%%llN+07M#{qq#SPuiv(FzTwmw}WYHuMzDOxHs!I_f6CR(?`97)0xv#xy>! zi|wQzb`JB(eeI8)BUZM{)S{od;iMe=(1<4~vjf51Rwk z(N6e&FuCpHt}Uv@3AqjtM}I_MUc(S;y>pUf{|n`io>BiQaP%4wl^XQ_U98C#VyI6_ zr{9sCJ8|*xNN!aD3@YLS)8uiaJ4f$`jM*wjqeIS`8Ncu6M`qlQI&e5X-*Dh**K6iq zd-;O=!k(~rsTPL;N`y1!u$vRqVp6#xS}Uu{tOj+<_cpR52^pf}3oB}4)!Gn$NF?`H z8{t2P>M_Ja(LgaOb3R8K6$(LgU}!uDG+bsj9a``jl%cWQH135fn)+WDz8=NHk^4kW zKPx16n(RR13&&lNXxnfFf(PYB7%>9?AIp1|*v^ywF5MTf-B?o_35r72xI8oL)SA$ajS75ocIS@AW&A4VB%B7(SgfNe_ zBV?om!YC6YET*ay0?jV@ynm*dO(18F;Mn@Z(&-zAa9GX z8f^xcL4ttH{Qf=pHnyv!h>+W%g5xw;hikFZ^ez~({vAAs?`dp@PAye^H?AMCuJM&& zV7~-#yEUXAy(pmRE$^Hl_h)-C_G1ip2*5FISF+6O4I;-Y95Zf6CD{>`ZkQ$YqdjgQ z?20m7kJHzarTZBM#ESLl>gvdKn61$=49srMJWk!?IVm^?)W`%t5_fM=*$62Rdc2U1 zU|$+RHI};;r!cw?5D1a4UclLe!tIJq6Q4vmo6=XZpm|doT-SX7;o=!d>7Us zmneMq} z5#lsN4*fx3IWuOT(1TnP$Q?_u&u_OXkJJFQCldkkS*WPAfS5aU=y$J$+^Up-8_^ElU8XyPjKPjOJ)zt{wIM+b<&R!6{)O zojf{2UE7VC=~zEEEAB`Nv+e!lZk{;?rwJ>;KmaThNM<3`h)9LtwIdWe zCf|MZJ|O?^P+`1bVEGQIq(Q=3 z)tTIl7pW|UwP8S=(ps3SZB`T(pDz))v0~J$D>A@$J z`3;ou$4o|0Xw(AyVL_HQ3HCIgB@iZHY8OzVe8|5{Z}6V(ea?lk+5}$_*@N2FX^!vr z!+hZyAVHYc-~JtcSF(L&{uCC^j~)rRZ8D_+g;~$VUHLNxcjq*#kphbTsqH`Z-mB?t zHsOFaPMox9MPZe?^Ktz(jjSB#gb0Pr#`VGEHuViUFqi@E0f^5q(0>JKG zp`Z1v#_EPb%u-UI&?AV^a!Z6gy@Jd$dsi2e5?SDm5cqBFmd+}$(^C7Wx3+zylJ*tU zfiQ~=h`MBbpg22C4iaDV%a%A1j&lqh(Rz%fysQu7;n!R@_E(g|4#}cwhJik$1ej5o z)($q#I=Zy5wdw5H_ln*nbkE;>*^atwM4h^WsfAJZJe@qwhBL{gFRrFxBGn-nZVd`u zCtyAHfs~CGWgQ%Gh4B?_?qlXB%i}WNmpg$_v!NZ#Ad(yX7=zEVjU@^kDirm0Uph%m zNQT$sE^0u9v?L=5SQiICbqY|Ya)FoOBMWsP#DT-pyPK!=5N5iwvIy3qJxif+M!G%~upE+r0SvVzAh+0c zxdFGT*4m*silSUT$F#F5CH8*6z$doG&so3CxG=dNc4 zj*rWBJf0Fvvz^sm&bcN`iIrw9#TtEEnkT{1DJG8=H5+ z?aavz!I88NuqW%lgLv+PE%z)O8QLLR7`x4yt1JR$fE%X#7@Q<7X5y^V4Z6`? z)rLo~^*3ct<!|vAqNkg z)uLB%Mvy{LuGxTNv+B6S?QRhGIu&8k{C|Bg<2Uc{TvR zt&xIU0 z^?ex8(;(D`oXK*NS*L3V7kkV&IGdW8eI(bmtC(ArNxsE%n-@ThsF54MP;jtKmnG(Ah3Cj!19Q|c50+eNilisR061irz)F%vD6`(CF$>~UE zr5Gnh?+pcrq_7?NBytkbmAI57dxkLAu?%;8Lh0QKk8N{m`~!b!az4dx@&=qv_6`Sb zb87^NJo4M_oI`1bv~oTRcAtsCiU26fexOK057bTA#eNHY($OEOyWwqT{J)!x;M zU`Ih67l)EuX`PFd$PqR&(}0dPeefLNW-^Ow=Gk#0@)q4FQE~}mdQ_e#H2TC~!QQS8=PeNd$QX)z2SP9^o?r7&soZI?4Vj_A5cLTiV)LylG!)b#*L zwVoNCc^%!o{&BlGX^~3TM^j|?rSpMD^G|v2joq?Uf5Oo0g))7YeRjr|g2HUS>>P$@;>Y&-z8LJ-G#Z zYo@R|nAnZDAbXsjBnzB|^KlsugcjVKvwq;@+6lnYXR*L_FGA*F?h)FKZa-*)un^hi z3cF!teU^MVIvf6?TcJM+CD==Aq9fI2Y^Zux*B~8OGd!VKWQmQRuxl`;K6Z%D@~tV? z8-?Y)HF?(x*7bOt%`*mzW2f2>W4bL4Qj%SEVklp(=&&n6M1XxJO?5j21P`d!W66uh zM%fV{RyTHXF4)dQ+eYb!#W@SX+0%{@8(+%#C}3XZ4fa(ruYSg?F(wI0kgEc0%nj@A zGjS5mu^UxFqLt?hig#UDDtK62F2?{j`|yB7VlI|Oe)kDWS|6d z$3J-IMeGpS)(8%jTwSezi=YNhgXl``MdksHyvjcNxgiAL`B1e<}0(F@#ZSQRo=we3JUJLtrES&OuI_HO(ZiP9h zwmpBH%6ziiN>vJVWqpAU6TVwz4JB7uMFr7>@Bn-{@ZD7`1n>x3n)o03I-M zbF^x!EP;CTGC2sVnJHJ)d>j_E7=?qDN77oR^gbt8-)517;UgxvEa#h_8XQPl6uFFL zWgWHgzBG?q0S}wFkq63-BW0AdWnhOH909OAfQg^i0Lp>h&aB)aRd~9!AoeOB8D863 zk=wC>Z^>q<0ot*H1Bs^Xcs=^|fK>o6t$v|%SH!vno9%@i&+|)I9bLcl})TDiJzAp1+i6%x#dOWw>rN1Gty28Cnn$q*!sh~v>-=^-RRx(^8Ueo?eE~v6x z!5Pz7LG}#raOHqf%zIgfk3?Kstc~j3{J4*ESY2dBIl203_d_-vZBSieCDQm4-spD+ zyY*hX9yxAF2GWzfDCGC}%#|dZow#$-P*+UT8}6#y(o7#pd)(C8aVy`15k|((s0oco_@R!-h+ogLnz@f`G_D-2$uB zTE}{;v{i;cB8`qk6p3NIAyH0=(lOj~#dB8gVSrSy9Gq3fi^V2*Aj!c!F69L{ObxloX`ijIASA=T14}j3A$CF%0byVAi{warr1_A zVp95WmE13I8{c789M#)(2_En=?v`{E%!>_O>a}Ijn`d7X zXC>o3Uv~kAP;=YV)4NuCW0x(Y65LA9aW^`B*r&a3jZ9E?9y~rJEpc<~c~&fU)lVJ@ zEPkX|SDD4l?3!<_rME=4YY4u<_q&tSohO_jbVWE*;t^gUpEb+5QrjB3TgbOPx-Q)_ z@CX?6p}B;K?A(}EL-)v9rJvIthO*Aym_Hq1VpJTwqJ^t#3t}D!qrPY6XxZb(bb^E8 zfKAGyZZpntIzZcFLME~^gpylE1(Fe)Xr!O8(#)y#`DL3uEY`l|<&SP=E#6xv(Vy#_ zY645h%j&T}+A3Y8_Qcoqd@={xJPcP`d9xn4ZI#m`N~UZ z2~tIYAK9{DNP^X>%+cm7J~`I4cQ^+*_8773%v<7!-rcDuNaKxBRufBr7nr1@5CbpA zql4Q0J@w8z4}t1q3u5$5SA0Xo4T-C&QMIb&Mw|;=udI|P59xG5H3~kmrX7dyNnm(e zRJz!@sE33Ov~mJSUrSI0My8q5A&9Wxcs@f!z*k56qOUZAfjZe|_k*?w6vG@G_QFt? z-R(x@!AHhatp%7H54xjF8$=EzyNC{1xRUIiVoWej7yaR9Fc#`C@3G!|uXTbOhyX&v z138BhFgWq!Mq1vU1?}-QaH^``2`CSkGj5N}vGHfqJZnpeSG{54V6@hj^cV-lvLef} zMk}e5Ks|DVUC6nyFs_<#SUK<1N@n3(4a)o)Uuo73nsQe4@B!oCUsCdpFf-o8gJ2)8VDh%CU-oYE;M&^kQUwAWmkWsS6*y5x zl{q}r#31{8GCMMfJ)R!x^28QveCS4Af@_)06fg*^&aNx64{VDBpg1ils@Dd?+)AaE z?5kvojdV3yq^M$ngs&{ofR~Nxz(UEP=7?V%j5?Qe?TUh^=3UEq1DVW@X>gfRt`}Ql z(;PiB^su;bo!xtT!za_hC&v<}+&h_0A3CZ1ut}!jHSTf9@0L5Kw~o>UX6|F@&@mc` zX%pn1obH}Si@23wwOqP1Fum}SHA;$s2Rw~UFm296vnwrAIad&FYg4DEdC1nIDr&l! ztl&K0CRSVwqB~qFIkoHQHqJFE*7g9aQI2Di5cy6YfnA~+N;ilNxpQkNyH#3JR;;;P z?zzQ;kP5+72X2xGW30xy;H@Y0J3=Tsk1Pe8-gNBND)b4?ZFU1hG?=k_3zijFxBOPu z#t9J@{E8kL;J!%SJw@^aOIBhcZhbqp^>eRu>+^nqspn-0q$TR^mqH^blCO1$d0fOo z8!9*@3z4!&njJJvZLVS<%0<3uq6?7Vq3rNeeBQvMM|z95N?4$v6Q^DK&0hGhjyCZ~E>x|zb}fkLfcTj7k?ta#>J8CnX7w$AjP> z_po=kxy$LY*k@K*Fge8*uPmW3H-=(7_oap(0(Cz6eB57=POix75R+IPqP}r=orzk} z>SF6>F}_ZU9G1}@ql{b6K2H0jGt!;3(w$TCLMJ;rL)NVzM4Hq$fP3XpIpHt26J#Nh zg8+~yqqmc5!-T_a8nMdM?fFKmQ9+V|$O5vHou96qlTZ1M+?b7#H-!QW%U4@CSr2nH z2BCT3ASFtUw`K0~IvY0@&NTKAyI?;GTzB7Y`Vo!e_0Z(cb}RgspgPGmF%)wu5=5{Xn?_)w9#_q)#Y>UeFkci{g};6aqbKQT9CJUMSN2DvYOM z>M$W~hi2gAkYn1@<4(fLBcyo(p3-bRz$>}`ez`6Ybqj;MtTz;#j`<)V3nvIFASvyk zXZHzq>SCW%_@hmOIZH})G}fT6rvSL|i?JCX=7A(pHFs-i&*<%@591x-Cv&)LMg^Hk z9UrhvnsVyuI7FCK;>I-99!9X`cpwOD0F*>t&HLf%N)Ex)H{vl%6&~+Q0)g+1e(4I# zN`)}L(XP@KYJL;5C0hkix-Zr#o6f;)6{~|l4dGnsL%*D!p9rbSTI6I{vnJjKxP;9n zt+a`2Tm$`sXSUTJQwund5#XzvQ+8Gj-C}Ke^w^bH&)W@H#k>jAOxpxxnXcpsT!cBl z8{wGghPcfnHV9>?!eqm?$TG&a@_Ij;29h0TB5!$VG@6^$8Eyft5y4PEd?@als@nsr zdsnCDiJ;5VF%VeI&riWQ0y!xzMaZLS6umFX-6gVV_c@$gf;sbRmSmUKAryWQ{T4T) z-ORF``0P>4jZFp`&)a2$&Ek0_Y*jVu+g-Eg)U7~~ewep4q)p4ghQx9G3SvFAf?83AQD$;iTDBVD6)E<)(W6}lZAJc}|icSYe zV!AcX-bt->u)e`(unQ7Mth3-a8Q19OOVqJ8AHoANxWmmSkL{W;VPfSL)`=F0UGLtw zu6KG$aaB59rT!|fy+#iJ2R|Ir^Ov%-LCP$9-~ryUc-D!9lznEclt__S^K!0Bs@elX z4(N^t)Em9A<#n<~Ptf?`ZfmLva3{N!H5K(7OkLJOcWv!)Q__Q`k5F2fNl#r{^9=L) z1AurKDGM)IB4=S$!i#AnhVOiRoi+6a|98g;lagmqR1ac~Kd;`YFglWaRT zj+W1mDl3eSpf@DZ`-6Z-hR$DPb6^s*cvu%Imhe-Sz=Ec)_g<6G%gG8JQNMaMLmRv) zOS~lN^X3lcSydE-Jf27iD&gd$UdBy4=&TWRBQxpZRdw-9(|A{QNWCyIcs+=b>mPtx z3a$w>?c`jfuC5ktvr5YyxH5H=*05Yk6R^~D<09t@EkHM*UYYU1Rw9McT8#0nX*F6FGB&s0Vu`$b)f^^mx9YGkL$a_1xT1`NE8= ze&Le`9y0At{;{jB^Gd2+V7CUG*b3c%L8iXy1{y)na6o!l-L5@9kKRH~+~vmjS?7V% zNxyr=#kV`Dv?3p#8CBKm+f73)*lDl*Jt{A4@zAx=q$u%(S2Z@)?ZSG6UuzVWVJ*hx zT;DzV67S2z9h)ABK&Hu*;2ydysE8PAoXo52HjT;OKD)&4WmL zx2&+i0)^}R(OpDdo~dj3;5#vMVuMq4(j4yqHz8`S8TnXMG4h_P0 z(@HY*racdXq$dsFN?zo{WY1va49;DDS>(qp!!tW6LRN1t@gBhf*8TB>fcu8g2p6IjRxk%eOUC}wfA3hd#ehx-(aj3o$%ls@3K8R{}} znIW!h4&go_>(r{4#?#A-7ar(oIAQewCnN z&pUtP{7YVzGUZKFRZ(q3>MS2GS0<}K=X%gWWX*5|0NuwGPKxf5C!%K~{HSN5sPpzw zS86<$Z{;2~J0BmeEj@rG5-*S9e2WS;l@~5=f>wrh>UnePGjf2k;)=`FMcK6Wd}df` zpWm|F&v2yIN_;f%Gou+tyEfn=^9!YdnOviQmF|MGDY7S;KXsOF>Br0Eq|Ko~-K|4S z8dIz3Pzg<_oSCGG*gA52Z zJ_fYXWTb5m-c>dyWP01N{J2V!L-Hp)RIOs%B>BN-iG1!%x@ke$;D=S&rS5dp zIu#Datun4%IN8rT@seILo+qwEaEk&=i;2cUN{=EvFq@RbIq!V4JN6nGm{-N9Bi%wy z%XSQjRe}{;5QWEs9C10nu{qHzf;11dfj_KVCH5pTus6|Yx1l~nrtwHXCd`jZ3Gd(o zpLC$ZRXvpi_)+-%nov`Q%WK@3u&#m%4eDZNA`qHYvYE|%mo08QU9))<`Li{MjFT77zMH-L?WazO-BkszR*z;Ndf zxFqLtAxfBt2?x*^(VCGrSw8Qeal`{M$y<8nfJ0hP7v+|?0q&t5K1u3O6k%Ek4IK;oiB$jotZ8ff46j?_$Y0 zR_{^6-GFUxEeHi|LwFz!J7e`bpI~)$pM~e4ed>_4`FdHsW1ni;GWc`F)$Gp7`MC@& z7$PY?u`2v%=Ye&p2;u|`fjXXo++4uJeQn3wLr0+WVfYqckAs@Zd(Pr*oldvB$_5jn zq2zV|fGdn#+x)b0=5ac!0}dz1+VuCE$mHVU&s5(@^Q|*Hrq(=CI(3E}Op0c22nYi( z1vs^ed5R`)+!e+yK%)A7bS^H2CmY~U$0_Tnu&@V?mWYbtDnw?QpG@L%lDu*f=Kh{7 z$rPS*sSTjJWksSnY>^sy2$CjSxQ?dmkH8r&*+%tiu8r?;C2j7*K6(@y9WE#ulP86| zNRMmsTryG-^bkrclmi@%>Hdu_2`)wPWoRi6MTy7Ol9-B&tHYd7mc-hCRScq@#L&fu z&Pndb9o-q;Bps&gG+dv%AhHP%2tigz6o_vO8C;BZVRR)*4uvS52X8Sa0K&+lMX&7| z>5_Gh3%DepmChQQtK4RErvAPb$YP<~oSl(+at?h8NY|2rk73(Kz4k0dZ4XRh)JxXr zBXvaT!^|888}l33Af$6D1=zVr?dx%Q(1K0fMF6df3PoM1KFtZTB&l?!n{c8;%6Df4 zCm*~x2-~eH;TmhUoXH@~Fdx!MKUT)da6kalzZop9)xEU#pq;Sxss?sm~ z-YHnJT8{ybOr&Z5tadT7u+^i(#7y+dM8ecE?}__40CCpFl&RY3x_1;WLOb8dBds{Y zNJ>i$Gyv~+o3(A>7ZXOh+ zZq*^@4B2K4q;CBYA1~C*6X|2)J2mBt2_3m+N~KcP&6XgMvqmx=eP8APF2n>I%?LE? z!=pg^h+6ejbkD|p9|o&(8G4*egxD5fj{}dUhrxrem_WZR_snuAz&{@&6z@hsv-#&5 zHyKa~vw;b-Ph2s)q&+Rr`hYR6Cb#U#s)3F$axl`Lsl;(w#6~#Jq-I8a&$CrZ(?})C zSEx9dUTH!Mou8v(;CSgQj+(KSy~Cp$GQ{Au+U6@DrYxO7)Qy$wh8)z4d}MUgV2=^p+5dBHf!=MC>&N>};s5Q*B2JWK_hr@1tae53aYjw6k z2DM~Si->O}h#u2xTFC-FS#d$cPI6jWh*r5$OIO8i?t>;TOM(!G2YlWDBb<9)nB(<2 z9n(JPV5t|+OgxH@aAc6ym{ScKG?yfF$aGR)G)r9QwHohG1la9vfIVoKkAq%f&` z5P;>ml)K?emu|{!=U2!LBT=wgX-n)+_{zX?-c`dNW zpa(g72=+zKGP0=jN-xfEcpatIa`{zhmrLc}^(Myia7&rq=5(0~G{;VtTfv`}GG4Vk zrW5cZwZM^jl=P}$;=SB5OF*SFcG53ydSzV%eIAF7J3R&^#}ffniOKotL1?TZSzy2b zmwFgfIX%gS2^}Xn%^|bpUDqDqdqSm7R}(;K@VRAhM(kgDXVr@EIPW-mDK!fB;Obizagk&hGoU$U^frAs4Ns_#y%5sGZd1aKEl$dYYO}GMx1u zMILpIhBlr$h;B_y*R=#`CiAo><#(`|9?{4yd+OJ7xY+KI>gY|hj=+{dLP)D<%Z}4Sd zsgu%c={XHyMm-*u0K*zuW9T}R6+K77>&bCaq6<4FjDZu;`#N(&XQw^4u~`_Lxu={H z>=Mx=jYlR8+x&*;M|lCT6Pf}x+e8iOAvPl`CtrF*(WrI|`B+qX2ppUiV4I2XT2eg* z4j4ZQNAXNjoXMQKBIc=mhBPRw7BTnyuB<;A1#mhffeP8EST|ZSIPNy4{rz$nw+Psi z4TzNL{GlLvJzlZ;*yR+B34s{zWDdKRAlK0@IV4vxTFavFSwdG0H+m$N^&m829kgQy z<4#`fX(SOF%SrUlT8ZA8YbjoN2xHMTlxSmFz@;w{+9R*5auL;xo8a_f>NLQeA94)( zV8WuN0bCJ(EfiQi`RLADE^cT7Nu5+opR*3>Md`yI4g?NI<$y?45#B2>ztZRGrXA1R zdN&C+5l7=8vKP9=lM%lkyP$IpF4Fsrc08adNi57s9 zCL%|?pBol+M%GJkLN|jrxWMQ>U>+ovL1?AfI?pMm4Z6%23`tX>TA6Jo%GGe6R(x)f z2zFuqxbZ{ab52y{G#fCqmOE`qO7NAV*v5o3TkH)iUU<167JO{3AevM=HqRC%*YFkz zf>Pd~@hpY*f{3CQj~XvFDerGOJsM*r3+`WdupO&aka-%}u2{_=ZiKJK8JQ zCIL4AR|#Mr=m}xO>rpqko!Zq!F&~(&u@Q4tYVl!vOfZJDyQMQmpSgkXT2aD{@M7JG zn`8!i~hlX)zC1yCGK*EKG|-GV#8A-GHM z;O?%$gS)$HaCaxTySuwXfW>`b_viWEzfRR|&rHwMR&V$1bGzr>V-dyft&Z@18xge< zv%Mn-lUr{+Rh%-kEz7HoGaJ>q1##DwFBD-*RYiG~SPsAvY%kLtm_+itI$LfH2>SQ4 zfWE}MnwX45O((VY@d;qZ?=7^rS0p>!3ONtqtA=(I*kUy`+Wslb%{?g>ov{H)q(`p* zlV`J)Q-->Ie_#x|A~oa7FQ1^()hlP4TE>}3GKantf<(Nj+}{u-TT`Ral%dC(lS^zv zl`?9@o~rGHn1y zvR;runI}3UyRW}+;t@}^btd#b--;@dXD4>3@EpKsQLL=n>u1#wzGGLWL1W?8rJ!CR z(JbHRU_t6o&5f5jH`9HF8f3JvE-VCRGdl?#Y!dXwq{H~%OmMmW?a!G>FgSF!ZAJ@a z$%s-s`<8B*@0!`Z*7+^4RU^)~c((d?Q)E*)srJ@cWVl_dCNEdPsD8m!n2rL@_o#Ex zuTH|1B1}V9^2s8bW&Xo{e(M?B)KXE)M+0U9I-@o34bGW z;s$LLvt~{dMdfnXw#C~m!_uubU=WUyeF->@}Go^VIXjh#3$W;ERCBNLYT;|xne}YQ>41NP+Kncfmo`& za_0da8{{w^l!Fk*c zpjLt5$1IxiLw`^){IdW`Y1gkEp4)o(*ZjAC3VzX9^on;LFQj;lVNQ{f9>WNoX%)36thck5^vf)yq)rKPkZAJpompg0yK(TW4Bk` zz1YS4x~Tp26xd4;MB}@&%O4x$MA)>q!h9&T?;u_u;*`eS>Vzt+KQnr&wEIXP6rOS*?RdV$(Ple)T_pQ+=l#Bas`zI`qqFbUWvG+6!_AYSlHjz%yDaJBz_-@z z5!M(-@t2-Eso&PIa(kBTMBbAZMgijC>2R6sPW<=sN;gl-#g~dBnh%dEl4pPLKa?B8 zMU;nM+aj#DqZ)C7!?*RqH>HuM)(Dl3U_fo^dAsw2pKGsCo1(cN{jq}p=(*Ax6&y*l zkufnHhv1#(rUziX(J5^~4CB7XzlQpL_$%&UKbhP=k#p~w_g$0H{M5;JXzNLwo_ss&i#~ovFxxbJPEV7BTEv`&v*0> zHQAeE4*Yz#yX&*`Yw?nB_qREWf?jvU#w_6*fYEMPPH3nz59j3%TD)Nlvd*%tY1^!SwKl+_6|gKT?2%ZZ7G$d}vK zU{&u;?#)5tm*2s4*XVn7XXiO`LY;vtNEX`UvN5oRrZ8wIzMVWYSOsdaa|pDvVI}D8T#-Yae#cI{#{?UT%?Um z_wM?2SaW>}SgU4V>D%`PMRZ3zjTUeTi?M`&59WXeOyCY!)f< zgDJovzIm-R;Yns0yrEPztBiAv*ysJ{op%NGnpuq0DD4HI2_~ZF172d!0Rw--3HNPK z^x{S|H!pN$Hte-&?TtKk&G*iHqPvI)=on#{_ghcF+vL4pJP}WEv*tCIM*z$>y8Nwr zOAzp>kY*TC)eEEU@1g|U>_4}BzbCHsi~grNR+rxhMCjB{UKAMG{V7TIa;octGGNNp z>#@mFv~FkwvJ?mIwSskm_IcfVcPQk2(U$!P6F*ozcLe}Te>*+2kd?pR%ruPkDV*ued(I1IlFcvTB1lTsHxrA z_R4o9X2>_pKM7{fL*F2eQuN-uoMSe=nKa_|0$^s?Ol3WUV} z2x-eJK*}M#}ALUN(N{j zAQ}QZ7)4PT8yHw7eDeUG3+h`mj4wlYViFnd@p=B(j)+PGOGmk5sNfxbG3Z4Fs`z4WWtshTB#+=Kxzv_aFtUc_cHp8+_4J46r?WGusiKdxY-* ziL8>Iy;Y^dl{+ja6p_6U6?_v*^e#IcEPy4IKGahl&4DMt#}!LsTrmm<xr{9e1d|X&cr1a8LF%%f{R9Z!I_Q0VDJ7f13>J4Kd$uxh~-azyYVE zH}AwZF}_GS4ZB~mg;^|Lh|B8)QCuFj%I|v;4<~ssRrrtMX+6{(j!q&49hf_Fb{IQ% zdyVr@S^ZGEWbW!74JScky@k*2h7%Y<4W^g_yF%Z35Rm=k$U4~$9@qbcD_A-d#HVji zt*hVpMNiF|-Uy7e765jL=kNM$h4f#$O3*epdxqo@-mR(}=nntFt>t@Dism8ZaVw5j z(VaCu1L4L`oj*qTkfFRVh-r3&K8~Lg-VfI~dw;s3zYGyR1 z6w;s(VlV-A(j7$0p7w@O^!!Bb5rx}fN$Or0B0=8AW2MTwCI{(p?tMj5CHa8wZ`BMs z+#A)32*|U{^QUUx-_^0l{uHR@e2hn{yPMyoM}9YEjN8vEg!sAd@C*hx7a_dkr4vz% z&-P#C^n>r52kY3se%_4PJBCu|@7XV0Tb0jv^ zH}a6@Z8iQ79o3)wWq0fh{b}O-1#8Q_Vz&?-RMrG^M~L?ca{mHv_?1Kq>_Y+;v>2UN zyuiDr;|~MB@&KRnw?<3&5rV)PT>iQHkNfiD?q_j(N4uhqFNc4Yh38I7d7=EHG5k3L zpoLReKw&ge!Zj=VEJ5Pf@9dAgLw_ev02eGa zX{JX15I8bja=SgHaLZ%vmFpJnW)UxNCn9$`V0wVx(iVd8Or4o-0##N$8}w9J-Clf; zo^^2zZ>c=kABCK)yI9*1@&^m^9eesT9Jbne^s~s$_<@Q~$rTs#c)1AS{javp4Aq~3 za+b52Hq1M-rIwNl@#_z!Tpya2SZ`S~rFlSs`MOPkjUJxOEK{Pb1D1)iBKPOY=hmHW zxEG09)k(ajp*H4V->oF$M=a|L>vA^3QdkIeE;(XaNkM9a{3d* zE$izKbVnprgTQbwDE46jr9T@aoIQRyoUEL5$w3M1cQ?!fI;ge!m0|jE;270ukk_Be znPdcj6`)DC_pS>t9ynqJPDi+L?krUxUR>HBdj4RqmEmal;)hn{hlZTMGp^5C6T&LB6^eDh4pJ|?Foo-&w--~9!nN%R0A8^9lcf#l}V6$W4 zzeV5y&!2^Py_ynFV-G}zj@1QO(%A@Hl)!*LY{>&Fb8gGWP@Ip7q zt7+Q`Kt|i4rwSy{Zpz~;+g#mO<6EYS8DnB(Z?ESc_)ikoRhYe7uOc$S-Ct=E+z)y} zs&;L;&snfuzg^4pzBMK|Ea)$>Nci{z^cg`zJmk*srT&-x3Hl@H@hhNyjX=La^*nbk zPv%{!*`1 zg(uttyx-mh4lj`+Men}$t6A@uzI8&?&0cio7QD4TJT#)59-CgV1o=VWyp+&Y{<>K8 zcpKSZxuo=bEeF=p9+*G*BaYS0D!)Zcla506GNkzPuA0q$AiRIH^eP^{EIo#^SU3IJ zh8=vcCwL!3H-Zt3tQ+bFvxaHzp$%NSLW+930>udO;2PWw;HQ6C{!o6cbT?T&s#}4$ zOOzLgwl-{$+B<9QTshbzqFEDq{300scJYYn>k9FO#&8Klb-b(AIfp98D$u#3z01?> z6m*h$gbqbMTl}~hx1S7{cQ^I0$9XxyPiglI%&6NWps4WLcW{65E+SV*ecx4X&eY5}<8>zKRp z%7@ER`pzTx?d-Gw41!l2 zYQU`wd%D@VKHSn{9H+RhJ>35W34eZ>=ZDr`R=jRDtW&CzlX&F5>Rc%1tdWD{9erAS z(ji=4xmGwM)+B~%!A<0ft&mMyr^Q~IvF0iKnkI7^M{g-~d&e;Cxh&G0%46WU6ijQ7 z`u8=D_L;?*>*Q6)vRcE09CkkP5HL0Di->feaH`%@Z-U6;O^cCEygOqV-}-obE5a~c zyPvOq3Wu`=+dDV3Trqs>5qn#XEr&;sI%HioSgoO=kEb!MBZ(;JO0ETGY)!~-$Vwb|Yaizsq86!GgV`HcWv8GPiaX&d!~Di`R3pO~b} z{s-TGDPJ)2RcTzQ_{@XQLVspf@PMrT*wd3=>Z z%JDl^ASYLdvUkI=qY&HEiYK2#?3RXP$Ig}I0XzpxmYx7#+<(e_Ts`5yD z6<}#Ge>P+4)&0hPg&Ev2J;?T?n?ROw{Nh-e$yUh_vV%qu_mm^;gIh zI(hwDgn-rwCcOW-)qpxbtbh$q(==KGZr|$)E+c`~9+k!=)wA-U#;>{|k@DX*}=GWxrdJ4)ab&`$|5j=VA*> z#O;XG=q(_F;i{E&B3~#4vpuWk1tY_6^+>fGpPn2cEe^ZC?fN*-)(Wd-CP3V)186HB zTY%5+`Kni27E<-%8^fm#Lh3lalphqMj3H`}9`rNGk6zBtd&3qU2TW+_*Vkn?uA@xF zs$CQJ9J0@6!wu=?8&8O|yxxCOKmOGd($uPC7Q?L9eU}O?k0{Li~0|zLs6+urcomO_;J+{{|Arh>M&v|0K z4-6}YL<N)xI#Q51mL)+Qnz8($ku?t}sVu9L^kEg^iFHDBPwf=F|+j zdh1MZQog)>!LkZUq+;Z}3Y;q2LK_W; zt!d4zxN>}gV*!SUaF^gp1Qm%FF0;Fs#nJCu&Hd?q=~`JVvzsit}DA%<0=e%4Nf|I z0Jr&rKKx(ZL*5ttUkqW~lz_ATue;CS+dL)Fq9Bq#K?c)88;T!7-e0VYRw@H8zW-=a z6-}J~xgh|&OZ1UpU_z2aOr$ZDoKNONX5fJroTlapOKFD`PP#`&RNbCawn?gNt_ILC z=8kB93%^Iw0b*2SnnMe_Aj{^ouGld5CH>#iy_N0X&tObXImREV?6Pc<>s+>LkaLY*u_T$q^R zIrC@KE~OZFeAy%9sG0YW+;ZbGfNYrYF!xNni?NtQ>E!=yJ{gTdW;wh1io5<7e*rMH?+i*>?h8*C|6Tt{b4botS?|+RHyxUOFt5;Dq;O0FcG+LeTwEzKOtM`EZ5wD)Y zTuUZz+CAgWN?2cS!rlxp&+CEM>DF%uI5?h{umh;SV{mLrhjnqX>T)VVpQ}rXB3RUK4)9p_-cFeaelFvSXWJ- zlh*t3JEw>36H;)!%Lkzst>Y1wZ~|moN1+&|EN8jHNZr7E_)blcXY1a=PAK6jz32Db zreJ4-9Q!Zr)d!Z%HY)V(CJQk4+VF$Kr}>EVhnHa(V>*9{v|$3P?dtXSp?AYnHE0!| zr)iMQwHR05CKl9tYiKG5)_k>o-a#Ul)ErbUteuo1Dq~jcv2;hi;mmmo>m3#7cmCfDr<*;b#O4A_n4Z7h>Yy)7@us2|rn}nDh&9 zU9=HmQ`vB|N=Ghw=oG>{C`nT^;z^R&_B>7^T*7@zj8eY2QI$nEX0$N(dXs|nx>dsH zEl4&~G;LXtQ&UuUcXg0u`+|Na;!`|)!*1^q>5q;;YNIwuPoD1!>tD>j_I{|QREdjm zgVv*k9E4xuiy0jAd4mN4ATE;6a7~^4EiR9ApN26j@@WW&GPQz{?M=9eEsoY@!_IVj z96x#U5nR{AR!QTi)=Sw}jL3*B(!{S6#Rn8Bm+{hi0pijYv8arU+aoi_E%q5HV@U|( zgAXla+*jPGy!solbZcr63PUHxgkS3sdy7mtB<(1;(A178{$_ACiqAj)%rJui$iW;J z$Py{7W&|##62e1zwD2Qe%i+BdKVv0uQSI-Wa2Hru0QwL#+%Cws~eATo7|FL5D z`jLh(#p6~Yb++$$SGgd%Ry>|z@<$-3QHm>?j5|i`iRL9D-@cyh_?j(zS84lKdTTkf zQYa(si75j{Il|Ilz=XstlF^srQ1`-S%~D88p+haJXw9kbeMjGrHTf6Ow*c*M3(ceX zkJ4NTVcG1PBIiGL)*|ofiYst2MKy+y8O?^}OeLAUm(aI|qXcb=ei%vK^T}v6E>KC9 z@qRNQ#BC&Q+zwc?=Ql6DT|hUe-$ul0Fe{;qG}jNvQ)>-@?ZP1|e+5KadMC3=P!cW-3m|h&(0hP$wIG z0j4*u5s9dh3F{igjbm^m`6dZl)#8)Mjv$4_Z?A<~SiV>d@>W`=#xG3HVa*YdFw)U@ zQql7ZRjytO4-7fynle5N6n*gc8`kDEwQ7WUK&&Ar?%2y@>`OeR8P`!d6gze5|RHQjKQ z(Fbb~;_}E#oR<`+2A4~ykp#)g7Du7U`F8RoHHOT%I*`*J(GaMLG~#oSUze@!fYhFOiG+a)Qo~1O@c;o@+T|x&!T))(jzx1R|-Dc zmeNt{sVQh>>k?R{0SMhG{=Tsoj#!>e5~FWc&0WxBr}@wyemA0qI4J&7k>?eu6|W`wy84S2IjQANRrt=cI|aI5dYWM{1X`X) zM1zR6ia2)8if&(IPH7-8{}vOKu*Gy!4LF7fAEbeaO4rYmMUFAa>yc6O8BM)CN6GzD ztu-I+f8#%F2(DNNBBAX|cmxci*rnKtv;Zm%P7;;a9a$3g(Fh2sU=uaZ392>cBc@Nn zh{Qxu$84bPYz`YiA><^`Mz5GVrKCZuYs;BuBMo6oPYzB zj{bA36IkPtprm{*OXLecq*O4tz&rc==%?m2Q-^noY-5~~jh`*&g)YvHDueOHF`9vZ z)68}lTYI|EGN{|~koI7_UVPfSxzPg2c7F+R*f)t0RT;{Lq#BN<9Jb!Vwmk&Uq7b`7@Jq&%1=D2{{>#)fz(kS6{Uorx=nO z{obPi%wI}A3dFD^ID@Ib@j0A(x~+6ftO*vuea z)tC*C)=%(MwY}sNkWuK>5WR=R$d0>A(7c!!?RZjR69E%YO~fLHFcvPm%+Q~GW@|FL zc`U?mK9L?HGh%A6xlP(ZWx_Pn&1shann`ZxC^sWytTrRVEJ9}J2$E3X(_qe|JF&`O zBu9+%aNJmB2=qC`eOd@Y@d?+!uX)Oj)~Jqol*}0Ep$gjlr>J@$_U>J%$>WEeqNGTn}X+g2`PYt4yXvZ6D&hTdI2uy??xDlkJH=$5~^g zbWZ_*HiMjvRgZ6*p3`wZgfa|cFlVz>s|z9wa9tf8J?IGH4=_%4z{f!uEb-o9wf$O5 zFNROP)vZ|X%6aMMP-6Tt_^Y^HJQF`6b;p?%LOU!$a?CBX8s@9bZ%U+qa})6fD+H$Q z7dI@7C8SGa4O{La0;xZ95JO- zgg<=Cn5d1zBr%F2=4T9`av<5VSlTmFZhE^pAh=X8tba%^Vq+2y#U(@c0xq+dvUD4o)Mgm#@!~?HouU zm&Yje9#~o^7pKRT5GIk1eRy0;fl8hAk}pC3oL?GRIBkBZPpj|D>LaMG6L#``ilvL3 z4Js@xt(KgKQJIdw{3(xEnXyVmwos^NIBv-ftR$ds$?mpsJO2K=zal>DXKIOhEURS3 z6PY^sS9Hki0vvT6J4Z}w(Di*zM%XcZuqY(L21y_jV-`rYklhTowsPS2uxFh4&NT5H zY~x0qCT~1WEex5Nw;I-rphm@doR)_Dn3gC+idvEinGd>eb;R0CggLt*o>8TU1xB3; zOnr(14IpMRiA}!Cq#EUgp+2f@4JU+YpoPN@cG6gvvArjt=H4-tXyzBhzP7U_jVSG9 znkUSHv?C#z8%F20CNfMhM%#C$2pgvxdG%K!trgMlU#8z?m{N$+l#q!;s-IY`AmeJ! zB|wvjm0@(hIujXGKqM|mRw8x4Uwii$TLw$+gN<9Yn4$J85)O5eEPa3sF#(MRCx#=9 zKS;7QSaPS*-3U7dOSZ8qKI3xOKYm%WVQWYrm%p70>zTZKgZg`V5Jau4)qrE-eSpM* zX{gmag?H}qw>Z#THz*8JtcBkUhYdnI6VCZ>1|3&h1l+ppA8z=uLf(J`fB_$!+;R^a zV|}B@eLgf^4>4lH&a`ATt4yZ<}o<$}d8=b3xy_2qr^LsxG zjD+KCF+nozbg?8<5FIAENAnQ#ft=+HHfAUKXaDmfhes{Swo|-xwlzP7E9+!{b04s? zo;=6?Om^PbO*ToMib2ox+~O;#3fBDm#+!d<}bO|j!Xb35OC#(vJKa6u?)$O zko{ciz8uENt%hVejOD5Ya_5_Ob@!Sc!8K3Sy;-L7D{I=1lvqlp#h{3)R3}l0e){eL zE-Kjb9nPB-L)J2hy|SMb)ThSJ8VXwpDi#KDc2|pP(td+TcUX{DfM;~EV z@&f3$Q*#~vP$6QhAda84Ssd8FAP^`#a5C~0+qO_AX{T@POctoeyxX>_Y|z{m@i_k4 zHM=g$N$L6b2WH8?Y8OlZk}RWlaQQ=dF@`cdLLsIyFJ~<_wsK^-K=F<<+z1i8B321P zdDbE2C*OltIwnGJrP=~T$)$h&Z@N^9Byyq57_&;QT7vwJ$_HDB_31nDRcM}22abrA zN(f^>x%eCLb;xI)PPggklk;KZz!$0#BV`lzNAAT)^Ne~l0{WZ8THsY55OQ%;+=Q3+KM$j{APEI!<~>xJ?aFbIC@iqa z=nb&x?>ve<7Gj{tizI6vC+N^sRv9HFS&JaXQOE6-%vy8UD1I#Vkac2NU?Ut8NOQ;u zzHM-PX~bO5Pzk8!lGflSDOiqay@_e?k{G7yzj;(=^twFKaa*0#pOi0`C_U3AL8!?N zwj|IwHOrA2LrLwN`1V_(c#9|zUp+X1k({1FOofaJBWch?CN4oj`U-6vIjZ(~`-;Ma zn0y@llWB`<-NnKvZTJ_lQ%h=5FrumM%-LhS&1sDk)3^2(nV};zfRBg@BIl;cc(`#+ zVxT8Ke#t!`k~8pjHe@6Ae&wO8bPk=7g*g%JgP9P3V$a;zwT}E`C@XXvsOl7C7zqvK z>^1`dcQdZCoWsm885{u(IHyExErJ3XcUJoiNqLvZB`_A^xHMvo~^W&EY_f)C}#Eai^UkO6cMg@>8TX8N3a1HMA>+DO<78`)!N`i37QHLwU`GEe1lMOm-_e9y7t_FQka1%C z316Ujj{RbyY8mw+;qyc3BD2O?TC^}_(t`;JSu}-07EPj}g3g1a)hUqI$~i=cI)s+G zVuHaDFN;9M^xVrO!5i^&+Lh(lCyou!m6QnmhS^(BNxjDy{OWJ-C?JeM5yt8o~V z1s%*WtSJu^8h6H8GoYZYLrO!`o2u3x?K&Tms103gRZn`r z<(M?14BVk>B}LRz0h6f*FpWK_TGZ(O`$k}NVcju<_)OEDkNi1uJ@K{QnuFUyD(1T+ ztVk+HW5-_?*k}{^bb12oR%1UK@G4kQMfprw6~)K*2s9_*k3o?x>^;u>pI4 zb?Zqdq>hp+V1V4pq7i)~;W3gwOIL0dAuC}nv9JX>VOaXC%i5m3qnTx$>f$QuYGOtq zKOo&ohZ3!CzrTW8^hrdZ?gk(##;4n?mia7Hw$CQ6t4r!{iQJN02XW~Afp=Bm6>kfW z46(8!TMMK!2N=US%8WVN6;rWhL(}`zv7F&}*#FrTh|JHo#?4q`7yaZA!#=w?$wa2c zg(Z-T5vWpbHfwliV%-hTm6&h-aecjFn{H--c15FzL|UfN*yE; z(jmkLfAB4(L}h_RP{qD|-p0OKE>s{)fa|?Ot*hJKK-i?P;jBzEM~T{Vn-lu2U#vij z4%_-1*_uI#POV-e_gs~}Sw>Zg8Hb^8`Ql+Dwv>F235svzqR(p^%5^+nrYR z+H|jcB}#L#O!><8qKP9Ds^FAq?IMx1@4iy-#PM@lcU7Y46X`;EB(tB!eQ>xY0M==;e|dl)gGew*mU=2yg{?kebtOm>~5<1isi?mpq4K;MR||Mr;bTEnmX@={`rU zNx7YXD^f1>P!a1=Aj6bJFGQF(D6JZ%3%+5`-9eZ+II_#)lvJZ&K$D_YfBS)e37-td z7MURclk7khFpq<^$3VjT{Q%RcU6?tQHwsSkzkY{|a7%NU6EEb3zEe6nc%x9(yn+)$rYQ)_7QB)qMvK>A#d^?J@p>ImcBfY35OU&g@ zgj*}mkpi;mHow7iPZZ$~o^x0leP@ghdI)~t@OiVIjRHss&wqiuG}fArGA^l|^2DPv z#2c)hfQW4lYj!herU~9*$4R_#WgNIz`#v}N>LPtHhz;In9oDYSvz9(q zWN*%7QvLV7C7oc2F_A*Di^9PB0B1l4+T%AyT@HnXSB;_LRjdqi=69NZI0VUUm@#k% z)C3WMk4W40@J|(tC7ZUSqqU4B3Vki=e1bKCmA)%ctW^7$a<9l?88c$N;_D%074bWa#&hPAQt2XQvQ?{>&X*sv|2!2BR2it zhH{CTxbn+jS)+-waZk3IjgcQg9>-K( zhfYoTw^W$4tHiCa8~J|*O5{HSbt*`$?u=5SBN=b*_PMRlHmtjOpa`Ih7()^-HsLmf zpv3VcH5QdN50*ObuAQX%W`8P#TXME7k^R(Hfvz;8?b&L9tY)K}`7Ukp$ZOV4#)y#y z9QDa49EY}x(Vuo&h1qmy$hjpIo)r>;;UGM5tjB;Z^vtY~q;B|KBB;-BR^`q1S`>@vr9V+t?{J+I4B8b6EQ z8B;(%h^(N^BBWy$LaAALv8#D8-tmF;)48&a!_76kI90aYZGzq6%jrol#+7K*ow(&* z(k*m;xT+(}4rtM)w^+LU`)eO-gO>4_Cqg&#BA%&zn+7-GMD!h}il<}df2)1K;DsU# zLT@KSh+{G(!v7WlSWD#zAXE}~7%MOm5XQs_-6qx|)FPxMj`~N;P^ai3Qh=06Yw`DP zd0bF;2awhkYz$|QqXZ&71R`i-$8Ye%$FvQXqrCtNn1@%%Uxh5)Y z#Ohsn?(ptb(GS!%W#kh*Qm||6wd?re#g?ntoFySaT1OZJ=SlcB-if27l1=`xqcq~g ztwTjID+QILq-oKE6+eXR?#Q_S;z9!MLMihv^-_;p2tN2Vvto6b^p>d+V&s@-Yw*dc zemE%+$*RR2F8LjR8f~pEE*2e0mzYQP(dP1ycm~^8>*F&iJ=l*+<3tS3@q{wCN!3jS z_CYPitV>u$;`VrU$_A?jU26h$86I{{W2Kp#-`V*lXIRVt@v408yRb^m3qpy4+kj10 zWgAl7K)S{i`ji-Q1SJ?N(f~pyaaD~04pfG37)4=P8xo%e*n7cZCKX~fM{m8LC)~Jk zAf+;oVf2n9LRvb?MWCW-DW068l_xsD^QjD;_;wDwER^lfSKC5 z1o7J{B5m3;wrb%fUEL!6Jm?IVI6X%lYE#m?C7+d64osUjww`(kx8>EfpQGLGYa$bTfr za>#S^xpG32V9Le#`2G2k=_{rvli9Ga2~bWG(}#@o!Wh}Dd7Rf?UGVWzA$Tbgh7yLD z=gM{Y_w+M=nbnGsYV+=2M46U9<+TX&lw}JKWpz3vi;9ER-XgpAAH43>*gvoH$4f)IkUOl4EdzlXnLdy{9d_piGv2B|#*& zgD1CA@x2m$ZlMDP#DKyin$VNb!yMNmc3Xits5%?a1NszIj=uz~^=mO+2t1vk?xc@4 zGK-rpb(>kUmqzIclqjn^>pb=BDCTKIA6wmWg5T;rvju7-MZ zv#CuV4%6cw5vHZMvY0l;i>22JaM&LyWJ8ILB|W)PuCc4x)}6kn5qn@@n{iQ0T&}F9 zk>RgN90Evah--9`X;jTZcBm{kJY7seQ2K_MDs)cZ4a@vy*GLPf=83!@BYSR)a$g=H zmByCF7N?9NzCiz+LLI-#&iBYpYssa>@Je$fefh*hW^&ZYM|AthAHG*~+6f#5I*v04 zF?jT(Wt?R7D(Hw%T%PrdcK^1A(!_(a;UAddpRgrovko#QvnRa+zgu{NSPvg z{)g(&(Pq?|k$)b3l{*478S!^inA*ty2gWIrpkhc|tOp$Jn3MwLk>W9v|G^mdkY>n4 zz*lfJL#ZbPxd5?QTmsj--=uQDpw^(ksTCtJNkckQ*fz-94dGvn>t-6HQq%&mGlDEBHYkd#>8uov{ zjY>r$FyYhrd`lkRYi45N=5VRptXc)RU=-b}_zy?^A7W45^S?Zj^rV13#=MwRv7e%! zXovVYUpGQul0(5$`bJ(xR;Kr*?9A%I%9l6vjf!9bR&gZ8+6?CtsZEwRzuumwB5{q? zH2By!_kZL|;TKUQR@P=zZg5-&{pub2wk{d=O2fjLium0Mr$9YK%>`9$(H@7uZB6!7 zG5NGw;>!_?Fk@Pif56tv#Uu47HbbCplhlBUN@kp<-#TYcmaxjLd1|GZoivm^NpHPj zNfWrk)A^a_&HlFJrv*5Tv^^C1N~eT&gO$H~@slD#4w@KAxUu?M8>YQ)AKbgXR(-G4 zAZ5JZXJuh*K8YUh##=F&EgRn22^0+VT_k0E%1w{n90%Ct>Z)PqdVgGH)G zZq5Jtc1FN#m1q0c(`P1kN@%rgdaDOEVc^l^?M2UrH@EuZczmI`yQxd70}p(k_yi5J z-F;ufZlG9GPJ%!{XkBhiTGDT(vzQi!Yee0c+nSf7)(r>=lrJ^-40@ML${bG?r{ zwrj}l3;)vn8pijzZM3ae<1rA0J0(bC*h0J*)Aep3xhG00%vdcJT;*VK5q|6n>&0uE zbZh){?3e62TIldNY9}-sRj-LEFeM~(BxR;YH^`I&Hvzt*1;1@puaI!ok#jK~dd?_l zT){<>M1l$<4PX)VS9ODz5-$`d9%E9j)ETe|AIBaw`yOM$JhJ8! z9%q79IuTm`*`r8E)=Je1eiFKxF8v=CJJz)|v@t1MFsi_6$^m)GLYhlkJfNc ze2l>~^D=w0HG0e6%?YXYl@&7}lojU-m~VlQ`|m+)(ops zEK@EU3N6E1XTc5H;Ujiz%Sb!bcR<5ekW>iqE%)vU=vrh7C|+5xU4X9~v+GzRu;@3!yNPw8uHOUh`L%&UDbmoWL3xUMQ54&&lL zN8L{^KK72+mKD6zY{rb=)FVWf+^zUL{wJTod-<>7k!>|in#OW%$OFo&pp>UtX<1w zqD*-ct2blJ--F<|xt}g4Gi6xp{}=yg(VktK+)h08XwU%@m1d_*BRq(>%S@7or}(tf zq(kqhnhB>>qluR69bF9t@jN+xy7@17_`=3T_bR7m&%Ozu+ZKxk5%6zuTQi)^eQ|k| zngW;z?W(FS@?7<)*c?9H{h_AuLgqA#mZo~s-~S;xv*6q?L*@9yqucq0h>eWy0ahf{ z#0@3QEv-@?X1h7iQkR%?*ij_O1F(R*FKzw?r?LbMFkKBLsys$FI#u5ZMgup;ZFIiE zxvO$7E99g)@&SC)qP*h8khUMqC*|Xxl*Tic@jId@3h&!jCf7&f_lY!$J4@;feBOET zK)Lt&onEMP!K8g%x;jW6LT`R86H6ZmoD%wiTX>^aTLp~IRce@SKSeP|n5;!}5IA_c z9m|>XOK5KDs(f@O@eXn>;N79^fleHTv$>~F3NyJvx&=BoLrNK>j)GSVcH1nM@-Q~P zAM?Hb%t|t1!J|9TBF&^7jB zKoLe+n$it)aA{iFF*uX&(sAO>2DWbs@B@T^ej_H&E&xv4&2CY)nBnJ(M1RHZN=U`Z6vI31;@38 zH&z%TM>fyW2Dl*^dmewrTwq4cZ8cT1X*NW$mO)u0$*&i^$spw?d0-G`)^gG!pya{ z{}+J^#p9;8moZK(9peU{w8IY7MFt%>5VQv`W#q9r!;{a7=3)~+DK>-YF+|uwF)uG- zBW*x9Fh36$fZc;CAOhV!OYYBQ;;=Kpenx181AGld5tl2^)W0 z$>EtX?{(G{*fapT)b9QbX&$*9d|rcQOFNF}NqH1aTbedCod{=x6TPcUaj%7M1EsqA0Jyx*Yjg9~UJ$LFT@MXxmB z<11pNiVHL%QrZaoDG8&4cb+3v!!id#T{C8!8TiipXupnNXwwG@9J=|tOC_+3lq zJR-Q3foePy?hpt5;}K3@j6G8x5WmiL*6z1ff!k6Jt?ZP^7R@dzZ{m6|VTNKiS0_Pk z1!ZEH3JH1FTG}durN9K%X_8c}Lda0ZU6G(32D=9wTH-0p1;wV98x z^dqYN^SN-SijYlu%UFWF3beCsP|(|xrPIv5S99WiL$_gfsv5R^R9idWc|4h6cpK3S zMb^pdFAb-|)SXA?dUgfG8BZ9Dl1`*9qWV`i@Kqh79h0<>qze?@bc*ak4RpVW2G1d- z&yTtBmOSCR%S_@R_Fpa|$GuhYF%qnWPJpx~(pk?JxRqmg&WE1$6nICC{Q<_b8bw%h zm!BUQm}~oGot!Tu(2A1gzb9sXj&kDgJk;4Bm#(A)!769q$Qn}{6nE++c_Vktl|1I@ zaA3iLQl&n{-gf&;urqGI{@B(uLWy~cZ#s5;7{qJauxRnBpS{Zw1d>kg=V=Hz>H74w zhsb}wils8OAb`(?F!T6_B$WrT@o(w>wRBcNadpia4(`F--8ERy0E4>|Y;X;3K?6a9 z26uON2_9guK>`GKcZWd-4*C95&&BGssxNo#+Pl}={pxjAg0r95-J4KlbbfRDYc zjJf5Id<}q%k_VWeIk#!o_0b}Pj)yC1Fk~oeyAC%5w(84bxxd1;n2#rK~HRbR>ISSN!J$&R; z7|vSTDKjASoBzA%1ndsT5{n7Q7J=5YhnQ}@uRWbofR{?gqBer1tIB0OfxSiXF7&j+ zbB4Lv)03pf#&2#@Sk9ntGdcA~CPGKXnX{#VZ?mknWX`*X54YS^IiAPA{qRV9wUt86 zzSFRmQl%!dn+4mK_6`TH?*%ae3)^L zdYN}%3bjvN%@D>+6<4hDZ_{j{zr=-I;t7gQ)cBR7kKo}& zf;$!2oGDTPaP@7DwTFc`x^Pw6c;jya%fhAwk!0JUy3#VZoL7`qn02>py%kv(6CU4{ z_HT_9XR%?MUJ&7LPJx1Wz$<)~L1kHSz9`z71~^N90AZwl2!fkjpnQ{@iKiIXh6VPx zdEDU&E&aLkyJzbx$c+)YY$dAiN3;tx zn6(?$J^RL(JTv3$J^#}mDS9d{^Ux2i^4rAwZ*{Vw&G!1t6I4YoR^cQVQVe&5nBSi% zlGoA5pzV5Nt&%pU?=3FMcetd?P($;YLohi_PZ0bX!arrKC+^Xz^jwLzkM-zfs8u(* zP^j6iSDhmdgGYGR&~Q%59#A*KIAbGcdQS3TCmW=mV#-wp|HR$EqpHmqal2+Se#oe( z7*xz2>_0@W=m@aVtk%d>5maU(=a2aFg@h)SXbaf|4@MTxB}6bXkoLQvBpG=uZ30a! zmMpfj1(s|?Vb^M6k-nLFc}Pb?hTm6wuhw=(%!A2Ll~G+!4H9>a?u{D@h`WIQcfL7$ z7lQ;NN3gL)$VQh<0V*gH(kq1}K>VMQ)q@TVyr+G_!emu~lwk=@dU@Y`4NW@9% zCdS)YVU4ZVEPLkiL^Urhs1O?QEN}N0xjw7%s17&n*R8&9Csj%Y{Z1;f;Wql{{HUjt zeA}C3%bWhkLNXCWx#WNWcTtn9dAhqnGE>iEB0A*Ckjh@ z#josS(wX+nBJd-pa@w0U+H_@zvKFar$E->07e1|APq|Re8bxR09@y}rOBUy%HTR9I zVCoRm4IyX0`=ZZ9vo&IPLcT?U4uiHIR5D$b$Xa)_SmL-GJgxonpPaY+W{+w+c6XNb zi^~VRuamb+;ub9w*5vs(`0~a>_;Ht%E*%&eD>*KV`4h2~tHTjzv{}W%bASYQ7+&?O z9U<8@!Ks%~$J0mc+=(>#77+--qK+vuBiUWZB64F#)4D}h@0;t0@2b}Uk+VUySvKvH zV}3Uuwh&!r-~2TJtbz$it&EjxkU0=WyVB0e3T zYfHgGb~&s09nW$pt^2;yDCVcc84It77-UsP{*L7z0C@Oajo961e~HD5hn3x);*CG@ zK3E`hyXm1SXQUrD;%Y4h?uMkjnQ%1!kJwRttQ~ytrrsf%r9`pDJWV`CTKyjkc@YWFwAENyNqJ zp%E|?v_1Gkb~vrX-<6U3hg|^lpSE&W z1QavtF71x?YBdq=G=*~-LqWArwci&`OkVG5$UAfO7wdH`-kpu4It=mBa`x!P%czlK zqCH7&TxBjkntn72LJdN#S&tSQ>t1ncIA563gPMj@T46WCVS0X#r;K+ACvZG${Zbao zQxO{U-l=Q6?%^Cl;}P((1F`5lDddab+fL{HQ3UB>VVwb+tTh$Puwf87VH>NCjcgbf zs&R0tkK!;Ozwcv3mnYS$1@`1Wa zI};h(5{-(~*6ScT6wMPO?!RLylGtP-bHWSA5fPi0H9dm}n#%cKWzf~^ThIE^wk%ayJ@p%tF%JfTgFt8BgZ6cP;G`H|9#c*ghnVUqCz3I}C0$Yw-0T&Lcb z-)1`o4aHqwNbAhpo>$&l7-e2KU3bG5-G>hyUeSKCySWB?3e0So6z|3`7*BpSD-My| zG!_zRJ+_t3Bv)?QaNuU0g zQepN1kNK?Y`FQSQR3v=@qq!X&$GdIV3w#vF2A}~4jh$HW6LB7Z!fnq$jxI#J5KsW% zr`L$*S=24YHqWQ@n~yp;OYE(MHA_EevBQ$N;2&NtHjU6#Hbx{FXo$xnmz$gjc*3x^LOh`{xR0Rv%*Yf z&`!PGRNZNhZML{7tJk{yjX6iPnzM7W#+G1hyxQ)}f8~|qTIsaOev1cgxH4#&|Ipca zXI0&pIYH$U5#GxwLuh|_qQ6*ykIk&D@PdJqb@O3P)SP}#M*JCfTQ548gnI$g!g)+Q zUc!F_1EB$Vf5?8JgiusFfho0~foz^IrC_DTOk0*8`OMsMd~$q7Wina`gueo1H1VoU z=`zVJX#Gr^xcAZ35@}YcR!>SuHDMX~Y!;~I-8V=Ip)?_q9eX}M_MijZ9o2y&@+F_5 z6`V5X8_X}7+O@A8ME&`yf6S8xt2L-4F9V&L6#G313WP(kz_5!fNAOX4G(p9Q=~FF-Sw6BsgAN zJt%!B0bvfI`5h?`F)1=B3Wl^5(4M(+6JrSB!bMuViOp zdEds;Ap&B$u}Azn68z^*y21i4K2lDUTw}fVtsL>NMagN%Q+X7`CZ|Nh%bjeUwqOBY z|6_rSfuETqH)34V>{=Ereq?6;0m7F;qxy*`gud@8N%7mvZU4^YgK2w?NO#`2tZ$th z@enf>>~&J_^YZnVYrXJon&o6{OAl@m0!6Bbzq4Q>9tzAs$`1YKP?7mNMPFZo0$A3k z4{;u$z36U%ru|4t?y$!wR5zO^V4%2O*JG1Sn(vI6H9t~$7^fPNytmlTXk^f;OGT=x zh0z5K7H33iPNXVoOyqe5dud|0g0f>N21TZI2ai8_5uFT7| z&E&R(%5TVIQ31TYE=9f=JDhLdjsCGywKGHeQ_CZWXC?e)i~C4|SxdT-B$}p-fBW(b za|#U=^o3;LXXI-4g`&HiRs?s+hAx$c)Qbk@XMYM2YsS!er_h#{rOMeKmhskea&ERC z3o4{%Q5D}8?M4V-kZNz|1lbD=`}Q*w3KZ*BIcZ@bLE<`aEF-F>T zq_3AGR#AfL{WY9#PLDmdu)0m>^XsO>kO@asrMPL~CqS^WGd8{PRX5{kIW+5rJYVP- zr%bjx@?$h*umuQXNS&L8`Y>cy3^5%G%9-PR=8*__h(DNNeI$$`i$5YC9wGINT~pb| z2>-nHay3EjoYn7dYHAg(!Y%BFa(cq=i?B0Bh)ZaMQ{5wsetj8)Yg)xp-0xBqCZ@xr zYyCkdxi~m!wCX)c>@3%if^$-3BQfg_^VwJmVl=?ArEKAy@q>3DU12& z8Td|G3OE(i08Vlao^6;*-k0B+r9^iW--5Qk&2CS+JlFa>6UV-4$BBb3dyXy{1z%Em zUqrvdhfovIIWxeJ_nBOb|B6oDAsIU28>%RM{}W(y$GpZ}kGSen zLNFI=##RkJL$n~Fned~(F}>Onp^9sc%l*PA{_II6ao2 z{rtbz7!jknZ>@%yGY`-M=$36m6?jZ4;7c<3=n?AuqmR-8qY~~Qjsg;!$iwOoPR=Su z%RN0xTrkL{F{7q>rRq$;tH#|W;PU-K2_uYGy3U0U-)^3uf|h(D2|dOer^Q7h!DHfw z*1k3``43*Jd+QwP>P#&EAO}d_ONMDNC9C1#zmZ(6UyO%O4WQ9T!h0jBIzfX&sdO-} z=pP|;pr_(rR3mBJv3=kBT#NgzmZ!z~q>S{%_MaNQ^o@QAMalldyU7MaxTOZ7&&hk9 zm9%}#taQR7!1v&8Xb=EsgbaH~6)pW~GTx~2p|TIw8c`t_tpFCou*0c%gFGs9B_iqI z<6S{=-u5wnm-nvjjOsreKQpsL%A)8&ba;Yf8dBr1v_y;~%&_R@F%r%R?trrE9F&9@ zSu0D>#4lbt$UO-w#Y%lj1#*2zWU`HfYJUl`vPxLD^ZTWozZ#oYg{Kh&Lny-ZCQRRv0zMy99-J$5$b1qW?>+uSUL!vAvt0Uh9;4Q2Rl6&@Lx|@ zxV6P7UW^hik19O4AbJP_OYxDWvY8YEresIRv|rXDq@3rtzRr(ZuU_>DZQyZrzb1%C zBQ7yp0;NS)z%a*=3bb|Hr|F(6Lqv>& z1@ofx2p65MIz=AYp{XPcUY4g-oF@4CH%$exH1Lsgpab=ju}-U<ng8M=~xRnQ}|;L;{+hO+r=#!xk{ z{Xk0V?$l2dM(R2m1xfUzNR$d5%nKZ#BS9Y#v$ykrOL;v;V|$(xe2OrifvWeRy}=5a5k>gB}R2r$BeiG4>&)cY+%WIqfs_^vw(3fFDo zWO_Q0u&INS9bHZnXei@HW+pB4^5QOT6p*ukMAX$|z&1C|HK6S6r%g7&QON>P?rV~7 z>KgmGjh&ksr5e>S@}~A9DQ!5%4`**Lkl<|6}?1YI$xaew_ih&VEu%uKg?W5onSCdq@Q|g}Z3<$?^StSa&HB%22kQi_e8 z^|cnQjxe!K$jr_)N?b(KS3iMPeKsex7ltDb>taOq7?j&KQ3&}+AG)A_R(%??2zGH8 zy}m^UGzJU!fR9*qhA6*ysc1zSGvzk< zgU215pkGd_op9~c2J`4j(&4p53clrArKFk9fQ|7&+9~I=hmNqTc=P$28|DL!(Dc2^ zo2`pZ$1jtIgfnbYJAcF8NdZ7aOA8h=agJyM;PtCn2T*&Ke5eDzh*c5 zs339O_}!n<69B9}tpcydL*a)Hhk0@|njquiziJ67WTZ#%XnbGpQZV>T&$yj4g zsRwIx!3j*&f=6bK`rXsB?M;J({|#8!XZ1|xU_hiZx3&G%mc25u=V^6zX4#Ul5+qyS zx#Zlb(X+T5ZO> zJI&r!-0P6Ww6XSE{mj_izNL=6Gja-vHEj|?aB?d2NYcSNixT5R%j>}+(}DQtQhRr| zIOF+2wpI1n=Sr`n9aa}7yLN{O+X}v#&_FeXvh?`jX2!icic4rrWUX#vMJkk$a$MdKQX(sGlQf#ipB%7oAJ9{`m%1l0@O9(@8&Vk)R-eN?B zt=yxSkIxz_B+VE}y&(SM*T=slPfE93kAE4Y9|4aiP8KY=6y>KUWTgkgIsK-Sn#xmr z=Myu-Im0={m$rTY5?UeCXdr?&jq>{l28=|;0{Q;oU(%`Xo9@SeJ^;;?BpS)W;8GDd$@cH|+^VJY4@SFXD0pc&zFZ==2l2 zA@2e}rp3}cR!X!G?5F+jP#RY%Gzkn4xkXSVXF=;rXZ>8$QwtMeE8PbU7ip}7Hg}p- znnOqLUwR@|W{_4+ptwq|jJWdeJoiw1Doe)(Lu*T9f-^3|lyE%|V+s%{Z z+1{9|AH?s9?&}&j*D(Ugc`EGU3n4d%_`$ z`&e{Q(=(&S246awPt=80F;x+8{m*416z1Z!IL!X6Ci>PRtzv3cyh0c9%P_NkHxvLbqCOW#)UC}KW(*;4;Uk&*LjlAv4-5ZuT zu^)eW^D`PqGR6s9PH3+HsR(C{uR{|$9v21qhV;0dF!E3Mz-#T03H_Dar^!L)b+CQ; z_T=D5^7x>^=UFcd+Ci#vn(`dD@|OJ~^aL%Bs75^bTP3;XIya1X_U1_qU5|WhdLSz& z4D*#*#dnQ-BX5)n@Da{A!*O_@36L{Fl#*x`w2t?}|KfyL@5sJv{}i zR?(U}NFI1Cx3nwbJUhCof!ikR)jNB95a649%|p4RAzmx|Zr?K7aeh^1w^IS>EVY>K z?Ty$m6fM!Na9YLYK34!iId;|2_=aSAQN>2tAbOVkumIls?Cq&Db!hx~yNbqLCq7QM z)ORXi(0oyX!o=(YOP$v02)EGgsE` z-!{9dL|u}IEt<@;$ze=MNrim9XwlhSt}fsvcor#Q*m81`50-S3ikN)YB?)|66@{N7Bm&XNIZ_%fyC(fJCeg*J~91 z2B|b%ry$|nDvK)EIm4cs1&z5lux&$gTIknxp57nH?ypOy169XAq+QIIz2YKkwpnc= zT=bb}SRh6URHH$lOSL*CqZ00rERQawnloX;V1dCzq$&%qcYkRP-RA~< z_o+E{Y36;iCzhx*C}2@0KNYlRYx7Q!)FrG2adIi1xz8~GBzXtiSkv5v9fASg5usll z_dLmJ!#ww?KW?UH{fUK}+u+BBts36>?nzc3W_WS`^ z=n}jJxESb^xDq|rg9nC|H9pr|^8=Ja0LsHc1;&`TFRd!^p=O4kia`o1(Sv{8 zV+pa(0@<`dWxqpZ`CS@1j8ch**t*9WVy_mmN#tJ?|9S7sJ-fGXj@W<5TN}=t#p0D& zr}V~X-yx7q5Uh(JX34*zbAjK_1VbD6w zUBQn4h{+j8Zgfzz@eIyhwRJ8|Y#Yz^^X9!~; zJFiQZtE?FL~NXw-hULX+@>q!u-N<=n#gP1`8N72^2@80Fq1a4lhDd{y5@N{&UF zM06R#C;Xfh0Q^&*KQh~AH3i9Q+zBI)uk+|OtLT1Xzv>0Xl2?KUqQC+=FMa3i)uQI4 zg3GyTM`700s5*J#I9z5HHC0gt$cd|91Dh)~T+!c(do=QNr(8{)0otpEy6^P_8q|&f zk&t@$KP`r})Zx_roM`?)5$$D@7I967m=wM_ckgbhPACNcN}-fy3S5zLvozv6qy9SH z=X!w#a_DC!Np+~1LI66MvZy&O4JD?}p^Xl9ycbL5$c;K7`vWPp3p*();m`SffK{%% zz1o6db4_tXhnIkB&9O6&%!GBPZ`&?)o)`$KxJpJ&M3m$Bz@r3(tX|pR#x1J?2i{Ea zN}U#PImC*rn&BD96$mMmB$qj;Dip~LjC-P17XyM^^BL$w7ZCtZSjRLwLS!c5;Y)?nvaoAsebqr~eG7&&Td%3qWa*|dIx1-o6n`r;K zpQw6277>)PKiIoP5@65l+NB_aFn0HyhTl0%xWMw{DXNBO>i$NvStWv5a_K8@lL8I% zM{)u9E!tiJzPIG;SprZ$c6z6d^z*&{qG)wRg*+d-c$le%R`(_vojKtU2KPK4LiZpp U4NZ(MldqJfroZl_BvIb|A6bK7eEn?(R^W7I(M7-Q68piWIkU=<}X)eZRiB zf2`~zSCXAcve#Z~ZL(+tz`q|X;H*pk>%LSy%acFFRDjXVFL=RnAM(ad%Cly{26xXP z)D}zLy-pq=W>TvH##(1%`*MwNCLB7P3M^cLWMq1bLnONBUed$Qiiyh3m*KL--==)| z6ZL&eeiPlVm*c)E{`fHsgH}RbdP;v*Tgd)qFp4STlEdj*FhetK<*au965qv%P75m zwsXo>D!Y8`W6ynUih%bd2*K!Vz-Q8Gi5BIXhCh8Z%R&*djF#jIjaO(mG|Ca4hJQq6 zIlcR3^q8P{6f#IjYz-PC%P&oq7Vz@t_MDn4^M&8mo!nueIb|lM&EDKM+&7>4)Y|IX zjW2-b;f?0lI|zZAUj@GAOsco`hA*CxZgq_BTBa)YJOa|admiq@UyPm5l0uZ3a~k&? z&$vgqk+(?qAFmW2Qp^zJb%@u|oVZ$fRz6J)6?xrtX1plh@dU9({qC4!-S$^ubvOT# zCz7>l2OEDz`SNOddq4g7$^YrCn&#_+m5_cga^BqR7bi3)lDE_;8sLfOi{c;SOCBw> z)4knwG=(>_gLpN6NB^htfQP^QELeB_@xoD5T9FT@MK6~0Dr9r`-{&&K7gv0-ZC5qXv-z6~ z=>{j1^5*0+;w<_LA!|k32~6kXqS1?3_~E}PUCSJXR>t#A<)xuL7>Sw%tg}Qaqq@GO zPC{*+Vjr+QRnVh`k4+!`)o&p>gy37I8nw)L(T(9G1DZBQT`rZ>~6unD=HU zIrsOl5Om|B$P*S~q)7)7_Ops}I7}e_71?;n6XrCBUU)+0UossQAF#sb7YK8vH0>Q# zr6Nx*e;{+%8EDr;_T!;)a6uT`4dy8hr%ExDFYN83j@&KE&V5T%9tN#fXBN?;+$Zi~ z{e_{!cTj}G7m*v9vA+YG@%@1e zm5RwCNTNW1#f%un4ZAun7187bk!VNTU)EG6>!i)(8b7+#7YCNMv6e;5Ez=%*tE_)qm~ zu);73$z#STV#G^zXu7C}jUC*CjmD`hOVTbfOod z1E>vjv`MPul)H-jj2~^oZ2d(se-3gX+pmccBX)4qpHd@|es$bGl~-SA*Z16@gjV!_ zxK2{&oT^4kTQCrrKtXAIOq6GZJkE-vXTu|p^_?(c!NfCOo0prD!(k7n$_8o1fwE8L z$WCIOe=xY7IJ1d4y9s!S? zqn}~8g*_`8eRD1Z4CSd;3I|8-LA#EeTY+T#swI>nYLx8feppBEXQ2Pd8JI~V`26*S za34pe)RyJa^zlBfju<_HB<6DJ!#DUFqXJ;uK_8#Ft-dyPAIChNh5h~4K2Q7lT8`*Y z4F5{25d7u+v3zci$MfB~{f%jwiC}*?5m|6IarmaFkn{XaBuxM3H092Y{iwlq(Q0kt z;$4&ma`-pH8meLi!lc$p&s0*EnfmjEEWT($? zBzp*$|5A8Dakjsp%FL~GPFjU0qV(P1hx(K!TP1a_0bTlj?}8< zL;Nw|7_g>|FDv4Vps83NlimlOGIY<~o0;&W4R`4)!ME^c3co%b7mv(J*4>NgH;3&% zl4-(I`V18F3EUx!O%AV+b}ml%o}3+5gm-KN_M{Pc?` zxJ#;-^Qk?>pkDsjr(+HCy@pYOA$a3Lp1q_cet)4t2wy$T+M?spR)KywbE zeX3eB}@h z6e2Y?`$`x{2bwl8KN&mha#a09QR;7uIMhBhONMIVbKQE#mpFzfvKINhVK?SMJ@XG# z$mpTw1*MoX!YvPqyfTF^ylmF^x}VN8nU;U4>~{WKKPZ@Sr}tM{lZ(;o zVX?Tku#Rk|9#o;Dc;!>y$k?w!$bVSBTr?2i2F%C}v$9Z0)fDzjOv=wqgafNSn5gbI zIg9=!Tv|H3I6bTByZ?KmKw}Xv!o=UBMKEAgT_v1B#80Om_5u9GQ3GHKXQgzk~tyN-}dKmd6X`{ z$q#`arX*RHYx^qbs@Mu}_|4Fj-(^?a>3q1n6*2I_?21FNhh+!ear5Fh+^$(lci)?F zbaz+2ua8XfD>?cmnJ%A)7p-#gyAE-72`Wi=3aos z2rC~VjCbDy@%a0CL!TXNx2#<5D@C?^FWlSVHHLRs+uuX;2{3%@s@L6g?J~yid+6QS zIsDM-XSKe4sdpzGXIkUth(EJbn}V@>B<5^d*CC6)fv>+C*1?Aj&K@6(t)swq@I}Ph z&Dj8Fe;kTM9pa8!#*3@ftD!zHU~$1#79$U*g*AKle@FRt;@ zsiq)l{iDmNdT&57!QaOWX53RhEuZFdZ>dvXfzN`9v_;qh`@${dEOZ0=tTjZ{zMH@C z;naLOo!Zx35!3J7QWVQ(H*LIovXr&ro47^uzU1#-&L$m-5G>5FyUfoHR6`> zPZaLa;6B<2jiD|FNN}FiiX{4&q1EmNQaV+^3&l7VH#}Qk!Qu@zjA=L6yuxkk3Yb$P zY~*_qJP6)%EHBq>B`T4&bob~jZ2O~~_&)K4hnR)*)L0OW_72AR_-ai-`?O{X{)HI%M5_28&&t5Pflr zLUKz-F+;=v`>yg2_PWfG%@O|*r=%|cv|qHT!m`Ks50dES&-&LdZdnj?GGBuN{aeZ3 z;wzjC_dI()G*_J&^PG$Kk}a4`eta_dp;N6JmGR@;o0VkcGVybYCg1H9e>j_#8c)+U z1(N1ktuJ*%&HsoS)UJ`N`wLrq1M<_geyzUqC+GqCz68VJBnIV03^rGTE1S{2bWC3| z3;h{8G2f8*l`m!%?b?{*J7r^xSrcnZ?TYT{5$D*Rai?dNPVYM>P>%usJBLA0@*27H%s1{HgT4AS3g0%MQ%BU3 zywi0!x^nq{i60aWO?y>x9;R1eMOVvI3_L-1 z{Tv=g{x0r9;wb(TsI>n?aGU}HA8ao3Z21%@0P!21suQYYA!*u}hH*iDd(-Wn7J}?W zJe322EVvjbL!m@L6)LLM<;k54rV^X$mf3q3YUosKVwmLC7fo!s%+6Fyk>F;t8!RV2 zs9|&`1fFMrG}gO#4cZ?YNEd{f;Z`&zhRt#4on6$RuB6^UcjAK{PK~_(U98K|81_wk z<`h7pP2auXVgN(5M+~imx6>+i^{X3@r0Ql6taOZyx=jLXHd51-Ov8aHi&?+_-XpKuI@4yiFZzEQ7X-*I12T@MwIKr`%{C8Dt(&Nf;2b&Xmo(!))*RD$!`Gw7len1C zPjQ9p$roQMQE=0S5BPCU=W}DNNRi4rZ$yx^!PsJQw8aD96h^5rX%z_vZsvm7_Y-+a zeep-~NNZpOE(X7Gk33Jz3s!N)YhuZ_4s-=~hy)ynWB8ZWY-{>JP{XA#MSGFL6(pl`7%7?7z zQc~&phWd!o_~{or`F~bf6>NCpn|>qO$_!-q>MMBN;wmtj{+O<4G-Z3ifA_~r9ab^; zNMEF(LeIj!YnqeJEI6e;Iz#oD(cF;S)VCQUJqjqE;6=jT-5FYoC>jR5W-v=Jx)p)O zMZuE%Mm}=}8(Z7N^(ol%zmj6d4PCAb@*b+7Bb*s3*)tUHBN5YDUsT~kYD(zI=isox zC>8PY(|AIqa`J^6saW6wx((983!ft1_$Y<=Y%^52c5mYUmb>b|<<6_Dc0+33bcYM(FD5!1yHRgM4K+d2wz|GG@e2=x45{egED7(2l6>hE7fOyj)!;(eOJS z8A|CO6_9ED4;b!nr9dN0&^Bg&5+EBBp5Op)qf1L@h-l>e_B<9btb(%S%@-2CABECRMMk$8WG>Uttb~=dAyx zOw#WAj-UN)eBkpQ!Ap+fKv|VY`E%b4c*O(U$ahcb<(FKm!YRo2QtkQ58~DqW>HEnn zMj0H+)U#EM%tjdmtbl@1`YbNy*y|20?d4_^JV(wN(LTfO9@<>}nYMdO5E2qJ8^5_4 ze7Qm3XH4;w)Teb`Wqgh?5{tTPqhIqYZ1PfgBwr36X=YJNUgZgx8VVu%<6C6#^J|;! z*&TMt0|TQyUEqAJbwVRXJTq<#Gii|d=xASgYlt6GX+5E<1{_HWj@FFdn8i97DgVLg zYs$3rDy!3(TTAbsMkf=dS^ms@k6oxI%cgQp3=87L%M%C?tNrEh$GnrF8v>%9-0;K;fKhOpxvpz@#q}B!+Ju(!?_N z<=*fYxi9PGtv=cHDl%=1@0~5*cxj0BR_jed%RO?7s-wgDAt{ldBmXuXu?xG89DvKtB}PR;nR?E+}Cs#9kWsB^k({OU#2P9 z=pEWP=9XPQcI&`?CR)M3tEy)Xxn{sxk4(+~93-cvqa3dzYfNon&rtazR+pK(z@UsB0@p10;g!;e8W zXrMDq>@W&oCoQ?YBE0Kq|KtGG#Xs2dcDvaV@HWia^LqStzmFDjA>{vZHD4C{y{$7> zp6q_IkE1O-zA27|Mxp`_bS^jr-!#$h+NL0lMhYxTkMvBazZ4H^@!0ro!#pm|GjaTg zR)Vf$l)@9kb5_WsaE*&J|H=txQaf*2TRdt+p*3JMV1zelWG|QTo;;p5idpudxXM75 zEv%Ib<~#$&t!Dp z3*?cKyH}u;BOnnFmUxIOW2mae3Y-eQdL1hhP!^36vqJ#Ww90!W8rFlNu7QdzbKyr( z0*w@vdnA>`+KX`%N1Z&7?Yv618hKC?J=~BuJhIt*G?x8h!1#F7cy2fhrAiCCP?^fz znQADR%T^6N(hxqUD;GL!=yM8BifKST6aFn*^FN2ja_GgOE<>XWWWS(*u)+RH)haG z8;Y(&{iB#hIgjP;rawW+f02_hj=i4gqd z_UbS;ahvy1OFH8_{<0l-u$Xq(tNnBc`g{y3kU^tF?O;N+W&8|9ELHcE-fQgK#6F4= zuK|ht_y0sfV#o{I0flPKattPVYR_mUKcY<;QX8AzR1hD3vj+G363Lo#IR9@-vIomC z8S1}65tn+Mp-4$#OJTcPW0xxGFIp=auCRna7}V8j!4TT5Ajn?>vmzXW-^&Qi(x+H* z;dH+}Q!LgY^o=DhICvt~bHk0$MUh|^Dp~ptI(XZ==kg0+#UIRv3Y(aU66(Jcf7^Nf z+PM8z*WUQJ!onA3}%U`9ke z(`;_&Q7};akf&rwL{~KgsM2r0vB`Q4^uFw0e!)=1P&I^CWnNW2Nxyo)4+yrHi1 zMgsm|6MqvU70y@I=d9&Rx_kee_+)k$JWuicGtp>UPrT}__P$^qREx`4?#=ZMJSnA&f$czcmLG5(!k znqk{q;@CZI_U<6OnN^k0k45#7KeonZbVyL(dgr7vG^F{6`u@1-Kt4q|V*2fW&g>?z zu^!j{YP!M*d}Stb?4wiogc3oBHVc--r6XXrqVP?47v zj5ND_O}f}$H`%w+}>OAV0t>2b9dx^)4`h-+P)(1wDHiL41KI#GRDIRM-&dhr=+AIIOQqp zOR+522QfaNyrgj-(j2$aYkZxD1e8>0yVjt_ruc_A6Ak=um3Pu?@y?TQ(q&ss1)mCK zaKV2YGhH8W4RZamcq)?fL=lIqZ#0yoB1iW-WNw8bn?feKifG8wpsQP{Ja++x3^16{ zWTcnmEdu+Fb3=>b!AFrPovlFqtyBTjo zm^bJL@0dRik`R^{eGYI_4Lme0chIDH=t0-UAC|o`|C61tebD$qQ<7h}IA6E;TKkB| z?Q+L){X9>3oyr(aT>90TXV#d9&$YN&HsTjqsY#*4I|HU_CbaWI9>Pn`nDnNj^}Mmp zeyC|ET2(#9QQNI3uBJZ+dKerWFZ~WFZ_uuB>ln~QT~KvOR0zau$r|~Je?AP^2aaif zYw{fow5+1;h8MG4oY4rWs|qwktO76PSqZgv8->=?e7g-d+~wG3-sM>G(3-;x z9RH1zDJjg+Z=K_tV{4fg#1|&bj9VotL~s)E_hj+!)xkLn45wGyqiDVQh!U?Pzq!Xk zk9~8N&Dkm)j=uD!!9_-htR!G%PWutb*V zA;I&$S!6_svfk9}Ya!RmzM)!@lmyHm>PTV63wIe9KNxNl!LP!OVb*a+Z^W-gnWyB7)+RfNZ!zGK! zB`_)OTUtmk``XzukkM_nn!&P=gTG9=)`=uA<@|;0AGq45D zv!^wfK)*JRjaXBhfIt#Yl$DBKnzBYPOgj!P4d@Doell)x>z(wZ`tHLhmkx@}McjGw z-=@Cim)zXsKzo~CEP8{9wNXIDgmcvyc-v5FNjRG2E2B-5C3^%MgpwxR?GYInh7Jk3 zO}rAB@2DleP{_ah`n-fvvL^i`gCQ+W&)Jt^v?eZ`KzIwV^HOo3u3?#VbxI>Lmc zNQ$8U=_*pb@gWt$)!cmYo#z&&yLB5dh0<5OR(3$e79SQ|abA^Y+S|F3YazekeM;w^ z8<$gX*vk;?%0CxuBwH(hod(@O1Q%LDrGv>7QcwMD;Wq9gtcoOnIuQPFvKO%U0gw{o zC3d31-Zf+nnfWyh_c58d0L3`D)(e3Pjz!QJw%qlIzfi+w7eokKkcKXYAc$O$_X%eD z4DnwbbgtO^)sLho_5RpcEQsmh(?93J4(0n1(!t}PR)cj3Q72hOG1zhLlJPA+V9Xa1 zOf4z#DHN>_&DyHOttG#-I*U*wt}@C$!fImr*T_MJZ2$#CvGzatHO5h~xRu;wh7mTk zelEjSWNuZ6re9SgQ^+RZeiz64r-fSMh;J)V@2Z=n4Cn}q1*+(BRPiPJ7=!FiqY#0W+GS+#I$X1MkeR+XaZjzX>zUv7ir_O48# ze=7--dvfQMzD~R}<}y?>W6mgrP(G8rtdIYAN7X_viilZ2#95iK-(2c@p|6 zUg8)P9EH3Uya?4XX(DE$#5^TI_WMpU`ypb6IEfx{Lrl+18Al~?hq}O`W@u!Z54*&I zZ!YvxMel|O2|{Pw$S=iQTWXZ?8{$L>pfJss{087wxTT{}isKknsfr*!T&;2~JvnuTFlH~YGMnVYvZu&tVqc)Qb{(l}9>N!l8 za?!u_JEQmw+@~#yYFGk`QheMhbi}#n2b*N1$48GVAuuDX`HAap}`Kk&HgFmmn zqazrs9xq~p!(r?*E#sAcv8tOPNQUKTnT@dbd@yVL5chxIXrHkh4i*NzDvdbKqf?PW z)GNCwD2jDBOmaRN{!sRto^<(sb5U?siHI{M8 zR~-jaG3?!CP^#Vrf+~^HLkz$Hv)4=^gG#}DxHxA2GUK2r6or&+^m`0VP(7L|G;W=N zF_aue@kuQ@r*c%JnMnj4VzMBu7MQW1h@)<+#)g>UCmIC;s5LxF_8XN- zbzN&-R|rQr<`N#;EBBP*~IN(#=qF6i*yvRb43GBPUDKn*2p|}%qA&sGqvtA+U&?%TowEmO!pVq)) z)G(QS+jur}T@D3rDhVta#AIC>6q;T0_*>3Rv=MX#C7uLo}{sweK5))qR z%<@aV%^^Xj0d;cQFB0zl$Cpy#O4*B*)#`SH}WNl|M+P^312aBzi-ObGhEmgqU@yJKx1$ID>vHYOP_wH zDl$zRY`jF-Ol!k2GvTW=(W~cA)6~ayLW@&_$5yQG3${(fnd-$C`~$Uyz(k~X#v~KQ z;+}GbX>gA4b`4Gd&PeZ!!8wh^{p=e)N?};pWIwi{Q6hhbH$Z9Cpxawq=_+&%(;-qL z;vJSy4IQA`DgO8udfH&9NTWW zy)!_S4BQ87R>@qmzX?lY$F*^l`YV6-e#MoZP-|m_IG~-GAQF`shJnpAsbIg+!9pbg zRznm%uEm%tXQLMVT2{fojSY{9Yb|Dw2hRyLM#Aw2adn8+ryGA}CUp5g%04j)qV0dF zNB)X41zL8r$#87PzT=*FRw=BU_!>h*D@XNCCx;yNE}d#OGxd*_TTO-@+$r;cK*Uie zUW_~55B-C5&F-3nv0Tk_w#p@qC8Lvvu?>z(H9-mvnpL46Z7I?cOd}H3hYz^gL2cq< zbDooGk`tJjm{dL@No;AAt0~6&G2|Xsl5tAQ`cq%6ZE6Z?EBv0JStuk0IT1R#Ue4H> zt+A$7tLu!jkruGz=`Zx~IHs{c&rs?^vTW1g2V*vpNz~Xoq6q?E#%Q3iZWqn2ie8m0 zLmx$7ISEEV;|Dn`pn_fe;pZy2SPkc%pp-R~NK===nHSml?>PY7T1?tJUfO!nyK~!|htf8*oDcI@Z>g;7JkDvXUz`dZ%SOPI5;M4q znobl5KXq`_BY#Ewiqn^gZ`k|{@kh!;l@t;-197aMSjO;kBaT=Sw|cKkX*Fs02`g#k z1?9M27So|+s9n|$hQM5z0m^Nhv^s{9J35fV7F@2s?!v<)5+>^9F2oI6q7>B@5Y{aT z3IIQ3Ej0`jtkkK0OS{cv(u%aAOO_dn@c4<29&%3O{)uAH`nNKpB}Q4Oc_F4>vXOwX zn&MeFaBhX+XiW|ag{?RBT}?QPlCc-3oXZ^lbr{P-NYl(uL7$Ndj8tia1L`vM1LyeD z34$T$(wM;K$u(Rcf$7tCaT+wR{Kd|`KvK-Rc6Y|@M#el0XrJ&@^OdLZB9mw7BT+ylBbdU%1V&bi(`PH1uP9QwG^O0k6z6R?JK%!a5Di2 zyyxu;9l6s9{Dc>_ad|^0ecnk70Xc$Bx5z&sQ)!Ba7Sm?~+v1Vhq>dOf&Tt;a{PJ51 zl7cC|&=Unh(@t>`+W8zX&hOSkEu5D}?GUJ4Bq8@UUFDRU?n#Wn1C=_NloW!gVNSGz z?Zs(f?2gL2RoMaexk%w-bnnI0l-2y4)$2+s&aHNVcxLxutAGve`>%QgB`_*{fVwrr zhP66`Dr+1r*P=VYj%e`BFN{r>Bs}-K#AK+}ntiqfF;%W!#JVxw*3|GZ+*5#fiD&JJ z?Y5*#Idu^j0Bx?UV)7|^=G#qVu{bsJAuKw>b0KE0mApdO7?Mg;D)$FsxsO1FyWDQ( z!nyVVK=_mh`AQS6u$-+N3ef5Tw? zVh*TaGhrDU^&>>=6Xf7A9ZomdtTx2d=hGxx*RTnkT1YmZf=WGr`lE`@;3Ir=6V=CZ z(xxg8>7ja|$sefkG3MEVf46?P1sZW`6}v*o;Q_Te1+}cL6EejIdb2s@WGPb$G6Y zVZ)=lIwAz89?W4XYLp!8x}4DP%t*H-0M;%=W9*O2k4b;v5z=3s+mwhABIUKliH(BQ zJ|JZH02&ZJ(-{%ac?EuNw-;Z9fgOK6a{d*ldxXXVhL4)lDs}KthllF>nt$3EXqhRF zj-4kYk>)%`0dzfQD>Eg8!YT-E-n8)&pD&hx7BdgfK(*J=7~^B0&kR&qB}l1afJUS}bISSJ78;sB>{;(SshZ^RapZ**_}Z^8~RI2S0l+ATenG=y;*t1OKR9_maH zs?apC^(0OLN(cAncTyXiN)d(}Gg7!gMMJF^RQ_5toGLT`Ii!4Ql{)}+Iu{RJ?r!H2 zDGGi~Qram(YL|*N+s$}dIkvG_yX0mS^j8nD#0J>0?rZMq@SS(P&$9hagM8*xJJAce zwz1d{lkZvSAVO&aA%1F2tsV}natADExCd7g1gd?^S?v#GcleQ+;UHo|Q&3OF0EZSW zm$#sT=oI5qo(Yx{J0y(xg(#qqVA4f{BoDwhOTuEf=Nb(unB!CNn{@*s8((%oFC(|;PDN+ncA9RxvCw68}FbPK_`v0g&L9b}1Lpmc; zL1(@q|Bv0&KLuz%IM^^K{$o!Qt1$k!iS7TDa$Xx(p%N%Fu~GcT9?mC=libmRi)aDmUe{qM4d0x`X)fhNKMXm%#yj z?!;7Nn&Yj1Hk~j~e41XV?J&7w8BuVCxocI8IS|+-tJK^322x2kYY;NQ3dJMPS%a4)aGgW#!jPlRpHdcJcNWccrv|bB^K;H{jE?a>M%T+ zVPw&8WSd$^2oIAQ8LPRv`EEc=6#+QPMoc}Q0?ssUD+wo)`mmDFv8R`@F zuxh5r8>#9x&fQy-Uu=fK0zilwNFwyaV$RXeT0VYbv7K zk1->}0^R5-5YtF8V_8xm&JWr`*vPvYS)k-urn6uUKGqGIHmCuQr!9ZZymrus-Yc0? zcA3iPZjp1DG1r(tog)_5=iR!Am;pP%2Xd1!@_tLi#cyLOuVa3H69GSp!=qI*-`c+` zFlyVy8hHYtQf~7`=hhw0Ij}>D1XrWiD!6}^R^6Lnb<`5wyr#g^WR4b1# zawK9ziLuU|JG(8l&S(NVd@ujPVxQ};tmQu5OTW!a2x5qkL-gH~BW$q*l`hRs}vWB$1XA5PvB5`g13blw))OArPJ4Am7?pUam#>OW0W)PY2Ab%6r$m*l!6i(=DO!nZ`Ws?W;)+mf zup^%XnO50$8toa1)G}dFtWClW=7{&-l&J#PvACxGM?85uw4u zf|phyyLI*TP#78-!L^>)4rlo&M!rK)jTl(Vc}Tq`V{qT_W0GV0c=T>69byNUJMH6F zNk*0!!yp4ymKX(vj8BKq_=e+$Uw1815JZ@ynB2t@&6qWs`JXEAm`^>TJUP23($f-m zu+Qam0TODKvTDq`)rz6V-<*~ellWX(E0!(>BAcrdRN(>U0CeilxYTzD>j9ydljj__ zGbydsh-CaQz{Fc*fDONs*x6THQghp7w?>$E9Z5qFCD0oco$fxOgQcT06kJkm38OL& z1${`aaGJIYF`i%e1YN!fD7aP`Lyl2ik0>mFu7#c18ijg~4}-Pq)q;_olfn3=1OuM< zE6Q0t3$Q>0+i-l_YbAh}_k%}Bd;J8rWDgImbjVkDPWE;4eK&!(bu$fpwxg>w!6 zB`H|8e8ZG5oeQMxP%NSD10{CoU*1TrN^eUKyPy{c^3o_h%a!|PqNz;%ts6Q;L1dSh zmSoDg5n-bkgM4YlRPT;Q9;mWV-QcD_^+zZcPQ&hJo$Z2lpl6Kd*#TruZ)5_Vs+0%& z^#&!x`h(iI`mGP*4oHj^Qmed|l1UaCq^LG`S3 znJGb{y1dtRNh(rMqJMySowA<2k|tVS-bp&@QcwlgA`s-5sj)pJo=_hQfoI5k^)+IW z4*Vpoioo4c{5M}{F$-lgXkfH2G^0eTEA*7W7aKWRpvIkai83t$U-C7BQ}$rmA4G(# zu7c554N|83-lr+iIFM`~mBu++tUOT)Qxz9VL->1*)aUmTYl60R?TJ1|^}XjmBL=Jd zMZHhWwut*Fsv-n%*b~lceZ<2^5I1>;b;_qq`&Co!Ukjv|t>f!iz*gNG5_Y6Y$5sn0 zaRRsj(*e^myp$y|i;iDz_mrhZsg^#2Q+nH9rfIU+k?4v7t$zAi|DbkHyHFZE!{YCd zRhN#-J-kS^H1|s%7NakUfgYoKS8(aHe2p)EPe(Zz?)=ud3KjJ|h=Kk^)C@Xj2v(8n z8=aZv<;lpbu#2gyAJi%jMN3|A`c797=+uVBa;2?fu(q=O<7*L(t! zl&RjF(Y;b?3EdCiiLONYkg21sHx`3>PHIwgP`q4bmpWRYknL-|fgp#R(60lo zWQ`^CC`-C4l)~*{VQioJ%j^h-Pi-KPj zh)(RYAjQ(ej^{avw#aVy z|GhtzNvM^QhK}JZG6R^fnbct+QQ8(HZMtD1tVX+y5>?eh|RBD3wo1R^H*0qDV~h%%MZ2Fg$gh$R4Ys{13E zmIqwatj@d-z07sgqF)`Gk&zWu(Q*hSP{fY0&Km z>4HwDVuo&s*uCZnjey?b?;pC@#YI=Zqy8BNU(I%SH@K2uL^i43;|8D2Kcpn{Bv}Ae zXx!?l29rRm0nm5?OsYRy9nL_Ck)_~KL69z?U=V1OFcbP)WzyFOkQY_n*|v0`t?D%1 zP823QopGQTmlC(xz7=)LCiMCp;a`WKBKzfYr1&m57C!lwLxHT&sF9OpsX$xJc(whg zKkyL~5fe&`e=B2^-0_aiM-^$Xp>8WuCT-n}u}GZ7+h9`oMI_wvBo@_ZeZ;SL%a!gv z7V^2|+O?!SqYjJ^*$}v)eY=4&8T@Ga{?xxf*BWRF;x>Peg1X@2&5BLs6mE!Uok@I; z2eiK0emY~<-mScP_FC5-_l3mW8*FrFK=P&6$ml@nGz_^`m$`lE~sE_`wtNH#+NAvq~@ z$V}|rkPolQh>?Wk@6IYOxQ7TdMrF2VkRsS_|)*qD|80LRJ}T( z^0Qp1BFvt(qD=S%6=-DYUX_{IQFsy(MuUwib2~*L=jx<1!Ckrej@z!ZcgvJXr1xQW z`9KZN&kWUZI`!yWyIoA2g!C=iZhh+Jf{d#7sF!Dzt&epJ)O8DY2p1@+#|eN7 zJSMk|2Zv)Ae>}CDJ`_C!3Q0L1ai%e{e*`w|Tut%_ty9FA*_YD73u zSU${_R>nVVD5@;bmob)e@t2#>ha7He$R1&B0bBeF65|X%bae>W7@Fh~X(VjQKc1HGU>u;VAQ{5YLB6;ZIgre_~6d)t9hXP?&;41xef|vk10)t;)xrmcM zg=3rq@>;2UH`dOuxtLcv1iQAn`D+AI_qjOg{BSu()wY}W>KuWQNZ7zi+8AOH#Q!3m z#d`;+N;2}gt;OEh0x(=r(=njUFe0XE$B)75hCxwPZKDJGXAT%WU*4l)g7yW7mZK)= zE||Ch1oK63@Y(=E4PC55c<3C zL=a@{h+kW@4tlXDPv!w~RUkhXXc3q0ga7${P?eYfj2Jo9m`s76nimPH^)((V7hjQr&DI~ zdE#ahXEuYYw*^pLyGTlif9VCYh_>*%nxZU3MW-KH@Vov(f|+RuzOPsYso-+b=?B&W z>9A7x#d+%xzI;SyZoY$YA%-6D7nN&UkW><(0eZl*do=6WIYcpsf3DHm!EN?{v#oB% z7y{4xPs$DU_A=1yU^;a$VvT&mALw)t^~H|)Nh5_~jR>Bd!cUbcNcv9HG8?NGLf1lb zHwcI=xn&WvM_XWrSpy_rnwrGfBGquZU4Uh@D)1dB<%L+q%*Z6750{hrC(3glrUA0d?{qsm0(nnd7$G8t$F?7d_{|-B(lF;;69^qs2R8TtUMFo`JXt4$2%xb_a-=cuwE3g#6YhM5 zOOO={T7#Vz0xb@T>Xs7VK)6cAT-j#R5>Wq;`(S)#K z41LucADWY;dOz)fYx7Z%k)$RJPK^?bL#}~}F#j@efVm&yGgwl5%KQHi^$)h$Gks^8!k4kLkvFj z0D-GiK=E4w>G%1mB*ZIhY}pB`qYTBn(Lze%!HqcXY(EhNLImUS$9h` z|A|yS+fXQ6d{miWgCs@%)3n4&4vIR6TK%N8?+kn!M9q*yE4q=Tz)7GJz}X<#s3SLWaoW6F|% zJdsq_gGfT*MH1g@50Hpz2@-ynU%-tKGJ9AA$G;vZ^MjVL8gh-~koML_5bFgiYvYz{ zh{;N{Y;?Rp)V0*c^os5X-E6{Uy3sP`RM9BH|1ar~Al5Q8h%vn&#J_gf2r1d@&D-8N zd3ohKI!tXTYK^Vk;ZLc@R_i;^$Bc*&-a4y_{}u?bqzDJj3uNX z!nXP7d^_KN2SCk!lXzKORA&ET9LqxzKYQ3fbRQ;HOZwQ*N&#^2vwN=~mUtdugL}js zO@AIAhsysLH1OtvsvYNCIVisSJa2@E{5F%XG?jt}7yr(l`k>xJ<#d3U4Gny4t>!V= zKv?8l+SzRX*m<>j-QT>~eoC%vab7*;VO#_jt zDC5htJj56AY9KJd%tCrZ$p|V;@Y&gmr&am_;#w5Ob zCLXeiT@7%Q4rvpLh=EFkx}Abn1Sb{!ED5m?M&6e}Y0o)=oR;; zi{sR2&DOjl)GzqfNc}R_G4>s4;V+$_7Z6o!Es`w~Tld6;{Xi_E zXKY4{h~YdnBsfMYcvjeB`5y@lGP>nD3p+F!y?&!o4Yfo@{R8Sq(SoueRG|im$kMhk z(SCJxFIkuT@!xZ-J)qDvDAL=;R}>Z~to6x_mGe4Q$y0IyweeYYwsrGQTk}h*!ct9d-vN6`!}Sh z>k8C1)>b7S%0DEvfPq&Hu92tC^f5gyG&kFErHijGhXM=&&!LM$76>}5r7|_Vnuruz z6(1>Z+1FETo93XC-KLH9gy^c`LW=HY!S+SUFz6Y31OKLN0-f}zRe$_1R@}1k6Dtmh zuj5qoV}e0TjG%mqB9YAQ^MM=3n}f;Qt@r*LeY8)Ee=-|=o^jy$=99%IYj!Yv?pE)Y zkqoY9S??RI?ij8Jx@Pmx%(?bALucJA0`VBEipA2$-aS@+%Xn9jc%@3?)%; zgCKX-&FCjns^}R8%I`Sc(&>s?vB|fys7~?-N166qGEPmI^SZP+3hNZ3dOrWNQ~e&B zjz2b-0q9|BG@?Ucl6&|WR4P?r5aH=q6uWU&Als41c&Jpo3t zer?fuv%NmG>Y9q4Xir2ibA~_90i~e0iUBBl*=QsAOY}Fbz{5I6ZoN#4c>j7YbIoo3 zKhi5DXcRnO%e)Tk@{}OD~h_x9olO z#kf~%oZ+X++po)&S~CERJZWlM+hdEYQQI^8Wl35?Yi!=U!}b6 zl>f8N%5iTZGAbH{FNv%thF1c6+0o|i+gz+Ky=W0GQMbSZRu%9jC2k6k=VO42pr~Nb zMC=4t+MPS?1@Pvx-L@uRLrXM>L>xMYZw`8vsz>S}*4uS5uR#X_ULub_ZHQYt;n*3( z07@onuF>Q=qC{jl{B zKT_E#=;tL8K}}U;0IIKiUANcjev>`cX;~65i9Ud18#*y*$>^yscZDvgt5GHc$@3_} z<<`@J9i7;FEFbzy(}sz$st78{7gF-k8Z%P1Am5~bM`ipENgYBmR-3X@xNKad(0+?9aL}h3Dko%y z;8dq@{y@2XWrZfHWYUH|KohTqVJE`aZ^ZY&3Ui-TXz|4E{J6e$$4{e!mf9ezZNJrV z=+RVyeK4acmjuRwo=1sZs+rezsUhAkjS5+s44lPe*ROLDg?ziQx?8Jc8jIHZAT&EOpr1lKS)0@YBT1c@#?NWHs8|Tgo)X7)|5ZO8Am7_kAjuZgKyQNzt5R`zN~d z@h%Ju@%9!yGbK0rrQUh)Jg=t?pWh77k!b-QdnI`TNdq@qLj`kri({%CD`V{?W4~G~e4@p)sWtRGKv&(`oM@*za$fCAo!%PA7^1LTX;zW~}DN3hmNd_wgNxckleGU$) zc}3_Tr?k!gr0`Pb$Twbytr9cgac7)||6$s6F4nd<%b+G} z+xm0?lNbkwmI}Gm6nRT`bVk)hON0`q6AEXeJ?vMgr6Ch_FuD?8)@UT$gmU6Bn-T_~ zEferxP~32i&J|L^GV zL{cvw2exu+cnH~}7{|N@Q2ZLB6leX97Sh^~;U9%p-St)kogut!OqY?ilq_=Oe~>$B z=lleDBy?k}*LE4@$i)BrH`*F96FFA*m!QdAc@!lF(x}EbF;W%EbG^TTRbeP_I#Fe8m`r!f4@7?3S%)-N}-a%kiu9`A6Z7DE*^KIq^3&o1}YvC4KJgvWy7ys#8s<5 zeS)<52zc8j7cg;_ii5d5cTFZ>LuQbHGW zQiqj-k_Ax;?Tt6@i!0MMw5T4J9(T)~2lS4x^2~+L_H_c!u>e^{11Z879hqaAi)-fo zqrR<%(EJ%Fw14#DmO6)laBq7rx5uY@_GSdsJ2U6&A5pfp~78kx!U zy6q-Q3t7C^nw6#Pfuu?P&n0FWTuw@Bax*tC)CmOJ`fx z22I%Ys_eR`O4Pzi6VH9JZ#x0@z4*6CXpNZ)@I`)wW{8u* zN@c0gbMQB1B5T%wcQK=gNy_*xXSB$m8HY&YGZCT~H-(1(_%B&<62#Grkmmh^Xm&j; zK~mVU6i(6!BN=V55-q$jbIDJyq>;l;ZqFnuS?0js1a^|1!@$IG6{jLSbGFvH%|GU*sC!TmI4u}a$rC{nz3!Fp=4oXYWg$Nt`L}?XLW?*d; zR98#Uq~P!olQyPyS|?rTUW9Qt*+{gG-}wM_POuG;6>LmO)XpAnGIatXGjeznoH5n} zTu{w37VJ?!*H9Um1CL9#{iqS9SYy1=anBgzgGua3$pyv|L)pPLy)mimQO25POa0oa z1;MYUVBU2a1o*>yoUu1q2&aVzEn#_2jHuH7bl@3DPkw?urCK;-zHO^q=ezpN^cc_?s zc{;+LiIQeV=5WX`a}?dtf5(zOOd~-DUjpVboc$KB)L8?h0+WgEg0G&>NLrP%_a^Gv zxzon|6M=Ie1)!50#$esS}@zu_(#JW^6euBd9!DDqb3`~rq?)c?d{^+Oi^-;;nsL>@$ciR#Wan~ zIJq$6RWnw#Ub5Kjj67R~fDXFeCJ4-Kov9}u4f1Lm_`}d$hM?X2SGf$@+WKP6oKw@D zzkUnkY~L;siqGpIHG27buefK!B{#xG!F_|K&q-Vp9?sV|z`@ZS}qOeq=(_#4r6l1yF% z*LS>}9Q-C+6g^(oC;dt5C|n%KEI4`L{QXa*E4REpV?pR7NmG0Xm1mA!vk&7#WD^d$$Yyr0-p-k=P;q?cu>w_R2Ozq}j$s@CDG83@TeZ&~Y)PzsX#oW(~F<}(j z?~b|^g!2(_oh*C1((~Q9`yVpOV|gHnyDKw4c^po7(}Wv{Iw<6v<@W+a)HlVYhi(Sr z9_KR6Vo{t~XLgsVok5iZA-zd>`0hozgS1}jpy`XUHpXdR_-FM1D>hBRzI`Pn6St!C2Y&KAJ6*?M z{4b98(vikVv`(+RCyU2j*Nb-k699C4ZSDDfRlzxAQG#tIg+ zJN2*pTrbQiPjf%OA-hg~wHN2YSx?!5-jWyW(>ds?^vH*80IUY(duRIO^?tWCookBv z>Sg+bAxn#~3S1L54vY>2AEb+)^l<-UHw>$%tT(4R`y7BS`#xWX%t%8>rltLJWO?J#^q*$I&+R;u!t1w+8W2 zrUOk|pvmq#0m6H1a>%q_hS`Z7L=kNf?Jga1B=N&F5TYueByl2|K3oegcFdz>=e7%y z(Yo-KD)~IisRI$Da6}zgnr+ZWJM!9Qs6LGe0kv#|>ec!+G9c&z8b#n7-a3E4{Q6X0 z(wV8Y#i=E))cf!#b+C|n^rye9V0M?gm0wV3ew#>DMHea5m19jD#$5UJX0>i-um0`g`kH?G2o-BS*<9@F-j>)PY?0@0xr4Rc(A@K zTBq>N{`Y*3V+4v^<5Co3CvfTRKH2}RIj!RwmDY*5?AvMIF@yLr-ai`d;+F^SH?xR& zrgNo0+Ul=$5UMb`r{PD*xm|7SobM<3KMe%T6ydOwKRwK z$ax<}%-ut!6&-JFk4IJz2O3jLftO8(0LPzk#rg7(AXi$=sDb7UOS)4SV2ltM(dX7L z+q39*6VA;InC)_M{V{U&sqWEp_C;7a;ui4FIr)x#Ocn$&%*nGS{9eXlsSRzpAL%Bzh)pl0krH=IC4;&k#`*|~W6__d*I3ZhSc0G-@1C1n{T1~1`bi%y%) zXN&#ONWa_p&G_Tm$=yHC1Pqdr<(>5>=L0 zNPhuY-@V=W;SIQaG>JaL{Qj#cCn;|4?l{WQ$mQ?b2!+H_mQ868gH z#glHD9Sj$m-`)E*-dLT#|JWYaY|U<>Z@i@^^y79NC}g!)##nN=>*JLjKCmx(CNH?N zF|ON&_8#7=XAysDvOla%ew_BbHt+jSXzhNyke@hvdrhD^eqlTEvpA{@2O$Aa0ff8eIG&LUz`Wzn$jFfQb zi^!uj+NJ8pM{|*V=8~SbstZ}YSpSX=`*g(2o<|R?I#Ir zGg6kEglc6yA+b`x{b~soyd|4jMcDa z(Vn*OXG5TWWx9tFZ*Y*GqcC=;=B3E1#NeayBmQvL&k6e3zKVWjyq|BgA6ItF1BsoV%x#@;bQNV= zp>Wv8eXI<_`1ZPXrI&&Qya|Rr&w&Ju|J8uStRs+Z1!k-|W~XPKd>;uT0oDi1pMU35 zsBC%H$!UVH2rKf}!XUS$u;mvK;2F>s1Bc#2q{6%Nf$mwa7!i|9U6q92EF%VL6OxYC z;i2(`K4ZaDRP+y_(49!g@99F7D^WMcoDp|Tia1zT0gS$w;6tB1VWd?=gm$C2uy7ub zw*Bm$sLwE9o#z!i(lzs+(CU5x{po(d+WugYy!J3iD>)(M57SqVm&c`!yvi|RjcEC| zP5fu!Mn(4U4~y|uC#p9_D^a?OqlI3CRy%I;f@M6nM0<%!>fZnrw_ zenVn}mu?}QPOOU;&g@&cR*jiw{tp&ZTLf^!@Zci&IB?C;rtMayn)zUfbcq*S303?& zNzFE+Y^dXUSmQW^G$byvRnk>n5LH$)@~+J`5(vok=b3d@#!|V%BlP32wp&qM(K6JS zhXNpYceb#1-;(JbT(0bXRNGGAoSI^zr_ZAX1Tovmk9S$O&}rLK_k0^`wzKQsz;WU8 z9`aaa4YA9s6cKM|QJ>IRou441U!1df_KS8^>@)%!kdhv_x)M$RMmxgc&e1w6!l4#d zq{v8~lN*w_I#&(XC1|BG8sc1i63n;v0*g?Hm7(12_I{OYNpc%f=B&TX~ex_nQm9 zOv+9!B}zXzl!Ll(rAkaXOEk(Pvi|`mmvoGd`HriUf4vMLYf(TPe+hf9yMb!+PfS+w z2M=!9w%8LFZC4t45bSF&cdwjrv@rs+z>rR1wzHzk4m0V z-As|P{~@0(i@GLWBJ~XNuQtKbiP@{1ttT$_cZ+kmQK@=UOk2ti4@2!LY=gGA-W{bT z7spEKodD4`6({|E@g_PxO=qvv_y6Cesx6%}v>LT@E`FE9bT613!LP9z!cV(I5B@`s zC8Ht#AD1Gh$sX>aeYnij%PZB&)Eo@$tcFEtDCz(4q&sRK9kHKJQjkGg z;fteEp{W`aJ6T=%vbivTicI~3rGD|h7A~1)_#?WdGtXw=JD2dgKb&`LHY1NH@J{tbc#oV_(c2PjzePB9-f-mzyiws5DL8 zQ!~9gE|xa=42o67#gzHLdzpyZ{N6bf896#D?+}gn4|Dm57+5!_7^-eu*9?QCPYiNJ zUFl$nebFC=l=nsHFUA!Mj+euE4db(I-B>8u5~=><7Rv4Z%rf$iH+`aW{jkIG{zC;f zDly6rxqQSF_U$U$nMkg|NUi4)hyN>oBa`M0Tl@HN>C;_N^I0yo(6m)c!iyY=_>X>U z#kH-}V?^_z-ctF{^AlmSyVpbi1cwh@HW1r{XA(`ZXf^#`X-exoys}t3kCy|0)hAn7 zm-Sa$^McmgjkU*;%TA}2%oUoO<4i!Z&q83{ASjb>#<+J>9{WmqP=Wyw(lX{`}CJ`43G+_qDxmBsInU{f8^ezvfs)8|!D1ESGD&f4}`=>bK;; zz3cMi*0nI#mQm#08iy9=vF?8&iA^erw4ZVm+`>4b_5qWgUSaQ9JY~~Ap~Uf8N&K6C zy*}L%pjyzsE@c)w&Ab~iy{zU3Yvkl@U3w}(5Uo~hD`|YPC-*zx?R&4TDeixY)_Y8H zEc$u$oNWDG!4Q3$u|8PxOps@x+=dy_~jqBXc`r6&7%*Tl}@vrJJSpP5a5)?%vAx z!j~0nuxOd=XnuBL+FZD+O^Ads*cIRm+W2?jARF-d^q}?*a(_7slzjAG2sN*t98r)^ z!jA6F2y=2+gc~A2wUzIG;ZIN?_xg@UdwC3x#9=P`Ta+s#s5KiEAm6AHs%z$&D`aQ4 zXN3(_2lij?wlr%J>2TK4C0`%-Cpirc{PZkDzZ9;`)~vYXOHCVHSLShQ5w?;}IM)0? zQ2rpQ8EF62<<^UB_@gxc=(asn_R*$AcQ4^i>V8IrE4#R1({ZEqJZky&g7z8l%#qiZ zLHNO_8ADJ9c-b}P&lDFZtz0`bya82MT{&%~6Z^CT%Fg8nk&wL#q}VgK82Np=vA$*VV+o0mOl}{Hd#Ee<>;hkq(~-iE)Q~A2b@X;=y8f}(XnJNHoz-^@5>HR1 zn;$w)LbEShq})44bc;!~b=@-AFbhNP=6d=2%mzZKt%b7s4ON z6t0IsWvAc0%hKuVVKJ}md-mF&9uNYv^QNI8DogE!*v=?gu)8d|GLt0iUyCP-+NMap{pOfIcEK?WWm#gov@yos~r^)()U*#1v#B2@6zEDCAlpR=M~1;_Uo+NlFP&!yO-o+P;??W^j4- ztt3^3!s8jb!WOMwzYY8f{b7*VDE`QD!JnXQdn7OR9JBjUpFNcctbID(S`ee=NrVeMY zG%AzJsqvn7kcicTPT;E+ixl|Ylxcyn!c0;2Q#c)_|H2QrtTW3rTFlwe&Dh+Q^{xBh z;TBr&1C!&Kb@b*<81M0gfs2d%X{qPfZM!7e<}>io$R&I!wlxQ4)@eEV=3N5TdxMK* zg5XhI2-!(x(T&d79jwh&zRKX%EJa;l+j~7P=NI4jK{M!;^j~ zV^h@vx+A}uxEOm6t7d?ydluqqfPL~Xl>0u4lVQlYG=Z$4O+a6>ugZ>%7@7XB1j(Yc zILuao)DjT54ng0GP~=2Ol-Avg{eWK@!oGqgMe)i8KTg(`67%5l@*Sa}Fe+y_l+FSd zbG!EF6wdq@>kK{@Zlv9=HFH|;0puD2FUhs?WCS7=6>_|n= zC+|81Zb8Wd&J~s527zpbQX))z$dY`;aB?J{vgntf+@`oHH%49Jm=p!3@7J6v1vhh> zTWf+~w(D1Qi^c|(hmGo2 zufqMqlborjP z>#qh$p0*l1JijZ+TodFcRBG_4l{0OrqOT*)oI7HR^r?MFL|kbQo?lK7H7e^mET3z>3+na9-ddz^gav*>(e`q&G63!ljg-L|5) zef2~p-X`w{=I>~wES1R+U2>^ZNyl#zMc0Bg5;guLHLZ^jK}2JZV~?eMkJREPWWyUu ze~PAeX8P8CHAp^5K8X-}OXH-+aF$54NVEuewa7bjQ%X(hk>@Hus(u_~_T;0#0Xw~?q*XnX? zH(P#nd7V=CBm!yRwl&3?Etst%#O=3Ee~FjGM|}A%;jFw&-ilpm>60&i@5Kg9VcVZ4 zExpu&#PrBg#qT=Zr99IBxnaD9Qu?WVUD{jMd^r)ie_jxVa*>FXR2?^-!(8}oI*P1JFC;x-fT@#mDFGCm$y=UMzi;)u1?Fog%Fzw7aablkk7@yT z<$AldOoFGd4=w&K3Ao}k{Ouoma&3U4_b=&+gR27s`lIV;k6}!{Zhm^z(v7g9&$40# znfx@bn6&dY`fEe2ie93BN@c}yf-=5iv+3l$E$BX0fbu8@zN$VfRlv-^kAN*+AlB8UE7T{{x|$HyvO9<7LNhi=N~d~l_Rft3&iQzW5J z3vv~Ik__&8G5bXM$E{?K(=Q8>W&zHy{E%PR!PQ9O@h1dVTRz+86h#l}LT9>;`I2X# zJ@DQ@Ra}fH@sH9$Q~uO_04D6>se4OJzgcPZ4KSx=r!n5^pEp@S0E8v8+#YH+54i~owUDyI92y9L_AU%8VXI!D zV4!N|->J`+(Z7GH#wFi-<;Q5l{-xV;Kf0DAsOhDtm4Si-H-=uYk@dmXXU6e&q9bfCM{quid_qpTWS`8b-uJHzKxD~&=aYK|3v6hqtK_m(Z1~JA32VeOn{-uY5`Fkng z3JIqr_#-#L*D>a%S|9Z)RwAa0Qyj}g)Zni)mPwn5fes_hE@r6y??IM*I+T$;{km)e zIB9I3xc(I^!OEG1E%<`&)%JL7QcK%yX@?>Q_>->9b3Da+<}#)vQ*ozf(#?1m0h(Z3 zr|LrN$&~l`OjpuJ!7xuS&J?SVZRtJ;37ak|_BJ<-U4vAuM_cjn!d-7TV3;y#mixsunGNSmv^lM?*vCF@=bjbXAgK3Airefp@+>(1Klk zm~6rcT&yqs-E#$l5=Q&r0A1l-d5|=ToSGMCMrCi_6og|Mqhs=ERS+IlFgFV*n>wUb zE8;qTkv?N_I{&{Fo*}(Uqt)tVRKC@1<cue-FkzR8kN% z9o?A>qy9qlSEkE7e5zKou;R(AnaY9M)El+Jzr&B!MK~p2b&m~Z4bknHHAUP;G5Ti{ z6v(2~U~xf{6;zg6nkzQ}LDFIL4p^O5F4(JwB7>%{BuK`M868>(Sm|AqeUVpCD(i$h zhxWUk!{)^hDBFjBJ&%FkjiQa4XNf#_ACiqaR}fbcFSGr90=8AN{W-t&Og{fUb5#h~ zVjxT(Q9p2Md84PkVvpgJA3|R|H_8I0;AXMBmzBQ_1S-8tzdrTQvODb8DGk8@vOo^Y z-+Ige+~`1SsgMDQ-j+ZEDx-8jpb@m!dEkQQD!;r$*4z6D@(752D-c3^%`bk-yKa6p zSJoNgxBAzmA;GH`?4(K12Wo*d4;?g%o~H?m9OgHH3H`L}_iGj04N?m){^Bimp^#k& zrwl#4*>m*&6LAxBFMFf=yQ??8x6Ka6*NGI(6zK+>_ItB43D6Dapy0HsXGnH1xG_bg zoy(@biyQ@Wcs-{gz@t#JGrL9OdaP&AG-du5#-dzT4X`BVcXp%Gf8~_9lZ(k=msZ7o zQfaGtfX>?fF~-Gu0ON3?w&+fD3hKfnY54f#JxlO3k`Ic)t06eT(TkFAhK zhL}2mJt#7~|B-Dsu;y;oDzL}+|8LmyhANE-wV#_gHD6Vaa-OrJtle?dY7i8Dyv2cv zz(~Lm4siDN=+Aq^wE_QE^JI^xs`f6NTAqbvo*+g{@WAq@GfoOO88a3$5p(-Y?zX?b zQtQ4lZ1Yg-^K?>UL+q^I`)iRqX7d6 zAcq9xHAWj9%R7Iz(V4xP&J)x-s`}`rrVWmq8?xA~LeVWUvmY9E(mS;pjYZW)kNX@| zJ=^Qn%u6b(0TKt-@4q`VXYBbniI|I9>h~C0Z!%L{tE3I@r)}^jK9gwzC_bQTA$RVV zRIk<14-d{}PO?<*Z>@#PL_-iE0zoK|o3ebBt{B;n(SzT)AKKRmn|{myuoO02PE$gOQR{ zfslC&G`@3?{1|>Tzg>fsI|wC!H_+q%lfT)(jpPGAfVua+d9#(yc+2o*CcEz!> zk!}mcAhOm#2g6wN>;OEHu&Qh7)<(tu^F~T@4kQ|_nQ!>g`e)TgM(YCuAO)y^MTh`V zplo&^Fp%9Q;67xaQh1;+AWmB#1+YF#&;TN!-&jD)T6o{d1pdJX{tE~3c72Nk{tqAo zOD_Vu772-9vzy(A?JkmQDxE{ddRDYo_&G)A)Pw z{JK*o0M5%rGwq&=s9@=`t?A`*Fj8hoa+bs0@nNSgQ@_MoM5L(SJqI??1$jX9rN9M> zG{xDTveNB0qat^gfl&Z=>)FPlg!i^=2KMCCN@o`~eLbM|F;KDCFdA{))(lp<<_jy9 z_HDY+EXzqB+FJH<5Iy%T+kNZG7@?PivWi;IYpKtILFgiKd2w5ua`^vo8Cn*5DKqwL zVO40+O#DB(v6?TN)?3_9`ac=Q->+xL7LUL^QZi+iAf|_cf_A$%{TS!I26<8d1*{FU zJ*Cyl^2fQAYJkq(J@BRR;&eru%b@DaknPEGJdGnctZHsd#-$J1D#vrw@`izup(=&0 zy)x`t%xeDIkd%)q-@xN?E6nS3zJ!iFUY*3D%!35mWs}L);ta7yo77&Z?&o73d(DY- zmyP#Hj5O%tm}`K3e&;k7Sw}skB5{@-|9N43=3+oA*zMk!@4X zqfZ_2-)Q;Eiv_Q)jRe!R;;$~;_FEkr9>IYc%**vz%_BeCL1UJP-q{IdtQ^|byt^YK zKL(cmg0WVaCT{+SXr$3mNizrzky3CIAzo3kysWIdvEWxPxXykwrL=?H!U1iw6gy~ZuOX>eU+2s}p`S$*G5j&6;)EYgBd*n^_p%(C$N$T>+GFb^Hw zIE*9zOh4uWM}sQuLaK2UJ{fcWpyWc18S~4L{yz1-xRogD3- z+N5zNmu68;j6uXoixZwQow3SJFjOxQrU+qT@W0N+SP#9qSsWBVMuJ- zAL;G_gi_fLKUs2dT6InoY4OW)WK!%k-7{&*~4MWr|xgni=su|z5;WZ(uX0G&@1g_Ll~X6D{LnY_m$ z#N5l2fKn~tpRGZo?^Zz|-CyleiAa<%79|n?jZf;!TcJ`Q@hHky!FQXFL|7UbzmxuI z)0HVc4qh2f&V8=1SCUp=W~xU`Mo?q=R4BUQNr_BW3Z3+cpem$^N(Q!%2JWSTOlF(l z05%>OY~trBzfm>75)ff?_)s)KsYNsut4smmV~9+XbrKT6hCv*JbQTn$y(&30W@&tQ zFzwUamdU`O`1hmWwreO#kYA|kVJONp0)0qYzRF=}!qWI?(E}tH9h+upFaQO)HnP97 zgqhPkh)O60EJacjy1;}%8m-{4N%2m`kB?UE8Dn(u%~3E)d;=_T0hSsf(P>@sb@YuQ zZ<^CS|G&w-Ok#n}B`lkhokGo5yYF$B1RvA^!8DAr>cZ{H4o> zprE)F0iA}G{@yB&%E`}BS388RS?XqPB{auZ{PNP{+##tmFs?OLcidAI>94SL8C4$i zI5o+$fa{dPe7DrGY_D0fi^5+du!(UHQx?rlo3w-I`Hg7DBHtf{?NzjNokDEdBl=StDEzZ7*GnG+xmugyLaE%bcJEFFXTQ5D4IV zq&_OJsd12!R*5inr>1;~<3nEN-e0x%nT@^zF|!A$PhE5!G%_F>7S8TKC`L+GE9;|a z7A?&@4qcd*_*nR0^MR+5`661PqtN+M(Ys{9sHaEo!NzNI8FznV~Wf#uTg* zO^}!n1>s1swt^x&v5e*tgob$GnBb6uBi8JM<#lWe-Cu`0G~(_pP;n+^TEz^R=&fFm z+FrnT-??#_eekr*01|s)-D~LO@6NZy86Rp@$5}_ixiShtt6!Ld@E+AOy{IABBj2|> z3C2%1JdodOhYn&3qpwDen3wn|V$ls`cqKK##32f6nMau@nK%wXm_vJ&efjP*ar|k< zOQQMD)L~3;#JU^cxkU&;>n2L35X2EkKKxKPAw}zeqs5$K1ScL4g6m~F^%;_31f!21 z7EO`J&>rgU&8H7<`}UN$ed*%#6ynM0)`zuAq{?fi4|h(Uh$hrbb*pO37!^k*YbI81 zK9-jLhdGO$Y_xq~b$iGu7RvqBeLeQNzwZb9hf^4aWuCG!Y*bivpkRE_`Bw?0e;onV2vj0t^K>F^S z$iUZ-$2+^$d7C$UTKdY|QE|P=*K;dBxmQ<2fG{Xj7!}hPgAngv=L_=h!hq}Mbl$8F zP?EZ{$%CFwoO1y@nE8kEgGpZn);?q9{^*4P%SA#}y?BbIDbakPoMR$JAP^nQSBrrI z6ENLS_BUJqgX`_$50jVthQ-(a+nI#F$-Y{NQ1 zg=F-IpEULBB#=M%L)gjC*R77aEaRXAT4JvB<8|Sv+;`&Aud=(Fe7*b;>`2%uq9Yln zcvYvJ#>jJIJ+2!*F3Rn3AJVTVs>Px6&h9a}MC>;0Z8&fFjKl!!;olSE@@ps#h6~!d z-uI?EUI)T23cMS6&I^>LM7+oF%KXu6uMC*5q_o^;E6)%*F5|)=Uch9z-r6#Mt?Skm zf4$wwL60G+2sxBu={2NDD0Z*)Kg?kxJlt=DS_fI%`RNL-tCx){-lxA7`3UzoS2bts z2=kcJKIb%u8D#pe$?Dt-X;+=h5LH54)EVZ_oM*KMI;Q$fnGc(=X10Ri|84k7;zw&Y zI=R0%+|bso6W5D2Sy8G(nr5)hus4aI$mZ9_XyxPA)T7;JNvHwAN#V)z=Y7UX;q$q9 z?AE4U6Vm1F>eHCF(%OYE02zNPXxpIWar*jG-Cag&wl*i}x7uOJEMYrfib1S`X0ekd z;fT%8+!o;DsmqD*rX-6K{N~GAq3x?fcjst{riYOrYuPikCz5IkY&edPUEMG_AQy&` zu=oL}A*sFHuVpjCtQ(*Ha66;jiCN)@JMMD`G(a!K9MNasIC95}QS*G| zCTra4Tu3#EK8Zg0FnTY%4WzM5db&|S-BI41Fuo*1zxgbi`*Q%_olxJNY@EFwUU~65 ztBMEWPX{GD_HK(V4w;!}-^QT)33MXB%3AgmKAtq1(-eM->9Owg&X1n<`Xpk1+jy=% z?g`?Iu%8x3DOtI$+%LRtc+Q{X7P0tpPi9#0Z=V0oyP-Q=*$yj&>FXvYzX;Ek#W0Mo z`!-vZ3E>;~8Z-EIzVJ)344soWCFFU47ADO1Pnx5|$d8{BU_SkJ z=E{rp(-og1>?|eVIqFHPMx3<_;5QHO4P2GDAQX6lHX^L||Fc@_tU~mJ{5~4|Io{Mp zILorl55LO+e-n)~CBl>e+3ydty8`70_B|i?UD`Q$^a0TA8C!WS>625zpa`;(1w%j; z>WCC%mUAT873D0BB>LZHN94@`v;OA)C-n&m_S~BS*W0H7{Hzh!ugit7)fnu6*gpa6 zQ^Y=E|Jbnq5BE~bd)P0wPXqRw&VL$=9-`3bLGT|x__amwBlwRF{C^+2_ncj}v42@T z4A5`*{)s8wpVp%H6On)P$k&K`MEPcG(* zyZbKBi&jaP11t`G6V4D~89c{HfRo@fCIQ7sfRo_(CIQ^Wy56z(bun+J zrhv^920q{vIE^WwEKUKO0!KFm-Y)Z<37zZ5A)Pai(>aSW!6zC)2>%m+KSTH<{ErX* z4@u}xF`++BfuoxOA2yTg&2qe%j^5?V_9VEfinbxpwGl*>q}dsD6M@-`^Wjc`N5LQD z?!fq9^YzV}QQ5icIdMaxws(xS<@f?G$R{A%D+ubX{-p4Aosz4AT++XRO~J5B zx>GO|fMCX_2_=>hh{bENy~-fE>5nHy~L))P%lQ2equRfRa+zp@K~t8JTcVe8(@(BQ$k8OA)e2h*qO?m8 z^yf}NrV^xWFF`sQ7?YT%zQ7As{ae@&Y-nPlGF!FS=i1*d*wVg&X~h7lpWvt~YzjqaMQ(;Nzt1D5`azk>$j+>ajdQ5&nZ9*RpmdS`{hs*O+8XNVY$q z!}I~Owh4{FSvjet(0y8$9BUrbuk9s<+4f7y1ZQ$ynRUVF=pK8{BeA?aMzVno-h~Zb z+ElhrooxeQ}qWadNf=$<}78%u& zl&XV?*GsC3q$bDO1Pia1)QDqw!~!y5NAh4t+J0?sGb|URXDuQyIqCN@?OAAPQf!zG zK@V}&Ayuo$239HNk)>1_C}WS*HsGD^O&EqeEa158Ay(PcE9;=+rIP!5GTn1Jm`sf8 z9`-noj8x51bX%F#rk7Z4`--jTR`Q@#IN=@Z9b!^!X2PmesH%mgLy#sZ~(U4qHTcNo%EY^Yk0FXa&V>3Jo@(wcnscJ|AvVlfVY>_8T)B>Gafkk5}ux zenVy>=-L!?ZSWoRkr~0(reJGJ*fP>fY6RM7!Kjl9GFyUJ^s6O?u)SYP(_pj7T5ZeY zw5Qf+5tx!Hs>LtqBUX^aMDYcF?buIDTW5WG9H;tN_@>47ayEpB~5 zOD*jaY$L&`X+UYDm-YyzBods08WnBDv`=m{Gg3|zU(nP{`{as9Zi1D4K~pvDlPe>+ z31$|-iFMX<;AjLj8gp}sh^T2Rt9|w8sGbz0scmSheL^ERvlN_zC#)jPePSapr_5?! z(9lnN#Igv=EY-D)wYNO>h>eiUQXJ1pjyFBUMjX#l6EAoJw~B3_+=%2;?m-dUgS6+M zMgBp-QWG!u2Wj6?izXgRO}yX_q$&0N&u&3PiL{mxK%mc-a-+RKm115+ z;{Fv~a(y%UES(jJyH|C|Rgn?MQ!WD)j6miGs|SEh)ZT=qP{H`A<#xhM#b#h?57!s8 z`g8^w%yF)D|iu7m(IIt*?f_M4GROMy!JD|`E23T%2 z<2ql!_Pp(EP+OrV_ia^J9@no86!N&YZf)wauqV8`(h?aw`2W18D^VxWx>czrk>5tO z_Z=upDQ*8vUu)^Lm7wkKcdYg+$YlM>wgHuNJm|1kuU=BIbjR*}$);a|1&_h*N?GMv zWnnn=J>PUyt+H{g@wy|Sm2_a^+JP%fJO|6Zgoyo)`dHMJiMgr6TD^X&9WL#@Z>33l zb>e-`yK6O7t*Ub>Dq}nAmr?zRS)r?i`1UPra$4N4B#t9!?+Uecj(JCXg{~Iu+eYa4 zojV%Qo*Fzk6Y16g#rJY8V^J-%Z9667l>7(3dfGCb<7fQrOV<~nG_}gtR7P)=rqX>c z)r!|(A+BO)rL6LWRB<3(YOCqQ~ zwB9m3HTJ!vkJf8VjTFmC+I~p@!j4yzrnB~FV#*ZTgdNZAD^k(_6=l?qvK?p8ibLQb zLST0zMAV4%?7!cLIP8E$jYw8n&KtvfAXvnewg)#EtLZ=JE9nNT^uD)rbrF}R)@?eh z+qUo2f!95+q-CV9czX{b86xJt*m&jL@YUX1*HQT{5Kno z@ZQY6jcAjGuXJ}EAr>P{oN5_HhJjh8PfVzeb8X<@hsUJBkz5!2!(hj>>ej zrJaoI@&%0->QEkgUx>#VEMat+%1HO`u#@rpQo0Cw%Tr~R@R9zphUFa zpcT7DLtxd;8bSmqRg8AM0^=eY<*0(xV!dQoAEU|>Bv&r=nw#MyBD5}TQF?sJXw~X0 z4ofVWO$61*&5}MX!@{f}pZ{L5~oKN%Rcvk$+{{#6x3|@*t3;;MZ@f`pF literal 86062 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 E0Jof$&;S4c diff --git a/Barotrauma/BarotraumaShared/Submarines/TutorialOutpost.sub b/Barotrauma/BarotraumaShared/Submarines/TutorialOutpost.sub index 3e5085c2eb23e0312a2c1bdb2134799bf21a22ca..79e598573f57eccb3ddbc77e2ec9943ac221024c 100644 GIT binary patch literal 24492 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 literal 24554 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 TC#%^a{U857=Iby$p6v$!*?PIm diff --git a/Barotrauma/BarotraumaShared/Submarines/Typhon.sub b/Barotrauma/BarotraumaShared/Submarines/Typhon.sub index 102edb6f8b85f4b730df5f17e0150fe86d3bb89a..b431263154a78da43c57503f2669863ecf994c5c 100644 GIT binary patch literal 44479 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%0Du~K_;E##tBB6yc!z_hF%6yeJ2&AT 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 V-L*C`ZhOA@=-_182}}@y{vYD;cl7`O literal 104386 zcmV(qK<~dFiwFP!000040BoDblC;Rurf=o5-tt=mi8h;FAQG)L?2w7p`s#;1$7VJ& zRg20*1Q8zYuRm{9*8g($v`?0LDEGrz(=;{!`XVF^y-j{Lg<5{&%onF%(PEz4MrgAy3k}tGD~_KlE__$&zVH z>fz5?jeD2>N#CK*f9LZK{oi}1@txC>Z2vj*??Q^~S2*^=M-&tK4Ae|~Qij$&E=vu@~b@^9*I_&uE0eKGud@VyF!;m`lTDDnC0U0yc! z@0q;Fv!yuK`YHPQy%GKYpGvNO{-XY$Q^hqEOI^J2`sXk9egFNx@3lJr_v(3nBa~<3 zu)PbJlB`XB#XAo_8S1V}{y=}fWA-^#C2RH1UmupjSek<{oFiG9$EXj_u`tAcI2xrm z{+-zyfuk;WyInm+pAg*ZaM%tbgCK?|1b6!7^(5O+HE8v(q4J4=5u3_21B`$oTEr zlH477410n}K)|ek*fm7_8sUnd17nH=FHF8#pybWR+FJWtfNjC;_jtw`WffrY_cPrNEP3WE?@y!jp)<4X1i;ej z^Jg|uE(JjVHD+Wk&Yds~9C`kJb6X$~>;>y=qba>m0a%yiEZ|2+uoQq8LVC^X--$m~Uy}HEjt_m1!hqnvJ(ndIX#WL4sg~8zV7D zRh8^kGsp>bD_Pdl%7Ve-J@-WNt^&pDl(jFsqJJ#`z-3U+7nq>hA^(IZcv0C?F!cz zudb~K_?|Fe@GN6BsxuR=TF}Utt53+POgT^y1djN(p#XTznweHvkgbK zm?st8(7GmVuCy?m9={@0XW zKL~oJkW*s?I(#G<*|xQq4hHQ>Ozn162DnZXm>%1z)-0xZFVrOpGOtIPMq7NxJqqG` zqL?gdk>81PWLIR^#~vu6z$q2t>p!!INvCi2LWTt=JO$9i5l> z6%3u4q|3&|ggs^bKvOS2ZtV+5#gDtdk^Z>V{?$D1*Kux5J=}NtM1=K&nXyGnM%k`v z=t#7@J70D+bgBUc&SCF99Pj((`c~K`!~33GsLN{aAKA8RY(b zGTTJH=ICrT-9oZ>HOr<=9BheGDOl_5u&8fHKfyiUtc-(#Lz=Qvy>MVL7rI%*%J#RyP%JP6S$Ac-ef`I|FI<=zKf$?=H{&}HR z)Ljf-A2hUAX+Ewl1t!-iJ?Pvwo0!)!o_ud=I0>a}sJ2PyV2Fs*9lQCiD;wb{8r2Fh zqed)^fzPceXI!kn+)s*b8P~OTh6l9!Gc`P>1&v;KZ`Hn$LR>>(IHC9S2%phC)|chQ>~g-N|s+vjX=n#f`w_%UOFwCy9UvvtWXz8!{9 zjL@A77el=6P_3Ev(+%Z(oy8O#>Bm(El_E1OEm~9B4f%vWh`*kCV0?s6$ofA`FTVtp zp=}jQxqq!_s>VN`718KB+N_{8_d3X*7RvEzG$z}XRYk;_Pp*ToOp{Hu2rVlV`LBp6 zo(#&&*`)yu!NK1?tGP50kUALC2IWS^7Kt@3LdVXeR4w3CeY4Aw6$u3?TD=inEY(3s zsMG;Ff7q7ijP8fVP9!w`gO$E0=t+>UB4 zY*|CSL6{NpgU8nQ1IS@_hcJyvSMdCXfw%R|Fhs$*cc;c&ggO+gw8D7scxO#NLT8Y@ z_r~Y|9`+jG!nQ!I^eV8KPk=f}E#@lllMxkJTd3?$LOd6#L2IdMqtXuZml(8ob|ox! z&Gp1{PF>H~1JeP**+hEY^I=@yG31X~LnWdz*&wKuk2C4NRSZEYneArF4!Kx0!)loO zx9-3*e@V??>FVP3!=J!51O*=D)OxY1=(-#x*%K{M1PT~mg`o*v=1-YCZTX0{xH(w^ zP_ZcIMqDj6HpmF#%<7ZmhC4Z0_>6VKQgJv|fBNM1GD9~bU(o40FILl%Q=>)?Tr);w zG}Aw40NsGhBes&Ze<(5!Si?{jwv#*>5USclcWQDH8M}}SOn$gm7~*+f7@IXwJ5Q@{ z!>RW5-)E3nlXCXW@2A$ZR(XdR-R1-s7QTKzI_?Q7`>9e~!ke3lz z?aKr713L1|xZn)zfpeEkP`|;=iio{ePZdBL{4F}vId>d+Q%3!MLX zwRVTqXillPW>FEbjG!!S{=SYxo}+s{1ny4_k+kZ-8^ zxys$ksXRZ=bmJdJcS$MU(}a>zZ)ZlUC0`%GZ1_mF2V0aG8+46R@UT>j)C&|#sf=zADeb^VLr3oK_>sC-Clr*2BbjoN;80PgYi`9L$|&A|rVvC0Ptz+4($aa1X><%@ zHYEN&_|=xHTj;1!)r9ul>v=S&>7eY~dIny5uxMmc_4fqJK}ykPfm|MVxcrl36gLG= z)@cGFY`}rtNGjq7yP1WCLnIV3#Xxg-`HL3;M&>RYm(91)eK@F4ZTEp{=qI=8-xYUN$4b_CeLE;u zuldN7CWCJ1`w1$^(5urZ4wKfK^)qgR=lgd#(2(W+ZoaoAcocMv5;%^Nxh#@Meh8#- zsgy71xK8vl=94z1Cnc*A#6i7a=<$ebNCm39h+XX74|V9LrdtSjPZ#J_C}_x(7T7kHS@`FQSIaS zXQ(-6>!psA_8n({{lO^f^C^j+K10`=K37ZgvfT`K1kJy#{Z37uNiVtZ%@;M2B)-gi z8AMje`(8?qwI6lxl02`DmFF8lm36A=r{Q$~K@DqPi4&#nMHMQ&R+B(`vGaoh^~tn% zuGz~F=T?3xD#3dVKe8!c(bBdp_#tciV#nvGt= z8Dq5#n_PL*vDl9H&`;oN1SYuxd_>o7jo*5~o=$Rv*^^p+c6Qe0M)DJv-Z%H7-iJ%C zO5u9zPD5kaVhUibo@m2df;=Y&oHfgL`#M9pRz1bBC3$nsl#TN}VlRJ|q6oRwDbVoI z;q_0Y9Pr4)3adb)Fm$KwFx8&6CvAX-{yD+5Fq^JS^66}bPAXm`X}A(87;TE>Px>6M7>UyFWC^g=kb`JMFqi)6?G z+mYRH2RHdcAG_KEHm4=iOZMFCzQM0@qy;OO>zp`5ZA-_T(&;PvE53NIaV+=KQb?D(?Z=FQ2I! z-*Z2F;sW-KrwgX784$GY4DzNFd`PDdnpkzUmQ%G9GZ|NipE=X*R?`_eQLCZzBQCWs0e5lr)aZ@BSM`SRRe~z*;4zDR-qYre7YH|AwUk(XQXc-*}5gL{w zM#a$3Hyt4*(uR`g<8D7LULB`d>4daGyY`gGSSUJva4;ne38WoFK`tIG_Qh*BzMZ>o8v*sfbg6nEz&-1p6+KXGIRsxK+}%LU*gRJsGo0ZXAXCkOCU@)Z zD@DNj`XOSC-Ms9NCvStB%^S*NZ~Gdi5xJkjEG|^@Q^?&($h*$($yaHdbF&`VH(|%5 zPpbdmwQWC8M^VI^bb*U0+D|cn%t^6IlksVw^EkC3#s@KPZkkdI#Ip+P>MT`7u*g_H z)twx1x^{d_`*osvOr@AbCvolN$NSU?E*kvUfi5G2T)#tga|S3yc8N*b-J~#O$Qv;MbY?pHz(rswIwHVszpgL7O+j|Fc2zVf zx+;(-;3`N+u61eBr+~;F0H?{u{d7?!@r}3<&Ml{054O1Rt6K^E{c>X$AnVfPRzYh6 zVW7+BDFE4xS*DML_VJ414BXz?&%1WKJkLpOpkY=*hM;XC8;iUD=2P)&|YY{vS}zqStj{%$G(2PJzt|h<$8n9-kH z5??quMug731d4xqV%cOPMEI!T3^CPHF1oX;4feGKW}>xvPR8AxHnaM(ayP}T(dt8y z^ds~idiQ|WPaeXDli)i$<)Nq@$*w3g(2M6K0J7jE5+JT7$uKRU@bvQjNAY4oOrKn!X5XW*Iy zO*$+rL^Aw>popYt4aZNfXK_KwnxfA-XFk|0eDiYuZT(JsrSIzIE1@YWd!%DY63Fx0 za)C*JTTxQb3BpM^(YJ3qP#GEmJ4W>h)iY$r~(c7zfn18KExddz#8aa z^mHA5&o(-J6OtB67*l^>)4~!AQiAAfQ_=F2LWV5uEJ5Apx+vO3^0H_S5n_hx=|}>j zz{*q{RZ9j8YxaPu_S-@%sAJV*{a*eU!#3NABl8Ibcg*#@@zv(o<;pPt+p{qg+&jY( zC(7`rPgMjOl~0O~Z0Fjrf#+7M;Azg+4WW;+Y%hu=b(=eu^k{^>(}Hw5QVPMdIn^K3 z_iXBc&ad_}DmBDbc-mg`Hpruz)W^+n?OM+|*)U(|el((R{jX#huW zj>FxIOL1lI30cc4!+N{|Av!7T%jlY@^EQ#_z z>1z?MgpZbm(1ZA;%yox8IO!9$9}X|K`Y?(*O98QqwpvyXl5YvL zieA`D9hat=4{&D-_Cbz}k9e#0w{ZC;z(%WBNk_0=`qJxqJa~)iQjiRzSQO7Be{!4c z<6JB}X>dsVi^NQ9Bkt|SEB^~G(8!Uz$%dD8i_f5m&qX&Qz9T|Ko;Pkh;|b|Iqm|2o zbGMnYi8{FJagy%WkjG?Re=pn{@NOko$#lw%FY>Ztj=?da!m{GAqkG8Q$tiM25UKbJ zU)V?5_Zozvonm=pB-~#9RHX6UeIEjUTCF$mNrROUbJ>rkP?zEEu6-;dU2$~7c+|q~hcY{`o&k^~p z1ykyui8}0}j39R+fjUAT!miQJ7g643WGGv%W9g3X8*j#5DO#tOpBl@%qk1FuFBdXy z#JO5ve$i=g&e!bZOe!^;o=&QOh)?lhPFtLJs?+jb?&Gs)B12R#PL*T!Ckk@I&=2~t zq7Gblv?<6>Y3q+8fD2*KG*k}>$RfHWWzNOF*V&`ni)Fto&vzTLa?#%Qy_A;BT@e8@99jfw;8*r4S-I?&eNZr}tUl$ABtQ*UDBfxj`nkt-6f)#os=w+Y;^Ld9U9HD}G3sD&ozFDsd6H$VZh z;~tl)1O~xxeq07wfEB-&I-HW4U>+_Bq}yvaKO2v%Aala3F*C?FvObwhdxoJo8dYo# z(rl928Pai`cl=}OH9e*wF}~DRNT~=9pBDISNn6mQ+06CA2<9nL>z72ql*gO&IahC~ zOU&2!9e`ozZQSCm$~N8SFm6njwUhK0fk4A=y(oCDqR4^RLZ@|aeR}|x6#*Eb-gYDu zQB3b&5Eb?hp>bUS=JomUh&2ca-mgDJjeNZ72IEZ+HU&;9-(NOZ)m|}v`~4$UBa*J6 z3k!`TWK=~xp+5#h8wgK%ocajk1mBZSvQDNcsQ&(fg8r!&1Bvo}=7K7IBXd#1q&@3v zOu^u|^4Gr-{CIgYe*CU<*=`Yf-GOPEp61(bBLet-=G>3eBGJa{<7{uCGrp!c$#YO# z39#a(xS*^)&G^E>TUu0O=*d_4eb=Ps_Nd|sIuwsz1M$zC`zmgN-MMm*Vp3MZ^&ZKq zHc-3k-+s(ZQ0GTG@=g7Jo4*-)0|^m%FEwPq!B_pFj_8Sc2YlH32w%RzpLdN^sZfBT zAqU+e$Y4D}!h9&RL{0*0yB%~$vM5yto~uuixfbm@6MG%yqNK@hSIKZm5lB6bJzoI9 zps0`B?NI=lE;EqhJ%FGVh7H?2EHoN}_yBcRM!IEJAF^HF4S3@lJMHFJONVX=IiE$^p+fbblklXXmv% zNLl*Q!2US!A+*_9&%Gxyz@$dB%W5KpL^M%)ee?%CTX31EpnOO4(a&>~O?Vuj)85XN zRi-BunII`ZHY$waQqxNftbmykhUni{-QR*dC1qK9j4>vJ1(xfG*Fn7}-WU_562}xR zRM34r=SeZyg*eA}PhqEVH2U*l#mMIA$$BfBEH|~!q4ufl<8dF~FbU!d+hE;WpoOp$ zN9v}DBKP_h1)%}C;h1UKxJ6GQNz&AE#&P(GSL*_%H*p^?*VHA|? zLI7dG3k^sE12Bz5{ly2?kOcj5oqJo1kHtJscj8~z;yVMePYV6i&o9-0Z@qU>QJ`_o z4VdE?bf@7er28VoUe@uT?Iv?lf@qRsvYHpNfgi%nt)P5*>^;MO2prnVx3lJ@eZk`? z8e$3g)0#>8WY+E_Q*qI*XHLd=@b3p|kj=g4uA3vvwi14~q$#t`%*+HLOHrPipjlaCcMJ-Z)QvEp-uT`&o01R=U zNKX-BF)2)wgoJ8aWX&lD3zF#UYJyPnfwt%~Enhf*UZ@9VH4#*bJyEn2SQkO0u|k{)KGE{d+aor z`UJ=&g(E--2R3dL|U< z93vJR&6MandqGPNM~BPI`iGm-h77GopA$D@`!39NId;+_nlmOzzw|2+*XHwgG!O*p z93}8ANkS3C*81GN(V84zwjgw_dXx02`6~)<__? zhmpV2J;sVJvAJ|w^(;Y#uo1Izh)_X09qoHibIc6k%13#Vl zSnHgexz^U5%g?fkq3 zBHJ%g4iNiLP+-iv=7j$p_)NCH%jnvlGb{aQ4V_HMs`FXLOj(b+qA}K3Oz8{F?{IUQ z-TjQOieK4pUxu88T|d4YS4JCu>xt)GFOoPP2GlX(0m=-KD5zT63|d1r7XKqR(X9jE z&QU3Q^K}}+Vb$h2wq9^unN8NG2tupjFf2>h3_FGEE{KE;Aiqt*0?GV(UcD_C5Yv$Z zT;&JQkEem6@`;THU|kA^?S?g8>Lg2y9yXxjT}Gj968=w2_<4I43>GY@VxB9VH%50VHZE)&Sk~`jTk#BZm{E6=SWlfC z>uU5F#qQGZcc(Mc96p~Hirya0LKY^qB7m0m=P9(>?io4wR8g>exqebrzL&8*4s_L9 zEk}zN&)aI4PXnkFX6shF`y42p)v7t=XJN0k!@-sXwVTp=^@f#Epow?u@cq&slOEyQ z+E;I*hR5mD0^xX~`r1M-7M3d*9_;qP3~tx0rb@drhUZr8R$`?XC<;(UxE_F|wDG<@ zkAe|~fKFGC;F7LliKy?zKk#kx;V0+yg=|*EG0NvOKtNgKh9$bZXt1Lse*}pH(LTAm;)~UU|m7x zho}u7SwUttIUtwBuLKS3lf&brz|-G4ek*A=HT~CO=&GKQ4v_a#H0)PQ*+|MIh#4Al zar64Zq+S&9NyF#HqnTRca5mr4aTOUF`t-Nl>1)MX6r%&C8ItTp60kGY#B7{(wa2sK z;)SFH#aTYysy&Q~Q&ZPrS1MZCL~Z4zViZ7jZZ`|S(nUQkICl`W!94G?=XY-9PR?F0 z_q>Y;Bal+HEIYDi0?|*cxwey+r{+>fcXfB&_oG8s79T>fNY| z*P1A<$5s8P@x(dfNbTTwM8Dfu!Qmdn9+0|oBP;PK2OO{h_-#}r!$vZqF@`~%_6W(6cCa7ia2%#yG zN_BuU8JZ;cx)XHBw`(m(cAxtlE%-`T?cGxGmEJ+LeLw;ANx;?8s$t+#PenB+H-SJ? z&zR}HSYNCL8Y%}k0JuP!A_z*&Zi5A%7CF{aa|7;mM#gu1?Xd8Of%}m2SzN`w`G7GG z2)c&PTP#%v5eh-Lo!0*bn5-#!PQVol9`90)t`8c7X^hEROxq4UL&(7lNO&4kyIkJy8x!zdL}wace(5lbd$XjEzsRTWpk* zqT5|?s^j8;wn6OM*&O@%!9ikWS8tYQmve9*Cm5#=htta1Gt8Am$Nl2kmT$=tE@*I%Sp^?8}GeEsORiSER9mqj8kgo#+o$7IU(rU)&@vtEE(yZ${a1K z4)VL;wv-_A103{}VBqKcpg@F$60zUy#HhNPY(X@14%Eqab)0YnfV@X$J6bb8msoco zo<%lmiv7dT$lEEBJZIPj?Hl4Z^2|5uHc|3T0{6}6HTH_t9u%NcCCJJEXd(wXzbzIm zg0AvVD!XjNOm+%Ti5wxTP?otE0Ib}$4Zc>1!IOXor(NuO#wn1L5D;z`jU3*ze`)44 zd%&fD&}*hIVcHEK3iRzj7lfje zC>`lB24&}`)*P;Qa44wUltE)*^iNekSIjdbH*$h_4E!i(S)@vbCZj*2CA)1jx3~Z0AFeww&A%?xMs5-KD=89=AGu(T)0Gv zQz)l(+DJm=Q?D1KVRKY2(&<^~YS%EGHSTMSAR9t&-z`sUI6TcIgqQZcT5+}>^Z19%J!i`IiuEN7{<2@wX7w|^eVQX+s z?)5aAmlE<05aumhVqTJi2ecmmXRxrt{2C}KWG{f~dUWaO++e$T2a#SYNqg{?kR96C zf*CiWg`n9R@~>W)bBx^J*^!&Zj@BgLD3ZLntg2UB`a}1nNXig8kJ4Sma3vY z7>Rv#1XVWVEeJafTEwuB`4j!L%|(2YyUA%tm~ZSL=Dp^w#csj&4TOkwzQ4f^uxLGx z!6?^Da{={T7q7W3{!5Twl2T(2F$NR~)66ynnKYmy)!;z466f)`Q)fgKc$daPa(bTb z1Yfe#Ybxq8FYtgmiX_{9<}S&z-B48)p~9J*>}!IXJ&SOl1?j&ZPWH~ZCr?|-!-{mV zK0P2VAfQ>Kp7{b-HGC9Q6cnI&&4H&EN98gUR|hJ*8@_ETl@_;16m7dvra5l3Yjr#_>m}s_6}vhA)wR0g1|aR@-gN|TNOzD>4Nz_HX@( z%bX(L#dmsP+CufKPg5liz=}5%B$?_0uF0h4erNmLhrf%;<|1o>FNQA4-M&cd8NlSs zl#JS_=;j+Ej;Ar}3oNM8AEn#K%2Z6e`_9?D)gS@FcR0JAt78VBE!}yQ_q+||BiO{- z_nz-vg;lYmKV|J*&Z9H~(S-b$H6<1Alo|?FT#c7A`MgFFA5?**d1@eH@eNa~+3Yc9 zurfIWi{N9Q^b|gRM)4)6n&g*t|Da`fl>N4gY3aKayo_3<1P24e+g*v>wkf`w!h&CW zB`I3=_r#Yj4Vwy(R_Cdybgvwk%009wrPT@<=Nc?#`#cJIRJ1s3L6>}y6;k%r2Qd5` z?{xNCQHx*CfH{v8Js9&sK9IL|PjhDpDMf?(!)oA|vrg_zu#b47x?H$Hr6USzUfv8xdte`9_PJkai4-cUBvjh92(MdsM|*@V-TP*r@%?g3{y7{%*|sJ{Ib?U%UdJIHr6{IbYM!GH)a zL@WCMOz|EL=KLLq_Of1BK;*!;B||pg3|XySTM*0OFRO*G78}3fptwpMXmoyhb7G;JMpmPtGPo_WT-8^>a);JNl0iWdi z;=&xsLl^m^BepR`A*~%zOvbl7f|&b}-ybEu(PWheE1`3#gHGr*Nq^dbmr?B+IJtX; z7?wZ&$41NYlfY%;fM7+G#^*TDxHL^mr6fqZ($??M`&*TB)=|X1d}_)-H{ZF+rdx7K zWJ!{|t2z0MlROimMv_1SuOPsLo_TB=C&V-4N7#>CG?R--D&0`BIm&Z?OAhc_G&ZI( zsFQRpHGsB(OaqY2Of?p@etz3_YRz{bfP*Ddu#vDnSGl?xraSl7>{z+9?|PlFVqy*B zi|7p|gdV7FhI}GDKWCHt18A}n8E`5Y;XUiWo}mom38zWIx$Z!InL17J1Y7k2_dGCmpS)Qf~=$Z!ShxN-^CDv;E z8OuLU`}(}@%K4tltZ`ywilEH_f})vahM{A+V2+=o&B})?K;WxfylQ3Ioxc`K0+)`&Kc44Q!8mln>!}+39{iSN z4Ubo%y*fwG5#X0+TD}3F-A8dPXkeRM&%9yHRLQqq)K0vZM}(SF|Oa~Pf|blnBJIxz){|HH#}RTKzdh)%{IG-)h}B^Z%`z> zyQ}fbQy9nf%jiVD9gZJ`9aCdgF}m2Yt$%X&;bz{>ARRZL@^`eGKI6ZsCJcR?km6ac zr74SMB%YXHcFbF{^=(S!5oR92X&mo{VZxssWMMT`5dtIf6}t!ODpM44rkL%dJoK}; ze}9+$9Tx%Q$OWLd(({D)6D6M8kwUHe0w{ht1f82Konga>UVt;}iEk7|Ll5T)8@p9< zMDjVS`dZ=A1KX55vUpY-LuKBY#_Ny1zc-l6qjvf28l+O>J_siBiQ8H$LPqWa^j}Rp z;<>G?t0Q6QcU3#yb`95gKK#XGu@15Cm)Az+gxtHX+1>A^Tsb>A4qkrj0v9dkZAHLc zR1I^;pr;}!0!GnPETfN%a$k}x&eRllz*5eBtFc)6J<`V*@z7oHSH@htqQ|@$ayhnw z!Wg8l2AeLR&*6bugZS*ivtbNkl7~r#-x znbyAR3?H^`aVZ92_?=%$dUCP=(`=(5Ff4X?jF7W#cQ)YNVA!8hkl2{SbIBq!v}|M) zz$0mr2pn#pvZ_q?G)a-b0h+)!a(ETofy_IV);l~7voNEk(uQWz(Bjg5KLS=0Z=Ghs zwXCk^w~b*FXRzqsXZe05wvt(DyWZ=MLZaS0?3Mz^P_%7G4&1@}D*?ld9Qlj0gV`4( zWF>4gDd41YMh?umR=4f<p@>o7*3h!D&FP0@L4IS4~R^n)nC zWJ+?*nGTaPCd1b+TWqo6*hqSB=FWoTM_-CMNCheSqNxMvk4>_)dVdc7*}r#0XJd5) z(D9jW&QA2v)D}fNHuUE(K9o_)P*L&$wK_-REMN3T#tra1rJH$-XSM?a&Vp~x@EnC$ zey)_}OHo_N#jxzg>;t_H>o$SNoP)gc%qCcz*{oTYjLDPZ00hMnGxZ8b^Tw0q76(zd z^J`gpfvSkQE$!ywk<+4Zm65<>_*Z4}Qg3)?Y}x{=g?uEXwvO?NiZUY75r5n~_DipH zQ%+c6os`p_&FA|i<)b|E?@x1D(IkEqpR84T< zC0K$9#0j~Eq4(Qkb2!9FO{`n|YH#$}*XU_6c%*+{V^qGdKZpHOfSGmbU%$Y2ev`&a zp$vlXxPXK~-0q+a798$Y$0yjRlP6RC@ZHM3Vozad`=*NhM73=8TPu=X!+;SU?fq}} z23b+Eh9`@fIo)luT?5fR204O)(#sB-2>aP~oSp3ahL?FcW;_g{IQRSi5KIm>cBu8R z0X((5h6|sX?(x2Sjxa&GzmyT(WR#7}-OadPm1B&{Kea)bEUU`K593DXp6UTJQT5H2!vrxT$o zqBwdqF4?-^F7-kE74 zJ{`%}u4n)*(J#NzSMwDC9om`*!hSf@gtZF^)0}47_lNGRp&*b`<2Z+!)x=0FE$VFy zHpj9SHZK85R7uWm#kH+XmM+^SoHhNN#)33!PvpL@?KJ9H^ffV^u(>2ayc4e_>p&`{#qXB;w(o|WTT%d5=Biv2R zTD#TINsTVG4yopeA~Cp$4q1-gdrTI8ZkS$c z=aypHJs*gEqXivLr~}JT><7XNE=-_A-^<7qlKV!%8~k+#j%p$8D2sST_3?t>C$1aq z7*rNbX?W35$p^iV7bm7+?}U(eA0hUTQLG;f5phMmNf7KeSmqlTkF*e(HI4g2kt z?{Cmm++=tALHAN^$FjbQlGKSEtt=V`7o$X$#I=S3?_`0Zym=S_vVHV*`3!k!y)B#p z*G}Pb`s~1MRubK!GvY0Ikf3Xnxkr2Piu#U^laOa zz>4lm(_#>|{xj`UgBT?uBlG8Z8RR*whoqJP2%@DxblZ&f`I56g@qkh}L!mfV340x^CQpX03JOyIZ0$AG- ztLr|7ex(p9W^=qwBpIFY4p~8-X>acl#kg<@QgC6y`oVpFMG~y**d6Lm$BrCOB2w)* z3Qp(Rnplxr=j{VVxwmmeP7JVaQb>}@R&R{pSK*s;_@rLmeh#>-r=gWcU`Zh6i@p@g zBqXPLO`27A`PMzBg9Cum!}GF&k9OVFn_Ewr*LHzFZGT&WBuftY{6D1IOV!PP-qj&l zzgN2KnY~l*$k2x_ZK|vCBD~ovH$AL+zk9iq2`!0j*G`T6RX4SQ74F$aXoH$>gKwQ!m=jTn< z%p&XKp1X$A;hJjtUij~OvPkMMHe|M)!lrgI9n6n+e7iDQG$iI5aFgF_JZxO(k*Kh5 z-C5R$o#}pY9j%X%tDYUU1UyI zf1T59TK_h2*+-^%d*4pv54nhx&q6r8V9|?7?H46Db}*&ItAwThF|_`)iZA)q~uOC)Jz)p@ldUa*))k zL8E(o!rf2Cu3-?{)GI`s2pGux(i86xD#~nK#nQi!i9YlOtMliz(S7>a=wRIm^EH$f z9tFx2)f7{Dtad0)F!TXPEo27?;!Q(ReP%KrHtR3-`%ea=QQI0Y*TdPa!ru(7QN}(cF4+q?W4C^PN@Z2h*r|vLB?5IOpZq_8aX|j{`l zUrd|#)4lj%8<&|aYVg6*s|*J(6qWU-=ISvgW0w5bo7@`cufE%lvkes7rDdZRNZj5JirCW?zfqbRj-={ zr3q=Pbfck3w!(d9E`9<{Qa%LHir%`sQ9M{eBrrQ1xPnN6%$Zqqhh5gxfRVZ9`SIYJagQ>A0y z8!jKeZxdC91<9DU^{KcKomGoS4UgLig zM};YRb9TvweRxy;&hUh(4$k-B3Y}J1%zNG>l>beHFu|E1+^UPbSqvdg_7x)VUpUB)LBqIE_a9I_$Be8fhU~3=w zYu&@nGX|ol=UZS20RX+Z)3TPGJLuba^2oV`DJh_f$n#u*2bfAA@F;rh|3v801FVY< z+{<+z1fA*PT+Fsg>?AkvS{1=eYDwIX97e&aU;;BzH=ZMx8l1me6>?`R>Bjy8g41y9h7xzDI_=He7p)VH#1r%Uj5x3K<8MgOCF0M( z`?qgox_RN#GetEFNHMMUq(Y;{JfXQrz8Gyk)Ks` zmzz>OS52s1G-MB~{~ zSQS*^b_Z=yjsINEXJ_gHEr7P3rL@We-_gq0Qx7rPtFI}HVMB&L=sPmLnTnsqhWD_7 zLoEGPztbR~ATOEkzUNhE4Lzird_E+8@bEy~&4mV=04O$Fuw*gK!>oNg5(mMZHf<}l zju1Hl&6tj$6z!X+*t=K_hxd4&*z`&RAK;Q7SwyGG2}DTNsi3l>z1EHQA7%N2sIqp3 ziG=Nb_aXCSb}wda`iOPYI`24HlvkQ%hfvj$F0R_WY&{h9u)ePP(O+f3UR)-?NX{~J zwJ64x&T7%~Xp3Sq>`jl)jGQ7KT2Ne{k^(4>wAv3Q{8kJJdf+f8t9nWl^va@>uj~Ma zAQrqfCDoE{A2{00LBi+!y;|IE~MmGcOJqcFdC66(56~#^X zDK%RMZDcvcJ-7>2Jo>SBDs&m5MIvev!t4hCIY7q0pQOq8X?1=;%EAGzCfKde>Y+$4 zQn32hmc?#a&#vW>IF@QW3V%W&{~j5q8=Z$8|9AO!IS}O>C9o3+ideec*F|)*`@N9C zgaLK84~fH?({1+|r_ZN=mf8wu7)8V{0H->w{O)fjYGIzM>ctyNg(|F1ZF6E^Ld^`{ z0d+B^c@uS2H@La1J+)H$%?zC8ehl0scH92UDCzNx;s(9Tla?SuDs}Xw=#1LU#F6J= zUlCE;eK2bqmWZbnV6n=06)_dmb&MJG;a4ZPp{>mAV#JM#PzfvlIjIxX`z^vOU$zsq zRb#%QhwmQ;(qD88b|87)_dR!x{TiG5a2oIMg*IuHW`tkrr%XeoMkkTO3mOWkiHM6I zWR?-Xs;iPU)0M@+MxUjdGBrFItt_?*E=y~|BE8X}S~9ZJr7vWB`u@$Etp7AX9QJd= z=0pNkJz0p2)srPDs~5nKN>Ztc_)}2{o)-tBzF#bVlr^o2sxmkax$pcQj{D!LJLQ z<3cJCmWPuWvy?)eRzFqNn@QL`<|G&Rc*8Zye0 zjW!j*#hC%eh8%!Vb4lks@%JrFkwJUAFspt-iE&1ORGg;?H1t&LN=4?+x)VKnT4jsP5+0YaJ(WzrC4;yMC%1;NG7W2j<~TG#Q?Rv07J4Gfiet!f_mQbco=Z+Fz9DgAw`s3AGR2rgmw8|GVy6 zcu&g{?RM}ifUm`2cy9N4YcciFUZccX|)z z6R+o`%OfDkPg(ANpcF$SSQ{ijF?2Zad#iuCCa>cI1*vi*`KKL$jRXeIHiaguwB+p1 z&){)W@n~FNl3N&!j# ztQ-SmX=|azoUC(aAFWM4a@%~`6f(HH{i<{n1?8>(D`pzPoY866#jjgufgQsGX%qd5 z+M6V&79Fwr`GeuD(X&*i7nPhKQ-^eaob94ahGA%1xD_Np)*CG3Z#8xSp<6e^`dOGU z6aa7nKpmz;nzE+dJZ|gh!)Tc({c*l+_m8ET~aYt_@ltfq&hUOV?YE`#q z+_AuTfJj`(kCl~ZBWoJ$7F+cRPR$&Yy72P(G3OOP?80D4%?3#k^`;|;rp>A`+W(-z z;s|9W&nmP$T&irY-nQA*J3PDi4an7ecNro}U2RB~llzHcA zYj$o^20{-ngN-__Wmm8nGN`?!Le$^-L(TP@a>DGgBMQySHSDV_Mq&)j*qQ*CwMtr0 zEYE`+J6dvGiBst@6XEZix8vxd5rDM=S)hA+8vzX5A1m(~d9dIE=GAHVhT%FLH77pW zE45q_7`z>m62kz7SsO{i`pHrNST%r*7%+i~t*J4HbY_QUq3Yg(o_$EckJKQuR^>=3 zZQFbJMGxeA3xqn}`=_)M6S|1b3FlfLO|IbU({=rRXP*ru#T`XqkWUhj%nr^QP<#y)x_1*n9i@7%@n{&I+zD-cQ@CqB(RsXJ> z$wXuWQW>LpZ8y|O@|M=m6Sf2CeBT})J(XXB8G&}bmK1dm_p|wm$$!5el3Rl484SbX zAh}MKHF8S5^^!_XMN2l6%njXkcJx;GmT)+*5A4@Eg4XY#AZ|H~OEM`jDTKaNgqdgL zR9jfJfo2l4RUypZh(BIPGRlrU+6DyE;BoW=cYOzqu`Pq!^H8^pJGr!Q)2*R2@5~Y! zYsE7YeMOBZ8RVgC>jwg#l zL}X_)XCN9FKZ{C@5`c9~>q?h6M3v`=8(^C#IJmJ5S*MB3N_fkiX?NExIoWXC@~Jx2 zlWg%eDmUNC_Kp4GUS=&pNQRU5e+Jt*ZPk>+h5D7nk(#@)4$q8rn?=*z>|1*Ik~~I~ zbldj13NKQDb~W$rDN-4madB1RV6@urc13jw&Q5MKgVG^%1%!-Fqtdtj8vxH7Why(ySL+w75&HMFVyDI;*K&@8!bx zgYPo7+U7-{?!E&*Cw4MA?4#^FzBY?pzSHu{2!eYTp37Fhqi-zctc>L=K&i)iB3{lX zR?@P0bt3eNQ!4I=w2z&(Mv~`+t}B66%~6M*g9fyDK>l-D%p`vCOvy5MQg4_q8YF_vzz z^73b%ZDbGi^mef$uF#e?sIGe0XjF4&D$~9rbhnx$`JzOcwKy=4XAJtCuXxeAV$k=k ze6zg-BCr0S=}(VMIAf%X+6MYZlh<$4FrHVK1!IO(-^C}`Ed+V5QS;;!ZByE&~&xn|2> zepVBtg55sR68OB}P>AY*QftIudbA?-L82eS+(>mYl?ztTJ7SFwd3dXXzP!7>L{phx zx&kdvqd-o5orV4d`gkQ{WM^k4GKz|IE0v9M$lFlQ^Cm7w7E_8Bh+Us-|HQ%)PBIla z)CXlc+y1tR1>#IOG(uwC$#V;4HO zmzJ!b`In|^uX_qag{W;!gv~KvSv##vk;hvsh}Aq`Tgkt)v`YT_QPK!)el^r5te)H* z#!xg#T&`k4lIdz}6x}E^3QgQSYk2|<;TB~<+hqxMXg@xFJ!iQG)jz-jYMC#`sh zNYINNmzMt&JpasZl#=-X+EmSXHSrT*K+5vpANYe%>jhK9;~nI59kM=~J$LwDtT=rF z=M3s}$q-l78`$6wBs)W?$I!_d(;y~{Bg7k-n4H@*u)tCb2HhG&3tj zqH13cU*#gStHs*#lN%B$unpR^RBi|mLYwqaf-6z#dYhRTYprt%KRjwn?6g)+ekHl> zN4!FZ_P7tTEV5Oe*w^pvZtCD|zBty_Y|rcrU5>%Ds;R11WzkqpyoyK`;ijY*Y3$VU zVu+Iqi-43HVXp)itdY7b@|jp~y<%q#g?JCotKU8Sx?5&@wgX0!;KuUm$`!$p*d)|) zd=D$@bF?~bUa`KsY4QI)p~x>b!~{NDk?wbo-X!&!VeQE5>1mg-q`{CVy2{s;tu(Fr z(#IS7)+!ySv3B-jbky{9?p0=@2FDRjt4^{W{F{4oHu7wr63v3>we*yr?Mq0f{g`m~ zSMwwQ+|RB!2%iv4l~uzNA#Ix+CphFKnhR1neGP^I5JWpo34tH+1dH6=;qNx+4*|wi z?4hAq>3&?*3dhj&EYul%#UkDQTpFT-%QYdP!iJ4=AeUe}$XH9)$=>oB>uvd90nXQP zsM4=Bt6>a%)@plPSZ?H&K5dI2Gmhc_E)z+hc?n7Ov<9X|4B{Y4)({eQC`(Qj3ME>F zJ#4MQO}YEAd@a9K{-rFSv{-zGJameYH~f-++=M zyB_R>oJ~TwCTyIc)r|@)3L`Xl=7}jz{W|-R%9lGX-%)Sax>^Wks)+}(MLbR2faAJL zd&F5Ht2(Wg5=h~zF>IVgq0PSGB`n&;?-Sqi-dRKeQqbU7US?2z8`MNb*%J=c_AwR9 z6gXuxSE*pa*Mi;(N&_hbC21yegio8ozW471qtlh%1);A?9Y2h^o;~bqlDPhKOYmn6 zaFwO_B$e8zv>eKBsf16VM$+!8`a|bObb(3KEj7+o=i5g&C;I*Wo_N>tnjZo(%@!@U zibbgFF*8Vn-snX^s(wtG`gm#3(NM_-zAxLj9?a9Gxl9s2CFhNebA2UMt(Adnte&b! z*?t++j6l+M^sMJg+f-yZcDmp*yO;hGNSWFRLKKHA2mKais}1Z}(q zfK7jwrY`;zH zvYIQ*vsN2#=Te37wJIN=GeN%PA8kV)A$V)9(Oth)ZJX9^N*P+H-|gw4*Nav;x~nP* zHqexJA^FlR`*WCMSQ=@4LR~p_PS%XkrVb`?5SjMyHLDo1Fli6TagW1~50KUyo>>%( z6t-z>r!2jB&p7g{_~E}rNJwVMON0?4K%eMDPC*TEr@)P+TnN9S-eROOKlh_USS`)j z6i9}*@pjcc{BXzb)C7kpu2MGR}O6g=r`MV>>a#~pm=p2(68^UQzVAj4=J(>aa_3YoJ~RQ zW#XN`j9-eHRaq6|jL{O}C z*=ewBJ)K&+BSCX`jtw5$s%PYXi-Yzvs&3ZZL2m6qh$srZMzlD(N@d=vk?SrOz*rOo`MR@1i(kiXLbH52IFrAP#Ad<(DH#m%gqMmBvfhnQw2FRv6M(;NE zy!sa95eTx!00qBC+HAZrmo_D?p*d%TJqs_IQd<_JXgAH~?{hSxX9hW~EWnmC#|N^; zI8%ip>URqav8Wy2w9gU>Rv>FFkLahg4($8p(ZV5JR6M{J%W%jDk~->tq@gh=rAboa zBLJ`zAX=_mjd0K#$kw}Cgr<%(GGnoG45o9C)A zG{bxj@k)4HP0_dNZab>-J?X~J^*K|HqoX)VjdkCT{s@!8lHo}8h2V7SJ4C`ybER7d zWy;y#vG36KMhPvm=B>nYCuu36w8&uDRnV?#9~iIM|7U=bp#;J}d3b;kZ-9zWMFo|Q zNJr;xKS@!%lJT0t#M3;ur`ulE-2+KkQ5fnA)$E8fcKQ*>xoSah2TIcFkouzYpDc-n zT>(Ucp#%mUDF0@CTncL~MCOzQ-Zq|NsWq=G61wS~1>;;Pf}H}}ClLX05JTzj+^U2f z?i>lGD7Bf>EA%Z6#kF~epP!pC)5A>-jnV#X^Qy!Zkuh|kterL9EJ+h{Tw~j;){5hX zd=*gq5UG4-H!n-O&~-5V=2!4l56k9rI;1PHAXa5-Mkjq7MZKGsA9s1>03w!G=H`eh$j&Nk{Tu z|1-0MAB-Mtd9A-ru)pP|`Fs3tmr6zJn0&Sphr{t}K_Zt8hw>xallK#rPpbA#sLwBq zv`!WXxVh}Yt}bfxUu>2%%bM}{u-43zXmBw!eRsrrQh1jhOkdH`M7JS6tz^82cnjAE z9`b++gjuMpcI#IgDa_ zXm1_nBVK|1?VSZ>i@`zA?3x|Dc?Gi{H`sVM=-?o*!+;m$WdR|=cTDFwDHUt9AVd>8 zTC8ncQ$|OFG5Qe(utK}-i80%8i$>}YEWW{)>FsgEQe5irmHAe2j{F}$6e2k;Vuvv9 zrFnx`7b#Vo^=-m?x&}zIfS% zcf;^@IO7>Ts>(4@{nl{#H%_*SDG}X@0?f6dZy?Nu8X^fZKRkr$j_Sz=#d96@<_VbZ z=AO>j!4`qTckbm;Z<4D{@w&71r*PWrjoYBDxoZbQ>6%-B?*8=vfK^)rccJau81hxD z@Kktrk*x5AUN&%^ysk#W4B_aj&!+QXZ3)vneUnoE9RUb7{1UFSWnVi*o^z)f95f<9 z7t#cFW%u3kp2pnG=?&gDMcdauR2rfz&(AowV1S{kxvy)amKL01YjBpw>Q}RkdhP{P z%^at^S39XWTn2AoQauW0%0FJHtXgNjPvQh0gBw~Y?P`k#s{)rJP=c&|8B3tAA^B_y zc7HbCKy3T1XcV+hr|Ro(?0I6h{ZJG)Ar&gCD!Y?<+gku{Km4fK($B`kEm&QUf0fYH9dO^vk5!uW9x%Cs{s85)21=d0N%PH)4|A{6QZ*>H znC-lDUvnBA_LXG?r4cS^)+3xl2K*kDi$h@gsrSm#^z;O43jq`3>ISUs9xb9x=9?u6 z>M;kEPa_{P>)w4*<_D)@K)ARXT*-ZZ#2PJt#WtR*Shl%yy7R~UQwaKb=d3OUgxJHc#2@>n*CwdBJb+$aWkvUXWxlN`GO7^@p!jAa1!S+SMLSV9p-)}{jfU}(=ZbePWe-h8Wu&aLQ{Y0J2_x zVL4q;U|Jjp0-OosnDC+;P-&SJT?$Pz2y&1bCOZ9X-7#Oj(eDn#h{|pG8HupXjM8xS zpNUOEtaK(u5e(RPPD>Hg^t|=;HAc6{%V$nu)VoYcl*R!47;HB9ddGYG%*O%m3;}s{ zZ#$h6`0;qDU|h-Pd6g+DO4_W@oMyrvo;Jm;Bgy{H+5wex#gh@+=}-SmEHK~6zzlI3 zUcl!#6Ts;)0aWdA=7Bv=kK;HYL!614Px^b@2NnD}tDYhPG0$V<+08gs@#6Uo#l*Ke!;51DYdkmjFHWRQ|6{Gt}k_qeHYSlOcGQ-b-iv{xzC z5D8~?*`rwvM)x(&bX&?z@V)j*FKdL^m>38vMgTU#Ty>b3oYnpxx+k_30)ziNB-|!&~Lp5KsmOL1OdiQb)`K zu(T@tARysIMjE73)(43}?S}iY6@dY#r=fOYICl5Vq&SXx$&$q|PFY^PXUusnrcbjv zNuwSu@ZX|#-)+@Vg`+pgh27apU749?1BUGB4(FyzbEYb_}y5$&p^r7!+7JWIu7lKVF=g6xnc~4-Bv#W5 zOl{xyXRGF-{R=^J8Y^>|NB(E3sE7G2(`(5F^&o?JTES=cTfhf*$4pp4vr*L(u=+#z z3J_>1OnIV%w+`F58TCTwhinkFhLkO7A&z z+-0`{*bY)SW2wVyHjCA1g*wTG%{?qRB4)5;{Gp}Kgmp!O6b(i^4pe4s&;KNB%7X?_ zfBI%3T-#QYsm(p;vE>Mjz29mm-tMyrF+LQwN*~IEaD*$%jH<-SrKdr0L-(i16}Kgt z-B;WEjt^MHFZU`&h=Og;lT?E&XXdvP*2t4Of3i+bCZwBH_fl+?wTHg^tS{~x;|vHT zh)iGV8%3-5`!E5LeC9*Kcm#?Y;bM~IZ6Z_ZiW-6R3ENgGAs_RHl2lw-?7QF=^C1gi zFkI!+zta{Zf-+6!(k}qgu_Vfu@cv13R{qZ4c8Xl2jlX<042a^o)(g7jPj}nS`Dri} zWakg-=#N{7h4eF~vit%M`4j^ngQ}ypTj(;EuSHOfy8Z5e88v+BYDaLU+dZG6=TPS< z#(4SEv^&PE*#pbJlAN*)P;B0U5owyxGMbXm$z%c~$A&_%qHU9rup(F7V{-rL%*5v# z-5AKWAY5Ix(WA9%bsOL--w66N8FM9IcoIy6=bTBrzbFE|Znlpd1<$`!anoXSR7LlU zyaFNlX&kzFq2t@mevo)f3Rn7am|>+G#*xFhDV2bvX~UBS#Ex-1;pmpx6eY*Zujh7% zOXUgQ(xW$D?4)KEyB{j*qxKLFb_b~_XM8IRU9bIzGg6gkL56t)Q+CR)5%defYPR2~ z@Ewb4`)RtL1&@B=_E2U{)H3vk%%$e1g}7pko%gxJnnpD%f!kpgvZRJ{5M^C}G;J-C z%6PjeYd3&T#Cl2a|3M-T06A`E89Tdy89q(FD&uEW?f>spas&+#=vUiQhSvi)%TiNY zuyY{(Kf+^d-6UNw_Ed$J9UKdy{MV>2*pFJ_oHwu!oG*K3UBah*r_Mp)xYZR3h9MR4 zn(3ZnWsuxJyZ!hoI&duj$+R|~Mwk2n2L1`c|dNC5+$WW^)GLjv#Z`$q;nQygtm z93pBMj>Tnn+-0-wd#oROst>Cgrf;L{)bM;oaR#vd&P?f}f-BUYk#wzY^;2g7XHL8= z^0)ry9r+QZg;sUT<=L6#z?05K|-X-n*nwEhn0#~X>^M+71Eo94#jr#bUa zusuzF`u*;pZp^{0ZKsrP=p#f!q)h`BoBLb>d7k1S^H@ag00UsI2aNsfIS*#->#yH5 zGR^ep(bv%1AC%eJVMv_@ylb0v#+4b|Ob<)$LtK;Eo9XZY!!@zfTB_WR5Gl3E<4wOt ze0;Pwhu=|nZ{2V2Tsc=8Ho!Z$r<%T5Wqf}azk>?(tS7bTRAtUKxQ@n$SZm!XRf>mUqZpMW~;PnIrniBUIia{`j#5A8^#=c1M2hw00si5yV~$6RJTh^_}0-(U{+m)8Pc(QJk^PO|{}L?B)m2WjTkv3|>ZytM^w;Hi&&%#w= z$Z?`mUZP59<-7Lr2v8ir|BnYy`ji_HAv$XE-0&{1QUY>)>h$VNJrw%A$d5BtX%5fUxQO^N@8k4Nw%-mOoabNq`RUP^iQ8nf zUQ1)z6EnnAe>bxNXZO|ik5-CtC3pOq0HgT%--%VMt^o3!*b6>kRf&mMC>$Bc#<>hl zl{wVmP}?WPkzSk!!PcNTHjSIX3*(*`Q~FOJc+0qVFs}JSW#|&`@Y|mmmz2nG6X*UvpT2u| zbkLHWb%n+9MNMY>P8k$3<4`!Ko3TE#s;MHcg;xI_A0HaA_v`dKiPI+QeYq8G^*hq6 z+})W{)0yW)p!0mvy}MeLdfLU;={`|2R5}?O358ihd9S+=jR`E{)7^ zm&W1iA9=&r3W2IRdlR^Kl-W6SJNpEg8eX!)y!4OnFfNuPLjQR0;N8n^Qh4^MXLgcG zFW;e$$a{g}s2nN05+r-f=baH$Ku{OCs6X$OPeoytsRTpWSkV{vzy099Q?^YkaCV?F z7UEjnmr8bo_X`xs6^;U6Z*)t>EELrnc!}j|QId;z$_Yv6_oxBGPOW}dtc^Y|r%C10 zbcfQK#G?E@&zJ66y%7zJA;%l1$l}Ce_A|tj*d`hDv87AKKT_9#(;2&tioY-@h54~N zY(Jk{y30RLhjFTq4H;{B;So@Kxc=BBf23cJ!^*zJ$5r& zGyXbfNaQvp#R)qJlbQaT&PIDvK1PdIlJATCLc@)lZl)RnZE2VsrtI<1!Si6UsDA77 z66DOmTKNu)ioGb{yHMeX$Tnk8!1VhxHpoQ#V#;R-`T68R@!5(G#vQWL#qD>xH?WzM+_r^l=Q-?*>M0S8#xBw{?ak;`;2{;_ z$b?sB2Gq`)3y-aLFG6KpK3DR~J#^#@dBGyY|A*w-vBW?4@U36WOecxHgiMBgbxzgv zRwtLptf$BkB>+^?%F{S-Akyv@_KRrdwPK{m(s6I3K|Vm1NX;ve?{mJ;j0W{MHW)o0J+z;Z2uG`WfYGju!{=g{9VDNjtAc!H&Qf!~--C?w zM8_|XzCeu?C7wmSTDh!zP@W@pp^L~}jYIbQXr=`Do$K%WLHzW?V;KK~p2T34OCsN^ z^3e>wA{Z|i5pfv}PQAWv*!cCQQoj2>r&0V3zP+&Ng)+pDqSikH>KOl|t5|k8s@^eo zf{ys7Ej$1BWa`>O!kNj;FI_n-g;4SQst<+Wu+F;a>rz;o_zOHseD6Cy+38tUo%r`y z0l3DDw={66TE6>dD%G0CXkBphU#yaCgj*gLPt?-3Zni^k?zb8rC5sop`d-z=SwIGz zG$>>b+)Jkfa?jaCooy`j^W?U0ul5(!H0frMkW8P`!!!x?W7{rD;Hx#@kht;XDGg>0 zrHR`1>{`PdSV^sSFGGvt*tT|$Q{>do#37VYmlFi1%hl}5$@Mh4Xa4q+Aup&HEkpO{ zSkZ-XD{7SSw<9efs1>@G(r;uo4M{%~p&b2gAGW9RiSbbx!5&?MSL;EHiRRTO`J?n{ zKFR^UJ3%pvXG1Tp{WD1q=J8E{iM!P|Bl2P)Piszi7SAKUbJOGB8%+GCp{#2y3J8br zpf+QA{9Cg}>e&Q`oWvD08qyrrqg}GRYI`5o*RtjtMJKV;WK=bUE48;v(A`WO0`UEP#1?N|KS;rX(z%`A zBy;ACIL2+aggEZSLYaL##M|HTr9@>MmOw0C)lEa__vr&(%AF!gS9lEOt|M6RVl~}dMah(J zJFuuzQwzs*#v;>^_?+3oVZdXOt|+zBDwk%V_N=?iJD&n-xRE6!3jn3_J%6!Kvn0t# ziSyl)q%>q8*I0SXcN0k>*QuI$-`*rF+JnGQsUBhtX?{kH?P*f~UI9livXcl#9K>lV zNO?fF@T-cyZ$fgj`m&}}-eZVi%%?~MrPL%A0AUDU>uc%a%5OG^d@nW@>?oHYpX3qP zS9t|b@z+8U3awQP9_j$*J;r{2blxm!V9Y0- zJAcI|QJ{&3QAIpay;h`0a}>~_^sey+OnfXgjd1veHW-MYn3M--scaTcwu{dk_<~Yppl*s#)QG7e{h{;yk zNJRG&>he>NfivKeQ{9OQ0c`J6R_LGWVMsaFt=^?X=nvat9?1k5yO^3gDbpTj!Xz1A zbL7Lg=o06`sO#0*Z>$} z;FuZ!hmgjIp#_vu=}H=a)Yl04PAJV?z^D5j7ePI5z=fSC|BMAR)8QMo^)hcKNNf1c zcNg2r?|3WbN-v154#GnpmIFIGzCnQnI!!d-fIdRBrUJh1jDgC=ZPJxDcY z$3w&mL&!~jx8RJB(PME3YsYt;Wj0{rKqT>C+?<230qAdcHX%9z;Tt!*S#VXJmugCf z5J1z30YfU&W?QkSMv)$yQEd7b)EXSSLTm$10Knr(I}&G=TUeA2c#Y%;>%QpT#kbuc zB4ABWY2A6cOvRhnlV-hNU&omAr`f?n3Q5WFQK znf3LQVJ=iASCdi#&E>}CloMx5(b|`-Jy!louUR``iqZrpap)NKpJqx2m<>>yJ65)a zcChC?GWnee7b5%|vdfh6FEtY*4?I%u(~jJcT;g54E~pcQA)jDV2DxWa0~FSX#~WkE z9z+S#HU8}_Zi;E}CMIAiQI6k>qbH8w(iFDI(@_Y1KViCGitNgcUNMD?;_2^DI%zg~ zXdMtdHwU9B1#UK_lr>}G(mz)MMH5O2}1w+GqSfeaIjda zZZNh*rZyIOQrGztn)X7+Y*BNQJ*%~_31*kBvdMRL@fP>wSg%j4pb;Ke{JEw1YlNX! zX5r76#@ufT{BrIlH@~eGYkjA(<%pj&Ob0&hz+Hf3`vAb#MM}Z^uvZ*7g zUe+(a_`LE|rL_wdLx*1sf)Y%E4dHyE0YgUR>7v4m~R;-B#U3gfu$oz>YoEW zPGvzaSQ2P}V$s496LqG^wDC&-aC(3)3yWfF7BN7Icr2=0ah#40y0B8-3S0WV4J-y} z95nNW0VChowe)V%bwRqmN*+$TKmbp?%FkvbX7C0+*z#F3tOTMcJ;*kG+LW|i(W)Ba z`}(QqFe6w_*^y~=_p&>v#`_5x07bFa^hhc|5CCLk8>B{qEUU*yQU6n-Hi}j( z3-Qy##=x*`dUSE(HHU!?-q%E4pNpZ4iPVe393fTA`J&5&=osu09uu3glO%JeRqY-8 z^F8%Xfu$FocTK2IOD%85cs4+zveie=q%1)wxBIN2NbG7CGLT&dZ=8(o6?9`>7e?1_ zMt^v918==~ViyS<9=K?0f+|D|AR?TDKM$rLLyTA`C%YwW<*Zd3-;hhE4>Z3Q7L8iO z_12VT99p>qY4>ib=RV`UYvA9VwGqRJakMpp7;p`Qo&KTaym2b(_PhiB1ZfajQZzg@7b&5m2sXqYo_8~foz28cZDm#fjf zA~i(eI6y2K;n)sJfMlDt)={Oof|I3AmDzTyd)Tm3xbS*;GZ9_xW$>1K5UkbH+aEn7 zUnNsfce%X&7WJB;jHzz3UWzJ`x~Ix(;~_pft#NBm2PV@&0v2me*XNhz@QDZZgyule zqIOLwAjpXkIq1Rp%y)G4@?WC!5zYjHEp8Cvcir)Y!JmQZVoVC|sAgH6_sZ+uj-YT} zRO#!XB3$UN~b&{Xq0OZ?JCskdHE4V7no=}%s=G&8$e?q$Osz&8O_oc`yAOt3A zaey>^u6U5+mCRJknv4wS;B)kXE_Jd&Y-<#i1zA~O%s@Wg#*;1eGCz1k(l{=ic0BMN zgVi0ChYb*}lQ&T2K}eea1nEiEla4k6kR|DfD?0l14O3~|NbsqUhy_x0Rt;bYZ{9eP z$HRo1zpJb&cvlxhFa`f$flHbC6$O;EwGA zu*Z7hEJuj%E!1@Dp8fSKX)KGSZ{MYz;6a8+E6SH$g9S8qE5MtP8O+5XXKQC8OodHtzv@-g!+~!Z_#W@uu`|iMEyg zsJHJA1^?02B1j<)t>Rv(OxV={s5W+0|KjMg8ZLw&Tn5>x`!zmF9Rrz6pVj%oaY!(s9y8>ao3Fao zts_CzfT{u`UR|NE%1nE{DQ)rmv7ptYV%gD+36HkkKPRmjoGb8!Q-PMiW|i|&_o5pG z99YZNY9o_Z`$RuG)y<{*i#7OYoY2hDKgh8?_H-5eQ^Uz%8_jCaAoxr22cKSj~*07sR9K+(m>O#tV*yvju5aau)H`ay0*ZJ`SAG+9qOT{sx?SS zQ*5rv^9l3OSeu?&U!w3xo-PV^lvmL73$gQ5!yocHni8HV>njFbR-`@PalgPaL8mC! zCOcwAn0eT@Cc%xON@;Lsn}2F^ZoCT%eVYm_9VR)3_NW?azqh#rW4Q05^@>%L=r>nR zXxApklZ*Idn+@2N^wl3Ji&E~kG0!Wv^Y=AnS*P68q5+E%W4(d13YF2t%iEKRzBS8I zQR2XSDQKtGKNl>PD8_&8W{y*U#2|W%tKc0*|MxfzkAw)LIgx;{`e{Uc{ARBk9TdZQ z9LlfeR1ibP;0(`&Wrm?*vEKyIKOb6!f95rRJA{8=oM=6yTxbi@2i&L1>x@dUj`mc2 zv~d>3qUsPOYZW&n%{P^tdr5noyEAo51IQC%L1G5|m#8O(N2Fs{kGTuF&ERA`1>#)* z*gor4JEzfA&CxxPD47FRL>1OVa;M9FB6HhP)zf-sz2Rtuf4>~D=U)o7R(Bl8?MS>J zE{@QaJskzY^?_|9h&cu(hBhA*Ib6h^w^zsu$oL%&3rw6Hy-b0OR`MQ88quW#{!%m@ zXyUAsX+hn5pnU<=b5`V}#r;-#?$ckwZ_K9l9|Q%``RI)r>~(U$s0IxjmMrH zs3Hp!7ftVDy=7P`_+puTLbi%5PJ6rlvzI|bnweOu394VmIgcDMtKE3C7y=whyEr`B ziG88syn^}|QlMaEUUy1F6|0GO`uz)GR(oEl3vo8+JwIPHwMDL5#*}{iz#`Pe)+&o@ z%({Hc6WujAjZ@$p;<%hnUD=k9?#q8(wX_<4thu46N+{Tvt)9DZRfApc-?Y7H->8;M z-;LMZ+7=|Z>jD6gg#Q-gurP*E$J@f4hoNSUnT$zzRElgSuq>~gq<32OkqGz<`8qEmKL8MS@f1NyWviuh9s* zPXlL%v&;x!CB>W{kqRK1Rh#R&qqR{pktF8t?`&{dWnG_qES1pP-W zY&7!2<;L|<-IF)J!Qp583@~At!R|IBu8VhQjo1A0Z0i~%jcDkM15Hd-aht(8%~shQ zym|?Z$eDLP74FWy{=Ti|1mX8=DV2&xRL4fM$Fn6^otshzXQ$MemOv$8c{IY6*YDFy~1JX zu||)l{O>=d>Ma!3OBjJoDzyN$|I;uxQ9tjzYkXNc`kMzTD~X0+$D++);8#8 ze2)mrew}vO$hDjD>xLjW8hI!rd%W9ruc(#Q4n(K?;ewnkp$x|wpH9$@i0b#REnRAu zNCBB@5%j+ssi8nO2)}9$KBs>T0)hqc!eI;CX)8TSKNJ1* z_J;y#f-HD6QH0lEs~l{$C?K15t+%`c$qmxm6zRms^d+nOd-g0V+nCxaoWzME3VPXS z-pKi2#`?HqrGz+r1>`MffsF0_in3?O*%`u$(nmRFFxw8Q$(-Rk>#msVn}s>O9a>5X zbj^B$YIQ+xLqiY?j^1@iR}nm>JYoWemyck@Z|6pPVQ9nGsDm`@JiyZ*{L~{<7hLo# z3?>Tb^?@|ziroS^);g2$E5zQpsjX% zd5o>AF4~70B0l)+8^moM5W94Wh*G-Hd1{*j;;^Xhnlxs7V0j$&;-qh zD~bxX^7m3YXVlc%$r@lB$Vs(&gK_x=Z-~~D8kEQ^%3El1TxirMys9E(K~5Fj9gSH7 z(#OnaQy_>(SPX}t7T5z|d&0Wl@8uGMaKQP^BVdroNM%SD-e$(8Sl-Cm@n8n6!B*R% z%#Zd!yHVWmOd|Q4A`fFC`1U5L->94|$Q^TKeoyrrfQ*^)st(kLLmsff>0W_lH#^%A#R?fJL!@LV=hPPQaPA0@_?sOEp$kj9v0 z1c4Jng?)*@3@TVvLhQh(JFsjAu%?|7B>x)KH-J-3YII?Bx z86KJhgA75gjwT*a0D$G)`e?iZ=e0-$nBSqC<<7l_&f+Eg8nxZ3&Pr1Jtrj1_2K9GG z+m#t4gfk#3x!!`TPd`0c=Q-UDA2`As_T1xrZsI9?gMtmLx02AOZ5%?VVaZORE<2q{ z20G#PEPFAkrrgvFOPE}J5*fo<)*+;z^*u^b67n70mdGcfOGyxN?j?{!fus!3iXQY% zxMvRzi*b_N_4rWnQPz@-j-#schV`foGS1+OSXauMd`$?J2l~rYUm0vxFXQIoc0Eh; z-GdV`sy*G+S_nA;;~1*s$%f2aPxjJfq1ry=&YwM~b|-FcJ)Zn+hBTxlrHI|$a{tQ19O$o|6I5ypjxLchx)H@}HmE>yW-YRnD^0UhT6jL97EsHZnX|Vh zg`SwBt!n78V|n!(d=XOcl<9q|@mxdFPBs^YZ=uN=x&**Rqbf?B594o_l2&rTd_4{8 zC~s8#W;b{oW`GUUaVYn~VpMH#x^Xpv2aFA>cAsU-^UoADsT^#(62(_e=O4CV!}n-? zx$(#sYf=-}&p;kM=B!K(r)tK)0pf2pQs}O>v?ymyDJ&QQS*Tpto;4it3gC&CQ#$7vF+H1KZMb46o6_)}fk1Oe(%9mv?*KhO!oRG6Ff4Lt z4o`7hWKQz8aNn!}Yu>A+J8Tkh>Ny){Ht`Pz*YJriksms#&sJesNJ8IzXCk#1oeM`M z^~C9L$rSBxD3lMeku5q!;e_E6uk<$0MG_@Y*{OTeI>5#dyEJ1w@C)gpE9~Yu$EQ6i z7hB)b8pN^5nuHGKRDPu@Y?jOg{JjrFW3_WxU+zTc^P6hHJ@vuVq{`O8<+d&8E#ME4oX9iB?Rgvgx%m(FiUgYS&GSRh$ zICgP!7;r|xiOW3SpUCRn&f81bnjk^MlB}g9@v9L^PRe3xZ+1E5_;v&nFb!M<8C&Z8 zuHpOm(d7CT_j)--Y9dDVrvRulKk33dh^cE*1N$NK1FU*Y9&1HXPp2b}M05wI%G)=d z%BBG1@$~UbT$A;0he=2_-V+#ns%8)Ia(l00?C9}b`jLdk+H^4sZ-o=-@Ew4`1=TRl z%`i~5Az^QUmSZY|O&-<(NQiRB79(i`ncSY54%-2>$aJRlf}qUffP$4=>YgwN=+ zu{S>vz)l|;HLjb~)=DE_(ol435hSHSMgd2`ve(saV{L3viaLjYqKx+{&IR4nO7svB zGp=V#l#6>7V!*S3eHwAehkmH@5Z$PKq|rm^#N773#irEO#44uP0Y9-U59RSUO*|L9 z*&xKQumo%33!qVJ4ZwTJjdM#P<&iMM3ZfV&zrm&|Te&lgemKGWBBr;hnSOvZw>L8}tm6 ztgq>=k$BvswK)!YM&!R8L0v#I{PXYDR1q#p!2ei9{zSf8)#N&MF^?hr+u&bys(f=E zI=b|y34A^C#)gN>bPz?Ux3Q1%y)Y1GJw;J1a#cswUgFyLL6=kg!96rLonXp5VA)fl zEA4cJxF8<0%jp%pEOLj5!hoD@{YZ$;RArxEq5_0k9p}c#dhPWS ztp((*Q9p_t&bTsH2|KaeTmBimH*HQ!d&slY1bU1=j{0lOEnzya03Jnf?C(x}SP;}G z9dv2oTmua+%cLP4nR^6{@1Gid4*JvGnYVl%=oPnO8Z_=Pt|Q7>_-*}&zw7t=v)l`e zh9Uo6FA{;DGt9Sgt_pWpX_Am^q^0fe{;j)xXuF8y8dj^-VNwR4p~{oN>^JxES|}4v zV_uKHtZFV<7AehMGK!!j3Fl0!1k_~f!2y97W8|v^ezRRDt@&I{5h;uazWnEOUyM>i zR5WSUY+L6?fD%W7g!YbDWWu3fJsiq=OJSJTv}2bi98LD(yH-mC!SLHw_(V%wb|FtU z3h~VhS>Ttq3BVsj3alL{p~8Ov8{>**)E>h8_*9F%Jc1SI*nY!@qM2Kt(BBFN0-GM^ z;`!QI<~j?Z5(jsI0ug~hv9sQ2nTS>0w(Ku@agD>%P!1955AhKtW-JTv1%cKT+S6+* zmp-R;-MDzow0K?Jli5f=&63#wKluoiJeD;LId5EpRK zf8c`7e)gR?@d|m|T{bpZI|6XjOd@yt6MK>(#+SgYWdc+|qIc#EDH7#a+k$Z+2@@Bs z$vW>SaDWl>qGcL!50I;#M1_?&9&KMn@4_<^S!^(;e8y&iBXR8*uDYmOHERk7Nt#ioG0*tC+6Jw7(?96-t>0YlOy1NZ;2Hg+(d(QT5keqC*zK| z^#0b5gmfu^71!>-?6k?Xz-|VnVvz*pq^)olEhybF8rWtn3 ztij}Wej#rxRwO!LW53V=zM;ySOdMkQM(fv_7hAYKsTHd;aa;YKZj)UXF}sX(6~x?% zyl}D{85z zMyt@Jj60Nt;J6|12o1YCwRvUHuw{=R$+q5pj4rH%_h-6~nMSt3-2BrIlk;J2D(F|m z=DISfy6RQjT_wBzwUn?8yc;!SK)a;yA5oaG#b)YmFUW{HX|15HAmZ=cl6l~DKE z&K!b=Smtq>T+(^_ZjF?1`g+T3V595^e^qHtYVy+)F30d(DWr7Gaafir0$|n_kMFNn`JGhj7%NXeAt-{W zG^tvLEqhYX`NR)VK$KMtzom@P-X;~btds{p=I$OzDg0ChntYUJg}TCOBIX8Sx4EH& zPhCWEhB)h}`T32$S1^M73i=)Sqf$N}9ft%!Bj0Q>t(ws%O~uAW3B$$~{X4dw#a&b2 zZ~KO&P58Zd>vd9_24JvN+pxlKZI87DM7-@f4cf~OG@8ll)JCLaJcrJJPSVwG`(IX(@G91u)&YdzJ3gQ4gp>&`;7fpeZx%O_&r5C+eMY&PzR6Dx)Z@x5lBR{m zUMdD^dalt0ix=eWwtdO;dCg=D&xM-DuR%-C&>(c8HJpmmS0cu?&=vzES;KMqbM>Km z)KgMt`>{{=oAQpJY&Z%(C$0?juq!`c>R=PQp1kzWLA&Z`G24&+(Jw7>`p2d}!D#IPk z>v!s&W3BfkrRCg0WVzCH_sHun~oA@u%8`|(BN+-s*?kmQ&sA9sv()HnPfQ( z-{0u8KEP(=BpGc=fPGwJ2Wc_?ET2MXh!6P9qf+9>btZ~*dEjf%;@co4*O~GInA37nuFb#111+V|ZR1jAHuNnlfiw;rjPpJI zJi>(~44RtHtg;LcQjsG&1y2p3#o_g?EN?%LPm_cfq3Tg?j;s8h8bBcF2Z|uqzQyk~ zPg+pr2`?DhrNDqk7_Jcm03ehZP2-VUL;Nz%KTy^{a3pf4AR^To;!^$IMJM6%_sk3M z@9nJuDv}KJ@w(+U%r499Y3n$C@PYj z$y&Y5Jm*(|{7vALNZn80j=1R?yxE(#O*YK0JVuyIn9nL=1b39s&+8LSnB2=qpy-a* zg5p9X#XghRz2v(~Ujc(n@2yyJ;*CIETAnl%w}-s$C`{S^LSNS1!zEJ)f4Bl6v-3h$ zY|qWj=|eReytZYK3|Q<`2zj4?x( z(I_Z(q+ZemqL3+XLt#KmK;;ok;bPo(?uLRcd=bEOA9hK~{(C zfNPu3^E9k~ATmOx58g}=KfhD|twLB!b)foD9cdW%xsx9Av*c`VZ2dT*c^g2|UEC+f zvv5;wKN6%SI+6aTRZ3SNUDlL~15^>d$I6#fZU|z;I2kb?|9xwzplAT>S963_uRKkh zgNtVUFbsN-h2P)7l^U!tfN@ZeLghgp_F+Ax2tF|#>#vI81_9c19I%JO%eryJwfBV} zwc(7#L5W;kkTtA3pj?96rQYxdSXVb3$) zxjSpZb~+|Nl~hiM)u$wQjifSfbd2A-t8haMT);6b85)B!M+P63~yZyG>!RJN9Y=9+r&UQ*A;!b{Nr_7BccZ-=% zn;+n-c=q?>3dCS_&=225p$B?L<0ud<1!x7f+4+vWiMQ)*{N%75T<(r%0&Fg4&@c6) z$}TnbYbkuxfDZ^@@JnHeMsO$N0s$orB=7bmS2wiqI{^xN5bNpd=~4|8FPG$qM>ZMX zXf%E-Bd&BiN7@E;{*)h68n(&=^QBHpn(UYfkTn!t=t{OUzX(=RzRD9bXZEgr#YffCG)b=rOK3 zW_tkc+p>#0fhIXo^d{9~!uKPmvhMd}&J6?571t9)40ygCk!|e#k}$(RP^~-8enb8W zT3<+ra<;`4nawJo`0P+eWmCJX(pwLl>X`V|pxMJ3*_r$f_#6lsYO3oyy~v3Lk}@xn z43!xYZ7_alZ=XM8VZNWX(Ox%mijg~EwT(^uH;O6RT+~%L+(3rI zi5)aGZiQoN=_dv%@Wimzuzz25<$oH@sUDtxv^We zUL6pAFFba+9DBeXyfeiwNBdg6g`|$rc?)C3oK1>XdiQAx$Y|c;!XHoW2Cfb9FNL8Z z%I`pLge-HV?mUKeHTjKTX9lq_JQJ63O}kg4t3oXUM7XSUD*eJmJ4hKq*f7iUo&t404%3L1p+6~qKy*xrs;M#Ca?ajKU?i&Y7!taJ zOO3Ei;b60-`|WjthVGRWSy%7H|NXAi(!Nl?f}hBc5zYAKptGLVbvei9*vSOXFnqO< zDD>(0yN7q028LH62*`k7+ODjYrkInxuwKGzmkJg3;86r@;IhhEOlapHhh%gfgleSiO%4 zmPYJmspXnp187wiRN(iH%0<=`wY%2}EL`mYJoFz&=dt7{5JbTb;($kR#CtDVQh=UBh&@3LVI_QFv;>=iX{GK+ zr`%@SndO6QyAyLlmZqUcf?l{iBBjbM{?LHjORL7t59Pna@d`_aR;tr;0<=mz zB97*X_u}j0dp92!q^^Z4>{A@}81OFt7@Naz(PRqGDg`)Yaswh^1rdNyBP-JV{=5dZ zJ{U>y!|QmxlTGDmuw0KMZ~Znnt<0M&`r)@b9ZpE_g!h`Tk>dB00360Xv4CM|Cy}!G zDWG0kit72^$M;OXkRm~g)k&U`6a}!~?}IaBa@L2nTNxQVtpdZQu`2kvl?a#_ z1_iYk5|k)ptspu7RMbP#-YkSH<10OJu`CKQM^WT5YPs^kVn<}A_;j`5i>)Ezd_c;u zKwAWhqI3%T6Z?ns_$BWo4g$BmLpEf-EOr4t{s9pTU6u0N1QvngsPz8WV%BYrd{$~q z?J7p?pYi@U@j`*4FtO-kEx7%XfUW^Y@S$>Gmt&!PNJ)AEIP(|9#NEi2xAba;%eTXD zIlz+2_tT~Fyeq_;?z#`!U`k>m8@XUely#Y6+qRSjazX)#0b;H576z>VT+U^|V;&<` zpkWrck>6a@9j;J|Br+$~#DrumfXf5ea0Iz=R=&ZzGVL#gw+(#o5eHB5q z9?WBMzEC!g$peRF`TdY|XC_@o5Eo*Hm0=GS4tK1G(2t z?r`hnlQ~~0+PD-t0U3SCxy$qgq1-P<#!w5UTh+9`|{D<(t6hEptMAdmpJ7D(7wSlVZQG z8l}btd_g(Oul3wO11^xy>zZ|;Ak4m&k+?0b7lnzw|H{S9y(|0TYQ@mjhpP4WJ5c4% z=p4}FX3S5?W)JRbEX2qM0Ds0j`QQQod|46tq)9?S{lb+?LWO z(@~=P(Kl%3g55bZ=t)*{D?G!L7P6x4OmcnNM74ES?leU*D+B?id@79K7;|W50YNE< zyB~z{#_P-Ym!9X<>q$`deZha!e5y}YB*vm=Li?HZtxD(Lx1|L$G!IAZ7htdJc7OIj+EZc&|z4<#X~K?aoz2D5a#9-QP_OU zW%^j{bnD{OTQX)OBchbh^fFd3=Rg2Ie#TdYW%}^ zVU0L^Z`j{t`eZx&iMQ< z&7VlEMDeL{NnnS0#|0?s$gjN{V&K5kD?8g+XkCpB^+5=NIfY-0_IYvk4Wo;`@keP0jO+rbNyKo%pM7MCc1i)W3>9 z;Ob}ip|0n6sTz?)dS?9-p}`<9(IxT?Hbe%}O}2+^>?9Lq+syzz!{mMR)h}6o0g$#g zk%K(pj+vU+4nh?k6vEHrpl_SAF9(VeKzTJ~)n$A+_6`<`f|CwCH=G52t}i&~C~AQB zP#d+HQEp2atc0n*wz!8! zS^E^ia)D`97CV@AAeLZKF^kp|;}dNZ8Og!qQDn>XJJV6dB|mz*<t?UtEbC*reM*1# zMwgPC5>x_Llxk7l$Wr&yh7#vo6vS5N9$Jt)MN$Q_(Ca`bvSz>{|E^>qYbTg(#|Y%2 z!kt)2Gv=Wy7#4fTsF7IZT}C61*|7EXKF<$fPUD%qvlOD$Dq&<<9`l4$&!Hqjo3!}W z^)QG@zaF8>N|6-rT)TzD7(!!Ler>Q%P>{9BDi`o}87NK>1R?{X`R6nl{`PWbTaV*e4kC-#4Bo_Z3FbA8IszcZa&;uL^qYZu|krueAA-3W%Uy*vb&v{f? z1JzKm1ci`00|qAVMQQknce5-{jtsZfJSVIS~p*Syfstj8h+ef(blKFLo>CNugEFg zH;uduU3?rILj4@Zo|3+3i09=f0%#NJ)bLZl7B{M+L0O*R=rTdA^QnagL-et3a7g=| z+~F7eZECQDGieecKl}4du@H{d8mq8DhzEqNy#qtgsMOUBj)4;3QN9)tJt9&4f-(6U zDFJUxhlg4RIsEL^7;5=>An88nPxBPN?{>wwJG2oK&-g}9d4VS|h44|7A19`DGivi^ zZ`A^rCjsp0@3kRVE9N8K+ovzjU$?iwI@S2o{S?QuIPiD3Gcj7FMjWWN(Q17VKSi2{ zfUL-tUN>suzI;AbTVc`oC#kZVEAFpwL5vgGjHAz348As1^nME zgumd@-LXAK4BX+g*m_d09dS?|!u|!{`1t@%QMW`rz`Xrl zSCAy!-;Y+pu{gOOFes283rY9mlP4%S1xI_)hP!u}G z?jU_vG$8E@!}2$Ee)B85p|`O=X#JLb_mo}zN`E|V$@VKb65KBKI6#?Y_wZWmW*UX7(wEV!Z9>f;BjQuqIGLy(}x7v+p8~3DT@q% zWM;h`)%k(Z2l>3X8YxTuTXa#vqj-af72SrWA~>VN_e?f#d|;*G3y+`qqQ5A0xJn~b z0`0Q$PrhIh#9vG(Jg=LQ*1ae){lcF+%a61yQei#nw;5nR>K0pih&z7U`KFaGcB*SV zjsu%l^984!V)3)wD{105`A52p?IP|AWy7yz$5`hgvc{Gw2kW;03z2OjEnFn5TKZwY zE~4ZaTGD)M>J1ZUf!8K}!;_ZKW7Qo^DC+NW?;lGu%?F-H)NsT7H-aA=%y+7dcz@Sm z)30H+Yl|}h2f#nNgZoAUOp;C+wc3w=9S5~^lmn>T2eC3oL7s6I9!pwf2+QQ}kf-MQ zkhwg6Is@26tagS8GyVz@v6{^ZFj50f$WE=eKa^JCqg`1$dXl;Bx55>}jLK5^t>Lbj zR1qdtT#|*N;r$svxbU-7lF-!z!Q~7*J|5o4DnH(=LZ1n!UFIqPoi^@YNlqOODmu7e zaxES7pobd7niK}%dPW-!ji(00R>1D^|rv%cT_V&q#Br{gjN_ZO!#^5MzV6Ihmu ziq-5tUi~mVQ~05gFkQ>Bo3+;R`i?@;EvP8V&V7EmqWs7|0+5v3evLQOZF=04^h$Dk zwL9rK)|d5Gg|L=VKeZAsD)Kxd-L#=LhsPJdpc--rtHjdJY(jfGk-_+hD`qwL{W}mz z8q`zJe3mSAZit^@6PG~n4FAsa+U2cY##e}5s1TI2*2j0BUmPP_8)yRTb8i)X+!HQ?i7nwng9|VLqzi=eG{6qgiYWoB1 z1z(dXVwC8l5b4?UTe5Y}l`6;RHQf5VGlk*_ZPGBoxah)qQqaE0T=Gic`;}i=`+H=4 zaPBXe+r=<(`n8Qyn5VO`dYOqv`pvw9F}I0k{W#8aEt3Ae@PV3BH7^8~#YSfQn*4t0 z**BHn&9!T204B?EC}$X1QNlr?@jgTv#$;NNgf2**ERwv8K$NsTtUai zGUq3#t9;`?u^UMPNOzACn+nXBlo48UUrXwvNwlHsEDjftD_30k()K<1zH8{>1Cr#r zyC0kbivxv?i-o9VZNJTAo2G0>`d6;2(Fl=}3N*}1jOAXG`f2x0mOXXO)h4>zFnWsgGC|f|iZ-K*=`~L@KzUe?N3(V!xN7usr_TiSQ<4P)%R9 zubgWZ7_+JKj|%-{@d_g(4N@EBuqw4}^8|kI3}5e+8iJx|uV){GS46ITtAhw?mD~S< z3gp9if|@T14h<77&j+sdleZ6Zjy-iPkMk7?up?0?v7*%-mYVc(r&CnsH>p!LJh1Rv z5+Q_cm~K=f|jndjkoVFtm=p~&*vn=Vna{IiO&+eJWK zAkjy!TYp33S)?@w1869*aQ-InTbD71Z(i;Yk`_njX-?yYob+=$ zo!NrQ;E538gE^~QW(VpIpo92QWAlj*`Y3`#Po>WT(lPN?$1-`)Dvt*&`cyFtFkk@y2ohef{S*;9jXp-L z4JU}7l;&o3{M|%uLn8ULN}~Y5zy@;}3TaK>mV69AL(6fbm%b8_X4u8`^EAz?Tf&C% zwEzuqzv=k$VzMyLSJ)q~7C3~H(FX4xkpJ6XVjb%WN~9HhXj8i=ke_!2n9?Exs2^AZ z7p)oFi~3>)iu4hjufV$WG=@Z`y(5!jcrUgcH}Z%`fL;u-Ay`z1uyTSR8Q&HON0Vz9 zx)jFnQdvr@_sf_fnfg* zKq#_lVNuhbny8c$IbfPkUfWL!46IUA^9y&_Tq;Xw!fi@0l~&aS4|3T8UihG~jY}+_ zFMm+`!-sW<)+=vwYXLO$ZMYx*i#|1a>QbwTA9+--%u(n9ZtF+wWbLat@V0oyN!Sz5 zVL-k5C-|L^v7O8Nv*2LF$fDJk(4DX^{$H=o$-w2|-o^9l)~RHsv4aTTT!R~ZN>BUJ zX%C?q;K=)Nx65^)3Fz9BUeu5W9o6^RTUffTd17^Id)Zr@&-3}la!zqRH2x_6`Mk!m z0(=8be}gLoMOSglQk^DgJzR5nlIo+hF&}sUP&nU7%{zAuv#2)ln;zamr_66W-@s+3 z5Nxsbp$)@#Lx~~y_)3x-y(v9>-$cuUkEcB%pJ;n)u57-)-^*BSPtS=^K{I6|p1XuS zC-B7xeVyF~4E>Nl9fkMJV;D~5`a?x87ZppbU*3AtZo??tuHiwXbdQ$sEwUZ|lHVUH z6pg(wZd~a26A}P!B^#pF#F2?KZjV%BX4SH3{bYN}^7x71`t|vQ((}X?i~7w2Z3>w> z;A?ktbu`BPDSY#iedT-b7L-Lc{SXG(9_#Up{xAc1`Cg8MS43l84Ik;UEp?GYiZc3f zP;oRq;B)5HIoW-!c+ew^v^fLaw7^#dO>1X)mHMswEp!e#Zu>5;l;~uTB8YtkYZKG=C|P+@H=x`R69VjIn;)O-CGT3YEe$`0q7u)O~TG7Miw` zudT_fnk88JbOAXLW#z$rZ&d5Egx|r(EWr~qy;y9`kC8$eq#GPBXl-}zq`875Rk zcb_o?(^07>c~u)vP||WWByK+%eN1Pr76+f^A%fECaT?6> zI)5(rV1PwTTj+P={QT{6;k9!-M|;CodeA+H+whuRbB3m4s^Ykb(ZP=@YC%ZE$WYMwU)W^mEK-`R^_jL;;tePeH16fvmO;8sHH8YEBD z#%0K~#dSaiz6pgsGy{C;;o3XN+oF84y`(*(3SL=#vg z*6nl(HG@b9{gVuC_~Xb=OgpzJY#_sbr$w z4$%y_p{l*i(e|Yat84XThTi;sLc+`Zt9P;8v~3BM{2309nepOz5w6sc@2{ZcY(=t3 zset6GuzY%Ve-gUka+6qYVe7paPD|V>YCA%9WrL+GqcYE&1j%{CKCB)7V(|fx{mJgf z!ZRR&^zG%QwYiDn@N(nX$66Ut52r&EQ@3J2?K#7|acN3Gu+`&Gm~dk^2otDoOW1o6 zD5R#y-$Y}=bCVM5etPqXlQlyM?A*i7k1o6z6Rj1XjQxuFu{t)QoAOGC^KHFX_I>c@%W++j=aTmHkhDH z3bpeDQ4umUr@{TD8yQ>SR2Qq5qlp~Z6}HwClo1TdT{7?Q5S?_6ok9|#Fd+(NmyN|t z&DPgkzHz}w$uwoD&|DyMr>1~aMZK?}Xz*9-(%)#OD$9MtP4C#1bj7g_XS$45qHxr= zmV38VRz9%z*aJcYM*O$Q8GQPNK^PBNiq%OB@mv0xwUV|dt<^}1uWh63e87*VKYEzVR^E%WU}q=&UJvjnQp7YrOVkStEqs7!?x2Yo zTqGk^PvIEm^E?DHi1k;%>#zFA29}pg)-7d4Z+hTw3$e3d&qnGOxbT=`XCh@uYF7wU zDxSoybD}lKh^g4xnRQX3VtG80nlABr+r&nSBOt8e zCnXV>RvLKP<)4Bl0c7;8UwUK2;i96B+KGRhUbVl~}X%aDChgi*+jX zss~0JNP4L@ue;egN7BGm^X*a}@oaEE=UTr`D-253YC!ugoaxEO*NDI4Eg5!z-^SAP z7$6xRvcm(xOkI-pnR2_z^i;T!GF@6p-;{lG-K2kkoI(q6-!9<8x zN)&mv<7`(VDX5eiQ{nWo0t=}s7r|+(*dfZJ-q(i2riooJy^?~Iil(FO)4fCDV?H;v zc14{sGatALvee=i7y2+8d8GkOkO@7N9lg{a#xpHKJI1sg6*dAf=rZ^|PJ|ty#!zuW z@MiQc$|$<8X2VZ+NfP$5foXqi*NRTLZb!z9FLo(M?9>dS(#9kVAow|dA+qswkqbk_dd=Rm+OKV**K!CBPr`Kg0p9* zneMK-QfB_jKc;c#Lnk;}VAYHtgzu1%KxHl>o+P*n=;7FiQZ*{Ha?B!WgJ?|8 zIbIpKO2TMpIKTHZtc53z#NrH{te*9#I>0ZgIa9ZbIJGh^gs=;INNisIwm}AregvYh zq-l2MaQ0jl3Teddhb%qFaD=$AM2v^r75q}j#!nA1tM|>JUux`MT-DEGj90b~;kveI zS^4g$7!&v3&g(=ZTy`icZi0#JRF0cnnoU0OEqqm zXskq*AD|S$1=8UsOY0E$*cD?&h{fdyfX^Dfv=S?&p(zDGxvEl5NCU$bD2*sPW8x&J zU7qNog?~;$uce6qpKc(V%1d%7wOHTYqsazD0}0hok^E?73pn?vrsiChb(%1+Me$RVgjL-LNRwOUFx_eQy4;Hy3hNaEoknB#Z1W;||>#azwGglQk*DC1Oc76EO)O+d|o zL^93b3S%74uY8Yi=0r`tAjWj}Hg&$?@u4PSvwxk*g+O7|x?g2PX$h{Q4fBaNFfynE zdjr)qo85F_#wl#{X^oQ-Qi2I@S%r_4;y7|Q1Itk*_8?mQJRBCrHWT(KA87cFy%uMj z$FOoOw_bJYfYW81On_s(}X^D}SrVce|9Mb4#dMR}DC zGRW2(`_g78WqC=jML}M|DS}zWRFW-T%pwv1JHmyd?t56Rg813tdU0EsZaR7`wXCup zrj=?`1^0X$u5=GOE^+pq1|N@24O^5Bijc4~w=h+=tW^oor$Ig$pOAyY_Hw&=kq66{?WYiU{vhqsD3j<2nx>Y%q)!uy4rw6!a(Jq2oMF`<*xe}{ zt?zpVXmPECgSHS!tl;}$#bh+9`VqkGH?d*N3R2>0hM9 zOvimb43-c&1p;LAF#!N*iWDpau(m#RL7NNrP*i|RKaB9Mjlq&RJm(}?E2=osTlfN-5Ge+dpqkPVx6|tQh9!IoL-OUr?W=o%KIbR2bLa%m z->;MmI?q9=T?W|#Wgrz86G#;x=oPD((3TlxZ$>0)`&1bmmNI$2;%V|jZWUcbet(_O zF2Uh&_%C3IMeaghA-(k)niOr?+84^=>&3BmSas4+66}7tYL2Vf7MPs559^l>G`uAH z85a%|bOeLdnr44lfKDAEugy2pIRcDyoA*7(^Z&L`8eY?Ka{!I!FsV!fK>_h)_p)q; z_{Y|3^d%DqXOXXim`Bnras5egZ)NWc?3oL8xp`jQP8O;)?@8fHhRS13Uk;o79t_7V z7{3J4jCf!^P^K3fM{<&dbFs)r&hNCu{DqgtM$j;+2k|n~Vx5vXI;7;CPxe<}zWIQp z2@&_t%CCMOr_@`cE?lt#C=Ie0xM4>~Oqud8NXv2f#v$Qjc+EqZ`SaS_lE=*PZJi0( zlpWAhEQ%~&rZQ*kZuw|Nt0TtJews>bYx75`nwo{QS?WD@jJ-t9%LlJ*qRm~iMU2(3 z^rDQS-1nrv{f?*$2l!Q3x-EVo*8195~|v)c3Df0bCy1zvC&0o^aA0opLH*; zo%)kL%PzpyRfmHj{@mmQWE>|H7fk1JKgt;>hYhN30p+0AK!Lc9)FXzA4wD#M1!vI# z#YDV6QU#*`oj_v0`7TOu+*}w4!{-?TNSHEKG)sP^jbnwl+Dr>HZgbtKvUsp@uEcFc<3bj4+Dqdj?_98n#$BzN zK1}rNczG20i4*>05;*VuL}nUUNOxG5sQq>dqno0~2=RI}JfpXAi;MZP9_3g6p~(iA zABuvk@b9FVvXE-!!tZm%+bYd-Z~oHA_m&(?p{7`z#I%)#vfWAiAVpPhH-6cRV!eE( z&0}@4_bagkGG`2qQjq2S2+sqaj)j6{uwBTFp%CCs7iI9Kit7BL^~b{AfhV^6P9ksi zdVrvizc(*fbVXQHP@(OcHB|KmMXk^2^cgGUbQ2$5_!DO(C2BeQavzLzxUf1}a3T^Dc^@2M1d3qW84GzUM@JXZQEZXoSB2~DX#(bn-y_~8*kZI?2@Bs2n zv;#~gY8fBSbtAdrx@jHhRSz=wo$y2MdyO#mtR1Uf^6C_~FP1bQ#DTVEl8G1QNDX8a zx{f!!cO(s`2d~etq8bT5sj?7!s!_JF+>&p5Wt)qf_AoP9wdV!TG*O<8s_U5ctV)(L zaVlxkefAw22+@phwk$XKVT{t{$3~tQa35h)`rN!4$%#c*_wW#?*s;u;I>|4tr(;b0 zZcZ+CDL)R(mt2Y27rCq|lr0_$A9x^n?ZEuyxquFMY1r>X^GqBM&bX9#LtMM! ztiSIM^MSAAXYLFi1{kpXg2?gLGl2<*Ht-57IY=kGnpc4{wjShD0oAm$MgK(W6$iyp zUGU*R^7s*MD&7wYMTFL*Ps;kC#A|(R2#sxnk~+sza*sT&9&{(uW84LiGk2V^bT4O$ zKAymrDnP1jm&U=Omtx8zCUIBguK}Mal@(N2GwEhcCM?XBbO>{J9Ro2>kC9=W%~jW( zzx7yA!Y%mkXfZ-Sywfds*ZSP4NptjykI2;H>E*b^N(Z9djx6=Z_deLK2aey$QtHuX zC(Yoypm6XRnB(Lhaqy+Yr$s3GL>smy5a%a(1A-dF9q807fL$ENwFXa@)tNueV|`w% z0H3N&piHE%pVfgo#Hl~NujvL?RDf8eesFJcw_+ERN(yU4N205R^c(hOmmGFKUGlWm zn)EOx4P7r9AN>^RQ}xLd#!i`|J8r3&$SLb1|1xyBUY5%XQc`Tc#Vh!*yi3!MwqsPX zreJDG>%Mgt6=0=GB0GG8AvHYU>2(hMI(V6sAG2$2zLkFAK=j938A1C%rfr5x-0R`g5!$zNP7n)`YpPFBXpESih1%?)Yl&pdZ5Kjm+JJC73T6pUklSG38HPC#444@p# zBBY99^l+`6BiWp6un)UAe-SZJ!@`_Fs~*2r2Rc-RT!FTiDiKu!bEf;<=AckZ5YIq!?D;p(gr55gQPnnUYpa|VT3Wm;V zxCc?>nDiky`zT`OM|SoU_$j7-ewiiVlOTg|-=N|0A+T&WZ#Qxq^KPRje)hhF^~+>t zxoV8T&F1t{g0~2NL^GTF6q05m=QA!?M*4LTz%0ifmqKcEXyBH%JgUB9Eer&1(Aaq0 zob5u7@345>--DQ-&>MziSTV;n6ssSwTSs};ms(UM79-@EPJS}JsjQHf2*VyQL~8f0*UD-vW{`NDGZQE z{PKuKpSsgsTVJ-9{$|4MIcI<|y+T=u^onbxZtPD(<$CRY-%G%Opp`SBc7C|1?s79u zY-}4ZR99*pClHuh+wWt{fbgR>Adq{In}#!f2V3;{&dJE`q*ZWMo302$zTFF!z=!6F z^;Cl2+f2x_DeeAFBk+X3vzlq^CM-pAj1o6W*;YV{Cg65C2Cws0?}9`@Ud3zIy$Juz z!V00=%_Ej$%Ns8HMAV_v-@qZi(kNaNZ(SrYepS^CV@iy=`FrU|bQJ@zOoX2G7dM_i zt2dkSVZV#Mo6dC2aWKvHn8;7lZchx?{-JuXz~o+EyO)jZ8NeB2htJZxSU;VQLsIf4 zF5O`*FRzCcx<)t(6YzbMD@jJULV<@q5us9B#r5wCxV#y?$qz z$I;}B){3>dms@I86DxIP#$%7=wh@yXy>>NPs&x{{YMCRGi>I1?e4bWvWwVervD6!+ z6XljUoOxk0R~!}WqFZh;)(ZEAWR-C$wRNgoX;vhy$YYHBWZu}Q;jk=M!m~wnGTVki zSgyz&vw=fey`If9Wf`HCZVo1W&sTGCC)e~w?XBL-RuZx-5y_VZ^|8iwlIy6gbSgb7 z@*aIOm*#4U^%9j?sBR>))U8#f#rn9JOXnt$GAh>!v6QnOj2C|1=_E>c-KpBVU$`qO znPIZsowgSF&N`LIxLOB!wo#2n<&?jUbjzL6a+8d5?|Qt~9gR+>?Mij1RBFXsMY1F= zg=)$(+llgSuDZPamW$D0a@k_~D7#MdmA=*MNV-G1HM{1I8`W+i)37s1v)$Kt1mZVy zkz{|>9q#N^CZf#7y=J(-DWxW+8VaYw zC3zf+7tB&QlwOiV&DnOfZnnz`i%lfVzZRAsW@xc&w#SirW~n!3i7`sW`n0?$s?Bb< zHY;>hIWk+Nlj+UeveVLH+ifPsBXtv1qcd+cX^+fAC{-!$(0DVfu9`(!H7~$m8)ZsjrtqC%&o= zcXTbeif@zNi1t?vJ3K5^vr<8w)|LF&Rr{k-qGc#fx7)E|t5_tr&UPEaN*QgWm_AO2 z-F{JRx3aiAN;;cZqan?_;yUe->9nO8iLjbjRvPvCID$6IjarLr#;ptuR}!JQpNr3S z%usi1T}#RJ)wr-L$8vIp)M=?HFK8uE-$_v(>FB#iF0`ulBL%tLkZh(T)8Qg(jGL+L zc0F&jtU4}aR}Dq>CS9pxm6vX8=FdZJtk=u2S*p8;`hK(53n>|@B-VXHkrMfI)~zrl zHCy=!-Vw8A43qJ8=N8i~KR&jiyt9|glp6~(tH)N8iCY_GH%h0siDb-DZIoV=2h#*v z4WhfH+Dy4!yh(IMZlyYobkmtyy{ubE)_O`aK4q@mFXK3m(k6ytuI62%y^5EbT!bU(|oEq$`AW2 z(q}7gSuU0Ob2M;=dE3%_zbI9Gg@lZ$JMX6Ii)OsJiFw*`JdBiT_1&b?o|KhJVc1e< z?Vw{V^Tyj!w@DmB<-}+iE3Cqy4vpi~Zk$e!m5|@}qkfgRGd)u8d6rolW#R)hWEB#f zT{1*U=~5yT?s>J%IF{>9Om!U|weuuSV)bHOHxiL)$t3kh(9VUmP*`ip=8J0S+hqICA zr&Ysrl$o+YHZcvd3>KdoZ2IFy6RDF`Ng2&kOK(`pTk%r4G#R8u%UW|=o$!8=YYd}$ zezxk4bSK;C7sks{(;3xk^XfqAv>dBu>f716JhHkoC1&no3f97QW*S+f^Ep35m*Hk% zS+vJal2R$h1G9c%xXn@Qc1rn_9%h?`+sbzJaBiD%2NSiIbqacmeKT?O}$$ zt|5u`+a*Iv>szHX%;n3yvA%A1dMUr0nGKetqL=A%ob8wF-7s0JBg7w}FZDaFW|>8LOS3i^Xq9FM553aFsYPpSnBE|@k{WO0zSf(Y zN+RvHmV-q^_m>G29#)EGaRx6cU ze;6?mqn;l!xaw`Wr4oCyK#ZtpEUP)Qm5$?Ny4_!=Lao-eSluSn%%B*m)TjQig_DC` zTgtV@rQJ?OHueYB8h2Z@R&!gBSJ}-r=2sEjkj=2$?YA=NX3I1ax?D^bnkBoh_Y(!` z`6Oakyj2n%5*p@WM zlI&DSt%Y@m_i+n|<;EM{rPJc^a>wz?&d^(I^-QDPEiBi=8Y(VRp;RI{pyoC?s?6d8 zS25d!x0v;D*NkLJX4bS?k@r#sM$LMm63jnT4^Q*}>~E7Q<=w`wZW*x0lR#bmhA zGg}p_UvyEv-pl)~U5`ZuQFE&`LRy4$7xo}g>h(2snD@EuQc<&j4747Qb&2`0ReV<2 zOri@yMtU*98xSKuTKN+mDQrrb8E%YgvMbw8I1=qzc)gl*a(050>qXWIEgR)XnYBE* zQZMJqNLy5f*-5@&IO9>%?<7mLwZAIa=gx8v3L zR!yuj1J`I3q;gl1{8YY~YsCzAoSDR0?c%VcByn-Mjb%q<)Tl{2Q)_I>nXch(aAUVE zVr^w?6J_4$lU_1gowu}BDkj%*N@!W14qDyFP~Yi#)2TRiEZF5}osD*}-pRPd%&??p z{Zciphe~zban_NjQuAiXP%9MQNX>!PY4Mn4mEy=pnnSBrOZir~(YK8BDDU*T-EON= z%_@UYGpNOM5RZJTrE;qm>E|YrUjm*qw7hI#V^L761DyI!;Sex`stH0UU?Q&`0 zry4vwPmFDnoMdWdG(Kr#+sVXhNk%mmPc8$0ZJbcL=NB@jM*Y=d8SC2%#$rX3kGE-b z7It~hAjKW5rV3KaGe-GbDOm^;)QVf#R-N$R8HaYtau-^pJBvterdqj$)$22E!i^n| z)U{niYiUsr6?$dU+r>8dj8-ej7EU%BxpdjG^R`~3iMrc}w3H@_$3v=@=~cQNnGDyt z`ZmAF_vf=#J*m&6Vy!yapnMsxymVwybMnJcB9yikm30E!tS`s5%R$=;n*}}7inv8o z%q7ibQc^*Z>;YM3!ltHPI zUshQ(8;eHbm2|2zB$gK6&Gnt+qz2;winRtyq_a)7nMqX~-C+$}8^=0hm(pyo!``Ac zEL0;2)t~av-D%s+L}r^UY-Z(bY#WOuHcd22;GCWbl^r!)jh6b^QZ?o7`dVu;v|6rC za`vvCYVk|O-|8fuNoB(hHLA5#rBKE*H?Pk!NrwzF$+qstx4luKRNPf-!<^3h8r52V zlQVrT*i1Pyt(KOBQaK-d7txY4DYPB-9wp*kVykRQUw_UI2XEug08Vy#pQf=vEommI%IxTIxjq*Oa;i=Tw z#q^XKw&%HGvaqQws(xcyw(R8G%AzH;^b)wtg0!b zc%gLU(vGZ#S)k`c^n6%|6 zH&T4zE@Y#EtW+ji?XzXn@I#r1y+f5$eV&!$BoWz0tWIX@aUXYEv21CY@rPO2YTDU) zDABaTrW>iId#l(YTq>zj$KQoV-J)f7N40f$ZuPCxq;>nLd@q@=Q&s@1Joh)0~QWO?2lF05k7@GKsi8-^C{C@VWXTov`P zg1X7+Ad*Zvqj`MP%BCaH$|#)})yv7))Y&>cyZ|AW{%_0@vc{GE8W^Kk;<%$aL*xDjjXy6YGS8Q%_n!^q2F6YtytP|;>koNK8r5O zYcm|4zYN<+s@EhrkS+Z z$_>9B%l0!-R7g>SH59i!-c|>haz~%Js;Z?%Y?YpND@K1Ets-?ZSmm3Vwc9{#lqDNqdhmnLRw`JB35dwh5KF2wlyoX%q!#2XkBNNtOjEx zYlf3uv$!@Ry8-{YqGq!&^ssK3>G)38cWIq!)J*R(+f-Lk=F4VI)0>D*D?ZV}!>OWZ z1Kvy$9!->D&9S}=mCSZ!EKR$;On2VuYz=$3vdkdchYh7vdAd{Q8?Dje-`GxCt7eOe zI>AaMQD3U_3c`LeqNHn1As+9<%(2sy61p>rOld+N&gP{ds;7O|m^7@!V5&>FHErpG zrnIcJhE2_xOoo1W81;;1tE{TwvTnSj;`e%_5V2AVUshA8^2%st zBUQRtg({^%zZc_Qj8ra+%d{JE(wT97Yt&|8S}P_~q!d~iL08O*7o`5i)>lSM-^R63 z-6+lQ*5AmLs5YjRNwS`A7sAS7q#E6gRzRh7ET>dj{c*ariO<|p&DAqub&B+5Za}89 zrbVq`zdNg0^$^iDFui)CWdb2klhCFOz{HSAY&UEbYp>Zw+- zS;+R%#lXv#M0J)}Ybn z-?wdf6DyN!*ldia?n0w&oTqVrL-Xz+qer!9d^D{WLuQ`#Q_<35x<-+7Swq82rW5Vt zyPJMWR_e*z)byuKb&?;sZKb& zE9Hj8UMCuh#$r@&jM8;?SKp2!Mj_hT#*J~&>F2lkrLCYOYeke=xg2SS`gSxG%hPP0 zM<8RV*qqvNSua+k@ob<>nyGCyNBT1FXorVcJ!SD$subf-?Zy|QetMZ(k3+**tJfGu za?vXH7mg`ciaRe?Aab}mp}la~i{w+WQ99I2k#;yY zOm=y!9$FD?f^?+E3%VTB)lShKdX24D7&7KJqlqZ?V~ub?03D3a>Lx}8MIjEo{k z9n4D^ck7gjw$U^_UA2b;SJ!f}wUu7^ofs)>BsS5L*(i^D+;|4Js#?4j*)7WbOsrX5 z)mxRaR$lO+xtyJD;?=C}&C12z5LbOE;^&LAc)!9{y^iXd7XQZfR698j7bg5I4ST)m zV&|vQ@;bT;ITN`Tt|)eK=#DaeC^;+F++NAF+)i&-RklVsTv?ahddZROwOz8S{Hta8 zL*1(_M$3YhO!cS3N==qF`T3CcC-dz{u66pWXudSmbVr>Q?da0Bqpf(cGtFL(MFth6J%8RuPLHzIWlMz1vqsmoneGjK2L<*M6B zB|S@`@Gu_gT3s{S8*cruR;Sg%goL+|Fm9!6V;vpxX2Y(eN}YCgT~8Hq+fbZEw)%A8 zZ(4fYsFc&u&7?djgrx1rmlEAnzE<94V~VQRvT38#D6df^QVRF&d5{FOL~biGTa6lo zOqG1M?S#rzHx)Ns&upxQX}ODQm8g~28F_O^NBRu=)6p*7ZPdMjxr)feLBWuuiVWhsScD>++eZrLc`X7N(Y(Yw(_c4xNMI?c6vdfv}2+C|^-N>Y4Tsa13G z%-dwuo*vt}N;jIa3k}~(M$80tx+#4f^~-hJ@^_fKCyB>?F=AMwRve|=S(e4->L8WN zRt0A2+pA`!flJlq zxLu{Dv9$e0j3p}Fp&cesxt>>+rjbm?>{Om;h01E!+AdhGMx|(T6KgaZI8lvIk6*%a zl%%_EB$=qi#-5SZqr+0mZq&_Y)!TN>84vdRF{xqZnn^h-Am`qpWg6GJI&n%o!qHb6ZRk-O>cL~qh4Rg2Sgf3s`*z4Fl1 z6TENBR$ekWESAzqGwLVXW{*Tyqex>lTl&k0)QJz>SvTGsV7XMS=}huv9xc`vk!YlE zCH>8~?edVW{2duyf3Qc-M&XS^v;%BfT(*`TcvQ;}K5sy8lF8~x7MpI1jl){PQ-Eg8vb zw#(xk%PzG|tGUeeEtfRztd{CQ2#*syHRv-71mEzE-*0&?NNte~;JQj*6 zz4k6&=`4zEVjyKXNJg<1R%(;Eo>^A(ve&7sbBpYfqUNNy=-_qE9JMNod4~6F^ZYkS zsSwlsa5@%Q_tfF2yIeFEyYA8)l(TDw)W&d|2)D?1h`RkPn$vEH&Za{(p6bPYsW(LW zz)@62cdLFZVHDSybtPL_czSi6wae*lWgOO1!)V%@M>0{GEV^Ard_|j=(;YX|DY3kv zH1Y(`qP0X-W1Yw(*Yce)m5gS+k7}r#W=<@o%aa7w`-@a_Gj7iMm3X+ZX*IXQo#9oY zBR@H9@V90JY_OA(u$D^EIuVD9#fu(oSZChJZ+C~1{qGXKZ@21%RVFN^1AIW^9xp5_jbj86}x_|xNab4WoPDH zFQfKaG^(J=(u@xap;@*UnGZ!oay~MN6$KOcbPDN3rX#m?ik5Xf zl0uX0ES!&&Dg&#&Y-Piw>Jv-By!VC*{jrxad%UmhAtSktMVM;MBhGddt_@J35Q%4Y zS!bN0q2$1gHfF_UX_ms9b+|BWV#6Z4qPFM8dvRvMRDA*W2&ZUT{ZX))}E3gg1Wo^RK> z?@6_|U6)$pV#JRoV!X4PU;66I@${u1%cR1IsOB`M9mZn4xSpvP3yb#iF@2p&%_7>yQi~E%qZ{L{HnJLyJ;j^&022E=&?qNb$0VibI}>b z!*#NaxD``&wzG1zEsc{|-fvO|$+$FA6C|HWxrz3ymyeE?YO^+;Wl3ifVIvRijCN<6 z&n`orJJG4V)X8LS$8%c7z|#fI*T)-{l=AINokSzijVV=@B^EMABbk^LZ#+-itiP@2 zw!M0BibBJ!8gErc{8}d3rSvf5nwvwkP#vaO=KDa>OEtFJpwxmKKQ z@Uk6ARZ<>{WP8&V^Tzc^M#&~?nVrf)i~OjTqNd`cilfa)vi=J$EO5%Ii2&d-28{EGJmKhrbX>`sYWmn!$hnIlO$!S1g5IdjYrf5V;=yko?l z+U!ibcJR~S;j4=kzfWg8cKyRuv4fX6?LVEFEcs#ZndF!Kq`NTfB7f}I!u7kI#naRB zCtld|m9q$bmw$Sv4~oA<^YOkvyzPv?fCRtaY-U^k{BUQ%<>-w6`%mxiLc>q*A{@Mp zr+<{~S;tv)x?}r?WqbC*aTlH77nd_Tc>VnSOgIbA&sa9Un1?f+&ABtLe&^Z8L;30D z!1WjVCtf+;U}5urkNK0S{8Z1`SgXS?@oTmmIpcBgalbe*aQcJCGr>C03JW3 z_k99~i_uuvQ*-dHtM4D~ddbBls}|1ovpk_*LZHfKekWL$4>{}z#l&U2sQNl*It~#FCH+wf5cxu z!P55rxAZ#Rx#y7Id?a_}J$tC&VgAQ|^!#Ic^&uT(8V)Y(bzYUFC$TD6x}(ak#EKc1 z70e1|1+!jeR;;RL%!*Y_lvx$}Ma{~){mPSDDIsUvDuG+Ut>9L0>!ndEMcTQrm10Sh zT`5w(s$MZ;PkLp)wyO+k1+{`&L9G|66)Vy?wPHoskN{>MQtO$=QeHmR;g>&M!YY=J zy<&y@9YHffkAhZY_N$3AiZB=&3=M_` zLtkcSMwK(VWAyFN_Wgcl^lj7sz3~SUOdB4|$~y&j_n1gOsg)=ys1?)-Y6Z1krdBGQ zizN3GMncp|r4L2Ee?qNPdr~V=r88=!pjJ>Ts1?+Dp<0P@F5Qa=8`~u>2avy#TIHi! z)w61qL9L)xP%EhQQnk{vYNf)|O24dH(NV2PQq?nVMc`I&E4UThdZ}CGvu>4zxmEtE zZk4r@TM1>qcB`y`Tfwd1R&eX3ZbfI^iiEipeO0$ItR5$_F!^<9?G1@l0RX)4amMmwGX8nqiUredpi|H(=oEB%QJ^ZH zi&LfFtcrC(p!!vd1lTDhU~kr6rUWnsV*sF5P%EhQLbWPqQvwuWDFMotO$p%bhw@^* z?O)1Ofm~LQE65e(dU4$PYSGpg;ikAXx6zj^aOJP;xNerJ{c=?nhGF$WkSoX)eTg;= z?vG`~9`kGZE}k9B>@2J&l#Tr}{sQFvQ`8EPS~XoP>+MARMP-9N z!=+swuA#e{dXMM#KRLB)`+o)?2fw$!%1{vylFa-<-2D>$boe#lY?-B;U26b1^rErlV9&X(i7+NcdI_H8Y8TqlES2rLE`yFrVcTd(2gJte_n-_l}O zIc*4pWbH0kU>!6D8oMQp{j@z8xaym_>a@EgBcLi!)eWkOfU0gnRj0MS5C&C&s%}tK z7*ur&s$$2{co|Furn*H_!C2KTn2NGv@|LF1J3`OE#tvrU(sUd zxy7&|gT=sNH)gT3D`rv{i@ybnF>)#eQi26RpcDu!c3T!>^js*$C`4j6;V^cZPE<8; z7&z?q9Cj`cV-$*kZopwgJEm`8qTb!h7=gpUVYlQkDxE86q!I;(-Gal8Yog0Y1BZdb zZqQ-pY8t5o<6*bpu+yOaem`<>7&z?497dRS#$iN3;ILb8m~<-3R={E4up4xkde&i( z&3X$CBgZ&Qg*Xfxc8d-pXXCKftB!)hzNf>EahL{i7&z=E9dIP6*B zB}PDEAhFw%7(N?_$qVL0|GF9CoUdWWnNL z;IKdLu>YBzS#U+}_~FtvSNw%>Mj;XdiQSyUn0jtC9;QMe_)SQRyp$M3Vj!`bli0cL zB!lkcEl3PW&n%`e=?=>vF_73zNerDE*GCK#_Wc!h91pwaZ4&qk{B?8wI#)r-8*iAH zya9tLr#+7L4ud_8Kw`HhG3D$YM+&URa~l#vFFKMSF_75pN$gzFqyh`_+=9dq3JUrk zEvAwnM+`%M5-fI87DJMJZd9M2f?@re@R-V8dJHBf!DF}Qv2%S&BoRmyy9JL)r`5&o zDT3|4!DF}Rv9tNEh`<74H{vn$a_1xP7}(tc zQP@rROMV`Mfxp0Cx8|>N5g5c@x8N^Kj;UfYQ@FWcKpzBlQvy4?AR?@XcpCzfp9_o- z1q22HyD5R4n~#J=slS83B2()}%$>~KDSxh)9_vgk^K@pv91l9}rHdqbC*wQB?t&lw z3v9-()bT?72ngscI*(uM1KRu*{PSb~Aw2zChytE{qTlGtLBG>?<6EixF8KY+eC|wt z(z!E5ztlO#uj0=A@BZeY@R^5V?|&%U``_VP^WlaFW98xo=Uh}bUfDky`^)?yu;V{I zT>SkECp(ptBbnhltkFB7-eKuII;7|hVg8>YpSR)b`&=u-M{+)3#Nfeyp~Rz)zMg-s ziZS``)Mk%C=E)fW5MqQrbuF7;tb3%;|ImkfjXm%~_8?>aM>^gx=>f^Xj}Hg*0pnw= zbq3tBZT*5I= z1AzjM?``yh=AF0d`&-_!-!pQ&#VWs5k2jbIpjBq4Dpi?sPN@XA0M0gL(jAf!*cG6BFO-NP{GXs>&#&o2@Q;08Y9A6j-Xi+DKL7g!N@eY|{-GA^ zkc*%r1*~2oP(=$`eZsj^H2xQ%Jcv~SObL_!Lw`eQ&gl=lb2Clj;N+{hCWM}q^J0m& z`7+i1Mbl0D3wD}tT5v@9J+QR@6qnv|(6L;9d3;Q3(eb&6Qw;Xh-0ml<97@<%+c~~f1U>{Gf)Br#4_VNm>5cdAbHm@j{*pfR#EGih z$rAb33zC5#L69KGTM*>ChIy#+EG3DuI}C$7U+261Ee3gzx}VGmGLqD%Tn@xb zND@(*Je#t{j5pho3POZAYY-v`@%sz$vRZL`Oy5zcd`C5?75^{Pii2^!lW~4mD~?`O zTz|Y)T)yCut}hjrUlpc*yi)u^B_6xWip)TXuazi)5PrA|r&)q(21sOo<0C;3f3T@;R8zEa#7_rz`f z#XM&pD>(U+fAI5=j7j@M1NC2_pZ&!;321+L4y)QNY~G{<4}19F`1P?lPsi`(@wDai zdN%(?d9Uv$?z;d^1E+m_A$m=AjJ_NT+I>>TgI(9vo8U`={%&iPitmfJy%MBb`F1{P=hfPzh8XW62YpzoGJ?L|8=e$(o7+nXphCaQ5p0 zsT614+?PoY`*kKPqDWXSEPt#&n+;3R<=e*#662}iW)g@IN(4ZRwkpgi%}IN z#*69%xEN0piG)I-00<9+_vM6l&Kc61j=E4lNR)ssE*9VtLeHZ!s1|@~0TA0)7TYH} z?L`Oi<*9R}1pL(7W$qW6@N8wmPhIcN-U^+bD%)kkAerV1$>lo?HwUR*L6UYbfaWzpOoQg{LI!uv6a0yIa!{k1|6v?CvOahZ1XY#<} z!=o<+F^PdmU{XjYTpW`Km;@$2&LqXhB7#Rg1#$WDX&vAaxID&`Cq93}W!biVf#t%s zo>M6uZF!HCJH#&7;}lcQugr;iD+%MpU4Y5kV)C9y(u2kx_P4?IrieY=Agl_(^CV4~ z-cdyYJOR&l(?PKLEKgO^F8#+^f+y<@+SXY zl~lkN@O{5s75spBlfOR*yn2`+I^5o4Zdt57KM3xoGV<&|5fr@2R6UU_bCP8Rc2EVD zFDQc5@IEXEZV8VWu=;ef$5)fcvx8r7%zsVQ6t42$?vVaoppR4aDx-m#F9>`AXaM?p zpapS!43Lqm@Nj@o;21c*AjsH9$a|U(NBhu%WBTlfaAFZcFOCAXk@OUP?2m$2nnQRz zpgj8i9p&!|qwz6!1u5DcVhEyW0Q{ZRE7#c-(+`seas~FTVoy>|ExShUD3t*|fbab+ zI|>@>d-Y*|%VSf-ROxuTZ=!=1et*E25~TMD;`Y>96W*v&Nds8R@iAKOjYhw zOd$^yuzi0=3Ss%-fUX+c{szjQd3?d*G5_?QU~cPi6>MPTuQ_8cEr6oI02LXo$lDg`Y9iWi_rgptUO^P%@L(e4Z%2Vror1D+u_hsu>VkqD9jZb~(pHB%}+WI{iLP*BX=5Fq|I3Yvm zYl!JvwB@R#KHLY}^xP}##Zj3B<|=XHBn)T&O(X$M|~cZMi}*>pho z-3V(cc_19#;Fgr($k`#~xBn4UWu?#~Pn*`VdHU;TYG@J5=*@PTp zfD=iSJyNOi%NiX1b~&B*l8J##AoB_`gDm%b-<>^)Q_}c>C_EA133y(G=aVl*H|Y|P z31nVDrgm!51A~g8l4(FCPKUH<|_@@sVxB-jjW_C<4v&-g@<1>OH-YxdiW{6xuWXfCsTcL)dM|k7X7EqD8G!&WCmt@Zbk%V z1T%hjGYYH+qpypwKHH2h`_zBTjEtSCzZ8j!5rY@Oi{Ql@@*<;e_iZoGBBS_ET9MJe z(~)NER6(d<38VZwkO(u8u7|D=0`bEU@9TG?HgNY3S^?&`X$r>p;-%{5$DU`oUysv02|(WlA5KuoSq)3z@@ zDc+U#peP+61*)iYx|NJJ3QiT6q9YcS`VLdQ8z=;%hnxId>Xq+(Rvc|>|$P9?Fe7lObeDl zoEV^c^}ABG5&2khvl;Z0nbx>#BU%%bU+JYr3`mXhCz$m82+tr+4p{nN{}5*HIjnlB zBw>h~LYIH*>Ou}kO-T>Z+afKc1j_?wSMU~A4hYWH)YCNkt!EIC$xY{#0JMz`DLen*WhQ|0sqM6@I$@-{9%|?;iNBPK_%!&c8 zdagIf9uTTNd5`g&03!(*m?-2of-lfmeK@J5gJYxqX|jDZ>Agt=9gPOa3z$Cni{$njZ1)|42nd~bW+}ux2N+>DxqKK+U$FayE>Hu26c)Ud0 zCe=6ds9?o28Sx?T;}snV6jra`aOw;qj-Iq=3Pm3FSOV)mrGCEh*BG6qoQz&A46AMV z^;0q(gO#41Vn>{T#JbNL`Ga;SJFs^9OfNCAVH>*A4E$5wHkER z{rzkj|M<+XkQsSAl&RIP>3rHSuspnV;-JKprMWT7wcc45WFGh9|)wH|2*(zuH95RZ4(v zz#JX!Ls{QE{3wMdGn9VCyz5W&QS=$|NSeS@9o0vK9Svw^YS(NGNGHHvpu&?bLity4 zJEnD~sd^b&iqBq?aSC7$nl!h6BvSi<16v{#$W=-Ujt0th{GDF5u>N8l)fx@Fwq`&Y zH7=*k8`)?N`2Vx7NX)-67)$sm!X`OTAzn zt`yS3wgDx#&;cPY8cm{1SPMHc?EhDgoyrk%)@U>^KZqVM&Y%^w0Do7OFN&4fpro0H zb=b+?zUyYEf&*)IqzQ&7Y8;N(7AbGvac6%T6e}hTpth zjj3}^6|Wg_b=1M{_HuwX1u9r}AzL+2o>VCv6w}6c+@S^REfIYUviG7a;3Mx_2&Gm? zK5&-!@ciWHJT@N&7pL?0dM+b&q%KACNTW7IIF3qj0+0?* z7$O)h!wkECYl7;AsB2WAP$^6l7yNQ2qX|ppY>op3D_Vof0WJCpE^lb{SAMG<^wA8YUXP{&Sa|_1lwQ>VsvUaWUuZo?Ev45kWU>7@ zc>zu~04GbV3848Ayx3j4D6C>@U4dHIumG3T3#o43)OSMiV6F2pZ%37*Uo(s|yM{8& ziEUnyw4sd@-Fxy9mmM}3{oixAhQ+Mctps2xgwb{%liUj`^Bqv(C!>eRO2i;_ik%6(c{79^Y z2Q*>6We^J-h$*4KLdX)b$EFFIq>pHZ@f`fPB*qw6mh8Hqd=Qi73Lr;Gmi#eU)-10O zic0j+g_acd5o|GxHb^E1B`11aAbZZ|$9t%b634!Uz-#o=9zL;9RKTnk!@2Xri2s8$ z%GbjX&i-4TUfPYXn5`JjFJy7gQ`)3n5q|;5a&?26(1bz5@pH60?=Y0-@9JUXWxyox zu6wXxFkQH8Mlk?XLyno;MP@055=WX-5cGyJ+d86Z1A~~%0p5vlS#zb;jALbk<_*9e z@ulY=5#G=!MEpfDISCa{dXSi3LUR9INlmr?1x3`mi89_k+Vr}hf%D(cK|2ycDJ7Le zno}C&$bIRxrD{VdXHpIae&J2xduy3XpdBKhF!0D2UgjTX}l?~@h1&O(j$ zjt_6Z-;KU_#D;8REe}jv%)TbbHLHC&T%x>n29FD+YGSMf4D?cxc@rmv3JTWI!O7vL zLma=QCe=3>O7bwGgwFA#5fk;LTh#EMawgZ~-+6>RI$=>W&1I?JX=^a40_@s{8rSgI z#{i=h!E!%E`-wh4c{|X0Z>giiljigWk<0a7ZAsM$2Dt6RdA%&&lz!ndyA#tQiOd@& z-2V(U%wVb+;{FK3Y#k)RZw{^ac9My5{WJJj_mMoq0s}x%c?->Igh;W>GDV}BkRbg* zF(5^5kmMZa1$_qY@^@~qLpe={nQL_>xL_RS=8`W$!s6_64=|e zmd+mu#PZpI+K-5!S~d-fc@3H@96=BgLuZkGR~tMAOl^q@X3Y}AbJmD)*i1jb z?BC3j zsnvsN0V5_a>Zv5&*t;^i$#`C!R%tSf@vIl60l)Jjkw}Vt-t|dfi=?0(rHwa|xfhJ{+j_J|6zn$sRU(O0^p$I@S^l#0bZ`1P`?4VZ$?cXWh7hEXUnh?~#!Nm#It-5R7u9_%6?|S# zm47>omu_(0J@f!DGo||%DDDxd}LuCDE^L+gI=;(1K;PvJ7^oHa5 zTJHmz?+c@`zlYOu-ImY68n1g-?xff0DjDS_Tfe^fzetmGzz=0Jn3$j;82wYW$rs90 zHmSU{Qrbt!;@^CaZpFV#!_(q!|poL%ddTers z3M?9SnXH|8t}h^4eT8+?iK>mfVyBU(p}_;` zJI`f}_Ihui!wzfQbm~0h71IuL6o2#}nS14RTo4T89Mz2Dxv>ZSGEQX~J;Y)Sr+KHM zBN>pQETfmjfV&cn=Ajuvj%Ey?84~$4&}>Zg;_Q0y z6Thc=2nvjWr)yGZod3`%&InIz(vh1-cAj>KFXBMvPM>iN7h7)PS#IVw#}KRzEluF) z`dG7}(w>Ub_&KsK`D@$Exc@X23Hx%3Ek%1>tf-4>$7dUm-aP>(}_9zIVRG z1q}JaCV&#*?*MFCuW0_gyCNeS!|n#-y;RQLsOdChr1!CAAUH*!2{2<3iDSu>y)_kw zO;sI?nb(OV9~&w$1|<(x7q#&=(LhNa$5HHOwgd0>#hYbnLPA~Fgw!FZuh=iOB4l$v zFldtSdAT6NY-jPu>AtlA0wRQPjbyTZ7=Ed{A=tBzOt~IMu$B-HT&tK~NR4hZby4va zDpj=T%M$lfm!?rS?P!Ccdgd^hDK4fJdBhIGfwP}>(sBUzPC8;my^o_-g1?BCs@Y0F z^u=TYg8tG&KkTYebHk zG|kswSs8~3E>cduS(MEvWvs^o-f`%@*MG#O48b=2!Tld|UfKXZ8BnFj@9 zkMajqV$H6kFRYXhoLL@RhMi0^vB-_Bx)P`BT^jtJP)XdQsX?p{q>5Lzh+JFOkS5o< zjfvb7D2(1HAd^TbwM$T+K}*?rIN)bo#?cjTf_Hw5RS1;|E`!Q|+Q-8#Mlt}VFFHTU z?hH`mr9}Nvhh`3%IPs%PW-qqvrND|6-xjLuiB{lCVvr$48immc zH=WQVMh9UHEMe4o!)EJl&lSc(*yM@^ePd8MKo#otlc;5?A7LI0#KjFG)I>>VWq>h= z#yNl_`DPqTBk7PThbe+r^?_O@*yKGrg(UjG(eV*|w?6{BDipzE=T_2+?Ey4Nz&K7b z(cAQBhq+aPCV^$w;BgjnDO$n**kH!lG_8cmpT5tluVektK1BN(7}zADe;`aS=JVOF zSm_yDlG=tactwcFgz}w!(4I9O$?Og~$8Sx1(>Hme#}5>f<%J~mHd=~4pO$Zseo@i5tg~ZwzO8r8w{(wvJe4xt#km!+CwV>8VggdHaFeDDOqW!HN zUTOf|g}xqCJqIT5#kzdq{jMVPJ>mckM}j&$5d?L!V*>J%Oqd7~_8M!hrfQ(^28W!sSjkvCR-^~8+aH^hAnUE&6bGnGwtk`BUcGiMrzf47i zvPiR3zi9a(u=E_9GhWw<%QjCex(=|p+Hd^ZUV22xWTe_pCLYs&9l%m9U{dm>a>NGX z_=BitUI$BY2gh`t6a6v!JAy(*S1Y8xUGBLhK{FS)9r|(w?_uSD?o8_9a)`j=J{F`L z!t%V}6qc52;MuD@r29Z0X1dQpm3F~8>Bo{hBDvyA5R?6CQsR?==8VY41GVqUnkmbQ z0Y)?lkTN%eL{2)9CS{07Nic9Ue0!C-*dWa1kBg09eov+tDpfO2^J8J;SHPI`Dd6tV2SjUX8Iw8T@K+J_7)6pO(dh%5tOwv8Idx6Hw=H6 z`!E}3QejjzemjggF!_0(NQ5nFC^RDpc*d*h?I7?LK+nQVCsXnh1gqf5E}^RW0d`L( zuq7|=WitD@9(M0=2$Nt&5R8{LS^1X6bytyjEGiEq;)iILn z$2IDdjg(bartpoX48bxMz(_lSqX~fcSf&+j=0__0SMH>LlNb3l3N;8Tsgq3rvZ%!y z-O+yCL*Os0aenb*b#7ZE6TwJj-m56iz;BB>XhaEqUXoh4>MljHF#nXnb0GZZbD&$a zUNv+w@SmEsU~&P}(5wJOwz_?+e6wE7YACEEJMaXJQuMw$EW}zfBzJu{xjv0&H5;Ke zl#Q+g+5UUgmPw~Uv#*I>;<=HQFUFl!^hA;S-;&LLq^K zYjiiG-n}6%xbcR$O0u%A@W|NZD0$;h^+Mf{BvICT2j|uT0hvcVq(XeI`)9ie3fEls zzrfbtr7%**UDV2gt}8S6X}McR@b7Wp5`#v&wO3XMvO9CeeKRxPl)Hki?Ta82W4M3e z=RW_~g%Z3&6}mgQUC}X};d*Qm@jiCNvVVZ?50r{ImHG*=!6^SA8pBgE)WRd#BO7xX zZ+B%W@-%~EPJYITmT$ANE~G|v3G%||^pY^z-TY!|wi|yZ!%+YCrmm+z`la$sD%DFR z3ms=3LC98hhp7z181wK|`fHM(Sc?IekV;Q?-s>k3yl4Fry`2T?7+@TF&!1^8r(t+? zxIRC8k}HtD*m|kO@;pU* zlZ=PU*O?~61=8!U)jHR?o@kM!)Z%<`R+-P^mc(e$IyZee+_4Z>LdbhWQNlr#N(MmY z3w0W))1Z_@Z{#^igZ#WgQ=*qktVLj;Y=Buhdaga<_-Y@J!=gA30uqQWVFYU&=jlq+ zQ|DzO$`v=D84%QMHUM)cWd6rULY=i`WP+xgh=-kV${?Y&UwKvmfo@xx_5wA)g5JZ0 z*zsd)_HsZ$Z>es4Gm_mXC?K<{y8gd9!gWSNDEj;GaiMiSM^?>I)E zlezQn#(}lH$f9~FvYAP=wo`=;nb<5)-FK#@riL4Px@XiORZ=CQZXo{6>70ZBw&!^z zcAprxWid-m7;?zUjOk#t;~WHh>9R%6>Jhc$;-tC~pK@XOu7S?o z^jBmPMKv|Z+`Gwg4T}fpP1(VvSr%W z39Qy#Ssmzli4d8C=)EWv2W2_9u`zZq7CKsMuW>l}jI+lciT7^TRfjHp}yt@v02PpPB8ARd4s-vYf)nO=s^=xFel^xQBlvJS1=Gi)DNl6e$pCXBF z1qbB6%*1@E{s{!aNSwmRgvKDk)Y6H()pz~|4Z;CoVl3k)@}YA`vacY5_#lUm)RLdb ztQtIIBC#W7C3mx}93o^@X$8a!(X?^uU@65!L1fu1_Kl(6u3l>%7)A|%mu>5SRIecJj(s%Sr|wk7AYx75;uwx>B!Sr0IMdKSQmTx ziV=q}qOHL{xzyH;Nar`c$(o4u5HnU?d_z_tj6u1Ly^Qr|C0t0WIJh7FLt zVFryJgqg_Hwm=JDSDqrBDoX)kWcSQzV&sXjdnq}aO-f2@$d*=HeKQpiBhU=leC;Lw zMqMyvt|J_a{mt9XEg1`=XaV#q}rKt>edcTRVHz*Lo&qNBYO+s(|0*%q-7ET=rYNq_Xq%)P(f7WN_6LEWHui|w1a8t=1y~B^^8OwDf29Yu#$RB z!`^vAjKyc*t{E zP?9i#jsq9!;))+~g*xf59ATiwTi!2f3tLYQwDt{U6mPEM>T^)mFY2=ZxM6GC4qY&z zPq*O(@TH?kN50qgZ0k{Ae(22QilGgUBg@aG_%xKM{>=QGVBYkS;G_cit8*WNHDmhC z6!Jyj#GCmLKQ9fK4Ck{wQ*I@@64MKFne3<4I_mbNqmyzM<^Qn5iV7~G!C3XUPrJZ3 z--xur(;{$Ohlg?lI2)$?ZIZ7-5(&!8X#dKui~huA*6ld|ybYag*0r{i=ke1PviGt1 zhq^dj&+L!5Ujx!9BAgz_#8w76E$+o1m?;ZVQVo3g`&%|Ys733sA210Xp>H8v`pJYk zo<`EDSAXEB;CLyILV;S0y_V>Hr(wuVnIm43k~MhxI*hxYl~08hwBbi8)nNZoO2F4J z&Jo_@Xc~qT8|%XCd40R(e$Q(|+hCOjr%-)jRG4^~P;8B8kS%7@cC06rN>HKG2ZljC zU>52!F7G7SLDh5&5ASQ_8n=)1hheDiH2DTjKEDm5B?=N|sdE$>LO;b{ zkHrVX1T5nx1oyI!*;yvseL}bX3R@HTq9cQTr_oADpARGCj$Xi>+&;%Nyjeq)E$z zcV8Wtb(j%53YAwY+jnUWV}rbTGYQRji3n}KPfFBNt}I9rGKZU_yT>uygx=pMb;w$% zxr5GEd5x0sp?Eoh+4Oi(Hulh_G*KC&#KCP27)u~(413c`tWm7@SFU506mGSG?E*L$ z?S;-@Dn?}fi3`T%Bf7xZZ6$hfP8h9gofC7{t!l7H3GzGzGDSzuh2lX zh=$u&7}wW)&^FFJD+p{f_6<;`-b7L75iVFZ?rEDbsyiLKh^}V*(5Z6Z$^iNLi&Xl? zf;*!qmF?Js=w{g8ZFMGhIA+(fzLr&=)9%k)phzw&VavjXCqHCS+ZXOnMQFGLO(p4L z$MJi1jVrIHG<>F>j&8;+ZlhiaCpw9v%sYWNUCQaG@e%Ku~8KYO^T! zz_B>X(hOUz!V#SEN$OK(_JK^)OC$td6)(E{bDyOX&=UWHQzn`Mi)T5?V32&kO{^DE z2q<+l;vc$pBs9jJS?52k3zFuCN5)3RdNsuAK2;-9O8$qzRccAGlV;uUy1dbZ|AA*J zVS`}=JscwYpFCIW5@QfL@_1IcuCxTX{@{cOkQ{{|0lXck@ZL^H?h+5e?^;$2E)$gh`3xFSOg@jdVdk&Y=h^cRsTA z)y2Iny<0pY>eC?u#5-bkkx>G6lR#GoE zDa@vhPad73KexCP`5)03Y$*hd&?9}*6E~=ZY|T0$(U)9ub+6L3%5-7=AgJt)urfxBF3#8;O+y%KsVgGqqwd(23(AmG>{e>Aj~ye$6tHnmw8!FY zBN(GLU5eh`W5mSnUz${stZSRTRnf0R9z5t(A*0~-AV>(hwaIjLubr>|xy1>7eA4?lwn z|9*65-Ywg>#&#&Y?*x@sJ(!_-+bwn_Es$oeX)@am#i)A}r#I~l%{?<%v0ZP&v8eA# z?G7m%3{7!u>U*i38I^cU#eA$dYPmF{5NN0|K+(36=X4yt3kziKA4d`9s*EJs$}gA& z5Kz!#q&mfZbheo^Fq5KrGnym&cVb6AQNVUWxwElI8se93Vsp)M{pWi=dib+TSkXkL zz*AtZ+n^^9aCsof27x6-yN7CG5O>Vr$Y@fbOOFQ+YL8)KdL>Po-GgCG`Y)=3##GBB zEj;QktvZvjeHSk23*})fe9I}l)sr1*uP^Ie<2(6Upn`M}W1K^QV} zGgTJ7z9^O1Zpi&_A7W)MJj|;L#6y! z4D>V6pzU!ohV6a=y{l+lwI<#3b84vtGsHI!dCi=os48x@jLjiuAJDlO*)Q^6cd+&VfQPf z?h}7`+ZZ?5j()YIj1I^X`jet?2_5!yyS7lqWhm8Q+57{VJnAQ8u@Po+K8GUzv5YK; z@>wF8{@<%Zld%XN^!$*y4r53k0`bnf!zd<*3=FRer8PnHo7}Dp*UGY~S5!alJ!$xm zagI|WCwa&;QaHTQGdWWwebIxjRaL)KZLsCZ=lrsaz-kjU0kLiZ75kRez+?X`SR8%> zmMHr_Izv%>3QS-lw>)f*3a7`!O@qPXM;N6B&wI50PU+H6@A+lm-Z07L5}P0?+l`Tw zHFV*|Lu6|f0%!wq**dCB%vcoPr<= zvl|4~RM&HyUk9p_kzph_!4@vkb^xekR6(?xDDpi1p3t)4{~DuIeB=8U6Ax(F=zrJm z{2iwcRj-AKWj+oYXE+2&rmJWcET`Bkj}+ebo3ond$LnfxhUx}2>92E6YUN)dh9p?l zXlsP>C(VDGzq>sDw3dapj4frQD@Ltir=uQ|pzd;`#&NOEOi{|#cke6A*;9ASNgK+T z6D&Mq-)qir@ioG|u3AaVpz0B^vJwMzxq+(43)a2wRxtFf`LsUmwR41P%?pi2#kQR% z_$T;3%?Rg9-18YX3z(PcRLBmC@>Fa8WKJnZnHjYkwM!qeb1ysNjx?U-gq=9$17 z_U~q;5S>bDb^nc5+!|WNflT%o$95mroMG+ z+P-IMg>}R2d60qfQ>4}xwX-f|ZCthv$&)^|DOGe$V5b8OGeLPC#i!PgN!B3eOGu9j zNKXnp0JhH~w)_nP(C<;W`2VtM=D<{|+6LQOgz9cJi!skJn0bzt);q_Z#h)gVJJD#C zOQC9Lbphrxf z!cc2w)Z#}Y%E}(Jj0K2&l?-dHm*J^eS0)2)BGOm`e=8_Q^=!2$hF&yxZA{L4TC4xs z^hSb?w>6m!gUx>^D;uZJY_|UVDP=PK$Sh&n+L&}vrQmVSH%>2)+W74WmFDrF=22iT z$1AW$(O^buz^kQbR^08WG2rQ&u8?{Amp@RU`2dWCA>q;(En+9GPgG6xB*{3?W_z)R z@(<7J-F^AtgGO5hsRO0A+0Np_KUJL-sCL_1n1Q&i>sq(Cjyhzk2AHd-dTQh6v2RuG z6hpyYq{MPx+cA!%N3~lfwFTTMrax;^Y-GawfBsOAl&UYSu13lBAL@KC3zCuu2^&iI z^|y&dE!rDP)Im0bXYy#7r#Q)F;IY4-L0IhKBoZVYup}DAX(OB>oB8atETy)waGvuc z2@u$MD@O4XYScHp7***h&aq2pXYvxVizN*I56!|KU!mhoWcyQAf_` zq>F{WVrc#Qkmi`#ry*Ih|KX03`m>y3PU0Z20bc_XBKr@O--l4D%Z0t# zJE#AM(6DKkiRIHpb+FnnArnP`0oT?9JJR z9W~f8D2@oT0X0M!2>*8$$!6%=OugB-cnGGv+mHI-%HYZ`RFz+pDRBzMA#>#H+u@)RG6)O=OYk9Sr8hOlleEmn+0;JruaWDmbL*YCv|=@N z5A4Q1ib;kIv6A7~qCik7EF?=DmD2zYLbptHcjQwX9yP@u3_}S=X-+LYUSM6%B>c^N zE|!kM9qWw}Fm6*I{t>5simG->xZ~j?18m?Yrr$dYK8d?C&z6l|vT!0LF-L)-!PX&x zlVbO9J*#i!m{YH>q{eSvE)fl8?qUh0nm-eU8QJf1Yt`H2yL&ml{3*m>Lc<{xhr7$^ zY%roumU`;^k4{29&PqJaxu)sLM^N9lF1PiW-ROJ%d9!8x$>HAZgTwc)GBfdw2)F6N z^|5vYE>=fcGD$=wfB3-qEe4JDk3D*Z6Fv3)^0wo5UCmh0ptTPzzrJ2re>l=k)NgY+ z){wcRa0}&elO=a-r?7#=$ig9Z*+VTUj0R8G{{;-HP%-EW&l3rXItaM+CSkz_3J;XjOI?rpdZXPJL)J7ymFowPoc*xs4aCFCp z3}b;z*5ud@4r1Sn;$t_Z;r}{h&5!lkWu>r_nfJ688ic%z(C5!11+}gX^S}hNTO!o5 z&DFm(1?9PjsBWV5*S~-DfGH6s?KZ@dj5Z#SHwo;>{GI9n57jy!4*mMtk@hBhlmDj( zt{1^N?WHuDGTxwZ-JK@~={);;gws0okoCRLs_h3RnSe+{w#}HB^z_EhPi5A1>{%f?@^_KcwHEP`p#Kpfci(iPxoOrGQW9h$@NOYf47jDD1 z=Bxst0Y+}C4=T<{uA3eNCpM#zxqqH2@7s|{%Fq8q^NHp(B;yPXz?4xF79yg#nV@%C}IraNQ6zg|ox&0Pcq zY;!*uRVUK@JZ*+E488q6WglzsO=XQ->ES1}=5pV(^eeR$_x_o=CVR=q&xsqbNaT8# z2vIuUT8^~qol<%L3$4QM55dfifU^{OCupYCX(!X!5Y&qwXJJH_S+@?_n-?!Wv#rT_ zNlDYh-A?9x^3d+u$JKl{RUCtp0;J-Yy^{Y!P&JOTPUC%Kngr zU@n5e4ipYF83_??g9SuZu+}>CAdxlR`)iQn&?-Bq*lY|qFLs?fMM&~twJ&>6v#^an zqB~h*GJ-8mwO_93se@Kh;NmOoeehdcbXekCp3_in18zafFIv5Z7$3EC*uNEPq_#G)q*!;f!oB_;g zTwCoR81#byI^QXwy>P>H$uB#t;jCr9?KwP1mg27A<9Ky}>HJq|FYN&7JmJA67wK!f zNS&s#BUcVT@*0s5scJyLR@(`^GNfTmiHRCB{jI$3v|19%+pFh@P83P(-Apc*)F7q3 zg}kkVufRQjs#1VCpcTOWy9M>8;BOS|1^u7=CHBBp3c^X{TA4Xc0)&Tgvd*gQu1T2s zMWt;pc3!tMF@^R6U^&86M@HVqH=j6>dMsezFi;9~)Y<3bMDEbV(-;WM>&|DV%G#V; z8+mC&dt`B{I5N!}xKn(NaD%NW?UOgs7I_)aNqxMy^Gb`w4T&E+bl1z2@<_mSS^54> z294>$g+@Ercwd<}nQt?hJw7&DpQgCM7gF*w{os~L4|~C!GRRt(sv(s)?2)oAejLek zT_P&sbcPXY>z8XieqZf?lm{*EV8EtIy2A7Ey(I9*>?ZqmG5&Lt!0P@sd8}VWY_`$G z;@Bj&S6jfBFvejTbEpLnfTWiDv3?(;tvy(e3VxGR41h9u6a*vp+ye-IKwRH@jutHP)nimSjY!Cg( z|3Dw=7?UBsWdTWqB^KKxa1jwx(BdBnma7zd8HiivlP~TKab^QZsJD~bKZ zPGc6zE~h>Uy1@?peSn37?)NiQWa(MYNF_J<(IcQR+vIPR)N)Pk+z{_$N!P=()YBIp zJL&kHmktLgz?2PrauZOGC9We(?Kg5k8IH6bO>E=GWBy!DqbnGq>9C61Kc;E+If(1| zPM?Ehh6ktV>e-j6D?|*4$IfO{%O5RHCe+R|Ez!)><%2a_>I|1rxM-hxi(Pt)DbJ1R zjIVYBpHG znL|$AE!ESAt)VYwaJ;U#6s%cf6 zn$hDV(ftQoeReJv;>_U=x?0%Gto24eadxe`8FG*tYUZb`vs`!r=9@&NL?z$p;_(bZ zZY{0v{?OU<4Zb1og{#*=5y`7*o6;ra5pS)f*&qn+zbVoEaUZ8kc{;blioV<^Em8bS z`=PqU=~Mw7?mu-v6rw$Dn=?_mZCF;^<&wx=92=g-7T>tC&2$Xt?yR0`!7L81MsAFw{`{1>#|d;~YL zGr7~}rv^8wNQ7!wr9@j7z2k!Ws5&U~QG!ph6gA@J@ez)aag~DhgDe_c;jR3_S{%H! za^H4wpz2@V5Zb z?L35Rwft{$RLtW1Lv)1QF%egD`HG^O2 z_dzvHr;19#ezW59>#NO+b;zXOUu?{wsP)vI(x-ittqdlr)Xxuqk8T@6)&obPRY`Y0flcVMY=DH<9*Ro;RM-+ z%ZU#0m^P#XofF64n7O!YijH2F1{x1q$PiPii50bemfoVWybs}2r9Q^?GkDWD=^0f% zYng(i&){*`?tph2pH8^8NT%OO=5|81tqXcjaGgJjxSLkc+Wg@w1M+FRdaA?TuBiUo z*y_{obrcf$I$#ei&#uW{*YGP!nS#xLhkK^@wmNNvlEUkk$o8CU2FLQ2FJPeil#*rt zM>j?8bt7wqR5ZMad1U9RHpM-&O?EI`YKJ{?pFOnpQjA)hekHV-wjsQ;wQF}q8cAoo ztnDGSG^nhBSn~_rsx=eN=(w=F@HmQ9A+sXh>+kQVzf!gQe|sS=gw*t0O-8V(=Qp$= zu2I_bPpCUy$#qu=<4SDP9)e+7VA{&^*1@wg zk@$v~_2(05cf1v7xyQw0Z)gIC(;oMW_cB8q_Zx|6-AYCCjT%P!4x>5TkNm||^-siF zEk|xS4prC#Sa>$w4hO4wo&I3@%r-KsfONcmr5=@odu}cliLkSiA%D8uNIxNm@m6Oz zWuESl6;uAoG3;icO}p*g6fG38ts|)CZ9MaB`!>Z}ICLuni;vzh1=Ekk%T|5eu_;rq z4I8skqxxhM6jDHg0SXMao_kI84O7oJX zSbS2_SE7|P33nmm`OCY$PgCXmBcz+Q^5*K5zTSS;3C(ks#c1P={Jy72Yy1qJM?xP> zda%j(f#-ASf5i>$+xN@0eG(q(Eo)k5Y@1`30kZgAq5l%C^~$D`{+bora9f>%16g32 z_a)&Hy3vPFznqN|l>NS$thwXQpCeRx5Yi(gRCQ3T0-sBgyzGxdv~#LoP*UQSnKNa! z*140cu4*z^%?8PD^{lh@29sCIL<+>R-!?-~b}A8rlhh&g9R0dEsM_48xD%P{Iw;m( zg@tYUQY+vmzIY;yoc%qRU7!6v!5Ke|Gfd4q$Y?wq)ONhvCpm#H~PLs!3W&S8zWuX zx-g0pQOOVNq;DMxz46%n)QhHygZhn?D8PmnE{mel*z2?!j73D9oFV<`1fldh|3LC~ zLdEDSqG!nN!9ClhKcKFcIX=0gE$Ncx#iX8q%`&adqCWSB(X~@ITwy#Sp*W_nEIr%> zl(#PWS8K6?NU1T=d$eUAr8z2o`Iy+7u&^P9;GJ(d|j#!t>u#k zgSjq~gdmA$%$J?CgUf-ct}}YU@E$J|# zf2;N)Wf+9Ij6iYK4jkAyJ4?@Sgs2@LX4CN3I?+@`ZozmMO@duMbb7AW556Th%8cq= ze`}#pMFS|CP0F{xN&IkyURZmzRkn-0@^)cbCik00BLxoo0-uo>U8$V25uGRff#WWG zLIkj(E}lTBA)?sr9UGaIky8y>Qem4~0W5VzRm7*pthgbRgwp4G_q#?rwL6wt1Y3`+MuE4(#`k zav{$9a)}b($fRGL`@NwVF#0=Y=mbk*sq)S05<)$4U=Vw>%V3>c4t4-djJWUJpBMsI z6&O4(&QXP_S(*hzzT%BdSeW`csl_JvM@e1xeD?hUtS2N}0+|x{1=c=2*>7&kJR3%$ zHWuvjV+=kC`zBw!F#Wna_U;;&8ocWW{4Rv5O4!*u-1UK_;u{;6HEopEI^FROF1O0q zG3xuZ;e9k$P3Je^rLJtUfBHgT1#q5Dn_Kt-oG!?$OAE- zAS9)_4&UG(Nip&Jza)hz?@y{S^kI+RK}SzP8(8~JftC`S3{ZyS5h57nzmCJH5TdY~ znV-SLECGH)^5MjR`N$T%WdL>sOv6V1zV>-#R2%tQS8ixkivLgGi38{Fu7bB3+czX< z`qrZ|(W_7W>38FSRm725D;kw{Lj7Yuo# zE?jylV!E7Zs-E~1!VZ){l>~1UQb_p`rm)l;uOPR*IVT|ILLJ>BQL8`vyy+MQ)tlx|oN*?UEjh=TbS~9&;ol;@%mP^grX#op z7CNFbRc@gceo9|t!M)O;jSy|m`*-Z9ddmPyCH|V4DfhEqo7Tt5ovC62cY#e8&?^R& z46yIf;55yIv88K0Y4cUo6gz*A&f3||E^k1x`i8D{^wt0N%QS>o76NZoPLAokkw$_M zJ)f404%&h}%B;LV-W+6Sz6TrihU5~}s1W#A3E@{uRkQ+M0hgcF{ubHD^+^Jv8n_P* z@Z5gFA%oF=?_b(j58{He>vJ)qRqa?%zlD5s4%rfla0GbT!rDhRv`Rcre+|}ssoxV4 z`nmt&5Yrh*WxNocg9kg7ZdA%63~>8?C2s*b^uDnRUuI7vL07nSD2D7b?#OW*8;J_> zUWtp)_DY1uO=@8}f_=xNxl-K<8U6Aswps2#XUBzVq9TUv#8=Uw0I`lA{i2~}o4k>y z8ZwdLQ>dW>{#*=)goG+TsKB>ZN)1$1NURXY{qA0(bZ zviMw$k814-J)ei=@06!Ek|?I!y{Qi>-20uj&>&9}+^ zq6!jxnhAn9f^Uhkb^;lrZA1Y7m=?Ol?T9bc93*!G&T661I`e(Qa>h(3D!1<4-pVT% zE}>)Q&lL-}+7NKuBe{e7UP@Kh44!$JvB?+c6*8qQ`H&`NhPw8?VK>$w93mEaI?4I8|Zs;EqI1z80ta0(55ulhC5 z%eT~@E%PXg!DX?|;5agZ6R|4ToTW&inbacDm(ez%q<+k?0{hzR_UEoHqFjLX-K;Pc z@B_R&hpyiSb?4Ar@#Vc(5(W7Vi=%PMF2kIig}7r-Ow%fR!8g;8AxtQ{!9>>8SnM>H z@a#0#H3pEG)DY9%7TdJ2oaLaIM5#xJ9Lvy|mn^sdwWi#Nht^+#ngV}-J3OJ(%_pZ-iy1y|LihOY16|d8*Ig?Ie@Fi{;IW4EshV9Jxr92XmLvs2cq@d^@ZFF80JB4^#@#`I4%U<%#QSPTSjgt~5B_;sh$Q z%ZpiXT*uJ3I+v1N019mN8`AmD2Xy8LBbH_aKWE3bdN(+%5Qsr3aQev*$ks-}bP;lY zTlzqleq$VMj(+f+IYc@}Y0*BAp?$4G%Vgune~QOYm9!)zN2G5CVJ|?EW?J6bjlLLTCM$T3u`FaG;aof zaMNzur5Sf?GcxrT6~r>4`H#wJ&$;LBDB$9%BC&PDysi7^uQZ=s@ZO9PWWLPEGz0=<^yM*ZPMD#o< z5&FwUS%iCcS6uraBNTLtz^FV@y8o!&Ls{;QgyEYKoe+aajfy$~xE=yZ-yiZO76fQ> zg&nQ32c1}&bZn>ofMJja@9HV_6_vzqtltov$H_TDoQ7O$bO(d_gGLG;d`&`7=9Paw zR((daOF6_xk}9PAkE);ZOT0hjxLc&kXD^Ufp>;rilL5>!jZ06cL=_>L%>{DFiIi*l z7{+iI96Hgsc+)}@YIE`s*+VnPTjN4;2B*HX&i*rDNI>U9YuNYQZ*~s+YglRpC8cAe zXw_wi+);G{#$|X)$V!EHfwB(Akb&@mM-0cd{|v)lLwFpDnHTVz6P646pD86LafACg-Os9-TjJdoKYfLTaTi1ANf`3pvmp*}G zIYpz#?yj5`vIw6)Y#5R(P?24p>7SYVXB7XLc%YfvsmAN}{jxaRFNUT4M&g)GN+awd zJUH#Q66Z%(^>cztl+YfLbBgI1bu_LY;26|vUVReSYYyGP=TNfL@HEW4*q zuOl#x7#A>V9teDjzGFJ>Vc!1~mMxH!AYS1fQj`eIQstc~jQq7cOz4QnMZ0kz^+*ui z1cu0I6}zXz{433k;KB11I&QwjN?r}WrF1~XsswA(19gYojNY#hNgT2eI+oWWQ!wH+Y5{lNv3kvw3(@dfJsgm3H0hC+f+k=_$;nF>!lkktxXlk?Tt~o#W1T7YgpBzDdBiyRjYWqp)@)wW&=!=97QI#rCg$5>a zxa7umMNV$ZoobD?2TUqswaai(X)!yWFaFdn+HE;w<3(Pv4F9!%!rEZ=-(NHpIFwua z7Z#Lc%phS`F42q@gjbtty7DI#+RV*weQeFl=> zH*8@Ulm>hSUMq#jT!G&#isq6(QVYnQiWzU&eMeYyWJUsdW|p{X2bj+X7eeR;dRP$D!$=5%@x;Z^wU7 zXnW|+smVhN*j?GZ)eAp=#z>oveeVP}HRrqq)Pi9Z&XEQ9hEXb9!k+5(#+tGsur^wTjy|eo^kXtMKyk=Kv=ijn4O{_D zX9Pyiy9t_oaHkdB&T_cv!sALp@bU6k(oo_rPw=6*und$ErF7-;+jf7qoQ_^H`*4Z? zb~D|vlgiWN48w$-yVOsR;#h~sgtUq2JVK?STZOf=5mS1KBaXzl-`4Fktevp^fW8OB z6lA-w)^j2{v|VJo)%7X10B-WupNfK}ana;L>&bsC>b$XCQ`QgADbXmHaEI>dt$arv zQidHaI(3El9TV+CqZ1+J!H$u>ylfX}ypU}c6Hbdo*o8?2{Hwh6Ph>3*8I4bKt*0#d zyhQsD%SY!Mm$!7vydl>z>QrnGfl#$9y0#E7ZKXv3N0(`umU-WmHpcc}&GhPxn zrDv^h4crw|y|Jg7FFBH5xf%yeB44>$Yv!@pA_*-K*@8-T9phlV-#}e7cg`J3^Ggld%s-FBs781Zpt_&xa36inx== z4G`&mh0`yZyEWLXp`z5q$(eCE}3zChNut5SGVxTS6fc>?I#8ZB+>b z0N4HW0Ny5|w=(|UXLyY$bXGy|xB$o<(xK*qu7fX`ldn^Vb5TSr3n`t7$N2QYP=gay zy9e_VcVp#rB;1oYhY+u#axOzq?CjqSn?Ztz5c2~;g9LE#VORwTLdz+AT?D0vQ0aKHNP?tFhx;udQ^p;t+q^(rRZIERkr zbvFK4NK`OMlw3@(@e9y{`N=K!>vywGN%Z+ypmxIaW>N`Lt2owaEAcIs3D+sJHVxNd zMSyKTXyzy~MGt9C!s>`oS~bR=?4$E*75}XbxIyqAg3pMIpSDY%)nf8jw?Z#(Z%zSC z^-43VX*}RaFurDL8bVW91lVGP#E9F+$Zjb#-w5jKpbcCRC~g=h)!y==(tx3&f5gj2 z2_caJOTOj_0JXbk;QBEILJ4`8A-(vq{SgIR1K|#=7$({M1PLv6TVOev5 z1ehQPe}NGT0V{t65su~;Cd}TpE=_~TM?w$L&Rs>cbNz-3JxH{Bea^AZ*yn``W@yU) z)~H!IQgKiGJv=gU*azObg&q4%eP~yX@BK^2=TjXd*PSONS{MgO+|J~#!0I2l?q1pm zSXf{MB#Zu)^Bb4gfU_-UEXN&6RB0A5BYmlk@^rBkRdy5Hg3drJyE$C91XC| zxJq;HnatZzVdd4sd-YC}`H+!;!3ob>E}3C^+m^?Zc?YhRD_(W=h4ouSt})H(`e{A% z-t__2BXZC6}c$jX{*t~2P=56C7 zUUl*+uTZozzT}Eos;6PS?)Br{EUC>Bqdy?(IB)S1qQ-SvnUh7s5}ig{@3J5fSSU~t z6TBn%S;D7db%prp=4sq>H-upnlq;Li&R4?mQZ@tjB@rS`CpZy@wNp#(OOVEc-8-j67sgY@wWbS)@ni^F zpbhTWkNQWV<11?`P>u6DFCV5*a!^BnL*l7(>or`544_Kjvty8_DPvNaoAzpdq zty5`&cSB1LBkggVWQ!v4%J14ucja@kQ@#llWx)q4?_|O_(6uw=nq6i(sBENgx}^Aq z$ik?mqC!7OBv}N3dbfefz7hkfk}M27i(H|k%q8r4AoimQoSsF&I(&#VUIf=QzQp?9 zgeDuKjy6D%E*ppASqDbQ@P`Ql;VBSK{u%%D8nh#XxF_L~)kpeBo@1fP}N&U(0TAk{bZ9bDTSD;n|G~*3sAc zzBa91DGV}W*l~7u@B&ZvM4L^FXX_fpi8)khDDfX$4EnvNR#3q6ub2}35}qf8BuOf{ zf0C$AHKAgi%!i}`5K3u%CZKf!m~h!VqlMSIaPjFl*I85tsPdLr1oQgImg^|PzHo2& zD?iHOi{OrvxDzf)ke0Vn#_CkG=HHDJO`5l)D!)2PG|f)0JB)1@A0?$!fWX)sp$!XX zQfJ!9?dgSXNxvhWe}ol2J{y1gx@fBq4(i6F2eIp#roMynNprs#Rp@ry*!pOL4vZR}i)06>dsu|7aAPoVs-g|2xKe$uuv*Llo$}3W{e?vb{mf6 z#@$!HGRyF!XX?7E4b`aUtrwy-vE(tI^^|JpT~ilQ7zip935~q3t4jSJ5UykTm4>t2 z0zBe3xer!!?u5Z2VuDAGVe3M}y~uiLdU8l5PXNkH1JuTuGIBfAX(s4+H|FfI({DS3 zncAp@1YqzHV7P$}u!3!-#%P`$@Q27^JNpH_@6BB};Nbzb(E^mqp~%h7^2pOnkTkep zsDTcVemSX}Ut4&i18i>utv7!byzy)kCDM1(QXp0u=V>Tk1jd4fN4C+cL zCda2T#uYyB;Rc~Z`x_k8(>8xaq{a=n90pt!9Br6c<$a{m6@U6YOnJPEcsor)v(?#GhttKvQ+D)U$vy14T!H!q@i)E=)T^%vrW*c@-o3tEyJK-85W^- zzcOil2?xNKza;vd|75~m-@*4C88)kPw}+JK@$?cuL^Pn(4qu5PA{vZ=+I)a+yn)tN zw7mieqHOLO08VsmZuvmaBZba{7%}QZ&mR?13C(=iKGYWx$xB&pv-;B#x4O&(nlh$O z<1abb0$iuLj%DDv0dOd-#g*tMmdP|+jzZ5P8}N-oOC?4o9*?TH26OjRj`mvZc5egt zo0n&Y<1B&Q)~oldk6N_F2nb__%NLW;>rM6z=2SoGiGLsuK@1%Q?vkjN?27}CEDU7=lC&lLb(HXt7KwGOE;ne6rgwLV zbo2LynU0i3zgw;%)Nnv9X?XPMNwF0zLg1pM1x$Fq){6_bqXx+s(7Zr?3t(;-v38_H zr-=%u!puy=>HBTUaLlIvWaX8zAZTzP%SG7ANH;07FkLGI2Lj; zb?5a4^Cj>FZ%2dasltdbVs+J)JNK>HFcY&L#E?zZt^^S4L;;#i=1Wd2pztJ#U+F#i z-wez>KE1PPQk1TlXpG+AltHf#+ zDXUmwXqiu(0a#xGDTyu0z5uqE4ObS%3f@2_u^<@1cr0K<-ZH1jeP8>`Uch=LCI~K| z*d6$R>mR-UsK3edb4bf$&^c<1C$K|4?E$d?U*^n2uTjaYMc8on?1DwON(_g6nF`zu z=sMJ!sY!+RVV6;@09z|TZnAery+Bntm46ZBsh2j6`#@Sw17V{!lLdnFsm z-Twnw&j06I@}kzvk~B;O{`* z$B1)zg$)h?epC!rl3xMG8$Il^L~RM%!4@7Avlk|zwN^-aO#oo75XWXEN2h0&Db@CeTVZon$v67Jr8lCKK=?2kp4 z_>JG^7W^T={4<(qXrx zS?q>+8 zZE%0`sB`~KmMgG>$uu!b7r^+np^wPw$JvX4oiAwD^CBx9eZ-ZFXzrmsRo2yJSc%+r@e;m3mrb%+6a4up| zA+jme1V#pD>ZnGj=+`$)!ak^{ri?bLe6+|f1L{Lk74?kKV4VipG@5F472FJ}Xqm+= zQn=&A=B6btMQZBW?6iZJk8$)X*4f&-1a6b7KCQxtZmm8o{C^YnU|^n{OSN0^TKgBq z4&Kp!-=~w?R5A`tM06+DeSTJ7$($7NRl=kJJ!B`|2??tQ<0|r*8`*bbaSD6+mN2+w zmQLqs!C%_5!vvx#D}%iLi%tVD4~z$3CS1(G03QHr^^(>@zZ^R|Ih~b+YYj2Rg1aiw zBR@OG&S{8MkyBPecTPJ(&^>t+VItsTll=1-@73gH*aHj+;Py<3nSO25l^;2w7ATra zNs6v2#uZzOZi7Mw%DvH?r^Oz^af+s&|EMj#ul)w23RkTI?gZw{tiODlAB^oDoXzY& zw|a!Js`}wsCK}5pyGs3~kd&O#?=K85G{5D(Lfsh;Hm)2_3>Y*vt029C$0H*^m%WcU zpKwqo0;Iwe`r5X$&9rBv)p&?DzkN~16q$;6n~0w4#vpR8TDTJdm3_IIJvs^adID%M zG8nOHL^@<3@X}49U_v0eDz+L~zfrW5fI5dGVodu$`;A#52h3L7k8%{2VtN^pyoZLK zEOMa4YsH)*%3^i8)~&7&T4YkUjMBY~7n5S1xX>NFmTcjDL0H!i8LM|N z%Ke+C_@+awcyelb>^(|lH%i_oQdW5cWfJ#O&dG38Hcw66_J~AD+^TZ3FG^P92gbfZ zF1c`0@GPBp71X+`#VKzWu2UC|R(zqZYH5=%6k!)~ibl&3HZ@(fK2E~jMV-!G`;G1C z;PG1~wH>+ObLOc_syYt`DVDlKlM z){nEWzlArahb#S>-_IO*-<|GwMnk4(6F_1aNZdsT`7)})b#uO@@~)|1(#R2jH6iG3J$Cg3V9ujY^l~9_EQw-hNwBw%n~=#|L{D)Hc@jNSvQ6 zbWlHwL0bRWZsn}bGAoa9XDAlFKfe88f{-T-kk{58D7)$7ja8t)E~h~yWs1^%3Jl#Z zMv+GlYxWY~ok*gFvQg zM`4?)Md-ne)T~5YsD;2R#L6DH{lvp@4LmCGCq+lW7;cfvE3_ZB za6XG9eQlje{Xv|B0YhN8Czh>s>aVXRDSRyHsB}g#gU$1$pL+xH*uY^7S;LVyVT2n z8H{JIsy$PR(7nxj*^F`-t_yju^?OiY>6QKRRcmUs+U|(v_akcAsRzUHB>^`>f#TJA zB_|vzjxpAc?n(3>xtz<1V$lAEl zdrXH!zmrtfdTE^O@;8;O6ujw!EYwHZ-q%teGH0<);y3->rcUh|sZLWOfwInoparA` z=n#TSj{-h^bv<&9QD#O`T6p8ZMt-x3VhjDCu(#Gy@9_q+#W1eF!4ZGr-M;X)8mTwd zx;_b0snX~3ryVBs?GeA`{wX91fYS&?-(%YCzjLnB;(%bRRaxYM_)gox0nt?-Qgehu zhI_dYXQ^_Y6vE-0c0pX;cJTXa3up9!pVE4J4=wu11VC?Q5j`3}i91Pyw@?!N?K6O= z(#LYdN@mh-x)Qgk%9F1>V>%^3kMP)tWMd_3Om4sGegXts;*D@1U)1D-y4nPbLy3n6yWCgO$(sIjEMY3hFDt1YU6WH(c4B1XnBNN#w?tva8-9F zZilQ>utd@9y>+BL8Wi5i+Vrfjmd|ZXVxfw$5Aq}FE%jZd3j~rxMr%QT%}u0>xwK5f z6txcyzjOGcPT%&f)7qy!&7+N@ZMo7&=dq1SrAuf{GYY)uv5)wA>Mo$pM|-A)3f<7& z((1}Otd|DGD}PJzFW4nBXw&&=Ub|;NrvQ;nN4WM&%Ry|l%)(;=4c-hgp`c2%pPj-#IIv9@rH(?qUS%IW!~#iqm$b`%QEjF2n(OJ-fMtd z;Ml?KDg7d`Z6Kax1sQ{_x=Fc<-;-N??(~hWK#wKZo(ETO8_9r^JIgi^P=TmpQSqzWQ-DO;SxX<=hDji$#+i(|6-)94gY z)hmGBP= zyML@2O*4fH$7A0TqG{G5%-ZON@~xx>ufr?!SHL`BK!Uw)wAJoo zQAEnD;ha?u81K7)#AbV@>JYVM^lZqiy*UN+C!7D^1#_pvA+u#$dHApjRFzjo4{i3j z=P3a;%u&YjabD0eK?=_IzRQTr(A8k{kY1g>O_L(!8hSOLNFG3*8H@tFHNAmWtpQJM zgwEc5dC_xZQMvzcA$h{fg_`dPv^m${F*-xD53!vX^NKcw#+jdxjSjw+49t@%G^)H+ zUffZv>kD@ie0NK!CoJg#gO_jUOMg}W0n!+C#9}vp+%uphF6+1YwQF(u0Hdp?`75hr zqZiMQ>px_L&M&>tP&lyumhOG%YB23*7KUiYS!%aB4MLL$E-F^~9#aKfe_6g*RAOjjnaQwR$jzvNnebD!-3h(p`;HhZcEP%CbQH6A z(~Gj2XGYY=VoA8{gW_3?vOJAz@v6IFOe^w5T@r?TR%A}MjVyTCa(P(Dhpim6{$$Dr zh$B>PHmJCnPS|Zr{HR#9t$?|aG<^BtJRLP;B_?swvf#AQ(^@1ZF5xq$JxZ(Ef>$Jf zzo2?)pRqSzpnOq|dR)&QwGq{GHUX35*}Yk+DRz>fT}_zk&MaQL?+j&bN2pO_dzr8- zdTHR*?R-ZUxAiJ~)nQRX*rg|2{)#Ve;b=#LAkum$b+p?oahGsf7J23+%1@Ov_Ku2G ziTt7l*Cu3L2nwlO6C>F zFjUmJ@Gmo5JJ*3<83!_)6Q)^T2fcFWh93$+$Gvn5XU2e|O_`wxZFT&FQRT&q!O^T; z_LU0Ss%UGUH#vckSDWUI!s*#9kP8;?H!$qVYQU(Z?|UPk2RHn^-3|TX_1j$ zMw;gqcdbsb??(?xFGI1{FA#O4g}gpZ5pj?6A&zyYt%o-dh@0EF$=6*fgnA$n=+==wFl^HR=vxG)x`&~RBj8P00H_p>vjL3O08S(uYBT^ z3>~JsE0=5Hoa>yx;da~srPE(BN}+d^IuYHPOLTMe^Ax~k(WDQh7zR9B9HLMB*IDTC zh>TztwK$m8(HL;zm(gOE*(4e5jBVQOP1tR^ihDF)*Q`~U8Ed@26+A?He&n1rrtB~4IUS+ep+2Dch z&mz{%j{#E>dH7z!t7{`BcgbakBb6;nh3)JP|z!M735w3RW|fOb6X39yO*CFR?OIa`q5IME+?d)VI~0=; zL)qC5o~jT;0V7bP>E{UN&vw%fY1~Y(5LCW#3|88`O(tb3ItT*0!X=tSbtQYekfmz@w_gvR0g`jYyI8 zhbCE!O*KvVudgAsG{|30MZ4j@%u8N&;g@z@S~Q)V&arg;c$4Oy$;wi@g5{g%{Y_PY zD%zkgj^X<0&QssD$d*yWMBTBBOu_pxP8PNPu9ztZmpdN83Ta?o-r&8*5GF(<1n5pO+~8Lp5Jb zjwqcFV1<`c3rd#4CsJ&tR`|)}n(qW}pKNG1 zqc@Ipxe+IJ#pft(S<_zPdv#AfO`gIU<8d%!CPysm2d+CVNcLZ77E8o$?RT9-+=--(|J23DkHn3Gegc@ zpZnpDA2)r$jeuUz*07Gk|9hp{zFs&|N^jHTuNvhV+O55p8h#et4sFAX%Qf<2Eqv42 zR1K%|Idi`Ws8287vPQ@Sc;+A@t2*rG;fvRGYxaswmA_f42q-tcwNsC{S{ftBc_+Xe zC54mW2tf*F@U;yM*@h~&W;$re|7Lvb_+<6tW;xELuV00;ZHG~#Gpr#d5Mw;bq0h;= z_eyl4ki)8E-GolisDkVdX@EWFQX^zFU%W(=;v&!bv_rdNp`r(~tTW~@n~N9vd`Ji$ z{cu=yk6Ok1_TveT2XSxozHe=j+@zl}B~vZ2J(d|v&ocX;B(B~xnP{&eC-!g0 z`M&z1E4E*0r=vE@JSBSdQn;p5AnC}mmy#PeBA${+FIFvf|KO=VZ0DzpJ756r^LmA4whW5kVvOHe`9!E^WQNyA?F9>EP7BUiY*_~7rUMr7TSQ7 zKWdlIIXoChdD=R}x!Uk`oDNGj$&l*S*@~9=4mBPiq7UNx=G-KUD{{feT`K>leuL*g zxOoP{fbkUm+Bo;YoN+2Waa5+X}*NH%N4s~s-LgdX`k3~Szd zK1*{2obCq_2Vg$c%G$aIJ5+yypLP2TVHxt_$goj^gn>J`C$%~Q){u$>u8me^@TEmq zomYbm6x+=qmr`YW16NG2gnn)nK6yhytt2V`<~tVca7@FpQxh~uy`-p$EgN-8>5qVo zpeuTn_Of>i<)z@+F{LsF4~&w#kx%=fot8B6#p?SqJ!5OF+-}W)7Z{gHS$2$EIE<3Z z{k&ue?JWE>j>o{e^Q9jW8+ixu<9GsB7nJT+i&=k;-B_}_q4hMZGba}2a?8nDaiAvF zxtQM9g-;n&5+m+m45<$jXuj(+$^vK)Ecla6ljlE4V|}P?0(1u_y$KYT{cW`!#yoKrt`Uq}LWnktpQ%fZc`~Cigfq zNC}c?b{Vi6b9EzOBV{9L)D(Zsl(L1d`S4JjVB@{Ngz^F@T>X0wz2uM(gRXpfO9$R@ z#HfEuyRDw#$MaF$B8+{S9T3j_-UJADgF8(#K{$#EnPRCS6X&1Wnx-WsW}vui zv2`@3jdqOXnw#_~eg7KlBFX>?_3b~3B^m0O{T0L+{-NSOn}rl9;Qx;@Wa$mGzNbWi z|Lu;}_xzEL?LP*S*9v?6H?j4-S&~v7&oC`(a`&@yCA3X%@bN_n;Z$9N`Ne$D95`Na#*TFoCV0{FA^rLbuJD+k7-4*<1-}kUv}N z_k}YVB5qxBCfs@?$X5hUWpyb7kUb>O!Vep-=Pe0xv3pK`=Ui#M*X-yetqS_gGE;;g7}gE z3Q@5fFyvWggIoE5kSvVdnc0WTp`OC5jtX(6_$|UVIKYWBK*Y9|&ZHJoatRy`U2^FF z7M+zt{Rp?xXL2OW>gvV(`tJz3O#Er6OvF6G&?*gC7)G7?i5aHQ`+n%X+lp@dtOHj} zJpD|ABj>y4$~CyNb^DI1=898CQ^dzZtGFI62VqBai%P#A?z?5yBFMBVMoza|)sot=WV^2T}^&u^_&uddiyS zBn$xxthNioXGFZMODb7{$= z4OcpuC6mjI)82sBmsN$w@EsJzZ&gg635*=HA*Od9QX1?K%J2EzENNPA;D(MnGk{6m zz`mn1RHIM@>})zapq`uZ!-AXTd2_Q7pW)5|Q3-nc*?v5%YtbZqPmS0csfS|Zs+$XK z>Q4n?Pv~~So{JvZIvW<_#-`*@vO265$WO`0>_d8_4S<=>Z?ho|O;fz8M1{BSJQ z5DS{i`hZo2u;0hR4F$_rc9Lo&mI8 z>4mPmaerd3AbF5Vvhbi2nC{IFoY!hvBlIto!o4%OXq&-6!TwhyNjMq%41Em#NgGQW zxW$lSn5X!mypheDq}R>UGiJ)Wpw;sXfm2CXKb1>fkJ65NzU2x5cRtJ?KZ*ptcEf1> z#%UmEnorLK^)`FT0|4icY76LuRSHV;fjASEM+zf?f%5grfK7e{l`P=&0g$gP0Its9 zqD~pP|J2g4=NK_GG5tJH5v}vG{`8FK(genzI&s@=4`2GAjp0EjZnBS8E1eh2TBc7n z#1xr-S9@NUXy`C=%jIF_hO>@4&f^FcmrC^_8?6O1PbS>3*GmJi%~dL-|3!{;Dwlm? zBColJbfqWD(UCRyINY-BK_I@i2?qde7OW2-w z!d`U6+d8g`_8iblt=+SI*t+-f4n6X&cPmlvid7Xq1eoWLQOoGCJG*(S=g4}!^LW9q zBZZAfto^))hx1mubc^$r9Vt+ONYk=*{dJiFRLdAYD%a@cUDoSi9QtOTQ z^Iz}J4Z3Ov)u2wyTEjHJLVHC5cHMTIi*3yG*qEXA{dwS<6bjk?quD_Lha11i{C}Iw z3OJi7)aNbx6BgG(t-Ltzlc+#FI&k z(~)cl9r~sLs$obk)hQQ8W*tHnSwjm->Q@dHKPVgj)N)Y|UOzZgKe#P6BYVkN`HV6D z>C3PNQKj9%gdb~1+7u2H&H6Kuyep{UvlFY>bus6g=B*y1wr;;CbN+{cTet0mOL?$9 z9?@0|V^|ZC$9Py9LIMdp)#7dV48gn|B;8H+aNS^HTc7?J3KrzEvBkSbT<=nJil2MB zXC1fJ=NVp8A-IJMnABZR+ecalb7|g=*%!1`ZB$lkZxX-KJvklOy^yuqN{)%eU_(PN zpAzJ8?cVOLO)ABp;RkmNoawlmFv`*~dbNB$a%2mLtIl+76wc1c+f@H1x#jEf;$=`0 zIU?Hi8PB1#P9i`sQ9KRQx0igwS+()agxB@eYAn-!$?918%&J!F z>jLoltO!9^{DR|TTq;^LEk%pXN6jcSBecNeMEZ}qpR$SFx>7bAagqwbI{f*CdA6@~ zDk2I6*`b+#aRrk_t@p_sZG3bl6ttocL1#7+`H!J#jX10&Ayt+l83hFev2augr2qH> zSy=ia9=??jxj>VXcA|G9Pbvarh?;OH6*mnv!s^VkgJY#_dR@huIm0p|twFqV>wa3J z_VQ+>s=low)uwIbB*_Wm%BxYUd|AgTUmvMuL`E1mmG$vv=Qb)yC)% zh$(})K`;!sT=aA zqHjH(YHpiqhO0gM3~yQjsRnN&pSy=}@lQ3zH+@d4ubmUlQoV+aXrCXp%`Yq_C?Dhj zKA)cFh#!!j#n+$SacgQT!k;>BED%0HuSwv1%KFN2mpSxk{sev7m~SV$thd`}5X{FT zJb~RoKYDYH#qVc;+A%S|ZJ^&DKYO~Ue_7*5%=rY(&irOM<;O!>$C+KKTyMZZ*~6R> z<>S(iN9HVs{Dv^Grq|=-CrlO#LOQ`lrpo8o0z%wSeltI@t1h z@Yia;A;gcq?mrhXqr9QKjr4!|v>dp*wPw8igh2%WY&gK49ld2^Y5Bwbb`MxUcA?$H=7}7k7Y%g4=`F`5_eO?+gS9S9yX4r2_ z0>5~>av|IEAnR2FdAlj|L$42{60kjJ_owB zTl#vqb>RRM4103g!+b?QP@eRdp4eeXj+}Q*ms{~seL>HzBy~@Q5G20nHiEuQc$=15 zu77&%xyyrm8z8tq^CbfphrTvM1K6xvZ1UcAu&BvFc$59gbgA1Ovd`;zCiss0fbyWn z`C#7f-Tx6}m_v3>ao)pquBT>#*K)mw_Mz!Iqjd{M5%i^tH0^!&7|YZn`=Kp7ALY&z z7PHiG`$Z$XM5s_4vCT4+CK54{MSrTc8(V+QQv;SBR@zlmV|b>`j7cZeXY>CB)e1ke-dUyCuIJ$*jD$i2{X?D5Z*XTkN}bZ(gKK}4M#(Anq4WH0CE`sdB3Q3n?|%&)8rMBYc=L@kTo@~2C6)0r?#fNk$a6*`AFA2%a0jY*;aY$QZQ2oL>71ev@bBO2)V`DX$qMJb~nKAdv|q2_!=x zQ3)goBtsz42_zQ{k`Md&d^LGff~Jz4y?o4;G;6_y30wusO#DjE_=rIQ$&Ut!NFYfd z83YMQAW0w@0trnZxoD8Q-IlkLKelFwGth)|WA5D6H+-WSJ=Xk)79zXSJR>H6J?B^6 z-p|WTwa(^WH>+y5{4)P`^pI1U&938hb!QlunLNwMfKwm;t7~-n-q@50n+cm|icOWU znXq}L*whJ|37bC*n}1z?F+?W+vtHf+Y|h-B&;EwTW~1QGNp>ZOw3`!h{@DC>M6x3w z|8ACb{--00!-lvcUO=EGo9OOe9^0B_h2#3ACg2>s)=S?+xnEbxIt3Yb# zleu2{%RxZwBp}Y50*O2+&>0DcCjq@2cT^;I^iz6E4ZZc`y4vjzcOdAT+FR55ju(?` zo{}Ouqq)us`>oR?ryn7wzn8nu9YVTumxF|whm;60yH%q}GGj?X-`nghKhG!cs_h!s zJ9ByAt_Jx;=arSwAZaZfIlsUzq!OO3xI`|ov}9)cPcx_aEbLOBF=>KsFia4%UQSE6 z!8l$HKx`aR%Q-bbG-#07t9wC9AN~wL?0=8Xj>aQx0g^leAia=(hVlC2u-wC9_-(ir z;BxBq)dkO}V9xQ=^Ybg8mbc#rEu+z)|DxSLMyFmANZzat^T~f7?lwDv4B+L=t$!cy z1jL*ge+A91L@qL=GWOcqC%WIo@#900Kgx|?cxpGk_65!VXP0C3+b?@Z%Zq~LJR`zJ z9MtBLeg)4K_5*gmR_yK89836Zfu!i)E#KrRJr~Tb)`HMLg}7 zHqAGk)BF^?L(zC?wy_5yyP}28xHgf6Jro~g{P0p`+&_8R_)r|RZ^<`mewzCWnd_T! z`g!uF@m-U5B%bZtw;%2GkM_DVVvUzXYmsMH+(4Vyf=15abj=ttHx4l6EB2ixP1;k| z&oOBu*2V^l^Gw*yKF`fa#n?$3m-!RseDvowfNQ$*8&BKMi5s(Y#ksPf1aAie!nMgF zv4GOV1|eu1A@crb8S8miwQhaERb<8!qR`R3t?lt zO?hv^#&?Ii(q(w2<#y)7$K~wfZazJj^?dkc^6%=C2`Iy#X6={L#`|_58|v5?bC5ee z7AD_^5p#^LlvPB8k)s#hNjIye`wFMVJvAeRK+SFfJE+aqw7egqCFeGbGEFt&a$PPmG^(*${ReO|@bd+ci{UZn+5y-3yM-fa=#_-t6*nuMR{c!kn zSK9YFPTp?KvOx#BJAAsa*H7WYvHit4P_voIh%NA0o%&f*&i^7GGv$*nxu)H|#9p`4 zEt)U6WVVP&Gf{{xSJE|GO3uu8UL(Hqy7ryC@m}DU(l$kJHJT(+`{8M<(wNcbiyfUR1J?M%G4BR~DBhyyNGW z7kpB7M|C6w?OK=}N_D?6LomZFZ|5$FZaCeU2~;b8#Wt!-lQ3sv<(qz$|2@{yD#2Zs#AS+xh)$yZmAt zei*`}?;{So#_z{}!@-bTt~ZB$0H<5tkIVImqxpfA=;YpcVi7(0t9!JY(!RRAUEz$3 zHTYPX#r!hwW<}|ER+g4a2={W^m)qOG~bj-t=g|W*vuWekGP1G#E&JO+= z1EbyNHM+4_-Y&wO;(0M?hxF%mzMd{d!SUYz^f6x(Ijwo`QNv#QNlqOVHZtU9 z%a^QYvYzK)J&BDReu(u{xqPX{lh9;6f1dS}r)}VsxM1t4lkq$^<7q#L`(r{+$;aF2 zWIdDhY{Z_8?_$`}#KmmhldU`_TPf|gH-3z*ER=ewwlZzgpWjqQ#UB}}WK2t6`_aX* z^z**lFY27_zRJyy`RPw${k=S;USq1ET1NR8sw|=^3xsAUoIPQnHeFl)Nq_rAb8OhY zqE@gG9Eym8BiUdfsA8mGfp zOWznq*DD-hY7|`r|BUNE#y&o{TCPQ)i;f7>q+v8eWN181K{2{KOf%1m5n>=b1`RG3 z8IVYn9ARC|h$TiR$k)AW&lUHJ9#9j4!B&Pg3HuT@PssI_;QGh_Qmk|AChUPcl58v) zsnFpD!N}30?Iz=Gd{MiN0Wt_oWax|#dK{SotQ|#XsRH~68ATXHTTnA1#?gtbEy*=% z!UK$tiZ=j1qM?Do9F8Wj<_!W{0?G;lq^7Zf9w5wsv}le=OM9drBbx!j1yCVpqPq!m z5Hs~smKx%VHRS1H1%}GA0CCg+ClK~%0T}UyJ~MX#(?l)eXzNi^lv+NWv5aD{0ls3i z%v5bpNuW$fFJ)9DAxt8<7)J<(N{Ak)5U5<~@dJ#fj#xt#LKkCXW#sN+@1{fTo`?2Qe7BQ&e1lmFSN2fbhE_z0+ z;D8HUbSkXyD6&v+0>&7qT87P~Qe*fOIp9;k1WN%z3WW8zNE-HbvD zeKCTMS*RAIFppUTB_2c8$vGB0I^5bD=`qO>RbW}1qIO2I7)1vF9(R{T?Gbb!>`XgO zIL4-?7!nH!20TDFjvN#^UQsV-@s#l@fi18&dizmy1p{=EpxE7Tbjdin9MHu~pr|(w zeYtBZX09C5RKSthBpf z$Z|b~C;>zT_@S9aw#gE(PO?;zOfDh-|Q0AaAc8XK|BfirvLh;zh(xf_u;8z8K~8s~@&b2lP) z)=$_CBqEI1Fvi&Bch8~GF@j>#)(en4A5=Z3s(a}Y@7RG)58t%;eZcf-E^JF z87IhSypArSgYHJt#|_aHfG%R-+>Miy8=?xL$sEx@ccbCuhR7Af$ zO#29l{M-Op0(6gHx<_c_=!VDw%_ErR5f*#8A-X{G2&Q?2$F6ROF3>!JX&NbFUpGV- zXd1yZjfmLU4bcUfMlg*aD)x3mbb+Q(ly2}!besx9ucRra6*Py0MgNF_UQkRgD1n4| zFJTHa14~ouI!%2dO#2A~-JqCmPzDM2(*?SLRXN>_h^|ZN;BraK0Kh6Px*m7uCdxHFd`mZU8XXR@Y`+a?o)>3-H4_oa#WUs(`qL3+*)GOlsT9t7piNT!WAe{{sP!jEW@Mg*3siE*&~Dp zQk1$`zo4Ol*?=se0&^FkN9i;Ss!-gvhXE`RR#DZu&N6V856)IJ3$-1+0*V3sX#Sq{ zm5g=W8|1&()m?SLhXKq4XxLF`V6P?M+EJt*JNZ^~fNC~(S@YCvfaP`HLf5!FsYonD z^YH@%xlF8$$d?dZb(g6@;TO#wovyOC;vghMvF#uAjOCEWYx9LQ<{b2YDA2KucN6(X zn*-@+CmOu~#?FF)OW zynjWx>SYLap1$W4;aJ2I>s`>HiNSUuv}e}$uDRYfG6tjqG6rS{%U$?idOoUmNewt? zKg(A49j1UJ>~~Ic>ou_hbMwu$Q3Tvrb=KE!;~$Mi(i2d0j6?zPBH@~E*7r4>VQDgv z13q9^;hOdlK6T|q_Dho$yq_a%&cT8ue^Wq9H?#nf__(F5UVZa|F7(Z0yA8ihVa@rGSXCM}O*m~>5^I;>x7}O~N;|$P}jUJ)#k2d-CK)=Nn_W2P}fK|uY7NI3o z_2SFD_IUineX}aUQA88%gIAjkJm4e1Zn~*^zEu?!blB$Aux$0#c)7Zl3HJ^G8Z#_S?C&(Ds&e}Dslr+jng#d$ z?5^d4X+(1ZgyT(tg6UIqDMP~^4f$x4e!PnVyy?E>I3|(joZ#x^$pm{{J%c!G= zjlHL9vcTq`IAjrvpJB&(eUxHZ98VW^v!JcbZY%J@B^|;8ULPH9+h!kB10GVhqG;3} z)-80TK9`N~;G{JV7=Pf|fzVKQYzD`8FvtTO$&}bh1Mg^DSz&-h0a+BVs(@`cXxNd{ z8dDex38ewwl7ML*t@qxN^r~J#V$E;|{Nf}W7DCgyY*4d6lus~Vu<*2&%PdBtMixeh zSleJ?+$R$e9uycogogw$ReW@IfYl`&e{7(KiK6l1z?`>2jW;{>@z+NS+XnyxkGT5f zjzUD46?7irm`D$Y)Y?@($3i!Ax0VISq~N(~R%dDnle(V;5P2&dju|E<>h4n-j!L2| z3NQ<>P$;O1P}K=1+S{RuH?BYoP}G>F6?HWy2mv76-b;qmiF