From aa568544d428464f4e5a5ad4c06a5491f8d02515 Mon Sep 17 00:00:00 2001 From: Aidar Date: Tue, 26 Nov 2024 01:53:47 +0400 Subject: [PATCH 1/4] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=20=E2=84=961?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectAutoenterprise/Entities/Bus.cs | 21 ++ .../Entities/BusRepair.cs | 21 ++ .../Entities/Employee.cs | 24 ++ .../Entities/Enums/BusColors.cs | 11 + .../Entities/Enums/EmployeePost.cs | 10 + .../Entities/Itinerary.cs | 26 ++ .../Entities/ItineraryRoutes.cs | 12 + .../ProjectAutoenterprise/Entities/Route.cs | 18 ++ .../ProjectAutoenterprise/Form1.Designer.cs | 39 --- .../ProjectAutoenterprise/Form1.cs | 10 - .../FormAutoenterprise.Designer.cs | 137 ++++++++++ .../FormAutoenterprise.cs | 76 ++++++ .../FormAutoenterprise.resx | 123 +++++++++ .../Forms/FormBus.Designer.cs | 149 +++++++++++ .../ProjectAutoenterprise/Forms/FormBus.cs | 84 +++++++ .../{Form1.resx => Forms/FormBus.resx} | 54 ++-- .../Forms/FormBusRepair.Designer.cs | 150 +++++++++++ .../Forms/FormBusRepair.cs | 35 +++ .../Forms/FormBusRepair.resx | 120 +++++++++ .../Forms/FormBusRepairs.Designer.cs | 97 +++++++ .../Forms/FormBusRepairs.cs | 41 +++ .../Forms/FormBusRepairs.resx | 120 +++++++++ .../Forms/FormBuses.Designer.cs | 125 +++++++++ .../ProjectAutoenterprise/Forms/FormBuses.cs | 90 +++++++ .../Forms/FormBuses.resx | 120 +++++++++ .../Forms/FormEmployee.Designer.cs | 170 +++++++++++++ .../Forms/FormEmployee.cs | 68 +++++ .../Forms/FormEmployee.resx | 120 +++++++++ .../Forms/FormEmployees.Designer.cs | 125 +++++++++ .../Forms/FormEmployees.cs | 90 +++++++ .../Forms/FormEmployees.resx | 120 +++++++++ .../Forms/FormItineraries.Designer.cs | 112 +++++++++ .../Forms/FormItineraries.cs | 73 ++++++ .../Forms/FormItineraries.resx | 120 +++++++++ .../Forms/FormItinerary.Designer.cs | 238 ++++++++++++++++++ .../Forms/FormItinerary.cs | 70 ++++++ .../Forms/FormItinerary.resx | 123 +++++++++ .../Forms/FormRoute.Designer.cs | 120 +++++++++ .../ProjectAutoenterprise/Forms/FormRoute.cs | 66 +++++ .../Forms/FormRoute.resx | 120 +++++++++ .../Forms/FormRoutes.Designer.cs | 126 ++++++++++ .../ProjectAutoenterprise/Forms/FormRoutes.cs | 89 +++++++ .../Forms/FormRoutes.resx | 120 +++++++++ .../ProjectAutoenterprise/Program.cs | 17 +- .../ProjectAutoenterprise.csproj | 19 ++ .../Properties/Resources.Designer.cs | 103 ++++++++ .../Properties/Resources.resx | 133 ++++++++++ .../Repositories/IBusRepairRepository.cs | 9 + .../Repositories/IBusRepository.cs | 11 + .../Repositories/IEmployeeRepository.cs | 12 + .../Repositories/IItineraryRepository.cs | 10 + .../Repositories/IRouteRepository.cs | 11 + .../Implementations/BusRepairRepository.cs | 15 ++ .../Implementations/BusRepository.cs | 23 ++ .../Implementations/EmployeeRepository.cs | 32 +++ .../Implementations/ItineraryRepository.cs | 18 ++ .../Implementations/RouteRepository.cs | 23 ++ .../ProjectAutoenterprise/Resources/Add.png | Bin 0 -> 944 bytes .../Resources/Background_image.bmp | Bin 0 -> 388854 bytes .../Resources/Delete.png | Bin 0 -> 487 bytes .../ProjectAutoenterprise/Resources/Edit.png | Bin 0 -> 853 bytes ProjectAutoenterprise/Resources/Add.png | Bin 0 -> 944 bytes .../Resources/Background_image.bmp | Bin 0 -> 388854 bytes ProjectAutoenterprise/Resources/Delete.png | Bin 0 -> 487 bytes ProjectAutoenterprise/Resources/Edit.png | Bin 0 -> 853 bytes 65 files changed, 4142 insertions(+), 77 deletions(-) create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Entities/Bus.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Entities/BusRepair.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Entities/Employee.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Entities/Enums/BusColors.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Entities/Enums/EmployeePost.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Entities/Itinerary.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Entities/ItineraryRoutes.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Entities/Route.cs delete mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Form1.Designer.cs delete mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Form1.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.Designer.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.resx create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.Designer.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.cs rename ProjectAutoenterprise/ProjectAutoenterprise/{Form1.resx => Forms/FormBus.resx} (92%) create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.Designer.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.resx create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepairs.Designer.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepairs.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepairs.resx create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.Designer.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.resx create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.Designer.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.resx create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.Designer.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.resx create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.Designer.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.resx create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.Designer.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.resx create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.Designer.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.resx create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.Designer.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.resx create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Properties/Resources.Designer.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Properties/Resources.resx create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IBusRepairRepository.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IBusRepository.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IEmployeeRepository.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IItineraryRepository.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IRouteRepository.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/BusRepairRepository.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/BusRepository.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/EmployeeRepository.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/ItineraryRepository.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/RouteRepository.cs create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Resources/Add.png create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Resources/Background_image.bmp create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Resources/Delete.png create mode 100644 ProjectAutoenterprise/ProjectAutoenterprise/Resources/Edit.png create mode 100644 ProjectAutoenterprise/Resources/Add.png create mode 100644 ProjectAutoenterprise/Resources/Background_image.bmp create mode 100644 ProjectAutoenterprise/Resources/Delete.png create mode 100644 ProjectAutoenterprise/Resources/Edit.png diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Bus.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Bus.cs new file mode 100644 index 0000000..9afda35 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Bus.cs @@ -0,0 +1,21 @@ +using ProjectAutoenterprise.Entities.Enums; +namespace ProjectAutoenterprise.Entities; + +public class Bus +{ + public int Id { get; private set; } + public string Brand { get; private set; } = string.Empty; + public int Capacity { get; private set; } + public BusColors BusColors { get; private set; } + + public static Bus CreateEntity(int id, string brand, int capacity, BusColors busColors) + { + return new Bus + { + Id = id, + Brand = brand, + Capacity = capacity, + BusColors = busColors + }; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/BusRepair.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/BusRepair.cs new file mode 100644 index 0000000..d8fc73f --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/BusRepair.cs @@ -0,0 +1,21 @@ +using System; +namespace ProjectAutoenterprise.Entities; + +public class BusRepair +{ + public int Id { get; private set; } + public int BusId { get; private set; } + public DateTime RepairDate { get; private set; } + public string Description { get; private set; } = string.Empty; + + public static BusRepair CreateOperation(int id, int busId, string description) + { + return new BusRepair + { + Id = id, + BusId = busId, + RepairDate = DateTime.Now, + Description = description + }; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Employee.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Employee.cs new file mode 100644 index 0000000..f5212c8 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Employee.cs @@ -0,0 +1,24 @@ +using ProjectAutoenterprise.Entities.Enums; +namespace ProjectAutoenterprise.Entities; + +public class Employee +{ + public int Id { get; private set; } + public string FirstName { get; private set; } = string.Empty; + public string LastName { get; private set; } = string.Empty; + public DateTime BirthDate { get; private set; } + public EmployeePost EmployeePost { get; private set; } + + public static Employee CreateEntity(int id, string firstName, string lastName, DateTime birthDate, + EmployeePost employeePost) + { + return new Employee + { + Id = id, + FirstName = firstName ?? string.Empty, + LastName = lastName ?? string.Empty, + BirthDate = birthDate, + EmployeePost = employeePost + }; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Enums/BusColors.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Enums/BusColors.cs new file mode 100644 index 0000000..fea5ddb --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Enums/BusColors.cs @@ -0,0 +1,11 @@ +namespace ProjectAutoenterprise.Entities.Enums; + +[Flags] +public enum BusColors +{ + White = 0, + Yellow = 1, + Black = 2, + Blue = 4, + Green = 8 +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Enums/EmployeePost.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Enums/EmployeePost.cs new file mode 100644 index 0000000..01ea6e2 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Enums/EmployeePost.cs @@ -0,0 +1,10 @@ +namespace ProjectAutoenterprise.Entities.Enums; + +public enum EmployeePost +{ + None = 0, + Driver = 1, + Conductor = 2, + Mechanic = 3, + Administrator = 4 +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Itinerary.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Itinerary.cs new file mode 100644 index 0000000..2d9fdaf --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Itinerary.cs @@ -0,0 +1,26 @@ +namespace ProjectAutoenterprise.Entities; + +public class Itinerary +{ + public int Id { get; private set; } + public int BusId { get; private set; } + public IEnumerable ItineraryRoute { get; private set; } = []; + public int DriverId { get; private set; } + public int ConductorId { get; private set; } + public DateTime ItineraryDate { get; private set; } + public string Description { get; private set; } = string.Empty; + + public static Itinerary CreateEntity(int id, int busId, int conductorID, DateTime itineraryDate, string description, + IEnumerable itineraryRoute) + { + return new Itinerary + { + Id = id, + BusId = busId, + ItineraryRoute = itineraryRoute, + ConductorId = conductorID, + ItineraryDate = itineraryDate, + Description = description + }; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/ItineraryRoutes.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/ItineraryRoutes.cs new file mode 100644 index 0000000..589c340 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/ItineraryRoutes.cs @@ -0,0 +1,12 @@ +namespace ProjectAutoenterprise.Entities; + +public class ItineraryRoute +{ + public int Id { get; private set; } + public int RouteId { get; private set; } + + public static ItineraryRoute CreateElement(int id, int routeId) + { + return new ItineraryRoute { Id = id, RouteId = routeId }; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Route.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Route.cs new file mode 100644 index 0000000..4bca98a --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Route.cs @@ -0,0 +1,18 @@ +namespace ProjectAutoenterprise.Entities; + +public class Route +{ + public int Id { get; private set; } + public string BeginRoutePoint { get; private set; } = string.Empty; + public string EndRoutePoint { get; private set; } = string.Empty; + + public static Route CreateEntity(int id, string beginRoutePoint, string endRoutePoint) + { + return new Route + { + Id = id, + BeginRoutePoint = beginRoutePoint, + EndRoutePoint = endRoutePoint + }; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Form1.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Form1.Designer.cs deleted file mode 100644 index 802375d..0000000 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Form1.Designer.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace ProjectAutoenterprise -{ - partial class Form1 - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(800, 450); - this.Text = "Form1"; - } - - #endregion - } -} diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Form1.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Form1.cs deleted file mode 100644 index 69f6ded..0000000 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Form1.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace ProjectAutoenterprise -{ - public partial class Form1 : Form - { - public Form1() - { - InitializeComponent(); - } - } -} diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.Designer.cs new file mode 100644 index 0000000..8d09c86 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.Designer.cs @@ -0,0 +1,137 @@ +namespace ProjectAutoenterprise +{ + partial class FormAutoenterprise + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + menuStrip1 = new MenuStrip(); + справочникиToolStripMenuItem = new ToolStripMenuItem(); + ToolStripMenuItemItineraries = new ToolStripMenuItem(); + ToolStripMenuItemRoutes = new ToolStripMenuItem(); + ToolStripMenuItemEmployees = new ToolStripMenuItem(); + ToolStripMenuItemBuses = new ToolStripMenuItem(); + операцииToolStripMenuItem = new ToolStripMenuItem(); + ToolStripMenuItemBusRepairs = new ToolStripMenuItem(); + отчетыToolStripMenuItem = new ToolStripMenuItem(); + menuStrip1.SuspendLayout(); + SuspendLayout(); + // + // menuStrip1 + // + menuStrip1.Items.AddRange(new ToolStripItem[] { справочникиToolStripMenuItem, операцииToolStripMenuItem, отчетыToolStripMenuItem }); + menuStrip1.Location = new Point(0, 0); + menuStrip1.Name = "menuStrip1"; + menuStrip1.Size = new Size(784, 24); + menuStrip1.TabIndex = 0; + menuStrip1.Text = "menuStrip1"; + // + // справочникиToolStripMenuItem + // + справочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { ToolStripMenuItemItineraries, ToolStripMenuItemRoutes, ToolStripMenuItemEmployees, ToolStripMenuItemBuses }); + справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem"; + справочникиToolStripMenuItem.Size = new Size(94, 20); + справочникиToolStripMenuItem.Text = "Справочники"; + // + // ToolStripMenuItemItineraries + // + ToolStripMenuItemItineraries.Name = "ToolStripMenuItemItineraries"; + ToolStripMenuItemItineraries.Size = new Size(186, 22); + ToolStripMenuItemItineraries.Text = "Маршрутные листы"; + ToolStripMenuItemItineraries.Click += ToolStripMenuItemItineraries_Click; + // + // ToolStripMenuItemRoutes + // + ToolStripMenuItemRoutes.Name = "ToolStripMenuItemRoutes"; + ToolStripMenuItemRoutes.Size = new Size(186, 22); + ToolStripMenuItemRoutes.Text = "Маршруты"; + ToolStripMenuItemRoutes.Click += ToolStripMenuItemRoutes_Click; + // + // ToolStripMenuItemEmployees + // + ToolStripMenuItemEmployees.Name = "ToolStripMenuItemEmployees"; + ToolStripMenuItemEmployees.Size = new Size(186, 22); + ToolStripMenuItemEmployees.Text = "Работники"; + ToolStripMenuItemEmployees.Click += ToolStripMenuItemEmployees_Click; + // + // ToolStripMenuItemBuses + // + ToolStripMenuItemBuses.Name = "ToolStripMenuItemBuses"; + ToolStripMenuItemBuses.Size = new Size(186, 22); + ToolStripMenuItemBuses.Text = "Автобусы"; + ToolStripMenuItemBuses.Click += ToolStripMenuItemBuses_Click; + // + // операцииToolStripMenuItem + // + операцииToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { ToolStripMenuItemBusRepairs }); + операцииToolStripMenuItem.Name = "операцииToolStripMenuItem"; + операцииToolStripMenuItem.Size = new Size(75, 20); + операцииToolStripMenuItem.Text = "Операции"; + // + // ToolStripMenuItemBusRepairs + // + ToolStripMenuItemBusRepairs.Name = "ToolStripMenuItemBusRepairs"; + ToolStripMenuItemBusRepairs.Size = new Size(174, 22); + ToolStripMenuItemBusRepairs.Text = "Ремонт автобусов"; + ToolStripMenuItemBusRepairs.Click += ToolStripMenuItemBusRepairs_Click; + // + // отчетыToolStripMenuItem + // + отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem"; + отчетыToolStripMenuItem.Size = new Size(60, 20); + отчетыToolStripMenuItem.Text = "Отчеты"; + // + // FormAutoenterprise + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + BackgroundImage = Properties.Resources.Background_image; + BackgroundImageLayout = ImageLayout.Stretch; + ClientSize = new Size(784, 411); + Controls.Add(menuStrip1); + MainMenuStrip = menuStrip1; + Name = "FormAutoenterprise"; + StartPosition = FormStartPosition.CenterScreen; + Text = "Автопредприятие"; + menuStrip1.ResumeLayout(false); + menuStrip1.PerformLayout(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private MenuStrip menuStrip1; + private ToolStripMenuItem справочникиToolStripMenuItem; + private ToolStripMenuItem ToolStripMenuItemRoutes; + private ToolStripMenuItem ToolStripMenuItemEmployees; + private ToolStripMenuItem ToolStripMenuItemBuses; + private ToolStripMenuItem операцииToolStripMenuItem; + private ToolStripMenuItem ToolStripMenuItemBusRepairs; + private ToolStripMenuItem отчетыToolStripMenuItem; + private ToolStripMenuItem ToolStripMenuItemItineraries; + } +} diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.cs b/ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.cs new file mode 100644 index 0000000..3610410 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.cs @@ -0,0 +1,76 @@ +using ProjectAutoenterprise.Forms; +using Unity; + +namespace ProjectAutoenterprise +{ + public partial class FormAutoenterprise : Form + { + private readonly IUnityContainer _container; + public FormAutoenterprise(IUnityContainer container) + { + InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + } + + private void ToolStripMenuItemRoutes_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ToolStripMenuItemEmployees_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ToolStripMenuItemBuses_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ToolStripMenuItemBusRepairs_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ToolStripMenuItemItineraries_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.resx b/ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.resx new file mode 100644 index 0000000..b48baf1 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.Designer.cs new file mode 100644 index 0000000..a7634ee --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.Designer.cs @@ -0,0 +1,149 @@ +namespace ProjectAutoenterprise.Forms +{ + partial class FormBus + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + checkedListBoxBusColors = new CheckedListBox(); + label1 = new Label(); + label2 = new Label(); + label3 = new Label(); + numericUpDownCapacity = new NumericUpDown(); + textBoxBrand = new TextBox(); + buttonSave = new Button(); + buttonCancel = new Button(); + ((System.ComponentModel.ISupportInitialize)numericUpDownCapacity).BeginInit(); + SuspendLayout(); + // + // checkedListBoxBusColors + // + checkedListBoxBusColors.FormattingEnabled = true; + checkedListBoxBusColors.Location = new Point(78, 40); + checkedListBoxBusColors.Name = "checkedListBoxBusColors"; + checkedListBoxBusColors.Size = new Size(158, 94); + checkedListBoxBusColors.TabIndex = 0; + // + // label1 + // + label1.AutoSize = true; + label1.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); + label1.Location = new Point(16, 40); + label1.Name = "label1"; + label1.Size = new Size(56, 21); + label1.TabIndex = 1; + label1.Text = "Цвета:"; + // + // label2 + // + label2.AutoSize = true; + label2.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); + label2.Location = new Point(12, 9); + label2.Name = "label2"; + label2.Size = new Size(60, 21); + label2.TabIndex = 2; + label2.Text = "Марка:"; + // + // label3 + // + label3.AutoSize = true; + label3.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); + label3.Location = new Point(1, 142); + label3.Name = "label3"; + label3.Size = new Size(106, 21); + label3.TabIndex = 3; + label3.Text = "Вместимость:"; + // + // numericUpDownCapacity + // + numericUpDownCapacity.Location = new Point(113, 145); + numericUpDownCapacity.Maximum = new decimal(new int[] { 99, 0, 0, 0 }); + numericUpDownCapacity.Name = "numericUpDownCapacity"; + numericUpDownCapacity.Size = new Size(51, 23); + numericUpDownCapacity.TabIndex = 4; + // + // textBoxBrand + // + textBoxBrand.Location = new Point(78, 11); + textBoxBrand.Name = "textBoxBrand"; + textBoxBrand.Size = new Size(158, 23); + textBoxBrand.TabIndex = 5; + // + // buttonSave + // + buttonSave.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + buttonSave.Location = new Point(12, 184); + buttonSave.Name = "buttonSave"; + buttonSave.Size = new Size(111, 30); + buttonSave.TabIndex = 6; + buttonSave.Text = "Сохранить"; + buttonSave.UseVisualStyleBackColor = true; + buttonSave.Click += ButtonSave_Click; + // + // buttonCancel + // + buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonCancel.Location = new Point(162, 184); + buttonCancel.Name = "buttonCancel"; + buttonCancel.Size = new Size(112, 30); + buttonCancel.TabIndex = 7; + buttonCancel.Text = "Отмена"; + buttonCancel.UseVisualStyleBackColor = true; + buttonCancel.Click += ButtonCancel_Click; + // + // FormBus + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(283, 222); + Controls.Add(buttonCancel); + Controls.Add(buttonSave); + Controls.Add(textBoxBrand); + Controls.Add(numericUpDownCapacity); + Controls.Add(label3); + Controls.Add(label2); + Controls.Add(label1); + Controls.Add(checkedListBoxBusColors); + Name = "FormBus"; + StartPosition = FormStartPosition.CenterParent; + Text = "Автобус"; + ((System.ComponentModel.ISupportInitialize)numericUpDownCapacity).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private CheckedListBox checkedListBoxBusColors; + private Label label1; + private Label label2; + private Label label3; + private NumericUpDown numericUpDownCapacity; + private TextBox textBoxBrand; + private Button buttonSave; + private Button buttonCancel; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.cs new file mode 100644 index 0000000..bd48132 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.cs @@ -0,0 +1,84 @@ +using ProjectAutoenterprise.Entities; +using ProjectAutoenterprise.Entities.Enums; +using ProjectAutoenterprise.Repositories; +namespace ProjectAutoenterprise.Forms; + +public partial class FormBus : Form +{ + private readonly IBusRepository _busRepository; + private int? _busId; + public int Id + { + set + { + try + { + var bus = _busRepository.ReadBusById(value); + if (bus == null) + { + throw new InvalidDataException(nameof(bus)); + } + foreach (BusColors elem in Enum.GetValues(typeof(BusColors))) + { + if ((elem & bus.BusColors) != 0) + { + checkedListBoxBusColors.SetItemChecked(checkedListBoxBusColors.Items.IndexOf(elem), true); + } + } + textBoxBrand.Text = bus.Brand; + numericUpDownCapacity.Value = Convert.ToDecimal(bus.Capacity); + _busId = value; + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при получении данных", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + } + } + public FormBus(IBusRepository busRepository) + { + InitializeComponent(); + _busRepository = busRepository ?? + throw new ArgumentNullException(nameof(busRepository)); + foreach (var elem in Enum.GetValues(typeof(BusColors))) + { + checkedListBoxBusColors.Items.Add(elem); + } + } + private void ButtonSave_Click(object sender, EventArgs e) + { + try + { + if (string.IsNullOrWhiteSpace(textBoxBrand.Text) || + Convert.ToInt32(numericUpDownCapacity.Value) == 0 || + checkedListBoxBusColors.CheckedItems.Count == 0) + { + throw new Exception("Имеются незаполненные поля"); + } + if (_busId.HasValue) + { + _busRepository.UpdateBus(CreateBus(_busId.Value)); + } + else + { + _busRepository.CreateBus(CreateBus(0)); + } + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonCancel_Click(object sender, EventArgs e) => Close(); + private Bus CreateBus(int id) + { + BusColors busColors = BusColors.White; + foreach (var elem in checkedListBoxBusColors.CheckedItems) + { + busColors |= (BusColors)elem; + } + return Bus.CreateEntity(id, textBoxBrand.Text, Convert.ToInt32(numericUpDownCapacity.Value), busColors); + } +} diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Form1.resx b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.resx similarity index 92% rename from ProjectAutoenterprise/ProjectAutoenterprise/Form1.resx rename to ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.resx index 1af7de1..8b2ff64 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Form1.resx +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.resx @@ -1,17 +1,17 @@  - diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.Designer.cs new file mode 100644 index 0000000..e856bc8 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.Designer.cs @@ -0,0 +1,150 @@ +namespace ProjectAutoenterprise.Forms +{ + partial class FormBusRepair + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + label1 = new Label(); + label2 = new Label(); + label3 = new Label(); + dateTimePickerRepairDate = new DateTimePicker(); + textBoxDescription = new TextBox(); + buttonCancel = new Button(); + buttonSave = new Button(); + comboBoxBus = new ComboBox(); + SuspendLayout(); + // + // label1 + // + label1.AutoSize = true; + label1.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); + label1.Location = new Point(26, 9); + label1.Name = "label1"; + label1.Size = new Size(98, 21); + label1.TabIndex = 0; + label1.Text = "ID Автобуса:"; + // + // label2 + // + label2.AutoSize = true; + label2.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); + label2.Location = new Point(12, 47); + label2.Name = "label2"; + label2.Size = new Size(112, 21); + label2.TabIndex = 1; + label2.Text = "Дата ремонта:"; + // + // label3 + // + label3.AutoSize = true; + label3.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); + label3.Location = new Point(40, 85); + label3.Name = "label3"; + label3.Size = new Size(84, 21); + label3.TabIndex = 2; + label3.Text = "Описание:"; + // + // dateTimePickerRepairDate + // + dateTimePickerRepairDate.Enabled = false; + dateTimePickerRepairDate.Location = new Point(130, 47); + dateTimePickerRepairDate.Name = "dateTimePickerRepairDate"; + dateTimePickerRepairDate.Size = new Size(195, 23); + dateTimePickerRepairDate.TabIndex = 4; + // + // textBoxDescription + // + textBoxDescription.Location = new Point(130, 87); + textBoxDescription.Multiline = true; + textBoxDescription.Name = "textBoxDescription"; + textBoxDescription.Size = new Size(195, 143); + textBoxDescription.TabIndex = 5; + // + // buttonCancel + // + buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonCancel.Location = new Point(207, 240); + buttonCancel.Name = "buttonCancel"; + buttonCancel.Size = new Size(112, 30); + buttonCancel.TabIndex = 9; + buttonCancel.Text = "Отмена"; + buttonCancel.UseVisualStyleBackColor = true; + buttonCancel.Click += ButtonCancel_Click; + // + // buttonSave + // + buttonSave.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + buttonSave.Location = new Point(10, 240); + buttonSave.Name = "buttonSave"; + buttonSave.Size = new Size(111, 30); + buttonSave.TabIndex = 8; + buttonSave.Text = "Сохранить"; + buttonSave.UseVisualStyleBackColor = true; + buttonSave.Click += ButtonSave_Click; + // + // comboBoxBus + // + comboBoxBus.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxBus.FormattingEnabled = true; + comboBoxBus.Location = new Point(130, 11); + comboBoxBus.Name = "comboBoxBus"; + comboBoxBus.Size = new Size(195, 23); + comboBoxBus.TabIndex = 10; + // + // FormBusRepair + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(331, 282); + Controls.Add(comboBoxBus); + Controls.Add(buttonCancel); + Controls.Add(buttonSave); + Controls.Add(textBoxDescription); + Controls.Add(dateTimePickerRepairDate); + Controls.Add(label3); + Controls.Add(label2); + Controls.Add(label1); + Name = "FormBusRepair"; + StartPosition = FormStartPosition.CenterParent; + Text = "Ремонт автобусов"; + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private Label label1; + private Label label2; + private Label label3; + private NumericUpDown numericUpDown1; + private DateTimePicker dateTimePickerRepairDate; + private TextBox textBoxDescription; + private Button buttonCancel; + private Button buttonSave; + private ComboBox comboBoxBus; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.cs new file mode 100644 index 0000000..6125a64 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.cs @@ -0,0 +1,35 @@ +using ProjectAutoenterprise.Entities; +using ProjectAutoenterprise.Repositories; + +namespace ProjectAutoenterprise.Forms; + +public partial class FormBusRepair : Form +{ + private readonly IBusRepairRepository _busRepairRepository; + public FormBusRepair(IBusRepairRepository busRepairRepository, IBusRepository busRepository) + { + InitializeComponent(); + _busRepairRepository = busRepairRepository ?? + throw new ArgumentNullException(nameof(busRepairRepository)); + comboBoxBus.DataSource = busRepository.ReadBuses(); + comboBoxBus.DisplayMember = "Brand"; + comboBoxBus.ValueMember = "Id"; + } + private void ButtonSave_Click(object sender, EventArgs e) + { + try + { + if (comboBoxBus.SelectedIndex < 0) + { + throw new Exception("Имеются незаполненные поля"); + } + _busRepairRepository.CreateBusRepair(BusRepair.CreateOperation( 0, (int)comboBoxBus.SelectedValue!, textBoxDescription.Text)); + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonCancel_Click(object sender, EventArgs e) => Close(); +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.resx b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepairs.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepairs.Designer.cs new file mode 100644 index 0000000..b03e1b7 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepairs.Designer.cs @@ -0,0 +1,97 @@ +namespace ProjectAutoenterprise.Forms +{ + partial class FormBusRepairs + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + panel = new Panel(); + buttonAdd = new Button(); + dataGridViewData = new DataGridView(); + panel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).BeginInit(); + SuspendLayout(); + // + // panel + // + panel.Controls.Add(buttonAdd); + panel.Dock = DockStyle.Right; + panel.Location = new Point(698, 0); + panel.Name = "panel"; + panel.Size = new Size(102, 450); + panel.TabIndex = 2; + // + // buttonAdd + // + buttonAdd.BackgroundImage = Properties.Resources.Add; + buttonAdd.BackgroundImageLayout = ImageLayout.Stretch; + buttonAdd.Location = new Point(20, 12); + buttonAdd.Name = "buttonAdd"; + buttonAdd.Size = new Size(70, 70); + buttonAdd.TabIndex = 1; + buttonAdd.UseVisualStyleBackColor = true; + buttonAdd.Click += ButtonAdd_Click; + // + // dataGridViewData + // + dataGridViewData.AllowUserToAddRows = false; + dataGridViewData.AllowUserToDeleteRows = false; + dataGridViewData.AllowUserToResizeColumns = false; + dataGridViewData.AllowUserToResizeRows = false; + dataGridViewData.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridViewData.BackgroundColor = Color.WhiteSmoke; + dataGridViewData.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewData.Dock = DockStyle.Fill; + dataGridViewData.Location = new Point(0, 0); + dataGridViewData.MultiSelect = false; + dataGridViewData.Name = "dataGridViewData"; + dataGridViewData.ReadOnly = true; + dataGridViewData.RowHeadersVisible = false; + dataGridViewData.Size = new Size(698, 450); + dataGridViewData.TabIndex = 3; + // + // FormBusRepairs + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(dataGridViewData); + Controls.Add(panel); + Name = "FormBusRepairs"; + Text = "FormBusRepairs"; + Load += FormBusRepairs_Load; + panel.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).EndInit(); + ResumeLayout(false); + } + + #endregion + + private Panel panel; + private Button buttonAdd; + private DataGridView dataGridViewData; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepairs.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepairs.cs new file mode 100644 index 0000000..28d15da --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepairs.cs @@ -0,0 +1,41 @@ +using ProjectAutoenterprise.Repositories; +using Unity; +namespace ProjectAutoenterprise.Forms; + +public partial class FormBusRepairs : Form +{ + private readonly IUnityContainer _container; + private readonly IBusRepairRepository _busRepairRepository; + public FormBusRepairs(IUnityContainer container, IBusRepairRepository busRepairRepository) + { + InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + _busRepairRepository = busRepairRepository ?? + throw new ArgumentNullException(nameof(busRepairRepository)); + } + private void FormBusRepairs_Load(object sender, EventArgs e) + { + try + { + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при загрузке", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonAdd_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при добавлении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void LoadList() => dataGridViewData.DataSource = _busRepairRepository.ReadBusRepairs(); +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepairs.resx b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepairs.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepairs.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.Designer.cs new file mode 100644 index 0000000..7e63fcc --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.Designer.cs @@ -0,0 +1,125 @@ +namespace ProjectAutoenterprise.Forms +{ + partial class FormBuses + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + panel = new Panel(); + buttonEdit = new Button(); + buttonDelete = new Button(); + buttonAdd = new Button(); + dataGridViewData = new DataGridView(); + panel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).BeginInit(); + SuspendLayout(); + // + // panel + // + panel.Controls.Add(buttonEdit); + panel.Controls.Add(buttonDelete); + panel.Controls.Add(buttonAdd); + panel.Dock = DockStyle.Right; + panel.Location = new Point(698, 0); + panel.Name = "panel"; + panel.Size = new Size(102, 450); + panel.TabIndex = 1; + // + // buttonEdit + // + buttonEdit.BackgroundImage = Properties.Resources.Edit; + buttonEdit.BackgroundImageLayout = ImageLayout.Stretch; + buttonEdit.Location = new Point(20, 197); + buttonEdit.Name = "buttonEdit"; + buttonEdit.Size = new Size(70, 70); + buttonEdit.TabIndex = 3; + buttonEdit.UseVisualStyleBackColor = true; + buttonEdit.Click += ButtonEdit_Click; + // + // buttonDelete + // + buttonDelete.BackgroundImage = Properties.Resources.Delete; + buttonDelete.BackgroundImageLayout = ImageLayout.Center; + buttonDelete.Location = new Point(20, 104); + buttonDelete.Name = "buttonDelete"; + buttonDelete.Size = new Size(70, 70); + buttonDelete.TabIndex = 2; + buttonDelete.UseVisualStyleBackColor = true; + buttonDelete.Click += ButtonDelete_Click; + // + // buttonAdd + // + buttonAdd.BackgroundImage = Properties.Resources.Add; + buttonAdd.BackgroundImageLayout = ImageLayout.Stretch; + buttonAdd.Location = new Point(20, 12); + buttonAdd.Name = "buttonAdd"; + buttonAdd.Size = new Size(70, 70); + buttonAdd.TabIndex = 1; + buttonAdd.UseVisualStyleBackColor = true; + buttonAdd.Click += ButtonAdd_Click; + // + // dataGridViewData + // + dataGridViewData.AllowUserToAddRows = false; + dataGridViewData.AllowUserToDeleteRows = false; + dataGridViewData.AllowUserToResizeColumns = false; + dataGridViewData.AllowUserToResizeRows = false; + dataGridViewData.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridViewData.BackgroundColor = Color.WhiteSmoke; + dataGridViewData.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewData.Dock = DockStyle.Fill; + dataGridViewData.Location = new Point(0, 0); + dataGridViewData.MultiSelect = false; + dataGridViewData.Name = "dataGridViewData"; + dataGridViewData.ReadOnly = true; + dataGridViewData.RowHeadersVisible = false; + dataGridViewData.Size = new Size(698, 450); + dataGridViewData.TabIndex = 2; + // + // FormBuses + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(dataGridViewData); + Controls.Add(panel); + Name = "FormBuses"; + Text = "Автобусы"; + Load += FormBuses_Load; + panel.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).EndInit(); + ResumeLayout(false); + } + + #endregion + + private Panel panel; + private Button buttonEdit; + private Button buttonDelete; + private Button buttonAdd; + private DataGridView dataGridViewData; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.cs new file mode 100644 index 0000000..ebc33f3 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.cs @@ -0,0 +1,90 @@ +using ProjectAutoenterprise.Repositories; +using Unity; +namespace ProjectAutoenterprise.Forms; + +public partial class FormBuses : Form +{ + private readonly IUnityContainer _container; + private readonly IBusRepository _busRepository; + public FormBuses(IUnityContainer container, IBusRepository busRepository) + { + InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + _busRepository = busRepository ?? + throw new ArgumentNullException(nameof(busRepository)); + } + private void FormBuses_Load(object sender, EventArgs e) + { + try + { + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при загрузке", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonAdd_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при добавлении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonEdit_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + try + { + var form = _container.Resolve(); + form.Id = findId; + form.ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при изменении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonDelete_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + if (MessageBox.Show("Удалить запись?", "Удаление", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + try + { + _busRepository.DeleteBus(findId); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при удалении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void LoadList() => dataGridViewData.DataSource = _busRepository.ReadBuses(); + private bool TryGetIdentifierFromSelectedRow(out int id) + { + id = 0; + if (dataGridViewData.SelectedRows.Count< 1) + { + MessageBox.Show("Нет выбранной записи", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + id = Convert.ToInt32(dataGridViewData.SelectedRows[0].Cells["Id"].Value); + return true; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.resx b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.Designer.cs new file mode 100644 index 0000000..7fc06d2 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.Designer.cs @@ -0,0 +1,170 @@ +namespace ProjectAutoenterprise.Forms +{ + partial class FormEmployee + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + label1 = new Label(); + label2 = new Label(); + label3 = new Label(); + label4 = new Label(); + buttonSave = new Button(); + buttonCancel = new Button(); + comboBoxPost = new ComboBox(); + textBoxFirstName = new TextBox(); + textBoxLastName = new TextBox(); + dateTimePickerBirthDate = new DateTimePicker(); + SuspendLayout(); + // + // label1 + // + label1.AutoSize = true; + label1.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); + label1.Location = new Point(58, 9); + label1.Name = "label1"; + label1.Size = new Size(78, 21); + label1.TabIndex = 0; + label1.Text = "Фамилия:"; + // + // label2 + // + label2.AutoSize = true; + label2.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); + label2.Location = new Point(92, 42); + label2.Name = "label2"; + label2.Size = new Size(44, 21); + label2.TabIndex = 1; + label2.Text = "Имя:"; + // + // label3 + // + label3.AutoSize = true; + label3.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); + label3.Location = new Point(12, 75); + label3.Name = "label3"; + label3.Size = new Size(124, 21); + label3.TabIndex = 2; + label3.Text = "Дата рождения:"; + // + // label4 + // + label4.AutoSize = true; + label4.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); + label4.Location = new Point(43, 108); + label4.Name = "label4"; + label4.Size = new Size(93, 21); + label4.TabIndex = 3; + label4.Text = "Должность:"; + // + // buttonSave + // + buttonSave.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + buttonSave.Location = new Point(12, 147); + buttonSave.Name = "buttonSave"; + buttonSave.Size = new Size(140, 30); + buttonSave.TabIndex = 5; + buttonSave.Text = "Сохранить"; + buttonSave.UseVisualStyleBackColor = true; + buttonSave.Click += ButtonSave_Click; + // + // buttonCancel + // + buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonCancel.Location = new Point(205, 147); + buttonCancel.Name = "buttonCancel"; + buttonCancel.Size = new Size(140, 30); + buttonCancel.TabIndex = 6; + buttonCancel.Text = "Отмена"; + buttonCancel.UseVisualStyleBackColor = true; + buttonCancel.Click += ButtonCancel_Click; + // + // comboBoxPost + // + comboBoxPost.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxPost.FormattingEnabled = true; + comboBoxPost.Location = new Point(142, 110); + comboBoxPost.Name = "comboBoxPost"; + comboBoxPost.Size = new Size(200, 23); + comboBoxPost.TabIndex = 7; + // + // textBoxFirstName + // + textBoxFirstName.Location = new Point(142, 44); + textBoxFirstName.Name = "textBoxFirstName"; + textBoxFirstName.Size = new Size(200, 23); + textBoxFirstName.TabIndex = 9; + // + // textBoxLastName + // + textBoxLastName.Location = new Point(141, 11); + textBoxLastName.Name = "textBoxLastName"; + textBoxLastName.Size = new Size(200, 23); + textBoxLastName.TabIndex = 10; + // + // dateTimePickerBirthDate + // + dateTimePickerBirthDate.Location = new Point(142, 75); + dateTimePickerBirthDate.Name = "dateTimePickerBirthDate"; + dateTimePickerBirthDate.Size = new Size(200, 23); + dateTimePickerBirthDate.TabIndex = 11; + // + // FormEmployee + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(354, 191); + Controls.Add(dateTimePickerBirthDate); + Controls.Add(textBoxLastName); + Controls.Add(textBoxFirstName); + Controls.Add(comboBoxPost); + Controls.Add(buttonCancel); + Controls.Add(buttonSave); + Controls.Add(label4); + Controls.Add(label3); + Controls.Add(label2); + Controls.Add(label1); + Name = "FormEmployee"; + StartPosition = FormStartPosition.CenterParent; + Text = "Работник"; + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private Label label1; + private Label label2; + private Label label3; + private Label label4; + private Button buttonSave; + private Button buttonCancel; + private ComboBox comboBoxPost; + private TextBox textBoxFirstName; + private TextBox textBoxLastName; + private DateTimePicker dateTimePickerBirthDate; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.cs new file mode 100644 index 0000000..10ccbf7 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.cs @@ -0,0 +1,68 @@ +using ProjectAutoenterprise.Entities.Enums; +using ProjectAutoenterprise.Entities; +using ProjectAutoenterprise.Repositories; +namespace ProjectAutoenterprise.Forms; + +public partial class FormEmployee : Form +{ + private readonly IEmployeeRepository _employeeRepository; + private int? _employeeId; + public int Id + { + set + { + try + { + var employee = _employeeRepository.ReadEmployeeById(value); + if (employee == null) + { + throw new InvalidDataException(nameof(employee)); + } + textBoxFirstName.Text = employee.FirstName; + textBoxLastName.Text = employee.LastName; + comboBoxPost.SelectedItem = employee.EmployeePost; + _employeeId = value; + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при получении данных", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + } + } + public FormEmployee(IEmployeeRepository employeeRepository) + { + InitializeComponent(); + _employeeRepository = employeeRepository ?? + throw new ArgumentNullException(nameof(employeeRepository)); + comboBoxPost.DataSource = Enum.GetValues(typeof(EmployeePost)); + } + private void ButtonSave_Click(object sender, EventArgs e) + { + try + { + if (string.IsNullOrWhiteSpace(textBoxFirstName.Text) || + string.IsNullOrWhiteSpace(textBoxLastName.Text) || + comboBoxPost.SelectedIndex < 1) + { + throw new Exception("Имеются незаполненные поля"); + } + if (_employeeId.HasValue) + { + _employeeRepository.UpdateEmployee(CreateEmployee(_employeeId.Value)); + } + else + { + _employeeRepository.CreateEmployee(CreateEmployee(0)); + } + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonCancel_Click(object sender, EventArgs e) => Close(); + private Employee CreateEmployee(int id) => Employee.CreateEntity(id, textBoxFirstName.Text, textBoxLastName.Text, + dateTimePickerBirthDate.Value, (EmployeePost)comboBoxPost.SelectedItem!); +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.resx b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.Designer.cs new file mode 100644 index 0000000..4a947df --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.Designer.cs @@ -0,0 +1,125 @@ +namespace ProjectAutoenterprise.Forms +{ + partial class FormEmployees + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + panel = new Panel(); + buttonEdit = new Button(); + buttonDelete = new Button(); + buttonAdd = new Button(); + dataGridViewData = new DataGridView(); + panel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).BeginInit(); + SuspendLayout(); + // + // panel + // + panel.Controls.Add(buttonEdit); + panel.Controls.Add(buttonDelete); + panel.Controls.Add(buttonAdd); + panel.Dock = DockStyle.Right; + panel.Location = new Point(698, 0); + panel.Name = "panel"; + panel.Size = new Size(102, 450); + panel.TabIndex = 0; + // + // buttonEdit + // + buttonEdit.BackgroundImage = Properties.Resources.Edit; + buttonEdit.BackgroundImageLayout = ImageLayout.Stretch; + buttonEdit.Location = new Point(20, 197); + buttonEdit.Name = "buttonEdit"; + buttonEdit.Size = new Size(70, 70); + buttonEdit.TabIndex = 3; + buttonEdit.UseVisualStyleBackColor = true; + buttonEdit.Click += ButtonEdit_Click; + // + // buttonDelete + // + buttonDelete.BackgroundImage = Properties.Resources.Delete; + buttonDelete.BackgroundImageLayout = ImageLayout.Center; + buttonDelete.Location = new Point(20, 104); + buttonDelete.Name = "buttonDelete"; + buttonDelete.Size = new Size(70, 70); + buttonDelete.TabIndex = 2; + buttonDelete.UseVisualStyleBackColor = true; + buttonDelete.Click += ButtonDelete_Click; + // + // buttonAdd + // + buttonAdd.BackgroundImage = Properties.Resources.Add; + buttonAdd.BackgroundImageLayout = ImageLayout.Stretch; + buttonAdd.Location = new Point(20, 12); + buttonAdd.Name = "buttonAdd"; + buttonAdd.Size = new Size(70, 70); + buttonAdd.TabIndex = 1; + buttonAdd.UseVisualStyleBackColor = true; + buttonAdd.Click += ButtonAdd_Click; + // + // dataGridViewData + // + dataGridViewData.AllowUserToAddRows = false; + dataGridViewData.AllowUserToDeleteRows = false; + dataGridViewData.AllowUserToResizeColumns = false; + dataGridViewData.AllowUserToResizeRows = false; + dataGridViewData.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridViewData.BackgroundColor = Color.WhiteSmoke; + dataGridViewData.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewData.Dock = DockStyle.Fill; + dataGridViewData.Location = new Point(0, 0); + dataGridViewData.MultiSelect = false; + dataGridViewData.Name = "dataGridViewData"; + dataGridViewData.ReadOnly = true; + dataGridViewData.RowHeadersVisible = false; + dataGridViewData.Size = new Size(698, 450); + dataGridViewData.TabIndex = 1; + // + // FormEmployees + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(dataGridViewData); + Controls.Add(panel); + Name = "FormEmployees"; + Text = "Работники"; + Load += FormEmployees_Load; + panel.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).EndInit(); + ResumeLayout(false); + } + + #endregion + + private Panel panel; + private DataGridView dataGridViewData; + private Button buttonAdd; + private Button buttonDelete; + private Button buttonEdit; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.cs new file mode 100644 index 0000000..13956ed --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.cs @@ -0,0 +1,90 @@ +using ProjectAutoenterprise.Repositories; +using Unity; +namespace ProjectAutoenterprise.Forms; + +public partial class FormEmployees : Form +{ + private readonly IUnityContainer _container; + private readonly IEmployeeRepository _employeeRepository; + public FormEmployees(IUnityContainer container, IEmployeeRepository employeeRepository) + { + InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + _employeeRepository = employeeRepository ?? + throw new ArgumentNullException(nameof(employeeRepository)); + } + private void FormEmployees_Load(object sender, EventArgs e) + { + try + { + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при загрузке", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonAdd_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при добавлении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonEdit_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + try + { + var form = _container.Resolve(); + form.Id = findId; + form.ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при изменении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonDelete_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + if (MessageBox.Show("Удалить запись?", "Удаление", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + try + { + _employeeRepository.DeleteEmployee(findId); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при удалении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void LoadList() => dataGridViewData.DataSource = _employeeRepository.ReadEmployees(); + private bool TryGetIdentifierFromSelectedRow(out int id) + { + id = 0; + if (dataGridViewData.SelectedRows.Count < 1) + { + MessageBox.Show("Нет выбранной записи", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + id = Convert.ToInt32(dataGridViewData.SelectedRows[0].Cells["Id"].Value); + return true; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.resx b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.Designer.cs new file mode 100644 index 0000000..8f0d202 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.Designer.cs @@ -0,0 +1,112 @@ +namespace ProjectAutoenterprise.Forms +{ + partial class FormItineraries + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + panel = new Panel(); + buttonDelete = new Button(); + buttonAdd = new Button(); + dataGridViewData = new DataGridView(); + panel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).BeginInit(); + SuspendLayout(); + // + // panel + // + panel.Controls.Add(buttonDelete); + panel.Controls.Add(buttonAdd); + panel.Dock = DockStyle.Right; + panel.Location = new Point(698, 0); + panel.Name = "panel"; + panel.Size = new Size(102, 450); + panel.TabIndex = 2; + // + // buttonDelete + // + buttonDelete.BackgroundImage = Properties.Resources.Delete; + buttonDelete.BackgroundImageLayout = ImageLayout.Center; + buttonDelete.Location = new Point(20, 104); + buttonDelete.Name = "buttonDelete"; + buttonDelete.Size = new Size(70, 70); + buttonDelete.TabIndex = 2; + buttonDelete.UseVisualStyleBackColor = true; + buttonDelete.Click += ButtonDelete_Click; + // + // buttonAdd + // + buttonAdd.BackgroundImage = Properties.Resources.Add; + buttonAdd.BackgroundImageLayout = ImageLayout.Stretch; + buttonAdd.Location = new Point(20, 12); + buttonAdd.Name = "buttonAdd"; + buttonAdd.Size = new Size(70, 70); + buttonAdd.TabIndex = 1; + buttonAdd.UseVisualStyleBackColor = true; + buttonAdd.Click += ButtonAdd_Click; + // + // dataGridViewData + // + dataGridViewData.AllowUserToAddRows = false; + dataGridViewData.AllowUserToDeleteRows = false; + dataGridViewData.AllowUserToResizeColumns = false; + dataGridViewData.AllowUserToResizeRows = false; + dataGridViewData.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridViewData.BackgroundColor = Color.WhiteSmoke; + dataGridViewData.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewData.Dock = DockStyle.Fill; + dataGridViewData.Location = new Point(0, 0); + dataGridViewData.MultiSelect = false; + dataGridViewData.Name = "dataGridViewData"; + dataGridViewData.ReadOnly = true; + dataGridViewData.RowHeadersVisible = false; + dataGridViewData.Size = new Size(698, 450); + dataGridViewData.TabIndex = 3; + // + // FormItineraries + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(dataGridViewData); + Controls.Add(panel); + Name = "FormItineraries"; + StartPosition = FormStartPosition.CenterParent; + Text = "Маршрутные листы"; + Load += FormItinerarys_Load; + panel.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).EndInit(); + ResumeLayout(false); + } + + #endregion + + private Panel panel; + private Button buttonDelete; + private Button buttonAdd; + private DataGridView dataGridViewData; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.cs new file mode 100644 index 0000000..61248c2 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.cs @@ -0,0 +1,73 @@ +using ProjectAutoenterprise.Repositories; +using Unity; + +namespace ProjectAutoenterprise.Forms; + +public partial class FormItineraries : Form +{ + private readonly IUnityContainer _container; + private readonly IItineraryRepository _itineraryRepository; + public FormItineraries(IUnityContainer container, IItineraryRepository itineraryRepository) + { + InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + _itineraryRepository = itineraryRepository ?? + throw new ArgumentNullException(nameof(itineraryRepository)); + } + private void FormItinerarys_Load(object sender, EventArgs e) + { + try + { + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при загрузке", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonAdd_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при добавлении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonDelete_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + if (MessageBox.Show("Удалить запись?", "Удаление", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + try + { + _itineraryRepository.DeleteItinerary(findId); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при удалении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void LoadList() => dataGridViewData.DataSource = _itineraryRepository.ReadItinerary(); + private bool TryGetIdentifierFromSelectedRow(out int id) + { + id = 0; + if (dataGridViewData.SelectedRows.Count < 1) + { + MessageBox.Show("Нет выбранной записи", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + id = Convert.ToInt32(dataGridViewData.SelectedRows[0].Cells["Id"].Value); + return true; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.resx b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.Designer.cs new file mode 100644 index 0000000..db7a652 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.Designer.cs @@ -0,0 +1,238 @@ +namespace ProjectAutoenterprise.Forms +{ + partial class FormItinerary + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + groupBoxRoutes = new GroupBox(); + dataGridViewRoutes = new DataGridView(); + ColumnRoute = new DataGridViewComboBoxColumn(); + comboBoxBus = new ComboBox(); + label1 = new Label(); + comboBoxDriver = new ComboBox(); + label2 = new Label(); + comboBoxConductor = new ComboBox(); + label3 = new Label(); + dateTimePickerDate = new DateTimePicker(); + label4 = new Label(); + textBoxDescription = new TextBox(); + label5 = new Label(); + buttonCancel = new Button(); + buttonSave = new Button(); + groupBoxRoutes.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)dataGridViewRoutes).BeginInit(); + SuspendLayout(); + // + // groupBoxRoutes + // + groupBoxRoutes.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; + groupBoxRoutes.Controls.Add(dataGridViewRoutes); + groupBoxRoutes.Location = new Point(333, 12); + groupBoxRoutes.Name = "groupBoxRoutes"; + groupBoxRoutes.Size = new Size(256, 207); + groupBoxRoutes.TabIndex = 0; + groupBoxRoutes.TabStop = false; + groupBoxRoutes.Text = "Маршруты"; + // + // dataGridViewRoutes + // + dataGridViewRoutes.BackgroundColor = Color.WhiteSmoke; + dataGridViewRoutes.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewRoutes.Columns.AddRange(new DataGridViewColumn[] { ColumnRoute }); + dataGridViewRoutes.Dock = DockStyle.Fill; + dataGridViewRoutes.Location = new Point(3, 19); + dataGridViewRoutes.Name = "dataGridViewRoutes"; + dataGridViewRoutes.Size = new Size(250, 185); + dataGridViewRoutes.TabIndex = 0; + // + // ColumnRoute + // + ColumnRoute.HeaderText = "Маршрут"; + ColumnRoute.Name = "ColumnRoute"; + // + // comboBoxBus + // + comboBoxBus.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxBus.FormattingEnabled = true; + comboBoxBus.Location = new Point(122, 31); + comboBoxBus.Name = "comboBoxBus"; + comboBoxBus.Size = new Size(195, 23); + comboBoxBus.TabIndex = 12; + // + // label1 + // + label1.AutoSize = true; + label1.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); + label1.Location = new Point(18, 29); + label1.Name = "label1"; + label1.Size = new Size(71, 21); + label1.TabIndex = 11; + label1.Text = "Автобус:"; + // + // comboBoxDriver + // + comboBoxDriver.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxDriver.FormattingEnabled = true; + comboBoxDriver.Location = new Point(122, 86); + comboBoxDriver.Name = "comboBoxDriver"; + comboBoxDriver.Size = new Size(195, 23); + comboBoxDriver.TabIndex = 14; + // + // label2 + // + label2.AutoSize = true; + label2.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); + label2.Location = new Point(32, 84); + label2.Name = "label2"; + label2.Size = new Size(80, 21); + label2.TabIndex = 13; + label2.Text = "Водитель:"; + // + // comboBoxConductor + // + comboBoxConductor.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxConductor.FormattingEnabled = true; + comboBoxConductor.Location = new Point(122, 141); + comboBoxConductor.Name = "comboBoxConductor"; + comboBoxConductor.Size = new Size(195, 23); + comboBoxConductor.TabIndex = 16; + // + // label3 + // + label3.AutoSize = true; + label3.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); + label3.Location = new Point(22, 139); + label3.Name = "label3"; + label3.Size = new Size(90, 21); + label3.TabIndex = 15; + label3.Text = "Кондуктор:"; + // + // dateTimePickerDate + // + dateTimePickerDate.Enabled = false; + dateTimePickerDate.Location = new Point(122, 196); + dateTimePickerDate.Name = "dateTimePickerDate"; + dateTimePickerDate.Size = new Size(195, 23); + dateTimePickerDate.TabIndex = 18; + // + // label4 + // + label4.AutoSize = true; + label4.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); + label4.Location = new Point(69, 194); + label4.Name = "label4"; + label4.Size = new Size(47, 21); + label4.TabIndex = 17; + label4.Text = "Дата:"; + // + // textBoxDescription + // + textBoxDescription.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; + textBoxDescription.Location = new Point(122, 251); + textBoxDescription.Multiline = true; + textBoxDescription.Name = "textBoxDescription"; + textBoxDescription.Size = new Size(464, 113); + textBoxDescription.TabIndex = 20; + // + // label5 + // + label5.AutoSize = true; + label5.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); + label5.Location = new Point(32, 249); + label5.Name = "label5"; + label5.Size = new Size(84, 21); + label5.TabIndex = 19; + label5.Text = "Описание:"; + // + // buttonCancel + // + buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + buttonCancel.Location = new Point(146, 404); + buttonCancel.Name = "buttonCancel"; + buttonCancel.Size = new Size(112, 30); + buttonCancel.TabIndex = 22; + buttonCancel.Text = "Отмена"; + buttonCancel.UseVisualStyleBackColor = true; + buttonCancel.Click += ButtonCancel_Click; + // + // buttonSave + // + buttonSave.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + buttonSave.Location = new Point(17, 404); + buttonSave.Name = "buttonSave"; + buttonSave.Size = new Size(111, 30); + buttonSave.TabIndex = 21; + buttonSave.Text = "Сохранить"; + buttonSave.UseVisualStyleBackColor = true; + buttonSave.Click += ButtonSave_Click; + // + // FormItinerary + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(601, 446); + Controls.Add(buttonCancel); + Controls.Add(buttonSave); + Controls.Add(textBoxDescription); + Controls.Add(label5); + Controls.Add(dateTimePickerDate); + Controls.Add(label4); + Controls.Add(comboBoxConductor); + Controls.Add(label3); + Controls.Add(comboBoxDriver); + Controls.Add(label2); + Controls.Add(comboBoxBus); + Controls.Add(label1); + Controls.Add(groupBoxRoutes); + Name = "FormItinerary"; + StartPosition = FormStartPosition.CenterParent; + Text = "Маршрутный лист"; + groupBoxRoutes.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)dataGridViewRoutes).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private GroupBox groupBoxRoutes; + private DataGridView dataGridViewRoutes; + private ComboBox comboBoxBus; + private Label label1; + private ComboBox comboBoxDriver; + private Label label2; + private ComboBox comboBoxConductor; + private Label label3; + private DateTimePicker dateTimePickerDate; + private Label label4; + private TextBox textBoxDescription; + private Label label5; + private DataGridViewComboBoxColumn ColumnRoute; + private Button buttonCancel; + private Button buttonSave; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.cs new file mode 100644 index 0000000..4ec44f5 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.cs @@ -0,0 +1,70 @@ +using ProjectAutoenterprise.Entities; +using ProjectAutoenterprise.Repositories; + +namespace ProjectAutoenterprise.Forms; + +public partial class FormItinerary : Form +{ + private readonly IItineraryRepository _itineraryRepository; + public FormItinerary(IItineraryRepository itineraryRepository, + IBusRepository busRepository, IEmployeeRepository employeeRepository, IRouteRepository routeRepository) + { + InitializeComponent(); + _itineraryRepository = itineraryRepository ?? + throw new ArgumentNullException(nameof(itineraryRepository)); + + comboBoxBus.DataSource = busRepository.ReadBuses(); + comboBoxBus.DisplayMember = "Brand"; + comboBoxBus.ValueMember = "Id"; + + comboBoxDriver.DataSource = employeeRepository.ReadEmployees(); + comboBoxDriver.DisplayMember = "FirstName"; + comboBoxDriver.ValueMember = "Id"; + + comboBoxConductor.DataSource = employeeRepository.ReadEmployees(); + comboBoxConductor.DisplayMember = "FirstName"; + comboBoxConductor.ValueMember = "Id"; + + ColumnRoute.DataSource = routeRepository.ReadRoutes(); + ColumnRoute.DisplayMember = "Id"; + ColumnRoute.ValueMember = "Id"; + } + private void ButtonSave_Click(object sender, EventArgs e) + { + try + { + if (dataGridViewRoutes.RowCount < 1 || + comboBoxDriver.SelectedIndex < 0 || + comboBoxConductor.SelectedIndex < 0) + { + throw new Exception("Имеются незаполненные поля"); + } + _itineraryRepository.CreateItinerary(Itinerary.CreateEntity( + 0, + (int)comboBoxDriver.SelectedValue!, + (int)comboBoxConductor.SelectedValue!, + dateTimePickerDate.Value, + textBoxDescription.Text, + CreateListItineraryRoutesFromDataGrid())); + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonCancel_Click(object sender, EventArgs e) => Close(); + private List CreateListItineraryRoutesFromDataGrid() + { + var list = new List(); + foreach (DataGridViewRow row in dataGridViewRoutes.Rows) + { + if (row.Cells["ColumnRoute"].Value == null) + { + continue; + } + list.Add(ItineraryRoute.CreateElement(0,Convert.ToInt32(row.Cells["ColumnFeed"].Value))); + } + return list; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.resx b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.resx new file mode 100644 index 0000000..83d146b --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.Designer.cs new file mode 100644 index 0000000..b47c00f --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.Designer.cs @@ -0,0 +1,120 @@ +namespace ProjectAutoenterprise.Forms +{ + partial class FormRoute + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + label1 = new Label(); + label2 = new Label(); + textBoxBeginRoutePoint = new TextBox(); + textBoxEndRoutePoint = new TextBox(); + buttonSave = new Button(); + buttonCancel = new Button(); + SuspendLayout(); + // + // label1 + // + label1.AutoSize = true; + label1.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); + label1.Location = new Point(12, 9); + label1.Name = "label1"; + label1.Size = new Size(216, 21); + label1.TabIndex = 0; + label1.Text = "Начальная точка маршрута: "; + // + // label2 + // + label2.AutoSize = true; + label2.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); + label2.Location = new Point(20, 43); + label2.Name = "label2"; + label2.Size = new Size(208, 21); + label2.TabIndex = 1; + label2.Text = "Конечная точка маршрута: "; + // + // textBoxBeginRoutePoint + // + textBoxBeginRoutePoint.Location = new Point(234, 12); + textBoxBeginRoutePoint.Name = "textBoxBeginRoutePoint"; + textBoxBeginRoutePoint.Size = new Size(265, 23); + textBoxBeginRoutePoint.TabIndex = 2; + // + // textBoxEndRoutePoint + // + textBoxEndRoutePoint.Location = new Point(234, 45); + textBoxEndRoutePoint.Name = "textBoxEndRoutePoint"; + textBoxEndRoutePoint.Size = new Size(265, 23); + textBoxEndRoutePoint.TabIndex = 3; + // + // buttonSave + // + buttonSave.Location = new Point(12, 80); + buttonSave.Name = "buttonSave"; + buttonSave.Size = new Size(140, 30); + buttonSave.TabIndex = 4; + buttonSave.Text = "Сохранить"; + buttonSave.UseVisualStyleBackColor = true; + buttonSave.Click += ButtonSave_Click; + // + // buttonCancel + // + buttonCancel.Location = new Point(359, 80); + buttonCancel.Name = "buttonCancel"; + buttonCancel.Size = new Size(140, 30); + buttonCancel.TabIndex = 5; + buttonCancel.Text = "Отмена"; + buttonCancel.UseVisualStyleBackColor = true; + buttonCancel.Click += ButtonCancel_Click; + // + // FormRoute + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(514, 121); + Controls.Add(buttonCancel); + Controls.Add(buttonSave); + Controls.Add(textBoxEndRoutePoint); + Controls.Add(textBoxBeginRoutePoint); + Controls.Add(label2); + Controls.Add(label1); + Name = "FormRoute"; + StartPosition = FormStartPosition.CenterParent; + Text = "Маршрут"; + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private Label label1; + private Label label2; + private TextBox textBoxBeginRoutePoint; + private TextBox textBoxEndRoutePoint; + private Button buttonSave; + private Button buttonCancel; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.cs new file mode 100644 index 0000000..8ff867d --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.cs @@ -0,0 +1,66 @@ +using ProjectAutoenterprise.Entities; +using ProjectAutoenterprise.Repositories; +namespace ProjectAutoenterprise.Forms; + +public partial class FormRoute : Form +{ + private readonly IRouteRepository _routeRepository; + private int? _routeId; + public int Id + { + set + { + try + { + var route = _routeRepository.ReadRouteById(value); + if (route == null) + { + throw new InvalidDataException(nameof(route)); + } + textBoxBeginRoutePoint.Text = route.BeginRoutePoint; + textBoxEndRoutePoint.Text = route.EndRoutePoint; + _routeId = value; + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при получении данных", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + } + } + + public FormRoute(IRouteRepository routeRepository) + { + InitializeComponent(); + _routeRepository = routeRepository ?? throw new ArgumentNullException(nameof(routeRepository)); + } + + private void ButtonSave_Click(object sender, EventArgs e) + { + try + { + if (string.IsNullOrWhiteSpace(textBoxBeginRoutePoint.Text) || string.IsNullOrWhiteSpace(textBoxEndRoutePoint.Text)) + { + throw new Exception("Имеются незаполненные поля"); + } + if (_routeId.HasValue) + { + _routeRepository.UpdateRoute(CreateRoute(_routeId.Value)); + } + else + { + _routeRepository.CreateRoute(CreateRoute(0)); + } + Close(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при сохранении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void ButtonCancel_Click(object sender, EventArgs e) => Close(); + + private Route CreateRoute(int id) => Route.CreateEntity(id, textBoxBeginRoutePoint.Text, textBoxEndRoutePoint.Text); +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.resx b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.Designer.cs new file mode 100644 index 0000000..769a79d --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.Designer.cs @@ -0,0 +1,126 @@ +namespace ProjectAutoenterprise.Forms +{ + partial class FormRoutes + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + dataGridViewData = new DataGridView(); + panel = new Panel(); + buttonEdit = new Button(); + buttonDelete = new Button(); + buttonAdd = new Button(); + ((System.ComponentModel.ISupportInitialize)dataGridViewData).BeginInit(); + panel.SuspendLayout(); + SuspendLayout(); + // + // dataGridViewData + // + dataGridViewData.AllowUserToAddRows = false; + dataGridViewData.AllowUserToDeleteRows = false; + dataGridViewData.AllowUserToResizeColumns = false; + dataGridViewData.AllowUserToResizeRows = false; + dataGridViewData.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; + dataGridViewData.BackgroundColor = Color.WhiteSmoke; + dataGridViewData.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridViewData.Dock = DockStyle.Fill; + dataGridViewData.Location = new Point(0, 0); + dataGridViewData.MultiSelect = false; + dataGridViewData.Name = "dataGridViewData"; + dataGridViewData.ReadOnly = true; + dataGridViewData.RowHeadersVisible = false; + dataGridViewData.Size = new Size(784, 461); + dataGridViewData.TabIndex = 0; + // + // panel + // + panel.Controls.Add(buttonEdit); + panel.Controls.Add(buttonDelete); + panel.Controls.Add(buttonAdd); + panel.Dock = DockStyle.Right; + panel.Location = new Point(681, 0); + panel.Name = "panel"; + panel.Size = new Size(103, 461); + panel.TabIndex = 1; + // + // buttonEdit + // + buttonEdit.BackgroundImage = Properties.Resources.Edit; + buttonEdit.BackgroundImageLayout = ImageLayout.Stretch; + buttonEdit.Location = new Point(14, 191); + buttonEdit.Name = "buttonEdit"; + buttonEdit.Size = new Size(70, 70); + buttonEdit.TabIndex = 2; + buttonEdit.UseVisualStyleBackColor = true; + buttonEdit.Click += ButtonEdit_Click; + // + // buttonDelete + // + buttonDelete.BackgroundImage = Properties.Resources.Delete; + buttonDelete.BackgroundImageLayout = ImageLayout.Center; + buttonDelete.Location = new Point(14, 101); + buttonDelete.Name = "buttonDelete"; + buttonDelete.Size = new Size(70, 70); + buttonDelete.TabIndex = 1; + buttonDelete.UseVisualStyleBackColor = true; + buttonDelete.Click += ButtonDelete_Click; + // + // buttonAdd + // + buttonAdd.BackgroundImage = Properties.Resources.Add; + buttonAdd.BackgroundImageLayout = ImageLayout.Stretch; + buttonAdd.Location = new Point(14, 12); + buttonAdd.Name = "buttonAdd"; + buttonAdd.Size = new Size(70, 70); + buttonAdd.TabIndex = 0; + buttonAdd.UseVisualStyleBackColor = true; + buttonAdd.Click += ButtonAdd_Click; + // + // FormRoutes + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(784, 461); + Controls.Add(panel); + Controls.Add(dataGridViewData); + Name = "FormRoutes"; + StartPosition = FormStartPosition.CenterParent; + Text = "Маршруты"; + Load += FormRoutes_Load; + ((System.ComponentModel.ISupportInitialize)dataGridViewData).EndInit(); + panel.ResumeLayout(false); + ResumeLayout(false); + } + + #endregion + + private DataGridView dataGridViewData; + private Panel panel; + private Button buttonEdit; + private Button buttonDelete; + private Button buttonAdd; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.cs new file mode 100644 index 0000000..926acea --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.cs @@ -0,0 +1,89 @@ +using ProjectAutoenterprise.Repositories; +using Unity; +namespace ProjectAutoenterprise.Forms; + +public partial class FormRoutes : Form +{ + private readonly IUnityContainer _container; + private readonly IRouteRepository _routeRepository; + public FormRoutes(IUnityContainer container, IRouteRepository routeRepository) + { + InitializeComponent(); + _container = container ?? throw new ArgumentNullException(nameof(container)); + _routeRepository = routeRepository ?? throw new ArgumentNullException(nameof(routeRepository)); + } + private void FormRoutes_Load(object sender, EventArgs e) + { + try + { + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при загрузке", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonAdd_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при добавлении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonDelete_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + if (MessageBox.Show("Удалить запись?", "Удаление", MessageBoxButtons.YesNo) != DialogResult.Yes) + { + return; + } + try + { + _routeRepository.DeleteRoute(findId); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при удалении", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void ButtonEdit_Click(object sender, EventArgs e) + { + if (!TryGetIdentifierFromSelectedRow(out var findId)) + { + return; + } + try + { + var form = _container.Resolve(); + form.Id = findId; + form.ShowDialog(); + LoadList(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Ошибка при изменении", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void LoadList() => dataGridViewData.DataSource = _routeRepository.ReadRoutes(); + private bool TryGetIdentifierFromSelectedRow(out int id) + { + id = 0; + if (dataGridViewData.SelectedRows.Count < 1) + { + MessageBox.Show("Нет выбранной записи", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + id = Convert.ToInt32(dataGridViewData.SelectedRows[0].Cells["Id"].Value); + return true; + } +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.resx b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.resx new file mode 100644 index 0000000..8b2ff64 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Program.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Program.cs index 7e1c0ef..7ddbc3e 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Program.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Program.cs @@ -1,3 +1,8 @@ +using ProjectAutoenterprise.Repositories.Implementations; +using ProjectAutoenterprise.Repositories; +using Unity; +using Unity.Lifetime; + namespace ProjectAutoenterprise { internal static class Program @@ -11,7 +16,17 @@ namespace ProjectAutoenterprise // To customize application configuration such as set high DPI settings or default font, // see https://aka.ms/applicationconfiguration. ApplicationConfiguration.Initialize(); - Application.Run(new Form1()); + Application.Run(CreateContainer().Resolve()); + } + private static IUnityContainer CreateContainer() + { + var container = new UnityContainer(); + container.RegisterType(new TransientLifetimeManager()); + container.RegisterType(new TransientLifetimeManager()); + container.RegisterType(new TransientLifetimeManager()); + container.RegisterType(new TransientLifetimeManager()); + container.RegisterType(new TransientLifetimeManager()); + return container; } } } \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/ProjectAutoenterprise.csproj b/ProjectAutoenterprise/ProjectAutoenterprise/ProjectAutoenterprise.csproj index 663fdb8..accbdf0 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/ProjectAutoenterprise.csproj +++ b/ProjectAutoenterprise/ProjectAutoenterprise/ProjectAutoenterprise.csproj @@ -8,4 +8,23 @@ enable + + + + + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Properties/Resources.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Properties/Resources.Designer.cs new file mode 100644 index 0000000..03b14a9 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Properties/Resources.Designer.cs @@ -0,0 +1,103 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace ProjectAutoenterprise.Properties { + using System; + + + /// + /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д. + /// + // Этот класс создан автоматически классом StronglyTypedResourceBuilder + // с помощью такого средства, как ResGen или Visual Studio. + // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen + // с параметром /str или перестройте свой проект VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ProjectAutoenterprise.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Перезаписывает свойство CurrentUICulture текущего потока для всех + /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Add { + get { + object obj = ResourceManager.GetObject("Add", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Background_image { + get { + object obj = ResourceManager.GetObject("Background_image", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Delete { + get { + object obj = ResourceManager.GetObject("Delete", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Edit { + get { + object obj = ResourceManager.GetObject("Edit", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Properties/Resources.resx b/ProjectAutoenterprise/ProjectAutoenterprise/Properties/Resources.resx new file mode 100644 index 0000000..77a5135 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Properties/Resources.resx @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\Delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Background_image.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Edit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IBusRepairRepository.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IBusRepairRepository.cs new file mode 100644 index 0000000..bb3e0f2 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IBusRepairRepository.cs @@ -0,0 +1,9 @@ +using ProjectAutoenterprise.Entities; +namespace ProjectAutoenterprise.Repositories; + +public interface IBusRepairRepository +{ + IEnumerable ReadBusRepairs(DateTime? dateForm = null, DateTime? dateTo = null, + int? busId = null, string? description = null); + void CreateBusRepair(BusRepair busRepair); +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IBusRepository.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IBusRepository.cs new file mode 100644 index 0000000..6e88cc1 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IBusRepository.cs @@ -0,0 +1,11 @@ +using ProjectAutoenterprise.Entities; +namespace ProjectAutoenterprise.Repositories; + +public interface IBusRepository +{ + IEnumerable ReadBuses(); + Bus ReadBusById(int id); + void CreateBus(Bus bus); + void UpdateBus(Bus bus); + void DeleteBus(int id); +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IEmployeeRepository.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IEmployeeRepository.cs new file mode 100644 index 0000000..40aedec --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IEmployeeRepository.cs @@ -0,0 +1,12 @@ +using ProjectAutoenterprise.Entities; + +namespace ProjectAutoenterprise.Repositories; + +public interface IEmployeeRepository +{ + IEnumerable ReadEmployees(); + Employee ReadEmployeeById(int id); + void CreateEmployee(Employee employee); + void UpdateEmployee(Employee employee); + void DeleteEmployee(int id); +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IItineraryRepository.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IItineraryRepository.cs new file mode 100644 index 0000000..3655c6e --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IItineraryRepository.cs @@ -0,0 +1,10 @@ +using ProjectAutoenterprise.Entities; +namespace ProjectAutoenterprise.Repositories; + +public interface IItineraryRepository +{ + IEnumerable ReadItinerary(DateTime? dateForm = null, DateTime? dateTo = null, + int? driverId = null, int? conductorId = null); + void CreateItinerary(Itinerary itinerary); + void DeleteItinerary(int id); +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IRouteRepository.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IRouteRepository.cs new file mode 100644 index 0000000..ab13336 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IRouteRepository.cs @@ -0,0 +1,11 @@ +using ProjectAutoenterprise.Entities; +namespace ProjectAutoenterprise.Repositories; + +public interface IRouteRepository +{ + IEnumerable ReadRoutes(); + Route ReadRouteById(int id); + void CreateRoute(Route route); + void UpdateRoute(Route route); + void DeleteRoute(int id); +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/BusRepairRepository.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/BusRepairRepository.cs new file mode 100644 index 0000000..b62c689 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/BusRepairRepository.cs @@ -0,0 +1,15 @@ +using ProjectAutoenterprise.Entities; + +namespace ProjectAutoenterprise.Repositories.Implementations; + +internal class BusRepairRepository : IBusRepairRepository +{ + public void CreateBusRepair(BusRepair busRepair) + { + } + public IEnumerable ReadBusRepairs(DateTime? dateForm = null, DateTime? dateTo = null, + int? busId = null, string? description = null) + { + return []; + } +} diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/BusRepository.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/BusRepository.cs new file mode 100644 index 0000000..471f8cd --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/BusRepository.cs @@ -0,0 +1,23 @@ +using ProjectAutoenterprise.Entities; +namespace ProjectAutoenterprise.Repositories.Implementations; + +internal class BusRepository : IBusRepository +{ + public void CreateBus(Bus bus) + { + } + public void DeleteBus(int id) + { + } + public Bus ReadBusById(int id) + { + return Bus.CreateEntity(0, string.Empty, 0, 0); + } + public IEnumerable ReadBuses() + { + return []; + } + public void UpdateBus(Bus bus) + { + } +} diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/EmployeeRepository.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/EmployeeRepository.cs new file mode 100644 index 0000000..20affbe --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/EmployeeRepository.cs @@ -0,0 +1,32 @@ +using ProjectAutoenterprise.Entities; +using ProjectAutoenterprise.Entities.Enums; + +namespace ProjectAutoenterprise.Repositories.Implementations; + +internal class EmployeeRepository : IEmployeeRepository +{ + public void CreateEmployee(Employee employee) + { + + } + + public void DeleteEmployee(int id) + { + + } + + public Employee ReadEmployeeById(int id) + { + return Employee.CreateEntity(0, string.Empty, string.Empty, DateTime.MinValue, EmployeePost.None); + } + + public IEnumerable ReadEmployees() + { + return []; + } + + public void UpdateEmployee(Employee employee) + { + + } +} diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/ItineraryRepository.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/ItineraryRepository.cs new file mode 100644 index 0000000..3686668 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/ItineraryRepository.cs @@ -0,0 +1,18 @@ +using ProjectAutoenterprise.Entities; + +namespace ProjectAutoenterprise.Repositories.Implementations; + +internal class ItineraryRepository : IItineraryRepository +{ + public void CreateItinerary(Itinerary itinerary) + { + } + public void DeleteItinerary(int id) + { + } + public IEnumerable ReadItinerary(DateTime? dateForm = null, DateTime? dateTo = null, + int? driverId = null, int? conductorId = null) + { + return []; + } +} diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/RouteRepository.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/RouteRepository.cs new file mode 100644 index 0000000..073a272 --- /dev/null +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/RouteRepository.cs @@ -0,0 +1,23 @@ +using ProjectAutoenterprise.Entities; +namespace ProjectAutoenterprise.Repositories.Implementations; + +internal class RouteRepository : IRouteRepository +{ + public void CreateRoute(Route route) + { + } + public void DeleteRoute(int id) + { + } + public Route ReadRouteById(int id) + { + return Route.CreateEntity(0, string.Empty, string.Empty); + } + public IEnumerable ReadRoutes() + { + return []; + } + public void UpdateRoute(Route route) + { + } +} diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Resources/Add.png b/ProjectAutoenterprise/ProjectAutoenterprise/Resources/Add.png new file mode 100644 index 0000000000000000000000000000000000000000..cb697fe6d7286d306d2124f836db042c26e53db0 GIT binary patch literal 944 zcmV;h15f;kP)opxr5CM_&%OF`&R*DUHnKnW2G72_W$Z4)BNHE*R6Z3{C)zf3&INt*V~ zy-)AC_nh;N$@JfvWM+}QZuT*~l)}epg->@$Y~JQ)4&e3xo5Oc>P?)p$U5~6&&T9>U zy5aGhv-w>QD4G9A$z0*-{CIwHlTseY@cmE zTNgN+=)7Z>xbOWlqgg2xCQI8%qGsM{a*UNyA<{oHl66SjH>=-yyJleBQ=SWy#J%ng z4&~(cVa-r#6_-JK%6;*RqtXY z)4P+0;Z`)?Rvcm@XRc&M&Lq~f1e~`{%yUR3MsI7$j693fEtuf%z&N2am**AE#9MH$~ zqHY?UT&)2he0Y8=Zx!7=Wq{~PP~4jh_;O{MP>K+(1h^eui!>cDv>G9_!f%xUqK8A9 z)NH``)*|VW*u649o8NtaUhcSsYi(+!i?Y2;tO56re-F^!>LI3D{gTi@KGrH}hF17U z86eabl4P?1hvVb9iisN1uoX(3L*@%MnYmI1_`6vMH4QL;W&rS!6mNhexu_ zY`3fd_uZ<1XcnPcjka7RGx97VN6B2~L}3q6-RPEoA)O!(gF`v9kGW~mVh)K73NddE zf~MYpiA<94(V}RQG{OA}^*|d$bz@}b#6BhQ>$+qo3}PCh8jyN-Qq{O~fV0co*N&+t z7j?n?0jaQ`_?S0e%U2%@=>*}TFY?$q!>>O63b%rba~eUV9=WZ!5O#$P=nm^~22l;& zid=<7ko8rKP#B9O+&A+qi&Ucdw(2$HD67xa0cl7nd|@~~mPc`~_yTh^QY`$attelp z5EjvO&*Sl&F*U*<4XvWP2Lgwd`7h`vZKC@CZkO0Sv`myNL@}mnZT)Yi`rA)T1!;K# S;%Tt}0000l|eS`u60_NKf8P=!Ll`$Bnd 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 literal 0 HcmV?d00001 diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Resources/Edit.png b/ProjectAutoenterprise/ProjectAutoenterprise/Resources/Edit.png new file mode 100644 index 0000000000000000000000000000000000000000..704f2c15309826a7e64584ad3c07f35b387561d0 GIT binary patch literal 853 zcmV-b1FHOqP)`qp|y*?W{_e*CC0;a zjD3>-{g-!U4uc?pwoc3AZ8tL*XDkfH4Ks@JdP75ZA#}-tqQN#6Yh;MaT^>(Pc8(5)~{E zl64@t(b(7}@^SkGceAV}D8F3!{!wcmjLojVlg?*QLa1TB@&|G}Ir+1h!MIL2PA@JjQU|?+Sm&huO4v1{Ao&35f$4&I5JK^I4c=22VB+~kNW&`fA z-U{O4`))-_+EKsZU~QX`jRu=bRId0yDbA=sgN-Wu?L=Ru%NOU}psfK4s_H@0VuC!0 z>Rq-(LGfc%{d~F2>(CW>iX_!;sr1@$+TkY6S*}hsKBblM4$v0YCS!#JaAbkY{oj|f z1aQB(T<@P<&Y(QA7oi=_d@F$4P~dWZo3;!+sF&l8@t$-SEphE~+&$it4m8C@xJL9T zTjJjIXRhM9)De3SDpTgMbWiKzJthqoTyu5w!pQ`zklGx~v1q#u!_9m!X`*1^Rmle2 zM1RH?qY9s<97k3wWEOSE6CEob+b)7Z!SQHInbiG5_{NWC6P1FP6<-{=#eo7asS-SGvIw`| zaAa%_Za>B3f?1pO{qc4S!Kg@d%5pGAT|QgaRDm5s{8dr{i+|#DB#opxr5CM_&%OF`&R*DUHnKnW2G72_W$Z4)BNHE*R6Z3{C)zf3&INt*V~ zy-)AC_nh;N$@JfvWM+}QZuT*~l)}epg->@$Y~JQ)4&e3xo5Oc>P?)p$U5~6&&T9>U zy5aGhv-w>QD4G9A$z0*-{CIwHlTseY@cmE zTNgN+=)7Z>xbOWlqgg2xCQI8%qGsM{a*UNyA<{oHl66SjH>=-yyJleBQ=SWy#J%ng z4&~(cVa-r#6_-JK%6;*RqtXY z)4P+0;Z`)?Rvcm@XRc&M&Lq~f1e~`{%yUR3MsI7$j693fEtuf%z&N2am**AE#9MH$~ zqHY?UT&)2he0Y8=Zx!7=Wq{~PP~4jh_;O{MP>K+(1h^eui!>cDv>G9_!f%xUqK8A9 z)NH``)*|VW*u649o8NtaUhcSsYi(+!i?Y2;tO56re-F^!>LI3D{gTi@KGrH}hF17U z86eabl4P?1hvVb9iisN1uoX(3L*@%MnYmI1_`6vMH4QL;W&rS!6mNhexu_ zY`3fd_uZ<1XcnPcjka7RGx97VN6B2~L}3q6-RPEoA)O!(gF`v9kGW~mVh)K73NddE zf~MYpiA<94(V}RQG{OA}^*|d$bz@}b#6BhQ>$+qo3}PCh8jyN-Qq{O~fV0co*N&+t z7j?n?0jaQ`_?S0e%U2%@=>*}TFY?$q!>>O63b%rba~eUV9=WZ!5O#$P=nm^~22l;& zid=<7ko8rKP#B9O+&A+qi&Ucdw(2$HD67xa0cl7nd|@~~mPc`~_yTh^QY`$attelp z5EjvO&*Sl&F*U*<4XvWP2Lgwd`7h`vZKC@CZkO0Sv`myNL@}mnZT)Yi`rA)T1!;K# S;%Tt}0000l|eS`u60_NKf8P=!Ll`$Bnd zG5-|-fY_U)n&-^nFO< z@O0s1@7aFoi_){NDzAT6eER8Dw9hu5e!ltiMPsvle{?p!I~!lR{`J_EZ_ggi%iX;~ zx3b>ZU1^t>+U3RWZf?unUCsI1?(VB@`HRh0zu$cI>Bh^?wqAd+_4=#S{&@3+ zEInV}Z@Ti;`0i$Wb2YxX9N!#`FDmElx81F`gW_wgzpWXQSzGLvm;2?_e%Z5c4{D>E zTea?P;OCyV{xD+TABz>X-fGM_RA4_-=dKujJUvH0^tM#H0*ld&sSNd>s`grB2ou#&acU~TKR-5JZMtQ5b+dYe4 z9gJ^QyVbX?vSazE=bNW@7pFHTr}t--qmDZ+b+(tgJDy_Ql?PRAG``w@yd2z}x6coT zS7)Q^^W)pg(}$ajhuavp$7pwREq^k9JiERao*uRi`_)m)h`Dl}Ad+K(ezYxg${w?S zckvZG|`}TgzNM1f%-I27%yR*mJ?O|u5Ti?(SAShy{AHu` zb+x~?+7FR?IoQ@=vyi*J)+x5mde`H-`|bc%$JAMWn&Z!hm}x@U)5o%%|(RA^P)`t}O(ubYLU7EA5NYRi`rK^FF)P*$LHJ6KU)9Kd3^q6>*dx_<6wN5 zU=UwGH!la9!`+2m;YaZ~tM&|^ zE2Gxv_5?m_ClBX<6rimRs_)48yMXXLIJ^taF!`V3bK`WdP~F<&F9FeeiJEzB<|(km2fLGw```*c;uP-j2si9*KGn zpQ+FGL973Gb}+uKoetOAm14J6XjZGk?&#|5GJqo4wS>=LN}EUNe13g@^DusR9FGAV z<$`%y=}`*K@q@8&l9#7Y15v~_*_&HC%Vl$O6t0?aSucC+*b_+W#Z?TwnTC;B$Lvy}$LQUjWe)d`k!kKxX)?KR?9h((!PH&mWgw z{I>X9`>6Q*lfv`g6`p@xe)F_fc-1Q=ED9zArRVV(ub}k?GgF%XA$;CGX%ENe)#G+X z8{qu9Q*!(%d?r-c=)2w4utv1nx5qvN&YE74Z3s!oeYjXJ5(8W!Xb@Xt*VKiRVO6&qk<4@!nIN#h}pWj|G&>PLY zrM<#tyTWE2+?}!xI^g6yXwqf3g^?!0Z6UbTzwfwO;3@R^B8 zE%;J%yS(4*U5r@OpTg&C8ChYluT_rQEa~C+d}CNE9(THrXXoQb19*6Se0p_k7|-t^ z-njR8`S|oJY8T*U-P55e(YUa;?EbZ66t!;i;c=LJj z&6nE?U+*k^U3`m=A!7spEj$mS{NS1wSp+S@BH?9JO)}O>H2YeuRT26Y5wG!+I7PAi|A^!!|U_@>0x!y*=g0bs^#1^YUPvh z-Fm0?=k(s#)I1qK0B0gc6H(3OdU5!0M&5#UcES(U%msXYL-O0Zs0AuQ@o~TK z&Yculf#D}?u(f{sFVX%iej~-7qJ3Cswb>@5Q zf`&pL@=Wh9?;oyj?k=zHE=LzfE0qGhKw1LNyOrj}zJ?oXG!fA)^{dQ{QRV0%4-136 zAYg5Dy}WlA$hmjY0V6?r-y5#n|K5(tCAtf(;zE5BH}i}{@qYZ6AK{1m89vXzIRjK> zP(67(3yd0H0*%oFh`vGiv3<_$Nl5b8qj6!xD8THOrI+aOH@mO@Tz;ML891+<*MGnH z9dL%svo?>RoEQxB2opeZK#w2XDGoDA5S7_PyO<8#~hKWq6>$L z6BrESxjH{QKRGx%()Q1eF2)bb)txWjJo|F_)i>)4-<8%!k2j6egT%DU$dyj|j`4rn zD87f!kQqcT4a-`V|BTX;^ErzdDm)EtX?jE{wP z#$y(wdNeAwT5FA}Nnh=672B`Zw!Yk6{B>{Rqo0q@PhK$dgzRIXWVK2p& z9&bp^!}!rZQ6reMQ7<7gp46=~|Cxcalb^z8-)~=!be?_rDSQ?J?cSbx>YK;w+xshx z;ihFv)zV69S8Pq=&3P!cMvSF@bIf~%38Inn_`G(|BqSaXPKpmR=+E}nehQyG1tJac zHu@Fj1LfxA-i>ds?$3o=7xtMRA?OIbPTNl4Ge(+%y)Rm&7qzX8Y5_b71*ciNMey4 z^T%t?1UH^nH(Ban0*3nbf@S2-*3L%D9DkhlU3@kU^Ao)~+$$fqkH(k#;|oliiG-PK zs7bjP-*RxEoLkTLBumSW9DkZWXP}6X9UMMv!{_i3+7%c(yuT0-Muwf>Z@}3I6CP09 zIT_YQ-L<{aMtx^+ewh7&*2xfy7McLFn6r7Qp0LG_>?Y85&5h|gRb8r^TTcDcvKniIXglD;?)PY7YWVo zuI}%1yS%#%K0R&k;kJKju;}Fas(*gE)oVZ5-uiZPbz!eOx@LX4ObmJhmf?&5b=Z{F zcKGIV{P{(5<5hbLO2g;yANzZZo$<`Uz?kK^XwobA+^cGfsV((uL7{u~i^s4sw|5cc z2!9}183qM`Ji5Og-Cb6W_g7o>rFwIrQAf1+T${tSjlFMoRzK;iemIFdFaLW}AUd}c zj?VlUCeOFM<=+;TzbNcJ-Q3@JE%yPR+ttNZ!}ZBnp|f*v$tMjmFTQa+J}>T9@C1BG zXc0c+&*IPM$0r-lzF2wkx6PL?ch`WPXg^{Z4D;dqJ`g6Na6ED5et3BxEOR9^_jt`1 z{g?b%Sc!tu8rV`A>_KLC502L^$wT#T4>1hs{rFzTh(u_8{~4434&s zJE$z5cXz+G+$iwGW31-dtZzPCAMO=KHQ+4o#+Wjr=Qk&Z#{;3N4AD?}3eMp?&cGQ& z!=IOXo6Y?eJU^Ejdx$V#?YPTiAU2^dt#G2jh%5WT<@ok+eD!U0`8SJy{c`i^A2yx> z=dJ7B*W0hYD82yBf2u8i56*!4U3~s#XW>tU*MBR#`QrIs#bF>J{v6Kb?fKo^x${zI zg3qseyLq@mVdXUjdrzCiC*nNAy_db+Z_6uuVF*vm&hO67Z!gU6@!bWxEYda6S?&-1 zoWdG2a5ipa&ma^JMZz!mcW49WC<_>ogKyY421~}E#|)pH8|pml?;n2#KC{TZ>myzX z@dLBq7a&J;G$I4{!T%r0s(}cqyxXkCrWe>U;W-}P<^&C77SkvW8k~KRkhAfPi4_Inq1NOLsll1P(1 z-igGX-d^@j4#My2R5d`l)Yw^NR))>pgKp>K0JfvwK}4rn#W;yvPYQ@6bp!PY?c)<9 zi4Eq2AB`Ul?r)B7uj|7up`y;oNxZ3_^ttMx)G6mEQkR=3P3gF~chRq34j3KYw3)(l z$c9-a6&kgryt&Q58AQKo?yLs zmBCtdv|8Q$+t$lp)t5ei%*~Zw}UZ=f_&yl3d{5kxlY6%rdV)6(l z5n4F{uqhA4&5WN<@fi+$Ke>Go-2i81TARl}#wF9O>Z!=&juvD-1xPc1z~^O&`2D67 z40RJ)$q*eB`mks4U)2j-nB`$LH@PQQ5NY9_(_EvP1&{32uMf^xlkp|HY3`thp5zQ* zhUghS_^06&c;P5rk8dx=0k9@ZIJYrqyzCaV4AC=uMxMcP2Hv31o$cCr?=qBFoY5v>v=?Ck1Z^{A8FqKNJ9kIyi6kqSLoKWTov^miWFr&_Akm|${Z(fJcc zAAVJO^G)&1*K5!IwDL59R1ufB5#J8=eY_UpfX^5vH8l7!N>kgNK~i~uCZjDuE8ja0)o3hSRjB{+<*hRCx|#Jw>Afo@lm z$C1=S%b9@g(ZC(A9GOHag4XCEC$_ZM=P zf(Z~X#jXPq!G3OFKPn|2AGDhXKq-73vgD}gOl#Dw^cp+zM6Ft5zbE!GyokuvtTA4^ z34GYCRTVNDn@~+U->t2=s;w zWU&cR8J0Fih22qMud}?m{8ee`!|Kv6s>}aYUHRAgvi5Jms24xzEJvH6^z5X$_=~-@ zkJk47vNl{^9Tp?VmKv2IU7Q_^#F*Sa#($SLm-6GCv!UP>W9?yCPiQP#*LggyTn&mR z?ZR=>Tp%QS7ZQk95hAW{5@QYp$%K~1gnj2fBBiW9PmpR8>CDiw?vri03^PqJ>Q2&f z9$AFbpIj#kxi5%LbHfFlgqw^>216Ziqglh>NYu&r*4Hu=hp9cr86J@8jMX$NH%|>x zU=Braq@-)jJ(Ej3a$Y0*S>(nbpcx2Z#3zSUOiWbsX+MspI80~4gdB^Q>7x@5i>6ku z1`1KO4(iS|ALa)10zC)}*4L?UHbqoWcVeJ`1oQMPuWDP*Y64B)S6*!$G;?w!!jd<~ zg1sV3>N;o^!z2t63^rN4Fe2TuV@4`R9Q$>n2t9Z!Osc}F;~V7%*PI=-2ec9Z61f-k zjm*87(Hw|&;@LrNBvo765udyhA-phUzWO0BQ#HtR)?%D9M02U6H8CYvtvrwL z;KLs;d^^GC&F7LDKZ?&v?8KjyaC}>Q>uSK+Q@a$`?E3cXKAaBvB4c>R{_dU+JRQN9 zOa#2mrZ5SK;G2+j0_U511$sg0FNGrloP`{xs6IQ%V-BCqBeW3+LK`q=_$*(eGm$97 z7SbaVBz8*J|57aCpb>?^IB4bkBuJ#(h`R?}ek!(C% zUtOGmG7*By%kxUJQXjMqZ)D-c5+4PY#hF1R9!mi`ry~H!wZV!-@1gWOKErJ|%!bl& zqv31fX4Kp#JHrNc>h6Y2WgP~-)2olJPtYw=s>#%teF%n3HqJ(Fis8iQ8L=t0e1BpP zlKJz6(AMU*9Eyn}cxpNPoQgq-V5ip?_%o+~_W5USIT!+(qD25C^7tAxafF$m9(E-F zk9Zmw&&`+7t@{MgqC>zcLUV)4OTp6N-VC4hYK9~)%NyIHj(S3-E#q@eNE!Bo&k_w+ z3_Xu{rCD6+29V}-q?3*PQgK+?9d54_|FOCJ@%GX$%Pap@N%)LK{}X(cPwX!JD?HyQ zeo^SY5rxhfYM8&!E$SP(e$HdMyEXKl>H11?=O$>?^-1sI&@9&vdsGemRT=qG@yx!cL7P4M!;g{*7Rm z3{!Y3!NfG*QC+rwb+mtf3TZjlKBR_$t8@6w1mrj~(+|=!0YIL8=xeX{Hgg53aAg#Z zw!_GsO!1JJsE zIy^kvhgTFzc-BDW_ybsW+1#9GlqQEnw0PK}%c9L}fxr}DQ@AVP2;2R(b<{P{#)RJi z-|}@F-8YjTk^mu@5Ai5*SB|8|0aowfbF#cKxd5Sd&{l+y{HzCM9#3~xBe0=FZD*<&{vzH0+GnM=+;b14O;kk>|qaVLoNd z`Z%8F&*B^RXKJWm2)~|egh>h`zOykXZwgFM?>8PptqQR21}{$7f+H@MV_yEJ8_+6gDt( zHvVcDQkViJ*X|Db_b@PuX{GSM2mNzS%4DbP@E2`_Sj#?Lo z`h#hZ_S~}fA~I#g zUUEYeA=uHyX{B9{B8n5CZ;ruz`|PlPeIk(uPT%fq2qSQc#UP8_%8+m#pCvRk z<0*p2C~M`EQ8La(5=vYA0tbX6xXL}mmnLpc7{sw9N`g5@b~O^L-{ZqPi}rv? zhGQ@>Pu5@jq+5|j5!DncFjJ;ONSrSKbqC$%@yQ`BJ;B(_oTub@hR?zd`5Zn6MC)6M zY|ruMpxLP?OY!G}C}M_aLFQRbkN|KuKuUGLlhSZ5a_v_JIqJBkEg~DKnU0jFyQO`k znt;(z50#BL4hFPQ=tAYm>hh;sOTVhDL=-yXbMq(gxwZ03!RpG=FN+Jm+1mQL&|g~J z4+;&R*AHruD(Y8Fhp89b5SqWdzC{F*6`fgsRE&lu-K1+O1G5Cx?=D?R{G=pIvrsZ(lYJNSn zf($G>-%Z7Z?irjJKFjB7eiHQZ_L$4hStFUwh0%oO_+YWfg!^loe!NRmn8U_jn9HhY)*r>T(R zwffS8&%jxmfM?>*)_EBL=3Y<;GgR$HdR2J3c!p>f%$J3G284veD`=y}3=i?ta64>- zuT66w`TBn4C%`!&q?qBg8HqG*L=3LwhWys>dW7Id*wO8^>Z#3E)yk=*mfS%^4p}HX zgl?Jw!kPK@1d}r|r(?F-+41*RHeLUjR}UgLXGV-CGb&K?`NDS~TKezH;%o7Zpv_bM z{CVl+C!0?`U;EBVB?T~|y9^v3Tvu6PmdK>j4izJUCmv_kJXZjCT6vcpd^2tmDJcrg z9^r?eFV9z){f_v4%+SBV<&=9J>Ft@6~;sTrRm3Y1K6rpj;X1;$jug=3;(jgMpM z1C-{m_h+2zfV{A$bG4keB?&rj*y)H!j%R_%rDnBxv`=njmN7%{vQjN|Fa6}Ec|2I$ z+1MR4VJvVq2$HIX-CT<{LvLS3RFLy<43GLqqlQZZXLK53(+k-#BiTM42thD{sV8LS z%IJj)bALwO%tB}-+BTIpQs;T0%KPnIe9l(e;8RtPNdjeyTxxN5%N?(8FV0R6FK*6p zm3Z(}h8GxeeK9y1A=sc;4jo`>&?+HwEUbf^hDf7C!?T0tey25PQKg7=KM0FasB!h6 zFU^E)zTDdq*V-DjkbhQ2puh-IJ=e^b4EaU-2M7JVR<+!$sCspU6zRQoBhC0|P#quy z>?>BE#@5uoRS$|w8z}V0yDPr|zZh~5=B3}XSAHD}SXMvqVTR>MBQF1Yefi&OD<4E5 z$I_=;)u-#j^_BfV*H_IAph|s|;uwUC&;BoNI;e`~1p`bZ5E^SU?VFKjCv;F|q;uK} z(reXWihN?2x_y@OyyH8T9Rg5TbuTYETb41-;u}&Mp4W7Ugz&JkmFM!vFOww}A6HbI zP`esYaHs+wNRi1k#aUbRU$hn==OSkzXrVL2iAFNwplC6noaFD>(?xI4E zlStYss?nV2JQ*hQM2KEQo6d_|38}_X2)v7vF4l*vBAi-g*YwxWWo#t;x-EdY+%758 z!k?daORv=CsRS_2iBTl)AnK5l+io->xJm{Pj9_|$sw`xvd_w5}mX@mcy^MH9iBiL7 zQ|4VeTPXmg zHR+OE6#$}vGxgMGiZ&a}*~$A7B7~K?YLv1Egw5i*kXGd3o7Lwkf%4n05P$ZGrIhpdEc7k2CLWHZM~*w0=8RWAAEE&r zE=p@efSKLor$oS00}kvOhKv=LTD3yEHoQ3>D%&{dqJP|T&K*p~X)#;wYOK_|h`iWp zZ5!tiOr|>w2Zh2hXa|=hgENv$lF293W$q<#!gv-<16@`YkBE88Z-Jq<=qa0fZQ}4FQ^}WuaL4H)=RO>gL zM_kl^U!NFr`7-=XEuwlJ9+u@8TlEqLgv$(jQ=!XPB{MHoNZ)WNzz`Y8;7qT9k7&lp z#WB+WrSB}nIP4n=xidh7UNV2CAS5c`b3Tgs2>-$XVI@$HF@k+SEzq&kU0z-Ktg`Yk zWbQ2oKC9Wt;QT{;Zmj$=DmoN$SgW%2&31nUK1)d`6a-mD+hon-Gya@&Z~-#Yh1EaA z=d6sbK!ZkCBOHTBPlA?MU#Al3RN2_^9jOR>=4H#A3PI1|Gx0DlX2h7V*T@gF33n{v zGX;dY%4{rBlkD@?w9@U`ba2ey?5v6^LuusDMDv{i5v(@vK8I|fl7kxT3W-YmfA%=9 z6)L30F9;@FuZ%FPRO}8a7s+WNTooKFh2GbG2u}&vwd-`C^JZ936woUG*$J~R&{M1wy69pDXA_RMDwO) z$2bm>p*cASpK}qB6DBN@K8R~-2sxYOS2|{zbVFx^#H9~Zj(JQ=4cO>=SxWXvfz!=( zXE;d3t`BqpM8`7WVSuwMvl{dEZXTkgAzr3^Jlw)FvRoV@gWv&kP$H6sD#v5%8%Y6m+3IEYB#16Q zs}_}A90b#BF@m=CEwy*{mU!rd^EDqgTJ zw*$`Da;mL;&j7&i2TIgi5q7u* zu)36&^vZVPC)1GFah7gRfI~wa>i#^tq2)~5c)v*5Q)yY6EY_g9Kx_`j%^ zTR>(JZ_F9>0^Ppm%d|enFu^i#7D{y;cw#&`DSj1Ie-Bc&v6{>kAUv3|M~8S|#%EQX zoBKPh(fa1nXN|>=dP~0%+yKJj8$XKAjn#kGT8=9p6yE%HbMrq|`WtWd%ZsDkm0{T; zUtNMb$P@j1cz9s1CjrJOf6geKG5I}}lo>3ycdo{l%~L^)V&-P>nVYZAvTu}&;R{YH z2q2wwz~)8-8!Y%OPefh-I1@{G9MxjvLAswtz*W>SLK#zf!_CJeQ7J+z$;IvEbvAEC zJWx3rH6+UX=&Zry35uM6))YX-1R@NsC$kp+oQ9IDN46D!8RXhuU&{4I*xbr`*D+Iy zi$vsNBEs>Btbs_C=G+w|P(*JC15JU?vj(3-cak4Rq&+)iJ{;fHZ>(0^(cwnaYX$Yi z|3gr501IjqX*ah)4e}iRa%?kYCB~WcAgBuo&mrY7g3Y4h8O6Pn1w>nwqt;QqM|ON1 zDO9kAAP)ktVd=ztd`_oaMD{Qvl?{k2&kQozDp{g+XqmYs4>uP=90Jj~$(Zb)j4&$$ z65@&>^s3)gw=z!Bh-lL&G$9FC?(aNL&AC6V>1{n0{xht}dsVJOFwnUxk(N*2{N3hq zpRYdq^XBWu)hHZEPQ3-==d^WRyOMqRX zR#gcCFF=9w#84+c#W&;2)1cE2PhNHSGS$*y7jZ@8a!l2fk%7}&`$M($EsRJ?1YnO? zhphJmJ!B&G8(1jMh@FbnI!*Q1*AdN7NmAV+oGLK{G-9Kq+h_z*xctTD zuA?$|{a1*14{uaGFrbf@*pUb}oyrkKV{Y(gCd{)Kij2>W@7tr)?RTEnh@md_Xlj<3 z32w5|5!<$i3o&h=Qgw~_GS@nZx$y#)7#}O%#&^=4fy2{^R_+^4LN=TzNI*yoa@3?QFQ!&wEVumM95Rs9@El)M#lK1%s=58b6&@Qqu52 z9?x;e*bpPR(iTck4S{R+#lSYt58TlMn)i*Pz0yHpr}@0}`oqq`NByM_5$Ue@^IU`2 z!JJqBy}I?U_050nuKfafR~A2f`|88B*6Y>7!rT3#by9pQ;}1v!pCjh}AoS{?RI+(+ zPaT!CPGpvcRlalBLF1h8#H@i(o)HtwMG`$Gt9clS97D#&NmYnj+K9tlFn=XypkTdT zSgCHT?5^Qdz{evaZ+S74>)_Ag8zzzcQWaywppf6v7okh{GKr>@|4VTwl+P!T?|L(%BNOd zM4~q8oKL!8tdrHtN5g9=2T?&9fwPHzuR%F+i9!z<*e(pCI!H6%tOh)h1#pZ|a~j6X zkmFBNd>)L?5P-aF3OGMYj{MvG>heKD*Lm03K&{yOha$wLB5;Y?5~`r7 zv+14#-i*)r_zph5`Y4Kg4^q@{$i8Qu6kIy88s3h0YQM+Ru02G`7aU3+@ zCYZy(ap!p!Y@fg>4^EXhgCe_8?bi;@N3O$|;v3+CP1H}@?%^B23jbW*-`W|j7uUY2 zFa9n=ba(l;KZ(y<|4)DY|Lw1QP+9o(>e~-36}ML9?P%-OFz}gzqaWPEWD4B%Rs=o> z8#G8ui_1zslkJKd&H1e)!)rjj2jWfN6`NeG>AJfpfY#lXoqc%g=n8J3zyQH~tw zh}h9g_)`TPpY+&TQo^D0NoQcnTGxhwN4^Y1Qh~H20@7|>WV-_OB8rm z(dj94!y-5dLHp*#s+pt4tHvhq6qU-nk-*bLfjdf($1O+a2s0t{iD(`(WJW+V7CqnR zdH(z!d1gZoZw?>qYxfxLKj=V6+y!~|Pt-_x=T5)VIXkg47+*$M!xjgM(qFarR$@!Z z-QNAV3LFIqz}%COjP3`hLOp8^5WPe5+u&Cv!+et`3STF`N)#3gF^?AZCw@fn(BKS;z6 z4Yr>K5#qp7_Dr5hEPaWxWRZlZUCg{O@YxiY2*T-+m3-SeBd6F%S2$m(F2Y1BTVl?5 z9CEuTbg-S;wy*}I0`H8VUE{W@22piZVXWjtY?M-fRy#_>74~0Pi8K)lGgS{&TCqHlj(_#L`80=;5TN zrN>HrxVQYc2-@=_(gr?@l}!)_=r(IbEQnF#%cq8jN5~G6bEXubE%%GX{la$T+4jm; z)z=>nS3XVn45DW(=yY@Km(`75)HnX$%%At(eo$KaczNT?wf0L0pZT*{5VpE_5N-^v z?kNWQU0Y8uB4Ve;0VR`e6TD@wkw78=`XDp)XLt0RNZ|iqGvjlXDEMr#B<2sF@g;tr zay|>>?Rqr2k$STkLbw&8UN$`wd2>zQL_bo}Er=*)wR7AzbivQZ=W;Y|q(6G4rUe!; zE5IbD3ZB$1iBZRz8b66rx>Pny@;$y! zoVYJs#Y{Xb0fsHA^2DPkm#_dWV;b;J1m1!dP0Wgz39`XQ|KwU%`_4P{OF)1lVSzou1+`7&&V8nBej6&95S85XYpsr z)8nZ9s8bW)nSEcCVD)mJskP$)#e`|}l&1eEKF_mg;GBI@4w2LhGLX=NI7Y6D42!{{ z1iVoT#zmi|_!jsKU?H2Qwx34#?!>xLN-B;q184t~Xn+!F6NYP<7ec6dEr(B$XNh3V zo|#JZa%!G6Pg)-vk>ehsN!Af?_dINdWr~p7WX9)Y@8{sNan3_+0B7J#w2T;tW}_WB zQwndgS0&zJMY$v$iwvB@18wix$u_d6)21i7M1)u0=uxCH|c8891*r_msP| z4u?jVn@r6eBeX8I$>?7n_YS-C1vRzC$IykVo8lY%Tq~owy0q0$NPB7d1RD(dt3;$# zHrM*>=XnK|i;!m%$^Z$7SyWi+Ew8SAQ+oCBVD0nv@`rQaoKYG+e^6ilC6w-JE5C-% zsy-GMe!E$XwJK2v-HU=!;AR68?ljo)-@&NA+pbV~b8WKd5dz7MATVqSYl4q~Vj@H^ zA~n`5@d5yX4_z&zhfqvd{ENJyR;-C@-=Fkj8=qUdZq`mZc0&p%h8~?7{^QnW4JU`U z;1M#{ZjNoB#}HUGR_1})oue7|k_fZ>87oL}{u}TvLK5Nn6c@_%lST=iB-?jnrv*t* zgEnixN1`@2f+|gH`{l?Frdm^0n`I%KVU$z(E}`WzgnB9=0EP!GAwB^*F&V+?NP}8p z^AJUnP#Q(CAES-D1kkij+J#bS8E$WuT^99<>N^GDsT|tzdq=6CeLz#dl@6;N#D)|1z*%ta0U0J9G5~9?|?b6%oPZM$q90&$Pt67=LrV}sxAYOd+=U7rqu4nZxHDJCK<)N(Y@ zI*C4Em5#oq>>nfoXEX*Z!)NT27UUh6-5oqi{wC5AB#IWt9JOS)8WS)~9tX*ZHcR=v zyUVV~#yi1{cXNW|GsZcsC#A6BSEj_Ii=h!Gv=jN^2!jFzats8qXG#4Po&XcS_3WCv z=Wv{piL9pS6L|>dec0f1FE=U+^|H;20JXdxvXuSk!~rJUj8($cVq?JOwvrV?%9T@s zhzD|oOm4uku|4TV&|qqtes}^0z!B4+1FqmHT$YZwm&M4zq6g)j!=372Wn=Nn-NjEE zOTUdo;arQdx@hX_Qbot|2liH~u6(G_Zh84L;gQurX{B2fc8lEco$9`bz$Rk(7&L5r zm!n%AK?6`E1U#C)+}o*C2Si}DIvJs3geUD8Wea*)4;~hOisuO`@eTPM0OiqgJxrV= zpW3eiP9GG&Ul1y5`r5bWdsl~0TGoTH*y)zJdse=SkYJuJ0z*J6`U)WhE?CCY09yD> z#tMr7N;Gk%=FW4Q^da3k!Vxy(=L9G1rp3C7CHjs=*TkJX8u|B6Ar5AgBESbVmccDk zseBglLRo)!6dK}X+#sBwK4v^GU%Ee6IVNIH zsC0%N0YO>+3EtANRI!F=)5;TZm5?W@vtjt`KX83N7bv%U|YM2c``n8D#188F_<%YIkUgC5YBO?+# zKjE|P2?(Q(fvDcz1)SSkZ`xa8_>10OlS?2 z<-kc0?VtFbK1YET<*F4xwD2YwqrxIQQ5-cTdj?ZCasbMS%lagXD`m{{66?4dSe&5! z-b%d;oaZnT1jQ0a(uf2ighrU+NFU%@_zVfefuVE+^KXtaGEaEa)VIxWH}i9W9xwrh z`tK<~gu$dN%&lgS?bLxn?;aJ3yZ=~w`^nzYNAuvEi#jqy=UibNmwuxV+NO5as%+L@ zuk|+9y0+=tri_AqqNBp}{v*uzfSyY^0b9WhPnwIk;-T`kt5cjIga*n;dPeLQM5Ejs z1k}PyG;mQGr01}gxzD@w1W0Cum$3qc*OT}?=ny7i+;;@Qz z3EP_S?u8wGgd-+Gs z^w$;i*-j}TSEQ?6L>E223H6DIbHaTPI^dCkEKLp<(WPrzKA~&qP;Lh&qk6AVYJ@|i z+wMqPVU(WCdX@EehR<329Gi-W?k^-F6KkR}ri3EXFDhl&0@_IPWE&Rmm zpjE*-=3?4em}fjEQIWvswLw|iK5e!i4pBSZh;MrE6h&9Q5({tlJIqj~&~%3h5G`~g zaclu7@dp8x89u{XUb!Wc+1WQ2x+hW!UILcWgATFFTda>Ti2bFQ;@;#ohu0A zOL$bLD0mz8%WjTKPoO&$ zb@;2=>BY@&*E<`9erc__C5>f8(!nEZ8>tGURD|J0wSc`m*;|K)QcL0t0^=qfET<#2^Kc!sFvFi|^4sxAt7(64*s{wTP2)4q+?lbr{7pU{Lb9EhO3g71W>7 z&B#1a#OscZM|*ZeuSOxXSn| zr_hwUZKEE106$Fjh>G3t#FJ{@G%gPpYGE#OqbbOYG+FXuf@x!M1lZ$vY9$a^;DPg# zPVt+{lEvL$Za@FS?u#$CpMAFVcHTKvRUWO;e-5^m7wjS>(`B zCM#e$@n;jkXHj=#HWvqVd$)pU(GPtl%$gXK1{Oec8Zi{^F_Qt9=6U@v4;PuFn}#J? zGZtL)l~(q)?854~2phT*mMay<5)!sdKp3u)UOJAVP!M)}hR;s80~+U1JX0SO3;<^( zIz}?gdhiPNJtD)wb?sSn)Uo|&z#Ui#Q*6L4KCDRg-skK+W%omVA7i2iPvRSIZ42L}kQZjQ& zbM*v7Cwz`bOPH-J&nczOCIS#oWHV|ACfb$f8aR`U!^fN6mCRj7=8?g&&c*Fa$M#uY z#MMCM9-3TnLMRvZQIe>${VeS>iCWB1+6fuXja0{q0|Jw3coL20qXibRxufGj`9OqZ zW39iovioHy+-Ho8Ew`wbX(GbY`=Z`MWMB_PJr4!D&6Q3y` z_9>cZDozNTZ3QsHXW*>v8Zzhh9zKhC@`i{mn@fJoph}E+eD++d18Xiq6&x}WXF@1f zs6Oqco>DL(d$FYS>I9s6*wkXbuW(>f?T~~oO(%+QAjWNq&lwg7>ZB1`r9?>vo+->5 zG$4<_IHx9-#t6S$9QXvR&4L=U1^^bUc`GX^LvMjUbFHNVt=yskI&Y>`?kEmyXWR;dZj-)V-~DH zN#h^;|HFS%1A=&$d4fEqplm6^mbQy!xv6_7B?& zs?fiytSSBkk_Ph~d`{zU7G_2#%O~KPZ=^cN0I;>k>9A>3JuIP>1yCkRX2=HZR(5N6 zpVYU!|K0bQo)?vM@m`r$5WzI?PwS^$Y9l#fO9Zu`%lo_YJ9}jP^_ocP3{0fD@X3g) z&%{zf3R$8oY?D_NSQDK#_rq#DohFilh9UN>09z*07p_)vYPe?l;3j4 zD7v#a2})1!IUzRahUCS?&o@i|*cffS>~Ek?st(w33&-qbM`(F}Y;oAHR9 zQt5&ma2Zxd_K7sDHC5M&mRpMX0&E(#mCv_##c(>@wR3n0wQ*LIRS&%Wdn$6#Xb zHWH%qvR6bmIlqDYwNcN6y0x_@ZY?;&I>)OOAyO)kP<+Cnh{SPXykrcXhqk7MmT)#T zPYtP5d7-!&ve-B(1N1m1&%Em-{X7$){0K_NU#LY)TObM`00A0D@UGM%C5ZOaGMlap zuTRGh?n2A(0pQG8<1N~*#EU0Fn?x$q&?@lATqWt3&jaq>jV{LCr-?WEiSOs{OpYmj zm{7XHc~mz`ufsT|sCXQ`LF4jrbaHH~1hA7b0%JgJNg9cbcP}PfCCeWKf@w+lgJU* zjL&a}b(=}nE)T6kBv+==*amQU!${hbK|M^OSdrVsxX62ACfd~OcjgJo- z!{@p>)+N}kfftiV(%>^9l>AV(??RcAys)5FEZrJk`5LE&NO&lc37L=O(H?KSu+L5@ zrEWuKD3R4D$dZuY44e&=TW4@~#46EgS#s5V|504oprczgDUo(eGMQ1@O+l{3Wo#A!U=gwy z$lMu8jlaniVu=uDYXo9>PLyHa4h8C4k!<4bWqb~vpKViOR{427ehfvXRcRf)q)ale zd6q-*LA|JKs9SHlRDZp){Q2_YuXi^;t}g$ox%kW2baa|DoX2M@S~9W9x!nBoQh)K) za6`0B6`2ACc{cbA1ig~RTnEy|97U{>qS+@?`7tNj7*b??(^Zz#5lm5G&Yel|E6&Rd zpFtMEqerk*@Qna4d9ofUAUxsE1{u1d2gEr1k-N*?QE$IkqR4N7OC*P<(%qK;5*A&ye|9e*)1f z!v?v+&`=R|LGW2+Am2f((s)7x*O!D92+|GdLW2-Ib5P~&wjNG>D8iPrc+NEvl~3mJ z894i=*))0@zC9DjnFPj_Eg4WWSjR>NLdhH3&#;%`2Z{bu3WY%S%VPL(EL}XjsgNMuXsAVGm{fiULvP#WK zE`C_v-4a|f9k?zC%FEn*V!f);3zL%L2^NC@ZEVdhXUGZe3O!hVH;r2h`Pw{Ld5`sv zY3hM3v>ZNg&E?c?#P*TNrgPzO9{%l#s1eD=WJ@k1W-y9W6rp33$kDBt2K6~Eh3(5R{bhUUllA8xu08vB`3X90JYkpp1L?&? zPNw)glcFpkQ2?1*gq1q6VFmL+-#HpVw9=B>7}Uqu<6{5(kbU&L%ob(gKf(>yfzKnP z`aY7LrYXy?8Ry3-1a00ODl+8g%}Z=XByO_uGr@KNoQc<#D!2@C5V=@mb!{k^zw8aU zwZ7q0<_>=*OTZabj`WtrbcY?~PY_0)y}IAj6FeD(hQs-(L$u~%h8dY*4s{bzlp+j2 zF4Z0zbDFMknfU?~lYQCjZ>|>qwz2TBeKzpt`rM(XzTl@q*OCv_cA@-%bg)LBJ2GP1|R4F5~%j3?K9`pE&U2x@q8-i`vQRuvc zEdxS6n&^0CDj-UZr|p#*C!>}s+;Bpz0f`_6hR=w|_?T`y)+&|k)w;Wj@~2cEc)h>&TD!tpV$s4b#JCBbr5QWnY}AkXl52GRLVg%UuvDiYN4`0y}ds+Q{9 z#Oeb#@dy#Dm- z@&a&H-I2YXckn^+VZTa=X7~(w%~9O#VF2vM4B zZL!B(01T58IOp2Zc%w8iW1|6exCsHL(U4x>=eb~>vgZhJpz-}>v9@EO$6mLtv74e> zjFd2!&uxR2V=2^15*eLK`1~NC!FZ|q;BdvB5-F0536KOvgqDSapZ1*t(ZnW_iHuQ{ z?4H`GSU2cM{h)8<#a6@q6pdoN+CMpFH0@Misi~BKQcS7L891jPa4faJlwxgcBTBZ+ zk?5SLrd?TnxBmQBZ@=}fbAjl;7Z&UW;H7eTyO@}Qcky{9NEwz1MhLLVqD~a=8D8MX z2Ej}Z&MJ8^mOVdh5n!22Y=+RSzHG#jWb)?L-ti&sZGu1w2hhDptaDM)2vbbkEYF@4KT4SDaCa2}Rt=fR&BK3seK+tuB_ZVZls96d?x?gOyxa-NUTo=t00rf0c7K3Pej#ZwSwrTrS490GZcWxbc3ug zh3O@05Wud0T#i^-cCTnHHYb4q%9SaIxEy_CDfGn8zYpjBFT!UiWNT<%EvXh~4pyJi zyRtv#P8o@c0*;uwPg>ezkPML3@T5|pgU|wVCA%|}CQdYtsY0meGXD#cp{;(E@fm*x z(YfWmwk)_Lr?CDIi zW*<87Ct?=sVbc~O@$Li90{4cE9<~N1haS{kH!)NhlF%1nke^z|)m)e@54s{ecC-}X2O)t$MR8m(M zF9ig2=otv&sPcL_%Nu-9r$7We}VCyM?POk;$XeXaP}ktZPF$(7)KMS2zw&VW$P4~>={q5g|JaRp-27?nrT2}t9*-emaMwAE zn(1{U?$d@vgdFgyU}3Ey$Y4yaPmL;H7g#Z8K-*KZ3uHC_TpYFUE=009n7*IUhrd>k5ViaiubFxqLrW3~0!&3XT5U>_v!K@(I|*Qz)qU(N6u zSl}!?1x}5F(O?Y)W(7J#1}Jz$FYjVsaY1RJLODce96w~@2i1`0RG8ssIRSB902qhU!}BH4<(K_?M|_4d|I=|6WCKB+GLCMdKw$u52%SExmC-F#d6O?Bbd zUS+sh_~UN>&Gyk&`DpimvzUrEIMRSI79Z)q;9)PVD32&&*baR#Vjd80aXu5U_-kw1 z=kiwgOpvQ(3pQVO{-x)r1D7e# zuU1ls!fCObHkFN;9htJ|k9TCGuqW~?&WX9jYNq7Qz~osodKOgTPV&qAAm~ROLPFB3 z9vN{E{X={P(He06y8Pz5c41Zk`OXZ^;dAz0VP?4hma8Njmeo48Ik0N6v`;vL$l2s_ z!sKkbrx3lX;6$Ddcg>v2=y74NVhWzZ8?jG2T!qrH8_g7}4K;Pk_?)9vIba2!{V**@ zh2=bX)t>PlNljijH&@eV{FynHLQUWtI75o^d>NTwI8zMFC_OuZXdvT>Y|cX+AbiGW zBfuQwk|9%YaCW4O6I>G~V#acX@k+?dgrQ6_j9DxRh7%)`8wjf29Q4Q6e=9A0xx%%H zbfF`Er)OW*>-`|B)4n+g&OdFCIU)urw!>2}Tpl($mO{-cQm8Xk&EIDniBleSm;iDk z=6rv$anQ^voR3*V^Bsk)Knejq8sCZ`AgI~0;J_#om=(}A{>Iq|lLsCpwxf~|hQMbP zGV}Nx8PDzxbb_lgg8j<2dvouXKymX4s_9JPxFaKTNOG#uWQOF_?Cca(K;CFsD?Kl7pt86txDJr4?nuvxi*mXdkyv#0 zcyoAhB;n$(T#pDSC7YFHTOY_ney2G{OyjD&htH4`^X%Dt{?SWL?~Jo11;Cgx85j}H z69b;SR~$)%lLrmR^dZ>tbjvBoocXg5v~*i4jqp;u8zE4xItgb84BAiO^Jj&Z!1>$8 zs_bE|PB*-H$|kd!@R_P&BQ!CC0IMzaU{nn|@+`+h*W@F3saOyS6uP4lCgq?VL9{hf zdBq>G}Jnr;`btH)<2y&H>qlXl^uM0ZP{8mL2UgZ$QAxE9(c8l0}^~v_zPb9Q z?F_~jGITRz5hn?pDXb=-A;3#Fk&TI~k*rcs=)1@niJ!n^)GN1e&{A@f(CS$C?!<-( zp4zhu^X80O9*2nxr#g0oL7wGgeDCoYeIXi2STRrZ$&KK%S&Iz*^)VAbTv-IOY1<|E z3@tr)z8Y|rt>X@ZV%7oX<-%ogP8hLKVKko_YX>U>hUlwR4Bx48grG$og~h+WhA zuy+}s(+pB}Adkr>*?3?jEl!sYebuaQ3|fWu#?tzqN{dQ3CRNZsLY@;o*A{-U_x6{N zytMVlQh#B!w~9iajzcEpda$5_`)gA`FernVigF@;p}me0&BqjFcXL8m?LB)Fk*YNr}Rl$XqMb84G3k4UO+3d?gwdIz zbk+sX!80<9oHFLvY^rWG%NY#AH3*$b+v6mq2E5(@>U}QFQGdJFvh}x8!}VT6kv94& zSCzM_7K9fc#p~34iQ7Z+V7c$&Gs)z6*-1b}hpCw#s4TJY88|Be)k#$uxp;ACL^?`ql%C#1xPH_^KW6x>j%ya*kPZAI zz%WWZE3TW@wcbmHV7R3CHC`1IHxi3&O-tlTE})Gj~5K()MS|8_7nZQ@vKN4yGbO z`JhfO3L{d%UYKk>ch1n~JYYsIord^C8A!Sb>LG3@!4Z1)fG*;}Y2aVS0@f~#3RIkqsuF$X+3CWKAGG|F0%qleY& zSX%xwhtILBtfFj>z+`>2#2z?XxJq+jTHgPSo_b4K3Q)wZZkFrjm*+~_f-gG^Se1-r z5iJcAQ+AU=J}Fn8LFcloDGMC=CMRJW?ci-;qgO;7?7rRk$NEAn_l{L6`R!Npk&Wd^ z#G|?R3luu-nDps(`}JyP*=iT-SSeS$HaA81C0|SmmB}lZNEFQREJ8Od3qH(&0!lu~ z@-_Vl;v2PITUoDeyEQAr)?_^jaONqf9JV(3u-U&b zn}Xzbs%vt&P9Bh$@#ODhBn)^=|HLFUqsq&Mdr%tA(5$Iy14UlZJ(L!~U?${AVe-zP z9YEcvY}Cq-&>UrarVf-*XoA=i{*1u+j&8vg@C^l{xc}}h4(1E_n7pq z>9f^m38G)+J^7W={k^{KeF5=);VC!=f1Wca@I;5{4p-EbjSTT1Gsc|0*ag%^A^@D; z$;Deh1VZVEM}|BvTCwy777Z zE#`hIRYjq}6v!ncgrB2LJ`F{5X>KSolK4CcaE;6CI()a`m9Vf44`cP*>5Vr!tE39Z zh!+kX^mtPEEl`SZ&{2mO<@jhm4E(fBYolPFTYC;bOQI6AQ!UTMKDZV(al35Cjfp>j zFD{t66Z`4O6=Iu+B}O`56CU}v)DVdow&WzZ%^_{(b`km65LZ;(a%LfjDA?XF7KR(E z%U>zauz#IBpJNxh)k&M~$PuyV{Eijd`}^kd=AX8`H@04^lDJ6n#3}?4V0~jIGCog4 zEAe52wp1aCw|TCq zu)!n@j8TYYltIRVLGLaP2pU+C6wWDprlCp~#HA5J&xk9|$R`>p%!n_^Ec+Vl&HRUI z$HNL}rJ%9sgw((5OKHUwK$*8X?#Jfmx)h?Ayd*rtbwIrZeXgLCh_VnNem%AfAwB*K zqLr2rCsRO*vL0m=a-2caKathhpJq7VhwwR~1mV)x2sI zJd0uU2>I6Y5RIY}S7X9$w@UHb@`~3bn5jP(-u`j`Tb4mxj&7obJCRuVzglz5s-kp$1WLV{=qI8TRgEO|NSF_Q`CkDz*jdMn3F^y~s zfOB@=tQS_sz`d0i^`bzPA!dO}dRQjgv!lM5NLbX&5ZJ1#bA!yQJ&P@BiHhsPZODv} z2t*qk#n`IpptSx7qa{lhWw9{U%(^moOvT3EFQ&*Y-h24`BCTrlKDBepka!kGpw$16m5R26bM@LLrQHl*cTKz&msQJ3A>@^VqVd}~5*U4+Zz&Q;TJV+w8)e7-nbwy@ zrX#R7GE=edQ*L4zmY*w&r3m=LJU;sxp;e2U-FDGb+Cd#`o2FMtTbJPyC=3 z>(I1S?D$&wt8w-Pwl$u&6S)A@%WHeysL~?jT>c+6a4j`SHQ4A~Yb`sm^{!a11?eh1 z>}o}$)kAoeC|PHHqH;TGkY4VteZBP5%e%iWzWruz<*$wP=dIZA%9a;6^L)!gmq#o( ze|MKT6Z%V4)&}Q+abLFOl-&l>E5j%q@KnyE#y$ir)pbZe@gRJTW=I#>`bNCnrKqQ? zsR6*XxO;>!^w9=)*QZ#t_%pfy6WG~658KCiLw&+$cL6N95o}kc=32f5)Uxvuo{5TZ zF8JLnlo*r?3YEC2@eiq(ws&ypzakriHlQHYmFbv7dCuu1dNV04i+d?QNMxQ)L594G zriChgV$uPT>CT#!fiZx3`nrv%zZzd}opdZ(VMakTF73E|F%q}8JRvGxEZ0g4!+C!h zpUI>X3l@s|9WUOB*S=$MvLQ*F#5V@kYTd=FTd;kEu=a1QdEm3vZq>oOOn$| zv577;o9_M^_=Z2zUxl5vgHBQRh%;y1d=KJg|1=cyusl1@qxVzCpNY>Z#5}Lu+`Qz3 zQpaA<5roY3je5?>#ZrW)K&v@*bdJOo88~~MGE+9w8k_OF2CeeWN14h&AkpH8|5Ix%Zl4XR?84xlW1f@(HS?2<2 zfD?gDOF#DQC>49{`iWqvqz{rThWtZt_KA)$;p%%W%|NRbDy6rzVDCmOmWI_!Mo%6m z(!0u^*p?LT2#3)|=+!MR@BUM1;ctztCw4^fj+GyP^DMrRWgwO`c6Sk>jL)nU(6=Rs zR}T;{B{WdWgTP5;QF#$7Dwska@=CX2uqFk07Rkx0bqocJMU&`qkk7QO85S)N;Z+C% zse!KJ2Q>rY8z?TP$J1CkGA{JZtFQ_q3WXF&P z7Y0EU@W~?>%o5==+KdADyb!PGY+&%PLX!i@5C9ySMNj(0$-P-OPRla(NH zU^$1)G8)Idn48evvv)35Kk=D3vDdRs>nb}jO(@#KV z!%PM;`?;G-De{N|A06t0G`qe6pM^;o<=l6PNb5miSD@7~>YTWC zy8!Fu=ZHZ>y)L4Eqv5X1hEyz;#qgCjJ7;zm@#z*7*0_)}+HtSbQh(+2mb{D6X|H zme>jcQ+no5{|r_nL<0oKoZFcLvCFBHte&u~xfQWNzlDIjPm!_WGS63fjJtEHik|W4 zX*#D&AewcKcsqKdJ)@IAi&IHMD@?8~yjcPAor^z1=6wIZ!{prpR$QRLM6}q9~Pb&7)iPqrr`?5zIMG z1bBUJfx^cr`0QHqY5ui)A@ zGvCzq_l3IPC)^7XRSGu#j6a(zT0=o3FA|*DDPaWD4xfQ@DxIotVGX)z{J4db7t#TRK~cU86~2CV~}F`EY$C#jkq7_rF*fkDn+T)xDrLm;h-fU#TGj4Z4)9m&Bw^lM53|n@hS3+0hW&En~ZcO3@25!%mqZB4=Jm&D>oqlKvO`3*9!$+ovZhZ`=>)m8zK9O!{IsA94~ zRSl=Gp6#4)13Bj|h3;r>>`z2JS<#A{f|konmjDi zqV9-xDE_mbVY_Ay{yl!$8+2Z@q_kVyr%3uDdoMq}#t=F<iV zXaQ|34!xISdFVY2I@Si?YYqLwJJTcgM+P2DE%(iCPB>l5YG#p};GrO-NA|U}&!F-W z1TSYB;?K#SDW>?p)DrgxEVGa1&;S=qJi9~e>8WTTi)PZyIjzqTwD9H}ZvjU|(c0@} z;nZ1G`xJ<=7uYB;xVni+`8fk{q6|_WRg$_#KS}-<7tXe6o0?}YL1wLOZdB48qr6iTq zsSZNGBCu8(R|Zu+-a@D0t+WVDlrsfomeM1*0M7DCiT2jig8Dq-jU`GxMl0qOm1%## zXWAFuF03v(Zn*&+AYvJ{#ps!9z$h1ZqdAl_ z=*ZzPniJcA%AR_{#xD@6`nmCvSMp-MK}bN#BqyjG?x|5{#u7{YNx1xq|FBJu41zqh z=QVF(CGG3qisM%0BP7w3T>iV(`{j#Y*&1O?B-T257CK_`6Q4CD*2>ISb9DIaxfPcO zMB$ibBkZ+JgJ<(pMH?FFsvO4E%1&}GqR$x-Z3pO zq1;C7@nJH|)gAu)HoW9J$)%x+6fLE8(6h8NRgJBkCMUjUys^+b`Qp>R#^=`1d&|TB zSRDR`ejT;Ge@@Q)I=fNR37^IZWW|muF(0)n5`QX}v~?(Bsi0eobU>tIek1zkxW`_jnbGBl|2Ab`oIq>JP1tP;V9UOE!USu?MXbhFf_ z7i_kv_=*k4k=&OTD8;dHxRs!#c0JwmNyV}>g3jXVVt_v=zqFt}(lbX}us1~|{cE6sTEI{2+MGyL zON$UrpD_dZ_%7OWtHJx`0&r$GGs~H9;W6DX=0LFRNspr3b?u}!xa|@ZF zwWHDaW_Dw!xzc1_DJcqVU0hIGJNnHkn@HUvq}iG^^HL$@RJa>eG!#~NO2Pt_;_&JO zE@&g_l@%s<9ZWV|C7PkIna3AHz*!S@g-qC2_jJq2k%fiu;UXaLvr%bHqW2_pjw73ze{K*L%{^-5I`6-!L~s*=14 zmaB`D5c0tE(_HZlwhZitF)D`M>+r5aMrH=LO3%G@r{yk2iTh@Y;@}~QJc%v_Xz5FU z_qC{$|Fs0!`{E9yuqFoARn0RYxr5JOGobd(PG?%F6=v+s5m<&csy9VeMGoOD>OyUi zVeyI*?uebd_DTzFg^+acSvd#y_NgqM4)&U_p6oOCekicI{KqiyWI=Rr-J-C}S>|D@ ziE;sgz-GEI@LBqv0o8gU%t41gn{6c`$3ooKM^=QU<3fPl7n*7h?kBjwMPF<}34M6-=((`w+5fW^U=lK%6rV%>8-efSMHug-#83`7wcP7a-Zs}I;o zK`)du2`))u0t(M-h(p?`?Z!-gjyw4LM&&y#$~DrY=~J(SO$1$qw1}DS;fm^U5xu76 zFFx!0<-y3)PwG83m3%cj{M|&qY>`z4O)~yMsYKE2ar4v56A3|~4Fc~P5^_33=FPJJ ztXuMc91u-P*)oe8Jk2kc(m{)s_?-M%`pFr8vcpy!f0pvFB2YA{QcI{)F%Q2FuP_^8 z8is^*z;)pdspeiOlxg87LP7!CNT`+gN%#T`?zt0R_60_KGjR6h82i$R1KOnjuEqI- z7$A^plGT)!_y!-UjnCUFfzLLsM$>>cfA*wA!m!-d)USKBe67oafa`KTY(g~p?W@=_ z3eE&4K1aBz^oMz~UR{2@^-5FgwUi8T9xtwimx`*|(Lh1q^UU`6T;u227oRM)_jEm_T<3M zj3U*@R|ZNiXoZ2AA|z_z80FH~Dj+&H#q$I!{+zPsm4+I{wLeo?=P8T|qD}av{{OK# z$bXgv3Y;nlRu!fywjA|w#SOJzfaGVD$Bu)dHD1@Asq@b-*YLS`yMuvd0s1FY4AOQx41yMX8Z%7j=% zoYP!jP~w?bDBv=p?6XicXdqIJV}KDU(J!0*9}GVJyw=hel;6?TqgwRUk4=BIXCIC| z`)B=`-6apkdKPY!h08&NFA&*P!q(~IEv(_l2_}qG7hYj1+B=$IGF+`MIZkLRHIxbz z<023gWkR~&Y##2=W&dg^2}6VdOPLcaVjP(OVRm_2c{(K4e&LY7v`5kFpbjMjsr+s7 z9RF&to6JNwZY8H_joh1Hl(>!6bdy%f$zN_PMF?lMTM$J@9(YwEJc?R#{w)*Ey4FKfM@$r9R2*coq78blirj>eyd{>MqO zbHg8u3_Y0LkEohn0p~)+LCi#4g@X>G;$6`r&!{vvjuYJM1G+g?KNH=^)t^s|@rI-T zsH(|PqM~}AFG-#yhG;rGFS~&vM#RWMe(&4JY;Rz&wT|yoUA&FY*`xc;D}PXZ zixR}Fa!Dcz@eGG?_}Bj3*_S&r&o{<@Tdw^)H~8IDpAy`EHF|8&-~vSZh^siyf;0*k zf(|H6%wk zVHZ533Zk(i`T9WVP}{(2_ZgO@)c?SC$wWoMZn)^MA6+VlT_zZmThe9zH-J!JNoV+a}0piR90Ow77H$M33 z#K8OY-g~3ZHD{9ouy4X97n|ukDRltRfDW?pdekku$)M{co)bpAoDowYhQm{YIw!Ul z98K$~ab}Gd4D)>M_?YWg^V^F`=AaN`@#9#Zrl4Qcdp|1p{K0tN{qerBdvBHyt=n9|ProUqo-J$Z!=m%2b z&lNsnO;+FSaoqSyenl3wOB4T)U8=yjeN<3ulHsuEmOeF$FCZFLYiV^mF}qwF9eOy` zAA7yKMjN67oC`kB55E`L!;yGx4u3qoGd8%=0JA|<1Pr4V&JoG`t7qHDv%*?fnu$V; zNHmEuCZ`gCEV(2B%;-^^ehP4gKeoYQK8}SV+qth6q>JraXi;Ap&Fi7Ri8--JzxY|S z#z=_%`}ho;--*wKlukX{oP4xg`*CjY+o`^<#-lBd<_}s8Jee64pMlTZwn0LO(txnYRZSRwQhCr9P_BBp;EAh-sIDhDBe6D*;z#LqHRE zKo9`81a72A#K{T@kI*A&1>kIH7^=JSaH>r4|IOb8ra&&z)f3U5T zi|q(REhh$IJ^*0!lL*trB35y}g2LcktPi3Q)Lnffob*)09Bw4n9YK zLTl5NIK3COM&pfK)}%T>gI^%&Y4dePnQ$SW@s9YjsUv{wWA1Q)X3x#M%0> zmJyBVjmi0qiAM9cseuO(;>htXpoY>}-I4g*T<)u{kH;oic@1k6>3b)(AL>lYrxt!x zLL&|tF~-$dAs~iKrISpbgmU_E9>gj`<_Hd;+-Li(xsvuYx+x^o^}qV(U#XUsWAgfcpTTo;48vko8padG&Y$=*a}M=8CH&#V$~rU>YP z0D@ptFoa~zrE39^2C8M3-^Eq5X$gE*%QU?ueQu;z_1#{@2 zuac`$10P3|S0VT8N!1nCdM7@!XtC#g(T2EaYYawAei)A1*BmQ-V3>PMk6FZ0#7KkB zXuuUsYxOj{P;Z7`F%vY1l~l)0=|FMXU(3x!qEm=8L}jhg=Y>?jhiwgK&DO2e1zM8> zM57AAEGRKW&R7S0)``f1vf~zAhq1=O)V7BA<>+&-KFnVO=|GRAo>bB)kW!jyCj%GH zk(cBbGYate;PPC0=ng(($U<$rY(V6xfe+P)_9Hi>R~T7{AZpBbJ$iINlCVnK3&J4$ zCVZPRCW}r=koause3$@34?hiN%OuDYU%5|~%ghUar19nAFCZvMsw7H(wqyZmD9?n8^jAzAgq|?32eaBsCo6o&v z%5g>EWxUZ-JD18vlFtf6e_VT(hoO8m`fTEOQ+H))Q)0}MN(v2g4EP+fVYmM1e? z#E6vWR-8zMp{U_hX^*kYwN~m2bM?hpy{3zSzGA7x7P|2{??{rZxH$KPC z2&dmJPQh3+lcV@wahfCyRBD2Cv!pU>md`y~7xxL7z3Hb3PhWG`mk@?_G{)(WwvTkg z+m90R|AIfm=j`REaHYcMctAyQi{pYD#c;%a2L>((dZ zcc26yt-x8-f~Xf~Cu+{YvT#`r4gwFI=VJ4Pr~=*hVWbF3hxgj)ep9Wf?<9LAGl;ZY zTXZb_@8YvWKd#koLNYHd#Hit=NCo}_oRJ@|oJ6TNAs5mWo@@!B_sop4{%#K@%ceP8 z7D|iqd9Gju+3BSmQx2dgbtIKG799OUcgQD}g-m+V$dzcTQue=RvN-EHWR%JcL~~9o zI@WY|_4(q&Z}u0L*fmm3J!L4gO(rK|DQEy`fqn#u0?JJo!e}KKgu2Jj7)n5ci_LDH zT#CEh$g^lhO-N7_6=Er2dY>gA8sy9I;DsY7|{u>hpu9~L^u~kMD>(N(z17Z+c;SN`sL$Z`=rA$ z6s^@~^|hihK|ha7Nr6T@qhs3mj8~`L&l(}$;CsxHJ@WI%dk&-!U?+swQJC86IPdb{ za(`x98tzTiv^$J75?8k`^7ih0-;t}hyPX;;q5urEY6ZGEtpGE5gV%i%iy zw@hPdP|jy04NC}Al@VD&*vJ)pCaV~-*og4;vxy-k>-)DSYv((fkI6f%y*4M8TQ{#@ zzUp+4Leb=URIkaDS?)(M~N-JiNq4s2+$WuKFYs zHgFVr-ElcdBb0{E=yU*G9uZse>4cNxFE6I#fc0T~-KsCl0u@d~E|Zlq2nI6A0|Lkl zdP!Tv7HoJckHg^-15^_1GuY;^T_EbHO9&c1qxwV$T@(i>y5G(ntDw^s4`-{*Pw5J! zPn2*X!oX=EmK^PJ$a{4AVb{j@)Pr3RumIk|6=_g{58J2o(Qxw~$Fws#Ruec=9~9c0 z0CqH6Y{cJo;=gC zgwJ*x?Qj83wmu*D{kz5sue8LzVJDR z6-i^{Zkf(7i?7c!-4JD0SEnpp5X(;dxkBl@=tkyhJ}J9&w(xa+Ck-N0g{fZ)hQQm% z5&OcGNoyyJBP+@zsh@$&3{&g%-twsf%BLpQVoQY&qa5gZ@P9linjlTURmRA6(fLZ&Ijg8^Sv9IB?c6MI>BR|m}F3QuW{7zoe}T^#41v$jR~!A?(^7%oG@oZo4TQ&4R4yBdLrHdGyp+v*z}qQ zv?rphstzvp-MmR-j6`TbG*OiC5sQ{?lWs`j=apo>m>O{u9jhmUR?I@MXheduz~Ve! zoDjEZ?yVufY?C-i1TjhreTgpM43p_*MDN7|TeE5j!bgijrpOr56p!FA8b=-|B;Gm| zGEymf`^xccv3FPRtt&?bX~yeLWJo0qBYoV7fFrG-H71 zh;k@qMomkFjJ1nVkQuCbI(wtEaUe5v(7l-=L#)htA$|<5;$7fevLr&7u@}+@>~4s- z*`MHZ-dp<)OVvHP0@H-B7%vE4QdH4}&2omLCsf&f2RKQLRhB4XApgSu|Kux#JBPBz44{#A6AAx zP6{3PT+)Izq_oSS%Z|c|KhF){)3JYQ_P54%(?rSGp1r=_zt;IDT+6M!O(UV$Ytg|r zGKajC4L%a4f|k*Opu}tw-#j(lXNd$nTjew&O5vf178ti<(V4mEw@0vW$W@ew*^5+> z=aS(5oBTNiI9W9E{O{=({{qg92sNY46)ZcG)VMzphj)C_?D=(ah>zeIgQ4BLhR+lV z{?hK=$6u8IIQwX1Si`LbTPTr9 zkPgN1Yj<3Ze8Uh6bE3hDNRA8BXf4RC zLAd~e@)#>()mTqhVSvxVdIVMLOJ_EQ zoQ^CuAJv{e9D4j{vfpqJ;m*yg(Gq*NMjnSzP73Wu%|q;C+SDofk`9Jbc6GsmdytqY zVU5hTcf~h&rd5c;9OiJ_+5#|03NjO)fvxgdvOyQ%Gk208`Iz^E)#MqSo%03qsS}?A zw0&*a$7jXEuat9%^3Kb}gJl(EjlGGb<)`ywUpj3Ng|5K)&+vI+_=Bmzd*kB|$G4km zmZ%aVesmRO3ep6n(T%AMGa4C$(vBPH#e8TVWLA|y8u@+E$E>*a)l;i+GV^Q`njuCM zZfTiPWX2xw`fNkOC=@XICS5qyF(A5-&p+eOmA@ZhC34$Ns9D7ra{78!Kb+|Ovi{`r z`jamwdNQT~pA(tyO+GjL?}PfYZ|cu~8z01N;B%T?t-sTMNBIQLfmPai7X&-u)cp%D z$Lf@#4j)@Ct|F++XeUmK#U+dD*Wm>1feIA4M-Y^@PebarJ6AGSATE#(>fp z_prfG`Tga29EPdEh@wYry9`2Db`XZ_8IasJL|{j=rdK+bSoHFhpw(InGzahXM`WfB2}bO79-<~#@>X3X1iwYkE-D+#_U znHK`zKiA|cX62G!p~9RgjE>Qa8SX3-Ew0wfx~Gok3@~IRO@{xF{7^K$Y71@N-)U%h zw^1@Ro$smEJubR%hNmV_V^4~+{2taL@+?KDisSxR?c9n%x!8GAp`+=Gya&V`&5%L1PTVVd)k2TGDd@fi^T%-Ge!Pqc4~Q<>X~;$&Nm zTT2!aw=smX7%6d4QBVmc?zXUlSE)U(Bu!d`L?OeVTd+b*V{ozFc-2~0qItIY`{cmS z^`0N=J^!xv*rf3F$P-xxfoO4_jKjZJs;^vXyl@iRMz-cm2$>{`l+HQ|A~E-o#7sjL zbg85X};!^h8CARQNU@TF(@>`Cd2-8q2V*agBCZQJDF*Mc|Ua2d~5!h88){Fs6 zcB-~D$46T_THn0bb?~k}A<m)e-qm&^}IU zU7z-y7IA2I!C@TVj`w^a{nw0xp(E7XeEw1M`G@1r?@jc4GTC##`Q)SeWB&@A$$+F1 zeAf6S@mU>yI-V+lv*^g&QdPzptWjs%uCr~L`IM>=yI*Z(rEW+PP;z4)R=x46LsbM>jpJ9` zu#yjtgQ#H9Muc%X+`|QHCBHx*mF5chTFO#^K(;Rg9>FR0WiqR=uo@>{=UCfW7v%I$ zD)~d$vTF1ud=`ILl5V9{X>qm4VTP|0qJ{WCW#pH)mwA+sfo~26+_TV}yvFeSg!%yi zaHacd9;VN>i74%(K9+{A5jG)rE;EP@WWGH!3A7Tgj=;|PBBa6`_|D7$T(wif?$>Y! zq6Rfe6M-`_FRl{vTtKxO3S66(Qv4G})0Cnj)u2~~;Iq<{@vZf-jh5}Au^r$oFlj4( z7d~4KqNO}cL0$dT+Jk{O>GfYT!=Kjsfb)lqc>R55OhKR|i=wH-XG>#1U3Vh?xVYaM z!!(wHn7R21pUqetE)z|$z`%{Y44e_-O-RTvT+M@86#H>A$sUxJ1y%(lyrTrJ)Ui~V z1^aNX6>Di8m6bLoD!d*A7$*+FJXyQiUxl|vtG`SQeE#wm$eiG8hk_&#l-|8PT{+v< z_kcq|^>nX7vjKbWQXIZxK~07Ew|0roZosmdcAHSNj|0)6Q*YTjliWs9^YT=Uw62Cy|(bY z+5g4Tz{kO#{}P`QrKd(dn^<}&ML4xK#oP<`iThn#MsAl<_z3}LuZD0OilPLXd&}MH z#%G9{_#F3NPV0+q5=+gg?FEtlgWKbQxms+O>wpqX7f1C7CIQ`2a^|2SzF4SyW!k!A zzQSj}LNYzR(*W64ETVOL`fRQF!OI^ia4xhtz}bM(9}GWI$l=VpZ^xeSo~9$aRC*Ye zbHhbG5w^M2C1v>#z!o{NaT!>=NDhK6fX@n?l%bMmrkwQw(H6+9lD7!nmeV{%gK4+g z0FF|IM%^T7am_R*&Bi^_m5Ax;OvQi1XYzyO5Nv=@2x&i9aQ+=i}+W~f|}=fxzEYX3w;VK@Xsk3EQiDu*sxmkvZ* z4iK%Z$Q?#)|K%%Tc89^iSk4ix0jK3U-24b-l$Zu@6egq1B+8pA^bFSDzsC7`=dT2@ zZMqR3kZ|li=LPxng$4joBf;%L`3y42;KEWPE4rgtVsQ%N1vtJ$z?su+MfeW1jFsWy znGH(Es`^^5hR~>j0dyMXV<2cD_uo{o+ObD|8f4dtTsxznPX20&2TCm9_$k zvaKm%Ca{ss$^oURmZ~8UX$R%#XrYlZd=^BiRNh7PJ#o>6&$;eiML9NaFXaSy$9*Z>#qme_>+U@r^J za!}?;>uMj>`SAooS7+6=CONw~?Xa^_SJ_Xa2;l!wq zQsr2xp8RgW-CM|??}UP^Ok#K76a&}Z3O+Ai?DVbFhu7=P*1%-#``O&60-uNenemMz z&)xhv@wxHhgT~Bn<7;D$)#mp3E=qX$(`_wsC_$;RJ&++F5d`6_d7<>Hr;G>`G&j**r?4RAcw!`8SM7-(S zd3j;`q;mjM`xKT)%|}vcDO^7aD1WhWw!=tOn~(%-|ka_AxfmuCc-C`tP;=U&i`>8tebQ z-v3>r|Iu_!08NfVtSs@leCHJy2PViH=9c7HC>Ub|+F5i2T@mbPPO?1B1|i948x=F3 zR+d@Or(JFrH3BT0aazeJ17{y_e4bO7Rbqp8wt&gz?EBB%5|Z7cJ#A;Ql?U;#7V!BF z2>4(BB#dv#;Ip)2h0iVoOXI}J)y2f;IPxHOuXJ)xe}T`y!I$fN6|cveTeq+CFz$cV z`f~hxv`@0HcoSwm`Y@NFIQEpF27_I!^F4tx1Zxjv9%~C`QkY0|!i3Ot?gN$NhkUqg66)bzQ4j(rB988W>=T+3~S$*$d&e9gDLnCrqOgWhmmQgt%rty5KuGzvj zqfcS-!|@khbHL~O!@qqq@xp04bX;^gy>GYb)GCHU>QEyc^FRj+e~unv${Pgm1D{JH z%3u_Kg3soy5@5oN?}2oS7}X$hH%k-T1llBOu&}vAf6GZ3m*P<^>zKp*AqPz zK3DuXz`61KvzI?Usz28;+j+RzO_$1ev~q9^w2R>yKC?k0qT-emoc{VnlUzapoZK_V znE`4o(>(>GwV_Xma;qU<=`1P%h-Vr?i!+drYh)lAE z1W&*u0*M8~EnhXmuDvOG1Jg);__k5{ekzX--ynIyk&}}0Pjcy1C;@OXEYSu$X{%vM z@ni@Lr4y*R*rdxlur3EM2Mf=qYTx!h{nv00SpK%r|8=8ZkBiTZ#>+28dTi5s+8k06 z03@wlcse)dKvEDxwk|faT%B4wJ8l475VlfnlCOZ8tyCLnA*@2*^e7f2UZnO_ou2)b zD()nS=v@xl*Fym}gh8V7k5pzD7hd~SB(+yJ?K7N-9r60$l>jU;FoL#~5y()^aA7pl zT9GiswJmBz;Kbf-+fg5ti4Q;Io^x}3ZZK?9k;IKcX}P+`=5msZRX?Gfs^y(G*bX5~Tr z6W^AH1q_uo(b>YWBbKiI&}$BM2R_I7Y{i^u+tN4N7`9DdV}Ymu3I*r0R|m_t$2b+W zz2Enfcw>ylGdcYzyDAp~m9bSpG_vt*WZQXL$9&#Uy3IK?c-pR_e73{m1Eg1^H|p!6 zzu!%BZG|V2i%!UsNK{hIMpUB$78fbT?v2TlZNx)ZAG$_`ZA0_aQcJE4swbplS`wlw zmFfPry!NBW8(&P$oy>R@MsN(4E^T9Lb-kTO2ENdXBTMYEkmH^B9E~_?_v-a8<~IiH zaH*|Lavy*R`KL|Vt&6$Yq=}_4OiG~HL@N%Zxe`hBp=b^x;e4#&FV|CYi_MY>v%f|E) zZ@$tCj!C*wt{I!1ZOL&0Z^=HmH~h+Ocg$Jfi(oKeLMxsfhqnaq)?MYIxM3;@`T!ar z1=Ik+aKZX`E}+-7rcpihXZRenx#$j~24;N;?3KvF17#Q$Lz=*_Q_iiv*!i;7;}}+n zd-TR*3VFe2;SR2uB%mK9P7os{HeabK)$?Z3=1P*&Pch-%@vmf+TbDF|QG?RF01+F% z&VI2DDg22Te4>OYMnMcya*ZJ2QARN2*Wt4mX52ev-rKF-gbU#FuZ_X4Ui|)JW8kZi z9)SGWXwRpkJ+@JM{j%1pX*^ynHy2n}B5%IXq1$j$%+oiZxSI#D2{Z^>Br@I%X+#Xr zCRsfLnK=+GS5>l9=SuWNrxhAmN)J^Hp#~8=q@A}2>mbj`>0yw=+Z#nqv&*wiS*q~a zL|J;T1_bl?krX)65iXh>k_6z))$PV-htbH8(k%F2s7@Q7-S&UP=St&Tz-RRmh#x_H zGTg@jG3P9o-zqaq6r8Q20qK?-bCYO!G>a%Z3!rq$7}@qL?6t)easfwmql(7&_BPkHRyiH^8Y}LK9j{VLJ4;x^-1Xt|?fEZ@wLH>Y z5W@w0PFSv9>GCIyC$V{<_WP5?5r{;88~pM0Y2|jy`$AI3&iKRUar+b3FbtLy0v z4P95V!yde9-*AVPREtX;JVg##?0wS+Vdyfe1e^&xjq}QDpdgq}DxlQ_xlC0zM86Hr z-l0dnjkl8ctYTBQ*d_QJ0i|&vj-lGW^x|0VztJAawzAe8GD|loq_h+5SfBIjqiYt2`QEq2)BFOF=Qd81<^$^o zJ0fYCMgnKL$<(S{=grY&93#i#sl8683&-mg$ilfpOp?s2PAB#*EIKHF0H!Eo9hTdL zARe6sdH^k{(O>ZAZg3`$_FRY$gnVlQf_)|Ho^ZEIzAe>56S+Di7rNDmAz zN#`gVAWm6T;;vFwtyd1{N+4O5G?8x1`+0lrF!9#P$`J^s<5a#=X;%0hL6&X-nng+C zQCS=eBsb~6It~}K1Z#3k(AaEml#bKEtF6N2aTY~`Ycd91)n_pJ!kC(#{aS(>Khz_> z0jqzR8ikg^nEdW?gk_+*Iun37--_OeZV7poUIYuESo6JrxXvKAfe&Q0M99q#Tglj= z#LTGb4)aNs07&X@heF4xOp7NP!aGeYis;lU1 zJHS_XqeZa&VmCeu?b<{SpCgYMefa{PjgDD)Y7ROjiq1df7r-1YyhxUL$N`EiF4c&APo=QOH(2)yqNz{l zOUKR63pgNOM!(=QOe3rCnE)`^vT`=6)HiFR6TeJ2G`9bK>*f6xl>Q5R9{ERY@co&& zU*NM7yCx6j9j)kVJunk2QzL620QfX+V_xz_uNxY{E_*K33v4$Avagc)>JWeSH~`sg zIH|-*pov02QqObi?(yv)W|e3GaLx>)R~!JJvC8D??CLn1sFVC)2qjTM_(7#I807?7 zEGjGddMt`Da-=!d`{==V&nM$OE*_3N?bQhFLQVU@;SG=AOrJ)~In#Xhje-b~_JnA! zt(^@U2L#pS&^@eIwm`k5_@vwLEZV@T;;Zf2;>7#AP;Z0B0<=J<0?r}!n*mv3x&B1i zE!~ge`8d7wJaqY;_}tYqBr7%*1sOqXShv>X?55Tz$5F9%dBk%0MXVK=@Xcq=cl2S< z$L#&uQ>`Yyn0WbV&reWD(mAn|=*sS)&=?(q;6KErbDdRDiuoWKw_hD(B?Af+m4 za6zFAIcO~3TBc8)Slf_>5Nz5m;813rplJ2E9Z)+O=fdt^nuQ z=CC?%AF&f-1^KOMVzOs3Dtv|**4iu$B_29E-lLM9*g~pk|a+GC9IcQiPsjIMn{3&S-n;9Y&CyB`_ zg<%4TaI6~T^X)tc2Qz(4GzJ&-nX*jn5TaEp3wLQv2{}5Xu9evEA0=+0sfz~bohURM zy93b`J}YV}K-$J<_dl>)AKjX4id4)ztM@-x?7t79gF?R(pNBpW-;Zsr>DN3 z*=hE-8qOK91-^W3-4?l^cRKdZ({nu;8yjAFX^ggWUyx2F`>ZH^w>)n(lSV`AWx|z#)M# zsix0Fc~9+kj0v%uU{(|tMh|~>Gm~a#tE(xPC5Y=$cDOW(rMZ&UI|H~twv%CP|5eUP} z11~z*cvu`mT_1nB40fu0LV?xvw+MqjPm~j9fWrb2SR7arTaJ(sNIO3OyaK`)9S1+R zt^h8PYS>GtD1J9$yG{gvHl;ae-qJ5l)!CWwT2jT%3l zwdN=MukZ^kp!Yp~xzQ(Tbu-BSR<*v!wD-_y(5MEoPGShA8W@7nHc_sPP zFpciS?gN1lVMcq*-Bp=DO!7R+n^j2avbejdorszo-V+yTT$MSuU=D$g{H>1jkC5 z_c>PfXl8_l-W&S$liCw|cnt_FhyjY<9)izN5L zNSgvMS!Y6lY@yAiQ@y?}#)$!-Xh9B3U)hmF;5)CN-V8t?8VB1&dlG~b*`#C8bu5J^ z3!SVN#mNDmtC2(nrqKwLz)$H=#pmd|x zg+RwALyw!U*3@vqJ-V^bOFBwih~vw+Uyle#LNTy+pPw!B(I4j#|ISO8Eh`}13P37E;BbKlZ#=e zGenXSdfb|@7Qe1d+Q4EqGHzVVx9IT&sLA*Pm&zFgw!7v%yBp5Cng_^i;4q$7h{pZ9 zt3qCY#tmna*N}+ELM>k&(jAXnxZJf6JZzj29o2g@!H74M*scE{(IAZj?b;(kL)xwn(%q;#o)#mLqEOc ztndKmB4$^w&JIx>%@yIZZoOi&wy1DUkt<>bsmzk6sE|1?Dtu>S)a z+2Pv5e}F(3RA7n;1fjY*TZd~DkP9r)MjFKuiK488ji$N38$Q#NA?J9unn7|p2^SaS z)`)-YoS9PnYr3}~y83KK1L`yNklpx9U#v^%01(FqkbG8v)w`oUff!|kJ$)xWuQip} zx${PAe0=iv=D_F8mmki&j23q9K#>)F0IC6;KnEEUd)GDSq98WhKBQX&JPwf*Gz zV)Mb!W4#4F1I|o^IAN<1DP%uj2ZCRS!+8rH;{gGi==hr-*{jMsTXx#cSB>qs&$fT5w4Y9`eR#=Mo3 zcRs%V?H=9u%*O=LIr7x7G>rz%lrY zj0rReiG*Ow7nDjB#)ws=-7e@p>J^dCaw-RE0j0BMPhSp-4?5%lpU>2PY7Q#Q&|G5w z_DVDW$Usgz@_-nEje|KH3ho6ewtfG0e|ymY&bwfO0S63F3KOk z4cID8AtZ|JFby_{AQ3r{>U<~q3zb@K!0QZjvShzA42Sc0FZstUJ&~JXUjS^}dBJDl zql!W&M8A#C5eimDwZBmqBNGuM3e@{Hz7l{XkR&#>Nd*+ibY=mWkpm?^LQjDk1!{bz z0_SwHObcbCn8GGGOrVP5z1Q}E%5^dU*fTdL!b4ittQ_pr7H9jX0Qd|$Wm}X@_l3_h z*?gia#TD$e5>s_7w*GyqRdwyDfMh~+;&TPUZ$q?y$`Hqc(I<)lD6-W2%JIhVLcM3c zhQnl{oD1Nrhd7Pv=F)9juQ0gbCP$Ptt~;Y!AG?vN`&!3f_)MOS3ZE?mzY?HvE;0~A zL4-GvOm9}0+kqqD!;JFA^BGxX8u#KY#+ zs9YX7r&hV^wm56Ilp^t2l*18M8Tg|0$d#atdv@nxq00WOeBQV5*{P94)DC@HJ|(S$ zm(y%T5WX{jp4g7P6^NOyl@PQiSCkd|mD~1tYHqWP*cxz_bn_}*j=WJ-Czf$e?)*^Ox8vh!uMCVroScd^f-W&^A5fw=%Z-17#jC)4grYA^swTJXrV7O zSKyA-SlL;Ny)6hy=WsFj?3)eZ0e{GeXUu^#+NoEj?n;!*od`h~N*6pbB=k<+l~?wH zf}7;@9VB#AaZ`<8{-qCwS1btBNQD^UHtMl?ul$a=-8JSci4%OzognVPcZS54lzIwM zE}6BHxXJC4{*{t41mqTyyZ^8zr1v~pXc8)k5+7hn+_@Xh$hJo_AqH3m)JJg!!7;)w zw&R}Ji*O2VP8HuuM4A~NL&(`v=@Q8%F>owedF?NazF)>;pI~P50dj)#J74o(;j^Kq znLqh*;8!58)=u>or4Apnl$|p}IFhi7&GMo#5i=*5*`mj5cZ{g(x{~Ma3v*=-@xu~- zjylY=S-wPQ$gG+`z9h~Qj#%NPS=i=Fn7=lcE=9Ak1n=O_yJ$bU2pfUP{AP1_^oRP3 z`}lJ=KDUNH%n|rJ{QlbDd&cbG2V?cG8?6_$?HP_3pX*o+uV9nLkLsh&ql$y51oJ6I zoUE254td6PMXoHmKm>C2XZQ@SSR9WGoVk{ig*O3^y^4_FU1*G;S+?0BflL@}1-6nn zz^4kazBl-rK&!)xkwz>?b6S5wPbC(~JVZqyJiZZ5P#M0@l<0|am-W~c%Ln(h3dOSm({Ew0A}XBL$ToJu+9D@EObuz! zSKPGd`H5CkH-?aS3W5iw_;)zGkVvY0ig7A_{uci4cS#z=b4y_b zVjE7R!WnK1lal&T?Js_ttN%Px!=jzoA`U>W0gbBSqOfgsTjWdQIw zG0JPEZUI-&$ekq+&H8{=xiG7b@WX_eRfk3|C{B(*LY)7;4Xm3u>~tLOq*OM=cT~1pI|qy zBcO49+&bEmNrwiEMFbNxXFl0oyFPJytS7AYuwdUGO20Z;j2?wv-@LMY;L%vmPsl?( zYBv5RKHCedBJ10k0o?nsPKuX%yH^L4Q5$f}$JS)XH1Sy~vm9+4_#9zFuU(j2X`+j6 zSgx-B44-`<5*T;Eh%mAtOk^dHx!oOWm4}!J^5{$&u!-^}aaNTb#Lq<>~@B zuMfYsHuMie1Eu=tXVWWv%BLw^h0m&4;In!aVMG2Y3^5X=AuW>6%L>+7+7E(X&v*x) z-Ar<6L4fd{mZIJp&Hz#ihihRz@DLIb7~ey392>W~V>euQn&MY}MgA8=e>XkkaC!Vt zUd#oc0G`r4J_b*s^yOeJ(2R{JupFkUz%pp{PS!9BP_qt_fN$e-LauKRUn=w_j*Er% zdS~Udd$sh1LPsbd@mYBi^MvhtC>1ryQv7R{|Sgq>rOpN?{oAOvO~=rzST0Y*P~hP687Un)s}s z!N|&-v9k%7tF~iAsR|6+zAT3_}2-J(tI{;`CY@C^LYfGnep61`VGi zHjh`Po(N~z!FO|}p&UCH@n`$BV_QMQF?5Qn@HxG8zJJCuQM+o0445C)6iPMBD)WTu zl=OXcIY8Z|$)rr?*H%PJe7R}#;O;?5m})W7;z3M4GncAuJ_(F(NPM>95=nvEyQ2R~ z5ZK@PIaGweCyNF_xFtSpg?xV%Dwop~YSuRobhmAaWO_L&7l?r@?0Rl<89w`0Gr;j= zP+&XUvowAS;&Bive0GtB35(VPN`GnA$0vg0c=e08>_cr2`meOIvjp=3mbhfVE()>_Wv&!Y^6of<+U7am&BJ!b!yOUdLH5Ue! zV+ENEH(8U>xILXY-f`_#t+FJYn~bp4#i6D;Sv$0HV88jv;QSaC4WA{9-lomTmh=4# zcVzQPT^c^0ehJb=p?#0%wZ~2NoSq7YmiS5VXPp2md=70b_#9CDu0g8bITC&oc`E*F zVk>;6bWn?VWf`rYLt6PY8TvDOF-kklU^4IG&!&h4k&>gf+Fy*#^o{m@(i(a2r}#Yb zzZ*mUV=NE7H!<|_#N2OV+e#%TP?!Ca=yjt}QsT3;yU9;{PAQ_2kQQGm8htGh%ySIy zsZ$x~9`c@D7%?HMGwhuRr_g8uGGW7lSR$|kuK*DS9u(9bw4D{$TN*$`lhR)%hcqPj z`rT;H!&ivbeif#%e7A5(ZuI$H8AsPb?$h5OZ~&?4#{M6lt8Pm z6W^dX2uv=ez(uI-<*S{eZR=%qdR8YMFV`cNw_diWM~LGMK681{FaciZC&45{5LhbZ z)Da9T1;=tKK$(B_r1&i>%%eBGIp{*>m8hQ8_rDx-v3lQ$`49;YYqt60=E~%d&j?x; z^fvS64Nx2E`hdR}5r-n-j=msi0yXT8I;GXKO%G*7;>Jq-vlJ3=R{h09`W0PqCS-xj z{$-yeY+iG?uK4rQPUbfrt=xcUkJWUOunUR8C&e_LX{8m8#=JR)Gs2Y!8;0gHZVwbI zvnV2>Xwobz+Vaj)PnfP3A!~v*Op$PV>pK zST7@EfHtj+%}t1_q|cifJrDj|gZ!u!xnf)dH;5TdZUy~fdN-w3>ekOmq~@=reo4|n zW_m{ktc#yBS8-9IyTbd9#_%R2^gV8set{9l459&bLW)xhBsG$v&aunY2SnZPVmN{lSi$<~HVWO1&xym`(Tq+^BcdO!f%Av;ryq{|CTcCo zXn%?c*Ai2X9ynt!1)sw-6SiQpSuFaNpPSUHdZmN!9NqY=Rv}nWSA5S5`zvoUuhf%4 zSBJ?|fgRpQD)?XHvo#fg$&v}X_L_@>BR%&w>YpzMf4)0PeB-_Kk^kKs`CnYR@$&uV z#1ESMYgOvliv4|Nm_@uPq=Co1vT&QPs0>{W?#&Gwea43)3&S^Y*TP8(6xnQYAa zQPH!&Jx<@&tPGUq;EFuF;AsD6F4@kg=1xz$4S?d#sdof$$NzU7Qj^VTOE_ng?cu7$_p@ zouBMkLA@6Ak=PCL&th7>*IMARI|Nm)az_?!UY<-1>l&$m31DBAfBe9T-}>JNgTLOdJ+V0@_ov{}ZG0{bf!`~g z%|4mzQ#5NEiyde827gyr`}53*l2>!+J55@6I+{ARgkqv)P}YK~uaKQVkPM23JsK7< zhXt($45f9ur4r%td`(LycRX_6K<6} z7le#{3!sDd9iN1a8`BeOBjdxLE)IWWEDznkJ4(<4GH(vQw?6d#^uRy+2k$qw1_stg zStZBZ1RK#ZJ)%#MAw8CSUzs0Xo+AU!$0P=XO%jK!0s#)bxuT&k4YZ18*n@1-w=;#e z;z;Ei#TaVCa`sa9OPV!6Acq@{_Ai|gCTX#0lL%g?Pn|7_uu;`nDT6%KvJc+Q9<;a# z9vKd2WH?_H)Fr5zE7dr_nfaFH(_%%V6@~ylOG&r+^X=>OVT0i#icm<+)b&B@d`A#F z_VJZoe2R8l+kvS3QrR9VuCtcCJgKl2!g`@qrLE$*xGRmul)#`@@gf0LDk-K%K~UM! zoZ(XQOfHgoMSap_z;nM9rGvMsBXC+9bNCvd71=iY1hFq%k+28xCY+(;vBNI9n;JW% z@;P!(mnX3Yr+CmjR(x1N3vjM)OhwS!Y4!R)%ul9{2VK{P{BVO%aW^srQ>{fxRN`~m znzTDfLfD;P@>&5eO-S#`#Fb*@8-`fSS*K7JB^wnrX;?9;tO6k$2$+_dQ}s@E`9TQ| zEKyWhlypXNbrBV#YBuh||N1BQL$hR{c8_;#1PhnHgU_1eYQwm&?)+}2UoD7BL;?TO zxSIsdY&t2j4K2Z0vmFA-chiGZDotctvWz7AFx7U?CBqm68@bkKIpPYR?J-yKcYgNj zqBN&f90+**oO+K6pFx)LOX>ik@d|4#z{^MpcQBf{U4^1a^la|$3@%PLcGgxSntcnL zA#-~dRV3Zwe-(wcP7eoH=6V*VMmJZipyh+7904raDq|WJH^dlyvL|J0&TCjVhcc|q z@*K&DsGvbka3q+9SBof`|FAV>4=;bDln=#}+A=AaKQPk>zhHg-=|&7L2KD4?tlpjp z2N911=j83I8;K=&gcDXXPfuHM1SC(;_<431CWBvzKNqpNtd!W#&R1aQ_pZ6QXA~S8FSA ziZlZXpTiAYT@dTD5bPT5j!nS<$QUn7eyx|_?CG{P^;R>{k4A^^bT$~?!Q=`MT!gFQ zlUwskH?J&>jn(#>P-^}9E{mT&v%kzo@R%9RNMz1uf8MeqFQ8uWhSndE2f5q}bow)V z&Z4YhC7ED$7Vzo~?vP5m1!axZ_Sov8m6nSGzpl{KwnSMEA3Jq+)$*o1_8X&sDcM-=c`7+rb&O1DjLWx`3;<^%?(lSAPjw;cyOKVKwp{_k$LCE)83>>g9A`m`0H2D+c&z`ydX~7Vi~0fLer8 zEod?y1(QrX=A7URpXF1aJr+&7t*NhNBcOpb1*F^=uVIC&BEXw-o646~7q@peRAnmZ^LqUiK;r@s%NR>uVZedbVQay>=ONhpGts^aC8r%SUHjO5Vt??z0ip57S{V$9H zK0KxbXZQ@|goz@XQ#Q(xSkEigB*=qlQ2C78_`*$|jyO|AH%H~z7bI^hVw5E~p zG%n(bltM_2 zp?@roeApcRs5bM%^5Nw1)hiAca1Mwr<=+X^3OQ!C*WgJO|KQJw&+fdWpM*?rRNmTd zAH6s_#|^Ysurz!N*s+`AZ{Tz6#S`r;eR`py<0CI)6^;*IAJ~j9m>jtA7C5(2S_kjt zrlucgFgWdWj*3%VD*jx0f!g2}qzmsQ-lpB~AV81)qTC6~`grJ!ge`kTn{7y(JZ$L! zrTbHqBNqAe8XBPhY}xU$tCkEO78QhnWqTLpja)yWm2*TYU8en zIrFc;P!`Pe;-wJ+0!I*ICr$&`HQmwk%3zQRA$|E)!=E$yh94q17#BCewL1Yg;yl2) zwmAVj{VP0iS8$RWD{~~?PQ0V)Uhfq4z2nHZAa8D_y4!?kukI5v%MN6V3|d3qeKU8P zP0aWPx+vz%Kp2CLh-%F<3Nah8``cc-=;Tbf5}b>p+Q#Q72P&Q*F?eTu!(E~AK4uck zk6d#iTjDc`CAzSMy>kz?_}T76(ac8HOe(?z&gKL-^NdU*-G=}QlTc-b#&=Trh(eU3 zVEKtg;&W1H4Vs!W&BgU4mDrxbQ;ULPQxwDvgJ^h_kQF0ysxtN|}d)y*3v!B}e2yvGldWf2Bc1jSX?Br(LZ=2J(1v)1^RW6$)j6ID)pMxk|P5X~^W|IP5@ zXR{-84H3fkINi#GvNjU-GNbGZ8X!-kEus4-HuAi}M}DI1*_EC%)XKDbt%e6Te5@MP zKe-UTpliUHwe{tpaU~b;o2#MN40WeXT#rJx;`p=3Apd=QF1bt8abjb9ZvOFj|NZ%w z_m*F@M|4ce(SL7s;G@;Sdx9IH980731w%&a-)|nx34y}rvYnGbjrd05Gyg}8jie6= zU%=hVgP-@s>oE^I{y?O7AIi5_&Z0blC* zLWIE?H|m-1Fy}Tn!B5Cq1n@KOv!K~DBKatgyc@fkQ5f*0@t;DmX{m!nC*PKIRtp{bL{@wZ~mK1{!Cp(1biHtEeszMx|8itX5!(Z=VS zOKdrUpMa>1&u}~9*!0m_7sobSTFFO`uiXJd7AJYFPCQ$S5hwhr#LGgFlEbyi22S|u z_6E1nKN-FeZ+DySwj`0D4G%)>Xl{26dZ>j6?*NP6-!vgv^I*G26hfCH$hp-bb;2wr zfeNIq`BC5&+jB~95P-m;eq%dIIgR2RF&XH(aJaK~>4{jKpwJP5ur2ZST$PuVrO~b< zTgqe~t?P3ueigy1g3oT=44Wn3771b^{rZ(OtEfeu!zE;-CQ#X)z8RpkgsRT$E)n9( z|3zX2Lk`Ox93;f8R`^T>^qrP%kt79=__KZALK7t`8YDr4L#Avvgex(ExA}FU& zlWB+faoYLEz@4jeD$}! z)+8WQtf9a!<0Yu&M~P+h&ndn?adngC%@-1HDs0Ex=xXdw>0cX{9fL(e6%9ou|-sTqonntm_eHnGt5UA+gr2{P&#`b-N9#O zLQS27uhL?7!dUoq0R$+4afvgFg`#}$S#r>9M6KG=v?2#6$D_wZp%Y{if+oO5;xlWSM`6C$a=; zOfsu2enk?XdervF`F48L183GvNLGxRcOTBaqqs^7XgAFCu;avjbZ#PAQfNb@4c%&l zq|7#OhP{T6j@gJ?EkTAv3AxyF^A== zLe8tv7QfJuNZTbu`%d!aZrwa5i-8krFfGI>tvm#dELGXhZZ%D5DS){F&a5+_Q{Bpk z3gcTi6`LhZ24D@+f@~v=o`T0@TOw(HCqDbz7%P+dA5sB7x_M|D`;5dZfmdd~eS4`D z!)N`E;4|8+3DSe%U)6Q!7)+^`U+*~?cJKCB)rT!+ZoX27{ASV)`mB`V1OXZ4k%SgM zXI)u;6I!5h&q#+0=5!E13yYh$$6S>!iB*Bjg63XD@{sk!Q z>C&9V&3Di*uk-ak;0I|fSr>lguXh%Q&!hO(I|*FO;OBq ziHFb&A5fSvx37fnI`LU3Skx}EU>nha7PO*s=%OS(l;9Cdv5`qjT*w<%V0%)e!x#bx zsbmo|vA9MUvd+-|)7}K0l%GT4lnryVJvAJI6;Mm9!X13JM?0HrV74YlEl2WaT4q3L z-DQCQ3nD`3=tDOk>FFuF+OQ0$Gd`9Jlw0GYzlyq3^SLlpUs+n;-#a}&PkaW^tdDSg zhEo0FqoHS}S~Zar$&?hp+N>3cxMg)p$jY>U24J^+CijoKhSC~^`Ew*$75B@jF|Zur z^qVs=;V9}}nbEc-@j1gI);biq(~k%T5DXWfhUzAk#bm`qBp8kgpG`h+-adUbx3ezM zBM;cWG8ZQfkYP@7*N7wR$$!}8z-NPtZK~0G-^tmxvL-(Q)BTLGBIR^MtNx&*7z$19LYHr?kLqmTi$I%Pr<%qvAsi`ITEUzlK9z4{eW7d5@&ke6{( zO6XD1&^xc5l-{ZB@5bk(pmA>apYZ1nJ|{$n1r>UK@M)^1ByLKO61+dVKKV^vI94 z3+yZpIGI^T|J$o=TVu5WzzbsUX2}jXBKG|CrK7vp({NqQn~Tilb-xqWorQJ*b)7Z~qV;fg z-Xaz)^PZ>PRQPNc35W*H3X^a@rb=8QqZ8F<{tTa0q=XBv!nxA~qq=x=R~;+`gJ~DM zqS-)_D+fkOdahkcf!qo~hvwSd5aGcs5ee>LM7=s4vF_kA_~l%qD14JT)4LcM6$`HbZQ_ zJPXBwd$oNYVaA^!UewT7R{ki2;9OVollbg4 zI+@tdxH6{%!nuAMd)pD>Kq$(Pzk||#lsR}@>-(+ok~S$WaxxT*G8_3srds6^R|V@! zd{#A=*q&4$z@onLbPG--DW*q5OGU6$)g(Y^iC60qf#{Mh56)lw9e9G$07>(}AOdjs z?AqXvCWVI55!Sf6SU=p=+Crg}$LU+1brNDe<{uEI@QqNbwweTmhQ`7sCYHnH5rnMW zk`0e#Lrr<2>r(++Wl`n|KC^euMidP~$)f(@JetpgMB*f?2%oLExDb4ne)T!{%z&nY z!yWTU)0ldicM=%Y^^S!@*TEg=KmbB4DbdQLr4)N?>@I#W{P@$6$3M*s4(`lvNvYf( zi8%)uE0x$HW@I42*&kN;9Dq>TUD^u?_T7?T9T83boYtzm{^4BRKg`~{@Y(GNY_j7B zzp0=R-pOC@#%FIv6vdvZ<1HM;p|Eci#jqNA|)#~_jzsMt&T@oK77*sOSE^*Rm9GwY`nf~ZlQaTb-9FhaE(FqM$ z?%;EKa!M}?h^IJ>cOL;9dIvL->PLJl{zuDTFD3BE7y)*3bRRV0NA?H*{99}y|4QWeFOT5`--}BkC;x6)K%hNJ+Rzx&|(^up)`qjf{s;3M? zso101%kKxDOLghVym5WPfC>jGc-ubQQD%cP17}f@d=)N`29jqK){xf&fO35Qm$m!Q zZtF<8hJF9{@P896+p=uSLCy-yITIwooO6;$Q4}eL|EVtE2&RHHGp|-JtRoTx&grh+ zwJSC?p{+Kul@z z#i>Rq;CWHJTQ{=Mky3(3CJ|#O1cEG+IH@GYI34Ud+HFOq`sL|{9@Hx{r13-e>|1;S zF~dy6e^GkT3VpqJIRFEa1Bs^#4FMV3n<4ct%S9)l#9`0|S zzSw)^sJ7Rq*U+<}or|DaB0`b12<*kd`wDP<< z@Y=YJmK@gzb_||N*c{1Rw%OjO!I{+p}mSCyFMMa(=LZoc8} zMbkGDN@`0Jyhyjxc}4_5&e+VxESITv+*0WraU!slpVs)yrV@}mL) zRUUE6fa1uSE(Yn{8$eJ+$4c1O7LWzKrhxHEDVeOfD{RwdG}RJlJum4BmRq(=J~F2S zzcke1O!iwJ#hv0S$X+!kgc)oq?hxsaJm6ahB(cO&1U|^BtdGQYulOFOElDrf^5JTt zlbQ64vLDr*$sr-DN-Sxg%sNB-P+VlJr<{GDB?VWE9i6+?-kInHL+yA7w9MX!?5ST*YYN>?be>V{kKIajK&YU_2j499h&zlwlG zNr6BlO5`G33T(aJ*$KxT{yNr6Rt4X^nd1VY7EeeNZwg-mG`n69Py|pQ55#dZN}d#a zVT=T4KG+of^igaF31H?VN+Z`7g!2Gw!g~;yMrs5nhNx2%TOqeLA@CHm)iP0dk)Kd) zI6Y;O1Hen)Q6Gi%X(+O|gkNj@k`7ii=rt?vQA_za>Q z7eXD=i9AlBjN~B~A%u#k0#P@hy)&TzYmKoMxir;)r8#6%YkO{W!eD%J!iclW zV1?~QXW6!H+Yh6o$nG*LkDZ0LQ&@T_I7wEdwHoAvBg>i+D(jBH!sozGOMIimHC|f> z4ixD-{=rf?IN@}%YYeTeow4@(>gvcid%0`8;l4sY*n?UN78hK;5_Qbk=NL(${iGna zpGSfRnM4D$y&}4?3MI-3(+o50F|AjwV>V;2T8~0zt^0S*1jyrfuaMI0CtR-cS=>OcT2u; z;L`1lo;knOM}DpkDan^EC=GyPlYho_nvmYc0fNinrDBDFOk`G6x}*xI0@!3Yo1mB(QA?r9|mse-}7(4^`HY!VCGWEi%A96wa3G&8v(1uh%klK=_ zLQhHOHXE6sk_?>hI)jYB5wAt%RVay1ZpYiH)o zzvaN9OPzQW#W%vB&3)b2EKRtM{|X3hFUq*KD3mqr$*1iDMQLdVN{xRhVIlZWnoC6* zUCW=ztT|Zfxil{Dfi@Iy4hoIutkf+58$^zxx#e-C9A~#yXUf1&NRG~vh8FJ2M{A97 zxIryC(k_RCN2}p<7^_cI%$uQ&Y7X_Art$Q(b$o@p!VS?4Xj-^xU`U2{TV4gDLp4KD z>b`-`9LB+q9XP?55fqMJgxr^(gx4baCI$;Cw3$B{z1qBZF?YB*ys^+-ANzH@|NC)G zg-4#8zS@>)jOWNyXW!XP!WITtc9ZU$sQVN<)Xcb(CQl&Y5r~N_wO0q+M?9`!E){L% zBDa5lSmCrmgvzKO^j&1mpS0pL1SX2hZw_~EITjS1sY*Cqrs7qHMap!<`2Gugb|*eL z7)Yyhm0JadG^v0%MVTg^2TZpHAy+0NQ%gtv=yBHsXHV4nEZ86b;aEl_n4jX>pw$II zC3t=Xq8s?UxggVn6M%==jQK4LcLUz<8(olF!_UEW{6v{;)8>sY4f+)Q-Xps}kDvlg z5h*iNKwLXD@>}6|K6_^}J+}=jR1M>N2A30=p)+gB|1`725=cD8~aMXllu=jb2HyM-a1; zBF-^_=z?eu%NR*G{Y3t3QyA9H=Atr?b34?EcskETB`qKA#j}*2gyPHK5&e_10i5Yy zo(&8cKMc0)#MlDP1l4kwTZ3%a$QBVqLk0$sSfQ!59I?kg0MW7KH{;*~(HSTW76_6H z|8);O&GK2q^juYFFnGA?hxj>SZ#%djZ%E6|&k+g3wBR9VDw!-s%C(|Yiq%4+B{51O zkVi8LD-O?j4twFI`7b26{3C^6Gx786(#!;Y8h)Pt{6$=l`V@RsR?#Mh{1z|1|5k&d z7p4nbev8joE&(85Nfioy7GH+!di@?>9bUZJe{;U~d}mf%bh-9yZs^CE{`<3o_veQn zEDe7<)pc)S@au(vZ-zVX&n)yFo^Ru&7Q$zyfgF~y(A(xp=lDST_yBJY8Bpm!f3eHR z6*+|GL>(LPn05-*M^Or6vC!E~)v!;kT8_l(gy>dGYrSs8XAlZVC1%LO;nUE~SYGt@ z@#f;*GPi?Y{TKLbm$?nD=_p_+95P=?J4m#H$fQ*+vE9fV1~^j7h*taD(39zYp~=Md z%zwM{EF=mCCg@EHSfGj55X zf@lFdFw5$X%#-vE72h~gYF!xeQCZL|rXzP}I=U4(lYS;dUfW-abQeUl1)qIUpkGPp zw?nNUQ=KcrPktPDg0X|gC`}UWIt%L<3Kan@9=6C63&KDoew!VRQ(dO}?oV`kH11h? zL_V+&x1+rc^}_Mkp_EAB;gO3-fuCesT6( zvElsk+yXx~-)U3+s|yY#0XP-}BSpfG*-q%I7N}Chd129GUzCKdw;Lp-cVi&{|K!kF zU=cPF(0~0hIy2}p=NOlLiYCs!G1&4b2h8;CNU~REKH6#a2$+4E5Zbya>|#zTcW9pd zZFub>+A?h|+$v$dGyJU`l&UlGg^Dc}Nu+CUO904of^$A>`(b}Ayb6+BEa{2l zfOryK{H3wc#Mibs1EWI}j%tvrTtwTa8rIbC^Q;4kMR5jM@X8iAE!XL}O-%NsE)ZQK zpxkF)UB9`wxVn7%&vomEcux*A*mh%e=3Ti!VY~`$xGS{5$Q+*ZnC+fy%}hQSaR!vb zpnAVr=>JmAv!i469nHh7?o@xz4BelYezLedeQ>s;=9d_si!ntS!1dVj+^++jPbT|* z9q;*m;F*IwNEd2E&r*oRuN|E+j5Pnvp23WQEq0&EtjNMuq`5Q|p015~nlU+Hg)r}3 z;8!aq-Ed9x%^TWD-&{k`hZXo%_= znN&Vgd=T|Q@>!sqqQxi7VREhI$S<|%->xl#QeP1L(^$9pF>myv0tc{Wm<=;v_)PNy zoSCZt-^V6RqDf&j|A|$WUja^^j1T@X+*jLNvFTW>*={ITKTOnejv-2K`*plmfWp|_>8$O$jAk1atTAW?H+}hh*T3eV| zi7Le;y0L1_0Srw`$rcM2sEs4=1Rkpeszf?3tXFJ=ckmfJx?9POa$loB^Cs3^-{ygp zX!0*wE$U}W5=eZ5B10Q&Lrd>9W_V@B8d?4DX_Pu~^V|x#5E7ThyFheEb%AIrE2@j- zzJLEVY9~Vr8`EoZ%!ly$HcQy<;Io4#Xmg9GV2WRh<61JLGFU!BTA%|084#etXJ zV2A||D~R?jRx`iOE6GfV2IlxMM^>RK@zUhcjtst$?oc6fdKvOSbng!5gV&pQoA=~M zFn{Njmn<3px*0m4_&2V}7`=dI*g@2;jcmE?HDhLDVs`3R2dPBb^T59xbhR;D+CC5c zEzeKMBd)5~*`Y6nCx5DAb_a6~^0TjTbY>D)HQV`zp>}ogNRA31ry;obZmi?U+>pj` z4mjAla!9vhb8#4(C3@A8v{cisDO^4!DK`!mmb*ByG&QXEEPhxLG7;uhG5FJUiGZ}C zv}^dR#81W@p0BR(`K1!MaD5E!M_p|t%%6hKyaA?*`#MrY5F4(x-DMOPGIKQ>+HztP z92BHQc9tW;CDlKeZ2xMa?c3?DKUPP(_GbHz7T$}`0-AV{v!7JC{yf?H%k;nx)BWH} z79undF$`R7);-w~Ae!*|c07kDCh%f7HY`%@4W3Rc4>YL_2_JH)DD=uzXlI#rfPfR0 zafAIzR^c@*VrjEpVz|Irq*Zu2BGkOi>3>F~#jN$5*xHp$@FW9s344yxcr@ATFmXq2c~$IBeYnnFFK+6FkH;y*pvwcm`*epq* zJ#{WnCDNaQ&-BG}UHQu?8|Saj=Jq!GR_8p?w9~p(Uh^S`oLmwZdFH+%K+kWB`387( zOoF18tksOIuI)`Y$=!$TbC1~C9DQNRy#vv?smYiONzB=dTYZjhTMVA3>d75i&4UY{ zA9Y@@kE5l=-ZDbvPWZ#6!P_!U;nY5Ya_5Gk2d$lS27Q8|bgJ6aj3%Fz(^fS4gBQj{8Xr7=j_E+85&h>zC5nR%Jco^ z*cF2#mJyl7)g#$0P?~EC8fOd?eBpTMlB#V@E-pN-_5IT!R?bOT8UEYG@c%0#@Hx)C z8fqcZL!ZqKf8I6t)x=8o{7y}Jp4%2)gHjxZCg_4-nT;6P3+BbVgI!8FRCJ^;~GFeol$ z%anmRNNZU?T+=NCm>|+lFqglPIT#g0e+oXE&tl)rDOn<-sJNR zgf^LplRyLWc->0obc)yzAp@VOimH845+W6x9Pa5)5d6W)U8%>~_?BMv39 zxwGuQa$`WW+$|7oBICG$lC@%e*{UTYCFUP8sPKqLf z&sGF-`fBRl0-+x~X}l2J(dO0%nrd6=-Qic<8X!6$7tVuy>YH@~PUH5<-{xyP=IXTf z_{M0yBw2KKIapayJ=GJ%*A;C=9ZN3aU||osG4Sr*(0k02T}h%OpPBP;*O$Y)N&6-5 z?wg2|@h=(T8Vo2Q(XG=XW9Q_EQ%gL;DFZT&Xw_=)^XHHZNwI1^AjlZ`jYWRKUB9`+ zO0tzO3WOwswjj$OT>=yD4tYWLh4fK&H_r%sHYA7GbW(pK!K@U`XlsJu1aBnI!TYSDF zNr~8}<&v+Ju*DL$#Oo8B`wK+(FOECUcS{)*Abs;()tkI`ZHp{uL$q21fEc8I1J&ed zq4XR6jgrp9tdspE&4B4=pmTQC%SZ}3LNy=P2Of@eB<6fR(NQ5Ya0b+0&G!7VHQ8}6 z_g;LaD6w4q3Ledm#QA_T{qWf-+YW-k7#SC2)g!-^QkzBkTseH1|Cz+1j*LMpR1&po z2U&)b!nOw4Yw*{O74bq?n5kpHe-w$_vGt%{AZQ!@sh@=H=y=_>?%=++3o4dWD z&BJ&hipX|)37kpv`&8e((I?vTelyyx9~Ay$O9sc@UF3duKT2HHWspzOn8ApH+c(fm z!`|;^`c&`o0!7{5>0WLllULpm(Kt~wvp_+CVcWy6#8*8yTy?V6AXnp;f z`yoOz5&O2|T97%f9a%NEF)}>x&C>7}8rC(=gdK^VNQuu$p)3D}exxJaf19ZNFt;}{ zu|A=4iX(&J?;*MRpI;*2j!?qVBTV<3kTk)`Y`h$~*T|ZhKY1^63O?1c0;U=XSt5zF0SeDP=lrFI|KK7&UwOX)qJJLieKOnwF%qBM*d2TpC&d%25qvXyyzBR-+P- zyWUsx4T{KfV}dF8j4hy%Qo_vM?(OT2l^I7v!e?@#(JOrB&Gt~FohKPS7w}x;eBik? z=ehJUiuGXEb`mT{L*VIl7s9Vt88s9>oJOTafuLe#Kn71;T&!gs3k<3sm!s$_l*x!6 zIh4&GDwJkENZXK`fow?KmlsN^{fmI+Wn?~s(D~;(kLtr;jdlM%J&YzDogE)KZf|4B z11h`<3axOsiO=HW=AT1@8JpnDz2kAH8}b93d6xW&h3M7HD3kOp>|D=_`CHa^@i`B9 z;o7nU){*Ogu7o`BxobP>TSMRrm|)t8&lR&36vz<}y)tcbd>8R{hY|i>i<2%(SyqJd zBV;Ly`|Q{c<1m!s+<=)LLGK!YatPe@PAzSP(tc~$9Uz*US|HD@S_^e90nz(w3^6wr zS#V{LUIGw-mGfiZOg^b&SXaq>wL__XefT9sM?}UdmpX!03?vCufNbsJz6(=f?VvctgUbiwBQ0Grn%y2s;|SFj z8cJ{mdS{TCX36ti`=z*H^S3k-WOeaQ1A1w`ixi#=l4eMf* z!(rdzb2>Vjbb7Y`pOd`fN{B`1JvUCKsza5L-+Hv~KOnbrSXMxX6h)$r+ z*DoeJMTpYQRcl}Z%_L=4Eb+I|lbmX=43?1Uvm=Z;4JG<3*C=MDv_i@UtT51j35mF# zk{_)(N|nvIbIQh+C&#s%Jt%Eznh*`2ZH)?_!+~F7LueSW37!)M=><0e<1S*LI)s;= zhn_bt@-@{^z5)~0#1D&uAHrvM=qaKV_QheiN2dForI@~1F;=m1R2h4zWYq-;(RNRN z>DqDhAA`>-P)46i1v`x>whCEEN>@>#W}~s}oG909L_k9cUfiM$zl?T2D&YK}hOzfQ ztPOlS)QKW0&@huGE%BKONd9aW*uQ}=Tzn_HzfX4mINklte9wb==cCC^O;$xWG>!4? zvRIi#a&jv2EExkoG>2Q4Co-QI8nm;HH{4AehVGWOmFY@B`*6e?$k;WwoUaRSZRr&K z)64+JQ42n|cQ1`I5a5O{ZN+Eni0p9%M0rJoz#9G>T+zua9H;oX4_D`iH^$gn**w?( zGg3_Onn;`m{t8$`P|8Q}6RXcI|;t^Aov(rH{`%}v7C>|04Hyh0*#E7(R3M5v*Nk>aLjTG$a+8FbV8X2 zR2OW$K(t}Wl0Tb37v=$hX<%RzpJ@XS{++ z5vw%Ng4GoKNs#qB*Hg+dajPQwFQRwCzZ z)$kr|OSR(XVGf^jIVrLgoL&1mM3jG~z(rt)4QuAfiC6kX=4W$gcCDOB!$1NSiHnM2 zaJk{_z}`FfjOICygG-i0V74Pe%xs&7jhWdK)#zuY1wPv~v045KpTotvQJ2XXp+k8g za)57Mvps!s!dL67`E8EuI_`#5fu}{yUs`? zzz`-52>S$l2GK~7Mko))+8x6C+uWd@hnlO1#>N4Hq5jz8Q9D+Ap3#)pCZcx`Iq_K` znDB6x-syapA(KUzL!P%w*M)}B7c82ixExwk8Yt~AJETk&S-w9NG)buNS)79Kr{9u& z!0ckb^Wu8XPxXFI*Kg~6&=@l3_z*rrX%PM0eBZO}srT~dSc{E1yOkeR6ct4C%9=nx z{p(1lgcdP11RI7URE7&46>_qEc_@d_lM1_d)hdsx6OTzITk#n|H7A1p zAX>l2&L0qP#)*?Q#`X#CX&@VS`k5oe?{@%$vuc2n@8O!>RL;*a7` zRhh*IvXtiER4c(ooWy#}2^ zaS&jMUTm?}_f#Ov(3XuEh3dOYB0ko=`jrcxi8u+h(*>Rmc`o350s0_6L&H!b*%-&0 zNDfxa(BnY1KpdEG_+9=CcBqpIqwRAGZLYYq9;93x{H7{PO`^r7@02HYXIEj!872>=CKIPQR)ju9($# z@mY!j{{~lB7EjR&$OdvqetxO-elhffLUI0%gDD;5aECb;ly10jDi#f&znSU&V`JjI z_-s)~8h{e=z#+dMY!f~M&XR;}2Sl{tUu}|n&&3=VTA6fu3m1pGvWx8?vIliDZzrI* zbc!IQg-BpT;gd=K9)@Nbd42gezMBm4YzJ$#<+{%*RXb8$F&Cclgxr*@(@a69nzxi`G$z1fPGL>J@|d zZLD+s<&Mg9jzRYis2je=v#49-9|q0_(WRqFFZC?}lymICOh@AL!nqkZN1p9d32(w% zG7uuIVq;!x(cK0 zqHofTQ3%2quj1Ods-HT(S7fbMcP8<nd1oz3`ry!Oy29`R+y254v90b=8o z)4@hw8~`*pqW#t$kw!JK_j4 z9Y0KUX&%TmXZz3;Lj2gBa0zVjT((AFZ&sV$yt3WC?ssNf-w$IQ?UTLQ49XCYx{UUq zRqo2GQgad z(Q=am3Z!u4DLLpU|81C-K`Mk%ZlF5;%mJ@NOEpRyxTcK&Y;Q&5cdzf@bNsj2uLe+4vU+)C@(DR4v}tht z2|smyJK1%IW?QZZRHxtL4eNE=!7w4QNt>a!3U9qf@Q%RS0wvlK3Xuzo_Q^SU&+GP| z@ELgk7azgr#j~9N@XZ;+1zyd44NT$yrnPDRH9iTSw`OHJMe;_;skU=jQl9HW_&mHf zIknzBHTu=kr{OaIpX~hmbnUn0?SMG(phE{m>iivE=ywcAtFgyy>OVb8!RmJ(tpaBkz{D$jemK+p zA$$hT0y?$;R|cx4`7k@qtK=u3*SAz-&4n3Q=uk0oXH<(z_JePlS5PIOSh&YXWVZVV zszimTcivy)KoHc{w#A$MDk3!nzao$H$T@+}z=Jr>$rsUdXp38KC)z-_V_H=fNJG3!PuQUw#&p(g%$kDP% zaWk8gis4X_-0KcAEY6uAI-Fe2M(&v%r4ho&;x8&j*>`iD8@F-)iD2*IGhl?qnTer; zC~$6;hMy;H08)SA${ZGMf>c?S6#oc)78kBx^Nar z)(Qo8i$#B5!mJ?L+O1u_5GVw9{##mnyfR&GgP`(b@4bE@%TBQjw#@76I#06Tpp%!S zf0W!UpIq)U3d+owJVOXc`#^&T1hn9@T=B?@c=OU=G;s@%cBo~g0+~~lx5VHaWu-^1 zSB;OTW?ER-j%V22I_A>0a;wY@3WDO`i#Dq$E4`Tqs7Z$L?LM}`(#{Mi5PHd1Z1n?vi&}B>9)ZB9J@HV)hIpt|0qnf)f>XFbD2|dXpRbKM zabnlTg6SgO=8%;{c!-d;fdr$Plbo4+^+U7DBVl?au5e-fC4Y8wT|%gbbpcg0)lvSy zFh^06X@3enQ=_zAq*zN+yOe>zm_6W8e=j~uco^87nA#nfp8Q7sGl&Mijvf36f8HFu zSMUAz)X1a7^$9A2Q&hYA3ZMCn^$8UH`DU{H+o|@ir=R@^)0$Wv;5^%2jW1@~|1?nR zGCr?8GlGRqv@wmj{$v$8)!HHQs&NI};d7(%-L5PCc9|rKlocANzK2d>sg>$f7=>-3 zF7gD};1)WBu$4bcd)SHgQ^bQ=N?akH#JoT1J>N_`{$}dw!+OWJGwl!RF#?u90iPjr z!gb^utWQ;e%j$xV5JJ`*qf%%dVFm>NnFX|0s@oU>a-3T6nI7?5G=mvf{N#{1`q&g^ z7%+%j`7J(>G$TG?V}VB$I1qc%o3VS_r1(9M>fqj`@5&oWPbA2Wusz*|?}E=h$GzFY zyh#|oP+cUeOn1q34>xi-EX*CkXKqH@3iTpy9>hHmdx5{wgWwkbVHYTkR9^sf6~qx# zI~0)%Zhvzw-`kG!rDnqxqY-$qeCA_SKT`6hy2B`&>ilA=?N`S{-=4*WElEuu$LHmp zHEh|=#ZD#5f#-|M*Dv{d2u#ESqb&?@mZdYYs03+QcgptqSR6`t@j{bT`364@woy9l z3-pX&_$ba>+=;szME^L@0js5t%Zrv(sJ|!*;m#qm*#ORbo;NNo$SS=@wPyJFFHfRh=u%ys-TLe2C9)7vRA0*T>}F_E77&*#vkWS!o-hu5|{2R)k z&h?FFSNg3!X;_~oqDlbRu>6feAuM!;=N+}>zwZuU4v2^yaCTILu$?f6n9GOoxo>B3 z=3ulw{e!b&`7ZKUSP=bQ|1(F&&e-RUEUfiDSX>?$*q&-zomhJAWUk=P(P!!QmYi_a zemmawO|2~et%=F4RI?SIA@hBR*D?~TKcA7F7sG$$2}sHcV|=I$KiBP_a@>6r?y{)I zyosvzXdYFH;wh%Wj^d~Y&PL@<^BW7ILU4fT1THFk1_kts49rNvT#v#)T#jr+=0kx9 z6!eGjXZOc`r)Y4t3ZLIX^gB5V!ofUbe(Up(|WX4NEHczNYs# z2bE6mZa6st07hGKSk%nxVAu1j^FoO1d(xQd-4z2Pm5aibal?8MKkR)%eY@>o-})K` znmM@QjrQPD6Tj(w+PPTUkM1kcfCY5>0$N5Q^!(wL$)_SS=@COvtLfIXx@5<1l{8L$y@CZbeUc^?K1-F+)872h%YfQ+nP;~LsUl9=#AnD1 zHi-e;GcA(k9BRYUVmUNo;%t%n>l=%K6H3SAL_g=^cJ>vd%MKz=6@HRiLK~=+Aof?U zaRbd!fhytjjb>7u0uxC7oZyKJ_$_yw9622OOo9AaguHD86%aiRBiLF{pxWt#ml6){ zT&>G&^k{TqmV048UMZC_75`)2n2&J9?d4B2ZdZpU>CP`|w{d^Lh@CD~XEF+x-$9dtqFg3_L_x+Hk$ zLmersOhp2mBNNOpG;oAJB!~eYXw$VhZ@C=}Z;xXRd8T$r(TRL)P!pDQ$=nv^Yv`K1 z!*`H5A0*#==apgpBNy~;y=!MWeOxK$+=lvuoPwII5-SN|UUD-|;bC?$lUc!;Q9re< z5#kP46%w09&f}&Z7Yw%H;Y(en~BfiU%ff!Ie9SJK_iI9D)|A? zvVDdRm$fM5gg1e~JzD(FEG(#)_>3Mazg2IDz901tFXa6NO*-jZ+YRF$Z zSoaBR7NP~B84;mSZeRJ9M?>u_vf_e>t~>M&o~%~IN_E!9ei`bL(Ls?(RD*%2vI$3x z*e@c6QDapOE4PC9Dw9_B2rr6d0xyB9j(2yM?1A$=oA~V1U_O&3KBrEv@Of!x*)qxE zFt=P5-2R;ZzNn~J~A$+MKLmDCe#$6M`*PXx6%$Y@lFvAeG z7#D#L5On9iiBuIP=Y>1L>RpSsT4JvlQ3d|K#jgm7dvI_=7&oS|^n)^u z7KQ2=JXo_^+qWAKtz)_8)zbWcN2qiwGIyqT{%8X+c1!l!og1tE`|0?s^{)0=6+XjQ zaX0R*KIglzYD$&v|0Yb&6V?6wR($|`?fHb zh&i$Aom9n6$Nd~t_RHkJgMqeRW``$UIA-Nq5g(?l9+~-!I&!T5VT8>F!RRuQ6|Ri^ zH4qm$y`{GpTi)P$m0$)L3^)m^!xMYT_ZtZ(*2}BhcqJ{CK*CH==<#;3Lj6Uzu8xVi z$bt=C;WHFsZgBRRqVPY9R$O0BZm*7Qt$;p0vG6`)z$LTY3?RB_ty_xKFTM0}Z>>Kt zUc8Y(?OCL7VA0$WpyQ9xZg=R;%{+zWHH!hII#@C0W*ZK;Nlv{uS6 zarGT-p!U|341gEwrC7!ZiAX+n!EH{4DJ;1bs2bW9VX3my;j`x@z0PlvNXgQXyBM09 zzxwP5OOI6W7XLFRu=IFrlhQ{;P-yGOaYPwAnWcbp#BmIHCi4Bl_~M0d=)>(Ro(*5r ziq93eedMCzkRjnMzK9B|7Z$b_)#IZIwjpVZe8o~bZ?`6e z&Rk0CZhAGlu(G^Qe4U<%{3Pdxc)8c!d$*s0&xkZvhL#%oY_#Gt!Q*^BMysNR;ywKN zBlwI|sF6pL1VMN?By!+CVaUHPf5V+qF}1y!`S~^tMb`%IC4c@nKI6|$_lD0S8{LEZ zfzM0NH!OOA=)mX6wVA}{uje!*eTN}`^e3(UfxOO7crQNl1&Lpa53;PWGNzeW1{wf= z_z4NQk%n7d!vUnxaJM4titFFjBreTJs75UaJiNlRO(W0e`|BD3;GnmrXk=B!Fbd6tJZJ3 z?tr$w-Q~`Wxegt!j)Wno>ByF3FO?CgjEoMJnn$KprTW9?e0;cC@#psf-JKtP2%keN z3tZzx9Lq`jRgd1mXZ9K&b!~C#Py@Q?2NnGc7q(aN1lot}6$7D>YHmtFx0SU`fU_Y( zfJE`e``G_0eBQr2(-Qm+J`1`@uH&ruPw`npc{p=myAuuWNSn$uMGTc zdUa9nn&?0!(o{}B@Ct1bnIiytyiYzYE>R>rM#z8RSMl1cHJ;v)d*FOu{#B&zN^|m^ z*QW@1x=qB#br<28r&WoJ9l>eL;o>HSPU0jF+KtO%KHUGx+j4M`wKzEFwME_GMNmiF(V6fb;A~o_JvVJwR6umkZ0~e*(Tw1EuKjibgmCfeDl>5Sx;Dg* zpe2XK_U$>X@oZtt9+3f<>WL;2e3abfC-8)61EM8Ah_9*Q`M$rcZ+=p$L$dMkNEe3* zr$_Js%=zpH4}b1t$oXwLt=XsTnqfJ_ejnIdo-CV^MSkpw^h4=fbIqyhO$g~P}* zfoZ|#fF=&BP~~fLD7rwZxTktR``xKYWY`V6TeupYjZ#jM9%-+hF*Kldf~AvQD?ZEF z=HK(kFjHw5Um1JB=lGNV37<1=vQ^C05*D#T9Vr{R7LpiWNKPv;m%SymX<``& zLx^87cCG*1D~6I`#Va+e?Nsk zYqLhcC{0VlYsWibKE(m~H>gf!v&DS-&-k;T31<|jv|c#BzD!|T2@o`$)h;T3bzErm zwo{v3>mKg=0_tWJVHB#ouRbMz7*#4mpG^(jAD;PrVrQ&xYrJP=93x8KCVXQfx6ckl z{>EJQy9oU8pZo0}=GupxcflPTg1?94L5^DJHL`F1-rYw zMR9?)kWECLTJSk&;n|V?bxH+cRJM^SsP$Z!qmv(0X|^ ztHbeFT;kW%F8v6Z^?dd!1=_LB!sTjn>PM?~2YQK?x8k$ei^TuJpW(Al1Ne~Hvlym= z<5%o8HU;krkFm4DZ%*Z1+tI)QZI-HmJw}tjk{<%1O-Ktwzvh(qZLn)_b^-xFn+16^ zv5ZRYlI7@Gx~E6lCI+dn z&W$vYsC!s#^SVR$%nfDpO3rjaEGhl}9-kEy@E30v z&|8CljQfjni7d^F7eq1Dw0AO0Qi;1~`B!1bX+wQ=idk9T!YjPqIvrIfD^{30_u&60 z_-qLfo9*+HR(yuBYG!3Vv*5g;)nury!ECyu?)aaPF^*IC%)bGjnM zM0}1^t3Ts27hX-o=tp?T&5B(XX1hAkoJJ+h$JGG zKaX?@PJKS!38KH|04fbP{zRca8J{EJu-4hOK5+-1CCkZWf`=j|&`Ie81xMsyvfe3o z&M)&rGO7A3n3(3P#a|sXsTiT;yy4a;MJIL*XNK^(ehc+rQv~xF2=oX41_UgP3dA#r9Gs7R`S_rxl6Mo65%!s}T zlhciL>@0QfuUI405w-RS+z6J#oYMkGHDbw;o0*LOmhVx3Qm%EhbD8c`kt#~4P-yCK z@leKfN#2Ocqv*fd;LlJ?W&(Up4>M^rlX;SqYl^@VY5VNX^CqFCigK)Y>*iF!X7~IU zVkUDNN@$=hAy5hj1?s;E(SAjcED!GeWUz~#QgcVkhZGeG?OTWzTkNO4HW7rymj}A4 z>gw-FX|x1qH)-_DPcFUKC6F`}hc=lk(c1{q`UDsi#Im?GI(O@xP3HzPAuI)bwj=%( z2^(4m7e}TNfXHFylF}mx1rUfY3&5h|B^pPzT66Y_OP_Gr4+&R%BA-5;syN+cm+Utkje^{mQbtHA}P#&a%cm> zXYVN}9qE6DXXM<&9K3}>E*a*unw|}bl$}W2sfj|C}{|=w|`f$0d@J*Di9d62f zA{&05I|7=K6FW;%1Xw^D5~AP5XSrv@L#`3-p^f}!qwW71X>0Q5KU3)c1fTKe-xdZr zlyWW7zd=5!dx03PT5^UekVE@Dy5)z1$}+}qZ3I4_9V5>fF5#)RNgJ82&0J7>*0$n} zSH&imAnkhTxT0nNfd|h#AYeI5{Kk>dR~pptw}WWhAgs3S1#vM6x=xGaCGnXM8a@iY zH3+0ZDVPD^3^WYF5G-0}p68oV{^YoVXsQay^eSnvf@nIlf@oc&d&-wT@PbI?Mcg5<*le{#-q# zyoE?za7@6`6n#x#+<-E6D@B<)*vL+#Sbe5fBW(w-_$Pb|M$#Cvg&SUIzjgEAPR+~t z#fjWDHH?yi%+Fh=Sy*QuWQ<82%Nt@=4GT)0aq`f}<|-+WS1V$!td0~Bh|Og46#$TO z%(GWY0#$&sZCH}?%}gw1RKbTGft~%&~m4$l&14^w@43oaDF8XQVDG|HiV@qnsaCGN1F)?!2~wt?SBP z;S)-2k;sJ*QbaRX4tGpc_~<@>&r<%z_GhF(k4^ui{XTq-p3fs6%->iqtw;GcoTW0@ zcVDBV{=Lb*gE~O4XH8=nH_gT$J}NYD2;U6jTFIV{1v1tvPD)+lg-3 z?*YsBvq}n%jyM)AQsbhZ14|h`%Qtv0J_CUQ&by@}8PXfhOuL>Djo$*Lt`%waOF2=E z-0$LgRel@A)LT)kin+mU?GBbDG^ErT z2#lc+0~*M1a6zHq#%|0QS()R_)0Jp^B^=S2Fw9#^jk-5!(#&3yZx5ocj`{xAbl3k^ z@BBx-U9Z}&CZ9PnZ0Gi5>-q?Dc9Y>{Es7~$iMmW4f9pevfgE;mcxcP%Epp~Vk2q*A zZ3o3=T5B>Nw&!pm#AfFz&e<_|7ZpYNuigUET=6AgcW?9gb~HTE*OZf%Z9--kjC29} zy4a7mVpV{0>+JIIGHoj80lPZD0a zrG&)T^`%fEHgEWW!#iZ8ZtY&JtBZ+wF3dSWkMJb)xtS&i|LFoOQ2dcn3EHlCc;mom zNh9SvXRr~O;f7y&D8l33j+;Yr4nt2-3H6cA6QWWu?Jb7;6*Y~kbB1%9grO>cQVuwC zOF7I{iH>C+QJi~1exjgkbGbx?A~`lV5_jDBain5iyg=-6W-H68vbdnzASY$S8G!}2 z8&QUEfH>{3R2C?DQd+ovyoEqA62+-yrxlf(7g;j@usYy+Wm0tv zM~ciAW)!v-G4A!cbAKrGn1Rh`8yHnB?;8c=;e0&~8Y_bcvAG12>}@Q^qWkuULAQW& zE1oxjeR_OrY-GyWclVYC|FJOicVlJfAC9}q(aNQ@hE}=)!yUOY-1m>csUJoU#=H08 z&_>>Svt(tx^3U{a)V>&g?4+mY*k4B0e`Rmvd}Xv6RTqvwxene7?4@eY=fJ@Gg$4itz`3x|^r2t-vbs3B6&WU9TJdmVo%1)1T zdV)$amH#}Q8PN3je!cs%xt=c4lR;_FG8KNM{di%U<*W!e?WL^X=8a~cMC!mYcv`Qgpq!<4O_xGD7=wAa^b%r zTB|bv-)1kYiP8}SzlGI;P*5E-L1w8AkXcy2ZF|mHTA|K17tl5y<01IG71d0J8bID! zfWx!lRmgI7eHlbMkDHeRk)}0FSDCaxLaq!uF=J09i^c|Y{OF6RmAM=^^W3)HaTg3m z_>5H|C$=Y7EqtbN#3ggi-Mmhc&XIx7e=Gc%z{r7lwm1y8HA4t8(?G3801HIFi_dV! zN3k7%GtNvNI7Jhmp_~i5j2997ig9bq0+yMsq*q?LGb^oo&e5n z47G;OZ~#903XjabFiYHty5Wh&KF68goYnR>e;w-mWw2*>bzz4mU%R=zH4Eo8!P(<0 zF7`P-4Gc!>lH!kTD4l}OvCW(KoJ_+fpc&Yyx(r5vX*Vi-PB(Z2>t)zF+bIZV1p6_Xpt9R@VP*A;&Zs3LU%L<;I>D6qo}S}gVV179WoGlzYN|jNuhZRuD>PB zD^cJO&_=dNAjX)p$7e z>_5V1Kz)Z!-~DeBpTC@p)BSY0bYNDYzL!9WeT4NPhl$U3AUg3mUpc4=IlLlQG8xEK zhLEfjx@CZ!5S8E((TK)Cs>z%6#dUe5ewZ7eS^hQl#7SOXOgz<{gRxNgbCA714c+`i zxJKKw4{e(p722a0oS`i8jwBEstN=H#%~Ml&B6hmAIh?de1ypqY6onhnRDm1@|mn`iMm@EY7^8g0sPk6%c;Wlk*ojcsz8nk_zH1A)Sbj zoRW(6nnQrzR8sBfOuij~=1C#YYs+Z`c_1v+=1eQ6Zpjj@+--wba0FQ_0#o5zZoPtU77L|}-ok~ZinhjavfeuT&1QfgB1__-a@W zlZhWpX1gU2C4A{QCjCZnhvHK*;6r>7%^qqZhEuMij@44y(Iy1-3N6s=h?t>9uj*(F z))~gm!;kaum>I;$$HL*rKP+9XpnXELr-0ig4S_K-{~s*dhTcP8MftF917(yswC!lK zpzA4DUhP(T$6w{1O+pfz_sv-j`hrLhyc{Y!V_$`{Ghnlr}O7e$7iUh zpzr?3lQwaxYZ35kZujGOC%>rh-*@$%uV;HuYY%d-W%%#c+82+s{W#XG z=7pib%qawem=gfYP4Xkdgr{!qWLF3;@=r>xY=o9JmI0c)#jD=`qjqpkWOe3n?7yUB-C;4CT%oK=DV=l1!DoQDKw zt=9*-PATU!mXFrP)}{>*4VJNJE=PV3Sejh7SpBiZ+`PzIZFTXtzRt;YMLKbKsGz@m z4As--4MhJu-1|*W8ymqHe^R44B>-3Yf5f+dvl>ikV2j-v?-#gecIhMB8i+`gKk~AR;I2U0He2&2f7^&lL z*?8rz;Cc(UiPH@@06wRjBW83yk^G~JEQ(l!id;qAw1;xxhk(};*$$wCc({2g z#w!fOU}HjBvPP@PDYMb=0@(uLH!FEWUL$m_pTq8|1eoC4r~A)!yJDhVMf4NqV=uax znsX}%!!fR`q7{g=yX~4B=}Upz%G{8XOeV=!BF(Q7dp73$t?sKP#6^qE5yTqR9QsuFD&{I)@!BN7oB7H=sf$sQA;MkB=CrS5V7w+J!Tf%@0y71P{YGUK| z=JvPb$ur{Ir|(VV`Lka)@@yFqOg6tY$etDll9{0yb2tFJIRe#7CSF+g(f;T}%nm+F zCuqfIei*qWIDGgtO2>d~8bHiQpr1f&9LYd_jHGZejRh+bDB`v3+1$4I&e-hDQKTi3 zXUvIfO8}zHJcp!R#?0wnm~NjLe^wj%rN4t}bDw^my2*x3MU$_d)Oy9qRK=cE2f>=) zWAvDYP3`?&bNC6g=eW?cP$zR02kt>Rr&{~G)}dOTKm$svz~cIVPJxHzj1P%kyc3a? zv0UGH$p`XATtH@>IG~jR(RMYJY9S!7M4CS)1|CliihYnS511#IfN0%7qJhcbTAm4O zpH`!Pb82*d9+b(s<=L1$+}^uz4~|X==MtZ**I=+=*GKoi5DcsECRRiqIC%h8TAEb; zhl+VNFB*OcekTVFM8l;*6fJ>F58gkCA5;nOBzR?Y0#$OrC8+hv7xEzKvi&9+N?gI_ za#tv{;Wqd>Y$c9CQ0#GXBtEC#CM2*Vi<(K4VKM@X_Dc@Vb~$NL=UCeK zFhZ*VWp zh0{xQzLJBtyUMZ#?}hmXN}#M%F!4s}$T<{Z_ z`jLZL6QRi-?o-3X!|`sZ2z&)H+<-G_4>>Fjf#@E8eiCAQ94Fzr?X1QPPpQ3MWXZu* z?iQ)$UUQ$79zi@<%1|06=!&Mq!yBj!G{^-nnd0ljrQ{olNI*<}LYjxXY5*sZS=C9@ zQ?&5ssCikdbFc^n=I-+vgLD-Gjcw~5s=<>lB;@Isv>veBYQ%uhY{JOc#Do_# z_FCq!0nYiu@`i97sHx%6bso^c>z5n|+~80YO54sB$mYt-3J+!2jIkBM^BLA?;xmtN zg~=5@=Try=0cU{Bp`prN(vkE+*00$xwXd1Fwx>mr1l}>)FYV3D5F{c*mdJoq7Bv^ZSvWu~cECXUPU!^oPZ5V(({ed|`3QLN8=N+joq|RB#~L{EJ|kkjSntwM&gx<)!67y>RIm z+M$%e!Fzmuj40xSh^x;L;FFo7J{?1FVMp*AXka3+OGhvb(&bfF70+lGQ(;dPWcFIf zWb6)#n9P$#t?cP#qqfl6=ruK3T;TlGAOqE4 z09FILsD_erP%H)-9lG9!&w||_!Dpwar~!23Yi;Dq#gV}0)zK5+ABM+O?S z@pW9mS|zB)P3L(KhSDFBppqhC3pQYKcnF4xNi)WCfHRh2SC)?rj{*NDaP}wJxhV7K zh#X`#u*&E{bF#qDtil|-W5g~qNl@}{Qflb=nN}k~}Xp-_|8*1ewhl-OyRMZaT z`LwCgD!5k&a~wcpu!SAfgx&dhWEd*zD1nUrl6QwiE3|n!(%(Hb2BHnx%Ayn;!z_c` znt^g|Z-i52zd%AM0T@Li7SPfo4tdTT0O#BR|NKA-i+2b!2mW*xW{xF7lEpYfC*qYL z5vg`9RdQf?LQFH!I3regtihnp3-xgZ_l`^nMqK(-VLr?WUqQ)23+fh!Q4M2;;xd`uiO>mCa5|u!5(uD=08PtpmP#;XSg*@lZN(yb=Ga)Av zryEpUrzQtkM(vv>SCODneM==vzMZ0}Ml|Ygj_QXl1PAly)`$uAE`R`dKjNPrzpsT6V|m;Jx|9uGyVw2W{YbU9!Il5x`JFpmt0|VQSf!6n&A5I?DWNJT!>KF$VdxJpLxhzX{12+p+K@U&nc6V zB$ME#R(F15X>n_Xz~{#2R)Qz0OB@h}m1PE9;n zF|sukDR!KMn{|B{d{ky-r`^i02suG6ZAERtWD`|okN5;T!bYYR5Ba@c?Be#+2S<7+ zxFg4e?6G0pv*SWi&Ao-_VfqpGD|_fbfm5#h-&OPBw8d&r%SQ6XvCK6b^Gvb*Y0n zBnmpWI)k1GAPL%u&mPc*rF!6VcXm@gc=2nS@&V_1>3)t!+gOdLKj;{i|ALrOFj}GzV5PQ*d75LX<=oPTTj=plF}Wq z9r=(3VKyvc!fDP}aBQgyZ$A$h6cknsE+0^wd)e@hnxk?duGm#K$Kv8tc zg2@%tQSI0qaUkR9juPw`0iez+if=RV8Kbk5RJl+75I8q{9nogW$t=?| zyJO>{4;IJnt&INblkj;sPQqFkytlm6wzyN1%N=Jl=!(NAH0>8JFQONmEY`C;Q&oVh z;gOh*Mv;d62jKia;B$PSzR(K2WhOrw?NDC;Pq1h^=!91m;VhCVIkg-cwneBy+t$F2IuuFsAz?|aN;}B-+*?`ZlE?>M+$i(XrwZ43V z5G(@$JR#tv8Se;w4qK8n$qvmjzzUg(lP`tLHieP+oZxKFhPszOwpQPNalmVBk5eep z^#R@b?z&)5*#b9^)}zr-%sOikjoC|g>k6MSXW-1&ZNG#)8{XPTRuOLQUaUz?wC}{k z)vt*lu#^K>N(q2(^x=?-eMHn{8o)6}a>&p#e2aYq-y$gU`j9tUf@m0wyURXMv4A&s zZq_?ir-CUh&L}aq4GkEja$M!hiwmy)aA}6&Uvy~PKqE_#Z4#;$|3pMVoIfl@WD#oT zNlOIqhk2`sgrUWx|1oe1+NZG4e(iJ8^<OZ%FKrd(eEMmd%7XX-v>bjF zoHNkI5?p9sS&IV)Bh!Fuh_i)WgVkoQ+qA69P zK$vtT4mZec!D{6>GQg39bdto{m0=xosK$~6$h8vZuazUwom0?NMg`8EMO28f>GYxm zeBWjGQV&AknN@FYpk-;napyW%?w?2XhWxqz>g|t0n{Z?!Job^db0v)8ak30NQrzD+ zLSOTD?bK&>CZ}qT_$yW?zDVaYZ^pZW^Ev#_vYp!Oyg>@x9XR1R|=)d64@1xV)+R8>W(s?}5 z&ErjGBBNOABev4bD>eRTst67_*C*46i<3Q62YZR&*I69iWDipJmIDHtG#rLAFc0Vf zlHk!AsRfhVWdm}4z8xFOb9)Z0+sB%4<_rzM=U@mBqa~0_K1r#Wk@>6ym}v|Is&cl3 z<#^p$G(sdQ@|@?ml@k*AUeIz-Nw$f4@-bSbSkQsANJx;z!s{p+RSXJJy!s+p9DK!` z17SGCpI`Glc)$O`XLv;^pyDtS$aA^-G@qa9K$L`ZA!AzY@gIhdbSHYFJ>8x&5}(yp zIB5kqbBstMT)H@vYk`Fld!*~h+SJpP8gBqP&7}kD3{m@u<+EhrR~}5@>TKU5`fl-&zVyUB`O0K&ByoK5^^;g$=xC#6OAX!Q<$aDYrgd6 z+$tma5|W*KO06TGZp`k^&2Fv|oQpHRk#A`>XmH>>vk~Wj&^z2sFVrz<2I91u;s;|d zfM}W*F4+JUqHDCDE~Z>KI+7$LBH{LGd5~u`6%JO=$-PMBF&FvrF^)X(Fnz2af9Hr=`atgL8rTeO&wGO zO>Am=lY`FS&-7-$QvGDmp(43Hf$xGG+S>UJNjMz}dD^to8YjO-e_fRe4eQZ{3HmBnjJTJZ_fDA7}W{&35r z!DrKwNAn~&TTtt+UW02cgHy!M2s6;3w42M?c&Y>C63nfHyxqa)Y{Uc%xd*XyUla?} zbl$pXIQmLJ$JS_tX!qa-4DZp;0qzG~4A^NvH0BANFkURN5j)eMqZoQHKW#lbg&%{B z;2xx2>#6}j7|v7%^dQ*$&q;FZ8mk75>=Ap`YQ~`kaA|J|KCfLIFv=w0QT@rEbKUuz zWtVj=*M6$?eK*}NHd;U1+qpT#VT8aa9WELqlWzn%fhnXE;7IYBk>LIMT<9d8;W|pB zJEn(z8EOAztn=G}#}3W;vDT;2Xq*LhEh4$evI zJXdfwu&Jp?v|tKXh^USGq4M}B!jM^wrPPsi{&-KtpT-M-k-~LXakh0iPZoWpUo=ND z$vP2<^4tF2mLW@gm?uZeZo{M*vVeS%b&6uT;v7zVrWvD`(c%oHX_=Bj2YD{|44g;x zC)ruonTJCoQY*{gEA#o#4|4|2Xcc_63W?9;*32*-Wq(0AV8{;xles~BMGh+4!x}^v zL$C|XfSV^3rqOG9d%z%JODKE$%GL(aMGi3>%gy|czFu6cn^ST4$nLDF2kJY4lz4~s zS*dF_0-bp0te`=O;Q3h|;!7<@2qf#X@aIHn|0RCpJjAv1UF1<@l?b}2=1X=|N_*nK z8pF=zC&@WyzvN(0aeVn$Y#bR#o2ztKx|Cv94fo?g5PsQ8U^&UNNzT9op^X`MA9Mc8 zA0|EnUYjMn*(xc6P6U6(<^EHAo?Un<#cp=kLEaz6=b?WV{`@ySkmS#I@EL_B2{a}K zn>8IK99o)Z>go4d|HILCbhkL7!xvrE4`R`OonLo{KNozCdg^kn%JTQLH z2KajfctYkqFP5BMyHnZ3!nbm#Ud3JsrSC4CA$1ELt)8j08DS3Af1Kbsx+`_kaw zKggfq^Uyz$=fvlgk$Z{HqfTxrp$(r#27nc(mdW%_Qe}}AsYG$)<&(+YA4l4qAsZzd z<-|`M7&14!9PgfZ^)4p2{G`$BqU72=S{woU-_G>&gmbK=e}l_Wb`WT-Aj<_942&&X z$@YPkY+lB!ievf47U;eBjCD)@aPDC%J`+VB2&FwTYYrWyB_W=LKmdqbnr~pa8s-GI zhEdkbey8+(uV4X*B4gM-vJniVc>EHgleG9DnMZrF3sA+Mi?1NgES3!zP}73X$}!|r zGvv7)3@`$a;l}t}O<)nuh>hYNnee&buWzrVZ1j|EKYWTnBg1Uv)#A-{9tK!bM(n$AHTme2R7((kPiGS=M{wspylc{^^ zGH#~$NZn5|Mgo(gA{cp5CAQ^-_juBH{M9*?ET+X~Nli*1i4AZj6*;)SViX%BJw;xv zte&E@A(q|KpW+NcQALXHJt8{VLS&75>>Ph!GHec<_k|I$!1~$T41kS=J z{_8&fk}ALV4LKW$&zxYzl2X4J5$Bz=sF@9%`KW&*z`5YF67Siy&heqo9pwEXa1Q@Q z3qJcVd>$M4Vs!fV#OLsJa|@`(+KirTx{eSMfpz%oLRhNsrIW$Mai;4JV;zo>bub@{ z{qOKO+FVSwsZad2-t*mjpDYpScEEwJ+ls(v!6R{Y&S%R2l$1IqYA^;2f(Y17U8v)$N6eqjfivH$b|$M(t&N6v0a?J|km1lgw(* z<$l1pZP>9e$s>my!4rFs^PHzHqGQYT>^~Wku(1FuU>9Wb=Uh^lxvA5aMv&1{S6eK0 zT*+?Id-?G8j4!%>aopaNU?2ft^>lmp_Vii7=Wt;ad{#0EpLMFyaa~MJ9w~%DZ#=kf zwB6SBwzOT^INs0r7cT_VvR}R(>&$@ix3ymQ9Q|D0_w4|*^PP9-K>$G;Z zTjDcq#g~pM=RsO*Jp#Z}=Z7AFR74A`BCZI7JCW}fpN}4V0H6I_z}G_=T+jjI1-DaQ zG+-)z*ch#toB^Hc)q4<|(0!|Oq_-8H$+NJLU4!ZrYpe7UY01fqy;CaO%_qNyd9zHO zPH6*Ufj-LhVz^PAk(eRk+4Mh~C}L9$PqcIUdZFMmi1tL*6qlfV7-;0pE+F~uMc|MB zF!9;yh!4&mZ9s<9IFd!}^a`J2?cNt04DwUbcko>G5mUyEfxOJ4-KD`c)NGOyKN z*`9a>d?rF>(rCqJcTRc>zj*84(D+wqPsqvsjr?t4xb5ZWKi}|a#3TUcsBtby-9E%{ zV_x}Nz?3vFX%$Rk#jp+r)&4s8Mj=AgUQ2vNn}M?oE|ndL&+6|geAXxfK0lc2S3yZp z!e>aum_lG^H05l}gs>f?xxRV5xVc(enp1r&?+9GOXOyyIas0~>C%-!up;L8_0i1uE z8xd_3H?#`Qn*h#SD+$pI1WyWQluiR@jv9uH=i;m|%!45&Vr6Yo%$AGZw^IN<_~95QI4P{kz8(Gj&z2Y6Wf`YZ=Ak9Ti@A4GHDsy zLvN7D9c^S_vV?@+aam{yaYTCH_2_B`UjfeR~T%dy9R$i?pgJMkZ^KSaMSQ^C67_L;Mfi z@=rvOM%zXAg9(7Jr+Jn6Vt1xn6s1RZL}aJJ|`rJhj~ z#; z&oqMsKKAjs_y4kL^=hP1Pj_|IQ_p^OC|@UnTFOZTR4W{}G>P1DuMnRxcHdj!Gh?=d zPY1A@Wua`BsLSdG3|B-*>;Y8i)}P$~FW9^HZ%{!c)EMdN$~r37vPeTY9kE!P$u1p`>Mkzb23|M}_aZ^h{X`2hQo1ilt|DUXjl>`(2;2yC`f4zyHP}Zf1#u zekxiMs6*B)*2tTZrwpRWgNp3&&~ep~1$geVL1`q7kp)sn83b6GMuIbx#-hm@fXh&4 zRvUXb7^zl@p9g2E7+|71z^nx#`y6RZkSWW0=xmyM(~>-k8KzhY8+M0?bnxxBFNw^= z6Af3_7WcO-zQMh>Rwp-C1SXkf31W_>o3Kp&P2bhs=x>FZii8PSgI$BiTHNEM7jVvj zSDnLWO>j8P*{pGgkj8e!1>=q6(ayRQT+RJRMA??BR7H z>q6WRH?_0)`#kwuzfJz^x18oii@Sx-nrW`6j>-7P@mUJt{Ik)CiA!_CrOz5dB8203hZS8{6iK z&^QoHe}>PeT2WUyark5{=#$lzDcCm`hHLxF3rD-#pBVD5R`)k1*QUf24K#-xjbR!u zT7pSNv}Ey>>ls5LHctH**{nshJPZe!Z8}R(V)R=lW-06)dequXc%KCim*5ZzEnU4d zBo-NohL2gzU5&tNGP;^C0*0oxAnKkq#o{7{$~K*_*B1d6R=K6Wpy)gHY=P+D-hKs& z;g4oGX#vih;4$?iVFjX8A}ViJ;7if#OlohRQ6TU@KB=ceJUF(15?LdnM2gPim|dYC zh%gaREVlN=meJ^WwNNwCL`_B%0j?3}nG&=d2T@foKfPf90$$q1?*0yXLysjL+Z2pP zPyEK!(MQI-$1ynBm;#y5o7Mg2G*#pf04fLFS`S0se>KR)BPrwZ>eLXQ@AqT9-;Le> zVf?}Ak=~IPE9<6hacQ}EORYY{NbO??bKJauKt$1U6Mf!k`HVod&9`$8*;1K5LL-#h z{P1=IzD@Cp# z!*TPOJ{&7f@rNR!RqN=w?ZDUacN`C)I$D&Ilcb^K8IQG`3&GEAak4pIYJJ28%HoP; zY6LzT9-EVasC0mivT^bxVL7js%Ar^3Wm#F!6;B;YhMipYcZ~KJ`9(Q#Z#gV=J2(}7 zk6mXPny%JkI;y)-JR&D|X{NO}jTVAvELt?aKuyYdPN*E@c@#k>cV6CT;Pb|e_!FhS z?b;m6O(i>kwK4^cLoxCH+b!`KE1<7(g?KNPe$E~x&_xOvoPjgH&!0;V_>BDmn%iR| z^(&43@0SL?4$gttgWpH-jfCjI?^lL@m>c-sUa@nVb()y_asSMj;Ln}uoHN>Q)zp=R z4KYv)Kx95zO8ggkUu!%;gU`=AIX(U8yNTQ1Pu#Zm_b*d@zcd8{+`rtoe`(@@YNBey z5iz)pE;patm>Us)J9DtJc=UYr)2qdUUAm|M1AZ&wiRk^P-@7^qQCV|^sm7MdcClCK zv43Go7!^LoE$&XBG{@hx3ZbnKF;sBcYpzK%1&D#2AS@ z_``EeSQOS)@zzxn+({Kf>am}>jlQkS|^6MAGVcIWC&U2sG4Xe5x||` z%mDe>{!2rVOt*LNMs+)*l;_b51kt8>;KSRhQLbfp&I7H6K`=_A&P+4vMRo^(v% zu_h|uU=e|ht(~=jr5WYjaxf%5o2S1H^jse773bq!3j#UUc=F@ugYlQE%ZK~W(x^76 zgC6t3z1)!mRHXQi_@Qq1bMrl6xdLZ>P7I00evx!m_O}{YoUzR=d}e$=He!Y5B+^L_ zkL1hPfft#iinz|_*H^-fWq657JFA=RxPFRfh*mhjdW@!ieAGpk-jC101uG8*19t4V)n}>6W#@$E5 zCW44cv0QO1QGP+WgXe2F49S|m^)t);5}%VESd~0Ap+H%=yj7!16*!wXP*;LH3x3{? z#JXzaeCwne{DUVfO_AI&DERDo`Kr`ghR<ND7sVQKc&ySJ8pxmtZMDl@b2*dgbuBiYr`HxH`K#vsN9Q>uNB9 zt1xCE9-3Qbz zlTV=>M!Nh=WtP=!yoW#o4NJu6U!L`Lvk`;?=hk=INa0cmhp6y@ddK9qGsrunCR z)1LwEam)gWu4NIn@WF{9(+OB~z6CD=D0zId$!hX+dgNZ?>7|heg7mJ{9?!qsk);x$ zViIpTNf)OiPMV2nwpd?0K9+I}oIRk=Yi=f+2TZ}!1_3}gY!Q2jwO81J&*dkECGAUa zONjXe@LdE->y|_+kV^%^nc?&F$_&pV_KSEpX4ZzNEgfRYSD2h9{yZ4?PHeygA^?#~ zA%vnnAc+TIwzH3t5C%$nFX7JMuT&-)B&slT_?$u*R$)oGET&T@fWZMgb7St_oVr-?vur;?w?T+bg^T3 z{mw~V*%2$oUKlBEE1`C!vNAQx$6`5yO2GWuF`*5Y9j{VumCubUu zPL1`R8S9Od!_i*p+gHaP+@Bh0K4;|a%Nf^}K0Ff)Z#QSioF!lMXLs{M->A=F7swJn z7DDvVJF=w4vyZ}6ycaCsy>r`3s31CI?BRH6R2EB+QG#0qXYt-aboa0)4`yS5npv7D zmaXs~D`rGiYlf31!d50rHZffUSk;5;3p0z`>y+4{i$=w>2)+CCR)L5ZMQbw#t;ND+ zQ#Q2XK%|f?VoSl;cL}M8=jGX7Yu9Ya-pJ0;|2~#eqarXlM@*0y;iYy{h0hfcI)=|) zsMRo+zlA-~EC(nwdJk{}4|qY|W4ev_#No5^#3lBl{Zh>-p=3-9V*p^7Z+_)HGRK&ie1bM57tjCl)ic!~3xP3pW0NdTt=_CVl&3ba z(6s0ax#2$&s4sR-W7(x~XQFv!RJc^_RGk&n{a?iA=H^PkNAW%E$oxb4#(&J8 zD}0_=9){1khJFj5Rm$?n@e)^KYj_jW1j)ez(~KxPY1Z~OZp=?8$sQW!V2{e2cjjvX zI~U#s?^4B!n-yVpk^Y66V+3~v@)SP;d@jpD%2r`>MYd@;WoAo7HLItMhvr}I49~U{ zt2B~LL(q!GGl;aP_8h7*f{NosSfJo`f>=kM{3brKWE#Zkh;W0Y}C%9}v<~;#$L}<5IFD!b43zDLWv0aAu~u zMl!inKJNrOg=atdp>#{aa<}@I_zbVCU#12-K^TBm#zQ-xDDk;}E2Kr&aWx?sR)Ljw zJM?GE2Zj%Dh+6$SVJ0&`7?R{Zj3!m|M>4c*aCUCc|Qbaip#S zIU-hp5`?U``QEIXJ>vsHN>o?c>`N8l*? z+6#IIU@axc7=#JGf5GPpp!`=~nIK%x>3#M(xI58o_{{lL^4&skb^~DQL38L3Sj1?&;?b+rfdq}eP1`ieyp-Bs=+gDdih5ocGqW?X4bfq zUcX>c<-ALk!;JP)G)oDglF-MEn~^r6A^|dq2{KpB?q)`{DpDB8e+!?5{E_uw$LqIm zv1qf575Q{2%(@WaD~bDSCkbVV&tsdl@#(w#eNgwS&cVtv*w&vrjzW9IHs+oP_)#6j z1-tP%Xmgp@2@x^D^S^6Rh*D&lrN7JtdYaV}j(y@kdOTTEj2-@ni`!&LeflWUG7OL+ z-{m!{V|C@cxa((&hgy#XohJ@ObSV}hke9bB?3rB8nL@Q|8-`u^W$E}sn2Sso;)YF) z?bPbzz4Yx;dku-rD*ZfbXf`xPs&igvX0#9Z2|TfgdqBSe(I{5(9LM51mmAe?@tG2P zldd}FMfnL-Hwe4`N{?}bWs&NTTMPb(UE!UHoZn6r^xUo@-*0x&xA0laTgi-zt>wOj z&mqAH$ibY;#>Z=i>gB!_WoM@AVQ>7Q0){*DGJ_Bs)Dcm^yZkB%xvx$wW#j0zFl`gWiJqBHu% zm9r&2QzZD;N*Iq(z%F>lRlz)DJF_O@W=`3b(E8cKTJgU|{pAdrh@Z$IbO*YVZaWBKYKMwU?8-IFj=#h%AY{tZAcm<-V z&FO>4VdKRmK6{)L$zhj>!Q`1DA4)`bNaAD-(iv2YrNkQ-*g$jJnzPZ&>rYkz)f!*e z!eHg_W&QaI{Q*SBSCp3E9GFbZNhiosi=IQTBOSZA@lfcQuu(o@Gc-1z@{MMVGV)#l zbS)-TWW;FRNO}e%&?Vx@Io-m7@T9rW`)|&#+~_2iP6(ri`EZ#Jk;=Uo5u}xCAWwKz zY-hH7up3f9$3OTN^=Cnk>Zriyw+HWG4(>JgVmtZs|9|kgjhP*1Q;gf?*h-r?YkTqa^G_Jnds2uEBpb>Ltr3FYGgIkIPoojjvCWz4vJ)m5Is`CJo(xnfU>!8~z zKvM#+QoPxKkwVxZgy|Fx%}`x6HCWbW@if16sbuW%SwxDuqgF}tOPCo&!b@@P89|5n z#bn0Hyf2heaXhWQw?^WirAHKfNsv!*DbF)y-miihsbj-nUsQuPq@D^K^2E=fL{{1_ z`pMgO5qCizf8BVu`Tfux;ntcxd@qjlvTa{|cyaJ?|IG(-YecHMNnM@MBjjt#3fY0a zBsRv)yQNs7jgZ)n?*)kSr5^mzQX~8D5DoEosqRb;{91o3 zv`Gc9(EaKUbBBw_nQh*;*`+NnqctDdNXSw1VNFJSY&Spr$c`5>oaXGnNTcQ->yk}4@@qJQH8yPn#36($cn3iAgltOM%iB7Tc>*qcd>9=HDrZr zL^B*f|5Km%2O~eF>>xnv@WZs1qe@!{JK!)1&pN@PIU8c3;Tm|k=81A_7&cm(3~-wk zO|k$JF#j<#Xl8O*TLl^BZE_* zRX}tp{st$-EFnng8w%zNq645ox7ry|q4Al@lUqwua-~Z!u;Ibtwjx6?(q;IJ=35AP zY?-mQ1>X$#jBfQ?gCvgjo50w^xg4`Q7W!ymxf_-mZjjCROnmm}S;+_NgbV&CShwZ_ z5Fk_+yR*?@%HD{uonR~eBr_TugId^D{=MXZ=dzPnj+)y@Q;~a7bS}=IL9i4*GfK^P zju4I#JOCSYb>ef{K{{4H-(MIfl_(UyQS^T(%>WEJtAo$M!~`TO2)RAa$PI;aDTX}= z3X)J30y?T)S};1=uUHGI^c?p&Pc1rt&Xgpi`!HguUcJ4=dsm}`HN2(t3eRT17U4(~ z!e^UZ|70czUB$FTI~8O1j1@RIA!`J4j!mFQ#37}E!DmN%jr}#4e7gQn!LGlJ+*S=n zI_kyYJ0pv=XYb9aw+cQN=GJD>At;pwpLI0^aR1&B+X^@f43jg9fd|7}o9>;fokZsR zN%l#C7;v_nxhrqEtQsM_*LLOuoLf&i_0oesN3(f-^ZtcaZ@W3yx)^ox>Ie0+o?+!9&!=;Odh&75Nyrq{QQ}` ztw5zx)@I}73xN$@ff6fp#YE-`F)B1Zd6M}2unV8fg23mpQ;+a<6m(zZ1Nv~mK;TT` z0NTLKXiV*kPBk{);Gj=y&XiB*uc0n+Og%1rZUCrVKz=dK4Gd`uQWSAQvP_N^Cwzjm zO&CtVjJ7d{Tygqn1}ZY6E(F(eVsGLzlA~p0i-`}2C?sYUa4w!ox(Pe!H9+V@9i;jZ z5yg1B&5tZLh&}W!Eloc#68k-6{RUwY;*PF3wB>+`h5j|${SDh$=f&Bf_U>Pid@>;G#^bF!7ZZWyb+ygwt7r}DcMt~ z9)@4xfRi3M5!-V>o6)`XY8#uymIP3FI*x*k^hRc%=}E#Bsx3XLw6bqn!Mcm1_Z~=XdB3Gke5tpht zyp6~c5Dm?QI07FxX@YZ$eD0qvE>ZD{q-46qlIN3R2I#kBjgP^t_TL`8vaeQbIy~vd zqF6eJrf)Bya^vA8X}7Bo}y0-Z#E8`QmT)U)XBUo@M$3^D)0L zPj?O;xyZc&4aY+yh~aAAeTJ#TXTU^M|W~IPCC}n0 z2}v#84Y4j~AeNaC4HL8aa1M(9^jGFWI1AQd&lIAxC5A%P#^>_j?QwqcZGI#8SzSRb z`ot|QOo|1{0ChRDc$#iE#XMs`aa14-kI&azc6*7h8{28s7WXT@N(YD`uT-3I5*lX@2jn+XWtB6H!xfq#xx880`ws1Wb3;6Pz+ z-9K+H>m}s-(Pm5Y$hrvA^X>pIy$ckCFT1F_;hQ@$17DeRIW{bI$6AgSKQt0Je0eeG zW9%>8>$bVZa5nG@p9K%t-%xI#fC{*$@WsnwufZID4(_UaWPfNBxh1OU%<4Qo9Kd_% zp<|;B+)}|14W7_35KA}gGv=38K3pnG1G?nl93r6m=z}n^vQg(dCjei=$25@G-N*>3 z_~9_wOb{rP_?*y(ZN}iy`DLas{rHJI>FoY`MuX^8eQRQN_ka7myxHz`846+A6DzIl z*W2>P!Cm4r$n>Vd3 zAM7axH{Zo3j3xJn=BA1)aAv%eN=omN>!oAkzdZ{|*TLtQziX3= zFIK6nho4>_y04F~;q!yZK`~3QYi9vx_#EPMhd(DcpP9T@T5pxl)y}Sk*x3rNrgbRI zszc-Rg{Fs|i?5tMD#Xl z_Pi!<+4mtK5{QJGCNk&POXg50#3!RYilqopQ6Wk!^tx8|3~CR*n7=ue+Q%A#dM_d+;iB?K{RvgJd1qe*k7#_cm&!DVCb;eA@pSRUoeEj?Pd<>cMzmvm1 z)SAD|?$kcx^H%e#`25AAbs*Y6)mYq|&XLVp@Y&j`{-+20e4P`3tkV)d^O)l&=XI{{ zFa(~kl7O?f0~`XJJNS(J2!W>64=zL&c8-nqi|G0;7f*cVqqMLp_A4>pPvmS;?Kn_? z45~&eh>I)%-Z`ly9ATQW4)Kwi}#Jo|`g-A_hcju4btq zM+>XA?mwBWOKE2ea@n9LgxO<$?UUV=ueckZ4MOlky?*4rYwR779+oViZc71M+LmSb3^lflNMZu8E(i5pV@pL6^ z!3wCarGm;L=SK_jECnW87mNOG$@8GK3k{|XGtG3fuB8F!*s=A($_qp9@I4=p{e@F4WQw9UHV?9S zJx7LS3`7@|i+>BB&B3B_%+gZu2a9`Z$Q6H%tRfEUVgNpz8DqKCh$h?WqB{U+8Q~4l^!tEB?iP+tjt&qnL6Q2c;u!bNNyyBriGFd}W4~Lq%wM0$j z|3acvS|)l}YXY2u6-4kr^5>+`3C^&cF9v7;)bvi$1_82}4sh%?1s*vcBP<}~O`*E) z)}L)Cbc6Xs&92u`>r7MVjI%OOt~jsLL77CQ8+)st96NzsK&)z^QWil~44bf02`|)0 zjeKo2vCli*KR$Jpx z8m71CVx>H&wV5cv(W4t<5|!XRM{hx&kWJvTvN>hZ3jIXiYSt`j5{Iw)|B?A3i~Jk- ztTdtwsUIfp;jWTZ1$bCQfeiZ;1%l7ux&mjps0Ew@&9pCo>uUqvbVz&#&NDj;LNx?? z?|%w^rR}Khj>l#|Tz)z>Rw6?NQ=^MX`&x`^=s(tfK3rd7Y z9Yp0@Phr@hlHA@(msrk_Sg*q?*66*a9z~j%Z>+l2FIwTxo-xq4tAzu4rAZc`61#|H z)YvxTa(D|p%}G}lxDU_XzOt`bV{vwPPGz|%6DRRGYSjEme72@b{UdSUz_jat=#IVt zp9yp(ojtA0L8xd!Pn1rG#-fFG;0FF%esX~S(C0}#Mkd}H5M6|5AP^(`y#GwCc8o;vxaA`5m~qH!w# z&mu^BH{iNBl5i^Kxz)!5#(Gi24VMzCWYxeiik~vFT7Wa`rH#O66xx*MVJy*l@EO#+ zXO_Yuzcm_J^meV%$SJt4Sw`!ovbq8XWj4?q_0Mfl8k90}8NS-`w|PXxlYT=p74Lz$ z-ZS0uNt3UJ3|L-byyCKb?PqZAjNxwnJZeLY^(ouQQCZ1=BG80(00D{TRvGwg>7go1 z4l=m{3d%L}UHI?#?vj;}A_1J;j8Opr*rC*H0R~92RWc@~ueKDTd@inFoiaqb>#+-M z(SHO+riCJl;o<1xo1=Z#T7&1tA7Rc?$g}Yhwp-)D`Kd?W*Y18le(yr-(V4+J;@l`C z-cjI;!TI5x_#*f=y|eB$ffo$WBHoS9-93==y6rv5r`wt%c)|(~Wz8bm#0K=A-rAh^ zmyvrvj`twLry6$ypBwis*6&*mkAhw1u71PEN~mFU<@MlWK+2 zId-px&*q5ONID5ePp*lU#kAv!!V>A~@Okaow$k7DhN0z!3aDm~ig+<|+Z|;jl!{ET z7L+09DBt08E21&&LX&c$p-hy+m^+1ym%3z8tBu>*5X}+dp$ub#O$>lhC&@iy*E?>+ z@W=<-`ShL(o8Lde@Uq%!XKaW0(`nx-zG1fl0j}08_haG1pCet`nt1pgIf*!YSNoIt z#>i%~xjxh!IX^e>PbEgH)-6OY4*%n1qi+n2{W7&VTH9#GmMX|y| zNFUZkgnI8i`M=M^JNi=4IQC!ArvXE->|NVBL^cHH5gtYIvT_-ml0mj#Jy*OvA=;Ym zb$A!%S4{0fmGiO{=Hw5(Bk~k6nV=Dx)!{1voC(pe8oPtHY;cA0xS?Std^U3nt%_U9 zdt>=V|12~xXV$uj$={{o7<#r! zRKe9nk}&W^G7Bb2znG&S6K*)TExH3<;R96@m{c`c3?v#y^S7A)ZHRVnf(FxL_*d{b zVzXCU8zq;4Kw;))nt-5dTAZI$_-ru88|>h7Af8dNImbw$j)F2Zd7!b61#K3R!JYeI zPqzbb?8x7;k+p#6rD^3-pY81y{^n64rug;Vv&E&kn|*gBeViYApt45=&Q3n#bNwM? z2GPJ-`s$6zA?{S!ZDldV^dk&XZur#JDrL-a87}N{t8O^%Imc=_b~CPSd=}+m;idx! z7Q){|^$1Z@L*{y;@8a0qbM+pC`TJ(z^H0sYmnUvsuV1~{xN@U$?P~Md&&?a)8bqIM z#RtBH&)kKH&u7OTTpa6@5b?Yal7wiFU@p{`<|=2mDUc|gBQTHO!e`*jnCfn9fyUNc z*^9)Y8MU79XOoNFn$3)6_eHV9h*cKA`rhcGEf^0Z5yLFrX?9}?u+*h7Yl;`OGD%FI zb}L=&^CqT-JaZ4xqT##;NhzCJl8tnki%U*JQUl>ak*SKFr~OV9LQ~fXo{xGi7pZQ86O&m!H6Aufxa@+8X%W zRlTjk=UjOcpD{_EDXh|jGOn;VDB)cjkR@>I!1ub8agOL}iO*(YKnMTD#*`{0P^DB* zKPY0a>3Ib6xvO$6@S|Zqgt>hR;g@`PG4L;+O+59Ab%gII7@O5r1#%c*pK!>m?YX^w_v-~-cDpsYn$(;|_ICJt7 z_fw?%Ek)9zmC?IChR@maxhx`?zC8*<*b1}VVnfW*zMpvTuZbSutT?$H z2k2w*?Xf40E5t?6!tMQM%oc6}`$n1miO=ohm&lw%rLr{=r7a@lFH(=tdU0O{k6mdV zuQtVv{8+n3**I12A!tD0pX+z7k6n9WgXOUwAJ=~Fsb9W2apkARZ|7P!&NOfRTYOe3 z!R|9Z)t+7+eLA=Qj3$#NDl1i}4@c+pp4}uD6Pz6jxCL!aD09-L&DBX^eO_qRA5(~I zWT7rm#V+1<42QQGD+%{7bW=U!90W?lI*vl>tM_8YS(i(wWF+chuykO#241wKR!D}L z-uP8UT<4wSF=t2nSVXOyXlTC@I*P1fHI=@>KNv2dve~YHD-FHLmMc+A1eVsDNM2ya z8TM5ouwjYk!&SdEL3}&o_lvGbo#z|+MmK+!!9m{;oF=(L=Tjryzf1i;;m;vSmB>1X zYE1qcOzze?I`|v}rPPOEz`|!M)E~rWv{^Uu*kU_~nXa%#Q!sQ6SB`S)q7WmXdT~Zg zOF$i>eFvX8P)uqN3WswMPn0m5j^VSlUi6VQ7xPgxMo=+R-L3kGYG8oQ@L=#d=8*Ud z&N3Of$u?)h^b0%>;$(0-;oyjXtK160{IGmi}0Y%c33s@${1l)QsQrjKTd5!*RN|1dRx`KP3*bA}qxK495&`MEZ+Js#rI^yt^pR;pySH@B%J|oZAi@cQx9sl$pB4>(i z$YS-PacR3GaPGKI8Raq;?oN$~qKRCjms=7%0cml+0#)A}ESjxtjj$`?ug(5n=SIK9 zpMyD%-MceAu=qMQrS+HU+bpH-D~5wdq;k)kDQ+zJv}~l;Ysbsp7BdJ zCNBTl3L<@>9%TDl`i5;Uv`B2J^tP#Md2{IHrfc9~=K^ZgaT45fwK6ioRjN>c(fw z^zY+yj`p0(W-fF!h55766pgtb5pf?Bd6?Q>V~r}+4V65_)LOE)DZ^S1uKl71!JTo`mcdXg;o`cY9Vw#rXGQ`<3tNa z(eb9a!)i70_)~kE)&<+r@vi|x(h5TlxkW9+$3lJ&>nXZBC-3>>EH;Lt6)%#%5*Q#S zj{i%nfH|#c@oH)PZW+uu%BuGkpet`$mJ@;>aUU z_b>&lag={=-~IxUO3Zh`RMtUGE`R=3a-=wph^>l}8Y-&T%}{BVGlTaKXUQ$kNr42_EX>3rQ74bUa8&wsd4W-m7^)#t{qv|7N3QGC6O%nOj8Vma>jUMYN(H=27~#EE0>?&iiL_YKpT_ z-$vpOS-@*WkUXOc#>&orQIu^b!GFpGar8ssBJ3%QrL4aZldLPeYf6tu7Qb8pE8YHST82^?n^N7xA1&_oca8$IZ92+plZ-IlQ z6Gvjk;%@=bUHDwZ=|vZ%RZr;9w{)k=c}#{)Q=VunpIx{F7?;By7e6+QZ`57)ZTjnBl5U+TB|hOadSeqI_pyE1fYX82TV_{{9c+3Df) zwUG;tM}N9ryLqYp1wLn9VfqRye2(m!dWrNNxqq$xboT8t4hzE%`eaoBh(z(jY}xzn z5Ja~zxgc|835IpU##DWGe^b;kho*P;u|yPyh#2BVY~_iON_q;m>|qNgCo^x)tahAp zsKnly53qxzZW&z?$!$IC#&Y3ySI3|@kuwps`v^4tZR`Gg2}lh){bVazXykTrgyrw! zq~wO}A0EgwL4@2k-(`T?F@2*;5CCi7%N}s>`A~tz5cl4096VDbXLQqikLc)Q5Pb}v zgWha3v_#ZL>l2MohR+NR|9G=@{de%W_y;2?G7}`329jKUn;g0_*2nrF zTV>iH=|`t=)0i)c!m--IB~cQk)5q=TzaG#^WTGjNLG{7`3Vwzwzl={YLXo*iF@Ver zx&UV(Ol7oSL_v)@!zSKfIqx8LJ9Io|ifBv|>gA@8Kd$Yt0lOM0k4Ncb6QuNS8-GXD zJos0e!XTPoITFYCFC2yYids;w2f}+~w01!S8Z%q-~zlF~TmHC1=iFq@RvLDP%LY5E< zPGJ*AHwIjE(5V_2yk-UfqVG89PBt6dNjGp^kVG8;meuu2iY3O*~i#Bq$x z$}0@WeX|o3+A#B`I-hr9RAaLQ4fyOPL4-0a6T3^voW0OLh|g{e{&P}m@S(WNqnsE2 zH69+*zYGcAW!58&P}(`N3bflyrp%Yb&yz>s459@jn3DPjL}&l->9AXYn~9m%Nr=w% z5oR9qp5&EdD6UQ?K6^V+_UG05=u#uxtnXhGeCGWO*DZ)co|W}TaK@a0Gb(H66ciUT zBTFVe$I4PX`xfQYH@r9z(dtIJh&PD&=wZ}n>Dj6beL%z*7r3R9Ibpq^VmM2)ja^Ov zEZIaUhTh3x*@)sgPhB1$G!mz*)eR&TlVmcJZKViGEi}_~@1H4T#R7 zlx3+(eFH?NvY|r~oOuVh$=qHDl1Fc$%Jj=Mi^7%3{?nteCq?MbC9;nAOkut;aiwqU zm&VX9GeehJBR|cI{J7YEX0`wH{NN8`L+5V)QG6~aU3(xLMXz3IJc(s!c2s38DJnpZ zBhM@-kxn1o9%;h{namN%@_V^uOdWSD#}?+J#4!Ih99Cr)YUc zgWvl~`fV|a0zSq1h#J2X`%WZDoD}IM@6g(W85%RB9_trn>@VVT-$wl}@@Kmc{&jpt zY^>(+*}5ZQ=XdZ~hk&VE&3(9d+@e+$S1{H5QGUfF^xd@P8_K}iKyuk1MlA4 zCj}cg=SpE%YH^3f{>>wtjIy!Y%M86^{Mn7gm@gH#d<9s>!-L6xcnPI}rxSNY?ZKKOnHHBP7wK4dNx_B1P*f&4nuM#a2pSvMC zFX&s`AvGZ5=sfuROEGCRKx$3Fin$xSZhP9grDV=wGj7lJEY*H(J(U=uTIS4q>3gvc zyC;oVY`H|RIj6SfnFel&!~vgaCZ0}O1XrVV(0Blw5QE{6tQ*cd@my}+ul%8CJvgH| z*Qh0EeAZB6lS&u~6tw}tn_WJgFj7i-V>N_ewWphUwz&R&*H$vbb0$E6=;&KLQ;9$R z8(m=|r`6aD7xJ6zoY!`#SUPx#y4$i%$xx|+ootlQlYea9z0|sOx$)bz`foRC*Y4D= z+^b!FI{r(u|Lju#sg?fkmCCs@_S?@BT!eQ)y3`eaMT^$jvCzl%R<5$w8xJqlAKEkS z&cfK>^94>r?}EoO>bFEafkVzvn?p^n%!zeTnM$`9MHYHvSa%^mIbTZ5QtX(M(MQ0x zvQHC`lQVY%a=hO%8QaG$K_GtB-MT;4IX5!@_gakkQY|WvRB zJw?iwpc4WBH0d!SZ#Zw*^QNUoLF%+wswVL3bLJ4sy(sgGySVf z^^PfeOy79C*{JW<=jIt(=l`s}Q5*VRiucrJGoOLHWHkM$)~=bDimnI>%$ZWeH)LFytugC?WO=8?LtA<+|Mf%A4a6*kK{7v} zOb0k8B9sz`=^u-D3BNb*H0CqspiF-p3_ho^Y|w%Zzz%c#EiN6!ua~g@?v}HreM=0|)hJ*ka?i94k9>h>qttZ9 zIfG1ETneE*Mxi}j8g&R1-Hvpnfy`VIj&4Teu!%T_?OB^kvczKt z@QKHZAK58^pNY@yk9i{-vzA5cjtxOF;RRe9Ilc&tc>4-Et$lnY)02b1eY(ShXa*M< zYCX)K2%f=evK7`HCC&^XFH3^+d-R`Rd*a{7f{kQsgIf*gw zwe|&ifB7f>m0uZJNJ8=iN9tA-5|rb{qrEzf2SzdNB60AmMzbHv$4IvkxGUKQTytnT z**oNjq=cC8vVpws*f~W5)PDt^2e(_zzlP7#Tcq#*9G{_qQbiR$Td6&cg7B(y1fF-G z462xJ{u{h8XfrA7tsqj=wBWO(&3!z|qF?FBKAhvEB0qt0%Pjz2Hu!$;Iz}Bu1=3<- zkge_XS!v=$;)sM^fLSPqHah{o5P)ROn)Zi5v9_1^I51crh{$alOxXBuq3MFYqWGi` z`|#neJPTqE)>yvos(P;OlWu&raKmRF?Fyew`9wvJBOlg9+_0}J`@(>`A!*ipbB?|3Xg=FEyAp5I*r4e_qNd zkrSe!bT*^KMdXKC<^ugoWPlr6e7ARb{OQHU6Z&vBK1V8d>+Vm@z~{45H-4D9C09kn z-G%0@TlMP$gXd=YPm8enqx?C`C6!~T-H{bMdjCFt(_Ww7P2T_4=$$7Eb^4WI<}G(z zZDi>PCUk_@7`48lfq3;ifby_-C=e>4K~`{FBB~je7CG9T#E`&h*+yT0ZOQ5A^r4rY zUD|yNus!B?>-;xkcmKDK8GW(&@%iqjmxGJr@**P~PQ3m0GIR3zq1v`+KrG}@woFuW z?22NikN8KX_H%JLd5pZWqxdfg8IGb23^fE6jUu=oOxYw zo)FwV;>`FbQpy`esaEF8x42L64)lE9OoZV`HN;>T`T+E12w-TC89uA-h1;9IsZah{ ze0F_zZm0wd7I3z4i4#9}S++SA?V$qh%4c9m-&#utK3Q(4qfReUyOLTc6m8PZ%d1m- zXO2D`ol}lgFVR@q6liHmx5$+iXlDvzm6pE}3iS@D09>H2{dMcpS!2ZQfhLcs8+r4~ z)PCo6AkRj-l>!fe&lrV)9lPB6_6|PZS*jt=XUFf$zwTXXJ&P6ah^}JAjF;HKXOO~> zp;UOk9^Y-N!{F7!6AR+?;Rlz7O6uRM4L|b9V83=KD78>-&DZX(H0=rQ#z2sgt*W|3 z?GZa%m%Is)9&0Z)yuqQFnn&=ARw6B7BmiV1b}v=tcr#6T1PX-4W|)_GQHLoo9XrP>C41BE_4b?aYKx4*0Rs%7_c z31(ZxR$VG{b z7??ol*sv4>Qvu-U^}&0%{pQ^}wSXbD2BMMb@G2J1;2*)~kn(`@=ET#@hUTQTGd@%B z+1pxZCFI1muua#cf7_ z>qmUdti(v!Zo-NA{;0}4L10-k*O0ONTe2t2fxwafMN+m|^HK{r1o)8I&U7VEKl}o0 z=Wq)i>>rnJ+)vqO#h0-rl}8X?n6a^>|^jZ*l7B>fGS^f|3{6 zQsoFnE%3WjCR(Cdlso$)?aO|y`n+vAbqq8^G+WS>ldZTaz|o&*W$gf8ra%UJjMy`- ziXWqXn0-Q_R84=jCS%dq4(>rBh0YP39nmc41Q6qA@kp8I&gi`tzviXwr`;>MFQ{&VnLxzlgNc!nzH4k zd8$LEw%5q-{LAJ$TiXZ7nD}-S=-yZa!c{ADH@q0I5tk-WLQc*^$V?t-9XITd+?bxkVX9h~IPQ!K>!U-9o!5 zbr^~y?uF+oh!z;pIl`{AZ{ahV2Xg?vyTV)Gm<}P%lPl$P6Z#@?qr`seaASt1A%Fx+ z48LIq>)Pniu`Vl{(Fcgqxv~(EoLIu57QxYeB6D@jC-s>8k4UdR6lsi0!)KG1EIALK+FDBGfLn33_rNajn)Dn$*Y2}mLRty1rTJcRQGJ;C|Qg@ zBhNpLJ}9-n4kd7*c5Qs#6rMDxFbma}+D`^|lQ}otCv(O+NR%crU$nn)tN+K@;h&}k zC-ygNCaw&f4oCCkfIoT2&CO;5y1a=Z1q5 z4}Pxo+!+7u@z}-j(Nj~S|I%vXryh-8xYo2Y*NMvfT{?3G)D<{qy=Z?0*e^AraZO&H zAH2EQy1zX`{O7qAnLt&8(6N=z;k)3{?W#CYB!Pi%!zNAQ;k*sAUTjV1F2%c6=QI1s zu?nA#A(SB*8^omVbmOy|PxLT7 zeTFy6a?ElsTqA<pd;*_M z$!z`04ay$d(^37mQW-LGcEZu~;kC3i5FL5bbCdG2`T9%jD4rWdBaNXfv+Of5_dCs8 z7Ty`_S>#YhO?YWaxFs%R=AxIr3n8!YS&U`kGf0PrB06Bc6@gCcEu@MY^s@AAH6CKx zDoy-0BI*gMGNbu`hNdT0Uv8CXr4Tj~pIsKRMLn6V@C^QYe6|@kKGw$PFrX@Yeo(6Y z18^5HRKOjECQ1rYxfz7bz)m6>t7He9%Sjk+L10#z0*09$yS8|K``o>8Sqgh#ZdAw| za8w@FkurdpizQAnIla3kKbKC648mtmO01C2(tNfi-yB3g-HIS;GgS9-ZI?ClgKTRB zOZ7hrA;mb$5fGoP4m8`uXHtxN765jE_+0C=xrsE8@VR_E@TI}?!+q1n=lOkW=-Y_t zD*fr`1qm}SUx+-?3F#Zcr$O}TkzPqCG-s|xu?p_fXc0|eQxCE##WlKDD;xKaT)22} zNXfrOk?u7Bs;>AdXn-0w=FNHv)0rwxbpg?H8}pI16q{EveF@rcEN$W{?{L76J@~Qt z^y1{xQ)9MAi4<(DyFiowTBLHr?yI%CkH)Tyj9zGs1UOHRe-E7dCj{4By3+a!_?%H3 z^@lcUxwqB2zcU2~yaLE01w*hs(}vk@y9Y;2|5#EfGZ>MLUZ9Oe^i$kKvX4@Dxm&1L zrm4Oqfm%v68;~8!OCFI_CFsZ)&~mDF_ife5`m>DTAloO~S6@MylCdN9u~wGjw(sfR zpF{Eve|BTv!so0b5qG=X!gE+dV#f4}aw3SzZxc`CIz>YL#N%sYeLBGkSNbh>$5B_L z++l1_8OwcV9r@}>@T?=ZfTb%(N3~&%lAyLz^z7U=u zPm%mN^l-bzzkk74roNiUu9o8S@AwC~M8Ad4$)CMn}W(cNMHI?)p{z zhdl9?AFM^*Q;FG*v<}(Oa##ee&}1atd=;NdUY;ET1E~2ECI1SImH}r#!gf9{%UK}p z$2Xu)SRj%g+I6Y(S&DZtCBnfpI#Z__8L`BTR|oH3@x^`mgkGYZ(Jf^sEQ9C5&|MI% zDyB_N5jlj-P9>&!h0kLflbnnKZmpppRDZ_1DEKUGocQluct8s=h`un`b7{N}K3^EP zch_(`ikx>LC9|7LR)2;7K_l@wUG1DWg796L9mjNvq19QZ;)}Y*b9L^{jpt0RdAd|L zz&sQtPYe%_aLF_;eu_`l&}+5FwxGS#d}5=+Gh_FDYW1aOFpsH1+e1+B+m+gb-^O~c zkM#78-l&b9pBedKcKEy5(Nm4_vxBt@Jr4D5f$`ZzoQ(HC4M~h4-dpbMWfB%l$nkJrM&j`&% zB0<8b1b7P{MAdXY8Y8|ssws8|RRsl3VxsBiKO%$VXTl5*vnX3PME`qCjz8?QKZehS zLE7NP28)tAru~-1D1Lk+1@%JX$%V;&!Ws(>$1~bX>~z8B?bSby&oRI};QFMA9CLZ4 zF|sky+!}s5bfGn%1jj$xt^c1({r^l~VbtXq2+myE56gqm76(qxJvrALx;DK$L109f z%c?gCD01TD2(RXTplBzMI7EY`mOx+SVoWP>s7$Pguy-0i6e7OUTJP3R)ErPfRlGwXY5cAiiDhPF} z)opj5d<&mpV<>xN_2D4Xjg$?WCL1uZBA2Ij@v4RQywl=`5urNM+*{lG^pWpXKWKyt zF(>?+12eU>J@c5oY88Mg9sxf4I&z8uCjVFesNrTlM(r2Tyd|Q;_*Cpvr%8S!NfDom z)O-X9H(zXpsB8Ph*EX6w@CKDowxV&rK3R;5~u+un3OM?&{8UQ=gDt@z>ZoaCZ_ zB!CX_aws$nZz)|5r`>3ZG*PY(!l? zvsJ6EbL^xo4V5A7+ryW%I;XaknONVQQ6lNd=r1FWPPO`eIN2I~KWH|huUhNLnbza; z<2~mm`ft>xh6GTJZ8l2>27&hoXlgca=cUJcUteJMT1F-5JF1US_D_VpwrXwv%UUJ* z9}962aH4=Ja5k^A>u@uVR?U=v<t_O8gNMUTQO*@X!RSJ$$scp7A#C#bf12P&y1i*&``cfNsZ-3xRnckhR=+8k|^=;jyml?RXd6{F#iu{ppneOAp?S&mIbQ^@=4F_)?x<%TQ14Y2W0?lTLFFmh2G7 zVgY@(V!xH0b?2CXu69?v^HJw&WoGV;weN#UN}d`@hwacc-m3HVFfh{K$=W2VO&lX( zpQ;9&-yKMGc}pz^&O)8F%M-oVC$7sk$tENt+wF;~vITF+Lm9t9&=?rHtTIyV$xqFJ zP&Ux!@!HP=6IUP9Z(MKOx-@n3!qn}kw(+O*=PrEy2}PfJ@?fnFoXckSp@s!^70!_A z9~#5ct?Deu4R@gyaU6j9sCd0T9)5@o3o3lpjRt>;gw#dM%DW~=qTdPZ`B&|~{TT5N z1`nETr53s8NCNV@1wmOxEprxh(eiEskr-O6_ltI0wmrIyKBw$upgAXb1>X+V9aBEv zOOA>PoSpm*ELXq!v-oUMbN=du5(dE-@J^t{N^R;zBcFy%A7GpopVAgMx;|?10aJ$Q)UH zAub|Z{E#`ej6FCoBn*oPgivu0Bd4(TsCuRm|6x#a6C%}smBf@rE#0i?yeC7 zt!1%k_?zdR%P1ly8}=D54X@mx@M&w-SMeDP(x0tygv3X)H3|m#B0QC|6Y`{Z1j-2f zWF}^Vz*uzn6lQ9^2vmj%qfna)i!mQVOD_{MfY%M1T*;rs0m5hWGUDsT9t=HS7C&RC zpxjZa7j6{&nZBXmutH~oPhv4DuOmUyvzyf7*nNw)OdGVafJ!*5IRV<9#ZhxV(oY%- z&AF9%@_3FwkAOd04m_Q2T$kMa>BH>Xop|q-ys{|gu^I+WY%%Y}5o%_iEwRyzvGOfZ zJd>)w^nNGy<8FiVqq`Hm{lgb0hR+^r<0EIshRlcI zJ_=LImMiQvK}0G*3T2$zU2L%g*QTNz;@Tu17Ox7Yn`StD(Y_X+&>gGLeg0?h*{}p7 z;VX|=M1K5tbkR#s?p>c4xIFOS&QKqO@le<%Lc;b})|jnLNYq5bezlpQ*~}yU9b1y^ zeNZg!!}E`nJ``sqn|1fqGx$u9L=nVbDALl6 z&jEd<#Z*?oA0>!&guE(GM$M|e*4Pqm% zU^7an;h%1PbT&LM>}&XmY0y}VWY3~uGMEo@z%llA%&0aYKun2}cPS8288zq3G%8Rx zK7*rRjDj22rX!iX=(cZFvb|3tLOa@L2`v@_-R|Klk4L zI3Eg4se#P{&W3FY&A7;9G?@71v6{4 z(nbeP4G)|e8$CZdeqp@v(?I?5-PW~h&0AL*y+jFRj%XCIMeLu)=X0&t6ejfzzBL2YAW2#t-l)WvK$3{Cq8}Pa?uW%H z+6wES@^KcJU(M$$C=hPYnXT<0gm8EjwWNE5A3rap*i!QK>}{8GD=01l%0UQf^2RT2>Xl<_tpN! zM0R^bj4*x=1JAc#zna-tSEyNB<&eElw^w)G0sK(D{7Zdf>G?L1O0XQ;wgS3i_-tHh zVeFK>fYBR{cv?4eiMU}PS>oZRZ}*CqwpWFI4YkJA94N8m-hR+FK^?_K*w!~XZ#+<% z!D|cm}b{l*yy&8omv!ir4QVpC*2ar=d386Uds?6(?{5kKrI{KEjz5!c~BJcQx z{f=Y5wi&gZ=|TVs0<6E-@-0|&(zZff0+%$HoGt&W|3fLVrXI!P1FOPPjP}@H3B3ej z?TPuNo#;-)4HBF!L#!b~MKGa6Dj8&SW_yT;t`YyH2fRn)p~TgMsUl{^7BiA4nQ5-T z$}pQOe`Ur+bzgo5UXO>Xks)Qjw%EpfttI#wg}%ie{rJjTz#=>{e5SW(9MF6m$^0!z zUIbvQ@Y#CGPSF+MkpiqV$7Z0bN-12)v4@m4|9V3qrkt&!!GQ_e%847={>|~5cWb|8yEXc2wmT!gJ{Y>H^$uUXGko>#`1M;8H*Pj=U2okMr*XM??^3f@ zP+SB&lQqizgWu%OT{$V|s&jF7tw%pja$r5ANZwu?f4CW%Gr6@g@V_`I!yt!*bxQhA ztTXF)p=W92|AN*{Ku8~{HSzoOWPruyjo1VWtIdNyYCQN#4 zYsEG$0`r9D88fl|mgdSXSOz25u9u0;j@PP3YaM3%@hL9V5EU^u^Ez=nJZ$@6j~MlV zegUZt`MCKq6jf7q8m$Cmp}z{k@91wjBFx0fRY_x`NBj3 zNT?Z@o*<7HpQN+s-U8H?Q4s>Lh4WfXT?l5J0CUsa`fg=WQLSfT;@;fE!-Zx9JS;`w z{RksefVb>L#X#ULQMJbFPRw_F{(A4#yVsBw68ib)Mm&%0lFgcMpo2C2sR7c|m#RUl zhX2yr=PQRV)utdU3sH0D;2N9?(oVZ0kDw_VfU>k%WzwHWKv4DsLuL_BXoakYIK0Ry zCR!#$W_RK(>s7bs@yXPre$O(#FewQ!#zyEHhdRfyg);|#>%wQjb&731m>;9Vcox0N zLZPC2-Mo{OYWPf_bOWYaE_M|@yHy!0vnT?MVn#UvXCX9}JlQe8+2bpGhvx%l zwKc%91dzn%fanNpBU9YfxB|6HwcFa|+U?uT2X~tfZnhp=Z$0oCo5N3nIioelPhp`62RW(&zC9BC2H$i_}rdZog64;se&z{Vhpf0K7V9Rn~za%6V;T# z^mKL%IEx14==|6C^+;(P?wx-9>e1ZX*(bf18UvT>17`+$E;pWDX*^YiS|iGZ1yp<` zQ!iHL_STl)ZYz?k_QmrkQ59@ii*?`e=m1?TW;6#zz*po=2N8?`R~8F7dS%z75AX0j zkw0v0%?hHi;4}_vv7lnEGz3GmXJj{!amqfk5d^prje~OeV0Y!iGcVD2W3G}DnPwa} zo|OHS6DMxW^vuOQfw2svlGP2dN}TX#d~Wllia1p#xg?pkE(n>!6 z$r=8t=ok^yccNK6G5Kg8KfbKm2TAz{JMV=}m9Nm50rDX0{Y!dO$}EahD4t(xP=sK` zD#5QdUT>-uRtRmpWd@Pm>IJ%MQ2NnKL#waJl8*WsWjq8vlVKB|;qX@>`U@J+h0>@3 zKmgHpTq>J-1Q~FjSGwX{hyX%I5E^>5}3>@HK56w^&HWutHvhq>ENf|MRc7uYb zJ>vseLNMJNg+m_l6_V@(+98|}QlV)G26&a_5jcU2k;Jq1MUb=-q-UHcLsZ2efi>*i z$oI+;pXE?Uv$axV4uQ`_-!^oM5e*DO`@%P@FTNBr!EY@hyn!-D>=TqXtlz9JJjgw> zWA{sDH#%X|S*=6>N_b3GnMWq!v6ep4xR%+|Nsuyq~8Y-&`K6 z$n&@ObIhzRd?t25C(o#(f)IA_Il%ewwH+dE)gS#j8jH?PrKZ#6xgJZ*ZD#JfcvE+6 zC^p=CW#W;Ls1n z$`&*-Jec9cEP(yqeCcj}7{7`S;0Emm=*%GVD=f-VM^t*RSuk&Zv>kQlz=E1lq5EOB z5FQ$`jvS556!gla0_(7mf_Tw6rG-SGxyg#+hJG8iMr;$K0lm-dDD*?JGt$zH&m#X< zUOk(CwzazdeC_qiY&&naR+b00*B&2hyQ_~kXYXux+Is7Hw$;h&3ytf|+O!E7X7#_z;R?Cfm1Axofa`{4E5i*55UgjSlv;*9MA zYfB68*%FC7vtlZI&bjt2DE{itg?9o0#>;OgdbWlRN1e>y}9 zK{TLSJ9@pr*Yoi;W_7bMbb0vEwV_8(rfa%1*HD%h@(gy+=?o6h18KxrvTd%7g+dP` zB+B?NH7(p+kfbV~p(H2LCge&HH4KXG6ypc>8f=b1@XB!F_L9Y1HFlPoy>t(8XaLz# zqA}8mFoYeJDR-?oLKLzzz?>w;u*Gj>OrWFcIFVw$j?X2q-lv z84G)B_C{HLvC8^mo~XA8sbak-Or}j;0-_hj=VrR`nQ6d74Jrp;%x4;cb6C-{+Av#@ zmN#W11NbaLM$i$F3O;-3er0$I+fID;!<2umHR^%*c8yV>b_!e#J>=O!X0GMYx5OAI zp|gR{OEsJ56+15YGkmt7M8r{)ly7?+5Ov?>YVdzE^5Wl$x>qkczVWRs#zNf2OxPf1 znIJ2R1x=$HoR8r%{3IZEw{ufH7p8g=SF?&yg7ZHo1ERl$&sBQh@skRZyG|m~!|G7$ zy*4)((axQ;YaQ~{$r1}$7e0eZ@2kD|cJNtfI&kJSzA^FmH^S8L&0j~aUaeogw{Yuv z?U%>1cc(YUXSZ5j<<6&>Yd$UYm27AlI(K)P)pC_OG)Ow;WR<`qF_sb(!kt-s72Qe;6?SpavJiVkHP;-@J^e0 zCjpNm0LLD)MLB(YjPj=yOOP^PGKR%17qFb;@!V&=LW^NjvFO63lf65lQvNC-8a{Kx z^G9UE$v-zcX)1SFbbib*qGAqJI6PdV6>KcvfgB>V)@-fS+JK#npZ=q}HT%DteEQvV z|37A*{$p<7pU2w#$m!bCAI8RhnOf?fFmr`0mh#$=xpJ{#yvBKvNlCSz#7l74+3ko! z7Cy^C3$NwjJF|mU32N#qu}dJ2r@Us!45AA@AF@zf2fz9c@cI5yEsIfLhVISsfn{+g zSsz&zP$fbct-RrX_~67+;#U@qEh%a5U+@`St@U4R4E{RNe`(|qQQ}p}s0xWJ0QD1D z131V25et*S`lcsH<^J3z+6XOt7BxYplLV?ZrqzlO;re9^v3)ShX#T4!N?~dWOsMn~ zKC{{56_qgs|^^UeaNQFj44&>&G14LFu4}xMR;<2q|`oSYuXymykK6@xO8jys~ z3JL0#Sc%e`pEguRDU@U2^Jc6#qCqA%X8o0~OME6{4%+@B%3ntfzzU_apK0b2sc<=L*a%OWG{4WNHUCmIg~9@TsYLXQq3OwQhWl&vaV;{3}P7 z>ME>}=gFTdvYiS^92>o)73PTwfhlh2ZLjS2@VQhJ#I)r%=}BopHrXsJG)lK2lR)y; zc)z5%U+aO-H%D&#_UQcmkqb{p&TwwdPF;JkKCt())m$4H+nT67pRDiA)!r=JUmyFW zrT*33(_^&M^D!JhF-4N|3zZyPa}^mjXjom zl#MTd;$-JaYw^Ni1e0kB%);tS9?7!sKp5(Vci?b8c0dEST4CCLr8(ySty)lE;2IwG zg!MRr=*X)qVzT8xvt}7T{2e;SCebEoB;c&fPb|!BzIxe>&j1;X!GaW!`O-Lzv1%4$ zbRtzC3EFM$NRq;!AZNsT5JjVfd0b_w9BhR!Tx{3CMYeS3iIM8f6NqA5R@FFs6iCO>x6| zO*k@B0-sH^F74uvoTnJ#lkPAd)*KhwA!t_7v!Wk;ZBICDe2+1nbJ99IN5D0k7;{FxKx zRe-Q9V?Ml=I!)!sxHy!!EF4Vl*mr;pZb7m339==NdCQ(67pdal_#FAE&jr9U!|B5i z1EBTIjAe|6uCq))W0=fkDRxc|RBvC%%2(Rn2F1Q=81m;9QHuxmW2N*G@r)%$-L)*5 z@AYf60ZKdSM*n#5gGdxR)KOqkP~5fF{f)-`?MW?@9F>4Tbk*uivoY}*4g+V;1)mXq ztGq?Z3L84`)|}XHJwVO&?h21RpceWQKl~Ox56E%Y5|P#5phpteu-*7fEsy1Oq2Vhk ze0Bn~xg?l8luYWAA(}R+dF^hMKp`9jIM*M;XV{_zu$;i>b5r+^A#?k`lkMW4-GxA% ze+8KfF+K^-?eZF3N=SvzSgXv$dn@(6?V0;4jRfZ}`sc)KGGDxullaVU1^DnK=B+4S zNjHpzUz-o^H+%0r{c&XMd~Nu<$$`Jk4E%F`@N{GF$44WVZ6$EGap(4A&%@P$k^Pym zgT?zhjmy)IB~jWq=F;py;&Xy?bp+9+xL-R3{_(4&U#160M#3+_HR#sx?b9PYF2d>Q z0e@~jlAftuYdjG$jRYb>R&(Dc39@AmuNbbmqT!{2x5xS!=9nqWPvZ!rw zv{9pNQWY(CHSvCnFKi&bV2LLMhy~J2QcSqEGC#gJxBg1>X^1dJK60Xh7D@oPn4j#> z&kc((R#gOAo_mI?7JT+sKqD$bl*(q6Z4006(O_rTwV@Nc#C8Dr7)mb<{0+4p?myF< zyAPiMV3rx|#^)qIEX3mX3C$mwlxScRE8%BJ6j=lsu!0Btn@qz3&defmie_N=iAcN@C}=6P9b$C|M2k~` z<*d#XKI<-!;Rl``N_AIX#YRrn3N`C%7-PJGsl__LX%4oQX2G#SGT2wS+L>oSM5*d|_$tU9sx zR#*!+D~sApepfzG7x5_wa!%&lw$mq+*T4XyeU>1A=j445-Dy34ydhgZg{*;{weLb)#BxAr%6@;e#c;etAP&>Xuq{#4wc zrxsXpx79n?x;0+^abnFL zn&E?eXC@}^*SKAZa%JLl<1_t`9BRySeq{uLv^7-FGcxu8vdM0VDJ@i;f(da_+M(z& zNh?4sx+Qs0EI=iq{!bp0MTb$`Y3@x-h1+8jnf}3xBFo^N@E#Do_I&g9;G@Lnb7OsH zMjrMpP0H#dZj=OyNS%}CA}KQGayvt_C_GRaqc)=jT0?RVm5UBc7NyLc2c}}nvl2q) z53`1V>^#DV$Oj^=&*Nr{FZW|GJlUwLnqo`$zU^oawXMj|htFPd@XS(t20a$ZK-oZO z;h0C$X}S(L8(IP|)UuYMg=ezj6Q8}TfY1{S2gZOoR;%MELkB98>O&$QqA7x@^}CAE@|D*Fk*tD6^=>7ei{rb4i(eLBtUQHl z37=gx_GV;hYHnw?Id{1+^IzSW|9g4n|5`5nKMS+}oSQz=oVie~U72p)xIce;c;Vjl zg?pE}_pUBK7<)7~`(pj>Rs)=p?ihJ%%UJC^b41XXZCrk_dVOh1&AoHYkxXJEZQRLo zixa#-KO+&lYtQ$Ec30TU(6ZOXIl8JZ?5-JCC-pshCQ0 z+U}!sgt$p3GH8l>jXjFV(BMtCcd$hKGA9C5vj&t`qLpJzg? z*ToP<3-2_TTM3*qJ})uOgHDNRR1#9&v>&mnq7sBt{5)?gu^b zlj5O)W{KbU5Xij04X@x>!e`7z_746B@R`k)D_3xqnPE7AEIbQ{PMSanNqu*-bpLwd zH*R+-WFMI~M#}(mH3WdO@0OX3%)LAM(FRS=7QS#QU*_nF92v&Ua=^~0W~vE+`OW%4 z6eR}HZ~(=D#S(4&>-Y?ufiRaG%>{nNBF!r#vp8UnM^z+nYk?Ucq$MCoUk%0w?dNZx zw-3V{JrVOlSJ~e~V<+`uj;A|<+~S`?Hvi#$9!a|1I|zIfBb+#^;Qc!j5@+RmGD}!! zv@U!Hn>YuGjVkmR%EO%%Dnv*0f<4jAiJ)PsWTH%mnPzHHO(gR9jrfb}?ajUZ-kqQ( zD)<$c<9y~IN|sq`ZiO9|0LH|#hp-kr8XEyUBu<0I+lr$h;n#RxJOx{o9W!DDv6SCW zEL8;rAqjOcjj>{(VKdKtW8VUh??*DBfA35bBd}NEN!B*^k6z4GpcR7tZWMU_-AS$; z4Z9MjF?M-=;(TlL-g+fp{&zT>S+cLkzB9$83a7g-GPG5ZveVo1a0L`xw&b+w)o#XT zln&ZqY^8MYVfSJAx}M|9wF|;hYC5eN<~_bf&*QT=hLIemYzDOw}|kwqF3uWBnxlCZ*z?89lUpxCRUI8ZYgIQNDrm$a7< z0Hw($XOpmQED+|97&@LjdoJ!dO;P%BDVKa?n3?cCT?8jgR{rmc-OyvF$PUZgAGUW} z^K&5!+v0 zN~jE99*99{pqFXkz-JAfQrB-9n6RApqhyn)vCo3owAqAAg#rBC38$|ZqC&+eUUX8t z=mZ~CV0BRQY4m95Y*;hMRTuskMs*5RzmG)D$J@$KQ=uElafq0y1j&rgoQr6N_(XY) zw+wH)q3gwLh{rKMh}=Xm2)PC65YchHDfW@4oF{u6J}>0D6Mn~>Q@ybZKHPUF@XxA@xt7jK0CxF97 z_1BfksfEg!R{315kJ2;C!xM|c!}CM8TX)BnA5@Pz_2){|wsaV$;Ze!ZEme=jk2e=* zZZFN&Uv6HgQ&5k~f6=f&;}|=a0h!NtCN6X*jf@q^Xk+Q%z+WnZ+d%3sp*)sQr8K0ZtgLAiZH(Q!LwNXBmtJS%~e}d2cDUDy+ zmD8Qa<%j!KZg}zNzdK>Bz^G&!zmx2ctAjG36QvM7W_IU~o<)faj9(OO>s5CB8u7{c zsPEqSZ~XWpJ{J=b7j2Q|!J3jrJyCh6t|rGe_d@bL0X3{}SJ9FnntcVL6-Dt}Ql$~p z$7ePeON^eG5E^Tt24)zysV55%R=@{D!xr?ZkvT53FftsBr;V(4L);mE4x@VN+>}F+ zJ)>NC11Ndo)O2Ekngc@S0OvFf%m?5s=h`=c-YR3T7!4jPtoCK7?(rdFC_fI$aQs^_ zTv{yh@g?0vYmh5gK7af_5PlkpL* z)0a=mFWhTY=qQBhba)Y}8(yr;KV82wKdJuSNbA-^-ME?;+O@MQ)st)Rxq4FDm$~Yh z7IjDMOtpHtT0W)TNTvSAOzYBv`P)P7yA!KZ?dPkDFLx1NEG7NdZZ#gFj&IJ*aFiZA zT9){arZ_z_tY)lAt)%jXg0z3sCKO&qj|3Bv1bb)=qd;TY?=%u7CuHvZQ{R5J%Zw*{ z=D3M0xIndKqM}i-j$gU@Vk7(6o$UPr7TUCw6O$;t$kqP*d39G_;)>a85PC6{EiN61 z_->NHfr;70i8H}WKSv>$gwOJ7Qxm%MI1tG2xixcYVdlj5`23UjU{SY!zI?j7KUIEI zf4I{M%s*~En8vJSffchF#ep65AY6-@Avq=p_k`P?zjI>bU0zs(Wm*uNZg~fNVSjrd|Ut zqfpF8$V`_N66{$ERkeY4_~@EqpdB;4@1gRGphk zlKqSQ!ii{+B_{lF`0|;pftLrsMUC^fH4TWhbS^`!xRaQ%`|C|5M1HB_bX)t}bh}`&b{vY$o zPw?67wMR$ircY7G#jxkzsXo+4OvSdWvXFbydbu;Y**H6U{Yw3oZnhKc>r;&j(707Q z)vBM=oXcoePPVHj+Ld2ArGL!N{%5Q7&(h24mMy)?t)pRZHQRr*AFnMS)y?D13$tY&`hP z83z|RW6s9m8(N;w&x(%w^M4SZEp6-F_t9R^*UJzM7T}~^)xvb&*w32QvGCXTHY{h^ zD9Xgiq|U_zAhUt@uzNB!nXG(d()uhl$K#Q=L1}?VD2)Mj4q8zh2E;b}4tJ77fi>uJ z(@q*k>O1;394y4kLcVP6`(-T%eP_T9pTn?ByIw|SBnB&;G>Abi2_LrkX>ym*fxarf*^`9i`o zO{`tW6|#O~U^ma~Q2dkNX{y-f#^$=m!j}L)&^TooI3nA9Pm&vUj+yZ2`D0A1R~S6~ zSYZ^*eEQ|f{ENfUwa(@F5=I&t{Lz`xD#bC6-{&71Us1x3D!Lo<56?6-dmWWX!cUKM zlKu$oSzi+T^`t#^X8!*1BSMoAqoi|ynOW`36ghT1dNJ-mG5RPZ7Q-(??0ahFCmVw+ zMBD;ZvIoSPVu6eV+uPl|iACJb@>o-~>x93OiEREk=8NI)FYii-j z^!x>#1(fOQRL(4mSk+E-tG~=w{^{7QoB$n)^>s?L9~U3YULKykHd4AZRJnV*F?^#r zc71+=e(&B^?e13X-e$uVKqTK!J6di%+t%&3`FyATa=Y;=jz;bImQj7aUVgSF2Ws}o z^24J=N_%=C?{I6`C*40&8IIB@%?V&mSv}O6X0fEuQk2sPiT>)s{Z4~LBnFX3qF4nsKATG!pVOrJ z$O)B4SvpwFzKkb@-&kB3Wk2IL)}sP{RO3(lMzGMwj-sQ=a_RJZ=kDTR8$M5LHIJPS z?0@DQy>ZfOec;hsxv_Yq(CS5^s(D-#x6y2;bb4CF&!mkbFd@mMisP~G|8KqcGyB;Z zSJg*YKUuJ$KhOHH%ss;A$4?%uZ?6H0^}`+a5D2rA9n%T3`2$OgUCrWUl_9mHS*^Y} z^h{kQgBe6mFE_#Ii!Yx5vU6xdIq9Da{lQte8J`*O;q0Vg=6L_K3w(mZyB}YY&$)r% z7dHa!+1@r6TZ}CaIHUJf4RsZ6DJna9psdc(&y#>=vl+*Z#_=pDBK)Q;^+QMhAPtVn7y6wzJ+eiE-kcz+&ua{u3_3pKPsj?@+^-dtk0WSu% za51u_=g6F6Ur$=$huW&Dr=mlR=sr*hDpj;=Z}!Ya>Fj*z zx9Y4&;>CxRD`WK=3Q65+-MrSib)|Jjp_0q>p^Mc!=PS4VDBV6^zGGah+`Uv8zEU5( z+8Ddhx-V1a)|?E52dY~aBg&{AF2d^Ci;c$Xt>&AZ*1P@o`vdtWh<&mQ> z%R8Yc0V#N%2OB%2)Q|TRYBP{~FH#A5rl8#)=9|fpgq8M9b9E4(wMP*j{EPTZ=|RQO zY293T6zV>A=GZOUe1K8d3?V`ZK5mE&+Du5>^veDR#m9n>%yzzORG_kl&)e%6i!HRoyxCO9KwLrRIRi8C!HP z3C~qMd>!kc8YQv+kZq zh$j;b6<%Z#i&~)!#iNf;{rSb&dkSdWU9OQD-dn3{rdEEsKKEviM1eGPX1zSU`j7-# zi-D2amC>2=)6*B)rAv#|%WIWCw##St$|n!YzaCb8*$-K7kgMW}jp~_F{mfMBxAE2= z5MG~LW&LiqZ!5T}J?_o!h;eIS^j3F_xqfSI^^w_bbH(J|*|`0QKJwR*CkPjHF^H#~7Z>3UbCAXCCBFae@! zU!tjFdVgy?XZ!8%Ve;T#{W(4_@2@NI6v6s{h(P8%9zQ=qK6{=23qj;!!%1c28oaU^R7~ZYy?*b|%A+lj6^D7yg{_ALV-9M(rbwLiV3Uy%Fz;St6b> z{d{8ob2(+NWn~Ty5Squ}i zZj_Ji*@}q7WRt|yO7=5k&JeB9EkWJP+QRH=mj#7rWkq|?DR%Qwu@w3Hw;Qu}JN2t` zrSr4n6OGD(w8EFqtU24k-IGRinc+9-gqX+b>&NS9tiCyHJXx1?#9z|vb^v0tleuV}MiIzVUFw7SlaDt*edF<_ zwvVSuBii6zZq3~6RNPMqt&*=huQr!I>~!C**PhImcB-|-ht<|dwQ{pvxz;V8r@;#o zx_t6r_QcW5iT&9V5-TY5=4-z+YrmB1C#GuW?pM!G)Gv(HFAO&?-D_PQn!7U8zILy5 zWu$p!tZ{9$eld?)(38wYJ`@@mWtnj_bqzDERfJ4XD#o=V$H9K+8I1ln~NM)w6l#q2yCQBaADMv#( zVU!_SonsXj_>9~zy{!~_3~QuVT!=X0EBZR_Tlm-O3&MqY$)h;jYR@jKvoZ$O>7Q4| ztJA0c4nCJo&X>=x?Uw6@otdMhpW^fG66-G4CbA5jhd=&kg@)?EN}K&-CfGZ|sgJtE zpT)MAwQ*_v@xL3N1NXLa}h%vj@M}?u)#jX9k6DBHcmL}H>eQ|1>_lr)}PC-Dd*3HgYAhh&D;7oHjDYHY$XQ7Gi*B9HLwA>G*{i;U2ko#3FNU|qo2igo0+O%oRUg8r?u?7 zpDY{`BU#$nrd0|<(oG&C>y`UEjoG8_+>p9iB5r#s>KJ8L^EdQ` zF*dpXbw0{dGva)p9%laj-VGYqth0aQ2oQSX-BV;~F$TpmCRiTm(42v8nPX^+!>L#h;6D zQ+2XM|7bkCxKKIQEuTsOM4}50g1)yGo1-+$V>`9!$DQtn9dO-#yfC{mH9C8BrgE(s zg~xttO`KeQa0=1Egx;u}q@Z4|{$sKB4?r!j*sPtX*G^PxCyP<9oNgwnggya@jUF-T z<=-Auepd|Se&u&3)8#+Pr9aRn)za_&i4s_&)zR{W;knya8@F|Slq@s%YU|PG=e(qs zYHG%RACBH0t-aVEGYgJE251~R zW>(1#m<-J?} zhmsxIKrC)Qs2@esNoK&HS(VSd$VgD2^3j{aSK0|iqSn5$pHX9fC*o7we~e;+l<4#U z#+i8@dVIrV>U{M{Qw%pprd+l0t!O3gORD) zz}n%X?*3MAIJ;3QgkhYk>BeUzk=xXxC6S#R+yT+>*%319BcDgki*!z+xp24^mjB~z zc8GvomQR?mz6{W_ciV0<;AE8U9lyz@iAtEkWfStnCL2aMcy!Nsk;=dtlukxqwYGyv zi3*v^TU^elqM$+-i_xFB2~Jc55-?)$U1$a}pJ>N8-=0z2n9@vFBY>~=m(OH>X%TAz z7Zzp@qEXqY{#*V&zFX8WPU-MDc~c8VJyZD3MXFC(?9W|d%)+f&|Xyx^Q1`i=4BzLLv0Lk!c<@SF~ zUz3!LZy(=pw_dC*yjY!Go|&xQtF=cTPG6dyI#-!FJ6AcoR5`U)Ik{E&b*uWzdiB3n zYyY*JNA({-+gLS1{o4~E<;4~+DHB@m+|HAY2A+1eF}d5yEFTjQ;P42dAj|;2T9}UU3sKKJ&_Fc5z-OZI zXld~SJ_j=Q%}xj$z3HFrMByg+AW8~re1`_8nyd-?~N-~h53Ml)8Opb2TpNsCXDy?^> zCQ}(i!%r5Do(_i}UMq&IG@nTT?sy70moQ|;{T9X)8sOdE!f?OiJ7j#0qO2>O%2FFi zl^g7`Y@INqQ)VI)C=#j}QU8CD*G8ls!=vT8dLbP$c z`RcL}2-^eRQ>Lf;5M*qBlX4P2roINgsxPCvpYR952f1z6kdI@_vvcJwEbNCgw}s#X zpHt8G%y?8EFH5_AsBh^;L(x3&4&)`7@)3M(x0m9DU}N*euHGn-Llo>^Z@5=RcpPC3 z_DpDgWt3@RdZ$j)_I+p#e~L@XTMuPBztR`xuFmgoxwYg~(=`YtO^>m0g2aU1LBY0#CvX@Xa?}LDvZ{`@=M@q7kUzz^j zI{;_ac;60>dFY`WJL2Z|N6y2|$M_B&WkTj$^Cus}egC$`CVbAW3e(@lVAe6tAuzK? zFNt%Nu~X&I)AfnpyE7;1;~&lhN)%HPGyv8!Ii;5}iQNXU&tA||<9S6{e8Jk5)-&uowjQtaQRzRK<%AY%CgSlsF z=E{vJRL!ct}u)xLp5uX>UXQ?&*y8TSWVHXpSZFFx{ANBO`gUi3LpZU4s z6s#jGI?w3Em)CR8won$nwv`*P!tF&KdbqbSA>Z@UVGe)a>w{MG{}etK;2h-SMh7!2 z{n<1#MYG+)R?+)|-cR;Ktd7jRq+U+2+Q@SoeBndH;1JggT`V!igDY+O3u#KEOn%aX zAPlqJbqFB-lJW|J+3SB+uoo`Cplla(0-+4C8p)Wb!#t$P{A3KuGAm z;V#%P_~ab5v^(Ta@jlR12`@fck$X7Ez<>3fvlHESpY4zILU}y@^0Hu4k=sUEkB~g7 zp}G*JDUl~CAO}rETdY=_SD38tpNR{5jtHx0Ym&oufI9CKDN9S{Y|hmJ&W*z*1~#hX z;bv2e$@~e{ZZkkzG)iMo1E*&%%fk*hsB+|_7`{d%#Uy;Ds|SZ+P4@-NgS(7757?6? z0ldWD2Hi@qni^#?N3GjC)#)46=}VP|I1Lc}TWgvlf35yN8imSrWV9Ul`R6+(3L1P|{OuC90w+0I3tu<2}^q zAU=0?8tmu4htCmmZC-8c)%d5uF8)Aq_zw4XJJddUTQGs%26Odc?e)Hp6L8M*W6>hS zta82{v`Gc16DGVRLdy_sPmk;RpWrtJ!P!@umFfF*M<^%IENn0k{fVSXBgpx+1@#9Q zV1?c2?u85bB?|wznaP3X5zrGn^CvQc1Pj1vP}6DEh}4_AdL1-bMB zu)m0&FxCY)A&ikDEUW^v&M`uJpPmc)tMhDVYy`1sPBa8$KLmHz=U#fTyi}LQIV2Cy zQN_ibZq{Znsw43C!=Pi)L1t4`-uDqE@TAi4j6%1WIpNHnA<&Ef=Y-FI&KJ(l-L@F! z>qqV5qtXa)r<2q=$AeS-TRN~v+~vyn_34qDGowOsk;PUTZ5?goPvlC#C_s0oK7Fe` zeXTx&wT{tzc+F@{-e`UuejHw@6@#cC4?#oubjx|X*jK{KaFcgFKFMSE(^EsKSQl%U z4@QnTI%=$DJBaaOpTM46N<>~zm^ug#Mzljpq+{3Zg-YOX`u;8ZO7{p+TF*S;kJINrQ4 zRX;mhJyEWls8>$RS59_ICzeXTtd)LIET|X-GBYfH9PzKrNXT4I_>3?~3`wAL_2gvh zVtM`H>mbrqFISn}RDPztJClI*C~n&W=RPbKyu^1WKjSyF`2bvz?F-(M{xgfrbF@8M zDZE8Z*&v>k!koZL@kZfu@CHou;5SnSdQ!d4Ml6=>}g^9QR>zYx^v{QJ_b5qpHjf~oR+6mH#FW{alf z%)kh-2j*Plj(9leQ;985x?hFKCC63wZ=I7=4d!R$v)6n4v){DvSCJzzSVknZsy@qOFoVZq0o-1fYHq-I?{46Jka2cql0S5)$~!7AOjNJ zA2z?C-mEZsPS_!DjvZMEyXB^%xe)|Z7R(P|vKKi8W_z9n`DnY3Je{>U5=}gI9(uSR zzCPmSfDunQKj`EI1STs^p6Zj+O@-^kHh|1MmLf3~<^#D7EhXPXv`&mn7n_}@dyCZL zOZ7XgX&PF4jpxPm0`;WtW8I1(oL3q%7aB9{ZG%Sco4P%7QJl?ipN(92O+n*4&MJ@G znz+(5?i-hhBI>>K^y0*|_I=o1==2aQ1~sp7r8*JG(XA;K{*}_$wdyz#MQ9q=o89Nz zwz)ga$=|2%N|A=NMX|VS=sFgHy(ssju1GGS-ySonuB#iU%*%J@CcOU6fE!Lo+9INZy$IYGX$k^2vFLg=#24My` zjRN1C9E;B!OsgBd<*1_Rn&D1Gj;w6VmWjl}wI^FF2U)c2G4vD^ia#8{=Y`$o-^S;q z=@awS%k!J%%FgllY$wVc99*wG7jtEi3KZ_X++zi?pRtteXZYONSlE2D0r!+*wwr)x z>l%K_O~yj7QvMtG{53e3@i~JtvNX7qkfp_TU?uXGrM04hrOEh8cwK|-fni32u;-nl z6euFB_XyIa;iRy!oe1(oY)kEnmq$@)2O#gQDpgnDGl*7ZM4BYZPFd+=@tH$PbiKN{ zf@6Wt6LS?|^sD9j*8a`r%<9MID{r3=?ncu0z<}8B8QMcXc;Y+Yf!$=-l@&gD*Urap z(uXA!e_JpuGKfALH0 z4)#AiJ^CU>?miO?&|`bJIGl)i^?9C1;PNAz)~yS2_{EX>Mbc6*JftHby3mwxwQZ_o zZJybl*}Psym9+nwY|(L&es5r~Pi(|`P_Dk*?Tr`vwobOOyJXmreXa)=Ad~YCFxDU5 z0~{uejWRh+;r}L&DF^yu-wE$NYI;YOu0OXS>bx`3sfF01IdiHt^Gkb1JP|%Cl9@-Y znxLc9ug6uV-7)2VAoz<+s9xJU$ zjm$3cM2PWVVCBhL_uYXP^%T3k5+(TJ!6kWcerFZ$iLvwORUDd+uPuE~$e{XkO_s;> zZgQ(5T}8CWWCePZ@&N@9uP$hFFm!22e&X=0#o?ia;feWs6Rlehs@E!|i;JZ*V7ZUa zp$ax&a^Q3MA9&YfIz}Y12r0s9|4L|W_)WMiTsS=SUz79K=J#7vC{N$%ClQbL)yvn) zGHWklcIB8L1de&t?>;k#%=!Fh_{`j5Y+&RfhVo>afQovGxREbu9Da_0?0qGIEszwu zTU4sCI-*S6kN7qhCH|E~SK0-tC8Xst|Td`@O+7_s?^9FZHt+jDm}o5Sl3ZJIqY z^ZBioxUUZA3aqk0d|ugJK76{*OVU6jo6txPL@RL`MaRFw=dU1KSj%5e`uY3b#J<2R z2hPzTsUN?F50)zT5EQsSK!7dBx&~mgk;O*8mK6Rc9E#Yiw-*U2lDIk=UrMsm%xKxrj;Qy)^RFIP&>M~nT`?CtQHoA)JXj4oCltTuRdGB`Nh zZcEmU^9$J0_Bj?T%a#3*2S?8xfQ>?XJU%iQOetPS=ra%Wj;G*h#;nMbd4GXWBpE!t zTDzESom;Ue=#ebyE`;13s1mPw>0*jV*^#kmVIGj68~U0RO_EWt)^J;!qrQFEL!sz# zgM;t=7v-|E{XB@z|7g$rGB+)`yJtU3;t(wi3-o`OR7$)z=&K=j&GVy_NFSxk=q!bC&eg#n}f(tJ*8L`Fs}CIt^;l%jnP` zrBZ7@8kqM4Yy`jzX_e^g1vY{}>GmkDBj^rAo0}6#Vay(GjBj>-n;p5iSekmeR(iQ{ zYpZ&Ce#CH#F3peKm>avJqIG+GtaiIxzuc-tPNEW~RA*v>Dw={^upHo=!iZnBA6f5F zJ|P7r<1?W4%k1aL2mk9~{rrRZQTxl2_ey-nv&3Br6F-z#qs4#qGtC(l^R+w_fh8zI!Tm zmLgezksTIlu{;RIV%jGp3>nzxNUTQPle=(sQ11LeHxO&YRSA|u=Hp(}98gM~B)hhc z(F!LNP#8I-&bl))F_LR>WNOF;T?}M}VF&SWGy4$~t1v|pLa?8)B|)2feDV52jN~-E zLxYbkx3V7ZpN&cQtgI!7j!eMsvj6)1xQo57ck;738^^t#A4>G{OT&*R%J=M3*ld)= z0DsjZuRNys8fskVuCg~rIkWV3Z}-cyx#t_xPnRa2^~SyZ#*K~Hi;MT=o^zD!xo|Z& znbcLvGgV==*9j{n;j#hLLdiPb^q}}huU=|V^eN`s(u*B5%lYy!i`_@Z8@4BW)%ec! zv9ZIInHSqKTtfJfoP~Sa&E|*w`%f0_{xSi7uMeNE58v!QFfKJlaMxFwLsARJYgcD$ z=bQDj-IUnEU={(~DF4@18cu{1jr4l3wY|a=3C2P6cKZ)ape7r)=l7Rwv~S31(|^0q zj+Ez`iWbjNkR%A?gJsSjD4>rL{}t*LDzc}`U19=RU$*Ap?vhbKixV`NS*qu3Xri!r z^s#t@aJ4vQ0NGHD|9P|+ei0#fU6mrR1vo-$B$8zz12=G5el$OS(3x9#&@7!=D*Yov zbiS^i;d2l;iNW*c;vna`0<3G|P z0#QIM$PW1#gkh2;WeClc;E^3x91wq^5=&`mo~YyK%ln0A2lTg+BNPS73Isd=eV4~X zTqpF;6Sr$*9$PaP^vLd)w{uT-?~^_E3tV`h_7UIQW|smtnxwxMjDyJ#=JDrud1%O6 zjBE)P$8R7vl@$K|l>r?7=AQ;$FYq}|`uGzk{n`-)j4SM>zWu4n@R^$Cp_5{is-zZr zLaSi+V=-Y!of&MOqi1Z?_(=1}1N}#d=uI zVjm3YXzrE+jtrp`zvvxPAr9LdcxN>U1u~zE*3q^QJQb@%1ABoGu(gBANG_7hOpGDb zN@#%1rHJo@;F_8AMWqy(i6I_t&zx>O$PEg6nc4#oo$t^0;EYxp#NmPB(#O7@y`G*q zs_Rp2SW%$%>zx}5Q}9`#x!xEkh^HXxh0X)YHtQ0EQeKqQ%^+wziap7eDe0G-(zr6G; zlq7`!Fabn|@vNf$!p!um?em=(O$HV8V9QBV&!6(}$ug9_xmrF`y?3Sa;M&5}<+(}B z`LE6K6M`e{VKq7=5>7SsKs?*5pH?d`ihHC0Vr~cpqK&|-ekmd3MrJ}B_Zw%aCMRk) zOY05O>?Ly`{U>1`M6W-7gr8K9L6ySYFE94LypV(&23X4L$-yS)hV>pZGu3R#vdJDk z2Z#lI@!UT3f%)-R{>%RBgSDe|n!2T<=3mO=qn%RD?nykX}CHohETYI#@G@?ToG@<`0KKB-#yG!tNDe_O4#5ZUf+$}F~JlSvo&OcBA&kt8mFC}luC7p8jW z%bTswul5*qUp`?)qH4rI)GTi+zOYuX5Z>;*@^nkSA-YDoUmkXWVubJ93?H)?9#F>5 zpB*i$!7=!2*^oOHLqL#sE=H8xOh5W_7-Cft42bpP9&@M*8!6g_$+_FDQB5$6u}M?` zm?F?8PP+g3HOn@5;{bu+mk^%dF^$;Jz2fHcE`f%EKN2T-Ixr-t9_c*m(bm%=w)w^l zR5B%%v%^7UXC&m`9?4?)B78it()_)2kN1Sc_S{GIH49$)wKQb^LcE`tz3n5|=RO52 z17{FD^>o!&Rcbr_M7vl8qY&5a;fr&3ug~AO+qpW@xpIH*;#B=orF_0S``h}=8Opky znO`zKr?_G88^sV$lv4yufEvxh2Ei z3u-svGjN8|7KPP>6teBQ35n(VU|$C2U_AJ)KHl~avd>){YggxAwg9u#fh`mQ)RbXC z6a+KnYkM&?6$!neoPp10RNL47B0fg|F69a_VqFne2rTe@Y^?Cv)6AdfNCA>w`N&D< z5P7UCM|**ps|yQ{wlh9E!sjOv_aq*^d?M+Xm=?@J5^y0Q0zeU0lhTpm6ocR)>fr4x zv6-dAm{+KKdMek&$j>8x&wMobiy<^GAeD6m#c>ddofog?lfi$@Ky4NO6?~4iP-!EG z-9g!85u&+=IyF~b?I1|A1r<=1iuwk!)o2((u>kG}w}uw#qpR)7jX6GxfD1O8(Auhr zt(HjYb2i?>u(1^ytZM;!{1qfeM^JQ_OB&Jg$EiBquCMsqH=$Y4M!riXhIlJ{PSsaF zJ<$M%h5Ymp6=jfA8w+wp{is;eXUV4hPxsuBV|MC^#Tv1+ZyutH)};EMh(26F;Zzn# z`}O4C!DoL3oCN|f+j?3pzS~#H4a%KgcsM|AeBE|EHRuNeVXO+Aoez)B%-klTKn`ba zJXg{~ECjcZwN*O5R5~X=MRE#jGhli4WFBxk4;pD@^qSS* z?^Ui}n7Z|_+pyfC{LzQ^gm&4GPDxLsJ8E-kAX&M*X?{oIfjnpL}$;y$N8K7m1_5lv=Im)5M@gYCbbh z{0rCQ((JiB;_YWg%3rJ>NHgqZ9Arf?x2w6fG}~#CRTJRB1i252U>H&qh1ev;6ayL3 zSnGzRmogwcZW)N|8TlQVdUebyj(p?=A3H?qOGiu0DmK!+^{P%oSK9aa!n{k5H560z zkvPF*;u0I97Su(3;ufbaF3rR$?wiLMaC%Hgp99IroR3hQqn+X6%EDCR{hmF-yM+a1 zbLR**BS)BxT?}B33^AgLZ&ILLYtXdZCm|zP;w^F;(K|pOM;=*mU?IDu>}nWpxc}^J zgK&NAFnTf$K0fDpFAGZ`wQKPx72NYCo}gz2ZG`4yMhR6gytR+qUfp}LpNucL+ObDu zt#!7(Sm|T)Wooy(-Ps%685Aoz7k>6OxP*im5A!i2WQMHXc~O0|ILSOo|3}a|ygak~ z>5&kg=aSz!Z=-|9yefaM+~eCSm_v`@B){m_e#GaVah^C9Pcyzu!eP zx7(}b*=K9hPnNM9;KeH{{^?Y%BiPyQka4avbfrC_4E3G%kcxTJ)l2Ql`StR-ostr! zX9BC!kWpxCd9i#-E_t=~`|ZjN)k^O+X7<&1|M>Rk-5ZGWaa z>VOsT<-rr?r7fwxwzT>9QGw5}olg;JqWvXMJgEA}PDc)t5%L+P8P9@S&3?;qD-L7) z$-X4MMsshzvoX`Ip8GfO891kyY2b7DpUOvfmhR5%mGo+)&$-ksEV0;yEylurzS@~q zJXWd#&Ky3g)ibryg13YC4Bz;kTv0j8@Y!t7bDrEHoYPcM-|xga`T?H{pe}4_zvh=E zjEMV7YO~7H^2|kF<#v8R@MgsG=Gp#aa~^zovGw7xoCu_4Je~cobtLkS=@?verlX5R z?Lx9$Vb!||t~7~Y;&Z}^<`=_fTF1zP5DUnuxGAdW(WIx-%Tor_9(NjhQi?R`%O$3v zv2;TCkds;9e=%T)*18(7S_L|QoC=^hflg?++GHF@`tlB1bBmtDReY zwOM<;#d>MI-Svu80&CMR0PX7?O)Dl~byi0wljf_94I-@WL7Q-p4EdM%T%bz4Pl_dF z4?QAEsdhaN*FOcSq)3Myggls^eyuriwLT%y7~^DK3al%z1_->~brC;iHeQ zm2ADJiB;-;0-^`M?cli&_2uubS53vyomSKfU7lt_yJJKzN$C;S;&&z&Zx+-SURm_J)jPJE}dDdoi5jYzfrsOM|Jpe`Mv^%3idvFi!uK4;`8V2 z7te%;B7Z@pO*LfH=S*Etzd!DFiSe*u<@F_$HI+}cpIsw20rvV^IUt2z0_qOpb1uN{ zz6rkI>k51}Z=pIHNqn&NsMFn?{fqdV*!4)&$@q+WUzz=f_Of&B>*f9OrG>GJo$+uz zdhYNy_za~P53C)vIFNYonF9!KS(_PbGrEFPONJ3Ee;HAXf6n+U9;%;_w!*<8DyjO{ z@Y%0{X!t(|h)Y0cp9_MvgPG z!|gAAjI8QZLES6K9SHq!QWU58pX49jIq*Ni7IZtAo3%8;fXo9(79(@fgU4vAS0DC@ z-?^|jb#0}TN_=-KPga{RH;u-NP+n#6l`fx{&s*Io2${)DdMY&LiDnFm2^pLVSdJf4 z2$KB_tZ<%m0<{l2l)&`Be#}UfeN7?y- zJju?N6Gy3Q$la^1wOi{^j)t_!)}La~pF*N@v>B5m4fF8pRxA4{NvcdyH{9eQz2omN z|4>YpBw4#Y<4z)-|I=#@uS|c;NmSuZih94Ch{`}|Ar-j^hz=4pmmm1t@3_qlOiN}g zPS}KftJq1tv}2CBS9JpCk)>(id~a1`typ)lbM^3l0DKEESsX+Dd6|ec)a#i3@aI=paUpIR0m7%GkA-r{GWkz3b9l*6j0owWZ zds|Yf$Q0)^pD9K0dUN<*>-PQTh3Uq*icg4UE@#zE+L}EJpS!iw)Air4)o(G#gF0)> zth{`Dz|I%s{mg`Z18?oTkqouJq%Q6(qveMIuJ3Qo3)xE(ULC+^>+V?l*^J7JP*yL1 z5r~a35F%ke#~e!`NPR`w-j>z$POG-lUf3?p)qgMIgT1(CKj>LRKb`dOSz@~iB&?#UiMk^VR`Yy{G=QUk|UL`Aq>cfnyV-{`qxZfTjqxIJiv1BtC+n6&}F+cAB!jDVOh3*A;*Ti4q8oPQ6y%n6gD7yyYp~#wW4oM zP?3+9!F8}DFE{hhv|{3M_x4Wx%E~l4QTQ($*g?=pemyoL_>JbsmBojx_d60dI9~-m z2jnILDcMNT)jA6mLOP3aZ9|*DXLBqgGYmPu_<-k&WQ)v4NM0FI@!l2?UHLZJE{h^D@A&54vG|M!i?#EfVf+!TieClG^o^729Vaw(&%S*0pl$Aq z2lJEi2iJ}92GJZqJ2J%Pta*P#G?^JXC?kn$JU8FlkK%;l_pjkIXmXAEKmq5mm6BVL zK>jPTdH=jEI(oi54!0VMTY0^O00+)E7Ow;6f6m9z-LnzoPaj0)L45WOrBiQ zdMY)22!7++5pbRH`GF2T8w-KY7HKMW_2>93f0+pvK#^+4iC7`42l3gQw9}2Rv1J?6 z8_k8idbfSKQ~KvpIh4=Px z+->CI-K|cbI2bUrq|8gEa&KKElpe%qCNx@u6^+mn9M5?xGQlIPlbKWGCq6Co-Zg!BP+B6oRcLS;sICzpV`dJ@(5}~ z{3}Li&r*g(pmAS^If%)FSpD6)17aRfOzhl=zCXjgo-He>WSZUQaiK9niE21OaRdvE zVdy+Sdf-WDEG0WUc-ozQw$OOGHurRU?)9VQt9>2f^oG-WXl$#AQN$&Zf%ODGwUOm_ z``2otmvOV8wMh-z8|Pa0V%YS*Z8hT8d^%;UrqyOz!1dfXE9>Uc)ZNw6_)bIdQihgM zf3;!zkglSf2+KLt^)#r$>rpQ&ThVEU?d`KWUFaPQRVusWxyYTLT8)Ty zkaFN?cZvRI@AHe4x*Ns5GOvZx(65cO)h0+d-2={kzqjk9 zz0aq7od(HLEvA7z`a~zjsqUoB+B?u!+*+%^XMXqOW>XE8ozE{6Ne+cD=}R=DiCS%W z=I3J=U8xTOTbgmwU0cxbH!^^tmszAUyPwPqP_X&t0GBA0i8elx3R5%g6yi)k-S;(Y zNwNR7BI;)Am4(H- ziqWZwtzeYE-=NKW%y}*wRT$W%6AES57VcFK8^1M&JaMz)JAC$h!v;$!z@CDP8@b+u z9Lhl}f||iLUyCQ}$2_tC&*T?5Wrv85I||lQCWQ7QMR2mBBcpT_n#e&$W;1QW`ho;u z*GuZ0%+xpv<)CvxWd!c`*Nk#Hs%FUvVG^oX@@9 z`=`{*LcT-hpE1UEgm~NVak`W?UIDX;Z0sIxnYYQiNu@p$FJVtnD-RKrijRdF5O<9- z#ZLGq|JiJSv$XV7x$ZMXhcFGHf(eg5;Z6oz6EOTx9aMPK__{C|PW`p{6%ge1&W~N2 z8@n+-q8r7H=AGz6(I0new~BGQc~5Sa<`hHo6GID=cRHkT!xtNO&NuIw6)ps9OWCrXW(owawvA_-kIWgu6hR^@ytpq z@Y!_w%rz4cj+|Nf8j=x^U3(v&;LZ3WEZ8t&6K{jP`89Dkp37H={s}%qX4;17=WC;T zb2i6B{`X+HfM_tD!Pya2g`t}J_{jG39X|Iqf`K`Zx9I|(K{R|8_Jw0Z8~Rwa)!1=o zcEpd~KLyTF_9S%*8^j{3CjXchi@U1yqMBoKt6e1v!g7B9HUo8zoLi)!n0k9OzS@%U z4We`6WQOSCLikf*{=s408#{zRlf#(d*P9bhm-%a0GO|FJug^_V zeUEQ8?rHLhuuo8J;XCL^h*#h8g#t}?bzg3oH^CoAfcd-&{xIEtYg#C2LG#U02DLm;;B@%n=PP>>3~1?Ox?bol&^{M)rNUx}k| zW&G2eg%>pS-U@O9J~MjbozomU7N29*eRq@lKYoMH>s|O9t6P2Dz~?CC%_lCTy^}UrH8~mI63Hbj zbCf_gb&3h&O1Tfk5GE^zhhi|^G9dJf-@5joekl^Qs=v=y zdZS(XEsv)D6f+mfGZ$xPFHV&&O*O7RY~Os?xidO{htU#gx$~2^xzZZ#&5xX!zjwMF z%O~ff@v>nE?Z*wcz1d(t+qT54K{v^(G4phly$xxL0dn)0dIEbFcm7NM(i`yQ?f20xz&cJ77*(6Of)#^v9a*!oj+C$03!&ow}(xVizwqV-rTGJYKC;KKag$d-qC!6#`O{NZT4_cWDq`w-AIRDpL7)&pVi8L{_gF;>*x4q zQzGWWcgFMo9()E?ZbcMo>f^JogrIKhHoB{$&DuE)W&V==`~yV8=W6-V+;(YnyKG*W z7-2uBc!wX|RS!L0sgL8IhuTw<-I7IN+B>f5mY(ev-jHeEw^!}C(x{mze91Kb!*~YH z>}Meu;#G7X#0!I`KeAQhXzfHfxB%ym*=xuU?P#YKT(esNOxy@<+7pvSMb>vlS1<6_zV`ZBYVyItuRXO|8UGnu}FWXz8NkDs&zToN=P|dqo#uL_iF+7)eG~F@vA1-u8uFa3! znZGwYKcv9pNc+Y_`}%bIYN_!@y>?C)1_d5fImoqW9CLM=C6-?8>8({2iOLe|L6Fe?=Ul) zIL%!GvpMRTk9iIRkB{zsG}b-S7>Jix>=sYuZz@xs9_Qg;FpgSl47qn7i!Wlr50)sV7NuUX>PtSeXjc; z<1>in8W?``puzIU!CdA2He34cR!vYtL?cI6`)vbSIVDLxBMW&7F6{qNY%@XCFF&-6cT4*NMw$BfS#6SeADWt|j#`q%u% z5BRJ~Np0%f!p6+(Vav15`1~~Btr6dol=Q(`RCq&sx<4S=E@s;Jh0OVUca(ue;eUBy zM2WCF^S4JD*X~y?&Q#8u1^_u@a#S`*Z7HGzO;1so%Qp6oeZ-D&z^jI>ejLGNU7P?*$?s@c~wkb>ketkfwgZ= zul4Finr4t$3NS&`!{w% zUrBW=ignCCEVixUx}1rdL##3h}^do5nKZbA&!Wf6|yE z-IktR7uH?AC#gRL)craVUdcCPQ`xGL0QjRSALAX}JQsP~_~*{{WUcZ0eEFAXRS@-& z{ymDr+N_M9Y_#swAGJsm^R^BF4EvYO7dX>jU9V3_rP+F`krOehXCXWCwZt5jMxbj# zs{Gu0NSj{tPi8n85DT583xUtBW%F>W+^wmqWM76$Iep0j0ZMY{tb&kyry!c;Kt)V7 zA^B7ilfouRJrX^yjfDJ>EbKi2xN^bbl4cRRU7lJn#>q@gJX_rDY(l%+nW+5k$ouO{ z*(0hek&0JqB}$DUw==^tztK8aGA(@*@9%>g*~tYyd(hYkvOs#m%5p1f|F{gWf;~p` zqU8!sqX1`lmxdp$0%mh6m-<#c1h>NSiTeC$K$=U@AJJPx1Z9a52j0Oy3y0nzClU zp@CRCX*I!TGr_Eb%z@9JKdbUFh|dTO&K=I#6g2~#fNR20Ik3)~2kRbgLa->+-q>GP zEQ^WAm$wp4HYS7#x%~W*!grd3v*HL{Qc0z__Cb6GCYP6HY+mDs3lE;Ig-fouYrmTG zkN9lSF^1{r6taLtmSo-;ZIJ~;7h4#7K3TeRx^zdh5e{#Dd4_J%>i2SW1ZjW1a&LI4 z^kBV710!;D@a5IUyPj>3XW*aUv(*8diSdM4)x4GRX-+acLg10C3o&#HT*itzV06(! zY$m@UfFhi_`{wz~O6QNMFC-{tihR^mItu#bD z2~^-S{#l*Uzk$y}PDu^>iJV|+CCccDfWYVO{#0}RqGau;zwxK_`H!WhnNK$7mSoo5 z#@)3UPACsF@VPa5b7@vulf76=j`jCP9&S_v4&#~P=%o_@8i|DA!v7qf{S#Bfv z6#k%Sj$R%v?JQHA@*jm`@&I3|F33GBz}X3Tvm}(fYiGd*^9I$7jLlito=dLC1fsn; z#HQk4pz6rR3Uc#7s{nmGth|rpr*<4f{}p_$9CRu>bMVhdY(Cp5% z9AG))v&U`A<85Vp7Mh0`8K0RD8I5&siN^(C1)eb ztSj^z!TVXoY?xF!$%*ZWdE;(al_XLS&zofRU7o$Hg^6wK9RFg+ok1^zI+VmM+I&$W z$B#-MjLp?9l_svw&)_1y;`98ty+*_^2Mx3RoT)9ylbH?ne_U4@*t4^xJMwF6SZ+vk z4d73;CVs1q*N!&$GO2fDBoXXCJCqUTYyTNOr%6J;fg-jY=SdPljT#V^VAY4x|tr`W(5W;11xZR3p3z4jA-iq8c&e}(9NpJga5 zJi$J{*}C@o{M}eYeQ7~qA0C6xeGYaImIu!VVYxW}bA0ZBGl)+7Mi|lwt}Wil)#{@U zM_Oc>ke;}wY}UC^^zHa1_=zt{nwgJsmW37agk&>>BXhKABH6x029eK>{K0sI$swz5 zKl+Q^-&WCgg;EGKu@e;J5vx`S=dpZGg=tfAIOU{j1L}3;N*(Tr`{Rn(y^efvwU?)# zt>4*b{A21iGdnZVKf`DCwtu3KA$QD$!5p&YXY^Xwhl z?mUzQb`Xi-ok!bh9k5+VJ3^uat5cs}yO-$fbm?z_dE}%de9jx3d+25|#)91VWJ?Ndtuz_*4!mj|tu^=O zI!CqE(ygW0Q(H49{)YW*Q7aqOmEpbiptM^dtb)u?nw(YYmQeNMFYj5-s^B+cj2v{;d3mOR7uG`W%>9MyG%Sle15d9NbTfO=RPmG$&Lj$D_~-Y z^|$P$(!siJCVAVy|JK1F@D2rvvF9$ncs*Yi>hDyt9FFYcg2Xpq=Wb@XN_wh9ee3e zJHzGncDJ!US6OZ5J-rtYOk%>qelGCY{^AySPfSSmufLxvyGzk}J|!9TIOHE<3XJ3+ zE^^uPpMmpnf0c-i=qm)P)0+p&Q7!#`vv&QD<~>X1So>LrBdrfDC0G>ZaSB|DT@GUM zf9Jfw@b6CKBwFK$Rxx@-SvegR+Sb#3AT0fa{8DjO$;d>F1V99hS{zdTSW`Scmb1D* zVtk&gCARhE$Z%r#*I0cCxb4p7Dt(d3EGlI9QPg0jQ@uKKPo}MU zkEg4nc9ToXCE%>&a^ub3jpYhk+Q>=nHap`xek0=b6KBtd2sgFg|)5#>ZgxL5Lhq!8Mqq^Oi1t++-`9BaXZbZ*L_1Z`yY zFL5`GbWKGIJWs`ZEbdHRHMkCLh`X9|lRYM~u7jkZ#B>r^2 zZI%l(0+5pdkZ%hZH*8Oa4M;uP+ndeCr$?t$URs!>G>Z*-Zt~vd++nDWEpw%PzpTA^ zGP&IH_`*s|%Q+!x&!q}vPLH(*(Ysxn7hOR#zl*NIn(n+oy_zBZDvtupZCmQH>RR$( zD-1mQIM@L)k;jx8@g&)7*wa?udE!EhnB{r`P^ua-)&C{{{cE-YlLYl9ULIYj z@&rA&!h|-xi=i?hgTx=E(sr@aC88z*e@=P|=P2iy1}}p+nV&F1&57f`R5Ww?-*J%Z}A2L31a@dBllyVfZBk%7#NaxAiz-bybeDo1KVltbqy!| z5j919P}pz%;X_Rr*X7L_ewrudTZ-gy!`R1h0$!A#R+-J(xdw#{OVzzltp3%M=&kX- z3&R58d4V7rPA(q(CpCT~`==qea2s<}l z?n$%NybL;-?PjCdHI)X+!i0=h;PdvPTZ9q;;KB3sp?eUe<2+S0XKlsI z2Uk6Fs5NS26IkQgI=2*8Uuy>t^}+dP_#A6lTlu3kv>27UOlJ(buc}5O&X)P-4m??jDcVR^J|&Ei5PwG6aL|j`8$!wTF*^HmlDLO+WaoyQ^jsovrrV#Fd@N^BX!a z{`>g6Qu@!;=IQz7x#gWneRzK_-?>&9ez;im1){X0a+e1i8JRsY2&{KT?063Z@b6hv&S82{#y%{fJFrH(slXU$hLsSN#WebXF-N9pLmOcZjoo2^qCpZ^4{k> zATHrEbfuv(+2pI1*GV9vOsnCpjk*~9o@aw|D#i-~|j z>W~skShgSycG%C+92_qZ&&X8d^rbzh_kEJr<67>E&V zC9MSvUTUrDJpX7K1l_Sd2P-hui8Ts?+@9$5kanb{k@u#2{403-_wgB+C&N3kO=nK? zt(xTvGF$>W61nmJ6+UN_E{+90`&LXcM5|T9P~<4By?NF+*w%r)DZcTJv>;~#eG<}@ zYGF?&q=8hSk=t1k_JTt0Huv8o2iL)nq-T_U*nBhrJTEr3Uq+V+_;$CKZ1FVGTsEsf zGK)G(AljTkCg{PcX*g-_^@Vch!{O*gQ`)2S@IS$4cbM^fdEo(xxTK!5^`Wq(|C;>_ zsd}T2&-MaH6&J#u?AC;yL5kKwVFqk1a2$wLsJ>+pBHYYpn8re8CqwL*nHvlArM%{a zC%az%m-q}1K{UDm>78SdJ0BiL%2?{U4)+431Jm9RaVqFE0cK`MHP`1;&GW*-BjNpW}1dgP@rkf=S(ELlRzZfKiL}FQuX5R@U@wuPgD0KN;GwAoPJ}?761<$$n_67MCeAWy| zSD@B*yES!vW%Bo}=~Gzfzp{P@e;iu5B)z-S0 zw}7vm72QBUu?Gs4{et_?D)!@F#Amx|hG<8PHVow~4qiNQQTU%+CmW@(xVKf=Sf1?# zQlrti@f|)hbz*%z-&Ye!Y#IQHHAhBg;w}OSHx>eHw*o&Gk9Gu_4?e#ppc1|CM4+@e zgJucuCSsRwRQAv*Z+U-1>f-$75*vww#&xprW09tai3yx(2S9BL{=t5ZK4tJc;)aL_I;Q>6N?zkOa>TTq(&sbsh0 z)L6pdlqn~evWgg!qRjSpKpo`Rrxyn7h0?gzjM5p(Z1mx&?JTh_$QT$`5Z<#h_jEwc zL68j5d2hw4p%LiuCYPJH=Vs8ejptkXIYzms&NSnheQTEq-9nGw2#TXHo^Nkd)H4Zh zg?U-K`}gn}pxs)oKq^ivm6WX{g4Ca1x(Y5p_70F6qC#3oY<+xY`c190yl&*{Md7;G z-8WCUu_k;rp7RirffTmf##ka>fXll zmr9hp!MY2KqBvB2htK-8QSm91)Tqe!I>&z2Am-n7X_1X9wO{9_f9=j+UwO==uX97# z6=}10OJJ;gF^G$jeKv)?AgnwxGt@LDLARwao&&qm9mvPbZ+P^8F5@#Ga?;vf zYwWB!s$-AX=NClwXp~<0@c6@P|5V*u{}cO}!U4Gf40k?0fy~iMbYm{F%H~GY)24q@ zk}GvV^34tBzJ^URGu4>h49*@9&y?j;jJz!p-iJw+*kI{qK~N-q(mNYI(J<#TzhQTY zx&-hU&q)~BkBw#n%pYdmpxxPU2iP-AIDn9oBj5vCn;&W^Y4YxOd}6rODa~i_e*O%T z2Vehh;WNuQ4dh0v{Kr)N=8Yt_v@`%q<{1h*7VY_ehTq7an61Rj#A0Q0$jo<;u5zh7 zW{OIdH!NFC$LcFx%T~}QjVKbkabQiZuzSsIF%)rLy{-tSfvx$>FlO?BYoLuEqg(Jq zRGMXP`&Ta-PBL!iV;~;rmKz#OU{B}oM1dM23YrjFN_A5&*C(!brUeQUIA@thluaf< z$%#veUm)4CE1q8 z_BhEwwyeaQNf02xOfYAPVwU)RyEkwI1$#Wj=-WJPo?TdWai}c2J&S zFD?r0ZROT7afV#k0qQXM^Qb%LN~l?9re*#zNP+Vz3+)|mOL&i(Jb?o*MW(^$p3Rz= z6Dr3<{n144U8i#YYxpcWYhmD4eeiB`b+EoUt*{1srU}^lOyd-3lS6tmo#2{1ZVr?6 zunu7fkmT3!Io>bkq0dL|NysK~xXi=G7zIOQsYx=iGA}Mglv+ZfVMn(tNT3LCDhXutJfX3<6NXrFQyHBqM zk<_EvjCdghY*^RALgEyv-6f+;3`zeW?|_TVi>Q;v-0;f3>A*_YmZ~jDO=;OQ0^0LS z;Imb1+mb7RNDDFn2=o>c7|z3ofyEl1RBi|QoGeBu>c-(;yZ+blxya6xXZ}Gk)#|1H zT>DWq4~*r%5T8LbtS+vxr%p;`Wcz{om9|Xh*#d5Jiqgq-nf~&vHzDSRHrfh`JN_^S_MG&UC)FJpOodMqn^2 zQXIaMnmsQ|(_Aw7=@lVmsI%H?qQ^p{q*MfLcyXcx!Q$4kGwJ-(Syuvy0qnnk&lOt} zl*pCidlcz~TKYe1)$0=uRzIO{(Rd}Nlt~nSNV~{AD?--FMVVfpj(D5``Lo*iWj`5}bv7yhG21IfE5tKD} zyE$-oexbLqHaWgpC$&}hY}<8L@WGAgfvC*swKa?TorpCmwF@9#eju^5oA1RtMR)DS zXDAJUaa#CHt3jbby}ifg^?UFcaV0o!Uhc!^5D?yqXEs2&Z@%NT)Xj^HW+OPZC8pc0 zF99AxH4Fzs*yORw60yxF>S6}(c_ojOH6CKxvzzDExN)rTnKi@~aJbd#@m}lMzSsG^ zb>u{;YV0dC4T8q%EHnsWw$@|=V$RK@^&sSSjkPA^XF&OtAUw;o^teNft%?pI)xUkvNkHS8SjNjjjL zDGs3FNGkk9<=dNc0iqgjER>ehlnJed2H5Iwz?*xeEiyz@V?hA9JVKlTlUEusf@@9J zKCGmYKZNQijSV*;I$bk<2*H!Jr{4SDMju9zu@VE^jnADZyEwi|=@KWGWjcJ~Gh5yU z^bg}V^gy;G&-d4-;j^U*{a6RcGjEZ*jb%tQD=ATl&ruaH2@CSe2I-A`mKk#-b;; z#z!W;W{|G+|LI@D=Z%5ei~V=!8jogL69OTSx_9Dp0&hYt#6bU;DlBvelTQ)<>2-a> z`ySR-{sulfM>S;a6{S1pRu2h5H^dDFg-z%m@@IlZosUutkduuxth#s1yjHR2T}_;G zCy|g_B-Mj51l3%UywA62It87MvfF2N{EoVaX~)SLfZA#1Y@&$84+*R2RL++yDWYQa zqZ&XsbHj7NC=lt5N(F)8Y7{46zbnE2m@@+e>I&h|Z*Z8i(ofJ{LNLT|Hs);~I2$Mc z8p0I2aroD+|7Cm@^DL$gbCxIGJAU`e#`ho3L}lX&pDSe}FT6kXyd}dl;_DJg{?qYw z-M^S9ROuUS;3{<(K$C0*5X~rKo6`VIr>I(7@EOYzZlMmF#3m0RTb`{nV6TQg5L zXO^#zI5lW5CX$WAJ`$L-H4mTpo#8X&K&zH-wt zaIdSi*HhYTS!Z<78>kWv07dR(kzk+DfHHox)R&#G`d)ag%O0aayTllOo z_jp*i?5$$t)}c#Qs0oie%UokD7e;*%euPrJIgYA)8DaX*Ueapf0tg`0jCam;;v`1bJlCy%B+{kHz)-P!xM;4K88opva60z&@NdWrnO zh7*n=iZy+98P1w0`meoqrx3n&-E|N7TNzK1Mbd6h^;pZF4?bFbzR%z#cqVfO&LD`5 z&+niStW;y0UYYf3h7*+7HDTJU!~vS232>`%+HOUS_rNy}h_yK?2d$4vKwD-r8VHl$ z&}cB3gd2enWvPO0zr}V2K9)b%v!OJ0s>sqDzL@9{$iY{bfpDyNO^mc-b|tW&kqJ=w zepcyh?@*clF0i~4Tb|n!k3f1GjmTHc!H4VhK4&wvrlqB@E+eq;`q)k41{lcr&Wc9gW%-zOam0U2RY1wi=xdE?o z&0+%BnpI*c>^fiD-h@Ow@kjA9+b(W0dP=pR-_oG|;>`rz&UCm+wu^)78Rj;>|p zME=Fh&Z3Al8bSqwZ82eeh6rp9^QTw~0^ms^CbnlZpioXr-&{Ot2|5kraaeN+nLtWW zQxl_V77+{7t6|f1SPf5l-%?G7bApS{e6lr{A@uqg%83r*QtzLi^nsWsrR9jc2Gmso zQTIiv(_OFeP!VWRCZQU7yGpyCTgVn#Fsmr^9Zeyl(C&~B2@5=f>w(*vYN8%Q7^M9L zTi!lM}^P!S+kV*fZUp^T2^`?G6P!#gTW{+PKX^N1%+nnn%jU^x5H$M*ItQB)4_nY zndv_v%qpDA;4l?cydUH@--@%M7(tMH=Xm=x?jZ_*hv*tw$GK11qyIkoP6Pu8I8t>K?4^%X=Hd=9s4w0GgNH&wJip7C(!COm3QKWR-XOJY6?Zzcmqai^E6 z3Y=Ojcq~GzrPF6_f1?~p9BYt-Tk1K-Imo5(b$G-qLpw{TI(sXLSNMaLysN$LI^-EX z1aXQeyHHV51vSa5#;(aNtiT zjd&$P{L|rwzE(EwMU>D4&i1|t>K2_P#W)wQyNbnC)XO*U**}9I0pZnIYDR_6K;BMm zE&ET1Q$A_F=FR7$wXKGC;j>=^>;TYH6la#|I%@=>hsGd{)z7aJlw2J||u=12M^D+BynJFm>(J zsIRez0A|N=7JN46^?+_+1=z4OQ2fqjGUFaNq^0D`#cD?2@%Dn`rYgTlPLo;|SOKf8 zJx~5Ae6Fy%1JNCP4j;6KwZ3fed_B<%)6XbmQ3i&9#{e>M$l){3`G4&74zZfNpuPwk8Q^?P5} ze^ge~A}WVks6VG^GWO$0=}c&0OH z5$2(J#U6n?W|u$$F=m@l@9P|n>GRlIPj`J7q5?O=1hm1jIUGy4_yW9Iy!C^Y;cLe) z2_D!Cr$&5WHH4Ji!#ErqM6;vKYB*q0`Oew><)0>doeZ9#9UNps2TMP#OmdTbJoYg0 zx&1`7faqVt=K$yWBc=NlF;k+-v1KM|^JHUQdf?82Xk=*Ve%J!EaVmN&&z;rKoP}eF z+&FLh>)jRc=h?-HC=0Y%v-*$|P*a${V(&*RI02&i!JJPWpv|j0!5f9%#M%*4t^R*_ z>l~g{dMuIi6^Sa$M9=GIYaBjj^NWsWlFqPwbE4pnlY;*~^62aF9!*(kX9r8=hT%X7 z`T=LmA0ATtppBNuoUgxu&(O(kivq!CgJO~x7a=P#zMTxR3ZmQiTrmF)wD0E6e$*#R zx@F*VKF-$Z&iMLFROvrh>}w6zcZNnL?oJM%LvNC2+&GNc;Xk)Z%VV(OHIKwXo=5%! zz?A})`BWRYZ}MJVJ~OL%NNLd#TKpD&PJBj~^-n}W1k;P%RzpJAGI~rBI+@Fzd+@|( ziO&*tO1HdX&VHzBL8?psNN(bu6z7RhRo;#4rSeJ^kfVfZLNo8b8u~P9I&d1GT0!wU zFS-fkA!^5`+#y{(s`tniZ-Vco*6#2i~h}z4!{9XK);4?r@WUlbp zJE^-Sra4XH?!?otYlGj7_bXGpb-2xWq*;T=Gk^lfhRpng!)$7@zl~D2Gsi4RIEDhj zB7!a5!`k;JL=5=sKbgapcKh?ivuqkl%{NGscaNqm}>U_0H4LxsFQQA_Vht>5E(uBrb)46fBpg6Hj%G%}y>f<~Ejb1G7#UH$9ds+N+jMQV}dH2z_Yj zL22+?!E$vWq;M~)oZW2PoV0<_o~O5rsz(j4y0nVy-^pQrl2 z8+mN`E7q-YsokyMGv<7u+=TH0FRE8D)w}WG*YG*m(PE7q#4a`viO)EGb zLNbWZ8dW+$w1+ig6UuCnk%bbTHFP3`Xbq$*A*)ITud&#+;#i5#;MnD3B9mi=B-_am zC->RVi5mdzKZVa8Fbx^I9{!N{Y+*v?#AmY|%d#(kS&x$~B@X;K*jnh-@yY-(jY zI4_PrEBIWZ2f2!3|H=tz<+3Hs4VDpElHsPKJPw8&KKJX`?+|zq(L#0wSkg-;&7!4x z#erS4M&7U5`pEm)yt6d;7tImvUK6f4{;=!W!S^%=R!$7PKQj7B|HR)NwfS@X-VgQr z>ij#?O{fO+L)a1nyO~?}J5Vt*a2?|Kaa{I2#+ zeZzOAH%+v#B9l(C^Uth)oXAEcxW6M9`rRL1%f}H+vTl6qvkaYz36QY z!E%N*$Gx%kK2m2Bq)*yOBdqR46dojHu-61hT7$+bsACw3A5 z>rjmTA|cltE{dx-iHqmOgtUtN%FpAyNH}=^eEjK`Gecs@Qr1X(&YGOg_99|PYA$NV z!`wZyi{P{KW$rinkb&CXJhzc-?v>+pL=;L#!JNHSHfHSmp$aZJ;>09`##Wqcw}Wf5 z(P8LUtIu{#+R`G$k`YnN;RrGW*EXzd=A;l)1jA>-rYrd@xg@JsyO^HTS1O#S)`&}! zM{EOtY0OX8`b{4i5nqVVT6D>2iJ$Pzf&v$zJhYnbK?ACqlR>B=kPripCDYNF zli%h*XPPsRq*8+Y!B(VLRoqxtt zWbjzgd!721ZYlmF_rJWeq1LD*4p1P3qp|!;&*MJ<+c(5#Xw2FrMT)*#8F){0>(bCi zqUpvJFBFnF_TA>n(A8;6iq*@@2o4G1p6nTZlexg>?PeSk(+P)Y-%m2nPUq+lPc7KY z!NHOm8nw@tvkP66dU1QW zx@PiNWhS04?;eZnz2v&>*LTw9>dkKcte7?qbF->5DgzLMPT{Q6zVMNJ#Y_76b6M|XY+aU1f%eaf+Rti(0BKcoXyepX(UPshd;!J`}HCD;9m(5 zbf8`oDSf+@O|x5yFV|%M?`H>`pF6d`xOH>nG)5)4CROCyU0U2Nwm>@*pL-K}a6GSqvr{2@DY`E8U=UTtCe zQCbHN3&-g4#esKxx!bT{t<$#6OYtk^DCtf>5+>k9xLJ|Gi4P%!Qac4udDVcb`tt&7 z4WDk0@97eR{WH;^!UX>{tEMMD`x9eo(b;H{CV4Jgh=0fUE;%|!DkY0!sb)$T(?sci zh|dX$yi|@aDQB)_A-L;}gZ+^e72Xv5pQ&w6&8+wI58QeuJ|{%4kA5`Y`(fkh?FqDH z@Y~I$(aTd38RwOV7qKqKYRP!Lyg53)*qh&`)Xk2qDZy0EzdG1{3d=U-? zPPhV~jt9Ry3iEuiCUQyt7p)0xj#y&*3yd;#Ibt;CQq>@y#U%&C_xL0hR6%s2I@=SZ zn;5zpU{+(%24|zzjk*;Szw@H&lSs09-6BJl51kt>fk>wCu_CT)2Xz`1HrM~@Hd;TI zY!W7?0vy!SvK4sX!FEw)JUP0U}f7EC%orG=HOijM)5aU?`TG>?$Y97 zHImlxH=B{rER%Ep`QG~8+M$B1*Gv!D7BB0gpHvO-W>cbncsNcx>B%aN958* zVYIdcos2s1Spb+K;kA<$_?#7QUc=|cL$&PQZrz~$PV(%{U*pf%az>!R=O@mqJ(zb` zt+TBM_7>y|JC~5(?X%&B>URl2peo1!6Of?m&@&^2szC`28HTaeIP5j?ypKPCQ}1JC z0k$OuGVDGv=S6?!9}GraP7+CZ1nneZL%%fnLz^uJ<#=V^sV4?`((M~AGgWr?R?S-o z6U0N@WvMe@TL*XkL^Am8fuFxw82h-^TeUCeN24u_Xt`Y)j%cO4zeqge^0+nWY(eL( zuiqRhbbwG%PR7uKjYzUyd>*A!J=fy#cAWaO(AYTK4xL%y2AkhkZ;Q96 z0;RmrGrBI>V4+O1FT$+TFz~DiX|^NYyngLwOF}z~7SuaGsXu|U8?bDZD`}{cusC5+ zfGo_1Je&1rbP)hC1PmWPm&A;8UyKf3%X5K$ns^xe%~%+qP)IuPTQTHUAkabYH}KhL z+OyI)g;4_F4GQWgLXx;`!y?OYN%(RmmDNfgNPPBMfqyq*C-VDU>lX)raylo%I@Pi} zRfB7DaCOPkO>H;kcSc4hKdTSD$)A%>LuO_9=K4S1p6h+SyP&p*XOF5EnaCIsFZ;*O z=2q5vC+c7Kjs1Ocad={FS`jwnJgS}sK8K~x%-3L`YtIgxA8o~}d$4tyt2z*{=t&~> z>D4pGr>aY%46MDlU3l>2`Oe9{PB#Cw+_L>`S`+LGeFCXi95RepJ#fin&d49vK-=C2 zz9npviNoUC_*?<#sQ7ampBWC~CpQ{AHDNy&9oD;Gvij@Y$0>mo; z0$^wt^@mO_bKYw?45gg^`+BYBz~=;K_*@`5#OE%2Zp$5Lwz3J6as0FcUTbHquWP0D zT1Tl!{`@vF=R5x_KIgaPt03W@*QW-bEl*x;IgZu|vyO1Wq7}GsM5Z)qp%FGguo*Pq z<(U<&bfohjIHqlUw#CF}92jC?(Y8)P1dB{yjO|i9h9Lk=s(Hjk2_g-nrf><&0md3l zGZQgJFEKHuB5jtYm*2+8r~zkR0-V|MqL0LNpo=Cp47Yxnhtw@odjHvuQFg1o$De#V z+56>WBr;d{{9v;gZEHqLFMwAXlxokAneE`bR2jqrJ50Z(v%UJ3!yjGSnxDXz%2hZr&DSLL&KD62Yy)G^-B* zOJ|b^5GYO1))J+KReN?1n-y6>G!jKcfrL&;-Z|eRzwm0g&ycKXq+9d)$M0ImEE+ok zW?s^W&Wv5cvcT+@Qc;R2P31%R49eU1TtQ_5f`2A}=Y=-|LJ!sqmLcQfvDZKt>(|H{ z8V)|AK*Q9WqH9~Rxd14?6}0~?e72lJ-{^37_s<05zX1M{!9nZ!)#c*e-tg)YrI!jZ zzh9qde4qFn!t&s)nStB9esg^v&-C5hX+FB#ZSW7oF_t#PpL#Oex=e+!>EuRQ_=*lOxt(=Xt^h+Tr5c_K7ZLX$?M zdS?a5?PvF-oyP6L*za4IvI^pi&a(p)2vTWb>=bRpB*E21BL~8lo)4fa)iz?AvxzuO zUh76?*Y5)7+-rpNQ`g-U3r=8(Q<1_VUZ0t2HB73F)15e;V1^@b>Li)Z+&bI9n3quGd$Gl61r4yRXsaY#nPlIUD{~2_W!Ud0vOWI)=M< zZw6wBe^$7-5=C7=W3hQ}w7`E~Tj|^7C~$0C%gXJMlu>F+ddEf7`>j26X6Wd7Yw~(S zhTVgW+P4csU(F39UM08xXpm7bAUO8H>=4{wBd6JAQ&SjWX=Aar+^`HQd^WEP5Hd_& z2C(EZ;|O5=6Y7S4p&Y7WCpDi_vIwQ36eeW|yY8JG3zj%P1-{T}Y6ep%n}Eqz6Vl8S z>s}~?SzW5eMT{TUA$Alu83A~laiM~W#0F3fG`utU)cMz+)%zcAHY28VGxAOP_ZL;w zASgL1#px=l_xJ70_Any0X3bk%R1?D=prIZ+9kr03SPSCHmTEjiN!>}8rZ+l4hm_V4 z$s_9vwf*%_hBul5r7}=3eR*E}c}`Bq3FHAX=B$N6QVP22aP@UJkN20h*Chg5gP>jp zG~W|kYV5AXZg_qC^TbnnAXWnh5FS=4l=co@M~?PGunvG&9Xb|ZTIRXx%Myq~Jv7~A zr$7RI#$6>gCPU5}_9a!T9wEOx*wJbk^f)UdJV7Wun&-C|<1w0!%_X)7mfKq)%Rp%m ziEL-skNyNoybtyrubMr`;8yq?yTE#LDNeDBVm_s|z|F#1Yh-RVNP ze_`;w>46WNe>5@tRcpTYYJVwCylICxUPYTuKYn*=t#@{>PT~mnXr8lxLYJA4zCy1#d1C$){~F*jdvO&ezu|MAN(`9^ z8e|qNug?G4^L?{Iyjhej+KlM#MCP1JIUjUI^hQw&S*GDKyF9X;6vZQKE6r5VI6Fvc zw(tI#3FQK^q`yvvjZxuqs}7=_jiNbmOf#RgHgoQ9Z|^9+?GfCV?NwwZ15j{2^2{PT z7NvZ$fm-7vxmEddrkVI9lCrrcLSCMr5wU4LKYzZ^S|myf9XF8#KU)h+TU;uUED4!a zBv5inIETZI{TyS#lj0a+ML1vD*iuv-_-sP5^-_W}UA1?EY9|Z0tx=SU?s@%dpZ~S@ z->EHlGs$z-M-tT*71Spmf`}(Ob;-yuJYU;jUhd~s^ zNjm&q344q4$=CQh81pirM zWo-&siJ9?7&9ENPY|sjgaVnNI9XLg1q&l&h&Fg(TEMN}`UGUjo;aZfgK>O7&so;;& z^ofTRGQV*FoSV-bBoP52WLqYZyD~ALv>Vo3vpQ)VPgd(64*vY*bU$Bb29yT86#Fhq z#3RgLxgaw}VM+(DFm+AHc4&PNl@c^nsEY-K6<9=AlZ_rYBhMD5C8;JhoqS-r+P1>`-EkZGPo#VCMV;nT2_35K>fa%;}%dPrp2?Y!v9}D(UAX*o3xD-!)IH3%v{?RxU_zDe~ zz0BtWI+DS5kU7DmLg~B+aE1w;6HZaw!k;7D5#u$o1{6N0Eze2B;;`EqdTwQ(k(6Zb zHp;On_|ZIMr|ew5IewxjEx#;HiMRCSy0>t=>y5qb>E(F>f^rsvOO2_;iK)TQ=ZEjk zH@@H69KE<&e<^B!yDvgAUR+;YTwfla94;U2)z=pv*T+70fZfu_tv4dF{1Zx#jole< z-m7m6PfN`x_^cn`QiaTKTvYh%8SC3CGDBxKm({Z9!so~xrSLdkpl6|GZ)Nf)4tG!H zd?#Pi8VzM{eUADk?8k!_VPE%#QE84vnkYl{^iaiSDD8KL7iJ=#bYnIum?q4EsQMZbSSt7pVdfp&Ycw}gB3@@ z%AQ9lLP=6D7?lpXl{OxSSFSW0Ym1hK092A4Shi;ExkVETKsFV#xz2|3fN1e}TSr^J zhO2KQ^Zy(^C&u#7jUF#6R*X4+-gx}Q%+mzt!0O^sOfY}rwHu$2WQ3Wk5hkk%9Imdl zss7!j)1AgoR>{lk_o)7%0%x{THyD!pD}Nite!=JOru#k{xIcT?62QO!&rU0AIjYv$ z)66W>2a~dbX=$_KJmKtJ$LhwC#mXPanq!_n-Hza!O_jjnZwN=rUoBJwahuC z9^f;a#1ds`QQD)?C^u(%)&rcayQ+!*oMY%6v{NBIx2N$ zE*TChX9px`J4jGy5M2PLBA?y(3~%cjOPTW6j6pkmdRPa(LDlblue~el$F>gVu zfiOT62@nA-VQ<26;&Asr^Zfv4BfII_B62nH*&?NG!DrjFp)@o+Vn&A?ZMbct=7#U5 za-dIQctR#(WZBb?)>Ha0%0NsMaSW4+Nh>q#1)Eobl7u^@p_MF-z!+iY8_OVZtu=FX zrr6!H^B4QiulFuwqnck)24K$-D9g298be==J^65|H&VtH$8N2Rd>F|Kujhj+k25>| z@%Y4N<8u#Hv|$R*)=u_nOle zn=pA`Z%#_=z2-oaaCf%R)MLmDqW@lhtg0mIK0`QyZxbGlF?qp z8Hh)CMt`q@{Zd|7nGuiL2&E;WO|XdwJocVbHT!_6M?ZsRS2EC=c$;r0R z7g9jzIjtt3RuYhY3zBdu6$Y3^I^T}Q?pQlJc93omxQLPC`b1Z~?j9Z1cUlAU!(Y$! zSy;E{`fgFD#b~M6@ajCQ*YR1n?ApX9wZYq?li$p5k2~lP3k{EO9B2FvaL#=k213H< zic%FBQDoPn1Zq$UJmuwh&4`73 z_0O7I@>hkFm1~fNXP$(`9nF;BJGjwl5g@cs3kW)+d4|;129Od03a*hT*l4@Qt0_^S z05X_eR$?wjU(4p@;YvR~v)8H=S;q~8a{Es{<|3zP8wxs7KrkzSwlSA6W@JfU;*&m) zeesvU1VK$e07SR}P~&De;7kT{gM-Oam`MD{xFyU_E)6ZCb!>ST)nxV=zepXOKih@U zV1(0C4>VhIQRb^O^Q~B*=d`=QnKA#>ys}OB^>mMNd~>fksep zJ-m&pyX&I$OnwbJiuNMpI1S?^KQ0_?{WRGp0Z^KD%z+64SLEH?nS4xUcf`!&hVx7} zfGs0MeH-@^!6$f8NwlX#Mf|o3fji6OCb|>mY&7k&>}dO%y_lFU;j3LFHtW6?XMsJp zjUEM@`Nb?NOAH0_SI8du!e?NM)ykwYA~^~s2Bp#H*t=tVlbV)qi_aIXn2-*UU^SIe z9tyo((g*u}b!#>8nM2B=hEXxyJ7uoMF0%-JlESS-p-@2`rYH05+=ERE$E zlKb-MzUMVhY*pD5c*(}H@V+7pBn3T2MqrvjOIvw0pIub*yqHCCM4+A&z-%88HDsGG zS4|9)hYsn#x|0C;&JN|mKjHJj_B#GxYfuWFFpf63bAEH4akuIQWM-Mkb`1t*44LzB zim|C%iYbKMU1UXKksH_oxQLZoB96=f)FLN_8TH?Q&#)RkNAUCc#y4|)Ae8v*$PYqC zcnOs+o_u(VpKJ8VClkG&O%HzA9Q%Hy{&;6;=y+}VY8Nsi$v-WReqHaulRq2(<&)8$ zAv3pQs@#=89T!C{iPsJ|Cq6qK)Jj*y;`^yyQ%DDP;xHpGp0yPVywm~(yu@djK9K|w z_6R1)J03*>lWBXC)r`Rk?$Y_N3)hMrwu8XNT}ymUo7%KYY5~#>4IIeN1df&E?4Q;( zQW{YCd^;(Jsf%&ZLsYs0^0^%V0T;v;s{W){x#6~hDE6zxY`i{YXVDO-VY&{G`V%f!AwAtQJSI8E@md^{A?a0s96gzx zVort!@SntI>kA)1ALyHdR3c+Fp+ZpvC+8OJv zRHYMW0gIf@OvxliquGM)==ou=6yFn1q6NkBM6OOQj&`5zU{G8GMjtj>wwlqQY?z{^ zw>J~~!wN2$bP3VPwJLB{Hwkn0raNIB!#&{aO-e$_ttPpRz<&a#)afFjgvSj;n<2#{ zyt=rM5Exp=Q`Ik5>l&4qPc7&0E54B>0y{Kk7m7iJEg$Jy)jJs-1I%HU?Pq9Xd- zt=iiBw4H*^z$Yli$#XF+V|x`w{!)+yxgf%BJ%~_1I4oQTAlr19Bm`%TVd9pG%Q!m3 zC=<9~i~a}uMklY^QpS4IHfpSS8FUL#I!D<+YqkJeTh&l6T4n2GFHX?AI?*i=6c_(* z$H@Rdb_CF)7??s+t?A*(N5fA(uRp%M+WY?Iz@N5<|FAp!zjlZIv|AurmN#%FZbU_$ zk#`quNPJ%De}8@8uk(HH&(*$eF82;cEmQTqe-}OjTiaYBr_GTjqnzx}d<}5%9#Umh zrLdbI|13><0-M5~#lA2ra!~|I%kV0*R|Ol6QP9fZGFv!^gHEi>NQnxc#rBGDh|qGc zPt6D07U-jLl+&`Jzi4`XPH`9?=2?zdloA3|p>*Ig12^~;U+s0cp;yZMm-zF$@mcVO zXhjl-%J6u*oygt_@Xb9-!-&O}`r;hJFC!RHbNq(zgsl{iQjT%t2@+Km@#J<5HKMl` zJh;dAfgm&M&Hq#Q3`G-2L+F?c#{2WiIRD`7;qRT4M}HPy@o;-uti|x@iumNdgOy*_ zo8LCaKb!3TWbA3S5IQE~1aMBnk7;eC`rI21#Q0AomM>o`d=9McoPX*9&I4zv)ZUF; z+6%}GpRHEF!b(zICpO{|wrYU`RmoG4YQglTJzg9Iu&m6sut(+SOO=d-=uR|OtmyOx zMqglh!2v9*R&#E1QHKa_2_c9?zz~oxyfG`HjO1=H>P(O0o3mLy)&(qb zPw1`&PC=yu_~3JGp@BWZJzOg(E@(P>&i@roBLAoHy1gH!`Xx*LUCGeN{x8RS(INkp zmF>fZ2K5zmw|=eW_9bS*5b)C^@!W8ABXc7|vf*?2R(~F6RQacUAq1kAry^At1qKVY zxRbn@R5oI_3U;JaRAim&f47wLByxCn7Lm7blC~O@A`orpRaa0~q2A(9Yd0NBQE^C$ zU_aXml(W3`2}2v!r(K?94yIkDW?^@(QVr$*l$Qby3`;Xgzh`cv{} zXJBQuoJTYwY$2~7j z7k@ej&5NbOoxa6-99z5@`0NiYH}k~D;`7y0=fl!BcGhU@k?a$yp>ubh?Vr&S(c@rs z#>n(Tn=vA>9Be?Z^bLH2j%OQ+by^q^aL#-mDL-UJi_tH7aO>AZ%@uvC_V8_dgLUm_ zjhV-v%s%~i=5f{9b&|_zs;^ylK=PBB9?dsIqZ=0i86OUrqBO#VCYny;u%k$PU3>CV zb8vibe(q{};Anp6`O?VQ>fp&DeEwl|l%wz~u8vO8c&MH{IbQ>HOLWI?y>{bs@dGAS zR}M!K$KM7XAh9Bo0)NUu7<7AB%0#mNk^&Q$%SKKo zol!I`k%z**B4(g!KtAdc?5_z^uNEwvl8_ck~X@t@<_JJW}K|5DN>}p(roLG;O#qGgg_J)dS{$i z5zTSQWCxh6*pYngJZOo0@!i6}{nb$?L2%?vJX@JQ+h|^FHBMT~S3A;*ooD*>LO)GI z6bEqwlDAR4RN>%l?7kV-zXi+He|-y|VS9n-c0dT`+%q>$tZ19Jg*oGLHg^LTYprv# zLwlGuBKOBcG6z!6Z;PvT*bX^_;ZmZYt10Be0s}Z1(^|*MGVtDOqJf|0Y?3*pAyJxw zgb9usBZn)g3|k^0V7K*nKuc0gn$EOlttl+gy^%CMi35d{)g*S_d24tL@CR z(Vwtd0pW-PXHb`etE^VoYpfMZAsrVIE=?@8IJ!7EwJ|ZVJ~_VLkOpE*{itAI&BgTIl1;}A=cWdz(G@d_aRiy; z4zm^VnGmhRNf}-_!pL6*q76zoI5bl$of>Af)uij}aUium%E8j~~+kx3;t(*p8Olhc=bWj?FzRx#%UXZQ?uus**l^fzl6 zA(refleWAD!C)_A7m?hwGOHw=Dgkm)O+~>T-n8l4{gLMipP^HFVW`KZy4Y7UA6N0F z^9M11^Et~@DhMVkcJumRl!`Jx&QC{Xw|>JMR>%I?Zk)X zr+hy%HnL5eKli&>5b3+Uf;yQj_E{Ti*(oA}z$j3tG$`$s41_EL4O((V+3dpa^D-*W z>s4WI6jzAqyd-fcK_FMc+e=>!j(09xq#dq_xxryyp5RZz^iPOQ9E-r$^?4=_b=21B z+kB7ymzxP0+EUfcwVg=(Gs6ez8sD6n*&LW%`eAbPLlyfKVE-5J88}BP>IZPvqDJ)4 z2NJ-iroXPu|6E`0udR(u`Z>polpLkZD)n3yc}4?ZwJxPUm^PM7hu9Q-wFA+3i%#az z2%li9-aJ?_LqKbZ+rBh0l3M#_#Kuf+>kK9HD8bn)EY<9N94Lye*u+Ds+F3Ss$c)?Y zCDxaD&RV1}l)wr3BNxm@L$4AM_kmF}j&?x&BvmhVF%uvPMeeLHY?-%AV5_yP7u&S3 z0jM6X9H-rt14*5DN7Ha%M@WZO4dRiynXTWN^`!8*SUQZI--XZ0fY=0u`08ruavG80 z^T~(ue1BXRhM5mrlR$O&cmbBe)$Rsh-_=?Z&)2o_lQl=bjUKHi5ijw<(MWi*loN#c zhvi|h8DGuzMEW*5J@HF6;TH6b@1}dO=x+p3l(g=|XPBHV1NQz!aE8)v;WKcKR1~4k zwccNvBl^?Sq5v?CGi<{vPHRDNZN!FKBrNkp)8U#qV4ubJD8QyG9EQv)KSXhi60{ao zAUfI2AX->m;u6VXaBdQEBF3US#K*#I>WAM-c3ou8NczyQYv|3dWUO%yvIfq4c=HlZ zW`b4V45IlB)k&75X7ZcTU?Gq}v5S%g6K<)6ny^e>8xyj#9bDk38Jy`&@FH|m44#!@ znrR}L;WieH$U#Cg6LSC&COOx9cz>2=0LWl-%0JN+UJ^e+iRC|aRGbMWzHaA6#iS+f z7|DIK=n!WXYjzC}p4JCLVBum<@%$g^L$ru*MjkQ{NII4nHpR`IV2;zex3T%U<|)8( z)!3ETGF%Qv8jsCOb=fXzt;H{f9t*~a>QApUWOs-`*+vaPh0mBjX%yrJ>MqaPi8wT)TVk09Jc2|j##6D>1rZi^) zXFC@7Tm}MGOY_02sZVS);LOrAB8EOUP@8E6_7vk91t_sJTrlOdXd!mM+4-c%hA#>4 z@LHpk>}c2Dh;>@@wBG>dO6y4e?5IkHi7!!4?^R$hVRrIi)hNbQ>y8;F1y}9wvprSo z{!A*&UPC15lsS5X{Zbh6r{QFjfS4UCS$Rp8&$&|k8pdcjSd|t_vMdN0yws_?CArBIVy6p}Gv!P?v>7sk zWh$1LGkUOUP9~{#k|44nJGk|wrk}V?Yi*^l!L($!90c}wb&YqxhnEA*F^v2xK zgABikECyxqRvTOiXoCq*WR1&kc~e(PcwTPYXr~>-hVHf@JXAsL#2cHCG5JgMvIjTE z7-(suL2UFG(qe#u1o+%NW{97hj2(OikC|EvoRcmx9?7H-KHgspUtxV~evTJ368hH7 zSXzgM?2%zDC7Tp-!kL1{I(e4Cxuaem(m5hlyUxjoV1^&y%oIPAvR(-ds7* z6Fk}!bd;xHy%u51CV6kQ*0-}9euQ$0^!)nL(vF0$ zb@mABgE5lO;Z+~@+25XRSNz$mD6U2up99OH=}8$GN}1X05}yl;jzF($-bCAcgVoIz zi=njR%S0#*vT-r<3zLJG39PDi2w&NVa}d`rjb8|Ef5*;1Dk_yrSa*7$+^{LVWI54@CyKHOv9`;y_2!zib%SWMN48ubhXmqMbj?I_T%OlfaPS# z-PyF)tWDy4s()P1!^=@)*<6BP@?JG0kbWDwK?nSUx0Kt^rD1dwP0w(|0F`N6y&5U= z$2P5{9@3sm<--6RPcHjv1Y=ZUgOx+UM#rSrA>{dZmi(rzDOcg{FYTS2tUJ~<||Xp9;--|DpP zzy1A~-2KTn@EJr`_zVZW>VF`*73ZQv49adx6s60-3bMo4pytm8b%xAwO_V66npKC2LJ=MD!i~);~@ASn`GYnM<;z ztZuMCe}ib@>4?nr(quh6Kd3E5K9YJdCp6u1cGQ$b5nhv_WWoM z;!-@9i1*?cprMg~G4vJ)>10^p!5a$#(qieA{Ur}rX9W2tQY|3EM)u=$e_(!d&Ugwk_Ef0^uk zZ=(OB+US?l6Zbb-^_|@nXJUrES*mi`dh9r!!t@456*#}M-qb6U?wn&17*%{X_=bL9 zzhD55rCH4tFG(v0U0Av6G$>^i|G;eP8UR1 zJ83n1)rHwk0D%lX@2`sOa}DZ`&%)0Rq7$xtUabQYCc-?z(>D{1IIS>xm~1C;CF^jgVLWduc-i&g{y*#<-Pxc(lis@d2UBX?0>dFcW^_ zy0kLX6k3`~ukg93%_L%^dfJLBp|F_q!{(S;aGTcnK`Xpno%s_pnJ}^vo_!juzp`Kj z?*R%QQ!&`Mi!L+s-3ExT%)u0(u*Q7`<&&`joWNxVaa|9EegHkM^^D=DD;H{E!HMDqLNj=4?#DAoxvW1rkopAmIXM zFa@y@TGc^u9z6z*>?tbDBhQsV${JNb50whl#nC`FFNBOfSe(oNW)#=ZfM_R@f79r{ zuR_~ZoSg2d5hp_clPeuBa1vZE&rU7QWUv!QI!{f>N->)LB@_5LXg#?&m{qG&Kq&)f zHLCO^yxV|s4`Kp{H*oV78Y?wh3F?b7N?ee>1OZNb4lA`lv@f9y+nemvNx&ed#sJY+ z9Fi2apY4$`HGKkyg=n&*;#hVLi&DPHhztA^&4o0^8ZSlvvQ`NM^NbEVNJni1l|@E* zX4Z$nIEtyAxv6Co`e}XaqsG7=+xT2g2<=4EeHa(-^bfwypI?1uBobTJ zM*fUQFAe=^q5qGZhK}%<>Hm0U}-DV}@Xd{Wz@l~Bx;bE+= zGTc1Tc60Wf`RrCTsztP7?7&!P9Q5P$mVN;X#4<6^q)ywqn9sGHb>Va7n5AKFGMPQE zntp1?EAQ5?fZldJijQr@X$~Ozwfp&f_+0+nH~iE1oDm)Q`X)Yi!iiBhCoco{P&)pHx5CBy}sD2phF{7fB1E1sU*Tb_T;LK)3S8Thj?KMMI6pu^M zIO4CcHO?>Owm7UEigZqJ0KXL(0JbO=4@IYX^O=}iPzfB&G%L~U4Lz!3?6`<`=#EZQ zxj9QbH!Z~^D9l{k!1E!#Fgcpc(9$GF;T!mDy22~&u<)rp+jYp}t?Awmr+T!^;tYr${&{SF zY2yX<&Zl!Gl!avx@lmC;nm7}#aPS3J1(pEi6a#r`E+Q;7{)h0K3g9ZqCNP#tqgx0C z9R2F%A*EKF-Gryl>I1OEmTVlIaaPyWvEL2mTu!p6@HzH{*YTNMoTjla(HpXT?SMK~ z=_eZ;wTHWbaU@*`@({i>5z$lotE(@L?V&<(?Aqz%)lskulz|$PikA&0sNJlWM24Wy zKt>RwA+S+uY;&?tY|UFs@eM2EOWPAuQ(xAGqUHuPb~s)8Waps|)&@Ux{R(?u2Wkl{ zuPGZ4+dCt{qBSTj39&W!r|t0%WQ#8je0;n*nSJ|0yy4B|(b?Y8)?9N-4XX(7NI?}e zy~5{CUBm$74v+>=cktOoY@p>oB^lNm=B)*l-U{3aN?WQgqm(^o;>pp=XKQCW{2GFV zx;c{XsUXo8iWjvn>%EMcW|Q(Pz1m?x5namhWUCW)s&8#*d zgPHG43Ue$x<~Nk*H}M&TegmJY`>CXicV48jfj|56gy`STMgQ?9yWDVXms}M=@%Bae zFpf3brCweAFFs}T5&nZ$jl@x3X~T3x-`R+Mf}m9dQ$&X`0R-| z^o0ro8TO_n@I5H0_5T4l&-CAJ^xvxY-KqD<<(G1zlgq~Rf(K1Jd3Z?6zLqv)1REv`P|FOT?Dcjflj zuxTRz!@40b!@+WnuVn?_TMhT{lo{W-;~5>-KKPes8gFDYycmLlZHAt}Hv?DNdJpbZ6_ z?YXX%phVX>!npf!PJkmc+MZ6DgJ5nuZx|8^*QB@je#=>)5r3lF^Iv%n{ha^gme4{0 zA>86wCoQSqnCeDMgZ;HuBxtm~9v~~ty)^wOZ<_~O7&XuXN02!{tTgkJ$FM}!&44T+ zAA*7H5zGM_gnY)tXX_<+5%vCfn*zXW6xa9lh~iWOw;O|>H2OcD?n9&n!rd8q;7s1) zw2dGK_sp(Q*U08&StUNhKyJQ>3Vtc4BYZb{#@9}7u1;;P&hD(YBz2W2W&2v#vz^EB zP>~4y;!;k5#x5vUYDg0zKmdD2&-$1z^tU`y?!o@(ex!R7zN*Ib&;xoypP=g^VK99D zN8t*OmK30lsy>8e;LJF(FF%?d(kH~IZGjnG;OwCirCr2z0cSYOM-20gCK>>6bfXJ< zgcOyC8FP1$zxGlco{@Qx$qTwy>0?QMqjQhP2S1W#vN3Xdd*~Kq&IYRkpGW`vX7lE| z@Ogfu;PcRj^o`)p1Akc?{%E%6?#`#+Rz0(_G zfO=|gW_%}(HBpMW4`^>ra%BcSbES2HqVtj8iO+>m2X4QDN_&|Sb6fMx<2B5gSK|52 z^Y;8K{D<&JwPuh;5Kc)d;jFJ3v#V;o@(?ADm!O?6KuWw*keuS>Z*zbYkc+D95#mmK zUM$Vp($NcKCY~Qe@18v)JsI>Q$;^j1!?BZo(hat*-$vu#e&^qX*?$?myYN~4Pxu@a zjri|=CEnxr-{+hBdAgnVoyx{%V~-!qjIcwIkb=+DjSEUF7y-zd31i>_tEpT3zZXa0 zBT!r5;>dadaU2#U3jGCmOauml*j*5wa&l|b31o{oBmN+2(;3rX%ff!v=WOvdYaH8` zh-T-3qAj~-?~^xu00;JYsxnB2?S2B@@>LO4oSno)?xuae+W^|W&1ZbMP2V4a0z4dU z`@8@Nw`9NY0i+8!3kS6e0B1OZt0&_k7er+K`rMO(CqP@E9cU_ay)DP-A1%tEFNtjq z!5OYb0I<;I%M;D+hI7gvBv~`Ib2%tPbeRJMmY(k!J^^DkV%w!ra4p{3j>)WuQ7eF4y~gtAR&cIgr%WPn zwq*k-6Ea?nwSv++YqlGzRMdZX;l{2T8>@CJ^Hw^xx)~E|Ba_16Bmnl`-s-=z*MEDb z|2BOi^yhyDpDX^H=p8lgdhTpCo+vjBnaE0d{^Hrr{N$sN$G4^j-yeDS|I~WkpB?^U zv2lNK>B-#Mps13G&9Tv~0Oy{~TF=Hbcb@q+*y7-G)-Ay*wxq=8Uwch_hJFEnB|E0S zRd+6fxXtC~o6ZVEr!zLyqSMSqP6VbL_XI(&-8O|JEmm!OHQWd781)kDk<2-N<+WG8 zShkp8^>$BX{MV)ANK^X%3qFgumK38z(tjAA>rd#JT03TAD#Ev%%7;u+8WWr?YI-a| z63fm@E)$i(h82|oNd2NsL0p;dhuc6Hb@V>y_6n&W29)-n*kZmd z0y9cXoj(WWK9JxX_tR>+J$nJ=mL^j~5_JzQVY{z_&uuL?VpAhAIastHt{uk*N05NW zOh8LbfE5px`A5>Hrud8{K*w}^;lpJao**LkNG(bi>!7te) z(o7-=(B}C}1z}ZEL8&wHY7tgMk1Lw2bYmMzS8A+0KEJHVMGc|~W zN-Ua)ZKozW25Brou*uu=noeSdM1h6H20%~@QxR;HsM%Re36P7|Vdn6bL2cI#G-lq3Y+kP^K=&WfH%Q-b z{#I$}Z=!NL8T{+%KDC_*!l2Jm3JXywu=8UMo!~s1k@}Y`C00rau`uC9M-!$%E)NkN zOd2l&4raJD^5JL7Rm-1%S{YA7OQSWqK*# znox`!W|23D3Ri)WuL27`=^eKLw7pv0IIy1so|MU8$R%2XK}YQM4L&f?9FOl5fn2J5 zyP(OyWDE~D+Y4Y0QeClyvRK*D z@+;R|Z(u6I;Yu1E!IonVqC)9p?0}SN3Vx#=ND&7}nTRDhH%dT@6fPU0Y{9^sbj@(Q zUK}JHWh3YWhCp%XM{Fv!N^qC%^%H)G6KC4FLd(tN%@w6QbXV>&UdwY`(+{0;xcB^c zuC-KOiAZK#YYg#r(nodbXqf{RuU*f=H}1?R5G`E6>Cy$LsTx|qwF`R$T1%e?o;;5> zeF2Re1e9myfJWl5v*=_G1(Yg$Hrd(~nq0Ql6qS*-mBMu)0|hdfQ#3wrkwu!Xpx9<@?Q7!S z%0H3GGyW{j#G&SRfY{~|a7H*bu1_!=AOO3dE_Th$he#*>2*3c*Q5W}YPw+5!pIn?K zk_6pV&qtwPp;<*mL7PjiTzDIa%-%GeNNv7{`3$0co)c5ngQhU1Ur~Gsyg(3tlHeSC zzPLZqj!TF(wPNir%|y=i3wh`p_%KsZFoVQZ*jqL4gJtn`=@WF}pZK#6_^?;Z)*nXp z^y*xO;Zdjc2A~#cKv6NtLA07n1nofSmkN4B=^;edKapy7jiCYW_R3JLiz}Z5%@FW_ zY*^r|t3f4*_PV9;Y}vxzz-M_z-Bth`!>Od=+D&w$3yW+0*}iZKgg?M}Ey`iF>m(F> zwga+FqHnL+(UQKyA%#n8>0G9N7N|lenORX7#MEl-ZFpq(Y=BS#vWCH`z*#?c<8v%( zzvU2N2X^0_3ig0Az}e6FD}$Ty^X;|29{w_4t1??DeGi=5mX1lKSRcn6nmW2YJ-t3L z!)G@FqCZ_3`Ut=-48Ql!;&WhZq0n<9cjm|Msg)wyGBzagJQw*~e{JB?nZa9}iEZU% z{12y_dGrSoH4hp4RPGr}z(b1Jl6d*`P33iIbgnn@@3X!xhhO?{QI5D@^d9&SN^ zrU&RY3W=~#Y>4_Cn+>SExd>~*F2*Zb__K|}FRD`-0!Uar(L9Ka!&V}-@Zj1`YOo>% zAxe*492ukW9Wl}iJ>}?X7?`$+i~W zlLjx0e%KiP`O<7tN4MLXQapC*dG_i|FAsvM=nUd$i(N> zp${F-GTVP^X5gdx;N7XAzttwcooW6uy*e5Bs-xSDB5WF>Wl_;H<1{l&fr}mIJe3vUO4PkVq~-x~vot`})u}r$s&LR()b? zw!S;Rc)aSM2P49rK~pM+cgOj#|99iFbj9zMMigj@a-;R9|3Q2XeWM(SqC(E!hJSuA zJCs3g)-r<{PXjLud2E(h&BNqXgeq+i$;mx5w$VZ1r3Y{HPX=24J;y| z6toEZO+uXb3W3U+;l_UZ=cXvS@EIt9GK(m@{5R)-*HX14!H!Hr%T4oh)-s63nJqNG z$j9fCTubJd6&fiF1)wl_>%&g~bC@hxTF4g53qV=d7$(WZ+@qX3i%RT)PXZIcoTL&A z0Y2yM6STQRsAld!;B9}bm^lR%KBxHL2J%jTgCj(dv>5u3Ep1!4yt5LAhDh62FjmB!f$%5nFCn1NgEQCe><{%omiLVG4Krt{rcfUB z%%hb(!mLwTd{>=b5DoNX27&0=^)X1;82@r%=%bb4TLHWzjq-Z+Stlj!gizA;*_x=$r$Dc_V0nuaf!T*@}>{kMx3x$?xE@g&?aiRZ% zX77i9n)|Xg_4Q=)vHEx_FHNmaPHs+N)S3_!Pg;R?H$LnCY`QT81o*6ObB+#)(oSl6 z>oLnSCOn$miQLQ2d-a7n$712EVX+pr6XkBgG{&PY4lxYyaXSphf3e}i= z@N|EsZ@2OB=#Oe5Nly8B9^+Y2Pl2=+r+!veZE5#6Uh z4^>&G8lCK_%tIBi^D0&3_PX(z-XcOfXnbjT%|~EX@JD!}NFga5!fMV{oXFrhNm?#& zt4RlfXeo#62nwgQdU6>XcSdwjJp8V1*C(0aFwtrRK9eTO+VnkkWFu~?G6`*hg3s+! zW`zyinBT7s2J<%L_w!2nL62{NTIPxJ79(!{4#rXzOfMD#C z4Q$QC^?_US{eNlp{Q<`gW-d5{lu^E+jsI_BetxFZVxqTzbmx-E8J`^a+t|dHQ?vJH zS9^Ij$5sc2RwIQFL>qz%;u7CPuT|Zc;}Q^EY`|3N>`jDvo!}KX_ij3vKAPm~SFIf{ zr_SEY;?Wvzd~khex|&qdQK`z*kD^$GgQ3{kl37$PRY&DAyxZ4~@bF*aKamaf_T$ys zlZ`lQCL;0LZF+dSKC;so-JS6oG2v?y0uJ3jH|{`dDhq4-CyLJP8w*D=!e$J;I4J1B z|Nd{`;Xi}MZ~qW{R)R@Eeg*EbtmuCVp9O5lL;0-Hr*`Pq<308L^_>^zqNiw35jIec z>(vSPq5NXTIOS6p-J2iVsfhl&YjTnj& zGz80u=@R9|jy8$e&b~iV$yy6wM9wdZSa6h|W6sYWZ}lvOmC7RwqR~Zb){2vpXg!86 zuN+D{QX)FK@manw-UtmqN`=oU(k4FR-q08c_kp5pTtbNi=fvkQ4IJ=P>JmdF@a}O$ z#XyQ25Ng^NZx`FqA}!ZmS&^Ss_ci z^|j?eTJ-$r=LgHwTvxn@Z{RcX%q_UHGFlF#y^^8n#HRBTqSd!6 zgMV2WdQZ}KlI^6*74iO^7wf~K{ys#!>k^elKN%XlGdlU%%;GPN)<~^2QQMe8s)J5z zlM51zp4WDVJHy@mz)^6YKc{NM9Vmeg>L z)!5nUz4?B{?y_>-zxC@~{Q1*HpChZB@(gM)XL`OxBw`ceVvpFT00<-665!IppD`BH z1%tKp5K-a-MH)cSJ$wcx_(Pab;WJ?I87mGoqVzi4O4&EBIJF{7!&2|$=Xm_??lemIt*kYQwf1KHrezH_+Jd2ZO?MJDRf@r!5Un&VD zgjRLKN{FESi^w2|PKW|>=%F&dBT_uT_4S3b|ERvh%_)+F9jExa=fkrWGRxToSz6Th z=>hfL67UV~DrizDt8FnHP$w5^Gos?H(?z~e$4UvYSp2Salp+<8T)}GiJhitbM35v4 zZ8-s%Djl2*1t6T2r7SZ@)biTCX)`sr__MF|)a`mZ+fnN#k@=0+ZhW?D`>QO?WOi-r zZO<()9G)7Qwy5GJtzYg!VM0zc3p=Z0CPdoi+M=!B#)1DwL?Rt*YgwG3spuWE4vBJ~ z$N+p+upLBO`&tFgE{wkK)Wi0Iu+Yo#m$7m0C`2EFD~WG-rzx*+W^HV7ZMZh`gZ~yz{tjNPNZsAWo?KmhEWU~gg( zDU!PHToc@aWGk_sB=?*gKP$)<2?D#UHRhOOmWB1n;(!B@!%#}_yxOA^SRvKi1i%7t zoKoCUt=R08aSoHi4bLI(f{cth3B-37@I@ zz}99c?VGdkL^SAwz3nB08M&!&56I4WHc>CJCt)T6IrU`DK0x9iExvyIG{!p)Pa9 z;dA6e0u2P<-tgeR`-qWcH^^T=9TfkO3ADD-rHLpkK9QC*~{nA zZR2vUHS)va(7lb(_aQSD{jcEj+E_;qN5vNh|K!z~EDirZ0n8OkfSoP-5A`;qSoVcYQv5 zhQ^QACq@tFsT@_SrFXsmT|e)xHzaG65gm{|8-D_vmtNZPMsC=Zk_7DT`HNHQk@$>X z$-tpGpt#n8@V)ja3UaF&H;X;jJ6ma)D084ZTZ~|VjU&>+w|E>k$9q?Yf`d{!=&Mqo znLIbv-G-$K?m&7~Kp{+qTPnc=4$MKOF=&noM8Wr0PbdB`5raxHSReYN^Z&Wm-CrTnI5r z;g8EddU-Ls+g20Ay#i2iT^seu!`b1Dv1hFZ{UcvCM!%fyyR$ZMN8NY9=OE8HW(WRX z_&hWC!P-nuY*ZTw-jbe=9k0&xjXnI3Fan>GLRaM3!S9qcs<%asM;R$u$G7V^J@#G% z97}ciY{{T*4u351qc-%}#LzeO$)Bg^dNos>-K#ZrCr5V1hquNdcCFnQU7H-DC#+9C zTc7N0*PpcOPd6I|aU&1ZSs1;#Wflp73gI9JBJJt_I%6bb5OfJ6j>Es6rAMJa2+0lV z$6~$M0|g3^451%nxUsjcVL}eIT0|T_x{sAr*FJJ{?qXOtXv@A z3}zFe|LFJr3ZJ8W=x4QOwsppG^^wD!O1|rrGNSg;o}~(zp>%Y0DN!x>Y>i+VZaW-c z9KAZu5jRR0ad#tpYVW@~i-JKRHZs)F#>N%!)Dt7JDG05CXkaTV@g`0Q~v4%f3=j-F;<7LfXh77enk0I8G`>yD7i3TV?5*?m&1g_!lLyrrE! zBoyPNDTW@Nhw|Wju1>_`yeCO%_pA3qOCm5%8z5H7%$;*+AQB{YS1oft4|m`+Hfr&= zWCsJ8d<&wv1F;dwZI4{nXe~!GrI+GmR}6&Pg`&G%h6ByqXyaUf)W&@gQ^FnK115X- zo@D#J*8pYWXr9RQeqa}TMp;s5qA<&0gU=h6$8tY9k55U+*#S)U`5v(ogVl&@1qu|)BIQiT7Oa+xAw>~S@;ITqxb=JR$dxbPjlM=HcPh z<=(})y|;ifn?le)3}z16@HwbLsllYWm?4-ma1IUs>R2>Hi#EH3u3a6hUGGmHug7_+ zo?C60EdkMm4XS@JRakHq^XleCbNPc8=QBGSPi7`V{-Q;1h6X#lQ?|s~7@;1t#y*?w z4|$;?Bz=q5V+r^WHlE>BkBk4LE^lcc(n-Pw_cN)bOL8h68TbzA}O?>X>S?cp*; z0;Q$o0p}bE(b=OZ3K&ZqlV;8>ZuV>0^4a9@=cD6a4%NRIn*M%t_UGnO-wc6$ZM4-M zSF1R&JuznN)JJyeqq|ea*dCf)Q@N94Y^zz~j1jG?1d~pwV0)U3Y{XqHX&By+Z#Ma@ z1v3q!lRpoig<>wR&*qBMX}TgvmcK=0A&ao5@ECtmcD{=qs@uW`Vh5#$g{dtY?_%Z? zYxSwy(O93dNllJFiiiKM_ebyj`or4k%7dj5$n2m0Hhiu>`*QM`NKhaJK_mJxN}zhV zesVCS(^~2JtNs4&;r2<lYzKdmgJt3}AgYpyRrtot$Oa*Cc4l2ADOx!Qgh89>_B}qL9oBIUZ6# z{VJig`_*58eJ8oNu|N&B>mtmDnWh$P#CMT3=$Z6wtTL31?Z`Sa5})%+lSM;0SjUxC zMd&8OB5+qmXgk?xR}&1TN)*q;e!4QPlMGfIy*_LrCirM~410^q4SRXS=-|@n-$7|u zokXIsqaTjXkBXAuEgBrLyu}rg`Jf4>w+Xj}2D0B4Re|A%J!8S&A;ri;cAoiB4)~R( z!R#JK1Lja?&iOkQRFQKd2$fX%4RG$}&$sw2^NIY;#>LT1AHKffe#0N z-k7t;$Jez!HRBH!#vjd3C;;?BYnp%`w_Lt~EC7=d}x>)d;1FIyU?#_ zJ<_=sUE|{Z_Vzib4^IKbB~6z)=s;|;KO+@zw7Do{&h`2$_cnH2p?H)yrcM`R7T+rz z>F$M6q#j&Z-^$GDu^fh|{Bmiy=>7?&xW%dQIB-sQ>urXI%Nv4n>9csgkP6(vx_FLd z_)G$bpP<@&^aIM%ue-xwL1JMQ2jUJ zvrh|rzJ=&S=|JW(Sc(eI9nAOrkBkwU1*{DHNk8h1;XiMUytg^>;nvtEPHbV|qm~Y} z!yiu#f2{k**vQAjqn}lyHS_nzYz&Efip?h%`o|ahM;H60^NrpP$CK-0wTOF=E_v{To98n-vjmp0)p4V?I$B>Dnpz&5TI$PDUwoFM zvDiCN|65JgcNxPYpXV4K`AjzW%*aPMRK!=~kK*dT=lwPxZ1w+besu6)>3%&n1nkHZ z%|8$y{HXab$KB>b`>m)AkH-6x&wd*c-B^Zj4kY(_Sct`XpF` z$C4T{07qOU`;$KWN;a@hmS4AUx<@j7I6E2byw+*Xlj@5PUR{&6phxJXymD)Et%Vff z&AS)Lh2XS7p)3t-0+7e^BVY_O%k%g}4JosX1V^!ab`do{hrC;f% zl;J=6Ew~nm!=C|QeyPuab(|oX9(03Du_GPJsW3^L6_LbmrMFc9CL-i(SgwwLh0o42 z@tL^cm^^OUxEvS7Sn!g}98VVA(#x)+x+qLCA*^N@9oRR=1lCiLL+9yxpyB4M#!hN_F_|sSEgHxNOL@sv zD( zP3P7Lstjp+Zw)a=V|paIf(SlNjl^J^a)9*4Bz^n49L>fLIi?%m&&K#}y7f)7`Q6a? zxBDl{)`+aI=x%y_RImNr=8Vm;ucybpnjZgRdi2xQ=tn;Pt>Jsg>3I%u8j@AYU<%`e zN1_##A#J7_{~o;kgMq@>`l|NCR!7hF7Gzn#=Y(iT`}@zQ!e> zfg7l+&THk>^PaV)ZDQ`#BG+0K`QN4oWoKFAu+h3BebW$RJHS{WHa{nWpoJm`z*#+o zlrRuYgyi1ps99?-Z(Y9-=hZ9H23z_RIVl+`xKmP2!dhdIy zt?w_-*HQi};b>l_{ds2}PxRljg~HnKz0Kh}@|ORN_}r;&>Dr+7UD#gXbBG@A2uD_+ z{hJ5ff7ShIj$xx-BGZF+bGTS+JjTEs#p$A@GedvTMzuEf>GAV9dZQK`v0cyA;X?g8 zwKnU+pR}bNj^4F1f~3LjFZ#`6$tu<8ena&`2frT=|Bdg2&!0^6j2x}~v|9UD@wvnn z6}ITJ^lhzAsKvUDa7^jJ?lqf9f@toiJwtiEQQ%N~aNJ3b0smK?mBkCU4a7CNpJ};P z5^hm4iHjf_S6P2?$U{e2pUzGEy*Z3O!{<+%eHA`GU9L&U$@~rcR??c5Yy4CEnH)jO z1)E;A1qRW_udWek=~dcV)>aqDd4H@Kr#xlGesY?XcRd=?dX6=OoL542^ij|Of3ZVd$0b{e7=j!3EI%|zUT_#J!sc`_2 z7{ScXk5>8D(Vwlz8kv@Nb9j2%-rZSPT|u7Lb~k;v)JHmo?-C=xx-0T5A5yglyO4ok zXsp~@kMDFays6C=zoaMlolR=D6_2ZZhRiM@8Nb7 z^21CfPsA2ZGK=_gLbRSr&Uy7{JIsX2^o>P84X(4?RSup@BQ8WYywXn_6=%>hoXuwe z(UC`V&Bb2v$V{`$w*=P-(UBBg($3ihb3;O-N%-1RC@Af!`&Qx$3ERTM)Jbq_>{I1;W=f|@WL`$i=2Y9qN_5H%gy`}y;EB#TMSpjS}>i+t;dYgmp z-**4}--x=u|D)jZ{i)vZlg+PM0}lQb{tTJP*PqrOX@Z1WKrIp_{Sz#QM_hI?(nbr#Ns3vp9djHt}i7-d*XCvet{H6_zdx=2Lg-E zlWFj!%r3wWsqv(mxYC_>NGmSqpsga*tc6AS3!XA+uB=>b$E7+HA zEplw&r?WNq4(^zfaRWoBpPx#thJ@}OQeeWLvg^U^28a%*BAzU1nm;9-fO@8U34bPZ zcm>hCDo+_*kDSIUtz0j}7wp%Qa+c@LSUW>Ofx)e{@vYU?=FDQdvDR*0UL78v^ME3U z{N>I5{LBxNgMXeG{hy_Y_w-5v(f^m>bMC!}#;+)Tza5dIGI-aB63fARQEpi_{2K53 z@Z@kNVl3Pe{JG#W{=C@t;d0;mOM`z|8hX!o3w65@`1c?Geo+0_-&y6t0puSR$MI(> z2k|!K4y7f{o_o`OWS{QV_jN-6~8-V=Q1Q+ zJ0Fk|dC0FWtZw1Rdn1p2oEiOLYT)PkfJPkr<=FH}C8%{|Q_J%M3DS5JQH4G!_gixH zcGL(%-Wb&kfeqTR-alWy$J-@uX*k1D!6q?X6v$C+d)AlVs+|vZ(o~CD~|MSjC zP-tR{EOZdf7j?rq4)8hEEw&)DJBY@S$X9lWiiF`(lG(|#y3Jv8nNQame&`mdqm0jq zb`3EI+7aw4dFFBVR+=6(e4cu~9=AvlpPT0Xms%2LQT4sRsF<(k3j@tbGt)HlA#mPI zi$Hd2|yos&^?CI?1f!qfNdei(^2t1ZTwLu4XJ13MGn zzBxZO&&#%_L8RgH=Hk%q3VcSP%?G7$=MiEK=RLY5+cNcNdF0uhss2B$jK8-w{+=X? zwUImB@j>+|)%g9$lke;npQ{aO9lYyvx)q6cz2`S&jp~Qpf0dv1`X{$yc%_O*>{2k) zNR%!@vC_+ft(u9fFiCQ|Nw?hmk@}JRIlx)?@*Ud6>+gC~oS}zQqx(JoI_m!ZPw2+y z2kVW#odx)eKmRNEj6W+s{C512h-&m|E6dZO7BQDiM>-f^oXJ$uiG`N_X&gyJ1K1F9fHsD8@usY zK`yLr?Jt99TT#zFkBA!<4G)7wYm6gCe|b_`f`E@GNlr4a1|0p9S72F1uy1emmzhzi zDfh;EzO48C&>H@F`0@9HkHqyPrxiQS9Lc~t5-P%=5GT3m`^Js`6Tcao&e-xkLhNKjmh6s}Z83GX+3 zSj{s6`;Zx$d39GIb5s?TyV{&@5jR97;!%dR6*G%=)>IBcG>uC&bfg>?BFz*Et#%+f z^I+e^XJG3NQ;_}vKEp;&jegZUUWe-bgn@Hc(~*JFJQPjRC{a=w&9}s7v(YJ$TmqsM zt`-M`m@hTjEtUBhn7lmgHAkrBB{&;7JSBp_BLmUmgQgjjcAg=Ko$fHliZ^M|Zn%iB zjGf)HJ?WIBZ1_C7w>q-3*1tB-F8Fq*QBEl`QcTPF#ffI?r~25v#>jiqLw}m-e{X)^ zuUKMLHdukPgKlj3J;(oN;dAB+cA>Pyl1^?(A=1uPCU$f1qod8hXXj4aRDD%2~jfX`^oQ}!T+1PKdA%te(Yoq?*1FPZ~ z^Z1pp;16?S-!%unsrSnm!JiHM`R{Y1^k*p?FgZ|qdtO^_`RAhK8liybtyj-!9q0`R zh0o{^e>Sw`tFvqtf#39*?Y(AI)BWwzhHsFIkNbOg#-J!6cGf|qs(T@D*>*rXv4URL_nRfk8 z@i~yEs2|CnL5FI3ndCfi+>b!Ss7ZK})@ZvoyH1QQ%}B<8(uGLFQTW{X5A`Kki{fc& zQJbIU^(ZE?$%Us0nE?d^hRhO)#k!3AVI*=aFG#m5|GWnNtPC$H6%SDC#%h%>L&Fe8 z3)>g!AwY!l%kedg>cn?t1(Itg<*|ZE^=t zjgrjOmiVt`iDYohIZ@GPDy}iv*eMQ(85{A|qbsKc_eO1L%$g|;dJZ{xV(R9=Y zZZ0TgqG?FTjEcz8Y!gYgtwWb7=V(MFxHz)n@t7f4eUvcIk+}$8v@*X93SHhaGCwA} zY;69~XzSbY$xkPTK4=X^NlV2@|J(7o;^eQf??i9F z|7Lv7A{6?@=;?<1I{553#EsN9T0L)Df!8fHLIdf%^Y;CpHhVsqd?bk)#X1uG&~maY z=cU7)p~dO(jivsD+!Uiz`Aa~SJExphY|e%z{z>S=`XmovDeL>2%HGi^;IIR{3Y4%wY~ZJ&fL&S4VPXz z+Y->1iNUYLcF;v4t-LaM3#HN_8tD`cSiOd#i2B|gdwgfS=c9=yQ2MK>{*Q+q{@fgv z2ZBtB_=r<%?yc`X-{CA{L|7B;(V&4po0}kISik-WqOE0pkPcqGlCZ~0k~;7q{)yk6n+_UX~;-p(;ifyiE}G|MTm-j2lN}U2>bG0< zovGIDWMi$bIsbEHn%QuW;yN7L8b(BHD0(Gz_;YC@+MO@=Yuu}T@=pF-O3tgdRRc#e@=Wxp8tFJbMB^{s0&VM z#h=$7{jxDJc(QVL{DJ=bcP1a+_RWay8QHx#Uq5a2%8vNF5kmlu5)xv_RH(jp#~yt- zABo2k$ICmfqBW~shv2gXFNn`KjL=CL5l=7DV)%x-uibdF&S}@8+Zn}9wwWGcY}==5 zV|N3gg3_G3!Yy%$sQ-#AJAh;H-aJRKqq92XgkXwRA}>zApsQo9D8ggyU`q17j!q9VTQ#oY;)pN$V1DA`$=>%T zpS(BGbEnq(N$uIUje)Pnp75QOFG=lCEN08pU_M)m)+5li7@d{1Pq@IH zVbHS6o@UzY3*CUy&KMbSP%yLF(|17#4w zc-93!TMmnSsBub(4s&WyWsk$~u#B8_4op1047te(Bysg>i2Rx!ns1mP9;Hw4svnDp zGkei78Afb!B z3M&1U1RX-OE>a^O)Ste8)E+bG)Qv`?eyzr4ewrJ)qail_yf*UZ7{ywp%8?&lopyEb zE?J}7th~)v|6nHbKmGFxpA($FZ1mipeAu%!)w9>SQ+q%?Hr|QP&Atks6P)u^nC#2O zz{g`fKP}c)Z&X#E+7*ttVY2C&BlRNj84BfCJlh9Kh=)EKnU)4dcz+fhM8ZIbji{q} zXg0>qI4g7Ws|yQji|BN&6!NT@U-G`L0i$UT7%d;Y5fCkn5$bzOP)oUY&(h?R#j&Rg zqy0-0dW;*2>jT`16Y48Kv~!RX1-@i2`$lI1p9L}760}baWUE?1&XCjk#Z>=a#vlKs z_T;biUR$_*TJMv>0g!!yZ+8yNM5G7oEL!G%D5=jC#a=2r=+flb9iRzQ9-y>4Kpd8W z$ZNpLr1>!xya^wrQIe`QHp_iT?>hkG7Mx>w-hy)w>Eh|9vH_oc7la|Uuwv1E1ej1! z4x<-@oIRKTzFv>gsRQSPfm(55zt}T};WzOan80U&zv+$TF}0uTE47W)iT1J$lo$7R zww@p1%>FRp-P^SIp4-{L(p56b{m`G8#zMs{yPSmbj9vRK^q4i_K@frC=5H;^WAqbs z^oD#zAWSThkj6TztTZJuMVuA{oDVcw0oM{+Swa;ku9pODl7CNrZs9Lws_ke0Gx zTL-}f8&I+uexjnv>}7u$@sb~&1^6$abkv=f>TRg*wz%OXB>h4gD?NW^6)|=2xr5R< zCG=vN-kM$5Y%Xoo);30_r+%2LeK|9FuQ~YFh0!}oLKI)m4ZgoL)ajeif#_S94ZP~o zctLcBY{$VnQN4n->fnDHKKK6RpW*YL5~BaR@L3@5{?y~I8$APubKflu!{=-$`j7EB zAv%#+1&Z|vzJ18xXv^8|yI zlzoB}Xq(=N&zOdEI|NTJPz*}=2FpT4tY3eH^nx;#A2 zHWv1lr#J1bBY}B3y27qCImO^E48d{(i?%AEv<4bMjoR~x&+PVr=A8KK+gSv5h47+G=|+2PVr_XyrtaeO=;GYm zW?N1OaQ26?AmDTR{FsoULEQ3-rR^0NIJBl}_!h2#OLH^bTZEr}<;|vO!nKbwZ*y>( zNN0?`DQc1voV{&$zRq-lcN2yc_A7gk@hODA!$*)cR6?(Sy0{flbx!S}n89beYq>@4 zN%a+-nNWC$hpwbWOJsG;v%6C>+oO&3-sbWz^{M-fiH~a*_u%`j!4KvJK3K9506whx zW31C053Y7oM90Z6LH=&-CQKKi!-7tPAwJ@L7+213t$n;s$Ug^L{bfV^FUi%c+7JUYF1Mw4PT_m66O}*9DA=U zST#;e)?Yf~(laD!eBBrb<+(6t;4ElGnaPTk;8fK%Rjfc4K3k`VG&U6mcJL|w!q8$QBhv5NnVVrjAR5EJZ%($OL zf^groPL&Si3^l>lZ52e5AdpP>oZzhI9_GyPVej}L`~?z zxk~Ib`YtV?_~Ou$jVLg4bG8eg3yWS?lZeBFZ%EuIy}Ox9$`5ms{MloX3uG5~PxCkN zxiI#*s1rvyR;Fy;G`iay-<_)OP0k;T&TsY2t~{Qd|5>f{)X05N^u~ZP>JOUZf1Mut z>+INH?N_M7b0@>0XxAZM4{2ogflkzhgZ~zMj{N6WXKQm0y6_n||5xI(-BRphr77z( z8xE$j(RlnWeS`R%_$+%Z3qZbX_J20f^VP(YuZA9Jk8cuMXfGm6qhmvK`U8>Cv;=5t z8G5LT~mCUS&7yK`fa(vY6Z6TFyfPza^{FPfdW(n-ujWye53^IuR&vf*dMW&=yGrJ z`&gxad|O*qm6rSGuvgkuPi^3rTL0f_eX{9D9KwS91uz&XVdbi=zEm>7at@1~xdF>r zy-0YWw8KevKq8+!3gsBu?_>dvzQ@@aUgm&=mb5;;*9k)*mxCz!ipKVWv~4|k=r)#N z1i63@e73P&8FsisJLxUEkiRtW!AMJp%5_6l1y&9s@eLY-0))+-$&`sGOuN;Y!2+pY zrd_7M`DbP4uvUZd6*XxKTu*(uUM?r*fzy_39ak*_i;;Y-Sobn}EsnCn?)2h z9KIS(NzV;)Ms{Ujb=gmW$HaSr(mBixDRwNTwO~G@++KM`!UTetdKcjQF$biw*k7RB zVFHwk@^v1NXGhrKGdeen;`J!Iw{QlDV1ujkhLpVQ=HaTNa%U^L9%m4&H*wpt7=s_g3^?mMyHHfNv;>PhmiweFDB6T&sk-AiNnnFkgGp8U;k=t+h!C z2)eZ$1p-3knf{R}9~n7H>D98*Qw|6~d*FaFIRWddw%AzMT(ll>q_7<~Cw;Bap2qMG z6VJXFe)Q?^BklOqtxJsqBYC|pM2nAD;J5t~fU|pI?ZX`SOk{9Mk@XsTnO#SX@YN~D zc6`2>ttWsIe3mm1h>cM%H=REh*lmo?sB5#McW`8+>I$AWWG!)%92;^x; zB@Q9Q_co6=+`!<{@&qoF)g&>7&l)=lwTpt0d9+;FpnUsfe)I4kFAdf1mL?0(UKO(C6&_$-Of zoxZ`h`0PClmY6aXT2vP}3o+9}V*Zo{s%Dg@ndCgb9hRCNewez1hiD>s^r$;74X8~O zukE8Po5CDZ41}RX({4H zq>dy$^8t|!Ou%duphQAUC%4OPZaF;VsI^?zYH9u%Pmt48hW#R+Zbcv3=*m(ALw|+R z)YqqG4kxDf2V0xZrq>_OEdD$_{r$}3*UiySr^Y_jp{Sv;bN`3)eIKs$-DwZplgUPi zRtU2?cE_l|*+DnHbz^S@&JMbN{>Jft0H4`Y{CRWfaR;A;1%dN_Cq92X`QV3z!LjFy zRF2rts*vY*@#m7l(VNwIAC5ozaO|;62C2VN%ZO}N6B*FjhXB@l^d)OANoJPK6)UJz z`+}g12LVPHZiW*pECKW*xktG0+)O#5Tl4e{$B2h@VF~*X(-qE`*yee9sq!~01gbBw z5ujP)5|h9+1jwoZ!8lT<9!iq@5qQF>j9m7jq}t+>N(1P7@c)IJ0ht3)Y};O>I+kEl zwAS=>obE@B;ctf@|1jByHrs#P8FCgtkj~Gp*ZX}tSV(+MaJFPJK4@XW0VLnL;3i;D z*>uQ7$uW~d2yLuKHwS|P&Wd+f3SiFUF)=Pb-0hVXQ^GMhye4MGw(=CDt&6?&lg-uV zZR+~e`gCojSzl}6jZRpuSLVr(`uPhHbBfE1Ceo1tv9_Q%NP3%S9Ri;Mi`>H4*{uu* z9wGowh{mGR(Z;%ga}Ga|YnKoWr4ygY*Er1C*@*)W_vl7&;d1xonSP{mTkG&g+GJ!- z9&ID%KAcle=VyT29PvRBJr>q*Y|tMJS}`}oQ`SGq<8TQ<;BO^#hFiNlH;r)Qp0m+> ze5IQ2!e_|l1A!sT?3o#3%{?88hx3HhpqnuzJ`}eo>;j+8RLoF?0P)1`vV3*e>om-E z$O)oT7-yBB=-fs~{V<%slH@t@83Ie3HX9{{l4&R~ZncS;@d%H}rUstA4hC!u{4XXT z@Y(RO7E56la$RDJ;he4uJG!#Y)R!A{8*$;@jX5Kcx%4e5-Ai)6buDD0lS%aMGf?iy z-KpBnq_+8!TcdNwt(pCLV{^2=)<3rJV08M2k@`22wQscC*Lc6t_laFy@M`=SIIoT0 z{XZL@t?SdR<(@b2dF=oBZ{g1s{g%H0pD7!XH|~u7-9M8&|0X_v-i)F`F+qZ}z7_*J z^AA@WQgabq5=1E|3lndm0#cr)W(9KRvOrk8UL^v$2$xVq6AZEyGbfM~@MzmRv6#8d zMT;~Du$@Or&aky+!Ls-gcQI!J&y3upBCA3?j;gg*+{WneiLv`_EHS&ht;&&rG>QFFe zb|IL*UJci0r_poxf(&9ISIP#UaFP^GE&$xNPJ`PkQCw=sp|t?n2$ut#(fgFR>5Z|4 zXxVFujgFHf?W+RqpePz5Q#Q|3NOmR2+S}dA`dRaKcVC z%68^z_GSe{@EOAd&MpUkLr^0euuK=4;am#@h*y%n)qrOhmr?T*Q3F-p%1I27S+6B0 zIl@)l_?!?8rIBZfN8)qQQX+Spm||}DRhmUt%6~VwGw_+!R=0vN(gfTtw%CoL8hH&f z%~*HkD)_lKV6c()b_>o9V7|#F@~BUdzlx0UwcqB?;bN4%8$dVxhrc7XYqHVj5d+}Q z)|*T2yr&6%4G|4*%Noy!`D&vfeqHux2$Fws=shK&DB9n-YLmyj(lx~&x~ROOyc|){ zs$O1*LAJk)N^8ViRfo6-u6Nhne-gTxz`3wYjHJ*Ynh_@wa=Y?}sp=$e=j(+By0eVc zWCc?uvUXl`KVK+a5=*=xhKl&I2e&Twlxmv>=CHrX*v@!uXLNdhVqw2FvpzJp(m%J* zJ3sqiy8caTJg9YZ?31aXyE*Lftu1G#WvJb+Mmr5TqbFz4v=hnS;MjkVGk5C@)#vzO zlz5ju)r9e8?+5$K^o@%WLxC-4?WL#AjbcMo5AnJ1XUG1q`VcL(4X5g~b1aSOWRfG2 zUaFzpXox>$RQUOyJ^;vHPCc$)tbg8m^7-tuH@@z+2qgoB!1;@2@AtEV59i0U7$P_z zflv$Oz!P$+m_L?(NNU?FK?zD{9=X1`*kj>K>Bp!Kw@Pl+1xj{&esuogL}ZE(8i~!< z=NepSM~n!WwA~}x5z{0UVO^i1qt(bIoUatWOh$EL+*=hNQwM8O%Y3!?ivn#8z>%>n0 zBkn4^1)QBBvqGE^>r_`VcCczuI~fbs`2gXlnmjuI(b;tbN~4j2M5wI0pAnjzC%)WGy|k0;hv89rWDa+L!ppkfXj8-4W?&n|n7QfNgL zHStjG5>+ZC71#1wK=I)?;tb69;5@$s5F2`g4WPY!(iT1Ef7oW7^vqMGx}Mo5^vz zE|1(UI|X=y`|OLV`6fswPX;;B1)3G6m6<#|DTA>th#kv;s_Zth9qb)^c9}V=_xVa! zXER4T@)E5VblUb1-oWK_uiP9sJGdfWgAu-AH?1VTejcrjNEE!WV>dJZN-?_s?|1YwXKP%?Qt8O z%xsO%ZH|vlKN>HiG5t$@^2^rb7cpv|PYmC!-Hyg!R5f>d z)HSl2CSSYq`Z_s&*~sp7J3Afia!42K|6rs4{k8rNrXRn5xX|z3;7f)0oi8su8|{yN z&i;^kyfM_-<#ulPJ%+=py7<=cd(O&v)(7u&_l4FeI(8En{&ZxpGbTpw*G4+y4V?UU zCqMgeu$+VVY&Y29qj}0RQTmPVy~Ssm28hO-znpsd%lsI?;rEdyq|M_PModM!8kJrd zz}d_<1FbcS%d|A$a|O}S#6b5OE%^za7phkxbD)^KPO%ssXil1`^|SE==_-HJ_|BAZKJ3 zD>NwEaN{AO*GE+4NJ+DI;+guRb&SPt!PpVFP^>up94QvTfBSZS*ifF*=`*K z=Y`{q?N=vd+q*~=2yz}3!AtCpw7u9q`|3nyHE;&JRxY$b$*3G2pDQApRD+Si8=XJZ zT{5H?t}+>nPF*L1D6xdea8_Q~R#eUE!qHSzJjOf&n zaV{r-1SU9#yc8pn_k0wWN`qx4xHDA>GUsvi3Z-?W=*DM(PR^PnH!$lCKP`jG>VZn3 zEPFSY=%sN5(8NwVtxUCQ{y78}q_>bThNgs==jA z36CjET*;+Dm}x;eY1_tPakt$*InXEJ`87=`TBR7?s*RT=6n&55&m`wjKSGq_4y3>y zl%O3pOZtif@nyp-inRI6{3&f(J3EMVAK!v@h29ZuOxCR~rrogpYje|1%_A%Ap&YIG z$DOh8kUUb)QUAJL#$@fw$?^MBqn|g1KZ{`-y^&8^x1&CA?>EOp{~cp;@Lmq@(G96K z6vM&Xz(;faIwIetucOW4x9EYnvA8@sHu9zR{>|vXf6oZi)%Jh*ZhiEl#>A)1$Wx6NlVluT@*Xl#x8;(%Dn7c-qAvR}G7r`X7M#t-2zHVAM^w#J+V zo>SBg$b-!Z@}q?r;h~EYS#u$EUUq`=L8LEF{oHS{N@N?wvV==mKYAh|IXQB@Bt% zMFnQ+?Y6Z-1tJCGhZ5~F5liZzEAXca&N5H5(MELB1 zdgzJI9nO67Lf+#Xn?M9UIndK%aLxvi%Z<&|nVpTf{Y`rmX30F1W`-n+1d7~J=%|}} zb%SyTSuIe;G{}y_Hj`(fltDX7@oDmBrWUGOfbYU*;>JJ5XO9xiKz)0br{H;o&v4kR z2F~dm$=<=AJx6YZ2SH48{}Y^J%9TKHly(;TF8ZJv2t*fggSQg+Tm=6}Ug9V*Kz4c1 z15l}s@uWF1vA($Yd~f50z|AXLZVk`3dOg+4mI}Vz<;aq96|%L(VMW00J1@Wyi=|veCTeDuOUe4^ zv~ZFB@zzKTN4awoRoxO|U%z(LFxIw||40#$-hVstCtkPfQ)S@c6S+;*>Zm=ZYHK6L z)M{r;EDikTu<2DbMrWRkPnR*%Gd|NZIs3?-hF*tjzbvgaOef?S=QGLHHs_}1`WDs) z7B>2p)(4i>hQKVmon9TXx8Op1Vt#AVuuqM&ma)yc{FWG78d#Ou`EBK;b|>tNx@!8{ z@&5xpiv#M<{OxSt$&TNRx&SCRh&G#YwN03_9I`sjjSMKB=5%h#J`%Au3+G1iV@npVmVpP0Z7<+^|sT zd2;hoQQVP7u^j0fKHqxu;Xqi3Dwv6sjOC_p$GV|9b3nuNA;L^eYmT`c_i0uzXT%}_K)se zm~iI$%=?uSh!*k0_O&^jKdhks6i@IU$)*#vGdxEC`m)bxLdQHAmBj5zZ?K9%O&ci>Gi6R25NXr&fThMU`HTz*&Ba<4ANluxVNZL3osI3-YY} z7xP4yMy*8>J>0NXviR1Qm_If3TbFj{jD}otHBGtdeu61n+S);N(!F(TH5uxybPm)Z zkRQjCyRk068hKr*R9A@IeP9OWz!Q-0$SN;CNsy=cxc}HrQJh-25nHEW*Ji7~-N=!; z%I#}x_F9d|+}>%8Z@(U~5A0Smf0A3f+Sj#g?Haqg*7h1PHk)eDWLpUXxM29)-rtzn z2zqa*f1lbwqPP!@@r|i?U2lx6O&Pj9ILW8&mJNyGJj>p5k?T@+Ue1g18eO?cQM1=K zaPmLEpY1#akUyzC>_3TrJX^%vP%}1>^D!pdt(^ z?q_TZ>ja!L(6)q8ZgA%g;8bu}a*I%-!7sp(;8J9yygYF-&Q`4%6#@Y!n1EksfIoxf zW3t1^CN&l2B!%|Xx)9@>;(hp)F3p)x;h|`Mq1JDFzQruEfB+3dZ^;!0p)o`o%5jliSb3}DU$+&Zu($j&f&;UNuBC4DLd+hcux4hc-d}@D#F5%o* z9}w-igAOQB0Ga9%Ujb=pN+}NbIMc?dnlNSyU?<2EX5YeRHQnA{@OfHB+0!ztFW>-3 z#rPOgj{`mzaE_!P1lVj5BQOChv`5QRPu6B+3%g|Zf%(pCBE>JVWzcCZ62eLJ;JmP{ zP+H~e-OGrSo2rLWGVAxW|0i~#3CrzI@qh%8ffmf|7XMC%gc;Od2@yOigE z+?81py*rcm3|H;XQpr2r2bCc2AQgLC%**BG5P2w;iQAHS+Fmn~D`@-Hpk0%pI^*h0 zXeNiH8VNkR>z1UPa5vC!e{wiB4}%Gm9GjdoWRvb8K4SO@psp}2S`Mx?mDn2*5x7m; zP9Fa2*W9qX+P2%y-8m|R_gK^Ieb#Om76M!L{OX!#6-~{q;q&Im%-F=*)EFF2#g!e= zOw3lo<+b`K_?&hm%uw;HnQZthH8Dp@XQoPy|1>_oKl$_f<3Eu#q&?HtvYsugnR)GvXM62???U&LEhfrW;mE?a=y$o0$SdA-7Vd&kn8*B`|Q= ztRv2vRg(*+LgqYx&pyGVh0m6!{A!FEz=9x|9+t3gq!?RVA*Yx9q%05vXzaf@diB;!{iOqFOLUL>t$IHcQxp{47-X2<4)@@&!LlmUo_7*<>U4o_CLg0c(?34@iOj%w5S@){s(gYRcARq&# zO33ny5i@0g;C#iO;j=fp1Rwqn@YyYb&zY`i0x(I$b~YMxJk@1RlO^Kw&a(T!*1unP7d$s@q7k?GiNKpA26@ElNL7=mG8pt~m{DAh99p~N@Xv_* z9CeN3O?N5NtGJV|$HB_%yT|mwif--IXdbR~hS2}ksv)Vy9voT+LyzZ|8gfN>3jS=H zo;i=Z9i^bU#HeyLKhv`0Yi5WsB019Tq#X>MaAP4+I{K0oI$fod|EKYpl<`sR;o$yk z?{))uPJ9N@Z+!2qz9BLwbK|>4@6PqX(am$jz;u-Ze1H52s>X54X&@f7|Kem~X-+@k z2n%j5X#r${aiAQu4%+i4yK=ptP;tbryYZO^jah~Ndl~r#87BfbCas3d=Deu_F3cH| z1PL*{<&weY{Yw>s^nr70oYlZ>u$s<&?&8nDS(h7hw6gwYa_}FBYM;>EWpK)SEi3ee zH(T|39RwD=4A3S8n^%@0;Pv6Gb|P~{o4fxB2gDp76vtUI39}-gUrMSKQ9lRK3+wZ_ zIg3>wc&GEHdnKsn{%l;I%79ILra4>bP}HI}|78LPX_o_b+&&X?++W5+0(oxvb1EBT zg!Z{jvMO-aEa-${>7fuGB4BzIT|@?FCwK}H_N+S^DWMe{$x;AQV23@z#DYT>?Z~SU zV$SWzzRdu{qfZq&#OEUw_mP#CGu-*uW_S7Jar0;se#&*kex>-z@iu2j&B9*ZY$4E; zJUCCVq(G=S4QU9hg}haC5XZ~`@h9<_Apl>*=Rbtc)>@S6tk1fcCK5#=eQ=;Rv9rQV zqsM{;rWyAT=6mk&88}BVsV!WowM+5ms*TWZ_DkAN${i+#j2+1{a9cpcGy`8Qhbk2v zmQG@`LJu+3U=Q8p7d4&SEHx6=h{uP zt>#HM2U+xpQR|iYdyGm zt`@+|VSVCDBU0*rXUAvTFK(je%-PG!v&$>J$`4-HapNpsx6e*voIfWke&?t!<)@F2FSeb#nJbGH3*+^=m zfpB>7F^f);Rg^aCR9up*#;38HZoAj7`1 z+VF?Pgl|@p8SWJX#ipz6;Gdam6fBnuv$LSI3Y_{OxV9K=V1YK9qFYB>+gY1cR1*I0a=dQS@6&&$oxpH!p2vQVsvSx-9=W0HJ}Rf%kd%#_L-@58Lwc z%4_Ky(D|$U!*V8^FO^~P!0f87`!*~`^v_L3uhJ-}==?v4NS zbgwn?d{J>qDjOYq?s|`1NOGv){&Kv>o_*>dR70SeUyVHdc53K{`jB|NhwI`QHTnk8 zwZti2nF(@%ObF!>R!>!c(Rm`Oco7TARw$p#9S5x z^_WMaBAlUY02WKtWcK*{+~f9?eTA?f z>Be(sn*AJ&lsst&JErM$i*j^-IM_u0*a-KH0Pa~7eDHTs6yu9BDq+Q1n`Vw{j7*Q) z98U8`pqVnm?yx>gb~ai;ak&O=9f3k|J(o>Nym&`(H?9~OXT{wkBe-5P2_U1vSb@`U ztj5qV6HE!djJe?%!Elt@?1G2$W&0}98TUu~O<1Qeat2O?v>3o~JQA_!hp!8<7R zJ{@qrj_X?4j+T$9UzLQ47K!!gW@kiKjb9BIo~)pQ&zFamUc@7`3Y6;KUi8#F3pYwL z*ydh)?r=xyh`LUN`Cj!-xgGlSMzy;sLEqparG!-?L2>`f6A6(#cr|1$O%9#&ExZRO z2Yo;<;Z9~(_dw=-U}qKJ-T{aD28f5o2&Luf@z4($fwRn*VA}DcGA^#Js^R;pVFzTk?APNziqH3> z2JmtHa^r{PkqV#hHiJJ`0Pdi|=liv%Kh%14H77osjeV;#pAPqYHU3Qff(R7uTF{l# zs(j4cD+!2!x3BarQ%sFz@nkK8O#9@3)1o=K=$2pMS{4-L4TV-VBCiZU74fHo&zPQo zl$&o>Kb#xac=^NW0q6F`xlC%n@-6CdlJBtR0Ot*h<6(9@77X1+`yxV@cfjDxywqvStZ` zgeE2u%tA}9fe#l`!xnt06ZV0>#%I^)ZdmLVKCT`xzti@P3vj8 zE)>x^veIxf(J_%V@%;*)-#&2bc9seF&L{I3;_r&%FMsS7pM%9&N_M%G9-N_7!0VJu zEowF)j`v|C`AMWT6T}(>O{95?Zpc)D%u-5x3qOv~gwN+yd*X1I)PoF{Fu@*T%tXRx zGXaIpQqc6RsM%(hG9R{k%j7v+clQ`LuWYnC#-N)F1X2$|M5fp&3kSqtH*sk>Ac>38 z0MPEbY6K$woAo1`Z{Rau}5Pj z0PUX}BmOC#n`2xW-qEJ^zc@dLc8f#}48aSaO&ua`xbq%mIs5BK+`4+9cINPkRu-dd zx4{E4i0zQ!^)Ra;M!`Uj4}JzYcK?Z%X}J=*v2lw;Qa7|u>PuF}dm(BEq5*iJ@d?q% z`OOU@?Ope4f$Ok?vHF5On>w!prmR2?UlIRN1g?XyLw1=UzaIZ-e3r8@cr-76Lw!o} z=YN3DU)G+=Z1+TnJRbTt^})|4o_*gKMvXWR`GAmto#&A`e-LIj#80@Lyt)`a=1S+p zBS4KjqY$1NT`t=`Sj&>lM1MkeJ>E8FkV*I%p4w_lc2i(ZX??GMsm9B9n*Fi2pfdAj zzr9hut@j2{4?n=DAI**ui*~Lw@Q=!C!y+xJ=CxP8Dn^70L1U|?!+r}<2T=8;rsg)Z zViX$CSyMnG6~9byjfK{pQv(Q)v;M^@AY%qcDj#Akbe2N_XLOwxY;{|$;0UXP9KM7dq#>+bl+ohf}ro@&E9h37!$hR6cnIH{x3gKF2!Unns@e z6Mv(_BhL`b{g)WP{8{57w)?@3F62KvTbK&^w7EoOLXa3rb~8kY5;kR$FlRU>|AZG0 zZMsp~HCBU3)ty76fD=ukv3@OzWLbO!LbRuBw=zKo<^Y%rE@0Zghi6Ht_N?7oQLVRO z`Ib)SuhJIyD2B!Zb?cC~9KMdrmiT;hdc3m1h_lN#a^{_ej7^=QJ#j2I2c3!SqQjOUceuZVoCAwDXCZ4^Wy>!}k493J3CR zN|?r;np@{@y(UWgG|CBiM^Yu>0wFm*Kf&UPItZ>h5S{o;_gL6iwK_~o5S=VqId-NQ zc&(C<1Ep_E0t25{8YqY9%E>JR__EZKo|_vcs+q$^I4h>aiTNkGVwUzS*0s>Fvxc3H zIj4r>&xarVF#4poG2*J#NqO5Zt&yJj3F_jLg_?X$E)toG$Hd|cFEj=B5w^Z1CLl&+ zSFT2b1*@#XTavw$2##C9`w&J15he!L(o-gE>ea*OXA-6=C(X5%k9G;dc<;se>CWL^ zZa|C;vupsy6HIV6A2f=AF#c%*c&sQi4c`x?3Hgd@n0}@xP|80n6QHAhI~gBZMj$vB zpnIeY!Xq&L)A)=$|9yGnqlupd2Y(Mfubk<4AQ?U$^vA=4xb80$qYI@!95~ zBGIZ6W_Q~<;fNJt)PCz8#=~_Sj935I9O#`LldVBacK=yl zKn-;>H;?%ScaT$Q6-Ci3wF)9hZ?RE?;;;o|giNV*8d7VZG>sH2t7nOPAz-_vVL}v} z@NLNgqWOYcmTdr9acM09Kjdx*Bmrl$RKgNGWaVF6M)fWuPK&@s6e)mc;LLHrAEH^1 z<`^ps;wuEwLa^58s7N69gmL*bJ_Bb(VQdN;n*JT~9F0BgyFK5Gax+;XCwmlQq*oFn z6jE2{ZX>#eoQhbp%gvC=Lxv6a-2K57jlh{=cibf-ERl?bFi-4(OEXkB4OH0=gMa>)gYlwEY;j^HC>dt5KxZjD|gz*Aq%=XpcL43LqC0%h+JWgQgVWx?2F6@~7?XX%28&!(#> zYKHUp%s|hSWoJsvRgq9ji94C@fDbo0f0`M!>%_-XefP?+C6N6ze;n&&vauR(wx`<{ z6TODOQ*4D?@4r9t`1{&mZol}=*fS3GmlJ)}kUtP_p6K~}?6KGT6OYPp(DTLE;|H^& z7KO=-igS>e`~Jn|B!$b`_0 zB4G(YDc2WwhTyC)(Cu>HJP~}1L{{N58pF+}B9^%1`Ge-5onG%w_Ixn$*lXURyNxGz zr=E5XpiTY2`M(`|@_4deGdj^*EG2~tGd~pCur)G3LRzFAkeY=8=i3W%HoQ|VA6&9X z83?=n$;42=D|L2GW1^F-$ht=!R(17kT6d{S^X9Aq(>UGU^o#w(T1dq9PKkxt2ZIGy zFIjS8ZzOx$Uc^?dAPZFTFUn@A>ds;pTCkZ6M~DhOqcJ`|KJb=5(;-K8f@0}7T1;WE z3d7Wr@C=`QAgLd3SNswZ(_+iFxX&VY@UTr9NLP50-@}9a?KC`SHVu zQA#r_UO#2V`AgMKg_9=3+M4arN2P4S;&Bsm#PU2)py!f-Gc#@Z*k=LVQds?(KX>me zkUNhT>)i37ZX0o!QA*C&E@Gc|>)I?b@gQx4go2sJ=L@`^UYuajzR|=3?5P*YRKe=; zw3ITE>N{Z+D>iTu<-CkC)zq;oC#WKRs4}?oI11K9At$#E0|a_d*He~APyA158tz#d ze&XkTLS*n0uaMkq3CLBEDzUJ=yl=0|;Ao^&)<$VXIsX@@><;&n$uUJUB zO(l{AZDOZs+nbhzgfC|Lj4xZy>UWkUb)c-sQkzk&7!A)Z>T<@=}Y& z0xJ*lU19-l|au|f$v&1w`@b`781XMha<{h>i;!x=CNvL5{L{={d?#L}=p ze1+E>{>sw$&5HQzK_OxZ7Xk$xH-6o%T!}By}Bq^Tw7a&&phZfg@LyvXM@@aC9Hy2Q-P47 zH96?0M&c2Lap7Z_q=zCg)ojG*Mv+LV>gUOqmR6Wu;}cLKXBcWSrF&tPXIvJcQf+>3ac7Tvut%%r1MB zFxd$MKz^jSuS1@Hh0m$s-@ZoVGzVQ& zsF7>}qKnSlX)ziOTBmYcWGW`4Gqi+VzUVWM;TH&qxZx(AKSWraEkBx?gj~t5j_9qF z>=%btaZtPcRX|a3d&WA{jA-{A)u8nGV&Binedd6Bf>c91Py-J!c7vs3{XKVcNrI@k zVL(D=j&oyi_f z-c6RG>`|uM6{fa`8}OC_!~RMowZ2fGeAYrLdWKJG=(j#&!k0dQFFkaV&_eircJ#ZM z5qpf{*dNxPS$AJa9Da2?d$#G|^XV8m!*}O1bmLW30SBvpSsqh(GPO6q_v-W=_t z`K#!bM;TAEEU{!k?qMpNZ@uOhMapGtt@!7uiET#@7Kd(*mj&UR_5iGbfZpHFWdtqC$#fGv|m>j;XP`KMtN}Tlh zWcX-72!pj_IV3(?S%$l0MVllMu~M~nv}JlgCzTPIxnVkeJ>EmR$Q=&>_185B{FJN# ziYtgta89iLtU18e(|&ys6cw)7c3*UqnDV%VXHQ9Z6u(-dXA1|?5@vjx_DohwRis6&(-<^ap;vXyu!=`}4eTcB!|dNiaYmK3=HCVXL^Y>J{=zzV|P zhd~j|-ub$-0z1|PkAs?_y3<+!ydjvY>{AzW7>!a9T9495kIB~=ahWBTl18DPJ#c$B z+RML&=q@m{C~_Ib$rweM?<}#cr6+0<+lyt}%2;1!pm->5%vf+*otRUq2o+-NJ#M}z zp=sc5aA6>}Q$?aeH7#xnp90mlX2Cw^!esMI6Q7ljS({G7wVN{m$fXR*1M*MmE?)yT z_GqA)8I@5vAnXFAEHVwi+z=YT;rWTEnjtQkHp|>Q(|AC}!fk%q`6Y-Bd^RiCZtlEw z!F1BDtqT}M1a@vQZk3HV$e)zkm?dxFeQeAk{5XSPD+ka&&DcPA?WC5bAd+GhcgA^| zX7RYo26JRIS&sOCU&%Y7?RfN_NGN;lS=9QIR{#68p2X*kSBLXw?Vpy%zF8XiVs22r zS%+07pDdm}Xa8QKv#aSB^Zn8iqTFwN%07u4b8&DCBv+F&bl_H-jehP{yIv=Z8i~R< zc_#bWTBQ9;NM<;qNU8`L-Qa9mR`|??WN?9VNT%(D!QDl-#pke4g@KnAh@9x_L-mX* zbCs(rTF*f?Ogs4N*L&)zOIqD)3f;}0-^x`6$YhE#*rp1W(c>KX6Heo9}-O^wR`?A!2}NYDPCc1LwaKE`5Jy*p{`3kWOEb|9renev}1)2SNs<*Ai29 zO`}$}EG;>b*h`B@tJ}axxv`A9d|*>lOMDfJy5DQypu8H0nK`Bt9d&$Xp}wc3N9*Ryf9d^6zgN5 zkQ{6cV4ATcl(g*Di@9nFIT^oo=BO8lmY%e^zcV@4qSRT}e0=`h@JtPnfX@Z2uAl_E z&K8)r7=mXM|4Ag_h455MT`9QSWSTWT+aCIGUeiNUqGBsRsLI}C=Hdi7w zL&q)N2gsFK=kr;A%QjUDbXpn@o6Af%Pj7IOnL??IFhAVqQaFR0SLFqqcKI%W1t;*(KjdNjK5;b%soRl55xdm=yH&qXT&H? zGx37Mqx}k>J-+q5ZFK~0kta^@j1ikNl0V2D7d{^)HvODKo}trw>jox1o0;yRIlyE< zV^qPtHD?0l-0-r4Fdq#}sbL?Qt2uw11pilzL-g>JX)GSM=N@vOc*V8mjoz!*S=jC4mBe&q{6FPhz2rWFAo2-In}#2OOzX4t*gAY zODWUfUgd&{8@nEEnwjtCK}bqgjQg4R9O$||XDdlS3f0YIlgc6rOI=_YG8+~`^5?{7 z%o#X8-CP*lU!hpK5Z{7Fol3-wA?9)x3jeD9Nb^d+tC4ZoU%!4Z`S8QqqkGM#AGdn% zOg*NuI`B`!ar~tIkiQ_b2bMpZ>HTE($;UH2F*<^H`4y0gr~Fs$XVC|28%7$h^LUqR}cDF9NWXH2u{Dj0FBr zqq6$+>^e7>7E04GNj+A*t~kcUN%(iw;kK{643oNP%kFoc^1~ zbO}2bL)Rzu!S6?UYyv0%Ax`lrDQwc7wy~S`U+cZ^mEquCt(PyRk$y=Deg*2SFVhbb z5Ztk{%+FvH+KO)52yk8jxN~zw#AkF1T$ds9=LS5MqLtIb%L7}Jz-M}|gqAS4>6jCN z+c7lqs>a;O+V)Mvvw}NaN2hnI5>x^QP=>pDl>$Lkllo#S)!g{co%9|~s55kboUrpz zcf(BJX z6ym|n2o%~E;P#%NpgiSP?w_n_j{~ex24tbH?Q;a8-?CX@gyNx>#i^Z`UIJVHlmNqD zcEZ*dJj9}NkYouM z*Ct-rH7a@;P!}Ke2B+c4GQq+MPMZmX(pYY2HPYAhP}|boMUl0rRN7gT zYM8VWQlW6ZPE^r#nf6i_68*f!2``5Uvos3Djhsx@9JZ?ig z`zJ@DgeUTg%YQP*(B{!u?pS2wAdM`q?{$0KH=~%>@JBomK{QV=O$;MDvbU_kc)H?air$wVG+rB_Z zaw4x5*fI?iJjTMv$EQTg6J*yg95>TybKA+``6lU?lX0v74VQJpQR7?bf=%0{eZ8AsvXNB0;I`lX zJkjT|dbpMkpw3CC%0T4Zvxd*|F}&hAR3VprDn=z^6HJ+V1Gx}n{oJ?weN|&h zr{Obs$9i$kfebvf*8BuQr;{Ptj&?gTqnD zOCdyOQzpOV-~^^Ewqo}&j`MySCO9iTK9c6Q{z)YcxBBuJ>4oiXj)(46SWR#V4Wsi| z+E$Rq4F`z%?xDgE+1il`BB|IDq`H*gS3#FrS8f`oz=b#;&z=1;G;o%gW8!(BL`x8D3PFQJB>Xw})y9kz z1#90|o0*&l))0`o;hG)!I&;qtX}{1P)aI3h0r>y_ zi>X|srtB<}#1m(=jS0ax7-K*nODqC}LF_vMv&_@oLcy8J)r{+uO2}HycTV@)Z};i$ zPu9vl8*LHs!y!fVCl;hSOdnUbO`mjI*r>!DjJOIQyw+q=8A?;Cwe?s8m4!lCSsy|Y z!K;;qIs306`nfL3;@ZirH`|@i)3jedwx+0?5VSi)|Fk%@r&98~H@e>Vd42Z#;_ zLwxoGKz-YKWq9&9b7DvS3!jUDR3r_lV~pq^>JDUV7TqbV#&d@FTo;&^6R`{1?Wo$p zI(cyX5$P|%pToVf;9^)99B@>g?V z!fK)ZH8<){hRiG9w_eSjZ$6UovM?5CeD8M*p8)627DoQDFe*eKV(|IfkzZQxI9cS% zOyoCyH$A2;5;;VkiMmJni*)f8o$IMb@LWtoSP%Rf;hU^C`LGVM(KgC!(ZqQ9>{W%$ zE)OWQSm=2b@4beX;EV2!<>d=HTA`gi|agt~s`QzYAg50zATiHJUoEkAU2itKr~`QkHo}8JV=+z@#}#|$$l#o_P^jWpe}qy z3G7ZdN^2@~*6e0Mv|fm1Xwp%-rD9x$3LFtgFjb#|QJL+~XCiI-n)_=b-aD%WVjv>y zNZ!_gAh{tdp%UmoRyjUi7YV_)?Yl+hyl4U@x+QBak>{iIt)*37#PULWasS}xAwEYj z{zk|Zd~h!YK{MYBqZs0_M|p;r`GF8S${y9~wzs;phENeO%NP^Wp(~>VVswPlEA^tQ zbBz>%O%an3$YQ64_&kJhmWv6C>`-!>_+0$im&g!6e!g0mkk0ySd73p}I@)--Hv3)s z4`)Lnq7R1v$n$Q)z%##8P&PNtu8A=C9+>Z&tr$hNXpSaj!bHSg^OMsZ`pD2rkk<7P zog>M_k|h=08r>Y+U@=6c?%S0+&H)6`gevg)y3cD%lvelGQCNw(FQbXx-(8}Sc@^Hk_z^}MMo?w$~!x4w>_Hy&%S?A(t>11#IU`ucS zGQ8@%d;b3Qi^a*Ojj<@%n2qqPLo|=IVhjh8;K&R_7hC=_pm9&0Kbs#N;Pae(_1~;O z){^uI@DJ1D8rJdeL?ekeJ;j%t<%y%pU0jwOao4Yy9v_(i6gY==c)rrG&OW8$GSA=y zG2|6Q7iDKLWS$XZcYGCi7lxf)Z1D8Cu3(wtug9HgFGvDpxZ93+3ikw-!;0Nqy1}31 zWak$@zJK%YxmWDS)3;;VQv*gngv04w6O@2U{$Vj{nFBU2SY#q0W5K2{(>4n}TR`|TK*;O3D5Ky;>5y`CUL}nBwEG*;O=sSfi@*1`W0WIet>M}@v!j=@B_DIN^B)QSZ}s)ME9 zUDF*41t?q;G=t0_+Qd9@;UWMM{DiRLRs}-D>n)j+tcIT$8d=yP7tV-RlHRxkwga}5 z@ft$({|ldqghU{0-+EH>f@u1vx6;Y^!T!mPxEYOhMeI1dvhM*$L}hmsgLQS$n=8Uo z7j+jE|7#aY%{|I~ETidq2^EXLyX2r%c*+R^8L*+ESYo7BgCFRh9hYIdu-Kk&x8_^z zV{eT>Ej}5nK-suku4V24W+=mfz(+aN<&j5>7nplJ zT`(O9&2fPtrIw_Js!h)@cYC@k-py=h^(5FJ3(twtY17Vwj>9y`6K!p`>uP z5O)SQB%JG|=Aw8~j(&c4HzAxW3W_$LULGM8rUcwVL$_B1F*^M{Pl8iz$4`3#QVhF5 zVWTME<{Xz&L)~@<%-wZc!21h|cz4>pJzMS{EbM;(4zF9Y`uWSSm6$4k$>nb>H#v#m z#Q_kat}B`nT6A6X(j3?eQ?df^Au^iWA9gox1`UA?ngyjLQRq|0ITdoGQ>Lu~MfgR8 z9JS_80cVet6e0HpnDbyL2^kD%Y;ze1h$o&PX%)c2Ao7D@LPDr3q=2>BV&OZdoaCIe zhbw*04?V$1WsFl;vb1@$r?f|)7>@;yP?1x~cKEnQj&lU+v)j4Hq^v7)HAOOQeaK;4 zc<^V*GmUQKH#XIDueTGxZ$PUZGzgnd!FF5ekt8D(&JMN?dTvb>_9Dx@QE1@cdWEDI zWw83Tu=U)uW%2!6Kmr6Hb^7z~jsK(c*r^5^bVi zrv zlQ>&=I^8yZkgX9pDOwUrk%t}5-9)iKtF1Ehc!bOzJ|}m zpTRP!Ttl$8hLmidGW6=CiR>mLXd1MGnXonfw1c(@RvQjp^}2~)Pfi7O%@+L=rWhb| zrX0NKb>v$bTyKI6AB6srw>UVWm!Tk70k^#t3c6N#3*}`cs|0mWVxO%zqF_9jcWAdq z&xd8;)_FLd{4x6U?eD+L{_%Wa>gD@)GPFfD;F3Px+69{fl>wUp=CM=qAEI|IkO4<< zCai7ZYKYw3#fJRhn=`uKJ=vevq_@`*O=9xgOz`Q#gb{pu`sL#{&#WpV$aDGP&B)07 zR4`T5_ji|O^3Cg)zbs5TNDa;w_tDNmvzrs4HY`-M&8pg5U_t-}wm5gzpByv|kR`BT z-Nj4kFUfJ9LN9!S>6s)3uA>elfmFQX@PBXIuVt5Ha$Znt8x&_i8VhfL_K@672m1-5DaNF2D zm9})VcXqOKbaE*54}4tT>JxN)eML!$I>%GwQ@Bhz5FX26VO1j#l>KUarvn=NS?&tZ z2!w`3nX2j)%$X%3(sGtGk|ln4FLbr4z}8y1K%$PESk)3OPhw{?h0=e;xrs8{TlHd* z>@gg^M`4i!Kg0R>&fN)ocAw(MlfMED`26+!_&4+81<|r$fpgWQJCajH?o+NSj%5`T zpg_r!%R^-5YHsFW-RuP#V4n7c`GW=|$K~TTbkHbYo3zxhI0AG|OrRWP%mqoq6^Ze& zI1!F^zUNLzL{fM^}}^ar-W0ex9V;A@2!sCI3Q7>Mpn z2BCtt@heD??v5F@qIZ&+xvrP0xi61BvLgm%M6q~k(3r9CbEFQ)&@U1q)XeQ=IA~uu zgIh~rFf>{wPjBfj!|PFF>tt|sR*-pdZdM?k_|A& z5}$=@xcQWlHmU1@&!Ku7%R*Ir7AGSa-tRk(v{r=KMw^v_Xpb1CUN-(6ncyF__C6M0yCq%1B zlz#Iee7DHu;LwFB?2E||15kj@iAqIDh|`MRipzY~_77(?6fw<996g!_K0gOSH>$XbCFcHiVRg*<(C<`vP>wdEd|(WEA*m$utJBCh4L zT;}g*CWJfMr@C;&eK|oiOqN+BKqM|#$E+eA$%XoKR?;tUwzCwCj@avz#E&8mK$Wz6 zBoAz;M??6C{)Xe9%^^`f`enh%w#Wv2E*+OPELA2bXp#W}X+qw#KNLR*8cW?45um1I@7vvJxhTs9cWW_#*E zLf+)wO!r!^S7)Zy=VmtM9Rzm|cD7HCb^nfr;r$DpW9glx1A5#vE$`S+cY2~+?!n|r zIRz;bcUbh?a?6nr0K}TG0v)1o(ejA`JuY^Gy$HBvE7Zbgk{P5awl!)JLGGL8jGC0} zc@n=1oMCbVg;rafV$Vf`y%Tpe(#yMqy1_b}eebJNzQEp106FJ0VcPx+kp`GZI2gxF zU|?w|=m>k!X;5cSX5Ba-@Cs6yq!cU(W@WOOi3o?Lo{k8yz*FA4GR z!3<|zIZvU9fLiR%Wim!$IKo+aL9Fj=5)6t4qBjrrwXfVeJzHK|KRZ1S?1*H}Yqz@+ zBi-c9-5eh4C@*p-UdNs9G-V*XwDRssyvb>a`h96I&K#Arh;M|-=19*moJV#9<)CZj zJQAdWRz96bpcy{IXUZr(0|6Y*0d~uRS~zd=StImiz3I=vm)M6ZeT()bFk=O4cc&9a ztBwc-pNmyKnSZ5J!EGN6ff~cd6(d+u=37vaGL~7f5lkNIX3#_sS-!R>{3Gla(W?4N zrks%Q`wYTN42aEeFjeAp0YSI@$o?WuQto@}dS`9#_s-)b_n11;=E$rTI+ z&&OIH7*&a^S;<}NV>D8@*T()#6-iMt$r4fv_pSZLxs~=?thQCB{Z>IP$bN8~FQm$$ djl0BOiBBr)E4hw2@w@;4002ovPDHLkV1gh9*fjtE literal 0 HcmV?d00001 diff --git a/ProjectAutoenterprise/Resources/Edit.png b/ProjectAutoenterprise/Resources/Edit.png new file mode 100644 index 0000000000000000000000000000000000000000..704f2c15309826a7e64584ad3c07f35b387561d0 GIT binary patch literal 853 zcmV-b1FHOqP)`qp|y*?W{_e*CC0;a zjD3>-{g-!U4uc?pwoc3AZ8tL*XDkfH4Ks@JdP75ZA#}-tqQN#6Yh;MaT^>(Pc8(5)~{E zl64@t(b(7}@^SkGceAV}D8F3!{!wcmjLojVlg?*QLa1TB@&|G}Ir+1h!MIL2PA@JjQU|?+Sm&huO4v1{Ao&35f$4&I5JK^I4c=22VB+~kNW&`fA z-U{O4`))-_+EKsZU~QX`jRu=bRId0yDbA=sgN-Wu?L=Ru%NOU}psfK4s_H@0VuC!0 z>Rq-(LGfc%{d~F2>(CW>iX_!;sr1@$+TkY6S*}hsKBblM4$v0YCS!#JaAbkY{oj|f z1aQB(T<@P<&Y(QA7oi=_d@F$4P~dWZo3;!+sF&l8@t$-SEphE~+&$it4m8C@xJL9T zTjJjIXRhM9)De3SDpTgMbWiKzJthqoTyu5w!pQ`zklGx~v1q#u!_9m!X`*1^Rmle2 zM1RH?qY9s<97k3wWEOSE6CEob+b)7Z!SQHInbiG5_{NWC6P1FP6<-{=#eo7asS-SGvIw`| zaAa%_Za>B3f?1pO{qc4S!Kg@d%5pGAT|QgaRDm5s{8dr{i+|#DB# Date: Tue, 26 Nov 2024 21:13:12 +0400 Subject: [PATCH 2/4] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=20=E2=84=961=20(=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectAutoenterprise/Entities/Bus.cs | 3 + .../Entities/BusRepair.cs | 6 +- .../Entities/Employee.cs | 6 +- .../Entities/Enums/BusColors.cs | 2 +- .../Entities/Itinerary.cs | 10 +- .../Entities/ItineraryRoutes.cs | 13 +- .../ProjectAutoenterprise/Entities/Route.cs | 7 +- .../FormAutoenterprise.Designer.cs | 57 ++++---- .../FormAutoenterprise.cs | 128 ++++++++++-------- .../Forms/FormBus.Designer.cs | 12 +- .../ProjectAutoenterprise/Forms/FormBus.cs | 2 +- .../Forms/FormBusRepair.Designer.cs | 11 +- .../Forms/FormBusRepair.cs | 5 +- .../Forms/FormBusRepairs.Designer.cs | 10 +- .../Forms/FormBuses.Designer.cs | 12 +- .../Forms/FormEmployee.Designer.cs | 18 ++- .../Forms/FormEmployee.cs | 2 + .../Forms/FormEmployees.Designer.cs | 10 +- .../Forms/FormItineraries.Designer.cs | 9 +- .../Forms/FormItineraries.cs | 6 +- .../Forms/FormItinerary.Designer.cs | 37 ++--- .../Forms/FormItinerary.cs | 11 +- .../Forms/FormRoute.Designer.cs | 5 + .../ProjectAutoenterprise/Forms/FormRoute.cs | 3 +- .../Forms/FormRoutes.Designer.cs | 9 +- .../ProjectAutoenterprise/Forms/FormRoutes.cs | 12 +- .../Repositories/IBusRepairRepository.cs | 2 +- .../Repositories/IEmployeeRepository.cs | 2 + .../Implementations/EmployeeRepository.cs | 8 +- .../Implementations/RouteRepository.cs | 2 +- 30 files changed, 252 insertions(+), 168 deletions(-) diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Bus.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Bus.cs index 9afda35..aed6192 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Bus.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Bus.cs @@ -1,6 +1,9 @@ using ProjectAutoenterprise.Entities.Enums; namespace ProjectAutoenterprise.Entities; +/// +/// Сущность-справочник "Автобус" +/// public class Bus { public int Id { get; private set; } diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/BusRepair.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/BusRepair.cs index d8fc73f..cf334f4 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/BusRepair.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/BusRepair.cs @@ -1,6 +1,8 @@ -using System; -namespace ProjectAutoenterprise.Entities; +namespace ProjectAutoenterprise.Entities; +/// +/// Сущность-операция "Ремонт автобуса" +/// public class BusRepair { public int Id { get; private set; } diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Employee.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Employee.cs index f5212c8..76d3efc 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Employee.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Employee.cs @@ -1,6 +1,9 @@ using ProjectAutoenterprise.Entities.Enums; namespace ProjectAutoenterprise.Entities; +/// +/// Сущность-справочник "Работник" +/// public class Employee { public int Id { get; private set; } @@ -9,8 +12,7 @@ public class Employee public DateTime BirthDate { get; private set; } public EmployeePost EmployeePost { get; private set; } - public static Employee CreateEntity(int id, string firstName, string lastName, DateTime birthDate, - EmployeePost employeePost) + public static Employee CreateEntity(int id, string firstName, string lastName, DateTime birthDate, EmployeePost employeePost) { return new Employee { diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Enums/BusColors.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Enums/BusColors.cs index fea5ddb..aed0daa 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Enums/BusColors.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Enums/BusColors.cs @@ -7,5 +7,5 @@ public enum BusColors Yellow = 1, Black = 2, Blue = 4, - Green = 8 + Green = 8 } \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Itinerary.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Itinerary.cs index 2d9fdaf..f39a68b 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Itinerary.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Itinerary.cs @@ -1,5 +1,8 @@ namespace ProjectAutoenterprise.Entities; +/// +/// Сущность-операция "Маршрутный лист" +/// public class Itinerary { public int Id { get; private set; } @@ -10,7 +13,7 @@ public class Itinerary public DateTime ItineraryDate { get; private set; } public string Description { get; private set; } = string.Empty; - public static Itinerary CreateEntity(int id, int busId, int conductorID, DateTime itineraryDate, string description, + public static Itinerary CreateOperation(int id, int busId, int driverId, int conductorId, DateTime itineraryDate, string description, IEnumerable itineraryRoute) { return new Itinerary @@ -18,9 +21,10 @@ public class Itinerary Id = id, BusId = busId, ItineraryRoute = itineraryRoute, - ConductorId = conductorID, + DriverId = driverId, + ConductorId = conductorId, ItineraryDate = itineraryDate, - Description = description + Description = description ?? string.Empty }; } } \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/ItineraryRoutes.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/ItineraryRoutes.cs index 589c340..b1f147a 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/ItineraryRoutes.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/ItineraryRoutes.cs @@ -1,12 +1,19 @@ namespace ProjectAutoenterprise.Entities; +/// +/// Сущность-элемент "Маршрутный лист - Маршрут" реализующий связь многие ко многим между сущностями "Маршрутный лист" и "Маршрут" +/// public class ItineraryRoute { - public int Id { get; private set; } + public int ItineraryId { get; private set; } public int RouteId { get; private set; } - public static ItineraryRoute CreateElement(int id, int routeId) + public static ItineraryRoute CreateElement(int itineraryId, int routeId) { - return new ItineraryRoute { Id = id, RouteId = routeId }; + return new ItineraryRoute + { + ItineraryId = itineraryId, + RouteId = routeId + }; } } \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Route.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Route.cs index 4bca98a..3aaafec 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Route.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Route.cs @@ -1,5 +1,8 @@ namespace ProjectAutoenterprise.Entities; +/// +/// Сущность-справочник "Маршрут" +/// public class Route { public int Id { get; private set; } @@ -11,8 +14,8 @@ public class Route return new Route { Id = id, - BeginRoutePoint = beginRoutePoint, - EndRoutePoint = endRoutePoint + BeginRoutePoint = beginRoutePoint ?? string.Empty, + EndRoutePoint = endRoutePoint ?? string.Empty }; } } \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.Designer.cs index 8d09c86..aa28baa 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.Designer.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.Designer.cs @@ -30,19 +30,19 @@ { menuStrip1 = new MenuStrip(); справочникиToolStripMenuItem = new ToolStripMenuItem(); - ToolStripMenuItemItineraries = new ToolStripMenuItem(); ToolStripMenuItemRoutes = new ToolStripMenuItem(); ToolStripMenuItemEmployees = new ToolStripMenuItem(); ToolStripMenuItemBuses = new ToolStripMenuItem(); - операцииToolStripMenuItem = new ToolStripMenuItem(); + ToolStripMenuItemOperation = new ToolStripMenuItem(); ToolStripMenuItemBusRepairs = new ToolStripMenuItem(); - отчетыToolStripMenuItem = new ToolStripMenuItem(); + ToolStripMenuItemCreatreItinerary = new ToolStripMenuItem(); + ToolStripMenuItemReport = new ToolStripMenuItem(); menuStrip1.SuspendLayout(); SuspendLayout(); // // menuStrip1 // - menuStrip1.Items.AddRange(new ToolStripItem[] { справочникиToolStripMenuItem, операцииToolStripMenuItem, отчетыToolStripMenuItem }); + menuStrip1.Items.AddRange(new ToolStripItem[] { справочникиToolStripMenuItem, ToolStripMenuItemOperation, ToolStripMenuItemReport }); menuStrip1.Location = new Point(0, 0); menuStrip1.Name = "menuStrip1"; menuStrip1.Size = new Size(784, 24); @@ -51,58 +51,58 @@ // // справочникиToolStripMenuItem // - справочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { ToolStripMenuItemItineraries, ToolStripMenuItemRoutes, ToolStripMenuItemEmployees, ToolStripMenuItemBuses }); + справочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { ToolStripMenuItemRoutes, ToolStripMenuItemEmployees, ToolStripMenuItemBuses }); справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem"; справочникиToolStripMenuItem.Size = new Size(94, 20); справочникиToolStripMenuItem.Text = "Справочники"; // - // ToolStripMenuItemItineraries - // - ToolStripMenuItemItineraries.Name = "ToolStripMenuItemItineraries"; - ToolStripMenuItemItineraries.Size = new Size(186, 22); - ToolStripMenuItemItineraries.Text = "Маршрутные листы"; - ToolStripMenuItemItineraries.Click += ToolStripMenuItemItineraries_Click; - // // ToolStripMenuItemRoutes // ToolStripMenuItemRoutes.Name = "ToolStripMenuItemRoutes"; - ToolStripMenuItemRoutes.Size = new Size(186, 22); + ToolStripMenuItemRoutes.Size = new Size(180, 22); ToolStripMenuItemRoutes.Text = "Маршруты"; ToolStripMenuItemRoutes.Click += ToolStripMenuItemRoutes_Click; // // ToolStripMenuItemEmployees // ToolStripMenuItemEmployees.Name = "ToolStripMenuItemEmployees"; - ToolStripMenuItemEmployees.Size = new Size(186, 22); + ToolStripMenuItemEmployees.Size = new Size(180, 22); ToolStripMenuItemEmployees.Text = "Работники"; ToolStripMenuItemEmployees.Click += ToolStripMenuItemEmployees_Click; // // ToolStripMenuItemBuses // ToolStripMenuItemBuses.Name = "ToolStripMenuItemBuses"; - ToolStripMenuItemBuses.Size = new Size(186, 22); + ToolStripMenuItemBuses.Size = new Size(180, 22); ToolStripMenuItemBuses.Text = "Автобусы"; ToolStripMenuItemBuses.Click += ToolStripMenuItemBuses_Click; // - // операцииToolStripMenuItem + // ToolStripMenuItemOperation // - операцииToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { ToolStripMenuItemBusRepairs }); - операцииToolStripMenuItem.Name = "операцииToolStripMenuItem"; - операцииToolStripMenuItem.Size = new Size(75, 20); - операцииToolStripMenuItem.Text = "Операции"; + ToolStripMenuItemOperation.DropDownItems.AddRange(new ToolStripItem[] { ToolStripMenuItemBusRepairs, ToolStripMenuItemCreatreItinerary }); + ToolStripMenuItemOperation.Name = "ToolStripMenuItemOperation"; + ToolStripMenuItemOperation.Size = new Size(75, 20); + ToolStripMenuItemOperation.Text = "Операции"; // // ToolStripMenuItemBusRepairs // ToolStripMenuItemBusRepairs.Name = "ToolStripMenuItemBusRepairs"; - ToolStripMenuItemBusRepairs.Size = new Size(174, 22); + ToolStripMenuItemBusRepairs.Size = new Size(240, 22); ToolStripMenuItemBusRepairs.Text = "Ремонт автобусов"; ToolStripMenuItemBusRepairs.Click += ToolStripMenuItemBusRepairs_Click; // - // отчетыToolStripMenuItem + // ToolStripMenuItemCreatreItinerary // - отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem"; - отчетыToolStripMenuItem.Size = new Size(60, 20); - отчетыToolStripMenuItem.Text = "Отчеты"; + ToolStripMenuItemCreatreItinerary.Name = "ToolStripMenuItemCreatreItinerary"; + ToolStripMenuItemCreatreItinerary.Size = new Size(240, 22); + ToolStripMenuItemCreatreItinerary.Text = "Создание маршрутного листа"; + ToolStripMenuItemCreatreItinerary.Click += ToolStripMenuItemCreatreItinerary_Click; + // + // ToolStripMenuItemReport + // + ToolStripMenuItemReport.Name = "ToolStripMenuItemReport"; + ToolStripMenuItemReport.Size = new Size(60, 20); + ToolStripMenuItemReport.Text = "Отчеты"; // // FormAutoenterprise // @@ -113,6 +113,7 @@ ClientSize = new Size(784, 411); Controls.Add(menuStrip1); MainMenuStrip = menuStrip1; + MinimumSize = new Size(400, 225); Name = "FormAutoenterprise"; StartPosition = FormStartPosition.CenterScreen; Text = "Автопредприятие"; @@ -129,9 +130,9 @@ private ToolStripMenuItem ToolStripMenuItemRoutes; private ToolStripMenuItem ToolStripMenuItemEmployees; private ToolStripMenuItem ToolStripMenuItemBuses; - private ToolStripMenuItem операцииToolStripMenuItem; + private ToolStripMenuItem ToolStripMenuItemOperation; private ToolStripMenuItem ToolStripMenuItemBusRepairs; - private ToolStripMenuItem отчетыToolStripMenuItem; - private ToolStripMenuItem ToolStripMenuItemItineraries; + private ToolStripMenuItem ToolStripMenuItemReport; + private ToolStripMenuItem ToolStripMenuItemCreatreItinerary; } } diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.cs b/ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.cs index 3610410..a3f3571 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/FormAutoenterprise.cs @@ -1,76 +1,88 @@ using ProjectAutoenterprise.Forms; using Unity; +namespace ProjectAutoenterprise; -namespace ProjectAutoenterprise +/// +/// +/// +public partial class FormAutoenterprise : Form { - public partial class FormAutoenterprise : Form + private readonly IUnityContainer _container; + public FormAutoenterprise(IUnityContainer container) { - private readonly IUnityContainer _container; - public FormAutoenterprise(IUnityContainer container) - { - InitializeComponent(); - _container = container ?? - throw new ArgumentNullException(nameof(container)); - } + InitializeComponent(); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + } - private void ToolStripMenuItemRoutes_Click(object sender, EventArgs e) + /// + /// "" () + /// + private void ToolStripMenuItemRoutes_Click(object sender, EventArgs e) + { + try { - try - { - _container.Resolve().ShowDialog(); - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error); - } + _container.Resolve().ShowDialog(); } - - private void ToolStripMenuItemEmployees_Click(object sender, EventArgs e) + catch (Exception ex) { - try - { - _container.Resolve().ShowDialog(); - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error); - } + MessageBox.Show(ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error); } - - private void ToolStripMenuItemBuses_Click(object sender, EventArgs e) + } + /// + /// "" () + /// + private void ToolStripMenuItemEmployees_Click(object sender, EventArgs e) + { + try { - try - { - _container.Resolve().ShowDialog(); - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error); - } + _container.Resolve().ShowDialog(); } - - private void ToolStripMenuItemBusRepairs_Click(object sender, EventArgs e) + catch (Exception ex) { - try - { - _container.Resolve().ShowDialog(); - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error); - } + MessageBox.Show(ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error); } - - private void ToolStripMenuItemItineraries_Click(object sender, EventArgs e) + } + /// + /// "" () + /// + private void ToolStripMenuItemBuses_Click(object sender, EventArgs e) + { + try { - try - { - _container.Resolve().ShowDialog(); - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error); - } + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + /// + /// " " () + /// + private void ToolStripMenuItemBusRepairs_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + /// + /// " " () + /// + private void ToolStripMenuItemCreatreItinerary_Click(object sender, EventArgs e) + { + try + { + _container.Resolve().ShowDialog(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, " ", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.Designer.cs index a7634ee..b139da9 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.Designer.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.Designer.cs @@ -71,7 +71,7 @@ // label3.AutoSize = true; label3.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); - label3.Location = new Point(1, 142); + label3.Location = new Point(-1, 137); label3.Name = "label3"; label3.Size = new Size(106, 21); label3.TabIndex = 3; @@ -79,7 +79,7 @@ // // numericUpDownCapacity // - numericUpDownCapacity.Location = new Point(113, 145); + numericUpDownCapacity.Location = new Point(111, 140); numericUpDownCapacity.Maximum = new decimal(new int[] { 99, 0, 0, 0 }); numericUpDownCapacity.Name = "numericUpDownCapacity"; numericUpDownCapacity.Size = new Size(51, 23); @@ -95,7 +95,7 @@ // buttonSave // buttonSave.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; - buttonSave.Location = new Point(12, 184); + buttonSave.Location = new Point(12, 173); buttonSave.Name = "buttonSave"; buttonSave.Size = new Size(111, 30); buttonSave.TabIndex = 6; @@ -106,7 +106,7 @@ // buttonCancel // buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; - buttonCancel.Location = new Point(162, 184); + buttonCancel.Location = new Point(163, 173); buttonCancel.Name = "buttonCancel"; buttonCancel.Size = new Size(112, 30); buttonCancel.TabIndex = 7; @@ -118,7 +118,7 @@ // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(283, 222); + ClientSize = new Size(284, 211); Controls.Add(buttonCancel); Controls.Add(buttonSave); Controls.Add(textBoxBrand); @@ -127,6 +127,8 @@ Controls.Add(label2); Controls.Add(label1); Controls.Add(checkedListBoxBusColors); + MaximumSize = new Size(300, 250); + MinimumSize = new Size(300, 250); Name = "FormBus"; StartPosition = FormStartPosition.CenterParent; Text = "Автобус"; diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.cs index bd48132..a11287e 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBus.cs @@ -81,4 +81,4 @@ public partial class FormBus : Form } return Bus.CreateEntity(id, textBoxBrand.Text, Convert.ToInt32(numericUpDownCapacity.Value), busColors); } -} +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.Designer.cs index e856bc8..8423dd5 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.Designer.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.Designer.cs @@ -70,6 +70,7 @@ // // dateTimePickerRepairDate // + dateTimePickerRepairDate.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; dateTimePickerRepairDate.Enabled = false; dateTimePickerRepairDate.Location = new Point(130, 47); dateTimePickerRepairDate.Name = "dateTimePickerRepairDate"; @@ -78,6 +79,7 @@ // // textBoxDescription // + textBoxDescription.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; textBoxDescription.Location = new Point(130, 87); textBoxDescription.Multiline = true; textBoxDescription.Name = "textBoxDescription"; @@ -87,7 +89,7 @@ // buttonCancel // buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; - buttonCancel.Location = new Point(207, 240); + buttonCancel.Location = new Point(210, 239); buttonCancel.Name = "buttonCancel"; buttonCancel.Size = new Size(112, 30); buttonCancel.TabIndex = 9; @@ -98,7 +100,7 @@ // buttonSave // buttonSave.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; - buttonSave.Location = new Point(10, 240); + buttonSave.Location = new Point(10, 239); buttonSave.Name = "buttonSave"; buttonSave.Size = new Size(111, 30); buttonSave.TabIndex = 8; @@ -108,6 +110,7 @@ // // comboBoxBus // + comboBoxBus.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; comboBoxBus.DropDownStyle = ComboBoxStyle.DropDownList; comboBoxBus.FormattingEnabled = true; comboBoxBus.Location = new Point(130, 11); @@ -119,7 +122,7 @@ // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(331, 282); + ClientSize = new Size(334, 281); Controls.Add(comboBoxBus); Controls.Add(buttonCancel); Controls.Add(buttonSave); @@ -128,6 +131,8 @@ Controls.Add(label3); Controls.Add(label2); Controls.Add(label1); + MaximumSize = new Size(800, 400); + MinimumSize = new Size(350, 320); Name = "FormBusRepair"; StartPosition = FormStartPosition.CenterParent; Text = "Ремонт автобусов"; diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.cs index 6125a64..9e615ef 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepair.cs @@ -1,6 +1,5 @@ using ProjectAutoenterprise.Entities; using ProjectAutoenterprise.Repositories; - namespace ProjectAutoenterprise.Forms; public partial class FormBusRepair : Form @@ -12,7 +11,7 @@ public partial class FormBusRepair : Form _busRepairRepository = busRepairRepository ?? throw new ArgumentNullException(nameof(busRepairRepository)); comboBoxBus.DataSource = busRepository.ReadBuses(); - comboBoxBus.DisplayMember = "Brand"; + comboBoxBus.DisplayMember = "Id"; comboBoxBus.ValueMember = "Id"; } private void ButtonSave_Click(object sender, EventArgs e) @@ -23,7 +22,7 @@ public partial class FormBusRepair : Form { throw new Exception("Имеются незаполненные поля"); } - _busRepairRepository.CreateBusRepair(BusRepair.CreateOperation( 0, (int)comboBoxBus.SelectedValue!, textBoxDescription.Text)); + _busRepairRepository.CreateBusRepair(BusRepair.CreateOperation(0, (int)comboBoxBus.SelectedValue!, textBoxDescription.Text)); Close(); } catch (Exception ex) diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepairs.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepairs.Designer.cs index b03e1b7..eb71e7f 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepairs.Designer.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBusRepairs.Designer.cs @@ -39,9 +39,9 @@ // panel.Controls.Add(buttonAdd); panel.Dock = DockStyle.Right; - panel.Location = new Point(698, 0); + panel.Location = new Point(682, 0); panel.Name = "panel"; - panel.Size = new Size(102, 450); + panel.Size = new Size(102, 411); panel.TabIndex = 2; // // buttonAdd @@ -70,17 +70,19 @@ dataGridViewData.Name = "dataGridViewData"; dataGridViewData.ReadOnly = true; dataGridViewData.RowHeadersVisible = false; - dataGridViewData.Size = new Size(698, 450); + dataGridViewData.Size = new Size(682, 411); dataGridViewData.TabIndex = 3; // // FormBusRepairs // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(800, 450); + ClientSize = new Size(784, 411); Controls.Add(dataGridViewData); Controls.Add(panel); + MinimumSize = new Size(400, 300); Name = "FormBusRepairs"; + StartPosition = FormStartPosition.CenterParent; Text = "FormBusRepairs"; Load += FormBusRepairs_Load; panel.ResumeLayout(false); diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.Designer.cs index 7e63fcc..0fe813a 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.Designer.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.Designer.cs @@ -43,16 +43,16 @@ panel.Controls.Add(buttonDelete); panel.Controls.Add(buttonAdd); panel.Dock = DockStyle.Right; - panel.Location = new Point(698, 0); + panel.Location = new Point(682, 0); panel.Name = "panel"; - panel.Size = new Size(102, 450); + panel.Size = new Size(102, 411); panel.TabIndex = 1; // // buttonEdit // buttonEdit.BackgroundImage = Properties.Resources.Edit; buttonEdit.BackgroundImageLayout = ImageLayout.Stretch; - buttonEdit.Location = new Point(20, 197); + buttonEdit.Location = new Point(20, 196); buttonEdit.Name = "buttonEdit"; buttonEdit.Size = new Size(70, 70); buttonEdit.TabIndex = 3; @@ -96,17 +96,19 @@ dataGridViewData.Name = "dataGridViewData"; dataGridViewData.ReadOnly = true; dataGridViewData.RowHeadersVisible = false; - dataGridViewData.Size = new Size(698, 450); + dataGridViewData.Size = new Size(682, 411); dataGridViewData.TabIndex = 2; // // FormBuses // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(800, 450); + ClientSize = new Size(784, 411); Controls.Add(dataGridViewData); Controls.Add(panel); + MinimumSize = new Size(400, 300); Name = "FormBuses"; + StartPosition = FormStartPosition.CenterParent; Text = "Автобусы"; Load += FormBuses_Load; panel.ResumeLayout(false); diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.Designer.cs index 7fc06d2..a2db882 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.Designer.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.Designer.cs @@ -94,7 +94,7 @@ // buttonCancel // buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; - buttonCancel.Location = new Point(205, 147); + buttonCancel.Location = new Point(235, 147); buttonCancel.Name = "buttonCancel"; buttonCancel.Size = new Size(140, 30); buttonCancel.TabIndex = 6; @@ -104,39 +104,43 @@ // // comboBoxPost // + comboBoxPost.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; comboBoxPost.DropDownStyle = ComboBoxStyle.DropDownList; comboBoxPost.FormattingEnabled = true; comboBoxPost.Location = new Point(142, 110); comboBoxPost.Name = "comboBoxPost"; - comboBoxPost.Size = new Size(200, 23); + comboBoxPost.Size = new Size(230, 23); comboBoxPost.TabIndex = 7; // // textBoxFirstName // + textBoxFirstName.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; textBoxFirstName.Location = new Point(142, 44); textBoxFirstName.Name = "textBoxFirstName"; - textBoxFirstName.Size = new Size(200, 23); + textBoxFirstName.Size = new Size(230, 23); textBoxFirstName.TabIndex = 9; // // textBoxLastName // + textBoxLastName.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; textBoxLastName.Location = new Point(141, 11); textBoxLastName.Name = "textBoxLastName"; - textBoxLastName.Size = new Size(200, 23); + textBoxLastName.Size = new Size(230, 23); textBoxLastName.TabIndex = 10; // // dateTimePickerBirthDate // + dateTimePickerBirthDate.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; dateTimePickerBirthDate.Location = new Point(142, 75); dateTimePickerBirthDate.Name = "dateTimePickerBirthDate"; - dateTimePickerBirthDate.Size = new Size(200, 23); + dateTimePickerBirthDate.Size = new Size(230, 23); dateTimePickerBirthDate.TabIndex = 11; // // FormEmployee // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(354, 191); + ClientSize = new Size(384, 191); Controls.Add(dateTimePickerBirthDate); Controls.Add(textBoxLastName); Controls.Add(textBoxFirstName); @@ -147,6 +151,8 @@ Controls.Add(label3); Controls.Add(label2); Controls.Add(label1); + MaximumSize = new Size(500, 230); + MinimumSize = new Size(400, 230); Name = "FormEmployee"; StartPosition = FormStartPosition.CenterParent; Text = "Работник"; diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.cs index 10ccbf7..c5d6203 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployee.cs @@ -30,6 +30,7 @@ public partial class FormEmployee : Form } } } + public FormEmployee(IEmployeeRepository employeeRepository) { InitializeComponent(); @@ -37,6 +38,7 @@ public partial class FormEmployee : Form throw new ArgumentNullException(nameof(employeeRepository)); comboBoxPost.DataSource = Enum.GetValues(typeof(EmployeePost)); } + private void ButtonSave_Click(object sender, EventArgs e) { try diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.Designer.cs index 4a947df..0e3f240 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.Designer.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.Designer.cs @@ -43,9 +43,9 @@ panel.Controls.Add(buttonDelete); panel.Controls.Add(buttonAdd); panel.Dock = DockStyle.Right; - panel.Location = new Point(698, 0); + panel.Location = new Point(682, 0); panel.Name = "panel"; - panel.Size = new Size(102, 450); + panel.Size = new Size(102, 411); panel.TabIndex = 0; // // buttonEdit @@ -96,17 +96,19 @@ dataGridViewData.Name = "dataGridViewData"; dataGridViewData.ReadOnly = true; dataGridViewData.RowHeadersVisible = false; - dataGridViewData.Size = new Size(698, 450); + dataGridViewData.Size = new Size(682, 411); dataGridViewData.TabIndex = 1; // // FormEmployees // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(800, 450); + ClientSize = new Size(784, 411); Controls.Add(dataGridViewData); Controls.Add(panel); + MinimumSize = new Size(400, 300); Name = "FormEmployees"; + StartPosition = FormStartPosition.CenterParent; Text = "Работники"; Load += FormEmployees_Load; panel.ResumeLayout(false); diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.Designer.cs index 8f0d202..5d64ac1 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.Designer.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.Designer.cs @@ -41,9 +41,9 @@ panel.Controls.Add(buttonDelete); panel.Controls.Add(buttonAdd); panel.Dock = DockStyle.Right; - panel.Location = new Point(698, 0); + panel.Location = new Point(682, 0); panel.Name = "panel"; - panel.Size = new Size(102, 450); + panel.Size = new Size(102, 411); panel.TabIndex = 2; // // buttonDelete @@ -83,16 +83,17 @@ dataGridViewData.Name = "dataGridViewData"; dataGridViewData.ReadOnly = true; dataGridViewData.RowHeadersVisible = false; - dataGridViewData.Size = new Size(698, 450); + dataGridViewData.Size = new Size(682, 411); dataGridViewData.TabIndex = 3; // // FormItineraries // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(800, 450); + ClientSize = new Size(784, 411); Controls.Add(dataGridViewData); Controls.Add(panel); + MinimumSize = new Size(400, 300); Name = "FormItineraries"; StartPosition = FormStartPosition.CenterParent; Text = "Маршрутные листы"; diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.cs index 61248c2..81b73e8 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItineraries.cs @@ -1,6 +1,5 @@ using ProjectAutoenterprise.Repositories; using Unity; - namespace ProjectAutoenterprise.Forms; public partial class FormItineraries : Form @@ -15,6 +14,7 @@ public partial class FormItineraries : Form _itineraryRepository = itineraryRepository ?? throw new ArgumentNullException(nameof(itineraryRepository)); } + private void FormItinerarys_Load(object sender, EventArgs e) { try @@ -26,6 +26,7 @@ public partial class FormItineraries : Form MessageBox.Show(ex.Message, "Ошибка при загрузке", MessageBoxButtons.OK, MessageBoxIcon.Error); } } + private void ButtonAdd_Click(object sender, EventArgs e) { try @@ -38,6 +39,7 @@ public partial class FormItineraries : Form MessageBox.Show(ex.Message, "Ошибка при добавлении", MessageBoxButtons.OK, MessageBoxIcon.Error); } } + private void ButtonDelete_Click(object sender, EventArgs e) { if (!TryGetIdentifierFromSelectedRow(out var findId)) @@ -58,7 +60,9 @@ public partial class FormItineraries : Form MessageBox.Show(ex.Message, "Ошибка при удалении", MessageBoxButtons.OK, MessageBoxIcon.Error); } } + private void LoadList() => dataGridViewData.DataSource = _itineraryRepository.ReadItinerary(); + private bool TryGetIdentifierFromSelectedRow(out int id) { id = 0; diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.Designer.cs index db7a652..90b5519 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.Designer.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.Designer.cs @@ -30,7 +30,6 @@ { groupBoxRoutes = new GroupBox(); dataGridViewRoutes = new DataGridView(); - ColumnRoute = new DataGridViewComboBoxColumn(); comboBoxBus = new ComboBox(); label1 = new Label(); comboBoxDriver = new ComboBox(); @@ -43,6 +42,7 @@ label5 = new Label(); buttonCancel = new Button(); buttonSave = new Button(); + ColumnRoute = new DataGridViewComboBoxColumn(); groupBoxRoutes.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)dataGridViewRoutes).BeginInit(); SuspendLayout(); @@ -53,7 +53,7 @@ groupBoxRoutes.Controls.Add(dataGridViewRoutes); groupBoxRoutes.Location = new Point(333, 12); groupBoxRoutes.Name = "groupBoxRoutes"; - groupBoxRoutes.Size = new Size(256, 207); + groupBoxRoutes.Size = new Size(259, 202); groupBoxRoutes.TabIndex = 0; groupBoxRoutes.TabStop = false; groupBoxRoutes.Text = "Маршруты"; @@ -66,14 +66,9 @@ dataGridViewRoutes.Dock = DockStyle.Fill; dataGridViewRoutes.Location = new Point(3, 19); dataGridViewRoutes.Name = "dataGridViewRoutes"; - dataGridViewRoutes.Size = new Size(250, 185); + dataGridViewRoutes.Size = new Size(253, 180); dataGridViewRoutes.TabIndex = 0; // - // ColumnRoute - // - ColumnRoute.HeaderText = "Маршрут"; - ColumnRoute.Name = "ColumnRoute"; - // // comboBoxBus // comboBoxBus.DropDownStyle = ComboBoxStyle.DropDownList; @@ -87,7 +82,7 @@ // label1.AutoSize = true; label1.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); - label1.Location = new Point(18, 29); + label1.Location = new Point(36, 29); label1.Name = "label1"; label1.Size = new Size(71, 21); label1.TabIndex = 11; @@ -106,7 +101,7 @@ // label2.AutoSize = true; label2.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); - label2.Location = new Point(32, 84); + label2.Location = new Point(27, 84); label2.Name = "label2"; label2.Size = new Size(80, 21); label2.TabIndex = 13; @@ -125,7 +120,7 @@ // label3.AutoSize = true; label3.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); - label3.Location = new Point(22, 139); + label3.Location = new Point(17, 139); label3.Name = "label3"; label3.Size = new Size(90, 21); label3.TabIndex = 15; @@ -143,7 +138,7 @@ // label4.AutoSize = true; label4.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point, 204); - label4.Location = new Point(69, 194); + label4.Location = new Point(60, 194); label4.Name = "label4"; label4.Size = new Size(47, 21); label4.TabIndex = 17; @@ -155,7 +150,7 @@ textBoxDescription.Location = new Point(122, 251); textBoxDescription.Multiline = true; textBoxDescription.Name = "textBoxDescription"; - textBoxDescription.Size = new Size(464, 113); + textBoxDescription.Size = new Size(467, 108); textBoxDescription.TabIndex = 20; // // label5 @@ -171,7 +166,7 @@ // buttonCancel // buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; - buttonCancel.Location = new Point(146, 404); + buttonCancel.Location = new Point(477, 399); buttonCancel.Name = "buttonCancel"; buttonCancel.Size = new Size(112, 30); buttonCancel.TabIndex = 22; @@ -182,7 +177,7 @@ // buttonSave // buttonSave.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; - buttonSave.Location = new Point(17, 404); + buttonSave.Location = new Point(17, 399); buttonSave.Name = "buttonSave"; buttonSave.Size = new Size(111, 30); buttonSave.TabIndex = 21; @@ -190,11 +185,17 @@ buttonSave.UseVisualStyleBackColor = true; buttonSave.Click += ButtonSave_Click; // + // ColumnRoute + // + ColumnRoute.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; + ColumnRoute.HeaderText = "Маршрут"; + ColumnRoute.Name = "ColumnRoute"; + // // FormItinerary // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(601, 446); + ClientSize = new Size(604, 441); Controls.Add(buttonCancel); Controls.Add(buttonSave); Controls.Add(textBoxDescription); @@ -208,6 +209,8 @@ Controls.Add(comboBoxBus); Controls.Add(label1); Controls.Add(groupBoxRoutes); + MaximumSize = new Size(800, 500); + MinimumSize = new Size(620, 480); Name = "FormItinerary"; StartPosition = FormStartPosition.CenterParent; Text = "Маршрутный лист"; @@ -231,8 +234,8 @@ private Label label4; private TextBox textBoxDescription; private Label label5; - private DataGridViewComboBoxColumn ColumnRoute; private Button buttonCancel; private Button buttonSave; + private DataGridViewComboBoxColumn ColumnRoute; } } \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.cs index 4ec44f5..02105ef 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormItinerary.cs @@ -1,6 +1,6 @@ using ProjectAutoenterprise.Entities; +using ProjectAutoenterprise.Entities.Enums; using ProjectAutoenterprise.Repositories; - namespace ProjectAutoenterprise.Forms; public partial class FormItinerary : Form @@ -17,11 +17,11 @@ public partial class FormItinerary : Form comboBoxBus.DisplayMember = "Brand"; comboBoxBus.ValueMember = "Id"; - comboBoxDriver.DataSource = employeeRepository.ReadEmployees(); + comboBoxDriver.DataSource = employeeRepository.ReadEmployees(EmployeePost.Driver); comboBoxDriver.DisplayMember = "FirstName"; comboBoxDriver.ValueMember = "Id"; - comboBoxConductor.DataSource = employeeRepository.ReadEmployees(); + comboBoxConductor.DataSource = employeeRepository.ReadEmployees(EmployeePost.Conductor); comboBoxConductor.DisplayMember = "FirstName"; comboBoxConductor.ValueMember = "Id"; @@ -39,8 +39,9 @@ public partial class FormItinerary : Form { throw new Exception("Имеются незаполненные поля"); } - _itineraryRepository.CreateItinerary(Itinerary.CreateEntity( + _itineraryRepository.CreateItinerary(Itinerary.CreateOperation( 0, + (int)comboBoxBus.SelectedValue!, (int)comboBoxDriver.SelectedValue!, (int)comboBoxConductor.SelectedValue!, dateTimePickerDate.Value, @@ -63,7 +64,7 @@ public partial class FormItinerary : Form { continue; } - list.Add(ItineraryRoute.CreateElement(0,Convert.ToInt32(row.Cells["ColumnFeed"].Value))); + list.Add(ItineraryRoute.CreateElement(0,Convert.ToInt32(row.Cells["ColumnRoute"].Value))); } return list; } diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.Designer.cs index b47c00f..364034e 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.Designer.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.Designer.cs @@ -58,6 +58,7 @@ // // textBoxBeginRoutePoint // + textBoxBeginRoutePoint.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; textBoxBeginRoutePoint.Location = new Point(234, 12); textBoxBeginRoutePoint.Name = "textBoxBeginRoutePoint"; textBoxBeginRoutePoint.Size = new Size(265, 23); @@ -65,6 +66,7 @@ // // textBoxEndRoutePoint // + textBoxEndRoutePoint.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; textBoxEndRoutePoint.Location = new Point(234, 45); textBoxEndRoutePoint.Name = "textBoxEndRoutePoint"; textBoxEndRoutePoint.Size = new Size(265, 23); @@ -82,6 +84,7 @@ // // buttonCancel // + buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; buttonCancel.Location = new Point(359, 80); buttonCancel.Name = "buttonCancel"; buttonCancel.Size = new Size(140, 30); @@ -101,6 +104,8 @@ Controls.Add(textBoxBeginRoutePoint); Controls.Add(label2); Controls.Add(label1); + MaximumSize = new Size(600, 160); + MinimumSize = new Size(530, 160); Name = "FormRoute"; StartPosition = FormStartPosition.CenterParent; Text = "Маршрут"; diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.cs index 8ff867d..0335fe7 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoute.cs @@ -32,7 +32,8 @@ public partial class FormRoute : Form public FormRoute(IRouteRepository routeRepository) { InitializeComponent(); - _routeRepository = routeRepository ?? throw new ArgumentNullException(nameof(routeRepository)); + _routeRepository = routeRepository ?? + throw new ArgumentNullException(nameof(routeRepository)); } private void ButtonSave_Click(object sender, EventArgs e) diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.Designer.cs index 769a79d..38e378d 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.Designer.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.Designer.cs @@ -52,7 +52,7 @@ dataGridViewData.Name = "dataGridViewData"; dataGridViewData.ReadOnly = true; dataGridViewData.RowHeadersVisible = false; - dataGridViewData.Size = new Size(784, 461); + dataGridViewData.Size = new Size(681, 411); dataGridViewData.TabIndex = 0; // // panel @@ -63,7 +63,7 @@ panel.Dock = DockStyle.Right; panel.Location = new Point(681, 0); panel.Name = "panel"; - panel.Size = new Size(103, 461); + panel.Size = new Size(103, 411); panel.TabIndex = 1; // // buttonEdit @@ -103,9 +103,10 @@ // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(784, 461); - Controls.Add(panel); + ClientSize = new Size(784, 411); Controls.Add(dataGridViewData); + Controls.Add(panel); + MinimumSize = new Size(400, 300); Name = "FormRoutes"; StartPosition = FormStartPosition.CenterParent; Text = "Маршруты"; diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.cs index 926acea..0df7128 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.cs @@ -9,9 +9,12 @@ public partial class FormRoutes : Form public FormRoutes(IUnityContainer container, IRouteRepository routeRepository) { InitializeComponent(); - _container = container ?? throw new ArgumentNullException(nameof(container)); - _routeRepository = routeRepository ?? throw new ArgumentNullException(nameof(routeRepository)); + _container = container ?? + throw new ArgumentNullException(nameof(container)); + _routeRepository = routeRepository ?? + throw new ArgumentNullException(nameof(routeRepository)); } + private void FormRoutes_Load(object sender, EventArgs e) { try @@ -23,6 +26,7 @@ public partial class FormRoutes : Form MessageBox.Show(ex.Message, "Ошибка при загрузке", MessageBoxButtons.OK, MessageBoxIcon.Error); } } + private void ButtonAdd_Click(object sender, EventArgs e) { try @@ -35,6 +39,7 @@ public partial class FormRoutes : Form MessageBox.Show(ex.Message, "Ошибка при добавлении", MessageBoxButtons.OK, MessageBoxIcon.Error); } } + private void ButtonDelete_Click(object sender, EventArgs e) { if (!TryGetIdentifierFromSelectedRow(out var findId)) @@ -55,6 +60,7 @@ public partial class FormRoutes : Form MessageBox.Show(ex.Message, "Ошибка при удалении", MessageBoxButtons.OK, MessageBoxIcon.Error); } } + private void ButtonEdit_Click(object sender, EventArgs e) { if (!TryGetIdentifierFromSelectedRow(out var findId)) @@ -74,7 +80,9 @@ public partial class FormRoutes : Form MessageBoxButtons.OK, MessageBoxIcon.Error); } } + private void LoadList() => dataGridViewData.DataSource = _routeRepository.ReadRoutes(); + private bool TryGetIdentifierFromSelectedRow(out int id) { id = 0; diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IBusRepairRepository.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IBusRepairRepository.cs index bb3e0f2..ce13e7b 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IBusRepairRepository.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IBusRepairRepository.cs @@ -3,7 +3,7 @@ namespace ProjectAutoenterprise.Repositories; public interface IBusRepairRepository { + void CreateBusRepair(BusRepair busRepair); IEnumerable ReadBusRepairs(DateTime? dateForm = null, DateTime? dateTo = null, int? busId = null, string? description = null); - void CreateBusRepair(BusRepair busRepair); } \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IEmployeeRepository.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IEmployeeRepository.cs index 40aedec..6877deb 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IEmployeeRepository.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/IEmployeeRepository.cs @@ -1,10 +1,12 @@ using ProjectAutoenterprise.Entities; +using ProjectAutoenterprise.Entities.Enums; namespace ProjectAutoenterprise.Repositories; public interface IEmployeeRepository { IEnumerable ReadEmployees(); + IEnumerable ReadEmployees(EmployeePost employeePost); Employee ReadEmployeeById(int id); void CreateEmployee(Employee employee); void UpdateEmployee(Employee employee); diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/EmployeeRepository.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/EmployeeRepository.cs index 20affbe..c9bc573 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/EmployeeRepository.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/EmployeeRepository.cs @@ -1,6 +1,5 @@ using ProjectAutoenterprise.Entities; using ProjectAutoenterprise.Entities.Enums; - namespace ProjectAutoenterprise.Repositories.Implementations; internal class EmployeeRepository : IEmployeeRepository @@ -25,8 +24,13 @@ internal class EmployeeRepository : IEmployeeRepository return []; } + public IEnumerable ReadEmployees(EmployeePost employeePost) + { + return []; + } + public void UpdateEmployee(Employee employee) { } -} +} \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/RouteRepository.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/RouteRepository.cs index 073a272..2a4bb07 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/RouteRepository.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Repositories/Implementations/RouteRepository.cs @@ -20,4 +20,4 @@ internal class RouteRepository : IRouteRepository public void UpdateRoute(Route route) { } -} +} \ No newline at end of file -- 2.25.1 From 7d0cf179900fa8ba6d275d7b1f53069c7ba03c12 Mon Sep 17 00:00:00 2001 From: Aidar Date: Thu, 5 Dec 2024 17:53:19 +0400 Subject: [PATCH 3/4] =?UTF-8?q?=20=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=B0=20=E2=84=961=20(=D0=98=D0=B7=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=202)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Forms/FormBuses.Designer.cs | 24 +++++++++---------- .../ProjectAutoenterprise/Forms/FormBuses.cs | 2 +- .../Forms/FormEmployees.Designer.cs | 24 +++++++++---------- .../Forms/FormEmployees.cs | 2 +- .../Forms/FormRoutes.Designer.cs | 24 +++++++++---------- .../ProjectAutoenterprise/Forms/FormRoutes.cs | 2 +- 6 files changed, 39 insertions(+), 39 deletions(-) diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.Designer.cs index 0fe813a..a55c9e3 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.Designer.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.Designer.cs @@ -29,7 +29,7 @@ private void InitializeComponent() { panel = new Panel(); - buttonEdit = new Button(); + buttonUpdate = new Button(); buttonDelete = new Button(); buttonAdd = new Button(); dataGridViewData = new DataGridView(); @@ -39,7 +39,7 @@ // // panel // - panel.Controls.Add(buttonEdit); + panel.Controls.Add(buttonUpdate); panel.Controls.Add(buttonDelete); panel.Controls.Add(buttonAdd); panel.Dock = DockStyle.Right; @@ -48,16 +48,16 @@ panel.Size = new Size(102, 411); panel.TabIndex = 1; // - // buttonEdit + // buttonUpdate // - buttonEdit.BackgroundImage = Properties.Resources.Edit; - buttonEdit.BackgroundImageLayout = ImageLayout.Stretch; - buttonEdit.Location = new Point(20, 196); - buttonEdit.Name = "buttonEdit"; - buttonEdit.Size = new Size(70, 70); - buttonEdit.TabIndex = 3; - buttonEdit.UseVisualStyleBackColor = true; - buttonEdit.Click += ButtonEdit_Click; + buttonUpdate.BackgroundImage = Properties.Resources.Edit; + buttonUpdate.BackgroundImageLayout = ImageLayout.Stretch; + buttonUpdate.Location = new Point(20, 196); + buttonUpdate.Name = "buttonUpdate"; + buttonUpdate.Size = new Size(70, 70); + buttonUpdate.TabIndex = 3; + buttonUpdate.UseVisualStyleBackColor = true; + buttonUpdate.Click += ButtonUpdate_Click; // // buttonDelete // @@ -119,7 +119,7 @@ #endregion private Panel panel; - private Button buttonEdit; + private Button buttonUpdate; private Button buttonDelete; private Button buttonAdd; private DataGridView dataGridViewData; diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.cs index ebc33f3..fb93d8e 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormBuses.cs @@ -37,7 +37,7 @@ public partial class FormBuses : Form MessageBox.Show(ex.Message, "Ошибка при добавлении", MessageBoxButtons.OK, MessageBoxIcon.Error); } } - private void ButtonEdit_Click(object sender, EventArgs e) + private void ButtonUpdate_Click(object sender, EventArgs e) { if (!TryGetIdentifierFromSelectedRow(out var findId)) { diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.Designer.cs index 0e3f240..112e9c5 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.Designer.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.Designer.cs @@ -29,7 +29,7 @@ private void InitializeComponent() { panel = new Panel(); - buttonEdit = new Button(); + buttonUpdate = new Button(); buttonDelete = new Button(); buttonAdd = new Button(); dataGridViewData = new DataGridView(); @@ -39,7 +39,7 @@ // // panel // - panel.Controls.Add(buttonEdit); + panel.Controls.Add(buttonUpdate); panel.Controls.Add(buttonDelete); panel.Controls.Add(buttonAdd); panel.Dock = DockStyle.Right; @@ -48,16 +48,16 @@ panel.Size = new Size(102, 411); panel.TabIndex = 0; // - // buttonEdit + // buttonUpdate // - buttonEdit.BackgroundImage = Properties.Resources.Edit; - buttonEdit.BackgroundImageLayout = ImageLayout.Stretch; - buttonEdit.Location = new Point(20, 197); - buttonEdit.Name = "buttonEdit"; - buttonEdit.Size = new Size(70, 70); - buttonEdit.TabIndex = 3; - buttonEdit.UseVisualStyleBackColor = true; - buttonEdit.Click += ButtonEdit_Click; + buttonUpdate.BackgroundImage = Properties.Resources.Edit; + buttonUpdate.BackgroundImageLayout = ImageLayout.Stretch; + buttonUpdate.Location = new Point(20, 197); + buttonUpdate.Name = "buttonUpdate"; + buttonUpdate.Size = new Size(70, 70); + buttonUpdate.TabIndex = 3; + buttonUpdate.UseVisualStyleBackColor = true; + buttonUpdate.Click += ButtonUpdate_Click; // // buttonDelete // @@ -122,6 +122,6 @@ private DataGridView dataGridViewData; private Button buttonAdd; private Button buttonDelete; - private Button buttonEdit; + private Button buttonUpdate; } } \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.cs index 13956ed..339e587 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormEmployees.cs @@ -37,7 +37,7 @@ public partial class FormEmployees : Form MessageBox.Show(ex.Message, "Ошибка при добавлении", MessageBoxButtons.OK, MessageBoxIcon.Error); } } - private void ButtonEdit_Click(object sender, EventArgs e) + private void ButtonUpdate_Click(object sender, EventArgs e) { if (!TryGetIdentifierFromSelectedRow(out var findId)) { diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.Designer.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.Designer.cs index 38e378d..9d776cc 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.Designer.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.Designer.cs @@ -30,7 +30,7 @@ { dataGridViewData = new DataGridView(); panel = new Panel(); - buttonEdit = new Button(); + buttonUpdate = new Button(); buttonDelete = new Button(); buttonAdd = new Button(); ((System.ComponentModel.ISupportInitialize)dataGridViewData).BeginInit(); @@ -57,7 +57,7 @@ // // panel // - panel.Controls.Add(buttonEdit); + panel.Controls.Add(buttonUpdate); panel.Controls.Add(buttonDelete); panel.Controls.Add(buttonAdd); panel.Dock = DockStyle.Right; @@ -66,16 +66,16 @@ panel.Size = new Size(103, 411); panel.TabIndex = 1; // - // buttonEdit + // buttonUpdate // - buttonEdit.BackgroundImage = Properties.Resources.Edit; - buttonEdit.BackgroundImageLayout = ImageLayout.Stretch; - buttonEdit.Location = new Point(14, 191); - buttonEdit.Name = "buttonEdit"; - buttonEdit.Size = new Size(70, 70); - buttonEdit.TabIndex = 2; - buttonEdit.UseVisualStyleBackColor = true; - buttonEdit.Click += ButtonEdit_Click; + buttonUpdate.BackgroundImage = Properties.Resources.Edit; + buttonUpdate.BackgroundImageLayout = ImageLayout.Stretch; + buttonUpdate.Location = new Point(14, 191); + buttonUpdate.Name = "buttonUpdate"; + buttonUpdate.Size = new Size(70, 70); + buttonUpdate.TabIndex = 2; + buttonUpdate.UseVisualStyleBackColor = true; + buttonUpdate.Click += ButtonUpdate_Click; // // buttonDelete // @@ -120,7 +120,7 @@ private DataGridView dataGridViewData; private Panel panel; - private Button buttonEdit; + private Button buttonUpdate; private Button buttonDelete; private Button buttonAdd; } diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.cs index 0df7128..b9beda6 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Forms/FormRoutes.cs @@ -61,7 +61,7 @@ public partial class FormRoutes : Form } } - private void ButtonEdit_Click(object sender, EventArgs e) + private void ButtonUpdate_Click(object sender, EventArgs e) { if (!TryGetIdentifierFromSelectedRow(out var findId)) { -- 2.25.1 From 152ff268651b7fa1e642e38fbbd4abe40a3a182d Mon Sep 17 00:00:00 2001 From: Aidar Date: Fri, 6 Dec 2024 22:16:50 +0400 Subject: [PATCH 4/4] =?UTF-8?q?=20=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=B0=20=E2=84=961=20(=D0=98=D0=B7=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=203)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectAutoenterprise/Entities/Enums/BusColors.cs | 11 ++++++----- .../ProjectAutoenterprise/Entities/Itinerary.cs | 6 +++--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Enums/BusColors.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Enums/BusColors.cs index aed0daa..10a71d3 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Enums/BusColors.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Enums/BusColors.cs @@ -3,9 +3,10 @@ [Flags] public enum BusColors { - White = 0, - Yellow = 1, - Black = 2, - Blue = 4, - Green = 8 + None = 0, + White = 1, + Yellow = 2, + Black = 4, + Blue = 8, + Green = 16 } \ No newline at end of file diff --git a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Itinerary.cs b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Itinerary.cs index f39a68b..dcf4aac 100644 --- a/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Itinerary.cs +++ b/ProjectAutoenterprise/ProjectAutoenterprise/Entities/Itinerary.cs @@ -7,20 +7,20 @@ public class Itinerary { public int Id { get; private set; } public int BusId { get; private set; } - public IEnumerable ItineraryRoute { get; private set; } = []; + public IEnumerable ItineraryRoutes { get; private set; } = []; public int DriverId { get; private set; } public int ConductorId { get; private set; } public DateTime ItineraryDate { get; private set; } public string Description { get; private set; } = string.Empty; public static Itinerary CreateOperation(int id, int busId, int driverId, int conductorId, DateTime itineraryDate, string description, - IEnumerable itineraryRoute) + IEnumerable itineraryRoutes) { return new Itinerary { Id = id, BusId = busId, - ItineraryRoute = itineraryRoute, + ItineraryRoutes = itineraryRoutes, DriverId = driverId, ConductorId = conductorId, ItineraryDate = itineraryDate, -- 2.25.1