From 218247b5f647f093635738ea655adae0dff5b28f Mon Sep 17 00:00:00 2001 From: Richard Date: Tue, 28 Jul 2026 10:25:14 +0200 Subject: [PATCH] @ Launcher: ToolStrip-Fensterleiste + Icons (aus PolytraderSharp) - Fenster-Buttons in einem ToolStrip (Icon ueber Text, 32x32) statt Einzel-Buttons - 24 Icon-PNGs aus PolytraderSharp uebernommen (Resources/) + Properties/Resources.resx (ResXFileRef) + Resources.Designer.cs - Program.AssignViewIcons: Icons je View-ID zugewiesen (Workers=system_time, Logs=error_log, Settings=setting_tools, CongressTrading=cross_reference); Icons auch im Fenster-Menue - Button-Checked spiegelt Offen-Status - Build + 30/30 Tests + smoke-ui gruen; Screenshot geprueft Co-Authored-By: Claude Opus 4.8 @ --- IBKRTrader.App.csproj | 13 ++ LauncherForm.cs | 43 ++-- Program.cs | 20 ++ Properties/Resources.Designer.cs | 303 ++++++++++++++++++++++++++++ Properties/Resources.resx | 133 ++++++++++++ Resources/accept_button.png | Bin 0 -> 1863 bytes Resources/add.png | Bin 0 -> 1815 bytes Resources/cancel.png | Bin 0 -> 1713 bytes Resources/coins_in_hand.png | Bin 0 -> 1806 bytes Resources/cross_reference.png | Bin 0 -> 1780 bytes Resources/dashboard.png | Bin 0 -> 2348 bytes Resources/delete.png | Bin 0 -> 1886 bytes Resources/diskette.png | Bin 0 -> 1555 bytes Resources/emotion_batman.png | Bin 0 -> 2708 bytes Resources/error_log.png | Bin 0 -> 2120 bytes Resources/file_start_workflow.png | Bin 0 -> 2961 bytes Resources/money.png | Bin 0 -> 1168 bytes Resources/money_add.png | Bin 0 -> 1629 bytes Resources/money_delete.png | Bin 0 -> 1631 bytes Resources/money_dollar.png | Bin 0 -> 1721 bytes Resources/refresh_all.png | Bin 0 -> 2481 bytes Resources/setting_tools.png | Bin 0 -> 2315 bytes Resources/stop.png | Bin 0 -> 1173 bytes Resources/system_time.png | Bin 0 -> 1627 bytes Resources/token_quantifier.png | Bin 0 -> 2643 bytes Resources/traffic_lights_green.png | Bin 0 -> 1673 bytes Resources/traffic_lights_red.png | Bin 0 -> 1643 bytes Resources/traffic_lights_yellow.png | Bin 0 -> 1673 bytes Resources/warning.png | Bin 0 -> 1904 bytes 29 files changed, 499 insertions(+), 13 deletions(-) create mode 100644 Properties/Resources.Designer.cs create mode 100644 Properties/Resources.resx create mode 100644 Resources/accept_button.png create mode 100644 Resources/add.png create mode 100644 Resources/cancel.png create mode 100644 Resources/coins_in_hand.png create mode 100644 Resources/cross_reference.png create mode 100644 Resources/dashboard.png create mode 100644 Resources/delete.png create mode 100644 Resources/diskette.png create mode 100644 Resources/emotion_batman.png create mode 100644 Resources/error_log.png create mode 100644 Resources/file_start_workflow.png create mode 100644 Resources/money.png create mode 100644 Resources/money_add.png create mode 100644 Resources/money_delete.png create mode 100644 Resources/money_dollar.png create mode 100644 Resources/refresh_all.png create mode 100644 Resources/setting_tools.png create mode 100644 Resources/stop.png create mode 100644 Resources/system_time.png create mode 100644 Resources/token_quantifier.png create mode 100644 Resources/traffic_lights_green.png create mode 100644 Resources/traffic_lights_red.png create mode 100644 Resources/traffic_lights_yellow.png create mode 100644 Resources/warning.png diff --git a/IBKRTrader.App.csproj b/IBKRTrader.App.csproj index 3cae826..2c4e752 100644 --- a/IBKRTrader.App.csproj +++ b/IBKRTrader.App.csproj @@ -27,6 +27,19 @@ + + + + True + True + Resources.resx + + + ResXFileCodeGenerator + Resources.Designer.cs + + + diff --git a/LauncherForm.cs b/LauncherForm.cs index 2136846..f0b85eb 100644 --- a/LauncherForm.cs +++ b/LauncherForm.cs @@ -21,11 +21,7 @@ public sealed class LauncherForm : Form private readonly WorkerEngine _workerEngine; private readonly IReadOnlyList _modules; - private readonly Dictionary _viewButtons = new(StringComparer.OrdinalIgnoreCase); - private readonly FlowLayoutPanel _buttonPanel = new() - { - Dock = DockStyle.Fill, Padding = new Padding(16), AutoScroll = true - }; + private readonly Dictionary _viewButtons = new(StringComparer.OrdinalIgnoreCase); private readonly ToolStripStatusLabel _status = new("Start..."); public LauncherForm(ShellUiHost uiHost, IServiceProvider services) @@ -52,26 +48,47 @@ public sealed class LauncherForm : Form var menu = new MenuStrip { Dock = DockStyle.Top, ImageScalingSize = new Size(24, 24) }; WindowMenu.Wire(menu, _uiHost, null); + // Fenster-Buttons in einem ToolStrip (Icon über Text) – wie im PolytraderSharp-Launcher. + var toolstrip = new ToolStrip + { + Dock = DockStyle.Top, + GripStyle = ToolStripGripStyle.Hidden, + ImageScalingSize = new Size(32, 32), + AutoSize = true, + Padding = new Padding(4) + }; + foreach (var view in _uiHost.Views.OrderBy(v => v.Order).ThenBy(v => v.Title)) { var id = view.Id; - var btn = new Button + var btn = new ToolStripButton(view.Title, view.Icon) { - Text = view.Title, Width = 210, Height = 48, Margin = new Padding(8), - TextAlign = ContentAlignment.MiddleLeft, Image = view.Icon, - ImageAlign = ContentAlignment.MiddleLeft, TextImageRelation = TextImageRelation.ImageBeforeText + DisplayStyle = ToolStripItemDisplayStyle.ImageAndText, + ImageScaling = ToolStripItemImageScaling.None, + TextImageRelation = TextImageRelation.ImageAboveText, + AutoSize = true, + Padding = new Padding(6, 2, 6, 2) }; btn.Click += (_, _) => _uiHost.OpenView(id); _viewButtons[id] = btn; - _buttonPanel.Controls.Add(btn); + toolstrip.Items.Add(btn); } + var content = new Panel { Dock = DockStyle.Fill, BackColor = SystemColors.ControlLightLight }; + content.Controls.Add(new Label + { + Text = "IBKRTrader — Launcher\nFenster über die Leiste oben öffnen.", + Dock = DockStyle.Fill, TextAlign = ContentAlignment.MiddleCenter, + ForeColor = SystemColors.GrayText, Font = new Font(Font.FontFamily, 11f) + }); + var statusStrip = new StatusStrip(); statusStrip.Items.Add(_status); - // Reihenfolge: Fill-Panel zuerst, dann Bottom, dann Top (WinForms Dock-Stacking). - Controls.Add(_buttonPanel); + // Dock-Stacking: zuletzt hinzugefügtes Top-Control liegt oben → Menü über ToolStrip. + Controls.Add(content); Controls.Add(statusStrip); + Controls.Add(toolstrip); Controls.Add(menu); MainMenuStrip = menu; } @@ -143,7 +160,7 @@ public sealed class LauncherForm : Form if (IsDisposed) return; if (InvokeRequired) { BeginInvoke((Action)UpdateButtonStates); return; } foreach (var (id, btn) in _viewButtons) - btn.Font = new Font(btn.Font, _uiHost.IsOpen(id) ? FontStyle.Bold : FontStyle.Regular); + btn.Checked = _uiHost.IsOpen(id); } private void SetStatus(string text) diff --git a/Program.cs b/Program.cs index f66da72..4b0f214 100644 --- a/Program.cs +++ b/Program.cs @@ -63,6 +63,7 @@ internal static class Program RegisterCoreViews(uiHost, AppHost.Services); foreach (var module in modules) module.RegisterUi(uiHost, AppHost.Services); + AssignViewIcons(uiHost); Application.Run(AppHost.Services.GetRequiredService()); AppHost.StopAsync().GetAwaiter().GetResult(); @@ -113,6 +114,25 @@ internal static class Program services.AddSingleton(); } + /// + /// Weist den registrierten Views ihr Button-/Menü-Icon aus den App-Ressourcen zu (über die stabile + /// View-ID). Icons stammen aus PolytraderSharp; nicht passende können später ausgetauscht werden. + /// Bereits gesetzte Icons bleiben erhalten. + /// + private static void AssignViewIcons(IModuleUiHost uiHost) + { + var map = new Dictionary + { + ["core.workers"] = Properties.Resources.system_time, + ["core.logs"] = Properties.Resources.error_log, + ["core.settings"] = Properties.Resources.setting_tools, + ["congresstrading.main"] = Properties.Resources.cross_reference, + }; + foreach (var view in uiHost.Views) + if (view.Icon is null && map.TryGetValue(view.Id, out var img)) + view.Icon = img; + } + /// Registriert die Core-Views (Logs, Settings, Workers) bei der Shell. private static void RegisterCoreViews(IModuleUiHost uiHost, IServiceProvider sp) { diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs new file mode 100644 index 0000000..5637a2e --- /dev/null +++ b/Properties/Resources.Designer.cs @@ -0,0 +1,303 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +namespace IBKRTrader.Properties { + using System; + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("IBKRTrader.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap accept_button { + get { + object obj = ResourceManager.GetObject("accept_button", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap add { + get { + object obj = ResourceManager.GetObject("add", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap cancel { + get { + object obj = ResourceManager.GetObject("cancel", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap coins_in_hand { + get { + object obj = ResourceManager.GetObject("coins_in_hand", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap cross_reference { + get { + object obj = ResourceManager.GetObject("cross_reference", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap dashboard { + get { + object obj = ResourceManager.GetObject("dashboard", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap delete { + get { + object obj = ResourceManager.GetObject("delete", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap diskette { + get { + object obj = ResourceManager.GetObject("diskette", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap emotion_batman { + get { + object obj = ResourceManager.GetObject("emotion_batman", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap error_log { + get { + object obj = ResourceManager.GetObject("error_log", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap file_start_workflow { + get { + object obj = ResourceManager.GetObject("file_start_workflow", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap money { + get { + object obj = ResourceManager.GetObject("money", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap money_add { + get { + object obj = ResourceManager.GetObject("money_add", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap money_delete { + get { + object obj = ResourceManager.GetObject("money_delete", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap money_dollar { + get { + object obj = ResourceManager.GetObject("money_dollar", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap refresh_all { + get { + object obj = ResourceManager.GetObject("refresh_all", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap setting_tools { + get { + object obj = ResourceManager.GetObject("setting_tools", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap stop { + get { + object obj = ResourceManager.GetObject("stop", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap system_time { + get { + object obj = ResourceManager.GetObject("system_time", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap token_quantifier { + get { + object obj = ResourceManager.GetObject("token_quantifier", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap traffic_lights_green { + get { + object obj = ResourceManager.GetObject("traffic_lights_green", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap traffic_lights_red { + get { + object obj = ResourceManager.GetObject("traffic_lights_red", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap traffic_lights_yellow { + get { + object obj = ResourceManager.GetObject("traffic_lights_yellow", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap warning { + get { + object obj = ResourceManager.GetObject("warning", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/Properties/Resources.resx b/Properties/Resources.resx new file mode 100644 index 0000000..18293c6 --- /dev/null +++ b/Properties/Resources.resx @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\accept_button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\cancel.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\coins_in_hand.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\cross_reference.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\dashboard.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\diskette.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\emotion_batman.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\error_log.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\file_start_workflow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\money.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\money_add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\money_delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\money_dollar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\refresh_all.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\setting_tools.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\stop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\system_time.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\token_quantifier.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\traffic_lights_green.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\traffic_lights_red.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\traffic_lights_yellow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\warning.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + diff --git a/Resources/accept_button.png b/Resources/accept_button.png new file mode 100644 index 0000000000000000000000000000000000000000..7786ac77ea5918f5ba473c6cc95738ba744572a2 GIT binary patch literal 1863 zcmV-N2e|l&P)b2BH#r0<|*lC2v%Z!(?Jzi$)@oabN|DRcyaVB1Jt^Z!nz32Sj_iyL?N5VR<_LorM zs=-Ofc*c^jKlfge3dF)S$-sw8(|G^ezhZGcdZo3#KlmDUC>6Niv}0e#&pOat>%;b{ zI#^~Jv2+xPRD>joXmSB#;Sgq`QH17_FirF)BRKrkX$+Gd>rMzL55J4QIUIQ5kB`2L z_C4)b)W)G9LbKAaEE9%lz%UFV1EjSS<`!oVnjJ=P_9lWeF-*<@rjCE~y^0q}pRo}F zwyx6%9Nc|R-CMtY4@>YPZU!+CzJ}@f0n9~*kxUxG?Kv$Dn++barMV@NNFZyIWtKrG1JQ4 zY^sV{&qL%PJFX0WiOJa%CT21D=__bjNn)iM+ry_3Jl=V9>tpvmj-)bz{*nJ+bh00c z0?1Nn;9H1T88Vfw7IE|T^$fVYKC4-1eISbgoo;$I3=++cB>Yg+6n1Ufi~1^{ss-m6Gf$xDepK1* zXl>o@Ls^-OA4bmI88{)PsMxyq_MoHr4736gGqJDHShWw;9tnyKt<8j)BcL>Q;>7N4 z+eECVBR7!Nsl=2!04K{2wVp+z=MeU9J%uf0KH(7_qgfh}3!%Eg2QPVf$AdV5OlrYy zbK&XDo7`|Z9hf2lB8fH-Z(8*-mhbr|c5XhF|8{iWWkHMwvA&o#iYiYd+)nbp8&5Mf z6L8Ap5|3Mk%jrfm5fm<4X`!`-<=w3e{@WsQq1ZQ>u~~gdEd+1*RzZL<1vcGO9;_P) zQNJleD_o@i^>ii9}wp63e-IO{ABgYkGc=h%Mc=xO~`OdrBnM zp4BqrF6RgD^d2M7j}X%#p0|KU2z-#h z*>dGJD`zPJ$htIm}7a1NV|bn8ZnHmRS;h;%TL7>p%> z+2}Z2YF&Ok=LEVqctj{)?GoUA0=KPVIf+xL!$NEd%Y?<4jLih}*fe_L^l~OThH|wj zzn1eJU?+vFd?;F)1iu&Hx!rOVqHfY1jsyh(#$;?Jki78;K3-S?!b<@-P$yhvWxc=_ zv0F=#$b+k^Th6*Tw5)rUFc^z58Jh{D7Xp~p5*Q9gEClBIQDg7S*Lx9(;o}&Io)_T! z=7zddgh`sHtc|rP_js;m<8%84~oPcl1e7 z9sFK^uirq-@rXBE442V9Fu^5xFbNzt1IDvTG&(Unzutzt7XsPakAuSb5@pJ$! zTe=7(g#_krJp-)aa&}P#SuVhbdZ}ekU}he3m)^#+yiIWYSGHsv3e$fHpH?5lVGC*3 zA~h1*JZCiC|WIn_X+T^Y0Q59I=X4Z7|CMR=pq8_ zu{1CLLznPb%|RSlP8nrUYNH%-85-Q3C{wnGlOzPp~pyLK0vxRc?% zoJEm~C-Cyh3k(a_c{+~K>;J|ZlRu!JK2K$nPTSDYjKoDk_M_TejoQ73(OtP6kEkv* z-*Va`O?n(7kuiKRZ~;BbVNvIFE)v~ue4|IR!tb^$5jRN%mo-UQK}TI!@(Ge?Hp!N= zz}lT2PD^>j&TUk-i;_x|y`C+v^zAHOdHr920RUAB`g1}vt~mez002ovPDHLkV1kDI Bb?N{B literal 0 HcmV?d00001 diff --git a/Resources/add.png b/Resources/add.png new file mode 100644 index 0000000000000000000000000000000000000000..60a7a2910eeaefb1c1d3ec231d08ec1312667c73 GIT binary patch literal 1815 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 literal 0 HcmV?d00001 diff --git a/Resources/cross_reference.png b/Resources/cross_reference.png new file mode 100644 index 0000000000000000000000000000000000000000..3576fa63097316d2e14bee6644617d6256219ae6 GIT binary patch literal 1780 zcmaJ?X;c$u6rBi0MUjY96j8?klqzH<3rnIg1_GGS07ewV1wt}F#L2|WKtigBXx%wV zMXbxAg5bem(F#})E#LxF1edshqS9826ttk|5v6pZqWw`i=gfS|x%a;JzIVSf+rmPE zY;Bxu006L+ED+175wyG`>C~4n8edYwBr+h9T!hDwdW8-JL@GQM1tpjw9+jgCRmz%Q z(76C$1*yX$$w=8(d?k)C6&4KBfN3c<0L&E{vx{upjst>BD`dX zOzV#(s23P@=ptiCxYC%YizSqn@2^7@B(4j`@zsN;7?yyOIFW#BLH|WwOcofS)~Ikj z@g6Ue@g*99RA`i_L@aQmsy=glhU8kTfN817VpOM2Mpc1290T8%%vTSc3wKDpk6hKzxp)o9g{fp< zOJo1l=)o<@J(lSw+fs{9#z!@j+jW$!iPR%csN0et5sShNEoUPdL&u98)^p67uK04hg?5JO|VWtH-wm7Y$?%Y;H@tIe|HKXT-bmHIHVw)hr0kbErRkKDqAotJ#&U z&CfK8SN5=5oA;+w^*6pfx1ar`8&b>OyQ*xnFh^px9Bl+n88u z0JEmmi;iDUsLzl-o>QDT#Wl57y~PzLDw zLx09++oU>Askw4xOqSFQPpves*^+3*sh(svs>dA<)YUDqKO>nuaSJ%S@1C@P zcH6#NZj00GIP;^|-&iHG+9-@(D)B6fE8zu>I&-GfK`w#lg;y`X8vt+Zw)t*8Fp1`I zuxv%ivde3qTKDgh+tL^5_2)4}JHFeoDA9ItNtT9aul*;fb%!c6?Gy>UKFSd25MqBu$Nv%9#mvz%0 zb>~z|iqhh401v^C8!vm0<(q1&hnaS7ld|mKD@OOwi)rcO7I({U(%P2$8asgTqGR%G z&eWd^!x&GF77u)pGwtXkyEOabj_!K*ee;f;%1wN9;rC0xksU?b8Q$AkPnkoKolJe@ zF`4q-d%k(N`)%+qrDNbUpviR>M6)^c_x!Q$`5koHyBljS&S|cw?s2&ZoW1;bbcc^^ zRm<>k-WkCn*(>mMx9#lqkp{$6hbcSmr$2-n9y{KB zaCF61hJ3=+H?J4Ur`%i)gcpy!wkr$4Dw{)1+jfYo0qIq9enVmY0r$DeZniU-TSQ~H z-O75=KPz}R7-HIZd=EXX)2Vj4H0gZj%$kYx_U!vz$#$(CaZOdfxtfEnKlMuqPTCu+ z2+v5(Gq;}HO9xupisuw`;x@E(Z@zKqZx9X}0~AQp*X9&E{9ySHNdiK|#eOmA{{SpE Bwow28 literal 0 HcmV?d00001 diff --git a/Resources/dashboard.png b/Resources/dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..12961f037de51ea528dbaa32fd601b360f574329 GIT binary patch literal 2348 zcmaJ@c|4T+9v&*miENic()5xo=AB_|lO<+`MuslR*2S24F_?Mh&WvWVoP;TJ?4@(; zp>kZ3(xQ(+SdMB7_o&^TLr92$fC_5ku| zY+4k~kKpkwmi*)l#BjMR90>AwJQU9c1+$|;jH9C?h_(i;t*zt;E6zS9m%_JVa*UQ0 z2oQ(Lrn9(on2B6cq(s6ATxUR@>7OMqSl?xtoNsNCHw@%cSRe+4UMguBNGAV(D1-4G z&Efh%f93l>g*gHHSPY zqA7K_0UF%ASY(cK1P z>yCA>v31AWFLMbnHGu&!xyxMIUtF6Xa+j>YV96sBAU1t3MDt+74CL36ar7VOg8rf2 zH!khRxnO?C1?9``yYV5W-0f_+tv`$v%^(n~DoF&l0RG5y z;7#9vXzed!?;IGO8e4$l1KTvzHM-nZy^Oery^u%L#bU_3hBx8QYeb?G^(gNWtS!pB zh1o*CjwL@(Qiv|n=<-7s&FP$IJ!pL^O+WEUXHPPxefCq|tkWz}ma-9) z9iC5X{C#DZW`4!ni0L3pO|?VqCu$sbcpb9s+(se^he|6d4l+tAe`x_pF?XWQO&BK~ zF8-31`heT?{!&d{AW+a<^=t2nTBn@?`-NAXqtliWX>?arb#-Jsh!Sny>gIly*x8|(&%&hrb>}-`R7+h2Z4F5+vFjwoXI<%e|hs|UOn%S;ZI%H))sU# z!j1+O9+yN|)y2i4?Obwaww4El^^UfU&3_c1f914A!CWWKa-w>DifT?yRZHjF#kU?? z4M%4Mb#=xndWDZ$Pzy6-TeLkqJ*&)AG-Qt)P{I`tlcZzk+`*&UpYFDNz0IE33Q8=l}fy9J-QZPYdq2zLmhWMmSv_+MIv;nT7vUMb%qlJKljdLH0&CHjNs5ssEP^2G3rHpMRVz zmgdves1UdHYuA>j1RoX5mCVi?9(#Q5RA)o*x0yW{MvbqscQ=by?f+tHG-Ll+c&oKDGC3@_8uGgO_4!xi}T5BDD!5^6=n%bdsh z2mbCWUihHhopVFqRUGUm!!!P|fjQA?j)463PAN-6O~^h%pm7x=MMDR5=QTlpF>>wr zlZk8%SB}z^e`!l3k`Ya3VSRF|x-D5;6;YMVkxKDnlP272h~+aNUfy$6AmF({E+eU&(HTC z-fmLwps4RwD04GJTL^-Upz`dOD?={tcWsG#G1sG5Zd`WE)Gsr-BJww<&*JlD`X=6* zS=A9@yJw?1_8=F6OqcXV#%?`{ z5A!IJ?I({YlqW`Qzbxf6opVn7%ZWwk`vuWJdw)nnpQu%F-|EQkL)OgYb z1BJo8(<@WjCpgWa2IF(Jg?293^kbSInT!*%yDx_G!(0ZVG)KZd)&FZQ1%v=%*66%f9XD+vgeq+#j*g+%lr JoOX{$`wvNo;*bCU literal 0 HcmV?d00001 diff --git a/Resources/delete.png b/Resources/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..30a45b821c6739e81891184332a263cf725e9af1 GIT binary patch literal 1886 zcmV-k2ch_hP)<# z`z>N=cJDg$-ERPfPEV?^2R}x6Xb{zjaX8Bb&U^4Q;cMv>qMcocALxOxcR&1M z0hNV3MlSvbh1tdYlb41%>B;(L9MIo6a$xe{nG@NzC%z;jbS9=S|CiU{l}eNsjeJq% znXkW?6TaukEUAe&TAw}%HIqRtH--F-QA`Yu%slzt^*#4Hp?m`TX!q@dr;fL^J${Vt z3aktaVCDVyAPhqS%czwHBrZG>cEqpO(b(6IrpF$qjNQV_@EE3sCuS)VyVpCRu0Qj? zAMJTHd+@*$dru#i;KlRjVP3ro(GZ2u^dNE}2>$`X_XIyfS<*Dvvw3)T?;>%y9}%wt zbGelGdUIp;TyEjbRbs9>p#0+Cp6-2#=pVlL{153{6{QOoV14)@)JQ}c3xJi)iBRP8 zg6!CZC7@bG;y^E=u7zTLslTTw_UE_fi%Sfwt){*|5joFn=kjtVZ^OKDg(7bV(!Sk` zblC~>)-d8k&{$hLI`$M`yZ(8)+ecz^J>g8YxuwA{dS$5*+m{Fa29>~7id=9c47Wi*$1m5l!?y)85j8u%Oj%?`nRIn+!J<=jKiLm1=nAT6m@pCu|EuN;f|P zBauQnoxr!+Tb^TVcED&7IGdsl$5(A^3_@QeoFdCaA-*X77KL?Kmu(OX^QcA+L{d8t zi>OHI+F8bC4m3m*rFRFnS5m3xW&)2XecauA+oqDT>2L4TI_f9e3zJr-(j^juGeJ(+ zg#u!aJc@Wk17k8aJD|zILLS2NWg8W&#Bf~8Kl?TGFFdv_4%V++Liwc^pfC(Mq2Q@7CYicIc)wT;RON({M2A3rF6+)({$Sz|AsEW3hGS`t^Oy%=p zYWN5gAM#R#SaZPVlBO(62SN|TT0`b(=J^40Wmlt2M51u6ez0wD)@2((R)dNNrsuuE zC^Nv_%P}j^qKy!ZO{7V!T6VJ-sxQAthZ&M^3mlXrCK8HROg1Fe6$WvONbNcs9q=t5 zBg>Py{h34(dRrTu>0Drd(?`7k(b(p}H;g$&1|mNx06m#PeQ6G+?ZWc>5ys{ta3-tv zz%rGeU$vmO?~)3NvN}|#Cul}cQd<$$Vcm7<*HbA}@;R84;7O}Cz}W0S^_7X)bG$}* z6%$HpE7WK-94g}fBVV#xeK&1SRbDbH z>zvr4(2v@fgh;0`fAMY1P$L|*oWK6^)}7Y~bD0;_H3#^gH}ZvRr<1X78mfpzH4g^O zaD~gyG{cBQFkChhJ(pNh6O>dE3k1Gcs$kyHmd?CC^eo-V^ZDPul5uf*f66Uhc-j!B z426c4UxU$>l@Xw9(UkM<9mfL+C*&{_nO5pKE=B&11kcsA#jpPRSZ z1)FCGIq{F<4f^S7u^f$hmK@Jo$8H)bu>jojWnC+{7qQ^7i&6C?De6Qc%&Ae#U%7}p z#X09_1p@yX*`6dRaQS`eT28{-O6MQ@_y6?s@rD!aojb9kg_=~HwwYv_*6viWO02$= zu#9sow!l5-ulhx^gyms<2qj;;qBMj>Z{rM z`+Dd|oP;J7k|fc!NqX;MQdLOqh9omX;QDr7PXAX%3|^zcA$Gs6ACjvYlG)vi(fb%707*qoM6N<$f(2Nb;{X5v literal 0 HcmV?d00001 diff --git a/Resources/diskette.png b/Resources/diskette.png new file mode 100644 index 0000000000000000000000000000000000000000..3a9dcf37ec21415647543eab105dcdc124734cb1 GIT binary patch literal 1555 zcmV+u2JHEXP)?^ z2%;b=w1PtMK_Qq6`eacwRwJ4Q8^y-Is!u)$27D2rLL>CSB6%sb6-%oiXr7c36;X@$ z6a=Lp+WfU?kTm!1%y_;tvp4sKySF42x?%2ac6Yw>oo~)Lb5?op>3SXsew0!;r8ka$ z`B&zt52PIP;%hl?mLgC!|0F7$VaIrTW_EnfAV13FrKkXm&%HCfJ|rDAFRg+97maiYRz4tU*D(sbX) zbJSikRJD$Nd;T_>_`38kKW^u-tmC^SD6z_xy4q6mXD6wBONkQJPBR%9iK$&H8FkN^ z+*5K^f&naG0vk4>>Raj+kQJ+1Pi=`N$Ho9)v?0Fa>y#9`<9MR40eI3{%RKzwc#mVp zIa1ED3W`dM$7*8EH@1!c92|>dX4~{;|-Wcld?-yXlz=I

0ykMq`Y4{8q!E{{~|sxdD4#g0bNzcnK0& z0;sSC!Je{LPrrDO#-16hTPDlSTN)aDi52jIB@VHb)m92v@1kLnLE;h7kz=QD$;R`# zp=tyWl#u(#vCkUb$(KNiPjn`?K}7^AhyfESSE@rqV+~_qQ!ve7M!2yNCCdVXcn2mt zNI+{cF)IRAs+BAYY&0i;^|5$SOSC330mcmN-}?v+l*=OP$jfig=#!60u0!rD%V;0p z+rRfwDkCE(q@?967#@2)WPvOJibO1q$08VP77kol{{00*JLBv#Pin!#;cHWfD}S0|&&Bhoc)TDTvAn548r zS$nk@$dCn0kL^+i6PWsAg&w@M{hIayU;r!SSkOM$C?tSqk_9}mlV`m5{XD%p?XQUd z=|K%btEMJ*i6pSklzAZH=zxRWJ`k-->{9nqNlj`ZWTGVw7ie zu4&3kz%3gJR+0*6=zt0cD7B7&5*x(?_zxQg)fAxE6(yny&IaujgJ6$$y_MD|n8 zSB?i4n$9$I6Vh-C@M>9;JXIt;sm6eOiW>s43yKC1E=VlIMwt1ljfeZXmGV#?6b(eHd z09Kb~r{@lhyuz1P!mcSftWv)2<8c#@ZfY!6`LV)dA)b*GT|7XxZ37h=--8!<{2k9( zPC&j7p%_#xm|Ts9sv%KDGf>vsGnzyR|_*l9HsN^<}J002ovPDHLk FV1gfG(G36q literal 0 HcmV?d00001 diff --git a/Resources/emotion_batman.png b/Resources/emotion_batman.png new file mode 100644 index 0000000000000000000000000000000000000000..17ddd8b58f01a4784268922f3a17ebb3d84a1d69 GIT binary patch literal 2708 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 EKQac8@&Et; literal 0 HcmV?d00001 diff --git a/Resources/error_log.png b/Resources/error_log.png new file mode 100644 index 0000000000000000000000000000000000000000..041f8ebb88a541027c11ec158d1419758c0ee92c GIT binary patch literal 2120 zcmaJ?dpMN&9v_!MB3U(*mAA2U!Q7Y`Gixwr%$hPxIN@k9W?p76^NyKeE<{u|oqf*c z7Tu&xQY}tP<(gZY5b22H+1!d9w$SEsij~f2)1E($^FGh}{w~kw^ZDLB&+}%oeZMj` z+-?Yi!Hk*SbbrkXtiA?%ny*x)n%6AbWM09t04Pc(=SV;pl?O$F08_|`2K_+}PZ{41 zy24;ONI_t*ESTj(=0ZXgXBC4|2*nyU4Cd;t5OcV(pbUrvqXi-g@>N|U5)kkx$RIom z!xGa#zQ9{00RvRNfm~HAm&8N5y8*5WvPM7%$~b^R7$=gF6%^zLU9x7sdW}W`A0V<= z3i6Mnf>~^U21!5wkHR=|F$63?a7JOBF(hY_1AxO|F=#9fjUhT>F=RZEjKKmQAEYLl zgcn8jr!zjr(wrzrzDy=2qtSA?93^)`L6T@RmP8_$i zK`B=v5X%IR2v}9*L_!HN3R08lA0-IIpJYYSk8RR446WdZ(O48_wWKv5i}nAZLg6R0 zROS!I0**Rt!L7yfr_82f`(!b zd2Ml*z8Z?_PYyQED>h&uSp-{_{mz?{ z(b_0HjDET#Hn4PNMQLr!>2XkArxjXH$P+(53gw?3eLlXWK7M9ue8F<$9ogyK@VPz* z4&OB(blWA2MV1}LvL)gyB3ro|XGE(p+it_*$Hb&b$6i+wvpe4$up%3HY+#N_M+?8z zw%L3dewty(W)j{FV|=VVx^G{qso8K1{`@j`nwZm`LNr+AmOV8?4ZpUn&WW+q>>RN1$*-%S~Ky1zAa;*q}IwU=-uEn(w>-8{G@ zGL?rB32#2Wcbo}n>HfR>-tm8?pY^%=1?fV2(+>YVN>?>M>DBvVX zSHAICq}J@~=$I>cb_G?D_^WPJ1kBiUAPH|&CZB7PphTmKe|0QQwzhEpY*RBkzpEFf zdzJIxvp43g21HN0FLFBnaX8lUwn*5l?zane@vSYJcEtQr{X9R1*r0rRuArr)04iVz z5k+Ril-V@7WVtIsw>PuB?Ztd?z|}fur?F7)iOh_QjG|zNegjy*i}vUsVD_pzY6{cS*WZ~IG##JYXIFfg)K*sqPraZZ`HmPF89gy58uge@J9@a#(+ZUZuhKup zqf{qf7-U-q0Wmrr#Ip~zn;eSvGh7%?d+M?jV0AuxPkv*JR_N9v+y34pvOIeGo9ZG~ zR>zwwxrJMo^zz8HUmXg&0r!E9sZ<;9hE(e{H0(;w*<@nU+S1}WKYuUT4e{kO+lz!9 ze_Jq|3jo{}jPpyw@0;)6VkW3}vQAmq`3SgpYi=;!Fg3_J?CR* z-+yI6a4`nX4B`Ctwzr~aVGR9v*{D41-FC;GjW#xyG483xeh9N&mR44C;NCHYb4X+1 zqx0LYb!mrOeNg#hYUIF4|A zHu0N7j{H87ltpc8JmiC|x)Twe8~aN8b;fSHeRtHYQohLswE>Gw2yelg!dqzgkJMt8+ zGo5=o^2#eJOzyX}b>8nI;zOG94({%6*EX0vg*eq*>>F004)4=~(hr23q;w*x?*1k0 zgonyDF9y+PKe6DP=IvKSSG_L_?RaT3kbrDpN1IIk@;Y_?UpXu0Z-0-0dCvOLTAk*# k54s$|f9Vo4@*ZvhgO7U@ecNN7wfb*odim1JJtNZp195m|9RL6T literal 0 HcmV?d00001 diff --git a/Resources/file_start_workflow.png b/Resources/file_start_workflow.png new file mode 100644 index 0000000000000000000000000000000000000000..a83e9691df81daad621928b7d48c2213f582232d GIT binary patch literal 2961 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 Fe*mCs2hjik literal 0 HcmV?d00001 diff --git a/Resources/money.png b/Resources/money.png new file mode 100644 index 0000000000000000000000000000000000000000..c8c5a1171271621b3f25c6cd25d9722e595ed6c7 GIT binary patch literal 1168 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 b{|Ybwxpr75L7Bz>00000NkvXXu0mjfcV`zN literal 0 HcmV?d00001 diff --git a/Resources/money_delete.png b/Resources/money_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..d1a9cd064e20ed5e2a0f438574b51f00fea86172 GIT binary patch literal 1631 zcmV-l2B7(gP)$vLI@}&4pzN<;A#4_v{7%)Sif!M-p3X#ubeTp1dij}8+S{IrppbL zYMZ@x=WBAp0NXC=HQBhF0iJQ1JfC_gmLu=;W??Y|V#tOF00D_Vyg~F>g?1LAro~3_wUjz#&dd$jODz^lL@s ziQ!ikUDBn5;nOt{Y>XZ}09x$&{%i<8$4jV=OTt zFM@`a%P>q*Y0F`buq^Lb!Sx{PU|Y8UFof#?({K?>T5Zs?`a}(4eZ9!e%tFN@<(x;f z+Cf?{qyY)9kaC=PjOV05WHS^FYuP@M%|ykra@e*_x}{D-wq=M^4-g@2ik0EHjmd8i z7)3Q9kBoC|kcL~ce6$0T812}9lZ|)Ea;D#e3>*%nIYcM`i;zf|Bhh>w{h#fE)!F76$)AYuf@LV%vK7XTchUFuE{Ivd)DTd-g^f@k4Q4u# zgi11dLXszji=kIZIe!<=e+-ve&Y`in7K(O~)i!|QmI0J(-i*P6pCH+Kg@a8V$aIDJ zbd0cBPd?^6k5-Gn*x9s&jPETSeH`YQ%;%DP6Xx# z14s`b`pSM}J)VOqPdAj57BH={s(-nyOmF2pi0i*<&kX^%@#gcp*V8kSazVM9<~uoe+7a|diP^z_ zzm)KrSaj$Z(gp{qU!~qL;)-^sEytk(WK(JyRJ8inE{C!#V5B#7x|({86N`BqaRKn% zEbjIH(o{^Ty4c{&xshyAPU)#b`A-VC6_c`~E7prX%dUf_=KpVrn$F(s1)ZYrM<310oRS>qpFXLuP=k;|2OB;4gf#d@L;z|V zn$R5UKeXk-m7OFT9SZ<_AUFqp@2*>tl~H`7FE%ZW4x~^x3>gRz>3rJt-90@xcd;2w z-F?;TYAOIs4yfKU=fFXT8zHU?ZkGQxeyp&Jgro@iJf5Y+q dd;XUI0|1|8ZbvaROuqmC002ovPDHLkV1f!D6(#@x literal 0 HcmV?d00001 diff --git a/Resources/money_dollar.png b/Resources/money_dollar.png new file mode 100644 index 0000000000000000000000000000000000000000..bab8f07963bab5540954d423c5eeb50be938748d GIT binary patch literal 1721 zcmV;q21fabP)*9Fo3)Q7*d`hPg76`pp5~7Mu=dI7=BcuCPEA(qJlgWh&47^2%uP^AW&!kMIzKf zp+HGnpxw4x`e56#?RIB&#&c()}HkS zpkEf~X7F!pTdRL15>re^i6I(rR41c>;=GeL%NFqa5H@eLR1|u=tVY1p6TTQt&O9 zvOz>hhy}K=VE80I>Z_Xa>9%AT059-y3fGEu*#i?(t`Sp(BujYE;Fi98`{=?h3b^S@ z$32@k(mu}?J76kXdVK%Ilgt=Kqab$OuEn*}Cr(CXT`73-dBDsHo*p<3mu?imSzUSV z(3bq=o~AaYM9>KrP7+GuA-PA=prJMr1>|Y8cpJ&|yml3M2}eY8VfpMexOD5>^w6!= z3SYbTtmIWc&&vEckCrgvnMwRQ2-UC!GIlSm9g-YJgyTEWvsqF7hz%cvF@vUoC)eDm zEXIxULR3DuPina>d*99dKnKugD(($Hbo$0Q+fqi_SH{~TDebC{fnX9JISdY45*!i9 zXl`}mx1xL$-@6LM$F178Ave2gChRW&=Fh=zZeM)PF)$)BE;gJPuV^pn*rKS4#tAkD ziB=>;4n<1b7}PdabmBCaxDXu7`v#2V?uz zN=seRt&%DtwEShsu#ymARbC-lXKm%uW=|8|+OZ5V5wS=eJr!k* z7s=oMaGF(1Nmf`%t}_aN+-I5-WebDTU4p8nGDHMBkQ_eD%RUqu%NMzPFOx8vs!-3HGR{0cfrhp%TH|ZPg@ITHFVl!?ZOHE!Qe$sW4Wp)AfLZgD>H&126_Y*fdoV#<*i;H z3XAR|Kc^sF4`Z*9Vie&>jvhCA<%ExHF=11pV+J55DhzQnGa!CS%bj7z2TcCR<3okB z9!E?0TOv15BKup;DS^w5>7MgVlUC|GYWYg_8fwU P00000NkvXXu0mjfC|NO8 literal 0 HcmV?d00001 diff --git a/Resources/refresh_all.png b/Resources/refresh_all.png new file mode 100644 index 0000000000000000000000000000000000000000..0f4d26174d379a29111a9e6dc01919fd8c5aa06b GIT binary patch literal 2481 zcmaJ@c|25mA0GRbW#VEG$7rZzX3j8}VPY7&ku_SpjG4m>vo&)vwu&q-k!+>#YNHa$ z(rqDSyWUD4brsqyEjL!hpw_@ULLBQ4q3)qS! z{}dJnCki24AS4#-5HY2Li#A&dB_z9wAOAw{rzSH)|Krg+QXZ+SuC@iS|@? z+hs0Iz}&%u`0z59^*7h<*fnTJ`z$ zNE>8fhP?8+s{03hRI5ej={`Qae95D$^9wN_c>5=fjdFI+#*AF;EB{(PeJ%PBrz|qB z21=eMzhqQ$^d~IxOpCHnSq%GT0-lIY=i&^cKx1 z(~yAQ@88dUTv4&BczD$+({RA~eO?ujNUXtBS38KCnqJ)9N?Dm|9AIyzwZc3J6%eBE z%PGq-(dEbynR;1--p#~lPGX|nJUDo$@ZbmKec=ol{8`WUTboX2_D*&#yx~5s)jHw2 z);+e_+FJYbo(Z}38RFzW*iPCZxcj^exY}r{F$hlGi;k!n~g6&y@+pBQ&CY#$aj8&wXCfk+Oiu#S$r0lEHf8F zYdEHSF?)Neh`m=`W9#}T?)HY-01DN>P%k}Rt-B6oofY&jLK{%*MqJdjM&=_2wZ9T5 z^@Y}%c|FG`h7#{b?9}oo{k#d~5WRk{WU?qOu%l=SK)D!buU6)OnVB)PlVy=qOv|MI zWx9c$bM0A^j$>*{?_5V#`hKo>GA*keRD8;F(lQHok}D^3$HnD~pJrdScd*B?p!ulr zh}yT}0rPtoKb_umX*%faZ_L@PHHX65h3HY5M~q<$tckM4=RF?738~@0?BI$%WxbvO z_O{l|`!JY|4A=#&+qXF%R5>x$P%C`tRESg@$ouz$o}Ks0N;6|}^%ujS&Vd`s8FneA zPrbh$Rb$cQ4^wlMpS=vyi{$sS9)3Xv6AxVfqh*dvy8Xuk&6yQ_#L}qOt>;WRl(g%5 zD_}RoSPUR zPtM%h%C_rZ)Dfz+yqN)`RzTEpI=+ftX?;4bswn;ormnJ8SCP1(^=W(ObaA^;`$0i! zapp;`o5r91&l=yxOK5EOP51s8RW9KVpl<@C1#g_V!hY zrdGo70J)9V7PDha^^wE~jPu6l)+ufF3KjxxiNg53ed^i2su!8GIM$0uiJMld*$LzZ zLetb|oiO<4B#bhmFVWvz5g%1OaT%>$oSjx(GQIcxZNHIq^|9d9(Tm|W=M*o!#WgU0 zce-Pf#SfoWuiSv}-Tx?@Zt?KlV)6bnXQ(KoW=l;_eW)<0E$4=8w;?(#ZL+$+K}W%J z8!n5&@<^Id<=)zCA*q)bD$k{vq)Mp#sn<3d7sfbnCl_ySh#a&-+qLF>>ZHiHGo#3B{Mq~(zB)zaN3 zQB(cE19n`T!@3W*>v}m=+7}{Ot2qn9BVSyyFP$ak&_~uH23`RH`u@FBUh;0nH{h_A fMWs(0Q)Lj~>Yg#b#uUubPn4INAMLD5+V9 literal 0 HcmV?d00001 diff --git a/Resources/setting_tools.png b/Resources/setting_tools.png new file mode 100644 index 0000000000000000000000000000000000000000..2a1e72744479f7980973cc388a14300bb0a4bef4 GIT binary patch literal 2315 zcmV+m3H0`fP)Ran$O@M`*`EZE8B1X%mg1D)>ymAr_M{CaIk`W%965Q81mxv`xZe zQKX=gqVirrfqgH#?C#z7tLMMDo2-b)w7oNDcK6=@{@-_A-}#pZQ@plq-w~OZka$8Q z5)~&TB#4q{B*C<4(}1RFkl(upJw3g$lYe+~B`)0EEC!8613Vr+ z@Oo?Q4#xpp*N^M`WMAGCu;~M3hyExK2zE&~Zh-l@Il!YRP$-qq+WIg2R6$=~U*mhH zPwl|9hVtWY_9Z1GCM;XN6vT0H;P?9xoCi*)6Z-q_!PoT-pim5Fo_YVhK0<>3B=CI) z%4+iS@(_DH3v6YqP~X@DvgT&!>g=p!7|U?8tf>Xpy5Fd%?3*`tZbD(<66m;n7p`A# z1&jo1@zdiWH#-ZGlat_svw!Zv^&&LqWCZB_r3Y*B3-Y9!q#I#$)Bpyf5gHJ@x3^dS zR@I3uxJHL&Mq~Dt?0(Ei527iwbg!!*?`v zVoe6N1c>)Sp&-~}?L?s-AAwLFkK(`w5!{5;>j0<2 z33~k~7T$H(^qiDzzK*O7evuI1(|oqAz6IyAHSnZHqsA3ob$;FgP^#20Hf9F9!vzk9 z1MGwZwvk4wgRklvSun1Ozq`C1muhfu0OGOl1p+>jK;zTk_xUCzKo9~4v`FApIF%;&G0||ZrHPSCA6s+XdhBRidzM*X82%8qlf0}EsDs<$QZ1Y&}m^|=!}I0!=i5a;7@1v z;nxRT8@qU1D@LKEAc?nU&(0`JPELl7jt)3fw*P6oujfRBlyuD2&6|()F50!`x6dwv zyE;3l83(xi6x_Tw2h{R2Dn9eSYwuMTAFzY}f#e zZj~ZC1j$}lF%YJ@gRyv;>U}5>D}4s*?IjH>wgSa z2D#niBz=C@aT#4Xb{Q!KmEgK|~d6~1~#hHJvZ>XINc%leQC{(fg&KEDr zoLl|!@`dolIB+k5t8q?v3=iN`o&ac`4}O%t0CxVh58CxUFqzF)bjQ|h;qnhtk>ZD* z#gv@ezI=X8b=k8E;cCBu&3Q1m&TNEXtr8@+s{d)wsX>4Ov+=`r7^5QKFWZ;GvUzD6 z;||tc92e=wrr;s)=-18_uUI(0diRQKxNz6NR=d~#J-FU%0Ht~aj31U2-ERK!YM4+k z>u-YWG(mhC{C-sq{6lVmUo1!lwbd)pNmk|BWEU3z>hAgyZB;Zfpl$dGFC2@7 z>3(bk=;+egnmwx*OMjY~2p79XLGw89Pb;?A?l!mKJL*8E@N!lZT{Ay7uXfP7m2_iv1 z?viW|Uzi#qie%$!cTG+rK!6sP)t=q;lSM@<(ep>au`d}5C{z!?*?H}_{?qc0IDv8m zc|%CJnH!(AhU6@fxM^XkF!aeJ0tBYTu6f~N>FNboaKYey)^i3ABqPcJaNLnq=+7Vj zm;<+uE2{4lbutn!APKF_C(&oG&a*b1uL-oFXpT4vAK=cI^KV=2d+_@s{oppJWe9$b zlUOSUIR5em6jXI`=N?AUBhzY!!HU9bMI{(EIpA`)5lU8N;U5A4d#VZ$pwt!{P&k$d zII&=G&!|eKs@nbvm-EMgPfEguBy31R$++N^+FQV5j7?;~1yT^kEBN`AteJ698ap4H zxP=*y;X{ghsB)@i)yW-uaLq6`l)O{;H|2jM9sH0~QCKvx8iEmdr%Y2-{4zct4d?(S z3NjMPF4yuzVJUc`W{*x@?eG_>Q@ajwL&-QraF}4gr6j)g(P^PL`5BjPq(xO#{5x*X zu>b)w>toSoaFdYYMy8P~xUtFfe2OFjQ`XGY5$jN}5(>C;nvhdSAJ=B~|HAV})RjBN l3pmH@|ARyS-|IgD3;=X$f&6|~5VHUP002ovPDHLkV1lF~V^078 literal 0 HcmV?d00001 diff --git a/Resources/stop.png b/Resources/stop.png new file mode 100644 index 0000000000000000000000000000000000000000..807117fc6468f1df68ed60f79796070ba5f740a9 GIT binary patch literal 1173 zcmV;G1Zw+Asa3nA^ae@K=c%PZvJI{XDfNdbWLD%@rgE?pJJ@?KX2GxiAk53NH0vC+}9~fiS zto_^mu;=MXF!rkd!DK6b)hjLTss{dhZ#35Sq9XAp95i-z)c;5PG*2G4KVRL zL!)`Fq1Ehx)ZA?2U6aQK{+@2HM1oZYkHk6#Z-o2@+93Vy5H7Qd|DmkyniUpcMV>%E zsV>O&or6>&0m-p{;sbw`C&8+L2Rb8={szIhE*Gv$+akcYkVI3*PeS_5TUdJhuq+8y z&h6o^hC=>m7v#Rb4uEb3mwPSlTNsR+lEm_{K1d;nm8tPfNvvPdJ@Rohw*ShtP+cSn z+Rd+b1inUsqZk!P9_&R=Bq8-|IzI5{R0#=I0)D(J)_Un`C=l)de(O6BvP*t?s^iqGzt@?1ct@TRW&f-9qB%c4c?Ki%F0s=KZaZU0H_QtA*G7_r_aD)*cj0 zL+z1|zCIU5-x~8Uqf}-Ir1XmPrYN!at zNu1VWjjJFn6~)r%EGbAF$D?G?j0h)@<)gicpk$(3k241hN>qL zP7?slSa%q)yarU1iPIjynm`(W^&t=%hJaxRnA0J^Peb3t19+S&7y{`5aE^eA>kBiz znFll}K;|$3hGFK0QJMwxVCtj+6}WW2lNwND6T?cffKo%t$r@nQD~DK}iS<#uoL3xw@J9dI+OHR0l{9IJx%Ur!Rn1rVCgsge8C$ zy>p`H*Fbw`(2FD@Di$RoA$Aj7z@sP6A)8wTo%6)W`xB?})iZe+Q#&yN1$VlrLJmADO4hJfVf_a2`qsC~Ovv-KqCmRq}xLxRMzf;L+T9JaV1 nk?_dob$dfYOIN#|zY|~pH1*!5o)KJT00000NkvXXu0mjf(-|po literal 0 HcmV?d00001 diff --git a/Resources/system_time.png b/Resources/system_time.png new file mode 100644 index 0000000000000000000000000000000000000000..957c526a373b824cf6d58ed603313f646cf78865 GIT binary patch literal 1627 zcmV-h2Bi6kP)%rZDr(mHq`9%A*uZEeu!JN_xO}AvEiJ9Z zJGbV%N<-R24KRK5)eprw1r%K?&MwDhUE0#(<=o$~$5lI+(2$#Ab{xvAj* zDdM&;_Te!r@XAby0lKCMe_p*LNu11IF5oEiOYLQ7B*#Wf$^gD`mF|-7{)>av)cXl5 zZoXn+T!fGlE>S9kf2PD4+aPVQnHO+ncAM*=7m>xD`6D7A`?=sTqR8{r+wOJW& zjg&1-zJZ0w#D1L|GsAyOl~~4&TBq$UR?VM@__)}uk&%%Iv|0z3^*bDvwma>c%a0!0 z+}+)^c4JQV5nmr4NJ4kV_eprNq| z&CR#4bny~I$IM1UeLWHq6LG8gHfsN2Q>gU=V{NYKjLrAW9=yhDlLI zX)+}(6C#veM1+UKcCQn+Z?_;TGXt}uqeO*OUw=jP{LbS%ZzH54Y5l%$_vi68!?K~O ztKtfhVx|q{fCNusk_OR&tf2QsD*}UNQdw4y$5T@g5D*{^VK$p_wV^@uE|-gpRmA-H z+B(clN~Cd1HfeZ=TJI19RMl|17jwb4QITcn3S=XQS}+XB0!_BS>2!*c%x>>TT->9g zl(Sd@5Ey91)oa%f925wv)k21u#C(5$Khy!0_EIgL;$`R+cq5uVLW7}TSIr#kIu#Ft zHh(sK4qUo~UfP_~H=i~qI~x}A0PZt0GLV~_i#@w{qpYNqIMG1sWc1nXWVAlG_k9vd z>{6P5(7oYM+Ub%L@1#a&hNhR-a8OLHN8`BJJA-Mv%o$EsyXun%-2JuMlkvzMSX z!=SifrBmM|4-nr8o)FHPyFE)2<2-M%Sj54I7X!l#5Lr!Ag@V$mQ^;KTBuXl)k+s6z zXRdex#TC`aSdog7iW+1tUyK3Cj1F4|A|fJi`t(_Wj@e`qXslVYM)YRIB*uB3gH&f{ zC)(TFjxwmj5KuKY?(0@Rh4Nod;pOyYC_g^DU;lg>%Bs#FXJa<5-?%AA77`kY!lJ`y zYi$!c%FD||&+j}Q68exptm*o7e7bYT4w`cKewajV`8cmV^M&Pb4!8#6fxl2Jvn$@S zq4n~gSoU-pd5eMOmR9l#yQg5Fh!Yfq=%`sxOfssgPvhL#Gw&81Dm*~5cld_9Bs3iM zo|>aSpG+HfUMC|gk`3^UnI7kyTfP+gIwQ0;fj~?EHeXg6@UC+rKzS&TE;PZSkkK%I(**AoEHtip&9{68? Z0RVpDU5WYh$TF%#3Epu~ONjh*e^v zgF{jgDi+1iQ4uXlE3r=b9Absgj<(wGkFW2&uJ`>NuKT{9`+0uP@4DV3Z?Em@ss^e6 z0H~AQh*bFqF2Bl3@~nZ*x+Kr)xXhNuvO6&d~j+6n+G zVH~=j*pK3gXY#oS#xe#W2gkQfYt*c=`KHeOu^134@L%oj^RQ3Nhf z2*)i-2+^Xv=**~4CXNMjbO5(X@p1t!BxZn8ZWvF5ml9x~bn)`}@-`9%eu9WY39x@m z`BA(<7rqbzu?Q5LiLyn5wl)Z~4GL$2`vJ5@p;1V*H4p^ii{wBgqQ%6JN+jGuHdUIPxQG=@`53y3;`02KrN^A1xTU%e<+vx6)h4| zp@04UPhk-~QUD>Tkcb~4WXcaN*mOCR0PiA%7-GJV&gX}HsiJoXU(6SU@CBd?4U0g7 zz8oHlFA;shQz&>cPb6mWm=KvrfXNjQ91aUl!VodGL^RG8=S)PSNf;d39!;_*+Pm1< zS-WD0_FuR}J~M&~@x))atbe)A-{da00#_i9OoW7-eGto4$mfEeQpR(>?Zxh!dY`$h zZ+o%-CKo9;gIqq?|2pU|Tk`H%o_=jx`QmHiLp*u63*~Jc&e-x40F>^LiOzKCi*n!4 zu(dnZE{%lJq=NHPsAUs3U53wJhN}d6ngfwUtQD&1#H@FgO+_xmmq&A)f4Y_RMY36G`n< zj%Zx9(|7FH`rs|UW$ZYdUy`P!(XX|l1zy|~c6-|M>0QZ+5&e%3{#e>~bs(T?vHp#9 z*t_OU!$6Msuk8-X#d>W5{OC2xEG(uIW`I_l7H*bo!jG%i)Y zrlWYe4q9)rx6bB-_J{YzcYXJ3SoM%09|I@iO2m0k&&YW(P~Clxq1|lisT^k@65;oH ztpB1`vWNLCW6%BpR#0D5-7~kC-KN_vIG2}KYI~`XYN?)Hk|MtctK)N0-x%Yc1cuPD zNXv)!Mt3z{PWjD=$;d~&>Wx2pI_)B2#^xx*sb=8VndueWpRrmmAB-4`I!?f2EndLqo9adxmj-51c;ywR95;v0 zWe3$e-`M8=0MOIlc%InS(^YKJj708iIdro0dwuq{V=d=$a*9kAeD<%Yb|n04ve%<_ zd{i~JE>0Qqs7BD*x#lum8+FI{b$d|Elj9AGxg!p#q_xQwI}x&CB;oiOh;-6)LpDzI z$FEu5T~DpfDmdc>g-dBg15Q6!MVP)B8)sCblV-@nywPYL*8gSH#H%EOOggN7DT~oU%f{<=K zkmtSvqn{=-O{@}~#MR;EfpUm?Q0 z%HFk~4sQb7xUB0}^NU2S@5+iaHxwzFj}H&J!YU*ma2tt=e)tFqmu6vazJ&o?SPZOt zKR-E5z>ZFZ2Ray+nhEOS)@#Lkcgn7HRD~}@t0`HU-wVF)RkoGQC_=uS({Ly?hu|kQ zhB}JyBR#{_-ICc?yL$sVh94ifYRTp;C3x<1`bA;?**IXGRmjog{kJV1I!y oQBc^kch1vso9@7>k7_7jYW9`>52C}nmVfieBroFCZF>&<4J21y@c;k- literal 0 HcmV?d00001 diff --git a/Resources/traffic_lights_green.png b/Resources/traffic_lights_green.png new file mode 100644 index 0000000000000000000000000000000000000000..bd53d899900552b375c11511c23fae226150da69 GIT binary patch literal 1673 zcmV;426p+0P)}2tKGmAxgm_g<@Kz#6(jQGrig? zvB}^~IeX^&!=jSTb?mIGnuCBtaox9P}+=`3@lF4My-u@^)`0yi?m6c_EQBHpK zrB6&!&bscLz&3Cvd-gsnMg}z5>5pg6U}YtZpSru@mH@`b$KdyRQBzls%F1eGluD)0 zd+8Fo&!0zga|@Em6x!O_R3Ojn-3L=LqiHVudiAnegC^M&=catqri$LNv5^jy5tV8e z3<<{T_2G780i_#D(cIdqoI1Pk`FtpAe+(nxFd~s#D1T(LvY{;lrY;A4=dPI>K;pAc zKRLSp`GY4mmXvhBuD6jf)b1k-5j^$uQ*e7cs@|&y^|o%^itB@esHmt?HvBd@F~Ndk zITq_Z`@`v@Tw{%0P5^O{DN*d2pP%oI$K%S0X=YTzRc)!jMyaVscI@-}*9gCHu4+rA z(zR?{pbz?@Px`jkC>Q{{^_Ix^g$vzXu~_sMHcrMcRSg@0jVj%KiY&TD7?cQgsB771 zpbz?@Puq9;UIB1qvO%2hKCS|gX3}I=b+t9{2Lg95?ug7$hq}r}Z0Tdw;+eZ}j{L(3 zB0wjsw_D)19E}OQLb!4BmW^8n)YhM>%1r{-A*E}m&Q}U^g%-b808S8!6ATgE?G_X) zAsik?Fc_4&2Ne7`yaLN)BCh5lqC;K7AtdopXz@Y;cwatzB&l(GvI8~|JDMcq7RQT= zOE`D#9HytIvPfXF)z;Rbp&=;2c#uw~l?}(?Bd^X91^oB*sgu6d98f5L!1nDsdZeK` z>G;Z(%L>Q3+oIl~p})Z3f{h^sP1U(l@5sV}%>9YScRZmMbAsEsbC>#^OeTAPlYwFa zFy4Fjonr@IeCgwoKuL#1L?%44`|0Uvm4*8HhC7^ZpCM(XrI?)j7gLjyl8qWQN87={ zYly{Ty{EtX_85KVE|w1kiVMV`Yi4Ff!H~{$-HjOuAQTEIxcOE=(fL2;sH5wiEdSF7 zedXhTLIDt`3xv+ao(snGe93U3>Wg9itEDALV*RT zppXm~!m1N=&9HS8bj|Ep@nA4iB@k9~3A@!xr^f|)JaRRxy*se+cvM%Em*d9#g0iuB z;J#sqe3u8Nb47O5+|-20scFSR&i%#OsEPWzT1-eII%O+ntQ!EKXTXACbUBK-xj99* z>9k2`WshUGTT^q?p)PHl8`J#;poqxYp~dO4afJfzEE-MVkL#B(Havz*%F3+n)e&k5 zp{XSZkH;$|GL#LIKq9iT@jr=ZV4z=dJxPat2Kok2))K{m_vLC+VVOtgOV00000NkvXXu0mjfrRXrd literal 0 HcmV?d00001 diff --git a/Resources/traffic_lights_red.png b/Resources/traffic_lights_red.png new file mode 100644 index 0000000000000000000000000000000000000000..fd00be29e74da07a198a59c068659d27d4ea1406 GIT binary patch literal 1643 zcmV-x29)`UP)BTxuwlx{R?E2K)4 z@=(V~<2X+2W^ug5p5c6FW?aX$6Vqm*BTwd@?VfwS@7}8zhC%kDC<+xl+P>G`ILiZX z5$j=G#Ni-CRrC7rVdQdT=(_n1pBOWYANw!-a)?#3#g6T`N>Ku?!|%M8ww)lr!omXe zeSDPe-1&zb2+DFdaF4Fuyg{MJjM({`n`qC@=joa5&60@DvUTgT^u@_9slL8G?+bF~ z`|sRrlCk4zMTynudX9GQd4Y{|ndz_n7if7oOTP^akfLey@5DI0!iraF>&eyBB1Rb= zKRP%_C;5GAXBTDD8QQXC3*|VGU3>OQWfa9h*REcY7%<6~xVYpSHh4#Z!9b5xgcESE z=$wqx?WUReIeL{VaEgOlb(9|$e>>fP4A9Oz3VmWI(dIo*&o?C9zuipR-FAZTiZ;2XxE16|Wb zA^3nV__TayS4#j-E}z8j1IHzS9A=}?rj{1Us0_ixk}QLfPKn?h-!KLp=)wlJ@KF#v zR~)QV0)VT=3Nru#*r@ z&{3}SqF;@8$5>&zdH>S;O~dCXWWGxP%Z(_ zwrx9x+-`R-y7=2T<*(}XPqjWbmOWSumC&6?J`#YH- z@t#hnhltL2DoH^9{IgGw?LYA5SJj^C9+QX+a&oY#sVS*KTid3GoR4&vq#9~#X>#&D zg(fG-=WCTQ*xtHzlM>0q$hn_?ItJgB^nh>y8}x<4VS%Ax^+1>t= zj!A}Ao*mG5D(?l}h6b96#>B?rf&UFdDs^~3IhT1>-AuKUp(#OveSR?~YEYZsM-$wL z_Oey-teF6yr;`c8rT7v>A`$X)mxJpWTB3snR9O#W(19*&VEZ@;2oaexG&!9oE-1jv zmXayDJv>bJgJX<;v$6=-&Igf>jt+7&wTMV5aVV{0*(^j<<>>(l_4f8sczT+~ z0s+Q#h#DK4A6aAA&dx@twbf5u-QCp6yW-H$5H~Mx$*ClW=p$CU$Ff*>D6Nc$P%6zy zV`BmGaR8fuiUniPfv#aC^<+eJ@sHyUtJQHn^msf}Q@08c@fdWVE6&*#KAwz-ta7RB z%GYK= zmq+&Mx{==(Mz3GXpLiZpwj+Q4vnd?5t8{ExA}V}9N*yeXmG{dEIL}%TT&(nVT&hB# p&#H>Ms&I!kuVKm6uIK*=FaRa+Pc+6LW_$nu002ovPDHLkV1g6w4DJ8` literal 0 HcmV?d00001 diff --git a/Resources/traffic_lights_yellow.png b/Resources/traffic_lights_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..54034fc0d3e5ac50258bfbdeff5c3871dd75095d GIT binary patch literal 1673 zcmV;426p+0P)#hqb8~YT zc;j_kz4{kqS%yr3uSLf2$HfbX$8QU}mKGnjZh0JC!F5n65mi;u-TeqYKKKdh>+AEr zSPp&rjf+gOR$O~gVyk#1+qUl@BMlO*^w(oYp(r{077D>m2~12x;dVOF>TgF=Q;RUl zX0r&NJc-cYAcDazWHMQ-U%y@?^2GKY=(IDEWW(7rr$h`k$!~G-mNztb!_jD@SL}$` zY8y04#_4q7PI3lywRH%tTPK`at8lqosPBFhk+Cr(le1X;P@}M6TTYmDd9d%|n8gV! ze)+}cdv`v&>$BRLnqHXat*M$=eR3v=&5vz{-Qf`DT{u{8!-fsGG&%~e*C%ZF+l|Rd zK5#6gQsHAiAKA+>me>^~kS3WT#eqa35l*Mm!ilb{qTqbZUewZ=I%vf%w|j~3H=gq~ zHwj(C#s>DmzSt-GHe-}cfU9+uWMXJ2G>}T&{hbR()pT)&YXTi&yWK1lbct|MB&@@_ zhK&UF!M@n1={r{`0Ul~TiNVl*kpLBwM62?*wZiT3EDvr8&9M&a3LCOz9|ghHWjIIa zVI|>VCw$&^g5Sd36v3+#x2I=K+*+VE{`s032(DL!t|ls9DBLO+yix*I5`q&n64`F2 z3ZKWnW7iN^6M)lQLvYLFQIK6si8)kdT?g zrOP2iC#ImN#?l?Kgw75>f}LyNAcUxDPT271-}6eGQNVxS9X{kL7qr~yYlh21^+Z9nMGBrV zgn#olo?{)!v|(HJVZv~x)UCK83=I@$q98jvJ1Ec%=yZyjzVzyrBuY|K3>}89p1&*Z z4~F6hh}C3bw?KOvlzAr{Tt~W0buF26z}u}t$v8=;9Sh00urYa{A`ES)V(?02SrR)q zlG{mjoPnIp!Io8p@NfPm=17Ni3;T>pW5opcVxd!ponV+r&Ee#@6UWt;AUPW#b1)MA zeO%j(FwL#~j2F;yC6iHJAWx(B!fWU6eY*xcd*z6wR~)`SKnx7vWAT_Y0u2VEWQ z)HfJcHQVqeFcBHMagRiF{`@(?_1q6|-CewJ7CA*ldsDsW3yq#o#cb?4E+=kc+qNF+ zpp^Xmuo4kTC7RMYk}g3+Zci_hP+wmkV(~b}BN4*&6t!Z_%g&f>r>AeBwbhTc!5~^& zS};633>#m`i)kjJ*GTOe$$Vi`S{)JbR@ogGACI7o0+hRsd5(2hS2vToKO#DDe80_X z)tOv8blgG*)kSGRm5cd6TZ33#1=%mms^VGYy1lS>;J+Jcm zRE#d10G@v8NkLBHtf&JTk4_*;!MQ!NY#u}cdNz|8895#9;RmRN-}C3rmVB64?>~#e z*|tK(mL;OX!K6g@E1IgWmnCqXHX%4)?d!PI4l#YYtFEeo80Ir9UFmuLp8x{@X(K}f THVBz900000NkvXXu0mjfH^vzq literal 0 HcmV?d00001 diff --git a/Resources/warning.png b/Resources/warning.png new file mode 100644 index 0000000000000000000000000000000000000000..311e72652b2e264dc48791d7719a8f8309f5f345 GIT binary patch literal 1904 zcmaJ?Yfuws6piRmhKlkM5vwkXVo{UL1_ERuJd)*+noz(f4@C*d0uhp3vl|kksKKZx zh(eWusE7`zsH<&?z#87-|V)? zh%gi$KCVIvAhqv;VazgCv?moymuqK6q&NG!DkPo{J-4aNvo;7J%DQpr-VXiTQa zT+@pAGZ+&=r8Jg`m532Ju42i|7?xf|&};_7KTuD|-Ffah{*CVum3ZrCzUX`vU5j`J#r;E^Y^ELzm?;unf zANL~U4`Op54u?r2m}I7!lIfXh(rruu#YnkE zNl;2$4VV>WNw}8cgS69sQcw{eWYy&RGSLNt^fCg1S!{DkV?c@I|Dh_?2Q*1VV;}wg zr!XnaBrqr%BXO-pP9I#dn>iGL2sN0D!ZlJHPamsdWGYVKWGYSo!X;c548$na3S39N z!%HNHNKH~QwHyw~TXgrBrytsuUVLbLOig#YhHmQ};^Y?kw)Be7V5$D@xfn^fG|DmHX-6r%t59Gw zYVC0}WNwtvwl4Re#8HZNn4Cr;3ygeQ}=bcyW*X!S9ai-Zu`bPk8K}Jo~0splj8FRc#%J zM|XdP_VW$#Atp7<%fZqP?0)g*t>QbCLX-O_A!s|D2|%5{z@6@H&BefQ;u%fg_3oL) zmJC_r_6ct2;*5gZ)Mju;!i?CQw~Ht2J+~Ta!7sPkbSJdIU`F9>Jy&HHdbfA$kZnW# zjw46ziGk1SzPG)6(LZ^z1C!;}|FG^9>U_R;4-j~+^xKgs54-*P+JD%!JE5o|@0EIV zt_z#8f4S2rUepuXxw+p_`OL|6U2E0CoPg7bE@Dvm?(``d3&L z?0(Y{u`95-r2fW}>=|Cuq8sj9nLzow=a-00&R@=Uef3Q0mn*F&IkwWln(HO(rQ-Yn zCs+HHokez8Yb%$&-bGHe0!Aj^p85tQ#FvuuPlBfJZXeCHyr`Wi8(gtr^_H0UM^@SX zsg)^JNt$%Rl%|U$wdM9rH#m%8UyTJ4G@Y2)dPKvMe)zS zeVH9i#RtPVaS2 zxr7}KGW3yO7ixcFg|Oxo&acmVSmK)_{;WH%^tXnhzK)<&lQ;KR-ll|%3s)?^HGpcKuuP@xm?deA{Fbn>}u#_Zsi$w1M z7iXt!&zt?q_;Y$y2YU0BHSRjUVlte!v^uJ$B;3}_;R>v^%Z@DYn;v0b*&AP z@}|Q-C9JHOQucUo&VFBA6R$Te6WCDfbhd1xBUmK7v@y%TdKSl1>^GnVSAQ?~#tn$N zv@pl{u`$Q~*xfbLc+Ktmgq^MP9l)|d+~S~ZEZNUkKa+|HA6`>sdHLMsr|G4mLlZHn zNoxxlhD2R4u9^O`dLN;`e6i=+*4#=|Ee@XaVw=UEmVr2CZs literal 0 HcmV?d00001