diff --git a/Source/Core/Builder.csproj b/Source/Core/Builder.csproj index 454e370756610135f44b784f490e4eb9b0f88e61..673f9946353c7a66179a85fb43842deac3a6462e 100644 --- a/Source/Core/Builder.csproj +++ b/Source/Core/Builder.csproj @@ -726,6 +726,9 @@ <Compile Include="GZBuilder\Controls\IconListBox.cs"> <SubType>Component</SubType> </Compile> + <Compile Include="GZBuilder\Controls\MultiSelectTreeview.cs"> + <SubType>Component</SubType> + </Compile> <Compile Include="GZBuilder\Controls\PairedFieldsControl.cs"> <SubType>UserControl</SubType> </Compile> diff --git a/Source/Core/Controls/ThingBrowserControl.Designer.cs b/Source/Core/Controls/ThingBrowserControl.Designer.cs index da18594adf83d1755dbb9bbf305fcc9fee849fd9..af1759a350d1e1a9826f6d129aabb3d4b1850549 100644 --- a/Source/Core/Controls/ThingBrowserControl.Designer.cs +++ b/Source/Core/Controls/ThingBrowserControl.Designer.cs @@ -29,7 +29,6 @@ namespace CodeImp.DoomBuilder.Controls private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("Monsters"); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ThingBrowserControl)); this.sizecaption = new System.Windows.Forms.Label(); this.blockingcaption = new System.Windows.Forms.Label(); @@ -38,13 +37,13 @@ namespace CodeImp.DoomBuilder.Controls this.sizelabel = new System.Windows.Forms.Label(); this.blockinglabel = new System.Windows.Forms.Label(); this.positionlabel = new System.Windows.Forms.Label(); - this.typelist = new System.Windows.Forms.TreeView(); this.thingimages = new System.Windows.Forms.ImageList(this.components); this.infopanel = new System.Windows.Forms.Panel(); + this.typeid = new CodeImp.DoomBuilder.Controls.NumericTextbox(); this.label1 = new System.Windows.Forms.Label(); this.tbFilter = new System.Windows.Forms.TextBox(); this.bClear = new System.Windows.Forms.Button(); - this.typeid = new CodeImp.DoomBuilder.Controls.NumericTextbox(); + this.typelist = new CodeImp.DoomBuilder.GZBuilder.Controls.MultiSelectTreeview(); this.infopanel.SuspendLayout(); this.SuspendLayout(); // @@ -111,27 +110,6 @@ namespace CodeImp.DoomBuilder.Controls this.positionlabel.TabIndex = 13; this.positionlabel.Text = "Ceiling"; // - // typelist - // - this.typelist.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.typelist.HideSelection = false; - this.typelist.ImageIndex = 0; - this.typelist.ImageList = this.thingimages; - this.typelist.Location = new System.Drawing.Point(0, 28); - this.typelist.Margin = new System.Windows.Forms.Padding(8, 8, 9, 8); - this.typelist.Name = "typelist"; - treeNode2.Name = "Node0"; - treeNode2.Text = "Monsters"; - this.typelist.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { - treeNode2}); - this.typelist.SelectedImageIndex = 0; - this.typelist.Size = new System.Drawing.Size(304, 244); - this.typelist.TabIndex = 0; - this.typelist.DoubleClick += new System.EventHandler(this.typelist_DoubleClick); - this.typelist.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.typelist_AfterSelect); - // // thingimages // this.thingimages.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("thingimages.ImageStream"))); @@ -174,6 +152,18 @@ namespace CodeImp.DoomBuilder.Controls this.infopanel.Size = new System.Drawing.Size(304, 48); this.infopanel.TabIndex = 18; // + // typeid + // + this.typeid.AllowDecimal = false; + this.typeid.AllowNegative = false; + this.typeid.AllowRelative = false; + this.typeid.ImeMode = System.Windows.Forms.ImeMode.Off; + this.typeid.Location = new System.Drawing.Point(41, 5); + this.typeid.Name = "typeid"; + this.typeid.Size = new System.Drawing.Size(68, 20); + this.typeid.TabIndex = 1; + this.typeid.TextChanged += new System.EventHandler(this.typeid_TextChanged); + // // label1 // this.label1.AutoSize = true; @@ -201,26 +191,33 @@ namespace CodeImp.DoomBuilder.Controls this.bClear.UseVisualStyleBackColor = true; this.bClear.Click += new System.EventHandler(this.bClear_Click); // - // typeid + // typelist // - this.typeid.AllowDecimal = false; - this.typeid.AllowNegative = false; - this.typeid.AllowRelative = false; - this.typeid.ImeMode = System.Windows.Forms.ImeMode.Off; - this.typeid.Location = new System.Drawing.Point(41, 5); - this.typeid.Name = "typeid"; - this.typeid.Size = new System.Drawing.Size(68, 20); - this.typeid.TabIndex = 1; - this.typeid.TextChanged += new System.EventHandler(this.typeid_TextChanged); + this.typelist.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.typelist.HideSelection = false; + this.typelist.ImageIndex = 0; + this.typelist.ImageList = this.thingimages; + this.typelist.Location = new System.Drawing.Point(0, 28); + this.typelist.Margin = new System.Windows.Forms.Padding(8, 8, 9, 8); + this.typelist.Name = "typelist"; + this.typelist.SelectedImageIndex = 0; + this.typelist.SelectedNodes = ((System.Collections.Generic.List<System.Windows.Forms.TreeNode>)(resources.GetObject("typelist.SelectedNodes"))); + this.typelist.Size = new System.Drawing.Size(304, 244); + this.typelist.TabIndex = 22; + this.typelist.UseMultiSelection = false; + this.typelist.DoubleClick += new System.EventHandler(this.typelist_DoubleClick); + this.typelist.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.typelist_AfterSelect); // // ThingBrowserControl // this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; + this.Controls.Add(this.typelist); this.Controls.Add(this.bClear); this.Controls.Add(this.tbFilter); this.Controls.Add(this.label1); - this.Controls.Add(this.typelist); this.Controls.Add(this.infopanel); this.Name = "ThingBrowserControl"; this.Size = new System.Drawing.Size(304, 320); @@ -240,7 +237,6 @@ namespace CodeImp.DoomBuilder.Controls private System.Windows.Forms.Label blockinglabel; private System.Windows.Forms.Label positionlabel; private NumericTextbox typeid; - private System.Windows.Forms.TreeView typelist; private System.Windows.Forms.ImageList thingimages; private System.Windows.Forms.Panel infopanel; private System.Windows.Forms.Label sizecaption; @@ -250,5 +246,6 @@ namespace CodeImp.DoomBuilder.Controls private System.Windows.Forms.Label label1; private System.Windows.Forms.TextBox tbFilter; private System.Windows.Forms.Button bClear; + private CodeImp.DoomBuilder.GZBuilder.Controls.MultiSelectTreeview typelist; } } diff --git a/Source/Core/Controls/ThingBrowserControl.cs b/Source/Core/Controls/ThingBrowserControl.cs index 77a03136db214e7904e99c180c45fdb775c2d17c..fcf646d372775bde6d98aa22a77a13ab5b14e716 100644 --- a/Source/Core/Controls/ThingBrowserControl.cs +++ b/Source/Core/Controls/ThingBrowserControl.cs @@ -39,7 +39,6 @@ namespace CodeImp.DoomBuilder.Controls #region ================== Variables - //private ICollection<Thing> things; private List<TreeNode> nodes; private ThingTypeInfo thinginfo; private bool doupdatenode; @@ -50,6 +49,7 @@ namespace CodeImp.DoomBuilder.Controls #region ================== Properties public string TypeStringValue { get { return typeid.Text; } } + public bool UseMultiSelection { get { return typelist.UseMultiSelection; } set { typelist.UseMultiSelection = value; } } #endregion @@ -112,7 +112,7 @@ namespace CodeImp.DoomBuilder.Controls doupdatenode = false; // Clear selection - typelist.SelectedNode = null; + typelist.ClearSelectedNodes(); //mxd typeid.Text = ""; // Collapse nodes @@ -125,9 +125,32 @@ namespace CodeImp.DoomBuilder.Controls // Result public int GetResult(int original) { + //mxd + if(typelist.UseMultiSelection && typelist.SelectedNodes.Count > 1) { + List<TreeNode> validNodes = getValidNodes(); + + //get a random ThingTypeInfo from valid nodes + if(validNodes.Count > 1) { + ThingTypeInfo ti = validNodes[General.Random(0, validNodes.Count - 1)].Tag as ThingTypeInfo; + return ti.Index; + } + } + return typeid.GetResult(original); } + //mxd + private List<TreeNode> getValidNodes() { + List<TreeNode> validNodes = new List<TreeNode>(); + + foreach(TreeNode n in typelist.SelectedNodes) { + if((n.Nodes.Count == 0) && (n.Tag != null) && (n.Tag is ThingTypeInfo)) + validNodes.Add(n); + } + + return validNodes; + } + #endregion #region ================== Events @@ -151,8 +174,13 @@ namespace CodeImp.DoomBuilder.Controls { if(doupdatetextbox) { - // Anything selected? - if(typelist.SelectedNode != null) + //mxd. Got a valid multiselection? Well, can't show any useful info about that... + if(typelist.UseMultiSelection && typelist.SelectedNodes.Count > 1 && getValidNodes().Count > 1) { + doupdatenode = false; + typeid.Text = ""; + doupdatenode = true; + } + else if(typelist.SelectedNode != null) //Anything selected? { TreeNode n = typelist.SelectedNode; @@ -162,7 +190,9 @@ namespace CodeImp.DoomBuilder.Controls ThingTypeInfo ti = (n.Tag as ThingTypeInfo); // Show info + doupdatenode = false; typeid.Text = ti.Index.ToString(); + doupdatenode = true; } } } @@ -177,7 +207,8 @@ namespace CodeImp.DoomBuilder.Controls if(typeid.Text.Length > 0) { // Get the info - thinginfo = General.Map.Data.GetThingInfoEx(typeid.GetResult(0)); + int typeindex = typeid.GetResult(0); + thinginfo = General.Map.Data.GetThingInfoEx(typeindex); if(thinginfo != null) { knownthing = true; @@ -201,8 +232,7 @@ namespace CodeImp.DoomBuilder.Controls if(doupdatenode) { doupdatetextbox = false; - int typeindex = typeid.GetResult(0); - typelist.SelectedNode = null; + typelist.ClearSelectedNodes(); foreach(TreeNode n in nodes) { // Matching node? @@ -222,7 +252,7 @@ namespace CodeImp.DoomBuilder.Controls else { thinginfo = null; - if(doupdatenode) typelist.SelectedNode = null; + if(doupdatenode) typelist.ClearSelectedNodes(); } // No known thing? @@ -250,11 +280,6 @@ namespace CodeImp.DoomBuilder.Controls private void ThingBrowserControl_SizeChanged(object sender, EventArgs e) { - //infopanel.Top = this.ClientSize.Height - infopanel.Height; - //infopanel.Width = this.ClientSize.Width; - //typelist.Width = this.ClientSize.Width; - //typelist.Height = infopanel.Top; - blockingcaption.Left = infopanel.Width / 2; blockinglabel.Left = blockingcaption.Right + blockingcaption.Margin.Right; sizecaption.Left = blockingcaption.Right - sizecaption.Width; @@ -275,6 +300,7 @@ namespace CodeImp.DoomBuilder.Controls typeid_TextChanged(this, EventArgs.Empty); } else { // Go for all predefined categories + typelist.ClearSelectedNodes(); typelist.Nodes.Clear(); string match = tbFilter.Text.ToUpperInvariant(); diff --git a/Source/Core/Controls/ThingBrowserControl.resx b/Source/Core/Controls/ThingBrowserControl.resx index 7cb80017f8095880e74076ab92c0616d6381b031..23855d3ecbfb0a3a28ccfce1c7be59ff7ddb1388 100644 --- a/Source/Core/Controls/ThingBrowserControl.resx +++ b/Source/Core/Controls/ThingBrowserControl.resx @@ -124,402 +124,412 @@ <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABa - XAAAAk1TRnQBSQFMAgEBFAEAARwBAAEcAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABG + XAAAAk1TRnQBSQFMAgEBFAEAASwBAAEsAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA AwABYAMAAQEBAAEgBgABYP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wA3AAGUAYsBxQH/ - AYQBegHEAf8BgQFxAcQB/wGAAW8BwwH/AXsBbQHBAf8BewFvAbYB/ygAAQIBVAGXAf8BAgFFAXwB/wEC - AT4BcAH/AQIBPAFtAf8BAgE5AWcB/wECATIBWgH/KAABSAFhAWMB/wE5AVEBUwH/ATMBSQFLAf8BMQFH - AUkB/wEvAUMBRQH/ASsBOQE6Af8oAAEvAVMBYgH/ASMBRQFTAf8BHgE/AUwB/wEdAT4BSwH/ARwBOgFG - Af8BHAExATkB/yAAAbkBtAHSAf8BnwGVAdIB/wGeAZQB0wH/AZwBkgHSAf8BmwGRAdIB/wGZAY4B0gH/ - AZUBigHQAf8BiwGBAcsB/wGAAXABxQH/AXEBawGRAf8YAAFVAZQBywH/AQIBZQG1Af8BAgFlAbQB/wEC - AWMBsgH/AQIBYgGvAf8BAgFgAasB/wECAVwBpAH/AQIBUAGOAf8BAgE+AXAB/wEqAUQBWQH/GAABigGf - AaEB/wFTAXcBegH/AVIBdwF6Af8BUQF2AXkB/wFPAXQBdwH/AU0BcgF1Af8BSgFtAXAB/wFBAV4BYQH/ - ATIBSQFLAf8BQAJHAf8YAAF4AZQBoQH/ATIBZgF8Af8BMQFnAXwB/wEwAWUBewH/AS8BZAF5Af8BLQFi - AXcB/wErAV0BcgH/ASYBUQFiAf8BHgE/AUwB/wE5AUIBRwH/FAABvAG3AdgB/wGrAaEB4gH/Aa4BowHo - Af8BsAGkAewB/wGvAaQB6wH/Aa8BpAHqAf8BrwGkAeoB/wGtAaEB6AH/AaoBnwHiAf8BnQGTAdMB/wGD - AXgBxgH/AXABagGRAf8QAAFXAZsB1AH/AQIBegHbAf8BAgGBAeYB/wECAYIB7QH/AQIBgQHsAf8BAgGB - AeoB/wECAYEB6gH/AQIBgQHkAf8BAgF5AdkB/wECAWQBswH/AQIBRQGAAf8BKQFDAVgB/xAAAY0BqAGq - Af8BXQGTAZgB/wFdAZ8BpQH/AV8BpQGrAf8BXwGjAakB/wFeAaIBqAH/AV4BogGoAf8BXAGeAaMB/wFb - AZMBmAH/AVIBdgF6Af8BOQFSAVQB/wFAAUYBRwH/EAABdwGcAawB/wEvAYEBoAH/ASgBiQGxAf8BIwGR - Ab0B/wEkAY8BugH/ASUBjQG4Af8BJQGNAbgB/wEnAYgBrwH/AS0BgQGgAf8BMAFmAXwB/wEiAUYBVQH/ - ATgBQgFGAf8QAAGsAaIB4wH/Aa8BpAHrAf8BtQGqAfAB/wG1AaoB8AH/AbUBqgHwAf8BtQGqAfAB/wGw - AaUB7QH/AbEBpgHvAf8BrQGiAecB/wGXAY0BzwH/AZkBjgHRAf8BggF3AcYB/xAAAQIBewHeAf8BAgGB - Ae0B/wECAYkB+gH/AQIBiQH6Af8BAgGJAfoB/wECAYkB+gH/AQIBgwHwAf8BAgGFAfQB/wECAYEB5AH/ - AQIBXAGlAf8BAgFgAasB/wECAUQBewH/EAABXQGXAZwB/wFfAaQBqgH/AWYBrAGyAf8BZgGsAbIB/wFm - AawBsgH/AWYBrAGyAf8BYAGmAawB/wFhAakBrwH/AV0BnQGiAf8BTAFtAXAB/wFOAXEBdAH/ATgBUAFS - Af8QAAEuAYIBpAH/ASQBjwG8Af8BHwGbAc0B/wEfAZsBzQH/AR8BmwHNAf8BHwGbAc0B/wEiAZIBwAH/ - AR8BlgHGAf8BKgGHAa0B/wEtAV4BcQH/AS4BYQF2Af8BIQFFAVQB/wwAAbIBpwHqAf8BtQGrAe0B/wG0 - AagB8QH/AbUBqgHwAf8BtQGqAfAB/wG1AaoB7wH/AbMBqAHrAf8BpgGdAdMB/wGCAXgBwAH/AWIBUwGu - Af8DAgH/AZkBjwHQAf8BlQGKAdAB/wGBAXQBvQH/CAABAgGCAe8B/wECAYgB+AH/AQIBiQH6Af8BAgGJ - AfoB/wECAYkB+gH/AQIBiAH6Af8BAgGEAfEB/wECAWwBwgH/AQIBQQF1Af8BAgEXASkB/wMCAf8BAgFf - AaoB/wECAVwBpAH/AQIBOwFqAf8IAAFiAaQBqgH/AWcBqQGvAf8BZAGtAbQB/wFmAawBsgH/AWYBrAGy - Af8BZgGrAbEB/wFkAaUBqgH/AVoCgQH/ATYBSwFNAf8BFAIbAf8DAgH/AU4BcQF0Af8BSgFtAXAB/wEy - AUQBRgH/CAABJwGQAbsB/wEkAZcBxgH/ARsBnAHRAf8BHwGbAc0B/wEfAZsBzQH/ASABmgHLAf8BJwGR - AbwB/wE4AWwBgQH/ASIBQQFNAf8BDQEXARsB/wMCAf8BLgFhAXUB/wErAV0BcgH/ASABOwFFAf8IAAG1 - AaoB8gH/Ab8BtQHzAf8BtwGsAfAB/wG1AaoB8AH/AakBoAHZAf8BiQGBAcQB/wFnAVgBswH/AWEBWAGN - Af8DAgH/AwIB/wFdAU4BqwH/Aa0BogHlAf8BpAGaAdcB/wGIAYAByAH/CAABAgGKAf0B/wERAZIC/wEC - AYsB/gH/AQIBiQH6Af8BAgFyAc4B/wECAUoBgwH/AQIBHwE3Af8BAgEDAQQB/wMCAf8DAgH/AQIBEQEe - Af8BAgGAAeEB/wECAW0BxAH/AQIBSwGFAf8IAAFmAa4BtQH/AXQBtQG7Af8BaQGtAbMB/wFmAawBsgH/ - AV0BhgGKAf8BPgFWAVgB/wEaASQBJQH/AwMB/wMCAf8DAgH/AQ8CFAH/AV0BmgGgAf8BWAGBAYMB/wE9 - AVgBWgH/CAABHAGeAdIB/wEdAakB4gH/ASABnQHPAf8BHwGbAc0B/wE2AXUBjAH/ASYBSgFYAf8BEAEf - ASUB/wECAgMB/wMCAf8DAgH/AQkBEQEUAf8BKwGFAaoB/wEzAXABhgH/ASQBTAFcAf8IAAG9AbMB8wH/ - AcYBvQH1Af8BugGwAfAB/wG1AaoB8AH/AZUBigHKAf8BgAFwAbwB/wFaAUsBpAH/AwIB/wMCAf8DAgH/ - AYQBewHBAf8BsgGnAfAB/wGpAZ4B4gH/AY4BggHNAf8IAAEOAZEC/wEeAZgC/wEGAY0C/wECAYkB+gH/ - AQIBVwGcAf8BAgE4AWQB/wECAQoBEQH/AwIB/wMCAf8DAgH/AQIBRAF6Af8BAgGGAfYB/wECAXgB1wH/ - AQIBUwGUAf8IAAFxAbQBugH/AYEBugHAAf8BbgGvAbUB/wFmAawBsgH/AUkBZgFoAf8BLwFAAUIB/wEJ - AQsBDAH/AwIB/wMCAf8DAgH/ATkBTwFQAf8BYgGrAbEB/wFbAZIBlwH/AUMBYwFlAf8IAAEdAacB3gH/ - AScBrgHkAf8BIgGgAdMB/wEfAZsBzQH/AS4BWAFoAf8BHgE4AUIB/wEGAQoBDAH/AwIB/wMCAf8DAgH/ - ASQBRAFQAf8BHgGYAcoB/wEtAYEBnwH/ASgBVQFnAf8IAAHBAbgB9AH/AcoBwgH1Af8BuwGxAfAB/wG1 - AaoB8AH/AbUBqgHvAf8BtQGqAe8B/wFvAWIBtwH/AwIB/wMCAf8BWQFLAZ0B/wGoAZ8B1wH/Aa8BpAHr - Af8BrQGiAeYB/wGRAYUBzgH/CAABFQGUAv8BJQGbAv8BBgGNAv8BAgGJAfoB/wECAYgB+gH/AQIBiAH5 - Af8BAgEpAUkB/wMCAf8DAgH/AQIBBQEHAf8BAgFxAcsB/wECAYEB7AH/AQIBgQHiAf8BAgFWAZoB/wgA - AXYBtwG9Af8BgQG9AcIB/wFuAa8BtAH/AWYBrAGyAf8BZgGrAbEB/wFmAasBsQH/ASIBLwExAf8DAgH/ - AwIB/wEEAgUB/wFcAYMBhwH/AV8BowGpAf8BXAGbAaEB/wFGAWYBaQH/CAABIAGrAeMB/wEtAbAB5QH/ - ASMBnwHRAf8BHwGbAc0B/wEgAZoBywH/ASEBmQHJAf8BFgEpATEB/wMCAf8DAgH/AQMCBQH/ATcBcwGJ - Af8BJAGPAboB/wEpAYYBrAH/ASkBWAFrAf8IAAHAAbcB9AH/Ac8ByAH2Af8BwAG2AfMB/wG0AakB7AH/ - AbIBqAHqAf8BdwFqAboB/wE7ASABxAH/AYMBegHCAf8BVgFHAaIB/wFvAWIBtwH/AbUBqgHuAf8BtQGq - AfAB/wGrAaEB4wH/AZEBhgHNAf8IAAEUAZQC/wEvAaAC/wESAZMC/wECAYUB9AH/AQIBgwHwAf8BAgEx - AVgB/wMCAf8BAgFDAXkB/wECAQUBCAH/AQIBKQFJAf8BAgGIAfgB/wECAYkB+gH/AQIBewHdAf8BAgFW - AZkB/wgAAXUBtgG8Af8BiAHBAcYB/wF1AbUBuwH/AWUBpwGsAf8BYwGkAakB/wEpATkBOwH/AwIB/wE4 - AU4BUAH/AQUCBgH/ASIBLwExAf8BZgGqAbAB/wFmAawBsgH/AVwBlgGbAf8BRgFlAWgB/wgAAR8BqgHj - Af8BNgGzAeYB/wEfAakB4QH/ASYBlAHAAf8BKAGQAboB/wEaATEBOwH/AwIB/wEjAUMBUAH/AQMBBQEG - Af8BFgEpATEB/wEiAZgByAH/AR8BmwHNAf8BLAGBAaQB/wEqAVcBaQH/CAABvAGxAfMB/wHTAcwB9wH/ - AcwBxAH2Af8BuwGyAeoB/wF3AWoBugH/AwIB/wGTAYkByQH/AbcBqwHyAf8BbgFgAbYB/wGVAYoBygH/ - AbYBqwHxAf8BtQGqAfAB/wGrAaEB4gH/AZgBjwHMAf8IAAELAZAC/wE1AaMC/wEpAZ0C/wECAYoB/QH/ - AQIBMQFYAf8DAgH/AQIBVQGXAf8BAgGLAv8BAgEnAUUB/wECAVcBnAH/AQIBiwH+Af8BAgGJAfoB/wEC - AXoB2wH/AQIBXAGkAf8IAAFvAbMBuQH/AY0BwwHIAf8BgwG/AcQB/wFvAagBrQH/ASkBOQE7Af8DAgH/ - AUcBYwFlAf8BaAGvAbUB/wEhAS0BLgH/AUkBZgFoAf8BaAGvAbUB/wFmAawBsgH/AVwBlAGYAf8BTQFr - AW4B/wgAAR0BpQHdAf8BOwG1AeYB/wEwAbEB5QH/AS8BlgHAAf8BGgExATsB/wMCAf8BLQFVAWUB/wEc - AZ8B1QH/ARUBJwEuAf8BLgFYAWgB/wEdAZ4B0wH/AR8BmwHNAf8BLgGBAaAB/wEwAVwBbgH/DAAB0wHN - AfcB/wHWAdAB9wH/AakBowHMAf8BYQFYAY0B/wGUAYoBygH/AbYBqwHxAf8BtQGqAe4B/wGkAZsB0gH/ - Aa8BpQHkAf8BtQGqAfAB/wG1AaoB8AH/AawBogHkAf8QAAE3AaMC/wE7AaUC/wECAWsBwAH/AQIBAwEE - Af8BAgFXAZsB/wECAYoB/QH/AQIBiAH4Af8BAgFpAb0B/wECAYEB5AH/AQIBiQH6Af8BAgGJAfoB/wEC - AXwB4AH/EAABjgHEAcgB/wGRAcYBygH/AV4BeQF7Af8DAwH/AUkBZQFoAf8BZwGtAbQB/wFmAaoBsAH/ - AVgBewGBAf8BYAGaAZ8B/wFmAawBsgH/AWYBrAGyAf8BXQGZAZ4B/xAAATwBtQHnAf8BQAG2AecB/wFA - AWcBdwH/AQICAwH/AS0BVwFoAf8BHgGdAdAB/wEiAZgByAH/ATcBagGBAf8BLwGFAagB/wEfAZsBzQH/ - AR8BmwHNAf8BLAGDAacB/xAAAd0B2AH5Af8B2gHVAfgB/wHCAbsB5gH/AbABqgHVAf8BwQG3AfIB/wG7 - AbIB7gH/AbkBrwHvAf8BtQGqAfAB/wG1AaoB8AH/AbUBqgHwAf8BtQGqAfAB/wG8AbYB3AH/EAABeQHB - Av8BQwGpAv8BBwGOAv8BAgF3AdUB/wESAZMC/wEFAY0C/wEDAYwC/wECAYkB+gH/AQIBiQH6Af8BAgGJ - AfoB/wECAYkB+gH/AVQBnQHcAf8QAAGxAdcB2gH/AZcByQHNAf8BegGlAakB/wFlAYcBigH/AXYBtAG6 - Af8BbwGtAbIB/wFtAa0BsgH/AWYBrAGyAf8BZgGsAbIB/wFmAawBsgH/AWYBrAGyAf8BiwGvAbIB/xAA - AYEBzwHvAf8BRgG5AegB/wFAAZMBtgH/AUEBdQGIAf8BIwGnAd0B/wEoAZ0BzAH/ASUBnAHNAf8BHwGb - Ac0B/wEfAZsBzQH/AR8BmwHNAf8BHwGbAc0B/wFvAaIBtwH/FAAB4QHdAfoB/wHWAdAB+AH/AdMBzAH3 - Af8BzgHHAfYB/wHFAbwB9AH/AbwBsQHyAf8BtwGtAfAB/wGzAagB7gH/AbEBpgHvAf8BvwG4AeEB/xgA - AYEBxQL/ATwBpgL/ATYBowL/AS0BnwL/ARsBlwL/AQoBjwL/AQIBiwH+Af8BAgGGAfYB/wECAYUB9AH/ - AVcBogHiAf8YAAG1AdkB3AH/AZIBxgHKAf8BjQHEAcgB/wGGAcABxQH/AXsBuQG/Af8BbwGyAbgB/wFq - Aa0BswH/AWQBqQGvAf8BYQGpAbAB/wGNAbYBuQH/GAABgwHRAfAB/wFAAbcB5wH/ATsBtQHmAf8BNAGy - AeUB/wElAawB5AH/AR8BowHZAf8BIQGcAc4B/wEiAZcBxgH/AR4BlgHHAf8BbgGpAcIB/yAAAcMBugH0 - Af8BxwG/AfUB/wHLAcMB9QH/AcUBvAH0Af8BvAGxAfMB/wGxAaYB7wH/KAABGgGWAv8BIAGZAv8BJwGc - Av8BGwGXAv8BCwGQAv8BAgGFAfQB/ygAAXoBuQG+Af8BgQG7AcAB/wGCAb4BwwH/AXsBuQG/Af8BbwGz - AbkB/wFhAakBrwH/KAABIwGsAeQB/wEpAa4B5AH/AS8BsAHlAf8BJQGsAeQB/wEdAaUB3QH/AR8BlgHG - Af//AP8AKgABOAFEAYIB/wEoATMBcQH/ASMBLQFoAf8BIgEsAWUB/wEgASoBXwH/ASIBKAFOAf8oAAGS - AVABkgH/AYEBPwGBAf8BegE5AXoB/wF4ATcBeAH/AXIBNgFyAf8BYgE2AWIB/ygAAQICkAH/AQICdwH/ - AQICbAH/AQICaQH/AQICYwH/AQICVgH/KAADpQH/A5EB/wOHAf8DhQH/A4EB/wN3Af8gAAGBAYYBvAH/ - ATkBSgGmAf8BOAFJAacB/wE3AUgBpQH/ATYBRgGjAf8BNAFEAaAB/wEyAUEBmQH/ASwBOQGDAf8BIgEs - AWgB/wE8AT8BUQH/GAABvgGTAb4B/wGwAVcBsAH/AbEBVQGxAf8BsAFTAbAB/wGvAVEBrwH/AawBTwGs - Af8BpgFMAaYB/wGTAUQBkwH/AXoBOAF6Af8BXQFIAV0B/xgAAXkCyQH/AQICrQH/AQICrQH/AQICqwH/ - AQICqAH/AQICpAH/AQICnQH/AQICiAH/AQICawH/ATsCWwH/GAADyQH/A7sB/wO7Af8DuAH/A7YB/wO1 - Af8DrwH/A54B/wOHAf8DawH/FAABgAGHAcsB/wE6AVEB0wH/ATsBVAHhAf8BPAFWAekB/wE8AVYB5wH/ - ATsBVQHmAf8BOwFVAeYB/wE4AVIB4QH/ATcBTwHVAf8BOAFIAaYB/wEnATIBdAH/ATsBPgFQAf8QAAHH - AZYBxwH/AckBawHJAf8B0wFvAdMB/wHZAXEB2QH/AdgBcgHYAf8B1wFwAdcB/wHXAXAB1wH/AdIBbAHS - Af8BygFpAcoB/wGwAVUBsAH/AYIBPgGCAf8BXQFHAV0B/xAAAXsC0QH/AQIC0QH/AQIC3AH/AQIC5AH/ - AQIC4gH/AQIC4QH/AQIC4QH/AQIC2gH/AQIC0AH/AQICrAH/AQICeAH/AToCWgH/EAAD0QH/A9MB/wPa - Af8D3wH/A94B/wPcAf8D3AH/A9kB/wPSAf8DugH/A5IB/wNqAf8QAAE8AVMB1wH/ATwBVgHoAf8BRAFe - AfAB/wFEAV4B8AH/AUQBXgHwAf8BRAFeAfAB/wE8AVcB6wH/AT4BWAHvAf8BOwFUAd4B/wE0AUMBmAH/ - ATUBRQGfAf8BJgExAXIB/xAAAcsBbQHLAf8B2AFxAdgB/wHgAXsB4AH/AeABewHgAf8B4AF7AeAB/wHg - AXsB4AH/AdsBcwHbAf8B3gF1Ad4B/wHRAW4B0QH/AaUBTgGlAf8BqwFQAasB/wGBAT0BgQH/EAABAgLV - Af8BAgLjAf8BAgLwAf8BAgLwAf8BAgLwAf8BAgLwAf8BAgLmAf8BAgLpAf8BAgLaAf8BAgKeAf8BAgKk - Af8BAgJ2Af8QAAPVAf8D3wH/A+YB/wPmAf8D5gH/A+YB/wPgAf8D4QH/A9kB/wOwAf8DtQH/A5AB/wwA - AUEBWgHlAf8BRwFgAesB/wFAAVsB9AH/AUQBXgHwAf8BRAFeAfAB/wFEAV4B7wH/AUQBXAHlAf8BQQFS - Aa4B/wEoATIBaQH/AQ8BEgEkAf8DAgH/ATYBRQGdAf8BMgFBAZkB/wEmAS4BXgH/CAAB1wF2AdcB/wHc - AXwB3AH/AeIBeQHiAf8B4AF7AeAB/wHgAXsB4AH/Ad8BewHfAf8B2AF4AdgB/wGyAWQBsgH/AXoBPgF6 - Af8BPQEgAT0B/wMCAf8BqgFQAaoB/wGmAUwBpgH/AXEBOwFxAf8IAAECAuUB/wECAu4B/wECAvAB/wEC - AvAB/wECAvAB/wECAu8B/wECAucB/wECArkB/wECAnAB/wECAicB/wMCAf8BAgKjAf8BAgKdAf8BAgJm - Af8IAAPfAf8D5AH/A+YB/wPmAf8D5gH/A+UB/wPgAf8DwwH/A4sB/wNFAf8DAgH/A7QB/wOvAf8DggH/ - CAABQwFeAfQB/wFYAXAB9QH/AUkBYgHwAf8BRAFeAfAB/wE+AVEBwAH/AS0BOAF3Af8BEwEYATIB/wMD - Af8DAgH/AwIB/wELAQ0BGwH/AToBUwHcAf8BOgFNAbgB/wEqATYBgAH/CAAB4wF7AeMB/wHmAYsB5gH/ - AeABgQHgAf8B4AF7AeAB/wG7AWkBuwH/AYYBRAGGAf8BSQElAUkB/wEdARMBHQH/AwIB/wMCAf8BNQEb - ATUB/wHPAW0BzwH/AbgBYAG4Af8BiwFBAYsB/wgAAQIC8gH/AQYD/wECAvQB/wECAvAB/wECAsUB/wEC - AoEB/wECAjUB/wECAgMB/wMCAf8DAgH/AQICHQH/AQIC2AH/AQICvAH/AQICgQH/CAAD5wH/A/IB/wPn - Af8D5gH/A8kB/wOYAf8DVwH/AwkB/wMCAf8DAgH/AzkB/wPWAf8DwwH/A5kB/wgAAVQBbAH1Af8BZwGA - AfYB/wFQAWgB7wH/AUQBXgHwAf8BNQFDAYwB/wEjASsBWQH/AQcBCAEQAf8DAgH/AwIB/wMCAf8BKgE0 - AW0B/wE+AVkB8QH/ATYBTgHUAf8BLQE8AYoB/wgAAeYBhwHmAf8B6QGXAekB/wHhAYMB4QH/AeABewHg - Af8BmgFOAZoB/wFtATgBbQH/ASsBFgErAf8DAgH/AwIB/wMCAf8BgQFAAYEB/wHfAXYB3wH/AckBaAHJ - Af8BmQFHAZkB/wgAAQID/wESA/8BAgL5Af8BAgLwAf8BAgKWAf8BAgJgAf8BAgIRAf8DAgH/AwIB/wMC - Af8BAgJ1Af8BAgLsAf8BAgLPAf8BAgKOAf8IAAPwAf8D+QH/A+sB/wPmAf8DqgH/A4EB/wMnAf8DAgH/ - AwIB/wMCAf8DkAH/A+IB/wPQAf8DpAH/CAABXQF0AfYB/wFwAYIB9wH/AVEBaQHuAf8BRAFeAfAB/wFE - AV4B7wH/AUUBXwHuAf8BGQEfAUIB/wMCAf8DAgH/AgQBBwH/AT8BUgG7Af8BPAFWAecB/wE5AVIB3gH/ - AS4BPQGQAf8IAAHnAY4B5wH/AesBnwHrAf8B4AGDAeAB/wHgAXsB4AH/Ad8BewHfAf8B3gF7Ad4B/wFX - ASwBVwH/AwIB/wMCAf8BIgESASIB/wG5AWgBuQH/AdgBcgHYAf8B0AFtAdAB/wGeAUgBngH/CAABCgP/ - ARkD/wECAvkB/wECAvAB/wECAu8B/wECAu8B/wECAkYB/wMCAf8DAgH/AQICBwH/AQICwgH/AQIC4gH/ - AQIC2QH/AQICkwH/CAAD9AH/A/0B/wPrAf8D5gH/A+UB/wPlAf8DaQH/AwIB/wMCAf8DEgH/A8gB/wPe - Af8D2AH/A6gB/wgAAVsBcgH1Af8BewGMAfcB/wFaAXEB9AH/AUUBXgHnAf8BQwFcAeQB/wEeASYBTwH/ - AwIB/wEpATMBbAH/AgQBCAH/ARkBHwFCAf8BRQFfAe0B/wFEAV4B8AH/ATkBUQHYAf8BMAE+AY0B/wgA - AecBjQHnAf8B7QGpAe0B/wHmAYwB5gH/AdoBegHaAf8B1wF3AdcB/wFjATMBYwH/ASUBCQElAf8BgQE/ - AYEB/wEkARIBJAH/AVcBLAFXAf8B3QF6Ad0B/wHgAXsB4AH/AcwBawHMAf8BnAFJAZwB/wgAAQgD/wEj - A/8BBwP/AQIC6gH/AQIC5gH/AQICVQH/AwIB/wECAnQB/wECAggB/wECAkYB/wECAu4B/wECAvAB/wEC - AtQB/wECApMB/wgAA/MB/wQAA/MB/wPiAf8D4AH/A3YB/wMCAf8DjgH/AxUB/wNpAf8D5AH/A+YB/wPU - Af8DqAH/CAABUQFqAfUB/wGBAZIB+AH/AXQBhgH3Af8BVgFsAeIB/wEeASYBTwH/AwIB/wE0AUEBhwH/ - AUUBYAH0Af8BGAEeAT4B/wE1AUMBjAH/AUYBYAHzAf8BRAFeAfAB/wE5AVEB1AH/ATgBRgGTAf8IAAHl - AYQB5QH/Ae4BrwHuAf8B6wGjAesB/wHYAYQB2AH/AWMBMwFjAf8DAgH/AZYBTQGWAf8B4wGAAeMB/wFU - ASsBVAH/AZoBTgGaAf8B4gGAAeIB/wHgAXsB4AH/AckBawHJAf8BoQFSAaEB/wgAAQIC/gH/ASkD/wEd - A/8BAgLzAf8BAgJVAf8DAgH/AQICkQH/AQIC9AH/AQICQwH/AQIClgH/AQIC9AH/AQIC8AH/AQIC0QH/ - AQICngH/CAAD7gH/CAAD5wH/A3YB/wMCAf8DpgH/A+gB/wNkAf8DqgH/A+cB/wPmAf8D0wH/A68B/wwA - AYIBkwH4Af8BhwGYAfgB/wFOAVoBnwH/AwMB/wE1AUIBiwH/AUUBXwHyAf8BRQFfAe0B/wFBAVEBqgH/ - AUEBWAHYAf8BRAFeAfAB/wFEAV4B8AH/AToBUgHaAf8QAAHuAbAB7gH/Ae8BtQHvAf8BpwFsAacB/wEd - ARMBHQH/AZkBTgGZAf8B4QF8AeEB/wHdAXoB3QH/AbABYQGwAf8BzQFyAc0B/wHgAXsB4AH/AeABewHg - Af8BzQFtAc0B/xAAASoD/wEuA/8BAgK4Af8BAgIDAf8BAgKVAf8BAgLyAf8BAgLuAf8BAgK1Af8BAgLa - Af8BAgLwAf8BAgLwAf8BAgLXAf8YAAPCAf8DCQH/A6kB/wPnAf8D5AH/A8EB/wPZAf8D5gH/A+YB/wPV - Af8QAAGjAbEB+gH/AY8BnwH5Af8BbAF8AdUB/wFRAWABtgH/AV0BdAHxAf8BVAFrAeoB/wFQAWcB7AH/ - AUQBXgHwAf8BRAFeAfAB/wFEAV4B8AH/AUQBXgHwAf8BegGGAdQB/xAAAfIBwQHyAf8B8QG8AfEB/wHR - AZMB0QH/AbYBeAG2Af8B5AGOAeQB/wHeAYUB3gH/Ad4BgQHeAf8B4AF7AeAB/wHgAXsB4AH/AeABewHg - Af8B4AF7AeAB/wHOAZYBzgH/EAABmAP/ATYD/wECAvkB/wECAswB/wEHA/8BAgL4Af8BAgL2Af8BAgLw - Af8BAgLwAf8BAgLwAf8BAgLwAf8BdwLUAf8QAAP8Af8EAAPrAf8DzwH/A/MB/wPrAf8D6gH/A+YB/wPm - Af8D5gH/A+YB/wPVAf8UAAGsAbcB+wH/AYgBmQH4Af8BgQGTAfgB/wF4AYkB9wH/AWQBegH2Af8BUQFq - AfMB/wFKAWMB7wH/AUIBXAHtAf8BPQFYAfAB/wF7AYgB3QH/GAAB9AHJAfQB/wHvAbYB7wH/Ae4BrwHu - Af8B7AGmAewB/wHoAZUB6AH/AeQBhAHkAf8B4AGBAeAB/wHdAXgB3QH/Ad4BdAHeAf8B1AGZAdQB/xgA - AZ4D/wEvA/8BKQP/ASED/wEQA/8BAgL8Af8BAgL0Af8BAgLsAf8BAgLpAf8BewLaAf8oAAP3Af8D7QH/ - A+cB/wPiAf8D4QH/A9kB/yAAAWIBeAH2Af8BagGBAfYB/wFxAYQB9wH/AWQBegH2Af8BUQFqAfUB/wE+ - AVgB7wH/KAAB6AGTAegB/wHqAZoB6gH/AesBoAHrAf8B6AGVAegB/wHlAYQB5QH/Ad4BdQHeAf8oAAEO - A/8BFQP/ARsD/wEQA/8BAgL+Af8BAgLpAf8oAAP3Af8D+QH/A/0B/wP3Af8D7gH/A+EB//8A/wAqAANi - Af8DVwH/A1IB/wNRAf8DTwH/A0oB/ygAAZEBbQEbAf8BewFaARMB/wFwAVEBEAH/AW0BTwEQAf8BZwFK - AQ8B/wFWAUABEQH/KAABNQFfATUB/wEoAVABKAH/ASMBSgEjAf8BIgFIASIB/wEhAUMBIQH/ASABOAEg - Af8oAAKeAUsB/wKWASYB/wKTARgB/wKSARUB/wKNARIB/wJ4ARUB/yAAA5kB/wNvAf8DbwH/A20B/wNs - Af8DawH/A2cB/wNeAf8DUgH/A1MB/xgAAcYBqQFqAf8BtAGCARsB/wG0AYEBGgH/AbIBgQEaAf8BrwGB - ARkB/wGsAYEBGAH/AaQBeAEXAf8BjgFpARUB/wFwAVABEAH/AVYBSwEyAf8YAAGAAZ4BgAH/AToBdwE6 - Af8BOQF4ATkB/wE4AXcBOAH/ATcBdQE3Af8BNQFzATUB/wEzAW0BMwH/AS0BXwEtAf8BIwFJASMB/wE7 - AUYBOwH/GAACwAGbAf8CsgFhAf8CtAFfAf8CsgFcAf8CsQFYAf8CsQFUAf8CrQFNAf8CogE3Af8CkwEW - Af8CZwE1Af8UAAOfAf8DgQH/A4QB/wOJAf8DiAH/A4YB/wOGAf8DgwH/A4EB/wNuAf8DWAH/A1IB/xAA - AdEBsQFsAf8B2QGdASEB/wHlAaUBIgH/Ae0BrAEjAf8B6wGqASMB/wHqAagBIgH/AeoBqAEiAf8B4wGk - ASAB/wHZAZwBHwH/AbMBgQEaAf8BgAFbARIB/wFVAUoBMgH/EAABgAGpAYAB/wE7AZgBOwH/ATYBqAE2 - Af8BMwGzATMB/wE0AbABNAH/ATQBrgE0Af8BNAGuATQB/wE1AaYBNQH/ATkBmQE5Af8BOQF3ATkB/wEn - AVIBJwH/AToBRgE6Af8QAALJAaAB/wLLAXwB/wLUAYEB/wLaAYMB/wLYAYIB/wLXAYIB/wLXAYIB/wLU - AYEB/wLMAXgB/wK0AV0B/wKZASUB/wJoATMB/xAAA4EB/wOJAf8DkAH/A5AB/wOQAf8DkAH/A4oB/wOM - Af8DgwH/A2gB/wNrAf8DVgH/EAAB3AGgASIB/wHsAaoBIwH/AfYBswEoAf8B9gGzASgB/wH2AbMBKAH/ - AfYBswEoAf8B7wGtASMB/wHyAbABJAH/AeIBpAEiAf8BpAF5ARkB/wGrAYABGQH/AXsBWgESAf8QAAE6 - AZ0BOgH/ATMBsQEzAf8BMQHAATEB/wExAcABMQH/ATEBwAExAf8BMQHAATEB/wEyAbYBMgH/ATABuwEw - Af8BNwGkATcB/wE1AW0BNQH/ATYBcgE2Af8BJgFRASYB/xAAAs0BgQH/AtgBggH/At8BjQH/At8BjQH/ - At8BjQH/At8BjQH/AtsBgwH/At0BhwH/AtIBgQH/Aq0BUQH/ArABVAH/ApgBIQH/DAADiQH/A44B/wOQ - Af8DkAH/A5AB/wOPAf8DiwH/A3QB/wNUAf8DMQH/AwIB/wNqAf8DZwH/A1AB/wgAAesBrAEmAf8B8gGy - ASkB/wH4AbQBJgH/AfYBswEoAf8B9gGzASgB/wH1AbIBKAH/AewBrAEnAf8BvgGKAR8B/wFyAVMBEwH/ - ASgBHgEIAf8DAgH/AaoBgAEZAf8BpAF4ARcB/wFnAU0BEgH/CAABNgGxATYB/wE0AbsBNAH/AS0BxAEt - Af8BMQHAATEB/wExAcABMQH/ATEBvwExAf8BNwGyATcB/wFAAYABQAH/AScBSwEnAf8BDgEaAQ4B/wMC - Af8BNgFxATYB/wEzAW0BMwH/ASQBQwEkAf8IAALYAYcB/wLcAY8B/wLhAYsB/wLfAY0B/wLfAY0B/wLe - AY0B/wLYAYoB/wK1AXEB/wKPASMB/wJLAQIB/wMCAf8CrgFUAf8CrQFNAf8CiAEbAf8IAAORAf8DnAH/ - A5EB/wOQAf8DeQH/A1sB/wM6Af8DCAH/AwIB/wMCAf8DKgH/A4EB/wN1Af8DWwH/CAAB+QG2AScC/wG/ - ATUB/wH4AbcBKgH/AfYBswEoAf8BygGTASEB/wGBAV8BFgH/ATYBKAEKAf8CAwECAf8DAgH/AwIB/wEe - ARYBBgH/AeABowEhAf8BxAGOARwB/wGEAWEBFAH/CAABLgHGAS4B/wE0AdEBNAH/ATIBwwEyAf8BMQHA - ATEB/wFAAYcBQAH/ASwBVQEsAf8BEwEkARMB/wMCAf8DAgH/AwIB/wELARQBCwH/ATgBoQE4Af8BPAGB - ATwB/wEqAVgBKgH/CAAC4gGNAf8C5QGhAf8C3wGSAf8C3wGNAf8CvwF4Af8CmAEyAf8CXAECAf8CGwEC - Af8DAgH/AwIB/wJCAQIB/wLRAYEB/wK7AW4B/wKeAS8B/wgAA5oB/wOmAf8DlQH/A5AB/wNlAf8DTQH/ - Ax4B/wMCAf8DAgH/AwIB/wNWAf8DjQH/A4EB/wNhAf8IAAH/Ab4BMQL/AcUBRAH/AfoBugEuAf8B9gGz - ASgB/wGZAXEBGgH/AWIBRwERAf8BEQENAQQB/wMCAf8DAgH/AwIB/wF3AVcBFAH/AfQBsQElAf8B2AGb - AR4B/wGVAW0BFQH/CAABMQHQATEB/wE+AdMBPgH/ATQBxgE0Af8BMQHAATEB/wE0AWUBNAH/ASIBQAEi - Af8BBwEMAQcB/wMCAf8DAgH/AwIB/wEpAU4BKQH/AS8BvgEvAf8BOQGXATkB/wEvAWMBLwH/CAAC5QGc - Af8C6AGtAf8C4QGYAf8C3wGNAf8CpAFLAf8ChQEVAf8CNgECAf8DAgH/AwIB/wMCAf8CkgEoAf8C3gGI - Af8CywF4Af8CpQE9Af8IAAOfAf8DqgH/A5UB/wOQAf8DjwH/A48B/wNDAf8DAgH/AwIB/wMQAf8DeAH/ - A4gB/wOCAf8DYwH/CAAB/wHBAToC/wHIAUwB/wH5AbkBLwH/AfYBswEoAf8B9QGyASgB/wH0AbIBKAH/ - AUgBNQENAf8DAgH/AwIB/wEHAQYBAgH/AccBkQEhAf8B6wGqASMB/wHiAaMBIQH/AZoBcQEWAf8IAAE3 - AdIBNwH/AUMB1QFDAf8BNQHFATUB/wExAcABMQH/ATEBvwExAf8BMgG+ATIB/wEZAS8BGQH/AwIB/wMC - Af8BBAEFAQQB/wFAAYQBQAH/ATQBsAE0Af8BNwGjATcB/wEwAWcBMAH/CAAC5gGkAf8C6wG0Af8C4QGY - Af8C3wGNAf8C3gGNAf8C3gGNAf8CbgEIAf8DAgH/AwIB/wIrAQIB/wK9AXcB/wLYAYIB/wLRAYEB/wKo - AUIB/wgAA54B/wOxAf8DngH/A40B/wOKAf8DSgH/AwIB/wNWAf8DEgH/A0MB/wOOAf8DkAH/A4EB/wNj - Af8IAAH/AcABOAL/AcwBVwL/AcEBNwH/Ae8BrwEoAf8B6wGrASYB/wFXAT8BDwH/AwIB/wF2AVYBFAH/ - AQgBBgECAf8BSAE1AQ0B/wHzAbEBKAH/AfYBswEoAf8B3AGfASAB/wGZAXEBFwH/CAABNQHSATUB/wFL - AdYBSwH/ATUB0AE1Af8BNgG2ATYB/wE3AbABNwH/AR4BOQEeAf8DAgH/ASgBTQEoAf8BBAEGAQQB/wEZ - AS8BGQH/ATMBvQEzAf8BMQHAATEB/wE5AZwBOQH/ATEBZgExAf8IAALmAaIB/wLtAb0B/wLlAaIB/wLb - AYsB/wLYAYgB/wJ8AQ8B/wJLAQIB/wKSASYB/wIvAQIB/wJuAQgB/wLdAY0B/wLfAY0B/wLNAXwB/wKn - AUQB/wgAA5kB/wO2Af8DrQH/A5EB/wNKAf8DAgH/A2MB/wOTAf8DQQH/A2UB/wORAf8DkAH/A4EB/wNn - Af8IAAH/AbwBLwL/Ac4BXgL/AckBUAH/AfEBtAExAf8BVwE/AQ8B/wMCAf8BlAFuARkB/wH6AbYBKQH/ - AUQBMgEMAf8BmQFxARoB/wH5AbUBKQH/AfYBswEoAf8B2QGdASAB/wGhAXgBGwH/CAABMAHPATAB/wFQ - AdcBUAH/AUYB1QFGAf8BPgG2AT4B/wEeATkBHgH/AwIB/wEzAWIBMwH/AS4BxwEuAf8BGAEtARgB/wE0 - AWUBNAH/AS8BxgEvAf8BMQHAATEB/wE6AZkBOgH/ATcBawE3Af8IAALkAZkB/wLuAcIB/wLsAbgB/wLa - AZgB/wJ8AQ8B/wMCAf8CoQFHAf8C4gGQAf8CagEGAf8CpAFLAf8C4QGQAf8C3wGNAf8CzAF8Af8CqAFS - Af8MAAO4Af8DuwH/A3MB/wMIAf8DZAH/A5EB/wOOAf8DcwH/A4MB/wOQAf8DkAH/A4EB/xAAAf8BzgFf - Av8B0AFkAf8BtQGJASYB/wIDAQIB/wGYAXEBGgH/AfgBtAEoAf8B8wGxASgB/wG6AYcBHwH/Ad8BogEl - Af8B9gGzASgB/wH2AbMBKAH/Ad8BoQEhAf8QAAFRAdgBUQH/AVQB2AFUAf8BRwF1AUcB/wMCAf8BNAFl - ATQB/wEwAcQBMAH/ATMBvQEzAf8BPwF6AT8B/wE7AaABOwH/ATEBwAExAf8BMQHAATEB/wE5AZ8BOQH/ - EAAC7wHEAf8C8AHIAf8CrgF4Af8CGwECAf8CpAFLAf8C4QGPAf8C3QGNAf8CtAFuAf8C0AGCAf8C3wGN - Af8C3wGNAf8CzwGBAf8QAAPKAf8DwAH/A5UB/wOBAf8DngH/A5UB/wOUAf8DkAH/A5AB/wOQAf8DkAH/ - A6EB/xAAAf8B3QGOAv8B0wFtAf8B7QG4ATsB/wHHAZgBLAH/Af4BwAE4Af8B9wG5ATAB/wH3AbcBLgH/ - AfYBswEoAf8B9gGzASgB/wH2AbMBKAH/AfYBswEoAf8B2QG0AWkB/xAAAYoB5gGKAf8BWgHaAVoB/wFN - Aa4BTQH/AUoBhAFKAf8BOQHNATkB/wE4AcEBOAH/ATYBwQE2Af8BMQHAATEB/wExAcABMQH/ATEBwAEx - Af8BMQHAATEB/wF3AbMBdwH/EAAC8wHPAf8C8QHPAf8C1gGlAf8CvAGFAf8C5AGkAf8C3gGZAf8C3wGW - Af8C3wGNAf8C3wGNAf8C3wGNAf8C3wGNAf8C0AGhAf8UAAPPAf8DuwH/A7YB/wOuAf8DowH/A5cB/wOR - Af8DjQH/A4wB/wOlAf8YAAH/Ad8BlQL/AdABZQL/Ac0BXgL/AcsBVAL/AcMBQQH/Af0BuwEvAf8B9wG3 - ASsB/wHyAbEBJgH/AfIBrwEkAf8B4AG6AWsB/xgAAY8B5wGPAf8BVQHZAVUB/wFQAdgBUAH/AUkB1gFJ - Af8BPAHTATwB/wEyAcwBMgH/ATMBwgEzAf8BMgG7ATIB/wEvAbsBLwH/AXcBvAF3Af8YAAL0AdUB/wLw - AcgB/wLvAcMB/wLtAbsB/wLoAaoB/wLjAZkB/wLfAZIB/wLdAYoB/wLdAYcB/wLWAaQB/yAAA6IB/wOm - Af8DqgH/A6MB/wOZAf8DjAH/KAAB/wHDAT8C/wHGAUcC/wHJAU4C/wHCAUEC/wG9AS8B/wHyAa8BJAH/ - KAABOgHTAToB/wFAAdQBQAH/AUQB1QFEAf8BPAHTATwB/wEwAc8BMAH/ATABuwEwAf8oAALnAagB/wLq - AbAB/wLrAbUB/wLoAaoB/wLkAZkB/wLdAYcB//8A/wAqAAIqAVIB/wIgAUUB/wIcAUAB/wIbAT4B/wIa - ATsB/wIaATAB/ygAAXoBAgFVAf8BYwECAUYB/wFZAQIBPwH/AVcBAgE9Af8BUgECAToB/wFIAQIBMwH/ - KAABIQFDAVAB/wEYATgBRQH/ARQBMwFAAf8BFAEyAT4B/wETAS8BOgH/ARQBKAEvAf8oAAOFAf8DdQH/ - A20B/wNrAf8DZwH/A14B/yAAAmIBhwH/Ai0BZwH/AiwBZwH/AiwBZgH/AisBZQH/AioBYgH/AigBXgH/ - AiMBUQH/AhsBQAH/Ai4BOwH/GAABrAE9AYkB/wGPAQIBZgH/AY8BAgFmAf8BjQECAWUB/wGLAQIBYwH/ - AYgBAgFhAf8BggECAV0B/wFzAQIBUAH/AVkBAgE+Af8BSwEeAT0B/xgAAVoBewGGAf8BIgFSAWYB/wEg - AVMBZwH/ASABUQFmAf8BHwFQAWQB/wEeAU8BYgH/AR0BSwFeAf8BGgFBAVEB/wEUATMBQAH/ASoBNgE6 - Af8YAAO0Af8DlwH/A5cB/wOVAf8DkwH/A5IB/wONAf8DgQH/A20B/wNcAf8UAAJhAZIB/wIsAYQB/wIn - AZEB/wIkAZsB/wIlAZkB/wIlAZgB/wIlAZgB/wInAZAB/wIrAYQB/wIsAWcB/wIfAUcB/wItAToB/xAA - AbUBPgGQAf8BrQECAXsB/wG2AQIBgQH/AbwBAgGDAf8BuwECAYMB/wG6AQIBggH/AboBAgGCAf8BtAEC - AYEB/wGsAQIBegH/AY4BAgFlAf8BZAECAUYB/wFKAR4BPQH/EAABVwGBAZIB/wEcAWgBhQH/ARUBcQGU - Af8BEAF3AZ8B/wERAXYBnQH/ARIBdQGbAf8BEgF1AZsB/wEVAXABkwH/ARoBaAGGAf8BIAFSAWcB/wEX - ATkBRgH/ASoBNQE6Af8QAAO6Af8DrAH/A7IB/wO2Af8DtQH/A7QB/wO0Af8DsQH/A6sB/wOWAf8DdgH/ - A1wB/xAAAiwBhwH/AiQBmgH/AiEBqAH/AiEBqAH/AiEBqAH/AiEBqAH/AiMBngH/AiEBowH/AikBjwH/ - AikBXgH/AioBYgH/Ah4BRQH/EAABsAECAYAB/wG8AQIBgwH/AcYBAgGKAf8BxgECAYoB/wHGAQIBigH/ - AcYBAgGKAf8BvgECAYUB/wHBAQIBhwH/AbQBAgGBAf8BgwECAV0B/wGIAQIBYQH/AWIBAgFFAf8QAAEb - AWsBiQH/ARABdgGeAf8BCwGBAa0B/wELAYEBrQH/AQsBgQGtAf8BCwGBAa0B/wEOAXkBowH/AQwBfAGn - Af8BFwFvAZEB/wEfAUwBXgH/AR8BTgFiAf8BFgE4AUUB/xAAA64B/wO2Af8DvQH/A70B/wO9Af8DvQH/ - A7cB/wO5Af8DsQH/A44B/wOSAf8DdAH/DAACJwGZAf8CJQGiAf8CHgGrAf8CIQGoAf8CIQGoAf8CIgGn - Af8CJwGbAf8CMgFsAf8CHwFAAf8CDAEXAf8DAgH/AioBYQH/AigBXgH/Ah0BOgH/CAABvQECAYQB/wHF - AQIBiQH/AcYBAgGKAf8BxgECAYoB/wHGAQIBigH/AcYBAgGKAf8BvwECAYUB/wGZAQIBbQH/AV0BAgFB - Af8BIQECARcB/wMCAf8BhwECAWAB/wGCAQIBXQH/AVUBAgE8Af8IAAETAXcBnQH/ARABgAGnAf8BCAGB - AbEB/wELAYEBrQH/AQsBgQGtAf8BDAGBAasB/wEUAXgBngH/ASYBVwFrAf8BGAE0AUAB/wEJARMBFwH/ - AwIB/wEfAU4BYQH/AR0BSwFeAf8BFgEvATkB/wgAA7YB/wO7Af8DvQH/A70B/wO9Af8DvAH/A7gB/wOe - Af8DcAH/AzUB/wMCAf8DkQH/A40B/wNpAf8IAAIeAa0B/wIhAbkB/wIiAaoB/wIhAagB/wIyAXYB/wIj - AUkB/wIPAR8B/wMCAf8DAgH/AwIB/wIJAREB/wIpAYwB/wIvAXEB/wIhAUwB/wgAAcgBAgGMAf8B1wEC - AZYB/wHJAQIBjAH/AcYBAgGKAf8BowECAXQB/wFqAQIBSwH/ASwBAgEfAf8BAwECAQMB/wMCAf8DAgH/ - ARgBAgERAf8BswECAYEB/wGbAQIBbgH/AWsBAgFLAf8IAAEIAYEBswH/AQgBigG/Af8BDAGBAa8B/wEL - AYEBrQH/ASQBXgF2Af8BGwE8AUkB/wEMARkBHwH/AwIB/wMCAf8DAgH/AQcBDgERAf8BGAFuAY4B/wEi - AVoBcQH/ARkBPQFMAf8IAAO+Af8DxwH/A74B/wO9Af8DpAH/A3sB/wNDAf8DBwH/AwIB/wMCAf8DKwH/ - A68B/wOfAf8DfAH/CAACIAG3Af8CIgHCAf8CJAGtAf8CIQGoAf8CKQFXAf8CGwE3Af8CBQEKAf8DAgH/ - AwIB/wMCAf8CIAFDAf8CIAGmAf8CKwGDAf8CJAFWAf8IAAHUAQIBlAH/AeEBAgGdAf8BzgECAY8B/wHG - AQIBigH/AYEBAgFYAf8BUAECATgB/wEOAQIBCgH/AwIB/wMCAf8DAgH/AWEBAgFEAf8BwwECAYgB/wGr - AQIBeQH/AXgBAgFUAf8IAAEIAYgBvQH/AQgBkAHIAf8BDQGCAbIB/wELAYEBrQH/AR8BRgFWAf8BFQEt - ATcB/wEEAQgBCgH/AwIB/wMCAf8DAgH/ARkBNgFCAf8BCgGBAasB/wEbAWcBhAH/ARoBRQFWAf8IAAPF - Af8DzgH/A8EB/wO9Af8DiQH/A2QB/wMdAf8DAgH/AwIB/wMCAf8DdAH/A7oB/wOqAf8DhAH/CAACIQG8 - Af8CIwHHAf8CJQGsAf8CIQGoAf8CIgGnAf8CIwGlAf8CFAEpAf8DAgH/AwIB/wIDAQUB/wIyAXQB/wIl - AZkB/wIoAY0B/wIlAVkB/wgAAdoBAgGYAf8B5wECAaEB/wHOAQIBjwH/AcYBAgGKAf8BxgECAYoB/wHF - AQIBigH/AToBAgEpAf8DAgH/AwIB/wEGAQIBBQH/AaEBAgFyAf8BuwECAYMB/wGzAQIBgQH/AXwBAgFX - Af8IAAEIAYwBwgH/AQkBlAHNAf8BDgGBAbEB/wELAYEBrQH/AQwBgQGrAf8BDQGBAaoB/wEPASEBKAH/ - AwIB/wMCAf8BAwEEAQUB/wEkAVwBcwH/AREBdgGdAf8BFgFvAZAB/wEbAUcBWQH/CAADyQH/A9EB/wPB - Af8DvQH/A7wB/wO8Af8DUgH/AwIB/wMCAf8DDgH/A6MB/wO1Af8DsAH/A4cB/wgAAiEBuwH/AiQBzgH/ - AiIBuQH/AiYBngH/AigBmQH/AhgBMQH/AwIB/wIgAUIB/wIDAQUB/wIUASkB/wIjAaQB/wIhAagB/wIr - AYcB/wImAVcB/wgAAdkBAgGXAf8B7gECAaYB/wHXAQIBlgH/AcIBAgGHAf8BvgECAYUB/wFGAQIBMQH/ - AwIB/wFgAQIBQwH/AQcBAgEFAf8BOgECASkB/wHFAQIBiQH/AcYBAgGKAf8BrwECAXwB/wF8AQIBVwH/ - CAABCAGLAcEB/wEJAZkB1AH/AQkBiQG+Af8BEgF6AaIB/wEUAXcBnQH/ARIBKAExAf8DAgH/ARgBNgFC - Af8BAwIFAf8BDwEhASgB/wEOAYABqQH/AQsBgQGtAf8BGgFqAYkB/wEcAUYBVwH/CAADyAH/A9YB/wPI - Af8DugH/A7cB/wNdAf8DAgH/A3MB/wMQAf8DUgH/A7sB/wO9Af8DrQH/A4cB/wgAAiABtQH/AiUB0QH/ - AiMByQH/Ai4BngH/AhgBMQH/AwIB/wIoAVQB/wIfAa4B/wITASYB/wIpAVcB/wIfAa0B/wIhAagB/wIs - AYQB/wIrAVwB/wgAAdIBAgGSAf8B8wECAaoB/wHqAQIBowH/AckBAgGMAf8BRgECATEB/wMCAf8BegEC - AVYB/wHKAQIBjQH/ATcBAgEnAf8BgQECAVgB/wHJAQIBjAH/AcYBAgGKAf8BrQECAXsB/wGCAQIBXQH/ - CAABCAGHAbsB/wEJAZwB2QH/AQkBlgHQAf8BGgF7AaEB/wESASgBMQH/AwIB/wEfAUQBVAH/AQgBggG0 - Af8BDwEfASYB/wEfAUYBVgH/AQkBgQGzAf8BCwGBAa0B/wEbAWkBhgH/ASEBSgFbAf8IAAPEAf8D2QH/ - A9MB/wO+Af8DXQH/AwIB/wOGAf8DvwH/A04B/wOJAf8DvgH/A70B/wOsAf8DjQH/DAACJQHTAf8CJQHW - Af8COQFkAf8DAgH/AikBVgH/AiABqwH/AiMBpAH/AjIBaQH/AiwBiwH/AiEBqAH/AiEBqAH/AioBigH/ - EAAB9AECAaoB/wH4AQIBrQH/AZgBAgFsAf8BAwECAQMB/wGAAQIBWAH/AcgBAgGMAf8BxQECAYkB/wGW - AQIBawH/AbQBAgGBAf8BxgECAYoB/wHGAQIBigH/AbEBAgGBAf8QAAEJAZ0B2QH/AQkBnwHdAf8BLgFT - AWEB/wMCAf8BHwFGAVYB/wEKAYEBsQH/AQ4BgAGpAf8BJgFVAWgB/wEbAW0BjAH/AQsBgQGtAf8BCwGB - Aa0B/wEZAWwBjAH/EAAD2gH/A9wB/wOdAf8DBwH/A4gB/wO+Af8DuwH/A5wB/wOxAf8DvQH/A70B/wOu - Af8QAAJhAdQB/wInAdoB/wI7AZYB/wI7AXMB/wIlAbYB/wIoAagB/wImAagB/wIhAagB/wIhAagB/wIh - AagB/wIhAagB/wJaAZ4B/xAAAesBSgG5Af8B/gECAbEB/wHOAQIBkAH/AakBAgF4Af8B1wECAZYB/wHN - AQIBjwH/AcsBAgGOAf8BxgECAYoB/wHGAQIBigH/AcYBAgGKAf8BxgECAYoB/wG8ATwBlQH/EAABTgGw - AdkB/wEJAaMB4gH/ASkBeAGWAf8BLgFeAXIB/wENAYgBuwH/ARIBgQGsAf8BEAGBAa0B/wELAYEBrQH/ - AQsBgQGtAf8BCwGBAa0B/wELAYEBrQH/AU4BhwGfAf8QAAPiAf8D3wH/A8EB/wOpAf8DyAH/A8EB/wPA - Af8DvQH/A70B/wO9Af8DvQH/A70B/xQAAmIB2QH/AiUB1gH/AiUB0gH/AiQBzAH/AiIBvwH/AiIBsgH/ - AiMBqQH/AiMBowH/AiABowH/AlkBpwH/GAAB8QFKAb4B/wH5AQIBrQH/AfQBAgGqAf8B7QECAaUB/wHf - AQIBmwH/AdEBAgGSAf8ByQECAYwB/wHDAQIBiAH/AcEBAgGHAf8BwgE+AZkB/xgAAU8BtAHeAf8BCQGf - Ad0B/wEJAZwB2QH/AQkBmAHTAf8BCAGPAcYB/wEKAYUBuAH/AQ0BgQGvAf8BDgF8AacB/wELAXwBqAH/ - AUsBjQGpAf8YAAPmAf8D3AH/A9kB/wPUAf8DzAH/A8MB/wO+Af8DugH/A7kB/wPBAf8gAAIhAb8B/wIi - AcMB/wIjAcgB/wIiAb8B/wIgAbUB/wIhAaMB/ygAAd0BAgGaAf8B4wECAZ4B/wHoAQIBogH/Ad8BAgGb - Af8B0gECAZIB/wHBAQIBhwH/KAABCAGOAcUB/wEIAZEBygH/AQkBlQHOAf8BCAGPAcYB/wEIAYcBuwH/ - AQwBfAGnAf8oAAPLAf8DzgH/A9EB/wPMAf8DxAH/A7kB//8A/wAqAAM/Af8DOAH/AzYB/wM1Af8DNAH/ - AzIB/ygAAW4BSAE7Af8BXQE4ASwB/wFVATIBJwH/AVMBMQEmAf8BTgEvASQB/wFAASsBIwH/KAABJQFB - ASUB/wEcATcBHAH/ARgBMwEYAf8BGAExARgB/wEXAS4BFwH/ARYBJwEWAf8oAAFPAVEBKgH/AUMBRQEf - Af8BPQFAARsB/wE8AT4BGgH/ATkBOwEZAf8BLwEwARkB/yAAA4IB/wNJAf8DSQH/A0gB/wNHAf8DRgH/ - A0MB/wM9Af8DNgH/A0UB/xgAAaIBgQFxAf8BhwFSAUAB/wGIAVIBPwH/AYYBUQE+Af8BhAFPAT0B/wGC - AU0BOwH/AYEBSgE4Af8BbQFAATIB/wFVATIBJgH/AUUBOQE0Af8YAAFdAXkBXQH/ASgBUgEoAf8BJwFS - AScB/wEnAVEBJwH/ASYBUAEmAf8BJQFPASUB/wEjAUsBIwH/AR8BQQEfAf8BGAEzARgB/wEsATUBLAH/ - GAABhQGHAWEB/wFjAWcBLAH/AWQBZwErAf8BYwFmASsB/wFhAWUBKgH/AV8BYwEpAf8BWwFfAScB/wFP - AVIBIgH/AT0BQAEbAf8BOgE7AS4B/xQAA4gB/wNbAf8DYQH/A2YB/wNlAf8DYwH/A2MB/wNgAf8DWgH/ - A0kB/wM5Af8DRQH/EAABsAGBAXAB/wGwAV0BQAH/AcIBXQE6Af8BzQFeATgB/wHKAV4BOQH/AckBXQE4 - Af8ByQFdATgB/wHBAVwBOQH/AbEBWwE+Af8BhwFRAT8B/wFfATgBKwH/AUQBNwEzAf8QAAFdAYEBXQH/ - ASkBagEpAf8BJQF1ASUB/wEjAXwBIwH/ASQBegEkAf8BJAF5ASQB/wEkAXkBJAH/ASUBcwElAf8BJwFq - AScB/wEnAVIBJwH/ARsBOAEbAf8BKwE1ASsB/xAAAY8BkgFgAf8BgQGEASsB/wGLAZIBJgH/AZQBnAEi - Af8BkgGZASMB/wGRAZgBJAH/AZEBmAEkAf8BigGQASUB/wGBAYQBKQH/AWMBZwErAf8BRQFHAR4B/wI6 - AS0B/xAAA10B/wNmAf8DbwH/A28B/wNvAf8DbwH/A2cB/wNpAf8DYAH/A0QB/wNGAf8DOAH/EAABtQFd - AT8B/wHLAV4BOQH/AdQBZQE/Af8B1AFlAT8B/wHUAWUBPwH/AdQBZQE/Af8BzwFfATkB/wHSAWABOgH/ - Ab4BXQE8Af8BgQFLAToB/wGBAU0BOwH/AV0BNwEqAf8QAAEoAW0BKAH/ASMBewEjAf8BIgGDASIB/wEi - AYMBIgH/ASIBgwEiAf8BIgGDASIB/wEiAYEBIgH/ASEBgQEhAf8BJgFyASYB/wElAUsBJQH/ASUBTgEl - Af8BGwE4ARsB/xAAAYIBiAEqAf8BkwGbASMB/wGgAagBIAH/AaABqAEgAf8BoAGoASAB/wGgAagBIAH/ - AZcBnwEhAf8BmwGjASAB/wGIAY4BJwH/AVsBXgEoAf8BXwFiASkB/wFDAUYBHQH/DAADZgH/A2wB/wNv - Af8DbwH/A28B/wNtAf8DaAH/A04B/wM3Af8DJgH/AwIB/wNGAf8DQwH/AzUB/wgAAckBYQE9Af8BzwFl - AUEB/wHXAWMBPAH/AdQBZQE/Af8B1AFlAT8B/wHTAWUBPwH/AcoBYwE/Af8BjgFZAUcB/wFWATYBKwH/ - AR4BEwEQAf8DAgH/AYEBTQE8Af8BgQFKATgB/wFNATEBKAH/CAABJQF7ASUB/wEkAYEBJAH/AR8BhQEf - Af8BIgGDASIB/wEiAYMBIgH/ASIBggEiAf8BJgF8ASYB/wEsAVYBLAH/ARsBMwEbAf8BCgESAQoB/wMC - Af8BJQFOASUB/wEjAUsBIwH/ARkBLgEZAf8IAAGTAZoBJQH/AZsBowEjAf8BowGrARwB/wGgAagBIAH/ - AaABqAEgAf8BnwGnASAB/wGUAZsBJgH/AWgBbAExAf8BPgFAAR4B/wEWARcBCwH/AwIB/wFeAWEBKgH/ - AVsBXwEnAf8BOAE6ARwB/wgAA3AB/wOAAf8DcAH/A28B/wNTAf8DOgH/AysB/wMHAf8DAgH/AwIB/wMh - Af8DXgH/A08B/wM7Af8IAAHYAWUBPgH/AdsBcgFOAf8B1AFoAUIB/wHUAWUBPwH/AZwBXAFGAf8BYgE9 - ATEB/wEpARoBFQH/AgMBAgH/AwIB/wMCAf8BFwEOAQwB/wG7AV0BPQH/AZUBWAFCAf8BZgE9AS8B/wgA - ASABhwEgAf8BIgGQASIB/wEiAYUBIgH/ASIBgwEiAf8BLAFeASwB/wEfATsBHwH/AQ0BGQENAf8DAgH/ - AwIB/wMCAf8BCAEOAQgB/wEnAXABJwH/ASoBWgEqAf8BHQE9AR0B/wgAAaQBrQEdAf8BsAG6AR8B/wGi - AaoBIAH/AaABqAEgAf8BcgF2ATAB/wFHAUkBIgH/AR4BHwEPAf8DAgH/AwIB/wMCAf8CEQEJAf8BhgGM - ASgB/wFtAXEBLgH/AUkBTAEhAf8IAAN6Af8DhwH/A3QB/wNvAf8DQQH/AzMB/wMZAf8DAgH/AwIB/wMC - Af8DOAH/A2sB/wNZAf8DPwH/CAAB2gFvAUoB/wHdAXsBWgH/AdUBbAFIAf8B1AFlAT8B/wF1AUkBOgH/ - AUkBLgElAf8BDQEJAQcB/wMCAf8DAgH/AwIB/wFZATgBLQH/AdQBYQE6Af8BrwFbAT4B/wFzAUMBMwH/ - CAABIQGOASEB/wEjAZcBIwH/ASQBhwEkAf8BIgGDASIB/wEkAUUBJAH/ARcBLAEXAf8BBQEIAQUB/wMC - Af8DAgH/AwIB/wEcATYBHAH/ASEBgQEhAf8BJwFpAScB/wEgAUQBIAH/CAABrgG3AR4B/wG5AcIBIAH/ - AaUBrQEiAf8BoAGoASAB/wFUAVcBKAH/ATUBNwEaAf8CCgEFAf8DAgH/AwIB/wMCAf8BQQFDASAB/wGe - AaYBHgH/AYEBgwEpAf8BUwFWASQB/wgAA4EB/wOMAf8DdAH/A28B/wNtAf8DbQH/Ay8B/wMCAf8DAgH/ - Aw4B/wNSAf8DZQH/A18B/wNAAf8IAAHcAXUBUQH/Ad8BgQFgAf8B1AFsAUkB/wHUAWUBPwH/AdMBZQE/ - Af8B0gFlAUAB/wE2ASIBGwH/AwIB/wMCAf8BBgIEAf8BmQFcAUYB/wHKAV4BOQH/Ab0BXAE7Af8BdwFF - ATUB/wgAASIBkgEiAf8BJAGbASQB/wEkAYYBJAH/ASIBgwEiAf8BIgGCASIB/wEjAYEBIwH/AREBIAER - Af8DAgH/AwIB/wEDAQQBAwH/ASwBXAEsAf8BJAF6ASQB/wEmAXEBJgH/ASEBRwEhAf8IAAGzAbwBHwH/ - Ab0BxwEhAf8BpAGsASMB/wGgAagBIAH/AZ8BpwEgAf8BngGmASEB/wEnASgBEwH/AwIB/wMCAf8CBQED - Af8BcAF0ATEB/wGSAZkBIwH/AYgBjgEnAf8BVgFZASUB/wgAA4EB/wOWAf8DgQH/A2sB/wNnAf8DMgH/ - AwIB/wM4Af8DEAH/Ay8B/wNsAf8DbwH/A1wB/wNAAf8IAAHcAXQBUAH/AeEBhgFpAf8B2gFzAU8B/wHM - AWQBQQH/AckBYgE/Af8BQQEpASEB/wMCAf8BWQE3ASwB/wEGAQUBBAH/ATYBIgEbAf8B0QFlAUAB/wHU - AWUBPwH/AbUBXAE+Af8BdQFGATYB/wgAASIBkgEiAf8BJQGgASUB/wEjAZABIwH/ASUBgQElAf8BJgF6 - ASYB/wEVAScBFQH/AwIB/wEcATUBHAH/AQMBBAEDAf8BEQEgAREB/wEjAYEBIwH/ASIBgwEiAf8BJwFt - AScB/wEiAUYBIgH/CAABsgG7AR8B/wHEAc4BIgH/AbABuQEgAf8BlwGeASUB/wGTAZoBJgH/AS8BMQEX - Af8DAgH/AUABQgEfAf8CBQEDAf8BJwEoARMB/wGdAaQBIgH/AaABqAEgAf8BggGHASkB/wFVAVgBJQH/ - CAADeQH/A5sB/wOQAf8DcAH/AzIB/wMCAf8DQAH/A3EB/wMuAf8DQQH/A3AB/wNvAf8DWwH/A0MB/wgA - AdoBbQFIAf8B4gGKAW8B/wHfAYEBZAH/AcgBbQFOAf8BQQEpASEB/wMCAf8BcQFHATgB/wHYAWcBQAH/ - ATMBIAEaAf8BdQFJAToB/wHXAWYBQAH/AdQBZQE/Af8BsQFcAT8B/wF7AUwBPQH/CAABIQGNASEB/wEm - AaQBJgH/ASUBnQElAf8BKwGBASsB/wEVAScBFQH/AwIB/wEjAUMBIwH/ASABiAEgAf8BEQEfAREB/wEk - AUUBJAH/ASABhwEgAf8BIgGDASIB/wEoAWoBKAH/ASYBSQEmAf8IAAGsAbUBHgH/AcgB0gEiAf8BwAHK - ASEB/wGYAZ4BLAH/AS8BMQEXAf8DAgH/AVIBVAEnAf8BpgGvAR0B/wElASYBEgH/AVQBVwEoAf8BpQGt - AR4B/wGgAagBIAH/AYEBhAEqAf8BWQFbASsB/wwAA54B/wOiAf8DTgH/AwcB/wNBAf8DcAH/A2wB/wNN - Af8DYAH/A28B/wNvAf8DXQH/EAAB4gGLAXAB/wHjAY8BdAH/AYQBXQFPAf8CAwECAf8BdAFIAToB/wHW - AWYBQAH/AdEBZQFAAf8BiwFYAUYB/wG6AV8BQQH/AdQBZQE/Af8B1AFlAT8B/wG5AV0BPgH/EAABJgGk - ASYB/wEnAacBJwH/ATEBUAExAf8DAgH/ASQBRQEkAf8BIQGFASEB/wEjAYEBIwH/ASwBVAEsAf8BKQFv - ASkB/wEiAYMBIgH/ASIBgwEiAf8BJwFvAScB/xAAAcgB0wEjAf8BzAHWASMB/wFhAWMBOAH/AwIB/wFU - AVYBKAH/AaMBqwEeAf8BnQGkASIB/wFmAWkBMQH/AYUBiwErAf8BoAGoASAB/wGgAagBIAH/AYQBigEp - Af8QAAO3Af8DqAH/A3QB/wNYAf8DgQH/A3QB/wNzAf8DbwH/A28B/wNvAf8DbwH/A4sB/xAAAegBoAGH - Af8B5AGUAXsB/wG9AXgBYAH/AZgBZAFSAf8B1wF0AVIB/wHQAW4BTAH/AdEBawFIAf8B1AFlAT8B/wHU - AWUBPwH/AdQBZQE/Af8B1AFlAT8B/wHAAYEBaQH/EAABYgG1AWIB/wEoAasBKAH/ATUBeQE1Af8BMwFc - ATMB/wElAY4BJQH/AScBgwEnAf8BJQGEASUB/wEiAYMBIgH/ASIBgwEiAf8BIgGDASIB/wEiAYMBIgH/ - AVgBiAFYAf8QAAHNAdQBXwH/AdEB3AEkAf8BkAGWAToB/wFvAXMBOgH/Aa0BtgEjAf8BoQGoASYB/wGh - AakBJAH/AaABqAEgAf8BoAGoASAB/wGgAagBIAH/AaABqAEgAf8BmgGeAVkB/xQAA74B/wOiAf8DmwH/ - A5IB/wODAf8DdwH/A3AB/wNrAf8DaQH/A48B/xgAAekBpQGPAf8B4wGPAXUB/wHiAYsBbwH/AeABhAFn - Af8B3QF5AVcB/wHYAW0BSQH/AdQBaAFDAf8B0AFjAT4B/wHTAWABOQH/AcoBgQFnAf8YAAFjAboBYwH/ - AScBpwEnAf8BJgGkASYB/wElAZ8BJQH/ASMBlgEjAf8BIgGLASIB/wEjAYQBIwH/ASMBgQEjAf8BIQGB - ASEB/wFYAZABWAH/GAAB0wHaAWAB/wHMAdcBIwH/AcgB0gEjAf8BwgHMASIB/wG3AcABIAH/AaoBswEg - Af8BoQGqASEB/wGbAaMBIQH/AZwBpAEfAf8BogGnAVgB/yAAA4IB/wOHAf8DjAH/A4MB/wN5Af8DaQH/ - KAAB3QF4AVYB/wHeAYABXAH/Ad8BgQFiAf8B3QF5AVcB/wHaAW0BSAH/AdIBYAE6Af8oAAEjAZUBIwH/ - ASQBmQEkAf8BJAGcASQB/wEjAZYBIwH/ASEBjQEhAf8BIQGBASEB/ygAAbYBvwEfAf8BugHEASAB/wG+ - AcgBIQH/AbcBwAEgAf8BrAG1AR4B/wGbAaMBIAH//wAVAAFCAU0BPgcAAT4DAAEoAwABQAMAAWADAAEB - AQABAQYAAQMWAAP/gQAI/wH4AR8B+AEfAfgBHwH4AR8B4AEHAeABBwHgAQcB4AEHAcABAwHAAQMBwAED - AcABAwHAAQMBwAEDAcABAwHAAQMBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEB - AYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBwAED - AcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHgAQcB4AEHAeABBwHgAQcB+AEfAfgBHwH4AR8B+AEf - EP8B+AEfAfgBHwH4AR8B+AEfAeABBwHgAQcB4AEHAeABBwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHA - AQMBwAEDAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGA - AQEBgAEBAYABAQGAAQEBgAEBAYABAQGgAQEBgAEBAYABAQGAAQEBsAEBAcABAwHAAQMBwAEDAfABAwHA - AQMBwAEDAcABAwHQAQMB4AEHAeABBwHgAQcB/gEHAfgBHwH4AR8B+AEfAfgBHxD/AfgBHwH4AR8B+AEf - AfgBHwHgAQcB4AEHAeABBwHgAQcBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwGAAQEBgAEB + AYQBeAHEAf8BgQFvAcQB/wGAAW0BwwH/AXkBawHBAf8BeQFtAbYB/ykAAVIBlwH/AQABQwF6Af8BAAE8 + AW4B/wEAAToBawH/AQABNwFlAf8BAAEwAVgB/ygAAUYBXwFhAf8BNwFPAVEB/wExAUcBSQH/AS8BRQFH + Af8BLQFBAUMB/wEpATcBOAH/KAABLQFRAWAB/wEhAUMBUQH/ARwBPQFKAf8BGwE8AUkB/wEaATgBRAH/ + ARoBLwE3Af8gAAG5AbQB0gH/AZ8BlQHSAf8BngGUAdMB/wGcAZIB0gH/AZsBkQHSAf8BmQGOAdIB/wGV + AYoB0AH/AYsBgQHLAf8BgAFuAcUB/wFvAWkBkQH/GAABUwGUAcsB/wEAAWMBtQH/AQABYwG0Af8BAAFh + AbIB/wEAAWABrwH/AQABXgGrAf8BAAFaAaQB/wEAAU4BjgH/AQABPAFuAf8BKAFCAVcB/xgAAYoBnwGh + Af8BUQF1AXgB/wFQAXUBeAH/AU8BdAF3Af8BTQFyAXUB/wFLAXABcwH/AUgBawFuAf8BPwFcAV8B/wEw + AUcBSQH/AT4CRQH/GAABdgGUAaEB/wEwAWQBegH/AS8BZQF6Af8BLgFjAXkB/wEtAWIBdwH/ASsBYAF1 + Af8BKQFbAXAB/wEkAU8BYAH/ARwBPQFKAf8BNwFAAUUB/xQAAbwBtwHYAf8BqwGhAeIB/wGuAaMB6AH/ + AbABpAHsAf8BrwGkAesB/wGvAaQB6gH/Aa8BpAHqAf8BrQGhAegB/wGqAZ8B4gH/AZ0BkwHTAf8BgwF2 + AcYB/wFuAWgBkQH/EAABVQGbAdQB/wEAAXgB2wH/AQABgQHmAf8BAAGCAe0B/wEAAYEB7AH/AQABgQHq + Af8BAAGBAeoB/wEAAYEB5AH/AQABdwHZAf8BAAFiAbMB/wEAAUMBgAH/AScBQQFWAf8QAAGNAagBqgH/ + AVsBkwGYAf8BWwGfAaUB/wFdAaUBqwH/AV0BowGpAf8BXAGiAagB/wFcAaIBqAH/AVoBngGjAf8BWQGT + AZgB/wFQAXQBeAH/ATcBUAFSAf8BPgFEAUUB/xAAAXUBnAGsAf8BLQGBAaAB/wEmAYkBsQH/ASEBkQG9 + Af8BIgGPAboB/wEjAY0BuAH/ASMBjQG4Af8BJQGIAa8B/wErAYEBoAH/AS4BZAF6Af8BIAFEAVMB/wE2 + AUABRAH/EAABrAGiAeMB/wGvAaQB6wH/AbUBqgHwAf8BtQGqAfAB/wG1AaoB8AH/AbUBqgHwAf8BsAGl + Ae0B/wGxAaYB7wH/Aa0BogHnAf8BlwGNAc8B/wGZAY4B0QH/AYIBdQHGAf8RAAF5Ad4B/wEAAYEB7QH/ + AQABiQH6Af8BAAGJAfoB/wEAAYkB+gH/AQABiQH6Af8BAAGDAfAB/wEAAYUB9AH/AQABgQHkAf8BAAFa + AaUB/wEAAV4BqwH/AQABQgF5Af8QAAFbAZcBnAH/AV0BpAGqAf8BZAGsAbIB/wFkAawBsgH/AWQBrAGy + Af8BZAGsAbIB/wFeAaYBrAH/AV8BqQGvAf8BWwGdAaIB/wFKAWsBbgH/AUwBbwFyAf8BNgFOAVAB/xAA + ASwBggGkAf8BIgGPAbwB/wEdAZsBzQH/AR0BmwHNAf8BHQGbAc0B/wEdAZsBzQH/ASABkgHAAf8BHQGW + AcYB/wEoAYcBrQH/ASsBXAFvAf8BLAFfAXQB/wEfAUMBUgH/DAABsgGnAeoB/wG1AasB7QH/AbQBqAHx + Af8BtQGqAfAB/wG1AaoB8AH/AbUBqgHvAf8BswGoAesB/wGmAZ0B0wH/AYIBdgHAAf8BYAFRAa4B/wMA + Af8BmQGPAdAB/wGVAYoB0AH/AYEBcgG9Af8JAAGCAe8B/wEAAYgB+AH/AQABiQH6Af8BAAGJAfoB/wEA + AYkB+gH/AQABiAH6Af8BAAGEAfEB/wEAAWoBwgH/AQABPwFzAf8BAAEVAScB/wMAAf8BAAFdAaoB/wEA + AVoBpAH/AQABOQFoAf8IAAFgAaQBqgH/AWUBqQGvAf8BYgGtAbQB/wFkAawBsgH/AWQBrAGyAf8BZAGr + AbEB/wFiAaUBqgH/AVgCgQH/ATQBSQFLAf8BEgIZAf8DAAH/AUwBbwFyAf8BSAFrAW4B/wEwAUIBRAH/ + CAABJQGQAbsB/wEiAZcBxgH/ARkBnAHRAf8BHQGbAc0B/wEdAZsBzQH/AR4BmgHLAf8BJQGRAbwB/wE2 + AWoBgQH/ASABPwFLAf8BCwEVARkB/wMAAf8BLAFfAXMB/wEpAVsBcAH/AR4BOQFDAf8IAAG1AaoB8gH/ + Ab8BtQHzAf8BtwGsAfAB/wG1AaoB8AH/AakBoAHZAf8BiQGBAcQB/wFlAVYBswH/AV8BVgGNAf8DAAH/ + AwAB/wFbAUwBqwH/Aa0BogHlAf8BpAGaAdcB/wGIAYAByAH/CQABigH9Af8BDwGSAv8BAAGLAf4B/wEA + AYkB+gH/AQABcAHOAf8BAAFIAYMB/wEAAR0BNQH/AQABAQECAf8DAAH/AwAB/wEAAQ8BHAH/AQABgAHh + Af8BAAFrAcQB/wEAAUkBhQH/CAABZAGuAbUB/wFyAbUBuwH/AWcBrQGzAf8BZAGsAbIB/wFbAYYBigH/ + ATwBVAFWAf8BGAEiASMB/wMBAf8DAAH/AwAB/wENAhIB/wFbAZoBoAH/AVYBgQGDAf8BOwFWAVgB/wgA + ARoBngHSAf8BGwGpAeIB/wEeAZ0BzwH/AR0BmwHNAf8BNAFzAYwB/wEkAUgBVgH/AQ4BHQEjAf8BAAIB + Af8DAAH/AwAB/wEHAQ8BEgH/ASkBhQGqAf8BMQFuAYYB/wEiAUoBWgH/CAABvQGzAfMB/wHGAb0B9QH/ + AboBsAHwAf8BtQGqAfAB/wGVAYoBygH/AYABbgG8Af8BWAFJAaQB/wMAAf8DAAH/AwAB/wGEAXkBwQH/ + AbIBpwHwAf8BqQGeAeIB/wGOAYIBzQH/CAABDAGRAv8BHAGYAv8BBAGNAv8BAAGJAfoB/wEAAVUBnAH/ + AQABNgFiAf8BAAEIAQ8B/wMAAf8DAAH/AwAB/wEAAUIBeAH/AQABhgH2Af8BAAF2AdcB/wEAAVEBlAH/ + CAABbwG0AboB/wGBAboBwAH/AWwBrwG1Af8BZAGsAbIB/wFHAWQBZgH/AS0BPgFAAf8BBwEJAQoB/wMA + Af8DAAH/AwAB/wE3AU0BTgH/AWABqwGxAf8BWQGSAZcB/wFBAWEBYwH/CAABGwGnAd4B/wElAa4B5AH/ + ASABoAHTAf8BHQGbAc0B/wEsAVYBZgH/ARwBNgFAAf8BBAEIAQoB/wMAAf8DAAH/AwAB/wEiAUIBTgH/ + ARwBmAHKAf8BKwGBAZ8B/wEmAVMBZQH/CAABwQG4AfQB/wHKAcIB9QH/AbsBsQHwAf8BtQGqAfAB/wG1 + AaoB7wH/AbUBqgHvAf8BbQFgAbcB/wMAAf8DAAH/AVcBSQGdAf8BqAGfAdcB/wGvAaQB6wH/Aa0BogHm + Af8BkQGFAc4B/wgAARMBlAL/ASMBmwL/AQQBjQL/AQABiQH6Af8BAAGIAfoB/wEAAYgB+QH/AQABJwFH + Af8DAAH/AwAB/wEAAQMBBQH/AQABbwHLAf8BAAGBAewB/wEAAYEB4gH/AQABVAGaAf8IAAF0AbcBvQH/ + AYEBvQHCAf8BbAGvAbQB/wFkAawBsgH/AWQBqwGxAf8BZAGrAbEB/wEgAS0BLwH/AwAB/wMAAf8BAgID + Af8BWgGDAYcB/wFdAaMBqQH/AVoBmwGhAf8BRAFkAWcB/wgAAR4BqwHjAf8BKwGwAeUB/wEhAZ8B0QH/ + AR0BmwHNAf8BHgGaAcsB/wEfAZkByQH/ARQBJwEvAf8DAAH/AwAB/wEBAgMB/wE1AXEBiQH/ASIBjwG6 + Af8BJwGGAawB/wEnAVYBaQH/CAABwAG3AfQB/wHPAcgB9gH/AcABtgHzAf8BtAGpAewB/wGyAagB6gH/ + AXUBaAG6Af8BOQEeAcQB/wGDAXgBwgH/AVQBRQGiAf8BbQFgAbcB/wG1AaoB7gH/AbUBqgHwAf8BqwGh + AeMB/wGRAYYBzQH/CAABEgGUAv8BLQGgAv8BEAGTAv8BAAGFAfQB/wEAAYMB8AH/AQABLwFWAf8DAAH/ + AQABQQF3Af8BAAEDAQYB/wEAAScBRwH/AQABiAH4Af8BAAGJAfoB/wEAAXkB3QH/AQABVAGZAf8IAAFz + AbYBvAH/AYgBwQHGAf8BcwG1AbsB/wFjAacBrAH/AWEBpAGpAf8BJwE3ATkB/wMAAf8BNgFMAU4B/wED + AgQB/wEgAS0BLwH/AWQBqgGwAf8BZAGsAbIB/wFaAZYBmwH/AUQBYwFmAf8IAAEdAaoB4wH/ATQBswHm + Af8BHQGpAeEB/wEkAZQBwAH/ASYBkAG6Af8BGAEvATkB/wMAAf8BIQFBAU4B/wEBAQMBBAH/ARQBJwEv + Af8BIAGYAcgB/wEdAZsBzQH/ASoBgQGkAf8BKAFVAWcB/wgAAbwBsQHzAf8B0wHMAfcB/wHMAcQB9gH/ + AbsBsgHqAf8BdQFoAboB/wMAAf8BkwGJAckB/wG3AasB8gH/AWwBXgG2Af8BlQGKAcoB/wG2AasB8QH/ + AbUBqgHwAf8BqwGhAeIB/wGYAY8BzAH/CAABCQGQAv8BMwGjAv8BJwGdAv8BAAGKAf0B/wEAAS8BVgH/ + AwAB/wEAAVMBlwH/AQABiwL/AQABJQFDAf8BAAFVAZwB/wEAAYsB/gH/AQABiQH6Af8BAAF4AdsB/wEA + AVoBpAH/CAABbQGzAbkB/wGNAcMByAH/AYMBvwHEAf8BbQGoAa0B/wEnATcBOQH/AwAB/wFFAWEBYwH/ + AWYBrwG1Af8BHwErASwB/wFHAWQBZgH/AWYBrwG1Af8BZAGsAbIB/wFaAZQBmAH/AUsBaQFsAf8IAAEb + AaUB3QH/ATkBtQHmAf8BLgGxAeUB/wEtAZYBwAH/ARgBLwE5Af8DAAH/ASsBUwFjAf8BGgGfAdUB/wET + ASUBLAH/ASwBVgFmAf8BGwGeAdMB/wEdAZsBzQH/ASwBgQGgAf8BLgFaAWwB/wwAAdMBzQH3Af8B1gHQ + AfcB/wGpAaMBzAH/AV8BVgGNAf8BlAGKAcoB/wG2AasB8QH/AbUBqgHuAf8BpAGbAdIB/wGvAaUB5AH/ + AbUBqgHwAf8BtQGqAfAB/wGsAaIB5AH/EAABNQGjAv8BOQGlAv8BAAFpAcAB/wEAAQEBAgH/AQABVQGb + Af8BAAGKAf0B/wEAAYgB+AH/AQABZwG9Af8BAAGBAeQB/wEAAYkB+gH/AQABiQH6Af8BAAF6AeAB/xAA + AY4BxAHIAf8BkQHGAcoB/wFcAXcBeQH/AwEB/wFHAWMBZgH/AWUBrQG0Af8BZAGqAbAB/wFWAXkBgQH/ + AV4BmgGfAf8BZAGsAbIB/wFkAawBsgH/AVsBmQGeAf8QAAE6AbUB5wH/AT4BtgHnAf8BPgFlAXUB/wEA + AgEB/wErAVUBZgH/ARwBnQHQAf8BIAGYAcgB/wE1AWgBgQH/AS0BhQGoAf8BHQGbAc0B/wEdAZsBzQH/ + ASoBgwGnAf8QAAHdAdgB+QH/AdoB1QH4Af8BwgG7AeYB/wGwAaoB1QH/AcEBtwHyAf8BuwGyAe4B/wG5 + Aa8B7wH/AbUBqgHwAf8BtQGqAfAB/wG1AaoB8AH/AbUBqgHwAf8BvAG2AdwB/xAAAXcBwQL/AUEBqQL/ + AQUBjgL/AQABdQHVAf8BEAGTAv8BAwGNAv8BAQGMAv8BAAGJAfoB/wEAAYkB+gH/AQABiQH6Af8BAAGJ + AfoB/wFSAZ0B3AH/EAABsQHXAdoB/wGXAckBzQH/AXgBpQGpAf8BYwGHAYoB/wF0AbQBugH/AW0BrQGy + Af8BawGtAbIB/wFkAawBsgH/AWQBrAGyAf8BZAGsAbIB/wFkAawBsgH/AYsBrwGyAf8QAAGBAc8B7wH/ + AUQBuQHoAf8BPgGTAbYB/wE/AXMBiAH/ASEBpwHdAf8BJgGdAcwB/wEjAZwBzQH/AR0BmwHNAf8BHQGb + Ac0B/wEdAZsBzQH/AR0BmwHNAf8BbQGiAbcB/xQAAeEB3QH6Af8B1gHQAfgB/wHTAcwB9wH/Ac4BxwH2 + Af8BxQG8AfQB/wG8AbEB8gH/AbcBrQHwAf8BswGoAe4B/wGxAaYB7wH/Ab8BuAHhAf8YAAGBAcUC/wE6 + AaYC/wE0AaMC/wErAZ8C/wEZAZcC/wEIAY8C/wEAAYsB/gH/AQABhgH2Af8BAAGFAfQB/wFVAaIB4gH/ + GAABtQHZAdwB/wGSAcYBygH/AY0BxAHIAf8BhgHAAcUB/wF5AbkBvwH/AW0BsgG4Af8BaAGtAbMB/wFi + AakBrwH/AV8BqQGwAf8BjQG2AbkB/xgAAYMB0QHwAf8BPgG3AecB/wE5AbUB5gH/ATIBsgHlAf8BIwGs + AeQB/wEdAaMB2QH/AR8BnAHOAf8BIAGXAcYB/wEcAZYBxwH/AWwBqQHCAf8gAAHDAboB9AH/AccBvwH1 + Af8BywHDAfUB/wHFAbwB9AH/AbwBsQHzAf8BsQGmAe8B/ygAARgBlgL/AR4BmQL/ASUBnAL/ARkBlwL/ + AQkBkAL/AQABhQH0Af8oAAF4AbkBvgH/AYEBuwHAAf8BggG+AcMB/wF5AbkBvwH/AW0BswG5Af8BXwGp + Aa8B/ygAASEBrAHkAf8BJwGuAeQB/wEtAbAB5QH/ASMBrAHkAf8BGwGlAd0B/wEdAZYBxgH//wD/ACoA + ATYBQgGCAf8BJgExAW8B/wEhASsBZgH/ASABKgFjAf8BHgEoAV0B/wEgASYBTAH/KAABkgFOAZIB/wGB + AT0BgQH/AXgBNwF4Af8BdgE1AXYB/wFwATQBcAH/AWABNAFgAf8pAAKQAf8BAAJ1Af8BAAJqAf8BAAJn + Af8BAAJhAf8BAAJUAf8oAAOlAf8DkQH/A4cB/wOFAf8DgQH/A3UB/yAAAYEBhgG8Af8BNwFIAaYB/wE2 + AUcBpwH/ATUBRgGlAf8BNAFEAaMB/wEyAUIBoAH/ATABPwGZAf8BKgE3AYMB/wEgASoBZgH/AToBPQFP + Af8YAAG+AZMBvgH/AbABVQGwAf8BsQFTAbEB/wGwAVEBsAH/Aa8BTwGvAf8BrAFNAawB/wGmAUoBpgH/ + AZMBQgGTAf8BeAE2AXgB/wFbAUYBWwH/GAABdwLJAf8BAAKtAf8BAAKtAf8BAAKrAf8BAAKoAf8BAAKk + Af8BAAKdAf8BAAKIAf8BAAJpAf8BOQJZAf8YAAPJAf8DuwH/A7sB/wO4Af8DtgH/A7UB/wOvAf8DngH/ + A4cB/wNpAf8UAAGAAYcBywH/ATgBTwHTAf8BOQFSAeEB/wE6AVQB6QH/AToBVAHnAf8BOQFTAeYB/wE5 + AVMB5gH/ATYBUAHhAf8BNQFNAdUB/wE2AUYBpgH/ASUBMAFyAf8BOQE8AU4B/xAAAccBlgHHAf8ByQFp + AckB/wHTAW0B0wH/AdkBbwHZAf8B2AFwAdgB/wHXAW4B1wH/AdcBbgHXAf8B0gFqAdIB/wHKAWcBygH/ + AbABUwGwAf8BggE8AYIB/wFbAUUBWwH/EAABeQLRAf8BAALRAf8BAALcAf8BAALkAf8BAALiAf8BAALh + Af8BAALhAf8BAALaAf8BAALQAf8BAAKsAf8BAAJ2Af8BOAJYAf8QAAPRAf8D0wH/A9oB/wPfAf8D3gH/ + A9wB/wPcAf8D2QH/A9IB/wO6Af8DkgH/A2gB/xAAAToBUQHXAf8BOgFUAegB/wFCAVwB8AH/AUIBXAHw + Af8BQgFcAfAB/wFCAVwB8AH/AToBVQHrAf8BPAFWAe8B/wE5AVIB3gH/ATIBQQGYAf8BMwFDAZ8B/wEk + AS8BcAH/EAABywFrAcsB/wHYAW8B2AH/AeABeQHgAf8B4AF5AeAB/wHgAXkB4AH/AeABeQHgAf8B2wFx + AdsB/wHeAXMB3gH/AdEBbAHRAf8BpQFMAaUB/wGrAU4BqwH/AYEBOwGBAf8RAALVAf8BAALjAf8BAALw + Af8BAALwAf8BAALwAf8BAALwAf8BAALmAf8BAALpAf8BAALaAf8BAAKeAf8BAAKkAf8BAAJ0Af8QAAPV + Af8D3wH/A+YB/wPmAf8D5gH/A+YB/wPgAf8D4QH/A9kB/wOwAf8DtQH/A5AB/wwAAT8BWAHlAf8BRQFe + AesB/wE+AVkB9AH/AUIBXAHwAf8BQgFcAfAB/wFCAVwB7wH/AUIBWgHlAf8BPwFQAa4B/wEmATABZwH/ + AQ0BEAEiAf8DAAH/ATQBQwGdAf8BMAE/AZkB/wEkASwBXAH/CAAB1wF0AdcB/wHcAXoB3AH/AeIBdwHi + Af8B4AF5AeAB/wHgAXkB4AH/Ad8BeQHfAf8B2AF2AdgB/wGyAWIBsgH/AXgBPAF4Af8BOwEeATsB/wMA + Af8BqgFOAaoB/wGmAUoBpgH/AW8BOQFvAf8JAALlAf8BAALuAf8BAALwAf8BAALwAf8BAALwAf8BAALv + Af8BAALnAf8BAAK5Af8BAAJuAf8BAAIlAf8DAAH/AQACowH/AQACnQH/AQACZAH/CAAD3wH/A+QB/wPm + Af8D5gH/A+YB/wPlAf8D4AH/A8MB/wOLAf8DQwH/AwAB/wO0Af8DrwH/A4IB/wgAAUEBXAH0Af8BVgFu + AfUB/wFHAWAB8AH/AUIBXAHwAf8BPAFPAcAB/wErATYBdQH/AREBFgEwAf8DAQH/AwAB/wMAAf8BCQEL + ARkB/wE4AVEB3AH/ATgBSwG4Af8BKAE0AYAB/wgAAeMBeQHjAf8B5gGLAeYB/wHgAYEB4AH/AeABeQHg + Af8BuwFnAbsB/wGGAUIBhgH/AUcBIwFHAf8BGwERARsB/wMAAf8DAAH/ATMBGQEzAf8BzwFrAc8B/wG4 + AV4BuAH/AYsBPwGLAf8JAALyAf8BBAP/AQAC9AH/AQAC8AH/AQACxQH/AQACgQH/AQACMwH/AQACAQH/ + AwAB/wMAAf8BAAIbAf8BAALYAf8BAAK8Af8BAAKBAf8IAAPnAf8D8gH/A+cB/wPmAf8DyQH/A5gB/wNV + Af8DBwH/AwAB/wMAAf8DNwH/A9YB/wPDAf8DmQH/CAABUgFqAfUB/wFlAYAB9gH/AU4BZgHvAf8BQgFc + AfAB/wEzAUEBjAH/ASEBKQFXAf8BBQEGAQ4B/wMAAf8DAAH/AwAB/wEoATIBawH/ATwBVwHxAf8BNAFM + AdQB/wErAToBigH/CAAB5gGHAeYB/wHpAZcB6QH/AeEBgwHhAf8B4AF5AeAB/wGaAUwBmgH/AWsBNgFr + Af8BKQEUASkB/wMAAf8DAAH/AwAB/wGBAT4BgQH/Ad8BdAHfAf8ByQFmAckB/wGZAUUBmQH/CQAD/wEQ + A/8BAAL5Af8BAALwAf8BAAKWAf8BAAJeAf8BAAIPAf8DAAH/AwAB/wMAAf8BAAJzAf8BAALsAf8BAALP + Af8BAAKOAf8IAAPwAf8D+QH/A+sB/wPmAf8DqgH/A4EB/wMlAf8DAAH/AwAB/wMAAf8DkAH/A+IB/wPQ + Af8DpAH/CAABWwFyAfYB/wFuAYIB9wH/AU8BZwHuAf8BQgFcAfAB/wFCAVwB7wH/AUMBXQHuAf8BFwEd + AUAB/wMAAf8DAAH/AgIBBQH/AT0BUAG7Af8BOgFUAecB/wE3AVAB3gH/ASwBOwGQAf8IAAHnAY4B5wH/ + AesBnwHrAf8B4AGDAeAB/wHgAXkB4AH/Ad8BeQHfAf8B3gF5Ad4B/wFVASoBVQH/AwAB/wMAAf8BIAEQ + ASAB/wG5AWYBuQH/AdgBcAHYAf8B0AFrAdAB/wGeAUYBngH/CAABCAP/ARcD/wEAAvkB/wEAAvAB/wEA + Au8B/wEAAu8B/wEAAkQB/wMAAf8DAAH/AQACBQH/AQACwgH/AQAC4gH/AQAC2QH/AQACkwH/CAAD9AH/ + A/0B/wPrAf8D5gH/A+UB/wPlAf8DZwH/AwAB/wMAAf8DEAH/A8gB/wPeAf8D2AH/A6gB/wgAAVkBcAH1 + Af8BeQGMAfcB/wFYAW8B9AH/AUMBXAHnAf8BQQFaAeQB/wEcASQBTQH/AwAB/wEnATEBagH/AgIBBgH/ + ARcBHQFAAf8BQwFdAe0B/wFCAVwB8AH/ATcBTwHYAf8BLgE8AY0B/wgAAecBjQHnAf8B7QGpAe0B/wHm + AYwB5gH/AdoBeAHaAf8B1wF1AdcB/wFhATEBYQH/ASMBBwEjAf8BgQE9AYEB/wEiARABIgH/AVUBKgFV + Af8B3QF4Ad0B/wHgAXkB4AH/AcwBaQHMAf8BnAFHAZwB/wgAAQYD/wEhA/8BBQP/AQAC6gH/AQAC5gH/ + AQACUwH/AwAB/wEAAnIB/wEAAgYB/wEAAkQB/wEAAu4B/wEAAvAB/wEAAtQB/wEAApMB/wgAA/MB/wQA + A/MB/wPiAf8D4AH/A3QB/wMAAf8DjgH/AxMB/wNnAf8D5AH/A+YB/wPUAf8DqAH/CAABTwFoAfUB/wGB + AZIB+AH/AXIBhgH3Af8BVAFqAeIB/wEcASQBTQH/AwAB/wEyAT8BhwH/AUMBXgH0Af8BFgEcATwB/wEz + AUEBjAH/AUQBXgHzAf8BQgFcAfAB/wE3AU8B1AH/ATYBRAGTAf8IAAHlAYQB5QH/Ae4BrwHuAf8B6wGj + AesB/wHYAYQB2AH/AWEBMQFhAf8DAAH/AZYBSwGWAf8B4wGAAeMB/wFSASkBUgH/AZoBTAGaAf8B4gGA + AeIB/wHgAXkB4AH/AckBaQHJAf8BoQFQAaEB/wkAAv4B/wEnA/8BGwP/AQAC8wH/AQACUwH/AwAB/wEA + ApEB/wEAAvQB/wEAAkEB/wEAApYB/wEAAvQB/wEAAvAB/wEAAtEB/wEAAp4B/wgAA+4B/wgAA+cB/wN0 + Af8DAAH/A6YB/wPoAf8DYgH/A6oB/wPnAf8D5gH/A9MB/wOvAf8MAAGCAZMB+AH/AYcBmAH4Af8BTAFY + AZ8B/wMBAf8BMwFAAYsB/wFDAV0B8gH/AUMBXQHtAf8BPwFPAaoB/wE/AVYB2AH/AUIBXAHwAf8BQgFc + AfAB/wE4AVAB2gH/EAAB7gGwAe4B/wHvAbUB7wH/AacBagGnAf8BGwERARsB/wGZAUwBmQH/AeEBegHh + Af8B3QF4Ad0B/wGwAV8BsAH/Ac0BcAHNAf8B4AF5AeAB/wHgAXkB4AH/Ac0BawHNAf8QAAEoA/8BLAP/ + AQACuAH/AQACAQH/AQAClQH/AQAC8gH/AQAC7gH/AQACtQH/AQAC2gH/AQAC8AH/AQAC8AH/AQAC1wH/ + GAADwgH/AwcB/wOpAf8D5wH/A+QB/wPBAf8D2QH/A+YB/wPmAf8D1QH/EAABowGxAfoB/wGPAZ8B+QH/ + AWoBegHVAf8BTwFeAbYB/wFbAXIB8QH/AVIBaQHqAf8BTgFlAewB/wFCAVwB8AH/AUIBXAHwAf8BQgFc + AfAB/wFCAVwB8AH/AXgBhgHUAf8QAAHyAcEB8gH/AfEBvAHxAf8B0QGTAdEB/wG2AXYBtgH/AeQBjgHk + Af8B3gGFAd4B/wHeAYEB3gH/AeABeQHgAf8B4AF5AeAB/wHgAXkB4AH/AeABeQHgAf8BzgGWAc4B/xAA + AZgD/wE0A/8BAAL5Af8BAALMAf8BBQP/AQAC+AH/AQAC9gH/AQAC8AH/AQAC8AH/AQAC8AH/AQAC8AH/ + AXUC1AH/EAAD/AH/BAAD6wH/A88B/wPzAf8D6wH/A+oB/wPmAf8D5gH/A+YB/wPmAf8D1QH/FAABrAG3 + AfsB/wGIAZkB+AH/AYEBkwH4Af8BdgGJAfcB/wFiAXgB9gH/AU8BaAHzAf8BSAFhAe8B/wFAAVoB7QH/ + ATsBVgHwAf8BeQGIAd0B/xgAAfQByQH0Af8B7wG2Ae8B/wHuAa8B7gH/AewBpgHsAf8B6AGVAegB/wHk + AYQB5AH/AeABgQHgAf8B3QF2Ad0B/wHeAXIB3gH/AdQBmQHUAf8YAAGeA/8BLQP/AScD/wEfA/8BDgP/ + AQAC/AH/AQAC9AH/AQAC7AH/AQAC6QH/AXkC2gH/KAAD9wH/A+0B/wPnAf8D4gH/A+EB/wPZAf8gAAFg + AXYB9gH/AWgBgQH2Af8BbwGEAfcB/wFiAXgB9gH/AU8BaAH1Af8BPAFWAe8B/ygAAegBkwHoAf8B6gGa + AeoB/wHrAaAB6wH/AegBlQHoAf8B5QGEAeUB/wHeAXMB3gH/KAABDAP/ARMD/wEZA/8BDgP/AQAC/gH/ + AQAC6QH/KAAD9wH/A/kB/wP9Af8D9wH/A+4B/wPhAf//AP8AKgADYAH/A1UB/wNQAf8DTwH/A00B/wNI + Af8oAAGRAWsBGQH/AXkBWAERAf8BbgFPAQ4B/wFrAU0BDgH/AWUBSAENAf8BVAE+AQ8B/ygAATMBXQEz + Af8BJgFOASYB/wEhAUgBIQH/ASABRgEgAf8BHwFBAR8B/wEeATYBHgH/KAACngFJAf8ClgEkAf8CkwEW + Af8CkgETAf8CjQEQAf8CdgETAf8gAAOZAf8DbQH/A20B/wNrAf8DagH/A2kB/wNlAf8DXAH/A1AB/wNR + Af8YAAHGAakBaAH/AbQBggEZAf8BtAGBARgB/wGyAYEBGAH/Aa8BgQEXAf8BrAGBARYB/wGkAXYBFQH/ + AY4BZwETAf8BbgFOAQ4B/wFUAUkBMAH/GAABgAGeAYAB/wE4AXUBOAH/ATcBdgE3Af8BNgF1ATYB/wE1 + AXMBNQH/ATMBcQEzAf8BMQFrATEB/wErAV0BKwH/ASEBRwEhAf8BOQFEATkB/xgAAsABmwH/ArIBXwH/ + ArQBXQH/ArIBWgH/ArEBVgH/ArEBUgH/Aq0BSwH/AqIBNQH/ApMBFAH/AmUBMwH/FAADnwH/A4EB/wOE + Af8DiQH/A4gB/wOGAf8DhgH/A4MB/wOBAf8DbAH/A1YB/wNQAf8QAAHRAbEBagH/AdkBnQEfAf8B5QGl + ASAB/wHtAawBIQH/AesBqgEhAf8B6gGoASAB/wHqAagBIAH/AeMBpAEeAf8B2QGcAR0B/wGzAYEBGAH/ + AYABWQEQAf8BUwFIATAB/xAAAYABqQGAAf8BOQGYATkB/wE0AagBNAH/ATEBswExAf8BMgGwATIB/wEy + Aa4BMgH/ATIBrgEyAf8BMwGmATMB/wE3AZkBNwH/ATcBdQE3Af8BJQFQASUB/wE4AUQBOAH/EAACyQGg + Af8CywF6Af8C1AGBAf8C2gGDAf8C2AGCAf8C1wGCAf8C1wGCAf8C1AGBAf8CzAF2Af8CtAFbAf8CmQEj + Af8CZgExAf8QAAOBAf8DiQH/A5AB/wOQAf8DkAH/A5AB/wOKAf8DjAH/A4MB/wNmAf8DaQH/A1QB/xAA + AdwBoAEgAf8B7AGqASEB/wH2AbMBJgH/AfYBswEmAf8B9gGzASYB/wH2AbMBJgH/Ae8BrQEhAf8B8gGw + ASIB/wHiAaQBIAH/AaQBdwEXAf8BqwGAARcB/wF5AVgBEAH/EAABOAGdATgB/wExAbEBMQH/AS8BwAEv + Af8BLwHAAS8B/wEvAcABLwH/AS8BwAEvAf8BMAG2ATAB/wEuAbsBLgH/ATUBpAE1Af8BMwFrATMB/wE0 + AXABNAH/ASQBTwEkAf8QAALNAYEB/wLYAYIB/wLfAY0B/wLfAY0B/wLfAY0B/wLfAY0B/wLbAYMB/wLd + AYcB/wLSAYEB/wKtAU8B/wKwAVIB/wKYAR8B/wwAA4kB/wOOAf8DkAH/A5AB/wOQAf8DjwH/A4sB/wNy + Af8DUgH/Ay8B/wMAAf8DaAH/A2UB/wNOAf8IAAHrAawBJAH/AfIBsgEnAf8B+AG0ASQB/wH2AbMBJgH/ + AfYBswEmAf8B9QGyASYB/wHsAawBJQH/Ab4BigEdAf8BcAFRAREB/wEmARwBBgH/AwAB/wGqAYABFwH/ + AaQBdgEVAf8BZQFLARAB/wgAATQBsQE0Af8BMgG7ATIB/wErAcQBKwH/AS8BwAEvAf8BLwHAAS8B/wEv + Ab8BLwH/ATUBsgE1Af8BPgGAAT4B/wElAUkBJQH/AQwBGAEMAf8DAAH/ATQBbwE0Af8BMQFrATEB/wEi + AUEBIgH/CAAC2AGHAf8C3AGPAf8C4QGLAf8C3wGNAf8C3wGNAf8C3gGNAf8C2AGKAf8CtQFvAf8CjwEh + Af8CSQEAAf8DAAH/Aq4BUgH/Aq0BSwH/AogBGQH/CAADkQH/A5wB/wORAf8DkAH/A3cB/wNZAf8DOAH/ + AwYB/wMAAf8DAAH/AygB/wOBAf8DcwH/A1kB/wgAAfkBtgElAv8BvwEzAf8B+AG3ASgB/wH2AbMBJgH/ + AcoBkwEfAf8BgQFdARQB/wE0ASYBCAH/AgEBAAH/AwAB/wMAAf8BHAEUAQQB/wHgAaMBHwH/AcQBjgEa + Af8BhAFfARIB/wgAASwBxgEsAf8BMgHRATIB/wEwAcMBMAH/AS8BwAEvAf8BPgGHAT4B/wEqAVMBKgH/ + AREBIgERAf8DAAH/AwAB/wMAAf8BCQESAQkB/wE2AaEBNgH/AToBgQE6Af8BKAFWASgB/wgAAuIBjQH/ + AuUBoQH/At8BkgH/At8BjQH/Ar8BdgH/ApgBMAH/AloBAAH/AhkBAAH/AwAB/wMAAf8CQAEAAf8C0QGB + Af8CuwFsAf8CngEtAf8IAAOaAf8DpgH/A5UB/wOQAf8DYwH/A0sB/wMcAf8DAAH/AwAB/wMAAf8DVAH/ + A40B/wOBAf8DXwH/CAAB/wG+AS8C/wHFAUIB/wH6AboBLAH/AfYBswEmAf8BmQFvARgB/wFgAUUBDwH/ + AQ8BCwECAf8DAAH/AwAB/wMAAf8BdQFVARIB/wH0AbEBIwH/AdgBmwEcAf8BlQFrARMB/wgAAS8B0AEv + Af8BPAHTATwB/wEyAcYBMgH/AS8BwAEvAf8BMgFjATIB/wEgAT4BIAH/AQUBCgEFAf8DAAH/AwAB/wMA + Af8BJwFMAScB/wEtAb4BLQH/ATcBlwE3Af8BLQFhAS0B/wgAAuUBnAH/AugBrQH/AuEBmAH/At8BjQH/ + AqQBSQH/AoUBEwH/AjQBAAH/AwAB/wMAAf8DAAH/ApIBJgH/At4BiAH/AssBdgH/AqUBOwH/CAADnwH/ + A6oB/wOVAf8DkAH/A48B/wOPAf8DQQH/AwAB/wMAAf8DDgH/A3YB/wOIAf8DggH/A2EB/wgAAf8BwQE4 + Av8ByAFKAf8B+QG5AS0B/wH2AbMBJgH/AfUBsgEmAf8B9AGyASYB/wFGATMBCwH/AwAB/wMAAf8BBQEE + AQAB/wHHAZEBHwH/AesBqgEhAf8B4gGjAR8B/wGaAW8BFAH/CAABNQHSATUB/wFBAdUBQQH/ATMBxQEz + Af8BLwHAAS8B/wEvAb8BLwH/ATABvgEwAf8BFwEtARcB/wMAAf8DAAH/AQIBAwECAf8BPgGEAT4B/wEy + AbABMgH/ATUBowE1Af8BLgFlAS4B/wgAAuYBpAH/AusBtAH/AuEBmAH/At8BjQH/At4BjQH/At4BjQH/ + AmwBBgH/AwAB/wMAAf8CKQEAAf8CvQF1Af8C2AGCAf8C0QGBAf8CqAFAAf8IAAOeAf8DsQH/A54B/wON + Af8DigH/A0gB/wMAAf8DVAH/AxAB/wNBAf8DjgH/A5AB/wOBAf8DYQH/CAAB/wHAATYC/wHMAVUC/wHB + ATUB/wHvAa8BJgH/AesBqwEkAf8BVQE9AQ0B/wMAAf8BdAFUARIB/wEGAQQBAAH/AUYBMwELAf8B8wGx + ASYB/wH2AbMBJgH/AdwBnwEeAf8BmQFvARUB/wgAATMB0gEzAf8BSQHWAUkB/wEzAdABMwH/ATQBtgE0 + Af8BNQGwATUB/wEcATcBHAH/AwAB/wEmAUsBJgH/AQIBBAECAf8BFwEtARcB/wExAb0BMQH/AS8BwAEv + Af8BNwGcATcB/wEvAWQBLwH/CAAC5gGiAf8C7QG9Af8C5QGiAf8C2wGLAf8C2AGIAf8CegENAf8CSQEA + Af8CkgEkAf8CLQEAAf8CbAEGAf8C3QGNAf8C3wGNAf8CzQF6Af8CpwFCAf8IAAOZAf8DtgH/A60B/wOR + Af8DSAH/AwAB/wNhAf8DkwH/Az8B/wNjAf8DkQH/A5AB/wOBAf8DZQH/CAAB/wG8AS0C/wHOAVwC/wHJ + AU4B/wHxAbQBLwH/AVUBPQENAf8DAAH/AZQBbAEXAf8B+gG2AScB/wFCATABCgH/AZkBbwEYAf8B+QG1 + AScB/wH2AbMBJgH/AdkBnQEeAf8BoQF2ARkB/wgAAS4BzwEuAf8BTgHXAU4B/wFEAdUBRAH/ATwBtgE8 + Af8BHAE3ARwB/wMAAf8BMQFgATEB/wEsAccBLAH/ARYBKwEWAf8BMgFjATIB/wEtAcYBLQH/AS8BwAEv + Af8BOAGZATgB/wE1AWkBNQH/CAAC5AGZAf8C7gHCAf8C7AG4Af8C2gGYAf8CegENAf8DAAH/AqEBRQH/ + AuIBkAH/AmgBBAH/AqQBSQH/AuEBkAH/At8BjQH/AswBegH/AqgBUAH/DAADuAH/A7sB/wNxAf8DBgH/ + A2IB/wORAf8DjgH/A3EB/wODAf8DkAH/A5AB/wOBAf8QAAH/Ac4BXQL/AdABYgH/AbUBiQEkAf8CAQEA + Af8BmAFvARgB/wH4AbQBJgH/AfMBsQEmAf8BugGHAR0B/wHfAaIBIwH/AfYBswEmAf8B9gGzASYB/wHf + AaEBHwH/EAABTwHYAU8B/wFSAdgBUgH/AUUBcwFFAf8DAAH/ATIBYwEyAf8BLgHEAS4B/wExAb0BMQH/ + AT0BeAE9Af8BOQGgATkB/wEvAcABLwH/AS8BwAEvAf8BNwGfATcB/xAAAu8BxAH/AvAByAH/Aq4BdgH/ + AhkBAAH/AqQBSQH/AuEBjwH/At0BjQH/ArQBbAH/AtABggH/At8BjQH/At8BjQH/As8BgQH/EAADygH/ + A8AB/wOVAf8DgQH/A54B/wOVAf8DlAH/A5AB/wOQAf8DkAH/A5AB/wOhAf8QAAH/Ad0BjgL/AdMBawH/ + Ae0BuAE5Af8BxwGYASoB/wH+AcABNgH/AfcBuQEuAf8B9wG3ASwB/wH2AbMBJgH/AfYBswEmAf8B9gGz + ASYB/wH2AbMBJgH/AdkBtAFnAf8QAAGKAeYBigH/AVgB2gFYAf8BSwGuAUsB/wFIAYQBSAH/ATcBzQE3 + Af8BNgHBATYB/wE0AcEBNAH/AS8BwAEvAf8BLwHAAS8B/wEvAcABLwH/AS8BwAEvAf8BdQGzAXUB/xAA + AvMBzwH/AvEBzwH/AtYBpQH/ArwBhQH/AuQBpAH/At4BmQH/At8BlgH/At8BjQH/At8BjQH/At8BjQH/ + At8BjQH/AtABoQH/FAADzwH/A7sB/wO2Af8DrgH/A6MB/wOXAf8DkQH/A40B/wOMAf8DpQH/GAAB/wHf + AZUC/wHQAWMC/wHNAVwC/wHLAVIC/wHDAT8B/wH9AbsBLQH/AfcBtwEpAf8B8gGxASQB/wHyAa8BIgH/ + AeABugFpAf8YAAGPAecBjwH/AVMB2QFTAf8BTgHYAU4B/wFHAdYBRwH/AToB0wE6Af8BMAHMATAB/wEx + AcIBMQH/ATABuwEwAf8BLQG7AS0B/wF1AbwBdQH/GAAC9AHVAf8C8AHIAf8C7wHDAf8C7QG7Af8C6AGq + Af8C4wGZAf8C3wGSAf8C3QGKAf8C3QGHAf8C1gGkAf8gAAOiAf8DpgH/A6oB/wOjAf8DmQH/A4wB/ygA + Af8BwwE9Av8BxgFFAv8ByQFMAv8BwgE/Av8BvQEtAf8B8gGvASIB/ygAATgB0wE4Af8BPgHUAT4B/wFC + AdUBQgH/AToB0wE6Af8BLgHPAS4B/wEuAbsBLgH/KAAC5wGoAf8C6gGwAf8C6wG1Af8C6AGqAf8C5AGZ + Af8C3QGHAf//AP8AKgACKAFQAf8CHgFDAf8CGgE+Af8CGQE8Af8CGAE5Af8CGAEuAf8oAAF4AQABUwH/ + AWEBAAFEAf8BVwEAAT0B/wFVAQABOwH/AVABAAE4Af8BRgEAATEB/ygAAR8BQQFOAf8BFgE2AUMB/wES + ATEBPgH/ARIBMAE8Af8BEQEtATgB/wESASYBLQH/KAADhQH/A3MB/wNrAf8DaQH/A2UB/wNcAf8gAAJg + AYcB/wIrAWUB/wIqAWUB/wIqAWQB/wIpAWMB/wIoAWAB/wImAVwB/wIhAU8B/wIZAT4B/wIsATkB/xgA + AawBOwGJAf8BjwEAAWQB/wGPAQABZAH/AY0BAAFjAf8BiwEAAWEB/wGIAQABXwH/AYIBAAFbAf8BcQEA + AU4B/wFXAQABPAH/AUkBHAE7Af8YAAFYAXkBhgH/ASABUAFkAf8BHgFRAWUB/wEeAU8BZAH/AR0BTgFi + Af8BHAFNAWAB/wEbAUkBXAH/ARgBPwFPAf8BEgExAT4B/wEoATQBOAH/GAADtAH/A5cB/wOXAf8DlQH/ + A5MB/wOSAf8DjQH/A4EB/wNrAf8DWgH/FAACXwGSAf8CKgGEAf8CJQGRAf8CIgGbAf8CIwGZAf8CIwGY + Af8CIwGYAf8CJQGQAf8CKQGEAf8CKgFlAf8CHQFFAf8CKwE4Af8QAAG1ATwBkAH/Aa0BAAF5Af8BtgEA + AYEB/wG8AQABgwH/AbsBAAGDAf8BugEAAYIB/wG6AQABggH/AbQBAAGBAf8BrAEAAXgB/wGOAQABYwH/ + AWIBAAFEAf8BSAEcATsB/xAAAVUBgQGSAf8BGgFmAYUB/wETAW8BlAH/AQ4BdQGfAf8BDwF0AZ0B/wEQ + AXMBmwH/ARABcwGbAf8BEwFuAZMB/wEYAWYBhgH/AR4BUAFlAf8BFQE3AUQB/wEoATMBOAH/EAADugH/ + A6wB/wOyAf8DtgH/A7UB/wO0Af8DtAH/A7EB/wOrAf8DlgH/A3QB/wNaAf8QAAIqAYcB/wIiAZoB/wIf + AagB/wIfAagB/wIfAagB/wIfAagB/wIhAZ4B/wIfAaMB/wInAY8B/wInAVwB/wIoAWAB/wIcAUMB/xAA + AbABAAGAAf8BvAEAAYMB/wHGAQABigH/AcYBAAGKAf8BxgEAAYoB/wHGAQABigH/Ab4BAAGFAf8BwQEA + AYcB/wG0AQABgQH/AYMBAAFbAf8BiAEAAV8B/wFgAQABQwH/EAABGQFpAYkB/wEOAXQBngH/AQkBgQGt + Af8BCQGBAa0B/wEJAYEBrQH/AQkBgQGtAf8BDAF3AaMB/wEKAXoBpwH/ARUBbQGRAf8BHQFKAVwB/wEd + AUwBYAH/ARQBNgFDAf8QAAOuAf8DtgH/A70B/wO9Af8DvQH/A70B/wO3Af8DuQH/A7EB/wOOAf8DkgH/ + A3IB/wwAAiUBmQH/AiMBogH/AhwBqwH/Ah8BqAH/Ah8BqAH/AiABpwH/AiUBmwH/AjABagH/Ah0BPgH/ + AgoBFQH/AwAB/wIoAV8B/wImAVwB/wIbATgB/wgAAb0BAAGEAf8BxQEAAYkB/wHGAQABigH/AcYBAAGK + Af8BxgEAAYoB/wHGAQABigH/Ab8BAAGFAf8BmQEAAWsB/wFbAQABPwH/AR8BAAEVAf8DAAH/AYcBAAFe + Af8BggEAAVsB/wFTAQABOgH/CAABEQF1AZ0B/wEOAYABpwH/AQYBgQGxAf8BCQGBAa0B/wEJAYEBrQH/ + AQoBgQGrAf8BEgF2AZ4B/wEkAVUBaQH/ARYBMgE+Af8BBwERARUB/wMAAf8BHQFMAV8B/wEbAUkBXAH/ + ARQBLQE3Af8IAAO2Af8DuwH/A70B/wO9Af8DvQH/A7wB/wO4Af8DngH/A24B/wMzAf8DAAH/A5EB/wON + Af8DZwH/CAACHAGtAf8CHwG5Af8CIAGqAf8CHwGoAf8CMAF0Af8CIQFHAf8CDQEdAf8DAAH/AwAB/wMA + Af8CBwEPAf8CJwGMAf8CLQFvAf8CHwFKAf8IAAHIAQABjAH/AdcBAAGWAf8ByQEAAYwB/wHGAQABigH/ + AaMBAAFyAf8BaAEAAUkB/wEqAQABHQH/AQEBAAEBAf8DAAH/AwAB/wEWAQABDwH/AbMBAAGBAf8BmwEA + AWwB/wFpAQABSQH/CAABBgGBAbMB/wEGAYoBvwH/AQoBgQGvAf8BCQGBAa0B/wEiAVwBdAH/ARkBOgFH + Af8BCgEXAR0B/wMAAf8DAAH/AwAB/wEFAQwBDwH/ARYBbAGOAf8BIAFYAW8B/wEXATsBSgH/CAADvgH/ + A8cB/wO+Af8DvQH/A6QB/wN5Af8DQQH/AwUB/wMAAf8DAAH/AykB/wOvAf8DnwH/A3oB/wgAAh4BtwH/ + AiABwgH/AiIBrQH/Ah8BqAH/AicBVQH/AhkBNQH/AgMBCAH/AwAB/wMAAf8DAAH/Ah4BQQH/Ah4BpgH/ + AikBgwH/AiIBVAH/CAAB1AEAAZQB/wHhAQABnQH/Ac4BAAGPAf8BxgEAAYoB/wGBAQABVgH/AU4BAAE2 + Af8BDAEAAQgB/wMAAf8DAAH/AwAB/wFfAQABQgH/AcMBAAGIAf8BqwEAAXcB/wF2AQABUgH/CAABBgGI + Ab0B/wEGAZAByAH/AQsBggGyAf8BCQGBAa0B/wEdAUQBVAH/ARMBKwE1Af8BAgEGAQgB/wMAAf8DAAH/ + AwAB/wEXATQBQAH/AQgBgQGrAf8BGQFlAYQB/wEYAUMBVAH/CAADxQH/A84B/wPBAf8DvQH/A4kB/wNi + Af8DGwH/AwAB/wMAAf8DAAH/A3IB/wO6Af8DqgH/A4QB/wgAAh8BvAH/AiEBxwH/AiMBrAH/Ah8BqAH/ + AiABpwH/AiEBpQH/AhIBJwH/AwAB/wMAAf8CAQEDAf8CMAFyAf8CIwGZAf8CJgGNAf8CIwFXAf8IAAHa + AQABmAH/AecBAAGhAf8BzgEAAY8B/wHGAQABigH/AcYBAAGKAf8BxQEAAYoB/wE4AQABJwH/AwAB/wMA + Af8BBAEAAQMB/wGhAQABcAH/AbsBAAGDAf8BswEAAYEB/wF6AQABVQH/CAABBgGMAcIB/wEHAZQBzQH/ + AQwBgQGxAf8BCQGBAa0B/wEKAYEBqwH/AQsBgQGqAf8BDQEfASYB/wMAAf8DAAH/AQEBAgEDAf8BIgFa + AXEB/wEPAXQBnQH/ARQBbQGQAf8BGQFFAVcB/wgAA8kB/wPRAf8DwQH/A70B/wO8Af8DvAH/A1AB/wMA + Af8DAAH/AwwB/wOjAf8DtQH/A7AB/wOHAf8IAAIfAbsB/wIiAc4B/wIgAbkB/wIkAZ4B/wImAZkB/wIW + AS8B/wMAAf8CHgFAAf8CAQEDAf8CEgEnAf8CIQGkAf8CHwGoAf8CKQGHAf8CJAFVAf8IAAHZAQABlwH/ + Ae4BAAGmAf8B1wEAAZYB/wHCAQABhwH/Ab4BAAGFAf8BRAEAAS8B/wMAAf8BXgEAAUEB/wEFAQABAwH/ + ATgBAAEnAf8BxQEAAYkB/wHGAQABigH/Aa8BAAF6Af8BegEAAVUB/wgAAQYBiwHBAf8BBwGZAdQB/wEH + AYkBvgH/ARABeAGiAf8BEgF1AZ0B/wEQASYBLwH/AwAB/wEWATQBQAH/AQECAwH/AQ0BHwEmAf8BDAGA + AakB/wEJAYEBrQH/ARgBaAGJAf8BGgFEAVUB/wgAA8gB/wPWAf8DyAH/A7oB/wO3Af8DWwH/AwAB/wNx + Af8DDgH/A1AB/wO7Af8DvQH/A60B/wOHAf8IAAIeAbUB/wIjAdEB/wIhAckB/wIsAZ4B/wIWAS8B/wMA + Af8CJgFSAf8CHQGuAf8CEQEkAf8CJwFVAf8CHQGtAf8CHwGoAf8CKgGEAf8CKQFaAf8IAAHSAQABkgH/ + AfMBAAGqAf8B6gEAAaMB/wHJAQABjAH/AUQBAAEvAf8DAAH/AXgBAAFUAf8BygEAAY0B/wE1AQABJQH/ + AYEBAAFWAf8ByQEAAYwB/wHGAQABigH/Aa0BAAF5Af8BggEAAVsB/wgAAQYBhwG7Af8BBwGcAdkB/wEH + AZYB0AH/ARgBeQGhAf8BEAEmAS8B/wMAAf8BHQFCAVIB/wEGAYIBtAH/AQ0BHQEkAf8BHQFEAVQB/wEH + AYEBswH/AQkBgQGtAf8BGQFnAYYB/wEfAUgBWQH/CAADxAH/A9kB/wPTAf8DvgH/A1sB/wMAAf8DhgH/ + A78B/wNMAf8DiQH/A74B/wO9Af8DrAH/A40B/wwAAiMB0wH/AiMB1gH/AjcBYgH/AwAB/wInAVQB/wIe + AasB/wIhAaQB/wIwAWcB/wIqAYsB/wIfAagB/wIfAagB/wIoAYoB/xAAAfQBAAGqAf8B+AEAAa0B/wGY + AQABagH/AQEBAAEBAf8BgAEAAVYB/wHIAQABjAH/AcUBAAGJAf8BlgEAAWkB/wG0AQABgQH/AcYBAAGK + Af8BxgEAAYoB/wGxAQABgQH/EAABBwGdAdkB/wEHAZ8B3QH/ASwBUQFfAf8DAAH/AR0BRAFUAf8BCAGB + AbEB/wEMAYABqQH/ASQBUwFmAf8BGQFrAYwB/wEJAYEBrQH/AQkBgQGtAf8BFwFqAYwB/xAAA9oB/wPc + Af8DnQH/AwUB/wOIAf8DvgH/A7sB/wOcAf8DsQH/A70B/wO9Af8DrgH/EAACXwHUAf8CJQHaAf8COQGW + Af8COQFxAf8CIwG2Af8CJgGoAf8CJAGoAf8CHwGoAf8CHwGoAf8CHwGoAf8CHwGoAf8CWAGeAf8QAAHr + AUgBuQH/Af4BAAGxAf8BzgEAAZAB/wGpAQABdgH/AdcBAAGWAf8BzQEAAY8B/wHLAQABjgH/AcYBAAGK + Af8BxgEAAYoB/wHGAQABigH/AcYBAAGKAf8BvAE6AZUB/xAAAUwBsAHZAf8BBwGjAeIB/wEnAXYBlgH/ + ASwBXAFwAf8BCwGIAbsB/wEQAYEBrAH/AQ4BgQGtAf8BCQGBAa0B/wEJAYEBrQH/AQkBgQGtAf8BCQGB + Aa0B/wFMAYcBnwH/EAAD4gH/A98B/wPBAf8DqQH/A8gB/wPBAf8DwAH/A70B/wO9Af8DvQH/A70B/wO9 + Af8UAAJgAdkB/wIjAdYB/wIjAdIB/wIiAcwB/wIgAb8B/wIgAbIB/wIhAakB/wIhAaMB/wIeAaMB/wJX + AacB/xgAAfEBSAG+Af8B+QEAAa0B/wH0AQABqgH/Ae0BAAGlAf8B3wEAAZsB/wHRAQABkgH/AckBAAGM + Af8BwwEAAYgB/wHBAQABhwH/AcIBPAGZAf8YAAFNAbQB3gH/AQcBnwHdAf8BBwGcAdkB/wEHAZgB0wH/ + AQYBjwHGAf8BCAGFAbgB/wELAYEBrwH/AQwBegGnAf8BCQF6AagB/wFJAY0BqQH/GAAD5gH/A9wB/wPZ + Af8D1AH/A8wB/wPDAf8DvgH/A7oB/wO5Af8DwQH/IAACHwG/Af8CIAHDAf8CIQHIAf8CIAG/Af8CHgG1 + Af8CHwGjAf8oAAHdAQABmgH/AeMBAAGeAf8B6AEAAaIB/wHfAQABmwH/AdIBAAGSAf8BwQEAAYcB/ygA + AQYBjgHFAf8BBgGRAcoB/wEHAZUBzgH/AQYBjwHGAf8BBgGHAbsB/wEKAXoBpwH/KAADywH/A84B/wPR + Af8DzAH/A8QB/wO5Af//AP8AKgADPQH/AzYB/wM0Af8DMwH/AzIB/wMwAf8oAAFsAUYBOQH/AVsBNgEq + Af8BUwEwASUB/wFRAS8BJAH/AUwBLQEiAf8BPgEpASEB/ygAASMBPwEjAf8BGgE1ARoB/wEWATEBFgH/ + ARYBLwEWAf8BFQEsARUB/wEUASUBFAH/KAABTQFPASgB/wFBAUMBHQH/ATsBPgEZAf8BOgE8ARgB/wE3 + ATkBFwH/AS0BLgEXAf8gAAOCAf8DRwH/A0cB/wNGAf8DRQH/A0QB/wNBAf8DOwH/AzQB/wNDAf8YAAGi + AYEBbwH/AYcBUAE+Af8BiAFQAT0B/wGGAU8BPAH/AYQBTQE7Af8BggFLATkB/wGBAUgBNgH/AWsBPgEw + Af8BUwEwASQB/wFDATcBMgH/GAABWwF3AVsB/wEmAVABJgH/ASUBUAElAf8BJQFPASUB/wEkAU4BJAH/ + ASMBTQEjAf8BIQFJASEB/wEdAT8BHQH/ARYBMQEWAf8BKgEzASoB/xgAAYUBhwFfAf8BYQFlASoB/wFi + AWUBKQH/AWEBZAEpAf8BXwFjASgB/wFdAWEBJwH/AVkBXQElAf8BTQFQASAB/wE7AT4BGQH/ATgBOQEs + Af8UAAOIAf8DWQH/A18B/wNkAf8DYwH/A2EB/wNhAf8DXgH/A1gB/wNHAf8DNwH/A0MB/xAAAbABgQFu + Af8BsAFbAT4B/wHCAVsBOAH/Ac0BXAE2Af8BygFcATcB/wHJAVsBNgH/AckBWwE2Af8BwQFaATcB/wGx + AVkBPAH/AYcBTwE9Af8BXQE2ASkB/wFCATUBMQH/EAABWwGBAVsB/wEnAWgBJwH/ASMBcwEjAf8BIQF6 + ASEB/wEiAXgBIgH/ASIBdwEiAf8BIgF3ASIB/wEjAXEBIwH/ASUBaAElAf8BJQFQASUB/wEZATYBGQH/ + ASkBMwEpAf8QAAGPAZIBXgH/AYEBhAEpAf8BiwGSASQB/wGUAZwBIAH/AZIBmQEhAf8BkQGYASIB/wGR + AZgBIgH/AYoBkAEjAf8BgQGEAScB/wFhAWUBKQH/AUMBRQEcAf8COAErAf8QAANbAf8DZAH/A20B/wNt + Af8DbQH/A20B/wNlAf8DZwH/A14B/wNCAf8DRAH/AzYB/xAAAbUBWwE9Af8BywFcATcB/wHUAWMBPQH/ + AdQBYwE9Af8B1AFjAT0B/wHUAWMBPQH/Ac8BXQE3Af8B0gFeATgB/wG+AVsBOgH/AYEBSQE4Af8BgQFL + ATkB/wFbATUBKAH/EAABJgFrASYB/wEhAXkBIQH/ASABgwEgAf8BIAGDASAB/wEgAYMBIAH/ASABgwEg + Af8BIAGBASAB/wEfAYEBHwH/ASQBcAEkAf8BIwFJASMB/wEjAUwBIwH/ARkBNgEZAf8QAAGCAYgBKAH/ + AZMBmwEhAf8BoAGoAR4B/wGgAagBHgH/AaABqAEeAf8BoAGoAR4B/wGXAZ8BHwH/AZsBowEeAf8BiAGO + ASUB/wFZAVwBJgH/AV0BYAEnAf8BQQFEARsB/wwAA2QB/wNqAf8DbQH/A20B/wNtAf8DawH/A2YB/wNM + Af8DNQH/AyQB/wMAAf8DRAH/A0EB/wMzAf8IAAHJAV8BOwH/Ac8BYwE/Af8B1wFhAToB/wHUAWMBPQH/ + AdQBYwE9Af8B0wFjAT0B/wHKAWEBPQH/AY4BVwFFAf8BVAE0ASkB/wEcAREBDgH/AwAB/wGBAUsBOgH/ + AYEBSAE2Af8BSwEvASYB/wgAASMBeQEjAf8BIgGBASIB/wEdAYUBHQH/ASABgwEgAf8BIAGDASAB/wEg + AYIBIAH/ASQBegEkAf8BKgFUASoB/wEZATEBGQH/AQgBEAEIAf8DAAH/ASMBTAEjAf8BIQFJASEB/wEX + ASwBFwH/CAABkwGaASMB/wGbAaMBIQH/AaMBqwEaAf8BoAGoAR4B/wGgAagBHgH/AZ8BpwEeAf8BlAGb + ASQB/wFmAWoBLwH/ATwBPgEcAf8BFAEVAQkB/wMAAf8BXAFfASgB/wFZAV0BJQH/ATYBOAEaAf8IAANu + Af8DgAH/A24B/wNtAf8DUQH/AzgB/wMpAf8DBQH/AwAB/wMAAf8DHwH/A1wB/wNNAf8DOQH/CAAB2AFj + ATwB/wHbAXABTAH/AdQBZgFAAf8B1AFjAT0B/wGcAVoBRAH/AWABOwEvAf8BJwEYARMB/wIBAQAB/wMA + Af8DAAH/ARUBDAEKAf8BuwFbATsB/wGVAVYBQAH/AWQBOwEtAf8IAAEeAYcBHgH/ASABkAEgAf8BIAGF + ASAB/wEgAYMBIAH/ASoBXAEqAf8BHQE5AR0B/wELARcBCwH/AwAB/wMAAf8DAAH/AQYBDAEGAf8BJQFu + ASUB/wEoAVgBKAH/ARsBOwEbAf8IAAGkAa0BGwH/AbABugEdAf8BogGqAR4B/wGgAagBHgH/AXABdAEu + Af8BRQFHASAB/wEcAR0BDQH/AwAB/wMAAf8DAAH/Ag8BBwH/AYYBjAEmAf8BawFvASwB/wFHAUoBHwH/ + CAADeAH/A4cB/wNyAf8DbQH/Az8B/wMxAf8DFwH/AwAB/wMAAf8DAAH/AzYB/wNpAf8DVwH/Az0B/wgA + AdoBbQFIAf8B3QF5AVgB/wHVAWoBRgH/AdQBYwE9Af8BcwFHATgB/wFHASwBIwH/AQsBBwEFAf8DAAH/ + AwAB/wMAAf8BVwE2ASsB/wHUAV8BOAH/Aa8BWQE8Af8BcQFBATEB/wgAAR8BjgEfAf8BIQGXASEB/wEi + AYcBIgH/ASABgwEgAf8BIgFDASIB/wEVASoBFQH/AQMBBgEDAf8DAAH/AwAB/wMAAf8BGgE0ARoB/wEf + AYEBHwH/ASUBZwElAf8BHgFCAR4B/wgAAa4BtwEcAf8BuQHCAR4B/wGlAa0BIAH/AaABqAEeAf8BUgFV + ASYB/wEzATUBGAH/AggBAwH/AwAB/wMAAf8DAAH/AT8BQQEeAf8BngGmARwB/wGBAYMBJwH/AVEBVAEi + Af8IAAOBAf8DjAH/A3IB/wNtAf8DawH/A2sB/wMtAf8DAAH/AwAB/wMMAf8DUAH/A2MB/wNdAf8DPgH/ + CAAB3AFzAU8B/wHfAYEBXgH/AdQBagFHAf8B1AFjAT0B/wHTAWMBPQH/AdIBYwE+Af8BNAEgARkB/wMA + Af8DAAH/AQQCAgH/AZkBWgFEAf8BygFcATcB/wG9AVoBOQH/AXUBQwEzAf8IAAEgAZIBIAH/ASIBmwEi + Af8BIgGGASIB/wEgAYMBIAH/ASABggEgAf8BIQGBASEB/wEPAR4BDwH/AwAB/wMAAf8BAQECAQEB/wEq + AVoBKgH/ASIBeAEiAf8BJAFvASQB/wEfAUUBHwH/CAABswG8AR0B/wG9AccBHwH/AaQBrAEhAf8BoAGo + AR4B/wGfAacBHgH/AZ4BpgEfAf8BJQEmAREB/wMAAf8DAAH/AgMBAQH/AW4BcgEvAf8BkgGZASEB/wGI + AY4BJQH/AVQBVwEjAf8IAAOBAf8DlgH/A4EB/wNpAf8DZQH/AzAB/wMAAf8DNgH/Aw4B/wMtAf8DagH/ + A20B/wNaAf8DPgH/CAAB3AFyAU4B/wHhAYYBZwH/AdoBcQFNAf8BzAFiAT8B/wHJAWABPQH/AT8BJwEf + Af8DAAH/AVcBNQEqAf8BBAEDAQIB/wE0ASABGQH/AdEBYwE+Af8B1AFjAT0B/wG1AVoBPAH/AXMBRAE0 + Af8IAAEgAZIBIAH/ASMBoAEjAf8BIQGQASEB/wEjAYEBIwH/ASQBeAEkAf8BEwElARMB/wMAAf8BGgEz + ARoB/wEBAQIBAQH/AQ8BHgEPAf8BIQGBASEB/wEgAYMBIAH/ASUBawElAf8BIAFEASAB/wgAAbIBuwEd + Af8BxAHOASAB/wGwAbkBHgH/AZcBngEjAf8BkwGaASQB/wEtAS8BFQH/AwAB/wE+AUABHQH/AgMBAQH/ + ASUBJgERAf8BnQGkASAB/wGgAagBHgH/AYIBhwEnAf8BUwFWASMB/wgAA3cB/wObAf8DkAH/A24B/wMw + Af8DAAH/Az4B/wNvAf8DLAH/Az8B/wNuAf8DbQH/A1kB/wNBAf8IAAHaAWsBRgH/AeIBigFtAf8B3wGB + AWIB/wHIAWsBTAH/AT8BJwEfAf8DAAH/AW8BRQE2Af8B2AFlAT4B/wExAR4BGAH/AXMBRwE4Af8B1wFk + AT4B/wHUAWMBPQH/AbEBWgE9Af8BeQFKATsB/wgAAR8BjQEfAf8BJAGkASQB/wEjAZ0BIwH/ASkBgQEp + Af8BEwElARMB/wMAAf8BIQFBASEB/wEeAYgBHgH/AQ8BHQEPAf8BIgFDASIB/wEeAYcBHgH/ASABgwEg + Af8BJgFoASYB/wEkAUcBJAH/CAABrAG1ARwB/wHIAdIBIAH/AcABygEfAf8BmAGeASoB/wEtAS8BFQH/ + AwAB/wFQAVIBJQH/AaYBrwEbAf8BIwEkARAB/wFSAVUBJgH/AaUBrQEcAf8BoAGoAR4B/wGBAYQBKAH/ + AVcBWQEpAf8MAAOeAf8DogH/A0wB/wMFAf8DPwH/A24B/wNqAf8DSwH/A14B/wNtAf8DbQH/A1sB/xAA + AeIBiwFuAf8B4wGPAXIB/wGEAVsBTQH/AgEBAAH/AXIBRgE4Af8B1gFkAT4B/wHRAWMBPgH/AYsBVgFE + Af8BugFdAT8B/wHUAWMBPQH/AdQBYwE9Af8BuQFbATwB/xAAASQBpAEkAf8BJQGnASUB/wEvAU4BLwH/ + AwAB/wEiAUMBIgH/AR8BhQEfAf8BIQGBASEB/wEqAVIBKgH/AScBbQEnAf8BIAGDASAB/wEgAYMBIAH/ + ASUBbQElAf8QAAHIAdMBIQH/AcwB1gEhAf8BXwFhATYB/wMAAf8BUgFUASYB/wGjAasBHAH/AZ0BpAEg + Af8BZAFnAS8B/wGFAYsBKQH/AaABqAEeAf8BoAGoAR4B/wGEAYoBJwH/EAADtwH/A6gB/wNyAf8DVgH/ + A4EB/wNyAf8DcQH/A20B/wNtAf8DbQH/A20B/wOLAf8QAAHoAaABhwH/AeQBlAF5Af8BvQF2AV4B/wGY + AWIBUAH/AdcBcgFQAf8B0AFsAUoB/wHRAWkBRgH/AdQBYwE9Af8B1AFjAT0B/wHUAWMBPQH/AdQBYwE9 + Af8BwAGBAWcB/xAAAWABtQFgAf8BJgGrASYB/wEzAXcBMwH/ATEBWgExAf8BIwGOASMB/wElAYMBJQH/ + ASMBhAEjAf8BIAGDASAB/wEgAYMBIAH/ASABgwEgAf8BIAGDASAB/wFWAYgBVgH/EAABzQHUAV0B/wHR + AdwBIgH/AZABlgE4Af8BbQFxATgB/wGtAbYBIQH/AaEBqAEkAf8BoQGpASIB/wGgAagBHgH/AaABqAEe + Af8BoAGoAR4B/wGgAagBHgH/AZoBngFXAf8UAAO+Af8DogH/A5sB/wOSAf8DgwH/A3UB/wNuAf8DaQH/ + A2cB/wOPAf8YAAHpAaUBjwH/AeMBjwFzAf8B4gGLAW0B/wHgAYQBZQH/Ad0BdwFVAf8B2AFrAUcB/wHU + AWYBQQH/AdABYQE8Af8B0wFeATcB/wHKAYEBZQH/GAABYQG6AWEB/wElAacBJQH/ASQBpAEkAf8BIwGf + ASMB/wEhAZYBIQH/ASABiwEgAf8BIQGEASEB/wEhAYEBIQH/AR8BgQEfAf8BVgGQAVYB/xgAAdMB2gFe + Af8BzAHXASEB/wHIAdIBIQH/AcIBzAEgAf8BtwHAAR4B/wGqAbMBHgH/AaEBqgEfAf8BmwGjAR8B/wGc + AaQBHQH/AaIBpwFWAf8gAAOCAf8DhwH/A4wB/wODAf8DdwH/A2cB/ygAAd0BdgFUAf8B3gGAAVoB/wHf + AYEBYAH/Ad0BdwFVAf8B2gFrAUYB/wHSAV4BOAH/KAABIQGVASEB/wEiAZkBIgH/ASIBnAEiAf8BIQGW + ASEB/wEfAY0BHwH/AR8BgQEfAf8oAAG2Ab8BHQH/AboBxAEeAf8BvgHIAR8B/wG3AcABHgH/AawBtQEc + Af8BmwGjAR4B//8AFQABQgFNAT4HAAE+AwABKAMAAUADAAFgAwABAQEAAQEGAAEDFgAD/4EACP8B+AEf + AfgBHwH4AR8B+AEfAeABBwHgAQcB4AEHAeABBwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAED AYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEB - AYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAED - AeABBwHgAQcB4AEHAeABBwH4AR8B+AEfAfgBHwH4AR8Q/wH4AR8B+AEfAfgBHwH4AR8B4AEHAeABBwHg - AQcB4AEHAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBgAEBAYABAQGAAQEBgAEBAYABAQGA + AYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAcABAwHAAQMBwAEDAcABAwHAAQMBwAED + AcABAwHAAQMB4AEHAeABBwHgAQcB4AEHAfgBHwH4AR8B+AEfAfgBHxD/AfgBHwH4AR8B+AEfAfgBHwHg + AQcB4AEHAeABBwHgAQcBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwGAAQEBgAEBAYABAQGA AQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGA - AQEBgAEBAYABAQGAAQEBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHgAQcB4AEHAeABBwHg - AQcB+AEfAfgBHwH4AR8B+AEfEP8B+AEfAfgBHwH4AR8B+AEfAeABBwHgAQcB4AEHAeABBwHAAQMBwAED - AcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEB + AQEBoAEBAYABAQGAAQEBgAEBAbABAQHAAQMBwAEDAcABAwHwAQMBwAEDAcABAwHAAQMB0AEDAeABBwHg + AQcB4AEHAf4BBwH4AR8B+AEfAfgBHwH4AR8Q/wH4AR8B+AEfAfgBHwH4AR8B4AEHAeABBwHgAQcB4AEH + AcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEB AYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEB - AcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMB4AEHAeABBwHgAQcB4AEHAfgBHwH4AR8B+AEf - AfgBHwj/Cw== + AYABAQGAAQEBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAEDAcABAwHgAQcB4AEHAeABBwHgAQcB+AEf + AfgBHwH4AR8B+AEfEP8B+AEfAfgBHwH4AR8B+AEfAeABBwHgAQcB4AEHAeABBwHAAQMBwAEDAcABAwHA + AQMBwAEDAcABAwHAAQMBwAEDAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGA + AQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAcABAwHA + AQMBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMB4AEHAeABBwHgAQcB4AEHAfgBHwH4AR8B+AEfAfgBHxD/ + AfgBHwH4AR8B+AEfAfgBHwHgAQcB4AEHAeABBwHgAQcBwAEDAcABAwHAAQMBwAEDAcABAwHAAQMBwAED + AcABAwGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEB + AYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQHAAQMBwAEDAcABAwHAAQMBwAED + AcABAwHAAQMBwAEDAeABBwHgAQcB4AEHAeABBwH4AR8B+AEfAfgBHwH4AR8I/ws= +</value> + </data> + <data name="typelist.SelectedNodes" mimetype="application/x-microsoft.net.object.binary.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkEAQAAAJsBU3lz + dGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tTeXN0ZW0uV2luZG93cy5Gb3Jtcy5UcmVlTm9k + ZSwgU3lzdGVtLldpbmRvd3MuRm9ybXMsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQ + dWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0DAAAABl9pdGVtcwVfc2l6ZQhfdmVyc2lvbgQA + AB9TeXN0ZW0uV2luZG93cy5Gb3Jtcy5UcmVlTm9kZVtdAgAAAAgICQMAAAAAAAAAAQAAAAcDAAAAAAEA + AAAAAAAABB1TeXN0ZW0uV2luZG93cy5Gb3Jtcy5UcmVlTm9kZQIAAAAL </value> </data> </root> \ No newline at end of file diff --git a/Source/Core/GZBuilder/Controls/MultiSelectTreeview.cs b/Source/Core/GZBuilder/Controls/MultiSelectTreeview.cs new file mode 100644 index 0000000000000000000000000000000000000000..97a5e3fbc31feccaaf6876e79a88a8f341872300 --- /dev/null +++ b/Source/Core/GZBuilder/Controls/MultiSelectTreeview.cs @@ -0,0 +1,427 @@ +#region Namespaces + +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Windows.Forms; + +#endregion + +namespace CodeImp.DoomBuilder.GZBuilder.Controls +{ + public class MultiSelectTreeview : TreeView + { + #region Selected Node(s) Properties + + private List<TreeNode> m_SelectedNodes = null; + public List<TreeNode> SelectedNodes { + get { + return m_SelectedNodes; + } + set { + ClearSelectedNodes(); + if(value != null) { + foreach(TreeNode node in value) { + ToggleNode(node, true); + } + } + } + } + + // Note we use the new keyword to Hide the native treeview's SelectedNode property. + private TreeNode m_SelectedNode; + public new TreeNode SelectedNode { + get { return m_SelectedNode; } + set { + ClearSelectedNodes(); + if(value != null) SelectNode(value); + } + } + + //mxd + private bool useMultiSelection; + public bool UseMultiSelection { get { return useMultiSelection; } set { useMultiSelection = value; } } + + #endregion + + #region Constructor + + public MultiSelectTreeview() { + m_SelectedNodes = new List<TreeNode>(); + base.SelectedNode = null; + } + + #endregion + + #region Overridden Events + + protected override void OnGotFocus(EventArgs e) { + // Make sure at least one node has a selection + // this way we can tab to the ctrl and use the + // keyboard to select nodes + try { + if(m_SelectedNode == null && this.TopNode != null) { + ToggleNode(this.TopNode, true); + } + + base.OnGotFocus(e); + } catch(Exception ex) { + HandleException(ex); + } + } + + protected override void OnMouseDown(MouseEventArgs e) { + try { + base.SelectedNode = null; + base.OnMouseDown(e); + } catch(Exception ex) { + HandleException(ex); + } + } + + protected override void OnMouseUp(MouseEventArgs e) { + try { + // Check to see if a node was clicked on + TreeNode node = this.GetNodeAt(e.Location); + if(node != null) { + int leftBound = node.Bounds.X; // -20; // Allow user to click on image + int rightBound = node.Bounds.Right + 10; // Give a little extra room + if(e.Location.X > leftBound && e.Location.X < rightBound) { + + SelectNode(node); + } + } + + base.OnMouseUp(e); + } catch(Exception ex) { + HandleException(ex); + } + } + + //mxd. Reduces flickering a bit... + protected override void OnMouseMove(MouseEventArgs e) { } + + protected override void OnItemDrag(ItemDragEventArgs e) { + // If the user drags a node and the node being dragged is NOT + // selected, then clear the active selection, select the + // node being dragged and drag it. Otherwise if the node being + // dragged is selected, drag the entire selection. + try { + TreeNode node = e.Item as TreeNode; + + if(node != null) { + if(!m_SelectedNodes.Contains(node)) { + SelectSingleNode(node); + ToggleNode(node, true); + } + } + + base.OnItemDrag(e); + } catch(Exception ex) { + HandleException(ex); + } + } + + protected override void OnBeforeSelect(TreeViewCancelEventArgs e) { + // Never allow base.SelectedNode to be set! + try { + base.SelectedNode = null; + e.Cancel = true; + + base.OnBeforeSelect(e); + } catch(Exception ex) { + HandleException(ex); + } + } + + protected override void OnAfterSelect(TreeViewEventArgs e) { + // Never allow base.SelectedNode to be set! + try { + base.OnAfterSelect(e); + base.SelectedNode = null; + } catch(Exception ex) { + HandleException(ex); + } + } + + protected override void OnKeyDown(KeyEventArgs e) { + // Handle all possible key strokes for the control. + // including navigation, selection, etc. + + base.OnKeyDown(e); + + if(e.KeyCode == Keys.ShiftKey) return; + + this.BeginUpdate(); + bool bShift = (ModifierKeys == Keys.Shift); + + try { + // Nothing is selected in the tree, this isn't a good state + // select the top node + if(m_SelectedNode == null && this.TopNode != null) { + ToggleNode(this.TopNode, true); + } + + // Nothing is still selected in the tree, this isn't a good state, leave. + if(m_SelectedNode == null) return; + + if(e.KeyCode == Keys.Left) { + if(m_SelectedNode.IsExpanded && m_SelectedNode.Nodes.Count > 0) { + // Collapse an expanded node that has children + m_SelectedNode.Collapse(); + } else if(m_SelectedNode.Parent != null) { + // Node is already collapsed, try to select its parent. + SelectSingleNode(m_SelectedNode.Parent); + } + } else if(e.KeyCode == Keys.Right) { + if(!m_SelectedNode.IsExpanded) { + // Expand a collpased node's children + m_SelectedNode.Expand(); + } else { + // Node was already expanded, select the first child + SelectSingleNode(m_SelectedNode.FirstNode); + } + } else if(e.KeyCode == Keys.Up) { + // Select the previous node + if(m_SelectedNode.PrevVisibleNode != null) { + SelectNode(m_SelectedNode.PrevVisibleNode); + } + } else if(e.KeyCode == Keys.Down) { + // Select the next node + if(m_SelectedNode.NextVisibleNode != null) { + SelectNode(m_SelectedNode.NextVisibleNode); + } + } else if(e.KeyCode == Keys.Home) { + if(bShift) { + if(m_SelectedNode.Parent == null) { + // Select all of the root nodes up to this point + if(this.Nodes.Count > 0) { + SelectNode(this.Nodes[0]); + } + } else { + // Select all of the nodes up to this point under this nodes parent + SelectNode(m_SelectedNode.Parent.FirstNode); + } + } else { + // Select this first node in the tree + if(this.Nodes.Count > 0) { + SelectSingleNode(this.Nodes[0]); + } + } + } else if(e.KeyCode == Keys.End) { + if(bShift) { + if(m_SelectedNode.Parent == null) { + // Select the last ROOT node in the tree + if(this.Nodes.Count > 0) { + SelectNode(this.Nodes[this.Nodes.Count - 1]); + } + } else { + // Select the last node in this branch + SelectNode(m_SelectedNode.Parent.LastNode); + } + } else { + if(this.Nodes.Count > 0) { + // Select the last node visible node in the tree. + // Don't expand branches incase the tree is virtual + TreeNode ndLast = this.Nodes[0].LastNode; + while(ndLast.IsExpanded && (ndLast.LastNode != null)) { + ndLast = ndLast.LastNode; + } + SelectSingleNode(ndLast); + } + } + } else if(e.KeyCode == Keys.PageUp) { + // Select the highest node in the display + int nCount = this.VisibleCount; + TreeNode ndCurrent = m_SelectedNode; + while((nCount) > 0 && (ndCurrent.PrevVisibleNode != null)) { + ndCurrent = ndCurrent.PrevVisibleNode; + nCount--; + } + SelectSingleNode(ndCurrent); + } else if(e.KeyCode == Keys.PageDown) { + // Select the lowest node in the display + int nCount = this.VisibleCount; + TreeNode ndCurrent = m_SelectedNode; + while((nCount) > 0 && (ndCurrent.NextVisibleNode != null)) { + ndCurrent = ndCurrent.NextVisibleNode; + nCount--; + } + SelectSingleNode(ndCurrent); + } else { + // Assume this is a search character a-z, A-Z, 0-9, etc. + // Select the first node after the current node that + // starts with this character + string sSearch = ((char)e.KeyValue).ToString(); + + TreeNode ndCurrent = m_SelectedNode; + while((ndCurrent.NextVisibleNode != null)) { + ndCurrent = ndCurrent.NextVisibleNode; + if(ndCurrent.Text.StartsWith(sSearch)) { + SelectSingleNode(ndCurrent); + break; + } + } + } + } catch(Exception ex) { + HandleException(ex); + } finally { + this.EndUpdate(); + } + } + + #endregion + + #region Helper Methods + + private void SelectNode(TreeNode node) { + try { + this.BeginUpdate(); + + if(!useMultiSelection) { //mxd + SelectSingleNode(node); + } else if(m_SelectedNode == null || ModifierKeys == Keys.Control) { + // Ctrl+Click selects an unselected node, or unselects a selected node. + bool bIsSelected = m_SelectedNodes.Contains(node); + ToggleNode(node, !bIsSelected); + } else if(ModifierKeys == Keys.Shift) { + // Shift+Click selects nodes between the selected node and here. + TreeNode ndStart = m_SelectedNode; + TreeNode ndEnd = node; + + if(ndStart.Parent == ndEnd.Parent) { + // Selected node and clicked node have same parent, easy case. + if(ndStart.Index < ndEnd.Index) { + // If the selected node is beneath the clicked node walk down + // selecting each Visible node until we reach the end. + while(ndStart != ndEnd) { + ndStart = ndStart.NextVisibleNode; + if(ndStart == null) break; + ToggleNode(ndStart, true); + } + } else if(ndStart.Index == ndEnd.Index) { + // Clicked same node, do nothing + } else { + // If the selected node is above the clicked node walk up + // selecting each Visible node until we reach the end. + while(ndStart != ndEnd) { + ndStart = ndStart.PrevVisibleNode; + if(ndStart == null) break; + ToggleNode(ndStart, true); + } + } + } else { + // Selected node and clicked node have same parent, hard case. + // We need to find a common parent to determine if we need + // to walk down selecting, or walk up selecting. + + TreeNode ndStartP = ndStart; + TreeNode ndEndP = ndEnd; + int startDepth = Math.Min(ndStartP.Level, ndEndP.Level); + + // Bring lower node up to common depth + while(ndStartP.Level > startDepth) { + ndStartP = ndStartP.Parent; + } + + // Bring lower node up to common depth + while(ndEndP.Level > startDepth) { + ndEndP = ndEndP.Parent; + } + + // Walk up the tree until we find the common parent + while(ndStartP.Parent != ndEndP.Parent) { + ndStartP = ndStartP.Parent; + ndEndP = ndEndP.Parent; + } + + // Select the node + if(ndStartP.Index < ndEndP.Index) { + // If the selected node is beneath the clicked node walk down + // selecting each Visible node until we reach the end. + while(ndStart != ndEnd) { + ndStart = ndStart.NextVisibleNode; + if(ndStart == null) break; + ToggleNode(ndStart, true); + } + } else if(ndStartP.Index == ndEndP.Index) { + if(ndStart.Level < ndEnd.Level) { + while(ndStart != ndEnd) { + ndStart = ndStart.NextVisibleNode; + if(ndStart == null) break; + ToggleNode(ndStart, true); + } + } else { + while(ndStart != ndEnd) { + ndStart = ndStart.PrevVisibleNode; + if(ndStart == null) break; + ToggleNode(ndStart, true); + } + } + } else { + // If the selected node is above the clicked node walk up + // selecting each Visible node until we reach the end. + while(ndStart != ndEnd) { + ndStart = ndStart.PrevVisibleNode; + if(ndStart == null) break; + ToggleNode(ndStart, true); + } + } + } + } else { + // Just clicked a node, select it + SelectSingleNode(node); + } + + OnAfterSelect(new TreeViewEventArgs(m_SelectedNode)); + } finally { + this.EndUpdate(); + } + } + + public void ClearSelectedNodes() { + try { + foreach(TreeNode node in m_SelectedNodes) { + node.BackColor = this.BackColor; + node.ForeColor = this.ForeColor; + } + } finally { + m_SelectedNodes.Clear(); + m_SelectedNode = null; + } + } + + private void SelectSingleNode(TreeNode node) { + if(node == null) { + return; + } + + ClearSelectedNodes(); + ToggleNode(node, true); + node.EnsureVisible(); + } + + private void ToggleNode(TreeNode node, bool bSelectNode) { + if(bSelectNode) { + m_SelectedNode = node; + if(!m_SelectedNodes.Contains(node)) { + m_SelectedNodes.Add(node); + } + node.BackColor = SystemColors.Highlight; + node.ForeColor = SystemColors.HighlightText; + } else { + m_SelectedNodes.Remove(node); + node.BackColor = this.BackColor; + node.ForeColor = this.ForeColor; + } + } + + private void HandleException(Exception ex) { + // Perform some error handling here. + // We don't want to bubble errors to the CLR. + General.ErrorLogger.Add(ErrorType.Error, ex.Message); + } + + #endregion + } +} diff --git a/Source/Core/General/General.cs b/Source/Core/General/General.cs index 6db634014b95be7425b2927bd29c0af94821f88c..f9fb5d81638cb06631ef4d0453a2935b1f0755cb 100644 --- a/Source/Core/General/General.cs +++ b/Source/Core/General/General.cs @@ -1570,7 +1570,7 @@ namespace CodeImp.DoomBuilder //mxd public static int Random(int min, int max) { - return random.Next(min, max); + return random.Next(min, max + 1); //because max is never rolled } //mxd diff --git a/Source/Core/Windows/ThingEditForm.Designer.cs b/Source/Core/Windows/ThingEditForm.Designer.cs index 6d4b9c8858c61e78e791a3bd3374d5dd81b1f788..ebda025f8aab48bf416246ea4679d32f44f249ff 100644 --- a/Source/Core/Windows/ThingEditForm.Designer.cs +++ b/Source/Core/Windows/ThingEditForm.Designer.cs @@ -108,6 +108,8 @@ namespace CodeImp.DoomBuilder.Windows this.thingtype.Name = "thingtype"; this.thingtype.Size = new System.Drawing.Size(251, 357); this.thingtype.TabIndex = 0; + this.thingtype.UseMultiSelection = true; + this.thingtype.OnTypeDoubleClicked += new CodeImp.DoomBuilder.Controls.ThingBrowserControl.TypeDoubleClickDeletegate(this.thingtype_OnTypeDoubleClicked); this.thingtype.OnTypeChanged += new CodeImp.DoomBuilder.Controls.ThingBrowserControl.TypeChangedDeletegate(this.thingtype_OnTypeChanged); // // groupBox2 @@ -178,6 +180,7 @@ namespace CodeImp.DoomBuilder.Windows this.posX.AllowNegative = true; this.posX.AllowRelative = true; this.posX.ButtonStep = 8; + this.posX.ButtonStepFloat = 1F; this.posX.Location = new System.Drawing.Point(68, 16); this.posX.Name = "posX"; this.posX.Size = new System.Drawing.Size(72, 24); @@ -190,6 +193,7 @@ namespace CodeImp.DoomBuilder.Windows this.posY.AllowNegative = true; this.posY.AllowRelative = true; this.posY.ButtonStep = 8; + this.posY.ButtonStepFloat = 1F; this.posY.Location = new System.Drawing.Point(68, 41); this.posY.Name = "posY"; this.posY.Size = new System.Drawing.Size(72, 24); @@ -202,6 +206,7 @@ namespace CodeImp.DoomBuilder.Windows this.posZ.AllowNegative = true; this.posZ.AllowRelative = true; this.posZ.ButtonStep = 8; + this.posZ.ButtonStepFloat = 1F; this.posZ.Location = new System.Drawing.Point(68, 66); this.posZ.Name = "posZ"; this.posZ.Size = new System.Drawing.Size(72, 24); @@ -214,6 +219,7 @@ namespace CodeImp.DoomBuilder.Windows this.angle.AllowNegative = true; this.angle.AllowRelative = true; this.angle.ButtonStep = 1; + this.angle.ButtonStepFloat = 1F; this.angle.Location = new System.Drawing.Point(186, 16); this.angle.Name = "angle"; this.angle.Size = new System.Drawing.Size(57, 24); @@ -327,6 +333,7 @@ namespace CodeImp.DoomBuilder.Windows this.flags.Name = "flags"; this.flags.Size = new System.Drawing.Size(337, 208); this.flags.TabIndex = 0; + this.flags.VerticalSpacing = 1; // // tabeffects // diff --git a/Source/Core/Windows/ThingEditForm.cs b/Source/Core/Windows/ThingEditForm.cs index 9704b59c00cf4dc0f5ae425c350edfcbf64279d9..fac1de9120cf3b2f0eb376bcc93cfd25ecc7df2f 100644 --- a/Source/Core/Windows/ThingEditForm.cs +++ b/Source/Core/Windows/ThingEditForm.cs @@ -289,6 +289,11 @@ namespace CodeImp.DoomBuilder.Windows // Update arguments action_ValueChanges(this, EventArgs.Empty); } + + //mxd + private void thingtype_OnTypeDoubleClicked() { + apply_Click(this, EventArgs.Empty); + } // Action changes private void action_ValueChanges(object sender, EventArgs e)