From c9b5e5806571b92107906a806ef0027ffffaf32d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tiago=20Concei=C3=A7=C3=A3o?= Date: Sun, 12 Apr 2020 20:59:00 +0100 Subject: [PATCH] v0.2 --- PrusaSL1Reader/CbddlpFile.cs | 58 ++++++------- PrusaSL1Reader/Helpers.cs | 18 ++-- PrusaSL1Reader/SL1File.cs | 32 ++++--- PrusaSL1Viewer/FrmMain.Designer.cs | 26 +++--- PrusaSL1Viewer/FrmMain.cs | 80 ++++++++++++------ PrusaSL1Viewer/ImageSharpExtensions.cs | 9 +- PrusaSL1Viewer/Images/Convert-16x16.png | Bin 0 -> 788 bytes .../Images/Screenshots/SL1ToCbddlp.png | Bin 0 -> 117156 bytes PrusaSL1Viewer/Images/layers-16x16.png | Bin 0 -> 459 bytes PrusaSL1Viewer/Program.cs | 19 ++--- .../Properties/Resources.Designer.cs | 20 +++++ PrusaSL1Viewer/Properties/Resources.resx | 10 ++- PrusaSL1Viewer/PrusaSL1Viewer.csproj | 2 + README.md | 30 ++++++- 14 files changed, 197 insertions(+), 107 deletions(-) create mode 100644 PrusaSL1Viewer/Images/Convert-16x16.png create mode 100644 PrusaSL1Viewer/Images/Screenshots/SL1ToCbddlp.png create mode 100644 PrusaSL1Viewer/Images/layers-16x16.png diff --git a/PrusaSL1Reader/CbddlpFile.cs b/PrusaSL1Reader/CbddlpFile.cs index e2fad08..4035ae7 100644 --- a/PrusaSL1Reader/CbddlpFile.cs +++ b/PrusaSL1Reader/CbddlpFile.cs @@ -10,6 +10,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; +using System.Security.Cryptography; using BinarySerialization; using SixLabors.ImageSharp; using SixLabors.ImageSharp.Advanced; @@ -182,13 +183,13 @@ namespace PrusaSL1Reader public PrintParameters PrintParametersSettings { get; protected internal set; } public MachineInfo MachineInfoSettings { get; protected internal set; } - //public string MachineName { get; protected internal set; } public Preview[] Previews { get; protected internal set; } public Layer[,] Layers { get; private set; } private uint CurrentOffset { get; set; } + private uint LayerDataCurrentOffset { get; set; } #endregion @@ -219,10 +220,10 @@ namespace PrusaSL1Reader //HeaderSettings.PreviewOneOffsetAddress = CurrentOffset; HeaderSettings.PrintParametersSize = (uint)Helpers.Serializer.SizeOf(PrintParametersSettings); - Helpers.SerializeWriteFileStream(OutputFile, HeaderSettings); + //CurrentOffset = Helpers.SerializeWriteFileStream(OutputFile, HeaderSettings); + + OutputFile.Seek((int)CurrentOffset, SeekOrigin.Begin); - //OutputFile.Seek((int)HeaderSettings.PreviewOneOffsetAddress, SeekOrigin.Begin); - /*for (int i = 0; i < ThumbnailsCount; i++) { @@ -295,37 +296,29 @@ namespace PrusaSL1Reader Previews[i] = preview; - using (MemoryStream stream = Helpers.Serialize(preview)) - { - OutputFile.Write(stream.GetBuffer()); - } - - OutputFile.Write(rawData.ToArray()); - - CurrentOffset += (uint)rawData.Count; - } - */ + Helpers.SerializeWriteFileStream(OutputFile, preview); + CurrentOffset += Helpers.SerializeWriteFileStream(OutputFile, rawData.ToArray()); + }*/ + if (HeaderSettings.Version == 2) { HeaderSettings.PrintParametersOffsetAddress = CurrentOffset; - Helpers.SerializeWriteFileStream(OutputFile, PrintParametersSettings); + CurrentOffset += Helpers.SerializeWriteFileStream(OutputFile, PrintParametersSettings); - CurrentOffset += (uint) (Helpers.Serializer.SizeOf(PrintParametersSettings) + - Helpers.Serializer.SizeOf(MachineInfoSettings) - - MachineInfoSettings.MachineNameSize); + MachineInfoSettings.MachineNameAddress = (uint)(CurrentOffset + Helpers.Serializer.SizeOf(MachineInfoSettings) - + MachineInfoSettings.MachineNameSize); - MachineInfoSettings.MachineNameAddress = CurrentOffset; - Helpers.SerializeWriteFileStream(OutputFile, MachineInfoSettings); - - CurrentOffset += MachineInfoSettings.MachineNameSize; + CurrentOffset += Helpers.SerializeWriteFileStream(OutputFile, MachineInfoSettings); } HeaderSettings.LayersDefinitionOffsetAddress = CurrentOffset; + LayerDataCurrentOffset = CurrentOffset + (uint)Helpers.Serializer.SizeOf(new Layer()) * HeaderSettings.LayerCount * HeaderSettings.AntiAliasLevel; } + public override void InsertLayerImageEncode(Image image, uint layerIndex) { Layer layer = new Layer(); @@ -347,13 +340,15 @@ namespace PrusaSL1Reader if (prevColor == byte.MaxValue) prevColor = color; bool isLastPixel = x == (image.Width - 1) && y == (image.Height - 1); - if (color == prevColor && nrOfColor< 0x7D && !isLastPixel) + if (color == prevColor && nrOfColor < 0x7D && !isLastPixel) { nrOfColor++; } else { - byte encValue = (byte)((prevColor << 7) | nrOfColor); // push color (B/W) to highest bit and repetitions to lowest 7 bits. + byte encValue = + (byte) ((prevColor << 7) | + nrOfColor); // push color (B/W) to highest bit and repetitions to lowest 7 bits. rawData.Add(encValue); prevColor = color; nrOfColor = 1; @@ -361,19 +356,20 @@ namespace PrusaSL1Reader } } - CurrentOffset += (uint)Helpers.Serializer.SizeOf(layer); - layer.DataAddress = CurrentOffset; + //layer.DataAddress = CurrentOffset + (uint)Helpers.Serializer.SizeOf(layer); + layer.DataAddress = LayerDataCurrentOffset; layer.DataSize = (uint)rawData.Count; layer.LayerPositionZ = layerIndex * HeaderSettings.LayerHeightMilimeter; layer.LayerOffTimeSeconds = layerIndex < HeaderSettings.BottomLayersCount ? PrintParametersSettings.BottomLightOffDelay : PrintParametersSettings.LightOffDelay; layer.LayerExposure = layerIndex < HeaderSettings.BottomLayersCount ? HeaderSettings.BottomExposureSeconds : HeaderSettings.LayerExposureSeconds; - Layers[layerIndex, 0] = layer; + Layers[layerIndex, 0] = layer; - Helpers.SerializeWriteFileStream(OutputFile, layer); - Helpers.WriteFileStream(OutputFile, rawData.ToArray()); - - CurrentOffset += (uint)rawData.Count; + CurrentOffset += Helpers.SerializeWriteFileStream(OutputFile, layer); + + OutputFile.Seek(LayerDataCurrentOffset, SeekOrigin.Begin); + LayerDataCurrentOffset += Helpers.WriteFileStream(OutputFile, rawData.ToArray()); + OutputFile.Seek(CurrentOffset, SeekOrigin.Begin); } public override void EndEncode() diff --git a/PrusaSL1Reader/Helpers.cs b/PrusaSL1Reader/Helpers.cs index 1dfd138..5fb37fa 100644 --- a/PrusaSL1Reader/Helpers.cs +++ b/PrusaSL1Reader/Helpers.cs @@ -5,6 +5,8 @@ * Everyone is permitted to copy and distribute verbatim copies * of this license document, but changing it is not allowed. */ + +using System; using System.IO; using System.Runtime.InteropServices; using System.Runtime.Serialization.Formatters.Binary; @@ -15,6 +17,10 @@ namespace PrusaSL1Reader { public static class Helpers { + public static Type[] AvaliableFileFormats { get; } = { + typeof(SL1File), + typeof(CbddlpFile) + }; public static BinarySerializer Serializer { get; } = new BinarySerializer {Endianness = Endianness.Little }; public static Gray8 Gray8White { get; } = new Gray8(255); public static T ByteToType(BinaryReader reader) @@ -56,22 +62,22 @@ namespace PrusaSL1Reader return Helpers.Serializer.Deserialize(stream); } - public static int WriteFileStream(FileStream fs, MemoryStream stream, uint offset = 0) + public static uint WriteFileStream(FileStream fs, MemoryStream stream, uint offset = 0) { - return WriteFileStream(fs, stream.GetBuffer(), offset); + return WriteFileStream(fs, stream.ToArray(), offset); } - public static int WriteFileStream(FileStream fs, byte[] bytes, uint offset = 0) + public static uint WriteFileStream(FileStream fs, byte[] bytes, uint offset = 0) { fs.Write(bytes, 0, bytes.Length); - return bytes.Length; + return (uint)bytes.Length; } - public static int SerializeWriteFileStream(FileStream fs, object value, uint offset = 0) + public static uint SerializeWriteFileStream(FileStream fs, object value, uint offset = 0) { using (MemoryStream stream = Helpers.Serialize(value)) { - return Helpers.WriteFileStream(fs, stream); + return (uint)Helpers.WriteFileStream(fs, stream); } } } diff --git a/PrusaSL1Reader/SL1File.cs b/PrusaSL1Reader/SL1File.cs index 283de7b..c6d065e 100644 --- a/PrusaSL1Reader/SL1File.cs +++ b/PrusaSL1Reader/SL1File.cs @@ -15,7 +15,6 @@ using System.Linq; using System.Reflection; using SixLabors.ImageSharp; using SixLabors.ImageSharp.PixelFormats; -using SixLabors.ImageSharp.Processing; namespace PrusaSL1Reader { @@ -282,6 +281,12 @@ namespace PrusaSL1Reader #endregion #region Overrides + + public override string FileFullPath { get; protected set; } + + public override FileExtension[] ValidFiles { get; } = { + new FileExtension("sl1", "Prusa SL1 Files") + }; public override bool Equals(object obj) { return Equals(obj as SL1File); @@ -314,13 +319,9 @@ namespace PrusaSL1Reader } #endregion - #region Functions + #region Methods - public override string FileFullPath { get; protected set; } - - public override FileExtension[] ValidFiles { get; } = { - new FileExtension("sl1", "Prusa SL1 Files") - }; + private List> images = new List>(); @@ -492,6 +493,11 @@ namespace PrusaSL1Reader }, }; + if (LookupCustomValue("FLIP_XY", false, true)) + { + file.HeaderSettings.ResolutionX = PrinterSettings.DisplayPixelsY; + file.HeaderSettings.ResolutionY = PrinterSettings.DisplayPixelsX; + } file.BeginEncode(fileFullPath); @@ -507,15 +513,19 @@ namespace PrusaSL1Reader return false; } - public T LookupCustomValue(string name, T defaultValue) + public T LookupCustomValue(string name, T defaultValue, bool existsOnly = false) { string result = string.Empty; - name += '_'; + if(!existsOnly) + name += '_'; int index = PrinterSettings.PrinterNotes.IndexOf(name, StringComparison.Ordinal); + + int startIndex = index + name.Length; - + if (index < 0 || PrinterSettings.PrinterNotes.Length < startIndex) return defaultValue; + if (existsOnly) return "true".Convert(); for (int i = startIndex; i < PrinterSettings.PrinterNotes.Length; i++) { char c = PrinterSettings.PrinterNotes[i]; @@ -532,7 +542,7 @@ namespace PrusaSL1Reader #endregion - #region Static Functions + #region Static Methods public static string IniKeyToMemberName(string keyName) { string memberName = string.Empty; diff --git a/PrusaSL1Viewer/FrmMain.Designer.cs b/PrusaSL1Viewer/FrmMain.Designer.cs index 660b61d..c132f4c 100644 --- a/PrusaSL1Viewer/FrmMain.Designer.cs +++ b/PrusaSL1Viewer/FrmMain.Designer.cs @@ -39,6 +39,7 @@ this.menuFileExit = new System.Windows.Forms.ToolStripMenuItem(); this.menuEdit = new System.Windows.Forms.ToolStripMenuItem(); this.menuEditExtract = new System.Windows.Forms.ToolStripMenuItem(); + this.menuEditConvert = new System.Windows.Forms.ToolStripMenuItem(); this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuAboutWebsite = new System.Windows.Forms.ToolStripMenuItem(); this.menuAboutDonate = new System.Windows.Forms.ToolStripMenuItem(); @@ -56,7 +57,6 @@ this.scCenter = new System.Windows.Forms.SplitContainer(); this.pbLayer = new System.Windows.Forms.PictureBox(); this.pbLayers = new System.Windows.Forms.ProgressBar(); - this.menuEditConvert = new System.Windows.Forms.ToolStripMenuItem(); this.menu.SuspendLayout(); this.tableLayoutPanel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); @@ -129,11 +129,20 @@ this.menuEditExtract.Enabled = false; this.menuEditExtract.Image = global::PrusaSL1Viewer.Properties.Resources.Extract_object_16x16; this.menuEditExtract.Name = "menuEditExtract"; - this.menuEditExtract.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.E))); - this.menuEditExtract.Size = new System.Drawing.Size(181, 22); + this.menuEditExtract.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Alt) + | System.Windows.Forms.Keys.E))); + this.menuEditExtract.Size = new System.Drawing.Size(180, 22); this.menuEditExtract.Text = "&Extract"; this.menuEditExtract.Click += new System.EventHandler(this.MenuItemClicked); // + // menuEditConvert + // + this.menuEditConvert.Enabled = false; + this.menuEditConvert.Image = global::PrusaSL1Viewer.Properties.Resources.Convert_16x16; + this.menuEditConvert.Name = "menuEditConvert"; + this.menuEditConvert.Size = new System.Drawing.Size(180, 22); + this.menuEditConvert.Text = "&Convert To"; + // // helpToolStripMenuItem // this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -204,7 +213,7 @@ this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.RowCount = 1; this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 737F)); this.tableLayoutPanel1.Size = new System.Drawing.Size(1631, 737); this.tableLayoutPanel1.TabIndex = 5; // @@ -351,15 +360,6 @@ this.pbLayers.Step = 1; this.pbLayers.TabIndex = 6; // - // menuEditConvert - // - this.menuEditConvert.Name = "menuEditConvert"; - this.menuEditConvert.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Alt) - | System.Windows.Forms.Keys.C))); - this.menuEditConvert.Size = new System.Drawing.Size(181, 22); - this.menuEditConvert.Text = "&Convert"; - this.menuEditConvert.Click += new System.EventHandler(this.MenuItemClicked); - // // FrmMain // this.AllowDrop = true; diff --git a/PrusaSL1Viewer/FrmMain.cs b/PrusaSL1Viewer/FrmMain.cs index 0b7d3de..86c6625 100644 --- a/PrusaSL1Viewer/FrmMain.cs +++ b/PrusaSL1Viewer/FrmMain.cs @@ -7,7 +7,6 @@ */ using System; using System.Diagnostics; -using System.Drawing; using System.IO; using System.IO.Compression; using System.Reflection; @@ -25,11 +24,24 @@ namespace PrusaSL1Viewer InitializeComponent(); Text = $"{FrmAbout.AssemblyTitle} Version: {FrmAbout.AssemblyVersion}"; + foreach (var type in Helpers.AvaliableFileFormats) + { + if(type == typeof(SL1File)) continue; + ToolStripMenuItem menuItem = new ToolStripMenuItem(type.Name.Replace("File", string.Empty)) + { + Tag = type, + Image = Properties.Resources.layers_16x16 + }; + menuItem.Click += ConvertToItemOnClick; + menuEditConvert.DropDownItems.Add(menuItem); + } + DragEnter += (s, e) => { if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy; }; DragDrop += (s, e) => { ProcessFile((string[])e.Data.GetData(DataFormats.FileDrop)); }; ProcessFile(Environment.GetCommandLineArgs()); } + #endregion #region Events @@ -38,8 +50,6 @@ namespace PrusaSL1Viewer ShowLayer((uint)(sbLayers.Maximum - sbLayers.Value)); } - - private void MenuItemClicked(object sender, EventArgs e) { if (ReferenceEquals(sender, menuFileOpen)) @@ -79,6 +89,19 @@ namespace PrusaSL1Viewer { try { + if (Directory.Exists(folder.SelectedPath)) + { + DirectoryInfo di = new DirectoryInfo(folder.SelectedPath); + + foreach (FileInfo file in di.GetFiles()) + { + file.Delete(); + } + foreach (DirectoryInfo dir in di.GetDirectories()) + { + dir.Delete(true); + } + } Program.SL1File.Archive.ExtractToDirectory(folder.SelectedPath); if (MessageBox.Show( $"Extraction was successful, browser folder to see it contents.\n{folder.SelectedPath}\nPress 'Yes' if you want open the target folder, otherwise select 'No' to continue.", @@ -98,27 +121,6 @@ namespace PrusaSL1Viewer return; } - if (ReferenceEquals(sender, menuEditConvert)) - { - using (SaveFileDialog dialog = new SaveFileDialog()) - { - dialog.FileName = Path.GetFileNameWithoutExtension(Program.SL1File.FileFullPath); - using (CbddlpFile file = new CbddlpFile()) - { - dialog.Filter = file.GetFileFilter(); - } - - - if (dialog.ShowDialog() == DialogResult.OK) - { - Program.SL1File.Convert(typeof(CbddlpFile), dialog.FileName); - } - - } - - return; - } - if (ReferenceEquals(sender, menuAboutAbout)) { Program.FrmAbout.ShowDialog(); @@ -138,6 +140,29 @@ namespace PrusaSL1Viewer return; } } + + private void ConvertToItemOnClick(object sender, EventArgs e) + { + ToolStripMenuItem menuItem = (ToolStripMenuItem)sender; + Type type = (Type)menuItem.Tag; + using (SaveFileDialog dialog = new SaveFileDialog()) + { + dialog.FileName = Path.GetFileNameWithoutExtension(Program.SL1File.FileFullPath); + + using (FileFormat instance = (FileFormat)Activator.CreateInstance(type)) + //using (CbddlpFile file = new CbddlpFile()) + { + dialog.Filter = instance.GetFileFilter(); + } + + + if (dialog.ShowDialog() == DialogResult.OK) + { + Program.SL1File.Convert(type, dialog.FileName); + } + + } + } #endregion #region Methods @@ -178,7 +203,10 @@ namespace PrusaSL1Viewer sbLayers.Maximum = (int)Program.SL1File.GetLayerCount-1; sbLayers.Value = sbLayers.Maximum; - sbLayers.Enabled = menuEdit.Enabled = menuEditExtract.Enabled = true; + sbLayers.Enabled = + menuEdit.Enabled = + menuEditExtract.Enabled = + menuEditConvert.Enabled = true; lvProperties.BeginUpdate(); lvProperties.Items.Clear(); @@ -238,7 +266,5 @@ namespace PrusaSL1Viewer statusBar.Items.Add(label); } #endregion - - } } diff --git a/PrusaSL1Viewer/ImageSharpExtensions.cs b/PrusaSL1Viewer/ImageSharpExtensions.cs index 4366112..fe91543 100644 --- a/PrusaSL1Viewer/ImageSharpExtensions.cs +++ b/PrusaSL1Viewer/ImageSharpExtensions.cs @@ -1,4 +1,11 @@ -using System.IO; +/* + * GNU AFFERO GENERAL PUBLIC LICENSE + * Version 3, 19 November 2007 + * Copyright (C) 2007 Free Software Foundation, Inc. + * Everyone is permitted to copy and distribute verbatim copies + * of this license document, but changing it is not allowed. + */ +using System.IO; using SixLabors.ImageSharp; using SixLabors.ImageSharp.Advanced; using SixLabors.ImageSharp.Formats.Png; diff --git a/PrusaSL1Viewer/Images/Convert-16x16.png b/PrusaSL1Viewer/Images/Convert-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..75ea56960b046640ec2a8de04aed957b8aa481da GIT binary patch literal 788 zcmV+v1MB>WP)ZP zMIuuG%JcR7cW&xS9P@(_# z+NSd`@|o&#s?_J+2MUM-@%t}t-iAJ&vHa}!6PG@qyI*g4|0EV(?p(MNr!J9aR47Rf z6LK(L3HIQ(uiYPBzYhBU|NpxW3pTlaKXdgXOtDmapbEdKUM{PMfHVsaw+v87`q|%dQyU{T zXNCJH2&gOZ2{%o;bazgRahRvM@Je8M0L!rn@G&s4v4WWYdS_qNfg7-InOn8GGM@=M z8#5@;$Zy;K#4oPs=oT9TL5}4eM(3GWS>Cd6bEz@2vx$P#fBXJtm7LYuaJT`Fj|Xq& zWMyo||h?o2t zLeT~Uua<7O=at`h`YbpWV4`;B;%w_?I6MWWhdV%<6o5h!Xc~Wh{QPTG*Nm$bGnd_Z z29HK$73a75WLI^coA>JBw<5Kz SryiyN0000C>^&P!y-TSTYzjiGPs)|(Y+WQ@z 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

QZ*;oVd+nczoy78O%_#2P+LASYkhPzr>@~ zO+(1WubX)>71>aspZh{Wx!Xplqg$}gu64A|17-b@ynbsl^xgW$Nda*yC4Z;lv;VwI z6wy~L11^v!IfHdwPD2X{lq&la(dYW)f0VlU3u+h52MhY=uapxm^)h9RT&%dPt-U%# zEY+a&7c=igM66`o>kieV@aO+B{}jzT!Dgg zD*i5nqx@I+UK{|AYzuogE(`)l{MHXF2DgE73$AL20`rtvnz3HZ{TTkO+9qYN+T)@9 z{^42+rS8-scX)dRMT%qLA-obC$_bL(E?+rAPbJUnGWe2H`AwM)d z_|%u3;x$%zTzh^F=fA6b3A2O&!)0<_WMH|ld$yIrF=)#ns4FgK@UwGC5pzjbzS zhhSp7GJQz@f!hT*0&u>8^uVNuBsUwr3VoN_nY+O?ELF>#HYZ)H)}-D2y?vun!7WF7 z)!TtUvMWFgiO)dlP3*5B7J4`2P8YZj)>{4GUXsoKexr%ze*~7bYow}7zpeExA_Z5T zoXyS)mbCrwAPu?y03h%cDL9nd+s_GGOPw<4KHvcJ7+s|hQ()vK9Hqc&}RYjom}AuC$k#+UF+ zu*v1UPjLa#kc_oFdPu}(b}V+HP2j@074eZT%yT1P|CRiYJ?l81w&abcrFh5)&cbX8 zJ5eSs!1-i@5zz9v`z})4t7c(lV8q7(705ZH`{uzUW6GS5Ny*OIn`0XrV(o8O%*uw2 zwBr^&&?ZSv-GnaVE{|wbrWPkNZwyswZzEE2>=$m=R26Co)$}P=9X|}qW@?qw-~i&} zvoU#2?wra~B6i~MnkCemB^^TLcE061Zn2ML$;)+ysmph~+Tx8gYsER;I`J=IgBUd@ zxdN%c!{5#1<6apcoaiu$mG3zk_2PB}7K+~)9g{urt%h!z8+R09_ zfW9h(?Pv;!jD-{RZRK;g4E0AMGrx%2;K@=d9^8ySp5&hKZY=B#9?N7_>3%g{*rIE@ zuC90W{?rA(&e`1iVNP|qW5_lX(@jlZ$K-{|sgjuhV@bhnlf}FDHbyDYBQ;(Zx9%dg z+GS9f%BZ2CjDlCHupmYa;h)Ax~vv@HVc~Zt5KYR|q z)93{nw=q4lv3!%!vEy3o21_MdoT1)lieC@Hr%eR#Y%EAG^qs}w{sy0 zT&0j^Ocg;6g4-fUJ;QFTk{DLMT^}-QW!S`_hZ@*bFc*goemb2$1rm-Uv;6IvvBZHr zY4OkZEBeSxtIggPe?E-zHxii>(gIhg4ffXq)r3#n& z2HHi%vYRZB{Ln?qtkf~{Su;r|_X`WlYGLByF1Ye*LOy6ov+A{izzGUJ*)IU_IpnH} zqTarG=VnQ>R<9R2vv<*3hoM{H*(V%D(%_%CID4|-BB|??WVb4Rc(B|Q{y%&_@|Nsr z|Hr4AQhjNFser{WFdtjxA6DTB(4kwr48`|uCs%V+mV0R;xO1Zb=i%WE=?CJ3N`n-v zPh$27`$dWSpAB;(;ysI7vGZB?Wy=r`HXMPim8qIKXpwzx+|tEaj_2-qepRW-FNz8# zU7+hxUJ?%CgLP>6k>$);A?cohGLN|%tK0l6 zl8}PK7d|3H2x4_kwgyr3-yQGGK>f9Ru^Le!?M`(vWaHB|@8^vSSy-$5l+xr4S*5uJ z^L$m&D4BxAkulrZ2&19>9K&y~t?~22_-@C)hnq}#dztnj?Cx&Jd7=laVbxi7@oVyP zL4p3@@`&?@z>2g9NzByUg)A<_o4jHgF5t0D?FM#gbH!{JmwOk>Y4O|uUD015d;sYF zVZO;pnDdX`p2P7`q`nif6|GL1OxO(#jNFu;0t-pze|hbXpGyP2nfB?aTXW^`=CYB> zmu4b}YPJhmhk#ab2tIAWKFg6ENfni~)mQOFe-J9gnOu^$8D?`q&c&pTZ2Y38S%o_D zl!%i|mQWaqpn@vjX7l(cGroykGG6L54A?}Z6?#w!dwg;z zAl}D439L9=p!8hZsiPfMI2t)qsfv4Ew?6Qe^(s1T#zXyLTBMtd4>Zpz{;H49BFtjl-w4dmi(g*jF#wY*>Q2gd2rneS(aXcgcW`pDK_~66x|RZ zJSbi>`RqkG(e!hw}U5hi_6^ zNfNSEK2Z@#_O%5S(k8NvNRnleeVG|8lD$&dsT5_6vSb+&GnFl5Hzo#y!5GWTFxzua zyFPrMKc4G)e%J51KK`hy-1oW9d7t+pF7bxf4y!QZq3_Jb#<<=B+j zq-IQO(4PB&3Ls;sGavywAA|n*NePOBB$J+7M2#i;VVqqvZK%vcW+(leV$aPgP#iq4 z&G#BrR!acsUV*Vb&JGUKgvmXLv?3m#Ew8zPMi-s(Ukyx30=Gcl^W}4oJa?UK>p|N7 zfCs!ElLlsu0v8mMOZc!)j9D<+p^m1}^z}g2YO)P1{)3^M|liLC)~EVjjs1Q_DVtnFw|Qose;0H)#eW ziUTP%TkDx~pG~sPdkqZDa>%gTEB`$WOMBz5-=U4s!F1E{EOq%N}}$v{Kf( z+246li`3uT=toGxnxvf7!(&^^-JDi>oBG%_S~?<|U-QR6e9XGaBNt>EpuhngNzumIoCP)SlO3$k9gZA?NQE#q#1+Fb+x8Ypd%c91)js@a5 zEfwc@q_#&L4f2uW>)E}mezM7^viRqO#*IxU9|KpDP+AKqQ7HSYD35MZ^#NmR64M{*SR-e;^2nqvQqXIUE(awbDL0nftA#`kUm9qc$RyHl>v2|jeoOuQ z=8AfmFTg(SJ1M<~03oBefGEGif2wJLeW0A2C+D2-QNEIs*+ssNq{%aN?yso2*5FU@ zKH^1)DB7Fcg45zWwi+;jPao+pp)3fqO0*X=;DZyHjB5|iF|bZVmX|4aN5fkYn@GfI z2^MaGpLPDL$|J)2_Z{UdiU5N?R&PU8!OcP1zMS{7Zck}b^mnaH3ruNeb z;}6vl6x{=icSEbIedh2JSo}oEbcnLH_D5Es)1Jh+M?Bu*aH9=0uy5jlJWGq~*1^M- zK1Ruqqz?CkI=M+HQwc|6X1`=em$hF352;bLrhPi_sA%HzFKEg|N87Cu|5hFGW-mCl zy^9H04ct_GON>*z^&5p{YyJ)#L#41{3gP%=a$;*4TtA}`UCFmk4G_&J=z@-ZZSy@Q z&5i<6j?c%u#3{kNAEKmLu(9xk{zLRRG4*0xus9LZdPJ-6xjreagxSH{?KgIt!cu*@ z!Gpi)!u^!_{orc6n(;LX5@^~*Yr~_)1YNGalMKK%rNxxyT(I`+6BUZlo%G9I`Z+@ z$GkbR-C@oa~$Ha~O&_fD1L7{n#Y!bq&AAm_V{HspaqX93W@Oi+xUv zHf}F*A4)jjjJ)(u@CE)9hJ{yOzh_e3sfoh4TnU&-^dm~IYQsibt2*m3jxpq!{tEwX6kj zd(O^%l1rXgP_ivdoh3S&_$rCJH2P3WkSGdiCFS@;L+z?b$ysf|jVJE{`@oz9Nb`-H zpb=w(%GrAC78v7!{VLucQ-XFSWDPdqx9a^-)V&bDGKh5a3aYNmlX(t*diFLLTEv%} zB=A~|(2J^a`OX*wgeN5Cj`>@LP$~z~4h#C^O^N~j=mYqMo7OsL5s7@uD;3R8Mdoxy zYF{3so$xz|O(uLQ7|=1MQw*Xh%#UB43~CJDxXHsQ+J{13Z|StH)IO@(M%w4zBv!XUkVXL>nxhryo30$?untA)TH&`&VG zmj-2Jw&LYS#y?tHv_gRqVHLwH@1)OaL?yw-4#Ee#Ap?Wag?>5QN^~b)~+e zCEBnnb}i(RJrxVMmyIyFFRYi8lo6t%m(1C>BYRzGGjFz9mZhl>H>!7g7BXKTvDBnX z5tM-Bj6h^xuVvPZVAE&~#TmRhQH5!fH`Axk#-Lv!GEl~?Eqe_-hX+mW|B#Co%9 z&)g@IPAR+RKB}lN=4NVVp&of-;=Q3Y-4%X10aiM&0*iI&v+l|7tyGBR9bgpV*C*|h zu1>txU@?<+B4ws=^h=Y!2b^fXD{&gUnaul$W1g2pfRR{^+1b~uGdXcu2XVvT@m4~) zGmI3$lT8!@a#?Ed*q=x#M7bIQZEAEajUm?3EQ+m zowNKav{S!1D8H%@zm-}JXB3SGo(Jwca#`avk*Qe_pNvX$@Gd~HNCMe{bjzMv= zz6(T>H z!pE3Djw^kh6?j9+II&-h@{y^aM1x*5{E$YB{oae_SFxpIPT=rHt!*9ExBX6q z0&lr7?G@=IQS;lA1CpFaz+(hIy<3ipCmy!D(2gZS{7$z9FdkeBmeL`YA~o8cn$tNj z@N*jHj7++vS&Ju_yLRg#aPZi*YQSLMit%F<<}ln7T=6di+Ww5=&WN(^dHTfVvP=&a z^EsA6?6`i@V2(JSb%ij}JLu}t0!fu^zlf!L_y%G6RSUQkZghBcHTU2l^>-izf{t(n zvCkv?!llJ48rNwvjFmRHT4SeUHSH#@s27?@>`l#Ci|xQmERx^qoflSo8>t8^wgiGS zz~2}}+SCg!9HN_b{$>}hDb_e<&D~25un|_Jl)^bT^6}HdQpML|2o1(#{&l4f&${Kl zv?3bYB?aHRAhAmS_W90^3lGH(>gsLgyQpwy2iMA#M>cQVe10Y0MgEN&Z^O)Qcg3fq zOkyjs#bqHWDT<1C&(ukZW)n@#H1)n8cE$~_hKFUtE4>Eb#d018IN@C;+3rZKj;Mr?&@f(=(;?sFPby7z9NXHpplw7j2h}XO%Ad#y0pi zhZr%K*M7h=+x7gz{QSMb$|?5U@CVx9zIyQi=fLrInSg29iy&A_H&SIBb2u>6{egu=O(L1#}7~ih}ugbfv*n{8~zSmgL1x+k=FN z-W#ubrhbe9ChRSh+ew$lyyq~Q?qllSu2@a*`4{29D|L=-x_&vtXHSWl-ynU@e^4Wx zFg)eDV};y>qdsvTV3!B&5Z$HuQF<{&;IpBocygiE447beEXP?jmLLukjTh09syA}m z76`x$l-M0%cY!Vldld&TzBlh|mb~*ZtmwAjlcRl7{)htB1I2dtky-K_?10)>Z)4QQ z@*k5a1>9wS^ug2k{L9BLEBf=r3>vz85#Ajbt3;x`5Fr=#;?+=KDn=J{7TTU~ z0XSdzf#W{j48Hwx6L9}Vru&gSr;hO3CpL#y{R6S@VvY0STE7tYWA&1i+9!y<<2*m6 zaROL)>`YWFAS z4zl&<1CR>eIJe;K(H(`WcRXjmoS>`qNt6}iUjCe_b)bBZ3yU%-z4$-u^K zY=Qqd;p)L-Y9&s4jqeyM7jFpO_bfezc5Mu+m$Ng&9xjXP*T@6i^IsgL4GyBa8+`lp zPTs_pQu!r9p%Aw1FyL-VM`NqVYxw$YjHDMD zc?X{MriI$s&RnC3U)ifBHiN|P0@v`3K+XtKK0xj`H)yR2_pNK{7R_uqmh4NKX1o_ zq>CTP-%3#4Tvyc-D0r|GoX=7u+uw{5NqHvZ<$2ge@ml-~g{@8An^(Mh>^84`tv*JE z4_izzy^Z6oWT+;Zf(SE>bw z5(A9(eswwo?Bcp{5UI0`ce#--^9wxjw3NMnyuS70>XW)$H%l2b&TGqZ#5T@svlv`T zsA$YynA>)~@*K-b$!*K7P?n$XnP&v__m4kbR%u8N^cUmK7iZyP4*0T1N09?Jt()bCZ`^czQCY0Z40?w zPWa??mC*?xr~eX4btlayVUGu0jn}~=8U|&`c!d(_^V&hb)Z$srs&lu_Y#srOZi9dj zj^CYHaqYBhzXf~{GS1DkcMF_udj@=lubKk|>ziEe<_gl=&Qo>K*?LpSh(_iya2J1y z^fRZT&97D;FUsA`aW_9f)Ls~BA0v;}0lRm7*LF%;fJ?G_)~*_kkz47hD^LEh)Kbid ztyIX>=WF=x0++9W$E7~z^UnWN1)x2%W(r>31g`Kd``jp~CtDhdHrG89&-Ya4+QeZD zx-61vliPJTe{t$b8-m8mk+Mv1w!f!m`EZTHksy1>EnR+SHqO~)dMGZ0{)c*EE8=bI zz&}9s^i0Gw^dk7MWsNSs3Gm@^l+Q2n{cZJ2PpPa7+M9gm2G_ywk9sZtXoERtd?=4q zSl<~;o?6$1ySpwAtO0}@-20NH?0KGefV2IfF&=Aj{9f(-n|t--(zy&}qxl+N z68%Rz-q*M%c2pDX>$6+2549TxPMd9 ze+)_PM$E@k4ziKQn4&$Hv@vs$V$VMm%AeHx$03HVY`uK)T9VYB?zjv20FD+>g^~6tzR2;)Nw)}ys=bH+%HXKAtb8x>2pdj5%rR` zSxa0h_RlRmKgMBO*RBoP?ibYx7%{FOHpKj!|F8xaOuCKyAg;qx260PaZX+J z;i}gIA%+Xx=u51yRP@6PaiN*8_8#X`NejVECV7c9V8f#bU>?Am?cjX(f}fq?S*X^^&xT#hy+dn+oGm$Veumtw!(-)nMAUtd&;7%7 zS}lFPmeA&SupW!AQXQO18<;xG8wT4Vx63?)ZTWur!J? zu!7F9+5$SIgSdR`lt-hEEOP2S1eIkNTiYT?jF1;EowtRiwj#w$%8{~ePcgRCG$9WZ#$wyn#7lS#}_$l;KPYJ-j8#Ja*BPts+!z2{EW{VgKAZgt0fY zcco7cfK&FxYqfx}#}6aqS{F5yPpIuqM z{g%*KgIyObl`Xpzl%xFIU3^0J;9N9Ye_Kw^#v7`G;}SLNoI`j%kA#~xVZ>O>(f9Uw z)pG_GLK0=;PkiUQQfu1qDVw>8ih;uwEAuJM_}YeW?$#=%1EqF8{B|SRr|LZE{Z80K zPb_Qpsrgw?)Vmdp5s45d0XU5GiC3GS1}({(vq5Z@rxb}-$k~*!2=3k619xHjQoLjc{R=JLL>~_K>63*0{#Jdo=4qKBI=QWfyK8r?RZjdDh9ESk5-SG z=&yx0Tj7$yp83C7^!1jSgQ?}p;+EQ;78T?c5kmyrJ_*swk*H<}sk@;%RT4Assv>MM zQGz=KW>DTfN$R_!(Wvb^LT2D*MIbJz82NL(5`yAIqYgp5sssbl6@q(3Q?1Vl3~_=+ zW?k%^I+VpEM4ReV?ufz$;LwFPY9x`fy0XyZHLvhpRPt_GRB5Ue+noOlUXxtq!ghsi zE82W=P~12|Wz(jI2YSp=9dX0<LOx-1}nkM;RQI&%OV8YNcY|WlTP^mfANeSzUFHM@@dxy4`7ib3UMuqI>jci;KOOB`zUWT~e2(|9TC_%x|VSfWFa5`_NQts^h27zTW1g zkL_r5@fNHoUNqn5-NO4VHPtJk?%12CDK^fx43Tm~;F~F$bQjqPCoQ-ueE__-NDMdO zWoI@2<*QPN8FL&vFm*4MLwm5dB)}3{Di zXtgmUi4|k6Jf+E~n+%^3jMOB2-A)P)cvRT5-rQ|8`ngXsKewB&rW*LcU-})BdqqeR z2n^thI*^+0U@pe@nDKNTwZ9Qn*ab57cQ@lMs+&?n?QZH54Fk+jHw7i;$U6fl+S}y< zE_Z!~5$qeBn^1>+Fq_RF%pp~ZVn*%9RJsNI4NSSRnd2)x&S!8Z>FcL<+_~DrvFo+) z^!K=Gn%NOn6?o}=4_?1EAY?;t2V8fyvhaXSAamY#@-1E&tm~6TDB3bW{ewSD+^DzR zntSGr5ql*gRXE>34y3B>{q4*hjoGV74)ZOCl_HURv2E6%QkcDG-Ze&RuiWYb@pKti zoIZ`*8Z9ik;C}noj>8n(RP9-jsm^@| zK|YNw>L4N*QPkdpl1)5Eix&~^gzN>8!HebBJErUcX9mriQWYA1y3hPT%Vq9lexJf7 z@Qf^78WM4{r??V!tgp}nE*aJ1{KbBitmbHf?6dcxx2~zRzPRS8k1jCFR}Kf8bh(Im4Z!_qNu(;U*>{I zONq4he41fBh!%7o4%KZ7Dk|Xui}BLeN6X-Ncq|-i~QMUje#c}3r`WX zE8Ls=6W44K6y=ZAd}BAI6aWcNg)<^lec!$C8YW5@z$O#j>k1uf4@yF%WfoC*4N&L0 z!u_aXn;5Hbi#(#4-M zGgBCg6d;W}%&5_p6fa{*L+{{MnUDk-TF{yp3T7*o^-ha4^%}I=2op`8CSKextbqr01>4ik?<)!?mkRHhalRXg5^`e`g-(|W6%R{ zRXTWjyCn>X%p1Ty`@dFEjNEW*dxNPD5ckO(I_l8_$#SRT9b~a_hVrhY|K zAR|Biv^Q>7H_y|%!y*KxhW|0A>^k@*8r09SJH5!>0yUj%8OY>fk?az7H@ zWrlm|p)DZ&z_;?*pGjBGviwzN)mHJp?>V&o{_Xt9vYef53b_mM6LoF#;zuD5aW$$c zslQy^#Yy3f0{7D0)&b~gKd~&&to`V4oa6?OEK3Dz7w#%b-Fup^AB5Qi6m3DvV6GUV zBXB#!mU+D2wK49<71XBM=cT;sfa`9*#SIwx!{6PgT=e$C(IaP*UDZfjL6(qlsO~4O zpB7-_qCk_=OGf0%n%85ec19TbCH}85U$mM_=CtqlvbAh~kJj9T48T=-Zy5qSK7m^U zgb2QC?{snM!M`#_7eKpWgT5>i0CJ6;HlV9qpDr%pc9v2(gH9uCHAR< zpJ_K;F)4MxW$#lt{XO0IamgXq(YQjfCu%>wV%@r;>e18H+>iOgkZB3*h6+FPsgHR$ zbuXurL=&UbM%a-&JB9%h&?Eb+bomc3rYphJ;;$4cr&nAA@Tze2eOtnqrns2L=kwq% zza^T3fmeE5t36x5Own$-+m)^0KtHp+*GpB`ZS!nDB6<`2g6z*P90xjgaB`_{4_0Jt zUq)#8Xhkk6&ss1w>e!dxqn!V>*yfW^p9#+Q~%!>X>ik}Pt zo6qkjn#~^BBeg*Fkk!Ti$d#0y1slvNvm5#S%%AVGQ9~i#hfjs3Cr03!+=1lZuG*rM z>_(yJk6|neLut;c_8o9L&7z{pNFUZF;7}jeFNR!{UgpFpoaeC37^q}Fp8aVOit9pi z1>IHov0$(`vM5Vhw zYnK|rj@FkVJGLJ@Lh>h=mB1 zi#;u>Z2}()ABFlRtCRB!@>~(O5B!k{`!hMrg|e4@awg+_8tI7b)0d%V%#w=VDr6Go zLt^(%th0yhr3vm!SdKcHnYT|EuSq%*)NtA{3EZsZ60;y*fWY7__s)43=_jegbJ!Yw zLa+KPy4*@gd-&B|<=nQyT`~qT^7Sv+hdgRWUg!*k) zG*87{%@X&z?U&znJ;r%dIxX`d4=XNml%P^hlde5r+H}y`UY-k>%qKVB9T+k5%|+ z53Zn)axvoi2~Y_v$wEet^0{n{qk!5ALy?XmW`5ZU9M_hU*|_!g8>%eoju=>TR)wDF zD2eqG$8ijThe3bDjDIat7?il8h#|(B#v&I@`#y`XBH{@Cz$)EIu4P0#=E*3y;cb*% z+C2rNRY5tm%Bw(ka+$p=IH1LuJoQvtSLaV9ts`1_25zdsvwk~-5OxKF{du@>587e9?8bq z;=+Yy!Z3Jc!eRw=LFV+O69qG{gG}FEH+R4Sv%bLxXe|KhaW!lUKrSJ4X$YHTC<+u21aH1z)-ND&8|Qz z6;QMmnSvlv*J-PVhje!W<2?4Ez{HC0iXQ~4r9!&P&KI-Bx)A|l#G=2t=nyrsYn;GsjB`B`o~8>)G9r;U3u4xU+`rdxaVWP zlfR4Ew==1L;|$NcmW$j$mi`r?eJQ5eSwgPkTtT{G%gxrZ^`p6Kfzc(voLnen*Aq45 zv9<*T=5xQWfhXUygNteVc|r=jMC0YOzZcq;v+Cpjn$C!Kj4Ud8_$EGqT{IQRI? z&Ik*B_#%z9tgw zkQBi;_&YVQm?Tw?Gw-#VKNAAh){W)Ab%nfvp-WSRWd5uNE?Q_%q(H5iSFkAg|Mj3arNbAbh#4GRi%{ZDVQ!IjQ^>^&0wS3vT7FTIt_uX=Ie%c^e1bT~+K=k?nzUero6C|fF0gSHb(y^8G1#42aLL&iE^xcH+|9pvTykFvZAp&{sri; zdG3F)m5ASTb11DIXHYUOY@J8Xn(qXAB)5};)zSX5&Rx-u{g#`_?vF~~ zJ?8CA(!HOWj-dQvgoQcT!o8%6aJ2Ra8j-WJ7C4!$C*VL)pa~pUPF-x<$uGvCyxl)@ zK{(iAw6nMK1WKqoZyVb$_>p{AtlA$KT?9HGe0}-JakJC&C-rgdT93R$Wytcs0@%N! zE#2d#+X0u+Bl}P_apR9)H`>=|uUgi(IofdKNRaV{qd zw3dH{5^g+NdvR3|Kj_hJL9bpm2HOUTPs$NvBQRJ?Go>_zf&pf@{mO3+$x>?TZs|Qz zjCrUOXkBp2V0tzJQsAusLd)?Zuup+2sLFRa9TOC)@Ms@2`yJ+pUJ$45ui*S|>ixft za%N|}2-L;Qhiez}X5(^#3-Cjo-EFM%t*!YUQ+X4X)75}cR70&FKOd-Axi+&7f+vrc z){jBukx?8WD=Hf>JO_T)ZWlW`0B~7~V;NNmd^TE!y*Pl!@m$LoUqDxJIbs4qm)K4z z8`k)@Y6F0VKQdm6yf*+ySWZO)z=4=$l-GX?Tci;F+p)#b!+)&!pN#!~RUUGMz}2zq z;8kp`dC|fUe=ghVH%Lbd3#^(RR?qm)p!p9qWw;Y?(NoRY<=AuGoh!~LXXC4pfR~}5 zF8ztS3gpm7drkWhTad&^LQ5}ri*@@hr)vQ0M z1RADk_ICULjDSsY{xnSgEo_m{{QtRQ53bH7x(}M1LkH_vis3P@HN9mlLUP$h^nZfR z7O~8;81D)vy`(_=C*vevTA1qeBL@Y1_W;_sG%L0?IB(9t`8;VlGtTS{k2Sk9C1(COx&IgV&iw7oE7VOSL5!nP0-|;H`^8BYNZt#l^vO@5RoRvWxa?!65Z{@`O z3w^3eOGcSP`7sFPOlUsDA zuoaR_F&NC9P*KbGRZb-@s^=UT{h`e=T7pSgFm=Y=g7W56J_oLTMMmpXXtx&;C!(dr zA$(<#<*C{KV-xRjd|jzh(Zxfzh$Uf$H0lQId9x#>16HM#)>c{x&v3g*FsKai@yH?P z4zzW2URWBpcx9bZP8}5~9DvD}f|sVxb>2aO-ybBp&`TzuRsud7FxX0@Je)pb>fX6w zMRX;(p>raj4mXloE}&yGeJ&K3YEY#&_nCJgGjvj5{toqfeN(^XD3)Pw*VO>`BQF9C zm(#~Vz-q6XrQhWnl3HKPJnUGjC`7l9jYN{vCuP-t!#oj}o zE2s`)BNl=!k`liHNl~@ylF7o^k{})bTPJ`rX@PH`cH%1X)04aB&^LMIqQ&%c6p7?E zQnFwGZYYH*RJxV;!r>x7y%b3ALSDDr(Vpik6D21y8MzuTL$>o%vfWsY*?}-)Q9tW< z3m3s${c_sN6+C-!74xaYeOHNP#YL}iuer|?pyp~tywyI(>+RQ!?U2ZmBSZ$IT8fxy z6{t5dM-!;W%0xwl0lDzkHd_OAn_86IuXfd~jb06O2ZX^9;*xCzBMS5ZLD-vu`NCN*0{j>$}qmN~EkuwvT* zl_^aFopzC%(o*BmwI+EHS|LqFN86Wm1UyfJxTWZ_cGNo9M2nn_b@_g8Cgb3x>)Z(LA0^I2$USS#2Cpj?}a0ozT}Sr`2>)K+rd-%UtJwF%e31Ip%c*% z&HNq1cYxRbTUPMcHzb&bRk3W;{CN{iE%Q#jY+@vW)t`8nQYoCFqvN}(im9YU>N-XG znyX_jrgL7A`U=Eh%k*kchL~jgv^@FAa)jUb{(=0PgmPi-UgUnV1oFt$Q$XjniD^~V z5K?HIpN6|HY^?zrw}FNtrg?LZ1c5uC?A`M`c{kSRbf;5|Js#7_f7sY2 z+p<*z8*tGp$qPG1MZK;deOkD)Gml*Jeq#02vw*5CP2^l{PF6Rst9)H-PB;O9RBx<6 zcv+FpnrOays?(lpE`o;c1zg^`=>;+(pQwQ9M`ylky3=ovaS^P3EXVVa>w$H#Os4N# zVWImZFE%1RO#%V(;?T>v{A(9?slF*^eo9cCd}K;WBgatCO%mOzfJ+zi_Cr!m$HHy7 z{<6`6>B!=N5ken4XB`{X)j1iEH8A{+u%Xz#R%6mqTqDXNMDu@WeQT%%pEUOEHGXMK z{*EY6-^9@-o+sW$q>X#meNtuJD;~IAt3_f+chsmA%ZHygG zBH_R?@j|TBsvyT?uXEXuO5{YnVw0>@MhvJjmJAXSwgB*9#Z;#dgqD_8z8j{Lj6f{3 zrpj3rpIP>m%|KBjxnnKUq8}@*O$t?=c+=X=!u0g?yjTsMw^}mrdA=Kz_bHJm7WmH8 zL`Eun;r8mOm{j_pe)K4KEOp7SCsv9pD0SgWM)!4y%&hZDL>dtqjCfB`+0L#RFX`fs zdIGBZCpB;pifcQZgoW3*IaPcFJ@F-@w3d&+tFa-NfsItjh|%>JP;{4`cnrtaRudfz zICDpeOljqZc*m5kC?M5uIKG-D4W`8xW7~f4?NfpI!Z&uv9eVxPqk7R@U^%_J>HMs} zgBWbK*;S9?`jLc|z@GEOUIeZ3QY&#NJXG=YMV?#^Ufv&*1m-Q53QzYJdHZ2YBPd2e z>?Ze14r4Ui#kyT6x5jFA;VqcrT>6=FK<8=j_gDM@)wwFg<(EFzy zO{U8t(|-8w4ux_}mYXNqjscyTax2y!IM^!B>S6o%KOtQ|VuL+W`#HypsCheoV$mYx zwN6tpUk-q#{I67iP!>x8qjTQS=neh01{TI)j0nGBYYR}phj>j7nSdR&J{!&Ek><=TCn?ZUsA{y#6(5rTPtA_pL1YpJ`)v2KmoA|K}qCod3zf|4~_} zZ_>cdH&P2Bv_k3}gf-_&DZ^s;aypo85JsCXTBGk2Rh$Fp1TzMJ=igq=aGF3bgA8SP z(@7F6cX};^u16n&FdgW{EHYMoppx0a+KM1MBDNrA4G^0vNg|caQJcd16agR+On&{# zEw9onCs-51SX2p?J$(YpbfwSeusr%D)YSWLO3-cT6c!VUqri!j0Wpkx~IzTAv_$$4*h>0l*h*g9fmV9xV#HTED2@>;n%NLr^-5RviK6 z!L*M|kP#G^UwN6^`bbeeo8ig;unP2s{$>038RsaDFxY$CFQIsP3XfpoCk%xIVaq>{ zSja$hYsc6$ODKlbcY2p~`jN%+2}$!ewM!qnde@1s3mF$EYjEuf_?!}eo(z~&ylhj4 zRLF2(!X?KgG{(!Fjgpmfro2?}Q06dnpcp|bUZ*1h05_MUdkV<=kVr}e5k`8#3wtpY zEv!dYn=Mgg(6a`z^8%q&8%SMweL|^av*|^zE6EI1T0tUiCKj_PwUW;5-Z-Qa;lX5t zkb-60BIN@a2JVv`&~T4RcgrM7WDl-fhImKb25jJ2Hb95=2|(z>826fwso@jeoo~Sj zW_XPbP|ERI6NbWqFns`EPY`6NMJW5Y6fCU*8~&YP52J=f{XXGw1rnM9SR|`~qwb2w zP_ldtDV2HJrLr}>lJ34Djd-q^GNuSBGKn z1&DA5eQ-{dB2rx2TfrOk@=S&R^2B)}fBs=O#UK*lU-rjVy>GtJ2L(;|K`yTqBiYH-( z+sHj%%%J|VJZj_!D%ieCKpSgb_!RYBkt{n)r*9VFn<9}|_#Cp96{N5Q+?z-SkH&Vn z^5MRcg}#n;X_XgZSzkw0ryn$->nD8n1m=>cv55ItYK+c&40&f%xV8pJV=w~vH;uP4 zr+8WWw5P7~Zf26~G}BKcZ{Ze$U7`2*h~IIBPwQWx`_#IIyUB{Y9$AQ3cK1M;kCd0Z-UG<7Y@SHY$=9m*emLRC@jZU4OzGV-}d zEyApC-Y)4{BUnz(mDn5TV*N{PJ!YH_F9I)NQ(1D-Glh*26t?OJMwGm$Q&udBOgo_^ zEyrN;yHA*KOIAUd)Q8kBvAL1f_3B(s$&t^#E0i=x0(slT4KD-2$>KyARC2 ztV#npppp_mq99n5V8ojb&1~&hTZUy!R=aWlpIw(+nAP{4U=GL+u$WkuCDkBY6!vw6 z#2qY)ftBwSU-nybgi0oX#5SlA2u25DFFj2!$|6?XZ6c;}TBh=Ji7^0_vH?r~GDnF7 z_EPAe89UrBA$yI?q*Us_XH*ccuOFYftAWQNzo@{ZkqSw zk;jJMo73zR_4l6gXywh59=hA&9tkTm!f zd1T2mMx_z5-<6dEwYF5%2hKXe37RvY-}w^sJO!Q!T+%dFLe;9hu>JjN)*8_x4Lhdo3L8*8Brxf+qtb!LE{Q!P3Ir>8ej+eD+M{{YQJ#j0y4|w-RE!d1(=J*AXF$b97%Bj;{~mX5s_v^_(#v zUJ5xl@9Rx6BrSx2jS5t+n9q0y65_1)=m#m<^{eSbsod^sTu_46tP4+#HZvomzP6H4 z>r|3Al^M5m-RIi$S#5aUQ%MQv?Z1;XFq%TXxc^mlWGccbuNt`8UA+!>ulV-4p5B5< zK~ftdlPhRg1ptI(IJW89fYS#4v0p$6qTlCLi04(1yY+1ljOQizBtLsinRAorsA~B> z!8}@2?LLz)cdm8?zJ8*UoTN;tFL5Qw;~tqzoTsjs?ny_9 zXJCa)v=C;2aOUg{+NeHA2Jg@_h&P_QG)JOShMLg!(G{DWEm*SrKni)HWFBi03G+!{ zk`+`P^y}4zTYRr}eSMu9Ku&b8AxlaWJM@TC+kCSbtNOwmksep-lNDyg)0?7jxq&;* z6;F;KwA?gc#mCepS8ht|z6cMPd+19VO|9JvQQJKXdq!1I+uszempMaMbg#?6$Kz!# zgP5H6eC|VMoYPnh83WCN7W~Gcz}2?*?xP9;=yJcAwe^wbd)yW}8x$%zfU3@)vb0UO zm0WQkWpW~NCogtuaqqRd)!1km6GAUm~nTqWJgNKfC} z4_7THl2w%(S<`CympfjrY*Jd2-Vpv8LHCz^J8?$A@%TGNnsK~XDz*QF$|fSc@0JWV%cJ3GO$$o)l_k_>Z!JEk*14-Ju8l`suK2)!<{Q#pa0Cw^cEs>pE_%gW? zeUwn}o>DX2PP3djYE^P|ps8Tz-OjW9bY-s-N$?&*GnREc5dY#Dt|C;J8!ga8MrG2p zi`_?xzpWK=Greg>y013{U+I#Pm+dsuGxZ!10HL}iy}@sHpN}D|lDhwK9RS{e1m5TK z(|b9JYOf9w)@TTQ>w!m2YPiwUrXR$=?k;ZXa?+=v-;HXFD^C%%>^dgWYeO>XBhelsKQ|7m33VTPDP416ollr+W{rsDniZ>x8+xz1&XD7;>$~OcR`ia9MX9T4!|6{H zpdtNU=`|5uG}NgTsq;7kqF@;h1n&AE2T9x=P=g1-P=-WR$xG4Y6)@~@F(E`pQ|82c zKOujtf1O?bn_>w?S9GxZ)Fadb*&$J2(ziD<{~0VZ&0yfh$`x41O7JS9x+>?&X8-z3 z?t!GYwT|=zJ59=*YA`_ z_HhX$boH6fx6asAVszB^aZhY{eF@BUy#Mez>tWo?Sb~WD{wCgBY=j@Y8D;<0*?5L- zvTArXzNqPR_Golns>{Fkio9^%WZoaD;H^GX@&>&GFP3kha0d{_~vt)fJgdkXh zG-rN(o_{&yUXzB>B{2^@%~^euSqeoDYGN`=rWhcIE!3`#s5{B}^pWxgdQ;8brd$vK z*=J5`|LU)00@=b{gsqD(pKTC)3LVmNA0983Xk9o3n|#ZQN|?E;kJQh@#J`a-N;d2Gb9bDwAcqc#_nn)rxIpE>w*x z62*Kc1aS%Pi(#~)ClrsFU`VJ2#6s;=#X@(iB>_S@X?3l$SCw8zsdaYl(1Q}IyoF0D zC_@q`VGn)gM$1W<$^1x{J1f%|@fb7hE%wHPuqn$~B6Qs_Z^h(;x9*LMtW|yW10~m* zds2hx4kEybuH8|k3-Keuz6tFm&}0S`F5Ifw95D3RwVq^@>ZBy@|T_iR0^|%5_DJ-}r#to`UUngM6@hMXu&<9yRJ$Ro~8owAv&x zZ+)xXWETZB&3x`o`|L1Kq%{~u9V!Kz?fpN@oo856+qU1L+B7X2}n~~=%Ggl5LyT|fdt4K_de&IbMD^fetz>UdGf3^ z=Nxm6ImZ7t)?6ooz2F{i`w1HEW23^Tzlp# zQY4;8^*RXF1~rDDPI&(48?x()<&YrFug)bXHI?tBgtzxFq3TZ9G11Qz2VfKYJKDqX ztV4Ny@8mi`Ji5hEru%Ey&0#V3NL`Ucj-gz4c1o(Zf1^Yh6KHRAmTLwT`I!*Z`NjP` z&|GC5#kHBWVO+ENRgmv6Sh36@a4N8)=-Xs&XX6lpL#1~1K-QFB?J1h;F{QUBo@V*hC~XYtZx8P9IM9UO;M<6OEpSmI zp>YgMT$gYpS=r&zK7cVHkT-JR<^bH=YtuAefk4t6K88~w9@w6DQrX+}HtFb~-_%;^ zZQxPcx4;nDIadi(!f5Qi+uk5@)w)(W8e{LI17ii01PZwyO(5Ib6D(Ol! zR6NW&9sR$i(b>0jT;z;{RN@LuYa^5meX=SobxI<<>3x2B|?R`6_66}yVsd4L*9 z=)70Vm!HRX4ip5j+ELsb87uw8K!(KlrMk(AVhL-rNx??XK*Z$Fv#}u&B3*Paxa&zQT2+ z<125*K`{n)Eow1ps8wM5CO@jDY6LI;?3XWc`?0R#{>b5(P@mkO`EvmGpnf&a&Me)w z3%V+Nn(@rs(Bew>Vv9?<7(eIKJO1jkb`f|^$Emu;L#4X8bSXR1c}K~~AH#v0?ct+U zXbWU{s!dnv6iSRBrDUM{l~8wDwY3J;jfl9#YgQ?r-bfe-@NT<77tVCFfw&XmvGq>& zo0~c}WMq2)P5Ds!jNq)Q;zepNq@bdeWcHtWI&k|=YYrgEh`p)QmQX&w1*vk;(asbV zq;j8JFe$Noz^?FQST~k9DVPmbSQphpRldL6j%tjPF+pmwBEwG1S^_BzoyEh=Y+LJRQg=f;-;j|ydd zvPf_^&9LMn&vCJ!xi_xNF>V?d4U?Z&Y41JA1h-WdN87dyR_-j<5<0r)iqtB*JH=ET zM_oj^-Bm;!*oucF?PFvqd9aC95#;ula@PTQX;#|eZA~JGDvA4z`8hnV!4~Z;g$Q(- z5Ug064#6E(8R=4&Ck&GlPSR>-gq2CPi*K1$!9^B}`z<7NRp8NXt+SL}-BrYMj?3L* z@Qy9^gf>L6=8kb14kV6>F~Z?$c(6;voFxrQvi}}}mG0M0Q(wd?7%Adjw@I#DEQHM^ zbAe+hyjI+rLFVn=uFEkCES47;V$WFp5z1NrE0lYCcdk1KTzmX!IS3z$wN z>ZMq&!wy@6sG6R=Px;1|h@&|tNQim%fk}#wWj$tRZ$n3*lO;j@cGGU`m~+;yd2T0N zg35&^C6yRP9Lu4&vOP|Ar;*Tkq1!x9Y~_Qr*c1mlPX)GrTumugl&E>qfbXdXSGM5$ux2J25_W?CMa zRB1Q!{Y^P3grW0%XBuZl-O@^}<7U^An>6d8@Z2Vtm#;GKl8PTc|FQQA{!mE=_TN@@ z51w^|O|FVG?PB@+9?D1@r=?zN2i1q=o~^LMf$gyb+o!HQus%(rW6cpLrINa*tz@p% z_`r~jLut2kz5o@jsD*0JJ!y-}-2zC-%K+m<91CwE4y|Oef#})J@qvU)ZZ5&FN$I0M zsp>RKn$q$!?_89;Y+v1O`-`kPcu`~q)N^)}4;(@d2=n}>a&lL)>n)uW3qmp7lH#BU z!F(w%#1+)e^`BQMW4U}V3*9mMVD9%0>mDFYHaWW9mn?Ndxe-6>+4}*?FX|11Oy3wl z&Xw%V|KRJe$R%8)r2E+`R#o}`Its!T5tF6XKyHhUgFD{tPWZ`Rbq}zI-bRv&_MB#8q77_o zh%sxW9Za3>DjS3X3F>!^tUPMm-ns<;%h%4^*v5?Fh%s}(-mIDD1RktTEexM~`DRFC zO4+F^_OspqZMfNHNJT^I?-pD`WQ0;LyY2Y#)I*6$o`kMAPl8!PjA?>}H9qn47na<&hSlxzW$Pho=sCamE^7r*H}2AdX@`8OD==>%0s| z#tCTS7Hg8qm$-CUdd{6cgn?pk>|)XFDFIjG5hKdlZbeq)@6E`JsJxJ1Pj1UaFNB*E zwhXMyzG{Kmm>^->(jrDVe*W*xtp7O zMx0ks+{fcV4h_|79#c`9EA@FN#g@kqZVtEWcN{kl41jF~*wZBsbw=raHHSd=Xb(@O zs~3f?TX>Ecw?-655E{cX=>hjjL1SC=wLEHd8NIIV@z|=P#L`yBQ`g*|%?LUDc9Q6;t<2fp$N;yaTa5r`!5U+bnb3L6vrtzo(|BM5wQ z)C{Ue_8{eh9lk;Vc$&VCGQMTHKi1BFErym-kY_e?G|+7@jEbNiC!%=RZ~AI<-BFI| z_OQL@ueYc>3VpS9%gr}K6h+6+G4?ZUF#~@4n?UGBqy{~OLU*Eb!--FBesxm|Hn9{W zSfT*gS$M*L-`eEsSf$sUpwjfZpW_$!22Wj=*(DxSi;fm^iEkj4VAe5?>vfVk7PX$& zNA+E-IV)N}nY7t;qgg^oh`^v!W!LVS1nByB1}9;vOmI8+%i_LUc*jd};nb#;wDz{E#>ao+;7j0GhKo6-9N5fi6}$Fi**Ncf6CB zO6HjxBQy=BV<7Axwhxa}<^Gov;iHwrI+Uv&vpfWpcKd}8G{|K-AXO#Gll7qnxz%V6 z1XT8H?Rq}`D{=3 z@xG^Te{8{!?Zj~J!71~diDHt;Mu_=j&_q>1O54p8=+SR=sGO2Vh+Ys5<;=)X@NL6e z%#;``rgErQBP7>V98pmj-YY$0oY=v)jle$Z+QWAghmOee_Xev@ z;M#g?tj^~VYBZl$>g9{yaOk53SZ?;G;4Ast3&XLQP{+vH&}KhMTV6?{0&ng1YF6K6 zpfpi-wX?iv+NhD&Kcfcp9C$Eg;P*~dG{j~DAsy3h@>aA!e&9H()}8I(S8ju(%q0rQD6%Z)A=sftzQz zkn?T)ry5cdH#+n=g()Vj`q%e>XKt=Jh$S=feZ|dws3+l2CC1S@L~6z*jdlRrPUAUX zT6O15&vqSwnTwher933FzlZ%0Ok`)z6oMBX-NTas=jHP((*tG1)P*&MDZlzG9*wYu@J!CasvaZ16_HL6Hp;qzxTH`O~u4e@0>ZB^3 zd^>yPn)tgb5x3sl`aFM??S}R?e3(~Ldss`YyP`+G`;MkatKzdHb)kaG5w|i=o$WbX zS88n*ulz)J+(8CYm#(`o<63OyJ)u(Sib0tJcc!qP9IxR0eQwZ+!&hmrj%oiXT|{jgw@5MK>)YyIpBjcIHc|=` z=5I+<9iF;&<;5rUv~V7^Ab`hYoPfHU>u5X6ncLL>9dss?-M6OQP7h=5LqY3S)q5P< zrI{IUS?xH0uG#w3Z**rfoaa;ipquDn~xtpeD^Roqxjq* zci%<(MYh5K_oT&y-T~nga>+|xui=br8K1KbehP|N>UGa1XHR{%jf=koyW(j3!#FbQ zRoHRbo1=LBF0$?7PjGJ@qTzr_guPaJA&1%xp)`}sYgvdK0~$61gh||^$!lwG09R;V z0L?NzY@dyb&D{c-2d+-2-UghD$_Ed`kZF=^nCboh{G-PML+}^bz9blb`F&QvS>9cd zdcEIQJm*U5SXk3Jz#oMLV-Xx5f87k;k!Teziarid)qsA`8Ky03K-;xrVE`L3+DQDq zakbsa>!%(+V34|eeowK7TJ1s)cz1SJ1oGsMD|Y|K74?7RHr5Hn?1Li_%|W_PP5`WV zS0=}@5VQ+j89h(CZP3-<0QY}B;yS_hP!Wm)0_Q%L$uj^hU)~jw|I;oX{$mv1240x4O{d5?6DMqHfYcQ-O3!$d6LL=7z+tYM+0cGqoEC2pX z{#p#$u{$9QxU9HhvGb>~;{V+)WlYCdJ-uWNV%Pgdh8v&feuYHfK?gQxR2R8Rr4()`LjKa*Fl=Vzq{qTBfzf*BFcL;oGBUkb#>!| zUj($tI9N_s*&0Sgqw8$3T)@3ul>CAbDGO%AWWwyMeXqhkqx|mOV}O%j!&M90Tx&CO zNj1J?^yrXsNW>eDbew7WJX^IcbtRnDU^>~l;)yV3Ix{VZxb&*sV7}@(m#yr!1VuDx zytJM3kCk5jnzpXS7-<6m0E|WO+ZT3WZW&bz?^rh8?1k!v_Z^hDhNc_|cMka(6-PTiu*hJgN0h`S6&fiu%hR=P(N6W`sK;n5Lj{z64zgu!h} zw9GNq%aOCAgGD(FJH0@LUF%0a!PFPuIN{{@)Y2P#Ys<{t_>q!Ak%_HY9sD?&Cw&rr zZ@cnBF~!^?TTAcfXK4s{va^u+_(pIcd?D)8v9Q)8lxBzs{kK0B)W6v%EO9o~CF$ncycjlogoUc z@#_VsRcX2|&MVzbN2*AQNVa%!zg zXeeZ~Rb4v{Xd)B#%-M9iO+rFy3)T&9m=bG#dBC>Xph;%Pl5nKU>eS9Uf;p#e;%mmb zKly%`8`>XsT`rq&`O1~^?!U;FrXh>emb0q_eD-6gf8Ib%g?;_Veh3pXz8-UACNdL5 z-h$5-zg#Z$1{Qc~GzD>v)1rL)Zi%ATqR2$)W?KFVdQCW-%Kl}PGF4I>1J1ynx9Qx)uNnv?d>&3qO z3eRPf%*N-Vs0q_iiLaSWjL&9(`!72Gj0XFzFHLrxX583a2z8I)3{fe-cE+sk{p8#2 z&M}u(-2DO5QL48rezT4M&K2V%!|wG6x?G=kJw!#h$ii>RFRpp4_FiCeK~$MZSr0N< zwMEnLxnIH2lRABo$+J3xYcak}y;@Z1rM<19j~`=Ilh`l?Em{l^z9mXT%bN_1V|4F5 zJ`LA6jVe&ThtP+qD1J^xlwN)Y@OTHm^RSJsnSBJb!kyXdGz`SepO~m}L=p+G!LIMa zW!r*M#)Vy$N??p%aq{``!sOFt-c_~>TtaCQX3p`MEb6WPP9{S%apat|E#3i%RoQ&-R0y?T&r_6XNLdoui{h;ora znpGjy!Be;Ps*k7=_oJ?42@^(PA^7u_=L_0CWcL{X9c~*P<^;)H)JP_q@a|%T7hByI z^3)DV1yr&bd^*Bg$M9&X-5g;x;K>fqO3mRxPxLNOgR$CWE*BC? zZXj^6ia?mrT!o7i*;bmy`Kmhu(*0m+dUYzT8~6jPr`+-5F=`f%d>Zz$d*swFtO2!7h5+;9WS=cQ{5+!R0JGbAZaDw-CftvBTIamIzPBl z)J@pfi!^rhQMD=BEf|F1Kn<*K=63^)Ka{N9(tGT$VBoUpfC*Tn42;uWdFe2wlGQ^REW0gf*ca7%p8pyf})d-dGEV->tF+W>U{RU zYs?5F!0oKlyQtZ9 z#l@u|vv=sbDt}oiZ4RVXSqktbBVS%hvq-Sx=#vaZ?Wc$qj5y`w8WgVKr}ei9as?v z>J4cyX{n_e&hm%!zxPR}rucJzMzgH{ie}GAy=4XX=={+4>$7x24i@4<*A1O@s&6_v zy4coReDP*qYSxZ1cabUhp=2iarSi_xhr)nlR-;B-uA-Ii1ZZxHhmlc4Hg{<{`BETX z`l!MQL9aHs*pI2jb#Whzeo30puY~IKnWgybHB$@P(uxAYRX3g6$s6A+mxWnERBzUhG$gYHL z<;pXX7E|pDNbs83vxK{K#DWiVCRR1z4v+}eIRj~LteMh|-*TU$J(Qm7>7feaN~o4= zB&mN5RQs)gifcO5juzzd`35)3!*s35ouqt71AH}MLGkrh7xGN#!OaN8#r=)Pwn#EyqR4Rt0!^evtffOh z-yYpNWCiV;!g-488wD{yzic$=Hb~pKKQ5V3zHZl-P3xzL^H0O>G9A=`NiEA{sS)YBQJzX<$m}U&7gU9IB@QWZ7KT?Km9d2xrXJ z#sJq%EnczURVohDkb7Zwcv%*()W1_4S~wj9(zujMj(*eIzF(+(l&6YEE9>ipT6hqF z0^$76?Zu=NH`*q@f{&qaj2Eg_$(`-@gzw13R<4_11HK?i#ZBHk9-8B4+ES*fPM*2Y zF!{QxKjI6^0yIEBE~&+W*7DQ2GHW{u)+LijTP zqQEZLO~i})!bkfQM4MRfowQTO0sI*n0ak?d$t~DSFP>}ck%fopt})%+ESb^uq~h%K zYG!R~%7;>!^oi`5Ov_V-tu;^mjbR6P09uBdGbt-;g+qw(BO9wdOZ_{9FDWZe@^}ve zO}V;nhL;j|U&_gSo)$8%GPWRv6kr|2RtV%vfy3F@?wjO3O6&0`dCrP6rYkR7T{fzh z)+Ws&G}H6wYm^{<64xJ`yKRp^6p>aob6yor)Eim63ihecNz)A-sefMSmg!)E(Wl^b zrGeM`momCveXPsQKj>Eqv=DP@js4oJad6hHVIr64s&Gf@YHes%^zKlo-9su%?-APH z2MiwX-H-6YIHA*C*(*(6Z#}ZT3aE7=vB>*wSwOv)q@a*rWeDniW(k#KXf=IR5Ke`G zg{BS}T3%+y@(lA-X5skofg?zAeq1aX(Qk!O&IB4MHBkMsUeIj$?pWB{7b|xs=CV3= zkIF;L$D6LD2KG{GR9O%fi!3v0!BCdtfRtTqS7bVlplfr4hOy_{Ox)4VP;QE$y#|*o z5pbgUUJrj!{LO^rN`*9ap2_^ie)+`^3zeDxBdWaWwHzOO{aB`dI} z;>ZtOr@(K7dpm;(mj{+a`am^%tO|=AE|-w$MS9jlbH>^l?aBRU_sUD!yx$`#&YuK? zOJ(QOf|17BKQA}B=^-ZdFu**$pJS%i~(%A?^yp~iN!W?InXSVoAls{Z)Bksynm?Me4` z?V|q8n+41B5$SH1TeHQ`KQ%t%enLmk=>hU7)4x+01P@vCGX!UM2a%_^FNzgKm}rM5Q&TX&odev$Yyz!)Sw*S5(PyWIp65 zQ`adRW@(}O(_%W7g;C#@pzmu^nqWS$lMI_qeF8`FJ?)JQ!0en?m z{=mE%ooC?BBJ#wXbwQwhYW@@Hr(7{((T<&TUUuDtKTNgQ#J}Krj=$R1 zodtoBJ7WNw$92p}lc%g_cD}O#kQ?woBq6^3DXU@aVY2*sXx5toD5@#drcIna?5Dka zK#diUbWvEs<7_p1CEZ=VyxbB6*iET?oLhhSje8bh#4Ja~UnP_BPh32Um*WvT7E0os zZiiMWc}$^kS+l>B*kBKtxr25YITa%qTxDE`|MSV`+lVAI!d+6 zPsZwAZ6VVFJSEDn0q8W7{fY7a7`T9ax@KE^-Ll^50`(1;|8gePLpAfJ*bMEk(}0l> zimOQP8k0k#IA96;q`I^h%42q?CA7yyXIhx^(0|W2hq$9{u%F;REJqtc%eTg(ScTxJb|Ymeprmt+eu+RjRl80tQ)epU*wWDWBc5s|NP z_aaD)SwE-wa*RozJT^!eyJ;EvT%?TI;DqOVQ{IPS2g=REC*v67VrFf#P;1>N<3*ty zw(~`|Wk1v6Os+D7nkj?U=^^0iW7iKM)76hK!0P4F!tYGa$YE>sh^D zkA+2ZHyI3FQ>x1^+&72=x|W=wobEXOo#_Q`#(eivAxqluf`Z6Otck8GOMxU%_MMFc zyGcP|bV#A^c3yW{dP&d0{sd(GTcfU+lO4%8Jl;Fmvhc7*et2XDRvm{E?6&&aZj|R+ zOpH!u-~mK_fq7Jl!UGlppJXY4`;60rDz-id8~O$$T*}?2WcL&syEP2^kz%Vw({luq zIJ(l6b-^aouUP~w{CI_I2>H_C0P%@{5V^#V==Jh^DeBB%enqiO}kzw>SzBF_gL^14DaXQ%^iP-@eLFpgZh0)wU-KvHDGvDUU ze16x^kn9fE(AAd84-l~@pn5e3ly4khGrwI{xVroSIckMvoDRXgmWgA(1uT82S=d)t zLX2<;uRr0T5-M*`%&|#cOwMJSBsx=%nkIJY8!`Zp%&mB6{>mW*jtkw6 zV>=+NJXE9EX*5`U_3!PJ3O7JcDsBbbhp+Y}Fb2b})uGdkDsj=uET;h>9tCE-2|yAP zfOBxsWYxtxuhF`+p7$`{C<%&Uc&+5G(O_=DY2?3Lt86W&dEvr$%In^CX_JOhW#ga( zG%0vSG{&4uG#~P*0TrQZ?EN?csgb~`aBwI;IUL|wDum`WdWAzoi|mH8PPz8&Wf0&9 z;k4@sJpK6SPWj3XKENIATQk{TfEhpRq8*iE^0Zl~Q+ZqKfUkAKQ1tU+ zxuNHN{X>idLCl=_#RSuAo=`Z4i2RPO?|ZS^JfjX5&wo6{{>L71{8^EB%}E)AnxnC> z@KP=48QPz;G6b1AZ*5SNxJ_+nG71eI3k7VAX>}F@1qt1J_j7 z%}TF^)e+y#q$BS+S~S*E0?kmQsiux4j1gZoC)jHoSC0)W8hQcv+OkDB{(Ea5&yWWm zMFvAtzM9M&J*1Eb=uSePQN7U>(U#&ZDt`0CsAPx1lLOu8l&{kCy$27B1kJ}a&q{(7$rcZL%D zb{zAm(pUvpvs4phK$#ZhBwn1PnJ$j6w!lxSm$X))oXGpL(3*K6kxsBucTyUv*Z}_V z^Uf?BWr&mLtDzPv-FWmAr@=*cn(@;xaOke@R}1w87MCrVm4=TtHhlC}7z)RvKIwo0 zUVYLiVVr?x6^{&*O}!8smy#!#B#3~lq?T)&Oe*-eX*@YMP$Z!9;Ru19^=2+b4$D0V z|5OTQ&S|PQ=EGx34})Z!Tjn=7=esNlMMgUIn+UGo+V|i6AF>+2Ccsjyuzs+JoTVA} z)Hh@}$93S_q)Qz_!&|?oueC2z36N-6VaDJuYH-gSQ}%*iP*>A015GcLFA%eWG|PMh zeR*%QD;a6j>Ehxue;C+x*1Go=Tq|R0O-vZ(ISsWg{PD&`W zxes2FembXRMBiJ|rCMM_rA}N<-Q&{*pwoR1FuiIS+1w(uL?mHR zSbAXGyD#b7#R_SrK;_mog$IAp7yxH2Y+G)oHTbK7Oln(=ML4aP?L`mu;Y0;(zu%!qF|CG3|tu*UeP?_h!IsnR9W39xC*_%xI4>+nQ7Kv zwRaO;;<}tYH6n&)h&QL}y{x58R(A4RL)Z4BP;l{9+g-TC-MhBWY6qvgw7Q4a zSVHs+OumFbT#HIO`33Bjd1;w@!Fb*BW52rC&*`OGA}WP5d$ea0sTpS=)jy$u`QDdZ zvy3p72A5Vs8%UIw-W1aM@M08UDJ{yP%Da?0md+CIV(zqY=c+-e+Z3Kq8T4w={`iUg z!3em!2`NCVN|z6*ps{@Q-tN_2+>ITcGk?jaXsGEO5%ATu0|Et2X8VPTiY?6=QCg8Z z)1zMY7H<=7y0o;&!&C6?(A=%6{_RD-aKiFlufW#vDE#gn7_lJ=A}u2SJ@n==R(}2< zyc|4{4}!j6MR|75^j(L}U;^(bvY6M`7c##YFg!kf1B{lMKJu(|&=~ON2}n{eMaa!} zrNfL;{0k=7dsdAPKh1#TG{!|?7}L*N32p<{w0y8vQ+kBWM-*>VJZ)CIvhreWq|bMj zuK8Q9fQ>Aa;cr>%A5555E$fw27pLHs8=;9Ss0zs4s?=ZLzE!sH&=BHYG6<@zPckT2 zcNP*7GJiypboTUFP3p>BvxE}v+cz|^g@y!u{=skm z0|~N8U1`zYTe5p=V#;$G@HU!!DeccJ>)!x6jd*sReRwYR9kYY@wT-|;s@up(z&Q>Y zWc-I5|L;V&ET>sJ(A$W28*>@@f|UOC44_eQxTahKN&}yFi}-2SnE0D=|LbFudgcF{ zA8j;Y#>K|ky=v1RP4PZ54hRBGtom@cuc}(f>k@fH3@V_x_Ztr(xTd zl@=XsPG0XRJD$M+ILq>1(0W9mR61K=rtX#NPkosI;^H*BWc~p)F8#+SGHu^%tdsma zA{VKo%m=v4S&}gjg<_zMTKU_5zqwl?5YwBoVT?P+^9RP&`!Ca>>;!0s{|X)86|FcR zBm6oXN7G+n0$T`M?EdL_tR3qOep; zA?mKWZO^x>zxxQR-xaYIT)!q_jnu$c=MQC7%S?}Ef7Y>$xr-O z+*d<1uiRZ4NV5};RmzW}{O&Bxpqj&@i4WX(l(O_N+#KHU+2$B>B|MQ>NrHh;X z4oY9cCRaS*J2ZuL7{}Dt*AI^@>jh~x^$`+b7e5g7_+8(L4>ZkZF$u zY)14k3pt9mFF@45jq!ZM22IhUhb9)irr*7%4+`}IOV*2Drn!q8%_pbtvoc1>!-W*) z2%8Th<+y1?a(`v=mAX>E##f71>myb}b)_@tgXck@p#0*jm^aI=e% z75(Fd6nKIU9?`isWOFRc`p`ePI3jOBSVd*Z(7%xNK1F`2P|*|QFtP^OgH`uw6Wp;+ zR*IO&%Lo-Mj32b-@n=;s(eZi*H{dTmyDjpyS;J0Do+`SU#7@f;h5bJ%k0JDO%r@_J zR#vU-*adP$J3oRv335!2U)wXrMI(w+>5RD^-#)m@p4_zJ(gaIZRe&!~`VnPNBZ^O1<*&R;53u`R~>fXuUA9U#T zFi+Jmd>;X@xt~6>-(I`;5JE)r#^w4lte>lx`F zxGdP7)*;$vK6|j+n?+{qq?JfumVVUa8G0YS05>=gu$)aM;;%mrUvZhzRCCLzR=@Vd zLQLO+Uz&5bSK2!Zp?p*zW7K1;AbB?WQcduE3p~7d)Il2oDc5ypnu9iraI2Prz z?4D6UKl6)+M^EWlFgR+hOy(a4e7WO@(Z+IQM{|uN+rc?OU5Ze1$Lfv3*)i6f@N^a_ zRy*d%zbS;cPIuSQyn1VED>iNg^uFU@J9bJRzn5i%Dh|2SS!()-Sh&`-(@ z3wquA+Cs^SYJqj*k1NgJbkH;zX%YQx=cYJkPvv*ieeWoot~fd8R$jmhAt7Ny>-l(C z#+BEtaRuMe@r4y$?-$v!g*_ATa|Sn8M^3O6S|Xmb%l-6vR(zU8P}XbLUArfX0q!IUS znHHMgo4t1Be4jkPY2!^#c033zsIXT%t0sNb)0QgT=bW12V#zrDA8eej*{e2I0$OsZ z*t7tc5C{8__Kc?|LN`9hAt~O_xX|`#!5K+bDBgOf@u}Sti>%seWXtdHO8ka6&;G`~S#Y^=a)rylnACM8XHyKK&kv`A75Es|imu<_Nn zO_e0-250>`-$=uxC`@`Oz{Dh>p3HPLJAY?LK5)2DMMczz%;^5G0i*1yNLAvos?iBA zk%moUKjn1?e-@Pn&EyPL{UUC5nI9CC$OO&fxAL2s46Lzcyra*JJiDGu$i>yHeRzewJT2OqLEvVULTAg(ZJWWTc)= zg&k6fNvzXIZYOOg2&U}>yX*j;OV5W!{7N|y)|W5ZaOB^VjirXr%n!RyBiZ575SLZ)MPlYe{ig}CxZ7o68bCe!vCq%;DY&yy3bkW^! z<(G6g{x@#z>c^b5)Vhg~93vEUs$eknxprUQaGOufO`K@|ixgh?@N@l7K^0y% z9i3l}2&tXaShVFi=xkIQD-a0f8w&E4TBveLSZG+DE>eJpuFO-sTj!H6@GnI_vQg6^n-9y>5rzr1{v^S$*sFtJ6-T{PpI>bgubN)tZ9iS*vc=N_7Y2 z))}eUdwUOZkXt2)hF!xn>(X_emFfFla}`*K(~Jj-z;$k8x(e;B)aYq$v@JOw=`V)J0D|`oWN_Fn~E}2QH!y>-+9j z?-DGqP*-s1{WWnIp7bRq>iqSAB{|CeHuRQ zX#U3};`GT`e5vCOwK`$2Wn?aC^s`cCdE*7u;Jt#`CUf}QP{i)+3Ge+D&ZZPB6(PS3 zTtYjPPJsE)n zuxcZGe{^9l1nl-^ku4F;2vhFZMOnTXElTO|UH&n5r&}iXtki9nJ44>y4dmn9GIX>U z_xgXCXxKmY&(-}53!`&7Oj3^-E#TS>|K*|Ax4)a6W5@2krL7B3d$s zD_+%4vvC6=(L2Q^BQpV7;2kq*!E?u*hDHkSo@$>TodBg@F5O2UERts?m2)gXqy7cE zgVZ~4O76M`g>u8W?Ik7Ydap5%-N$Ko*;8Qv2j17 zHM3-ukG-31i3|6nuO1YI)g~h{3BmsW00l4_#k=%izS78dyv7miA|V#dU(6jzBdN{O_T_%5h%DpM;oZFo zzrLh??>;{LQ+0KC?BJ9x7}o7=rEuoLvy;RBg>`3vvhkn0clOhClp4zP0>545BTbU) zZUm%!f6!Zk$RSQW*K<#^Hv@5fW+NV=cG>x;BA7uce$Pjsc#t@mm}2k)7V|F?uf80 z44JaOBhFhKy50|aG!5l3*m2kXK-k0bnFvWeo8pbOELNcoqf7R8T63w&Z6BC2)`+u-^35%yG(#_RHSg68fU6R*4_UYwCgNgL(RcUQA*n8 z_$byt#{MAV<y^hA+(|Nk*G}31p_Il7I%kx_Z;o3Kx z|F9us)#52>#nd_31gec{qGg4J{tct=ej8AY?(Vj^yh;u((RuK@t`Dt_4^??`#Cq?M zh6=@$Z~f3L>IL9e+Zi6PB$8h^mUmd}EL{4eD{X66cjJ*B-~+6M^Q-M^l9nTo+y&d~ zPequ`-$>@HZLgQjXd5N$@O@ADljIi@Xe1x9=>q+?75V;maf309qtl+WaCl$>=#MQ~ z5J*0Np%%#W>_;E(FFlsO>Al)Uk*qmynP69?Em4z?*I!*A1y$$6FFH32pO8Pus6oZo z&}|M?ub_y(+|FG1H)1{+9r*C-?{bOi{QW6~E~Y@9qw-F1nv|dW%74<=TeqC`)x@=W znkVqsqNWX9NQ$|1NOn)(g}cmMgF;bSH+_CrIN#ihc62c!`8A2)Mg{YbmUj1ZiAVcGgRL1upR)XWM&RZl1Lif^E6lIfjZwWlqxkJj!A$`s-%!^!K04W znw2L@F80%`J+At&aUmyr#A)-55hZMbkncg0rrP_f&|~`6L-#Nh>iBwdX#*XYjMDGq zg%*PJNdlY_pM*T2Lh6S%+}=nA`w9(CJYCA`FgppTG+tf1PrNBhq>q0w?8E(*I{vmDyt zx+iP#j1NDei}CcxAY?lFKx)BH{-VZ^ziMT^@E-Z@>;WRhjplzYZP|6NAP5dt1MS}~ zed-VEof5R6w@_Z1XIv2gM)h-Esi|wYOvXF+#VuqYYO|{%E~6Md*EYP&3gmm3lS~+7 z5ssu?@r-gLxT7*ExJ6)1j>o*RPY@N|Po!0o%ERW5TL0c+$6Jhwt`-1iEc>Au8L7a& z)pL!?F(C4)RjB!~i3;<3&g^PAtSkA((8|Nt+PTM!ixsK@ zS~kz6Cl%r^Eu_N2g&N9VnTOTq^whWJ&Yr&kkMQXF)TcxiFKkOVuG0f(Q_oUE2V3Bw zgB|<0j_Un<6SMKPDG_Y~SOheZUO!pZQWIY>nX9H{A_&Ef7BQo=jD`cdmL&mVaS>RX zl2QR@eq+luUpvZ2J}xJ2pu=@%>u%&I^l80}pESryt$V{wj)N9B_cwFzk7=}jB)_Y2 zi7{`52{q`_cj!zx+;qingZ6RRm&fQTkorm!=cEYK&%g*$F;3s|oMP|fmUR5fzF`SS z#{DX)Kh46pGQ*{oiuey{cAgOm^&9r>^M(%4%_q_p+Ho(gIxod;3ZQ=srFSg=`Tp|P zG~2~QY>$lxhWpPEvF;)RPmMVWViXzU(uy|_oKgny8;QQqEQpBcHjo60TM$O2J0go+ zJyPSk$Srl_IN2a|gGe(8iaZOBIP1+-;KaHVb5|kv$2oxqw!6so^H0mwcKnpu(Ieac zF4iN7)x3)?^yta74sWV+T{|qSV(J9)?LC8ff4>XCkq0}&E!EtwI&9JezNl0BOVez7 zin?d_4i};P#s}+Kj*>wXx0?s(j^^JXhU7rdwl#>$a z4K2N(?iz#1tYV7iT=gZ|K&exLBG)m_WdGafpx+0*31SMX@p?So6Ob1_Lg^Tbv6>=H z8Z8s98k|4x*CS%G1BHmJL{g~L&I8=2>ZKlA>jm06Q4ZE9nnEoFgI*IgJ4#pCm=d#b zoy8ZT!45$1A~WX4a86qzGdk{pC6@PlL}dXo3At;K)1~RXA_kRdic!e!K`%E9KfJRa zTM3XgT2uY3PZYsOQ#-&NpnDM6C{Fu}K3gaD&R{ddkA(q`fuAdEW_$e%k-^G2cT290 zHq@pKMGh1+Q_Z_S(2Kp##k|S3tFctU7*6J6Jn-7EH7uc7SjecUl1w2iZ6vM&Uw{6s zrcbBs0_A1~5-+&zvv*UHni6XG6*W6mhHiWcb~4E!!O_pq7p5R zcHXYKezUbRsR=82 zHEd_@ zywACpCC3(n;t~1N?Xy0BvsQWk9<4rjO^hc5Z#9!B)opdnP~bd0w=i3Yv^U|R2- z;y&cH+*$m>9jvYB-}l~X*@_KhF3wNaLCiA`*YF;3TB_b}RPYunYU31u$)w@Cp%0{K ze=xT_0#d8`S>R3g?N*o^^bKjz^~>ilNYRmKpXKo99m*az!GkVumtdLqE{4f>T$&cX z76N}+GyfNG_vT#Dj(fsCOD7$!DYGYWT8;3F)6LqFqLeGXiR3HH^};u76K{`O z`qlXs`PV_Wl&rC24L*a4>~8y*R${`jqO6P-YCIkyrHeK)2|uUknQXW4D!EujlPA*Z z_EW=3&JyeN_Kd=9?BVc=d-H}0MEGR#h2F&Tbnxo za=BsgHs9X1{iKboLz#PJz}D(h;DQ5V&%a^_cfMi>*g4Kda&y{~=$bM%rn@v#MlR|q z{=_fBFVDzhC;qHZRtbB>lSQ*aXNDwj9>a0-JFJyjACXg9tcWD#^8^L0Z)gGiVO4S4 zlfdf#(LIybhJsBjj)A-0_dTy-X-+g#wnejd8d=~I9T5)*`-hm1NKlmnqqBYa8G?W+ zJFGEtBZlqfY&Udxy)5KxuM2+iTxxz}#TnFt4TG{u1~2D~95#1%T7#FpThecRXvk+L zNN*~%=vDopa81woV`wwhi26QlG}Q=FeL!~1x{GA zWd~w9DUfkzEYT)af9(yP#dqJS74JH5Qdx@A1gXO%5PRPCxwq@Y>gFC#y8fMBIk$(- zGCbg@DB2M8ObO(F8SF>*YD}`mm=UD1cs;jUyCmCUqilwr?-1>IJ`}MFB zqD@@#K?d5U<0O4s>7EBoP)m9OuwzkoF>W)ZZ|!|{%A3DwUp-_p#+w8+FO{$JfA^hW>y literal 0 HcmV?d00001 diff --git a/PrusaSL1Viewer/Images/layers-16x16.png b/PrusaSL1Viewer/Images/layers-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..efc9a32c3c6449569c053b8f99e26ecf5ddaa43a GIT binary patch literal 459 zcmV;+0W|)JP);^_rhZuWF_w)ufK?w(t!oR=1GawrT0>~Pf**GBv zet3D{#m-p`U@tgGiplue`>#5s;bnPOLWcp_AP_*-sQlszgZYi^$G05X7`E@(%O{L$ zEOaWYMFi^q{r}JL@#jy5(|jrn+w{U2U#k6gFpaHBQQMvJznwnWyhr3Pv*iC5-x*40Gr0AKOmAA zNg3TBNDN?V#F-b64a!lGNoE2nnS2LRBS8a*1pqQd + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Convert_16x16 { + get { + object obj = ResourceManager.GetObject("Convert-16x16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + ///

/// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -110,6 +120,16 @@ namespace PrusaSL1Viewer.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap layers_16x16 { + get { + object obj = ResourceManager.GetObject("layers-16x16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/PrusaSL1Viewer/Properties/Resources.resx b/PrusaSL1Viewer/Properties/Resources.resx index e96a580..d18193f 100644 --- a/PrusaSL1Viewer/Properties/Resources.resx +++ b/PrusaSL1Viewer/Properties/Resources.resx @@ -121,6 +121,12 @@ ..\Images\Open-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\PrusaSL1Viewer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\Convert-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Images\Button-Info-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -136,7 +142,7 @@ ..\Images\Extract-object-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\PrusaSL1Viewer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Images\layers-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/PrusaSL1Viewer/PrusaSL1Viewer.csproj b/PrusaSL1Viewer/PrusaSL1Viewer.csproj index 0c3c766..198223f 100644 --- a/PrusaSL1Viewer/PrusaSL1Viewer.csproj +++ b/PrusaSL1Viewer/PrusaSL1Viewer.csproj @@ -195,6 +195,8 @@ + + diff --git a/README.md b/README.md index c1141ba..92bbadb 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,29 @@ But also, i need victims for test subject. Proceed at your own risk! * View thumbnail * View all used settings * Export file to a folder -* Portable (2 files only) +* Convert SL1 format to another format +* Portable (No installation needed) + +## Known Formats + +* SL1 (Prusa SL1) +* CBDDLP (Chitubox DLP) + +## Configure printer under PrusaSlicer + +1. Import Epax X1 printer (PrusaSlicer -> printers) +1. Duplicate and tune the values if required +1. Look up under "Printer -> Notes" and configure parameters from target slicer +1. Change only the value after the "_" (underscore) + +## Custom "Printer Notes" keywords + +* **FLIP_XY** Flip X with Y resolution, this is required in some cases, it will not affect Prusa output, only used for convertions to another format, use this if you have to use inverted XY under printer settings (Epax for example). + +## File Convertion + +I highly recommend open the converted file into original slicer and check if it's okay to print, on this beta stage never blind trust the program. +After some tests without failure you can increase your confidence and ignore this stage, or maybe not ;) ## Requirements @@ -64,8 +86,10 @@ Are you a developer? This project include a .NET Core library (PrusaSL1Reader) t ## TODO -* Convert SL1 files to another slicer file format -* Add printer profiles +* Speed up layer preview +* Put convert operation under a task (No GUI freeze) +* More file formats +* Clean up (always) ## Support my work / Donate