diff --git a/IronWASP/APIDoc.cs b/Iron/APIDoc.cs
similarity index 97%
rename from IronWASP/APIDoc.cs
rename to Iron/APIDoc.cs
index da23a40..054e6b5 100644
--- a/IronWASP/APIDoc.cs
+++ b/Iron/APIDoc.cs
@@ -1,405 +1,405 @@
-//
-// Copyright 2011-2013 Lavakumar Kuppan
-//
-// This file is part of IronWASP
-//
-// IronWASP is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 3 of the License.
-//
-// IronWASP is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with IronWASP. If not, see http://www.gnu.org/licenses/.
-//
-
-using System;
-using System.Xml;
-using System.Drawing;
-using System.Windows.Forms;
-using System.Collections.Generic;
-using System.Text;
-
-namespace IronWASP
-{
- internal class APIDoc
- {
- internal static XmlDocument PyAPI = new XmlDocument();
- internal static XmlDocument RbAPI = new XmlDocument();
-
- internal static void Initialise()
- {
- try
- {
- PyAPI.Load(string.Format("{0}//APIdoc_Py.xml", Config.Path));
- }
- catch(Exception Exp)
- {
- IronException.Report("Unable to load Python API Doc", Exp.Message, Exp.StackTrace);
- }
- try
- {
- RbAPI.Load(string.Format("{0}//APIdoc_Rb.xml", Config.Path));
- }
- catch (Exception Exp)
- {
- IronException.Report("Unable to load Ruby API Doc", Exp.Message, Exp.StackTrace);
- }
- try
- {
- BuildPyAPITrees();
- }
- catch (Exception Exp)
- {
- IronException.Report("Unable to build Python API Doc tree", Exp.Message, Exp.StackTrace);
- }
- try
- {
- BuildRbAPITrees();
- }
- catch (Exception Exp)
- {
- IronException.Report("Unable to build Python API Doc tree", Exp.Message, Exp.StackTrace);
- }
- }
-
- internal static void BuildPyAPITrees()
- {
- BuildAPITree(IronUI.UI.ScriptingShellPythonAPITree, PyAPI);
- BuildAPITree(IronUI.UI.PluginEditorPythonAPITree, PyAPI);
- }
-
- internal static void BuildPluginEditorTrees()
- {
- BuildAPITree(IronUI.PE.PluginEditorPythonAPITree, PyAPI);
- BuildAPITree(IronUI.PE.PluginEditorRubyAPITree, RbAPI);
- }
-
- internal static void BuildRbAPITrees()
- {
- BuildAPITree(IronUI.UI.ScriptingShellRubyAPITree, RbAPI);
- BuildAPITree(IronUI.UI.PluginEditorRubyAPITree, RbAPI);
- }
-
- static void BuildAPITree(TreeView Tree, XmlDocument API)
- {
- try
- {
- Tree.BeginUpdate();
- Tree.Nodes.Clear();
- //Build class
- foreach (XmlNode Class in API.SelectNodes("api")[0].SelectNodes("class"))
- {
- TreeNode ClassNode = new TreeNode();
- string ClassName = Class.SelectNodes("name")[0].InnerText;
- ClassNode.Name = ClassName;
- ClassNode.Text = ClassName;
- ClassNode.ForeColor = Color.Green;
- string ClassType = Class.SelectNodes("type")[0].InnerText;
- ClassNode.ToolTipText = Class.SelectNodes("description")[0].InnerText;
-
- TreeNode ConstructorsNode = new TreeNode();
- ConstructorsNode.Name = "Constructors";
- ConstructorsNode.Text = "Constructors";
- ConstructorsNode.ForeColor = Color.Brown;
-
- TreeNode PropertiesNode = new TreeNode();
- PropertiesNode.Name = "Properties";
- PropertiesNode.Text = "Properties";
- PropertiesNode.ForeColor = Color.DarkBlue;
-
- TreeNode MethodsNode = new TreeNode();
- MethodsNode.Name = "Methods";
- MethodsNode.Text = "Methods";
- MethodsNode.ForeColor = Color.IndianRed;
-
- TreeNode MembersNode = new TreeNode();
- MembersNode.Name = "Members";
- MembersNode.Text = "Members";
-
- if (ClassType.Equals("Non-Static"))
- {
- ClassNode.Nodes.Add(ConstructorsNode);
- }
- if (ClassType.Equals("Non-Static") || ClassType.Equals("Static"))
- {
- ClassNode.Nodes.Add(PropertiesNode);
- ClassNode.Nodes.Add(MethodsNode);
- }
- if (ClassType.Equals("Enum"))
- {
- ClassNode.Nodes.Add(MembersNode);
- }
- //Build constructors
- try
- {
- foreach (XmlNode Constructor in Class.SelectNodes("constructors")[0].SelectNodes("constructor"))
- {
- TreeNode ConstructorNode = new TreeNode();
- string ConstructorName = Constructor.SelectNodes("name")[0].InnerText;
- ConstructorNode.Name = "constructors-" + ConstructorName;
- ConstructorNode.Text = ConstructorName;
- ConstructorNode.ForeColor = Color.Brown;
- ConstructorNode.ToolTipText = Constructor.SelectNodes("description")[0].InnerText;
- ConstructorsNode.Nodes.Add(ConstructorNode);
- }
- }
- catch
- {
-
- }
- //Build properties
- try
- {
- foreach (XmlNode Property in Class.SelectNodes("properties")[0].SelectNodes("property"))
- {
- TreeNode PropertyNode = new TreeNode();
- string PropertyName = Property.SelectNodes("name")[0].InnerText + " : " + Property.SelectNodes("datatype")[0].InnerText;
- PropertyNode.Name = "properties-" + PropertyName;
- PropertyNode.Text = PropertyName;
- PropertyNode.ForeColor = Color.DarkBlue;
- PropertyNode.ToolTipText = Property.SelectNodes("description")[0].InnerText;
- PropertiesNode.Nodes.Add(PropertyNode);
- }
- }
- catch
- {
-
- }
- //Build methods
- try
- {
- foreach (XmlNode Method in Class.SelectNodes("methods")[0].SelectNodes("method"))
- {
- TreeNode MethodNode = new TreeNode();
- string MethodName = Method.SelectNodes("name")[0].InnerText + " : " + Method.SelectNodes("return")[0].InnerText;
- MethodNode.Name = "methods-" + MethodName;
- MethodNode.Text = MethodName;
- MethodNode.ForeColor = Color.IndianRed;
- MethodNode.ToolTipText = Method.SelectNodes("description")[0].InnerText;
- MethodsNode.Nodes.Add(MethodNode);
- }
- }
- catch
- {
-
- }
- //Build members
- try
- {
- foreach (XmlNode Member in Class.SelectNodes("members")[0].SelectNodes("member"))
- {
- TreeNode MemberNode = new TreeNode();
- string MemberName = Member.SelectNodes("name")[0].InnerText;
- MemberNode.Name = "members-" + MemberName;
- MemberNode.Text = MemberName;
- MemberNode.ForeColor = Color.IndianRed;
- MemberNode.ToolTipText = Member.SelectNodes("description")[0].InnerText;
- MembersNode.Nodes.Add(MemberNode);
- }
- }
- catch
- {
-
- }
- Tree.Nodes.Add(ClassNode);
- Tree.EndUpdate();
- }
- }
- catch(Exception Exp)
- {
- Tree.EndUpdate();
- throw Exp;
- }
- }
- internal static string GetPyDecription(TreeNode Node)
- {
- try
- {
- return GetDecription(Node, PyAPI);
- }
- catch(Exception Exp)
- {
- IronException.Report("Error reading Python API Doc information", Exp.Message, Exp.StackTrace);
- return "";
- }
- }
- internal static string GetRbDecription(TreeNode Node)
- {
- try
- {
- return GetDecription(Node, RbAPI);
- }
- catch(Exception Exp)
- {
- IronException.Report("Error reading Ruby API Doc information", Exp.Message, Exp.StackTrace);
- return "";
- }
- }
- static string GetDecription(TreeNode Node, XmlDocument API)
- {
- string Desc="";
- if (Node.Level == 0)
- {
- Desc = GetClassDescription(Node, API);
- }
- else if (Node.Level == 1)
- {
- if(Node.Name.Equals("Constructors"))
- {
- Desc = GetRichText(API.SelectNodes("api")[0].SelectNodes("constructorsdesc")[0].InnerText);
- }
- else if (Node.Name.Equals("Properties"))
- {
- Desc = GetRichText(API.SelectNodes("api")[0].SelectNodes("propertiesdesc")[0].InnerText);
- }
- else if (Node.Name.Equals("Methods"))
- {
- Desc = GetRichText(API.SelectNodes("api")[0].SelectNodes("methodsdesc")[0].InnerText);
- }
- else if (Node.Name.Equals("Members"))
- {
- Desc = GetRichText(API.SelectNodes("api")[0].SelectNodes("membersdesc")[0].InnerText);
- }
- }
- else if (Node.Level == 2)
- {
- XmlNode ClassNode = API.SelectNodes("api")[0].SelectNodes("class")[Node.Parent.Parent.Index];
- string ClassSection = Node.Name.Substring(0, Node.Name.IndexOf("-"));
- XmlNode ObjectNode = ClassNode.SelectNodes(ClassSection)[0].ChildNodes[Node.Index];
- if (ClassSection.Equals("constructors"))
- {
- return GetRichText(GetConstructorDescription(ObjectNode));
- }
- else if (ClassSection.Equals("properties"))
- {
- return GetRichText(GetPropertyDescription(ObjectNode));
- }
- else if (ClassSection.Equals("methods"))
- {
- return GetRichText(GetMethodDescription(ObjectNode));
- }
- else if (ClassSection.Equals("members"))
- {
- GetMemberDescription(ObjectNode);
- }
- Desc = ObjectNode.SelectNodes("description")[0].InnerText;
-
- }
- return Desc;
- }
-
- static string GetClassDescription(TreeNode Node, XmlDocument API)
- {
- StringBuilder Desc = new StringBuilder();
- Desc.Append(API.SelectNodes("api")[0].SelectNodes("class")[Node.Index].SelectNodes("description")[0].InnerText.Replace("\n", @" \par"));
- Desc.Append(@" \par \b Type: \b0 ");
- Desc.Append(API.SelectNodes("api")[0].SelectNodes("class")[Node.Index].SelectNodes("type")[0].InnerText);
- return GetRichText(Desc.ToString());
- }
- static string GetConstructorDescription(XmlNode Base)
- {
- StringBuilder Desc = new StringBuilder();
- Desc.Append(Base.SelectNodes("description")[0].InnerText.Replace("[i[br]]", @" \par "));
- Desc.Append(@" \par");
- Desc.Append(@" \par");
- Desc.Append(@" \cf1 \b ");
- Desc.Append(Base.SelectNodes("name")[0].InnerText);
- Desc.Append(@" \b0 \cf0 ");
- Desc.Append(@" \par");
- Desc.Append(@" \par");
- Desc.Append(@" \b Input Parameters: \b0 ");
- Desc.Append(GetParametersDescription(Base));
- return Desc.ToString();
- }
- static string GetPropertyDescription(XmlNode Base)
- {
- StringBuilder Desc = new StringBuilder();
- Desc.Append(Base.SelectNodes("description")[0].InnerText.Replace("[i[br]]", @" \par "));
- Desc.Append(@" \par");
- Desc.Append(@" \par");
- Desc.Append(@" \cf1 \b ");
- Desc.Append(Base.SelectNodes("name")[0].InnerText);
- Desc.Append(@" \b0 \cf0 ");
- Desc.Append(@" \par");
- Desc.Append(@" \par");
- Desc.Append(@" \b DataType: \b0 ");
- Desc.Append(Base.SelectNodes("datatype")[0].InnerText);
- Desc.Append(@" \par ");
- Desc.Append(@" \par");
- Desc.Append(@" \b Type: \b0 ");
- Desc.Append(Base.SelectNodes("type")[0].InnerText);
- Desc.Append(@" \par ");
- Desc.Append(@" \par");
- return Desc.ToString();
- }
- static string GetMethodDescription(XmlNode Base)
- {
- StringBuilder Desc = new StringBuilder();
- Desc.Append(Base.SelectNodes("description")[0].InnerText.Replace("[i[br]]", @" \par "));
- Desc.Append(@" \par");
- Desc.Append(@" \par");
- Desc.Append(@" \cf1 \b ");
- Desc.Append(Base.SelectNodes("name")[0].InnerText);
- Desc.Append(@" \b0 \cf0 ");
- Desc.Append(@" \par");
- Desc.Append(@" \par");
- Desc.Append(@" \b Type: \b0 ");
- Desc.Append(Base.SelectNodes("type")[0].InnerText);
- Desc.Append(@" \par ");
- Desc.Append(@" \par");
- Desc.Append(@" \b Input Parameters: \b0 ");
- Desc.Append(GetParametersDescription(Base));
- Desc.Append(@" \b Return Type: \b0 ");
- Desc.Append(Base.SelectNodes("return")[0].InnerText);
- Desc.Append(@" \par ");
- Desc.Append(@" \par");
- return Desc.ToString();
- }
-
- static void GetMemberDescription(XmlNode Base)
- {
-
- }
-
- static string GetParametersDescription(XmlNode Base)
- {
- XmlNodeList ParameterList = Base.SelectNodes("parameters")[0].SelectNodes("parameter");
- if (ParameterList.Count == 0)
- {
- return @" None \par \par";
- }
- StringBuilder Desc = new StringBuilder();
- Desc.Append(@" \par");
- Desc.Append(@" \par");
- foreach (XmlNode Parameter in ParameterList)
- {
- Desc.Append(@"{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent0{\pntxtb\'B7}}\fi-360\li720\sl240\slmult1");
- Desc.Append(@"\cf1 \b ");
- Desc.Append(Parameter.SelectNodes("name")[0].InnerText);
- Desc.Append(@" \b0 \cf0");
- Desc.Append(@"\par");
- Desc.Append(@"\pard");
- Desc.Append(@" \tab \b DataType: \b0 ");
- Desc.Append(Parameter.SelectNodes("datatype")[0].InnerText);
- Desc.Append(@" \par ");
- Desc.Append(@" \tab ");
- Desc.Append(Parameter.SelectNodes("description")[0].InnerText.Replace("[i[br]]", @" \par \tab "));
- Desc.Append(@" \par ");
- Desc.Append(@" \pard ");
- Desc.Append(@" \par");
- }
- return Desc.ToString();
- }
- static string GetRichText(string PoorText)
- {
- StringBuilder Desc = new StringBuilder(@"{\rtf1{\colortbl ;\red0\green77\blue187;}");
- Desc.Append(PoorText.Replace("[i[br]]", @" \par "));
- Desc.Append(@"\par}");
- return Desc.ToString();
- }
- }
-}
+//
+// Copyright 2011-2013 Lavakumar Kuppan
+//
+// This file is part of IronWASP
+//
+// IronWASP is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// IronWASP is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with IronWASP. If not, see http://www.gnu.org/licenses/.
+//
+
+using System;
+using System.Xml;
+using System.Drawing;
+using System.Windows.Forms;
+using System.Collections.Generic;
+using System.Text;
+
+namespace IronWASP
+{
+ internal class APIDoc
+ {
+ internal static XmlDocument PyAPI = new XmlDocument();
+ internal static XmlDocument RbAPI = new XmlDocument();
+
+ internal static void Initialise()
+ {
+ try
+ {
+ PyAPI.Load(string.Format("{0}//APIdoc_Py.xml", Config.Path));
+ }
+ catch(Exception Exp)
+ {
+ IronException.Report("Unable to load Python API Doc", Exp.Message, Exp.StackTrace);
+ }
+ try
+ {
+ RbAPI.Load(string.Format("{0}//APIdoc_Rb.xml", Config.Path));
+ }
+ catch (Exception Exp)
+ {
+ IronException.Report("Unable to load Ruby API Doc", Exp.Message, Exp.StackTrace);
+ }
+ try
+ {
+ BuildPyAPITrees();
+ }
+ catch (Exception Exp)
+ {
+ IronException.Report("Unable to build Python API Doc tree", Exp.Message, Exp.StackTrace);
+ }
+ try
+ {
+ BuildRbAPITrees();
+ }
+ catch (Exception Exp)
+ {
+ IronException.Report("Unable to build Python API Doc tree", Exp.Message, Exp.StackTrace);
+ }
+ }
+
+ internal static void BuildPyAPITrees()
+ {
+ BuildAPITree(IronUI.UI.ScriptingShellPythonAPITree, PyAPI);
+ BuildAPITree(IronUI.UI.PluginEditorPythonAPITree, PyAPI);
+ }
+
+ internal static void BuildPluginEditorTrees()
+ {
+ BuildAPITree(IronUI.PE.PluginEditorPythonAPITree, PyAPI);
+ BuildAPITree(IronUI.PE.PluginEditorRubyAPITree, RbAPI);
+ }
+
+ internal static void BuildRbAPITrees()
+ {
+ BuildAPITree(IronUI.UI.ScriptingShellRubyAPITree, RbAPI);
+ BuildAPITree(IronUI.UI.PluginEditorRubyAPITree, RbAPI);
+ }
+
+ static void BuildAPITree(TreeView Tree, XmlDocument API)
+ {
+ try
+ {
+ Tree.BeginUpdate();
+ Tree.Nodes.Clear();
+ //Build class
+ foreach (XmlNode Class in API.SelectNodes("api")[0].SelectNodes("class"))
+ {
+ TreeNode ClassNode = new TreeNode();
+ string ClassName = Class.SelectNodes("name")[0].InnerText;
+ ClassNode.Name = ClassName;
+ ClassNode.Text = ClassName;
+ ClassNode.ForeColor = Color.Green;
+ string ClassType = Class.SelectNodes("type")[0].InnerText;
+ ClassNode.ToolTipText = Class.SelectNodes("description")[0].InnerText;
+
+ TreeNode ConstructorsNode = new TreeNode();
+ ConstructorsNode.Name = "Constructors";
+ ConstructorsNode.Text = "Constructors";
+ ConstructorsNode.ForeColor = Color.Brown;
+
+ TreeNode PropertiesNode = new TreeNode();
+ PropertiesNode.Name = "Properties";
+ PropertiesNode.Text = "Properties";
+ PropertiesNode.ForeColor = Color.DarkBlue;
+
+ TreeNode MethodsNode = new TreeNode();
+ MethodsNode.Name = "Methods";
+ MethodsNode.Text = "Methods";
+ MethodsNode.ForeColor = Color.IndianRed;
+
+ TreeNode MembersNode = new TreeNode();
+ MembersNode.Name = "Members";
+ MembersNode.Text = "Members";
+
+ if (ClassType.Equals("Non-Static"))
+ {
+ ClassNode.Nodes.Add(ConstructorsNode);
+ }
+ if (ClassType.Equals("Non-Static") || ClassType.Equals("Static"))
+ {
+ ClassNode.Nodes.Add(PropertiesNode);
+ ClassNode.Nodes.Add(MethodsNode);
+ }
+ if (ClassType.Equals("Enum"))
+ {
+ ClassNode.Nodes.Add(MembersNode);
+ }
+ //Build constructors
+ try
+ {
+ foreach (XmlNode Constructor in Class.SelectNodes("constructors")[0].SelectNodes("constructor"))
+ {
+ TreeNode ConstructorNode = new TreeNode();
+ string ConstructorName = Constructor.SelectNodes("name")[0].InnerText;
+ ConstructorNode.Name = "constructors-" + ConstructorName;
+ ConstructorNode.Text = ConstructorName;
+ ConstructorNode.ForeColor = Color.Brown;
+ ConstructorNode.ToolTipText = Constructor.SelectNodes("description")[0].InnerText;
+ ConstructorsNode.Nodes.Add(ConstructorNode);
+ }
+ }
+ catch
+ {
+
+ }
+ //Build properties
+ try
+ {
+ foreach (XmlNode Property in Class.SelectNodes("properties")[0].SelectNodes("property"))
+ {
+ TreeNode PropertyNode = new TreeNode();
+ string PropertyName = Property.SelectNodes("name")[0].InnerText + " : " + Property.SelectNodes("datatype")[0].InnerText;
+ PropertyNode.Name = "properties-" + PropertyName;
+ PropertyNode.Text = PropertyName;
+ PropertyNode.ForeColor = Color.DarkBlue;
+ PropertyNode.ToolTipText = Property.SelectNodes("description")[0].InnerText;
+ PropertiesNode.Nodes.Add(PropertyNode);
+ }
+ }
+ catch
+ {
+
+ }
+ //Build methods
+ try
+ {
+ foreach (XmlNode Method in Class.SelectNodes("methods")[0].SelectNodes("method"))
+ {
+ TreeNode MethodNode = new TreeNode();
+ string MethodName = Method.SelectNodes("name")[0].InnerText + " : " + Method.SelectNodes("return")[0].InnerText;
+ MethodNode.Name = "methods-" + MethodName;
+ MethodNode.Text = MethodName;
+ MethodNode.ForeColor = Color.IndianRed;
+ MethodNode.ToolTipText = Method.SelectNodes("description")[0].InnerText;
+ MethodsNode.Nodes.Add(MethodNode);
+ }
+ }
+ catch
+ {
+
+ }
+ //Build members
+ try
+ {
+ foreach (XmlNode Member in Class.SelectNodes("members")[0].SelectNodes("member"))
+ {
+ TreeNode MemberNode = new TreeNode();
+ string MemberName = Member.SelectNodes("name")[0].InnerText;
+ MemberNode.Name = "members-" + MemberName;
+ MemberNode.Text = MemberName;
+ MemberNode.ForeColor = Color.IndianRed;
+ MemberNode.ToolTipText = Member.SelectNodes("description")[0].InnerText;
+ MembersNode.Nodes.Add(MemberNode);
+ }
+ }
+ catch
+ {
+
+ }
+ Tree.Nodes.Add(ClassNode);
+ Tree.EndUpdate();
+ }
+ }
+ catch(Exception Exp)
+ {
+ Tree.EndUpdate();
+ throw Exp;
+ }
+ }
+ internal static string GetPyDecription(TreeNode Node)
+ {
+ try
+ {
+ return GetDecription(Node, PyAPI);
+ }
+ catch(Exception Exp)
+ {
+ IronException.Report("Error reading Python API Doc information", Exp.Message, Exp.StackTrace);
+ return "";
+ }
+ }
+ internal static string GetRbDecription(TreeNode Node)
+ {
+ try
+ {
+ return GetDecription(Node, RbAPI);
+ }
+ catch(Exception Exp)
+ {
+ IronException.Report("Error reading Ruby API Doc information", Exp.Message, Exp.StackTrace);
+ return "";
+ }
+ }
+ static string GetDecription(TreeNode Node, XmlDocument API)
+ {
+ string Desc="";
+ if (Node.Level == 0)
+ {
+ Desc = GetClassDescription(Node, API);
+ }
+ else if (Node.Level == 1)
+ {
+ if(Node.Name.Equals("Constructors"))
+ {
+ Desc = GetRichText(API.SelectNodes("api")[0].SelectNodes("constructorsdesc")[0].InnerText);
+ }
+ else if (Node.Name.Equals("Properties"))
+ {
+ Desc = GetRichText(API.SelectNodes("api")[0].SelectNodes("propertiesdesc")[0].InnerText);
+ }
+ else if (Node.Name.Equals("Methods"))
+ {
+ Desc = GetRichText(API.SelectNodes("api")[0].SelectNodes("methodsdesc")[0].InnerText);
+ }
+ else if (Node.Name.Equals("Members"))
+ {
+ Desc = GetRichText(API.SelectNodes("api")[0].SelectNodes("membersdesc")[0].InnerText);
+ }
+ }
+ else if (Node.Level == 2)
+ {
+ XmlNode ClassNode = API.SelectNodes("api")[0].SelectNodes("class")[Node.Parent.Parent.Index];
+ string ClassSection = Node.Name.Substring(0, Node.Name.IndexOf("-"));
+ XmlNode ObjectNode = ClassNode.SelectNodes(ClassSection)[0].ChildNodes[Node.Index];
+ if (ClassSection.Equals("constructors"))
+ {
+ return GetRichText(GetConstructorDescription(ObjectNode));
+ }
+ else if (ClassSection.Equals("properties"))
+ {
+ return GetRichText(GetPropertyDescription(ObjectNode));
+ }
+ else if (ClassSection.Equals("methods"))
+ {
+ return GetRichText(GetMethodDescription(ObjectNode));
+ }
+ else if (ClassSection.Equals("members"))
+ {
+ GetMemberDescription(ObjectNode);
+ }
+ Desc = ObjectNode.SelectNodes("description")[0].InnerText;
+
+ }
+ return Desc;
+ }
+
+ static string GetClassDescription(TreeNode Node, XmlDocument API)
+ {
+ StringBuilder Desc = new StringBuilder();
+ Desc.Append(API.SelectNodes("api")[0].SelectNodes("class")[Node.Index].SelectNodes("description")[0].InnerText.Replace("\n", @" \par"));
+ Desc.Append(@" \par \b Type: \b0 ");
+ Desc.Append(API.SelectNodes("api")[0].SelectNodes("class")[Node.Index].SelectNodes("type")[0].InnerText);
+ return GetRichText(Desc.ToString());
+ }
+ static string GetConstructorDescription(XmlNode Base)
+ {
+ StringBuilder Desc = new StringBuilder();
+ Desc.Append(Base.SelectNodes("description")[0].InnerText.Replace("[i[br]]", @" \par "));
+ Desc.Append(@" \par");
+ Desc.Append(@" \par");
+ Desc.Append(@" \cf1 \b ");
+ Desc.Append(Base.SelectNodes("name")[0].InnerText);
+ Desc.Append(@" \b0 \cf0 ");
+ Desc.Append(@" \par");
+ Desc.Append(@" \par");
+ Desc.Append(@" \b Input Parameters: \b0 ");
+ Desc.Append(GetParametersDescription(Base));
+ return Desc.ToString();
+ }
+ static string GetPropertyDescription(XmlNode Base)
+ {
+ StringBuilder Desc = new StringBuilder();
+ Desc.Append(Base.SelectNodes("description")[0].InnerText.Replace("[i[br]]", @" \par "));
+ Desc.Append(@" \par");
+ Desc.Append(@" \par");
+ Desc.Append(@" \cf1 \b ");
+ Desc.Append(Base.SelectNodes("name")[0].InnerText);
+ Desc.Append(@" \b0 \cf0 ");
+ Desc.Append(@" \par");
+ Desc.Append(@" \par");
+ Desc.Append(@" \b DataType: \b0 ");
+ Desc.Append(Base.SelectNodes("datatype")[0].InnerText);
+ Desc.Append(@" \par ");
+ Desc.Append(@" \par");
+ Desc.Append(@" \b Type: \b0 ");
+ Desc.Append(Base.SelectNodes("type")[0].InnerText);
+ Desc.Append(@" \par ");
+ Desc.Append(@" \par");
+ return Desc.ToString();
+ }
+ static string GetMethodDescription(XmlNode Base)
+ {
+ StringBuilder Desc = new StringBuilder();
+ Desc.Append(Base.SelectNodes("description")[0].InnerText.Replace("[i[br]]", @" \par "));
+ Desc.Append(@" \par");
+ Desc.Append(@" \par");
+ Desc.Append(@" \cf1 \b ");
+ Desc.Append(Base.SelectNodes("name")[0].InnerText);
+ Desc.Append(@" \b0 \cf0 ");
+ Desc.Append(@" \par");
+ Desc.Append(@" \par");
+ Desc.Append(@" \b Type: \b0 ");
+ Desc.Append(Base.SelectNodes("type")[0].InnerText);
+ Desc.Append(@" \par ");
+ Desc.Append(@" \par");
+ Desc.Append(@" \b Input Parameters: \b0 ");
+ Desc.Append(GetParametersDescription(Base));
+ Desc.Append(@" \b Return Type: \b0 ");
+ Desc.Append(Base.SelectNodes("return")[0].InnerText);
+ Desc.Append(@" \par ");
+ Desc.Append(@" \par");
+ return Desc.ToString();
+ }
+
+ static void GetMemberDescription(XmlNode Base)
+ {
+
+ }
+
+ static string GetParametersDescription(XmlNode Base)
+ {
+ XmlNodeList ParameterList = Base.SelectNodes("parameters")[0].SelectNodes("parameter");
+ if (ParameterList.Count == 0)
+ {
+ return @" None \par \par";
+ }
+ StringBuilder Desc = new StringBuilder();
+ Desc.Append(@" \par");
+ Desc.Append(@" \par");
+ foreach (XmlNode Parameter in ParameterList)
+ {
+ Desc.Append(@"{\pntext\f1\'B7\tab}{\*\pn\pnlvlblt\pnf1\pnindent0{\pntxtb\'B7}}\fi-360\li720\sl240\slmult1");
+ Desc.Append(@"\cf1 \b ");
+ Desc.Append(Parameter.SelectNodes("name")[0].InnerText);
+ Desc.Append(@" \b0 \cf0");
+ Desc.Append(@"\par");
+ Desc.Append(@"\pard");
+ Desc.Append(@" \tab \b DataType: \b0 ");
+ Desc.Append(Parameter.SelectNodes("datatype")[0].InnerText);
+ Desc.Append(@" \par ");
+ Desc.Append(@" \tab ");
+ Desc.Append(Parameter.SelectNodes("description")[0].InnerText.Replace("[i[br]]", @" \par \tab "));
+ Desc.Append(@" \par ");
+ Desc.Append(@" \pard ");
+ Desc.Append(@" \par");
+ }
+ return Desc.ToString();
+ }
+ static string GetRichText(string PoorText)
+ {
+ StringBuilder Desc = new StringBuilder(@"{\rtf1{\colortbl ;\red0\green77\blue187;}");
+ Desc.Append(PoorText.Replace("[i[br]]", @" \par "));
+ Desc.Append(@"\par}");
+ return Desc.ToString();
+ }
+ }
+}
diff --git a/IronWASP/AboutForm.Designer.cs b/Iron/AboutForm.Designer.cs
similarity index 97%
rename from IronWASP/AboutForm.Designer.cs
rename to Iron/AboutForm.Designer.cs
index 6a02226..68a8592 100644
--- a/IronWASP/AboutForm.Designer.cs
+++ b/Iron/AboutForm.Designer.cs
@@ -1,399 +1,399 @@
-//
-// Copyright 2011-2013 Lavakumar Kuppan
-//
-// This file is part of IronWASP
-//
-// IronWASP is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 3 of the License.
-//
-// IronWASP is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with IronWASP. If not, see http://www.gnu.org/licenses/.
-//
-
-namespace IronWASP
-{
- partial class AboutForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm));
- this.AboutLogoPB = new System.Windows.Forms.PictureBox();
- this.textBox1 = new System.Windows.Forms.TextBox();
- this.AboutFormCopyrightTB = new System.Windows.Forms.TextBox();
- this.AboutFormVersionTB = new System.Windows.Forms.TextBox();
- this.panel2 = new System.Windows.Forms.Panel();
- this.textBox17 = new System.Windows.Forms.TextBox();
- this.textBox15 = new System.Windows.Forms.TextBox();
- this.textBox16 = new System.Windows.Forms.TextBox();
- this.textBox13 = new System.Windows.Forms.TextBox();
- this.textBox14 = new System.Windows.Forms.TextBox();
- this.textBox3 = new System.Windows.Forms.TextBox();
- this.textBox12 = new System.Windows.Forms.TextBox();
- this.textBox2 = new System.Windows.Forms.TextBox();
- this.textBox11 = new System.Windows.Forms.TextBox();
- this.textBox10 = new System.Windows.Forms.TextBox();
- this.textBox9 = new System.Windows.Forms.TextBox();
- this.textBox8 = new System.Windows.Forms.TextBox();
- this.textBox7 = new System.Windows.Forms.TextBox();
- this.textBox6 = new System.Windows.Forms.TextBox();
- this.textBox5 = new System.Windows.Forms.TextBox();
- this.textBox4 = new System.Windows.Forms.TextBox();
- ((System.ComponentModel.ISupportInitialize)(this.AboutLogoPB)).BeginInit();
- this.panel2.SuspendLayout();
- this.SuspendLayout();
- //
- // AboutLogoPB
- //
- this.AboutLogoPB.Image = ((System.Drawing.Image)(resources.GetObject("AboutLogoPB.Image")));
- this.AboutLogoPB.InitialImage = ((System.Drawing.Image)(resources.GetObject("AboutLogoPB.InitialImage")));
- this.AboutLogoPB.Location = new System.Drawing.Point(4, 6);
- this.AboutLogoPB.Name = "AboutLogoPB";
- this.AboutLogoPB.Size = new System.Drawing.Size(215, 39);
- this.AboutLogoPB.TabIndex = 0;
- this.AboutLogoPB.TabStop = false;
- //
- // textBox1
- //
- this.textBox1.BackColor = System.Drawing.Color.Cornsilk;
- this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox1.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox1.Location = new System.Drawing.Point(5, 4);
- this.textBox1.Multiline = true;
- this.textBox1.Name = "textBox1";
- this.textBox1.ReadOnly = true;
- this.textBox1.Size = new System.Drawing.Size(473, 40);
- this.textBox1.TabIndex = 1;
- this.textBox1.Text = "IronWASP is an Open Source and Open Architecure Project designed for Advanced Web" +
- " Security Testing";
- //
- // AboutFormCopyrightTB
- //
- this.AboutFormCopyrightTB.BackColor = System.Drawing.SystemColors.Window;
- this.AboutFormCopyrightTB.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.AboutFormCopyrightTB.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.AboutFormCopyrightTB.Location = new System.Drawing.Point(231, 25);
- this.AboutFormCopyrightTB.Multiline = true;
- this.AboutFormCopyrightTB.Name = "AboutFormCopyrightTB";
- this.AboutFormCopyrightTB.ReadOnly = true;
- this.AboutFormCopyrightTB.Size = new System.Drawing.Size(244, 21);
- this.AboutFormCopyrightTB.TabIndex = 2;
- this.AboutFormCopyrightTB.Text = "Copyright © 2013 Lavakumar Kuppan";
- //
- // AboutFormVersionTB
- //
- this.AboutFormVersionTB.BackColor = System.Drawing.SystemColors.Window;
- this.AboutFormVersionTB.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.AboutFormVersionTB.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.AboutFormVersionTB.Location = new System.Drawing.Point(263, 6);
- this.AboutFormVersionTB.Multiline = true;
- this.AboutFormVersionTB.Name = "AboutFormVersionTB";
- this.AboutFormVersionTB.ReadOnly = true;
- this.AboutFormVersionTB.Size = new System.Drawing.Size(166, 23);
- this.AboutFormVersionTB.TabIndex = 3;
- this.AboutFormVersionTB.Text = "Installed Version: 0.9.7.1";
- //
- // panel2
- //
- this.panel2.BackColor = System.Drawing.Color.Cornsilk;
- this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.panel2.Controls.Add(this.textBox17);
- this.panel2.Controls.Add(this.textBox15);
- this.panel2.Controls.Add(this.textBox16);
- this.panel2.Controls.Add(this.textBox13);
- this.panel2.Controls.Add(this.textBox14);
- this.panel2.Controls.Add(this.textBox3);
- this.panel2.Controls.Add(this.textBox12);
- this.panel2.Controls.Add(this.textBox2);
- this.panel2.Controls.Add(this.textBox11);
- this.panel2.Controls.Add(this.textBox10);
- this.panel2.Controls.Add(this.textBox9);
- this.panel2.Controls.Add(this.textBox8);
- this.panel2.Controls.Add(this.textBox7);
- this.panel2.Controls.Add(this.textBox6);
- this.panel2.Controls.Add(this.textBox5);
- this.panel2.Controls.Add(this.textBox4);
- this.panel2.Controls.Add(this.textBox1);
- this.panel2.Location = new System.Drawing.Point(3, 54);
- this.panel2.Name = "panel2";
- this.panel2.Size = new System.Drawing.Size(488, 265);
- this.panel2.TabIndex = 4;
- //
- // textBox17
- //
- this.textBox17.BackColor = System.Drawing.Color.Cornsilk;
- this.textBox17.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox17.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox17.ForeColor = System.Drawing.SystemColors.MenuHighlight;
- this.textBox17.Location = new System.Drawing.Point(255, 90);
- this.textBox17.Name = "textBox17";
- this.textBox17.ReadOnly = true;
- this.textBox17.Size = new System.Drawing.Size(96, 18);
- this.textBox17.TabIndex = 19;
- this.textBox17.Text = "@lavakumark";
- //
- // textBox15
- //
- this.textBox15.BackColor = System.Drawing.Color.Cornsilk;
- this.textBox15.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox15.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox15.ForeColor = System.Drawing.SystemColors.MenuHighlight;
- this.textBox15.Location = new System.Drawing.Point(109, 90);
- this.textBox15.Name = "textBox15";
- this.textBox15.ReadOnly = true;
- this.textBox15.Size = new System.Drawing.Size(120, 18);
- this.textBox15.TabIndex = 18;
- this.textBox15.Text = "lava@ironwasp.org";
- //
- // textBox16
- //
- this.textBox16.BackColor = System.Drawing.Color.Cornsilk;
- this.textBox16.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox16.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox16.Location = new System.Drawing.Point(7, 90);
- this.textBox16.Name = "textBox16";
- this.textBox16.ReadOnly = true;
- this.textBox16.Size = new System.Drawing.Size(117, 18);
- this.textBox16.TabIndex = 17;
- this.textBox16.Text = "Contact Author:";
- //
- // textBox13
- //
- this.textBox13.BackColor = System.Drawing.Color.Cornsilk;
- this.textBox13.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox13.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox13.ForeColor = System.Drawing.SystemColors.MenuHighlight;
- this.textBox13.Location = new System.Drawing.Point(109, 67);
- this.textBox13.Name = "textBox13";
- this.textBox13.ReadOnly = true;
- this.textBox13.Size = new System.Drawing.Size(255, 18);
- this.textBox13.TabIndex = 16;
- this.textBox13.Text = "http://groups.google.com/group/ironwasp";
- //
- // textBox14
- //
- this.textBox14.BackColor = System.Drawing.Color.Cornsilk;
- this.textBox14.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox14.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox14.Location = new System.Drawing.Point(8, 67);
- this.textBox14.Name = "textBox14";
- this.textBox14.ReadOnly = true;
- this.textBox14.Size = new System.Drawing.Size(101, 18);
- this.textBox14.TabIndex = 15;
- this.textBox14.Text = "Mailing List:";
- //
- // textBox3
- //
- this.textBox3.BackColor = System.Drawing.Color.Cornsilk;
- this.textBox3.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox3.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox3.ForeColor = System.Drawing.SystemColors.MenuHighlight;
- this.textBox3.Location = new System.Drawing.Point(110, 46);
- this.textBox3.Name = "textBox3";
- this.textBox3.ReadOnly = true;
- this.textBox3.Size = new System.Drawing.Size(131, 18);
- this.textBox3.TabIndex = 14;
- this.textBox3.Text = "http://ironwasp.org";
- //
- // textBox12
- //
- this.textBox12.BackColor = System.Drawing.Color.Cornsilk;
- this.textBox12.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox12.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox12.Location = new System.Drawing.Point(8, 46);
- this.textBox12.Name = "textBox12";
- this.textBox12.ReadOnly = true;
- this.textBox12.Size = new System.Drawing.Size(101, 18);
- this.textBox12.TabIndex = 13;
- this.textBox12.Text = "Project Home:";
- //
- // textBox2
- //
- this.textBox2.BackColor = System.Drawing.Color.Cornsilk;
- this.textBox2.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox2.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox2.Location = new System.Drawing.Point(8, 132);
- this.textBox2.Name = "textBox2";
- this.textBox2.ReadOnly = true;
- this.textBox2.Size = new System.Drawing.Size(427, 18);
- this.textBox2.TabIndex = 12;
- this.textBox2.Text = "IronWASP is powered by Python and Ruby plugin repositories";
- //
- // textBox11
- //
- this.textBox11.BackColor = System.Drawing.Color.Cornsilk;
- this.textBox11.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox11.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox11.ForeColor = System.Drawing.SystemColors.MenuHighlight;
- this.textBox11.Location = new System.Drawing.Point(129, 215);
- this.textBox11.Name = "textBox11";
- this.textBox11.ReadOnly = true;
- this.textBox11.Size = new System.Drawing.Size(354, 18);
- this.textBox11.TabIndex = 11;
- this.textBox11.Text = "https://github.com/lavakumar/IronWASP-Python-Plugins";
- //
- // textBox10
- //
- this.textBox10.BackColor = System.Drawing.Color.Cornsilk;
- this.textBox10.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox10.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox10.ForeColor = System.Drawing.SystemColors.MenuHighlight;
- this.textBox10.Location = new System.Drawing.Point(116, 161);
- this.textBox10.Name = "textBox10";
- this.textBox10.ReadOnly = true;
- this.textBox10.Size = new System.Drawing.Size(340, 18);
- this.textBox10.TabIndex = 10;
- this.textBox10.Text = "https://github.com/msaindane/IronWASP-Ruby-Plugins";
- //
- // textBox9
- //
- this.textBox9.BackColor = System.Drawing.Color.Cornsilk;
- this.textBox9.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox9.Font = new System.Drawing.Font("Palatino Linotype", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox9.Location = new System.Drawing.Point(7, 213);
- this.textBox9.Name = "textBox9";
- this.textBox9.ReadOnly = true;
- this.textBox9.Size = new System.Drawing.Size(126, 21);
- this.textBox9.TabIndex = 9;
- this.textBox9.Text = "Python Plugins:";
- //
- // textBox8
- //
- this.textBox8.BackColor = System.Drawing.Color.Cornsilk;
- this.textBox8.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox8.Font = new System.Drawing.Font("Palatino Linotype", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox8.Location = new System.Drawing.Point(8, 159);
- this.textBox8.Name = "textBox8";
- this.textBox8.ReadOnly = true;
- this.textBox8.Size = new System.Drawing.Size(101, 21);
- this.textBox8.TabIndex = 8;
- this.textBox8.Text = "Ruby Plugins:";
- //
- // textBox7
- //
- this.textBox7.BackColor = System.Drawing.Color.Cornsilk;
- this.textBox7.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox7.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox7.Location = new System.Drawing.Point(7, 238);
- this.textBox7.Name = "textBox7";
- this.textBox7.ReadOnly = true;
- this.textBox7.Size = new System.Drawing.Size(212, 18);
- this.textBox7.TabIndex = 7;
- this.textBox7.Text = "Maintained by Lavakumar Kuppan";
- //
- // textBox6
- //
- this.textBox6.BackColor = System.Drawing.Color.Cornsilk;
- this.textBox6.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox6.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox6.Location = new System.Drawing.Point(8, 183);
- this.textBox6.Name = "textBox6";
- this.textBox6.ReadOnly = true;
- this.textBox6.Size = new System.Drawing.Size(194, 18);
- this.textBox6.TabIndex = 6;
- this.textBox6.Text = "Maintained by Manish Saindane";
- //
- // textBox5
- //
- this.textBox5.BackColor = System.Drawing.Color.Cornsilk;
- this.textBox5.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox5.Font = new System.Drawing.Font("Palatino Linotype", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox5.Location = new System.Drawing.Point(230, 237);
- this.textBox5.Name = "textBox5";
- this.textBox5.ReadOnly = true;
- this.textBox5.Size = new System.Drawing.Size(105, 21);
- this.textBox5.TabIndex = 5;
- this.textBox5.Text = "@lavakumark";
- //
- // textBox4
- //
- this.textBox4.BackColor = System.Drawing.Color.Cornsilk;
- this.textBox4.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox4.Font = new System.Drawing.Font("Palatino Linotype", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.textBox4.Location = new System.Drawing.Point(211, 181);
- this.textBox4.Name = "textBox4";
- this.textBox4.ReadOnly = true;
- this.textBox4.Size = new System.Drawing.Size(101, 21);
- this.textBox4.TabIndex = 4;
- this.textBox4.Text = "@msaindane";
- //
- // AboutForm
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.BackColor = System.Drawing.SystemColors.Window;
- this.ClientSize = new System.Drawing.Size(494, 322);
- this.Controls.Add(this.AboutFormVersionTB);
- this.Controls.Add(this.panel2);
- this.Controls.Add(this.AboutLogoPB);
- this.Controls.Add(this.AboutFormCopyrightTB);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.MaximizeBox = false;
- this.MinimizeBox = false;
- this.Name = "AboutForm";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "Iron Web application Advanced Security testing Platform";
- this.TopMost = true;
- ((System.ComponentModel.ISupportInitialize)(this.AboutLogoPB)).EndInit();
- this.panel2.ResumeLayout(false);
- this.panel2.PerformLayout();
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.TextBox textBox1;
- private System.Windows.Forms.Panel panel2;
- private System.Windows.Forms.TextBox textBox5;
- private System.Windows.Forms.TextBox textBox4;
- private System.Windows.Forms.TextBox textBox7;
- private System.Windows.Forms.TextBox textBox6;
- private System.Windows.Forms.TextBox textBox9;
- private System.Windows.Forms.TextBox textBox8;
- private System.Windows.Forms.TextBox textBox10;
- private System.Windows.Forms.TextBox textBox11;
- internal System.Windows.Forms.TextBox AboutFormVersionTB;
- internal System.Windows.Forms.TextBox AboutFormCopyrightTB;
- internal System.Windows.Forms.PictureBox AboutLogoPB;
- private System.Windows.Forms.TextBox textBox3;
- private System.Windows.Forms.TextBox textBox12;
- private System.Windows.Forms.TextBox textBox2;
- private System.Windows.Forms.TextBox textBox13;
- private System.Windows.Forms.TextBox textBox14;
- private System.Windows.Forms.TextBox textBox15;
- private System.Windows.Forms.TextBox textBox16;
- private System.Windows.Forms.TextBox textBox17;
- }
+//
+// Copyright 2011-2013 Lavakumar Kuppan
+//
+// This file is part of IronWASP
+//
+// IronWASP is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// IronWASP is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with IronWASP. If not, see http://www.gnu.org/licenses/.
+//
+
+namespace IronWASP
+{
+ partial class AboutForm
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm));
+ this.AboutLogoPB = new System.Windows.Forms.PictureBox();
+ this.textBox1 = new System.Windows.Forms.TextBox();
+ this.AboutFormCopyrightTB = new System.Windows.Forms.TextBox();
+ this.AboutFormVersionTB = new System.Windows.Forms.TextBox();
+ this.panel2 = new System.Windows.Forms.Panel();
+ this.textBox17 = new System.Windows.Forms.TextBox();
+ this.textBox15 = new System.Windows.Forms.TextBox();
+ this.textBox16 = new System.Windows.Forms.TextBox();
+ this.textBox13 = new System.Windows.Forms.TextBox();
+ this.textBox14 = new System.Windows.Forms.TextBox();
+ this.textBox3 = new System.Windows.Forms.TextBox();
+ this.textBox12 = new System.Windows.Forms.TextBox();
+ this.textBox2 = new System.Windows.Forms.TextBox();
+ this.textBox11 = new System.Windows.Forms.TextBox();
+ this.textBox10 = new System.Windows.Forms.TextBox();
+ this.textBox9 = new System.Windows.Forms.TextBox();
+ this.textBox8 = new System.Windows.Forms.TextBox();
+ this.textBox7 = new System.Windows.Forms.TextBox();
+ this.textBox6 = new System.Windows.Forms.TextBox();
+ this.textBox5 = new System.Windows.Forms.TextBox();
+ this.textBox4 = new System.Windows.Forms.TextBox();
+ ((System.ComponentModel.ISupportInitialize)(this.AboutLogoPB)).BeginInit();
+ this.panel2.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // AboutLogoPB
+ //
+ this.AboutLogoPB.Image = ((System.Drawing.Image)(resources.GetObject("AboutLogoPB.Image")));
+ this.AboutLogoPB.InitialImage = ((System.Drawing.Image)(resources.GetObject("AboutLogoPB.InitialImage")));
+ this.AboutLogoPB.Location = new System.Drawing.Point(4, 6);
+ this.AboutLogoPB.Name = "AboutLogoPB";
+ this.AboutLogoPB.Size = new System.Drawing.Size(215, 39);
+ this.AboutLogoPB.TabIndex = 0;
+ this.AboutLogoPB.TabStop = false;
+ //
+ // textBox1
+ //
+ this.textBox1.BackColor = System.Drawing.Color.Cornsilk;
+ this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox1.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox1.Location = new System.Drawing.Point(5, 4);
+ this.textBox1.Multiline = true;
+ this.textBox1.Name = "textBox1";
+ this.textBox1.ReadOnly = true;
+ this.textBox1.Size = new System.Drawing.Size(473, 40);
+ this.textBox1.TabIndex = 1;
+ this.textBox1.Text = "IronWASP is an Open Source and Open Architecure Project designed for Advanced Web" +
+ " Security Testing";
+ //
+ // AboutFormCopyrightTB
+ //
+ this.AboutFormCopyrightTB.BackColor = System.Drawing.SystemColors.Window;
+ this.AboutFormCopyrightTB.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.AboutFormCopyrightTB.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.AboutFormCopyrightTB.Location = new System.Drawing.Point(231, 25);
+ this.AboutFormCopyrightTB.Multiline = true;
+ this.AboutFormCopyrightTB.Name = "AboutFormCopyrightTB";
+ this.AboutFormCopyrightTB.ReadOnly = true;
+ this.AboutFormCopyrightTB.Size = new System.Drawing.Size(244, 21);
+ this.AboutFormCopyrightTB.TabIndex = 2;
+ this.AboutFormCopyrightTB.Text = "Copyright © 2015 Lavakumar Kuppan";
+ //
+ // AboutFormVersionTB
+ //
+ this.AboutFormVersionTB.BackColor = System.Drawing.SystemColors.Window;
+ this.AboutFormVersionTB.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.AboutFormVersionTB.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.AboutFormVersionTB.Location = new System.Drawing.Point(263, 6);
+ this.AboutFormVersionTB.Multiline = true;
+ this.AboutFormVersionTB.Name = "AboutFormVersionTB";
+ this.AboutFormVersionTB.ReadOnly = true;
+ this.AboutFormVersionTB.Size = new System.Drawing.Size(166, 23);
+ this.AboutFormVersionTB.TabIndex = 3;
+ this.AboutFormVersionTB.Text = "Installed Version: 0.9.8.6";
+ //
+ // panel2
+ //
+ this.panel2.BackColor = System.Drawing.Color.Cornsilk;
+ this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.panel2.Controls.Add(this.textBox17);
+ this.panel2.Controls.Add(this.textBox15);
+ this.panel2.Controls.Add(this.textBox16);
+ this.panel2.Controls.Add(this.textBox13);
+ this.panel2.Controls.Add(this.textBox14);
+ this.panel2.Controls.Add(this.textBox3);
+ this.panel2.Controls.Add(this.textBox12);
+ this.panel2.Controls.Add(this.textBox2);
+ this.panel2.Controls.Add(this.textBox11);
+ this.panel2.Controls.Add(this.textBox10);
+ this.panel2.Controls.Add(this.textBox9);
+ this.panel2.Controls.Add(this.textBox8);
+ this.panel2.Controls.Add(this.textBox7);
+ this.panel2.Controls.Add(this.textBox6);
+ this.panel2.Controls.Add(this.textBox5);
+ this.panel2.Controls.Add(this.textBox4);
+ this.panel2.Controls.Add(this.textBox1);
+ this.panel2.Location = new System.Drawing.Point(3, 54);
+ this.panel2.Name = "panel2";
+ this.panel2.Size = new System.Drawing.Size(488, 265);
+ this.panel2.TabIndex = 4;
+ //
+ // textBox17
+ //
+ this.textBox17.BackColor = System.Drawing.Color.Cornsilk;
+ this.textBox17.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox17.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox17.ForeColor = System.Drawing.SystemColors.MenuHighlight;
+ this.textBox17.Location = new System.Drawing.Point(255, 90);
+ this.textBox17.Name = "textBox17";
+ this.textBox17.ReadOnly = true;
+ this.textBox17.Size = new System.Drawing.Size(96, 18);
+ this.textBox17.TabIndex = 19;
+ this.textBox17.Text = "@lavakumark";
+ //
+ // textBox15
+ //
+ this.textBox15.BackColor = System.Drawing.Color.Cornsilk;
+ this.textBox15.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox15.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox15.ForeColor = System.Drawing.SystemColors.MenuHighlight;
+ this.textBox15.Location = new System.Drawing.Point(109, 90);
+ this.textBox15.Name = "textBox15";
+ this.textBox15.ReadOnly = true;
+ this.textBox15.Size = new System.Drawing.Size(120, 18);
+ this.textBox15.TabIndex = 18;
+ this.textBox15.Text = "lava@ironwasp.org";
+ //
+ // textBox16
+ //
+ this.textBox16.BackColor = System.Drawing.Color.Cornsilk;
+ this.textBox16.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox16.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox16.Location = new System.Drawing.Point(7, 90);
+ this.textBox16.Name = "textBox16";
+ this.textBox16.ReadOnly = true;
+ this.textBox16.Size = new System.Drawing.Size(117, 18);
+ this.textBox16.TabIndex = 17;
+ this.textBox16.Text = "Contact Author:";
+ //
+ // textBox13
+ //
+ this.textBox13.BackColor = System.Drawing.Color.Cornsilk;
+ this.textBox13.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox13.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox13.ForeColor = System.Drawing.SystemColors.MenuHighlight;
+ this.textBox13.Location = new System.Drawing.Point(109, 67);
+ this.textBox13.Name = "textBox13";
+ this.textBox13.ReadOnly = true;
+ this.textBox13.Size = new System.Drawing.Size(255, 18);
+ this.textBox13.TabIndex = 16;
+ this.textBox13.Text = "http://groups.google.com/group/ironwasp";
+ //
+ // textBox14
+ //
+ this.textBox14.BackColor = System.Drawing.Color.Cornsilk;
+ this.textBox14.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox14.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox14.Location = new System.Drawing.Point(8, 67);
+ this.textBox14.Name = "textBox14";
+ this.textBox14.ReadOnly = true;
+ this.textBox14.Size = new System.Drawing.Size(101, 18);
+ this.textBox14.TabIndex = 15;
+ this.textBox14.Text = "Mailing List:";
+ //
+ // textBox3
+ //
+ this.textBox3.BackColor = System.Drawing.Color.Cornsilk;
+ this.textBox3.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox3.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox3.ForeColor = System.Drawing.SystemColors.MenuHighlight;
+ this.textBox3.Location = new System.Drawing.Point(110, 46);
+ this.textBox3.Name = "textBox3";
+ this.textBox3.ReadOnly = true;
+ this.textBox3.Size = new System.Drawing.Size(131, 18);
+ this.textBox3.TabIndex = 14;
+ this.textBox3.Text = "http://ironwasp.org";
+ //
+ // textBox12
+ //
+ this.textBox12.BackColor = System.Drawing.Color.Cornsilk;
+ this.textBox12.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox12.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox12.Location = new System.Drawing.Point(8, 46);
+ this.textBox12.Name = "textBox12";
+ this.textBox12.ReadOnly = true;
+ this.textBox12.Size = new System.Drawing.Size(101, 18);
+ this.textBox12.TabIndex = 13;
+ this.textBox12.Text = "Project Home:";
+ //
+ // textBox2
+ //
+ this.textBox2.BackColor = System.Drawing.Color.Cornsilk;
+ this.textBox2.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox2.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox2.Location = new System.Drawing.Point(8, 132);
+ this.textBox2.Name = "textBox2";
+ this.textBox2.ReadOnly = true;
+ this.textBox2.Size = new System.Drawing.Size(427, 18);
+ this.textBox2.TabIndex = 12;
+ this.textBox2.Text = "IronWASP is powered by Python and Ruby plugin repositories";
+ //
+ // textBox11
+ //
+ this.textBox11.BackColor = System.Drawing.Color.Cornsilk;
+ this.textBox11.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox11.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox11.ForeColor = System.Drawing.SystemColors.MenuHighlight;
+ this.textBox11.Location = new System.Drawing.Point(129, 215);
+ this.textBox11.Name = "textBox11";
+ this.textBox11.ReadOnly = true;
+ this.textBox11.Size = new System.Drawing.Size(354, 18);
+ this.textBox11.TabIndex = 11;
+ this.textBox11.Text = "https://github.com/lavakumar/IronWASP-Python-Plugins";
+ //
+ // textBox10
+ //
+ this.textBox10.BackColor = System.Drawing.Color.Cornsilk;
+ this.textBox10.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox10.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox10.ForeColor = System.Drawing.SystemColors.MenuHighlight;
+ this.textBox10.Location = new System.Drawing.Point(116, 161);
+ this.textBox10.Name = "textBox10";
+ this.textBox10.ReadOnly = true;
+ this.textBox10.Size = new System.Drawing.Size(340, 18);
+ this.textBox10.TabIndex = 10;
+ this.textBox10.Text = "https://github.com/msaindane/IronWASP-Ruby-Plugins";
+ //
+ // textBox9
+ //
+ this.textBox9.BackColor = System.Drawing.Color.Cornsilk;
+ this.textBox9.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox9.Font = new System.Drawing.Font("Palatino Linotype", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox9.Location = new System.Drawing.Point(7, 213);
+ this.textBox9.Name = "textBox9";
+ this.textBox9.ReadOnly = true;
+ this.textBox9.Size = new System.Drawing.Size(126, 21);
+ this.textBox9.TabIndex = 9;
+ this.textBox9.Text = "Python Plugins:";
+ //
+ // textBox8
+ //
+ this.textBox8.BackColor = System.Drawing.Color.Cornsilk;
+ this.textBox8.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox8.Font = new System.Drawing.Font("Palatino Linotype", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox8.Location = new System.Drawing.Point(8, 159);
+ this.textBox8.Name = "textBox8";
+ this.textBox8.ReadOnly = true;
+ this.textBox8.Size = new System.Drawing.Size(101, 21);
+ this.textBox8.TabIndex = 8;
+ this.textBox8.Text = "Ruby Plugins:";
+ //
+ // textBox7
+ //
+ this.textBox7.BackColor = System.Drawing.Color.Cornsilk;
+ this.textBox7.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox7.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox7.Location = new System.Drawing.Point(7, 238);
+ this.textBox7.Name = "textBox7";
+ this.textBox7.ReadOnly = true;
+ this.textBox7.Size = new System.Drawing.Size(212, 18);
+ this.textBox7.TabIndex = 7;
+ this.textBox7.Text = "Maintained by Lavakumar Kuppan";
+ //
+ // textBox6
+ //
+ this.textBox6.BackColor = System.Drawing.Color.Cornsilk;
+ this.textBox6.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox6.Font = new System.Drawing.Font("Palatino Linotype", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox6.Location = new System.Drawing.Point(8, 183);
+ this.textBox6.Name = "textBox6";
+ this.textBox6.ReadOnly = true;
+ this.textBox6.Size = new System.Drawing.Size(194, 18);
+ this.textBox6.TabIndex = 6;
+ this.textBox6.Text = "Maintained by Manish Saindane";
+ //
+ // textBox5
+ //
+ this.textBox5.BackColor = System.Drawing.Color.Cornsilk;
+ this.textBox5.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox5.Font = new System.Drawing.Font("Palatino Linotype", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox5.Location = new System.Drawing.Point(230, 237);
+ this.textBox5.Name = "textBox5";
+ this.textBox5.ReadOnly = true;
+ this.textBox5.Size = new System.Drawing.Size(105, 21);
+ this.textBox5.TabIndex = 5;
+ this.textBox5.Text = "@lavakumark";
+ //
+ // textBox4
+ //
+ this.textBox4.BackColor = System.Drawing.Color.Cornsilk;
+ this.textBox4.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox4.Font = new System.Drawing.Font("Palatino Linotype", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.textBox4.Location = new System.Drawing.Point(211, 181);
+ this.textBox4.Name = "textBox4";
+ this.textBox4.ReadOnly = true;
+ this.textBox4.Size = new System.Drawing.Size(101, 21);
+ this.textBox4.TabIndex = 4;
+ this.textBox4.Text = "@msaindane";
+ //
+ // AboutForm
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.BackColor = System.Drawing.SystemColors.Window;
+ this.ClientSize = new System.Drawing.Size(494, 322);
+ this.Controls.Add(this.AboutFormVersionTB);
+ this.Controls.Add(this.panel2);
+ this.Controls.Add(this.AboutLogoPB);
+ this.Controls.Add(this.AboutFormCopyrightTB);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "AboutForm";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "Iron Web application Advanced Security testing Platform";
+ this.TopMost = true;
+ ((System.ComponentModel.ISupportInitialize)(this.AboutLogoPB)).EndInit();
+ this.panel2.ResumeLayout(false);
+ this.panel2.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TextBox textBox1;
+ private System.Windows.Forms.Panel panel2;
+ private System.Windows.Forms.TextBox textBox5;
+ private System.Windows.Forms.TextBox textBox4;
+ private System.Windows.Forms.TextBox textBox7;
+ private System.Windows.Forms.TextBox textBox6;
+ private System.Windows.Forms.TextBox textBox9;
+ private System.Windows.Forms.TextBox textBox8;
+ private System.Windows.Forms.TextBox textBox10;
+ private System.Windows.Forms.TextBox textBox11;
+ internal System.Windows.Forms.TextBox AboutFormVersionTB;
+ internal System.Windows.Forms.TextBox AboutFormCopyrightTB;
+ internal System.Windows.Forms.PictureBox AboutLogoPB;
+ private System.Windows.Forms.TextBox textBox3;
+ private System.Windows.Forms.TextBox textBox12;
+ private System.Windows.Forms.TextBox textBox2;
+ private System.Windows.Forms.TextBox textBox13;
+ private System.Windows.Forms.TextBox textBox14;
+ private System.Windows.Forms.TextBox textBox15;
+ private System.Windows.Forms.TextBox textBox16;
+ private System.Windows.Forms.TextBox textBox17;
+ }
}
\ No newline at end of file
diff --git a/IronWASP/AboutForm.cs b/Iron/AboutForm.cs
similarity index 94%
rename from IronWASP/AboutForm.cs
rename to Iron/AboutForm.cs
index 8b651f0..4cb76c3 100644
--- a/IronWASP/AboutForm.cs
+++ b/Iron/AboutForm.cs
@@ -1,18 +1,18 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-
-namespace IronWASP
-{
- public partial class AboutForm : Form
- {
- public AboutForm()
- {
- InitializeComponent();
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+
+namespace IronWASP
+{
+ public partial class AboutForm : Form
+ {
+ public AboutForm()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/Iron/AboutForm.resx b/Iron/AboutForm.resx
new file mode 100644
index 0000000..c0757f3
--- /dev/null
+++ b/Iron/AboutForm.resx
@@ -0,0 +1,2077 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcI
+ CQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwM
+ DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAoANwDASIAAhEBAxEB/8QA
+ HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh
+ MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW
+ V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG
+ x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF
+ BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV
+ YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE
+ hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq
+ 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD98L/VLbSLbzbq4htoQQN8rhFyegyap/8ACdaK3P8Aa+mYx1+1
+ J/jWlJAHGGAZfQjI/Kvl/wANeGLaT9oRNNaCA2qarKBHsGwKpZlGPQYH5V3YLCRr83M7cqueJm+Z1MG6
+ fJFS52o692fSD+NNHhjiZ9V01UnG6Mm5QCQZxkc8jPpSHxzog/5i+mc9P9KT/Gs74raNBqPw21qOWGF1
+ SzkkXKjhlUsCPQgjNePfsreF9L8T6lriajp1hqCxRQMgubdJQhJkzjcD6CihhIVKE6zbXLbT1JxmZ1aO
+ LpYVRT5769rHvWma7Z60H+x3dpd+URv8mVX2Z6ZweOlWtwxkEe1fN/7QPhW0+GPjyyuNBZtMe5hNwUgf
+ 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
+ nOCQORRRU88rLUcacU+ZJXL9FFFBof/Z
+
+
+
+
+ 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
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPU9GXT//Rl0+q0ZdPqtGX
+ T//Rl09SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGXTwPRl0/V0ZdP/9GX
+ T6rRl0+q0ZdP/9GXT9TRl08DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPXdGX
+ T//Rl0//0ZdPqtGXT6rRl0//0ZdP/9GXT1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TwXRl0/c0ZdP/9GXT//Rl0+q0ZdPqtGXT//Rl0//0ZdP3NGXTwUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA0ZdPZ9GXT//Rl0//0ZdP/9GXT6rRl0+q0ZdP/9GXT//Rl0//0ZdPZwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAANGXTwjRl0/j0ZdP/9GXT//Rl0//0ZdPqtGXT6rRl0//0ZdP/9GXT//Rl0/j0ZdPCAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA0ZdPPdGXT//Rl0//0ZdP/9GXT//Rl0+q0ZdPqtGXT//Rl0//0ZdP/9GX
+ T//Rl089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSxNNTEtR0ZdP0tGXT//Rl0//0ZdP/9GXT6rRl0+q0ZdP/9GX
+ T//Rl0//0ZdP0U1MS1JLS0sSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLhUtLS9PPlk9b0ZdP/9GXT//Rl0//0ZdPqtGX
+ T6rRl0//0ZdP/9GXT//Olk9bS0tL1UtLS4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSxNLS0vyS0tL/1FOS1HRl0/c0ZdP/9GX
+ T//Rl0+q0ZdPqtGXT//Rl0//0ZdP21BOS1VLS0v/S0tL8ktLSxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLhktLS/9LS0v/S0tLxdGX
+ T2bRl0//0ZdP/9GXT6rRl0+q0ZdP/9GXT//Rl09mS0tLyktLS/9LS0v/S0tLhgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSxRLS0vyS0tL/0tL
+ S/9LS0v/WVNLRtGXT+XRl0//0ZdPqtGXT6rRl0//0ZdP5FdSS0xLS0v/S0tL/0tLS/9LS0vyS0tLFAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLh0tL
+ S/9LS0v/S0tL/0tLS/9LS0u30ZdPXNGXT7HRl0920ZdPdtGXT7HRl09cS0tLv0tLS/9LS0v/S0tL/0tL
+ S/9LS0uHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ SxVLS0vzS0tL/0tLS/9LS0v/S0tL/0tLS9jczG4u3c1uZN3NbmTdzW5k3c1uZNbHbC9LS0vfS0tL/0tL
+ S/9LS0v/S0tL/0tLS/NLS0sUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLiUtLS/9LS0v/S0tL/0tLS/9LS0v/TExLXt3NbsrdzW7/3c1u/93Nbv/dzW7/3c1uy0xM
+ S2ZLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAEtLSxVLS0vzS0tL/0tLS/9LS0v/S0tL/0tLS9vWx2xN3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/08RsUUtLS+BLS0v/S0tL/0tLS/9LS0v/S0tL80tLSxUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLiktLS/9LS0v/S0tL/0tLS/9LS0v/S0tLYd3NbsfdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7KTExLZ0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLiQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSxZLS0v0S0tL/0tLS/9LS0v/S0tL/0tLS93UxWxK3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/Sw2tRS0tL4EtLS/9LS0v/S0tL/0tLS/9LS0v0S0tLFgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLi0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLY93N
+ bsPdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbspMTEtoS0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0uLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSxdLS0v0S0tL/0tLS/9LS0v/S0tL/0tL
+ S9/SxGtH3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/9LDa1FLS0vhS0tL/0tL
+ S/9LS0v/S0tL/0tLS/RLS0sWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLjEtLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLZt3Nbr/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uyUxM
+ S2lLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS4wAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSxdLS0v1S0tL/0tL
+ S/9LS0v/S0tL/0tLS+HQwmtE3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/0cJrUUtLS+JLS0v/S0tL/0tLS/9LS0v/S0tL9UtLSxcAAAAAAAAAAAAAAAAAAAAAS0tLjktL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLaN3NbrvdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7JTEtLaktLS/9LS0v/S0tL/0tLS/9LS0v/S0tLjQAAAAAAAAAAAAAAAEtL
+ SxhLS0v1S0tL/0tLS/9LS0v8S0tLtEtLS09RUEwD3c1uRt3NbpLdzW7d3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7g3c1ult3NbkuEfVkFS0tLT0tLS7RLS0v8S0tL/0tLS/9LS0v1S0tLGAAA
+ AAAAAAAAS0tLj0tLS/9LS0vgS0tLfUtLSxwAAAAAAAAAAAAAAAAAAAAAAAAAAN3NbgDdzW4q3c1udt3N
+ bsHdzW773c1u+93NbsLdzW533c1uLN3NbgAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSxxLS0t+S0tL4EtL
+ S/9LS0uOAAAAAEtLSxRLS0ujS0tLR0tLSwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAN3NbhLdzW4SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABLS0sCS0tLSEtLS6NLS0sTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////5////+f////D////gf///4H///8A////AP///g
+ B///4Af//8AD///AA///gAH//4AB//8AAP//AAD//gAAf/4AAH/8AAA//AAAP/gAAB/4AAAf8AAAD/AA
+ AA/gAAAH4AAAB8AAAAPAAAADgAAAAYPwD8EP/n/w/////ygAAAAwAAAAYAAAAAEAIAAAAAAAACQAACMu
+ AAAjLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAANGXTxDRl08QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA0ZdPE9GXT3DRl09w0ZdPEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPidGXT3/Rl09/0ZdPiAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08Z0ZdP9dGXT3/Rl09/0ZdP9dGX
+ TxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl0+T0ZdP/9GX
+ T3/Rl09/0ZdP/9GXT5IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ Tx/Rl0/40ZdP/9GXT3/Rl09/0ZdP/9GXT/jRl08fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAANGXT53Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0+cAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA0ZdPJtGXT/vRl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0/70ZdPJgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPp9GXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GX
+ T//Rl0//0ZdPpwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08v0ZdP/dGXT//Rl0//0ZdP/9GX
+ T3/Rl09/0ZdP/9GXT//Rl0//0ZdP/dGXTy4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl0+x0ZdP/9GX
+ T//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GXT7EAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TzfRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GXT/7Rl083AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA0phPANGXT7vRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0+705hQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA0ZdPQdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdPQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08A0ZdPxdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPxdGXTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08B0ZdP1NGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP09GXTwEAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwZLS0tR0ZdPXNGX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPW0tL
+ S1JLS0sGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ S2dLS0vgiG5NCdGXT93Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0/dgWpNCktLS+JLS0tnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLBktLS+FLS0v/S0tLXtGXT2jRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl09nS0tLYktLS/9LS0vhS0tLBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLaUtLS/9LS0v/S0tL1LuLTgnRl0/m0ZdP/9GXT//Rl0//0ZdP/9GX
+ T3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GXT+avhE4KS0tL2UtLS/9LS0v/S0tLaAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sHS0tL4ktLS/9LS0v/S0tL/0tLS0/Rl0900ZdP/9GX
+ T//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GXT3RLS0tWS0tL/0tLS/9LS0v/S0tL4UtL
+ SwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tqS0tL/0tLS/9LS0v/S0tL/0tL
+ S8fQl08N0ZdP7dGXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdP7cqTTw1LS0vOS0tL/0tL
+ S/9LS0v/S0tL/0tLS2kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwdLS0vjS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0tA0ZdPgdGXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdPgEtL
+ S0lLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+JLS0sHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ S2tLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0u40ZdPE9GXT/PRl0//0ZdP/9GXT3/Rl09/0ZdP/9GX
+ T//Rl0/z0ZdPE0tLS8NLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0tqAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLCEtLS+RLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v+S0tLMdGXT1vRl0+K0ZdPitGX
+ T0XRl09F0ZdPitGXT4rRl09bS0tLPUtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vjS0tLBwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLbEtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLY93N
+ bgzdzW4W3c1uFt3NbhbdzW4W3c1uFt3NbhbdzW4MS0tLcEtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sIS0tL5EtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0vkYF5QCd3NbtDdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7RWlhPDktLS+tLS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL5EtLSwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tuS0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0tt3c1uUN3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uUktL
+ S3lLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS20AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwlLS0vlS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+VXVk4J3c1uzd3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u0FhXTg5LS0vsS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+VLS0sIAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ S29LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS3DdzW5M3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NblJLS0t6S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLCUtLS+ZLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL51FQTArdzW7K3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbs9XVk4OS0tL7EtLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0vlS0tLCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLcEtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLct3N
+ bkndzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW5RS0tLektL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sJS0tL50tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0vpTU1MC93NbsbdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7PVlVOD0tLS+1LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL5ktLSwkAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0txS0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0t13c1uRd3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1uUEtLS3tLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwpLS0vnS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+pMTEsM3c1uwt3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uzlVUTQ9LS0vtS0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS+dLS0sKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ S3JLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS3jdzW5B3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NblBLS0t8S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0tyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLCktLS+hLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL7EtLSw3dzW6+3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bs5UU00QS0tL7ktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0voS0tLCgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLdEtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLet3N
+ bj3dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW5PS0tLfUtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLcwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sLS0tL6UtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0vtS0tLDt3NbrvdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7NU1JNEEtLS+5LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL6EtLSwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t1S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0t93c1uOd3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uT0tLS35LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS3QAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwtLS0vpS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v+S0tLwktLS15LS0sH3c1uIt3Nbn3dzW7I3c1u/d3Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/t3Nbs7dzW6D3c1uKktL
+ SwdLS0teS0tLwktLS/5LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+lLS0sLAAAAAAAAAAAAAAAAAAAAAEtL
+ S3ZLS0v/S0tL/0tLS/9LS0v/S0tL6ktLS4xLS0soAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3c1uF93N
+ bmDdzW6s3c1u8d3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u893Nbq/dzW5k3c1uGgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSyhLS0uMS0tL6ktLS/9LS0v/S0tL/0tLS/9LS0t1AAAAAAAA
+ AAAAAAAAS0tLDEtLS+pLS0v/S0tL/UtLS7pLS0tWS0tLBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA3c1uBt3NbkTdzW6P3c1u293Nbv/dzW7/3c1u3N3NbpHdzW5G3c1uBwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLB0tLS1ZLS0u7S0tL/UtL
+ S/9LS0vqS0tLDAAAAAAAAAAAS0tLd0tLS+VLS0uES0tLIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3c1uAN3NbijdzW4o3c1uAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLIktLS4RLS0vlS0tLdwAAAAAAAAAAS0tLOktLSwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sES0tLOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP//
+ /////wAA///+f///AAD///w///8AAP///D///wAA///4H///AAD///gf//8AAP//8A///wAA///wD///
+ AAD//+AH//8AAP//4Af//wAA///AA///AAD//8AD//8AAP//gAH//wAA//+AAf//AAD//wAA//8AAP//
+ AAD//wAA//4AAH//AAD//AAAP/8AAP/8AAA//wAA//gAAB//AAD/+AAAH/8AAP/wAAAP/wAA//AAAA//
+ AAD/4AAAB/8AAP/gAAAH/wAA/8AAAAP/AAD/wAAAA/8AAP+AAAAB/wAA/4AAAAH/AAD/AAAAAP8AAP8A
+ AAAA/wAA/gAAAAB/AAD+AAAAAH8AAPwAAAAAPwAA/AAAAAA/AAD4AAAAAB8AAPgAAAAAHwAA8AAAAAAP
+ AADwAAAAAA8AAOAAAAAABwAA4AAAAAAHAADAAAAAAAMAAMA/AAD8AwAAgP/gB/8BAACH//5//+EAAJ//
+ ////+QAA////////AAAoAAAAQAAAAIAAAAABACAAAAAAAABAAAAjLgAAIy4AAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPANGXTxzRl08c0ZdPAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ T0TRl09U0ZdPVNGXT0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAANGXTwHRl0/I0ZdPVNGXT1TRl0/I0ZdPAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl09P0ZdP/9GXT1TRl09U0ZdP/9GXT04AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08C0ZdP0dGXT//Rl09U0ZdPVNGX
+ T//Rl0/R0ZdPAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPWdGX
+ T//Rl0//0ZdPVNGXT1TRl0//0ZdP/9GXT1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA0ZdPBNGXT9nRl0//0ZdP/9GXT1TRl09U0ZdP/9GXT//Rl0/Z0ZdPBAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAANGXT2PRl0//0ZdP/9GXT//Rl09U0ZdPVNGXT//Rl0//0ZdP/9GX
+ T2IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGXTwfRl0/h0ZdP/9GXT//Rl0//0ZdPVNGX
+ T1TRl0//0ZdP/9GXT//Rl0/g0ZdPBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl09t0ZdP/9GX
+ T//Rl0//0ZdP/9GXT1TRl09U0ZdP/9GXT//Rl0//0ZdP/9GXT2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADRl08L0ZdP59GXT//Rl0//0ZdP/9GXT//Rl09U0ZdPVNGXT//Rl0//0ZdP/9GXT//Rl0/n0ZdPCgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA0ZdPd9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPVNGXT1TRl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT3YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPD9GXT+3Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T1TRl09U0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/s0ZdPDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGXT4HRl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl09U0ZdPVNGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT4EAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TxTRl0/y0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPVNGXT1TRl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0/x0ZdPFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADRl0+M0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT1TRl09U0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT4sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08a0ZdP9tGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl09U0ZdPVNGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/10ZdPGgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPltGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdPVNGXT1TRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T5UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPIdGX
+ T/nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT1TRl09U0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0/50ZdPIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAANGXT5bRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl09U0ZdPVNGX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT5UAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl09e0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdPVNGXT1TRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl09dAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwBLS0tM0ZdPBdGXT9/Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT1TRl09U0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0/e0ZdPBEtLS0xLS0sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tKS0tL60tL
+ SwrRl09q0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl09U0ZdPVNGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdPaUtLSwxLS0vsS0tLSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABLS0sBS0tLyUtLS/9LS0tu0ZdPCdGXT+fRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPVNGX
+ T1TRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP59GXTwhLS0tyS0tL/0tLS8hLS0sAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLS0tLS/9LS0v/S0tL4UtLSwXRl0930ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT1TRl09U0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT3ZLS0sHS0tL5EtL
+ S/9LS0v/S0tLSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLAUtLS8pLS0v/S0tL/0tLS/9LS0tf0ZdPDtGX
+ T+7Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl09U0ZdPVNGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T+7Rl08NS0tLZktLS/9LS0v/S0tL/0tLS8pLS0sBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLS0xLS0v/S0tL/0tL
+ S/9LS0v/S0tL1UtLSwLRl0+D0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPVNGXT1TRl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0+CS0tLBEtLS9xLS0v/S0tL/0tLS/9LS0v/S0tLSwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ SwFLS0vMS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0tQ0ZdPFNGXT/TRl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T1TRl09U0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/00ZdPFEtLS1pLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S8tLS0sBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABLS0tOS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLyEtLSwDRl0+P0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl09U0ZdPVNGXT//Rl0//0ZdP/9GXT//Rl0//0ZdPjktLSwFLS0vSS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLTQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sBS0tLzUtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tB0ZdPHNGXT/nRl0//0ZdP/9GXT//Rl0//0ZdPVNGXT1TRl0//0ZdP/9GXT//Rl0//0ZdP+NGX
+ TxxLS0tOS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS8xLS0sBAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLT0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLuQAAAADRl0+b0ZdP/9GXT//Rl0//0ZdP/9GXT1TRl09U0ZdP/9GX
+ T//Rl0//0ZdP/9GXT5pLS0sAS0tLx0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLTgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLAUtL
+ S85LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0sz0ZdPJdGXT/zRl0//0ZdP/9GX
+ T//Rl09U0ZdPVNGXT//Rl0//0ZdP/9GXT/zRl08kS0tLQktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS81LS0sBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAEtLS1BLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLqgAA
+ AADRl09P0ZdPY9GXT2PRl09j0ZdPIdGXTyHRl09j0ZdPY9GXT2PRl09PTU1NAEtLS7tLS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwFLS0vPS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS+lLS0sCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ SwlLS0v0S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS85LS0sBAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tRS0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0t63c1uAt3NbrLdzW7I3c1uyN3NbsjdzW7I3c1uyN3N
+ bsjdzW7I3c1uyN3NbrLdzW4CS0tLi0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sBS0tL0EtL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vtS0tLDt3NblfdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uWEtLSxZLS0v0S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS89LS0sBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLUktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLfN3N
+ bgLdzW7T3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbtXdzW4CS0tLjEtL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLUQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLAktLS9FLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL7ktLSw/dzW5T3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1uWEtLSxdLS0v1S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S9BLS0sBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLS1RLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS3/dzW4B3c1u0N3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbtXdzW4CS0tLjUtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwJLS0vSS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/BLS0sQ3c1uUN3Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uV0tLSxdLS0v1S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9FLS0sCAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABLS0tVS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0uC3c1uAd3N
+ bszdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ btTdzW4CS0tLjktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLVAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABLS0sCS0tL00tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0vxS0tLEt3NbkzdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1uV0tLSxhLS0v1S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS9JLS0sCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLVktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLhN3NbgDdzW7J3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbtTdzW4CS0tLjktLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLAktLS9RLS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL8ktLSxPdzW5I3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uVktL
+ SxlLS0v2S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9NLS0sCAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ S1dLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS4fdzW4A3c1uxd3N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93NbtPdzW4CS0tLj0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAEtLSwJLS0vVS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/NLS0sV3c1uRN3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uVUtLSxlLS0v2S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9RLS0sCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tYS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0uK3c1uAN3NbsLdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbtPdzW4CS0tLkEtL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLVwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sDS0tL1ktLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v0S0tLFt3NbkDdzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1uVUtLSxpLS0v3S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S9VLS0sCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLWktL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLjN3NbgDdzW6+3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbtLdzW4CS0tLkUtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLA0tLS9dLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL9UtL
+ SxjdzW483c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uVEtLSxpLS0v3S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9ZLS0sDAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLS1tLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS4/gz28A3c1uut3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ btLdzW4CS0tLkktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLWgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwNLS0vYS0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/ZLS0sZ3c1uOd3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1uVEtLSxtLS0v3S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS9dLS0sDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tcS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0uSAAAAAN3NbrbdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbtHdzW4CS0tLk0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABLS0sDS0tL2UtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9BLS0tsS0tLDd3N
+ bgHdzW5n3c1us93NbvXdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u+N3NbrvdzW5w3c1uCEtL
+ Sw1LS0tsS0tL0UtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9hLS0sDAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLXUtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vyS0tLmktL
+ SzZLS0sAAAAAAAAAAAAAAAAAAAAAAAAAAADdzW4J3c1uS93NbpbdzW7h3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbubdzW6c3c1uUd3N
+ bg0AAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwBLS0s2S0tLm0tLS/JLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLXAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBEtLS9pLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S8lLS0tkS0tLDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3c1uAd3N
+ bi/dzW563c1uxt3NbvzdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv3dzW7J3c1uft3N
+ bjPdzW4CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sNS0tLZUtL
+ S8lLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9lLS0sDAAAAAAAAAAAAAAAAAAAAAEtLS19LS0v/S0tL/0tL
+ S/9LS0vuS0tLk0tLSy5LS0sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdzW4V3c1uXt3NbqndzW7v3c1u/93Nbv/dzW7w3c1uq93N
+ bmDdzW4XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABLS0sAS0tLL0tLS5NLS0vuS0tL/0tLS/9LS0v/S0tLXgAAAAAAAAAAAAAAAEtL
+ SwRLS0vbS0tL/ktLS8FLS0tdS0tLCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3c1uBd3N
+ bkHdzW5B3c1uBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLCUtLS11LS0vBS0tL/ktL
+ S9pLS0sEAAAAAAAAAABLS0tKS0tLi0tLSycAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAEtLSyhLS0uLS0tLSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
+ //////////////////////////////////5//////////D/////////4H/////////gf////////8A//
+ ///////wD////////+AH////////4Af////////AA////////8AD////////gAH///////+AAf//////
+ /wAA////////AAD///////4AAH///////gAAf//////8AAA///////wAAD//////+AAAH//////4AAAf
+ //////gAAB//////8AAAD//////gAAAH/////8AAAAf/////wAAAA/////+AAAAB/////4AAAAH/////
+ AAAAAP////8AgAAA/////gAAAAB////+AEACAH////wAAAAAP////AAgBAA////4AB/4AB////gAAAAA
+ H///8AAAAAAP///wAAAAAA///+AAAAAAB///4AAAAAAH///AAAAAAAP//8AAAAAAA///gAAAAAAB//+A
+ AgAAAAH//wAAAAAAAP//AAQAAAAA//4AAAAAAAB//gAIAAAAAH/8AAAAAAAAP/wAEAAAAAA/+AAAAAAA
+ AB/4ACAAAAAAH/AAAAAAAAAP8ABAAAAAAA/gAAAAAAAAB+AD8AAAD8AHwA/+AAB/8APAf//gB//+A4H/
+ //w///+Bj/////////H/////////////////////KAAAAIAAAAAAAQAAAQAgAAAAAAAAAAEAIy4AACMu
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPBgAAAAAAAAAA0ZdPBgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TwDRl09qAAAAAAAAAADRl09p0ZdPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPR9GXT6kAAAAAAAAAANGXT6nRl09FAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TwHRl0/K0ZdPqQAAAAAAAAAA0ZdPqdGXT8nRl08BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPUdGXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GX
+ T08AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TwPRl0/T0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP0dGXTwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPW9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGX
+ T//Rl0//0ZdPWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TwXRl0/b0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0/Z0ZdPBAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPZdGXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGX
+ T6nRl0//0ZdP/9GXT//Rl09jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TwjRl0/i0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT+HRl08HAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPb9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAA
+ AADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT20AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TwzRl0/o0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP59GX
+ TwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPetGXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAA
+ AAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdPeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TxDRl0/u0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0/t0ZdPEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPg9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+CAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TxbRl0/y0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT/LRl08VAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPjtGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT4wAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TxzRl0/20ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP9tGXTxsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPmNGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPlgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TyPRl0/50ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/50ZdPIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPotGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TyvRl0/80ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT/zRl08pAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADTmFAA0ZdPrNGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT6sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TzPRl0/+0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGX
+ T6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/dGXTzIAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADSmE8A0ZdPttGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdPtdKYTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TzzRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAA
+ AADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPOwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08A0ZdPwNGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+/0ZdPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ T0bRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAA
+ AAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl09FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08B0ZdPytGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT8jRl08BAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ T1DRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT08AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08D0ZdP0tGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP0dGXTwIAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ T1rRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdPWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08F0ZdP2tGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/Z0ZdPBAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ T2TRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl09jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08I0ZdP4tGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T+HRl08HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ T2/Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT20AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08M0ZdP6NGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP59GXTwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ T3nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPdwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08Q0ZdP7dGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGX
+ T6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0/t0ZdPDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ T1rRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl09ZAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPDdGXT+zRl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAA
+ AADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP69GXTwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA0ZdPf9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl09+AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0spS0tLAAAAAADRl08T0ZdP8tGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAA
+ AAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP8tGXTxIAAAAAS0tLAEtLSygAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLAktL
+ S9BLS0s3AAAAAAAAAADRl0+L0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+KAAAAAAAA
+ AABLS0s7S0tLz0tLSwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tUS0tL/0tLS68AAAAAAAAAANGXTxrRl0/30ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP99GXTxkAAAAAS0tLAEtLS7RLS0v/S0tLUgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLAktL
+ S9JLS0v/S0tL/UtLSyoAAAAAAAAAANGXT5jRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+WAAAAAAAA
+ AABLS0svS0tL/ktLS/9LS0vQS0tLAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tVS0tL/0tLS/9LS0v/S0tLoAAAAAAAAAAA0ZdPI9GX
+ T/vRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP+9GXTyEAAAAAAAAAAEtLS6dLS0v/S0tL/0tLS/9LS0tTAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLAktL
+ S9NLS0v/S0tL/0tLS/9LS0v6S0tLHgAAAAAAAAAA0ZdPpNGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+iAAAAAAAA
+ AABLS0slS0tL/EtLS/9LS0v/S0tL/0tLS9FLS0sCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tWS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0uRAAAAAAAA
+ AADRl08s0ZdP/dGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/dGXTysAAAAAAAAAAEtLS5tLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S1QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLA0tL
+ S9RLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/RLS0sVAAAAAAAAAADRl0+w0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+vAAAAAAAA
+ AABLS0scS0tL+EtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL0ktLSwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tXS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S4IAAAAAAAAAANGXTzfRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXTzYAAAAAAAAAAEtLS49LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLA0tL
+ S9VLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL7UtLSw0AAAAA0pdPANGXT7zRl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+70pdPAAAA
+ AABLS0sVS0tL9EtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vTS0tLAgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tZS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLcwAAAAAAAAAA0ZdPQ9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT0IAAAAAAAAAAEtLS4NLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0tXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLA0tL
+ S9ZLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vkS0tLBwAAAADRl08A0ZdPyNGX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGX
+ T6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/H0ZdPAAAA
+ AABLS0sOS0tL7ktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9RLS0sCAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0taS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0tkAAAAAAAAAADRl09Q0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT04AAAAAAAAAAEtLS3dLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLA0tL
+ S9dLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9lLS0sDAAAAANGX
+ TwLRl0/T0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAA
+ AADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/S0ZdPAgAA
+ AABLS0sJS0tL50tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL1UtL
+ SwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tbS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS1UAAAAAAAAAANGXT1zRl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT1oAAAAAAAAAAEtLS2tLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLA0tL
+ S9hLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLzEtL
+ SwEAAAAA0ZdPBNGXT93Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAA
+ AAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/c0ZdPBAAA
+ AABLS0sFS0tL30tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0vWS0tLAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tcS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLRgAAAAAAAAAA0ZdPaNGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT2cAAAAAAAAAAEtLS19LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0taAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLA0tL
+ S9lLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0u+S0tLAAAAAADRl08I0ZdP5tGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/l0ZdPCAAA
+ AABLS0sCS0tL1ktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS9dLS0sDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tdS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0s4AAAAAAAAAADRl0900ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT3MAAAAAAAAAAEtLS1NLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS1sAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBEtL
+ S9pLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS7AAAAAAAAAAANGXTw3Rl0/t0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/s0ZdPDAAA
+ AABLS0sBS0tLy0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL2EtLSwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tfS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/UtLSyoAAAAAAAAAANGX
+ T4HRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT38AAAAAAAAAAEtLS0ZLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLXAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBEtL
+ S9pLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLoAAAAAAAAAAA0ZdPE9GXT/PRl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/y0ZdPEgAA
+ AAAAAAAAS0tLwEtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vZS0tLBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tgS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v6S0tLHwAA
+ AAAAAAAA0ZdPeNGXT8XRl0/F0ZdPxdGXT8XRl0/F0ZdPxdGXT8XRl0+DAAAAAAAAAADRl0+D0ZdPxdGX
+ T8XRl0/F0ZdPxdGXT8XRl0/F0ZdPxdGXT3YAAAAAAAAAAEtLSzpLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0teAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBEtL
+ S9xLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0uSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABLS0sAS0tLtEtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9pLS0sEAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0thS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/NLS0sHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSyBLS0v+S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS18AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBUtL
+ S9xLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLsktLSwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLAktLS9NLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL20tLSwQAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tiS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/5LS0s0AAAAAAAAAADdzW5R3c1ukd3NbpHdzW6R3c1ukd3NbpHdzW6R3c1ukd3NbpHdzW6R3c1ukd3N
+ bpHdzW6R3c1ukd3NbpHdzW6R3c1ukd3NbpHdzW6R3c1uUAAAAAAAAAAAS0tLVktLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBUtL
+ S91LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLtAAAAAAAAAAA3c1uCt3NbujdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7n3c1uCgAAAABLS0sCS0tL00tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vcS0tLBQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tkS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/5LS0s3AAAAAAAAAADdzW5w3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW5xAAAAAAAAAABLS0tXS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0thAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBktL
+ S95LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLtwAAAAAAAAAA3c1uCN3NbuXdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93NbufdzW4KAAAAAEtLSwNLS0vUS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S91LS0sFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tlS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0s5AAAAAAAAAADdzW5s3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbnEAAAAAAAAAAEtL
+ S1hLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBktL
+ S99LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLuUtLSwAAAAAA3c1uB93NbuPdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u5t3NbgkAAAAAS0tLA0tLS9VLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL3ktLSwUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tmS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0s8AAAAAAAAAADdzW5o3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1ucAAA
+ AAAAAAAAS0tLWEtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLZAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBktL
+ S+BLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLvAAAAAAAAAAA3c1uBt3NbuDdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7m3c1uCQAAAABLS0sDS0tL1ktLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0veS0tLBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tnS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0s+AAAAAAAAAADdzW5k3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW5vAAAAAAAAAABLS0taS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0tlAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBktL
+ S+FLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLv0tLSwAAAAAA3c1uBd3Nbt3dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbubdzW4JAAAAAEtLSwNLS0vXS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS99LS0sGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tpS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tBAAAAAAAAAADdzW5g3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbm8AAAAAAAAAAEtLS1pLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S2YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLB0tL
+ S+JLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLwUtLSwAAAAAA3c1uBN3NbtrdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u5d3NbgkAAAAAS0tLA0tL
+ S9dLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL4EtLSwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tqS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tDAAAAAAAAAADdzW5c3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1ubgAAAAAAAAAAS0tLW0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLB0tL
+ S+JLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLxEtLSwAAAAAA3c1uA93NbtfdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7l3c1uCAAA
+ AABLS0sDS0tL2EtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vhS0tLBwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0trS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tGAAAAAAAAAADdzW5Z3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW5uAAAAAAAAAABLS0tcS0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0tpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLCEtL
+ S+NLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLxktLSwAAAAAA3c1uAt3NbtTdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ buTdzW4JAAAAAEtLSwRLS0vZS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+JLS0sHAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tsS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tJAAAAAAAAAADdzW5V3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbm0AAAAAAAAAAEtLS15LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS2oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLCEtL
+ S+RLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLyUtLSwEAAAAA3c1uAt3NbtHdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u5N3NbggAAAAAS0tLBEtLS9lLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL40tL
+ SwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0ttS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tLAAAAAAAAAADdzW5R3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1ubQAAAAAAAAAAS0tLXktL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLCUtL
+ S+VLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLy0tLSwEAAAAA3c1uAd3Nbs7dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7k3c1uCAAAAABLS0sES0tL2ktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0vjS0tLCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tvS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tOAAAAAAAAAADdzW5N3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW5sAAAAAAAA
+ AABLS0tfS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0tsAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLCUtL
+ S+VLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLzktLSwEAAAAA3c1uAd3NbsrdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbuPdzW4IAAAAAEtLSwRLS0vbS0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS+RLS0sIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tvS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tRAAAAAAAAAADdzW5J3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bmsAAAAAAAAAAEtLS2BLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS24AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLCUtL
+ S+dLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL0EtLSwEAAAAA3c1uAd3NbsfdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u493NbggAAAAAS0tLBUtLS9xLS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL5UtLSwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0txS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tTAAAAAAAAAADdzW5G3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1uawAAAAAAAAAAS0tLYUtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLbwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLCktL
+ S+dLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL0ktLSwIAAAAA3c1uAN3NbsPdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7j3c1uBwAAAABLS0sFS0tL3EtL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vmS0tLCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tyS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tWAAAAAAAAAADdzW5C3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW5qAAAAAAAAAABLS0tiS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0twAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLCktL
+ S+hLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL1UtLSwIAAAAA3c1uAN3Nbr/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbuLdzW4HAAAAAEtL
+ SwVLS0vdS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+ZLS0sKAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tzS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tZAAAAAAAAAADdzW4+3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbmoAAAAAAAAAAEtLS2NLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS3EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLC0tL
+ S+hLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL10tLSwMAAAAA3c1uAN3NbrvdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u4t3N
+ bgcAAAAAS0tLBUtLS95LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL50tLSwoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t0S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tcAAAAAAAAAADdzW463c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uaQAAAAAAAAAAS0tLZEtLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLC0tL
+ S+lLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL2UtLSwMAAAAA4NBwAN3NbrfdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7h3c1uBwAAAABLS0sGS0tL30tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0voS0tLCwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t2S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0teAAAAAAAAAADdzW433c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW5pAAAAAAAAAABLS0tlS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0t0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLDEtL
+ S+pLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL20tLSwQAAAAA3c1uAN3NbrTdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93NbuHdzW4HAAAAAEtLSwZLS0vfS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S+lLS0sLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t3S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0thAAAAAAAAAADdzW4z3c1u/t3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbmgAAAAAAAAAAEtL
+ S2ZLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS3UAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLDEtL
+ S+tLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL3UtLSwUAAAAAAAAAAN3NbrDdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u4N3NbgYAAAAAS0tLBktLS+BLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL6UtLSwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t4S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tjAAAAAAAAAADdzW4w3c1u/t3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uZwAA
+ AAAAAAAAS0tLZ0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLdgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLDUtL
+ S+tLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL30tLSwYAAAAAAAAAAN3NbqzdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7g3c1uBgAAAABLS0sHS0tL4EtLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0vqS0tLDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t5S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL9ktL
+ S6ZLS0szAAAAAAAAAADdzW4C3c1up93Nbu7dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u993N
+ brrdzW4hAAAAAAAAAABLS0s0S0tLpktLS/dLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0t3AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLDktL
+ S+xLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL00tLS29LS0sUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3c1uBt3N
+ bkHdzW6N3c1u2N3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7l3c1unN3NblHdzW4OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLFEtL
+ S3BLS0vUS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+tLS0sNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t7S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v0S0tLnktLSzpLS0sBAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdzW4B3c1uJd3NbnDdzW683c1u+d3N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/d3NbsjdzW5+3c1uM93NbgIAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwFLS0s6S0tLn0tLS/RLS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLDktL
+ S+1LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/5LS0vMS0tLaEtLSw4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdzW4O3c1uVN3Nbp/dzW7o3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7v3c1uqt3N
+ bl/dzW4WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLD0tLS2lLS0vNS0tL/ktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL60tLSw0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t8S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+9LS0uWS0tLMktLSwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAN3NbgPdzW433c1ug93Nbs7dzW793c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/t3NbtbdzW6M3c1uQd3NbgYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ SwBLS0szS0tLl0tLS/BLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLD0tL
+ S+1LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/ktLS8VLS0tgS0tLCwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3s5vAN3N
+ bh3dzW5m3c1ust3NbvTdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW723c1uuN3Nbm3dzW4j3c1uAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLDEtLS2FLS0vFS0tL/ktL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vsS0tLDgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t9S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL7EtLS45LS0srS0tLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3c1uCt3NbkrdzW6W3c1u4N3N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbuTdzW6a3c1uT93N
+ bgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwBLS0ssS0tLj0tLS+xLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0t7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLEEtL
+ S+5LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v9S0tLvUtLS1hLS0sHAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdzW4B3c1uLd3NbnndzW7E3c1u+93Nbv/dzW7/3c1u/93N
+ bv/dzW783c1uxt3NbnvdzW4x3c1uAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLCEtLS1lLS0u+S0tL/UtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+1LS0sOAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t+S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vmS0tLh0tL
+ SyQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADdzW4V3c1uXd3NbqjdzW6o3c1uXd3NbhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0slS0tLiEtL
+ S+ZLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS3wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLEEtL
+ S+5LS0v/S0tL/0tLS/tLS0u1S0tLUUtLSwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBktLS1JLS0u2S0tL/EtLS/9LS0v/S0tL7UtL
+ Sw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t/S0tL/0tLS+BLS0t/S0tLHgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABLS0sfS0tLgEtLS+FLS0v/S0tLfQAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLC0tL
+ S55LS0tJS0tLAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLA0tL
+ S0pLS0udS0tLCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////b////////////////////2////////////////////5n///////////////////8Y//
+ //////////////////GP///////////////////hh///////////////////4Yf/////////////////
+ /8GD///////////////////Bg///////////////////gYH//////////////////4GB////////////
+ //////8BgP//////////////////AYD//////////////////gGAf/////////////////4BgH//////
+ ///////////8AYA//////////////////AGAP/////////////////gBgB/////////////////4AYAf
+ ////////////////8AGAD/////////////////ABgA/////////////////gAYAH////////////////
+ 4AGAB////////////////8ABgAP////////////////AAYAD////////////////gAGAAf//////////
+ /////4ABgAH///////////////8AAYAA///////////////+AAGAAH///////////////gABgAB/////
+ //////////wAAYAAP//////////////8AAGAAD//////////////+AABgAAf//////////////gAAYAA
+ H//////////////wAAGAAA//////////////8AABgAAP/////////////+AAAYAAB//////////////g
+ AAGAAAf/////////////wAABgAAD/////////////8AAAYAAA//////////////AAAGAAAP/////////
+ ////4AABgAAH/////////////2AAAYAABv////////////4wAAGAAAx////////////+MAABgAAMf///
+ /////////BgAAYAAGD////////////wYAAGAABg////////////4DAABgAAwH///////////+AwAAYAA
+ MB////////////AGAAGAAGAP///////////wBgABgABgD///////////4AMAAYAAwAf//////////+AD
+ AAGAAMAH///////////AAYABgAGAA///////////wAGAAYABgAP//////////4AAgAGAAQAB////////
+ //+AAMABgAMAAf//////////AABAAYACAAD//////////wAAYAGABgAA//////////4AAGABgAQAAH//
+ ///////+AAAwAYAMAAB//////////AAAMAGACAAAP/////////wAABgBgBgAAD/////////4AAAYAYAY
+ AAAf////////+AAADAGAMAAAH/////////AAAA////AAAA/////////wAAAH///gAAAP////////4AAA
+ D///4AAAB////////+AAAAwAADAAAAf////////AAAAYAAAQAAAD////////wAAAGAAAGAAAA///////
+ /4AAADAAAAgAAAH///////+AAAAwAAAMAAAB////////AAAAYAAABAAAAP///////wAAAGAAAAYAAAD/
+ //////4AAADAAAACAAAAf//////+AAAAwAAAAwAAAH///////AAAAYAAAAEAAAA///////wAAAGAAAAB
+ gAAAP//////4AAADAAAAAIAAAB//////+AAAAwAAAADAAAAf//////AAAAYAAAAAQAAAD//////wAAAG
+ AAAAAGAAAA//////4AAADAAAAAAgAAAH/////+AAAAwAAAAAMAAAB//////AAAAIAAAAABAAAAP/////
+ wAAAGAAAAAAYAAAD/////4AAABAAAAAACAAAAf////+AAAAwAAAAAAwAAAH/////AAAAIAAAAAAEAAAA
+ /////wAAAGAAAAAABgAAAP////4AAABAAAAAAAIAAAB////+AAAAwAAAAAADAAAAf////AAAAMAAAAAA
+ AQAAAD////wAAAGAAAAAAAGAAAA////4AAABgAAAAAAAgAAAH///+AAAAwAAAAAAAMAAAB////AAAAMA
+ AAAAAABAAAAP///wAAAGAAAAAAAAYAAAD///4AAABgAAAAAAACAAAAf//+AAAAwAAAAAAAAwAAAH///A
+ AAAMAAAAAAAAEAAAA///wAAAGAAAAAAAABgAAAP//4AAABgAAAAAAAAIAAAB//+AAAAwAAAAAAAADAAA
+ Af//AAAAMAAAAAAAAAQAAAD//wAAAGAAAAAAAAAGAAAA//4AAAH4AAAAAAAAH4AAAH/+AAAH/wAAAAAA
+ AP/gAAB//AAAP//wAAAAAA///AAAP/wAAf///gAAAAB///+AAD/4AAf////gAAAH////4AAf+AA/////
+ /AAAP/////wAH/AA//////+AAf//////AA/wB///////+B///////+AP4B/////////////////4B+D/
+ /////////////////wfD///////////////////D////////////////////////////////////////
+ /////////////////////////////////////////////4lQTkcNChoKAAAADUlIRFIAAAEAAAABAAgG
+ AAAAXHKoZgAAHntJREFUeNrtnXmcXEW1x7/DIiiogLIoKmprfC68RhtQQARcQCh0Hj73XcSlWcIq4BLC
+ km0SEmJHGSALCVtA0dA+CkFFkV0w6BAQISSEsG9hJ9sk8/6oipn03Orp5d5bt26f7+fDh8/nVnf1uXdy
+ f+fUdg4IgiAIgiAIgiAIgiAIgiAIgiAIgiAIgpAXuqIuKqV2Br4DnA/cpbUe8G2oIAjNoZTqAnYGDgWm
+ a63vrv3MJo7vLgA+BIwEblFKzQQu11q/5PumBEGoj1LqtcDngcOADwPXAXdHfbarTif7An8ZdOlZ4FJg
+ FjBfogJByA7W2+8KfBf4ErCVbRoA9tFa3xD1va5hOrwW2K+maS1wBzAD+LXWepnvmxeETkUp9Qbgixhv
+ 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
+
+
+
\ No newline at end of file
diff --git a/IronWASP/ActivePlugin.cs b/Iron/ActivePlugin.cs
similarity index 97%
rename from IronWASP/ActivePlugin.cs
rename to Iron/ActivePlugin.cs
index 0594994..e6884e5 100644
--- a/IronWASP/ActivePlugin.cs
+++ b/Iron/ActivePlugin.cs
@@ -1,306 +1,306 @@
-//
-// Copyright 2011-2013 Lavakumar Kuppan
-//
-// This file is part of IronWASP
-//
-// IronWASP is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 3 of the License.
-//
-// IronWASP is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with IronWASP. If not, see http://www.gnu.org/licenses/.
-//
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Threading;
-
-namespace IronWASP
-{
- public class ActivePlugin : Plugin
- {
- internal static List Collection = new List();
-
- internal Scanner Scnr;
-
- internal Request BaseRequest;
- internal Response BaseResponse;
- internal int ConfidenceLevel = 0;
-
- internal List RequestTriggers = new List();
- internal List ResponseTriggers = new List();
- internal List RequestTriggerDescs = new List();
- internal List ResponseTriggerDescs = new List();
- internal List TriggerRequests = new List();
- internal List TriggerResponses = new List();
-
- internal List Reasons = new List();
-
- internal int AvgBaseRoundTrip = -1;
-
- public virtual void Check(Scanner Scan)
- {
-
- }
-
- public virtual ActivePlugin GetInstance()
- {
- return new ActivePlugin();
- }
-
- public static void Add(ActivePlugin AP)
- {
- if ((AP.Name.Length > 0) && !(AP.Name.Equals("All") || AP.Name.Equals("None")))
- {
- if (!List().Contains(AP.Name))
- {
- if (AP.FileName != "Internal")
- {
- AP.FileName = PluginEngine.FileName;
- }
- Collection.Add(AP);
- }
- }
- }
-
- public static List List()
- {
- List Names = new List();
- foreach (ActivePlugin AP in Collection)
- {
- Names.Add(AP.Name);
- }
- return Names;
- }
-
- public static ActivePlugin Get(string Name)
- {
- foreach (ActivePlugin AP in Collection)
- {
- if (AP.Name.Equals(Name))
- {
- ActivePlugin NewInstance = AP.GetInstance();
- NewInstance.FileName = AP.FileName;
- return NewInstance;
- }
- }
- return null;
- }
-
- internal static void Remove(string Name)
- {
- int PluginIndex = 0;
- for (int i = 0; i < Collection.Count; i++)
- {
- if (Collection[i].Name.Equals(Name))
- {
- PluginIndex = i;
- break;
- }
- }
- Collection.RemoveAt(PluginIndex);
- }
-
- public delegate string PayloadGenerator(int TimeValueInMilliSeconds, object OtherInfo);
-
- public TimeBasedCheckResults DoTimeDelayBasedCheck(PayloadGenerator PayloadGen, object OtherInfo)
- {
- if (this.AvgBaseRoundTrip < 0)
- {
- this.Scnr.Trace(">Sending two requests to find out the normal roundtrip time to be used as baseline>");
- //Let's first check the time taken for non-delay payloads
- string NonDelayPayload = PayloadGen(0, OtherInfo);
-
- Response BaseRes1 = this.Scnr.Inject(NonDelayPayload);
- Response BaseRes2 = this.Scnr.Inject(NonDelayPayload);
-
- this.AvgBaseRoundTrip = (BaseRes1.RoundTrip + BaseRes2.RoundTrip) / 2;
- this.Scnr.Trace(string.Format(">The roundtrip values of the two requests were {0}ms and {1}ms. Their average {2}ms is being used as baseline.>", BaseRes1.RoundTrip, BaseRes2.RoundTrip, this.AvgBaseRoundTrip));
- }
-
- return DoTimeDelayBasedCheck(PayloadGen, OtherInfo, this.AvgBaseRoundTrip);
- }
-
- public TimeBasedCheckResults DoTimeDelayBasedCheck(PayloadGenerator PayloadGen, object OtherInfo, int AverageBaseRoundTrip)
- {
- TimeBasedCheckResults TimeCheckResults = new TimeBasedCheckResults();
- TimeCheckResults.Success = false;
-
- int DelayTime = 5000;
- if (AverageBaseRoundTrip * 2 > DelayTime)
- {
- DelayTime = AverageBaseRoundTrip * 2;
- }
-
- string DelayPayload = PayloadGen(DelayTime, OtherInfo);
- this.Scnr.RequestTrace(string.Format(" Injected payload - {0}", DelayPayload));
- Response DelayRes = this.Scnr.Inject(DelayPayload);
-
- if (DelayRes.RoundTrip < DelayTime)
- {
- this.Scnr.ResponseTrace(string.Format(" ==> Response roundtrip is {0}ms which is less than the {1}ms delay induced in the payload.", DelayRes.RoundTrip, DelayTime));
- return TimeCheckResults;
- }
- else
- {
- this.Scnr.ResponseTrace(string.Format(" ==> Response roundtrip is {0}ms which is more than the {1}ms delay induced in the payload.", DelayRes.RoundTrip, DelayTime));
- this.Scnr.Trace(">Doing further checks to determine if this delay was valid or a false positive>");
- }
-
- List SmallDelays = new List();
- List BigDelays = new List();
- int BiggestDelay = 0;
- Request DelayRequest=null;
- Response DelayResponse=null;
-
- int SmallDelayTime = 1000;
- string SmallDelayPayload = PayloadGen(SmallDelayTime, OtherInfo);
- foreach (int i in new int[] { 0, 1, 2 })
- {
- Thread.Sleep(2000);//To help the server recover from big delay
- this.Scnr.RequestTrace(string.Format(" Injected payload - {0}", SmallDelayPayload));
- SmallDelays.Add(this.Scnr.Inject(SmallDelayPayload).RoundTrip);
- if (SmallDelays[i] < SmallDelayTime)
- {
- this.Scnr.ResponseTrace(string.Format(" ==> Response roundtrip is {0}ms which is less than the {1}ms delay induced in the payload.", SmallDelays[i], SmallDelayTime));
- this.Scnr.Trace(">Concluding that the earlier delays were False Positives>");
- return TimeCheckResults;
- }
- else
- {
- this.Scnr.ResponseTrace(string.Format(" ==> Response roundtrip is {0}ms which is more than the {1}ms delay induced in the payload.", SmallDelays[i], SmallDelayTime));
- }
-
- Thread.Sleep(1000);//To help the server recover from small delay
- this.Scnr.RequestTrace(string.Format(" Injected payload - {0}", DelayPayload));
- Response Res = this.Scnr.Inject(DelayPayload);
- if (Res.RoundTrip >= BiggestDelay)
- {
- BiggestDelay = Res.RoundTrip;
- DelayRequest = this.Scnr.InjectedRequest.GetClone();
- DelayResponse = Res;
- }
- BigDelays.Add(Res.RoundTrip);
- if (BigDelays[i] < DelayTime)
- {
- this.Scnr.ResponseTrace(string.Format(" ==> Response roundtrip is {0}ms which is less than the {1}ms delay induced in the payload.", BigDelays[i], DelayTime));
- this.Scnr.Trace(">Concluding that the earlier delays were False Positives>");
- return TimeCheckResults;
- }
- else
- {
- this.Scnr.ResponseTrace(string.Format(" ==> Response roundtrip is {0}ms which is more than the {1}ms delay induced in the payload.", BigDelays[i], DelayTime));
- }
- }
-
- //Analyze small delays to confirm if this is vulnerable
- int SmallDelayTimeDiffSuccessCount = 0;
- foreach (int i in new int[] { 0, 1, 2 })
- {
- if ((BigDelays[i] - DelayTime) >= (SmallDelays[i] - SmallDelayTime))
- {
- SmallDelayTimeDiffSuccessCount++;
- }
- }
- if (SmallDelayTimeDiffSuccessCount == 3)
- {
- this.Scnr.Trace(string.Format(">The 3 responses for the payload that induced a delay of {0}ms consistently took atleast {1}ms less than the 3 responses for the payload that induced a delay of {2}ms.>", SmallDelayTime, DelayTime - SmallDelayTime ,DelayTime));
- this.Scnr.Trace(">This strongly indicates that the payloads are causing the delays and they are not false positives.>");
- TimeCheckResults.DelayPayload = DelayPayload;
- TimeCheckResults.DelayInduced = DelayTime;
- TimeCheckResults.DelayObserved = BiggestDelay;
- TimeCheckResults.DelayRequest = DelayRequest;
- TimeCheckResults.DelayResponse = DelayResponse;
- TimeCheckResults.Confidence = FindingConfidence.High;
- TimeCheckResults.AverageBaseTime = this.AvgBaseRoundTrip;
- TimeCheckResults.Success = true;
- return TimeCheckResults;
- //Time delay successful high confidence
- }
-
- SmallDelayTimeDiffSuccessCount = 0;
- foreach (int i in new int[] { 0, 1, 2 })
- {
- if ((BigDelays[i] - (DelayTime - 1000)) >= (SmallDelays[i] - SmallDelayTime))
- {
- SmallDelayTimeDiffSuccessCount++;
- }
- }
- if (SmallDelayTimeDiffSuccessCount == 3)
- {
- this.Scnr.Trace(string.Format(">The 3 responses where a delay of {0}ms was induced consistently took atleast {1}ms less than the 3 responses where {2}ms delay was induced.>", SmallDelayTime, DelayTime - 1000 - SmallDelayTime, DelayTime));
- this.Scnr.Trace(">This strongly indicates that the payloads are causing the delays and they are not false positives.>");
- TimeCheckResults.DelayPayload = DelayPayload;
- TimeCheckResults.DelayInduced = DelayTime;
- TimeCheckResults.DelayObserved = BiggestDelay;
- TimeCheckResults.DelayRequest = DelayRequest;
- TimeCheckResults.DelayResponse = DelayResponse;
- TimeCheckResults.Confidence = FindingConfidence.Medium;
- TimeCheckResults.AverageBaseTime = this.AvgBaseRoundTrip;
- TimeCheckResults.Success = true;
- return TimeCheckResults;
- //Time delay successful medium confidence
- }
-
- SmallDelayTimeDiffSuccessCount = 0;
- foreach (int i in new int[] { 0, 1, 2 })
- {
- if ((BigDelays[i] - DelayTime / 2) >= (SmallDelays[i] - SmallDelayTime))
- {
- SmallDelayTimeDiffSuccessCount++;
- }
- }
- if (SmallDelayTimeDiffSuccessCount == 3)
- {
- this.Scnr.Trace(string.Format(">The 3 responses where a delay of {0}ms was induced consistently took atleast {1}ms less than the 3 responses where {2}ms delay was induced.>", SmallDelayTime, (DelayTime/2)-SmallDelayTime, DelayTime));
- this.Scnr.Trace(">This strongly indicates that the payloads are causing the delays and they are not false positives.>");
- TimeCheckResults.DelayPayload = DelayPayload;
- TimeCheckResults.DelayInduced = DelayTime;
- TimeCheckResults.DelayObserved = BiggestDelay;
- TimeCheckResults.DelayRequest = DelayRequest;
- TimeCheckResults.DelayResponse = DelayResponse;
- TimeCheckResults.Confidence = FindingConfidence.Low;
- TimeCheckResults.AverageBaseTime = this.AvgBaseRoundTrip;
- TimeCheckResults.Success = true;
- return TimeCheckResults;
- //Time delay successful low confidence
- }
- this.Scnr.Trace(">There were no consistent delays based on the injected payloads, so concluding that the earlier delays were false positives.>");
- return TimeCheckResults;
- }
-
- public string GetFindingOpeningDesc(string FindingName)
- {
- StringBuilder SB = new StringBuilder();
- SB.Append(FindingName);
- SB.Append(" was identified in the ");
- if (this.Scnr.InjectedSection == "URL")
- {
- SB.Append(string.Format(">>{0}>>th position of the URL path section of the scanned request.", this.Scnr.InjectedUrlPathPosition));
- }
- else
- {
- SB.Append(string.Format(">>{0}>> parameter of the >>{1}>> section of the scanned request.", this.Scnr.InjectedParameter, this.Scnr.InjectedSection));
- }
- return SB.ToString();
- }
- }
-
- public class TimeBasedCheckResults
- {
- public bool Success = false;
- public FindingConfidence Confidence = FindingConfidence.Low;
- public int AverageBaseTime = 0;
- public int DelayInduced = 0;
- public int DelayObserved = 0;
- public string DelayPayload = "";
- public Request DelayRequest;
- public Response DelayResponse;
- }
-}
+//
+// Copyright 2011-2013 Lavakumar Kuppan
+//
+// This file is part of IronWASP
+//
+// IronWASP is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// IronWASP is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with IronWASP. If not, see http://www.gnu.org/licenses/.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading;
+
+namespace IronWASP
+{
+ public class ActivePlugin : Plugin
+ {
+ internal static List Collection = new List();
+
+ internal Scanner Scnr;
+
+ internal Request BaseRequest;
+ internal Response BaseResponse;
+ internal int ConfidenceLevel = 0;
+
+ internal List RequestTriggers = new List();
+ internal List ResponseTriggers = new List();
+ internal List RequestTriggerDescs = new List();
+ internal List ResponseTriggerDescs = new List();
+ internal List TriggerRequests = new List();
+ internal List TriggerResponses = new List();
+
+ internal List Reasons = new List();
+
+ internal int AvgBaseRoundTrip = -1;
+
+ public virtual void Check(Scanner Scan)
+ {
+
+ }
+
+ public virtual ActivePlugin GetInstance()
+ {
+ return new ActivePlugin();
+ }
+
+ public static void Add(ActivePlugin AP)
+ {
+ if ((AP.Name.Length > 0) && !(AP.Name.Equals("All") || AP.Name.Equals("None")))
+ {
+ if (!List().Contains(AP.Name))
+ {
+ if (AP.FileName != "Internal")
+ {
+ AP.FileName = PluginEngine.FileName;
+ }
+ Collection.Add(AP);
+ }
+ }
+ }
+
+ public static List List()
+ {
+ List Names = new List();
+ foreach (ActivePlugin AP in Collection)
+ {
+ Names.Add(AP.Name);
+ }
+ return Names;
+ }
+
+ public static ActivePlugin Get(string Name)
+ {
+ foreach (ActivePlugin AP in Collection)
+ {
+ if (AP.Name.Equals(Name))
+ {
+ ActivePlugin NewInstance = AP.GetInstance();
+ NewInstance.FileName = AP.FileName;
+ return NewInstance;
+ }
+ }
+ return null;
+ }
+
+ internal static void Remove(string Name)
+ {
+ int PluginIndex = 0;
+ for (int i = 0; i < Collection.Count; i++)
+ {
+ if (Collection[i].Name.Equals(Name))
+ {
+ PluginIndex = i;
+ break;
+ }
+ }
+ Collection.RemoveAt(PluginIndex);
+ }
+
+ public delegate string PayloadGenerator(int TimeValueInMilliSeconds, object OtherInfo);
+
+ public TimeBasedCheckResults DoTimeDelayBasedCheck(PayloadGenerator PayloadGen, object OtherInfo)
+ {
+ if (this.AvgBaseRoundTrip < 0)
+ {
+ this.Scnr.Trace(">Sending two requests to find out the normal roundtrip time to be used as baseline>");
+ //Let's first check the time taken for non-delay payloads
+ string NonDelayPayload = PayloadGen(0, OtherInfo);
+
+ Response BaseRes1 = this.Scnr.Inject(NonDelayPayload);
+ Response BaseRes2 = this.Scnr.Inject(NonDelayPayload);
+
+ this.AvgBaseRoundTrip = (BaseRes1.RoundTrip + BaseRes2.RoundTrip) / 2;
+ this.Scnr.Trace(string.Format(">The roundtrip values of the two requests were {0}ms and {1}ms. Their average {2}ms is being used as baseline.>", BaseRes1.RoundTrip, BaseRes2.RoundTrip, this.AvgBaseRoundTrip));
+ }
+
+ return DoTimeDelayBasedCheck(PayloadGen, OtherInfo, this.AvgBaseRoundTrip);
+ }
+
+ public TimeBasedCheckResults DoTimeDelayBasedCheck(PayloadGenerator PayloadGen, object OtherInfo, int AverageBaseRoundTrip)
+ {
+ TimeBasedCheckResults TimeCheckResults = new TimeBasedCheckResults();
+ TimeCheckResults.Success = false;
+
+ int DelayTime = 5000;
+ if (AverageBaseRoundTrip * 2 > DelayTime)
+ {
+ DelayTime = AverageBaseRoundTrip * 2;
+ }
+
+ string DelayPayload = PayloadGen(DelayTime, OtherInfo);
+ this.Scnr.RequestTrace(string.Format(" Injected payload - {0}", DelayPayload));
+ Response DelayRes = this.Scnr.Inject(DelayPayload);
+
+ if (DelayRes.RoundTrip < DelayTime)
+ {
+ this.Scnr.ResponseTrace(string.Format(" ==> Response roundtrip is {0}ms which is less than the {1}ms delay induced in the payload.", DelayRes.RoundTrip, DelayTime));
+ return TimeCheckResults;
+ }
+ else
+ {
+ this.Scnr.ResponseTrace(string.Format(" ==> Response roundtrip is {0}ms which is more than the {1}ms delay induced in the payload.", DelayRes.RoundTrip, DelayTime));
+ this.Scnr.Trace(">Doing further checks to determine if this delay was valid or a false positive>");
+ }
+
+ List SmallDelays = new List();
+ List BigDelays = new List();
+ int BiggestDelay = 0;
+ Request DelayRequest=null;
+ Response DelayResponse=null;
+
+ int SmallDelayTime = 1000;
+ string SmallDelayPayload = PayloadGen(SmallDelayTime, OtherInfo);
+ foreach (int i in new int[] { 0, 1, 2 })
+ {
+ Thread.Sleep(2000);//To help the server recover from big delay
+ this.Scnr.RequestTrace(string.Format(" Injected payload - {0}", SmallDelayPayload));
+ SmallDelays.Add(this.Scnr.Inject(SmallDelayPayload).RoundTrip);
+ if (SmallDelays[i] < SmallDelayTime)
+ {
+ this.Scnr.ResponseTrace(string.Format(" ==> Response roundtrip is {0}ms which is less than the {1}ms delay induced in the payload.", SmallDelays[i], SmallDelayTime));
+ this.Scnr.Trace(">Concluding that the earlier delays were False Positives>");
+ return TimeCheckResults;
+ }
+ else
+ {
+ this.Scnr.ResponseTrace(string.Format(" ==> Response roundtrip is {0}ms which is more than the {1}ms delay induced in the payload.", SmallDelays[i], SmallDelayTime));
+ }
+
+ Thread.Sleep(1000);//To help the server recover from small delay
+ this.Scnr.RequestTrace(string.Format(" Injected payload - {0}", DelayPayload));
+ Response Res = this.Scnr.Inject(DelayPayload);
+ if (Res.RoundTrip >= BiggestDelay)
+ {
+ BiggestDelay = Res.RoundTrip;
+ DelayRequest = this.Scnr.InjectedRequest.GetClone();
+ DelayResponse = Res;
+ }
+ BigDelays.Add(Res.RoundTrip);
+ if (BigDelays[i] < DelayTime)
+ {
+ this.Scnr.ResponseTrace(string.Format(" ==> Response roundtrip is {0}ms which is less than the {1}ms delay induced in the payload.", BigDelays[i], DelayTime));
+ this.Scnr.Trace(">Concluding that the earlier delays were False Positives>");
+ return TimeCheckResults;
+ }
+ else
+ {
+ this.Scnr.ResponseTrace(string.Format(" ==> Response roundtrip is {0}ms which is more than the {1}ms delay induced in the payload.", BigDelays[i], DelayTime));
+ }
+ }
+
+ //Analyze small delays to confirm if this is vulnerable
+ int SmallDelayTimeDiffSuccessCount = 0;
+ foreach (int i in new int[] { 0, 1, 2 })
+ {
+ if ((BigDelays[i] - DelayTime) >= (SmallDelays[i] - SmallDelayTime))
+ {
+ SmallDelayTimeDiffSuccessCount++;
+ }
+ }
+ if (SmallDelayTimeDiffSuccessCount == 3)
+ {
+ this.Scnr.Trace(string.Format(">The 3 responses for the payload that induced a delay of {0}ms consistently took atleast {1}ms less than the 3 responses for the payload that induced a delay of {2}ms.>", SmallDelayTime, DelayTime - SmallDelayTime ,DelayTime));
+ this.Scnr.Trace(">This strongly indicates that the payloads are causing the delays and they are not false positives.>");
+ TimeCheckResults.DelayPayload = DelayPayload;
+ TimeCheckResults.DelayInduced = DelayTime;
+ TimeCheckResults.DelayObserved = BiggestDelay;
+ TimeCheckResults.DelayRequest = DelayRequest;
+ TimeCheckResults.DelayResponse = DelayResponse;
+ TimeCheckResults.Confidence = FindingConfidence.High;
+ TimeCheckResults.AverageBaseTime = this.AvgBaseRoundTrip;
+ TimeCheckResults.Success = true;
+ return TimeCheckResults;
+ //Time delay successful high confidence
+ }
+
+ SmallDelayTimeDiffSuccessCount = 0;
+ foreach (int i in new int[] { 0, 1, 2 })
+ {
+ if ((BigDelays[i] - (DelayTime - 1000)) >= (SmallDelays[i] - SmallDelayTime))
+ {
+ SmallDelayTimeDiffSuccessCount++;
+ }
+ }
+ if (SmallDelayTimeDiffSuccessCount == 3)
+ {
+ this.Scnr.Trace(string.Format(">The 3 responses where a delay of {0}ms was induced consistently took atleast {1}ms less than the 3 responses where {2}ms delay was induced.>", SmallDelayTime, DelayTime - 1000 - SmallDelayTime, DelayTime));
+ this.Scnr.Trace(">This strongly indicates that the payloads are causing the delays and they are not false positives.>");
+ TimeCheckResults.DelayPayload = DelayPayload;
+ TimeCheckResults.DelayInduced = DelayTime;
+ TimeCheckResults.DelayObserved = BiggestDelay;
+ TimeCheckResults.DelayRequest = DelayRequest;
+ TimeCheckResults.DelayResponse = DelayResponse;
+ TimeCheckResults.Confidence = FindingConfidence.Medium;
+ TimeCheckResults.AverageBaseTime = this.AvgBaseRoundTrip;
+ TimeCheckResults.Success = true;
+ return TimeCheckResults;
+ //Time delay successful medium confidence
+ }
+
+ SmallDelayTimeDiffSuccessCount = 0;
+ foreach (int i in new int[] { 0, 1, 2 })
+ {
+ if ((BigDelays[i] - DelayTime / 2) >= (SmallDelays[i] - SmallDelayTime))
+ {
+ SmallDelayTimeDiffSuccessCount++;
+ }
+ }
+ if (SmallDelayTimeDiffSuccessCount == 3)
+ {
+ this.Scnr.Trace(string.Format(">The 3 responses where a delay of {0}ms was induced consistently took atleast {1}ms less than the 3 responses where {2}ms delay was induced.>", SmallDelayTime, (DelayTime/2)-SmallDelayTime, DelayTime));
+ this.Scnr.Trace(">This strongly indicates that the payloads are causing the delays and they are not false positives.>");
+ TimeCheckResults.DelayPayload = DelayPayload;
+ TimeCheckResults.DelayInduced = DelayTime;
+ TimeCheckResults.DelayObserved = BiggestDelay;
+ TimeCheckResults.DelayRequest = DelayRequest;
+ TimeCheckResults.DelayResponse = DelayResponse;
+ TimeCheckResults.Confidence = FindingConfidence.Low;
+ TimeCheckResults.AverageBaseTime = this.AvgBaseRoundTrip;
+ TimeCheckResults.Success = true;
+ return TimeCheckResults;
+ //Time delay successful low confidence
+ }
+ this.Scnr.Trace(">There were no consistent delays based on the injected payloads, so concluding that the earlier delays were false positives.>");
+ return TimeCheckResults;
+ }
+
+ public string GetFindingOpeningDesc(string FindingName)
+ {
+ StringBuilder SB = new StringBuilder();
+ SB.Append(FindingName);
+ SB.Append(" was identified in the ");
+ if (this.Scnr.InjectedSection == "URL")
+ {
+ SB.Append(string.Format(">>{0}>>th position of the URL path section of the scanned request.", this.Scnr.InjectedUrlPathPosition));
+ }
+ else
+ {
+ SB.Append(string.Format(">>{0}>> parameter of the >>{1}>> section of the scanned request.", this.Scnr.InjectedParameter, this.Scnr.InjectedSection));
+ }
+ return SB.ToString();
+ }
+ }
+
+ public class TimeBasedCheckResults
+ {
+ public bool Success = false;
+ public FindingConfidence Confidence = FindingConfidence.Low;
+ public int AverageBaseTime = 0;
+ public int DelayInduced = 0;
+ public int DelayObserved = 0;
+ public string DelayPayload = "";
+ public Request DelayRequest;
+ public Response DelayResponse;
+ }
+}
diff --git a/IronWASP/ActivePluginCreationAssistant.Designer.cs b/Iron/ActivePluginCreationAssistant.Designer.cs
similarity index 98%
rename from IronWASP/ActivePluginCreationAssistant.Designer.cs
rename to Iron/ActivePluginCreationAssistant.Designer.cs
index ed30be4..0282e0c 100644
--- a/IronWASP/ActivePluginCreationAssistant.Designer.cs
+++ b/Iron/ActivePluginCreationAssistant.Designer.cs
@@ -1,622 +1,622 @@
-//
-// Copyright 2011-2013 Lavakumar Kuppan
-//
-// This file is part of IronWASP
-//
-// IronWASP is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 3 of the License.
-//
-// IronWASP is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with IronWASP. If not, see http://www.gnu.org/licenses/.
-//
-
-namespace IronWASP
-{
- partial class ActivePluginCreationAssistant
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ActivePluginCreationAssistant));
- this.BaseTabs = new System.Windows.Forms.TabControl();
- this.NameTab = new System.Windows.Forms.TabPage();
- this.label2 = new System.Windows.Forms.Label();
- this.PluginDescTB = new System.Windows.Forms.TextBox();
- this.label1 = new System.Windows.Forms.Label();
- this.PluginNameTB = new System.Windows.Forms.TextBox();
- this.Step0StatusTB = new System.Windows.Forms.TextBox();
- this.CancelBtn = new System.Windows.Forms.Button();
- this.textBox2 = new System.Windows.Forms.TextBox();
- this.StepOneNextBtn = new System.Windows.Forms.Button();
- this.PayloadsTab = new System.Windows.Forms.TabPage();
- this.label5 = new System.Windows.Forms.Label();
- this.label4 = new System.Windows.Forms.Label();
- this.NoOriginalParameterRB = new System.Windows.Forms.RadioButton();
- this.OriginalParameterAfterPayloadRB = new System.Windows.Forms.RadioButton();
- this.OriginalParameterBeforePayloadRB = new System.Windows.Forms.RadioButton();
- this.textBox7 = new System.Windows.Forms.TextBox();
- this.PayloadsFileLbl = new System.Windows.Forms.Label();
- this.label3 = new System.Windows.Forms.Label();
- this.PayloadsListTB = new System.Windows.Forms.TextBox();
- this.LoadPayloadsFileLL = new System.Windows.Forms.LinkLabel();
- this.Step1StatusTB = new System.Windows.Forms.TextBox();
- this.textBox4 = new System.Windows.Forms.TextBox();
- this.StepTwoPreviousBtn = new System.Windows.Forms.Button();
- this.StepTwoNextBtn = new System.Windows.Forms.Button();
- this.LanguageTab = new System.Windows.Forms.TabPage();
- this.groupBox2 = new System.Windows.Forms.GroupBox();
- this.PluginLangRubyRB = new System.Windows.Forms.RadioButton();
- this.PluginLangPythonRB = new System.Windows.Forms.RadioButton();
- this.Step2StatusTB = new System.Windows.Forms.TextBox();
- this.textBox5 = new System.Windows.Forms.TextBox();
- this.StepThreePreviousBtn = new System.Windows.Forms.Button();
- this.StepThreeNextBtn = new System.Windows.Forms.Button();
- this.FinalTab = new System.Windows.Forms.TabPage();
- this.PluginFileTB = new System.Windows.Forms.TextBox();
- this.label6 = new System.Windows.Forms.Label();
- this.textBox1 = new System.Windows.Forms.TextBox();
- this.FinalBtn = new System.Windows.Forms.Button();
- this.PayloadFileOpener = new System.Windows.Forms.OpenFileDialog();
- this.BaseTabs.SuspendLayout();
- this.NameTab.SuspendLayout();
- this.PayloadsTab.SuspendLayout();
- this.LanguageTab.SuspendLayout();
- this.groupBox2.SuspendLayout();
- this.FinalTab.SuspendLayout();
- this.SuspendLayout();
- //
- // BaseTabs
- //
- this.BaseTabs.Appearance = System.Windows.Forms.TabAppearance.Buttons;
- this.BaseTabs.Controls.Add(this.NameTab);
- this.BaseTabs.Controls.Add(this.PayloadsTab);
- this.BaseTabs.Controls.Add(this.LanguageTab);
- this.BaseTabs.Controls.Add(this.FinalTab);
- this.BaseTabs.Dock = System.Windows.Forms.DockStyle.Fill;
- this.BaseTabs.Location = new System.Drawing.Point(0, 0);
- this.BaseTabs.Margin = new System.Windows.Forms.Padding(0);
- this.BaseTabs.Name = "BaseTabs";
- this.BaseTabs.Padding = new System.Drawing.Point(0, 0);
- this.BaseTabs.SelectedIndex = 0;
- this.BaseTabs.Size = new System.Drawing.Size(684, 461);
- this.BaseTabs.TabIndex = 16;
- this.BaseTabs.Selecting += new System.Windows.Forms.TabControlCancelEventHandler(this.BaseTabs_Selecting);
- //
- // NameTab
- //
- this.NameTab.Controls.Add(this.label2);
- this.NameTab.Controls.Add(this.PluginDescTB);
- this.NameTab.Controls.Add(this.label1);
- this.NameTab.Controls.Add(this.PluginNameTB);
- this.NameTab.Controls.Add(this.Step0StatusTB);
- this.NameTab.Controls.Add(this.CancelBtn);
- this.NameTab.Controls.Add(this.textBox2);
- this.NameTab.Controls.Add(this.StepOneNextBtn);
- this.NameTab.Location = new System.Drawing.Point(4, 25);
- this.NameTab.Margin = new System.Windows.Forms.Padding(0);
- this.NameTab.Name = "NameTab";
- this.NameTab.Padding = new System.Windows.Forms.Padding(5);
- this.NameTab.Size = new System.Drawing.Size(676, 432);
- this.NameTab.TabIndex = 0;
- this.NameTab.Text = " Plugin Name ";
- this.NameTab.UseVisualStyleBackColor = true;
- //
- // label2
- //
- this.label2.AutoSize = true;
- this.label2.Location = new System.Drawing.Point(11, 145);
- this.label2.Name = "label2";
- this.label2.Size = new System.Drawing.Size(95, 13);
- this.label2.TabIndex = 10;
- this.label2.Text = "Plugin Description:";
- //
- // PluginDescTB
- //
- this.PluginDescTB.Location = new System.Drawing.Point(110, 142);
- this.PluginDescTB.Name = "PluginDescTB";
- this.PluginDescTB.Size = new System.Drawing.Size(556, 20);
- this.PluginDescTB.TabIndex = 9;
- this.PluginDescTB.TextChanged += new System.EventHandler(this.PluginDescTB_TextChanged);
- //
- // label1
- //
- this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(32, 98);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(70, 13);
- this.label1.TabIndex = 8;
- this.label1.Text = "Plugin Name:";
- //
- // PluginNameTB
- //
- this.PluginNameTB.Location = new System.Drawing.Point(110, 95);
- this.PluginNameTB.Name = "PluginNameTB";
- this.PluginNameTB.Size = new System.Drawing.Size(556, 20);
- this.PluginNameTB.TabIndex = 7;
- this.PluginNameTB.TextChanged += new System.EventHandler(this.PluginNameTB_TextChanged);
- //
- // Step0StatusTB
- //
- this.Step0StatusTB.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.Step0StatusTB.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.Step0StatusTB.Location = new System.Drawing.Point(130, 374);
- this.Step0StatusTB.Multiline = true;
- this.Step0StatusTB.Name = "Step0StatusTB";
- this.Step0StatusTB.Size = new System.Drawing.Size(409, 50);
- this.Step0StatusTB.TabIndex = 6;
- this.Step0StatusTB.TabStop = false;
- this.Step0StatusTB.Visible = false;
- //
- // CancelBtn
- //
- this.CancelBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.CancelBtn.Location = new System.Drawing.Point(8, 401);
- this.CancelBtn.Name = "CancelBtn";
- this.CancelBtn.Size = new System.Drawing.Size(105, 23);
- this.CancelBtn.TabIndex = 4;
- this.CancelBtn.Text = "Cancel";
- this.CancelBtn.UseVisualStyleBackColor = true;
- this.CancelBtn.Click += new System.EventHandler(this.CancelBtn_Click);
- //
- // textBox2
- //
- this.textBox2.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox2.Dock = System.Windows.Forms.DockStyle.Top;
- this.textBox2.Location = new System.Drawing.Point(5, 5);
- this.textBox2.Multiline = true;
- this.textBox2.Name = "textBox2";
- this.textBox2.ReadOnly = true;
- this.textBox2.Size = new System.Drawing.Size(666, 61);
- this.textBox2.TabIndex = 3;
- this.textBox2.TabStop = false;
- this.textBox2.Text = resources.GetString("textBox2.Text");
- //
- // StepOneNextBtn
- //
- this.StepOneNextBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.StepOneNextBtn.Location = new System.Drawing.Point(561, 401);
- this.StepOneNextBtn.Name = "StepOneNextBtn";
- this.StepOneNextBtn.Size = new System.Drawing.Size(105, 23);
- this.StepOneNextBtn.TabIndex = 2;
- this.StepOneNextBtn.Text = "Next Step ->";
- this.StepOneNextBtn.UseVisualStyleBackColor = true;
- this.StepOneNextBtn.Click += new System.EventHandler(this.StepOneNextBtn_Click);
- //
- // PayloadsTab
- //
- this.PayloadsTab.Controls.Add(this.label5);
- this.PayloadsTab.Controls.Add(this.label4);
- this.PayloadsTab.Controls.Add(this.NoOriginalParameterRB);
- this.PayloadsTab.Controls.Add(this.OriginalParameterAfterPayloadRB);
- this.PayloadsTab.Controls.Add(this.OriginalParameterBeforePayloadRB);
- this.PayloadsTab.Controls.Add(this.textBox7);
- this.PayloadsTab.Controls.Add(this.PayloadsFileLbl);
- this.PayloadsTab.Controls.Add(this.label3);
- this.PayloadsTab.Controls.Add(this.PayloadsListTB);
- this.PayloadsTab.Controls.Add(this.LoadPayloadsFileLL);
- this.PayloadsTab.Controls.Add(this.Step1StatusTB);
- this.PayloadsTab.Controls.Add(this.textBox4);
- this.PayloadsTab.Controls.Add(this.StepTwoPreviousBtn);
- this.PayloadsTab.Controls.Add(this.StepTwoNextBtn);
- this.PayloadsTab.Location = new System.Drawing.Point(4, 25);
- this.PayloadsTab.Margin = new System.Windows.Forms.Padding(0);
- this.PayloadsTab.Name = "PayloadsTab";
- this.PayloadsTab.Padding = new System.Windows.Forms.Padding(5);
- this.PayloadsTab.Size = new System.Drawing.Size(676, 432);
- this.PayloadsTab.TabIndex = 1;
- this.PayloadsTab.Text = " Select Payloads ";
- this.PayloadsTab.UseVisualStyleBackColor = true;
- //
- // label5
- //
- this.label5.AutoEllipsis = true;
- this.label5.AutoSize = true;
- this.label5.Location = new System.Drawing.Point(11, 356);
- this.label5.Name = "label5";
- this.label5.Size = new System.Drawing.Size(468, 13);
- this.label5.TabIndex = 26;
- this.label5.Text = "During testing sometimes the parameter\'s original value needs to be added along w" +
- "ith the payload.";
- //
- // label4
- //
- this.label4.AutoSize = true;
- this.label4.Location = new System.Drawing.Point(11, 374);
- this.label4.Name = "label4";
- this.label4.Size = new System.Drawing.Size(311, 13);
- this.label4.TabIndex = 25;
- this.label4.Text = "Where do you want to add the tested parameter\'s original value?";
- //
- // NoOriginalParameterRB
- //
- this.NoOriginalParameterRB.AutoSize = true;
- this.NoOriginalParameterRB.Location = new System.Drawing.Point(600, 372);
- this.NoOriginalParameterRB.Name = "NoOriginalParameterRB";
- this.NoOriginalParameterRB.Size = new System.Drawing.Size(69, 17);
- this.NoOriginalParameterRB.TabIndex = 24;
- this.NoOriginalParameterRB.Text = "don\'t add";
- this.NoOriginalParameterRB.UseVisualStyleBackColor = true;
- //
- // OriginalParameterAfterPayloadRB
- //
- this.OriginalParameterAfterPayloadRB.AutoSize = true;
- this.OriginalParameterAfterPayloadRB.Location = new System.Drawing.Point(480, 372);
- this.OriginalParameterAfterPayloadRB.Name = "OriginalParameterAfterPayloadRB";
- this.OriginalParameterAfterPayloadRB.Size = new System.Drawing.Size(104, 17);
- this.OriginalParameterAfterPayloadRB.TabIndex = 23;
- this.OriginalParameterAfterPayloadRB.Text = "after the payload";
- this.OriginalParameterAfterPayloadRB.UseVisualStyleBackColor = true;
- //
- // OriginalParameterBeforePayloadRB
- //
- this.OriginalParameterBeforePayloadRB.AutoSize = true;
- this.OriginalParameterBeforePayloadRB.Checked = true;
- this.OriginalParameterBeforePayloadRB.Location = new System.Drawing.Point(352, 372);
- this.OriginalParameterBeforePayloadRB.Name = "OriginalParameterBeforePayloadRB";
- this.OriginalParameterBeforePayloadRB.Size = new System.Drawing.Size(113, 17);
- this.OriginalParameterBeforePayloadRB.TabIndex = 22;
- this.OriginalParameterBeforePayloadRB.TabStop = true;
- this.OriginalParameterBeforePayloadRB.Text = "before the payload";
- this.OriginalParameterBeforePayloadRB.UseVisualStyleBackColor = true;
- //
- // textBox7
- //
- this.textBox7.BackColor = System.Drawing.SystemColors.Control;
- this.textBox7.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox7.ForeColor = System.Drawing.Color.Blue;
- this.textBox7.Location = new System.Drawing.Point(15, 287);
- this.textBox7.Multiline = true;
- this.textBox7.Name = "textBox7";
- this.textBox7.ReadOnly = true;
- this.textBox7.Size = new System.Drawing.Size(637, 49);
- this.textBox7.TabIndex = 16;
- this.textBox7.TabStop = false;
- this.textBox7.Text = "NOTE: \r\nThe payloads must be in Url Encoded form. For example null character must" +
- " be represented as %00, new line as %0a, space character as +, + character as %2" +
- "b and so on.";
- //
- // PayloadsFileLbl
- //
- this.PayloadsFileLbl.AutoSize = true;
- this.PayloadsFileLbl.Location = new System.Drawing.Point(129, 247);
- this.PayloadsFileLbl.Name = "PayloadsFileLbl";
- this.PayloadsFileLbl.Size = new System.Drawing.Size(376, 13);
- this.PayloadsFileLbl.TabIndex = 21;
- this.PayloadsFileLbl.Text = " " +
- " ";
- //
- // label3
- //
- this.label3.AutoSize = true;
- this.label3.Location = new System.Drawing.Point(9, 264);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(501, 13);
- this.label3.TabIndex = 20;
- this.label3.Text = "(If there are more than 5 payloads then they will be saved in a seperate file in " +
- "the Active Plugins directory)";
- //
- // PayloadsListTB
- //
- this.PayloadsListTB.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.PayloadsListTB.Location = new System.Drawing.Point(8, 53);
- this.PayloadsListTB.Multiline = true;
- this.PayloadsListTB.Name = "PayloadsListTB";
- this.PayloadsListTB.ScrollBars = System.Windows.Forms.ScrollBars.Both;
- this.PayloadsListTB.Size = new System.Drawing.Size(660, 188);
- this.PayloadsListTB.TabIndex = 17;
- this.PayloadsListTB.WordWrap = false;
- //
- // LoadPayloadsFileLL
- //
- this.LoadPayloadsFileLL.AutoSize = true;
- this.LoadPayloadsFileLL.Location = new System.Drawing.Point(8, 247);
- this.LoadPayloadsFileLL.Name = "LoadPayloadsFileLL";
- this.LoadPayloadsFileLL.Size = new System.Drawing.Size(115, 13);
- this.LoadPayloadsFileLL.TabIndex = 16;
- this.LoadPayloadsFileLL.TabStop = true;
- this.LoadPayloadsFileLL.Text = "Load payloads from file";
- this.LoadPayloadsFileLL.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LoadPayloadsFileLL_LinkClicked);
- //
- // Step1StatusTB
- //
- this.Step1StatusTB.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.Step1StatusTB.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.Step1StatusTB.Location = new System.Drawing.Point(119, 402);
- this.Step1StatusTB.Multiline = true;
- this.Step1StatusTB.Name = "Step1StatusTB";
- this.Step1StatusTB.Size = new System.Drawing.Size(438, 22);
- this.Step1StatusTB.TabIndex = 11;
- this.Step1StatusTB.TabStop = false;
- this.Step1StatusTB.Visible = false;
- //
- // textBox4
- //
- this.textBox4.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox4.Dock = System.Windows.Forms.DockStyle.Top;
- this.textBox4.Location = new System.Drawing.Point(5, 5);
- this.textBox4.Multiline = true;
- this.textBox4.Name = "textBox4";
- this.textBox4.ReadOnly = true;
- this.textBox4.Size = new System.Drawing.Size(666, 45);
- this.textBox4.TabIndex = 9;
- this.textBox4.TabStop = false;
- this.textBox4.Text = "\r\nPlease specify the payloads you want to be sent by this Active Plugin. You can " +
- "either type the payloads one per line or provide a file with the list of payload" +
- "s.\r\n\r\n";
- //
- // StepTwoPreviousBtn
- //
- this.StepTwoPreviousBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.StepTwoPreviousBtn.Location = new System.Drawing.Point(8, 401);
- this.StepTwoPreviousBtn.Name = "StepTwoPreviousBtn";
- this.StepTwoPreviousBtn.Size = new System.Drawing.Size(105, 23);
- this.StepTwoPreviousBtn.TabIndex = 8;
- this.StepTwoPreviousBtn.Text = "<-Previous Step";
- this.StepTwoPreviousBtn.UseVisualStyleBackColor = true;
- this.StepTwoPreviousBtn.Click += new System.EventHandler(this.StepTwoPreviousBtn_Click);
- //
- // StepTwoNextBtn
- //
- this.StepTwoNextBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.StepTwoNextBtn.Location = new System.Drawing.Point(563, 401);
- this.StepTwoNextBtn.Name = "StepTwoNextBtn";
- this.StepTwoNextBtn.Size = new System.Drawing.Size(105, 23);
- this.StepTwoNextBtn.TabIndex = 7;
- this.StepTwoNextBtn.Text = "Next Step ->";
- this.StepTwoNextBtn.UseVisualStyleBackColor = true;
- this.StepTwoNextBtn.Click += new System.EventHandler(this.StepTwoNextBtn_Click);
- //
- // LanguageTab
- //
- this.LanguageTab.Controls.Add(this.groupBox2);
- this.LanguageTab.Controls.Add(this.Step2StatusTB);
- this.LanguageTab.Controls.Add(this.textBox5);
- this.LanguageTab.Controls.Add(this.StepThreePreviousBtn);
- this.LanguageTab.Controls.Add(this.StepThreeNextBtn);
- this.LanguageTab.Location = new System.Drawing.Point(4, 25);
- this.LanguageTab.Name = "LanguageTab";
- this.LanguageTab.Padding = new System.Windows.Forms.Padding(5);
- this.LanguageTab.Size = new System.Drawing.Size(676, 432);
- this.LanguageTab.TabIndex = 2;
- this.LanguageTab.Text = " Select Language ";
- this.LanguageTab.UseVisualStyleBackColor = true;
- //
- // groupBox2
- //
- this.groupBox2.Controls.Add(this.PluginLangRubyRB);
- this.groupBox2.Controls.Add(this.PluginLangPythonRB);
- this.groupBox2.Location = new System.Drawing.Point(7, 114);
- this.groupBox2.Name = "groupBox2";
- this.groupBox2.Size = new System.Drawing.Size(660, 110);
- this.groupBox2.TabIndex = 20;
- this.groupBox2.TabStop = false;
- this.groupBox2.Text = "Which language should the plugin be created in?";
- //
- // PluginLangRubyRB
- //
- this.PluginLangRubyRB.AutoSize = true;
- this.PluginLangRubyRB.Location = new System.Drawing.Point(12, 79);
- this.PluginLangRubyRB.Name = "PluginLangRubyRB";
- this.PluginLangRubyRB.Size = new System.Drawing.Size(50, 17);
- this.PluginLangRubyRB.TabIndex = 15;
- this.PluginLangRubyRB.Text = "Ruby";
- this.PluginLangRubyRB.UseVisualStyleBackColor = true;
- //
- // PluginLangPythonRB
- //
- this.PluginLangPythonRB.AutoSize = true;
- this.PluginLangPythonRB.Checked = true;
- this.PluginLangPythonRB.Location = new System.Drawing.Point(12, 29);
- this.PluginLangPythonRB.Name = "PluginLangPythonRB";
- this.PluginLangPythonRB.Size = new System.Drawing.Size(58, 17);
- this.PluginLangPythonRB.TabIndex = 14;
- this.PluginLangPythonRB.TabStop = true;
- this.PluginLangPythonRB.Text = "Python";
- this.PluginLangPythonRB.UseVisualStyleBackColor = true;
- //
- // Step2StatusTB
- //
- this.Step2StatusTB.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.Step2StatusTB.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.Step2StatusTB.Location = new System.Drawing.Point(132, 385);
- this.Step2StatusTB.Multiline = true;
- this.Step2StatusTB.Name = "Step2StatusTB";
- this.Step2StatusTB.Size = new System.Drawing.Size(410, 39);
- this.Step2StatusTB.TabIndex = 13;
- this.Step2StatusTB.TabStop = false;
- this.Step2StatusTB.Visible = false;
- //
- // textBox5
- //
- this.textBox5.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.textBox5.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox5.Location = new System.Drawing.Point(5, 5);
- this.textBox5.Multiline = true;
- this.textBox5.Name = "textBox5";
- this.textBox5.ReadOnly = true;
- this.textBox5.Size = new System.Drawing.Size(666, 77);
- this.textBox5.TabIndex = 11;
- this.textBox5.TabStop = false;
- this.textBox5.Text = "\r\nActive Plugins can be written in Python or in Ruby. Choose you language of choi" +
- "ce and this Active Plugin will be created in that language.";
- //
- // StepThreePreviousBtn
- //
- this.StepThreePreviousBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.StepThreePreviousBtn.Location = new System.Drawing.Point(8, 401);
- this.StepThreePreviousBtn.Name = "StepThreePreviousBtn";
- this.StepThreePreviousBtn.Size = new System.Drawing.Size(105, 23);
- this.StepThreePreviousBtn.TabIndex = 10;
- this.StepThreePreviousBtn.Text = "<-Previous Step";
- this.StepThreePreviousBtn.UseVisualStyleBackColor = true;
- this.StepThreePreviousBtn.Click += new System.EventHandler(this.StepThreePreviousBtn_Click);
- //
- // StepThreeNextBtn
- //
- this.StepThreeNextBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.StepThreeNextBtn.Location = new System.Drawing.Point(563, 401);
- this.StepThreeNextBtn.Name = "StepThreeNextBtn";
- this.StepThreeNextBtn.Size = new System.Drawing.Size(105, 23);
- this.StepThreeNextBtn.TabIndex = 9;
- this.StepThreeNextBtn.Text = "Next Step ->";
- this.StepThreeNextBtn.UseVisualStyleBackColor = true;
- this.StepThreeNextBtn.Click += new System.EventHandler(this.StepThreeNextBtn_Click);
- //
- // FinalTab
- //
- this.FinalTab.Controls.Add(this.PluginFileTB);
- this.FinalTab.Controls.Add(this.label6);
- this.FinalTab.Controls.Add(this.textBox1);
- this.FinalTab.Controls.Add(this.FinalBtn);
- this.FinalTab.Location = new System.Drawing.Point(4, 25);
- this.FinalTab.Name = "FinalTab";
- this.FinalTab.Padding = new System.Windows.Forms.Padding(5);
- this.FinalTab.Size = new System.Drawing.Size(676, 432);
- this.FinalTab.TabIndex = 3;
- this.FinalTab.Text = " Done ";
- this.FinalTab.UseVisualStyleBackColor = true;
- //
- // PluginFileTB
- //
- this.PluginFileTB.Location = new System.Drawing.Point(75, 280);
- this.PluginFileTB.Name = "PluginFileTB";
- this.PluginFileTB.Size = new System.Drawing.Size(591, 20);
- this.PluginFileTB.TabIndex = 23;
- //
- // label6
- //
- this.label6.AutoSize = true;
- this.label6.Location = new System.Drawing.Point(11, 283);
- this.label6.Name = "label6";
- this.label6.Size = new System.Drawing.Size(58, 13);
- this.label6.TabIndex = 22;
- this.label6.Text = "Plugin File:";
- //
- // textBox1
- //
- this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
- this.textBox1.Location = new System.Drawing.Point(16, 41);
- this.textBox1.Multiline = true;
- this.textBox1.Name = "textBox1";
- this.textBox1.ReadOnly = true;
- this.textBox1.Size = new System.Drawing.Size(637, 209);
- this.textBox1.TabIndex = 21;
- this.textBox1.Text = resources.GetString("textBox1.Text");
- //
- // FinalBtn
- //
- this.FinalBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.FinalBtn.Location = new System.Drawing.Point(491, 389);
- this.FinalBtn.Name = "FinalBtn";
- this.FinalBtn.Size = new System.Drawing.Size(177, 35);
- this.FinalBtn.TabIndex = 16;
- this.FinalBtn.Text = "Close this Assistant";
- this.FinalBtn.UseVisualStyleBackColor = true;
- this.FinalBtn.Click += new System.EventHandler(this.FinalBtn_Click);
- //
- // ActivePluginCreationAssistant
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(684, 461);
- this.Controls.Add(this.BaseTabs);
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.MaximumSize = new System.Drawing.Size(700, 500);
- this.MinimumSize = new System.Drawing.Size(700, 500);
- this.Name = "ActivePluginCreationAssistant";
- this.Text = "ActivePlugin Creation Assistant";
- this.BaseTabs.ResumeLayout(false);
- this.NameTab.ResumeLayout(false);
- this.NameTab.PerformLayout();
- this.PayloadsTab.ResumeLayout(false);
- this.PayloadsTab.PerformLayout();
- this.LanguageTab.ResumeLayout(false);
- this.LanguageTab.PerformLayout();
- this.groupBox2.ResumeLayout(false);
- this.groupBox2.PerformLayout();
- this.FinalTab.ResumeLayout(false);
- this.FinalTab.PerformLayout();
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- private System.Windows.Forms.TabControl BaseTabs;
- private System.Windows.Forms.TabPage NameTab;
- internal System.Windows.Forms.TextBox Step0StatusTB;
- private System.Windows.Forms.Button CancelBtn;
- private System.Windows.Forms.TextBox textBox2;
- private System.Windows.Forms.Button StepOneNextBtn;
- private System.Windows.Forms.TabPage PayloadsTab;
- internal System.Windows.Forms.TextBox Step1StatusTB;
- private System.Windows.Forms.TextBox textBox4;
- private System.Windows.Forms.Button StepTwoPreviousBtn;
- private System.Windows.Forms.Button StepTwoNextBtn;
- private System.Windows.Forms.TabPage LanguageTab;
- internal System.Windows.Forms.TextBox Step2StatusTB;
- private System.Windows.Forms.TextBox textBox5;
- private System.Windows.Forms.Button StepThreePreviousBtn;
- private System.Windows.Forms.Button StepThreeNextBtn;
- private System.Windows.Forms.TabPage FinalTab;
- private System.Windows.Forms.Button FinalBtn;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.TextBox PluginDescTB;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.TextBox PluginNameTB;
- private System.Windows.Forms.OpenFileDialog PayloadFileOpener;
- private System.Windows.Forms.TextBox textBox7;
- private System.Windows.Forms.TextBox PayloadsListTB;
- private System.Windows.Forms.LinkLabel LoadPayloadsFileLL;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.Label PayloadsFileLbl;
- private System.Windows.Forms.GroupBox groupBox2;
- private System.Windows.Forms.RadioButton PluginLangRubyRB;
- private System.Windows.Forms.RadioButton PluginLangPythonRB;
- private System.Windows.Forms.Label label4;
- private System.Windows.Forms.RadioButton NoOriginalParameterRB;
- private System.Windows.Forms.RadioButton OriginalParameterAfterPayloadRB;
- private System.Windows.Forms.RadioButton OriginalParameterBeforePayloadRB;
- private System.Windows.Forms.Label label5;
- private System.Windows.Forms.TextBox PluginFileTB;
- private System.Windows.Forms.Label label6;
- private System.Windows.Forms.TextBox textBox1;
- }
+//
+// Copyright 2011-2013 Lavakumar Kuppan
+//
+// This file is part of IronWASP
+//
+// IronWASP is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// IronWASP is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with IronWASP. If not, see http://www.gnu.org/licenses/.
+//
+
+namespace IronWASP
+{
+ partial class ActivePluginCreationAssistant
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ActivePluginCreationAssistant));
+ this.BaseTabs = new System.Windows.Forms.TabControl();
+ this.NameTab = new System.Windows.Forms.TabPage();
+ this.label2 = new System.Windows.Forms.Label();
+ this.PluginDescTB = new System.Windows.Forms.TextBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.PluginNameTB = new System.Windows.Forms.TextBox();
+ this.Step0StatusTB = new System.Windows.Forms.TextBox();
+ this.CancelBtn = new System.Windows.Forms.Button();
+ this.textBox2 = new System.Windows.Forms.TextBox();
+ this.StepOneNextBtn = new System.Windows.Forms.Button();
+ this.PayloadsTab = new System.Windows.Forms.TabPage();
+ this.label5 = new System.Windows.Forms.Label();
+ this.label4 = new System.Windows.Forms.Label();
+ this.NoOriginalParameterRB = new System.Windows.Forms.RadioButton();
+ this.OriginalParameterAfterPayloadRB = new System.Windows.Forms.RadioButton();
+ this.OriginalParameterBeforePayloadRB = new System.Windows.Forms.RadioButton();
+ this.textBox7 = new System.Windows.Forms.TextBox();
+ this.PayloadsFileLbl = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.PayloadsListTB = new System.Windows.Forms.TextBox();
+ this.LoadPayloadsFileLL = new System.Windows.Forms.LinkLabel();
+ this.Step1StatusTB = new System.Windows.Forms.TextBox();
+ this.textBox4 = new System.Windows.Forms.TextBox();
+ this.StepTwoPreviousBtn = new System.Windows.Forms.Button();
+ this.StepTwoNextBtn = new System.Windows.Forms.Button();
+ this.LanguageTab = new System.Windows.Forms.TabPage();
+ this.groupBox2 = new System.Windows.Forms.GroupBox();
+ this.PluginLangRubyRB = new System.Windows.Forms.RadioButton();
+ this.PluginLangPythonRB = new System.Windows.Forms.RadioButton();
+ this.Step2StatusTB = new System.Windows.Forms.TextBox();
+ this.textBox5 = new System.Windows.Forms.TextBox();
+ this.StepThreePreviousBtn = new System.Windows.Forms.Button();
+ this.StepThreeNextBtn = new System.Windows.Forms.Button();
+ this.FinalTab = new System.Windows.Forms.TabPage();
+ this.PluginFileTB = new System.Windows.Forms.TextBox();
+ this.label6 = new System.Windows.Forms.Label();
+ this.textBox1 = new System.Windows.Forms.TextBox();
+ this.FinalBtn = new System.Windows.Forms.Button();
+ this.PayloadFileOpener = new System.Windows.Forms.OpenFileDialog();
+ this.BaseTabs.SuspendLayout();
+ this.NameTab.SuspendLayout();
+ this.PayloadsTab.SuspendLayout();
+ this.LanguageTab.SuspendLayout();
+ this.groupBox2.SuspendLayout();
+ this.FinalTab.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // BaseTabs
+ //
+ this.BaseTabs.Appearance = System.Windows.Forms.TabAppearance.Buttons;
+ this.BaseTabs.Controls.Add(this.NameTab);
+ this.BaseTabs.Controls.Add(this.PayloadsTab);
+ this.BaseTabs.Controls.Add(this.LanguageTab);
+ this.BaseTabs.Controls.Add(this.FinalTab);
+ this.BaseTabs.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.BaseTabs.Location = new System.Drawing.Point(0, 0);
+ this.BaseTabs.Margin = new System.Windows.Forms.Padding(0);
+ this.BaseTabs.Name = "BaseTabs";
+ this.BaseTabs.Padding = new System.Drawing.Point(0, 0);
+ this.BaseTabs.SelectedIndex = 0;
+ this.BaseTabs.Size = new System.Drawing.Size(684, 461);
+ this.BaseTabs.TabIndex = 16;
+ this.BaseTabs.Selecting += new System.Windows.Forms.TabControlCancelEventHandler(this.BaseTabs_Selecting);
+ //
+ // NameTab
+ //
+ this.NameTab.Controls.Add(this.label2);
+ this.NameTab.Controls.Add(this.PluginDescTB);
+ this.NameTab.Controls.Add(this.label1);
+ this.NameTab.Controls.Add(this.PluginNameTB);
+ this.NameTab.Controls.Add(this.Step0StatusTB);
+ this.NameTab.Controls.Add(this.CancelBtn);
+ this.NameTab.Controls.Add(this.textBox2);
+ this.NameTab.Controls.Add(this.StepOneNextBtn);
+ this.NameTab.Location = new System.Drawing.Point(4, 25);
+ this.NameTab.Margin = new System.Windows.Forms.Padding(0);
+ this.NameTab.Name = "NameTab";
+ this.NameTab.Padding = new System.Windows.Forms.Padding(5);
+ this.NameTab.Size = new System.Drawing.Size(676, 432);
+ this.NameTab.TabIndex = 0;
+ this.NameTab.Text = " Plugin Name ";
+ this.NameTab.UseVisualStyleBackColor = true;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(11, 145);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(95, 13);
+ this.label2.TabIndex = 10;
+ this.label2.Text = "Plugin Description:";
+ //
+ // PluginDescTB
+ //
+ this.PluginDescTB.Location = new System.Drawing.Point(110, 142);
+ this.PluginDescTB.Name = "PluginDescTB";
+ this.PluginDescTB.Size = new System.Drawing.Size(556, 20);
+ this.PluginDescTB.TabIndex = 9;
+ this.PluginDescTB.TextChanged += new System.EventHandler(this.PluginDescTB_TextChanged);
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(32, 98);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(70, 13);
+ this.label1.TabIndex = 8;
+ this.label1.Text = "Plugin Name:";
+ //
+ // PluginNameTB
+ //
+ this.PluginNameTB.Location = new System.Drawing.Point(110, 95);
+ this.PluginNameTB.Name = "PluginNameTB";
+ this.PluginNameTB.Size = new System.Drawing.Size(556, 20);
+ this.PluginNameTB.TabIndex = 7;
+ this.PluginNameTB.TextChanged += new System.EventHandler(this.PluginNameTB_TextChanged);
+ //
+ // Step0StatusTB
+ //
+ this.Step0StatusTB.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.Step0StatusTB.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.Step0StatusTB.Location = new System.Drawing.Point(130, 374);
+ this.Step0StatusTB.Multiline = true;
+ this.Step0StatusTB.Name = "Step0StatusTB";
+ this.Step0StatusTB.Size = new System.Drawing.Size(409, 50);
+ this.Step0StatusTB.TabIndex = 6;
+ this.Step0StatusTB.TabStop = false;
+ this.Step0StatusTB.Visible = false;
+ //
+ // CancelBtn
+ //
+ this.CancelBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.CancelBtn.Location = new System.Drawing.Point(8, 401);
+ this.CancelBtn.Name = "CancelBtn";
+ this.CancelBtn.Size = new System.Drawing.Size(105, 23);
+ this.CancelBtn.TabIndex = 4;
+ this.CancelBtn.Text = "Cancel";
+ this.CancelBtn.UseVisualStyleBackColor = true;
+ this.CancelBtn.Click += new System.EventHandler(this.CancelBtn_Click);
+ //
+ // textBox2
+ //
+ this.textBox2.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox2.Dock = System.Windows.Forms.DockStyle.Top;
+ this.textBox2.Location = new System.Drawing.Point(5, 5);
+ this.textBox2.Multiline = true;
+ this.textBox2.Name = "textBox2";
+ this.textBox2.ReadOnly = true;
+ this.textBox2.Size = new System.Drawing.Size(666, 61);
+ this.textBox2.TabIndex = 3;
+ this.textBox2.TabStop = false;
+ this.textBox2.Text = resources.GetString("textBox2.Text");
+ //
+ // StepOneNextBtn
+ //
+ this.StepOneNextBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.StepOneNextBtn.Location = new System.Drawing.Point(561, 401);
+ this.StepOneNextBtn.Name = "StepOneNextBtn";
+ this.StepOneNextBtn.Size = new System.Drawing.Size(105, 23);
+ this.StepOneNextBtn.TabIndex = 2;
+ this.StepOneNextBtn.Text = "Next Step ->";
+ this.StepOneNextBtn.UseVisualStyleBackColor = true;
+ this.StepOneNextBtn.Click += new System.EventHandler(this.StepOneNextBtn_Click);
+ //
+ // PayloadsTab
+ //
+ this.PayloadsTab.Controls.Add(this.label5);
+ this.PayloadsTab.Controls.Add(this.label4);
+ this.PayloadsTab.Controls.Add(this.NoOriginalParameterRB);
+ this.PayloadsTab.Controls.Add(this.OriginalParameterAfterPayloadRB);
+ this.PayloadsTab.Controls.Add(this.OriginalParameterBeforePayloadRB);
+ this.PayloadsTab.Controls.Add(this.textBox7);
+ this.PayloadsTab.Controls.Add(this.PayloadsFileLbl);
+ this.PayloadsTab.Controls.Add(this.label3);
+ this.PayloadsTab.Controls.Add(this.PayloadsListTB);
+ this.PayloadsTab.Controls.Add(this.LoadPayloadsFileLL);
+ this.PayloadsTab.Controls.Add(this.Step1StatusTB);
+ this.PayloadsTab.Controls.Add(this.textBox4);
+ this.PayloadsTab.Controls.Add(this.StepTwoPreviousBtn);
+ this.PayloadsTab.Controls.Add(this.StepTwoNextBtn);
+ this.PayloadsTab.Location = new System.Drawing.Point(4, 25);
+ this.PayloadsTab.Margin = new System.Windows.Forms.Padding(0);
+ this.PayloadsTab.Name = "PayloadsTab";
+ this.PayloadsTab.Padding = new System.Windows.Forms.Padding(5);
+ this.PayloadsTab.Size = new System.Drawing.Size(676, 432);
+ this.PayloadsTab.TabIndex = 1;
+ this.PayloadsTab.Text = " Select Payloads ";
+ this.PayloadsTab.UseVisualStyleBackColor = true;
+ //
+ // label5
+ //
+ this.label5.AutoEllipsis = true;
+ this.label5.AutoSize = true;
+ this.label5.Location = new System.Drawing.Point(11, 356);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(468, 13);
+ this.label5.TabIndex = 26;
+ this.label5.Text = "During testing sometimes the parameter\'s original value needs to be added along w" +
+ "ith the payload.";
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(11, 374);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(311, 13);
+ this.label4.TabIndex = 25;
+ this.label4.Text = "Where do you want to add the tested parameter\'s original value?";
+ //
+ // NoOriginalParameterRB
+ //
+ this.NoOriginalParameterRB.AutoSize = true;
+ this.NoOriginalParameterRB.Location = new System.Drawing.Point(600, 372);
+ this.NoOriginalParameterRB.Name = "NoOriginalParameterRB";
+ this.NoOriginalParameterRB.Size = new System.Drawing.Size(69, 17);
+ this.NoOriginalParameterRB.TabIndex = 24;
+ this.NoOriginalParameterRB.Text = "don\'t add";
+ this.NoOriginalParameterRB.UseVisualStyleBackColor = true;
+ //
+ // OriginalParameterAfterPayloadRB
+ //
+ this.OriginalParameterAfterPayloadRB.AutoSize = true;
+ this.OriginalParameterAfterPayloadRB.Location = new System.Drawing.Point(480, 372);
+ this.OriginalParameterAfterPayloadRB.Name = "OriginalParameterAfterPayloadRB";
+ this.OriginalParameterAfterPayloadRB.Size = new System.Drawing.Size(104, 17);
+ this.OriginalParameterAfterPayloadRB.TabIndex = 23;
+ this.OriginalParameterAfterPayloadRB.Text = "after the payload";
+ this.OriginalParameterAfterPayloadRB.UseVisualStyleBackColor = true;
+ //
+ // OriginalParameterBeforePayloadRB
+ //
+ this.OriginalParameterBeforePayloadRB.AutoSize = true;
+ this.OriginalParameterBeforePayloadRB.Checked = true;
+ this.OriginalParameterBeforePayloadRB.Location = new System.Drawing.Point(352, 372);
+ this.OriginalParameterBeforePayloadRB.Name = "OriginalParameterBeforePayloadRB";
+ this.OriginalParameterBeforePayloadRB.Size = new System.Drawing.Size(113, 17);
+ this.OriginalParameterBeforePayloadRB.TabIndex = 22;
+ this.OriginalParameterBeforePayloadRB.TabStop = true;
+ this.OriginalParameterBeforePayloadRB.Text = "before the payload";
+ this.OriginalParameterBeforePayloadRB.UseVisualStyleBackColor = true;
+ //
+ // textBox7
+ //
+ this.textBox7.BackColor = System.Drawing.SystemColors.Control;
+ this.textBox7.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox7.ForeColor = System.Drawing.Color.Blue;
+ this.textBox7.Location = new System.Drawing.Point(15, 287);
+ this.textBox7.Multiline = true;
+ this.textBox7.Name = "textBox7";
+ this.textBox7.ReadOnly = true;
+ this.textBox7.Size = new System.Drawing.Size(637, 49);
+ this.textBox7.TabIndex = 16;
+ this.textBox7.TabStop = false;
+ this.textBox7.Text = "NOTE: \r\nThe payloads must be in Url Encoded form. For example null character must" +
+ " be represented as %00, new line as %0a, space character as +, + character as %2" +
+ "b and so on.";
+ //
+ // PayloadsFileLbl
+ //
+ this.PayloadsFileLbl.AutoSize = true;
+ this.PayloadsFileLbl.Location = new System.Drawing.Point(129, 247);
+ this.PayloadsFileLbl.Name = "PayloadsFileLbl";
+ this.PayloadsFileLbl.Size = new System.Drawing.Size(376, 13);
+ this.PayloadsFileLbl.TabIndex = 21;
+ this.PayloadsFileLbl.Text = " " +
+ " ";
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(9, 264);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(501, 13);
+ this.label3.TabIndex = 20;
+ this.label3.Text = "(If there are more than 5 payloads then they will be saved in a seperate file in " +
+ "the Active Plugins directory)";
+ //
+ // PayloadsListTB
+ //
+ this.PayloadsListTB.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.PayloadsListTB.Location = new System.Drawing.Point(8, 53);
+ this.PayloadsListTB.Multiline = true;
+ this.PayloadsListTB.Name = "PayloadsListTB";
+ this.PayloadsListTB.ScrollBars = System.Windows.Forms.ScrollBars.Both;
+ this.PayloadsListTB.Size = new System.Drawing.Size(660, 188);
+ this.PayloadsListTB.TabIndex = 17;
+ this.PayloadsListTB.WordWrap = false;
+ //
+ // LoadPayloadsFileLL
+ //
+ this.LoadPayloadsFileLL.AutoSize = true;
+ this.LoadPayloadsFileLL.Location = new System.Drawing.Point(8, 247);
+ this.LoadPayloadsFileLL.Name = "LoadPayloadsFileLL";
+ this.LoadPayloadsFileLL.Size = new System.Drawing.Size(115, 13);
+ this.LoadPayloadsFileLL.TabIndex = 16;
+ this.LoadPayloadsFileLL.TabStop = true;
+ this.LoadPayloadsFileLL.Text = "Load payloads from file";
+ this.LoadPayloadsFileLL.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LoadPayloadsFileLL_LinkClicked);
+ //
+ // Step1StatusTB
+ //
+ this.Step1StatusTB.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.Step1StatusTB.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.Step1StatusTB.Location = new System.Drawing.Point(119, 402);
+ this.Step1StatusTB.Multiline = true;
+ this.Step1StatusTB.Name = "Step1StatusTB";
+ this.Step1StatusTB.Size = new System.Drawing.Size(438, 22);
+ this.Step1StatusTB.TabIndex = 11;
+ this.Step1StatusTB.TabStop = false;
+ this.Step1StatusTB.Visible = false;
+ //
+ // textBox4
+ //
+ this.textBox4.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox4.Dock = System.Windows.Forms.DockStyle.Top;
+ this.textBox4.Location = new System.Drawing.Point(5, 5);
+ this.textBox4.Multiline = true;
+ this.textBox4.Name = "textBox4";
+ this.textBox4.ReadOnly = true;
+ this.textBox4.Size = new System.Drawing.Size(666, 45);
+ this.textBox4.TabIndex = 9;
+ this.textBox4.TabStop = false;
+ this.textBox4.Text = "\r\nPlease specify the payloads you want to be sent by this Active Plugin. You can " +
+ "either type the payloads one per line or provide a file with the list of payload" +
+ "s.\r\n\r\n";
+ //
+ // StepTwoPreviousBtn
+ //
+ this.StepTwoPreviousBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.StepTwoPreviousBtn.Location = new System.Drawing.Point(8, 401);
+ this.StepTwoPreviousBtn.Name = "StepTwoPreviousBtn";
+ this.StepTwoPreviousBtn.Size = new System.Drawing.Size(105, 23);
+ this.StepTwoPreviousBtn.TabIndex = 8;
+ this.StepTwoPreviousBtn.Text = "<-Previous Step";
+ this.StepTwoPreviousBtn.UseVisualStyleBackColor = true;
+ this.StepTwoPreviousBtn.Click += new System.EventHandler(this.StepTwoPreviousBtn_Click);
+ //
+ // StepTwoNextBtn
+ //
+ this.StepTwoNextBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.StepTwoNextBtn.Location = new System.Drawing.Point(563, 401);
+ this.StepTwoNextBtn.Name = "StepTwoNextBtn";
+ this.StepTwoNextBtn.Size = new System.Drawing.Size(105, 23);
+ this.StepTwoNextBtn.TabIndex = 7;
+ this.StepTwoNextBtn.Text = "Next Step ->";
+ this.StepTwoNextBtn.UseVisualStyleBackColor = true;
+ this.StepTwoNextBtn.Click += new System.EventHandler(this.StepTwoNextBtn_Click);
+ //
+ // LanguageTab
+ //
+ this.LanguageTab.Controls.Add(this.groupBox2);
+ this.LanguageTab.Controls.Add(this.Step2StatusTB);
+ this.LanguageTab.Controls.Add(this.textBox5);
+ this.LanguageTab.Controls.Add(this.StepThreePreviousBtn);
+ this.LanguageTab.Controls.Add(this.StepThreeNextBtn);
+ this.LanguageTab.Location = new System.Drawing.Point(4, 25);
+ this.LanguageTab.Name = "LanguageTab";
+ this.LanguageTab.Padding = new System.Windows.Forms.Padding(5);
+ this.LanguageTab.Size = new System.Drawing.Size(676, 432);
+ this.LanguageTab.TabIndex = 2;
+ this.LanguageTab.Text = " Select Language ";
+ this.LanguageTab.UseVisualStyleBackColor = true;
+ //
+ // groupBox2
+ //
+ this.groupBox2.Controls.Add(this.PluginLangRubyRB);
+ this.groupBox2.Controls.Add(this.PluginLangPythonRB);
+ this.groupBox2.Location = new System.Drawing.Point(7, 114);
+ this.groupBox2.Name = "groupBox2";
+ this.groupBox2.Size = new System.Drawing.Size(660, 110);
+ this.groupBox2.TabIndex = 20;
+ this.groupBox2.TabStop = false;
+ this.groupBox2.Text = "Which language should the plugin be created in?";
+ //
+ // PluginLangRubyRB
+ //
+ this.PluginLangRubyRB.AutoSize = true;
+ this.PluginLangRubyRB.Location = new System.Drawing.Point(12, 79);
+ this.PluginLangRubyRB.Name = "PluginLangRubyRB";
+ this.PluginLangRubyRB.Size = new System.Drawing.Size(50, 17);
+ this.PluginLangRubyRB.TabIndex = 15;
+ this.PluginLangRubyRB.Text = "Ruby";
+ this.PluginLangRubyRB.UseVisualStyleBackColor = true;
+ //
+ // PluginLangPythonRB
+ //
+ this.PluginLangPythonRB.AutoSize = true;
+ this.PluginLangPythonRB.Checked = true;
+ this.PluginLangPythonRB.Location = new System.Drawing.Point(12, 29);
+ this.PluginLangPythonRB.Name = "PluginLangPythonRB";
+ this.PluginLangPythonRB.Size = new System.Drawing.Size(58, 17);
+ this.PluginLangPythonRB.TabIndex = 14;
+ this.PluginLangPythonRB.TabStop = true;
+ this.PluginLangPythonRB.Text = "Python";
+ this.PluginLangPythonRB.UseVisualStyleBackColor = true;
+ //
+ // Step2StatusTB
+ //
+ this.Step2StatusTB.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.Step2StatusTB.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.Step2StatusTB.Location = new System.Drawing.Point(132, 385);
+ this.Step2StatusTB.Multiline = true;
+ this.Step2StatusTB.Name = "Step2StatusTB";
+ this.Step2StatusTB.Size = new System.Drawing.Size(410, 39);
+ this.Step2StatusTB.TabIndex = 13;
+ this.Step2StatusTB.TabStop = false;
+ this.Step2StatusTB.Visible = false;
+ //
+ // textBox5
+ //
+ this.textBox5.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.textBox5.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox5.Location = new System.Drawing.Point(5, 5);
+ this.textBox5.Multiline = true;
+ this.textBox5.Name = "textBox5";
+ this.textBox5.ReadOnly = true;
+ this.textBox5.Size = new System.Drawing.Size(666, 77);
+ this.textBox5.TabIndex = 11;
+ this.textBox5.TabStop = false;
+ this.textBox5.Text = "\r\nActive Plugins can be written in Python or in Ruby. Choose you language of choi" +
+ "ce and this Active Plugin will be created in that language.";
+ //
+ // StepThreePreviousBtn
+ //
+ this.StepThreePreviousBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.StepThreePreviousBtn.Location = new System.Drawing.Point(8, 401);
+ this.StepThreePreviousBtn.Name = "StepThreePreviousBtn";
+ this.StepThreePreviousBtn.Size = new System.Drawing.Size(105, 23);
+ this.StepThreePreviousBtn.TabIndex = 10;
+ this.StepThreePreviousBtn.Text = "<-Previous Step";
+ this.StepThreePreviousBtn.UseVisualStyleBackColor = true;
+ this.StepThreePreviousBtn.Click += new System.EventHandler(this.StepThreePreviousBtn_Click);
+ //
+ // StepThreeNextBtn
+ //
+ this.StepThreeNextBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.StepThreeNextBtn.Location = new System.Drawing.Point(563, 401);
+ this.StepThreeNextBtn.Name = "StepThreeNextBtn";
+ this.StepThreeNextBtn.Size = new System.Drawing.Size(105, 23);
+ this.StepThreeNextBtn.TabIndex = 9;
+ this.StepThreeNextBtn.Text = "Next Step ->";
+ this.StepThreeNextBtn.UseVisualStyleBackColor = true;
+ this.StepThreeNextBtn.Click += new System.EventHandler(this.StepThreeNextBtn_Click);
+ //
+ // FinalTab
+ //
+ this.FinalTab.Controls.Add(this.PluginFileTB);
+ this.FinalTab.Controls.Add(this.label6);
+ this.FinalTab.Controls.Add(this.textBox1);
+ this.FinalTab.Controls.Add(this.FinalBtn);
+ this.FinalTab.Location = new System.Drawing.Point(4, 25);
+ this.FinalTab.Name = "FinalTab";
+ this.FinalTab.Padding = new System.Windows.Forms.Padding(5);
+ this.FinalTab.Size = new System.Drawing.Size(676, 432);
+ this.FinalTab.TabIndex = 3;
+ this.FinalTab.Text = " Done ";
+ this.FinalTab.UseVisualStyleBackColor = true;
+ //
+ // PluginFileTB
+ //
+ this.PluginFileTB.Location = new System.Drawing.Point(75, 280);
+ this.PluginFileTB.Name = "PluginFileTB";
+ this.PluginFileTB.Size = new System.Drawing.Size(591, 20);
+ this.PluginFileTB.TabIndex = 23;
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Location = new System.Drawing.Point(11, 283);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(58, 13);
+ this.label6.TabIndex = 22;
+ this.label6.Text = "Plugin File:";
+ //
+ // textBox1
+ //
+ this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
+ this.textBox1.Location = new System.Drawing.Point(16, 41);
+ this.textBox1.Multiline = true;
+ this.textBox1.Name = "textBox1";
+ this.textBox1.ReadOnly = true;
+ this.textBox1.Size = new System.Drawing.Size(637, 209);
+ this.textBox1.TabIndex = 21;
+ this.textBox1.Text = resources.GetString("textBox1.Text");
+ //
+ // FinalBtn
+ //
+ this.FinalBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.FinalBtn.Location = new System.Drawing.Point(491, 389);
+ this.FinalBtn.Name = "FinalBtn";
+ this.FinalBtn.Size = new System.Drawing.Size(177, 35);
+ this.FinalBtn.TabIndex = 16;
+ this.FinalBtn.Text = "Close this Assistant";
+ this.FinalBtn.UseVisualStyleBackColor = true;
+ this.FinalBtn.Click += new System.EventHandler(this.FinalBtn_Click);
+ //
+ // ActivePluginCreationAssistant
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(684, 461);
+ this.Controls.Add(this.BaseTabs);
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximumSize = new System.Drawing.Size(700, 500);
+ this.MinimumSize = new System.Drawing.Size(700, 500);
+ this.Name = "ActivePluginCreationAssistant";
+ this.Text = "ActivePlugin Creation Assistant";
+ this.BaseTabs.ResumeLayout(false);
+ this.NameTab.ResumeLayout(false);
+ this.NameTab.PerformLayout();
+ this.PayloadsTab.ResumeLayout(false);
+ this.PayloadsTab.PerformLayout();
+ this.LanguageTab.ResumeLayout(false);
+ this.LanguageTab.PerformLayout();
+ this.groupBox2.ResumeLayout(false);
+ this.groupBox2.PerformLayout();
+ this.FinalTab.ResumeLayout(false);
+ this.FinalTab.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.TabControl BaseTabs;
+ private System.Windows.Forms.TabPage NameTab;
+ internal System.Windows.Forms.TextBox Step0StatusTB;
+ private System.Windows.Forms.Button CancelBtn;
+ private System.Windows.Forms.TextBox textBox2;
+ private System.Windows.Forms.Button StepOneNextBtn;
+ private System.Windows.Forms.TabPage PayloadsTab;
+ internal System.Windows.Forms.TextBox Step1StatusTB;
+ private System.Windows.Forms.TextBox textBox4;
+ private System.Windows.Forms.Button StepTwoPreviousBtn;
+ private System.Windows.Forms.Button StepTwoNextBtn;
+ private System.Windows.Forms.TabPage LanguageTab;
+ internal System.Windows.Forms.TextBox Step2StatusTB;
+ private System.Windows.Forms.TextBox textBox5;
+ private System.Windows.Forms.Button StepThreePreviousBtn;
+ private System.Windows.Forms.Button StepThreeNextBtn;
+ private System.Windows.Forms.TabPage FinalTab;
+ private System.Windows.Forms.Button FinalBtn;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox PluginDescTB;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.TextBox PluginNameTB;
+ private System.Windows.Forms.OpenFileDialog PayloadFileOpener;
+ private System.Windows.Forms.TextBox textBox7;
+ private System.Windows.Forms.TextBox PayloadsListTB;
+ private System.Windows.Forms.LinkLabel LoadPayloadsFileLL;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label PayloadsFileLbl;
+ private System.Windows.Forms.GroupBox groupBox2;
+ private System.Windows.Forms.RadioButton PluginLangRubyRB;
+ private System.Windows.Forms.RadioButton PluginLangPythonRB;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.RadioButton NoOriginalParameterRB;
+ private System.Windows.Forms.RadioButton OriginalParameterAfterPayloadRB;
+ private System.Windows.Forms.RadioButton OriginalParameterBeforePayloadRB;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.TextBox PluginFileTB;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.TextBox textBox1;
+ }
}
\ No newline at end of file
diff --git a/IronWASP/ActivePluginCreationAssistant.cs b/Iron/ActivePluginCreationAssistant.cs
similarity index 98%
rename from IronWASP/ActivePluginCreationAssistant.cs
rename to Iron/ActivePluginCreationAssistant.cs
index 0c9b120..f8cd626 100644
--- a/IronWASP/ActivePluginCreationAssistant.cs
+++ b/Iron/ActivePluginCreationAssistant.cs
@@ -1,623 +1,623 @@
-//
-// Copyright 2011-2013 Lavakumar Kuppan
-//
-// This file is part of IronWASP
-//
-// IronWASP is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 3 of the License.
-//
-// IronWASP is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with IronWASP. If not, see http://www.gnu.org/licenses/.
-//
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-using System.Text.RegularExpressions;
-using System.IO;
-
-namespace IronWASP
-{
- public partial class ActivePluginCreationAssistant : Form
- {
- string PluginName = "";
- string PluginDescription = "";
- List Payloads = new List();
-
- int CurrentStep = 0;
- string[] IndexNames = new string[] { "NameTab", "PayloadsTab", "LanguageTab", "FinalTab" };
-
- string PayloadsFileName = "";
-
- int MaxCountForPayloadsList = 5;
-
- public ActivePluginCreationAssistant()
- {
- InitializeComponent();
- }
-
- private void StepOneNextBtn_Click(object sender, EventArgs e)
- {
- ShowStep0Error("");
- string Name = PluginNameTB.Text.Trim();
- if (Name.Length == 0)
- {
- PluginNameTB.BackColor = Color.Red;
- ShowStep0Error("Plugin name cannot be empty");
- return;
- }
- if (!Regex.IsMatch(Name, "^[a-zA-Z]+$"))
- {
- PluginNameTB.BackColor = Color.Red;
- ShowStep0Error("Plugin Name should only contain alphabets (a-z)");
- return;
- }
- if (!Name[0].ToString().ToUpper().Equals(Name[0].ToString()))
- {
- ShowStep0Error("Plugin Name should begin with an upper case letter");
- return;
- }
- if (ActivePlugin.List().Contains(Name))
- {
- PluginNameTB.BackColor = Color.Red;
- ShowStep0Error("An Active Plugin with this name already exists. Select a different name.");
- return;
- }
- string Desc = PluginDescTB.Text;
- if (Desc.Trim().Length == 0)
- {
- PluginDescTB.BackColor = Color.Red;
- ShowStep0Error("Plugin description cannot be empty");
- return;
- }
- this.PluginName = Name;
- this.PluginDescription = Desc;
- this.CurrentStep = 1;
- this.BaseTabs.SelectTab("PayloadsTab");
- }
-
- void ShowStep0Status(string Text)
- {
- this.Step0StatusTB.Text = Text;
- if (Text.Length == 0)
- {
- this.Step0StatusTB.Visible = false;
- }
- else
- {
- this.Step0StatusTB.ForeColor = Color.Black;
- this.Step0StatusTB.Visible = true;
- }
- }
- void ShowStep0Error(string Text)
- {
- this.Step0StatusTB.Text = Text;
- if (Text.Length == 0)
- {
- this.Step0StatusTB.Visible = false;
- }
- else
- {
- this.Step0StatusTB.ForeColor = Color.Red;
- this.Step0StatusTB.Visible = true;
- }
- }
- void ShowStep1Status(string Text)
- {
- this.Step1StatusTB.Text = Text;
- if (Text.Length == 0)
- {
- this.Step1StatusTB.Visible = false;
- }
- else
- {
- this.Step1StatusTB.ForeColor = Color.Black;
- this.Step1StatusTB.Visible = true;
- }
- }
- void ShowStep1Error(string Text)
- {
- this.Step1StatusTB.Text = Text;
- if (Text.Length == 0)
- {
- this.Step1StatusTB.Visible = false;
- }
- else
- {
- this.Step1StatusTB.ForeColor = Color.Red;
- this.Step1StatusTB.Visible = true;
- }
- }
- void ShowStep2Status(string Text)
- {
- this.Step2StatusTB.Text = Text;
- if (Text.Length == 0)
- {
- this.Step2StatusTB.Visible = false;
- }
- else
- {
- this.Step2StatusTB.ForeColor = Color.Black;
- this.Step2StatusTB.Visible = true;
- }
- }
- void ShowStep2Error(string Text)
- {
- this.Step2StatusTB.Text = Text;
- if (Text.Length == 0)
- {
- this.Step2StatusTB.Visible = false;
- }
- else
- {
- this.Step2StatusTB.ForeColor = Color.Red;
- this.Step2StatusTB.Visible = true;
- }
- }
-
- private void PluginNameTB_TextChanged(object sender, EventArgs e)
- {
- if (PluginNameTB.BackColor == Color.Red) PluginNameTB.BackColor = Color.White;
- }
-
- private void PluginDescTB_TextChanged(object sender, EventArgs e)
- {
- if (PluginDescTB.BackColor == Color.Red) PluginDescTB.BackColor = Color.White;
- }
-
- private void CancelBtn_Click(object sender, EventArgs e)
- {
- this.Close();
- }
-
- private void StepTwoPreviousBtn_Click(object sender, EventArgs e)
- {
- this.CurrentStep = 0;
- this.BaseTabs.SelectTab("NameTab");
- }
-
- private void StepTwoNextBtn_Click(object sender, EventArgs e)
- {
- ShowStep1Error("");
- List PayloadsTempList = new List(PayloadsListTB.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries));
- if (PayloadsTempList.Count == 0)
- {
- ShowStep1Error("No valid payloads were entered. Enter atleast one payload before you proceed to next step.");
- }
- else
- {
- this.Payloads.Clear();
- this.Payloads = new List(PayloadsTempList);
- this.CurrentStep = 2;
- this.BaseTabs.SelectTab("LanguageTab");
- }
- }
-
- private void StepThreePreviousBtn_Click(object sender, EventArgs e)
- {
- this.CurrentStep = 1;
- this.BaseTabs.SelectTab("PayloadsTab");
- }
-
- private void StepThreeNextBtn_Click(object sender, EventArgs e)
- {
- ShowStep2Error("");
- try
- {
- CreatePlugin();
- }
- catch (Exception Exp)
- {
- ShowStep2Error(string.Format("Unable to create plugin file - {0}", Exp.Message));
- return;
- }
- this.CurrentStep = 3;
- this.BaseTabs.SelectTab("FinalTab");
- }
-
- private void FinalBtn_Click(object sender, EventArgs e)
- {
- this.Close();
- }
-
- private void LoadPayloadsFileLL_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
- {
- while (PayloadFileOpener.ShowDialog() == DialogResult.OK)
- {
- FileInfo Info = new FileInfo(PayloadFileOpener.FileName);
- try
- {
- StreamReader SR = new StreamReader(Info.FullName);
- PayloadsListTB.Text = SR.ReadToEnd();
- SR.Close();
- PayloadsFileLbl.Text = Info.FullName;
- }
- catch(Exception Exp)
- {
- MessageBox.Show(string.Format("Error reading selected file: {0}", Exp));
- }
- break;
- }
- }
-
- void CreatePlugin()
- {
- if (this.Payloads.Count > this.MaxCountForPayloadsList) SavePayloadsToFile();
- string[] PluginCodes = CreatePluginCode();
- string PyCode = PluginCodes[0];
- string RbCode = PluginCodes[1];
-
- string PluginCode = PyCode;
-
- string PluginLang = "py";
- if (PluginLangRubyRB.Checked)
- {
- PluginCode = RbCode;
- PluginLang = "rb";
- }
-
- bool PluginCreated = false;
- int Counter = 0;
- string FFN = "";
-
- while (!PluginCreated)
- {
- string FN = "";
- if (Counter == 0)
- FN = string.Format("{0}.{1}", PluginName, PluginLang);
- else
- FN = string.Format("{0}_{1}.{2}", PluginName, Counter, PluginLang);
- FFN = string.Format("{0}\\plugins\\active\\{1}", Config.Path, FN);
- Counter++;
- if (!File.Exists(FFN))
- {
- File.WriteAllText(FFN, PluginCode);
- PluginCreated = true;
- PluginEngine.LoadNewActivePlugins();
- PluginFileTB.Text = FFN;
- }
- }
- }
-
- void SavePayloadsToFile()
- {
- bool FileCreated = false;
- int Counter = 0;
- string FFN = "";
- StringBuilder SB = new StringBuilder();
- foreach (string Payload in this.Payloads)
- {
- SB.AppendLine(Payload);
- }
- while (!FileCreated)
- {
- string FN = "";
- if (Counter == 0)
- FN = string.Format("{0}_payloads.txt", PluginName);
- else
- FN = string.Format("{0}_payloads_{1}.txt", PluginName, Counter);
- FFN = string.Format("{0}\\plugins\\active\\{1}", Config.Path, FN);
- Counter++;
- if (!File.Exists(FFN))
- {
- File.WriteAllText(FFN, SB.ToString());
- FileCreated = true;
- this.PayloadsFileName = FN;
- }
- }
- }
-
- string[] CreatePluginCode()
- {
- StringBuilder Py = new StringBuilder();
- StringBuilder Rb = new StringBuilder();
-
- Py.AppendLine("from IronWASP import *");
- Py.AppendLine("import re");
- Py.AppendLine();
- Py.AppendLine();
-
- Rb.AppendLine("include IronWASP");
- Rb.AppendLine();
- Rb.AppendLine();
-
- Py.AppendLine("#Extend the ActivePlugin base class");
- Py.AppendLine(string.Format("class {0}(ActivePlugin):", PluginName));
- Py.AppendLine();
- Py.AppendLine();
-
- Rb.AppendLine("#Extend the ActivePlugin base class");
- Rb.AppendLine(string.Format("class {0} < ActivePlugin", PluginName));
- Rb.AppendLine();
- Rb.AppendLine();
- Rb.Append(" "); Rb.AppendLine("attr_accessor :payloads");
- Rb.AppendLine();
-
-
- Py.Append(" "); Py.AppendLine("#Implement the GetInstance method of ActivePlugin class. This method is used to create new instances of this plugin.");
- Py.Append(" "); Py.AppendLine("def GetInstance(self):");
- Py.Append(" "); Py.AppendLine(string.Format("p = {0}()", PluginName));
- Py.Append(" "); Py.AppendLine(string.Format("p.Name = '{0}'", PluginName));
- Py.Append(" "); Py.AppendLine(string.Format("p.Description = '{0}'", PluginDescription.Replace("'", "\\'")));
- Py.Append(" "); Py.AppendLine(string.Format("p.Version = '0.1'", PluginName));
- Py.Append(" "); Py.AppendLine("p.payloads = []");
-
- Rb.Append(" "); Rb.AppendLine("#Implement the GetInstance method of ActivePlugin class. This method is used to create new instances of this plugin.");
- Rb.Append(" "); Rb.AppendLine("def GetInstance()");
- Rb.Append(" "); Rb.AppendLine(string.Format("p = {0}.new", PluginName));
- Rb.Append(" "); Rb.AppendLine(string.Format("p.name = '{0}'", PluginName));
- Rb.Append(" "); Rb.AppendLine(string.Format("p.description = '{0}'", PluginDescription.Replace("'", "\\'")));
- Rb.Append(" "); Rb.AppendLine(string.Format("p.version = '0.1'", PluginName));
- Rb.Append(" "); Rb.AppendLine("p.payloads = []");
-
- if(this.Payloads.Count > this.MaxCountForPayloadsList)
- {
- Py.Append(" "); Py.AppendLine("#Update this instance with the payloads read from the payloads file");
- Py.Append(" "); Py.AppendLine("p.payloads.extend(self.payloads)");
-
- Rb.Append(" "); Rb.AppendLine("#Update this instance with the payloads read from the payloads file");
- Rb.Append(" "); Rb.AppendLine("for payload in @payloads");
- Rb.Append(" "); Rb.AppendLine("p.payloads.push(payload)");
- Rb.Append(" "); Rb.AppendLine("end");
- }
- Py.Append(" "); Py.AppendLine("return p");
- Py.AppendLine();
- Py.AppendLine();
-
- Rb.Append(" "); Rb.AppendLine("return p");
- Rb.Append(" "); Rb.AppendLine("end");
- Rb.AppendLine();
- Rb.AppendLine();
-
- Py.Append(" "); Py.AppendLine("#Implement the Check method of ActivePlugin class. This is the method called by the Scanner and the entry point in to the plugin.");
- Py.Append(" "); Py.AppendLine("def Check(self, scnr):");
- Py.Append(" "); Py.AppendLine("self.scnr = scnr # 'scnr' is the Scanner object calling this plugin");
- Py.Append(" "); Py.AppendLine("#Print out a message to the Scan trace indicating the start of the check. Check the comments at the bottom to know more about the Trace feature and the formattng inside Scan trace messages.");
- Py.Append(" "); Py.AppendLine(string.Format(@"self.scnr.Trace("">>Checking for {0}:>>>"")", PluginName));
-
- Rb.Append(" "); Rb.AppendLine("#Implement the Check method of ActivePlugin class. This is the method called by the Scanner and the entry point in to the plugin.");
- Rb.Append(" "); Rb.AppendLine("def Check(scnr)");
- Rb.Append(" "); Rb.AppendLine("@scnr = scnr # 'scnr' is the Scanner object calling this plugin");
- Rb.Append(" "); Rb.AppendLine("#Print out a message to the Scan trace indicating the start of the check. Check the comments at the bottom to know more about the Trace feature and the formattng inside Scan trace messages.");
- Rb.Append(" "); Rb.AppendLine(string.Format(@"@scnr.trace("">>Checking for {0}:>>>"")", PluginName));
-
- if(this.Payloads.Count <= this.MaxCountForPayloadsList)
- {
- Py.Append(" "); Py.AppendLine("#Store the payloads in a list");
- Py.Append(" ");Py.Append("self.payloads = [");
-
- Rb.Append(" "); Rb.AppendLine("#Store the payloads in a list");
- Rb.Append(" "); Rb.Append("@payloads = [");
-
- for(int i = 0; i < this.Payloads.Count; i++)
- {
- string Payload = this.Payloads[i];
-
- Py.Append("\""); Py.Append(Tools.EscapeDoubleQuotes(Payload)); Py.Append("\"");
- Rb.Append("\""); Rb.Append(Tools.EscapeDoubleQuotes(Payload)); Rb.Append("\"");
-
- if (i < (this.Payloads.Count - 1))
- {
- Py.Append(",");
- Rb.Append(",");
- }
- }
- Py.Append("]");
- Py.AppendLine();
-
- Rb.Append("]");
- Rb.AppendLine();
- }
- Py.Append(" "); Py.AppendLine("#Request trace adds information about the request to the Trace. The log id of the Request is automatically added.");
- Py.Append(" "); Py.AppendLine(@"self.scnr.RequestTrace(""Sending request without payloads to get normal response - "")");
- Py.Append(" "); Py.AppendLine("#This methods sends the original request without any payloads. If any Session Plugin is selected with this scan job then that Session Plugin is used to update the original request before sending.");
- Py.Append(" "); Py.AppendLine(@"res = self.scnr.Inject()");
- Py.Append(" "); Py.AppendLine("#Response trace adds information about the response to the Trace in the same line as the previous RequestTrace message. This and RequestTrace must be called together.");
- Py.Append(" "); Py.AppendLine(@"self.scnr.ResponseTrace("" ==> Normal Code - "" + str(res.Code) + "" | Normal Length - "" + str(res.BodyLength))");
- Py.Append(" "); Py.AppendLine(@"self.scnr.Trace("">>Starting injection of payloads>>"")");
- Py.Append(" "); Py.AppendLine("for payload in self.payloads:");
- Py.Append(" "); Py.AppendLine("#Since the payloads are stored in url encoded form they are decoded before being used.");
- Py.Append(" "); Py.AppendLine("payload = Tools.UrlDecode(payload)");
-
- Rb.Append(" "); Rb.AppendLine("#Request trace adds information about the request to the Trace. The log id of the Request is automatically added.");
- Rb.Append(" "); Rb.AppendLine(@"@scnr.request_trace(""Sending request without payloads to get normal response - "")");
- Rb.Append(" "); Rb.AppendLine("#This methods sends the original request without any payloads. If any Session Plugin is selected with this scan job then that Session Plugin is used to update the original request before sending.");
- Rb.Append(" "); Rb.AppendLine(@"res = @scnr.inject");
- Rb.Append(" "); Rb.AppendLine("#Response trace adds information about the response to the Trace in the same line as the previous RequestTrace message. This and RequestTrace must be called together.");
- Rb.Append(" "); Rb.AppendLine(@"@scnr.response_trace("" ==> Normal Code - "" + res.code.to_s + "" | Normal Length - "" + res.body_length.to_s)");
- Rb.Append(" "); Rb.AppendLine(@"@scnr.trace("">>Starting injection of payloads>>"")");
- Rb.Append(" "); Rb.AppendLine("for payload in @payloads");
- Rb.Append(" "); Rb.AppendLine("#Since the payloads are stored in url encoded form they are decoded before being used.");
- Rb.Append(" "); Rb.AppendLine("payload = Tools.url_decode(payload)");
-
- if (OriginalParameterBeforePayloadRB.Checked)
- {
- Py.Append(" "); Py.AppendLine("#The original value of the currently tested parameter is added before the payload. self.scnr.PreInjectionParameterValue gives this value.");
- Py.Append(" "); Py.AppendLine("payload = self.scnr.PreInjectionParameterValue + payload");
-
- Rb.Append(" "); Rb.AppendLine("#The original value of the currently tested parameter is added before the payload. @scnr.pre_injection_parameter_value gives this value.");
- Rb.Append(" "); Rb.AppendLine("payload = @scnr.pre_injection_parameter_value + payload");
- }
- else if (OriginalParameterAfterPayloadRB.Checked)
- {
- Py.Append(" "); Py.AppendLine("#The original value of the currently tested parameter is added at the end of the payload. self.scnr.PreInjectionParameterValue gives this value.");
- Py.Append(" "); Py.AppendLine("payload = payload + self.scnr.PreInjectionParameterValue");
-
- Rb.Append(" "); Rb.AppendLine("#The original value of the currently tested parameter is added at the end of the payload. @scnr.pre_injection_parameter_value gives this value.");
- Rb.Append(" "); Rb.AppendLine("payload = payload + @scnr.pre_injection_parameter_value");
- }
- Py.Append(" "); Py.AppendLine("#Tools.EncodeForTrace converts the input in to a form that is friendly towards being added to the Scan Trace");
- Py.Append(" "); Py.AppendLine(@"self.scnr.RequestTrace(""Injected - "" + Tools.EncodeForTrace(payload))");
- Py.Append(" "); Py.AppendLine("#The payload is injected in the parameter currently being tested and the response is returned. If a Session Plugin was used along with this Scan Job it would have been called now internally.");
- Py.Append(" "); Py.AppendLine(@"res = self.scnr.Inject(payload)");
- Py.Append(" "); Py.AppendLine("if res.Code == 500:");
- Py.Append(" "); Py.AppendLine(@"self.scnr.ResponseTrace("" ==> > Got 500 response code. Indicates error on the server.>"")");
- Py.Append(" "); Py.AppendLine("#If the response code is 500 then we report a vulnerability");
- Py.Append(" "); Py.AppendLine("self.report_vuln(Tools.EncodeForTrace(payload))");
- Py.Append(" "); Py.AppendLine("else:");
- Py.Append(" "); Py.AppendLine(@"self.scnr.ResponseTrace("" ==> Code - "" + str(res.Code) + "" | Length - "" + str(res.BodyLength))");
- Py.AppendLine();
- Py.AppendLine();
-
- Rb.Append(" "); Rb.AppendLine("#Tools.encode_for_trace converts the input in to a form that is friendly towards being added to the Scan Trace");
- Rb.Append(" "); Rb.AppendLine(@"@scnr.request_trace(""Injected - "" + Tools.encode_for_trace(payload))");
- Rb.Append(" "); Rb.AppendLine("#The payload is injected in the parameter currently being tested and the response is returned. If a Session Plugin was used along with this Scan Job it would have been called now internally.");
- Rb.Append(" "); Rb.AppendLine(@"res = @scnr.inject(payload)");
- Rb.Append(" "); Rb.AppendLine("if res.code == 500");
- Rb.Append(" "); Rb.AppendLine(@"@scnr.response_trace("" ==> > Got 500 response code. Indicates error on the server.>"")");
- Rb.Append(" "); Rb.AppendLine("#If the response code is 500 then we report a vulnerability");
- Rb.Append(" "); Rb.AppendLine("report_vuln(Tools.encode_for_trace(payload))");
- Rb.Append(" "); Rb.AppendLine("else");
- Rb.Append(" "); Rb.AppendLine(@"@scnr.response_trace("" ==> Code - "" + res.code.to_s + "" | Length - "" + res.body_length.to_s)");
- Rb.Append(" "); Rb.AppendLine("end");
- Rb.Append(" "); Rb.AppendLine("end");
- Rb.Append(" "); Rb.AppendLine("end");
- Rb.AppendLine();
- Rb.AppendLine();
-
- Py.Append(" "); Py.AppendLine("#This method implements the vulnerability reporting function");
- Py.Append(" "); Py.AppendLine("def report_vuln(self, payload):");
- Py.Append(" "); Py.AppendLine("#Create a new instance of the Finding class, it takes the BaseUrl property of the Request object as constructor argument. The self.scnr.BaseRequest property returns the original request that is being scanned.");
- Py.Append(" "); Py.AppendLine("f = Finding(self.scnr.BaseRequest.BaseUrl)");
- Py.Append(" "); Py.AppendLine("#The type of the finding is set as vulnerability. Other possible values are FindingType.Information and FindingType.TestLead");
- Py.Append(" "); Py.AppendLine("f.Type = FindingType.Vulnerability");
- Py.Append(" "); Py.AppendLine("#The confidence of the finding is set as Medium. This property only applies to vulnerabilities. TestLeads and Information don't need to set this. Other possible values are FindingConfidence.High and FindingConfidence.Low");
- Py.Append(" "); Py.AppendLine("f.Confidence = FindingConfidence.Medium");
- Py.Append(" "); Py.AppendLine("#The severity of the finding is set as High. This property only applies to vulnerabilities. TestLeads and Information don't need to set this. Other possible values are FindingSeverity.Medium and FindingSeverity.Low");
- Py.Append(" "); Py.AppendLine("f.Severity = FindingSeverity.High");
- Py.Append(" "); Py.AppendLine("#This vulnerability is given a title");
- Py.Append(" "); Py.AppendLine(string.Format("f.Title = '{0} vulnerability found'", this.PluginName));
- Py.Append(" "); Py.AppendLine("#This vulnerability summary and trace are added. self.scnr.InjectedParameter gives the name of the parameter that was tested. self.scnr.InjectedSection gives the section where the parameter is located in the request. self.scnr.GetTrace() returns the scan trace messages collected up to this ponit as a string.");
- Py.Append(" "); Py.AppendLine(string.Format(@"f.Summary = ""{0} vulnerability has been detected in the '"" + self.scnr.InjectedParameter + ""' parameter of the "" + self.scnr.InjectedSection + "" section of the request. >>>Test Trace:> "" + self.scnr.GetTrace()", this.PluginName));
- Py.Append(" "); Py.AppendLine("#Triggers are a collection of Trigger objects. A Trigger is a set of Request object, corrresponding Response object and some keywords that were found in the Request and Response that triggered the detection of this vulnerability.");
- Py.Append(" "); Py.AppendLine("#self.scnr.InjectedRequest property returns the request that was sent using the Inject method and self.scnr.InjectionResponse property gives the response to that request. In this case the request trigger is added as the injected payload and the response trigger is the status code 500");
- Py.Append(" "); Py.AppendLine(@"f.Triggers.Add(payload, self.scnr.InjectedRequest, '500', self.scnr.InjectionResponse)");
- Py.Append(" "); Py.AppendLine("#After defining the vulnerability it is added to the scanner objects list of findings");
- Py.Append(" "); Py.AppendLine("self.scnr.AddFinding(f)");
- Py.Append(" "); Py.AppendLine("#self.scnr.SetTraceTitle sets a title to this scan trace message. A title makes it easy to identify that this particular scan had some interesting finding.");
- Py.Append(" "); Py.AppendLine("#The second argument to this function is the title importantance value. The SetTraceTitle method can be called multiple times in this plugin. But only the title that was given the highest importance value will be displayed in the scan trace. If there are more than one title with the highest priority value then their all these high importance titles will be shown.");
- Py.Append(" "); Py.AppendLine(string.Format(@"self.scnr.SetTraceTitle(""{0} Found"",100)", this.PluginName));
-
- Rb.Append(" "); Rb.AppendLine("#This method implements the vulnerability reporting function");
- Rb.Append(" "); Rb.AppendLine("def report_vuln(payload)");
- Rb.Append(" "); Rb.AppendLine("#Create a new instance of the Finding class, it takes the BaseUrl property of the Request object as constructor argument. The @scnr.base_request.base_url property returns the original request that is being scanned.");
- Rb.Append(" "); Rb.AppendLine("f = Finding.new(@scnr.base_request.base_url)");
- Rb.Append(" "); Rb.AppendLine("#The type of the finding is set as vulnerability. Other possible values are FindingType.information and FindingType.test_lead");
- Rb.Append(" "); Rb.AppendLine("f.type = FindingType.vulnerability");
- Rb.Append(" "); Rb.AppendLine("#The confidence of the finding is set as Medium. This property only applies to vulnerabilities. TestLeads and Information don't need to set this. Other possible values are FindingConfidence.high and FindingConfidence.low");
- Rb.Append(" "); Rb.AppendLine("f.confidence = FindingConfidence.medium");
- Rb.Append(" "); Rb.AppendLine("#The severity of the finding is set as High. This property only applies to vulnerabilities. TestLeads and Information don't need to set this. Other possible values are FindingSeverity.Medium and FindingSeverity.Low");
- Rb.Append(" "); Rb.AppendLine("f.severity = FindingSeverity.high");
- Rb.Append(" "); Rb.AppendLine("#This vulnerability is given a title");
- Rb.Append(" "); Rb.AppendLine(string.Format("f.title = '{0} vulnerability found'", this.PluginName));
- Rb.Append(" "); Rb.AppendLine("#This vulnerability summary and trace are added. @scnr.injected_parameter gives the name of the parameter that was tested. @scnr.injected_section gives the section where the parameter is located in the request. @scnr.get_trace returns the scan trace messages collected up to this ponit as a string.");
- Rb.Append(" "); Rb.AppendLine(string.Format(@"f.summary = ""{0} vulnerability has been detected in the '"" + @scnr.injected_parameter + ""' parameter of the "" + @scnr.injected_section + "" section of the request. >>>Test Trace:> "" + @scnr.get_trace", this.PluginName));
- Rb.Append(" "); Rb.AppendLine("#Triggers are a collection of Trigger objects. A Trigger is a set of Request object, corrresponding Response object and some keywords that were found in the Request and Response that triggered the detection of this vulnerability.");
- Rb.Append(" "); Rb.AppendLine("#@scnr.injected_request property returns the request that was sent using the Inject method and @scnr.injection_response property gives the response to that request. In this case the request trigger is added as the injected payload and the response trigger is the status code 500");
- Rb.Append(" "); Rb.AppendLine(@"f.triggers.add(payload, @scnr.injected_request, '500', @scnr.injection_response)");
- Rb.Append(" "); Rb.AppendLine("#After defining the vulnerability it is added to the scanner objects list of findings");
- Rb.Append(" "); Rb.AppendLine("@scnr.add_finding(f)");
- Rb.Append(" "); Rb.AppendLine("#@scnr.set_trace_title sets a title to this scan trace message. A title makes it easy to identify that this particular scan had some interesting finding.");
- Rb.Append(" "); Rb.AppendLine("#The second argument to this function is the title importantance value. The set_trace_title method can be called multiple times in this plugin. But only the title that was given the highest importance value will be displayed in the scan trace. If there are more than one title with the highest priority value then their all these high importance titles will be shown.");
- Rb.Append(" "); Rb.AppendLine(string.Format(@"@scnr.set_trace_title(""{0} Found"",100)", this.PluginName));
- Rb.Append(" "); Rb.AppendLine("end");
-
- if (this.Payloads.Count > this.MaxCountForPayloadsList)
- {
- Py.AppendLine();
- Py.AppendLine();
- Py.Append(" "); Py.AppendLine("#This method reads the payloads from the payloads files and stores it in a variable");
- Py.Append(" "); Py.AppendLine("def load_payloads_from_file(self):");
- Py.Append(" "); Py.AppendLine("#Config.Path gives the full path directory containing IronWASP.exe");
- Py.Append(" "); Py.AppendLine(string.Format(@"p_file = open(Config.Path + ""\\plugins\\active\\{0}"")", this.PayloadsFileName));
- Py.Append(" "); Py.AppendLine("self.payloads = []");
- Py.Append(" "); Py.AppendLine("payloads_with_newline = p_file.readlines()");
- Py.Append(" "); Py.AppendLine("p_file.close()");
- Py.Append(" "); Py.AppendLine("for pwnl in payloads_with_newline:");
- Py.Append(" "); Py.AppendLine("self.payloads.append(pwnl.rstrip())");
-
- Rb.AppendLine();
- Rb.AppendLine();
- Rb.Append(" "); Rb.AppendLine("#This method reads the payloads from the payloads files and stores it in a variable");
- Rb.Append(" "); Rb.AppendLine("def load_payloads_from_file()");
- Rb.Append(" "); Rb.AppendLine("#Config.path gives the full path directory containing IronWASP.exe");
- Rb.Append(" "); Rb.AppendLine(string.Format(@"p_file = File.open(Config.path + ""\\plugins\\active\\{0}"")", this.PayloadsFileName));
- Rb.Append(" "); Rb.AppendLine("@payloads = []");
- Rb.Append(" "); Rb.AppendLine("payloads_with_newline = p_file.readlines");
- Rb.Append(" "); Rb.AppendLine("p_file.close");
- Rb.Append(" "); Rb.AppendLine("for pwnl in payloads_with_newline");
- Rb.Append(" "); Rb.AppendLine("@payloads.push(pwnl.rstrip)");
- Rb.Append(" "); Rb.AppendLine("end");
- Rb.Append(" "); Rb.AppendLine("end");
- }
- Py.AppendLine();
- Py.AppendLine();
- Py.AppendLine();
- Py.AppendLine("#This code is executed only once when this new plugin is loaded in to the memory.");
- Py.AppendLine("#Create an instance of the this plugin");
- Py.AppendLine(string.Format("p = {0}()", this.PluginName));
-
- Rb.AppendLine("end");
- Rb.AppendLine();
- Rb.AppendLine();
- Rb.AppendLine();
- Rb.AppendLine("#This code is executed only once when this new plugin is loaded in to the memory.");
- Rb.AppendLine("#Create an instance of the this plugin");
- Rb.AppendLine(string.Format("p = {0}.new", this.PluginName));
-
- if (this.Payloads.Count > this.MaxCountForPayloadsList)
- {
- Py.AppendLine("#load payloads from the file");
- Py.AppendLine("p.load_payloads_from_file()");
-
- Rb.AppendLine("#load payloads from the file");
- Rb.AppendLine("p.load_payloads_from_file");
- }
- Py.AppendLine("#Call the GetInstance method on this instance which will return a new instance with all the approriate values filled in. Add this new instance to the list of ActivePlugins");
- Py.AppendLine("ActivePlugin.Add(p.GetInstance())");
- Py.AppendLine();
- Py.AppendLine();
-
- Rb.AppendLine("#Call the get_instance method on this instance which will return a new instance with all the approriate values filled in. Add this new instance to the list of ActivePlugins");
- Rb.AppendLine("ActivePlugin.add(p.get_instance)");
- Rb.AppendLine();
- Rb.AppendLine();
-
- string BottomComments = @"
-#Information about Trace and Trace message formatting
-#IronWASP has a special Scan Trace feature using which the plugin can tell the user exactly what it tried to do during the scan.
-#The scan messages are available in the Automated Scanning -> Scan Trace section.
-#The messasge formation system used is similar to HTML. There are special tags that you can use to format the message in differnet forms.
-#The same system can be used to format your Finding summary as well.
-#>introduces a line break
-#>Makes the enclosed text bold>
-#>Makes the enclosed text prominent like a heading>
-#>Makes the enclosed text appear in red>
-#>Makes the enclosed text appear in green>
-#>Makes the enclosed text appear in blue>
-#>Highlights the enclosed text appear in red>
-#>Highlights the enclosed text appear in green>
-#>Highlights the enclosed text appear in blue>
-";
- Py.AppendLine(BottomComments);
- Rb.AppendLine(BottomComments);
- return new string[]{Py.ToString(), Rb.ToString()};
- }
-
- private void BaseTabs_Selecting(object sender, TabControlCancelEventArgs e)
- {
- if (!BaseTabs.SelectedTab.Name.Equals(IndexNames[this.CurrentStep]))
- BaseTabs.SelectTab(IndexNames[this.CurrentStep]);
- }
- }
-}
+//
+// Copyright 2011-2013 Lavakumar Kuppan
+//
+// This file is part of IronWASP
+//
+// IronWASP is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// IronWASP is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with IronWASP. If not, see http://www.gnu.org/licenses/.
+//
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using System.Text.RegularExpressions;
+using System.IO;
+
+namespace IronWASP
+{
+ public partial class ActivePluginCreationAssistant : Form
+ {
+ string PluginName = "";
+ string PluginDescription = "";
+ List Payloads = new List();
+
+ int CurrentStep = 0;
+ string[] IndexNames = new string[] { "NameTab", "PayloadsTab", "LanguageTab", "FinalTab" };
+
+ string PayloadsFileName = "";
+
+ int MaxCountForPayloadsList = 5;
+
+ public ActivePluginCreationAssistant()
+ {
+ InitializeComponent();
+ }
+
+ private void StepOneNextBtn_Click(object sender, EventArgs e)
+ {
+ ShowStep0Error("");
+ string Name = PluginNameTB.Text.Trim();
+ if (Name.Length == 0)
+ {
+ PluginNameTB.BackColor = Color.Red;
+ ShowStep0Error("Plugin name cannot be empty");
+ return;
+ }
+ if (!Regex.IsMatch(Name, "^[a-zA-Z]+$"))
+ {
+ PluginNameTB.BackColor = Color.Red;
+ ShowStep0Error("Plugin Name should only contain alphabets (a-z)");
+ return;
+ }
+ if (!Name[0].ToString().ToUpper().Equals(Name[0].ToString()))
+ {
+ ShowStep0Error("Plugin Name should begin with an upper case letter");
+ return;
+ }
+ if (ActivePlugin.List().Contains(Name))
+ {
+ PluginNameTB.BackColor = Color.Red;
+ ShowStep0Error("An Active Plugin with this name already exists. Select a different name.");
+ return;
+ }
+ string Desc = PluginDescTB.Text;
+ if (Desc.Trim().Length == 0)
+ {
+ PluginDescTB.BackColor = Color.Red;
+ ShowStep0Error("Plugin description cannot be empty");
+ return;
+ }
+ this.PluginName = Name;
+ this.PluginDescription = Desc;
+ this.CurrentStep = 1;
+ this.BaseTabs.SelectTab("PayloadsTab");
+ }
+
+ void ShowStep0Status(string Text)
+ {
+ this.Step0StatusTB.Text = Text;
+ if (Text.Length == 0)
+ {
+ this.Step0StatusTB.Visible = false;
+ }
+ else
+ {
+ this.Step0StatusTB.ForeColor = Color.Black;
+ this.Step0StatusTB.Visible = true;
+ }
+ }
+ void ShowStep0Error(string Text)
+ {
+ this.Step0StatusTB.Text = Text;
+ if (Text.Length == 0)
+ {
+ this.Step0StatusTB.Visible = false;
+ }
+ else
+ {
+ this.Step0StatusTB.ForeColor = Color.Red;
+ this.Step0StatusTB.Visible = true;
+ }
+ }
+ void ShowStep1Status(string Text)
+ {
+ this.Step1StatusTB.Text = Text;
+ if (Text.Length == 0)
+ {
+ this.Step1StatusTB.Visible = false;
+ }
+ else
+ {
+ this.Step1StatusTB.ForeColor = Color.Black;
+ this.Step1StatusTB.Visible = true;
+ }
+ }
+ void ShowStep1Error(string Text)
+ {
+ this.Step1StatusTB.Text = Text;
+ if (Text.Length == 0)
+ {
+ this.Step1StatusTB.Visible = false;
+ }
+ else
+ {
+ this.Step1StatusTB.ForeColor = Color.Red;
+ this.Step1StatusTB.Visible = true;
+ }
+ }
+ void ShowStep2Status(string Text)
+ {
+ this.Step2StatusTB.Text = Text;
+ if (Text.Length == 0)
+ {
+ this.Step2StatusTB.Visible = false;
+ }
+ else
+ {
+ this.Step2StatusTB.ForeColor = Color.Black;
+ this.Step2StatusTB.Visible = true;
+ }
+ }
+ void ShowStep2Error(string Text)
+ {
+ this.Step2StatusTB.Text = Text;
+ if (Text.Length == 0)
+ {
+ this.Step2StatusTB.Visible = false;
+ }
+ else
+ {
+ this.Step2StatusTB.ForeColor = Color.Red;
+ this.Step2StatusTB.Visible = true;
+ }
+ }
+
+ private void PluginNameTB_TextChanged(object sender, EventArgs e)
+ {
+ if (PluginNameTB.BackColor == Color.Red) PluginNameTB.BackColor = Color.White;
+ }
+
+ private void PluginDescTB_TextChanged(object sender, EventArgs e)
+ {
+ if (PluginDescTB.BackColor == Color.Red) PluginDescTB.BackColor = Color.White;
+ }
+
+ private void CancelBtn_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+
+ private void StepTwoPreviousBtn_Click(object sender, EventArgs e)
+ {
+ this.CurrentStep = 0;
+ this.BaseTabs.SelectTab("NameTab");
+ }
+
+ private void StepTwoNextBtn_Click(object sender, EventArgs e)
+ {
+ ShowStep1Error("");
+ List PayloadsTempList = new List(PayloadsListTB.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries));
+ if (PayloadsTempList.Count == 0)
+ {
+ ShowStep1Error("No valid payloads were entered. Enter atleast one payload before you proceed to next step.");
+ }
+ else
+ {
+ this.Payloads.Clear();
+ this.Payloads = new List(PayloadsTempList);
+ this.CurrentStep = 2;
+ this.BaseTabs.SelectTab("LanguageTab");
+ }
+ }
+
+ private void StepThreePreviousBtn_Click(object sender, EventArgs e)
+ {
+ this.CurrentStep = 1;
+ this.BaseTabs.SelectTab("PayloadsTab");
+ }
+
+ private void StepThreeNextBtn_Click(object sender, EventArgs e)
+ {
+ ShowStep2Error("");
+ try
+ {
+ CreatePlugin();
+ }
+ catch (Exception Exp)
+ {
+ ShowStep2Error(string.Format("Unable to create plugin file - {0}", Exp.Message));
+ return;
+ }
+ this.CurrentStep = 3;
+ this.BaseTabs.SelectTab("FinalTab");
+ }
+
+ private void FinalBtn_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+
+ private void LoadPayloadsFileLL_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+ {
+ while (PayloadFileOpener.ShowDialog() == DialogResult.OK)
+ {
+ FileInfo Info = new FileInfo(PayloadFileOpener.FileName);
+ try
+ {
+ StreamReader SR = new StreamReader(Info.FullName);
+ PayloadsListTB.Text = SR.ReadToEnd();
+ SR.Close();
+ PayloadsFileLbl.Text = Info.FullName;
+ }
+ catch(Exception Exp)
+ {
+ MessageBox.Show(string.Format("Error reading selected file: {0}", Exp));
+ }
+ break;
+ }
+ }
+
+ void CreatePlugin()
+ {
+ if (this.Payloads.Count > this.MaxCountForPayloadsList) SavePayloadsToFile();
+ string[] PluginCodes = CreatePluginCode();
+ string PyCode = PluginCodes[0];
+ string RbCode = PluginCodes[1];
+
+ string PluginCode = PyCode;
+
+ string PluginLang = "py";
+ if (PluginLangRubyRB.Checked)
+ {
+ PluginCode = RbCode;
+ PluginLang = "rb";
+ }
+
+ bool PluginCreated = false;
+ int Counter = 0;
+ string FFN = "";
+
+ while (!PluginCreated)
+ {
+ string FN = "";
+ if (Counter == 0)
+ FN = string.Format("{0}.{1}", PluginName, PluginLang);
+ else
+ FN = string.Format("{0}_{1}.{2}", PluginName, Counter, PluginLang);
+ FFN = string.Format("{0}\\plugins\\active\\{1}", Config.Path, FN);
+ Counter++;
+ if (!File.Exists(FFN))
+ {
+ File.WriteAllText(FFN, PluginCode);
+ PluginCreated = true;
+ PluginEngine.LoadNewActivePlugins();
+ PluginFileTB.Text = FFN;
+ }
+ }
+ }
+
+ void SavePayloadsToFile()
+ {
+ bool FileCreated = false;
+ int Counter = 0;
+ string FFN = "";
+ StringBuilder SB = new StringBuilder();
+ foreach (string Payload in this.Payloads)
+ {
+ SB.AppendLine(Payload);
+ }
+ while (!FileCreated)
+ {
+ string FN = "";
+ if (Counter == 0)
+ FN = string.Format("{0}_payloads.txt", PluginName);
+ else
+ FN = string.Format("{0}_payloads_{1}.txt", PluginName, Counter);
+ FFN = string.Format("{0}\\plugins\\active\\{1}", Config.Path, FN);
+ Counter++;
+ if (!File.Exists(FFN))
+ {
+ File.WriteAllText(FFN, SB.ToString());
+ FileCreated = true;
+ this.PayloadsFileName = FN;
+ }
+ }
+ }
+
+ string[] CreatePluginCode()
+ {
+ StringBuilder Py = new StringBuilder();
+ StringBuilder Rb = new StringBuilder();
+
+ Py.AppendLine("from IronWASP import *");
+ Py.AppendLine("import re");
+ Py.AppendLine();
+ Py.AppendLine();
+
+ Rb.AppendLine("include IronWASP");
+ Rb.AppendLine();
+ Rb.AppendLine();
+
+ Py.AppendLine("#Extend the ActivePlugin base class");
+ Py.AppendLine(string.Format("class {0}(ActivePlugin):", PluginName));
+ Py.AppendLine();
+ Py.AppendLine();
+
+ Rb.AppendLine("#Extend the ActivePlugin base class");
+ Rb.AppendLine(string.Format("class {0} < ActivePlugin", PluginName));
+ Rb.AppendLine();
+ Rb.AppendLine();
+ Rb.Append(" "); Rb.AppendLine("attr_accessor :payloads");
+ Rb.AppendLine();
+
+
+ Py.Append(" "); Py.AppendLine("#Implement the GetInstance method of ActivePlugin class. This method is used to create new instances of this plugin.");
+ Py.Append(" "); Py.AppendLine("def GetInstance(self):");
+ Py.Append(" "); Py.AppendLine(string.Format("p = {0}()", PluginName));
+ Py.Append(" "); Py.AppendLine(string.Format("p.Name = '{0}'", PluginName));
+ Py.Append(" "); Py.AppendLine(string.Format("p.Description = '{0}'", PluginDescription.Replace("'", "\\'")));
+ Py.Append(" "); Py.AppendLine(string.Format("p.Version = '0.1'", PluginName));
+ Py.Append(" "); Py.AppendLine("p.payloads = []");
+
+ Rb.Append(" "); Rb.AppendLine("#Implement the GetInstance method of ActivePlugin class. This method is used to create new instances of this plugin.");
+ Rb.Append(" "); Rb.AppendLine("def GetInstance()");
+ Rb.Append(" "); Rb.AppendLine(string.Format("p = {0}.new", PluginName));
+ Rb.Append(" "); Rb.AppendLine(string.Format("p.name = '{0}'", PluginName));
+ Rb.Append(" "); Rb.AppendLine(string.Format("p.description = '{0}'", PluginDescription.Replace("'", "\\'")));
+ Rb.Append(" "); Rb.AppendLine(string.Format("p.version = '0.1'", PluginName));
+ Rb.Append(" "); Rb.AppendLine("p.payloads = []");
+
+ if(this.Payloads.Count > this.MaxCountForPayloadsList)
+ {
+ Py.Append(" "); Py.AppendLine("#Update this instance with the payloads read from the payloads file");
+ Py.Append(" "); Py.AppendLine("p.payloads.extend(self.payloads)");
+
+ Rb.Append(" "); Rb.AppendLine("#Update this instance with the payloads read from the payloads file");
+ Rb.Append(" "); Rb.AppendLine("for payload in @payloads");
+ Rb.Append(" "); Rb.AppendLine("p.payloads.push(payload)");
+ Rb.Append(" "); Rb.AppendLine("end");
+ }
+ Py.Append(" "); Py.AppendLine("return p");
+ Py.AppendLine();
+ Py.AppendLine();
+
+ Rb.Append(" "); Rb.AppendLine("return p");
+ Rb.Append(" "); Rb.AppendLine("end");
+ Rb.AppendLine();
+ Rb.AppendLine();
+
+ Py.Append(" "); Py.AppendLine("#Implement the Check method of ActivePlugin class. This is the method called by the Scanner and the entry point in to the plugin.");
+ Py.Append(" "); Py.AppendLine("def Check(self, scnr):");
+ Py.Append(" "); Py.AppendLine("self.scnr = scnr # 'scnr' is the Scanner object calling this plugin");
+ Py.Append(" "); Py.AppendLine("#Print out a message to the Scan trace indicating the start of the check. Check the comments at the bottom to know more about the Trace feature and the formattng inside Scan trace messages.");
+ Py.Append(" "); Py.AppendLine(string.Format(@"self.scnr.Trace("">>Checking for {0}:>>>"")", PluginName));
+
+ Rb.Append(" "); Rb.AppendLine("#Implement the Check method of ActivePlugin class. This is the method called by the Scanner and the entry point in to the plugin.");
+ Rb.Append(" "); Rb.AppendLine("def Check(scnr)");
+ Rb.Append(" "); Rb.AppendLine("@scnr = scnr # 'scnr' is the Scanner object calling this plugin");
+ Rb.Append(" "); Rb.AppendLine("#Print out a message to the Scan trace indicating the start of the check. Check the comments at the bottom to know more about the Trace feature and the formattng inside Scan trace messages.");
+ Rb.Append(" "); Rb.AppendLine(string.Format(@"@scnr.trace("">>Checking for {0}:>>>"")", PluginName));
+
+ if(this.Payloads.Count <= this.MaxCountForPayloadsList)
+ {
+ Py.Append(" "); Py.AppendLine("#Store the payloads in a list");
+ Py.Append(" ");Py.Append("self.payloads = [");
+
+ Rb.Append(" "); Rb.AppendLine("#Store the payloads in a list");
+ Rb.Append(" "); Rb.Append("@payloads = [");
+
+ for(int i = 0; i < this.Payloads.Count; i++)
+ {
+ string Payload = this.Payloads[i];
+
+ Py.Append("\""); Py.Append(Tools.EscapeDoubleQuotes(Payload)); Py.Append("\"");
+ Rb.Append("\""); Rb.Append(Tools.EscapeDoubleQuotes(Payload)); Rb.Append("\"");
+
+ if (i < (this.Payloads.Count - 1))
+ {
+ Py.Append(",");
+ Rb.Append(",");
+ }
+ }
+ Py.Append("]");
+ Py.AppendLine();
+
+ Rb.Append("]");
+ Rb.AppendLine();
+ }
+ Py.Append(" "); Py.AppendLine("#Request trace adds information about the request to the Trace. The log id of the Request is automatically added.");
+ Py.Append(" "); Py.AppendLine(@"self.scnr.RequestTrace(""Sending request without payloads to get normal response - "")");
+ Py.Append(" "); Py.AppendLine("#This methods sends the original request without any payloads. If any Session Plugin is selected with this scan job then that Session Plugin is used to update the original request before sending.");
+ Py.Append(" "); Py.AppendLine(@"res = self.scnr.Inject()");
+ Py.Append(" "); Py.AppendLine("#Response trace adds information about the response to the Trace in the same line as the previous RequestTrace message. This and RequestTrace must be called together.");
+ Py.Append(" "); Py.AppendLine(@"self.scnr.ResponseTrace("" ==> Normal Code - "" + str(res.Code) + "" | Normal Length - "" + str(res.BodyLength))");
+ Py.Append(" "); Py.AppendLine(@"self.scnr.Trace("">>Starting injection of payloads>>"")");
+ Py.Append(" "); Py.AppendLine("for payload in self.payloads:");
+ Py.Append(" "); Py.AppendLine("#Since the payloads are stored in url encoded form they are decoded before being used.");
+ Py.Append(" "); Py.AppendLine("payload = Tools.UrlDecode(payload)");
+
+ Rb.Append(" "); Rb.AppendLine("#Request trace adds information about the request to the Trace. The log id of the Request is automatically added.");
+ Rb.Append(" "); Rb.AppendLine(@"@scnr.request_trace(""Sending request without payloads to get normal response - "")");
+ Rb.Append(" "); Rb.AppendLine("#This methods sends the original request without any payloads. If any Session Plugin is selected with this scan job then that Session Plugin is used to update the original request before sending.");
+ Rb.Append(" "); Rb.AppendLine(@"res = @scnr.inject");
+ Rb.Append(" "); Rb.AppendLine("#Response trace adds information about the response to the Trace in the same line as the previous RequestTrace message. This and RequestTrace must be called together.");
+ Rb.Append(" "); Rb.AppendLine(@"@scnr.response_trace("" ==> Normal Code - "" + res.code.to_s + "" | Normal Length - "" + res.body_length.to_s)");
+ Rb.Append(" "); Rb.AppendLine(@"@scnr.trace("">>Starting injection of payloads>>"")");
+ Rb.Append(" "); Rb.AppendLine("for payload in @payloads");
+ Rb.Append(" "); Rb.AppendLine("#Since the payloads are stored in url encoded form they are decoded before being used.");
+ Rb.Append(" "); Rb.AppendLine("payload = Tools.url_decode(payload)");
+
+ if (OriginalParameterBeforePayloadRB.Checked)
+ {
+ Py.Append(" "); Py.AppendLine("#The original value of the currently tested parameter is added before the payload. self.scnr.PreInjectionParameterValue gives this value.");
+ Py.Append(" "); Py.AppendLine("payload = self.scnr.PreInjectionParameterValue + payload");
+
+ Rb.Append(" "); Rb.AppendLine("#The original value of the currently tested parameter is added before the payload. @scnr.pre_injection_parameter_value gives this value.");
+ Rb.Append(" "); Rb.AppendLine("payload = @scnr.pre_injection_parameter_value + payload");
+ }
+ else if (OriginalParameterAfterPayloadRB.Checked)
+ {
+ Py.Append(" "); Py.AppendLine("#The original value of the currently tested parameter is added at the end of the payload. self.scnr.PreInjectionParameterValue gives this value.");
+ Py.Append(" "); Py.AppendLine("payload = payload + self.scnr.PreInjectionParameterValue");
+
+ Rb.Append(" "); Rb.AppendLine("#The original value of the currently tested parameter is added at the end of the payload. @scnr.pre_injection_parameter_value gives this value.");
+ Rb.Append(" "); Rb.AppendLine("payload = payload + @scnr.pre_injection_parameter_value");
+ }
+ Py.Append(" "); Py.AppendLine("#Tools.EncodeForTrace converts the input in to a form that is friendly towards being added to the Scan Trace");
+ Py.Append(" "); Py.AppendLine(@"self.scnr.RequestTrace(""Injected - "" + Tools.EncodeForTrace(payload))");
+ Py.Append(" "); Py.AppendLine("#The payload is injected in the parameter currently being tested and the response is returned. If a Session Plugin was used along with this Scan Job it would have been called now internally.");
+ Py.Append(" "); Py.AppendLine(@"res = self.scnr.Inject(payload)");
+ Py.Append(" "); Py.AppendLine("if res.Code == 500:");
+ Py.Append(" "); Py.AppendLine(@"self.scnr.ResponseTrace("" ==> > Got 500 response code. Indicates error on the server.>"")");
+ Py.Append(" "); Py.AppendLine("#If the response code is 500 then we report a vulnerability");
+ Py.Append(" "); Py.AppendLine("self.report_vuln(Tools.EncodeForTrace(payload))");
+ Py.Append(" "); Py.AppendLine("else:");
+ Py.Append(" "); Py.AppendLine(@"self.scnr.ResponseTrace("" ==> Code - "" + str(res.Code) + "" | Length - "" + str(res.BodyLength))");
+ Py.AppendLine();
+ Py.AppendLine();
+
+ Rb.Append(" "); Rb.AppendLine("#Tools.encode_for_trace converts the input in to a form that is friendly towards being added to the Scan Trace");
+ Rb.Append(" "); Rb.AppendLine(@"@scnr.request_trace(""Injected - "" + Tools.encode_for_trace(payload))");
+ Rb.Append(" "); Rb.AppendLine("#The payload is injected in the parameter currently being tested and the response is returned. If a Session Plugin was used along with this Scan Job it would have been called now internally.");
+ Rb.Append(" "); Rb.AppendLine(@"res = @scnr.inject(payload)");
+ Rb.Append(" "); Rb.AppendLine("if res.code == 500");
+ Rb.Append(" "); Rb.AppendLine(@"@scnr.response_trace("" ==> > Got 500 response code. Indicates error on the server.>"")");
+ Rb.Append(" "); Rb.AppendLine("#If the response code is 500 then we report a vulnerability");
+ Rb.Append(" "); Rb.AppendLine("report_vuln(Tools.encode_for_trace(payload))");
+ Rb.Append(" "); Rb.AppendLine("else");
+ Rb.Append(" "); Rb.AppendLine(@"@scnr.response_trace("" ==> Code - "" + res.code.to_s + "" | Length - "" + res.body_length.to_s)");
+ Rb.Append(" "); Rb.AppendLine("end");
+ Rb.Append(" "); Rb.AppendLine("end");
+ Rb.Append(" "); Rb.AppendLine("end");
+ Rb.AppendLine();
+ Rb.AppendLine();
+
+ Py.Append(" "); Py.AppendLine("#This method implements the vulnerability reporting function");
+ Py.Append(" "); Py.AppendLine("def report_vuln(self, payload):");
+ Py.Append(" "); Py.AppendLine("#Create a new instance of the Finding class, it takes the BaseUrl property of the Request object as constructor argument. The self.scnr.BaseRequest property returns the original request that is being scanned.");
+ Py.Append(" "); Py.AppendLine("f = Finding(self.scnr.BaseRequest.BaseUrl)");
+ Py.Append(" "); Py.AppendLine("#The type of the finding is set as vulnerability. Other possible values are FindingType.Information and FindingType.TestLead");
+ Py.Append(" "); Py.AppendLine("f.Type = FindingType.Vulnerability");
+ Py.Append(" "); Py.AppendLine("#The confidence of the finding is set as Medium. This property only applies to vulnerabilities. TestLeads and Information don't need to set this. Other possible values are FindingConfidence.High and FindingConfidence.Low");
+ Py.Append(" "); Py.AppendLine("f.Confidence = FindingConfidence.Medium");
+ Py.Append(" "); Py.AppendLine("#The severity of the finding is set as High. This property only applies to vulnerabilities. TestLeads and Information don't need to set this. Other possible values are FindingSeverity.Medium and FindingSeverity.Low");
+ Py.Append(" "); Py.AppendLine("f.Severity = FindingSeverity.High");
+ Py.Append(" "); Py.AppendLine("#This vulnerability is given a title");
+ Py.Append(" "); Py.AppendLine(string.Format("f.Title = '{0} vulnerability found'", this.PluginName));
+ Py.Append(" "); Py.AppendLine("#This vulnerability summary and trace are added. self.scnr.InjectedParameter gives the name of the parameter that was tested. self.scnr.InjectedSection gives the section where the parameter is located in the request. self.scnr.GetTrace() returns the scan trace messages collected up to this ponit as a string.");
+ Py.Append(" "); Py.AppendLine(string.Format(@"f.Summary = ""{0} vulnerability has been detected in the '"" + self.scnr.InjectedParameter + ""' parameter of the "" + self.scnr.InjectedSection + "" section of the request. >>>Test Trace:> "" + self.scnr.GetTrace()", this.PluginName));
+ Py.Append(" "); Py.AppendLine("#Triggers are a collection of Trigger objects. A Trigger is a set of Request object, corrresponding Response object and some keywords that were found in the Request and Response that triggered the detection of this vulnerability.");
+ Py.Append(" "); Py.AppendLine("#self.scnr.InjectedRequest property returns the request that was sent using the Inject method and self.scnr.InjectionResponse property gives the response to that request. In this case the request trigger is added as the injected payload and the response trigger is the status code 500");
+ Py.Append(" "); Py.AppendLine(@"f.Triggers.Add(payload, self.scnr.InjectedRequest, '500', self.scnr.InjectionResponse)");
+ Py.Append(" "); Py.AppendLine("#After defining the vulnerability it is added to the scanner objects list of findings");
+ Py.Append(" "); Py.AppendLine("self.scnr.AddFinding(f)");
+ Py.Append(" "); Py.AppendLine("#self.scnr.SetTraceTitle sets a title to this scan trace message. A title makes it easy to identify that this particular scan had some interesting finding.");
+ Py.Append(" "); Py.AppendLine("#The second argument to this function is the title importantance value. The SetTraceTitle method can be called multiple times in this plugin. But only the title that was given the highest importance value will be displayed in the scan trace. If there are more than one title with the highest priority value then their all these high importance titles will be shown.");
+ Py.Append(" "); Py.AppendLine(string.Format(@"self.scnr.SetTraceTitle(""{0} Found"",100)", this.PluginName));
+
+ Rb.Append(" "); Rb.AppendLine("#This method implements the vulnerability reporting function");
+ Rb.Append(" "); Rb.AppendLine("def report_vuln(payload)");
+ Rb.Append(" "); Rb.AppendLine("#Create a new instance of the Finding class, it takes the BaseUrl property of the Request object as constructor argument. The @scnr.base_request.base_url property returns the original request that is being scanned.");
+ Rb.Append(" "); Rb.AppendLine("f = Finding.new(@scnr.base_request.base_url)");
+ Rb.Append(" "); Rb.AppendLine("#The type of the finding is set as vulnerability. Other possible values are FindingType.information and FindingType.test_lead");
+ Rb.Append(" "); Rb.AppendLine("f.type = FindingType.vulnerability");
+ Rb.Append(" "); Rb.AppendLine("#The confidence of the finding is set as Medium. This property only applies to vulnerabilities. TestLeads and Information don't need to set this. Other possible values are FindingConfidence.high and FindingConfidence.low");
+ Rb.Append(" "); Rb.AppendLine("f.confidence = FindingConfidence.medium");
+ Rb.Append(" "); Rb.AppendLine("#The severity of the finding is set as High. This property only applies to vulnerabilities. TestLeads and Information don't need to set this. Other possible values are FindingSeverity.Medium and FindingSeverity.Low");
+ Rb.Append(" "); Rb.AppendLine("f.severity = FindingSeverity.high");
+ Rb.Append(" "); Rb.AppendLine("#This vulnerability is given a title");
+ Rb.Append(" "); Rb.AppendLine(string.Format("f.title = '{0} vulnerability found'", this.PluginName));
+ Rb.Append(" "); Rb.AppendLine("#This vulnerability summary and trace are added. @scnr.injected_parameter gives the name of the parameter that was tested. @scnr.injected_section gives the section where the parameter is located in the request. @scnr.get_trace returns the scan trace messages collected up to this ponit as a string.");
+ Rb.Append(" "); Rb.AppendLine(string.Format(@"f.summary = ""{0} vulnerability has been detected in the '"" + @scnr.injected_parameter + ""' parameter of the "" + @scnr.injected_section + "" section of the request. >>>Test Trace:> "" + @scnr.get_trace", this.PluginName));
+ Rb.Append(" "); Rb.AppendLine("#Triggers are a collection of Trigger objects. A Trigger is a set of Request object, corrresponding Response object and some keywords that were found in the Request and Response that triggered the detection of this vulnerability.");
+ Rb.Append(" "); Rb.AppendLine("#@scnr.injected_request property returns the request that was sent using the Inject method and @scnr.injection_response property gives the response to that request. In this case the request trigger is added as the injected payload and the response trigger is the status code 500");
+ Rb.Append(" "); Rb.AppendLine(@"f.triggers.add(payload, @scnr.injected_request, '500', @scnr.injection_response)");
+ Rb.Append(" "); Rb.AppendLine("#After defining the vulnerability it is added to the scanner objects list of findings");
+ Rb.Append(" "); Rb.AppendLine("@scnr.add_finding(f)");
+ Rb.Append(" "); Rb.AppendLine("#@scnr.set_trace_title sets a title to this scan trace message. A title makes it easy to identify that this particular scan had some interesting finding.");
+ Rb.Append(" "); Rb.AppendLine("#The second argument to this function is the title importantance value. The set_trace_title method can be called multiple times in this plugin. But only the title that was given the highest importance value will be displayed in the scan trace. If there are more than one title with the highest priority value then their all these high importance titles will be shown.");
+ Rb.Append(" "); Rb.AppendLine(string.Format(@"@scnr.set_trace_title(""{0} Found"",100)", this.PluginName));
+ Rb.Append(" "); Rb.AppendLine("end");
+
+ if (this.Payloads.Count > this.MaxCountForPayloadsList)
+ {
+ Py.AppendLine();
+ Py.AppendLine();
+ Py.Append(" "); Py.AppendLine("#This method reads the payloads from the payloads files and stores it in a variable");
+ Py.Append(" "); Py.AppendLine("def load_payloads_from_file(self):");
+ Py.Append(" "); Py.AppendLine("#Config.Path gives the full path directory containing IronWASP.exe");
+ Py.Append(" "); Py.AppendLine(string.Format(@"p_file = open(Config.Path + ""\\plugins\\active\\{0}"")", this.PayloadsFileName));
+ Py.Append(" "); Py.AppendLine("self.payloads = []");
+ Py.Append(" "); Py.AppendLine("payloads_with_newline = p_file.readlines()");
+ Py.Append(" "); Py.AppendLine("p_file.close()");
+ Py.Append(" "); Py.AppendLine("for pwnl in payloads_with_newline:");
+ Py.Append(" "); Py.AppendLine("self.payloads.append(pwnl.rstrip())");
+
+ Rb.AppendLine();
+ Rb.AppendLine();
+ Rb.Append(" "); Rb.AppendLine("#This method reads the payloads from the payloads files and stores it in a variable");
+ Rb.Append(" "); Rb.AppendLine("def load_payloads_from_file()");
+ Rb.Append(" "); Rb.AppendLine("#Config.path gives the full path directory containing IronWASP.exe");
+ Rb.Append(" "); Rb.AppendLine(string.Format(@"p_file = File.open(Config.path + ""\\plugins\\active\\{0}"")", this.PayloadsFileName));
+ Rb.Append(" "); Rb.AppendLine("@payloads = []");
+ Rb.Append(" "); Rb.AppendLine("payloads_with_newline = p_file.readlines");
+ Rb.Append(" "); Rb.AppendLine("p_file.close");
+ Rb.Append(" "); Rb.AppendLine("for pwnl in payloads_with_newline");
+ Rb.Append(" "); Rb.AppendLine("@payloads.push(pwnl.rstrip)");
+ Rb.Append(" "); Rb.AppendLine("end");
+ Rb.Append(" "); Rb.AppendLine("end");
+ }
+ Py.AppendLine();
+ Py.AppendLine();
+ Py.AppendLine();
+ Py.AppendLine("#This code is executed only once when this new plugin is loaded in to the memory.");
+ Py.AppendLine("#Create an instance of the this plugin");
+ Py.AppendLine(string.Format("p = {0}()", this.PluginName));
+
+ Rb.AppendLine("end");
+ Rb.AppendLine();
+ Rb.AppendLine();
+ Rb.AppendLine();
+ Rb.AppendLine("#This code is executed only once when this new plugin is loaded in to the memory.");
+ Rb.AppendLine("#Create an instance of the this plugin");
+ Rb.AppendLine(string.Format("p = {0}.new", this.PluginName));
+
+ if (this.Payloads.Count > this.MaxCountForPayloadsList)
+ {
+ Py.AppendLine("#load payloads from the file");
+ Py.AppendLine("p.load_payloads_from_file()");
+
+ Rb.AppendLine("#load payloads from the file");
+ Rb.AppendLine("p.load_payloads_from_file");
+ }
+ Py.AppendLine("#Call the GetInstance method on this instance which will return a new instance with all the approriate values filled in. Add this new instance to the list of ActivePlugins");
+ Py.AppendLine("ActivePlugin.Add(p.GetInstance())");
+ Py.AppendLine();
+ Py.AppendLine();
+
+ Rb.AppendLine("#Call the get_instance method on this instance which will return a new instance with all the approriate values filled in. Add this new instance to the list of ActivePlugins");
+ Rb.AppendLine("ActivePlugin.add(p.get_instance)");
+ Rb.AppendLine();
+ Rb.AppendLine();
+
+ string BottomComments = @"
+#Information about Trace and Trace message formatting
+#IronWASP has a special Scan Trace feature using which the plugin can tell the user exactly what it tried to do during the scan.
+#The scan messages are available in the Automated Scanning -> Scan Trace section.
+#The messasge formation system used is similar to HTML. There are special tags that you can use to format the message in differnet forms.
+#The same system can be used to format your Finding summary as well.
+#>introduces a line break
+#>Makes the enclosed text bold>
+#>Makes the enclosed text prominent like a heading>
+#>Makes the enclosed text appear in red>
+#>Makes the enclosed text appear in green>
+#>Makes the enclosed text appear in blue>
+#>Highlights the enclosed text appear in red>
+#>Highlights the enclosed text appear in green>
+#>Highlights the enclosed text appear in blue>
+";
+ Py.AppendLine(BottomComments);
+ Rb.AppendLine(BottomComments);
+ return new string[]{Py.ToString(), Rb.ToString()};
+ }
+
+ private void BaseTabs_Selecting(object sender, TabControlCancelEventArgs e)
+ {
+ if (!BaseTabs.SelectedTab.Name.Equals(IndexNames[this.CurrentStep]))
+ BaseTabs.SelectTab(IndexNames[this.CurrentStep]);
+ }
+ }
+}
diff --git a/Iron/ActivePluginCreationAssistant.resx b/Iron/ActivePluginCreationAssistant.resx
new file mode 100644
index 0000000..8eccebb
--- /dev/null
+++ b/Iron/ActivePluginCreationAssistant.resx
@@ -0,0 +1,1943 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+This assistant will help you create a template for your new active plugin based on the details you provide.
+
+Enter the name and description for this new plugin. The plugin name must be unique and only contain alphabets.
+
+
+
+ An Active Plugin has been created based on the information provide by you. This plugin sends the payloads given by you and reports a vulnerability if the response has the status code 500.
+This is meant to serve as a template so that you can implement your required logic inside this plugin.
+
+To learn about how to implement your logic in code using the IronWASP API and debug or troubleshoot the plugin please use the 'Script Creation Assistant' under the 'Dev Tools' menu.
+
+This plugin would be listed under the Active Plugins list, you can see this list by going to the 'Dev' -> 'Plugin & Modules' Section.
+
+If you make any changes to this plugin, then after saving the file right-click on the plugin name in the list and select 'Reload Selected Plugin' for the changes to take effect.
+If the plugin contained syntax errors then it would not be visible in that list. Once you fix the syntax issues right-click anywhere in the list and select 'Active Plugins -> Add New'
+
+
+
+ 17, 17
+
+
+ 42
+
+
+
+
+ AAABAAYAEBAAAAEAIABoBAAAZgAAACAgAAABACAAqBAAAM4EAAAwMAAAAQAgAKglAAB2FQAAQEAAAAEA
+ IAAoQgAAHjsAAICAAAABACAAKAgBAEZ9AAAAAAAAAQAgALQeAABuhQEAKAAAABAAAAAgAAAAAQAgAAAA
+ AAAABAAAIy4AACMuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08C0ZdPAgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPWNGX
+ T1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPFdGX
+ T8jRl0/H0ZdPFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ T43Rl0/U0ZdP1NGXT40AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TxvRl0/20ZdP1NGXT9TRl0/20ZdPGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADRl0+K0ZdP/9GXT9TRl0/U0ZdP/9GXT4oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABLS0smj3FNlNGXT//Rl0/U0ZdP1NGXT/+OcU2VS0tLJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLo0xLS8XRl0/Q0ZdP1NGXT9TRl0/QTEtLx0tLS6IAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLJ0tLS/xLS0v/mHZNj9GXT7TRl0+0lnVNk0tLS/9LS0v8S0tLJwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAEtLS6RLS0v/S0tL/4yFW4vdzW6x3c1usYqDWpBLS0v/S0tL/0tLS6QAAAAAAAAAAAAA
+ AAAAAAAAAAAAAEtLSyhLS0v8S0tL/0tLS87czG7E3c1u/93Nbv/czG7GS0tL0UtLS/9LS0v8S0tLKAAA
+ AAAAAAAAAAAAAAAAAABLS0ulS0tL/0tLS/+NhVuT3c1u/93Nbv/dzW7/3c1u/42GW5lLS0v/S0tL/0tL
+ S6UAAAAAAAAAAAAAAABLS0spS0tL/EtLS/9LS0vR3Mxuwd3Nbv/dzW7/3c1u/93Nbv/czG7GS0tL0ktL
+ S/9LS0v8S0tLKQAAAAAAAAAAS0tLpktLS/9LS0v/iYJakt3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/42F
+ W5lLS0v/S0tL/0tLS6YAAAAAS0tLKktLS/VLS0ulS0tLQdfHbBLdzW5c3c1up93Nbu/dzW7v3c1uqN3N
+ bl3XyG0US0tLQUtLS6VLS0v1S0tLKktLSy5LS0sSAAAAAAAAAAAAAAAAAAAAAAAAAADdzW4E3c1uBAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLEktLSy7+fwAA/n8AAPw/AAD8PwAA+B8AAPgfAADwDwAA8A8AAOAH
+ AADgBwAAwAMAAMADAACAAQAAgAEAAAAAAAA+fAAAKAAAACAAAABAAAAAAQAgAAAAAAAAEAAAIy4AACMu
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA0ZdPB9GXTwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAANGXTwDRl09t0ZdPbdGXTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPSNGXT6rRl0+q0ZdPSAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGXTwHRl0/M0ZdPqtGXT6rRl0/M0ZdPAQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPU9GXT//Rl0+q0ZdPqtGX
+ T//Rl09SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGXTwPRl0/V0ZdP/9GX
+ T6rRl0+q0ZdP/9GXT9TRl08DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPXdGX
+ T//Rl0//0ZdPqtGXT6rRl0//0ZdP/9GXT1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TwXRl0/c0ZdP/9GXT//Rl0+q0ZdPqtGXT//Rl0//0ZdP3NGXTwUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA0ZdPZ9GXT//Rl0//0ZdP/9GXT6rRl0+q0ZdP/9GXT//Rl0//0ZdPZwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAANGXTwjRl0/j0ZdP/9GXT//Rl0//0ZdPqtGXT6rRl0//0ZdP/9GXT//Rl0/j0ZdPCAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA0ZdPPdGXT//Rl0//0ZdP/9GXT//Rl0+q0ZdPqtGXT//Rl0//0ZdP/9GX
+ T//Rl089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSxNNTEtR0ZdP0tGXT//Rl0//0ZdP/9GXT6rRl0+q0ZdP/9GX
+ T//Rl0//0ZdP0U1MS1JLS0sSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLhUtLS9PPlk9b0ZdP/9GXT//Rl0//0ZdPqtGX
+ T6rRl0//0ZdP/9GXT//Olk9bS0tL1UtLS4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSxNLS0vyS0tL/1FOS1HRl0/c0ZdP/9GX
+ T//Rl0+q0ZdPqtGXT//Rl0//0ZdP21BOS1VLS0v/S0tL8ktLSxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLhktLS/9LS0v/S0tLxdGX
+ T2bRl0//0ZdP/9GXT6rRl0+q0ZdP/9GXT//Rl09mS0tLyktLS/9LS0v/S0tLhgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSxRLS0vyS0tL/0tL
+ S/9LS0v/WVNLRtGXT+XRl0//0ZdPqtGXT6rRl0//0ZdP5FdSS0xLS0v/S0tL/0tLS/9LS0vyS0tLFAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLh0tL
+ S/9LS0v/S0tL/0tLS/9LS0u30ZdPXNGXT7HRl0920ZdPdtGXT7HRl09cS0tLv0tLS/9LS0v/S0tL/0tL
+ S/9LS0uHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ SxVLS0vzS0tL/0tLS/9LS0v/S0tL/0tLS9jczG4u3c1uZN3NbmTdzW5k3c1uZNbHbC9LS0vfS0tL/0tL
+ S/9LS0v/S0tL/0tLS/NLS0sUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLiUtLS/9LS0v/S0tL/0tLS/9LS0v/TExLXt3NbsrdzW7/3c1u/93Nbv/dzW7/3c1uy0xM
+ S2ZLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAEtLSxVLS0vzS0tL/0tLS/9LS0v/S0tL/0tLS9vWx2xN3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/08RsUUtLS+BLS0v/S0tL/0tLS/9LS0v/S0tL80tLSxUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLiktLS/9LS0v/S0tL/0tLS/9LS0v/S0tLYd3NbsfdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7KTExLZ0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLiQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSxZLS0v0S0tL/0tLS/9LS0v/S0tL/0tLS93UxWxK3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/Sw2tRS0tL4EtLS/9LS0v/S0tL/0tLS/9LS0v0S0tLFgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLi0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLY93N
+ bsPdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbspMTEtoS0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0uLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSxdLS0v0S0tL/0tLS/9LS0v/S0tL/0tL
+ S9/SxGtH3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/9LDa1FLS0vhS0tL/0tL
+ S/9LS0v/S0tL/0tLS/RLS0sWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLjEtLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLZt3Nbr/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uyUxM
+ S2lLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS4wAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSxdLS0v1S0tL/0tL
+ S/9LS0v/S0tL/0tLS+HQwmtE3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/0cJrUUtLS+JLS0v/S0tL/0tLS/9LS0v/S0tL9UtLSxcAAAAAAAAAAAAAAAAAAAAAS0tLjktL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLaN3NbrvdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7JTEtLaktLS/9LS0v/S0tL/0tLS/9LS0v/S0tLjQAAAAAAAAAAAAAAAEtL
+ SxhLS0v1S0tL/0tLS/9LS0v8S0tLtEtLS09RUEwD3c1uRt3NbpLdzW7d3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7g3c1ult3NbkuEfVkFS0tLT0tLS7RLS0v8S0tL/0tLS/9LS0v1S0tLGAAA
+ AAAAAAAAS0tLj0tLS/9LS0vgS0tLfUtLSxwAAAAAAAAAAAAAAAAAAAAAAAAAAN3NbgDdzW4q3c1udt3N
+ bsHdzW773c1u+93NbsLdzW533c1uLN3NbgAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSxxLS0t+S0tL4EtL
+ S/9LS0uOAAAAAEtLSxRLS0ujS0tLR0tLSwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAN3NbhLdzW4SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABLS0sCS0tLSEtLS6NLS0sTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////5////+f////D////gf///4H///8A////AP///g
+ B///4Af//8AD///AA///gAH//4AB//8AAP//AAD//gAAf/4AAH/8AAA//AAAP/gAAB/4AAAf8AAAD/AA
+ AA/gAAAH4AAAB8AAAAPAAAADgAAAAYPwD8EP/n/w/////ygAAAAwAAAAYAAAAAEAIAAAAAAAACQAACMu
+ AAAjLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAANGXTxDRl08QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA0ZdPE9GXT3DRl09w0ZdPEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPidGXT3/Rl09/0ZdPiAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08Z0ZdP9dGXT3/Rl09/0ZdP9dGX
+ TxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl0+T0ZdP/9GX
+ T3/Rl09/0ZdP/9GXT5IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ Tx/Rl0/40ZdP/9GXT3/Rl09/0ZdP/9GXT/jRl08fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAANGXT53Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0+cAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA0ZdPJtGXT/vRl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0/70ZdPJgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPp9GXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GX
+ T//Rl0//0ZdPpwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08v0ZdP/dGXT//Rl0//0ZdP/9GX
+ T3/Rl09/0ZdP/9GXT//Rl0//0ZdP/dGXTy4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl0+x0ZdP/9GX
+ T//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GXT7EAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TzfRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GXT/7Rl083AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA0phPANGXT7vRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0+705hQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA0ZdPQdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdPQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08A0ZdPxdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPxdGXTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08B0ZdP1NGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP09GXTwEAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwZLS0tR0ZdPXNGX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPW0tL
+ S1JLS0sGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ S2dLS0vgiG5NCdGXT93Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0/dgWpNCktLS+JLS0tnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLBktLS+FLS0v/S0tLXtGXT2jRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl09nS0tLYktLS/9LS0vhS0tLBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLaUtLS/9LS0v/S0tL1LuLTgnRl0/m0ZdP/9GXT//Rl0//0ZdP/9GX
+ T3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GXT+avhE4KS0tL2UtLS/9LS0v/S0tLaAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sHS0tL4ktLS/9LS0v/S0tL/0tLS0/Rl0900ZdP/9GX
+ T//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdP/9GXT3RLS0tWS0tL/0tLS/9LS0v/S0tL4UtL
+ SwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tqS0tL/0tLS/9LS0v/S0tL/0tL
+ S8fQl08N0ZdP7dGXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdP7cqTTw1LS0vOS0tL/0tL
+ S/9LS0v/S0tL/0tLS2kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwdLS0vjS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0tA0ZdPgdGXT//Rl0//0ZdP/9GXT3/Rl09/0ZdP/9GXT//Rl0//0ZdPgEtL
+ S0lLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+JLS0sHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ S2tLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0u40ZdPE9GXT/PRl0//0ZdP/9GXT3/Rl09/0ZdP/9GX
+ T//Rl0/z0ZdPE0tLS8NLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0tqAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLCEtLS+RLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v+S0tLMdGXT1vRl0+K0ZdPitGX
+ T0XRl09F0ZdPitGXT4rRl09bS0tLPUtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vjS0tLBwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLbEtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLY93N
+ bgzdzW4W3c1uFt3NbhbdzW4W3c1uFt3NbhbdzW4MS0tLcEtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sIS0tL5EtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0vkYF5QCd3NbtDdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7RWlhPDktLS+tLS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL5EtLSwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tuS0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0tt3c1uUN3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uUktL
+ S3lLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS20AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwlLS0vlS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+VXVk4J3c1uzd3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u0FhXTg5LS0vsS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+VLS0sIAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ S29LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS3DdzW5M3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NblJLS0t6S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLCUtLS+ZLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL51FQTArdzW7K3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbs9XVk4OS0tL7EtLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0vlS0tLCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLcEtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLct3N
+ bkndzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW5RS0tLektL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sJS0tL50tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0vpTU1MC93NbsbdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7PVlVOD0tLS+1LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL5ktLSwkAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0txS0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0t13c1uRd3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1uUEtLS3tLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwpLS0vnS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+pMTEsM3c1uwt3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uzlVUTQ9LS0vtS0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS+dLS0sKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ S3JLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS3jdzW5B3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NblBLS0t8S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0tyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLCktLS+hLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL7EtLSw3dzW6+3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bs5UU00QS0tL7ktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0voS0tLCgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLdEtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLet3N
+ bj3dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW5PS0tLfUtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLcwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sLS0tL6UtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0vtS0tLDt3NbrvdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7NU1JNEEtLS+5LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL6EtLSwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t1S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0t93c1uOd3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uT0tLS35LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS3QAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwtLS0vpS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v+S0tLwktLS15LS0sH3c1uIt3Nbn3dzW7I3c1u/d3Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/t3Nbs7dzW6D3c1uKktL
+ SwdLS0teS0tLwktLS/5LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+lLS0sLAAAAAAAAAAAAAAAAAAAAAEtL
+ S3ZLS0v/S0tL/0tLS/9LS0v/S0tL6ktLS4xLS0soAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3c1uF93N
+ bmDdzW6s3c1u8d3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u893Nbq/dzW5k3c1uGgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSyhLS0uMS0tL6ktLS/9LS0v/S0tL/0tLS/9LS0t1AAAAAAAA
+ AAAAAAAAS0tLDEtLS+pLS0v/S0tL/UtLS7pLS0tWS0tLBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA3c1uBt3NbkTdzW6P3c1u293Nbv/dzW7/3c1u3N3NbpHdzW5G3c1uBwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLB0tLS1ZLS0u7S0tL/UtL
+ S/9LS0vqS0tLDAAAAAAAAAAAS0tLd0tLS+VLS0uES0tLIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3c1uAN3NbijdzW4o3c1uAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLIktLS4RLS0vlS0tLdwAAAAAAAAAAS0tLOktLSwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sES0tLOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP//
+ /////wAA///+f///AAD///w///8AAP///D///wAA///4H///AAD///gf//8AAP//8A///wAA///wD///
+ AAD//+AH//8AAP//4Af//wAA///AA///AAD//8AD//8AAP//gAH//wAA//+AAf//AAD//wAA//8AAP//
+ AAD//wAA//4AAH//AAD//AAAP/8AAP/8AAA//wAA//gAAB//AAD/+AAAH/8AAP/wAAAP/wAA//AAAA//
+ AAD/4AAAB/8AAP/gAAAH/wAA/8AAAAP/AAD/wAAAA/8AAP+AAAAB/wAA/4AAAAH/AAD/AAAAAP8AAP8A
+ AAAA/wAA/gAAAAB/AAD+AAAAAH8AAPwAAAAAPwAA/AAAAAA/AAD4AAAAAB8AAPgAAAAAHwAA8AAAAAAP
+ AADwAAAAAA8AAOAAAAAABwAA4AAAAAAHAADAAAAAAAMAAMA/AAD8AwAAgP/gB/8BAACH//5//+EAAJ//
+ ////+QAA////////AAAoAAAAQAAAAIAAAAABACAAAAAAAABAAAAjLgAAIy4AAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPANGXTxzRl08c0ZdPAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ T0TRl09U0ZdPVNGXT0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAANGXTwHRl0/I0ZdPVNGXT1TRl0/I0ZdPAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl09P0ZdP/9GXT1TRl09U0ZdP/9GXT04AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08C0ZdP0dGXT//Rl09U0ZdPVNGX
+ T//Rl0/R0ZdPAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPWdGX
+ T//Rl0//0ZdPVNGXT1TRl0//0ZdP/9GXT1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA0ZdPBNGXT9nRl0//0ZdP/9GXT1TRl09U0ZdP/9GXT//Rl0/Z0ZdPBAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAANGXT2PRl0//0ZdP/9GXT//Rl09U0ZdPVNGXT//Rl0//0ZdP/9GX
+ T2IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGXTwfRl0/h0ZdP/9GXT//Rl0//0ZdPVNGX
+ T1TRl0//0ZdP/9GXT//Rl0/g0ZdPBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl09t0ZdP/9GX
+ T//Rl0//0ZdP/9GXT1TRl09U0ZdP/9GXT//Rl0//0ZdP/9GXT2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADRl08L0ZdP59GXT//Rl0//0ZdP/9GXT//Rl09U0ZdPVNGXT//Rl0//0ZdP/9GXT//Rl0/n0ZdPCgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA0ZdPd9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPVNGXT1TRl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT3YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPD9GXT+3Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T1TRl09U0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/s0ZdPDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGXT4HRl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl09U0ZdPVNGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT4EAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TxTRl0/y0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPVNGXT1TRl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0/x0ZdPFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADRl0+M0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT1TRl09U0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT4sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08a0ZdP9tGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl09U0ZdPVNGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/10ZdPGgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPltGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdPVNGXT1TRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T5UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPIdGX
+ T/nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT1TRl09U0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0/50ZdPIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAANGXT5bRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl09U0ZdPVNGX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT5UAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl09e0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdPVNGXT1TRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl09dAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwBLS0tM0ZdPBdGXT9/Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT1TRl09U0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0/e0ZdPBEtLS0xLS0sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tKS0tL60tL
+ SwrRl09q0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl09U0ZdPVNGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdPaUtLSwxLS0vsS0tLSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABLS0sBS0tLyUtLS/9LS0tu0ZdPCdGXT+fRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPVNGX
+ T1TRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP59GXTwhLS0tyS0tL/0tLS8hLS0sAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLS0tLS/9LS0v/S0tL4UtLSwXRl0930ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT1TRl09U0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT3ZLS0sHS0tL5EtL
+ S/9LS0v/S0tLSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLAUtLS8pLS0v/S0tL/0tLS/9LS0tf0ZdPDtGX
+ T+7Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl09U0ZdPVNGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T+7Rl08NS0tLZktLS/9LS0v/S0tL/0tLS8pLS0sBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLS0xLS0v/S0tL/0tL
+ S/9LS0v/S0tL1UtLSwLRl0+D0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPVNGXT1TRl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0+CS0tLBEtLS9xLS0v/S0tL/0tLS/9LS0v/S0tLSwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ SwFLS0vMS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0tQ0ZdPFNGXT/TRl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T1TRl09U0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/00ZdPFEtLS1pLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S8tLS0sBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABLS0tOS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLyEtLSwDRl0+P0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl09U0ZdPVNGXT//Rl0//0ZdP/9GXT//Rl0//0ZdPjktLSwFLS0vSS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLTQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sBS0tLzUtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tB0ZdPHNGXT/nRl0//0ZdP/9GXT//Rl0//0ZdPVNGXT1TRl0//0ZdP/9GXT//Rl0//0ZdP+NGX
+ TxxLS0tOS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS8xLS0sBAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLT0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLuQAAAADRl0+b0ZdP/9GXT//Rl0//0ZdP/9GXT1TRl09U0ZdP/9GX
+ T//Rl0//0ZdP/9GXT5pLS0sAS0tLx0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLTgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLAUtL
+ S85LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0sz0ZdPJdGXT/zRl0//0ZdP/9GX
+ T//Rl09U0ZdPVNGXT//Rl0//0ZdP/9GXT/zRl08kS0tLQktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS81LS0sBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAEtLS1BLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLqgAA
+ AADRl09P0ZdPY9GXT2PRl09j0ZdPIdGXTyHRl09j0ZdPY9GXT2PRl09PTU1NAEtLS7tLS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwFLS0vPS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS+lLS0sCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ SwlLS0v0S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS85LS0sBAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tRS0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0t63c1uAt3NbrLdzW7I3c1uyN3NbsjdzW7I3c1uyN3N
+ bsjdzW7I3c1uyN3NbrLdzW4CS0tLi0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sBS0tL0EtL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vtS0tLDt3NblfdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uWEtLSxZLS0v0S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS89LS0sBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLUktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLfN3N
+ bgLdzW7T3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbtXdzW4CS0tLjEtL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLUQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLAktLS9FLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL7ktLSw/dzW5T3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1uWEtLSxdLS0v1S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S9BLS0sBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLS1RLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS3/dzW4B3c1u0N3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbtXdzW4CS0tLjUtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwJLS0vSS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/BLS0sQ3c1uUN3Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uV0tLSxdLS0v1S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9FLS0sCAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABLS0tVS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0uC3c1uAd3N
+ bszdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ btTdzW4CS0tLjktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLVAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABLS0sCS0tL00tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0vxS0tLEt3NbkzdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1uV0tLSxhLS0v1S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS9JLS0sCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLVktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLhN3NbgDdzW7J3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbtTdzW4CS0tLjktLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLAktLS9RLS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL8ktLSxPdzW5I3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uVktL
+ SxlLS0v2S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9NLS0sCAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ S1dLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS4fdzW4A3c1uxd3N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93NbtPdzW4CS0tLj0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAEtLSwJLS0vVS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/NLS0sV3c1uRN3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uVUtLSxlLS0v2S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9RLS0sCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tYS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0uK3c1uAN3NbsLdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbtPdzW4CS0tLkEtL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLVwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sDS0tL1ktLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v0S0tLFt3NbkDdzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1uVUtLSxpLS0v3S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S9VLS0sCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLWktL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLjN3NbgDdzW6+3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbtLdzW4CS0tLkUtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLA0tLS9dLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL9UtL
+ SxjdzW483c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uVEtLSxpLS0v3S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9ZLS0sDAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLS1tLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS4/gz28A3c1uut3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ btLdzW4CS0tLkktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLWgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwNLS0vYS0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/ZLS0sZ3c1uOd3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1uVEtLSxtLS0v3S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS9dLS0sDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tcS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0uSAAAAAN3NbrbdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbtHdzW4CS0tLk0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABLS0sDS0tL2UtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9BLS0tsS0tLDd3N
+ bgHdzW5n3c1us93NbvXdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u+N3NbrvdzW5w3c1uCEtL
+ Sw1LS0tsS0tL0UtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9hLS0sDAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLXUtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vyS0tLmktL
+ SzZLS0sAAAAAAAAAAAAAAAAAAAAAAAAAAADdzW4J3c1uS93NbpbdzW7h3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbubdzW6c3c1uUd3N
+ bg0AAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwBLS0s2S0tLm0tLS/JLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLXAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBEtLS9pLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S8lLS0tkS0tLDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3c1uAd3N
+ bi/dzW563c1uxt3NbvzdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv3dzW7J3c1uft3N
+ bjPdzW4CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0sNS0tLZUtL
+ S8lLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9lLS0sDAAAAAAAAAAAAAAAAAAAAAEtLS19LS0v/S0tL/0tL
+ S/9LS0vuS0tLk0tLSy5LS0sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdzW4V3c1uXt3NbqndzW7v3c1u/93Nbv/dzW7w3c1uq93N
+ bmDdzW4XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABLS0sAS0tLL0tLS5NLS0vuS0tL/0tLS/9LS0v/S0tLXgAAAAAAAAAAAAAAAEtL
+ SwRLS0vbS0tL/ktLS8FLS0tdS0tLCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3c1uBd3N
+ bkHdzW5B3c1uBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLCUtLS11LS0vBS0tL/ktL
+ S9pLS0sEAAAAAAAAAABLS0tKS0tLi0tLSycAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAEtLSyhLS0uLS0tLSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
+ //////////////////////////////////5//////////D/////////4H/////////gf////////8A//
+ ///////wD////////+AH////////4Af////////AA////////8AD////////gAH///////+AAf//////
+ /wAA////////AAD///////4AAH///////gAAf//////8AAA///////wAAD//////+AAAH//////4AAAf
+ //////gAAB//////8AAAD//////gAAAH/////8AAAAf/////wAAAA/////+AAAAB/////4AAAAH/////
+ AAAAAP////8AgAAA/////gAAAAB////+AEACAH////wAAAAAP////AAgBAA////4AB/4AB////gAAAAA
+ H///8AAAAAAP///wAAAAAA///+AAAAAAB///4AAAAAAH///AAAAAAAP//8AAAAAAA///gAAAAAAB//+A
+ AgAAAAH//wAAAAAAAP//AAQAAAAA//4AAAAAAAB//gAIAAAAAH/8AAAAAAAAP/wAEAAAAAA/+AAAAAAA
+ AB/4ACAAAAAAH/AAAAAAAAAP8ABAAAAAAA/gAAAAAAAAB+AD8AAAD8AHwA/+AAB/8APAf//gB//+A4H/
+ //w///+Bj/////////H/////////////////////KAAAAIAAAAAAAQAAAQAgAAAAAAAAAAEAIy4AACMu
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPBgAAAAAAAAAA0ZdPBgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TwDRl09qAAAAAAAAAADRl09p0ZdPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPR9GXT6kAAAAAAAAAANGXT6nRl09FAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TwHRl0/K0ZdPqQAAAAAAAAAA0ZdPqdGXT8nRl08BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPUdGXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GX
+ T08AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TwPRl0/T0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP0dGXTwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPW9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGX
+ T//Rl0//0ZdPWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TwXRl0/b0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0/Z0ZdPBAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPZdGXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGX
+ T6nRl0//0ZdP/9GXT//Rl09jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TwjRl0/i0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT+HRl08HAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPb9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAA
+ AADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT20AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TwzRl0/o0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP59GX
+ TwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPetGXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAA
+ AAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdPeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TxDRl0/u0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0/t0ZdPEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPg9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+CAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TxbRl0/y0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT/LRl08VAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPjtGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT4wAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TxzRl0/20ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP9tGXTxsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPmNGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPlgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TyPRl0/50ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/50ZdPIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPotGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TyvRl0/80ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT/zRl08pAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADTmFAA0ZdPrNGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT6sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TzPRl0/+0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGX
+ T6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/dGXTzIAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADSmE8A0ZdPttGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdPtdKYTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ TzzRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAA
+ AADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPOwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08A0ZdPwNGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+/0ZdPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ T0bRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAA
+ AAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl09FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08B0ZdPytGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT8jRl08BAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ T1DRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT08AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08D0ZdP0tGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP0dGXTwIAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ T1rRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdPWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08F0ZdP2tGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/Z0ZdPBAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ T2TRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl09jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08I0ZdP4tGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T+HRl08HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ T2/Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT20AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08M0ZdP6NGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP59GXTwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ T3nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPdwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRl08Q0ZdP7dGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGX
+ T6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0/t0ZdPDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGX
+ T1rRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl09ZAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ZdPDdGXT+zRl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAA
+ AADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP69GXTwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA0ZdPf9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl09+AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0spS0tLAAAAAADRl08T0ZdP8tGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAA
+ AAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP8tGXTxIAAAAAS0tLAEtLSygAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLAktL
+ S9BLS0s3AAAAAAAAAADRl0+L0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+KAAAAAAAA
+ AABLS0s7S0tLz0tLSwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tUS0tL/0tLS68AAAAAAAAAANGXTxrRl0/30ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP99GXTxkAAAAAS0tLAEtLS7RLS0v/S0tLUgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLAktL
+ S9JLS0v/S0tL/UtLSyoAAAAAAAAAANGXT5jRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+WAAAAAAAA
+ AABLS0svS0tL/ktLS/9LS0vQS0tLAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tVS0tL/0tLS/9LS0v/S0tLoAAAAAAAAAAA0ZdPI9GX
+ T/vRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP+9GXTyEAAAAAAAAAAEtLS6dLS0v/S0tL/0tLS/9LS0tTAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLAktL
+ S9NLS0v/S0tL/0tLS/9LS0v6S0tLHgAAAAAAAAAA0ZdPpNGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+iAAAAAAAA
+ AABLS0slS0tL/EtLS/9LS0v/S0tL/0tLS9FLS0sCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tWS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0uRAAAAAAAA
+ AADRl08s0ZdP/dGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/dGXTysAAAAAAAAAAEtLS5tLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S1QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLA0tL
+ S9RLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/RLS0sVAAAAAAAAAADRl0+w0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+vAAAAAAAA
+ AABLS0scS0tL+EtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL0ktLSwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tXS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S4IAAAAAAAAAANGXTzfRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXTzYAAAAAAAAAAEtLS49LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLA0tL
+ S9VLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL7UtLSw0AAAAA0pdPANGXT7zRl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+70pdPAAAA
+ AABLS0sVS0tL9EtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vTS0tLAgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tZS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLcwAAAAAAAAAA0ZdPQ9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT0IAAAAAAAAAAEtLS4NLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0tXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLA0tL
+ S9ZLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vkS0tLBwAAAADRl08A0ZdPyNGX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGX
+ T6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/H0ZdPAAAA
+ AABLS0sOS0tL7ktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9RLS0sCAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0taS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0tkAAAAAAAAAADRl09Q0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT04AAAAAAAAAAEtLS3dLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLA0tL
+ S9dLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9lLS0sDAAAAANGX
+ TwLRl0/T0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAA
+ AADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/S0ZdPAgAA
+ AABLS0sJS0tL50tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL1UtL
+ SwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tbS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS1UAAAAAAAAAANGXT1zRl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT1oAAAAAAAAAAEtLS2tLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLA0tL
+ S9hLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLzEtL
+ SwEAAAAA0ZdPBNGXT93Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAA
+ AAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/c0ZdPBAAA
+ AABLS0sFS0tL30tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0vWS0tLAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tcS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLRgAAAAAAAAAA0ZdPaNGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT2cAAAAAAAAAAEtLS19LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0taAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLA0tL
+ S9lLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0u+S0tLAAAAAADRl08I0ZdP5tGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T6kAAAAAAAAAANGXT6nRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/l0ZdPCAAA
+ AABLS0sCS0tL1ktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS9dLS0sDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tdS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0s4AAAAAAAAAADRl0900ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT3MAAAAAAAAAAEtLS1NLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS1sAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBEtL
+ S9pLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS7AAAAAAAAAAANGXTw3Rl0/t0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0+pAAAAAAAAAADRl0+p0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/s0ZdPDAAA
+ AABLS0sBS0tLy0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL2EtLSwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tfS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/UtLSyoAAAAAAAAAANGX
+ T4HRl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT6kAAAAAAAAAANGXT6nRl0//0ZdP/9GX
+ T//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT38AAAAAAAAAAEtLS0ZLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLXAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBEtL
+ S9pLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLoAAAAAAAAAAA0ZdPE9GXT/PRl0//0ZdP/9GXT//Rl0//0ZdP/9GX
+ T//Rl0//0ZdPqQAAAAAAAAAA0ZdPqdGXT//Rl0//0ZdP/9GXT//Rl0//0ZdP/9GXT//Rl0/y0ZdPEgAA
+ AAAAAAAAS0tLwEtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vZS0tLBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tgS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v6S0tLHwAA
+ AAAAAAAA0ZdPeNGXT8XRl0/F0ZdPxdGXT8XRl0/F0ZdPxdGXT8XRl0+DAAAAAAAAAADRl0+D0ZdPxdGX
+ T8XRl0/F0ZdPxdGXT8XRl0/F0ZdPxdGXT3YAAAAAAAAAAEtLSzpLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0teAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBEtL
+ S9xLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0uSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABLS0sAS0tLtEtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS9pLS0sEAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0thS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/NLS0sHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSyBLS0v+S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS18AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBUtL
+ S9xLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLsktLSwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLAktLS9NLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL20tLSwQAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tiS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/5LS0s0AAAAAAAAAADdzW5R3c1ukd3NbpHdzW6R3c1ukd3NbpHdzW6R3c1ukd3NbpHdzW6R3c1ukd3N
+ bpHdzW6R3c1ukd3NbpHdzW6R3c1ukd3NbpHdzW6R3c1uUAAAAAAAAAAAS0tLVktLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBUtL
+ S91LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLtAAAAAAAAAAA3c1uCt3NbujdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7n3c1uCgAAAABLS0sCS0tL00tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vcS0tLBQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tkS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/5LS0s3AAAAAAAAAADdzW5w3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW5xAAAAAAAAAABLS0tXS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0thAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBktL
+ S95LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLtwAAAAAAAAAA3c1uCN3NbuXdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93NbufdzW4KAAAAAEtLSwNLS0vUS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S91LS0sFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tlS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0s5AAAAAAAAAADdzW5s3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbnEAAAAAAAAAAEtL
+ S1hLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBktL
+ S99LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLuUtLSwAAAAAA3c1uB93NbuPdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u5t3NbgkAAAAAS0tLA0tLS9VLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL3ktLSwUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tmS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0s8AAAAAAAAAADdzW5o3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1ucAAA
+ AAAAAAAAS0tLWEtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLZAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBktL
+ S+BLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLvAAAAAAAAAAA3c1uBt3NbuDdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7m3c1uCQAAAABLS0sDS0tL1ktLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0veS0tLBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tnS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0s+AAAAAAAAAADdzW5k3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW5vAAAAAAAAAABLS0taS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0tlAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBktL
+ S+FLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLv0tLSwAAAAAA3c1uBd3Nbt3dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbubdzW4JAAAAAEtLSwNLS0vXS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS99LS0sGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tpS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tBAAAAAAAAAADdzW5g3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbm8AAAAAAAAAAEtLS1pLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S2YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLB0tL
+ S+JLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLwUtLSwAAAAAA3c1uBN3NbtrdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u5d3NbgkAAAAAS0tLA0tL
+ S9dLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL4EtLSwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tqS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tDAAAAAAAAAADdzW5c3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1ubgAAAAAAAAAAS0tLW0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLB0tL
+ S+JLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLxEtLSwAAAAAA3c1uA93NbtfdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7l3c1uCAAA
+ AABLS0sDS0tL2EtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vhS0tLBwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0trS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tGAAAAAAAAAADdzW5Z3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW5uAAAAAAAAAABLS0tcS0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0tpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLCEtL
+ S+NLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLxktLSwAAAAAA3c1uAt3NbtTdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ buTdzW4JAAAAAEtLSwRLS0vZS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+JLS0sHAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tsS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tJAAAAAAAAAADdzW5V3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbm0AAAAAAAAAAEtLS15LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS2oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLCEtL
+ S+RLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLyUtLSwEAAAAA3c1uAt3NbtHdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u5N3NbggAAAAAS0tLBEtLS9lLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL40tL
+ SwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0ttS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tLAAAAAAAAAADdzW5R3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1ubQAAAAAAAAAAS0tLXktL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLCUtL
+ S+VLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLy0tLSwEAAAAA3c1uAd3Nbs7dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7k3c1uCAAAAABLS0sES0tL2ktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0vjS0tLCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tvS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tOAAAAAAAAAADdzW5N3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW5sAAAAAAAA
+ AABLS0tfS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0tsAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLCUtL
+ S+VLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLzktLSwEAAAAA3c1uAd3NbsrdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbuPdzW4IAAAAAEtLSwRLS0vbS0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS+RLS0sIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tvS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tRAAAAAAAAAADdzW5J3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bmsAAAAAAAAAAEtLS2BLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS24AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLCUtL
+ S+dLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL0EtLSwEAAAAA3c1uAd3NbsfdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u493NbggAAAAAS0tLBUtLS9xLS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL5UtLSwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0txS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tTAAAAAAAAAADdzW5G3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1uawAAAAAAAAAAS0tLYUtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLbwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLCktL
+ S+dLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL0ktLSwIAAAAA3c1uAN3NbsPdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7j3c1uBwAAAABLS0sFS0tL3EtL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vmS0tLCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tyS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tWAAAAAAAAAADdzW5C3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW5qAAAAAAAAAABLS0tiS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0twAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLCktL
+ S+hLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL1UtLSwIAAAAA3c1uAN3Nbr/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbuLdzW4HAAAAAEtL
+ SwVLS0vdS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+ZLS0sKAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0tzS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tZAAAAAAAAAADdzW4+3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbmoAAAAAAAAAAEtLS2NLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS3EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLC0tL
+ S+hLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL10tLSwMAAAAA3c1uAN3NbrvdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u4t3N
+ bgcAAAAAS0tLBUtLS95LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL50tLSwoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t0S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tcAAAAAAAAAADdzW463c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uaQAAAAAAAAAAS0tLZEtLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tLcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLC0tL
+ S+lLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL2UtLSwMAAAAA4NBwAN3NbrfdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7h3c1uBwAAAABLS0sGS0tL30tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0voS0tLCwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t2S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0teAAAAAAAAAADdzW433c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW5pAAAAAAAAAABLS0tlS0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0t0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLDEtL
+ S+pLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL20tLSwQAAAAA3c1uAN3NbrTdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93NbuHdzW4HAAAAAEtLSwZLS0vfS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S+lLS0sLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t3S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0thAAAAAAAAAADdzW4z3c1u/t3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbmgAAAAAAAAAAEtL
+ S2ZLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS3UAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLDEtL
+ S+tLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL3UtLSwUAAAAAAAAAAN3NbrDdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u4N3NbgYAAAAAS0tLBktLS+BLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL6UtLSwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t4S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0tjAAAAAAAAAADdzW4w3c1u/t3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1uZwAA
+ AAAAAAAAS0tLZ0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tLdgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLDUtL
+ S+tLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL30tLSwYAAAAAAAAAAN3NbqzdzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7g3c1uBgAAAABLS0sHS0tL4EtLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0vqS0tLDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t5S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL9ktL
+ S6ZLS0szAAAAAAAAAADdzW4C3c1up93Nbu7dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u993N
+ brrdzW4hAAAAAAAAAABLS0s0S0tLpktLS/dLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0t3AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLDktL
+ S+xLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL00tLS29LS0sUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3c1uBt3N
+ bkHdzW6N3c1u2N3Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7l3c1unN3NblHdzW4OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLFEtL
+ S3BLS0vUS0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+tLS0sNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t7S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v0S0tLnktLSzpLS0sBAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdzW4B3c1uJd3NbnDdzW683c1u+d3N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/d3NbsjdzW5+3c1uM93NbgIAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwFLS0s6S0tLn0tLS/RLS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLDktL
+ S+1LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/5LS0vMS0tLaEtLSw4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdzW4O3c1uVN3Nbp/dzW7o3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7v3c1uqt3N
+ bl/dzW4WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAS0tLD0tLS2lLS0vNS0tL/ktLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL60tLSw0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t8S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+9LS0uWS0tLMktLSwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAN3NbgPdzW433c1ug93Nbs7dzW793c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/t3NbtbdzW6M3c1uQd3NbgYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtL
+ SwBLS0szS0tLl0tLS/BLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tLegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLD0tL
+ S+1LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/ktLS8VLS0tgS0tLCwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3s5vAN3N
+ bh3dzW5m3c1ust3NbvTdzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW723c1uuN3Nbm3dzW4j3c1uAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLDEtLS2FLS0vFS0tL/ktL
+ S/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vsS0tLDgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t9S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL7EtLS45LS0srS0tLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3c1uCt3NbkrdzW6W3c1u4N3N
+ bv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93Nbv/dzW7/3c1u/93NbuTdzW6a3c1uT93N
+ bgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtLSwBLS0ssS0tLj0tLS+xLS0v/S0tL/0tLS/9LS0v/S0tL/0tL
+ S/9LS0v/S0tL/0tLS/9LS0t7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLEEtL
+ S+5LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0v9S0tLvUtLS1hLS0sHAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdzW4B3c1uLd3NbnndzW7E3c1u+93Nbv/dzW7/3c1u/93N
+ bv/dzW783c1uxt3NbnvdzW4x3c1uAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAS0tLCEtLS1lLS0u+S0tL/UtLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS+1LS0sOAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t+S0tL/0tLS/9LS0v/S0tL/0tLS/9LS0vmS0tLh0tL
+ SyQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADdzW4V3c1uXd3NbqjdzW6o3c1uXd3NbhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0slS0tLiEtL
+ S+ZLS0v/S0tL/0tLS/9LS0v/S0tL/0tLS3wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLEEtL
+ S+5LS0v/S0tL/0tLS/tLS0u1S0tLUUtLSwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLBktLS1JLS0u2S0tL/EtLS/9LS0v/S0tL7UtL
+ Sw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLS0t/S0tL/0tLS+BLS0t/S0tLHgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABLS0sfS0tLgEtLS+FLS0v/S0tLfQAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLC0tL
+ S55LS0tJS0tLAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS0tLA0tL
+ S0pLS0udS0tLCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////b////////////////////2////////////////////5n///////////////////8Y//
+ //////////////////GP///////////////////hh///////////////////4Yf/////////////////
+ /8GD///////////////////Bg///////////////////gYH//////////////////4GB////////////
+ //////8BgP//////////////////AYD//////////////////gGAf/////////////////4BgH//////
+ ///////////8AYA//////////////////AGAP/////////////////gBgB/////////////////4AYAf
+ ////////////////8AGAD/////////////////ABgA/////////////////gAYAH////////////////
+ 4AGAB////////////////8ABgAP////////////////AAYAD////////////////gAGAAf//////////
+ /////4ABgAH///////////////8AAYAA///////////////+AAGAAH///////////////gABgAB/////
+ //////////wAAYAAP//////////////8AAGAAD//////////////+AABgAAf//////////////gAAYAA
+ H//////////////wAAGAAA//////////////8AABgAAP/////////////+AAAYAAB//////////////g
+ AAGAAAf/////////////wAABgAAD/////////////8AAAYAAA//////////////AAAGAAAP/////////
+ ////4AABgAAH/////////////2AAAYAABv////////////4wAAGAAAx////////////+MAABgAAMf///
+ /////////BgAAYAAGD////////////wYAAGAABg////////////4DAABgAAwH///////////+AwAAYAA
+ MB////////////AGAAGAAGAP///////////wBgABgABgD///////////4AMAAYAAwAf//////////+AD
+ AAGAAMAH///////////AAYABgAGAA///////////wAGAAYABgAP//////////4AAgAGAAQAB////////
+ //+AAMABgAMAAf//////////AABAAYACAAD//////////wAAYAGABgAA//////////4AAGABgAQAAH//
+ ///////+AAAwAYAMAAB//////////AAAMAGACAAAP/////////wAABgBgBgAAD/////////4AAAYAYAY
+ AAAf////////+AAADAGAMAAAH/////////AAAA////AAAA/////////wAAAH///gAAAP////////4AAA
+ D///4AAAB////////+AAAAwAADAAAAf////////AAAAYAAAQAAAD////////wAAAGAAAGAAAA///////
+ /4AAADAAAAgAAAH///////+AAAAwAAAMAAAB////////AAAAYAAABAAAAP///////wAAAGAAAAYAAAD/
+ //////4AAADAAAACAAAAf//////+AAAAwAAAAwAAAH///////AAAAYAAAAEAAAA///////wAAAGAAAAB
+ gAAAP//////4AAADAAAAAIAAAB//////+AAAAwAAAADAAAAf//////AAAAYAAAAAQAAAD//////wAAAG
+ AAAAAGAAAA//////4AAADAAAAAAgAAAH/////+AAAAwAAAAAMAAAB//////AAAAIAAAAABAAAAP/////
+ wAAAGAAAAAAYAAAD/////4AAABAAAAAACAAAAf////+AAAAwAAAAAAwAAAH/////AAAAIAAAAAAEAAAA
+ /////wAAAGAAAAAABgAAAP////4AAABAAAAAAAIAAAB////+AAAAwAAAAAADAAAAf////AAAAMAAAAAA
+ AQAAAD////wAAAGAAAAAAAGAAAA////4AAABgAAAAAAAgAAAH///+AAAAwAAAAAAAMAAAB////AAAAMA
+ AAAAAABAAAAP///wAAAGAAAAAAAAYAAAD///4AAABgAAAAAAACAAAAf//+AAAAwAAAAAAAAwAAAH///A
+ AAAMAAAAAAAAEAAAA///wAAAGAAAAAAAABgAAAP//4AAABgAAAAAAAAIAAAB//+AAAAwAAAAAAAADAAA
+ Af//AAAAMAAAAAAAAAQAAAD//wAAAGAAAAAAAAAGAAAA//4AAAH4AAAAAAAAH4AAAH/+AAAH/wAAAAAA
+ AP/gAAB//AAAP//wAAAAAA///AAAP/wAAf///gAAAAB///+AAD/4AAf////gAAAH////4AAf+AA/////
+ /AAAP/////wAH/AA//////+AAf//////AA/wB///////+B///////+AP4B/////////////////4B+D/
+ /////////////////wfD///////////////////D////////////////////////////////////////
+ /////////////////////////////////////////////4lQTkcNChoKAAAADUlIRFIAAAEAAAABAAgG
+ AAAAXHKoZgAAHntJREFUeNrtnXmcXEW1x7/DIiiogLIoKmprfC68RhtQQARcQCh0Hj73XcSlWcIq4BLC
+ km0SEmJHGSALCVtA0dA+CkFFkV0w6BAQISSEsG9hJ9sk8/6oipn03Orp5d5bt26f7+fDh8/nVnf1uXdy
+ f+fUdg4IgiAIgiAIgiAIgiAIgiAIgiAIgiAIgpAXuqIuKqV2Br4DnA/cpbUe8G2oIAjNoZTqAnYGDgWm
+ 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
+
+
+
\ No newline at end of file
diff --git a/IronWASP/ActivePlugins/CodeInjectionCheck.cs b/Iron/ActivePlugins/CodeInjectionCheck.cs
similarity index 100%
rename from IronWASP/ActivePlugins/CodeInjectionCheck.cs
rename to Iron/ActivePlugins/CodeInjectionCheck.cs
diff --git a/IronWASP/ActivePlugins/CommandInjectionCheck.cs b/Iron/ActivePlugins/CommandInjectionCheck.cs
similarity index 100%
rename from IronWASP/ActivePlugins/CommandInjectionCheck.cs
rename to Iron/ActivePlugins/CommandInjectionCheck.cs
diff --git a/IronWASP/ActivePlugins/CrossSiteScriptingCheck.cs b/Iron/ActivePlugins/CrossSiteScriptingCheck.cs
similarity index 86%
rename from IronWASP/ActivePlugins/CrossSiteScriptingCheck.cs
rename to Iron/ActivePlugins/CrossSiteScriptingCheck.cs
index d99067b..1d660ac 100644
--- a/IronWASP/ActivePlugins/CrossSiteScriptingCheck.cs
+++ b/Iron/ActivePlugins/CrossSiteScriptingCheck.cs
@@ -55,52 +55,52 @@ public override void Check(Scanner Scnr)
//Show the reflection contexts to user and show the list of payloads that are going to be sent
//Do Context specific checks
- foreach( ReflectionContext context in this.ProbeStringContexts)
+ foreach (ReflectionContext context in this.ProbeStringContexts)
{
- if(context == ReflectionContext.JS)
+ if (context == ReflectionContext.JS)
{
this.CheckForInjectionInFullJS();
}
- else if(context == ReflectionContext.InLineJS || context == ReflectionContext.JSUrl || context == ReflectionContext.EventAttribute)
+ else if (context == ReflectionContext.InLineJS || context == ReflectionContext.JSUrl || context == ReflectionContext.EventAttribute)
{
this.CheckForInjectionInJSInsideHTML();
}
- else if(context == ReflectionContext.InLineVB || context == ReflectionContext.VBUrl)
+ else if (context == ReflectionContext.InLineVB || context == ReflectionContext.VBUrl)
{
this.CheckForInjectionInVBInsideHTML();
}
- else if(context == ReflectionContext.UrlAttribute)
+ else if (context == ReflectionContext.UrlAttribute)
{
this.CheckForInjectionInUrlAttribute();
}
- else if(context == ReflectionContext.CSS || context == ReflectionContext.InLineCSS)
+ else if (context == ReflectionContext.CSS || context == ReflectionContext.InLineCSS)
{
this.CheckForInjectionInFullCSS();
}
- else if(context == ReflectionContext.AttributeCSS)
+ else if (context == ReflectionContext.AttributeCSS)
{
this.CheckForInjectionInCSSInsideStyleAttribute();
}
- else if(context == ReflectionContext.AttributeName)
+ else if (context == ReflectionContext.AttributeName)
{
this.CheckForInjectionInAttributeName();
}
- else if(context == ReflectionContext.AttributeValueWithSingleQuote)
+ else if (context == ReflectionContext.AttributeValueWithSingleQuote)
{
this.CheckForInjectionInSingleQuoteAttributeValue();
}
- else if(context == ReflectionContext.AttributeValueWithDoubleQuote)
+ else if (context == ReflectionContext.AttributeValueWithDoubleQuote)
{
this.CheckForInjectionInDoubleQuoteAttributeValue();
}
}
-
+
//Do a HTML Injection Check irrespective of the context
this.CheckForInjectionInHtml();
-
+
//Check for Injection in Special Attributes
this.CheckForInjectionInSpecialAttributes();
-
+
//scan is complete, analyse the results
this.AnalyseResults();
@@ -120,14 +120,14 @@ void CheckReflectionWithProbeString()
this.ProbeStringResponse = this.Scnr.Inject(this.ProbeString);
this.ProbeStringRequest = this.Scnr.InjectedRequest.GetClone();
-
+
//Store the ProbeString in Analyzer for Stored XSS Reflection Checking
Analyzer.AddProbeString(this.ProbeString, this.Scnr.InjectedRequest.LogId);
- if(this.ProbeStringResponse.BodyString.Contains(this.ProbeString))
+ if (this.ProbeStringResponse.BodyString.Contains(this.ProbeString))
{
this.ProbeStringContexts = this.GetContext(this.ProbeString, this.ProbeStringResponse);
-
+
//make the list unique
Dictionary TempDict = new Dictionary();
foreach (ReflectionContext RC in this.ProbeStringContexts)
@@ -136,9 +136,9 @@ void CheckReflectionWithProbeString()
}
this.ProbeStringContexts = new List(TempDict.Keys);
}
-
- string PsContextsString = "";
- if(this.ProbeStringContexts.Count == 0)
+
+ string PsContextsString = "";
+ if (this.ProbeStringContexts.Count == 0)
{
PsContextsString = ">No reflection>";
}
@@ -155,13 +155,13 @@ void CheckReflectionWithProbeString()
string ResDetails = string.Format(" || Code - {0} | Length - {1}", this.ProbeStringResponse.Code, this.ProbeStringResponse.BodyLength);
this.Scnr.ResponseTrace(string.Format(" ==> Reflection contexts - {0}{1}", PsContextsString, ResDetails));
-
+
}
void CheckCharsetSecurity()
{
-
- if (! this.BaseResponse.IsCharsetSet)
+
+ if (!this.BaseResponse.IsCharsetSet)
{
this.ReportCharsetNotSet();
}
@@ -213,12 +213,12 @@ void CheckForCrossSiteCookieSetting()
{
List MetaSetCookies = this.ProbeStringResponse.Html.GetMetaContent("http-equiv", "set-cookie");
List HeaderSetCookies = new List();
-
- if(this.ProbeStringResponse.SetCookies.Count > 0)
+
+ if (this.ProbeStringResponse.SetCookies.Count > 0)
{
HeaderSetCookies = this.ProbeStringResponse.Headers.GetAll("Set-Cookie");
}
-
+
bool MetaCsc = false;
bool HeaderCsc = false;
@@ -235,7 +235,7 @@ void CheckForCrossSiteCookieSetting()
foreach (string SetCookieValue in HeaderSetCookies)
{
if (SetCookieValue.ToLower().Contains(this.ProbeString))
- {
+ {
HeaderCsc = true;
this.Scnr.Trace(string.Format(">>Injected ProbeString '{0}' is reflected inside Set-Cookie Header. Allows Cross-site Cookie Setting!>", this.ProbeString));
break;
@@ -250,12 +250,12 @@ void CheckForCrossSiteCookieSetting()
void CheckForInjectionInHtml()
{
- List contexts = new List(){"HTML"};
+ List contexts = new List() { "HTML" };
- if (this.ProbeStringContexts.Count == 0
- || this.ProbeStringContexts.Contains(ReflectionContext.Unknown)
- || this.ProbeStringContexts.Contains(ReflectionContext.AttributeName)
- || this.ProbeStringContexts.Contains(ReflectionContext.AttributeValueWithSingleQuote)
+ if (this.ProbeStringContexts.Count == 0
+ || this.ProbeStringContexts.Contains(ReflectionContext.Unknown)
+ || this.ProbeStringContexts.Contains(ReflectionContext.AttributeName)
+ || this.ProbeStringContexts.Contains(ReflectionContext.AttributeValueWithSingleQuote)
|| this.ProbeStringContexts.Contains(ReflectionContext.AttributeValueWithDoubleQuote))
{
contexts.Add("HTML Escape");
@@ -266,7 +266,7 @@ void CheckForInjectionInHtml()
contexts.Add("TEXTAREA tag");
}
- if (this.ProbeStringContexts.Contains(ReflectionContext.InLineJS))
+ if (this.ProbeStringContexts.Contains(ReflectionContext.InLineJS) || this.ProbeStringContexts.Contains(ReflectionContext.InLineVB))
{
contexts.Add("SCRIPT tag");
}
@@ -280,7 +280,7 @@ void CheckForInjectionInHtml()
{
contexts.Add("HTML Comment");
}
-
+
foreach (string context in contexts)
{
List prefixes = new List();
@@ -291,12 +291,12 @@ void CheckForInjectionInHtml()
string trace_header = "";
string trace_success = "";
string trace_fail = "";
-
+
switch (context)
{
case ("HTML"):
- prefixes = new List(){""};
- suffixes = new List(){""};
+ prefixes = new List() { "" };
+ suffixes = new List() { "" };
attr_name = "xhx";
attr_value = "yhy";
trace_header = "Checking HTML Injection in HTML Context";
@@ -305,8 +305,8 @@ void CheckForInjectionInHtml()
break;
case ("HTML Escape"):
- prefixes = new List(){"a\">", "a'>", "a>", "a\">", "a'>", "a>"};
- suffixes = new List(){"() { "a\">", "a'>", "a>", "a\">", "a'>", "a>" };
+ suffixes = new List() { "(){""};
- suffixes = new List(){""};
+ prefixes = new List() { "" };
+ suffixes = new List() { "" };
attr_name = "xtx";
attr_value = "yty";
trace_header = "Checking HTML Injection by escaping Textarea tag Context";
@@ -325,8 +325,8 @@ void CheckForInjectionInHtml()
break;
case ("SCRIPT tag"):
- prefixes = new List(){"", "-->"};
- suffixes = new List(){"", ""};
+ prefixes = new List() { "", "-->" };
+ suffixes = new List