diff --git a/BizHawk.Client.Common/lua/LuaFile.cs b/BizHawk.Client.Common/lua/LuaFile.cs
index a7f2a70be6..3ca9959f0d 100644
--- a/BizHawk.Client.Common/lua/LuaFile.cs
+++ b/BizHawk.Client.Common/lua/LuaFile.cs
@@ -9,8 +9,7 @@ namespace BizHawk.Client.Common
{
Name = string.Empty;
Path = path;
- Enabled = true;
- Paused = false;
+ State = RunState.Running;
FrameWaiting = false;
}
@@ -29,28 +28,34 @@ namespace BizHawk.Client.Common
IsSeparator = isSeparator;
Name = string.Empty;
Path = string.Empty;
- Enabled = false;
+ State = RunState.Disabled;
}
public LuaFile(LuaFile file)
{
Name = file.Name;
Path = file.Path;
- Enabled = file.Enabled;
- Paused = file.Paused;
+ State = file.State;
IsSeparator = file.IsSeparator;
CurrentDirectory = file.CurrentDirectory;
}
public string Name { get; set; }
public string Path { get; set; }
- public bool Enabled { get; set; }
- public bool Paused { get; set; }
+ public bool Enabled { get { return State != RunState.Disabled; } }
+ public bool Paused { get { return State == RunState.Paused; } }
public bool IsSeparator { get; set; }
public LuaInterface.Lua Thread { get; set; }
public bool FrameWaiting { get; set; }
public string CurrentDirectory { get; set; }
+ public enum RunState
+ {
+ Disabled, Running, Paused
+ }
+
+ public RunState State { get; set; }
+
public static LuaFile SeparatorInstance
{
get { return new LuaFile(true); }
@@ -58,22 +63,25 @@ namespace BizHawk.Client.Common
public void Stop()
{
- Enabled = false;
+ State = RunState.Disabled;
Thread = null;
}
public void Toggle()
{
- Enabled ^= true;
- if (Enabled)
- {
- Paused = false;
- }
+ if (State == RunState.Paused)
+ State = RunState.Running;
+ else if (State == RunState.Disabled)
+ State = RunState.Running;
+ else State = RunState.Disabled;
}
public void TogglePause()
{
- Paused ^= true;
+ if (State == RunState.Paused)
+ State = RunState.Running;
+ else if(State == RunState.Running)
+ State = RunState.Paused;
}
}
}
diff --git a/BizHawk.Client.Common/lua/LuaFileList.cs b/BizHawk.Client.Common/lua/LuaFileList.cs
index f246be5858..8ea0f8bfc3 100644
--- a/BizHawk.Client.Common/lua/LuaFileList.cs
+++ b/BizHawk.Client.Common/lua/LuaFileList.cs
@@ -45,7 +45,7 @@ namespace BizHawk.Client.Common
public void StopAllScripts()
{
- ForEach(x => x.Enabled = false);
+ ForEach(x => x.State = LuaFile.RunState.Disabled);
}
public new void Clear()
@@ -105,8 +105,10 @@ namespace BizHawk.Client.Common
Add(new LuaFile(scriptPath)
{
- Enabled = !Global.Config.DisableLuaScriptsOnLoad &&
- line.Substring(0, 1) == "1",
+ State = (
+ !Global.Config.DisableLuaScriptsOnLoad
+ && line.Substring(0, 1) == "1"
+ ) ? LuaFile.RunState.Running : LuaFile.RunState.Disabled
});
}
}
diff --git a/BizHawk.Client.EmuHawk/images/PlayButton.png b/BizHawk.Client.EmuHawk/images/PlayButton.png
new file mode 100644
index 0000000000..ee5db08ef4
Binary files /dev/null and b/BizHawk.Client.EmuHawk/images/PlayButton.png differ
diff --git a/BizHawk.Client.EmuHawk/images/StopButton.png b/BizHawk.Client.EmuHawk/images/StopButton.png
new file mode 100644
index 0000000000..aa0820f0e0
Binary files /dev/null and b/BizHawk.Client.EmuHawk/images/StopButton.png differ
diff --git a/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.Designer.cs b/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.Designer.cs
index 29ddf1c5e4..5d14d6f23e 100644
--- a/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.Designer.cs
+++ b/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.Designer.cs
@@ -99,6 +99,7 @@
this.LuaListView = new BizHawk.Client.EmuHawk.VirtualListView();
this.Script = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.PathName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
+ this.imageList1 = new System.Windows.Forms.ImageList(this.components);
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.ScriptListContextMenu.SuspendLayout();
this.menuStrip1.SuspendLayout();
@@ -122,14 +123,14 @@
this.ScriptContextSeparator,
this.StopAllScriptsContextItem});
this.ScriptListContextMenu.Name = "contextMenuStrip1";
- this.ScriptListContextMenu.Size = new System.Drawing.Size(165, 142);
+ this.ScriptListContextMenu.Size = new System.Drawing.Size(158, 142);
this.ScriptListContextMenu.Opening += new System.ComponentModel.CancelEventHandler(this.ScriptListContextMenu_Opening);
//
// ToggleScriptContextItem
//
this.ToggleScriptContextItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Refresh1;
this.ToggleScriptContextItem.Name = "ToggleScriptContextItem";
- this.ToggleScriptContextItem.Size = new System.Drawing.Size(164, 22);
+ this.ToggleScriptContextItem.Size = new System.Drawing.Size(157, 22);
this.ToggleScriptContextItem.Text = "&Toggle";
this.ToggleScriptContextItem.Click += new System.EventHandler(this.ToggleScriptMenuItem_Click);
//
@@ -137,7 +138,7 @@
//
this.PauseScriptContextItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Pause;
this.PauseScriptContextItem.Name = "PauseScriptContextItem";
- this.PauseScriptContextItem.Size = new System.Drawing.Size(164, 22);
+ this.PauseScriptContextItem.Size = new System.Drawing.Size(157, 22);
this.PauseScriptContextItem.Text = "Pause or Resume";
this.PauseScriptContextItem.Click += new System.EventHandler(this.PauseScriptMenuItem_Click);
//
@@ -145,7 +146,7 @@
//
this.EditScriptContextItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.CutHS;
this.EditScriptContextItem.Name = "EditScriptContextItem";
- this.EditScriptContextItem.Size = new System.Drawing.Size(164, 22);
+ this.EditScriptContextItem.Size = new System.Drawing.Size(157, 22);
this.EditScriptContextItem.Text = "&Edit";
this.EditScriptContextItem.Click += new System.EventHandler(this.EditScriptMenuItem_Click);
//
@@ -153,7 +154,7 @@
//
this.RemoveScriptContextItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Close;
this.RemoveScriptContextItem.Name = "RemoveScriptContextItem";
- this.RemoveScriptContextItem.Size = new System.Drawing.Size(164, 22);
+ this.RemoveScriptContextItem.Size = new System.Drawing.Size(157, 22);
this.RemoveScriptContextItem.Text = "&Remove";
this.RemoveScriptContextItem.Click += new System.EventHandler(this.RemoveScriptMenuItem_Click);
//
@@ -161,20 +162,20 @@
//
this.InsertSeperatorContextItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.InsertSeparator;
this.InsertSeperatorContextItem.Name = "InsertSeperatorContextItem";
- this.InsertSeperatorContextItem.Size = new System.Drawing.Size(164, 22);
+ this.InsertSeperatorContextItem.Size = new System.Drawing.Size(157, 22);
this.InsertSeperatorContextItem.Text = "Insert Seperator";
this.InsertSeperatorContextItem.Click += new System.EventHandler(this.InsertSeparatorMenuItem_Click);
//
// ScriptContextSeparator
//
this.ScriptContextSeparator.Name = "ScriptContextSeparator";
- this.ScriptContextSeparator.Size = new System.Drawing.Size(161, 6);
+ this.ScriptContextSeparator.Size = new System.Drawing.Size(154, 6);
//
// StopAllScriptsContextItem
//
this.StopAllScriptsContextItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Stop;
this.StopAllScriptsContextItem.Name = "StopAllScriptsContextItem";
- this.StopAllScriptsContextItem.Size = new System.Drawing.Size(164, 22);
+ this.StopAllScriptsContextItem.Size = new System.Drawing.Size(157, 22);
this.StopAllScriptsContextItem.Text = "Stop All Scripts";
this.StopAllScriptsContextItem.Click += new System.EventHandler(this.StopAllScriptsMenuItem_Click);
//
@@ -205,7 +206,7 @@
this.toolStripSeparator1,
this.ExitMenuItem});
this.FileSubMenu.Name = "FileSubMenu";
- this.FileSubMenu.Size = new System.Drawing.Size(37, 20);
+ this.FileSubMenu.Size = new System.Drawing.Size(35, 20);
this.FileSubMenu.Text = "&File";
this.FileSubMenu.DropDownOpened += new System.EventHandler(this.FileSubMenu_DropDownOpened);
//
@@ -215,7 +216,7 @@
this.NewSessionMenuItem.Name = "NewSessionMenuItem";
this.NewSessionMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.N)));
- this.NewSessionMenuItem.Size = new System.Drawing.Size(237, 22);
+ this.NewSessionMenuItem.Size = new System.Drawing.Size(232, 22);
this.NewSessionMenuItem.Text = "&New Session";
this.NewSessionMenuItem.Click += new System.EventHandler(this.NewSessionMenuItem_Click);
//
@@ -225,7 +226,7 @@
this.OpenSessionMenuItem.Name = "OpenSessionMenuItem";
this.OpenSessionMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.O)));
- this.OpenSessionMenuItem.Size = new System.Drawing.Size(237, 22);
+ this.OpenSessionMenuItem.Size = new System.Drawing.Size(232, 22);
this.OpenSessionMenuItem.Text = "&Open Session...";
this.OpenSessionMenuItem.Click += new System.EventHandler(this.OpenSessionMenuItem_Click);
//
@@ -234,7 +235,7 @@
this.SaveSessionMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.SaveAs;
this.SaveSessionMenuItem.Name = "SaveSessionMenuItem";
this.SaveSessionMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
- this.SaveSessionMenuItem.Size = new System.Drawing.Size(237, 22);
+ this.SaveSessionMenuItem.Size = new System.Drawing.Size(232, 22);
this.SaveSessionMenuItem.Text = "&Save Session";
this.SaveSessionMenuItem.Click += new System.EventHandler(this.SaveSessionMenuItem_Click);
//
@@ -243,21 +244,21 @@
this.SaveSessionAsMenuItem.Name = "SaveSessionAsMenuItem";
this.SaveSessionAsMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.S)));
- this.SaveSessionAsMenuItem.Size = new System.Drawing.Size(237, 22);
+ this.SaveSessionAsMenuItem.Size = new System.Drawing.Size(232, 22);
this.SaveSessionAsMenuItem.Text = "Save Session &As...";
this.SaveSessionAsMenuItem.Click += new System.EventHandler(this.SaveSessionAsMenuItem_Click);
//
// toolStripSeparator9
//
this.toolStripSeparator9.Name = "toolStripSeparator9";
- this.toolStripSeparator9.Size = new System.Drawing.Size(234, 6);
+ this.toolStripSeparator9.Size = new System.Drawing.Size(229, 6);
//
// RecentSessionsSubMenu
//
this.RecentSessionsSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripSeparator8});
this.RecentSessionsSubMenu.Name = "RecentSessionsSubMenu";
- this.RecentSessionsSubMenu.Size = new System.Drawing.Size(237, 22);
+ this.RecentSessionsSubMenu.Size = new System.Drawing.Size(232, 22);
this.RecentSessionsSubMenu.Text = "Recent Sessions";
this.RecentSessionsSubMenu.DropDownOpened += new System.EventHandler(this.RecentSessionsSubMenu_DropDownOpened);
//
@@ -272,7 +273,7 @@
this.toolStripSeparator3});
this.RecentScriptsSubMenu.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Recent;
this.RecentScriptsSubMenu.Name = "RecentScriptsSubMenu";
- this.RecentScriptsSubMenu.Size = new System.Drawing.Size(237, 22);
+ this.RecentScriptsSubMenu.Size = new System.Drawing.Size(232, 22);
this.RecentScriptsSubMenu.Text = "Recent Scripts";
this.RecentScriptsSubMenu.DropDownOpened += new System.EventHandler(this.RecentScriptsSubMenu_DropDownOpened);
//
@@ -284,13 +285,13 @@
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
- this.toolStripSeparator1.Size = new System.Drawing.Size(234, 6);
+ this.toolStripSeparator1.Size = new System.Drawing.Size(229, 6);
//
// ExitMenuItem
//
this.ExitMenuItem.Name = "ExitMenuItem";
this.ExitMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4)));
- this.ExitMenuItem.Size = new System.Drawing.Size(237, 22);
+ this.ExitMenuItem.Size = new System.Drawing.Size(232, 22);
this.ExitMenuItem.Text = "E&xit";
this.ExitMenuItem.Click += new System.EventHandler(this.ExitMenuItem_Click);
//
@@ -314,7 +315,7 @@
this.StopAllScriptsMenuItem,
this.RegisteredFunctionsMenuItem});
this.ScriptSubMenu.Name = "ScriptSubMenu";
- this.ScriptSubMenu.Size = new System.Drawing.Size(49, 20);
+ this.ScriptSubMenu.Size = new System.Drawing.Size(46, 20);
this.ScriptSubMenu.Text = "&Script";
this.ScriptSubMenu.DropDownOpened += new System.EventHandler(this.ScriptSubMenu_DropDownOpened);
//
@@ -323,7 +324,7 @@
this.NewScriptMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.NewFile;
this.NewScriptMenuItem.Name = "NewScriptMenuItem";
this.NewScriptMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N)));
- this.NewScriptMenuItem.Size = new System.Drawing.Size(218, 22);
+ this.NewScriptMenuItem.Size = new System.Drawing.Size(212, 22);
this.NewScriptMenuItem.Text = "New Script";
this.NewScriptMenuItem.Click += new System.EventHandler(this.NewScriptMenuItem_Click);
//
@@ -332,7 +333,7 @@
this.OpenScriptMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.OpenFile;
this.OpenScriptMenuItem.Name = "OpenScriptMenuItem";
this.OpenScriptMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
- this.OpenScriptMenuItem.Size = new System.Drawing.Size(218, 22);
+ this.OpenScriptMenuItem.Size = new System.Drawing.Size(212, 22);
this.OpenScriptMenuItem.Text = "&Open Script...";
this.OpenScriptMenuItem.Click += new System.EventHandler(this.OpenScriptMenuItem_Click);
//
@@ -341,7 +342,7 @@
this.RefreshScriptMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Refresh1;
this.RefreshScriptMenuItem.Name = "RefreshScriptMenuItem";
this.RefreshScriptMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F5;
- this.RefreshScriptMenuItem.Size = new System.Drawing.Size(218, 22);
+ this.RefreshScriptMenuItem.Size = new System.Drawing.Size(212, 22);
this.RefreshScriptMenuItem.Text = "&Re&fresh";
this.RefreshScriptMenuItem.Click += new System.EventHandler(this.RefreshScriptMenuItem_Click);
//
@@ -350,7 +351,7 @@
this.ToggleScriptMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.checkbox;
this.ToggleScriptMenuItem.Name = "ToggleScriptMenuItem";
this.ToggleScriptMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.T)));
- this.ToggleScriptMenuItem.Size = new System.Drawing.Size(218, 22);
+ this.ToggleScriptMenuItem.Size = new System.Drawing.Size(212, 22);
this.ToggleScriptMenuItem.Text = "&Toggle";
this.ToggleScriptMenuItem.Click += new System.EventHandler(this.ToggleScriptMenuItem_Click);
//
@@ -358,7 +359,7 @@
//
this.PauseScriptMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Pause;
this.PauseScriptMenuItem.Name = "PauseScriptMenuItem";
- this.PauseScriptMenuItem.Size = new System.Drawing.Size(218, 22);
+ this.PauseScriptMenuItem.Size = new System.Drawing.Size(212, 22);
this.PauseScriptMenuItem.Text = "Pause or Resume";
this.PauseScriptMenuItem.Click += new System.EventHandler(this.PauseScriptMenuItem_Click);
//
@@ -367,7 +368,7 @@
this.EditScriptMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.CutHS;
this.EditScriptMenuItem.Name = "EditScriptMenuItem";
this.EditScriptMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.E)));
- this.EditScriptMenuItem.Size = new System.Drawing.Size(218, 22);
+ this.EditScriptMenuItem.Size = new System.Drawing.Size(212, 22);
this.EditScriptMenuItem.Text = "&Edit Script";
this.EditScriptMenuItem.Click += new System.EventHandler(this.EditScriptMenuItem_Click);
//
@@ -376,28 +377,28 @@
this.RemoveScriptMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Delete;
this.RemoveScriptMenuItem.Name = "RemoveScriptMenuItem";
this.RemoveScriptMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Delete;
- this.RemoveScriptMenuItem.Size = new System.Drawing.Size(218, 22);
+ this.RemoveScriptMenuItem.Size = new System.Drawing.Size(212, 22);
this.RemoveScriptMenuItem.Text = "&Remove Script";
this.RemoveScriptMenuItem.Click += new System.EventHandler(this.RemoveScriptMenuItem_Click);
//
// DuplicateScriptMenuItem
//
this.DuplicateScriptMenuItem.Name = "DuplicateScriptMenuItem";
- this.DuplicateScriptMenuItem.Size = new System.Drawing.Size(218, 22);
+ this.DuplicateScriptMenuItem.Size = new System.Drawing.Size(212, 22);
this.DuplicateScriptMenuItem.Text = "&Duplicate Script";
this.DuplicateScriptMenuItem.Click += new System.EventHandler(this.DuplicateScriptMenuItem_Click);
//
// toolStripSeparator7
//
this.toolStripSeparator7.Name = "toolStripSeparator7";
- this.toolStripSeparator7.Size = new System.Drawing.Size(215, 6);
+ this.toolStripSeparator7.Size = new System.Drawing.Size(209, 6);
//
// InsertSeparatorMenuItem
//
this.InsertSeparatorMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.InsertSeparator;
this.InsertSeparatorMenuItem.Name = "InsertSeparatorMenuItem";
this.InsertSeparatorMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.I)));
- this.InsertSeparatorMenuItem.Size = new System.Drawing.Size(218, 22);
+ this.InsertSeparatorMenuItem.Size = new System.Drawing.Size(212, 22);
this.InsertSeparatorMenuItem.Text = "Insert Separator";
this.InsertSeparatorMenuItem.Click += new System.EventHandler(this.InsertSeparatorMenuItem_Click);
//
@@ -406,7 +407,7 @@
this.MoveUpMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.MoveUp;
this.MoveUpMenuItem.Name = "MoveUpMenuItem";
this.MoveUpMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.U)));
- this.MoveUpMenuItem.Size = new System.Drawing.Size(218, 22);
+ this.MoveUpMenuItem.Size = new System.Drawing.Size(212, 22);
this.MoveUpMenuItem.Text = "Move &Up";
this.MoveUpMenuItem.Click += new System.EventHandler(this.MoveUpMenuItem_Click);
//
@@ -415,7 +416,7 @@
this.MoveDownMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.MoveDown;
this.MoveDownMenuItem.Name = "MoveDownMenuItem";
this.MoveDownMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.D)));
- this.MoveDownMenuItem.Size = new System.Drawing.Size(218, 22);
+ this.MoveDownMenuItem.Size = new System.Drawing.Size(212, 22);
this.MoveDownMenuItem.Text = "Move &Down";
this.MoveDownMenuItem.Click += new System.EventHandler(this.MoveDownMenuItem_Click);
//
@@ -423,20 +424,20 @@
//
this.SelectAllMenuItem.Name = "SelectAllMenuItem";
this.SelectAllMenuItem.ShortcutKeyDisplayString = "Ctrl+A";
- this.SelectAllMenuItem.Size = new System.Drawing.Size(218, 22);
+ this.SelectAllMenuItem.Size = new System.Drawing.Size(212, 22);
this.SelectAllMenuItem.Text = "Select &All";
this.SelectAllMenuItem.Click += new System.EventHandler(this.SelectAllMenuItem_Click);
//
// toolStripSeparator6
//
this.toolStripSeparator6.Name = "toolStripSeparator6";
- this.toolStripSeparator6.Size = new System.Drawing.Size(215, 6);
+ this.toolStripSeparator6.Size = new System.Drawing.Size(209, 6);
//
// StopAllScriptsMenuItem
//
this.StopAllScriptsMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Stop;
this.StopAllScriptsMenuItem.Name = "StopAllScriptsMenuItem";
- this.StopAllScriptsMenuItem.Size = new System.Drawing.Size(218, 22);
+ this.StopAllScriptsMenuItem.Size = new System.Drawing.Size(212, 22);
this.StopAllScriptsMenuItem.Text = "Stop All Scripts";
this.StopAllScriptsMenuItem.Click += new System.EventHandler(this.StopAllScriptsMenuItem_Click);
//
@@ -444,7 +445,7 @@
//
this.RegisteredFunctionsMenuItem.Name = "RegisteredFunctionsMenuItem";
this.RegisteredFunctionsMenuItem.ShortcutKeyDisplayString = "F12";
- this.RegisteredFunctionsMenuItem.Size = new System.Drawing.Size(218, 22);
+ this.RegisteredFunctionsMenuItem.Size = new System.Drawing.Size(212, 22);
this.RegisteredFunctionsMenuItem.Text = "&Registered Functions...";
this.RegisteredFunctionsMenuItem.Click += new System.EventHandler(this.RegisteredFunctionsMenuItem_Click);
//
@@ -453,14 +454,14 @@
this.SettingsSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.DisableScriptsOnLoadMenuItem});
this.SettingsSubMenu.Name = "SettingsSubMenu";
- this.SettingsSubMenu.Size = new System.Drawing.Size(61, 20);
+ this.SettingsSubMenu.Size = new System.Drawing.Size(58, 20);
this.SettingsSubMenu.Text = "&Settings";
this.SettingsSubMenu.DropDownOpened += new System.EventHandler(this.OptionsSubMenu_DropDownOpened);
//
// DisableScriptsOnLoadMenuItem
//
this.DisableScriptsOnLoadMenuItem.Name = "DisableScriptsOnLoadMenuItem";
- this.DisableScriptsOnLoadMenuItem.Size = new System.Drawing.Size(196, 22);
+ this.DisableScriptsOnLoadMenuItem.Size = new System.Drawing.Size(184, 22);
this.DisableScriptsOnLoadMenuItem.Text = "Disable Scripts on Load";
this.DisableScriptsOnLoadMenuItem.Click += new System.EventHandler(this.DisableScriptsOnLoadMenuItem_Click);
//
@@ -470,21 +471,21 @@
this.FunctionsListMenuItem,
this.OnlineDocsMenuItem});
this.HelpSubMenu.Name = "HelpSubMenu";
- this.HelpSubMenu.Size = new System.Drawing.Size(44, 20);
+ this.HelpSubMenu.Size = new System.Drawing.Size(40, 20);
this.HelpSubMenu.Text = "&Help";
//
// FunctionsListMenuItem
//
this.FunctionsListMenuItem.Name = "FunctionsListMenuItem";
this.FunctionsListMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F1;
- this.FunctionsListMenuItem.Size = new System.Drawing.Size(202, 22);
+ this.FunctionsListMenuItem.Size = new System.Drawing.Size(189, 22);
this.FunctionsListMenuItem.Text = "&Lua Functions List";
this.FunctionsListMenuItem.Click += new System.EventHandler(this.FunctionsListMenuItem_Click);
//
// OnlineDocsMenuItem
//
this.OnlineDocsMenuItem.Name = "OnlineDocsMenuItem";
- this.OnlineDocsMenuItem.Size = new System.Drawing.Size(202, 22);
+ this.OnlineDocsMenuItem.Size = new System.Drawing.Size(189, 22);
this.OnlineDocsMenuItem.Text = "Documentation online...";
this.OnlineDocsMenuItem.Click += new System.EventHandler(this.OnlineDocsMenuItem_Click);
//
@@ -509,20 +510,20 @@
this.ClearConsoleContextItem,
this.RegisteredFunctionsContextItem});
this.ConsoleContextMenu.Name = "contextMenuStrip2";
- this.ConsoleContextMenu.Size = new System.Drawing.Size(185, 48);
+ this.ConsoleContextMenu.Size = new System.Drawing.Size(176, 48);
this.ConsoleContextMenu.Opening += new System.ComponentModel.CancelEventHandler(this.ConsoleContextMenu_Opening);
//
// ClearConsoleContextItem
//
this.ClearConsoleContextItem.Name = "ClearConsoleContextItem";
- this.ClearConsoleContextItem.Size = new System.Drawing.Size(184, 22);
+ this.ClearConsoleContextItem.Size = new System.Drawing.Size(175, 22);
this.ClearConsoleContextItem.Text = "&Clear";
this.ClearConsoleContextItem.Click += new System.EventHandler(this.ClearConsoleContextItem_Click);
//
// RegisteredFunctionsContextItem
//
this.RegisteredFunctionsContextItem.Name = "RegisteredFunctionsContextItem";
- this.RegisteredFunctionsContextItem.Size = new System.Drawing.Size(184, 22);
+ this.RegisteredFunctionsContextItem.Size = new System.Drawing.Size(175, 22);
this.RegisteredFunctionsContextItem.Text = "&Registered Functions";
this.RegisteredFunctionsContextItem.Click += new System.EventHandler(this.RegisteredFunctionsMenuItem_Click);
//
@@ -730,7 +731,6 @@
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.LuaListView.BlazingFast = false;
- this.LuaListView.CheckBoxes = true;
this.LuaListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.Script,
this.PathName});
@@ -744,6 +744,7 @@
this.LuaListView.SelectAllInProgress = false;
this.LuaListView.selectedItem = -1;
this.LuaListView.Size = new System.Drawing.Size(273, 271);
+ this.LuaListView.SmallImageList = this.imageList1;
this.LuaListView.TabIndex = 0;
this.LuaListView.UseCompatibleStateImageBehavior = false;
this.LuaListView.UseCustomBackground = true;
@@ -762,6 +763,14 @@
this.PathName.Text = "Path";
this.PathName.Width = 195;
//
+ // imageList1
+ //
+ this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
+ this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
+ this.imageList1.Images.SetKeyName(0, "StopButton.png");
+ this.imageList1.Images.SetKeyName(1, "PlayButton.png");
+ this.imageList1.Images.SetKeyName(2, "Pause.png");
+ //
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
@@ -888,6 +897,7 @@
private System.Windows.Forms.ToolStripButton DuplicateToolbarButton;
private System.Windows.Forms.ToolStripMenuItem DuplicateScriptMenuItem;
private System.Windows.Forms.TextBox InputBox;
- private System.Windows.Forms.SplitContainer splitContainer1;
+ private System.Windows.Forms.SplitContainer splitContainer1;
+ private System.Windows.Forms.ImageList imageList1;
}
}
\ No newline at end of file
diff --git a/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs b/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs
index 84b0081197..e83ccb0ed9 100644
--- a/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs
+++ b/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs
@@ -54,6 +54,8 @@ namespace BizHawk.Client.EmuHawk
LuaListView.QueryItemText += LuaListView_QueryItemText;
LuaListView.QueryItemBkColor += LuaListView_QueryItemBkColor;
+ LuaListView.QueryItemImage += LuaListView_QueryItemImage;
+ LuaListView.QueryItemIndent += LuaListView_QueryItemIndent;
LuaListView.VirtualMode = true;
LuaSandbox.SetLogger(this.ConsoleLog);
@@ -137,10 +139,10 @@ namespace BizHawk.Client.EmuHawk
LuaSandbox.Sandbox(() =>
{
file.Thread = LuaImp.SpawnCoroutine(file.Path);
- file.Enabled = true;
+ file.State = LuaFile.RunState.Running;
}, () =>
{
- file.Enabled = false;
+ file.State = LuaFile.RunState.Disabled;
});
}
catch (Exception ex)
@@ -172,10 +174,10 @@ namespace BizHawk.Client.EmuHawk
LuaSandbox.Sandbox(() =>
{
luaFile.Thread = LuaImp.SpawnCoroutine(processedPath);
- luaFile.Enabled = true;
+ luaFile.State = LuaFile.RunState.Running;
}, () =>
{
- luaFile.Enabled = false;
+ luaFile.State = LuaFile.RunState.Disabled;
});
}
catch (Exception e)
@@ -185,10 +187,10 @@ namespace BizHawk.Client.EmuHawk
}
else
{
- luaFile.Enabled = false;
+ luaFile.State = LuaFile.RunState.Disabled;
}
- luaFile.Paused = false;
+ //luaFile.Paused = false;
}
else
{
@@ -225,7 +227,7 @@ namespace BizHawk.Client.EmuHawk
file.Thread = LuaImp.SpawnCoroutine(file.Path);
}, () =>
{
- file.Enabled = false;
+ file.State = LuaFile.RunState.Disabled;
});
}
catch (Exception e)
@@ -247,6 +249,21 @@ namespace BizHawk.Client.EmuHawk
Path.GetFileName(_luaList.Filename);
}
+
+ private void LuaListView_QueryItemImage(int item, int subItem, out int imageIndex)
+ {
+ imageIndex = -1;
+ if (subItem != 0) return;
+ if (_luaList[item].Paused) imageIndex = 2;
+ else if (_luaList[item].Enabled) imageIndex = 1;
+ else imageIndex = 0;
+ }
+
+ void LuaListView_QueryItemIndent(int item, out int itemIndent)
+ {
+ itemIndent = 0;
+ }
+
private void LuaListView_QueryItemBkColor(int index, int column, ref Color color)
{
if (column == 0)
@@ -261,7 +278,7 @@ namespace BizHawk.Client.EmuHawk
}
else if (_luaList[index].Enabled && _luaList[index].Paused)
{
- color = Color.IndianRed;
+ color = Color.LightPink;
}
}
@@ -271,7 +288,6 @@ namespace BizHawk.Client.EmuHawk
private void LuaListView_QueryItemText(int index, int column, out string text)
{
text = string.Empty;
-
if (column == 0)
{
text = Path.GetFileNameWithoutExtension(_luaList[index].Path); // TODO: how about allow the user to name scripts?
@@ -439,7 +455,7 @@ namespace BizHawk.Client.EmuHawk
}
}, () =>
{
- lf.Enabled = false;
+ lf.State = LuaFile.RunState.Disabled;
lf.Thread = null;
});
}
@@ -731,7 +747,7 @@ namespace BizHawk.Client.EmuHawk
item.Thread = LuaImp.SpawnCoroutine(item.Path);
}, () =>
{
- item.Enabled = false;
+ item.State = LuaFile.RunState.Disabled;
});
}
@@ -763,6 +779,8 @@ namespace BizHawk.Client.EmuHawk
}
UpdateDialog();
+ UpdateNumberOfScripts();
+ LuaListView.Refresh();
}
private void PauseScriptMenuItem_Click(object sender, EventArgs e)
diff --git a/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.resx b/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.resx
index 866e9cdbd3..33fe22b72b 100644
--- a/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.resx
+++ b/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.resx
@@ -133,17 +133,89 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJQSURBVDhPlZNdSNNRGMb/F110ZZEVhVBgeeHNICiiuggp
- olAUyyxI0oSaH1QYC3N+tKnp5ubm1JUua5uuqdPKMgr7kApFItTUkWZqVhSVYmao5Nev/xyoQ4k88Nyc
- 8z6/93nP4QjCfy6lwc4ltZVso4P/tMyXRcmMHqZ0EeY6jZQVInzuf0e1Tb9Ina3P/tkpLD6XkNg8BJe5
- u93C+HDVrP4M2ZkcMOOw5tLZ9nxJyJE4HSExBoKkBQhVpTrGhso9zNPfiph0JlB+U01ZcRbmwnRMeWlc
- 08opUCV6QissGsZ+WOY6z4hmuuXglC6pRYBbJSp+fzXNxnaZ66o1s3rkyKHWruJuWRYOcwZ2kxKr8TI3
- DCkU6+QYNUnuNGWmLEY+5uOK3degoKZcx3SfEvozPfVB3OtNhi4ZvI2nrTIc23U9gtmYwa8eNXzScq8i
- l6bHWnfRwhHeREJzGFONgYw/CeB9qQSZNNR9FyUGBT87lfQ3plJj1zLTq4COGDegLVo0HmeqKZjx+gOM
- PNzDYPU2lLF+4jhyN6BIl8pgexK3bRpaXopJuhJEwGloiWDmVSgTLw4xWreXoZrtfK/wp/nKak4E+s6/
- hDFHTkd9GndsOdCTBq1i3NdHmWgIYvRpAMO1OxlwSPhi2YpT641CuoWzsSfnAfnZiVRZ1Tjvx9GsF+bU
- pF1BvWolD9JXUZmyDnOiD1cvbCZiYXfXCPrMi+gVZ8hOiiL53DHORwdzKnw/hw/uYt9uCTskfvj7+rBp
- 41rWr/Fig7fX8j/Tsn/fcgx/ARfG3ml6M3rzAAAAAElFTkSuQmCC
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJHSURBVDhPxZBdSNNhFMb/F110ZZEVhVBgeeHNICiiuggp
+ olAUyyxI0oSaH1QYC3N+tKnp5ubm1JUua5uuqdNKMwr7kApFItTUkWZqVhSVYmao5Nevvy7UoYR3HXh4
+ 4XCe33nOKyy3lAY7l9RWMo0O/raWXxEyo5spVYTNvOGyfIRPfW+ptOkXqaPl6T83hcRmExSdgzAz3NVm
+ YWyoYla/B+1M9JtxWLPpaH22JORIjI6gKAMB0jyEimIdo4OlbuaprwVMOOMovammpDADc34qppwUrmnl
+ 5Kni3aFlFg2j3y1z5mnRTJccnNIltQhwq0jFry+mOXNtpWZWDx1Z1NhV3C3JwGFOw25SYjVe5oYhiUKd
+ HKMmwQUrMWUw/CF3NnZvvYKqUh1TvUroS3fXe7HXkwidMngTS2t5KLbregSzMY2f3Wr4qKW6LJvGR1rX
+ 0MLor8OhKYTJBn/GHvvxrliCTBrsOqXIoOBHh5K+hmSq7FqmexTQHuUytkaKxuNMNgYyVneA4Qd7GKjc
+ hjLaRzxH7gIU6JIZaEvgtk1D8wsxSWecCDgNzWFMvwxm/PkhRmr3Mli1nW9lvjRdWc0Jf+/5jzRmyWmv
+ S+GOLQu6U6BFjPvqKOP1AYw88WOoZif9DgmfLVtxaj1RSLdwNvrkPCA3M54KqxrnvRia9MKcGrUrqFOt
+ 5H7qKsqT1mGO9+Lqhc2ELdw+U/r0i+gVZ8hMiCDx3DHORwZyKnQ/hw/uYt9uCTskPvh6e7Fp41rWr/Fg
+ g6eHO+A/lyD8ARfG3mk9fv1YAAAAAElFTkSuQmCC
+
+
+
+ 489, 17
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
+ LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAB6
+ DgAAAk1TRnQBSQFMAgEBAwEAASABAAEgAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
+ AwABEAMAAQEBAAEgBgABECoAAo8BmAHlAbIBtAHSAf8BuwG+AdcB/wKQAZkB5zAAAY8BmAGQAeUBsgHS
+ AbYB/wG7AdcBvgH/AZABmQGRAecwAAGYAZMBjwHlAdIBvgGyAf8B1wHFAbsB/wGZAZIBkAHnaAABbwF0
+ AaAB9QE5AUABlwH/AQUBEAGHAf8BBgEQAYcB/wEEAQ8BhwH/AQsBFQGIAf8BDgEYAYkB/wFmAWoBoQH5
+ IAABbwGgAXsB9QE5AZcBRQH/AQUBhwEUAf8BBgGHARUB/wEEAYcBEgH/AQsBiAEZAf8BDgGJARwB/wFm
+ AaEBagH5IAABoAGFAW8B9QGXAVsBOQH/AYcBMwEFAf8BhwE0AQYB/wGHATIBBAH/AYgBNwELAf8BiQE6
+ AQ4B/wGhAXoBZgH5XAABNAE8AZgB/wExATkBmAH/AbABsgHLAf8B2gHbAdoB/wLRAdUB/wHLAcwB0gH/
+ AcQBxwHOAf8BWAFeAaUB/wFKAVEBjgH5ASkBMgGPAf8YAAEmAZIBMgH/ATEBmAE9Af8BsAHLAbMB/wHb
+ AtoB/wHRAdUB0gH/AcsB0gHLAf8BxQHOAcQB/wFYAaUBYQH/AUoBjgFSAfkBKQGPATQB/xgAAZIBTAEm
+ Af8BmAFWATEB/wHLAboBsAH/AtoB2wH/AdUB0wHRAf8B0gHNAcsB/wHOAcYBxAH/AaUBcwFYAf8BjgFo
+ AUoB+QGPAUwBKQH/VAABPQFAAZMB/QKMAZMB4wL+Af0B/wH+Af0B9QH/AvcB8wH/Ae8C7gH/Au0B6wH/
+ AdkC2wH/AeMB5AHiAf8CwAHMAf8BdwF6AY0B7QFGAUwBkAH7EAABPQGTAUAB/QGMAZMBjAHjAf8B/gL/
+ Af4B9QH9Af8B9wHzAfYB/wLuAe8B/wHtAesB7QH/AtsB2QH/AeQB4gHjAf8BwAHMAcIB/wF3AY0BegHt
+ AUYBkAFQAfsQAAGTAVMBPQH9AZMBjQGMAeMB/gP/AfUB+wH+Af8B8wH1AfcB/wHuAe8B7gH/AesB7AHt
+ Af8B2wHZAdoB/wLiAeQB/wHMAcUBwAH/AY0BgAF3Ae0BkAFfAUYB+0wAAXIBewGeAfMBiwGMAZ0B6wX/
+ Af4B/Rf/Af4B/wHwAe8B8AH/Ac8B0AHWAf8BbgFxAYkB7QF2AXsBlAHvCAABcgGeAXwB8wGLAZ0BjgHr
+ Bf8B/Qb/AeMB8AHjAf8BnAHNAZwK/wH+Av8B7wLwAf8BzwHWAc8B/wFuAYkBcgHtAXYBlAF7Ae8IAAGe
+ AYQBcgHzAZ0BkQGLAesE/wH9F/8B/gP/AuMB4AH/Ac8ByQHHAf8BiQF5AW4B7QGUAYMBdgHvSAACagGp
+ AfkD/iX/AfAB8gHwAf8CxgHNAf8CRwGKAfkIAAFqAakBawH5EP8B3AHtAdwB/wERAXkBEQH/AYMBwQGD
+ Df8B8gHxAfAB/wHHAc4ByAH/AUcBigFNAfkIAAGpAYQBagH5DP8B4QHNAb4B/wG+AZIBjQH/AfcB8QHv
+ Af8B+wH4AfcB/wHBAZgBjwH/AeoB2gHRBf8B5QHiAeYB/wHOAcoBxwH/AYoBYgFHAflEAAGGAYkBrQHz
+ Ao4BpQHtCP8C9QH7Af8BbQFpAdQB/wGhAZ8B5wH/AaMBoQHmAf8BogGhAeUB/wGUAZEB4QH/AZ4BnAHm
+ Bf8B+QH4AfcB/wHnAeQB3gH/AWABZgGRAfUBWgFfAZwB+wGGAa0BjAHzAY4BpgGSAe0Q/wHkAfEB5AH/
+ AQEBdQEBAf8BEQF7AREB/wGcAc4BnAn/AfkB9wH5Af8B5gHeAecB/wFgAZEBbAH1AVoBnAFfAfsBrQGV
+ AYYB8wGmAZcBjgHtDP8BrgF2AVQB/wFZAgAB/wH4AfUB8gH/AfoB9wH1Af8BWQIAAf8BswF7AVoF/wHx
+ AfQB9QH/Ad4B5gHnAf8BkQFxAWAB9QGcAW0BWgH7QAABggGIAcoB/wHQAdIB7Qn/AvUB+gH/ATsBOAG7
+ Af8BZwFkAd4B/wFkAWAB2AH/AV8BWwHTAf8BUwFOAdEB/wGiAaEB6QX/AvkB+AH/AfwB+wHqAf8BowGm
+ Ab4B/wFDAUoBoAH/AYIBygGKAf8B0AHtAdQR/wHiAfAB4gH/AQIBdgECAf8BAAF2AQAB/wERAYQBEQH/
+ AZgBzAGYBf8B+QH4AfkB/wH8AeoB+gH/AaMBvgGlAf8BQwGgAU4B/wHKAZwBggH/Ae0B2wHQDf8BugGM
+ AWoB/wGNASIBAAL/Av4B/wP+Af8BjQEhAQAB/wG7AYkBaAX/AfIB9AH1Af8B6gH1AfwB/wG+AawBowH/
+ AaABZAFDAf9AAAF0AXoBwgH/AeUB5gH0Cf8C9wH7Af8BSgFHAcMB/wF1AXMB4wH/AXABbQHdAf8BawFo
+ AdgB/wFfAVoB0wH/AasBqQHqBf8D+QH/Af4B+wHvAf8BtAG2AcUB/wFBAUkBnwH/AXQBwgGBAf8B5QH0
+ AecR/wHiAfAB4gH/AQEBeAEBAf8BAAF6AQAB/wEAAXIBAAH/AREBhAERAf8B+gH8AfoB/wP5Af8B/gHv
+ Af4B/wG0AcUBtgH/AUEBnwFMAf8BwgGTAXQB/wH0AesB5Q3/AbkBjAFrAf8BpwE4AQsB/wH7AfkB+AH/
+ AfsB+gH5Af8BpwE4AQsB/wG9AYwBawX/A/QB/wHvAfoB/gH/AcUBugG0Af8BnwFiAUEB/0AAAXABdwG9
+ Af8C2gHvCf8C9wH7Af8BTgFLAccB/wF7AXkB6gH/AXYBdQHjAf8BcwFxAd8B/wFmAWMB2gH/Aa0BqwHr
+ Bf8C+gH4Af8B/QH8Ae4B/wGdAaABuwH/AUkBUQGjAf8BcAG9AXgB/wHaAe8B3hH/AeIB8AHiAf8BAgF4
+ AQIB/wEAAXABAAH/ASwBjgEsAf8B4gHwAeIF/wH6AfgB+gH/Af0B7gH7Af8BnQG7AaEB/wFJAaMBUgH/
+ Ab0BjgFwAf8B7wHjAdoN/wG3AYgBZgH/AcQBRwEkAf8C/QH8Af8B/AH6AfkB/wHGAUoBJgH/AcIBjwFw
+ Bf8B8gH1AfcB/wHuAfcB/QH/AbsBqAGdAf8BowFoAUkB/0AAAYcBjAGkAe8BlAGVAbIB8Qj/AvYB+wH/
+ AUsBRwHFAf8BegF5AesB/wF2AXUB5AH/AXQBcQHhAf8BZAFhAdsB/wGpAacB6wX/AvsB+QH/AfsB/AHu
+ Af8BSAFOAZQB+wGCAYMBnwHvAYcBpAGMAe8BlAGyAZkB8RD/AeIB8AHiAf8BAAFuAQAB/wEoAYcBKAH/
+ AecB8wHnCf8B+wH5AfsB/wH8Ae4B+QH/AUgBlAFSAfsBggGfAYYB7wGkAZIBhwHvAbIBoAGUAfEM/wHB
+ AZcBegH/AaQBPgEWAf8B/QH7AfoB/wH8AfoB+QH/AZMBOQEPAf8BzAGpAZQF/wH0AfcB+QH/Ae4B9QH8
+ Af8BlAFfAUgB+wGfAYwBggHvRAABewGBAc8J/wLzAfkB/wFJAUYBuQH/AYcBhgHWAf8BhwGFAdUB/wGH
+ AYUB1QH/AWUBYgHIAf8BbQFsAcwG/wH+AfwB/wLOAdcB/wE5AUEBmAH/CAABewHPAY0R/wHTAegB0wH/
+ ASQBhwEkAf8B4gHwAeIN/wH+AfwC/wHOAdcB0AH/ATkBmAFDAf8IAAHPAaEBeyn/AfsD/wHXAdIBzgH/
+ AZgBWgE5Af9IAAGMAY0BwgH5AqABvAHxJP8B/AH7AfYB/wE3AT8BlgH/AYoBiwGbAekIAAGMAcIBkAH5
+ AaABvAGmAfEM/wH6AfwB+gH/Ae8B9gHvEf8B/AH2AfwB/wE3AZYBQQH/AYoBmwGKAekIAAHCAZ4BjAH5
+ AbwBrQGgAfEk/wH1AfoB/AH/AZYBWAE3Af8BmwGRAYoB6UwAAYMBiQHMAf0CnAGpAekc/wHyAfUB+AH/
+ AV4BaAGTAfUBcQF4AaMB9RAAAYMBzAGOAf0BnAGqAZ0B6Rz/AfQB+AHyAf8BXgGTAWgB9QFxAaMBfwH1
+ EAABzAGjAYMB/QGqAaMBnAHpHP8B+ALyAf8BkwFvAV4B9QGjAYYBcQH1VAABhgGMAcgB+wGVAZcBzgH5
+ AtMB9wH/AfEB8AH7Af8B9gH3Av8B9wH4Af0B/wHkAecB8wH/AYMBhgGiAe8BfwGBAaEB8wGPAZABogHr
+ GAABhgHIAZAB+wGVAc4BoQH5AdMB9wHaAf8B8AH7AfMB/wH2Af8B9wH/AfcB/QH4Af8B5AHzAeQB/wGD
+ AaIBhgHvAX8BoQGCAfMBjwGiAZAB6xgAAcgBmwGGAfsBzgGwAZUB+QH3AeMB0wH/AfsB9gHwAv8B+QH2
+ Af8B/QH5AfcB/wHzAegB5AH/AaIBjwGDAe8BoQGMAX8B8wGiAZcBjwHrXAACmAGrAesBjQGTAdcB/wGO
+ AZQB3QH/AY8BlQHgAf8BjQGUAdsB/wGaAZ8B2gH/AZIBkwGeAeckAAGYAasBmgHrAY0B1wGWAf8BjgHd
+ AZgB/wGPAeABmQH/AY0B2wGWAf8BmgHaAaIB/wGSAZ4BlQHnJAABqwGhAZgB6wHXAagBjQH/Ad0BrAGO
+ Af8B4AGtAY8B/wHbAakBjQH/AdoBsgGaAf8BngGYAZIB51QAAUIBTQE+BwABPgMAASgDAAFAAwABEAMA
+ AQEBAAEBBQABgBcAA/8BAAH8AT8B/AE/AfwBPwIAAfABDwHwAQ8B8AEPAgAB4AEHAeABBwHgAQcCAAHA
+ AQMBwAEDAcABAwIAAYABAQGAAQEBgAEBAgABgAEBAYABAQGAAQEqAAGAAQEBgAEBAYABAQIAAYABAQGA
+ AQEBgAEBAgABwAEDAcABAwHAAQMCAAHgAQcB4AEHAeABBwIAAfABHwHwAR8B8AEfAgAL