diff --git a/Build/Configurations/Hexen.cfg b/Build/Configurations/Hexen.cfg index c5d28ccb..5abc4aa2 100644 --- a/Build/Configurations/Hexen.cfg +++ b/Build/Configurations/Hexen.cfg @@ -3686,8 +3686,8 @@ enums { yesno { - 0 = "No"; 1 = "Yes"; + 0 = "No"; } noyes @@ -3704,8 +3704,8 @@ enums offon { - 0 = "Off"; 1 = "On"; + 0 = "Off"; } updown diff --git a/Build/Configurations/Skulltag_DoomHexen.cfg b/Build/Configurations/Skulltag_DoomHexen.cfg index d0aa69cb..8a95a3ce 100644 --- a/Build/Configurations/Skulltag_DoomHexen.cfg +++ b/Build/Configurations/Skulltag_DoomHexen.cfg @@ -6408,8 +6408,8 @@ enums { yesno { - 0 = "No"; 1 = "Yes"; + 0 = "No"; } noyes @@ -6426,8 +6426,8 @@ enums offon { - 0 = "Off"; 1 = "On"; + 0 = "Off"; } updown @@ -6450,8 +6450,8 @@ enums backfront { - 0 = "Back"; 1 = "Front"; + 0 = "Back"; } keys diff --git a/Build/Configurations/ZDoom_DoomHexen.cfg b/Build/Configurations/ZDoom_DoomHexen.cfg index 245bcf60..7672665d 100644 --- a/Build/Configurations/ZDoom_DoomHexen.cfg +++ b/Build/Configurations/ZDoom_DoomHexen.cfg @@ -6393,8 +6393,8 @@ enums { yesno { - 0 = "No"; 1 = "Yes"; + 0 = "No"; } noyes @@ -6411,8 +6411,8 @@ enums offon { - 0 = "Off"; 1 = "On"; + 0 = "Off"; } updown @@ -6435,8 +6435,8 @@ enums backfront { - 0 = "Back"; 1 = "Front"; + 0 = "Back"; } keys diff --git a/Build/Configurations/ZDoom_HereticHexen.cfg b/Build/Configurations/ZDoom_HereticHexen.cfg index 8e3df183..73dc99f3 100644 --- a/Build/Configurations/ZDoom_HereticHexen.cfg +++ b/Build/Configurations/ZDoom_HereticHexen.cfg @@ -5534,8 +5534,8 @@ enums { yesno { - 0 = "No"; 1 = "Yes"; + 0 = "No"; } noyes @@ -5552,8 +5552,8 @@ enums offon { - 0 = "Off"; 1 = "On"; + 0 = "Off"; } updown @@ -5576,8 +5576,8 @@ enums backfront { - 0 = "Back"; 1 = "Front"; + 0 = "Back"; } keys diff --git a/Build/Configurations/ZDoom_Hexen.cfg b/Build/Configurations/ZDoom_Hexen.cfg index 871a0818..c81ebc7f 100644 --- a/Build/Configurations/ZDoom_Hexen.cfg +++ b/Build/Configurations/ZDoom_Hexen.cfg @@ -6490,8 +6490,8 @@ enums { yesno { - 0 = "No"; 1 = "Yes"; + 0 = "No"; } noyes @@ -6508,8 +6508,8 @@ enums offon { - 0 = "Off"; 1 = "On"; + 0 = "Off"; } updown @@ -6532,8 +6532,8 @@ enums backfront { - 0 = "Back"; 1 = "Front"; + 0 = "Back"; } keys diff --git a/Build/Configurations/ZDoom_StrifeHexen.cfg b/Build/Configurations/ZDoom_StrifeHexen.cfg index 047b7555..de3e69d8 100644 --- a/Build/Configurations/ZDoom_StrifeHexen.cfg +++ b/Build/Configurations/ZDoom_StrifeHexen.cfg @@ -5944,8 +5944,8 @@ enums { yesno { - 0 = "No"; 1 = "Yes"; + 0 = "No"; } noyes @@ -5962,8 +5962,8 @@ enums offon { - 0 = "Off"; 1 = "On"; + 0 = "Off"; } updown @@ -5986,8 +5986,8 @@ enums backfront { - 0 = "Back"; 1 = "Front"; + 0 = "Back"; } keys diff --git a/Source/Builder.csproj b/Source/Builder.csproj index bae94b44..8a169a08 100644 --- a/Source/Builder.csproj +++ b/Source/Builder.csproj @@ -68,6 +68,12 @@ + + UserControl + + + ArgumentBox.cs + @@ -118,9 +124,18 @@ + + + + + + + + + @@ -148,7 +163,7 @@ AngleControl.cs - + Component @@ -172,6 +187,12 @@ ColorControl.cs + + Form + + + BitFlagsForm.cs + Form @@ -558,10 +579,18 @@ Designer AngleControl.cs + + Designer + ArgumentBox.cs + Designer ClickableNumericTextbox.cs + + Designer + BitFlagsForm.cs + Designer ThingEditForm.cs diff --git a/Source/Config/ArgumentInfo.cs b/Source/Config/ArgumentInfo.cs index c9285de7..581f04c9 100644 --- a/Source/Config/ArgumentInfo.cs +++ b/Source/Config/ArgumentInfo.cs @@ -48,7 +48,7 @@ namespace CodeImp.DoomBuilder.Config #region ================== Properties public string Title { get { return title; } } - public bool Used { get { return false; } } + public bool Used { get { return used; } } public int Type { get { return type; } } public EnumList Enum { get { return enumlist; } } diff --git a/Source/Controls/ArgumentBox.Designer.cs b/Source/Controls/ArgumentBox.Designer.cs new file mode 100644 index 00000000..268bd774 --- /dev/null +++ b/Source/Controls/ArgumentBox.Designer.cs @@ -0,0 +1,76 @@ +namespace CodeImp.DoomBuilder.Controls +{ + partial class ArgumentBox + { + /// + /// 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 Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.combobox = new System.Windows.Forms.ComboBox(); + this.button = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // combobox + // + this.combobox.Location = new System.Drawing.Point(0, 1); + this.combobox.Name = "combobox"; + this.combobox.Size = new System.Drawing.Size(149, 22); + this.combobox.TabIndex = 0; + this.combobox.Validating += new System.ComponentModel.CancelEventHandler(this.combobox_Validating); + // + // button + // + this.button.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.button.Image = global::CodeImp.DoomBuilder.Properties.Resources.treeview; + this.button.ImageAlign = System.Drawing.ContentAlignment.BottomCenter; + this.button.Location = new System.Drawing.Point(153, 0); + this.button.Name = "button"; + this.button.Padding = new System.Windows.Forms.Padding(0, 0, 1, 2); + this.button.Size = new System.Drawing.Size(30, 24); + this.button.TabIndex = 3; + this.button.UseVisualStyleBackColor = true; + this.button.Visible = false; + this.button.Click += new System.EventHandler(this.button_Click); + // + // ArgumentBox + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.Controls.Add(this.button); + this.Controls.Add(this.combobox); + this.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Name = "ArgumentBox"; + this.Size = new System.Drawing.Size(268, 64); + this.Layout += new System.Windows.Forms.LayoutEventHandler(this.ArgumentBox_Layout); + this.Resize += new System.EventHandler(this.ArgumentBox_Resize); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ComboBox combobox; + private System.Windows.Forms.Button button; + } +} diff --git a/Source/Controls/ArgumentBox.cs b/Source/Controls/ArgumentBox.cs index 08e28955..dd92b1b9 100644 --- a/Source/Controls/ArgumentBox.cs +++ b/Source/Controls/ArgumentBox.cs @@ -21,113 +21,198 @@ using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Text; -using System.Globalization; using System.Windows.Forms; -using CodeImp.DoomBuilder.Actions; -using CodeImp.DoomBuilder.Geometry; -using CodeImp.DoomBuilder.Rendering; -using CodeImp.DoomBuilder.Editing; -using System.Drawing.Drawing2D; +using Microsoft.Win32; using CodeImp.DoomBuilder.Config; +using CodeImp.DoomBuilder.Rendering; +using CodeImp.DoomBuilder.Types; +using System.Globalization; #endregion namespace CodeImp.DoomBuilder.Controls { - public class ArgumentBox : ComboBox + public partial class ArgumentBox : UserControl { - #region ================== Constants - - #endregion - #region ================== Variables - private EnumList enums; - + private TypeHandler typehandler; + #endregion #region ================== Properties #endregion - #region ================== Constructor / Disposer + #region ================== Constructor // Constructor public ArgumentBox() { - this.ImeMode = ImeMode.Off; + // Initialize + InitializeComponent(); } #endregion + + #region ================== Events - #region ================== Methods - - // This sets the value - public void SetValue(int v) + // When control resizes + private void ArgumentBox_Resize(object sender, EventArgs e) { - this.SelectedItem = null; - this.Text = v.ToString(); + if(button.Visible) + combobox.Width = ClientRectangle.Width - button.Width - 2; + else + combobox.Width = ClientRectangle.Width; + + button.Left = ClientRectangle.Width - button.Width; + Height = button.Height; + } + + // When control layout is aplied + private void ArgumentBox_Layout(object sender, LayoutEventArgs e) + { + ArgumentBox_Resize(sender, e); + } + + // When the entered value needs to be validated + private void combobox_Validating(object sender, CancelEventArgs e) + { + string str = combobox.Text.Trim().ToLowerInvariant(); + str = str.TrimStart('+', '-'); + int num; + + // Anything in the box? + if(combobox.Text.Trim().Length > 0) + { + // Prefixed? + if(combobox.Text.Trim().StartsWith("++") || + combobox.Text.Trim().StartsWith("--")) + { + // Try parsing to number + if(!int.TryParse(str, NumberStyles.Integer, CultureInfo.CurrentCulture, out num)) + { + // Invalid relative number + combobox.SelectedItem = null; + combobox.Text = ""; + } + } + else + { + // Set the value. The type handler will validate it + // and make the best possible choice. + typehandler.SetValue(combobox.Text); + combobox.SelectedItem = null; + combobox.Text = typehandler.GetStringValue(); + } + } + } + + // When browse button is clicked + private void button_Click(object sender, EventArgs e) + { + // Browse for a value + typehandler.Browse(this); + combobox.SelectedItem = null; + combobox.Text = typehandler.GetStringValue(); + combobox.Focus(); + combobox.SelectAll(); } - // This fills the box with the given enum - public void SetupEnums(EnumList enumslist) + #endregion + + #region ================== Methods + + // This sets up the control for a specific argument + public void Setup(ArgumentInfo arginfo) { - // Keep old value - int value = this.GetResult(0); - - // Find the enums list - if(enumslist != null) - this.DropDownStyle = ComboBoxStyle.DropDown; - else - this.DropDownStyle = ComboBoxStyle.Simple; + int oldvalue = 0; - // Fill list - this.enums = enumslist; - this.Items.Clear(); - if(enumslist != null) this.Items.AddRange(enumslist.ToArray()); + // Get the original value + if(typehandler != null) oldvalue = typehandler.GetIntValue(); + + // Get the type handler + typehandler = General.Types.GetArgumentHandler(arginfo); + + // Clear combobox + combobox.SelectedItem = null; + combobox.Items.Clear(); + // Check if this supports enumerated options + if(typehandler.IsEnumerable) + { + // Show the combobox + button.Visible = false; + combobox.DropDownStyle = ComboBoxStyle.DropDown; + combobox.Items.AddRange(typehandler.GetEnumList().ToArray()); + } + // Check if browsable + else if(typehandler.IsBrowseable) + { + // Show the button + button.Visible = true; + combobox.DropDownStyle = ComboBoxStyle.Simple; + } + else + { + // Show just a textbox + button.Visible = false; + combobox.DropDownStyle = ComboBoxStyle.Simple; + } + + // Setup layout + ArgumentBox_Resize(this, EventArgs.Empty); + // Re-apply value - this.Text = value.ToString(); - OnValidating(new CancelEventArgs()); + SetValue(oldvalue); + } + + // This sets the value + public void SetValue(int value) + { + typehandler.SetValue(value); + combobox.SelectedItem = null; + combobox.Text = typehandler.GetStringValue(); + combobox_Validating(this, new CancelEventArgs()); + } + + // This clears the value + public void ClearValue() + { + typehandler.SetValue(""); + combobox.SelectedItem = null; + combobox.Text = ""; } // This returns the selected value public int GetResult(int original) { // Strip prefixes - string str = this.Text.Trim().ToLowerInvariant(); + string str = combobox.Text.Trim().ToLowerInvariant(); str = str.TrimStart('+', '-'); int num = original; // Anything in the box? - if(str.Length > 0) + if(combobox.Text.Trim().Length > 0) { - // Enum selected? - if(this.SelectedItem != null) + // Prefixed with ++? + if(combobox.Text.Trim().StartsWith("++")) { - return (this.SelectedItem as EnumItem).GetIntValue(); + // Add number to original + if(!int.TryParse(str, out num)) num = 0; + return original + num; + } + // Prefixed with --? + else if(combobox.Text.Trim().StartsWith("--")) + { + // Subtract number from original + if(!int.TryParse(str, out num)) num = 0; + return original - num; } else { - // Prefixed with ++? - if(this.Text.StartsWith("++")) - { - // Add number to original - if(!int.TryParse(str, out num)) num = 0; - return original + num; - } - // Prefixed with --? - else if(this.Text.StartsWith("--")) - { - // Subtract number from original - if(!int.TryParse(str, out num)) num = 0; - return original - num; - } - else - { - // Return the new value - if(int.TryParse(this.Text, out num)) return num; else return 0; - } + // Return the value + return typehandler.GetIntValue(); } } else @@ -137,77 +222,6 @@ namespace CodeImp.DoomBuilder.Controls } } - // This finds the matching enum by number or title and selects it - // Otherwise, if it is a number, keeps the number or sets it to 0 - protected override void OnValidating(CancelEventArgs e) - { - // Strip prefixes - string str = this.Text.Trim().ToLowerInvariant(); - str = str.TrimStart('+', '-'); - int num = 0; - - // Prefixed? - if(this.Text.Trim().StartsWith("++") || this.Text.Trim().StartsWith("--")) - { - // Try parsing to number - if(!int.TryParse(str, NumberStyles.Integer, CultureInfo.CurrentCulture, out num)) - { - // Invalid relative number - this.SelectedItem = null; - this.Text = ""; - } - } - else - { - // Try parsing to number - if(int.TryParse(str, NumberStyles.Integer, CultureInfo.CurrentCulture, out num)) - { - // Try selecting this enum - EnumItem item = null; - if(enums != null) item = enums.GetByEnumIndex(num.ToString()); - if(item != null) - { - // Select enum - this.SelectedItem = item; - } - } - // Enums available to check? - else if(enums != null) - { - // Try finding the enum by comparing the left part of the string - bool foundmatch = false; - foreach(EnumItem item in enums) - { - // Enum matches? - if(item.ToString().ToLowerInvariant().StartsWith(str)) - { - // Select enum - this.SelectedItem = item; - foundmatch = true; - break; - } - } - - // Not found anything? - if(!foundmatch) - { - // Null the value - this.SelectedItem = null; - this.Text = ""; - } - } - else - { - // Invalid, just zero it - this.SelectedItem = null; - this.Text = ""; - } - } - - // Validate base - base.OnValidating(e); - } - #endregion } } diff --git a/Source/Controls/ArgumentBox.resx b/Source/Controls/ArgumentBox.resx new file mode 100644 index 00000000..1e02acb4 --- /dev/null +++ b/Source/Controls/ArgumentBox.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + \ No newline at end of file diff --git a/Source/Controls/BlaBlaBla.cs b/Source/Controls/BlaBlaBla.cs new file mode 100644 index 00000000..f17caaa9 --- /dev/null +++ b/Source/Controls/BlaBlaBla.cs @@ -0,0 +1,213 @@ + +#region ================== Copyright (c) 2007 Pascal vd Heiden + +/* + * Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com + * This program is released under GNU General Public License + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#endregion + +#region ================== Namespaces + +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Text; +using System.Globalization; +using System.Windows.Forms; +using CodeImp.DoomBuilder.Actions; +using CodeImp.DoomBuilder.Geometry; +using CodeImp.DoomBuilder.Rendering; +using CodeImp.DoomBuilder.Editing; +using System.Drawing.Drawing2D; +using CodeImp.DoomBuilder.Config; + +#endregion + +namespace CodeImp.DoomBuilder.Controls +{ + public class BlaBlaBla : ComboBox + { + #region ================== Constants + + #endregion + + #region ================== Variables + + private EnumList enums; + + #endregion + + #region ================== Properties + + #endregion + + #region ================== Constructor / Disposer + + // Constructor + public BlaBlaBla() + { + this.ImeMode = ImeMode.Off; + } + + #endregion + + #region ================== Methods + + // This sets the value + public void SetValue(int v) + { + this.SelectedItem = null; + this.Text = v.ToString(); + } + + // This fills the box with the given enum + public void SetupEnums(EnumList enumslist) + { + // Keep old value + int value = this.GetResult(0); + + // Find the enums list + if(enumslist != null) + this.DropDownStyle = ComboBoxStyle.DropDown; + else + this.DropDownStyle = ComboBoxStyle.Simple; + + // Fill list + this.enums = enumslist; + this.Items.Clear(); + if(enumslist != null) this.Items.AddRange(enumslist.ToArray()); + + // Re-apply value + this.Text = value.ToString(); + OnValidating(new CancelEventArgs()); + } + + // This returns the selected value + public int GetResult(int original) + { + // Strip prefixes + string str = this.Text.Trim().ToLowerInvariant(); + str = str.TrimStart('+', '-'); + int num = original; + + // Anything in the box? + if(str.Length > 0) + { + // Enum selected? + if(this.SelectedItem != null) + { + return (this.SelectedItem as EnumItem).GetIntValue(); + } + else + { + // Prefixed with ++? + if(this.Text.StartsWith("++")) + { + // Add number to original + if(!int.TryParse(str, out num)) num = 0; + return original + num; + } + // Prefixed with --? + else if(this.Text.StartsWith("--")) + { + // Subtract number from original + if(!int.TryParse(str, out num)) num = 0; + return original - num; + } + else + { + // Return the new value + if(int.TryParse(this.Text, out num)) return num; else return 0; + } + } + } + else + { + // Just return the original + return original; + } + } + + // This finds the matching enum by number or title and selects it + // Otherwise, if it is a number, keeps the number or sets it to 0 + protected override void OnValidating(CancelEventArgs e) + { + // Strip prefixes + string str = this.Text.Trim().ToLowerInvariant(); + str = str.TrimStart('+', '-'); + int num = 0; + + // Prefixed? + if(this.Text.Trim().StartsWith("++") || this.Text.Trim().StartsWith("--")) + { + // Try parsing to number + if(!int.TryParse(str, NumberStyles.Integer, CultureInfo.CurrentCulture, out num)) + { + // Invalid relative number + this.SelectedItem = null; + this.Text = ""; + } + } + else + { + // Try parsing to number + if(int.TryParse(str, NumberStyles.Integer, CultureInfo.CurrentCulture, out num)) + { + // Try selecting this enum + EnumItem item = null; + if(enums != null) item = enums.GetByEnumIndex(num.ToString()); + if(item != null) + { + // Select enum + this.SelectedItem = item; + } + } + // Enums available to check? + else if(enums != null) + { + // Try finding the enum by comparing the left part of the string + bool foundmatch = false; + foreach(EnumItem item in enums) + { + // Enum matches? + if(item.ToString().ToLowerInvariant().StartsWith(str)) + { + // Select enum + this.SelectedItem = item; + foundmatch = true; + break; + } + } + + // Not found anything? + if(!foundmatch) + { + // Null the value + this.SelectedItem = null; + this.Text = ""; + } + } + else + { + // Invalid, just zero it + this.SelectedItem = null; + this.Text = ""; + } + } + + // Validate base + base.OnValidating(e); + } + + #endregion + } +} diff --git a/Source/IO/HexenMapSetIO.cs b/Source/IO/HexenMapSetIO.cs index b1d1190c..a715150d 100644 --- a/Source/IO/HexenMapSetIO.cs +++ b/Source/IO/HexenMapSetIO.cs @@ -89,7 +89,7 @@ namespace CodeImp.DoomBuilder.IO MemoryStream mem; BinaryReader reader; int num, i, tag, z, action, x, y, type, flags; - byte[] args = new byte[Thing.NUM_ARGS]; + int[] args = new int[Thing.NUM_ARGS]; float angle; Thing t; @@ -233,7 +233,7 @@ namespace CodeImp.DoomBuilder.IO Lump linedefslump, sidedefslump; int num, i, offsetx, offsety, v1, v2; int s1, s2, flags, action, sc; - byte[] args = new byte[Linedef.NUM_ARGS]; + int[] args = new int[Linedef.NUM_ARGS]; string thigh, tmid, tlow; Linedef l; Sidedef s; diff --git a/Source/Map/Linedef.cs b/Source/Map/Linedef.cs index 57c30d7e..384b080c 100644 --- a/Source/Map/Linedef.cs +++ b/Source/Map/Linedef.cs @@ -36,7 +36,7 @@ namespace CodeImp.DoomBuilder.Map public const float SIDE_POINT_DISTANCE = 0.001f; public const int NUM_ARGS = 5; - public static readonly byte[] EMPTY_ARGS = new byte[NUM_ARGS]; + public static readonly int[] EMPTY_ARGS = new int[NUM_ARGS]; #endregion @@ -71,7 +71,7 @@ namespace CodeImp.DoomBuilder.Map private int flags; private int action; private int tag; - private byte[] args; + private int[] args; // Additional fields private SortedList fields; @@ -105,7 +105,7 @@ namespace CodeImp.DoomBuilder.Map public float Angle { get { return angle; } } public int AngleDeg { get { return (int)(angle * Angle2D.PIDEG); } } public RectangleF Rect { get { return rect; } } - public byte[] Args { get { return args; } } + public int[] Args { get { return args; } } public SortedList Fields { get { return fields; } } #endregion @@ -121,7 +121,7 @@ namespace CodeImp.DoomBuilder.Map this.start = start; this.end = end; this.updateneeded = true; - this.args = new byte[NUM_ARGS]; + this.args = new int[NUM_ARGS]; // Attach to vertices startvertexlistitem = start.AttachLinedef(this); @@ -194,7 +194,7 @@ namespace CodeImp.DoomBuilder.Map { // Copy properties l.action = action; - l.args = (byte[])args.Clone(); + l.args = (int[])args.Clone(); l.flags = flags; l.tag = tag; l.updateneeded = true; @@ -753,13 +753,13 @@ namespace CodeImp.DoomBuilder.Map #region ================== Changes // This updates all properties - public void Update(int flags, int tag, int action, byte[] args) + public void Update(int flags, int tag, int action, int[] args) { // Apply changes this.flags = flags; this.tag = tag; this.action = action; - this.args = new byte[NUM_ARGS]; + this.args = new int[NUM_ARGS]; args.CopyTo(this.args, 0); this.updateneeded = true; } diff --git a/Source/Map/Thing.cs b/Source/Map/Thing.cs index 3759002b..7ef289ff 100644 --- a/Source/Map/Thing.cs +++ b/Source/Map/Thing.cs @@ -35,7 +35,7 @@ namespace CodeImp.DoomBuilder.Map #region ================== Constants public const int NUM_ARGS = 5; - public static readonly byte[] EMPTY_ARGS = new byte[NUM_ARGS]; + public static readonly int[] EMPTY_ARGS = new int[NUM_ARGS]; #endregion @@ -58,7 +58,7 @@ namespace CodeImp.DoomBuilder.Map private int flags; private int tag; private int action; - private byte[] args; + private int[] args; private int x, y, zoffset; // Configuration @@ -88,7 +88,7 @@ namespace CodeImp.DoomBuilder.Map public int AngleDeg { get { return (int)Angle2D.RadToDeg(angle); } } public int Flags { get { return flags; } set { flags = value; } } public int Action { get { return action; } set { action = value; } } - public byte[] Args { get { return args; } } + public int[] Args { get { return args; } } public bool Selected { get { return selected; } set { selected = value; } } public bool Marked { get { return marked; } set { marked = value; } } public float Size { get { return size; } } @@ -258,7 +258,7 @@ namespace CodeImp.DoomBuilder.Map // This updates all properties // NOTE: This does not update sector! (call DetermineSector) public void Update(int type, int x, int y, int zoffset, float angle, - int flags, int tag, int action, byte[] args) + int flags, int tag, int action, int[] args) { // Apply changes this.type = type; @@ -266,7 +266,7 @@ namespace CodeImp.DoomBuilder.Map this.flags = flags; this.tag = tag; this.action = action; - this.args = new byte[NUM_ARGS]; + this.args = new int[NUM_ARGS]; args.CopyTo(this.args, 0); this.Move(x, y, zoffset); } diff --git a/Source/Types/BoolHandler.cs b/Source/Types/BoolHandler.cs new file mode 100644 index 00000000..8df8fa82 --- /dev/null +++ b/Source/Types/BoolHandler.cs @@ -0,0 +1,101 @@ + +#region ================== Copyright (c) 2007 Pascal vd Heiden + +/* + * Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com + * This program is released under GNU General Public License + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#endregion + +#region ================== Namespaces + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Globalization; +using System.Text; +using CodeImp.DoomBuilder.IO; +using CodeImp.DoomBuilder.Data; +using System.IO; +using System.Diagnostics; + +#endregion + +namespace CodeImp.DoomBuilder.Types +{ + [TypeHandler(3)] + internal class BoolHandler : TypeHandler + { + #region ================== Constants + + #endregion + + #region ================== Variables + + private bool value; + + #endregion + + #region ================== Properties + + public override bool IsCustomType { get { return true; } } + + #endregion + + #region ================== Methods + + public override void SetValue(object value) + { + bool result; + + // already bool? + if(value is bool) + { + this.value = (bool)value; + } + // int or float? + else if((value is int) || (value is float)) + { + // Set directly + this.value = (Math.Abs((float)value) > 0.0001f); + } + // string? + else if(value is string) + { + // Try parsing as string + if(value.ToString().ToLowerInvariant().StartsWith("t")) + this.value = true; + else + this.value = false; + } + else + { + this.value = false; + } + } + + public override object GetValue() + { + return this.value; + } + + public override int GetIntValue() + { + if(this.value) return 1; else return 0; + } + + public override string GetStringValue() + { + return this.value.ToString(); + } + + #endregion + } +} diff --git a/Source/Types/ColorHandler.cs b/Source/Types/ColorHandler.cs new file mode 100644 index 00000000..beb30242 --- /dev/null +++ b/Source/Types/ColorHandler.cs @@ -0,0 +1,122 @@ + +#region ================== Copyright (c) 2007 Pascal vd Heiden + +/* + * Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com + * This program is released under GNU General Public License + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#endregion + +#region ================== Namespaces + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Globalization; +using System.Text; +using CodeImp.DoomBuilder.IO; +using CodeImp.DoomBuilder.Data; +using System.IO; +using System.Diagnostics; +using CodeImp.DoomBuilder.Config; +using CodeImp.DoomBuilder.Windows; +using System.Windows.Forms; +using System.Drawing; + +#endregion + +namespace CodeImp.DoomBuilder.Types +{ + [TypeHandler(10)] + internal class ColorHandler : TypeHandler + { + #region ================== Constants + + #endregion + + #region ================== Variables + + private int value; // XXRRGGBB color + + #endregion + + #region ================== Properties + + public override bool IsBrowseable { get { return true; } } + public override bool IsCustomType { get { return true; } } + + #endregion + + #region ================== Constructor + + #endregion + + #region ================== Methods + + public override void Browse(IWin32Window parent) + { + ColorDialog dialog = new ColorDialog(); + dialog.AllowFullOpen = true; + dialog.AnyColor = true; + dialog.Color = Color.FromArgb((value >> 16) & 0xFF, (value >> 8) & 0xFF, value & 0xFF); + dialog.FullOpen = true; + if(dialog.ShowDialog(parent) == DialogResult.OK) + { + value = dialog.Color.ToArgb() & 0x00FFFFFF; + } + } + + public override void SetValue(object value) + { + int result; + + // Already an int or float? + if(value is int) + { + // Set directly + this.value = (int)value; + } + // String? + else if(value is string) + { + // Try parsing as string + if(int.TryParse(value.ToString(), NumberStyles.HexNumber, CultureInfo.CurrentCulture, out result)) + { + this.value = result; + } + else + { + this.value = 0; + } + } + else + { + this.value = 0; + } + } + + public override object GetValue() + { + return this.value; + } + + public override int GetIntValue() + { + return this.value; + } + + public override string GetStringValue() + { + return this.value.ToString("X6"); + } + + #endregion + } +} diff --git a/Source/Types/EnumBitsHandler.cs b/Source/Types/EnumBitsHandler.cs new file mode 100644 index 00000000..3f54fe6d --- /dev/null +++ b/Source/Types/EnumBitsHandler.cs @@ -0,0 +1,117 @@ + +#region ================== Copyright (c) 2007 Pascal vd Heiden + +/* + * Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com + * This program is released under GNU General Public License + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#endregion + +#region ================== Namespaces + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Globalization; +using System.Text; +using CodeImp.DoomBuilder.IO; +using CodeImp.DoomBuilder.Data; +using System.IO; +using System.Diagnostics; +using CodeImp.DoomBuilder.Config; +using System.Windows.Forms; +using CodeImp.DoomBuilder.Windows; + +#endregion + +namespace CodeImp.DoomBuilder.Types +{ + [TypeHandler(12)] + internal class EnumBitsHandler : TypeHandler + { + #region ================== Constants + + #endregion + + #region ================== Variables + + private EnumList list; + private int value; + + #endregion + + #region ================== Properties + + public override bool IsBrowseable { get { return true; } } + + #endregion + + #region ================== Constructor + + // When set up for an argument + public override void SetupArgument(ArgumentInfo arginfo) + { + base.SetupArgument(arginfo); + + // Keep enum list reference + list = arginfo.Enum; + } + + #endregion + + #region ================== Methods + + public override void Browse(IWin32Window parent) + { + value = BitFlagsForm.ShowDialog(parent, list, value); + } + + public override void SetValue(object value) + { + int result; + + // Already an int? + if(value is int) + { + // Set directly + this.value = (int)value; + } + else + { + // Try parsing as string + if(int.TryParse(value.ToString(), NumberStyles.Integer, CultureInfo.CurrentCulture, out result)) + { + this.value = result; + } + else + { + this.value = 0; + } + } + } + + public override object GetValue() + { + return this.value; + } + + public override int GetIntValue() + { + return this.value; + } + + public override string GetStringValue() + { + return this.value.ToString(); + } + + #endregion + } +} diff --git a/Source/Types/EnumOptionHandler.cs b/Source/Types/EnumOptionHandler.cs index b6075ea7..e10b6859 100644 --- a/Source/Types/EnumOptionHandler.cs +++ b/Source/Types/EnumOptionHandler.cs @@ -47,8 +47,8 @@ namespace CodeImp.DoomBuilder.Types #region ================== Properties - public virtual bool IsBrowseable { get { return true; } } - public virtual bool IsEnumerable { get { return true; } } + public override bool IsBrowseable { get { return true; } } + public override bool IsEnumerable { get { return true; } } #endregion @@ -66,22 +66,43 @@ namespace CodeImp.DoomBuilder.Types #endregion #region ================== Methods - + public override void SetValue(object value) { this.value = null; - - // First try to match the value against the enum values - foreach(EnumItem item in list) + + // Value is an integer? + if(value is int) { - // Matching value? - if(item.Value == value.ToString()) + int intvalue = (int)value; + + // First try to match the value against the enum values + foreach(EnumItem item in list) { - // Set this value - this.value = item; + // Matching value? + if(item.GetIntValue() == intvalue) + { + // Set this value + this.value = item; + } } } - + + // No match found yet? + if(this.value == null) + { + // First try to match the value against the enum values + foreach(EnumItem item in list) + { + // Matching value? + if(item.Value == value.ToString()) + { + // Set this value + this.value = item; + } + } + } + // No match found yet? if(this.value == null) { @@ -105,6 +126,11 @@ namespace CodeImp.DoomBuilder.Types } } + public override object GetValue() + { + return GetIntValue(); + } + public override int GetIntValue() { if(this.value != null) diff --git a/Source/Types/FlatHandler.cs b/Source/Types/FlatHandler.cs new file mode 100644 index 00000000..9c3349f8 --- /dev/null +++ b/Source/Types/FlatHandler.cs @@ -0,0 +1,79 @@ + +#region ================== Copyright (c) 2007 Pascal vd Heiden + +/* + * Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com + * This program is released under GNU General Public License + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#endregion + +#region ================== Namespaces + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Globalization; +using System.Text; +using CodeImp.DoomBuilder.IO; +using CodeImp.DoomBuilder.Data; +using System.IO; +using System.Diagnostics; +using System.Windows.Forms; +using CodeImp.DoomBuilder.Windows; + +#endregion + +namespace CodeImp.DoomBuilder.Types +{ + [TypeHandler(7)] + internal class FlatHandler : TypeHandler + { + #region ================== Constants + + #endregion + + #region ================== Variables + + private string value; + + #endregion + + #region ================== Properties + + public override bool IsBrowseable { get { return true; } } + public override bool IsCustomType { get { return true; } } + + #endregion + + #region ================== Methods + + public override void Browse(IWin32Window parent) + { + this.value = FlatBrowserForm.Browse(parent, this.value); + } + + public override void SetValue(object value) + { + this.value = value.ToString(); + } + + public override object GetValue() + { + return this.value; + } + + public override string GetStringValue() + { + return this.value; + } + + #endregion + } +} diff --git a/Source/Types/FloatHandler.cs b/Source/Types/FloatHandler.cs new file mode 100644 index 00000000..ba8c80ca --- /dev/null +++ b/Source/Types/FloatHandler.cs @@ -0,0 +1,95 @@ + +#region ================== Copyright (c) 2007 Pascal vd Heiden + +/* + * Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com + * This program is released under GNU General Public License + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#endregion + +#region ================== Namespaces + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Globalization; +using System.Text; +using CodeImp.DoomBuilder.IO; +using CodeImp.DoomBuilder.Data; +using System.IO; +using System.Diagnostics; + +#endregion + +namespace CodeImp.DoomBuilder.Types +{ + [TypeHandler(1)] + internal class FloatHandler : TypeHandler + { + #region ================== Constants + + #endregion + + #region ================== Variables + + private float value; + + #endregion + + #region ================== Properties + + public override bool IsCustomType { get { return true; } } + + #endregion + + #region ================== Methods + + public override void SetValue(object value) + { + float result; + + // Already an int or float? + if((value is int) || (value is float)) + { + // Set directly + this.value = (float)value; + } + else + { + // Try parsing as string + if(float.TryParse(value.ToString(), NumberStyles.Float, CultureInfo.CurrentCulture, out result)) + { + this.value = result; + } + else + { + this.value = 0.0f; + } + } + } + + public override object GetValue() + { + return this.value; + } + + public override int GetIntValue() + { + return (int)this.value; + } + + public override string GetStringValue() + { + return this.value.ToString(); + } + + #endregion + } +} diff --git a/Source/Types/IntegerHandler.cs b/Source/Types/IntegerHandler.cs index e8a836f8..83dc873e 100644 --- a/Source/Types/IntegerHandler.cs +++ b/Source/Types/IntegerHandler.cs @@ -58,7 +58,7 @@ namespace CodeImp.DoomBuilder.Types // Already an int or float? if((value is int) || (value is float)) { - // Return the same + // Set directly this.value = (int)value; } else @@ -75,6 +75,11 @@ namespace CodeImp.DoomBuilder.Types } } + public override object GetValue() + { + return this.value; + } + public override int GetIntValue() { return this.value; diff --git a/Source/Types/LinedefTypeHandler.cs b/Source/Types/LinedefTypeHandler.cs new file mode 100644 index 00000000..da900020 --- /dev/null +++ b/Source/Types/LinedefTypeHandler.cs @@ -0,0 +1,108 @@ + +#region ================== Copyright (c) 2007 Pascal vd Heiden + +/* + * Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com + * This program is released under GNU General Public License + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#endregion + +#region ================== Namespaces + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Globalization; +using System.Text; +using CodeImp.DoomBuilder.IO; +using CodeImp.DoomBuilder.Data; +using System.IO; +using System.Diagnostics; +using CodeImp.DoomBuilder.Config; +using CodeImp.DoomBuilder.Windows; +using System.Windows.Forms; + +#endregion + +namespace CodeImp.DoomBuilder.Types +{ + [TypeHandler(4)] + internal class LinedefTypeHandler : TypeHandler + { + #region ================== Constants + + #endregion + + #region ================== Variables + + private int value; + + #endregion + + #region ================== Properties + + public override bool IsBrowseable { get { return true; } } + public override bool IsCustomType { get { return true; } } + + #endregion + + #region ================== Constructor + + #endregion + + #region ================== Methods + + public override void Browse(IWin32Window parent) + { + this.value = ActionBrowserForm.BrowseAction(parent, this.value); + } + + public override void SetValue(object value) + { + int result; + + // Already an int or float? + if((value is int) || (value is float)) + { + // Set directly + this.value = (int)value; + } + else + { + // Try parsing as string + if(int.TryParse(value.ToString(), NumberStyles.Integer, CultureInfo.CurrentCulture, out result)) + { + this.value = result; + } + else + { + this.value = 0; + } + } + } + + public override object GetValue() + { + return this.value; + } + + public override int GetIntValue() + { + return this.value; + } + + public override string GetStringValue() + { + return this.value.ToString(); + } + + #endregion + } +} diff --git a/Source/Types/NullHandler.cs b/Source/Types/NullHandler.cs index 5d2805d3..562434bb 100644 --- a/Source/Types/NullHandler.cs +++ b/Source/Types/NullHandler.cs @@ -53,6 +53,18 @@ namespace CodeImp.DoomBuilder.Types this.value = value; } + public override object GetValue() + { + return this.value.ToString(); + } + + public override int GetIntValue() + { + int result; + if(int.TryParse(this.value.ToString(), out result)) return result; + else return 0; + } + public override string GetStringValue() { return this.value.ToString(); diff --git a/Source/Types/SectorEffectHandler.cs b/Source/Types/SectorEffectHandler.cs new file mode 100644 index 00000000..ef8ab244 --- /dev/null +++ b/Source/Types/SectorEffectHandler.cs @@ -0,0 +1,108 @@ + +#region ================== Copyright (c) 2007 Pascal vd Heiden + +/* + * Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com + * This program is released under GNU General Public License + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#endregion + +#region ================== Namespaces + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Globalization; +using System.Text; +using CodeImp.DoomBuilder.IO; +using CodeImp.DoomBuilder.Data; +using System.IO; +using System.Diagnostics; +using CodeImp.DoomBuilder.Config; +using CodeImp.DoomBuilder.Windows; +using System.Windows.Forms; + +#endregion + +namespace CodeImp.DoomBuilder.Types +{ + [TypeHandler(5)] + internal class SectorEffectHandler : TypeHandler + { + #region ================== Constants + + #endregion + + #region ================== Variables + + private int value; + + #endregion + + #region ================== Properties + + public override bool IsBrowseable { get { return true; } } + public override bool IsCustomType { get { return true; } } + + #endregion + + #region ================== Constructor + + #endregion + + #region ================== Methods + + public override void Browse(IWin32Window parent) + { + this.value = EffectBrowserForm.BrowseEffect(parent, this.value); + } + + public override void SetValue(object value) + { + int result; + + // Already an int or float? + if((value is int) || (value is float)) + { + // Set directly + this.value = (int)value; + } + else + { + // Try parsing as string + if(int.TryParse(value.ToString(), NumberStyles.Integer, CultureInfo.CurrentCulture, out result)) + { + this.value = result; + } + else + { + this.value = 0; + } + } + } + + public override object GetValue() + { + return this.value; + } + + public override int GetIntValue() + { + return this.value; + } + + public override string GetStringValue() + { + return this.value.ToString(); + } + + #endregion + } +} diff --git a/Source/Types/StringHandler.cs b/Source/Types/StringHandler.cs new file mode 100644 index 00000000..54cf2fa3 --- /dev/null +++ b/Source/Types/StringHandler.cs @@ -0,0 +1,78 @@ + +#region ================== Copyright (c) 2007 Pascal vd Heiden + +/* + * Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com + * This program is released under GNU General Public License + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#endregion + +#region ================== Namespaces + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Globalization; +using System.Text; +using CodeImp.DoomBuilder.IO; +using CodeImp.DoomBuilder.Data; +using System.IO; +using System.Diagnostics; + +#endregion + +namespace CodeImp.DoomBuilder.Types +{ + [TypeHandler(2)] + internal class StringHandler : TypeHandler + { + #region ================== Constants + + #endregion + + #region ================== Variables + + private string value; + + #endregion + + #region ================== Properties + + public override bool IsCustomType { get { return true; } } + + #endregion + + #region ================== Methods + + public override void SetValue(object value) + { + this.value = value.ToString(); + } + + public override object GetValue() + { + return this.value; + } + + public override int GetIntValue() + { + int result; + if(int.TryParse(this.value, out result)) return result; + else return 0; + } + + public override string GetStringValue() + { + return this.value; + } + + #endregion + } +} diff --git a/Source/Types/TextureHandler.cs b/Source/Types/TextureHandler.cs new file mode 100644 index 00000000..764cd1b9 --- /dev/null +++ b/Source/Types/TextureHandler.cs @@ -0,0 +1,79 @@ + +#region ================== Copyright (c) 2007 Pascal vd Heiden + +/* + * Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com + * This program is released under GNU General Public License + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#endregion + +#region ================== Namespaces + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Globalization; +using System.Text; +using CodeImp.DoomBuilder.IO; +using CodeImp.DoomBuilder.Data; +using System.IO; +using System.Diagnostics; +using System.Windows.Forms; +using CodeImp.DoomBuilder.Windows; + +#endregion + +namespace CodeImp.DoomBuilder.Types +{ + [TypeHandler(6)] + internal class TextureHandler : TypeHandler + { + #region ================== Constants + + #endregion + + #region ================== Variables + + private string value; + + #endregion + + #region ================== Properties + + public override bool IsBrowseable { get { return true; } } + public override bool IsCustomType { get { return true; } } + + #endregion + + #region ================== Methods + + public override void Browse(IWin32Window parent) + { + this.value = TextureBrowserForm.Browse(parent, this.value); + } + + public override void SetValue(object value) + { + this.value = value.ToString(); + } + + public override object GetValue() + { + return this.value; + } + + public override string GetStringValue() + { + return this.value; + } + + #endregion + } +} diff --git a/Source/Types/TypeHandler.cs b/Source/Types/TypeHandler.cs index 93069739..09c73552 100644 --- a/Source/Types/TypeHandler.cs +++ b/Source/Types/TypeHandler.cs @@ -32,6 +32,10 @@ using CodeImp.DoomBuilder.Config; namespace CodeImp.DoomBuilder.Types { + /// + /// Type Handler base class. A Type Handler takes care of editing, validating and + /// displaying values of different types for UDMF fields and hexen arguments. + /// internal abstract class TypeHandler { #region ================== Constants @@ -62,10 +66,16 @@ namespace CodeImp.DoomBuilder.Types { // Get my attributes object[] attrs = this.GetType().GetCustomAttributes(typeof(TypeHandlerAttribute), false); - TypeHandlerAttribute attr = (attrs[0] as TypeHandlerAttribute); - - // Initialize - this.index = attr.Index; + if(attrs.Length > 0) + { + // Set index from attribute + this.index = (attrs[0] as TypeHandlerAttribute).Index; + } + else + { + // Indexless + this.index = -1; + } } // This sets up the handler for arguments @@ -83,6 +93,10 @@ namespace CodeImp.DoomBuilder.Types // How the value is actually validated and stored is up to the implementation public abstract void SetValue(object value); + // This must return the value as one of the primitive data types + // supported by UDMF: int, string, float or bool + public abstract object GetValue(); + // This must return the value as integer (for arguments) public virtual int GetIntValue() { @@ -93,9 +107,8 @@ namespace CodeImp.DoomBuilder.Types public abstract string GetStringValue(); // This is called when the user presses the browse button - public virtual object Browse(IWin32Window parent) + public virtual void Browse(IWin32Window parent) { - return null; } // This must returns an enum list when IsEnumerable is true diff --git a/Source/Windows/BitFlagsForm.Designer.cs b/Source/Windows/BitFlagsForm.Designer.cs new file mode 100644 index 00000000..1484c09c --- /dev/null +++ b/Source/Windows/BitFlagsForm.Designer.cs @@ -0,0 +1,100 @@ +namespace CodeImp.DoomBuilder.Windows +{ + partial class BitFlagsForm + { + /// + /// 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.options = new CodeImp.DoomBuilder.Controls.CheckboxArrayControl(); + this.cancel = new System.Windows.Forms.Button(); + this.apply = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // options + // + this.options.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.options.AutoScroll = true; + this.options.Columns = 1; + this.options.Location = new System.Drawing.Point(25, 21); + this.options.Name = "options"; + this.options.Size = new System.Drawing.Size(164, 158); + this.options.TabIndex = 0; + // + // cancel + // + this.cancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.cancel.Location = new System.Drawing.Point(106, 198); + this.cancel.Name = "cancel"; + this.cancel.Size = new System.Drawing.Size(91, 25); + this.cancel.TabIndex = 24; + this.cancel.Text = "Cancel"; + this.cancel.UseVisualStyleBackColor = true; + this.cancel.Click += new System.EventHandler(this.cancel_Click); + // + // apply + // + this.apply.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.apply.Location = new System.Drawing.Point(9, 198); + this.apply.Name = "apply"; + this.apply.Size = new System.Drawing.Size(91, 25); + this.apply.TabIndex = 23; + this.apply.Text = "OK"; + this.apply.UseVisualStyleBackColor = true; + this.apply.Click += new System.EventHandler(this.apply_Click); + // + // BitFlagsForm + // + this.AcceptButton = this.apply; + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.CancelButton = this.cancel; + this.ClientSize = new System.Drawing.Size(206, 232); + this.Controls.Add(this.cancel); + this.Controls.Add(this.apply); + this.Controls.Add(this.options); + this.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "BitFlagsForm"; + this.Opacity = 0; + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Options"; + this.ResumeLayout(false); + + } + + #endregion + + private CodeImp.DoomBuilder.Controls.CheckboxArrayControl options; + private System.Windows.Forms.Button cancel; + private System.Windows.Forms.Button apply; + } +} \ No newline at end of file diff --git a/Source/Windows/BitFlagsForm.cs b/Source/Windows/BitFlagsForm.cs new file mode 100644 index 00000000..03423c67 --- /dev/null +++ b/Source/Windows/BitFlagsForm.cs @@ -0,0 +1,179 @@ + +#region ================== Copyright (c) 2007 Pascal vd Heiden + +/* + * Copyright (c) 2007 Pascal vd Heiden, www.codeimp.com + * This program is released under GNU General Public License + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#endregion + +#region ================== Namespaces + +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using CodeImp.DoomBuilder.Map; +using CodeImp.DoomBuilder.Data; +using CodeImp.DoomBuilder.IO; +using System.IO; +using CodeImp.DoomBuilder.Config; +using CodeImp.DoomBuilder.Editing; +using CodeImp.DoomBuilder.Controls; + +#endregion + +namespace CodeImp.DoomBuilder.Windows +{ + public partial class BitFlagsForm : DelayedForm + { + #region ================== Variables + + private bool setup; + private int value; + + #endregion + + #region ================== Properties + + public int Value { get { return value; } } + + #endregion + + #region ================== Constructor + + // Constructor + public BitFlagsForm() + { + // Initialize + InitializeComponent(); + } + + #endregion + + #region ================== Events + + // When a checkbox is clicked + private void box_CheckedChanged(object sender, EventArgs e) + { + if(!setup) + { + // Now setting up + setup = true; + + // Get this checkbox + CheckBox thisbox = (sender as CheckBox); + + // Checking or unchecking? + if(thisbox.Checked) + { + // Go for all other options + foreach(CheckBox b in options.Checkboxes) + { + // Not the same box? + if(b != sender) + { + // Overlapping bit flags? + if(((int)b.Tag & (int)thisbox.Tag) != 0) + { + // Uncheck the other + b.Checked = false; + } + } + } + } + + // Done + setup = false; + } + } + + // Cancel clicked + private void cancel_Click(object sender, EventArgs e) + { + // Close + DialogResult = DialogResult.Cancel; + this.Close(); + } + + // OK clicked + private void apply_Click(object sender, EventArgs e) + { + this.value = 0; + + // Go for all checkboxes to make the final value + foreach(CheckBox b in options.Checkboxes) + if(b.Checked) value |= (int)b.Tag; + + // Done + DialogResult = DialogResult.OK; + this.Close(); + } + + #endregion + + #region ================== Methods + + // Setup from EnumList + public void Setup(EnumList flags, int value) + { + setup = true; + this.value = value; + + // Make a checkbox for each item + foreach(EnumItem item in flags) + { + // Make the checkbox + CheckBox box = options.Add(item.Title, item.GetIntValue()); + + // Bind checking event + box.CheckedChanged += new EventHandler(box_CheckedChanged); + + // Checking the box? + if((value & (int)box.Tag) == (int)box.Tag) + { + box.Checked = true; + + // Go for all other checkboxes + foreach(CheckBox b in options.Checkboxes) + { + // Not the same box? + if(b != box) + { + // Overlapping bit flags? + if(((int)b.Tag & (int)box.Tag) != 0) + { + // Uncheck the other + b.Checked = false; + } + } + } + } + } + + setup = false; + } + + // This shows the dialog + // Returns the flags or the same flags when cancelled + public static int ShowDialog(IWin32Window owner, EnumList flags, int value) + { + BitFlagsForm f = new BitFlagsForm(); + f.Setup(flags, value); + if(f.ShowDialog(owner) == DialogResult.OK) return value = f.Value; + f.Dispose(); + return value; + } + + #endregion + } +} \ No newline at end of file diff --git a/Source/Windows/BitFlagsForm.resx b/Source/Windows/BitFlagsForm.resx new file mode 100644 index 00000000..0520cc06 --- /dev/null +++ b/Source/Windows/BitFlagsForm.resx @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + True + + \ No newline at end of file diff --git a/Source/Windows/LinedefEditForm.Designer.cs b/Source/Windows/LinedefEditForm.Designer.cs index fb4f670d..5ffe0248 100644 --- a/Source/Windows/LinedefEditForm.Designer.cs +++ b/Source/Windows/LinedefEditForm.Designer.cs @@ -50,9 +50,6 @@ namespace CodeImp.DoomBuilder.Windows this.apply = new System.Windows.Forms.Button(); this.actiongroup = new System.Windows.Forms.GroupBox(); this.hexenpanel = new System.Windows.Forms.Panel(); - this.arg2 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); - this.arg1 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); - this.arg0 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); this.arg3 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); this.arg4 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); this.activation = new System.Windows.Forms.ComboBox(); @@ -86,6 +83,9 @@ namespace CodeImp.DoomBuilder.Windows this.frontoffsetx = new CodeImp.DoomBuilder.Controls.NumericTextbox(); this.tabcustom = new System.Windows.Forms.TabPage(); this.fieldslist = new CodeImp.DoomBuilder.Controls.FieldsEditorControl(); + this.arg0 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); + this.arg1 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); + this.arg2 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); label2 = new System.Windows.Forms.Label(); taglabel = new System.Windows.Forms.Label(); label3 = new System.Windows.Forms.Label(); @@ -340,52 +340,21 @@ namespace CodeImp.DoomBuilder.Windows this.hexenpanel.Size = new System.Drawing.Size(505, 132); this.hexenpanel.TabIndex = 13; // - // arg2 - // - this.arg2.FormattingEnabled = true; - this.arg2.ImeMode = System.Windows.Forms.ImeMode.Off; - this.arg2.Location = new System.Drawing.Point(159, 107); - this.arg2.Name = "arg2"; - this.arg2.Size = new System.Drawing.Size(93, 22); - this.arg2.TabIndex = 26; - // - // arg1 - // - this.arg1.FormattingEnabled = true; - this.arg1.ImeMode = System.Windows.Forms.ImeMode.Off; - this.arg1.Location = new System.Drawing.Point(159, 81); - this.arg1.Name = "arg1"; - this.arg1.Size = new System.Drawing.Size(93, 22); - this.arg1.TabIndex = 25; - // - // arg0 - // - this.arg0.FormattingEnabled = true; - this.arg0.ImeMode = System.Windows.Forms.ImeMode.Off; - this.arg0.Location = new System.Drawing.Point(159, 55); - this.arg0.Name = "arg0"; - this.arg0.Size = new System.Drawing.Size(93, 22); - this.arg0.TabIndex = 24; - // // arg3 // - this.arg3.FormattingEnabled = true; - this.arg3.ImeMode = System.Windows.Forms.ImeMode.Off; - this.arg3.Location = new System.Drawing.Point(400, 55); + this.arg3.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arg3.Location = new System.Drawing.Point(400, 53); this.arg3.Name = "arg3"; - this.arg3.Size = new System.Drawing.Size(93, 22); - this.arg3.TabIndex = 23; + this.arg3.Size = new System.Drawing.Size(93, 24); + this.arg3.TabIndex = 28; // // arg4 // - this.arg4.DropDownWidth = 200; - this.arg4.FormattingEnabled = true; - this.arg4.ImeMode = System.Windows.Forms.ImeMode.Off; - this.arg4.Location = new System.Drawing.Point(400, 81); + this.arg4.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arg4.Location = new System.Drawing.Point(400, 79); this.arg4.Name = "arg4"; - this.arg4.Size = new System.Drawing.Size(93, 22); - this.arg4.TabIndex = 22; - this.arg4.TextChanged += new System.EventHandler(this.arg4_TextChanged); + this.arg4.Size = new System.Drawing.Size(93, 24); + this.arg4.TabIndex = 27; // // activation // @@ -750,6 +719,30 @@ namespace CodeImp.DoomBuilder.Windows this.fieldslist.Size = new System.Drawing.Size(511, 417); this.fieldslist.TabIndex = 0; // + // arg0 + // + this.arg0.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arg0.Location = new System.Drawing.Point(159, 53); + this.arg0.Name = "arg0"; + this.arg0.Size = new System.Drawing.Size(93, 24); + this.arg0.TabIndex = 29; + // + // arg1 + // + this.arg1.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arg1.Location = new System.Drawing.Point(159, 79); + this.arg1.Name = "arg1"; + this.arg1.Size = new System.Drawing.Size(93, 24); + this.arg1.TabIndex = 30; + // + // arg2 + // + this.arg2.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arg2.Location = new System.Drawing.Point(159, 105); + this.arg2.Name = "arg2"; + this.arg2.Size = new System.Drawing.Size(93, 24); + this.arg2.TabIndex = 31; + // // LinedefEditForm // this.AcceptButton = this.apply; @@ -832,9 +825,9 @@ namespace CodeImp.DoomBuilder.Windows private CodeImp.DoomBuilder.Controls.FieldsEditorControl fieldslist; private System.Windows.Forms.GroupBox groupBox1; private CodeImp.DoomBuilder.Controls.ArgumentBox arg4; + private CodeImp.DoomBuilder.Controls.ArgumentBox arg3; private CodeImp.DoomBuilder.Controls.ArgumentBox arg2; private CodeImp.DoomBuilder.Controls.ArgumentBox arg1; private CodeImp.DoomBuilder.Controls.ArgumentBox arg0; - private CodeImp.DoomBuilder.Controls.ArgumentBox arg3; } } \ No newline at end of file diff --git a/Source/Windows/LinedefEditForm.cs b/Source/Windows/LinedefEditForm.cs index dc07f14f..bbe69a20 100644 --- a/Source/Windows/LinedefEditForm.cs +++ b/Source/Windows/LinedefEditForm.cs @@ -100,11 +100,10 @@ namespace CodeImp.DoomBuilder.Windows // Action/tags action.Value = fl.Action; tag.Text = fl.Tag.ToString(); - arg0.Text = fl.Args[0].ToString(); - arg1.Text = fl.Args[1].ToString(); - arg2.Text = fl.Args[2].ToString(); - arg3.Text = fl.Args[3].ToString(); - arg4.Text = fl.Args[4].ToString(); + arg0.SetValue(fl.Args[0]); + arg1.SetValue(fl.Args[1]); + arg2.SetValue(fl.Args[2]); + arg3.SetValue(fl.Args[3]); arg4.SetValue(fl.Args[4]); // Front side and back side checkboxes @@ -162,11 +161,11 @@ namespace CodeImp.DoomBuilder.Windows // Action/tags if(l.Action != action.Value) action.Empty = true; if(l.Tag.ToString() != tag.Text) tag.Text = ""; - if(l.Args[0].ToString() != arg0.Text) arg0.Text = ""; - if(l.Args[1].ToString() != arg1.Text) arg1.Text = ""; - if(l.Args[2].ToString() != arg2.Text) arg2.Text = ""; - if(l.Args[3].ToString() != arg3.Text) arg3.Text = ""; - if(l.Args[4].ToString() != arg4.Text) arg4.Text = ""; + if(l.Args[0] != arg0.GetResult(-1)) arg0.ClearValue(); + if(l.Args[1] != arg1.GetResult(-1)) arg1.ClearValue(); + if(l.Args[2] != arg2.GetResult(-1)) arg2.ClearValue(); + if(l.Args[3] != arg3.GetResult(-1)) arg3.ClearValue(); + if(l.Args[4] != arg4.GetResult(-1)) arg4.ClearValue(); // Front side checkbox if((l.Front != null) != frontside.Checked) @@ -262,11 +261,11 @@ namespace CodeImp.DoomBuilder.Windows // Action/tags if(!action.Empty) l.Action = action.Value; l.Tag = tag.GetResult(l.Tag); - l.Args[0] = (byte)arg0.GetResult(l.Args[0]); - l.Args[1] = (byte)arg1.GetResult(l.Args[1]); - l.Args[2] = (byte)arg2.GetResult(l.Args[2]); - l.Args[3] = (byte)arg3.GetResult(l.Args[3]); - l.Args[4] = (byte)arg4.GetResult(l.Args[4]); + l.Args[0] = arg0.GetResult(l.Args[0]); + l.Args[1] = arg1.GetResult(l.Args[1]); + l.Args[2] = arg2.GetResult(l.Args[2]); + l.Args[3] = arg3.GetResult(l.Args[3]); + l.Args[4] = arg4.GetResult(l.Args[4]); // Remove front side? if((l.Front != null) && (frontside.CheckState == CheckState.Unchecked)) @@ -367,11 +366,11 @@ namespace CodeImp.DoomBuilder.Windows if(arg2label.Enabled) arg2.ForeColor = SystemColors.WindowText; else arg2.ForeColor = SystemColors.GrayText; if(arg3label.Enabled) arg3.ForeColor = SystemColors.WindowText; else arg3.ForeColor = SystemColors.GrayText; if(arg4label.Enabled) arg4.ForeColor = SystemColors.WindowText; else arg4.ForeColor = SystemColors.GrayText; - arg0.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[0].Enum); - arg1.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[1].Enum); - arg2.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[2].Enum); - arg3.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[3].Enum); - arg4.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[4].Enum); + arg0.Setup(General.Map.Config.LinedefActions[showaction].Args[0]); + arg1.Setup(General.Map.Config.LinedefActions[showaction].Args[1]); + arg2.Setup(General.Map.Config.LinedefActions[showaction].Args[2]); + arg3.Setup(General.Map.Config.LinedefActions[showaction].Args[3]); + arg4.Setup(General.Map.Config.LinedefActions[showaction].Args[4]); } // Browse Action clicked @@ -379,10 +378,5 @@ namespace CodeImp.DoomBuilder.Windows { action.Value = ActionBrowserForm.BrowseAction(this, action.Value); } - - private void arg4_TextChanged(object sender, EventArgs e) - { - General.WriteLog(arg4.Text); - } } } diff --git a/Source/Windows/ThingEditForm.Designer.cs b/Source/Windows/ThingEditForm.Designer.cs index c7314214..917d97a8 100644 --- a/Source/Windows/ThingEditForm.Designer.cs +++ b/Source/Windows/ThingEditForm.Designer.cs @@ -75,9 +75,9 @@ namespace CodeImp.DoomBuilder.Windows this.apply = new System.Windows.Forms.Button(); this.arg4 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); this.arg3 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); - this.arg2 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); - this.arg1 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); this.arg0 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); + this.arg1 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); + this.arg2 = new CodeImp.DoomBuilder.Controls.ArgumentBox(); groupBox1 = new System.Windows.Forms.GroupBox(); label4 = new System.Windows.Forms.Label(); label3 = new System.Windows.Forms.Label(); @@ -436,9 +436,9 @@ namespace CodeImp.DoomBuilder.Windows this.hexenpanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.hexenpanel.Controls.Add(this.arg0); - this.hexenpanel.Controls.Add(this.arg1); this.hexenpanel.Controls.Add(this.arg2); + this.hexenpanel.Controls.Add(this.arg1); + this.hexenpanel.Controls.Add(this.arg0); this.hexenpanel.Controls.Add(this.arg3); this.hexenpanel.Controls.Add(this.arg4); this.hexenpanel.Controls.Add(this.arg1label); @@ -616,48 +616,43 @@ namespace CodeImp.DoomBuilder.Windows // // arg4 // - this.arg4.FormattingEnabled = true; - this.arg4.ImeMode = System.Windows.Forms.ImeMode.Off; - this.arg4.Location = new System.Drawing.Point(425, 39); + this.arg4.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arg4.Location = new System.Drawing.Point(425, 37); this.arg4.Name = "arg4"; - this.arg4.Size = new System.Drawing.Size(93, 22); - this.arg4.TabIndex = 23; + this.arg4.Size = new System.Drawing.Size(93, 24); + this.arg4.TabIndex = 28; // // arg3 // - this.arg3.FormattingEnabled = true; - this.arg3.ImeMode = System.Windows.Forms.ImeMode.Off; - this.arg3.Location = new System.Drawing.Point(425, 13); + this.arg3.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arg3.Location = new System.Drawing.Point(425, 11); this.arg3.Name = "arg3"; - this.arg3.Size = new System.Drawing.Size(93, 22); - this.arg3.TabIndex = 24; - // - // arg2 - // - this.arg2.FormattingEnabled = true; - this.arg2.ImeMode = System.Windows.Forms.ImeMode.Off; - this.arg2.Location = new System.Drawing.Point(179, 65); - this.arg2.Name = "arg2"; - this.arg2.Size = new System.Drawing.Size(93, 22); - this.arg2.TabIndex = 25; - // - // arg1 - // - this.arg1.FormattingEnabled = true; - this.arg1.ImeMode = System.Windows.Forms.ImeMode.Off; - this.arg1.Location = new System.Drawing.Point(179, 39); - this.arg1.Name = "arg1"; - this.arg1.Size = new System.Drawing.Size(93, 22); - this.arg1.TabIndex = 26; + this.arg3.Size = new System.Drawing.Size(93, 24); + this.arg3.TabIndex = 29; // // arg0 // - this.arg0.FormattingEnabled = true; - this.arg0.ImeMode = System.Windows.Forms.ImeMode.Off; - this.arg0.Location = new System.Drawing.Point(179, 13); + this.arg0.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arg0.Location = new System.Drawing.Point(179, 11); this.arg0.Name = "arg0"; - this.arg0.Size = new System.Drawing.Size(93, 22); - this.arg0.TabIndex = 27; + this.arg0.Size = new System.Drawing.Size(93, 24); + this.arg0.TabIndex = 30; + // + // arg1 + // + this.arg1.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arg1.Location = new System.Drawing.Point(179, 37); + this.arg1.Name = "arg1"; + this.arg1.Size = new System.Drawing.Size(93, 24); + this.arg1.TabIndex = 31; + // + // arg2 + // + this.arg2.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.arg2.Location = new System.Drawing.Point(179, 63); + this.arg2.Name = "arg2"; + this.arg2.Size = new System.Drawing.Size(93, 24); + this.arg2.TabIndex = 32; // // ThingEditForm // @@ -731,9 +726,9 @@ namespace CodeImp.DoomBuilder.Windows private System.Windows.Forms.Button browseaction; private System.Windows.Forms.Panel doompanel; private CodeImp.DoomBuilder.Controls.FieldsEditorControl fieldslist; - private CodeImp.DoomBuilder.Controls.ArgumentBox arg0; - private CodeImp.DoomBuilder.Controls.ArgumentBox arg1; private CodeImp.DoomBuilder.Controls.ArgumentBox arg2; + private CodeImp.DoomBuilder.Controls.ArgumentBox arg1; + private CodeImp.DoomBuilder.Controls.ArgumentBox arg0; private CodeImp.DoomBuilder.Controls.ArgumentBox arg3; private CodeImp.DoomBuilder.Controls.ArgumentBox arg4; } diff --git a/Source/Windows/ThingEditForm.cs b/Source/Windows/ThingEditForm.cs index 0530ff26..10cdaff5 100644 --- a/Source/Windows/ThingEditForm.cs +++ b/Source/Windows/ThingEditForm.cs @@ -131,11 +131,11 @@ namespace CodeImp.DoomBuilder.Windows // Action/tags action.Value = ft.Action; tag.Text = ft.Tag.ToString(); - arg0.Text = ft.Args[0].ToString(); - arg1.Text = ft.Args[1].ToString(); - arg2.Text = ft.Args[2].ToString(); - arg3.Text = ft.Args[3].ToString(); - arg4.Text = ft.Args[4].ToString(); + arg0.SetValue(ft.Args[0]); + arg1.SetValue(ft.Args[1]); + arg2.SetValue(ft.Args[2]); + arg3.SetValue(ft.Args[3]); + arg4.SetValue(ft.Args[4]); //////////////////////////////////////////////////////////////////////// // Now go for all lines and change the options when a setting is different @@ -172,11 +172,11 @@ namespace CodeImp.DoomBuilder.Windows // Action/tags if(t.Action != action.Value) action.Empty = true; if(t.Tag.ToString() != tag.Text) tag.Text = ""; - if(t.Args[0].ToString() != arg0.Text) arg0.Text = ""; - if(t.Args[1].ToString() != arg1.Text) arg1.Text = ""; - if(t.Args[2].ToString() != arg2.Text) arg2.Text = ""; - if(t.Args[3].ToString() != arg3.Text) arg3.Text = ""; - if(t.Args[4].ToString() != arg4.Text) arg4.Text = ""; + if(t.Args[0] != arg0.GetResult(-1)) arg0.ClearValue(); + if(t.Args[1] != arg1.GetResult(-1)) arg1.ClearValue(); + if(t.Args[2] != arg2.GetResult(-1)) arg2.ClearValue(); + if(t.Args[3] != arg3.GetResult(-1)) arg3.ClearValue(); + if(t.Args[4] != arg4.GetResult(-1)) arg4.ClearValue(); } } @@ -214,11 +214,11 @@ namespace CodeImp.DoomBuilder.Windows if(arg2label.Enabled) arg2.ForeColor = SystemColors.WindowText; else arg2.ForeColor = SystemColors.GrayText; if(arg3label.Enabled) arg3.ForeColor = SystemColors.WindowText; else arg3.ForeColor = SystemColors.GrayText; if(arg4label.Enabled) arg4.ForeColor = SystemColors.WindowText; else arg4.ForeColor = SystemColors.GrayText; - arg0.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[0].Enum); - arg1.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[1].Enum); - arg2.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[2].Enum); - arg3.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[3].Enum); - arg4.SetupEnums(General.Map.Config.LinedefActions[showaction].Args[4].Enum); + arg0.Setup(General.Map.Config.LinedefActions[showaction].Args[0]); + arg1.Setup(General.Map.Config.LinedefActions[showaction].Args[1]); + arg2.Setup(General.Map.Config.LinedefActions[showaction].Args[2]); + arg3.Setup(General.Map.Config.LinedefActions[showaction].Args[3]); + arg4.Setup(General.Map.Config.LinedefActions[showaction].Args[4]); } // Browse Action clicked @@ -331,11 +331,11 @@ namespace CodeImp.DoomBuilder.Windows // Action/tags if(!action.Empty) t.Action = action.Value; t.Tag = tag.GetResult(t.Tag); - t.Args[0] = (byte)arg0.GetResult(t.Args[0]); - t.Args[1] = (byte)arg1.GetResult(t.Args[1]); - t.Args[2] = (byte)arg2.GetResult(t.Args[2]); - t.Args[3] = (byte)arg3.GetResult(t.Args[3]); - t.Args[4] = (byte)arg4.GetResult(t.Args[4]); + t.Args[0] = arg0.GetResult(t.Args[0]); + t.Args[1] = arg1.GetResult(t.Args[1]); + t.Args[2] = arg2.GetResult(t.Args[2]); + t.Args[3] = arg3.GetResult(t.Args[3]); + t.Args[4] = arg4.GetResult(t.Args[4]); // Update settings t.UpdateConfiguration(); diff --git a/Source/Windows/ThingEditForm.resx b/Source/Windows/ThingEditForm.resx index bda997ff..5dc9e20f 100644 --- a/Source/Windows/ThingEditForm.resx +++ b/Source/Windows/ThingEditForm.resx @@ -169,451 +169,451 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAI - aAAAAk1TRnQBSQFMAgEBFAEAARgBAAEEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD+ + ZwAAAk1TRnQBSQFMAgEBFAEAARgBAAEEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA AwABYAMAAQEBAAEgBgABYP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AOgABBAIBAQQBFAIB ARkBFAIBARkBFAIBARkBAgMBLAABBAIBAQQBFAIBARkBFAIBARkBFAIBARkBAgMBLAABBAIBAQQBFAIB ARkBFAIBARkBFAIBARkBAgMBLAABBAIBAQQBFAIBARkBFAIBARkBFAIBARkBAgMBJAABMAIBAUoBlAGL - AcUB/wGEAXsBxAH/AYABcgHEAf8BfgFwAcMB/wF8AW4BwQH/AXwBcAG2Af8BMAIBAUoBFAIBARkcAAEw - AgEBSgEDAVUBlwH/AQMBRgF9Af8BAwE/AXEB/wEDAT0BbgH/AQMBOgFoAf8BAwEzAVsB/wEwAgEBSgEU - AgEBGRwAATACAQFKAUkBYgFkAf8BOgFSAVQB/wE0AUoBTAH/ATIBSAFKAf8BMAFEAUYB/wEsAToBOwH/ - ATACAQFKARQCAQEZHAABMAIBAUoBMAFUAWMB/wEkAUYBVAH/AR8BQAFNAf8BHgE/AUwB/wEdATsBRwH/ - AR0BMgE6Af8BMAIBAUoBFAIBARkYAAGIAVoBdQHnAZ8BlQHSAf8BngGUAdMB/wGcAZIB0gH/AZsBkQHS - Af8BmQGOAdIB/wGVAYoB0AH/AYsBgQHLAf8BfgFxAcUB/wFqAS0BRwHbARQCAQEZFAABLgE8AW0B5wED - AWYBtQH/AQMBZgG0Af8BAwFkAbIB/wEDAWMBrwH/AQMBYQGrAf8BAwFdAaQB/wEDAVEBjgH/AQMBPwFx - Af8BPAETASIB2wEUAgEBGRQAAV0BQwFKAecBVAF4AXsB/wFTAXgBewH/AVIBdwF6Af8BUAF1AXgB/wFO - AXMBdgH/AUsBbgFxAf8BQgFfAWIB/wEzAUoBTAH/AUsBEwEUAdsBFAIBARkUAAFOATwBRwHnATMBZwF9 - Af8BMgFoAX0B/wExAWYBfAH/ATABZQF6Af8BLgFjAXgB/wEsAV4BcwH/AScBUgFjAf8BHwFAAU0B/wFH - ARIBEwHbARQCAQEZEAABfgFEAVoB3AGrAaEB4gH/Aa4BowHoAf8BsAGkAewB/wGvAaQB6wH/Aa8BpAHq - Af8BrwGkAeoB/wGtAaEB6AH/AaoBnwHiAf8BnQGTAdMB/wGDAXkBxgH/AWkBLQFHAdsBFAIBARkMAAE7 - AS8BWAHcAQMBewHbAf8BAwGBAeYB/wEDAYIB7QH/AQMBgQHsAf8BAwGBAeoB/wEDAYEB6gH/AQMBfwHk - Af8BAwF6AdkB/wEDAWUBswH/AQMBRgF+Af8BPAETASEB2wEUAgEBGQwAAWECOgHcAV4BkwGYAf8BXgGf - AaUB/wFgAaUBqwH/AWABowGpAf8BXwGiAagB/wFfAaIBqAH/AV0BngGjAf8BXAGTAZgB/wFTAXcBewH/ - AToBUwFVAf8BSwETARQB2wEUAgEBGQwAAVIBNAE6AdwBMAGBAaAB/wEpAYkBsQH/ASQBkQG9Af8BJQGP - AboB/wEmAY0BuAH/ASYBjQG4Af8BKAGIAa8B/wEuAYEBoAH/ATEBZwF9Af8BIwFHAVYB/wFHARIBEwHb - ARQCAQEZCAABMAIBAUoBrAGiAeMB/wGvAaQB6wH/AbUBqgHwAf8BtQGqAfAB/wG1AaoB8AH/AbUBqgHw - Af8BsAGlAe0B/wGxAaYB7wH/Aa0BogHnAf8BlwGNAc8B/wGZAY4B0QH/AYIBeAHGAf8BMAIBAUoIAAEw - AgEBSgEDAXwB3gH/AQMBgQHtAf8BAwGJAfoB/wEDAYkB+gH/AQMBiQH6Af8BAwGJAfoB/wEDAYMB8AH/ - AQMBhQH0Af8BAwF/AeQB/wEDAV0BpQH/AQMBYQGrAf8BAwFFAXwB/wEwAgEBSggAATACAQFKAV4BlwGc - Af8BYAGkAaoB/wFnAawBsgH/AWcBrAGyAf8BZwGsAbIB/wFnAawBsgH/AWEBpgGsAf8BYgGpAa8B/wFe - AZ0BogH/AU0BbgFxAf8BTwFyAXUB/wE5AVEBUwH/ATACAQFKCAABMAIBAUoBLwGCAaQB/wElAY8BvAH/ - ASABmwHNAf8BIAGbAc0B/wEgAZsBzQH/ASABmwHNAf8BIwGSAcAB/wEgAZYBxgH/ASsBhwGtAf8BLgFf - AXIB/wEvAWIBdwH/ASIBRgFVAf8BMAIBAUoIAAGyAacB6gH/AbUBqwHtAf8BtAGoAfEB/wG1AaoB8AH/ - AbUBqgHwAf8BtQGqAe8B/wGzAagB6wH/AaYBnQHTAf8BggF5AcAB/wFjAVQBrgH/AwMB/wGZAY8B0AH/ - AZUBigHQAf8BgQF1Ab0B/wECAwEEAAEDAYIB7wH/AQMBiAH4Af8BAwGJAfoB/wEDAYkB+gH/AQMBiQH6 - Af8BAwGIAfoB/wEDAYQB8QH/AQMBbQHCAf8BAwFCAXYB/wEDARgBKgH/AwMB/wEDAWABqgH/AQMBXQGk - Af8BAwE8AWsB/wECAwEEAAFjAaQBqgH/AWgBqQGvAf8BZQGtAbQB/wFnAawBsgH/AWcBrAGyAf8BZwGr - AbEB/wFlAaUBqgH/AVsBfwGBAf8BNwFMAU4B/wEVAhwB/wMDAf8BTwFyAXUB/wFLAW4BcQH/ATMBRQFH - Af8BAgMBBAABKAGQAbsB/wElAZcBxgH/ARwBnAHRAf8BIAGbAc0B/wEgAZsBzQH/ASEBmgHLAf8BKAGR - AbwB/wE5AW0BgQH/ASMBQgFOAf8BDgEYARwB/wMDAf8BLwFiAXYB/wEsAV4BcwH/ASEBPAFGAf8BAgMB - BAABtQGqAfIB/wG/AbUB8wH/AbcBrAHwAf8BtQGqAfAB/wGpAaAB2QH/AYkBgQHEAf8BaAFZAbMB/wFi - AVkBjQH/AwMB/wMDAf8BXgFPAasB/wGtAaIB5QH/AaQBmgHXAf8BiAF+AcgB/wEUAgEBGQQAAQMBigH9 - Af8BEgGSAv8BAwGLAf4B/wEDAYkB+gH/AQMBcwHOAf8BAwFLAYMB/wEDASABOAH/AQMBBAEFAf8DAwH/ - AwMB/wEDARIBHwH/AQMBfgHhAf8BAwFuAcQB/wEDAUwBhQH/ARQCAQEZBAABZwGuAbUB/wF1AbUBuwH/ - AWoBrQGzAf8BZwGsAbIB/wFeAYYBigH/AT8BVwFZAf8BGwElASYB/wMEAf8DAwH/AwMB/wEQAhUB/wFe - AZoBoAH/AVkBgQGDAf8BPgFZAVsB/wEUAgEBGQQAAR0BngHSAf8BHgGpAeIB/wEhAZ0BzwH/ASABmwHN - Af8BNwF2AYwB/wEnAUsBWQH/AREBIAEmAf8BAwIEAf8DAwH/AwMB/wEKARIBFQH/ASwBhQGqAf8BNAFx - AYYB/wElAU0BXQH/ARQCAQEZAQsCAQENAb0BswHzAf8BxgG9AfUB/wG6AbAB8AH/AbUBqgHwAf8BlQGK - AcoB/wF+AXEBvAH/AVsBTAGkAf8DAwH/AwMB/wMDAf8BhAF8AcEB/wGyAacB8AH/AakBngHiAf8BjgGC - Ac0B/wEUAgEBGQELAgEBDQEPAZEC/wEfAZgC/wEHAY0C/wEDAYkB+gH/AQMBWAGcAf8BAwE5AWUB/wED - AQsBEgH/AwMB/wMDAf8DAwH/AQMBRQF7Af8BAwGGAfYB/wEDAXkB1wH/AQMBVAGUAf8BFAIBARkBCwIB - AQ0BcgG0AboB/wF/AboBwAH/AW8BrwG1Af8BZwGsAbIB/wFKAWcBaQH/ATABQQFDAf8BCgEMAQ0B/wMD - Af8DAwH/AwMB/wE6AVABUQH/AWMBqwGxAf8BXAGSAZcB/wFEAWQBZgH/ARQCAQEZAQsCAQENAR4BpwHe - Af8BKAGuAeQB/wEjAaAB0wH/ASABmwHNAf8BLwFZAWkB/wEfATkBQwH/AQcBCwENAf8DAwH/AwMB/wMD - Af8BJQFFAVEB/wEfAZgBygH/AS4BgQGfAf8BKQFWAWgB/wEUAgEBGQELAgEBDQHBAbgB9AH/AcoBwgH1 - Af8BuwGxAfAB/wG1AaoB8AH/AbUBqgHvAf8BtQGqAe8B/wFwAWMBtwH/AwMB/wMDAf8BWgFMAZ0B/wGo - AZ8B1wH/Aa8BpAHrAf8BrQGiAeYB/wGRAYUBzgH/ARQCAQEZAQsCAQENARYBlAL/ASYBmwL/AQcBjQL/ - AQMBiQH6Af8BAwGIAfoB/wEDAYgB+QH/AQMBKgFKAf8DAwH/AwMB/wEDAQYBCAH/AQMBcgHLAf8BAwGB - AewB/wEDAX8B4gH/AQMBVwGaAf8BFAIBARkBCwIBAQ0BdwG3Ab0B/wGBAb0BwgH/AW8BrwG0Af8BZwGs - AbIB/wFnAasBsQH/AWcBqwGxAf8BIwEwATIB/wMDAf8DAwH/AQUCBgH/AV0BgwGHAf8BYAGjAakB/wFd - AZsBoQH/AUcBZwFqAf8BFAIBARkBCwIBAQ0BIQGrAeMB/wEuAbAB5QH/ASQBnwHRAf8BIAGbAc0B/wEh - AZoBywH/ASIBmQHJAf8BFwEqATIB/wMDAf8DAwH/AQQCBgH/ATgBdAGJAf8BJQGPAboB/wEqAYYBrAH/ - ASoBWQFsAf8BFAIBARkEAAHAAbcB9AH/Ac8ByAH2Af8BwAG2AfMB/wG0AakB7AH/AbIBqAHqAf8BeAFr - AboB/wE8ASEBxAH/AYMBewHCAf8BVwFIAaIB/wFwAWMBtwH/AbUBqgHuAf8BtQGqAfAB/wGrAaEB4wH/ - AZEBhgHNAf8BCQIBAQoEAAEVAZQC/wEwAaAC/wETAZMC/wEDAYUB9AH/AQMBgwHwAf8BAwEyAVkB/wMD - Af8BAwFEAXoB/wEDAQYBCQH/AQMBKgFKAf8BAwGIAfgB/wEDAYkB+gH/AQMBfAHdAf8BAwFXAZkB/wEJ - AgEBCgQAAXYBtgG8Af8BiAHBAcYB/wF2AbUBuwH/AWYBpwGsAf8BZAGkAakB/wEqAToBPAH/AwMB/wE5 - AU8BUQH/AQYCBwH/ASMBMAEyAf8BZwGqAbAB/wFnAawBsgH/AV0BlgGbAf8BRwFmAWkB/wEJAgEBCgQA - ASABqgHjAf8BNwGzAeYB/wEgAakB4QH/AScBlAHAAf8BKQGQAboB/wEbATIBPAH/AwMB/wEkAUQBUQH/ - AQQBBgEHAf8BFwEqATIB/wEjAZgByAH/ASABmwHNAf8BLQGBAaQB/wErAVgBagH/AQkCAQEKBAABvAGx - AfMB/wHTAcwB9wH/AcwBxAH2Af8BuwGyAeoB/wF4AWsBugH/AwMB/wGTAYkByQH/AbcBqwHyAf8BbwFh - AbYB/wGVAYoBygH/AbYBqwHxAf8BtQGqAfAB/wGrAaEB4gH/AZgBjwHMAf8IAAEMAZAC/wE2AaMC/wEq - AZ0C/wEDAYoB/QH/AQMBMgFZAf8DAwH/AQMBVgGXAf8BAwGLAv8BAwEoAUYB/wEDAVgBnAH/AQMBiwH+ - Af8BAwGJAfoB/wEDAXsB2wH/AQMBXQGkAf8IAAFwAbMBuQH/AY0BwwHIAf8BgwG/AcQB/wFwAagBrQH/ - ASoBOgE8Af8DAwH/AUgBZAFmAf8BaQGvAbUB/wEiAS4BLwH/AUoBZwFpAf8BaQGvAbUB/wFnAawBsgH/ - AV0BlAGYAf8BTgFsAW8B/wgAAR4BpQHdAf8BPAG1AeYB/wExAbEB5QH/ATABlgHAAf8BGwEyATwB/wMD - Af8BLgFWAWYB/wEdAZ8B1QH/ARYBKAEvAf8BLwFZAWkB/wEeAZ4B0wH/ASABmwHNAf8BLwGBAaAB/wEx - AV0BbwH/CAABMAIBAUoB0wHNAfcB/wHWAdAB9wH/AakBowHMAf8BYgFZAY0B/wGUAYoBygH/AbYBqwHx - Af8BtQGqAe4B/wGkAZsB0gH/Aa8BpQHkAf8BtQGqAfAB/wG1AaoB8AH/AawBogHkAf8BMAIBAUoIAAEw - AgEBSgE4AaMC/wE8AaUC/wEDAWwBwAH/AQMBBAEFAf8BAwFYAZsB/wEDAYoB/QH/AQMBiAH4Af8BAwFq - Ab0B/wEDAX8B5AH/AQMBiQH6Af8BAwGJAfoB/wEDAX0B4AH/ATACAQFKCAABMAIBAUoBjgHEAcgB/wGR - AcYBygH/AV8BegF8Af8DBAH/AUoBZgFpAf8BaAGtAbQB/wFnAaoBsAH/AVkBfAF/Af8BYQGaAZ8B/wFn - AawBsgH/AWcBrAGyAf8BXgGZAZ4B/wEwAgEBSggAATACAQFKAT0BtQHnAf8BQQG2AecB/wFBAWgBeAH/ - AQMCBAH/AS4BWAFpAf8BHwGdAdAB/wEjAZgByAH/ATgBawF/Af8BMAGFAagB/wEgAZsBzQH/ASABmwHN - Af8BLQGDAacB/wEwAgEBSgwAAXkBMAE7AcoB2gHVAfgB/wHCAbsB5gH/AbABqgHVAf8BwQG3AfIB/wG7 - AbIB7gH/AbkBrwHvAf8BtQGqAfAB/wG1AaoB8AH/AbUBqgHwAf8BtQGqAfAB/wGNAV4BgwHoEAABTwEm - AT8BygFEAakC/wEIAY4C/wEDAXgB1QH/ARMBkwL/AQYBjQL/AQQBjAL/AQMBiQH6Af8BAwGJAfoB/wED - AYkB+gH/AQMBiQH6Af8BKwFGAYMB6BAAAWYCMAHKAZcByQHNAf8BewGlAakB/wFmAYcBigH/AXcBtAG6 - Af8BcAGtAbIB/wFuAa0BsgH/AWcBrAGyAf8BZwGsAbIB/wFnAawBsgH/AWcBrAGyAf8BYAJYAegQAAFR - ASwBOQHKAUcBuQHoAf8BQQGTAbYB/wFCAXYBiAH/ASQBpwHdAf8BKQGdAcwB/wEmAZwBzQH/ASABmwHN - Af8BIAGbAc0B/wEgAZsBzQH/ASABmwHNAf8BRAFLAWAB6BQAAXkBMAE9AckB1gHQAfgB/wHTAcwB9wH/ - Ac4BxwH2Af8BxQG8AfQB/wG8AbEB8gH/AbcBrQHwAf8BswGoAe4B/wGxAaYB7wH/AYABQgFdAdsYAAFS - ASYBPQHJAT0BpgL/ATcBowL/AS4BnwL/ARwBlwL/AQsBjwL/AQMBiwH+Af8BAwGGAfYB/wEDAYUB9AH/ - ATwBNQFfAdsYAAFmAjAByQGSAcYBygH/AY0BxAHIAf8BhgHAAcUB/wF8AbkBvwH/AXABsgG4Af8BawGt - AbMB/wFlAakBrwH/AWIBqQGwAf8BYQFBAUMB2xgAAVMBKwE5AckBQQG3AecB/wE8AbUB5gH/ATUBsgHl - Af8BJgGsAeQB/wEgAaMB2QH/ASIBnAHOAf8BIwGXAcYB/wEfAZYBxwH/AUsBOAFHAdscAAExAgEBSgHD - AboB9AH/AccBvwH1Af8BywHDAfUB/wHFAbwB9AH/AbwBsQHzAf8BsQGmAe8B/wEwAgEBSiAAATACAQFK - ARsBlgL/ASEBmQL/ASgBnAL/ARwBlwL/AQwBkAL/AQMBhQH0Af8BMAIBAUogAAEwAgEBSgF7AbkBvgH/ - AYABuwHAAf8BggG+AcMB/wF8AbkBvwH/AXABswG5Af8BYgGpAa8B/wEwAgEBSiAAATACAQFKASQBrAHk - Af8BKgGuAeQB/wEwAbAB5QH/ASYBrAHkAf8BHgGlAd0B/wEgAZYBxgH/ATACAQFKLAABCwIBAQ0BCwIB - AQ04AAELAgEBDQELAgEBDTgAAQsCAQENAQsCAQENOAABCwIBAQ0BCwIBAQ00AAEEAgEBBAEUAgEBGQEU - AgEBGQEUAgEBGQECAwEsAAEEAgEBBAEUAgEBGQEUAgEBGQEUAgEBGQECAwEsAAEEAgEBBAEUAgEBGQEU - AgEBGQEUAgEBGQECAwEsAAEEAgEBBAEUAgEBGQEUAgEBGQEUAgEBGQECAwEkAAEwAgEBSgE5AUUBggH/ - ASkBNAFyAf8BJAEuAWkB/wEjAS0BZgH/ASEBKwFgAf8BIwEpAU8B/wEwAgEBSgEUAgEBGRwAATACAQFK - AZIBUQGSAf8BgQFAAYEB/wF7AToBewH/AXkBOAF5Af8BcwE3AXMB/wFjATcBYwH/ATACAQFKARQCAQEZ - HAABMAIBAUoBAwKQAf8BAwJ4Af8BAwJtAf8BAwJqAf8BAwJkAf8BAwJXAf8BMAIBAUoBFAIBARkcAAEx - AgEBSgOlAf8DkQH/A4cB/wOFAf8DgQH/A3gB/wEwAgEBSgEUAgEBGRgAAVQBMQFiAecBOgFLAaYB/wE5 - AUoBpwH/ATgBSQGlAf8BNwFHAaMB/wE1AUUBoAH/ATMBQgGZAf8BLQE6AYMB/wEjAS0BaQH/AUcBDgEZ - AdsBFAIBARkUAAGQAToBYgHnAbABWAGwAf8BsQFWAbEB/wGwAVQBsAH/Aa8BUgGvAf8BrAFQAawB/wGm - AU0BpgH/AZMBRQGTAf8BewE5AXsB/wFdARYBIwHbARQCAQEZFAABLgJnAecBAwKtAf8BAwKtAf8BAwKr - Af8BAwKoAf8BAwKkAf8BAwKdAf8BAwKIAf8BAwJsAf8BPAIdAdsBFAIBARkUAAGZAm0B5wO7Af8DuwH/ - A7gB/wO2Af8DtQH/A68B/wOeAf8DhwH/AWYCLQHbARQCAQEZEAABUwEkAU8B3AE7AVIB0wH/ATwBVQHh - Af8BPQFXAekB/wE9AVcB5wH/ATwBVgHmAf8BPAFWAeYB/wE5AVMB4QH/ATgBUAHVAf8BOQFJAaYB/wEo - ATMBdQH/AUcBDgEZAdsBFAIBARkMAAGIAS8BTwHcAckBbAHJAf8B0wFwAdMB/wHZAXIB2QH/AdgBcwHY - Af8B1wFxAdcB/wHXAXEB1wH/AdIBbQHSAf8BygFqAcoB/wGwAVYBsAH/AYIBPwGCAf8BXQEUASMB2wEU - AgEBGQwAATsCVAHcAQMC0QH/AQMC3AH/AQMC5AH/AQMC4gH/AQMC4QH/AQMC4QH/AQMC2gH/AQMC0AH/ - AQMCrAH/AQMCeQH/ATwCHQHbARQCAQEZDAABjgJVAdwD0wH/A9oB/wPfAf8D3gH/A9wB/wPcAf8D2QH/ - A9IB/wO6Af8DkgH/AWYCLQHbARQCAQEZCAABMAIBAUoBPQFUAdcB/wE9AVcB6AH/AUUBXwHwAf8BRQFf - AfAB/wFFAV8B8AH/AUUBXwHwAf8BPQFYAesB/wE/AVkB7wH/ATwBVQHeAf8BNQFEAZgB/wE2AUYBnwH/ - AScBMgFzAf8BMAIBAUoIAAExAgEBSgHLAW4BywH/AdgBcgHYAf8B4AF8AeAB/wHgAXwB4AH/AeABfAHg - Af8B4AF8AeAB/wHbAXQB2wH/Ad4BdgHeAf8B0QFvAdEB/wGlAU8BpQH/AasBUQGrAf8BgQE+AYEB/wEw - AgEBSggAATACAQFKAQMC1QH/AQMC4wH/AQMC8AH/AQMC8AH/AQMC8AH/AQMC8AH/AQMC5gH/AQMC6QH/ - AQMC2gH/AQMCngH/AQMCpAH/AQMCdwH/ATACAQFKCAABMQIBAUoD1QH/A98B/wPmAf8D5gH/A+YB/wPm - Af8D4AH/A+EB/wPZAf8DsAH/A7UB/wOQAf8BMAIBAUoIAAFCAVsB5QH/AUgBYQHrAf8BQQFcAfQB/wFF - AV8B8AH/AUUBXwHwAf8BRQFfAe8B/wFFAV0B5QH/AUIBUwGuAf8BKQEzAWoB/wEQARMBJQH/AwMB/wE3 - AUYBnQH/ATMBQgGZAf8BJwEvAV8B/wECAwEEAAHXAXcB1wH/AdwBfQHcAf8B4gF6AeIB/wHgAXwB4AH/ - AeABfAHgAf8B3wF8Ad8B/wHYAXkB2AH/AbIBZQGyAf8BewE/AXsB/wE+ASEBPgH/AwMB/wGqAVEBqgH/ - AaYBTQGmAf8BcgE8AXIB/wECAwEEAAEDAuUB/wEDAu4B/wEDAvAB/wEDAvAB/wEDAvAB/wEDAu8B/wED - AucB/wEDArkB/wEDAnEB/wEDAigB/wMDAf8BAwKjAf8BAwKdAf8BAwJnAf8BAgMBBAAD3wH/A+QB/wPm - Af8D5gH/A+YB/wPlAf8D4AH/A8MB/wOLAf8DRgH/AwMB/wO0Af8DrwH/A4IB/wECAwEEAAFEAV8B9AH/ - AVkBcQH1Af8BSgFjAfAB/wFFAV8B8AH/AT8BUgHAAf8BLgE5AXgB/wEUARkBMwH/AwQB/wMDAf8DAwH/ - AQwBDgEcAf8BOwFUAdwB/wE7AU4BuAH/ASsBNwF+Af8BFAIBARkEAAHjAXwB4wH/AeYBiwHmAf8B4AGA - AeAB/wHgAXwB4AH/AbsBagG7Af8BhgFFAYYB/wFKASYBSgH/AR4BFAEeAf8DAwH/AwMB/wE2ARwBNgH/ - Ac8BbgHPAf8BuAFhAbgB/wGLAUIBiwH/ARQCAQEZBAABAwLyAf8BBwP/AQMC9AH/AQMC8AH/AQMCxQH/ - AQMCgQH/AQMCNgH/AQMCBAH/AwMB/wMDAf8BAwIeAf8BAwLYAf8BAwK8Af8BAwKBAf8BFAIBARkEAAPn - Af8D8gH/A+cB/wPmAf8DyQH/A5gB/wNYAf8DCgH/AwMB/wMDAf8DOgH/A9YB/wPDAf8DmQH/ARQCAQEZ - AQsCAQENAVUBbQH1Af8BaAF+AfYB/wFRAWkB7wH/AUUBXwHwAf8BNgFEAYwB/wEkASwBWgH/AQgBCQER - Af8DAwH/AwMB/wMDAf8BKwE1AW4B/wE/AVoB8QH/ATcBTwHUAf8BLgE9AYoB/wEUAgEBGQELAgEBDQHm - AYcB5gH/AekBlwHpAf8B4QGDAeEB/wHgAXwB4AH/AZoBTwGaAf8BbgE5AW4B/wEsARcBLAH/AwMB/wMD - Af8DAwH/AYABQQGAAf8B3wF3Ad8B/wHJAWkByQH/AZkBSAGZAf8BFAIBARkBCwIBAQ0BAwP/ARMD/wED - AvkB/wEDAvAB/wEDApYB/wEDAmEB/wEDAhIB/wMDAf8DAwH/AwMB/wEDAnYB/wEDAuwB/wEDAs8B/wED - Ao4B/wEUAgEBGQELAgEBDQPwAf8D+QH/A+sB/wPmAf8DqgH/A38B/wMoAf8DAwH/AwMB/wMDAf8DkAH/ - A+IB/wPQAf8DpAH/ARQCAQEZAQsCAQENAV4BdQH2Af8BcQGCAfcB/wFSAWoB7gH/AUUBXwHwAf8BRQFf - Ae8B/wFGAWAB7gH/ARoBIAFDAf8DAwH/AwMB/wIFAQgB/wFAAVMBuwH/AT0BVwHnAf8BOgFTAd4B/wEv - AT4BkAH/ARQCAQEZAQsCAQENAecBjgHnAf8B6wGfAesB/wHgAYMB4AH/AeABfAHgAf8B3wF8Ad8B/wHe - AXwB3gH/AVgBLQFYAf8DAwH/AwMB/wEjARMBIwH/AbkBaQG5Af8B2AFzAdgB/wHQAW4B0AH/AZ4BSQGe - Af8BFAIBARkBCwIBAQ0BCwP/ARoD/wEDAvkB/wEDAvAB/wEDAu8B/wEDAu8B/wEDAkcB/wMDAf8DAwH/ - AQMCCAH/AQMCwgH/AQMC4gH/AQMC2QH/AQMCkwH/ARQCAQEZAQsCAQENA/QB/wP9Af8D6wH/A+YB/wPl - Af8D5QH/A2oB/wMDAf8DAwH/AxMB/wPIAf8D3gH/A9gB/wOoAf8BFAIBARkEAAFcAXMB9QH/AXwBjAH3 - Af8BWwFyAfQB/wFGAV8B5wH/AUQBXQHkAf8BHwEnAVAB/wMDAf8BKgE0AW0B/wIFAQkB/wEaASABQwH/ - AUYBYAHtAf8BRQFfAfAB/wE6AVIB2AH/ATEBPwGNAf8BCQIBAQoEAAHnAY0B5wH/Ae0BqQHtAf8B5gGM - AeYB/wHaAXsB2gH/AdcBeAHXAf8BZAE0AWQB/wEmAQoBJgH/AX8BQAF/Af8BJQETASUB/wFYAS0BWAH/ - Ad0BewHdAf8B4AF8AeAB/wHMAWwBzAH/AZwBSgGcAf8BCQIBAQoEAAEJA/8BJAP/AQgD/wEDAuoB/wED - AuYB/wEDAlYB/wMDAf8BAwJ1Af8BAwIJAf8BAwJHAf8BAwLuAf8BAwLwAf8BAwLUAf8BAwKTAf8BCQIB - AQoEAAPzAf8EAAPzAf8D4gH/A+AB/wN3Af8DAwH/A44B/wMWAf8DagH/A+QB/wPmAf8D1AH/A6gB/wEJ - AgEBCgQAAVIBawH1Af8BgQGSAfgB/wF1AYYB9wH/AVcBbQHiAf8BHwEnAVAB/wMDAf8BNQFCAYcB/wFG - AWEB9AH/ARkBHwE/Af8BNgFEAYwB/wFHAWEB8wH/AUUBXwHwAf8BOgFSAdQB/wE5AUcBkwH/CAAB5QGE - AeUB/wHuAa8B7gH/AesBowHrAf8B2AGEAdgB/wFkATQBZAH/AwMB/wGWAU4BlgH/AeMBfgHjAf8BVQEs - AVUB/wGaAU8BmgH/AeIBfgHiAf8B4AF8AeAB/wHJAWwByQH/AaEBUwGhAf8IAAEDAv4B/wEqA/8BHgP/ - AQMC8wH/AQMCVgH/AwMB/wEDApEB/wEDAvQB/wEDAkQB/wEDApYB/wEDAvQB/wEDAvAB/wEDAtEB/wED - Ap4B/wgAA+4B/wgAA+cB/wN3Af8DAwH/A6YB/wPoAf8DZQH/A6oB/wPnAf8D5gH/A9MB/wOvAf8IAAEw - AgEBSgGCAZMB+AH/AYcBmAH4Af8BTwFbAZ8B/wMEAf8BNgFDAYsB/wFGAWAB8gH/AUYBYAHtAf8BQgFS - AaoB/wFCAVkB2AH/AUUBXwHwAf8BRQFfAfAB/wE7AVMB2gH/ATACAQFKCAABMQIBAUoB7gGwAe4B/wHv - AbUB7wH/AacBbQGnAf8BHgEUAR4B/wGZAU8BmQH/AeEBfQHhAf8B3QF7Ad0B/wGwAWIBsAH/Ac0BcwHN - Af8B4AF8AeAB/wHgAXwB4AH/Ac0BbgHNAf8BMAIBAUoIAAEwAgEBSgErA/8BLwP/AQMCuAH/AQMCBAH/ - AQMClQH/AQMC8gH/AQMC7gH/AQMCtQH/AQMC2gH/AQMC8AH/AQMC8AH/AQMC1wH/ATACAQFKCAABMQIB - AUoIAAPCAf8DCgH/A6kB/wPnAf8D5AH/A8EB/wPZAf8D5gH/A+YB/wPVAf8BMQIBAUoMAAFgASEBPwHK - AY8BnwH5Af8BbQF9AdUB/wFSAWEBtgH/AV4BdQHxAf8BVQFsAeoB/wFRAWgB7AH/AUUBXwHwAf8BRQFf - AfAB/wFFAV8B8AH/AUUBXwHwAf8BTgEzAXwB6BAAAX8BJgE7AcoB8QG8AfEB/wHRAZMB0QH/AbYBeQG2 - Af8B5AGOAeQB/wHeAYUB3gH/Ad4BgQHeAf8B4AF8AeAB/wHgAXwB4AH/AeABfAHgAf8B4AF8AeAB/wGg - AUEBcwHoEAABTAI/AcoBNwP/AQMC+QH/AQMCzAH/AQgD/wEDAvgB/wEDAvYB/wEDAvAB/wEDAvAB/wED - AvAB/wEDAvAB/wErAnwB6BAAAYUCPwHKBAAD6wH/A88B/wPzAf8D6wH/A+oB/wPmAf8D5gH/A+YB/wPm - Af8BpgJ8AegUAAFjASEBPQHJAYgBmQH4Af8BgQGTAfgB/wF5AYkB9wH/AWUBewH2Af8BUgFrAfMB/wFL - AWQB7wH/AUMBXQHtAf8BPgFZAfAB/wFVASMBXAHbGAABgAEoAToByQHvAbYB7wH/Ae4BrwHuAf8B7AGm - AewB/wHoAZUB6AH/AeQBhAHkAf8B4AGAAeAB/wHdAXkB3QH/Ad4BdQHeAf8BkAEtAVcB2xgAAU8CPQHJ - ATAD/wEqA/8BIgP/ARED/wEDAvwB/wEDAvQB/wEDAuwB/wEDAukB/wE8AlsB2ygAA/cB/wPtAf8D5wH/ - A+IB/wPhAf8BkwJaAdscAAEwAgEBSgFjAXkB9gH/AWsBgAH2Af8BcgGEAfcB/wFlAXsB9gH/AVIBawH1 - Af8BPwFZAe8B/wEwAgEBSiAAATECAQFKAegBkwHoAf8B6gGaAeoB/wHrAaAB6wH/AegBlQHoAf8B5QGE - AeUB/wHeAXYB3gH/ATECAQFKIAABMAIBAUoBDwP/ARYD/wEcA/8BEQP/AQMC/gH/AQMC6QH/ATACAQFK - IAABMQIBAUoD9wH/A/kB/wP9Af8D9wH/A+4B/wPhAf8BMQIBAUosAAELAgEBDQELAgEBDTgAAQsCAQEN + AcUB/wGEAXwBxAH/AYEBcwHEAf8BfwFxAcMB/wF9AW8BwQH/AX0BcQG2Af8BMAIBAUoBFAIBARkcAAEw + AgEBSgEEAVYBlwH/AQQBRwF+Af8BBAFAAXIB/wEEAT4BbwH/AQQBOwFpAf8BBAE0AVwB/wEwAgEBSgEU + AgEBGRwAATACAQJKAWMBZQH/ATsBUwFVAf8BNQFLAU0B/wEzAUkBSwH/ATEBRQFHAf8BLQE7ATwB/wEw + AgEBSgEUAgEBGRwAATACAQFKATEBVQFkAf8BJQFHAVUB/wEgAUEBTgH/AR8BQAFNAf8BHgE8AUgB/wEe + ATMBOwH/ATACAQFKARQCAQEZGAABgAFLAWEB5wGfAZUB0gH/AZ4BlAHTAf8BnAGSAdIB/wGbAZEB0gH/ + AZkBjgHSAf8BlQGKAdAB/wGLAYEBywH/AX8BcgHFAf8BZwEiATUB2wEUAgEBGRQAATkBMQFaAecBBAFn + AbUB/wEEAWcBtAH/AQQBZQGyAf8BBAFkAa8B/wEEAWIBqwH/AQQBXgGkAf8BBAFSAY4B/wEEAUABcgH/ + AUcBDgEYAdsBFAIBARkUAAFdATgBPAHnAVUBeQF8Af8BVAF5AXwB/wFTAXgBewH/AVEBdgF5Af8BTwF0 + AXcB/wFMAW8BcgH/AUMBYAFjAf8BNAFLAU0B/wFRAg4B2wEUAgEBGRQAAVMBMQE6AecBNAFoAX4B/wEz + AWkBfgH/ATIBZwF9Af8BMQFmAXsB/wEvAWQBeQH/AS0BXwF0Af8BKAFTAWQB/wEgAUEBTgH/AU8CDgHb + ARQCAQEZEAABeAE0AUQB3AGrAaEB4gH/Aa4BowHoAf8BsAGkAewB/wGvAaQB6wH/Aa8BpAHqAf8BrwGk + AeoB/wGtAaEB6AH/AaoBnwHiAf8BnQGTAdMB/wGDAXoBxgH/AWYBIgE1AdsBFAIBARkMAAFGASQBQgHc + AQQBfAHbAf8BBAGBAeYB/wEEAYIB7QH/AQQBgQHsAf8BBAGBAeoB/wEEAYEB6gH/AQQBgAHkAf8BBAF7 + AdkB/wEEAWYBswH/AQQBRwF/Af8BRwEOARgB2wEUAgEBGQwAAWICKgHcAV8BkwGYAf8BXwGfAaUB/wFh + AaUBqwH/AWEBowGpAf8BYAGiAagB/wFgAaIBqAH/AV4BngGjAf8BXQGTAZgB/wFUAXgBfAH/ATsBVAFW + Af8BUQIOAdsBFAIBARkMAAFXASgBKgHcATEBgQGgAf8BKgGJAbEB/wElAZEBvQH/ASYBjwG6Af8BJwGN + AbgB/wEnAY0BuAH/ASkBiAGvAf8BLwGBAaAB/wEyAWgBfgH/ASQBSAFXAf8BTwIOAdsBFAIBARkIAAEw + AgEBSgGsAaIB4wH/Aa8BpAHrAf8BtQGqAfAB/wG1AaoB8AH/AbUBqgHwAf8BtQGqAfAB/wGwAaUB7QH/ + AbEBpgHvAf8BrQGiAecB/wGXAY0BzwH/AZkBjgHRAf8BggF5AcYB/wEwAgEBSggAATACAQFKAQQBfQHe + Af8BBAGBAe0B/wEEAYkB+gH/AQQBiQH6Af8BBAGJAfoB/wEEAYkB+gH/AQQBgwHwAf8BBAGFAfQB/wEE + AYAB5AH/AQQBXgGlAf8BBAFiAasB/wEEAUYBfQH/ATACAQFKCAABMAIBAUoBXwGXAZwB/wFhAaQBqgH/ + AWgBrAGyAf8BaAGsAbIB/wFoAawBsgH/AWgBrAGyAf8BYgGmAawB/wFjAakBrwH/AV8BnQGiAf8BTgFv + AXIB/wFQAXMBdgH/AToBUgFUAf8BMAIBAUoIAAEwAgEBSgEwAYIBpAH/ASYBjwG8Af8BIQGbAc0B/wEh + AZsBzQH/ASEBmwHNAf8BIQGbAc0B/wEkAZIBwAH/ASEBlgHGAf8BLAGHAa0B/wEvAWABcwH/ATABYwF4 + Af8BIwFHAVYB/wEwAgEBSggAAbIBpwHqAf8BtQGrAe0B/wG0AagB8QH/AbUBqgHwAf8BtQGqAfAB/wG1 + AaoB7wH/AbMBqAHrAf8BpgGdAdMB/wGCAXoBwAH/AWQBVQGuAf8DBAH/AZkBjwHQAf8BlQGKAdAB/wGB + AXYBvQH/AQIDAQQAAQQBggHvAf8BBAGIAfgB/wEEAYkB+gH/AQQBiQH6Af8BBAGJAfoB/wEEAYgB+gH/ + AQQBhAHxAf8BBAFuAcIB/wEEAUMBdwH/AQQBGQErAf8DBAH/AQQBYQGqAf8BBAFeAaQB/wEEAT0BbAH/ + AQIDAQQAAWQBpAGqAf8BaQGpAa8B/wFmAa0BtAH/AWgBrAGyAf8BaAGsAbIB/wFoAasBsQH/AWYBpQGq + Af8BXAGAAYEB/wE4AU0BTwH/ARYCHQH/AwQB/wFQAXMBdgH/AUwBbwFyAf8BNAFGAUgB/wECAwEEAAEp + AZABuwH/ASYBlwHGAf8BHQGcAdEB/wEhAZsBzQH/ASEBmwHNAf8BIgGaAcsB/wEpAZEBvAH/AToBbgGB + Af8BJAFDAU8B/wEPARkBHQH/AwQB/wEwAWMBdwH/AS0BXwF0Af8BIgE9AUcB/wECAwEEAAG1AaoB8gH/ + Ab8BtQHzAf8BtwGsAfAB/wG1AaoB8AH/AakBoAHZAf8BiQGBAcQB/wFpAVoBswH/AWMBWgGNAf8DBAH/ + AwQB/wFfAVABqwH/Aa0BogHlAf8BpAGaAdcB/wGIAX8ByAH/ARQCAQEZBAABBAGKAf0B/wETAZIC/wEE + AYsB/gH/AQQBiQH6Af8BBAF0Ac4B/wEEAUwBgwH/AQQBIQE5Af8BBAEFAQYB/wMEAf8DBAH/AQQBEwEg + Af8BBAF/AeEB/wEEAW8BxAH/AQQBTQGFAf8BFAIBARkEAAFoAa4BtQH/AXYBtQG7Af8BawGtAbMB/wFo + AawBsgH/AV8BhgGKAf8BQAFYAVoB/wEcASYBJwH/AwUB/wMEAf8DBAH/ARECFgH/AV8BmgGgAf8BWgGB + AYMB/wE/AVoBXAH/ARQCAQEZBAABHgGeAdIB/wEfAakB4gH/ASIBnQHPAf8BIQGbAc0B/wE4AXcBjAH/ + ASgBTAFaAf8BEgEhAScB/wEEAgUB/wMEAf8DBAH/AQsBEwEWAf8BLQGFAaoB/wE1AXIBhgH/ASYBTgFe + Af8BFAIBARkBCwIBAQ0BvQGzAfMB/wHGAb0B9QH/AboBsAHwAf8BtQGqAfAB/wGVAYoBygH/AX8BcgG8 + Af8BXAFNAaQB/wMEAf8DBAH/AwQB/wGEAX0BwQH/AbIBpwHwAf8BqQGeAeIB/wGOAYIBzQH/ARQCAQEZ + AQsCAQENARABkQL/ASABmAL/AQgBjQL/AQQBiQH6Af8BBAFZAZwB/wEEAToBZgH/AQQBDAETAf8DBAH/ + AwQB/wMEAf8BBAFGAXwB/wEEAYYB9gH/AQQBegHXAf8BBAFVAZQB/wEUAgEBGQELAgEBDQFzAbQBugH/ + AYABugHAAf8BcAGvAbUB/wFoAawBsgH/AUsBaAFqAf8BMQFCAUQB/wELAQ0BDgH/AwQB/wMEAf8DBAH/ + ATsBUQFSAf8BZAGrAbEB/wFdAZIBlwH/AUUBZQFnAf8BFAIBARkBCwIBAQ0BHwGnAd4B/wEpAa4B5AH/ + ASQBoAHTAf8BIQGbAc0B/wEwAVoBagH/ASABOgFEAf8BCAEMAQ4B/wMEAf8DBAH/AwQB/wEmAUYBUgH/ + ASABmAHKAf8BLwGBAZ8B/wEqAVcBaQH/ARQCAQEZAQsCAQENAcEBuAH0Af8BygHCAfUB/wG7AbEB8AH/ + AbUBqgHwAf8BtQGqAe8B/wG1AaoB7wH/AXEBZAG3Af8DBAH/AwQB/wFbAU0BnQH/AagBnwHXAf8BrwGk + AesB/wGtAaIB5gH/AZEBhQHOAf8BFAIBARkBCwIBAQ0BFwGUAv8BJwGbAv8BCAGNAv8BBAGJAfoB/wEE + AYgB+gH/AQQBiAH5Af8BBAErAUsB/wMEAf8DBAH/AQQBBwEJAf8BBAFzAcsB/wEEAYEB7AH/AQQBgAHi + Af8BBAFYAZoB/wEUAgEBGQELAgEBDQF4AbcBvQH/AYEBvQHCAf8BcAGvAbQB/wFoAawBsgH/AWgBqwGx + Af8BaAGrAbEB/wEkATEBMwH/AwQB/wMEAf8BBgIHAf8BXgGDAYcB/wFhAaMBqQH/AV4BmwGhAf8BSAFo + AWsB/wEUAgEBGQELAgEBDQEiAasB4wH/AS8BsAHlAf8BJQGfAdEB/wEhAZsBzQH/ASIBmgHLAf8BIwGZ + AckB/wEYASsBMwH/AwQB/wMEAf8BBQIHAf8BOQF1AYkB/wEmAY8BugH/ASsBhgGsAf8BKwFaAW0B/wEU + AgEBGQQAAcABtwH0Af8BzwHIAfYB/wHAAbYB8wH/AbQBqQHsAf8BsgGoAeoB/wF5AWwBugH/AT0BIgHE + Af8BgwF8AcIB/wFYAUkBogH/AXEBZAG3Af8BtQGqAe4B/wG1AaoB8AH/AasBoQHjAf8BkQGGAc0B/wEJ + AgEBCgQAARYBlAL/ATEBoAL/ARQBkwL/AQQBhQH0Af8BBAGDAfAB/wEEATMBWgH/AwQB/wEEAUUBewH/ + AQQBBwEKAf8BBAErAUsB/wEEAYgB+AH/AQQBiQH6Af8BBAF9Ad0B/wEEAVgBmQH/AQkCAQEKBAABdwG2 + AbwB/wGIAcEBxgH/AXcBtQG7Af8BZwGnAawB/wFlAaQBqQH/ASsBOwE9Af8DBAH/AToBUAFSAf8BBwII + Af8BJAExATMB/wFoAaoBsAH/AWgBrAGyAf8BXgGWAZsB/wFIAWcBagH/AQkCAQEKBAABIQGqAeMB/wE4 + AbMB5gH/ASEBqQHhAf8BKAGUAcAB/wEqAZABugH/ARwBMwE9Af8DBAH/ASUBRQFSAf8BBQEHAQgB/wEY + ASsBMwH/ASQBmAHIAf8BIQGbAc0B/wEuAYEBpAH/ASwBWQFrAf8BCQIBAQoEAAG8AbEB8wH/AdMBzAH3 + Af8BzAHEAfYB/wG7AbIB6gH/AXkBbAG6Af8DBAH/AZMBiQHJAf8BtwGrAfIB/wFwAWIBtgH/AZUBigHK + Af8BtgGrAfEB/wG1AaoB8AH/AasBoQHiAf8BmAGPAcwB/wgAAQ0BkAL/ATcBowL/ASsBnQL/AQQBigH9 + Af8BBAEzAVoB/wMEAf8BBAFXAZcB/wEEAYsC/wEEASkBRwH/AQQBWQGcAf8BBAGLAf4B/wEEAYkB+gH/ + AQQBfAHbAf8BBAFeAaQB/wgAAXEBswG5Af8BjQHDAcgB/wGDAb8BxAH/AXEBqAGtAf8BKwE7AT0B/wME + Af8BSQFlAWcB/wFqAa8BtQH/ASMBLwEwAf8BSwFoAWoB/wFqAa8BtQH/AWgBrAGyAf8BXgGUAZgB/wFP + AW0BcAH/CAABHwGlAd0B/wE9AbUB5gH/ATIBsQHlAf8BMQGWAcAB/wEcATMBPQH/AwQB/wEvAVcBZwH/ + AR4BnwHVAf8BFwEpATAB/wEwAVoBagH/AR8BngHTAf8BIQGbAc0B/wEwAYEBoAH/ATIBXgFwAf8IAAEw + AgEBSgHTAc0B9wH/AdYB0AH3Af8BqQGjAcwB/wFjAVoBjQH/AZQBigHKAf8BtgGrAfEB/wG1AaoB7gH/ + AaQBmwHSAf8BrwGlAeQB/wG1AaoB8AH/AbUBqgHwAf8BrAGiAeQB/wEwAgEBSggAATACAQFKATkBowL/ + AT0BpQL/AQQBbQHAAf8BBAEFAQYB/wEEAVkBmwH/AQQBigH9Af8BBAGIAfgB/wEEAWsBvQH/AQQBgAHk + Af8BBAGJAfoB/wEEAYkB+gH/AQQBfgHgAf8BMAIBAUoIAAEwAgEBSgGOAcQByAH/AZEBxgHKAf8BYAF7 + AX0B/wMFAf8BSwFnAWoB/wFpAa0BtAH/AWgBqgGwAf8BWgF9AYAB/wFiAZoBnwH/AWgBrAGyAf8BaAGs + AbIB/wFfAZkBngH/ATACAQFKCAABMAIBAUoBPgG1AecB/wFCAbYB5wH/AUIBaQF5Af8BBAIFAf8BLwFZ + AWoB/wEgAZ0B0AH/ASQBmAHIAf8BOQFsAYAB/wExAYUBqAH/ASEBmwHNAf8BIQGbAc0B/wEuAYMBpwH/ + ATACAQFKDAABbwEdASYBygHaAdUB+AH/AcIBuwHmAf8BsAGqAdUB/wHBAbcB8gH/AbsBsgHuAf8BuQGv + Ae8B/wG1AaoB8AH/AbUBqgHwAf8BtQGqAfAB/wG1AaoB8AH/AYQBTwFrAegQAAFVARgBKAHKAUUBqQL/ + AQkBjgL/AQQBeQHVAf8BFAGTAv8BBwGNAv8BBQGMAv8BBAGJAfoB/wEEAYkB+gH/AQQBiQH6Af8BBAGJ + AfoB/wE0ATsBawHoEAABZAIdAcoBlwHJAc0B/wF8AaUBqQH/AWcBhwGKAf8BeAG0AboB/wFxAa0BsgH/ + AW8BrQGyAf8BaAGsAbIB/wFoAawBsgH/AWgBrAGyAf8BaAGsAbIB/wFgAkgB6BAAAVUBHQEkAcoBSAG5 + AegB/wFCAZMBtgH/AUMBdwGIAf8BJQGnAd0B/wEqAZ0BzAH/AScBnAHNAf8BIQGbAc0B/wEhAZsBzQH/ + ASEBmwHNAf8BIQGbAc0B/wFKAT0BTwHoFAABbwEfASYByQHWAdAB+AH/AdMBzAH3Af8BzgHHAfYB/wHF + AbwB9AH/AbwBsQHyAf8BtwGtAfAB/wGzAagB7gH/AbEBpgHvAf8BeQEyAUUB2xgAAVcBGQEmAckBPgGm + Av8BOAGjAv8BLwGfAv8BHQGXAv8BDAGPAv8BBAGLAf4B/wEEAYYB9gH/AQQBhQH0Af8BRwEoAUcB2xgA + AWMCHwHJAZIBxgHKAf8BjQHEAcgB/wGGAcABxQH/AX0BuQG/Af8BcQGyAbgB/wFsAa0BswH/AWYBqQGv + Af8BYwGpAbAB/wFhATEBMwHbGAABVwEcASQByQFCAbcB5wH/AT0BtQHmAf8BNgGyAeUB/wEnAawB5AH/ + ASEBowHZAf8BIwGcAc4B/wEkAZcBxgH/ASABlgHHAf8BUQEoATUB2xwAATACAQFKAcMBugH0Af8BxwG/ + AfUB/wHLAcMB9QH/AcUBvAH0Af8BvAGxAfMB/wGxAaYB7wH/ATACAQFKIAABMAIBAUoBHAGWAv8BIgGZ + Av8BKQGcAv8BHQGXAv8BDQGQAv8BBAGFAfQB/wEwAgEBSiAAATACAQFKAXwBuQG+Af8BgQG7AcAB/wGC + Ab4BwwH/AX0BuQG/Af8BcQGzAbkB/wFjAakBrwH/ATACAQFKIAABMAIBAUoBJQGsAeQB/wErAa4B5AH/ + ATEBsAHlAf8BJwGsAeQB/wEfAaUB3QH/ASEBlgHGAf8BMAIBAUosAAELAgEBDQELAgEBDTgAAQsCAQEN AQsCAQENOAABCwIBAQ0BCwIBAQ04AAELAgEBDQELAgEBDTQAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZ AQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZAQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZ - AQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZAQIDASQAATACAQFKA2MB/wNYAf8DUwH/A1IB/wNQ - Af8DSwH/ATACAQFKARQCAQEZHAABMAIBAUoBkQFuARwB/wF8AVsBFAH/AXEBUgERAf8BbgFQAREB/wFo - AUsBEAH/AVcBQQESAf8BMAIBAUoBFAIBARkcAAEwAgEBSgE2AWABNgH/ASkBUQEpAf8BJAFLASQB/wEj - AUkBIwH/ASIBRAEiAf8BIQE5ASEB/wEwAgEBSgEUAgEBGRwAATACAQFKAp4BTAH/ApYBJwH/ApMBGQH/ - ApIBFgH/Ao0BEwH/AnkBFgH/ATACAQFKARQCAQEZGAABbQJAAecDcAH/A3AB/wNuAf8DbQH/A2wB/wNo - Af8DXwH/A1MB/wFXAh0B2wEUAgEBGRQAAZgBUAEUAecBtAGCARwB/wG0AYEBGwH/AbIBgQEbAf8BrwGB - ARoB/wGsAX8BGQH/AaQBeQEYAf8BjgFqARYB/wFxAVEBEQH/AVsBFgEIAdsBFAIBARkUAAFRAUMBJgHn - ATsBeAE7Af8BOgF5AToB/wE5AXgBOQH/ATgBdgE4Af8BNgF0ATYB/wE0AW4BNAH/AS4BYAEuAf8BJAFK - ASQB/wFHARMBDAHbARQCAQEZFAABkAFlAUIB5wKyAWIB/wK0AWAB/wKyAV0B/wKxAVkB/wKxAVUB/wKt - AU4B/wKiATgB/wKTARcB/wFmASgBCQHbARQCAQEZEAABbQI1AdwDgQH/A4QB/wOJAf8DiAH/A4YB/wOG - Af8DgwH/A4EB/wNvAf8DWQH/AVcCHQHbARQCAQEZDAABjgE/AQ8B3AHZAZ0BIgH/AeUBpQEjAf8B7QGs - ASQB/wHrAaoBJAH/AeoBqAEjAf8B6gGoASMB/wHjAaQBIQH/AdkBnAEgAf8BswGBARsB/wF+AVwBEwH/ - AVsBFgEIAdsBFAIBARkMAAFTAToBGgHcATwBmAE8Af8BNwGoATcB/wE0AbMBNAH/ATUBsAE1Af8BNQGu - ATUB/wE1Aa4BNQH/ATYBpgE2Af8BOgGZAToB/wE6AXgBOgH/ASgBUwEoAf8BRwETAQoB2wEUAgEBGQwA - AYkBTwE1AdwCywF9Af8C1AGBAf8C2gGDAf8C2AGCAf8C1wGCAf8C1wGCAf8C1AGAAf8CzAF5Af8CtAFe - Af8CmQEmAf8BZgEoAQkB2wEUAgEBGQgAATACAQFKA4EB/wOJAf8DkAH/A5AB/wOQAf8DkAH/A4oB/wOM - Af8DgwH/A2kB/wNsAf8DVwH/ATACAQFKCAABMQIBAUoB3AGgASMB/wHsAaoBJAH/AfYBswEpAf8B9gGz - ASkB/wH2AbMBKQH/AfYBswEpAf8B7wGtASQB/wHyAbABJQH/AeIBpAEjAf8BpAF6ARoB/wGrAX4BGgH/ - AXwBWwETAf8BMAIBAUoIAAEwAgEBSgE7AZ0BOwH/ATQBsQE0Af8BMgHAATIB/wEyAcABMgH/ATIBwAEy - Af8BMgHAATIB/wEzAbYBMwH/ATEBuwExAf8BOAGkATgB/wE2AW4BNgH/ATcBcwE3Af8BJwFSAScB/wEw - AgEBSggAATECAQFKAs0BgAH/AtgBggH/At8BjQH/At8BjQH/At8BjQH/At8BjQH/AtsBgwH/At0BhwH/ - AtIBgQH/Aq0BUgH/ArABVQH/ApgBIgH/ATACAQFKCAADiQH/A44B/wOQAf8DkAH/A5AB/wOPAf8DiwH/ - A3UB/wNVAf8DMgH/AwMB/wNrAf8DaAH/A1EB/wECAwEEAAHrAawBJwH/AfIBsgEqAf8B+AG0AScB/wH2 - AbMBKQH/AfYBswEpAf8B9QGyASkB/wHsAawBKAH/Ab4BigEgAf8BcwFUARQB/wEpAR8BCQH/AwMB/wGq - AX4BGgH/AaQBeQEYAf8BaAFOARMB/wECAwEEAAE3AbEBNwH/ATUBuwE1Af8BLgHEAS4B/wEyAcABMgH/ - ATIBwAEyAf8BMgG/ATIB/wE4AbIBOAH/AUEBfgFBAf8BKAFMASgB/wEPARsBDwH/AwMB/wE3AXIBNwH/ - ATQBbgE0Af8BJQFEASUB/wECAwEEAALYAYcB/wLcAY8B/wLhAYsB/wLfAY0B/wLfAY0B/wLeAY0B/wLY - AYoB/wK1AXIB/wKPASQB/wJMAQMB/wMDAf8CrgFVAf8CrQFOAf8CiAEcAf8BAgMBBAADkQH/A5wB/wOR - Af8DkAH/A3oB/wNcAf8DOwH/AwkB/wMDAf8DAwH/AysB/wOBAf8DdgH/A1wB/wEUAgEBGQQAAfkBtgEo - Av8BvwE2Af8B+AG3ASsB/wH2AbMBKQH/AcoBkwEiAf8BgQFgARcB/wE3ASkBCwH/AgQBAwH/AwMB/wMD - Af8BHwEXAQcB/wHgAaMBIgH/AcQBjgEdAf8BhAFiARUB/wEUAgEBGQQAAS8BxgEvAf8BNQHRATUB/wEz - AcMBMwH/ATIBwAEyAf8BQQGHAUEB/wEtAVYBLQH/ARQBJQEUAf8DAwH/AwMB/wMDAf8BDAEVAQwB/wE5 - AaEBOQH/AT0BgQE9Af8BKwFZASsB/wEUAgEBGQQAAuIBjQH/AuUBoQH/At8BkgH/At8BjQH/Ar8BeQH/ - ApgBMwH/Al0BAwH/AhwBAwH/AwMB/wMDAf8CQwEDAf8C0QGAAf8CuwFvAf8CngEwAf8BFAIBARkBCwIB - AQ0DmgH/A6YB/wOVAf8DkAH/A2YB/wNOAf8DHwH/AwMB/wMDAf8DAwH/A1cB/wONAf8DgAH/A2IB/wEU - AgEBGQELAgEBDQH/Ab4BMgL/AcUBRQH/AfoBugEvAf8B9gGzASkB/wGZAXIBGwH/AWMBSAESAf8BEgEO - AQUB/wMDAf8DAwH/AwMB/wF4AVgBFQH/AfQBsQEmAf8B2AGbAR8B/wGVAW4BFgH/ARQCAQEZAQsCAQEN - ATIB0AEyAf8BPwHTAT8B/wE1AcYBNQH/ATIBwAEyAf8BNQFmATUB/wEjAUEBIwH/AQgBDQEIAf8DAwH/ - AwMB/wMDAf8BKgFPASoB/wEwAb4BMAH/AToBlwE6Af8BMAFkATAB/wEUAgEBGQELAgEBDQLlAZwB/wLo - Aa0B/wLhAZgB/wLfAY0B/wKkAUwB/wKFARYB/wI3AQMB/wMDAf8DAwH/AwMB/wKSASkB/wLeAYgB/wLL - AXkB/wKlAT4B/wEUAgEBGQELAgEBDQOfAf8DqgH/A5UB/wOQAf8DjwH/A48B/wNEAf8DAwH/AwMB/wMR - Af8DeQH/A4gB/wOCAf8DZAH/ARQCAQEZAQsCAQENAf8BwQE7Av8ByAFNAf8B+QG5ATAB/wH2AbMBKQH/ - AfUBsgEpAf8B9AGyASkB/wFJATYBDgH/AwMB/wMDAf8BCAEHAQMB/wHHAZEBIgH/AesBqgEkAf8B4gGj - ASIB/wGaAXIBFwH/ARQCAQEZAQsCAQENATgB0gE4Af8BRAHVAUQB/wE2AcUBNgH/ATIBwAEyAf8BMgG/ - ATIB/wEzAb4BMwH/ARoBMAEaAf8DAwH/AwMB/wEFAQYBBQH/AUEBhAFBAf8BNQGwATUB/wE4AaMBOAH/ - ATEBaAExAf8BFAIBARkBCwIBAQ0C5gGkAf8C6wG0Af8C4QGYAf8C3wGNAf8C3gGNAf8C3gGNAf8CbwEJ - Af8DAwH/AwMB/wIsAQMB/wK9AXgB/wLYAYIB/wLRAYAB/wKoAUMB/wEUAgEBGQQAA54B/wOxAf8DngH/ - A40B/wOKAf8DSwH/AwMB/wNXAf8DEwH/A0QB/wOOAf8DkAH/A4EB/wNkAf8BCQIBAQoEAAH/AcABOQL/ - AcwBWAL/AcEBOAH/Ae8BrwEpAf8B6wGrAScB/wFYAUABEAH/AwMB/wF3AVcBFQH/AQkBBwEDAf8BSQE2 - AQ4B/wHzAbEBKQH/AfYBswEpAf8B3AGfASEB/wGZAXIBGAH/AQkCAQEKBAABNgHSATYB/wFMAdYBTAH/ - ATYB0AE2Af8BNwG2ATcB/wE4AbABOAH/AR8BOgEfAf8DAwH/ASkBTgEpAf8BBQEHAQUB/wEaATABGgH/ - ATQBvQE0Af8BMgHAATIB/wE6AZwBOgH/ATIBZwEyAf8BCQIBAQoEAALmAaIB/wLtAb0B/wLlAaIB/wLb - AYsB/wLYAYgB/wJ9ARAB/wJMAQMB/wKSAScB/wIwAQMB/wJvAQkB/wLdAY0B/wLfAY0B/wLNAX0B/wKn - AUUB/wEJAgEBCgQAA5kB/wO2Af8DrQH/A5EB/wNLAf8DAwH/A2QB/wOTAf8DQgH/A2YB/wORAf8DkAH/ - A4EB/wNoAf8IAAH/AbwBMAL/Ac4BXwL/AckBUQH/AfEBtAEyAf8BWAFAARAB/wMDAf8BlAFvARoB/wH6 - AbYBKgH/AUUBMwENAf8BmQFyARsB/wH5AbUBKgH/AfYBswEpAf8B2QGdASEB/wGhAXkBHAH/CAABMQHP - ATEB/wFRAdcBUQH/AUcB1QFHAf8BPwG2AT8B/wEfAToBHwH/AwMB/wE0AWMBNAH/AS8BxwEvAf8BGQEu - ARkB/wE1AWYBNQH/ATABxgEwAf8BMgHAATIB/wE7AZkBOwH/ATgBbAE4Af8IAALkAZkB/wLuAcIB/wLs - AbgB/wLaAZgB/wJ9ARAB/wMDAf8CoQFIAf8C4gGQAf8CawEHAf8CpAFMAf8C4QGQAf8C3wGNAf8CzAF9 - Af8CqAFTAf8IAAEwAgEBSgO4Af8DuwH/A3QB/wMJAf8DZQH/A5EB/wOOAf8DdAH/A4MB/wOQAf8DkAH/ - A4EB/wEwAgEBSggAATECAQFKAf8BzgFgAv8B0AFlAf8BtQGJAScB/wIEAQMB/wGYAXIBGwH/AfgBtAEp - Af8B8wGxASkB/wG6AYcBIAH/Ad8BogEmAf8B9gGzASkB/wH2AbMBKQH/Ad8BoQEiAf8BMAIBAUoIAAEw - AgEBSgFSAdgBUgH/AVUB2AFVAf8BSAF2AUgB/wMDAf8BNQFmATUB/wExAcQBMQH/ATQBvQE0Af8BQAF7 - AUAB/wE8AaABPAH/ATIBwAEyAf8BMgHAATIB/wE6AZ8BOgH/ATACAQFKCAABMQIBAUoC7wHEAf8C8AHI - Af8CrgF5Af8CHAEDAf8CpAFMAf8C4QGPAf8C3QGNAf8CtAFvAf8C0AGCAf8C3wGNAf8C3wGNAf8CzwGA - Af8BMAIBAUoMAAFwAikBygPAAf8DlQH/A38B/wOeAf8DlQH/A5QB/wOQAf8DkAH/A5AB/wOQAf8BdwJI - AegQAAGGATIBEgHKAf8B0wFuAf8B7QG4ATwB/wHHAZgBLQH/Af4BwAE5Af8B9wG5ATEB/wH3AbcBLwH/ - AfYBswEpAf8B9gGzASkB/wH2AbMBKQH/AfYBswEpAf8BqQFdARUB6BAAAVcBNgERAcoBWwHaAVsB/wFO - Aa4BTgH/AUsBhAFLAf8BOgHNAToB/wE5AcEBOQH/ATcBwQE3Af8BMgHAATIB/wEyAcABMgH/ATIBwAEy - Af8BMgHAATIB/wFMAVkBIQHoEAABfwE7ASwBygLxAc8B/wLWAaUB/wK8AYUB/wLkAaQB/wLeAZkB/wLf - AZYB/wLfAY0B/wLfAY0B/wLfAY0B/wLfAY0B/wGgAXQBSAHoFAABcgIrAckDuwH/A7YB/wOuAf8DowH/ - A5cB/wORAf8DjQH/A4wB/wFwAjYB2xgAAYMBMQEUAckB/wHQAWYC/wHNAV8C/wHLAVUC/wHDAUIB/wH9 - AbsBMAH/AfcBtwEsAf8B8gGxAScB/wHyAa8BJQH/AZYBQwEOAdsYAAFXATQBEQHJAVYB2QFWAf8BUQHY - AVEB/wFKAdYBSgH/AT0B0wE9Af8BMwHMATMB/wE0AcIBNAH/ATMBuwEzAf8BMAG7ATAB/wFRAUUBFgHb - GAABgAE6AS4ByQLwAcgB/wLvAcMB/wLtAbsB/wLoAaoB/wLjAZkB/wLfAZIB/wLdAYoB/wLdAYcB/wGQ - AVcBNQHbHAABMAIBAUoDogH/A6YB/wOqAf8DowH/A5kB/wOMAf8BMAIBAUogAAExAgEBSgH/AcMBQAL/ - AcYBSAL/AckBTwL/AcIBQgL/Ab0BMAH/AfIBrwElAf8BMQIBAUogAAEwAgEBSgE7AdMBOwH/AUEB1AFB - Af8BRQHVAUUB/wE9AdMBPQH/ATEBzwExAf8BMQG7ATEB/wEwAgEBSiAAATECAQFKAucBqAH/AuoBsAH/ - AusBtQH/AugBqgH/AuQBmQH/At0BhwH/ATECAQFKLAABCwIBAQ0BCwIBAQ04AAELAgEBDQELAgEBDTgA - AQsCAQENAQsCAQENOAABCwIBAQ0BCwIBAQ00AAEEAgEBBAEUAgEBGQEUAgEBGQEUAgEBGQECAwEsAAEE - AgEBBAEUAgEBGQEUAgEBGQEUAgEBGQECAwEsAAEEAgEBBAEUAgEBGQEUAgEBGQEUAgEBGQECAwEsAAEE - AgEBBAEUAgEBGQEUAgEBGQEUAgEBGQECAwEkAAEwAgEBSgIrAVMB/wIhAUYB/wIdAUEB/wIcAT8B/wIb - ATwB/wIbATEB/wEwAgEBSgEUAgEBGRwAATACAQFKAXsBAwFWAf8BZAEDAUcB/wFaAQMBQAH/AVgBAwE+ - Af8BUwEDATsB/wFJAQMBNAH/ATACAQFKARQCAQEZHAABMAIBAUoBIgFEAVEB/wEZATkBRgH/ARUBNAFB - Af8BFQEzAT8B/wEUATABOwH/ARUBKQEwAf8BMAIBAUoBFAIBARkcAAEwAgEBSgOFAf8DdgH/A24B/wNs - Af8DaAH/A18B/wEwAgEBSgEUAgEBGRgAAUoBHwE6AecCLgFoAf8CLQFoAf8CLQFnAf8CLAFmAf8CKwFj - Af8CKQFfAf8CJAFSAf8CHAFBAf8BRQEKAREB2wEUAgEBGRQAAYABAwE+AecBjwEDAWcB/wGPAQMBZwH/ - AY0BAwFmAf8BiwEDAWQB/wGIAQMBYgH/AYIBAwFeAf8BdAEDAVEB/wFaAQMBPwH/AVUBAwETAdsBFAIB - ARkUAAFDATEBOgHnASMBUwFnAf8BIQFUAWgB/wEhAVIBZwH/ASABUQFlAf8BHwFQAWMB/wEeAUwBXwH/ - ARsBQgFSAf8BFQE0AUEB/wFCAQ4BEQHbARQCAQEZFAABhwJaAecDlwH/A5cB/wOVAf8DkwH/A5IB/wON - Af8DgQH/A24B/wFcAiIB2wEUAgEBGRAAAU0BFAE0AdwCLQGEAf8CKAGRAf8CJQGbAf8CJgGZAf8CJgGY - Af8CJgGYAf8CKAGQAf8CLAGEAf8CLQFoAf8CIAFIAf8BQgEJAREB2wEUAgEBGQwAAX4BAwEyAdwBrQED - AXwB/wG2AQMBgQH/AbwBAwGDAf8BuwEDAYMB/wG6AQMBggH/AboBAwGCAf8BtAEDAYEB/wGsAQMBewH/ - AY4BAwFmAf8BZQEDAUcB/wFVAQMBEwHbARQCAQEZDAABRwEpATQB3AEdAWkBhQH/ARYBcgGUAf8BEQF4 - AZ8B/wESAXcBnQH/ARMBdgGbAf8BEwF2AZsB/wEWAXEBkwH/ARsBaQGGAf8BIQFTAWgB/wEYAToBRwH/ - AUIBDgERAdsBFAIBARkMAAF+AkcB3AOsAf8DsgH/A7YB/wO1Af8DtAH/A7QB/wOxAf8DqwH/A5YB/wN3 - Af8BXAIiAdsBFAIBARkIAAEwAgEBSgItAYcB/wIlAZoB/wIiAagB/wIiAagB/wIiAagB/wIiAagB/wIk - AZ4B/wIiAaMB/wIqAY8B/wIqAV8B/wIrAWMB/wIfAUYB/wEwAgEBSggAATACAQFKAbABAwF+Af8BvAED - AYMB/wHGAQMBigH/AcYBAwGKAf8BxgEDAYoB/wHGAQMBigH/Ab4BAwGFAf8BwQEDAYcB/wG0AQMBgQH/ - AYMBAwFeAf8BiAEDAWIB/wFjAQMBRgH/ATACAQFKCAABMAIBAUoBHAFsAYkB/wERAXcBngH/AQwBgQGt - Af8BDAGBAa0B/wEMAYEBrQH/AQwBgQGtAf8BDwF6AaMB/wENAX0BpwH/ARgBcAGRAf8BIAFNAV8B/wEg - AU8BYwH/ARcBOQFGAf8BMAIBAUoIAAEwAgEBSgOuAf8DtgH/A70B/wO9Af8DvQH/A70B/wO3Af8DuQH/ - A7EB/wOOAf8DkgH/A3UB/wEwAgEBSggAAigBmQH/AiYBogH/Ah8BqwH/AiIBqAH/AiIBqAH/AiMBpwH/ - AigBmwH/AjMBbQH/AiABQQH/Ag0BGAH/AwMB/wIrAWIB/wIpAV8B/wIeATsB/wECAwEEAAG9AQMBhAH/ - AcUBAwGJAf8BxgEDAYoB/wHGAQMBigH/AcYBAwGKAf8BxgEDAYoB/wG/AQMBhQH/AZkBAwFuAf8BXgED - AUIB/wEiAQMBGAH/AwMB/wGHAQMBYQH/AYIBAwFeAf8BVgEDAT0B/wECAwEEAAEUAXgBnQH/AREBfgGn - Af8BCQGBAbEB/wEMAYEBrQH/AQwBgQGtAf8BDQGAAasB/wEVAXkBngH/AScBWAFsAf8BGQE1AUEB/wEK - ARQBGAH/AwMB/wEgAU8BYgH/AR4BTAFfAf8BFwEwAToB/wECAwEEAAO2Af8DuwH/A70B/wO9Af8DvQH/ - A7wB/wO4Af8DngH/A3EB/wM2Af8DAwH/A5EB/wONAf8DagH/AQIDAQQAAh8BrQH/AiIBuQH/AiMBqgH/ - AiIBqAH/AjMBdwH/AiQBSgH/AhABIAH/AwMB/wMDAf8DAwH/AgoBEgH/AioBjAH/AjABcgH/AiIBTQH/ - ARQCAQEZBAAByAEDAYwB/wHXAQMBlgH/AckBAwGMAf8BxgEDAYoB/wGjAQMBdQH/AWsBAwFMAf8BLQED - ASAB/wEEAQMBBAH/AwMB/wMDAf8BGQEDARIB/wGzAQMBgAH/AZsBAwFvAf8BbAEDAUwB/wEUAgEBGQQA - AQkBgQGzAf8BCQGKAb8B/wENAYEBrwH/AQwBgQGtAf8BJQFfAXcB/wEcAT0BSgH/AQ0BGgEgAf8DAwH/ - AwMB/wMDAf8BCAEPARIB/wEZAW8BjgH/ASMBWwFyAf8BGgE+AU0B/wEUAgEBGQQAA74B/wPHAf8DvgH/ - A70B/wOkAf8DfAH/A0QB/wMIAf8DAwH/AwMB/wMsAf8DrwH/A58B/wN9Af8BFAIBARkBCwIBAQ0CIQG3 - Af8CIwHCAf8CJQGtAf8CIgGoAf8CKgFYAf8CHAE4Af8CBgELAf8DAwH/AwMB/wMDAf8CIQFEAf8CIQGm - Af8CLAGDAf8CJQFXAf8BFAIBARkBCwIBAQ0B1AEDAZQB/wHhAQMBnQH/Ac4BAwGPAf8BxgEDAYoB/wF/ - AQMBWQH/AVEBAwE5Af8BDwEDAQsB/wMDAf8DAwH/AwMB/wFiAQMBRQH/AcMBAwGIAf8BqwEDAXoB/wF5 - AQMBVQH/ARQCAQEZAQsCAQENAQkBiAG9Af8BCQGQAcgB/wEOAYIBsgH/AQwBgQGtAf8BIAFHAVcB/wEW - AS4BOAH/AQUBCQELAf8DAwH/AwMB/wMDAf8BGgE3AUMB/wELAX8BqwH/ARwBaAGEAf8BGwFGAVcB/wEU - AgEBGQELAgEBDQPFAf8DzgH/A8EB/wO9Af8DiQH/A2UB/wMeAf8DAwH/AwMB/wMDAf8DdQH/A7oB/wOq - Af8DhAH/ARQCAQEZAQsCAQENAiIBvAH/AiQBxwH/AiYBrAH/AiIBqAH/AiMBpwH/AiQBpQH/AhUBKgH/ - AwMB/wMDAf8CBAEGAf8CMwF1Af8CJgGZAf8CKQGNAf8CJgFaAf8BFAIBARkBCwIBAQ0B2gEDAZgB/wHn - AQMBoQH/Ac4BAwGPAf8BxgEDAYoB/wHGAQMBigH/AcUBAwGKAf8BOwEDASoB/wMDAf8DAwH/AQcBAwEG - Af8BoQEDAXMB/wG7AQMBgwH/AbMBAwGAAf8BfQEDAVgB/wEUAgEBGQELAgEBDQEJAYwBwgH/AQoBlAHN - Af8BDwGBAbEB/wEMAYEBrQH/AQ0BgAGrAf8BDgF/AaoB/wEQASIBKQH/AwMB/wMDAf8BBAEFAQYB/wEl - AV0BdAH/ARIBdwGdAf8BFwFwAZAB/wEcAUgBWgH/ARQCAQEZAQsCAQENA8kB/wPRAf8DwQH/A70B/wO8 - Af8DvAH/A1MB/wMDAf8DAwH/Aw8B/wOjAf8DtQH/A7AB/wOHAf8BFAIBARkEAAIiAbsB/wIlAc4B/wIj - AbkB/wInAZ4B/wIpAZkB/wIZATIB/wMDAf8CIQFDAf8CBAEGAf8CFQEqAf8CJAGkAf8CIgGoAf8CLAGH - Af8CJwFYAf8BCQIBAQoEAAHZAQMBlwH/Ae4BAwGmAf8B1wEDAZYB/wHCAQMBhwH/Ab4BAwGFAf8BRwED - ATIB/wMDAf8BYQEDAUQB/wEIAQMBBgH/ATsBAwEqAf8BxQEDAYkB/wHGAQMBigH/Aa8BAwF9Af8BfQED - AVgB/wEJAgEBCgQAAQkBiwHBAf8BCgGZAdQB/wEKAYkBvgH/ARMBewGiAf8BFQF4AZ0B/wETASkBMgH/ - AwMB/wEZATcBQwH/AQQCBgH/ARABIgEpAf8BDwF+AakB/wEMAYEBrQH/ARsBawGJAf8BHQFHAVgB/wEJ - AgEBCgQAA8gB/wPWAf8DyAH/A7oB/wO3Af8DXgH/AwMB/wN0Af8DEQH/A1MB/wO7Af8DvQH/A60B/wOH - Af8BCQIBAQoEAAIhAbUB/wImAdEB/wIkAckB/wIvAZ4B/wIZATIB/wMDAf8CKQFVAf8CIAGuAf8CFAEn - Af8CKgFYAf8CIAGtAf8CIgGoAf8CLQGEAf8CLAFdAf8IAAHSAQMBkgH/AfMBAwGqAf8B6gEDAaMB/wHJ - AQMBjAH/AUcBAwEyAf8DAwH/AXsBAwFXAf8BygEDAY0B/wE4AQMBKAH/AX8BAwFZAf8ByQEDAYwB/wHG - AQMBigH/Aa0BAwF8Af8BggEDAV4B/wgAAQkBhwG7Af8BCgGcAdkB/wEKAZYB0AH/ARsBfAGhAf8BEwEp - ATIB/wMDAf8BIAFFAVUB/wEJAYIBtAH/ARABIAEnAf8BIAFHAVcB/wEKAYEBswH/AQwBgQGtAf8BHAFq - AYYB/wEiAUsBXAH/CAADxAH/A9kB/wPTAf8DvgH/A14B/wMDAf8DhgH/A78B/wNPAf8DiQH/A74B/wO9 - Af8DrAH/A40B/wgAATACAQFKAiYB0wH/AiYB1gH/AjoBZQH/AwMB/wIqAVcB/wIhAasB/wIkAaQB/wIz - AWoB/wItAYsB/wIiAagB/wIiAagB/wIrAYoB/wEwAgEBSggAATECAQFKAfQBAwGqAf8B+AEDAa0B/wGY - AQMBbQH/AQQBAwEEAf8BfgEDAVkB/wHIAQMBjAH/AcUBAwGJAf8BlgEDAWwB/wG0AQMBgQH/AcYBAwGK - Af8BxgEDAYoB/wGxAQMBfwH/ATACAQFKCAABMAIBAUoBCgGdAdkB/wEKAZ8B3QH/AS8BVAFiAf8DAwH/ - ASABRwFXAf8BCwGBAbEB/wEPAX4BqQH/AScBVgFpAf8BHAFuAYwB/wEMAYEBrQH/AQwBgQGtAf8BGgFt - AYwB/wEwAgEBSggAATECAQFKA9oB/wPcAf8DnQH/AwgB/wOIAf8DvgH/A7sB/wOcAf8DsQH/A70B/wO9 - Af8DrgH/ATACAQFKDAABTwEJATIBygIoAdoB/wI8AZYB/wI8AXQB/wImAbYB/wIpAagB/wInAagB/wIi - AagB/wIiAagB/wIiAagB/wIiAagB/wFDARgBTwHoEAABfgEDASgBygH+AQMBsQH/Ac4BAwGQAf8BqQED - AXkB/wHXAQMBlgH/Ac0BAwGPAf8BywEDAY4B/wHGAQMBigH/AcYBAwGKAf8BxgEDAYoB/wHGAQMBigH/ - AZMBAwFIAegQAAFKASYBMwHKAQoBowHiAf8BKgF5AZYB/wEvAV8BcwH/AQ4BiAG7Af8BEwGBAawB/wER - AYEBrQH/AQwBgQGtAf8BDAGBAa0B/wEMAYEBrQH/AQwBgQGtAf8BOwE9AU8B6BAAAXoCMwHKA98B/wPB - Af8DqQH/A8gB/wPBAf8DwAH/A70B/wO9Af8DvQH/A70B/wGNAmYB6BQAAU8BCAExAckCJgHWAf8CJgHS - Af8CJQHMAf8CIwG/Af8CIwGyAf8CJAGpAf8CJAGjAf8CIQGjAf8BSwERAT0B2xgAAYABAwEoAckB+QED - Aa0B/wH0AQMBqgH/Ae0BAwGlAf8B3wEDAZsB/wHRAQMBkgH/AckBAwGMAf8BwwEDAYgB/wHBAQMBhwH/ - AYYBAwE1AdsYAAFJASUBMwHJAQoBnwHdAf8BCgGcAdkB/wEKAZgB0wH/AQkBjwHGAf8BCwGFAbgB/wEO - AYEBrwH/AQ8BfQGnAf8BDAF9AagB/wFCAS0BPQHbGAABewIzAckD3AH/A9kB/wPUAf8DzAH/A8MB/wO+ - Af8DugH/A7kB/wGFAkcB2xwAATACAQFKAiIBvwH/AiMBwwH/AiQByAH/AiMBvwH/AiEBtQH/AiIBowH/ - ATACAQFKIAABMQIBAUoB3QEDAZoB/wHjAQMBngH/AegBAwGiAf8B3wEDAZsB/wHSAQMBkgH/AcEBAwGH - Af8BMAIBAUogAAEwAgEBSgEJAY4BxQH/AQkBkQHKAf8BCgGVAc4B/wEJAY8BxgH/AQkBhwG7Af8BDQF9 - AacB/wEwAgEBSiAAATECAQFKA8sB/wPOAf8D0QH/A8wB/wPEAf8DuQH/ATACAQFKLAABCwIBAQ0BCwIB - AQ04AAELAgEBDQELAgEBDTgAAQsCAQENAQsCAQENOAABCwIBAQ0BCwIBAQ00AAEEAgEBBAEUAgEBGQEU - AgEBGQEUAgEBGQECAwEsAAEEAgEBBAEUAgEBGQEUAgEBGQEUAgEBGQECAwEsAAEEAgEBBAEUAgEBGQEU - AgEBGQEUAgEBGQECAwEsAAEEAgEBBAEUAgEBGQEUAgEBGQEUAgEBGQECAwEkAAEwAgEBSgNAAf8DOQH/ - AzcB/wM2Af8DNQH/AzMB/wEwAgEBSgEUAgEBGRwAATACAQFKAW8BSQE8Af8BXgE5AS0B/wFWATMBKAH/ - AVQBMgEnAf8BTwEwASUB/wFBASwBJAH/ATACAQFKARQCAQEZHAABMAIBAUoBJgFCASYB/wEdATgBHQH/ - ARkBNAEZAf8BGQEyARkB/wEYAS8BGAH/ARcBKAEXAf8BMAIBAUoBFAIBARkcAAEwAgEBSgFQAVIBKwH/ - AUQBRgEgAf8BPgFBARwB/wE9AT8BGwH/AToBPAEaAf8BMAExARoB/wEwAgEBSgEUAgEBGRgAAVcCLQHn - A0oB/wNKAf8DSQH/A0gB/wNHAf8DRAH/Az4B/wM3Af8BTwITAdsBFAIBARkUAAF8ATIBKAHnAYcBUwFB - Af8BiAFTAUAB/wGGAVIBPwH/AYQBUAE+Af8BggFOATwB/wF/AUsBOQH/AW4BQQEzAf8BVgEzAScB/wFR - Ag4B2wEUAgEBGRQAAUgBMQEbAecBKQFTASkB/wEoAVMBKAH/ASgBUgEoAf8BJwFRAScB/wEmAVABJgH/ - ASQBTAEkAf8BIAFCASAB/wEZATQBGQH/AUIBDgEJAdsBFAIBARkUAAFlAToBHAHnAWQBaAEtAf8BZQFo - ASwB/wFkAWcBLAH/AWIBZgErAf8BYAFkASoB/wFcAWABKAH/AVABUwEjAf8BPgFBARwB/wFLAREBCgHb - ARQCAQEZEAABXgIkAdwDXAH/A2IB/wNnAf8DZgH/A2QB/wNkAf8DYQH/A1sB/wNKAf8DOgH/AU8CEwHb - ARQCAQEZDAABfAEpAR8B3AGwAV4BQQH/AcIBXgE7Af8BzQFfATkB/wHKAV8BOgH/AckBXgE5Af8ByQFe - ATkB/wHBAV0BOgH/AbEBXAE/Af8BhwFSAUAB/wFgATkBLAH/AVECDgHbARQCAQEZDAABSwEpARQB3AEq - AWsBKgH/ASYBdgEmAf8BJAF9ASQB/wElAXsBJQH/ASUBegElAf8BJQF6ASUB/wEmAXQBJgH/ASgBawEo - Af8BKAFTASgB/wEcATkBHAH/AUIBDgEJAdsBFAIBARkMAAFoATQBFAHcAYEBhAEsAf8BiwGSAScB/wGU - AZwBIwH/AZIBmQEkAf8BkQGYASUB/wGRAZgBJQH/AYoBkAEmAf8BgQGEASoB/wFkAWgBLAH/AUYBSAEf - Af8BSwERAQkB2wEUAgEBGQgAATACAQFKA14B/wNnAf8DcAH/A3AB/wNwAf8DcAH/A2gB/wNqAf8DYQH/ - A0UB/wNHAf8DOQH/ATACAQFKCAABMAIBAUoBtQFeAUAB/wHLAV8BOgH/AdQBZgFAAf8B1AFmAUAB/wHU - AWYBQAH/AdQBZgFAAf8BzwFgAToB/wHSAWEBOwH/Ab4BXgE9Af8BfwFMATsB/wGBAU4BPAH/AV4BOAEr - Af8BMAIBAUoIAAEwAgEBSgEpAW4BKQH/ASQBfAEkAf8BIwGDASMB/wEjAYMBIwH/ASMBgwEjAf8BIwGD - ASMB/wEjAX8BIwH/ASIBgQEiAf8BJwFzAScB/wEmAUwBJgH/ASYBTwEmAf8BHAE5ARwB/wEwAgEBSggA - ATACAQFKAYIBiAErAf8BkwGbASQB/wGgAagBIQH/AaABqAEhAf8BoAGoASEB/wGgAagBIQH/AZcBnwEi - Af8BmwGjASEB/wGIAY4BKAH/AVwBXwEpAf8BYAFjASoB/wFEAUcBHgH/ATACAQFKCAADZwH/A20B/wNw - Af8DcAH/A3AB/wNuAf8DaQH/A08B/wM4Af8DJwH/AwMB/wNHAf8DRAH/AzYB/wECAwEEAAHJAWIBPgH/ - Ac8BZgFCAf8B1wFkAT0B/wHUAWYBQAH/AdQBZgFAAf8B0wFmAUAB/wHKAWQBQAH/AY4BWgFIAf8BVwE3 - ASwB/wEfARQBEQH/AwMB/wGBAU4BPQH/AX8BSwE5Af8BTgEyASkB/wECAwEEAAEmAXwBJgH/ASUBgQEl - Af8BIAGFASAB/wEjAYMBIwH/ASMBgwEjAf8BIwGCASMB/wEnAX0BJwH/AS0BVwEtAf8BHAE0ARwB/wEL - ARMBCwH/AwMB/wEmAU8BJgH/ASQBTAEkAf8BGgEvARoB/wECAwEEAAGTAZoBJgH/AZsBowEkAf8BowGr - AR0B/wGgAagBIQH/AaABqAEhAf8BnwGnASEB/wGUAZsBJwH/AWkBbQEyAf8BPwFBAR8B/wEXARgBDAH/ - AwMB/wFfAWIBKwH/AVwBYAEoAf8BOQE7AR0B/wECAwEEAANxAf8DfgH/A3EB/wNwAf8DVAH/AzsB/wMs - Af8DCAH/AwMB/wMDAf8DIgH/A18B/wNQAf8DPAH/ARQCAQEZBAAB2AFmAT8B/wHbAXMBTwH/AdQBaQFD - Af8B1AFmAUAB/wGcAV0BRwH/AWMBPgEyAf8BKgEbARYB/wIEAQMB/wMDAf8DAwH/ARgBDwENAf8BuwFe - AT4B/wGVAVkBQwH/AWcBPgEwAf8BFAIBARkEAAEhAYcBIQH/ASMBkAEjAf8BIwGFASMB/wEjAYMBIwH/ - AS0BXwEtAf8BIAE8ASAB/wEOARoBDgH/AwMB/wMDAf8DAwH/AQkBDwEJAf8BKAFxASgB/wErAVsBKwH/ - AR4BPgEeAf8BFAIBARkEAAGkAa0BHgH/AbABugEgAf8BogGqASEB/wGgAagBIQH/AXMBdwExAf8BSAFK - ASMB/wEfASABEAH/AwMB/wMDAf8DAwH/AhIBCgH/AYYBjAEpAf8BbgFyAS8B/wFKAU0BIgH/ARQCAQEZ - AQsCAQENA3sB/wOHAf8DdQH/A3AB/wNCAf8DNAH/AxoB/wMDAf8DAwH/AwMB/wM5Af8DbAH/A1oB/wNA - Af8BFAIBARkBCwIBAQ0B2gFwAUsB/wHdAXwBWwH/AdUBbQFJAf8B1AFmAUAB/wF2AUoBOwH/AUoBLwEm - Af8BDgEKAQgB/wMDAf8DAwH/AwMB/wFaATkBLgH/AdQBYgE7Af8BrwFcAT8B/wF0AUQBNAH/ARQCAQEZ - AQsCAQENASIBjgEiAf8BJAGXASQB/wElAYcBJQH/ASMBgwEjAf8BJQFGASUB/wEYAS0BGAH/AQYBCQEG - Af8DAwH/AwMB/wMDAf8BHQE3AR0B/wEiAYEBIgH/ASgBagEoAf8BIQFFASEB/wEUAgEBGQELAgEBDQGu - AbcBHwH/AbkBwgEhAf8BpQGtASMB/wGgAagBIQH/AVUBWAEpAf8BNgE4ARsB/wILAQYB/wMDAf8DAwH/ - AwMB/wFCAUQBIQH/AZ4BpgEfAf8BgQGDASoB/wFUAVcBJQH/ARQCAQEZAQsCAQENA4EB/wOMAf8DdQH/ - A3AB/wNuAf8DbgH/AzAB/wMDAf8DAwH/Aw8B/wNTAf8DZgH/A2AB/wNBAf8BFAIBARkBCwIBAQ0B3AF2 - AVIB/wHfAYEBYQH/AdQBbQFKAf8B1AFmAUAB/wHTAWYBQAH/AdIBZgFBAf8BNwEjARwB/wMDAf8DAwH/ - AQcCBQH/AZkBXQFHAf8BygFfAToB/wG9AV0BPAH/AXgBRgE2Af8BFAIBARkBCwIBAQ0BIwGSASMB/wEl - AZsBJQH/ASUBhgElAf8BIwGDASMB/wEjAYIBIwH/ASQBgQEkAf8BEgEhARIB/wMDAf8DAwH/AQQBBQEE - Af8BLQFdAS0B/wElAXsBJQH/AScBcgEnAf8BIgFIASIB/wEUAgEBGQELAgEBDQGzAbwBIAH/Ab0BxwEi - Af8BpAGsASQB/wGgAagBIQH/AZ8BpwEhAf8BngGmASIB/wEoASkBFAH/AwMB/wMDAf8CBgEEAf8BcQF1 - ATIB/wGSAZkBJAH/AYgBjgEoAf8BVwFaASYB/wEUAgEBGQQAA4AB/wOWAf8DgAH/A2wB/wNoAf8DMwH/ - AwMB/wM5Af8DEQH/AzAB/wNtAf8DcAH/A10B/wNBAf8BCQIBAQoEAAHcAXUBUQH/AeEBhgFqAf8B2gF0 - AVAB/wHMAWUBQgH/AckBYwFAAf8BQgEqASIB/wMDAf8BWgE4AS0B/wEHAQYBBQH/ATcBIwEcAf8B0QFm - AUEB/wHUAWYBQAH/AbUBXQE/Af8BdgFHATcB/wEJAgEBCgQAASMBkgEjAf8BJgGgASYB/wEkAZABJAH/ - ASYBfwEmAf8BJwF7AScB/wEWASgBFgH/AwMB/wEdATYBHQH/AQQBBQEEAf8BEgEhARIB/wEkAYEBJAH/ - ASMBgwEjAf8BKAFuASgB/wEjAUcBIwH/AQkCAQEKBAABsgG7ASAB/wHEAc4BIwH/AbABuQEhAf8BlwGe - ASYB/wGTAZoBJwH/ATABMgEYAf8DAwH/AUEBQwEgAf8CBgEEAf8BKAEpARQB/wGdAaQBIwH/AaABqAEh - Af8BggGHASoB/wFWAVkBJgH/AQkCAQEKBAADegH/A5sB/wOQAf8DcQH/AzMB/wMDAf8DQQH/A3IB/wMv - Af8DQgH/A3EB/wNwAf8DXAH/A0QB/wgAAdoBbgFJAf8B4gGKAXAB/wHfAYEBZQH/AcgBbgFPAf8BQgEq - ASIB/wMDAf8BcgFIATkB/wHYAWgBQQH/ATQBIQEbAf8BdgFKATsB/wHXAWcBQQH/AdQBZgFAAf8BsQFd - AUAB/wF8AU0BPgH/CAABIgGNASIB/wEnAaQBJwH/ASYBnQEmAf8BLAF/ASwB/wEWASgBFgH/AwMB/wEk - AUQBJAH/ASEBiAEhAf8BEgEgARIB/wElAUYBJQH/ASEBhwEhAf8BIwGDASMB/wEpAWsBKQH/AScBSgEn - Af8IAAGsAbUBHwH/AcgB0gEjAf8BwAHKASIB/wGYAZ4BLQH/ATABMgEYAf8DAwH/AVMBVQEoAf8BpgGv - AR4B/wEmAScBEwH/AVUBWAEpAf8BpQGtAR8B/wGgAagBIQH/AYEBhAErAf8BWgFcASwB/wgAATACAQFK - A54B/wOiAf8DTwH/AwgB/wNCAf8DcQH/A20B/wNOAf8DYQH/A3AB/wNwAf8DXgH/ATACAQFKCAABMQIB - AUoB4gGLAXEB/wHjAY8BdQH/AYQBXgFQAf8CBAEDAf8BdQFJATsB/wHWAWcBQQH/AdEBZgFBAf8BiwFZ - AUcB/wG6AWABQgH/AdQBZgFAAf8B1AFmAUAB/wG5AV4BPwH/ATACAQFKCAABMAIBAUoBJwGkAScB/wEo - AacBKAH/ATIBUQEyAf8DAwH/ASUBRgElAf8BIgGFASIB/wEkAYEBJAH/AS0BVQEtAf8BKgFwASoB/wEj - AYMBIwH/ASMBgwEjAf8BKAFwASgB/wEwAgEBSggAATACAQFKAcgB0wEkAf8BzAHWASQB/wFiAWQBOQH/ - AwMB/wFVAVcBKQH/AaMBqwEfAf8BnQGkASMB/wFnAWoBMgH/AYUBiwEsAf8BoAGoASEB/wGgAagBIQH/ - AYQBigEqAf8BMAIBAUoMAAFoAiMBygOoAf8DdQH/A1kB/wOAAf8DdQH/A3QB/wNwAf8DcAH/A3AB/wNw - Af8BYAI2AegQAAF+ASEBGAHKAeQBlAF8Af8BvQF5AWEB/wGYAWUBUwH/AdcBdQFTAf8B0AFvAU0B/wHR - AWwBSQH/AdQBZgFAAf8B1AFmAUAB/wHUAWYBQAH/AdQBZgFAAf8BlgE1ASIB6BAAAU8BJgEJAcoBKQGr - ASkB/wE2AXoBNgH/ATQBXQE0Af8BJgGOASYB/wEoAYMBKAH/ASYBhAEmAf8BIwGDASMB/wEjAYMBIwH/ - ASMBgwEjAf8BIwGDASMB/wFDAT0BFwHoEAABdQEyAQkBygHRAdwBJQH/AZABlgE7Af8BcAF0ATsB/wGt - AbYBJAH/AaEBqAEnAf8BoQGpASUB/wGgAagBIQH/AaABqAEhAf8BoAGoASEB/wGgAagBIQH/AXgBTwEY - AegUAAFrAiUByQOiAf8DmwH/A5IB/wODAf8DeAH/A3EB/wNsAf8DagH/AWECKAHbGAABfgEgARkByQHj - AY8BdgH/AeIBiwFwAf8B4AGEAWgB/wHdAXoBWAH/AdgBbgFKAf8B1AFpAUQB/wHQAWQBPwH/AdMBYQE6 - Af8BiwEnARgB2xgAAVEBJgEIAckBKAGnASgB/wEnAaQBJwH/ASYBnwEmAf8BJAGWASQB/wEjAYsBIwH/ - ASQBhAEkAf8BJAGBASQB/wEiAYEBIgH/AUsBMQEOAdsYAAF0ATEBCAHJAcwB1wEkAf8ByAHSASQB/wHC - AcwBIwH/AbcBwAEhAf8BqgGzASEB/wGhAaoBIgH/AZsBowEiAf8BnAGkASAB/wF1AT0BDgHbHAABMAIB - AUoDggH/A4cB/wOMAf8DgwH/A3oB/wNqAf8BMAIBAUogAAExAgEBSgHdAXkBVwH/Ad4BfgFdAf8B3wGB - AWMB/wHdAXoBWAH/AdoBbgFJAf8B0gFhATsB/wEwAgEBSiAAATACAQFKASQBlQEkAf8BJQGZASUB/wEl - AZwBJQH/ASQBlgEkAf8BIgGNASIB/wEiAYEBIgH/ATACAQFKIAABMAIBAUoBtgG/ASAB/wG6AcQBIQH/ - Ab4ByAEiAf8BtwHAASEB/wGsAbUBHwH/AZsBowEhAf8BMAIBAUosAAELAgEBDQELAgEBDTgAAQsCAQEN - AQsCAQENOAABCwIBAQ0BCwIBAQ04AAELAgEBDQELAgEBDRwAAUIBTQE+BwABPgMAASgDAAFAAwABYAMA - AQEBAAEBBgABAxYAA/+BAAH8AR8B/AEfAfwBHwH8AR8B8AEHAfABBwHwAQcB8AEHAeABAwHgAQMB4AED - AeABAwHAAQEBwAEBAcABAQHAAQEBgAEBAYABAQGAAQEBgAEBAYABAAGAAQABgAEAAYABAAGAAQABgAEA - AYABAAGAEQABgAEAAYABAAGAAQABgAEAAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBwAED - AcABAwHAAQMBwAEDAeABBwHgAQcB4AEHAeABBwHwAQ8B8AEPAfABDwHwAQ8B/gF/Af4BfwH+AX8B/gF/ - AfwBHwH8AR8B/AEfAfwBHwHwAQcB8AEHAfABBwHwAQcB4AEDAeABAwHgAQMB4AEDAcABAQHAAQEBwAEB - AcABAQGAAQEBgAEBAYABAQGAAQEBgAEAAYABAAGAAQABgAEAAYABAAGAAQABgAEAAYARAAGAAQABgAEA - AYABAAGgAQABgAEBAYABAQGAAQEBsAEBAYABAQGAAQEBgAEBAbABAQHAAQMBwAEDAcABAwHQAQMB4AEH - AeABBwHgAQcB/gEHAfABDwHwAQ8B8AEPAfABDwH+AX8B/gF/Af4BfwH+AX8B/AEfAfwBHwH8AR8B/AEf - AfABBwHwAQcB8AEHAfABBwHgAQMB4AEDAeABAwHgAQMBwAEBAcABAQHAAQEBwAEBAYABAQGAAQEBgAEB - AYABAQGAAQABgAEAAYABAAGAAQABgAEAAYABAAGAAQABgBEAAYABAAGAAQABgAEAAYABAAGAAQEBgAEB - AYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAcABAwHAAQMBwAEDAcABAwHgAQcB4AEHAeABBwHgAQcB8AEP - AfABDwHwAQ8B8AEPAf4BfwH+AX8B/gF/Af4BfwH8AR8B/AEfAfwBHwH8AR8B8AEHAfABBwHwAQcB8AEH - AeABAwHgAQMB4AEDAeABAwHAAQEBwAEBAcABAQHAAQEBgAEBAYABAQGAAQEBgAEBAYABAAGAAQABgAEA - AYABAAGAAQABgAEAAYABAAGAEQABgAEAAYABAAGAAQABgAEAAYABAQGAAQEBgAEBAYABAQGAAQEBgAEB - AYABAQGAAQEBwAEDAcABAwHAAQMBwAEDAeABBwHgAQcB4AEHAeABBwHwAQ8B8AEPAfABDwHwAQ8B/gF/ - Af4BfwH+AX8B/gF/AfwBHwH8AR8B/AEfAfwBHwHwAQcB8AEHAfABBwHwAQcB4AEDAeABAwHgAQMB4AED - AcABAQHAAQEBwAEBAcABAQGAAQEBgAEBAYABAQGAAQEBgAEAAYABAAGAAQABgAEAAYABAAGAAQABgAEA - AYARAAGAAQABgAEAAYABAAGAAQABgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQHAAQMBwAED - AcABAwHAAQMB4AEHAeABBwHgAQcB4AEHAfABDwHwAQ8B8AEPAfABDwH+AX8B/gF/Af4BfwH+AX8L + AQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZAQIDASQAATACAQFKAToBRgGCAf8BKgE1AXMB/wEl + AS8BagH/ASQBLgFnAf8BIgEsAWEB/wEkASoBUAH/ATACAQFKARQCAQEZHAABMAIBAUoBkgFSAZIB/wGB + AUEBgQH/AXwBOwF8Af8BegE5AXoB/wF0ATgBdAH/AWQBOAFkAf8BMAIBAUoBFAIBARkcAAEwAgEBSgEE + ApAB/wEEAnkB/wEEAm4B/wEEAmsB/wEEAmUB/wEEAlgB/wEwAgEBSgEUAgEBGRwAATACAQFKA6UB/wOR + Af8DhwH/A4UB/wOBAf8DeQH/ATACAQFKARQCAQEZGAABVgEoAVEB5wE7AUwBpgH/AToBSwGnAf8BOQFK + AaUB/wE4AUgBowH/ATYBRgGgAf8BNAFDAZkB/wEuATsBgwH/ASQBLgFqAf8BTwEKARMB2wEUAgEBGRQA + AYgBMQFRAecBsAFZAbAB/wGxAVcBsQH/AbABVQGwAf8BrwFTAa8B/wGsAVEBrAH/AaYBTgGmAf8BkwFG + AZMB/wF8AToBfAH/AV8BEQEZAdsBFAIBARkUAAE5AlMB5wEEAq0B/wEEAq0B/wEEAqsB/wEEAqgB/wEE + AqQB/wEEAp0B/wEEAogB/wEEAm0B/wFHAhYB2wEUAgEBGRQAAZACWgHnA7sB/wO7Af8DuAH/A7YB/wO1 + Af8DrwH/A54B/wOHAf8BZgIiAdsBFAIBARkQAAFYARoBOgHcATwBUwHTAf8BPQFWAeEB/wE+AVgB6QH/ + AT4BWAHnAf8BPQFXAeYB/wE9AVcB5gH/AToBVAHhAf8BOQFRAdUB/wE6AUoBpgH/ASkBNAF2Af8BTwEK + ARMB2wEUAgEBGQwAAX4BJAE6AdwByQFtAckB/wHTAXEB0wH/AdkBcwHZAf8B2AF0AdgB/wHXAXIB1wH/ + AdcBcgHXAf8B0gFuAdIB/wHKAWsBygH/AbABVwGwAf8BggFAAYIB/wFfAQ4BGQHbARQCAQEZDAABRgI/ + AdwBBALRAf8BBALcAf8BBALkAf8BBALiAf8BBALhAf8BBALhAf8BBALaAf8BBALQAf8BBAKsAf8BBAJ6 + Af8BRwIWAdsBFAIBARkMAAGEAj8B3APTAf8D2gH/A98B/wPeAf8D3AH/A9wB/wPZAf8D0gH/A7oB/wOS + Af8BZgIiAdsBFAIBARkIAAEwAgEBSgE+AVUB1wH/AT4BWAHoAf8BRgFgAfAB/wFGAWAB8AH/AUYBYAHw + Af8BRgFgAfAB/wE+AVkB6wH/AUABWgHvAf8BPQFWAd4B/wE2AUUBmAH/ATcBRwGfAf8BKAEzAXQB/wEw + AgEBSggAATACAQFKAcsBbwHLAf8B2AFzAdgB/wHgAX0B4AH/AeABfQHgAf8B4AF9AeAB/wHgAX0B4AH/ + AdsBdQHbAf8B3gF3Ad4B/wHRAXAB0QH/AaUBUAGlAf8BqwFSAasB/wGBAT8BgQH/ATACAQFKCAABMAIB + AUoBBALVAf8BBALjAf8BBALwAf8BBALwAf8BBALwAf8BBALwAf8BBALmAf8BBALpAf8BBALaAf8BBAKe + Af8BBAKkAf8BBAJ4Af8BMAIBAUoIAAEwAgEBSgPVAf8D3wH/A+YB/wPmAf8D5gH/A+YB/wPgAf8D4QH/ + A9kB/wOwAf8DtQH/A5AB/wEwAgEBSggAAUMBXAHlAf8BSQFiAesB/wFCAV0B9AH/AUYBYAHwAf8BRgFg + AfAB/wFGAWAB7wH/AUYBXgHlAf8BQwFUAa4B/wEqATQBawH/AREBFAEmAf8DBAH/ATgBRwGdAf8BNAFD + AZkB/wEoATABYAH/AQIDAQQAAdcBeAHXAf8B3AF+AdwB/wHiAXsB4gH/AeABfQHgAf8B4AF9AeAB/wHf + AX0B3wH/AdgBegHYAf8BsgFmAbIB/wF8AUABfAH/AT8BIgE/Af8DBAH/AaoBUgGqAf8BpgFOAaYB/wFz + AT0BcwH/AQIDAQQAAQQC5QH/AQQC7gH/AQQC8AH/AQQC8AH/AQQC8AH/AQQC7wH/AQQC5wH/AQQCuQH/ + AQQCcgH/AQQCKQH/AwQB/wEEAqMB/wEEAp0B/wEEAmgB/wECAwEEAAPfAf8D5AH/A+YB/wPmAf8D5gH/ + A+UB/wPgAf8DwwH/A4sB/wNHAf8DBAH/A7QB/wOvAf8DggH/AQIDAQQAAUUBYAH0Af8BWgFyAfUB/wFL + AWQB8AH/AUYBYAHwAf8BQAFTAcAB/wEvAToBeQH/ARUBGgE0Af8DBQH/AwQB/wMEAf8BDQEPAR0B/wE8 + AVUB3AH/ATwBTwG4Af8BLAE4AX8B/wEUAgEBGQQAAeMBfQHjAf8B5gGLAeYB/wHgAYEB4AH/AeABfQHg + Af8BuwFrAbsB/wGGAUYBhgH/AUsBJwFLAf8BHwEVAR8B/wMEAf8DBAH/ATcBHQE3Af8BzwFvAc8B/wG4 + AWIBuAH/AYsBQwGLAf8BFAIBARkEAAEEAvIB/wEIA/8BBAL0Af8BBALwAf8BBALFAf8BBAKBAf8BBAI3 + Af8BBAIFAf8DBAH/AwQB/wEEAh8B/wEEAtgB/wEEArwB/wEEAoEB/wEUAgEBGQQAA+cB/wPyAf8D5wH/ + A+YB/wPJAf8DmAH/A1kB/wMLAf8DBAH/AwQB/wM7Af8D1gH/A8MB/wOZAf8BFAIBARkBCwIBAQ0BVgFu + AfUB/wFpAX8B9gH/AVIBagHvAf8BRgFgAfAB/wE3AUUBjAH/ASUBLQFbAf8BCQEKARIB/wMEAf8DBAH/ + AwQB/wEsATYBbwH/AUABWwHxAf8BOAFQAdQB/wEvAT4BigH/ARQCAQEZAQsCAQENAeYBhwHmAf8B6QGX + AekB/wHhAYMB4QH/AeABfQHgAf8BmgFQAZoB/wFvAToBbwH/AS0BGAEtAf8DBAH/AwQB/wMEAf8BgQFC + AYEB/wHfAXgB3wH/AckBagHJAf8BmQFJAZkB/wEUAgEBGQELAgEBDQEEA/8BFAP/AQQC+QH/AQQC8AH/ + AQQClgH/AQQCYgH/AQQCEwH/AwQB/wMEAf8DBAH/AQQCdwH/AQQC7AH/AQQCzwH/AQQCjgH/ARQCAQEZ + AQsCAQENA/AB/wP5Af8D6wH/A+YB/wOqAf8DgAH/AykB/wMEAf8DBAH/AwQB/wOQAf8D4gH/A9AB/wOk + Af8BFAIBARkBCwIBAQ0BXwF2AfYB/wFyAYIB9wH/AVMBawHuAf8BRgFgAfAB/wFGAWAB7wH/AUcBYQHu + Af8BGwEhAUQB/wMEAf8DBAH/AgYBCQH/AUEBVAG7Af8BPgFYAecB/wE7AVQB3gH/ATABPwGQAf8BFAIB + ARkBCwIBAQ0B5wGOAecB/wHrAZ8B6wH/AeABgwHgAf8B4AF9AeAB/wHfAX0B3wH/Ad4BfQHeAf8BWQEu + AVkB/wMEAf8DBAH/ASQBFAEkAf8BuQFqAbkB/wHYAXQB2AH/AdABbwHQAf8BngFKAZ4B/wEUAgEBGQEL + AgEBDQEMA/8BGwP/AQQC+QH/AQQC8AH/AQQC7wH/AQQC7wH/AQQCSAH/AwQB/wMEAf8BBAIJAf8BBALC + Af8BBALiAf8BBALZAf8BBAKTAf8BFAIBARkBCwIBAQ0D9AH/A/0B/wPrAf8D5gH/A+UB/wPlAf8DawH/ + AwQB/wMEAf8DFAH/A8gB/wPeAf8D2AH/A6gB/wEUAgEBGQQAAV0BdAH1Af8BfQGMAfcB/wFcAXMB9AH/ + AUcBYAHnAf8BRQFeAeQB/wEgASgBUQH/AwQB/wErATUBbgH/AgYBCgH/ARsBIQFEAf8BRwFhAe0B/wFG + AWAB8AH/ATsBUwHYAf8BMgFAAY0B/wEJAgEBCgQAAecBjQHnAf8B7QGpAe0B/wHmAYwB5gH/AdoBfAHa + Af8B1wF5AdcB/wFlATUBZQH/AScBCwEnAf8BgAFBAYAB/wEmARQBJgH/AVkBLgFZAf8B3QF8Ad0B/wHg + AX0B4AH/AcwBbQHMAf8BnAFLAZwB/wEJAgEBCgQAAQoD/wElA/8BCQP/AQQC6gH/AQQC5gH/AQQCVwH/ + AwQB/wEEAnYB/wEEAgoB/wEEAkgB/wEEAu4B/wEEAvAB/wEEAtQB/wEEApMB/wEJAgEBCgQAA/MB/wQA + A/MB/wPiAf8D4AH/A3gB/wMEAf8DjgH/AxcB/wNrAf8D5AH/A+YB/wPUAf8DqAH/AQkCAQEKBAABUwFs + AfUB/wGBAZIB+AH/AXYBhgH3Af8BWAFuAeIB/wEgASgBUQH/AwQB/wE2AUMBhwH/AUcBYgH0Af8BGgEg + AUAB/wE3AUUBjAH/AUgBYgHzAf8BRgFgAfAB/wE7AVMB1AH/AToBSAGTAf8IAAHlAYQB5QH/Ae4BrwHu + Af8B6wGjAesB/wHYAYQB2AH/AWUBNQFlAf8DBAH/AZYBTwGWAf8B4wF/AeMB/wFWAS0BVgH/AZoBUAGa + Af8B4gF/AeIB/wHgAX0B4AH/AckBbQHJAf8BoQFUAaEB/wgAAQQC/gH/ASsD/wEfA/8BBALzAf8BBAJX + Af8DBAH/AQQCkQH/AQQC9AH/AQQCRQH/AQQClgH/AQQC9AH/AQQC8AH/AQQC0QH/AQQCngH/CAAD7gH/ + CAAD5wH/A3gB/wMEAf8DpgH/A+gB/wNmAf8DqgH/A+cB/wPmAf8D0wH/A68B/wgAATACAQFKAYIBkwH4 + Af8BhwGYAfgB/wFQAVwBnwH/AwUB/wE3AUQBiwH/AUcBYQHyAf8BRwFhAe0B/wFDAVMBqgH/AUMBWgHY + Af8BRgFgAfAB/wFGAWAB8AH/ATwBVAHaAf8BMAIBAUoIAAEwAgEBSgHuAbAB7gH/Ae8BtQHvAf8BpwFu + AacB/wEfARUBHwH/AZkBUAGZAf8B4QF+AeEB/wHdAXwB3QH/AbABYwGwAf8BzQF0Ac0B/wHgAX0B4AH/ + AeABfQHgAf8BzQFvAc0B/wEwAgEBSggAATACAQFKASwD/wEwA/8BBAK4Af8BBAIFAf8BBAKVAf8BBALy + Af8BBALuAf8BBAK1Af8BBALaAf8BBALwAf8BBALwAf8BBALXAf8BMAIBAUoIAAEwAgEBSggAA8IB/wML + Af8DqQH/A+cB/wPkAf8DwQH/A9kB/wPmAf8D5gH/A9UB/wEwAgEBSgwAAV4BFQEoAcoBjwGfAfkB/wFu + AX4B1QH/AVMBYgG2Af8BXwF2AfEB/wFWAW0B6gH/AVIBaQHsAf8BRgFgAfAB/wFGAWAB8AH/AUYBYAHw + Af8BRgFgAfAB/wFTASoBZwHoEAABcwEYASYBygHxAbwB8QH/AdEBkwHRAf8BtgF6AbYB/wHkAY4B5AH/ + Ad4BhQHeAf8B3gGBAd4B/wHgAX0B4AH/AeABfQHgAf8B4AF9AeAB/wHgAX0B4AH/AZcBNQFgAegQAAFS + AigBygE4A/8BBAL5Af8BBALMAf8BCQP/AQQC+AH/AQQC9gH/AQQC8AH/AQQC8AH/AQQC8AH/AQQC8AH/ + ATQCZwHoEAABdwIoAcoEAAPrAf8DzwH/A/MB/wPrAf8D6gH/A+YB/wPmAf8D5gH/A+YB/wGZAmcB6BQA + AWABFAEmAckBiAGZAfgB/wGBAZMB+AH/AXoBiQH3Af8BZgF8AfYB/wFTAWwB8wH/AUwBZQHvAf8BRAFe + Ae0B/wE/AVoB8AH/AVcBGQFDAdsYAAF0ARoBJQHJAe8BtgHvAf8B7gGvAe4B/wHsAaYB7AH/AegBlQHo + Af8B5AGEAeQB/wHgAYEB4AH/Ad0BegHdAf8B3gF2Ad4B/wGFASIBQQHbGAABVAImAckBMQP/ASsD/wEj + A/8BEgP/AQQC/AH/AQQC9AH/AQQC7AH/AQQC6QH/AUcCQgHbKAAD9wH/A+0B/wPnAf8D4gH/A+EB/wGG + AkIB2xwAATACAQFKAWQBegH2Af8BbAGBAfYB/wFzAYQB9wH/AWYBfAH2Af8BUwFsAfUB/wFAAVoB7wH/ + ATACAQFKIAABMAIBAUoB6AGTAegB/wHqAZoB6gH/AesBoAHrAf8B6AGVAegB/wHlAYQB5QH/Ad4BdwHe + Af8BMAIBAUogAAEwAgEBSgEQA/8BFwP/AR0D/wESA/8BBAL+Af8BBALpAf8BMAIBAUogAAEwAgEBSgP3 + Af8D+QH/A/0B/wP3Af8D7gH/A+EB/wEwAgEBSiwAAQsCAQENAQsCAQENOAABCwIBAQ0BCwIBAQ04AAEL + AgEBDQELAgEBDTgAAQsCAQENAQsCAQENNAABBAIBAQQBFAIBARkBFAIBARkBFAIBARkBAgMBLAABBAIB + AQQBFAIBARkBFAIBARkBFAIBARkBAgMBLAABBAIBAQQBFAIBARkBFAIBARkBFAIBARkBAgMBLAABBAIB + AQQBFAIBARkBFAIBARkBFAIBARkBAgMBJAABMAIBAUoDZAH/A1kB/wNUAf8DUwH/A1EB/wNMAf8BMAIB + AUoBFAIBARkcAAEwAgEBSgGRAW8BHQH/AX0BXAEVAf8BcgFTARIB/wFvAVEBEgH/AWkBTAERAf8BWAFC + ARMB/wEwAgEBSgEUAgEBGRwAATACAQFKATcBYQE3Af8BKgFSASoB/wElAUwBJQH/ASQBSgEkAf8BIwFF + ASMB/wEiAToBIgH/ATACAQFKARQCAQEZHAABMAIBAUoCngFNAf8ClgEoAf8CkwEaAf8CkgEXAf8CjQEU + Af8CegEXAf8BMAIBAUoBFAIBARkYAAFsAjUB5wNxAf8DcQH/A28B/wNuAf8DbQH/A2kB/wNgAf8DVAH/ + AVsCFgHbARQCAQEZFAABkAFCAQ8B5wG0AYIBHQH/AbQBgQEcAf8BsgGBARwB/wGvAYEBGwH/AawBgAEa + Af8BpAF6ARkB/wGOAWsBFwH/AXIBUgESAf8BXAERAQcB2wEUAgEBGRQAAVQBOAEgAecBPAF5ATwB/wE7 + AXoBOwH/AToBeQE6Af8BOQF3ATkB/wE3AXUBNwH/ATUBbwE1Af8BLwFhAS8B/wElAUsBJQH/AU8BDgEJ + AdsBFAIBARkUAAGIAVMBNwHnArIBYwH/ArQBYQH/ArIBXgH/ArEBWgH/ArEBVgH/Aq0BTwH/AqIBOQH/ + ApMBGAH/AWYBHQEIAdsBFAIBARkQAAFpAikB3AOBAf8DhAH/A4kB/wOIAf8DhgH/A4YB/wODAf8DgQH/ + A3AB/wNaAf8BWwIWAdsBFAIBARkMAAGEAS8BDAHcAdkBnQEjAf8B5QGlASQB/wHtAawBJQH/AesBqgEl + Af8B6gGoASQB/wHqAagBJAH/AeMBpAEiAf8B2QGcASEB/wGzAYEBHAH/AX8BXQEUAf8BXAERAQcB2wEU + AgEBGQwAAVgBKgEUAdwBPQGYAT0B/wE4AagBOAH/ATUBswE1Af8BNgGwATYB/wE2Aa4BNgH/ATYBrgE2 + Af8BNwGmATcB/wE7AZkBOwH/ATsBeQE7Af8BKQFUASkB/wFPAQ4BCQHbARQCAQEZDAABfgE6ASkB3ALL + AX4B/wLUAYEB/wLaAYMB/wLYAYIB/wLXAYIB/wLXAYIB/wLUAYEB/wLMAXoB/wK0AV8B/wKZAScB/wFm + AR0BCAHbARQCAQEZCAABMAIBAUoDgQH/A4kB/wOQAf8DkAH/A5AB/wOQAf8DigH/A4wB/wODAf8DagH/ + A20B/wNYAf8BMAIBAUoIAAEwAgEBSgHcAaABJAH/AewBqgElAf8B9gGzASoB/wH2AbMBKgH/AfYBswEq + Af8B9gGzASoB/wHvAa0BJQH/AfIBsAEmAf8B4gGkASQB/wGkAXsBGwH/AasBfwEbAf8BfQFcARQB/wEw + AgEBSggAATACAQFKATwBnQE8Af8BNQGxATUB/wEzAcABMwH/ATMBwAEzAf8BMwHAATMB/wEzAcABMwH/ + ATQBtgE0Af8BMgG7ATIB/wE5AaQBOQH/ATcBbwE3Af8BOAF0ATgB/wEoAVMBKAH/ATACAQFKCAABMAIB + AUoCzQGBAf8C2AGCAf8C3wGNAf8C3wGNAf8C3wGNAf8C3wGNAf8C2wGDAf8C3QGHAf8C0gGBAf8CrQFT + Af8CsAFWAf8CmAEjAf8BMAIBAUoIAAOJAf8DjgH/A5AB/wOQAf8DkAH/A48B/wOLAf8DdgH/A1YB/wMz + Af8DBAH/A2wB/wNpAf8DUgH/AQIDAQQAAesBrAEoAf8B8gGyASsB/wH4AbQBKAH/AfYBswEqAf8B9gGz + ASoB/wH1AbIBKgH/AewBrAEpAf8BvgGKASEB/wF0AVUBFQH/ASoBIAEKAf8DBAH/AaoBfwEbAf8BpAF6 + ARkB/wFpAU8BFAH/AQIDAQQAATgBsQE4Af8BNgG7ATYB/wEvAcQBLwH/ATMBwAEzAf8BMwHAATMB/wEz + Ab8BMwH/ATkBsgE5Af8BQgF/AUIB/wEpAU0BKQH/ARABHAEQAf8DBAH/ATgBcwE4Af8BNQFvATUB/wEm + AUUBJgH/AQIDAQQAAtgBhwH/AtwBjwH/AuEBiwH/At8BjQH/At8BjQH/At4BjQH/AtgBigH/ArUBcwH/ + Ao8BJQH/Ak0BBAH/AwQB/wKuAVYB/wKtAU8B/wKIAR0B/wECAwEEAAORAf8DnAH/A5EB/wOQAf8DewH/ + A10B/wM8Af8DCgH/AwQB/wMEAf8DLAH/A4EB/wN3Af8DXQH/ARQCAQEZBAAB+QG2ASkC/wG/ATcB/wH4 + AbcBLAH/AfYBswEqAf8BygGTASMB/wGBAWEBGAH/ATgBKgEMAf8CBQEEAf8DBAH/AwQB/wEgARgBCAH/ + AeABowEjAf8BxAGOAR4B/wGEAWMBFgH/ARQCAQEZBAABMAHGATAB/wE2AdEBNgH/ATQBwwE0Af8BMwHA + ATMB/wFCAYcBQgH/AS4BVwEuAf8BFQEmARUB/wMEAf8DBAH/AwQB/wENARYBDQH/AToBoQE6Af8BPgGB + AT4B/wEsAVoBLAH/ARQCAQEZBAAC4gGNAf8C5QGhAf8C3wGSAf8C3wGNAf8CvwF6Af8CmAE0Af8CXgEE + Af8CHQEEAf8DBAH/AwQB/wJEAQQB/wLRAYEB/wK7AXAB/wKeATEB/wEUAgEBGQELAgEBDQOaAf8DpgH/ + A5UB/wOQAf8DZwH/A08B/wMgAf8DBAH/AwQB/wMEAf8DWAH/A40B/wOBAf8DYwH/ARQCAQEZAQsCAQEN + Af8BvgEzAv8BxQFGAf8B+gG6ATAB/wH2AbMBKgH/AZkBcwEcAf8BZAFJARMB/wETAQ8BBgH/AwQB/wME + Af8DBAH/AXkBWQEWAf8B9AGxAScB/wHYAZsBIAH/AZUBbwEXAf8BFAIBARkBCwIBAQ0BMwHQATMB/wFA + AdMBQAH/ATYBxgE2Af8BMwHAATMB/wE2AWcBNgH/ASQBQgEkAf8BCQEOAQkB/wMEAf8DBAH/AwQB/wEr + AVABKwH/ATEBvgExAf8BOwGXATsB/wExAWUBMQH/ARQCAQEZAQsCAQENAuUBnAH/AugBrQH/AuEBmAH/ + At8BjQH/AqQBTQH/AoUBFwH/AjgBBAH/AwQB/wMEAf8DBAH/ApIBKgH/At4BiAH/AssBegH/AqUBPwH/ + ARQCAQEZAQsCAQENA58B/wOqAf8DlQH/A5AB/wOPAf8DjwH/A0UB/wMEAf8DBAH/AxIB/wN6Af8DiAH/ + A4IB/wNlAf8BFAIBARkBCwIBAQ0B/wHBATwC/wHIAU4B/wH5AbkBMQH/AfYBswEqAf8B9QGyASoB/wH0 + AbIBKgH/AUoBNwEPAf8DBAH/AwQB/wEJAQgBBAH/AccBkQEjAf8B6wGqASUB/wHiAaMBIwH/AZoBcwEY + Af8BFAIBARkBCwIBAQ0BOQHSATkB/wFFAdUBRQH/ATcBxQE3Af8BMwHAATMB/wEzAb8BMwH/ATQBvgE0 + Af8BGwExARsB/wMEAf8DBAH/AQYBBwEGAf8BQgGEAUIB/wE2AbABNgH/ATkBowE5Af8BMgFpATIB/wEU + AgEBGQELAgEBDQLmAaQB/wLrAbQB/wLhAZgB/wLfAY0B/wLeAY0B/wLeAY0B/wJwAQoB/wMEAf8DBAH/ + Ai0BBAH/Ar0BeQH/AtgBggH/AtEBgQH/AqgBRAH/ARQCAQEZBAADngH/A7EB/wOeAf8DjQH/A4oB/wNM + Af8DBAH/A1gB/wMUAf8DRQH/A44B/wOQAf8DgQH/A2UB/wEJAgEBCgQAAf8BwAE6Av8BzAFZAv8BwQE5 + Af8B7wGvASoB/wHrAasBKAH/AVkBQQERAf8DBAH/AXgBWAEWAf8BCgEIAQQB/wFKATcBDwH/AfMBsQEq + Af8B9gGzASoB/wHcAZ8BIgH/AZkBcwEZAf8BCQIBAQoEAAE3AdIBNwH/AU0B1gFNAf8BNwHQATcB/wE4 + AbYBOAH/ATkBsAE5Af8BIAE7ASAB/wMEAf8BKgFPASoB/wEGAQgBBgH/ARsBMQEbAf8BNQG9ATUB/wEz + AcABMwH/ATsBnAE7Af8BMwFoATMB/wEJAgEBCgQAAuYBogH/Au0BvQH/AuUBogH/AtsBiwH/AtgBiAH/ + An4BEQH/Ak0BBAH/ApIBKAH/AjEBBAH/AnABCgH/At0BjQH/At8BjQH/As0BfgH/AqcBRgH/AQkCAQEK + BAADmQH/A7YB/wOtAf8DkQH/A0wB/wMEAf8DZQH/A5MB/wNDAf8DZwH/A5EB/wOQAf8DgQH/A2kB/wgA + Af8BvAExAv8BzgFgAv8ByQFSAf8B8QG0ATMB/wFZAUEBEQH/AwQB/wGUAXABGwH/AfoBtgErAf8BRgE0 + AQ4B/wGZAXMBHAH/AfkBtQErAf8B9gGzASoB/wHZAZ0BIgH/AaEBegEdAf8IAAEyAc8BMgH/AVIB1wFS + Af8BSAHVAUgB/wFAAbYBQAH/ASABOwEgAf8DBAH/ATUBZAE1Af8BMAHHATAB/wEaAS8BGgH/ATYBZwE2 + Af8BMQHGATEB/wEzAcABMwH/ATwBmQE8Af8BOQFtATkB/wgAAuQBmQH/Au4BwgH/AuwBuAH/AtoBmAH/ + An4BEQH/AwQB/wKhAUkB/wLiAZAB/wJsAQgB/wKkAU0B/wLhAZAB/wLfAY0B/wLMAX4B/wKoAVQB/wgA + ATACAQFKA7gB/wO7Af8DdQH/AwoB/wNmAf8DkQH/A44B/wN1Af8DgwH/A5AB/wOQAf8DgQH/ATACAQFK + CAABMAIBAUoB/wHOAWEC/wHQAWYB/wG1AYkBKAH/AgUBBAH/AZgBcwEcAf8B+AG0ASoB/wHzAbEBKgH/ + AboBhwEhAf8B3wGiAScB/wH2AbMBKgH/AfYBswEqAf8B3wGhASMB/wEwAgEBSggAATACAQFKAVMB2AFT + Af8BVgHYAVYB/wFJAXcBSQH/AwQB/wE2AWcBNgH/ATIBxAEyAf8BNQG9ATUB/wFBAXwBQQH/AT0BoAE9 + Af8BMwHAATMB/wEzAcABMwH/ATsBnwE7Af8BMAIBAUoIAAEwAgEBSgLvAcQB/wLwAcgB/wKuAXoB/wId + AQQB/wKkAU0B/wLhAY8B/wLdAY0B/wK0AXAB/wLQAYIB/wLfAY0B/wLfAY0B/wLPAYEB/wEwAgEBSgwA + AWoCGgHKA8AB/wOVAf8DgAH/A54B/wOVAf8DlAH/A5AB/wOQAf8DkAH/A5AB/wFyAj0B6BAAAXcBIQEL + AcoB/wHTAW8B/wHtAbgBPQH/AccBmAEuAf8B/gHAAToB/wH3AbkBMgH/AfcBtwEwAf8B9gGzASoB/wH2 + AbMBKgH/AfYBswEqAf8B9gGzASoB/wGeAU4BEAHoEAABWgEjAQsBygFcAdoBXAH/AU8BrgFPAf8BTAGE + AUwB/wE7Ac0BOwH/AToBwQE6Af8BOAHBATgB/wEzAcABMwH/ATMBwAEzAf8BMwHAATMB/wEzAcABMwH/ + AU8BSgEaAegQAAFzASYBHQHKAvEBzwH/AtYBpQH/ArwBhQH/AuQBpAH/At4BmQH/At8BlgH/At8BjQH/ + At8BjQH/At8BjQH/At8BjQH/AZcBYQE9AegUAAFrAhwByQO7Af8DtgH/A64B/wOjAf8DlwH/A5EB/wON + Af8DjAH/AWsCKAHbGAABdAEgAQ4ByQH/AdABZwL/Ac0BYAL/AcsBVgL/AcMBQwH/Af0BuwExAf8B9wG3 + AS0B/wHyAbEBKAH/AfIBrwEmAf8BiQEzAQoB2xgAAVsBIQELAckBVwHZAVcB/wFSAdgBUgH/AUsB1gFL + Af8BPgHTAT4B/wE0AcwBNAH/ATUBwgE1Af8BNAG7ATQB/wExAbsBMQH/AVcBMwERAdsYAAF0ASUBHAHJ + AvAByAH/Au8BwwH/Au0BuwH/AugBqgH/AuMBmQH/At8BkgH/At0BigH/At0BhwH/AYUBQQEoAdscAAEw + AgEBSgOiAf8DpgH/A6oB/wOjAf8DmQH/A4wB/wEwAgEBSiAAATACAQFKAf8BwwFBAv8BxgFJAv8ByQFQ + Av8BwgFDAv8BvQExAf8B8gGvASYB/wEwAgEBSiAAATACAQFKATwB0wE8Af8BQgHUAUIB/wFGAdUBRgH/ + AT4B0wE+Af8BMgHPATIB/wEyAbsBMgH/ATACAQFKIAABMAIBAUoC5wGoAf8C6gGwAf8C6wG1Af8C6AGq + Af8C5AGZAf8C3QGHAf8BMAIBAUosAAELAgEBDQELAgEBDTgAAQsCAQENAQsCAQENOAABCwIBAQ0BCwIB + AQ04AAELAgEBDQELAgEBDTQAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZAQIDASwAAQQCAQEEARQCAQEZ + ARQCAQEZARQCAQEZAQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZAQIDASwAAQQCAQEEARQCAQEZ + ARQCAQEZARQCAQEZAQIDASQAATACAQFKAiwBVAH/AiIBRwH/Ah4BQgH/Ah0BQAH/AhwBPQH/AhwBMgH/ + ATACAQFKARQCAQEZHAABMAIBAUoBfAEEAVcB/wFlAQQBSAH/AVsBBAFBAf8BWQEEAT8B/wFUAQQBPAH/ + AUoBBAE1Af8BMAIBAUoBFAIBARkcAAEwAgEBSgEjAUUBUgH/ARoBOgFHAf8BFgE1AUIB/wEWATQBQAH/ + ARUBMQE8Af8BFgEqATEB/wEwAgEBSgEUAgEBGRwAATACAQFKA4UB/wN3Af8DbwH/A20B/wNpAf8DYAH/ + ATACAQFKARQCAQEZGAABTgEYATEB5wIvAWkB/wIuAWkB/wIuAWgB/wItAWcB/wIsAWQB/wIqAWAB/wIl + AVMB/wIdAUIB/wFMAQkBDgHbARQCAQEZFAABfAEEATIB5wGPAQQBaAH/AY8BBAFoAf8BjQEEAWcB/wGL + AQQBZQH/AYgBBAFjAf8BggEEAV8B/wF1AQQBUgH/AVsBBAFAAf8BVwEEAQ4B2wEUAgEBGRQAAUoBKAEx + AecBJAFUAWgB/wEiAVUBaQH/ASIBUwFoAf8BIQFSAWYB/wEgAVEBZAH/AR8BTQFgAf8BHAFDAVMB/wEW + ATUBQgH/AUsBCgEOAdsBFAIBARkUAAF/AksB5wOXAf8DlwH/A5UB/wOTAf8DkgH/A40B/wOBAf8DbwH/ + AV0CGAHbARQCAQEZEAABUwEPASgB3AIuAYQB/wIpAZEB/wImAZsB/wInAZkB/wInAZgB/wInAZgB/wIp + AZAB/wItAYQB/wIuAWkB/wIhAUkB/wFLAQgBDgHbARQCAQEZDAABeAEEASQB3AGtAQQBfQH/AbYBBAGB + Af8BvAEEAYMB/wG7AQQBgwH/AboBBAGCAf8BugEEAYIB/wG0AQQBgQH/AawBBAF8Af8BjgEEAWcB/wFm + AQQBSAH/AVcBBAEOAdsBFAIBARkMAAFNAR8BKAHcAR4BagGFAf8BFwFzAZQB/wESAXkBnwH/ARMBeAGd + Af8BFAF3AZsB/wEUAXcBmwH/ARcBcgGTAf8BHAFqAYYB/wEiAVQBaQH/ARkBOwFIAf8BSwEKAQ4B2wEU + AgEBGQwAAXgCNQHcA6wB/wOyAf8DtgH/A7UB/wO0Af8DtAH/A7EB/wOrAf8DlgH/A3gB/wFdAhgB2wEU + AgEBGQgAATACAQFKAi4BhwH/AiYBmgH/AiMBqAH/AiMBqAH/AiMBqAH/AiMBqAH/AiUBngH/AiMBowH/ + AisBjwH/AisBYAH/AiwBZAH/AiABRwH/ATACAQFKCAABMAIBAUoBsAEEAX8B/wG8AQQBgwH/AcYBBAGK + Af8BxgEEAYoB/wHGAQQBigH/AcYBBAGKAf8BvgEEAYUB/wHBAQQBhwH/AbQBBAGBAf8BgwEEAV8B/wGI + AQQBYwH/AWQBBAFHAf8BMAIBAUoIAAEwAgEBSgEdAW0BiQH/ARIBeAGeAf8BDQGBAa0B/wENAYEBrQH/ + AQ0BgQGtAf8BDQGBAa0B/wEQAXsBowH/AQ4BfgGnAf8BGQFxAZEB/wEhAU4BYAH/ASEBUAFkAf8BGAE6 + AUcB/wEwAgEBSggAATACAQFKA64B/wO2Af8DvQH/A70B/wO9Af8DvQH/A7cB/wO5Af8DsQH/A44B/wOS + Af8DdgH/ATACAQFKCAACKQGZAf8CJwGiAf8CIAGrAf8CIwGoAf8CIwGoAf8CJAGnAf8CKQGbAf8CNAFu + Af8CIQFCAf8CDgEZAf8DBAH/AiwBYwH/AioBYAH/Ah8BPAH/AQIDAQQAAb0BBAGEAf8BxQEEAYkB/wHG + AQQBigH/AcYBBAGKAf8BxgEEAYoB/wHGAQQBigH/Ab8BBAGFAf8BmQEEAW8B/wFfAQQBQwH/ASMBBAEZ + Af8DBAH/AYcBBAFiAf8BggEEAV8B/wFXAQQBPgH/AQIDAQQAARUBeQGdAf8BEgF/AacB/wEKAYEBsQH/ + AQ0BgQGtAf8BDQGBAa0B/wEOAYEBqwH/ARYBegGeAf8BKAFZAW0B/wEaATYBQgH/AQsBFQEZAf8DBAH/ + ASEBUAFjAf8BHwFNAWAB/wEYATEBOwH/AQIDAQQAA7YB/wO7Af8DvQH/A70B/wO9Af8DvAH/A7gB/wOe + Af8DcgH/AzcB/wMEAf8DkQH/A40B/wNrAf8BAgMBBAACIAGtAf8CIwG5Af8CJAGqAf8CIwGoAf8CNAF4 + Af8CJQFLAf8CEQEhAf8DBAH/AwQB/wMEAf8CCwETAf8CKwGMAf8CMQFzAf8CIwFOAf8BFAIBARkEAAHI + AQQBjAH/AdcBBAGWAf8ByQEEAYwB/wHGAQQBigH/AaMBBAF2Af8BbAEEAU0B/wEuAQQBIQH/AQUBBAEF + Af8DBAH/AwQB/wEaAQQBEwH/AbMBBAGBAf8BmwEEAXAB/wFtAQQBTQH/ARQCAQEZBAABCgGBAbMB/wEK + AYoBvwH/AQ4BgQGvAf8BDQGBAa0B/wEmAWABeAH/AR0BPgFLAf8BDgEbASEB/wMEAf8DBAH/AwQB/wEJ + ARABEwH/ARoBcAGOAf8BJAFcAXMB/wEbAT8BTgH/ARQCAQEZBAADvgH/A8cB/wO+Af8DvQH/A6QB/wN9 + Af8DRQH/AwkB/wMEAf8DBAH/Ay0B/wOvAf8DnwH/A34B/wEUAgEBGQELAgEBDQIiAbcB/wIkAcIB/wIm + Aa0B/wIjAagB/wIrAVkB/wIdATkB/wIHAQwB/wMEAf8DBAH/AwQB/wIiAUUB/wIiAaYB/wItAYMB/wIm + AVgB/wEUAgEBGQELAgEBDQHUAQQBlAH/AeEBBAGdAf8BzgEEAY8B/wHGAQQBigH/AYABBAFaAf8BUgEE + AToB/wEQAQQBDAH/AwQB/wMEAf8DBAH/AWMBBAFGAf8BwwEEAYgB/wGrAQQBewH/AXoBBAFWAf8BFAIB + ARkBCwIBAQ0BCgGIAb0B/wEKAZAByAH/AQ8BggGyAf8BDQGBAa0B/wEhAUgBWAH/ARcBLwE5Af8BBgEK + AQwB/wMEAf8DBAH/AwQB/wEbATgBRAH/AQwBgAGrAf8BHQFpAYQB/wEcAUcBWAH/ARQCAQEZAQsCAQEN + A8UB/wPOAf8DwQH/A70B/wOJAf8DZgH/Ax8B/wMEAf8DBAH/AwQB/wN2Af8DugH/A6oB/wOEAf8BFAIB + ARkBCwIBAQ0CIwG8Af8CJQHHAf8CJwGsAf8CIwGoAf8CJAGnAf8CJQGlAf8CFgErAf8DBAH/AwQB/wIF + AQcB/wI0AXYB/wInAZkB/wIqAY0B/wInAVsB/wEUAgEBGQELAgEBDQHaAQQBmAH/AecBBAGhAf8BzgEE + AY8B/wHGAQQBigH/AcYBBAGKAf8BxQEEAYoB/wE8AQQBKwH/AwQB/wMEAf8BCAEEAQcB/wGhAQQBdAH/ + AbsBBAGDAf8BswEEAYEB/wF+AQQBWQH/ARQCAQEZAQsCAQENAQoBjAHCAf8BCwGUAc0B/wEQAYEBsQH/ + AQ0BgQGtAf8BDgGBAasB/wEPAYABqgH/AREBIwEqAf8DBAH/AwQB/wEFAQYBBwH/ASYBXgF1Af8BEwF4 + AZ0B/wEYAXEBkAH/AR0BSQFbAf8BFAIBARkBCwIBAQ0DyQH/A9EB/wPBAf8DvQH/A7wB/wO8Af8DVAH/ + AwQB/wMEAf8DEAH/A6MB/wO1Af8DsAH/A4cB/wEUAgEBGQQAAiMBuwH/AiYBzgH/AiQBuQH/AigBngH/ + AioBmQH/AhoBMwH/AwQB/wIiAUQB/wIFAQcB/wIWASsB/wIlAaQB/wIjAagB/wItAYcB/wIoAVkB/wEJ + AgEBCgQAAdkBBAGXAf8B7gEEAaYB/wHXAQQBlgH/AcIBBAGHAf8BvgEEAYUB/wFIAQQBMwH/AwQB/wFi + AQQBRQH/AQkBBAEHAf8BPAEEASsB/wHFAQQBiQH/AcYBBAGKAf8BrwEEAX4B/wF+AQQBWQH/AQkCAQEK + BAABCgGLAcEB/wELAZkB1AH/AQsBiQG+Af8BFAF8AaIB/wEWAXkBnQH/ARQBKgEzAf8DBAH/ARoBOAFE + Af8BBQIHAf8BEQEjASoB/wEQAX8BqQH/AQ0BgQGtAf8BHAFsAYkB/wEeAUgBWQH/AQkCAQEKBAADyAH/ + A9YB/wPIAf8DugH/A7cB/wNfAf8DBAH/A3UB/wMSAf8DVAH/A7sB/wO9Af8DrQH/A4cB/wEJAgEBCgQA + AiIBtQH/AicB0QH/AiUByQH/AjABngH/AhoBMwH/AwQB/wIqAVYB/wIhAa4B/wIVASgB/wIrAVkB/wIh + Aa0B/wIjAagB/wIuAYQB/wItAV4B/wgAAdIBBAGSAf8B8wEEAaoB/wHqAQQBowH/AckBBAGMAf8BSAEE + ATMB/wMEAf8BfAEEAVgB/wHKAQQBjQH/ATkBBAEpAf8BgAEEAVoB/wHJAQQBjAH/AcYBBAGKAf8BrQEE + AX0B/wGCAQQBXwH/CAABCgGHAbsB/wELAZwB2QH/AQsBlgHQAf8BHAF9AaEB/wEUASoBMwH/AwQB/wEh + AUYBVgH/AQoBggG0Af8BEQEhASgB/wEhAUgBWAH/AQsBgQGzAf8BDQGBAa0B/wEdAWsBhgH/ASMBTAFd + Af8IAAPEAf8D2QH/A9MB/wO+Af8DXwH/AwQB/wOGAf8DvwH/A1AB/wOJAf8DvgH/A70B/wOsAf8DjQH/ + CAABMAIBAUoCJwHTAf8CJwHWAf8COwFmAf8DBAH/AisBWAH/AiIBqwH/AiUBpAH/AjQBawH/Ai4BiwH/ + AiMBqAH/AiMBqAH/AiwBigH/ATACAQFKCAABMAIBAUoB9AEEAaoB/wH4AQQBrQH/AZgBBAFuAf8BBQEE + AQUB/wF/AQQBWgH/AcgBBAGMAf8BxQEEAYkB/wGWAQQBbQH/AbQBBAGBAf8BxgEEAYoB/wHGAQQBigH/ + AbEBBAGAAf8BMAIBAUoIAAEwAgEBSgELAZ0B2QH/AQsBnwHdAf8BMAFVAWMB/wMEAf8BIQFIAVgB/wEM + AYEBsQH/ARABfwGpAf8BKAFXAWoB/wEdAW8BjAH/AQ0BgQGtAf8BDQGBAa0B/wEbAW4BjAH/ATACAQFK + CAABMAIBAUoD2gH/A9wB/wOdAf8DCQH/A4gB/wO+Af8DuwH/A5wB/wOxAf8DvQH/A70B/wOuAf8BMAIB + AUoMAAFVAQYBIQHKAikB2gH/Aj0BlgH/Aj0BdQH/AicBtgH/AioBqAH/AigBqAH/AiMBqAH/AiMBqAH/ + AiMBqAH/AiMBqAH/AUoBFQFCAegQAAFzAQMBGgHKAf4BBAGxAf8BzgEEAZAB/wGpAQQBegH/AdcBBAGW + Af8BzQEEAY8B/wHLAQQBjgH/AcYBBAGKAf8BxgEEAYoB/wHGAQQBigH/AcYBBAGKAf8BjAEEAT0B6BAA + AVIBGAEhAcoBCwGjAeIB/wErAXoBlgH/ATABYAF0Af8BDwGIAbsB/wEUAYEBrAH/ARIBgQGtAf8BDQGB + Aa0B/wENAYEBrQH/AQ0BgQGtAf8BDQGBAa0B/wFDATMBQgHoEAABcAIhAcoD3wH/A8EB/wOpAf8DyAH/ + A8EB/wPAAf8DvQH/A70B/wO9Af8DvQH/AYQCVQHoFAABVAEGASAByQInAdYB/wInAdIB/wImAcwB/wIk + Ab8B/wIkAbIB/wIlAakB/wIlAaMB/wIiAaMB/wFRAQ4BLQHbGAABdAEDARoByQH5AQQBrQH/AfQBBAGq + Af8B7QEEAaUB/wHfAQQBmwH/AdEBBAGSAf8ByQEEAYwB/wHDAQQBiAH/AcEBBAGHAf8BewEEASgB2xgA + AVIBFwEgAckBCwGfAd0B/wELAZwB2QH/AQsBmAHTAf8BCgGPAcYB/wEMAYUBuAH/AQ8BgQGvAf8BEAF+ + AacB/wENAX4BqAH/AUsBIgEtAdsYAAFwAiAByQPcAf8D2QH/A9QB/wPMAf8DwwH/A74B/wO6Af8DuQH/ + AXsCNQHbHAABMAIBAUoCIwG/Af8CJAHDAf8CJQHIAf8CJAG/Af8CIgG1Af8CIwGjAf8BMAIBAUogAAEw + AgEBSgHdAQQBmgH/AeMBBAGeAf8B6AEEAaIB/wHfAQQBmwH/AdIBBAGSAf8BwQEEAYcB/wEwAgEBSiAA + ATACAQFKAQoBjgHFAf8BCgGRAcoB/wELAZUBzgH/AQoBjwHGAf8BCgGHAbsB/wEOAX4BpwH/ATACAQFK + IAABMAIBAUoDywH/A84B/wPRAf8DzAH/A8QB/wO5Af8BMAIBAUosAAELAgEBDQELAgEBDTgAAQsCAQEN + AQsCAQENOAABCwIBAQ0BCwIBAQ04AAELAgEBDQELAgEBDTQAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZ + AQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZAQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZ + AQIDASwAAQQCAQEEARQCAQEZARQCAQEZARQCAQEZAQIDASQAATACAQFKA0EB/wM6Af8DOAH/AzcB/wM2 + Af8DNAH/ATACAQFKARQCAQEZHAABMAIBAUoBcAFKAT0B/wFfAToBLgH/AVcBNAEpAf8BVQEzASgB/wFQ + ATEBJgH/AUIBLQElAf8BMAIBAUoBFAIBARkcAAEwAgEBSgEnAUMBJwH/AR4BOQEeAf8BGgE1ARoB/wEa + ATMBGgH/ARkBMAEZAf8BGAEpARgB/wEwAgEBSgEUAgEBGRwAATACAQFKAVEBUwEsAf8BRQFHASEB/wE/ + AUIBHQH/AT4BQAEcAf8BOwE9ARsB/wExATIBGwH/ATACAQFKARQCAQEZGAABWgImAecDSwH/A0sB/wNK + Af8DSQH/A0gB/wNFAf8DPwH/AzgB/wFVAg4B2wEUAgEBGRQAAXcBKAEgAecBhwFUAUIB/wGIAVQBQQH/ + AYYBUwFAAf8BhAFRAT8B/wGCAU8BPQH/AYABTAE6Af8BbwFCATQB/wFXATQBKAH/AVcCCgHbARQCAQEZ + FAABTAEoARcB5wEqAVQBKgH/ASkBVAEpAf8BKQFTASkB/wEoAVIBKAH/AScBUQEnAf8BJQFNASUB/wEh + AUMBIQH/ARoBNQEaAf8BSwEKAQgB2wEUAgEBGRQAAWUBMQEXAecBZQFpAS4B/wFmAWkBLQH/AWUBaAEt + Af8BYwFnASwB/wFhAWUBKwH/AV0BYQEpAf8BUQFUASQB/wE/AUIBHQH/AVEBDgEJAdsBFAIBARkQAAFe + AhoB3ANdAf8DYwH/A2gB/wNnAf8DZQH/A2UB/wNiAf8DXAH/A0sB/wM7Af8BVQIOAdsBFAIBARkMAAF2 + AR8BGAHcAbABXwFCAf8BwgFfATwB/wHNAWABOgH/AcoBYAE7Af8ByQFfAToB/wHJAV8BOgH/AcEBXgE7 + Af8BsQFdAUAB/wGHAVMBQQH/AWEBOgEtAf8BVwIKAdsBFAIBARkMAAFSAR8BDwHcASsBbAErAf8BJwF3 + AScB/wElAX4BJQH/ASYBfAEmAf8BJgF7ASYB/wEmAXsBJgH/AScBdQEnAf8BKQFsASkB/wEpAVQBKQH/ + AR0BOgEdAf8BSwEKAQgB2wEUAgEBGQwAAWcBKAEPAdwBgQGEAS0B/wGLAZIBKAH/AZQBnAEkAf8BkgGZ + ASUB/wGRAZgBJgH/AZEBmAEmAf8BigGQAScB/wGBAYQBKwH/AWUBaQEtAf8BRwFJASAB/wFRAQ4BCAHb + ARQCAQEZCAABMAIBAUoDXwH/A2gB/wNxAf8DcQH/A3EB/wNxAf8DaQH/A2sB/wNiAf8DRgH/A0gB/wM6 + Af8BMAIBAUoIAAEwAgEBSgG1AV8BQQH/AcsBYAE7Af8B1AFnAUEB/wHUAWcBQQH/AdQBZwFBAf8B1AFn + AUEB/wHPAWEBOwH/AdIBYgE8Af8BvgFfAT4B/wGAAU0BPAH/AYEBTwE9Af8BXwE5ASwB/wEwAgEBSggA + ATACAQFKASoBbwEqAf8BJQF9ASUB/wEkAYMBJAH/ASQBgwEkAf8BJAGDASQB/wEkAYMBJAH/ASQBgAEk + Af8BIwGBASMB/wEoAXQBKAH/AScBTQEnAf8BJwFQAScB/wEdAToBHQH/ATACAQFKCAABMAIBAUoBggGI + ASwB/wGTAZsBJQH/AaABqAEiAf8BoAGoASIB/wGgAagBIgH/AaABqAEiAf8BlwGfASMB/wGbAaMBIgH/ + AYgBjgEpAf8BXQFgASoB/wFhAWQBKwH/AUUBSAEfAf8BMAIBAUoIAANoAf8DbgH/A3EB/wNxAf8DcQH/ + A28B/wNqAf8DUAH/AzkB/wMoAf8DBAH/A0gB/wNFAf8DNwH/AQIDAQQAAckBYwE/Af8BzwFnAUMB/wHX + AWUBPgH/AdQBZwFBAf8B1AFnAUEB/wHTAWcBQQH/AcoBZQFBAf8BjgFbAUkB/wFYATgBLQH/ASABFQES + Af8DBAH/AYEBTwE+Af8BgAFMAToB/wFPATMBKgH/AQIDAQQAAScBfQEnAf8BJgGBASYB/wEhAYUBIQH/ + ASQBgwEkAf8BJAGDASQB/wEkAYIBJAH/ASgBfgEoAf8BLgFYAS4B/wEdATUBHQH/AQwBFAEMAf8DBAH/ + AScBUAEnAf8BJQFNASUB/wEbATABGwH/AQIDAQQAAZMBmgEnAf8BmwGjASUB/wGjAasBHgH/AaABqAEi + Af8BoAGoASIB/wGfAacBIgH/AZQBmwEoAf8BagFuATMB/wFAAUIBIAH/ARgBGQENAf8DBAH/AWABYwEs + Af8BXQFhASkB/wE6ATwBHgH/AQIDAQQAA3IB/wN/Af8DcgH/A3EB/wNVAf8DPAH/Ay0B/wMJAf8DBAH/ + AwQB/wMjAf8DYAH/A1EB/wM9Af8BFAIBARkEAAHYAWcBQAH/AdsBdAFQAf8B1AFqAUQB/wHUAWcBQQH/ + AZwBXgFIAf8BZAE/ATMB/wErARwBFwH/AgUBBAH/AwQB/wMEAf8BGQEQAQ4B/wG7AV8BPwH/AZUBWgFE + Af8BaAE/ATEB/wEUAgEBGQQAASIBhwEiAf8BJAGQASQB/wEkAYUBJAH/ASQBgwEkAf8BLgFgAS4B/wEh + AT0BIQH/AQ8BGwEPAf8DBAH/AwQB/wMEAf8BCgEQAQoB/wEpAXIBKQH/ASwBXAEsAf8BHwE/AR8B/wEU + AgEBGQQAAaQBrQEfAf8BsAG6ASEB/wGiAaoBIgH/AaABqAEiAf8BdAF4ATIB/wFJAUsBJAH/ASABIQER + Af8DBAH/AwQB/wMEAf8CEwELAf8BhgGMASoB/wFvAXMBMAH/AUsBTgEjAf8BFAIBARkBCwIBAQ0DfAH/ + A4cB/wN2Af8DcQH/A0MB/wM1Af8DGwH/AwQB/wMEAf8DBAH/AzoB/wNtAf8DWwH/A0EB/wEUAgEBGQEL + AgEBDQHaAXEBTAH/Ad0BfQFcAf8B1QFuAUoB/wHUAWcBQQH/AXcBSwE8Af8BSwEwAScB/wEPAQsBCQH/ + AwQB/wMEAf8DBAH/AVsBOgEvAf8B1AFjATwB/wGvAV0BQAH/AXUBRQE1Af8BFAIBARkBCwIBAQ0BIwGO + ASMB/wElAZcBJQH/ASYBhwEmAf8BJAGDASQB/wEmAUcBJgH/ARkBLgEZAf8BBwEKAQcB/wMEAf8DBAH/ + AwQB/wEeATgBHgH/ASMBgQEjAf8BKQFrASkB/wEiAUYBIgH/ARQCAQEZAQsCAQENAa4BtwEgAf8BuQHC + ASIB/wGlAa0BJAH/AaABqAEiAf8BVgFZASoB/wE3ATkBHAH/AgwBBwH/AwQB/wMEAf8DBAH/AUMBRQEi + Af8BngGmASAB/wGBAYMBKwH/AVUBWAEmAf8BFAIBARkBCwIBAQ0DgQH/A4wB/wN2Af8DcQH/A28B/wNv + Af8DMQH/AwQB/wMEAf8DEAH/A1QB/wNnAf8DYQH/A0IB/wEUAgEBGQELAgEBDQHcAXcBUwH/Ad8BgQFi + Af8B1AFuAUsB/wHUAWcBQQH/AdMBZwFBAf8B0gFnAUIB/wE4ASQBHQH/AwQB/wMEAf8BCAIGAf8BmQFe + AUgB/wHKAWABOwH/Ab0BXgE9Af8BeQFHATcB/wEUAgEBGQELAgEBDQEkAZIBJAH/ASYBmwEmAf8BJgGG + ASYB/wEkAYMBJAH/ASQBggEkAf8BJQGBASUB/wETASIBEwH/AwQB/wMEAf8BBQEGAQUB/wEuAV4BLgH/ + ASYBfAEmAf8BKAFzASgB/wEjAUkBIwH/ARQCAQEZAQsCAQENAbMBvAEhAf8BvQHHASMB/wGkAawBJQH/ + AaABqAEiAf8BnwGnASIB/wGeAaYBIwH/ASkBKgEVAf8DBAH/AwQB/wIHAQUB/wFyAXYBMwH/AZIBmQEl + Af8BiAGOASkB/wFYAVsBJwH/ARQCAQEZBAADgQH/A5YB/wOBAf8DbQH/A2kB/wM0Af8DBAH/AzoB/wMS + Af8DMQH/A24B/wNxAf8DXgH/A0IB/wEJAgEBCgQAAdwBdgFSAf8B4QGGAWsB/wHaAXUBUQH/AcwBZgFD + Af8ByQFkAUEB/wFDASsBIwH/AwQB/wFbATkBLgH/AQgBBwEGAf8BOAEkAR0B/wHRAWcBQgH/AdQBZwFB + Af8BtQFeAUAB/wF3AUgBOAH/AQkCAQEKBAABJAGSASQB/wEnAaABJwH/ASUBkAElAf8BJwGAAScB/wEo + AXwBKAH/ARcBKQEXAf8DBAH/AR4BNwEeAf8BBQEGAQUB/wETASIBEwH/ASUBgQElAf8BJAGDASQB/wEp + AW8BKQH/ASQBSAEkAf8BCQIBAQoEAAGyAbsBIQH/AcQBzgEkAf8BsAG5ASIB/wGXAZ4BJwH/AZMBmgEo + Af8BMQEzARkB/wMEAf8BQgFEASEB/wIHAQUB/wEpASoBFQH/AZ0BpAEkAf8BoAGoASIB/wGCAYcBKwH/ + AVcBWgEnAf8BCQIBAQoEAAN7Af8DmwH/A5AB/wNyAf8DNAH/AwQB/wNCAf8DcwH/AzAB/wNDAf8DcgH/ + A3EB/wNdAf8DRQH/CAAB2gFvAUoB/wHiAYoBcQH/Ad8BgQFmAf8ByAFvAVAB/wFDASsBIwH/AwQB/wFz + AUkBOgH/AdgBaQFCAf8BNQEiARwB/wF3AUsBPAH/AdcBaAFCAf8B1AFnAUEB/wGxAV4BQQH/AX0BTgE/ + Af8IAAEjAY0BIwH/ASgBpAEoAf8BJwGdAScB/wEtAYABLQH/ARcBKQEXAf8DBAH/ASUBRQElAf8BIgGI + ASIB/wETASEBEwH/ASYBRwEmAf8BIgGHASIB/wEkAYMBJAH/ASoBbAEqAf8BKAFLASgB/wgAAawBtQEg + Af8ByAHSASQB/wHAAcoBIwH/AZgBngEuAf8BMQEzARkB/wMEAf8BVAFWASkB/wGmAa8BHwH/AScBKAEU + Af8BVgFZASoB/wGlAa0BIAH/AaABqAEiAf8BgQGEASwB/wFbAV0BLQH/CAABMAIBAUoDngH/A6IB/wNQ + Af8DCQH/A0MB/wNyAf8DbgH/A08B/wNiAf8DcQH/A3EB/wNfAf8BMAIBAUoIAAEwAgEBSgHiAYsBcgH/ + AeMBjwF2Af8BhAFfAVEB/wIFAQQB/wF2AUoBPAH/AdYBaAFCAf8B0QFnAUIB/wGLAVoBSAH/AboBYQFD + Af8B1AFnAUEB/wHUAWcBQQH/AbkBXwFAAf8BMAIBAUoIAAEwAgEBSgEoAaQBKAH/ASkBpwEpAf8BMwFS + ATMB/wMEAf8BJgFHASYB/wEjAYUBIwH/ASUBgQElAf8BLgFWAS4B/wErAXEBKwH/ASQBgwEkAf8BJAGD + ASQB/wEpAXEBKQH/ATACAQFKCAABMAIBAUoByAHTASUB/wHMAdYBJQH/AWMBZQE6Af8DBAH/AVYBWAEq + Af8BowGrASAB/wGdAaQBJAH/AWgBawEzAf8BhQGLAS0B/wGgAagBIgH/AaABqAEiAf8BhAGKASsB/wEw + AgEBSgwAAWQCFwHKA6gB/wN2Af8DWgH/A4EB/wN2Af8DdQH/A3EB/wNxAf8DcQH/A3EB/wFgAiwB6BAA + AXMBFQEOAcoB5AGUAX0B/wG9AXoBYgH/AZgBZgFUAf8B1wF2AVQB/wHQAXABTgH/AdEBbQFKAf8B1AFn + AUEB/wHUAWcBQQH/AdQBZwFBAf8B1AFnAUEB/wGNASsBHQHoEAABVQEYAQYBygEqAasBKgH/ATcBewE3 + Af8BNQFeATUB/wEnAY4BJwH/ASkBgwEpAf8BJwGEAScB/wEkAYMBJAH/ASQBgwEkAf8BJAGDASQB/wEk + AYMBJAH/AUoBMwEUAegQAAFtASEBBgHKAdEB3AEmAf8BkAGWATwB/wFxAXUBPAH/Aa0BtgElAf8BoQGo + ASgB/wGhAakBJgH/AaABqAEiAf8BoAGoASIB/wGgAagBIgH/AaABqAEiAf8BcwFCARUB6BQAAWYCFwHJ + A6IB/wObAf8DkgH/A4MB/wN5Af8DcgH/A20B/wNrAf8BYQIdAdsYAAFyARQBEQHJAeMBjwF3Af8B4gGL + AXEB/wHgAYQBaQH/Ad0BewFZAf8B2AFvAUsB/wHUAWoBRQH/AdABZQFAAf8B0wFiATsB/wGAAR0BEwHb + GAABVwEZAQYByQEpAacBKQH/ASgBpAEoAf8BJwGfAScB/wElAZYBJQH/ASQBiwEkAf8BJQGEASUB/wEl + AYEBJQH/ASMBgQEjAf8BUQEjAQoB2xgAAWwBIAEGAckBzAHXASUB/wHIAdIBJQH/AcIBzAEkAf8BtwHA + ASIB/wGqAbMBIgH/AaEBqgEjAf8BmwGjASMB/wGcAaQBIQH/AXABLQEKAdscAAEwAgEBSgOCAf8DhwH/ + A4wB/wODAf8DewH/A2sB/wEwAgEBSiAAATACAQFKAd0BegFYAf8B3gF/AV4B/wHfAYEBZAH/Ad0BewFZ + Af8B2gFvAUoB/wHSAWIBPAH/ATACAQFKIAABMAIBAUoBJQGVASUB/wEmAZkBJgH/ASYBnAEmAf8BJQGW + ASUB/wEjAY0BIwH/ASMBgQEjAf8BMAIBAUogAAEwAgEBSgG2Ab8BIQH/AboBxAEiAf8BvgHIASMB/wG3 + AcABIgH/AawBtQEgAf8BmwGjASIB/wEwAgEBSiwAAQsCAQENAQsCAQENOAABCwIBAQ0BCwIBAQ04AAEL + AgEBDQELAgEBDTgAAQsCAQENAQsCAQENHAABQgFNAT4HAAE+AwABKAMAAUADAAFgAwABAQEAAQEGAAED + FgAD/4EAAfwBHwH8AR8B/AEfAfwBHwHwAQcB8AEHAfABBwHwAQcB4AEDAeABAwHgAQMB4AEDAcABAQHA + AQEBwAEBAcABAQGAAQEBgAEBAYABAQGAAQEBgAEAAYABAAGAAQABgAEAAYABAAGAAQABgAEAAYARAAGA + AQABgAEAAYABAAGAAQABgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQHAAQMBwAEDAcABAwHA + AQMB4AEHAeABBwHgAQcB4AEHAfABDwHwAQ8B8AEPAfABDwH+AX8B/gF/Af4BfwH+AX8B/AEfAfwBHwH8 + AR8B/AEfAfABBwHwAQcB8AEHAfABBwHgAQMB4AEDAeABAwHgAQMBwAEBAcABAQHAAQEBwAEBAYABAQGA + AQEBgAEBAYABAQGAAQABgAEAAYABAAGAAQABgAEAAYABAAGAAQABgBEAAYABAAGAAQABgAEAAaABAAGA + AQEBgAEBAYABAQGwAQEBgAEBAYABAQGAAQEBsAEBAcABAwHAAQMBwAEDAdABAwHgAQcB4AEHAeABBwH+ + AQcB8AEPAfABDwHwAQ8B8AEPAf4BfwH+AX8B/gF/Af4BfwH8AR8B/AEfAfwBHwH8AR8B8AEHAfABBwHw + AQcB8AEHAeABAwHgAQMB4AEDAeABAwHAAQEBwAEBAcABAQHAAQEBgAEBAYABAQGAAQEBgAEBAYABAAGA + AQABgAEAAYABAAGAAQABgAEAAYABAAGAEQABgAEAAYABAAGAAQABgAEAAYABAQGAAQEBgAEBAYABAQGA + AQEBgAEBAYABAQGAAQEBwAEDAcABAwHAAQMBwAEDAeABBwHgAQcB4AEHAeABBwHwAQ8B8AEPAfABDwHw + AQ8B/gF/Af4BfwH+AX8B/gF/AfwBHwH8AR8B/AEfAfwBHwHwAQcB8AEHAfABBwHwAQcB4AEDAeABAwHg + AQMB4AEDAcABAQHAAQEBwAEBAcABAQGAAQEBgAEBAYABAQGAAQEBgAEAAYABAAGAAQABgAEAAYABAAGA + AQABgAEAAYARAAGAAQABgAEAAYABAAGAAQABgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQHA + AQMBwAEDAcABAwHAAQMB4AEHAeABBwHgAQcB4AEHAfABDwHwAQ8B8AEPAfABDwH+AX8B/gF/Af4BfwH+ + AX8B/AEfAfwBHwH8AR8B/AEfAfABBwHwAQcB8AEHAfABBwHgAQMB4AEDAeABAwHgAQMBwAEBAcABAQHA + AQEBwAEBAYABAQGAAQEBgAEBAYABAQGAAQABgAEAAYABAAGAAQABgAEAAYABAAGAAQABgBEAAYABAAGA + AQABgAEAAYABAAGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAcABAwHAAQMBwAEDAcABAwHg + AQcB4AEHAeABBwHgAQcB8AEPAfABDwHwAQ8B8AEPAf4BfwH+AX8B/gF/Af4Bfws= @@ -643,9 +643,15 @@ True + + True + False + + True + False @@ -667,9 +673,66 @@ True + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + True + + True + True