From 6ae5644b4ec0e79e1cfc2585d82d83a35b29db33 Mon Sep 17 00:00:00 2001 From: Latif Khalifa Date: Tue, 3 Dec 2013 20:30:58 +0100 Subject: [PATCH] Added about dialog, menu action stubs --- Programs/GridProxyGUI/About.cs | 18 ++ Programs/GridProxyGUI/GridProxyGUI.csproj | 22 ++- Programs/GridProxyGUI/MainWindow.cs | 111 ++++++++++- .../gtk-gui/GridProxyGUI.About.cs | 95 +++++++++ Programs/GridProxyGUI/gtk-gui/MainWindow.cs | 186 +++++++++--------- Programs/GridProxyGUI/gtk-gui/generated.cs | 18 +- Programs/GridProxyGUI/gtk-gui/gui.stetic | 164 +++++++++++++-- Programs/GridProxyGUI/wgp-logo.png | Bin 0 -> 55651 bytes Programs/WinGridProxy/AboutBox1.Designer.cs | 2 +- Programs/WinGridProxy/AboutBox1.resx | 6 +- 10 files changed, 502 insertions(+), 120 deletions(-) create mode 100755 Programs/GridProxyGUI/About.cs create mode 100755 Programs/GridProxyGUI/gtk-gui/GridProxyGUI.About.cs create mode 100644 Programs/GridProxyGUI/wgp-logo.png diff --git a/Programs/GridProxyGUI/About.cs b/Programs/GridProxyGUI/About.cs new file mode 100755 index 00000000..f767cd26 --- /dev/null +++ b/Programs/GridProxyGUI/About.cs @@ -0,0 +1,18 @@ +using System; + +namespace GridProxyGUI +{ + public partial class About : Gtk.Dialog + { + public About() + { + this.Build(); + } + + protected void OnButtonOkClicked (object sender, EventArgs e) + { + Hide(); + } + } +} + diff --git a/Programs/GridProxyGUI/GridProxyGUI.csproj b/Programs/GridProxyGUI/GridProxyGUI.csproj index 36745d48..7a45ce67 100755 --- a/Programs/GridProxyGUI/GridProxyGUI.csproj +++ b/Programs/GridProxyGUI/GridProxyGUI.csproj @@ -59,6 +59,7 @@ False + ..\..\bin\XMLRPC.dll @@ -68,6 +69,10 @@ gui.stetic + + True + + @@ -82,6 +87,8 @@ + + @@ -105,10 +112,15 @@ GridProxy - - - PreserveNewest - - + + + + + + + + + + \ No newline at end of file diff --git a/Programs/GridProxyGUI/MainWindow.cs b/Programs/GridProxyGUI/MainWindow.cs index ba9ab5a7..f32d4618 100755 --- a/Programs/GridProxyGUI/MainWindow.cs +++ b/Programs/GridProxyGUI/MainWindow.cs @@ -37,7 +37,6 @@ public partial class MainWindow : Gtk.Window ProxyLogger.Init(); ProxyLogger.OnLogLine += new ProxyLogger.Log(Logger_OnLogLine); - SetIconFromFile("libomv.png"); tabsMain.Page = 0; mainSplit.Position = 600; @@ -580,4 +579,114 @@ public partial class MainWindow : Gtk.Window } } + #region edit select menu + protected void OnNoneActionActivated(object sender, EventArgs e) + { + } + + + protected void OnInvertActionActivated(object sender, EventArgs e) + { + } + + + protected void OnAllActionActivated(object sender, EventArgs e) + { + } + #endregion edit select menu + + + protected void OnCopyActionActivated(object sender, EventArgs e) + { + } + + + protected void OnUnselectedActionActivated(object sender, EventArgs e) + { + } + + + protected void OnSelectedActionActivated(object sender, EventArgs e) + { + } + + + protected void OnAllAction1Activated(object sender, EventArgs e) + { + } + + List GetFileFilters() + { + List filters = new List(); + + FileFilter filter = new FileFilter(); + filter.Name = "XML Files (*.xml)"; + filter.AddMimeType("text/xml"); + filter.AddPattern("*.xml"); + filters.Add(filter); + + filter = new FileFilter(); + filter.Name = "All Files (*.*)"; + filter.AddPattern("*.*"); + filters.Add(filter); + + + return filters; + } + + protected void OnOpenActionActivated(object sender, EventArgs e) + { + var od = new Gtk.FileChooserDialog(null, "Open Session", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept); + foreach (var filter in GetFileFilters()) od.AddFilter(filter); + + if (od.Run() == (int)ResponseType.Accept) + { + OpenSession(od.Filename); + } + od.Destroy(); + } + + string sessionFileName; + + protected void OnSaveAsActionActivated(object sender, EventArgs e) + { + var od = new Gtk.FileChooserDialog(null, "Save Session", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "Save", ResponseType.Accept); + foreach (var filter in GetFileFilters()) od.AddFilter(filter); + + if (od.Run() == (int)ResponseType.Accept) + { + sessionFileName = od.Filename; + SaveSession(); + } + od.Destroy(); + } + + protected void OnSaveActionActivated(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(sessionFileName)) + { + OnSaveAsActionActivated(sender, e); + } + else + { + SaveSession(); + } + } + + void SaveSession() + { + } + + void OpenSession(string fileName) + { + } + + protected void OnAboutActionActivated(object sender, EventArgs e) + { + var about = new GridProxyGUI.About(); + about.SkipTaskbarHint = about.SkipPagerHint = true; + about.Run(); + about.Destroy(); + } + } \ No newline at end of file diff --git a/Programs/GridProxyGUI/gtk-gui/GridProxyGUI.About.cs b/Programs/GridProxyGUI/gtk-gui/GridProxyGUI.About.cs new file mode 100755 index 00000000..c6041b61 --- /dev/null +++ b/Programs/GridProxyGUI/gtk-gui/GridProxyGUI.About.cs @@ -0,0 +1,95 @@ + +// This file has been generated by the GUI designer. Do not modify. +namespace GridProxyGUI +{ + public partial class About + { + private global::Gtk.HBox hbox1; + private global::Gtk.Image image3; + private global::Gtk.ScrolledWindow GtkScrolledWindow; + private global::Gtk.TextView textview1; + private global::Gtk.Button buttonOk; + + protected virtual void Build () + { + global::Stetic.Gui.Initialize (this); + // Widget GridProxyGUI.About + this.Name = "GridProxyGUI.About"; + this.Title = global::Mono.Unix.Catalog.GetString ("About Grid Proxy"); + this.Icon = global::Gdk.Pixbuf.LoadFromResource ("GridProxyGUI.libomv.png"); + this.TypeHint = ((global::Gdk.WindowTypeHint)(1)); + this.WindowPosition = ((global::Gtk.WindowPosition)(4)); + this.Modal = true; + this.Resizable = false; + this.AllowGrow = false; + this.DestroyWithParent = true; + // Internal child GridProxyGUI.About.VBox + global::Gtk.VBox w1 = this.VBox; + w1.Name = "dialog1_VBox"; + w1.BorderWidth = ((uint)(2)); + // Container child dialog1_VBox.Gtk.Box+BoxChild + this.hbox1 = new global::Gtk.HBox (); + this.hbox1.Name = "hbox1"; + this.hbox1.Spacing = 6; + // Container child hbox1.Gtk.Box+BoxChild + this.image3 = new global::Gtk.Image (); + this.image3.Name = "image3"; + this.image3.Pixbuf = global::Gdk.Pixbuf.LoadFromResource ("GridProxyGUI.wgp-logo.png"); + this.hbox1.Add (this.image3); + global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.image3])); + w2.Position = 0; + w2.Expand = false; + w2.Fill = false; + // Container child hbox1.Gtk.Box+BoxChild + this.GtkScrolledWindow = new global::Gtk.ScrolledWindow (); + this.GtkScrolledWindow.Name = "GtkScrolledWindow"; + this.GtkScrolledWindow.ShadowType = ((global::Gtk.ShadowType)(1)); + // Container child GtkScrolledWindow.Gtk.Container+ContainerChild + this.textview1 = new global::Gtk.TextView (); + this.textview1.Buffer.Text = "\nGrid Proxy GUI\nGtk# Interface for Grid Proxy\n\nBased on Win Grid Proxy by\nJim Rad" + + "ford \n\nWritten by\nLatif Khalifa \n\nCopy" + + "right (c) 2013\nOpen Metaverse Foundation\n"; + this.textview1.WidthRequest = 250; + this.textview1.CanFocus = true; + this.textview1.Name = "textview1"; + this.textview1.Editable = false; + this.textview1.CursorVisible = false; + this.textview1.AcceptsTab = false; + this.textview1.WrapMode = ((global::Gtk.WrapMode)(2)); + this.GtkScrolledWindow.Add (this.textview1); + this.hbox1.Add (this.GtkScrolledWindow); + global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.GtkScrolledWindow])); + w4.Position = 1; + w1.Add (this.hbox1); + global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(w1 [this.hbox1])); + w5.Position = 0; + w5.Expand = false; + w5.Fill = false; + // Internal child GridProxyGUI.About.ActionArea + global::Gtk.HButtonBox w6 = this.ActionArea; + w6.Name = "dialog1_ActionArea"; + w6.Spacing = 10; + w6.BorderWidth = ((uint)(5)); + w6.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4)); + // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild + this.buttonOk = new global::Gtk.Button (); + this.buttonOk.CanDefault = true; + this.buttonOk.CanFocus = true; + this.buttonOk.Name = "buttonOk"; + this.buttonOk.UseStock = true; + this.buttonOk.UseUnderline = true; + this.buttonOk.Label = "gtk-ok"; + this.AddActionWidget (this.buttonOk, -5); + global::Gtk.ButtonBox.ButtonBoxChild w7 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w6 [this.buttonOk])); + w7.Expand = false; + w7.Fill = false; + if ((this.Child != null)) { + this.Child.ShowAll (); + } + this.DefaultWidth = 493; + this.DefaultHeight = 394; + this.Show (); + this.buttonOk.Clicked += new global::System.EventHandler (this.OnButtonOkClicked); + } + } +} diff --git a/Programs/GridProxyGUI/gtk-gui/MainWindow.cs b/Programs/GridProxyGUI/gtk-gui/MainWindow.cs index d552e3ee..3e60e0e6 100755 --- a/Programs/GridProxyGUI/gtk-gui/MainWindow.cs +++ b/Programs/GridProxyGUI/gtk-gui/MainWindow.cs @@ -15,9 +15,13 @@ public partial class MainWindow private global::Gtk.Action AllAction1; private global::Gtk.Action SelectedAction; private global::Gtk.Action FindAction; - private global::Gtk.Action OpenSessionAction; - private global::Gtk.Action SaveSessionAction; - private global::Gtk.Action SaveSessionAsAction; + private global::Gtk.Action OpenAction; + private global::Gtk.Action SaveAction; + private global::Gtk.Action SaveAsAction; + private global::Gtk.Action InvertAction; + private global::Gtk.Action NoneAction; + private global::Gtk.Action CopyAction; + private global::Gtk.Action UnselectedAction; private global::Gtk.VBox vboxMenuMain; private global::Gtk.HBox hboxMenu; private global::Gtk.Alignment alignment2; @@ -92,7 +96,7 @@ public partial class MainWindow private global::Gtk.TextView txtResponseNotation; private global::Gtk.Label label12; private global::Gtk.Label label10; - + protected virtual void Build () { global::Stetic.Gui.Initialize (this); @@ -132,19 +136,32 @@ public partial class MainWindow this.FindAction = new global::Gtk.Action ("FindAction", global::Mono.Unix.Catalog.GetString ("Find"), null, null); this.FindAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Find (Ctrl-F)"); w1.Add (this.FindAction, "f"); - this.OpenSessionAction = new global::Gtk.Action ("OpenSessionAction", global::Mono.Unix.Catalog.GetString ("Open Session..."), null, null); - this.OpenSessionAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Open Session..."); - w1.Add (this.OpenSessionAction, "o"); - this.SaveSessionAction = new global::Gtk.Action ("SaveSessionAction", global::Mono.Unix.Catalog.GetString ("Save Session"), null, null); - this.SaveSessionAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Save Session"); - w1.Add (this.SaveSessionAction, "s"); - this.SaveSessionAsAction = new global::Gtk.Action ("SaveSessionAsAction", global::Mono.Unix.Catalog.GetString ("Save Session As..."), null, null); - this.SaveSessionAsAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Save Session As..."); - w1.Add (this.SaveSessionAsAction, null); + this.OpenAction = new global::Gtk.Action ("OpenAction", global::Mono.Unix.Catalog.GetString ("Open.."), null, null); + this.OpenAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Open Session..."); + w1.Add (this.OpenAction, "o"); + this.SaveAction = new global::Gtk.Action ("SaveAction", global::Mono.Unix.Catalog.GetString ("Save"), null, null); + this.SaveAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Save Session"); + w1.Add (this.SaveAction, "s"); + this.SaveAsAction = new global::Gtk.Action ("SaveAsAction", global::Mono.Unix.Catalog.GetString ("Save As..."), null, null); + this.SaveAsAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Save Session As..."); + w1.Add (this.SaveAsAction, null); + this.InvertAction = new global::Gtk.Action ("InvertAction", global::Mono.Unix.Catalog.GetString ("Invert"), null, null); + this.InvertAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Invert"); + w1.Add (this.InvertAction, null); + this.NoneAction = new global::Gtk.Action ("NoneAction", global::Mono.Unix.Catalog.GetString ("None"), null, null); + this.NoneAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("None"); + w1.Add (this.NoneAction, null); + this.CopyAction = new global::Gtk.Action ("CopyAction", global::Mono.Unix.Catalog.GetString ("Copy"), null, null); + this.CopyAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Copy"); + w1.Add (this.CopyAction, "c"); + this.UnselectedAction = new global::Gtk.Action ("UnselectedAction", global::Mono.Unix.Catalog.GetString ("Unselected"), null, null); + this.UnselectedAction.ShortLabel = global::Mono.Unix.Catalog.GetString ("Unselected"); + w1.Add (this.UnselectedAction, null); this.UIManager.InsertActionGroup (w1, 0); this.AddAccelGroup (this.UIManager.AccelGroup); this.Name = "MainWindow"; this.Title = global::Mono.Unix.Catalog.GetString ("Grid Proxy"); + this.Icon = global::Gdk.Pixbuf.LoadFromResource ("GridProxyGUI.libomv.png"); this.WindowPosition = ((global::Gtk.WindowPosition)(4)); this.AllowShrink = true; // Container child MainWindow.Gtk.Container+ContainerChild @@ -160,7 +177,7 @@ public partial class MainWindow this.alignment2 = new global::Gtk.Alignment (0.5F, 0.5F, 1F, 1F); this.alignment2.Name = "alignment2"; // Container child alignment2.Gtk.Container+ContainerChild - this.UIManager.AddUiFromString (""); + this.UIManager.AddUiFromString (@""); this.menuMain = ((global::Gtk.MenuBar)(this.UIManager.GetWidget ("/menuMain"))); this.menuMain.Name = "menuMain"; this.alignment2.Add (this.menuMain); @@ -445,58 +462,34 @@ public partial class MainWindow this.btnLoadFilters.CanFocus = true; this.btnLoadFilters.Name = "btnLoadFilters"; this.btnLoadFilters.UseUnderline = true; - // Container child btnLoadFilters.Gtk.Container+ContainerChild - global::Gtk.Alignment w33 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F); - // Container child GtkAlignment.Gtk.Container+ContainerChild - global::Gtk.HBox w34 = new global::Gtk.HBox (); - w34.Spacing = 2; - // Container child GtkHBox.Gtk.Container+ContainerChild - global::Gtk.Image w35 = new global::Gtk.Image (); - w35.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-open", global::Gtk.IconSize.Menu); - w34.Add (w35); - // Container child GtkHBox.Gtk.Container+ContainerChild - global::Gtk.Label w37 = new global::Gtk.Label (); - w37.LabelProp = global::Mono.Unix.Catalog.GetString ("Load"); - w37.UseUnderline = true; - w34.Add (w37); - w33.Add (w34); - this.btnLoadFilters.Add (w33); + this.btnLoadFilters.Label = global::Mono.Unix.Catalog.GetString ("Load"); + global::Gtk.Image w33 = new global::Gtk.Image (); + w33.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-open", global::Gtk.IconSize.Menu); + this.btnLoadFilters.Image = w33; this.hbox2.Add (this.btnLoadFilters); - global::Gtk.Box.BoxChild w41 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.btnLoadFilters])); - w41.Position = 0; - w41.Expand = false; - w41.Fill = false; + global::Gtk.Box.BoxChild w34 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.btnLoadFilters])); + w34.Position = 0; + w34.Expand = false; + w34.Fill = false; // Container child hbox2.Gtk.Box+BoxChild this.btnSaveFilters = new global::Gtk.Button (); this.btnSaveFilters.CanFocus = true; this.btnSaveFilters.Name = "btnSaveFilters"; this.btnSaveFilters.UseUnderline = true; - // Container child btnSaveFilters.Gtk.Container+ContainerChild - global::Gtk.Alignment w42 = new global::Gtk.Alignment (0.5F, 0.5F, 0F, 0F); - // Container child GtkAlignment.Gtk.Container+ContainerChild - global::Gtk.HBox w43 = new global::Gtk.HBox (); - w43.Spacing = 2; - // Container child GtkHBox.Gtk.Container+ContainerChild - global::Gtk.Image w44 = new global::Gtk.Image (); - w44.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-save", global::Gtk.IconSize.Menu); - w43.Add (w44); - // Container child GtkHBox.Gtk.Container+ContainerChild - global::Gtk.Label w46 = new global::Gtk.Label (); - w46.LabelProp = global::Mono.Unix.Catalog.GetString ("Save"); - w46.UseUnderline = true; - w43.Add (w46); - w42.Add (w43); - this.btnSaveFilters.Add (w42); + this.btnSaveFilters.Label = global::Mono.Unix.Catalog.GetString ("Save"); + global::Gtk.Image w35 = new global::Gtk.Image (); + w35.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-save", global::Gtk.IconSize.Menu); + this.btnSaveFilters.Image = w35; this.hbox2.Add (this.btnSaveFilters); - global::Gtk.Box.BoxChild w50 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.btnSaveFilters])); - w50.Position = 1; - w50.Expand = false; - w50.Fill = false; + global::Gtk.Box.BoxChild w36 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.btnSaveFilters])); + w36.Position = 1; + w36.Expand = false; + w36.Fill = false; this.hboxFilter.Add (this.hbox2); - global::Gtk.Box.BoxChild w51 = ((global::Gtk.Box.BoxChild)(this.hboxFilter [this.hbox2])); - w51.Position = 0; - w51.Expand = false; - w51.Fill = false; + global::Gtk.Box.BoxChild w37 = ((global::Gtk.Box.BoxChild)(this.hboxFilter [this.hbox2])); + w37.Position = 0; + w37.Expand = false; + w37.Fill = false; // Container child hboxFilter.Gtk.Box+BoxChild this.hbox3 = new global::Gtk.HBox (); this.hbox3.Name = "hbox3"; @@ -517,8 +510,8 @@ public partial class MainWindow this.GtkLabel8.LabelProp = global::Mono.Unix.Catalog.GetString ("UDP Packets & Login"); this.frameFilterUDP.LabelWidget = this.GtkLabel8; this.hbox3.Add (this.frameFilterUDP); - global::Gtk.Box.BoxChild w53 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.frameFilterUDP])); - w53.Position = 0; + global::Gtk.Box.BoxChild w39 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.frameFilterUDP])); + w39.Position = 0; // Container child hbox3.Gtk.Box+BoxChild this.frameFilterCap = new global::Gtk.Frame (); this.frameFilterCap.Name = "frameFilterCap"; @@ -534,11 +527,11 @@ public partial class MainWindow this.GtkLabel9.LabelProp = global::Mono.Unix.Catalog.GetString ("Capabilities & EventQueue Messages"); this.frameFilterCap.LabelWidget = this.GtkLabel9; this.hbox3.Add (this.frameFilterCap); - global::Gtk.Box.BoxChild w55 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.frameFilterCap])); - w55.Position = 1; + global::Gtk.Box.BoxChild w41 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.frameFilterCap])); + w41.Position = 1; this.hboxFilter.Add (this.hbox3); - global::Gtk.Box.BoxChild w56 = ((global::Gtk.Box.BoxChild)(this.hboxFilter [this.hbox3])); - w56.Position = 1; + global::Gtk.Box.BoxChild w42 = ((global::Gtk.Box.BoxChild)(this.hboxFilter [this.hbox3])); + w42.Position = 1; // Container child hboxFilter.Gtk.Box+BoxChild this.hbox4 = new global::Gtk.HBox (); this.hbox4.Name = "hbox4"; @@ -552,8 +545,8 @@ public partial class MainWindow this.cbSelectAllUDP.DrawIndicator = true; this.cbSelectAllUDP.UseUnderline = true; this.hbox4.Add (this.cbSelectAllUDP); - global::Gtk.Box.BoxChild w57 = ((global::Gtk.Box.BoxChild)(this.hbox4 [this.cbSelectAllUDP])); - w57.Position = 0; + global::Gtk.Box.BoxChild w43 = ((global::Gtk.Box.BoxChild)(this.hbox4 [this.cbSelectAllUDP])); + w43.Position = 0; // Container child hbox4.Gtk.Box+BoxChild this.cbSelectAllCap = new global::Gtk.CheckButton (); this.cbSelectAllCap.CanFocus = true; @@ -562,17 +555,17 @@ public partial class MainWindow this.cbSelectAllCap.DrawIndicator = true; this.cbSelectAllCap.UseUnderline = true; this.hbox4.Add (this.cbSelectAllCap); - global::Gtk.Box.BoxChild w58 = ((global::Gtk.Box.BoxChild)(this.hbox4 [this.cbSelectAllCap])); - w58.Position = 1; + global::Gtk.Box.BoxChild w44 = ((global::Gtk.Box.BoxChild)(this.hbox4 [this.cbSelectAllCap])); + w44.Position = 1; this.hboxFilter.Add (this.hbox4); - global::Gtk.Box.BoxChild w59 = ((global::Gtk.Box.BoxChild)(this.hboxFilter [this.hbox4])); - w59.PackType = ((global::Gtk.PackType)(1)); - w59.Position = 2; - w59.Expand = false; - w59.Fill = false; + global::Gtk.Box.BoxChild w45 = ((global::Gtk.Box.BoxChild)(this.hboxFilter [this.hbox4])); + w45.PackType = ((global::Gtk.PackType)(1)); + w45.Position = 2; + w45.Expand = false; + w45.Fill = false; this.tabsMain.Add (this.hboxFilter); - global::Gtk.Notebook.NotebookChild w60 = ((global::Gtk.Notebook.NotebookChild)(this.tabsMain [this.hboxFilter])); - w60.Position = 1; + global::Gtk.Notebook.NotebookChild w46 = ((global::Gtk.Notebook.NotebookChild)(this.tabsMain [this.hboxFilter])); + w46.Position = 1; // Notebook tab this.label5 = new global::Gtk.Label (); this.label5.Name = "label5"; @@ -616,8 +609,8 @@ public partial class MainWindow this.txtRequestRaw.Editable = false; this.GtkScrolledWindow1.Add (this.txtRequestRaw); this.tabsRequst.Add (this.GtkScrolledWindow1); - global::Gtk.Notebook.NotebookChild w64 = ((global::Gtk.Notebook.NotebookChild)(this.tabsRequst [this.GtkScrolledWindow1])); - w64.Position = 1; + global::Gtk.Notebook.NotebookChild w50 = ((global::Gtk.Notebook.NotebookChild)(this.tabsRequst [this.GtkScrolledWindow1])); + w50.Position = 1; // Notebook tab this.label6 = new global::Gtk.Label (); this.label6.Name = "label6"; @@ -635,8 +628,8 @@ public partial class MainWindow this.txtRequestNotation.Editable = false; this.GtkScrolledWindow2.Add (this.txtRequestNotation); this.tabsRequst.Add (this.GtkScrolledWindow2); - global::Gtk.Notebook.NotebookChild w66 = ((global::Gtk.Notebook.NotebookChild)(this.tabsRequst [this.GtkScrolledWindow2])); - w66.Position = 2; + global::Gtk.Notebook.NotebookChild w52 = ((global::Gtk.Notebook.NotebookChild)(this.tabsRequst [this.GtkScrolledWindow2])); + w52.Position = 2; // Notebook tab this.label8 = new global::Gtk.Label (); this.label8.Name = "label8"; @@ -644,8 +637,8 @@ public partial class MainWindow this.tabsRequst.SetTabLabel (this.GtkScrolledWindow2, this.label8); this.label8.ShowAll (); this.vboxInspector.Add (this.tabsRequst); - global::Gtk.Box.BoxChild w67 = ((global::Gtk.Box.BoxChild)(this.vboxInspector [this.tabsRequst])); - w67.Position = 0; + global::Gtk.Box.BoxChild w53 = ((global::Gtk.Box.BoxChild)(this.vboxInspector [this.tabsRequst])); + w53.Position = 0; // Container child vboxInspector.Gtk.Box+BoxChild this.tabsRequst1 = new global::Gtk.Notebook (); this.tabsRequst1.CanFocus = true; @@ -679,8 +672,8 @@ public partial class MainWindow this.txtResponseRaw.Editable = false; this.GtkScrolledWindow4.Add (this.txtResponseRaw); this.tabsRequst1.Add (this.GtkScrolledWindow4); - global::Gtk.Notebook.NotebookChild w71 = ((global::Gtk.Notebook.NotebookChild)(this.tabsRequst1 [this.GtkScrolledWindow4])); - w71.Position = 1; + global::Gtk.Notebook.NotebookChild w57 = ((global::Gtk.Notebook.NotebookChild)(this.tabsRequst1 [this.GtkScrolledWindow4])); + w57.Position = 1; // Notebook tab this.label11 = new global::Gtk.Label (); this.label11.Name = "label11"; @@ -698,8 +691,8 @@ public partial class MainWindow this.txtResponseNotation.Editable = false; this.GtkScrolledWindow5.Add (this.txtResponseNotation); this.tabsRequst1.Add (this.GtkScrolledWindow5); - global::Gtk.Notebook.NotebookChild w73 = ((global::Gtk.Notebook.NotebookChild)(this.tabsRequst1 [this.GtkScrolledWindow5])); - w73.Position = 2; + global::Gtk.Notebook.NotebookChild w59 = ((global::Gtk.Notebook.NotebookChild)(this.tabsRequst1 [this.GtkScrolledWindow5])); + w59.Position = 2; // Notebook tab this.label12 = new global::Gtk.Label (); this.label12.Name = "label12"; @@ -707,11 +700,11 @@ public partial class MainWindow this.tabsRequst1.SetTabLabel (this.GtkScrolledWindow5, this.label12); this.label12.ShowAll (); this.vboxInspector.Add (this.tabsRequst1); - global::Gtk.Box.BoxChild w74 = ((global::Gtk.Box.BoxChild)(this.vboxInspector [this.tabsRequst1])); - w74.Position = 1; + global::Gtk.Box.BoxChild w60 = ((global::Gtk.Box.BoxChild)(this.vboxInspector [this.tabsRequst1])); + w60.Position = 1; this.tabsMain.Add (this.vboxInspector); - global::Gtk.Notebook.NotebookChild w75 = ((global::Gtk.Notebook.NotebookChild)(this.tabsMain [this.vboxInspector])); - w75.Position = 2; + global::Gtk.Notebook.NotebookChild w61 = ((global::Gtk.Notebook.NotebookChild)(this.tabsMain [this.vboxInspector])); + w61.Position = 2; // Notebook tab this.label10 = new global::Gtk.Label (); this.label10.Name = "label10"; @@ -720,8 +713,8 @@ public partial class MainWindow this.label10.ShowAll (); this.mainSplit.Add (this.tabsMain); this.vboxMenuMain.Add (this.mainSplit); - global::Gtk.Box.BoxChild w77 = ((global::Gtk.Box.BoxChild)(this.vboxMenuMain [this.mainSplit])); - w77.Position = 1; + global::Gtk.Box.BoxChild w63 = ((global::Gtk.Box.BoxChild)(this.vboxMenuMain [this.mainSplit])); + w63.Position = 1; this.Add (this.vboxMenuMain); if ((this.Child != null)) { this.Child.ShowAll (); @@ -731,6 +724,17 @@ public partial class MainWindow this.Show (); this.DeleteEvent += new global::Gtk.DeleteEventHandler (this.OnDeleteEvent); this.ExitAction.Activated += new global::System.EventHandler (this.OnExitActionActivated); + this.AboutAction.Activated += new global::System.EventHandler (this.OnAboutActionActivated); + this.AllAction.Activated += new global::System.EventHandler (this.OnAllActionActivated); + this.AllAction1.Activated += new global::System.EventHandler (this.OnAllAction1Activated); + this.SelectedAction.Activated += new global::System.EventHandler (this.OnSelectedActionActivated); + this.OpenAction.Activated += new global::System.EventHandler (this.OnOpenActionActivated); + this.SaveAction.Activated += new global::System.EventHandler (this.OnSaveActionActivated); + this.SaveAsAction.Activated += new global::System.EventHandler (this.OnSaveAsActionActivated); + this.InvertAction.Activated += new global::System.EventHandler (this.OnInvertActionActivated); + this.NoneAction.Activated += new global::System.EventHandler (this.OnNoneActionActivated); + this.CopyAction.Activated += new global::System.EventHandler (this.OnCopyActionActivated); + this.UnselectedAction.Activated += new global::System.EventHandler (this.OnUnselectedActionActivated); this.btnStart.Clicked += new global::System.EventHandler (this.OnBtnStartClicked); this.cbAutoScroll.Toggled += new global::System.EventHandler (this.OnCbAutoScrollToggled); this.cbSelectAllUDP.Toggled += new global::System.EventHandler (this.OnCbSelectAllUDPToggled); diff --git a/Programs/GridProxyGUI/gtk-gui/generated.cs b/Programs/GridProxyGUI/gtk-gui/generated.cs index 8b35f0bf..c8654260 100644 --- a/Programs/GridProxyGUI/gtk-gui/generated.cs +++ b/Programs/GridProxyGUI/gtk-gui/generated.cs @@ -5,7 +5,7 @@ namespace Stetic internal class Gui { private static bool initialized; - + internal static void Initialize (Gtk.Widget iconRenderer) { if ((Stetic.Gui.initialized == false)) { @@ -13,7 +13,7 @@ namespace Stetic } } } - + internal class IconLoader { public static Gdk.Pixbuf LoadIcon (Gtk.Widget widget, string name, Gtk.IconSize size) @@ -24,7 +24,7 @@ namespace Stetic } else { int sz; int sy; - global::Gtk.Icon.SizeLookup (size, out sz, out sy); + global::Gtk.Icon.SizeLookup (size, out sz, out sy); try { return Gtk.IconTheme.Default.LoadIcon (name, sz, 0); } catch (System.Exception) { @@ -39,22 +39,26 @@ namespace Stetic pmap.DrawRectangle (gc, false, 0, 0, (sz - 1), (sz - 1)); gc.SetLineAttributes (3, Gdk.LineStyle.Solid, Gdk.CapStyle.Round, Gdk.JoinStyle.Round); gc.RgbFgColor = new Gdk.Color (255, 0, 0); - pmap.DrawLine (gc, (sz / 4), (sz / 4), ((sz - 1) - (sz / 4)), ((sz - 1) - (sz / 4))); - pmap.DrawLine (gc, ((sz - 1) - (sz / 4)), (sz / 4), (sz / 4), ((sz - 1) - (sz / 4))); + pmap.DrawLine (gc, (sz / 4), (sz / 4), ((sz - 1) + - (sz / 4)), ((sz - 1) + - (sz / 4))); + pmap.DrawLine (gc, ((sz - 1) + - (sz / 4)), (sz / 4), (sz / 4), ((sz - 1) + - (sz / 4))); return Gdk.Pixbuf.FromDrawable (pmap, pmap.Colormap, 0, 0, 0, 0, sz, sz); } } } } } - + internal class ActionGroups { public static Gtk.ActionGroup GetActionGroup (System.Type type) { return Stetic.ActionGroups.GetActionGroup (type.FullName); } - + public static Gtk.ActionGroup GetActionGroup (string name) { return null; diff --git a/Programs/GridProxyGUI/gtk-gui/gui.stetic b/Programs/GridProxyGUI/gtk-gui/gui.stetic index c11d69f0..181f592f 100644 --- a/Programs/GridProxyGUI/gtk-gui/gui.stetic +++ b/Programs/GridProxyGUI/gtk-gui/gui.stetic @@ -5,7 +5,7 @@ - + @@ -37,6 +37,7 @@ About About Shows the wonderful creator info + Action @@ -52,16 +53,19 @@ Action All All + Action All All + Action Selected Selected + Action @@ -69,26 +73,55 @@ Find Find (Ctrl-F) - + Action <Control>o - Open Session... + Open.. Open Session... + - + Action <Control>s - Save Session + Save Save Session + - + Action - Save Session As... + Save As... Save Session As... + + + + Action + Invert + Invert + + + + Action + None + None + + + + Action + <Primary>c + Copy + Copy + + + + Action + Unselected + Unselected + Grid Proxy + resource:GridProxyGUI.libomv.png CenterOnParent True @@ -109,9 +142,9 @@ - - - + + + @@ -119,12 +152,15 @@ + + + - + @@ -264,7 +300,7 @@ http://login.orgrid.org/ True - 400 + 1 @@ -900,4 +936,108 @@ http://login.orgrid.org/ + + + About Grid Proxy + resource:GridProxyGUI.libomv.png + Dialog + CenterOnParent + True + False + False + True + 1 + False + + + + 2 + + + + 6 + + + + resource:GridProxyGUI.wgp-logo.png + + + 0 + True + False + False + + + + + + In + + + + 250 + True + True + False + False + False + +Grid Proxy GUI +Gtk# Interface for Grid Proxy + +Based on Win Grid Proxy by +Jim Radford <jradford@npl.com> + +Written by +Latif Khalifa <latifer@streamgrid.net> + +Copyright (c) 2013 +Open Metaverse Foundation + + Word + + + + + 1 + True + + + + + 0 + True + False + False + + + + + + + + 10 + 5 + 1 + End + + + + True + True + True + StockItem + gtk-ok + -5 + + gtk-ok + + + False + False + + + + + \ No newline at end of file diff --git a/Programs/GridProxyGUI/wgp-logo.png b/Programs/GridProxyGUI/wgp-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..effd648c0d145e09ac79f27a8c8f2fd2c9a2de7a GIT binary patch literal 55651 zcmV*LKxDs(P)Px#AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy24YJ`L;(K){{a7>y{D4^000SaNLh0L01FZT01FZU(%pXi004jh zNklX^?G8b{>YUm6>}wQ=L=ety_0~_sy^820%0c4iZR*rI1O2WJtCw%c4wM zloUZ)3WY85hiOSPDTQf^RM-kj4wIs-utFpOQj=*CFiC>|(P*d}=Y1|)QL`HR2V2ypXHryp)GNPpb;7wOyByoP|tuiF0dtJf3#1rS;{ z!PaLGU-7*gSH_#SL4PTP8<&3d3$1G)prt9>&9@N{5rsfR6jBI8DG&vUdeDABeyB3F z*U^6-+1Kz@V^nUw7OeH7gj(jz-r1|bC*rII0Bo&z*7*ebIQ{F?$_nf)_K`TId!4tku?NW392qfE(q8@gdLuQ09j-(3KtvkBwd$nk^lZHy` ziwM>t)-N_I&W6b6%_Q4g#sw$~)=Q7slXdfAHvsl4&>EBPMU(;sqL4yKp_EWcN+|`R z1*5gCv?=ql)CRy9Q!fjm00b1GSwd^A1+b>pPqwTr6RK}+o153~AOL`}M%He^ z%`_34Rcy`HD-^nS-O9PuL_ZRs#r2-eX@4VHwANZg1dCWZ8n>zlJXRq%jX;EY+BAk{ zmTu_Sj?`^aM>pn1@#{O(H*emxhvfS%r zaP^$(@ixlL#c6AKJF}!30(*i^UL;+HY zK*=Z!k~rvgqHZS~4SRS%M5i7^*l7qDY0I zLO^3oURHTlrdd%GRb{L()*5nc&c9f4jL@D1szylY=GoXkLfe?F(;MeAD1NyA_`rd! z;Cln0dxs5VTHFV5dq%Qo7hnk>H1LiFK(53O+oE-0hvCTf4+}Ev{>&#?r!}P3&SY8v zl@^MO2LS~tA>t(HB+;N3?+m-cVQ+W4x4k_$y0yQzyWL3=DWujgnJuiXCbRisxi-ci zqEw>ajYq@YXwd0)Bc)_f>cujhOjpy{YPrsBUK(9_M_HS)w+uHL+XOR2P|$`P;58VX zHDCi_$f_*^Eac^!+w*TDvI~L-3g|EIJ#PKc`s?ItYD*zyA}mSz;UnS(jv?VTYG~0p zmU?tft~7?0mb9?51@>}-iU_Ir+gqMwA)*u*DAnl%{a&)O-9J1SK7M%g;O?zk`#amC z!DwsH@AZNp0Kl@e0MX}|_bZjbtJzwzMlgWCst+i?`E()8?n{LyF6 zK7V#*ujX1CV@y>VXjvcgVpzLQB;2grl-x2fqukq*KmHS2@4bEZC%^H0uM5YIwynZXa%3=6F{Uq$I@HY zyA#X)2SNxG7zDDDM5C?F{$Bsi?d^BoxcAjBzWc^&Z)^{@r3|H%h!PP1gp_iBFBL+5 z_T>4KXQzv0ri}^1V1IA)BVT&=$G-mMySIjih6LNq{SIKn^o?;U>aNA7fkH{N~w_W$DtD0C^Ak8ZO`etnTz&AhEc0GQ%BXG)_5b_@ZRlP52LUH0M;6zXWOIj-qAr6B}v?uGT0uD?i?L#kGkiVaX4E` zS!qp4*v)k#Bn1E<*lZg6YkVj`w${^eu5D_d7g1R{blrYNgbTFe&d>G}2P#p!B2(Yiv!IPM+Yx^;B8H|!^2q@)li$QHS_ zQabD>sKBQt4$e4rEegF{l*Z=9=6=?0RzLf*>!1DE?*e?+y95imvR4<`#YuWFnpvoL z9CZfE0JI}(fG|&s#e)`CW?TA(%v>$-J2csOL;6_8lX2-ZH>L32&ZMyA;@Er0xmIWE zKv`}b34=g(JK^rA|M=1U`*$Any4#3oOto6iX7lr_@%f9B7wh$^-;ZzY?OU+D?sgDF zfGC6zC;*_g?A1D-&erFbvu7`kAKts)Nrs(d5C+Na&d#m9-CqAB3<4=7V&xHqrx^Ll zH))V^QIDt=T5vSR>dF8Z3)-TiI<0-}QDDLL`(YG!CC2l4{{9CS_56*ti&=4Xo|bP< zj4kfm8Ghr(AKX6bSW|xR;pGP(ULU_)Gz_){pUx96f%dJpIzRfOyMsYjK=6Z)79V_g zef(nHXerGD?1M+)Xc(?n@Pi+$0O9C%@{j$V!$ChlkiYV+>tFfhGwZ4{Z@o46(I4F& z3=)a)&;9)I`|n@6tlR>?SHId73I#+0!(aa86PKl0!Vrk|M}A~WU@S0P%!~IwJg+6{ zgl_%78YqrR%1$R7j=F~j`~BWX%D`H)PUlzS=bu0Q^!<;YJbiu&00(;m^Oo4!IxscD z^57Va0c}iHRLgZXnXXRHuf~(>(bla_GEg$;cDlnszt@R_Pzr(QR)=dYqZ}Qj2v#{P z+9G+a*V$SOE%*9||3DCT4gYrE7YLwrl&;Aem4+5h1${Njt_vGuuswn^R{mQRQ{`9~7x4!@WS?%6_$M5d`zTZFE z+db+AZ~n1A_V@nQ-~O>#h!XIlDGb~f8)RU{s-qi_`96JGPhUr zA%RleBp&p7N`(NRb-7%PPtKlw^E==D=+pD7>qQVqYw)!PATU6uVAj?*1pqL{R+TPt zofp+|m8Mx{tOl?sM4*B=j)G7rA%zq`ycyA^lt6k0%R(KqYhY_FT4G-uY3luELq!7s zp1fF|JYQX3WX2W%h#nZzTWLpSktmL5v`cNpo|)u0CIvpXSxcPyL?TKlk7K%kRB&8(Bs? zzRE66)3Pjn=5PG=pZ@7b7Ru6$7wea^)w8U6dF!_M5C6m8_5b`&|H&W!ZFh{V3Nu-k z$C-Xnn(>eS*wJ75kN(Glt+>AV-}IM(dNlgshlLR3 zYi}*T{MDs}ib5z_5CViiYiyD0%FN&Y!P(FKo#)qAslw`=w}UTy?eg{4vwrWLzy6>7 zk)Qe}{!cHCC-tqr@|EO|{?AAKK^O)dK>P>4@bdrjwDX>7V+&<1cv6~SNN8+7#BY`1;{Ez={|8PFf$irD=|Dz?W@t}Y@r()EgF;?eAndZeh%~$Kv zS}2RE(#9IT&<%X5lk6~5Q5bgOU@++Rx?L$$?S73hmDak_rdAQdI0iyA9?~Eo8s$8@ z13R_WHvA$}U5m9ESPS3!egXhr`;kRquC-YK=vw3I{|h6TbXBLT{vUtk% zX@C1~oBgprp}+LSxZ8XEU;h)o<4^n>f3q$z{7?VLXtW#c?st{w|EYiTdw=6+&TH%W znV(tx)bF1C@&A>1>$Sn{+YkTfzwl#!{@?%mwPKZ}DRQkV1AssCGf)5Izxivm1hxkH zfAoi!aYw!VZeL*h@BHt6^{@QpPwJTUbAM<4r~fVe6Tf3yVgJAXd*Ax=f8p=eD*Si< zUV3zR{pgLSN&mq={fEE$zyJ4to`{Lx`%`gm5D17Y=>O|q`c@P2(6M^xSCptWv|u!7 zW3@4rt{VS|QpqrmqcBimr~)OV5<&{Rk#7h@p@a%#0%5Nk4Tqhb?cUv^TchDl6mnhK))oPvQMOhkS93AXE4OQ)$GBvtTBO3qXtQUZ)i=5&Sj(VeB13Z1PI(@OM>|EO% z&`nihx2HxsaT51e3zyd+0${1d-~UDUFaPTC>BSFHef$T0`oZ0!z6JQn-#K{wjqa_Z zZYX#Di=UnRji0^n+zaC0`-SQk{`SeL`lK-9Kl}&Zp$w{KC8QFF!Jqs$f6Y-EcD|6` z{*}e^&*s`LEtvo0FMUE`?DP!&-rv5so;@qg>))Ht3!>UKI3GscpheKyl%-CyGEGyhD*%vEg<)rZXLPVP zIM^NR?DV(#oo+V{0x3naNnb$o?;R2+IU@qryqKe|h&;N{H$~}c1401oYFRE9rM4+R)ey0O z0J}>m;+wY73;ElK9(QcH)!$55RjlXf?f=2VB zwfF~rfA;AQE((2qc%%k{upVQS$WBjn`+>v`OO(-qolUFdqO?{csJhNbwUp04UO)eA zQQDb>szLwO0^oo9Yw+D~U0zK--923X_kPc7^`-vF|H1G}KeF9T_5?ntyq%XBiE7sc9IE2ZjohIek?|MI(Uy#DCm;l16vN2Bdwl0;HUx`s(2 zxwG9n*xNd~HF|h&_w@${UwZe^*S_@j?Zdmh?obK^0A-n8TwR@2`OpU;Wz&1#4lp^V>tzoFdP-4uJ{rdOoi8y|`JUf{b=Hm6Y z5&-+9uOx9CD%?_H>zm&^^Ivd3FHi0H$+|RCZPstUvs1qqCvvbA2BH^;E!Z3?2!R44 zCAySn)&oe>YC0~A%`BKE)kH*q^GWpa`-^Y>{j+8H(eL{Mx9Y+Ei~r*5Tiv^%-2M5V zJ3oH80&pM{Jc+`Wt>#n=fYv5Wi}7sr^7P_re3=(308HZk-p>6mz4zrG|N0lc^zPla zU%&n6{@&hh&oXedv(vwSXXo`t2k*Rj`%CZM{l<^I^*g`uwYT4RceHgYj(PxKty!+; zPhY$|IUi5wt30nvQz~pVptT7nGUlcSjdh40gv=Rm z5Xq#gBzB~`AW!hB%2=y;&t4s$Kl)r8{=>_y?dTi7>+aD}_vk2jc<;W%1OWf?fAWiM zeMakg89doS4%9+X=`<_HljWyRUfjL?$<|;Hs7T77W>=(C_wL+Yr;8v6)-LHNL9zV>j6`dr$eRw$N@AbPoN!&*i#^_Z#J$`xo`P1X^WVu}BMOhhR8jgfv zXxlPNZ^O!05?p@}HC-_^K_-Lda&_aJ6N%@;gg_Obz)+wfowBaUC=BJ+cBBGfY+-B; z7N+BTKFyQe3Nc_QEKuJ;(oy}b5J6ff0qR5rjIlx>LLe|~BjeD=+6p8EjEtN?w1gx?B)KhFkr;qD+m^LZ~S0)G#}Vd)vdKPBOfETZKUq zhDjL2VUPqtT(5JMFHg>%eeVY!fA;MBda_!lMOkWX>JhkvpEG8R5v_-+8m(vjcLc;O zfHmH-$$qKxf$KXF3sq^V(wRAe2MZPe;Ne4gbgwtsi2>kSzq|y%U;obXjn{+G=*p=4 zy|<6P|G`UW)eiBs$Kn3%j=<1@{@}w|4TOr^Xzi*RuA9J9sEu1gi&R!41mlqh)y*tI zWyEwDegE6ndk4wy_+5uz`QmQf^ZVC-<`ZTj*y8*AvigQd0MJ%vc{N+CPtV66ei|I! z`oYd<|M1{W9QA~danuci*xDv_MifFQ0F1)!Xn3e~C4^Ke6r%1=YzyAIA zfBl0`PtV5Fd79;wwx)67u5wH3Otdz&JAws;4TFr}C?Rxhf!5kA)5aEc2@4u(saaL6 zZS4}9)EyB3jJ4^yTFwh|kOEjBD#p3lpZv+*{m1>`C>I!B?)x8{ShqpI0wxjs#P1y5I_e+bN&T1#)$MLBc{1^~dxxVJO7`oZ@mufIDi%`_0($H&XR_SZiqHDU~}>kF{t+iKR) z)~%lfR;zV>b-fIf{N?}leWld9Z$5r-_u-(o8^=8%B!GnWkCaNv9^Ck`)-G4$(~D={ z{_c1G;je!GgO6TZTrXCutSCyW8;{a>VwV~EE)ka=G63+| zGyDFpO_joOw^iTgYgSWpp2xQNK`PrZOoZ1W)^Kv%MwOMMr z25|kahzL-YX1%JkS=DbbzuSJx0W9jFDk^z3PsEGmv(M)5esvmlX8-FqO^HY9VrUy%e9lOtb9ii|0S`<@eru>)p}TUKDnPR00JGK^1cfuf|$y zw6)fP(Yng=)$z&GZ++)G-~7&ppFKT4yO>SqX__^B3~3v%Eg_B@Z?m9Ct;8&#Qyc<- z>2-ecVs)@{_0Bsxzx2(g&U(kv+ZKN8 zAAa-L*y8m!#aF+k-hL|@?nDB^#X|pI{?8Zn#mWM|{p%L(^>91-sedZ|FaGB5`A`1J zryqQ9+3i)o<98=N^7VLUKSsdWeDzoU$_v+E1gk|kxz5vk-U;T7z+AqdwO!6jddtt+ zf@#0S%0tcaT+id(L3(+Xo*l2u!S&Dm{PQNTvnYtj6@WLXLQ`|7G`y{ zI9>N2T{pLG=pu^<>t#uAQAxE9UG$c3hhoic%Pd@^VY=4S>-=y1tzw)pAE8iqkDkUyv#p&@XFACoYYC%`#;&lCsfA?xWE$%#+bbCQr znzAqe5Juv~i{j7ynTt<8$$bkMS_}Bm%k5RMvi9uaEIqo{?GHmG1quu!ar~nA5B}ow z?|ggB+?}-m>t%UJuH0ULxtu5`un>( zJEN^`H|!?SRzDeydVz}SJWU8GgpyM2ZrkZRzqnp>l2x39L7Io9G}@4pt;3h~b$#>> zy2*Q+wp~T-S}Y@Jtf45yN6!bn_e&!ufAepC@2~#nQ|`Ksueyt0Hb3}$l2?)p$bd|% z_-Z2m?ziB-{M(B+9ZDSBbIr{ZQM4==qg`Fha8TIbo-hS=Dox4YS z{ccYib8$6!_TuHq`E{D*N?vz5=fkaJXVlx<=|8-;*Xi8r#9Q6YFp4@-Dge~F+}m02 z@7^8`Mp5{&l+qXr7L2tfFSQ0V)D7n{pO!lE3XMfP_#(9085plmjvahlYQM!$-R7da z;zgeFw%&3IY1_8;LoW0iji((y!S%jd)+g+*!!|wqCgUfBi+(A8$X5`tzZB3_dmP1o>rAf;$VB&y>mEv#?#9WKKl4qzVrTfzW?d77gtx;^Tn#ji%K^Y(pUWO zjUM&Cij2A02tY`jmK}uKx8!!>)EdmnuWS>cLr~~9)G-+|!U^b`j*q~$SK2_Sd=jLT z&DwLra(&bmfvb@97jxSmn(8xA+`eyy?SrNykYrAC+|+xlc^i;Y#7Vd_?7sHk)|cOV z^ULqOcWeJhsc5xc&KC<6sG=;_>!PeQ0BCJgpza*qdgIZXd%O2L$)MgE)^wc;sZh3On@Fo)}!_=iFH=hS83Yx$u%{t%hXs##A}1Q{YIz84t@6F zXJu%IfgVpHyFHbfr;w+pJc5z5OO^N=;~$J)76w z*2iSk^n%sR`J`7~B8>R+%{a`5JD|*58&`U#9*#n{;MMEZ4w6}d!^7yNhawOniNoQr zclYSvVDDBObpasDm#61XKYsGb)#Y_wRK^%3MXwX??)2Yz^RxX)wAQ%>TYD7Wi{lU2piXjNvZQe$?R|FP zn0DK?cZZPsX-0^y=+h(}^qB@r^Y%v%YBxO`FcSwhb&DuuAmb<)4mvxdVH|Z3g)!A? zJw3ZTIXSzWud<@705Ob$t$yd${_yV6VG{R+P_?A9e6?6!&zDzOwiH5kl0m<>JLv5M zK^%t3&i3BJySMjt2A5Zh$!wKnsEu*9$&A4*cfEB5yc?&fx{vtm%q5_fZ^mNL)NSRh zEyOzj*N?@pAUS)t)yxx5?Dz#s=IMpx#P4or!Og0nILK<9pCNBVF3lqfFH-ORDIo>7 z(VI48Q-I>vB>f2@cYCJu;x<3B+^Jf=V<1h@4ZtcJJ-~j*(2m4Y6VG!Rs*t>hQ|MGkmT`i<6 zq_&l9ZSQjpWG;rfF)I##n1f@Cx{sAa3VJ2C4j5Uk2y9a{15Yf_QD-oLUFITr)F$-T zxPM=$^@z#?Ko?`lPxwTc(~@-F063nzjrF~oVV7zx2jyIVet})U7l={{r9=>fC(@T~^yOr_3Icg_>!Pg6 zFTR~5alexUQU;^J*1_KHpnDvJN=OM<`EgQ9nSVu)iYl+BZ1Xjj9P{n$n%+-Z%3^6l zI8ius#sjsAH~TrkU5n)h4&t)TeD?ZA) zJbCfKCoez!{CqlJhk+_fy*=tbynBB%OgqUyN|hv?eyRhSxvq8-bWJvZghmM$ZD;P{`$|O zpHvg^o0ojEJe{N9;06oZ{LGB@f9Ven2^?rdV{N5vQR%WOtu+83g^a@FV0Zgqx4&Fw zolewEqSqfCzWe5*z3qd#^a%h(nXT4~r!UT4o=#3L=ZnQUNuohNnaozJ_1fqPzzUR7 z$S??$qIO~{5cyUsMh{Rngy2t0@@B~(UGuqG&?Fq|_DNc{9xT6OxACk6#gq23Ij7*{ z!EJ;or&A9ay4OO7;~DmDH;G|ufYzy@AGu{8Zu>J*X76vDXQFGi4w0|LRhE}& zRy4wvK@#_m4sShvbf^NkTIStu^!lTthxhOHdOI~-uc{)=7H8)d$0yg9*UQ;F&9XuT zO4l93v`f4`S4$wGu+4Tl?`3(mY<*(s@@&7hmc{0l=+LsMyC`Mpb@wg7Bdr78;CDB( ztjE8=^PA>(;d5Ne)P=`#_b<6j0G464aU^&tZ=~{V)!Qr)(s#Lrp=GAvyKM=1STNRB zmCo{NK3`v5kJD@!gbSKN|JDUw6)bA1}XwTV|1S9t5uq2xvor;G*cvM`5tKLv1?1BjFI+j zvzMKIIGkfyF3ao%Ech-TXK_^32bb^AsW`0w&-34#IW9W}W7CfS+t=TKB-#$huo!D| zvX0>)PR8qXV;$|yPyQ4yuyo=Sr+R=OLJddCO0UymJXt<@@$$6?$5GhncDBMG9&X)I zDx!9jB<}aRBc&n$Fh&<;c6@sB@#oLZFQ?0Op$$Zl>UE=?QSaW-?d{=S-E&x!*GPS>+!LUcxlS{EsXB}OUn!{RRbU+ zYPA5kM3}&$Wp2dZzOF$Kv4hZ7CvfZTGj#8^{KhwzgEeYty)JtTXE>1H2O$NgP!=sy zbTk^O%C6G9gnO(|MW~ z6`+lyV5{Fb*xSByc)Qo#4#OA#@?w2@aq;5hV!Bx8g{~?_mo`lm*fbYAdDGTD)c_RF z^taL(L{EvhC2N+)fjPGiy=8=SzziL8!<``&jC@aX3sAUN=#pehUK3pR8{=<0EOEA1 z-=8|u+{Y}f2MOBE7+e*w)u#l6|JVrt4vRaMriS%25d%80-XI%|~xfjgk=k(%jKH zp3LKb_Mw^W{M)y?JC*Z$9h`%;?GF%|V9uEFa`p!HBu!??ipwn=Rp@$;Y%3QeGKVhZ z047H#)>K+&Sv8riK7Dq&^Xu=&QTW>Z*9N`ax>Xdt42(8Fs53rX3vg~KYMy|HCe4zd0tjV6Ho0OIJyOQxl1Dr zs(QKDY1`l8k(_NPBFIbbp1FTZG(4AMOI_L*@lg-CuWWtIxn&D<>sAU*DSxXL;DCSw z_6@6x6oSFO$W?(p?~LDt6{lY0=-Ld1txu@|0IZBDO1)a=PhOsM-Vcgmb^p%&ZfB@e zBv1gNHKx+#a=rZY$&+9C&Ue4{YahLMc|Dn>Sy5VRV~aw{AP6dLt|!-8>%7QL&QHJp z;isR!xEN1YtGbn#=Rm%y#GEC8$JRl$q@ZLiPH}5J_xn8wp3`;R!jj1nN7;sl94C7p z4|M87TOS%|)fl|>!*WBje&{W9;$epq6EUsU+pu-ygNqYRrwCuLYZ7S-Ug6oH0u8ch z_FzgSL>L5d6oi42C?>PnCr>^d&&I>SuoHI!6&ef6)%xP<`sD2L$@7aRFV2onuCFJn zWttU5C4{K7DN8+`EMeJHI|r>f-_plp(VvBcR_z;A6>v7vP3DWUi}CejIhn1ev({}Z(zdla_vBZzX-ITsEZAg|+l$i9T589@ zgDPo&vkv-_tH89_8StyfqPf3JVEs_5+Es;oY}x?Y}LPAAhe zFUq{As>)QA(Z(3lXtg$grJ1kuywKz6LP`V+l{Q-2qO5dfDr1ac{XyJ1+B7JCPdR_? z`irQp;X<1AZAzA}m-p8^DR%LTcWL=9AnT2-;V*pah$|{M^>Gaq3_P|880-87H6vLs zUfzp9$9K96o6h3i=*VTvlFz{SF@d(V4}{FhwFfjDLVX;uR6+>1wur`P3tA~uLX?$W zu8ZX=OS94#qm8wIU`(@01}uUGqf28dLm8%RPTK&Z4KN@^KGHEBj>qC;Ga^{)N}LUj zcG;Roz`lW`1xP5vk;pJ3y>Hd=0MN1yClWaVSTMF`#Pn=2U#{lcTUi(;_0fm@ zUef7AaTFjzeTsag-7*RR)(V&0X#)th0t;YVKcKZu>ljBAym;4`jYrI_ED_YEc{Zy+ zrcU)jPp|ub8P(!58Hxb}vVA5{UyQXDF-_yao{o5DuAwP}v5qqj;2ZrQfw6p=okHFE zE^v5FSr+xFu*3u$Ms=(V%jn2mxPe&OaCf^u z9CUg~yo?I1jVKKR_RUP3>CnPhw8AvaM`*xW1J)v)HjcDnuAh(Elz_%r)1~CL=vCh+ z!joxdv~*^(cV3)@CAZOjg^bIxzsY0xp*QXi8&zPkZpTr#*BL#$ zf9Lq@EGvpARP$w)=cQ?NTl3%jc&xQ$rOQ&MHF{6Wyr@8HqtRO9hUM&R1Dv@sqH+u1 z<0fyXcWqYe&ffF+E?%GAd4C3svupZD{eTz(Bw5;)G5T~1HWvbk3})`%Ln=!eLM#f9 zzWTB>G&F8&V+#2ko-DM}L;o@Qv)$!RnI;OvN}DuWuhUt#vlU0ZB<_#4_J8y%?{<^u z*1`2+o@RyLKfIB{vYFemYWTS8@#=Cs8;{qsWomP4wPwkrgC3M3(`o?L+kZ&U8F%T| z1xT8F#R+<|>n9}#<9}-$vov|hCKipoB#lX!Ex8#9L5?%;i5!w-*S9V(j2zXg>ou_5uIcsZx z%p1@Y$S2Xs4i3-)3Y1C&p&ay*yLS%Xe*LZ62X~bU!!W4}Yn`~SWYFu3%Brx|;Egkk zUTNC(Hj#Cf9UVTYjG4?9i)FT4Wku-%5%V-HN9{Gb?m=^J*c8?IVIOk%4=7ub0@Ldc{Z8%hD(jrny+G<3-7&S5m zAp}Z+Do|k%1wm9FVaBaM2&BW_f9pR&gi#nrQJ|!dh#(N^48k~baoXp(1{PfvEr2J& zo!h6$y6o7wFUHd`P~qT^@4uxm=X?P57x=Wxl80bHx$yx$M|U+zu&&x(C(4fSCI#`( z-2*a$hD2~#+Z?G)O6Vv#=VhE3d&{#PjC#_-{SExifW{gqE3;ay=ZpFFa3y630M;6} zXo6q`>)LL4VzOyUc@aRHYO$KHR%uyPm9{ly>Iq6OWVcVo>vwJ0RqPZ^lMuTM3-AyCrh#laF{%Wp;4(0lVH#QV3AY?Zo|DU)M$ za(@p3mzJ**l^h%=Yb_c8ZERjt%T;!Ae*NV6v5;cW>qsep$gfxZ{BSG|7OX&F0avT^ z$@3R4PA_JQv?xkrp>C3)jX$i=?q75?Wxdx6U%kebVs;y2gKI2nWvmXg5xLs<5w|jK zpMZx3bVKX^bo#{d8DcG6s~bAD%+bb_!I5;FQ?dXSgnz!IcM*;Hdr0F7z8>rbDaCUJB%9&c@RI&l;z(HvL|76s5ba@JVW)Q!+Tbg@3Q z4Vpv9jfSGsvqkpw#p$O{PsZcrIxDKmfFUPHqhnbQmk~C*I0>CF6ZJaan;n{NHec2E zz}C5c$EPEudyPRkRKydX=7tnfTUgMIi(DqsmA$pQoQxY}^Sh55ZsLC0JUFm(n_Uv?(rk_50xz$g)oiGkm5K5&`DO6Gffvisque8bY zswhpRZBZCqX=6bk2q~llC9%G2o>%iles(!Ky_ijx>ohA&<<2)`wJdOgW(iQ^f)z=z z?KJ%>*m@fJ2AKAS$Y~9_9}o&)p33^Kw@#+vLC@=-V15Bw7qosR)Rn;J;?X}@437Y3$wgzY{($UKK#JoXg?X3@v-0-ud^n@pN8*zaJOy5gP5r?<;BAKG~cLZb= z>!yX6Qe-bY5`$$^aJMCSQm5R_q}<<*(hR>Fm}P=ZPi1p6@{3j*05oMK@282Axh4C}pxvaA9n5B5io?(aOl zf7I(GWmQb3vzKQVMXo2a6a~YQ^}$^YpUI4yqdv4~QPINiba*2(=j{$H>p-`i%WF!r zh?cjOQ%t3#+iy|vs>ZmEwyUA*ctX%U_P7bGj!^-UpP(Uf_RvyFN-o|jAx)2y3Lc!W zESAn|r^TU2Lk&Fu0D%%=qz1kC@Yd+j-Teo5_aEH7efRe5es>s#iBe&GdX`dAy1&xe ze)jz3Cr?g`vRbY3FjN3yXM6kMy?eKB?FCBCm-A=GFQe$=RhlnX`D&dDK<(PXsr!RF zUl$x3T~uu=^tq+4EBIXi_1t_jjP;O-d4Ec?Tp6}e5DxBWy(s@hr={NIdxuQ__0gL4 zW%#x+>+b2?zRNQGu6rJpT`0E>O4nbbc2P$XH663Sb~~^RH|7Y)(;+G$qDb|+@&0!I z@xxm`{ws~+mjoWuc(~%M6cif|_iGHc?N7)h6Vsz-Tws_~` zYkt6TXGRX3GBjt}K6z?g|KneK=eK|TYjvo2; z4;zR@a`nF?j=J4A4g;y`#}U9{nVw%=$!Eu>*VB2r%!;xy z+G@^J($fQZ`+q$tK`b{xR!eOhKGHLXXMMtowr(0Bq}}wt+a{ZGS)28OY?4822=02x zJ!C-l98_ezyWsX7)Qj6VWS=Rp+>4BwNyQ1vPF`vbeU$0)q0v{%d*Vti7O?ePz8Y$ zDC)-%sJTN2ebmu5L zC+b~<8-sH;%#HXldjQ@@&LKQ%2VlvUZ(%1#-`v`=j9p+5s5lO`N4+;59ewq^x9{J1 z*zIgdsQ{p?^0Lgce3@oTt*bDIJIO$)pdNsfqTX_CEtZu|^Kv>}y*RlzJwMso*&C`z z2+>KphX*^mqh7z4L}4mbY07%H7gfES5`z~|y#k6A0vJ{!QrgpiJS}RJh5>J&bl%w< z`DPY`k)&^#^fyT*%4}IS<+OxtLvtv*af1ZT{2@Oq4I^OCY^{1G^x*Ejes4#~z!XRGYua`NKz^wIr$on#P4-6%{B_YdyezV+ys;vFJ_jpAGHQ!XVe)9S-NQ}h*zyaEg7iLw>KCnikwFIr6GKyEidYyrifweZv zmsjKCr!PPI{Mq^SWNEBE+#9|7=A$GT7^9_BHBE?(`>~Zad0sA8`DC#^yBtqvldZvi z9Cd;q9u9_w`#XbvCk&+&f^l3v^L0>%az?OCJ)5C+AE=r@%~~LsJM`RMPJ6@#EbWT zEFWtpW;GNKW&L=@AZWHaTL`@Z6E>)1Vfr`Hw5n#5mC8hfzc3*;PAywM=kp0_bIch zWKh$F3$WaWlSlD|8kerH+qSZ8AanLv8}rEiGuYzz90EYss?L0gqg$CGI9%$27F+lh zg-@5S;icc(<^I!)tPbvyBT?VipE^`rNi zDYJeeYmC*}YNLII2^Ops!dsIc0}Hp-nI*d9MEFrsLW0eQc(%rDo`gw@&@lScv=0_7 zc}WN5no#LaO>_gQN8)NG;JK>WIn>&KE}wR8ijKeYxi|tal*dNcWQ%^#=*ykl?wf4N zUC)C)q||{bNR5iH#yWx!2=$ZqP|9Yny)mY&^4VfNUuN@pI$x&CRi5WnrE3W@pbH>S zAP6a&2e`(ON|G=N!}@8<)~SUtreP}Tf@XXAPE;+kp>xohaOJ0N9fo&|fp4bwlWU@@ zbs(OyaOZ4&84SFrz`I`e5#FUjpL4Y>@P|7vrg`LpKNCR+A*BkWR7waT>1h!xdN%$~pb!FsKo}Er zlBnN{M}zL|{q50KbEb+lrmV^=%k#V{wb9mq1u(`pWHYGg_<_a}UDeAnNic}jh`dE} zQxGRm>NOKRSZn0n{Nh|N(Txlac@w4W7?k-oS93gui=w^?%_28>Tvsb&X`5@!=6e#| z*c>h3;|-fFc^aztlOnpL!qWuxM2xXTq0_9&^4ysEXsjR(y9fI_JEQK-b{D`#p^D=` z)pB=gRX=PsiB&g=k~rMzCr7u25AN(fesH(n9Y$dS0F^G6%jI}BU#zk+*Yzp$tQbfb zl5LN7thOQu?$^Stghkea#?oA-72Z@^#F^!H;fl**GpmFmSqlmW@!9~5EjKcE!0J=Z zcAG|2pB_LfIN*lB$a#{y7*W>z+0thB0c7&#x>1MNysQ>!c0HZtMViDtDOD#K+&w&e z>+zkUFx^fl5QoD~w-YHP(OG{d2?zanH0lZ|1mf;?@6o;8_ujhq@ZSAFf44qrCok4# zSC>y;oK5HJysRoiWF&f#Irr#Lb0a6^tp%7-ddKbZ3uke_^qM(3l0IJ(zlc0FqEPOz z8o_NQ<7QAUVvyunfs(CoOW&M+_=XfxbKXWv<8;1(Woxa6)_M%j6G-O&o!%e-paENy zW|bD>>FVi=lh+@dCvi6lJDp@O+Pd}iFMgqubdOIj(=6NH-P+sf(_j!`YY-nEY*_=y3auM@O$ed@vmB*BQAndY!FaoSt7?&ljsaD=MRnu@r`!^0KU!uaaVI)s4SI zP9gaDQp)7*qzPNj)l>4|!lMVy%!(|KVY57&=j5b1){&Q%TQh?lWSQ+sxu-rzGbvki z%1PSf#_KL-nQpnRb%0ii;4KE|T}KmJE6Pf*({emne*EOc{X3tJwua#-mQoG+yC_7r z(|`P6yjaeYBu+ytTKT#NF-T@aWe5a4_m5gZgx8YfYA~FR!m( zyu6%D*Q-@lmfBcrt=TADg9D^U^F;s)ii^~(mzOuI?)c1=I_`*=X4!Ua7~ae&1t(}u zvDL#SpauypCcoybV8KMz{x2zUi(Bx{gd9|(46gd&8z@@U5H4@GYtCP@(QxaOt-c*v zYpm8L%gXEV>hot8-`)M>aDOj}`<-ME2Jx`JABWu}>a7P0V=AShFzjIcph*>VI>U!| zK|KhQxEDv=Zf5|9L3h5`N%~5Lb$?P`q_f4cO z`$*WjM=HTwW>bnFcgak{OTdz!#D@F1f&aN1gjRH87>i$%|7^^GSuh}h59hjhVrBik zkjdBQq$Ga+xhDJLv8c{botk?kLRzcF`7k)w5HmsuM6gE3NiZCAk~j{7SO^gYaTvyN z)J@`k68Dm*8>pzRNChhFCWC%&XVBa3bw{0~AE>atL0J{E#l`o3@Pl9e&in6w^y2Jt zu~=n!Sy|)fZe31^Z0%`w7D2++-C9DwN1gx9_iAglmI9M z3MnjLRTb8jNfJb1D1{V4C>ex797mlnh?RT3B$WhHsg%YL0MXwhEhQE zDHnBQ5HUhI7C6eLeVATjf|NS}0_SeIWUMRKIlFOHSZr%qb4gF!HKs}0jExU#NC&3> zeyadEZ?DZY-HMKdBmY2EMCWAu2~ti?5YVC!D5VIbP)dZM1h8qkE~^Z&QVOc7wAP>y z^}aC9Js=7pME!(iYfV)ZX|`OgXBXF}zy9F|zxb{1e&_usFU}_8$!e9Bd0Dx~GrHAw z7K~1yjv;A`hmOW-0jG^0)|c-skH77epNrG!&PL|eyiavy@TNq)h^}843G)$uQomu_ zw&o5-1t0Rs1e*$m_1bP-uE7+C`jUO)5hWdLf~)}N^w60T?Vb@rs6d9H>cn9bhJd)v ziYL!c@;tk|zC5~hushoAbOuS>kAj4^Gt@uE=t`GWRb<6_zL>r|Kl|{LC*S?S)6bq> zoSaXZgxXt2g7T8wL`m%?I;th7J}=(O+&cr-#;^Ckht-Euoi@n%Y+XhA~nYr%(4 zF9LQUKUS8h+?#clI9NJKP!dRA3RR<$C?}_;@@W?~H~!!_n4YtCRGURBT*;DXPgiM?XH`|7fYyRF^>PVft~mav|Es)&y#3OF`p9enr~>8| z6J0`uEsghqlc!!J08SA)l96>LwY&`J9Fo^@>}y*DM9lcWQjdUbzI4N2&4x(6hrYrk zPuq_?r{_Lk8R6^66$C3#D1}j|cD8zNzjp6Ozx?*${*Hwz%a_a5e3h=tvN*fEJiELM zgFvZ3DTN@kF~&eq=%OssEMKmRo6o<@I7RThABiVqIi;Rg|SMV0{YWTYQ_u z$SWceqgk((qC*wh2Figj2d?dWj^#Y8O2m82dG`ug5tYwf0413+TSkE9IGL8sx4P54 zteNupk0P*+s77SWR9QWc7)SOXGb(#D+Jc+|Vj7RE(GmgCq7Y#i^n1zOqy4uZKe}^x zD1uWv63tcF7 zhdnt}^4jBx8+01ryNanhgaS5!KkEeD^0@qf4tfRJFFE{I`!;B&f~`rrv9;rlyD$0% zXNf`x3?tb~;z7SR=x+%W#uzi$t8`hG`8r!Hmy^r!)%9e0J(*ok=T&KpwRusk*2R38 z&6oLdm9MiR&C2>=ZB=Eov0AhC6YI2>x((3-ZP%=VY^YXwd3iNJ+R@1Bqn_1+)^~`B zAY#cqkqZH=unm7fIzrc?t_G$f4YqJTk*DC6@;?qm8m(!(F~JOSN5sl{|K-2XY&2|b zCu)YqX>(8RkrjKU$Yq(#eOa(zt*LBL6;)LNpp=1>000qyjZHV%>UD;L{?5^@Rhp&a z>1;Baji;-t@$BS$j2B~5@9=_p>kWPqFxsMZ8^RC-2b7jnnX@89cUhD$yytS- zCaY%a?iLZ7Oo$qULD@}(>QiCg!ZN%@X!*ND+3QK(Gs*2KD{_e=&=N-2Xy&XN$_;yy?qAH9kp znI$+v%Gbu~+?Qe{Z5?VzbeEVD59%&KhS?0L$>p8c zUXHqTT!jjyR8oMDR!R$?D_v?`YEv0&5K+k>P+=Ivan$X0wvwbb==FEEw{Go^4)?bY z_eZx6wh#BV_qPXITb(!#l@dW9q(BsCT~miwLbrkp6eCk+fLhq@@rG`=u1e?))Ri{f z#GByfm&7H_bQ2d9C~0dL4nS`X_1m;`n{1?G-<-O6R*ckx#Dea1PM)`c9HW#R{^p-? z_v8S9xfnJNr!~N4<5!~ANg*tNFxF&6zFe-xv*~zxJztK~bY7I}vdXp50KSz40Hjo5 z5Jyp`-yQ7j?A^P4`_bK_`$zkCZtv~y40^GY3c@guO4MLTYfDG(uqZ|bir!r|q%TSs z-Y4%%0FKMdEiU;;CoJUl$55bKO(y`4^BewyZeTeHwTX+!ThmuLtYUH^DAywKpcMx^ zgG-^x1t#YdJkjU*7e8{Q2W$*(4`OS$wYL_=n4+xatMqa_J2|_0{__0k@#*uE)AP&A zb()q{Zf#lVysUC#n(iclLdhTulQ`-oakrBU`rX0yaO>#S?$NECTf4*Iup22=8J(A< zF}Bo3yTccpzHcTfBpn2hFnrJ&I-3qFPuceCK6PQ&_rbt>JaB?wLTZfGecrnpb_?#$ z+tvxp*Z5%o)+dyBaUfY5`y$(l;MAKrXXgHq$+YDjh_+?Qhnt@Qv|x<3Rb{ihT&;@n zY;`qRTwKpjE@m&!uFtO~7gyI8*W>Z@YQC6c`Le9iyjT}yZgd5%jj5*4gCL5-&emXb zba?CD;o(-lo8|drI?wW|D0OpoEh)USFQ%g&bE5#7(p@B!@1ZVmz{edS zHe0CLyC8utPjh;Krv?bIx6%V(53TX?X`M9J1ng$3AeE`Sv9bqkd;PGM62e9qT*Bx` zG1oTb8+OpP_w{YayY6V!8o*ke7iFchtW-({N`#?`LfJ{ele77tf3~&N84cp$Alcg) z+}a!6+S}RR*^Z)468AdsAc=cn5Fv^%hyoRL5Uhpmt%E2^F2}P^o}NtS>3o^9{FijP zm4>ta4=Z7KpNxb>#};3RZ5g&)w6hP6&%LALk-BYD)`tr(XWF2^tcv0wIIPw(O?MXu zRUA$x&2~d&1tIbsti6@coU4lv;_>E94!adod<1b|>r)uBq#0PB^`sS*MJ9sUjg zAW%r5lnSI&QiM_lN(4$qL6F2@rxPb}7zRoTVXd`BYh9IPR#pXnC>{XR?-|3^nyOv( zd~8b{0fc4gWc`3{aNJa5(-wfYl=_E}J94_&?ddmrAW%CaQDW3u+Nf50_Xs!)&T1@8 z=3EnJo)EKC+-Mq1z`1p&mrSYYCWIbZCrQ+VjC-NoJwr4jO%Hs%!!i`;kJ_Q|STYH!90v%*Vn_gS=39`%^95VE7nVQvHVu@~_eFF^rGm!y!L?G-> z_=Be9-?6|R8{M!LzEnu?!N(zbqy8_ty5U{n6geaC@u2)$eW%`klBNg`FtsL}8+2z#AE?wOW@&nH6PL)9Lf&^6c{Z z+40%;K7RV?)6>a3&9bVjjO+8HtpUij(Jf$Okcz>}S5ytq=Up7Fw58!=nX9a|iW}r% zsTII_AyS*lrt$DJp8w-0eT43d3YTYMV?IRMg9V$H$r2jR-dw90J+ zM*sjRMHH&7UVN~(_2};I>yHj!e{gi~_WrHCy+Lmf28oh^lu`&Kg_JVj`dx1n%8PZL zuNSM?#r4(YcycwKUybMISM$@0>C4mc`So(X$g-j`nny-xi;t!$$h;KkuUCKMmf{P? zyy@6E4f=pTmc*B2{0D&RSx&dxhVE;@t#(V(Jc|X)(#Vh48<`cf2SYM# zD+V|_acLluO1bRM9h^g@i29>a2q{Gp2g9w-d#~U5v9G-O?i-J8AMAFLZW8t4s7qm( zeyXY{tD@3nZNzD|8c(N}t?)ZFS##?e5pU z@b05~_roBPLP;6ay@kyxSTLr_i!{xa>ufPw%&x|htI6zovY1Sl*VEPc)%4+Jl>ax(4F}kW5Gxum+3$)-gMDoL)({~_O0W!m8Pxm6U?2i+sct%j2 zGG+pWE-Jgcr%B>G`UaQbI9sJK-YBPoX>NSmQJU#Hn>zMPMzv&npUc|E%t&rUC< zXP2|ZDqXING%d5d%8N2DtD?}QHqEh>#+}e)>hov>pm9#c=bZldZMKP_o`Uj>1oN{< z%i*r$-K0x%T$r|e_MUKYodI6l^&8X-N5H&x`$Vj`jDsxFC;e2dYU*rcjNW}aui!JY zTJzkYaOhQs5(D&F3XFFJheDiFeG=8ILaT<7bwOtT^{bWs^=Eeec66)33vKHqS9KM zqSCrD+K`SlMPnKcC0zu&v3`gfiP0^YrxG1xLklg_1n>oBf^ClHc45qeGg1<|GF1@k zW%t`}2n4x&*LzE+lC4XVpSN@ek4)Wu1>bK-IH5U%i#;o<$-!HR1V72#$)C;Dry^9w zuaBV4vTC|mfBx)r*#F?<{47vlp-QuKGMmp9tHmnKvNFxeEZ5ptff$7f5yC)L+Sq#k z764c<^*$~O#^}mGmX~Q-uCrpb%5&63skOCWEV!fB32nOOFBSkTdlo12Xe|N$8gh=+a#WM(Xn;c<&PnH7pM7GM#(L)d2-KaL2H{Ada=$=E+$1;uG8NBPH%U+x3{x(xWBtI9CeaJ zN`FqAwa`kT_zwaC)|yb3X0}K_dw%lm?|=6G$1h5)i@M+RCirZvF*vY+%E1z#HK8<$ zWyyr$T^8d)y-Q*&Sp%Ow%ek3=SxQ4SIFHpBtRgf-V&GuYo3~H6nOo)26*mkW+Ka*! zno>tD!p-$>gM7=NTcZuySZ%D<7QjYPc(6ZueE;yZdv^}^Z*}5+ph7^j?wQD~IJ5EN z5Vt@fge=P9V0Wh|s*CICe3>rRIpl~a{8LIei%1XIbis*rm%0SQ`)jx5+Bd<|^3s_@ zF46NJ-_S7d5!U;JmL35$`hW}I3`fy?(IrYvu(l5P`{PX7sIO&sj9+k~@yCzy+|uDg z&&xZfz*NcEHHqB)(yX5l^#g#yol)-#Z{GiHUwQYzo!gzHA4i=iOr%g)KX=#VJ?%|j zUexZ#2qA@#iP4Aq*{%Iizn6qzAcdi6>}C#4J;8IdpL3^YXfC`Sj$Tgt|NJ~ zPGpY`8pvoV0MOo5VdSlwg_I&0StMoydj) zAc`m*SF=YLn{qph6rv$ zCDHPYyxU%wHMu*FZ#@w}hxNE>gu8M*4ClBVYHtS1w(4=Cwf-HSGy=LWa*hq@G&pv0 z5^RPS3)X@V5GWZ%!S+_?(cS&8zW4eY4lo>H;^SsCV+!hEAcuf|WuA zD&)u8X89`3mT8u0ZH%$a&OQV%41L(f#qmU=UI^tAOV(J*eM~=O3QQG=l>^pXPaY3e4X-Gj+bYwF${R8^i@RV!x0QW^&pM zrg3~8z3Ekp%?|{kRHB=NyQAJakMF+o`fL5}ux3e((M6fpyov=IN8Mg$D-7bYDweBh zUZ%~_X3m2v8FZ3<9CgDWM#TDK)5Ul?o8@`)Tt{n~T1aDgHxIj^m#`^uZmtf`z?_$4 z2~%VFZk<_pZ1thCrev0+IK%YOpYky3^q|Ct;V^f5=0MtCw5<#H`c$nJte!)nal|ht za~K)ym%y(dp?sFEc|3^-h$2w3lZ2yT_wLdD!ESx_jj-0N()nz0wMyq@nF}EX-JLj0 z!XVbBT4nR)YMN#FWWGxC%32#JG1}_wj7Gg=YdF}CqfV_Z>nxqG)>%<%qjh5)t`P0a zmL~4a&;nx9a7Y?Tb96Dkh2Y!qgRh-8Ne21>>isFe1>p0j4FJunAmg2!+X&{?*M=`rYO>@@zoDLJ9%+BnJsgxZ4ijkuU~&q z09YxNQlT|sl~v<;c7C;3rzIlxdTCy2CB)(W^X<`26edxajJCFqZtaf-&$^vZ1xkvd zIqKH)x|0@`KYe%s{BF-+E-|d*1DW6((!D4 zHCb5;aj2&ARaWH28YP1`>I??GI1ItsyfUk-tSVD#6DqmAmAp8;eBD z+S@za8$CarhQUHgA+*)*$*XLHHF~B%hkziQ!C8`BBTw5RJDP$51qJJJPNX$(j3jwZ z4{^~UClA0ZyQI5{yEtXc&4rmr5Sluu>wTX;qZ~5CqZAaO+@i)bGYosH7A?T%(g3AOMO6rISP~&~v?91-U8i zdD6C>EVHI!%e*Lg1rmf$tmzt!rMQ!Sfk}haMEOlP$KheUt8e;>r&lW0xabHZ-t6uj z09OXXY1CQCiAUNiEd6^5kd;7loSFjf-Y^ASF3fFW_eW= zfeMqjd$6~A|Mu?lmzP;qNeOADgFp=Xok2Gq4Lbd9w+4Db$WGE34*E$HNm+Xj-T=a? zBFN|su;{pP?$Q91*<30)7$j+0C?&Rs-G}#f z-h6bY-yOzLhlVAD1iptF*r5<9z|>>p-!Vbltg1~S?VmS z)>)=?1@(5^Fd6i^aTG`;tc9$ort|g1^>mdkyPd5-g-P7o-`)SQFTF7wbj~hkX<7&= zhJ)ncoxS@nhE%OI;3i&uEp|0XLQ`>@KZ8;!^B1==_lY*#Ri&D z%Gz+=Y(dGt_+?|7gvQvaGDT_9yj-l(TG#?b5_flpJG-M{Cz{S6&+_VOvV4AW@#yZ= zu)hcH?`FeFC~>o7Ma`Uj2qUtDtv{t;ZgDMuN5X!H)c9&y7-_vn=1bTY$S*gL zfMPVId~6cdL$kJN`Y>#L>mVyR`WWb1S{oGLD}AjpxwTLkljX&HkzI`!lliQh43r9` z2)dpA_GlQzp|Q3ss>|{6<0q%L54QJr_o66KGU#=-;;5r_skN?j31FoRlvGNEN(KP7 zs>{nYFu6`MX8O5Xef%a zY(ZJ?3U6a!Cm^}n2zSnwA_gGWACBc(df@GlU4xkL_EAn7ipa#|rsa?Cu|ChX-s!td z+@#dV6BIzumCbTJU8FBgE}y-88HLfHJIKo-FG?kqM5!yC71d;(etvv0`mnRVGfLuQ ztG6Si3RD=V5MK3Dl=)&gdHV9jr%zvwr_04E%}difK-(u0oQWVIHPe*1{n$&>TaECs zoB7ZtV6!HkwmaN#|D0jwA&_5WBdc+>4;1VJjTD?w^P&n(hS@3tfN&#pdv&N67CmV5 zbPDfV_49Qey+%OT))-nEm%=q~3zQNArIJ{6k}!&tK${o&bUr`396vq2czS$!IbN)@ zvTirix)Nx6-DuG3C>j2+x@T3Di}iFeJOAL*Cm($J^5lGWJxkNHC`-*6?;G^Wof2>M zV-JLJO6^D#2kQuz6Yp}fq1(2}V^Va>>}N@ughVzEk# zN^4_C_uVt-IH5%GjX50jn*@MaD+kmpO4dG|3Xm;Zuzm%sTTcM*6WtH%W}?68nYi9j zFdof1Q}$SjhRKp1x*&xMN71@YBN{H^X8z>hxAjF;BAePFz@?htk~IH7Uub&p8v7E6 zfs#rJYaz{x`C|Rz^!)5%JfEj|eL{xydR0`_<@M~%*Nz|GKf1NM+v|1(3S&*BORXzo zbiM3>igria2ixQ0(`gu_QVK7yhAt)*bRLN*sN#;2?BBB}t&$VA-ewS$+7W!|jPZ0F z8Mk7yPh8qin<5JP2K#^?UR%}-OEC$xtCcPC^u`a3gk7|)h^;qRLguQBQ11&+O2%<; zYj6AY2lwvYz9kS&E-s&+US)Y+YORem2DCPr1!Hq#ZBgjiJp25`#r>lf4~`CYcebJ+ z0I%=#i53%f!#g>rhmLSX*ffJWy0^CGQZCfamA%g+VBG?84*5Ixk3LqAzXf7`TY_O? zcGm8)3EzIgnh2R*0!!h%ude6N-Xg&M<9ehmOS1i-np*JehLscEsFlMKf!B%^RN7}6 zfKF|!wL%DqAf=QNl@v+|C1n`MemB|~b#_PH(I5%K#+(ABw))9v(AnNvXGIw(SycvV zfCT~(gg_|}z?OBtk*xqgYl8?VtP)o1hI#FGyEPf7q?A%n1qvVYT`$-(K z3{Z4C(d!R(!!S5H80LjG8ldUCqU@21^HvHGhGKizdvtgIwR=ZfgWV+V)=8Z)R%>G{ z)Q1;SV$DHE!~QtY)C=vN5yBH|W<$h#kWzb6!tGu0MhFzsu(@1g=g2SS=u@Ij{hw~z z2|$Tu-tcHF$*i_r2zj84b4gKJqmxh$?s&G;Fg4=7Lx(TT#{VfU@qZoT#B z=)uw6&ZyT-!YEXoL?{{dI$L27)w2#%*y{}6eE9J72bdS8tgJr_hBbPU*FwZVVXqTK zVbbr82EFY-MF606wOB1Dv*luym6b8HnFpvrzzr5W6Isi~_l*O?$=rhYid)8gwOd@k zHS@SH`k?O@$XysWOt+OJwIT|uroAE?#G84xZG{Jto%I*Cq>~%9Fm`Eb&tU+Z*2gwa zJw~NO6sf(P!8@ zC>g|2Hw>cs#k|Z;F0P&&pHF71ywJLJtO})FK7{k*tmuI-*y_Y0{eV}!$`|PdVD(_N z6$Lg6XPeU8g#As(pcif1%KT0E=Y3|?y1PX>;KuQvn`9ic@80%jEx*>x3=yRiQ6RSm zouga3kM7>Ny?+#_uyJVa(UNoxrNVx9*z1rD{zgBoRKX=B_3nb}$@r5eFQ2}=n$EMl zs47j*ZEl&2a~Q}M+*Q4h#q-UzqfpEuB~stKgI*2=&;o9p-oWsUYfAxey(E?+ZAW@; zK*ILcp_WAbz+9R~pW-@1trD#~o8fknKG+SE-}3R^H3}h=R7n)|x;{-?*6uyN;{G)mN$Q%@UGwMI~Ru@i%EpnlnFicn^uZ6?|I$r1t3SvJA6%3J1A* z(H0`gGSC8|v9{7WE6T+>oi7$!y@6_}QaEsz`ceM)?NsKubwZ_C&t7ui~E!u*%|4?aQb z;tIc1jT|=z!PJ|bl*!sm+I2C@h`p9)LpBWC8js)o$-FxoDyxIF{ggqAptZ?zeQ~|` z;M3>bIGW6+qpe;PDk;$#i$Ww(x7%PesH$?l8n4r(H+-JU-TZO4t}4A)r^jdKAAIuk zyC1)JdVGC;xtJ}oyl75o@K(1m>so@Y-O7RNLUI*$b2J>`us#Gj+_@Z|hze6TYZZ6)0#N|K=02@ZC)?%h5*Kn&Eb1-s4`7gxtG&W>k` zEX%9P7@#NyV6@TNXlspoK0v+l2253&Mg1IFNQ1(%gJ6 zC~z>rGkEW0SU(M+`u2m)xXyarWfE^ECdO*CS*|DZtSZfXk-a#bB(aJ@)ro_CFTSR$3d|)Un+T3IBUb!r=J{0M&-rn#q5-BZ zQR4*&mbLO`eoCgPTFIO?`5G4qxCEJ=xqGwSZJYkn?Z)((nzLvQ7@Fdt-CzeTKxGV6 zmCbBfRjaHB1F5740vQIX-w9q0lIfzHFUxzkufkAXjmOVVPG-wgYXjCwC8b0ughpdE zMS+R}l?A#ejnJlY7Rq+yuu?F9pB^;Z ze>h~P1#6?mR-uy?6mI;yBHV6NNqOvbgF!9<@Q&mLbahaS`5`v3Rs^R>aUI?G7dN$Q zbJjduv^`rba|4yN#_FQbxzs`+BGgBcP9im1=6Pwx^K|#~<9;_1!UR%oZ}ofKWYFz& zk|+uTDMcOlC$rU)Q0=jt&DhjNm5JjnL=u}m@DDwTC z-rjci-qGHJqr<(Oone0v29c~E5rBvw7OV9~PoB;e*~$3~tj$Xe0KHD~?&}Y}`p)Cs z?ST|Hna`h{od4SUpO=*`OI=pFs*H7=HLuS0+G1CY)@~fYvMEQ#Y`3h+rzYIR(f56@ zr)nGD((gxUZOakxHgNY{F9u6@WS?od*g$2KKVAkT9HyaqiLEw3D>;O?=HKEW3yo25(Yhw{tk#uaW=8t8VRo z7rxfuGV0BV*DHeTB7QIqR@6vh!)x*}00MwiG78n8A0O@w-h1QDZ~OAwZ@>1&-spC} zJFE}P(7GzhEHBccY_^OTV-QRbV7-CMfGJD8SY@9dpMCb?#cVODssd4TlK!28{RemU zx3@aIP8il3w5gxl{o7Jk5|C{kb%HGpgs0Rk6?BHbfmVo>#P%B1FQMD3NBb^4_k~^u zEy zI&VC@^`l>U`;7+=lBm}lt71)-uV>5g_4Mp&ayngHt+Sa?!DO9FhHZdIk&U@3d|$P<|_C*bNfX?iW-hc>vw zACRn`>ADZumiZq*gdmiiINTj}-*|ZY%?J1Uy-|HsQc>n$?-S}r9>g5(Au=Z zr8_8UBXMCdn}z09KC%huTjdlV@12W9enDchZe%q#1n=*6<3k&1Pn+w0#bq~>GB?21 zUkxhpxyVN3z|A>&Z{)E@pKdNRM9%&(rkJU_XZ zEZ57uQU9IC_c~F}7$cPg3jm_Nud%k&Ce5q)vbY>CpPyd7@o>`X4(t6Q!+w8nd)V(K zVIZVJES>VABceB;kDFH0gT~+wUpoP>Chl3F_OHC+&(HN*#8_lDyygNgk{Bk$q0=(j#MiV@^^LkMC5l5lwb)(^+7pe#VjnS)gel9eb=Nh$^2zg=t(N29HM)_>rC>cdL2yjre{^Xu7kKEJh_16V0!9LN1`l0-qh;Tyc} zw>|X6&=C~(vG__6xL{`KxeGvk-tTU6IrfG#!S+QqFUHf@t@ETdyh9qm84 zjsb8E)#oH$Jp9&_r8M`l#KUhUFwI5$(YhO#LKG6iKqgTTN1@w#S!Mb9`26bW@#M4T z`7+a5`|t8xw=TF?s4A0Zd0v#w)_z1OM4(il>eDRI9ih`g&ak1t76Ghq zz=y&ii|O^BRKE2n02s^CqDYzlCpl3RWLUR;m;5JpzZ>Bn+F38xSq70CfK4cm>q^T` zu|ZzQWlTTZ|9kY$OyAwhb1ZCB_0|?!pIe1>%V~WhV@;*2*&@B3uE(?NdbXaevemlG zOQTIQjQSi?f4!#P6appVI0^$*Gj#O_O)YtBx?>rwOjJ3KP0ifh17S8o5&V!AeG6V5 zo4A)_78b}`Ds}@*F8J_)XnK6#(-t~U?U-8wJ}D6*2dfnk#)-w3MqwBA_{|UC+v5_-BEuu=qnWhps}W` zs=O?VQfqqpk7=#`<}$i}U5S&#N;-?S=_T^2z`ZLon3kQjoe87RTAy#l3fHfSq(HW% zH%{X>@8xM30G?!Q*yqMLx!Sd7;q!m%QW8D}(se#^kKySptR-4%otIU;S6&Jk1mS4V z8}{R^eo~e?id3kS5F9k3tk2YnR1&E`i9s(p*y-Or96i2&xYZv`4kuGU#PU!-YT zmX)r_+D$V9xG_io0M#}%)|yF5?n~4ZO}$yQ8hAIP*s8#AR{`y~OS2D`G(Z21%=m}BPDpLT=2`)cbgh+1`?d3KkT0=QCLgB> z#b8^g8&==e#g>rRCn=o!sLX$yPx5Nvn%k(e{H6_A07PR_=ga(ZJX@u!B*(V0km?dS!}&H%w=v85>^pJ9}l*&RWQ} z4Nx~ObMw|4AI2Z@=c_W4)(fv1YAZCn>ZXkrVWrI~EiWgF&z_$?yz?T7l0k12sBqZd zwYP1zlbl{$Ez@lGX#d4XFD;Ox6K84+a8AuObOaC zy{$mjUj!Kl=i%cO8R^YM_pMRwj0=CrcW;CPV5;xN!_qhRdEVFOZf9-7bY4x?AAI_9 zXVlx?8pKg248kyowg-Dr7>@?KX|~cvhd~%coticagQ(jXy!Gf_eY8>%b&{wPN1ZT; z!XO5)Wm(LYlh0n9JUPA^&(`a#Y@XZqN-VXx8UO$ici&=)-&P6=pKaFLy-O0^&?%N^ zy+Y}*eT7$j#xLj(yDz`mt6U4s^M`$<^~v_X2sb#jjnBX<2Ikkgsj1Y+x~%eHzq7x+ z71R$(mnsb6B<{vhCytUR?8IRb1d$NUxgcQ>^*UQyz3pLtr`H*TL9C<#z_KdmtLbOY zpa1IjKKxcfGPwUmu)%#A<|HkWorgRRfDp(#(C zJj}(mqR=%-rFfif7sL?T!vOXtuVFf6=J#buc}oM(NzQlR@w>P&(3m${R@`)~8xj=` z0E{ulm`ayHfJrRFAPiK9h*HQfh@v14gD40hDFgrtA;Ta{;$A1|C2=oMp?h!$YE#V? z<4>PI{pNRn@T=c{`sC&Hc$%)$vTV8&ExY?hcx}|Ko|MGBx7@OAm^CwxW-@|Lb2E(D z_WXfK!nR**f!-SiLsGQjM)+ZlcGGLoA+1brJgOIMi|5D$y-x69SiUN3Ei7HF?f#Kp z4FLd*HP&il)4W)&R+TQgNe~9Ae*7LFN+E@i0-I?fqLfOhKuU#()*5Z9N|!~I&zIAW zo_zj`-~QlR-+S`e@%U=IUaX3u(sg?bZzF2kUb}P0g2cVIHocl#UeBS6QByRa)t+GI>=M#%KVrV2w3(8*!~6RaNFin&s&#ozIt(m*;2S z|Kzi8e)p4azyIvn>GX2Eny>P_(AqlqM28<+rkX@!Gs!3~MV_v>LpfYB%-VnX0ujkz zVbi}gAK*FhhU+GoQ@2msTR`I!Ti4$#QaSFMu5wds4PoHE-n`_v5`Ulv=abQoAF-9J zH%5qHK}bYEDFg~^_El4Ah6rFKqSktymDiIM0Ib%<=P%Cg9FFcD?%qAv-P_(yqOMY* zUUz}adC-ZcjHJkOp(((eG-q;>Fu>N}lu!oE%1_Pi65qbUF z9NMO8Hlju=M19nP2$T$z2m(oUiN-!qP_rotkrmZ=o@%QX>-79;`uybLU}v~99P~O- zpj5rBQyW{BI?MCLI-4)k%gOxWYIZ$cPZ!yInN_;p)G4JfN=j>u1$UU`<`SXPXzu0e zO#-j%2Hc<%{gydf?;+m^nckS&8#ZqQSAIR-*XNGE-Vh})HmzN^&@Xyp$Ly83i&56#!&;bv2%^)AaQ6 zDvnhkr4;pnoVL=YD0P-sSze`CndOy~qML+>A_`R!1yPs>%XGOeAS-QYS$An`<~}!O ztD#ud$Q}pHYqXoBTcfxhds}45F|(3ZC6S_OeI}jVJiNm_B&ro^HuY&kBVB@tRB`Y< zzHQBd&AJ)qeQowdz$?f!5O?~S^5ZjE+F{Z14}i9$g8Fvt2|1Oy?3 zL=+MQf{>^rN{I*{C7l#xt+mFY)<$b<3>a&ThRW!ww0Ws#i}dtz{_OPn<=NDN)y5hy z*7GVG^haytP%~(alG9!v*KNfu&D$04&i1Q+!?)7P5=w7MLM}s~qm-x&;#hgoM{j-Z z;EN5`zeTTZXxpYcVIhAbaQgtns(me%i9^5oOazf6!R>>sgYEv~d;9Obe)n*H)QM|h zH+9H%7YjI<`zs0O^ILR76N@bX7}9xTwXtPsXRGw{=jUE*Scg~@rA!pfbjn~{y2^Y&a`AW$eN<4E1v-@bP^eE0REue|ekZ+lyysC4BdjIK`z zHhIGvey3%Yc;lBka0-EdMOkk3ddqeC@_amxi*gul9oHdJaq%TW3Ep0B`;J^3F1^$_zjNxF?ysipHlKa43!zEuggmMWAHA zlWg^q;hGPLQUtW%9>nwNd3f+E#sJJ0k)Cv*4=T$-pA;;>t_?lQbzbPAG?g~SKz&e#D^ubtiaJkv+=bdz(k)sR-2eiIviTS`gv@u3f*VTPeYr@ose3%__DMPO{EWk~luMBGEofuQ z%A{F!aXpJ;+#B|9?e0mbqA&&kL?MN&AN^pg$&0Lc9Gk9|>-1`}nl19hx>&9Abyj70 zndQyq+qwhMx~t8`OkHSsXAk*9qXjaFfkg{-^sOPjXlm$I}D)C^`wcgIMYYT#J;|xjj2xiZm$8 zoWRX7w>-A{fXA{;U$g~lO{I03mrqWv(=s>46jk~7-mN#Z9~27wAY zaW^lrvdY)lG77E%#_PN^2C}@GFN?)0U!`T1mqn>dZFJQbIy)2ES_{U4)~2jXURHTg z<%KRwV+?_PWGl%C2{H~uupq_$J4~i-cPF1M50g}2X`wL({CLxruUYdKu{jC{`Dc)R z@mfIt&*Z@(FT?F9oWo|{LH~`myu7B;JLsnD<2(RtdO|mE;lELqdYu;YWqLWDpIu!~ z<}+<76b8XKD2`ze#!)wkyWM1vMBRS3I~;Te-A>f>_=}>dib7|FUZ+)>mCLkTrp0nq z%-6+yl`q!CVpS~G#bT8&*TpI;v#csgU6w{ulL|7GMvr@0|726Oleqs5mAqVZgiz+Rv)K~~) zpkyGWiozs`y4_BHXE?gOzk6$cdw1CDbwWf0YfzxIpp7X@lb5C_s-o0+VT#h^MOBu% zs7zUzO56Ix(#CdMQzH>GfW{U|!u~rHM4gE-XzHGuMbc~)p}FaAb|dlYFkM63TxKo? z=3QTLW(s#6eje>?zJfCmLQs+oRM$UmH_ZrYLoq>s3}RR>gR- zI=PxXKe>E*a{lt-ax$M9Q#RXl>ToV)7{p1`?RN*m{?^`Tu(#bGZAJZFxYbMID5y&* zM%&6*-JCw$kmOAe@z%o@f;^Tbg>DM2TzMt#zsnt;TOIVCi<_I50Jd}nHymLr+@V{$ z4Wn+of76=i+Fpln<6E1<^RL(&?|P%(xIR-pz|E^|tgNRhEP%0K43w2EwaJSBF+tA0 zD$R;jTF#c)c$Q9P+2v$$Ii4?8S(;~gkycfvO=*llL?x9#5vU*x;v|aqx3?bMxpn8( z&fcisi9-ueXkAv7)>a!+A6VJ;JZ&S{jGY@xK_-F{_uu8}0Vr;)JDdE5mwVM;ypi~Z z3~$Pnoow40AOGd%1+XnF9@|-rg3U|+uwk`yq*a~3AM(ZK-FkzT(MD@qRwgfWnw9HJ zFW32eSxgt%#dv;pIX%6)J|AB%*9&V33zaoS2o$33KaAq2(@pw2!|mJq+k<{0(B@^i zTo;ZxVVirHXnnl;VKcfh_FCA?Q;|QX|L_S?R&=v}uO%VocyA2pCO~4E%bYnmcCKRR zht_&*08<%utSWOi8}5H&HE?rCEiUHf+O^lw0vKC&oIzFDvZ}JY$_l+si{-kQuCnoL zHJ+}nr?XYI0+VZ#msMemK@>IBs#Fk#aTLabZbt}Qr}^b%KAopUsVf6?@bIeziZ_%H z99r^1LI99r|6R9&ZGMs)2@qe3K1ZQ$OKiKuX8P@Q^&?{unl@CTA00a{l*#TD*5A6U zB@nE+cZB*u3Pvg3ua&O#xX1W5H-J#u~8JZSO+_705uM z3LpwiQRdbfAw}SLbpVh;3KUgUUQTAuPsf+zWtx||a+Zz$b}aI;E;+8nJ{kk@!3v-` zf1<&;?inwfO(Brx5g_S4!)Mm-dTPJ|ouY<*d!DONw5ktv1ruu?5^&?`Ph7O@KvdW3 z&^k-4AxAjT)98YAXI~PZ!l_f2C9>qfAA3r6?{XbvY@SOm5gdgLr~(lx5e6!XR1~Q= z3Oh+S=q9_{Tl=F?H|f=V#7YK2v<@=1V9Kg0tIDNS=vV_5tUceo>4#XkmL6#1HrE3v z#+15`@r`^`<{T+lr9Bv#z!UxT~3NvMF>J?t6+J4<3PF9s>KCB&- zES)yO=^AkU|83i~`wBf?hY=>c`t#$?jHi_i*&) z!`p8@xU)AJMNtx{FpyywMs#YmwKgxa@oe(+b20AwIZ;vRiGVEsJ*#1@q(NpZB(bC@dlh5K=*)WE9FcQ1zzjVLv|H-8wqh zy1l=3v_Cr9-#*;m>vxCUq|cwDTUJF?m8CArsu<6vKluFkSKt5a2T#r}r^`IAv^B=K z!;{F)Jtl~={c9qmdxF%c>py@$@S&X6HU2iZJo)F zmX#5jkU<={_c#bna#U2e?(o=#=B=Nj4bFSD%bE?hie!{6mGzFASqRXRka#q7flwj{ zA*B>yAnNABeka)KC&PZcGwd84Y(2hv`1tW^p#Zf zRDrtUSyp9Utf!0Fi?j2Op1yo>dVMioUQN==$#Oi)ri*l)7DZ)Ty~fFfHEIE~3jYKz z0zGzU-H3(Z zSN-sAN%YsOzvWwoTWQ;k%hA0AVyI*k$!-!2`_b;Ov$xZEc(ncYqdO1p?BCwo?RC0g z5XE5xPeD_GPky1N!^@GXod`ax>C3USkBv7nyf=9K8a{&2yE3Dr;jKQloU}U zN5k&kR(y18_{RPH$M<$$zkhh|@Sv9rx=B9_BKF9hT5wy0{T5F>XXsy{g`Gx^YD{p~J z(;_I#Wkg=rHhlwL%bA;W%fch~Mz=pWb7mbyH#(2nn-e_VaCEu{9)t{hh15@nptFPg z4h6Wh!UZ6Q?)Vt3Yr+EWFKt`KUZd)}3Mm35<2bl~Yjk_R|D`wX{OA`RzjpU_C+R2| zL}9FCQ0q`p=BsS6S}(F9Ey{eAu1+q-7uWOa`Fg&{SL?E@j1VFU6{3hDrE5F}7EE1E zHIx`wW9#~6n(H(x)4a;^60Fd5qj_^uQzLT^C0WxQ*czZ&wia$ZEp?>2jNZ8jc9NaP zPd+Bv*3vd`+=V}HzJBp6+lJ$V540Y%3J%9x7ioRlW5W`V&+sGj`rR!lBmfG5b%ZL)e4Q;9%jtYMU1iI% z%9rbWon?T~jUy$4epeTzt}0XM`m`%+0o;?YedK6*AB@Qgyq5*HVUdDb0UIU)lwvt9&gyqMK zS>LH_xkL4C7aK(H=gZEtAu@;1fUCyq4NCB8lYAR_|bUaIiaw zql9Nu#+b4yvLY?30ujS70tBs-K^JcCVWq*C`Y`(XSUU@rfgm5-xSoSCP*i3%Uq5+y z^}SDyKm6=WYg0eOjktx4Z^4HBA*v=GQwHqw97?FXg>M?N>xuAzx*hdd`-pS4KnVjj zJAPay#;bAd?Mp30?B~(oZI?!q$915d0Y3LYZO#CJ%NUyBHPOiLlAxr~61mbKaUq11 zB8h`;Cyb+Dqr22vQ?ns~iUJk(yTiI(QWH$=qu_o^Kh4u)P^5Wrd;dfmb2VPfSNS3> ziV{&+u+4!v?Zs(_VQ_upZX>SWJ>?>#565iz84_;?be5`YKxOJCZnf~Wk90yd016oV z!P)5ZB}c6|7e&@jd8Zqvwar!9ITg4G0;!AhL5%2Oy#Us`b!;A~EToW9h>a3}5HbkD zI-jnEM3j2l=>8GJU7y0xO{%;o4|hksZXAYEHisUP_?#3dKc#;Wp(a&Wfa4&HiLTvc z>80K214NVDB1}|y8>%l1BOkr zvs4tQ$zuYzl{Q7C^P-G4X$`0W=oswh6NnEIBvh z!zDxh8f~(|%oo|ymsg)1Urv{KR%oN4 z-q6j{+;^hZNY6Q0)mCL&)`@Z z$eTL3vmWr;J9tg74&u3+dURpkjEI==#Jfw`nMi$l=J!{$PXDO!S?zer%4B7AdbM1y zi|H~wyP6LNNgOIA1qzS25kMeHfkI-aBq9i5g+M9m<5)mYme0Zo%J)RZ^lxWs3BO#wUS!b zgXBP-F3A}ig4Uj%X>F5np#&&9s7=WFvlv~T*wSk60MJ=O6MQ@jw@ify8VU;*4djKH zEwd~yW~==CdJzRGP(s#Q@eu$(00x0jN<@K5V%6(}ojB;kK@zDr3XBp0(GUUc+AVIL zeNm65c|@Nv#x=vVf`uni+JYil902MaA&g_;Zo27Rb$HMFe~Pyacy4w|Y~XsgEd|+B zSY4c_IxZ_?rzSC-qV$RG=tGQq++#B}s#^MI^)xz219gAazSTweRzsW5yJ@z}!CGrk zgSHx>sHzI{!YorEB?!R!+yw+c1f^sg%1#n&b!{gJ;waeJ>K^WG?QL)MJ8|7IyvY)} zX_JQ5B^qn3Ha5%ke3d;r84EmJu8UC{GNq?1_#*li2B$UtI0A}xPKD{> zq(;n*xcFi%8i1nG0!39Btji;{`5+?HlD2^op_03!-s|`F?jP+uxV>|@yFKjpf*=Hk z7=LR&7Eu@ji&eHaJkQJOa#;`)Es%=@L^dlibOGKN05_+@JjaIh zTR_ts;%`B_!3mUzQbM4_pcftNbieqUDa73Y1g=CHG*zm7f|pZ4We} zcyWIH;pb;zxRgQ&fm&Ne88L%&|8eVt%Hu{3fjKK-{hMs2{9jic1@<=&mgq_pY!y9G z$pz@@HO~FhqYPL&&fJ{WKQ|%bNE$!GQG}(sH4TiSjh`5yf(`D4mJj`cG)uQ%w%QJ|C(LinJ@cWwGa zn$N<5qB=IMx64Sqe3V&Z&tyU7%YS!lIKIjvwK2ATschig0RCc)0A_x7V(zx}Ikz5Do4 zzq3^z7~XuVN#d9?{l-6TNsTd8RTZVKbhEz~-NLpQC~tQh$)JLEn-WWLTF1~)-UJ@f zH#YBsG!+}UeKQE}SF(MkHvm#xk%QRnCRk_acyg3{G zH<2_V)E_HKGhgLTjxRs>{N#GNUZ-VMA4_b&rODo_EC8HR6V+{njA26_YB zAXyE80ooYjXdA~I)!z{)q{1kWy(Ap=yY&I%0Jf-#>0*2}y?FZa;^cBMo~^RN7^6K8 z4eeF)xdK=KtxaB<#X7&5tWGZ%*VFYnD=S^Afp=lv&3T03OHhh`fWFiaQv^krNs&<9 znM$5J^&)qPEz8cmhP66LR)RorAeTHj?^ z8_S-!*JdP%k5k;XtY2%lf}DyWwB$|O@g$521)yXYkXved0RGvLgsoV6Jn0&H-31Ns zLn7tz^h@(GYmEVI47rt3SF1FAdOCe}x_J6>I-X`}sf}rLm=a-G$^w3hNUm;1GxIMTbM2i`uMu`r&X%_+4m&Pf@B`h*>A(!5%x zIiWCP%sS21X)#;ovt@BT&+@YN!frJT3y=+?S?}O&nwgxW2{yT!vsXjwJZ+tN z66o@-gfb?&mOH|0Q#H`7T+{%M9u~+r!i* zeI=IJ9Vp8Im$McZowy0Hl$3xK_nz(D1kT9ln~p4TPQ3}fZfh=MuSfxXPbgUz?a->X z1b9<+l}_u?0mWJG>N(V`uhfD&wD$lVSV8M?tTk3wkeAhJUA#EIes*?turun!y)cM| z{hcqoet)u9Rh5n-HDBauQ5gf!RHTtzmk~&SwUujQio#@NmE}6ms~oGUY&v7Sm!kB< zQs<2YM@T6u7_$a0CoWgqvOX(AWTNw-f=55<({yYDAvjNV5=ceISQ4GV+_Ia8yEWy& z&Rdb+xrq~m!CYqX{` z+F0WgEyswtvHQ*rL;ywA64!9uzy%^vZUQXw^p^1tzQu?v8(Y8$HVx3NC^*+lu8{d` z+6=_6?0tZXqz%YnOctR8?{mqWHt?dZb2QpnD+HndK#ZfH z*XaO2R-{oFhe5Q}8)>6^o!*-d7PDoRmzA*%E7BM;_)C(`*9Rt*m6*7a6C(5-UqhEE_F@4jut8ILcZ^yq5T$Rid=4>r(`F zTQ^kJQ{e7~Y>@0_&)`#S&P&-^x+5u>57fSC!S}Sevbi&9`U>TpY*$U~W82v}HcF_Z zNW$P?dw8_Jo5Wp2taKHqFbu+Be>)1|es`d?rq%t8f2;+8s0}RF`Qh%FF=jklEz@G1 zm(KYUwc>Tg8ISL~Q50=#OYOOuG%l0g^_7VByDaT-3%S{bLYY+aS+6goJ~vqxmhb?7 zsg-iD9#l%kymRqjg~9w9LXdvbboi)!4>Y51$uD>&)ydf+q76W!zqac<-C8lGHX|45d{DX*q+XD@V$7k0cJv%=iuT;}FZg|%TQ~VaAVBMD8n>An$ zzFn^^rJi(qmT!Wub1~)x(JyNY#I~i?h=kKMPN6-xc94oC6mAF(p)u$P*0BX#1^u$Q z?6Z+BIV69_md1Oa(!zPHdzF#`1Vj`{)U~g;*XeeXzHBz&H@6Q|5WsKPRsO?&MuYWm z(2bgYx8_(rPws7$i#)Yr5m2?Uv|q+n>g$}oyMXJwqmMK%`UUgO)_S`nt+QU<;9w+D zto4+|Cf0VpdeGjI61i=!6CC@ub&Z`Nr-HEV8fCu z!4klY;Ds&iydXfxfNTS{?1g0*Hf+GMH}Xa>40vO}E6b!{FGxa!C{k3wF={&^#d@Y4Xg0p0$rjK5|IXyS}&{S_g!GqT>@QFMb5Rie@#Iiw1Oyl6|F?23G( z8tc+H8V*qVC~XbCoz3n-P_nVEFmJSuv=4<`d>AqSP8qrV4ywZ|c?Wjzs;iZ1j%LY( z-ftVZ2g~fq3qEvdxwM{_9k&L6908Cnp_&zQcvgQC(lnle0qGbC|8wKirhP5vlN^#io!zx5CK`@;#QBo zbjYS4k}=5Fk;h`iouiMQf=+=u2CvWbj>9c26)|$bBJ3m+~ME zM?*)EcDUw4f9Hn>B%9M8o(!R(#h)YN)A|?{@`;|HJMk3r}O7W(~C)2R#Mu5 z^fvVO%BiKhBDYFJq8B_;pM;Ci>X(fPI)F!rvJfMc;xxF&g9KN~MLSMUxLj0VkJy0- zUYbh?__C(YWJaZq7=z$$+XM=7w=%u|P?G&QOlTMa&@t)GQ1cx z5IC@kzZJhs2di>LeIzvVD>VYJ2A5@nhzVy|%DY9v8S575)<*Z*=5Rdhb&EVr5+YIx z&u6O-pB|i?KR-QRO%_!n73XYo*d6tI+Z&^9Ar$HPa;-H?7Zrgihafqx%^E0-O-*nL zypW541&r#uK`XS_+%rn-+r}r5xB^H>zc}{^JX8z(zW5Kc=9)yzXjMk6)ZM>TI!Y)>V@Vu`z)0p#R|3^=n(hJWE#V^2O2l zk3M?7D%En;tjfkk_MRzi0h}TeZt05v9;tE(y90p4JP{(#)UiT47II#AtNz^zTOw?- z7p2HLA`k#a6iKqTw_huI_TnWik3gy5ZZig?kmtl0AoC{HM#e57ba#I|7$zcN%yfG( zt0a&Wd1t;_Z;kp%!hxWX#83mlpjX`7+5FO-y+Nmzw znE$-P>{IGKZV0FZzbW2Jj|C=*ae}$Fgr;cU7;wf@!FxqE9u>E5j(+8<`@j0N2XEcl z8}`RplEIY^kq&#EQ9m!TL0~~C^y$IN)A@8!E!Pc7 zZHJx*_Kmcz4_E-e_h$#U=JIel7kS6`Pr)+@MJoUT7Ww~|#oQ-yeDKN{>vntFJJ;^q zyZ83nU)jHX8v&H8=O-_yngh^p{H@;tWC+aL2SE7${_%guIRDH4!GB6g0mx9~BoZQK z{4^IBcs*`EM+8xr5VLRG-QdMJ290>zWXxow5TZ;`od4q-^HdCb+0Cu~H{QPa?f2e( z`_AoN(NB}skR44502p${7!f6cWf@NsZssjDN-tN{i{tYrFApBw`e{lQmy{)aSLe>(vx=11Jy~AOl1ryXHIo>fip) zOyu@|{!f3eZsgzod;dL%43aML1T-f!M`Z#610n)n$U=8enrB5vtQgJ{@RiD+TR;?hi0g_R8lD^wXEt=N-2cM)1t^a#TjH2bbIXa&`esO$ob~+x8hP@GEyw~a6+!>7rMZdE=Pxy*6rL;3MZXSVEqjV`F zAslQNocfAYTPx3luINv`_UN=lgqRDo4-r^Y3+r|JH}>}K-n)PM?*0ASw>zCK0&1Ygv~{Rse{MgC#bLiET|V(7*rN{|%4^(*Nim{Pu7C7ylzAUFd8frx)iK#(46iY=Rg9qIF6kK`rX5@{K(8jsm{2t6oNDtGo$~MkF!FmAx+Zp z*4EAaTMyoP`^Mh>*49p56c*~MwFOyeC7ZgbORW?#4#=TJZw%Z-0HA@$5c{|O%YO)f zRL>EJde>2FWZ>FeS#S}9kLf)DUtVoRt3E<=Nx)X|+&hCl((qv;At5rsS&@tJptFB% zb8|FKlMH~Wx|+<-UL3#t*^`6Q^92FyZuY)%_ePSWLoK<;0MMSZjzn5ZsaKVpubRoc zK0KXF7PEeLm?oJJ>1fcuu{9d@j zBy6M^l}Nl;ySUX{b^p%YU;nqhbNkNS(Z<-#j3h6k26?BX)UuIv1*8BOSb8%+-X^w7 zDv}1$KngShL)1X^0?R3-T_gn51S~3+vtZ6bKETPVOVvfewNqzK4~94;a&tn+(m`aEwiwv{F(60iYA; zAlZ@GCIWDj)?l45O@JIoqn3mWNfC;8Y`r72cT%EE$fX1#MxIzO%udb4Fb9u`K@8a+ z^rKX4i@qjR%lcxvyqH%PvvM*kJGoe{n#RmKauL2g)De)77(>B;3zi6;36TgM;H}8q zUPS8A-Gxi)IF<=sC|sU{20?QND6I!1M&}4%q}Du*eRc}nHCkW$x(B(3k#D;;YpR`a zhXBm1&k$JwbDeF>=yp?M)Ii)M5}mDyKx}Q&M#2!(n#+p18dA*8j?!L8LTcBg8#IB^ zq_p;Y#*i6yH+IYPil|o)aY6(H&Uunhk&8h$9rd%_&A~>$XPSP^v9D#Ls>T#TK$G!9 zG1falhXn{pI5r~6h_y4T;MzQ6-zL~{h+d)SLop)&awe_>Tak}{!BN|^Q22<;3U{o@ zy^pDZz)3cNHtzw@3YhjyWj4U_$k0ej#Wpzh%Y5>w^=H3iFJVprx*f2BZVtw-8{IVa zEC9|}nq(V;?y#2)duiS1G+~M0{^UkSXcQc?gcX^{1RM6Uoz3pvPXFHCcE8)tk{kdV z+02*AlZ*L$RoCI5T~}WA1p=ZV-L3*C;#&_u3LjWIl3t3oT=WvVfuVX4@w}6oE6)LJ zi?(;x9D{or$4~s1dd*^P);sM0WRgl6hyx4hJ7_0ELLx27wfO{TSiDuMk>q(V-0}kp zV{j3Opixv+a%XO0`0s%&YG)siw_F{~&Eakl-9rg=N zfDE@sox3-NZ{OX%dvmAP85m!$ZmQ$+$@8Q0$*imzB{lg-5CO@a{SJ z4pj7a?ed)t&*ACl1{HZ|fI|b2D+Gb{$9>QZZ}_l+ZY10PYfE-4YbHhMxxrcw?aiPG zO^jgx@)tnw{)U7Lx=(}z0hvE}wPy?E4h;mJ)m^chG&EAJYdM*(UmTrZ+@9oVk%**Q z^tQ)4zxHlD=yX4Maaz@KJS=)$W@AVoBGt+H?q;`pEeka-8 z=wYyJ#HXW zkv%{Zz`trXN`(4l6kCR0qO^?PLg(lC5({{KGM@>3tx>A+3qQPAgBNZW@mPmQ1DR38 z+P%lt=K|lM)$!4txumX(eIv8zniY1$mo`BwQlJ-(ING1`dc3dTkzX`(u$h z;hpwvtUa*hjpREDsiUQUqdG*_4y+J=g#3Lt%@h(oA#kRMvOZlH;B3)-MuTDiy>IUH zT*x)s4=P1 zhYxTj1m{VTrNTz)M6_7XfA-1K?|ty}$-!hgt5&r!*um$Bm+dTRxC;an-f^*9>UkLA z8w_q8xZ@tezFwC9C;@|iE}4#`JJ1**NOq9Zh$kXeu!h#PTaXiAfB<`Nz@(7=wOkfC zW8pT8jgyr;9Q^^gc*nNRxXxRRqIA+hbzSvuSGtNtJVg)CBnwEbatDB0f`gH5vA0_ zm`LxbMnJRAx7(MsI^ySj;`6@Hufg4R>{UhOjxhhLrF;kgS;!YTc5#V?*04moCvlfp z)HWz3)U_@XwJ4j}vOYMSB2(*fHC^;}H+$|VR_3==nPZ}w`si$ac)B<`TOFJ(o*ysH zChN((TCSU_(Nbx1{FjG;8j?qepZK6}zsVpXt_+CU$N_~Q@X;JV_w63hViB$J1tGk( zMZ8e|hzlX{R=2(6t7X<-={2n6hX#4ZZ7UiZIzgn_$cwRsC}0ROqMlgO!{G;KhQP(; z8eC3>A;&afManz5=oM+NlMK4~xZm9z_BRH-A}g{qOGL_$`Aci108wj7gg`{CwbEn_ zq@88X5OwgqW1CD4+eug5IDrUt4GLBGFuc;=vRAXA9F5Vy5t|VWSP*-mh~UhPXR*4h`9J-cWy z66mXzzYjZT04xt|rAaZ1!b427^m}$mol79IP%TqDvbyD$E6DX~f z2Cb!3NZQ|GkWZHyX!Qo0BbB|LrQmvdN6#C0@B77>iNN6+9J{omC;|Y|7E&0ArNt|d zR$41^|Fl-IN_1=!H={Y3CJmt7Pfv0$X%4p>0wmvZ>{X9;ei|SkYTGvGD?C2rwCX>; zt)TO*Q-f~L6T!NjWIW2hdjHzDzxLLbZtwRy0|PMi_uj~+s>`aWl$JjCZq~^;PehU> zdFsx1?jDe^SS(jrTn6ZJK$jc}{eD(5f*0$Wekd4Da!JF;ig_)lKl{^Dfv z@??58UCkEds%&bhv<3uX92v4AOSi8* zesM8fRI^pHt{E86qDQB=uJKl`#UfQApB-Wtsb?3zK>{Wz)4{_+3(J|IKpuyf3<(aZ|bk|8vWdj9h8^C%5Ylr@lQkz6Za+|$K+52m?Q zJ4#ZxON`Bu3b`-?dNJ*d4ijKmFkreMN^3-6gkUU9ST`5_PR{M|tJKJ5wwRt?9R2Z6 zKKc2R(}UCHbWyD<*)+zC5ollxIm1M-EEByV+1}{fxiS34+k0={M$Sc^=A7|v-o1T& z>(=h*#mPLoSPO;0=QA6|4ql=Ypz^Y!a-}%db z^{++SpgkZ^EBXKY-~Z%K{`v3e`HS1z{r~-c`EMt)#gk`;=hOMRtgEJ3t*hg+>HCkK zJbrfg{NVU+{zw0nBQ3U{vDk4Q%sW36Hk@ajj|Mc+u<>~6>$?9aX zT&xqgg7R*kG{)ihcffUM6{5dnbIAfag#1BA{ZIiHm;PiK?ma&y#}h>9`B zIcMB5C=*BuL4&r<0#U}-`xbym25=a;q%JNCV;18+9j%mBrb(wH-53KLpxs6;FVXul zb^ZRvdmSOMB3u3T-M#7IW5{!4U9_iz+XgrQL`23pGR{Skq&IK~g7&Gk-5s1n`8wS zDdQXfv{sfi4VhonKw$x~buj&73N;WZ)C$1dpaB+oZRzv(uEd7`M2*sABd3erAaE%O4m}CjcRJu04PmbqqE%z_VgbYkGJFHNUS}@O>eEN zWnBX4Kx4)&$uDK45;Nr(N>mu~H?t13&xu$N62Rn;h^LWC3P7+{R$Dc>9x5B4`6 z-rDIFJp)>*>Po4qle3+TLMc7$XG&|Opq8p>)M70!X615SuPdx-8G=g$urpP>8`+x4 z-4bm>ZLPJ|O4(jZZFkL6+IHCTHz0QO2njduf0?H`D>`|npB3FCD@2kx`EC>22{#w1 zNHdXSNtSbwAmczpB(+wmsRiJ-jek5#2hYA=(v0Az;``_jfmLZf_5|gG30W zq}EDs{_xiJcrdtF)ODkXKq*}}x@^>BUj6eQe0+kabXiMATE#t?BI0X|i$k$QyPuZL zwNgqp1Z1tXCpo^_bjjLk{FR3T>bvwOxXdd7L03nJm9|uV`{_ z6km%m^4i;n={|W)0FV~ltkW-g!>s6uH0McbBpcDTpo5cfWQ;M6%$=cOjH*_~9=y^l z*zO;T)p)3KxRxRSlbCDI1dDS}(Rdw1Lu$b>%f$9Ze|ux2SM<^(Gn0`7=e?qribR@0 zP!t^Dt2Z2oGf`v(=Ny1I<3-jHTxhLdt(#>@RyAsO+?~#=iv_pGvPQ~6I69*pqhQ#x zEr+kR-&rI=JO<;6f9-(EEA!Y$+b7Hd{aXo5a5lJ`7QG}ZM3Nf!+k4}N*iO)y?Mw#* z0IiirT-)}yxRc168}J}TS8K8QB@ml5AqyEZ@HW~VxgNxY!0;jGEERm%?F_p8Zl`D5 zY4Z(Xd(5J@J|JjseA%Z(c6X21;d&5xlR=$xk$K3xk!ye?!`A?Jn)j{Ag#SX1WMY>bsQPCngwHGNBn0m5T$^9bn422=Gx>~ zLK8`;t6ELw>+|Vi*y|=-xCA@JD}TdBY}c>m5h7$P6)6!dSB=lY#)S=rR zXDr48PMpDjrB6iTO;A+Q)*yb<_(~iI` zDQXtS%gcF?3747Jv<%_vTl)N3FizrTL02~s|Ey3ip&^16Q%=!an!*k&&>@n zcMYGScX~%Dsv1=_`h2=RJX>7MtFn^1RqY`}6dqd_L_4?~uYJTNzxKwx^2%k&j^I2o z>xO8LBGE@rW-HBJfxoJJLXN=c@Jk%#8SBcto-b+y$qq6HEvZ8YgICClKLbFHoTG39 zHD;^w+0n(iDo6dS-${y0BneN2N&K3kt2v#Gq|{ZTnnu@BRkf-bS=G93RMn_PYNfSO zua!PT(3%=a>q^d7)y2G8tW1rZ0%X!SXl^b%b8*CHMa8eV+9fG(zk1omc#qKIJFX1O zLXIc;i7^#lwR{m+@l6&TGpIK!?OO;5y-Q$#;EkEE+tefs`mB?Sem5C)vtc(I^|F2^ z9dz@JLDB1^gHB$grd(zBMQOdR<+`jE>w2-S=8LMXl~lAUo5i|WteVxjDQjg;*44fM z7%kbzj#Q+St{PQVvZ__Bl$}xU#y$b~F&oj@(r>t5zFH5hCvdeI58Cog?SuQA`(K;1 zSNb?%=*QLH=2sGHu9!RH5gge1?3Jnn00_*uuh%~I?1q?ZH@AqJA>VEcYD;i zwl&z@7!3QJZl0z|!Wn0bqpRByks>9PEURW!R%g@2$;IsWVs$ZF9iA;s+O=x*VpXkc zr3^x`ZKk~2W6I)Ek=CTh%)oX-j{qo|mK2Ph*cyUn=U?ne*BY<4?cczj<}Rc)l!$0E*q_t zrQ@r(6YZP$0ua>Yc3qqezKm_(`375uZ~iKN#&^7)-fy5?;^^y*=^fJ(Kl8=b6LhWj z02Ur@uFnN4vSipzwuZ&+>!Z6j2VZ+|{hfRJH+QzXMK?_{Ga=&*!s?KjmP%gVs`hs` zZ|n?z`tia0kB>ioe$Gx;M5J|7X$XgdxKP0jF0)~DgjNA?^(Eopa}I880`4~m1TUrH zu8{B7W=TK$D=*XR)y3dzZ1(3-_qD%W{?jXLW1^Ut@&LpT6VCIL4}0nEMsa^{{H-tF z{Q6rr-@0|JSM<$X*)Oz6e_ts}1?QZxckZQoTbp~kFaPxYr$7AgkTV2W=@n=|rL^b1 z_=a2~l8Xf?Xfxqlb7%35H~a=eZ@ySw;Oa+&sQ~sf9u+Ax9BAzVJ^T59oGP_GhN=vM*ySb8RJD(BqHs1`h#A# zlO=+)AM!)f9zfJou4y-nA|n@9Mn~&-=KzpIyair$ej#W4U(k>vBKC9a3y2Jauws2}v-{4yonLw9?(J*WJf)4d z)yQUDtybl7S*|Z;%k$ZCu_~AAx>0ugKVyi1St|OSY|t$>2AxsA*U37aypyH5;DR$d zNNLpHc=v&tE?4tqwJznll8w|-lOk;){xP%^yu90jjoDP;yI1_&bo|1$_VxSw>Zqic zmK4885#eL>^Ck2A=UrGkh4Wd9Zq=9L=`vsyBO}guB3Q4JZf$h#?~Q)>D|a65-}IE$ zT9esvLqe!M(;hmGnrSXll62_uPa%bW~opCCqH<@;!S+j2GOKT&28CH zUf}v)e=#CcOBgQa%i>l%ipWpx{r!s(@y}Vgqj!991n1TQnu)`lbuuyRrP~|%!&_Tl zxwkjy4qT59G_sz|&p$mn`tZ}^rw7xcv*q!{(o8N}*LH4#nVnz~zno#3uq;c4-O1+g ze0SWvvDLeEZTQapz3mMc_J*8s04&mccf9?TyR)BvdVF}coUW>}l1eeHHMla1TWK`i z&C(wLL109P(1ZU4hnKp<9(nO>Q>*mXTH`yE(H@7>dv(>lX)k?`hZDkF7S&F7= zG;;?!V02S%%tkB!?dG6GMOpx)HyMO-^{Zhts;d}W^`1c8cF%20d!R2ETz&R(FU56U zh`pN&?E_;iFz^@lUX%i)ay!XMStm?dLJ}K(%hH{(Z1>p-v9H{q$22LNcFrz z;Lwj5HQ&-3T<{AL-2P~(Ewjj&1KgXU-=e}8a>nzV4?5|?{hfO^Hv8R8!T(Nu4FAW0p+Ra=6pOH z4Z4GrWdJCI*c}hAjeF0I=4rC#98tNJD-4SSh`cpN2NCauOGmwtLmchTt3reBZopnA z>~#>_Kw!AkcB{Q)UtQq(MM)m51hE|#ysB(Mb_fvxL2%3x-t8p&yBpWHMp=^iW1QC2 z>gDm|$-(sCba^&iPZxDrOFPBNrmq3ooM!S~ngEFu5Nc2gr6M8_g7v%eCkK=F=8KJf znTQk-vn1Od4fl379zDNE6LUz2fepDLP^3)}yl~qtMSr6qS@;=gO#i^JL2W`pOipUG zSbDm~lz#0$`a(Il&(`_$+816&WB02sbOHhZL&i8u6JBIu)GvCST!_Rt;f<`zx;&k( zFBau&SuaajH@Z=zb(FROL_a?c{DHw1`d|!(($FX>Yq?m->AX6dl_!%$S(i#H01!Os z6~*SL+s)HVa3+udE%4dY8$x2%q*z=O;V@aPnh*h!)^%0Org<|_iL70`WtS{*OkM4| z@eCwetIN%pqz!;8MqT|PCLDpT;Kf&I{Hhy4@y-};oH2%J!UbpMcs=uwN;XZis;X6` zszxcLr4?uog$JM0XagrK7kD*7S}RSBRAsH#m7K4uMmADOvkWt{B}o|P$c^rcn$IJA zaIB#%a>zMu0gP9pZN&zX;a22qL4ul%|M!fxV z+vgEZ_WsC%^lhg>JbTEz?nJ>;&TETsd`n<;0CJM;{87tVsI`9n;>GX$&OiCXKm5bx za`D=Yv)k8}<|~!6R_*8hp9E5%Ws4602n7)y9UZ@T`Le1i3-|d&jdzIig*u&nUf$iS#X`c|iNRX2SQWpm0FdDJyP zG?@Fc6Mo5BDDll8&hPHuz5n%Z{L<~a_q)A*mgU|+{kg>2 zTVl87kY9{fWm%ILT9~>&5r;r&Y9y7lDr;FaG7*U;VgQLqk|Z5;vwkP(WJ#Lxq>{wZ z9^KU*{eh11?()(6Uwd*F%TqHKG2Q6p=Dck%iCCq|x~Ur_C80&;6|EE9u;L*6pHCNcSt}}~1nq(@ zH-XJL&Q8+MOSVzXX~Mdh7<9AoAiuWR-5w8$G`DV`l8e>)e70Pyo5l|42;OD{t3c06 z{xt!ndDk7Y7>-}FP)S^`*Wdr%_q39~^h@8|+1zYxUrSf}@1zK@7iBYoH?Bb|P!*{f z44Fw0a^xxU1Xv0@0iGaBfD1qlfEwuF;NbY=bZhem4<0;x@bInc*RS{cgQ6&2H$CpN z#2R$qLhsN7E2BY6(h{|VBsUFBgv@lF5TKG&HF~~mK0UnX6?~(gD=h&s&Ul_?yW{@d z8>6H1MOi6DG!u1M%ErQpK$A&ef+x8f`D~^i07qL)8xQgu+uhsO`uA^cbn}imj@iuA zI-e~MPZ#r5Rno7e)qwCzcUcrC*GTvXOowwv&p=y z&B+m(e9_BWZ#PRf(pxTF8dB&kU+N&J&fu#?e*Ea;rmnyF^>_Dg>;husxT5i@KpP?S zotxf+)1YcnHK+<@30e|zL;>8l`wF+M0=WQ|02729nIO}I2X<7XxrK6FK6>=wvuB@< zf3ms1zkmDo?ft#|jqy0ov#aBBk21Ez2J0&auR;S6sD@;PY7LA7&w-`DQ{X8vfeZm` zM~zlgR(iRTA3Z%(upee=DCcgKT`PS!Dmld7347EfQEpG;PZ zm8_MSS?nWta$33N6QBbQ3;*W;r=u7#P$&{cnFWy>tES$;=SM$d&P9DFU zT+FIv+0>18RYQuV&R|&pz-wV>|g%L9}A?TgM&b6b3meT z(*Qs#(h^h+szfa^p<_~|wmIqyUumus!7xNE4 z{Q0L(pZ@gy_jh-9-+Jq+h$jJdy@;`l6bx>XVE0qi1K||KQ1>n_t@$d71+NXJXhJP z#26w6QM5-h1gfJyG}-oi@Zk3XA~Ivpf*y83svAq{Rz{??UaeQF_3H58@RLtI+1}c` zef!q^yLYz6BgQ%7T!;(+K`VDYt8MQitx%PqCGZq@Vgmu=F_>SOAY=%PtcwOj=ExVl zST`5*>gmDsyT!B3QMbr)HejhpjeI9U6lvbciX!XmZEx01JzbW|vMQ@uDXr{5dWZqr>C#)qLGJybJi9aifr4A-K!z z_(DiDn>#XPF?%@i;s{JCg(4-J32~_sRfAT9h)jT?bWCG6eFdYoeR3_I=$fGojRQ!^ zB&1!I5y+p{?A1>gOG-eR^mH+KC?AmUC}hW+KHeu>#)E@)L`;(uAcZgZAR?ue8D4yJe)gw7eey>?e)8z~#o@U*)JrO@qwvaSuL7mL0C?*y zFy1%}Nxb-^TuWUbAPyWL>BLgy+ZW^D-Yz(V`E6o272@6;H;MS+fp%5y;HnT5x~{a4 zXmmeZG1vBE3IZxMyqHLY6t^BkN5#AI==`O9r5XKdAzZ?)%5`r#r>AZ-Lv=o@5RkJ& zBDk0@zkKJ~?s(iQdPP>S&puxG^$(@ha=n}_r=K35{q*Cb?|=B>!%xp%o-C(}dR-~0 zwLKChLJ>RO_ZB$CzDYXuI(vWkjq@giR6$T2xHB>D?{K0pxIg^ z0Z2_%BVh@eKx)0JnuF8Xv%~XuAKZLv|JtzE&(h3HUa(=o)eRVCm};0=BUMv1^}*@c z`=7jc|MAhs&o4eboSjV8(?z{1rBqsLe*~_(3D+3lrTua(#GKgYcgisZTB7;!<5A7p zv57-aT}lS|vn9}RkK0B&iq&xlhVS$UX747(+Yom`JH^xLOLO-U>5<3@wR$CzP_OFT zk^>qn+)30|99D{#-a-HXil}NNtw<@V8@*UIM;FT%CyOVC=Qp>9yBq!SpqpnIXM!`v zn9=Q*dcDj@Sgo{@vRSOwr_<%}#p2@^XFq##^x}ANGFe~Ds>P})YbljhZj?N@)1N6? zaLZb|9Wi57gq6CGa|<2GQKsDbMsC+4JYpn57;Qo8Qsjesr!<4wj+_b~-M5O!PRF;k z3OWJCcn#o{Qn*~;9bY1FxxrA_C;#Sfu8-qF_fV)gQ5`sCpJ=zMWHEzhQ_ zi)nqnD3`0o0F|1k$1Add!Ty0$v);%##esl+-gq>xFB&rl5Y2N7z5165D{i}67YOwB z925zRBcdPV5)&_W7sv(L{>H*pS~L#zD~y;d+*5?W^9OS}&4Kaz{By^+Q5GVwiiK#q z^UgqPT}zTgb)(8g&6f4qv^?r8``z^9qMEMswQ)5bb_SiITcmlCpj)rhx~!V{s+=v# z^ZDxW%d?N4pPkNDvqimFH>*;vD_J*MO0B`osEVY_Z&WOM4kPSo`bV5dHySM*`>h*Q2^X?bVEuF#kSYgV1>1YToD z$4+?_5=57R!w`!?P)-6eBq^jk!W#DtMOiJQ3YObaK(nMNuSqDpJ9O zK+Y`hDMgLaRijLw$EuWzRkN;C*_cxy$c$a^VV1X?kvZ{d6Ivv0TOR-rj&aShtrOzS zfUmxXyK;`Z8{gpm5Hv*4gpuxUrE3C3y>}N^Wy8b~^J_e%&(R-!RN;;)_o0Dz9-XJ> zQv`0ftaC$rjwT+^jh2w@-HJ}AbI)xmpfymKq$W*DYOHI$s#GeP`I=`5O9amno+gZQ zF1T^nhyb(#MXG6Z)le;EUF*70wNgrfQe>oAN5_X^L@OH?`s@jWzgo}p z=tDObFa-q@1jOcET}>gHC+d&U3Af@a-F_3$@3r-~kTepLq%}5@${HC;!I5+1%z5Sn z0AL34X-!Iz)FhRX${?I9ulv0Z>7x+%hFHlNDWaB#)#?Zmww_AvCfwK9n-8B3JJgDN z!afta(zxAO@8M%a7qI5ejk>UowhIZo>yOcLf|Skwq0T#=PaQ*AJ;7t-;LhH=YcIt#2hK zd;sl32qPO|-lA8r(Lr{A@c#qXvlDZBOSvKd001R)MObuXVRU6WV{&C-bY%cCFflVN zF)}SMGgL7*IyE^uGcqeMF*-0Xw}@)P0000bbVXQnWMOn=I&E)cX=Zr2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + Qk2uWwIAAAAAADYAAAAoAAAApAAAADoBAAABABgAAAAAAAAAAAASCwAAEgsAAAAAAAAAAAAAcDkBbzkC