From a5ccc2b9f56ff25e0269c82f72ad5c62bac3bd26 Mon Sep 17 00:00:00 2001 From: Thomas Terhaar Date: Sun, 2 Feb 2025 15:49:19 +0100 Subject: [PATCH 1/5] Make working with AcroForms more user-friendly --- .../src/PdfSharp-gdi/PdfSharp-gdi.csproj | 43 +- .../src/PdfSharp-wpf/PdfSharp-wpf.csproj | 43 +- .../PDFsharp/src/PdfSharp/Drawing/XFont.cs | 30 + .../src/PdfSharp/Drawing/XFontSource.cs | 10 +- .../src/PdfSharp/Drawing/XGlyphTypeface.cs | 6 +- .../PdfSharp/Fonts.OpenType/IRefFontTable.cs | 12 +- .../Fonts.OpenType/OpenTypeFontTables.cs | 42 + .../Fonts.OpenType/OpenTypeFontface.cs | 4 +- .../StandardFonts/FontResources.Designer.cs | 203 ++++ .../Fonts/StandardFonts/FontResources.resx | 163 +++ .../src/PdfSharp/Fonts/StandardFonts/OFL.txt | 92 ++ .../Fonts/StandardFonts/StandardFontData.cs | 70 ++ .../Fonts/StandardFonts/StandardFontNames.cs | 69 ++ .../StandardFonts/StandardFontResolver.cs | 190 ++++ .../src/PdfSharp/Internal/StringExtensions.cs | 37 + .../PdfSharp/Pdf.AcroForms/PdfAcroField.cs | 1000 ++++++++++++++--- .../src/PdfSharp/Pdf.AcroForms/PdfAcroForm.cs | 425 ++++++- .../Pdf.AcroForms/PdfAcroFormImporter.cs | 250 +++++ .../PdfSharp/Pdf.AcroForms/PdfButtonField.cs | 104 +- .../Pdf.AcroForms/PdfCheckBoxField.cs | 351 ++---- .../PdfSharp/Pdf.AcroForms/PdfChoiceField.cs | 256 ++++- .../Pdf.AcroForms/PdfComboBoxField.cs | 120 +- .../PdfSharp/Pdf.AcroForms/PdfGenericField.cs | 20 + .../PdfSharp/Pdf.AcroForms/PdfListBoxField.cs | 217 +++- .../Pdf.AcroForms/PdfPushButtonField.cs | 160 +++ .../Pdf.AcroForms/PdfRadioButtonField.cs | 256 ++++- .../Pdf.AcroForms/PdfSignatureField.cs | 136 ++- .../PdfSharp/Pdf.AcroForms/PdfTextField.cs | 281 +++-- .../Rendering/PdfAcroFieldRenderer.cs | 87 ++ .../Rendering/PdfCheckBoxFieldRenderer.cs | 57 + .../Rendering/PdfComboBoxFieldRenderer.cs | 51 + .../Rendering/PdfListBoxFieldRenderer.cs | 62 + .../Rendering/PdfPushButtonFieldRenderer.cs | 130 +++ .../Rendering/PdfRadioButtonFieldRenderer.cs | 54 + .../Rendering/PdfSignatureFieldRenderer.cs | 38 + .../Rendering/PdfTextFieldRenderer.cs | 75 ++ .../enums/PdfAcroFieldTextAlignment.cs | 21 + .../src/PdfSharp/Pdf.Advanced/PdfCatalog.cs | 20 +- .../src/PdfSharp/Pdf.Advanced/PdfFont.cs | 9 + .../src/PdfSharp/Pdf.Advanced/PdfFontTable.cs | 30 +- .../PdfSharp/Pdf.Advanced/PdfFormXObject.cs | 8 + .../src/PdfSharp/Pdf.Advanced/PdfType0Font.cs | 2 + .../PdfSharp/Pdf.Annotations/PdfAnnotation.cs | 179 ++- .../Pdf.Annotations/PdfAnnotationBorder.cs | 35 + .../Pdf.Annotations/PdfAnnotations.cs | 5 +- .../Pdf.Annotations/PdfWidgetAnnotation.cs | 383 ++++++- .../enums/PdfAnnotationBorderStyle.cs | 34 + .../enums/PdfAnnotationHighlightingMode.cs | 30 + .../enums/PdfButtonCaptionPosition.cs | 38 + .../Pdf.Signatures/DigitalSignatureOptions.cs | 3 +- .../Pdf.Signatures/PdfSignatureHandler.cs | 71 +- .../src/PDFsharp/src/PdfSharp/Pdf/PdfArray.cs | 4 +- .../PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs | 60 +- .../src/PDFsharp/src/PdfSharp/PdfSharp.csproj | 15 + .../src/PdfSharp/Resources/D050000L.ttf | Bin 0 -> 37860 bytes .../PdfSharp/Resources/NimbusMonoPS-Bold.ttf | Bin 0 -> 212616 bytes .../Resources/NimbusMonoPS-BoldItalic.ttf | Bin 0 -> 215144 bytes .../Resources/NimbusMonoPS-Italic.ttf | Bin 0 -> 205712 bytes .../Resources/NimbusMonoPS-Regular.ttf | Bin 0 -> 201348 bytes .../PdfSharp/Resources/NimbusRoman-Bold.ttf | Bin 0 -> 200040 bytes .../Resources/NimbusRoman-BoldItalic.ttf | Bin 0 -> 201916 bytes .../PdfSharp/Resources/NimbusRoman-Italic.ttf | Bin 0 -> 204136 bytes .../Resources/NimbusRoman-Regular.ttf | Bin 0 -> 203180 bytes .../PdfSharp/Resources/NimbusSans-Bold.ttf | Bin 0 -> 158732 bytes .../Resources/NimbusSans-BoldItalic.ttf | Bin 0 -> 190792 bytes .../PdfSharp/Resources/NimbusSans-Italic.ttf | Bin 0 -> 191524 bytes .../PdfSharp/Resources/NimbusSans-Regular.ttf | Bin 0 -> 181776 bytes .../PdfSharp/Resources/StandardSymbolsPS.ttf | Bin 0 -> 24400 bytes .../AcroForms/AcroFieldTests.cs | 434 +++++++ .../AcroForms/AcroFormsTests.cs | 929 +++++++++++++++ 70 files changed, 6647 insertions(+), 807 deletions(-) create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/FontResources.Designer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/FontResources.resx create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/OFL.txt create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontData.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontNames.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontResolver.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Internal/StringExtensions.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroFormImporter.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfAcroFieldRenderer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfCheckBoxFieldRenderer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfComboBoxFieldRenderer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfListBoxFieldRenderer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfPushButtonFieldRenderer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfRadioButtonFieldRenderer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfSignatureFieldRenderer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfTextFieldRenderer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/enums/PdfAcroFieldTextAlignment.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotationBorder.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfAnnotationBorderStyle.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfAnnotationHighlightingMode.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfButtonCaptionPosition.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/D050000L.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Bold.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-BoldItalic.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Italic.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Regular.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusRoman-Bold.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusRoman-BoldItalic.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusRoman-Italic.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusRoman-Regular.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-Bold.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-BoldItalic.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-Italic.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-Regular.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/StandardSymbolsPS.ttf create mode 100644 src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFieldTests.cs create mode 100644 src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFormsTests.cs diff --git a/src/foundation/src/PDFsharp/src/PdfSharp-gdi/PdfSharp-gdi.csproj b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/PdfSharp-gdi.csproj index 7a0cb05a..ecfae719 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp-gdi/PdfSharp-gdi.csproj +++ b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/PdfSharp-gdi.csproj @@ -145,7 +145,10 @@ - + + + + @@ -171,6 +174,7 @@ + @@ -178,9 +182,19 @@ - - - + + + + + + + + + + + + + @@ -243,11 +257,15 @@ + - + + + + @@ -421,4 +439,19 @@ + + + True + True + FontResources.resx + + + + + + ResXFileCodeGenerator + FontResources.Designer.cs + + + diff --git a/src/foundation/src/PDFsharp/src/PdfSharp-wpf/PdfSharp-wpf.csproj b/src/foundation/src/PDFsharp/src/PdfSharp-wpf/PdfSharp-wpf.csproj index 9fc703b1..f17ebfcc 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp-wpf/PdfSharp-wpf.csproj +++ b/src/foundation/src/PDFsharp/src/PdfSharp-wpf/PdfSharp-wpf.csproj @@ -144,7 +144,10 @@ - + + + + @@ -170,6 +173,7 @@ + @@ -178,8 +182,18 @@ + + + + + + + + + - + + @@ -242,12 +256,16 @@ - - + + + + + - + + @@ -421,4 +439,19 @@ + + + True + True + FontResources.resx + + + + + + ResXFileCodeGenerator + FontResources.Designer.cs + + + diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFont.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFont.cs index 329474fa..a6c73e95 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFont.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFont.cs @@ -33,6 +33,21 @@ namespace PdfSharp.Drawing [DebuggerDisplay("{" + nameof(DebuggerDisplay) + "}")] public sealed class XFont { + /// + /// Creates a new XFont based on an existing XFont with the specified emSize and options. + /// + /// + /// + /// + /// + public static XFont FromExisting(XFont existingFont, double emSize, XPdfFontOptions? pdfOptions = null) + { + return new XFont(existingFont.GlyphTypeface, emSize, pdfOptions ?? existingFont.PdfOptions) + { + _familyName = existingFont.FamilyName + }; + } + /// /// Initializes a new instance of the class. /// @@ -765,5 +780,20 @@ string DebuggerDisplay { get => Invariant($"font=('{Name2}' {Size:0.##}{(Bold ? " bold" : "")}{(Italic ? " italic" : "")} {GlyphTypeface.StyleSimulations})"); } + + /// + /// Gets the list of characters supported by this font.

+ ///
+ /// The list of characters supported by this font + /// + /// Applications may use to convert these values to a valid string. + /// + public HashSet GetSupportedCharacters() + { + characterSet ??= OpenTypeDescriptor.FontFace.cmap.GetSupportedCharacters(); + return characterSet; + } + + HashSet characterSet = null!; } } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFontSource.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFontSource.cs index 47aaa679..f3fff30a 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFontSource.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFontSource.cs @@ -45,14 +45,20 @@ public class XFontSource /// Gets an existing font source or creates a new one. /// A new font source is cached in font factory. /// - public static XFontSource GetOrCreateFrom(byte[] bytes) + /// The bytes of the font + /// If true, a new font source is cached in font factory. + /// + /// Setting to false allows inspecting the font-data without caching the whole font + /// + public static XFontSource GetOrCreateFrom(byte[] bytes, bool cache = true) { ulong key = FontHelper.CalcChecksum(bytes); if (!FontFactory.TryGetFontSourceByKey(key, out var fontSource)) { fontSource = new XFontSource(bytes, key); // Theoretically the font source could be created by a different thread in the meantime. - fontSource = FontFactory.CacheFontSource(fontSource); + if (cache) + fontSource = FontFactory.CacheFontSource(fontSource); } return fontSource; } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XGlyphTypeface.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XGlyphTypeface.cs index 45a7df93..1dfba2c7 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XGlyphTypeface.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XGlyphTypeface.cs @@ -50,7 +50,7 @@ public sealed class XGlyphTypeface FontFamily = fontFamily; FontSource = fontSource; - FontFace = OpenTypeFontFace.CetOrCreateFrom(fontSource); + FontFace = OpenTypeFontFace.GetOrCreateFrom(fontSource); // Check why it fails. //Debug.Assert(ReferenceEquals(FontSource.FontFace, FontFace)); @@ -67,7 +67,7 @@ public sealed class XGlyphTypeface FontFamily = fontFamily; FontSource = fontSource; - FontFace = OpenTypeFontFace.CetOrCreateFrom(fontSource); + FontFace = OpenTypeFontFace.GetOrCreateFrom(fontSource); Debug.Assert(ReferenceEquals(FontSource.FontFace, FontFace)); _gdiFont = gdiFont; @@ -105,7 +105,7 @@ public XGlyphTypeface(XFontSource fontSource) FontSource = fontSource; StyleSimulations = styleSimulations; - FontFace = OpenTypeFontFace.CetOrCreateFrom(fontSource); + FontFace = OpenTypeFontFace.GetOrCreateFrom(fontSource); Debug.Assert(ReferenceEquals(FontSource.FontFace, FontFace)); WpfTypeface = wpfTypeface; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/IRefFontTable.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/IRefFontTable.cs index 27336a8c..9078682f 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/IRefFontTable.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/IRefFontTable.cs @@ -35,11 +35,11 @@ public override void PrepareForCompilation() // Check the checksum algorithm. if (DirectoryEntry.Tag != TableTagNames.Head) { - byte[] bytes = new byte[DirectoryEntry.PaddedLength]; - Buffer.BlockCopy(_irefDirectoryEntry.FontTable._fontData!.FontSource.Bytes, _irefDirectoryEntry.Offset, bytes, 0, DirectoryEntry.PaddedLength); - uint checkSum1 = DirectoryEntry.CheckSum; - uint checkSum2 = CalcChecksum(bytes); - // TODO_OLD: Sometimes this Assert fails, + //byte[] bytes = new byte[DirectoryEntry.PaddedLength]; + //Buffer.BlockCopy(_irefDirectoryEntry.FontTable._fontData!.FontSource.Bytes, _irefDirectoryEntry.Offset, bytes, 0, DirectoryEntry.PaddedLength); + //uint checkSum1 = DirectoryEntry.CheckSum; + //uint checkSum2 = CalcChecksum(bytes); + // TODO: Sometimes this Assert fails, //Debug.Assert(checkSum1 == checkSum2, "Bug in checksum algorithm."); } #endif @@ -50,7 +50,7 @@ public override void PrepareForCompilation() /// public override void Write(OpenTypeFontWriter writer) { - writer.Write(_irefDirectoryEntry.FontTable._fontData!.FontSource.Bytes, _irefDirectoryEntry.Offset, _irefDirectoryEntry.PaddedLength); + writer.Write(_irefDirectoryEntry.FontTable._fontData!.FontSource.Bytes, _irefDirectoryEntry.Offset, _irefDirectoryEntry.Length); } } } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontTables.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontTables.cs index 0b2db0cc..28a0f17b 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontTables.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontTables.cs @@ -111,6 +111,25 @@ internal void Read() throw new InvalidOperationException(PsMsgs.ErrorReadingFontData, ex); } } + + internal HashSet GetSupportedCharacters() + { + var characterSet = new HashSet(); + + int segCount = segCountX2 / 2; + for (var i = 0; i < segCount; i++) + { + var start = startCount[i]; + var end = endCount[i]; + if (start == 0xffff && end == 0xffff) + break; + for (var c = start; c <= end; c++) + { + characterSet.Add(c); + } + } + return characterSet; + } } /// @@ -168,6 +187,22 @@ internal void Read() throw new InvalidOperationException(PsMsgs.ErrorReadingFontData, ex); } } + + public HashSet GetSupportedCharacters() + { + var characterSet = new HashSet(); + + foreach (var group in groups) + { + var start = group.startCharCode; + var end = group.endCharCode; + for (var c = start; c <= end; c++) + { + characterSet.Add((int)c); + } + } + return characterSet; + } } /// @@ -251,6 +286,13 @@ internal void Read() throw new InvalidOperationException(PsMsgs.ErrorReadingFontData, ex); } } + + internal HashSet GetSupportedCharacters() + { + return cmap12?.GetSupportedCharacters() ?? cmap4?.GetSupportedCharacters() ?? emptySet; + } + + private static readonly HashSet emptySet = []; } /// diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontface.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontface.cs index 4643237d..3b8d2f94 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontface.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontface.cs @@ -78,7 +78,7 @@ public OpenTypeFontFace(XFontSource fontSource) _fullFaceName = name.FullFontName; } - public static OpenTypeFontFace CetOrCreateFrom(XFontSource fontSource) + public static OpenTypeFontFace GetOrCreateFrom(XFontSource fontSource) { if (OpenTypeFontFaceCache.TryGetFontFace(fontSource.Key, out var fontFace)) return fontFace; @@ -398,7 +398,7 @@ public OpenTypeFontFace CreateFontSubset(Dictionary glyphs, boo { // Do not create a subset? // No loca table means font has postscript outline. - if (_fontEmbedding == PdfFontEmbedding.EmbedCompleteFontFile || loca == null!) + if (glyphs.Count == 0 || _fontEmbedding == PdfFontEmbedding.EmbedCompleteFontFile || loca == null!) return this; // Create new font image. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/FontResources.Designer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/FontResources.Designer.cs new file mode 100644 index 00000000..ccfe784c --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/FontResources.Designer.cs @@ -0,0 +1,203 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace PdfSharp.Fonts.StandardFonts { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class FontResources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal FontResources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("PdfSharp.Fonts.StandardFonts.FontResources", typeof(FontResources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] D050000L { + get { + object obj = ResourceManager.GetObject("D050000L", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusMonoPS_Bold { + get { + object obj = ResourceManager.GetObject("NimbusMonoPS_Bold", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusMonoPS_BoldItalic { + get { + object obj = ResourceManager.GetObject("NimbusMonoPS_BoldItalic", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusMonoPS_Italic { + get { + object obj = ResourceManager.GetObject("NimbusMonoPS_Italic", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusMonoPS_Regular { + get { + object obj = ResourceManager.GetObject("NimbusMonoPS_Regular", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusRoman_Bold { + get { + object obj = ResourceManager.GetObject("NimbusRoman_Bold", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusRoman_BoldItalic { + get { + object obj = ResourceManager.GetObject("NimbusRoman_BoldItalic", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusRoman_Italic { + get { + object obj = ResourceManager.GetObject("NimbusRoman_Italic", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusRoman_Regular { + get { + object obj = ResourceManager.GetObject("NimbusRoman_Regular", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusSans_Bold { + get { + object obj = ResourceManager.GetObject("NimbusSans_Bold", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusSans_BoldItalic { + get { + object obj = ResourceManager.GetObject("NimbusSans_BoldItalic", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusSans_Italic { + get { + object obj = ResourceManager.GetObject("NimbusSans_Italic", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusSans_Regular { + get { + object obj = ResourceManager.GetObject("NimbusSans_Regular", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] StandardSymbolsPS { + get { + object obj = ResourceManager.GetObject("StandardSymbolsPS", resourceCulture); + return ((byte[])(obj)); + } + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/FontResources.resx b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/FontResources.resx new file mode 100644 index 00000000..27ef5199 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/FontResources.resx @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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\D050000L.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusMonoPS-Bold.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusMonoPS-BoldItalic.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusMonoPS-Italic.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusMonoPS-Regular.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusRoman-Bold.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusRoman-BoldItalic.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusRoman-Italic.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusRoman-Regular.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusSans-Bold.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusSans-BoldItalic.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusSans-Italic.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusSans-Regular.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\StandardSymbolsPS.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/OFL.txt b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/OFL.txt new file mode 100644 index 00000000..187990b7 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/OFL.txt @@ -0,0 +1,92 @@ +Copyright 2016 by (URW)++ Design & Development. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontData.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontData.cs new file mode 100644 index 00000000..fd34053c --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontData.cs @@ -0,0 +1,70 @@ +using PdfSharp.Pdf.AcroForms; + +namespace PdfSharp.Fonts.StandardFonts +{ + /// + /// Provides the data for the 14 Standard-Fonts defined in the PDF-specification.

+ /// Pdf spec. 1.7, Chapter 9.6.2.2: Standard Type 1 Fonts (Standard 14 Fonts)

+ /// Mainly intended for existing documents which use one or more of the standard-fonts without embedding them.

+ /// Most often used in fillable forms, i.e. a + ///
+ public static class StandardFontData + { + /// + /// Gets the data for the specified font + /// + /// Name of the font. A leading slash is automatically stripped + /// Font-data or null if a font with the specified name could not be found + public static byte[]? GetFontData(string fontName) + { + if (string.IsNullOrWhiteSpace(fontName)) + return null; + + // if the name comes from a resource-dictionary... + if (fontName.StartsWith("/")) + fontName = fontName.TrimStart('/'); + + if (fontData.TryGetValue(fontName, out var data)) + return data; + return null; + } + + /// + /// Indicates, whether the specified is one of the 14 Standard-Fonts + /// + /// Font-name to check. A leading slash it automatically stripped + /// true, if is one of the 14 Standard-Fonts, otherwise false + public static bool IsStandardFont(string fontName) + { + if (string.IsNullOrWhiteSpace(fontName)) + return false; + return FontNames.Contains(fontName.TrimStart('/')); + } + + /// + /// Get the names of the supported standard-fonts + /// + public static IEnumerable FontNames => fontData.Keys; + + private static readonly Dictionary fontData = new() + { + { StandardFontNames.Courier, FontResources.NimbusMonoPS_Regular }, + { StandardFontNames.CourierBold, FontResources.NimbusMonoPS_Bold }, + { StandardFontNames.CourierItalic, FontResources.NimbusMonoPS_Italic }, + { StandardFontNames.CourierBoldItalic, FontResources.NimbusMonoPS_BoldItalic }, + + { StandardFontNames.Helvetica, FontResources.NimbusSans_Regular }, + { StandardFontNames.HelveticaBold, FontResources.NimbusSans_Bold }, + { StandardFontNames.HelveticaItalic, FontResources.NimbusSans_Italic }, + { StandardFontNames.HelveticaBoldItalic, FontResources.NimbusSans_BoldItalic }, + + { StandardFontNames.Times, FontResources.NimbusRoman_Regular }, + { StandardFontNames.TimesBold, FontResources.NimbusRoman_Bold }, + { StandardFontNames.TimesItalic, FontResources.NimbusRoman_Italic }, + { StandardFontNames.TimesBoldItalic, FontResources.NimbusRoman_BoldItalic }, + + { StandardFontNames.ZapfDingbats, FontResources.D050000L }, + { StandardFontNames.Symbol, FontResources.StandardSymbolsPS } + }; + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontNames.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontNames.cs new file mode 100644 index 00000000..cd0a650b --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontNames.cs @@ -0,0 +1,69 @@ +namespace PdfSharp.Fonts.StandardFonts +{ + /// + /// Contains the names of the 14 Standard-fonts as defined in the PDF-Specification.

+ /// See PdfReference 1.7, Chapter 9.6.2.2 + ///
+ public static class StandardFontNames + { + /// + /// Courier + /// + public const string Courier = "Courier"; + /// + /// CourierBold + /// + public const string CourierBold = "Courier-Bold"; + /// + /// CourierItalic + /// + public const string CourierItalic = "Courier-Oblique"; + /// + /// CourierBoldItalic + /// + public const string CourierBoldItalic = "Courier-BoldOblique"; + + /// + /// Helvetica + /// + public const string Helvetica = "Helvetica"; + /// + /// HelveticaBold + /// + public const string HelveticaBold = "Helvetica-Bold"; + /// + /// HelveticaItalic + /// + public const string HelveticaItalic = "Helvetica-Oblique"; + /// + /// HelveticaBoldItalic + /// + public const string HelveticaBoldItalic = "Helvetica-BoldOblique"; + + /// + /// Times + /// + public const string Times = "Times-Roman"; + /// + /// TimesBold + /// + public const string TimesBold = "Times-Bold"; + /// + /// TimesItalic + /// + public const string TimesItalic = "Times-Italic"; + /// + /// TimesBoldItalic + /// + public const string TimesBoldItalic = "Times-BoldItalic"; + + /// + /// Symbol + /// + public const string Symbol = "Symbol"; + /// + /// ZapfDingbats + /// + public const string ZapfDingbats = "ZapfDingbats"; + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontResolver.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontResolver.cs new file mode 100644 index 00000000..d8d11b21 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontResolver.cs @@ -0,0 +1,190 @@ +using PdfSharp.Drawing; +using PdfSharp.Fonts.OpenType; +using System.Diagnostics.CodeAnalysis; + +namespace PdfSharp.Fonts.StandardFonts +{ + /// + /// Resolves the 14 standard-fonts and fonts that were pre-registered + /// + public class StandardFontResolver : IFontResolver + { + private readonly Dictionary localFonts = new(StringComparer.OrdinalIgnoreCase); + private readonly Dictionary registeredFontFiles = new(StringComparer.OrdinalIgnoreCase); + private string? fallbackFontName; + private readonly Dictionary> characterSets = new(StringComparer.OrdinalIgnoreCase); + + /// + /// Creates a new instance of the + /// + public StandardFontResolver() + { + // register character-sets of standard-fonts + foreach (var fontName in StandardFontData.FontNames) + { + var fontData = StandardFontData.GetFontData(fontName)!; + var fontSource = XFontSource.GetOrCreateFrom(fontData, false); + var typeFace = new OpenTypeFontFace(fontSource); + var characterSet = typeFace.cmap.GetSupportedCharacters(); + characterSets[fontName] = characterSet; + } + } + + /// + /// Registers a new font + /// + /// The name of the font + /// The font-data + /// Specifies, whether the font is bold + /// Specifies, whether the font is italic + public void Register(string fontName, byte[] fontData, bool isBold = false, bool isItalic = false) + { + var localName = MakeLocalName(fontName, isBold, isItalic); + localFonts[localName] = fontData; + // get the name stored in the font itself + var fontSource = XFontSource.GetOrCreateFrom(fontData, false); + var typeFace = new OpenTypeFontFace(fontSource); + if (!string.IsNullOrEmpty(typeFace.FullFaceName)) + { + localFonts[typeFace.FullFaceName] = fontData; + var characterSet = typeFace.cmap.GetSupportedCharacters(); + characterSets[typeFace.FullFaceName] = characterSet; + } + } + + /// + /// Registers all (TrueType)-fonts from the specified folder and all sub-folders.

+ /// In an , these fonts may be referenced by their filename or their full face-name. + ///
+ /// The base path to load fonts from + /// The number of fonts that were found + /// + /// + public int RegisterFolder(string folderPath) + { + if (string.IsNullOrEmpty(folderPath)) + throw new ArgumentNullException(nameof(folderPath), "Folder name may not be null or empty"); + if (!Directory.Exists(folderPath)) + throw new ArgumentException($"The folder '{folderPath}' does not exist", nameof(folderPath)); + + var fontFiles = Directory.GetFiles(folderPath, "*.ttf", SearchOption.AllDirectories); + var count = 0; + foreach (var file in fontFiles) + { + try + { + var data = File.ReadAllBytes(file); + // create Font-source without caching it + var fontSource = XFontSource.GetOrCreateFrom(data, false); + var font = new OpenTypeFontFace(fontSource); + var fileName = Path.GetFileNameWithoutExtension(file); + registeredFontFiles[fileName] = file; + registeredFontFiles[font.FullFaceName] = file; + + var characterSet = font.cmap.GetSupportedCharacters(); + characterSets[font.FullFaceName] = characterSet; + count++; + } + catch + { + } + } + return count; + } + + /// + /// Registers the font with the specified name as the fallback font.

+ /// The font must be either one of the or one of the pre-registered fonts. + ///
+ /// + /// + public void RegisterFallbackFont(string fontName) + { + if (StandardFontData.IsStandardFont(fontName) + || localFonts.ContainsKey(fontName) + || registeredFontFiles.ContainsKey(fontName)) + fallbackFontName = fontName; + else + throw new ArgumentException($"'{fontName}' is not one of the standard font names and none of the registered fonts"); + } + + /// + /// Tries to find a font suitable for rendering all characters specified in .

+ /// The returned font-name can be used to construct a new . + ///
+ /// + /// + /// The name of a font or null if no appropiate font was found + /// + /// If no font was found it could mean that the specified text contains characters for different languages.

+ /// e.g. if the text contains a mix of Arabic and Korean, it is unlikely to find a single font that suits both languages.

+ /// In this case you could try to split the text into multiple substrings, each one containing only characters for a single language.

+ /// Then call this function for each substring. + ///
+ public bool TryFindAppropiateFont(string text, [MaybeNullWhen(false)] out string fontName) + { + fontName = null!; + if (string.IsNullOrWhiteSpace(text)) + return false; + // try to find a character-set containing all characters of text + var kv = characterSets.FirstOrDefault(it => text.All(c => it.Value.Contains(c))); + fontName = kv.Key; + return kv.Key != null; + } + + /// + /// Gets the data for the specified font. + /// + /// Name of the font + /// Font data or null, if no font with the specified name could be found + public byte[]? GetFont(string faceName) + { + var result = Resolve(faceName, false, false); + if (result.Item1 == null && !string.IsNullOrEmpty(fallbackFontName)) + result = Resolve(fallbackFontName, false, false); + return result.Item1; + } + + /// + /// Get a for the specified font + /// + /// Name of the font + /// + /// + /// A or null, if no font with the specified name could be found + public FontResolverInfo? ResolveTypeface(string familyName, bool isBold, bool isItalic) + { + var result = Resolve(familyName, isBold, isItalic); + if (result.Item2 == null && !string.IsNullOrEmpty(fallbackFontName)) + result = Resolve(fallbackFontName, isBold, isItalic); + return result.Item2; + } + + private static string MakeLocalName(string fontName, bool isBold, bool isItalic) + { + return XGlyphTypeface.ComputeGtfKey(fontName, isBold, isItalic); + } + + private Tuple Resolve(string fontName, bool isBold, bool isItalic) + { + var localName = MakeLocalName(fontName, isBold, isItalic); + if (localFonts.TryGetValue(localName, out var localData) || localFonts.TryGetValue(fontName, out localData)) + return new Tuple(localData, new FontResolverInfo(fontName, isBold, isItalic)); + + if (registeredFontFiles.TryGetValue(fontName, out var fileName)) + { + var fileData = System.IO.File.ReadAllBytes(fileName); + return new Tuple(fileData, new FontResolverInfo(fontName, isBold, isItalic)); + } + + var data = StandardFontData.GetFontData(fontName); + if (data != null) + { + Register(fontName, data, isBold, isItalic); + return new Tuple(data, new FontResolverInfo(fontName, isBold, isItalic)); + } + + return new Tuple(null, null); + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Internal/StringExtensions.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/StringExtensions.cs new file mode 100644 index 00000000..abc20690 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/StringExtensions.cs @@ -0,0 +1,37 @@ +namespace PdfSharp +{ + internal static class StringExtensions + { + /// + /// Add a number-suffix to the provided string.

+ /// If the string already has a number-suffix, the suffix is incremented by one. + ///
+ /// + /// + public static string AddIncrementalSuffix(this string text) + { + if (string.IsNullOrEmpty(text)) + return text; + + var numberSuffix = 1; // will be incremented to 2 if text does not have a suffix + var idx = text.Length - 1; + // check if value ends with a number. if it does, increment it + while (idx >= 0 && char.IsDigit(text[idx])) + idx--; + idx++; + if (idx < text.Length) +#if NET6_0_OR_GREATER + numberSuffix = int.Parse(text[idx..]); +#else + numberSuffix = int.Parse(text.Substring(idx)); +#endif + numberSuffix++; +#if NET6_0_OR_GREATER + var namePrefix = text[..idx]; +#else + var namePrefix = text.Substring(0, idx); +#endif + return namePrefix + numberSuffix.ToString(CultureInfo.InvariantCulture); + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs index 7f8223f6..b26566d3 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs @@ -1,7 +1,15 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; +using PdfSharp.Fonts.OpenType; +using PdfSharp.Fonts.StandardFonts; using PdfSharp.Pdf.Advanced; +using PdfSharp.Pdf.Annotations; +using PdfSharp.Pdf.Content; +using PdfSharp.Pdf.Content.Objects; +using PdfSharp.Pdf.Internal; +using System.Diagnostics.CodeAnalysis; namespace PdfSharp.Pdf.AcroForms { @@ -22,7 +30,9 @@ internal PdfAcroField(PdfDocument document) ///
protected PdfAcroField(PdfDictionary dict) : base(dict) - { } + { + DetermineAppearance(); + } /// /// Gets the name of this field. @@ -34,12 +44,99 @@ public string Name string name = Elements.GetString(Keys.T); return name; } + set + { + //if (value.Contains('.')) + // throw new ArgumentException("Field-names should not contain dots (.)", nameof(value)); + Debug.Assert(!value.Contains('.'), "Field-names should not contain dots (.)"); + Elements.SetString(Keys.T, value); + } + } + + /// + /// An alternate field name, to be used in place of the actual + /// field name wherever the field must be identified in the user interface (such as + /// in error or status messages referring to the field). This text is also useful + /// when extracting the document’s contents in support of accessibility to disabled + /// users or for other purposes. + /// + public string AlternateName + { + get { return Elements.GetString(Keys.TU); } + set { Elements.SetString(Keys.TU, value); } + } + + /// + /// The mapping name to be used when exporting interactive form field data from the document. + /// + public string MappingName + { + get { return Elements.GetString(Keys.TM); } + set { Elements.SetString(Keys.TM, value); } + } + + /// + /// Gets the fully qualified name of this field, that is: "parent-name.field-name" + /// If the field has no parent, this is equal to + /// + /// + /// Note: These names are not required to be unique for a given document.

+ /// The spec states (12.7.3.2):

+ /// It is possible for different field dictionaries to have the same fully qualified field name if they are descendants of + /// a common ancestor with that name and have no partial field names of their own. + /// Such field dictionaries are different representations of the same underlying field; + /// they should differ only in properties that specify their visual appearance. + ///
+ public string FullyQualifiedName + { + get + { + var fqn = Name; + var parent = Elements.GetObject(Keys.Parent) as PdfDictionary; + while (parent != null) + { + var parentName = parent.Elements.GetString(Keys.T); + if (!string.IsNullOrEmpty(parentName)) + fqn = parentName + "." + fqn; + parent = parent.Elements.GetObject(Keys.Parent) as PdfDictionary; + } + return fqn; + } + } + + /// + /// Gets the Parent of this field or null, if the field has no parent + /// + public PdfAcroField? Parent + { + get + { + var parentRef = Elements.GetReference(Keys.Parent); + if (parentRef != null && parentRef.Value is PdfDictionary pDict) + return PdfAcroFieldCollection.CreateAcroField(pDict); + return null; + } + internal set + { + if (value != null) + Elements.SetReference(Keys.Parent, value); + else + Elements.Remove(Keys.Parent); + } } /// /// Gets the field flags of this instance. /// - public PdfAcroFieldFlags Flags => (PdfAcroFieldFlags)Elements.GetInteger(Keys.Ff); + public PdfAcroFieldFlags Flags //=> (PdfAcroFieldFlags)Elements.GetInteger(Keys.Ff); + { + get + { + var ancestor = FindParentHavingKey(Keys.Ff); + return (PdfAcroFieldFlags)ancestor.Elements.GetInteger(Keys.Ff); + } + set => Elements.SetInteger(Keys.Ff, (int)value); + } internal PdfAcroFieldFlags SetFlags { @@ -52,7 +149,11 @@ internal PdfAcroFieldFlags SetFlags ///
public virtual PdfItem? Value { - get => Elements[Keys.V]; + get + { + var ancestor = FindParentHavingKey(Keys.V); + return ancestor.Elements[Keys.V]; + } set { if (ReadOnly) @@ -79,6 +180,91 @@ public bool ReadOnly } } + /// + /// Gets or sets the font used to draw the text of the field.

+ /// The font-size may be adjusted during rendering when is set to true.

+ /// In this case, the size of the field's widget determines the actual font-size. + ///
+ public XFont? Font + { + get { return font; } + set { font = value; } + } + XFont? font; + + /// + /// Gets the font size that was obtained by analyzing the Fields' content-stream.

+ /// May be zero. This means, during rendering, the font-size should be calculated based on the height of the field's widget.

+ /// PdfReference 2.0 states in chapter 12.7.4.3:

+ /// A zero value for size means that the font shall be auto-sized: + /// its size shall be computed as an implementation dependent function. + ///
+ public double? FontSize + { + get { return _fontSize; } + set + { + if (value <= 0.0) + throw new ArgumentOutOfRangeException(nameof(value), "FontSize must not be smaller than or equal to zero"); + _fontSize = value; + } + } + private double? _fontSize; + + /// + /// Gets or sets a value that determines whether the font should be auto-sized when rendered.

+ /// Note: It is not specified, how exactly the font-size should be calculated, + /// but it would typically be a function of the height of the field's widget.

+ /// Unless you have a very specific reason to do so, you should not set this to true for new fields.

+ /// (support for this seems to be very poor in most common PDF-viewers) + ///
+ public bool AutomaticFontSize { get; set; } + + /// + /// Gets or sets the foreground (i.e. text-) color of the field. + /// + /// + /// Note: This is not a real property of an AcroField, but a property of an AcroField's annotation.

+ /// If is included here for convenience so is doesn't has to be set for every annotation separately. + ///
+ public XColor ForeColor + { + get { return foreColor; } + set { foreColor = value; } + } + XColor foreColor = XColors.Black; + + /// + /// Gets or sets the default value of the field. + /// + public virtual PdfItem? DefaultValue + { + get + { + var ancestor = FindParentHavingKey(Keys.DV); + return ancestor.Elements.ContainsKey(Keys.DV) ? ancestor.Elements.GetValue(Keys.DV) : new PdfString(""); + } + set { Elements[Keys.DV] = value; } + } + + /// + /// Gets or sets the alignment for the text of this field. + /// + public virtual PdfAcroFieldTextAlignment TextAlign + { + get + { + var alignment = PdfAcroFieldTextAlignment.Left; // default + var ancestor = FindParentHavingKey(Keys.Q); + if (ancestor.Elements.ContainsKey(Keys.Q)) + alignment = (PdfAcroFieldTextAlignment)ancestor.Elements.GetInteger(Keys.Q); + else if (_document.AcroForm != null && _document.AcroForm.Elements.ContainsKey(Keys.Q)) + alignment = (PdfAcroFieldTextAlignment)_document.AcroForm.Elements.GetInteger(Keys.Q); + return alignment; + } + set { Elements[Keys.Q] = new PdfInteger((int)value); } + } + /// /// Gets the field with the specified name. /// @@ -91,182 +277,703 @@ public bool ReadOnly { if (String.IsNullOrEmpty(name)) return this; - if (HasKids) + if (HasChildFields) return Fields.GetValue(name); return null; } + /// + /// Indicates whether the field has annotations, i.e. visible representations of the field.

+ /// Not all fields have visible representations of their own, e.g. when a field acts only as a container for other fields. + ///
+ public bool HasAnnotations => Annotations.Elements.Count > 0; + /// /// Indicates whether the field has child fields. /// - public bool HasKids + public bool HasChildFields { get { - PdfItem? item = Elements[Keys.Kids]; - if (item == null) - return false; - if (item is PdfArray array) - return array.Elements.Count > 0; + var kidsArray = Elements.GetArray(Keys.Kids); + if (kidsArray != null) + { + for (var i = 0; i < kidsArray.Elements.Count; i++) + { + if (kidsArray.Elements.GetObject(i) is PdfDictionary kid && IsField(kid)) + return true; + } + } return false; } } /// - /// Gets the names of all descendants of this field. + /// Gets the collection of fields within this field. /// - [Obsolete("Use GetDescendantNames")] - public string[] DescendantNames // Properties should not return arrays. - => - GetDescendantNames(); + public PdfAcroFieldCollection Fields + { + get + { + if (_fields == null) + { + // owner may be a widget annotation, we have to make sure, the owner is correct, + // otherwise an exception occurs (/Kids is not a valid key for Annotations) + if (Elements.Owner != this) + Elements.ChangeOwner(this); + object o = Elements.GetValue(Keys.Kids, VCF.CreateIndirect)!; + _fields = (PdfAcroFieldCollection)o; + } + // TODO: It would be nice if the FieldCollection contains only "real" fields. + // Currently, the items are a mix of fields and annotations... + return _fields; + } + } + PdfAcroFieldCollection? _fields; /// - /// Gets the names of all descendants of this field. + /// Gets the annotations for this field. + /// The elements in this list are of type . /// - public string[] GetDescendantNames() + public PdfAnnotationArray Annotations { - List names = []; - if (HasKids) + get { - PdfAcroFieldCollection fields = Fields; - fields.GetDescendantNames(ref names, null); + if (_annotations == null) + { + _annotations = new PdfAnnotationArray(); + var childs = Elements.GetArray(Keys.Kids); + if (childs != null && childs.Elements.Count > 0) + { + for (var i = 0; i < childs.Elements.Count; i++) + { + var obj = childs.Elements.GetDictionary(i); + if (obj is PdfWidgetAnnotation annotation) + _annotations.Elements.Add(annotation); + else if (obj != null && "/Widget".Equals(obj.Elements.GetString(PdfAnnotation.Keys.Subtype), StringComparison.OrdinalIgnoreCase)) + { + var annot = new PdfWidgetAnnotation(obj); + if (annot.Page != null) + annot.Parent = annot.Page.Annotations; + _annotations.Elements.Add(annot); + // must reset the value in the reference after type-transformation so a reference to this field points to the field, not the widget + obj.Reference!.Value = obj; + } + } + } + // if the dictionaries are merged (no childs), use current field as Widget + if ("/Widget".Equals(Elements.GetString(PdfAnnotation.Keys.Subtype), StringComparison.OrdinalIgnoreCase)) + { + var annot = new PdfWidgetAnnotation(this); + if (annot.Page != null) + annot.Parent = annot.Page.Annotations; + _annotations.Elements.Add(annot); + // must reset the value in the reference after type-transformation + Reference!.Value = this; + } + } + return _annotations; } - List temp = []; - foreach (string name in names) - temp.Add(name); - return temp.ToArray(); } + PdfAnnotationArray? _annotations; /// - /// Gets the names of all appearance dictionaries of this AcroField. + /// Adds a new Annotation to this field. /// - public string[] GetAppearanceNames() + /// A method that is used to configure the Annotation + /// The created and configured Annotation + /// + public virtual PdfWidgetAnnotation AddAnnotation(Action configure) { - Dictionary names = new(); - if (Elements["/AP"] is PdfDictionary dict) + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + + var annotation = new PdfWidgetAnnotation(_document) { - AppDict(dict, names); + ParentField = this + }; + // must add to iref-table here because we need a valid Reference for the field's Kids-array + Owner.IrefTable.Add(annotation); - if (HasKids) + configure(annotation); + if (!Elements.ContainsKey(Keys.Kids)) + Elements.GetValue(Keys.Kids, VCF.CreateIndirect); + var childs = Elements.GetArray(Keys.Kids)!; + childs.Elements.Add(annotation.Reference!); + // re-create updated annotations the next time the "Annotations"-Property is accessed + _annotations = null; + return annotation; + } + + /// + /// Removes the specified annotation from this field + /// + /// The annotation to remove + /// true, if the annotation was removed, false otherwise + public bool RemoveAnnotation(PdfWidgetAnnotation annotation) + { + if (annotation == null) + return false; + Debug.Assert(Annotations.Elements.IndexOf(annotation) >= 0, "Annotation is not part of this field"); + + var kids = Elements.GetArray(Keys.Kids); + if (kids != null) + { + for (var i = 0; i < kids.Elements.Count; i++) + { + var kid = kids.Elements.GetObject(i); + if (kid != null && kid.ObjectID == annotation.ObjectID) + { + kids.Elements.RemoveAt(i--); + } + } + } + var removed = Annotations.Elements.Remove(annotation); + if (removed) + annotation.Page?.Annotations.Remove(annotation); + // re-create updated annotations the next time the "Annotations"-Property is accessed + _annotations = null; + + return removed; + } + + /// + /// Determines whether the specified field is an actual AcroField.

+ /// Used to tell apart actual fields from WidgetAnnotations.

+ /// PdfReference 1.7, Chapter 12.7.1: + /// As a convenience, when a field has only a single associated widget annotation, the + /// contents of the field dictionary and the annotation dictionary(12.5.2, 'Annotation Dictionaries') + /// may be merged into a single dictionary containing entries that pertain to both a field and an annotation.

+ /// This means, a PdfObject may be a PdfAcroField AND a PdfWidgetAnnotation at the same time. + /// We consider a dictionary to be a Field, if one of the following is true:

+ /// - the /Subtype is missing (which is required for Annotations),

+ /// - it has an /T or /FT entry (which is required for terminal fields) -> Chapter 12.7.3.1 in PdfReference

+ /// - it has a /Kids entry (which is invalid for Annotations) -> indicates a container for other fields + ///
+ /// + /// + internal static bool IsField(PdfDictionary field) + { + return !field.Elements.ContainsKey(PdfAnnotation.Keys.Subtype) + || field.Elements.ContainsKey(Keys.FT) + || field.Elements.ContainsKey(Keys.T) + || field.Elements.ContainsKey(Keys.Kids); + } + + /// + /// Used to retrieve inherited field-properties from parent-fields.

+ /// If no parent is found having the specified key, this is returned. + ///
+ /// + /// + protected PdfAcroField FindParentHavingKey(string key) + { + var field = this; + if (!field.Elements.ContainsKey(key)) + field = Parent?.FindParentHavingKey(key); + return field ?? this; + } + + /// + /// Adds the specified to the list of child-fields of this field + /// + /// + /// + public void AddChild(PdfAcroField childField) + { + var existingField = Fields.GetValue(childField.Name); + if (existingField != null) + throw new InvalidOperationException($"Field '{Name}' already has a child-field named '{childField.Name}'"); + Fields.Elements.Add(childField); + childField.Parent = this; + } + + /// + /// Removes this field, all child-fields and associated annotations from the document + /// + public void Remove() + { + var annots = Annotations.Elements.ToArray(); + foreach (var annot in annots) + RemoveAnnotation(annot); + + // delete childs + for (var i = 0; i < Fields.Count; i++) + { + var child = Fields[i]; + child.Remove(); + } + Fields.Elements.Clear(); + + var fieldsList = new[] { Parent?.Fields, Owner.AcroForm?.Fields }; + foreach (var fields in fieldsList) + { + for (var i = 0; i < fields?.Elements.Count; i++) { - PdfItem[] kids = Fields.Elements.Items; - foreach (PdfItem pdfItem in kids) + var kid = fields.Elements.GetObject(i); + if (kid != null && kid.ObjectID == ObjectID) { - if (pdfItem is PdfReference) + fields.Elements.RemoveAt(i--); + } + } + } + } + + /// + /// Tries to determine the Appearance of the Field by checking elements of its dictionary + /// + protected virtual void DetermineAppearance() + { + try + { + var ancestor = FindParentHavingKey(Keys.DA); + var da = ancestor.Elements.GetString(Keys.DA); // 12.7.3.3 + if (string.IsNullOrEmpty(da) && _document.AcroForm != null) + { + // if Field does not contain appearance dictionary, check AcroForm + da = _document.AcroForm.Elements.GetString(Keys.DA); + if (da == null) + { + // no appearance found, use some default + font = new XFont("Helvetica", 10, XFontStyleEx.Regular); + return; + } + } + if (!string.IsNullOrEmpty(da)) + DetermineFontFromContent(PdfEncoders.RawEncoding.GetBytes(da)); + } + catch + { + font = new XFont("Helvetica", 10, XFontStyleEx.Regular); + } + } + + /// + /// Attempts to determine the font, font-size and fore-color of this AcroField + /// + /// + protected void DetermineFontFromContent(byte[] contentBytes) + { + string? fontName = null; + double fontSize = 10.0; + var content = ContentReader.ReadContent(contentBytes); + for (var i = 0; i < content.Count; i++) + { + if (content[i] is COperator op) + { + switch (op.OpCode.OpCodeName) + { + case OpCodeName.Tf: + fontName = op.Operands[0].ToString(); + fontSize = double.Parse(op.Operands[1].ToString()!, CultureInfo.InvariantCulture); + break; + case OpCodeName.g: // gray value (0.0 = black, 1.0 = white) + if (op.Operands.Count > 0) + ForeColor = XColor.FromGrayScale(double.Parse(op.Operands[0].ToString()!, CultureInfo.InvariantCulture)); + break; + case OpCodeName.rg: // rgb color (Chapter 8.6.8) + if (op.Operands.Count > 2) + { + var r = double.Parse(op.Operands[0].ToString()!, CultureInfo.InvariantCulture); + var g = double.Parse(op.Operands[1].ToString()!, CultureInfo.InvariantCulture); + var b = double.Parse(op.Operands[2].ToString()!, CultureInfo.InvariantCulture); + ForeColor = XColor.FromArgb((int)Math.Round(r * 255.0), (int)Math.Round(g * 255.0), (int)Math.Round(b * 255.0)); + } + break; + case OpCodeName.k: + if (op.Operands.Count > 3) + { + var c = double.Parse(op.Operands[0].ToString()!, CultureInfo.InvariantCulture); + var m = double.Parse(op.Operands[1].ToString()!, CultureInfo.InvariantCulture); + var y = double.Parse(op.Operands[2].ToString()!, CultureInfo.InvariantCulture); + var k = double.Parse(op.Operands[3].ToString()!, CultureInfo.InvariantCulture); + ForeColor = XColor.FromCmyk((int)Math.Round(c * 255.0), (int)Math.Round(m * 255.0), (int)Math.Round(y * 255.0), (int)Math.Round(k * 255.0)); + } + break; + } + } + } + AutomaticFontSize = fontSize == 0; + _fontSize = fontSize; + if (!string.IsNullOrEmpty(fontName)) + { + if (!TryGetFont(fontName, out font)) + { + // if not found or not supported (e.g. not a TrueTypeFont) create new font + try + { + // try to create font (may use a custom FontResolver) + font = new XFont(fontName, AutomaticFontSize ? 10 : fontSize, XFontStyleEx.Regular, + new XPdfFontOptions(PdfFontEncoding.Automatic, PdfFontEmbedding.EmbedCompleteFontFile)); + } + catch + { + // unable to resolve font, use one of the Standard-Fonts + var defaultFontName = StandardFontNames.Helvetica; + // manually cache font-data so it can be found even without a FontResolver + var typefaceKey = XGlyphTypeface.ComputeGtfKey(defaultFontName, false, false); + if (!Globals.Global.Fonts.GlyphTypefacesByKey.ContainsKey(typefaceKey)) { - PdfDictionary? xxx = ((PdfReference)pdfItem).Value as PdfDictionary; - if (xxx != null) - AppDict(xxx, names); + var fontData = StandardFontData.GetFontData(defaultFontName)!; + var fontSource = XFontSource.GetOrCreateFrom(fontData); + Globals.Global.Fonts.GlyphTypefacesByKey[typefaceKey] = new XGlyphTypeface(fontSource); } + font = new XFont(defaultFontName, + AutomaticFontSize ? 10 : fontSize, + XFontStyleEx.Regular, // should match the options for the typefaceKey + new XPdfFontOptions(PdfFontEncoding.Automatic, PdfFontEmbedding.EmbedCompleteFontFile)); } - //((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(Keys.V, name1); + } + } + } + /// + /// Tries to create an XFont from the information stored in the AcroForm's Font-Resources + /// + /// The key in the AcroForms Font-Resources that identifies the font + /// Contains the font used by this field or null if the font could not be resolved + /// + internal bool TryGetFont(string resourceKey, [MaybeNullWhen(false)] out XFont? xFont) + { + xFont = null; + if (Owner.AcroForm != null && Owner.AcroForm.Resources != null) + { + var fontDict = Owner.AcroForm.Resources.Fonts.Elements.GetDictionary(resourceKey); + if (fontDict != null) + { + var subType = fontDict.Elements.GetName(PdfFont.Keys.Subtype); + var fontName = fontDict.Elements.GetName(PdfFont.Keys.BaseFont); + var fontDescriptor = fontDict.Elements.GetDictionary(PdfFont.Keys.FontDescriptor); + var descendantFonts = fontDict.Elements.GetArray(PdfType0Font.Keys.DescendantFonts); + byte[]? fontData = null; + FontType fontType = FontType.TrueTypeWinAnsi; + // Standard-font that is not embedded + if (subType == "/Type1" && fontDescriptor == null) + { + if (StandardFontData.IsStandardFont(fontName)) + { + fontData = StandardFontData.GetFontData(fontName)!; + } + } + // embedded true-type font + else if (subType == "/TrueType" && fontDescriptor != null) + { + var fileRef = fontDescriptor.Elements.GetDictionary(PdfFontDescriptor.Keys.FontFile2); + if (fileRef != null) + { + fontData = fileRef?.Stream.UnfilteredValue; + } + } + else if (subType == "/Type0" && descendantFonts != null) + { + // entries like those generated by PDFsharp itself + var descFont = descendantFonts.Elements.GetDictionary(0); + if (descFont != null) + { + fontDescriptor = descFont.Elements.GetDictionary(PdfFont.Keys.FontDescriptor); + if (fontDescriptor != null) + { + var fileRef = fontDescriptor.Elements.GetDictionary(PdfFontDescriptor.Keys.FontFile2); + if (fileRef != null) + { + fontData = fileRef?.Stream.UnfilteredValue; + } + } + } + } + if (fontData != null) + { + var fontSource = XFontSource.GetOrCreateFrom(fontData); + var typeFace = new XGlyphTypeface(fontSource); + // cache the typeFace + if (!GlyphTypefaceCache.TryGetGlyphTypeface(typeFace.Key, out _)) + GlyphTypefaceCache.AddGlyphTypeface(typeFace); + // cache the font + Owner.FontTable.CacheExistingFont(fontDict, typeFace, fontType); + var style = XFontStyleEx.Regular; + if (typeFace.IsBold) + style |= XFontStyleEx.Bold; + if (typeFace.IsItalic) + style |= XFontStyleEx.Italic; + xFont = new XFont(typeFace.FamilyName, Math.Max(_fontSize ?? 0, 10.0), style, + new XPdfFontOptions(PdfFontEncoding.Automatic, PdfFontEmbedding.EmbedCompleteFontFile)); + return true; + } } } - string[] array = new string[names.Count]; - names.Keys.CopyTo(array, 0); - return array; + return false; } - //static string[] AppearanceNames(PdfDictionary dictIn) - //{ - // Dictionary names = new Dictionary(); - // PdfDictionary dict = dictIn["/AP"] as PdfDictionary; - // if (dict != null) - // { - // AppDict(dict, names); + /// + /// Calculates the optimal font-size based on the height of the specified widget.

+ /// If a font-size greater than 0 is specified in the field's appearance or default appearance, this size is returned.

+ /// Otherwise the returned font-size is set to be 80% of the widget's height for single-line fields and a fixed value of 10 for multi-line fields.

+ /// Always returns a value greater than 0 + ///
+ /// The widget, the font-size should be based on + /// + internal double DetermineFontSize(PdfWidgetAnnotation? widget) + { + if (FontSize > 0.0) + return FontSize.Value; + + var fontSize = 10.0; + if (widget != null && !widget.Rectangle.IsEmpty) + { + var refValue = widget.Rotation == 0 + || widget.Rotation == 180 + || (widget.Flags & PdfAnnotationFlags.NoRotate) != 0 + ? widget.Rectangle.Height : widget.Rectangle.Width; + + if (this is not PdfTextField field || !field.MultiLine) + // Rects were spotted with negative height + fontSize = Math.Abs(refValue * 0.80); // set font size to 80% of the widget height + return Math.Max(1.0, fontSize); + } + return fontSize; + } - // if (HasKids) - // { - // PdfItem[] kids = Fields.Elements.Items; - // foreach (PdfItem pdfItem in kids) - // { - // if (pdfItem is PdfReference) - // { - // PdfDictionary xxx = ((PdfReference)pdfItem).Value as PdfDictionary; - // if (xxx != null) - // AppDict(xxx, names); - // } - // } - // //((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(Keys.V, name1); + /// + /// This may switch the encoding for the current font to Unicode from the default WinAnsi. + /// + /// + internal void SetFontType(FontType fontType) + { + if (Font is null) + return; - // } - // } - // string[] array = new string[names.Count]; - // names.Keys.CopyTo(array, 0); - // return array; - //} + if (Font.PdfOptions.FontEncoding != PdfFontEncoding.Unicode && fontType == FontType.Type0Unicode) + Font = new XFont(Font.GlyphTypeface, Font.Size, + new XPdfFontOptions(PdfFontEncoding.Unicode, PdfFontEmbedding.EmbedCompleteFontFile)); + } - static void AppDict(PdfDictionary dict, Dictionary names) + /// + /// Adds the font of the current AcroField to the specified XForm object + /// + /// + internal void SetXFormFont(XForm form) { - PdfDictionary? sub; - if ((sub = dict.Elements["/D"] as PdfDictionary) != null) - AppDict2(sub, names); - if ((sub = dict.Elements["/N"] as PdfDictionary) != null) - AppDict2(sub, names); + if (Font is null) + return; + + var fontType = Font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode + ? FontType.Type0Unicode + : FontType.TrueTypeWinAnsi; + var docFont = _document.FontTable.GetOrCreateFont(Font.GlyphTypeface, fontType); + form.PdfForm.Resources.AddFont(docFont); } - static void AppDict2(PdfDictionary dict, Dictionary names) + internal override void PrepareForSave() { - foreach (string key in dict.Elements.Keys) + base.PrepareForSave(); + // add the font to the AcroForm's resources + if (Font != null && _document.AcroForm != null) { - if (!names.ContainsKey(key)) - names.Add(key, null!); + var formResources = _document.AcroForm.GetOrCreateResources(); + var fontType = Font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode + ? FontType.Type0Unicode + : FontType.TrueTypeWinAnsi; + var pdfFont = _document.FontTable.GetOrCreateFont(Font.GlyphTypeface, fontType); + formResources.AddFont(pdfFont); } + // TODO: as a small optimization, we may merge field and annotation if there is only a single annotation + // -> leave this for a future version + if (HasChildFields) + { + for (var i = 0; i < Fields.Elements.Count; i++) + { + var field = Fields[i]; + field.PrepareForSave(); + } + } + // accessing the Fields-property may have created a new empty array, remove that + if (Fields.Elements.Count == 0) + Elements.Remove(Keys.Kids); + // handle annotations + foreach (var annot in Annotations.Elements) + annot.PrepareForSave(); } - internal virtual void GetDescendantNames(ref List names, string? partialName) + internal virtual void Flatten() { - if (HasKids) + // Copy Font-Resources to the Page + // This is neccessary, because Fonts used by AcroFields may be referenced only by the AcroForm, which is deleted after flattening + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + if ((widget.Flags & PdfAnnotationFlags.Hidden) != 0 || (widget.Flags & PdfAnnotationFlags.NoView) != 0) + { + RemoveAnnotation(widget); + i--; + continue; + } + if (widget.Page != null) + { + var acroResources = _document.AcroForm?.Elements.GetDictionary(PdfAcroForm.Keys.DR); + var pageResources = widget.Page.Elements.GetDictionary(PdfPage.Keys.Resources); + if (acroResources != null && pageResources != null) + { + var acroFontList = acroResources.Elements.GetDictionary(PdfResources.Keys.Font); + var pageFontList = pageResources.Elements.GetDictionary(PdfResources.Keys.Font); + if (acroFontList != null) + { + pageFontList ??= new PdfDictionary(Owner); + pageResources.Elements.SetObject(PdfResources.Keys.Font, pageFontList); + foreach (var fontKey in acroFontList.Elements.Keys) + { + if (!pageFontList.Elements.ContainsKey(fontKey)) + pageFontList.Elements.Add(fontKey, acroFontList.Elements[fontKey]); + } + } + } + } + } + + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + // Remove annotation + widget.Parent?.Remove(widget); + widget.Page?.Annotations.Remove(widget); + } + + if (HasChildFields) { - PdfAcroFieldCollection fields = Fields; - string t = Elements.GetString(Keys.T); - Debug.Assert(t != ""); - if (t.Length > 0) + for (var i = 0; i < Fields.Elements.Count; i++) { - if (!String.IsNullOrEmpty(partialName)) - partialName += "." + t; - else - partialName = t; - fields.GetDescendantNames(ref names, partialName); + var field = Fields[i]; + field.Flatten(); } } - else + + if (Reference != null) + _document.IrefTable.Remove(Reference); + + RenderAppearance(); + RenderAppearanceToPage(); + } + + /// + /// Must be overridden by subclasses + /// + protected virtual void RenderAppearance() + { + } + + /// + /// Renders the widget-appearances of this field directly onto the page.

+ /// Used by the method. + ///
+ protected void RenderAppearanceToPage() + { + // /N -> Normal appearance, /R -> Rollover appearance, /D -> Down appearance + const string normalName = "/N"; + + for (var i = 0; i < Annotations.Elements.Count; i++) { - string t = Elements.GetString(Keys.T); - Debug.Assert(t != ""); - if (t.Length > 0) + var widget = Annotations.Elements[i]; + if (widget.Page != null) { - if (!String.IsNullOrEmpty(partialName)) - names.Add(partialName + "." + t); - else - names.Add(t); + var appearances = widget.Elements.GetDictionary(PdfAnnotation.Keys.AP); + if (appearances != null) + { + var normalAppearance = appearances.Elements.GetDictionary(normalName); + var appeareanceState = widget.Elements.GetName(PdfAnnotation.Keys.AS); + // if state is unset, treat normal appearance as the appearance itself + if (normalAppearance != null && string.IsNullOrEmpty(appeareanceState)) + RenderContentStream(widget.Page, normalAppearance, widget.Rectangle); + else if (normalAppearance != null) + { + // the state is used by radio-buttons and checkboxes, which have a checked and an unchecked state + var selectedAppearance = normalAppearance.Elements.GetDictionary(appeareanceState); + if (selectedAppearance != null) + RenderContentStream(widget.Page, selectedAppearance, widget.Rectangle); + } + } } } } /// - /// Gets the collection of fields within this field. + /// Renders the contents of the supplied Stream to the Page at the position specified by the provided Rectangle /// - public PdfAcroFieldCollection Fields + /// Page to render the content onto + /// A containing a stream with drawing-operators and associated resources + /// + protected virtual void RenderContentStream(PdfPage page, PdfDictionary streamDict, PdfRectangle rect) { - get + if (streamDict == null || streamDict.Stream == null || rect.IsEmpty) + return; + var stream = streamDict.Stream; + var content = ContentReader.ReadContent(stream.UnfilteredValue); + // check for graphical objects and copy them to the pages resources + foreach (var obj in content) { - if (_fields == null) + if (obj is COperator op) { - var o = Elements.GetValue(Keys.Kids, VCF.CreateIndirect); - _fields = (PdfAcroFieldCollection?)o ?? NRT.ThrowOnNull(); + if (op.OpCode.OpCodeName == OpCodeName.Do) + { + var arg = op.Operands[0].ToString()!; + var resources = streamDict.Elements.GetDictionary("/Resources"); + if (resources != null) + { + var xobjDict = resources.Elements.GetDictionary("/XObject"); + if (xobjDict != null && xobjDict.Elements.ContainsKey(arg)) + { + var objDict = xobjDict.Elements.GetDictionary(arg)!; + if (!page.Resources.Elements.ContainsKey("/XObject")) + page.Resources.Elements.Add("/XObject", new PdfDictionary()); + xobjDict = page.Resources.Elements.GetDictionary("/XObject")!; + // create new unique name for the xobject + var objKey = arg + Guid.NewGuid().ToString("N"); + objDict.Elements.SetName("/Name", objKey); + xobjDict.Elements[objKey] = objDict; + op.Operands[0] = new CName(objKey); + } + } + } } - return _fields; + } + // TODO: use W or W* operator for clipping + var matrix = new XMatrix(); + matrix.TranslateAppend(rect.X1, rect.Y1); + var matElements = matrix.GetElements(); + var matrixOp = OpCodes.OperatorFromName("cm"); + foreach (var el in matElements) + matrixOp.Operands.Add(new CReal { Value = el }); + content.Insert(0, matrixOp); + + // Save and restore Graphics state + var appendedContent = page.Contents.AppendContent(); + appendedContent.CreateStream(content.ToContent()); + appendedContent.PreserveGraphicsState(); // wrap in q/Q + } + + /// + /// Holds the collection of WidgetAnnotations for a field + /// + public sealed class PdfAnnotationArray + { + private readonly List elements = []; + + /// + /// Gets the list of of the array + /// + public List Elements + { + get { return elements; } } } - PdfAcroFieldCollection? _fields; /// /// Holds a collection of interactive fields. /// public sealed class PdfAcroFieldCollection : PdfArray { + internal PdfAcroFieldCollection(PdfDocument document) + : base(document) + { } + internal PdfAcroFieldCollection(PdfArray array) : base(array) { } @@ -284,40 +991,22 @@ public string[] Names get { int count = Elements.Count; - string[] names = new string[count]; + var names = new List(count); for (int idx = 0; idx < count; idx++) - names[idx] = ((PdfDictionary)((PdfReference)Elements[idx]).Value).Elements.GetString(Keys.T); - return names; - } - } - - /// - /// Gets an array of all descendant names. - /// - public string[] DescendantNames - { - get - { - var names = new List(); - GetDescendantNames(ref names, null); - //List temp = new List(); - //foreach (PdfName name in names) - // temp.Add(name.ToString()); + { + var dict = Elements.GetDictionary(idx); + // the element may be a WidgetAnnotation lacking the /T key, skip these + if (dict != null && dict.Elements.ContainsKey(Keys.T)) + { + var name = dict.Elements.GetString(Keys.T); + if (!string.IsNullOrEmpty(name)) + names.Add(name); + } + } return names.ToArray(); } } - internal void GetDescendantNames(ref List names, string? partialName) - { - int count = Elements.Count; - for (int idx = 0; idx < count; idx++) - { - var field = this[idx]; - if (field != null!) - field.GetDescendantNames(ref names, partialName); - } - } - /// /// Gets a field from the collection. For your convenience an instance of a derived class like /// PdfTextField or PdfCheckBox is returned if PDFsharp can guess the actual type of the dictionary. @@ -372,7 +1061,7 @@ public PdfAcroField this[int index] /// If the actual cannot be guessed by PDFsharp the function returns an instance /// of PdfGenericField. /// - PdfAcroField CreateAcroField(PdfDictionary dict) + internal static PdfAcroField CreateAcroField(PdfDictionary dict) { string ft = dict.Elements.GetName(Keys.FT); PdfAcroFieldFlags flags = (PdfAcroFieldFlags)dict.Elements.GetInteger(Keys.Ff); @@ -400,6 +1089,7 @@ PdfAcroField CreateAcroField(PdfDictionary dict) return new PdfSignatureField(dict); default: + // this is either a non-terminal field or a WidgetAnnotation return new PdfGenericField(dict); } } @@ -415,11 +1105,11 @@ public class Keys : KeysBase /// /// (Required for terminal fields; inheritable) The type of field that this dictionary - /// describes: - /// Btn Button - /// Tx Text - /// Ch Choice - /// Sig (PDF 1.3) Signature + /// describes:

+ /// Btn Button

+ /// Tx Text

+ /// Ch Choice

+ /// Sig (PDF 1.3) Signature

/// Note: This entry may be present in a nonterminal field (one whose descendants /// are themselves fields) in order to provide an inheritable FT value. However, a /// nonterminal field does not logically have a type of its own; it is merely a container @@ -439,7 +1129,12 @@ public class Keys : KeysBase public const string Parent = "/Parent"; /// - /// (Optional) An array of indirect references to the immediate children of this field. + /// (Sometimes required, as described below) An array of indirect references to the immediate + /// children of this field. In a non-terminal field, the Kids array shall refer to field dictionaries + /// that are immediate descendants of this field. In a terminal field, the Kids array ordinarily + /// shall refer to one or more separate widget annotations that are associated with this field. + /// However, if there is only one associated widget annotation, and its contents have been merged + /// into the field dictionary, Kids shall be omitted. /// [KeyInfo(KeyType.Array | KeyType.Optional, typeof(PdfAcroFieldCollection))] public const string Kids = "/Kids"; @@ -498,15 +1193,6 @@ public class Keys : KeysBase // ----- Additional entries to all fields containing variable text -------------------------- - /// - /// (Required; inheritable) A resource dictionary containing default resources - /// (such as fonts, patterns, or color spaces) to be used by the appearance stream. - /// At a minimum, this dictionary must contain a Font entry specifying the resource - /// name and font dictionary of the default font for displaying the field’s text. - /// - [KeyInfo(KeyType.Dictionary | KeyType.Required)] - public const string DR = "/DR"; - /// /// (Required; inheritable) The default appearance string, containing a sequence of /// valid page-content graphics or text state operators defining such properties as @@ -526,6 +1212,22 @@ public class Keys : KeysBase [KeyInfo(KeyType.Integer | KeyType.Optional)] public const string Q = "/Q"; + // Keys specific to fields containing variable text + + /// + /// (Optional; PDF 1.5) A default style string, as described in Adobe XML + /// Architecture, XML Forms Architecture(XFA) Specification, version 3.3. + /// + [KeyInfo(KeyType.String | KeyType.Optional)] + public const string DS = "/DS"; + + /// + /// (Optional; PDF 1.5) A rich text string, as described in Adobe XML + /// Architecture, XML Forms Architecture(XFA) Specification, version 3.3. + /// + [KeyInfo(KeyType.String | KeyType.Optional)] + public const string RV = "/RV"; + // ReSharper restore InconsistentNaming } } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroForm.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroForm.cs index d1763a9d..234cde00 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroForm.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroForm.cs @@ -1,6 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; +using PdfSharp.Pdf.AcroForms.Rendering; +using PdfSharp.Pdf.Advanced; + namespace PdfSharp.Pdf.AcroForms { /// @@ -23,7 +27,8 @@ internal PdfAcroForm(PdfDictionary dictionary) { } /// - /// Gets the fields collection of this form. + /// Gets the fields collection (i.e. the root fields) of this AcroForm.

+ /// To retrieve all fields (including child-fields), use ///
public PdfAcroField.PdfAcroFieldCollection Fields { @@ -39,6 +44,400 @@ public PdfAcroField.PdfAcroFieldCollection Fields } PdfAcroField.PdfAcroFieldCollection? _fields; + /// + /// Gets or sets the default text-alignment for variable text fields. + /// + public PdfAcroFieldTextAlignment? DefaultTextAlign + { + get + { + if (Elements.ContainsKey(Keys.Q)) + return (PdfAcroFieldTextAlignment)Elements.GetInteger(Keys.Q); + return null; + } + set + { + if (value is null) + Elements.Remove(Keys.Q); + else + Elements[Keys.Q] = new PdfInteger((int)value); + } + } + + /// + /// Sets the default appearance for variable text fields. + /// + public void SetDefaultAppearance(XFont font, double fontSize, XColor textColor) + { + if (font is null) + throw new ArgumentNullException(nameof(font)); + if (fontSize < 0.0) + throw new ArgumentException("Font size must be greater or equal to zero", nameof(fontSize)); + + var formResources = GetOrCreateResources(); + var fontType = font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode + ? FontType.Type0Unicode + : FontType.TrueTypeWinAnsi; + var docFont = _document.FontTable.GetOrCreateFont(font.GlyphTypeface, fontType); + var fontName = formResources.AddFont(docFont); + var da = string.Format(CultureInfo.InvariantCulture, "{0} {1:F2} Tf {2:F4} {3:F4} {4:F4} rg", + fontName, fontSize, textColor.R / 255, textColor.G / 255, textColor.B / 255); + Elements.SetString(Keys.DA, da); + } + + /// + /// Gets the flattened field-hierarchy of this AcroForm + /// + public IEnumerable GetAllFields() + { + var fields = new List(); + if (Fields != null) + { + for (var i = 0; i < Fields.Elements.Count; i++) + { + var field = Fields[i]; + TraverseFields(field, fields); + } + } + return fields; + } + + private static void TraverseFields(PdfAcroField parentField, List fieldList) + { + fieldList.Add(parentField); + for (var i = 0; i < parentField.Fields.Elements.Count; i++) + { + var field = parentField.Fields[i]; + if (PdfAcroField.IsField(field)) + TraverseFields(field, fieldList); + } + } + + internal PdfResources? Resources + { + get + { + if (resources == null) + resources = (PdfResources?)Elements.GetValue(Keys.DR, VCF.None); + return resources; + } + } + PdfResources? resources; + + /// + /// Gets the of this or creates a new one if none exist + /// + /// The of this AcroForm + internal PdfResources GetOrCreateResources() + { + var resources = Resources; + if (resources == null) + Elements.Add(Keys.DR, new PdfResources(_document)); + return Resources!; + } + + private PdfAcroFieldRenderer? fieldRenderer; + /// + /// Gets the used to render s + /// + public PdfAcroFieldRenderer FieldRenderer + { + get + { + fieldRenderer ??= new PdfAcroFieldRenderer(); + return fieldRenderer; + } + } + + internal override void PrepareForSave() + { + // Need to create "Fields" Entry after importing fields from external documents + if (_fields != null && _fields.Elements.Count > 0 && !Elements.ContainsKey(Keys.Fields)) + { + Elements.Add(Keys.Fields, _fields); + } + // do not use the Fields-Property, as that may create a new unwanted fields-array ! + var fieldsArray = Elements.GetArray(Keys.Fields); + if (fieldsArray != null) + { + for (var i = 0; i < fieldsArray.Elements.Count; i++) + { + if (fieldsArray.Elements[i] is PdfReference field && field.Value != null) + field.Value.PrepareForSave(); + } + } + base.PrepareForSave(); + } + + /// + /// Flattens the AcroForm by rendering Field-contents directly onto the page + /// + internal void Flatten() + { + for (var i = 0; i < Fields.Elements.Count; i++) + { + var field = Fields[i]; + field.Flatten(); + } + _document.Catalog.AcroForm = null; + } + + /// + /// Adds a new to the + /// + /// + /// A method that receives the new for further customization

+ /// + /// The created and configured + /// + /// + /// This method adds the new field to the root of the field-hierarchy.

+ /// To add the new field as a child to another field, create the parent-field first and + /// then add the new field to the parent inside the action. + ///

+ /// Like so: + ///

+ /// acroForm.AddTextField(field =>

+ /// {

+ /// ... // configure the field as needed

+ /// parentField.AddChild(field);

+ /// });

+ ///
+ public PdfTextField AddTextField(Action configure) + { + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + var field = new PdfTextField(_document); + return AddToFieldList(field, configure); + } + + /// + /// Adds a new to the + /// + /// + /// A method that receives the new for further customization

+ /// + /// The created and configured + /// + /// + /// This method adds the new field to the root of the field-hierarchy.

+ /// To add the new field as a child to another field, create the parent-field first and + /// then add the new field to the parent inside the action. + ///

+ /// Like so: + ///

+ /// acroForm.AddCheckBoxField(field =>

+ /// {

+ /// ... // configure the field as needed

+ /// parentField.AddChild(field);

+ /// });

+ ///
+ public PdfCheckBoxField AddCheckBoxField(Action configure) + { + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + var field = new PdfCheckBoxField(_document); + return AddToFieldList(field, configure); + } + + /// + /// Adds a new to the + /// + /// + /// A method that receives the new for further customization

+ /// + /// The created and configured + /// + /// + /// This method adds the new field to the root of the field-hierarchy.

+ /// To add the new field as a child to another field, create the parent-field first and + /// then add the new field to the parent inside the action. + ///

+ /// Like so: + ///

+ /// acroForm.AddRadioButtonField(field =>

+ /// {

+ /// ... // configure the field as needed

+ /// parentField.AddChild(field);

+ /// });

+ ///
+ public PdfRadioButtonField AddRadioButtonField(Action configure) + { + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + var field = new PdfRadioButtonField(_document); + return AddToFieldList(field, configure); + } + + /// + /// Adds a new to the + /// + /// + /// A method that receives the new for further customization

+ /// + /// The created and configured + /// + /// + /// This method adds the new field to the root of the field-hierarchy.

+ /// To add the new field as a child to another field, create the parent-field first and + /// then add the new field to the parent inside the action. + ///

+ /// Like so: + ///

+ /// acroForm.AddComboBoxField(field =>

+ /// {

+ /// ... // configure the field as needed

+ /// parentField.AddChild(field);

+ /// });

+ ///
+ public PdfComboBoxField AddComboBoxField(Action configure) + { + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + var field = new PdfComboBoxField(_document); + return AddToFieldList(field, configure); + } + + /// + /// Adds a new to the + /// + /// + /// A method that receives the new for further customization

+ /// + /// The created and configured + /// + /// + /// This method adds the new field to the root of the field-hierarchy.

+ /// To add the new field as a child to another field, create the parent-field first and + /// then add the new field to the parent inside the action. + ///

+ /// Like so: + ///

+ /// acroForm.AddListBoxField(field =>

+ /// {

+ /// ... // configure the field as needed

+ /// parentField.AddChild(field);

+ /// });

+ ///
+ public PdfListBoxField AddListBoxField(Action configure) + { + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + var field = new PdfListBoxField(_document); + return AddToFieldList(field, configure); + } + + /// + /// Adds a new to the + /// + /// + /// A method that receives the new for further customization

+ /// + /// The created and configured + /// + /// + /// This method adds the new field to the root of the field-hierarchy.

+ /// To add the new field as a child to another field, create the parent-field first and + /// then add the new field to the parent inside the action. + ///

+ /// Like so: + ///

+ /// acroForm.AddPushButtonField(field =>

+ /// {

+ /// ... // configure the field as needed

+ /// parentField.AddChild(field);

+ /// });

+ ///
+ public PdfPushButtonField AddPushButtonField(Action configure) + { + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + var field = new PdfPushButtonField(_document); + return AddToFieldList(field, configure); + } + + /// + /// Adds a new to the + /// + /// + /// A method that receives the new for further customization

+ /// + /// The created and configured + /// + /// + /// This method adds the new field to the root of the field-hierarchy.

+ /// To add the new field as a child to another field, create the parent-field first and + /// then add the new field to the parent inside the action. + ///

+ /// Like so: + ///

+ /// acroForm.AddSignatureField(field =>

+ /// {

+ /// ... // configure the field as needed

+ /// parentField.AddChild(field);

+ /// });

+ ///
+ public PdfSignatureField AddSignatureField(Action configure) + { + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + var field = new PdfSignatureField(_document); + return AddToFieldList(field, configure); + } + + /// + /// Adds a new to the

+ /// Typically used as a container for other fields + ///
+ /// + /// A method that receives the new for further customization

+ /// + /// The created and configured + /// + /// + /// This method adds the new field to the root of the field-hierarchy.

+ /// To add the new field as a child to another field, create the parent-field first and + /// then add the new field to the parent inside the action. + ///

+ /// Like so: + ///

+ /// acroForm.AddGenericField(field =>

+ /// {

+ /// ... // configure the field as needed

+ /// parentField.AddChild(field);

+ /// });

+ ///
+ public PdfGenericField AddGenericField(Action configure) + { + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + var field = new PdfGenericField(_document); + return AddToFieldList(field, configure); + } + + private T AddToFieldList(T field, Action configure) where T : PdfAcroField + { + _document.IrefTable.Add(field); + configure(field); + if (field.Parent == null) + { + // ensure names of root-fields are unique + var existingField = Fields.GetValue(field.Name); + if (existingField != null) + { + var name = existingField.Name.AddIncrementalSuffix(); + // search for next free number + while (Fields.GetValue(name) != null) + { + name = name.AddIncrementalSuffix(); + } + field.Name = name; + } + Fields.Elements.Add(field); + } + return field; + } + /// /// Predefined keys of this dictionary. /// The description comes from PDF 1.4 Reference. @@ -55,9 +454,9 @@ public sealed class Keys : KeysBase public const string Fields = "/Fields"; /// - /// (Optional) A flag specifying whether to construct appearance streams and - /// appearance dictionaries for all widget annotations in the document. - /// Default value: false. + /// (Optional) A flag specifying whether to construct appearance streams and appearance dictionaries + /// for all widget annotations in the document(see 12.7.3.3, “Variable Text”). + /// Default value: false. /// [KeyInfo(KeyType.Boolean | KeyType.Optional)] public const string NeedAppearances = "/NeedAppearances"; @@ -80,9 +479,13 @@ public sealed class Keys : KeysBase public const string CO = "/CO"; /// - /// (Optional) A document-wide default value for the DR attribute of variable text fields. + /// (Optional) A resource dictionary (see 7.8.3, "Resource Dictionaries") + /// containing default resources(such as fonts, patterns, or colour spaces) + /// that shall be used by form field appearance streams. + /// At a minimum, this dictionary shall contain a Font entry specifying the resource name + /// and font dictionary of the default font for displaying text. /// - [KeyInfo(KeyType.Dictionary | KeyType.Optional)] + [KeyInfo(KeyType.Dictionary | KeyType.Optional, typeof(PdfResources))] public const string DR = "/DR"; /// @@ -97,6 +500,16 @@ public sealed class Keys : KeysBase [KeyInfo(KeyType.Integer | KeyType.Optional)] public const string Q = "/Q"; + /// + /// (Optional; PDF 1.5) A stream or array containing an XFA resource, + /// whose format shall be described by the Data Package (XDP) Specification. (see the Bibliography).

+ /// The value of this entry shall be either a stream representing the entire contents + /// of the XML Data Package or an array of text string and stream pairs + /// representing the individual packets comprising the XML Data Package. + ///
+ [KeyInfo(KeyType.ArrayOrDictionary | KeyType.Optional)] + public const string XFA = "/XFA"; + /// /// Gets the KeysMeta for these keys. /// diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroFormImporter.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroFormImporter.cs new file mode 100644 index 00000000..5afc373e --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroFormImporter.cs @@ -0,0 +1,250 @@ +using PdfSharp.Pdf.Advanced; +using PdfSharp.Pdf.Annotations; + +namespace PdfSharp.Pdf.AcroForms +{ + /// + /// Imports s + /// + internal sealed class PdfAcroFormImporter : PdfObject + { + /// + /// Create a new for importing into the specified + /// + /// + internal PdfAcroFormImporter(PdfDocument targetDocument) + : base(targetDocument) + { + } + + internal void ImportAcroForm(PdfAcroForm remoteForm, + Func? fieldFilter = null, + Action? fieldHandler = null) + { + // skip, if there is no AcroForm or an AcroForm without fields + if (remoteForm == null || !remoteForm.Fields.Names.Any()) + return; + + var importedObjectTable = Owner.FormTable.GetImportedObjectTable(remoteForm.Owner); + var needNewForm = Owner.Catalog.AcroForm == null; + var localForm = Owner.GetOrCreateAcroForm(); + if (needNewForm) + { + if (remoteForm.Elements.ContainsKey(PdfAcroForm.Keys.CO)) + localForm.Elements[PdfAcroForm.Keys.CO] = ImportClosure(importedObjectTable, _document, remoteForm.Elements.GetObject(PdfAcroForm.Keys.CO)!); + if (remoteForm.Elements.ContainsKey(PdfAcroForm.Keys.DA)) + localForm.Elements[PdfAcroForm.Keys.DA] = remoteForm.Elements[PdfAcroForm.Keys.DA]; + if (remoteForm.Elements.ContainsKey(PdfAcroForm.Keys.DR)) + localForm.Elements[PdfAcroForm.Keys.DR] = ImportClosure(importedObjectTable, _document, remoteForm.Elements.GetObject(PdfAcroForm.Keys.DR)!); + if (remoteForm.Elements.ContainsKey(PdfAcroForm.Keys.NeedAppearances)) + localForm.Elements[PdfAcroForm.Keys.NeedAppearances] = remoteForm.Elements[PdfAcroForm.Keys.NeedAppearances]; + if (remoteForm.Elements.ContainsKey(PdfAcroForm.Keys.Q)) + localForm.Elements[PdfAcroForm.Keys.Q] = remoteForm.Elements[PdfAcroForm.Keys.Q]; + if (remoteForm.Elements.ContainsKey(PdfAcroForm.Keys.SigFlags)) + localForm.Elements[PdfAcroForm.Keys.SigFlags] = remoteForm.Elements[PdfAcroForm.Keys.SigFlags]; + if (remoteForm.Elements.ContainsKey(PdfAcroForm.Keys.XFA)) + localForm.Elements[PdfAcroForm.Keys.XFA] = ImportClosure(importedObjectTable, Owner, remoteForm.Elements.GetObject(PdfAcroForm.Keys.XFA)!); + } + else + { + // copy resources from the imported AcroForm to the local form + var extResources = remoteForm.Elements.GetDictionary(PdfAcroForm.Keys.DR); + if (extResources != null) + { + var localResources = localForm.Elements.GetDictionary(PdfAcroForm.Keys.DR) ?? new PdfDictionary(Owner); + var resourceKeys = new[] { PdfResources.Keys.Font, PdfResources.Keys.XObject }; + foreach (var resKey in resourceKeys) + { + var extResDict = extResources.Elements.GetDictionary(resKey); + if (extResDict != null) + { + var localResDict = localResources.Elements.GetDictionary(resKey) ?? new PdfDictionary(Owner); + foreach (var key in extResDict.Elements.Keys) + { + if (!localResDict.Elements.ContainsKey(key)) + localResDict.Elements.Add(key, ImportClosure(importedObjectTable, Owner, extResDict.Elements.GetObject(key)!)); + } + if (!localResources.Elements.ContainsKey(resKey)) + localResources.Elements.Add(resKey, localResDict); + } + } + if (!localForm.Elements.ContainsKey(PdfAcroForm.Keys.DR)) + localForm.Elements.Add(PdfAcroForm.Keys.DR, localResources); + } + } + + for (var f = 0; f < remoteForm.Fields.Elements.Count; f++) + { + var remoteField = remoteForm.Fields[f]; + if (fieldFilter != null && !fieldFilter(remoteField)) + continue; + ImportAcroField(localForm, remoteField, null, fieldHandler); + } + } + + private void ImportAcroField(PdfAcroForm localForm, PdfAcroField remoteField, PdfAcroField? parentField = null, + Action? fieldHandler = null) + { + var importedObjectTable = Owner.FormTable.GetImportedObjectTable(remoteField.Owner); + var annotationsImported = false; + + PdfAcroField importedField = remoteField.GetType().Name switch + { + nameof(PdfCheckBoxField) => localForm.AddCheckBoxField(checkBoxField => + { + var externalCheckBoxField = (PdfCheckBoxField)remoteField; + checkBoxField.Name = remoteField.Name; + checkBoxField.Checked = externalCheckBoxField.Checked; + parentField?.AddChild(checkBoxField); + }), + nameof(PdfComboBoxField) => localForm.AddComboBoxField(comboBoxField => + { + var externalComboBoxField = (PdfComboBoxField)remoteField; + comboBoxField.Name = remoteField.Name; + comboBoxField.Options = externalComboBoxField.Options; + comboBoxField.SelectedIndex = externalComboBoxField.SelectedIndex; + if (remoteField.Elements.ContainsKey(PdfChoiceField.Keys.Opt)) + comboBoxField.Elements[PdfChoiceField.Keys.Opt] = remoteField.Elements[PdfChoiceField.Keys.Opt]!.Clone(); + parentField?.AddChild(comboBoxField); + }), + nameof(PdfListBoxField) => localForm.AddListBoxField(listBoxField => + { + var externalListBoxField = (PdfListBoxField)remoteField; + listBoxField.Name = remoteField.Name; + listBoxField.Options = externalListBoxField.Options; + listBoxField.SelectedIndices = externalListBoxField.SelectedIndices; + if (remoteField.Elements.ContainsKey(PdfChoiceField.Keys.Opt)) + listBoxField.Elements[PdfChoiceField.Keys.Opt] = remoteField.Elements[PdfChoiceField.Keys.Opt]!.Clone(); + parentField?.AddChild(listBoxField); + }), + nameof(PdfRadioButtonField) => localForm.AddRadioButtonField(radioButtonField => + { + var extRadioButtonField = (PdfRadioButtonField)remoteField; + // must copy annotations here, because SelectedIndex relies on them + ImportFieldAnnotations(radioButtonField, remoteField); + annotationsImported = true; + radioButtonField.Name = remoteField.Name; + radioButtonField.SelectedIndex = extRadioButtonField.SelectedIndex; + if (remoteField.Elements.ContainsKey(PdfRadioButtonField.Keys.Opt)) + radioButtonField.Elements[PdfRadioButtonField.Keys.Opt] = remoteField.Elements[PdfRadioButtonField.Keys.Opt]!.Clone(); + parentField?.AddChild(radioButtonField); + }), + nameof(PdfSignatureField) => localForm.AddSignatureField(signatureField => + { + signatureField.Name = remoteField.Name; + if (remoteField.Elements.ContainsKey(PdfSignatureField.Keys.Lock)) + signatureField.Elements[PdfSignatureField.Keys.Lock] = ImportClosure(importedObjectTable, Owner, remoteField.Elements.GetObject(PdfSignatureField.Keys.Lock)!); + if (remoteField.Elements.ContainsKey(PdfSignatureField.Keys.SV)) + signatureField.Elements[PdfSignatureField.Keys.SV] = ImportClosure(importedObjectTable, Owner, remoteField.Elements.GetObject(PdfSignatureField.Keys.SV)!); + parentField?.AddChild(signatureField); + }), + nameof(PdfGenericField) => localForm.AddGenericField(genericField => + { + genericField.Name = remoteField.Name; + parentField?.AddChild(genericField); + }), + nameof(PdfTextField) => localForm.AddTextField(textField => + { + var externalTextField = (PdfTextField)remoteField; + textField.Name = remoteField.Name; + textField.MaxLength = externalTextField.MaxLength; + textField.Text = externalTextField.Text; + parentField?.AddChild(textField); + }), + nameof(PdfPushButtonField) => localForm.AddPushButtonField(pushButton => + { + pushButton.Name = remoteField.Name; + parentField?.AddChild(pushButton); + }), + _ => throw new NotImplementedException($"Field type {remoteField.GetType().Name} is not handled"), + }; + // copy common properties + if (!string.IsNullOrEmpty(importedField.AlternateName)) + importedField.AlternateName = remoteField.AlternateName; + if (!string.IsNullOrEmpty(importedField.MappingName)) + importedField.MappingName = remoteField.MappingName; + if (remoteField.DefaultValue != null && importedField is not PdfPushButtonField) + importedField.DefaultValue = remoteField.DefaultValue; + if (remoteField.Elements.ContainsKey(PdfAcroField.Keys.DA)) + importedField.Elements[PdfAcroField.Keys.DA] = remoteField.Elements[PdfAcroField.Keys.DA]; + if (remoteField.Elements.ContainsKey(PdfAcroField.Keys.DS)) + importedField.Elements[PdfAcroField.Keys.DS] = remoteField.Elements[PdfAcroField.Keys.DS]; + if (remoteField.Elements.ContainsKey(PdfAcroField.Keys.RV)) + importedField.Elements[PdfAcroField.Keys.RV] = remoteField.Elements[PdfAcroField.Keys.RV]; + if (remoteField.Elements.ContainsKey(PdfAcroField.Keys.AA)) + importedField.Elements[PdfAcroField.Keys.AA] = ImportClosure(importedObjectTable, Owner, remoteField.Elements.GetObject(PdfAcroField.Keys.AA)!); + importedField.SetFlags = remoteField.Flags; + importedField.Font = remoteField.Font; + importedField.FontSize = remoteField.FontSize; + importedField.ForeColor = remoteField.ForeColor; + importedField.TextAlign = remoteField.TextAlign; + + if (!annotationsImported) + ImportFieldAnnotations(importedField, remoteField); + + fieldHandler?.Invoke(remoteField, importedField); + + if (remoteField.HasChildFields) + { + for (var i = 0; i < remoteField.Fields.Elements.Count; i++) + ImportAcroField(localForm, remoteField.Fields[i], importedField, fieldHandler); + } + } + + private void ImportFieldAnnotations(PdfAcroField localField, PdfAcroField remoteField) + { + var importedObjectTable = Owner.FormTable.GetImportedObjectTable(remoteField.Owner); + foreach (var remoteAnnot in remoteField.Annotations.Elements) + { + // skip annotation if it is associated with a page that was not imported + if (remoteAnnot.Page != null && !importedObjectTable.Contains(remoteAnnot.Page.ObjectID)) + continue; + + localField.AddAnnotation(annot => + { + annot.BackColor = remoteAnnot.BackColor; + annot.BorderColor = remoteAnnot.BorderColor; + annot.Border = new PdfAnnotationBorder + { + BorderStyle = remoteAnnot.Border.BorderStyle, + DashPattern = remoteAnnot.Border.DashPattern, + HorizontalRadius = remoteAnnot.Border.HorizontalRadius, + VerticalRadius = remoteAnnot.Border.VerticalRadius, + Width = remoteAnnot.Border.Width + }; + annot.Color = remoteAnnot.Color; + annot.Flags = remoteAnnot.Flags; + annot.Opacity = remoteAnnot.Opacity; + annot.Rectangle = remoteAnnot.Rectangle; + annot.Rotation = remoteAnnot.Rotation; + if (remoteAnnot.Elements.ContainsKey(PdfAnnotation.Keys.AP)) + annot.Elements[PdfAnnotation.Keys.AP] = ImportClosure(importedObjectTable, _document, remoteAnnot.Elements.GetObject(PdfAnnotation.Keys.AP)!); + if (remoteAnnot.Elements.ContainsKey(PdfAnnotation.Keys.AS)) + annot.Elements[PdfAnnotation.Keys.AS] = remoteAnnot.Elements[PdfAnnotation.Keys.AS]; + if (remoteAnnot.Elements.ContainsKey(PdfAnnotation.Keys.NM)) + annot.Elements[PdfAnnotation.Keys.NM] = remoteAnnot.Elements[PdfAnnotation.Keys.NM]; + if (remoteAnnot.Elements.ContainsKey(PdfAnnotation.Keys.Contents)) + annot.Elements[PdfAnnotation.Keys.Contents] = remoteAnnot.Elements[PdfAnnotation.Keys.Contents]; + if (remoteAnnot.Elements.ContainsKey(PdfAnnotation.Keys.A)) + annot.Elements[PdfAnnotation.Keys.A] = ImportClosure(importedObjectTable, Owner, remoteAnnot.Elements.GetObject(PdfAnnotation.Keys.A)!); + if (remoteAnnot.Elements.ContainsKey(PdfWidgetAnnotation.Keys.H)) + annot.Elements[PdfWidgetAnnotation.Keys.H] = remoteAnnot.Elements[PdfWidgetAnnotation.Keys.H]; + if (remoteAnnot.Elements.ContainsKey(PdfWidgetAnnotation.Keys.MK)) + annot.Elements[PdfWidgetAnnotation.Keys.MK] = ImportClosure(importedObjectTable, _document, remoteAnnot.Elements.GetObject(PdfWidgetAnnotation.Keys.MK)!); + if (remoteAnnot.Page != null && importedObjectTable.Contains(remoteAnnot.Page.ObjectID)) + { + var localPage = importedObjectTable[remoteAnnot.Page.ObjectID]!.Value as PdfPage; + // avoid duplicate annotations (page-import already imported annotations) + if (localPage != null + && importedObjectTable.Contains(remoteAnnot.ObjectID) + && importedObjectTable[remoteAnnot.ObjectID].Value is PdfDictionary importedAnnot) + { + localPage.Annotations.Remove(new PdfGenericAnnotation(importedAnnot)); + } + annot.Page = localPage; + } + }); + } + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfButtonField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfButtonField.cs index 1982cf1f..32232078 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfButtonField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfButtonField.cs @@ -1,9 +1,5 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. - -using System; -using System.Collections.Generic; -using System.Diagnostics; using PdfSharp.Pdf.Annotations; namespace PdfSharp.Pdf.AcroForms @@ -18,7 +14,9 @@ public abstract class PdfButtonField : PdfAcroField ///
protected PdfButtonField(PdfDocument document) : base(document) - { } + { + Elements.SetName(PdfAcroField.Keys.FT, "Btn"); + } /// /// Initializes a new instance of the class. @@ -27,40 +25,96 @@ protected PdfButtonField(PdfDictionary dict) : base(dict) { } + /// + /// Gets the name which represents the opposite of Off. + /// + public string? GetNonOffValue() + { + return GetNonOffValueInternal().TrimStart('/'); + } + /// /// Gets the name which represents the opposite of /Off. /// - protected string GetNonOffValue() + protected string GetNonOffValueInternal() { // Try to get the information from the appearance dictionary. // Just return the first key that is not /Off. - // I�m not sure what is the right solution to get this value. - var ap = Elements[PdfAnnotation.Keys.AP] as PdfDictionary; - if (ap != null) + // I'm not sure what is the right solution to get this value. + if (Annotations.Elements.Count > 0) + { + var widget = Annotations.Elements[0]; + if (widget != null) + { + var ap = widget.Elements.GetDictionary(PdfAnnotation.Keys.AP); + if (ap != null) + { + var n = ap.Elements.GetDictionary("/N"); + if (n != null) + { + foreach (string name in n.Elements.Keys) + if (name != "/Off") + return name; + } + } + } + } + return "/Yes"; + } + + /// + /// Gets the name which represents the opposite of /Off for the specified widget. + /// + /// + /// + protected static string? GetNonOffValue(PdfWidgetAnnotation widget) + { + if (widget != null) { - var n = ap.Elements["/N"] as PdfDictionary; - if (n != null) + var ap = widget.Elements.GetDictionary(PdfAnnotation.Keys.AP); + if (ap != null) { - foreach (string name in n.Elements.Keys) - if (name != "/Off") - return name; + var n = ap.Elements.GetDictionary("/N"); + if (n != null) + { + return n.Elements.Keys.FirstOrDefault(name => name != "/Off"); + } } } - return null!; + return null; } - internal override void GetDescendantNames(ref List names, string? partialName) + /// + /// Attempts to determine the visual appearance for this AcroField + /// + protected override void DetermineAppearance() { - string t = Elements.GetString(PdfAcroField.Keys.T); - if (t == "") - t = "???"; - Debug.Assert(t != ""); - if (t.Length > 0) + base.DetermineAppearance(); + for (var i = 0; i < Annotations.Elements.Count; i++) { - if (!String.IsNullOrEmpty(partialName)) - names.Add(partialName + "." + t); - else - names.Add(t); + var widget = Annotations.Elements[i]; + if (widget.Page != null) + { + var appearance = widget.Elements.GetDictionary(PdfAnnotation.Keys.AP); + if (appearance != null) + { + // /N -> Normal appearance, /R -> Rollover appearance, /D -> Down appearance + var normalAppearance = appearance.Elements.GetDictionary("/N"); + if (normalAppearance != null) + { + var activeAppearance = normalAppearance.Elements.GetDictionary(GetNonOffValueInternal()); + if (activeAppearance != null) + { + try + { + DetermineFontFromContent(activeAppearance.Stream.UnfilteredValue); + } + catch + { } + } + } + } + } } } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfCheckBoxField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfCheckBoxField.cs index 85980bb1..b246a9a8 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfCheckBoxField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfCheckBoxField.cs @@ -1,8 +1,8 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; using PdfSharp.Pdf.Annotations; -using PdfSharp.Pdf.Advanced; namespace PdfSharp.Pdf.AcroForms { @@ -24,156 +24,29 @@ internal PdfCheckBoxField(PdfDictionary dict) : base(dict) { } -#if true_ + /// - /// Indicates whether the field is checked. + /// Gets or sets the value of this field. This should be either Off or + /// the result of (typically Yes) /// - public bool Checked //R080317 // TODO_OLD + public new string Value { - get - { - if (!HasKids) - { - string value = Elements.GetString(Keys.V); - //return !String.IsNullOrEmpty(value) && value != UncheckedValue; - return !String.IsNullOrEmpty(value) && value == CheckedName; - } - - if (Fields.Elements.Items.Length == 2) - { - string value = ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.GetString(Keys.V); - //bool bReturn = value.Length != 0 && value != UncheckedValue; //R081114 (3Std.!!) auch auf Nein prüfen; //TODO_OLD woher kommt der Wert? - bool bReturn = value.Length != 0 && value == CheckedName; - return bReturn; - } - - // NYI: Return false in any other case. - return false; - } - + get { return (base.Value?.ToString() ?? "Off").TrimStart('/'); } set { - if (!HasKids) + if (ReadOnly) + throw new InvalidOperationException("The field is read only."); + if (value != null && value.Equals(GetNonOffValueInternal().TrimStart('/'), StringComparison.OrdinalIgnoreCase)) { - //string name = value ? GetNonOffValue() : "/Off"; - string name = value ? CheckedName : UncheckedName; - Elements.SetName(Keys.V, name); - Elements.SetName(PdfAnnotation.Keys.AS, name); + Elements.SetName(PdfAcroField.Keys.V, value); } + else if (value != "Off" && value != GetNonOffValueInternal()) + throw new ArgumentException($"'{value}' is not a valid value for field '{FullyQualifiedName}'. Valid values are either '/Off' or '{GetNonOffValueInternal()}'"); else - { - // Here we have to handle fields that exist twice with the same name. - // Checked must be set for both fields, using /Off for one field and skipping /Off for the other, - // to have only one field with a check mark. - // Finding this took me two working days. - if (Fields.Elements.Items.Length == 2) - { - if (value) - { - //Element 0 behandeln -> auf checked setzen - string name1 = ""; - PdfDictionary o = ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements["/AP"] as PdfDictionary; - if (o != null) - { - PdfDictionary n = o.Elements["/N"] as PdfDictionary; - if (n != null) - { - foreach (string name in n.Elements.Keys) - { - //if (name != UncheckedValue) - if (name == CheckedName) - { - name1 = name; - break; - } - } - } - } - if (name1.Length != 0) - { - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.SetName(Keys.V, name1); - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.SetName(PdfAnnotation.Keys.AS, name1); - } - - //Element 1 behandeln -> auf unchecked setzen - o = ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements["/AP"] as PdfDictionary; - if (o != null) - { - PdfDictionary n = o.Elements["/N"] as PdfDictionary; - if (n != null) - { - foreach (string name in n.Elements.Keys) - { - if (name == UncheckedName) - { - name1 = name; - break; - } - } - } - } - if (!String.IsNullOrEmpty(name1)) - { - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(Keys.V, name1); - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(PdfAnnotation.Keys.AS, name1); - } - } - else - { - //Element 0 behandeln -> auf unchecked setzen - string name1 = ""; - PdfDictionary o = ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements["/AP"] as PdfDictionary; - if (o != null) - { - PdfDictionary n = o.Elements["/N"] as PdfDictionary; - if (n != null) - { - foreach (string name in n.Elements.Keys) - { - //if (name != UncheckedValue) - if (name == CheckedName) - { - name1 = name; - break; - } - } - } - } - if (name1.Length != 0) - { - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(Keys.V, name1); - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(PdfAnnotation.Keys.AS, name1); - } - - //Element 1 behandeln -> auf checked setzen - o = ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements["/AP"] as PdfDictionary; - if (o != null) - { - PdfDictionary n = o.Elements["/N"] as PdfDictionary; - if (n != null) - { - foreach (string name in n.Elements.Keys) - { - if (name == UncheckedName) - { - name1 = name; - break; - } - } - } - } - if (name1.Length != 0) - { - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.SetName(Keys.V, name1); - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.SetName(PdfAnnotation.Keys.AS, name1); - } - } - } - } + Elements.SetName(PdfAcroField.Keys.V, "/Off"); } } -#else /// /// Indicates whether the field is checked. /// @@ -181,139 +54,90 @@ public bool Checked { get { - if (!HasKids) //R080317 + var value = Elements.GetString(PdfAcroField.Keys.V); + var widget = Annotations.Elements.Count > 0 ? Annotations.Elements[0] : null; + if (widget != null) { - string value = Elements.GetString(PdfAcroField.Keys.V); - return value.Length != 0 && value != "/Off"; - } - else //R080317 - { - if (Fields.Elements.Items.Length == 2) + if (string.IsNullOrEmpty(value)) + value = widget.Elements.GetString(PdfAnnotation.Keys.AS); + var appearances = widget.Elements.GetDictionary(PdfAnnotation.Keys.AP); + if (appearances != null) { - string value = ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.GetString(PdfAcroField.Keys.V); - bool bReturn = value.Length != 0 && value != "/Off" && value != "/Nein"; //R081114 (3Std.!!) auch auf Nein prüfen; //TODO_OLD woher kommt der Wert? - return bReturn; + var normalState = appearances.Elements.GetDictionary("/N"); + if (normalState != null) + return value.Length != 0 && value != "/Off" && normalState.Elements.ContainsKey(value); } - else - return false; } + return value.Length != 0 && value != "/Off"; } set { - if (!HasKids) + if (ReadOnly) + throw new InvalidOperationException("The field is read only."); + var name = value ? GetNonOffValueInternal() : "/Off"; + Elements.SetName(PdfAcroField.Keys.V, name); + } + } + + /// + /// Renders the appearance of this field + /// + protected override void RenderAppearance() + { + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + var rect = widget.Rectangle; + var width = Math.Abs(rect.Width); + var height = Math.Abs(rect.Height); + // ensure a minimum size of 1x1, otherwise an exception is thrown + if (width < 1.0 || height < 1.0) + continue; + + // existing/imported field ? + if (widget.Elements.ContainsKey(PdfAnnotation.Keys.AP)) { - string name = value ? GetNonOffValue() : "/Off"; - Elements.SetName(PdfAcroField.Keys.V, name); - Elements.SetName(PdfAnnotation.Keys.AS, name); + widget.Elements.SetName(PdfAnnotation.Keys.AS, Checked ? GetNonOffValueInternal() : "/Off"); } - else + else // newly created field { - // Here we have to handle fields that exist twice with the same name. - // Checked must be set for both fields, using /Off for one field and skipping /Off for the other, - // to have only one field with a check mark. - // Finding this took me two working days. - if (Fields.Elements.Items.Length == 2) + var xRect = new XRect(0, 0, width, height); + // checked state + var formChecked = new XForm(_document, xRect); + using (var gfx = XGraphics.FromForm(formChecked)) { - if (value) - { - //Element 0 behandeln -> auf checked setzen - string name1 = ""; - if (((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements["/AP"] is PdfDictionary obj1) - { - if (obj1.Elements["/N"] is PdfDictionary n) - { - foreach (string name in n.Elements.Keys) - { - if (name != "/Off") - { - name1 = name; - break; - } - } - } - } - if (name1.Length != 0) - { - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.SetName(PdfAcroField.Keys.V, name1); - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.SetName(PdfAnnotation.Keys.AS, name1); - } - - //Element 1 behandeln -> auf unchecked setzen - var obj2 = ((PdfDictionary?)((PdfReference?)Fields.Elements.Items[1])?.Value)?.Elements["/AP"] as PdfDictionary; - if (obj2 != null) - { - var n = obj2.Elements["/N"] as PdfDictionary; - if (n != null) - { - foreach (string name in n.Elements.Keys) - { - if (name == "/Off") - { - name1 = name; - break; - } - } - } - } - if (name1.Length != 0) - { - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(PdfAcroField.Keys.V, name1); - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(PdfAnnotation.Keys.AS, name1); - } - - } - else - { - //Element 0 behandeln -> auf unchecked setzen - string name1 = ""; - PdfDictionary? o = ((PdfDictionary)((PdfReference)(Fields.Elements.Items[1])).Value).Elements["/AP"] as PdfDictionary; - if (o != null) - { - if (o.Elements["/N"] is PdfDictionary n) - { - foreach (string name in n.Elements.Keys) - { - if (name != "/Off") - { - name1 = name; - break; - } - } - } - } - if (name1.Length != 0) - { - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(PdfAcroField.Keys.V, name1); - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(PdfAnnotation.Keys.AS, name1); - } - - //Element 1 behandeln -> auf checked setzen - o = ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements["/AP"] as PdfDictionary; - if (o != null) - { - if (o.Elements["/N"] is PdfDictionary n) - { - foreach (string name in n.Elements.Keys) - { - if (name == "/Off") - { - name1 = name; - break; - } - } - } - } - if (name1.Length != 0) - { - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.SetName(PdfAcroField.Keys.V, name1); - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.SetName(PdfAnnotation.Keys.AS, name1); - } - } + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.CheckBoxFieldRenderer.RenderCheckedState(this, widget, gfx, xRect); } + formChecked.DrawingFinished(); + SetXFormFont(formChecked); + // unchecked state + var formUnchecked = new XForm(_document, rect.ToXRect()); + using (var gfx = XGraphics.FromForm(formUnchecked)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.CheckBoxFieldRenderer.RenderUncheckedState(this, widget, gfx, xRect); + } + formUnchecked.DrawingFinished(); + SetXFormFont(formUnchecked); + + var ap = new PdfDictionary(_document); + var nDict = new PdfDictionary(_document); + ap.Elements.SetValue("/N", nDict); + // the names /Off and /Yes should be used according to the spec (1.7, 12.7.4.2.3) + nDict.Elements["/Yes"] = formChecked.PdfForm.Reference; + nDict.Elements["/Off"] = formUnchecked.PdfForm.Reference; + widget.Elements[PdfAnnotation.Keys.AP] = ap; + widget.Elements.SetName(PdfAnnotation.Keys.AS, Checked ? "/Yes" : "/Off"); // set appearance state } } } -#endif + + internal override void PrepareForSave() + { + base.PrepareForSave(); + RenderAppearance(); + } /// /// Gets or sets the name of the dictionary that represents the Checked state. @@ -346,8 +170,15 @@ public string UncheckedName public new class Keys : PdfButtonField.Keys { /// - /// (Optional; inheritable; PDF 1.4) A text string to be used in place of the V entry for the - /// value of the field. + /// (Optional; inheritable; PDF 1.4) An array containing one entry for each + /// widget annotation in the Kids array of the radio button or check box field. + /// Each entry shall be a text string representing the on state of the + /// corresponding widget annotation.

+ /// When this entry is present, the names used to represent the on state in the + /// AP dictionary of each annotation may use numerical position (starting with 0) + /// of the annotation in the Kids array, encoded as a name object (for example: /0, /1).

+ /// This allows distinguishing between the annotations even if two or more of them + /// have the same value in the Opt array. ///
[KeyInfo(KeyType.TextString | KeyType.Optional)] public const string Opt = "/Opt"; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfChoiceField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfChoiceField.cs index dcb24c62..5b153db6 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfChoiceField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfChoiceField.cs @@ -1,6 +1,9 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; +using PdfSharp.Pdf.Advanced; + namespace PdfSharp.Pdf.AcroForms { /// @@ -13,7 +16,9 @@ public abstract class PdfChoiceField : PdfAcroField /// protected PdfChoiceField(PdfDocument document) : base(document) - { } + { + Elements.SetName(Keys.FT, "Ch"); + } /// /// Initializes a new instance of the class. @@ -23,41 +28,56 @@ protected PdfChoiceField(PdfDictionary dict) { } /// - /// Gets the index of the specified string in the /Opt array or -1, if no such string exists. + /// Sets the default appearance for this field. /// - protected int IndexInOptArray(string value) + public void SetDefaultAppearance(XFont font, double fontSize, XColor textColor) { - var opt = Elements.GetArray(Keys.Opt); + if (font is null) + throw new ArgumentNullException(nameof(font)); + if (fontSize < 0.0) + throw new ArgumentException("Font size must be greater or equal to zero", nameof(fontSize)); + if (Owner.AcroForm is null) + throw new InvalidOperationException("AcroForm has to be created first"); -#if DEBUG // Check with //R080317 implementation - PdfArray? opt2 = null; - if (Elements[Keys.Opt] is PdfArray) - opt2 = Elements[Keys.Opt] as PdfArray; - else if (Elements[Keys.Opt] is Advanced.PdfReference) - { - // If the array is not stored in the element directly, - // fetch the array from the referenced element. - opt2 = ((Advanced.PdfReference?)Elements[Keys.Opt])?.Value as PdfArray; - } - Debug.Assert(ReferenceEquals(opt, opt2)); -#endif + var formResources = Owner.AcroForm.GetOrCreateResources(); + var fontType = font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode + ? FontType.Type0Unicode + : FontType.TrueTypeWinAnsi; + var docFont = _document.FontTable.GetOrCreateFont(font.GlyphTypeface, fontType); + var fontName = formResources.AddFont(docFont); + var da = string.Format(CultureInfo.InvariantCulture, "{0} {1:F2} Tf {2:F4} {3:F4} {4:F4} rg", + fontName, fontSize, textColor.R / 255, textColor.G / 255, textColor.B / 255); + Elements.SetString(PdfAcroField.Keys.DA, da); + } + + /// + /// Gets the index of the specified string in the /Opt array or -1, if no such string exists. + /// + /// Value, for which the index should be retrieved + /// true if value is the export value, false if value is the text shown in the UI + protected int IndexInOptArray(string value, bool useExportValue) + { + var ancestor = FindParentHavingKey(Keys.Opt); + var opt = ancestor.Elements.GetArray(Keys.Opt); if (opt != null) { int count = opt.Elements.Count; for (int idx = 0; idx < count; idx++) { - var item = opt.Elements[idx]; - if (item is PdfString) + PdfItem item = opt.Elements[idx]; + if (item is PdfString pdfString) { - if (item.ToString() == value) + if (pdfString.Value == value) return idx; } - else if (item is PdfArray) + else if (item is PdfArray array) { - var array = (PdfArray)item; - if (array.Elements.Count != 0) + if (array.Elements.Count > 0) { - if (array.Elements[0].ToString() == value) + // Pdf Reference 1.7, Section 12.7.4.4: Should be a 2-element Array. + // Second value is the text shown in the UI. + if ((!useExportValue && array.Elements.Count > 1 && array.Elements.GetString(1) == value) || + (array.Elements.Count > 0 && array.Elements.GetString(0) == value)) return idx; } } @@ -67,29 +87,169 @@ protected int IndexInOptArray(string value) } /// - /// Gets the value from the index in the /Opt array. + /// Gets the value or the display text from the index in the /Opt array. /// - protected string ValueInOptArray(int index) + /// Index of the value that should be retrieved + /// true to get the export value, false to get the text shown in the UI + internal string ValueInOptArray(int index, bool useExportValue) { - var opt = Elements.GetArray(Keys.Opt); + var ancestor = FindParentHavingKey(Keys.Opt); + var opt = ancestor.Elements.GetArray(Keys.Opt); if (opt != null) { int count = opt.Elements.Count; if (index < 0 || index >= count) throw new ArgumentOutOfRangeException(nameof(index)); - var item = opt.Elements[index]; - if (item is PdfString) - return item.ToString() ?? ""; + PdfItem item = opt.Elements[index]; + if (item is PdfString pdfString) + return pdfString.Value; + else if (item is PdfArray array) + { + return !useExportValue && array.Elements.Count > 1 + ? array.Elements.GetString(1) + : array.Elements.GetString(0); + } + } + return string.Empty; + } - if (item is PdfArray) + /// + /// Gets or sets the Value for the Field. + /// For fields supporting multiple values (e.g. ListBox) use instead + /// + public override PdfItem? Value + { + get + { + var item = base.Value; + if (item is PdfArray pdfArray) + { + if (pdfArray.Elements.Count > 0) + item = pdfArray.Elements[0]; + } + if (item is PdfString pdfString) { - PdfArray array = (PdfArray)item; - if (array.Elements.Count != 0) - return array.Elements[0].ToString() ?? ""; + // First try the export value + var idx = IndexInOptArray(pdfString.Value, true); + // If that is not found, try the string shown in the UI + if (idx < 0) + idx = IndexInOptArray(pdfString.Value, false); + if (idx < 0) + return null; + // return the display text + return new PdfString(ValueInOptArray(idx, true)); } + return null; } - return ""; + set { base.Value = value; } + } + + /// + /// Gets or sets the Default value for the field + /// + public override PdfItem? DefaultValue + { + get + { + var item = base.DefaultValue; + if (item is PdfArray pdfArray) + { + if (pdfArray.Elements.Count > 0) + item = pdfArray.Elements[0]; + } + if (item is PdfString pdfString) + { + // First try the export value + var idx = IndexInOptArray(pdfString.Value, true); + // If that is not found, try the string shown in the UI + if (idx < 0) + idx = IndexInOptArray(pdfString.Value, false); + if (idx < 0) + return null; + // return the display text + return new PdfString(ValueInOptArray(idx, true)); + } + return null; + } + set { base.DefaultValue = value; } + } + + /// + /// Gets or sets the List of options (entries) available for selection. + /// This is the list of values shown in the UI. + /// + public ICollection Options + { + get + { + var result = new List(); + var ancestor = FindParentHavingKey(Keys.Opt); + var options = ancestor.Elements.GetArray(Keys.Opt); + if (options != null) + { + foreach (var item in options) + { + if (item is PdfString s) + result.Add(s.Value); + else + { + if (item is PdfArray array) + { + // Pdf Reference 1.7, Section 12.7.4.4 : Value is the SECOND entry in the Array + // (the first value is the exported value) + var v = array.Elements.GetString(array.Elements.Count > 1 ? 1 : 0); + if (string.IsNullOrEmpty(v)) + v = string.Empty; + result.Add(v); + } + } + } + } + return result; + } + set + { + var ary = new PdfArray(_document); + foreach (var item in value) + ary.Elements.Add(new PdfString(item)); + Elements.SetObject(Keys.Opt, ary); + } + } + + /// + /// Gets the list of values for this Field.

+ /// May or may not be equal to but has always the same amount of items. + ///
+ public ICollection Values + { + get + { + var result = new List(); + var ancestor = FindParentHavingKey(Keys.Opt); + var options = ancestor.Elements.GetArray(Keys.Opt); + if (options != null) + { + foreach (var item in options) + { + if (item is PdfString s) + result.Add(s.Value); + else + { + if (item is PdfArray array) + { + var ary = array; + var v = ary.Elements.GetString(0); + if (string.IsNullOrEmpty(v)) + v = string.Empty; + result.Add(v); + } + } + } + } + return result; + } + } /// @@ -101,29 +261,31 @@ protected string ValueInOptArray(int index) // ReSharper disable InconsistentNaming /// - /// (Required; inheritable) An array of options to be presented to the user. Each element of - /// the array is either a text string representing one of the available options or a two-element - /// array consisting of a text string together with a default appearance string for constructing - /// the item’s appearance dynamically at viewing time. + /// (Optional) An array of options that shall be presented to the user. + /// Each element of the array is either a text string representing one of the available + /// options or an array consisting of two text strings: the option’s export value + /// and the text that shall be displayed as the name of the option.

+ /// If this entry is not present, no choices should be presented to the user. ///
[KeyInfo(KeyType.Array | KeyType.Optional)] public const string Opt = "/Opt"; /// - /// (Optional; inheritable) For scrollable list boxes, the top index (the index in the Opt array - /// of the first option visible in the list). + /// (Optional) For scrollable list boxes, the top index (the index in the Opt array + /// of the first option visible in the list). Default value: 0. /// [KeyInfo(KeyType.Integer | KeyType.Optional)] public const string TI = "/TI"; /// - /// (Sometimes required, otherwise optional; inheritable; PDF 1.4) For choice fields that allow - /// multiple selection (MultiSelect flag set), an array of integers, sorted in ascending order, - /// representing the zero-based indices in the Opt array of the currently selected option - /// items. This entry is required when two or more elements in the Opt array have different - /// names but the same export value, or when the value of the choice field is an array; in - /// other cases, it is permitted but not required. If the items identified by this entry differ - /// from those in the V entry of the field dictionary (see below), the V entry takes precedence. + /// (Sometimes required, otherwise optional; PDF 1.4) For choice fields that allow + /// multiple selection (MultiSelect flag set), an array of integers, sorted in ascending order, + /// representing the zero-based indices in the Opt array of the currently selected option items.

+ /// This entry shall be used when two or more elements in the Opt array have different names + /// but the same export value or when the value of the choice field is an array.

+ /// This entry should not be used for choice fields that do not allow multiple selection.

+ /// If the items identified by this entry differ from those in the V entry of the + /// field dictionary (see discussion following this Table), the V entry shall be used. ///
[KeyInfo(KeyType.Array | KeyType.Optional)] public const string I = "/I"; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfComboBoxField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfComboBoxField.cs index a9e4c250..47a0fdfa 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfComboBoxField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfComboBoxField.cs @@ -1,6 +1,11 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; +using PdfSharp.Pdf.Advanced; +using PdfSharp.Pdf.Annotations; +using PdfSharp.Pdf.Internal; + namespace PdfSharp.Pdf.AcroForms { /// @@ -13,64 +18,129 @@ public sealed class PdfComboBoxField : PdfChoiceField /// internal PdfComboBoxField(PdfDocument document) : base(document) - { } + { + SetFlags |= PdfAcroFieldFlags.Combo; + } internal PdfComboBoxField(PdfDictionary dict) : base(dict) { } /// - /// Gets or sets the index of the selected item. + /// Gets or sets the index of the selected item /// public int SelectedIndex { get { - string value = Elements.GetString(PdfAcroField.Keys.V); - return IndexInOptArray(value); + var ancestor = FindParentHavingKey(PdfAcroField.Keys.V); + string value = ancestor.Elements.GetString(PdfAcroField.Keys.V); + // try export value first + var index = IndexInOptArray(value, true); + if (index < 0) + index = IndexInOptArray(value, false); + return index; } set { - if (value != -1) + if (ReadOnly) + throw new InvalidOperationException("The field is read only."); + if (value >= 0) { - string key = ValueInOptArray(value); + if (value >= Options.Count) + throw new ArgumentOutOfRangeException(nameof(value), value, + $"SelectedIndex for field '{FullyQualifiedName}' must be smaller than {Options.Count}"); + + string key = ValueInOptArray(value, true); Elements.SetString(PdfAcroField.Keys.V, key); - Elements.SetInteger("/I", value); + } + else + Elements.SetString(PdfAcroField.Keys.V, string.Empty); } } /// - /// Gets or sets the value of the field. + /// Gets or sets the value of this field. This should be an item from the list.

///
- public override PdfItem? Value + public new string Value { - get => Elements[PdfAcroField.Keys.V]!; + get + { + var ancestor = FindParentHavingKey(PdfAcroField.Keys.V); + return ancestor.Elements.GetString(PdfAcroField.Keys.V); + } set { if (ReadOnly) throw new InvalidOperationException("The field is read only."); - if (value is PdfString or PdfName) + if (!string.IsNullOrWhiteSpace(value)) { - Elements[PdfAcroField.Keys.V] = value; - SelectedIndex = SelectedIndex; - if (SelectedIndex == -1) - { - try - { - ((PdfArray)((PdfItem[])Elements.Values)[2]).Elements.Add(Value!); // NRT Value - SelectedIndex = SelectedIndex; - } - // ReSharper disable once EmptyGeneralCatchClause - catch - { } - } + var index = IndexInOptArray(value, true); + if (index < 0) + throw new ArgumentException($"'{value}' is not a valid value for field '{FullyQualifiedName}'. Valid values are: [{string.Join(",", Options)}]"); + + Elements.SetString(PdfAcroField.Keys.V, index >= 0 ? value : string.Empty); + SelectedIndex = index; } else - throw new NotImplementedException("Values other than string cannot be set."); + SelectedIndex = -1; } } + /// + /// Renders the appearance of this field + /// + protected override void RenderAppearance() + { + if (Font is null) + return; + + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + if (widget == null) + continue; + + var fontSize = DetermineFontSize(widget); + var rect = widget.Rectangle; + var width = Math.Abs(rect.Width); + var height = Math.Abs(rect.Height); + // ensure a minimum size of 1x1, otherwise an exception is thrown + if (width < 1.0 || height < 1.0) + continue; + + var preferredFontType = Options.All(s => AnsiEncoding.IsAnsi(s)) ? FontType.TrueTypeWinAnsi : FontType.Type0Unicode; + SetFontType(preferredFontType); + + var xRect = new XRect(0, 0, width, height); + var form = new XForm(_document, xRect); + using (var gfx = XGraphics.FromForm(form)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.ComboBoxFieldRenderer.Render(this, widget, gfx, xRect); + } + form.DrawingFinished(); + SetXFormFont(form); + + var ap = new PdfDictionary(Owner); + widget.Elements[PdfAnnotation.Keys.AP] = ap; + // Set XRef to normal state + ap.Elements["/N"] = form.PdfForm.Reference; + + var xobj = form.PdfForm; + var s = xobj.Stream.ToString(); + s = "/Tx BMC\n" + s + "\nEMC"; + xobj.Stream.Value = new RawEncoding().GetBytes(s); + } + } + + internal override void PrepareForSave() + { + base.PrepareForSave(); + RenderAppearance(); + } + /// /// Predefined keys of this dictionary. /// The description comes from PDF 1.4 Reference. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfGenericField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfGenericField.cs index 97501e84..6f2d0573 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfGenericField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfGenericField.cs @@ -1,6 +1,8 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Pdf.Annotations; + namespace PdfSharp.Pdf.AcroForms { /// @@ -19,6 +21,24 @@ internal PdfGenericField(PdfDictionary dict) : base(dict) { } + internal override void Flatten() + { + base.Flatten(); + + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + if (widget.Page != null) + { + var appearances = widget.Elements.GetDictionary(PdfAnnotation.Keys.AP); + var normalAppearance = appearances?.Elements.GetDictionary("/N"); + var activeAppearance = widget.Elements.GetString(PdfAnnotation.Keys.AS); + if (!String.IsNullOrEmpty(activeAppearance) && normalAppearance != null && normalAppearance.Elements.ContainsKey(activeAppearance)) + RenderContentStream(widget.Page, normalAppearance.Elements.GetDictionary(activeAppearance)!, widget.Rectangle); + } + } + } + /// /// Predefined keys of this dictionary. /// The description comes from PDF 1.4 Reference. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfListBoxField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfListBoxField.cs index 789a2488..051b2f91 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfListBoxField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfListBoxField.cs @@ -1,6 +1,11 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; +using PdfSharp.Pdf.Advanced; +using PdfSharp.Pdf.Annotations; +using PdfSharp.Pdf.Internal; + namespace PdfSharp.Pdf.AcroForms { /// @@ -20,22 +25,222 @@ internal PdfListBoxField(PdfDictionary dict) { } /// - /// Gets or sets the index of the selected item. + /// Gets or sets the background color for selected items of the field. + /// + public XColor HighlightColor + { + get { return this.highlightColor; } + set { this.highlightColor = value; } + } + XColor highlightColor = XColors.DarkBlue; + + /// + /// Gets or sets the text-color for selected items of the field. + /// + public XColor HighlightTextColor + { + get { return this.highlightTextColor; } + set { this.highlightTextColor = value; } + } + XColor highlightTextColor = XColors.White; + + /// + /// Gets or sets the value for this ListBox

+ /// Note: As a may have multiple values selected, + /// this is an enumerable instead of a single value + ///
+ public new IEnumerable Value + { + get + { + var ancestor = FindParentHavingKey(PdfAcroField.Keys.V); + if (ancestor.Elements.ContainsKey(PdfAcroField.Keys.V)) + { + var val = ancestor.Elements[PdfAcroField.Keys.V]; + if (val is PdfString valString) + return [valString.Value]; + if (val is PdfArray valArray) + { + return valArray.Elements.Select(v => (v?.ToString() ?? "").TrimStart('(').TrimEnd(')')); + } + } + return []; + } + set + { + if (ReadOnly) + throw new InvalidOperationException("The field is read only."); + if (value == null || !value.Any()) + { + Elements.Remove(PdfAcroField.Keys.V); + Elements.Remove(PdfChoiceField.Keys.I); + if (value == null) + return; + } + var indices = new List(); + foreach (var v in value) + { + var index = IndexInOptArray(v, true); + if (index < 0) + throw new ArgumentException($"'{v}' is not a valid value for field '{FullyQualifiedName}'. Valid values are: [{string.Join(",", Options)}]"); + + indices.Add(index); + } + SelectedIndices = indices; + } + } + + /// + /// Gets or sets the Indices of the selected items of this Field + /// + public IEnumerable SelectedIndices + { + get + { + var result = new List(); + var ancestor = FindParentHavingKey(PdfAcroField.Keys.V); + var value = ancestor.Elements[PdfAcroField.Keys.V]; + if (value is PdfString valString) + { + result.Add(IndexInOptArray(valString.Value, true)); + } + else + { + var ary = ancestor.Elements.GetArray(PdfAcroField.Keys.V); // /V takes precedence over /I + if (ary != null) + { + for (var i = 0; i < ary.Elements.Count; i++) + { + int idx; + var val = ary.Elements.GetString(i); + if (val != null && (idx = IndexInOptArray(val, true)) >= 0) + result.Add(idx); + } + } + + if (result.Count > 0) + return result; + + ancestor = FindParentHavingKey(PdfChoiceField.Keys.I); + ary = ancestor.Elements.GetArray(PdfChoiceField.Keys.I); + if (ary != null) + { + foreach (var item in ary.Elements) + { + if (item is PdfInteger pdfInt) + result.Add(pdfInt.Value); + } + } + } + return result; + } + set + { + if (ReadOnly) + throw new InvalidOperationException("The field is read only."); + if (value == null) + { + Elements.Remove(PdfChoiceField.Keys.I); + Elements.Remove(PdfAcroField.Keys.V); + return; + } + if (value.Any(v => v < 0 || v >= Options.Count)) + throw new ArgumentOutOfRangeException($"At least one of the indices [{string.Join(",", value)}] is out of range. Valid values are in the range 0..{Options.Count - 1}"); + + Elements.Remove(PdfChoiceField.Keys.I); + Elements.Remove(PdfAcroField.Keys.V); + + var indexList = new List(value.Distinct()); + if (indexList.Count > 0) + { + indexList.Sort(); + var indices = new PdfArray(_document); + var values = new PdfArray(_document); + foreach (var index in indexList) + { + indices.Elements.Add(new PdfInteger(index)); + values.Elements.Add(new PdfString(ValueInOptArray(index, true))); + } + if (indexList.Count > 1) + { + Elements.SetObject(PdfChoiceField.Keys.I, indices); + Elements.SetObject(PdfAcroField.Keys.V, values); + } + else + Elements.SetString(PdfAcroField.Keys.V, ValueInOptArray(indexList[0], true)); + } + } + } + + /// + /// Gets or sets the index of the first visible item in the ListBox /// - public int SelectedIndex + public int TopIndex { get { - string value = Elements.GetString(Keys.V); - return IndexInOptArray(value); + var ancestor = FindParentHavingKey(PdfChoiceField.Keys.TI); + return ancestor.Elements.GetInteger(PdfChoiceField.Keys.TI); } set { - string key = ValueInOptArray(value); - Elements.SetString(Keys.V, key); + if (value < 0) + throw new ArgumentException("TopIndex must not be less than zero"); + Elements.SetInteger(PdfChoiceField.Keys.TI, value); } } + /// + /// Renders the appearance of this field + /// + protected override void RenderAppearance() + { + if (Font is null) + return; + + for (var idx = 0; idx < Annotations.Elements.Count; idx++) + { + var widget = Annotations.Elements[idx]; + if (widget == null) + continue; + + var rect = widget.Rectangle; + var width = Math.Abs(rect.Width); + var height = Math.Abs(rect.Height); + // ensure a minimum size of 1x1, otherwise an exception is thrown + if (width < 1.0 || height < 1.0) + continue; + + var preferredFontType = Options.All(s => AnsiEncoding.IsAnsi(s)) ? FontType.TrueTypeWinAnsi : FontType.Type0Unicode; + SetFontType(preferredFontType); + + var xRect = new XRect(0, 0, width, height); + var form = new XForm(_document, xRect); + using (var gfx = XGraphics.FromForm(form)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.ListBoxFieldRenderer.Render(this, widget, gfx, xRect); + } + form.DrawingFinished(); + SetXFormFont(form); + + var ap = new PdfDictionary(Owner); + widget.Elements[PdfAnnotation.Keys.AP] = ap; + ap.Elements["/N"] = form.PdfForm.Reference; + + var xobj = form.PdfForm; + var s = xobj.Stream.ToString(); + s = "/Tx BMC\n" + s + "\nEMC"; + xobj.Stream.Value = new RawEncoding().GetBytes(s); + } + } + + internal override void PrepareForSave() + { + base.PrepareForSave(); + RenderAppearance(); + } + /// /// Predefined keys of this dictionary. /// The description comes from PDF 1.4 Reference. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfPushButtonField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfPushButtonField.cs index 0079fdc7..96ebbc44 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfPushButtonField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfPushButtonField.cs @@ -1,6 +1,11 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; +using PdfSharp.Pdf.Advanced; +using PdfSharp.Pdf.Annotations; +using PdfSharp.Pdf.Internal; + namespace PdfSharp.Pdf.AcroForms { /// @@ -15,12 +20,167 @@ internal PdfPushButtonField(PdfDocument document) : base(document) { _document = document; + SetFlags |= PdfAcroFieldFlags.Pushbutton; } internal PdfPushButtonField(PdfDictionary dict) : base(dict) { } + private string? caption; + /// + /// Gets or sets the Caption of this Button + /// + public string? Caption + { + get + { + if (caption == null) + { + foreach (var widget in Annotations.Elements) + { + if (!string.IsNullOrWhiteSpace(widget.NormalCaption)) + { + caption = widget.NormalCaption; + break; + } + } + } + return caption; + } + set + { + if (caption != value) + { + caption = value; + foreach (var widget in Annotations.Elements) + { + widget.NormalCaption = value; + } + } + } + } + + /// + /// Adds a new Annotation to this field. + /// + /// A method that is used to configure the Annotation + /// The created and configured Annotation + /// + public override PdfWidgetAnnotation AddAnnotation(Action configure) + { + var annot = base.AddAnnotation(configure); + if (Caption != null) + annot.NormalCaption = Caption; + return annot; + } + + /// + /// Determines the visual appearance of this field, i.e. font and text-color + /// + protected override void DetermineAppearance() + { + var dict = this; + base.DetermineAppearance(); + } + + /// + /// Renders the appearance of this field + /// + protected override void RenderAppearance() + { + if (Font is null) + return; + + for (var idx = 0; idx < Annotations.Elements.Count; idx++) + { + var widget = Annotations.Elements[idx]; + // if widget already has an appearance, use that (imported field) + if (widget == null || widget.Elements.ContainsKey(PdfAnnotation.Keys.AP)) + continue; + + var rect = widget.Rectangle; + var width = Math.Abs(rect.Width); + var height = Math.Abs(rect.Height); + // ensure a minimum size of 1x1, otherwise an exception is thrown + if (width < 1.0 || height < 1.0) + continue; + + var preferredFontType = AnsiEncoding.IsAnsi(Caption ?? string.Empty) ? FontType.TrueTypeWinAnsi : FontType.Type0Unicode; + SetFontType(preferredFontType); + + var xRect = new XRect(0, 0, width, height); + + var formNormal = new XForm(_document, xRect); + using (var gfx = XGraphics.FromForm(formNormal)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.PushButtonFieldRenderer.RenderNormalState(this, widget, gfx, xRect); + } + formNormal.DrawingFinished(); + SetXFormFont(formNormal); + + // Note: implementing RenderRolloverState and RenderDownState is optional for the PushButtonFieldRenderer + // the current implementation throws a NotImplementedException for these methods + var formRollover = new XForm(_document, xRect); + try + { + using (var gfx = XGraphics.FromForm(formRollover)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.PushButtonFieldRenderer.RenderRolloverState(this, widget, gfx, xRect); + } + formRollover.DrawingFinished(); + SetXFormFont(formRollover); + } + catch (NotImplementedException) + { + formRollover = null; + } + + var formDown = new XForm(_document, xRect); + try + { + using (var gfx = XGraphics.FromForm(formDown)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.PushButtonFieldRenderer.RenderDownState(this, widget, gfx, xRect); + } + formDown.DrawingFinished(); + SetXFormFont(formDown); + } + catch (NotImplementedException) + { + formDown = null; + } + + var ap = new PdfDictionary(Owner); + widget.Elements[PdfAnnotation.Keys.AP] = ap; + ap.Elements["/N"] = formNormal.PdfForm.Reference; + if (formRollover != null) + ap.Elements["/R"] = formRollover.PdfForm.Reference; + if (formDown != null) + ap.Elements["/D"] = formDown.PdfForm.Reference; + + foreach (var form in new[] { formNormal, formRollover, formDown }) + { + if (form == null) + continue; + var xobj = form.PdfForm; + var s = xobj.Stream.ToString(); + s = "/Tx BMC\n" + s + "\nEMC"; + xobj.Stream.Value = new RawEncoding().GetBytes(s); + } + } + } + + internal override void PrepareForSave() + { + base.PrepareForSave(); + RenderAppearance(); + } + + /// /// Predefined keys of this dictionary. /// The description comes from PDF 1.4 Reference. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfRadioButtonField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfRadioButtonField.cs index 85ab84a5..f6b7f382 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfRadioButtonField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfRadioButtonField.cs @@ -1,6 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; +using PdfSharp.Pdf.Annotations; +using System.Collections.ObjectModel; + namespace PdfSharp.Pdf.AcroForms { /// @@ -15,55 +19,251 @@ internal PdfRadioButtonField(PdfDocument document) : base(document) { _document = document; + SetFlags |= PdfAcroFieldFlags.Radio; } internal PdfRadioButtonField(PdfDictionary dict) : base(dict) - { } + { + if (!Elements.ContainsKey(Keys.Opt)) + { + var array = new PdfArray(_document); + foreach (var val in Options) + array.Elements.Add(new PdfString(val)); + Elements.Add(Keys.Opt, array); + } + } /// - /// Gets or sets the index of the selected radio button in a radio button group. + /// Gets or sets the value of this field. This should be an item from the list.

+ /// Setting this to null or an empty string unchecks all radio-buttons. ///
- public int SelectedIndex + public new string Value { get { - string value = Elements.GetString(PdfAcroField.Keys.V); - return IndexInOptStrings(value); + var ancestor = FindParentHavingKey(PdfAcroField.Keys.V); + var name = ancestor.Elements.GetName(PdfAcroField.Keys.V); + return (string.IsNullOrEmpty(name) ? "/Off" : name).TrimStart('/'); } set { - var opt = Elements[Keys.Opt] as PdfArray; + if (ReadOnly) + throw new InvalidOperationException("The field is read only."); + if (!string.IsNullOrWhiteSpace(value)) + { + var index = IndexInFieldValues(value); + if (index < 0) + throw new ArgumentException($"'{value}' is not a valid value for field '{FullyQualifiedName}'. Valid values are: [{string.Join(",", Options)}]"); + + Elements.SetName(PdfAcroField.Keys.V, value); + SelectedIndex = index; + } + else + SelectedIndex = -1; + } + } - if (opt == null) - opt = Elements[PdfAcroField.Keys.Kids] as PdfArray; + private List? options; + /// + /// Gets the option-names of this RadioButton

+ /// Use one of these values when setting

+ /// You cannot manipulate this collection directly. + /// To change the elements you have to manipulate the of this field. + ///
+ public ReadOnlyCollection Options + { + get + { + if (options != null) + return options.AsReadOnly(); + + var values = new List(); + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + if (widget == null) + continue; + // convert names to ordinary strings by removing the slash + values.Add((GetNonOffValue(widget) ?? i.ToString()).TrimStart('/')); + } + options = values; + return options.AsReadOnly(); + } + } + + /// + /// Gets or sets the (optional) export-values for each entry in this radio button group.

+ /// If the field does not specify these, is returned. + ///
+ public ICollection ExportValues + { + get + { + var ancestor = FindParentHavingKey(Keys.Opt); + var opt = ancestor.Elements.GetArray(Keys.Opt); if (opt != null) { - int count = opt.Elements.Count; - if (value < 0 || value >= count) - throw new ArgumentOutOfRangeException(nameof(value)); - Elements.SetName(PdfAcroField.Keys.V, opt.Elements[value].ToString() ?? NRT.ThrowOnNull()); + var list = new List(); + for (var i = 0; i < opt.Elements.Count; i++) + list.Add(opt.Elements.GetString(i)); + return list; + } + return Options; + } + set + { + if (value.Count != Options.Count) + throw new ArgumentException("Length of Opt-Array must match length of Options"); + var optArray = new PdfArray(); + foreach (var val in value) + optArray.Elements.Add(new PdfString(val)); + Elements[Keys.Opt] = optArray; + } + } + + /// + /// Gets or sets the (zero-based) index of the selected radio button in a radio button group.

+ /// Use -1 to deselect all items.

+ /// This is an alternative to the + ///
+ public int SelectedIndex + { + get + { + return IndexInFieldValues(Value); + } + set + { + if (ReadOnly) + throw new InvalidOperationException("The field is read only."); + var values = Options; + var count = values.Count; + if (value < -1 || value >= count) + throw new ArgumentOutOfRangeException(nameof(value), value, + $"SelectedIndex for field '{FullyQualifiedName}' must be greater or equal to -1 and smaller than {Options.Count}"); + + var name = value == -1 ? "/Off" : '/' + values.ElementAt(value); + Elements.SetName(PdfAcroField.Keys.V, name); + // first, set all annotations to /Off + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + widget?.Elements.SetName(PdfAnnotation.Keys.AS, "/Off"); + } + if ((Flags & PdfAcroFieldFlags.RadiosInUnison) != 0) + { + // Then set all Widgets with the same Appearance to the checked state + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + if (name == values.ElementAt(i) && widget != null) + widget.Elements.SetName(PdfAnnotation.Keys.AS, name); + } + } + else + { + if (value >= 0 && value < Annotations.Elements.Count) + { + var widget = Annotations.Elements[value]; + widget?.Elements.SetName(PdfAnnotation.Keys.AS, name); + } } } } - int IndexInOptStrings(string value) + private int IndexInFieldValues(string value) + { + return Options.IndexOf(value); + } + + /// + /// Renders the appearance of this field + /// + protected override void RenderAppearance() { - if (Elements[Keys.Opt] is PdfArray opt) + for (var i = 0; i < Annotations.Elements.Count; i++) { - int count = opt.Elements.Count; - for (int idx = 0; idx < count; idx++) + var widget = Annotations.Elements[i]; + var rect = widget.Rectangle; + if (widget.Page != null && !rect.IsEmpty) { - var item = opt.Elements[idx]; - if (item is PdfString) + // existing/imported field ? + if (widget.Elements.ContainsKey(PdfAnnotation.Keys.AP)) { - if (item.ToString() == value) - return idx; + widget.Elements.SetName(PdfAnnotation.Keys.AS, i == SelectedIndex ? Options.ElementAt(i) : "/Off"); + } + else + CreateAppearance(widget, GetNonOffValue(widget) ?? "/Yes"); } } - return -1; + } + + /// + /// Creates the appearance-stream for the specified Widget. + /// + /// + /// + private void CreateAppearance(PdfWidgetAnnotation widget, string nameOfOnState) + { + // remove possible leading slashes (will be re-added later) + nameOfOnState = nameOfOnState.TrimStart('/'); + + var rect = widget.Rectangle; + if (widget.Page != null && !rect.IsEmpty) + { + var xRect = new XRect(0, 0, Math.Max(1, rect.Width), Math.Max(1, rect.Height)); + // checked state + var formChecked = new XForm(_document, xRect); + using (var gfx = XGraphics.FromForm(formChecked)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.RadioButtonFieldRenderer.RenderCheckedState(this, widget, gfx, xRect); + } + formChecked.DrawingFinished(); + + // unchecked state + var formUnchecked = new XForm(_document, rect.ToXRect()); + using (var gfx = XGraphics.FromForm(formUnchecked)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.RadioButtonFieldRenderer.RenderUncheckedState(this, widget, gfx, xRect); + } + formUnchecked.DrawingFinished(); + + var ap = new PdfDictionary(_document); + var nDict = new PdfDictionary(_document); + ap.Elements.SetValue("/N", nDict); + nDict.Elements[new PdfName("/" + nameOfOnState)] = formChecked.PdfForm.Reference; + nDict.Elements["/Off"] = formUnchecked.PdfForm.Reference; + widget.Elements[PdfAnnotation.Keys.AP] = ap; + } + } + + /// + /// A special overload for RadioButtons that allows specifying the name for the "On"-State of an individual radio-button + /// + /// Name of the "On"-State of this RadioButton + /// A method that is used to configure the Annotation + /// The created and configured Annotation + /// + public PdfWidgetAnnotation AddAnnotation(string nameOfOnState, Action configure) + { + if (string.IsNullOrWhiteSpace(nameOfOnState)) + throw new ArgumentNullException(nameof(nameOfOnState), "Name of 'On' state must not be null or empty"); + + var annot = AddAnnotation(configure); + CreateAppearance(annot, nameOfOnState); + options = null; // reset. next access to Options will re-create them + return annot; + } + + internal override void PrepareForSave() + { + base.PrepareForSave(); + RenderAppearance(); } /// @@ -73,11 +273,15 @@ int IndexInOptStrings(string value) public new class Keys : PdfButtonField.Keys { /// - /// (Optional; inheritable; PDF 1.4) An array of text strings to be used in - /// place of the V entries for the values of the widget annotations representing - /// the individual radio buttons. Each element in the array represents - /// the export value of the corresponding widget annotation in the - /// Kids array of the radio button field. + /// (Optional; inheritable; PDF 1.4) An array containing one entry for each + /// widget annotation in the Kids array of the radio button or check box field. + /// Each entry shall be a text string representing the on state of the + /// corresponding widget annotation.

+ /// When this entry is present, the names used to represent the on state in the + /// AP dictionary of each annotation may use numerical position (starting with 0) + /// of the annotation in the Kids array, encoded as a name object (for example: /0, /1).

+ /// This allows distinguishing between the annotations even if two or more of them + /// have the same value in the Opt array. ///
[KeyInfo(KeyType.Array | KeyType.Optional)] public const string Opt = "/Opt"; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfSignatureField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfSignatureField.cs index 740d272b..05660a88 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfSignatureField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfSignatureField.cs @@ -1,9 +1,11 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -using PdfSharp.Pdf.IO; using PdfSharp.Drawing; +using PdfSharp.Pdf.Advanced; using PdfSharp.Pdf.Annotations; +using PdfSharp.Pdf.IO; +using PdfSharp.Pdf.Signatures; namespace PdfSharp.Pdf.AcroForms { @@ -18,6 +20,7 @@ public sealed class PdfSignatureField : PdfAcroField internal PdfSignatureField(PdfDocument document) : base(document) { + Elements.SetName(PdfAcroField.Keys.FT, "Sig"); CustomAppearanceHandler = null!; } @@ -27,6 +30,15 @@ internal PdfSignatureField(PdfDictionary dict) CustomAppearanceHandler = null!; } + /// + /// Gets or sets the for this signature field + /// + public new PdfSignature2? Value + { + get => Elements.GetValue(PdfAcroField.Keys.V) as PdfSignature2; + set => Elements[PdfAcroField.Keys.V] = value; + } + /// /// Handler that creates the visual representation of the digital signature in PDF. /// @@ -38,35 +50,42 @@ internal PdfSignatureField(PdfDictionary dict) ///
void RenderCustomAppearance() { - var rect = Elements.GetRectangle(PdfAnnotation.Keys.Rect); + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + if (widget == null) + continue; - var visible = rect.X1 + rect.X2 + rect.Y1 + rect.Y2 != 0; + var rect = widget.Rectangle; - if (!visible) - return; + var visible = rect.X1 + rect.X2 + rect.Y1 + rect.Y2 != 0; - if (CustomAppearanceHandler == null) - throw new Exception("AppearanceHandler is not set."); + if (!visible) + continue; - var form = new XForm(_document, rect.Size); - var gfx = XGraphics.FromForm(form); + if (CustomAppearanceHandler == null) + throw new Exception("AppearanceHandler is null"); - CustomAppearanceHandler.DrawAppearance(gfx, rect.ToXRect()); + var form = new XForm(_document, rect.Size); + var gfx = XGraphics.FromForm(form); - form.DrawingFinished(); + CustomAppearanceHandler.DrawAppearance(gfx, rect.ToXRect()); - // Get existing or create new appearance dictionary - if (Elements[PdfAnnotation.Keys.AP] is not PdfDictionary ap) - { - ap = new PdfDictionary(_document); - Elements[PdfAnnotation.Keys.AP] = ap; - } + form.DrawingFinished(); + + // Get existing or create new appearance dictionary + if (widget.Elements[PdfAnnotation.Keys.AP] is not PdfDictionary ap) + { + ap = new PdfDictionary(_document); + widget.Elements[PdfAnnotation.Keys.AP] = ap; + } - // Set XRef to normal state - ap.Elements["/N"] = form.PdfForm.Reference; + // Set XRef to normal state + ap.Elements["/N"] = form.PdfForm.Reference; - // PdfRenderer can be null. - form.PdfRenderer?.Close(); + // PdfRenderer can be null. + form.PdfRenderer?.Close(); + } } internal override void PrepareForSave() @@ -74,6 +93,62 @@ internal override void PrepareForSave() base.PrepareForSave(); if (CustomAppearanceHandler != null!) RenderCustomAppearance(); + else + RenderAppearance(); + } + + /// + /// Renders the appearance of this field + /// + protected override void RenderAppearance() + { + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + if (widget == null) + continue; + + var rect = widget.Rectangle; + var width = Math.Abs(rect.Width); + var height = Math.Abs(rect.Height); + // ensure a minimum size of 1x1, otherwise an exception is thrown + if (width < 1.0 || height < 1.0) + continue; + + var xRect = new XRect(0, 0, width, height); + var form = (widget.Rotation == 90 || widget.Rotation == 270) && (widget.Flags & PdfAnnotationFlags.NoRotate) == 0 + ? new XForm(_document, XUnit.FromPoint(rect.Height), XUnit.FromPoint(rect.Width)) + : new XForm(_document, xRect); + + if (widget.Rotation != 0 && (widget.Flags & PdfAnnotationFlags.NoRotate) == 0) + { + // I could not get this to work using gfx.Rotate/Translate Methods... + const double deg2Rad = 0.01745329251994329576923690768489; // PI/180 + var sr = Math.Sin(widget.Rotation * deg2Rad); + var cr = Math.Cos(widget.Rotation * deg2Rad); + // see PdfReference 1.7, Chapter 8.3.3 (Common Transformations) + // TODO: Is this always correct ? I had only the chance to test this with a 90 degree rotation... + form.PdfForm.Elements.SetMatrix(PdfFormXObject.Keys.Matrix, new XMatrix(cr, sr, -sr, cr, xRect.Width, 0)); + if (widget.Rotation == 90 || widget.Rotation == 270) + xRect = new XRect(0, 0, rect.Height, rect.Width); + } + + using (var gfx = XGraphics.FromForm(form)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.SignatureFieldRenderer.Render(this, widget, gfx, xRect); + } + form.DrawingFinished(); + + // Get existing or create new appearance dictionary. + if (widget.Elements[PdfAnnotation.Keys.AP] is not PdfDictionary ap) + { + ap = new PdfDictionary(_document); + widget.Elements[PdfAnnotation.Keys.AP] = ap; + } + + ap.Elements["/N"] = form.PdfForm.Reference; + } } /// @@ -99,6 +174,25 @@ internal override void WriteDictionaryElement(PdfWriter writer, PdfName key) /// public new class Keys : PdfAcroField.Keys { + /// + /// (Optional; shall be an indirect reference; PDF 1.5) A signature field lock dictionary + /// that specifies a set of form fields that shall be locked when this signature field is signed. + /// + [KeyInfo(KeyType.Dictionary | KeyType.Optional)] + public const string Lock = "/Lock"; + + /// + /// (Optional; shall be an indirect reference; PDF 1.5) A seed value dictionary (see Table 234) + /// containing information that constrains the properties of a signature that is applied to this field. + /// + [KeyInfo(KeyType.Dictionary | KeyType.Optional)] + public const string SV = "/SV"; + + // + // NOTE: The following entries are not part of a Signature field. + // Rather, these are the key of a signature-dictionary (see PdfReference 1.7, Chapter 12.8) + // + /// /// (Optional) The type of PDF object that this dictionary describes; if present, /// must be Sig for a signature dictionary. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfTextField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfTextField.cs index cefef326..4db7fc1b 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfTextField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfTextField.cs @@ -18,35 +18,41 @@ public sealed class PdfTextField : PdfAcroField /// internal PdfTextField(PdfDocument document) : base(document) - { } + { + Elements.SetName(PdfAcroField.Keys.FT, "Tx"); + } internal PdfTextField(PdfDictionary dict) : base(dict) { } /// - /// Gets or sets the text value of the text field. + /// Same as (which should be used instead) /// - public string Text + public new string Value { - get => Elements.GetString(PdfAcroField.Keys.V); - set { Elements.SetString(PdfAcroField.Keys.V, value); RenderAppearance(); } //HACK_OLD in PdfTextField + get => Text; + set => Text = value; } /// - /// Gets or sets the font used to draw the text of the field. - /// - public XFont Font { get; set; } = new XFont("Courier New", 10); - - /// - /// Gets or sets the foreground color of the field. - /// - public XColor ForeColor { get; set; } = XColors.Black; - - /// - /// Gets or sets the background color of the field. + /// Gets or sets the text value of the text field. /// - public XColor BackColor { get; set; } = XColor.Empty; + public string Text + { + get + { + var ancestor = FindParentHavingKey(PdfAcroField.Keys.V); + return ancestor.Elements.GetString(PdfAcroField.Keys.V); + } + set + { + if (ReadOnly) + throw new InvalidOperationException("The field is read only."); + // TODO: check MaxLength ? (risky -> potential data-loss) + Elements.SetString(PdfAcroField.Keys.V, value ?? string.Empty); + } + } /// /// Gets or sets the maximum length of the field. @@ -54,8 +60,12 @@ public string Text /// The length of the max. public int MaxLength { - get => Elements.GetInteger(Keys.MaxLen); - set => Elements.SetInteger(Keys.MaxLen, value); + get + { + var ancestor = FindParentHavingKey(Keys.MaxLen); + return ancestor.Elements.GetInteger(Keys.MaxLen); + } + set { Elements.SetInteger(Keys.MaxLen, value); } } /// @@ -63,7 +73,7 @@ public int MaxLength /// public bool MultiLine { - get => (Flags & PdfAcroFieldFlags.Multiline) != 0; + get { return (Flags & PdfAcroFieldFlags.Multiline) != 0; } set { if (value) @@ -78,7 +88,7 @@ public bool MultiLine /// public bool Password { - get => (Flags & PdfAcroFieldFlags.Password) != 0; + get { return (Flags & PdfAcroFieldFlags.Password) != 0; } set { if (value) @@ -89,138 +99,121 @@ public bool Password } /// - /// Creates the normal appearance form X object for the annotation that represents - /// this acro form text field. + /// Gets or sets a value indicating whether this field is a combined field. + /// A combined field is a text field made up of multiple "combs" of equal width. The number of combs is determined by . /// - void RenderAppearance() + public bool Combined { -#if true_ - PdfFormXObject xobj = new PdfFormXObject(Owner); - Owner.Internals.AddObject(xobj); - xobj.Elements["/BBox"] = new PdfLiteral("[0 0 122.653 12.707]"); - xobj.Elements["/FormType"] = new PdfLiteral("1"); - xobj.Elements["/Matrix"] = new PdfLiteral("[1 0 0 1 0 0]"); - PdfDictionary res = new PdfDictionary(Owner); - xobj.Elements["/Resources"] = res; - res.Elements["/Font"] = new PdfLiteral("<< /Helv 28 0 R >> /ProcSet [/PDF /Text]"); - xobj.Elements["/Subtype"] = new PdfLiteral("/Form"); - xobj.Elements["/Type"] = new PdfLiteral("/XObject"); - - string s = - "/Tx BMC " + '\n' + - "q" + '\n' + - "1 1 120.653 10.707 re" + '\n' + - "W" + '\n' + - "n" + '\n' + - "BT" + '\n' + - "/Helv 7.93 Tf" + '\n' + - "0 g" + '\n' + - "2 3.412 Td" + '\n' + - "(Hello ) Tj" + '\n' + - "20.256 0 Td" + '\n' + - "(XXX) Tj" + '\n' + - "ET" + '\n' + - "Q" + '\n' + - "";//"EMC"; - int length = s.Length; - byte[] stream = new byte[length]; - for (int idx = 0; idx < length; idx++) - stream[idx] = (byte)s[idx]; - xobj.CreateStream(stream); - - // Get existing or create new appearance dictionary - PdfDictionary ap = Elements[PdfAnnotation.Keys.AP] as PdfDictionary; - if (ap == null) + get { return (Flags & PdfAcroFieldFlags.CombTextField) != 0; } + set { - ap = new PdfDictionary(_document); - Elements[PdfAnnotation.Keys.AP] = ap; + if (value) + SetFlags |= PdfAcroFieldFlags.CombTextField; + else + SetFlags &= ~PdfAcroFieldFlags.CombTextField; } + } - // Set XRef to normal state - ap.Elements["/N"] = xobj.Reference; - - //string m = - //"" + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" PDFsharp 1.40.2150-g (www.pdfsharp.com) (Original: Powered By Crystal) " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" 2011-07-11T23:15:09+02:00 " + '\n' + - //" 2011-05-19T16:26:51+03:00 " + '\n' + - //" 2011-07-11T23:15:09+02:00 " + '\n' + - //" Crystal Reports " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" application/pdf " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" uuid:68249d89-baed-4384-9a2d-fbf8ace75c45 " + '\n' + - //" uuid:3d5f2f46-c140-416f-baf2-7f9c970cef1d " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //""; - - //PdfDictionary mdict = (PdfDictionary)_document.Internals.GetObject(new PdfObjectID(32)); - - //length = m.Length; - //stream = new byte[length]; - //for (int idx = 0; idx < length; idx++) - // stream[idx] = (byte)m[idx]; - - //mdict.Stream.Value = stream; -#else - var rect = Elements.GetRectangle(PdfAnnotation.Keys.Rect); - var form = new XForm(_document, rect.Size); - var gfx = XGraphics.FromForm(form); - - if (BackColor != XColor.Empty) - gfx.DrawRectangle(new XSolidBrush(BackColor), rect.ToXRect() - rect.Location); - - string text = Text; - if (text.Length > 0) - gfx.DrawString(Text, Font, new XSolidBrush(ForeColor), - rect.ToXRect() - rect.Location + new XPoint(2, 0), XStringFormats.TopLeft); + /// + /// Sets the default appearance for this field. + /// + public void SetDefaultAppearance(XFont font, double fontSize, XColor textColor) + { + if (font is null) + throw new ArgumentNullException(nameof(font)); + if (fontSize < 0.0) + throw new ArgumentException("Font size must be greater or equal to zero", nameof(fontSize)); + if (Owner.AcroForm is null) + throw new InvalidOperationException("AcroForm has to be created first"); + + var formResources = Owner.AcroForm.GetOrCreateResources(); + var fontType = font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode + ? FontType.Type0Unicode + : FontType.TrueTypeWinAnsi; + var docFont = _document.FontTable.GetOrCreateFont(font.GlyphTypeface, fontType); + var fontName = formResources.AddFont(docFont); + var da = string.Format(CultureInfo.InvariantCulture, "{0} {1:F2} Tf {2:F4} {3:F4} {4:F4} rg", + fontName, fontSize, textColor.R / 255, textColor.G / 255, textColor.B / 255); + Elements.SetString(PdfAcroField.Keys.DA, da); + } - form.DrawingFinished(); - form.PdfForm.Elements.Add("/FormType", new PdfLiteral("1")); + /// + /// Creates the normal appearance form X object for the annotation that represents + /// this acro form text field. + /// + protected override void RenderAppearance() + { + if (Font == null || string.IsNullOrEmpty(Text)) + return; - // Get existing or create new appearance dictionary. - if (Elements[PdfAnnotation.Keys.AP] is not PdfDictionary ap) + for (var i = 0; i < Annotations.Elements.Count; i++) { - ap = new PdfDictionary(_document); - Elements[PdfAnnotation.Keys.AP] = ap; - } - - // Set XRef to normal state. - ap.Elements["/N"] = form.PdfForm.Reference; - - form.PdfRenderer.Close(); - - var xobj = form.PdfForm; - string s = xobj.Stream?.ToString() ?? ""; - // Thank you Adobe: Without putting the content in 'EMC brackets' - // the text is not rendered by PDF Reader 9 or higher. - s = "/Tx BMC\n" + s + "\nEMC"; - if (xobj.Stream != null) + var widget = Annotations.Elements[i]; + if (widget == null) + continue; + + var rect = widget.Rectangle; + var width = Math.Abs(rect.Width); + var height = Math.Abs(rect.Height); + // ensure a minimum size of 1x1, otherwise an exception is thrown + if (width < 1.0 || height < 1.0) + continue; + + var xRect = new XRect(0, 0, width, height); + var form = (widget.Rotation == 90 || widget.Rotation == 270) && (widget.Flags & PdfAnnotationFlags.NoRotate) == 0 + ? new XForm(_document, XUnit.FromPoint(rect.Height), XUnit.FromPoint(rect.Width)) + : new XForm(_document, xRect); + + if (widget.Rotation != 0 && (widget.Flags & PdfAnnotationFlags.NoRotate) == 0) + { + // I could not get this to work using gfx.Rotate/Translate Methods... + const double deg2Rad = 0.01745329251994329576923690768489; // PI/180 + var sr = Math.Sin(widget.Rotation * deg2Rad); + var cr = Math.Cos(widget.Rotation * deg2Rad); + // see PdfReference 1.7, Chapter 8.3.3 (Common Transformations) + // TODO: Is this always correct ? I had only the chance to test this with a 90 degree rotation... + form.PdfForm.Elements.SetMatrix(PdfFormXObject.Keys.Matrix, new XMatrix(cr, sr, -sr, cr, xRect.Width, 0)); + if (widget.Rotation == 90 || widget.Rotation == 270) + xRect = new XRect(0, 0, rect.Height, rect.Width); + } + + var preferredFontType = AnsiEncoding.IsAnsi(Text) ? FontType.TrueTypeWinAnsi : FontType.Type0Unicode; + SetFontType(preferredFontType); + + using (var gfx = XGraphics.FromForm(form)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.TextFieldRenderer.Render(this, widget, gfx, xRect); + } + form.DrawingFinished(); + SetXFormFont(form); + + // Get existing or create new appearance dictionary. + if (widget.Elements[PdfAnnotation.Keys.AP] is not PdfDictionary ap) + { + ap = new PdfDictionary(_document); + widget.Elements[PdfAnnotation.Keys.AP] = ap; + } + + ap.Elements["/N"] = form.PdfForm.Reference; + + var xobj = form.PdfForm; + var s = xobj.Stream.ToString(); + // Thank you Adobe: Without putting the content in 'EMC brackets' + // the text is not rendered by PDF Reader 9 or higher. + s = "/Tx BMC\n" + s + "\nEMC"; xobj.Stream.Value = new RawEncoding().GetBytes(s); -#endif + } + // create DefaultAppearance for newly created fields (required according to the spec) + if (!Elements.ContainsKey(PdfAcroField.Keys.DA) && _document.AcroForm != null) + { + var pdfFont = _document.FontTable.GetOrCreateFont(Font.GlyphTypeface, FontType.Type0Unicode); + var formResources = _document.AcroForm.GetOrCreateResources(); + var fontName = formResources.AddFont(pdfFont); + Elements.Add(PdfAcroField.Keys.DA, new PdfString(string.Format( + CultureInfo.InvariantCulture, "{0} {1:0.###} Tf {2:0.###} {3:0.###} {4:0.###} rg", + fontName, FontSize ?? Font.Size, ForeColor.R / 255.0, ForeColor.G / 255.0, ForeColor.B / 255.0))); + } } internal override void PrepareForSave() diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfAcroFieldRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfAcroFieldRenderer.cs new file mode 100644 index 00000000..50129ca2 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfAcroFieldRenderer.cs @@ -0,0 +1,87 @@ +namespace PdfSharp.Pdf.AcroForms.Rendering +{ + /// + /// Contains the renderers for s

+ /// Individual renderers may be overriden by their respective implementations + ///
+ public class PdfAcroFieldRenderer + { + private PdfCheckBoxFieldRenderer checkBoxFieldRenderer = new(); + private PdfComboBoxFieldRenderer comboBoxFieldRenderer = new(); + private PdfListBoxFieldRenderer listBoxFieldRenderer = new(); + private PdfPushButtonFieldRenderer pushButtonFieldRenderer = new(); + private PdfRadioButtonFieldRenderer radioButtonFieldRenderer = new(); + private PdfSignatureFieldRenderer signatureFieldRenderer = new(); + private PdfTextFieldRenderer textFieldRenderer = new(); + + /// + /// Gets or sets the renderer for s + ///

Trying to set this to null will throw an Exception + ///
+ public PdfCheckBoxFieldRenderer CheckBoxFieldRenderer + { + get => checkBoxFieldRenderer; + set => checkBoxFieldRenderer = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Gets or sets the renderer for s + ///

Trying to set this to null will throw an Exception + ///
+ public PdfComboBoxFieldRenderer ComboBoxFieldRenderer + { + get => comboBoxFieldRenderer; + set => comboBoxFieldRenderer = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Gets or sets the renderer for s + ///

Trying to set this to null will throw an Exception + ///
+ public PdfListBoxFieldRenderer ListBoxFieldRenderer + { + get => listBoxFieldRenderer; + set => listBoxFieldRenderer = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Gets or sets the renderer for s + ///

Trying to set this to null will throw an Exception + ///
+ public PdfPushButtonFieldRenderer PushButtonFieldRenderer + { + get => pushButtonFieldRenderer; + set => pushButtonFieldRenderer = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Gets or sets the renderer for s + ///

Trying to set this to null will throw an Exception + ///
+ public PdfRadioButtonFieldRenderer RadioButtonFieldRenderer + { + get => radioButtonFieldRenderer; + set => radioButtonFieldRenderer = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Gets or sets the renderer for s + ///

Trying to set this to null will throw an Exception + ///
+ public PdfSignatureFieldRenderer SignatureFieldRenderer + { + get => signatureFieldRenderer; + set => signatureFieldRenderer = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Gets or sets the renderer for s + ///

Trying to set this to null will throw an Exception + ///
+ public PdfTextFieldRenderer TextFieldRenderer + { + get => textFieldRenderer; + set => textFieldRenderer = value ?? throw new ArgumentNullException(nameof(value)); + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfCheckBoxFieldRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfCheckBoxFieldRenderer.cs new file mode 100644 index 00000000..c7df6f4b --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfCheckBoxFieldRenderer.cs @@ -0,0 +1,57 @@ +using PdfSharp.Drawing; +using PdfSharp.Pdf.Annotations; + +namespace PdfSharp.Pdf.AcroForms.Rendering +{ + /// + /// Renders a

+ ///
+ /// + /// Inheritors should override the methods + /// and + /// + public class PdfCheckBoxFieldRenderer + { + /// + /// Renders the ckecked state of the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void RenderCheckedState(PdfCheckBoxField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + // draw border + if (!widget.BorderColor.IsEmpty && widget.Border.Width > 0) + { + var borderPen = new XPen(widget.BorderColor, widget.Border.Width); + gfx.DrawRectangle(borderPen, 0, 0, rect.Width, rect.Height); + } + // draw an X-shape + var pen = new XPen(field.ForeColor, rect.Width * 0.125) + { + LineCap = XLineCap.Round + }; + var pad = widget.Border.Width + 1; + gfx.DrawLine(pen, 0 + pad, pad, rect.Width - pad, rect.Height - pad); + gfx.DrawLine(pen, 0 + pad, rect.Height - pad, rect.Width - pad, pad); + } + + /// + /// Renders the unckecked state of the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void RenderUncheckedState(PdfCheckBoxField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + // draw border + if (!widget.BorderColor.IsEmpty && widget.Border.Width > 0) + { + var borderPen = new XPen(widget.BorderColor, widget.Border.Width); + gfx.DrawRectangle(borderPen, 0, 0, rect.Width, rect.Height); + } + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfComboBoxFieldRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfComboBoxFieldRenderer.cs new file mode 100644 index 00000000..4c3a02a2 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfComboBoxFieldRenderer.cs @@ -0,0 +1,51 @@ +using PdfSharp.Drawing; +using PdfSharp.Pdf.Annotations; + +namespace PdfSharp.Pdf.AcroForms.Rendering +{ + /// + /// Renders a

+ ///
+ /// + /// Inheritors should override the method + /// + public class PdfComboBoxFieldRenderer + { + /// + /// Renders the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void Render(PdfComboBoxField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + if (field.Font == null) + return; + + if (widget.BackColor != XColor.Empty) + gfx.DrawRectangle(new XSolidBrush(widget.BackColor), rect); + // Draw Border + if (!widget.BorderColor.IsEmpty && widget.Border.Width > 0) + { + gfx.DrawRectangle(new XPen(widget.BorderColor, widget.Border.Width), rect); + rect.Inflate(-widget.Border.Width, -widget.Border.Width); + } + + var index = field.SelectedIndex; + if (index > 0) + { + var text = field.ValueInOptArray(index, false); + if (!String.IsNullOrEmpty(text)) + { + var format = field.TextAlign == PdfAcroFieldTextAlignment.Left + ? XStringFormats.CenterLeft + : field.TextAlign == PdfAcroFieldTextAlignment.Center + ? XStringFormats.Center + : XStringFormats.CenterRight; + gfx.DrawString(text, field.Font, new XSolidBrush(field.ForeColor), rect, format); + } + } + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfListBoxFieldRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfListBoxFieldRenderer.cs new file mode 100644 index 00000000..1808135c --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfListBoxFieldRenderer.cs @@ -0,0 +1,62 @@ +using PdfSharp.Drawing; +using PdfSharp.Pdf.Annotations; + +namespace PdfSharp.Pdf.AcroForms.Rendering +{ + /// + /// Renders a

+ ///
+ /// + /// Inheritors should override the method + /// + public class PdfListBoxFieldRenderer + { + /// + /// Renders the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void Render(PdfListBoxField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + if (field.Font == null) + return; + + var format = field.TextAlign == PdfAcroFieldTextAlignment.Left + ? XStringFormats.CenterLeft + : field.TextAlign == PdfAcroFieldTextAlignment.Center + ? XStringFormats.Center + : XStringFormats.CenterRight; + if (widget.BackColor != XColor.Empty) + gfx.DrawRectangle(new XSolidBrush(widget.BackColor), rect); + // Draw Border + if (!widget.BorderColor.IsEmpty && widget.Border.Width > 0) + gfx.DrawRectangle(new XPen(widget.BorderColor, widget.Border.Width), rect); + + var lineHeight = field.Font.Height; + var y = 0.0; + var startIndex = Math.Max(0, Math.Min(field.TopIndex, field.Options.Count - (int)(rect.Height / lineHeight))); + for (var i = startIndex; i < field.Options.Count; i++) + { + var text = field.Options.ElementAt(i); + // offset and shrink a bit to not draw on top of the outer border + var lineRect = new XRect(widget.Border.Width, y + widget.Border.Width, + rect.Width - 2 * widget.Border.Width, lineHeight - 1); + var selected = false; + if (text.Length > 0) + { + if (field.SelectedIndices.Contains(i)) + { + gfx.DrawRectangle(new XSolidBrush(field.HighlightColor), lineRect); + selected = true; + } + lineRect.Inflate(-2, 0); + gfx.DrawString(text, field.Font, + new XSolidBrush(selected ? field.HighlightTextColor : field.ForeColor), lineRect, format); + y += lineHeight; + } + } + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfPushButtonFieldRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfPushButtonFieldRenderer.cs new file mode 100644 index 00000000..1e79d6e8 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfPushButtonFieldRenderer.cs @@ -0,0 +1,130 @@ +using PdfSharp.Drawing; +using PdfSharp.Pdf.Annotations; +using PdfSharp.Pdf.Annotations.enums; +using PdfSharp.Pdf.Internal; + +namespace PdfSharp.Pdf.AcroForms.Rendering +{ + /// + /// Renders a

+ /// The current implementation does not render the Rollover- and Down- states + /// so the button will always appear in Normal state.

+ ///
+ /// + /// Inheritors should override the methods , + /// and + ///



+ /// It is allowed to throw a in the methods + /// and + /// , + /// only the implementation of + /// is mandatory. + ///
+ public class PdfPushButtonFieldRenderer + { + static XColor ShadeLight = XColors.White; + static XColor ShadeDark = XColors.DimGray; + const double shadeWidth = 2; + + /// + /// Renders the normal state of the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void RenderNormalState(PdfPushButtonField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + var text = field.Caption; + if (string.IsNullOrWhiteSpace(text) || field.Font == null) + return; + + var format = XStringFormats.Center; + if (widget.NormalIcon != null) + { + format = widget.CaptionPlacement == PdfButtonCaptionPosition.LeftOfIcon + ? XStringFormats.CenterLeft + : widget.CaptionPlacement == PdfButtonCaptionPosition.RightOfIcon + ? XStringFormats.CenterRight + : widget.CaptionPlacement == PdfButtonCaptionPosition.AboveIcon + ? XStringFormats.TopCenter + : XStringFormats.BottomCenter; + } + + if (!widget.BackColor.IsEmpty) + gfx.DrawRectangle(new XSolidBrush(widget.BackColor), rect); + if (!widget.BorderColor.IsEmpty && widget.Border.Width > 0) + { + gfx.DrawRectangle(new XPen(widget.BorderColor, widget.Border.Width), rect); + //var prevRect = new XRect(rect.X, rect.Y, rect.Width, rect.Height); + rect.Inflate(-widget.Border.Width, -widget.Border.Width); + //gfx.TranslateTransform(widget.Border.Width, widget.Border.Width); + //gfx.ScaleAtTransform(rect.Width / prevRect.Width, rect.Height / prevRect.Height, rect.Width / 2, rect.Height / 2); + } + var tlColor = XColor.Empty; + var brColor = XColor.Empty; + if (widget.Border.BorderStyle == Annotations.enums.PdfAnnotationBorderStyle.Beveled) + { + tlColor = ShadeLight; + brColor = ShadeDark; + } + else if (widget.Border.BorderStyle == Annotations.enums.PdfAnnotationBorderStyle.Inset) + { + tlColor = ShadeDark; + brColor = ShadeLight; + } + if (!tlColor.IsEmpty) + { + // draw additional beveled or inset border + var tlPen = new XPen(tlColor, shadeWidth) + { + LineCap = XLineCap.Square, + LineJoin = XLineJoin.Miter + }; var brPen = new XPen(brColor, shadeWidth) + { + LineCap = XLineCap.Square, + LineJoin = XLineJoin.Miter + }; + // top + gfx.DrawLine(tlPen, rect.X, rect.Top, rect.Right, rect.Top); + // left + gfx.DrawLine(tlPen, rect.X, rect.Y, rect.X, rect.Bottom); + // bottom + gfx.DrawLine(brPen, rect.X + shadeWidth, rect.Bottom, rect.Right, rect.Bottom); + // right + gfx.DrawLine(brPen, rect.Right, rect.Y, rect.Right, rect.Bottom); + rect.Inflate(-brPen.Width, -brPen.Width); + } + // TODO: offset icon based on CaptionPosition + if (widget.NormalIcon != null && widget.CaptionPlacement != PdfButtonCaptionPosition.CaptionOnly) + gfx.AppendToContentStream(PdfEncoders.RawEncoding.GetString(widget.NormalIcon.Stream.UnfilteredValue)); + + if (widget.CaptionPlacement != PdfButtonCaptionPosition.IconOnly) + gfx.DrawString(text, field.Font, new XSolidBrush(field.ForeColor), rect, format); + } + + /// + /// Renders the rollover state of the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void RenderRolloverState(PdfPushButtonField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + throw new NotImplementedException(); + } + + /// + /// Renders the down state of the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void RenderDownState(PdfPushButtonField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + throw new NotImplementedException(); + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfRadioButtonFieldRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfRadioButtonFieldRenderer.cs new file mode 100644 index 00000000..7563c4aa --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfRadioButtonFieldRenderer.cs @@ -0,0 +1,54 @@ +using PdfSharp.Drawing; +using PdfSharp.Pdf.Annotations; + +namespace PdfSharp.Pdf.AcroForms.Rendering +{ + /// + /// Renders a

+ ///
+ /// + /// Inheritors should override the methods + /// and + /// + /// + public class PdfRadioButtonFieldRenderer + { + /// + /// Renders the ckecked state of the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void RenderCheckedState(PdfRadioButtonField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + // draw border + if (!widget.BorderColor.IsEmpty && widget.Border.Width > 0) + { + var borderPen = new XPen(widget.BorderColor, widget.Border.Width); + gfx.DrawEllipse(borderPen, 0, 0, rect.Width, rect.Height); + } + // draw a dot in the middle + var dotRect = new XRect(rect.Location, rect.Size); + dotRect.Inflate(-rect.Width * 0.25, -rect.Height * 0.25); + gfx.DrawEllipse(new XSolidBrush(field.ForeColor), dotRect); + } + + /// + /// Renders the unckecked state of the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void RenderUncheckedState(PdfRadioButtonField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + // draw border + if (!widget.BorderColor.IsEmpty) + { + var borderPen = new XPen(widget.BorderColor); + gfx.DrawEllipse(borderPen, 0, 0, rect.Width, rect.Height); + } + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfSignatureFieldRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfSignatureFieldRenderer.cs new file mode 100644 index 00000000..3ef6a06e --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfSignatureFieldRenderer.cs @@ -0,0 +1,38 @@ +using PdfSharp.Drawing; +using PdfSharp.Pdf.Annotations; + +namespace PdfSharp.Pdf.AcroForms.Rendering +{ + /// + /// Renders a

+ ///
+ /// + /// Inheritors should override the method + /// + public class PdfSignatureFieldRenderer + { + /// + /// Renders the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void Render(PdfSignatureField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + const double pad = 4.0; + + if (!widget.BackColor.IsEmpty) + gfx.DrawRectangle(new XSolidBrush(widget.BackColor), rect); + if (!widget.BorderColor.IsEmpty && widget.Border.Width > 0) + { + gfx.DrawRectangle(new XPen(widget.BorderColor, widget.Border.Width), rect); + rect.Inflate(-widget.Border.Width, -widget.Border.Width); + } + + // render a horizontal line where a (handwritten) signature may be placed on + var linePen = new XPen(XColors.Black, 1.0); + gfx.DrawLine(linePen, rect.Left + pad, rect.Bottom - pad, rect.Right - pad, rect.Bottom - pad); + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfTextFieldRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfTextFieldRenderer.cs new file mode 100644 index 00000000..a1bdf0a7 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfTextFieldRenderer.cs @@ -0,0 +1,75 @@ +using PdfSharp.Drawing; +using PdfSharp.Drawing.Layout; +using PdfSharp.Pdf.Annotations; + +namespace PdfSharp.Pdf.AcroForms.Rendering +{ + /// + /// Renders a + /// + /// + /// Inheritors should override the method + /// + public class PdfTextFieldRenderer + { + /// + /// Renders the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void Render(PdfTextField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + var text = field.Text; + if (string.IsNullOrWhiteSpace(text) || field.Font == null) + return; + + if (field.MaxLength > 0) + text = text.Substring(0, Math.Min(text.Length, field.MaxLength)); + + var format = field.TextAlign == PdfAcroFieldTextAlignment.Left + ? XStringFormats.CenterLeft + : field.TextAlign == PdfAcroFieldTextAlignment.Center + ? XStringFormats.Center + : XStringFormats.CenterRight; + + if (field.MultiLine) + format.LineAlignment = XLineAlignment.Near; + if (!widget.BackColor.IsEmpty) + gfx.DrawRectangle(new XSolidBrush(widget.BackColor), rect); + if (!widget.BorderColor.IsEmpty && widget.Border.Width > 0) + { + gfx.DrawRectangle(new XPen(widget.BorderColor, widget.Border.Width), rect); + rect.Inflate(-widget.Border.Width, -widget.Border.Width); + } + + var renderFont = field.Font; + if (field.AutomaticFontSize) + renderFont = XFont.FromExisting(renderFont, field.DetermineFontSize(widget)); + + if (field.Combined && field.MaxLength > 0) + { + var combWidth = rect.Width / field.MaxLength; + var cBrush = new XSolidBrush(field.ForeColor); + var count = Math.Min(text.Length, field.MaxLength); + for (var ci = 0; ci < count; ci++) + { + var cRect = new XRect(ci * combWidth, 0, combWidth, rect.Height); + gfx.DrawString(text[ci].ToString(), renderFont, cBrush, cRect, XStringFormats.Center); + } + } + else + { + // for Multiline fields, we use XTextFormatter to handle line-breaks and a fixed TextFormat (only TopLeft is supported) + if (field.MultiLine) + { + var tf = new XTextFormatter(gfx); + tf.DrawString(text, renderFont, new XSolidBrush(field.ForeColor), rect, XStringFormats.TopLeft); + } + else + gfx.DrawString(text, renderFont, new XSolidBrush(field.ForeColor), rect, format); + } + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/enums/PdfAcroFieldTextAlignment.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/enums/PdfAcroFieldTextAlignment.cs new file mode 100644 index 00000000..2b8fe0ca --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/enums/PdfAcroFieldTextAlignment.cs @@ -0,0 +1,21 @@ +namespace PdfSharp.Pdf.AcroForms +{ + /// + /// Specifies the horizontal Text-Alignment for a + /// + public enum PdfAcroFieldTextAlignment + { + /// + /// Text is left-aligned + /// + Left, + /// + /// Text is centered inside the Field + /// + Center, + /// + /// Text is right-aligned + /// + Right + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfCatalog.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfCatalog.cs index 1b500a58..9fb18f39 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfCatalog.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfCatalog.cs @@ -184,14 +184,30 @@ public PdfNamedDestinations Destinations /// /// Gets the AcroForm dictionary of this document. /// - public PdfAcroForm AcroForm + public PdfAcroForm? AcroForm { get { if (_acroForm == null) - _acroForm = (PdfAcroForm?)Elements.GetValue(Keys.AcroForm) ?? NRT.ThrowOnNull(); + _acroForm = (PdfAcroForm?)Elements.GetValue(Keys.AcroForm); return _acroForm; } + internal set + { + if (value != null) + { + if (!value.IsIndirect) + throw new InvalidOperationException("Setting the AcroForm requires an indirect object"); + Elements.SetReference(Keys.AcroForm, value); + } + else + { + if (AcroForm != null && AcroForm.Reference != null) + _document.IrefTable.Remove(AcroForm.Reference); + Elements.Remove(Keys.AcroForm); + _acroForm = null; + } + } } PdfAcroForm? _acroForm; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFont.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFont.cs index c3cceb6a..a9ef5bbd 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFont.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFont.cs @@ -18,6 +18,15 @@ protected PdfFont(PdfDocument document) : base(document) { } + internal PdfFont(PdfDictionary dict, PdfFontDescriptor fontDescriptor, PdfFontEncoding encoding) + :base(dict) + { + FontDescriptor = fontDescriptor; + FontEncoding = encoding; + _cmapInfo = new CMapInfo(fontDescriptor.Descriptor); + _toUnicodeMap = new PdfToUnicodeMap(Owner); + } + internal PdfFontDescriptor FontDescriptor { get diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFontTable.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFontTable.cs index 791d35dc..baf947a8 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFontTable.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFontTable.cs @@ -2,6 +2,11 @@ // See the LICENSE file in the solution root for more information. using PdfSharp.Drawing; +using PdfSharp.Fonts; +using PdfSharp.Fonts.OpenType; +using PdfSharp.Fonts.StandardFonts; +using PdfSharp.Internal; +using System.Diagnostics.CodeAnalysis; namespace PdfSharp.Pdf.Advanced { @@ -30,7 +35,8 @@ sealed class PdfFontTable : PdfResourceTable ///
public PdfFontTable(PdfDocument document) : base(document) - { } + { + } /// /// Gets a PdfFont from an XFont. If no PdfFont already exists, a new one is created. @@ -46,13 +52,33 @@ public PdfFont GetOrCreateFont(XGlyphTypeface glyphTypeface, FontType fontType) else if (fontType == FontType.TrueTypeWinAnsi) pdfFont = new PdfTrueTypeFont(Owner, glyphTypeface); else - throw new InvalidOperationException($"Invalid font type '{fontType.ToString()}'."); + throw new InvalidOperationException($"Invalid font type '{fontType}'."); Debug.Assert(pdfFont.Owner == Owner); _fonts[selector] = pdfFont; } return pdfFont; } + /// + /// Caches a font from an existing document.

+ /// Used to prevent adding new fonts when filling existing AcroForms. + ///
+ /// + /// + /// + internal void CacheExistingFont(PdfDictionary fontDict, XGlyphTypeface glyphTypeface, FontType fontType) + { + var selector = ComputePdfFontKey(glyphTypeface, fontType); + if (!_fonts.ContainsKey(selector)) + { + var otDescriptor = (OpenTypeDescriptor)FontDescriptorCache.GetOrCreateDescriptorFor(glyphTypeface); + var descriptor = Owner.PdfFontDescriptorCache.GetOrCreatePdfDescriptorFor(otDescriptor, glyphTypeface.GetBaseName()); + + var font = new PdfFont(fontDict, descriptor, PdfFontEncoding.Automatic); + _fonts[selector] = font; + } + } + #if true /// /// Gets a PdfFont from a font program. If no PdfFont already exists, a new one is created. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFormXObject.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFormXObject.cs index 98f89b6c..de2bb33f 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFormXObject.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFormXObject.cs @@ -35,6 +35,14 @@ internal PdfFormXObject(PdfDocument thisDocument, XForm form) //{ } } + internal PdfFormXObject(PdfDictionary dict) + : base(dict.Owner) + { + if (dict.Elements.GetName(Keys.Subtype) != "/Form") + throw new ArgumentException("Dictionary does not specify the required Subtype", nameof(dict)); + } + + internal double DpiX { get; set; } = 72; internal double DpiY { get; set; } = 72; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfType0Font.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfType0Font.cs index 1332cf79..30a39007 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfType0Font.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfType0Font.cs @@ -27,6 +27,8 @@ public PdfType0Font(PdfDocument document, XGlyphTypeface glyphTypeface, bool ver var otDescriptor = (OpenTypeDescriptor)FontDescriptorCache.GetOrCreateDescriptorFor(glyphTypeface); FontDescriptor = document.PdfFontDescriptorCache.GetOrCreatePdfDescriptorFor(otDescriptor, glyphTypeface.GetBaseName()); + // TODO: even if we specify "Full" FontEmbedding in the XFont, the generated ToUnicodeMap + // and /W Array will only contain the "used" characters (specified in the cmapInfo) //FontOptions = font.PdfOptions; //Debug.Assert(FontOptions != null); diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotation.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotation.cs index db6efe7c..4350028b 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotation.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotation.cs @@ -3,6 +3,7 @@ using PdfSharp.Drawing; using PdfSharp.Pdf.Advanced; +using PdfSharp.Pdf.Annotations.enums; namespace PdfSharp.Pdf.Annotations { @@ -52,6 +53,11 @@ public void Delete() Parent.Remove(this); } + /// + /// Gets or sets the border-properties of this Annotation + /// + public PdfAnnotationBorder Border { get; set; } = new PdfAnnotationBorder(); + /// /// Gets or sets the annotation flags of this instance. /// @@ -76,6 +82,40 @@ public PdfAnnotations Parent PdfAnnotations? _parent; + /// + /// Gets or sets the page for this Annotation + /// + public PdfPage? Page + { + get + { + var pageRef = Elements.GetReference(Keys.Page); + if (pageRef == null) + { + var page = TryFindPage(); + if (page != null) + { + Elements.SetReference(Keys.Page, page); + pageRef = page.Reference; + } + } + return pageRef != null && pageRef.Value is PdfDictionary + ? Owner.Pages.FindPage(pageRef.ObjectID) + : null; + } + set + { + if (value is null) + throw new ArgumentNullException(nameof(value)); + + var curPage = Page; + curPage?.Annotations.Remove(this); + Elements.SetReference(Keys.Page, value); + if (Reference != null && !value.Annotations.Elements.Contains(Reference)) + value.Annotations.Add(this); + } + } + /// /// Gets or sets the annotation rectangle, defining the location of the annotation /// on the page in default user space units. @@ -191,6 +231,136 @@ public double Opacity } } + /// + /// Convenience-method that serves 2 purposes:

+ /// 1: It allows setting the and the with one call

+ /// 2: It eases placing the annotation on the page by using the top-left of the page as the origin

+ /// (as opposed to the bottom-left, which would be the case when using directly) + ///
+ /// The the annotation should be placed on + /// The rectangle of the Annotation. The position should be relative to the top-left of the page + public void AddToPage(PdfPage page, PdfRectangle rectangle) + { + Page = page ?? throw new ArgumentNullException(nameof(page)); + if (rectangle == null) + throw new ArgumentNullException(nameof(rectangle)); + + var location = new XPoint(rectangle.X1, page.Height.Point - rectangle.Y2); + Rectangle = new PdfRectangle(location, rectangle.Size); + } + + private PdfPage? TryFindPage() + { + if (_document != null) + { + for (var i = 0; i < _document.PageCount; i++) + { + var page = _document.Pages[i]; + if (page.Annotations != null && page.Annotations.Count > 0) + { + for (var a = 0; a < page.Annotations.Count; a++) + { + var annot = page.Annotations[a]; + if (annot.Reference == Reference) + return page; + } + } + } + } + return null; + } + + /// + /// Determines the border-characteristics of this annotation

+ /// PdfReference 1.7, Chapter 12.5.2 and 12.5.4 + ///
+ protected void DetermineBorder() + { + var bs = Elements.GetDictionary(Keys.BS); + if (bs != null) + { + if (bs.Elements.ContainsKey("/W")) + Border.Width = Math.Max(0.0, bs.Elements.GetReal("/W")); + if (bs.Elements.ContainsKey("/S")) + { + var styleName = bs.Elements.GetName("/S"); + Border.BorderStyle = styleName switch + { + "/S" => PdfAnnotationBorderStyle.Solid, + "/D" => PdfAnnotationBorderStyle.Dashed, + "/B" => PdfAnnotationBorderStyle.Beveled, + "/I" => PdfAnnotationBorderStyle.Inset, + "/U" => PdfAnnotationBorderStyle.Underline, + _ => PdfAnnotationBorderStyle.None + }; + } + if (bs.Elements.ContainsKey("/D")) + { + var patternArray = bs.Elements.GetArray("/D"); + if (patternArray?.Elements.Count > 0) + { + var numbers = new List(patternArray.Elements.Count); + foreach (var item in patternArray) + { + if (item is PdfInteger intItem) + numbers.Add(intItem.Value); + } + Border.DashPattern = numbers.ToArray(); + } + } + return; // BS takes precedence over Border + } + if (Elements.ContainsKey(Keys.Border)) + { + var borderArray = Elements.GetArray(Keys.Border); + var hRadius = 0.0; + var vRadius = 0.0; + var width = 0.0; + int[]? dashPattern = null; + for (var i = 0; i < borderArray?.Elements.Count; i++) + { + var val = borderArray.Elements[i]; + if (i == 0) + { + if (val is PdfInteger hItem) + hRadius += hItem.Value; + else if (val is PdfReal hRealItem) + hRadius += hRealItem.Value; + } + if (i == 1) + { + if (val is PdfInteger vItem) + vRadius = vItem.Value; + else if (val is PdfReal vRealItem) + vRadius += vRealItem.Value; + } + if (i == 2) + { + if (val is PdfInteger widthItem) + width = widthItem.Value; + else if (val is PdfReal widthRealItem) + width = widthRealItem.Value; + } + if (i == 3 && val is PdfArray arrayItem) + { + var dash = new List(); + foreach (var item in arrayItem) + { + if (item is PdfInteger intItem) + dash.Add(intItem.Value); + } + if (dash.Count > 0) + dashPattern = dash.ToArray(); + } + } + Border.Width = width; + Border.HorizontalRadius = hRadius; + Border.VerticalRadius = vRadius; + if (dashPattern != null) + Border.DashPattern = dashPattern; + } + } + /// /// Predefined keys of this dictionary. /// @@ -228,7 +398,14 @@ public class Keys : KeysBase [KeyInfo(KeyType.TextString | KeyType.Optional)] public const string Contents = "/Contents"; - // P + /// + /// (Optional except as noted below; PDF 1.3; not used in FDF files) + /// An indirect reference to the page object with which this annotation is associated. + /// This entry shall be present in screen annotations associated with rendition actions + /// (PDF 1.5; see 12.5.6.18, 'Screen Annotations' and 12.6.4.13, 'Rendition Actions') + /// + [KeyInfo(KeyType = KeyType.Optional)] + public const string Page = "/P"; /// /// (Optional; PDF 1.4) The annotation name, a text string uniquely identifying it diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotationBorder.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotationBorder.cs new file mode 100644 index 00000000..541bc7a7 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotationBorder.cs @@ -0,0 +1,35 @@ +using PdfSharp.Pdf.Annotations.enums; + +namespace PdfSharp.Pdf.Annotations +{ + /// + /// Specifies the characteristics of an 's border + /// + public class PdfAnnotationBorder + { + /// + /// The width of the border in points + /// + public double Width { get; set; } = 1; + + /// + /// Horizontal radius of the border + /// + public double HorizontalRadius { get; set; } = 0; + + /// + /// Vertical radius of the border + /// + public double VerticalRadius { get; set; } = 0; + + /// + /// The border-style + /// + public PdfAnnotationBorderStyle BorderStyle { get; set; } = PdfAnnotationBorderStyle.Solid; + + /// + /// A dash array defining a pattern of dashes and gaps that shall be used in drawing a dashed border + /// + public int[]? DashPattern { get; set; } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotations.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotations.cs index 45f1d8dc..e72ba299 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotations.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotations.cs @@ -25,9 +25,10 @@ internal PdfAnnotations(PdfArray array) /// The annotation. public void Add(PdfAnnotation annotation) { - annotation.Document = Owner; - Owner.IrefTable.Add(annotation); + if (annotation.ObjectID.IsEmpty || !Owner.IrefTable.Contains(annotation.ObjectID)) + Owner.IrefTable.Add(annotation); Elements.Add(annotation.ReferenceNotNull); + annotation.Parent = this; } /// diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfWidgetAnnotation.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfWidgetAnnotation.cs index 24d26f45..1f609e7b 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfWidgetAnnotation.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfWidgetAnnotation.cs @@ -1,29 +1,386 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; +using PdfSharp.Pdf.AcroForms; +using PdfSharp.Pdf.Advanced; +using PdfSharp.Pdf.Annotations.enums; + namespace PdfSharp.Pdf.Annotations { /// /// Represents a text annotation. /// - sealed class PdfWidgetAnnotation : PdfAnnotation + public sealed class PdfWidgetAnnotation : PdfAnnotation { + /// + /// Creates a new that is not tied to a + /// public PdfWidgetAnnotation() { Initialize(); } + /// + /// Creates a new that is tied to the specified . + /// + /// public PdfWidgetAnnotation(PdfDocument document) : base(document) { Initialize(); } + /// + /// Initializes a new instance of the with the specified dictionary. + /// + /// + public PdfWidgetAnnotation(PdfDictionary dict) + : base(dict) + { + if (dict.Elements.GetString(PdfAnnotation.Keys.Subtype) != "/Widget") + throw new PdfSharpException("PdfWidgetAnnotation not initialized with the /Widget Subtype"); + DetermineAppearance(); + } + void Initialize() { Elements.SetName(Keys.Subtype, "/Widget"); } + /// + /// Gets or sets the background color of the field. + /// + public XColor BackColor + { + get { return backColor; } + set + { + backColor = value; + if (BackColor.IsEmpty) + return; + + if (!Elements.ContainsKey(Keys.MK)) + Elements.Add(Keys.MK, new PdfDictionary()); + var colArray = new PdfArray(); + colArray.Elements.Add(new PdfReal(value.R / 255.0)); + colArray.Elements.Add(new PdfReal(value.G / 255.0)); + colArray.Elements.Add(new PdfReal(value.B / 255.0)); + var mk = Elements.GetDictionary(Keys.MK)!; + mk.Elements["/BG"] = colArray; + } + } + XColor backColor = XColor.Empty; + + /// + /// Gets or sets the border color of the field. + /// + public XColor BorderColor + { + get { return borderColor; } + set + { + borderColor = value; + if (borderColor.IsEmpty) + return; + + if (!Elements.ContainsKey(Keys.MK)) + Elements.Add(Keys.MK, new PdfDictionary()); + var colArray = new PdfArray(); + colArray.Elements.Add(new PdfReal(value.R / 255.0)); + colArray.Elements.Add(new PdfReal(value.G / 255.0)); + colArray.Elements.Add(new PdfReal(value.B / 255.0)); + var mk = Elements.GetDictionary(Keys.MK)!; + mk.Elements["/BC"] = colArray; + } + } + XColor borderColor = XColor.Empty; + + /// + /// Gets or sets the Rotation of this Widget in counter-clockwise direction. + /// + public int Rotation + { + get + { + var mk = Elements.GetDictionary(Keys.MK); + if (mk != null && mk.Elements.ContainsKey("/R")) + return mk.Elements.GetInteger("/R"); + return 0; + } + set + { + if (!Elements.ContainsKey(Keys.MK)) + Elements.Add(Keys.MK, new PdfDictionary()); + var mk = Elements.GetDictionary(Keys.MK)!; + mk.Elements.SetInteger("/R", value); + } + } + + /// + /// Gets or sets the placement of the widget's caption relative to it's icon

+ /// Only applies to s + ///
+ public PdfButtonCaptionPosition CaptionPlacement + { + get + { + var mk = Elements.GetDictionary(Keys.MK); + if (mk != null && mk.Elements.ContainsKey("/TP")) + return (PdfButtonCaptionPosition)mk.Elements.GetInteger("/TP"); + return PdfButtonCaptionPosition.CaptionOnly; + } + set + { + if (!Elements.ContainsKey(Keys.MK)) + Elements.Add(Keys.MK, new PdfDictionary()); + var mk = Elements.GetDictionary(Keys.MK)!; + mk.Elements.SetInteger("/TP", (int)value); + } + } + + /// + /// Gets or sets the annotation's highlighting mode, the visual effect to be used when + /// the mouse button is pressed or held down inside its active area + /// + public PdfAnnotationHighlightingMode Highlighting + { + get + { + var mode = Elements.GetName(Keys.H); + return mode switch + { + "/N" => PdfAnnotationHighlightingMode.None, + "/I" => PdfAnnotationHighlightingMode.Invert, + "/O" => PdfAnnotationHighlightingMode.Outline, + "/P" => PdfAnnotationHighlightingMode.Push, + "/T" => PdfAnnotationHighlightingMode.Toggle, + _ => PdfAnnotationHighlightingMode.Invert + }; + } + set + { + switch (value) + { + case PdfAnnotationHighlightingMode.None: + Elements.SetName(Keys.H, "/N"); + break; + case PdfAnnotationHighlightingMode.Invert: + Elements.SetName(Keys.H, "/I"); + break; + case PdfAnnotationHighlightingMode.Outline: + Elements.SetName(Keys.H, "/O"); + break; + case PdfAnnotationHighlightingMode.Push: + Elements.SetName(Keys.H, "/P"); + break; + case PdfAnnotationHighlightingMode.Toggle: + Elements.SetName(Keys.H, "/T"); + break; + } + } + } + + /// + /// Gets or sets the normal Caption of this Annotation.

+ /// Only applies to button-fields, e.g. , and + ///
+ /// see PdfReference 1.7, Chapter 12.5.6.19: Widget Annotations + public string? NormalCaption + { + get { return GetMkString("/CA"); } + set { SetMkString("/CA", value); } + } + + /// + /// Gets or sets the rollover Caption of this Annotation which shall be displayed + /// when the user rolls the cursor into its active area without pressing the mouse button.

+ /// Only applies to s + ///
+ public string? RolloverCaption + { + get { return GetMkString("/RC"); } + set { SetMkString("/RC", value); } + } + + /// + /// Gets or sets the down Caption of this Annotation which shall be displayed + /// when the mouse button is pressed within its active area.

+ /// Only applies to s + ///
+ public string? DownCaption + { + get { return GetMkString("/AC"); } + set { SetMkString("/AC", value); } + } + + /// + /// The widget annotation's normal icon, which shall be displayed when it is not interacting with the user.

+ /// Only applies to s + ///
+ public PdfFormXObject? NormalIcon + { + get { return GetMkForm("/I"); } + set { SetMkForm("/I", value); } + } + + /// + /// The widget annotation's rollover icon, which shall be displayed + /// when the user rolls the cursor into its active area without pressing the mouse button.

+ /// Only applies to s + ///
+ public PdfFormXObject? RolloverIcon + { + get { return GetMkForm("/RI"); } + set { SetMkForm("/RI", value); } + } + + /// + /// The widget annotation's alternate (down) icon, which shall be displayed + /// when the mouse button is pressed within its active area.

+ /// Only applies to s + ///
+ public PdfFormXObject? DownIcon + { + get { return GetMkForm("/IX"); } + set { SetMkForm("/IX", value); } + } + + + /// + /// Get the parent-field of this Widget, if it is the child of a . + /// + public PdfObject ParentField + { + get + { + return Elements.GetObject(Keys.Parent) ?? new PdfNullObject(); + } + internal set { Elements.SetReference(Keys.Parent, value); } + } + + internal override void PrepareForSave() + { + base.PrepareForSave(); + if (Border.Width > 0 && Border.BorderStyle != PdfAnnotationBorderStyle.None && !BorderColor.IsEmpty) + { + // the /BS dictionary does not support border radii, use /Border for these cases + if (Border.HorizontalRadius > 0 || Border.VerticalRadius > 0) + { + var borderArray = new PdfArray(Owner); + borderArray.Elements.Add(new PdfReal(Border.HorizontalRadius)); + borderArray.Elements.Add(new PdfReal(Border.VerticalRadius)); + borderArray.Elements.Add(new PdfReal(Border.Width)); + if (Border.DashPattern?.Length > 0) + { + var dashArray = new PdfArray(Owner); + foreach (var a in Border.DashPattern) + dashArray.Elements.Add(new PdfInteger(a)); + borderArray.Elements.Add(dashArray); + } + Elements[Keys.Border] = borderArray; + Elements.Remove(Keys.BS); + } + else + { + var bs = new PdfDictionary(Owner); + bs.Elements.Add("/W", new PdfReal(Border.Width)); + bs.Elements.Add("/S", new PdfName(Border.BorderStyle switch + { + PdfAnnotationBorderStyle.Solid => "/S", + PdfAnnotationBorderStyle.Dashed => "/D", + PdfAnnotationBorderStyle.Beveled => "/B", + PdfAnnotationBorderStyle.Inset => "/I", + _ => "/U" + })); + if (Border.DashPattern?.Length > 0) + { + var dashArray = new PdfArray(Owner); + foreach (var a in Border.DashPattern) + dashArray.Elements.Add(new PdfInteger(a)); + bs.Elements.Add("/D", dashArray); + } + Elements[Keys.BS] = bs; + Elements.Remove(Keys.Border); + } + } + } + + private string? GetMkString(string key) + { + var mk = Elements.GetDictionary(Keys.MK); + if (mk != null && mk.Elements.ContainsKey(key)) + return mk.Elements.GetString(key); + return null; + } + + private void SetMkString(string key, string? value) + { + if (!Elements.ContainsKey(Keys.MK) && value == null) + return; + if (!Elements.ContainsKey(Keys.MK)) + Elements.Add(Keys.MK, new PdfDictionary()); + var mk = Elements.GetDictionary(Keys.MK)!; + if (value != null) + mk.Elements.SetString(key, value); + else + mk.Elements.Remove(key); + } + + private PdfFormXObject? GetMkForm(string key) + { + var mk = Elements.GetDictionary(Keys.MK); + if (mk != null) + { + var dict = mk.Elements.GetDictionary(key); + if (dict != null) + return new PdfFormXObject(dict); + } + return null; + } + + private void SetMkForm(string key, PdfFormXObject? value) + { + if (!Elements.ContainsKey(Keys.MK) && value == null) + return; + if (!Elements.ContainsKey(Keys.MK)) + Elements.Add(Keys.MK, new PdfDictionary()); + var mk = Elements.GetDictionary(Keys.MK)!; + if (value != null) + mk.Elements.SetReference(key, value); + else + mk.Elements.Remove(key); + } + + private void DetermineAppearance() + { + DetermineBorder(); + + var mk = Elements.GetDictionary(Keys.MK); // 12.5.6.19 + if (mk != null) + { + var bc = mk.Elements.GetArray("/BC"); + if (bc == null || bc.Elements.Count == 0) + borderColor = XColor.Empty; + else if (bc.Elements.Count == 1) + borderColor = XColor.FromGrayScale(bc.Elements.GetReal(0)); + else if (bc.Elements.Count == 3) + borderColor = XColor.FromArgb((int)Math.Round(bc.Elements.GetReal(0) * 255.0), (int)Math.Round(bc.Elements.GetReal(1) * 255.0), (int)Math.Round(bc.Elements.GetReal(2) * 255.0)); + else if (bc.Elements.Count == 4) + borderColor = XColor.FromCmyk(bc.Elements.GetReal(0), bc.Elements.GetReal(1), bc.Elements.GetReal(2), bc.Elements.GetReal(3)); + + var bg = mk.Elements.GetArray("/BG"); + if (bg == null || bg.Elements.Count == 0) + backColor = XColor.Empty; + else if (bg.Elements.Count == 1) + backColor = XColor.FromGrayScale(bg.Elements.GetReal(0)); + else if (bg.Elements.Count == 3) + backColor = XColor.FromArgb((int)Math.Round(bg.Elements.GetReal(0) * 255.0), (int)Math.Round(bg.Elements.GetReal(1) * 255.0), (int)Math.Round(bg.Elements.GetReal(2) * 255.0)); + else if (bg.Elements.Count == 4) + backColor = XColor.FromCmyk(bg.Elements.GetReal(0), bg.Elements.GetReal(1), bg.Elements.GetReal(2), bg.Elements.GetReal(3)); + } + } + /// /// Predefined keys of this dictionary. /// @@ -31,15 +388,15 @@ void Initialize() { /// /// (Optional) The annotation’s highlighting mode, the visual effect to be used when - /// the mouse button is pressed or held down inside its active area: - /// N (None) No highlighting. - /// I (Invert) Invert the contents of the annotation rectangle. - /// O (Outline) Invert the annotation’s border. + /// the mouse button is pressed or held down inside its active area:

+ /// N (None) No highlighting.

+ /// I (Invert) Invert the contents of the annotation rectangle.

+ /// O (Outline) Invert the annotation’s border.

/// P (Push) Display the annotation’s down appearance, if any. If no down appearance is defined, /// offset the contents of the annotation rectangle to appear as if it were being pushed below - /// the surface of the page. - /// T (Toggle) Same as P (which is preferred). - /// A highlighting mode other than P overrides any down appearance defined for the annotation. + /// the surface of the page.

+ /// T (Toggle) Same as P (which is preferred).

+ /// A highlighting mode other than P overrides any down appearance defined for the annotation.

/// Default value: I. ///
[KeyInfo(KeyType.Name | KeyType.Optional)] @@ -47,12 +404,20 @@ void Initialize() /// /// (Optional) An appearance characteristics dictionary to be used in constructing a dynamic - /// appearance stream specifying the annotation’s visual presentation on the page. + /// appearance stream specifying the annotation’s visual presentation on the page.

/// The name MK for this entry is of historical significance only and has no direct meaning. ///
[KeyInfo(KeyType.Dictionary | KeyType.Optional)] public const string MK = "/MK"; + /// + /// (Required if this widget annotation is one of multiple children in a field; absent otherwise) + /// An indirect reference to the widget annotation's parent field.

+ /// A widget annotation may have at most one parent; that is, it can be included in the Kids array of at most one field + ///
+ [KeyInfo(KeyType.Optional)] + public const string Parent = "/Parent"; + public static DictionaryMeta Meta => _meta ??= CreateMeta(typeof(Keys)); static DictionaryMeta? _meta; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfAnnotationBorderStyle.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfAnnotationBorderStyle.cs new file mode 100644 index 00000000..a568e76d --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfAnnotationBorderStyle.cs @@ -0,0 +1,34 @@ +namespace PdfSharp.Pdf.Annotations.enums +{ + /// + /// Specifies the border-style for a + /// + public enum PdfAnnotationBorderStyle + { + /// + /// No border + /// + None, + /// + /// A solid rectangle surrounding the annotation. + /// + Solid, + /// + /// A dashed rectangle surrounding the annotation. + /// The dash pattern may be specified by the D entry of the border-style dictionary. + /// + Dashed, + /// + /// A simulated embossed rectangle that appears to be raised above the surface of the page. + /// + Beveled, + /// + /// A simulated engraved rectangle that appears to be recessed below the surface of the page. + /// + Inset, + /// + /// A single line along the bottom of the annotation rectangle. + /// + Underline + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfAnnotationHighlightingMode.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfAnnotationHighlightingMode.cs new file mode 100644 index 00000000..48f9e67d --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfAnnotationHighlightingMode.cs @@ -0,0 +1,30 @@ +namespace PdfSharp.Pdf.Annotations.enums +{ + /// + /// The annotation's highlighting mode, the visual effect to be used when + /// the mouse button is pressed or held down inside its active area + /// + public enum PdfAnnotationHighlightingMode + { + /// + /// No highlighting + /// + None, + /// + /// Invert the contents of the annotation rectangle + /// + Invert, + /// + /// Invert the annotation's border + /// + Outline, + /// + /// Display the annotation's down appearance, if any + /// + Push, + /// + /// Same as (which is preferred) + /// + Toggle + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfButtonCaptionPosition.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfButtonCaptionPosition.cs new file mode 100644 index 00000000..5ac0e645 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfButtonCaptionPosition.cs @@ -0,0 +1,38 @@ +namespace PdfSharp.Pdf.Annotations.enums +{ + /// + /// s only:

+ /// Specifies where to position the text of the widget annotation's caption relative to its icon + ///
+ public enum PdfButtonCaptionPosition + { + /// + /// No icon, only caption + /// + CaptionOnly = 0, + /// + /// No caption, icon only + /// + IconOnly, + /// + /// Caption is placed below the icon + /// + BelowIcon, + /// + /// Caption is placed above the icon + /// + AboveIcon, + /// + /// Caption is placed right of the icon + /// + RightOfIcon, + /// + /// Caption is placed left of the icon + /// + LeftOfIcon, + /// + /// Caption is overlaid directly on the icon + /// + Overlaid + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/DigitalSignatureOptions.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/DigitalSignatureOptions.cs index c51bc051..82adadce 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/DigitalSignatureOptions.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/DigitalSignatureOptions.cs @@ -12,7 +12,8 @@ namespace PdfSharp.Pdf.Signatures public class DigitalSignatureOptions() { /// - /// Gets or sets the appearance handler that draws the visual representation of the signature in the PDF. + /// Gets or sets the appearance handler that draws the visual representation of the signature in the PDF.

+ /// This overrides the in ///
public IAnnotationAppearanceHandler? AppearanceHandler { get; init; } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/PdfSignatureHandler.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/PdfSignatureHandler.cs index fb120ffd..1ee6d7ef 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/PdfSignatureHandler.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/PdfSignatureHandler.cs @@ -149,64 +149,37 @@ internal async Task AddSignatureComponentsAsync() _signatureFieldByteRangePdfArray = new PdfArrayWithPadding(Document, ByteRangePaddingLength, new PdfLongInteger(0), new PdfLongInteger(0), new PdfLongInteger(0), new PdfLongInteger(0)); var signatureDictionary = GetSignatureDictionary(_placeholderItem, _signatureFieldByteRangePdfArray); - var signatureField = GetSignatureField(signatureDictionary); - - var annotations = Document.Pages[Options.PageIndex].Elements.GetArray(PdfPage.Keys.Annots); - if (annotations == null) - Document.Pages[Options.PageIndex].Elements.Add(PdfPage.Keys.Annots, new PdfArray(Document, signatureField)); - else - annotations.Elements.Add(signatureField); // acroform - var catalog = Document.Catalog; - - if (catalog.Elements.GetObject(PdfCatalog.Keys.AcroForm) == null) - catalog.Elements.Add(PdfCatalog.Keys.AcroForm, new PdfAcroForm(Document)); - - if (!catalog.AcroForm.Elements.ContainsKey(PdfAcroForm.Keys.SigFlags)) - catalog.AcroForm.Elements.Add(PdfAcroForm.Keys.SigFlags, new PdfInteger(3)); + var acroForm = Document.GetOrCreateAcroForm(); + if (!acroForm.Elements.ContainsKey(PdfAcroForm.Keys.SigFlags)) + acroForm.Elements.Add(PdfAcroForm.Keys.SigFlags, new PdfInteger(3)); else { - var sigFlagVersion = catalog.AcroForm.Elements.GetInteger(PdfAcroForm.Keys.SigFlags); + var sigFlagVersion = acroForm.Elements.GetInteger(PdfAcroForm.Keys.SigFlags); if (sigFlagVersion < 3) - catalog.AcroForm.Elements.SetInteger(PdfAcroForm.Keys.SigFlags, 3); + acroForm.Elements.SetInteger(PdfAcroForm.Keys.SigFlags, 3); } - if (catalog.AcroForm.Elements.GetValue(PdfAcroForm.Keys.Fields) == null) - catalog.AcroForm.Elements.SetValue(PdfAcroForm.Keys.Fields, new PdfAcroField.PdfAcroFieldCollection(new PdfArray())); - catalog.AcroForm.Fields.Elements.Add(signatureField); - } - - PdfSignatureField GetSignatureField(PdfSignature2 signatureDic) - { - var signatureField = new PdfSignatureField(Document); - - signatureField.Elements.Add(PdfAcroField.Keys.V, signatureDic); - - // Annotation keys. - signatureField.Elements.Add(PdfAcroField.Keys.FT, new PdfName("/Sig")); - signatureField.Elements.Add(PdfAcroField.Keys.T, new PdfString("Signature1")); // TODO_OLD If already exists, will it cause error? implement a name chooser if yes. - signatureField.Elements.Add(PdfAcroField.Keys.Ff, new PdfInteger(132)); - signatureField.Elements.Add(PdfAcroField.Keys.DR, new PdfDictionary()); - signatureField.Elements.Add(PdfSignatureField.Keys.Type, new PdfName("/Annot")); - signatureField.Elements.Add("/Subtype", new PdfName("/Widget")); - signatureField.Elements.Add("/P", Document.Pages[Options.PageIndex]); - - signatureField.Elements.Add("/Rect", new PdfRectangle(Options.Rectangle)); - - signatureField.CustomAppearanceHandler = Options.AppearanceHandler ?? new DefaultSignatureAppearanceHandler() + acroForm.AddSignatureField(signatureField => { - Location = Options.Location, - Reason = Options.Reason, - Signer = Signer.CertificateName - }; - // TODO_OLD Call RenderCustomAppearance(); here. - signatureField.PrepareForSave(); // TODO_OLD PdfSignatureField.PrepareForSave() is not triggered automatically so let's call it manually from here, but it would be better to be called automatically. - - Document.Internals.AddObject(signatureField); - - return signatureField; + // Note: number-suffix will be added/incremented if a field with the same name already exist + signatureField.Name = "Signature1"; + signatureField.SetFlags = (PdfAcroFieldFlags)132; // TODO: what is that ? + signatureField.Value = signatureDictionary; + signatureField.CustomAppearanceHandler = Options.AppearanceHandler ?? new DefaultSignatureAppearanceHandler() + { + Location = Options.Location, + Reason = Options.Reason, + Signer = Signer.CertificateName + }; + + signatureField.AddAnnotation(widget => + { + widget.AddToPage(Document.Pages[Options.PageIndex], new PdfRectangle(Options.Rectangle)); + }); + }); } PdfSignature2 GetSignatureDictionary(PdfSignaturePlaceholderItem contents, PdfArray byteRange) diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfArray.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfArray.cs index 273e9f2f..afc150a5 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfArray.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfArray.cs @@ -334,8 +334,8 @@ public string GetName(int index) } /// - /// Gets the PdfArray with the specified index, or null if no such object exists. If the index refers to - /// a reference, the referenced PdfArray is returned. + /// Gets the PdfDictionary with the specified index, or null if no such object exists. If the index refers to + /// a reference, the referenced PdfDictionary is returned. /// public PdfDictionary? GetDictionary(int index) => GetObject(index) as PdfDictionary; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs index 7e9db2ec..8f9f2276 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs @@ -484,6 +484,9 @@ internal override void PrepareForSave() } info.Elements.SetString(PdfDocumentInformation.Keys.Producer, producer); + // Prepare AcroForm. Must occur BEFORE preparing the Fonts ! + Catalog.AcroForm?.PrepareForSave(); + // Prepare used fonts. _fontTable?.PrepareForSave(); @@ -711,7 +714,52 @@ public PdfPageMode PageMode /// /// Get the AcroForm dictionary. /// - public PdfAcroForm AcroForm => Catalog.AcroForm; + public PdfAcroForm? AcroForm => Catalog.AcroForm; + + /// + /// Imports the fields from the specified into the current document.

+ /// If the current document does not contain an AcroForm, a new one is created automatically.

+ /// This method should be called after importing pages into the current document. + ///
+ /// The to import + /// A method that allows filtering the fields to import.

+ /// It receives the field to import from the remote AcroForm as a parameter.

+ /// When the method returns true, the field is imported, otherwise the field (and all childs of that field) is skipped + /// A method that allows modifying a field after it was imported.

+ /// It receives the original (remote) field and the imported (local) field as parameters. + /// + /// While importing, the new fields may be renamed, if a field with the same name is already present.

+ /// The new field receives a number-suffix in this case, starting at 2.

+ /// i.e. if the new field has the name myField and there is already a field myField present, + /// the new field is renamed to myField2.

+ /// If more fields with the same name are imported, the number-suffix will increase automatically.

+ /// This is useful when merging multiple versions of the same document. (e.g.with different field-values) + ///
+ public void ImportAcroForm(PdfAcroForm remoteForm, + Func? fieldFilter = null, + Action? fieldHandler = null) + { + var importer = new PdfAcroFormImporter(this); + importer.ImportAcroForm(remoteForm, fieldFilter, fieldHandler); + } + + /// + /// Gets the existing or creates a new one, if there is no in the current document + /// + /// The associated with this document + public PdfAcroForm GetOrCreateAcroForm() + { + var form = AcroForm; + if (form == null) + { + form = new PdfAcroForm(this); + IrefTable.Add(new PdfReference(form)); + if (form.Reference != null) + form.Reference.Document = this; + Catalog.AcroForm = form; + } + return form; + } /// /// Gets or sets the default language of the document. @@ -884,14 +932,12 @@ public void AddEmbeddedFile(string name, Stream stream) => Internals.Catalog.Names.AddEmbeddedFile(name, stream); /// - /// Flattens a document (make the fields non-editable). + /// Flattens the AcroField's widget annotations of this document.

+ /// Other annotations are unaffected. ///
- public void Flatten() + public void FlattenAcroForm() { - for (int idx = 0; idx < AcroForm.Fields.Count; idx++) - { - AcroForm.Fields[idx].ReadOnly = true; - } + AcroForm?.Flatten(); } /// diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PdfSharp.csproj b/src/foundation/src/PDFsharp/src/PdfSharp/PdfSharp.csproj index 6fb9e5af..9de9991c 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PdfSharp.csproj +++ b/src/foundation/src/PDFsharp/src/PdfSharp/PdfSharp.csproj @@ -67,4 +67,19 @@ + + + True + True + FontResources.resx + + + + + + ResXFileCodeGenerator + FontResources.Designer.cs + + + diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/D050000L.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/D050000L.ttf new file mode 100644 index 0000000000000000000000000000000000000000..64afd29e74eebefdf796eecc82a128d46eab81d6 GIT binary patch literal 37860 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 literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Bold.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..63b641cb2a31111f0207ed0629f3863111240be9 GIT binary patch literal 212616 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 Q2^an`=-=UnThAc+FL3UN8UO$Q literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-BoldItalic.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..77fc730dff7bb6236dcbc0da6aa359610cb04da3 GIT binary patch literal 215144 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%0D*}LK^kux9*2u`cok#pDT`~^5i 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 literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Italic.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..350a02aadd7dadb4bd8b3ef289de9188213e3deb GIT binary patch literal 205712 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 literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Regular.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a5c7ef636fedb9766685cf34e04fde3dc7495390 GIT binary patch literal 201348 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 HXgl!p*OOL88#`uN?dJSphc=B^ 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 Pv12ekZ2dJb$ou~R2JlXx literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusRoman-Bold.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusRoman-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e6f28674fe2473e1d67a78ada988a7a6ecd8ba0a GIT binary patch literal 200040 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�vjYLqXg2Yq^6sY%5rA^a0(6za(>+#L|OKh>l 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

+pDVE!*c9MGS$eB&&)X-zD<=CaJX0HK+A5g}z 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

    |2%k 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 l2;YLeYjYcQRYpaviH^3`cSPgR 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 z zvLqDbX4$CcX7r$bjO!jK?1@ndSUlQQ~{=$*H-xlb<2AI#+fTOPQG-nZv~+ z?YC^tyKT&v)WYkFs>?HCQltD5>&9Mg$4`o6_fIBdd6p!{rbPSVE8w{R9AQ83TrW%% zo_FkS3#to_k?U|AY4T?6O%0LW(65I{f}^x3pH9OF7l@5A*y5z&<$1Zuwp=BQ$tA@Z zc2k@pbWEtMfWM*Q8<45j>mx0quRYy{>`=aXOBgigVpxvUGP-4SaZzT5E+;OhdjJm^%cN3^YM41e@}tti-hL7Z0CJOe`v@^_9!h z=2m^&six(tvH7+b>xZ^{)m&^*hfd$cxqDJ#!gIB$V-d3a*X+3Z>1_pZ@ugYuWalyM zSHt^0K`HjkOnp{~*qs#P995j)z86tnP+cB)yG+QrbW{O@j#m9bjq8h*Tc4WF&Uq{F5N^*E`T&PbaDXQU>bi~y56V5l5m-Jwa22B`Rd+;KEfxxQiARJk3i)S993vFzqc5v;%{YCm7WR^N7 z1SqWn3j7IOxT5L3{Fz|V6$%ZwQc$zfhTrP&z7*eC^;__pbNu@n{4NgnYw$T2-tx8h zzKp)33vgIn?_+Vl5dCk&nBTvyMY0NM?5wZ>uXAOa zP=fCRTvr#tOk;JyLeFPi>!Pt;eev-X_MZoAr|23O8;x)1MdKQJ2|_1AAr|2`b8rzn zi^MmDTDchtVZfza##V_7c+3P`j{ygLNKJ!F@St(x{SKN-#1+=#8Y>I^EAd<<+Oguh zz4+Z{^3?vf@ZCjmdcP_j5-jqcg$%$+zoD`9pk1Pg3f#LLpDBXfs$r>{N265J!4#v%+0Z2&h%gc-PKPNVrH2pyb` z=@~qawtRU%+FWQfiT6Z*LoXTwU9^7a70>XwqgNNL^Z{3YKwl!RSX}SpT8`^B-2WV} zPZKWbd5r4<(FE?bi*PZ)rNdQ-NIqQs|H7*s?fL+wsd$YgddFA^cQlto-vM}^HRLtW z^|_1aMEOFvPC6iD@>lwdHOBALI(rQBOKpSZiT?Qg|K(NJF4Uv_Lcra?U)zNdaeG4+KmI=qCk`P68`Xd-t~G>d*$ET^wC%kTZ9#8$3uL&e>2)D#j|O+#$#Mo z!s*agX}Sewawo+)WFy`#5U-3*XU@yM<70=XSoY{a! zdv$+yy`t|j%$to~rBhh%+UIbz6OU&(P5hEq&>hVq&2ucqN3a%RJk;J5uYgmz&jL=sLC2|_!px>$c2jUZE^nWid@Be~+ zgJ&lxp+Xp93zP7E4z5PD@4$6E@KBA{Bg%6^8~88Le6rFlEW*8oxJp2mg-Wqdjb|p~ zyAitk!K=@q{Zb)VH$#ZV^E8fm@)99g>K3|y(}m)4tVJvM5AMnN!anJF@KUQVioTbc zKwtO`#=4gOu16RzeJzyB8-=aX4xvceCR_)&yX0EoL8((1CASM>q{sUI#oJSb8tFuT zzp_@SQ$7~%#q-oI@wqN~rF-%PyjL-%kN;m|Umo8?)xH0mGf4_Lq+Aq9e&R& z8LFS}AHVkVjD(!z)7JULdf zP8aX1me0ezpI`=kH_tZ{y#p|cGR*i*rrwt1Ycsy#xv?02))`LpGuwF&pxlff(`Ha@bQHUbXV$Ov&lAbG2>utgvOwY99VbUhdW_>fh1DH3!d%ZQL zPP6LF#C5)B@t6tEDh&0Viw&N$ajB8QS-z7n%`+V5vu!U^pJyP?amz57Wq!u(0v@-0 zIA*`$7zD>b+&7+cJkOPso3!kqE>j2PT;X}uiV5FYj&pq1V5sLk_D^RVM>zq;rwi#B z8Gjx6&DZ|WUNfeqU*3l~?kjM-XD`o*_wk#k6H7AE)g>zs>cM zb^QLDvc7dZvrYOucjPw18#4*GPL=JJJLr*e>V=U|Rp{%YM zTX=s5P?7PgwC5V6ljl~9Wd3cwA2EX8b9h>0q7!{sL;Du^j>eUq-6-&U%y(7~L6q@* z(wK8-2W1r-b5N)&F_Gt%N}@es?r+C2Pm`I+ba56wA><+o7OxHI{oAuf;-GTHZ;zT0q z;3?)WCclofD5Jg1@ov*K^z9ve5K~Oh7xsa{oe52(`R3H_YrD+K=laR2Z&GtDWsQZy zZOy#@-~8rn|8G9ySL3OSUk~lKVbGs{*W)Y7o8@`8^5Wt4^6$baMHPaxexJse|F?0x#s zR~9xOe9!wd$DV~l`K;MKSFH-Mkb@dYo`YI)=bc?mL#hwgKnA-fS%h;O+?))@BM2i!)l53!!u z2W0YFm`vWPk=2D*%N^6BK&z1iWwpK&IAR<@Ic+urN6rS0$|SaPGoQ8ubsfz%ZCUTw z_QWpWxE(y~SM&0OGTRX+4&+oYp37kBK8fWgFXU-&0gw~mlH@4jU7$mfmvpqLV@Kfh zHb5uRPSkP63gFBkKxd*0b#?7Yuzt64Vj8iBmxPqleFCux=2fcTb6 z*sWZ~90Y>o^XCEu^sjIzv58X_hgUIW^qj%V)9IXospA~_(VO~vzXqJUh*KnWmGtJN z0QHnHu4RlxIdzw><&;@Z(4NX4fPRcef65(jEpXl%U?5{~{$5~kH(uIS0T(O-hWR)Z zT@BuT1zdPM@fR?PF&X^=Fotq2q77qDCYZi>2{4XwFWJb;DcToe45|hK)uXuF7z>2Q z@YFmGsH0EycLI@4z=T|2B4gX2!~h`1`teGjaSM>3?xtFTaZ1w1f z_uE+a_M?bOU{MW0S$ELaJBI^zO#v4F0o+|mYyg(b0+v$ez3hu+G5>K(tCdU71%G`W1@C*WCOU$%YaOyE`8_S#XzA3O!_1K#Kbyh*$@5_o$Ozr`5> zyvsg(Zw0WEzQ4Z#_>gUOvClrDypJj4lUiW+%fM%p{rO7Zi#@;|#_+36z&B%oZ`p_6 ztpfIb41E7H@WW2vNBX^wI`(}F{6zleM&Os8!2Vo@FqYb~a-XE-EUXK2? zn;UaH%CCQD*P)RRbb<))LzH*+n>Gw~nWx1CRpx!udps#zKncLwat3oK5s%**Pyjdei1}hd}!9ckw>7p=2qf zls1)ZgjB>JecM9%(dYgjK=^fs47?n2{uhuz)H{U!456JvXwLe$oP(s5aSto0aEocq&f+yVR@KxYkL#a zS4Y&-jtI*p(9ek;NOS#}l-7at&lkIb`Y}$h2dL z{gBIcKrSb}f^nHXhS&wU@=?f)@sO+7_A2@@llo`A3z;>Wx4F-NT-%ZO4RRfAoV^Be zJ$;$O`Zx50+;}GBCh|A;fZW3L+)0pmb0G64aCygAE?5Lv2*~a22+FvFF}O2_*Z{eU zvKG^?yEj4Z=>l0wz4uOoEMwX77LfaC^Zj2#R_ug4@GWHJ0?2LV#p^W zA-g+4KIORhly-jh0p#<&kT2N>U()tH8z5h8gnT`QOD)>|Eq(ZoGWS+Nz9)W|1o?3~ zWFKYzv=;I+=`Yl~pK|`kwg+kF%x=vFKDNF=owp~opYdF+C#eza4>^(2ecb^XX$n=@f)-|(SvsP*bY5wII$m^ zOP#s2#ZP^K8fab-mt}mGJbx^-UCcs& zh*`uJ&>567<5B2U^!qCI%T>FfSJS4e*Fa~|znRRN)qM zUAzH$cNDsWb}iWny(gDo+0tFmds%N;Bf-A8FG$=>?1wI=%;g)Q_qQk3Kv&SV6?2Kt zpbrcsmO)oCMk{9!jOBlZ5Nn~U7>iYt2-bUWIdnDcS$zPyrZx0o%3sU+kF0|})|;TO zkJ0XR-H7$j$JzFA+Vc2b=z7XqzmTAfPjn<=1a&^~8*~HfZx|1KGC<5BHbFNYPi%oc z^#XL$bI{FQpwH}qKD&f#78n zH#g?0%Fg$ogA8zZFOKJXbnJW|a%9$-BZgksxog*MW%0(TiAY_2GAEGh59U-&&2dU{ z%EL{Ox>!ypGLyp5cw<92mK+pms7f{E42?I0Vx{qD4Tbcy^Q^4yW?oMUDrjCY$IKlW zPBca0u^fMo+}wY+z?m38_E!81g0W^2cX%Oo)P)3TibEq}WREQ;|4BtE-z3S)38I`D~=jyRoB zJA-lUj4oC$bf=YPSy2!0SKT1;Ig0t+DDR2siL=oQ=b$&ARp^5f`dP+kS8z1Y33j`er~8}KAH;wj!HX<##+!4^D==fr~-@FKQi8@A&myo~?i6}*bq@H%#w zdz9fVyp4D8F5bgV-Yfb6KEy73gpctFcH>j5#?$y(eE1o^;3xbK`*8r@U?0B2_xKij z@dNKYZXqpshgz0o<8K_4R??bVzqY|4;pLAUB}YqJIYy3^?P6@dw{G9pHnjLB89xKnkTuilryt zOxH`!k=}AHKEvnIM@pnr%A{N>q*D4yKj|+6)OGE-*BHF7QAKQ~*hmpO6+Um|yt+$^`q zT$v~H`JSrz_VB6SujL#0 zR=$(H+^X*f`BC=q`O}}}7uhfWlLPXr{3gH4AM&UCC4b97Iiy@HD<96}J(*thX$D`Q z-BL3(i%-(>p8rMers+Vd)n>48@ourd>icZyO=6-;Bg-+Kib%tK0SL;ljrPt`S zdY#VJ>vfLapf~DGdb8f5b9J81*IW65$lG+G-mZ)E4!u+F(#3kWF422*soty0^gdm# z_v1%hflc}Vp4XM!V{nx|sH^oMU84`{T75(x)yH(5KCbKa3EiMi>PCG^H|f*5S)b7@ z`m8>u&+7~NqHfh~x?Nw=m-)i8SM*hVO<&g?`i8!#Z|U3m4)0WWPj~A3`T>8B*rnWq zQ$Nw&`l)`VpX(R;rS8$M^lSY_zt!(_uYRvT=#RQjf6|}z7u~P_(*yde{-(d{ANr^M zrGM)|J;X=Y#oQ5{TS0maAK%}=?Vk;9yKQ9iEzGTrBaAl2k;YNR(MDV27~@#uIOBNZ z1f!jCqS4+s$vD|K#mF&EH98ol86Az&jZVfHymhLx(Z%R$bThgeJ&d!AT*J?;#q*4y zk#7_jg+`H4Z1gnFHhLN77`=^idB0qVQEHSK_m{5w7tjBhi|0 zMk*G`%`GXOv_L>y20+nz-12=;euj@VTD575YjtO1ARW=%NEXP?*1knD;7NYo|5 z;aD^jtBF+m28OCr$*?bKk?euZ>qVO-d;{$OMJ?hPNbfySe)tC2?PGTPLCupyM4Yh6HNTn;;Lz}71PBcsShT1kHY%#?-RK^IW>r*z( zy6~`tS(BUbqnq(l5A(h;wy)DHk~zj5yP4Bm)*Fq->Y6f3Ok3<~A(zc4sj#v#LSc($ z4Q`5tn(A#newfc5)+|8TP0bS4BoXkJIJDHJWyRiPJQi3We;wMn1jYnjA&Llb8thr&aQN1gw_9{$!lry zl!lWbZ{H9PVq0HvFvHR38N(uj`n<#I$$3nL-t$6@jUgU54OKNEJwK&`QaUQa;cHo- zLn6k|`nY#kq^==k3=gF;9BYgr^%0|t7}6B6)sz%xoAS~Y9pO|=r!zxt7_!67JZeEh zEI(VC{#abwlwF=~YGrz@_MR$M_tu%td27PaWGKUt<(b9;!z@f%u9?ET6D`-GmTR_= zrDYmR>6A!D-1g5%)W_|TvVfP@opdruCmjQfMmktc&>nBxjC{5!H*MDu|FSdN5o&jv zQ)neJt;QDXv+VPGDBAC{vi+6;!Q9-Iq1s5qpPL)VOLO^tmkYSu;nJX+m+x`~E?4Ms zMJ`vI<_cVG1!?`|ZdqEFKj_N!yVCrwG`}k?;7SX)76;N&as#fN0asqYwKL#K4!Dv7 zuH-yda-J(W&y}3##v;$vk>~2jb9LmoI`Ui{d9IG2t0U;@2)a6gu8yFq<8WMpu8yFq zBk1Y~x;hG6s|wr}1#XK1w?%>5qR_Rf(6yz|wWZLtrO=gJ=t?ehB^SDq3th=YuH+)u z-y&B>k*lM~)luZ?C~|caxjKqm9YwB=Vpm78tE1S}QS9m{c6AiHI*MH##fA2>?@eyWMO4=WPZn2|3eQfx-Ke&CA z`it}IvVwp^ophm-E=;F`cKP9cI_ynxkzH2ov`Nb>E^zW4|J{0yJ;nB!Cs=Hsd4k1d zPW^J5mgG9rIkrn2`6Z4`B~JSir+rCeyH6*jMWKQR>)N z>c}s3a5Pjn7FSgIF04z0xGLn1tK+;RsEW3_G!-|m4kj@x zT;pqq#LV?&Q@A=Ft7#dYQq7YKYuQrrDzc}A6Y-{$bzPCju8pS>hZB)W;dCOaDKaI^ zw`!v7n41cl--)JE*|A8>ZPe1Oe#&ukJGlyI$Q((vI4sQ>wZ?$zb|Wu6;tBJ*HWbYyQ*W-TLs4%iRu{D{Xaj+ObsUlA+adzik;`;Z zcEr5=<%l-hduc1LdCh|&5U6O$wMrsf%Ok*J}Wa4R0{ z(Rf{?Iuxa8nPzm@L(ycT%T^^@T9LKKg&AXOB(xY-$x{*kOvd8KeT!K z`&h^?u&1Z|0(%O~FXS}USQU*|Pt4#!Zc?wEiq_gRk#y2YUh>t1z1C+&%|wf~tc~z+ zuc?Ypv9*-=ef|905h>3i`Tk71Ji((SBWcbZsYbhEsXZj~c?Pud6Hd7^CFPeo=9T5y z<t# z_E%KeXL3?&Wk713r%A2(h18lpNv(L0TKJykL2S>$){$Qk$?Xs>GSUS~LwhY;?E`=J>Nr!V={HBFDh z{TtzjLNiugq;s`7)*vMP4LtwV>?Ly+-eP}b5<;>gaDQmd^yN#C5dNX;BDgP}vtZ5a z8J7=U3iktudgV7mv!>6KRp>rO)G>G(g@)h(*+l7|;C>0*Hw`VkXm!pc$MtX@-am7} zg2gkY^FDvff~Zekf%{7qPG7wwV>PZv)IZ7Vb&IAiob~Bt6Rw2&eF#yzmn>d>(Y24% z{|-^#ev454lS`J(T2j7KU5eBoNI&6qrQ7kQq(nLkNqKsrPrqFeZ&5PcBgK|UWe z(>izI;ELs)ix*B`q^q3SaM1{SAma$by^`i`;FrKRy~3UvmZMd#J|bx~bhSEj4hEzzyfZPe}2-KTp{_lWMe zp0Cf+%k@fquD(EDsMqNYdW*hD@6m_#Q}ws#@7F)BKdOI8|F!`cXhXUo!;opnGRO@I zgUX;b=nO`K+2Am^4M9WLP-Cb!3>sz`<{P#eZZZ7K@N*+&lp6I$yBV1&v)C*(=a_TN z1!j}kX%3j<<|XD!%$J$3FkfZ9!F;#*LGwZL_Lg&S?7q{j`tj z=UVe_^L|!8PqF%W!Tgf>*Px$2fPSK*`k7^!=T(34>=&m_BQU%V5gN%ESurvNAqG5R z_@Bf782$!sza0MC@X_JthYt}*D z6WBBPII-o#&OfeHcJ|R1K4SM6tU1|rvh8H!N$ZJ!p7`X%dnbN-;uA5HW`2KeIo!6YWn!UgE z#N}}B(i0m_tUs~%{b>lj?>*6SB7DMr!f+zH?KYRR{ z<4+wwc>ICmdye06{L16&j;}tx;`p-Ti;vGZKKXdh@$Tat$J>v$9&b9{h|uxseT(~KzyAaK(0P5Kd2|}BJg=9Y z$BU@{A?qL?)bF{k6uTDckL-i&7w(a<`~UfO6h!zR`k>asGk-$&qRY@0^dZ`b{){e1 zSEKFd4zv&LK_8(j(I3%fbOZVe`WWp%H=`@i3+R3H3Az*QN1vk4(EmaApoh?}(97sy zG>B%PYtc;fDw>5}LBB??qu-#{&~MRS(QNc4`W<=$J%Z+-zoF~U@6lW6Z8U^FM_-_A zXdar2=A(sZ0a}E1qs3?`T7s6L13R$`yRip* zu@4txKMvp^4&g8^!4VwAF&xLGxD1!$1g^l9xC$LWkK$@vgKKdeuE!0y5jWvx+=5$i z8*axPxD$8bZae|^;9lH^C*nzXGVaGy@Kihv58&x|5YNCf@hm(W&p|)OLwGKphv(x3 zcp+Yd{(w%RW9U6}9GyV#q7U#+d^6sKZ^5_X+wkr94tyuR3-88v<9qPEcn|&=-iz_*r}e9Yl{& zQ>dxv3G^g7N=-wD(BtSubSZisZAH7N+o;>o{nQ=Qozz|E7U~}AUTQD;8Fe4Jp1Pmf zM?FYAL_JJBf^J9GP>)kjpr`0;x(^*e&(RZUh&@;UpGhOdBwJGFSS&nA^Y{W`TDmAh zoGHnY%ChA-3Z*JHPn}<&DbzwHGn&j6Ymv?FaJt+cudmo22!_HXk!UPlT2`K@sI024 zsjaJTXl!b3X>Duo=&p|z;Zy4y8-3-krj~XbU-7o0Cv0wIZz1-0$P0w zO#<}#6`<5^z+IQ1XK*?oqrU)>d>gQ91)6~7VGYGc<$%^qfG~dvc=aeC#%kn7yRZY0 z@C-n#-v9=E9MGy4Zd=fOfG3|r4+2`9iv9=P3P^Mfpi?Vg<;MX1+y&?{3$+9KdH}GN z5M6^_1q7%?SD^;`3-y?htIcM&Z92p z5tkDsM5Ow`6h+fWSq>jc7mKda5Cv5=4LFN*OJ0M11`S;ZV?xRoP?#sA5uZoV0wG48 z_~JU?@)s)=IRYU?v$sZrB^U_d z>ta)~1UZiBiPl`}eP71=CnYMnd+|L|{K;SEI;M42*=y^Vrx;6rthB46EYXK3tfD=< zM*cb^M!86zkYz(_NWv~eqL5^!aZ7M}9FFzn<+6RE zqVa-mJ%2j+K9ly~C!>>N_5z<$$ZY1m*LXFc(_bLOtLEQ|@{ty;OtfhV)OnK39DbIz zFkhU3a`>3yDHYi=I#-n=muB%r=>k55`DsEPP4kdMTc|0>SLfxbKnL<{ne<$XaR0=I z!)^y*ghtvZXFtP!xe-47H2VpU(?;4)@3Ou0$XySA^6*^`zi4}R@r$;14&Hg-WB5E| zdwG%XlSLm>)jOF^{4n|4iL-Zd-!Yv#na^=H^Em+Vk#|P?^eO&v@Rt%)i7roc7K^M_ z*lMraX%m9wrXd32;~2-I5f6y2&Qr?M#F!X?!;Td>;LehSQyelzBVLc&>9E_3+^axr zF(?Cm1xV^)|0hL;JIN2}YhXHd)^+wR^W-wiw&-v z(Bl#|Exh^qK>fVskLLx5_P;Z1OgxsJUcCjQ1<%iwwPH?&?CO{<7BT zYi_t`of3BY^<%l^P1q=Y@Y*1yT3j)C@veExd0TFfcQ8<+@#5k3(y7c!MuzpZyBcR8 z9%>)?tDuj+4atxWm7-2GH&I%vC@NEU1N^vJk)93VD4mKIfv)4xB0X3&(P=n@BPB$q zRR%{PPo)<(My^C+Vm%lwXf=dottBAl&*h4;_?aW?pU|xL`!cZy5rOw-ao?A z`14ynYxI%F}3u}|1aLP1c3;0S^h&AM(UcsuIs9D9noZSLN4y$;JMGm_FMr$-E za%k=1DT9;uEew~h3|@0kwQBaASG6UW?Ve2&%Zn@U!HPP+=jkO&n>&Mzff?&=WoGsC z<{Kwh&zi8bZ}QLQxtk-!*Gy_s7xX%}Hs825+}XUk_T|;H+Y=LieeEE1bYW-R3I00U+JQyuncp#+4}Nx2;hrsj z#nd04y6YQ+NA|*dI@tHL!+U0kD0n+e-urvr^T-i+Q#-sVgdNz3Y!Z6HB=ktZYr@7A zt9;Fq6J4GwN(b(4`z3R|ZT^ijZov<~cHqnH+QZj<{4w)~f3JO#$hn2$(R<-N=b^@g zBOT#Mb+w_OFWASjac<`9nuL$q2U7N+i#NEr$S;V0ogac}YfJQNPY zE4lmRm%%Tf1WK*3#N#b7YL&`{Qhn51R2nojl-7h)sz7z3SsyI5Sxa=fh)W4CjCkA; zc%jM#kCa%Q1%*LrJnzk_80sCbmDN-iVGr$of zX*9QQ9tUh1YdOIH=rgrXf`R<6NqI=h`gANdISnK^)kauVrCAfO~P zPb4A$j0IluB+_E-WoubqUq!Xk(uZ>j#yDu%Q5tmiB&tHOK}>r*WDTjH zNHS2iB8L)EoOxx3vsGZG0t&3sUktVf@DQw;y5p+*XZ0Qa`@V^_tL8p&GBOaUzp}(r zHr;Pnr_K%XS216oyqmdyJM;dns~>#|uiuFUv8{Lgdia?crHvbJoQ02VUKOuvB{l%F zH+mARP6_cvrI3g-Fh4UL?twm)3K`r7@XG-Z@Ggf#dK6^z2f+g{ECY~3*c8Tq9>4<> zqGj_{Sdi8qY2@M1*UZsejrK|pUD-uHs8LjkJl@#pEfWB zEX)edDYSyN0OpWfg7u&}deYs)(zRune{pq5+|zyQDpy16mV0(ho5Z}!EW*XB=11{X zW{q!MDW(rhzqWH(nfKAWYwFf6m~;83XPEtEvtiXIM?Ru&fmH`!)kQ9&HZ4o4rKHG$ zu|)-{Ljn%r`(*iiYmPBrl|vq612jY@lJhvQ?-{q-B%ZM8OE7N1LO^D)ZlOTW#++n~ z0RtefwOT;S3nRy;cht`=cXZUR-Erfj>SMWeg(bTVGT*LlXsax-MU5_jIy}EJctbh$ zvP-3!d|<-N%D()yB~u3*=Rdhb9CCK8{@t#}Y>xIoxh+^F)U2Gk=65Z6u-B235ETR< zqX=c9ii9ImNTnefDl(*^!P6iH5UdW9AQBzUuGEO2V;>M99AM1=w_(&8#(r9_m(zEJ zxA!oox*2hVp1BA7++j0PmhFBAam&`U<4oJfT7=ye$3GYOcj>X0*G*1C05TISB18e2IVi>c~H-n!d0MaE11@!2i6)>{IB3QuXk z+&r{v#$I2cnokXUK>XY@a*~(LUkp{B4fJL*h-CT3bQzV7aXN{luy$}N@OrB(Q)f^p zGFitOH48}G9F}LH5iDHA<{V+tf|Ki)hO^Bf4DkTM0Wk)WZg~Rnr8^qxr^cH7mv!~u zdHu_;PA=cIAG_BwpBB4yi%m-o2528*e$am$y6$u~Pv1`#S6U9_VLuCfp%Wt}Q(+ z7os8*PkNm+E9FSh9KTrOGVshQF+8rxk!Fc`05FruJ_#(PuW??*LV55pP~O>l9uC4z zb43sP1Y~`Ps7U}xoDa%g)&q!EIlWkO`6}e7dHA4p@mkHJZ0rv-~+>#3Msw-LxDG%KiF`SDaLDmQ5oIbJ#Aw1 z_E&D{GvrjT2fnmkhJ5 zgs-_|3Uh2mc~z!db-ZHttR1ZVe?%3~4+5G{Artf(#7H292rkLuDQI50B0U)ZlLgmn zU@GH!8{@x!g(TlZPv1!LmdnAt6^UMI7sjKU z$XmesEf}mJk(KONNs_lo?*Np;evoK{VGJAQEietY;y=|5mt^pMdj)eTvx@mARZ|2y ztU||lO|%buLNAJ5#{H!^3l`#rcK__y6ngo z|FiFgj+TxUPp=PTVxwtbqSN6incO~Wdr4%1b-*##qc5r`_0;ib7k#L8`0qK2$wOs( zTi&|+;XB%v?Y#HTw;ywc>ude<2lw3h_{YyLY+OG$;i}7Tz5A+H=BV>LnwGqRB{fU` z)HUB0rAvxe@1JciY>K=wrL+b-c@^ZFXW2+tfSMCNnS@5XG)xyL6?CRLU+o6M0>K^9 zEWjP$0MHu*XbN3Hae5lKK?-0cJ3PeI0D4GCGBSfxu=>=qx@7MG5|JyFSWokw9lmZx zxt6J4qus(Rj#Rm+Q~np_#b>_4>ze(3f4V1;|K~S?wmR(hOCk-tL#G#9mqD8k9lfj!fU^V)a=j?> zl|_UEus9rGClC>XdKRyO-KPMckw_4hvqm95%S70En_zH(@N>%b{-(VtW?f>aVT8eOtRbQ0R))Z9cYeNZ?Pi_ zDgX~4H4wxm@Q+*-d{4e}BGNOENc=jdE>|_ak;w*QXjBkyV81{rWyGvdwk^^>*E+=eqjTF_*y{bcU;qet;FuBPHgVf9hemGI?? zBta35+RcEG3uMwv8i^&OUd1R&f+SI&-I{y`gh?OgMZ|x|2eHpFslYffJt_%=qM)9( zlI9Ajv;;z$RHm>|>;_t_FfvJnAdoc_<{eml`nrx%<(V8s&H`R%UrC-(V;;PvEReNf z)gqgt)E(UwNn8EMatu&YmYv^@dHdp>L3}l{ERY#)qi=33Hf4&XerBC$V8E!6+D&1m zBr_+cX=2*&8={b9ZX?Z1;H9fGBRN{BYL$Ho(B1IJUtllmK^tDwlyF)_8m~jAEy&Iy z8<(Mx(lRMVg&HIw55v46m&_T&V?B3(m|U4jZb$V%w2*ACvjRfZ`yHhaop4G4$w7AQ z&C&FWezutAD`P#wdq%ZT)fdi|yDYmV6D_P=WewNSFAcwu;kV3fp_!TD>?Xa}B!tjI z7I%gp?kSMY9MLK@A5@jP1Y<0dm>6t+R zhbVDgE^*8d{FuZd2?c#*%)%8=u-%-*0H;X{O%9prI}WNK8w z-aL7Ke33HUoyg0ZP3;K^^VJKO9r?E46}JL$trI9~T1R#%6H6ajTs(J1`C{fz%)Tf3 zmzdNUcf4Dwmu88Au;&n$1+!q!<7jpwQS8wd^0a0;N5#OKv% z5iN-p`@9~T#jFQIP?Ld^Bt0$V5J?+gb(8wuv0g=LOuHkMVL(#3p4dF;9G+tkq<0Mk zFsBLPHtYl3Yx$MKD_7by^39BDHlL>sOdr0dwF2U{LNTA(Hmggu7=JbZztXO9P%}Cb ziW5SV4oekBTfuw%sikB@+s^E{+~G73|GZ};$n(KUEGU-Hs`(-r zHYaO*ETZ61SWck?b|puW#F3-rJ)n7Foovd)tVv=}=vaYI%6$$?$&-qQcdAi)a+y=E z)+Nua?U~b55^7Q_!Vaao@l%yDX90hbKSQSLJLA~bf0-{fBi_{*GHY{lO!*}+LS4~o z(Gk_cn%{<)awn`ggnANwzqiPwSLH~AJd|PJ(@F(2O;NEAS`)Oy4>sj0BJBwcL25Ed z1}T}@RuCImIaf=4F0Bma1pp3Xe7K{zQV3xNQd~yXZ z+&+Aur9#P>(z^b3#l}A$=&7?b;{#RY<+NwG*`xu>;88+{CWb#}Xo;fOBJle~F$gxD zCM#=5>G3wk{lcD(iJAg=I^ZE)lBt{6Bhu56G5&R%!P21*lDw%IZmtuThX=i{<3K_)U$IMC??K#3~F|`&SxJ(ur4W2b>e4V~4Ill(Ivy$Q7>oJOr$B@+SV7v<8@ ztlYd@j7;fi5CbG8cnU<$0f`CO0vbDG`7R~@*&^eVG@Q#B@!6shFc74c1ipjmj6?eubIG~bf%ta+7ge2AacnHoF`9z!<#u=lzPDE{XN}K znVpjkgbWIWA-8RX+@?f!(o@ijRY*)a=hlFrARv_rlBFfvPJNA~PjID?lxz(b5VA=g zQW3&l ziih_x=)Mp*0kw%DJzr!OVUbpmEf$?s7(mmGtqHQT#Ag)+V0oihl2ndo)dbKB9@98y zTULvlq~CEhlxmgL>zBA?YCDug2m33usU4=pt8L6z~Lne zM9kb)hg}cWm06NP8pF@>dV&x3Oz}B28O3B5m>zZ)N>DS@XO2ig$ilCp3J{-$=B6!6 zoRN+ZP*nim_@)HTT@8!3jM-EvKWp=$fmpI(gv98`jN@ zBp#i)b>54I{c17AYrVR=XGZPRt;{>@j_U*6cW;}~2s_?s-BP+Z=!p2Rs30RFO=GrP z{>GWFzuG*T7{cYuUzl%q&h1WQxHXwDuuKKt7#Ufl(kSEWE2m{3|ov$W=h}0BrL6LzFUX(1^WvonOgHSRA0V+$C z7-!dsP|QN~0Y=MrQ-uXo$|VvOkN%koe!6P&9^XLs{=%|8X2yH5r3KN6<1#na9d0f) z`F+JbZY!x1D;sV-xL9YBF=>7NbU(G1SuxY?Hb9;jpVo(8p}f}Wfn@_epD_&a2k}OZ z@q*y9aWp*vhLR@?MyMdAfj%e320b*9xz?sm%Z`=fU|$luOr9b0#eF0W%f|{U)*IM@ zF*#*s4T#i>t`p`5}Mb^tGL<8nmUF(#~*Bu=}p9M9I=}EDMd>c_=?vCn4#Q1qQ`rD992b1VXEv z?{5sJ<>?nLU`{Ga7Y;9E;r>4v?j?J`E%J(K0`oUie?v7Pu;|@OA{QV!nM~Rfp4F zv#c;nte;4&A81hBZ_RE^EVzG;r_sLB+T07kO;X_cka6FCxb)s?cXM6q+!4HYsZ9^` zHXyPHN_vKGy}H*i6mhRBd0;1gV0$baOaml`wt$=j#}pvwz2p2G2@F1oVPatXp@K{x z8_>{bg7ipcT%_g7IwLD5NSc%rumAy~00%%)$o=frun-@ll9LH3$%*{Kefl%+Ro<@G zNjy<%a87`li!WQFl=s8p3j?PGyzKY=Dk%l#MdeEu|NwQAw;z0{o*ny^+#5H?hB z{2d@~6#7iTkk4JDh0;7r1lU{(K>ERQh#$NI!`r$dtr`*YdD#}Gv7va;mu>L} z6?Idor8cFns5U+CxoeCq_^zV7k`88Qm&a{`DoCiaRGjR#GH+CyYQZQKuIV_VFG0C# zih)qXrvy5q>sWrzt2>JeWB{~<8LDokpUK}g zZO~%`O>;iz0_qH%2D+larpy$J#+Mq&D8i~^OanM2DRDp6P*WZ`4%9(h`QT8#vyG~r z5UZMu(}LknyuY;B$E=$#jm#WgxS%PQ+C-V#EC56)tvz^z`3!Gpc84sq-=7t!9e$r# z6W2wI5MG+8@jqt-;RSj3~U0gCc?nKYe=DL#*nMUqSye^D%*0|w5L?Bsx% zBLWk%9sA&dA{5~SjYDe+laOwe>lK*oukjYGIsFa2X7_y`t&UtoKYM2DHJIMIVG!?N zmdAO&zx=*5yfA*+-rsX4tm_c-H1!dGCNOs02{?z$$C;vZKF*+c(DVZo0||;-$0!v7 zR>ARK$a`XFYQe7Qv7UNoM~OzsJX610!jzMZE{a_q#e-$R;(mB#LN+Y~pgn91!^&n|6)sfZ>iXST z_<3dyGjz&0i9Zih&ia2(0vmgQTET1J55bJclu!yNh%7+HO-_2x8D+5}eIp^cV7%@y zUa%KmbeQ>yT0wn1oJkS?eT_LrzcexgG8QCqXsR2=Ch(g88 zu{m5zkoVibve^Tt()FkqbtgQIEV03;P{8n>rnDGq^KyZ^B;cCUYWUSfGO5NO@InP7 zP2>0jtfM4x>ew)T+)P;oj2wb4Ae(WO1;B2Ywy45k0=)<*wZK!{oRyo*(`y_LY>%{S zW=*JT+Yq)bn)L1B$~uYV!|QAFa!Z+yZG)~vU!bVBCpyuNd0K{PjTnaZmAGfr_dWFN z9naOYu9h&G&uR*z)I;>7j%Cc(?cVZR=HjBs_8^h?Lzu?x;NOfiP-`?LY(*kjVU|!v z!H5wwPC=Cfqeet$7J#&_v<$OMp;iFLi^~Np=ZHmCN0YtyF-D3Unh!J)jYCVL(#oM~ zG8)J%nGKID=z{oo+b7Q-Zrji{wXETxSy!yQWc}nS+mZGuB7E^sXT&bEmSMIDU2~_1v-BUVC>N=|{7Gb^l(nx=A&lNXZ|IS>0 zjkh|{R_Zpo)Dpw>Gygrkb53W84yK?I9zguZ@8+7^kUiJVflD#6o3_e*BsfDWi$p&VVb3g z&=!y}NnU2N89m=M;kxE%LOHXmv2!3&v1sx?7I##cW8Ds%ard7uQhEL|eNIUipY~ZM zPpI`T;py;E2$G0P7^BqDd@QThq0>WcX_g{2mQQ7lwi zD{%g7>K8q??XKGpb;rG>QHREum8NEXdp*oLcQOO?o3NW6RE}EEP@<+zl$HP(r}k1V ztfs|j*lG}`v71W4p>WU(@cWRYNzbb>*kVp)(4_HL4HPfaX3{9LfUU#^cL$Jki56J( zz&QqJ=dwd_wypDrC3J}qjHmu{SO(WY+wLpY-~qIdQ7 zSH=VM;^hweb3--hX}&yfq1F>FopN1o(~6lLZjC|Z>@TUWt-XE2?CYw|Y{B;IXryjp zQ&n@3G)ixp6}z`=&Gw5|2dfGC`OC=X^e{w+Fq)9?DYEQ#aEK5NS%^cZ!JN!S1D&bE zD4*mfzdk)%=5|})K{z+UML7}~;Dd__gwjGzf8->o1dt)eq8*qFSNKES4_cs&NwOvz z*;D2O?Mqf&^y}`G9o5YVld-rtEh{T6T`ljpxOGa~w>T!7Aj^N}&G&BXm_5{Pv6QbA zsKiEW)E@RbOa@=sFW<{^coYTM+3F{je$0Hq+g6%aLzU#%&OG!#HN8$}Mf7>*MwuW( z2@!!e@;Rjj=7<__Y+1sf&(DVg2DvaWmXk4Dk~LW(#5Wg4LfLdRkuS>&}jLb;csC9ayiq=OVks>mI;| zBe@23SZ*Eesy1ua@iuivO4>SN!48P$%m$_p@Y))rgQ<5-!eZ5{(gk`XptYG0$TA_7 z0`z7hnZ%x>6WKLVI2}dmM94?u8(t~02Q<9oY+xQEb#l&5G7#G;hV(j)6IG6-w|%yb zd3{aT8nfAB3XxXkEVDh6*CWAQAV@UY+DTW0a}8%UGS)Ij(3yzYG#ZH@UApWx>i5%& z%Bk?EFnHvRkuT}vV10Hn8`fl*&6HiwRud>K2h(CvI-M!ZfdCB^1(vW+C5wslF+NMu z0ErQD=o?HB$kWh=!DpKogs4W<&b+Y070372&l}tn zjX5+Wc2~W>p{qBn_Y~qy%tqd}xEd@0*niItcXhkC$w%2}65232B8;45HDY-hz^ zjGuPRy>41rbM3C09(nFde_`HnWoH6x)!eQe zpQn_FQ{4u(L?7q#uyXMFBdpVVfI`e3qaij0DT0PJHI#E&iL3A0X;(J(XBEh& zZ4FiQ{iD}2St(UC8~QHm{B~P?yC4lrF)LdIqeoF=O=CsVwrA@mdYs|*?abe|sWdgb zPW8@}mrQ>bXE^0D_2&Z*Gaq2})i~EJ&kq&NVSd9L#~)*4Av4@>AWnV-dMrjA3AZ%M zY6W_~7kdp_D9r?zoJD}TR|QB=;+Cal>TNK+fm3rT<>+xnVxOZyl2aFlCsG?e+K7Vi z$jQ%+1i)ljE*G+CR7Dktdbn^Tz-PFx>-A3y+wk$qj!*wxdR zt5?UXf4&g64}}x3E)ig$>tJ106hVWDP%&R#l$9*Wv}))r8}z+~%;LJi=c zv`mkgbYt=qnWKe9(tbe-He@92mksG-GLe!)I0kf*!hwjXCMOpjEqqd8v5ykF29vjV zZu)0ytld{#HzyujGVhk@GyT2kl3=8np&CPZzjfO1Yu0JjqVig|e(uzg2}0TdW}02} z*RF0&QB}o7FC9HRDdN%>A2pjbI2;ZR()su6HF6DI8!vzJb7!IB{+T#yW-(|4vOz!n zB51?_e3HI|&z_ZG)Ixm;?a@3Tr6!F-0~}l+?J3CLa3d*7%kmg>(ACcpj*V*y|&mk zf6>G3{mn+DSbJi9apmC96;o!Hx3y302~J~f2!{o(R{Z!Pcm33+>HD8~Zobc5(6p8b z-t!0Mru+!+Wx=5(-}bK9H4TS5r+^o}4GmBY$Xke_30*ptXTg66V0@g%1u%6UI3OJB z9T%<0LE_Q)1Tvi)nplHnJx)j)N%RT-YU#k%ZO!!+K{)&5vnevw(_J>_v~S}6_QuAt#Dsu)gB!pzN*$sLkUlT5(p{> zn3s7QSHy~|wj8;mGhp1%D+1i zmr}XVSxJXR6)?m>Xq7TqofPC_cmRl6pt*wj6*~2#7vZ`F^)@QI6O@*EPAUXJ$p4Z~M^t-IMFup}hE6 z3$vv}EZ?KKCeqpvk3NV$srO!fDf4^C(OQV=U&4+#VJhv=Wr;~+#(^CwC1hrS8P=U| z24arHrso&xf%O6LTrLr^ooh&g#BY-2AsK=}4kYJ0IOIXvGNdcR`b;Xxkw`uY3q#p( z^qWP9^ox#L9^Fzrz0=n`?^b7r###6DQ`YPwT1Rwp--@2E?k?7NuvE=_ySDB6tuvj~ zH#gjfrGo*jk{8Y}r%}V(W*YrV7r@1`iiY2Nz-a`j^bo&;Y*Z*oXrM*}{0HU-4JAG) z?nOBY0PhNkV6^MPCMJ$u1wy2JB&<|&hgiAkRk8>afPIC6Qm{S!6I%@`;l8lG$X8^v z`kL2I_~rAVbX<~Q0zb*qZ~lgP^|}7AtI!qk294UT(3Z#7zx6a$`E_{CJOxZL*md$g zgLT?bL&BB=CsNW#&lQebX~7#ru-lU)`dJh7FA#X6R20T^)JO(q2dE}Dq~*hksM5;tlT%9SJp(0<31tDBno z48@JkiV0PEZNh7I6=W4yb(2c7{N6k-?$PQC)^2L>8w}MRjY%)Bnv)@{$b^Eg_>AU? zWjh}2SnIB_nq9uie3`+24URRJ@=AQ}Syw!;q{!xSCY18~WFqEB%;yAsltX?pfIhsa zI$_SIW!R#}@JWV0!2Kf%fDM(Tn{yn6IdDE9wYx-M2mmB(CpAE_G8?(WN;$~J*3zk+ zCHo3d9Kr#}4AT%2=-?G(?p5&MmeQuY`L#Z?y2j&gK6vrJW-px+Y$&tlHRL$-dCj`; zYAyP2U|Uf=6BnF`!iPi<@PLFT~Um;((Rb$(ZMZk8_MY_6Mzzc{8%C;NQ= z$N=>fTm{7nj4PigU0q1QnRH5yt#Y{BB{_}`Gi6{o!l88TxS+&Jx-f9~fW3AI8#h2i z_Lfb$cJ3$$2_RhQA}1pQ*haEvMA($9qfuUH#c-NQnBPZj96r)H#i@1{IJ4BHHfKe7 zZ07P^gTXvCWal2{9d|@c_2XF1aHnZ%Z^)s`$kA(^^@isB^;bFOt0$bH3swh4eNF-YmAjOPZC^nmDTSk2(?VxzN}!X{hibNnX)2t zc!;@s(>!fqX`=DSYn^osvRt}A?`(5DKjH4?a7CVOU=d!lXB`jLyp_Q?#y`z<^&!QA z+99LT)CAJ*fltUJq^mE7^T1mVF<5x&TLE;^zGXI1^I1tt5?Y)iX9xa8`gFu24Dr?DbeRKNIEOHG3`4@7p=dye+)ZV7?N(-$(=6Olor1$YUsh61%Yph(rJZ9OO*8N0?Vs;;QJKym8A6cig;aa93pBs&$^K zdP>`3i`3Mc{R0o{LgA@U!Lnx{1RnuQq5v!-0Q}W*n@3|j>nw!F_&ui~oYrEU)lzKv z=~EHOQUdyJN1<+qjyW_We)NRI_K0wif(J@*9|c{@_sx>R;{Q zU~5~Tq%C!u(uDA4RufLBKZX(&0fpJ6(43_Uv*vqr5mxAZ3Y$%T!Mb44_mApA4w0Yu zT&n0IC0DB3X!$XPygI$2q@i@eKt)M?Sx2!^SL5~9*Z-JO=zaC&orCa0Wzc;r8MK<6 zzB=+l#3n153icF6ExInz6U(jf@eMgfI?E`kp)63EK>rCl?5Wcj6$$P%20RGV#!NB9 z{4|!Og>6N|6(wPRLAIbG;erd#6cw;90VKc%9WZV-W|H{x8k-+dGYB?IuwPh&%$`=| z9Dq;Gs-|=lCb@xasaOfCD>(k-29U+sv_g85DYkeR{G96%;lI`7t2>5znx+hGaJ9sP zWdnt}{0-}RuNrrzqx6T4ew5|T5p-2d^xFK@MwhiQE%&gk_o|Oak9hp>Nf4-c;Y2z= zDvSg3pcc3m(eFP$k%+}(+#HjfqNs|;&hH=vsFTY+EZ*iiX5(3~7j&9p?8;2QVfv3w zRxq1po(h*16h#c~|HUB-o)3%Tj)=9;rba}6gm(%N%mkB@MTx3trrnbnvfF_`cn%3Q zWHD3FU;{2H9Ovf9sQzLLoJRR+LMj_|lfx9?;gVBRtTNAsnu`5ggyurDF$C7CB3Am- zlvVoUZmmBy(^I|1ZZtY`I&(JlHLq(nm|f@1WyRZ9M61?3xG=x+@pMlb8U;Nd&EtNX|ub(i?&>bw2FZ z@r~y3vHg5lvCJ#uf_z6f(Ash#JXw4o73@>D&}!g#XP^(@oxzl8O2S`R4<*3a{ImKv zN>b2jtW6PXIS|pB%Dgj~HxtdrEn! zTbR@l4#XkgP!JA88Jd}hj%Pt&wI49sIb4Vmf4~oA0mp`j1^nM7L_p+Xtqn*RT!BCo zIj&=M;j9Sj=!N9~xt%{lLOJtP2trm=@3}y(#LHM5bCwhp7UhGTaXgWvj^gK~qv&`Y zh5x_NQFxT?ase88h45lZOl83fRZxmWlhV!>)`B8vd7^f_1qGnY`F<-3<47n7t)Y}9 zk;|?Hzh6@%f^#)Z>e_X1S+M_|L4~b+U?j;eKvQ2FV!l~{>-QeGP)$AmJf6wi4m38_ zj*jw6lfKr7RwSxw$|HVGU**V;IPMX~YEmkl>vxh$YkkNX=lrfd{$00A#V>-rSndZ0 zxd`Us+LFmgcH!>#L!kZw)OVP~Fo^mD z)^HlFN$Rr%m#C=(0Ecq|8HBNl1gS|ml~yEv$okk|HfDNkwMuQP3{ZUEkPO{nblVpSxTTr(pL8fgsiPrqBgW7 zQQoMCRVk9z`U5Pv7|9GRig2BxoKtFf_{Z%OvTUl0H0sbve0JeV{n2{s0u)<2PzjY( zHz~i$+x-S8zls~`FHon{L-l1{P?6P__4QXoxQeXS!&YP?uQL@aSFH*nKy_48Su9Fc zWR;Wwi)b6hWu-Qbv-X`jOcJ&hcrDq2vQnqzyY(08TCu?HtPqeS$$+hLs{PTbi@jJK zF~%RDy`@U7^y>UPQgZbVUF>R&LCK}jtJnFh^BWhxI5_7VGF(;VqDDfN+ab-HeRi$& zc(%6Z_8YGI!_fEe<2r^2e-3aS;fAe){7blD0pI~Uzn>lEw%Ki9ejG>4XSa=~iJc2c z#-ovB6Na>kI5#9UJKHG&q(4R$gR2w~{Lglg&Vx9%gOp48HiA8Vl0pW5cLMMRR7EV_ z;J9!}d5eEoUhjB$UH^~EJB~ej9yGZtMuEh6NSg!?+|Ca2x3D|w0R&$%wzGDZ?JVw} z+l4(&hm8ORZimS!Oz1+Kz02o91;>A|(U`*q=ds85#>Z2j;5?*G0s$c6gFSDDti{=L z0!>c%V?j7g&T<}uKwnI$F3JC- zHmHNCG@iOmGQQpbyC;mVNJ3B8UP-c7J~Zuh`D8jNF~VH(9Ksjrl#p734EVl>uR$0Z z>?kh`q?J(@2C~j~$zBs?jXLcQ(Y+u%kJSboOD%_8v*~-*Y~a?c{a>tEJ__s4UGdMe zfu6Qv)bGA;!BrORI@*@P>eR>?m;&Dl{w9FD-jwhF69G=vX|YzFtAay6K;nmsm&1i< zDfWVG8d(-Ro|83tRdv?6$QO1v0x*-MV6x-iB%J63DjY)wkyI$ILQcu9)>my(S25PnpS2U0=jr^QIc9!`eaA@-2nutV>%XlyskMJCEt zgzZ*~iR5=~S75+kg$^&bGsJY0whK*h?pomBx971r$x8o6<#{s|n|@lJv1*?1@SX;5 z<*X|P5*b5YyNQ#^3oUJyljpZatX3B%QN%@r8JDq%B%>b4MWXYN=m#_Pk1_Z@NR{2} zj13C$pA;3plnPC$+mt1eiknCsCv3}Trp=uh;-n6-GTX4t2W2%lSTVUxZfCJ?Y%jSW zL;?_}0hY?f)h6e&r9W6a|L7*;C|fRjYF0apMz&n8TiM8#%jcnra|&c=iV|)Tc%&1~ z?Mz98lI)~>m-%dlQn3qgD;i@d1>LUiCn}|a4|`yr!!pp~;==NUu$9IkobzBVogTwG z=g(oH?;lsKjMqfy$21W*M-#sP*ENwk{C6IDDClRts3FG#FM!HL-=B(YDIIJ9Yw)85 ziOQrkxP30_yB6WYey_&`ac;~i$d!MfocSTk7z=*HIylhvpBRTciPCK$IZfQB8VB(B^c3RwBp+7h?f#Yd$hl=qxTD(MH@_>9vM9K3^q_{JxLT zcUJghuN&Y2G((z4Y)dYQ=PtlyerQH>9%jQ#8VC5euIBmci+3~?S5voSTK_cj4*fNp z_pKr)Qlr?2yl}-IuS2Z>N)2ITCE|p7C&&zC0enf6#r+P8u0WkF5&)$JVhH&U8HRi% z95oEht(*+%9aJb3Rf z;5rv=eKW8`ZH;)m5mUab+*?@M?2J{Gc@v#h&s<8LuZw!UF{3ZxpSSg9rU$N9N1^?+ zi~0tx_9=my*^yAF_`)ncTo)S)Vc?lB;K>CU87bB~2+dx!cN}^z*F=AP zb8plBjhFN`4s>KD@c3E#zV{LiQjH+O~a>`&;2-eaA zr&oI1FqAeMHr4MK?by^DUEQUIQCLe z0fkZ>pUIylz{j4xg(xwILu9$a}PPIp;pzzs}0 zU11)1A;+gCI^a~nHZNh@;IKD=21FaFp73i)a3BPhu@JToNX4A>S_R3?1xrq3S#k3{ouZ}+D-ib{udcQu>bw$NRZT9}Eh<(DszLFZL@&m;?g+Y6y zVdah`m9F}LyF8umom$w=?5{5OMsz0kBskN%4jyssa;pfXryk2!7sHqXG2Ttmv4m5}^Nz_lyZtKjpRLDKK z*+LKeO#lf6`wG`ih4D`t#vN_8qSWzUA=uH>oTdpmhMF8lzLf50DvJgjwjzT24J&1sk&We^XuP>ofgt0yd+*RiN7P@Hh*bq8Aqa}=Al4t2(B13uo;MI9H{tv7kA z{O&4uL4#+q$5Pt1V_jEGUxEHvZ)L2lv8vQp?<{@d+pblKYdd}J^0}efs4HYqW~ofQ zHFlf(_B|JGytFZ#DY*E`tsOC^C0H4%t8h7tiY%2OXb%-H>fd|qO-q}~(x^a9aYN_A z+C-f<+&q6b#M%(Po!Se3%OnfQozLiQ`l_kz zGbi%Ib0%JVd4K!tiR-sdY6lhNFY%$JON3#_{zVMIiLs$iuD%!)+4>qrvT6po^wYwib^X%|VVSBtd?sHmlB^fG1&9CV}Y`*jU zo~8w>+x!Wq%%pGH^6Q`Nch!kZtJ-nKj2R~Q+gPX!t{(I(c)kuAyyd71ZB5K-R0I+V zdw{ZoKJ`?g-aw@pvMIP+Pfi9uTTI*ZYS__iHHMSW&c;4_jN}M-W{1Z{KnyHuKZy7(nI&$Gj;l37hk<_-aj6=x3_!y z#;u?1o#^wweiu)vuk^LuT()mTNL4qjW%?Ucsx-YmO<9eZN+reYHTve>5`30*1JY zle_Olb?5>xEhM@NBFzPr9&1*y%@PqRbrv+LL5<-Pc=U01b>;zIRhzHTS!rTb1x30> zQ$ZnyX#r<`@ww+P8bIAmMXyc{XQ5}YrBRYYb)P7&#PewdUR7VxPQ}@rH&Y+?dBsdq z?(+HFFYUeVUoLoh>z1%L@XQ6>Yv<3uX2m}Fzt6mzg6`Hl%x5aHkL`ZxjeSde`K8C6 z?q2(?r&h0CBEC7tO%!yULaFgtXt@IH;p5WBsw*+ZMr=wnB9ucLYI&)n2t;+}Z16%B zfai}T3k3rN3jAu3o{c%qOTGR7aogP zU^D3T7El!Bf;BihPi#OkPj3o0C5lJeI3co^n=VZKy8awZrt1qyfm zkJtNgKZ0}p&{#9xCl|B8WO+fig|onXtEs2`pxI?CS^#eXhH>s;XOy_J~H-@vE*n$B=y6kVAgi5T3ZMza%ph$}H&@_FwnZQ`e0j z7cP{0h8m5bkg;)yy|+FqIPnQ#M=+x{Iq}zd#q`qRdF%G^jprBjo@w#;`TD3BM(i~?QzHZ8t02yKfdVlwHB(~>{kEl*X{STn z@1+GdJgsAB)gl$`GrjBa6Ti#Q>jOZ9R!aSpJP>qX-8Y#)RiLxs>@O728zis`VF~r% zNj70f7)Ex&A`l&a4kw;s2nsVrn-%jZz+nbk$QggocJUll^mEH+#LO^bAOQ*>{(l&| z0{#7$vbQF_bKw5P^55B}eX>u8<1xz;4jzB%Z^NH{O8E%ud{Cz|E{EK<>$)&;b7^_D zBaz+K)mdLfeIKAb%W+6zYfE*|oTD@9b46m6l9(Q~A?lN#o;a3*p(yOg89|nHB~#dWXOAjmBM4ttBDgj!*v->bPZMk z``971*W`FgN_5C9f%gwp16u@GfazOdbvNIVbq-RXoFt2K5+h?^A-+_&0o8BuYbcje6@Sw zJbbn1{Hg~YJqgyV7pKxG+%!Mv`n6^Q%YjE0RtgKh5_@B1$`a{)-p!Z0cj#2RysKmFb|_> zL_QOc#(=?(1h?}-gu1-F$ecD0TDyh#jOa2SZAU)n5gM&yWC=s=_+1fk6Ek@ywzK!zCLB59 z6XNl!}kNP-RbD;Ebe)#Ikc z-Dz)@3n6WiQZEm61!u zHhL6avUdhTAPf|3W>>LaE@d|l*2XObV7~-qpzKA*-z)NR{Tg)q)f0bpIIqAZ76{lb z@Ml>vjRvlKpzVR6nMHG6eF%vqkHdn*Hq;GWJJL1^i?T{Z3gAJ(-qpeZrOkx&3%_~% z0>Z_kE@B>!aZMg=uqJH!HLqnC*A9oawGXXpnpfCU*Ei$?C6>U<_Jy_EihVVqU$TO) zngborMz@H!Pb_j5IS;u%+SD_zDYE*KhIw}9_1E;cBZ-6IRm*qm7fwtZt_?()^&y5R zQx`b#6Y*8UyNDp_i6bj4=h4MZ3gzer4|$u4ck{E3f*_(ev(Jc=+|9 zLo2e!z;)KXYMCG;mqxE$D*0Vi@$;7i8w{WA+Vd0n+Bf7Ycig%3z)K%J^u79yvEfhu zrOs0ln&^m!Zryu*|D~lBAL;xuc@TG=&}SUZ(8I6nlERp%LGuFPf*0r_7@{HsLG4eh zig5C8mRFk6^rrN;;#w<{Ats?Lni9*ml3XcS@G2*)#l#MweU(k7En zcL^&NFv}h!ZwS~pCnI^T$ z@htA`8}Vc`dq(>3nSX8g^atgO`~3dC#fI~j5BhwA%Rjh9`5L$7-+|~oBHoNTgCVKD zT*w!)StJ}pw--p?;jn}GfI*EjeFJH=%%rUW-}Mwbh(=Vy?35dWZHIkU;JS7yy#YR# zp>fE73`GHo(5LPZlzW2M@6%ZPvdQ<+!_YIvTzxKf1cM zZuE*eX_>3pS~%7}8k^TOa(8TOmw5A6YZ49eubL~`O9t0vtq!@vEdPaW`GuRdJ`<@} z)>7!tuf%{J(N;QA@r+an=@Nc)!ev6SB}SOr}4CKalmAwW(a64Sa%Mj(j3S) zm!bs-2EaTUWhGi%_|z71uCzQfPO(TmI8tzFK9yEQ6&L+DO)>}E9gQ^#hfDXYsEidQ zH+6R`Z0$Y2rDM=uc-NY6PEji357y@5I>~8oliYRUFKwTybrlb7S~%LfZs(;vm8<4u z%D+Auw#_rLokE>&;L(_);*#XOkw)?`E)=7}t5|J597bUN4qK+hMwmY)5tz%|`a*Xu z&1lzj+jPu-D)xr3@nP%={YfIu{@R^doso6bc}I4)g}YiVJldJ8j3@hAx-<2L1D?hU zAG~x^S6%1eCsP*&^_$zj)7^jNu{$u!4W67%{{!?T$HBzb5xK}3uk^S}5vgRFtQpQS zW5$JaVSv!UMKDL>xm9t8BR5{jd6gZxsG!2r9ws7Og=0kFjrz_Na0dF=Qiss{_)#ZE`4P44d?CnJW`)SZC&!qtfg+? zQ_nqq_qyiV&AtD*|6>z9s5}9$reOm(0wU-R>IX|zTTfO-BCn#>RbzLS)Bu?(5i-z5 z-(Fr+h@l=_f8fqBqEIn+6=pYP`rBLl_@)JX%&PKGoD5hd_3YBvM7euE2~UGw2T3T7 zoe=6oUIvMrTBell1k-L68fjBh-b$j1QMQY0nedwL^$5) zKfm}}KTxVBa>eWP2T-i$LnYD^f)VhK13ZID1gO$XR>A>Tr+#!0~eT@Zq052VyA8J4{&l znV)`hN9U;NN8^6sE6y9o?tA%CVaY_N|Cc*i<0??4>srA$u}1t0cA;L^EV(cZGP|@? z1bsgSrI~7=h)+EUlBf$gEKHy<{4rG;xSrLrmfXmYGZQB>la6Z$yIagx(-_FQp+aAO z86TYX6;B%u)F^_Xnos20bG-4T?{$VZPWc+zZcU#4Z14H zMbU`J^dQm#dW79%x}}JPXaX2(F7F-VQpp&yfnJv}XKu!xbSwpWeD>~iwLSd3*C_oA4LRHaMyJpPPq^VK7!FoK= zf6dYFA84-WXpFRBa&29iOS0ecu6|?_oPC;>H>2~ne&m&!rLokng(c;Ml{U@_0WwSvxYreKh!Ds}G=2zLs>%_eL?)yp=|4!lD&C~gh%KTB_M#y{ zt`vFj+Ovh+T{pa$h;%Gnb?~Z<;TGSn4WC$k=Y`GguDGL(LeZ0HTzM7RT2qe4tm+r>I7};WqNDB;C;*mk;maLEt20jirPc&Lq)9Vyl zlUPI<^Lbdea7>WKGlje5ZyK)r;L7KOalF1**C{?Lj_B;jfkdPN@bH%uV3d#nljU6H zjsiHyl**)Fj6SIQKo9B8<7jE2Eat=2;dFaIv}bve6_0e6=jB()-)E~jTrI_=->+u# zM!L$)mMZxN+EYRH!lO4=yX^HWW}B!hZ*sK#D3pBk#u}Hsj>Y*i#jQUI(c1r+_e>X? z4vG~R_%V_4_09IA@GRc5*%D)w@`Ih_sp8V_h2$^u_l&tU@~6AXn@jK%d+o8CLN2=` zziE~0oOsV~)HFSIL)c~SkbgS)3}rh;fXTiF$B-~!l#ocpj`CcqE~6Y=XPB;Bs`n@Z zmOV6KnY&QXQWWx{dWO_gy5>wrgwr4YNu8Z5ygl>5)a+$#Xs-4d{siYN0b>GjmiRHR zp_wMOB2B6hbyPal;jKtrY4cmjccRfDxG;nnpK^pNi3~B7PzZHeVvecSmea9tuzs~F ztnqZz8|*-6Z3aVO-M*Kk-1Vx3zAJWA)+lHO~^e&UJXKpqDp5QSB1D!xcVCUi(7`Uj0&?) z9`Q7@M4c;6IMj0?EqF!Shfu{7hXeNE?5GQ7?2DkQJ@KE$V}_l&6f%()NnP`^!yVa) zjO>&r+n>;d1z%+;A1s=Kah$n2zgP_bgW<(Gb6;b9dkRxnQ5IcZs#X(WB!*%oX}|DK zgYfVfms%+&eQvT1O0^`MO@(I}iYT_wvJ3%WB|ImgJn5-00zBjJP(C@+JhJ7q85DmQ zK^D&=UE{GeQBi)P(Pudr%DmyGro^pHm<16mT6*!3%$`MG{L7BSfr$q!Rcqy!@(TZY z)vaH>>qkd_5FEHVAxl4ZeEf?yuj(3EAnjbS5rc;In?mm6o_4vFt-LH_;`QueQ^MKm zE3oCtIj%yV`>wBM%NHYh{L-NmhYDEfyiwPJ)PNq)6Sc^kzbutwjhM58r&)L(aF)SvmF3B>T`H z*}FT{npnN&s!@+4v3lJ-7hgZJvwom%cJfFmiz91WKB=9H&q z)mk}H2QXEFObjna2ZytS2! z+ZL{S!*HPf@Of21S5rt@x_jjn|22d!i@ZgyWVP}&S^lZ_=K=4UqYUPhvdsz=nX7o# zw?{;WywFnNE24J=VZb{y%zQ$)jlZ?UZA0tcnCL8hw^ey(KN8-nKfF5-)ZWQ^3zRR_ zH~JpHo($nV;SpuuB$R>T2pDbH)Lzjxp{*L}(^)o2xM^xjX6^!hmF^Y%cADCquX9Nz zteF15^xusGfI5boFmp-2J$V(AZyQq8b>b!DjQa5?4>41RRGnX_&n^_Q(QO8HMKx<< z(-#}{regdD_Yw)BSpXA&b4r;n;utN2qK!^>TlDikd|#hAA*;?whx(a4{*-*%$~I}) zvJPpPxP%^!c1p|WwD+Ajp*I=+1P?b$S0j}u$sEvMQBnzaV7BCr76xIq4dO0@e-rX$ z?AT#;wY)3Ebbps8n5Y;2IANUt{LlWvelM59OCZ+8E0LeCL;pm-ZmX2+YE9I)A|NIP zMwKQ{H}@`ojd9Y4Q>#(L_5ZbD=TgyRAUu7(RWfV<#-@$90$m1L0bA;* z=Jd>?u2e`)DIGzCsnXreaqiWr_UnxEus%%NDqdzW_W@ZM<=XaWpJ^7!iQfo!pk9|x zjMDDUlnN&e&b&;xWBi(Z=&IlM!7fysFx`14{%%-mI07cK>!sy!uRqUQ7{W$_7`Uz$ z#i;l_R?G!uv`9&)yxXJex2nn+1CEj$BL_KFaMJK*D?3KU7IqkS9h-(e)NrBL^>8!6b4HJ zn**Vy%{Sh(yjASkQlHw=)_Li|WXDURZNBx)zV3l7(d3pl?|Io=lG7lsH)kFi-uB%? z;B*1I9;%|w;}LC%l%s^QQ&FrEz>*H0Ellk^IZQn{CZ)e&$KPl_inT%&r~#{x(TDD4tcw?Qy7MyGa3ZdYK;7vHy+KlS zz%BVK(cxYRhY_lFBjaV&*s>Kro`>@@=h_g>zD?~zB{YWuPi1xu_cS%DPUSD$VFC>9 zQ%XAMv=z^bJ6u#q!^7)IYpX#(V4$|&)im7R{DqAd4Xy8tM!U-M8ZT>aXm0qcfh9iy z=0kgK_=50(VQFBf((SoPe)T!~%DP?mjRGjCX>sILB%PtAuZbO_58l(&)>{)_*Vx%n z=dZNox(8D?eYs%bYXgdXz`nF`K+>xJa^~FCF z=Yb3U2zGdv;Q_Ffb))ioP{L>!Lq&z?z{rOJyOnQp6=PL=lM}f)B1W3TTo?*W``jJp z`&{exp;ty**S!Vku3-7m&RE_{@ox;;|oB3&;V z>tt+fd4FdTz$fA7TU+Dx6;@<1vrHRm{3ZFh8M(0G+qbS=zIbS$zr8gXkJbk(oDRD+ z3oqh(M*yP|JmI7A7=9Eqld^k!cm}RABn@7CLUB4t*(l11uqoO)WH-}95w56`Qdgcf zDqG4CIu*F)&LQP3@Jsn)9&e$*0FJD1{lcEW%2kQrj#PbR$I9*;Q*NGVHwl)nX#MIA zS52zD#@m6KG&MM0=qP(S6TgWzWQ@(v*GV(XL# zh8b??Q@Mj#;dvHHS(pT!?saku@Fa)RGU;%>A>UAc)p=D_szZP9zj#&t4Pui2K99~X zS<0*y`lYiv?i4q3lyRm@dy?DEKCimZGu-wWfB(H9o)2x(A^|0-kG&(Q})O}R?3!D=F2jcd(Bz~fau{0{YZ zlCD1a1;VzBMeQs0?LGFfOKuqGujy&pa^J!Yw_t2B4gZ0>3FR1)= z8ry9cK4J&-ZjZut+tQvAnybOYT2Y2ET!3E8OqAMLM_X$OE+3RJk=`n`vvVfC<&L33 zeybJCGK_155~XoO5WBPDz7^HII49cMeHt~uKSg@0?csF%yJ{BvyJB|y+c!4>nIrz4 zPGxmE5xIs_{szETae5I^IDMVfoU4L!A|py8PUI2DiPX0s)iFCW@`4UbK4e@%1_F!P z0^N(c=f;h!g=%PrriKh&RIOqH=PoDdP(pgddv1Km6Yor8Tp)V$o8=1{O^Jo#?E?*! zrri7}s;t+o^E&gZD-&{)$!?#&0>#$ZasT!KQC_OgDlsMPuKc2X)vK2q7H9#U_8Evp z8vAs&?v(7)ozvK-+y7VCr^QJQqjTHKeI!sNSmF(k=K6`e~9P_4@BiI1sX$%%>t`6^7;TDfdC6igYP)!J4vyz*OYNmrj^8 zmpt6fL{s7<>iM(Dyxlf+bF}q^`TF2}OMY#AHMJq3u9l&PEkw|jvQAFNp{$!^`AS%DYB@!oZ&Df(}`*NtX8J!Y=!F` zDusC>|X5eP4p%JH!0oXFjMX%{i+*Dc9;z&T&sPZI2A*iR0`K$d8wx+OJSQIsKMK9?m4!q+DX!;9CW7rT9N> zh_XV4IK}D6nJH%-m`sF}K#E569^o$r;-RdR3Q0)QXeXz)C}BtxbgdG>378Y5aIkB9 zk%R?q&<}_m$fr4U)e=V57_v=PE1#vObXJ(rU%?9(sniI(Z#~k;Qh`+eO85JDJsa!FF+Nj83aW3f~kso#R*fa;3-EOv0o68cI(o$ zo#{l{8OBpHV~@!ltQ|dl4tP$Lg&lZB$!tsI-qTfMg2^YxdHPGhB}Z17Dup>f`eU4%S%zQv$30YSzI*-e;U zPbP(YH3~ifrl%Q#qO`|YG}=vJa$50k@;dHMOdgjE{c zHndPH@=Hi6w_+p}n9Mqv<4|i*IJlPV)*Bs%gE32P*ipK2_u2z>ZPreQ)v>(#NNJYA z87f(_x<9gJK_O)D0jzL9yMt6OoI(AX+(X5%zqG1OAWn1#F`_YAj``6OX3HS80k8bL0>}g-Tr89<=zI@_MwjcA|Q62+Kxg1LZ-2pZY zw_fdYT}lsW9=E7YxC4KNMa2JK{`}`Z9}pTQz9;UckE93mY>5yOI`L9oag&4mKeRFS z=Oq0hglgr?dZF|9asG2cy>J*gUZ<`@s><165sR7N1kk28S8Irl8 ztN{8A?<&;q5SLn9yxv!pZFp$h!{!36enD9(ZfJPDGihj!B&&lAm5Lt~qUNvrcm4Y< zjp43PSz~y3^|FhbSDI6`Bm16RJXYf9m2Hy(dAH#{iR2UzpAvgXSfYW_1q zPVdB6mCJ1pppDCX;x~pD@wc;eCY=S0LKjO5%R!nYLgfW*;7_oMMypOh6QphjB?qgm z3^V@(Fkn#QBlM4BjtHwW)8YR0!m8BsnxHfu?UUc~~ zG*WtOHlzR;A+WSOB>_0KKEq+}%H}7VGLfm>3bobIF7w|1$!X^@o2_$nZdjr1(AYe zeO<&`V6$fGDn#&vS2(FnQz&;XVFspeuD~wfU84dYyQ4Gb#*3RN-&Yp`)L!mHBj(B5 zK#N!I1|CtKgl__5k}E#6iJ$I{oN{0E@9p3!P3fxP*o-UJ(FsnwrTOI)xdI|N5#>d=)^BYwbmF;&*;xazlBaHD7FdI zSsx)?k0_H`@PQkmq1;@fH=(V83SWw0_DsC>kJ~au#1uKB7?h|yA!XR3SD`s5u|fDD zjmWj+Q<;kgB8P+ru3!{BE=pI6o339hABDN{n&RLtVdUyx&Hu{d+wS?H{P&434R#e= z`GaD1;seKrdj-cHR{k&ZYTD!{Ru&55Y;2XQ#$kzew%sAWE&usPSB>nB=Clm5pRHUe zuM;!odwc)5{e~A`WETvP?%SaA=)>ZFAdefB%F%Z{Rr;2TqC9Z6Og+Juqkf=lIVULt z%|Q_{E3g3jwtVLywuNmyB;U@qACf_^xh(b|AZ5dbA3QbTVeO}@jE4bL!N%wB< zwOi2B$|OXZ`N6S#{U;!4mAXbuEp7}L^6RpRO9P$Q`95HU`37S#k!irJgIW$os79ab z^Uz%S0xO&+&0pYGkj{fQOK}+sY4^|;<79CtqoMl-0fVzdWd`b!mDHLIK?ZjQ)HwS0iRLAOThT^4JWPo|fF=s9mZ&^SW|r0mykwz3Jf>X& z&6txd;(C@t7+QZUZH;P}K(K&==G05@*Jw^i5%jBeKe%*oaVTVdeCC&hOGYB@XPL4v zzrtCj*Gta;?paWVNb)0KA%&6li1tR{`&En^3WrjSl*@v z3F#_z*7IY$#=s3*)JF9M(P=y2%VrVpd>kO8oWST zVIlK~RQ-Rtl(8UrfO8<}aOwfhUn2}enH%^6U?((rGEP0w>2m{FNh9vTjDc;jMms94 z_3^3klThEY&Yx7nMy=e1a9*vo946rGCyUXl&tiZWyU8=Lx#BD*hOq~feNj5(O8H5L zkk^%hc@;_vSz4Q%T22!1mrvD_0Gyz&=h7!P)j)Qp<5qDpzk)uU?&R5z7Zr4D{=(PW z%9mT7-?aa9A|Qqj4qtIy=aH{0R^{MDU|}Q&R9Dj3p4XHv3VeKD6c>MnG=Pf@KE67< zueGIlc1h6efzrRD3_a0AfqVDoAPjs@fXF2{B6l`&QBUCAQ}Q3!a?5j@_MfGI2v!dE z843XQL1*rh?=idqU%v*70$U}iD9>GG%>s*#QLF{Yo+(^b>NZBg5w)=*;J1Ny58hjW z+l%6CqCi51+h#>z3l~)*57*o|(xCKz=uc{>1mPuyzf&x9l1eBlP|c-Ukjrbl$a9S~ zLR$#0%l-RZ*T{R4T@m4f=u5VSt+vC}jn*6$o$|&e-rv|RFJ}h^*<-K8f_*F+H7Dok zpZajuMbWHiAb8CrY89H_$8`#evv;xjH{^TtIw06FU{B{uQhS~|?hR(Ka&OPZ?RO?SCnM9?cJCkR#^tFRk9_t@X7K|vJTvZAU;|&(I{qh zy41iL%(8Gl!BY5^=2j49QIt@LQ{vo;pyi9ZSma(nbfn&DXZntm1f_Y-%}e_h9!vyx zuY7+`XP?>sn~(JtJ6h#G1UH1y`Cqkcw0T7}WM}K>e@fKomH)>jzNNSonWNhi8=^k>E9-`S{-GX z27fgi@G^nb=!7tWZd5}+599LT5mAp(38FI7!fcMZG0g((bwz-zXagZITyD~Q5x#Sz zebZ|CPdmvy;J2iYeNXpC3_DLX!TlGXdMa(uyIi^H1FEY?dXOzX_4M}3K@&7N2n$IKE)0ASl~yM{t$O4Jnw@y_4a-Icc7JRAwi&Y(yE}F_ zPfhXg(8$DPqaV5TV?W+L%Sgo$aVxo9>SSY00-}(BD5j^*OP2r|UU6C}n4DullAuno zI9VF#VsSO1hyppNkO%5VolM1?jX(sHOwe3q;cGl$)c5d{bC-k{lyXNUHu)0p@gV&3 zRZ@IP3PO?U>5>p(b>W(7q*oPbpyn4$CQO$IWfw>))B@behFo$-(iDc~eaZHhtl9K66`I@se;RMG(?T4$pM#`XgzpRPDg5S^&D9Yk|lqYynW!uvi;` zjrf151wE|ALytA#v-+$OO$ToV*w z`#9eyAyGcPQPFroCo)aQ`f1((M`JVtpkPrN+&K%-Nl=`D&A>Sk|5MiS`IC^&zZVDD z8u^2CoKr~1Uwq_?IOhW3P+hH`1k!o@$A=Z9Q~VeKp!3FK>0qbe&`w!A@gpz>tOf!R zfG;#pcNvC6P66W4WH|4s@l08y-s3buZZS*=O&4uKUKf3X@HRzVUC$%iIp(HyK~q z_`yhG{vC&&ydfNF@`o?lQ0Xg+`ci`%htGct_vZhP*tu}xhbMlgABG&&A(lNL%}?g} z>b;Q&^9g07E9!_w)4=7%1o%>K5-=c0*8t#3PdQqIvvEt%UgK)73wm6|4xVn7n{ z@~_o@JX+y#3R1bMSCI~KfS#9f1&yE%g~(6}K_Qzsm3SFv%9HR-`8O6;mTj134fIGJQ>u0+w7`Ng!*s$=RwfDH>@CHJ{B@;i`vV^0fKr zgpti*ShP?_g;4Cw6Qa+@3bh`GQb@!+U_;$~d8$xIQp$W%-%(F@3vW6ScuPr7cjw%t z0yj$$3zb%hqaEii8KQ;}skqrW2}unH)KKb0c-lWBEJpyhv4#vg;ca~S_=CXPNM;h0 zb&2Igro<+~B0-Ay)1)WbP#uJ3QUoX3P&aetI<`&`9WFVD?j|E%1z?*cyqQ&grf=CC zM2Q_wuZ5d~Nd1}vXhs_VG)>q1iT5dOkdmkBQJQK|LVwa++mqn+E6ht;YZ4_Mm3%H# z^4T`9rAI#Jrf%fN)MCGXMv4|s#SDrR)gm%dX4o%~LfZWLS*F)dj;^0Rxt@eZ3y&rp zARZRZRpm?zj*g}_jjh`LvE_rGUUgvWuDvaxJ%dl(Yr48)n|yrvn(9r>14nqS!h`ZH zw`D}Zw-jk|?+20BwEkKt)pC-Z z>u7IFVPcI^clf{FUyIT(iqXzZGkLYx{GZWGpPG#0xOMv~qIJ?swU|fTlxErx!lv6b zEs&*nojXNp6zg(mSgz)4EA~xsvd@Iv%_c!=6gvl#CM=bodYH$sb1-Kgs4=^ss{xY# zF!};BFs1WyX+gcg5-=1ykwUZ}vOv`Cb_txr2PHHrn%{zvgGA@kYGhjNJ#2iqptYq5 z>dI9>g-g?lfUy@m`k<@!DyRI{%>6VlSHWj(N}mW4OOy$*O6f%nX7Zkkqp(hUxmy|d+G%uI`y8pw6zV^;IyY|rK(c(n8v^}LSspz@m z#)}7gzc{$+v6kJ1SrMtYc#GkcZ+??)lJ6RSE0$SOvP-_HG#LBHo!}H3!7Nr+$l5BW zvbODM*uJrSkNofQqhA`^TUnBG_nWPr{JiWK`XO#Z9n@=(n_6^iM0d{nCE-+Jr%)JO<}Ckxn%Lk z@S=r7wSfvD#}uq|7Utx4~MdvtpEd3u`HM zhzSlomX@f38_U2(LvTB!ri2(r**ds`!7o6jww}tN%ovZHCaZLXXUHqLrwZDlY&HB- zqj_KFOTVS3QYm3fP&i}7N%cnEtoizF{!wvdZ4HZ)y~>1mSTOw&?Dh>fQfV$Jtg z<@kSIl9gSbY=#kEKX-{{o$0{?#5z>{{JDzt4Oc*{**_?{sLixfbfHK#vMF&ey__et zCtA}5o3WF`8LTdXsa1#9BSvoyNPe?4yFjbSMa9nvO}aX&K%8y3~ z#4j8_jfdO=O?{)!o|7bh@M6uy>j?(;H!Co>rj;{Xs#acu+``Com7K1N*}@^gw1R3I zxpx7tV!Ad~ba94hY;;)B##ysyW5_d)g2=Cct>Yc*iY)(+%CC*sc8k);cK;c5{9DJH zaV7Wg?Eio+79I~@xUsUbta0)jgcBIVlCcFoa*M7@cUW57*3l|7)OyPGE}v+(fB__v zft3kJJ=1q~ur8^+RrF)Hg_V;usblrJIysS1GfmeE`jzQ=nBHvxIjmNDI^`vk=b?Gb z^f+y(p2i#k&zHChd12|aDr}8N1S5aAXAIw1WftMDwW(DQT@#mF5_H;*$VFQW`jW== zoMq&L!h(XG!qLr(i}tX0*1;*PE(!@7hoypFW$FVRSz2iT>hm(I%KF(`@=cb!RaFhH zOw?|t7Kpcx`26NvYcy(TSuAg78y3`QoFuu)h2uXg&%eH^rqb{+#oMN+^-m{`>-EOf zz!KYZ7f5{t_UdYs$|PHw1UK_}E8O}fIBao-l3Ae9C5Sj$SX-*O3C(}xF-JSHtjP$+ z?~_dtKYpORv_vVTnX!EwETSnlyogT?!={x_@JNDU3HZ$Le?>2q_p61y_?}wVtMp_w zsCy{>FmlOo_n=hiZ5YhV%gf9vu?=4_w0hzDEM-}0DgE*5Kf7&s%eF;+fBPjFMY)x& z8fO;sx}J_=ibs9hH-1(esx2t9T1&ok{vYK3)E{jv?h%^o!SN^lPtUTNnvUidAtIdwG%WT8G-=%0Fj$`^i(6Mr+*W2KY1E%WlyiUlW1x4xKXF`~Fx-K- z?tG~?nO7J@BCdk@Dl4pd)+XwZhXd6n&%;F~^Kk8L6j#J8B`#06y)Epk1dA;-(Ve`f zd^53;igcn@l1r#kV~zrRbu(2V^cX$jNrIThWO|YS%U3(DGFg@u6#e-1#jL1E{?kRb z4R775Nu&1?O?IR6v&{KM$nK&;Lu-aWd_7#>THMVbh4S;ma?6w;S~7A9AJZiF*`JmM z>us9k{sng#Ia~2}89xCpKondF_4OvV&lGmMtMVslhEP^21gjL}iCBh$=q#I^$!11E zMJqI(m7+(Brg*fADHY0PrFM7MY|KfF1~W8oLX&>5k_I!Fz0{;X=&dB4vQx3$WZZXg zs=K5vKTzMFJU`~~Qw1b=5X4NN*tFgSQbbvASf>}<4(4{)C^>5cBde~gl+mJ<<<4YC z;JRIj;>p^oZlgM-43&MnwJV)1L9MAiX|W28Lch;bvM(>z{mxU**vjjdu!1G-h7_%} z+UpG!V6A-@&p$W_LV{Td7P@_|1Nt6~si40}UFnH$;AEf7cnm8o*L6ujjdKZuml;?> zz!U;#Od-A^1#D|tHAc|8@Ln%*l5~QY{3GcjlY$kWb5WUe^H<%bK^m?9~Bp$JQfnI<` zLpM*V3E16kcj?qs@u77R8b#e!`s(!C$}^9r-&s|1)N1@wP(NM2ut3`K`LDN^uRxLc zWv9ClzajLXGYLM%*oDU zg#|bVUnQkxtTmXQ;&q|{%!-+^1Qv0F$gQE)F@$C+o{FL4fS1cFwr5tj&#K7;XRxPb zT7|ppI+^+{8uccdI;N5XsBJ&hm7v=o-yQOXEEL^23AhR|$hAooQ|xh5+mUl`0RxavsA;dELBgO-%?0&_3B;*orJSmPEKOr>u)U==$oqMU z(GpA~8Cg@T9IEf8eL~qeVaXvPK*7qO*FcZ2bhmmjdEAS6&LqY~O!F1bUNL7? zP=#Fi5#dw06W=lAZ}c%wMqO3dB-EK48~yUHGHQduHj~h3%G>DsOVyH#AKKH_FxXVz zl2@AJu+*2b0KGaKHe4khFSPn2EF2cE9=F=*d?@7l4Bv^Au6-u@thNXtPB!1U9d~3cb`ci(}D1MOld@BNt$BV+6aD zve!E*vKB9x*WaC}ukyL@GP7EUPuH6I(XmC7Rd>q3TN=hlyToN(0n`<_24@2p=BchF zT>uyj7*v3FWw&??Mu`hGI!mM{=-F{!drRZ|>dry?M{I%OJcpTG`}-_M;KJr5OH-{& zmI_Dyt@qN}o7$zN&ETadG+VQL{k8vMie@&LSQUh-Ik{+9c5jQ-`WN*!N$i^5jU|Tcs!%|%FrP(%(lKCLhq~2pbufS;b~r|6N4c3w z*n{X2@_Fo-BT0Lx${O}n%~uo5U?Y{U^agR&2sH_7yFD6gv{dp7BF+pe+=uky1gY)0~l&fBs#V`RQAV@=o5=3o?OsTs2~&v#ugPE`t6gWef~lAWLJCpxEBx*z&Dhi zJ}cHv3|2b9gQ^#dA!mvmmql|ygFho0%}$}0e56td3bR@k%8_qAIK0AHX3Ij$sk{08 z2Wyl%R0a6?DWw0kiEZM~QIS~<>$zEKcIH9zR(sqf7-z1_v@F!5&?nH&m{2)Y)T~9%kQBNUTA>embHEr+AX8`rEk7A{>_`hE$os09UBfer$WxA>TrK_-r{8mPi?vUL&uwmYGt$7Vfm2$ zXiEuDha&&@;!j>5D7K5VQ_J?sKYF5hUeQ$z^G2ih-TUE_)4<7}0$VIR@!$Fi@oQim z7?2_!p}5jnRt$0*3~bTmKsjVtFz$+bux5Oxka$2a^gh!#>u#V7^*PudNDnnH0eFEf zRm=%&PKMD)%mVR*>cNU^!}>qHVZx2r^B|_8Rkvod+jEv(cgr$IrK8H(81Eb$*zR0N z30>hk)n&c)G1m#m`%wSM|@#XT7osri4T|nu~XI z>qw#ee)d(2J={9dC>L!;HyXH0J+-{TA%`HgDV|?r^WyPHWqIqq(3(+wBE1WZ$EIGa ziaecm$)^{J&8!$9DYUVXoN-Q948A^#ks3KI`MC;noO-jNx`+^fL%>=LMA>3~GQ8KF zI|Q(FX-k1CzWvzRw!z*zdPZ%IZ~b2WaoB3A8>aR$@Dx{2#CiY4T}^|37s~#tF3A$s z(1))*P;IgrM$+H;iPtB#>7Rzqa-j-(-t_bExX~YhTSm}9q{@4m^GLs0b32on`2Xn- zW?WL$P4DQlXF8b=e=tp}P<8u?iERSad6z)ux}{3}B!^w=fmw!U%B>U5Jf^t#|{w9?DcSJp@ z`$Hz{_@8Fz0DgN6AZ6vJ)z42Wq{F$;4Km^eo!x2S76AYu9gtqBcJc*M8^0zEX~yXf z>+{IVAUi;LnKPXgyG!jvAPX?E7Z!luq;IQdg?>&y@EzPG91>h_+@?$=da}XqIn#-0 zy}&$TI_dS*0Oww?k%dG!2iJn`PJtb?3~v4%;)CMfRAG7ULC^>KSF6;Y6Cu>pX&4h)jGSf(9r7%}z6R)qoah-hhz8aGin)sCyzc!4+PFC_h-I&)^Qe??CvP_*rtoG&SIpFN` zi8+;7nZORrVeQKLb9zDZiLfAbuX* zq*+tpLiY57zIm(I;{#Tb6}@=M)Cwow!>xH2o$53Xah;UR&kF>IK++Qh zf`IYL6|Qn3K`0b;P0_|ErqB_v5V2&MJi%0BG+2Q?wbG)(Njg(S42evL0-yXB)m)nb zYHL?3jQ|+Dj2VImw4S&O0z{uf{D6EiyOD=|@pL~)d?~!**sA&7^5(tSZd>VM_nISp z@3+TRM>@XvyCYjyC6`_DiP%8YS)7o6MGi-4uo*6sz2xKj0u>Fb|CKFqnet0h!GrR@ z$$xw2X*RF2tbipl>*O7GToPaM$>F0ij|a#sL75BmCQ|gxQ5g?>3}lN zRkvtW#Aj41`rgS#*tu#I_NH1w&2@@C0tBT&m(=Z+x>ad`0)bv3Ql@EggGq!@5mYab z8zl1;!BKeSPpMw`@~0*9({uULf#x%77`6C(&f@Y2w&tlV=n+0!S<(MsvfBEd6UPnJ zhNr;I+6{iDri#2|k`)S_tg{gqku`&1VkUU1bfO8&%}5*S%n~J%Q&73UWr9^DVBJ9t zv4*L^;&7v*s9mLjA^kQ%Z@})PV@@Y!w9dRupS6r_sEQ0F+7@0hBz|tDBEG8s{kHf? zinvL9xUOQPrl>C7lw3I0cVt)BL`+e~W1pQ;$KR9R``y=PQOBQfR=l~S}OFTo-fK!LOUC^t8vbY{}1v+=!sYdcr(8S?q!S2u2r99y!FV9j94uE3f< z$SAdkE{k8hMYZMPlkx>uUe&y$x;k0)nr!&?jqSZE#93BO>%QPqVr8)-zwnZ^-;=MN zGURa0l<6hNQPT{Xh%PC)wHYnp8aoRyeI$gtqzq^wh81OoiMH@+zFcK4_}nMaP_B9| z(@U6+62fOQx`bU!9lD(1l34C+Ixpe`L^fqv+4d|Hx9gbSXJ?g6A3&*(+2hd{dqCgj zt2FBspq*>Tkg_VZ5S1U_r1(N&`LM-wLMfhl@BPI3fg9#;xbmaN)-Bn-`JVIEZy1iR zjz>62CEH8PbmHf?EV|-n&u^2KtXX{M>CZm8xH)z6TKVQnTe`n`9$U06A+c*H53fzl zDdi`UM5O6Y*z2@IfgK1TxQ;c}grNGBV~I63Xy*c*rYwP^Q9BzhjB`I7B~v_A?mdSA zIxnU5%wBd@=kNJS`XFk^d<_)kJRHBZ2TLRq|*CTRL zWOmboA>89!*Ml3}qPMP-h^t&1hRw7}@51ZfAruw>?w9}rkA9FtI z^g&qZ8zG$T(7(CqA8L3shzWA7Wi&_Vj7R_2WMGswb^>z#5(I&w=Kx})4%nbrLpG}_ z14nvZjt(B8rmX;$>jAQdI@fTl0KCUJmlJJZq)|{)#Ju$5iLdIbT#r z9qhvp5EA|jqyi|tB%+Fta?%RHC`C|+p#8`O;6HjymM9&a{;d#ud*6`<>(?!Lth{Zx zyzytL^UIo7q}3TQ_tS%|mC^c!(MTXKtgyf#hy)u<=e#>VzsFr^ku#TrR#13IzIan4 zQh{_*dez0mw}rYu_qq$#)z^CyEPql=5J9~GmCy;N9PYbD4eqK(`3$MdUAu~3Hd%oQI8bvQf)akb* z@yhw@t~)x|-w~6#8|#AwrjqsHV9nb1UkkF<$tfeqDO&R#@)BlUG%(O6Ep040w0iV9 z`A5Qw15Vp-ri2}*4uqZ}V>WO$qK0kEz%)8s*=+EiYd40dy`>s~doZHEt z1fZVX@ynxArTph40PjCK4Jjwge-v@F6TVtG^uwSO%);TPoj-aFb#7O6F(14U4phu4 z0{{-Dh0J6b&nO5dZG|QcQhcT~$bX&60ZfX6ZQ;N`t28=I96qR?w!EK`%~NziluJbm zvdt2t0{34?*9SyzgtRjnn4l7fpPW>JI!tUX0>ZU~rWzEm^BmtmMz;DBZ|P&O1}&&d-z!OeL$NWI6k-Ck5;HUr zxAI<0G!ZjCSWeg3%39z9wzWbGsx7u0OMMSY`Rl2J*p_A%$S6#Pw@7-aOyyW8bz))+ z`K#m{71@el7kDhDHa$=_490*8_toBEvI;z6o9c&E3`IK9s2@lfOPxy|xxKr}+I08l zx=Q2GTDfJ*kj#S?u^IU*FL#u`IVRc{DSK{%bewQ0komqtX4#P?7RBa zJL`^K($g37?7H;2BaI{HtyvaL`io-nrp(9YuWf4^>mKXBX7~P^zk2cR`l8aX;k_yC zDx7!|jBy>X7L7UyHRm1fEUO_qT+hM)3D8c`s1st41>OS)ok5j*%`s~K)5T-hMsHDW zW^S+*7BEQdthsaA#%Tm%)MBkP4Rdp=_?p-@ueQIcrKQbPwltomk1|J<*tT#b=?;(E3NMux+*T!mKEA9U!-j-2@?PNlk&^@Ll>tS zx~_Td+WzKdU!*uc$d+U*UKWs~+QFmS>XxlKzk5N6&Fnm1^+rJc4)HNU>Y8}>dYA5y zG#ECx%`KA9B2*#=L4w8t$fk113sz-iDw4;#jDk+t;*-a7&gMVC$MW&gl>T0#8G z00ePWPnsZ>fsvC-Ul5w95kBmd(t_#I7f;4!l|U|kz#LLdi5NURRSLBkk+VvoqRHXv zQoC9DcK*}CsP?O$og5BpjZJ4GhA*hI?a`Vfcjze#KB_w=jrJOnfu(k@nCH!23Z0h( zAu?*iSZ7CtN0B~!fl3lg8_Y$?ShfH|s6%UxKsb58fKqmN7F30lRSB`&rVp`J?*6>!`qh4AKP|CWGEGD zTj%tYUQ}P(RSI?3I-B60N{9Z&o@73SNis7(A>Y-N&S5 zQg+mzwLm$B1p+1zFy$CpTRd(>Z{iqS#mWEd57H^rp>t7ayyi;i0 zX{xy?5K$`r$=WL&k>;xp_%*Se`>Q%uD8;{R=} ztEHFD%K9_AwtHuxcG(;1wgJ@MB6k>~h(r_U9qm!>dRdPnTa4F*ssny^NoJK!6p>yc zO`Cy-xHy1q$zSW3hGFPC$ah_A%Xv~G7Vns#_ zs~N@snsmtnK)I#@Sg`+CT3S4^ZFK(Xtyk16R5j<7@((S!L!*VPcIA#l>!QZ!0{!-Z zL}sz)yj}9I3tP`Sl(AS^Sr?3Ud&7Z&Ovl%wJqz{o#j*_ z+WK-sl(ZrCMrhYR51G1FTBqzyw&?bi3$?7FzE&)U>j({~>Ay^FhN=Rt@`#8g=1MQ4 zI%jiDvecT9(SYLkN^iLX`;+5$iL_OEQ>iQ9uV*eqEiN!3Q12qDf#8aB+y+*i^Hvjl zOW76fp`U8M_}l{ZlI#l=mL6Vko4TLfz{hD4=-qmwXJnllZH_ui}QLR(5{OQCc?%iCRAIw&vyQbtQl2Z>Mq z*YlhsS#|~q@B90H-$&b6wneIQKlgLr*S)U0%Xjc1{^w)2&EXHlmFoMd4(|YJTnV1y zAlS01C1&KUq9s)-5`v*kwTMsq;G-RG4Poydq>TiOs&_9L5 zRk{^t+R@L{4Dr^;g4stsIWbcc*r|%_%#)t32bn@F&i{RMckBly@gPIfVwV)L9;m(^ zZMlpxKbLMH&}vx5gC9vTpojt*qmmb^J#-{anUBCBzrbZNa7x(LaxLM!_zoo=N*^yh zSQ=~*1{)8q~Ri4Fwjwy}28e0l;Szs^h zfMUIfnWThZ5A$3wmNnHN{vm!HZ$zPx_9x98c%C{^;Y8`WJ!Gos0JE5Sq!*pc>8fX5 zcJ|+2)xEe>lUyer=ay%yp1649+vE=mWlH1CRKCF9uB>O-e zbF1dJq;F_-IXeN`EMI~8-m0sj^eC^{_?~zxH;`>K!WMe@?~zX&kStF%^c5sh1zq-z z{CqZ%XhjH@Sw`O#3A1gjIKZi0^lhyKxSnbeJ+Vi$5sTzSgayyEl=6jE(Whq*Mc|xC zE`-l&5&Ii-N4UQgJHm}lvLn2GNBRPxITH3XpKZzcn(~qYB5wt4A!P($mexgYq6*@ zy#$?PqQyZT8VS=3JvH&PMkfRvqyh0%Gs+yh-Q=Z$Y4`{eF` z9^9hoA?EG~8Dc)h>G*%|9=P`43Rl~W-PbWiOG7nfvPix;hn>6>8^<=UV~QEuCVpglLq)*+!{36$x`$szAQ~e2YZTq-c@w(ElTQ1eFnZ#`^U6GvK+At>WOD% zb$+|JCEA^wy{IMH)ifM5*0%ct-Cbv`VAKk+^SYWwmXN=0&iv-sQmfe&=xFx^yAZ~~ zGI4*!LS+{!4&7w)XIoi)W0_l2xoNsqS?@NJc&4+=-&__G^eyH;xoJvER@63#_M1fE z1a&)Wg*&ZK&%kuuK}9*bxEZ1x3f9%O`yfg|4bRAw$*$~5&RU9pJ2@`O&)?bMrSiKJ z*6r`8*O1zMKj|Qwp^cr1aBItS)7I14f(ri0HIi6&QmDyHgNiEoMXg(Q1v|UF;jA=~ zzvN^M9}_`UmHQpu^Uzls?``w+bq<_!oOxig-JmMSDF_DT(Xq)}uAJjs9rNsoK6(T5 z=;c%sr+VkJT0f{3O8+3c4q6yRN9U?359yxaA(H`jJT~3rHOFJvf_HK?Op7yZ^n@#p zX!`8EWOjKgTass>e&}`hES#k6^u1z<3yt+>?n$|aGPNx#wV1UU-Sv#*Qm~@`9Wh&% zWO1s#vA#xCsI6g{u7Fq1%E&|&xYM+(1geA5jVk6dD{FOK?SwhaVb-Gs7I6#>&(e65 z5E!I2PaKUC%_05@5K$45Rsywzaq<(mDb5UiNqd-wse_F;XC?O8>x-4*B1(7ag4-VX z9Cw?se&1ZWd;I(hGQ1U@iJ{b)svzW6gUyv&k>e)3pvh#Rqo}aL!5Xj?y*^~dLTk$9 z5tA^WGT;g-Xy>P@!QfKWR!I%U81AjhY^l;TC`!Zs4bhqYz z4weHRIdJ?f#Q|h_91=fjg99$FlV$8iy-rKgJWL){G_nR96rd8Hm+_+u4^gv&5NRN% zpn|&5WqfvvknCURPpYAR)@q`*rE#D=?ATZ3Y99rp{k^uBjHk&_(h_Bm=6s;l zDk2f+lpu_Be?kNm`>;Bwp5CGk0m)efOVP*L~iaaDzS2-51~|pJ2OE z{157$N>)dUWU{-Mm*d61pOVD&IQMpF3}L%il}Zt+3nQKOSAsMl5Bv{ls*5@UB!j*y z8JP+b*e*Z=QLE2P{b#c#h&jTvB#3}S{h;$3(-lI{0m`12)sc>TvLFTKch6S32HCdR ziPm{cPJLvAd8Dz=&+l1V6k9&IeqC=ldlxifJJa>Rlk7g$JZMn{gKUkX{+s;!%=vwu zum#iog|UvwxA|QSwK1a%%m?AwvK&za!e03#bis$LI^sRDS3Xeh2a)ATcgxo^5ez2a z(x`IHr34v(KH_9M=BZA=yoh<>beqZ-S~D-m;mkJ7vxhU4-R@|S;Vypl%|Cj;19DG~ z)!Q*p{}}(|hy0V>!<|8QTX|t^%+=Sqi23-fn%rMzbAD{$D;Q6V9GEd5uU>Hy; zE#SBUhAmgiq%tN?RUjie2%Z^?ZL*U5Jc+6jc}39fV8StHW;+3uMw&GMsdJ~G28Mcu zwD6%~P{t6dfay#D8+IN22e<342jATp+s3_g?9dU0J9Pe1ekI&;0~~ann>oyHZIJ%_ z;Db5L`i7&9`D1qwQUKbdidG5s_(R7R(>_Ei`0BuAk(aAO5r8qWYR0OTN~A`(UAGM+ z{~$|8{vRyKWc&n=qw=9hLI^=LMW7nWxZVtrH0T1>OK*q(V)egtX*@>6?vdDKF+MCJhS7(GY>^W z1O1j&gM=JM%QN&$0pzoI?=+a^UEp(lO-EyQcKAW=a63 zxT)ziCMQ2rU%JkDk~6(NQw1jXb2%)p6*Ze}sSbKS-8TEoJDPo>V4AUU4zhELoUH&> zPJ36gA0`8o(N;=>iZec6xM=KbIisWHiqgfa&plhto2l&be+7^GtFlAzL9;P=(+!bI zorlR`q-d-Kt}iNtuSU0MC{^o8SuuKHtwq1Rri_rlDG5Lm4LAwb1wVv8i7gj|h2O)*YicR3_garo|4{)l`bI%0PiO(3gG~1cbR~?%zM>8s`-Iuk_v7(>7tCMS9M`vP_qKO<1Kr)1qyIiZN83S> zm+MVc{^`wndnXeNs-iv8XOFJi7G%E3e8T>CZnAkI;7ZzS``d#?gWqp32D`uRK!{mZ zrG`9zcKjW1KwT~|U<#)NwWSHk{#1W=Q=+vg=qy#%8OzETlFUv7nM4pvT3{7w&=gcr zj_62Edn-o=hX&CP)R&5Mq?&B8BE4NcXK1h~;zP$kQI6OzK*T7_(FrjWU=Cr=$rQkm zIua!*NRwu`NsSZ%X*$`CF6Sdx#D?@MW_J#r zAF*$k`1i(^PL<`IYdR{*8~OL_OWmpQkZsObe6FJv*}3jUAxAglMNSQQr3Ce=wgkv} zq%}N05UX4LaMZJ`Yy3+u-Ttlift@N||9*RQf_;pe7~aDFeaP2z^Er%do}-?W~3eM3~1F;P3YsmP-D47)!)(HCbkWQ{T|Z90enI_ zUcqh#$OXVfq7bUzQ%X*MlJ%{~+C&|;sOK;Vgj0QLuteaXsz(cl6;~Bmgdl0{(1L-6 zfL)7~%tH#cf&A3K8Bh$)W^vFDN3@Ih9e=Kg_3)eh&T;l5d-DqEbMyUDCI3>BC;vdH z`j)F2>aPdq0=N31eGHSkwI{LjKX6cI+KO{#&`ICaGzzEaMzvML6Rb%)> zVcx>MT5r~C6kdK$-pG3ucD`nOU(V#4`Nie66-!(5c{L-gEA3rqTeDKmZ)7LfN8YAW zDVAy+hm>rlmMulz$}MRGJKQX6e(Gw=m4^%KJT=Zzz0S$hu{z`xU|`uUTnvUuR%7#3oNXIzO$L_w5T z98x4Q)u3rxq=B{0xF`x@q{Z#UWY$GZ4}(BwLLQdB3+$WbpV(W@>0K4}?mF+cLwVgz z*RF}R{NTb{y4>1@bA}h3lWN*9@!8hauJy}S#QLOM#Jgf5F&6pt;MntReHSOINa9Oq zO?I4{f3QDR?;W^c@v>k^#4)(wdE+IA=S6ql9;@%_SpNLC@A!5?|IEt2Of>Y|y_zW< z4K(xf^TS)8p7rXFAv=P=tYyNl1vLH7a!?d;B9Bb4tUJ zZdIlt7iL@)z~p5`M0sI=(0nM=A0b8@0fK3Zu})BIaQV^cW=J_(w6daoD}#$3zUs|~ zo}E2*Wa&M_&TUs*@%tyA8yR1J>^1hLX!ncP%}=(l?@q3Y_uYBv;+};sWQOhJ`rkIR zoc{p-0e|f6E%Ph?$!NX){a^j;@1N{nS^45;`=slf{J-w|-6z*~aPJ&F;{NXCe`YLS zZe^AWag3fw5wmtm?rCUlg~SN$jX{cC*4$iuF1%4L%aoIS@(d{2jg>kTBd*!bXTbp! zM3IugC<0cvz(2a0xv0r3y3Q zx;oZmY_fFEN26c=%{MW4Tl_x5PCWYSm)Eq675w~|h5f4jiureacPBeK*<$(KS|&74 z#u%qeFF33)u|@im8<6KeVKM`FGCh$&dN$F9%wP;dA}#1bR4;UB_O_=^Ihi4XESfXS zY$pF-YtB4@_v8zWXY@~vbDe#k=H%gN!%k$D>j&U(Bb~-Ucrwgr)Z`XR^ISg0#gwtw znTK&52$Y&hCMY2d#mLT1rMH&6IH^Eqw#CnA z2PPdUr|ls=VG4}&$GZ=mIHsYjsSaXHW6PYXsWFYB$?aK#VPsI_AE%hp=)WXuPUAmc znI$VWme4UXDb|)l^#yYBb?75OTY8LiTQJOh+*jFqWJ@F}i6)gN#~1u7Dr~(4xfz}mBW=QTuLyOKHM&p6 zvel-xKx1vM+{Ar#;e{6%96_6<_tLy>GV$|k?ps{0?5ki}(SwyfmeN<7O3F=4Il~m= zR)UXAWw2SxY?W5<9|JD}t7Kn2V#3hRinIq4s)v81rX2=fUdURr@*9S%*Uayk99EfM z88myfi3-I}-7QUSZ%c}~P<$c1BTwdESQ%65ja60Nc@8Dp>hYvny`HA@SD<9V3pWTU zRN@wp9CV9W!stQlEvX^Ux2!ZjN1>49a@AEHB3Cy87I3#~Ktl_k=C)Dp6EyXfm6jB$ zNb2!a1Z7034hM0z9`qpJo;a8M=iL$bMKXIJ-V(? zzQgUloath2;a4(s3x511SF9;mf6g~b7U95Gvnu9Bt`Ym&N}iX<?*;?8fP*I@ExQ&uCd(Cr2YQYxRO>$YGayC1{ohJ50H}P{;Yaos6}i zu#@q#QkxZB(U?nRpmkD-ssR(rprau5M$#Y-B78ElUJjX3eH5&MLgda)EQNQ$9At2{KIuLu+0vS#&;MZ`GTem+#}h zM5)zFi)~)U&A+-nVXK+^_!ZvjFK+H2miaM6XXjDLb)aK>jvNDp0YC98IVK6$+R~K7 z%zjx;p_c0?^kBc3G!z7*fz!b>r^>aQAhnLx7K|;Cg+inZ0R1AABp6{OZVvkrP9;1M zZKXjMQA^>zpHzTas+G`D8h?rW^oYB%zZE*|#W$)SnyzkR`6N z%}l$KE6WLQa$0gk%`(ygVgE_RL=5Z6`TMV#CWyWnGH@y@mf)cwf$7gWnLq6*2`Rr? zjc0^~U2^iouapi*EY(-J7>v)v+0L zLAF=VZ*RnzZG=6!jy_=oHItNF5)61fxCjcZgoAn;>#7PB5)&*AZe)I?gbQ8%Q&FxDX{w{e<8>X}|=qr;+P4l0Mo z_`Z#DpS@E#c|_T~#JK6Qs*VPok{wo>&dr@Jm@Ui`(O_NB?XKNA`AvRdSus^*=E49yw=yXC>(7YZ5-To zM|4c@^z(-4!r_}9f10T~{;S7h6?@M89{(f$ZyQ^>R`Pc~H*m|I{fuVi6%DRCALsw| z)5W`HJ%?C--L~SCu;o{#WHi`gZ|y6&px9PX zs8KTeex6%lF)}%vOj!jqQy#DVox3IF_5jR0EWS8evnuE@k8}kZnI~hlTBFn-ozztq z=%hn=vcTeoN>#NM1vNEuSAf19L5!|Ga z4djDBfZn3dgEep-MU+(Y^myiT0nBMI3+!GDmi%AX$5IP~7Lj06gfX7)jG%kOpea)o zNbUkWT^P8!dG!va z!)P8{ynf*r4&?Z~=#ZF=XRnbor)-*u0u&sSD1-yx6G9K-x=$>aG5>&k1f0kl#lt*zs1R!ocK$|d=np|+DLcS|~v zTa|(V)Cd@tPbB7c5RggwM`#Wk?ees5fD_duRmHMQ4mABsNGx1Wdei{l23gE4iP($$#zA_6^);$4vL!`JdaF9sFf(>5ruU zU{bE5zJ2$T6Y;}Gorh0UFWH$I1b#Q5GN8^WtK@)7-T8S6d5$E9t4IA1`|C_b)YTAx z`@E#%NumPoC5>NB3SJGsXf&Qu7tzlvKgpp8nw>^wG_E2IU(=lRN#H8E(&^<&X;iCb zms~{fsdDni$|4cwyYks3%0UsIj%VQMr?PPootpNtS4{(?>Jkxn5ypnO2x$` zbMT77QBG2K{I{|n$~H<$5gRvxg(eWpt99g+6=`L)Y#B(Ym{K)uT|w6uO-8HYjTQbz zlc@qcx6 z4jKfK#Xx!NIgPU2y?vF9=QifGMu&#W8ksNs>zey^?tW$ofAsvn-*EG**FO8mYm4p* zZth*qaLrdbH?7>;p5UG_6imbi_*$FF9!L#yx9z)n^7RisULHvux(sbCb&T}e13hgm zi9)uo1oV9?X6Z8jD~1%@G1Y#Jd;01sqkw_b~IDy2khRZ6^% z+;3}AvYkrT661E}{4rxig_8N6G8C!ZRn0&7r~HUkV^dE4Q(0lclCYml{-UJB=0mt7 z-H!!eMHG3m2ly^#LMLfTS#(4wWHJ}F zwjf7S26;$S_#u={T}*5+m|do>@6>(8K6gB~u+oG)&GZBaIIJcoCr_U3*rw!enFK3q zCcCj#MY0>xgG7^1!BL!#bF-1YF?h9FY||6hwW$~t+yb0YO|_=1P$k2$!2{qe$lstl z6>FCS-!sEcNMhx5>_AbN&CWN-13O45JO5ZXQ zqd4}S@rM88ceE(^o0MBTOnycEY$fv*W;gd=ZuY>j5;3A>4{*Obx?Xziu`zpfph4kw z7d_AYrM4{JO`f$1_Ew8$t&w!5+*nJ8I&6+ik}Fr@2_bY%8A`W!Nb-2-!Xay=3Y3Ir z=Oo8LIz@>dQcgb-_CV3nbop6NBR%Kqs`Hi1Y-LMJ9sjmt@}qxDJ%Pf|90rJGo?u@M znFnF>WaAee{f6{{V{4{9`fr_ej2mY(AGd22K6x3s1f0kjjXAIuwyYFIWJ@vDOq0|a zwtUE|ky};}+d-yl$)2(AVCXTW^GXRj!%JaB#lhfV$xGP`QM>ianh+dg{9r+^P z!DGSFOlIlhk`nlCaxw|v*#AIF4TvVOZ41v@>#D0o*hGw7o+bxROqzf2ppM2WR~?=a zckHBq1v!4pd}DDbg&@+VHWE~j*TeP$JvZ;TWkV8unuTJ=p;NoW8ImuW^(w zFcmH)JlvqJ_3<@Ne;*bM7e7TkAU#urn?#8qKnRT zy4C;-q1}XBd8>tco&OE8H1m~{Ym~F$J?lQb$Tz{gJU7G*2c-Wz`fOQ=MMx$}TM9m8 zhWID-n#BnV`E(!P(>;JsXOoPiLgW@ua6sLlDyNLAGr$kh4Yn#`o^S)wpkSs)%t(@c z0mIoTkF4_40=Dxq)&~;&s-x^m=zO5_@CA16AiGTR!x?{hS`>n1G%hrcx zHx0kdaHHM>^UrN54>!v$b+e7_d9mI6&)>Xd^~Gi2YAM5(ZUFa&ez~q@FJoiOkIn5- zR2G{(%r|nZp1v!edxig?j*+RuxBlQ?*UhWb7Ycq@_5^exih0OZyv&q!<}X>=}aKkR2jb4goFdfS*XZnY?+1cb+M_X(~c6z6hK+ixp5qA=Ia_ zw=+w75Y($7VWi|xRU$HDZ{!UU|_$N$ZvhKs&jDAQ`z#Ol_o* z8r}RuT1SW$A@gCyfe_|K8_c1=^Bg8y>{@-gcCs)i$Dvr`LpI%|^o_3=7;Z|G}R_8so5C}M9Cib?Qd zlWWVH8yj!9`ik>RO|a|pV3D3hY?*?b+f{ikmn3EclK>a5({kWG=2De93CM@!jSaOm z19*XC2(U2rsW#ej8-uAv@Wcjf1PxOpl};duDo9eH^d*%t%@qKS&|s5ffUzxBxQ|5S zaxn)C@T8DK>$FyKl_BjCnoOgDMzgO1)I`M1$sT@Sa!;_wc;BWu&6Y!5E3T@azoL6t zaB{b5FT=?8j17&-n>!5a_WhCh(HmDctg1GT?0h}GqIBNi*l>%RS6_!_Nn92>`mO+ z746f+t4*Q4?)v)vUgj0@BHY(=iU3xA?m)P{XCM;lpO$|X~T?P5I(10PBE!-lZyNyhGW;JBO9R@MALoNhaa!pb+R`DxV z7sLFZprBQdi$pTDxMAd-GwOJp{zLxXvZC_3rjXU@?`pHCWYQ+z=6&aNbj=%Txvq6+ zOl{Attkl{21CiEN?|5e|LS4PNmGpAd<#1O{-n_1%ca?VKz`30j2j)7KE?9W`o{z>m zhej7|9U83EEdwjs-Y*?^n*H{IOZL|}Lk?^I;ZBSONGgwi%+*3lF-#UOOGTr@Kv-%< z!TKFKh6(x|HXYirfRhoMr{Z04^nldoTf&8g0c}@n980|P+Cs8;hX{zYbVEeKXfY_@ zGCkd1VOJHZF_09IkRT&i71{zQ*l&o9en*TtG37*P#HvG@1X=_G*)0`?Ec>jj#?U^u zfAvKp6aQE>vh}5X$@+xH-Kk)FJsX%^E_Xs}>gkx@KBwc}PFY4$hFm6E*5hC0vNU&X zd11VN$^53dL08h<&}hl2l*)bgZ&a5XoVCc7N0-d&U&Ot(bU%@n-P(U;s~XZ;$zR9) z2+}g+7J}y{A6;ukEn_xnbCCelV=uJJ60$HTOA8UMA*LvcsX_s-#ayi~DOTkwXi-hM2tU!uDNb=uF=wRWF> zT)Fs@`?dPe9Olz05!B_d3$E;2-4?8UomoDsHPm@b&b`)KW9jXG%EMpIt{m0dpJ)Cg zJaoA{CiX&`*L=`X}LG~4& zt^zmxh?!HA*@|Q=S7mPVCk;J@+*4K6xUYzhU>UpuM<>)5xqDGx^h;VLgOYiYjj5)g zv9_L~8k33DGcv}@Fn+YVP*rDI18l)qPXY;fiE5T@Zl|r^-JDY}&o;NeHHl?Fwpv|j z4$hMNL*1)jGpU26303NRbJ1*-n=VhrD&?d;=_1Wm zq&`Vru$$H=6WwjGKns6ak2lzM$?X@XI*a}8NVI$N>hHhD|9W9-U*v|DmsM3g!)``j z*0MNCmgXvyEIoOsS$bP(%@SWp-4b_Y9_+82yOY}AUi?3t+WNxoQnP!a$;I^`v_Jn- zTgz3P&bVINc7kyg>}k*HEPJ}>wv*XYRLoxEZ{Yqe+X5UC!|atWlqc64%iM4=a*35; zyjHWW97LJKfFe8xb#^q*IIj=^1ae-5%Djw05E&VqY0W90>YK)5Z)y}M`pQ%~>kvR8 zpG@1$i6RLG6q=;PcNXGlA#MWN#cH-Ce zN;9h7P4isl8hyOJiN8U5^u})l=XNIMJ$`lK`gJef(;1kB_WTfAnevYJJo?r_ojqu* zsC89+?O>uq<2wKEB!=R5aM$3ZJ(A{>sfI)M8yZ3wkJD7Cz*rC}MBombCsS%XCPSsB zNI{Fag0CPI`pgrf3PO6o@C1k{(@|pPZjf+*cmwKD@qomc$`w_S+lC*u)$h~|>6C45 zfAXQ^%k}2+mTfC~#!E{Jm8JR-J-gQ zWB1+LKRvSe(OT`AUg)gj_Wot0a9+PyWtiC*bL0*m?jin4@#fY*%N3DvqXPwr-tpLK}X!$SJ7m5^>gN|!nI2`ZnU0`T<_=%n$46N!HX`Xm~|HZE^sM#ib!hB3e=&Dl_I=FpY)Q3*!&T+sc$_t1 zUa|_Cs#~gxREYe^jrBTkgB>7^#B0Dq((A7ZjntIc8l}nh_LfF#O;NsF3~MR;N$Ws{ zV_YB^C(a!sJmj|&0!;xNXf(l!B(*m)>2*fuY<+8m_t4%sy-P3e9=urg zeY3m4oou=*?CBV*z3=H2{M&N^QAN&B->nxVyOQB}TOn*#af`KIB|CKFBF3}-(Y?kI zyKfC7M-dRT#f<%A_7m`rfP4U=1>|!g>Y+D8SiB*G`ez1rJ_p}?KB7ScbuEzYq-+6l z^)<-WV>g^RPf{rZQK3XqQ`*VYGEze=?6Yw|svRgq(yz4e^t<6m7)(wNM^O?f0iUUG zdl62X4QQ!?bzI_xqx5T zg;by`hPcaf@m*E}6d)JoON52crvqH4f>@_QRpfIF9{*H2fY0GZACCtO8LZ1zE@fOc zeWeZ~o?!jRXNu9>0z3#13>IM030#IGSq{K2{Rh?(_7aX=Tx5%jLwp@B26boYAPVk{ zj8F-_EMgY79U~^7LO0g23lCS z(cf;+46-S9fPb{Z;chM8<7$t$Gb?!udw*M*#w7J8`0lq>n1_9iXp^i2nV3h8|COtk z&6k*fbB&r_y`IgNFh=Z?k&-Cfgy&b4_8Uw_gRY`bEa_7SNJB%hJDkpj8)?ief;%BW zB}RVYkRHMxW{lm#8Iuhy@iwD5PiyP033}>W=VL&*NY6jPT~SwB9}fi@Q(X>EkA2oN zlYiN=-q}*T<8Y&K)tz6S{1m5g{6G9|?rrW$bd&a`-1V%3&E-tx4Em5w`f`b)1V*f; z8r_AMqlvlwZmR_aMQjpN%CSyQz^>wvh)4@Z(F89Xp~_4}4fTfoQKv~piE~Q77RC+f z8-&r^m)WA6R-dmi;m`~ndjHY<>dJt-J-FiiujUsTTWyJ(#=MPcMZuEraG%fOs+l#{ zS>sNoLcM$Eb}&9RXL60Tz~*mXb18G_WW7_VzN&cNB>{^yRpH-XKTI@l-tkYkJ+M7C zNn6TP(N_oMLwkZA$!`I)m#T3UG&U* zkUL;-w=QfxF5wp?0;(&nVvN67)vxae4vsIMyZJd6o}h`pSjxy=NAz)7YPcorw1zu6 z*dY9l6LB=d%o#xJsVyrmlu@cBNn?y*8e`MlPin+t8t75aAK`{3CgzL`^n^XN6=lUr zI@2h`-_#Qc6OGi~W~R)r?T9v<;0@FL5sA0)wB%vQ?GoLS5Ps8K#wpwr@lF}vM0B0_ zCNYGePKpf_?rdLo!$haieewDYS2Sy`-Fi^x+Ywzn*kYdDJgAFCO`REc-Wxk8I~(=}7ipxrZ58THlCjyW1MJ__tnC;WxxBP4i}jYN7i09XXDo% zzcN|3f={ukkSn%;S#b5WamT&n7WVSza^II$BBypvs-a0Eb8AYp{@mU~0%IY1PJ>1$ z4Y~%&XSRV9$7ak@Up#_yq`YumeSIx9!4uFdRL4(L(5Z+|ID>Rvja*IQX(=iS28f2@ zT%dTuT|H47saE61+&wmnv2mkeVa(T+DpOa5BD%Ur^{oO@>P+ZuZlZgGH6d@!&hGZP zD|c_*S`#p9qXW{)f-9Rh=PN9c;0r^YZSvf^?>dy~NyQQ!g;nLlv7x-Y!QQK{z2vqf z6FKsBQhAOXe@}WdEOIIAR5E2TV`8&Ie9WUPh<2UAbdUpJN>@mB)vUjtA zP;NvTCM>ovcjXJ^wXM5;am%3_hgKdr{D)TE3rsT6^WK7StEqq1oOec=;Z5E}{PPAr zd!3{;n@1sOwkrlgd0>Yffw8sil{9c6W|FZJ50j zpW8Mx>-rnLF8#oA+1&b?TBhQSXm!m*^#?9A(NJ8(U4^^jm!wk0lV)>NLhfdI)<&?5 zV*ed&z!L_Lh$2C)&M-xDCW)7`NURY3(eQhui@C>uQAv&w#1J(YSz~OvLea}vS(XJ9 zVNgz^i4#wAU0GX>&041`R81WQISoOXM3|Mf71X5B0d~<&ha&{Yl2d}Np?)R?Aq3tM zTSr4ta_yL}zBG4BOTysZymIjN)p-k(URP3IQJ}xZ**do8{3p*_anBD52jg8$QFm>v z+rsZ*Rus7HEpu02@UMm4Z8A&svc9W+ctdbjab7Ol^KjevOPB27|FQ6-`1q+?1n9ZbM5fso`0=!xO>&y0-( zo2Lcv!g&x#EaFOND$Yqx^1?_5(Y+u-?oh61X&sw87;P(an+gY7fBnMC`#VN=s%st1 z{zUWA!S1InAN<3D#=dapP(yJ^S>=d@-E>X=P+QbK^u*yF*XS~a8#wkrd8p|xtL)KW zdnDX7F?=QeZ^XlE{(A=8lf-@t0}3x0MY!J??P-M6`ckINoQ;Z#SoWU9$$0yN;v= zotGb2-ssm=-rvsMR&^17;IfV0(yI^5dc4Qh*EIUn`A6opd}Fw)p=i*a476Up^CJG; z`OmgY+!l5949@P(pe-L7^SCbPZ!6XsvLQ$_%0gg?hFLGJDH(CcSj)9-Fd2jPx`HaP^hOr zT;DYis_!OWg(pQ7Bn*q&DCtJ0Nw6&$4Z!jyQE59dm#%7V?yPT42sXGgG2IGh=gp^V zv4GHp8tfNHo1dZxc_y}+IgpkNdEtj-&cb@Lf1DDQAT**E6mg<~jA zpyk|Ecp5+O-*}3g`iUpr6k-cvf#v|7O*nPbQ!yJny=XG!pa^;H)Y%jN^aaiw?I2mt ze?~|BZA`S}6x5FRlSC3{an8)Iv_tnS(8N#|95_ttg4F&&Dut3h@C-NE@{;8>t*vYl zJII(KQdO>Hm}acaDi-Wu0m~LB@Ma>QkyvSWcXKRgF;-#8Z(%_mB6A`e;t#UyBJ^Qu zMO1e1HvPe6S`wIiK}*R6MTwB2vLTmWe|Cmb>K4U9%7(4#tG|F5CH3eJrDL*f=-=#w zWeGRyRWgqU8*yV&hG|H|Y?%51_ofgYtJ+)3lk*G_yCQ!e*pL8|f!Sy%R|`c}(W6qA znr%_1!lew*|`q1E}uviHcq7H=yxI+Dvgnb0Y0yS0o6DvnU?R74n z#W7mhIeWv7@GZl!N0vN2hYVbm`h#tY);*R?ZRoNgQZKcQu|G(*MrXylE@m!Y*0jDO z)UfT^xWBPGaT_z5Z!j#mfA5OUfn9U2Uho@M+9qZBPw#!sU*gj(Pjs)HrL4G;xri~3 zkFA(>&LwNN!@6wYFOYsD+fQ?vK6JVg{$ZB%1~ERHwN|T?7a%`~CQfLYtJ0((KdjWM zm1t!XkP|UDR8-XalB^+7vr@lL223G(P!miG39v}CMTw9|)Ftp8X|%-bP(;Fht?SQ& zk1bd*Z<8T`+~+m`PgX#V4lIq{bM&T9U4W=Za{JGvOj0Yz;2@rl0xqGVh65+J3uz9L>>x7vJ+s7F{P*+!+}PHA?dUDe z{=}lSn=k%VOUGZ?TGu&!hn#_>>-OJO*)Y4$JnX3R`&U>s#=yJ<+}~Af>RkTg_0KOk zXUUHiJKOF(%oI%aqh)XY##QsyUU=@!fkrm5eC6ABE_Rw4!=vNpb*@-{F^La~(JQu2 zVZ(Gw8{uOukE`nAOq@0(R$*EKgL|00X-PCB7@_+KxxXfC<@7tOq-POtA&lHp$4@N{ zwKh}_(8LNpLn0_(XwFa%t17gISut*CCBRcCym3S>VM^>qq{9)_5M%=$UMwdvnuVZT zEB*8Kqqh$=lzpl$D_zS-J7-69MsPOW&=e@#b?#cbqtO++CZ;&|@r|5JUZmCyG0cOB z;m{NF_`kJBOpW!-rTn?Ug2(`OWp}_>pezdT7vwEkWUMN3n8JL6N?qDJCuj2K`2q8q zUXGv3<*7>}>e?dh4*P;JspVO3z!YxBEur&<@}G*6#fMY#=wxv`A0fH626O1T3TX}5 zI+&h2Yzk^?YdRUN3!{eymaxdw8N|`UhJ`J@g<*^xV|c-Aszaeb7+(1N5kyh{2w@~4 zFoui;wiGecoHmb0M%}oRuw0x9=$&*-aXgUE{qV#o#kTO!U^q0;$Gj668jRq@iDQeT z!#-aYF^iC+Z}=p;if#9zepPPSVRt zEfFrOnD`;z3Z#P6IE!o{+0EkM3R!gb{>PWh>F(IEeABu^EzwZ2s?gdON_~B7!^3}m?Fo0IHm4BBdoi_O~(U;Rqu1u$Jnp2%#E6AzVxoDUP6r zn9Tjs^>k^YJS73Z0JLlp%4@&RFm1Y->W9%NcF3!R%Eh536BGP1`{M0KAEkp7vMZRp7#R5UHXTm*^5gHz4#`%cKYDAb zv%1NqkOjhk`8F1TI2j{R!qb?HNK4AJi13&wt&x^%>679yF;3=lMO`K%nKVPhULbB* z&sZHH>LocNf$JW=2O&IZPZcbXG2J$o<}5JQTR`F(;74|7okLM$ z=-IP-=eqsTr`8>5vRz4kG|FXLg&$fKHzq`X$jGYmZyyJhB zUMrgmBs@PAbjZqcW%0N~&z7@EpuJ?B0WMY{@DhS1PNMRZ7Ay=mhpEjdl?wh>PDq#q&3`rw)^Nz@zuJM@m!fm1O&U5aac*Uu429>gLzNfTs z<-%k~S5x2EJnObi_bhs3%VxDf9%24rRkz&acgK=_YX|#kcC1~nXvJfz<_7Zhv~N5; z6IxDYLd!Amo)71pgQ54#tb2JG9oWO{bJ`UNFofs>9cRnxz0IEc)o8O@Y@yxkNhU(Y z`P~w#&m;yTpXXn&|K+IQ`ADy@*;!GO{kfbq1(}a#Tj;4;Sm&ub-A7E@@{{%oPyf89 zG}&3Bt<#@lOti}x1D)vT?Y>uL3XnvJkpNOy{Z<_eC?>(a}HcT(dkyp142 z+&rm_|Mr?WyP`{OANRUDqHE=h!4q0^d7z>zTB+iGt1MrrE7GUp08ic7bhT1)-NnowEat zC_sM_#cIecfxg{qQ%jQZl6Va3C!I1FmOP1^>*(rW<>g!hX%UC9C@DZ79VW00e;z9l{ON9H?7shIqgVwP2u<@7J)%94Ks2|K+4%L17L zJc<0$Y{9~$5Y?pgb-~Ccv0lcAni?`u#uyQ-SWv0ldjHk&&S8jgboOL32&PPXdB=>w ze{zWy=V#6RF9LtZT!VAZx*QEg2Z=!YWmQ(s zC?!S%K>{JIz=7ajAjxYbRzX5`qA=6uPxOq$BT$7E+#vO9I7f;V)1xp#s(1R&P{W=Y zku!3S9eMh^$NEQ$+i@K+S@q)rT-R9j{bPssVAg!v=-d%$^;{n}9A7E@=j5MU(T3$s z&HOQOtVMRw&$imPR`Whhab~7Y`H=vAmNYm?RMHCR{ES8=9bioDJn7VZiUcK7qxVGj z8WLZ8`W~{Q!3yz^zys;&vl&EZ*`o`{l+PT&p9Y)uUJEgOp>g~-mi@E7vC;-mB@E`< z$>`yk59Uk%O);0H8kmbk-A5un2w8?CNy)BMKVje?j2vW+59MD>r7@CHMJd-%AFc-n z2gcIK{584CF+xF?Ma4l!|HvgSq@(;Y*w6H3ol>_GE^}I_L~`l7Ic*FR^8qvEoq1m- z?qe(2rxnxunw=;hA?f(tWLFMBqEplknfEal&F4Sqh?tTgW-nJ=SxERdGSm)~R;}aM z>$pEu4P_T`A5r*1qC4b8@uixkM~^JKap8)t@x`a9!@Hw?Kp zfK^>77GB#12kbV8t~nM_EUun4JTy4a-`NQOH)a+$xutQGN)9>p$!~U zYG9HlU9O0H$egc)sHI1kmaNUFV-eI*CQUn)lc*w85R9!f;z8xnh@DafLJExt6Vva89srRaF)hGC7h0t`-0b zy>94tBXAfb8{-PMf$YP;EICE&g3lsOD($z@j$icqCqkz5ISKLVG%hZ#>aqu}ic@$5 zzn9_c2_N3a64yDPrfcO6|=Np^; ztjs^Zd?Mf2j@AxWXxSIw8x!&nIOj@m1o&oVA;cVnkbuDXeqQ#0PK%yC@xY!g*>Lg{ z18&nS{z2JG_>@+OSF$9PvRXJ+is@oqMS)UUP~yPu5{cK=$&|1#6HHZQejXtXfGrXD zWsO85;nq&fnoRd*By%FN+X0ReCl*ZeDv{+BFu@3(5j0a0M5GlMWcxUR622_WqwJm^ zD-wG)2ANwQA9d&C8WRX~#xqjgWtZ z%$Os!O<-^k7)hiLrQ_y6rCmAsmTJo|yD=Qt*xEdzRWctaRrReG?I_)@Tv?-JiaCiO{+-n3Gq2~* zb@xBC@!^*(6&iZ;2~;L~OTb@uT;9RF{r4jI1ystaLP zhdD>4HnVC{tz-fYyFMR18#zK&3&}h(5aAm)$meSDJA+_VX>}8()7e0Ecb&f61t`5(c zcwkX~Pm6Qm=r;d?{WpL7=0#2QiM=oH9NGRS_UrxSH4|?>4vvGBw!(@9eLF|5_tqK; zbhiGho{ zWtQ@M0?Ko+Ul*W!{w9jap_9n($bJr;jAAOg3A`ky;IQ-i1P(jo2N3v?EZF}M4!bEv zk_)br`Rq-~$=9+O?1q(Y!eF;|wy|7bu#492!a&2Hv;#rqiV>$I$RX%^BDVIj?qElEW&%|aRi3#pEgrlU-+2Uh^dFeH`}=^e<5 zHBU`zdnV}C%C*n>dAtgcPv|OY}k)OqMb|MGqjO-&xd}LFQ z!YW?_zPX#Q4Mq*zO!($x|BHNcKfGweZ?4L4!XJL)?gMjfj!z^-zPb6}o0|aN+)wz= zKKkZ+V1a*~DLVSQ6@$Yo7vJ>JyEkpUs$&y|eyuNG(9r;$ZHD)_1UhR4hG-P9y&A-Z zl{!)i%25|^Bo09*JpQMzQWcOqDJGUk`kn?PLTL!(oC1_cpHLdJ;rsMqWsV}_36K}a zcBO*HV0Ot0DW3mSo|Shp^Ddzznw^LeN#;b`B)dr3E7nD6_KD`3NWL@8FINi=MDWWQ zjWsn+Lybr=ng@ze5Qqu)%g_V0@*+>yNIi04ajp%tIrBi7%g7{?uk7$(rc=| z!ax7&70*6({x_a|Cbe=+Wn5!C$H;UIoco=7mL?jO%)e>#cbF+mH1$N1-FB+=(`-yz)t!PE24(flNCM@TY|^42w# zl&}@ZLz+9R@a%c% zuoQ!;R@yS0F)Lj&tIw|pBul|c_oH>6{XD}-S0C3dSQGo`)SPswEKWN9Hz1#rrzz8wUgK6BZba?)9~l#|XKJQ*jQ%RqYz z!u*4B!V>Jn7Vl=e&1|B$AVsv|XGzyqrVumCwD$vVUYQsb_Tf!iKE_SnpHbU%{J zYN4Qy#8IA|U!>9Aeq?$k8djO!Mv45xAsK<>BfKXfr~8 z75u1Xu1o+zVi{LYx{A?Wlt*Yc(wBdNM-VJ2lJ zBawp`dlEEQJ$(~~Jp0%)=S^iH3PeN~GY#IKlVi3SJ{50Ly8^9*C7 z-&5g$N}5Ch|L#7CK9m-V`hWt&lsH71?`b6pNM?k8Ft-7ciAnaRhGS8Ju82Z#tPEzIRr>`PXl36Vbv;_Ad77fF(kXs?5F4X!(Jpudl%zFQHAqjV6>VAlH z+SA1|{X3#U=yKTB4Uk$j>_>OXV~Cg7on$dAo*&PREo#IS!E8W-EaOV2@Eg(vkr9fh zBalMYy`ebtB&83U%Q8-@c`)~~zayq$13DU}S3XQjJYB0AtjwCJng@MGp$}xL>>=%w z7gw!Zb!;%J;!%m5Dl0x$yJSbImpoZ}V?!)TxscA6Zd#k`md}Bg1lNkl{U!3~xO; zHQN0~YoSqZ#fSyysQ~BYn65x0r`siyQo18Re}eakSIuLjB)h9B@EP1LZ0-@FovcDG z?gTXzc+%{K&g`VGk<@dM?$rc?pjse3_2Reb^ebY8*SqAONvFSz(0{Lw%BcKz@^*E!3|E^gU+|HQL6Y4h<9bD9xV2PEyJccnq* z2K%F%t&@60*iZe!n%n^rTqW(vt0BGIu83 zG$?E?OQ*qUtsxCkrMRY*)>5(N?V=y7yIWjZWyAxH*- zZb8|~Fp2XHJ$vNP;wR$!ue#`+FLa;oa}@pMCh(t!?KWd}{&w$5#>Z-@Nq*LVgEh`Obx)m`6nq#NV>-;J%Q) zmAR?t|Igfez_(dm`{R0FEnBwaAz8MDwfD02mL>1KXW|Se&JI}wvIirK5FlYwN+B(K zw{!w+>25ES+j~oU3x%$GTevM9bllz+@ay0Ad0xqO0<`d7pFc@#SyFY-Od+QXPLGB2*Ur`<#3BJ%d zxa*o|8xzD3QVVs~XhFcyg!#y4^SQw)9ZUoBINLt|bAP;zG0w&6vzdW|&%WwsSd8?e zH7KI5RDJiq}b((;KX4Zr(J|V7{{9aJap#D?4#T zdR2Gd*6SGUuKSxicX=P1<^ELIu;u7~e9V`@`fgu%L)0(ciRm}s3N1LpGPy@4k|RG$ zYS~$^D1j`1m1{xlph(P=HOD#{c*u}Sxja~7dO!%|&UOmGaf*ZDgr>|V!1I!G+ReOX39j3>ZqJIT+aACB&VkIz zk&8zGOhs%%EA4^DxxYT%e{^W((yhdvn-|_-e~48PMo){oK~$^J(9Oj7fYN##$+9YU zV`H5PnOJJriyc&aCJ%e~0$B-0j??|3nY)r*DiL;&rC~kA6}@cPc4BHPc-a-1@vlPu}5z$4JzLpc?`RJnb&M%z$> z=_FVS4&2hVEGi|M1NrSjO(Cy@)bdjNimZf~VgkLvwkUCt(L+aT2bk4W>xS>&lrbbP zxtDwAqV}0bZhSaiXplNP?`{4{dfK&lY<)+hTilq{ZqENX>Onmh&;(x5e3a7C@2JBG2V0D%&bp1lKb^(nuV!U-xS*m*@v(g; z)-?r22VS}5b1T}l+^yG7IN~;a?{NR$&A&_dhfaRvrq8Zu4fy-kuU@%QWT^V@gzA6G z*7OoFg*T)gtYC%UNTILSKGIqqHrVZInPh|w1HY57$;#=0{$$W+HdV5+ zfPh4>#FhvYU4s+(=9q5Kt<08BPYm>Dh-d0^n@v^ad~8A@S$ePX5BN>v?+HRCR!lOJ zr*UOimDFS|*0Gm#w6tc@JI(idN~ETJ6|)tZ=`GY{uiZkUV@nVSAw__xcMH9s8K+!}L7txlb)ttWsk zkpA7K!M5p5yTMQtd5d{_{^T|5x>7?iR}%uYD(zL%znz=eb$!EuNKb0=OzZy5Oz7{N zoGn}1mF|nWJPq2KD%Ew?K;|jJ9b%Ei)G}Sw zNLdV~%BN!(pH9M9@v1=b0?Y;h<+@(P;7X&D4zHTo7lZ z*nN^vtBLyX65_M;_@Q|3QVG)XMo1TvS0v1@SNU2d*4(xKj<`28lWD`a>o&bc)u*0?o=Y`M%4#njL245vkLJ(SFR{&&u@LaG))=6*q9eQ&oFI&GD%``>kyX`7#sAJRh%xPj1&f*Rhh9`la$#a-53r5Pz6> zSh=Z*P*c+b1%DNyc>iQNIbJk*_F*K&y6yfNY1$X-WtpgB$GeJ;w6NO0hjOI=p_MBiPDydhqdSh6X&Y zWc;{P@GIaa?oAvx6nPB=xct3X@>e0WB~nAuX-<@f+<(-<@HT~99>k%+Iik*K$)ezS z>oUSaHoJFZV>A^s*z*VDUR`5VWv#`Y?rNWNsq5uUsWw-iudR1`s6nB~*Y17u8K_p7 zqEh$}*T)RZ?HVxHE{e6(85#zU4AzLc-PcZEuD>GKb0~HFwOlv*U2Q#-D}dz)ac1rU z-;<9_gVV4w)@BkjZl}!zwnj0n@*%8s3So;J6=#jr^2MWq1;acLZsvELks^ZV0FFd_ zx5W}?vRI5Mge)S$yPlD0nlkn)ZbrL?xDQJmTXGu<%(Lhd}M9g+1)rE zS!a!Ar~0+7ggePb+29QK!`t?nqZWH2lu0yr^UU;>8!*x}D@9T_Yt9 zB(yY3i>1@z$lCZjh3;dV+5%)>Fb389E~j0{ahb^MiD1w-p6$v6Q<@4zeWggdTQUk@ z?sNw;#)zM(&;)Y!*5u$&y041;+Pqij;L1LqPq(MTxwzIYU&lO9uN(Ad=D)^T=2ISp zc6a@*P+LdBNqP}4h7KE{!zRH@AtPt?MuQ$Pmaq(6r6Q5CPH19PO0f5X;DPjjk$fJ4 zS4n#{N+K|w8yzelGA>Dgtel8|d?9x#fN*s6P)08@S&iB`7{lU5FIQSS^ZQpfzWGdr z*4<{m?3U(^indn{P~9YE?_#!+xokca6=`>=|Esgv?`2pnQB=mJ2&~&~s*U$hrW9ni zb+U4$tVqr`BWjpAkDQO*?H`1k?=}PpXRkSY(SgCC71P)6>s=NQ2=5t~zWqM#rB$P2 z<2O8f_O7vxj`O^KMz9H=>c^056YdqiiB&M(1}Wo3yk99Rmy!y10RuBYeks%~Hn&Z$ zqZq&v0st|R3w60|;7tP@lhWO37Z%z6OSeeLD!>Dw<%J~VXC_PMoY}kb!H1iBYY&w- z)Vb}RmQ>$#t3{)pQ<^+dt= z6^kYeg}6QVz=x;Z0IdY?e9`u=aPjs`*dtO{1sV{sFpV%7)UPNChv{&X72M@z93xY0 zu>Gjg6RKdk!VPN*fvIqGcD(n~<936?GdJOh1l^r(;Tcn-EAMok5=Mg!0jDQFGhpo- zyyR-`?`y`_T#)_J>YuM_9~r}Lt;N2MW94o^reJc}g+{#`4XUgPoQv4hqKD*`>g#Lx z6gTyX-WA4C&zg8SJW@kMQZx%izla2{)OBQEbw2UZo`JQ)JD=P*wJI4K3_0RjRJJvS zH(D}7>t>Gpt?|vy>D#Zp>4mk4Shy#%CgZkxOqGi2`fPaeFSC0N;xqTb$~_5PY!hq; z%M4qOe&pt;S&A>11!Jxw8cDzvs*$NAd8Ej?m7x}`vBigJVCciv)+q@>wOl)ie$tap zF8<|O%HR9cfnL&6dXo_k@EnDOIVhR>l1s!&f$ULtklc1mW>I%9-qfAG&EMD2M3YDVo3yIdhe5%UQu};6PVo8^eTsHJrPkQ4iX75O$wT%my z<;I=$TZ1inThiiWevwir>bM`h_%?eWp>v&azvv;i!b$F|a4+^aKv*>^7*wbT7?0Z| z5Xqeetx81t)4|4Os#id-iQ7x$5Fpj6C|8BWhtgtTMVumRyrsv&$t=rr48H?&cj={` zu%ptKd2{Q>Q?ACmFFDTbetOIBNXul_-_#RVni3f4?5L=ol0(mGVs6DJk1`Eu{LekM zP{-QlXXpR>ZxgM98L+Ln3g*o#*{YtsOe{bC%ule3W84{JEp{RY*d`bgoGy&_8|CeJ zQO;Ro z#%ik;i36zwAOya6w}@EM`rXn|CMUTRS@HoEgQ92t^zw(7KjO4T5T_zxB?p?G5b`dn z64r!}l;0zMrUxAYrseo05DPzx`mT`<%pPdXujzhnXD2*vAjuFv(;Zbp1X~Hokrn_fl6l{kbhnICH_&>@M!d%{zwI zZ(vMA7ZOeSJ*>r3!Y6246}B-lR>&p;9<2%lcgb+TgLY-`I8=j<5JQiN^xA)Y7~iWG@v@kWto9N+0r=b}KXoK%9#yb5%K(ddE@?Ld6IdEs5ik_Raq_g!&n zdPQKB>p(1)%QZD7YHD4M$zJEQvayoM_SVnXH%4MzS+6=>T@x}X^A+NPM(Ym!N&m+2 zFW=pSYS4D7sqps11^(vFfHYm@QBmMWzHbr?lae6-gyBf)LbJbxJgA6zlPc!6Eup zj5mrA7sT=vBAO*H3-J~Ka7naDh?!|eU4lP*|0Dn_Iw`_0yQ6xGZNNWTKPFd%rzQf; zuJ?__-Xu{6!`5tUZD@$490S7vXRvXw&S*6xrnHqjenI@36wIut8GX09xTU*Ch=DL-BJ_<#s@OYCp zJhJEH=J|x9O21RRE7;l*cO{rLmnS+0TD)BkX&OijN_PLR=%|!oUG113o2q9Ote9;} zV3sewfCEQ~q>wCx#W_OFxo`-VPD@LfyG7faLpv%uo{d^%jjRYEF77&A>A7nqu{LEn z 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 literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusRoman-Italic.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusRoman-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b31bf3c4f9204bb4cd75600ac41e04e0dbb3532d GIT binary patch literal 204136 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�H5QPCtlH5G^Nh? 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

    ))7M*e^g%4;Lg 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

    lIf3@kfZ(` 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 literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-Bold.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d364537612f94a76bdafeea03c46dc76a31c5a74 GIT binary patch literal 158732 zcmeFad0gy*Ej>q)C%D-P#Ac6}b`>u$B zxNo?j;x>qgj3VPQqEu&OT*q+(r3u1d)97ejE}+J#gnE@n0ahn@2BwhM!czb z(sgrF%QkqYGiH2?-cvtw^0aN4kBnl>^alQJm^@+5Os2y(i^|8}5tFAbtS|3<_8|VQ zU_$EDhPny0#`|q=F`@7PUB3ZO7*>U@#ouS~cUr@=xeFc~w{t%eJQ8F2sZ(c6njqf) z-XSLVX5#Oe(o;EOq0Wc5Eq^%tgq2XsqRuc33{FI+7on@PGb%rqH)=vXpa%9rswd5e%B z92JfUXT-JQt>WF{+u}RoU!-x;Bx#-o5mJtGuvWpv9?58 zvMtqSx4CTTwme&jt;V*^cEI+O?KRteoXP;tUZQo|U*Z#aia2OpnN2ZfG1!siQ=(IRvor%sgXSTD*S>c@N zT<%=yyxDoHbA$74=Y!72oliNRa~^iS`g|a+1buE7?*V;IOH7(5&6e(vHcNL&2c?IlL!i%b z(B}i`GwC1Fcgf3>e*k^Vsa9+h(WfxAtd%}c%L)YVriMzGL|v2f$f9rqE z|BC-f|91aY|7QOk{@eYx`fv6x^)L3%^-uLT_-j9Z@AHPwaMJ1P?5eYyKg&J4>ND48 z&a(@e&o}?8`J3ir%}39gnvXPZXr9_Usd-}a_~voVW12@dkNULf(}m50oBKESYIdLf z@$5gð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∋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 Q!2cM0{^x)HfS*YIKN>DYI{*Lx literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-BoldItalic.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1058bee50a7ad8dd0f7f0c04a1ec89b7e1bb228d GIT binary patch literal 190792 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 literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-Italic.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b09a597dfc2b99ecd91403f9969244203e82e797 GIT binary patch literal 191524 zcmeFad0aeO_%IR+ce$MHr<=| zbsr&W+*b&-Y?(S^Y#aTTUJ6lX$?G$xwJn_KzYwP)>g{jg^SbG6(>nfsXwAondI#D_ zjh;DU&fFvJPu@e+yU?G|M`zCNn3=OplZB{ngW>&th^E)zO^AmWo`dIrUc!<5r>~-J zs#C~=_jrE}AnFMjUfAz@Twen{Sb=mm7=eRDc$eS+eidHZPhMvdcvo}=q(c-UvW6cj zjY&YbmEm1MsB+S@_IYz^+osRa!B16tKl~tLKkIqtz>$V~Rhrj}l;B3Me#0dPL zr4jHzfFjT`+=;i~ekzo@K)pfr()ZI3&=1k?(3j}}3uyk1(m|AJ)-N;J)!H> z^Yj6FrCy~E)`#gM^g6vkZ_!8UjCy0V8JQ`w*eo*#nuE<@ zW|KL_oMg^4&onPL-)mlDe!$#qe#qQoK4Cs(e$M=Y`DOEY^9A#p=8NVJ&0knDEiOx* zrPVUlGTt&JKJ@!_e(`d*OF2Ko@l=L&+ zV2&}znbRPjH$grhFn?gaV!n%59`OUnN2yc8KoR*Q>e2?}GZ*A@=qCBde<2^cK3U(Q z-!vefcR@asf#;QvoRd$8A)J$s737oTl~1c-oMEzIrD3b#pjSRRW7HkwQ#~M`P38mU zW1M`R<>d3K`E~PeK|UXVe9{Nx(_xt$ulfGv?|;65K=D39s6ViOUjHbB*e4Nk|K$Fg z`$zcy7x$mt=iRTkPr7%xceuB?H@P>sA8@a6FLU4Hp6j0Kp6DL;*?XT&`~%E<@^fv~ zwQYZhy|(HPmOq%UExi8Y_5Zv6?e#aVU$`c}e)f9z^{Lm#UT?qNdVS3Gk=I+UH-9?$ z(?!>7uUB0!yKcSq)3vXzeSGbmYj0mWe{C0cuC3P|{A3-RbK|uQ+~d{P?t@1wuPwcH z&$St!j6vv=_-n(iIj==uGhCB=dg0UOK7H)d!@U=K-|2m=_m$q4dtc~%w)aHuW4(ua z_x9f3yQFtv@4VjGy)$~p_O|pk^w#wb@2&2w>@DvtL#Vf)H?ueXB~Z8hmu$$m|!@Jv;gMsd!8G2{{!x+yE@PeEu>X<_13$16ZJdN4)R02?>SOj zTd3c2PjUy(GlP%+^LrGr=y&*`!1|&;phM_hvO$S<3-l#gkG7*V=vDLy`U>qs$I#d48}ui15Iv6GKo`())Q-lYO=ui?6Lp~9px>g4 z=q>a%dIx=r#-q#VU33XOfhM3oqs{1j^d7o`CZg}q_h>Dej3%KeXd0S|rlSLB2AYLt zqSo_!D{~>`T;$M{)&D?e?vc^zoUPk zf1;n!4b+F+h(-MvVT>tEV+Qju9}BP$i?AQ|$6_qOQXGI~SdJA~i34#ER$(;`#vxdP zLva`m2fM7rI;_VAY(!VF37fG6TX7_g!qM1?4 zM4#eqcst&Kcj8@mH{OHy;(d5OK7b#>2k{|%7(a}U;79OL{3t$#AHzNPaeN##ej1;|r|@a~3_gRO#n0jA@eBAx{1Sc{pG7Co)6^(xG&+r*LFcJ4=p;IYUPCL< zD`+*^LG7mYprh1YY9F;9?W7J;ho~dyVd@dIg*r+-O7&2WQ^%<%&>pmrIz^pE&(aFI z37tjf=n*v79?XZES4T1Nmeef@3op_Pk1r64{QSidX@E?wPzDC6)WIQ|(6I0bEqF4c z$!xJkMn&6V?6Gn235kxR + /// Verifies, that the specified document has the expected field-values as set by + /// + /// + private static void VerifyFieldsFilledWithDefaultValues(string documentFilePath) + { + VerifyFilledFields(documentFilePath, field => + { + if (field is PdfTextField textField) + { + textField.Text.Should().Be(textField.Name); + } + else if (field is PdfCheckBoxField checkBox) + { + checkBox.Checked.Should().BeTrue(); + } + else if (field is PdfRadioButtonField radioButton) + { + radioButton.Options.Count.Should().BeGreaterThan(0); + radioButton.SelectedIndex.Should().Be(Math.Min(1, radioButton.Options.Count - 1)); + } + else if (field is PdfComboBoxField comboBox) + { + comboBox.SelectedIndex.Should().Be(Math.Min(1, comboBox.Options.Count - 1)); + } + else if (field is PdfListBoxField listBox) + { + listBox.Options.Count.Should().BeGreaterThan(0); + listBox.SelectedIndices.Count().Should().BeGreaterThan(0); + listBox.SelectedIndices.First().Should().Be(Math.Min(1, listBox.Options.Count - 1)); + } + }); + } + + private static void VerifyFilledFields(string documentFilePath, Action fieldVerifier) + { + using var fs = File.OpenRead(documentFilePath); + var inputDocument = PdfReader.Open(fs, PdfDocumentOpenMode.Modify); + var allFields = GetAllFields(inputDocument); + foreach (var field in allFields) + { + if (field.ReadOnly) + continue; + fieldVerifier(field); + } + } + } +} From 6aacefa0475ed7c74444db2b4c85112cddc62e2c Mon Sep 17 00:00:00 2001 From: PDFsharp-Team Date: Thu, 6 Feb 2025 12:13:52 +0100 Subject: [PATCH 2/5] =?UTF-8?q?=E2=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LICENSE | 2 +- PdfSharp.sln | 1 + PdfSharp.sln.DotSettings | 9 + README.md | 8 +- dev/build-local-nuget-packages-release.ps1 | 8 +- dev/set-en.ps1 | 16 + docs/MigraDoc/changes/v6.2.0-log.md | 4 +- docs/_READ-THIS-FIRST.md | 2 +- docs/change-log/v6.2.0-log.md | 42 +- docs/publishing/BoilerplateText.md | 18 +- gitversion-6.x.yml | 50 + gitversion.yml | 4 +- src/Directory.Build.props | 5 +- src/Directory.Build.targets | 2 +- src/Directory.Packages.props | 14 +- .../src/MigraDoc.NuGet-gdi/ReleaseNotes.txt | 6 +- .../src/MigraDoc.NuGet-wpf/ReleaseNotes.txt | 6 +- .../nuget/src/MigraDoc.NuGet/ReleaseNotes.txt | 6 +- .../src/PDFsharp.NuGet-gdi/ReleaseNotes.txt | 8 +- .../src/PDFsharp.NuGet-wpf/ReleaseNotes.txt | 8 +- .../nuget/src/PDFsharp.NuGet/ReleaseNotes.txt | 8 +- src/foundation/nuget/src/README.md | 4 +- .../MigraDoc.Features.csproj | 2 +- .../DocumentObjectModel.Fields/DateField.cs | 2 +- .../DocumentObjectModel.Fields/PageField.cs | 2 +- .../SectionField.cs | 2 +- .../DocumentObjectModel.IO/DdlParser.cs | 12 +- .../DocumentObjectModel.IO/DdlScanner.cs | 8 +- .../DocumentObjectModel.Internals/Meta.cs | 4 +- .../DocumentObjectModel/Color.cs | 26 +- .../DocumentObjectModel/Font.cs | 15 - .../DocumentObjectModel/Footnote.cs | 2 +- .../DocumentObjectModel/Hyperlink.cs | 2 +- .../DocumentObjectModel/Style.cs | 2 +- .../DocumentObjectModel/Styles.cs | 2 +- .../MigraDocProductVersionInformation.cs | 22 +- .../Rendering.Forms/DocumentPreview.cs | 542 +++++++++ .../Rendering.Forms/DocumentPreview.resx} | 48 +- .../Rendering.Forms/enums/Zoom.cs | 173 +++ .../MigraDoc.Rendering.csproj | 13 - .../MigraDocPrintDocument.cs | 4 +- .../Rendering.Windows/DocumentPreview.xaml.cs | 6 +- .../Rendering/ChartRenderer.cs | 2 +- .../Rendering/ImageRenderer.cs | 4 +- .../Rendering/ParagraphRenderer.cs | 16 +- .../MigraDoc.RtfRendering-gdi.csproj | 17 - .../RtfRendering/RtfDocumentRenderer.cs | 19 - .../Helper/TestHelper.cs | 15 - .../src/PDFsharp/docs/AboutFonts.md | 6 +- .../src/PdfSharp-gdi/Forms/DeviceInfos.cs | 102 ++ .../src/PdfSharp-gdi/Forms/PagePreview.cs | 1051 +++++++++++++++++ .../src/PdfSharp-gdi/Forms/PagePreview.resx} | 96 +- .../PdfSharp-gdi/Forms/PagePreviewCanvas.cs | 61 + .../PdfSharp-gdi/Forms/PagePreviewCanvas.resx | 42 + .../PdfSharp-gdi/Forms/enums/RenderMode.cs | 28 + .../src/PdfSharp-gdi/Forms/enums/Zoom.cs | 94 ++ .../src/PdfSharp-gdi/PdfSharp-gdi.csproj | 4 + .../PdfSharp-wpf/Windows/PagePreview.xaml.cs | 2 +- .../src/PdfSharp/!internal/Directives.cs | 20 +- .../Drawing.Internal/IImageImporter.cs | 135 ++- .../Drawing.Internal/ImageImporterBmp.cs | 6 +- .../Drawing.Internal/ImageImporterJpeg.cs | 6 +- .../Drawing.Internal/ImageImporterPng.cs | 8 +- .../PdfSharp/Drawing.Layout/XTextFormatter.cs | 2 +- .../Drawing.Pdf/XGraphicsPdfRenderer.cs | 16 +- .../src/PdfSharp/Drawing/XGraphics.cs | 16 +- .../PDFsharp/src/PdfSharp/Drawing/XMatrix.cs | 27 +- .../PDFsharp/src/PdfSharp/Drawing/XPoint.cs | 129 +- .../Drawing/XPrivateFontCollection.cs | 2 + .../PDFsharp/src/PdfSharp/Drawing/XRect.cs | 122 +- .../PDFsharp/src/PdfSharp/Drawing/XSize.cs | 82 +- .../PDFsharp/src/PdfSharp/Drawing/XUnit.cs | 8 +- .../PDFsharp/src/PdfSharp/Drawing/XVector.cs | 74 +- .../src/PdfSharp/Fonts.Internal/FontHelper.cs | 4 +- .../Fonts.OpenType/OpenTypeFontTables.cs | 5 +- .../src/PdfSharp/Internal/ErrorHelpers.cs | 5 +- .../Png/BigGustave}/Adam7.cs | 6 +- .../Png/BigGustave}/Adler32Checksum.cs | 8 +- .../Png/BigGustave}/ChunkHeader.cs | 6 +- .../Png/BigGustave}/ColorType.cs | 6 +- .../Png/BigGustave}/CompressionMethod.cs | 6 +- .../Png/BigGustave}/Crc32.cs | 8 +- .../Png/BigGustave}/Decoder.cs | 6 +- .../Png/BigGustave}/FilterMethod.cs | 6 +- .../Png/BigGustave}/FilterType.cs | 6 +- .../Png/BigGustave}/HeaderValidationResult.cs | 6 +- .../Png/BigGustave}/IChunkVisitor.cs | 6 +- .../Png/BigGustave}/ImageHeader.cs | 6 +- .../Png/BigGustave}/InterlaceMethod.cs | 6 +- .../Png/BigGustave}/LICENSE | 0 .../Png/BigGustave}/Palette.cs | 6 +- .../Png/BigGustave}/Pixel.cs | 6 +- .../Png/BigGustave}/Png.cs | 9 +- .../Png/BigGustave}/PngBuilder.cs | 6 +- .../Png/BigGustave}/PngOpener.cs | 14 +- .../Png/BigGustave}/PngOpenerSettings.cs | 6 +- .../Png/BigGustave}/PngStreamWriteHelper.cs | 6 +- .../Png/BigGustave}/RawPngData.cs | 6 +- .../Png/BigGustave}/StreamHelper.cs | 10 +- .../PdfSharp/Internal/SuppressExceptions.cs | 1 - .../src/PdfSharp/Logging/LogMessages.cs | 2 +- .../PdfSharp/Pdf.AcroForms/PdfAcroField.cs | 3 +- .../src/PdfSharp/Pdf.Advanced/PdfCatalog.cs | 4 +- .../src/PdfSharp/Pdf.Advanced/PdfContent.cs | 9 +- .../Pdf.Advanced/PdfCrossReferenceTable.cs | 488 +++++--- .../Pdf.Advanced/PdfFileSpecification.cs | 2 +- .../src/PdfSharp/Pdf.Advanced/PdfInternals.cs | 3 +- .../Pdf.Advanced/PdfNameDictionary.cs | 4 +- .../PdfSharp/Pdf.Advanced/PdfObjectStream.cs | 10 +- .../src/PdfSharp/Pdf.Advanced/PdfReference.cs | 49 +- .../src/PdfSharp/Pdf.Advanced/PdfTrailer.cs | 2 +- .../src/PdfSharp/Pdf.Content/CLexer.cs | 193 ++- .../src/PDFsharp/src/PdfSharp/Pdf.IO/Lexer.cs | 262 ++-- .../PDFsharp/src/PdfSharp/Pdf.IO/Parser.cs | 54 +- .../PDFsharp/src/PdfSharp/Pdf.IO/PdfReader.cs | 153 +-- .../PDFsharp/src/PdfSharp/Pdf.IO/PdfWriter.cs | 23 +- .../src/PdfSharp/Pdf.IO/enums/Symbol.cs | 4 +- .../src/PdfSharp/Pdf.Internal/PdfEncoders.cs | 16 - .../Pdf.Signatures/PdfSignatureHandler.cs | 1 - .../src/PdfSharp/Pdf/EntryInfoAttribute.cs | 9 +- .../src/PDFsharp/src/PdfSharp/Pdf/KeysBase.cs | 14 +- .../src/PDFsharp/src/PdfSharp/Pdf/KeysMeta.cs | 5 +- .../src/PdfSharp/Pdf/PdfDictionary.cs | 91 +- .../PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs | 4 +- .../PDFsharp/src/PdfSharp/Pdf/PdfObject.cs | 19 +- .../PDFsharp/src/PdfSharp/Pdf/PdfObjectID.cs | 61 +- .../src/PDFsharp/src/PdfSharp/Pdf/PdfPage.cs | 130 +- .../PDFsharp/src/PdfSharp/Pdf/PdfRectangle.cs | 314 ++--- .../PDFsharp/src/PdfSharp/Pdf/PdfString.cs | 10 +- .../PDFsharp/src/PdfSharp/Pdf/PdfUInteger.cs | 3 + .../src/PdfSharp/Pdf/PdfUIntegerObject.cs | 2 + .../PdfSharp/Properties/GlobalDeclarations.cs | 2 +- .../PdfSharpProductVersionInformation.cs | 22 +- .../PdfSharp.Tests-gdi.csproj | 1 + .../PdfSharp.Tests/Build/ReleaseBuildTests.cs | 20 +- .../Drawing/images/ImageTests.cs | 70 +- .../Drawing/text/GlyphHelperTests.cs | 2 +- .../tests/PdfSharp.Tests/IO/LexerTests.cs | 194 ++- .../PdfSharp.Tests/Pdf/creation/BasicTests.cs | 306 +++++ .../Properties/GlobalDeclarations.cs | 22 + .../PdfSharp.Tests/Security/SecurityTests.cs | 2 +- .../PdfSharp.Tests/Structs/XUnitTests.cs | 12 +- .../PdfSharp.tests-wpf.csproj | 1 + .../Internal/PdfSharpGitVersionInformation.cs | 56 + .../Properties/GlobalDeclarations.cs | 2 +- .../selection/DefaultConstructionSnippets.cs | 4 +- .../Properties/GlobalDeclarations.cs | 2 +- .../shared/testapps/Shared.TestApp/Program.cs | 14 +- 148 files changed, 4531 insertions(+), 1643 deletions(-) create mode 100644 dev/set-en.ps1 create mode 100644 gitversion-6.x.yml create mode 100644 src/foundation/src/MigraDoc/src/MigraDoc.Rendering-gdi/Rendering.Forms/DocumentPreview.cs rename src/foundation/src/MigraDoc/src/{MigraDoc.Rendering/Rendering/MdPdfMsg.de.resx => MigraDoc.Rendering-gdi/Rendering.Forms/DocumentPreview.resx} (73%) create mode 100644 src/foundation/src/MigraDoc/src/MigraDoc.Rendering-gdi/Rendering.Forms/enums/Zoom.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/DeviceInfos.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/PagePreview.cs rename src/foundation/src/{MigraDoc/src/MigraDoc.Rendering/Rendering/MdPdfMsgs.de.resx => PDFsharp/src/PdfSharp-gdi/Forms/PagePreview.resx} (53%) create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/PagePreviewCanvas.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/PagePreviewCanvas.resx create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/enums/RenderMode.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/enums/Zoom.cs rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/Adam7.cs (95%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/Adler32Checksum.cs (84%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/ChunkHeader.cs (91%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/ColorType.cs (79%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/CompressionMethod.cs (69%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/Crc32.cs (91%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/Decoder.cs (97%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/FilterMethod.cs (69%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/FilterType.cs (79%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/HeaderValidationResult.cs (88%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/IChunkVisitor.cs (72%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/ImageHeader.cs (94%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/InterlaceMethod.cs (70%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/LICENSE (100%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/Palette.cs (89%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/Pixel.cs (95%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/Png.cs (97%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/PngBuilder.cs (99%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/PngOpener.cs (97%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/PngOpenerSettings.cs (79%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/PngStreamWriteHelper.cs (90%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/RawPngData.cs (96%) rename src/foundation/src/PDFsharp/src/PdfSharp/{PngLib => Internal/Png/BigGustave}/StreamHelper.cs (84%) create mode 100644 src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Properties/GlobalDeclarations.cs create mode 100644 src/foundation/src/shared/src/PdfSharp.Shared/Internal/PdfSharpGitVersionInformation.cs diff --git a/LICENSE b/LICENSE index 7300e256..70d0bf3c 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2001-2024 empira Software GmbH, Troisdorf (Cologne Area), Germany +Copyright (c) 2001-2025 empira Software GmbH, Troisdorf (Cologne Area), Germany http://docs.pdfsharp.net diff --git a/PdfSharp.sln b/PdfSharp.sln index 8795a23f..3c82ce5b 100644 --- a/PdfSharp.sln +++ b/PdfSharp.sln @@ -104,6 +104,7 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{31FE507C-F342-4DA4-9BE5-B3D2ED93E9CC}" ProjectSection(SolutionItems) = preProject .editorconfig = .editorconfig + gitversion-6.x.yml = gitversion-6.x.yml gitversion.yml = gitversion.yml LICENSE = LICENSE README.md = README.md diff --git a/PdfSharp.sln.DotSettings b/PdfSharp.sln.DotSettings index a8032f59..1415191e 100644 --- a/PdfSharp.sln.DotSettings +++ b/PdfSharp.sln.DotSettings @@ -14,6 +14,13 @@ TSA URI URL + None + True + BUG + Warning + True + TODO + Edit True ID True @@ -40,6 +47,7 @@ True True True + True True True True @@ -50,6 +58,7 @@ True True True + True True True True diff --git a/README.md b/README.md index 69aaeea8..dd680deb 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # PDFsharp & MigraDoc 6 -Version **6.2.0 Preview 2** -Published **2024-12-10** +Version **6.2.0 Preview 3** +Published **2025-02-06** This is a preview version of the **PDFsharp** project, the main project of PDFsharp & MigraDoc 6 with updates for C# 12 and .NET 6. -PDFsharp: Copyright (c) 2005-2024 empira Software GmbH, Troisdorf (Cologne Area), Germany -MigraDoc: Copyright (c) 2001-2024 empira Software GmbH, Troisdorf (Cologne Area), Germany +PDFsharp: Copyright (c) 2005-2025 empira Software GmbH, Troisdorf (Cologne Area), Germany +MigraDoc: Copyright (c) 2001-2025 empira Software GmbH, Troisdorf (Cologne Area), Germany Published Open Source under the [MIT License](https://docs.pdfsharp.net/LICENSE.html) For more information see [docs.pdfsharp.net](https://docs.pdfsharp.net/) diff --git a/dev/build-local-nuget-packages-release.ps1 b/dev/build-local-nuget-packages-release.ps1 index d6eeba5b..14be2328 100644 --- a/dev/build-local-nuget-packages-release.ps1 +++ b/dev/build-local-nuget-packages-release.ps1 @@ -19,18 +19,18 @@ try { Push-Location .. try { - Write-Host "Invoking ’dotnet build’" + Write-Host "Invoking ‘dotnet build’" dotnet build -c release $build = $LASTEXITCODE - Write-Host "’dotnet build’ has finished" + Write-Host "‘dotnet build’ has finished" } finally { Pop-Location } if ($build -gt 0) { - Write-Host "’dotnet build’ failed with code " $build - throw "’dotnet build’ failed with code " + $build + Write-Host "‘dotnet build’ failed with code " $build + throw "‘dotnet build’ failed with code " + $build } .\update-local-nuget-packages-release.ps1 diff --git a/dev/set-en.ps1 b/dev/set-en.ps1 new file mode 100644 index 00000000..c5077ee6 --- /dev/null +++ b/dev/set-en.ps1 @@ -0,0 +1,16 @@ +# Sets UI language for dotnet build to en-US. +#Requires -Version 7 +#Requires -PSEdition Core + +# I want to see English messages on my German Windows dev machine +# when I run e.g. dotnet build. + +# What works: +$env:VSLANG = 1033 +Write-Output "Compiler output language set to en-US." + +# What does not work: +#$env:DOTNET_CLI_UI_LANG = 'en-US' +#$env:PreferredUILang = 'en-US' +#powershell -ExecutionPolicy Bypass -NoExit -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = 'en-US'; [System.Threading.Thread]::CurrentThread.CurrentUICulture = 'en-US';" +#powershell -ExecutionPolicy Bypass -NoExit -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = 'en-US'; [System.Threading.Thread]::CurrentThread.CurrentUICulture = 'en-US';" diff --git a/docs/MigraDoc/changes/v6.2.0-log.md b/docs/MigraDoc/changes/v6.2.0-log.md index 2bb645ad..059a9ccf 100644 --- a/docs/MigraDoc/changes/v6.2.0-log.md +++ b/docs/MigraDoc/changes/v6.2.0-log.md @@ -4,7 +4,7 @@ MigraDoc changes come here. -TODO / JUST A COPY OF PDFSHARP CHANTE LOG +TODO / JUST A COPY OF PDFSHARP CHANGE LOG ### PDFsharp 6.2.0 Preview 1 @@ -37,7 +37,7 @@ Some assemblies had a subfolder `de` containing German messages. We removed all `.restext` resources. All messages are now available in US English only. **PDFsharp.Shared** -Code that grants friendly access to all PDFsharp Foundation assemblies lives in this new assembly. +Code that grants friendly access to all PDFsharp assemblies lives in this new assembly. **Bug in parsing object referenced** Lexer now supports white-space within object references. diff --git a/docs/_READ-THIS-FIRST.md b/docs/_READ-THIS-FIRST.md index eb240f7e..0094a1e9 100644 --- a/docs/_READ-THIS-FIRST.md +++ b/docs/_READ-THIS-FIRST.md @@ -1,6 +1,6 @@ # Read this first -This folder is **not* the documentation of PDFsharp. +This folder is ***not*** the documentation of PDFsharp. It contains internal technical information for/from the PDFsharp team. You find the documentation of PDFsharp [here](https://docs.pdfsharp.net/). \ No newline at end of file diff --git a/docs/change-log/v6.2.0-log.md b/docs/change-log/v6.2.0-log.md index 885e2271..4796d252 100644 --- a/docs/change-log/v6.2.0-log.md +++ b/docs/change-log/v6.2.0-log.md @@ -4,10 +4,48 @@ This text is copied to `docs.pdfsharp.net`. ## Version 6.2 -### PDFsharp 6.2.0 Preview 3 +### PDFsharp 6.2.0 (final release) *not yet released* +### PDFsharp 6.2.0 Preview 3 + +#### General issues + +#### PDFsharp features + +**Improved access to CropBox, ArtBox, BleedBox, TrimBox** +PdfPage now has new properties that make access to those boxes easier. +These are `HasBleedBox`, `BleedBoxReadOnly`, and `EffectiveBleedBoxReadOnly`. +Same applies to ArtBox, CropBox and TrimBox. + +**Loading images: Improved access to buffer of MemoryStream** +LoadImage from MemoryStream now works with a buffer that is not publicly visible. +For better performance, set 'publiclyVisible' to true when creating the MemoryStream. + +#### PDFsharp issues + +**Lexer.ScanNumber and CLexer.ScanNumber** +Based on a bug that crashes PDFsharp if a number in a PDFfile has to much leading zeros, we revised the code of **Lexer.ScanNumber** and **CLexer.ScanNumber**. + +**No more commas allowed in XUnit** +An old hack allows **XUnit** to be assigned from a string that uses a comma as decimal separator. +This was a introduced for languages like German, that use a comma instead of a point as decimal separator. +Now you get an exception. Applies also to **XUnitPt**. + +#### MigraDoc features + +**MigraDoc Preview user control restored for GDI build** +The MigraDoc Preview user control is again available in the GDI+ build. +MigraDoc Preview samples for GDI and WPF have been added to the samples repository. + +**Color.Parse no longer causes exceptions when invoked with a number value** +If Color.Parse is invoked with a number value, as in `var color = Color.Parse("#f00");`, +it no longer throws a handled exception internally. + +#### MigraDoc issues + + --- ### PDFsharp 6.2.0 Preview 2 @@ -140,7 +178,7 @@ We added .NET 8 (`net8.0`) to ``. PDF documents can now be PDF/A conforming. We are still working on this feature, so currently there are some limitations. **PDFsharp.Shared** -Code that grants friendly access to all PDFsharp Foundation assemblies lives in this new assembly. +Code that grants friendly access to all PDFsharp Project assemblies lives in this new assembly. #### Bug fixes diff --git a/docs/publishing/BoilerplateText.md b/docs/publishing/BoilerplateText.md index 81d1e871..87ab7c65 100644 --- a/docs/publishing/BoilerplateText.md +++ b/docs/publishing/BoilerplateText.md @@ -4,9 +4,9 @@ ## PDFsharp -PDFsharp project - PDFsharp -PDFsharp Foundation - PDFsharp library -MigraDoc Foundation - MigraDoc library +PDFsharp Project - PDFsharp +PDFsharp Library - PDFsharp +MigraDoc Library - Library Source @@ -66,17 +66,17 @@ MigraDoc is a .NET library that allows developers to create documents such as PD Note: Do not replicate information from the metadata (like "6.0.0" or "prerelease"). PDFsharp: -This is a version of PDFsharp using .NET 6. -The package ’PdfSharp’ can be used on any platform including Windows and Linux. The Target Frameworks are ’net6.0’ and ’netstandard2.0’. -The packages ’PDFsharp-gdi’ and ’PDFsharp-wpf’ can be used under Windows only. The Target Frameworks are ’net6.0-windows’ and ’net462’. +This is a version of PDFsharp compatible with .NET 6 and higher. +The package ‘PdfSharp’ can be used on any platform including Windows and Linux. The Target Frameworks are ‘net6.0’, ‘net8.0’ and ‘netstandard2.0’. +The packages ‘PDFsharp-gdi’ and ‘PDFsharp-wpf’ can be used under Windows only. The Target Frameworks are ‘net6.0-windows’, ‘net8.0-windows’ and ‘net462’. We also publish packages that contain PDFsharp plus MigraDoc. See the project docs site for further information: https://docs.pdfsharp.net/link/readme-v6.2.html PDFsharp & MigraDoc: -This is a version of PDFsharp and MigraDoc Foundation using .NET 6. -The package ’PDFsharp-MigraDoc’ can be used on any platform including Windows and Linux. The Target Frameworks are ’net6.0’ and ’netstandard2.0’. -The packages ’PDFsharp-MigraDoc-GDI’ and ’PDFsharp-MigraDoc-WPF’ can be used under Windows only. The Target Frameworks are ’net6.0-windows’ and ’net462’. +This is a version of PDFsharp and MigraDoc compatible with .NET 6 and higher. +The package ‘PDFsharp-MigraDoc’ can be used on any platform including Windows and Linux. The Target Frameworks are ‘net6.0’, ‘net8.0’ and ‘netstandard2.0’. +The packages ‘PDFsharp-MigraDoc-GDI’ and ‘PDFsharp-MigraDoc-WPF’ can be used under Windows only. The Target Frameworks are ‘net6.0-windows’, ‘net8.0-windows’ and ‘net462’. See the project docs site for further information: https://docs.pdfsharp.net/link/readme-v6.2.html diff --git a/gitversion-6.x.yml b/gitversion-6.x.yml new file mode 100644 index 00000000..1fc45b27 --- /dev/null +++ b/gitversion-6.x.yml @@ -0,0 +1,50 @@ +# Last update: 25-01-30 +assembly-versioning-scheme: MajorMinorPatch +# PDFSHARP_BUILD_VERSION are the days since 2005-01-01. #CHECK_BEFORE_RELEASE +# Command Window: ? (DateTime.Now - new DateTime(2005, 1, 1)).Days; +# C# Interactive: Console.WriteLine((DateTime.Now - new DateTime(2005, 1, 1)).Days); +assembly-file-versioning-format: '{Major}.{Minor}.{Patch}.{env:PDFSHARP_BUILD_VERSION ?? 7334}' +strategies: [Mainline] +assembly-informational-format: '{InformationalVersion}' +branches: + develop: # Current development branch + # branch: develop -- is always 'develop' + # version: {6.0.0}-develop.123 -- taken from git tag plus 'develop' plus commit count + regex: ^develop$ + mode: ContinuousDeployment + increment: None + label: develop + # Investigate this currently undocumented breaking change when switching to v6.x. + # The statement may not be needed. + # Not in v6.x: prevent-increment-of-merged-branch-version: false + # Not working: prevent-increment.of-merged-branch: false + # Not working: prevent-increment.when-branch-merged: false + track-merge-target: true + source-branches: ['feature', 'release'] + release: # Release and preview versions. + # branch: release/6.0.0-preview-3 -- must be same as git tag without leading 'v'. + # version: {6-0-0-preview-3} -- taken from git tag only + regex: ^(release[/-]|master) + # Must not have mode set to be mainline? + increment: None + label: '' + # Not in v6.x: prevent-increment-of-merged-branch-version: true + track-merge-target: true + is-release-branch: true + is-main-branch: true + source-branches: ['develop', 'release', 'feature'] + feature: # Features and bug fixes. + # branch: feature/my-new-feature -- arbitrary name, e.g. a new preview + # version: {6.0.0}-dev-{my-new-feature}.123 -- taken from git tag plus 'dev-' plus branch name plus commit count + regex: ^(user|feature|fix)[/-] + mode: ContinuousDeployment + increment: None + label: 'dev-{BranchName}' + # Not in v6.x: prevent-increment-of-merged-branch-version: true + track-merge-target: true + source-branches: ['develop', 'release', 'feature'] + pull-request: + regex: ^(pull|pull\-requests|pr)[/-] + label: PullRequest + mode: ContinuousDeployment +merge-message-formats: {} diff --git a/gitversion.yml b/gitversion.yml index 7d1cc407..117f187f 100644 --- a/gitversion.yml +++ b/gitversion.yml @@ -1,9 +1,9 @@ -# Last update: 24-11-27 +# Last update: 25-02-06 assembly-versioning-scheme: MajorMinorPatch # PDFSHARP_BUILD_VERSION are the days since 2005-01-01. #CHECK_BEFORE_RELEASE # Command Window: ? (DateTime.Now - new DateTime(2005, 1, 1)).Days; # C# Interactive: Console.WriteLine((DateTime.Now - new DateTime(2005, 1, 1)).Days); -assembly-file-versioning-format: '{Major}.{Minor}.{Patch}.{env:PDFSHARP_BUILD_VERSION ?? 7283}' +assembly-file-versioning-format: '{Major}.{Minor}.{Patch}.{env:PDFSHARP_BUILD_VERSION ?? 7341}' mode: Mainline assembly-informational-format: '{NuGetVersion}' branches: diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 5368dc95..ec393bfd 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -6,6 +6,7 @@ enable NU1507 + false @@ -26,7 +27,7 @@ PDFsharp empira Software - © 2024 empira + © 2025 empira PDFsharp Team empira Software GmbH @@ -45,4 +46,4 @@ all - \ No newline at end of file + diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets index a87c9b4d..3e0c2628 100644 --- a/src/Directory.Build.targets +++ b/src/Directory.Build.targets @@ -1,7 +1,7 @@ - + $(DefineConstants);USE_LONG_SIZE;TEST_CODE_xxx \ No newline at end of file diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index cecab9c1..b3272e12 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -15,23 +15,25 @@ - + - - + + - + - - + + + + \ No newline at end of file diff --git a/src/foundation/nuget/src/MigraDoc.NuGet-gdi/ReleaseNotes.txt b/src/foundation/nuget/src/MigraDoc.NuGet-gdi/ReleaseNotes.txt index 9cd08e6a..46a1582f 100644 --- a/src/foundation/nuget/src/MigraDoc.NuGet-gdi/ReleaseNotes.txt +++ b/src/foundation/nuget/src/MigraDoc.NuGet-gdi/ReleaseNotes.txt @@ -1,5 +1,5 @@ -This is a version of PDFsharp and MigraDoc Foundation using .NET 6. -The package ’PDFsharp-MigraDoc’ can be used on any platform including Windows and Linux. The Target Frameworks are ’net6.0’ and ’netstandard2.0’. -The packages ’PDFsharp-MigraDoc-GDI’ and ’PDFsharp-MigraDoc-WPF’ can be used under Windows only. The Target Frameworks are ’net6.0-windows’ and ’net462’. +This is a version of PDFsharp and MigraDoc compatible with .NET 6 and higher. +The package ‘PDFsharp-MigraDoc’ can be used on any platform including Windows and Linux. The Target Frameworks are ‘net6.0’, ‘net8.0’ and ‘netstandard2.0’. +The packages ‘PDFsharp-MigraDoc-GDI’ and ‘PDFsharp-MigraDoc-WPF’ can be used under Windows only. The Target Frameworks are ‘net6.0-windows’, ‘net8.0-windows’ and ‘net462’. See the project docs site for further information: https://docs.pdfsharp.net/link/readme-v6.2.html diff --git a/src/foundation/nuget/src/MigraDoc.NuGet-wpf/ReleaseNotes.txt b/src/foundation/nuget/src/MigraDoc.NuGet-wpf/ReleaseNotes.txt index 9cd08e6a..46a1582f 100644 --- a/src/foundation/nuget/src/MigraDoc.NuGet-wpf/ReleaseNotes.txt +++ b/src/foundation/nuget/src/MigraDoc.NuGet-wpf/ReleaseNotes.txt @@ -1,5 +1,5 @@ -This is a version of PDFsharp and MigraDoc Foundation using .NET 6. -The package ’PDFsharp-MigraDoc’ can be used on any platform including Windows and Linux. The Target Frameworks are ’net6.0’ and ’netstandard2.0’. -The packages ’PDFsharp-MigraDoc-GDI’ and ’PDFsharp-MigraDoc-WPF’ can be used under Windows only. The Target Frameworks are ’net6.0-windows’ and ’net462’. +This is a version of PDFsharp and MigraDoc compatible with .NET 6 and higher. +The package ‘PDFsharp-MigraDoc’ can be used on any platform including Windows and Linux. The Target Frameworks are ‘net6.0’, ‘net8.0’ and ‘netstandard2.0’. +The packages ‘PDFsharp-MigraDoc-GDI’ and ‘PDFsharp-MigraDoc-WPF’ can be used under Windows only. The Target Frameworks are ‘net6.0-windows’, ‘net8.0-windows’ and ‘net462’. See the project docs site for further information: https://docs.pdfsharp.net/link/readme-v6.2.html diff --git a/src/foundation/nuget/src/MigraDoc.NuGet/ReleaseNotes.txt b/src/foundation/nuget/src/MigraDoc.NuGet/ReleaseNotes.txt index 9cd08e6a..46a1582f 100644 --- a/src/foundation/nuget/src/MigraDoc.NuGet/ReleaseNotes.txt +++ b/src/foundation/nuget/src/MigraDoc.NuGet/ReleaseNotes.txt @@ -1,5 +1,5 @@ -This is a version of PDFsharp and MigraDoc Foundation using .NET 6. -The package ’PDFsharp-MigraDoc’ can be used on any platform including Windows and Linux. The Target Frameworks are ’net6.0’ and ’netstandard2.0’. -The packages ’PDFsharp-MigraDoc-GDI’ and ’PDFsharp-MigraDoc-WPF’ can be used under Windows only. The Target Frameworks are ’net6.0-windows’ and ’net462’. +This is a version of PDFsharp and MigraDoc compatible with .NET 6 and higher. +The package ‘PDFsharp-MigraDoc’ can be used on any platform including Windows and Linux. The Target Frameworks are ‘net6.0’, ‘net8.0’ and ‘netstandard2.0’. +The packages ‘PDFsharp-MigraDoc-GDI’ and ‘PDFsharp-MigraDoc-WPF’ can be used under Windows only. The Target Frameworks are ‘net6.0-windows’, ‘net8.0-windows’ and ‘net462’. See the project docs site for further information: https://docs.pdfsharp.net/link/readme-v6.2.html diff --git a/src/foundation/nuget/src/PDFsharp.NuGet-gdi/ReleaseNotes.txt b/src/foundation/nuget/src/PDFsharp.NuGet-gdi/ReleaseNotes.txt index 829ff6ee..f5df80ae 100644 --- a/src/foundation/nuget/src/PDFsharp.NuGet-gdi/ReleaseNotes.txt +++ b/src/foundation/nuget/src/PDFsharp.NuGet-gdi/ReleaseNotes.txt @@ -1,6 +1,6 @@ -This is a version of PDFsharp using .NET 6. -The package ’PdfSharp’ can be used on any platform including Windows and Linux. The Target Frameworks are ’net6.0’ and ’netstandard2.0’. -The packages ’PDFsharp-gdi’ and ’PDFsharp-wpf’ can be used under Windows only. The Target Frameworks are ’net6.0-windows’ and ’net462’. -We also publish packages that contain MigraDoc and reference the corresponding PDFsharp package. +This is a version of PDFsharp compatible with .NET 6 and higher. +The package ‘PdfSharp’ can be used on any platform including Windows and Linux. The Target Frameworks are ‘net6.0’, ‘net8.0’ and ‘netstandard2.0’. +The packages ‘PDFsharp-gdi’ and ‘PDFsharp-wpf’ can be used under Windows only. The Target Frameworks are ‘net6.0-windows’, ‘net8.0-windows’ and ‘net462’. +We also publish packages that contain PDFsharp plus MigraDoc. See the project docs site for further information: https://docs.pdfsharp.net/link/readme-v6.2.html diff --git a/src/foundation/nuget/src/PDFsharp.NuGet-wpf/ReleaseNotes.txt b/src/foundation/nuget/src/PDFsharp.NuGet-wpf/ReleaseNotes.txt index 829ff6ee..f5df80ae 100644 --- a/src/foundation/nuget/src/PDFsharp.NuGet-wpf/ReleaseNotes.txt +++ b/src/foundation/nuget/src/PDFsharp.NuGet-wpf/ReleaseNotes.txt @@ -1,6 +1,6 @@ -This is a version of PDFsharp using .NET 6. -The package ’PdfSharp’ can be used on any platform including Windows and Linux. The Target Frameworks are ’net6.0’ and ’netstandard2.0’. -The packages ’PDFsharp-gdi’ and ’PDFsharp-wpf’ can be used under Windows only. The Target Frameworks are ’net6.0-windows’ and ’net462’. -We also publish packages that contain MigraDoc and reference the corresponding PDFsharp package. +This is a version of PDFsharp compatible with .NET 6 and higher. +The package ‘PdfSharp’ can be used on any platform including Windows and Linux. The Target Frameworks are ‘net6.0’, ‘net8.0’ and ‘netstandard2.0’. +The packages ‘PDFsharp-gdi’ and ‘PDFsharp-wpf’ can be used under Windows only. The Target Frameworks are ‘net6.0-windows’, ‘net8.0-windows’ and ‘net462’. +We also publish packages that contain PDFsharp plus MigraDoc. See the project docs site for further information: https://docs.pdfsharp.net/link/readme-v6.2.html diff --git a/src/foundation/nuget/src/PDFsharp.NuGet/ReleaseNotes.txt b/src/foundation/nuget/src/PDFsharp.NuGet/ReleaseNotes.txt index 829ff6ee..f5df80ae 100644 --- a/src/foundation/nuget/src/PDFsharp.NuGet/ReleaseNotes.txt +++ b/src/foundation/nuget/src/PDFsharp.NuGet/ReleaseNotes.txt @@ -1,6 +1,6 @@ -This is a version of PDFsharp using .NET 6. -The package ’PdfSharp’ can be used on any platform including Windows and Linux. The Target Frameworks are ’net6.0’ and ’netstandard2.0’. -The packages ’PDFsharp-gdi’ and ’PDFsharp-wpf’ can be used under Windows only. The Target Frameworks are ’net6.0-windows’ and ’net462’. -We also publish packages that contain MigraDoc and reference the corresponding PDFsharp package. +This is a version of PDFsharp compatible with .NET 6 and higher. +The package ‘PdfSharp’ can be used on any platform including Windows and Linux. The Target Frameworks are ‘net6.0’, ‘net8.0’ and ‘netstandard2.0’. +The packages ‘PDFsharp-gdi’ and ‘PDFsharp-wpf’ can be used under Windows only. The Target Frameworks are ‘net6.0-windows’, ‘net8.0-windows’ and ‘net462’. +We also publish packages that contain PDFsharp plus MigraDoc. See the project docs site for further information: https://docs.pdfsharp.net/link/readme-v6.2.html diff --git a/src/foundation/nuget/src/README.md b/src/foundation/nuget/src/README.md index 3093f708..0d977820 100644 --- a/src/foundation/nuget/src/README.md +++ b/src/foundation/nuget/src/README.md @@ -41,10 +41,10 @@ See Project Information for details. ### MigraDoc -MigraDoc Foundation - the Open Source .NET library that easily creates documents based on an object model with paragraphs, tables, styles, etc. and renders them into PDF or RTF. +MigraDoc - the Open Source .NET library that easily creates documents based on an object model with paragraphs, tables, styles, etc. and renders them into PDF or RTF. Text from MigraDoc 1.51: -MigraDoc Foundation - the Open Source .NET library that easily creates documents based on an object model with paragraphs, tables, styles, etc. and renders them into PDF or RTF. +MigraDoc - the Open Source .NET library that easily creates documents based on an object model with paragraphs, tables, styles, etc. and renders them into PDF or RTF. #### MigraDoc Core diff --git a/src/foundation/src/MigraDoc/features/MigraDoc.Features/MigraDoc.Features.csproj b/src/foundation/src/MigraDoc/features/MigraDoc.Features/MigraDoc.Features.csproj index 41f1d5ad..74954604 100644 --- a/src/foundation/src/MigraDoc/features/MigraDoc.Features/MigraDoc.Features.csproj +++ b/src/foundation/src/MigraDoc/features/MigraDoc.Features/MigraDoc.Features.csproj @@ -1,4 +1,4 @@ - + Exe diff --git a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.Fields/DateField.cs b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.Fields/DateField.cs index 368b1aec..d841d538 100644 --- a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.Fields/DateField.cs +++ b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.Fields/DateField.cs @@ -48,7 +48,7 @@ internal override void Serialize(Serializer serializer) if (!String.IsNullOrEmpty(Values.Format)) str += "[Format = \"" + Format + "\"]"; else - str += "[]"; //Has to be appended to avoid confusion with '[' in immediately following text. + str += "[]"; // Has to be appended to avoid confusion with '[' in immediately following text. serializer.Write(str); } diff --git a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.Fields/PageField.cs b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.Fields/PageField.cs index 2859532f..d50c2194 100644 --- a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.Fields/PageField.cs +++ b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.Fields/PageField.cs @@ -40,7 +40,7 @@ internal override void Serialize(Serializer serializer) if (!String.IsNullOrEmpty(Values.Format)) str += "[Format = \"" + Format + "\"]"; else - str += "[]"; //Has to be appended to avoid confusion with '[' in immediately following text. + str += "[]"; // Has to be appended to avoid confusion with '[' in immediately following text. serializer.Write(str); } diff --git a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.Fields/SectionField.cs b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.Fields/SectionField.cs index 2b6b410d..45c4cdc9 100644 --- a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.Fields/SectionField.cs +++ b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.Fields/SectionField.cs @@ -40,7 +40,7 @@ internal override void Serialize(Serializer serializer) if (!String.IsNullOrEmpty(Values.Format)) str += "[Format = \"" + Format + "\"]"; else - str += "[]"; //Has to be appended to avoid confusion with '[' in directly following text. + str += "[]"; // Has to be appended to avoid confusion with '[' in directly following text. serializer.Write(str); } diff --git a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.IO/DdlParser.cs b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.IO/DdlParser.cs index ab837e78..00a983a7 100644 --- a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.IO/DdlParser.cs +++ b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.IO/DdlParser.cs @@ -728,7 +728,7 @@ void ParseFontSize(FormattedText formattedText, int nestingLevel) EnsureSymbol(Symbol.ParenLeft); ReadCode(); - //NYI: Check token for correct Unit format + // NYI: Check token for correct Unit format formattedText.Font.Size = Token; ReadCode(); EnsureSymbol(Symbol.ParenRight); @@ -960,7 +960,7 @@ void ParseHyperlink(ParagraphElements elements, int nestingLevel) ReadCode(); Hyperlink hyperlink = elements.AddHyperlink(""); - //NYI: Without name and type the hyperlink is senseless, so attributes need to be checked + // NYI: Without name and type the hyperlink is senseless, so attributes need to be checked if (Symbol == Symbol.BracketLeft) ParseAttributes(hyperlink); @@ -1255,8 +1255,8 @@ void ParseImage(Image image, bool paragraphContent) // Future syntax by example // \image("Name") // \image("Name")[...] - // \image{base64...} //NYI - // \image[...]{base64...} //NYI + // \image{base64...} // NYI + // \image[...]{base64...} // NYI Debug.Assert(image != null); try @@ -1903,7 +1903,7 @@ void ParseAttributeStatement(DocumentObject? doc) switch (Symbol) { case Symbol.Assign: - //DomValueDescriptor is needed from assignment routine. + // DomValueDescriptor is needed from assignment routine. var pvd = doc.Meta[valueName]; EnsureCondition(pvd != null, () => MdDomMsgs.InvalidValueName(valueName)); ParseAssign(doc, pvd); @@ -2609,7 +2609,7 @@ void AdjustToNextStatement() switch (Symbol) { case Symbol.Assign: - //read one more symbol + // Read one more symbol. ReadCode(); break; diff --git a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.IO/DdlScanner.cs b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.IO/DdlScanner.cs index e87f9f2c..d038f718 100644 --- a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.IO/DdlScanner.cs +++ b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.IO/DdlScanner.cs @@ -94,7 +94,7 @@ internal Symbol ReadCode() Symbol = Symbol.StringLiteral; TokenType = TokenType.StringLiteral; } - //NYI: else if (IsNumber()) + // NYI: else if (IsNumber()) // symbol = ScanNumber(false); else if (IsDigit(_currChar) || _currChar is '-' or '+' && IsDigit(_nextChar)) @@ -606,7 +606,7 @@ internal bool MoveToNextParagraphContentLine(bool rootLevel) return false; } - //TODO_OLD NiSc NYI + // TODO_OLD NiSc NYI //Check.NotImplemented("empty line at non-root level"); } break; @@ -816,7 +816,7 @@ internal char ScanNextChar() break; case Chars.LF: - //NYI: Unix uses LF only + // NYI: Unix uses LF only _idxLine++; _idxLinePos = 0; break; @@ -1410,7 +1410,7 @@ string ScanStringLiteral() } break; - //NYI: octal numbers + // NYI: octal numbers //case '0': //{ // ScanNextChar(); diff --git a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.Internals/Meta.cs b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.Internals/Meta.cs index 5a19415d..6f736716 100644 --- a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.Internals/Meta.cs +++ b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel.Internals/Meta.cs @@ -79,8 +79,8 @@ public void SetValue(DocumentObject dom, string name, object? val) if (trail != null) { - //REVIEW DaSt: dom.GetValue(name) and call SetValue recursively, - // or dom.GetValue(name.BisVorletzteElement) and then call SetValue? + // REVIEW DaSt: dom.GetValue(name) and call SetValue recursively, + // or dom.GetValue(name.BisVorletzteElement) and then call SetValue? var doc = (DocumentObject?)dom.GetValue(name); if (doc == null) throw new InvalidOperationException($"No value named '{name}' exists."); diff --git a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Color.cs b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Color.cs index ed647ca2..4d1a106f 100644 --- a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Color.cs +++ b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Color.cs @@ -306,7 +306,7 @@ public static Color Parse(string color) // because the two operations are not always equivalent. // // While comparing a string to "" may seem like it’s checking for an empty string, it’s actually checking - // for a specific value of an empty string.This can be a problem if the empty string is represented by + // for a specific value of an empty string. This can be a problem if the empty string is represented by // something other than "" in the code, such as null or whitespace. // // On the other hand, comparing the length of a string to 0 is always checking for an empty string, @@ -314,7 +314,7 @@ public static Color Parse(string color) // a string to "", because it requires calculating the length of the string before doing the comparison. // // Therefore, the decision of whether to use a string comparison with "" or a length comparison to 0 should - // depend on the specific use case and the expected behavior of the code.In general, if you want to check if + // depend on the specific use case and the expected behavior of the code. In general, if you want to check if // a string is empty regardless of how it’s represented, a length comparison to 0 is a safer choice. // But if you specifically want to check for an empty string represented by "", then a string comparison with "" // may be more appropriate. @@ -328,16 +328,20 @@ public static Color Parse(string color) try { uint clr; - // Must use Enum.Parse because Enum.IsDefined is case-sensitive - try + // Do not parse strings that do not start with a letter, thus cannot be enum values. + if (!String.IsNullOrEmpty(color) && Char.IsLetter(color[0])) { - var obj = Enum.Parse(typeof(ColorName), color, true); - clr = (uint)obj; - return new(clr); - } - catch - { - // Ignore exception because it’s not a ColorName. + // Must use Enum.Parse because Enum.IsDefined is case-sensitive. + try + { + var obj = Enum.Parse(typeof(ColorName), color, true); + clr = (uint)obj; + return new(clr); + } + catch + { + // Ignore exception because it’s not a ColorName. + } } var numberStyle = NumberStyles.Integer; diff --git a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Font.cs b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Font.cs index 6ba7cad4..f417f857 100644 --- a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Font.cs +++ b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Font.cs @@ -224,21 +224,6 @@ public bool Subscript // .Kerning = 0 // .Animation = wdAnimationNone - ///// - ///// Gets a value indicating whether the specified font exists. - ///// - //[Obsolete("This function is removed from DocumentObjectModel and always returns false.")] - //public static bool Exists(string fontName) - //{ - // //System.Drawing.FontFamily[] families = System.Drawing.FontFamily.Families; - // //foreach (System.Drawing.FontFamily family in families) - // //{ - // // if (String.Compare(family.Name, fontName, true) == 0) - // // return true; - // //} - // return false; - //} - /// /// Get a bitmask of all non-null properties. /// diff --git a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Footnote.cs b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Footnote.cs index 9cd92099..c8185b95 100644 --- a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Footnote.cs +++ b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Footnote.cs @@ -18,7 +18,7 @@ public class Footnote : DocumentObject, IVisitable public Footnote() { BaseValues = new FootnoteValues(this); - //NYI: Nested footnote check! + // NYI: Nested footnote check! } /// diff --git a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Hyperlink.cs b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Hyperlink.cs index 85d3052e..2f5e97b7 100644 --- a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Hyperlink.cs +++ b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Hyperlink.cs @@ -514,7 +514,7 @@ public string Filename /// /// Gets or sets the target bookmark name of the Hyperlink. - ///Used for HyperlinkTypes ExternalBookmark and Bookmark. + /// Used for HyperlinkTypes ExternalBookmark and Bookmark. /// public string BookmarkName { diff --git a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Style.cs b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Style.cs index de562a8b..a45c9b3f 100644 --- a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Style.cs +++ b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Style.cs @@ -232,7 +232,7 @@ public StyleType Type if (Values.BaseStyle == "") throw new ArgumentException("User-defined Style defined without a BaseStyle"); - //REVIEW KlPo4StLa Special treatment for DefaultParagraphFont faulty (DefaultParagraphFont not returned via styles["name"]). + // REVIEW KlPo4StLa Special treatment for DefaultParagraphFont faulty (DefaultParagraphFont not returned via styles["name"]). if (Values.BaseStyle == DefaultParagraphFontName) return styles[0]; diff --git a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Styles.cs b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Styles.cs index e7107148..10a69930 100644 --- a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Styles.cs +++ b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/DocumentObjectModel/Styles.cs @@ -428,7 +428,7 @@ internal override void Serialize(Serializer serializer) fSerialized[0] = true; // consider DefaultParagraphFont as serialized bool[] fSerializePending = new bool[count]; // currently serializing bool newLine = false; // gets true if at least one style was written - //Start from 1 and do not serialize DefaultParagraphFont + // Start from 1 and do not serialize DefaultParagraphFont for (int index = 1; index < count; index++) { if (!fSerialized[index]) diff --git a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/Properties/MigraDocProductVersionInformation.cs b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/Properties/MigraDocProductVersionInformation.cs index 0ad14211..cddf77a9 100644 --- a/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/Properties/MigraDocProductVersionInformation.cs +++ b/src/foundation/src/MigraDoc/src/MigraDoc.DocumentObjectModel/Properties/MigraDocProductVersionInformation.cs @@ -1,7 +1,7 @@ // MigraDoc - Creating Documents on the Fly // See the LICENSE file in the solution root for more information. -#pragma warning disable 0436 +using PdfSharp.Internal; namespace MigraDoc { @@ -27,38 +27,38 @@ public static class MigraDocProductVersionInformation /// /// The major version number of the product. /// - public static readonly string VersionMajor = GitVersionInformation.Major; + public static readonly string VersionMajor = PdfSharpGitVersionInformation.Major; /// /// The minor version number of the product. /// - public static readonly string VersionMinor = GitVersionInformation.Minor; + public static readonly string VersionMinor = PdfSharpGitVersionInformation.Minor; /// /// The patch number of the product. /// - public static readonly string VersionPatch = GitVersionInformation.Patch; + public static readonly string VersionPatch = PdfSharpGitVersionInformation.Patch; /// /// The Version pre-release string for NuGet. /// - public static readonly string VersionPreRelease = GitVersionInformation.NuGetPreReleaseTagV2; + public static readonly string VersionPreRelease = PdfSharpGitVersionInformation.PreReleaseLabel; /// /// The PDF creator application information string. /// The PDF producer (created by) is PDFsharp anyway. /// - public static readonly string Creator = $"{Title} {GitVersionInformation.NuGetVersion} ({Url})"; + public static readonly string Creator = $"{Title} {PdfSharpGitVersionInformation.InformationalVersion} ({Url})"; /// /// The full version number. /// - public static readonly string Version = GitVersionInformation.MajorMinorPatch; + public static readonly string Version = PdfSharpGitVersionInformation.MajorMinorPatch; /// /// The full semantic version number created by GitVersion. /// - public static readonly string SemanticVersion = GitVersionInformation.SemVer; + public static readonly string SemanticVersion = PdfSharpGitVersionInformation.SemVer; /// /// The home page of this product. @@ -83,7 +83,7 @@ public static class MigraDocProductVersionInformation /// /// The copyright information. /// - public const string Copyright = "Copyright © 2001-2024 empira Software GmbH."; // Also used as NuGet Copyright. + public const string Copyright = "Copyright © 2001-2025 empira Software GmbH."; // Also used as NuGet Copyright. /// /// The trademark of the product. @@ -103,7 +103,7 @@ public static class MigraDocProductVersionInformation // ReSharper restore RedundantNameQualifier #endif -#if Not_used_anymore +#if Not_used_anymore // #DELETE 25-12-31 /// /// E.g. "2005-01-01", for use in NuGet Script @@ -137,7 +137,7 @@ public static class MigraDocProductVersionInformation /// /// Nuspec Doc: A long description of the package. This shows up in the right pane of the Add Package Dialog as well as in the Package Manager Console when listing packages using the Get-Package command. /// - public const string NuGetDescription = "MigraDoc Foundation - the Open Source .NET library that easily creates documents based on an object model with paragraphs, tables, styles, etc. and renders them into PDF or RTF."; + public const string NuGetDescription = "MigraDoc - the Open Source .NET library that easily creates documents based on an object model with paragraphs, tables, styles, etc. and renders them into PDF or RTF."; /// /// Nuspec Doc: A description of the changes made in each release of the package. This field only shows up when the _Updates_ tab is selected and the package is an update to a previously installed package. diff --git a/src/foundation/src/MigraDoc/src/MigraDoc.Rendering-gdi/Rendering.Forms/DocumentPreview.cs b/src/foundation/src/MigraDoc/src/MigraDoc.Rendering-gdi/Rendering.Forms/DocumentPreview.cs new file mode 100644 index 00000000..7356ef0e --- /dev/null +++ b/src/foundation/src/MigraDoc/src/MigraDoc.Rendering-gdi/Rendering.Forms/DocumentPreview.cs @@ -0,0 +1,542 @@ +#region MigraDoc - Creating Documents on the Fly +// +// Authors: +// Stefan Lange +// +// Copyright (c) 2001-2019 empira Software GmbH, Cologne Area (Germany) +// +// http://www.pdfsharp.com +// http://www.migradoc.com +// http://sourceforge.net/projects/pdfsharp +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. +#endregion + +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using PdfSharp.Drawing; + +namespace MigraDoc.Rendering.Forms +{ + /// + /// Event handler for the PagePreview event. + /// + public delegate void PagePreviewEventHandler(object sender, EventArgs e); + + /// + /// Represents a Windows control to display a MigraDoc document. + /// + public class DocumentPreview : UserControl + { + private PdfSharp.Forms.PagePreview _preview; + private readonly Container _components = null!; + + /// + /// Initializes a new instance of the class. + /// + public DocumentPreview() + { + InitializeComponent(); + _preview!.ZoomChanged += PreviewZoomChanged; + _preview.SetRenderFunction(RenderPage); + } + + /// + /// Clean up any resources being used. + /// + protected override void Dispose(bool disposing) + { + if (disposing) + { + if (_components != null!) + _components.Dispose(); + } + base.Dispose(disposing); + } + + Zoom GetNewZoomFactor(int currentZoom, bool larger) + { + int[] values = new int[] + { + 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 120, 140, 160, 180, 200, + 250, 300, 350, 400, 450, 500, 600, 700, 800 + }; + + if (currentZoom <= 10 && !larger) + return Zoom.Percent10; + if (currentZoom >= 800 && larger) + return Zoom.Percent800; + + if (larger) + { + for (int i = 0; i < values.Length; i++) + { + if (currentZoom < values[i]) + return (Zoom)values[i]; + } + } + else + { + for (int i = values.Length - 1; i >= 0; i--) + { + if (currentZoom > values[i]) + return (Zoom)values[i]; + } + } + return Zoom.Percent100; + } + + /// + /// Gets or sets the border style of the tree view control. + /// + /// + /// + /// One of the values. The default is . + /// + /// + /// The assigned value is not one of the values. + /// + /// + /// + /// + [DefaultValue((int)BorderStyle.Fixed3D), Description("Determines the style of the border."), Category("Preview Properties")] + public new BorderStyle BorderStyle + { + get { return _preview.BorderStyle; } + set { _preview.BorderStyle = value; } + } + + // #PFC + //w/// + ///// Gets or sets the private fonts of the document. If used, must be set before Ddl is set! + ///// + //public XPrivateFontCollection PrivateFonts + //{ + // get { return _privateFonts; } + // set { _privateFonts = value; } + //} + //internal XPrivateFontCollection _privateFonts; + + /// + /// Gets or sets a DDL string or file. + /// + public string Ddl + { + get { return _ddl; } + set + { + _ddl = value; + DdlUpdated(); + } + } + string _ddl = null!; + + /// + /// Gets or sets the current page. + /// + public int Page + { + get { return _page; } + set + { + try + { + if (_preview != null!) + { + if (_page != value) + { + _page = value; + PageInfo pageInfo = _renderer.FormattedDocument.GetPageInfo(_page); + if (pageInfo.Orientation == PdfSharp.PageOrientation.Portrait) + _preview.PageSize = new Size((int)pageInfo.Width, (int)pageInfo.Height); + else + _preview.PageSize = new Size((int)pageInfo.Height, (int)pageInfo.Width); + + _preview.Invalidate(); + OnPageChanged(EventArgs.Empty); + } + } + else + _page = -1; + } + // ReSharper disable once EmptyGeneralCatchClause + catch { } + } + } + int _page; + + /// + /// Gets the number of pages. + /// + public int PageCount + { + get + { + if (_renderer != null!) + return _renderer.FormattedDocument.PageCount; + return 0; + } + } + + /// + /// Goes to the first page. + /// + public void FirstPage() + { + if (_renderer != null!) + { + Page = 1; + _preview.Invalidate(); + OnPageChanged(EventArgs.Empty); + } + } + + /// + /// Goes to the next page. + /// + public void NextPage() + { + if (_renderer != null! && _page < PageCount) + { + Page++; + _preview.Invalidate(); + OnPageChanged(EventArgs.Empty); + } + } + + /// + /// Goes to the previous page. + /// + public void PrevPage() + { + if (_renderer != null! && _page > 1) + { + Page--; + } + } + + /// + /// Goes to the last page. + /// + public void LastPage() + { + if (_renderer != null!) + { + Page = PageCount; + _preview.Invalidate(); + OnPageChanged(EventArgs.Empty); + } + } + + ///// + ///// Gets or sets the working directory. + ///// + //public string WorkingDirectory + //{ + // get + // { + // return this.workingDirectory; + // } + // set + // { + // this.workingDirectory = value; + // } + //} + //string workingDirectory = ""; + + /// + /// Called when the Ddl property has changed. + /// + void DdlUpdated() + { + if (_ddl != null!) + { + _document = DocumentObjectModel.IO.DdlReader.DocumentFromString(_ddl); + _renderer = new DocumentRenderer(_document); + //_renderer.PrivateFonts = _privateFonts; + _renderer.PrepareDocument(); + Page = 1; + _preview.Invalidate(); + } + // if (this.job != null) + // this.job.Dispose(); + // + // if (this.ddl == null || this.ddl == "") + // return; + // + // this.job = new PrintJob(); + // this.job.Type = JobType.Standard; + // this.job.Ddl = this.ddl; + // this.job.WorkingDirectory = this.workingDirectory; + // this.job.InitDocument(); + // this.preview = this.job.GetPreview(this.Handle); + // this.previewHandle = this.preview.Hwnd; + // + // if (this.preview != null) + // this.preview.Page = 1; + } + + /// + /// Gets or sets the MigraDoc document that is previewed in this control. + /// + public MigraDoc.DocumentObjectModel.Document Document + { + get { return _document; } + set + { + if (value != null!) + { + _document = value; + _renderer = new DocumentRenderer(value); + _renderer.PrepareDocument(); + Page = 1; + _preview.Invalidate(); + } + else + { + _document = null!; + _renderer = null!; + _preview.Invalidate(); + } + } + } + DocumentObjectModel.Document _document = null!; + + /// + /// Gets the underlying DocumentRenderer of the document currently in preview, or null, if no renderer exists. + /// You can use this renderer for printing or creating PDF file. This evades the necessity to format the + /// document a second time when you want to print it or convert it into PDF. + /// + public DocumentRenderer Renderer + { + get { return _renderer; } + } + + void RenderPage(XGraphics gfx) + { + if (_renderer == null!) + return; + + if (_renderer != null!) + { + try + { + _renderer.RenderPage(gfx, _page); + } + // ReSharper disable once EmptyGeneralCatchClause + catch { }; + } + } + DocumentRenderer _renderer = null!; + + /// + /// Gets or sets a predefined zoom factor. + /// + [DefaultValue((int)Zoom.FullPage), Description("Determines the zoom of the page."), Category("Preview Properties")] + public Zoom Zoom + { + get { return (Zoom)_preview.Zoom; } + set + { + if (_preview.Zoom != (PdfSharp.Forms.Zoom)value) + { + _preview.Zoom = (PdfSharp.Forms.Zoom)value; + OnZoomChanged(EventArgs.Empty); + } + } + } + + /// + /// Gets or sets an arbitrary zoom factor. The range is from 10 to 800. + /// + [DefaultValue((int)Zoom.FullPage), Description("Determines the zoom of the page."), Category("Preview Properties")] + public int ZoomPercent + { + get { return _preview.ZoomPercent; } + set + { + if (_preview.ZoomPercent != value) + { + _preview.ZoomPercent = value; + OnZoomChanged(EventArgs.Empty); + } + } + } + //internal int _zoomPercent = 100; + + /// + /// Makes zoom factor smaller. + /// + public void MakeSmaller() + { + ZoomPercent = (int)GetNewZoomFactor(ZoomPercent, false); + } + + /// + /// Makes zoom factor larger. + /// + public void MakeLarger() + { + ZoomPercent = (int)GetNewZoomFactor(ZoomPercent, true); + } + + /// + /// Gets or sets the color of the page. + /// + /// The color of the page. + [Description("The background color of the page."), Category("Preview Properties")] + public Color PageColor + { + get { return _preview.PageColor; } + set { _preview.PageColor = value; } + } + Color _pageColor = Color.GhostWhite; + + /// + /// Gets or sets the color of the desktop. + /// + /// The color of the desktop. + [Description("The color of the desktop."), Category("Preview Properties")] + public Color DesktopColor + { + get { return _preview.DesktopColor; } + set { _preview.DesktopColor = value; } + } + internal Color desktopColor = SystemColors.ControlDark; + + /// + /// Gets or sets a value indicating whether to show scrollbars. + /// + /// true if [show scrollbars]; otherwise, false. + [DefaultValue(true), Description("Determines whether the scrollbars are visible."), Category("Preview Properties")] + public bool ShowScrollbars + { + get { return _preview.ShowScrollbars; } + set { _preview.ShowScrollbars = value; } + } + internal bool showScrollbars = true; + + /// + /// Gets or sets a value indicating whether to show the page. + /// + /// true if [show page]; otherwise, false. + [DefaultValue(true), Description("Determines whether the page visible."), Category("Preview Properties")] + public bool ShowPage + { + get { return _preview.ShowPage; } + set { _preview.ShowPage = value; } + } + internal bool showPage = true; + + /// + /// Gets or sets the page size in point. + /// + [Description("Determines the size (in points) of the page."), Category("Preview Properties")] + public Size PageSize + { + get { return new Size((int)_preview.PageSize.Width, (int)_preview.PageSize.Height); } + set { _preview.PageSize = value; } + } + + /// + /// Raises the ZoomChanged event when the zoom factor changed. + /// + protected virtual void OnZoomChanged(EventArgs e) + { + if (ZoomChanged != null!) + ZoomChanged(this, e); + } + + /// + /// Occurs when the zoom factor changed. + /// + [Description("Occurs when the zoom factor changed."), Category("Preview Properties")] + public event PagePreviewEventHandler ZoomChanged = null!; + + /// + /// Raises the ZoomChanged event when the current page changed. + /// + protected virtual void OnPageChanged(EventArgs e) + { + if (PageChanged != null!) + PageChanged(this, e); + } + + /// + /// Occurs when the current page changed. + /// + [Description("Occurs when the current page changed."), Category("Preview Properties")] + public event PagePreviewEventHandler PageChanged = null!; + + + #region Component Designer generated code + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + _preview = new PdfSharp.Forms.PagePreview(); + SuspendLayout(); + // + // preview + // + _preview.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + _preview.DesktopColor = System.Drawing.SystemColors.ControlDark; + _preview.Dock = System.Windows.Forms.DockStyle.Fill; + _preview.Location = new System.Drawing.Point(0, 0); + _preview.Name = "_preview"; + _preview.PageColor = System.Drawing.Color.GhostWhite; + _preview.PageSize = new System.Drawing.Size(595, 842); + _preview.Size = new System.Drawing.Size(200, 200); + _preview.TabIndex = 0; + _preview.Zoom = PdfSharp.Forms.Zoom.FullPage; + _preview.ZoomPercent = 15; + // + // PagePreview + // + this.Controls.Add(_preview); + Name = "PagePreview"; + Size = new System.Drawing.Size(200, 200); + this.ResumeLayout(false); + + } + #endregion + + /// + /// Raises the event. + /// + /// A that contains the event data. + protected override void OnMouseWheel(MouseEventArgs e) + { + int delta = e.Delta; + if (delta > 0) + PrevPage(); + else if (delta < 0) + NextPage(); + } + + private void PreviewZoomChanged(object? sender, EventArgs e) + { + OnZoomChanged(e); + } + } +} diff --git a/src/foundation/src/MigraDoc/src/MigraDoc.Rendering/Rendering/MdPdfMsg.de.resx b/src/foundation/src/MigraDoc/src/MigraDoc.Rendering-gdi/Rendering.Forms/DocumentPreview.resx similarity index 73% rename from src/foundation/src/MigraDoc/src/MigraDoc.Rendering/Rendering/MdPdfMsg.de.resx rename to src/foundation/src/MigraDoc/src/MigraDoc.Rendering-gdi/Rendering.Forms/DocumentPreview.resx index 1b7707d9..19dc0dd8 100644 --- a/src/foundation/src/MigraDoc/src/MigraDoc.Rendering/Rendering/MdPdfMsg.de.resx +++ b/src/foundation/src/MigraDoc/src/MigraDoc.Rendering-gdi/Rendering.Forms/DocumentPreview.resx @@ -1,4 +1,4 @@ - + - - - diff --git a/src/foundation/src/MigraDoc/src/MigraDoc.RtfRendering/RtfRendering/RtfDocumentRenderer.cs b/src/foundation/src/MigraDoc/src/MigraDoc.RtfRendering/RtfRendering/RtfDocumentRenderer.cs index aafafea6..ab92aabb 100644 --- a/src/foundation/src/MigraDoc/src/MigraDoc.RtfRendering/RtfRendering/RtfDocumentRenderer.cs +++ b/src/foundation/src/MigraDoc/src/MigraDoc.RtfRendering/RtfRendering/RtfDocumentRenderer.cs @@ -35,25 +35,6 @@ internal override void Render() /// public void Render(Document doc, string file, string workingDirectory) { - // #DELETE - //#if NET6_0_OR_GREATER - // var ansiEncoding = CodePagesEncodingProvider.Instance.GetEncoding(1252)!; - //#else - // Encoding? ansiEncoding; - // try - // { - // // Try to get ANSI encoding. - // ansiEncoding = Encoding.GetEncoding(1252); - // } - // catch (NotSupportedException) - // { - //#if NET6_0_OR_GREATER - // // Register provider if ANSI encoding is not available. - // Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); - //#endif - // ansiEncoding = Encoding.GetEncoding(1252); - // } - //#endif var ansiEncoding = PdfEncoders.WinAnsiEncoding; StreamWriter? streamWriter = null; diff --git a/src/foundation/src/MigraDoc/tests/MigraDoc.DocumentObjectModel.Tests/Helper/TestHelper.cs b/src/foundation/src/MigraDoc/tests/MigraDoc.DocumentObjectModel.Tests/Helper/TestHelper.cs index 2cef5e9b..11be8c9b 100644 --- a/src/foundation/src/MigraDoc/tests/MigraDoc.DocumentObjectModel.Tests/Helper/TestHelper.cs +++ b/src/foundation/src/MigraDoc/tests/MigraDoc.DocumentObjectModel.Tests/Helper/TestHelper.cs @@ -10,21 +10,6 @@ namespace MigraDoc.DocumentObjectModel.Tests.Helper { public class TestHelper { - //[Obsolete("Not needed anymore")] - //public static void InitializeFontResolver() - //{ - //} - - //[Obsolete("Not needed anymore")] - //public static void InitializeFontResolverWithSegoeWpAsDefault(Document doc) - //{ - // InitializeFontResolver(); - - // var style = doc.Styles[StyleNames.Normal]; - // style.Should().NotBeNull(); - // //style!.Font.Name = "segoe wp"; - //} - public static void RemoveStyles(Document doc) { for (var i = doc.Styles.Count - 1; i >= 0; i--) diff --git a/src/foundation/src/PDFsharp/docs/AboutFonts.md b/src/foundation/src/PDFsharp/docs/AboutFonts.md index 664e05b4..8934b30e 100644 --- a/src/foundation/src/PDFsharp/docs/AboutFonts.md +++ b/src/foundation/src/PDFsharp/docs/AboutFonts.md @@ -65,7 +65,7 @@ The **XFont** exists independently of a PDF docuemnt. You can think of an XFont as a moniker to a specific font face plus a specific font size. It is a fascade to XGlyphTypeface. Holds a reference to **OpenTypeDescriptor** to get all information about a the font face. -This is possible because once loaded font faces persists in memory. +This is possible because once loaded font faces persist in memory. Holds a reference to **XGlyphTypeface**. That keeps the reference to the font face. In contrast to an **XGlyphTypeface** a font holds the following additional information. * The font em-size used for rendering the font. @@ -152,7 +152,7 @@ Holds a reference ... The class **PdfCIDFont** represents character encoded PDF fonts. It is used together with **PdfType0Font** to represent text in a content by a sequence of the -glyph ids of the Unicode code points of the original UTF-32 encoded text. +glyph IDs of the Unicode code points of the original UTF-32 encoded text. ### PdfTrueTypeFont : PdfFont @@ -165,7 +165,7 @@ but the character set is limited to (roughly) ANSI characters (codepage 1252). The class **PdfType0Font** represents a PDF font dictionary derived from **PdfCIDFont**. Together with **PdfCIDFont** t is used to represent text in a content stream by a sequende of -glyph ids of the Unicode code points of the original text. This class hold the reference to the +glyph IDs of the Unicode code points of the original text. This class hold the reference to the ToUnicode map. ### sealed PdfFontDescriptor : PdfDictionary diff --git a/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/DeviceInfos.cs b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/DeviceInfos.cs new file mode 100644 index 00000000..88e89fdb --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/DeviceInfos.cs @@ -0,0 +1,102 @@ +// PDFsharp - A .NET library for processing PDF +// See the LICENSE file in the solution root for more information. + +using System; +using System.Runtime.InteropServices; +using System.Text; +using System.Security; +//using System.Security.Permissions; + +#if GDI +namespace PdfSharp.Forms +{ + /// + /// Contains information about a physical device like a display or a printer. + /// + public struct DeviceInfos + { + /// + /// Width, in millimeters, of the physical screen or device. + /// + public int HorizontalSize; + + /// + /// Height, in millimeters, of the physical screen or device. + /// + public int VerticalSize; + + /// + /// Width, in pixels, of the screen or device. + /// + public int HorizontalResolution; + + /// + /// Height, in pixels, of the screen or device. + /// + public int VerticalResolution; + + /// + /// Number of pixels per logical inch along the screen or device width. + /// + public int LogicalDpiX; + + /// + /// Number of pixels per logical inch along the screen or device height. + /// + public int LogicalDpiY; + + /// + /// Number of pixels per physical inch along the screen or device width. + /// + public float PhysicalDpiX; + + /// + /// Number of pixels per physical inch along the screen or device height. + /// + public float PhysicalDpiY; + + /// + /// The ratio of LogicalDpiX and PhysicalDpiX. + /// + public float ScaleX; + + /// + /// The ratio of LogicalDpiY and PhysicalDpiY. + /// + public float ScaleY; + + /// + /// Gets a DeviceInfo for the specifed device context. + /// + [SuppressUnmanagedCodeSecurity] + public static DeviceInfos GetInfos(IntPtr hdc) + { + DeviceInfos devInfo; + + devInfo.HorizontalSize = GetDeviceCaps(hdc, HORZSIZE); + devInfo.VerticalSize = GetDeviceCaps(hdc, VERTSIZE); + devInfo.HorizontalResolution = GetDeviceCaps(hdc, HORZRES); + devInfo.VerticalResolution = GetDeviceCaps(hdc, VERTRES); + devInfo.LogicalDpiX = GetDeviceCaps(hdc, LOGPIXELSX); + devInfo.LogicalDpiY = GetDeviceCaps(hdc, LOGPIXELSY); + devInfo.PhysicalDpiX = devInfo.HorizontalResolution * 25.4f / devInfo.HorizontalSize; + devInfo.PhysicalDpiY = devInfo.VerticalResolution * 25.4f / devInfo.VerticalSize; + devInfo.ScaleX = devInfo.LogicalDpiX / devInfo.PhysicalDpiX; + devInfo.ScaleY = devInfo.LogicalDpiY / devInfo.PhysicalDpiY; + + return devInfo; + } + + [DllImport("gdi32.dll")] + static extern int GetDeviceCaps(IntPtr hdc, int capability); + // ReSharper disable InconsistentNaming + const int HORZSIZE = 4; + const int VERTSIZE = 6; + const int HORZRES = 8; + const int VERTRES = 10; + const int LOGPIXELSX = 88; + const int LOGPIXELSY = 90; + // ReSharper restore InconsistentNaming + } +} +#endif diff --git a/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/PagePreview.cs b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/PagePreview.cs new file mode 100644 index 00000000..a162bca9 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/PagePreview.cs @@ -0,0 +1,1051 @@ +// PDFsharp - A .NET library for processing PDF +// See the LICENSE file in the solution root for more information. + +// Draw crosses to check layout calculation +#define DRAW_X_ + +#if DEBUG +// Test drawing in a bitmap. This is just a hack - don't use it! +#define DRAW_BMP_ +#endif + +using System; +using System.Diagnostics; +using System.ComponentModel; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; +using PdfSharp.Drawing; + +#if !GDI +#error This file must only be included in GDI build. +#endif + +namespace PdfSharp.Forms +{ + /* TODOs + * + * o Call render event only once. -> introduce an UpdatePage() function + * + * Further stuff: set printable area; set text box (smallest rect that contains all content) + */ + /// + /// Represents a preview control for an XGraphics page. Can be used as an alternative to + /// System.Windows.Forms.PrintPreviewControl. + /// + public class PagePreview : UserControl + { + /// + /// A delegate for invoking the render function. + /// + public delegate void RenderEvent(XGraphics gfx); + + private Container components = null!; + + /// + /// Initializes a new instance of the class. + /// + public PagePreview() + { + _canvas = new PagePreviewCanvas(this); + Controls.Add(_canvas); + + _hScrollBar = new HScrollBar(); + _hScrollBar.Visible = _showScrollbars; + _hScrollBar.Scroll += OnScroll; + _hScrollBar.ValueChanged += OnValueChanged; + Controls.Add(_hScrollBar); + + _vScrollBar = new VScrollBar(); + _vScrollBar.Visible = _showScrollbars; + _vScrollBar.Scroll += OnScroll; + _vScrollBar.ValueChanged += OnValueChanged; + Controls.Add(_vScrollBar); + + InitializeComponent(); + //OnLayout(); + + _zoom = Zoom.FullPage; + _printableArea = new RectangleF(); + //virtPageSize = new Size(); + //showNonPrintableArea = false; + //virtualPrintableArea = new Rectangle(); + + _printableArea.GetType(); + //showNonPrintableArea.GetType(); + //virtualPrintableArea.GetType(); + + // Prevent bogus compiler warnings + _posOffset = new Point(); + _virtualPage = new Rectangle(); + } + + readonly PagePreviewCanvas _canvas; + readonly HScrollBar _hScrollBar; + readonly VScrollBar _vScrollBar; + + /// + /// Clean up any resources being used. + /// + protected override void Dispose(bool disposing) + { + if (disposing) + { + if (components != null!) + components.Dispose(); + } + base.Dispose(disposing); + } + + /// + /// Gets or sets the border style of the control. + /// + /// + [DefaultValue((int)BorderStyle.Fixed3D), Description("Determines the style of the border."), Category("Preview Properties")] + public new BorderStyle BorderStyle + { + get { return _borderStyle; } + set + { + if (!Enum.IsDefined(typeof(BorderStyle), value)) + throw new InvalidEnumArgumentException("value", (int)value, typeof(BorderStyle)); + + if (value != _borderStyle) + { + _borderStyle = value; + LayoutChildren(); + } + } + } + BorderStyle _borderStyle = BorderStyle.Fixed3D; + + // [DefaultValue(2), Description("TODO..."), Category("Preview Properties")] + // public PageSize PageSize + // { + // get { return pageSize2; } + // set + // { + // if (!Enum.IsDefined(typeof(PageSize), value)) + // throw new InvalidEnumArgumentException("value", (int)value, typeof(PageSize)); + // + // if (value != pageSize2) + // { + // pageSize2 = value; + // // base.RecreateHandle(); + // // integralHeightAdjust = true; + // // try + // // { + // // base.Height = requestedHeight; + // // } + // // finally + // // { + // // integralHeightAdjust = false; + // // } + // } + // } + // } + // PageSize pageSize2; + + /// + /// Gets or sets the XGraphicsUnit of the page. + /// The default value is XGraphicsUnit.Point. + /// + public XGraphicsUnit PageGraphicsUnit + { + get { return _pageGraphicsUnit; } + set { _pageGraphicsUnit = value; } + } + XGraphicsUnit _pageGraphicsUnit = XGraphicsUnit.Point; + + /// + /// This property was renamed. Use new property PageGraphicsUnit. + /// + [Obsolete("Property renamed, use PageGraphicsUnit")] + public XGraphicsUnit PageUnit + { + get { return _pageGraphicsUnit; } + set { _pageGraphicsUnit = value; } + } + + /// + /// Gets or sets a predefined zoom factor. + /// + [DefaultValue((int)Zoom.FullPage), Description("Determines the zoom of the page."), Category("Preview Properties")] + public Zoom Zoom + { + get { return _zoom; } + set + { + if ((int)value < (int)Zoom.Mininum || (int)value > (int)Zoom.Maximum) + { + if (!Enum.IsDefined(typeof(Zoom), value)) + throw new InvalidEnumArgumentException("value", (int)value, typeof(Zoom)); + } + if (value != _zoom) + { + _zoom = value; + CalculatePreviewDimension(); + SetScrollBarRange(); + _canvas.Invalidate(); + } + } + } + Zoom _zoom; + + /// + /// Gets or sets an arbitrary zoom factor. The range is from 10 to 800. + /// + //[DefaultValue((int)Zoom.FullPage), Description("Determines the zoom of the page."), Category("Preview Properties")] + public int ZoomPercent + { + get { return _zoomPercent; } + set + { + if (value < (int)Zoom.Mininum || value > (int)Zoom.Maximum) + throw new ArgumentOutOfRangeException("value", value, + String.Format("Value must between {0} and {1}.", (int)Zoom.Mininum, (int)Zoom.Maximum)); + + if (value != _zoomPercent) + { + _zoom = (Zoom)value; + _zoomPercent = value; + CalculatePreviewDimension(); + SetScrollBarRange(); + _canvas.Invalidate(); + } + } + } + int _zoomPercent; + + /// + /// Gets or sets the color of the page. + /// + [Description("The background color of the page."), Category("Preview Properties")] + public Color PageColor + { + get { return _pageColor; } + set + { + if (value != _pageColor) + { + _pageColor = value; + Invalidate(); + } + } + } + Color _pageColor = Color.GhostWhite; + + /// + /// Gets or sets the color of the desktop. + /// + [Description("The color of the desktop."), Category("Preview Properties")] + public Color DesktopColor + { + get { return _desktopColor; } + set + { + if (value != _desktopColor) + { + _desktopColor = value; + Invalidate(); + } + } + } + internal Color _desktopColor = SystemColors.ControlDark; + + /// + /// Gets or sets a value indicating whether the scrollbars are visible. + /// + [DefaultValue(true), Description("Determines whether the scrollbars are visible."), Category("Preview Properties")] + public bool ShowScrollbars + { + get { return _showScrollbars; } + set + { + if (value != _showScrollbars) + { + _showScrollbars = value; + _hScrollBar.Visible = value; + _vScrollBar.Visible = value; + LayoutChildren(); + } + } + } + bool _showScrollbars = true; + + /// + /// Gets or sets a value indicating whether the page is visible. + /// + [DefaultValue(true), Description("Determines whether the page visible."), Category("Preview Properties")] + public bool ShowPage + { + get { return _showPage; } + set + { + if (value != _showPage) + { + _showPage = value; + _canvas.Invalidate(); + } + } + } + internal bool _showPage = true; + + /// + /// Gets or sets the page size in point. + /// + [Description("Determines the size (in points) of the page."), Category("Preview Properties")] + public XSize PageSize + { + get { return new XSize((int)_pageSize.Width, (int)_pageSize.Height); } + set + { + _pageSize = new SizeF((float)value.Width, (float)value.Height); + CalculatePreviewDimension(); + Invalidate(); + } + } + + /// + /// This is a hack for Visual Studio 2008. The designer uses reflection for setting the PageSize property. + /// This fails, even an implicit operator that converts Size to XSize exits. + /// + public Size PageSizeF + { + get { return new Size(Convert.ToInt32(_pageSize.Width), Convert.ToInt32(_pageSize.Height)); } + set + { + _pageSize = value; + CalculatePreviewDimension(); + Invalidate(); + } + } + + /// + /// Sets a delegate that is invoked when the preview wants to be painted. + /// + public void SetRenderFunction(Action renderEvent) + { + _renderAction = renderEvent; + Invalidate(); + } + Action _renderAction = null!; + + /// + /// Sets a delegate that is invoked when the preview wants to be painted. + /// + [Obsolete("Use SetRenderFunction")] + public void SetRenderEvent(RenderEvent renderEvent) + { + _renderAction = new Action(renderEvent); + Invalidate(); + } + + #region Component Designer generated code + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + Name = "PagePreview"; + Size = new System.Drawing.Size(228, 252); + } + #endregion + + /// + /// Raises the ZoomChanged event when the zoom factor changed. + /// + protected virtual void OnZoomChanged(EventArgs e) + { + if (ZoomChanged != null!) + ZoomChanged(this, e); + } + + /// + /// Occurs when the zoom factor changed. + /// + public event EventHandler ZoomChanged = null!; + + /// + /// Paints the background with the sheet of paper. + /// + protected override void OnPaintBackground(PaintEventArgs e) + { + // Accurate drawing prevents flickering + Graphics gfx = e.Graphics; + Rectangle clientRect = ClientRectangle; + int d = 0; + switch (_borderStyle) + { + case BorderStyle.FixedSingle: + gfx.DrawRectangle(SystemPens.WindowFrame, clientRect.X, clientRect.Y, clientRect.Width - 1, clientRect.Height - 1); + d = 1; + break; + + case BorderStyle.Fixed3D: + ControlPaint.DrawBorder3D(gfx, clientRect, Border3DStyle.Sunken); + d = 2; + break; + } + if (_showScrollbars) + { + int cxScrollbar = SystemInformation.VerticalScrollBarWidth; + int cyScrollbar = SystemInformation.HorizontalScrollBarHeight; + + gfx.FillRectangle(new SolidBrush(BackColor), + clientRect.Width - cxScrollbar - d, clientRect.Height - cyScrollbar - d, cxScrollbar, cyScrollbar); + } + } + + /// + /// Recalculates the preview dimension. + /// + protected override void OnSizeChanged(EventArgs e) + { + base.OnSizeChanged(e); + CalculatePreviewDimension(); + SetScrollBarRange(); + } + + /// + /// Invalidates the canvas. + /// + protected override void OnInvalidated(InvalidateEventArgs e) + { + base.OnInvalidated(e); + _canvas.Invalidate(); + } + + /// + /// Layouts the child controls. + /// + protected override void OnLayout(LayoutEventArgs levent) + { + LayoutChildren(); + } + + void OnScroll(object? obj, ScrollEventArgs e) + { + ScrollBar? sc = obj as ScrollBar; + if (sc != null) + { + //Debug.WriteLine(String.Format("OnScroll: {0}, {1}", sc.Value, e.NewValue)); + } + } + + void OnValueChanged(object? obj, EventArgs e) + { + ScrollBar? sc = obj as ScrollBar; + if (sc != null) + { + //Debug.WriteLine(String.Format("OnValueChanged: {0}", sc.Value)); + if (sc == _hScrollBar) + _posOffset.X = sc.Value; + + else if (sc == _vScrollBar) + _posOffset.Y = sc.Value; + } + _canvas.Invalidate(); + } + + void LayoutChildren() + { + Invalidate(); + Rectangle clientRect = ClientRectangle; + switch (_borderStyle) + { + case BorderStyle.FixedSingle: + clientRect.Inflate(-1, -1); + break; + + case BorderStyle.Fixed3D: + clientRect.Inflate(-2, -2); + break; + } + int x = clientRect.X; + int y = clientRect.Y; + int cx = clientRect.Width; + int cy = clientRect.Height; + int cxScrollbar = 0; + int cyScrollbar = 0; + if (_showScrollbars && _vScrollBar != null! && _hScrollBar != null!) + { + cxScrollbar = _vScrollBar.Width; + cyScrollbar = _hScrollBar.Height; + _vScrollBar.Location = new Point(x + cx - cxScrollbar, y); + _vScrollBar.Size = new Size(cxScrollbar, cy - cyScrollbar); + _hScrollBar.Location = new Point(x, y + cy - cyScrollbar); + _hScrollBar.Size = new Size(cx - cxScrollbar, cyScrollbar); + } + if (_canvas != null!) + { + _canvas.Location = new Point(x, y); + _canvas.Size = new Size(cx - cxScrollbar, cy - cyScrollbar); + } + } + + /// + /// Calculates all values for drawing the page preview. + /// + internal void CalculatePreviewDimension(out bool zoomChanged) + { + // User may change display resolution while preview is running + Graphics gfx = Graphics.FromHwnd(IntPtr.Zero); + IntPtr hdc = gfx.GetHdc(); + DeviceInfos devInfo = DeviceInfos.GetInfos(hdc); + gfx.ReleaseHdc(hdc); + gfx.Dispose(); + int xdpiScreen = devInfo.LogicalDpiX; + int ydpiScreen = devInfo.LogicalDpiY; + //int cxScrollbar = SystemInformation.VerticalScrollBarWidth; + //int cyScrollbar = SystemInformation.HorizontalScrollBarHeight; + Rectangle rcCanvas = _canvas.ClientRectangle; + + Zoom zoomOld = _zoom; + int zoomPercentOld = _zoomPercent; + + // Border around virtual page in pixel. + const int leftBorder = 2; + const int rightBorder = 4; // because of shadow + const int topBorder = 2; + const int bottomBorder = 4; // because of shadow + const int horzBorders = leftBorder + rightBorder; + const int vertBorders = topBorder + bottomBorder; + + // Calculate new zoom factor. + switch (_zoom) + { + case Zoom.BestFit: + BestFit: + //zoomPercent = Convert.ToInt32(25400.0 * (rcCanvas.Width - (leftBorder + rightBorder)) / (this.pageSize.Width * xdpiScreen)); + _zoomPercent = (int)(7200f * (rcCanvas.Width - horzBorders) / (_pageSize.Width * xdpiScreen)); + //--zoomPercent; // prevent round up errors + break; + + case Zoom.TextFit: + // TODO_OLD: 'public Rectangle TextBox' property + goto BestFit; + //zoomPercent = LongFromReal (25400.0 / (_cxUsedPage + 0) * + // (rcWnd.CX () - 2 * cxScrollbar) / xdpiScreen) - 3; + //break; + + case Zoom.FullPage: + { + //int zoomX = Convert.ToInt32(25400.0 / (pageSize.Width) * + // (rcCanvas.Width - (leftBorder + rightBorder)) / xdpiScreen); + //int zoomY = Convert.ToInt32(25400.0 / (pageSize.Height) * + // (rcCanvas.Height - (topBorder + bottomBorder)) / ydpiScreen); + int zoomX = (int)(7200f * (rcCanvas.Width - horzBorders) / (_pageSize.Width * xdpiScreen)); + int zoomY = (int)(7200f * (rcCanvas.Height - vertBorders) / (_pageSize.Height * ydpiScreen)); + _zoomPercent = Math.Min(zoomX, zoomY); + //--zoomPercent; // prevent round up errors + } + break; + + case Zoom.OriginalSize: + _zoomPercent = (int)(0.5 + 200f / (devInfo.ScaleX + devInfo.ScaleY)); + _zoomPercent = (int)(0.5 + 100f / devInfo.ScaleX); + break; + + default: + _zoomPercent = (int)_zoom; + break; + } + + // Bound to zoom limits + _zoomPercent = Math.Max(Math.Min(_zoomPercent, (int)Zoom.Maximum), (int)Zoom.Mininum); + if ((int)_zoom > 0) + _zoom = (Zoom)_zoomPercent; + + // Size of page in preview window in pixel + _virtualPage.X = leftBorder; + _virtualPage.Y = topBorder; + _virtualPage.Width = (int)(_pageSize.Width * xdpiScreen * _zoomPercent / 7200); + _virtualPage.Height = (int)(_pageSize.Height * ydpiScreen * _zoomPercent / 7200); + + //// 2540 := (25.4mm * 100%) / 1mm + //m_VirtualPrintableArea.X = (int)printableArea.X * this.zoomPercent * xdpiScreen / 2540; + //m_VirtualPrintableArea.Y = (int)printableArea.Y * this.zoomPercent * xdpiScreen / 2540; + //m_VirtualPrintableArea.Width = (int)printableArea.Width * this.zoomPercent * xdpiScreen / 2540; + //m_VirtualPrintableArea.Height = (int)printableArea.Height * this.zoomPercent * xdpiScreen / 2540; + + // Border do not depend on zoom anymore + _virtualCanvas = new Size(_virtualPage.Width + horzBorders, _virtualPage.Height + vertBorders); + + // Adjust virtual canvas to at least actual window size + if (_virtualCanvas.Width < rcCanvas.Width) + { + _virtualCanvas.Width = rcCanvas.Width; + _virtualPage.X = leftBorder + (rcCanvas.Width - horzBorders - _virtualPage.Width) / 2; + } + if (_virtualCanvas.Height < rcCanvas.Height) + { + _virtualCanvas.Height = rcCanvas.Height; + _virtualPage.Y = topBorder + (rcCanvas.Height - vertBorders - _virtualPage.Height) / 2; + } + + zoomChanged = zoomOld != _zoom || zoomPercentOld != _zoomPercent; + if (zoomChanged) + OnZoomChanged(new EventArgs()); + } + + internal void CalculatePreviewDimension() + { + bool zoomChanged; + CalculatePreviewDimension(out zoomChanged); + } + + internal bool RenderPage(Graphics gfx) + { + //delete m_RenderContext; + //m_RenderContext = new HdcRenderContext(wdc.m_hdc); + + gfx.TranslateTransform(-_posOffset.X, -_posOffset.Y); + gfx.SetClip(new Rectangle(_virtualPage.X + 1, _virtualPage.Y + 1, _virtualPage.Width - 1, _virtualPage.Height - 1)); + + float scaleX = _virtualPage.Width / _pageSize.Width; + float scaleY = _virtualPage.Height / _pageSize.Height; + + //gfx.SetSmoothingMode(SmoothingModeAntiAlias); + //PaintBackground(gfx); + +#if DRAW_BMP + Matrix matrix = new Matrix(); + matrix.Translate(virtualPage.X, virtualPage.Y); + matrix.Translate(-posOffset.X, -this.posOffset.Y); + //matrix.Scale(scaleX, scaleY); + gfx.Transform = matrix; + +#if DRAW_X + gfx.DrawLine(Pens.Red, 0, 0, pageSize.Width, pageSize.Height); + gfx.DrawLine(Pens.Red, 0, pageSize.Height, pageSize.Width, 0); +#endif + if (renderEvent != null) + { + Bitmap bmp = new Bitmap(virtualPage.Width, this.virtualPage.Height, gfx); + Graphics gfx2 = Graphics.FromImage(bmp); + gfx2.Clear(pageColor); + gfx2.ScaleTransform(scaleX, scaleY); + gfx2.SmoothingMode = SmoothingMode.HighQuality; + XGraphics xgfx = XGraphics.FromGraphics(gfx2, new XSize(pageSize.Width, this.pageSize.Height)); + try + { + renderEvent(xgfx); + gfx.DrawImage(bmp, 0, 0); + } + finally + { + bmp.Dispose(); + } + } +#else + Matrix matrix = new Matrix(); + matrix.Translate(_virtualPage.X, _virtualPage.Y); + matrix.Translate(-_posOffset.X, -_posOffset.Y); + matrix.Scale(scaleX, scaleY); + gfx.Transform = matrix; + +#if DRAW_X + gfx.DrawLine(Pens.Red, 0, 0, pageSize.Width, pageSize.Height); + gfx.DrawLine(Pens.Red, 0, pageSize.Height, pageSize.Width, 0); +#endif + + if (_renderAction != null!) + { + gfx.SmoothingMode = SmoothingMode.HighQuality; + XGraphics xgfx = XGraphics.FromGraphics(gfx, new XSize(_pageSize.Width, _pageSize.Height), PageGraphicsUnit, null!); + try + { + _renderAction(xgfx); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Exception"); + } + } +#endif + + // Old C++ stuff, may be useful later... +#if false + switch (m_mode) + { + case RenderModeDirect: + { + delete m_PreviewMetafile; + m_PreviewMetafile = NULL; + + float cxPage = Metric::MillimetersToPoints(m_dimPage.cx / 10.0f); + float cyPage = Metric::MillimetersToPoints(m_dimPage.cy / 10.0f); + + float scaleX = virtualPage.Width / cxPage; + float scaleY = virtualPage.Height / cyPage; + + Graphics gfx(m_RenderContext); + gfx.SetSmoothingMode(SmoothingModeAntiAlias); + PaintBackground(gfx, &virtualPage); + + Matrix matrix; + matrix.Translate((float)virtualPage.X, (float)virtualPage.Y); + matrix.Translate((float) - m_posOffset.x, (float) -m_posOffset.y); + matrix.Scale(scaleX, scaleY); + + m_RenderContext->SetDefaultViewMatrix(&matrix); + gfx.ResetTransform(); + if (m_PreviewRenderer && m_PreviewRenderer->CanRender()) + m_PreviewRenderer->Render(&gfx, m_Page); + } + break; + + case RenderModeMetafile: + { + Graphics gfx(m_RenderContext); + if (m_PreviewMetafile == NULL) + { + float cxPage = Metric::MillimetersToPoints(m_dimPage.cx / 10.0f); + float cyPage = Metric::MillimetersToPoints(m_dimPage.cy / 10.0f); + + //float factor = 72.0f / 96.0f; + Rect rcLogicalPage(0, 0, (int)cxPage, (int)cyPage); + RectF rcFLogicalPage(0, 0, cxPage, cyPage); + + //DeviceName devname; + //DESKTOP::QueryDefaultPrinter(devname); //HACK DRUCKER MUSS DA SEIN! + //DeviceMode devmode(devname); + + //HDC hdc = ::CreateIC(devname.m_szDriver, devname.m_szDevice, devname.m_szOutput, devmode.m_pdm); + + //HDC hdc = m_Graphics->GetHDC(); + //HDC hdc = ::GetDC(NULL); + HDC hdc = ::CreateIC("DISPLAY", NULL, NULL, NULL); + + + float dpiX = gfx.GetDpiX(); + float dpiY = gfx.GetDpiY(); + + // Even Petzold would be surprised about that... + // Display | LaserJet + // DPI 96 : 120 | 300 + // physical device size in MM --------------------------------------------- + int horzSizeMM = ::GetDeviceCaps(hdc, HORZSIZE); // = 330 : 254 | 198 (not 210) + int vertSizeMM = ::GetDeviceCaps(hdc, VERTSIZE); // = 254 : 203 | 288 (hot 297) + + // device size in pixel + int horzSizePixel = ::GetDeviceCaps(hdc, HORZRES); // = 1280 : 1280 | 4676 + int vertSizePixel = ::GetDeviceCaps(hdc, VERTRES); // = 1024 : 1024 | 6814 + + // 'logical' device resolution in DPI + int logResX = ::GetDeviceCaps(hdc, LOGPIXELSX); // = 96 : 120 | 600 + int logResY = ::GetDeviceCaps(hdc, LOGPIXELSY); // = 96 : 120 | 600 + + // physical pixel size in .01 MM units + // accidentally(?) the result of GetPhysicalDimension! + //float X1 = 100.0f * horzSizeMM / horzSizePixel; // = 25.781250 : 19.843750 | 4.2343884 + //float Y1 = 100.0f * vertSizeMM / vertSizePixel; // = 24.804688 : 19.824219 | 4.2265925 + + // now we can get the 'physical' device resolution... + float phyResX = horzSizePixel / (horzSizeMM / 25.4f); // = 98.521210 : 128.00000 | 599.85052 + float phyResY = vertSizePixel / (vertSizeMM / 25.4f); // = 102.40000 : 128.12611 | 600.95691 + + // ...and rescale the size of the meta rectangle. + float magicX = logResX / phyResX; // = 0.97440946 : 0.93750000 | 1.0002491 + float magicY = logResY / phyResY; // = 0.93750000 : 0.93657720 | 0.99840766 + + // use A4 page in point + // adjust size of A4 page so that meta file fits with DrawImage... + RectF rcMagic(0, 0, magicX * cxPage, magicY * cyPage); + m_PreviewMetafile = new Metafile(hdc, rcMagic, MetafileFrameUnitPoint, + EmfTypeEmfPlusOnly, L"some description"); + + SizeF size; + float horzRes, vertRes; + float height, width; + MetafileHeader metafileHeader; + + // GetPhysicalDimension returns physical size of a pixel in .01 MM units!! + m_PreviewMetafile->GetPhysicalDimension(&size); + + horzRes = (float)m_PreviewMetafile->GetHorizontalResolution(); + vertRes = (float)m_PreviewMetafile->GetVerticalResolution(); + height = (float)m_PreviewMetafile->GetHeight(); + width = (float)m_PreviewMetafile->GetWidth(); + m_PreviewMetafile->GetMetafileHeader(&metafileHeader); + + Graphics gfxMf(m_PreviewMetafile); + dpiX = gfxMf.GetDpiX(); + dpiY = gfxMf.GetDpiY(); + + m_PreviewMetafile->GetPhysicalDimension(&size); + horzRes = (float)m_PreviewMetafile->GetHorizontalResolution(); + vertRes = (float)m_PreviewMetafile->GetVerticalResolution(); + height = (float)m_PreviewMetafile->GetHeight(); + width = (float)m_PreviewMetafile->GetWidth(); + m_PreviewMetafile->GetMetafileHeader(&metafileHeader); + + gfxMf.SetPageUnit(UnitPoint); + if (m_PreviewRenderer && m_PreviewRenderer->CanRender()) + m_PreviewRenderer->Render(&gfxMf, m_Page); + + ::DeleteDC(hdc); + } + if (m_PreviewMetafile) + { + gfx.SetSmoothingMode(SmoothingModeAntiAlias); + PaintBackground(gfx, &virtualPage); + //Matrix matrix(1, 0, 0, 1, (float) - m_posOffset.x, (float) - m_posOffset.y); + m_RenderContext->SetDefaultViewMatrix(&matrix); + gfx.ResetTransform(); + gfx.DrawImage(m_PreviewMetafile, virtualPage); + } + } + break; + + case RenderModeBitmap: + break; + } +#endif + return true; + } + + /// + /// Paints the background and the empty page. + /// + internal void PaintBackground(Graphics gfx) + { + // Draw sharp paper borders and shadow. + gfx.SmoothingMode = SmoothingMode.None; + //gfx.SetCompositingMode(CompositingModeSourceOver); // CompositingModeSourceCopy + //gfx.SetCompositingQuality(CompositingQualityHighQuality); + + gfx.TranslateTransform(-_posOffset.X, -_posOffset.Y); + + // Draw outer area. Use clipping to prevent flickering of page interior. + gfx.SetClip(new Rectangle(_virtualPage.X, _virtualPage.Y, _virtualPage.Width + 3, _virtualPage.Height + 3), CombineMode.Exclude); + gfx.SetClip(new Rectangle(_virtualPage.X + _virtualPage.Width + 1, _virtualPage.Y, 2, 2), CombineMode.Union); + gfx.SetClip(new Rectangle(_virtualPage.X, _virtualPage.Y + _virtualPage.Height + 1, 2, 2), CombineMode.Union); + gfx.Clear(_desktopColor); + +#if DRAW_X + gfx.DrawLine(Pens.Blue, 0, 0, virtualCanvas.Width, virtualCanvas.Height); + gfx.DrawLine(Pens.Blue, virtualCanvas.Width, 0, 0, virtualCanvas.Height); +#endif + gfx.ResetClip(); + +#if !DRAW_BMP + // Fill page interior. + SolidBrush brushPaper = new SolidBrush(_pageColor); + gfx.FillRectangle(brushPaper, _virtualPage.X + 1, _virtualPage.Y + 1, _virtualPage.Width - 1, _virtualPage.Height - 1); +#endif + + //// draw non printable area + //if (m_ShowNonPrintableArea) + //{ + //SolidBrush brushNPA(+DESKTOP::QuerySysColor((SYSCLR_3DLIGHT)) | 0xFF000000); + // + //gfx.FillRectangle(&brushNPA, virtualPage.X, virtualPage.Y, virtualPage.Width, rcPrintableArea.Y - virtualPage.Y); + //gfx.FillRectangle(&brushNPA, virtualPage.X, virtualPage.Y, rcPrintableArea.X - virtualPage.X, virtualPage.Height); + //gfx.FillRectangle(&brushNPA, rcPrintableArea.X + rcPrintableArea.Width, + //virtualPage.Y, virtualPage.X + virtualPage.Width - (rcPrintableArea.X + rcPrintableArea.Width), virtualPage.Height); + //gfx.FillRectangle(&brushNPA, virtualPage.X, rcPrintableArea.Y + rcPrintableArea.Height, + //virtualPage.Width, virtualPage.Y + virtualPage.Height - (rcPrintableArea.Y + rcPrintableArea.Height)); + //} + //DrawDash(gfx, virtualPage); + + // Draw page border and shadow. + Pen penPaperBorder = SystemPens.WindowText; + Brush brushShadow = SystemBrushes.ControlDarkDark; + gfx.DrawRectangle(penPaperBorder, _virtualPage); + gfx.FillRectangle(brushShadow, _virtualPage.X + _virtualPage.Width + 1, _virtualPage.Y + 2, 2, _virtualPage.Height + 1); + gfx.FillRectangle(brushShadow, _virtualPage.X + 2, _virtualPage.Y + _virtualPage.Height + 1, _virtualPage.Width + 1, 2); + } + + /// + /// Check clipping rectangle calculations. + /// + [Conditional("DEBUG")] + void DrawDash(Graphics gfx, Rectangle rect) + { + Pen pen = new Pen(Color.GreenYellow, 1); + pen.DashStyle = DashStyle.Dash; + gfx.DrawRectangle(pen, rect); + } + + /// + /// Adjusts scroll bars. + /// + void SetScrollBarRange() + { + // Windows 7 issue: Must invalidate scroll bars to ensure that + // the arrows are painted correctly. + + Rectangle clientRect = _canvas.ClientRectangle; + Size clientAreaSize = clientRect.Size; + + // Scroll range + int dx = _virtualCanvas.Width - clientAreaSize.Width; + int dy = _virtualCanvas.Height - clientAreaSize.Height; + + //bool extendX = clientAreaSize.Width < virtualCanvas.Width; + //bool extendY = clientAreaSize.Height < virtualCanvas.Height; + + if (ShowScrollbars && _hScrollBar != null!) + { + if (_posOffset.X > dx) + _hScrollBar.Value = _posOffset.X = dx; + + if (dx > 0) + { + _hScrollBar.Minimum = 0; + _hScrollBar.Maximum = _virtualCanvas.Width; + _hScrollBar.SmallChange = clientAreaSize.Width / 10; + _hScrollBar.LargeChange = clientAreaSize.Width; + _hScrollBar.Enabled = true; + } + else + { + _hScrollBar.Minimum = 0; + _hScrollBar.Maximum = 0; + _hScrollBar.Enabled = false; + } + _hScrollBar.Invalidate(); + } + + if (ShowScrollbars && _vScrollBar != null!) + { + if (_posOffset.Y > dy) + _vScrollBar.Value = _posOffset.Y = dy; + + if (dy > 0) + { + _vScrollBar.Minimum = 0; + _vScrollBar.Maximum = _virtualCanvas.Height; + _vScrollBar.SmallChange = clientAreaSize.Height / 10; + _vScrollBar.LargeChange = clientAreaSize.Height; + _vScrollBar.Enabled = true; + } + else + { + _vScrollBar.Minimum = 0; + _vScrollBar.Maximum = 0; + _vScrollBar.Enabled = false; + } + _vScrollBar.Invalidate(); + } + } + + ///// + ///// Calculates two interesting values... + ///// + //public static void GetMagicValues(IntPtr hdc, out float magicX, out float magicY) + //{ + // // Even Petzold would be surprised about that... + + // // Physical device size in MM + // int horzSizeMM = GetDeviceCaps(hdc, HORZSIZE); + // int vertSizeMM = GetDeviceCaps(hdc, VERTSIZE); + // // + // // Display size in pixels 1600 x 1200 1280 x 1024 + // // + // // My old Sony display with 96 DPI: --- 330 x 254 + // // My old Sony display with 120 DPI: --- 254 x 203 + // // My current Sony display with 96 DPI: 410 x 310 410 x 310 + // // My current Sony display with 120 DPI: 410 x 310 410 x 310 + // // My old Sony display with 96 DPI: --- 360 x 290 + // // My old Sony display with 120 DPI: --- 360 x 290 + // // My LaserJet 6L (300 DPI): 198 (not 210) x 288 (nscot 297) + + + // // Device size in pixel + // int horzSizePixel = GetDeviceCaps(hdc, HORZRES); + // int vertSizePixel = GetDeviceCaps(hdc, VERTRES); + // // + // // Display size in pixels 1600 x 1200 1280 x 1024 + // // + // // My old Sony display with 96 DPI: --- 1280 x 1024 + // // My old Sony display with 120 DPI: --- 1280 x 1024 + // // My current Sony display with 96 DPI: 1600 x 1200 1280 x 1024 + // // My current Sony display with 120 DPI: 1600 x 1200 1280 x 1024 + // // + // // My LaserJet 6L (600 DPI): 4676 x 6814 + + // // 'logical' device resolution in DPI + // int logResX = GetDeviceCaps(hdc, LOGPIXELSX); + // int logResY = GetDeviceCaps(hdc, LOGPIXELSY); + // // + // // Display size in pixels 1600 x 1200 1280 x 1024 + // // + // // My old Sony display with 96 DPI: --- 96 x 96 + // // My old Sony display with 120 DPI: --- 120 x 120 + // // My current Sony display with 96 DPI: 96 x 96 96 x 96 + // // My current Sony display with 120 DPI: 120 x 120 120 x 120 + // // + // // My LaserJet 6L (600 DPI): 600 x 600 + + // // physical pixel size in .01 MM units + // // accidentally(?) the result of GetPhysicalDimension! + // //float X1 = 100.0f * horzSizeMM / horzSizePixel; // = 25.781250 : 19.843750 | 4.2343884 + // //float Y1 = 100.0f * vertSizeMM / vertSizePixel; // = 24.804688 : 19.824219 | 4.2265925 + + // // Now we can get the 'physical' device resolution... + // float phyResX = horzSizePixel / (horzSizeMM / 25.4f); + // float phyResY = vertSizePixel / (vertSizeMM / 25.4f); + // // + // // Display size in pixels 1600 x 1200 1280 x 1024 + // // + // // My old Sony display with 96 DPI: --- 98.521210 x 102.40000 + // // My old Sony display with 120 DPI: --- 128.00000 x 128.12611 + // // My current Sony display with 96 DPI: 99.12195 x 98.32258 79.29756 x 83.90193 + // // My current Sony display with 120 DPI: 99.12195 x 98.32258 79.29756 x 83.90193 + // // + // // My LaserJet 6L (600 DPI): 599.85052 x 600.95691 + + // // ...and rescale the size of the meta rectangle. + // magicX = logResX / phyResX; + // magicY = logResY / phyResY; + // // + // // Display size in pixels 1600 x 1200 1280 x 1024 + // // + // // My old Sony display with 96 DPI: --- 0.97440946 x 0.93750000 + // // My old Sony display with 120 DPI: --- 0.93750000 x 0.93657720 + // // My current Sony display with 96 DPI: 0.968503952 x 0.976377964 1.21062994 x 1.14419293 + // // My current Sony display with 120 DPI: 1.21062994 x 1.22047246 1.51328743 x 1.43024123 + // // + // // My LaserJet 6L (600 DPI): 1.0002491 x 0.99840766 + //} + + //[DllImport("gdi32.dll")] + //static extern int GetDeviceCaps(IntPtr hdc, int capability); + //const int HORZSIZE = 4; + //const int VERTSIZE = 6; + //const int HORZRES = 8; + //const int VERTRES = 10; + //const int LOGPIXELSX = 88; + //const int LOGPIXELSY = 90; + + /// + /// Upper left corner of scroll area. + /// + Point _posOffset; + + /// + /// Real page size in point. + /// + SizeF _pageSize = PageSizeConverter.ToSize(PdfSharp.PageSize.A4).ToSizeF(); + + /// + /// Page in pixel relative to virtual canvas. + /// + Rectangle _virtualPage; + + /// + /// The size in pixels of an area that completely contains the virtual page and at least a small + /// border around it. If this area is larger than the canvas window, it is scrolled. + /// + Size _virtualCanvas; + + /// + /// Printable area in point. + /// + readonly RectangleF _printableArea; + } +} diff --git a/src/foundation/src/MigraDoc/src/MigraDoc.Rendering/Rendering/MdPdfMsgs.de.resx b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/PagePreview.resx similarity index 53% rename from src/foundation/src/MigraDoc/src/MigraDoc.Rendering/Rendering/MdPdfMsgs.de.resx rename to src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/PagePreview.resx index 1b7707d9..5d320b1a 100644 --- a/src/foundation/src/MigraDoc/src/MigraDoc.Rendering/Rendering/MdPdfMsgs.de.resx +++ b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/PagePreview.resx @@ -1,9 +1,9 @@ - + - - - - - - - - - - - - - - - - - - - + - @@ -109,52 +89,42 @@ text/microsoft-resx - 2.0 + 1.3 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Ihre Benutzereingaben führten zu einem leeren Bildbereich. - - - Bild nicht gefunden. - - - Bild nicht eingelesen. - - - Die Zahl {0} ist zu groß für eine Darstellung in Buchstaben. + + True - - Lesezeichen '{0}' ist innerhalb des Dokuments nicht definiert. + + False - - Ungültiger Bildtyp: '{0}'. + + False - - Die Zahl {0} ist zu groß für eine Darstellung in römischen Ziffern. + + PagePreview - - Bild '{0}' nicht gefunden. + + False - - '{0}' muss vor dem Aufruf von '{1}' gesetzt werden. + + 80 - - Leerer Bildbereich. + + (Default) - - Ungültiger Bildtyp. + + False - - Nur Bilder, Textrahmen, Diagramme und Absätze können frei gerendert werden. + + Private - - Bild '{0}' konnte nicht eingelesen werden. Es trat eine Ausnahme mit der folgenden Meldung auf: -{1} + + 4, 4 \ No newline at end of file diff --git a/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/PagePreviewCanvas.cs b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/PagePreviewCanvas.cs new file mode 100644 index 00000000..8b17ed04 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/PagePreviewCanvas.cs @@ -0,0 +1,61 @@ +// PDFsharp - A .NET library for processing PDF +// See the LICENSE file in the solution root for more information. + +using System; +using System.Collections; +using System.ComponentModel; +#if GDI +using System.Drawing; +using System.Windows.Forms; +#endif +#if Wpf +using System.Windows.Media; +#endif + +#if !GDI +#error This file must only be included in GDI build. +#endif + +namespace PdfSharp.Forms +{ + /// + /// Implements the control that previews the page. + /// + class PagePreviewCanvas : System.Windows.Forms.Control + { + public PagePreviewCanvas(PagePreview preview) + { + _preview = preview; + SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.DoubleBuffer, true); + } + PagePreview _preview; + + protected override void OnPaint(PaintEventArgs e) + { + if (!_preview._showPage) + return; + + Graphics gfx = e.Graphics; + bool zoomChanged; + _preview.CalculatePreviewDimension(out zoomChanged); + _preview.RenderPage(gfx); + } + + protected override void OnPaintBackground(PaintEventArgs e) + { + if (!_preview._showPage) + { + e.Graphics.Clear(_preview._desktopColor); + return; + } + bool zoomChanged; + _preview.CalculatePreviewDimension(out zoomChanged); + _preview.PaintBackground(e.Graphics); + } + + protected override void OnSizeChanged(EventArgs e) + { + Invalidate(); + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/PagePreviewCanvas.resx b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/PagePreviewCanvas.resx new file mode 100644 index 00000000..3f337e08 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/PagePreviewCanvas.resx @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.0.0.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + diff --git a/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/enums/RenderMode.cs b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/enums/RenderMode.cs new file mode 100644 index 00000000..97adae46 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/enums/RenderMode.cs @@ -0,0 +1,28 @@ +// PDFsharp - A .NET library for processing PDF +// See the LICENSE file in the solution root for more information. + +#if GDI +namespace PdfSharp.Forms +{ + /// + /// Specifies how to render the preview. + /// + public enum RenderMode + { + /// + /// Draw immediately. + /// + Direct = 0, + + /// + /// Draw using a metafile. + /// + Metafile = 1, + + /// + /// Draw using a bitmap image. + /// + Bitmap = 2 + } +} +#endif diff --git a/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/enums/Zoom.cs b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/enums/Zoom.cs new file mode 100644 index 00000000..2cafee8f --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/Forms/enums/Zoom.cs @@ -0,0 +1,94 @@ +// PDFsharp - A .NET library for processing PDF +// See the LICENSE file in the solution root for more information. + +#if GDI +namespace PdfSharp.Forms +{ + /// + /// Defines a zoom factor used in the preview control. + /// + public enum Zoom + { + /// + /// The smallest possible zoom factor. + /// + Mininum = 10, + + /// + /// The largest possible zoom factor. + /// + Maximum = 800, + + /// + /// A pre-defined zoom factor. + /// + Percent800 = 800, + + /// + /// A pre-defined zoom factor. + /// + Percent600 = 600, + + /// + /// A pre-defined zoom factor. + /// + Percent400 = 400, + + /// + /// A pre-defined zoom factor. + /// + Percent200 = 200, + + /// + /// A pre-defined zoom factor. + /// + Percent150 = 150, + + /// + /// A pre-defined zoom factor. + /// + Percent100 = 100, + + /// + /// A pre-defined zoom factor. + /// + Percent75 = 75, + + /// + /// A pre-defined zoom factor. + /// + Percent50 = 50, + + /// + /// A pre-defined zoom factor. + /// + Percent25 = 25, + + /// + /// A pre-defined zoom factor. + /// + Percent10 = 10, + + /// + /// Sets the zoom factor so that the document fits horizontally into the window. + /// + BestFit = -1, + + /// + /// Sets the zoom factor so that the printable area of the document fits horizontally into the window. + /// Currently not yet implemented and the same as ZoomBestFit. + /// + TextFit = -2, + + /// + /// Sets the zoom factor so that the whole document fits completely into the window. + /// + FullPage = -3, + + /// + /// Sets the zoom factor so that the document is displayed in its real physical size (based on the DPI information returned from the OS for the current monitor). + /// + OriginalSize = -4, + } +} +#endif diff --git a/src/foundation/src/PDFsharp/src/PdfSharp-gdi/PdfSharp-gdi.csproj b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/PdfSharp-gdi.csproj index 7a0cb05a..77294d79 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp-gdi/PdfSharp-gdi.csproj +++ b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/PdfSharp-gdi.csproj @@ -13,6 +13,7 @@ + true @@ -405,6 +406,9 @@ + + + diff --git a/src/foundation/src/PDFsharp/src/PdfSharp-wpf/Windows/PagePreview.xaml.cs b/src/foundation/src/PDFsharp/src/PdfSharp-wpf/Windows/PagePreview.xaml.cs index 9e68764e..75b9ce7b 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp-wpf/Windows/PagePreview.xaml.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp-wpf/Windows/PagePreview.xaml.cs @@ -75,7 +75,7 @@ public Canvas Canvas /// /// Sets the render function. /// - public void SetRenderFunction(Action renderFunction, RenderEvents renderEvents) + public void SetRenderFunction(Action renderFunction, RenderEvents? renderEvents = null) { if (canvas.Children.Count > 0) canvas.Children.Clear(); diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/!internal/Directives.cs b/src/foundation/src/PDFsharp/src/PdfSharp/!internal/Directives.cs index 0ca45b67..da95b90e 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/!internal/Directives.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/!internal/Directives.cs @@ -6,12 +6,20 @@ // Checks correct settings and obsolete conditional compilation symbols. // -#if !DEBUG && (TEST_CODE || TEST_CODE_) -// Ensure not to accidentally rename TEST_CODE to TEST_CODE_ -// This would compile code previously disabled with #if TEST_CODE_ -#warning ********************************************************* -#warning ***** TEST_CODE MUST BE UNDEFINED FOR FINAL RELEASE ***** -#warning ********************************************************* +#if !DEBUG && TEST_CODE +#warning *********************************************************** +#warning ***** �TEST_CODE� MUST BE UNDEFINED FOR FINAL RELEASE ***** +#warning *********************************************************** +#endif + +#if TEST_CODE_ // �� +// Ensure not to accidentally rename �TEST_CODE� to �TEST_CODE_�. +// This would compile code previously disabled with �#if TEST_CODE_�. +// Rename �TEST_CODE� always to �TEST_CODE_xxx� in �Directory.Build.targets�. +#warning ***************************************************** +#warning ***** �TEST_CODE_� MUST NEVER BE DEFINED ***** +#warning ***** THIS ACCIDENTALLY ACTIVATES EXCLUDED CODE ***** +#warning ***************************************************** #endif #if GDI && WPF diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Internal/IImageImporter.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Internal/IImageImporter.cs index a92c2298..ce495960 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Internal/IImageImporter.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Internal/IImageImporter.cs @@ -1,6 +1,8 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using Microsoft.Extensions.Logging; +using PdfSharp.Logging; using PdfSharp.Pdf; namespace PdfSharp.Drawing @@ -35,83 +37,103 @@ internal StreamReaderHelper(byte[] data) internal StreamReaderHelper(Stream stream, int streamLength) { - // TODO_OLD: Use the Stream as it is or ensure it is a MemoryStream? -#if CORE || GDI || WPF OriginalStream = stream; - // Only copy when necessary. - //MemoryStream ms; - if (stream is not MemoryStream ms) + + if (stream is MemoryStream ms) { - OwnedMemoryStream = ms = streamLength > -1 ? new MemoryStream(streamLength) : new(); -#if false - CopyStream(stream, ms); -#else - // For .NET 4: - stream.CopyTo(ms); -#endif + // If the given stream is a MemoryStream, work with it. + if (ms.TryGetBuffer(out var buffer)) + { + // Buffer is accessible - use it. + Data = buffer.Array ?? throw new ArgumentNullException(nameof(stream), "Stream has no content byte array."); + Length = (int)ms.Length; + } + else + { + // Buffer of given stream is not accessible, so read stream into new buffer. + OwnedMemoryStream = new(streamLength); + stream.CopyTo(OwnedMemoryStream); + Data = OwnedMemoryStream.GetBuffer(); + Length = (int)OwnedMemoryStream.Length; + PdfSharpLogHost.Logger.LogWarning("LoadImage: MemoryStream with buffer that is not publicly visible was used. " + + "For better performance, set 'publiclyVisible' to true when creating the MemoryStream."); + } } - Data = ms.GetBuffer(); - Length = (int)ms.Length; - if (Data.Length > Length) + else { - var tmp = new Byte[Length]; - Buffer.BlockCopy(Data, 0, tmp, 0, Length); - Data = tmp; + // If the given stream is not a MemoryStream, copy the stream to a new MemoryStream. + if (streamLength > -1) + { + // Simple case: length of stream is known, create a MemoryStream with correct buffer size. + OwnedMemoryStream = new(streamLength); + stream.CopyTo(OwnedMemoryStream); + Data = OwnedMemoryStream.GetBuffer(); + Length = (int)OwnedMemoryStream.Length; + } + else + { + // Complex case: length of stream is not known. + // This only occurs with streams that do not support the Length property. + OwnedMemoryStream = new(); + stream.CopyTo(OwnedMemoryStream); + Data = OwnedMemoryStream.GetBuffer(); + Length = (int)OwnedMemoryStream.Length; + // If buffer is larger than needed, create a new buffer with required size. + if (Data.Length > Length) + { + var tmp = new Byte[Length]; + Buffer.BlockCopy(Data, 0, tmp, 0, Length); + Data = tmp; + } + } } -#else - // For Win_RT there is no GetBuffer() => alternative implementation for Win_RT. - // TODO_OLD: Are there advantages of GetBuffer()? It should reduce LOH fragmentation. - this.stream = stream; - this.stream.Position = 0; - if (this.stream.Length > Int32.MaxValue) - throw new ArgumentException("Stream is too large.", nameof(stream)); - Length = (int)this.stream.Length; - Data = new byte[Length]; - this.stream.Read(Data, 0, Length); -#endif } internal byte GetByte(int offset) { if (CurrentOffset + offset >= Length) - { - Debug.Assert(false); - return 0; - } + throw new InvalidOperationException("Index out of range."); + return Data[CurrentOffset + offset]; } internal ushort GetWord(int offset, bool bigEndian) { - return (ushort)(bigEndian ? - (GetByte(offset) << 8) + GetByte(offset + 1) : - GetByte(offset) + (GetByte(offset + 1) << 8)); + if (CurrentOffset + offset + 1 >= Length) + throw new InvalidOperationException("Index out of range."); + + return (ushort)(bigEndian + ? (Data[CurrentOffset + offset++] << 8) + Data[CurrentOffset + offset] + : Data[CurrentOffset + offset++] + (Data[CurrentOffset + offset] << 8)); } internal uint GetDWord(int offset, bool bigEndian) { - return (uint)(bigEndian ? - (GetWord(offset, true) << 16) + GetWord(offset + 2, true) : - GetWord(offset, false) + (GetWord(offset + 2, false) << 16)); + if (CurrentOffset + offset + 3 >= Length) + throw new InvalidOperationException("Index out of range."); + + // Are you a good developer? + // What’s wrong with this code? + //return (bigEndian + // ? ((uint)Data[CurrentOffset + offset++] << 24) + ((uint)Data[CurrentOffset + offset++] << 16) + // + ((uint)Data[CurrentOffset + offset++] << 8) + Data[CurrentOffset + offset] + // : Data[CurrentOffset + offset++] + ((uint)Data[CurrentOffset + offset++] << 8)) + // + ((uint)Data[CurrentOffset + offset++] << 16) + ((uint)Data[CurrentOffset + offset] << 24); + return (uint)(bigEndian + ? (Data[CurrentOffset + offset++] << 24) + + (Data[CurrentOffset + offset++] << 16) + + (Data[CurrentOffset + offset++] << 8) + + Data[CurrentOffset + offset] + : Data[CurrentOffset + offset++] + + (Data[CurrentOffset + offset++] << 8) + + (Data[CurrentOffset + offset++] << 16) + + (Data[CurrentOffset + offset] << 24)); } - //static void CopyStream(Stream input, Stream output) - //{ - // var buffer = new byte[65536]; - // int read; - // while ((read = input.Read(buffer, 0, buffer.Length)) > 0) - // { - // output.Write(buffer, 0, read); - // } - //} - /// /// Resets this instance. /// - public void Reset() - { - CurrentOffset = 0; - } + public void Reset() => CurrentOffset = 0; /// /// Gets the original stream. @@ -154,19 +176,18 @@ abstract class ImportedImage /// /// Initializes a new instance of the class. /// - protected ImportedImage(IImageImporter importer, ImagePrivateData? data) + protected ImportedImage(ImagePrivateData? data) { Data = data; if (data != null) data.Image = this; - //_importer = importer; } /// /// Initializes a new instance of the class. /// - protected ImportedImage(IImageImporter importer) - : this(importer, null) + protected ImportedImage() + : this(null) { } /// diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Internal/ImageImporterBmp.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Internal/ImageImporterBmp.cs index 27b689b5..a7e6c25b 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Internal/ImageImporterBmp.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Internal/ImageImporterBmp.cs @@ -19,7 +19,7 @@ class ImageImporterBmp : ImageImporterRoot, IImageImporter // Note: TestBitmapFileHeader updates stream.CurrentOffset on success. ImagePrivateDataBitmap ipd = new ImagePrivateDataBitmap(stream.Data, stream.Length); - ImportedImage ii = new ImportedImageBitmap(this, ipd); + ImportedImage ii = new ImportedImageBitmap(ipd); ii.Information.DefaultDPI = 96; // Assume 96 DPI if information not provided in the file. if (TestBitmapInfoHeader(stream, ii, offsetImageData)) @@ -174,8 +174,8 @@ class ImportedImageBitmap : ImportedImage /// /// Initializes a new instance of the class. /// - public ImportedImageBitmap(IImageImporter importer, ImagePrivateDataBitmap data) - : base(importer, data) + public ImportedImageBitmap(ImagePrivateDataBitmap data) + : base(data) { } internal override ImageData PrepareImageData(PdfDocumentOptions options) diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Internal/ImageImporterJpeg.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Internal/ImageImporterJpeg.cs index 667baf67..76330bac 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Internal/ImageImporterJpeg.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Internal/ImageImporterJpeg.cs @@ -26,7 +26,7 @@ class ImageImporterJpeg : ImageImporterRoot, IImageImporter stream.CurrentOffset += 2; var ipd = new ImagePrivateDataDct(stream.Data, stream.Length); - var ii = new ImportedImageJpeg(this, ipd); + var ii = new ImportedImageJpeg(ipd); ii.Information.DefaultDPI = 72; // Assume 72 DPI if information not provided in the file. if (TestJfifHeader(stream, ii)) { @@ -400,8 +400,8 @@ class ImportedImageJpeg : ImportedImage /// /// Initializes a new instance of the class. /// - public ImportedImageJpeg(IImageImporter importer, ImagePrivateDataDct data) - : base(importer, data) + public ImportedImageJpeg(ImagePrivateDataDct data) + : base(data) { } internal override ImageData PrepareImageData(PdfDocumentOptions options) diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Internal/ImageImporterPng.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Internal/ImageImporterPng.cs index 3057e77a..d63d4f0a 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Internal/ImageImporterPng.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Internal/ImageImporterPng.cs @@ -2,7 +2,7 @@ // See the LICENSE file in the solution root for more information. #if CORE -using PdfSharp.BigGustave; +using PdfSharp.Internal.Png.BigGustave; #endif using PdfSharp.Pdf; @@ -25,7 +25,7 @@ class ImageImporterPng : ImageImporterRoot, IImageImporter stream.CurrentOffset = 0; if (TestPngFileHeader(stream)) { - ImportedImage ii = new ImportedImagePng(this); + ImportedImage ii = new ImportedImagePng(); if (TestPngInfoHeader(stream, ii)) { return ii; @@ -551,8 +551,8 @@ class ImportedImagePng : ImportedImage /// /// Initializes a new instance of the class. /// - public ImportedImagePng(IImageImporter importer) - : base(importer) + public ImportedImagePng() + : base() { } internal override ImageData PrepareImageData(PdfDocumentOptions options) diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Layout/XTextFormatter.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Layout/XTextFormatter.cs index b38c583f..bdb8b5f5 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Layout/XTextFormatter.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Layout/XTextFormatter.cs @@ -10,7 +10,7 @@ namespace PdfSharp.Drawing.Layout /// /// Represents a very simple text formatter. /// If this class does not satisfy your needs on formatting paragraphs, I recommend taking a look - /// at MigraDoc Foundation. Alternatively, you should copy this class in your own source code and modify it. + /// at MigraDoc. Alternatively, you should copy this class in your own source code and modify it. /// public class XTextFormatter { diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Pdf/XGraphicsPdfRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Pdf/XGraphicsPdfRenderer.cs index 280f8ff3..32a856c6 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Pdf/XGraphicsPdfRenderer.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Pdf/XGraphicsPdfRenderer.cs @@ -46,7 +46,7 @@ public XGraphicsPdfRenderer(PdfPage page, XGraphics gfx, XGraphicsPdfPageOptions _options = options; _gfx = gfx; _content = new StringBuilder(); - page.RenderContent!._pdfRenderer = this; // NRT + page.RenderContent!.SetRenderer(this); _gfxState = new PdfGraphicsState(this); } @@ -78,17 +78,17 @@ public void Close() var content2 = _page.RenderContent!; // NRT content2.CreateStream(PdfEncoders.RawEncoding.GetBytes(GetContent())); - _gfx = default!; - _page.RenderContent!._pdfRenderer = default!; - _page.RenderContent = default!; - _page = default!; + _gfx = null!; + _page.RenderContent!.SetRenderer(null); + _page.RenderContent = null!; + _page = null!; } else if (_form != null!) { _form._pdfForm!.CreateStream(PdfEncoders.RawEncoding.GetBytes(GetContent())); // NRT - _gfx = default!; - _form.PdfRenderer = default!; - _form = default!; + _gfx = null!; + _form.PdfRenderer = null!; + _form = null!; } } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XGraphics.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XGraphics.cs index 595fbae8..880ed3ef 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XGraphics.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XGraphics.cs @@ -185,7 +185,7 @@ public sealed class XGraphics : IDisposable /// The page unit. /// The page direction. /// The render events. - XGraphics(Canvas canvas, XSize size, XGraphicsUnit pageUnit, XPageDirection pageDirection, RenderEvents renderEvents) + XGraphics(Canvas canvas, XSize size, XGraphicsUnit pageUnit, XPageDirection pageDirection, RenderEvents? renderEvents = null) { //throw new ArgumentNullException("canvas"); if (canvas == null!) @@ -412,7 +412,7 @@ public sealed class XGraphics : IDisposable /// /// Initializes a new instance of the XGraphics class used for drawing on a form. /// - XGraphics(XForm form, RenderEvents renderEvents) + XGraphics(XForm form, RenderEvents? renderEvents = null) { if (form == null!) throw new ArgumentNullException(nameof(form)); @@ -571,7 +571,7 @@ public static XGraphics CreateMeasureContext(XSize size, XGraphicsUnit pageUnit, /// /// Creates a new instance of the XGraphics class from a System.Drawing.Graphics object. /// - public static XGraphics FromGraphics(Graphics graphics, XSize size, RenderEvents renderEvents) + public static XGraphics FromGraphics(Graphics graphics, XSize size, RenderEvents? renderEvents = null) { // Creating a new instance is by design. var gfx = new XGraphics(graphics, size, XGraphicsUnit.Point, XPageDirection.Downwards, renderEvents); @@ -584,7 +584,7 @@ public static XGraphics FromGraphics(Graphics graphics, XSize size, RenderEvents /// /// Creates a new instance of the XGraphics class from a System.Drawing.Graphics object. /// - public static XGraphics FromGraphics(Graphics graphics, XSize size, XGraphicsUnit unit, RenderEvents renderEvents) + public static XGraphics FromGraphics(Graphics graphics, XSize size, XGraphicsUnit unit, RenderEvents? renderEvents = null) { // Creating a new instance is by design. var gfx = new XGraphics(graphics, size, unit, XPageDirection.Downwards, renderEvents); @@ -618,7 +618,7 @@ public static XGraphics FromGraphics(Graphics graphics, XSize size, XGraphicsUni /// /// Creates a new instance of the XGraphics class from a System.Windows.Media.DrawingContext object. /// - public static XGraphics FromDrawingContext(DrawingContext drawingContext, XSize size, XGraphicsUnit unit, RenderEvents renderEvents) + public static XGraphics FromDrawingContext(DrawingContext drawingContext, XSize size, XGraphicsUnit unit, RenderEvents? renderEvents = null) { var gfx = new XGraphics(drawingContext, size, unit, XPageDirection.Downwards, renderEvents); @@ -632,7 +632,7 @@ public static XGraphics FromDrawingContext(DrawingContext drawingContext, XSize /// /// Creates a new instance of the XGraphics class from a System.Windows.Media.DrawingContext object. /// - public static XGraphics FromCanvas(Canvas canvas, XSize size, XGraphicsUnit unit, RenderEvents renderEvents) + public static XGraphics FromCanvas(Canvas canvas, XSize size, XGraphicsUnit unit, RenderEvents? renderEvents = null) { var gfx = new XGraphics(canvas, size, unit, XPageDirection.Downwards, renderEvents); @@ -791,13 +791,13 @@ public static XGraphics FromForm(XForm form) /// /// Creates a new instance of the XGraphics class from a PdfSharp.Drawing.XForm object. /// - public static XGraphics? FromImage(XImage image, RenderEvents renderEvents) + public static XGraphics? FromImage(XImage image, RenderEvents? renderEvents = null) => FromImage(image, XGraphicsUnit.Point, renderEvents); /// /// Creates a new instance of the XGraphics class from a PdfSharp.Drawing.XImage object. /// - public static XGraphics? FromImage(XImage image, XGraphicsUnit unit, RenderEvents renderEvents) + public static XGraphics? FromImage(XImage image, XGraphicsUnit unit, RenderEvents? renderEvents = null) { if (image == null) throw new ArgumentNullException(nameof(image)); diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XMatrix.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XMatrix.cs index 5685bb27..f03a5f43 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XMatrix.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XMatrix.cs @@ -181,9 +181,7 @@ public void Multiply(XMatrix matrix, XMatrixOrder order) /// /// Appends a translation of the specified offsets to this matrix. /// - [Obsolete( - "Use TranslateAppend or TranslatePrepend explicitly, because in GDI+ and WPF the defaults are contrary.", - true)] + [Obsolete("Use TranslateAppend or TranslatePrepend explicitly, because in GDI+ and WPF the defaults are contrary.", true)] public void Translate(double offsetX, double offsetY) { throw new InvalidOperationException("Temporarily out of order."); @@ -261,8 +259,7 @@ public void Translate(double offsetX, double offsetY, XMatrixOrder order) /// /// Appends the specified scale vector to this matrix. /// - [Obsolete("Use ScaleAppend or ScalePrepend explicitly, because in GDI+ and WPF the defaults are contrary.", - true)] + [Obsolete("Use ScaleAppend or ScalePrepend explicitly, because in GDI+ and WPF the defaults are contrary.", true)] public void Scale(double scaleX, double scaleY) { this = CreateScaling(scaleX, scaleY) * this; @@ -315,8 +312,7 @@ public void Scale(double scaleX, double scaleY, XMatrixOrder order) /// /// Scales the matrix with the specified scalar. /// - [Obsolete("Use ScaleAppend or ScalePrepend explicitly, because in GDI+ and WPF the defaults are contrary.", - true)] + [Obsolete("Use ScaleAppend or ScalePrepend explicitly, because in GDI+ and WPF the defaults are contrary.", true)] // ReSharper disable InconsistentNaming public void Scale(double scaleXY) // ReSharper restore InconsistentNaming @@ -358,8 +354,7 @@ public void Scale(double scaleXY, XMatrixOrder order) /// /// Function is obsolete. /// - [Obsolete("Use ScaleAtAppend or ScaleAtPrepend explicitly, because in GDI+ and WPF the defaults are contrary.", - true)] + [Obsolete("Use ScaleAtAppend or ScaleAtPrepend explicitly, because in GDI+ and WPF the defaults are contrary.", true)] public void ScaleAt(double scaleX, double scaleY, double centerX, double centerY) { throw new InvalidOperationException("Temporarily out of order."); @@ -386,8 +381,7 @@ public void ScaleAtPrepend(double scaleX, double scaleY, double centerX, double /// /// Function is obsolete. /// - [Obsolete("Use RotateAppend or RotatePrepend explicitly, because in GDI+ and WPF the defaults are contrary.", - true)] + [Obsolete("Use RotateAppend or RotatePrepend explicitly, because in GDI+ and WPF the defaults are contrary.", true)] public void Rotate(double angle) { throw new InvalidOperationException("Temporarily out of order."); @@ -457,9 +451,7 @@ public void Rotate(double angle, XMatrixOrder order) /// /// Function is obsolete. /// - [Obsolete( - "Use RotateAtAppend or RotateAtPrepend explicitly, because in GDI+ and WPF the defaults are contrary.", - true)] + [Obsolete("Use RotateAtAppend or RotateAtPrepend explicitly, because in GDI+ and WPF the defaults are contrary.", true)] public void RotateAt(double angle, double centerX, double centerY) { throw new InvalidOperationException("Temporarily out of order."); @@ -488,9 +480,7 @@ public void RotateAtPrepend(double angle, double centerX, double centerY) /// /// Rotates the matrix with the specified angle at the specified point. /// - [Obsolete( - "Use RotateAtAppend or RotateAtPrepend explicitly, because in GDI+ and WPF the defaults are contrary.", - true)] + [Obsolete("Use RotateAtAppend or RotateAtPrepend explicitly, because in GDI+ and WPF the defaults are contrary.", true)] public void RotateAt(double angle, XPoint point) { throw new InvalidOperationException("Temporarily out of order."); @@ -539,8 +529,7 @@ public void RotateAt(double angle, XPoint point, XMatrixOrder order) /// /// Function is obsolete. /// - [Obsolete("Use ShearAppend or ShearPrepend explicitly, because in GDI+ and WPF the defaults are contrary.", - true)] + [Obsolete("Use ShearAppend or ShearPrepend explicitly, because in GDI+ and WPF the defaults are contrary.", true)] public void Shear(double shearX, double shearY) { throw new InvalidOperationException("Temporarily out of order."); diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XPoint.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XPoint.cs index e3e67b5b..b80d06a6 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XPoint.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XPoint.cs @@ -109,18 +109,12 @@ public override bool Equals(object? o) /// /// Indicates whether this instance and a specified point are equal. /// - public bool Equals(XPoint value) - { - return Equals(this, value); - } + public bool Equals(XPoint value) => Equals(this, value); /// /// Returns the hash code for this instance. /// - public override int GetHashCode() - { - return X.GetHashCode() ^ Y.GetHashCode(); - } + public override int GetHashCode() => X.GetHashCode() ^ Y.GetHashCode(); /// /// Parses the point from a string. @@ -177,45 +171,30 @@ public double Y /// /// Converts this XPoint to a System.Drawing.Point. /// - public PointF ToPointF() - { - return new PointF((float)_x, (float)_y); - } + public PointF ToPointF() => new((float)_x, (float)_y); #endif #if WPF || WUI /// /// Converts this XPoint to a System.Windows.Point. /// - public SysPoint ToPoint() - { - return new SysPoint(_x, _y); - } + public SysPoint ToPoint() => new(_x, _y); #endif /// - /// Converts this XPoint to a human readable string. + /// Converts this XPoint to a human-readable string. /// - public override string ToString() - { - return ConvertToString(null, null); - } + public override string ToString() => ConvertToString(null, null); /// - /// Converts this XPoint to a human readable string. + /// Converts this XPoint to a human-readable string. /// - public string ToString(IFormatProvider provider) - { - return ConvertToString(null, provider); - } + public string ToString(IFormatProvider provider) => ConvertToString(null, provider); /// - /// Converts this XPoint to a human readable string. + /// Converts this XPoint to a human-readable string. /// - string IFormattable.ToString(string? format, IFormatProvider? provider) - { - return ConvertToString(format, provider); - } + string IFormattable.ToString(string? format, IFormatProvider? provider) => ConvertToString(format, provider); /// /// Implements ToString. @@ -242,132 +221,96 @@ public void Offset(double offsetX, double offsetY) /// /// Adds a point and a vector. /// - public static XPoint operator +(XPoint point, XVector vector) - { - return new XPoint(point._x + vector.X, point._y + vector.Y); - } + public static XPoint operator +(XPoint point, XVector vector) => new(point._x + vector.X, point._y + vector.Y); /// /// Adds a point and a size. /// public static XPoint operator +(XPoint point, XSize size) // TODO_OLD: make obsolete - { - return new XPoint(point._x + size.Width, point._y + size.Height); - } + => new(point._x + size.Width, point._y + size.Height); /// /// Adds a point and a vector. /// public static XPoint Add(XPoint point, XVector vector) - { - return new XPoint(point._x + vector.X, point._y + vector.Y); - } + => new(point._x + vector.X, point._y + vector.Y); /// /// Subtracts a vector from a point. /// - public static XPoint operator -(XPoint point, XVector vector) - { - return new XPoint(point._x - vector.X, point._y - vector.Y); - } + public static XPoint operator -(XPoint point, XVector vector) + => new(point._x - vector.X, point._y - vector.Y); /// /// Subtracts a vector from a point. /// - public static XPoint Subtract(XPoint point, XVector vector) - { - return new XPoint(point._x - vector.X, point._y - vector.Y); - } + public static XPoint Subtract(XPoint point, XVector vector) + => new(point._x - vector.X, point._y - vector.Y); /// /// Subtracts a point from a point. /// - public static XVector operator -(XPoint point1, XPoint point2) - { - return new XVector(point1._x - point2._x, point1._y - point2._y); - } + public static XVector operator -(XPoint point1, XPoint point2) + => new(point1._x - point2._x, point1._y - point2._y); /// /// Subtracts a size from a point. /// [Obsolete("Use XVector instead of XSize as second parameter.")] - public static XPoint operator -(XPoint point, XSize size) - { - return new XPoint(point._x - size.Width, point._y - size.Height); - } + public static XPoint operator -(XPoint point, XSize size) + => new(point._x - size.Width, point._y - size.Height); /// /// Subtracts a point from a point. /// - public static XVector Subtract(XPoint point1, XPoint point2) - { - return new XVector(point1._x - point2._x, point1._y - point2._y); - } + public static XVector Subtract(XPoint point1, XPoint point2) + => new(point1._x - point2._x, point1._y - point2._y); /// /// Multiplies a point with a matrix. /// - public static XPoint operator *(XPoint point, XMatrix matrix) - { - return matrix.Transform(point); - } + public static XPoint operator *(XPoint point, XMatrix matrix) + => matrix.Transform(point); /// /// Multiplies a point with a matrix. /// - public static XPoint Multiply(XPoint point, XMatrix matrix) - { - return matrix.Transform(point); - } + public static XPoint Multiply(XPoint point, XMatrix matrix) + => matrix.Transform(point); /// /// Multiplies a point with a scalar value. /// - public static XPoint operator *(XPoint point, double value) - { - return new XPoint(point._x * value, point._y * value); - } + public static XPoint operator *(XPoint point, double value) + => new(point._x * value, point._y * value); /// /// Multiplies a point with a scalar value. /// - public static XPoint operator *(double value, XPoint point) - { - return new XPoint(value * point._x, value * point._y); - } + public static XPoint operator *(double value, XPoint point) + => new(value * point._x, value * point._y); /// /// Performs an explicit conversion from XPoint to XSize. /// - public static explicit operator XSize(XPoint point) - { - return new XSize(Math.Abs(point._x), Math.Abs(point._y)); - } + public static explicit operator XSize(XPoint point) + => new(Math.Abs(point._x), Math.Abs(point._y)); /// /// Performs an explicit conversion from XPoint to XVector. /// - public static explicit operator XVector(XPoint point) - { - return new XVector(point._x, point._y); - } + public static explicit operator XVector(XPoint point) => new(point._x, point._y); #if WPF || WUI /// /// Performs an implicit conversion from XPoint to Point. /// - public static implicit operator SysPoint(XPoint point) - { - return new SysPoint(point.X, point.Y); - } + public static implicit operator SysPoint(XPoint point) => new(point.X, point.Y); /// /// Performs an implicit conversion from Point to XPoint. /// - public static implicit operator XPoint(SysPoint point) - { - return new XPoint(point.X, point.Y); - } + public static implicit operator XPoint(SysPoint point) => new(point.X, point.Y); #endif /// diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XPrivateFontCollection.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XPrivateFontCollection.cs index b83b1b0c..09e3a0c1 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XPrivateFontCollection.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XPrivateFontCollection.cs @@ -1,6 +1,7 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +#if false // DELETE 2025-12-31 #if GDI using System.Runtime.InteropServices; using PdfSharp.Logging; @@ -28,3 +29,4 @@ namespace PdfSharp.Drawing public sealed class XPrivateFontCollection { } } +#endif diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XRect.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XRect.cs index 07379df5..10f1641a 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XRect.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XRect.cs @@ -136,27 +136,20 @@ public XRect(SysRect rect) // ReSharper disable once IdentifierTypo public static XRect FromLTRB(double left, double top, double right, double bottom) // ReSharper restore InconsistentNaming - { - return new XRect(left, top, right - left, bottom - top); - } + => new(left, top, right - left, bottom - top); /// /// Determines whether the two rectangles are equal. /// - public static bool operator ==(XRect rect1, XRect rect2) - { // ReSharper disable CompareOfFloatsByEqualityOperator - return rect1.X == rect2.X && rect1.Y == rect2.Y && rect1.Width == rect2.Width && rect1.Height == rect2.Height; - // ReSharper restore CompareOfFloatsByEqualityOperator - } + public static bool operator ==(XRect rect1, XRect rect2) => + rect1.X == rect2.X && rect1.Y == rect2.Y && rect1.Width == rect2.Width && rect1.Height == rect2.Height; + // ReSharper restore CompareOfFloatsByEqualityOperator /// /// Determines whether the two rectangles are not equal. /// - public static bool operator !=(XRect rect1, XRect rect2) - { - return !(rect1 == rect2); - } + public static bool operator !=(XRect rect1, XRect rect2) => !(rect1 == rect2); /// /// Determines whether the two rectangles are equal. @@ -181,10 +174,7 @@ public override bool Equals(object? o) /// /// Determines whether this instance and the specified rect are equal. /// - public bool Equals(XRect value) - { - return Equals(this, value); - } + public bool Equals(XRect value) => Equals(this, value); /// /// Returns the hash code for this instance. @@ -214,28 +204,19 @@ public static XRect Parse(string source) } /// - /// Converts this XRect to a human readable string. + /// Converts this XRect to a human-readable string. /// - public override string ToString() - { - return ConvertToString(null, null); - } + public override string ToString() => ConvertToString(null, null); /// - /// Converts this XRect to a human readable string. + /// Converts this XRect to a human-readable string. /// - public string ToString(IFormatProvider provider) - { - return ConvertToString(null, provider); - } + public string ToString(IFormatProvider provider) => ConvertToString(null, provider); /// - /// Converts this XRect to a human readable string. + /// Converts this XRect to a human-readable string. /// - string IFormattable.ToString(string? format, IFormatProvider? provider) - { - return ConvertToString(format, provider); - } + string IFormattable.ToString(string? format, IFormatProvider? provider) => ConvertToString(format, provider); internal string ConvertToString(string? format, IFormatProvider? provider) { @@ -277,7 +258,6 @@ public XPoint Location /// /// Gets or sets the size of the rectangle. /// - //[Browsable(false)] public XSize Size { get @@ -313,7 +293,6 @@ public double X _x = value; } } - double _x; /// @@ -329,7 +308,6 @@ public double Y _y = value; } } - double _y; /// @@ -348,7 +326,6 @@ public double Width _width = value; } } - double _width; /// @@ -366,7 +343,6 @@ public double Height _height = value; } } - double _height; /// @@ -434,10 +410,7 @@ public double Bottom /// /// Indicates whether the rectangle contains the specified point. /// - public bool Contains(XPoint point) - { - return Contains(point.X, point.Y); - } + public bool Contains(XPoint point) => Contains(point.X, point.Y); /// /// Indicates whether the rectangle contains the specified point. @@ -541,10 +514,7 @@ public static XRect Union(XRect rect1, XRect rect2) /// /// Sets current rectangle to the union of the current rectangle and the specified point. /// - public void Union(XPoint point) - { - Union(new XRect(point, point)); - } + public void Union(XPoint point) => Union(new XRect(point, point)); /// /// Returns the union of a rectangle and a point. @@ -598,28 +568,19 @@ public static XRect Offset(XRect rect, double offsetX, double offsetY) /// /// Translates the rectangle by adding the specified point. /// - //[Obsolete("Use Offset.")] public static XRect operator +(XRect rect, XPoint point) - { - return new XRect(rect._x + point.X, rect.Y + point.Y, rect._width, rect._height); - } + => new(rect._x + point.X, rect.Y + point.Y, rect._width, rect._height); /// /// Translates the rectangle by subtracting the specified point. /// - //[Obsolete("Use Offset.")] public static XRect operator -(XRect rect, XPoint point) - { - return new XRect(rect._x - point.X, rect.Y - point.Y, rect._width, rect._height); - } + => new(rect._x - point.X, rect.Y - point.Y, rect._width, rect._height); /// /// Expands the rectangle by using the specified Size, in all directions. /// - public void Inflate(XSize size) - { - Inflate(size.Width, size.Height); - } + public void Inflate(XSize size) => Inflate(size.Width, size.Height); /// /// Expands or shrinks the rectangle by using the specified width and height amounts, in all directions. @@ -669,9 +630,7 @@ public static XRect Transform(XRect rect, XMatrix matrix) /// Transforms the rectangle by applying the specified matrix. /// public void Transform(XMatrix matrix) - { - XMatrix.MatrixHelper.TransformRect(ref this, ref matrix); - } + => XMatrix.MatrixHelper.TransformRect(ref this, ref matrix); /// /// Multiplies the size of the current rectangle by the specified x and y values. @@ -701,57 +660,42 @@ public void Scale(double scaleX, double scaleY) /// /// Converts this instance to a System.Drawing.RectangleF. /// - public RectangleF ToRectangleF() - { - return new RectangleF((float)_x, (float)_y, (float)_width, (float)_height); - } + public RectangleF ToRectangleF() + => new((float)_x, (float)_y, (float)_width, (float)_height); #endif #if GDI /// /// Performs an implicit conversion from a System.Drawing.Rectangle to an XRect. /// - public static implicit operator XRect(Rectangle rect) - { - return new XRect(rect.X, rect.Y, rect.Width, rect.Height); - } + public static implicit operator XRect(Rectangle rect) + => new(rect.X, rect.Y, rect.Width, rect.Height); /// /// Performs an implicit conversion from a System.Drawing.RectangleF to an XRect. /// - public static implicit operator XRect(RectangleF rect) - { - return new XRect(rect.X, rect.Y, rect.Width, rect.Height); - } + public static implicit operator XRect(RectangleF rect) + => new(rect.X, rect.Y, rect.Width, rect.Height); #endif #if WPF || WUI /// /// Performs an implicit conversion from System.Windows.Rect to XRect. /// - public static implicit operator XRect(SysRect rect) - { - return new XRect(rect.X, rect.Y, rect.Width, rect.Height); - } + public static implicit operator XRect(SysRect rect) + => new(rect.X, rect.Y, rect.Width, rect.Height); #endif bool ContainsInternal(double x, double y) - { - return x >= _x && x - _width <= _x && y >= _y && y - _height <= _y; - } + => x >= _x && x - _width <= _x && y >= _y && y - _height <= _y; - static XRect CreateEmptyRect() + static readonly XRect s_empty = new() { - return new() - { - _x = double.PositiveInfinity, - _y = double.PositiveInfinity, - _width = double.NegativeInfinity, - _height = double.NegativeInfinity - }; - } - - static readonly XRect s_empty = CreateEmptyRect(); + _x = Double.PositiveInfinity, + _y = Double.PositiveInfinity, + _width = Double.NegativeInfinity, + _height = Double.NegativeInfinity + }; /// /// Gets the DebuggerDisplayAttribute text. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XSize.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XSize.cs index 17fb61cc..86d851eb 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XSize.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XSize.cs @@ -50,10 +50,7 @@ public XSize(double width, double height) /// /// Determines whether two size objects are not equal. /// - public static bool operator !=(XSize size1, XSize size2) - { - return !(size1 == size2); - } + public static bool operator !=(XSize size1, XSize size2) => !(size1 == size2); /// /// Indicates whether these two instances are equal. @@ -78,10 +75,7 @@ public override bool Equals(object? o) /// /// Indicates whether this instance and a specified size are equal. /// - public bool Equals(XSize value) - { - return Equals(this, value); - } + public bool Equals(XSize value) => Equals(this, value); /// /// Returns the hash code for this instance. @@ -123,56 +117,38 @@ public PointF ToPointF() /// /// Converts this XSize to an XPoint. /// - public XPoint ToXPoint() - { - return new XPoint(_width, _height); - } + public XPoint ToXPoint() => new(_width, _height); /// /// Converts this XSize to an XVector. /// - public XVector ToXVector() - { - return new XVector(_width, _height); - } + public XVector ToXVector() => new(_width, _height); #if GDI /// /// Converts this XSize to a SizeF. /// - public SizeF ToSizeF() - { - return new SizeF((float)_width, (float)_height); - } + public SizeF ToSizeF() => new((float)_width, (float)_height); #endif #if WPF || WUI /// /// Converts this XSize to a System.Windows.Size. /// - public SysSize ToSize() - { - return new SysSize(_width, _height); - } + public SysSize ToSize() => new(_width, _height); #endif #if GDI /// /// Creates an XSize from a System.Drawing.Size. /// - public static XSize FromSize(Size size) - { - return new XSize(size.Width, size.Height); - } + public static XSize FromSize(Size size) => new(size.Width, size.Height); /// /// Implicit conversion from XSize to System.Drawing.Size. The conversion must be implicit because the /// WinForms designer uses it. /// - public static implicit operator XSize(Size size) - { - return new XSize(size.Width, size.Height); - } + public static implicit operator XSize(Size size) => new(size.Width, size.Height); #endif #if WPF || WUI @@ -189,35 +165,24 @@ public static XSize FromSize(SysSize size) /// /// Creates an XSize from a System.Drawing.Size. /// - public static XSize FromSizeF(SizeF size) - { - return new XSize(size.Width, size.Height); - } + public static XSize FromSizeF(SizeF size) => new(size.Width, size.Height); #endif /// - /// Converts this XSize to a human readable string. + /// Converts this XSize to a human-readable string. /// - public override string ToString() - { - return ConvertToString(null, null); - } + public override string ToString() => ConvertToString(null, null); /// - /// Converts this XSize to a human readable string. + /// Converts this XSize to a human-readable string. /// - public string ToString(IFormatProvider provider) - { - return ConvertToString(null, provider); - } + public string ToString(IFormatProvider provider) => ConvertToString(null, provider); /// - /// Converts this XSize to a human readable string. + /// Converts this XSize to a human-readable string. /// - string IFormattable.ToString(string? format, IFormatProvider? provider) - { - return ConvertToString(format, provider); - } + string IFormattable.ToString(string? format, IFormatProvider? provider) + => ConvertToString(format, provider); internal string ConvertToString(string? format, IFormatProvider? provider) { @@ -285,27 +250,18 @@ public double Height /// /// Performs an explicit conversion from XSize to XVector. /// - public static explicit operator XVector(XSize size) - { - return new XVector(size._width, size._height); - } + public static explicit operator XVector(XSize size) => new(size._width, size._height); /// /// Performs an explicit conversion from XSize to XPoint. /// - public static explicit operator XPoint(XSize size) - { - return new XPoint(size._width, size._height); - } + public static explicit operator XPoint(XSize size) => new(size._width, size._height); #if WPF || WUI /// /// Performs an explicit conversion from Size to XSize. /// - public static explicit operator XSize(SysSize size) - { - return new XSize(size.Width, size.Height); - } + public static explicit operator XSize(SysSize size) => new(size.Width, size.Height); #endif /// diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XUnit.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XUnit.cs index 46c57ff0..ea9a35df 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XUnit.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XUnit.cs @@ -273,16 +273,12 @@ string GetSuffix() /// public static implicit operator XUnit(string value) { - XUnit unit = default; value = value.Trim(); - // #DELETE 2024-12-31 - Replace this special treatment for German numbers with an exception. + // No commas allowed anymore. ',' as decimal separator was a special hack for German numbers. if (value.Contains(',')) - { - PdfSharpLogHost.Logger.LogError("A number string contains an illegal ','. It is replaced by '.'. Will throw exception in the future."); - value = value.Replace(',', '.'); - } + throw new FormatException($"value '{value}' must not contain a comma as decimal or thousands separator."); int count = value.Length; int valLen = 0; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XVector.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XVector.cs index ae81cfee..c3f94ebb 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XVector.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XVector.cs @@ -49,12 +49,10 @@ public XVector(double x, double y) /// /// The first vector to compare. /// The second vector to compare. - public static bool operator !=(XVector vector1, XVector vector2) - { - // ReSharper disable CompareOfFloatsByEqualityOperator - return vector1._x != vector2._x || vector1._y != vector2._y; - // ReSharper restore CompareOfFloatsByEqualityOperator - } + // ReSharper disable CompareOfFloatsByEqualityOperator + public static bool operator !=(XVector vector1, XVector vector2) => + vector1._x != vector2._x || vector1._y != vector2._y; + // ReSharper restore CompareOfFloatsByEqualityOperator /// /// Compares two vectors for equality. @@ -84,20 +82,15 @@ public override bool Equals(object? o) /// Compares two vectors for equality. /// /// The vector to compare with this vector. - public bool Equals(XVector value) - { - return Equals(this, value); - } + public bool Equals(XVector value) => Equals(this, value); /// /// Returns the hash code for this instance. /// - public override int GetHashCode() - { // ReSharper disable NonReadonlyFieldInGetHashCode - return _x.GetHashCode() ^ _y.GetHashCode(); - // ReSharper restore NonReadonlyFieldInGetHashCode - } + public override int GetHashCode() => + _x.GetHashCode() ^ _y.GetHashCode(); + // ReSharper restore NonReadonlyFieldInGetHashCode /// /// Converts a string representation of a vector into the equivalent Vector structure. @@ -135,19 +128,16 @@ public double Y /// /// Returns the string representation of this Vector structure. /// - public override string ToString() - { - return ConvertToString(null, null); - } + public override string ToString() => ConvertToString(null, null); /// /// Returns the string representation of this Vector structure with the specified formatting information. /// /// The culture-specific formatting information. - public string ToString(IFormatProvider provider) + public string ToString(IFormatProvider provider) => ConvertToString(null, provider); - string IFormattable.ToString(string? format, IFormatProvider? provider) + string IFormattable.ToString(string? format, IFormatProvider? provider) => ConvertToString(format, provider); internal string ConvertToString(string? format, IFormatProvider? provider) @@ -163,22 +153,20 @@ internal string ConvertToString(string? format, IFormatProvider? provider) /// /// Gets the length of this vector. /// - public double Length - => Math.Sqrt(_x * _x + _y * _y); + public double Length => Math.Sqrt(_x * _x + _y * _y); /// /// Gets the square of the length of this vector. /// - public double LengthSquared - => _x * _x + _y * _y; + public double LengthSquared => _x * _x + _y * _y; /// /// Normalizes this vector. /// public void Normalize() { - this = this / Math.Max(Math.Abs(_x), Math.Abs(_y)); - this = this / Length; + this /= Math.Max(Math.Abs(_x), Math.Abs(_y)); + this /= Length; } /// @@ -238,7 +226,7 @@ public static XVector Add(XVector vector1, XVector vector2) /// /// The vector from which vector2 is subtracted. /// The vector to subtract from vector1. - public static XVector operator -(XVector vector1, XVector vector2) + public static XVector operator -(XVector vector1, XVector vector2) => new(vector1._x - vector2._x, vector1._y - vector2._y); /// @@ -254,7 +242,7 @@ public static XVector Subtract(XVector vector1, XVector vector2) /// /// The vector used to translate point. /// The point to translate. - public static XPoint operator +(XVector vector, XPoint point) + public static XPoint operator +(XVector vector, XPoint point) => new(point.X + vector._x, point.Y + vector._y); /// @@ -262,7 +250,7 @@ public static XVector Subtract(XVector vector1, XVector vector2) /// /// The vector used to translate point. /// The point to translate. - public static XPoint Add(XVector vector, XPoint point) + public static XPoint Add(XVector vector, XPoint point) => new(point.X + vector._x, point.Y + vector._y); /// @@ -270,7 +258,7 @@ public static XPoint Add(XVector vector, XPoint point) /// /// The vector to multiply. /// The scalar to multiply. - public static XVector operator *(XVector vector, double scalar) + public static XVector operator *(XVector vector, double scalar) => new(vector._x * scalar, vector._y * scalar); /// @@ -278,7 +266,7 @@ public static XPoint Add(XVector vector, XPoint point) /// /// The vector to multiply. /// The scalar to multiply. - public static XVector Multiply(XVector vector, double scalar) + public static XVector Multiply(XVector vector, double scalar) => new(vector._x * scalar, vector._y * scalar); /// @@ -286,7 +274,7 @@ public static XVector Multiply(XVector vector, double scalar) /// /// The scalar to multiply. /// The vector to multiply. - public static XVector operator *(double scalar, XVector vector) + public static XVector operator *(double scalar, XVector vector) => new(vector._x * scalar, vector._y * scalar); /// @@ -294,7 +282,7 @@ public static XVector Multiply(XVector vector, double scalar) /// /// The scalar to multiply. /// The vector to multiply. - public static XVector Multiply(double scalar, XVector vector) + public static XVector Multiply(double scalar, XVector vector) => new(vector._x * scalar, vector._y * scalar); /// @@ -302,7 +290,7 @@ public static XVector Multiply(double scalar, XVector vector) /// /// The vector to divide. /// The scalar by which vector will be divided. - public static XVector operator /(XVector vector, double scalar) + public static XVector operator /(XVector vector, double scalar) => vector * (1.0 / scalar); /// @@ -310,7 +298,7 @@ public static XVector Multiply(double scalar, XVector vector) /// /// The vector structure to divide. /// The amount by which vector is divided. - public static XVector Divide(XVector vector, double scalar) + public static XVector Divide(XVector vector, double scalar) => vector * (1.0 / scalar); /// @@ -318,7 +306,7 @@ public static XVector Divide(XVector vector, double scalar) /// /// The vector to transform. /// The transformation to apply to vector. - public static XVector operator *(XVector vector, XMatrix matrix) + public static XVector operator *(XVector vector, XMatrix matrix) => matrix.Transform(vector); /// @@ -326,7 +314,7 @@ public static XVector Divide(XVector vector, double scalar) /// /// The vector to transform. /// The transformation to apply to vector. - public static XVector Multiply(XVector vector, XMatrix matrix) + public static XVector Multiply(XVector vector, XMatrix matrix) => matrix.Transform(vector); /// @@ -334,7 +322,7 @@ public static XVector Multiply(XVector vector, XMatrix matrix) /// /// The first vector to multiply. /// The second vector to multiply. - public static double operator *(XVector vector1, XVector vector2) + public static double operator *(XVector vector1, XVector vector2) => vector1._x * vector2._x + vector1._y * vector2._y; /// @@ -342,7 +330,7 @@ public static XVector Multiply(XVector vector, XMatrix matrix) /// /// The first vector to multiply. /// The second vector structure to multiply. - public static double Multiply(XVector vector1, XVector vector2) + public static double Multiply(XVector vector1, XVector vector2) => vector1._x * vector2._x + vector1._y * vector2._y; /// @@ -350,21 +338,21 @@ public static double Multiply(XVector vector1, XVector vector2) /// /// The first vector to evaluate. /// The second vector to evaluate. - public static double Determinant(XVector vector1, XVector vector2) + public static double Determinant(XVector vector1, XVector vector2) => vector1._x * vector2._y - vector1._y * vector2._x; /// /// Creates a Size from the offsets of this vector. /// /// The vector to convert. - public static explicit operator XSize(XVector vector) + public static explicit operator XSize(XVector vector) => new(Math.Abs(vector._x), Math.Abs(vector._y)); /// /// Creates a Point with the X and Y values of this vector. /// /// The vector to convert. - public static explicit operator XPoint(XVector vector) + public static explicit operator XPoint(XVector vector) => new(vector._x, vector._y); /// diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.Internal/FontHelper.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.Internal/FontHelper.cs index 767cd125..1114e3ba 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.Internal/FontHelper.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.Internal/FontHelper.cs @@ -39,7 +39,7 @@ namespace PdfSharp.Fonts.Internal /// static class FontHelper { -#if true_ // #DELETE 24-12-31 +#if true_ // #DELETE 25-12-31 /// /// Measure string directly from font data. /// @@ -65,7 +65,7 @@ public static XSize MeasureString(string text, XFont font) //codePoints = codeRun.Items; return MeasureString(codePoints, font); -#if true_ // Keep until 2024-12-31 for reference +#if true_ // Keep until 2025-12-31 for reference var size = new XSize(); var descriptor = FontDescriptorCache.GetOrCreateDescriptorFor(font) as OpenTypeDescriptor; if (descriptor != null) diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontTables.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontTables.cs index 0b2db0cc..7cbc780f 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontTables.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontTables.cs @@ -2,7 +2,6 @@ // See the LICENSE file in the solution root for more information. using System.Text; -using PdfSharp.Internal; using PdfSharp.Drawing; using Fixed = System.Int32; @@ -604,7 +603,7 @@ public void Read() } } - // UNDONE + // Not used in PDFsharp. class VerticalHeaderTable : OpenTypeFontTable { public const string Tag = TableTagNames.VHea; @@ -697,9 +696,9 @@ public void Read() /// information (the advance heights and top sidebearings) for the vertical layout of each /// of the glyphs in the font. /// + // Not used in PDFsharp. class VerticalMetricsTable : OpenTypeFontTable { - // UNDONE public const string Tag = TableTagNames.VMtx; // Code comes from HorizontalMetricsTable. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Internal/ErrorHelpers.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/ErrorHelpers.cs index 12e0a06e..471812bd 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Internal/ErrorHelpers.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/ErrorHelpers.cs @@ -12,12 +12,15 @@ namespace PdfSharp.Internal // ReSharper disable once InconsistentNaming static class TH { - private const string SendUsTheFile = "\nPDFsharp cannot read this PDF file. " + + const string SendUsTheFile = "\nPDFsharp cannot read this PDF file. " + "If you think your file is a valid PDF file please send it to us so that we can fix this bug in the PDF parser."; public static InvalidOperationException InvalidOperationException_CouldNotFindMetadataDictionary() => new("Could not find document’s metadata dictionary." + SendUsTheFile); + public static InvalidOperationException InvalidOperationException_ReferenceMustNotBeNull() => + new("The reference must not be null."); + #region Reader Messages public static ObjectNotAvailableException ObjectNotAvailableException_CannotRetrieveStreamLength(Exception? innerException = null) diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Adam7.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Adam7.cs similarity index 95% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Adam7.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Adam7.cs index f0320fb2..48af2e6f 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Adam7.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Adam7.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { using System.Collections.Generic; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Adler32Checksum.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Adler32Checksum.cs similarity index 84% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Adler32Checksum.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Adler32Checksum.cs index 6e7b9a19..f137043e 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Adler32Checksum.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Adler32Checksum.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { using System.Collections.Generic; @@ -13,7 +15,7 @@ namespace PdfSharp.BigGustave public static class Adler32Checksum { // Both sums (s1 and s2) are done modulo 65521. - private const int AdlerModulus = 65521; + const int AdlerModulus = 65521; /// /// Calculate the Adler-32 checksum for some data. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/ChunkHeader.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/ChunkHeader.cs similarity index 91% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/ChunkHeader.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/ChunkHeader.cs index 61e864d2..8e1ef7f0 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/ChunkHeader.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/ChunkHeader.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { using System; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/ColorType.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/ColorType.cs similarity index 79% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/ColorType.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/ColorType.cs index f8a50d0d..f127ab93 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/ColorType.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/ColorType.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { using System; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/CompressionMethod.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/CompressionMethod.cs similarity index 69% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/CompressionMethod.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/CompressionMethod.cs index 81dff90e..fe0701a5 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/CompressionMethod.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/CompressionMethod.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { /// /// The method used to compress the image data. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Crc32.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Crc32.cs similarity index 91% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Crc32.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Crc32.cs index 9b424654..fc69b5e8 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Crc32.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Crc32.cs @@ -1,15 +1,17 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { /// /// 32-bit Cyclic Redundancy Code used by the PNG for checking the data is intact. /// public static class Crc32 { - private const uint Polynomial = 0xEDB88320; + const uint Polynomial = 0xEDB88320; static readonly uint[] Lookup; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Decoder.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Decoder.cs similarity index 97% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Decoder.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Decoder.cs index 768a54b0..cf8cf98d 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Decoder.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Decoder.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { using System; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/FilterMethod.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/FilterMethod.cs similarity index 69% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/FilterMethod.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/FilterMethod.cs index 6c7e78d2..1a6a25f7 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/FilterMethod.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/FilterMethod.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { /// /// Indicates the pre-processing method applied to the image data before compression. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/FilterType.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/FilterType.cs similarity index 79% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/FilterType.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/FilterType.cs index 326f49d0..608dce8b 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/FilterType.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/FilterType.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { internal enum FilterType { diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/HeaderValidationResult.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/HeaderValidationResult.cs similarity index 88% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/HeaderValidationResult.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/HeaderValidationResult.cs index 3c4a2be4..fb8915b7 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/HeaderValidationResult.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/HeaderValidationResult.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { internal readonly struct HeaderValidationResult { diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/IChunkVisitor.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/IChunkVisitor.cs similarity index 72% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/IChunkVisitor.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/IChunkVisitor.cs index 10c9257f..7c2cd606 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/IChunkVisitor.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/IChunkVisitor.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { using System.IO; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/ImageHeader.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/ImageHeader.cs similarity index 94% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/ImageHeader.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/ImageHeader.cs index 3a99313f..67e7c281 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/ImageHeader.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/ImageHeader.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { using System; using System.Collections.Generic; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/InterlaceMethod.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/InterlaceMethod.cs similarity index 70% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/InterlaceMethod.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/InterlaceMethod.cs index 01a63405..ab9dfc91 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/InterlaceMethod.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/InterlaceMethod.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { /// /// Indicates the transmission order of the image data. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/LICENSE b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/LICENSE similarity index 100% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/LICENSE rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/LICENSE diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Palette.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Palette.cs similarity index 89% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Palette.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Palette.cs index 3fb6e620..359c144e 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Palette.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Palette.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { /// /// The Palette class. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Pixel.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Pixel.cs similarity index 95% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Pixel.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Pixel.cs index ea9833de..a8e1b6af 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Pixel.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Pixel.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { /// /// A pixel in a image. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Png.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Png.cs similarity index 97% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Png.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Png.cs index 0eb19fde..90db658e 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/Png.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/Png.cs @@ -1,12 +1,11 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave -{ - using System; - using System.IO; +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. +namespace PdfSharp.Internal.Png.BigGustave +{ /// /// A PNG image. Call to open from file or bytes. /// diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/PngBuilder.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/PngBuilder.cs similarity index 99% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/PngBuilder.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/PngBuilder.cs index 752532a3..1d7f34cd 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/PngBuilder.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/PngBuilder.cs @@ -1,10 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -#nullable enable annotations +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +namespace PdfSharp.Internal.Png.BigGustave { using System; using System.Collections.Generic; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/PngOpener.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/PngOpener.cs similarity index 97% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/PngOpener.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/PngOpener.cs index eae2f528..6e0673b2 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/PngOpener.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/PngOpener.cs @@ -1,16 +1,14 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -#nullable enable annotations +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave -{ - using System; - using System.IO; - using System.IO.Compression; - using System.Text; +using System.IO.Compression; +using System.Text; +namespace PdfSharp.Internal.Png.BigGustave +{ internal static class PngOpener { public static Png Open(Stream stream, IChunkVisitor? chunkVisitor = null) => Open(stream, new PngOpenerSettings diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/PngOpenerSettings.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/PngOpenerSettings.cs similarity index 79% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/PngOpenerSettings.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/PngOpenerSettings.cs index 52bf0a91..c6d0187a 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/PngOpenerSettings.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/PngOpenerSettings.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { /// /// Settings to use when opening a PNG using diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/PngStreamWriteHelper.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/PngStreamWriteHelper.cs similarity index 90% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/PngStreamWriteHelper.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/PngStreamWriteHelper.cs index 88d4db5f..419dcb6e 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/PngStreamWriteHelper.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/PngStreamWriteHelper.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { using System; using System.Collections.Generic; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/RawPngData.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/RawPngData.cs similarity index 96% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/RawPngData.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/RawPngData.cs index b11d47ba..1f0940ad 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/RawPngData.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/RawPngData.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { using System; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/StreamHelper.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/StreamHelper.cs similarity index 84% rename from src/foundation/src/PDFsharp/src/PdfSharp/PngLib/StreamHelper.cs rename to src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/StreamHelper.cs index bb8d18ab..d8a7f0e6 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PngLib/StreamHelper.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/Png/BigGustave/StreamHelper.cs @@ -1,8 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -// ReSharper disable once CheckNamespace -namespace PdfSharp.BigGustave +// BigGustave is distributed with PDFsharp, but was published under a different license. +// See file LICENSE in the folder containing this file. + +namespace PdfSharp.Internal.Png.BigGustave { using System; using System.IO; @@ -17,8 +19,8 @@ public static int ReadBigEndianInt32(Stream stream) public static int ReadBigEndianInt32(byte[] bytes, int offset) { - return (bytes[0 + offset] << 24) + (bytes[1 + offset] << 16) - + (bytes[2 + offset] << 8) + bytes[3 + offset]; + return (bytes[0 + offset] << 24) + (bytes[1 + offset] << 16) + + (bytes[2 + offset] << 8) + bytes[3 + offset]; } public static void WriteBigEndianInt32(Stream stream, int value) diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Internal/SuppressExceptions.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/SuppressExceptions.cs index 980c0090..7d0ada44 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Internal/SuppressExceptions.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/SuppressExceptions.cs @@ -37,7 +37,6 @@ public static bool HasError(SuppressExceptions? suppressExceptions) } // Experimental - not yet in use. - #if true_ interface IErrorResult// TODO_OLD: Find final name diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Logging/LogMessages.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Logging/LogMessages.cs index d3572040..0e3d70e3 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Logging/LogMessages.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Logging/LogMessages.cs @@ -9,7 +9,7 @@ namespace PdfSharp.Logging { /// - /// Defines the logging event ids of PDFsharp. + /// Defines the logging event IDs of PDFsharp. /// public static class PdfSharpEventId // draft... { diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs index 7f8223f6..f69b1cc8 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs @@ -117,8 +117,7 @@ public bool HasKids /// [Obsolete("Use GetDescendantNames")] public string[] DescendantNames // Properties should not return arrays. - => - GetDescendantNames(); + => GetDescendantNames(); /// /// Gets the names of all descendants of this field. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfCatalog.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfCatalog.cs index 1b500a58..7231ef8e 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfCatalog.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfCatalog.cs @@ -148,7 +148,7 @@ public PdfNameDictionary Names { _names = new PdfNameDictionary(Owner); Owner.Internals.AddObject(_names); - Elements.SetReference(Keys.Names, _names.Reference); + Elements.SetReference(Keys.Names, _names.Reference ?? throw TH.InvalidOperationException_ReferenceMustNotBeNull()); } } return _names; @@ -173,7 +173,7 @@ public PdfNamedDestinations Destinations _dests = new PdfNamedDestinations(); _dests = new PdfNamedDestinations(); Owner.Internals.AddObject(_dests); - Elements.SetReference(Keys.Dests, _dests.Reference); + Elements.SetReference(Keys.Dests, _dests.Reference ?? throw TH.InvalidOperationException_ReferenceMustNotBeNull()); } } return _dests; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfContent.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfContent.cs index dc022f0c..902f72b8 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfContent.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfContent.cs @@ -67,8 +67,7 @@ public bool Compressed /// void Decode() { - //if (Stream != null && Stream.Value != null) - if (Stream is { Value: { } }) // StL: Is this really more readable??? + if (Stream is { Value: not null }) { var item = Elements["/Filter"]; if (item != null) @@ -92,7 +91,7 @@ internal void PreserveGraphicsState() { // If a content stream is touched by PDFsharp it is typically because graphical operations are // prepended or appended. Some nasty PDF tools do not preserve the graphical state correctly. - // Therefore we try to relieve the problem by surrounding the content stream with push/restore + // Therefore, we try to relieve the problem by surrounding the content stream with push/restore // graphic state operation. if (Stream != null!) { @@ -128,7 +127,6 @@ internal override void WriteObject(PdfWriter writer) if (Stream != null!) { - //if (Owner.Options.CompressContentStreams) if (Owner.Options.CompressContentStreams && Elements.GetName("/Filter").Length == 0) { Stream.Value = Filtering.FlateDecode.Encode(Stream.Value, _document.Options.FlateEncodeMode); @@ -141,7 +139,8 @@ internal override void WriteObject(PdfWriter writer) base.WriteObject(writer); } - internal XGraphicsPdfRenderer? _pdfRenderer; + internal void SetRenderer(XGraphicsPdfRenderer? renderer) => _pdfRenderer = renderer; + XGraphicsPdfRenderer? _pdfRenderer; /// /// Predefined keys of this dictionary. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfCrossReferenceTable.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfCrossReferenceTable.cs index 37416217..c22d7e65 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfCrossReferenceTable.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfCrossReferenceTable.cs @@ -1,6 +1,13 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +// Turn on all test code at one place and ensure, that it does not come accidentally to the release build. +#if true && TEST_CODE +#define TEST_CODE // The #define is redundant, but clarifies what it means. +#else +#undef TEST_CODE +#endif + using System.Collections; using Microsoft.Extensions.Logging; using PdfSharp.Logging; @@ -12,8 +19,19 @@ namespace PdfSharp.Pdf.Advanced /// Represents the cross-reference table of a PDF document. /// It contains all indirect objects of a document. /// + /// + /// New implementation:
    + /// * No deep nesting recursion anymore.
    + /// * Uses a Stack<PdfObject>.
    + ///
    + /// We use Dictionary<PdfReference, object?> instead of Set<PdfReference> because a dictionary + /// with an unused value is faster than a set. + ///
    sealed class PdfCrossReferenceTable(PdfDocument document) // Must not be derived from PdfObject. { +#if TEST_CODE + readonly Stopwatch _stopwatch = new(); +#endif /// /// Gets or sets a value indicating whether this table is under construction. /// It is true while reading a PDF file. @@ -21,17 +39,21 @@ sealed class PdfCrossReferenceTable(PdfDocument document) // Must not be derived internal bool IsUnderConstruction { get; set; } /// - /// Gets the number of objects in the table. + /// Gets the current number of references in the table. /// public int Count => _objectTable.Count; /// - /// Adds a cross-reference entry to the table. Used when parsing the trailer. + /// Adds a cross-reference entry to the table. Used when parsing a trailer. /// public void Add(PdfReference iref) { if (iref.ObjectID.IsEmpty) + { + // When happens this? iref.ObjectID = new(GetNewObjectNumber()); + PdfSharpLogHost.DocumentProcessingLogger.LogWarning("iRef with empty object ID found."); + } // ReSharper disable once CanSimplifyDictionaryLookupWithTryAdd because it would not build with .NET Framework. if (_objectTable.ContainsKey(iref.ObjectID)) @@ -59,16 +81,32 @@ public void Add(PdfReference iref) /// public void Add(PdfObject value) { + // ReSharper disable once NullableWarningSuppressionIsUsed if (value.Owner == null!) + { + PdfSharpLogHost.PdfReadingLogger.LogWarning("Object without owner gets owned by the document it was added to."); value.Document = document; + } else + { Debug.Assert(value.Owner == document); + if (value.Owner != document) + { + PdfSharpLogHost.PdfReadingLogger.LogError("Object not owned by the document it was added to."); + } + } if (value.ObjectID.IsEmpty) + { + // Create new object number. value.SetObjectID(GetNewObjectNumber(), 0); + } if (_objectTable.ContainsKey(value.ObjectID)) + { + // This must not happen. throw new InvalidOperationException("Object already in table."); + } _objectTable.Add(value.ObjectID, value.ReferenceNotNull); @@ -90,9 +128,14 @@ public bool TryAdd(PdfObject value) return false; } - public void Remove(PdfReference iref) + /// + /// Removes a PdfObject from the table. + /// + /// + public bool Remove(PdfReference iref) { - _objectTable.Remove(iref.ObjectID); + // Remove the reference by its ID. + return _objectTable.Remove(iref.ObjectID); } /// @@ -198,7 +241,7 @@ internal int Compact() int removed = _objectTable.Count; PdfReference[] irefs = TransitiveClosure(document.Trailer); -#if DEBUG +#if DEBUG_ // Turn on again // Have any two objects the same ID? Dictionary ids = []; foreach (PdfObjectID objID in _objectTable.Keys) @@ -248,7 +291,7 @@ internal int Compact() MaxObjectNumber = 0; _objectTable.Clear(); - foreach (PdfReference iref in irefs) + foreach (var iref in irefs) { // This if-statement is needed for corrupt PDF files from the wild. // Without the if-statement, an exception will be thrown if the file contains duplicate IDs ("An item with the same key has already been added to the dictionary."). @@ -277,7 +320,7 @@ internal void Renumber() int count = irefs.Length; for (int idx = 0; idx < count; idx++) { - PdfReference iref = irefs[idx]; + var iref = irefs[idx]; iref.ObjectID = new PdfObjectID(idx + 1); // Rehash with new number. _objectTable.Add(iref.ObjectID, iref); @@ -292,7 +335,7 @@ internal void Renumber() /// internal SizeType GetPositionOfObjectBehind(PdfObject obj, SizeType position) { -#if DEBUG +#if DEBUG_ if (obj.Reference == null) _ = typeof(int); #endif @@ -356,198 +399,308 @@ public void CheckConsistence() /// /// Calculates the transitive closure of the specified PdfObject with the specified depth, i.e. all indirect objects - /// recursively reachable from the specified object in up to maximally depth steps. + /// recursively reachable from the specified object. /// - public PdfReference[] TransitiveClosure(PdfObject pdfObject /*, int depth = Int16.MaxValue*/) + public PdfReference[] TransitiveClosure(PdfObject pdfObject) { + var logger = PdfSharpLogHost.DocumentProcessingLogger; + CheckConsistence(); - Dictionary objects = new(); - //_overflow = new(); -#if DEBUG - _nestingLevel = _maxNestingLevel = 0; +#if TEST_CODE + // ReSharper disable once InconsistentNaming because it is test-code. + Dictionary references_old = new(); + _stopwatch.Reset(); + _stopwatch.Start(); + TransitiveClosureImplementation_old(references_old, pdfObject); + _stopwatch.Stop(); + logger.LogInformation(nameof(TransitiveClosureImplementation_old) + " runs {MS}ms.", _stopwatch.ElapsedMilliseconds); + logger.LogInformation($"TC: {references_old.Count}"); + logger.LogInformation("--------------------"); #endif - TransitiveClosureImplementation(objects, pdfObject); -#if DEBUG - // TODO Check - PdfSharpLogHost.Logger.LogInformation("Transitive closure max nesting level is {NestingLevel}.", _maxNestingLevel); + +#if TEST_CODE + _stopwatch.Reset(); + _stopwatch.Start(); +#endif + Dictionary references = new(); + TransitiveClosureImplementation(references, pdfObject); +#if TEST_CODE + _stopwatch.Stop(); + logger.LogInformation(nameof(TransitiveClosureImplementation) + " runs {MS}ms.", _stopwatch.ElapsedMilliseconds); + logger.LogInformation($"TC: {references.Count}"); + logger.LogInformation("--------------------"); + + Debug.Assert(references.Count == references_old.Count); #endif -#if false - TryAgain: - if (_overflow.Count > 0) + +#if TEST_CODE + _stopwatch.Reset(); + _stopwatch.Start(); + foreach (var val in references_old) { - var array = new PdfObject[_overflow.Count]; - _overflow.Keys.CopyTo(array, 0); - _overflow = new(); - for (int idx = 0; idx < array.Length; idx++) - { - PdfObject obj = array[idx]; - TransitiveClosureImplementation(objects, obj); - } - goto TryAgain; + var valNew = references.ContainsKey((PdfReference)val.Key); + if (valNew == false) + _ = typeof(int); + Debug.Assert(valNew); } + _stopwatch.Stop(); + logger.LogInformation("references_old check runs {MS}ms.", _stopwatch.ElapsedMilliseconds); + #endif CheckConsistence(); - ICollection collection = objects.Keys; + ICollection collection = references.Keys; int count = collection.Count; PdfReference[] irefs = new PdfReference[count]; collection.CopyTo(irefs, 0); -#if true_ - for (int i = 0; i < count; i++) - for (int j = 0; j < count; j++) - if (i != j) - { - Debug.Assert(ReferenceEquals(irefs[i].Document, _document)); - Debug.Assert(irefs[i] != irefs[j]); - Debug.Assert(!ReferenceEquals(irefs[i], irefs[j])); - Debug.Assert(!ReferenceEquals(irefs[i].Value, irefs[j].Value)); - Debug.Assert(!Equals(irefs[i].ObjectID, irefs[j].Value.ObjectID)); - Debug.Assert(irefs[i].ObjectNumber != irefs[j].Value.ObjectNumber); - Debug.Assert(ReferenceEquals(irefs[i].Document, irefs[j].Document)); - _ = typeof(int); - } -#endif return irefs; } - //// TODO: Delete next two lines? - //int _nestingLevel; - //Dictionary _overflow_ = new(); -#if DEBUG - int _nestingLevel; - int _maxNestingLevel; -#endif - - // TODO: Write new non-recursive function and counter check with this implementation. - void TransitiveClosureImplementation(Dictionary objects, PdfObject pdfObject) +#if TEST_CODE + /// + /// This is the old implementation of the transitive closure. It is a recursive implementation. + /// We keep it some time to use it for counter-checking the new non-recursive implementation. + /// + /// + /// + void TransitiveClosureImplementation_old(Dictionary references, PdfObject pdfObject) { - try + IEnumerable? enumerable = null; + PdfDictionary? dict; + PdfArray? array; + if ((dict = pdfObject as PdfDictionary) != null) + enumerable = dict.Elements.Values; + else if ((array = pdfObject as PdfArray) != null) + enumerable = array.Elements; + else + Debug.Assert(false, "Should not come here."); + + if (enumerable != null!) { + foreach (PdfItem item in enumerable) + { + if (item is PdfReference iref) + { + // Is this an indirect reference to an object that does not exist? + //if (iref.Document == null) + //{ + // Deb/ug.WriteLine("Dead object detected: " + iref.ObjectID.ToString()); + // PdfReference dead = DeadObject; + // iref.ObjectID = dead.ObjectID; + // iref.Document = _document; + // iref.SetObject(dead.Value); + // PdfDictionary dict = (PdfDictionary)dead.Value; + + // dict.Elements["/DeadObjectCount"] = + // new PdfInteger(dict.Elements.GetInteger("/DeadObjectCount") + 1); + + // iref = dead; + //} + + if (!ReferenceEquals(iref.Document, document)) + { + //Debug.WriteLine($"Bad iref: {iref.ObjectID.ToString()}"); + PdfSharpLogHost.PdfReadingLogger.LogError($"Bad iref: {iref.ObjectID.ToString()}"); + } + Debug.Assert(ReferenceEquals(iref.Document, document) || iref.Document == null, "External object detected!"); + + if (references.ContainsKey(iref) is false) + { + PdfObject value = iref.Value; + + // Ignore unreachable objects. + if (iref.Document != null) + { + // ... from trailer hack + if (value == null!) // Can it be null? + { + iref = _objectTable[iref.ObjectID]; + Debug.Assert(iref.Value != null); + value = iref.Value; + } + Debug.Assert(ReferenceEquals(iref.Document, document)); + references.Add(iref, null); + //Debug.WriteLine(String.Format("objects.Add('{0}', null);", iref.ObjectID.ToString())); + if (value is PdfArray or PdfDictionary) + TransitiveClosureImplementation_old(references, value); + } #if DEBUG - _nestingLevel++; - _maxNestingLevel = Math.Max(_maxNestingLevel, _nestingLevel); + else + { + _ = typeof(int); + } #endif -#if false - if (_nestingLevel >= 1000) - { - // ReSharper disable once CanSimplifyDictionaryLookupWithTryAdd because it would not build with .NET Framework. - if (!_overflow.ContainsKey(pdfObject)) - _overflow.Add(pdfObject, null); - return; + } + } + else + { + if (item is PdfObject pdfObj and (PdfDictionary or PdfArray)) + TransitiveClosureImplementation_old(references, pdfObj); + } } + } + } #endif -#if DEBUG_ - //enterCount++; - if (enterCount == 5400) - _ = typeof(int); - //if (!Object.ReferenceEquals(pdfObject.Owner, _document)) - // _ = typeof(int); - //////Debug.Assert(Object.ReferenceEquals(pdfObject27.Document, _document)); - // if (item is PdfObject && ((PdfObject)item).ObjectID.ObjectNumber == 5) - // Deb/ug.WriteLine("items: " + ((PdfObject)item).ObjectID.ToString()); - //if (pdfObject.ObjectNumber == 5) - // _ = typeof(int); + /// + /// The new non-recursive implementation. + /// + /// + /// + void TransitiveClosureImplementation(Dictionary references, PdfObject pdfObject) + { + var logger = PdfSharpLogHost.DocumentProcessingLogger; +#if TEST_CODE + //Dictionary doubleCheckReferences = []; + //Dictionary pivots = []; + int loopCounter = 0; + int maxStackLength = 0; + int alreadyInTable = 0; + int elementsAdded = 0; #endif - IEnumerable? enumerable = null; + // Initialize the stack. + Stack stack = []; + FindReferencedItems(pdfObject); + + // Loop until no more new references are found. + while (stack.Count > 0) + { + var pivot = stack.Pop(); +#if TEST_CODE + maxStackLength = Math.Max(maxStackLength, stack.Count); + loopCounter++; + + //// ReSharper disable once CanSimplifyDictionaryLookupWithTryAdd because TryAdd does not exist in .NET Framework. + //if (!pivots.ContainsKey(pivot)) + //{ + // pivots.Add(pivot, null); + //} + //else + //{ + // _ = pivot.Equals(null); + // _ = typeof(int); + //} +#endif + FindReferencedItems(pivot); + } +#if TEST_CODE + logger.LogInformation( + "LoopCounter: {LoopCounter}, MaxStackLength: {MaxStackLength}, AlreadyInTable: {AlreadyInTable}, ElementsAdded: {ElementsAdded}", + loopCounter, maxStackLength, alreadyInTable, elementsAdded); + + //Dictionary test = []; + //foreach (var pivotsValue in pivots.Keys) + //{ + // if (pivotsValue.ObjectID.ObjectNumber == 0) + // continue; + + // test.Add(pivotsValue.ObjectID.ObjectNumber, null); + //} + //int ids = test.Count; +#endif + return; + + // Add all dictionaries and arrays referenced by the specified object + // that are not already in references to the stack. + void FindReferencedItems(PdfObject pdfObj) + { + Debug.Assert(pdfObj is PdfDictionary or PdfArray, "Call with dictionary or array only."); + + IEnumerable? items = null; PdfDictionary? dict; PdfArray? array; - if ((dict = pdfObject as PdfDictionary) != null) - enumerable = dict.Elements.Values; - else if ((array = pdfObject as PdfArray) != null) - enumerable = array.Elements; + if ((dict = pdfObj as PdfDictionary) is not null) + items = dict.Elements.Values; + else if ((array = pdfObj as PdfArray) is not null) + items = array.Elements; else Debug.Assert(false, "Should not come here."); - if (enumerable != null!) + foreach (PdfItem item in items) { - foreach (PdfItem item in enumerable) + if (item is PdfReference iref) { - if (item is PdfReference iref) + // Case: The item is an indirect object. + + // Check if the reference belongs to the current document. + if (!ReferenceEquals(iref.Document, document)) { - // Is this an indirect reference to an object that does not exist? - //if (iref.Document == null) - //{ - // Deb/ug.WriteLine("Dead object detected: " + iref.ObjectID.ToString()); - // PdfReference dead = DeadObject; - // iref.ObjectID = dead.ObjectID; - // iref.Document = _document; - // iref.SetObject(dead.Value); - // PdfDictionary dict = (PdfDictionary)dead.Value; - - // dict.Elements["/DeadObjectCount"] = - // new PdfInteger(dict.Elements.GetInteger("/DeadObjectCount") + 1); - - // iref = dead; - //} - - if (!ReferenceEquals(iref.Document, document)) + logger.LogError($"Bad iref: {iref.ObjectID.ToString()}"); + } + + Debug.Assert(ReferenceEquals(iref.Document, document) || iref.Document == null, + "External object detected!"); + + // Is the reference not yet in the collection of referenced objects? + if (references.ContainsKey(iref)) + { +#if TEST_CODE + alreadyInTable++; +#endif + continue; + } + + var newObject = iref.Value; + + // Ignore unreachable objects. + if (iref.Document != null) + { + // ... from trailer hack + if (newObject == null!) // Can it be null? { - //Debug.WriteLine($"Bad iref: {iref.ObjectID.ToString()}"); - PdfSharpLogHost.PdfReadingLogger.LogError($"Bad iref: {iref.ObjectID.ToString()}"); + logger.LogInformation("Value of a PdfReference is null."); + iref = _objectTable[iref.ObjectID]; + Debug.Assert(iref.Value != null); + newObject = iref.Value; } - Debug.Assert(ReferenceEquals(iref.Document, document) || iref.Document == null, "External object detected!"); -#if DEBUG_ - if (iref.ObjectID.ObjectNumber == 23) + + Debug.Assert(ReferenceEquals(iref.Document, document)); + if (newObject.ObjectID.ObjectNumber != 0) + references.Add(iref, null); +#if TEST_CODE__ + // ReSharper disable once CanSimplifyDictionaryLookupWithTryAdd because auf .NET Framework / Standard + if (!doubleCheckReferences.ContainsKey(value)) + doubleCheckReferences.Add(value, null); + else _ = typeof(int); #endif - if (objects.ContainsKey(iref) is false) - { - PdfObject value = iref.Value; - // Ignore unreachable objects. - if (iref.Document != null) - { - // ... from trailer hack - if (value == null!) // Can it be null? - { - iref = _objectTable[iref.ObjectID]; - Debug.Assert(iref.Value != null); - value = iref.Value; - } - Debug.Assert(ReferenceEquals(iref.Document, document)); - objects.Add(iref, null); - //Debug.WriteLine(String.Format("objects.Add('{0}', null);", iref.ObjectID.ToString())); - if (value is PdfArray or PdfDictionary) - TransitiveClosureImplementation(objects, value); - } -#if DEBUG - else - { - _ = typeof(int); - // objects2.Add(this[iref.ObjectID], null); - } + if (newObject is PdfDictionary or PdfArray) + { + stack.Push(newObject); +#if TEST_CODE + elementsAdded++; #endif - } } else { - //var pdfObject28 = item as PdfObject; - ////if (pdfObject28 != null) - //// Debug.Assert(Object.ReferenceEquals(pdfObject28.Document, _document)); - //if (pdfObject28 != null && (pdfObject28 is PdfDictionary || pdfObject28 is PdfArray)) - //if (pdfObject28 != null) - // Debug.Assert(Object.ReferenceEquals(pdfObject28.Document, _document)); - if (item is PdfObject pdfObj and (PdfDictionary or PdfArray)) - TransitiveClosureImplementation(objects, pdfObj); + // Can we come here? + logger.LogWarning("Document has no owner."); } } - } - } - finally - { -#if DEBUG - _nestingLevel--; + else + { + // Case: The item is a direct object. + + if (item is PdfObject pdfDictionaryOrArray and (PdfDictionary or PdfArray)) + { +#if TEST_CODE_ + // Not useful, is too slow. + if (stack.Contains(pdfDictionaryOrArray)) + _ = typeof(int); +#endif + stack.Push(pdfDictionaryOrArray); +#if TEST_CODE + elementsAdded++; #endif + } + } + } } } - void TransitiveClosureImplementationNew(Dictionary objects, PdfObject pdfObject) - { - // ... - } - +#if true_ // Not used. /// /// Gets the cross-reference to an object used for undefined indirect references. /// @@ -565,39 +718,10 @@ public PdfReference DeadObject } } PdfDictionary? _deadObject; - +#endif /// /// Represents the relation between PdfObjectID and PdfReference for a PdfDocument. /// readonly Dictionary _objectTable = []; } - - ///// - ///// Represents the cross-reference table of a PDF document. - ///// It contains all indirect objects of a document. - ///// - //internal sealed class PdfCrossReferenceStreamTable // Must not be derived from PdfObject. - //{ - // public PdfCrossReferenceStreamTable(PdfDocument document) - // { - // _document = document; - // } - // readonly PdfDocument _document; - - // public class Item - // { - // public PdfReference Reference; - - // public readonly List Entries = new List(); - // } - //} - - //struct CrossReferenceStreamEntry - //{ - // public int Type; - - // public int Field2; - - // public int Field3; - //} } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFileSpecification.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFileSpecification.cs index a197d86b..09da5b41 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFileSpecification.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFileSpecification.cs @@ -29,7 +29,7 @@ void Initialize() var embeddedFileDictionary = new PdfDictionary(Owner); Owner.Internals.AddObject(_embeddedFileStream); - embeddedFileDictionary.Elements.SetReference(Keys.F, _embeddedFileStream.Reference); + embeddedFileDictionary.Elements.SetReference(Keys.F, _embeddedFileStream.Reference ?? throw TH.InvalidOperationException_ReferenceMustNotBeNull()); embeddedFileDictionary.Elements.SetReference(Keys.UF, _embeddedFileStream.Reference); Elements.SetObject(Keys.EF, embeddedFileDictionary); diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfInternals.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfInternals.cs index 2a447206..376520ee 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfInternals.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfInternals.cs @@ -162,7 +162,8 @@ public PdfObject[] GetAllObjects() /// Creates the indirect object of the specified type, adds it to the document, /// and returns the object. ///
    - public T CreateIndirectObject<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] T>() where T : PdfObject + public T CreateIndirectObject<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] T>() + where T : PdfObject { #if true T obj = Activator.CreateInstance(); diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfNameDictionary.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfNameDictionary.cs index 515f085a..760122f3 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfNameDictionary.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfNameDictionary.cs @@ -36,7 +36,7 @@ internal void AddNamedDestination(string destinationName, int destinationPage, P { _dests = new PdfNameTreeNode(); Owner.Internals.AddObject(_dests); - Elements.SetReference(Keys.Dests, _dests.Reference); + Elements.SetReference(Keys.Dests, _dests.Reference ?? throw TH.InvalidOperationException_ReferenceMustNotBeNull()); } // destIndex > Owner.PageCount can happen when rendering pages using PDFsharp directly. @@ -68,7 +68,7 @@ internal void AddEmbeddedFile(string name, Stream stream) { _embeddedFiles = new PdfNameTreeNode(); Owner.Internals.AddObject(_embeddedFiles); - Elements.SetReference(Keys.EmbeddedFiles, _embeddedFiles.Reference); + Elements.SetReference(Keys.EmbeddedFiles, _embeddedFiles.Reference ?? throw TH.InvalidOperationException_ReferenceMustNotBeNull()); } var embeddedFileStream = new PdfEmbeddedFileStream(Owner, stream); diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfObjectStream.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfObjectStream.cs index 19fc8103..76775b86 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfObjectStream.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfObjectStream.cs @@ -37,7 +37,7 @@ internal PdfObjectStream(PdfDictionary dict, Parser documentParser) int first = Elements.GetInteger(Keys.First); Stream.TryUncompress(); - var parser = new Parser(_document, new MemoryStream(Stream.Value), documentParser); + var parser = new Parser(_document, new MemoryStream(Stream.UnfilteredValue), documentParser); _header = parser.ReadObjectStreamHeader(n, first); #if DEBUG_ && CORE @@ -65,11 +65,9 @@ internal ICollection> ReadReferencesAndOffse var objectID = new PdfObjectID(objectNumber); - // HACK_OLD: -1 indicates compressed object. - var iref = new PdfReference(objectID, -1); - ////iref.ObjectID = objectID; - ////iref.Value = xrefStream; - + // -1 indicates compressed object. + var iref = PdfReference.CreateForObjectID(objectID, -1); + _objectOffsets.Add(objectID, offset); if (!xrefTable.Contains(iref.ObjectID)) diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfReference.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfReference.cs index 4422f748..7240a8b5 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfReference.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfReference.cs @@ -16,12 +16,12 @@ namespace PdfSharp.Pdf.Advanced [DebuggerDisplay("iref({ObjectNumber}, {GenerationNumber})")] public sealed class PdfReference : PdfItem { - // About PdfReference - // + // About PdfReference + // // * A PdfReference holds either the ObjectID or the PdfObject or both. - // + // // * Each PdfObject has a PdfReference if and only if it is an indirect object. Direct objects have - // no PdfReference, because they are embedded in a parent objects. + // no PdfReference, because they are embedded in a parent object. // // * PdfReference objects are used to reference PdfObject instances. A value in a PDF dictionary // or array that is a PdfReference represents an indirect reference. A value in a PDF dictionary @@ -37,13 +37,25 @@ public sealed class PdfReference : PdfItem /// /// Initializes a new PdfReference instance for the specified indirect object. + /// An indirect PDF object has one and only one reference. + /// You cannot create an instance of PdfReference. /// - public PdfReference(PdfObject pdfObject) + PdfReference(PdfObject pdfObject, PdfObjectID objectID, SizeType position) { if (pdfObject.Reference != null) throw new InvalidOperationException("Must not create iref for an object that already has one."); _value = pdfObject; pdfObject.Reference = this; + _objectID = objectID; + + if (position != 0) + _position = position; + //else + //{ + // // Can be 0 or -1. + // //_ = typeof(int); + // //PdfSharpLogHost.DocumentProcessingLogger.LogError("Position is 0."); + //} #if UNIQUE_IREF && DEBUG _uid = ++s_counter; #endif @@ -52,7 +64,7 @@ public PdfReference(PdfObject pdfObject) /// /// Initializes a new PdfReference instance from the specified object identifier and file position. /// - public PdfReference(PdfObjectID objectID, SizeType position) + PdfReference(PdfObjectID objectID, SizeType position) { _objectID = objectID; _position = position; @@ -61,6 +73,25 @@ public PdfReference(PdfObjectID objectID, SizeType position) #endif } + /// + /// Creates a PdfReference from a PdfObject. + /// + /// + /// + /// + /// + internal static PdfReference CreateFromObject(PdfObject pdfObject, PdfObjectID objectID, SizeType position) + => new(pdfObject, objectID, position); + + /// + /// Creates a PdfReference from a PdfObjectID. + /// + /// + /// + /// + internal static PdfReference CreateForObjectID(PdfObjectID objectID, SizeType position) + => new(objectID, position); + /// /// Writes the object in PDF iref table format. /// @@ -121,7 +152,7 @@ public PdfObjectID ObjectID public SizeType Position { get => _position; - set + internal set { Debug.Assert(value >= 0); _position = value; @@ -135,7 +166,7 @@ public SizeType Position public PdfObject Value { get => _value; - set + internal set { Debug.Assert(value != null, "The value of a PdfReference must never be null."); Debug.Assert(value.Reference == null || ReferenceEquals(value.Reference, this), "The reference of the value must be null or this."); @@ -144,7 +175,7 @@ public PdfObject Value value.Reference = this; } } - PdfObject _value = default!; + PdfObject _value = null!; /// /// Resets value to null. Used when reading object stream. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfTrailer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfTrailer.cs index bab525f9..1c57bada 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfTrailer.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfTrailer.cs @@ -41,7 +41,7 @@ public PdfTrailer(PdfCrossReferenceStream trailer) if (iref != null) Elements.SetReference(Keys.Info, iref); - Elements.SetReference(Keys.Root, trailer.Elements.GetReference(Keys.Root)); + Elements.SetReference(Keys.Root, trailer.Elements.GetReference(Keys.Root) ?? throw TH.InvalidOperationException_ReferenceMustNotBeNull()); Elements.SetInteger(Keys.Size, trailer.Elements.GetInteger(Keys.Size)); diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Content/CLexer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Content/CLexer.cs index e7d0f47f..232e5f12 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Content/CLexer.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Content/CLexer.cs @@ -3,23 +3,23 @@ using System.Text; using Microsoft.Extensions.Logging; -using PdfSharp.Internal; using PdfSharp.Logging; namespace PdfSharp.Pdf.Content { /// - /// Lexical analyzer for PDF content files. Adobe specifies no grammar, but it seems that it + /// Lexical analyzer for PDF content streams. Adobe specifies no grammar, but it seems that it /// is a simple post-fix notation. /// public class CLexer { /// - /// Initializes a new instance of the Lexer class. + /// Initializes a new instance of the CLexer class. /// public CLexer(byte[] content) { _content = content; + ContLength = _content.Length; _charIndex = 0; } @@ -28,7 +28,18 @@ public CLexer(byte[] content) /// public CLexer(MemoryStream content) { - _content = content.ToArray(); + if (content.TryGetBuffer(out var buffer)) + { + _content = buffer.Array ?? throw new InvalidOperationException("Array must not be null."); + // Memory streams are 32-bit byte arrays. + ContLength = (int)content.Length; + } + else + { + _content = content.ToArray(); + ContLength = _content.Length; + } + _charIndex = 0; } @@ -49,11 +60,11 @@ public CSymbol ScanNextToken() goto Again; case '/': - return Symbol = ScanName(); + return ScanName(); case '+': case '-': - return Symbol = ScanNumber(); + return ScanNumber(); case '[': ScanNextChar(); @@ -64,25 +75,25 @@ public CSymbol ScanNextToken() return Symbol = CSymbol.EndArray; case '(': - return Symbol = ScanLiteralString(); + return ScanLiteralString(); case '<': if (_nextChar == '<') - return Symbol = ScanDictionary(); - return Symbol = ScanHexadecimalString(); + return ScanDictionary(); + return ScanHexadecimalString(); case '.': - return Symbol = ScanNumber(); + return ScanNumber(); case '"': case '\'': - return Symbol = ScanOperator(); + return ScanOperator(); } if (Char.IsDigit(ch)) - return Symbol = ScanNumber(); + return ScanNumber(); if (Char.IsLetter(ch)) - return Symbol = ScanOperator(); + return ScanOperator(); if (ch == Chars.EOF) return Symbol = CSymbol.Eof; @@ -279,11 +290,7 @@ protected CSymbol ScanDictionary() else { ScanNextChar(); -#if true - return CSymbol.Dictionary; -#else - return CSymbol.String; -#endif + return Symbol = CSymbol.Dictionary; } } } @@ -298,86 +305,173 @@ protected CSymbol ScanDictionary() public CSymbol ScanNumber() { // Note: This is a copy of Lexer.ScanNumber with minimal changes. Keep both versions in sync as far as possible. - const int maxDigitsForLong = 18; - const int maxDecimalDigits = 10; - long value = 0; - int totalDigits = 0; - int decimalDigits = 0; - bool period = false; - bool negative = false; + + // Parsing Strategy: + // Most real life numbers in PDF files have less than 19 digits. So we try to parse all digits as 64-bit integers + // in the first place. All leading zeros are skipped and not counted. + // If we found a decimal point we later divide the result by the appropriate power of 10 and covert is to Double. + // For edge cases, which are numbers with 19 digits, the token is parsed again with 'Int64.TryParse()' and + // if this fails with 'Double.TryParse'. + // If 'testForObjectReference' is 'true' and the value has up to 7 digits, no decimal point and no sign, + // we look ahead whether it is an object reference having the form '{object-number} {generation-number} R'. + + const int maxDigitsForLong = 18; // Up to 18 digits values can safely fit into 64-bit integer. + const int maxDecimalDigits = 10; // Maximum number of decimal digits we process. + var value = 0L; // The 64-bit value we have parsed. + var canBeLeadingZero = true; // True if a '0' is a leading zero and gets skipped. + var leadingZeros = 0; // The number of scanned leading zeros. Used for optional warning. + var totalDigits = 0; // The total number of digits scanned. E.g. is 7 for '123.4567'. + var decimalDigits = 0; // The total number of decimal digits scanned. E.g. is 4 for '123.4567'. + //var allDecimalDigitsAreZero = true; // Not used anymore, because '123.000' is always treated as double, never as integer. + var period = false; // The decimal point '.' was scanned. + var negative = false; // The value is negative and the scanned value is negated. + + var ch = _currChar; + Debug.Assert(ch is '+' or '-' or '.' or (>= '0' and <= '9')); ClearToken(); - char ch = _currChar; if (ch is '+' or '-') { if (ch == '-') negative = true; _token.Append(ch); ch = ScanNextChar(); + + // Never saw this in any PDF file. + if (ch is not ('.' or >= '0' and <= '9')) + { + PdfSharpLogHost.Logger.LogError("+/- not followed by a number or decimal point."); + } } + + // Scan the number. while (true) { - if (Char.IsDigit(ch)) + if (ch is >= '0' and <= '9') { _token.Append(ch); - ++totalDigits; + + if (canBeLeadingZero) + { + if (ch == '0') + { + leadingZeros++; + } + else + { + canBeLeadingZero = false; + ++totalDigits; + } + } + else + { + ++totalDigits; + } + if (decimalDigits < maxDecimalDigits) { // Calculate the value if it still fits into long. + // Lexer only: The value gets later parsed again by .NET if the total number of digits exceeds 18 digits. if (totalDigits <= maxDigitsForLong) value = 10 * value + ch - '0'; } + if (period) + { ++decimalDigits; + // A number with a decimal point is always considered as Symbol.Real, + // even if it fits in Symbol.Integer or Symbol.LongInteger. + // KEEP for documental purposes. + //// E.g. '123.0000' is real, but fits in an integer. + //if (ch is not '0') + // allDecimalDigitsAreZero = false; + } } else if (ch == '.') { + _token.Append(ch); + + // More than one period? if (period) - ContentReaderDiagnostics.ThrowContentReaderException("More than one period in number."); + ContentReaderDiagnostics.ThrowContentReaderException("More than one decimal point in number."); period = true; - _token.Append(ch); + canBeLeadingZero = false; } else break; ch = ScanNextChar(); } - if (totalDigits > maxDigitsForLong || - decimalDigits > maxDecimalDigits) + if (leadingZeros > 1) +#pragma warning disable CA2254 // This is a rare case. Therefor we use string interpolation. + PdfSharpLogHost.PdfReadingLogger.LogWarning($"Token '{_token}' has more than one leading zero."); +#pragma warning restore CA2254 + + // CLexer does not support LongInteger. + if (totalDigits > maxDigitsForLong || decimalDigits > maxDecimalDigits) { - // The number is too big for long or has too many decimal digits for our own code, so we provide it as real only. - // Number will be parsed here. + //// Case: It is not guarantied that the number fits in a 64-bit integer. + //// It is not integer if there is a period. + //if (period is false && totalDigits == maxDigitsForLong + 1) + //{ + // // Case: We have exactly 19 digits and no decimal point, which might fit in a 64-bit integer, + // // depending on the value. + // // If the 19-digit numbers is + // // in the range [1,000,000,000,000,000,000 .. 9,223,372,036,854,775,807] + // // or + // // in the range [-9,223,372,036,854,775,808 .. -1,000,000,000,000,000,000] + // // it is a 64-bit integer. Otherwise, it is not. + // // Because this is a super rare case we make life easy and parse the scanned token again by .NET. + // if (Int64.TryParse(_token.ToString(), out var result)) + // { + // _tokenAsLong = result; + // _tokenAsReal = result; + // return Symbol = Symbol.LongInteger; + // } + //} + + // Case: The number is too big for long or has too many decimal digits for our own code, + // so we provide it as real only. + // Number will be parsed by .NET. _tokenAsReal = Double.Parse(_token.ToString(), CultureInfo.InvariantCulture); - return CSymbol.Real; + + return Symbol = CSymbol.Real; } + // Case: The number is in range [0 .. 999,999,999,999,999,999] and fits into a 64-bit integer. if (negative) - value = -value; + value = -value; // Flipping 64-bit integer sign is safe here. if (period) { + // Case: A number with a period is always considered to be real value. if (decimalDigits > 0) { _tokenAsReal = value / PowersOf10[decimalDigits]; - //_tokenAsLong = value / PowersOf10[decimalDigits]; + // KEEP for documental purposes. + //// It is not integer if there is a period. + //if (allDecimalDigitsAreZero) + // _tokenAsLong = (long)_tokenAsReal; } else { _tokenAsReal = value; - _tokenAsLong = value; + // KEEP for documental purposes. + //// It is not integer if there is a period. + // _tokenAsLong = value; } - return CSymbol.Real; + return Symbol = CSymbol.Real; } _tokenAsLong = value; _tokenAsReal = Convert.ToDouble(value); Debug.Assert(Int64.Parse(_token.ToString(), CultureInfo.InvariantCulture) == value); - if (value is >= Int32.MinValue and < Int32.MaxValue) - return CSymbol.Integer; + if (value is >= Int32.MinValue and <= Int32.MaxValue) + return Symbol = CSymbol.Integer; - return CSymbol.Real; + return Symbol = CSymbol.Real; // CLexer returns "Real" because there is no "LongInteger". } static readonly double[] PowersOf10 = [1, 10, 100, 1_000, 10_000, 100_000, 1_000_000, 10_000_000, 100_000_000, 1_000_000_000, 10_000_000_000]; @@ -588,6 +682,7 @@ public CSymbol ScanLiteralString() goto SkipChar; default: + // Sync with ScanStringLiteral. if (Char.IsDigit(ch)) { // Octal character code. @@ -689,7 +784,7 @@ static char LogError(char ch) ///
    char ScanNextChar() { - if (ContLength <= _charIndex) + if (_charIndex >= ContLength) { _currChar = _nextChar; // The last character we are now dealing with. _nextChar = Chars.EOF; // Next character is EOF. @@ -702,7 +797,7 @@ char ScanNextChar() { if (_nextChar == Chars.LF) { - // Treat CR LF as LF + // Treat CR LF as LF. _currChar = _nextChar; if (ContLength <= _charIndex) _nextChar = Chars.EOF; @@ -733,7 +828,8 @@ void ClearToken() /// Appends current character to the token and /// reads next byte as a character. ///
    - internal char AppendAndScanNextChar() + /*internal*/ + char AppendAndScanNextChar() { _token.Append(_currChar); return ScanNextChar(); @@ -856,7 +952,7 @@ internal static bool IsDelimiter(char ch) /// /// Gets the length of the content. /// - public int ContLength => _content.Length; + public int ContLength { get; } /// /// Gets or sets the position in the content. @@ -866,9 +962,10 @@ public int Position get => _charIndex; set { + Debug.Assert(value >= 0); _charIndex = value; - _currChar = (char)_content[_charIndex - 1]; - _nextChar = (char)_content[_charIndex - 1]; + _currChar = _charIndex < ContLength ? (char)_content[_charIndex] : Chars.EOF; + _nextChar = _charIndex + 1 < ContLength ? (char)_content[_charIndex + 1] : Chars.EOF; } } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/Lexer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/Lexer.cs index 2f23feba..c02e6add 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/Lexer.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/Lexer.cs @@ -3,7 +3,6 @@ using System.Text; using Microsoft.Extensions.Logging; -using PdfSharp.Internal; using PdfSharp.Logging; using PdfSharp.Pdf.Internal; @@ -26,7 +25,7 @@ public Lexer(Stream pdfInputStream, ILogger? logger) _pdfStream = pdfInputStream; // ReSharper disable once RedundantCast because SizeType can be 32 bit depending on build. _pdfLength = (SizeType)_pdfStream.Length; - _idxChar = 0; + _charIndex = 0; Position = 0; _logger = logger ?? PdfSharpLogHost.PdfReadingLogger; } @@ -45,13 +44,13 @@ public SizeType Position { get { - Debug.Assert(_pdfStream.Position == _idxChar + 2); - return _idxChar; + Debug.Assert(_pdfStream.Position == _charIndex + 2); + return _charIndex; } set { Debug.Assert(value >= 0); - _idxChar = value; + _charIndex = value; _pdfStream.Position = value; // ReadByte return -1 (eof) at the end of the stream. @@ -83,15 +82,15 @@ public Symbol ScanNextToken(bool testForObjectReference) goto TryAgain; case '/': - return Symbol = ScanName(); + return ScanName(); case '+': case '-': // Cannot be an object reference if a sign was found. - return Symbol = ScanNumber(false); + return ScanNumber(false); case '(': - return Symbol = ScanStringLiteral(); + return ScanStringLiteral(); case '[': ScanNextChar(true); @@ -108,7 +107,7 @@ public Symbol ScanNextToken(bool testForObjectReference) ScanNextChar(true); return Symbol = Symbol.BeginDictionary; } - return Symbol = ScanHexadecimalString(); + return ScanHexadecimalString(); case '>': if (_nextChar == '>') @@ -122,19 +121,20 @@ public Symbol ScanNextToken(bool testForObjectReference) goto default; case >= '0' and <= '9': - Symbol = ScanNumber(testForObjectReference); + ScanNumber(testForObjectReference); Debug.Assert(Symbol is Symbol.Integer or Symbol.LongInteger or Symbol.Real or Symbol.ObjRef); return Symbol; case '.': // Cannot be an object reference if a decimal point was found. - Symbol = ScanNumber(false); + ScanNumber(false); Debug.Assert(Symbol == Symbol.Real); return Symbol; case >= 'a' and <= 'z': - return Symbol = ScanKeyword(); + return ScanKeyword(); +#if DEBUG case 'R': Debug.Assert(false, "'R' should not be parsed anymore."); // Note: "case 'R':" is not scanned, because it is only used in an object reference. @@ -142,6 +142,7 @@ public Symbol ScanNextToken(bool testForObjectReference) ScanNextChar(true); // The next line only exists for the 'UseOldCode' case in PdfReader. return Symbol = Symbol.R; +#endif case Chars.EOF: return Symbol = Symbol.Eof; @@ -178,9 +179,13 @@ public Symbol ScanComment() if (ch is Chars.LF or Chars.EOF) break; } - // TODO_OLD: not correct | StLa/24-01-23: Why? + // If someone writes '%%EOF' somewhere in the document this must not be + // interpreted as the end of the PDF file. if (_token.ToString().StartsWith("%%EOF", StringComparison.Ordinal)) - return Symbol.Eof; + { + //return Symbol.Eof; // This is wrong. + _logger.LogError("Unexpected '%%EOF' read."); + } return Symbol = Symbol.Comment; } @@ -252,14 +257,15 @@ static char LogError(char ch) /// Scans a number or an object reference. /// Returns one of the following symbols. /// Symbol.ObjRef if testForObjectReference is true and the pattern "nnn ggg R" can be found. - /// Symbol.Real if a decimal point exists or the number of digits is too large for 64-bit integer. + /// Symbol.Real if a decimal point exists or the number is too large for 64-bit integer. /// Symbol.Integer if the long value is in the range of 32-bit integer. /// Symbol.LongInteger otherwise. /// - public Symbol ScanNumber(bool testForObjectReference) + /*public */ + internal Symbol ScanNumber(bool testForObjectReference) { // We found a PDF file created with Acrobat 7 with this entry - // /Checksum 2996984786 # larger than 2.147.483.648 (2^31) + // /Checksum 2996984786 # larger than 2,147,483,648 (2^31) // // Also got an AutoCAD PDF file that contains // /C 264584027963392 # 15 digits @@ -269,38 +275,48 @@ public Symbol ScanNumber(bool testForObjectReference) // Note: This is a copy of CLexer.ScanNumber with minimal changes. Keep both versions in sync as far as possible. // Update StL: Function is revised for object reference look ahead. + // Parsing Strategy: + // Most real life numbers in PDF files have less than 19 digits. So we try to parse all digits as 64-bit integers + // in the first place. All leading zeros are skipped and not counted. + // If we found a decimal point we later divide the result by the appropriate power of 10 and covert is to Double. + // For edge cases, which are numbers with 19 digits, the token is parsed again with 'Int64.TryParse()' and + // if this fails with 'Double.TryParse'. + // If 'testForObjectReference' is 'true' and the value has up to 7 digits, no decimal point and no sign, + // we look ahead whether it is an object reference having the form '{object-number} {generation-number} R'. const int maxDigitsForObjectNumber = 7; // max: 8_388_608 / 0x_7F_FF_FF const int maxDigitsForGenerationNumber = 5; // max: 65_535 / 0x_FF_FF - const int maxDigitsForLong = 18; - const int maxDecimalDigits = 10; - var value = 0L; - var totalDigits = 0; - var decimalDigits = 0; - var period = false; - var negative = false; + const int maxDigitsForLong = 18; // Up to 18 digits values can safely fit into 64-bit integer. + const int maxDecimalDigits = 10; // Maximum number of decimal digits we process. + var value = 0L; // The 64-bit value we have parsed. + var canBeLeadingZero = true; // True if a '0' is a leading zero and gets skipped. + var leadingZeros = 0; // The number of scanned leading zeros. Used for optional warning. + var totalDigits = 0; // The total number of digits scanned. E.g. is 7 for '123.4567'. + var decimalDigits = 0; // The total number of decimal digits scanned. E.g. is 4 for '123.4567'. + //var allDecimalDigitsAreZero = true; // Not used anymore, because '123.000' is always treated as double, never as integer. + var period = false; // The decimal point '.' was scanned. + var negative = false; // The value is negative and the scanned value is negated. + var ch = _currChar; Debug.Assert(ch is '+' or '-' or '.' or (>= '0' and <= '9')); - // If first char is not a digit, it cannot be an object reference. + // If the first char is not a digit, it cannot be by definition an object reference. if (testForObjectReference && ch is not (>= '0' and <= '9')) testForObjectReference = false; -#if DEBUG_ - var pos = Position; - var neighborhood = GetNeighborhoodOfCurrentPosition(Position); - Console.W/riteLine(neighborhood); -#endif + ClearToken(); if (ch is '+' or '-') { + // 'testForObjectReference == false' is already ensured here. + if (ch == '-') negative = true; _token.Append(ch); ch = ScanNextChar(true); - // Never saw this in any PDF file, but possible. + // Never saw this in any PDF file. if (ch is not ('.' or >= '0' and <= '9')) { - PdfSharpLogHost.Logger.LogError("+/- not followed by a number."); + PdfSharpLogHost.Logger.LogError("+/- not followed by a number or decimal point."); } } @@ -310,83 +326,154 @@ public Symbol ScanNumber(bool testForObjectReference) if (ch is >= '0' and <= '9') { _token.Append(ch); - ++totalDigits; + + if (canBeLeadingZero) + { + if (ch == '0') + { + leadingZeros++; + } + else + { + canBeLeadingZero = false; + ++totalDigits; + } + } + else + { + ++totalDigits; + } + if (decimalDigits < maxDecimalDigits) { // Calculate the value if it still fits into long. + // The value gets later parsed again by .NET if the total number of digits exceeds 18 digits. if (totalDigits <= maxDigitsForLong) value = 10 * value + ch - '0'; } + if (period) + { ++decimalDigits; + // A number with a decimal point is always considered as Symbol.Real, + // even if it fits in Symbol.Integer or Symbol.LongInteger. + // KEEP for documental purposes. + //// E.g. '123.0000' is real, but fits in an integer. + //if (ch is not '0') + // allDecimalDigitsAreZero = false; + } } else if (ch == '.') { + _token.Append(ch); + // More than one period? if (period) - ContentReaderDiagnostics.ThrowContentReaderException("More than one period in number."); + ContentReaderDiagnostics.ThrowContentReaderException("More than one decimal point in number."); period = true; - _token.Append(ch); + canBeLeadingZero = false; } else break; ch = ScanNextChar(true); } +#if true_ // KEEP Maybe we warn in the future about leading zeros outside xref. + // xref has lots of leading zeros. + // Maybe we add a parameter 'warnAboutLeadingZeros', but not yet. + if (leadingZeros > 1) +#pragma warning disable CA2254 // This is a rare case outside xref. Therefor we use string interpolation. + PdfSharpLogHost.PdfReadingLogger.LogWarning($"Token '{_token}' has more than one leading zero."); +#pragma warning restore CA2254 +#endif // Can the scanned number be the first part of an object reference? if (testForObjectReference && period is false - && totalDigits <= maxDigitsForObjectNumber + && totalDigits <= maxDigitsForObjectNumber // Values in range [8_388_609..9_999_999] are checked in PdfObjectID. && IsWhiteSpace(_currChar)) { -#if DEBUG +#if DEBUG_ LexerHelper.TryCheckReferenceCount++; #endif int gen = TryReadReference(); if (gen >= 0) { -#if DEBUG +#if DEBUG_ LexerHelper.TryCheckReferenceSuccessCount++; #endif _tokenAsObjectID = ((int)value, gen); - return Symbol.ObjRef; + return Symbol = Symbol.ObjRef; } } if (totalDigits > maxDigitsForLong || decimalDigits > maxDecimalDigits) { - // The number is too big for long or has too many decimal digits for our own code, + // Case: It is not guarantied that the number fits in a 64-bit integer. + + // It is not integer if there is a period. + if (period is false && totalDigits == maxDigitsForLong + 1) + { + // Case: We have exactly 19 digits and no decimal point, which might fit in a 64-bit integer, + // depending on the value. + // If the 19-digit numbers is + // in the range [1,000,000,000,000,000,000 .. 9,223,372,036,854,775,807] + // or + // in the range [-9,223,372,036,854,775,808 .. -1,000,000,000,000,000,000] + // it is a 64-bit integer. Otherwise, it is not. + // Because this is a super rare case we make life easy and parse the scanned token again by .NET. + if (Int64.TryParse(_token.ToString(), out var result)) + { + _tokenAsLong = result; + _tokenAsReal = result; + return Symbol = Symbol.LongInteger; + } + } + + // Case: The number is too big for long or has too many decimal digits for our own code, // so we provide it as real only. // Number will be parsed by .NET. _tokenAsReal = Double.Parse(_token.ToString(), CultureInfo.InvariantCulture); - return Symbol.Real; + + return Symbol = Symbol.Real; } + // Case: The number is in range [0 .. 999,999,999,999,999,999] and fits into a 64-bit integer. if (negative) - value = -value; + value = -value; // Flipping 64-bit integer sign is safe here. if (period) { + // Case: A number with a period is always considered to be real value. if (decimalDigits > 0) { _tokenAsReal = value / PowersOf10[decimalDigits]; + // KEEP for documental purposes. + //// It is not integer if there is a period. + //if (allDecimalDigitsAreZero) + // _tokenAsLong = (long)_tokenAsReal; } else { _tokenAsReal = value; - _tokenAsLong = value; + // KEEP for documental purposes. + //// It is not integer if there is a period. + // _tokenAsLong = value; } - return Symbol.Real; + return Symbol = Symbol.Real; } _tokenAsLong = value; _tokenAsReal = Double.NaN; Debug.Assert(Int64.Parse(_token.ToString(), CultureInfo.InvariantCulture) == value); - if (value is >= Int32.MinValue and < Int32.MaxValue) - return Symbol.Integer; - return Symbol.LongInteger; + if (value is >= Int32.MinValue and <= Int32.MaxValue) + { + // Case: Fits in the range of a 32-bit integer. + return Symbol = Symbol.Integer; + } + + return Symbol = Symbol.LongInteger; // Try to read generation number followed by an 'R'. // Returns -1 if not an object reference. @@ -396,7 +483,7 @@ int TryReadReference() // A Reference has the form "nnn ggg R". The original implementation of the parser used a // reduce/shift algorithm in the first place. But this case is the only one we need to - // look ahead 3 tokens. + // look ahead 2 tokens. // This is a new implementation that checks whether a scanned integer is followed by // another integer and an 'R'. @@ -441,6 +528,7 @@ int TryReadReference() if (_currChar != 'R') goto NotAReference; + // Eat the 'R'. ScanNextChar(true); return generationNumber; @@ -453,6 +541,7 @@ int TryReadReference() return -1; } } + static readonly double[] PowersOf10 = [1, 10, 100, 1_000, 10_000, 100_000, 1_000_000, 10_000_000, 100_000_000, 1_000_000_000, 10_000_000_000]; /// @@ -481,7 +570,7 @@ public Symbol ScanKeyword() "null" => Symbol = Symbol.Null, "true" => Symbol = Symbol.Boolean, "false" => Symbol = Symbol.Boolean, - "R" => Symbol = Symbol.R, + "R" => Symbol = Symbol.R, // Not scanned anymore because it is handled in ScanNumber. "stream" => Symbol = Symbol.BeginStream, "endstream" => Symbol = Symbol.EndStream, "xref" => Symbol = Symbol.XRef, @@ -708,33 +797,10 @@ public bool TryScanLiterally(string literal) return true; } - ///// - ///// Tries to scan "\n", "\r" or "\r\n" and moves the Position to the next line. - ///// - //public bool TryScanEndOfLine() => TryScanEndOfLine(true, true, true); - - ///// - ///// Tries to scan the accepted end-of-line markers and moves the Position to the next line. - ///// - //public bool TryScanEndOfLine(bool acceptCR, bool acceptLF, bool acceptCRLF) - //{ - // if (acceptCRLF && _currChar == Chars.CR && _nextChar == Chars.LF) - // { - // Position += 2; - // return true; - // } - // if (acceptCR && _currChar == Chars.CR || acceptLF && _currChar == Chars.LF) - // { - // Position += 1; - // return true; - // } - // return false; - //} - /// /// Return the exact position where the content of the stream starts. /// The logical position is also set to this value when the function returns.
    - /// Reference: 3.2.7 Stream Objects / Page 60 + /// Reference: 3.2.7 Stream Objects / Page 60
    /// Reference 2.0: 7.3.8 Stream objects / Page 31 ///
    public SizeType FindStreamStartPosition(PdfObjectID id) @@ -817,7 +883,7 @@ public byte[] ScanStream(SizeType position, int length, out int bytesRead) if (!ReadWholeStreamSequence(_pdfStream, length, out var bytes, out bytesRead)) { // EOF reached, so return what was read. - _logger.EndOfStreamReached(length,position,bytesRead); + _logger.EndOfStreamReached(length, position, bytesRead); Position = position + bytesRead; return bytes; @@ -853,7 +919,7 @@ static bool ReadWholeStreamSequence(Stream stream, int length, out byte[] conten // use a MemoryStream to cache the original stream if necessary. // However, without this workaround the file would be regarded as corrupt instead of the stream not being compatible. do - { + { // Log error only for retries. ConditionalLogOnRetry(bytesRead, "Stream.Read did not return the whole requested sequence. As a workaround, reading the missing bytes is tried again."); @@ -954,18 +1020,18 @@ public string ScanRawString(SizeType position, int length) /// return it as a character with high byte always zero. ///
    // ReSharper disable once InconsistentNaming - internal char ScanNextChar(bool handleCRLF) // ScanNextByteAsChar + internal char ScanNextChar(bool handleCRLF) { - if (_idxChar >= _pdfLength) + if (_charIndex >= _pdfLength) { - _currChar = Chars.EOF; - _nextChar = Chars.EOF; + _currChar = _nextChar; // The last character we are now dealing with. + _nextChar = Chars.EOF; // Next character is EOF. } else { _currChar = _nextChar; _nextChar = (char)_pdfStream.ReadByte(); - _idxChar++; + _charIndex++; if (handleCRLF && _currChar == Chars.CR) { if (_nextChar == Chars.LF) @@ -973,7 +1039,7 @@ internal char ScanNextChar(bool handleCRLF) // ScanNextByteAsChar // Treat CR LF as LF. _currChar = _nextChar; _nextChar = (char)_pdfStream.ReadByte(); - _idxChar++; + _charIndex++; } else { @@ -1154,8 +1220,21 @@ public int TokenToInteger { get { - Debug.Assert(_tokenAsLong == Int32.Parse(_token.ToString(), CultureInfo.InvariantCulture)); - return (int)_tokenAsLong; + return Symbol switch + { + Symbol.Integer => (int)_tokenAsLong, + + // Should always fail, because if token fits into integer the symbol type would not be LongInteger. + Symbol.LongInteger => _tokenAsLong is >= Int32.MinValue and <= Int32.MaxValue ? + (int)_tokenAsLong : Throw(), + + // All other types fail. + //Symbol.Real => 42, + //Symbol.ObjRef => 42, + _ => throw new InvalidOperationException("Symbol type is not 'Integer'.") + }; + + static int Throw() => throw new InvalidOperationException("64-bit value too large for 32-bit value."); } } @@ -1164,11 +1243,12 @@ public int TokenToInteger ///
    public long TokenToLongInteger { - get + get => Symbol switch { - Debug.Assert(_tokenAsLong == Int64.Parse(_token.ToString(), CultureInfo.InvariantCulture)); - return _tokenAsLong; - } + Symbol.Integer => _tokenAsLong, + Symbol.LongInteger => _tokenAsLong, + _ => throw new InvalidOperationException("Symbol type is not 'Integer' or 'LongInteger'.") + }; } /// @@ -1207,6 +1287,7 @@ internal static bool IsWhiteSpace(char ch) { return ch switch { + // Reference 2.0: 7.1 Table 1 — White-space characters / Page 22 Chars.NUL => true, // 0 Null Chars.HT => true, // 9 Horizontal Tab Chars.LF => true, // 10 Line Feed @@ -1222,6 +1303,7 @@ internal static bool IsWhiteSpace(char ch) /// internal static bool IsDelimiter(char ch) { + // Reference 2.0: 7.1 Table 2 — Delimiter characters / Page 23 return ch switch { '(' => true, @@ -1243,7 +1325,7 @@ internal static bool IsDelimiter(char ch) ///
    public SizeType PdfLength => _pdfLength; readonly SizeType _pdfLength; - SizeType _idxChar; + SizeType _charIndex; char _currChar; char _nextChar; readonly StringBuilder _token = new(); @@ -1251,10 +1333,10 @@ internal static bool IsDelimiter(char ch) double _tokenAsReal; (int, int) _tokenAsObjectID; readonly Stream _pdfStream; - ILogger _logger; + readonly ILogger _logger; } -#if DEBUG +#if DEBUG_ public class LexerHelper { // Give me an idea of the try/success ratio. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/Parser.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/Parser.cs index 4b063b29..47b96239 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/Parser.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/Parser.cs @@ -362,8 +362,8 @@ void ReadDictionaryStream(PdfDictionary dict, SuppressExceptions? suppressObject int streamLength = GetStreamLength(dict, suppressObjectOrderExceptions); if (SuppressExceptions.HasError(suppressObjectOrderExceptions)) return; -//#warning THHO4STLA What to do if startPosition + streamLength is larger than length of stream? => Better not show "Please send us your PDF file" but another error message. -// TODO_OLD THHO4STLA What to do if startPosition + streamLength is larger than length of stream? => Better not show "Please send us your PDF file" but another error message. + //#warning THHO4STLA What to do if startPosition + streamLength is larger than length of stream? => Better not show "Please send us your PDF file" but another error message. + // TODO_OLD THHO4STLA What to do if startPosition + streamLength is larger than length of stream? => Better not show "Please send us your PDF file" but another error message. int retryCount = 0; RetryReadStream: // Step 3: We try to read the stream content. @@ -494,7 +494,7 @@ int GetStreamLength(PdfDictionary dict, SuppressExceptions? suppressObjectOrderE PdfSharpLogHost.Logger.LogError("Object '{Object}' has no valid /Length entry. Try to determine stream length by looking for 'endstream'.", dict.ObjectID.ToString()); #if TEST_CODE_ - TestStreamWithoutLengthEntry: + TestStreamWithoutLengthEntry: #endif // Try to determine an upper limit of the stream length. var behindPosition = _document.IrefTable.GetPositionOfObjectBehind(dict, _lexer.Position); @@ -707,10 +707,11 @@ List ParseObject(Symbol stopSymbol) items.Add(new PdfName(_lexer.Token)); break; +#if DEBUG case Symbol.R: - //Debug.Assert(_options.UseOldCode == true, "Must not come here anymore"); Debug.Assert(false, "Must not come here anymore"); break; +#endif case Symbol.ObjRef: { @@ -726,7 +727,7 @@ List ParseObject(Symbol stopSymbol) { // XRefTable not complete when trailer is read. Create temporary irefs that are // removed later in PdfTrailer.Finish(). - iref = new PdfReference(objectID, 0); + iref = PdfReference.CreateForObjectID(objectID, 0); items.Add(iref); } else @@ -1043,7 +1044,7 @@ PdfObject ReadIndirectObjectFromObjectStreamInternal(PdfObjectID objectID, Suppr throw TH.PdfReaderException_ObjectCouldNotBeFoundInObjectStreams(); #endif } - + /// /// Reads the PdfObjects of all known references, no matter if they are saved at document level or inside an ObjectStream. /// @@ -1153,25 +1154,37 @@ internal void ReadAllObjectStreamsAndTheirReferences() // ObjectStream could not be loaded. Maybe its stream length is saved in an ObjectStream not yet loaded. Try it again in the next round. nextObjectStreamIDsToLoad.Add(objectStreamID); - PdfSharpLogHost.PdfReadingLogger.LogWarning($"Loading ObjectStream with ID {objectStreamID} will be retried."); + PdfSharpLogHost.PdfReadingLogger.LogWarning("Loading ObjectStream with ID {objectStreamID} will be retried.", objectStreamID); // Read next ObjectStream. continue; } // Create the parser for the object stream. - var objectStreamParser = new Parser(_document, new MemoryStream(objectStream.Stream.Value), _documentParser); + var objectStreamParser = new Parser(_document, new MemoryStream(objectStream.Stream.UnfilteredValue), _documentParser); // Read and add all References to objects residing in the object stream and get all ObjectIDs and offsets . var objectIDsWithOffset = objectStream.ReadReferencesAndOffsets(_document.IrefTable); - + // Save all ObjectIDs with the parser of its ObjectStream and its offset. foreach (var objectIDWithOffset in objectIDsWithOffset) { var objectID = objectIDWithOffset.Key; var offset = objectIDWithOffset.Value; - _objectStreamObjectSources.Add(objectID, (objectStreamParser, offset)); + // PDFsharp reads objects from high addresses down to low addresses. + // Thus, the newest object should be read first. + // For duplicate IDs, we keep the first object and ignore objects read later. + if (!_objectStreamObjectSources.TryGetValue(objectID, out _)) + { + // Add object with new objectID. + _objectStreamObjectSources.Add(objectID, (objectStreamParser, offset)); + } + else + { + // Ignore object with objectID already on the list. + PdfSharpLogHost.PdfReadingLogger.LogWarning("Ignoring object with ID {objectID} because an object with that ID was already read.", objectID); + } } } @@ -1231,7 +1244,7 @@ internal void ReadAllObjectStreamsAndTheirReferences() continue; } - var objectStreamParser = new Parser(_document, new MemoryStream(objectStream.Stream.Value), _documentParser); + var objectStreamParser = new Parser(_document, new MemoryStream(objectStream.Stream.UnfilteredValue), _documentParser); _objectStreamsWithParsers.Add(objectStreamID, (objectStream, objectStreamParser)); // Read and add all References to objects residing in the object stream. @@ -1424,7 +1437,8 @@ internal PdfTrailer ReadTrailer() continue; int idToUse = id; -#if true // The following issue in PDF files is rare, but must be fixed here to prevent PdfReference with wrong IDs. +#if true + // The following issue in PDF files is rare, but must be fixed here to prevent PdfReference with wrong IDs. // We found PDF files where the ID of the referenced object was misaligned by one relative to // its number from the xref table. // Check if the object at the address has the correct ID and generation. @@ -1454,7 +1468,9 @@ internal PdfTrailer ReadTrailer() // Ignore the latter one. if (xrefTable.Contains(objectID)) continue; - xrefTable.Add(new PdfReference(objectID, position)); + + var iref = PdfReference.CreateForObjectID(objectID, position); + xrefTable.Add(iref); } } else if (symbol == Symbol.Trailer) @@ -1569,12 +1585,7 @@ PdfTrailer ReadXRefStream(PdfCrossReferenceTable xrefTable) // Usually, the cross-reference stream and its reference have not been read yet. if (!xrefTable.Contains(objectID)) { - var iref = new PdfReference(xrefStream) - { - ObjectID = objectID, - Value = xrefStream, - Position = xrefStart - }; + var iref = PdfReference.CreateFromObject(xrefStream, objectID, xrefStart); xrefTable.Add(iref); } // If a cross-reference stream B is referenced in the /Prev key of another cross-reference stream A dictionary, @@ -1710,12 +1721,13 @@ PdfTrailer ReadXRefStream(PdfCrossReferenceTable xrefTable) _ = typeof(int); #endif Debug.Assert(objectID.GenerationNumber == item.Field3); - + // Ignore the latter one. if (!xrefTable.Contains(objectID)) { // Add iref for all uncompressed objects. - xrefTable.Add(new PdfReference(objectID, position)); + var iref = PdfReference.CreateForObjectID(objectID, position); + xrefTable.Add(iref); } #if DEBUG_ else diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/PdfReader.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/PdfReader.cs index 26688b16..f9b9f6fc 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/PdfReader.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/PdfReader.cs @@ -398,7 +398,7 @@ PdfDocument OpenFromStream(Stream stream, string? password, PdfDocumentOpenMode // 7. Replace all document’s placeholder references by references knowing their objects. // Placeholder references are used, when reading indirect objects referring objects stored in object streams before reading and decoding them. - FinishReferences(); + FinalizeReferences(); RereadUnicodeStrings(); @@ -449,113 +449,66 @@ PdfDocument OpenFromStream(Stream stream, string? password, PdfDocumentOpenMode return _document; } - void FinishReferences() + /// + /// Ensures that all references in all objects refer to the actual object or to the null object (see ShouldUpdateReference method). + /// + void FinalizeReferences() { Debug.Assert(_document.IrefTable.IsUnderConstruction); - var finishedObjects = new HashSet(); - foreach (var iref in _document.IrefTable.AllReferences) { - Debug.Assert(iref.Value != null, - "All references saved in IrefTable should have been created when their referred PdfObject has been accessible."); + var pdfObject = iref.Value; - // Get and update object’s references. - FinishItemReferences(iref.Value, _document, finishedObjects); - } - - _document.IrefTable.IsUnderConstruction = false; - - // Fix references of trailer values and then objects and irefs are consistent. - _document.Trailer.Finish(); - } - - void FinishItemReferences(PdfItem? pdfItem, PdfDocument document, HashSet finishedObjects) - { - // Only PdfObjects may contain further PdfReferences. - if (pdfItem is not PdfObject pdfObject) - return; -#if true - // Try to add object to finished objects. - // Return, if this object was already processed. - if (!finishedObjects.Add(pdfObject)) - return; -#else - // Return, if this object is already processed. - if (finishedObjects.Contains(pdfObject)) - return; - - // Mark object as processed. - finishedObjects.Add(pdfObject); -#endif + Debug.Assert(pdfObject != null, + "All references saved in IrefTable should have been created when their referred PdfObject has been accessible."); -#if true - // For PdfDictionary and PdfArray, get and update child references. - switch (pdfObject) - { - case PdfDictionary childDictionary: - FinishChildReferences(childDictionary, finishedObjects); - break; - case PdfArray childArray: - FinishChildReferences(childArray, finishedObjects); - break; - } -#else - // For PdfDictionary and PdfArray, get and update child references. - if (pdfObject is PdfDictionary childDictionary) - FinishChildReferences(childDictionary, document, finishedObjects); - if (pdfObject is PdfArray childArray) - FinishChildReferences(childArray, document, finishedObjects); -#endif - } + // Update all references to PdfDictionary’s and PdfArray’s child objects. + switch (pdfObject) + { + case PdfDictionary dictionary: + // Dictionary elements are modified inside the loop. Avoid "Collection was modified; enumeration operation may not execute" error occuring in net 4.6.2. + // There is no way to access KeyValuePairs via index natively to use a for loop with. + // Instead, enumerate Keys and get value via Elements[key], which should be O(1). + foreach (var key in dictionary.Elements.Keys) + { + var item = dictionary.Elements[key]; - void FinishChildReferences(PdfDictionary dictionary, HashSet finishedObjects) - { - // Dictionary elements are modified inside loop. Avoid "Collection was modified; enumeration operation may not execute" error occuring in net 4.6.2. - // There is no way to access KeyValuePairs via index natively to use a for loop with. - // Instead, enumerate Keys and get value via Elements[key], which shall be O(1). - foreach (var key in dictionary.Elements.Keys) - { - var item = dictionary.Elements[key]; + // Replace each reference with its final item, if necessary. + if (item is PdfReference currentReference && ShouldUpdateReference(currentReference, out var finalItem)) + dictionary.Elements[key] = finalItem; + } + break; + case PdfArray array: + var elements = array.Elements; + for (var i = 0; i < elements.Count; i++) + { + var item = elements[i]; - // For PdfReference: Update reference, if necessary, and continue with referred item. - if (item is PdfReference iref) - { - if (FinishReference(iref, out var newIref, out var value)) - dictionary.Elements[key] = newIref; - item = value; + // Replace each reference with its final item, if necessary. + if (item is PdfReference currentReference && ShouldUpdateReference(currentReference, out var finalItem)) + elements[i] = finalItem; + } + break; } - - // Get and update item’s references. - FinishItemReferences(item, _document, finishedObjects); } - } - void FinishChildReferences(PdfArray array, HashSet finishedObjects) - { - var elements = array.Elements; - for (var i = 0; i < elements.Count; i++) - { - var item = elements[i]; - - // For PdfReference: Update reference, if necessary, and continue with referred item. - if (item is PdfReference iref) - { - if (FinishReference(iref, out var newIref, out var value)) - elements[i] = newIref; - item = value; - } + _document.IrefTable.IsUnderConstruction = false; - // Get and update item’s references. - FinishItemReferences(item, _document, finishedObjects); - } + // Fix references of trailer values and then objects and irefs are consistent. + _document.Trailer.Finish(); } - bool FinishReference(PdfReference currentReference, out PdfItem actualReference, out PdfItem value) + /// + /// Gets the final PdfItem that shall perhaps replace currentReference. It will be outputted in finalItem. + /// + /// True, if finalItem has changes compared to currentReference. + bool ShouldUpdateReference(PdfReference currentReference, out PdfItem finalItem) { var isChanged = false; PdfItem? reference = currentReference; + // Step 1: // The value of the reference may be null. // If a file level PdfObject refers object stream level PdfObjects, that were not yet decompressed when reading it, // placeholder references are used. @@ -565,32 +518,22 @@ bool FinishReference(PdfReference currentReference, out PdfItem actualReference, var newIref = _document.IrefTable[currentReference.ObjectID]; reference = newIref; isChanged = true; + // reference may be null. Don’t return yet. } + // Step: 2 // PDF Reference 2.0 section 7.3.10: // An indirect reference to an undefined object shall not be considered an error by a PDF processor; // it shall be treated as a reference to the null object. - if (reference is PdfReference { Value: null }) + // Addition: A reference replaced with null in step 1, as no reference for the object ID has been found in _document.IrefTable, + // is also considered as a reference to an undefined object here. + if (reference is PdfReference { Value: null } or null) { reference = PdfNull.Value; isChanged = true; } - if (reference == null) - { - reference = PdfNull.Value; - isChanged = true; - } - - actualReference = reference; - - if (!isChanged) - value = currentReference.Value; - else if (actualReference is PdfReference r) - value = r.Value; - else - value = PdfNull.Value; - + finalItem = reference; return isChanged; } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/PdfWriter.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/PdfWriter.cs index e6b5ab0b..dbbc1c19 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/PdfWriter.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/PdfWriter.cs @@ -102,17 +102,18 @@ public void Write(PdfInteger value) WriteRaw(value.Value.ToString(CultureInfo.InvariantCulture)); } - /// - /// Writes the specified value to the PDF stream. - /// -#pragma warning disable CS0618 // Type or member is obsolete - public void Write(PdfUInteger value) -#pragma warning restore CS0618 // Type or member is obsolete - { - WriteSeparator(CharCat.Character); - _lastCat = CharCat.Character; - WriteRaw(value.Value.ToString(CultureInfo.InvariantCulture)); - } + // DELETE + //// /// + //// /// Writes the specified value to the PDF stream. + //// /// + ////#pragma warning disable CS0618 // Type or member is obsolete + //// public void Write(PdfUInteger value) + ////#pragma warning restore CS0618 // Type or member is obsolete + //// { + //// WriteSeparator(CharCat.Character); + //// _lastCat = CharCat.Character; + //// WriteRaw(value.Value.ToString(CultureInfo.InvariantCulture)); + //// } /// /// Writes the specified value to the PDF stream. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/enums/Symbol.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/enums/Symbol.cs index 8196928b..ab311b82 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/enums/Symbol.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.IO/enums/Symbol.cs @@ -15,7 +15,9 @@ public enum Symbol BeginStream, EndStream, BeginArray, EndArray, BeginDictionary, EndDictionary, - Obj, EndObj, R, XRef, Trailer, StartXRef, Eof, + Obj, EndObj, + R, // Is replaced by ObjRef. + XRef, Trailer, StartXRef, Eof, // The lexer now can parse references in the form "nnn ggg R" // as a symbol in one step. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Internal/PdfEncoders.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Internal/PdfEncoders.cs index 355ab378..31ad4021 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Internal/PdfEncoders.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Internal/PdfEncoders.cs @@ -35,22 +35,6 @@ public static Encoding WinAnsiEncoding { // We consistently use our own WinAnsiEncoding implementation in PDFsharp. get => _winAnsiEncoding ??= new AnsiEncoding(); - // #DELETE - // { - // if (_winAnsiEncoding == null) - // { - // //// Use own implementation because there is no ANSI encoding in .NET 6. - // //_winAnsiEncoding = new AnsiEncoding(); - //#if NET6_0_OR_GREATER___ // - // // There is ANSI encoding available with .NET 6. Use it. - // _winAnsiEncoding = CodePagesEncodingProvider.Instance.GetEncoding(1252)!; - //#else - // // StL 24-02-24: We are consistent on all platforms. - // _winAnsiEncoding = new AnsiEncoding(); - //#endif - // } - // return _winAnsiEncoding; - // } } static Encoding? _winAnsiEncoding; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/PdfSignatureHandler.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/PdfSignatureHandler.cs index fb120ffd..64c6497f 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/PdfSignatureHandler.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/PdfSignatureHandler.cs @@ -230,7 +230,6 @@ PdfSignature2 GetSignatureDictionary(PdfSignaturePlaceholderItem contents, PdfAr propertyItems.Elements.Add("/Name", String.IsNullOrWhiteSpace(Options.AppName) ? new PdfName("/PDFsharp http://www.pdfsharp.net") : - //new PdfName($"/{Options.AppName}")); // #DELETE PdfName.FromString(Options.AppName)); Document.Internals.AddObject(signatureDic); diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/EntryInfoAttribute.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/EntryInfoAttribute.cs index 10a7d979..78dcf9b6 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/EntryInfoAttribute.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/EntryInfoAttribute.cs @@ -66,14 +66,19 @@ public KeyInfoAttribute(string version, KeyType keyType) KeyType = keyType; } - public KeyInfoAttribute(KeyType keyType, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)] Type objectType) + public KeyInfoAttribute(KeyType keyType, + [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)] + Type objectType) { //_version = version; KeyType = keyType; _objectType = objectType; } - public KeyInfoAttribute(string version, KeyType keyType, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)] Type objectType) + public KeyInfoAttribute(string version, + KeyType keyType, + [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)] + Type objectType) { //_version = version; KeyType = keyType; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/KeysBase.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/KeysBase.cs index af635e01..ed48d925 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/KeysBase.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/KeysBase.cs @@ -10,7 +10,10 @@ namespace PdfSharp.Pdf /// public class KeysBase { - internal static DictionaryMeta CreateMeta([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields)] Type type) => new(type); + internal static DictionaryMeta CreateMeta( + [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields)] + Type type) + => new(type); /// /// Creates the DictionaryMeta with the specified default type to return in DictionaryElements.GetValue @@ -19,7 +22,12 @@ public class KeysBase /// The type. /// Default type of the content key. /// Default type of the content. - internal static DictionaryMeta CreateMeta([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields)] Type type, KeyType defaultContentKeyType, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)] Type defaultContentType) - => new(type, defaultContentKeyType, defaultContentType); + internal static DictionaryMeta CreateMeta( + [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields)] + Type type, + KeyType defaultContentKeyType, + [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)] + Type defaultContentType) + => new(type, defaultContentKeyType, defaultContentType); } } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/KeysMeta.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/KeysMeta.cs index 650512d3..1c38d1ed 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/KeysMeta.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/KeysMeta.cs @@ -162,7 +162,10 @@ public DictionaryMeta([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes /// The type. /// Default type of the content key. /// Default type of the content. - public DictionaryMeta([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields)] Type type, KeyType defaultContentKeyType, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)] Type defaultContentType) : this(type) + public DictionaryMeta([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields)] Type type, + KeyType defaultContentKeyType, + [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)] + Type defaultContentType) : this(type) { _defaultContentKeyDescriptor = new KeyDescriptor(new KeyInfoAttribute(defaultContentKeyType, defaultContentType)); } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDictionary.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDictionary.cs index 01996bad..d2acc070 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDictionary.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDictionary.cs @@ -582,26 +582,27 @@ public void SetName(string key, string value) /// public PdfRectangle GetRectangle(string key, bool create) { - var value = new PdfRectangle(); var obj = this[key]; if (obj == null) { if (create) - this[key] = value = new PdfRectangle(); - return value; + return (PdfRectangle)(this[key] = new PdfRectangle()); + return new(); } if (obj is PdfReference reference) obj = reference.Value; if (obj is PdfArray { Elements.Count: 4 } array) { - value = new PdfRectangle(array.Elements.GetReal(0), array.Elements.GetReal(1), - array.Elements.GetReal(2), array.Elements.GetReal(3)); - this[key] = value; + return (PdfRectangle)(this[key] = + new PdfRectangle(array.Elements.GetReal(0), array.Elements.GetReal(1), + array.Elements.GetReal(2), array.Elements.GetReal(3))); } - else - value = (PdfRectangle)obj; - return value; + + if (obj is PdfRectangle rectangle) + return rectangle; + + throw new InvalidOperationException($"PDF item is '{obj.GetType().FullName}', but PdfRectangle expected."); } /// @@ -623,28 +624,26 @@ public void SetRectangle(string key, PdfRectangle rect) /// If the value is not convertible, the function throws an InvalidCastException. public XMatrix GetMatrix(string key, bool create) { - var value = new XMatrix(); var obj = this[key]; if (obj == null) { if (create) - this[key] = new PdfLiteral("[1 0 0 1 0 0]"); // cannot be parsed, implement a PdfMatrix... - return value; + this[key] = new PdfLiteral("[1 0 0 1 0 0]"); // cannot be parsed, implement a PdfMatrix... + return XMatrix.Identity; } if (obj is PdfReference reference) obj = reference.Value; - value = obj switch + return obj switch { - PdfArray { Elements.Count: 6 } array - => new XMatrix(array.Elements.GetReal(0), - array.Elements.GetReal(1), array.Elements.GetReal(2), array.Elements.GetReal(3), - array.Elements.GetReal(4), array.Elements.GetReal(5)), + PdfArray { Elements.Count: 6 } array => + new(array.Elements.GetReal(0), array.Elements.GetReal(1), + array.Elements.GetReal(2), array.Elements.GetReal(3), + array.Elements.GetReal(4), array.Elements.GetReal(5)), PdfLiteral => throw new NotImplementedException("Parsing matrix from literal."), _ => throw new InvalidCastException("Element is not an array with 6 values.") }; - return value; } /// Converts the specified value to XMatrix. @@ -670,7 +669,7 @@ public DateTime GetDateTime(string key, DateTime defaultValue) if (obj == null) return defaultValue; - // TODO_OLD obj = PdfReference.GetValueIfReference(obj) + //PdfReference.Dereference(ref obj); if (obj is PdfReference reference) obj = reference.Value; @@ -739,12 +738,7 @@ internal void SetEnumAsName(string key, object value) /// public PdfItem? GetValue(string key, VCF options) { - // PdfDictionary? dict; - // PdfArray? array; var value = this[key]; - //if (value == null || - // value is PdfNull || - // value is PdfReference && ((PdfReference)value).Value is PdfNullObject) if (value is null or PdfNull or PdfReference { Value: PdfNullObject }) { if (options != VCF.None) @@ -891,7 +885,10 @@ internal void SetEnumAsName(string key, object value) return type; } - PdfArray CreateArray([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)] Type type, PdfArray? oldArray) + PdfArray CreateArray( + [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)] + Type type, + PdfArray? oldArray) { #if true PdfArray? array; @@ -953,7 +950,10 @@ PdfArray CreateArray([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes. #endif } - PdfDictionary CreateDictionary([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)] Type type, PdfDictionary? oldDictionary) + PdfDictionary CreateDictionary( + [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)] + Type type, + PdfDictionary? oldDictionary) { #if true ConstructorInfo? ctorInfo; @@ -1012,7 +1012,10 @@ PdfDictionary CreateDictionary([DynamicallyAccessedMembers(DynamicallyAccessedMe #endif } - PdfItem CreateValue([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)] Type type, PdfDictionary? oldValue) + PdfItem CreateValue( + [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)] + Type type, + PdfDictionary? oldValue) { #if true var ctorInfo = type.GetConstructor(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, @@ -1100,10 +1103,7 @@ public void SetValue(string key, PdfItem value) /// Gets the PdfReference with the specified key, or null if no such object exists. ///
    public PdfReference? GetReference(string key) - { - var item = this[key]; - return item as PdfReference; - } + => this[key] as PdfReference; /// /// Sets the entry to the specified object. The object must not be an indirect object, @@ -1111,7 +1111,8 @@ public void SetValue(string key, PdfItem value) /// public void SetObject(string key, PdfObject obj) { - if (obj.Reference is not null) + //if (obj.Reference is not null) + if (obj.IsIndirect) throw new ArgumentException("PdfObject must not be an indirect object.", nameof(obj)); this[key] = obj; } @@ -1122,7 +1123,8 @@ public void SetObject(string key, PdfObject obj) ///
    public void SetReference(string key, PdfObject obj) { - if (obj.Reference is null) + //if (obj.Reference is null) + if (obj.IsIndirect is false) throw new ArgumentException("PdfObject must be an indirect object.", nameof(obj)); this[key] = obj.Reference; } @@ -1130,7 +1132,7 @@ public void SetReference(string key, PdfObject obj) /// /// Sets the entry as a reference to the specified iref. /// - public void SetReference(string key, PdfReference? iref) + public void SetReference(string key, PdfReference iref) { if (iref is null) throw new ArgumentNullException(nameof(iref)); @@ -1233,15 +1235,6 @@ public PdfItem? this[PdfName key] public bool Remove(KeyValuePair item) => throw new NotImplementedException(); - ///// - ///// Determines whether the dictionary contains the specified name. - ///// - //[Obsolete("Use ContainsKey.")] - //public bool Contains(string key) - //{ - // return _elements.ContainsKey(key); - //} - /// /// Determines whether the dictionary contains the specified name. /// @@ -1527,7 +1520,7 @@ public byte[] UnfilteredValue /// Otherwise, the content remains untouched and the function returns false. /// The function is useful for analyzing existing PDF files. ///
    - [Obsolete("Not implemented. Use the function TryUncompress.")] + [Obsolete("Not correctly implemented. Use the function TryUncompress.")] public bool TryUnfilter() { // Keep old code for not break existing code. @@ -1633,18 +1626,10 @@ public override string ToString() var filter = _ownerDictionary.Elements["/Filter"]; if (filter != null) { -#if true var decodeParms = _ownerDictionary.Elements[Keys.DecodeParms]; var bytes = Filtering.Decode(_value, filter, decodeParms); - if (bytes != null) + if (bytes != null!) stream = PdfEncoders.RawEncoding.GetString(bytes, 0, bytes.Length); -#else - - if (_owner.Elements.GetString("/Filter") == "/FlateDecode") - { - stream = Filtering.FlateDecode.DecodeToString(_value); - } -#endif else throw new NotImplementedException("Unknown filter"); } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs index 7e9db2ec..68cd0250 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs @@ -978,9 +978,9 @@ internal void EnsureNotYetSaved() return; var message = "The document was already saved and cannot be modified anymore. " + - "Saving a document converts its in memory representation into a PDF file or stream. " + + "Saving a document converts its in-memory representation into a PDF file or stream. " + "This can only be done once. " + - "After that process the in memory representation is outdated and protected against further modification."; + "After that process the in-memory representation is outdated and protected against further modification."; throw new InvalidOperationException(message); } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfObject.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfObject.cs index be4a1d70..a7e80ba6 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfObject.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfObject.cs @@ -110,9 +110,10 @@ internal void SetObjectID(int objectNumber, int generationNumber) { // ReSharper disable once ObjectCreationAsStatement because the new object is set to this object // in the constructor of PdfReference. - new PdfReference(this); + //new PdfReference(this); + PdfReference.CreateFromObject(this, objectID, 0); Debug.Assert(_iref != null); - _iref.ObjectID = objectID; + //_iref.ObjectID = objectID; } _iref.Value = this; _iref.Document = _document; @@ -146,7 +147,7 @@ internal virtual PdfDocument Document /// Gets or sets the comment for debugging purposes. ///
    public string Comment { get; set; } = ""; - + /// /// Indicates whether the object is an indirect object. /// @@ -169,7 +170,7 @@ internal virtual void PrepareForSave() /// /// Saves the stream position. 2nd Edition. /// - internal override void WriteObject(PdfWriter writer) + internal override void WriteObject(PdfWriter writer) => Debug.Assert(false, "Must not come here, WriteObject must be overridden in derived class."); /// @@ -364,7 +365,7 @@ static void FixUpObject(PdfImportedObjectTable iot, PdfDocument owner, PdfObject PdfDictionary? dict; PdfArray? array; - if ((dict = value as PdfDictionary) != null) + if ((dict = value as PdfDictionary) is not null) { // Case: The object is a dictionary. // Set document for cloned direct objects. @@ -418,13 +419,13 @@ static void FixUpObject(PdfImportedObjectTable iot, PdfDocument owner, PdfObject // The item is something else, e.g. a name. // Nothing to do. - // ...but let’s double check this case in DEBUG build. + // ...but let’s double-check this case in DEBUG build. DebugCheckNonObjects(item); } } } } - else if ((array = value as PdfArray) != null) + else if ((array = value as PdfArray) is not null) { // Case: The object is an array. // Set document for cloned direct objects. @@ -478,7 +479,7 @@ static void FixUpObject(PdfImportedObjectTable iot, PdfDocument owner, PdfObject // The item is something else, e.g. a name. // Nothing to do. - // ...but let’s double check this case in DEBUG build. + // ...but let’s double-check this case in DEBUG build. DebugCheckNonObjects(item); } } @@ -490,7 +491,7 @@ static void FixUpObject(PdfImportedObjectTable iot, PdfDocument owner, PdfObject // Indirect integers, booleans, etc. are allowed, but PDFsharp do not create them. // If such objects occur in imported PDF files from other producers, nothing more is to do. // The owner was already set, which is double-checked by the assertions below. - if (value is PdfNameObject or PdfStringObject or PdfBooleanObject /*or PdfIntegerObject*/ or PdfNumberObject) + if (value is PdfNameObject or PdfStringObject or PdfBooleanObject or PdfNumberObject) { Debug.Assert(value.IsIndirect); Debug.Assert(value.Owner == owner); diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfObjectID.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfObjectID.cs index d4094da7..a932d743 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfObjectID.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfObjectID.cs @@ -1,6 +1,9 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using Microsoft.Extensions.Logging; +using PdfSharp.Logging; + namespace PdfSharp.Pdf { /// @@ -10,40 +13,56 @@ namespace PdfSharp.Pdf // ReSharper disable once InconsistentNaming public readonly struct PdfObjectID : IComparable { - /// - /// Initializes a new instance of the class. - /// - /// The object number. - public PdfObjectID(int objectNumber) - { - Debug.Assert(objectNumber >= 1, "Object number out of range."); - _objectNumber = objectNumber; - _generationNumber = 0; -#if DEBUG_ - // Just a place for a breakpoint during debugging. - if (objectNumber == 5894) - _ = typeof(int); -#endif - } + //// /// + //// /// Initializes a new instance of the class. + //// /// + //// /// The object number. + //// public PdfObjectID(int objectNumber) + //// { + //// Debug.Assert(objectNumber >= 1, "Object number out of range."); + //// _objectNumber = objectNumber; + //// _generationNumber = 0; + ////#if DEBUG_ + //// // Just a place for a breakpoint during debugging. + //// if (objectNumber == 5894) + //// _ = typeof(int); + ////#endif + //// } /// /// Initializes a new instance of the class. /// /// The object number. /// The generation number. - public PdfObjectID(int objectNumber, int generationNumber) + public PdfObjectID(int objectNumber, int generationNumber = 0) { Debug.Assert(objectNumber >= 1, "Object number out of range."); //Debug.Assert(generationNumber >= 0 && generationNumber <= 65535, "Generation number out of range."); -#if DEBUG_ - // iText creates generation numbers with a value of 65536... - if (generationNumber > 65535) - Debug.WriteLine(String.Format("Generation number: {0}", generationNumber)); -#endif + + if (objectNumber is < 1 or > 0x_7F_FF_FF) + { + // We do not break existing code. + PdfSharpLogHost.PdfReadingLogger.LogError("Object number '{ObjectNumber}' is out of range [1..8388608].", objectNumber); + // No high-performance logging because it is a rare case. + } + + if (generationNumber is <0 or > 0x_FF_FF) + { + // We do not break existing code. + // We found an iText document with generation numbers with a value of 65536... + PdfSharpLogHost.PdfReadingLogger.LogError("Generation number '{GenerationNumber}' is out of range [0..65535}.", generationNumber); + // No high-performance logging because it is a rare case. + } + _objectNumber = objectNumber; _generationNumber = (ushort)generationNumber; } + /// + /// Calculates a 64-bit unsigned integer from object and generation number. + /// + internal ulong UniqueNumber => ((ulong)_objectNumber << 32) + _generationNumber; + /// /// Gets or sets the object number. /// diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfPage.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfPage.cs index a1f4c8dc..9d451f45 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfPage.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfPage.cs @@ -53,7 +53,7 @@ internal void Initialize(bool setupSizeFromMediaBox) { // Setup page size from MediaBox. var rectangle = Elements.GetRectangle(InheritablePageKeys.MediaBox, false); - if (rectangle.IsEmpty) + if (rectangle.IsZero) throw new InvalidOperationException("Page has no MediaBox."); _width = XUnit.FromPoint(rectangle.X2 - rectangle.X1); @@ -180,7 +180,7 @@ public PageSize Size throw new InvalidEnumArgumentException(nameof(value), (int)value, typeof(PageSize)); var size = PageSizeConverter.ToSize(value); - MediaBox = new PdfRectangle(0, 0, size.Width, size.Height); + MediaBox = new(0, 0, size.Width, size.Height); } } @@ -191,14 +191,12 @@ public TrimMargins TrimMargins { get { - if (_trimMargins == default!) - _trimMargins = new TrimMargins(); + _trimMargins ??= new TrimMargins(); return _trimMargins; } set { - if (_trimMargins == default!) - _trimMargins = new TrimMargins(); + _trimMargins ??= new TrimMargins(); if (value != null!) { _trimMargins.Left = value.Left; @@ -210,7 +208,7 @@ public TrimMargins TrimMargins _trimMargins.All = XUnit.Zero; } } - TrimMargins _trimMargins = new TrimMargins(); + TrimMargins? _trimMargins; /// /// Gets or sets the media box directly. XGraphics is not prepared to work with a media box @@ -232,6 +230,16 @@ public PdfRectangle MediaBox } } + /// + /// Gets a value indicating whether a media box is set. + /// + public bool HasMediaBox => Elements[InheritablePageKeys.MediaBox] != null; + + /// + /// Gets a copy of the media box if it exists, or PdfRectangle.Empty if no media box is set. + /// + public PdfRectangle MediaBoxReadOnly => Elements.GetRectangle(InheritablePageKeys.MediaBox, false); + /// /// Gets or sets the crop box. /// @@ -241,6 +249,29 @@ public PdfRectangle CropBox set => Elements.SetRectangle(InheritablePageKeys.CropBox, value); } + /// + /// Gets a value indicating whether a crop box is set. + /// + public bool HasCropBox => Elements[InheritablePageKeys.CropBox] != null; + + /// + /// Gets a copy of the crop box if it exists, or PdfRectangle.Empty if no crop box is set. + /// + public PdfRectangle CropBoxReadOnly => Elements.GetRectangle(InheritablePageKeys.CropBox, false); + + /// + /// Gets a copy of the effective crop box if it exists, or PdfRectangle.Empty if neither crop box nor media box are set. + /// + public PdfRectangle EffectiveCropBoxReadOnly + { + get + { + if (HasCropBox) + return CropBox; + return MediaBoxReadOnly; + } + } + /// /// Gets or sets the bleed box. /// @@ -250,6 +281,29 @@ public PdfRectangle BleedBox set => Elements.SetRectangle(Keys.BleedBox, value); } + /// + /// Gets a value indicating whether a bleed box is set. + /// + public bool HasBleedBox => Elements[Keys.BleedBox] != null; + + /// + /// Gets a copy of the bleed box if it exists, or PdfRectangle.Empty if no bleed box is set. + /// + public PdfRectangle BleedBoxReadOnly => Elements.GetRectangle(Keys.BleedBox, false); + + /// + /// Gets a copy of the effective bleed box if it exists, or PdfRectangle.Empty if neither bleed box nor crop box nor media box are set. + /// + public PdfRectangle EffectiveBleedBoxReadOnly + { + get + { + if (HasBleedBox) + return BleedBox; + return EffectiveCropBoxReadOnly; + } + } + /// /// Gets or sets the art box. /// @@ -259,6 +313,29 @@ public PdfRectangle ArtBox set => Elements.SetRectangle(Keys.ArtBox, value); } + /// + /// Gets a value indicating whether an art box is set. + /// + public bool HasArtBox => Elements[Keys.ArtBox] != null; + + /// + /// Gets a copy of the art box if it exists, or PdfRectangle.Empty if no art box is set. + /// + public PdfRectangle ArtBoxReadOnly => Elements.GetRectangle(Keys.ArtBox, false); + + /// + /// Gets a copy of the effective art box if it exists, or PdfRectangle.Empty if neither art box nor crop box nor media box are set. + /// + public PdfRectangle EffectiveArtBoxReadOnly + { + get + { + if (HasArtBox) + return ArtBox; + return EffectiveCropBoxReadOnly; + } + } + /// /// Gets or sets the trim box. /// @@ -268,6 +345,29 @@ public PdfRectangle TrimBox set => Elements.SetRectangle(Keys.TrimBox, value); } + /// + /// Gets a value indicating whether a trim box is set. + /// + public bool HasTrimBox => Elements[Keys.TrimBox] != null; + + /// + /// Gets a copy of the trim box if it exists, or PdfRectangle.Empty if no trim box is set. + /// + public PdfRectangle TrimBoxReadOnly => Elements.GetRectangle(Keys.TrimBox, false); + + /// + /// Gets a copy of the effective trim box if it exists, or PdfRectangle.Empty if neither trim box nor crop box nor media box are set. + /// + public PdfRectangle EffectiveTrimBoxReadOnly + { + get + { + if (HasTrimBox) + return TrimBox; + return EffectiveCropBoxReadOnly; + } + } + /// /// Gets or sets the height of the page. /// If the page width is less than or equal to page height, the orientation is Portrait; @@ -820,15 +920,17 @@ internal static void InheritValues(PdfDictionary page, ref InheritedValues value internal override void PrepareForSave() { - if (_trimMargins.AreSet) + if (_trimMargins?.AreSet ?? false) { // These are the values InDesign set for an A4 page with 3mm crop margin at each edge. - // (recall that PDF rect are two points and NOT a point and a width) - // /MediaBox[0.0 0.0 612.283 858.898] 216 302.7 - // /CropBox[0.0 0.0 612.283 858.898] - // /BleedBox[0.0 0.0 612.283 858.898] - // /ArtBox[8.50394 8.50394 603.78 850.394] 3 3 213 300 - // /TrimBox[8.50394 8.50394 603.78 850.394] + // (recall that PDF rectangles are two points and NOT a point and width and height) + // /MediaBox[0.0 0.0 612.283 858.898] # in millimeter: (0 0) (216 302.7) + // /CropBox[0.0 0.0 612.283 858.898] # -------------- " --------------- + // /BleedBox[0.0 0.0 612.283 858.898] # -------------- " --------------- + // /ArtBox[8.50394 8.50394 603.78 850.394] # in millimeter: (3 3) (213 300) + // /TrimBox[8.50394 8.50394 603.78 850.394] # ------------- " -------------- + // + // An A4 page has a size of 210 x 297 mm² double width = _trimMargins.Left.Point + Width.Point + _trimMargins.Right.Point; double height = _trimMargins.Top.Point + Height.Point + _trimMargins.Bottom.Point; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfRectangle.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfRectangle.cs index da5019c2..1e6ef8fd 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfRectangle.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfRectangle.cs @@ -5,9 +5,9 @@ using System.Drawing; #endif #if WPF -using System.Windows.Media; +using System.Windows; #endif -using PdfSharp.Internal; +using System.CodeDom; using PdfSharp.Drawing; using PdfSharp.Pdf.Advanced; using PdfSharp.Pdf.IO; @@ -16,15 +16,16 @@ namespace PdfSharp.Pdf { /// - /// Represents a PDF rectangle value, that is internally an array with 4 real values. + /// Represents an immutable PDF rectangle value. + /// In a PDF file it is represented by an array of four real values. /// [DebuggerDisplay("{" + nameof(DebuggerDisplay) + "}")] public sealed class PdfRectangle : PdfItem { - // This class must behave like a value type. Therefore it cannot be changed (like System.String). + // This reference type must behave like a value type. Therefore, it cannot be changed (like System.String). /// - /// Initializes a new instance of the PdfRectangle class. + /// Initializes a new instance of the PdfRectangle class with all values set to zero. /// public PdfRectangle() { } @@ -37,10 +38,10 @@ public PdfRectangle() /// internal PdfRectangle(double x1, double y1, double x2, double y2) { - _x1 = x1; - _y1 = y1; - _x2 = x2; - _y2 = y2; + X1 = x1; + Y1 = y1; + X2 = x2; + Y2 = y2; } #if GDI @@ -50,10 +51,24 @@ internal PdfRectangle(double x1, double y1, double x2, double y2) /// public PdfRectangle(PointF pt1, PointF pt2) { - _x1 = pt1.X; - _y1 = pt1.Y; - _x2 = pt2.X; - _y2 = pt2.Y; + X1 = pt1.X; + Y1 = pt1.Y; + X2 = pt2.X; + Y2 = pt2.Y; + } +#endif + +#if WPF + /// + /// Initializes a new instance of the PdfRectangle class with two points specifying + /// two diagonally opposite corners. + /// + public PdfRectangle(Point pt1, Point pt2) + { + X1 = pt1.X; + Y1 = pt1.Y; + X2 = pt2.X; + Y2 = pt2.Y; } #endif @@ -63,10 +78,10 @@ public PdfRectangle(PointF pt1, PointF pt2) /// public PdfRectangle(XPoint pt1, XPoint pt2) { - _x1 = pt1.X; - _y1 = pt1.Y; - _x2 = pt2.X; - _y2 = pt2.Y; + X1 = pt1.X; + Y1 = pt1.Y; + X2 = pt2.X; + Y2 = pt2.Y; } #if GDI @@ -75,10 +90,10 @@ public PdfRectangle(XPoint pt1, XPoint pt2) /// public PdfRectangle(PointF pt, SizeF size) { - _x1 = pt.X; - _y1 = pt.Y; - _x2 = pt.X + size.Width; - _y2 = pt.Y + size.Height; + X1 = pt.X; + Y1 = pt.Y; + X2 = pt.X + size.Width; + Y2 = pt.Y + size.Height; } #endif @@ -87,10 +102,10 @@ public PdfRectangle(PointF pt, SizeF size) ///
    public PdfRectangle(XPoint pt, XSize size) { - _x1 = pt.X; - _y1 = pt.Y; - _x2 = pt.X + size.Width; - _y2 = pt.Y + size.Height; + X1 = pt.X; + Y1 = pt.Y; + X2 = pt.X + size.Width; + Y2 = pt.Y + size.Height; } /// @@ -98,10 +113,13 @@ public PdfRectangle(XPoint pt, XSize size) /// public PdfRectangle(XRect rect) { - _x1 = rect.X; - _y1 = rect.Y; - _x2 = rect.X + rect.Width; - _y2 = rect.Y + rect.Height; + if (rect.IsEmpty) + throw new InvalidOperationException("Cannot create PdfRectangle from an empty XRect."); + + X1 = rect.X; + Y1 = rect.Y; + X2 = rect.X + rect.Width; + Y2 = rect.Y + rect.Height; } /// @@ -119,46 +137,40 @@ internal PdfRectangle(PdfItem item) if (array == null) throw new InvalidOperationException(PsMsgs.UnexpectedTokenInPdfFile); - _x1 = array.Elements.GetReal(0); - _y1 = array.Elements.GetReal(1); - _x2 = array.Elements.GetReal(2); - _y2 = array.Elements.GetReal(3); + X1 = array.Elements.GetReal(0); + Y1 = array.Elements.GetReal(1); + X2 = array.Elements.GetReal(2); + Y2 = array.Elements.GetReal(3); } /// /// Clones this instance. /// - public new PdfRectangle Clone() - => (PdfRectangle)Copy(); + public new PdfRectangle Clone() => (PdfRectangle)Copy(); /// /// Implements cloning this instance. /// - protected override object Copy() - { - PdfRectangle rect = (PdfRectangle)base.Copy(); - return rect; - } + protected override object Copy() => (PdfRectangle)base.Copy(); /// /// Tests whether all coordinates are zero. /// - public bool IsEmpty => _x1 == 0 && _y1 == 0 && _x2 == 0 && _y2 == 0; + [Obsolete("Use 'IsZero' instead.")] + public bool IsEmpty => IsZero; + + /// + /// Tests whether all coordinates are zero. + /// + public bool IsZero => X1 == 0 && Y1 == 0 && X2 == 0 && Y2 == 0; /// /// Tests whether the specified object is a PdfRectangle and has equal coordinates. /// - public override bool Equals(object? obj) - { - // ReSharper disable CompareOfFloatsByEqualityOperator - if (obj is PdfRectangle rectangle) - { - var rect = rectangle; - return rect._x1 == _x1 && rect._y1 == _y1 && rect._x2 == _x2 && rect._y2 == _y2; - } - return false; - // ReSharper restore CompareOfFloatsByEqualityOperator - } + // ReSharper disable CompareOfFloatsByEqualityOperator + public override bool Equals(object? obj) => + obj is PdfRectangle rect && rect.X1 == X1 && rect.Y1 == Y1 && rect.X2 == X2 && rect.Y2 == Y2; + // ReSharper restore CompareOfFloatsByEqualityOperator /// /// Serves as a hash function for a particular type. @@ -166,10 +178,10 @@ public override bool Equals(object? obj) public override int GetHashCode() { // This code is from System.Drawing... - return (int)(((((uint)_x1) ^ ((((uint)_y1) << 13) | - (((uint)_y1) >> 0x13))) ^ ((((uint)_x2) << 0x1a) | - (((uint)_x2) >> 6))) ^ ((((uint)_y2) << 7) | - (((uint)_y2) >> 0x19))); + return (int)(((((uint)X1) ^ ((((uint)Y1) << 13) | + (((uint)Y1) >> 0x13))) ^ ((((uint)X2) << 0x1a) | + (((uint)X2) >> 6))) ^ ((((uint)Y2) << 7) | + (((uint)Y2) >> 0x19))); } /// @@ -182,7 +194,7 @@ public override int GetHashCode() if ((object?)left != null) { if ((object?)right != null) - return left._x1 == right._x1 && left._y1 == right._y1 && left._x2 == right._x2 && left._y2 == right._y2; + return left.X1 == right.X1 && left.Y1 == right.Y1 && left.X2 == right.X2 && left.Y2 == right.Y2; return false; } return (object?)right == null; @@ -192,122 +204,94 @@ public override int GetHashCode() /// /// Tests whether two structures differ in one or more coordinates. /// - public static bool operator !=(PdfRectangle? left, PdfRectangle? right) - { - return !(left == right); - } + public static bool operator !=(PdfRectangle? left, PdfRectangle? right) => !(left == right); /// /// Gets or sets the x-coordinate of the first corner of this PdfRectangle. /// - public double X1 => _x1; - - readonly double _x1; + public double X1 { get; } /// /// Gets or sets the y-coordinate of the first corner of this PdfRectangle. /// - public double Y1 => _y1; - - readonly double _y1; + public double Y1 { get; } /// /// Gets or sets the x-coordinate of the second corner of this PdfRectangle. /// - public double X2 => _x2; - - readonly double _x2; + public double X2 { get; } /// /// Gets or sets the y-coordinate of the second corner of this PdfRectangle. /// - public double Y2 => _y2; - - readonly double _y2; + public double Y2 { get; } /// /// Gets X2 - X1. /// - public double Width => _x2 - _x1; + public double Width => X2 - X1; /// /// Gets Y2 - Y1. /// - public double Height => _y2 - _y1; + public double Height => Y2 - Y1; /// /// Gets or sets the coordinates of the first point of this PdfRectangle. /// - public XPoint Location => new XPoint(_x1, _y1); + public XPoint Location => new(X1, Y1); /// /// Gets or sets the size of this PdfRectangle. /// - public XSize Size => new XSize(_x2 - _x1, _y2 - _y1); + public XSize Size => new(X2 - X1, Y2 - Y1); #if GDI /// /// Determines if the specified point is contained within this PdfRectangle. /// - public bool Contains(PointF pt) - { - return Contains(pt.X, pt.Y); - } + public bool Contains(PointF pt) => Contains(pt.X, pt.Y); #endif /// /// Determines if the specified point is contained within this PdfRectangle. /// - public bool Contains(XPoint pt) - { - return Contains(pt.X, pt.Y); - } + public bool Contains(XPoint pt) => Contains(pt.X, pt.Y); /// /// Determines if the specified point is contained within this PdfRectangle. /// - public bool Contains(double x, double y) - { + public bool Contains(double x, double y) => // Treat rectangle inclusive/inclusive. - return _x1 <= x && x <= _x2 && _y1 <= y && y <= _y2; - } + X1 <= x && x <= X2 && Y1 <= y && y <= Y2; #if GDI /// /// Determines if the rectangular region represented by rect is entirely contained within this PdfRectangle. /// - public bool Contains(RectangleF rect) - { - return _x1 <= rect.X && (rect.X + rect.Width) <= _x2 && - _y1 <= rect.Y && (rect.Y + rect.Height) <= _y2; - } + public bool Contains(RectangleF rect) => + X1 <= rect.X && (rect.X + rect.Width) <= X2 && + Y1 <= rect.Y && (rect.Y + rect.Height) <= Y2; #endif /// /// Determines if the rectangular region represented by rect is entirely contained within this PdfRectangle. /// - public bool Contains(XRect rect) - { - return _x1 <= rect.X && (rect.X + rect.Width) <= _x2 && - _y1 <= rect.Y && (rect.Y + rect.Height) <= _y2; - } + public bool Contains(XRect rect) => + X1 <= rect.X && (rect.X + rect.Width) <= X2 && + Y1 <= rect.Y && (rect.Y + rect.Height) <= Y2; /// /// Determines if the rectangular region represented by rect is entirely contained within this PdfRectangle. /// - public bool Contains(PdfRectangle rect) - { - return _x1 <= rect._x1 && rect._x2 <= _x2 && - _y1 <= rect._y1 && rect._y2 <= _y2; - } + public bool Contains(PdfRectangle rect) => + X1 <= rect.X1 && rect.X2 <= X2 && + Y1 <= rect.Y1 && rect.Y2 <= Y2; /// /// Returns the rectangle as an XRect object. /// - public XRect ToXRect() - { - return new XRect(_x1, _y1, Width, Height); - } + public XRect ToXRect() => new(X1, Y1, Width, Height); /// /// Returns the rectangle as a string in the form «[x1 y1 x2 y2]». @@ -315,16 +299,19 @@ public XRect ToXRect() public override string ToString() { const string format = Config.SignificantDecimalPlaces3; - return PdfEncoders.Format("[{0:" + format + "} {1:" + format + "} {2:" + format + "} {3:" + format + "}]", _x1, _y1, _x2, _y2); + return PdfEncoders.Format("[{0:" + format + "} {1:" + format + "} {2:" + format + "} {3:" + format + "}]", X1, Y1, X2, Y2); } /// /// Writes the rectangle. /// - internal override void WriteObject(PdfWriter writer) - { - writer.Write(this); - } + internal override void WriteObject(PdfWriter writer) => writer.Write(this); + + /// + /// Represents an empty PdfRectangle. + /// + [Obsolete("A rectangle defined by two points cannot be meaningfully defined as empty. Do not use this property.")] + public static PdfRectangle Empty => throw new InvalidOperationException("Use 'new PdfRectangle()' instead of 'PdfRectangle.Empty'"); /// /// Gets the DebuggerDisplayAttribute text. @@ -337,107 +324,8 @@ string DebuggerDisplay { const string format = Config.SignificantDecimalPlaces10; return String.Format(CultureInfo.InvariantCulture, - "X1={0:" + format + "}, Y1={1:" + format + "}, X2={2:" + format + "}, Y2={3:" + format + "}", _x1, _y1, _x2, _y2); + "X1={0:" + format + "}, Y1={1:" + format + "}, X2={2:" + format + "}, Y2={3:" + format + "}", X1, Y1, X2, Y2); } } - -#if false // This object is considered as immutable. - // /// - // /// Adjusts the location of this PdfRectangle by the specified amount. - // /// - // public void Offset(PointF pos) - // { - // Offset(pos.X, pos.Y); - // } - // - // /// - // /// Adjusts the location of this PdfRectangle by the specified amount. - // /// - // public void Offset(double x, double y) - // { - // _x1 += x; - // _y1 += y; - // _x2 += x; - // _y2 += y; - // } - // - // /// - // /// Inflates this PdfRectangle by the specified amount. - // /// - // public void Inflate(double x, double y) - // { - // _x1 -= x; - // _y1 -= y; - // _x2 += x; - // _y2 += y; - // } - // - // /// - // /// Inflates this PdfRectangle by the specified amount. - // /// - // public void Inflate(SizeF size) - // { - // Inflate(size.Width, size.Height); - // } - // - // /// - // /// Creates and returns an inflated copy of the specified PdfRectangle. - // /// - // public static PdfRectangle Inflate(PdfRectangle rect, double x, double y) - // { - // rect.Inflate(x, y); - // return rect; - // } - // - // /// - // /// Replaces this PdfRectangle with the intersection of itself and the specified PdfRectangle. - // /// - // public void Intersect(PdfRectangle rect) - // { - // PdfRectangle rect2 = PdfRectangle.Intersect(rect, this); - // _x1 = rect2.x1; - // _y1 = rect2.y1; - // _x2 = rect2.x2; - // _y2 = rect2.y2; - // } - // - // /// - // /// Returns a PdfRectangle that represents the intersection of two rectangles. If there is no intersection, - // /// an empty PdfRectangle is returned. - // /// - // public static PdfRectangle Intersect(PdfRectangle rect1, PdfRectangle rect2) - // { - // double xx1 = Math.Max(rect1.x1, rect2.x1); - // double xx2 = Math.Min(rect1.x2, rect2.x2); - // double yy1 = Math.Max(rect1.y1, rect2.y1); - // double yy2 = Math.Min(rect1.y2, rect2.y2); - // if (xx2 >= xx1 && yy2 >= yy1) - // return new PdfRectangle(xx1, yy1, xx2, yy2); - // return PdfRectangle.Empty; - // } - // - // /// - // /// Determines if this rectangle intersects with the specified PdfRectangle. - // /// - // public bool IntersectsWith(PdfRectangle rect) - // { - // return rect.x1 < _x2 && _x1 < rect.x2 && rect.y1 < _y2 && _y1 < rect.y2; - // } - // - // /// - // /// Creates the smallest rectangle that can contain both of two specified rectangles. - // /// - // public static PdfRectangle Union(PdfRectangle rect1, PdfRectangle rect2) - // { - // return new PdfRectangle( - // Math.Min(rect1.x1, rect2.x1), Math.Max(rect1.x2, rect2.x2), - // Math.Min(rect1.y1, rect2.y1), Math.Max(rect1.y2, rect2.y2)); - // } -#endif - - /// - /// Represents an empty PdfRectangle. - /// - public static readonly PdfRectangle Empty = new PdfRectangle(); } } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfString.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfString.cs index d5654aed..a05fbdff 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfString.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfString.cs @@ -47,7 +47,7 @@ public enum PdfStringEncoding /// /// Not yet used by PDFsharp. /// - MacRomanEncoding = PdfStringFlags.MacExpertEncoding, + MacRomanEncoding = PdfStringFlags.MacRomanEncoding, /// /// Not yet used by PDFsharp. @@ -68,12 +68,12 @@ public enum PdfStringEncoding enum PdfStringFlags { // ReSharper disable InconsistentNaming - RawEncoding = 0x00, - StandardEncoding = 0x01, // not used by PDFsharp + RawEncoding = 0x00, // Each char maps to a byte. + StandardEncoding = 0x01, // Not used by PDFsharp. PDFDocEncoding = 0x02, WinAnsiEncoding = 0x03, - MacRomanEncoding = 0x04, // not used by PDFsharp - MacExpertEncoding = 0x05, // not used by PDFsharp + MacRomanEncoding = 0x04, // Not used by PDFsharp. + MacExpertEncoding = 0x05, // Not used by PDFsharp. Unicode = 0x06, EncodingMask = 0x0F, diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfUInteger.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfUInteger.cs index dff4e2fe..86dfcc40 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfUInteger.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfUInteger.cs @@ -1,6 +1,8 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +#if false // DELETE 2025-12-31 - PDF has no explicit unsigned number type. + using PdfSharp.Pdf.IO; namespace PdfSharp.Pdf @@ -160,3 +162,4 @@ public uint ToUInt32(IFormatProvider? provider) #endregion } } +#endif diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfUIntegerObject.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfUIntegerObject.cs index 28964439..19e18aeb 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfUIntegerObject.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfUIntegerObject.cs @@ -1,6 +1,7 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +#if false // DELETE 2025-12-31 - PDF has no explicit unsigned number type. using PdfSharp.Pdf.IO; namespace PdfSharp.Pdf @@ -61,3 +62,4 @@ internal override void WriteObject(PdfWriter writer) } } } +#endif diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Properties/GlobalDeclarations.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Properties/GlobalDeclarations.cs index 6d44c245..3b6d8a7d 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Properties/GlobalDeclarations.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Properties/GlobalDeclarations.cs @@ -19,7 +19,7 @@ [assembly: ComVisible(false)] [assembly: SuppressMessage("LoggingGenerator", "SYSLIB1006:Multiple logging methods cannot use the same event ID within a class", - Justification = "We use logging event ids as documented, i.e. multiple times", Scope = "member"/*, Target = "~M:PdfSharp.Internal.Logging.LogMessages.XGraphicsCreated(Microsoft.Extensions.Logging.ILogger,System.String)"*/)] + Justification = "We use logging event IDs as documented, i.e. multiple times", Scope = "member"/*, Target = "~M:PdfSharp.Internal.Logging.LogMessages.XGraphicsCreated(Microsoft.Extensions.Logging.ILogger,System.String)"*/)] // TODO_OLD We should add a WPF Preview panel //#if WPF diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Properties/PdfSharpProductVersionInformation.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Properties/PdfSharpProductVersionInformation.cs index ab3cbcb2..d989e384 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Properties/PdfSharpProductVersionInformation.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Properties/PdfSharpProductVersionInformation.cs @@ -1,7 +1,7 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -#pragma warning disable 0436 +//#pragma warning disable 0436 namespace PdfSharp { @@ -27,43 +27,43 @@ public static class PdfSharpProductVersionInformation /// /// The major version number of the product. /// - public static readonly string VersionMajor = GitVersionInformation.Major; + public static readonly string VersionMajor = PdfSharpGitVersionInformation.Major; /// /// The minor version number of the product. /// - public static readonly string VersionMinor = GitVersionInformation.Minor; + public static readonly string VersionMinor = PdfSharpGitVersionInformation.Minor; /// /// The patch number of the product. /// - public static readonly string VersionPatch = GitVersionInformation.Patch; + public static readonly string VersionPatch = PdfSharpGitVersionInformation.Patch; /// /// The Version PreRelease string for NuGet. /// - public static readonly string VersionPreRelease = GitVersionInformation.NuGetPreReleaseTagV2; - + public static readonly string VersionPreRelease = PdfSharpGitVersionInformation.PreReleaseLabel; + /// /// The PDF creator application information string. /// - public static readonly string Creator = $"{Title} {GitVersionInformation.NuGetVersion}{Technology}"; + public static readonly string Creator = $"{Title} {PdfSharpGitVersionInformation.InformationalVersion}{Technology}"; /// /// The PDF producer (created by) information string. /// TODO_OLD: Called Creator in MigraDoc??? /// - public static readonly string Producer = $"{Title} {GitVersionInformation.NuGetVersion} ({Url})"; + public static readonly string Producer = $"{Title} {PdfSharpGitVersionInformation.InformationalVersion} ({Url})"; /// /// The full version number. /// - public static readonly string Version = GitVersionInformation.MajorMinorPatch; + public static readonly string Version = PdfSharpGitVersionInformation.MajorMinorPatch; /// /// The full semantic version number created by GitVersion. /// - public static readonly string SemanticVersion = GitVersionInformation.SemVer; + public static readonly string SemanticVersion = PdfSharpGitVersionInformation.SemVer; /// /// The home page of this product. @@ -88,7 +88,7 @@ public static class PdfSharpProductVersionInformation /// /// The copyright information. /// - public const string Copyright = "Copyright © 2005-2024 empira Software GmbH."; + public const string Copyright = "Copyright © 2005-2025 empira Software GmbH."; /// /// The trademark of the product. diff --git a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests-gdi/PdfSharp.Tests-gdi.csproj b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests-gdi/PdfSharp.Tests-gdi.csproj index cb0eeb3f..a6b39f99 100644 --- a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests-gdi/PdfSharp.Tests-gdi.csproj +++ b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests-gdi/PdfSharp.Tests-gdi.csproj @@ -29,6 +29,7 @@ + diff --git a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Build/ReleaseBuildTests.cs b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Build/ReleaseBuildTests.cs index 1cd610d7..6c379b69 100644 --- a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Build/ReleaseBuildTests.cs +++ b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Build/ReleaseBuildTests.cs @@ -29,7 +29,7 @@ public void Check_renamed_identifiers() // Check to undo some temporary renames. const string automatic = nameof(PdfFontEmbedding.TryComputeSubset); (!automatic.EndsWith("_")).Should().BeTrue("some identifiers must be re-renamed before release."); - _ = automatic; + _ = automatic; } #endif @@ -200,28 +200,30 @@ static void Resave(byte[] bytes, bool isAnsi, string fileName, bool withBom) } } + /// + /// Writes the file. + /// Must be called only if the file requires an update (add a non-existing BOM or remove an existing BOM). + /// static void WriteFile(String fileName, Byte[] bytes, Boolean addBom) { bool utf8Bom = bytes is [0xEF, 0xBB, 0xBF, ..]; + (addBom == utf8Bom).Should().BeFalse("Should not come here."); + using (FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.ReadWrite, FileShare.Read)) { if (addBom && !utf8Bom) { // Write new BOM. fs.Write([0xEF, 0xBB, 0xBF], 0, 3); - } - if (!addBom && utf8Bom) - { - // Write bytes without existing BOM. - fs.Write(bytes, 3, bytes.Length - 3); + // Write bytes as they are. + fs.Write(bytes, 0, bytes.Length); } else { - Debug.Assert(addBom && !utf8Bom, "Should not come here for other cases."); - // Write bytes as they are. - fs.Write(bytes, 0, bytes.Length); + // Write bytes without existing BOM. + fs.Write(bytes, 3, bytes.Length - 3); } } } diff --git a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Drawing/images/ImageTests.cs b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Drawing/images/ImageTests.cs index 8a81f4d4..a1c25ec8 100644 --- a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Drawing/images/ImageTests.cs +++ b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Drawing/images/ImageTests.cs @@ -248,7 +248,7 @@ void ExportJpeg(PdfDictionary image) } [Fact] - void PDF_with_Image_from_stream() + public void PDF_with_Image_from_stream() { // Attempt to avoid "image file locked" under .NET 4.6.2. GC.Collect(); @@ -261,7 +261,73 @@ void PDF_with_Image_from_stream() var imagePath = IOUtility.GetAssetsPath("PDFsharp/images/samples/jpeg/truecolorA.jpg")!; - var stream = new FileStream(imagePath, FileMode.Open); + var stream = new FileStream(imagePath, FileMode.Open, FileAccess.Read); + using var xImage = XImage.FromStream(stream); + + gfx.DrawImage(xImage, 100, 100, 100, 100); + + // Save the document... + var filename = PdfFileUtility.GetTempPdfFileName("ImageFromStream"); + document.Save(filename); + // ...and start a viewer. + PdfFileUtility.ShowDocumentIfDebugging(filename); + } + + // Attempt to avoid "image file locked" under .NET 4.6.2. + GC.Collect(); + GC.WaitForFullGCComplete(); + } + + [Fact] + public void PDF_with_Image_from_private_memorystream() + { + // Attempt to avoid "image file locked" under .NET 4.6.2. + GC.Collect(); + GC.WaitForFullGCComplete(); + + { + var document = new PdfDocument(); + var page = document.AddPage(); + var gfx = XGraphics.FromPdfPage(page); + + var imagePath = IOUtility.GetAssetsPath("PDFsharp/images/samples/jpeg/truecolorA.jpg")!; + var pngBytes = File.ReadAllBytes(imagePath); + + // Create a MemoryStream that does not allow GetBuffer. + var stream = new MemoryStream(pngBytes); + using var xImage = XImage.FromStream(stream); + + gfx.DrawImage(xImage, 100, 100, 100, 100); + + // Save the document... + var filename = PdfFileUtility.GetTempPdfFileName("ImageFromStream"); + document.Save(filename); + // ...and start a viewer. + PdfFileUtility.ShowDocumentIfDebugging(filename); + } + + // Attempt to avoid "image file locked" under .NET 4.6.2. + GC.Collect(); + GC.WaitForFullGCComplete(); + } + + [Fact] + public void PDF_with_Image_from_public_memorystream() + { + // Attempt to avoid "image file locked" under .NET 4.6.2. + GC.Collect(); + GC.WaitForFullGCComplete(); + + { + var document = new PdfDocument(); + var page = document.AddPage(); + var gfx = XGraphics.FromPdfPage(page); + + var imagePath = IOUtility.GetAssetsPath("PDFsharp/images/samples/jpeg/truecolorA.jpg")!; + var pngBytes = File.ReadAllBytes(imagePath); + + // Create a MemoryStream that allows GetBuffer. + var stream = new MemoryStream(pngBytes, 0, pngBytes.Length, false, true); using var xImage = XImage.FromStream(stream); gfx.DrawImage(xImage, 100, 100, 100, 100); diff --git a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Drawing/text/GlyphHelperTests.cs b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Drawing/text/GlyphHelperTests.cs index cec5fa96..c43a2b05 100644 --- a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Drawing/text/GlyphHelperTests.cs +++ b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Drawing/text/GlyphHelperTests.cs @@ -66,7 +66,7 @@ public void GlyphIndicesFromString_Test() [Fact] public void Glyphs_from_invalid_ANSI_codes() { - // Ensure no glyph ids for non ANSI characters. + // Ensure no glyph IDs for non ANSI characters. var font = new XFont("Arial", 10); diff --git a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/IO/LexerTests.cs b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/IO/LexerTests.cs index e9d9e937..99bba3c0 100644 --- a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/IO/LexerTests.cs +++ b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/IO/LexerTests.cs @@ -5,20 +5,18 @@ using System.IO; #endif using FluentAssertions; -using PdfSharp.Diagnostics; -using PdfSharp.Drawing; -using PdfSharp.Fonts; using PdfSharp.Pdf; using PdfSharp.Pdf.Internal; using PdfSharp.Pdf.IO; -using PdfSharp.Quality; -using PdfSharp.Snippets; -using PdfSharp.Snippets.Font; -using PdfSharp.TestHelper; +using System.Numerics; using Xunit; namespace PdfSharp.Tests.IO { + /// + /// Most Lexer function are tested implicitly by correctly parsing PDF files. + /// We only test the non-trivial functions. + /// [Collection("PDFsharp")] public class LexerTests { @@ -85,5 +83,187 @@ public void ReverseSolidusTests() modifiedDocument.Info.Creator.Should().Be(creatorExpected); } + + [Fact] + public void ScanNumberTests() + { + var lexer = CreateLexer("123"); + var symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.Integer); + lexer.TokenToInteger.Should().Be(123); + + lexer = CreateLexer("5000000000"); + symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.LongInteger); + lexer.TokenToLongInteger.Should().Be(5_000_000_000); + + // Int32.MaxValue must be Integer + lexer = CreateLexer(Invariant($"{Int32.MaxValue}")); + symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.Integer); + lexer.TokenToInteger.Should().Be(Int32.MaxValue); + + // Int32.MaxValue must be Integer, even with leading zeros. + lexer = CreateLexer(Invariant($"000000{Int32.MaxValue}")); + symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.Integer); + lexer.TokenToInteger.Should().Be(Int32.MaxValue); + + // Int32.MaxValue + 1 must be LongInteger + lexer = CreateLexer(Invariant($"{Int32.MaxValue + 1L}")); + symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.LongInteger); + lexer.TokenToLongInteger.Should().Be(Int32.MaxValue + 1L); + + // Int32.MinValue must be Integer + lexer = CreateLexer(Invariant($"{Int32.MinValue}")); + symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.Integer); + lexer.TokenToInteger.Should().Be(Int32.MinValue); + + // Int32.MinValue - 1 must be LongInteger + lexer = CreateLexer(Invariant($"{Int32.MinValue - 1L}")); + symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.LongInteger); + lexer.TokenToLongInteger.Should().Be(Int32.MinValue - 1L); + + // Int64.MaxValue must be LongInteger + lexer = CreateLexer(Invariant($"{Int64.MaxValue}")); + symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.LongInteger); + lexer.TokenToLongInteger.Should().Be(Int64.MaxValue); + + // Int64.MaxValue + 1 must be Real + lexer = CreateLexer(Invariant($"{(BigInteger)1 + Int64.MaxValue}")); + symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.Real); + lexer.TokenToReal.Should().Be((double)((BigInteger)1 + Int64.MaxValue)); + + // Int64.MinValue must be LongInteger + lexer = CreateLexer(Invariant($"{Int64.MinValue}")); + symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.LongInteger); + lexer.TokenToLongInteger.Should().Be(Int64.MinValue); + + // Int64.MinValue - 1 must be Real + lexer = CreateLexer(Invariant($"{(BigInteger)Int64.MinValue - 1}")); + symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.Real); + lexer.TokenToReal.Should().Be((double)((BigInteger)Int64.MinValue - 1)); + + // From https://github.com/empira/PDFsharp/issues/223 + lexer = CreateLexer("00000000000001588776"); + symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.Integer); + lexer.TokenToInteger.Should().Be(00000000000001588776); + + // Real literals + + lexer = CreateLexer("100.124"); + symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.Real); + lexer.TokenToReal.Should().Be(100.124); + + lexer = CreateLexer("123."); + symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.Real); + lexer.TokenToReal.Should().Be(123); + + lexer = CreateLexer("123.00000000000000000000000000000"); + symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.Real); + lexer.TokenToReal.Should().Be(123); + + + lexer = CreateLexer(Invariant($"{Int64.MaxValue - 42}.")); + symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.Real); + lexer.TokenToReal.Should().Be(Int64.MaxValue - 42); + + lexer = CreateLexer(Invariant($"{Int64.MaxValue - 42}.00")); + symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.Real); + lexer.TokenToReal.Should().Be(Int64.MaxValue - 42); + } + + [Theory] + [InlineData("42", 42, true, true)] + [InlineData("2147483647", 2147483647, true, true)] // int32.MaxValue is 2147483647. + [InlineData("-2147483648", -2147483648, true, true)] + public void Scan_Integer_Tests(string text, int value, bool testAsLong, bool testAsReal) + { + var lexer = CreateLexer(text); + var symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.Integer); + lexer.TokenToInteger.Should().Be(value); + if (testAsLong) + lexer.TokenToLongInteger.Should().Be(value); + if (testAsReal) + lexer.TokenToReal.Should().Be(value); + } + + [Theory] + [InlineData("9223372036854775807", 9223372036854775807L, true, true)] // UInt64.MaxValue is 9223372036854775807L. + [InlineData("-9223372036854775808", -9223372036854775808L, true, true)] + [InlineData("2147483648", 2147483648, true, true)] // int32.MaxValue is 2147483647. + [InlineData("-2147483649", -2147483649, true, true)] + public void Scan_LongInteger_Tests(string text, long value, bool testAsInteger, bool testAsReal) + { + var lexer = CreateLexer(text); + var symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.LongInteger); + lexer.TokenToLongInteger.Should().Be(value); + if (testAsInteger) + { + var getInt = () => lexer.TokenToInteger; + getInt.Should().Throw(); + } + if (testAsReal) + lexer.TokenToReal.Should().Be(value); + } + + [Theory] + [InlineData("42.0", 42, true, true)] + [InlineData("42.17", 42.17, true, true)] + [InlineData("42.12345678", 42.12345678, true, true)] + [InlineData("-42.0", -42, true, true)] + [InlineData("-42.17", -42.17, true, true)] + [InlineData("-42.12345678", -42.12345678, true, true)] + [InlineData("9223372036854775808", 9223372036854775808, true, true)] // UInt64.MaxValue is 9223372036854775807L. + [InlineData("-9223372036854775809", -9223372036854775809d, true, true)] + [InlineData("9223372036854775807.0", 9223372036854775807L, true, true)] // UInt64.MaxValue is 9223372036854775807L. + [InlineData("-9223372036854775808.0", -9223372036854775808L, true, true)] + [InlineData("2147483648.0", 2147483648, true, true)] // int32.MaxValue is 2147483647. + [InlineData("-2147483649.0", -2147483649, true, true)] + public void Scan_Real_Tests(string text, double value, bool testAsInteger, bool testAsLong) + { + var lexer = CreateLexer(text); + var symbol = lexer.ScanNumber(false); + symbol.Should().Be(Symbol.Real); + lexer.TokenToReal.Should().Be(value); + if (testAsInteger) + { + var getInt = () => lexer.TokenToInteger; + getInt.Should().Throw(); + } + if (testAsLong) + { + var getInt = () => lexer.TokenToLongInteger; + getInt.Should().Throw(); + } + } + + public void Scan_ObjRef_Tests(string text, (int, int) objID/*, bool testAsLong, bool testAsReal*/) + { + + } + + Lexer CreateLexer(string text) + { + var pdfString = new PdfString(text, PdfStringEncoding.RawEncoding); + var bytes = pdfString.GetRawBytes(); + var stream = new MemoryStream(bytes); + return new(stream, null); + } } } diff --git a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Pdf/creation/BasicTests.cs b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Pdf/creation/BasicTests.cs index 6fe6f893..41d2f455 100644 --- a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Pdf/creation/BasicTests.cs +++ b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Pdf/creation/BasicTests.cs @@ -1,6 +1,7 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using FluentAssertions; using PdfSharp.Diagnostics; using PdfSharp.Drawing; using PdfSharp.Fonts; @@ -66,5 +67,310 @@ public void Create_Hello_World_BasicTests() // ...and start a viewer. PdfFileUtility.ShowDocumentIfDebugging(filename); } + + [Fact] + public void Create_CropBox_BasicTests() + { + // Create a new PDF document. + var document = new PdfDocument(); + document.Info.Title = "Created with PDFsharp"; + + // Create an empty page in this document. + var page = document.AddPage(); + + var mediaBox = page.MediaBoxReadOnly; + mediaBox.Should().NotBeNull(); + mediaBox.Should().NotBe(XRect.Empty); + mediaBox.IsZero.Should().BeFalse(); + + // CropBox does not exist by default. + var cropBox = page.CropBoxReadOnly; + cropBox.IsZero.Should().BeTrue(); + + cropBox = page.EffectiveCropBoxReadOnly; + cropBox.Should().NotBeNull(); + cropBox.Should().NotBe(XRect.Empty); + cropBox.IsZero.Should().BeFalse(); + + page.Width = XUnit.FromCentimeter(5); + page.Height = XUnit.FromCentimeter(2); + + mediaBox = page.MediaBoxReadOnly; + mediaBox.Should().NotBeNull(); + mediaBox.Should().NotBe(XRect.Empty); + mediaBox.IsZero.Should().BeFalse(); + + cropBox = page.CropBoxReadOnly; + cropBox.IsZero.Should().BeTrue(); + + cropBox = page.EffectiveCropBoxReadOnly; + cropBox.Should().NotBe(XRect.Empty); + cropBox.IsZero.Should().BeFalse(); + + // Calling page.CropBox sets "new PdfRectangle()" as CropBox. + // For "new PdfRectangle()", IsZero is true. + cropBox = page.CropBox; + cropBox.Should().NotBeNull(); + cropBox.Should().NotBe(XRect.Empty); + cropBox.IsZero.Should().BeTrue(); + + cropBox = page.EffectiveCropBoxReadOnly; + cropBox.Should().NotBeNull(); + cropBox.Should().NotBe(XRect.Empty); + cropBox.IsZero.Should().BeTrue(); + + cropBox = page.CropBoxReadOnly; + cropBox.Should().NotBeNull(); + cropBox.Should().NotBe(XRect.Empty); + cropBox.IsZero.Should().BeTrue(); + + cropBox = page.CropBox; + cropBox.Should().NotBeNull(); + cropBox.Should().NotBe(XRect.Empty); + cropBox.IsZero.Should().BeTrue(); + + page.CropBox = new PdfRectangle(XUnitPt.FromMillimeter(1), XUnitPt.FromMillimeter(1), + XUnitPt.FromMillimeter(49), XUnitPt.FromMillimeter(19)); + + cropBox = page.CropBox; + cropBox.Should().NotBeNull(); + cropBox.Should().NotBe(XRect.Empty); + cropBox.IsZero.Should().BeFalse(); + + // Get an XGraphics object for drawing on this page. + var gfx = XGraphics.FromPdfPage(page); + + // Draw two lines with a red default pen. + var width = page.Width.Point; + var height = page.Height.Point; + gfx.DrawLine(XPens.Red, 0, 0, width, height); + gfx.DrawLine(XPens.Red, width, 0, 0, height); + + // Draw a circle with a red pen which is 1.5 point thick. + var r = width / 6; + gfx.DrawEllipse(new XPen(XColors.Red, 1.5), XBrushes.White, new XRect(width / 2 - r, height / 2 - r, 2 * r, 2 * r)); + + // Create a font. + var font = new XFont("Times New Roman", 10, XFontStyleEx.BoldItalic); + + // Draw the text. + gfx.DrawString("Hello, dotnet 6.0!", font, XBrushes.Black, + new XRect(0, 0, width, height), XStringFormats.Center); + + // Save the document... + string filename = PdfFileUtility.GetTempPdfFileName("BasicMediaBoxTest"); + document.Save(filename); + // ...and start a viewer. + PdfFileUtility.ShowDocumentIfDebugging(filename); + } + + [Fact] + public void Create_all_boxes_BasicTests() + { + // Create a new PDF document. + var document = new PdfDocument(); + document.Info.Title = "Created with PDFsharp"; + + // Create an empty page in this document. + var page = document.AddPage(); + var pageWidth = page.Width.Point; + var pageHeight = page.Height.Point; + var pageRectangle = new PdfRectangle(0, 0, pageWidth, pageHeight); + var defaultRectangle = new PdfRectangle(); + + var mediaBox = page.MediaBoxReadOnly; + mediaBox.Should().NotBeNull(); + mediaBox.Should().Be(pageRectangle); + + // CropBox does not exist by default. + var cropBox = page.CropBoxReadOnly; + cropBox.Should().Be(defaultRectangle); + + cropBox = page.EffectiveCropBoxReadOnly; + cropBox.Should().NotBeNull(); + cropBox.Should().Be(pageRectangle); + + page.Width = XUnit.FromCentimeter(5); + page.Height = XUnit.FromCentimeter(2); + + mediaBox = page.MediaBoxReadOnly; + mediaBox.Should().NotBeNull(); + mediaBox.Should().NotBe(XRect.Empty); + mediaBox.IsZero.Should().BeFalse(); + + // ----- CropBox ----- + cropBox = page.CropBoxReadOnly; + cropBox.IsZero.Should().BeTrue(); + + cropBox = page.EffectiveCropBoxReadOnly; + cropBox.Should().NotBe(XRect.Empty); + cropBox.IsZero.Should().BeFalse(); + + // Calling page.CropBox sets "new PdfRectangle()" as CropBox. + // For "new PdfRectangle()", IsZero is true. + cropBox = page.CropBox; + cropBox.Should().NotBeNull(); + cropBox.Should().NotBe(XRect.Empty); + cropBox.IsZero.Should().BeTrue(); + + cropBox = page.EffectiveCropBoxReadOnly; + cropBox.Should().NotBeNull(); + cropBox.Should().NotBe(XRect.Empty); + cropBox.IsZero.Should().BeTrue(); + + cropBox = page.CropBoxReadOnly; + cropBox.Should().NotBeNull(); + cropBox.Should().NotBe(XRect.Empty); + cropBox.IsZero.Should().BeTrue(); + + cropBox = page.CropBox; + cropBox.Should().NotBeNull(); + cropBox.Should().NotBe(XRect.Empty); + cropBox.IsZero.Should().BeTrue(); + + page.CropBox = page.MediaBox; + + cropBox = page.CropBox; + cropBox.Should().NotBeNull(); + cropBox.Should().NotBe(XRect.Empty); + cropBox.IsZero.Should().BeFalse(); + + // ----- ArtBox ----- + var artBox = page.ArtBoxReadOnly; + artBox.IsZero.Should().BeTrue(); + + artBox = page.EffectiveArtBoxReadOnly; + artBox.Should().NotBe(XRect.Empty); + artBox.IsZero.Should().BeFalse(); + + // Calling page.ArtBox sets "new PdfRectangle()" as ArtBox. + // For "new PdfRectangle()", IsZero is true. + artBox = page.ArtBox; + artBox.Should().NotBeNull(); + artBox.Should().NotBe(XRect.Empty); + artBox.IsZero.Should().BeTrue(); + + artBox = page.EffectiveArtBoxReadOnly; + artBox.Should().NotBeNull(); + artBox.Should().NotBe(XRect.Empty); + artBox.IsZero.Should().BeTrue(); + + artBox = page.ArtBoxReadOnly; + artBox.Should().NotBeNull(); + artBox.Should().NotBe(XRect.Empty); + artBox.IsZero.Should().BeTrue(); + + artBox = page.ArtBox; + artBox.Should().NotBeNull(); + artBox.Should().NotBe(XRect.Empty); + artBox.IsZero.Should().BeTrue(); + + page.ArtBox = page.MediaBox; + + artBox = page.ArtBox; + artBox.Should().NotBeNull(); + artBox.Should().NotBe(XRect.Empty); + artBox.IsZero.Should().BeFalse(); + + // ----- BleedBox ----- + var bleedBox = page.BleedBoxReadOnly; + bleedBox.IsZero.Should().BeTrue(); + + bleedBox = page.EffectiveBleedBoxReadOnly; + bleedBox.Should().NotBe(XRect.Empty); + bleedBox.IsZero.Should().BeFalse(); + + // Calling page.BleedBox sets "new PdfRectangle()" as BleedBox. + // For "new PdfRectangle()", IsZero is true. + bleedBox = page.BleedBox; + bleedBox.Should().NotBeNull(); + bleedBox.Should().NotBe(XRect.Empty); + bleedBox.IsZero.Should().BeTrue(); + + bleedBox = page.EffectiveBleedBoxReadOnly; + bleedBox.Should().NotBeNull(); + bleedBox.Should().NotBe(XRect.Empty); + bleedBox.IsZero.Should().BeTrue(); + + bleedBox = page.BleedBoxReadOnly; + bleedBox.Should().NotBeNull(); + bleedBox.Should().NotBe(XRect.Empty); + bleedBox.IsZero.Should().BeTrue(); + + bleedBox = page.BleedBox; + bleedBox.Should().NotBeNull(); + bleedBox.Should().NotBe(XRect.Empty); + bleedBox.IsZero.Should().BeTrue(); + + page.BleedBox = page.MediaBox; + + bleedBox = page.BleedBox; + bleedBox.Should().NotBeNull(); + bleedBox.Should().NotBe(XRect.Empty); + bleedBox.IsZero.Should().BeFalse(); + + // ----- TrimBox ----- + var trimBox = page.TrimBoxReadOnly; + trimBox.IsZero.Should().BeTrue(); + + trimBox = page.EffectiveTrimBoxReadOnly; + trimBox.Should().NotBe(XRect.Empty); + trimBox.IsZero.Should().BeFalse(); + + // Calling page.TrimBox sets "new PdfRectangle()" as TrimBox. + // For "new PdfRectangle()", IsZero is true. + trimBox = page.TrimBox; + trimBox.Should().NotBeNull(); + trimBox.Should().NotBe(XRect.Empty); + trimBox.IsZero.Should().BeTrue(); + + trimBox = page.EffectiveTrimBoxReadOnly; + trimBox.Should().NotBeNull(); + trimBox.Should().NotBe(XRect.Empty); + trimBox.IsZero.Should().BeTrue(); + + trimBox = page.TrimBoxReadOnly; + trimBox.Should().NotBeNull(); + trimBox.Should().NotBe(XRect.Empty); + trimBox.IsZero.Should().BeTrue(); + + trimBox = page.TrimBox; + trimBox.Should().NotBeNull(); + trimBox.Should().NotBe(XRect.Empty); + trimBox.IsZero.Should().BeTrue(); + + page.TrimBox = page.MediaBox; + + trimBox = page.TrimBox; + trimBox.Should().NotBeNull(); + trimBox.Should().NotBe(XRect.Empty); + trimBox.IsZero.Should().BeFalse(); + + // Get an XGraphics object for drawing on this page. + var gfx = XGraphics.FromPdfPage(page); + + // Draw two lines with a red default pen. + var width = page.Width.Point; + var height = page.Height.Point; + gfx.DrawLine(XPens.Red, 0, 0, width, height); + gfx.DrawLine(XPens.Red, width, 0, 0, height); + + // Draw a circle with a red pen which is 1.5 point thick. + var r = width / 6; + gfx.DrawEllipse(new XPen(XColors.Red, 1.5), XBrushes.White, new XRect(width / 2 - r, height / 2 - r, 2 * r, 2 * r)); + + // Create a font. + var font = new XFont("Times New Roman", 10, XFontStyleEx.BoldItalic); + + // Draw the text. + gfx.DrawString("Hello, dotnet 6.0!", font, XBrushes.Black, + new XRect(0, 0, width, height), XStringFormats.Center); + + // Save the document... + string filename = PdfFileUtility.GetTempPdfFileName("BasicAllBoxesTest"); + document.Save(filename); + // ...and start a viewer. + PdfFileUtility.ShowDocumentIfDebugging(filename); + } } } diff --git a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Properties/GlobalDeclarations.cs b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Properties/GlobalDeclarations.cs new file mode 100644 index 00000000..e4265a5c --- /dev/null +++ b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Properties/GlobalDeclarations.cs @@ -0,0 +1,22 @@ +// PDFsharp - A .NET library for processing PDF +// See the LICENSE file in the solution root for more information. + +global using System.IO; +global using PdfSharp.Internal; + + +#if USE_LONG_SIZE +global using SizeType = System.Int64; +#else +global using SizeType = System.Int32; +#endif + +global using static System.FormattableString; + +using System.Diagnostics.CodeAnalysis; +//using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: ComVisible(false)] +[assembly: SuppressMessage("LoggingGenerator", "SYSLIB1006:Multiple logging methods cannot use the same event ID within a class", + Justification = "We use logging event IDs as documented, i.e. multiple times", Scope = "member"/*, Target = "~M:PdfSharp.Internal.Logging.LogMessages.XGraphicsCreated(Microsoft.Extensions.Logging.ILogger,System.String)"*/)] diff --git a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Security/SecurityTests.cs b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Security/SecurityTests.cs index 7243ab69..a784cf32 100644 --- a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Security/SecurityTests.cs +++ b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Security/SecurityTests.cs @@ -11,7 +11,7 @@ namespace PdfSharp.Tests.Security [Collection("PDFsharp")] public class SecurityTests { - //[Fact] // TODO: Skip when finally tested. + //[Fact] // The tests succeeds and is now skipped. [Fact(Skip = "Test only once, because it is slow and does not depend on PDFsharp source code.")] public void MD5_creation() { diff --git a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Structs/XUnitTests.cs b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Structs/XUnitTests.cs index 4ee3f090..aca5dcdd 100644 --- a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Structs/XUnitTests.cs +++ b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Structs/XUnitTests.cs @@ -318,7 +318,7 @@ public void XUnit_vs_XUnitPt_Test() const double d2 = 2; const double d2Cm = d2; - + XUnit xUnit2Cm = XUnit.FromCentimeter(d2Cm); XUnitPt xUnitPt2Cm = XUnitPt.FromCentimeter(d2Cm); @@ -334,5 +334,15 @@ public void XUnit_vs_XUnitPt_Test() xUnitPt2CmAsXUnit.Point.Should().Be(xUnit2Cm.Point); xUnitPt2CmAsXUnit.Centimeter.Should().BeApproximately(xUnit2Cm.Centimeter, acceptedRoundingError); } + + [Fact] + public void XUnit_No_commas_allowed_anymore_Test() + { + XUnit unit = "10000.0"; + unit.Value.Should().Be(10_000); + + Func createUnit = () => unit = "10000,0"; + createUnit.Should().Throw(); + } } } diff --git a/src/foundation/src/PDFsharp/tests/PdfSharp.tests-wpf/PdfSharp.tests-wpf.csproj b/src/foundation/src/PDFsharp/tests/PdfSharp.tests-wpf/PdfSharp.tests-wpf.csproj index 8de33d02..b355f268 100644 --- a/src/foundation/src/PDFsharp/tests/PdfSharp.tests-wpf/PdfSharp.tests-wpf.csproj +++ b/src/foundation/src/PDFsharp/tests/PdfSharp.tests-wpf/PdfSharp.tests-wpf.csproj @@ -29,6 +29,7 @@ + diff --git a/src/foundation/src/shared/src/PdfSharp.Shared/Internal/PdfSharpGitVersionInformation.cs b/src/foundation/src/shared/src/PdfSharp.Shared/Internal/PdfSharpGitVersionInformation.cs new file mode 100644 index 00000000..4a52820a --- /dev/null +++ b/src/foundation/src/shared/src/PdfSharp.Shared/Internal/PdfSharpGitVersionInformation.cs @@ -0,0 +1,56 @@ +// PDFsharp - A .NET library for processing PDF +// See the LICENSE file in the solution root for more information. + +namespace PdfSharp.Internal +{ + /// + /// Product version information from git version tool. + /// + public static class PdfSharpGitVersionInformation + { + /// + /// The major version number of the product. + /// + public static string Major = global::GitVersionInformation.Major; + + /// + /// The minor version number of the product. + /// + public static string Minor = global::GitVersionInformation.Minor; + + /// + /// The patch number of the product. + /// + public static string Patch = global::GitVersionInformation.Patch; + + /// + /// The Version pre-release string for NuGet. + /// + public static string PreReleaseLabel = global::GitVersionInformation.PreReleaseLabel; + + /// + /// The full version number. + /// + public static string MajorMinorPatch = global::GitVersionInformation.MajorMinorPatch; + + /// + /// The full semantic version number created by GitVersion. + /// + public static string SemVer = global::GitVersionInformation.SemVer; + + /// + /// The full informational version number created by GitVersion. + /// + public static string InformationalVersion = global::GitVersionInformation.InformationalVersion; + + /// + /// The branch name of the product. + /// + public static string BranchName = global::GitVersionInformation.BranchName; + + /// + /// The commit date of the product. + /// + public static string CommitDate = global::GitVersionInformation.CommitDate; + } +} diff --git a/src/foundation/src/shared/src/PdfSharp.Shared/Properties/GlobalDeclarations.cs b/src/foundation/src/shared/src/PdfSharp.Shared/Properties/GlobalDeclarations.cs index 9569c891..b3191fe0 100644 --- a/src/foundation/src/shared/src/PdfSharp.Shared/Properties/GlobalDeclarations.cs +++ b/src/foundation/src/shared/src/PdfSharp.Shared/Properties/GlobalDeclarations.cs @@ -17,4 +17,4 @@ [assembly: ComVisible(false)] //[assembly: SuppressMessage("LoggingGenerator", "SYSLIB1006:Multiple logging methods cannot use the same event ID within a class", -// Justification = "We use logging event ids as documented, i.e. multiple times", Scope = "member"/*, Target = "~M:PdfSharp.Internal.Logging.LogMessages.XGraphicsCreated(Microsoft.Extensions.Logging.ILogger,System.String)"*/)] +// Justification = "We use logging event IDs as documented, i.e. multiple times", Scope = "member"/*, Target = "~M:PdfSharp.Internal.Logging.LogMessages.XGraphicsCreated(Microsoft.Extensions.Logging.ILogger,System.String)"*/)] diff --git a/src/foundation/src/shared/src/PdfSharp.Snippets/Font/selection/DefaultConstructionSnippets.cs b/src/foundation/src/shared/src/PdfSharp.Snippets/Font/selection/DefaultConstructionSnippets.cs index a7fd6204..52ea9e2d 100644 --- a/src/foundation/src/shared/src/PdfSharp.Snippets/Font/selection/DefaultConstructionSnippets.cs +++ b/src/foundation/src/shared/src/PdfSharp.Snippets/Font/selection/DefaultConstructionSnippets.cs @@ -54,7 +54,7 @@ public class DefaultWindowsFontsSnippet : Snippet #endif #if TIMES_NEW_ROMAN - private const string FamilyName = "Times New Roman"; + const string FamilyName = "Times New Roman"; #elif SEGOE_UI const string FamilyName = "Segoe UI"; #endif @@ -442,7 +442,7 @@ public class PlatformFontConstructionSnippet : Snippet #endif #if TIMES_NEW_ROMAN - private const string FamilyName = "Times New Roman"; + const string FamilyName = "Times New Roman"; #elif SEGOE_UI const string FamilyName = "Segoe UI"; #endif diff --git a/src/foundation/src/shared/src/PdfSharp.System/Properties/GlobalDeclarations.cs b/src/foundation/src/shared/src/PdfSharp.System/Properties/GlobalDeclarations.cs index b05fbb8f..1f8cc8db 100644 --- a/src/foundation/src/shared/src/PdfSharp.System/Properties/GlobalDeclarations.cs +++ b/src/foundation/src/shared/src/PdfSharp.System/Properties/GlobalDeclarations.cs @@ -18,4 +18,4 @@ [assembly: ComVisible(false)] //[assembly: SuppressMessage("LoggingGenerator", "SYSLIB1006:Multiple logging methods cannot use the same event ID within a class", -// Justification = "We use logging event ids as documented, i.e. multiple times", Scope = "member"/*, Target = "~M:PdfSharp.Internal.Logging.LogMessages.XGraphicsCreated(Microsoft.Extensions.Logging.ILogger,System.String)"*/)] +// Justification = "We use logging event IDs as documented, i.e. multiple times", Scope = "member"/*, Target = "~M:PdfSharp.Internal.Logging.LogMessages.XGraphicsCreated(Microsoft.Extensions.Logging.ILogger,System.String)"*/)] diff --git a/src/foundation/src/shared/testapps/Shared.TestApp/Program.cs b/src/foundation/src/shared/testapps/Shared.TestApp/Program.cs index e49e7bf8..9f16c927 100644 --- a/src/foundation/src/shared/testapps/Shared.TestApp/Program.cs +++ b/src/foundation/src/shared/testapps/Shared.TestApp/Program.cs @@ -24,21 +24,23 @@ static void Main( /*string[] args*/) //.AddFilter("System", LogLevel.Warning) //.AddFilter("LoggingConsoleApp.Program", LogLevel.Debug) .AddFilter("", LogLevel.Debug) + .AddFilter(PdfSharpLogCategory.DocumentProcessing, LogLevel.Debug) + .AddFilter(PdfSharpLogCategory.FontManagement, LogLevel.Debug) + .AddFilter(PdfSharpLogCategory.PdfReading, LogLevel.Debug) + .AddFilter(PdfSharpLogCategory.ImageProcessing, LogLevel.Debug) //.AddFilter("PDFsharp", LogLevel.Critical) .AddConsole(); }); + LogHost.Factory = loggerFactory; ILogger logger = loggerFactory.CreateLogger(); - //logger.LogInformation("Example log message 1"); - - //LogHost.Logger.LogInformation("Example log message 2"); + - LogHost.Factory = loggerFactory; //LogHost.Logger.LogError("Something went wrong."); //LogHost.Logger.TestMessage(LogLevel.Critical, "blah"); //LogHost.Logger.TestMessage("di-blub"); - //LogHost.Logger.TestMessage("------------------------------------------------------------------------------"); + LogHost.Logger.TestMessage("------------------------------------------------------------------------------"); @@ -48,7 +50,7 @@ static void Main( /*string[] args*/) // Call some developer specific test code from a file not in the repo. // Implement your code in ProgramEx.cs in partial class Program. - var test = typeof(Program).GetMethod("Test", BindingFlags.Static| BindingFlags.NonPublic); + var test = typeof(Program).GetMethod("Test", BindingFlags.Static | BindingFlags.NonPublic); if (test != null) { test.Invoke(null, null); From 5e06a78654b57f94e58524371b23212caad3fa7d Mon Sep 17 00:00:00 2001 From: Thomas Terhaar Date: Sun, 2 Feb 2025 15:49:19 +0100 Subject: [PATCH 3/5] Make working with AcroForms more user-friendly --- .../src/PdfSharp-gdi/PdfSharp-gdi.csproj | 43 +- .../src/PdfSharp-wpf/PdfSharp-wpf.csproj | 43 +- .../PDFsharp/src/PdfSharp/Drawing/XFont.cs | 30 + .../src/PdfSharp/Drawing/XFontSource.cs | 10 +- .../src/PdfSharp/Drawing/XGlyphTypeface.cs | 6 +- .../PdfSharp/Fonts.OpenType/IRefFontTable.cs | 12 +- .../Fonts.OpenType/OpenTypeFontTables.cs | 42 + .../Fonts.OpenType/OpenTypeFontface.cs | 4 +- .../StandardFonts/FontResources.Designer.cs | 203 ++++ .../Fonts/StandardFonts/FontResources.resx | 163 +++ .../src/PdfSharp/Fonts/StandardFonts/OFL.txt | 92 ++ .../Fonts/StandardFonts/StandardFontData.cs | 70 ++ .../Fonts/StandardFonts/StandardFontNames.cs | 69 ++ .../StandardFonts/StandardFontResolver.cs | 190 ++++ .../src/PdfSharp/Internal/StringExtensions.cs | 37 + .../PdfSharp/Pdf.AcroForms/PdfAcroField.cs | 999 +++++++++++++++--- .../src/PdfSharp/Pdf.AcroForms/PdfAcroForm.cs | 425 +++++++- .../Pdf.AcroForms/PdfAcroFormImporter.cs | 250 +++++ .../PdfSharp/Pdf.AcroForms/PdfButtonField.cs | 104 +- .../Pdf.AcroForms/PdfCheckBoxField.cs | 351 ++---- .../PdfSharp/Pdf.AcroForms/PdfChoiceField.cs | 256 ++++- .../Pdf.AcroForms/PdfComboBoxField.cs | 120 ++- .../PdfSharp/Pdf.AcroForms/PdfGenericField.cs | 20 + .../PdfSharp/Pdf.AcroForms/PdfListBoxField.cs | 217 +++- .../Pdf.AcroForms/PdfPushButtonField.cs | 160 +++ .../Pdf.AcroForms/PdfRadioButtonField.cs | 256 ++++- .../Pdf.AcroForms/PdfSignatureField.cs | 136 ++- .../PdfSharp/Pdf.AcroForms/PdfTextField.cs | 281 +++-- .../Rendering/PdfAcroFieldRenderer.cs | 87 ++ .../Rendering/PdfCheckBoxFieldRenderer.cs | 57 + .../Rendering/PdfComboBoxFieldRenderer.cs | 51 + .../Rendering/PdfListBoxFieldRenderer.cs | 62 ++ .../Rendering/PdfPushButtonFieldRenderer.cs | 130 +++ .../Rendering/PdfRadioButtonFieldRenderer.cs | 54 + .../Rendering/PdfSignatureFieldRenderer.cs | 38 + .../Rendering/PdfTextFieldRenderer.cs | 75 ++ .../enums/PdfAcroFieldTextAlignment.cs | 21 + .../src/PdfSharp/Pdf.Advanced/PdfCatalog.cs | 20 +- .../src/PdfSharp/Pdf.Advanced/PdfFont.cs | 9 + .../src/PdfSharp/Pdf.Advanced/PdfFontTable.cs | 30 +- .../PdfSharp/Pdf.Advanced/PdfFormXObject.cs | 8 + .../src/PdfSharp/Pdf.Advanced/PdfType0Font.cs | 2 + .../PdfSharp/Pdf.Annotations/PdfAnnotation.cs | 179 +++- .../Pdf.Annotations/PdfAnnotationBorder.cs | 35 + .../Pdf.Annotations/PdfAnnotations.cs | 5 +- .../Pdf.Annotations/PdfWidgetAnnotation.cs | 383 ++++++- .../enums/PdfAnnotationBorderStyle.cs | 34 + .../enums/PdfAnnotationHighlightingMode.cs | 30 + .../enums/PdfButtonCaptionPosition.cs | 38 + .../Pdf.Signatures/DigitalSignatureOptions.cs | 3 +- .../Pdf.Signatures/PdfSignatureHandler.cs | 71 +- .../src/PDFsharp/src/PdfSharp/Pdf/PdfArray.cs | 4 +- .../PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs | 60 +- .../src/PDFsharp/src/PdfSharp/PdfSharp.csproj | 15 + .../src/PdfSharp/Resources/D050000L.ttf | Bin 0 -> 37860 bytes .../PdfSharp/Resources/NimbusMonoPS-Bold.ttf | Bin 0 -> 212616 bytes .../Resources/NimbusMonoPS-BoldItalic.ttf | Bin 0 -> 215144 bytes .../Resources/NimbusMonoPS-Italic.ttf | Bin 0 -> 205712 bytes .../Resources/NimbusMonoPS-Regular.ttf | Bin 0 -> 201348 bytes .../PdfSharp/Resources/NimbusRoman-Bold.ttf | Bin 0 -> 200040 bytes .../Resources/NimbusRoman-BoldItalic.ttf | Bin 0 -> 201916 bytes .../PdfSharp/Resources/NimbusRoman-Italic.ttf | Bin 0 -> 204136 bytes .../Resources/NimbusRoman-Regular.ttf | Bin 0 -> 203180 bytes .../PdfSharp/Resources/NimbusSans-Bold.ttf | Bin 0 -> 158732 bytes .../Resources/NimbusSans-BoldItalic.ttf | Bin 0 -> 190792 bytes .../PdfSharp/Resources/NimbusSans-Italic.ttf | Bin 0 -> 191524 bytes .../PdfSharp/Resources/NimbusSans-Regular.ttf | Bin 0 -> 181776 bytes .../PdfSharp/Resources/StandardSymbolsPS.ttf | Bin 0 -> 24400 bytes .../AcroForms/AcroFieldTests.cs | 434 ++++++++ .../AcroForms/AcroFormsTests.cs | 929 ++++++++++++++++ 70 files changed, 6647 insertions(+), 806 deletions(-) create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/FontResources.Designer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/FontResources.resx create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/OFL.txt create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontData.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontNames.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontResolver.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Internal/StringExtensions.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroFormImporter.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfAcroFieldRenderer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfCheckBoxFieldRenderer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfComboBoxFieldRenderer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfListBoxFieldRenderer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfPushButtonFieldRenderer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfRadioButtonFieldRenderer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfSignatureFieldRenderer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfTextFieldRenderer.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/enums/PdfAcroFieldTextAlignment.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotationBorder.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfAnnotationBorderStyle.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfAnnotationHighlightingMode.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfButtonCaptionPosition.cs create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/D050000L.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Bold.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-BoldItalic.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Italic.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Regular.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusRoman-Bold.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusRoman-BoldItalic.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusRoman-Italic.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusRoman-Regular.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-Bold.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-BoldItalic.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-Italic.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-Regular.ttf create mode 100644 src/foundation/src/PDFsharp/src/PdfSharp/Resources/StandardSymbolsPS.ttf create mode 100644 src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFieldTests.cs create mode 100644 src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFormsTests.cs diff --git a/src/foundation/src/PDFsharp/src/PdfSharp-gdi/PdfSharp-gdi.csproj b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/PdfSharp-gdi.csproj index 77294d79..ec4fc5d5 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp-gdi/PdfSharp-gdi.csproj +++ b/src/foundation/src/PDFsharp/src/PdfSharp-gdi/PdfSharp-gdi.csproj @@ -146,7 +146,10 @@ - + + + + @@ -172,6 +175,7 @@ + @@ -179,9 +183,19 @@ - - - + + + + + + + + + + + + + @@ -244,11 +258,15 @@ + - + + + + @@ -425,4 +443,19 @@ + + + True + True + FontResources.resx + + + + + + ResXFileCodeGenerator + FontResources.Designer.cs + + + diff --git a/src/foundation/src/PDFsharp/src/PdfSharp-wpf/PdfSharp-wpf.csproj b/src/foundation/src/PDFsharp/src/PdfSharp-wpf/PdfSharp-wpf.csproj index 9fc703b1..f17ebfcc 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp-wpf/PdfSharp-wpf.csproj +++ b/src/foundation/src/PDFsharp/src/PdfSharp-wpf/PdfSharp-wpf.csproj @@ -144,7 +144,10 @@ - + + + + @@ -170,6 +173,7 @@ + @@ -178,8 +182,18 @@ + + + + + + + + + - + + @@ -242,12 +256,16 @@ - - + + + + + - + + @@ -421,4 +439,19 @@ + + + True + True + FontResources.resx + + + + + + ResXFileCodeGenerator + FontResources.Designer.cs + + + diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFont.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFont.cs index 329474fa..a6c73e95 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFont.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFont.cs @@ -33,6 +33,21 @@ namespace PdfSharp.Drawing [DebuggerDisplay("{" + nameof(DebuggerDisplay) + "}")] public sealed class XFont { + /// + /// Creates a new XFont based on an existing XFont with the specified emSize and options. + /// + /// + /// + /// + /// + public static XFont FromExisting(XFont existingFont, double emSize, XPdfFontOptions? pdfOptions = null) + { + return new XFont(existingFont.GlyphTypeface, emSize, pdfOptions ?? existingFont.PdfOptions) + { + _familyName = existingFont.FamilyName + }; + } + /// /// Initializes a new instance of the class. /// @@ -765,5 +780,20 @@ string DebuggerDisplay { get => Invariant($"font=('{Name2}' {Size:0.##}{(Bold ? " bold" : "")}{(Italic ? " italic" : "")} {GlyphTypeface.StyleSimulations})"); } + + /// + /// Gets the list of characters supported by this font.

    + ///
    + /// The list of characters supported by this font + /// + /// Applications may use to convert these values to a valid string. + /// + public HashSet GetSupportedCharacters() + { + characterSet ??= OpenTypeDescriptor.FontFace.cmap.GetSupportedCharacters(); + return characterSet; + } + + HashSet characterSet = null!; } } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFontSource.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFontSource.cs index 47aaa679..f3fff30a 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFontSource.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFontSource.cs @@ -45,14 +45,20 @@ public class XFontSource /// Gets an existing font source or creates a new one. /// A new font source is cached in font factory. ///
    - public static XFontSource GetOrCreateFrom(byte[] bytes) + /// The bytes of the font + /// If true, a new font source is cached in font factory. + /// + /// Setting to false allows inspecting the font-data without caching the whole font + /// + public static XFontSource GetOrCreateFrom(byte[] bytes, bool cache = true) { ulong key = FontHelper.CalcChecksum(bytes); if (!FontFactory.TryGetFontSourceByKey(key, out var fontSource)) { fontSource = new XFontSource(bytes, key); // Theoretically the font source could be created by a different thread in the meantime. - fontSource = FontFactory.CacheFontSource(fontSource); + if (cache) + fontSource = FontFactory.CacheFontSource(fontSource); } return fontSource; } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XGlyphTypeface.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XGlyphTypeface.cs index 45a7df93..1dfba2c7 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XGlyphTypeface.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XGlyphTypeface.cs @@ -50,7 +50,7 @@ public sealed class XGlyphTypeface FontFamily = fontFamily; FontSource = fontSource; - FontFace = OpenTypeFontFace.CetOrCreateFrom(fontSource); + FontFace = OpenTypeFontFace.GetOrCreateFrom(fontSource); // Check why it fails. //Debug.Assert(ReferenceEquals(FontSource.FontFace, FontFace)); @@ -67,7 +67,7 @@ public sealed class XGlyphTypeface FontFamily = fontFamily; FontSource = fontSource; - FontFace = OpenTypeFontFace.CetOrCreateFrom(fontSource); + FontFace = OpenTypeFontFace.GetOrCreateFrom(fontSource); Debug.Assert(ReferenceEquals(FontSource.FontFace, FontFace)); _gdiFont = gdiFont; @@ -105,7 +105,7 @@ public XGlyphTypeface(XFontSource fontSource) FontSource = fontSource; StyleSimulations = styleSimulations; - FontFace = OpenTypeFontFace.CetOrCreateFrom(fontSource); + FontFace = OpenTypeFontFace.GetOrCreateFrom(fontSource); Debug.Assert(ReferenceEquals(FontSource.FontFace, FontFace)); WpfTypeface = wpfTypeface; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/IRefFontTable.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/IRefFontTable.cs index 27336a8c..9078682f 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/IRefFontTable.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/IRefFontTable.cs @@ -35,11 +35,11 @@ public override void PrepareForCompilation() // Check the checksum algorithm. if (DirectoryEntry.Tag != TableTagNames.Head) { - byte[] bytes = new byte[DirectoryEntry.PaddedLength]; - Buffer.BlockCopy(_irefDirectoryEntry.FontTable._fontData!.FontSource.Bytes, _irefDirectoryEntry.Offset, bytes, 0, DirectoryEntry.PaddedLength); - uint checkSum1 = DirectoryEntry.CheckSum; - uint checkSum2 = CalcChecksum(bytes); - // TODO_OLD: Sometimes this Assert fails, + //byte[] bytes = new byte[DirectoryEntry.PaddedLength]; + //Buffer.BlockCopy(_irefDirectoryEntry.FontTable._fontData!.FontSource.Bytes, _irefDirectoryEntry.Offset, bytes, 0, DirectoryEntry.PaddedLength); + //uint checkSum1 = DirectoryEntry.CheckSum; + //uint checkSum2 = CalcChecksum(bytes); + // TODO: Sometimes this Assert fails, //Debug.Assert(checkSum1 == checkSum2, "Bug in checksum algorithm."); } #endif @@ -50,7 +50,7 @@ public override void PrepareForCompilation() ///
    public override void Write(OpenTypeFontWriter writer) { - writer.Write(_irefDirectoryEntry.FontTable._fontData!.FontSource.Bytes, _irefDirectoryEntry.Offset, _irefDirectoryEntry.PaddedLength); + writer.Write(_irefDirectoryEntry.FontTable._fontData!.FontSource.Bytes, _irefDirectoryEntry.Offset, _irefDirectoryEntry.Length); } } } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontTables.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontTables.cs index 7cbc780f..b7322a54 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontTables.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontTables.cs @@ -110,6 +110,25 @@ internal void Read() throw new InvalidOperationException(PsMsgs.ErrorReadingFontData, ex); } } + + internal HashSet GetSupportedCharacters() + { + var characterSet = new HashSet(); + + int segCount = segCountX2 / 2; + for (var i = 0; i < segCount; i++) + { + var start = startCount[i]; + var end = endCount[i]; + if (start == 0xffff && end == 0xffff) + break; + for (var c = start; c <= end; c++) + { + characterSet.Add(c); + } + } + return characterSet; + } } /// @@ -167,6 +186,22 @@ internal void Read() throw new InvalidOperationException(PsMsgs.ErrorReadingFontData, ex); } } + + public HashSet GetSupportedCharacters() + { + var characterSet = new HashSet(); + + foreach (var group in groups) + { + var start = group.startCharCode; + var end = group.endCharCode; + for (var c = start; c <= end; c++) + { + characterSet.Add((int)c); + } + } + return characterSet; + } } /// @@ -250,6 +285,13 @@ internal void Read() throw new InvalidOperationException(PsMsgs.ErrorReadingFontData, ex); } } + + internal HashSet GetSupportedCharacters() + { + return cmap12?.GetSupportedCharacters() ?? cmap4?.GetSupportedCharacters() ?? emptySet; + } + + private static readonly HashSet emptySet = []; } /// diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontface.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontface.cs index 4643237d..3b8d2f94 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontface.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontface.cs @@ -78,7 +78,7 @@ public OpenTypeFontFace(XFontSource fontSource) _fullFaceName = name.FullFontName; } - public static OpenTypeFontFace CetOrCreateFrom(XFontSource fontSource) + public static OpenTypeFontFace GetOrCreateFrom(XFontSource fontSource) { if (OpenTypeFontFaceCache.TryGetFontFace(fontSource.Key, out var fontFace)) return fontFace; @@ -398,7 +398,7 @@ public OpenTypeFontFace CreateFontSubset(Dictionary glyphs, boo { // Do not create a subset? // No loca table means font has postscript outline. - if (_fontEmbedding == PdfFontEmbedding.EmbedCompleteFontFile || loca == null!) + if (glyphs.Count == 0 || _fontEmbedding == PdfFontEmbedding.EmbedCompleteFontFile || loca == null!) return this; // Create new font image. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/FontResources.Designer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/FontResources.Designer.cs new file mode 100644 index 00000000..ccfe784c --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/FontResources.Designer.cs @@ -0,0 +1,203 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace PdfSharp.Fonts.StandardFonts { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class FontResources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal FontResources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("PdfSharp.Fonts.StandardFonts.FontResources", typeof(FontResources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] D050000L { + get { + object obj = ResourceManager.GetObject("D050000L", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusMonoPS_Bold { + get { + object obj = ResourceManager.GetObject("NimbusMonoPS_Bold", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusMonoPS_BoldItalic { + get { + object obj = ResourceManager.GetObject("NimbusMonoPS_BoldItalic", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusMonoPS_Italic { + get { + object obj = ResourceManager.GetObject("NimbusMonoPS_Italic", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusMonoPS_Regular { + get { + object obj = ResourceManager.GetObject("NimbusMonoPS_Regular", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusRoman_Bold { + get { + object obj = ResourceManager.GetObject("NimbusRoman_Bold", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusRoman_BoldItalic { + get { + object obj = ResourceManager.GetObject("NimbusRoman_BoldItalic", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusRoman_Italic { + get { + object obj = ResourceManager.GetObject("NimbusRoman_Italic", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusRoman_Regular { + get { + object obj = ResourceManager.GetObject("NimbusRoman_Regular", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusSans_Bold { + get { + object obj = ResourceManager.GetObject("NimbusSans_Bold", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusSans_BoldItalic { + get { + object obj = ResourceManager.GetObject("NimbusSans_BoldItalic", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusSans_Italic { + get { + object obj = ResourceManager.GetObject("NimbusSans_Italic", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] NimbusSans_Regular { + get { + object obj = ResourceManager.GetObject("NimbusSans_Regular", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] StandardSymbolsPS { + get { + object obj = ResourceManager.GetObject("StandardSymbolsPS", resourceCulture); + return ((byte[])(obj)); + } + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/FontResources.resx b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/FontResources.resx new file mode 100644 index 00000000..27ef5199 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/FontResources.resx @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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\D050000L.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusMonoPS-Bold.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusMonoPS-BoldItalic.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusMonoPS-Italic.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusMonoPS-Regular.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusRoman-Bold.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusRoman-BoldItalic.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusRoman-Italic.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusRoman-Regular.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusSans-Bold.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusSans-BoldItalic.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusSans-Italic.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\NimbusSans-Regular.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\..\Resources\StandardSymbolsPS.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/OFL.txt b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/OFL.txt new file mode 100644 index 00000000..187990b7 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/OFL.txt @@ -0,0 +1,92 @@ +Copyright 2016 by (URW)++ Design & Development. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontData.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontData.cs new file mode 100644 index 00000000..fd34053c --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontData.cs @@ -0,0 +1,70 @@ +using PdfSharp.Pdf.AcroForms; + +namespace PdfSharp.Fonts.StandardFonts +{ + /// + /// Provides the data for the 14 Standard-Fonts defined in the PDF-specification.

    + /// Pdf spec. 1.7, Chapter 9.6.2.2: Standard Type 1 Fonts (Standard 14 Fonts)

    + /// Mainly intended for existing documents which use one or more of the standard-fonts without embedding them.

    + /// Most often used in fillable forms, i.e. a + ///
    + public static class StandardFontData + { + /// + /// Gets the data for the specified font + /// + /// Name of the font. A leading slash is automatically stripped + /// Font-data or null if a font with the specified name could not be found + public static byte[]? GetFontData(string fontName) + { + if (string.IsNullOrWhiteSpace(fontName)) + return null; + + // if the name comes from a resource-dictionary... + if (fontName.StartsWith("/")) + fontName = fontName.TrimStart('/'); + + if (fontData.TryGetValue(fontName, out var data)) + return data; + return null; + } + + /// + /// Indicates, whether the specified is one of the 14 Standard-Fonts + /// + /// Font-name to check. A leading slash it automatically stripped + /// true, if is one of the 14 Standard-Fonts, otherwise false + public static bool IsStandardFont(string fontName) + { + if (string.IsNullOrWhiteSpace(fontName)) + return false; + return FontNames.Contains(fontName.TrimStart('/')); + } + + /// + /// Get the names of the supported standard-fonts + /// + public static IEnumerable FontNames => fontData.Keys; + + private static readonly Dictionary fontData = new() + { + { StandardFontNames.Courier, FontResources.NimbusMonoPS_Regular }, + { StandardFontNames.CourierBold, FontResources.NimbusMonoPS_Bold }, + { StandardFontNames.CourierItalic, FontResources.NimbusMonoPS_Italic }, + { StandardFontNames.CourierBoldItalic, FontResources.NimbusMonoPS_BoldItalic }, + + { StandardFontNames.Helvetica, FontResources.NimbusSans_Regular }, + { StandardFontNames.HelveticaBold, FontResources.NimbusSans_Bold }, + { StandardFontNames.HelveticaItalic, FontResources.NimbusSans_Italic }, + { StandardFontNames.HelveticaBoldItalic, FontResources.NimbusSans_BoldItalic }, + + { StandardFontNames.Times, FontResources.NimbusRoman_Regular }, + { StandardFontNames.TimesBold, FontResources.NimbusRoman_Bold }, + { StandardFontNames.TimesItalic, FontResources.NimbusRoman_Italic }, + { StandardFontNames.TimesBoldItalic, FontResources.NimbusRoman_BoldItalic }, + + { StandardFontNames.ZapfDingbats, FontResources.D050000L }, + { StandardFontNames.Symbol, FontResources.StandardSymbolsPS } + }; + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontNames.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontNames.cs new file mode 100644 index 00000000..cd0a650b --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontNames.cs @@ -0,0 +1,69 @@ +namespace PdfSharp.Fonts.StandardFonts +{ + /// + /// Contains the names of the 14 Standard-fonts as defined in the PDF-Specification.

    + /// See PdfReference 1.7, Chapter 9.6.2.2 + ///
    + public static class StandardFontNames + { + /// + /// Courier + /// + public const string Courier = "Courier"; + /// + /// CourierBold + /// + public const string CourierBold = "Courier-Bold"; + /// + /// CourierItalic + /// + public const string CourierItalic = "Courier-Oblique"; + /// + /// CourierBoldItalic + /// + public const string CourierBoldItalic = "Courier-BoldOblique"; + + /// + /// Helvetica + /// + public const string Helvetica = "Helvetica"; + /// + /// HelveticaBold + /// + public const string HelveticaBold = "Helvetica-Bold"; + /// + /// HelveticaItalic + /// + public const string HelveticaItalic = "Helvetica-Oblique"; + /// + /// HelveticaBoldItalic + /// + public const string HelveticaBoldItalic = "Helvetica-BoldOblique"; + + /// + /// Times + /// + public const string Times = "Times-Roman"; + /// + /// TimesBold + /// + public const string TimesBold = "Times-Bold"; + /// + /// TimesItalic + /// + public const string TimesItalic = "Times-Italic"; + /// + /// TimesBoldItalic + /// + public const string TimesBoldItalic = "Times-BoldItalic"; + + /// + /// Symbol + /// + public const string Symbol = "Symbol"; + /// + /// ZapfDingbats + /// + public const string ZapfDingbats = "ZapfDingbats"; + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontResolver.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontResolver.cs new file mode 100644 index 00000000..d8d11b21 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts/StandardFonts/StandardFontResolver.cs @@ -0,0 +1,190 @@ +using PdfSharp.Drawing; +using PdfSharp.Fonts.OpenType; +using System.Diagnostics.CodeAnalysis; + +namespace PdfSharp.Fonts.StandardFonts +{ + /// + /// Resolves the 14 standard-fonts and fonts that were pre-registered + /// + public class StandardFontResolver : IFontResolver + { + private readonly Dictionary localFonts = new(StringComparer.OrdinalIgnoreCase); + private readonly Dictionary registeredFontFiles = new(StringComparer.OrdinalIgnoreCase); + private string? fallbackFontName; + private readonly Dictionary> characterSets = new(StringComparer.OrdinalIgnoreCase); + + /// + /// Creates a new instance of the + /// + public StandardFontResolver() + { + // register character-sets of standard-fonts + foreach (var fontName in StandardFontData.FontNames) + { + var fontData = StandardFontData.GetFontData(fontName)!; + var fontSource = XFontSource.GetOrCreateFrom(fontData, false); + var typeFace = new OpenTypeFontFace(fontSource); + var characterSet = typeFace.cmap.GetSupportedCharacters(); + characterSets[fontName] = characterSet; + } + } + + /// + /// Registers a new font + /// + /// The name of the font + /// The font-data + /// Specifies, whether the font is bold + /// Specifies, whether the font is italic + public void Register(string fontName, byte[] fontData, bool isBold = false, bool isItalic = false) + { + var localName = MakeLocalName(fontName, isBold, isItalic); + localFonts[localName] = fontData; + // get the name stored in the font itself + var fontSource = XFontSource.GetOrCreateFrom(fontData, false); + var typeFace = new OpenTypeFontFace(fontSource); + if (!string.IsNullOrEmpty(typeFace.FullFaceName)) + { + localFonts[typeFace.FullFaceName] = fontData; + var characterSet = typeFace.cmap.GetSupportedCharacters(); + characterSets[typeFace.FullFaceName] = characterSet; + } + } + + /// + /// Registers all (TrueType)-fonts from the specified folder and all sub-folders.

    + /// In an , these fonts may be referenced by their filename or their full face-name. + ///
    + /// The base path to load fonts from + /// The number of fonts that were found + /// + /// + public int RegisterFolder(string folderPath) + { + if (string.IsNullOrEmpty(folderPath)) + throw new ArgumentNullException(nameof(folderPath), "Folder name may not be null or empty"); + if (!Directory.Exists(folderPath)) + throw new ArgumentException($"The folder '{folderPath}' does not exist", nameof(folderPath)); + + var fontFiles = Directory.GetFiles(folderPath, "*.ttf", SearchOption.AllDirectories); + var count = 0; + foreach (var file in fontFiles) + { + try + { + var data = File.ReadAllBytes(file); + // create Font-source without caching it + var fontSource = XFontSource.GetOrCreateFrom(data, false); + var font = new OpenTypeFontFace(fontSource); + var fileName = Path.GetFileNameWithoutExtension(file); + registeredFontFiles[fileName] = file; + registeredFontFiles[font.FullFaceName] = file; + + var characterSet = font.cmap.GetSupportedCharacters(); + characterSets[font.FullFaceName] = characterSet; + count++; + } + catch + { + } + } + return count; + } + + /// + /// Registers the font with the specified name as the fallback font.

    + /// The font must be either one of the or one of the pre-registered fonts. + ///
    + /// + /// + public void RegisterFallbackFont(string fontName) + { + if (StandardFontData.IsStandardFont(fontName) + || localFonts.ContainsKey(fontName) + || registeredFontFiles.ContainsKey(fontName)) + fallbackFontName = fontName; + else + throw new ArgumentException($"'{fontName}' is not one of the standard font names and none of the registered fonts"); + } + + /// + /// Tries to find a font suitable for rendering all characters specified in .

    + /// The returned font-name can be used to construct a new . + ///
    + /// + /// + /// The name of a font or null if no appropiate font was found + /// + /// If no font was found it could mean that the specified text contains characters for different languages.

    + /// e.g. if the text contains a mix of Arabic and Korean, it is unlikely to find a single font that suits both languages.

    + /// In this case you could try to split the text into multiple substrings, each one containing only characters for a single language.

    + /// Then call this function for each substring. + ///
    + public bool TryFindAppropiateFont(string text, [MaybeNullWhen(false)] out string fontName) + { + fontName = null!; + if (string.IsNullOrWhiteSpace(text)) + return false; + // try to find a character-set containing all characters of text + var kv = characterSets.FirstOrDefault(it => text.All(c => it.Value.Contains(c))); + fontName = kv.Key; + return kv.Key != null; + } + + /// + /// Gets the data for the specified font. + /// + /// Name of the font + /// Font data or null, if no font with the specified name could be found + public byte[]? GetFont(string faceName) + { + var result = Resolve(faceName, false, false); + if (result.Item1 == null && !string.IsNullOrEmpty(fallbackFontName)) + result = Resolve(fallbackFontName, false, false); + return result.Item1; + } + + /// + /// Get a for the specified font + /// + /// Name of the font + /// + /// + /// A or null, if no font with the specified name could be found + public FontResolverInfo? ResolveTypeface(string familyName, bool isBold, bool isItalic) + { + var result = Resolve(familyName, isBold, isItalic); + if (result.Item2 == null && !string.IsNullOrEmpty(fallbackFontName)) + result = Resolve(fallbackFontName, isBold, isItalic); + return result.Item2; + } + + private static string MakeLocalName(string fontName, bool isBold, bool isItalic) + { + return XGlyphTypeface.ComputeGtfKey(fontName, isBold, isItalic); + } + + private Tuple Resolve(string fontName, bool isBold, bool isItalic) + { + var localName = MakeLocalName(fontName, isBold, isItalic); + if (localFonts.TryGetValue(localName, out var localData) || localFonts.TryGetValue(fontName, out localData)) + return new Tuple(localData, new FontResolverInfo(fontName, isBold, isItalic)); + + if (registeredFontFiles.TryGetValue(fontName, out var fileName)) + { + var fileData = System.IO.File.ReadAllBytes(fileName); + return new Tuple(fileData, new FontResolverInfo(fontName, isBold, isItalic)); + } + + var data = StandardFontData.GetFontData(fontName); + if (data != null) + { + Register(fontName, data, isBold, isItalic); + return new Tuple(data, new FontResolverInfo(fontName, isBold, isItalic)); + } + + return new Tuple(null, null); + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Internal/StringExtensions.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/StringExtensions.cs new file mode 100644 index 00000000..abc20690 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Internal/StringExtensions.cs @@ -0,0 +1,37 @@ +namespace PdfSharp +{ + internal static class StringExtensions + { + /// + /// Add a number-suffix to the provided string.

    + /// If the string already has a number-suffix, the suffix is incremented by one. + ///
    + /// + /// + public static string AddIncrementalSuffix(this string text) + { + if (string.IsNullOrEmpty(text)) + return text; + + var numberSuffix = 1; // will be incremented to 2 if text does not have a suffix + var idx = text.Length - 1; + // check if value ends with a number. if it does, increment it + while (idx >= 0 && char.IsDigit(text[idx])) + idx--; + idx++; + if (idx < text.Length) +#if NET6_0_OR_GREATER + numberSuffix = int.Parse(text[idx..]); +#else + numberSuffix = int.Parse(text.Substring(idx)); +#endif + numberSuffix++; +#if NET6_0_OR_GREATER + var namePrefix = text[..idx]; +#else + var namePrefix = text.Substring(0, idx); +#endif + return namePrefix + numberSuffix.ToString(CultureInfo.InvariantCulture); + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs index f69b1cc8..b26566d3 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs @@ -1,7 +1,15 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; +using PdfSharp.Fonts.OpenType; +using PdfSharp.Fonts.StandardFonts; using PdfSharp.Pdf.Advanced; +using PdfSharp.Pdf.Annotations; +using PdfSharp.Pdf.Content; +using PdfSharp.Pdf.Content.Objects; +using PdfSharp.Pdf.Internal; +using System.Diagnostics.CodeAnalysis; namespace PdfSharp.Pdf.AcroForms { @@ -22,7 +30,9 @@ internal PdfAcroField(PdfDocument document) ///
    protected PdfAcroField(PdfDictionary dict) : base(dict) - { } + { + DetermineAppearance(); + } /// /// Gets the name of this field. @@ -34,12 +44,99 @@ public string Name string name = Elements.GetString(Keys.T); return name; } + set + { + //if (value.Contains('.')) + // throw new ArgumentException("Field-names should not contain dots (.)", nameof(value)); + Debug.Assert(!value.Contains('.'), "Field-names should not contain dots (.)"); + Elements.SetString(Keys.T, value); + } + } + + /// + /// An alternate field name, to be used in place of the actual + /// field name wherever the field must be identified in the user interface (such as + /// in error or status messages referring to the field). This text is also useful + /// when extracting the document’s contents in support of accessibility to disabled + /// users or for other purposes. + /// + public string AlternateName + { + get { return Elements.GetString(Keys.TU); } + set { Elements.SetString(Keys.TU, value); } + } + + /// + /// The mapping name to be used when exporting interactive form field data from the document. + /// + public string MappingName + { + get { return Elements.GetString(Keys.TM); } + set { Elements.SetString(Keys.TM, value); } + } + + /// + /// Gets the fully qualified name of this field, that is: "parent-name.field-name" + /// If the field has no parent, this is equal to + /// + /// + /// Note: These names are not required to be unique for a given document.

    + /// The spec states (12.7.3.2):

    + /// It is possible for different field dictionaries to have the same fully qualified field name if they are descendants of + /// a common ancestor with that name and have no partial field names of their own. + /// Such field dictionaries are different representations of the same underlying field; + /// they should differ only in properties that specify their visual appearance. + ///
    + public string FullyQualifiedName + { + get + { + var fqn = Name; + var parent = Elements.GetObject(Keys.Parent) as PdfDictionary; + while (parent != null) + { + var parentName = parent.Elements.GetString(Keys.T); + if (!string.IsNullOrEmpty(parentName)) + fqn = parentName + "." + fqn; + parent = parent.Elements.GetObject(Keys.Parent) as PdfDictionary; + } + return fqn; + } + } + + /// + /// Gets the Parent of this field or null, if the field has no parent + /// + public PdfAcroField? Parent + { + get + { + var parentRef = Elements.GetReference(Keys.Parent); + if (parentRef != null && parentRef.Value is PdfDictionary pDict) + return PdfAcroFieldCollection.CreateAcroField(pDict); + return null; + } + internal set + { + if (value != null) + Elements.SetReference(Keys.Parent, value); + else + Elements.Remove(Keys.Parent); + } } /// /// Gets the field flags of this instance. /// - public PdfAcroFieldFlags Flags => (PdfAcroFieldFlags)Elements.GetInteger(Keys.Ff); + public PdfAcroFieldFlags Flags //=> (PdfAcroFieldFlags)Elements.GetInteger(Keys.Ff); + { + get + { + var ancestor = FindParentHavingKey(Keys.Ff); + return (PdfAcroFieldFlags)ancestor.Elements.GetInteger(Keys.Ff); + } + set => Elements.SetInteger(Keys.Ff, (int)value); + } internal PdfAcroFieldFlags SetFlags { @@ -52,7 +149,11 @@ internal PdfAcroFieldFlags SetFlags ///
    public virtual PdfItem? Value { - get => Elements[Keys.V]; + get + { + var ancestor = FindParentHavingKey(Keys.V); + return ancestor.Elements[Keys.V]; + } set { if (ReadOnly) @@ -79,6 +180,91 @@ public bool ReadOnly } } + /// + /// Gets or sets the font used to draw the text of the field.

    + /// The font-size may be adjusted during rendering when is set to true.

    + /// In this case, the size of the field's widget determines the actual font-size. + ///
    + public XFont? Font + { + get { return font; } + set { font = value; } + } + XFont? font; + + /// + /// Gets the font size that was obtained by analyzing the Fields' content-stream.

    + /// May be zero. This means, during rendering, the font-size should be calculated based on the height of the field's widget.

    + /// PdfReference 2.0 states in chapter 12.7.4.3:

    + /// A zero value for size means that the font shall be auto-sized: + /// its size shall be computed as an implementation dependent function. + ///
    + public double? FontSize + { + get { return _fontSize; } + set + { + if (value <= 0.0) + throw new ArgumentOutOfRangeException(nameof(value), "FontSize must not be smaller than or equal to zero"); + _fontSize = value; + } + } + private double? _fontSize; + + /// + /// Gets or sets a value that determines whether the font should be auto-sized when rendered.

    + /// Note: It is not specified, how exactly the font-size should be calculated, + /// but it would typically be a function of the height of the field's widget.

    + /// Unless you have a very specific reason to do so, you should not set this to true for new fields.

    + /// (support for this seems to be very poor in most common PDF-viewers) + ///
    + public bool AutomaticFontSize { get; set; } + + /// + /// Gets or sets the foreground (i.e. text-) color of the field. + /// + /// + /// Note: This is not a real property of an AcroField, but a property of an AcroField's annotation.

    + /// If is included here for convenience so is doesn't has to be set for every annotation separately. + ///
    + public XColor ForeColor + { + get { return foreColor; } + set { foreColor = value; } + } + XColor foreColor = XColors.Black; + + /// + /// Gets or sets the default value of the field. + /// + public virtual PdfItem? DefaultValue + { + get + { + var ancestor = FindParentHavingKey(Keys.DV); + return ancestor.Elements.ContainsKey(Keys.DV) ? ancestor.Elements.GetValue(Keys.DV) : new PdfString(""); + } + set { Elements[Keys.DV] = value; } + } + + /// + /// Gets or sets the alignment for the text of this field. + /// + public virtual PdfAcroFieldTextAlignment TextAlign + { + get + { + var alignment = PdfAcroFieldTextAlignment.Left; // default + var ancestor = FindParentHavingKey(Keys.Q); + if (ancestor.Elements.ContainsKey(Keys.Q)) + alignment = (PdfAcroFieldTextAlignment)ancestor.Elements.GetInteger(Keys.Q); + else if (_document.AcroForm != null && _document.AcroForm.Elements.ContainsKey(Keys.Q)) + alignment = (PdfAcroFieldTextAlignment)_document.AcroForm.Elements.GetInteger(Keys.Q); + return alignment; + } + set { Elements[Keys.Q] = new PdfInteger((int)value); } + } + /// /// Gets the field with the specified name. /// @@ -91,181 +277,703 @@ public bool ReadOnly { if (String.IsNullOrEmpty(name)) return this; - if (HasKids) + if (HasChildFields) return Fields.GetValue(name); return null; } + /// + /// Indicates whether the field has annotations, i.e. visible representations of the field.

    + /// Not all fields have visible representations of their own, e.g. when a field acts only as a container for other fields. + ///
    + public bool HasAnnotations => Annotations.Elements.Count > 0; + /// /// Indicates whether the field has child fields. /// - public bool HasKids + public bool HasChildFields { get { - PdfItem? item = Elements[Keys.Kids]; - if (item == null) - return false; - if (item is PdfArray array) - return array.Elements.Count > 0; + var kidsArray = Elements.GetArray(Keys.Kids); + if (kidsArray != null) + { + for (var i = 0; i < kidsArray.Elements.Count; i++) + { + if (kidsArray.Elements.GetObject(i) is PdfDictionary kid && IsField(kid)) + return true; + } + } return false; } } /// - /// Gets the names of all descendants of this field. + /// Gets the collection of fields within this field. /// - [Obsolete("Use GetDescendantNames")] - public string[] DescendantNames // Properties should not return arrays. - => GetDescendantNames(); + public PdfAcroFieldCollection Fields + { + get + { + if (_fields == null) + { + // owner may be a widget annotation, we have to make sure, the owner is correct, + // otherwise an exception occurs (/Kids is not a valid key for Annotations) + if (Elements.Owner != this) + Elements.ChangeOwner(this); + object o = Elements.GetValue(Keys.Kids, VCF.CreateIndirect)!; + _fields = (PdfAcroFieldCollection)o; + } + // TODO: It would be nice if the FieldCollection contains only "real" fields. + // Currently, the items are a mix of fields and annotations... + return _fields; + } + } + PdfAcroFieldCollection? _fields; /// - /// Gets the names of all descendants of this field. + /// Gets the annotations for this field. + /// The elements in this list are of type . /// - public string[] GetDescendantNames() + public PdfAnnotationArray Annotations { - List names = []; - if (HasKids) + get { - PdfAcroFieldCollection fields = Fields; - fields.GetDescendantNames(ref names, null); + if (_annotations == null) + { + _annotations = new PdfAnnotationArray(); + var childs = Elements.GetArray(Keys.Kids); + if (childs != null && childs.Elements.Count > 0) + { + for (var i = 0; i < childs.Elements.Count; i++) + { + var obj = childs.Elements.GetDictionary(i); + if (obj is PdfWidgetAnnotation annotation) + _annotations.Elements.Add(annotation); + else if (obj != null && "/Widget".Equals(obj.Elements.GetString(PdfAnnotation.Keys.Subtype), StringComparison.OrdinalIgnoreCase)) + { + var annot = new PdfWidgetAnnotation(obj); + if (annot.Page != null) + annot.Parent = annot.Page.Annotations; + _annotations.Elements.Add(annot); + // must reset the value in the reference after type-transformation so a reference to this field points to the field, not the widget + obj.Reference!.Value = obj; + } + } + } + // if the dictionaries are merged (no childs), use current field as Widget + if ("/Widget".Equals(Elements.GetString(PdfAnnotation.Keys.Subtype), StringComparison.OrdinalIgnoreCase)) + { + var annot = new PdfWidgetAnnotation(this); + if (annot.Page != null) + annot.Parent = annot.Page.Annotations; + _annotations.Elements.Add(annot); + // must reset the value in the reference after type-transformation + Reference!.Value = this; + } + } + return _annotations; } - List temp = []; - foreach (string name in names) - temp.Add(name); - return temp.ToArray(); } + PdfAnnotationArray? _annotations; /// - /// Gets the names of all appearance dictionaries of this AcroField. + /// Adds a new Annotation to this field. /// - public string[] GetAppearanceNames() + /// A method that is used to configure the Annotation + /// The created and configured Annotation + /// + public virtual PdfWidgetAnnotation AddAnnotation(Action configure) { - Dictionary names = new(); - if (Elements["/AP"] is PdfDictionary dict) + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + + var annotation = new PdfWidgetAnnotation(_document) { - AppDict(dict, names); + ParentField = this + }; + // must add to iref-table here because we need a valid Reference for the field's Kids-array + Owner.IrefTable.Add(annotation); - if (HasKids) + configure(annotation); + if (!Elements.ContainsKey(Keys.Kids)) + Elements.GetValue(Keys.Kids, VCF.CreateIndirect); + var childs = Elements.GetArray(Keys.Kids)!; + childs.Elements.Add(annotation.Reference!); + // re-create updated annotations the next time the "Annotations"-Property is accessed + _annotations = null; + return annotation; + } + + /// + /// Removes the specified annotation from this field + /// + /// The annotation to remove + /// true, if the annotation was removed, false otherwise + public bool RemoveAnnotation(PdfWidgetAnnotation annotation) + { + if (annotation == null) + return false; + Debug.Assert(Annotations.Elements.IndexOf(annotation) >= 0, "Annotation is not part of this field"); + + var kids = Elements.GetArray(Keys.Kids); + if (kids != null) + { + for (var i = 0; i < kids.Elements.Count; i++) + { + var kid = kids.Elements.GetObject(i); + if (kid != null && kid.ObjectID == annotation.ObjectID) + { + kids.Elements.RemoveAt(i--); + } + } + } + var removed = Annotations.Elements.Remove(annotation); + if (removed) + annotation.Page?.Annotations.Remove(annotation); + // re-create updated annotations the next time the "Annotations"-Property is accessed + _annotations = null; + + return removed; + } + + /// + /// Determines whether the specified field is an actual AcroField.

    + /// Used to tell apart actual fields from WidgetAnnotations.

    + /// PdfReference 1.7, Chapter 12.7.1: + /// As a convenience, when a field has only a single associated widget annotation, the + /// contents of the field dictionary and the annotation dictionary(12.5.2, 'Annotation Dictionaries') + /// may be merged into a single dictionary containing entries that pertain to both a field and an annotation.

    + /// This means, a PdfObject may be a PdfAcroField AND a PdfWidgetAnnotation at the same time. + /// We consider a dictionary to be a Field, if one of the following is true:

    + /// - the /Subtype is missing (which is required for Annotations),

    + /// - it has an /T or /FT entry (which is required for terminal fields) -> Chapter 12.7.3.1 in PdfReference

    + /// - it has a /Kids entry (which is invalid for Annotations) -> indicates a container for other fields + ///
    + /// + /// + internal static bool IsField(PdfDictionary field) + { + return !field.Elements.ContainsKey(PdfAnnotation.Keys.Subtype) + || field.Elements.ContainsKey(Keys.FT) + || field.Elements.ContainsKey(Keys.T) + || field.Elements.ContainsKey(Keys.Kids); + } + + /// + /// Used to retrieve inherited field-properties from parent-fields.

    + /// If no parent is found having the specified key, this is returned. + ///
    + /// + /// + protected PdfAcroField FindParentHavingKey(string key) + { + var field = this; + if (!field.Elements.ContainsKey(key)) + field = Parent?.FindParentHavingKey(key); + return field ?? this; + } + + /// + /// Adds the specified to the list of child-fields of this field + /// + /// + /// + public void AddChild(PdfAcroField childField) + { + var existingField = Fields.GetValue(childField.Name); + if (existingField != null) + throw new InvalidOperationException($"Field '{Name}' already has a child-field named '{childField.Name}'"); + Fields.Elements.Add(childField); + childField.Parent = this; + } + + /// + /// Removes this field, all child-fields and associated annotations from the document + /// + public void Remove() + { + var annots = Annotations.Elements.ToArray(); + foreach (var annot in annots) + RemoveAnnotation(annot); + + // delete childs + for (var i = 0; i < Fields.Count; i++) + { + var child = Fields[i]; + child.Remove(); + } + Fields.Elements.Clear(); + + var fieldsList = new[] { Parent?.Fields, Owner.AcroForm?.Fields }; + foreach (var fields in fieldsList) + { + for (var i = 0; i < fields?.Elements.Count; i++) { - PdfItem[] kids = Fields.Elements.Items; - foreach (PdfItem pdfItem in kids) + var kid = fields.Elements.GetObject(i); + if (kid != null && kid.ObjectID == ObjectID) { - if (pdfItem is PdfReference) + fields.Elements.RemoveAt(i--); + } + } + } + } + + /// + /// Tries to determine the Appearance of the Field by checking elements of its dictionary + /// + protected virtual void DetermineAppearance() + { + try + { + var ancestor = FindParentHavingKey(Keys.DA); + var da = ancestor.Elements.GetString(Keys.DA); // 12.7.3.3 + if (string.IsNullOrEmpty(da) && _document.AcroForm != null) + { + // if Field does not contain appearance dictionary, check AcroForm + da = _document.AcroForm.Elements.GetString(Keys.DA); + if (da == null) + { + // no appearance found, use some default + font = new XFont("Helvetica", 10, XFontStyleEx.Regular); + return; + } + } + if (!string.IsNullOrEmpty(da)) + DetermineFontFromContent(PdfEncoders.RawEncoding.GetBytes(da)); + } + catch + { + font = new XFont("Helvetica", 10, XFontStyleEx.Regular); + } + } + + /// + /// Attempts to determine the font, font-size and fore-color of this AcroField + /// + /// + protected void DetermineFontFromContent(byte[] contentBytes) + { + string? fontName = null; + double fontSize = 10.0; + var content = ContentReader.ReadContent(contentBytes); + for (var i = 0; i < content.Count; i++) + { + if (content[i] is COperator op) + { + switch (op.OpCode.OpCodeName) + { + case OpCodeName.Tf: + fontName = op.Operands[0].ToString(); + fontSize = double.Parse(op.Operands[1].ToString()!, CultureInfo.InvariantCulture); + break; + case OpCodeName.g: // gray value (0.0 = black, 1.0 = white) + if (op.Operands.Count > 0) + ForeColor = XColor.FromGrayScale(double.Parse(op.Operands[0].ToString()!, CultureInfo.InvariantCulture)); + break; + case OpCodeName.rg: // rgb color (Chapter 8.6.8) + if (op.Operands.Count > 2) + { + var r = double.Parse(op.Operands[0].ToString()!, CultureInfo.InvariantCulture); + var g = double.Parse(op.Operands[1].ToString()!, CultureInfo.InvariantCulture); + var b = double.Parse(op.Operands[2].ToString()!, CultureInfo.InvariantCulture); + ForeColor = XColor.FromArgb((int)Math.Round(r * 255.0), (int)Math.Round(g * 255.0), (int)Math.Round(b * 255.0)); + } + break; + case OpCodeName.k: + if (op.Operands.Count > 3) + { + var c = double.Parse(op.Operands[0].ToString()!, CultureInfo.InvariantCulture); + var m = double.Parse(op.Operands[1].ToString()!, CultureInfo.InvariantCulture); + var y = double.Parse(op.Operands[2].ToString()!, CultureInfo.InvariantCulture); + var k = double.Parse(op.Operands[3].ToString()!, CultureInfo.InvariantCulture); + ForeColor = XColor.FromCmyk((int)Math.Round(c * 255.0), (int)Math.Round(m * 255.0), (int)Math.Round(y * 255.0), (int)Math.Round(k * 255.0)); + } + break; + } + } + } + AutomaticFontSize = fontSize == 0; + _fontSize = fontSize; + if (!string.IsNullOrEmpty(fontName)) + { + if (!TryGetFont(fontName, out font)) + { + // if not found or not supported (e.g. not a TrueTypeFont) create new font + try + { + // try to create font (may use a custom FontResolver) + font = new XFont(fontName, AutomaticFontSize ? 10 : fontSize, XFontStyleEx.Regular, + new XPdfFontOptions(PdfFontEncoding.Automatic, PdfFontEmbedding.EmbedCompleteFontFile)); + } + catch + { + // unable to resolve font, use one of the Standard-Fonts + var defaultFontName = StandardFontNames.Helvetica; + // manually cache font-data so it can be found even without a FontResolver + var typefaceKey = XGlyphTypeface.ComputeGtfKey(defaultFontName, false, false); + if (!Globals.Global.Fonts.GlyphTypefacesByKey.ContainsKey(typefaceKey)) { - PdfDictionary? xxx = ((PdfReference)pdfItem).Value as PdfDictionary; - if (xxx != null) - AppDict(xxx, names); + var fontData = StandardFontData.GetFontData(defaultFontName)!; + var fontSource = XFontSource.GetOrCreateFrom(fontData); + Globals.Global.Fonts.GlyphTypefacesByKey[typefaceKey] = new XGlyphTypeface(fontSource); } + font = new XFont(defaultFontName, + AutomaticFontSize ? 10 : fontSize, + XFontStyleEx.Regular, // should match the options for the typefaceKey + new XPdfFontOptions(PdfFontEncoding.Automatic, PdfFontEmbedding.EmbedCompleteFontFile)); } - //((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(Keys.V, name1); + } + } + } + /// + /// Tries to create an XFont from the information stored in the AcroForm's Font-Resources + /// + /// The key in the AcroForms Font-Resources that identifies the font + /// Contains the font used by this field or null if the font could not be resolved + /// + internal bool TryGetFont(string resourceKey, [MaybeNullWhen(false)] out XFont? xFont) + { + xFont = null; + if (Owner.AcroForm != null && Owner.AcroForm.Resources != null) + { + var fontDict = Owner.AcroForm.Resources.Fonts.Elements.GetDictionary(resourceKey); + if (fontDict != null) + { + var subType = fontDict.Elements.GetName(PdfFont.Keys.Subtype); + var fontName = fontDict.Elements.GetName(PdfFont.Keys.BaseFont); + var fontDescriptor = fontDict.Elements.GetDictionary(PdfFont.Keys.FontDescriptor); + var descendantFonts = fontDict.Elements.GetArray(PdfType0Font.Keys.DescendantFonts); + byte[]? fontData = null; + FontType fontType = FontType.TrueTypeWinAnsi; + // Standard-font that is not embedded + if (subType == "/Type1" && fontDescriptor == null) + { + if (StandardFontData.IsStandardFont(fontName)) + { + fontData = StandardFontData.GetFontData(fontName)!; + } + } + // embedded true-type font + else if (subType == "/TrueType" && fontDescriptor != null) + { + var fileRef = fontDescriptor.Elements.GetDictionary(PdfFontDescriptor.Keys.FontFile2); + if (fileRef != null) + { + fontData = fileRef?.Stream.UnfilteredValue; + } + } + else if (subType == "/Type0" && descendantFonts != null) + { + // entries like those generated by PDFsharp itself + var descFont = descendantFonts.Elements.GetDictionary(0); + if (descFont != null) + { + fontDescriptor = descFont.Elements.GetDictionary(PdfFont.Keys.FontDescriptor); + if (fontDescriptor != null) + { + var fileRef = fontDescriptor.Elements.GetDictionary(PdfFontDescriptor.Keys.FontFile2); + if (fileRef != null) + { + fontData = fileRef?.Stream.UnfilteredValue; + } + } + } + } + if (fontData != null) + { + var fontSource = XFontSource.GetOrCreateFrom(fontData); + var typeFace = new XGlyphTypeface(fontSource); + // cache the typeFace + if (!GlyphTypefaceCache.TryGetGlyphTypeface(typeFace.Key, out _)) + GlyphTypefaceCache.AddGlyphTypeface(typeFace); + // cache the font + Owner.FontTable.CacheExistingFont(fontDict, typeFace, fontType); + var style = XFontStyleEx.Regular; + if (typeFace.IsBold) + style |= XFontStyleEx.Bold; + if (typeFace.IsItalic) + style |= XFontStyleEx.Italic; + xFont = new XFont(typeFace.FamilyName, Math.Max(_fontSize ?? 0, 10.0), style, + new XPdfFontOptions(PdfFontEncoding.Automatic, PdfFontEmbedding.EmbedCompleteFontFile)); + return true; + } } } - string[] array = new string[names.Count]; - names.Keys.CopyTo(array, 0); - return array; + return false; } - //static string[] AppearanceNames(PdfDictionary dictIn) - //{ - // Dictionary names = new Dictionary(); - // PdfDictionary dict = dictIn["/AP"] as PdfDictionary; - // if (dict != null) - // { - // AppDict(dict, names); + /// + /// Calculates the optimal font-size based on the height of the specified widget.

    + /// If a font-size greater than 0 is specified in the field's appearance or default appearance, this size is returned.

    + /// Otherwise the returned font-size is set to be 80% of the widget's height for single-line fields and a fixed value of 10 for multi-line fields.

    + /// Always returns a value greater than 0 + ///
    + /// The widget, the font-size should be based on + /// + internal double DetermineFontSize(PdfWidgetAnnotation? widget) + { + if (FontSize > 0.0) + return FontSize.Value; + + var fontSize = 10.0; + if (widget != null && !widget.Rectangle.IsEmpty) + { + var refValue = widget.Rotation == 0 + || widget.Rotation == 180 + || (widget.Flags & PdfAnnotationFlags.NoRotate) != 0 + ? widget.Rectangle.Height : widget.Rectangle.Width; + + if (this is not PdfTextField field || !field.MultiLine) + // Rects were spotted with negative height + fontSize = Math.Abs(refValue * 0.80); // set font size to 80% of the widget height + return Math.Max(1.0, fontSize); + } + return fontSize; + } - // if (HasKids) - // { - // PdfItem[] kids = Fields.Elements.Items; - // foreach (PdfItem pdfItem in kids) - // { - // if (pdfItem is PdfReference) - // { - // PdfDictionary xxx = ((PdfReference)pdfItem).Value as PdfDictionary; - // if (xxx != null) - // AppDict(xxx, names); - // } - // } - // //((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(Keys.V, name1); + /// + /// This may switch the encoding for the current font to Unicode from the default WinAnsi. + /// + /// + internal void SetFontType(FontType fontType) + { + if (Font is null) + return; - // } - // } - // string[] array = new string[names.Count]; - // names.Keys.CopyTo(array, 0); - // return array; - //} + if (Font.PdfOptions.FontEncoding != PdfFontEncoding.Unicode && fontType == FontType.Type0Unicode) + Font = new XFont(Font.GlyphTypeface, Font.Size, + new XPdfFontOptions(PdfFontEncoding.Unicode, PdfFontEmbedding.EmbedCompleteFontFile)); + } - static void AppDict(PdfDictionary dict, Dictionary names) + /// + /// Adds the font of the current AcroField to the specified XForm object + /// + /// + internal void SetXFormFont(XForm form) { - PdfDictionary? sub; - if ((sub = dict.Elements["/D"] as PdfDictionary) != null) - AppDict2(sub, names); - if ((sub = dict.Elements["/N"] as PdfDictionary) != null) - AppDict2(sub, names); + if (Font is null) + return; + + var fontType = Font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode + ? FontType.Type0Unicode + : FontType.TrueTypeWinAnsi; + var docFont = _document.FontTable.GetOrCreateFont(Font.GlyphTypeface, fontType); + form.PdfForm.Resources.AddFont(docFont); } - static void AppDict2(PdfDictionary dict, Dictionary names) + internal override void PrepareForSave() { - foreach (string key in dict.Elements.Keys) + base.PrepareForSave(); + // add the font to the AcroForm's resources + if (Font != null && _document.AcroForm != null) { - if (!names.ContainsKey(key)) - names.Add(key, null!); + var formResources = _document.AcroForm.GetOrCreateResources(); + var fontType = Font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode + ? FontType.Type0Unicode + : FontType.TrueTypeWinAnsi; + var pdfFont = _document.FontTable.GetOrCreateFont(Font.GlyphTypeface, fontType); + formResources.AddFont(pdfFont); } + // TODO: as a small optimization, we may merge field and annotation if there is only a single annotation + // -> leave this for a future version + if (HasChildFields) + { + for (var i = 0; i < Fields.Elements.Count; i++) + { + var field = Fields[i]; + field.PrepareForSave(); + } + } + // accessing the Fields-property may have created a new empty array, remove that + if (Fields.Elements.Count == 0) + Elements.Remove(Keys.Kids); + // handle annotations + foreach (var annot in Annotations.Elements) + annot.PrepareForSave(); } - internal virtual void GetDescendantNames(ref List names, string? partialName) + internal virtual void Flatten() { - if (HasKids) + // Copy Font-Resources to the Page + // This is neccessary, because Fonts used by AcroFields may be referenced only by the AcroForm, which is deleted after flattening + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + if ((widget.Flags & PdfAnnotationFlags.Hidden) != 0 || (widget.Flags & PdfAnnotationFlags.NoView) != 0) + { + RemoveAnnotation(widget); + i--; + continue; + } + if (widget.Page != null) + { + var acroResources = _document.AcroForm?.Elements.GetDictionary(PdfAcroForm.Keys.DR); + var pageResources = widget.Page.Elements.GetDictionary(PdfPage.Keys.Resources); + if (acroResources != null && pageResources != null) + { + var acroFontList = acroResources.Elements.GetDictionary(PdfResources.Keys.Font); + var pageFontList = pageResources.Elements.GetDictionary(PdfResources.Keys.Font); + if (acroFontList != null) + { + pageFontList ??= new PdfDictionary(Owner); + pageResources.Elements.SetObject(PdfResources.Keys.Font, pageFontList); + foreach (var fontKey in acroFontList.Elements.Keys) + { + if (!pageFontList.Elements.ContainsKey(fontKey)) + pageFontList.Elements.Add(fontKey, acroFontList.Elements[fontKey]); + } + } + } + } + } + + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + // Remove annotation + widget.Parent?.Remove(widget); + widget.Page?.Annotations.Remove(widget); + } + + if (HasChildFields) { - PdfAcroFieldCollection fields = Fields; - string t = Elements.GetString(Keys.T); - Debug.Assert(t != ""); - if (t.Length > 0) + for (var i = 0; i < Fields.Elements.Count; i++) { - if (!String.IsNullOrEmpty(partialName)) - partialName += "." + t; - else - partialName = t; - fields.GetDescendantNames(ref names, partialName); + var field = Fields[i]; + field.Flatten(); } } - else + + if (Reference != null) + _document.IrefTable.Remove(Reference); + + RenderAppearance(); + RenderAppearanceToPage(); + } + + /// + /// Must be overridden by subclasses + /// + protected virtual void RenderAppearance() + { + } + + /// + /// Renders the widget-appearances of this field directly onto the page.

    + /// Used by the method. + ///
    + protected void RenderAppearanceToPage() + { + // /N -> Normal appearance, /R -> Rollover appearance, /D -> Down appearance + const string normalName = "/N"; + + for (var i = 0; i < Annotations.Elements.Count; i++) { - string t = Elements.GetString(Keys.T); - Debug.Assert(t != ""); - if (t.Length > 0) + var widget = Annotations.Elements[i]; + if (widget.Page != null) { - if (!String.IsNullOrEmpty(partialName)) - names.Add(partialName + "." + t); - else - names.Add(t); + var appearances = widget.Elements.GetDictionary(PdfAnnotation.Keys.AP); + if (appearances != null) + { + var normalAppearance = appearances.Elements.GetDictionary(normalName); + var appeareanceState = widget.Elements.GetName(PdfAnnotation.Keys.AS); + // if state is unset, treat normal appearance as the appearance itself + if (normalAppearance != null && string.IsNullOrEmpty(appeareanceState)) + RenderContentStream(widget.Page, normalAppearance, widget.Rectangle); + else if (normalAppearance != null) + { + // the state is used by radio-buttons and checkboxes, which have a checked and an unchecked state + var selectedAppearance = normalAppearance.Elements.GetDictionary(appeareanceState); + if (selectedAppearance != null) + RenderContentStream(widget.Page, selectedAppearance, widget.Rectangle); + } + } } } } /// - /// Gets the collection of fields within this field. + /// Renders the contents of the supplied Stream to the Page at the position specified by the provided Rectangle /// - public PdfAcroFieldCollection Fields + /// Page to render the content onto + /// A containing a stream with drawing-operators and associated resources + /// + protected virtual void RenderContentStream(PdfPage page, PdfDictionary streamDict, PdfRectangle rect) { - get + if (streamDict == null || streamDict.Stream == null || rect.IsEmpty) + return; + var stream = streamDict.Stream; + var content = ContentReader.ReadContent(stream.UnfilteredValue); + // check for graphical objects and copy them to the pages resources + foreach (var obj in content) { - if (_fields == null) + if (obj is COperator op) { - var o = Elements.GetValue(Keys.Kids, VCF.CreateIndirect); - _fields = (PdfAcroFieldCollection?)o ?? NRT.ThrowOnNull(); + if (op.OpCode.OpCodeName == OpCodeName.Do) + { + var arg = op.Operands[0].ToString()!; + var resources = streamDict.Elements.GetDictionary("/Resources"); + if (resources != null) + { + var xobjDict = resources.Elements.GetDictionary("/XObject"); + if (xobjDict != null && xobjDict.Elements.ContainsKey(arg)) + { + var objDict = xobjDict.Elements.GetDictionary(arg)!; + if (!page.Resources.Elements.ContainsKey("/XObject")) + page.Resources.Elements.Add("/XObject", new PdfDictionary()); + xobjDict = page.Resources.Elements.GetDictionary("/XObject")!; + // create new unique name for the xobject + var objKey = arg + Guid.NewGuid().ToString("N"); + objDict.Elements.SetName("/Name", objKey); + xobjDict.Elements[objKey] = objDict; + op.Operands[0] = new CName(objKey); + } + } + } } - return _fields; + } + // TODO: use W or W* operator for clipping + var matrix = new XMatrix(); + matrix.TranslateAppend(rect.X1, rect.Y1); + var matElements = matrix.GetElements(); + var matrixOp = OpCodes.OperatorFromName("cm"); + foreach (var el in matElements) + matrixOp.Operands.Add(new CReal { Value = el }); + content.Insert(0, matrixOp); + + // Save and restore Graphics state + var appendedContent = page.Contents.AppendContent(); + appendedContent.CreateStream(content.ToContent()); + appendedContent.PreserveGraphicsState(); // wrap in q/Q + } + + /// + /// Holds the collection of WidgetAnnotations for a field + /// + public sealed class PdfAnnotationArray + { + private readonly List elements = []; + + /// + /// Gets the list of of the array + /// + public List Elements + { + get { return elements; } } } - PdfAcroFieldCollection? _fields; /// /// Holds a collection of interactive fields. /// public sealed class PdfAcroFieldCollection : PdfArray { + internal PdfAcroFieldCollection(PdfDocument document) + : base(document) + { } + internal PdfAcroFieldCollection(PdfArray array) : base(array) { } @@ -283,40 +991,22 @@ public string[] Names get { int count = Elements.Count; - string[] names = new string[count]; + var names = new List(count); for (int idx = 0; idx < count; idx++) - names[idx] = ((PdfDictionary)((PdfReference)Elements[idx]).Value).Elements.GetString(Keys.T); - return names; - } - } - - /// - /// Gets an array of all descendant names. - /// - public string[] DescendantNames - { - get - { - var names = new List(); - GetDescendantNames(ref names, null); - //List temp = new List(); - //foreach (PdfName name in names) - // temp.Add(name.ToString()); + { + var dict = Elements.GetDictionary(idx); + // the element may be a WidgetAnnotation lacking the /T key, skip these + if (dict != null && dict.Elements.ContainsKey(Keys.T)) + { + var name = dict.Elements.GetString(Keys.T); + if (!string.IsNullOrEmpty(name)) + names.Add(name); + } + } return names.ToArray(); } } - internal void GetDescendantNames(ref List names, string? partialName) - { - int count = Elements.Count; - for (int idx = 0; idx < count; idx++) - { - var field = this[idx]; - if (field != null!) - field.GetDescendantNames(ref names, partialName); - } - } - /// /// Gets a field from the collection. For your convenience an instance of a derived class like /// PdfTextField or PdfCheckBox is returned if PDFsharp can guess the actual type of the dictionary. @@ -371,7 +1061,7 @@ public PdfAcroField this[int index] /// If the actual cannot be guessed by PDFsharp the function returns an instance /// of PdfGenericField. /// - PdfAcroField CreateAcroField(PdfDictionary dict) + internal static PdfAcroField CreateAcroField(PdfDictionary dict) { string ft = dict.Elements.GetName(Keys.FT); PdfAcroFieldFlags flags = (PdfAcroFieldFlags)dict.Elements.GetInteger(Keys.Ff); @@ -399,6 +1089,7 @@ PdfAcroField CreateAcroField(PdfDictionary dict) return new PdfSignatureField(dict); default: + // this is either a non-terminal field or a WidgetAnnotation return new PdfGenericField(dict); } } @@ -414,11 +1105,11 @@ public class Keys : KeysBase /// /// (Required for terminal fields; inheritable) The type of field that this dictionary - /// describes: - /// Btn Button - /// Tx Text - /// Ch Choice - /// Sig (PDF 1.3) Signature + /// describes:

    + /// Btn Button

    + /// Tx Text

    + /// Ch Choice

    + /// Sig (PDF 1.3) Signature

    /// Note: This entry may be present in a nonterminal field (one whose descendants /// are themselves fields) in order to provide an inheritable FT value. However, a /// nonterminal field does not logically have a type of its own; it is merely a container @@ -438,7 +1129,12 @@ public class Keys : KeysBase public const string Parent = "/Parent"; /// - /// (Optional) An array of indirect references to the immediate children of this field. + /// (Sometimes required, as described below) An array of indirect references to the immediate + /// children of this field. In a non-terminal field, the Kids array shall refer to field dictionaries + /// that are immediate descendants of this field. In a terminal field, the Kids array ordinarily + /// shall refer to one or more separate widget annotations that are associated with this field. + /// However, if there is only one associated widget annotation, and its contents have been merged + /// into the field dictionary, Kids shall be omitted. /// [KeyInfo(KeyType.Array | KeyType.Optional, typeof(PdfAcroFieldCollection))] public const string Kids = "/Kids"; @@ -497,15 +1193,6 @@ public class Keys : KeysBase // ----- Additional entries to all fields containing variable text -------------------------- - /// - /// (Required; inheritable) A resource dictionary containing default resources - /// (such as fonts, patterns, or color spaces) to be used by the appearance stream. - /// At a minimum, this dictionary must contain a Font entry specifying the resource - /// name and font dictionary of the default font for displaying the field’s text. - /// - [KeyInfo(KeyType.Dictionary | KeyType.Required)] - public const string DR = "/DR"; - /// /// (Required; inheritable) The default appearance string, containing a sequence of /// valid page-content graphics or text state operators defining such properties as @@ -525,6 +1212,22 @@ public class Keys : KeysBase [KeyInfo(KeyType.Integer | KeyType.Optional)] public const string Q = "/Q"; + // Keys specific to fields containing variable text + + /// + /// (Optional; PDF 1.5) A default style string, as described in Adobe XML + /// Architecture, XML Forms Architecture(XFA) Specification, version 3.3. + /// + [KeyInfo(KeyType.String | KeyType.Optional)] + public const string DS = "/DS"; + + /// + /// (Optional; PDF 1.5) A rich text string, as described in Adobe XML + /// Architecture, XML Forms Architecture(XFA) Specification, version 3.3. + /// + [KeyInfo(KeyType.String | KeyType.Optional)] + public const string RV = "/RV"; + // ReSharper restore InconsistentNaming } } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroForm.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroForm.cs index d1763a9d..234cde00 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroForm.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroForm.cs @@ -1,6 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; +using PdfSharp.Pdf.AcroForms.Rendering; +using PdfSharp.Pdf.Advanced; + namespace PdfSharp.Pdf.AcroForms { /// @@ -23,7 +27,8 @@ internal PdfAcroForm(PdfDictionary dictionary) { } /// - /// Gets the fields collection of this form. + /// Gets the fields collection (i.e. the root fields) of this AcroForm.

    + /// To retrieve all fields (including child-fields), use ///
    public PdfAcroField.PdfAcroFieldCollection Fields { @@ -39,6 +44,400 @@ public PdfAcroField.PdfAcroFieldCollection Fields } PdfAcroField.PdfAcroFieldCollection? _fields; + /// + /// Gets or sets the default text-alignment for variable text fields. + /// + public PdfAcroFieldTextAlignment? DefaultTextAlign + { + get + { + if (Elements.ContainsKey(Keys.Q)) + return (PdfAcroFieldTextAlignment)Elements.GetInteger(Keys.Q); + return null; + } + set + { + if (value is null) + Elements.Remove(Keys.Q); + else + Elements[Keys.Q] = new PdfInteger((int)value); + } + } + + /// + /// Sets the default appearance for variable text fields. + /// + public void SetDefaultAppearance(XFont font, double fontSize, XColor textColor) + { + if (font is null) + throw new ArgumentNullException(nameof(font)); + if (fontSize < 0.0) + throw new ArgumentException("Font size must be greater or equal to zero", nameof(fontSize)); + + var formResources = GetOrCreateResources(); + var fontType = font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode + ? FontType.Type0Unicode + : FontType.TrueTypeWinAnsi; + var docFont = _document.FontTable.GetOrCreateFont(font.GlyphTypeface, fontType); + var fontName = formResources.AddFont(docFont); + var da = string.Format(CultureInfo.InvariantCulture, "{0} {1:F2} Tf {2:F4} {3:F4} {4:F4} rg", + fontName, fontSize, textColor.R / 255, textColor.G / 255, textColor.B / 255); + Elements.SetString(Keys.DA, da); + } + + /// + /// Gets the flattened field-hierarchy of this AcroForm + /// + public IEnumerable GetAllFields() + { + var fields = new List(); + if (Fields != null) + { + for (var i = 0; i < Fields.Elements.Count; i++) + { + var field = Fields[i]; + TraverseFields(field, fields); + } + } + return fields; + } + + private static void TraverseFields(PdfAcroField parentField, List fieldList) + { + fieldList.Add(parentField); + for (var i = 0; i < parentField.Fields.Elements.Count; i++) + { + var field = parentField.Fields[i]; + if (PdfAcroField.IsField(field)) + TraverseFields(field, fieldList); + } + } + + internal PdfResources? Resources + { + get + { + if (resources == null) + resources = (PdfResources?)Elements.GetValue(Keys.DR, VCF.None); + return resources; + } + } + PdfResources? resources; + + /// + /// Gets the of this or creates a new one if none exist + /// + /// The of this AcroForm + internal PdfResources GetOrCreateResources() + { + var resources = Resources; + if (resources == null) + Elements.Add(Keys.DR, new PdfResources(_document)); + return Resources!; + } + + private PdfAcroFieldRenderer? fieldRenderer; + /// + /// Gets the used to render s + /// + public PdfAcroFieldRenderer FieldRenderer + { + get + { + fieldRenderer ??= new PdfAcroFieldRenderer(); + return fieldRenderer; + } + } + + internal override void PrepareForSave() + { + // Need to create "Fields" Entry after importing fields from external documents + if (_fields != null && _fields.Elements.Count > 0 && !Elements.ContainsKey(Keys.Fields)) + { + Elements.Add(Keys.Fields, _fields); + } + // do not use the Fields-Property, as that may create a new unwanted fields-array ! + var fieldsArray = Elements.GetArray(Keys.Fields); + if (fieldsArray != null) + { + for (var i = 0; i < fieldsArray.Elements.Count; i++) + { + if (fieldsArray.Elements[i] is PdfReference field && field.Value != null) + field.Value.PrepareForSave(); + } + } + base.PrepareForSave(); + } + + /// + /// Flattens the AcroForm by rendering Field-contents directly onto the page + /// + internal void Flatten() + { + for (var i = 0; i < Fields.Elements.Count; i++) + { + var field = Fields[i]; + field.Flatten(); + } + _document.Catalog.AcroForm = null; + } + + /// + /// Adds a new to the + /// + /// + /// A method that receives the new for further customization

    + /// + /// The created and configured + /// + /// + /// This method adds the new field to the root of the field-hierarchy.

    + /// To add the new field as a child to another field, create the parent-field first and + /// then add the new field to the parent inside the action. + ///

    + /// Like so: + ///

    + /// acroForm.AddTextField(field =>

    + /// {

    + /// ... // configure the field as needed

    + /// parentField.AddChild(field);

    + /// });

    + ///
    + public PdfTextField AddTextField(Action configure) + { + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + var field = new PdfTextField(_document); + return AddToFieldList(field, configure); + } + + /// + /// Adds a new to the + /// + /// + /// A method that receives the new for further customization

    + /// + /// The created and configured + /// + /// + /// This method adds the new field to the root of the field-hierarchy.

    + /// To add the new field as a child to another field, create the parent-field first and + /// then add the new field to the parent inside the action. + ///

    + /// Like so: + ///

    + /// acroForm.AddCheckBoxField(field =>

    + /// {

    + /// ... // configure the field as needed

    + /// parentField.AddChild(field);

    + /// });

    + ///
    + public PdfCheckBoxField AddCheckBoxField(Action configure) + { + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + var field = new PdfCheckBoxField(_document); + return AddToFieldList(field, configure); + } + + /// + /// Adds a new to the + /// + /// + /// A method that receives the new for further customization

    + /// + /// The created and configured + /// + /// + /// This method adds the new field to the root of the field-hierarchy.

    + /// To add the new field as a child to another field, create the parent-field first and + /// then add the new field to the parent inside the action. + ///

    + /// Like so: + ///

    + /// acroForm.AddRadioButtonField(field =>

    + /// {

    + /// ... // configure the field as needed

    + /// parentField.AddChild(field);

    + /// });

    + ///
    + public PdfRadioButtonField AddRadioButtonField(Action configure) + { + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + var field = new PdfRadioButtonField(_document); + return AddToFieldList(field, configure); + } + + /// + /// Adds a new to the + /// + /// + /// A method that receives the new for further customization

    + /// + /// The created and configured + /// + /// + /// This method adds the new field to the root of the field-hierarchy.

    + /// To add the new field as a child to another field, create the parent-field first and + /// then add the new field to the parent inside the action. + ///

    + /// Like so: + ///

    + /// acroForm.AddComboBoxField(field =>

    + /// {

    + /// ... // configure the field as needed

    + /// parentField.AddChild(field);

    + /// });

    + ///
    + public PdfComboBoxField AddComboBoxField(Action configure) + { + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + var field = new PdfComboBoxField(_document); + return AddToFieldList(field, configure); + } + + /// + /// Adds a new to the + /// + /// + /// A method that receives the new for further customization

    + /// + /// The created and configured + /// + /// + /// This method adds the new field to the root of the field-hierarchy.

    + /// To add the new field as a child to another field, create the parent-field first and + /// then add the new field to the parent inside the action. + ///

    + /// Like so: + ///

    + /// acroForm.AddListBoxField(field =>

    + /// {

    + /// ... // configure the field as needed

    + /// parentField.AddChild(field);

    + /// });

    + ///
    + public PdfListBoxField AddListBoxField(Action configure) + { + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + var field = new PdfListBoxField(_document); + return AddToFieldList(field, configure); + } + + /// + /// Adds a new to the + /// + /// + /// A method that receives the new for further customization

    + /// + /// The created and configured + /// + /// + /// This method adds the new field to the root of the field-hierarchy.

    + /// To add the new field as a child to another field, create the parent-field first and + /// then add the new field to the parent inside the action. + ///

    + /// Like so: + ///

    + /// acroForm.AddPushButtonField(field =>

    + /// {

    + /// ... // configure the field as needed

    + /// parentField.AddChild(field);

    + /// });

    + ///
    + public PdfPushButtonField AddPushButtonField(Action configure) + { + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + var field = new PdfPushButtonField(_document); + return AddToFieldList(field, configure); + } + + /// + /// Adds a new to the + /// + /// + /// A method that receives the new for further customization

    + /// + /// The created and configured + /// + /// + /// This method adds the new field to the root of the field-hierarchy.

    + /// To add the new field as a child to another field, create the parent-field first and + /// then add the new field to the parent inside the action. + ///

    + /// Like so: + ///

    + /// acroForm.AddSignatureField(field =>

    + /// {

    + /// ... // configure the field as needed

    + /// parentField.AddChild(field);

    + /// });

    + ///
    + public PdfSignatureField AddSignatureField(Action configure) + { + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + var field = new PdfSignatureField(_document); + return AddToFieldList(field, configure); + } + + /// + /// Adds a new to the

    + /// Typically used as a container for other fields + ///
    + /// + /// A method that receives the new for further customization

    + /// + /// The created and configured + /// + /// + /// This method adds the new field to the root of the field-hierarchy.

    + /// To add the new field as a child to another field, create the parent-field first and + /// then add the new field to the parent inside the action. + ///

    + /// Like so: + ///

    + /// acroForm.AddGenericField(field =>

    + /// {

    + /// ... // configure the field as needed

    + /// parentField.AddChild(field);

    + /// });

    + ///
    + public PdfGenericField AddGenericField(Action configure) + { + if (configure == null) + throw new ArgumentNullException(nameof(configure)); + var field = new PdfGenericField(_document); + return AddToFieldList(field, configure); + } + + private T AddToFieldList(T field, Action configure) where T : PdfAcroField + { + _document.IrefTable.Add(field); + configure(field); + if (field.Parent == null) + { + // ensure names of root-fields are unique + var existingField = Fields.GetValue(field.Name); + if (existingField != null) + { + var name = existingField.Name.AddIncrementalSuffix(); + // search for next free number + while (Fields.GetValue(name) != null) + { + name = name.AddIncrementalSuffix(); + } + field.Name = name; + } + Fields.Elements.Add(field); + } + return field; + } + /// /// Predefined keys of this dictionary. /// The description comes from PDF 1.4 Reference. @@ -55,9 +454,9 @@ public sealed class Keys : KeysBase public const string Fields = "/Fields"; /// - /// (Optional) A flag specifying whether to construct appearance streams and - /// appearance dictionaries for all widget annotations in the document. - /// Default value: false. + /// (Optional) A flag specifying whether to construct appearance streams and appearance dictionaries + /// for all widget annotations in the document(see 12.7.3.3, “Variable Text”). + /// Default value: false. /// [KeyInfo(KeyType.Boolean | KeyType.Optional)] public const string NeedAppearances = "/NeedAppearances"; @@ -80,9 +479,13 @@ public sealed class Keys : KeysBase public const string CO = "/CO"; /// - /// (Optional) A document-wide default value for the DR attribute of variable text fields. + /// (Optional) A resource dictionary (see 7.8.3, "Resource Dictionaries") + /// containing default resources(such as fonts, patterns, or colour spaces) + /// that shall be used by form field appearance streams. + /// At a minimum, this dictionary shall contain a Font entry specifying the resource name + /// and font dictionary of the default font for displaying text. /// - [KeyInfo(KeyType.Dictionary | KeyType.Optional)] + [KeyInfo(KeyType.Dictionary | KeyType.Optional, typeof(PdfResources))] public const string DR = "/DR"; /// @@ -97,6 +500,16 @@ public sealed class Keys : KeysBase [KeyInfo(KeyType.Integer | KeyType.Optional)] public const string Q = "/Q"; + /// + /// (Optional; PDF 1.5) A stream or array containing an XFA resource, + /// whose format shall be described by the Data Package (XDP) Specification. (see the Bibliography).

    + /// The value of this entry shall be either a stream representing the entire contents + /// of the XML Data Package or an array of text string and stream pairs + /// representing the individual packets comprising the XML Data Package. + ///
    + [KeyInfo(KeyType.ArrayOrDictionary | KeyType.Optional)] + public const string XFA = "/XFA"; + /// /// Gets the KeysMeta for these keys. /// diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroFormImporter.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroFormImporter.cs new file mode 100644 index 00000000..5afc373e --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroFormImporter.cs @@ -0,0 +1,250 @@ +using PdfSharp.Pdf.Advanced; +using PdfSharp.Pdf.Annotations; + +namespace PdfSharp.Pdf.AcroForms +{ + /// + /// Imports s + /// + internal sealed class PdfAcroFormImporter : PdfObject + { + /// + /// Create a new for importing into the specified + /// + /// + internal PdfAcroFormImporter(PdfDocument targetDocument) + : base(targetDocument) + { + } + + internal void ImportAcroForm(PdfAcroForm remoteForm, + Func? fieldFilter = null, + Action? fieldHandler = null) + { + // skip, if there is no AcroForm or an AcroForm without fields + if (remoteForm == null || !remoteForm.Fields.Names.Any()) + return; + + var importedObjectTable = Owner.FormTable.GetImportedObjectTable(remoteForm.Owner); + var needNewForm = Owner.Catalog.AcroForm == null; + var localForm = Owner.GetOrCreateAcroForm(); + if (needNewForm) + { + if (remoteForm.Elements.ContainsKey(PdfAcroForm.Keys.CO)) + localForm.Elements[PdfAcroForm.Keys.CO] = ImportClosure(importedObjectTable, _document, remoteForm.Elements.GetObject(PdfAcroForm.Keys.CO)!); + if (remoteForm.Elements.ContainsKey(PdfAcroForm.Keys.DA)) + localForm.Elements[PdfAcroForm.Keys.DA] = remoteForm.Elements[PdfAcroForm.Keys.DA]; + if (remoteForm.Elements.ContainsKey(PdfAcroForm.Keys.DR)) + localForm.Elements[PdfAcroForm.Keys.DR] = ImportClosure(importedObjectTable, _document, remoteForm.Elements.GetObject(PdfAcroForm.Keys.DR)!); + if (remoteForm.Elements.ContainsKey(PdfAcroForm.Keys.NeedAppearances)) + localForm.Elements[PdfAcroForm.Keys.NeedAppearances] = remoteForm.Elements[PdfAcroForm.Keys.NeedAppearances]; + if (remoteForm.Elements.ContainsKey(PdfAcroForm.Keys.Q)) + localForm.Elements[PdfAcroForm.Keys.Q] = remoteForm.Elements[PdfAcroForm.Keys.Q]; + if (remoteForm.Elements.ContainsKey(PdfAcroForm.Keys.SigFlags)) + localForm.Elements[PdfAcroForm.Keys.SigFlags] = remoteForm.Elements[PdfAcroForm.Keys.SigFlags]; + if (remoteForm.Elements.ContainsKey(PdfAcroForm.Keys.XFA)) + localForm.Elements[PdfAcroForm.Keys.XFA] = ImportClosure(importedObjectTable, Owner, remoteForm.Elements.GetObject(PdfAcroForm.Keys.XFA)!); + } + else + { + // copy resources from the imported AcroForm to the local form + var extResources = remoteForm.Elements.GetDictionary(PdfAcroForm.Keys.DR); + if (extResources != null) + { + var localResources = localForm.Elements.GetDictionary(PdfAcroForm.Keys.DR) ?? new PdfDictionary(Owner); + var resourceKeys = new[] { PdfResources.Keys.Font, PdfResources.Keys.XObject }; + foreach (var resKey in resourceKeys) + { + var extResDict = extResources.Elements.GetDictionary(resKey); + if (extResDict != null) + { + var localResDict = localResources.Elements.GetDictionary(resKey) ?? new PdfDictionary(Owner); + foreach (var key in extResDict.Elements.Keys) + { + if (!localResDict.Elements.ContainsKey(key)) + localResDict.Elements.Add(key, ImportClosure(importedObjectTable, Owner, extResDict.Elements.GetObject(key)!)); + } + if (!localResources.Elements.ContainsKey(resKey)) + localResources.Elements.Add(resKey, localResDict); + } + } + if (!localForm.Elements.ContainsKey(PdfAcroForm.Keys.DR)) + localForm.Elements.Add(PdfAcroForm.Keys.DR, localResources); + } + } + + for (var f = 0; f < remoteForm.Fields.Elements.Count; f++) + { + var remoteField = remoteForm.Fields[f]; + if (fieldFilter != null && !fieldFilter(remoteField)) + continue; + ImportAcroField(localForm, remoteField, null, fieldHandler); + } + } + + private void ImportAcroField(PdfAcroForm localForm, PdfAcroField remoteField, PdfAcroField? parentField = null, + Action? fieldHandler = null) + { + var importedObjectTable = Owner.FormTable.GetImportedObjectTable(remoteField.Owner); + var annotationsImported = false; + + PdfAcroField importedField = remoteField.GetType().Name switch + { + nameof(PdfCheckBoxField) => localForm.AddCheckBoxField(checkBoxField => + { + var externalCheckBoxField = (PdfCheckBoxField)remoteField; + checkBoxField.Name = remoteField.Name; + checkBoxField.Checked = externalCheckBoxField.Checked; + parentField?.AddChild(checkBoxField); + }), + nameof(PdfComboBoxField) => localForm.AddComboBoxField(comboBoxField => + { + var externalComboBoxField = (PdfComboBoxField)remoteField; + comboBoxField.Name = remoteField.Name; + comboBoxField.Options = externalComboBoxField.Options; + comboBoxField.SelectedIndex = externalComboBoxField.SelectedIndex; + if (remoteField.Elements.ContainsKey(PdfChoiceField.Keys.Opt)) + comboBoxField.Elements[PdfChoiceField.Keys.Opt] = remoteField.Elements[PdfChoiceField.Keys.Opt]!.Clone(); + parentField?.AddChild(comboBoxField); + }), + nameof(PdfListBoxField) => localForm.AddListBoxField(listBoxField => + { + var externalListBoxField = (PdfListBoxField)remoteField; + listBoxField.Name = remoteField.Name; + listBoxField.Options = externalListBoxField.Options; + listBoxField.SelectedIndices = externalListBoxField.SelectedIndices; + if (remoteField.Elements.ContainsKey(PdfChoiceField.Keys.Opt)) + listBoxField.Elements[PdfChoiceField.Keys.Opt] = remoteField.Elements[PdfChoiceField.Keys.Opt]!.Clone(); + parentField?.AddChild(listBoxField); + }), + nameof(PdfRadioButtonField) => localForm.AddRadioButtonField(radioButtonField => + { + var extRadioButtonField = (PdfRadioButtonField)remoteField; + // must copy annotations here, because SelectedIndex relies on them + ImportFieldAnnotations(radioButtonField, remoteField); + annotationsImported = true; + radioButtonField.Name = remoteField.Name; + radioButtonField.SelectedIndex = extRadioButtonField.SelectedIndex; + if (remoteField.Elements.ContainsKey(PdfRadioButtonField.Keys.Opt)) + radioButtonField.Elements[PdfRadioButtonField.Keys.Opt] = remoteField.Elements[PdfRadioButtonField.Keys.Opt]!.Clone(); + parentField?.AddChild(radioButtonField); + }), + nameof(PdfSignatureField) => localForm.AddSignatureField(signatureField => + { + signatureField.Name = remoteField.Name; + if (remoteField.Elements.ContainsKey(PdfSignatureField.Keys.Lock)) + signatureField.Elements[PdfSignatureField.Keys.Lock] = ImportClosure(importedObjectTable, Owner, remoteField.Elements.GetObject(PdfSignatureField.Keys.Lock)!); + if (remoteField.Elements.ContainsKey(PdfSignatureField.Keys.SV)) + signatureField.Elements[PdfSignatureField.Keys.SV] = ImportClosure(importedObjectTable, Owner, remoteField.Elements.GetObject(PdfSignatureField.Keys.SV)!); + parentField?.AddChild(signatureField); + }), + nameof(PdfGenericField) => localForm.AddGenericField(genericField => + { + genericField.Name = remoteField.Name; + parentField?.AddChild(genericField); + }), + nameof(PdfTextField) => localForm.AddTextField(textField => + { + var externalTextField = (PdfTextField)remoteField; + textField.Name = remoteField.Name; + textField.MaxLength = externalTextField.MaxLength; + textField.Text = externalTextField.Text; + parentField?.AddChild(textField); + }), + nameof(PdfPushButtonField) => localForm.AddPushButtonField(pushButton => + { + pushButton.Name = remoteField.Name; + parentField?.AddChild(pushButton); + }), + _ => throw new NotImplementedException($"Field type {remoteField.GetType().Name} is not handled"), + }; + // copy common properties + if (!string.IsNullOrEmpty(importedField.AlternateName)) + importedField.AlternateName = remoteField.AlternateName; + if (!string.IsNullOrEmpty(importedField.MappingName)) + importedField.MappingName = remoteField.MappingName; + if (remoteField.DefaultValue != null && importedField is not PdfPushButtonField) + importedField.DefaultValue = remoteField.DefaultValue; + if (remoteField.Elements.ContainsKey(PdfAcroField.Keys.DA)) + importedField.Elements[PdfAcroField.Keys.DA] = remoteField.Elements[PdfAcroField.Keys.DA]; + if (remoteField.Elements.ContainsKey(PdfAcroField.Keys.DS)) + importedField.Elements[PdfAcroField.Keys.DS] = remoteField.Elements[PdfAcroField.Keys.DS]; + if (remoteField.Elements.ContainsKey(PdfAcroField.Keys.RV)) + importedField.Elements[PdfAcroField.Keys.RV] = remoteField.Elements[PdfAcroField.Keys.RV]; + if (remoteField.Elements.ContainsKey(PdfAcroField.Keys.AA)) + importedField.Elements[PdfAcroField.Keys.AA] = ImportClosure(importedObjectTable, Owner, remoteField.Elements.GetObject(PdfAcroField.Keys.AA)!); + importedField.SetFlags = remoteField.Flags; + importedField.Font = remoteField.Font; + importedField.FontSize = remoteField.FontSize; + importedField.ForeColor = remoteField.ForeColor; + importedField.TextAlign = remoteField.TextAlign; + + if (!annotationsImported) + ImportFieldAnnotations(importedField, remoteField); + + fieldHandler?.Invoke(remoteField, importedField); + + if (remoteField.HasChildFields) + { + for (var i = 0; i < remoteField.Fields.Elements.Count; i++) + ImportAcroField(localForm, remoteField.Fields[i], importedField, fieldHandler); + } + } + + private void ImportFieldAnnotations(PdfAcroField localField, PdfAcroField remoteField) + { + var importedObjectTable = Owner.FormTable.GetImportedObjectTable(remoteField.Owner); + foreach (var remoteAnnot in remoteField.Annotations.Elements) + { + // skip annotation if it is associated with a page that was not imported + if (remoteAnnot.Page != null && !importedObjectTable.Contains(remoteAnnot.Page.ObjectID)) + continue; + + localField.AddAnnotation(annot => + { + annot.BackColor = remoteAnnot.BackColor; + annot.BorderColor = remoteAnnot.BorderColor; + annot.Border = new PdfAnnotationBorder + { + BorderStyle = remoteAnnot.Border.BorderStyle, + DashPattern = remoteAnnot.Border.DashPattern, + HorizontalRadius = remoteAnnot.Border.HorizontalRadius, + VerticalRadius = remoteAnnot.Border.VerticalRadius, + Width = remoteAnnot.Border.Width + }; + annot.Color = remoteAnnot.Color; + annot.Flags = remoteAnnot.Flags; + annot.Opacity = remoteAnnot.Opacity; + annot.Rectangle = remoteAnnot.Rectangle; + annot.Rotation = remoteAnnot.Rotation; + if (remoteAnnot.Elements.ContainsKey(PdfAnnotation.Keys.AP)) + annot.Elements[PdfAnnotation.Keys.AP] = ImportClosure(importedObjectTable, _document, remoteAnnot.Elements.GetObject(PdfAnnotation.Keys.AP)!); + if (remoteAnnot.Elements.ContainsKey(PdfAnnotation.Keys.AS)) + annot.Elements[PdfAnnotation.Keys.AS] = remoteAnnot.Elements[PdfAnnotation.Keys.AS]; + if (remoteAnnot.Elements.ContainsKey(PdfAnnotation.Keys.NM)) + annot.Elements[PdfAnnotation.Keys.NM] = remoteAnnot.Elements[PdfAnnotation.Keys.NM]; + if (remoteAnnot.Elements.ContainsKey(PdfAnnotation.Keys.Contents)) + annot.Elements[PdfAnnotation.Keys.Contents] = remoteAnnot.Elements[PdfAnnotation.Keys.Contents]; + if (remoteAnnot.Elements.ContainsKey(PdfAnnotation.Keys.A)) + annot.Elements[PdfAnnotation.Keys.A] = ImportClosure(importedObjectTable, Owner, remoteAnnot.Elements.GetObject(PdfAnnotation.Keys.A)!); + if (remoteAnnot.Elements.ContainsKey(PdfWidgetAnnotation.Keys.H)) + annot.Elements[PdfWidgetAnnotation.Keys.H] = remoteAnnot.Elements[PdfWidgetAnnotation.Keys.H]; + if (remoteAnnot.Elements.ContainsKey(PdfWidgetAnnotation.Keys.MK)) + annot.Elements[PdfWidgetAnnotation.Keys.MK] = ImportClosure(importedObjectTable, _document, remoteAnnot.Elements.GetObject(PdfWidgetAnnotation.Keys.MK)!); + if (remoteAnnot.Page != null && importedObjectTable.Contains(remoteAnnot.Page.ObjectID)) + { + var localPage = importedObjectTable[remoteAnnot.Page.ObjectID]!.Value as PdfPage; + // avoid duplicate annotations (page-import already imported annotations) + if (localPage != null + && importedObjectTable.Contains(remoteAnnot.ObjectID) + && importedObjectTable[remoteAnnot.ObjectID].Value is PdfDictionary importedAnnot) + { + localPage.Annotations.Remove(new PdfGenericAnnotation(importedAnnot)); + } + annot.Page = localPage; + } + }); + } + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfButtonField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfButtonField.cs index 1982cf1f..32232078 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfButtonField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfButtonField.cs @@ -1,9 +1,5 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. - -using System; -using System.Collections.Generic; -using System.Diagnostics; using PdfSharp.Pdf.Annotations; namespace PdfSharp.Pdf.AcroForms @@ -18,7 +14,9 @@ public abstract class PdfButtonField : PdfAcroField ///
    protected PdfButtonField(PdfDocument document) : base(document) - { } + { + Elements.SetName(PdfAcroField.Keys.FT, "Btn"); + } /// /// Initializes a new instance of the class. @@ -27,40 +25,96 @@ protected PdfButtonField(PdfDictionary dict) : base(dict) { } + /// + /// Gets the name which represents the opposite of Off. + /// + public string? GetNonOffValue() + { + return GetNonOffValueInternal().TrimStart('/'); + } + /// /// Gets the name which represents the opposite of /Off. /// - protected string GetNonOffValue() + protected string GetNonOffValueInternal() { // Try to get the information from the appearance dictionary. // Just return the first key that is not /Off. - // I�m not sure what is the right solution to get this value. - var ap = Elements[PdfAnnotation.Keys.AP] as PdfDictionary; - if (ap != null) + // I'm not sure what is the right solution to get this value. + if (Annotations.Elements.Count > 0) + { + var widget = Annotations.Elements[0]; + if (widget != null) + { + var ap = widget.Elements.GetDictionary(PdfAnnotation.Keys.AP); + if (ap != null) + { + var n = ap.Elements.GetDictionary("/N"); + if (n != null) + { + foreach (string name in n.Elements.Keys) + if (name != "/Off") + return name; + } + } + } + } + return "/Yes"; + } + + /// + /// Gets the name which represents the opposite of /Off for the specified widget. + /// + /// + /// + protected static string? GetNonOffValue(PdfWidgetAnnotation widget) + { + if (widget != null) { - var n = ap.Elements["/N"] as PdfDictionary; - if (n != null) + var ap = widget.Elements.GetDictionary(PdfAnnotation.Keys.AP); + if (ap != null) { - foreach (string name in n.Elements.Keys) - if (name != "/Off") - return name; + var n = ap.Elements.GetDictionary("/N"); + if (n != null) + { + return n.Elements.Keys.FirstOrDefault(name => name != "/Off"); + } } } - return null!; + return null; } - internal override void GetDescendantNames(ref List names, string? partialName) + /// + /// Attempts to determine the visual appearance for this AcroField + /// + protected override void DetermineAppearance() { - string t = Elements.GetString(PdfAcroField.Keys.T); - if (t == "") - t = "???"; - Debug.Assert(t != ""); - if (t.Length > 0) + base.DetermineAppearance(); + for (var i = 0; i < Annotations.Elements.Count; i++) { - if (!String.IsNullOrEmpty(partialName)) - names.Add(partialName + "." + t); - else - names.Add(t); + var widget = Annotations.Elements[i]; + if (widget.Page != null) + { + var appearance = widget.Elements.GetDictionary(PdfAnnotation.Keys.AP); + if (appearance != null) + { + // /N -> Normal appearance, /R -> Rollover appearance, /D -> Down appearance + var normalAppearance = appearance.Elements.GetDictionary("/N"); + if (normalAppearance != null) + { + var activeAppearance = normalAppearance.Elements.GetDictionary(GetNonOffValueInternal()); + if (activeAppearance != null) + { + try + { + DetermineFontFromContent(activeAppearance.Stream.UnfilteredValue); + } + catch + { } + } + } + } + } } } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfCheckBoxField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfCheckBoxField.cs index 85980bb1..b246a9a8 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfCheckBoxField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfCheckBoxField.cs @@ -1,8 +1,8 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; using PdfSharp.Pdf.Annotations; -using PdfSharp.Pdf.Advanced; namespace PdfSharp.Pdf.AcroForms { @@ -24,156 +24,29 @@ internal PdfCheckBoxField(PdfDictionary dict) : base(dict) { } -#if true_ + /// - /// Indicates whether the field is checked. + /// Gets or sets the value of this field. This should be either Off or + /// the result of (typically Yes) /// - public bool Checked //R080317 // TODO_OLD + public new string Value { - get - { - if (!HasKids) - { - string value = Elements.GetString(Keys.V); - //return !String.IsNullOrEmpty(value) && value != UncheckedValue; - return !String.IsNullOrEmpty(value) && value == CheckedName; - } - - if (Fields.Elements.Items.Length == 2) - { - string value = ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.GetString(Keys.V); - //bool bReturn = value.Length != 0 && value != UncheckedValue; //R081114 (3Std.!!) auch auf Nein prüfen; //TODO_OLD woher kommt der Wert? - bool bReturn = value.Length != 0 && value == CheckedName; - return bReturn; - } - - // NYI: Return false in any other case. - return false; - } - + get { return (base.Value?.ToString() ?? "Off").TrimStart('/'); } set { - if (!HasKids) + if (ReadOnly) + throw new InvalidOperationException("The field is read only."); + if (value != null && value.Equals(GetNonOffValueInternal().TrimStart('/'), StringComparison.OrdinalIgnoreCase)) { - //string name = value ? GetNonOffValue() : "/Off"; - string name = value ? CheckedName : UncheckedName; - Elements.SetName(Keys.V, name); - Elements.SetName(PdfAnnotation.Keys.AS, name); + Elements.SetName(PdfAcroField.Keys.V, value); } + else if (value != "Off" && value != GetNonOffValueInternal()) + throw new ArgumentException($"'{value}' is not a valid value for field '{FullyQualifiedName}'. Valid values are either '/Off' or '{GetNonOffValueInternal()}'"); else - { - // Here we have to handle fields that exist twice with the same name. - // Checked must be set for both fields, using /Off for one field and skipping /Off for the other, - // to have only one field with a check mark. - // Finding this took me two working days. - if (Fields.Elements.Items.Length == 2) - { - if (value) - { - //Element 0 behandeln -> auf checked setzen - string name1 = ""; - PdfDictionary o = ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements["/AP"] as PdfDictionary; - if (o != null) - { - PdfDictionary n = o.Elements["/N"] as PdfDictionary; - if (n != null) - { - foreach (string name in n.Elements.Keys) - { - //if (name != UncheckedValue) - if (name == CheckedName) - { - name1 = name; - break; - } - } - } - } - if (name1.Length != 0) - { - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.SetName(Keys.V, name1); - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.SetName(PdfAnnotation.Keys.AS, name1); - } - - //Element 1 behandeln -> auf unchecked setzen - o = ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements["/AP"] as PdfDictionary; - if (o != null) - { - PdfDictionary n = o.Elements["/N"] as PdfDictionary; - if (n != null) - { - foreach (string name in n.Elements.Keys) - { - if (name == UncheckedName) - { - name1 = name; - break; - } - } - } - } - if (!String.IsNullOrEmpty(name1)) - { - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(Keys.V, name1); - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(PdfAnnotation.Keys.AS, name1); - } - } - else - { - //Element 0 behandeln -> auf unchecked setzen - string name1 = ""; - PdfDictionary o = ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements["/AP"] as PdfDictionary; - if (o != null) - { - PdfDictionary n = o.Elements["/N"] as PdfDictionary; - if (n != null) - { - foreach (string name in n.Elements.Keys) - { - //if (name != UncheckedValue) - if (name == CheckedName) - { - name1 = name; - break; - } - } - } - } - if (name1.Length != 0) - { - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(Keys.V, name1); - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(PdfAnnotation.Keys.AS, name1); - } - - //Element 1 behandeln -> auf checked setzen - o = ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements["/AP"] as PdfDictionary; - if (o != null) - { - PdfDictionary n = o.Elements["/N"] as PdfDictionary; - if (n != null) - { - foreach (string name in n.Elements.Keys) - { - if (name == UncheckedName) - { - name1 = name; - break; - } - } - } - } - if (name1.Length != 0) - { - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.SetName(Keys.V, name1); - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.SetName(PdfAnnotation.Keys.AS, name1); - } - } - } - } + Elements.SetName(PdfAcroField.Keys.V, "/Off"); } } -#else /// /// Indicates whether the field is checked. /// @@ -181,139 +54,90 @@ public bool Checked { get { - if (!HasKids) //R080317 + var value = Elements.GetString(PdfAcroField.Keys.V); + var widget = Annotations.Elements.Count > 0 ? Annotations.Elements[0] : null; + if (widget != null) { - string value = Elements.GetString(PdfAcroField.Keys.V); - return value.Length != 0 && value != "/Off"; - } - else //R080317 - { - if (Fields.Elements.Items.Length == 2) + if (string.IsNullOrEmpty(value)) + value = widget.Elements.GetString(PdfAnnotation.Keys.AS); + var appearances = widget.Elements.GetDictionary(PdfAnnotation.Keys.AP); + if (appearances != null) { - string value = ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.GetString(PdfAcroField.Keys.V); - bool bReturn = value.Length != 0 && value != "/Off" && value != "/Nein"; //R081114 (3Std.!!) auch auf Nein prüfen; //TODO_OLD woher kommt der Wert? - return bReturn; + var normalState = appearances.Elements.GetDictionary("/N"); + if (normalState != null) + return value.Length != 0 && value != "/Off" && normalState.Elements.ContainsKey(value); } - else - return false; } + return value.Length != 0 && value != "/Off"; } set { - if (!HasKids) + if (ReadOnly) + throw new InvalidOperationException("The field is read only."); + var name = value ? GetNonOffValueInternal() : "/Off"; + Elements.SetName(PdfAcroField.Keys.V, name); + } + } + + /// + /// Renders the appearance of this field + /// + protected override void RenderAppearance() + { + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + var rect = widget.Rectangle; + var width = Math.Abs(rect.Width); + var height = Math.Abs(rect.Height); + // ensure a minimum size of 1x1, otherwise an exception is thrown + if (width < 1.0 || height < 1.0) + continue; + + // existing/imported field ? + if (widget.Elements.ContainsKey(PdfAnnotation.Keys.AP)) { - string name = value ? GetNonOffValue() : "/Off"; - Elements.SetName(PdfAcroField.Keys.V, name); - Elements.SetName(PdfAnnotation.Keys.AS, name); + widget.Elements.SetName(PdfAnnotation.Keys.AS, Checked ? GetNonOffValueInternal() : "/Off"); } - else + else // newly created field { - // Here we have to handle fields that exist twice with the same name. - // Checked must be set for both fields, using /Off for one field and skipping /Off for the other, - // to have only one field with a check mark. - // Finding this took me two working days. - if (Fields.Elements.Items.Length == 2) + var xRect = new XRect(0, 0, width, height); + // checked state + var formChecked = new XForm(_document, xRect); + using (var gfx = XGraphics.FromForm(formChecked)) { - if (value) - { - //Element 0 behandeln -> auf checked setzen - string name1 = ""; - if (((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements["/AP"] is PdfDictionary obj1) - { - if (obj1.Elements["/N"] is PdfDictionary n) - { - foreach (string name in n.Elements.Keys) - { - if (name != "/Off") - { - name1 = name; - break; - } - } - } - } - if (name1.Length != 0) - { - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.SetName(PdfAcroField.Keys.V, name1); - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.SetName(PdfAnnotation.Keys.AS, name1); - } - - //Element 1 behandeln -> auf unchecked setzen - var obj2 = ((PdfDictionary?)((PdfReference?)Fields.Elements.Items[1])?.Value)?.Elements["/AP"] as PdfDictionary; - if (obj2 != null) - { - var n = obj2.Elements["/N"] as PdfDictionary; - if (n != null) - { - foreach (string name in n.Elements.Keys) - { - if (name == "/Off") - { - name1 = name; - break; - } - } - } - } - if (name1.Length != 0) - { - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(PdfAcroField.Keys.V, name1); - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(PdfAnnotation.Keys.AS, name1); - } - - } - else - { - //Element 0 behandeln -> auf unchecked setzen - string name1 = ""; - PdfDictionary? o = ((PdfDictionary)((PdfReference)(Fields.Elements.Items[1])).Value).Elements["/AP"] as PdfDictionary; - if (o != null) - { - if (o.Elements["/N"] is PdfDictionary n) - { - foreach (string name in n.Elements.Keys) - { - if (name != "/Off") - { - name1 = name; - break; - } - } - } - } - if (name1.Length != 0) - { - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(PdfAcroField.Keys.V, name1); - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[1])).Value)).Elements.SetName(PdfAnnotation.Keys.AS, name1); - } - - //Element 1 behandeln -> auf checked setzen - o = ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements["/AP"] as PdfDictionary; - if (o != null) - { - if (o.Elements["/N"] is PdfDictionary n) - { - foreach (string name in n.Elements.Keys) - { - if (name == "/Off") - { - name1 = name; - break; - } - } - } - } - if (name1.Length != 0) - { - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.SetName(PdfAcroField.Keys.V, name1); - ((PdfDictionary)(((PdfReference)(Fields.Elements.Items[0])).Value)).Elements.SetName(PdfAnnotation.Keys.AS, name1); - } - } + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.CheckBoxFieldRenderer.RenderCheckedState(this, widget, gfx, xRect); } + formChecked.DrawingFinished(); + SetXFormFont(formChecked); + // unchecked state + var formUnchecked = new XForm(_document, rect.ToXRect()); + using (var gfx = XGraphics.FromForm(formUnchecked)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.CheckBoxFieldRenderer.RenderUncheckedState(this, widget, gfx, xRect); + } + formUnchecked.DrawingFinished(); + SetXFormFont(formUnchecked); + + var ap = new PdfDictionary(_document); + var nDict = new PdfDictionary(_document); + ap.Elements.SetValue("/N", nDict); + // the names /Off and /Yes should be used according to the spec (1.7, 12.7.4.2.3) + nDict.Elements["/Yes"] = formChecked.PdfForm.Reference; + nDict.Elements["/Off"] = formUnchecked.PdfForm.Reference; + widget.Elements[PdfAnnotation.Keys.AP] = ap; + widget.Elements.SetName(PdfAnnotation.Keys.AS, Checked ? "/Yes" : "/Off"); // set appearance state } } } -#endif + + internal override void PrepareForSave() + { + base.PrepareForSave(); + RenderAppearance(); + } /// /// Gets or sets the name of the dictionary that represents the Checked state. @@ -346,8 +170,15 @@ public string UncheckedName public new class Keys : PdfButtonField.Keys { /// - /// (Optional; inheritable; PDF 1.4) A text string to be used in place of the V entry for the - /// value of the field. + /// (Optional; inheritable; PDF 1.4) An array containing one entry for each + /// widget annotation in the Kids array of the radio button or check box field. + /// Each entry shall be a text string representing the on state of the + /// corresponding widget annotation.

    + /// When this entry is present, the names used to represent the on state in the + /// AP dictionary of each annotation may use numerical position (starting with 0) + /// of the annotation in the Kids array, encoded as a name object (for example: /0, /1).

    + /// This allows distinguishing between the annotations even if two or more of them + /// have the same value in the Opt array. ///
    [KeyInfo(KeyType.TextString | KeyType.Optional)] public const string Opt = "/Opt"; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfChoiceField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfChoiceField.cs index dcb24c62..5b153db6 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfChoiceField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfChoiceField.cs @@ -1,6 +1,9 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; +using PdfSharp.Pdf.Advanced; + namespace PdfSharp.Pdf.AcroForms { /// @@ -13,7 +16,9 @@ public abstract class PdfChoiceField : PdfAcroField /// protected PdfChoiceField(PdfDocument document) : base(document) - { } + { + Elements.SetName(Keys.FT, "Ch"); + } /// /// Initializes a new instance of the class. @@ -23,41 +28,56 @@ protected PdfChoiceField(PdfDictionary dict) { } /// - /// Gets the index of the specified string in the /Opt array or -1, if no such string exists. + /// Sets the default appearance for this field. /// - protected int IndexInOptArray(string value) + public void SetDefaultAppearance(XFont font, double fontSize, XColor textColor) { - var opt = Elements.GetArray(Keys.Opt); + if (font is null) + throw new ArgumentNullException(nameof(font)); + if (fontSize < 0.0) + throw new ArgumentException("Font size must be greater or equal to zero", nameof(fontSize)); + if (Owner.AcroForm is null) + throw new InvalidOperationException("AcroForm has to be created first"); -#if DEBUG // Check with //R080317 implementation - PdfArray? opt2 = null; - if (Elements[Keys.Opt] is PdfArray) - opt2 = Elements[Keys.Opt] as PdfArray; - else if (Elements[Keys.Opt] is Advanced.PdfReference) - { - // If the array is not stored in the element directly, - // fetch the array from the referenced element. - opt2 = ((Advanced.PdfReference?)Elements[Keys.Opt])?.Value as PdfArray; - } - Debug.Assert(ReferenceEquals(opt, opt2)); -#endif + var formResources = Owner.AcroForm.GetOrCreateResources(); + var fontType = font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode + ? FontType.Type0Unicode + : FontType.TrueTypeWinAnsi; + var docFont = _document.FontTable.GetOrCreateFont(font.GlyphTypeface, fontType); + var fontName = formResources.AddFont(docFont); + var da = string.Format(CultureInfo.InvariantCulture, "{0} {1:F2} Tf {2:F4} {3:F4} {4:F4} rg", + fontName, fontSize, textColor.R / 255, textColor.G / 255, textColor.B / 255); + Elements.SetString(PdfAcroField.Keys.DA, da); + } + + /// + /// Gets the index of the specified string in the /Opt array or -1, if no such string exists. + /// + /// Value, for which the index should be retrieved + /// true if value is the export value, false if value is the text shown in the UI + protected int IndexInOptArray(string value, bool useExportValue) + { + var ancestor = FindParentHavingKey(Keys.Opt); + var opt = ancestor.Elements.GetArray(Keys.Opt); if (opt != null) { int count = opt.Elements.Count; for (int idx = 0; idx < count; idx++) { - var item = opt.Elements[idx]; - if (item is PdfString) + PdfItem item = opt.Elements[idx]; + if (item is PdfString pdfString) { - if (item.ToString() == value) + if (pdfString.Value == value) return idx; } - else if (item is PdfArray) + else if (item is PdfArray array) { - var array = (PdfArray)item; - if (array.Elements.Count != 0) + if (array.Elements.Count > 0) { - if (array.Elements[0].ToString() == value) + // Pdf Reference 1.7, Section 12.7.4.4: Should be a 2-element Array. + // Second value is the text shown in the UI. + if ((!useExportValue && array.Elements.Count > 1 && array.Elements.GetString(1) == value) || + (array.Elements.Count > 0 && array.Elements.GetString(0) == value)) return idx; } } @@ -67,29 +87,169 @@ protected int IndexInOptArray(string value) } /// - /// Gets the value from the index in the /Opt array. + /// Gets the value or the display text from the index in the /Opt array. /// - protected string ValueInOptArray(int index) + /// Index of the value that should be retrieved + /// true to get the export value, false to get the text shown in the UI + internal string ValueInOptArray(int index, bool useExportValue) { - var opt = Elements.GetArray(Keys.Opt); + var ancestor = FindParentHavingKey(Keys.Opt); + var opt = ancestor.Elements.GetArray(Keys.Opt); if (opt != null) { int count = opt.Elements.Count; if (index < 0 || index >= count) throw new ArgumentOutOfRangeException(nameof(index)); - var item = opt.Elements[index]; - if (item is PdfString) - return item.ToString() ?? ""; + PdfItem item = opt.Elements[index]; + if (item is PdfString pdfString) + return pdfString.Value; + else if (item is PdfArray array) + { + return !useExportValue && array.Elements.Count > 1 + ? array.Elements.GetString(1) + : array.Elements.GetString(0); + } + } + return string.Empty; + } - if (item is PdfArray) + /// + /// Gets or sets the Value for the Field. + /// For fields supporting multiple values (e.g. ListBox) use instead + /// + public override PdfItem? Value + { + get + { + var item = base.Value; + if (item is PdfArray pdfArray) + { + if (pdfArray.Elements.Count > 0) + item = pdfArray.Elements[0]; + } + if (item is PdfString pdfString) { - PdfArray array = (PdfArray)item; - if (array.Elements.Count != 0) - return array.Elements[0].ToString() ?? ""; + // First try the export value + var idx = IndexInOptArray(pdfString.Value, true); + // If that is not found, try the string shown in the UI + if (idx < 0) + idx = IndexInOptArray(pdfString.Value, false); + if (idx < 0) + return null; + // return the display text + return new PdfString(ValueInOptArray(idx, true)); } + return null; } - return ""; + set { base.Value = value; } + } + + /// + /// Gets or sets the Default value for the field + /// + public override PdfItem? DefaultValue + { + get + { + var item = base.DefaultValue; + if (item is PdfArray pdfArray) + { + if (pdfArray.Elements.Count > 0) + item = pdfArray.Elements[0]; + } + if (item is PdfString pdfString) + { + // First try the export value + var idx = IndexInOptArray(pdfString.Value, true); + // If that is not found, try the string shown in the UI + if (idx < 0) + idx = IndexInOptArray(pdfString.Value, false); + if (idx < 0) + return null; + // return the display text + return new PdfString(ValueInOptArray(idx, true)); + } + return null; + } + set { base.DefaultValue = value; } + } + + /// + /// Gets or sets the List of options (entries) available for selection. + /// This is the list of values shown in the UI. + /// + public ICollection Options + { + get + { + var result = new List(); + var ancestor = FindParentHavingKey(Keys.Opt); + var options = ancestor.Elements.GetArray(Keys.Opt); + if (options != null) + { + foreach (var item in options) + { + if (item is PdfString s) + result.Add(s.Value); + else + { + if (item is PdfArray array) + { + // Pdf Reference 1.7, Section 12.7.4.4 : Value is the SECOND entry in the Array + // (the first value is the exported value) + var v = array.Elements.GetString(array.Elements.Count > 1 ? 1 : 0); + if (string.IsNullOrEmpty(v)) + v = string.Empty; + result.Add(v); + } + } + } + } + return result; + } + set + { + var ary = new PdfArray(_document); + foreach (var item in value) + ary.Elements.Add(new PdfString(item)); + Elements.SetObject(Keys.Opt, ary); + } + } + + /// + /// Gets the list of values for this Field.

    + /// May or may not be equal to but has always the same amount of items. + ///
    + public ICollection Values + { + get + { + var result = new List(); + var ancestor = FindParentHavingKey(Keys.Opt); + var options = ancestor.Elements.GetArray(Keys.Opt); + if (options != null) + { + foreach (var item in options) + { + if (item is PdfString s) + result.Add(s.Value); + else + { + if (item is PdfArray array) + { + var ary = array; + var v = ary.Elements.GetString(0); + if (string.IsNullOrEmpty(v)) + v = string.Empty; + result.Add(v); + } + } + } + } + return result; + } + } /// @@ -101,29 +261,31 @@ protected string ValueInOptArray(int index) // ReSharper disable InconsistentNaming /// - /// (Required; inheritable) An array of options to be presented to the user. Each element of - /// the array is either a text string representing one of the available options or a two-element - /// array consisting of a text string together with a default appearance string for constructing - /// the item’s appearance dynamically at viewing time. + /// (Optional) An array of options that shall be presented to the user. + /// Each element of the array is either a text string representing one of the available + /// options or an array consisting of two text strings: the option’s export value + /// and the text that shall be displayed as the name of the option.

    + /// If this entry is not present, no choices should be presented to the user. ///
    [KeyInfo(KeyType.Array | KeyType.Optional)] public const string Opt = "/Opt"; /// - /// (Optional; inheritable) For scrollable list boxes, the top index (the index in the Opt array - /// of the first option visible in the list). + /// (Optional) For scrollable list boxes, the top index (the index in the Opt array + /// of the first option visible in the list). Default value: 0. /// [KeyInfo(KeyType.Integer | KeyType.Optional)] public const string TI = "/TI"; /// - /// (Sometimes required, otherwise optional; inheritable; PDF 1.4) For choice fields that allow - /// multiple selection (MultiSelect flag set), an array of integers, sorted in ascending order, - /// representing the zero-based indices in the Opt array of the currently selected option - /// items. This entry is required when two or more elements in the Opt array have different - /// names but the same export value, or when the value of the choice field is an array; in - /// other cases, it is permitted but not required. If the items identified by this entry differ - /// from those in the V entry of the field dictionary (see below), the V entry takes precedence. + /// (Sometimes required, otherwise optional; PDF 1.4) For choice fields that allow + /// multiple selection (MultiSelect flag set), an array of integers, sorted in ascending order, + /// representing the zero-based indices in the Opt array of the currently selected option items.

    + /// This entry shall be used when two or more elements in the Opt array have different names + /// but the same export value or when the value of the choice field is an array.

    + /// This entry should not be used for choice fields that do not allow multiple selection.

    + /// If the items identified by this entry differ from those in the V entry of the + /// field dictionary (see discussion following this Table), the V entry shall be used. ///
    [KeyInfo(KeyType.Array | KeyType.Optional)] public const string I = "/I"; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfComboBoxField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfComboBoxField.cs index a9e4c250..47a0fdfa 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfComboBoxField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfComboBoxField.cs @@ -1,6 +1,11 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; +using PdfSharp.Pdf.Advanced; +using PdfSharp.Pdf.Annotations; +using PdfSharp.Pdf.Internal; + namespace PdfSharp.Pdf.AcroForms { /// @@ -13,64 +18,129 @@ public sealed class PdfComboBoxField : PdfChoiceField /// internal PdfComboBoxField(PdfDocument document) : base(document) - { } + { + SetFlags |= PdfAcroFieldFlags.Combo; + } internal PdfComboBoxField(PdfDictionary dict) : base(dict) { } /// - /// Gets or sets the index of the selected item. + /// Gets or sets the index of the selected item /// public int SelectedIndex { get { - string value = Elements.GetString(PdfAcroField.Keys.V); - return IndexInOptArray(value); + var ancestor = FindParentHavingKey(PdfAcroField.Keys.V); + string value = ancestor.Elements.GetString(PdfAcroField.Keys.V); + // try export value first + var index = IndexInOptArray(value, true); + if (index < 0) + index = IndexInOptArray(value, false); + return index; } set { - if (value != -1) + if (ReadOnly) + throw new InvalidOperationException("The field is read only."); + if (value >= 0) { - string key = ValueInOptArray(value); + if (value >= Options.Count) + throw new ArgumentOutOfRangeException(nameof(value), value, + $"SelectedIndex for field '{FullyQualifiedName}' must be smaller than {Options.Count}"); + + string key = ValueInOptArray(value, true); Elements.SetString(PdfAcroField.Keys.V, key); - Elements.SetInteger("/I", value); + } + else + Elements.SetString(PdfAcroField.Keys.V, string.Empty); } } /// - /// Gets or sets the value of the field. + /// Gets or sets the value of this field. This should be an item from the list.

    ///
    - public override PdfItem? Value + public new string Value { - get => Elements[PdfAcroField.Keys.V]!; + get + { + var ancestor = FindParentHavingKey(PdfAcroField.Keys.V); + return ancestor.Elements.GetString(PdfAcroField.Keys.V); + } set { if (ReadOnly) throw new InvalidOperationException("The field is read only."); - if (value is PdfString or PdfName) + if (!string.IsNullOrWhiteSpace(value)) { - Elements[PdfAcroField.Keys.V] = value; - SelectedIndex = SelectedIndex; - if (SelectedIndex == -1) - { - try - { - ((PdfArray)((PdfItem[])Elements.Values)[2]).Elements.Add(Value!); // NRT Value - SelectedIndex = SelectedIndex; - } - // ReSharper disable once EmptyGeneralCatchClause - catch - { } - } + var index = IndexInOptArray(value, true); + if (index < 0) + throw new ArgumentException($"'{value}' is not a valid value for field '{FullyQualifiedName}'. Valid values are: [{string.Join(",", Options)}]"); + + Elements.SetString(PdfAcroField.Keys.V, index >= 0 ? value : string.Empty); + SelectedIndex = index; } else - throw new NotImplementedException("Values other than string cannot be set."); + SelectedIndex = -1; } } + /// + /// Renders the appearance of this field + /// + protected override void RenderAppearance() + { + if (Font is null) + return; + + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + if (widget == null) + continue; + + var fontSize = DetermineFontSize(widget); + var rect = widget.Rectangle; + var width = Math.Abs(rect.Width); + var height = Math.Abs(rect.Height); + // ensure a minimum size of 1x1, otherwise an exception is thrown + if (width < 1.0 || height < 1.0) + continue; + + var preferredFontType = Options.All(s => AnsiEncoding.IsAnsi(s)) ? FontType.TrueTypeWinAnsi : FontType.Type0Unicode; + SetFontType(preferredFontType); + + var xRect = new XRect(0, 0, width, height); + var form = new XForm(_document, xRect); + using (var gfx = XGraphics.FromForm(form)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.ComboBoxFieldRenderer.Render(this, widget, gfx, xRect); + } + form.DrawingFinished(); + SetXFormFont(form); + + var ap = new PdfDictionary(Owner); + widget.Elements[PdfAnnotation.Keys.AP] = ap; + // Set XRef to normal state + ap.Elements["/N"] = form.PdfForm.Reference; + + var xobj = form.PdfForm; + var s = xobj.Stream.ToString(); + s = "/Tx BMC\n" + s + "\nEMC"; + xobj.Stream.Value = new RawEncoding().GetBytes(s); + } + } + + internal override void PrepareForSave() + { + base.PrepareForSave(); + RenderAppearance(); + } + /// /// Predefined keys of this dictionary. /// The description comes from PDF 1.4 Reference. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfGenericField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfGenericField.cs index 97501e84..6f2d0573 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfGenericField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfGenericField.cs @@ -1,6 +1,8 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Pdf.Annotations; + namespace PdfSharp.Pdf.AcroForms { /// @@ -19,6 +21,24 @@ internal PdfGenericField(PdfDictionary dict) : base(dict) { } + internal override void Flatten() + { + base.Flatten(); + + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + if (widget.Page != null) + { + var appearances = widget.Elements.GetDictionary(PdfAnnotation.Keys.AP); + var normalAppearance = appearances?.Elements.GetDictionary("/N"); + var activeAppearance = widget.Elements.GetString(PdfAnnotation.Keys.AS); + if (!String.IsNullOrEmpty(activeAppearance) && normalAppearance != null && normalAppearance.Elements.ContainsKey(activeAppearance)) + RenderContentStream(widget.Page, normalAppearance.Elements.GetDictionary(activeAppearance)!, widget.Rectangle); + } + } + } + /// /// Predefined keys of this dictionary. /// The description comes from PDF 1.4 Reference. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfListBoxField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfListBoxField.cs index 789a2488..051b2f91 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfListBoxField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfListBoxField.cs @@ -1,6 +1,11 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; +using PdfSharp.Pdf.Advanced; +using PdfSharp.Pdf.Annotations; +using PdfSharp.Pdf.Internal; + namespace PdfSharp.Pdf.AcroForms { /// @@ -20,22 +25,222 @@ internal PdfListBoxField(PdfDictionary dict) { } /// - /// Gets or sets the index of the selected item. + /// Gets or sets the background color for selected items of the field. + /// + public XColor HighlightColor + { + get { return this.highlightColor; } + set { this.highlightColor = value; } + } + XColor highlightColor = XColors.DarkBlue; + + /// + /// Gets or sets the text-color for selected items of the field. + /// + public XColor HighlightTextColor + { + get { return this.highlightTextColor; } + set { this.highlightTextColor = value; } + } + XColor highlightTextColor = XColors.White; + + /// + /// Gets or sets the value for this ListBox

    + /// Note: As a may have multiple values selected, + /// this is an enumerable instead of a single value + ///
    + public new IEnumerable Value + { + get + { + var ancestor = FindParentHavingKey(PdfAcroField.Keys.V); + if (ancestor.Elements.ContainsKey(PdfAcroField.Keys.V)) + { + var val = ancestor.Elements[PdfAcroField.Keys.V]; + if (val is PdfString valString) + return [valString.Value]; + if (val is PdfArray valArray) + { + return valArray.Elements.Select(v => (v?.ToString() ?? "").TrimStart('(').TrimEnd(')')); + } + } + return []; + } + set + { + if (ReadOnly) + throw new InvalidOperationException("The field is read only."); + if (value == null || !value.Any()) + { + Elements.Remove(PdfAcroField.Keys.V); + Elements.Remove(PdfChoiceField.Keys.I); + if (value == null) + return; + } + var indices = new List(); + foreach (var v in value) + { + var index = IndexInOptArray(v, true); + if (index < 0) + throw new ArgumentException($"'{v}' is not a valid value for field '{FullyQualifiedName}'. Valid values are: [{string.Join(",", Options)}]"); + + indices.Add(index); + } + SelectedIndices = indices; + } + } + + /// + /// Gets or sets the Indices of the selected items of this Field + /// + public IEnumerable SelectedIndices + { + get + { + var result = new List(); + var ancestor = FindParentHavingKey(PdfAcroField.Keys.V); + var value = ancestor.Elements[PdfAcroField.Keys.V]; + if (value is PdfString valString) + { + result.Add(IndexInOptArray(valString.Value, true)); + } + else + { + var ary = ancestor.Elements.GetArray(PdfAcroField.Keys.V); // /V takes precedence over /I + if (ary != null) + { + for (var i = 0; i < ary.Elements.Count; i++) + { + int idx; + var val = ary.Elements.GetString(i); + if (val != null && (idx = IndexInOptArray(val, true)) >= 0) + result.Add(idx); + } + } + + if (result.Count > 0) + return result; + + ancestor = FindParentHavingKey(PdfChoiceField.Keys.I); + ary = ancestor.Elements.GetArray(PdfChoiceField.Keys.I); + if (ary != null) + { + foreach (var item in ary.Elements) + { + if (item is PdfInteger pdfInt) + result.Add(pdfInt.Value); + } + } + } + return result; + } + set + { + if (ReadOnly) + throw new InvalidOperationException("The field is read only."); + if (value == null) + { + Elements.Remove(PdfChoiceField.Keys.I); + Elements.Remove(PdfAcroField.Keys.V); + return; + } + if (value.Any(v => v < 0 || v >= Options.Count)) + throw new ArgumentOutOfRangeException($"At least one of the indices [{string.Join(",", value)}] is out of range. Valid values are in the range 0..{Options.Count - 1}"); + + Elements.Remove(PdfChoiceField.Keys.I); + Elements.Remove(PdfAcroField.Keys.V); + + var indexList = new List(value.Distinct()); + if (indexList.Count > 0) + { + indexList.Sort(); + var indices = new PdfArray(_document); + var values = new PdfArray(_document); + foreach (var index in indexList) + { + indices.Elements.Add(new PdfInteger(index)); + values.Elements.Add(new PdfString(ValueInOptArray(index, true))); + } + if (indexList.Count > 1) + { + Elements.SetObject(PdfChoiceField.Keys.I, indices); + Elements.SetObject(PdfAcroField.Keys.V, values); + } + else + Elements.SetString(PdfAcroField.Keys.V, ValueInOptArray(indexList[0], true)); + } + } + } + + /// + /// Gets or sets the index of the first visible item in the ListBox /// - public int SelectedIndex + public int TopIndex { get { - string value = Elements.GetString(Keys.V); - return IndexInOptArray(value); + var ancestor = FindParentHavingKey(PdfChoiceField.Keys.TI); + return ancestor.Elements.GetInteger(PdfChoiceField.Keys.TI); } set { - string key = ValueInOptArray(value); - Elements.SetString(Keys.V, key); + if (value < 0) + throw new ArgumentException("TopIndex must not be less than zero"); + Elements.SetInteger(PdfChoiceField.Keys.TI, value); } } + /// + /// Renders the appearance of this field + /// + protected override void RenderAppearance() + { + if (Font is null) + return; + + for (var idx = 0; idx < Annotations.Elements.Count; idx++) + { + var widget = Annotations.Elements[idx]; + if (widget == null) + continue; + + var rect = widget.Rectangle; + var width = Math.Abs(rect.Width); + var height = Math.Abs(rect.Height); + // ensure a minimum size of 1x1, otherwise an exception is thrown + if (width < 1.0 || height < 1.0) + continue; + + var preferredFontType = Options.All(s => AnsiEncoding.IsAnsi(s)) ? FontType.TrueTypeWinAnsi : FontType.Type0Unicode; + SetFontType(preferredFontType); + + var xRect = new XRect(0, 0, width, height); + var form = new XForm(_document, xRect); + using (var gfx = XGraphics.FromForm(form)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.ListBoxFieldRenderer.Render(this, widget, gfx, xRect); + } + form.DrawingFinished(); + SetXFormFont(form); + + var ap = new PdfDictionary(Owner); + widget.Elements[PdfAnnotation.Keys.AP] = ap; + ap.Elements["/N"] = form.PdfForm.Reference; + + var xobj = form.PdfForm; + var s = xobj.Stream.ToString(); + s = "/Tx BMC\n" + s + "\nEMC"; + xobj.Stream.Value = new RawEncoding().GetBytes(s); + } + } + + internal override void PrepareForSave() + { + base.PrepareForSave(); + RenderAppearance(); + } + /// /// Predefined keys of this dictionary. /// The description comes from PDF 1.4 Reference. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfPushButtonField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfPushButtonField.cs index 0079fdc7..96ebbc44 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfPushButtonField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfPushButtonField.cs @@ -1,6 +1,11 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; +using PdfSharp.Pdf.Advanced; +using PdfSharp.Pdf.Annotations; +using PdfSharp.Pdf.Internal; + namespace PdfSharp.Pdf.AcroForms { /// @@ -15,12 +20,167 @@ internal PdfPushButtonField(PdfDocument document) : base(document) { _document = document; + SetFlags |= PdfAcroFieldFlags.Pushbutton; } internal PdfPushButtonField(PdfDictionary dict) : base(dict) { } + private string? caption; + /// + /// Gets or sets the Caption of this Button + /// + public string? Caption + { + get + { + if (caption == null) + { + foreach (var widget in Annotations.Elements) + { + if (!string.IsNullOrWhiteSpace(widget.NormalCaption)) + { + caption = widget.NormalCaption; + break; + } + } + } + return caption; + } + set + { + if (caption != value) + { + caption = value; + foreach (var widget in Annotations.Elements) + { + widget.NormalCaption = value; + } + } + } + } + + /// + /// Adds a new Annotation to this field. + /// + /// A method that is used to configure the Annotation + /// The created and configured Annotation + /// + public override PdfWidgetAnnotation AddAnnotation(Action configure) + { + var annot = base.AddAnnotation(configure); + if (Caption != null) + annot.NormalCaption = Caption; + return annot; + } + + /// + /// Determines the visual appearance of this field, i.e. font and text-color + /// + protected override void DetermineAppearance() + { + var dict = this; + base.DetermineAppearance(); + } + + /// + /// Renders the appearance of this field + /// + protected override void RenderAppearance() + { + if (Font is null) + return; + + for (var idx = 0; idx < Annotations.Elements.Count; idx++) + { + var widget = Annotations.Elements[idx]; + // if widget already has an appearance, use that (imported field) + if (widget == null || widget.Elements.ContainsKey(PdfAnnotation.Keys.AP)) + continue; + + var rect = widget.Rectangle; + var width = Math.Abs(rect.Width); + var height = Math.Abs(rect.Height); + // ensure a minimum size of 1x1, otherwise an exception is thrown + if (width < 1.0 || height < 1.0) + continue; + + var preferredFontType = AnsiEncoding.IsAnsi(Caption ?? string.Empty) ? FontType.TrueTypeWinAnsi : FontType.Type0Unicode; + SetFontType(preferredFontType); + + var xRect = new XRect(0, 0, width, height); + + var formNormal = new XForm(_document, xRect); + using (var gfx = XGraphics.FromForm(formNormal)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.PushButtonFieldRenderer.RenderNormalState(this, widget, gfx, xRect); + } + formNormal.DrawingFinished(); + SetXFormFont(formNormal); + + // Note: implementing RenderRolloverState and RenderDownState is optional for the PushButtonFieldRenderer + // the current implementation throws a NotImplementedException for these methods + var formRollover = new XForm(_document, xRect); + try + { + using (var gfx = XGraphics.FromForm(formRollover)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.PushButtonFieldRenderer.RenderRolloverState(this, widget, gfx, xRect); + } + formRollover.DrawingFinished(); + SetXFormFont(formRollover); + } + catch (NotImplementedException) + { + formRollover = null; + } + + var formDown = new XForm(_document, xRect); + try + { + using (var gfx = XGraphics.FromForm(formDown)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.PushButtonFieldRenderer.RenderDownState(this, widget, gfx, xRect); + } + formDown.DrawingFinished(); + SetXFormFont(formDown); + } + catch (NotImplementedException) + { + formDown = null; + } + + var ap = new PdfDictionary(Owner); + widget.Elements[PdfAnnotation.Keys.AP] = ap; + ap.Elements["/N"] = formNormal.PdfForm.Reference; + if (formRollover != null) + ap.Elements["/R"] = formRollover.PdfForm.Reference; + if (formDown != null) + ap.Elements["/D"] = formDown.PdfForm.Reference; + + foreach (var form in new[] { formNormal, formRollover, formDown }) + { + if (form == null) + continue; + var xobj = form.PdfForm; + var s = xobj.Stream.ToString(); + s = "/Tx BMC\n" + s + "\nEMC"; + xobj.Stream.Value = new RawEncoding().GetBytes(s); + } + } + } + + internal override void PrepareForSave() + { + base.PrepareForSave(); + RenderAppearance(); + } + + /// /// Predefined keys of this dictionary. /// The description comes from PDF 1.4 Reference. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfRadioButtonField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfRadioButtonField.cs index 85ab84a5..f6b7f382 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfRadioButtonField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfRadioButtonField.cs @@ -1,6 +1,10 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; +using PdfSharp.Pdf.Annotations; +using System.Collections.ObjectModel; + namespace PdfSharp.Pdf.AcroForms { /// @@ -15,55 +19,251 @@ internal PdfRadioButtonField(PdfDocument document) : base(document) { _document = document; + SetFlags |= PdfAcroFieldFlags.Radio; } internal PdfRadioButtonField(PdfDictionary dict) : base(dict) - { } + { + if (!Elements.ContainsKey(Keys.Opt)) + { + var array = new PdfArray(_document); + foreach (var val in Options) + array.Elements.Add(new PdfString(val)); + Elements.Add(Keys.Opt, array); + } + } /// - /// Gets or sets the index of the selected radio button in a radio button group. + /// Gets or sets the value of this field. This should be an item from the list.

    + /// Setting this to null or an empty string unchecks all radio-buttons. ///
    - public int SelectedIndex + public new string Value { get { - string value = Elements.GetString(PdfAcroField.Keys.V); - return IndexInOptStrings(value); + var ancestor = FindParentHavingKey(PdfAcroField.Keys.V); + var name = ancestor.Elements.GetName(PdfAcroField.Keys.V); + return (string.IsNullOrEmpty(name) ? "/Off" : name).TrimStart('/'); } set { - var opt = Elements[Keys.Opt] as PdfArray; + if (ReadOnly) + throw new InvalidOperationException("The field is read only."); + if (!string.IsNullOrWhiteSpace(value)) + { + var index = IndexInFieldValues(value); + if (index < 0) + throw new ArgumentException($"'{value}' is not a valid value for field '{FullyQualifiedName}'. Valid values are: [{string.Join(",", Options)}]"); + + Elements.SetName(PdfAcroField.Keys.V, value); + SelectedIndex = index; + } + else + SelectedIndex = -1; + } + } - if (opt == null) - opt = Elements[PdfAcroField.Keys.Kids] as PdfArray; + private List? options; + /// + /// Gets the option-names of this RadioButton

    + /// Use one of these values when setting

    + /// You cannot manipulate this collection directly. + /// To change the elements you have to manipulate the of this field. + ///
    + public ReadOnlyCollection Options + { + get + { + if (options != null) + return options.AsReadOnly(); + + var values = new List(); + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + if (widget == null) + continue; + // convert names to ordinary strings by removing the slash + values.Add((GetNonOffValue(widget) ?? i.ToString()).TrimStart('/')); + } + options = values; + return options.AsReadOnly(); + } + } + + /// + /// Gets or sets the (optional) export-values for each entry in this radio button group.

    + /// If the field does not specify these, is returned. + ///
    + public ICollection ExportValues + { + get + { + var ancestor = FindParentHavingKey(Keys.Opt); + var opt = ancestor.Elements.GetArray(Keys.Opt); if (opt != null) { - int count = opt.Elements.Count; - if (value < 0 || value >= count) - throw new ArgumentOutOfRangeException(nameof(value)); - Elements.SetName(PdfAcroField.Keys.V, opt.Elements[value].ToString() ?? NRT.ThrowOnNull()); + var list = new List(); + for (var i = 0; i < opt.Elements.Count; i++) + list.Add(opt.Elements.GetString(i)); + return list; + } + return Options; + } + set + { + if (value.Count != Options.Count) + throw new ArgumentException("Length of Opt-Array must match length of Options"); + var optArray = new PdfArray(); + foreach (var val in value) + optArray.Elements.Add(new PdfString(val)); + Elements[Keys.Opt] = optArray; + } + } + + /// + /// Gets or sets the (zero-based) index of the selected radio button in a radio button group.

    + /// Use -1 to deselect all items.

    + /// This is an alternative to the + ///
    + public int SelectedIndex + { + get + { + return IndexInFieldValues(Value); + } + set + { + if (ReadOnly) + throw new InvalidOperationException("The field is read only."); + var values = Options; + var count = values.Count; + if (value < -1 || value >= count) + throw new ArgumentOutOfRangeException(nameof(value), value, + $"SelectedIndex for field '{FullyQualifiedName}' must be greater or equal to -1 and smaller than {Options.Count}"); + + var name = value == -1 ? "/Off" : '/' + values.ElementAt(value); + Elements.SetName(PdfAcroField.Keys.V, name); + // first, set all annotations to /Off + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + widget?.Elements.SetName(PdfAnnotation.Keys.AS, "/Off"); + } + if ((Flags & PdfAcroFieldFlags.RadiosInUnison) != 0) + { + // Then set all Widgets with the same Appearance to the checked state + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + if (name == values.ElementAt(i) && widget != null) + widget.Elements.SetName(PdfAnnotation.Keys.AS, name); + } + } + else + { + if (value >= 0 && value < Annotations.Elements.Count) + { + var widget = Annotations.Elements[value]; + widget?.Elements.SetName(PdfAnnotation.Keys.AS, name); + } } } } - int IndexInOptStrings(string value) + private int IndexInFieldValues(string value) + { + return Options.IndexOf(value); + } + + /// + /// Renders the appearance of this field + /// + protected override void RenderAppearance() { - if (Elements[Keys.Opt] is PdfArray opt) + for (var i = 0; i < Annotations.Elements.Count; i++) { - int count = opt.Elements.Count; - for (int idx = 0; idx < count; idx++) + var widget = Annotations.Elements[i]; + var rect = widget.Rectangle; + if (widget.Page != null && !rect.IsEmpty) { - var item = opt.Elements[idx]; - if (item is PdfString) + // existing/imported field ? + if (widget.Elements.ContainsKey(PdfAnnotation.Keys.AP)) { - if (item.ToString() == value) - return idx; + widget.Elements.SetName(PdfAnnotation.Keys.AS, i == SelectedIndex ? Options.ElementAt(i) : "/Off"); + } + else + CreateAppearance(widget, GetNonOffValue(widget) ?? "/Yes"); } } - return -1; + } + + /// + /// Creates the appearance-stream for the specified Widget. + /// + /// + /// + private void CreateAppearance(PdfWidgetAnnotation widget, string nameOfOnState) + { + // remove possible leading slashes (will be re-added later) + nameOfOnState = nameOfOnState.TrimStart('/'); + + var rect = widget.Rectangle; + if (widget.Page != null && !rect.IsEmpty) + { + var xRect = new XRect(0, 0, Math.Max(1, rect.Width), Math.Max(1, rect.Height)); + // checked state + var formChecked = new XForm(_document, xRect); + using (var gfx = XGraphics.FromForm(formChecked)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.RadioButtonFieldRenderer.RenderCheckedState(this, widget, gfx, xRect); + } + formChecked.DrawingFinished(); + + // unchecked state + var formUnchecked = new XForm(_document, rect.ToXRect()); + using (var gfx = XGraphics.FromForm(formUnchecked)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.RadioButtonFieldRenderer.RenderUncheckedState(this, widget, gfx, xRect); + } + formUnchecked.DrawingFinished(); + + var ap = new PdfDictionary(_document); + var nDict = new PdfDictionary(_document); + ap.Elements.SetValue("/N", nDict); + nDict.Elements[new PdfName("/" + nameOfOnState)] = formChecked.PdfForm.Reference; + nDict.Elements["/Off"] = formUnchecked.PdfForm.Reference; + widget.Elements[PdfAnnotation.Keys.AP] = ap; + } + } + + /// + /// A special overload for RadioButtons that allows specifying the name for the "On"-State of an individual radio-button + /// + /// Name of the "On"-State of this RadioButton + /// A method that is used to configure the Annotation + /// The created and configured Annotation + /// + public PdfWidgetAnnotation AddAnnotation(string nameOfOnState, Action configure) + { + if (string.IsNullOrWhiteSpace(nameOfOnState)) + throw new ArgumentNullException(nameof(nameOfOnState), "Name of 'On' state must not be null or empty"); + + var annot = AddAnnotation(configure); + CreateAppearance(annot, nameOfOnState); + options = null; // reset. next access to Options will re-create them + return annot; + } + + internal override void PrepareForSave() + { + base.PrepareForSave(); + RenderAppearance(); } /// @@ -73,11 +273,15 @@ int IndexInOptStrings(string value) public new class Keys : PdfButtonField.Keys { /// - /// (Optional; inheritable; PDF 1.4) An array of text strings to be used in - /// place of the V entries for the values of the widget annotations representing - /// the individual radio buttons. Each element in the array represents - /// the export value of the corresponding widget annotation in the - /// Kids array of the radio button field. + /// (Optional; inheritable; PDF 1.4) An array containing one entry for each + /// widget annotation in the Kids array of the radio button or check box field. + /// Each entry shall be a text string representing the on state of the + /// corresponding widget annotation.

    + /// When this entry is present, the names used to represent the on state in the + /// AP dictionary of each annotation may use numerical position (starting with 0) + /// of the annotation in the Kids array, encoded as a name object (for example: /0, /1).

    + /// This allows distinguishing between the annotations even if two or more of them + /// have the same value in the Opt array. ///
    [KeyInfo(KeyType.Array | KeyType.Optional)] public const string Opt = "/Opt"; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfSignatureField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfSignatureField.cs index 740d272b..05660a88 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfSignatureField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfSignatureField.cs @@ -1,9 +1,11 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -using PdfSharp.Pdf.IO; using PdfSharp.Drawing; +using PdfSharp.Pdf.Advanced; using PdfSharp.Pdf.Annotations; +using PdfSharp.Pdf.IO; +using PdfSharp.Pdf.Signatures; namespace PdfSharp.Pdf.AcroForms { @@ -18,6 +20,7 @@ public sealed class PdfSignatureField : PdfAcroField internal PdfSignatureField(PdfDocument document) : base(document) { + Elements.SetName(PdfAcroField.Keys.FT, "Sig"); CustomAppearanceHandler = null!; } @@ -27,6 +30,15 @@ internal PdfSignatureField(PdfDictionary dict) CustomAppearanceHandler = null!; } + /// + /// Gets or sets the for this signature field + /// + public new PdfSignature2? Value + { + get => Elements.GetValue(PdfAcroField.Keys.V) as PdfSignature2; + set => Elements[PdfAcroField.Keys.V] = value; + } + /// /// Handler that creates the visual representation of the digital signature in PDF. /// @@ -38,35 +50,42 @@ internal PdfSignatureField(PdfDictionary dict) ///
    void RenderCustomAppearance() { - var rect = Elements.GetRectangle(PdfAnnotation.Keys.Rect); + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + if (widget == null) + continue; - var visible = rect.X1 + rect.X2 + rect.Y1 + rect.Y2 != 0; + var rect = widget.Rectangle; - if (!visible) - return; + var visible = rect.X1 + rect.X2 + rect.Y1 + rect.Y2 != 0; - if (CustomAppearanceHandler == null) - throw new Exception("AppearanceHandler is not set."); + if (!visible) + continue; - var form = new XForm(_document, rect.Size); - var gfx = XGraphics.FromForm(form); + if (CustomAppearanceHandler == null) + throw new Exception("AppearanceHandler is null"); - CustomAppearanceHandler.DrawAppearance(gfx, rect.ToXRect()); + var form = new XForm(_document, rect.Size); + var gfx = XGraphics.FromForm(form); - form.DrawingFinished(); + CustomAppearanceHandler.DrawAppearance(gfx, rect.ToXRect()); - // Get existing or create new appearance dictionary - if (Elements[PdfAnnotation.Keys.AP] is not PdfDictionary ap) - { - ap = new PdfDictionary(_document); - Elements[PdfAnnotation.Keys.AP] = ap; - } + form.DrawingFinished(); + + // Get existing or create new appearance dictionary + if (widget.Elements[PdfAnnotation.Keys.AP] is not PdfDictionary ap) + { + ap = new PdfDictionary(_document); + widget.Elements[PdfAnnotation.Keys.AP] = ap; + } - // Set XRef to normal state - ap.Elements["/N"] = form.PdfForm.Reference; + // Set XRef to normal state + ap.Elements["/N"] = form.PdfForm.Reference; - // PdfRenderer can be null. - form.PdfRenderer?.Close(); + // PdfRenderer can be null. + form.PdfRenderer?.Close(); + } } internal override void PrepareForSave() @@ -74,6 +93,62 @@ internal override void PrepareForSave() base.PrepareForSave(); if (CustomAppearanceHandler != null!) RenderCustomAppearance(); + else + RenderAppearance(); + } + + /// + /// Renders the appearance of this field + /// + protected override void RenderAppearance() + { + for (var i = 0; i < Annotations.Elements.Count; i++) + { + var widget = Annotations.Elements[i]; + if (widget == null) + continue; + + var rect = widget.Rectangle; + var width = Math.Abs(rect.Width); + var height = Math.Abs(rect.Height); + // ensure a minimum size of 1x1, otherwise an exception is thrown + if (width < 1.0 || height < 1.0) + continue; + + var xRect = new XRect(0, 0, width, height); + var form = (widget.Rotation == 90 || widget.Rotation == 270) && (widget.Flags & PdfAnnotationFlags.NoRotate) == 0 + ? new XForm(_document, XUnit.FromPoint(rect.Height), XUnit.FromPoint(rect.Width)) + : new XForm(_document, xRect); + + if (widget.Rotation != 0 && (widget.Flags & PdfAnnotationFlags.NoRotate) == 0) + { + // I could not get this to work using gfx.Rotate/Translate Methods... + const double deg2Rad = 0.01745329251994329576923690768489; // PI/180 + var sr = Math.Sin(widget.Rotation * deg2Rad); + var cr = Math.Cos(widget.Rotation * deg2Rad); + // see PdfReference 1.7, Chapter 8.3.3 (Common Transformations) + // TODO: Is this always correct ? I had only the chance to test this with a 90 degree rotation... + form.PdfForm.Elements.SetMatrix(PdfFormXObject.Keys.Matrix, new XMatrix(cr, sr, -sr, cr, xRect.Width, 0)); + if (widget.Rotation == 90 || widget.Rotation == 270) + xRect = new XRect(0, 0, rect.Height, rect.Width); + } + + using (var gfx = XGraphics.FromForm(form)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.SignatureFieldRenderer.Render(this, widget, gfx, xRect); + } + form.DrawingFinished(); + + // Get existing or create new appearance dictionary. + if (widget.Elements[PdfAnnotation.Keys.AP] is not PdfDictionary ap) + { + ap = new PdfDictionary(_document); + widget.Elements[PdfAnnotation.Keys.AP] = ap; + } + + ap.Elements["/N"] = form.PdfForm.Reference; + } } /// @@ -99,6 +174,25 @@ internal override void WriteDictionaryElement(PdfWriter writer, PdfName key) /// public new class Keys : PdfAcroField.Keys { + /// + /// (Optional; shall be an indirect reference; PDF 1.5) A signature field lock dictionary + /// that specifies a set of form fields that shall be locked when this signature field is signed. + /// + [KeyInfo(KeyType.Dictionary | KeyType.Optional)] + public const string Lock = "/Lock"; + + /// + /// (Optional; shall be an indirect reference; PDF 1.5) A seed value dictionary (see Table 234) + /// containing information that constrains the properties of a signature that is applied to this field. + /// + [KeyInfo(KeyType.Dictionary | KeyType.Optional)] + public const string SV = "/SV"; + + // + // NOTE: The following entries are not part of a Signature field. + // Rather, these are the key of a signature-dictionary (see PdfReference 1.7, Chapter 12.8) + // + /// /// (Optional) The type of PDF object that this dictionary describes; if present, /// must be Sig for a signature dictionary. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfTextField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfTextField.cs index cefef326..4db7fc1b 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfTextField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfTextField.cs @@ -18,35 +18,41 @@ public sealed class PdfTextField : PdfAcroField /// internal PdfTextField(PdfDocument document) : base(document) - { } + { + Elements.SetName(PdfAcroField.Keys.FT, "Tx"); + } internal PdfTextField(PdfDictionary dict) : base(dict) { } /// - /// Gets or sets the text value of the text field. + /// Same as (which should be used instead) /// - public string Text + public new string Value { - get => Elements.GetString(PdfAcroField.Keys.V); - set { Elements.SetString(PdfAcroField.Keys.V, value); RenderAppearance(); } //HACK_OLD in PdfTextField + get => Text; + set => Text = value; } /// - /// Gets or sets the font used to draw the text of the field. - /// - public XFont Font { get; set; } = new XFont("Courier New", 10); - - /// - /// Gets or sets the foreground color of the field. - /// - public XColor ForeColor { get; set; } = XColors.Black; - - /// - /// Gets or sets the background color of the field. + /// Gets or sets the text value of the text field. /// - public XColor BackColor { get; set; } = XColor.Empty; + public string Text + { + get + { + var ancestor = FindParentHavingKey(PdfAcroField.Keys.V); + return ancestor.Elements.GetString(PdfAcroField.Keys.V); + } + set + { + if (ReadOnly) + throw new InvalidOperationException("The field is read only."); + // TODO: check MaxLength ? (risky -> potential data-loss) + Elements.SetString(PdfAcroField.Keys.V, value ?? string.Empty); + } + } /// /// Gets or sets the maximum length of the field. @@ -54,8 +60,12 @@ public string Text /// The length of the max. public int MaxLength { - get => Elements.GetInteger(Keys.MaxLen); - set => Elements.SetInteger(Keys.MaxLen, value); + get + { + var ancestor = FindParentHavingKey(Keys.MaxLen); + return ancestor.Elements.GetInteger(Keys.MaxLen); + } + set { Elements.SetInteger(Keys.MaxLen, value); } } /// @@ -63,7 +73,7 @@ public int MaxLength /// public bool MultiLine { - get => (Flags & PdfAcroFieldFlags.Multiline) != 0; + get { return (Flags & PdfAcroFieldFlags.Multiline) != 0; } set { if (value) @@ -78,7 +88,7 @@ public bool MultiLine /// public bool Password { - get => (Flags & PdfAcroFieldFlags.Password) != 0; + get { return (Flags & PdfAcroFieldFlags.Password) != 0; } set { if (value) @@ -89,138 +99,121 @@ public bool Password } /// - /// Creates the normal appearance form X object for the annotation that represents - /// this acro form text field. + /// Gets or sets a value indicating whether this field is a combined field. + /// A combined field is a text field made up of multiple "combs" of equal width. The number of combs is determined by . /// - void RenderAppearance() + public bool Combined { -#if true_ - PdfFormXObject xobj = new PdfFormXObject(Owner); - Owner.Internals.AddObject(xobj); - xobj.Elements["/BBox"] = new PdfLiteral("[0 0 122.653 12.707]"); - xobj.Elements["/FormType"] = new PdfLiteral("1"); - xobj.Elements["/Matrix"] = new PdfLiteral("[1 0 0 1 0 0]"); - PdfDictionary res = new PdfDictionary(Owner); - xobj.Elements["/Resources"] = res; - res.Elements["/Font"] = new PdfLiteral("<< /Helv 28 0 R >> /ProcSet [/PDF /Text]"); - xobj.Elements["/Subtype"] = new PdfLiteral("/Form"); - xobj.Elements["/Type"] = new PdfLiteral("/XObject"); - - string s = - "/Tx BMC " + '\n' + - "q" + '\n' + - "1 1 120.653 10.707 re" + '\n' + - "W" + '\n' + - "n" + '\n' + - "BT" + '\n' + - "/Helv 7.93 Tf" + '\n' + - "0 g" + '\n' + - "2 3.412 Td" + '\n' + - "(Hello ) Tj" + '\n' + - "20.256 0 Td" + '\n' + - "(XXX) Tj" + '\n' + - "ET" + '\n' + - "Q" + '\n' + - "";//"EMC"; - int length = s.Length; - byte[] stream = new byte[length]; - for (int idx = 0; idx < length; idx++) - stream[idx] = (byte)s[idx]; - xobj.CreateStream(stream); - - // Get existing or create new appearance dictionary - PdfDictionary ap = Elements[PdfAnnotation.Keys.AP] as PdfDictionary; - if (ap == null) + get { return (Flags & PdfAcroFieldFlags.CombTextField) != 0; } + set { - ap = new PdfDictionary(_document); - Elements[PdfAnnotation.Keys.AP] = ap; + if (value) + SetFlags |= PdfAcroFieldFlags.CombTextField; + else + SetFlags &= ~PdfAcroFieldFlags.CombTextField; } + } - // Set XRef to normal state - ap.Elements["/N"] = xobj.Reference; - - //string m = - //"" + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" PDFsharp 1.40.2150-g (www.pdfsharp.com) (Original: Powered By Crystal) " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" 2011-07-11T23:15:09+02:00 " + '\n' + - //" 2011-05-19T16:26:51+03:00 " + '\n' + - //" 2011-07-11T23:15:09+02:00 " + '\n' + - //" Crystal Reports " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" application/pdf " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" uuid:68249d89-baed-4384-9a2d-fbf8ace75c45 " + '\n' + - //" uuid:3d5f2f46-c140-416f-baf2-7f9c970cef1d " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //" " + '\n' + - //""; - - //PdfDictionary mdict = (PdfDictionary)_document.Internals.GetObject(new PdfObjectID(32)); - - //length = m.Length; - //stream = new byte[length]; - //for (int idx = 0; idx < length; idx++) - // stream[idx] = (byte)m[idx]; - - //mdict.Stream.Value = stream; -#else - var rect = Elements.GetRectangle(PdfAnnotation.Keys.Rect); - var form = new XForm(_document, rect.Size); - var gfx = XGraphics.FromForm(form); - - if (BackColor != XColor.Empty) - gfx.DrawRectangle(new XSolidBrush(BackColor), rect.ToXRect() - rect.Location); - - string text = Text; - if (text.Length > 0) - gfx.DrawString(Text, Font, new XSolidBrush(ForeColor), - rect.ToXRect() - rect.Location + new XPoint(2, 0), XStringFormats.TopLeft); + /// + /// Sets the default appearance for this field. + /// + public void SetDefaultAppearance(XFont font, double fontSize, XColor textColor) + { + if (font is null) + throw new ArgumentNullException(nameof(font)); + if (fontSize < 0.0) + throw new ArgumentException("Font size must be greater or equal to zero", nameof(fontSize)); + if (Owner.AcroForm is null) + throw new InvalidOperationException("AcroForm has to be created first"); + + var formResources = Owner.AcroForm.GetOrCreateResources(); + var fontType = font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode + ? FontType.Type0Unicode + : FontType.TrueTypeWinAnsi; + var docFont = _document.FontTable.GetOrCreateFont(font.GlyphTypeface, fontType); + var fontName = formResources.AddFont(docFont); + var da = string.Format(CultureInfo.InvariantCulture, "{0} {1:F2} Tf {2:F4} {3:F4} {4:F4} rg", + fontName, fontSize, textColor.R / 255, textColor.G / 255, textColor.B / 255); + Elements.SetString(PdfAcroField.Keys.DA, da); + } - form.DrawingFinished(); - form.PdfForm.Elements.Add("/FormType", new PdfLiteral("1")); + /// + /// Creates the normal appearance form X object for the annotation that represents + /// this acro form text field. + /// + protected override void RenderAppearance() + { + if (Font == null || string.IsNullOrEmpty(Text)) + return; - // Get existing or create new appearance dictionary. - if (Elements[PdfAnnotation.Keys.AP] is not PdfDictionary ap) + for (var i = 0; i < Annotations.Elements.Count; i++) { - ap = new PdfDictionary(_document); - Elements[PdfAnnotation.Keys.AP] = ap; - } - - // Set XRef to normal state. - ap.Elements["/N"] = form.PdfForm.Reference; - - form.PdfRenderer.Close(); - - var xobj = form.PdfForm; - string s = xobj.Stream?.ToString() ?? ""; - // Thank you Adobe: Without putting the content in 'EMC brackets' - // the text is not rendered by PDF Reader 9 or higher. - s = "/Tx BMC\n" + s + "\nEMC"; - if (xobj.Stream != null) + var widget = Annotations.Elements[i]; + if (widget == null) + continue; + + var rect = widget.Rectangle; + var width = Math.Abs(rect.Width); + var height = Math.Abs(rect.Height); + // ensure a minimum size of 1x1, otherwise an exception is thrown + if (width < 1.0 || height < 1.0) + continue; + + var xRect = new XRect(0, 0, width, height); + var form = (widget.Rotation == 90 || widget.Rotation == 270) && (widget.Flags & PdfAnnotationFlags.NoRotate) == 0 + ? new XForm(_document, XUnit.FromPoint(rect.Height), XUnit.FromPoint(rect.Width)) + : new XForm(_document, xRect); + + if (widget.Rotation != 0 && (widget.Flags & PdfAnnotationFlags.NoRotate) == 0) + { + // I could not get this to work using gfx.Rotate/Translate Methods... + const double deg2Rad = 0.01745329251994329576923690768489; // PI/180 + var sr = Math.Sin(widget.Rotation * deg2Rad); + var cr = Math.Cos(widget.Rotation * deg2Rad); + // see PdfReference 1.7, Chapter 8.3.3 (Common Transformations) + // TODO: Is this always correct ? I had only the chance to test this with a 90 degree rotation... + form.PdfForm.Elements.SetMatrix(PdfFormXObject.Keys.Matrix, new XMatrix(cr, sr, -sr, cr, xRect.Width, 0)); + if (widget.Rotation == 90 || widget.Rotation == 270) + xRect = new XRect(0, 0, rect.Height, rect.Width); + } + + var preferredFontType = AnsiEncoding.IsAnsi(Text) ? FontType.TrueTypeWinAnsi : FontType.Type0Unicode; + SetFontType(preferredFontType); + + using (var gfx = XGraphics.FromForm(form)) + { + gfx.IntersectClip(xRect); + Owner.AcroForm?.FieldRenderer.TextFieldRenderer.Render(this, widget, gfx, xRect); + } + form.DrawingFinished(); + SetXFormFont(form); + + // Get existing or create new appearance dictionary. + if (widget.Elements[PdfAnnotation.Keys.AP] is not PdfDictionary ap) + { + ap = new PdfDictionary(_document); + widget.Elements[PdfAnnotation.Keys.AP] = ap; + } + + ap.Elements["/N"] = form.PdfForm.Reference; + + var xobj = form.PdfForm; + var s = xobj.Stream.ToString(); + // Thank you Adobe: Without putting the content in 'EMC brackets' + // the text is not rendered by PDF Reader 9 or higher. + s = "/Tx BMC\n" + s + "\nEMC"; xobj.Stream.Value = new RawEncoding().GetBytes(s); -#endif + } + // create DefaultAppearance for newly created fields (required according to the spec) + if (!Elements.ContainsKey(PdfAcroField.Keys.DA) && _document.AcroForm != null) + { + var pdfFont = _document.FontTable.GetOrCreateFont(Font.GlyphTypeface, FontType.Type0Unicode); + var formResources = _document.AcroForm.GetOrCreateResources(); + var fontName = formResources.AddFont(pdfFont); + Elements.Add(PdfAcroField.Keys.DA, new PdfString(string.Format( + CultureInfo.InvariantCulture, "{0} {1:0.###} Tf {2:0.###} {3:0.###} {4:0.###} rg", + fontName, FontSize ?? Font.Size, ForeColor.R / 255.0, ForeColor.G / 255.0, ForeColor.B / 255.0))); + } } internal override void PrepareForSave() diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfAcroFieldRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfAcroFieldRenderer.cs new file mode 100644 index 00000000..50129ca2 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfAcroFieldRenderer.cs @@ -0,0 +1,87 @@ +namespace PdfSharp.Pdf.AcroForms.Rendering +{ + /// + /// Contains the renderers for s

    + /// Individual renderers may be overriden by their respective implementations + ///
    + public class PdfAcroFieldRenderer + { + private PdfCheckBoxFieldRenderer checkBoxFieldRenderer = new(); + private PdfComboBoxFieldRenderer comboBoxFieldRenderer = new(); + private PdfListBoxFieldRenderer listBoxFieldRenderer = new(); + private PdfPushButtonFieldRenderer pushButtonFieldRenderer = new(); + private PdfRadioButtonFieldRenderer radioButtonFieldRenderer = new(); + private PdfSignatureFieldRenderer signatureFieldRenderer = new(); + private PdfTextFieldRenderer textFieldRenderer = new(); + + /// + /// Gets or sets the renderer for s + ///

    Trying to set this to null will throw an Exception + ///
    + public PdfCheckBoxFieldRenderer CheckBoxFieldRenderer + { + get => checkBoxFieldRenderer; + set => checkBoxFieldRenderer = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Gets or sets the renderer for s + ///

    Trying to set this to null will throw an Exception + ///
    + public PdfComboBoxFieldRenderer ComboBoxFieldRenderer + { + get => comboBoxFieldRenderer; + set => comboBoxFieldRenderer = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Gets or sets the renderer for s + ///

    Trying to set this to null will throw an Exception + ///
    + public PdfListBoxFieldRenderer ListBoxFieldRenderer + { + get => listBoxFieldRenderer; + set => listBoxFieldRenderer = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Gets or sets the renderer for s + ///

    Trying to set this to null will throw an Exception + ///
    + public PdfPushButtonFieldRenderer PushButtonFieldRenderer + { + get => pushButtonFieldRenderer; + set => pushButtonFieldRenderer = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Gets or sets the renderer for s + ///

    Trying to set this to null will throw an Exception + ///
    + public PdfRadioButtonFieldRenderer RadioButtonFieldRenderer + { + get => radioButtonFieldRenderer; + set => radioButtonFieldRenderer = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Gets or sets the renderer for s + ///

    Trying to set this to null will throw an Exception + ///
    + public PdfSignatureFieldRenderer SignatureFieldRenderer + { + get => signatureFieldRenderer; + set => signatureFieldRenderer = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Gets or sets the renderer for s + ///

    Trying to set this to null will throw an Exception + ///
    + public PdfTextFieldRenderer TextFieldRenderer + { + get => textFieldRenderer; + set => textFieldRenderer = value ?? throw new ArgumentNullException(nameof(value)); + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfCheckBoxFieldRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfCheckBoxFieldRenderer.cs new file mode 100644 index 00000000..c7df6f4b --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfCheckBoxFieldRenderer.cs @@ -0,0 +1,57 @@ +using PdfSharp.Drawing; +using PdfSharp.Pdf.Annotations; + +namespace PdfSharp.Pdf.AcroForms.Rendering +{ + /// + /// Renders a

    + ///
    + /// + /// Inheritors should override the methods + /// and + /// + public class PdfCheckBoxFieldRenderer + { + /// + /// Renders the ckecked state of the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void RenderCheckedState(PdfCheckBoxField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + // draw border + if (!widget.BorderColor.IsEmpty && widget.Border.Width > 0) + { + var borderPen = new XPen(widget.BorderColor, widget.Border.Width); + gfx.DrawRectangle(borderPen, 0, 0, rect.Width, rect.Height); + } + // draw an X-shape + var pen = new XPen(field.ForeColor, rect.Width * 0.125) + { + LineCap = XLineCap.Round + }; + var pad = widget.Border.Width + 1; + gfx.DrawLine(pen, 0 + pad, pad, rect.Width - pad, rect.Height - pad); + gfx.DrawLine(pen, 0 + pad, rect.Height - pad, rect.Width - pad, pad); + } + + /// + /// Renders the unckecked state of the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void RenderUncheckedState(PdfCheckBoxField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + // draw border + if (!widget.BorderColor.IsEmpty && widget.Border.Width > 0) + { + var borderPen = new XPen(widget.BorderColor, widget.Border.Width); + gfx.DrawRectangle(borderPen, 0, 0, rect.Width, rect.Height); + } + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfComboBoxFieldRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfComboBoxFieldRenderer.cs new file mode 100644 index 00000000..4c3a02a2 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfComboBoxFieldRenderer.cs @@ -0,0 +1,51 @@ +using PdfSharp.Drawing; +using PdfSharp.Pdf.Annotations; + +namespace PdfSharp.Pdf.AcroForms.Rendering +{ + /// + /// Renders a

    + ///
    + /// + /// Inheritors should override the method + /// + public class PdfComboBoxFieldRenderer + { + /// + /// Renders the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void Render(PdfComboBoxField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + if (field.Font == null) + return; + + if (widget.BackColor != XColor.Empty) + gfx.DrawRectangle(new XSolidBrush(widget.BackColor), rect); + // Draw Border + if (!widget.BorderColor.IsEmpty && widget.Border.Width > 0) + { + gfx.DrawRectangle(new XPen(widget.BorderColor, widget.Border.Width), rect); + rect.Inflate(-widget.Border.Width, -widget.Border.Width); + } + + var index = field.SelectedIndex; + if (index > 0) + { + var text = field.ValueInOptArray(index, false); + if (!String.IsNullOrEmpty(text)) + { + var format = field.TextAlign == PdfAcroFieldTextAlignment.Left + ? XStringFormats.CenterLeft + : field.TextAlign == PdfAcroFieldTextAlignment.Center + ? XStringFormats.Center + : XStringFormats.CenterRight; + gfx.DrawString(text, field.Font, new XSolidBrush(field.ForeColor), rect, format); + } + } + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfListBoxFieldRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfListBoxFieldRenderer.cs new file mode 100644 index 00000000..1808135c --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfListBoxFieldRenderer.cs @@ -0,0 +1,62 @@ +using PdfSharp.Drawing; +using PdfSharp.Pdf.Annotations; + +namespace PdfSharp.Pdf.AcroForms.Rendering +{ + /// + /// Renders a

    + ///
    + /// + /// Inheritors should override the method + /// + public class PdfListBoxFieldRenderer + { + /// + /// Renders the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void Render(PdfListBoxField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + if (field.Font == null) + return; + + var format = field.TextAlign == PdfAcroFieldTextAlignment.Left + ? XStringFormats.CenterLeft + : field.TextAlign == PdfAcroFieldTextAlignment.Center + ? XStringFormats.Center + : XStringFormats.CenterRight; + if (widget.BackColor != XColor.Empty) + gfx.DrawRectangle(new XSolidBrush(widget.BackColor), rect); + // Draw Border + if (!widget.BorderColor.IsEmpty && widget.Border.Width > 0) + gfx.DrawRectangle(new XPen(widget.BorderColor, widget.Border.Width), rect); + + var lineHeight = field.Font.Height; + var y = 0.0; + var startIndex = Math.Max(0, Math.Min(field.TopIndex, field.Options.Count - (int)(rect.Height / lineHeight))); + for (var i = startIndex; i < field.Options.Count; i++) + { + var text = field.Options.ElementAt(i); + // offset and shrink a bit to not draw on top of the outer border + var lineRect = new XRect(widget.Border.Width, y + widget.Border.Width, + rect.Width - 2 * widget.Border.Width, lineHeight - 1); + var selected = false; + if (text.Length > 0) + { + if (field.SelectedIndices.Contains(i)) + { + gfx.DrawRectangle(new XSolidBrush(field.HighlightColor), lineRect); + selected = true; + } + lineRect.Inflate(-2, 0); + gfx.DrawString(text, field.Font, + new XSolidBrush(selected ? field.HighlightTextColor : field.ForeColor), lineRect, format); + y += lineHeight; + } + } + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfPushButtonFieldRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfPushButtonFieldRenderer.cs new file mode 100644 index 00000000..1e79d6e8 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfPushButtonFieldRenderer.cs @@ -0,0 +1,130 @@ +using PdfSharp.Drawing; +using PdfSharp.Pdf.Annotations; +using PdfSharp.Pdf.Annotations.enums; +using PdfSharp.Pdf.Internal; + +namespace PdfSharp.Pdf.AcroForms.Rendering +{ + /// + /// Renders a

    + /// The current implementation does not render the Rollover- and Down- states + /// so the button will always appear in Normal state.

    + ///
    + /// + /// Inheritors should override the methods , + /// and + ///



    + /// It is allowed to throw a in the methods + /// and + /// , + /// only the implementation of + /// is mandatory. + ///
    + public class PdfPushButtonFieldRenderer + { + static XColor ShadeLight = XColors.White; + static XColor ShadeDark = XColors.DimGray; + const double shadeWidth = 2; + + /// + /// Renders the normal state of the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void RenderNormalState(PdfPushButtonField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + var text = field.Caption; + if (string.IsNullOrWhiteSpace(text) || field.Font == null) + return; + + var format = XStringFormats.Center; + if (widget.NormalIcon != null) + { + format = widget.CaptionPlacement == PdfButtonCaptionPosition.LeftOfIcon + ? XStringFormats.CenterLeft + : widget.CaptionPlacement == PdfButtonCaptionPosition.RightOfIcon + ? XStringFormats.CenterRight + : widget.CaptionPlacement == PdfButtonCaptionPosition.AboveIcon + ? XStringFormats.TopCenter + : XStringFormats.BottomCenter; + } + + if (!widget.BackColor.IsEmpty) + gfx.DrawRectangle(new XSolidBrush(widget.BackColor), rect); + if (!widget.BorderColor.IsEmpty && widget.Border.Width > 0) + { + gfx.DrawRectangle(new XPen(widget.BorderColor, widget.Border.Width), rect); + //var prevRect = new XRect(rect.X, rect.Y, rect.Width, rect.Height); + rect.Inflate(-widget.Border.Width, -widget.Border.Width); + //gfx.TranslateTransform(widget.Border.Width, widget.Border.Width); + //gfx.ScaleAtTransform(rect.Width / prevRect.Width, rect.Height / prevRect.Height, rect.Width / 2, rect.Height / 2); + } + var tlColor = XColor.Empty; + var brColor = XColor.Empty; + if (widget.Border.BorderStyle == Annotations.enums.PdfAnnotationBorderStyle.Beveled) + { + tlColor = ShadeLight; + brColor = ShadeDark; + } + else if (widget.Border.BorderStyle == Annotations.enums.PdfAnnotationBorderStyle.Inset) + { + tlColor = ShadeDark; + brColor = ShadeLight; + } + if (!tlColor.IsEmpty) + { + // draw additional beveled or inset border + var tlPen = new XPen(tlColor, shadeWidth) + { + LineCap = XLineCap.Square, + LineJoin = XLineJoin.Miter + }; var brPen = new XPen(brColor, shadeWidth) + { + LineCap = XLineCap.Square, + LineJoin = XLineJoin.Miter + }; + // top + gfx.DrawLine(tlPen, rect.X, rect.Top, rect.Right, rect.Top); + // left + gfx.DrawLine(tlPen, rect.X, rect.Y, rect.X, rect.Bottom); + // bottom + gfx.DrawLine(brPen, rect.X + shadeWidth, rect.Bottom, rect.Right, rect.Bottom); + // right + gfx.DrawLine(brPen, rect.Right, rect.Y, rect.Right, rect.Bottom); + rect.Inflate(-brPen.Width, -brPen.Width); + } + // TODO: offset icon based on CaptionPosition + if (widget.NormalIcon != null && widget.CaptionPlacement != PdfButtonCaptionPosition.CaptionOnly) + gfx.AppendToContentStream(PdfEncoders.RawEncoding.GetString(widget.NormalIcon.Stream.UnfilteredValue)); + + if (widget.CaptionPlacement != PdfButtonCaptionPosition.IconOnly) + gfx.DrawString(text, field.Font, new XSolidBrush(field.ForeColor), rect, format); + } + + /// + /// Renders the rollover state of the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void RenderRolloverState(PdfPushButtonField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + throw new NotImplementedException(); + } + + /// + /// Renders the down state of the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void RenderDownState(PdfPushButtonField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + throw new NotImplementedException(); + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfRadioButtonFieldRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfRadioButtonFieldRenderer.cs new file mode 100644 index 00000000..7563c4aa --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfRadioButtonFieldRenderer.cs @@ -0,0 +1,54 @@ +using PdfSharp.Drawing; +using PdfSharp.Pdf.Annotations; + +namespace PdfSharp.Pdf.AcroForms.Rendering +{ + /// + /// Renders a

    + ///
    + /// + /// Inheritors should override the methods + /// and + /// + /// + public class PdfRadioButtonFieldRenderer + { + /// + /// Renders the ckecked state of the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void RenderCheckedState(PdfRadioButtonField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + // draw border + if (!widget.BorderColor.IsEmpty && widget.Border.Width > 0) + { + var borderPen = new XPen(widget.BorderColor, widget.Border.Width); + gfx.DrawEllipse(borderPen, 0, 0, rect.Width, rect.Height); + } + // draw a dot in the middle + var dotRect = new XRect(rect.Location, rect.Size); + dotRect.Inflate(-rect.Width * 0.25, -rect.Height * 0.25); + gfx.DrawEllipse(new XSolidBrush(field.ForeColor), dotRect); + } + + /// + /// Renders the unckecked state of the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void RenderUncheckedState(PdfRadioButtonField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + // draw border + if (!widget.BorderColor.IsEmpty) + { + var borderPen = new XPen(widget.BorderColor); + gfx.DrawEllipse(borderPen, 0, 0, rect.Width, rect.Height); + } + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfSignatureFieldRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfSignatureFieldRenderer.cs new file mode 100644 index 00000000..3ef6a06e --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfSignatureFieldRenderer.cs @@ -0,0 +1,38 @@ +using PdfSharp.Drawing; +using PdfSharp.Pdf.Annotations; + +namespace PdfSharp.Pdf.AcroForms.Rendering +{ + /// + /// Renders a

    + ///
    + /// + /// Inheritors should override the method + /// + public class PdfSignatureFieldRenderer + { + /// + /// Renders the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void Render(PdfSignatureField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + const double pad = 4.0; + + if (!widget.BackColor.IsEmpty) + gfx.DrawRectangle(new XSolidBrush(widget.BackColor), rect); + if (!widget.BorderColor.IsEmpty && widget.Border.Width > 0) + { + gfx.DrawRectangle(new XPen(widget.BorderColor, widget.Border.Width), rect); + rect.Inflate(-widget.Border.Width, -widget.Border.Width); + } + + // render a horizontal line where a (handwritten) signature may be placed on + var linePen = new XPen(XColors.Black, 1.0); + gfx.DrawLine(linePen, rect.Left + pad, rect.Bottom - pad, rect.Right - pad, rect.Bottom - pad); + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfTextFieldRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfTextFieldRenderer.cs new file mode 100644 index 00000000..a1bdf0a7 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/Rendering/PdfTextFieldRenderer.cs @@ -0,0 +1,75 @@ +using PdfSharp.Drawing; +using PdfSharp.Drawing.Layout; +using PdfSharp.Pdf.Annotations; + +namespace PdfSharp.Pdf.AcroForms.Rendering +{ + /// + /// Renders a + /// + /// + /// Inheritors should override the method + /// + public class PdfTextFieldRenderer + { + /// + /// Renders the + /// + /// The field being rendered + /// The of the field that is being rendered + /// The used to perform drawing operations + /// The spcifying the position and dimensions of the field + public virtual void Render(PdfTextField field, PdfWidgetAnnotation widget, XGraphics gfx, XRect rect) + { + var text = field.Text; + if (string.IsNullOrWhiteSpace(text) || field.Font == null) + return; + + if (field.MaxLength > 0) + text = text.Substring(0, Math.Min(text.Length, field.MaxLength)); + + var format = field.TextAlign == PdfAcroFieldTextAlignment.Left + ? XStringFormats.CenterLeft + : field.TextAlign == PdfAcroFieldTextAlignment.Center + ? XStringFormats.Center + : XStringFormats.CenterRight; + + if (field.MultiLine) + format.LineAlignment = XLineAlignment.Near; + if (!widget.BackColor.IsEmpty) + gfx.DrawRectangle(new XSolidBrush(widget.BackColor), rect); + if (!widget.BorderColor.IsEmpty && widget.Border.Width > 0) + { + gfx.DrawRectangle(new XPen(widget.BorderColor, widget.Border.Width), rect); + rect.Inflate(-widget.Border.Width, -widget.Border.Width); + } + + var renderFont = field.Font; + if (field.AutomaticFontSize) + renderFont = XFont.FromExisting(renderFont, field.DetermineFontSize(widget)); + + if (field.Combined && field.MaxLength > 0) + { + var combWidth = rect.Width / field.MaxLength; + var cBrush = new XSolidBrush(field.ForeColor); + var count = Math.Min(text.Length, field.MaxLength); + for (var ci = 0; ci < count; ci++) + { + var cRect = new XRect(ci * combWidth, 0, combWidth, rect.Height); + gfx.DrawString(text[ci].ToString(), renderFont, cBrush, cRect, XStringFormats.Center); + } + } + else + { + // for Multiline fields, we use XTextFormatter to handle line-breaks and a fixed TextFormat (only TopLeft is supported) + if (field.MultiLine) + { + var tf = new XTextFormatter(gfx); + tf.DrawString(text, renderFont, new XSolidBrush(field.ForeColor), rect, XStringFormats.TopLeft); + } + else + gfx.DrawString(text, renderFont, new XSolidBrush(field.ForeColor), rect, format); + } + } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/enums/PdfAcroFieldTextAlignment.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/enums/PdfAcroFieldTextAlignment.cs new file mode 100644 index 00000000..2b8fe0ca --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/enums/PdfAcroFieldTextAlignment.cs @@ -0,0 +1,21 @@ +namespace PdfSharp.Pdf.AcroForms +{ + /// + /// Specifies the horizontal Text-Alignment for a + /// + public enum PdfAcroFieldTextAlignment + { + /// + /// Text is left-aligned + /// + Left, + /// + /// Text is centered inside the Field + /// + Center, + /// + /// Text is right-aligned + /// + Right + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfCatalog.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfCatalog.cs index 7231ef8e..6d772e3f 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfCatalog.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfCatalog.cs @@ -184,14 +184,30 @@ public PdfNamedDestinations Destinations /// /// Gets the AcroForm dictionary of this document. /// - public PdfAcroForm AcroForm + public PdfAcroForm? AcroForm { get { if (_acroForm == null) - _acroForm = (PdfAcroForm?)Elements.GetValue(Keys.AcroForm) ?? NRT.ThrowOnNull(); + _acroForm = (PdfAcroForm?)Elements.GetValue(Keys.AcroForm); return _acroForm; } + internal set + { + if (value != null) + { + if (!value.IsIndirect) + throw new InvalidOperationException("Setting the AcroForm requires an indirect object"); + Elements.SetReference(Keys.AcroForm, value); + } + else + { + if (AcroForm != null && AcroForm.Reference != null) + _document.IrefTable.Remove(AcroForm.Reference); + Elements.Remove(Keys.AcroForm); + _acroForm = null; + } + } } PdfAcroForm? _acroForm; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFont.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFont.cs index c3cceb6a..a9ef5bbd 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFont.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFont.cs @@ -18,6 +18,15 @@ protected PdfFont(PdfDocument document) : base(document) { } + internal PdfFont(PdfDictionary dict, PdfFontDescriptor fontDescriptor, PdfFontEncoding encoding) + :base(dict) + { + FontDescriptor = fontDescriptor; + FontEncoding = encoding; + _cmapInfo = new CMapInfo(fontDescriptor.Descriptor); + _toUnicodeMap = new PdfToUnicodeMap(Owner); + } + internal PdfFontDescriptor FontDescriptor { get diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFontTable.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFontTable.cs index 791d35dc..baf947a8 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFontTable.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFontTable.cs @@ -2,6 +2,11 @@ // See the LICENSE file in the solution root for more information. using PdfSharp.Drawing; +using PdfSharp.Fonts; +using PdfSharp.Fonts.OpenType; +using PdfSharp.Fonts.StandardFonts; +using PdfSharp.Internal; +using System.Diagnostics.CodeAnalysis; namespace PdfSharp.Pdf.Advanced { @@ -30,7 +35,8 @@ sealed class PdfFontTable : PdfResourceTable ///
    public PdfFontTable(PdfDocument document) : base(document) - { } + { + } /// /// Gets a PdfFont from an XFont. If no PdfFont already exists, a new one is created. @@ -46,13 +52,33 @@ public PdfFont GetOrCreateFont(XGlyphTypeface glyphTypeface, FontType fontType) else if (fontType == FontType.TrueTypeWinAnsi) pdfFont = new PdfTrueTypeFont(Owner, glyphTypeface); else - throw new InvalidOperationException($"Invalid font type '{fontType.ToString()}'."); + throw new InvalidOperationException($"Invalid font type '{fontType}'."); Debug.Assert(pdfFont.Owner == Owner); _fonts[selector] = pdfFont; } return pdfFont; } + /// + /// Caches a font from an existing document.

    + /// Used to prevent adding new fonts when filling existing AcroForms. + ///
    + /// + /// + /// + internal void CacheExistingFont(PdfDictionary fontDict, XGlyphTypeface glyphTypeface, FontType fontType) + { + var selector = ComputePdfFontKey(glyphTypeface, fontType); + if (!_fonts.ContainsKey(selector)) + { + var otDescriptor = (OpenTypeDescriptor)FontDescriptorCache.GetOrCreateDescriptorFor(glyphTypeface); + var descriptor = Owner.PdfFontDescriptorCache.GetOrCreatePdfDescriptorFor(otDescriptor, glyphTypeface.GetBaseName()); + + var font = new PdfFont(fontDict, descriptor, PdfFontEncoding.Automatic); + _fonts[selector] = font; + } + } + #if true /// /// Gets a PdfFont from a font program. If no PdfFont already exists, a new one is created. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFormXObject.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFormXObject.cs index 98f89b6c..de2bb33f 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFormXObject.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFormXObject.cs @@ -35,6 +35,14 @@ internal PdfFormXObject(PdfDocument thisDocument, XForm form) //{ } } + internal PdfFormXObject(PdfDictionary dict) + : base(dict.Owner) + { + if (dict.Elements.GetName(Keys.Subtype) != "/Form") + throw new ArgumentException("Dictionary does not specify the required Subtype", nameof(dict)); + } + + internal double DpiX { get; set; } = 72; internal double DpiY { get; set; } = 72; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfType0Font.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfType0Font.cs index 1332cf79..30a39007 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfType0Font.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfType0Font.cs @@ -27,6 +27,8 @@ public PdfType0Font(PdfDocument document, XGlyphTypeface glyphTypeface, bool ver var otDescriptor = (OpenTypeDescriptor)FontDescriptorCache.GetOrCreateDescriptorFor(glyphTypeface); FontDescriptor = document.PdfFontDescriptorCache.GetOrCreatePdfDescriptorFor(otDescriptor, glyphTypeface.GetBaseName()); + // TODO: even if we specify "Full" FontEmbedding in the XFont, the generated ToUnicodeMap + // and /W Array will only contain the "used" characters (specified in the cmapInfo) //FontOptions = font.PdfOptions; //Debug.Assert(FontOptions != null); diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotation.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotation.cs index db6efe7c..4350028b 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotation.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotation.cs @@ -3,6 +3,7 @@ using PdfSharp.Drawing; using PdfSharp.Pdf.Advanced; +using PdfSharp.Pdf.Annotations.enums; namespace PdfSharp.Pdf.Annotations { @@ -52,6 +53,11 @@ public void Delete() Parent.Remove(this); } + /// + /// Gets or sets the border-properties of this Annotation + /// + public PdfAnnotationBorder Border { get; set; } = new PdfAnnotationBorder(); + /// /// Gets or sets the annotation flags of this instance. /// @@ -76,6 +82,40 @@ public PdfAnnotations Parent PdfAnnotations? _parent; + /// + /// Gets or sets the page for this Annotation + /// + public PdfPage? Page + { + get + { + var pageRef = Elements.GetReference(Keys.Page); + if (pageRef == null) + { + var page = TryFindPage(); + if (page != null) + { + Elements.SetReference(Keys.Page, page); + pageRef = page.Reference; + } + } + return pageRef != null && pageRef.Value is PdfDictionary + ? Owner.Pages.FindPage(pageRef.ObjectID) + : null; + } + set + { + if (value is null) + throw new ArgumentNullException(nameof(value)); + + var curPage = Page; + curPage?.Annotations.Remove(this); + Elements.SetReference(Keys.Page, value); + if (Reference != null && !value.Annotations.Elements.Contains(Reference)) + value.Annotations.Add(this); + } + } + /// /// Gets or sets the annotation rectangle, defining the location of the annotation /// on the page in default user space units. @@ -191,6 +231,136 @@ public double Opacity } } + /// + /// Convenience-method that serves 2 purposes:

    + /// 1: It allows setting the and the with one call

    + /// 2: It eases placing the annotation on the page by using the top-left of the page as the origin

    + /// (as opposed to the bottom-left, which would be the case when using directly) + ///
    + /// The the annotation should be placed on + /// The rectangle of the Annotation. The position should be relative to the top-left of the page + public void AddToPage(PdfPage page, PdfRectangle rectangle) + { + Page = page ?? throw new ArgumentNullException(nameof(page)); + if (rectangle == null) + throw new ArgumentNullException(nameof(rectangle)); + + var location = new XPoint(rectangle.X1, page.Height.Point - rectangle.Y2); + Rectangle = new PdfRectangle(location, rectangle.Size); + } + + private PdfPage? TryFindPage() + { + if (_document != null) + { + for (var i = 0; i < _document.PageCount; i++) + { + var page = _document.Pages[i]; + if (page.Annotations != null && page.Annotations.Count > 0) + { + for (var a = 0; a < page.Annotations.Count; a++) + { + var annot = page.Annotations[a]; + if (annot.Reference == Reference) + return page; + } + } + } + } + return null; + } + + /// + /// Determines the border-characteristics of this annotation

    + /// PdfReference 1.7, Chapter 12.5.2 and 12.5.4 + ///
    + protected void DetermineBorder() + { + var bs = Elements.GetDictionary(Keys.BS); + if (bs != null) + { + if (bs.Elements.ContainsKey("/W")) + Border.Width = Math.Max(0.0, bs.Elements.GetReal("/W")); + if (bs.Elements.ContainsKey("/S")) + { + var styleName = bs.Elements.GetName("/S"); + Border.BorderStyle = styleName switch + { + "/S" => PdfAnnotationBorderStyle.Solid, + "/D" => PdfAnnotationBorderStyle.Dashed, + "/B" => PdfAnnotationBorderStyle.Beveled, + "/I" => PdfAnnotationBorderStyle.Inset, + "/U" => PdfAnnotationBorderStyle.Underline, + _ => PdfAnnotationBorderStyle.None + }; + } + if (bs.Elements.ContainsKey("/D")) + { + var patternArray = bs.Elements.GetArray("/D"); + if (patternArray?.Elements.Count > 0) + { + var numbers = new List(patternArray.Elements.Count); + foreach (var item in patternArray) + { + if (item is PdfInteger intItem) + numbers.Add(intItem.Value); + } + Border.DashPattern = numbers.ToArray(); + } + } + return; // BS takes precedence over Border + } + if (Elements.ContainsKey(Keys.Border)) + { + var borderArray = Elements.GetArray(Keys.Border); + var hRadius = 0.0; + var vRadius = 0.0; + var width = 0.0; + int[]? dashPattern = null; + for (var i = 0; i < borderArray?.Elements.Count; i++) + { + var val = borderArray.Elements[i]; + if (i == 0) + { + if (val is PdfInteger hItem) + hRadius += hItem.Value; + else if (val is PdfReal hRealItem) + hRadius += hRealItem.Value; + } + if (i == 1) + { + if (val is PdfInteger vItem) + vRadius = vItem.Value; + else if (val is PdfReal vRealItem) + vRadius += vRealItem.Value; + } + if (i == 2) + { + if (val is PdfInteger widthItem) + width = widthItem.Value; + else if (val is PdfReal widthRealItem) + width = widthRealItem.Value; + } + if (i == 3 && val is PdfArray arrayItem) + { + var dash = new List(); + foreach (var item in arrayItem) + { + if (item is PdfInteger intItem) + dash.Add(intItem.Value); + } + if (dash.Count > 0) + dashPattern = dash.ToArray(); + } + } + Border.Width = width; + Border.HorizontalRadius = hRadius; + Border.VerticalRadius = vRadius; + if (dashPattern != null) + Border.DashPattern = dashPattern; + } + } + /// /// Predefined keys of this dictionary. /// @@ -228,7 +398,14 @@ public class Keys : KeysBase [KeyInfo(KeyType.TextString | KeyType.Optional)] public const string Contents = "/Contents"; - // P + /// + /// (Optional except as noted below; PDF 1.3; not used in FDF files) + /// An indirect reference to the page object with which this annotation is associated. + /// This entry shall be present in screen annotations associated with rendition actions + /// (PDF 1.5; see 12.5.6.18, 'Screen Annotations' and 12.6.4.13, 'Rendition Actions') + /// + [KeyInfo(KeyType = KeyType.Optional)] + public const string Page = "/P"; /// /// (Optional; PDF 1.4) The annotation name, a text string uniquely identifying it diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotationBorder.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotationBorder.cs new file mode 100644 index 00000000..541bc7a7 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotationBorder.cs @@ -0,0 +1,35 @@ +using PdfSharp.Pdf.Annotations.enums; + +namespace PdfSharp.Pdf.Annotations +{ + /// + /// Specifies the characteristics of an 's border + /// + public class PdfAnnotationBorder + { + /// + /// The width of the border in points + /// + public double Width { get; set; } = 1; + + /// + /// Horizontal radius of the border + /// + public double HorizontalRadius { get; set; } = 0; + + /// + /// Vertical radius of the border + /// + public double VerticalRadius { get; set; } = 0; + + /// + /// The border-style + /// + public PdfAnnotationBorderStyle BorderStyle { get; set; } = PdfAnnotationBorderStyle.Solid; + + /// + /// A dash array defining a pattern of dashes and gaps that shall be used in drawing a dashed border + /// + public int[]? DashPattern { get; set; } + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotations.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotations.cs index 45f1d8dc..e72ba299 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotations.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfAnnotations.cs @@ -25,9 +25,10 @@ internal PdfAnnotations(PdfArray array) /// The annotation. public void Add(PdfAnnotation annotation) { - annotation.Document = Owner; - Owner.IrefTable.Add(annotation); + if (annotation.ObjectID.IsEmpty || !Owner.IrefTable.Contains(annotation.ObjectID)) + Owner.IrefTable.Add(annotation); Elements.Add(annotation.ReferenceNotNull); + annotation.Parent = this; } /// diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfWidgetAnnotation.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfWidgetAnnotation.cs index 24d26f45..1f609e7b 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfWidgetAnnotation.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/PdfWidgetAnnotation.cs @@ -1,29 +1,386 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; +using PdfSharp.Pdf.AcroForms; +using PdfSharp.Pdf.Advanced; +using PdfSharp.Pdf.Annotations.enums; + namespace PdfSharp.Pdf.Annotations { /// /// Represents a text annotation. /// - sealed class PdfWidgetAnnotation : PdfAnnotation + public sealed class PdfWidgetAnnotation : PdfAnnotation { + /// + /// Creates a new that is not tied to a + /// public PdfWidgetAnnotation() { Initialize(); } + /// + /// Creates a new that is tied to the specified . + /// + /// public PdfWidgetAnnotation(PdfDocument document) : base(document) { Initialize(); } + /// + /// Initializes a new instance of the with the specified dictionary. + /// + /// + public PdfWidgetAnnotation(PdfDictionary dict) + : base(dict) + { + if (dict.Elements.GetString(PdfAnnotation.Keys.Subtype) != "/Widget") + throw new PdfSharpException("PdfWidgetAnnotation not initialized with the /Widget Subtype"); + DetermineAppearance(); + } + void Initialize() { Elements.SetName(Keys.Subtype, "/Widget"); } + /// + /// Gets or sets the background color of the field. + /// + public XColor BackColor + { + get { return backColor; } + set + { + backColor = value; + if (BackColor.IsEmpty) + return; + + if (!Elements.ContainsKey(Keys.MK)) + Elements.Add(Keys.MK, new PdfDictionary()); + var colArray = new PdfArray(); + colArray.Elements.Add(new PdfReal(value.R / 255.0)); + colArray.Elements.Add(new PdfReal(value.G / 255.0)); + colArray.Elements.Add(new PdfReal(value.B / 255.0)); + var mk = Elements.GetDictionary(Keys.MK)!; + mk.Elements["/BG"] = colArray; + } + } + XColor backColor = XColor.Empty; + + /// + /// Gets or sets the border color of the field. + /// + public XColor BorderColor + { + get { return borderColor; } + set + { + borderColor = value; + if (borderColor.IsEmpty) + return; + + if (!Elements.ContainsKey(Keys.MK)) + Elements.Add(Keys.MK, new PdfDictionary()); + var colArray = new PdfArray(); + colArray.Elements.Add(new PdfReal(value.R / 255.0)); + colArray.Elements.Add(new PdfReal(value.G / 255.0)); + colArray.Elements.Add(new PdfReal(value.B / 255.0)); + var mk = Elements.GetDictionary(Keys.MK)!; + mk.Elements["/BC"] = colArray; + } + } + XColor borderColor = XColor.Empty; + + /// + /// Gets or sets the Rotation of this Widget in counter-clockwise direction. + /// + public int Rotation + { + get + { + var mk = Elements.GetDictionary(Keys.MK); + if (mk != null && mk.Elements.ContainsKey("/R")) + return mk.Elements.GetInteger("/R"); + return 0; + } + set + { + if (!Elements.ContainsKey(Keys.MK)) + Elements.Add(Keys.MK, new PdfDictionary()); + var mk = Elements.GetDictionary(Keys.MK)!; + mk.Elements.SetInteger("/R", value); + } + } + + /// + /// Gets or sets the placement of the widget's caption relative to it's icon

    + /// Only applies to s + ///
    + public PdfButtonCaptionPosition CaptionPlacement + { + get + { + var mk = Elements.GetDictionary(Keys.MK); + if (mk != null && mk.Elements.ContainsKey("/TP")) + return (PdfButtonCaptionPosition)mk.Elements.GetInteger("/TP"); + return PdfButtonCaptionPosition.CaptionOnly; + } + set + { + if (!Elements.ContainsKey(Keys.MK)) + Elements.Add(Keys.MK, new PdfDictionary()); + var mk = Elements.GetDictionary(Keys.MK)!; + mk.Elements.SetInteger("/TP", (int)value); + } + } + + /// + /// Gets or sets the annotation's highlighting mode, the visual effect to be used when + /// the mouse button is pressed or held down inside its active area + /// + public PdfAnnotationHighlightingMode Highlighting + { + get + { + var mode = Elements.GetName(Keys.H); + return mode switch + { + "/N" => PdfAnnotationHighlightingMode.None, + "/I" => PdfAnnotationHighlightingMode.Invert, + "/O" => PdfAnnotationHighlightingMode.Outline, + "/P" => PdfAnnotationHighlightingMode.Push, + "/T" => PdfAnnotationHighlightingMode.Toggle, + _ => PdfAnnotationHighlightingMode.Invert + }; + } + set + { + switch (value) + { + case PdfAnnotationHighlightingMode.None: + Elements.SetName(Keys.H, "/N"); + break; + case PdfAnnotationHighlightingMode.Invert: + Elements.SetName(Keys.H, "/I"); + break; + case PdfAnnotationHighlightingMode.Outline: + Elements.SetName(Keys.H, "/O"); + break; + case PdfAnnotationHighlightingMode.Push: + Elements.SetName(Keys.H, "/P"); + break; + case PdfAnnotationHighlightingMode.Toggle: + Elements.SetName(Keys.H, "/T"); + break; + } + } + } + + /// + /// Gets or sets the normal Caption of this Annotation.

    + /// Only applies to button-fields, e.g. , and + ///
    + /// see PdfReference 1.7, Chapter 12.5.6.19: Widget Annotations + public string? NormalCaption + { + get { return GetMkString("/CA"); } + set { SetMkString("/CA", value); } + } + + /// + /// Gets or sets the rollover Caption of this Annotation which shall be displayed + /// when the user rolls the cursor into its active area without pressing the mouse button.

    + /// Only applies to s + ///
    + public string? RolloverCaption + { + get { return GetMkString("/RC"); } + set { SetMkString("/RC", value); } + } + + /// + /// Gets or sets the down Caption of this Annotation which shall be displayed + /// when the mouse button is pressed within its active area.

    + /// Only applies to s + ///
    + public string? DownCaption + { + get { return GetMkString("/AC"); } + set { SetMkString("/AC", value); } + } + + /// + /// The widget annotation's normal icon, which shall be displayed when it is not interacting with the user.

    + /// Only applies to s + ///
    + public PdfFormXObject? NormalIcon + { + get { return GetMkForm("/I"); } + set { SetMkForm("/I", value); } + } + + /// + /// The widget annotation's rollover icon, which shall be displayed + /// when the user rolls the cursor into its active area without pressing the mouse button.

    + /// Only applies to s + ///
    + public PdfFormXObject? RolloverIcon + { + get { return GetMkForm("/RI"); } + set { SetMkForm("/RI", value); } + } + + /// + /// The widget annotation's alternate (down) icon, which shall be displayed + /// when the mouse button is pressed within its active area.

    + /// Only applies to s + ///
    + public PdfFormXObject? DownIcon + { + get { return GetMkForm("/IX"); } + set { SetMkForm("/IX", value); } + } + + + /// + /// Get the parent-field of this Widget, if it is the child of a . + /// + public PdfObject ParentField + { + get + { + return Elements.GetObject(Keys.Parent) ?? new PdfNullObject(); + } + internal set { Elements.SetReference(Keys.Parent, value); } + } + + internal override void PrepareForSave() + { + base.PrepareForSave(); + if (Border.Width > 0 && Border.BorderStyle != PdfAnnotationBorderStyle.None && !BorderColor.IsEmpty) + { + // the /BS dictionary does not support border radii, use /Border for these cases + if (Border.HorizontalRadius > 0 || Border.VerticalRadius > 0) + { + var borderArray = new PdfArray(Owner); + borderArray.Elements.Add(new PdfReal(Border.HorizontalRadius)); + borderArray.Elements.Add(new PdfReal(Border.VerticalRadius)); + borderArray.Elements.Add(new PdfReal(Border.Width)); + if (Border.DashPattern?.Length > 0) + { + var dashArray = new PdfArray(Owner); + foreach (var a in Border.DashPattern) + dashArray.Elements.Add(new PdfInteger(a)); + borderArray.Elements.Add(dashArray); + } + Elements[Keys.Border] = borderArray; + Elements.Remove(Keys.BS); + } + else + { + var bs = new PdfDictionary(Owner); + bs.Elements.Add("/W", new PdfReal(Border.Width)); + bs.Elements.Add("/S", new PdfName(Border.BorderStyle switch + { + PdfAnnotationBorderStyle.Solid => "/S", + PdfAnnotationBorderStyle.Dashed => "/D", + PdfAnnotationBorderStyle.Beveled => "/B", + PdfAnnotationBorderStyle.Inset => "/I", + _ => "/U" + })); + if (Border.DashPattern?.Length > 0) + { + var dashArray = new PdfArray(Owner); + foreach (var a in Border.DashPattern) + dashArray.Elements.Add(new PdfInteger(a)); + bs.Elements.Add("/D", dashArray); + } + Elements[Keys.BS] = bs; + Elements.Remove(Keys.Border); + } + } + } + + private string? GetMkString(string key) + { + var mk = Elements.GetDictionary(Keys.MK); + if (mk != null && mk.Elements.ContainsKey(key)) + return mk.Elements.GetString(key); + return null; + } + + private void SetMkString(string key, string? value) + { + if (!Elements.ContainsKey(Keys.MK) && value == null) + return; + if (!Elements.ContainsKey(Keys.MK)) + Elements.Add(Keys.MK, new PdfDictionary()); + var mk = Elements.GetDictionary(Keys.MK)!; + if (value != null) + mk.Elements.SetString(key, value); + else + mk.Elements.Remove(key); + } + + private PdfFormXObject? GetMkForm(string key) + { + var mk = Elements.GetDictionary(Keys.MK); + if (mk != null) + { + var dict = mk.Elements.GetDictionary(key); + if (dict != null) + return new PdfFormXObject(dict); + } + return null; + } + + private void SetMkForm(string key, PdfFormXObject? value) + { + if (!Elements.ContainsKey(Keys.MK) && value == null) + return; + if (!Elements.ContainsKey(Keys.MK)) + Elements.Add(Keys.MK, new PdfDictionary()); + var mk = Elements.GetDictionary(Keys.MK)!; + if (value != null) + mk.Elements.SetReference(key, value); + else + mk.Elements.Remove(key); + } + + private void DetermineAppearance() + { + DetermineBorder(); + + var mk = Elements.GetDictionary(Keys.MK); // 12.5.6.19 + if (mk != null) + { + var bc = mk.Elements.GetArray("/BC"); + if (bc == null || bc.Elements.Count == 0) + borderColor = XColor.Empty; + else if (bc.Elements.Count == 1) + borderColor = XColor.FromGrayScale(bc.Elements.GetReal(0)); + else if (bc.Elements.Count == 3) + borderColor = XColor.FromArgb((int)Math.Round(bc.Elements.GetReal(0) * 255.0), (int)Math.Round(bc.Elements.GetReal(1) * 255.0), (int)Math.Round(bc.Elements.GetReal(2) * 255.0)); + else if (bc.Elements.Count == 4) + borderColor = XColor.FromCmyk(bc.Elements.GetReal(0), bc.Elements.GetReal(1), bc.Elements.GetReal(2), bc.Elements.GetReal(3)); + + var bg = mk.Elements.GetArray("/BG"); + if (bg == null || bg.Elements.Count == 0) + backColor = XColor.Empty; + else if (bg.Elements.Count == 1) + backColor = XColor.FromGrayScale(bg.Elements.GetReal(0)); + else if (bg.Elements.Count == 3) + backColor = XColor.FromArgb((int)Math.Round(bg.Elements.GetReal(0) * 255.0), (int)Math.Round(bg.Elements.GetReal(1) * 255.0), (int)Math.Round(bg.Elements.GetReal(2) * 255.0)); + else if (bg.Elements.Count == 4) + backColor = XColor.FromCmyk(bg.Elements.GetReal(0), bg.Elements.GetReal(1), bg.Elements.GetReal(2), bg.Elements.GetReal(3)); + } + } + /// /// Predefined keys of this dictionary. /// @@ -31,15 +388,15 @@ void Initialize() { /// /// (Optional) The annotation’s highlighting mode, the visual effect to be used when - /// the mouse button is pressed or held down inside its active area: - /// N (None) No highlighting. - /// I (Invert) Invert the contents of the annotation rectangle. - /// O (Outline) Invert the annotation’s border. + /// the mouse button is pressed or held down inside its active area:

    + /// N (None) No highlighting.

    + /// I (Invert) Invert the contents of the annotation rectangle.

    + /// O (Outline) Invert the annotation’s border.

    /// P (Push) Display the annotation’s down appearance, if any. If no down appearance is defined, /// offset the contents of the annotation rectangle to appear as if it were being pushed below - /// the surface of the page. - /// T (Toggle) Same as P (which is preferred). - /// A highlighting mode other than P overrides any down appearance defined for the annotation. + /// the surface of the page.

    + /// T (Toggle) Same as P (which is preferred).

    + /// A highlighting mode other than P overrides any down appearance defined for the annotation.

    /// Default value: I. ///
    [KeyInfo(KeyType.Name | KeyType.Optional)] @@ -47,12 +404,20 @@ void Initialize() /// /// (Optional) An appearance characteristics dictionary to be used in constructing a dynamic - /// appearance stream specifying the annotation’s visual presentation on the page. + /// appearance stream specifying the annotation’s visual presentation on the page.

    /// The name MK for this entry is of historical significance only and has no direct meaning. ///
    [KeyInfo(KeyType.Dictionary | KeyType.Optional)] public const string MK = "/MK"; + /// + /// (Required if this widget annotation is one of multiple children in a field; absent otherwise) + /// An indirect reference to the widget annotation's parent field.

    + /// A widget annotation may have at most one parent; that is, it can be included in the Kids array of at most one field + ///
    + [KeyInfo(KeyType.Optional)] + public const string Parent = "/Parent"; + public static DictionaryMeta Meta => _meta ??= CreateMeta(typeof(Keys)); static DictionaryMeta? _meta; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfAnnotationBorderStyle.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfAnnotationBorderStyle.cs new file mode 100644 index 00000000..a568e76d --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfAnnotationBorderStyle.cs @@ -0,0 +1,34 @@ +namespace PdfSharp.Pdf.Annotations.enums +{ + /// + /// Specifies the border-style for a + /// + public enum PdfAnnotationBorderStyle + { + /// + /// No border + /// + None, + /// + /// A solid rectangle surrounding the annotation. + /// + Solid, + /// + /// A dashed rectangle surrounding the annotation. + /// The dash pattern may be specified by the D entry of the border-style dictionary. + /// + Dashed, + /// + /// A simulated embossed rectangle that appears to be raised above the surface of the page. + /// + Beveled, + /// + /// A simulated engraved rectangle that appears to be recessed below the surface of the page. + /// + Inset, + /// + /// A single line along the bottom of the annotation rectangle. + /// + Underline + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfAnnotationHighlightingMode.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfAnnotationHighlightingMode.cs new file mode 100644 index 00000000..48f9e67d --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfAnnotationHighlightingMode.cs @@ -0,0 +1,30 @@ +namespace PdfSharp.Pdf.Annotations.enums +{ + /// + /// The annotation's highlighting mode, the visual effect to be used when + /// the mouse button is pressed or held down inside its active area + /// + public enum PdfAnnotationHighlightingMode + { + /// + /// No highlighting + /// + None, + /// + /// Invert the contents of the annotation rectangle + /// + Invert, + /// + /// Invert the annotation's border + /// + Outline, + /// + /// Display the annotation's down appearance, if any + /// + Push, + /// + /// Same as (which is preferred) + /// + Toggle + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfButtonCaptionPosition.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfButtonCaptionPosition.cs new file mode 100644 index 00000000..5ac0e645 --- /dev/null +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfButtonCaptionPosition.cs @@ -0,0 +1,38 @@ +namespace PdfSharp.Pdf.Annotations.enums +{ + /// + /// s only:

    + /// Specifies where to position the text of the widget annotation's caption relative to its icon + ///
    + public enum PdfButtonCaptionPosition + { + /// + /// No icon, only caption + /// + CaptionOnly = 0, + /// + /// No caption, icon only + /// + IconOnly, + /// + /// Caption is placed below the icon + /// + BelowIcon, + /// + /// Caption is placed above the icon + /// + AboveIcon, + /// + /// Caption is placed right of the icon + /// + RightOfIcon, + /// + /// Caption is placed left of the icon + /// + LeftOfIcon, + /// + /// Caption is overlaid directly on the icon + /// + Overlaid + } +} diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/DigitalSignatureOptions.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/DigitalSignatureOptions.cs index c51bc051..82adadce 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/DigitalSignatureOptions.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/DigitalSignatureOptions.cs @@ -12,7 +12,8 @@ namespace PdfSharp.Pdf.Signatures public class DigitalSignatureOptions() { /// - /// Gets or sets the appearance handler that draws the visual representation of the signature in the PDF. + /// Gets or sets the appearance handler that draws the visual representation of the signature in the PDF.

    + /// This overrides the in ///
    public IAnnotationAppearanceHandler? AppearanceHandler { get; init; } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/PdfSignatureHandler.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/PdfSignatureHandler.cs index 64c6497f..897d3cfb 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/PdfSignatureHandler.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Signatures/PdfSignatureHandler.cs @@ -149,64 +149,37 @@ internal async Task AddSignatureComponentsAsync() _signatureFieldByteRangePdfArray = new PdfArrayWithPadding(Document, ByteRangePaddingLength, new PdfLongInteger(0), new PdfLongInteger(0), new PdfLongInteger(0), new PdfLongInteger(0)); var signatureDictionary = GetSignatureDictionary(_placeholderItem, _signatureFieldByteRangePdfArray); - var signatureField = GetSignatureField(signatureDictionary); - - var annotations = Document.Pages[Options.PageIndex].Elements.GetArray(PdfPage.Keys.Annots); - if (annotations == null) - Document.Pages[Options.PageIndex].Elements.Add(PdfPage.Keys.Annots, new PdfArray(Document, signatureField)); - else - annotations.Elements.Add(signatureField); // acroform - var catalog = Document.Catalog; - - if (catalog.Elements.GetObject(PdfCatalog.Keys.AcroForm) == null) - catalog.Elements.Add(PdfCatalog.Keys.AcroForm, new PdfAcroForm(Document)); - - if (!catalog.AcroForm.Elements.ContainsKey(PdfAcroForm.Keys.SigFlags)) - catalog.AcroForm.Elements.Add(PdfAcroForm.Keys.SigFlags, new PdfInteger(3)); + var acroForm = Document.GetOrCreateAcroForm(); + if (!acroForm.Elements.ContainsKey(PdfAcroForm.Keys.SigFlags)) + acroForm.Elements.Add(PdfAcroForm.Keys.SigFlags, new PdfInteger(3)); else { - var sigFlagVersion = catalog.AcroForm.Elements.GetInteger(PdfAcroForm.Keys.SigFlags); + var sigFlagVersion = acroForm.Elements.GetInteger(PdfAcroForm.Keys.SigFlags); if (sigFlagVersion < 3) - catalog.AcroForm.Elements.SetInteger(PdfAcroForm.Keys.SigFlags, 3); + acroForm.Elements.SetInteger(PdfAcroForm.Keys.SigFlags, 3); } - if (catalog.AcroForm.Elements.GetValue(PdfAcroForm.Keys.Fields) == null) - catalog.AcroForm.Elements.SetValue(PdfAcroForm.Keys.Fields, new PdfAcroField.PdfAcroFieldCollection(new PdfArray())); - catalog.AcroForm.Fields.Elements.Add(signatureField); - } - - PdfSignatureField GetSignatureField(PdfSignature2 signatureDic) - { - var signatureField = new PdfSignatureField(Document); - - signatureField.Elements.Add(PdfAcroField.Keys.V, signatureDic); - - // Annotation keys. - signatureField.Elements.Add(PdfAcroField.Keys.FT, new PdfName("/Sig")); - signatureField.Elements.Add(PdfAcroField.Keys.T, new PdfString("Signature1")); // TODO_OLD If already exists, will it cause error? implement a name chooser if yes. - signatureField.Elements.Add(PdfAcroField.Keys.Ff, new PdfInteger(132)); - signatureField.Elements.Add(PdfAcroField.Keys.DR, new PdfDictionary()); - signatureField.Elements.Add(PdfSignatureField.Keys.Type, new PdfName("/Annot")); - signatureField.Elements.Add("/Subtype", new PdfName("/Widget")); - signatureField.Elements.Add("/P", Document.Pages[Options.PageIndex]); - - signatureField.Elements.Add("/Rect", new PdfRectangle(Options.Rectangle)); - - signatureField.CustomAppearanceHandler = Options.AppearanceHandler ?? new DefaultSignatureAppearanceHandler() + acroForm.AddSignatureField(signatureField => { - Location = Options.Location, - Reason = Options.Reason, - Signer = Signer.CertificateName - }; - // TODO_OLD Call RenderCustomAppearance(); here. - signatureField.PrepareForSave(); // TODO_OLD PdfSignatureField.PrepareForSave() is not triggered automatically so let's call it manually from here, but it would be better to be called automatically. - - Document.Internals.AddObject(signatureField); - - return signatureField; + // Note: number-suffix will be added/incremented if a field with the same name already exist + signatureField.Name = "Signature1"; + signatureField.SetFlags = (PdfAcroFieldFlags)132; // TODO: what is that ? + signatureField.Value = signatureDictionary; + signatureField.CustomAppearanceHandler = Options.AppearanceHandler ?? new DefaultSignatureAppearanceHandler() + { + Location = Options.Location, + Reason = Options.Reason, + Signer = Signer.CertificateName + }; + + signatureField.AddAnnotation(widget => + { + widget.AddToPage(Document.Pages[Options.PageIndex], new PdfRectangle(Options.Rectangle)); + }); + }); } PdfSignature2 GetSignatureDictionary(PdfSignaturePlaceholderItem contents, PdfArray byteRange) diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfArray.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfArray.cs index 273e9f2f..afc150a5 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfArray.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfArray.cs @@ -334,8 +334,8 @@ public string GetName(int index) } /// - /// Gets the PdfArray with the specified index, or null if no such object exists. If the index refers to - /// a reference, the referenced PdfArray is returned. + /// Gets the PdfDictionary with the specified index, or null if no such object exists. If the index refers to + /// a reference, the referenced PdfDictionary is returned. /// public PdfDictionary? GetDictionary(int index) => GetObject(index) as PdfDictionary; diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs index 68cd0250..3efebf37 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs @@ -484,6 +484,9 @@ internal override void PrepareForSave() } info.Elements.SetString(PdfDocumentInformation.Keys.Producer, producer); + // Prepare AcroForm. Must occur BEFORE preparing the Fonts ! + Catalog.AcroForm?.PrepareForSave(); + // Prepare used fonts. _fontTable?.PrepareForSave(); @@ -711,7 +714,52 @@ public PdfPageMode PageMode /// /// Get the AcroForm dictionary. /// - public PdfAcroForm AcroForm => Catalog.AcroForm; + public PdfAcroForm? AcroForm => Catalog.AcroForm; + + /// + /// Imports the fields from the specified into the current document.

    + /// If the current document does not contain an AcroForm, a new one is created automatically.

    + /// This method should be called after importing pages into the current document. + ///
    + /// The to import + /// A method that allows filtering the fields to import.

    + /// It receives the field to import from the remote AcroForm as a parameter.

    + /// When the method returns true, the field is imported, otherwise the field (and all childs of that field) is skipped + /// A method that allows modifying a field after it was imported.

    + /// It receives the original (remote) field and the imported (local) field as parameters. + /// + /// While importing, the new fields may be renamed, if a field with the same name is already present.

    + /// The new field receives a number-suffix in this case, starting at 2.

    + /// i.e. if the new field has the name myField and there is already a field myField present, + /// the new field is renamed to myField2.

    + /// If more fields with the same name are imported, the number-suffix will increase automatically.

    + /// This is useful when merging multiple versions of the same document. (e.g.with different field-values) + ///
    + public void ImportAcroForm(PdfAcroForm remoteForm, + Func? fieldFilter = null, + Action? fieldHandler = null) + { + var importer = new PdfAcroFormImporter(this); + importer.ImportAcroForm(remoteForm, fieldFilter, fieldHandler); + } + + /// + /// Gets the existing or creates a new one, if there is no in the current document + /// + /// The associated with this document + public PdfAcroForm GetOrCreateAcroForm() + { + var form = AcroForm; + if (form == null) + { + form = new PdfAcroForm(this); + IrefTable.Add(new PdfReference(form)); + if (form.Reference != null) + form.Reference.Document = this; + Catalog.AcroForm = form; + } + return form; + } /// /// Gets or sets the default language of the document. @@ -884,14 +932,12 @@ public void AddEmbeddedFile(string name, Stream stream) => Internals.Catalog.Names.AddEmbeddedFile(name, stream); /// - /// Flattens a document (make the fields non-editable). + /// Flattens the AcroField's widget annotations of this document.

    + /// Other annotations are unaffected. ///
    - public void Flatten() + public void FlattenAcroForm() { - for (int idx = 0; idx < AcroForm.Fields.Count; idx++) - { - AcroForm.Fields[idx].ReadOnly = true; - } + AcroForm?.Flatten(); } /// diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/PdfSharp.csproj b/src/foundation/src/PDFsharp/src/PdfSharp/PdfSharp.csproj index 6fb9e5af..9de9991c 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/PdfSharp.csproj +++ b/src/foundation/src/PDFsharp/src/PdfSharp/PdfSharp.csproj @@ -67,4 +67,19 @@ + + + True + True + FontResources.resx + + + + + + ResXFileCodeGenerator + FontResources.Designer.cs + + + diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/D050000L.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/D050000L.ttf new file mode 100644 index 0000000000000000000000000000000000000000..64afd29e74eebefdf796eecc82a128d46eab81d6 GIT binary patch literal 37860 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 literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Bold.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..63b641cb2a31111f0207ed0629f3863111240be9 GIT binary patch literal 212616 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 Q2^an`=-=UnThAc+FL3UN8UO$Q literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-BoldItalic.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..77fc730dff7bb6236dcbc0da6aa359610cb04da3 GIT binary patch literal 215144 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%0D*}LK^kux9*2u`cok#pDT`~^5i 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 literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Italic.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..350a02aadd7dadb4bd8b3ef289de9188213e3deb GIT binary patch literal 205712 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 literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Regular.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusMonoPS-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a5c7ef636fedb9766685cf34e04fde3dc7495390 GIT binary patch literal 201348 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 HXgl!p*OOL88#`uN?dJSphc=B^ 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 Pv12ekZ2dJb$ou~R2JlXx literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusRoman-Bold.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusRoman-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e6f28674fe2473e1d67a78ada988a7a6ecd8ba0a GIT binary patch literal 200040 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�vjYLqXg2Yq^6sY%5rA^a0(6za(>+#L|OKh>l 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

    +pDVE!*c9MGS$eB&&)X-zD<=CaJX0HK+A5g}z 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

      |2%k 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 l2;YLeYjYcQRYpaviH^3`cSPgR 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 z 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 z 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 literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusRoman-Italic.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusRoman-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b31bf3c4f9204bb4cd75600ac41e04e0dbb3532d GIT binary patch literal 204136 zcmeFacYIsr^#}Ys_g)Rl*05wP+uF<8mSjmDvMui!?>LE*IEk~Tvj>nx2w6Y^VT4fv zfrhZ5i~^;UO=*FY0)-S@lF|YFm03zDv9I6r+$-5mAT;IuynnqFShhy2d(Lyl_nh;6 z9wUqplA~>iMl0L9gW-SfC_V%e!b^@c$|Fz9xqxrXU$3^g8xwV*YG%N;j&E&M%Q<# z5mGXUdi}jc^XJS{d}i?>>VuQ;dTbFqk&P90MEywzkL`<=uibb{-?r`WIDwFK*|Nd8 za|Ae)MAYYSjnb9N=WJY=xe-rC)F^qsdBvRN^Sj>@x5MLNgs3Ge2iL4U@Q8XnqVeqr z<^6Q!>iH`xugxt-w1LPYK{Or52ao`X1rb36q=I|$oqii_rzBVa?@8TmLDc;Uym2)B zcyiYiGs4Jxni2M}JvbsN!z{dZn7mG}6O@>($c!j>2X~_oy&K^HfuIDTw#CZ_)~)Fp zTs~)o*=%lFI|?^s8zujG;*Ev}59U><@g5M_gAx0#DD>cFc5i+7Jcq_gNk5YNm zOVrEM5WSbajJ}nAjeec}9W#rW%dBG#GCyK&WA0`iVt&Rv&Ah@KXHGC5Fds3W8h0B1 zVW!M#v(aodJI#gWh`H39Fjtss%`45D%v;U3o9{5+W4_-!WD!{87L`R~(OL2>MvK{E zwKy#WmY^kW>9<^OIc9mp^1S6m%Uf1trL7s(Osmu?x2mjatJa!pHCt^~ht+EhSfkds zwa(gT9k9-~F17BmUT^)e^=CH9rm$IT9tUzzjx2}5k>k)g@*Q@E&r#$^I958gIWBSR zc3kE-=(yE!kK-qfM;uQ$o^<@e@x0?D$FCj79VZ-raVDHeXSH*-bFOoNb7^7Tr+@!+ z^fUu{MX(CDfPTKAbkvKWpLgg>KtET|w}F1%Vh}UHtY!`{*D|*-cQN-dkAi-F4f=V9 z`6Kfo^NDer@e9z8%B+QjBKirNOUCrG7W8x58T!fomVW$}sAan4z?go11Nxz?f|P!; zIsNFZ22MXN&`(iHKeMg#tV^sHTd%PmN$JOIbDu*$9b@`A;JC$c7pI@cIsH86c+v4I z(9b)dpVBe?%y%v+%>DEipMG;1f#H3C&}h!+y3v^ku@4|L^3}*cN4|vbpN)Jx^8CoN zBM*<CvV_>*EJ`v{=+`_o%>H-!9Ct}@=|zo@yX36FFHB+hgk^y zq44CSlktp|+uxp=N}JYKIa-h3^f$_xtxwy!YgLPrUc|dyl>$ zR?SyUg--?t!};V2Ad za(DbQbKR(m;FUk3+t4LwC;9+gi~fWzMOUDG=tt;IbUXSp+KYaVcA$gk zFX*r6a&#Tqjh;h)Kp&!;(Ou{x^f&Z>=m@$Oy^LN$_n`qa7ac(J(67;a^h@+BbR4~c zUPZ5=zoP}{4fGrII=UY%L?5Fo(eKck=qLKmXV=pytOx)p6jTOiMEN1vlF&=cq%=u7lZ^cDIS`WpQk zeS=Oz&Kp528pQ}>Oko-`Sb&9CgvB@mOK>L6!cr{5a;(7FScz3Q2dl9LYq1XNaW2lo z`Pcw)*@Vs5g00ww-o|$9z)tMK1=x)}*o%GGj{`V}3vmdCaRe9PD30McF2*Ie6qn%y zF2@zP5+`vLuEsU!0rViQ#dWwIH{eFxgqv{-ZpD*u8*axPxD$8bZrp<><6b-kPsP)4 zAD)h9;F-7|&%(3u96W&M;(2&JUVs;(pW#J#FKJt=bq{qfbsu#*$R)-}>F# z@0|GkyYCJC;r)}R{)Y$thX*F$rT^i9|KWlE;er3*f&X9P0YM494l0=*KsNQL1F-34 zbO;p!5}gBxv>0&aGE|A~27EXP^#PvjK~Cfb>=;D>^boQ_^?nViLQew9Y(y=9J~siL zyaEvC9yA4zV>_A*xN;Ch0M*`u`cW5P$vY5>&44^#M9%<{JqWMIksY}JqrL{{<}~^- z;N15B5C0Y=P!mD8_%J#Nc<@fV4TaDKJc!o=Difd?fTGLMPw^DAJSmq+voa+aVv$h5 z&=f{KZ7|{Yk*{oJ3Axk4y+S(zPbjosa`!{r{hQ=|1irq6uOaw))9-uU?|a(sLrDp# zW-vw3G}2VUP2=a#k{CKAqtIEPKq`b^h5iH$T?JcGArMlS5z$D%P_$5lQ84jdf_#nr z5XrV=yWlH=Z-}t32ui+rDZ;#Q+7G{}WAr0xsh}5SA}#VKwOL9fB_xO%UZMb_$>eIa z7^6TS7*xFKRpr3{7gg#i6|aU0u}i6n#Uf#Kjz~y{HR>Fp&FYL6#jxHsGp4R7?rK|j z+Fw%>^e3wD5;1_!`fV!~b=@^Ia(9)_S5Z;usRRUwUGyyI!1O?OM~z&`oNNT2o|TCa zBZUvo$;!;&J{&&Zt5SGW7gbj3;FE32IQeAw%n3hIPkRkYajhfQIWpwUSBY!jCwdm{ zYPW`Mx(K@ocXn_;5!}fj#B>Q3p*&JZTA5Ajv^gq; zTp-C13MecPix`?_kj!K>m#wgm+K!_DjQfCwTRZBtp`%NCDtUlH1( ziqH{wp0>b$k7?dMvh{ZMpSNzk{W|g3fQNGSt3jMe*#_BG{4n_% z#P&h_6Sj?f4YKcHJNq8#NL7wD)BhHn0FNmKU%DjO6_yngAnf;0UU(JbLJ^p(01-5f zOG|<#Bgmyui8FByjeK4V`lXO8ks*!c+Dc0bgMOdaW8>chvP;F}Uvtt1$7CM+N%67b zW3MO2o5LB6$_s0!Q+!M$cR8Idr;FBTHNE7L0)g<8&MpuJWg}LV6c)?UHW-YVVKw+XpVQdcuWf#0u@EVaZp^e$Vp=x7Q(A8 z&}iz7M62Z0NLZ`YM8dJS02EC$%jq`#F9jPGl$Flxn!jh=_KowF?V8Tha{Vk)aWvGLX=4K;Pm7xd1aUg&TwSakIyHnY~Ll9rT(UHw%hbK8B^ zHtOrLlEv%)JZ14!J5~%ewO4Iy{eAP5lL`|D_teax9{gsrfOhC}guj4 zzP#zK)&+B_JPCH$b&pPNS#WUQqToK4ds>6pLA`1d=W9CG-#OqauFzKJ`&*_gNEG+{ z^ysGc3q0yp<2&o7mdDzb%&YEYU%Y$mny58TU?}<3;DwWFR_~{ry_Jm9Ql^(|G;yp%V8RivTI z!(N|t|KQu7o_hS&e?MYceAfkcv-6&~`cLrNk%iq)b--ulaGxp382?O>R4$irQotIY z`I#ygEC+av!WGwW?n2f#k$1GSv(Pi&RadDGbj^FHf!%Mq@BRlrfAgof;4{gE*DikY zk)h{5f1rWLB%~ztr=YPu)R_!)qedadeUln10|vPeW$>Xj>d?_yV1<3Xos;S+ivzv_ zt3fT#K*Z|6?znqme_W1Bc|EV^7+f0oY&uXvfaHQExVF>f;;)yF0>tlKaOJ#3^1dF6 z!@Ha$oWgH_e_BLrllx`h^wi~*;j(C+-s&w%*7R1l6m{2@_$;2HmYH%&q0RQ$O>VW5 z$xsK11CfZ)lbzF3-CLvU9ITJIje56f(sFxtqoqJ=rhn=2Ru<=YtS+}iV)eN4WSK6z zHIVF&io5$OgBp9lXVsT2u2Q-)GV{VEl|EChCRdheam#|LEVtX_&b3cVZde}Eb;CzC z%qfR;gx)su7?TB+SvQZ?@gr7Q1-;ub~ra{b_rowPq-1xp%8dY6& ziym6;4M%o9e|3M~mWS94cxQJvHptk|ZTQzGe(bGT*j*_ExT@G zKOfxC7oF5sQn}gYzq@9p+(O;f_0N)U%SFr{Nx6OPjH-q6D+-EzLPwx?_p{eNTv^&) zQq@+`w(jpOMhpYbfk&r@eZ-BtvnyJ&q#;x??qci{aJ&BlAc8>ZW^pzCQYbc;rg_$))TeynGM6 zdiYZ6;K(|0O6#A1mpV`~>C$SYQc8ub78QIhsM>)DT(jH2nDe9}2LXf%-kynxq>Kc> zNDx#_u7HGc9$fIDpR*8x;0VqDY#miuMEJvwL$woU2ySvY88_9xFv)(sOWZg8=6QXyyD$Iwjq^6#a}UmKKg_P%+gT8E zN0x5uFRram3O1XScE`>CV!SKn9$NpGu6=XYzl}Bj`qvg4RD`=~{=9HS{j^;jCl_z6 zgUS=58%954T47BxQE}3NBn*`yhWZZE0>%vUBL?yb*apN>Qr+{l{kSy{V<6T53+J*} zg(8>A!n6+mQH9 zeG)mir-d+58H>`SIvDdr5(KGR*9RNsZ+nAf7Y1K@WaBT^fHkVABGuT4QHceW$^0N8c9_*O1>$erF_IF>{xu`7MvUvG{y@egC5A18N z>zlM;%4Td%#3~nTsx7*3S=Au%#^C4>{TWD~4;`M;q{%7IFvyfj1cpRv{S1gV{tS)P zApH&#dY;t%P&*Rq*OG7!xP~_xzD@*ZP(b@dD4bwDr9` zqyO9K3J5CNYEG_M-!!wZz|nc#Q5{#qwb>@cEC{ewl_y!Ay zF^p=Gc9%a(lJBSTkp{yU8LpXgR!^ZkQ#)XlqZ^@5x>f3nIO zsI0{Em`kIJuG=xsQ`6m76wq3XIhKNfp3<(K`W5}Vu9&&A=g$>BPi4aAuOM3gV)R|% z8i;$%P_bN?Z0yliw5S_%b1aH%zerH*M;59PHxk{G$vTB9iZQMzD>fP+S3qJ3=xm&QuFoCCf^0c*j`#)b^q zOJCPIGOSkjR+c|D+lT^p8ENchE212_H4gq+41Iq z&g%MBUEcDVgXydVkZo}SPx0Mh-9=#5#n;n9wkO$1DH5tmu2E3SoX>+cg zmKr4)4j?5kCL>lUfz$vFU?%-G(rA=H^^?Z+MAIoh1H9|;CC;%~q_-lX=?N?UCHbZmKK#j50h@hA;24SS(_9nL&@U{u=cg zTzav^lBx0ijX|e3tt`f$QEEhw0=tlT7&_1CEar=6XWFw3!Jyx$mSABfkoCZDpo=Pt z*c1hf-fuM;^lAn4$kPy=D|+FMSc&(d%7o7A>w z`NNzA&GErRP-0eud+EI$5wAsL>F(IOrNtY}Eh}l-^yJFr)X}Z$zbfcmGW*75^!3XWZDJ&rybxoPSl+ANY!dO$7F*NL=7I1t$-xP1qAGLkgkI)gV8%3dh$G3 zCRi)3>5u|LkP_1Q47(@`*M!T?;W0AbQX&-=$zVKkjzhmrl$Zx1!bF6o=`z}Dk? zZG$t8KJ|ZxuD*NWz88iT?J3b0YrXViLfrbJ=KjC3BhRc{vt+knd*!O@uKqjD{^;_) z?KT;7`$s=RNN@wJo(_2-3!B~9*pw|(kYGm>KJ;;t6zqEBldWk%i_ThcE*b8irZF=OY4-cH&xGXuxvg31*d?@enAQQA`^FX8eJ+YYh!TvC1TbgDGe26s~O=K)0vzejvKK`>E;AWOC@7qX3TSr$hL@16 zC{jp7x0!Rf7Xh<>OZ177LyiI|dECUi6%CS)%MJmVFZa2?GUloRceNK{m0xe^`D<~f?`ZHxGg*R86@IBrM4oQ=q8IhitHt&^?pi)YS zLjM;mLTCY;eU^_3?waS2`dsCG>wbHnuITc?B`@r6Q0mR4y1ZqSd48*U{wa2t{q%6a zGU=YVyI*>D>(vQEb6C*IE)#C3N!VkD8fSdPe)6lqCH2`A%bzVXN)?$9jpIG+_N|A5 zr8^H`$tQcJT^!D-2kVCzEVRPvN6>;~GVHQL8R@0-bW#bEok=URwLo2CV0x3Q&&q@h z5^*}9{E$V$L7&&YTYL=L?b#coD9$81*J2alhMX$W>;F83+~`bbg*BgGR*#E@CCc z@sJ-PhSNr7oLVI`OETbXBx;abDqMmT+=G;jaFsC3MF1D4AqQk=n$Oq#Gh?xWw-KoH zNe+kqqJkG&CyiW>=NFXE8F|%}Gpp@i+k_%TWDd(rFVYWdh@te)%vpxxdv2Dh965Fn zS6<47Mh@27z#s%T!j7bx~fS2^L5moCcASx0j6CW_I<7IoCU~#o!4H#1UdK z%qGx;k#rO#cIaq8k`^E(tx{rm63L8)TyCs8!8OM1hHJp2tp#!b#03%_Cnf>96byS< z-M9AAgR$CKG53bkpYRE9He5Ow@bJ3UJeN_OYh5*%#a;=v)l2W@FBh)vUGVH-xVl2r zlLUV?_4T z8k&K>d)Mm}tt_4jf~k97JpB!`VEC500-p;6$ub3gNB5Qog_dDVX9_dp){+7-!~+UJ zKVEPXhCXV9 ztU$oQf{O~=mXRkUMIA3)5ewy-LHnE7eS$-v{X&=#Hz&OzfnDTQlu>qsbF~`i=pm6b zM?urD9CQq66FC?1KCg#c%VMdB(`u8$o9-hwkbJy_R} z3YDy)P{pB#iHir5k+KyLanT)jcMV=M*;G@}{=($-&ulN>xHf0qg8gfo?w+~+m3NQt z9vq0*UcUWTvu_{a*3?sT{m`*ZRi2(&%Q~9&`)j6YrWcks#q5=)p3cqr#XGU!nTJ2P z_SUMB+3T5?Q6DlUGl}f|2n+&)}C6x{eMnXZ4TfubtHp6CR zr2b5;J6UyR5BvJ?&NX`9Y&L6ZOgF60*Y)G!M+bKsAg5VySLhtQ!y1@!9H^uu~HNRiU6t9jE1pFt)iTp59jBBF%%fGGYsL1^01kZd$PG?&6`7d-a$s+ zW8G}R2^g>7zyt_dBn3D8$C&_WUBGiTm3GX7IsYX&FV&jm%_&0v!XYTH+OV`DZglBZ z?3=lB_0g$YT1+KsN4;CHynW@yriMtPt~hL*Q89brj~6$T*sXR=A^nu_iH4T)_>4$v z$S`=>;dxJNS{Tf$#V<2z_1*KEy1SND&uz^ukD2Fe>^?AiLB3W^G_wg%fC7Bogldy+ zqd^7L0#welRxENrw}(-J+$IQAkX5vV*pvy3r!mw#7G-%~=Vl>XN#wM_@Pb%+di60Z zFvMM#N}%Yo3Ky*@fWp(9KBEp{Dg@XOzs#KOf|zOSOndM zjLLSVM6S`#7!czGWCrv)^r}p7#bH#Hv^%vD357#>I(}>t=Cgv;stAVyd}8217PoLb z&?3nIkQP5U;iww~m82U>s&ub` zi>Tn@cB4S}a;WW=w>OrD6`6;UU63Mj?4IKzk3X^aNKJ53ZQDlJ9I`v^@I&!p$*Nrp z1i(r2yDMh@V&I7~H>D2;JR+`+Bb=7)AfFCFhY@R)Ss8#uNDTu_KBR+56{J0#Rt@G3 zK#a6PiEQM?Au&F&^ZW@fp-&JHW}~?T2O`0usL13Ka@_Xn!V$)GpUK~gKN(0+yYSH^ z@Ua%U{j{2K|GX7oQPW&`cEaR^2%F%a4m2ho7@S`&9b(r#X+H4t2-!r)@ zB(r!%N+F-oppb)M$$Z`dhm{}_pv@6h98ZcIzhwThzkT)46iHn?clEZjB><0sP%=Rt zcqpnYix-Ss?Ou?{mb$j;JhSl!GmEKdc#cvM>%$**mB3D$E#7c9$fzuubh?*5GThJD zUTgwEGd*RQ%He0IUtZDVp`oM*Rb)$tU#33qiFu8X!tvhnGzZm@g)_M*M1Kvsd!wHTBR|G)6Ipm)@uxiVTg)+1x4U8S6)TZ9lLKW zA_y%gZy0Q5kG^iJUpDgk{Fr7h`)hAmGuzyfEWHfp|31IIk1|XyH*Lahcen*4*Y`|j z*Nl8REewHEl<)V)aTj|_DCja-EZIecx8N2kw;=#tC$YI4lh`+KZ_r^g@b$tipo47C zK@jGC9$$eYSEB;4Gq4k?V~o@}5Ef{e59$O5usHw~$R!h6lYFS)@5iyHD!qmpE#ONY z|MTTE%z#8(1R>=Y52Zo;pW%;Y#G9-}XTjmCb2M}DjzB2HCKHS}nQM&dLn99?nyTG= zv(^vbz#`6fdcRpS7z{lATTgyg7Ob+yn;3cLxIFi@Qm;%wpua_2(TRUTxw@gu!J}V7 zK0E>PsZd)ojFFU5W<#ALr2rX7D4Em&;!zGPp~w^v-UK5S=)dwr-*gL>Gi2^A9TEA3 z#TL@g=86K$j|Q0&!#3Rf>HMPluxs%2SM*!#k*AN=yP*GLI2|Z4PMarWj~STXPCp>Q zUWj>K_9faPXhSj-NRl1~mP#^Y&_!cpQo@XdY{g&6M7+xB5I1 z_VJAQt7Ys~d=SqSXw3!R95iPY$Ax5CGJ4PGyVT`?md?!`p@BQnbC7DglB13Q>jAD! zp1wBjvbYPR7`QOFymMchDqYRmY;m|Y*VceD6E}(Ht&`&&>@xOdmNohW%gtG__`f%S z4yIDe>Ft6dm^0av8X=(~0|A#zg5VR*8aI(l1e18UQ2g9dJZ&*vxRiaJT28$*QbJ85 zQvQnlihgc%21uEo%%Lf;U)U-LpCKayCNklGQ7)m$!1iDIxnU9gZ}zJNB=>wxe@bnJ z`A-HgdI%E^W|Yv^r3qJdctTo78J6_Nkw2A{fIse zJIYb`=IE7m83I>Q09z?&TavCNc9LYrIUIQyCzS>LsD90|imu?6 z=DDl-qvdl~J~V%J)nutgxLGa~HV)?NJEiPr6}u}Y7g`+F(Cn^c(bkGnIs1Bh;*UI3 z(G{&&b?lyJ7bhx82842vTFw5OtuW>FWKnl8{nIYEc}cR(W$&w-{)Z=`fJI>v{1N@K zU<0y3|EetsCYocDOLAZXKgN2UkmfZ3oD3KXgDMJ@vI4VSCliuqQptmFNROehac+SM z#vNLU%(r>c43U#0`)Cw%7#$=fGvbsYh~zHksVBBc=C54PH)C*FeWHHD2Nw)3pO*w4 zj!>ZV;EsbktGoMmuU%X1vpEG0n^q@bx3UXwZfR|;Ubu7jhwCdN=3FuG!X+AIrOu{g zslTsb|2ea6b<((23+QBZ>2_ulm}6f9|vNG-D=?$DrQi6a>bS8F_0D{VAMQH;p+x& z*fX|b!85IvNJUU_dbLvZlt!DvXJk=Rs}`fv*2|R>M0ENQ-K3VDN>?y{Zqu}71JSDf zO;63Akw|1sH+d%Cb9v@frIAj1Ug-zEMc&Gy3#(&&o#nv`KFC>7S{?C}T(rNWK32Wz z(2?J)OvI{i$0~zGN!yeL$;dCCy@!28Ul69=qKo{seee9Fyk&A#*E{d5BtBgUYuW;9 zYDRuknY6hjGNYQ2ag0BU4lI{5VwqE#oof(VblJQzKoh(g$hwYmH+Z)tyba=v;I4cP zDN4I&3`060PRgw@HKgl1wR}r+ebw3%%U85csVi;0@_`a{ajdiU0`}-7mzOMXncI6- zMBmpfTHn*QVat}2t4f-yrnOfWOwx-dyZb`HO6;^$#pW!u`KGSfi!l2JJC&X%SO&wA zImyzn#Hx`9t+WtHv6Kvf-Plc{Zq$&EfL)D&9!M%hS)tUKBb7vbP7ikB*+Rq=>2?VPDaPZ=+_^8r?wbJsJvpej|P?8&aKrB}@fSi^R!TPpHZ zM>=9dS?^z6w|@4PDPFVJY$?nXd$!d-Ona-bc$AlD_|%K1I`JWn8@QN zSlz}gG$$}5Zg5?O8*`FyMJ$1&l`$R<)FoV5#XC43xL|4obyjK=1#a--0_Bv_n4K_xvpC)8ToTozt-2(v}#eyKt7y{Tr>StH9 zR9D%pb8A%6-15)#Ym2IaF8d*TEGEw}9oy9Z$ln=#bwH@6K-!T_BZXt@zA>BV|YoG-jq$5#XiBvasi{3ms+w^%onwOPeoZMSOL8xik(VD zK_b#i0>-;qB5)!BP11q`{E0|p&cd+U#he9XI(Q^gNi%|Ohs~PDG2Xc#!A+ETVS;DM z1kKv-3IZ`sM3<9i@t(2W?CZCZ1ARNDdQAbly-*>sS4=KCXqAioGI@OPV{1x0ddKji zr#G%Bw7H!jpIMV5%g`Qvlj_}Vuu4U6wb-2D#Se`M33hCN2>$@saUoQ{6#)gKM$iiZ zkcaFvayxDLWH*7>o=M}pTph7uhdl+(-C)BuGekvbp^>URg<3f1LNX$`L1+YGB;ox| zSV|HPp+6*|Im;yxz-9$T1ek6tZs*z&qzESLPgvU+-C?SqUGA?dtS;#txB(C?L>_yF za6qoU>2}FiWkzfdRO9t6*ZnP`Pc&NcUGHly?r)fL@!=|VKRrY%@(M0W6mdp7HK09J zu9jnqMY!;_jpbLb^?~#~V6|l+y%AL>9a0b-=)w8KN=fODfSaNqGRtyvg~V1fd4$Tz zMl3Z=`sA?71YAm*5h*ecSRC|vpxsM0 zvf+TAa8#`pH9U~%b7Psgm5sHP#W9$ncs)+?d9g96A+>a%A5`+MK3wD?!H|^`nTQApT`}Vg^np$zaQN71TS`yR&ka;Tbm)FEcSc>oOtEw^Vi19PruM}Lv!4s9~o&?m^lut0iyM< zx$HMJ841W4ncQk6>NDl#5`?D$T`DV6c5jx7F| zUGusk{c@7iNRYAtw1C(=AzsA*@^F3gvABGnVd;wch~GNZ7+&+U+N#DIo);9gKf6b? z_vW_;>g=YRH3pSTU-ntv71N?6`fa#-HEf9*T6E+e)T>H`S;LE5_0Qu4ws4@4?OUXi z=77Bbe-b?UDUdZADi4^<6eqcI+q@LL|zNtgp=)S&}y zjlGNRT({*w$E5pScxTt9!^Pgjj=^rfv5nq6t!v%>YaSV>?U;1&spsDFKKRj>bHmQV z7aUvBH+2zQ)932T)`=;Oux@rwORDG*lL*VK9QdI>>`5oNX~ul!-<_&4vw` zRz*>P1y~JvI)#`UgOOGfw+vihC4q&Hs-#VwhF&g5JO;w>Hkh7NfLuI=;2STT36r=Z zATWE3=MpVi&EPURgHE(m%v-g%qON|;+sl?F>rMW$Ms`L`G&@{(Wza$~_@lO)J^rb2 z?~&~_oph-Ml7d8-_1coc_KMoASL{Byve>rz6}2_rWTAqMuZ~bT0i89A*|~TP`|~2J z=keK}FNA~QfU&^#K#U^jI*j^~5f4xyBx>Muz&qL|uf)L~xiXhQkJ(*9@GM7PK zXaHh^Tr}38AqwI2!I8{}PM{NfmT*$|TN{s%W?Upp1Hek4O?siI38CR4rpj3t@2JcEF(ZBE=)-CG)1 zsL~rATK7A+0?X*1sZZ#=us#FHxKWZVka&ZXmr}z~OBi@3X*h#*TJD;|A?Vv!GNc)~ zj&R69_D+K&saOlE#6^y=ZGfERa)z6>+z8}6(yAckI>E+iRvc}Egb4wcIOMpSf@rp8 zi^dc0YjnETY&R!>%^udeGzPat?hSRt$_FpAnM&Gc1|hZOYAo2hr=r6jO7>oJbY3#P zBuDOGKUhZ!hOAF3VUNHWZnWu|4P{AIJQI}CZrVTG%22c{^_xi1nef^EDe$bXN5fUSJ^o5&#xHlgC<*+ zL{z`zo`)%uuDT^}ZcTBWyTm3GUVRAXITN==WY8U?s7zc!FRvcy71QqIT=`Y7&Cp_5 zuhdf!;4x{W>Yeo}m6&-0F0U6N;j6%04*<)c&?jds3fPbW)}-g+jT0n-p_mkOi)Ef% zp($7Ha^~mhbvg2}RumU&QVU1Ci=Y`*Woo_BeJB+~`tdZG&V`)3Dv&M3{*BQO7?vz< zm^<@=OR6UKE-z{^XjEO-+$?;8^3DBueeIO%Zgpw(m7l4uoiV0+%jueLer)BLP{=`1qZ%4O%1B^M*>)N z(WJP|{QRp$duk+>G7$xdpim}jzX82@bOFbGxb=MiTIj!hr(V zWUCzbY-C1AYhsv0%aWCEg^gZ|#jVW#x|ID`oZHh06IncZ9J&;XK`&*fJZZJlIymC4 zG~fYy2zUUM3;8-LTbN(u$_FU_Et@780Ssc?9=H&y)M~$F*k|hn^gxW90_B*zn)~u( zjDQv~rnM^fH_=j`J#02b8!x!xk`Ldgo_M^jtjyr4Lkk2MRh1o}~?HNutoalaTw-Y7^ZP4hDjnH2r&CVcr^R=ppdKOB7TFF%+EK8p z7Vx{u1*b)jJyTkZCKBe|fjB!!BB=#;VHn;VwIr#!k^5#8gsUSlS3FbcGFl2^rJdae z_ca#=l+=anTa6XeCh_03BS}rZZF16O%2Zo&4R*JsG#KgYb*QLs{KTUdvDea7g00X4 z_9fNk92Hov%#e|($k3aC+s_|zLTooxbP#_I1fWSod=m&;Q1x+PhfoYeFb?I?1Stt2 zj1nSKjII*S@rTSaZ2b#Y>0`y=Qek(OwWPW}n3&gN8VIfM^$WIYb0hH!*kfCl8A2WA zRlok7y|^MTZO5K3U*rWy_BUyBVWTiM!#UMrG5=^x`>?l&<4%`LU~4x4yNGwc{$`E5sV1R z<$UshlM^H)b-z$Va2ANfwZHfxAr3=QZec)p>b|r%eVn{Atsw8Tz__@SB!9*#_TZy1 z^~ajLNPH8Xx^1Z;)LDTWjuwb{XAhRtdS42l0we7WwcE_rNmCh9ni|cC_ z!_R?ACl$+JnvBJcMuRVroZC#kLvM)TcY+8n<934hfSWllS?-TmTxaYEf$cTl-V;(7 zvwLEm|GYB<(i-eMBl|<1f8OIIKSS-xA$_pKpE9kysNU-i6}PpN6t@%0-Nn{$yHTpqj$~Vjx+<7s&k?|ER#HV30FhDx zz4~%EVTy0qzysI-AkBginwT6ag|OGdZBvOd#_S9sd85~3$q+R2lvRUp+bRZLimh>NzcX<=0$*!BqA7Z!0AYHlV#t%lcXe88N;xhguD&ODig5W=eMNA7wN{szye($CdrLCmf)qb$B#ZYGO7EZ2S(c|$1fI)M9v|qeo zYT+bv>FmL9aoFjC9x2BGhPX~Rz%iIB)h4a+a&Ksy3yjM{U`eIP0C))@1t*ILEtnJ` z@E?iT09c+Uo1S?W1#}UH>r=)5z!F0JB4V8WB2i?4a|gt zOFW1pDCs{k{LZDS^Jf0Bx1^QzeCh|VoBx^%h`Yx$=W=ryk!X%ENB#l~6v7;-LrapC zJa?oLwjdMs2uBx505Us^MpBmmbjedl>Z%jp%_4!&M2s!HN0+PKNsYjVsdNSZ?TP$< zWRkeXV$~1flw3I$uYM4_LY3<><1PrhF!|%@0U|M^X z|3Q0vmC4VY^D*|r4qWwvG>N}pkG}O5?t@%FeE4t72~Ljv$!0)_u1hpOrJxAZ<*4Da`->f*E$MT=D~y`gA%}rYnRWrrho6 zSegEw@^(hcu$-Q|(E4OuhpVd2)%tyUZfqzg5kMqutr`oM-g$!QoO9a;|HmmYCogm^AwI(d{MTB;}KS)4axeFoGLiRAYJjnfkm{76nsDGnqijIL|6CJ(qz#)pv3dQv(h>rDd$j zvvrn2m1l6M*3^0CJ@?RiX{KW9_B2!R(jIeT#p=sNnpJ0(caLRTyKd*$i^Z;S_Tt@7 zUI^^PK0z#>`#wY-U z03ZZ0`92(%+4=F)IXHW;3nNv(oiBUuo-rJBo;*JM*%@;pv?KpD{v@zC8(tw+gI; zvkvEb1XI(HZ{F zo#LGurJYM8)tI-RQ>34!z5DwmIy&al6sm(YIt)H-1n%L?WGSqXfU=s*+$x#RS|x`G z+ieyzacWpAG93cK%(tXVdo_%RNbSLu9$YJ!AIG0lJl=)VviavKgIzQKCVUtU0~Qcc z|BiQf?h+Ht_`g{T3oPS(`9Vx_LC?`EQvLr=(P5K60J zXYkR;)92!(je+(Qj-0?uo7m|f^R)A1r=6qANS_~Rt&Fr90hwP3$UI^67WP!Hm<+AP z|BB1TtmoT}93m%&c5uwLKZB=dLuWPs=aA&*bKJH9j@=dj&brL1WOPbd!0R9+w=q;h z8jM_sBE~`bi#&=+0~>O@F9}gvh*6}0K?aUvq3SH&+uN6J@;EvO^KC^BFyD@i#Vg>z zb+0{x16SU0&+UW-x9Lv8g1c@4Zs8buoE%nQZX}ado}=gH>+8S;#`Th5Z_3?84I{UdDb@;E;EenQ_>W1%XwCQm`EB5Xr9bbt%S`G!uLopRg2 zuN`(0o_O{lIdlc06em$SDv<#d3=q-`zVBY4GvrBiJibquP#R8rzcBdYaTGz;(e z+Hs9lzHS{8nQIT6&jNmT8{jO7&#=yKN>$wWVq&!qG37hto{j|#${lo)4+6$fFT#~3-RI2t?`KP(+-I0EK5`g-Td62oJW zC(Rezv@^{Y%jrz<#hz>czSt3`R$sy1H5P$5>R2sqAES<~)Q?lgM43h7)UgD;WGou- z8hJIPk@;zjL^+LM;H%^@$O*u3Tq_ea5(<8V|wg_R)E&gdPJ~X_b60g>F3u zxFCxC7hF1e-grz)Yor-$Bnr8@ew;ZN4i*wCDLlhUqCs2~2^B(!8`lgu3mi(TbK1*< z$VY63unN7<44#;)VWSN|8fVSbU0kTmB#Z$X44 z(Xk$8qlvPrV02tR6RdyFwT90X_B_BusOQSj0 zz$?QJBkRLdH{sMhYsz51? z5^j`G8iIo~Wu@_Gu)t=@(6^0WC z(iBL7c!VOJX{*j5$j3#BGHCCJ@Ss0e)*uwDawXg15kucxdug<)I!7X&-5c^ava712 zrLNh1hVYzqDrrt=rjC7LZyoNv*ARDQU-%YQ=rp}udX1D?moP^C`D>ZyjhRA!IHqm-G8CwQ*jW?;*3Pf@NY&FLs7!l_Q8I>?IGrcnblFIl| z*nBn_YeNyVmd>6;I{f91DJ^$x**>LtcK7P($y&a}atjvC?q0e1&e>h7FX?Tm zZ>X9wuQpa*Giz>b9IoYN_FeiV=0d1}L$H6ZT$PiTM~N|zAGDfm1swfBnu`EjfQUz^ z=;T~Qas&wcsQ@cEXVOZZAn%l={=N&TO86W116P(n>wJ8F5C=TTmZk}9Ll-$ID3~nkrW9mSoOO4h&s0`LWHt>^>~( z4EC4RF&BO%wih%odbFGy)14-z7Vi2>57+EntHLd4nckk<(`$ zrw$u{zZwRJoF_RDyM=(l?L2}58^{k_Um-?&S=Q}OzIs7Vn_A<%c0uc=fkbz-(&|{+ zYw9lgP<6`Wn!2xN_N=Ir{!O zLo%sS64XmXlW>$0K@SqkxQ(E&2eKV7aC(DF5bS8W%G#}Js!@3p;)p>^t1~m(o8l2T z*wqRLTarWY`7#&oiH_3$5zpt_QK`1|geoAV%ke{(I73VECpoGJaT*nGe=gDZ=}jb4 zr8$@U-UFwL?`%N?5%GHth@Fz62pIEiiO!xqb86?8ggj9n9Hw1ABkGF|_v~EmFfyHm z)B7*o-x*&sTW2y&EnQsZ^OfFoWmlpl7HceNFD^Y=5^sxCZJ?vGHrFn1XmOP;i6$a$ zw^J)uW#<=pTRW@SR~PJ9dxcE6aBjt>wyr5Gj~ zw3k#4EIinoh%V{92{>Z=@x{~w^lk9>FR~v+VzG?L$|8To55C6Xce>caH}2^woz}Ye zg06<%N%UtTC1co?$8CJTsw|596`lgCjfQUtu=6HsyD;Ybh=Bdski7<60cD5@2|X>*%_)z{MeEU8J#h?dG@na z-AyA=>K5^os^hblRuEn~dkpr-e<4@_e?@XuGFmMu@=Kca5=jv)A!i$xkhAF#?t)`y zn-yTiNom}h+Xkni!<40~EfKe=qypY}iTzHr+6i++{%Kej2!_NOIhrZw>|9mOAKk&F zEim4QhA4vDO~-GSCC`!O4x|7f37&-IPcj|(MI!3#bf7IA9*@$Nw!D_t!lNynDcCo^@0@$DBs(^7^4?qPzt%s2 z*pi+2o^$ru!?*YT_UQ_2_md6RpZN9qz5n)!`&X=3wd%fy zo+FJvUhlV$e)Gw9AHMbGq5cJfx7>RFS3Z8rLU5_^soi&=rgjAQX{^Uwn=m_Vmh2Ks zK`rN06u{CWGl&nE$3QK;ZlS@~W{6dk;M2*Q8)Egf!GN2xpP=&_MdX?+B{8Bip2SUPU%_lLhY_^+#i|0L4A+&Hsa2S| zRPAyW7JxggIuPUH^{9;G(W5F-Ji zwwQIq%8KzpydMnE+W`tcbVWfMt1t?UjRl~BF4a`BXbNXjm=mJ)CUL}0j+adh5%^O_(PcYu~{-nJY-|~q; zlkiPd!PIpNEgFwUV_C>u&K-a9$>ZGQ+i01H_0?y2JX!U9L|CKtOkK}i=26u)P5qO7 zbB<*Z`OVZ}Xall`{~Od%!0 ze2avuS0uF*QrD|7)0P+Kv(Q39L|76YMYSa>?T%&^O_Fvw=8@s=vte#L?c|yF)k>uS zWMSjUUII2WPEnB0F{U2{cmNdLJZQW)(#?a6j9E!GP8QaJnn!3auv(#`iOU8LF=m~> zUS`9nP-ZGLuRKpZW@aFHtI>+8YEV@f@P7hA_6pE}qNNf-4Ft1H6@j5E|>cc@uY*uA6-_ah86cyqja!?|k zlkFtEM44zN3wn_Q!xPcgV}-77L2pNUGSS=s;}Z^os{D;avx`A_{R zej*k`V_{59$kfSJ(V|N#7xUVfUj;%gv0PeoZfB6u+bIu!nEGZ>Vl}Amc3v~7TwPzd zK{#kDoY+-2EF5+xySTpvimF#A?VUCfD0U8guP>lG^uQr|IN>;H*SdTUjOeb}-14hS zI@f)0nymXK8P^C;ST$7*WTm%g*Jte&v~eXjzKnl5ZZ%XEW>*T|QU*&`RT;AMC3Qk0 zr!!R?$rcrB?8lH%6-_NSONy)wc)Fc)&&bE%Y%|gXwBzGUiw1T2&<_n6yVD zs>+J80xc0|tzl#ac#a_qb#|58UPQlG4l)_|O>&%@@|~!Dm9kZ7;E2rxOM&-juZQ_T zN&`*;6ffc?rgf>_1x2@v<*UZ8S?cP(;>6pZeP-#l+gE%pXp38Uf_k8e;rgtBI@BRaqpbX_!#arr~+&^IPeaLGilh(+}qTtFh&q}3jWuCtZ zYs7FXU0uZDie&q%(9KS-Hw1;PlD0HbhhH=_OkTtlF-J#?)x}a@x>nJ|NUl1Kg(Oph z1uGS6-FtTJ80=fwzk2s>*Sa-$wR3O*UhUdb{otn#_SOW~btZ0q<>4z9(9f>m0;A=l z!vk9{Ta+9vU%HfjzU2V@{I-W9;nvP|%LY%^*Wn}0Up;}6sHc=S;Jov}l@SLsbxsx! zUj;qeY>H7nz2{)Zquw!{C6=YuV#t^hRNhM5GF&W5aE;pqmxRuR4nrH0jOmq6D6>JF zFAcCfc8vQD`MS_@On8d)g29g?zW`tO#mYzV(>01n(kjg%&jOKQx=~9a;>^6B)B~rj z$oPR)EBN?8-Ht&`D);0UU3?#LnWuc5CNkB|A5+>#gu8`f&ymSIwA;faQ0L9^)6j>< z+QP6##W{Xj%$ntdKw|6?$Kz)?C*Lx2uT1?T!ad6$JNA{uWCJ;WNc#uqI3R zf`wEbHb*y+x7NjmEEw7G_`OBO4dj}-aIJ8XM2m$_fpv#~_gbankX6ExZ|YZIqkyG3Xl`MDHcl;p|4HiyY8l3w#zk zB2k(!uMZcJMKBCbW6jdoix}pcv#<@9)WE;-)%?0pPgeKp=3ScM1?;z zPH~5E7ZYdR;h#~ffun^eE1Pd3*S6A7wh}8Pl@%t01qN7UovS6^(xS#2n9s}fi>PhH zgpE|~hFm#QD1}8_riPJ#L-?@7C945ty@@tu!e_5RkeE1o}c(e1ZyIW>6gdfn2Y zySE+Y^vPB6Q{z1zd!XgexHqEuethSv!jYc{hqm56a@p5^e8<-KqQgV)e)L4!RB5vI z;4j)!!WKlL9 z*N|a`CE=y_&^)Ssz%c+LVdq{Tc7iIFV8|uNW2!2%LCk?fw6%(k>O=VnOdNH%w8glGcxts)i=qyKF)gbIl1|`| zV0@y~hsAI!7O~M=2X_=xTdfg_ydW^MGw&5>Oy>KlBa@TeBetneTNiitj9Ar;){!23 zWUp19e7|CGkIU7wShZ(t!08+qd;gU98n@)PXa21G7=Hkk3Ivxnu8<1`fmG#^x>}!3 z3z8$;5>{)h%MAQgV6O2#n zYHFhmz@9O#i~bhtCgIMYwTT)qH$Dw3KjwV5yu{vA zM^pFao`9h<(Ba=)k~?z6CiC}eTDtfHH-`pJ{?|~R(Oz0Tp&^~_ibce{bZ`5khVkEB ze5^GZG={BPwh=RNHF$2eVF)Al&KakwIco{-O*C0qT~uBGPq-YRHmx;*A=CP+41AtB z$80fEYP)ZO+>VY&rVC{~OIV$BQ?MjmP5n5!17?$Q%;Svgj&yn| zUByM_a=SXm?ru(cqrB8FTn z%#~y2bG5;$N~YmNbe8FSnPU~*MJcR0UH3?0B7Z1@Wz&j|`XHjeB~7EF$ISd#ZsYb# zv-1b?2fC_T?Y+Uo;81n7cj575$L2!a8rL@OxWl|~*c&&g)+vQGp}e7@CE@z&(Y5xV zr#dk(d|QvLr@2Jg-+W|KRo&hMcy_=>!YPhpy>DW@1=P1n8jCgAg$qjQ9^6x^GLw)8F*u04!&>*WT!l^{6&C)wW)H@X98C z`;Lu+69HvYK)qSU;Um0I$s4F*9B;Ss{ZIi`V+C|J}<0dfQL0?z8N33s0&E2*tE zQTTw%%A$}LCVtaac$)eU#f&b>%;^QKN7E4bm-_I~^}Rh;?Z4}lJ6DFBU;KpnUy*o@ zN6=Pu*KF(y4z(>kFy6B0(v2kEnOGEC@$sME{?XgUmp-!bh8^2JC;X{vQA>yLEz(@m z_wnZ+yJt;fXk+)E4t!*)3yT4pt*R2t43xo%GLf})YN{gnx}e4E%f}#DGq@`#a@FE4 zF9F$zltH0MKnP&F)*dd`drGofn%r#QP6ll%Gqf^V2!vbeIG{-au}ez?S~3cenFbLz z#{n?V9E%~ZC82^UYz8)o;H+WLs9@5aa)}#8@1$D!q;d4MwQCYBd6z97-?AuBw`&zq z?1{un+_wZ4T->^F`H_vn&k9a;92Lx4FCAE|Ru7CW?1~?&yY|5aH}&?m#JYZ8yyZ}5 z&u*9Rv;8CW4ND&X=0h)e8pf1Y_B1bS-#6O1q$l#DUhW6#$9D<;+;_#2{ta(`IoKd< z_tbB=y1%{gI_zXzc!z&pxeM0Y1Mc;m$&P>~&!#CYMXwtvhfJ^nKOef@rDC{39mnM( z?V_M~2TV&?uddb`={I0j4vngzyhM+Mxh>dGF?K@ET`u;U7C|v#67?|4I%UY&93d3H zeSd3rsjq#{4=&ncDLmA3%}8~B`;H&%+F~&7o_dcQ)@E-TYYHA9{}2uqS&r^p8Yoxp z`kOu+Trjc!>eqKfm4ZO>N_|6DTyyx9?Q!m{55C8jt0r29U;W`??xo4sv+uq9;T_92 zn7XEs zqlnZ&EMR>y$^^MCOdt&$XA?-<7qSVYJNq_c0_pnCVgl(xOdkydl1Z*tbzS|I+mCGU zb}n9?nn1e0)k`OkUUzEcb&JW<=rM1hV@R={16a?k{C5;uOi>3Do302RI9&{-=PNXu zfj=_C!rEZH7~a4hodXSqY#}p~*yJVqiny`8VMMKut|eTssm&Yc=-_&Dgtfw>SMS{9 zF7Dm;Lq6VG<7sX4`!NBPAZB}=&7D;#s*{y8cHxN<^wMYrgcuP;H)T@<90NxRnn;Yx zoQ1$!3YE2!S1Ge!Cto-=^&!p)Fk(@6uNJziXCQq{5 zPJ)2tp()`TwPX=FG4l zOY;lR3|ai0y7x!zn^zp}84p)mYYMdfh`q$FA9_>wt75-<%O@7B1`<@4pXcjxmsFPV z1Bt0y&)jxRf5O)gv=){a^Q`smd+*_%P2BLY?ynEEc%va}VR2DT*@D`8UWFwCUBOGL zpYd&|d<`Ljw)(qEtGeAq-F$X;KIm4_UT((p3oJO~fG7eeqREnx3C8j~pk5>>7QBK5V00*N{Kj>gpq?5aa zOMdV?-ymF}y88XAw-El*^k3Sc7~pT_<7|KGl4h^Nj*4GB<%iW(qr|z`QXnVSM8`8k zT{Cf4f*}Mll*o!YCOB^~)6S3+mvfHychnT`?|9On-S+RLx+`_ol?A1%NR|BFD`nDq z6XY3#)3BoH-h9{YpT@e7=DBFrK*d_U&wii3t=1wxe!lqlYlL6QkDpr71bGRMI^HZjJ|6W3OXaRa z=Hp{Ycy9+q^7fs1OI@t^9;?o_D{7L(mI{g_S8#d`^S(=!R&nIFm6lnTF=D|LoRu(!d_7w zqB9i4bshur1YKtgQ!m>hZkN}cnw=c*Bd#nd&eGPpW?_Y4Up@DVaUt1~DN_zpnCE25 znWJa(T$@0iM8ziU&zwOxan3#Aj!Yw(fMkkH6HhRvi8flP+Ul;UcQ<7)O~j&ppHkaY zgRns4nxJn`wh5|#=sKmkDLEM`DN%OGL}x+D;mtLYZmxp(`Aw>OZ1$~~FX6=f(>8?m zyu6$BC1jYJ!R5X)**;KM+gaG;bbxNDmh*W_G0oGUhdY^@<>#|eV1SS$;3xQQWHyu$ z@Rd^@9GmoQ*;%mWqLvo_WLpN!iaitS7E&!>BK~Ekr66`1x%03$FsF28FfCkgQ@bli z{_K4^^O@~y0d>K{VA^Hg7`3-qTwwtNYO=nRtjfuEKK(+KRdemfHV0jiYR55;T1~pH zxN0lFSYqy2_KV%UTYIcWr<#_WytCmO*PeKK!?CBoOJc(BKkBJ(*nG>O!Jf|&*A4BC zI?%s-Z=}7Xz1$&$atd@^quGK-=?V1u)N0|NQln9inY~p}`?_^`!eiOl*Bt*5+(>+ofErmGPV9AqFK4<#HmrgEd3l6S4v9y25rcZ6YX!x?SjZKTj*1Jpl zJKC4;XmnMmjp0CJ)BY)8q$BFRvM;%IxT&tA{q%LKYqocH^*8stYWmrY$%Bc zx6f&~Ll(~f;yk9{6JTU>!mHxdf z_q_gImb>7+*QLM5ktO^gWjXFeKH~J|WK{{F(^d-M-Xf?%`~=?{R{&Gr3Nd+8M8idJ zCzOsnY23*|2nye%GNp(=r@iJT40n0L&4F;oaW0VhRJFu@(O|hVSmTKF&Dgt`jLY>!4oMtUqUPbk;Rs8!&cPb-YGGnjINKyIJ2k#+S z^?~HJgz&K@(AG}AeoVMVc3t>U`d(YGhRy-H;>;PPUiIJbk8>3MWC=~g&>VO+OPDP9PXMcNg#(jQi0vhqpPSojqSL0swWBo9 zl^PI7iJrRR^BEI|t)&~wNS$bXk;GMazBA+I+Qj+Jk|WJC_wKx>%aK{wNzmtc<{j?y zKx^5gHTj06l|9wfWUS)*P2oUQmdZRh$qbH%V++gU$I zj7u}aYB2^S!mm()`kHF5VpMS=xp-L97BtpdG&ya2y(kV4gI+>PZk0(D4-|;`=6dQWPs779Q%7;n6T4I%T6}Gzx>*b)VOLzGhJ} zdf({8rDzrk>T|je^v4ECcx;hHt0B3BSSkT*NRFl;JL1@RcLVR6Ix4()&%uzxZ>tGZ6c}{bC9c|aTpd|8 z(tgLi3y$k@KuL-+1cTwhcPGDWF`v|5=8eQcgJj1^?+r543mUZJx z2m2Sa;pe`VQT$DQpLH0eU1%C8(g;SzWpQd@b}EP+qgK>mWcaV#@gTT!6|E5r@ zb-XeshguZYd|*hci|852QREJ$d_$rb7v3ZL6)(eUH6?R!Nitnw920c+3@>j3RTQZ&Eu{Bu_Lzdn!7Ts&Spmhd)DO&vCyvkf;bNduQk{w? z)Qa$#*RqRLrxgw${C&_S+ZBgk-IrXdTfalMVzI8xs#6Db1x{T_zb?L>YvW23E8+!e zLhxs{nrD?d_`9Nut~*#ZvDdVDtgLy+)LmDW=Q9;;p6G6N6y>FhK&Wu1P)SLnOGJBk zo1#9FS`oj-kPNsYYHH45z0;{75k$sYRINl~Y(Nae7B86cpjlVZ{bHib)OsvRE8}qs z*f&9_T~2oJGruDhvD0r+J~4T6f_FAtI^kcAj<3ts9NO63n`qfIG-j{!HhDZf!#j^n zt;|i9#QRlzTf_QAt1UH#5)1d#iuH>+$2Qb&wZ#^+Tzb#Mkh`uqe9?eE+QZ$+zO+7q zFZH(Wzq>iqT;0%8w-I0KR-Jx7qUvg|FW0EbOMY_4<%@<7?Ax-vDP*?S6y$eYyO#@B zbbV)i@7T^`&(^yvImMQ#i?6(7=MOrUM*|D?E_pa{N&Kd+CptTacD6pYaM7mtjIY(U ztvPmS%c7mFpI)?RlZ<0tqn>0qrW+l0T@I^_19HjRDtH;XmFT|RR^r0YG}OsZ5*h?H z3LRqzfd4ixEEDRCRn5!`z!h6%&jnomQ6@#So(sL@ejxY8N*v2ra|Afso@BSku^f-a zxOy~pvEpGMa(N05-y9`PjSVp#RLeZ0T5fKV3iswow=4yTtaF$a7>lr+s432maarPM zI#0S~?$dG`@ddIilW)k3Ff)+-<;g}WCDyc*I8f~ABo##IwW7F96cM<1UiW;&Ljw2d z!0K~?+-Y{AbBRYD87Qi#^x1?5&M6<{GR7+{GPQ~<+=we9iZ;bU#ja#4B>|qDi@Ud3 z0r6nc(bXSs?Qfkg7q=W?qN`jCFsXBkm=oT@1#xoE6>6TR$dEm9#3^@FU#RG$7=%*+ z`wV{b4Ri6Ew?;W_dRtrL(8BY)a1y^cHdM};T-athQ%nZuxqaNIm{4+{IZ=2~8FLO- zU@WR&SCYiF*@9EkSX*CcRI2YD6#nIORy9U{meawW>MHMXT@$tsG-bN@MXoeVq&4NAF|In8xB3@d+{$>-W<8!^qmDCk*+mDB~@t9i7~_ zIOx#p^Q@}VnSAW@c{f3`T7c^ICxd0hC7k@smBkp`S6ag3u>mjRv1ye+DV@AE%cD=% zn;-J@61~jXkNyKnDnsdV=X`SYq-+s*w$BG~-!1TDYLK;ZJAK8K@{{{2bMesZnX7|k zm=81CBcFAf*-f5%*E9UhOmOY&g>0C49p_%qjq*j4KjOa86ER2<)RLAUTQR3iFUwXo z`!QtRrVl%W)MYvQ@jok*s?GV>ss}Ujs$%{S&r6x=>(N0_md+doef2(g$zswF3W4Pe zrDP2*yqqtD{+xfVFg?g%zEt#oP2GukrUXBhx*&3Pbds&EmU1vz)Dd5M2yeu+?3%5_+BYv1@e<$pQ#{Er`5aKzn7-bvl38K)ReR;1TS>V2G+4jYipF*xlU8Mt>r zC+SWJ;XF^$Dof@(&+#KE#mtEl1R$k#@F0hhff=&{qT%K+k;eyMbUx^Ix zfrh4$y`-XXnli>rfh^`Ap8wE*v>4BSOu$!C9f}t+A0R!3L)r~!{W|oWu1<=R6ry2@ z1D09{oA(kAlZF^3f@8)qVoe?d7ygRH>^g=gB68m}Y%tAS+xR8BGIn2l> zu{jfSN=b8=)24<@P$>Z-b1o^N(D#K)N&1S+doT9LL~|Fi7im|9P(DfW2D0-Nbb=t` z$;@OhrO^VdKL#=8Oh!zIK)TkLUJoRAX}FGhK#CQ*#CgUP)DpvbnF8~yx#Azn>IwV) z4F4`)1b#fV!jYuI;5qb!sE`Av+E}Wj6onE|EF3DCG-cFhj-E>1^L^&2JIu;QH*dz5-{t?rkEz1Iw91oOEuNB&?nRn2^9h+k z5+Bdy4vSC=U*2SiYt7k&yDw!RD?*e%O{QG^w(|K9r3y*(#+$m1Z6iVQJCW ziXL`mJV?kFvEEAfKH)DiViqM>#`G(Lz_92aKQM4qTCY7pC zm6yk>h$UaA;>D4MtRljYla04hfEHEe5K{1h8A1%Xs;$Ai-r2`b`3^1`m)OP^UTkMG zrOKTzyl`w9nK(4Zv*WMy-f{^I(IZ~SsrSHl)Z<0wMD*Hw4zz98S6g!mh$z62={uygHDqB%=-9HZF9kxr*lC|Pi)QM zH#B8<&N0r(eF@p@AZm#!Fj}%=!svE6Q0Yw-n#Y%8MXuUqE=-jrJJd+eTcIm6gMC3(<#^Z-Mr*?p!1IbT(y1NHqC>T#vAQrG6(UNbdlUJdaASWs z>uHUzdpJ2#t|BTrd~c+YAFOOPUo3-RKLZO zXwVN)2;SRW$^Oa;4jRu00-J0DxF9rH3bRth`Y7$_dO^Dj?F41wiL!D~YI&WYVURnT zDKs%#@r--}=|^!{w3!*p%CcwK(Z5W>JdeImfd6MLG`&dG7YzFohueflN;zNOgE_*L zBzy1V$}RjSCjTg$#Oj~QtxpWMUS!J2!pcct?3GtXIsMch$rZx2$|hRYF!@_)H>?_Q zH;Qs|jZ-gQQG&hT72Vhifz?S=z}MfK9Pkv>)YSNWg#}q4SyS;1$fT;`yghE^8soJD z>?i0L!%i64G`JMOw1DHGDXq8{nwsR2=FJ8T-3w*d+(~cSv#Z*+43)aVBipwm8@jGzmrX4A zNbO8To(poK%`4L6nxonjcfbWIkJxF!r>`hpDOdc!S4Yk)rN8mpIW& zE!}YJBd!ZeVb3O5$fBip?A$kA^?CjNmc#ABBPCSWvV}t=dmpQinM_bsuy~xRf}AG3 z|H%5=p$baF4OM;XcdV6F!EEApgDzMSfp%yf_z>;Da2(ZL;2tOgbH}P=JXDzDEHq{3 z5YD17abWHM(I0er81(GC*#y%{=iK^~1z{V7*(iq+ZXl)yP~VeE82z9AqVP!u0Sc8j zLo6&g*48SvBL&pAwptm0=mc8;v-(vu`$ml(%h9j5JUwAbtfAavA8YoFJ-qF%UkJaQ zdLMw|QLeIB_|`C&dqs-6GU9@iY^?j9vWgY{l(w)KkIw(Fk|CSSg8U}sf9 z-6;9(=&10-eGZTP>C3)!>rKyId}>|DpG$t~-J?c}!g!Y*OQdUBhveLeL! zScMs4xDaC7(PVg9ZCSV`4wHeap+L_ktgtQ~t(i}48FpO^`e7KM?#{QSEFJ96yNYaQ z$^|^{^0AMn;4AC~eko5v3hiLy98K1{iVA{-Sm}PTDtAl*)8gj~$>}kXngS&XVy+hjIV`dhxzEIy&tMXByrT4>F#LDP z`drW6r*@ur@H*iid)w{BzO{m8ELQv%TRf8VJvn}Sp!2ZLmqQny69@IC9Or+o$;A!P@SfB6F7u&4G`BW~?s%n$9Q!27$mAaYDpL9@d%)~rS zxnfBwXA>1x%#{W269qJ^riR@`7kB%gIw#j&+CnFt_0q;%L4t3f-EX8m_HB4-B<*U3V71Y!)vrv)OlQ(cTC?+MeUN3 zrq+xFn21Z{R^beYRP+J$lweV;d%!-Lxhyl=M;aMZw8YJd9*7GsAT#XxKzkF7u(Bgk z*!l3q7L{7>UGemln$tzf8@{$J(bc{8)$Lo`x+{W>jJhEe29$B21Qc;5G^w=TbcThMSE(u@HjYPhtubXNjC&$V60hpMq=PWM>0#OlX zRQ??}44seKir)Lq%n5XCjN&ZwDNz*JOw_IE8L1yWoRS4D65$pdO_^fpmB&6IUKP)r z0V34BF`3Uf=9BKlh0K{FJrq#7pviJ%gzlMGSD=2A$wV#i<3!Nyk}FTV9u$|*HoDom z=-3zMRe1u55EH`ls4kGOI2r7UMbA}aK<=k#*dxazH0{@L|bir?zT+9nK_QLyGt4q*#-+M&Ml;G%|5x1UJ52MBDTTQZc1dRzb6tl zT$s?vxMd0%ynq>;q=cb~H}o{faN>nY)6aoHjxTtCfsovp+lAArhgD;UUPGvAN|xqU zxsAEmN<|JIDlFi&fr|1f)FV5=S_#@X)HRtvhYc^%l8sW^fERU5cFG0>JdFCy)9@lu z-B6Xo!Zh%XJ`X-17O8ho8#WSBi)16Y)?~p zF&X8I@LcS|X{7>adrZ-rJE>gzT6H@Q>02*WTK?;KWA`d%6iqO-p z)nN}>^;LB_CUv%c0c}3?R9Q?#dKtE+ew(OmSxAK)NI_syxA zSe>@oHDFGazUp4Z314*B&NL8lM`cYc0;=tZmgt&(}Hgzb1(%H&$N=$`yA&;pLw+lCg7JG{7 zNAmbGmMJB2#6C(1bz^xQTo2ZFii^WaJJTg9-1n>t5_?YGG%)gwCx0$a=UjNTJe~9C z?Ws8DHOi>JXz@qbOwL$!dM4+iU%3J^Ir)7l1e{Y`hf_U*{G|(=Ih&Ko%v1HctJ%p` z&p6qDoA`a6YML9u>9Tu5$0bcWVbL9-N=uoO7 zIhD9O_jyZ2J=}Lb{IIW)^RzS1dQpkZqVuk=?-0*g`I59)>Heb5hw|2pCTrY*%(KqC zx%4(`0|?~2HT3pQKUu2!RqA#e4HS*Ng(7d0k&&tCTD|=h-&5xaDak;_bZ% zxwvXn(+nkjo>2OHGjA`!041HjPP)J8+be2$wpgk41B+!nS9GoOzQLL0_2;_7wbD9g zp6bHV>8CoLu5uFf^6WR*Ki3WRdELCHnr5N?Z*MR!CbZ^t$Pqc|b*wLpfyI^rQwp6^nazgh2K;3vaB!tr5gAC#G#1p=^b+mJEYK&c zl1p_q_$e)xFp`-bJCO`rhlff&s~3LiE!Jo>TmWxjl`w}*k}8(&k0j9 z_Q{_Z3VW@ClQ-P&sJ1_KfWn`9t}o__rRDRAsxxn@E&;+2R3yPCae1;Qp05jOEd2@# zSls~clJ+($ToAY(enR}EXevQYhN2EmhmGM<(Q>`FBzsYBXM0;K-UBs!2E!Y3?C=My zwiGeQ{YK1y(WpVTUee8{5vJ^$NNj^9bGj^plUlr@JOv)40u2$SaL#C#;lE^A*uSLJ z9V%PDVEOiSk+z8g&u(1V+?=8-L^9>}#z**d84pPJ}Ker}THy z-hTAZ|E6eXBYK76SDcD>N89(@@!$`4H%HsZ(4KND01AD%X6oBte@ysZadjQ{3SS@S z9RKO(6a7ouMt=I!-CjHGv6ra;#G1+fUt{f@qVmj}%KebDC>R6}Ci~m+JuyuyzRs5NfT_gZ6Ad`+Wu+nyEW)S^#71-!Xefo> z5~9K2Er5cl=oFqX7>wz?V?{n$VdMo<&&7H05}2ZJ8uUFZDJG@7(!m;U&n@>RF|(cZPsb+*ClPx*o_^1bGDbn6vj1 zV2VPNsN+$Pu|rEo;C_fja`P;H$EM1;9J;00z6)z402FkdRqyl&bT`c|6v@ z&ytXw=YXG4$w??yB^OVDz!pi0?K{M*+ zxL;bv-`H_wUw7LjukF}5u&k?b;Fc%i#)jx{=jFobYfr{6a#sy5*%{&bn~TNzx@K$? z>g(nySbRt>!^0H6X+2EqlkvIwm(qPU@z(kGE>UU>v2lr|?f!SVmd;b2xQ$YzaG_$9 zYEVLOPqj}!;v_0VaZG;n2kYk$p?U~UZA{cXu}s-HD^^NLju+xK~mE6nLBj;H9{aV2Rw3Y{h^_r=zUZQP9~ywJU~yl;OS7^K^bTcK_Jk6Dch;qt~`+wqD!Dc$9|&^#6rkTPb4KpIdyaSAFmo zS=ydu;q21{GyUc#Ix{-|XzKtAb46|RGsN^%8`Y!Ury;G2!od)P%1VdIvCys_O#?if zBFL4flfXwhn@c1cHW7@R4$GZ~{K&EW>+>{a56Ln9Jhc+vEywztVjFPTZz0xiKrZz_ zazJ0?%2w4y5%#;d=6EAV8Wdb3#bqfgas@tOkP2UcaJMy1z$Vj38`V)UtyB7GLX~!I z`yG_y1QQ)(6-5IO=@)}6DM(!eFn$_P%Tp!+T56JpaNT-9hP-Og2Q958NtLzoo)bYIZA@UivRf9vO0 z-PT;*S10^D)qOP}Y*+8^Xm&*J=w0~_;g8?lwY9sjWyjZ>DzpXY#mtT^5e{EQbWO#(D)#iX7 zrb>$$#vohch?5erEgL4IOBavu7_LEydPw3`n%nHfGkOMq5NlV{l*+hte@1{7PyGQ>GCHk}^~RS77xE zVFL0>DGxy1UTm@f=OEb(ydh!5{BsxSmo?tK&{3*U86&5N^VFq}JU%{DY5Pp9W5x0X zmt6I!eT&VSsWD%n_H6E7*V6UiTML`RiMGaVJ*{;zl*}iF+G^LYYUx#T2}{Ve z==nQ_+ZVL0ZVJ}!^|+l25}pmiH?QB`R4_T&R~GHsS|9c`O!Nh6!hAdtxp%mCLOAW_n9grs*Wwj>kr)(;nSsBUemB;?KQ zP|@wPD`)Cce}4`UhgS`N6Jir2Zxt^ zm`E?1F3d~DGnF%yW2JUnRLfast7W>IltPa(=uMYnx}E>q+L_OYWB!LSyhhsZ{}tK2 zGIaou+^JVp-vWnM1F+7$$@X*0E#UOVcn3gINkexho9Ff|7?#cin7Z?TII-{WF;a^9 zeWE^i%!&@Vtgzjuv&)1q=`irPw&X0S=g8v0;z@rTJW)xImH%X6kQ zi(ZCWJ2AFIl<1tZC0dl{vla9IfjApxa0~wrMS89NPH$ZkWdQ!)5NfV}I*BoN=Fgap z=z#yM24CmlaqiD1>2j2Kr&^O^rFxzX%H`g5tuowl;zG(`3Ra8J^a>T;P>G-ePx3Nq`v zWv`mC0m8>tZho@wVc~ZuY~ZTEO(Ogyt9j$p4=-9`Jc?12S&>yjHjBYpR&$}%D~!9i z-U)MbT;}%>5{$6KU2G0iX{=zLTS$H@YoQiEG|Ln84!1Ob zfUz-7J2Bup*JW!fgHi+%bkVF^nb{;!{YmkM9EC7z$EMHIx`G*jNJh?$rPyfa1@_WT zM9><^5nB1nqYhXsrV(?Mby1o2;hECm#@=P#TF)Mx%^ZDdDAAd?ixlbk@=&EZdf!8u ze|-6-{`NM9ZGDG9TapONF7dm?m(;gm?#UhGk!XHVr?DDuXk3 zayxOXsP(wwqr!Lo-Jfr2QXi2$;4^=M3?d+A^{_W3S2jevZY7FoO3ZmV$^s4F+FV%y z(oK~D(=thdQv!{x0$PHS*kTJBQF%oy>cO|`Xaq+mX4Zv*UQe}K8W>?Q7ZswfdU`Q1 zl}C9$eV?ktA^03-Yxz=Zjf~BIl~U5V<+*ERcfwl5%TF zs3j4qc9%AhdA+gRZ}}u%A$fsYo0;*#c5OsBHz(5s9Eb51F9?|UJ*=$GTArtKu5b3Q3Y#}c|K5ul|*f;6c2|Q;F;tYR01gkkg70b94WJ(OA0rpk3J_$ z2KhS8-Us7hNM^U$LQFs+SNsrrIA#b+bMlVqM{?OOwx<6tC^|>#PRB0ZI z&a(M8utNM3w2)j`8b5mRNd4R=@n&WU5oa=X<}L1d)>ii&Q!zsmXI4$&7d($Fr;}(VcNeh*HfiNpuGF#@pt@4Ym8ux*d9b+@5PtzAeY- zl$YboyU0@*V2j;~zNAN=Yj#)UaY}`j2MDJvFQc;-P;ro-UE+42XSBpv1h#|>sFZ4h zRKFhb$t;NjE6VI4wWDYjovqegQVzI(DPB2N;*RVCEpfkC(tjYB$>f#uHpW_5Wqa39 z#vxMOwm~?}#Z^r>r$*GP)}yLDq=;Z>g|!N|ht@h(lpAQddX_eT(Rn&=j!~Um*idH$ z$$W{?P?%B4&h%TV*6EwFexn?;DfK2HjdJlm1tv3;oh^&?SFw(&%o;~_e$leFIL%3Y zbok;xYl@Br&0uPkp(w9rOLd~zJ)2Q-9BGt}_;w>4{cXSJIiwIW@g4X1o^umLD$WKBwWbG=n|mKaH+BcxpV} zG7xn~%S){#HH%?ewA~Je1H*PKu@?T(T3gJJL!3^MUu14*om>{SMh!sMozASD4O7~$ zP8_O>j3kyu+-Nc}8%x$N<8KK$LttoEDmDraDa(|hOIId?N-#vl@J9(`YTen4@N0 z8{cGj1e<0_!wzQ7#SRrJ;K+8MP)`maG6liF-lvd#Y9s9?+K-D+j{U{VZziABKCs4C zul;0U)a=W>`QyJ*LGO%oc@hbqFVQ08-gNtacN|=?tz{%=t8j)3ZC!QcRaHO9Z8p3s zealb0FNP{g{9JouMKH^ybxr<5ugNVOP%dim`VtAhuUY7`=T%OA@9mw#k!qX2s-(W8 z-8r~}d&6B=Pd-n73jHQ3e}6smb7dUSoE`RRNwTiEFeis|JDgkru@yjXAaCS#5KpxW zb!_+^h0bi#(oh2do84AvK!*%Ok0xlPUl2c5GfHtZACp2B+0G_ol%1Nfp131Y5X}E! zd9?T^iAC!kTHd-W?DaGeuE!NBAX-cFT5^9X^%J*hYnM-DzrJ#xqjq&&BJNh@=jV@v zoB5|k172&6mHb$avjjmHV`~IC9 zy}sP01z|oRRXINLbvdhrrv_&CA}krj>^3KxV*!t=yhM-wE|QB5FQ9WdWu=-NUeQnu zcbM0S2wki;K$pqp8k_a3F&oo;q~oN8i1;P0T>KQNE18-PwvNI{04@ma=t2t@4SC!= z-G~e%1MdN?5DlV}b$L;AIs#f5x-YWYQLA1YSU7bj*;t)eJN12c(dtG2yjq=A5MC=N zSJW3znkbAhv8rf0i5jZ?4kPau}8LFK}w$(~?= z(x?FCnc2XhuUp}9*~>KOg9@}#uHLZivL+9uS75Li*1LQ4a(&mMY1s^Ct;#iOx! zYD?M9%Ay3JqLZ@$f+C9ai3q4{WvME`K4tL?%7A)t*=?{%z%rsSO0^?xsmW}Dp20ky z>AT4fRd%mQ1iEV4888wq1Rv0BxeesEdhwoCj|%cdipM3Hmm z_xvmTM^T5qI9XTCWs@r6qvOLZMsQImFbM+VH}J@m!UtQ0FJXMW$*9+9b2S-69FoLg zudqGOV_z5pKDyy~JM%LnJZb@Bxtos_yA~T&h3HXLo%}c^dB-aop zm2O}oKPlaCWN1S+DaqcFZ}|8_8sU2ol!6LtODwglNyBa1_nIn|@$#GymBtTN6JDJg zEp|4lyeTpc_eMYe*D*mY(Ii5u03Wvcm8n;`Cg>%)wy|UlJ*{bn#EuTyh+w6-TsSPY z%(IS*E)WNXe3zVk5&NI#b7(X5432L7HSFlJHs=@J^I-bugv(N+H&SO;tWBMrDvzGs z)QaiKSM=bOFCgpH$gb2BV0mO9e2t|L0TGCD_2OD8JcNiQ^}yV8j> zbvl{WR6}dZCuvhwSI>SWskE}fT1Hs~r~F(en3-UmQ)hCm(nyd zKVawPr7XvlPI_)moR*WSOBGX>sq?~`sLq^u1zEtsIGETmNtF{~wDDmoGc!R?9+>Nt zNQJbpxetju#-=_7FyRph2tq7+K5oTeGGudbl$ofg5Kap`M}=0;@ieJr(1Vw+??fh=ZOM98G2TQksILd_ABl?9C z2M*s7=~_(=N~VmQJh1Knxl?lJXol*}&u)D5`DWoSR?+6+#wZ4GPWy09PQ`dKQmHU- z@R%9t60j-yQ~o<$E?wY?}H{X3s3H z#;Xk<-L|*(8zkH}(MSGnsioEqx9HU~Z>W9*TkU{eT#<~}OYxZ6ECLQ#zS^l)>4J!> zb#OfZ%Tw<@=%Ws(v>KgO19m;h2bG;q(XUUlZh^6Z5^u4)MeKMQ*@uVkX~1~oh!x|H zSyICtN&6(KAFXYQ3$Hna>falZL&DZY72d?(Dtr3K0`lmOI9}f{Cj1&)Lgj2=0&bdd z^u-U}S6(!Ee^<5N4Fa{i%HV(Sqlu8(I!X9kb#BZSugZ9U6-S>Xm7beSKK6gE#=v~TYA&-NWA!JviM?ev+(-n z2mi`_UtdsV;;fD`mC*M0m#gh{!Cql}vqf9f$Zt=z=u??M#P=iITnFl5S0izqM`(fB(q7cJoC2F zqS^%h^A^SSB&x=3oPp-iNejGDmP-hfljf!XTyn&Z-}TS6^;g{MgNbj*tG#fINsl_vCT@ZEtID zvDH-NXlV5heq`#!|NL4f>gNTntg!47!`A|iQah(;vX$6hee%AyxSu4A1r~L6jsYIS zng0;RR6m5)ZBndDHa2LgtNE&OqduPw8p<(b^C1!f4WfcF##dGp8DNW}T7R9N#hbLO zAfJ+SGK@{MLsVMWXDlic!L>Ag>ilp+%-ks=LLMnBElb?6D1WK2b}p+-?qGJiX2sai z6b$L?@Y#0qubsm-izfV27mK*0&uYTBRP#h1^||sf{q_pRu(UcEtIk(eX$lH>CDKs! zgeL(^RVL;DwuZz|=nB~gKyY08>$PDB}N*$6+ z8$9dsW#E0f?IsV)cKBX*Z+PO+cp8EoZn&##n#ty`5v^~nzklizx14U47i=^Fh`s$6 z+~_uM(+qo!8*&i+8FwSsPG|KX8<(`Er@RFGVC7T?)AM>V$JmIA^=2#)F2+1(*wEzl zJO{i0tEElJ^PFBYfTT9oL^(exgI}S-h71hWRHD)7H3|)m60j%6P`d0m$|}9mq}Ndw zL#Gtc@>$m;_V~%Y4RrJ*%|_8&33D##TDUuIUer6f`BVF@ym@HhXI}W}u>ByD4wq(QLAQv4i3#@d;Ueyt|IwzSpY&*nc^}-BjL$=!l-OAKVmeNxOK+HMpwuhDHN^J2pbRozXD(Zp33|N>Fq05%3Wk2*1-!4Zw_~@&UW>CI~qkj^o?gSe`6Z%RUf`yjqYL^XF zHW;9hVbqz(-=gvE7{*v83)DXfzZHLGosfv z9S4gRh32lT(hjMSb1)I6yJ)bl&H~ge#evG>!jC48?k)DO5%R{OmdWBW%LJMH(ypVM z8xHM%uCjaT@r3^yD>e$Xp&WBc4y;!04vny6l_gS{hpbiYGXBK4%cIZFvnCeYe{w}l zv{cXxC%A9t_K$q@cg0n|Ny`DJSP4bF7jj^QZ$FZ(b1DpkZi5YeYq>>D$}L(@E_3iv zFc-r{hvCo=x!Q)I3Y4uRqof7b1E2t{w*^kjP*aL@gjxIxSBs^fXqG};Da%sfZM8Z* zaOJ(bPg{EmqxapX-dSPU)3UhNADO7E%+nbn+j^F+Pe}qddP7A#*Irt#5<2^uA8H?M z3~n+Mmw#d3e{k>0XOBglc@voalkm6bnYY2`I{VDSb%*dK@Un2wl4%5R^H2%YHD|Si ztf+ypv0sQ*K#>8BZO=m}xO_Q|J5QP5;u(<~F3*FAb*;!$u1zKk#BH-Z z0BFd@J1|s)hIl%u!ee&HV4ISmAOQHzPcFo5m?jQ0wF9?8UidU=n5G?+8Qsu!)UOo6 z9<+#kN)DA#rHVGf3>I@>A8ko+tu$x_`XgsD+gnLlDW~Xdh4fdK7v_}L^>(3-z7B1wa8lnE@7bl!80y;6ggyIBBY$X4 z>hNM#RN9X6&pB0zw*A{$Vij)7&Kp)8z4-LlmHm}*qqEzi+A+BMvIRZiUQ0t=#mbg7 zn?AXvC+@I0Of^Do%69P2s-NlUPsCP+2WrcA-FV-IXAW!%m3ETvD2>KXZ(Oi=WPAJi zfs#bDYVBoZB!Y`oXy*?YLE`R-6xo!MZI##Bu+BM>Y|FMh$d)|Fk~LeiHCeJG zOR_xA@sPxJ20QaShfE|P34}R;5au$cP@oiOOQD6*TMBJyfzr~_(n~4#w!NJ$m(q#b zlKA9%-uE2Ib_SZjzt;c#YyHp_+pDmv0h5SY*VfvSZcd#~^XL^5 zv(r@jGE#HSiQpmKi?!1bW9jlHL-ycoy_?>iDQaJKb>=xV@ci42^H|%Vb=UOfjErg7~y7cGNK~X+y2hvwcP)&m z9d@^2!MW`2a7eJbgNsYbw#}CKH_M$&`#CLd%r98pu)&Q^D+%%K_VZcW){nKeE$JlJ zoFXBP;N$-dT2CDxW8!gE^N2w6^iUTX`7%pr{ni3+~{ z{~c>9Ajpfbw%oxCp1fddOJ&7KcJuABVnm%0u*Ol_lRY)oDH>FxL5{hy_-O-HO$=5?VPPg433fAfkoG?^P zrIToikRZ&9K0Nfu&bD?$BAL_-sTLt2gT8!1%^=D}b3VCHbRAZi=vSJe2>9t%L_(7) z)RE9$DVM+2S6S7!V7P03X5p;PtlAne%j7rT&NRpG4=D4|^uiXfjh|I~;VD*Mk?yS; zT@ORnn_B3$Ipg}d5K-~dWj@Q+k}5WkCj**3+^$l|a(QT1jl!Ziz%z z3>&6LGHx=}WT`cNBD!PjkqH6EIpuoq**-?<4{@gtb?C=e3n{p&yfNv-7(vE)~U}{ifmz( zmGq%PFpRD}vgHXq8aYKp4U!_(ibRv!Wi=bI;g-OUd+r*8RNmPM#bfkXd#abUMB40) zCOJ9zYAZc@R?4#ZOyl*L{_?B24fIs)sbxhsMLaHpVMl2t8^9(Cbs;_WT?fXQmKQZ-6}`Oqq$9JPhT%14g1V8jAcPe{sv?~agXNR+@z^yIY& zB~@sQF36v`)M>`S(*SGc>5D2(4S>)7A!XfB2=M?;SnU zD6qflaek=69W};tXqm(=(vUir9bvPCb=dR1D2Vf`LVAmECEp5BO`e2Clxc zLVQx38tKy^Q4rx{bL$av!!n{ne&#cZ8ZMXsx}}KTe%yWh{aN>T=CNZiom~4fj~?%5 zw*RR3CmV2!TY9Rp$KC&M@uR^rkNkw#H0L1KFQ_rZ zA8lB8{a^3fG3>6Jzo96yn)R+3(8=WA^Y!2Nvt3R8;{4lFL&wOx^{{pDW>03`dc$0Y z!-E#CGPCmsQ(t>_%>ymozSjO-*wb}&*y7e<^rE13O|fRGZ^dw8^52#|8?&>Oevc!^ zz-*p9k1Ux7Yw;Q;u|0^RH>Of8wqV4TbQMVr#f62qeV{o&Ay{UG1Y^;9ueMrVm?ZfV zM(L=M>#K^$i#Dsa8f}V2xgtsyv_-fcw5UP6X-15q9BEEpY|&Gpr3=CoCl?`8n%9Q^ z4ER+r9s$u=oJWe>lQnDCbSzu6=ZfaJ^EL!~YSgNsTkerR%et05-`+a^w)<_G%49G* zy4|hIOsqQ{?hjPAjxB9r=6wI@VEdN9%ZzzbRdv3CsZp7wQ1C8<3HiRydmL^m&9%K(QeMViGS|M&YQ16>iuk zP&Jfn<@#~m1?d%r!3ilgw8-)L#c2^?#Ad1PkXp0{GFY9Op*2YB)myn4x`S)uW#oP@ z*dem2Ls%d$NOh<{kZlown9vZ2TX%t4L+bGtq9V7FTK2^#gr3Uaho|3`>*Rlg1X{pk z5J=e~XBeJ%j2NDoc89!jA$BKgc0P^KnXY-ubr)!E4$v|6tAu@VS8M|@-X}3MUqp%c z?$0HiOZt5TeNj7u3b+TnAgfaGCR^~FMy4?$7@3(ihP-w`ih><_#8PKX^~I{n8Epa$ z7o<1!v~oUUJKV+S(8CZ?W+xmc__3UE=u)$!A5)T{E?F!s3!GtDVu6fF>6L}sWeIq) zMEKnLlpUwdc(PCF$T+dsDk40gVT7d5;pQ&b>fEy+5o(DI%)g{1+8?u;dn3_-flp$D zSVLQ^Z>%Y_V|1)3*zR=HH}>~N8V3;d3A*+<=votULYq^mHd#0!^PW@TV5$nkUh2_0 zWr4ITD)_Z%;CvdFk*OFZetN(5aYDTy4gCDs0-bXaN+{E|Mf=C%p&j$b<5Z53{+`AN zkt6kRsOXS7L_2!-&(y?JL!iAW9^f+i2u*Bn!JfzSSvL|#WN{S=nlB0J_=(Khbh&1_ z@#BJ3kgv$rYG$^6d;(9H?T(+W-%$OdeIOoWEYgU`n+45_Ly!bhLFK%&ykojC;w8C? z45&&c8zZ6fn>R=aX^`=WV(}KJpwL`%xvzVAEXL{5%dZ&@U{~{ER zTSMAO$Zlftm9~{Ik{|I8$@PfU(m?W|u%@~wzpR>N(k^=?O9y%onU}E=Y>7feRT(fE z3UW2+BpDF58Y(rVB|>aY^emIM5D+Lq^5T@8h~=Sm=-3pYJgFJZ=xe=TXfM5rxt)S7 z%lsx=Is!HgP?m4&+;;7~9}DQS=I*lNtCo7{(#Nd>3x*mm5XF=J&Uti$=2fVFZAztl z#WkRFuVLd%++IgEXEp$@yPRxc0|Sy2t`MZ|;RZ$-tx|id^f|eu;RdoC(5xq$GiR{7 zi!u|sJw^4Roo8euT9wK85dF%@FdSz(fk_y2VSo&}HK*I*uSrJ)g7<9=rjN(&AE-8u zXtZ^y@4?<#>uBNyMNdp=h(=CE^7NbxMz|dn6wmTDsL4x3?|H*{P890yM zh`skBtLAk3J!eAll#cOWmIG-*v;)lgNeCxJDu$e7EL=BrvwdYgAGKXp;h1E8y(q$t zF-uAn4dcx3hZ>n-X1~)v%s-JS146q>gMBCGaSxnYEH!qTBV4m`Uk)#zjEFxgtfGn7V zJWVP0>pKeNZRLeI()iO8rOWh61vWz1l}0~k`{rZ{e_T{6XNwAz-lZR%WH*&-r#y^m zZ(rEtu$kMMyuJJ9^Y0uj&YfT8V2|)GJZyTw9RCXA`c{*HRc7m^_d!ugpkrRdfy+~g zK)sK3)uFzvQlJZtv2qRd=x+7<$S4OVDKCSCLK`|ATc~%DjI_Rrq?d{mGx9EiE{Pf? zsF{9Htoy;0(E1tMj96o4lT{z2VRn6hN2M z&iK?@uNPJQAnH^W6WRttZeo!65^Ec_F@MfT<@D>|bzcKLioudENQKQ@1(U}l<4tVT znFrji$AT=#RQo zqd~?+WU?TglMn|?6@{zx4Vl(v*2Y4MM8W8t>c^{k-#!mt^qsOR8SocJ{T1LH+QCyo<9ZZe=4ZTx82f|WeyZFLX3^Sf=X$jp}#ucy% zR#T=d1S>dFc8r3R)|4S@i_|10AC$tpJV{By7EMn`3c5n1mf5t021;S@hcTe{1sQh` z8ZZWAB5kT^2qpdbDHGHErxn3=zirdW54kt_2fq1GyKONuk?qisHP)Q;H0s8d%lU_E zq;D*^QNcK~;0I4~>hw76S+SuDY*i{zpwK!cV0vcFXjv(Tsg#|0NCHU(zKL>%m=86)clO|C zHvV9ZwQ)u}pi9HrTm+niQi-&n%$lI zo@Oeg)|%#GSUSJlP*r2L8=~I8_&ke>{m6}^Mh3ZvX9>P573u~HQ;lWFuFgKqD#^^# z#8J|d)YR0FG2Zi?q&LHbMOtCO?C=^v%V(eE%yH!No+h861V6`FGSkb3#M4xO^V&if5nWu@8Ng1auCl?fi2)LlM%1Eh8&wI4uWzE(N z&Ua54q11Z5W92sRU&>U8&c37B!jO2XyJ3@Uh>W+Vy6Bm@>+BzUOFgIuab)KWy1408 zC4(}cV>;gviw{Li^~@_P5Hnrqg%zLpf{vH{a;B{OFVFX|*pSKaf8>X_J7fo--90H+ zy`omFkk@iH2K&)jNuitxNDSa~LiQUP?I|>usTBc-xftbytV5zv1+9k8K*p+Y00>5y zM;4q8!84?ZCI`-4C>UgzNr<0Dep|Jn=-=kf-FSSd*BG=I9m-sHOVH~q{a*Xtr3Xfx zwJ31a=jS>Ob$x>irmWEs~w7-k_q+qcGIr-`c85SyacBm2eVi9>X<76?qm$$4FbE z=u`q{0!|yp9hO;qGG|LF>ckWw3g?tudp4VK#y3;6Cw3QN$qH{EI6@9I zW0IW-sL--+;8ZlLBzkEL*|`F14#8P%76_AAbD8uCK6h!8)Xpa^sa84$_=AC}z}4(f z=!H`MRE#+?erUWYyk}_sj-A7yfxa*jO8*HPt~EGK`~wEy6ML+tk}3FI$X#Qr%mo@& zyZ$JZoZP)R!hC?<)D2!oV`OBwDK_kjfWjzbwMP>FRisl_7D0$I^uGK-IyWbQTN6Vz zX})BMJ)ee&{VRmai%qnBARRz7sbpl82(4)L;%VQMwg62mFCJ) z1F{Zpu-KR53246^x^x2e={SjsGLBipl1=g=+b}BDuVCleTiOkpCcYbz*M4!D94H4yA&ZCCt;G45An=AOw zvg_uJgun9T#84=)<>AM^wI-fuTq-ZhDKF>$!6)_ABL(c|q>IP)+_N^-Z!?d#E%@cL zp;mSvlcN%IeG%mPA_E8EejR#o9_3|;B&SRM4p<4hB_on!sf7-izB?H3V2N;!KF+nI z8$#fe$6#nK%k}r<;v12PJz ze>K&9fU_BJi)z1c1+ssNH)0k7qxI4Z1BZcN(#$;|%zISVLz!iAq(ct{Mp8BhS`*6U zCM=f4QIf-JU<|71*%tX{ESH~>P6SJq^OqV+7H{$o@&|3HHui7sGW)pH)M{khRpx4_s;vG?|Z>3a!rjhm@DEPQ1Ilb?M26n58dWmjyh`xPpJups0;73ms*fo-pYu zP)f{ioX>r&(V)_o zINNHf0FZJh=gv?UE>F796sRe+SLF^3bR}Xo%91x@H#Dvexi;CGgOwH{MLo@poqcIY zlrZz!n8~dPhjSW4n3f575sbQgnl?-NRQbH0FPUsg6zm!vU(@gQ zZ(77iwuBn1Y{%SPTa$fbhgR}$7vIownAfb`(K{iR_s;8UYrHCO_<^pYot=qrTQ814 zrziI6_myk*wRUW_I-lqn3Pwi0@Y0D_?2%FF{*HKG`jUCABORe1b%OQgu}%E{Ub1(j zXZatWb2swq?ZM>-deYG=nftR>g3RUFWw*;u!UxpB(=~x-AnB6j8)Q{g5)5Twlbv3t zEiMFa37|QK@SB26jfA0e14_R`W^SqB zY7Q`YwnZH6_f{%yhz{N{%rH=KAymZ-Y(}!viAdS_<#Vm=d$0ZD6VJ|FciVz5ri@D# z?RfR=S66LVcj_?v^Nz{4AK8_3a7|P8^pdw9+MRar&t~(vvhRMorFqA#|M9awUAxNp z4kPur4}9a_zVho^?|0w#(T}7pp}&6NgS+=^;_f;5t=I>T|L=Xfw;{&qEOY3Is!An| z{CnItp{Y8F9XuWh?7Hc3D+-K?>WHKoR-UP0*bvoE!bC2Tl$R)37DQ2r5ThfU_5>yc zg7UgxIVK&++jKSMBxf|;LVBk3Fwv9M)fuCIIp`jnmLcf&Ee=it*(c}}{l~#G8ABunaL$n~XUq>vwq&M4GX43pWg+`N>3y3@~4>nO=|`=QH^Hu<@2LZjEmw)jCtG*lzzPT*Vp7d?JwKL5uz z`xRs#8S6REZ1J4k>~|JVD&-?2yyOPsfMApK z$?T|uY)Z9*z0pZh{a8{{j&eqhqLjlV88O5z2NI2p6iEz|5r7y%fHOn5Pg`JXsw!zd zqnJ?6QOOXrCH|BBhKBtp7s08WDK-ObSZ@Dw=-MWOC|Y|(q|-cxssFS<-w0&%9!My zW{CN;$k@kTnxz_KB~Kv`e3i;D3G_NtT&9K)EttrYM9_yW^-93$Tv1*oQ>d}(*1}km z3Jc?7rAYbvedtbSAW12vOUNEJv})9Qgy=HjWjOoTJOsei7i2J!KiMapDt1YG0vh^)j@%t@O zWobo2ihIOkP8R2w`R5(_<#pz%_bV-yHN0xT8uUWZ?nh+CQt9}1cE(Ll0IEonjhAhaGbo!3Mhm)n87I@)(h95!2MqV~}*!uLdI85KN3 zVn`Q5s_e6#y7t@;d1^it0Y2{Ir{9ykL7zhp{2feboibIeN1(_A|4wGfH*dXTbPy+WBle6PrcV}pS8Xjtv}ZZ3QA1utay+dN~o|9IVK~d z0Impxv*btA?{5_4z)7|hwpI@mOnouGw^>tFS-Rt%s-X^NKHHM#JXCa$3AxrA3YeD* zhK>zqrNRG-pHpunR=~_E%PWG-%-5OIgKZYeoN^!E%{-mZMX_*V)i&aKps%7mO(478 zQXvZjaKILGK3p#f)JoP-z{O)uhn_27q$VSJ7$6V;SzVjE%n^>q!fvO-MpDoQA-gWR zBT*d0Es>%j4HJm<6r!qGx`AX26$h;sW};DI8B}4Cn+XK0CCG}2+1z5xh`@?IR#=)Q z-bvc$yN>tR7H$r8kHp*d-@AQjG#Y5K^7Y2LoN&uuKHReDq2tf~c-t2KpX;9a&A#_2i=Ay}MrE zf6D)5)9PW8Jz019J@!=~i%N+JST+W}=|Fvh*}<_54ov}rKT3*}D7fcUA&S>knNW5@ zUreLT=x%hIYOBidTZIt06CEKrl4OPe`*Wvdy7=A_o3vdc^Jpn90F0a+Rl-4=0Go#9%V=XYB z`e#XgUQrwO%Yn^PrZMb@a5oFFo71Dd7-Zwb27|1Br(HnpYRP24&AYme}~_xXbG27 zV9-8a!TjjuCBAq^EX_B@?4Mig^k25!WaYoz5q@;_hMVs!tz};^`i3vPeBDN`o;arp z;>_IUdaI?|vNzFoy*J287drMgFI%5?a#iWll@IN?1ji*&!xpF^i&{x@%AwXs*s4lJ zjuZ!5E3qIiD8&X)5cuIhYqi38lEdVL=chs-VxS-iuwEFuJKMo$&=C77{~vJ0Y2vP$ zuu6wG?&Mqr_vD1BG_D(#u_wRpHpWY{?ik3%tMl7fGyjuV1E~%my;+Y z&Qz5QdE-Ka-&z>du6_iowP;4cah&tPh1ks zrFKt90g~QV0kVq2Ax!3;lM;#v6GIf{(GW>&vqmakER>;CtEm;T&>ArbO~HV4a+@hv zrC*v}J7hF%HRqHXCR$fIoQBa~-E{Mk{eSrGU;cF6&C7QG=JogZe|&yLXWP#CJHC4D zp~+}^-w^jO-{R6*imMwZnCI`OHe!@Z%Br#zAsxW>k@TF&@ zKp{I+dm7ozRuua5%;}GT=Hg1QGoy|SAcs9dlqUNrK2sz5zr$t;6Y^u1k-k!`$U!Kb z%Sq~N(D`6MaJk?P4dC}MK*sawyP)ax2`F!okR&(@qKeLnU{ch=gsmkx0!Bs2Kn%$c z>9Uq93qmz>3a5UdNQTN0S)D9wp9|})XbzX#wX4~Z|9@dyvnFT>?1~e8v!V3HSq8l~hSoDvv1!c>v1$7ISq~NwExy zg+s%0n@xHW84@MKGA6NslbjRzhn^bw12H1`*fdzc!B7pG;cd~Wa^`E~>}W{M8QB+^ zVFlu0M>PqDI~6#zR7hP}UHZ|K!MuN}Af)YA@S}=kfFKThPJi{BJO*o~q~#>`wXU8H zeX++5p)a@R$witW*N6-ZCwLDbw}1uW8oXf!z?gn~^6+4vns%2n69WuFDnMq!%P&5zpt_8S zRs97T+Na=$70pyb8Kq%Pb8&@&S;OpqqcEiHR4|`YB!f^_{uP~c_|$Hqm6^xE&HQV~ z#h6Z+xDw<6GOt@#o!mp>Mx?f66L`KN;Nlo|sLzji+@Q}YEy>k{IG59CC;}B@t}TzN zv)P$Yg~rYl0}F?7{L+RHqo<|?+8S#J)zc;FHlfswO;BZ25unx6abvrF-1)#pJ9(PKhLzz2(@T_N_t?`DQ=ZPwqfV9&z%@eco@lIlVZtL z{8!d*wgxIpi`Xw+ZZ7Jc|KOJ8I@9H5MYX!AbH~UWlc|O|$X~`B^p-Cj8;Nb^Uf~~b zRS!h<_V6IHnBUB+8g)Tu&pPIRyw!CTs={)eZVd6~)5tR%MKn$rORXuDL6)cXNb-;| zQQ91`8b?u)Obn7>o-(fG!m|n7w6i%jh=35(DD zJ944rD@d|S$ZZLkFac11P}tu0;w5!})*ob3WMX0{RMn=C_0p}AB#}iFT}0ZNNP;`$ zGq~**e0OU9St&6Sx#3t9i0MIz^fV-4Mjfm*<*><2^(KG4#iSv(x+0gWM4vH*gRVB6 z-=f2PJ_~d~2BbZW21_tz=kh%^l0nTzN&pO*SP8!{=CJcGEez>~6jN`~D@|gEP)(PD z`QA4-hf_lxhkrgWm=0Yz9!N$*t1V6J?R=0tkLYM%wvge&O|}f!_O*?EwqfPMvO&*H z9jlYEe4I3nTl$2oA6rv9QeG^|K+~B#w+KcGr(9eVVai!-2xkD4aL_b;jPMpYp_v#d zdp`x_o5e&1A^0%hx*_|4{z zQ1oE!DL4YF53Sf20!`n9bbP|3d{Fw)$v51Vhzg=c3JM-VYIZd=?qXK(pXrX?fKUD$ zKKXU{eruQ%i~FXs>6IKuAb=LmUqno$d-NJed_ z6&W>+mt@qEHOQ#3E0Iy-Bvj02WC@w8A>TYcaR?iy5wCX1*z9o z3bIquv7obcJR?j2ONbB(QWKP&`pNTTWFcWjMfyNQkVp{kHvW0@ge#vPF7WwR&S!>h zs2c7u=d;!V{no-U#_4Y@&u8w=pA2>{=bt@PQKvNostcw*EHG`)V-5TcSB2MXmQ_dA zFt;-NWWUAIV+!(*GwYjlZi^+i#<`2%#hd33l~l&h3MR*^*@}Nk+8< zt)gL^(4__a%7K|Bnnm>HOh8HcV5p9XeONY>Wl6G2P_Nne3xAvF8cE~IZzwgCoBV2z z{o&*5?i(l!RkbRnKBP&Ys?xrRrj3bEk+H~CZYWwb80jjsmP~HFhtzNssNr-`YjfAi zmfKrfTd$4DT&{wSIbXQ_g}AGf{~3X0*?duwsa00jFBw_T)P7%2iL=NVpO^MTAM5X5 zwXT94q;5?p?O^Tl)U#^)f?vMQMHeherD<|`^xJRV{22L5A%QcYD-VEb%A~ArzHtl z>-tr)o=#U+x?|mIumA1WN3VD_HnQkIqkHZ6(j?Q*f9XEQ#_|13`pC6o%lYqb=Kply znk9{{`d3q&m8;y%^mp_QO*p6tXGv#p9 z>&%(>xZYfx4Uye}fFWQD*v=Iyi+~Qz8(8&8OYR>ZH*+&;!n4Zo9~V!{yzS|FUwaF4 zcYPcE=Hmlw`DN|(-sX0nr&;*wO~H~=ABCrNq9w0|+_^}?g+lBdUAEZ!Xl^v19Gt`sOyjH`VU-rpZ_0{{~LK zCoKk|*FkO}>e-#x z)JA1z&ZZm8gl1k=Xq<+H$~0b+)<%)6hQs|K=ovO1J^tYa*dJn{xW88)-DYv+H+r`o zzp^v=*uD2WR+)P812#SUjMP+@x^vC&r8loH&M#?5#=6~TN#_5%tKJ@>9<-b?j|hPHb*&y>}AGSbzFGP7eu$fRPua8iF#JUZIMD zdtQcl#7c(oVCPsRY%tITSSpsSHdeMm6Rg4v+0iKIw0 zqcst&<>FIg7c#XI)CAMl$b;k8NW9U9hH%LD>VTiiih+H`=80~7e&5j86`Mkio!hTl zdwsAjpw4HcOY7%WIPzBZ>{vIjdqXtP{Zu-?I824%D_hliWpnGgkz1Vh?!eCG9QBQitL>I_OJL5?B@JHg^IIO+(%f<%kw~1smwO5laiEqwnDTj%rLAUEa>fA1 zj`7_>P7-u7%0kj21bbS7BztEac2m?DbQ(2YCfKGX_*oOa!J-3X6 zQr1ZtL+G`YDEo~gX=7)7XRf;3P^fo~bdr8sLp5$V@q1K>1uI964%axd6`4L{wqZbU z1!&dFoSF#bNlt?FhCsW8<75fi74AI27*O)*Q$1f*bh+N=Su;@=E*i8Nje+LF4J)-a zf5;kaZVmNaGBS77l@+7KTKx*SYu1uknoh)4zIneBLNBAEeNq5xQS1kDa zHLlKv4yP?V*|VPi)9O3hefySljxxPrrFk3kJ<Qjc z(wCQK=qz^EnPBdV3-U-fN+FUsxg-n?&=u#j-HMocWS>P8gsLf^IH{`=OUDUI&gp2A zpcqgTji5Hf_UE{muEw5&uV32Mx^HunzVX5I7l(Ha?6|6bJiXuLY_!K+u29es><(*P zt&Nv=S?c+FrLX^F@uy;Ev!9#Z$Glj1q1AWh(4kvCbP^;~c!Yw>M%Aw&?94UE9$Y-dJW0tQpfByycb0p7_m|#u9;G&>HMA)I~d^ zhi^@cUez=2z3#PcQ+jd&IYeGulOy?gx8SYMcrPpXtK=^F?@N=0d$Oi649Tm$~<4-@{zi>Qp?C)K()%qCM+SZneS@oqD$`rI$R9@l9!Ap`I03d!j zo2%8}3@JN87MEZcPB>OUx2G?xS~zQRV=0g;RzV$L_le;H?nA>}vvmUKGP%p88xf;wAd|9C{!-Z=8qHT=qZzcVlP zm4{a|OYVAm-O$uSOx2b}ZvD>Ar~l61cJq+K`J+QP5#TE3U7ScIIzBWAB~X|KD`ugF zXzH0AR-#=6H^uoIs?Ld=&W)Jx|K0|U&Ud&QA;X@Ole6Xp^ITU)Bkvnn;-{oO(U(KL!9%^(Jr}mL9A! z4F&^N!6?vUBcO3|`w8)WrXgCGND%ZpgVm^qCMb?1D@2OXFk8ikA7hUcn9>bVUrJ}r z>CW${OL&dZgH7|x*_BgwatnuATN=zYaJ&|Gx21h5v8H}&Y^Z$CmDf1Fh)??lf1G=q z+YLWEkn+fFMk8CnmNI5td0DBzOXb4kIHD^A5&%wKht;gBMsIh)bkiC6mO|H^l0d3j7XyC`*0mcEGeO~TCPwgVsf+SRmY5y} z%A&*u6H7y$M$G$W{3!)XxVEJC9MnBTmjtMdQ&O|s_H;{$u0CM)q;70zThUnM%+Z#p zT(zwwhEh-S&^D)rdHmL^t{n!gOHIJ+8)!WE(c+~CI!$A@O)}y6%hwMmH@2^Md)G6^ z$>$#7UzQfhUc*j~BdOu$q{EtQYhx>zdE9@rCG(1%E`c z0L06X(-c4!{V9Vu{*`MAmI~Q*_$QKLXZuP@a~tf9^FRK%j>T%A-U(0;(T?$T(wC9uy*h=?}{h zSb#Gl)`eb4s}KO-){;U7QEbn@o7*FoojBUxJTY?1LyZHzt%sV2Zd>e*o6ODqhs^jO zzQZ>Jc5GgB^(DWbcc(qfk1)So_2Qz_E5y16<({>KYvV}*3@1ZPfcupW-E6j>a&I2 z!LgASAMT9jN(a&#muNPQxQOSfJ6*%RL$3J`s%Km8Z!EwHEM;8kc$8ETdJ z7)jRPR#LX^a&jb=9BpS2k0xg3f(B+ zm_&)Bx7hrbUy{1xp}YR`!Li=Sp^29ssA<}IS7OWbJrERn&!MruYXD_F)3 zCoDCP&ut*}(9(kZ9KmT(qd{D;z@6^}Fu+iSoYpn)2~oGmWEC31)IQ=v2e_ja{w8-# ze}&yUT5z&7Ph}{aqv>2avg6uax>p^Yt=#S#`nK?IjF-Ai?xi_Nb5(!|kFFYWcDwJd zMMEvY4DWHfp-VwvNbAgu3KU<=qbRevlbLA~!LDW0KMScpQHJCK^B)(P<$(5d@++iq z?ig&157V7KcdV!g&t(Srj&Mh+D_FLYO#LwuvLj9D(3j?P>dksWy77QH{( z=*Rp#J+cDiGVl!40+5r#|LDPyC`UXr0e+BW%vRfQ~3TPV3O-T&hC<2NtrneSYtZzI^@msVK5uKQ!yY@UoPH8mgx0nrD)bWWK zB)SWe{~ARfAVnhs@YLXoy-L%q{nJvQ+6+r$6UCW|@bS`c%X^6YgTsnnm}*xdi-(&n~=&tnc8 zS+oB4V>?>g)-3t{zuojGqrRp(ea-tnTjFsyG&%kKf!h|2&Fwfr>NO-&{etuth^WZk z(AJdA>Z+=pj;vg@ngS__uIz2znl_WybY_$_?eQFN1wuXVyz?vPt>v97fj#VKirQUG zF{X!n<4nZP9hXVl5_WsE$!TwFayS~vS3DK5y0_t}f|8V^7q#4Qb4Mt4ZtKf*fbLJ( z+SVOuOJogkcVea~7M?L434CEDhA6wOOktvWNMI@{_Aa>=a3&a8%*en^f&T;iEO z)&OR6M#TJ4jgWI*96Fxc^`$ed;OK%GR&ddE7ISd!M%cjNR_qe}h4|1@r3PlKOBDH1c z_J~JaU@OK-F9!YgL`KSXXMF<0?&`u)y*?g|)VuT*8iAWf@QlPs3hG1L19c5TQIEVx za1B8##3u@{^K5rWK@Y{wnQ#-LAt+mI%O>0ai=;-S)*&zL818;;)8+$JdX=VT%%^Ki zj`z3%icodjzp^vXmway1-7Sr4Z@J-4Pw1_tI$P`dj`lCGU-y?X{NHXmc;n91P2(F{ zH2UGLvWduG%x^M%b)qfYvUmJP@8+ZzJG1|h=XhtM7@tU!Drv>R0w$_rJjkV5h&boN9Jc~w^hF5qk;39=$yG>iXG z2?3VC=FAMdBX&dhmwH8DK{d@R$>n7Cj{pqG@2Qfp%Eiwtn~ZH;wdrd;!{rJ^wP*f( zbx>cmAa!hf=%jDcsvb*Sto}>;m$lDnPwDy3GUM|41us4S$TM?lb4E9B^2`}AHf?Sh z;H>lBK5@^DPjC-c9Gcv9Xy>*&3RvCV(ZBB9cWV(I$A0=RvgO>J==yG!%t?7uPSz8y zti*~ZBe;`{HHG;i-5g0yD&s+Uz**klu+(5Wp)fx)AxrWXnTMvjk-0n;=mWVdc%ra8 z2NVr>+-zutnou@k6hkY#fa_%uWud`^_KCCL2%I_WEKeSm4jrz$IB_MAr4$S9n9Sk^)d4{#W&{=Eh z>iJi2V^olp1zklU=uV&H>eT#nXG8pa^M##p?fFIw+X6j}fn-neVn+={yhf-YDUa>{ z2;hZw9Z|U<^=TlwCrS<>$@w`fROdl2tl@G+`=OuSvN&nD>{MZv)52N3h;UjM^Lkou z{PEGNhlWgMgY7C)S@&S>Sxra}@)focOWFF?!~A8G+yedDkGL)VawP+H3zv4eJ;QEM zI>#FDNF}6mi#8*PUxDubdHRR4U!t3|2^Fuj(ZyAjAh}V@VW~sVW-jKKJc)&C@_O)R z10yBuj25DqwT>K3O<_|^Sm){WkY$ys!kK{&u~+0D@dBfBn#^vC$_X1S*eBAqfgkAI z6>~j;jnByn_^j6ISB^Zn^K+AnkKO$4>+yPrU&R_Kd*U&Z>led!e}zAs-z{`o*YvE| zAByPeCZ*$(#-bB4cIwaCg$wTd&hcBW54X9@8ka1mRMVWCzj6EfrBe%N3w9(ab$TMP zJ){MDPU<>>kiat|E5xm>MSZJ31v4`}@e4*8RP8bI>oAb+EHv^Xo$jz1K5p_C(m)S6 zAsi(^Ej3Ov29oFraj zHUaFnJ=I~hy7D}cI2sdNEIMOBl@1aj38rv!z0zASO*inb-! z+{q;Wu(u^ySFDDt64)v1lC6R5UY?3rWoo&M%BqT0lU6+)89gL;2jp-5TjIwq-io zsB9p{cPvu9v1P}mL|AXH+H~W@726&jJ=mv@m08jbX*@J%>+bIMV2`$;p?WekvHGF) z9Z`$PqV{sH%2#i%>rI3g1PA>3O*foa`RwjBUTnI4U0Pi1M&e4V&Br85Y4&KtkeUfj$aKbbBP7vWBF9!^NV9?e|RJ|9IivASyNuUd>(g7vcUkXsg|o#q#EkV6}fV)imTDm*|Cs>DN~VCi#wDlSj>RWQbQn= zlJ?RGIGJ8CoF0r1^*h2|WFeq{sUaCQYDP#hUTVsCat6B*#QZk>E!pUZ7y?rvBH=`_ z0T)u4*B>jd&=xNVJAbhISVuqqkGJ@Ip)coW_)-03pbbM zFdudVzPEiP|GGmj>os$QDs^Lmzg0fG>?=E$ZCGlSftCv6KTbZvhd%pmD(ngw)r{^l zY1=GL-&-rS=`cP? z1(ix-gsG!M!usm>w*EVwBda&IZ2EirMo*G|Ui$D14g{B03U@ew;P2 zK#;fK$|1UpB(YigJid*{9@5V+c))C#q^1pp4cfLM){)m2!+>q^n(O99Z|Ul2o%rUG z$1|cWy=>|ypa~GUFaiRJ6}T|y71GpUc)F=8`0ee>dg^yv$Nq^q<}t)e@>ohk1<~?* zS?auGI}_kv3mJx*p`{-}QZEBD zMJ26dwu=to8>-06V?Jgc6S3A9U0Exg0XMyb4Cb#SWBDx; zF*24vHej2VKlN4t`aM%woHzXC~%{Zf$vAXM*K{s@-YA&NuD*Of1g_o5$5O( zmbmnNg3D^nz-8>|Ka=@c$S;Wv!C>ENY#^YLkQiWe36p~0l6Y?K-Sw$Jn66$QVQ)Poj>20UpM>ge5!WvxC-nbez z^G&Wq7Sgulv2JqJF~9#&VR9sY>U}67VYe9+Vo1y1r1_`5R%eK2nQf>K)ceWZ6nW)- z%XL;4B}(%kUA$5eY6c5LE!MbFMa5LE^gpuUByth@({IUl$p0NRr$Ip#`SHWxTHN$+9yObo{hn8)&a8-_0Dzx+h^qU#n$eQ~eZ8mYm2Tf}i% z)7fs5zg1^!h^!g01q01>wHlYIu+kbZ$|~dvZpcb*|>0O#O!c z-NH*6T=Dv*s$^|LR|mIdunAa?=kJuSf+cJMyH_|I6dX{U29&Mflc{J3K_^kmv{`Y* zAx2`Xe1v3!vdU1koYiJTB`IESfwO=R;9$KUNl2Ultq?1ba=Fl<0}Gh-H?!Z&Y+@Zu zZ9!^8!MgIGdGINO+OI{yKfQ8^-Pi867$drs{5^_FQP>gWYefc*Bc@J$_4j` z5gwt?U@}nG4DnP|3Rf2+nRJ)A2IQt6%lt(H$Fr!vpdT~2NvXnso0M{YsTT^AqzRKZ zOgKrIhHf9_B<-mXI7tclm%cn~vFPo6gp0Jwk?>e72Hm_26DfQ8?-+d`{82`*;*6yl zT^@y{Ol6SBS%t?0T*jjCtl~h=g(s4NxmQ4Dc8Ah~=R&&~P#F+bwzYuX7Dd3Ch7gdCCfTHPCYpFW04>W24$|o*_V25 z-T2j4xWh6UxM(Q z#Y=1;8V%YK*obDcRD$QMNh-r}nfo@M%L-C*j zOd{(URA*7c6B9G2&Q=AY$Bw8xXL6kpd+Ihv zOTbbvlkIF@T4Xz`zp?+4-7G;p|6k)f8|A+#dk*^QK}@kYmB0)+hZ%ppu1F~@)DX5? zNhpY<4J$=K$50EZMr3Yaq(VW$Mdq@T)fqq^gvp6EUWkUCI#0pc6JiySf=`4PB#jdw zxeO7OWlWTcv~)IZyZ{NKaQ_Ayz~i_V6!7n%HoHlIEsk>nObB1=e4 zdC7wD`9u9ZE$LVU!|^sV7==m+yFx{79XB?rtI5li_4P&@?R7FB`6Y`MjE{}t{e8VX z*tQY_SsDiKLGlYsPuc6x!!nzAA)_vWe-nS2^`bCae^x{lfYyXbr6$933S6KLQ;-kv zz?sg1ye1HS&Ol^BYYaRm1sG}#ch?d{MB9?fx^sKu9Kd;HJs;nqlW9DU=T$9$G$6FP>tGn6JRrALe zHRs{)n#RY*u4Uh0PPnvbm59Z_`pd6g8Qf{wy-cUISn?-sI(FaGqn87jF{bL`81vtJ zz*QZrC>5iJh9s7Luq=A)c%Q@W1(yWsYz5E z!>&As%xj8iwQL^t9eEkX>vkDxkzErugJAa;$-pTCZG|?6n*0h4vDtKo0NF?un)U$; z1;^cFvWHQv*QksD0Y~dM>DDyoD#u$%j(BLj#(=_+Q;-Q1C#iNV8TehSZ ztl#;g{Ry9M^>1!lvi$C&721lrs&B06ZfTnMckV4_Z=imLd`js5=@CE4k5Cx_=O=N)H>6rel^tgas=p(}70eEvCKk*c>}k1J zp&@gIe*jo#F~WRe@qK*6K#FpoQoxMMRv%pU{6p=ACVw`7U;>|B?sB%y7!D(-2n2W%SVujpD<*Vbmio*V8r06C0wD)jzMn+;wLgmCDm4ogZ{s)L`Rs!vPia#3KZy2pWpaLo;r-M+5R#km+$(|8~k}-p3a>tFTyXRFMc$X1_eeOlH5LGGul@?PoxQNOKK!E4T$G zU#G-=hF~W9L&$`GS(j5;Q7E?%3H<+jtQWr}fUw>jL3Oe$!+NJE_n^-RuAQ>pDV67E zy+cl)W?o7OkP;~L2|yC^DFWW&zBTc9^oq;(@L&JNf9^bR$H7akKd@rayotWW@jzea zwsl~=i*~ijCR*dy{PO4T|MGYHuleH%X8Cpd;^Dqn^PziRe)O_O=MDCMhFS6avCqsO z#0md5a(1NtSyB_1{s7Nv#k@0E z?d;gQX$c@eK8w}P(^ea>k!<8y>0I1kk^z{_YB$??3SqHWT>!wvky3LeM#HRaAK_Ok znEEM7L;^K-NZYMo?%TXOw#aQ71hL(mp%zMPcgdtRL3r&*9!I3ABn*C!dTN_U0(>ly!xfKQT`@qqZFm$VM%-{JZ~$z4wl9v%dF7^*oX+ zTe4(ZvLsu3?=4&MkZgJHZO2LM>>aX05=cS_nLr?cgb_x8vI?aX$|}$n=qa>t4lU5q zQ#vTLbkLrT)6&!PYl)xS_xJlelAQz!?Y)28`+D63Y*|tgeLvsN9`DchPxqv*h=&(H zzW?=WoSPPZ?u9?zcIyLckG=fvx?>H7dR<8T%_3&_&b}qT zq*75lr~iOj2`W!>Yn%UM%9U~bQ^{38MSi*jDn9nDz`tAe|2_P><^Mna9m%)SgnT}} zp0kmJB=9vC;NLyxF5utIXGTsK#(QV+?;_E;_;&}ZJSJPhG6(-IqWft4yLt!3zYAPS z@b4B5&Ensk{WJGM(P~Ie3JBQsDX$A{JP~oVQqPu`>7x;9h|s_#5@Rl(&wQnTyGWY1 z>`>EcDoC^0S}H-jEb;PB5QT{jnCo@X)EDu(^Xd3=_Y{F9G?x!`E~!T$h?IB@6*H>l zt1fa^*Xbj<5C2F~w*+Omc|uvp!gKGkNybJX?I2eq5ueJP8L!bdar@WxPui3+lE?L~ z6n_Ex4)Rr@y5{aQDRyeW@6Eo+JOe)(y ztu8+lV?K|1cfJ_LuU#UxO(;dy6BKat42X&!20e13CAp@Cw6Tg7Cd5G>EAoqp<#LO$ z)2hCX6egtDY6Z%WjQ}-de>&#$vB`rs470_XIo>$s6lx(ps(8b5z(-Yckmn-*otJB1 zo@Ty;`b{&oE2AfX#vt6gCj>#Dd~Va+T?$e7OFUN`KM1(8zw$FUoaF{0|mlD zOTd}Qn3Zo45a7Az7IW&z76nlk_X4F@hiFr-v#!?b0uWcFSuAUpLPVs|2zuef7y(VE zJZ@}L>u6^H(*={%(cXeuY;9hyEEG=?yC6tcJWsNMNC}penpZ--ynON1kdGnG`K7T7 zs7ov~!QfQ8jW_=7&5tAxPtFS|Y*q0+6@1Z*JFD>3Zs1;6H*y5sr4+>cTq+TPyMW9I zQ=aamde-98II4-)_#pfc4fv0sYhWjiKO%QlB5P-4vq?II_2zYXY z1HA!NkmTe|WS!JG9X^zF=T(vNUU4d)yDRLIVVoYc%Fk)zksy^xOVZ04y{}zzeb-Ig zLE;zFdLUyx^v*)t1fxPn$&OXrt5!Fkeb=Fef3tLK#S^<$d`GAwNrDVF!}OCTot3mn zM|}4GphxEmIHw)m{(YDs%mgB=t5VM9vaxUou`lMt6j+zj+=Pff8d1nepNKC|)I)a2 z*3&A4gGw9r<_K-@0=tkC^Xe$Cil{QW@UZ7g6Lp(wN%PXV`_axxln|a_Q79%oO*e6e z&@IB(#`=rZeHTNGjm!yuar4d?jDE26kOd-q=m!iAriCxQIn=QB%)E0Un zKKv!Rnr>oBBr_}X6?^#Oj>fzWBb+lyLJuLUC*cvCLnPi1=qb=rHh1+9=!mC@uDXDF z|1!;3`==$!zhjZmr#v>aODE#na_KatD$#vg7g1O}S}m&($wW*h6hwFtN6&4*Z!}0; z@OIItNa75bX(rA{u%=O@s>zgP67dMh43X^!W%(*=fm_G}oO*8eZ6VVQ8_q-DlcH)~ zTKGT&YMO>7MEjuXh+4bwPCL!5(WjV&(+@(Wr?<396Lk@9g7u<+ zj)nu9SfnV1L8tjL8zTXpy4^;wyrG7>0>P$0Dh2gH8j31OZGF~s2}H^_cjnP%^Zn_c z)V^k?B^pAv3WBdDL~vLHN*X8gi3U1;BwoaQf3|OJc83!r3OK#!TVuilr*~a-VDGg% zzBW|%`RNDW{Qf2T#mrlG57Z`s8Tjq$eCxmXv!jvP92exCmJb|U`t8+yW25uklWpC<{u`(ZRqHFtg-Io{#YyF} z%Csfc1hClA$tM#sH}DpPno@qgnT&Ym=bI^i&|xJymZVS9RdtX&G6GDWuYjBhe8ZRi zJnZ`AeHSeqT{XJlbE_6K43=4L`-;|3x4?LEr$1UL-@a{VTxY4zU6ZZv&iv&_dT{@` z<9ENgrLDVdqjsi!L|%Q+@Om<6?02!dAKdZIqMSXtap}~r7G^qe-Yd`kM$!v}Y#%c6 z{W*V9uJp?#1{C_0tb~kwGAt?lTg)`CQD-fV1}iM)iela)KDTnlkFpkUu<_A(RZzSg<)}X7|HG=$)Q7=rt7kguKe4o1=|sM58}2r;I_56?}!L!eO`HyMWs?PMQj)dj82`1pYm4) zYgl(T7I&zfIyJJ6q!FB`Q=S0)ELvg6l_Ar)BtbL`fy`7 zH@~~K-qcjnGZcuesoDAX%Aw~|{TcgXoG2)2&N%}SX=McI5-DyHn|$+! z@#=~zf))V9@_3_=-Pv=@GU}XJUH+zcside2{L!e|qeuFqVZL{G#gZMZzTD|mp_;*t zeMhUdUomf2F4f~6-F}(R*PgnFeaSd(s$VraRp)SYL=&0*?y;+?clLE=rdMXIkyK+% zGLz~6M{dQP{3k4-h4vUly>g{ht~JZWT1H7sAA?g8mP8VjvL=33xhtx5vXH(a-$+Z& z^KA-@K})*y3(uVtWsoW+0=>>F>~ro)uxc8CDTzU(EV;96$Kpp;A5Ev0pL~7)(5f%p z_VnfL^35%4$Df@yZ)I)W^(VI1WV@uwh<)W@?wwb@^5mW;`aZeWHvvE^Cm9EI6&;c9`^CKn2`I~a<3@pG*4dr-> z_@>) z^z3hB00R+Ci4NojhC<_A@>-k6TO}_ZXKGn5Tg+rs%)-%;Og!v#s8~4@#pQ{ZSd=*O zeb)Ky@p_XrsLd%B&L16Vt|yI^L8qev1Q1Rtc(;%<{?wF5^U#1*a{yfFbtc8oE>xjX zm?|oIg0u;$B|kWXF;Nk`7&d?H-~&2u1|mW=5kisrJs>s&$rXt|xbn^icW+%dZ=`2s zHtY;K96r{IiF0zI(O5PR)OG+wIH()EWMI_BZUW!9@+QRk36w zSRywBSp$P@Cd7jLC+bW?gtaiQuB5$i0jM7s6 z$Ji*L;w)+NT1`e0T)euQ^%M!+neqzvrfy&K3q4D#jY+37-Zb&hsezU?&AZ#XZMngX zk6(6I!tV79u3O*IxpV{b)l9f*GIo8)t}$RFE0XrNWyZ3}sjV%3naX0WpSN;g{pL%` z+U@PRjx7W2V5AL@pQnK<7{MNwpbc|ZfeI-T4h2j=i5udXG8)+~y#jEJNQN~=cV4g`l1^&S7<2RpB)Hqis zpX>|Y@I;ZpKhN^Tbq;@7X3wU}rsK`JU1fFE0mTXNbu)|o*bJZjAyabK%#g0yx1s7M zQJ=5=XV0&`cr+IoW4;EM!D4SI(F){LKa#c}S{xQ#lxs#(rj@N@(T*sRF&KOog~g)& zq?Z{Q>~BidCcVXBoHG)}DcvOX?6sY;S_%!ux;D5Z2ntzsJL(=oK9R^g$7A(0h+ z(Gz*!b3p13ls4Ax#co^BskAFi3W`U|V{P6^k^KGR@~ z7kkNGrUyZXEYQCqK#_Br)0LI1gbi0S;cA3Nq9QMN2wPZ1s-VwHAS;BE6Q1GAC6EoG zVu1(>34r$0P>?cAjT4EW^SZoGCr~55Mxe^P;7Gc!?5Vm;yUkw@0G-A~7scF0O;u&E zzBbYpY2DCP`M^^Zw!n9*Hm)4EHn8`bJ&9|-$o-*haM%$ltJwPD=Rce3mlw^9G$^b% z#hdU{za+j9T@uT3buLl`QnDc%;N_573)!^llHwvcMdFB)#$#a5;kPOgM@h&`M&-+9 z13r4ML>z>ReSyDR;1FRZnU{xI@#haI^biO-fSLw!zXe^8)`X*GV&%omnwjaW+#GJ!UAijfjwhIS36~bwuhavrwgsR5 zB&?K1Yf9zNa6vCuz1zL;s-AK;`O!tmnh>`#-YQ_f=HpmBmDa!@*P$o7V<>-pX>) z!HVbeQ7x|z;fw*q5HsBQ*p@#p)etnSNum~fu58Gtk|cft?{wuakSayQ7EEzk)!!@U z`sAs&$N8huq}n6DZ%1usy1RdQJbn10kbd2iFsj(qf$f$ZTY4f;T4Tr?> zpe`%-RB6ApCQ#QmvEv%ulm>!52@lZ`$QjFO1XefBrfQ{r1hov1rB*EEWKjmj1V@i_1T^-O!4(V#DZcMt)ib~2(y z_;*OtB&IAoKjnD+IyqD;PKG5X^=ZDX=eb?)dv7kMd4H z-YX*P>!IdgmX~p%JYVAl0?5qNp8o05Si3HMqWjR+M053JB~|)CxADk+Pqg%e+*TFc zy!^^w=G5cz#QeL4Caarncu8T4N0`^&f1^8T8-DuLzH7Sb>y~jItHRilsQO0I zR}o^(UbWG+^1zdKyv^R>t!Vo0+Itqh&Hmn3rZyCLRb)o<>?4qXt>Tl&yw~Tf00Iuc zB=~&}kwodSnRF5$9;;Bza#ZILfq9F7Mhyar`vPEr>2d)+BETK<)Ie(BTq{5)vT#y2 zw!^))f8J#lS1{y?Ww^g@JTthp#SzaqBjqwx;%jL|wq5ToW-5KM>ux{%jV5!6BIR%f z2Qr7bQ>VEfw=Ij>9QCov_t@oEEHAOP#D<_T@$U1eZPoytytYPy0g1JYE`-CO<()@yDmRH#H@DM8%x}B zed)~ihWf`ZzLw|;_fMT=293*=y7DE~leE;1tY60c@!;Bvo0<+z{r&Q{;$9%}GH1UH z4RRV9qz-djNu@`eVr}Rwj|Dtvb7ztXbpCs=@>^40B2w}op3tc(tdn*caCQv03lt@E zolQ$X%kbbjE#cNJi(M_*4w@!0FxV1GQeW!RSyWw(lL<&}T`P zFp@~7*-?H`D%a$Rx=m$HS4DKm)W)DIGSAe#HaQ+;4*%lmn8)g`vON0SPj6Q_8%$ds zkLa(D*T*~-pF*+p829ykSKD{3yn*PT?c8JH=iz^Jz>+k$SOeQ$7h&2lC=s#Yq$N#o zA(Ktmh7M4)CY(G~;w{e=w>CE=gu!UoNk~F{FtWmjMq_MpeCzpSb9t~VZSc!a-L_hmXt|}cx$4w& zrN+=o{fD`&%yfK zgVVI2PoO@@`dK@hH6ql`HD{v$d%;6FA8ZqM6qct9v+yOUTytXzxpNoLV94_%>ZTTl zs1`mBC8el*?2Rj*jlSX96)sRzcr@#trbT>~{3BR^Ir~IuY|#zr)oS0VM$y&*Z3ND=|nCxdhvG`PK|X$24*96MsyeVnDjQ#XMt!>uDg$IVe8omi(1Oe zpPcAwPT6gE3;-pPjeu9limIz9m7+OsnYCS9GB|&7Y_O{xTg;O1E}Z}iB5#-_S6*5Q zL?dK7M_N9HcDyE?OTP2OiP*DQamq8-MTcZoy@R-sR zA2GJ@!jdAUk&_f=&qUR znA)*HH!>JZg{r8$StDkp%2<_}?r4j}yn*x!+?8X^(a~++oj*0wmH^=!3^Y~3igr^e zyA^ed6gV?o8<9p-Ds!!qfB~!6YGl0qm@w86ua;0BX=8XyaEx>%L7f^e>C~i5NVt*+ z9Zls^GsmaEW;e!B*@N3Bm@)Ww1^lIEsgW!oCYI#%|#4v0_c?|!|#sblBiRoV8A z@%>->e($~-b%lDUao2J`(nKfBc7zs0O z`0!-BrKf%AEkpAWW!?sk2!SF7Y}zCl^@!L`f!VPgk?cFceo^A(%Phe%JX2XFgmC#o z-LeKi}>1)L|ArhU;)c}b^rmDi44yFRX zaW=;7Vnet{Mr3C~j0AJ6B9%N>2@src$n7#!0yHsygFGuEK%)R#bD{L}6??(5f{|(9 zl0PW%KTzxk8^eU!f#%#U8%}g}EZ6Cyc4w?<+1<{Q*wi6XDeZ94$>ca(T3lDms`HiD95!q;ER~m#J}V-yL|%#5Qr`i- zI(U`OW){-ca}yY1GC;|nQ3&41sgX_1JDq%eXV0#DkbU=tZ#C{XdDkXde!OX8ceJjY z`6a)(;lScl>oD^?*Mc~kC?bWI+kD5mgD5&)_Qy%&8EzV{?_zGt?{Qf5zbhBgJq};S z-R=_aA^A5+urLtn}Rc z`AM=K=jOFlp%y}ubmSgMmX0sl(K{vKIDXUJP<+Bpa2~`O=qbS|Pl)FkCqq5mePum; z{Z2#cf#btjyEAO`InzPU^whO2J@0)#^X(@THht`YrHz4``WjYEDl~8F)`fZ|y$wvc z-0m^$_|?S~P4T{qBLRPTaWu7b&jIPo62IQ%XS$fR(%$-^-U;ZgQP5+fbcL|*bTXIl z%2lRXNkRlDIb3{g2nwaQZ0?`meUf{zQCpW9ZQsY;ee^`b zI@UxGF-u(oe zE28D7HkczTbL)nzF%O!(T6i$?`%kVUN`8_@$j;-9pLzIG)fR2swc^v#QFKG?&GmX3 zi!G|MG)h^J6_kFVD??&zs$YcF&y{Uqqlxd#>Ss!; zEt-;O=`~kNdYfimeP+Y{qq}~<{ch%O+1g+#Xf>(j#g(t0W?ntqJj%T~eaUB6NJ^Xh z3#!TtG8B%XUvp=FCcaU+85yox;8KP@y6zthVR0~;C~5T{II?pa0P>QQUo<+K)ca@J z0MZ2zrJw8j;uDJt4FN;#`;KbIPcFHXGz5%oqYVM;Hv%omY!5lOJJ?tCc zXJ;gt9q1XmTDM_AS7yR{qgHFzdlPnvuYOT$Byq`<&XVd} z-Z@aMGFin3xt~^+PF>no6Pg%bpK8f%?(1>Md`#`~w&me?=fqWOqD{H+?4Y+a2#(%( z_C3}oc^}@Khiu<7+Hq?bNFbh^y-G=!2w4Iyt+mL7XBB+Wig*S>D+|ftVYLD^i2Owr zyi=MeAQnI~R~0_3x^tN`rMRuEt}3Xw{`S`;>QenkIM|#ChMTkB3w$$XH3ZmJSbdpC z={fUPpyF2aNrsw(!N%rL02BFQ^sT(den#?JVJk#e&QG>N;2t#CYl2T5vQ??(Y=zL3 z$f8cXG+Ro5Vj^0HT6X@^3!k6Y+(OlWWK?-oXCMTVBgN zR=5=Q?7tyOdIXivxF{zY%0-(aY@JH(O(RT_vrcSeO<*?%D=LaXSrF@?%5)di22nJO z*(y{dYsaTT>80=srfGdpFb+7#tfUZ+%j+P{lu#JuPs&RUb-pkeb8cM3{$=x`HM#Cp z2cO;1l2IQ@%h>KfU4O$+ykQDiI8rIqxT}3NjV;ZWZFt~Pr>-qI(mvJE)XB=)vz6__OYp!K zzp8<+b)R%dloef; z8>nkEMvyc|OuSY0J?z%^P) z6&Y1QWieixH6fq_{RQR2>z>(&MDQhOdN=7j&pnV)--3AM0vqL%2fVQ%dR9&mw{PxFb+3pgEspAgMQVj_k+Dg)w9gwYKUf}{zJFm~ zQlf9_NR_Fpi@fEPe{Y(3TT1(G*{~N7t`kmGB!Hncp-z>VCNEvrmIl zNY})V;hi@k+q*KCLEl6(&_v;Ui87$aNA^#2WEiwhfLI-^aJoLag#sQ1UE)NN-iS?! zgF&2B;+}p)9|e@fr|P4a^*Ao*sHifCVkq<9diVIO$$DMy2(-(vd{K4eY%1k8xs1OViCTtsZ>|!Ya+U8HFq7l z5v~)pkt&N9F04aWiZ$>qhYqC!QHcpws=`ELAhU_Ygt=5@iL?d4vxzVuD{W>IR{Nei ztjK5EdA&pu2Io~-KE|{7Sk9sjF+xe9BtuLb^Wfge*=DypKf1kZG#czKRSd7yrW_0t zoZK|G?F}WAk8Y2a&=zi&0V{@(^%7z`YeQ63n*}1`q?Q8a0aAfCF#ydK{Q=Cl;Jow-V$A z=s*Zj=6s5&px5yLE)9W>&I1&Zk~e_9N&X-YN(p`L^kC?9*4h=u%>?(Ej9jtBkM)dt zJq^rG2|rpl(Nt|zGS6bKYGcn?(YyxV`4d<7@gr84CXx)N`+umdNYbfAjnx|YVSk$Y z>bZkemkEPZpc3(YG>D;t=nmbM>#C2)6Do}cjkqDJMUJ_7B*4U?px-A}dPGJ8paw|{ zZMP9ys7iIKqCq{{V0>6>Ui%?;jzEJ_q!ar-yTv9^f{bjiLQx zpx&HP)*Ocb{s8+ZvqEDNd+L5Mv}xhmT=$C1=N6FU>J<;yMJjA=2D47->Y)78?SCw! zSzE-Xj@Y%_w~;=-^;#Lfx+ob?*#pwJ&#EO*BjoV(*h0OakY^S0Excnm7kGq( z#w4`LM^ZQ@Ln(p-ljDx|1-YOs8*NXG1bf&A71jox&mf0@6( zd)sx0Eno1>u;SHVK7H0KBp_I7T$3|7v0K4l4OZHM>GI*`1^07^gPi-Gp-o=Q*c^vIxJYiqRE25v~T-hRr_j( z++DqG*;`x^pBW!qS}wjDeRJ5FsbiQDG@n3&*^G?M2%vF%a&&C*pS-H9l(cJI_{n)^ zD;~2u#U6Y}3gJdRJ8?Y=pB}FeHWagKuD{7=DND+j<1*|DKQ`uDzc9LV%esz;!zPoK z2h!s|U{8F>t(I63c}FycnaA%Ke*KozhW_NB!KImZm>a~WHjz(VREF;aV+8217_%=@ ziKP-Wp$Oox_{>-u0*}#DO-Jl6(7qI41ZZj$UjXTAY}lcL%(Ij8#5>0B&n@gtE7urZ z-CPOxlhW*%eCB`T**F1&=P(;4?VsGheemJ8LUzo0lhIPOKAjamN`E9gkvRLFI4Ay_ z$PApGsDdT?T%^E1LC+g>BZ6b4-YiN8a6M=xx2lj^A!ypF!aN4mg0Kz*`i*o}2WKnU zDVkT!JMx6`$K~9^OOQog0V1NMjqri^NR$#c4`SfDHPv`=TlQDg-lfI76 zt1eT}_s|c^$F#yj@(nD`qxpj!@Vl@Wiij&TmX_ZLh2$ooI5?=*PPR$mt$ad=*h1Fw zPO3Gib+~VLmd7n0?AI8Lt7p#4Pgh_0y5_azdXsUD_)Ke%bSj0b?c=}7)t0b-kSJA6 zwstvZkPintDijhf-d^q1<9_X`#6sqeZOqDvM4-G(ZpQ*CMNwsyqIA@*E~(VpK#Rt+ z@3L=V_9P5XsmT`c7DvjwOc@LC83bmqV+uLEC$R`EvA{7vwoIoL<42V_7?1`v0rYo6 zKWoUa^{lw?1QARbUp$+W4MbBTs6mwXoLnIB03bws5rJgOX`UE%Rr;cu`|^E#t$VMm zx~Q>p$&PH|iLa`e#xA!f+)}e{clAQg@bc*`&y_HL>>57NHFB(aqc76cxZuY5T^@sB zB9v;|WtcS9FCRHIjy(^|*#q2@#YMRJHKH4Gi`Fb(ws^tBXm3wzbA4UH?}BlzAgz5> zvY0p+h%H@WHWkaH<6|v3=qm`=nw86!EnR{?GCnpsgg=Fa4;gH8LXHDfVEl0cBUgpL zf!OzapVAx$h*&!OPYqt-8|4~=a|ECO@dz)8v)GX5L6(v!KQt_Xm4q~-lM+q9E}b*{ zsrg6HrE0zS)OtnpcnRw%>Bq_qL)jYJ?(B8mlPlVs3g)OH8ykP_!IyuNtG8{Qc1y3g zYrQ;_Hoon;xU^}U=!8tX5-7V{og7mw!|FCU7m^PEymZmZk$DSp3g(F1G4;S9f?XQ6 zB)tWk2m)QY+jhw+EE{o`m=gD$x`V5@Dxhb%olT*=t6YrBSVkdCBPKwx@}ukZS%P3% zEwyX4>O6w!b=Tgoq{Qvc^m9MD9o##`y(%jc9}+DR9nAF)hbAyNg|Vp#j7`y@sj0D1 z3{BZoSksM}DTh4@Wyz0C^;;JRV^eX()Pk{5VQk9fu-oPiP6^%_@lyEIFXd`-Tcl1( zT@@O73zqs5MyL2&Bj$~$vVS-_MKuEKNMUv=r56AB=tB=)zJ0;uNXOFVu*2_kdW`et z9a$URGUb+BSEsXi>$v}EKXU)whrju`zDTSoY!5n(%Aj@4(r7y6s@=8M_=Ts&lB1bh z??li1y$o~Zo@8uEd)+|D=`o|P%yj6rpWlk{GHy>p@KKjaYdP4r=0Wb+pR%22Mc2F$ zj&!8^LJq9rR4X;cXBNIO?~;t~9_=q`C+^vC&o@XO=8V_Y$Qa=_} zmPzGg_my1iH)D@wM@`c2^_U?idL7CK44N)53oQbeBsd)ZIq@>#TPu9N6X@Y1mlnH@h|4xW6s`C=lAo3qfmpuCCl()SsIUdxIJ4gg2oo z|FVa%o)1aO{qO?x+AG#P5BmOcY_tA?P(yxVmwm zX~g#BtENP=^B%o0?^eXL^iisI&j(dU>nT;$TfWjYJJJ^W==rzYrDXo?KlNLR`da4D z^a=Y5h3U3`Gzw>`pS4G^@=Oj8c`GhZV7kmRfDKNxhZL1y(AV8%kTTPvu>v zyf1FwyvQX1&Iis#~H>p(8pM6oTbLM}KyNHHvjBZXk zO)i!L6;L}rGFM*Y|{rZ5dA*gnuj2o&aI$(iSOuGurtos87hG$#XYgGO%( z+LoLWSX*#P;g>VLQ~dKgBEcDY^wp0m6+9Fa)?KPRUQEyNJgq92ecoMgmf#A z_Z4c?bI8g2VEp6_#SYIL7mrnjJf>X2OpymA`oWs9#*RY};6>bzFV0W_(%4x1>L15+!pO(!;F`J|Rv_&eREtAFH-ju*JO&>X^(r-KbsaUVd8iUB|Nhv`Pu!2sTN=e! zfEs0;5Nimq6rxe~56nB@HTa0$7}quP*E!psutJA9XIB&uFgcE)D;}^Jj_9s?kjwjt z_-3lRQkEdbxMWPILYYoQLUx(x1m5a`?HaY^RUAhJrkulcR zu4PF}d6iG>+I8w#FFW+ope@V%7xO{cvi+CXO!+z1@hiisKJ1qY$Srt!mQ|Qv?H(x{YJjf2c#!RKsTgWt2sOY?wM=6Bu<A(u6 zHLUbXRd!S{^FN9VP=8En*ubVy1?!ggWcB!Q3v1a4thI91An#1;@Wh9egDa=qlB2gg zu4us%M$J)z`jfCm-F%n^?Q96_ z-RKgRX|NWH`8MIEKJLfjhfrs5k(#*GVFyjn9$d^;i(RZjUJb1e6j+E@k+l+`1+d5g zn52Z3pADDu5eCRbGUFf>sQ^Q^gn`mL0SLd4Lgu+6rQ4X6)hEARo*kTaiG#^#skUrB z_xwS@upR%5FjAUP0uYYdnTxe_l$R@YuG$)5uryBKpptnqy=s!d1EkueJ}9w=XmY{dz|O9 z&o&#*8G`x;UM8W#Igq|$Zvpz3_@8<8%pPvN(63y3Vq?ZP@1ZrvUV3}&RrS^Nx?sQC z!u{gAr@K>!7EV8U`D<4@H&5UHyvnuWT&MB@{baQH@E4hi-(0)!3a2W}tu12uKhwMT z*WAq4w`^a3rTL2Ht%QnMu1&mJd?mIVZOgSqe8zzn9km>9T>=<#*d7?3Uc}Kiw za&W6-6yZ(4?9yyrlwA3ZCw{!W(O>5uQ7Z@bFHU%uH%A8h4v*XK(rrDLN{^KV#_#^{ zg)g;4)4tSz(NU!etf*=G{8#tpBK-?1zX$r<1)r$`nkOP^%LOn5T&-2hu^)S=HwRSB(-K2-grP_o(12{h6WKg<7(oO8~e1-YV zbh^iG_4w{O6v9*ceT&45j( zu-o;)?96L#lo{V>45})`tORdq9%Y_pqho$@?{RLq_;2Wr@c~04;&zx|MUmK)iWEgo zu}%vOiLqy>0fNDAMNJJyt5DHIA^=h8uR^RjgRal;epdblFZc4BgU3m+qtTg zNyjy&h^d6xRZ_NC7GlbJGXS2}lxRYA-Q4M^a(||n+gUu(U|h_+`}~ANY_l(7EMWI5X^CN$>?QGp8T!v9bL`*EYBd-ZCpR|g&pWOrwp=X<_%Ed z?Dx2*q&Gu;bE3_;j!a`L;Kr6cWbxH1jJ=D1*(XlKWiBULd>iWFG=Sxs5HZ(d%^TiI z989Z;E;T2A-~t~LY*C;9eN4U-qGwXG0QM?so%sF9P|^8Z8ws9C+Q-XY#69C#6fETy zl*SWl<}>rIs2b^Uma^tj>$cJ%CV^?TQs(B;#kD=FxuO2)hq8VbzY1L z6t^>?kGNb?WBpp@CWc!&=yngd;@lUR4fQVgk;P^nHM*tAQ4M3832&}(8eI!?WcKgu zzj6OAz8+Jrjp$IX#nh`6Gp~L(8F@{F{B9#Z@G8tKAk)rZe+Np(Sla>AO%fTNGxrLj z&<2Fru?561g%%(Znn2yBh_;8jSr~qWRGsISl2kHrOZi+fWQw`tw#(M}6Fzgb!Cn^M zv9EhguO%f%`PNmPIN_Y^bA{dJGKaGwvUJf>t-jK^9DY^2Ht8S(un~_fP#AzU57*!F zf_o~0p;$Wq`f__vUV%hHoo{MIdHD`dgt2qaP!#D7(G>QbgfyDE+KAnvsgR3GtSG4i z$RK62ig^J2Kt@NAf8+4K5i9G+La=;WF3}}?5t$br(lSXMPCP)*Dm@$0dWD6SJauS8 z*j(R}FxN*zOoKv_|00}Fzk>TvfQ;VuX_2OjBh}6}Bv2xoYZ}R>Up;c#kN-1p(^gq! zxzQUWEM6jTA$0t(`GH3@tT?DrVQHd%tnn!ov9!%D+#Z) zyE-imv1RItGO^txmL>vzixH`SVo=b_cnMHorQKm?coM?Ixvf!sNpT_?@FVjD;#I0E z$SMiG8aRh`M7L8mgK*O7ZZsIB?VJo^UxB9tue88RX+prc>?E*W5%a6uim=azJ)+Ty zR8>H6>gElySdntUitYsmtFC`lWeBe_+_%A=kRMyh9C`0&nLuCqQHPB_ai@Ktfjqz!FV#Q))qJ>J1ngZa+> z^6Zp+<~jKqSEKC=dCazw$M)4P?&)Nry4;+XTXe5YvJZ3KMt9goqSs2>rQ&<%{J**}QCC*1{vo7LDXUMns41Okjzgh@fh&Ld)Y;PNp#l!Vbn zCq}h~z+kEp#Y$@=0)L(Q0R@Q*pny zeu8`D%}|-H5nS*dT3N`}A+soyGm@oRl5z%)ozTyXeKh4|=Oz|Oe%job=xCs@Tgzlkg)Ao(n^2_DwY~t8s!wq0``R5#>*>=3JY3j>#kn z3QmE{iOV4O!FRW4@@oG=HFtsClu3p|KI4+&7guhMru!rAm6v&q9^JB+?>v6%Cv9i& z8=2UVXiTSK-9;9sZ_8%pda`c1?I#&bI_HLQNgizDqYNhD z?oV$m(Q}am)R@rSxtRIK*7EL+C}&jbq7hx=RK{cvIRWeO3r-N)3CV0TD~e&~Hd-v5xNDWC*Ut9pV?YJb zD@*BAGhuPwqahflRPW@|B*?3QfrZ>_5vuFZvsAwzbYc0VK5k6UivV$-v48V(>7>a& zxcHgRt=M<0*}L)KN5Asm{wL?}{I74l`{98Nm9G`0joyJ}-~QbAAiL(?XKow}7?X#F z-qLPNT)SXu>T>S?y!aCL*BdUo@2cmME9a-{ADHkP5?^2T0uFK6*$>*`!k5ow!hEdT_i$xlBepjJLWpR{ifvaWIsLKUhEh5LWr<^^YFl9)hZy^+*-L>$6 z9gNU*)PIIK2-D}rjG6K8J1uHgV(FY2POru5TIx6Xo6LGt@09@ zMg}|5KVT<$h+|eXNkd%S4ueWtHOO##YN~6Gvcsv@G&M6p=G0Q=_KZHY?hDs+ zHLw|}vGM5k(ONr_0KT-<%#{B&6}0%2s$#pnR2TleMD^jit@X@bSu^|Gww~kDeRns9 zR}3dewJrCvEcS1GU|T@2%@hE=M1x;QG4Y$#yEZnDCJywk+P0)NyJq`SYnQgoE7i*`S4m~SR9wWJO;GgXv?$GYpqgoH;f9q9H4paj>sOJh4RRzjXJ%s_xyIL@0!N9C2FtkmW9KJvwwL8Td zI7$k)ooWNxuleeCj<#8=CGzc8{nsPUJ+uGFqB|M?4P2|MGk55%2UfJqsKj#rc>9*0 zJh)oA^oG6-lZ$@z@_%2m_KKsw`nRW;+S>xHLA)QJT$7$X$L<4EJUIUC&Adg;5Esx z0iB2iITCyNy20*wYaiUP@4DfEFTTW#X$PB^Kh+~knj{H1lH$TJG_|^Y04=L)Q0>% z6A@k|%amfBYD=yzEm3ChK4G6Kc>)z8QrY&|On^SbTjz%AH1H&hEr>f}bt>k(PlynUi3!teS`E_zLk=Yz*~DEH%nvLkR~&Kq`JoMUM;B(?R|Qmh z#DHl@#4M#QoLlw%1#iuBzZ3wU;L+#W#&4gN_nA^T=EkK@l1xjnEJl z@NyQpj+zENjJ;T$PvMc1GGv8)+5%pvg3_FOv?bX!sN zsDPJ>W-_>EsW7WV-!^Q7RDuaZ%wm^g3Q?*`0f{f@LrN9FCW>ifpppmI%=e!X<|?ok zpHD;w^j>{)riw%&{AdOI08|cS042pR;oJB3zV3%+w;Am>uR#v&(1lUyFwh%1 z$pl!ND9-wTJ6Z;`7l!G~LXC(;q6VNjgw$}1gy8~RskJkg4OtE3IZ6x&8;QQ>mX7H7 zmoNsWq1F_B5XlD8=?V?PF5)NEA_Yku2{=bY^LWryB0TW2pp?_$oTZK3S+Uyd$6S1Q zK*3z4RF;WzZ+C|yfuTq?7k+K0vZzC=lu0sAEm5zqs^sEgm0#sZpmX>x?&n@gDsh9U zh%Hm9qRapOA-h>?nu#!)y#r}y!0YPBM*H_oa&I3mFP^Lnu-9^5f57>5SLR73^lw@F z<3F^3VlhgwPvWasxWH2>zCpXI9p%EPDStC?RjeOj|E=;ZGH zrx|M_(_I;`x^zDzlV5W=3ll53Ih=JKKXqoIkqA$5ukzD%m?h;& z^sh41(@d8(XmM*nDKW39imrjCssncDzFc>Gb2xc{zH0s`WtC}-rCL+}tiHn7KLBUu zsw~1<`D=2J7Z8OpZJYPR$Ej~QwM1NM*RI&~iFXy>_ljUqh|YRw|{pp}atssgiu5bXb!Zu>X_ z{;QnnIG>*XDuXhg$&)kxoyat;uEVBA(cLteOQMt2pwrO$x<_0eW0ffwH%0{PXk_wK z^~o6RVzmNp6$>3cuFwv{!E++;Y)Fdhf|@&`u76Z?pEVDB`Q2gh`0l)cR%9dbeEr>0 zJ6nGbvn;g-LDwIoRWObwPw?;CH%BASd^cb!Ers>e1v4{my;f%UPD4Bmm1936v4bNqeO$Ql^gP zOpVv1#dE}qz^}QM6Z7^Y3Il`Dk^5QhqB#V$UQbt(3B@;3Ho`Wj66?hp|KDpHLav0(THC$*_@VbY!;N8wGhk7>8eEG44aTm~`6lMe zdGA78<0zKcF%47{;cngdd*(Acyf!Bp4se88ZoBTUuRQl=((8yg^i7`Kbx{+eTg}L? ze*A}K4{t7!>HG_GO6Fz$1gSLU%EcHiXDD(QMzn++J|Zfp9V9ko-tzzRb~*E>#f!mf zXaB&ll6hx)@#kd7k(#9vE&2*YS`-K*7@fl(Mz~K#(ei%{@k0>Q$76b+HIUyu5@q#= zANV9n!-pR{HUIQ{qnG~AJ@~o{l zY(2)UCI6(m#U2>B8vmkgFG%N!ZlAm?HK=nqfL{;)MMty+zXjA8d3Aw z6d#fY;up&(L3rkN7oG;k&wb(kBaW7afpr`Ac840X{$M76q$(bD{L%trQ0PaYgy zKEs{iUc4WWIhjl#nE7Ji$-AyF7M{fsev2&ldqsP}c_!dCve0P2a3YyNlq!(cWku*s zB`j;#+L_;q|8_=Jw3p7h?_wS7Q{XNYvigo(1=h8f$-%rT(=u`8GKE6Sg9f1=ScpXn zb0Z{yo6o;UHxc?N`{A8lP%J9_n&<7o-Yq~?f&yK z$D&(Cx$iIO9osq0C@(n){XE15*+=mST%;5;>>_cI6umSo!Ov$UD0ibfP$ULo z3QB8A(knu`B+d~cB1lw}NCPgaBxngjA`DeXhCNuhA-$)O`-YMEuH-Qxpw znpq*Zo+R(Y%-K~mN43$!YOTgDWA+5P`W>S?)}B0Stu_V2_P%WH3g@c*Oq)&eyAid^ zHgNH6>lXJ{S?!LF-c?uCsC3ng68&?m=wfsRe^0s-$WMMzB&T=C%MFW*X6Wf+# zyYD{qsP|_>;VNrGEr4LWF6mC2(&ZiAq;1PAI=y~8+jZav4_ymk|a+X3SIYtU0Js?9mEE|V>mvA8>lI0s83L8A?L5{i&qm%n>@q?>V)htAraXnNjO|+4-|5&sI-yXiZGK& z$jAJtC(|^r|Mn*HC7bGkiRLX^v%!ULjVw%rvmFZ}<-O^)x>PnGJ~OZ-Gp}i2L%eqQ za(DAYyf@k07Rj~DpJ%(cdnoLk?uvJP+0~lL_H|@k=*R}z3&357R2XnJa_7<#qr9S` z1VEiC@37W3sYKK$SY!Smvv&^X4mvZ%55do#ftXzaONviT#1#kG&_9x@TdN!C7_Lbl z?;D-U_FT935ie8H81zK9bteoSR_9cE0>Rz!cw_VG&#$S=_8k59dyXX(Vr|HCp!Kr} z!?m5KaoO$p{ zUp(K!nSwhdTm~4IW^svYKvI#k=tdJ;skA;nZbcHfI1C#zcD96?D{Crrv4NJ_+SvLRs0$zEVA1(^J;}aF#j(bG|q6c$pOXa36Q6qSP>G89KG65gN z+a<2iGHtCS1zHo-0{NhnZWtcu?OVC;K?(j2KNJ7ha?Xv#ouqwu^lsCoc1MJlPPanq4rwrzEs1=*r{W^ zv51=8!+pQINg{rw`ju;8h|4XG%xc5R1H&s*^G;RWaCl8=_3ih{*-MLmr=Q8`OwNg% z7ha9sV0QWK4bkMnd2S8+_wa!=i`UHj9MdC;RJFVQ3e620w#UE0BzqV4GJmO#lWIND zh7X?o@1h22J?wZ;G$gtrH=L}uRmy!8Og-D%YbnLb$B;Ttm84tk4mxn9%Xb}vX+3noM1gx@vJ2f&gwu)E!X7aGJCy{PjCqqe^Yo^x z?>@qv+1|aeIEU{@E*^z}dq zc+gqEG74q0jurLRqd7!`9wF6mO-nFi>g(-kssF!7`wqY;tL)#oUztgpNhWR5lgT8R z^gfwMBa=>gNQH!w(0i}aRhoi`g0g^!f+!-W2q?B??TQ6m%kH|C-PP6Ib=!Y;6-nmH z` zFU^4zC;h~+ERcM+SQ1G-7@?z*(gcy~ez&C_M|Vf#9oP%PJwKC?T-8;t%nbC69qWH& zTxD##!0r_-8S87l-uUXg@?^)fTfdvMd+AU1vzRBJz435wSKJIQ!wnGy8DZJNBL|b} z3TNNXd>41FYU|4GXj)LxweUbuRBFDZJzm&Tsa z^YOoYti0VD@9nkI$LHjGY{oq=$NIU(95`GQlj{0LtiJSq?Plds*P92bv*VRsp`(#i z{QgjBjJfFoog?BjlJ+C{8AQR-G%3!I_+mdKrr`DqC`?1LQ;Qpx0ulD&$OG<%yRCb0 zq{2^f6txl~_X3-M4?>$Qz?vj^J^kRx{;5-^KK$@YFFpKl|J46^n;Gxfd3#%1Tl?_1yLI@br!&&O7&CO=u zMXp}CDTwGXY%kvV6B?I-$7Bf=a65n4R!kCpecz+=*W7vgBTeJ8<4vgkN{e68S5nj6 zT)wDYyzA->ljW_OW^JA|=DA6;Dk>W)oDY^P?VnOpxTtSRxj6RebqmkzzpKKLJ|@-_ zVKx~9!{%2#*4Z|(q>&9?T_*2xP1!d8z_zyORh4r)PuEm5TaO;Ox2E&H`|hh7N7{Mf z&|f9Hd zPyNHywf^Gvr88EnS|3x&3e%NyPb@sH)JD%-*3{nR%-N-MJN?WM@6o@i$S&$*XS&0( zXLnxw^tWU=?i*St=gPOi8tX^*lEQKJvYe#JDaBp}d%PEm*RZ;=wV4^=VLJWfG6vKD zIh`d%w)mc)keD94R+O0$6CNg#ZK)!IaKl-OPCKeZ3U~>WMM!cJR$efPc_J?>MLz&D zh=tOns2bU0ftpC&qNgC9B!c7baDNP+qJMTuRG@$KKK`8Nv(l4wfuT!Vo9E?JuIMP= zkX~DyJ9fLznCU_2-u_PA$DPB`t6)OOAEkQdxw{6s%=?$G6O=@7bA6 zbk~cF+p*d#4LZVVCL(XJq}PzwVJxaQge4j?^Mp)+wU(FSj(bZC$^!mddZmQAUD>z2aU-uKq8%ofPMB=|J%M^3vMr#VNVjT@GB-QCN7AZ7Ocet2$EKIJ;=}XU7NM&}U@f+V-eaqW_aa zzZQFNzqb`xI8J9`)gQsCE}i;IBh z$VDA$wnzbY?*MN^&79DQGVMUI+i;}nXf8eXq3(&Z~d_{k6*|~T}m>yS!b+8-0`d4q$sdpC_ z9X+;XvN^SP{!WcFbmP!Bx>d*k$;2HOm6~yy8=MUdhLS2no;5AnSf+~>befVpi=LI_ zWoD#WOnL~$Y-&4fhZjZ4%|eSJFgr-C#XdH}>9o^H1#gUl@!;bz?l{YnMp0D?)QNf@ zwnqdGGrSo_g&TGtg_8=x#;{O1agov>y98_;1ZKD3wgHsDsJ0+~J0Xu;M$2C<-=}Br9?CW8%cUae^T(xvOYm zlkJY?uA-jRb64~@E6a;YvX+(0je{29?e(@LwscFDA<)@6@S@Z=czRWKc@gfgE==>k zTRi7TzxvBfo5U-Hz4z^yU)NSR;mFxlvkRB4zI*DTymcS-&nHUSt~@B679HT^2I`Yu zTalgQBSlvr>4udfi!@E6)dx!Onr8#6^;H>Fm3d_u4ojLYqTC;^I|}kL(n9=os-ETq zHsW|7Uo8xjQ3f8@&>p0YLL>N>b2P9y%%ONfN6&M5gr~xm&u@<8(v;&Aw8++cvwZjZ zo<*C-KG@hi-I);)pK4C8%gURZoL5nn=UCr&-=d|<+8bv$nzPut&?SyJrA^lQ!ptI; zaHV7BO>-W-t7FQ9nxb}dSagagrC17Tiksi-sA{hmw{7R&7SG(hpsj4vveiukpPMU- zm)zp~>x$muiq4X3@`7vj4*gT!DSe1Lt7d6dI6M38>HcZSx-sqTLZ!f_^)xq?jmb}q ziqsY) zL3mg|u^}dn2OBqgafEZQt&?XR6NzoWe+#3#)6XW4<7 zu}yo?lE1m4u(qv0UzA;5w*YtV)|VILmv%n6xc8QA&DLdwZL9JUa=7e!*z z4TlktLd1`JaNY_ok?Sa4wq_T(>7*w3ay&71Jc?BB_%%6Xb_{KwAnlMg`=l0f-lkk7ij zLNT4nN@ab5Ap<$sETCX&M(haQJ!s0lqd zLD#AYrix_};*>cWlxMUUk^dv&w|#=YWomIl<>ZC!IYqOkFP0|w1jNG&67mZN>B?xn@l7n9Rte%-l$kO=zmGbEK!4 z5qk91_qONCk{^h1O1@7;esD@brlq84LRTx^Q{+Ii4s$SEdfaeTX^;O_wfZP2p=vQM zZ{1Dx+^Wgbe2EMo)s`h$p<)WQtZIyM6V+`P5f!S+4=!QuFvec0vV=@ndJ&&yGqa|Y z-L|>uaPh**lvRr-FUsFpTUOgYuC98=5^GjrUb{W7A;s>jF04r%S3b6^I3>S${Mzmb zOPBnl|E~Gji?=WBpH`falot@2K67Pj)i~?of?K4Mnbqd{>f*)suAA%Z%!n*0*!{|+ zXU2}pNOUxY8yNhxz4dun`RN^1ZN)j})U0qZKW9v)ZN-{Xo#-U~T_yMUcz8f}^5<1<6GWs_KcpP-*K9=p|BU6oDg znO^!v*>v6}b~v z&z^Jo$cgdI+wHwwGYh-=Zd;I9+L0&6?l*d8#>Ir@j7uF;*nLC)?9DwrJzWbOZLyC0 z_8T0z`4toWmyF*~UOT%}ud_zf+-C_RCr6V?Ufywd;=CzGLFvU41o|Ry?0; zS<_`5_dHe~H1tPtq4+Ga;L|iY&WIE%t_Lt01s0FHWWtf-Ye`HSyeoYnr?>0hj?t)Dqg`O_D_ ze0Wby;rdV6{QjbZu)GJt6G9^jPpqGD_{xR*ipzRt^wxGy2x~0w$*{i&x-Z1R?KRm? zQ?BWE*0Yk_97`~=AF@PExtE~V$7h+)X}?g^^G4rltHk`Gw36H`OS~x*v23{dV9BH< z#zh4BXmx(sWrf-0Ij{<`3ontG0=zz&EFTPhZWpp+lA zL2wn*9q;@ILB|Ms;07Nj5qDxa{K1@uVQZnWB+OeBu-_@nwpQnFS3d2I&kK$9$}VFa zEFn6zztJUpwe99-?5XiNiLhgWz~U0XBL=+G zz!I30n1D?Y%fqSED>^*Hz|%f)$WxtWSQJ%6BZUkRWB0-!QaFCe2cZ%hoqx&x#tS<0 zd6tn79oOhA2u)0l7~4E4HbLtZ77-Mok4T!ReD>wuq2?H~m(~=UU+Wx`X!g-Z#^pt( z6gs9Jexk3wF0#6!^d*g~SvB-0`S0>N;M0b4MWdz_H;^^ePL400oE0x*1^Q+M8uSQM z>Y8x%68V6t2^SAqJIG4-0t9=o8364Cm;k=T&vXOp*D(l za)InI*eo`5B_gfJL(~78y$GVc(1nC2j_sIKoY}L|t0X96^YowGZHbJqIn4Fb8Y;q3 zCR>t`QY!wV&2|DiGk+I$rkd}}p#>1)$nU{VwXA_CtID9^Mfb*ScUumA68SGpJ9%U!XqCFEXE-* zBZf(xZLFi6#l{d@wAd5sx>GCd*`@uCFq@XT5!Vzua8ltH3`9ri)qpb>NFL@O#uzqC zxRe?$T6FKysFV(31GiIy8+KNn)A7IM5xy^{)kKgvdz`f+nIMVNC=*1Ot?~)qjnRCP z5jd%v_{3qP-B==f4`+-dC%98aw%gQ{k-Bu_cz>d;KQJnjxInzeHs(?w8k4 zhExgFyxV<(Q+;BBg_vv{zo~H#?!2Jxv`GxT@^A+C^+5|CFiBBsK)%hC(I08G#b+nP zM~0hliP3PDj;ahes_B=TMO10Tan38=IZu%Jhr}He)aQYGRqe+;ZXVo2G>uBVAY0Gl z?MM=Cd8P`LkxSWwN_w>vFlEp%Mbgck*fM4E#^3kt?&~Zp{!Pso^vftqH9LHBJn_dX_!6aQ3W*@&#=VPM9-p-0IBi`YjoWoyGa3r3EQqoD<)UG)%dbj{fh)T+mCnX`FT@-WX z5|*rEHfEB|@~Z<9JDu%%QmD&T+N43@;|J$4`7o2_J&2qx3N_}+uko1>F!SU*@xk>P z1jAvGcxy5|$%*RlbTyj$i+b`K(Vzfv3sH=_2}4VVnLO`7X;5j)7V4Pmd^S6MJw)oT zm<$jBM9<*VnFe5@pAB-e=%{)PL`IuAk^GF-MEBUPCo#0}G3HbT4=V!z=fA+CqEAI7 z13Ydd{s2787-Rxz*n^B>9EKh^tPIY3P<~BC;(4Jyi;&16dIfv5K;y5ebQXXZ5fjqt zHPmECmb7}Em(EUyZN%Jgp*&qqM!1Cy=O_A7mKm;2x&}JthRy8WHfca<2mT1gQv;Vr z_D}4kHQhtt(l*{hxF)#wU>_awtLke0(|nXuqONXuyG`vhn9owzp>%dc`mST3p52q;dSC$)de0C{*J6)a5DfF>kAaD?L_ow$ zB9k8-sA5MlT!)r1pGi+h&r9D8)Sl^8lm$X>iZV?)k7)NEYKoaIbR{8fB?+ z6=dRv2JcMcq^ud(+qhE?NQD;k*ZX)$%vTHyz>Z4DXZOaf^hT}5&o=|=MK9{d7;-47Q0)x$2E=l{X2QRxKjSd53>NMy^+1H3zFW!?ZergwL`d&Q;U{`)q&cL9q3Mb-Blsqaghkxy72^BtckdQ@`G*uNfN-5Bw5pQ+-`B0f%?e(k2C{+>g!|oyPq8?x+s_y4=BftgFCVu9KqU=A zHdUZXVt~K521q5Y{(*Imtacaz?S*TXdUfY$IK)$K8km3Fm3NIy*92kch6E%Kv5msR=v7{e2WBP zcsDhw;7ha{^NjX9#_~*fprQkF7h>)^9u&VFT&V7lc*h_tbR>}PlV9Le5v1vH*5Q5_ zNkUl)DPjrDgn9X@F36CDs}2IPut2O8a+L4_N(O;w^#W2ke7!&@crRI3e$*b82t_3o z`U4L1phu+^oylysvSY#~6-lm5d`+J{^pIG4;)Gb`L6)0(F7Ck>*80bx-O~H=V&oLX zqUx%S#YRWMeuWUw`slH&h_F!fr6ek){~Dshd^J);DB3%MH}z<6L=ef55q1_38)|2= zAfX|STZr++x>aW?sm`QCd#K5%)manlp)x$4M))kHM2f!~ldP!Z{_LD`F?Q0yvsJOI z_Vfi-5?gup;KW$v4dwIF1Z%N9&04hN@>i)T9b(v&=#)QSdjE@*sJ_9kJ5o|VEzS)w zWs4WmBf>H%4v_(#*dyJ8eei*mnn2gFd3!m?m>@ex)Zqb7rvKqgdQ~N$=Qm8Pydc>e zBs%v0Oo@L;iT~MtwoG~RfSAD63`~>mQMMgZZU+x)W>VsVbQm(f*qQ64b1-j7bO0IX z7md7qNPA!eVjmicM3h5>GyogWkpe`DZ6!}-PIjKnYy_qApPB40N+A6R2OeQf^lxA) zP4dCem%2FIL>{h*hkvovnUyp#BzmG3?yXM1*%qCI>EwZ|3NO%7YOBAwRd7G=PcL{{ z{kV^T{P0H}>5+Ip_jAB48fQWhE22n|X!h2sSu-Eq`w)x0 z{5$7wx6Pb&df$V}&p-N?lU0lR&;IS(Q>P`{;I#8h{MYGIEau!VUVZpvZ`048YkcnF zSFfGG!#}*)$WUB#{@nSYQ$o<7>#cL=l-FtZoQTqe%BXliNlL0SQj!JO-Ep*g_<@86 zXfOfDjB*?L>V^fGaRn?hJEad@e?C8vt#DzCtKYsW9wjM>LKt*i{THf;ikw-&L3U;| zfn1>~K(iw5qa~9bn}i(-4K`|_Z_qXd_m9aEPUyVIjW&px0}~;VhyCjXdH7#~Xx3T= zn*v$0(C&KiiSGGh8{R0|x=|=~ol?#Oichd-lxMs)BxWpGeu-t?oD{i1r#y|FWSZq(H^=d# z2v(eu%v){6@J`a9ly?mPG@*JUn*KyZ%F-|dZj%Rqh;Tg;AgD2b&ktTdxWWMq_B=1d zBH|@8YQ8N1O)7jMGK&D4RoXnhvf5D+k@ZI5wv8;IZ+!Lfzno)7UB{FYhNJAh{{gV< zFo1nU+~Bn%YejT%Y5CH-Im8d=tl6OaZ2j+?!e<=z>vlty?6_PMwh@XD?PzgBrD7%x zgL4(InL+|}lAzV=ad|NI=bGKHnFSgA0uMg?NC7Z#Ecl-k#6A(v7?m@wQ$p#P@e67j z-YDF<$@QYp&RPQ4GwWH6ZbM?`;#C)vm$qOtykIji_+2#OVGv4~rUZ9a=wPLRO>tp$ zXb9ZZ0x>Yi13AJ(9zi}j5T@RM8!w^h*)VcBeb~%ECM^StqJ&evB(x_>bwvta227lI zSlP@LpIi9K#Hwd^DYvtY_dLZ8EZ*7DvZ#8!^7kiJjc;9ifaJ+z>;>s5p$;6ttC`?Y zc2_e&opDQz3`C+w!28s|70HXeunnBUJ{?lD6QtevoWG{VS%UD8fD<^xOty%UdH^Iy zP%A!ACj=0n@$>c4Sw)!~`_MD!eZ@q7+}n)0M=q1NjtPN8GMbDa3K#-r_NlaXV2dEE z7MN>jwM&t9uXYWwdzmtIjndEV#p;#gL*EEzQkb03RfFgaPpoWoo<%*Se4R=Tr|7PzA4B zUI;ls$r%@-wYnpGYD_2ysQ~>RHghOD5yHCeQaB@c_mSyQKQkl zs5=CnOLoShLo`t#s81&62ey;{AKQYbM^qS$BXfvxuP#P+=*pG7BzbYUp0-sSk5ST{ zxbYGgf>9<4S#%&H{bwN012z~M8E7EFR!eJehzGvQM@WKNrDVv%$)>>7hk zvXZXG00Qg-u!S2QARmL!k07mF$tqT^)S15h%-j6!X9U;Z0hd9FgpNvZQUgSsQ{d?W z17XDL)f4d%NFM*BN_Od(a+k927<*HS9QabK8GIUpTt6O&1Ue7PEBFKXFpX6s~#r%qZH%DGt#M@I0mZao;b*to-7-P;=UyA5w`d7aL|a7n8jL5K7Au{ayZj7JD5?u`s5`9)gEfrHETg!`@wx1`+B zx}c{eTUw*&M%KZ;SA<9I%_~9i!HLhAq7m6w%2!&W_Hj)TA|!>H8P2xCtW2u~HP>F~ zXc-t9i~{NuhK`mgELf0|G!Xbi`1xr*X=$-ONQFb~Ebgp~jWh)Z%9aqZFw0;Su*29g z3?m?Ig-cP?gb**2jY4D)0<8*tMUf93SebuQh!Z#_z<63^U>?H@6azH@^AuZxj@BC6 zl{1<1ot?JqsY~wmiORlt;z#xM&$O=9uWLCxb=>**?|!3btE@{`&bpx@)mB=TV`RbJH&wOlrwQgtgimTCu%icV)a%vukKEjo5ifX&1e`f^qi?l4O zsJtmYJQUd3H1xf871b+2D<)`ionhgz`XG%qNPw=61sBuGv@H&MOS(0;u!SBp z+Y4L70nejREA)j`XF;sp6c*zbsL{rtPac|D8Y0d9A)>cA#QT~BQdPut3;eI^`$s`@ zi^I{}I@scVAY>LaH#-WOTV>W-;Am+nv^Tfd)xU$X=MgFxJor;rm!%owj7dNlIpu-k!K2S8N+ z4$3M_j;3KqM0ShjG3`9@DPTF0pAjoV%4FZNfB+T%&yd8zApGLK$&v6y1Ch83x9ue1MDO<-+OXBBg9`CIQi?fkE&`D0sqM_D9MO z%7A_ZaZPT)?7Qp>rtH2UcX8i>t#6i2o_BI_^G&^EmWbRoS>4p1+ZUPWNLbnPXk>O% z&*Q6Ct|p6nKyy|rip#hT@I`HI222QsAdZeo?_gtzbSP658UzxZ(qZ1gK!R4GLmEG$ zky7HO5dN|OIAmaasXs!;W_Dz=Qn?wj{AWWav^Ptqfv;)K&d3OqN8$hvqg_Boa!{a7 zn=Rs)?CnKXnMBzHXdw(MfSYER8Rt0Mp~Ib>eDVP157UgV2FVD8W3(u z8^J!;?zn#%qKixw8JSCn=2~oKI8MNdxuJ|Q*b|HaiPGBYJG#e}T-kp}`M&b#ElqnG zf6fBf&nk{6M)ucDla&ve?mXGXWaS;{cl&=DpZK?iWZY2q72H*Y5IhDydl`@qwzeS?4Oy0xFE{*A_-4?pT@{Oyt@oRY}z zg7t;N8pZmeBeGfKFj;ON0JK?NAd0fc(^zcFX!kk4f9en7O#~$tLoiYFA zgC~D^?%_$zD_rk?zW-j=3fCLKhwoEP2?bv(uL*mF^pHdQp$#L3-qijYc|sai?C8%EIN+DHAdI8M}_&p6hV7kXJEWjJNkJKa2^%HjrD7MqW=j{K&JB+ zVV;ZdiRR@dGRj+&yk5R=Y~qCJb1pn^{_?rglNuMye(H!|d*qiNpJdzEN6K2Z4PUOp8>dvYx_=R6U$T9DoalN`qy~x z?aK1qpR=88^XXrIO!iDPVE+||oqFOroUsX3zeo;uyg57!fd;^v>eR*pWc=R)=Z}XE zf(rt`NFHB)J^`eX^zu`~(4Bo$g-&^2>_7F3fwNCa)r0pw_WmPx9c(F4VS4IkkDMJ1 z)4)Nof5+oz71#Sh@8G@Ldnez&e%CJnNhE0T6VReB_^()#jH%o+>#!B8J1D!%iATemuk(v}<<^Y?3xf%LjI{f9+u3(wMJcl}U1dXO#l05wT8n zksv3XmSRHgB|;Ip{e-kij0n?MJfj3lefZh7W5>W68u1WDoFTogjz~+gi}3t-mIQAE z4}GgMaPNy7Zung=pv^44uwFjP)kuZPaNp!`BxEIkCv)JIe3%n+a>yuE6W zzaaULDG$4hj{~m>RwyG9EP2C&>xH-GR)yllh6gp@j;fZ1t@F-;<{wu?i z!GnpOZ6vt~3lV$BjEVG{IfP5X+gHDk?sYxtIwRWP)ao0&G+Q_#q_{o;&TiFwBHt;R zRL`3%)nG#@-oeK+$eJ3;N&=vGW_VK*v8Om51#XkP1~+~p6u}?NgmcP7DNH*P)Q_Jce;#4Fuy2K6ok4ljB7C3N0)sYnyw5n8g?nNS+@zdyyyy2L*MtN@oVEI~^C^qml|s;Zhv~BoP=_unFg|gv{--hX?$IXO~>9@XA2kg#<%MuVynM&5=IJ zKM+igObBCN3r}T-g@(JPxTZt}n^5cgBgchW;GKLBL8H#OCLv!rNCPvy@(*=j*Vydv zkZ|EX;XXbvj)m*Csj9IT4U?k&}(Ivk))5ciT2dkY^Q*REabR z_h-PGWR8mh|1j;i+b;@nB0jrK(RgX#7*#*V=i**oH*H}SA}{shqqx<>nmiQXr5UW; zCRA=4tU`V~){Ob9ux38a$h2JWaGF)+$Y`3S_ywx1o*S%`s8+evhBvsLR*t1fVXB;;U0hGskUE}sYtLRh@_rND% z=Q&ynjpe}(M&VN1y&A-)uo_wu`Hn?R4FymDmwE^uFL+sv6|j zr4?eD!Ak(1*2^h@k53EaqX1OO)1bhFmyXs8j38|T^o0q*5+gW9)gx&UqXi_fO}aGr z2B?hKn`75K`Xz9tFXE(mKHfk8XGr8XAthRbiiJf$B&@AL5-YJT?_S6gu|SL?^YCf7 z84?0g;S-6^2~`8n0v6@(gO~86hf}bd!_ZudZcq+ki!&hfKJdr)X9Qc2F7&NR7>|^p zJsGgMN52Gl#Yd-Y04``S+?AvTamc2)c1F(f!+W6`QOGcU7TCwa-TX7~9E!h)7HMa& zdN;QCXl|SkqoX?#<);AxUtr7IjYrriBY5=8#9>fnrF0FBgergnDg*74+yw1|R)?_# zy@_q$(G<+4Vv8{3W--i-?H|Dw=Pe>G&b&li1J7zTgG5|JS#F8IM^|wUp~q3h#hxk? zIFN$dJR~SbC|70OJR^unEEvG8E2?ZDGUlA-Ui}YaYlMQX#};3~H8f20o2P07;u1{7 zP@e?}0Z9Q$yR;44LlVx$wF8HTa|JiaIVXC!0(6WG1MbN7BCZ4ndG-YCt&$f+@xZf0 zT*4*MhRFz9BtN;_;G?UfK#OuF1Py@?ISZ=HNQN9{1QtiIMbd+IJx_d=s1;jG=z?++ zpHrnAAN_~}M)D>Ja+p(WCrgf)NBHdsY_56i+Wy9=G!+#0=}vLL_V zCsTdYHPEmi43HNxo<U@(+Kh)Txc>_uX)lN+lbnr)QCB`!9ssDqAJU{WJmicO|`Scps%4= z0L%j9NboQKpAeaYI6r_%eY_!*Vfd5$L=pvzeLYJ3NIZ|4InSsPo{+)CYQVfiitfUbQJcs`5o8_N1u9~R z8n0-$2J*-v%%g+k#!POj1NlW5Uc(ULKwN}oArx?ViX~uAiL>b>>6wX>q|pMpgl+>2 zs;1-`m^3HZlcFm3Mq^g*hhYgWU>1XVBfXI#+uVT;*!&>|YeWPUIcCuqSu0WsG8Qyy zX6&U(rfxBKY1=ksF616xhHA~ydO)xIX}A1!+X5VBzP0Y{QuP-W z2m0{9OzM#4B&A3YlIfuuzND#uZPL30GuOMLv8(Qx?5Pss8_Tzt9}R(8Vh`Bao|!ze zfOISb7G@#Y3+xh{m{!HD8zwi^5)IZMbwVXeB2wTL5U7y-cbazZDu5HPP>$6f6fUZS<046=EtmwrDFl!QtEx%Q$j=u-4iO39 zm7{f3OoC#CSSHC@y&v#v3?PvxBO*b!7kU_$n?Iu@FXa3v+nL+XgH;SVhU1*9NZ`mr z&z{w&6wIgMj6=a5J{2y_#WquIL5=7gXoS2*P=x|jR8k}caXa}s0tYtKy#S$k2;IFc z9%>&}4Q{GO#e!S^kiIj*)7#~23JDJIuMv4tG@le{(|)2U6d@a4%L8+iOYP7Q$TU$) zUGezaOo+WAbr~6Oa4S&SH)Ez!5=4&-?*M zR}3VN2U05$S_vdW5C%vft}caVj6yN0?Tp(LN6jxH0T|8}BPO>}Rk$@N(IU@bzxtos zstY%XUOvHNUw%^AH%D;3xAw`OC@;;PUH));`R~`P0L@^2c2O$94h+NZOI*p_d;p$L z#NkKq(ha|wk2rdMTV4VIU0}D{@+h|xT~smu&Sx$Z4}-7FWEVGi?cDlJe#uei?Agl8 z2MBz^Kf9r`jh_Wu9a@^&$Ib+*u{5mWL+$K6!_2uC|w~tT-1a)(e?q;(0r;`!VKJR zgM>=RaX1tQhj||dhX3m)aH1IXi61kEYIUd_E&Yg9Nu1ZntDrvm?{gqxWt6Zc_bjLe z8|u`a$s9+WRQgb*!6V3!F6g0vObFS6 zo4iDU+AhUJhlUvReKJ^`&Mtkj1{c@j&aOV$DB{Y$i10w892;c{_V@E-Y79$1D6`>j zgw@PH_|vJJWbPl~B_t`1}eArTa+60=Mx0nj2aV-t||K!hqL#z!Lp5BfC6P!exH~Eu@WkIDr=MtYEtbm9c^%)&<15!ir9Pa#;SU?ok>K zkq|SDIk;Dh9Q=}x+$KgqR_$a9#MRP-|F)hWe150!4K4}!#uZE=cjPnwPwS!aXgwIy zHG@i<)sfqTI^f5G_|GT8r~hp|w0+DXKP`OfipMAN*<;c^>33LHh?B1M#5a!oRIY;P z%0+kx!O!~!?`4m%$HY9m>w8V3^cw215z5jeIZYD6G$;Z=zCJe%$k#}GtwyNb!K6g9 zwzV-8s-^K{kXwBELViIB#KJ8Gp8UejNb4B zicb%|Bs93rm5IMpf|cL1NR|M3hC;zz(tFY}H#`7_A6=09a*;j{c$iUoZ?H$yD7%E; zbNHhHf2;a_(8TrddkfM&rA29#S_j_(0`P{>7)W%6z&iSG@LvQDgMfhV#dnl2TzC`9 z5+(n^QnA7Hv`_>1CBXl@8-9%Dh94dls-OWLY9CY+H8E zxiz!5Et9OZbvN9wo4-;!cI~=5zPxY8`fbY&onJG1>+&OyuARf_OtV9}N4yFv-*{f* z?QM|tdPMov!V5~Ffexi$pqf2XAbhcZUDNo@o6kSFdGn3M4~kc(6hAZb>}GtOdv;S1 z#RFCjX?3@1Be4rXz^B{QTBWb{0 zS;5lW)V0v$8TyI!lU}%_N3Z*nCz6PG+@D?pZeT3Eg zU|NG`jn^eMP#brjy*F=bYHn`Yw)N1#t$1|ts5B3Y-*{~A{?6|1uDkC#b?WZByShJm zO8Q-M%a$#N4$+&Mo40Pe_v&N&SnZW>bis-;zUR(;r%&ItuNz+?f<^^)gyv^BSU^Qi#*fPf~LC;c0dgsN{r>9MyKJWOcmrmZfzpJaO8=H9gEF@HM#VYDcMU`9?$G* zx~EBb{l)5itl#qrJM-Q9%I9yKIyD_%ryhO(#Rnhnn?Aj3!oGbMj_tdE}IzdqCqWYz4uX>!hz zRmZbBS$GS3fYi9J|KO30=+4a*W&sF=tN|O;-h>RIYEpF_tF(p zEEy#^QIYWCp@kbi&8R(o;TYf#fJ#)h70|&r)I?RfCe&JR#uA-v_rJZ8|!C=aO3%;cu7mtFHpOk2c-EaOaYpN0v|9#@~C(-E(_@Eem=# z9+#g$CS``E(>W%_8G?(O^+_S&0d=M#-Jlh(16hn=naX?1l($*#Ea%+fl6{*_ zy|#7P^1`+E?wZlHXv(I&)4I@hJ^%1r&5pnv|xJ3qd-v$<>I zou5vb^zO8pthnlyQ~3%0L4N6p#>9xqMnylhvoi-@on2F>c6Q-GUVE2VQ~Tbk=Wjc@ zvF2y9pWk&XiLKN61^GoK31W7fDKfM2WUa+usavGX$jR;KoTd(dN7JXZcV*|0p8f;m z!)dJnSSWOwO zTh%gFsWoiP9lK-xa(m^n>ctPvz1j6$U{==DF$T7OaHGABwK05KBE`jTg z4>XmU3TH|s4&W(~U~0ifUyvCe9)M<;+-j#6a#NCGB7^Bgj}5N&79@Kd@K6eY88^?9 zzY3<14Q%LMI{u4|_4FO4?Zj1d_5ym6Q!5v7)(|o=LQN*EI4Jqb4}|RQE)y&n+s+-F z(Oy^4&{laUA2?l~PySe|lZ-#GcKM%{7}X zg|qhGKBak?b-r?>@Scscc7F5F%hPX}*mHkw|JsTh=5;SR_N;SF7q|e3i77MWnmG8L*>$K@~@y#%TVKNFGh!J zVjJiXeMUlnPV!S(r`RTBX~bmTKzM=}cnJ5Ai-7`N!wBy!`6wX?(YJ`x9hw`dYa`L2 zk{cG!vs?kd54=dFgeJbJR$@IdKnjn`*x5AE5>k{swsVZ5C)xXSS(;6Xh|9dKWwIr- zB&V+1S(v`M>MOA{rg5n(ghlj=hm_`qj^yIXytsG*EmZtlL~WY);*{>W>s%(lTwLLK zg?-#oP?Z?*SWgCSSzTG%G!aZU^p*00{DHO!cCv2RM>yX(k+-kle4(D#0(|vUk*@bO zqHa1{L{~IORbSDc`>#E3_CmuO_o2v3@1^%kMvJt7WJ-G=PZ!+2}GGF&|;o+u`5cVsf>h;%^^n(Y*Tf%^*urMJ+IjOsK@%NpJ7i&*m zwa^p)8%VrGgPud;{`UI$v1QW1MLSK6^t|gLBZT3c+C?+<<= zpJENg-`^;Hwi%n?&xs zEq6SL4cx!=er47Dx+_<_bXUHcsgAr1BL`w+_^051(>Rc(PtGYmIs^_zL*6i2Paw&M z-2c}P%>z_M@nsCHU3B!je%;^|Nr&!wLw{4W^1HGETsfSXI5wiQ9*wDy$<3!8(^1>( z?WL#9!`PSz`-kDxP!pvBiwF?%WGlp(0_5M!-8HD+B`?{v>&iaeJo*`)WeBtI+yKH& z%C)H#K#rclbV7C7e~5mHAPa>52umRWb9agV*fm$t?$XV_vX_2#K@MM4R>?o(__sOJ zIA(xhn^ zLySGq1qYt`^Q%X;RoAjzJGcE#`EW~CtfG~!ez4?&+3TjXY~T6VQv*42ISapa>&K0! z&JV<@E7G}Flp-ml;H}WwBtb+w`J0B2pkq%eX$byjctkx+&qVrOB zvi~R|CHCyvR4{hsmWThIk-IC#e#a4)^7F?YW~^5_cJ+1TwRQQ?SsRzG|Ep}c`qRf} zKR18HV<(xJPV62W{cs+mo)FLRqjCX94~R6#O*=hAIEq&H{S_VkK$Brt#aBQzG+wGR zj?)WqfJ*!Vb#0^VRQZ*|$KzfU@W;2Pk_z_m@OM+`2jjSgCP^3F0CtrVd)7v00q zs4|;amNzcZQob#n8jycaO*D`)f?1%#N3!~fvrOPDZz0jlT;eN(MX2!n9Bw?D^3BoZ z%h7i5sllUotK;JsS9}!7OFCat>xk_Ra6=G!S zxW6DdSsoXg{Ageau?U;Qkc?tinXoV3mldZAFG;lxC4 z2IP~*P*)U=cmq7WeuC)hjW9jRH7WRt^;5~^OQ15(gs`z79&CAZ6)2fHA(lu-lDwq> zSal?6w-vTs>76C(0`)=TFcZmXc|2Q=nNpn5$c*9@vDjh*uQEdGZ7)Hl7O-3+xLwr1 z6+g|}O(M)EGy6MBJn38$nSJLpL(gL6d&ui;dFMLzN4rk9l@K(qK^K$*8eh~Kn@2Zz zp)IF2W0b9gKfcsm&#ifep}_+J2o=8s6SLSH!gH=lM-s&rl9bm9#TUgF3)=?H3_PL2 zBZbJ(n9C3J8-rdl==SQTad;{r3ZHmWe;MYv2}MHz4C2itkD=S4mDtYkgG33s|LfDm!v62 zXR}y@e$ge7>|;MlIWbrYbdd#tIw4S#6ibsel0KyPFw#-nc0508gS)sDZ&XQJORWrH z^TI+7;wCW}$TG=RSi{1`%ePP3*4_8q<=x|VzH!3gv~F2d&Pt|LY&>$a_�H5QPCtlH5G^Nh? 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

      ))7M*e^g%4;Lg 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

      lIf3@kfZ(` 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 literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-Bold.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d364537612f94a76bdafeea03c46dc76a31c5a74 GIT binary patch literal 158732 zcmeFad0gy*Ej>q)C%D-P#Ac6}b`>u$B zxNo?j;x>qgj3VPQqEu&OT*q+(r3u1d)97ejE}+J#gnE@n0ahn@2BwhM!czb z(sgrF%QkqYGiH2?-cvtw^0aN4kBnl>^alQJm^@+5Os2y(i^|8}5tFAbtS|3<_8|VQ zU_$EDhPny0#`|q=F`@7PUB3ZO7*>U@#ouS~cUr@=xeFc~w{t%eJQ8F2sZ(c6njqf) z-XSLVX5#Oe(o;EOq0Wc5Eq^%tgq2XsqRuc33{FI+7on@PGb%rqH)=vXpa%9rswd5e%B z92JfUXT-JQt>WF{+u}RoU!-x;Bx#-o5mJtGuvWpv9?58 zvMtqSx4CTTwme&jt;V*^cEI+O?KRteoXP;tUZQo|U*Z#aia2OpnN2ZfG1!siQ=(IRvor%sgXSTD*S>c@N zT<%=yyxDoHbA$74=Y!72oliNRa~^iS`g|a+1buE7?*V;IOH7(5&6e(vHcNL&2c?IlL!i%b z(B}i`GwC1Fcgf3>e*k^Vsa9+h(WfxAtd%}c%L)YVriMzGL|v2f$f9rqE z|BC-f|91aY|7QOk{@eYx`fv6x^)L3%^-uLT_-j9Z@AHPwaMJ1P?5eYyKg&J4>ND48 z&a(@e&o}?8`J3ir%}39gnvXPZXr9_Usd-}a_~voVW12@dkNULf(}m50oBKESYIdLf z@$5gð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∋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 Q!2cM0{^x)HfS*YIKN>DYI{*Lx literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-BoldItalic.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1058bee50a7ad8dd0f7f0c04a1ec89b7e1bb228d GIT binary patch literal 190792 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 literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-Italic.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/NimbusSans-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b09a597dfc2b99ecd91403f9969244203e82e797 GIT binary patch literal 191524 zcmeFad0aeO_%IR+ce$MHr<=| zbsr&W+*b&-Y?(S^Y#aTTUJ6lX$?G$xwJn_KzYwP)>g{jg^SbG6(>nfsXwAondI#D_ zjh;DU&fFvJPu@e+yU?G|M`zCNn3=OplZB{ngW>&th^E)zO^AmWo`dIrUc!<5r>~-J zs#C~=_jrE}AnFMjUfAz@Twen{Sb=mm7=eRDc$eS+eidHZPhMvdcvo}=q(c-UvW6cj zjY&YbmEm1MsB+S@_IYz^+osRa!B16tKl~tLKkIqtz>$V~Rhrj}l;B3Me#0dPL zr4jHzfFjT`+=;i~ekzo@K)pfr()ZI3&=1k?(3j}}3uyk1(m|AJ)-N;J)!H> z^Yj6FrCy~E)`#gM^g6vkZ_!8UjCy0V8JQ`w*eo*#nuE<@ zW|KL_oMg^4&onPL-)mlDe!$#qe#qQoK4Cs(e$M=Y`DOEY^9A#p=8NVJ&0knDEiOx* zrPVUlGTt&JKJ@!_e(`d*OF2Ko@l=L&+ zV2&}znbRPjH$grhFn?gaV!n%59`OUnN2yc8KoR*Q>e2?}GZ*A@=qCBde<2^cK3U(Q z-!vefcR@asf#;QvoRd$8A)J$s737oTl~1c-oMEzIrD3b#pjSRRW7HkwQ#~M`P38mU zW1M`R<>d3K`E~PeK|UXVe9{Nx(_xt$ulfGv?|;65K=D39s6ViOUjHbB*e4Nk|K$Fg z`$zcy7x$mt=iRTkPr7%xceuB?H@P>sA8@a6FLU4Hp6j0Kp6DL;*?XT&`~%E<@^fv~ zwQYZhy|(HPmOq%UExi8Y_5Zv6?e#aVU$`c}e)f9z^{Lm#UT?qNdVS3Gk=I+UH-9?$ z(?!>7uUB0!yKcSq)3vXzeSGbmYj0mWe{C0cuC3P|{A3-RbK|uQ+~d{P?t@1wuPwcH z&$St!j6vv=_-n(iIj==uGhCB=dg0UOK7H)d!@U=K-|2m=_m$q4dtc~%w)aHuW4(ua z_x9f3yQFtv@4VjGy)$~p_O|pk^w#wb@2&2w>@DvtL#Vf)H?ueXB~Z8hmu$$m|!@Jv;gMsd!8G2{{!x+yE@PeEu>X<_13$16ZJdN4)R02?>SOj zTd3c2PjUy(GlP%+^LrGr=y&*`!1|&;phM_hvO$S<3-l#gkG7*V=vDLy`U>qs$I#d48}ui15Iv6GKo`())Q-lYO=ui?6Lp~9px>g4 z=q>a%dIx=r#-q#VU33XOfhM3oqs{1j^d7o`CZg}q_h>Dej3%KeXd0S|rlSLB2AYLt zqSo_!D{~>`T;$M{)&D?e?vc^zoUPk zf1;n!4b+F+h(-MvVT>tEV+Qju9}BP$i?AQ|$6_qOQXGI~SdJA~i34#ER$(;`#vxdP zLva`m2fM7rI;_VAY(!VF37fG6TX7_g!qM1?4 zM4#eqcst&Kcj8@mH{OHy;(d5OK7b#>2k{|%7(a}U;79OL{3t$#AHzNPaeN##ej1;|r|@a~3_gRO#n0jA@eBAx{1Sc{pG7Co)6^(xG&+r*LFcJ4=p;IYUPCL< zD`+*^LG7mYprh1YY9F;9?W7J;ho~dyVd@dIg*r+-O7&2WQ^%<%&>pmrIz^pE&(aFI z37tjf=n*v79?XZES4T1Nmeef@3op_Pk1r64{QSidX@E?wPzDC6)WIQ|(6I0bEqF4c z$!xJkMn&6V?6Gn235kxR + /// Verifies, that the specified document has the expected field-values as set by + /// + /// + private static void VerifyFieldsFilledWithDefaultValues(string documentFilePath) + { + VerifyFilledFields(documentFilePath, field => + { + if (field is PdfTextField textField) + { + textField.Text.Should().Be(textField.Name); + } + else if (field is PdfCheckBoxField checkBox) + { + checkBox.Checked.Should().BeTrue(); + } + else if (field is PdfRadioButtonField radioButton) + { + radioButton.Options.Count.Should().BeGreaterThan(0); + radioButton.SelectedIndex.Should().Be(Math.Min(1, radioButton.Options.Count - 1)); + } + else if (field is PdfComboBoxField comboBox) + { + comboBox.SelectedIndex.Should().Be(Math.Min(1, comboBox.Options.Count - 1)); + } + else if (field is PdfListBoxField listBox) + { + listBox.Options.Count.Should().BeGreaterThan(0); + listBox.SelectedIndices.Count().Should().BeGreaterThan(0); + listBox.SelectedIndices.First().Should().Be(Math.Min(1, listBox.Options.Count - 1)); + } + }); + } + + private static void VerifyFilledFields(string documentFilePath, Action fieldVerifier) + { + using var fs = File.OpenRead(documentFilePath); + var inputDocument = PdfReader.Open(fs, PdfDocumentOpenMode.Modify); + var allFields = GetAllFields(inputDocument); + foreach (var field in allFields) + { + if (field.ReadOnly) + continue; + fieldVerifier(field); + } + } + } +} From 12ee64721620c1874b36728569bf5e2a696ae8e5 Mon Sep 17 00:00:00 2001 From: Thomas Terhaar Date: Fri, 7 Feb 2025 20:43:55 +0100 Subject: [PATCH 4/5] Resolve issues resulting from upstream changes --- .../src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs | 4 ++-- .../src/PdfSharp/Pdf.AcroForms/PdfRadioButtonField.cs | 5 ++--- src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs index b26566d3..cfcb418c 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs @@ -718,7 +718,7 @@ internal double DetermineFontSize(PdfWidgetAnnotation? widget) return FontSize.Value; var fontSize = 10.0; - if (widget != null && !widget.Rectangle.IsEmpty) + if (widget != null && !widget.Rectangle.IsZero) { var refValue = widget.Rotation == 0 || widget.Rotation == 180 @@ -902,7 +902,7 @@ protected void RenderAppearanceToPage() /// protected virtual void RenderContentStream(PdfPage page, PdfDictionary streamDict, PdfRectangle rect) { - if (streamDict == null || streamDict.Stream == null || rect.IsEmpty) + if (streamDict == null || streamDict.Stream == null || rect.IsZero) return; var stream = streamDict.Stream; var content = ContentReader.ReadContent(stream.UnfilteredValue); diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfRadioButtonField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfRadioButtonField.cs index f6b7f382..431317b1 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfRadioButtonField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfRadioButtonField.cs @@ -187,13 +187,12 @@ protected override void RenderAppearance() { var widget = Annotations.Elements[i]; var rect = widget.Rectangle; - if (widget.Page != null && !rect.IsEmpty) + if (widget.Page != null && !rect.IsZero) { // existing/imported field ? if (widget.Elements.ContainsKey(PdfAnnotation.Keys.AP)) { widget.Elements.SetName(PdfAnnotation.Keys.AS, i == SelectedIndex ? Options.ElementAt(i) : "/Off"); - } else CreateAppearance(widget, GetNonOffValue(widget) ?? "/Yes"); @@ -212,7 +211,7 @@ private void CreateAppearance(PdfWidgetAnnotation widget, string nameOfOnState) nameOfOnState = nameOfOnState.TrimStart('/'); var rect = widget.Rectangle; - if (widget.Page != null && !rect.IsEmpty) + if (widget.Page != null && !rect.IsZero) { var xRect = new XRect(0, 0, Math.Max(1, rect.Width), Math.Max(1, rect.Height)); // checked state diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs index 3efebf37..f2f29eb5 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs @@ -753,7 +753,7 @@ public PdfAcroForm GetOrCreateAcroForm() if (form == null) { form = new PdfAcroForm(this); - IrefTable.Add(new PdfReference(form)); + IrefTable.Add(form); if (form.Reference != null) form.Reference.Document = this; Catalog.AcroForm = form; From 5fa50b326534dd3d809d38b7b33d053e0b7a0901 Mon Sep 17 00:00:00 2001 From: Thomas Terhaar Date: Thu, 6 Mar 2025 21:18:05 +0100 Subject: [PATCH 5/5] Allow creating PDFs with minimal size --- .../Drawing.Pdf/XGraphicsPdfRenderer.cs | 5 +++ .../PDFsharp/src/PdfSharp/Drawing/XFont.cs | 19 +++++--- .../src/PdfSharp/Drawing/XGlyphTypeface.cs | 13 ++++++ .../Fonts.OpenType/OpenTypeFontface.cs | 8 +++- .../PdfSharp/Pdf.AcroForms/PdfAcroField.cs | 31 +++++++++---- .../src/PdfSharp/Pdf.AcroForms/PdfAcroForm.cs | 8 ++-- .../PdfSharp/Pdf.AcroForms/PdfChoiceField.cs | 8 ++-- .../PdfSharp/Pdf.AcroForms/PdfTextField.cs | 15 +++++-- .../src/PdfSharp/Pdf.Advanced/PdfFont.cs | 2 +- .../src/PdfSharp/Pdf.Advanced/PdfFontTable.cs | 14 +++++- .../src/PdfSharp/Pdf.Advanced/PdfType1Font.cs | 28 +++++++----- .../enums/PdfButtonCaptionPosition.cs | 7 ++- .../PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs | 3 +- .../src/PdfSharp/Pdf/PdfDocumentOptions.cs | 9 ++++ .../PdfSharp/Pdf/enums/PdfFontEmbedding.cs | 13 ++++++ .../AcroForms/AcroFormsTests.cs | 2 +- .../Fonts/FontEmbeddingTests.cs | 45 +++++++++++++++++++ .../shared/src/PdfSharp.Quality/IOUtility.cs | 7 ++- 18 files changed, 191 insertions(+), 46 deletions(-) diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Pdf/XGraphicsPdfRenderer.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Pdf/XGraphicsPdfRenderer.cs index 32a856c6..3ba76fe1 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Pdf/XGraphicsPdfRenderer.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing.Pdf/XGraphicsPdfRenderer.cs @@ -510,6 +510,11 @@ public void DrawString(string s, XFont font, XBrush brush, XRect rect, XStringFo isAnsi = fontType == FontType.TrueTypeWinAnsi; } } + if (font.PdfOptions.FontEmbedding == PdfFontEmbedding.OmitStandardFont) + { + fontType = FontType.Type1StandardFont; + isAnsi = true; + } //Realize(font, brush, boldSimulation ? 2 : 0); //Realize(glyphTypeface, font.Size, brush, boldSimulation ? 2 : 0, font.FontTypeFromUnicodeFlag); diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFont.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFont.cs index a6c73e95..93711f7b 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFont.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XFont.cs @@ -19,6 +19,7 @@ using PdfSharp.Fonts; using PdfSharp.Fonts.Internal; using PdfSharp.Fonts.OpenType; +using PdfSharp.Fonts.StandardFonts; using PdfSharp.Internal; using PdfSharp.Pdf; using PdfSharp.Pdf.Advanced; @@ -42,10 +43,7 @@ public sealed class XFont /// public static XFont FromExisting(XFont existingFont, double emSize, XPdfFontOptions? pdfOptions = null) { - return new XFont(existingFont.GlyphTypeface, emSize, pdfOptions ?? existingFont.PdfOptions) - { - _familyName = existingFont.FamilyName - }; + return new XFont(existingFont.GlyphTypeface, emSize, pdfOptions ?? existingFont.PdfOptions); } /// @@ -74,6 +72,9 @@ public XFont(string familyName, double emSize, XFontStyleEx style) /// The em size. /// The font style. /// Additional PDF options. + /// + /// is specified in the and is not one of the standard fonts defined in + /// public XFont(string familyName, double emSize, XFontStyleEx style, XPdfFontOptions pdfOptions) { _familyName = familyName; @@ -143,7 +144,7 @@ public XFont(XTypeface typeface, double emSize, XPdfFontOptions? pdfOptions = nu public XFont(XGlyphTypeface glyphTypeface, double emSize, XPdfFontOptions? pdfOptions = null, XStyleSimulations? styleSimulations = null) { GlyphTypeface = glyphTypeface; - _familyName = glyphTypeface.FamilyName; + _familyName = glyphTypeface.XFamilyName ?? glyphTypeface.FamilyName; _emSize = emSize; _style = (glyphTypeface.IsBold ? XFontStyleEx.Bold : XFontStyleEx.Regular) | (glyphTypeface.IsItalic ? XFontStyleEx.Italic : XFontStyleEx.Regular); @@ -351,6 +352,13 @@ void Initialize() if (_familyName == "Segoe UI Semilight" && (_style & XFontStyleEx.BoldItalic) == XFontStyleEx.Italic) _ = typeof(int); #endif + if (_pdfOptions.FontEmbedding == PdfFontEmbedding.OmitStandardFont && + !StandardFontData.IsStandardFont(_familyName)) + { + throw new InvalidOperationException( + $"The font '{_familyName}' is not one of the 14 standard-fonts and cannot be used with the embedding-option '{nameof(PdfFontEmbedding.OmitStandardFont)}'"); + } + FontResolvingOptions fontResolvingOptions = OverrideStyleSimulations ? new FontResolvingOptions(_style, StyleSimulations) : new FontResolvingOptions(_style); @@ -359,6 +367,7 @@ void Initialize() { // In principle an XFont is an XGlyphTypeface plus an em-size. GlyphTypeface = XGlyphTypeface.GetOrCreateFrom(_familyName, fontResolvingOptions); + GlyphTypeface.XFamilyName = _familyName; GlyphTypeface.FontFace.SetFontEmbedding(_pdfOptions.FontEmbedding); } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XGlyphTypeface.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XGlyphTypeface.cs index 1dfba2c7..4ff075db 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XGlyphTypeface.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Drawing/XGlyphTypeface.cs @@ -22,10 +22,13 @@ #endif using Microsoft.Extensions.Logging; using PdfSharp.Fonts; +using PdfSharp.Fonts.StandardFonts; using PdfSharp.Fonts.Internal; using PdfSharp.Fonts.OpenType; using PdfSharp.Internal; using PdfSharp.Logging; +using PdfSharp.Pdf; +using PdfSharp.Pdf.Advanced; namespace PdfSharp.Drawing { @@ -411,6 +414,16 @@ void Initialize() /// public string FamilyName { get; private set; } = default!; + /// + /// When constructed from an XFont, gets the family-name with which the XFont was initialized.

      + /// This is a HACK to pass the family-name used to create an to + /// .

      + /// Required for the in conjuction with + /// where the actual face-name (as stored in the font) + /// differs from the name used to create an . + ///
      + internal string XFamilyName { get; set; } = default!; + /// /// Gets the English subfamily name of the font, /// for example "Bold". diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontface.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontface.cs index 3b8d2f94..215ffbdb 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontface.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Fonts.OpenType/OpenTypeFontface.cs @@ -111,7 +111,7 @@ public ulong CheckSum public void SetFontEmbedding(PdfFontEmbedding fontEmbedding) { - Debug.Assert(fontEmbedding is PdfFontEmbedding.TryComputeSubset or PdfFontEmbedding.EmbedCompleteFontFile); + Debug.Assert(fontEmbedding is PdfFontEmbedding.TryComputeSubset or PdfFontEmbedding.EmbedCompleteFontFile or PdfFontEmbedding.OmitStandardFont); if (_fontEmbedding == (PdfFontEmbedding)(-1)) { @@ -127,6 +127,10 @@ public void SetFontEmbedding(PdfFontEmbedding fontEmbedding) // Case: _fontEmbedding is already set to EmbedCompleteFontFile. PdfSharpLogHost.Logger.LogError("Font embedding option was already set to EmbedCompleteFontFile. Setting to TryComputeSubset is ignored."); } + else if (fontEmbedding == PdfFontEmbedding.OmitStandardFont) + { + PdfSharpLogHost.Logger.LogError("Font embedding option was already set to {embedding}. Setting to OmitStandardFont is ignored.", _fontEmbedding); + } else { // Case: _fontEmbedding is already set to TryComputeSubset. @@ -398,7 +402,7 @@ public OpenTypeFontFace CreateFontSubset(Dictionary glyphs, boo { // Do not create a subset? // No loca table means font has postscript outline. - if (glyphs.Count == 0 || _fontEmbedding == PdfFontEmbedding.EmbedCompleteFontFile || loca == null!) + if (glyphs.Count == 0 || _fontEmbedding != PdfFontEmbedding.TryComputeSubset || loca == null!) return this; // Create new font image. diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs index cfcb418c..1c7c5954 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroField.cs @@ -648,11 +648,13 @@ internal bool TryGetFont(string resourceKey, [MaybeNullWhen(false)] out XFont? x byte[]? fontData = null; FontType fontType = FontType.TrueTypeWinAnsi; // Standard-font that is not embedded - if (subType == "/Type1" && fontDescriptor == null) + if (subType == "/Type1" && fontDescriptor == null && !string.IsNullOrEmpty(fontName)) { + fontName = fontName.TrimStart('/'); if (StandardFontData.IsStandardFont(fontName)) { fontData = StandardFontData.GetFontData(fontName)!; + fontType = FontType.Type1StandardFont; } } // embedded true-type font @@ -695,8 +697,11 @@ internal bool TryGetFont(string resourceKey, [MaybeNullWhen(false)] out XFont? x style |= XFontStyleEx.Bold; if (typeFace.IsItalic) style |= XFontStyleEx.Italic; - xFont = new XFont(typeFace.FamilyName, Math.Max(_fontSize ?? 0, 10.0), style, - new XPdfFontOptions(PdfFontEncoding.Automatic, PdfFontEmbedding.EmbedCompleteFontFile)); + if (string.IsNullOrEmpty(fontName) || fontType != FontType.Type1StandardFont) + fontName = typeFace.FamilyName; + xFont = new XFont(fontName, Math.Max(_fontSize ?? 0, 10.0), style, + new XPdfFontOptions(PdfFontEncoding.Automatic, + fontType == FontType.Type1StandardFont ? PdfFontEmbedding.OmitStandardFont : PdfFontEmbedding.EmbedCompleteFontFile)); return true; } } @@ -742,6 +747,10 @@ internal void SetFontType(FontType fontType) if (Font is null) return; + // do not change the encoding for standard-fonts + if (Font.PdfOptions.FontEmbedding == PdfFontEmbedding.OmitStandardFont) + return; + if (Font.PdfOptions.FontEncoding != PdfFontEncoding.Unicode && fontType == FontType.Type0Unicode) Font = new XFont(Font.GlyphTypeface, Font.Size, new XPdfFontOptions(PdfFontEncoding.Unicode, PdfFontEmbedding.EmbedCompleteFontFile)); @@ -756,9 +765,11 @@ internal void SetXFormFont(XForm form) if (Font is null) return; - var fontType = Font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode - ? FontType.Type0Unicode - : FontType.TrueTypeWinAnsi; + var fontType = Font.PdfOptions.FontEmbedding == PdfFontEmbedding.OmitStandardFont + ? FontType.Type1StandardFont + : Font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode + ? FontType.Type0Unicode + : FontType.TrueTypeWinAnsi; var docFont = _document.FontTable.GetOrCreateFont(Font.GlyphTypeface, fontType); form.PdfForm.Resources.AddFont(docFont); } @@ -770,9 +781,11 @@ internal override void PrepareForSave() if (Font != null && _document.AcroForm != null) { var formResources = _document.AcroForm.GetOrCreateResources(); - var fontType = Font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode - ? FontType.Type0Unicode - : FontType.TrueTypeWinAnsi; + var fontType = Font.PdfOptions.FontEmbedding == PdfFontEmbedding.OmitStandardFont + ? FontType.Type1StandardFont + : Font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode + ? FontType.Type0Unicode + : FontType.TrueTypeWinAnsi; var pdfFont = _document.FontTable.GetOrCreateFont(Font.GlyphTypeface, fontType); formResources.AddFont(pdfFont); } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroForm.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroForm.cs index 234cde00..e4d11c31 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroForm.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfAcroForm.cs @@ -75,9 +75,11 @@ public void SetDefaultAppearance(XFont font, double fontSize, XColor textColor) throw new ArgumentException("Font size must be greater or equal to zero", nameof(fontSize)); var formResources = GetOrCreateResources(); - var fontType = font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode - ? FontType.Type0Unicode - : FontType.TrueTypeWinAnsi; + var fontType = font.PdfOptions.FontEmbedding == PdfFontEmbedding.OmitStandardFont + ? FontType.Type1StandardFont + : font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode + ? FontType.Type0Unicode + : FontType.TrueTypeWinAnsi; var docFont = _document.FontTable.GetOrCreateFont(font.GlyphTypeface, fontType); var fontName = formResources.AddFont(docFont); var da = string.Format(CultureInfo.InvariantCulture, "{0} {1:F2} Tf {2:F4} {3:F4} {4:F4} rg", diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfChoiceField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfChoiceField.cs index 5b153db6..ce5d7110 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfChoiceField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfChoiceField.cs @@ -40,9 +40,11 @@ public void SetDefaultAppearance(XFont font, double fontSize, XColor textColor) throw new InvalidOperationException("AcroForm has to be created first"); var formResources = Owner.AcroForm.GetOrCreateResources(); - var fontType = font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode - ? FontType.Type0Unicode - : FontType.TrueTypeWinAnsi; + var fontType = font.PdfOptions.FontEmbedding == PdfFontEmbedding.OmitStandardFont + ? FontType.Type1StandardFont + : font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode + ? FontType.Type0Unicode + : FontType.TrueTypeWinAnsi; var docFont = _document.FontTable.GetOrCreateFont(font.GlyphTypeface, fontType); var fontName = formResources.AddFont(docFont); var da = string.Format(CultureInfo.InvariantCulture, "{0} {1:F2} Tf {2:F4} {3:F4} {4:F4} rg", diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfTextField.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfTextField.cs index 4db7fc1b..7bd1429b 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfTextField.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.AcroForms/PdfTextField.cs @@ -127,9 +127,11 @@ public void SetDefaultAppearance(XFont font, double fontSize, XColor textColor) throw new InvalidOperationException("AcroForm has to be created first"); var formResources = Owner.AcroForm.GetOrCreateResources(); - var fontType = font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode - ? FontType.Type0Unicode - : FontType.TrueTypeWinAnsi; + var fontType = font.PdfOptions.FontEmbedding == PdfFontEmbedding.OmitStandardFont + ? FontType.Type1StandardFont + : font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode + ? FontType.Type0Unicode + : FontType.TrueTypeWinAnsi; var docFont = _document.FontTable.GetOrCreateFont(font.GlyphTypeface, fontType); var fontName = formResources.AddFont(docFont); var da = string.Format(CultureInfo.InvariantCulture, "{0} {1:F2} Tf {2:F4} {3:F4} {4:F4} rg", @@ -207,7 +209,12 @@ protected override void RenderAppearance() // create DefaultAppearance for newly created fields (required according to the spec) if (!Elements.ContainsKey(PdfAcroField.Keys.DA) && _document.AcroForm != null) { - var pdfFont = _document.FontTable.GetOrCreateFont(Font.GlyphTypeface, FontType.Type0Unicode); + var fontType = Font.PdfOptions.FontEmbedding == PdfFontEmbedding.OmitStandardFont + ? FontType.Type1StandardFont + : Font.PdfOptions.FontEncoding == PdfFontEncoding.Unicode + ? FontType.Type0Unicode + : FontType.TrueTypeWinAnsi; + var pdfFont = _document.FontTable.GetOrCreateFont(Font.GlyphTypeface, fontType); var formResources = _document.AcroForm.GetOrCreateResources(); var fontName = formResources.AddFont(pdfFont); Elements.Add(PdfAcroField.Keys.DA, new PdfString(string.Format( diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFont.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFont.cs index a9ef5bbd..fef7ffe7 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFont.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFont.cs @@ -45,7 +45,7 @@ internal PdfFontDescriptor FontDescriptor /// public bool IsSymbolFont => FontDescriptor.IsSymbolFont; - internal void AddChars(CodePointGlyphIndexPair[] codePoints) + internal virtual void AddChars(CodePointGlyphIndexPair[] codePoints) { _cmapInfo.AddChars(codePoints); _fontDescriptor.CMapInfo.AddChars(codePoints); diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFontTable.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFontTable.cs index baf947a8..bd9f93ef 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFontTable.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfFontTable.cs @@ -23,6 +23,11 @@ enum FontType /// TrueType with Identity-H or Identity-V encoding (Unicode). ///

      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≫WlJw9GLZxk8j+zq?EDFR83HA{r-Qf-SF3EXSMo0=o^}N zM?p^eJYQq?!JXIdx#3(>?WF05f_%*SFhiThkeyW$7Gh4&JBm-;xn$Ys$`y`$M`XIi zhhRwxE_>ScdmOwd_t;Bs?wT2zf_gwGzL0jnEtT z6r4{6r;pyR5Ci9gsZ#s-U&>0&U8v?h?CWD>qqk%l`VKA3F<`^`P z+&+54U7n-`mg(g|iqp?YqXB~5@J9}UiQ)vdbkJ8j#um7J$sK^kY&%B1tnCZm*(+?g zir*$Eu7d~sICc^SPiLa5$ZEkW4h?}59B$-ZIs^zmILx5;ltv(IiZ*GjauJO|kNphy z*$1`d)%;R>ah;1SC z`>;wHjwxQPk_HFko%tDxPdv7p{_BZP;E9p*584TZ@p2^%p}5x*io5UKv(Mf%PssnH zbjvEpn-UN1qyskzxc@RP{snMx9%Xuv_$%sYD8}Yoj;mQAd0p-mxfkRC=CLX^9Peg# z!E;hvhH`W727MNXmKX6rdD=*O0sm=@Jq)-c?9+15~_Q!ocDoW@v~Ap97|eFtHGL z9n=s1N0r%mbU!>MxKiYi$V!5gvv-vp`$YP=nUy4-O=J$U^sbBj%|l75pfbA;I2q}% za?AF!XSYjl4==If)q>O#P<5YbJm6pxW|8xqI7O7hIGGoGygiQ=9$QhX+bu5`wymoZ6_F z1AkR!arduvT>0cF~m`>qCTe;T1B45o}@{S(fYysDbnqX z6{V-xEn#wVSzU?6C)^TLlwt|<4EN#=JipD(!6p>$8x6$_=jF2TUW~hCu#k#8Iu3Yc zdih`WgUXk7#L{Hu~jp%Fy~Zv zb&K?SlG9LDBuRk@-LBLUjUuzamZ(XM(fCt#Bo);rIjPAuODK9Rir{$XnS6| z5~U9<$jWcLsluA$$hMhQB#G21c0^mlzN;o$1~z0QRTq`SIi5Nh?F`X|=1(t(j7v`q zO0tv{pi!&?L;Dy*$(m0eSh{*erYlM;2@Y0(5r#R0=xfQ))e=5CUGG76T~3MMN4fKy z8fOcT0%cbH}`e_%cP#hAdG;|j> z(`S#ytBY5b@hXNWu^=djhFvPu7zjqJWRF`o?6axeqxXjo`)pOb*%aw4u}L#d-*$E; zi_gj%F&~YTc5Ab%FTzK>c&D&sem2K|mtohxfP3qUUB{>})CHOn&L~18w8W=_ztVf5 zoufY;IlVBByk1QCF7rYE0sDZN4=zCmey8+0S`k1cLK{!U?uu1YJ)gm~vDas?AMhDa zz+wyYLF7fu4?=Y56Tts~lE)`d4c|t5Sb(C^l|)QWDr*)%02Y*VWYl_G;Ai+<1Mc{V z$_fe!*2brOLe-*^m)1V;&Catsr`o4(rNTI~*m`teEGE@pPz`-La+;!qg}6T*s**k( z5ccp-2MPAtDOLC#gG%1})7gtG$0Ge|UjMu%OH&6Yz6iJXNdlAl*qwd!>7w+6?@8=E zLb1?QFIS<3BPqtK&`_>!U_QJS4HNdL7A?d8`!iUMMu60hp=r>&_n1ej*Rftvmqy?> z74L{Q-u}tJf!|PV+B;u|zBj>5=Zh~TiYh<~$F}yTcukvqH_=}_Ra>c4_ zF? z=756M+>{a5r8!Ec7A$Hmtc#EEH;evJEw@g)QTHP%{M!4RRmzg&^vR|y-+=VyqOweV zlv)Vbp>3Rds;~-Ge_3;T7k+Qm-<}))MR#hW)WG>b?TQ;+qsuh45v~-yN?XgcVoOez zkRq}a@a1Ijqd~bMJIl#(n6k10{iGOrDbXpI8q-Z9lT5a-c=gDZ#>xr^22*-${Lc+l zY+U0Mu5}Fb3i&z2yR)(KIrt2ogLhw}YqE?8R^c=wAt>IWjkb;;`4`V>Em+(f9y%&6 z($504wn|&1eSY+LbH|`u$?Q8z&`cG1;mD(7WbBZa; zl+aY<6FE{J<-?fv7EMCqZB|Qasxk5^oTQ2MT~_Pn*6JJYJWujIB=xJtLpKGX&J=uB z9a?&zPDq-BEwebs0Vp$|qJA?m0k z_xnOfZ@mo#NBK398_5jnniIZ-n_5@3vajEwCJ}E-FDYAAwRGQ(^0TuW#JOyRbfc$J zgtV0{A3&>^f!ncKV)IZAM6a0OD)d1$phk=Ss9KMO*JHhic?e{}dV_;thDF^ETdv2- z$a!?WTr5;xEmkk2=lABZRLJw)U!KjMpWihP^q&slcIG2}I~a_Ai=P3+mu7;$xEgY$ zI#nHVnCZUYgc4~S!t~6WBryZ;Aj1urey61#w16Z@L}a*w?uu0#yJz4%yYT78;Z>_= z(H!csy46dlo8??Huk|2nruBEa=U;lQ2QvGy>v3Zi=wTs^LdJKT7xk>461`r4h5Sl+ zHEE!t!Id^tLBLNAQ7ZsCrKdT}_gys4v5{otIs%k1@kgNidO#`H2nfnox5%#*Cu(BL&Qe>&ipwcEOw4zI7E+jM2DGP?W8kPe4t*M5OsVlVD zjq&Q5>Wp+d{|%R$1TSms!T1M_@t_qz2uaqMjIJD3aC6M7XF1xBFq8%r*({=uK>0v9 zszMJ~0ryvd_7qXF?oV@+knNR~KR3R|XP+9~zT+cSHKl#)m=XTZ`IR+3DE;YF%h-aX z_K_1-zFVGI^TG}HKJKhkYNIjujcjg)m-62k+|kFZum0xE+dhv-xUT2yEp46BS4*W2 zwr}fhN=xmYSam>pZ6nH}sT!|==S1o-ou{-=lNj!*f~8G_rL7WK)u5A8!>ufys({)6=Rv zq9e0O-U?aGo&FVhM<*UQ{_)&NMq77Hg@1;BNVMK!S#_%Ao#|t$)AP|5c`4-f|9Sc# zW5I3?nJ;mEm@lV~si+YgwM}Bse+U4-W8@6bT?ihx9g`Ihl4Ti`%2NYBnbJSy&Qm>< ze*oL+X~dULVkaGlENPBn5ISjP24Rvl9xnxBaUcN5a2Suu0ufhJndJAq<>6YFhe(8m zar4hmeCM=Fua}%DmY%h<(kKbxhEZraKcHjJ_e-C$sQ&fh%>#Dfy^Bk5H}|<^5JZy@ zSb#s05U~1y@o0JGE0^~pG>u0-DoS_q5RzzhSftSLO~g0V{nh`9_!on$*lQ4*a;fwL zt6r)kfr(WzFEESS$mwjNtadErovx3%C+*ab(LMYt{)*Sw<|&} z$RJPdrALm#L2C2j%5^;}IHZN#NgBqNV;PWD0%R2h{za-D)wdy3eQQKwhM@o#(^y1> zOgr}!;gW(KUWiMM5v49TCuta+&8rv}S!%ZxQzota!>i-k_SEE4F|LY@IP?K3asRLw zf)w%#gQ7dCr#pBxZg}MJLg627qs9~;LV8mmy+~NtltHFlm2%y@^Y!W^?Io&6%GwW+KRq{T<`ktaslK;tOZn z(`5nA)qVSankXVUvb{E}mb}m<{Kgi#te$#t_!CqsE@BS~&rKbEOWnyecNqjoupC*& zWgbkX5#)@YFk#iztHr6gRJdF=Be=ylb2?b` zjzp(J`0*eu7!tIR5!5Kw`@lVG^UC`{ySV8+-bXU9HdW^x%bd zzrMI@)$G$H;c-=-GH=u~Z_FNEx<9dN!dklDi)x;!H63N!JxAhI!XK!!QV~DdhNC!{ zFX0apOE&^`G$RNsT|IVzcNn24V@9S73uVxEf`TU7(ls}!J?Pi9C)=Xe4lk&2?_uy^ z$_j)Gm+)=g#?3p&j`ZU0PA%`B(8pL|Mag8Vo4>mxQSj$Eu#d3L|Fqkvpm+mWn*;E( zW5LIQeoWRz`f7EN0yqj<^6=|Gca<8?`smbT<>MF5`;5wdp!@f1q?nx>my!0w*y_V~#j)q(YTjCS%iFI=Pv15ZUoP0O z^R{CdNslb3X<|m=Lfj8d4ORaUOCHsK4o#G=COAq620_Sy(2)jrCtGoZsJ$?Y38BeW zGm53$Iu$;z95Q&7Xd7fQryLr1N_IK;!*`aGZ5(0>y)A|WSYnnoWTxFb`c%$f1>ns` zJQaY)7MGfY@@i*Yae+&hbhlgsc(1z#aGEYX7Bzson&;3yc=sxwzw(?myZ}#5TNmJ< zN+qPWy{dR%Cw_!?LNOu|+b{@VNU5!Pm-nU;|Iak=l4*E9EuX(`C&G?9(_Z<5R`uh2 z6ABs!)9qN*@N~QAZytErd|A4^lGY@8^-3}$-;P;v4y__utEDakW+a6zOo=Ci^XAD% zD4pTSM?TNUlSLoAw#Y47JS~*uoFkccY343D(}4D&}N3E0FTY%byepuVG>Ec4d=24&I(ghC9a;f zhCAha-%fX7)iaYj849ZgmSmW!sEGQ(LwzZh)m8P5Hry0D_9c~W1U29woTodo!p~{PNU!}=cGz(R$wr~H}h2af? zaEE1f##pQ@9M%8XK}f=iEL=%}2@BN)0E9s*jxQ2iBWOWm7>Cj*d!q{&&cvnF$%{jb zOmk5YugL{Jv`jalYZxa(8IFr=5kjw8`lA}VeY^DAD_9p;OgB2r^sAR}?oFdB%}*_e z5G}eIf!Rf&B$ll8r;r704}WlUhls#R!2l1MC~iV%p!(*G_JI?xm%nTlntm}#hHDu5hY!GO01-R*%QP~9+Z{b@poudgB+#*k*uIUuaMP1(5Gnidzr9KqCq@v z-PL7vl~w&$vcjsal-0A;t^P`3LEpIVRSUmYAz<7Ux^EWvB|4=Tz?31uK>-v76F+V6 zh7mpK`_FUeaqxD7!>^i~RC$F6FHZGzEWb>Q?kV$bIX?blRt$;$?^b-Jc=J6gzD&e! zZm5hhsW%`auf^occz}lJ#w)_6MpS{wI^hjqdOUeA%On2)n~3BL|;bl z?!6?`51bO}W%PyN;xQ*~UJwwN$MH&o!PIGYW%y}T=)({!*D_MFfa|+ZJ!)d$7P-g3 zdGgfWgjKKe9Iop~&k+fSa+-O7V4?&YwESZOx{CXHa?-68#=`QX?ro1xJ|t7-zWs91 z+>m{~Nv^}nf{V{6FY;##Jv)Yd;k!+^0eU&g6$COju_H+T>O3J32-_4YTJwCjng8!| zvv9+15Pb!3GGmn2U7CSEM>V`LYGnvhiHZ=a3qesABn)Toa#mf=%<46 z_>YodB9>tgiQGK+m2h|8){$v_GeB+@f3+81?wyG*5v68JE$l(zrEjG--&6_SKO?!# z^m#{Bqb~8>mXK@T7F7)$thxlp3fX-uB#N_C{df)Wida{0OshuUif!v`dS!$@Aiy(w zR3_L%betayCyK%t-m69~P9JjmdEg^lSCp}?rMTzNjEc&ZqMjY`mg1Dy^nl2gWOGYu zSwOU^KQ!>2Jhr?bMoV4NL{fV()2nmWug&MI5tMdcD zrQDUQ1y-!$#H3actsbF=(OX7E#7bnxzmwp?RW1@{@b!U?sv&eHq)A&4=uKU^DST7P z`l=e~tf;?UFb%x3@FjFWZIm8`RG)!#Zo%i{NKh|4w#n&`IVxK(L0=PxbK zRvBN|SXod~)tGnP&yo`NNKYp@HZq@-mKHGRoDqiYL0j8Qk<9}&5r zaTznT|I9yePr&;@c{{Y)3|DaEqMG>VLfm_BacacpuuH8X$rS~{8gjn;RJ0i4NW?2L zBlv=Ygyfyd7XkgS<%U~8@x|wiC#64D?X0LTS@wbyAEoN=Jt}oQcFTs2qrY2)_w)T(C8OF_q z!2{w4?tVTfu!HnG_rS*i=?xQKymgIB`ni{U zb#2)JzSacafcA7}mUO3o=!|l$HaXkhFta4vlteG^HSE3{ySHJM4{lLvYk<8qMBQrk z4+&71sh@h+7B7TqDx5$tc5{j8MApsbUMa@ zC?OQA6@YI0sDP_s8Z=YWxD*O);DJPh!?Y3iIXsy6G`Nx_Nv;X~L$`eh8wC{Zp5=w% zeI#~uyp1#setF}zM_7*NiXB+e#U8Lu*ke1o(SW(mO7(Tm+U6V-b_^_3ojf2}53rd> zpI4t`FWn~vL0;o8y{__soorX^bWNz$igLF?HUWBf*z`OV7n>y6ST7<8K6S)SNe1<$$8&$=l(JtjyO zkP{J|9poRPHOAQNMe}#Zr#6S<%$uY;;qB>=FG+z#8i|^k;t@qz)kQ^ib6^op0)0jm zth~$-MW#<+egRp5f&%l76}kp>jwL>{+*Ov7>WB)JzwLQmbYk=`oe)irK6j4KkLFk) zoscoli1Y$IC?k?lZZ3$7X`|pEFE^MfC~UDdk$wv^pnx3DE_i5WqG*uG_PP3;YZWOl6VmszRGM0qo0N6i+3bfq3+!3rcS?WgJ$m|q6}wH@#}Wgy3!+O4{DnE&V=J>J z?f$Z>si(f#937fk+iCDis*Z{r+jD(*SVoIMxs;jT6BC0Xqnqz8e{uTR5vik=_xF2J9#eSLtXIbOCsrL;mz31*+Kgn14*QvAROQbjc@UxpslYMn17-+f$4wt zCyimpY~UtVg%VOejVLiyK|SZq+Ay=b=e*e`+N{@KyL*#t%lLgmjqKHX&ZCc`=Jes8 zPV4OKJbvulx#P#Db$F4cp?mZ&aM|Ul5Y7a`7Vl+BtOJmFZ140VSp)v2OjH3%W*+Ziv zeKn?8qtCwo5&4a~F7>K%Rd-+-K(}I&E59SPA}h8l*{lvswb>LS8q=MT5rR6PtGPn0 zgsV={nrJD`3!E0BGEW=PSe))O<2Sh7b_j?5?=~ID5RoS?k=-#0p|}X3;Bf=7dp>uU zFb6IcZvJuW_}wz#S4sWw-!hcAqQ?r}R;HZYcK_a7`ZeyP%72CObiF=o@knPElf1l!T6lYSJCClN-i_r!0xsotSK>OSBjI zZKy0X1XtM-%5LiznU>Tz%NT=pA);a;(CJ#AG)0|aoMM)u%T?TEE0|nZF{&^kxiGsx z$QIc6`s!R~TB2Q#-XYq6iU@eZ(<(|@%FViRAAGNbf76Wb`XIz{TZ-ov6>q zD$2Wi!95p$p-pq9#06+$Gx1)+F1;sw ztNI)ky$~^`JvTjG9irC@EH&1sPzJ=4Qo(U#B#P?L)WlemF*HC9GjR}j7cWEfNlBDz z;X;?0nWTfWGTo1ZZt;**^YjKiFTf!0m^`f<_rqcHBGN>k*t}wcF-mP+T3Ou^?P&2= z`2?mrMzzeG)mKu#rRng4b=iW|m|S5^6-KX?UWSdftad~N8z%R5j%oTdu}tM36p|D> znf(NyrQej+r_ZlzJNxV{v(&2C6lC9n0MLZK-})*abAbV11>4<=C?YC@f)A~X~Y zAr)C-b{3|fF=b9BxiCQD5V8YfON$S($48J88WD80s^uXw<;g=OQz4~WE)120;3YE_ z=e9z)d6xlM!_f_v8TfOpE7jlp&N>RQQkzKK|ZOR(y@3UXOdsg3i7ButS zCoROY&Z_B+pnLaqM^`u^l^(v*YaPOtKRoix3EbFv4gc%m4ur zW(cD|8DW>*me7#?!mJwT@|G#rT$#zm```(`*Th_Suo^j7T_snhijU!t-f;L3VV9uPuKTV)=dpdoHz?Oy>9sL@|Dtuntsh1%>n=1<@v>?n0#H-j2Xg2 zVQyEg$k@sSb9=hG8pqd`r=^lH5l$W$3E}%>g~g;hFDdZG$=NFlh3-hPaeTR`AMkdg z>NR#}wk=tVid@js9gkYz=%b16YG5s(W9p?Gm<)oF@p*GFv$t@}y~pRm9<>6;P@s(- zo`uX0r=XUkRwv>zR5g|GPjk}XKtnkb{>_n^EH04_EF5p6M zHDyhCy70o3sis(SYE6W-uVizTFT$%;e2Y22K%`AVrCO#6@5~`OX ziy1c5R;FBrctL{qhJpvt_FYfTU`l;YNsYC^Of@E1JX#+cm4O~9c_Mtrxc?IAUdkaI zH-{&HAoxx++g-33i#DU(NS9Q??wHaT;)|=6z3}dtm!?gB`s};PUrq|1N0;q+wl?q{ zTYh;%U9|Tn%5_4+iQ~%8lrQ$~Md9btz%z1B*V6a?d#U4^hWaJNIY(&Mdqsn^Q(gg$ zsamtv-I3!5`ECjv^=Yh`Ced6^G) zbDgJBEWleDS?|;rdOfgtR~PzNr685MSyd%$qGK5oFa}N1X0kr>6V^3a2S<(d4<552 z&7DLhMm3w=z=vJLKcn5(D;%zDF(htU*;!n%sG?+%+#3;--sm1LhgY`j%*-(s-L|>L z!vxoztCro_tJ|`Cb6BtV#igF?L{nN^Y;A3GVVNaoSFy=a;tY>8#T!#n?M-=^OZ=Wj zb|?8|0=Ek}fe-0{4LN*XSs|U0_i2`CR{HCfX2{Leb80h_v+BLcBAYd(y{)paz>Z#l zk@`8)yt0JwMnivAy?WM+PJE`ivKXJTs3uEQOa_0deGG#8Hgv28MJ4s# zP<2GU#gG|J>_AeHpCmvXZCToaq?+i)D37CoQK4OqMjpJx8WbBE5(Dzx%#9Tofh{VW zU31mWNu8VOeD&Gu2WGDHTsfg;!raNt4Na|!UHKIyoxb$cnrxrnnl!6);+n>~ik#BQ zo^9Q|0|PfL=^Q_=XkgFUpF~HMBv~!_h51lS8e(nJnwqbaP82kzPjq;ePaD{}w5F>t zvD$m}%QMe3P04qprZ*<)g`(ohKBHqoVQJpf`rMqtik5;zv9!3l(6fHiZ4azlSClnB zZ^vwV>%r`_g!IS+UrulJrbXLpDrT2vLy=!MyhQGhuS4H}1^&_r)m>GYbFwmVKrCFo zY+?VLuC`X6EgkL84YgU*^PFaTLvo~h`Lh1$c-?JFPd1azPp5cD!BmeeY)ADa{wCfd zas)}DgUAEAKmo2_a)PMT;Mj+7968ig)T%G5-$K5q`Yn>cq<~_W5Gkp^Rgl^s5XQCo z;Di6HVd8Wws^V zHO;Lp2QIy>$=|nWrYEPaxNpCUtjmaYIknu!Bttc72zhgoO+`%ydXU# zu4HmyYMQru^V}snr%zAJJT#>sJ1!};tkjuVHNodDt?P>!=-%b8_mp)Sbgsm{dgc7F zU!8uWd$K8M(WTZ|i`;!hIZIc){rLN=@XxdT)ydZS{~PMc;xkw66ar1Dyj$@ml#A_V9c8XFaZ%t}!^P;zBBoa;{ zoO6(r2=pOKb0{YU23VU82vf}fI)R5=0h`3;Fax`{U(yV~Q((>E({dqc**30vi zJN|I#_5=GqSvd3SR8e?1Cb@KT*Pd2;Cj0wq^RvglA%;aOFWzu?h(#Vb?3k;(X7BAh zS&%-?H^tF*lBDS7;h%}OimzyFnnF#PKP|69pPC^-gUkTSNqRjrrYxN?Av!F>YUK44 zh}DRXNG}>upy{>}GEQU$wT$PjFt31DFySJ!DYjV%q+3}ie|!z6S?^?AwF zRhe5nzTBIWot%Vftr56A8}!9_t~5)ORu|=K^7|&1`2-@_OQf1`hvf4h9%y9_0qf&i z#XSNtjN|IAB2@$ODOhiWi$1&E<1T@yQ!mIqAO9^Z*w@jOnkO3@m^P;CU~N(w?hcVP z`Mv2*u;(DMN1Z`ZQ8!bl-`4oza zf~8AQ8Adg*K;5#X!={NkIM)e_vLd5bU84L~PlnqQR#d~fSmuPeZ2|H3dv{N$>Ktz? znbuNMVpDeA^PAt1?FiXF!cwVTLp9K|92zHh(n-4v8V8ogoJ>NNHbOX)HNCV6fxLy&{ zg}h;enL%u542^Nds<;GCoUXzfS6mPu{v#fo|xvY%(4k5g~BHPY?%Mak5_vXxqXj5|k(9tcG z%U8@^XDPhuY_HvyxAwTv+*{eYgz3YL)4ck~j=4=slxrj7Ry9ON6_%;Li+sSX=5N65 zdmOiEkX-fPmRoR3nLN97a%V+LRFN+`y(KZys-dg5XV;!+%OmW2!E&zRmb1;rauET$Mlv5c742-C!2 z>Teapp`XEIN0@tqsHZm|G6?+~=jvez>%tFVoy*DZ!#ku_=vsnoNZ#>_xE7;^gztq8 z9J@Aq<6!0n>DMc@*53ICL*(%ldO@BHl|1z8T$W0hitNm~P9c2KPAiFT03lH+Z%*7Kf1K7E7gLCh6=zwpc+vFUo=Hs;8po&p5V<+gM>Hu_?D0|^ z*lGU>wbk>S=ruxKu0?(SHbbP^MIkRRJB1=%pua)yLV6QO?AQnr%kk6tuLOx-E3r?W zan1M8_`*#X_^DMnGPP@3SxH4r&+3!KIfqwh4{WV3ncS3|ROz38&-W5{VaKfhjJi_k zvcHwaS{F6$S#>Zf=k9R*;dxCn8{4#oYW8zb^es^IdHGFHG?{zkS~NTSQ+zEE`95b# zi#0;1(=-cKYjXqo9y((ru>oY9*c{7hnbcCtP-aD?A%tU9oVFy+kQ^$i8o{@&iHLq^kP$&(iT?kx1nF&xxfGDZ2w6a``?Yi9C75)W!FzdkzHYUpFEV zZK>Y6i)Erx602Ny^Sb`&D?U|n;zGz@Icr2P0`>E!j**K$u&pF_pRz|;`SZPZe!Yy& z(1%#2u1)*^_2KehcSs4tOC2Kx%Trh)f^?(sCMl*l&%?n?j)Ip+84dcCaf*|gLV$(t zT<9IAYdinAvsVa!YE?i033)FNYH2qH zZy9436FR{uL_w(7($LtQD9cuT`ktjJCbL$GNZPh7TaGX#KV0xrd7>AsSHlwYrsTC} zOJW6W;b(KxJ)9p9qgJsv zD|>G2)XA}?3(zIMasKfUe64$$7Ok_NM@95$%uyKy}J6AbcwiQ>XO#zIGq%eZ{Jx9 zOXMSkg%78IZL%v46{W<7$&scVm!%oNvXRr1YRZAydxq~5r^%12u#Q4zP{BquMWVsD zAPopW1hA2QKtBNMn3V@vmifV6FQ8aWUgrcYV2t~hMnqV?Sswje;=!@ZN<&$zV z{0s$t%c#HL`^#>V3Z(u=vCzz{V{pPcC+~XR?Sjfm`y}G3o2h!B%!_cHr)nOi3}K)Q6I_GN;ZgupQs5(#Xu3cCIT~|t>{P-apGAZMvJtu z$cSv(qj*q2Kg_v61esy5JB>DQu7_D=n^9*Tl-S9_09uq6DjjI>ny*COvy92NF?snt zYz=7fm1c`hBYP0zo}uaTH>377uAeX~#2Cel7#qXY%tmNOqB0Wk5xRl+FwBX|oK|DV zNKZ>nvc#GYUrXy^F)hOdWg=VqKHZb%0Uqye-E8?)Hd>M;=A9!N+8h>1;{TMnLCLsp+rNNfZNauJ{wqY`0EIu>PP=>p@BAf>~W&S1DgiYr!% z%PAm9PfbCAX|pk!N)^J{7^8_1Z7~EXP)nHQUI2CFBg1!0xgo%H%x=~C7EjQ?d>@&KJ$TwzgE1sz6 zz})4S`|v&D*F!5+>WGJjBEZ=KIO1i_5oYA0O+=kz#2d!&%o7PgoZ+yX=yhg85eWqB zKUnDS3_-#`3?h!e9a=pa(i$Sez$N%F7OzLEMU_i9p8!*;=m;T5#mV>GCpLu8737`gufcy<>zBh~u{X|u%m9%s(*ldpf7I zQI=N-593th3=u^GYb{IQt*SuxQ=IQjrg*@QF>U?5KDVU7gj7Kd-s>DNq=R^YVNdg)KB%$|I3b zl}an~N`lx;u&)623r&<*d$RDE<2809^<6@0kkxJ!itY#CO)H3(0U<$B}&E$aCR`0EF zpm^Q*D^s*-?L%!Q)-H4gUOe5iys70}`Q9Bub>Knelu0~|)ZeqZ?T-9`b+5C6%biKv zb;=n~n|(UGLu;3Q1iMov=)J<CszO$QJ`N2MosN{`Vlgf|D=oE{>T(s+ zYLgPJaqz6CQx{!Yadwsy)nDmOLvdlTCc=6{)*&PA2yfz$X zxBm}-Ww!y?m&NU2`wQ2nR94rnxq(A`qIlDG<;UB8;}?F(VIQSN0#QRo31{>qFQ#Pn zVzoj(OQ2pk1Y3eNRwoHsy&eUe0PO|T@Yn{IcSQ8^WOP^doL zvtmL^VbZ$Vp3{LBg-+IPWKVBnjhrAGpSpf+{e~pR_Arz^!ddq`BufI=B@q?TiXgSI zwM8L~Y2vME%p%ZM2a~9&W$_l|gFuKIm^F@aEk{tyxrE=_X(?D5#ass$R^k=!3M2`? ziW|S{A=lVyc$NGzg!>XqMkB3 ztqUc5D6#^c77|fGPXP6ON)S<6jF(pAjXw+sV?gj11g6US6m9_t<~DLECjVNQb5NPX zjvZvjhTP(t?26zY${eBgAZ|(W@JCV)x1l3ESlC#LB+q~_AFR?0juzH&D(OO zXn^L`=+8$McQEUizGRT}RJOvvf6z*mw4)pQ6hb&>V?eE0h2LmuGQ8nlU;85g`c(Pr~&= zb=>mQH1(vy-Ci{&0szQqw*^8Org*6C@TrVkt;nQ7)wH<89`S|xyb`V6XNv?bqL3gF>f_Jq$TKStQH5i!uZSxTOfYkmn#V4pq2?c}72MP5eR$ z3|JZDk?g1n6pGIe&JlaY2gdhck{>A=F^j?wHOc;1sDoGw7Q!@eDXMo?FaR+b*jCKi zuho2u9Czpsf)w~#JgbYt_jH_J8#b`I z4I6ZEU;ipR{p(*5OkV*egOr5RD$^fFE78(zM$LG>_@E-5gzAC+rF!=IoyzsfkvrKN zQqth>#KxgB806ydz%e-eusn{~e>(Uuo{a}lx~2L(O6i?!8C!a%lr(fkYy{2z0g3j8 z^c(P_+wTnTh)*>|L%oYf0bXo;4TTvnB-Oi^QIKG#r2=pK{z`EKa4XsDMsg^-LMj0; ziLf`-^aqJ6y>WHCJ-4}YdV9-md-By$$+vDhao@IElcR+E7w-1eXBF6Mb}alV@SfoM zP3Ma%y1Q4r*!i0a)>P)tiSN+q5a?h;uov8Anp9q4%#fObbs1wIumsw8lm^AuHB!K2 zOd<>HS>Uo*GG}pJ#p^LjZ_rxqTiUmCa#`BdiO%fC&c5|?y4=!l0-x}u*o#-TJpLW} z?!Ncj$+8+}K~v3{Z-jiPdF6rsk#E<%j9iWBntAArH=(A!AfZBL6SA{JeJLv9vYCCI z9h1{FI#>GPOOL;&&}z{E!{h2ob`6@epxhXaTv zizOH(%A6vP1C=fbZ+7kPaAhp0DYBYV(f&k~;NCLZQ+T|`0WmM-Nk`}l;GZBN9+Y+CWSKi%=4f>UL1onQ(Zgkzfbj#z=j&=@zr`<>>Moe-ZI#R@^I-=t=x;O#s;=oSL z$TlZRk=conFoYr~3IBL3Eu!7|AHXQEIO@CP2~uPJyy#u|ua30(cCRa~-jqEwcjS4N zP?t%sJJah;SxjqkwfiQST&+%gZ1kx(h(ElO@wzLu{-TxVYKr~VRA;nR6NU%_D>U~X zSolkb7QbNOq>*#-k`6&64gRSvJou+q{#yoLOIbVC-9Pd?OK70y&i3;5$p{q4YRycq zpH!ZiieOKYZ=TR3dzD0KTJ;S)HvZ(~R?{=9DC7>Ma^w2@)4!ufW<1Jn1fD zycpqe#YX_|LBy-52LwS7V%{X|k1jfh`yT+|BKYM0@wTfAADTQ0k5o1S&)An`HVGAa z0a{sG2p9l47BajHYECKx8F5kwCe5qzmm=kn>mU=G{bk7+k;aVpI9Q`079%w}$wu;in%nhur#?J-w*NLyK_S+;O|w`!FLv-1QxB_b z82A`W2h?hgbU}Utg<%1w9|Zc?NZK)%UP?U%O`sx%9@3e#p^P*sm41q|=qIU-EbrQD z1NT9FWCEIjL3`W{ZdmM}j^i1}Bg&ST1wHa2abk$ZB-}+^B5I}M5D`TY)dx*RRIfyd zDy}?|>K;#pTGS3Bgu56aOypM=0d1|hc@I)uHI_oK^YvM5xR4-{i3~&hLH7|GOl9Km zI-w`fJAFafkN&bwxs{z>ANW|NZ(=-ADZ1UB?3}N&9KUP3dbiy-&_GwI*6AM=7hjJa_9JVFr?o_c7o(98)?yVTn5=o7 zN`tI3Sy5>S;fn|vr|bUMwNOJ?ezd9ACd>uYNAB;Y_)R8;2L%mBI$KIq_2}dFu!J}1N z*xp$&uH+QIM9-KuwS2`BN?oLtZrIJNPx+XT8q+^R+U=bm>)OY%SUyY!N8Iza2Xx!T zjU2lJyAsAimaK6SWT|120H>`)CPmn&;W%)ngohQ25jxzj1*pBW5$Uo=XOPa~qNsC(*Q_~rsBuYnp&2-1MMk@7B zt|*^6jm_9ycg2hug=v>huINsi!5UX3sXo%3{Q;OeT^YNQwj zW}}b+X0*j=@Dz%z6t@5JFSaaRxZvS?o_*z^XXm!9S@zV;|1IPtUVoIe1m64j*qwnj zfwvQwS9wGz{?#ov%TIY{zx(iOFF*XyoW2Fie{%EvpFDPAX8XFpd%wKt*1*QVx!Bu| zEB6cDKPayX*9rOYN6`;UWQoIXXn!GJ1L*CD;w$zi=jLnD@}o4FQSk}!X$&x-pOVJl z$V`Z*^l_5FbmxSZJ$S1B089vA3EehKjKEWGNP;9@bJaWR*XK`r@5%R$T=|PlOI9p? z>UJ?h}FNZQF3`%Y*gOTc*XG8?U%|J7L`2s``Gv+;D!zzf>({X=1EbZ%*7vq zpVXUhk&9+$QZ{Q0KED;7U_Oz@oi=#vN8UiOi) zh3&t}XWOq_qO3pt@h<`s*a2nJRRuQrYX7V!o_ha<`yZR%TRr>rhhBZ>6!4$~_8m}m zuu^5SGVtIp_HLRm^hBf#!);#Iy3_JJC8mzv$cHM>!+3f5$8Vq!G@J* zmdz|k7rz<$(L*0>UH|mLZeQA1c-O2vbMt-I9Qbg@z~If|ynT5sCyt!jylRs0+|ZBq zl}x(-(0%(Zp<6`~c==QCvH{Y5oTktp@6Jzhgt*y;&cXPO*rr_l#@0u~af9X?qKXK&1&o?hA zpZ3P-R|i&{T`~*y`x_tGzW(V&-DMMx-5}}Tngg83+D+10=;-t474ulg~Ye;roY;NMVNsGLKZ99?u~)E4rwj_HtK@1huY!hwamMPj+(L%Y zFeZ-O5ko4so??~aX(d*gt;9)t_U|9uOe3Nrvvz^>nmQsasaQl7U1&+L*6=_B6%E`v z6*A3|l?_LR_`){9Ip`Cd(rbf{Zrg@)^o;Vcwob&eGJIt&_$8$X-m5y~ zK_CMYlf&W93Wt?D44zb=fNH|1-ZFBJGCT9wEbPp+>^^q#21Ro~iI6r)_Y4`uzYO*& zAMe|T^AMe}HPZ8_L4+;Irb-6q6DwdW2(vIYX~67LEzofscSQ)H8Tk`U>@zWR2Yq zM_D%pg1>`!1vD624>xoLLXjxxtJI-AbFSVlO4lkiLKmj4RAz{`X%|6Dbo*_w;krZw z<;8%GwB9(JSwa-vDi2xS>5M@1JLPV0I~lVZW4Ki&Xt$yB50NslR+B||_j*%8{{DnG zM?pl=xUAGfgCiIm8N$2Tg_y3ypT<`* zx(?v#ht`23na6<}V_-<4`T6lnmL$pwaS0xw5(_EVhaSXZ7NT7^n5Fzf`5(RzI~J0f zSZ?3UinbAEHx6qAxAYDwE++aTqr-4%f!`Vy0v?&p^S=raQ$qG>m?uCe)kpzxv5_rE zPEU$Z{sw2gAe$p1tS0sc;mM--xP-v$!0hB$Nj6Afng2XT1kHgchl}RG*`iv;eDF?E zvN;Z40rk<6Y+5-cg6WmNMI=Rr(IkPUA|{(H3Bv8d?a8rLF+3A+XxLdaw}A{LJ29Lb z#32wKWU~&k9hk1T$O!I61nb$od$C>5DjKOiWLxGUg4ii&* zRKLgP;x=*_rf4j6GtmldC(wa{20>|hiwF@vi?Iy8wM ziY0^fU4%&iq8Uq4uj3)t6UPx>6wsvN3C8>&oh#0CFlN;uw5cbBMIss!9}P8tGr&tK|Ap2_LnVv_ zF~n43Ry{JJD%LTK_{_K9U|Os?BCQc4MryqN{E?#zBT(`bwH62D6pI2+ACq7%iVUuQ zYOn@h83}3^`C4K17YMgtb(K`OSAb0PPxS2F7u;xk zv++I3*B7oS_2-g53OtiQrTIW9vXOz|Gzinf(1Zp;lj=elK`+3kf7roN1F^wSJ*^Pa z482Z!8SCYoz{i&XJs$-KrWhG=7KI^P0%t5XBgY6P#FiMvG19QO z8T154e;x9Qk4|I&E@&{=0fqg7IxPJzp5viF7mxr%o z^+9ZfhXGq$fN*vJI#jgagaWq0xnSe|`cXWFX5uh#{iKFLk+K6rHm zTR2q{SQz(4VKx<8grVRT14%&sQEc&@OU%VLFEQ8PS*>P>n2R_oD3$r>geEQ#II6hV zQ)L22nGh7KT%3hqz;+c z6K6qwBl(ErHvl75mfO=2VK$1e5%wbS4LDTkwKvFN5MNx{@_BTSFPJH~CnF=ksX7e^ zpbD2rY|C(9ktoAA4Ds1T!i6S-hU=Ej?Imu*p+=jND=hR&BdW5DOLnTzJ>Fks&?ivm zbC{E0c8s9Yoli)WSfHwtmjXf=R|78Zqv6wr%@S7yNR2UK4R-*Q%T>`f!g_$0aQH3B zYVqu#=K=}GPes5>@>D~thyX@#A+QIY0CQk=H8Rfy>=G+dM9hV($VHLLjC)nY5;uOU z;U`c?7Ga(sW`kM>Vzn^5h8o{!No>>ZMK~~5Xn2UQs)3Bc$63;7r)>=0zzo1^H0>)o z>{WddR-BPDGl*Gz6fjG00kafkNRbmbji^uxVHUN|fmsAoam*U@SPS(xX1#dkiDj!Pd^$L4|$_#TT_pp;Y8V#Be;CEK@< z$zZ7K3HS@N(BM2IToNu6E~>ncScx}yZvpJ*qG=9k;kFKsz!Agj8W)E$vwFs z71U8KTgVL#*+Q*XcnG1@1nEM(=729883>4>kA+UdF$7~{HiR^WbQf)m5fUm(fjYiZ z!TL`t8r`7a2Q7X6JOuxXEK)SXPC^l*l>CD8-wdCZ22Ev=hlA#0U|67(pOr!DmBkM2 zUxy$}oyD#ek+JCpmniF>K2xFB>cpMpJ+FMuZW8=E!>-)@WogwNwTl=eTyVizb+KlH&8!T-}smHU-<7ccgo=&WP@e(2Q0gY0>!l5=qo za^C(G;AsIiP!NP1e$yc202}X)fn4;sGbvun>+^Zs@Fh{dJ4}A?si!LSa+tWY;xgr? zXTE07?+iPz2Y?^VI<688MNmm;IAh=A{^{oSVZm=k+g zQ1vAA!SWkHYMfvISQSW^f?I45h>DW}#>SzMU5~56zx@U%I_4Xg?LYX2dgr9wgO=m} z_8SsETgaZEKKs|-fLqKcVO&+K!D-|lo~r$C{vFaWsOO25dqVA+HU1@PM8$MDj6x}N z+Uc@nOHWBg`FDh9aPKwb3PoNZ?AxA^hN3-aH-msWY7aJD#wI7pKONT6^rU!m%yg7B zlQL}ZM;hg{WNR#{#PdT3ff1pd?1Q~J^bfu}+xI>EY^rj9=ppcD!U@)`oCtK&tN;A` zgmORN<&V(U6ud^yL%-F%$2o9<<~jdKDxH7;cbFN!ufJ2O-s-OzS6x*}W!K=Cau*fm z<(l-ihWad5rk%pzAkgpt)%`FYt{D&nE$QU+i! zf|cyqVhDr(pTA{n6rhwp2v;0i3Q+x@y%r*pG(s#D<3uWYgx;r-N9Z#8jDJS`Easzs z-5QxBB&U)ET@z9?HpE$6;$P*+w55vz_$(zkA)a$7u`94BN8t9RVT43*sLIT;g&KK9 zA=ko?X-`ffMim_yDQGtf{yLcMOepBCs3!Yq!&jdplWV|DrR)y zF->wU9ePl54Supz>>PTKKaAmCux)w~8+gq2*Bk**bJ3u92RRQ0)?9 zI{j9%Utkp&8CeNpC;^zFBXWWfWEcV$8R0TZreTx4wYUd1Y79LR+iEfUAN!l6Go59cjGY*&yc#_@>+$6m@cqu;h z9dPh!5C;yw1uD|N03VS)lpY)|ekZ=I#4Eo-Q)Gt}Jyb2W1kMPJfL;Rh&jz8#XhG9`BZ2IGqbM=+>3l5*6QqP(wpbhBh^0v?GD)kpCAUG8t;9cPOSr zjeCRUwDjm@yIb4a+b-XI%eA}l?77~x)4O*rTRG0}uUWBT%dVC5tbWN#+0{Pj(%m=Q zxcl-p`t+V-e|cz%Go|0}U%q1F?v*QQ=;JH5U%F&z1po-a^k>H*S$!6Ph<~zFPgeY0K8bS8d!regbyO z@LwU-elL9u%qO8XOp4USV!CLDt6E%Kmk`m#?=xIo<-rQUKw8|YjMQ>S4LiIr3L!@N zI&fK0Ua_OYY;m>BsVFVZoMeo3PDWjW2yvG=*3r4DxWMgbijQ-4EGWozJ11+z;T@34 zU69G7K^0Q`Y_iiCrNRGVVmzWzsUj^nAtNu(q{aVYe1e!1ua>2wrV50Y;BV0H2iC>U zmyw8y(cmXx=}niZ6xn_4&3lNFQ+DnaI!N{h;y}ilnp^fhxf%4Sxn(ye;pJD~9wOll zx9r?IvHkof@(0SFYHF7+-|_CjO*Q`It1f@#>doN1b(;Id?c$^Gx91S&+0&w|=!T&& zxYD#KV|royE6&5cAQbLl0m&(rg~Bb_`ALoIYs*uMmd#qx(y+F^wz_ovvC7iU+zegI zq}40hCrz3xKAKv*bmq$T3G3_1lkykM-_(4_y=J4;*DD#3PHG=m(>e+9N@!Vy zsu~~h{ZXZvteL5q?9ZPvt4BP+UL+`(M&m(jC`@4IO9J%w! z>w^QIJbmbBSGRJ?kXDghJuWA!`qSA(Yc@D4_Z7{)wM}{L#qmej+>!UN)mRHKoxw5f z(o~=lV7=c}KgpXnAu7I=Lc@x)1bwA9UB&T)Hf?5mO>rZ`ItdkX~&jaIGa!2}~L zeW56z>SB~_7UCH6Vm8^*eYj;}*Q&7xv{S}@MDqSK9#6)lCHZ19#?eo^au&E^ZA<{J zA_#-m{QXc?mT)R{^dmsrq7!2f_ufnQJUq8wnHG~#oz6d%p6L5Lh@Hy`U3V9Bv(mBe zV&B|4{HgYg{H?~LY13TlU+E36n}XO4X!CICp|$X7vV=v{ z+CWrHagilf%tQ+$jiJdxAFx7ejW$GBBE+hy;sW|24H6kvDB3e3BP?PVLr^?(WWu6^ zo=*HiRhUZx1xi9S}CPAy!BnqfWYs$buAt3=6mj?|==^*kb;e=v( zM*?pMH6xKO{L~t;&DqRA6X(JaPQ{V>ZqN9>{EVf`Z@Oje@@dl#v5Cs#^ORGp-P>9< zZi3yurDHdXM8qMWA=#`Iv__;hq*@Cl<;_)#7T<8+<|P9wZ<^UV8GSDt4o8i@ zWy_Qa4p+5b{5va`3`uqI5k@Tvjm3(wk|>2u-`YCYiTEx9)7BL1h*#dY`|?f8mv38k z<@EzA=FrzCwEAltj=uJ#t<|-52lS6{2&}iX25?5X-zzUZHF>VE*N;sOVPn?fc4WqkH-}Rf(Xkw!Ky}e5t&D{ zG<HjvncbAt_S6%W`#3jbP8;``FD3Ib#$nKjmw_)6T zUujfKX^NrD>uRo?Qk1=X&aO!v?Q?2&`xiYJX3Q2@mag!Dts7!WCwlG}n6zvTF2b{9B-RJmlTthGjr0kqy4=u$AZ;1^ZVCLD9%AxJ{x|0_!a4E zV8}+=dz{HYoms<(vW2`GClwC?yW@W~WSm0>xW+)K5oTpKSI#}TwJ+Y;)6(cms#3)}L<`(pkFML>^8Ug<(YpZx~Rs3N<j zm_y@5V>eXzr097g4uGKEt+vr~QHrY?_Qp}cKAV@g@x{XAqRR1&b$!)y@1A9ktIC_u zTg3KC?U!X-^~K=2RdwZeUv=}U#m2zuOMCX0WoCNT*dUFm#@tWj1UXA%M=zT!ds;jh z&&!gW^xZJYOaveIt_k()Kf|${{(Og7dGf8qtZioWEhInQy2)GHEM;15z{4u zp9;=Si-U5ve=O9!{IZgD@4dW%z_wPI6EXU@a)Sk3w28|7iJmw_CxJc-{D@wl#ew!`MeHA zToAM5WMi}SqNo@;e5QIhIpKH&al$BUmMj8fQ-Eql8FC(nnfWYkWQFOJkJ+*BB=lSz ztWjPKi1)Mihdz}bWG$87T`K-^7pTsZjp8dhBadN$U5QK>WV#Q9ssJLScwi#9kO3t; zUigY?xWowya{%{t!NFu^Z19dfcVM_Xbl-j(ru+7rg?#k2;>$V{M)&&jV3)&YP-7kW z44gQL6e$NUqLw0m$Tbk0K($=a_}pz}Wa3Yb@4iF3>i9Qvbwl4uIuf2E*ro~!^< zW&Q%#(ezNP$ej+iFL}J_@(y1q1p-BIqZrn&I-yk;6gRrUaY!@JJkj!JOAij|56S}v z4}N<@w~QVmvkYSv9y35#x+vs=&x3Fk1Zw<%R}@|rato3#&Jw-!p!m0gOBL-w-STg* zqX#Nsupwom{354Bu|JFB2bACx;Xy-~f`=j?&mY(tB?Kn}`8@gf7B+Op-aBZlu%kqU zZ^P~Yp78ftj7@Za^^nF6(Sc|}c*1xzEC#=T2*JTsPo~|-hQwDC>5je1+OQuTCmMVU zS0U5%feMS|VdTnI`SUC~9XKDk`g#O@;%XmE);Go^FnwwYcUmK#44jMoLOSkfuUqp4 zbptG*M+`+sLqEg+7GqzE@1`gI{K~PtHG%+A1vNFd(ysx z4?Q_pEZ4Gx1ADU4w@+?9c-vr_x;`CWUlR6HW_XO%Xh4x1y_Lm86T2fQLWnjbFtsW_ zz^8SQkxET*BfF>D7!%Tz(D4U#1W0=#x0Tp;aHqFv!|uJ899(%Y)pz*zA?3Y?PcYUe z-Ff~s<<+gFDTPJ8e=sH+&Odi*(KE|7JbXX1K@$vN?E9k}5w;c#F9-=1@|UU$Ar9&z z_EEID@4nU11M&&<<-3^1%kigkuAzOPZUI5hMFnIL-@Y6^K46G#IMaZrw|z5@9z?d` z;hECQQXZaZ!8POjMTh{x_Jku(mqyVCFp|Pc9xUz%DS`Y!)FndmU=kH$5(7Y96nn%T z3m0I39Ts06s$ie9U%|-dQNBFBZXNR9o*ZggCrkiV7~3uXSZu|dI!&%W1Nq7_IdFMR zCkQ!6CcdK~!T|`uMlwPbLOhz3$R>cWFZ<_HfrC)iH*~kWGFJ$=&TR^M>@8f3sSB^+AVfrmuSha4AclmG9p=Jp74@1 zp`~ibKeRPJ)}T+GNHXbTWurC%d(8lD<4vhlBQUJMQGys54o5yxN>!^rFS&;X^P_XZ z3FL8m+*DEv`a34fDs#%an^AJ7%&Fa5-tleU0-e@uGE5=979cUEvvq(j+m9?xnC3~L zU~s+znTBYR-8d@o3V{~PnSem$w{V|TBp$X2>?`KD-@hrT=-T=EjDju7caY$F-H&zM zm=ZWSG1W;Box>SX4~Qb+ zv1nojbbi9d#*s%77or#CZNgPXq)eC)2Dz62t)Wy7ga|H>U&j z$aZ=7J$ChG&0`WovCjitIdqliS}a(sl0T5&1xyN!Gfn=3{y z@T!TSO%Ys-=)*eH(#haWkksOGd+c)XcYdDy!uj{)WS<$_dcGyWYO%=g(@*Wz>yLl? zO>4R_#yExTkB=8DR{8-s!weAMKfwter%6ZVX|2C73k|9bDA))?i$03NUJQ;}T}rJ< zCzv!@Hd<5@h2Y>rC>Mo-S|gd5kk^m}B+^1UGENZO7x=}J+iCJ@7lewmR0rF?!5hS@qKDrl{#b33rDvf%niIGRHgMEJU69j z!;M3~5dIvIX20a|`v@XB+m6nO$Anz{UpA?%P?nsRn^%+Ug;b@iW z#QO%PBRw^q8bH#0jxMPlOL=1kg-Rzz(o+8&^ndRD=gMxq7}t{igJ3N#tpckDf3{D19ZZ!0%k zH?%MMxlPZ-$n3Jq0;`2Xfz_fp@TAZ*^e5rbKr21yB>HOjO0>zguawN2`4p`2Zyom)|Y{ru2iQY}O> zlKIFbF3CimmrS|{$igf*`AK4uE<*YFXdKt*rlN9u-xvD_%4h%L z^ruJneRj=dYrJ>Q_>m&L{}y5{lizvc?YERq4{v*O+hQqiNo9YXr?{nS^2EiS;u`kMN*f4t{tQRmR#49f4{Irr{c zEQ4jf^JeMPpWGSN(p+gt+ts;Y@E|y4vp;cDB`T9v;-Kft)i%j0-e4@TaI9mygI~DB#3!T z%FpADJ)ZKd7CRvh2%#98a?}#>Z_$hE7(R_ORGrz5CUr($+Q@GIL5#kM3Y%%~zxu&B z<+q2ozqfq>dzPi%)mYWocFWOA@4tLb=cSMRAPWB;O(^{Eb$DB|-+!&N`_&%>?iXVl ztCn^wOj900O7R=)>EiOm*f&LjQ}?Po4L*t*bfVlmj(YhOqh3n3(~htjR39|Q==sGX z5s~jyWf2>w#^)_6jE}|@8u%OM^A;Cn+B3pS%S2mxLOjZ-q9AFq4z^>b1KlW5Ed|m{ zZ}yZXB7ajts7@JO!xEX9QtGpX@-l`($aL`v#f-q?MAE}%w!zlt=7oD(LNu5_cZ>d*I=HT?VZ~^-5WeIpMOz+OT+2SIaIx~h zZ-wM?(dB>fi-E$3^0LUB78KF43FnmY%ZrUkdc=)gxU0J~tNaZ$6%FnRzNA$Gm2pJ>XjD?r|=YWd@N`MK&oSAP;G zQb$>;o%Fxo?{1?G#|W?0GioY!3#y!;9ZxkvSxZQI;kR`<5@b#m^! zc{^U-IXeoL=L`3K4{G#X?w>iiVtQR#Gf9AXbsj?a^aazWb$515XsjwNF3L|#i1y@( z&8#^ONxohW>&YYKdsbE%@ZQsn4|%ovGHr*al;o~fZz@_at+OLhEMgM2J3p0!_IEPH ztBs(zJb*v$|3ZW@44uv`_^@26rfU==C&R9b3uQF2wOT}O-&G5qX)XUTRoKcFyS;@S zW0pw!Bc*O*wmwzXW{MTzM=GWoQ;nXoaBJ%1m1gUTocx%?-s*z?1%U$RDk5?_*%gzr zbrr8B9AR0dr`fk5a606P8J(rV-o9?|)D;f?6N-hjCg&Hu^df(%8=-aBw}&9yms2PfY9IU5L^Q*QGvvCl8R z^KPYS1V#lgy8MZhW-RH$xS|fHL_~NKQxo5UfU2{5pmE~NB8!ES*SXz zn78@5eSbTD1M2rDd>O>LbPw>Sr|2M@7$7S*=i%bkgnJq<#KBc<^^$?DN!eJGK zx+gYKVreL4fouUG9C|XjZ3DSvR$O-p7?#WyyrX=re8s|cwKlxNURjpImI`HoPtW}+ zD}8nCeOnccP|q4iAyaVc&GIJ$GJ*xsN-B7IP>#UEBgmtws!l}9^o`IeHpzonp!X*@ zEifo;-*-d9<<|%muIt-Re|7#V+7r0%if-%)stSt6mlzF&v0!CVIXAQm@G^&L)I2E& zR~_eeNp6!AU@LLsz7)*94qb*Y5;lM=aeE}x*^7rk6@0Pyc+mbx5FZNK>-cI2(LC6E zbTxo?)ZP*_q`?Ac5e^-v?~;8E_ct0xwaxMMj9$*vfoMG#=%V$I$=YTV4vFr->Yy!- z<43T|FA7Jor+KZ@v`{62F#*xsj09_pApcmfZ`{bgrCkNv;B~O_0+&l>mB!ffKky|G^$xr_WB7e3N&LIUi~A!S=>^7c9gM+QuB1ei=hnfq zqA{dLm&8VkCF*O`5=h-(!7BmGKB%myY6hx*iM&d2Xa&qKW2&PJzILa2g@j7Vb$(Ur z=l4t2Q&rNw{L?jydixA#BQlD2Em;*7S!R1adF!&NbE9(K+_KDqhCKUF!Ew`s`A8_`#${K2{<|LP7*(NZXV~IU|dFPs}RW()iqTHTWs@*lM*xd*S z)P5j80)hCyh{zI$j_&wq$I{Z?x9)xax*hLczGmr)$FGwg@%Ej&_k$xlKe}wGd+I9> z{{Hp*PR?!z_DAOU7qRX(7_nKV{D}O>`AM)mhE_#3JJ^KRn&;-Bsv>ILn4ZgrBRB5K;(_r8B*J0WWM6W1w4FFwO!nE2c?&po4j zvw8WQ8}|oscl{0(cMp92#=XE@AlslQ&z*VhSrqIrJbN~K+~Iq{!7ET(`&D@x;v0%J zwWuSRT_MLfWGzgZRV69OQ1@fNnd6!Zyg8QaX2F&kQB_iql59cnYOs6LXv<`^>{5tF zaXnIbZ`5MWU&8eiDcL%$5q6GX;Eihk7^%L78!YKa;wzRN>+ZZ~`|0Y1e|_znt2VB? zIxTluOY?y8%Jp-fncBHC%dvEPQI#p373^=E;%qpZ%>$ z{tUq@ekA`1b}H&c+V5|+)knqEYcv{9Nq!!xiiuI#aNy^N-comQQ8o(B85|ATw79_;X4ZalDT*50O?s}H`=(Y$$lRgG`pp@&uvT(VKwexOy~ zzQ1|;`swnYGOKp4zH(vr?zX1fsvWEMy?kI_Q)=nzd7Ij9^sZjL`ov@F*9Eq-@02y{ zDn-X$QOenC3gQhkkHdhsSN=I-;@#-WIx%1GM57@mR1frWz*$WwqpSq7=O>UqF*Svf z;@p&rf$}>{XK?4{WFQQJm+3dh4jtO;{m?tYKT;lg<$+fYr5tj_-?7nY(-~4-Cabw1-;gSNk@`<>8LhDed4^P} zc>mBe@!tK9uib?d;)5t8R9=7ZdtRbD3vi?TO%OLeO{L~q|BO-maP*XwixuS(D;t9% zLGpV3A8T&{mSxd4?q4%(Dy6towqQoMq2dm*sTC^jiHeG729--_WM;2Mre&KgYL-^E zkddJ&At`8Iw{387Skp^{@BMXlxpU{P& z|5II7Y~jrbncKEmW3oCe`&*||I`sYzjkXrAe<)M^t<3P&|1>%_fm;9X8lF|-|1%YG z8$taas&AO*=Y=Zff2uo`Y0u#@KC#Nc-TlcSzg6EoRxSD>zgb~JWzV^{OKyJ7-RjwO zOC+z8Ceq`{owB2I&Z4ON0pz-f|wjQ;p=e&7Q%% z>ldhM_$0^zej6`YFOV|5z?}06REgdT5r2dCb1H|=PPm!4S8>yD zs|mlG&yR8668{fe26^P-KEfsQ{rF1vOD1JKh@0zEAV+a|_?LMfmSw&Xa)7@VkZu!0 z(@-0SyfS?k$R~t<%J#Xo@jBFLwKj!;dJ zd#l$PIpzJFd4q?*Y@J`jJwq9v@;M8)khpn#K8%~jZ>qha3e1aq{{sHEDSw6y$7SNG z;%1C+{a@ES7i|I)B(_iEGcN2y2V$Mfy#+dR|+kso!O_6?eZ+63^MR zko)x|*~`;4$9?Nbq+g(nC;tYx9Q5`nw(y%*hK!>d5otU+5 z>B_b>VO#v(m2AR?;7>rV#<*6hK=s7+CBGlN*3&NN-L^gL?L*wViE}^Y9Uy!G&bIGx z>>-vm?M`?j^0GE$ZE@K@K9`}}P5*RO2I~kD`|0e>+8oZc!%carP+lA^9(Muv17&EO z{j}kf&9w6z{leOW?NbZnecT$p8{xZ9wZwV*E|mS`n@63>Y+aD+2hwEPy75`n%E{+z z|K+nlN{RC+X^-CeJa+5zukbvddh(vj8=EKnGV)pY|My9K4-oI+e|-MI-w)mT+uHI1 z{+{;N=PkWi`?Naz>vJ{!2=s2ppG`i$OFyr7U7d#7eufNlk@W@Kv*eX&``pb>WBWy> ze!`70nLL4HZQv8Wf0^=Z-?iob+o$&_-rZ6t2km#Zt!(=L{3H#wE$`m?tn&BYc08d^ zBhP>P$yjp_wzbZVIr=U7ko{!bAib4y$^Z1zjZ=&jZk)31%2-9Y?f>(WdRkdrdt*5-1kw{+jqU{#902QZ=xLXJ*857TS+hSeb>gp z&Gnv!EetWI@Y^vsf;udqjNPuC>=>OOb^jWFc>~}it4rQ$okjQ$-kT)KmT&9fo2zak ztf}uj)ynrSdFW<(#^Gs_<@Kuc_kLF1vE_O{C2I)#!g~hw5V?Wg7TWK5isUC7$2&n* zxOgICyv|6lcQWG!@w{fr8^m4YJxlKKI!v2ylS1v0jW$1@aQVu6h&ku8jdz~#jN;$r z*!X;J!}xrf^q=FmbDiz)*}f~)c<)5X^;sal^Y;p5w)5SOl$TQJ4e8{!m$841df7Wq z-tbw*92BVP`}`*Jh+CI8WX|UEYtnz~GuM>Z{QMHkAKu4hvx`f7m+mF0gZ^fr*RRpt z@3(aK6Mz4S?jE*z`XUB;kyhrhlqvwb>*&Oy-=H_HOZ_f29V2*oL26Kftiu&6*ESpa| zKi^FqKXv*Ox!X6Ju~($E_e@#rT~Eq=Gv!O)E$Hrwyzg^Z^1a*04BFxeUvC-d-AU3& zZ|9=#aG!el$~3Pl@(tjj+fuDDI;uf7!uPHu#(f6a&<1C;4eCC;#yb8=4 zR=2i(eBK=U?EEjPI(Eq`gV5bVY2+Qwx?s9$;ayn{{;yAY$@?w&#&tRX`GQ;;PNz$|A&PoedOEr@> zk?#ZF8tM`6gA(Sw-(2(QC1dHEv%D(Mzet4FROX*78O!`qgZbq=?mBKWGJePRng95# z;O}pIR-5CvOSjx{8^)TTyWeFwYaM#7?o*%w|M97j>y-COY3lWa3@5*}KIQT*X@399 zd3UC*7s@=p%lZyGKXWI2uN|ZKex~1cd6Lf@p91}b&uZ13~N$9~j z($*lamuy~y4YH2!|1OKa|MnApKY!oDXAqx(xO;J9Zn*-&KgIup_jb9HJV$zO*HPZv z)o9w{1?#8_ZRy4DS6cU%|DT_(t!;bXa$fxSjf-zTaesyXmBxMlKMen8+W+3~ciC%& z-(^#A(|N7<_wsBSZ=uaP{1wN0yO~5?2Vjp+SV#Tu@;jxbq33HpYm^uMJ-7b8%HQ7j z-$p;>xYtP6%%&xeGq{(rud$UHtB^_~RX4u``OH_;tNdQXHt+UQ*{8i(;=RWF=3R@p zBEt#CuGE^F&a(@9Q8%4Ai=E-r^_xxx5q`_rFfljd>B+>i>994k;bxfqG{v}Wq^(N- zU>z#k{<2d(oB!n}{t|49JXGWV_`L7t-!@!La|=eIE%Poe>qN)XKF{8SYQHm}2Qa~?);2crs4>jc9nQw*bB zc#PT1S-4Xhk?KJ10>QMgi+>G z7;U=17_$<_Qr`gSVlKn3F3$v)e}8k8kb$Ng4l=iQ(!YV-0B__BVMNa%!W7G;(Z=4r@pgYF~r4`xAz`n9XRJ8q}&MY(Z=AOFj|} z!^x=zZ#s&E5wuzje63&pG18#QRnN8uXM1z}$g!ll?-5Y|}J+8ym1EVr4Huo}Ax!DvoFYd69CzY|x_?1c5r zPcX!+hE1`)od5?k&UT7wt1>Kj`M7uD#zxdmeQMoRlX^O%XmgTSgpcekKVKv)~D|E z(C}5*5;^NhnEN)|2gWdN)T6C;!ep02isLYsb~^1+Pi8P;)RQbU zUr(~#w>jvxo)kELp<|JYztwS@rOGDH`q+$y)#!1yX9vOR&L3#@;;(~^)kpGgVSTd) zHlR)GV<*4E#`H4IE0SA%2}RrWsgeCQ%%u%CALEa}Lh4hajWF7bg)!8$z8ekdJ4>if z>t7-y0nOB>rUzlND>21!n9I}l{rZybVoo<%_%qB=nB&S_Y);@`iq+Mpm2GZ?E^QHM z8&I#tFqqM)fiyJxVN)b*fIUxz5#|dRX|}>BGY3YS(J;om2V=3r2FQ5<#?xvIkZ?Op zcDbcErn)%k?%U}uhYaLtAdB3$*^Z0RQUhAV%1{U!(l@uj0OVlJNk*Xnb{thFUH5xkGXo#FA@JFMQhR9h8W0Aihea*5Hb4o+{S`myhKfWg2 z<{}qj(0oIB%~CkihR{>y!FjeWil@Y24tCy9T^){lWJ7GNI zNh9fpRE-#6vS5Nwgl&E-7a<&f?;(d97Nak}Y8ZW*+1Bl!~T zHNpmLEwUZ$_|QleyBwC%YK^ef9k9TCTj+Sv@v=#hM(Popzj}^wUTI^7(Kkb|oOfUZnh(KpieMBr6N2T8hcWbm5HxlH#xXC1 zNId!sp{*-m5>^+2o!dN998+D)bQfnj78pWJZOldP+ib_BPM&<)G=zHDw1u!Svh9RT zXy3+2wH-z?$~C5R8Wi{p7JxR3Ze8|D^IG+XSCyZ7eC!`vP(6c)kr9LDs>?0irJd~3PG{}iOuln*a?n6CS?aO*=X;7_q06VpeY@3hn`60?^QAI`(- z^wSpPvm4fTAtB6(Ezn^F3`d_W$g>niyErk-L@m%&IgDe3vFleq7>_1fpd|zCXwZVb zWAjXLe8S~C%;h=4rA>7l?U?5B8SipPcbx3v`s-I983hXI^AZ%OTT!a&A{mW+G$YQ*;RmelkL3?ZME^u+V9746j$oB0#k zxxOXVvIs^Z1J^M0^pS=sQ2a7RXcc#))M1X@!^?B*owZhpbvgZZ63XzJdIUS?(Mk0rEX6uJSE7^7ODNn5)V#}O{KRL9YdX)fpS zE^WHwbkmFY8LY8eF{|do97g_Dj7U}n))_FLYpYhwI5y`($BT}anUP!3E`&2ip#jFF z-7wSET4gzZuFaWo$#OMo)Yi-ebzy+CgKdzxHJUjGJ1`!%=C`eQvYN59E1ZnK4efY4 zybXJ7L#iq;82fBP3toWrnTy-df+t`@X2v$Opk)Y_(1sQ~1DjxPZD_%5Fw~`Lh7Gr& z1?}(1wBV|_4J~M6wsN_(cK$Z>;x@G4As9|uw?R(pw^!nAXu+K@iuC~3qRawqXu;F4 z1M^H9+OZ7AQLi?%l#MgMm22nXHqwV}PL!+h2oZRqv3M&(Ynv-F5IjD#y-U+QA_8@QH0lfS_F%*A17 z>@aMKZo|;VF&M@e7)IT{g%Rc}XxBMm)OQMuK?7mbv=qisdKk8P1$M_K!?4vGu$Rj% z-i7pKA14fpwJ`^}REe}&7T~+QC2*1?#W^45#j_;oKE^I2xFWzX5CeaI9z} zY~&bX-oW1&%L&Jd*21Rd0T@c%!&!~&fX!*saI9z#Y{@Q1I9Bu^{Y=0P}=o)wPHtp-vYhdIedxDr#%`-DH^ z%1v|Sj%DNtm+>zD7tM?K)0tbtWui%elU+@xyHaK_nuRl-JOsZqgW-I0J6z;S$#(qC zm6gL9FPwJl0heOW;k4snxYE>u1ukZxW08x$)p48SSymw7a?yQz+0@5>#Yuk6%B*g) zGOLGeO!bI)8g}HDJ;PNus}t4B@i7vYc?O|6xP9vV>Z=n+fwQy+aj#H`ob^R zg$rkVdkJQ`kSy~U{`ss`E&~FsdAcc7+*%1`feqj`6H)BdGgFaDZcyD`hCV zxDnLX%9-Lg%*imq<)7-9=JFrQd>4UL+k9ShOn02n9wh3_JksPEI6apk)Xa7)kpcg-sXMz(*t+y^rT21-#||U0ghDs~eMVyWwiZK~|01yjTgMc~VNSLY zF8@@=G?)KamukGr=S9bK$B8a{vZLL7io_C5!wl>^5=+GY!JL9YhxWmA{Tol)X)nR>Bo>8<~Hf-$}PU}Qb zvKNfTnxbeIUl>b^MA0H&!g$uVQD}P^Ofvt1Ls_dwaZP9QNpo@1U7X1-&U9Ki3cVG> z99EuDjQLice4D4cs*PfF-Ge`qwPF+_>bEct+m7No5DCjA9=q z8k@WZJ8(ukn!4MZJF(V{X7|sQ7{|;Njb#pk-I>4meN4uRXh!DIFrHaBTKe$orP1vB z4Tt@>evf8e9smb0LPj%Ue*qKCTsRmVMx(t@XO47(ago@3M)lUEE5T_OzMsuA|bOa?ZO`B zBskNiWwu5C%(FJ;N@kxJx8{$*R?G2MV^oi!m0QE=&L4=4#n8%@_WoZC8X!1PFVc#!?-n|hnb>T&}T&}Ds5$oN+^-VCV&~{keaTv}WqIS&h*CC@UjG~{m zLpB>8!;IgKdsQ7_7k1g&as3kwyD@^b<6cz+wCkjH+^c#B_HzC{*k(IPVkOy*7QX=V zq#s-@o#7f{wnsm~upa5!v*K^hfA-xW`;@RT<+P`~wy-Id-=3W(81xj!W(|ztR|49Tavba; zgJ4$~1G~#8*n=lu+f%QnVVXPzS4#q1!#%iIY~T#6j^<-Y?$w2tI_2-^EH9T`0iz&h-ubflE( zum`Qv5jhkb$Q4;f^1lY{bzDdK>@Jv#(-&;aTw=vh-<9xoZg&DpkZ z9J2L+`Lt=A8pXF=kn>wug*>~U0S#}*in<{4&oBU6?Sjl}U?5{l7i2yPgQ!Ip^m9M7 zcYnGt^8X1tV~1TBH*B0P>=<`p{67b~yKn89qzm$&gz?Uw;Mm{gGXVSPB8kqQgiUrq zw-@11dT19J;Yvw$9POCqN*Rk?bzz*hIj1{LcKN)+TBr+S(N6fKD{(P4+yxCh2=kqs zXI&{*Y;KIeC*WhG?TSu*f%ZkjUD3ulSj~k8V3XKA`E*4ahhZJ8ox9(Rhh5P|8yHK@ zU9o~nFpgI1N^72nU9r!uw5EYQ&~sN>)1Ia1g{^kQk}dmSV_j+43fQ0a>PpL=fQc@j zBv+#CQ(e)?!!XsAHQF)F#ToDNNq5XZdtDiUZ@^r61TJ;u=2N3?)awWw$Qq*?*0LSu z(i6I&nWOM5A^ff~eXTn&|AgW6{qEGUIqXV5>Q36D(2ghFX(=0jDC1Fg@_7ha4ci`D z8{Y2x9T*pTxE|Vrm|U&VY85cuF_#g!2Xo?O^y1C6RZmj=0js%?0Mo z^S{F&*4{nQ`BB)B+V#W^_rcCc+Y|lUZ|&KLp4j1D*v;k8omT7V`czLo6|NWB>&g1$ zBJAzr*j@Ubw1^+;R^oI88_)%(94ccqrM~QzH+WY(bayj~Wl=!jC zX5p+)db|94ld1xLAFfGzJ8S7pstfq7&GdGudOOSM?JOsrR@;j;+pG9^;vr%SUh%q8V+=+tS!Yef^CL&Zi*-WO>hqP-Qp=_0L-U-<5ec@63<;- zVzQfUnZpsO9`cPsu*n`ov4<%lO)_VI;m+LTzw0$URE6n9S zOdsrjxAet&>%tDq(tYV0{%`=2_r-eS;AH2|#lHGsvERcg)Uh8WUVznDRrX{2%z)L+ zI2gz%+7CTg22pxH>~=Tohz$L(+as_u?b{E#-3b|GVOQFyA9h;~yVG;~p*I`S6C3V_ z-JXGu(nI@Uw>C~Z`ss(oo`n6-Z9gp5rs~g5bw4cDrX9$L+7FAhA%oCNKP>iMIG8m< zKP=WtHPZ2E$5hABj?bXaeyp*rgwHyTaUAc;o#6PQW4hx+SK?&H4Ej+&M&rY9u}hVU zRrkZ%4a|4ao~76H!{(7eiPeeHwnXfo5>=S3ql$EV#OBYqO&z(Wv+TpFjd%8NSGyl0 zIW=WPZ8^f$OFiv43MSBAKfr2OLIQ163hmgEKpX9a)>ac}qv6nw=LwAAHcnUMOhEIN zedu=y=+>sPHk^P(6~RR2pad-H7dY6ZwWD+b8aoSfnNt#|?yPbwYpSIR%5>J{jn39Pl5}lO#B0!e;{L8f9%ADB(Zku&zM#jj&P-?I*xWsbES`W zsnQ)MJ7%~Nb6M;5XZEQA^BGV2)4s@0n;xe}Rb!1bfchSWc1#=KMydhm^9X)BMh#$0 zuzuT52cXp*(9SXg$n8(8`F3(1NIq#W0LvdpZqGv7;|8L=4KS7+yn$$JH;kjF52Q5@ zLVN#uASIrG_Wt!ideC;*4~-2(Cp+K(dh0+ma2Fim@)_y)v}3B{D96!`X)ga~9mhD1 zcX>{5On02@%F19(HIN>$2QJ2b22!s&Xxxq`iPWkZyq#4+BDMPr+7on%)NT$8WEVY= z+Wi58=vj%>aWAx|-4dzeVc3NcERmXCfVQTIuBM5uris+_G$DPk=R{ZEMCyASe}Aro z5~+0=w6#t|=QrR8m;Xq|ryWxrM>&pmOmpQv>o~@7yenmbW4fcQdm{6lmHbOAkmn>= zJ0)TvK`@{BdJr1;3f@i*j8Lpp2hp;h!|G^n5OrSx>!8~~)ZKm?OOG2w-HTxyEk20a zZH9g6HG`;yA53%M=`K9irCN$k24O`9iQ&z)Z4zVnHF!HCLlWfe9xHuzRs*#RQJEl60avbfL z=3+kUIL2|j%VC0Jx?=`+5|hxOEj^bxItd-#2J@Lyk{CY;XQ!)>e(TLX=V0n}99CoJ zd@%KT2Ud6fK=xP$Q?GAfEGw(Q)MY8`jy?w?`D!?TJ+#5}!ILo6#YuPJlU;Z&eQgL= z^v7UR+Gq%K{c#w<$T@_o-2fOxYYyRR_auzL+J~@aYX-Y;6*h#v-vD-F{Xc~DV=(N2 zJq%$5)CBh8jKL5_t;R5kRvW?<{U0!o70VE=gS-LAyR2Nyrwi@a>LADtVrVcE=-?9_N8}$0L=Ro`p75s!NqhFTWrE&9rvM zBh_6Ir_yVp@!K7b(JuaI7k{*inMSW!$!?3ieov#e_d|RAo`wc?Kzse3#yF4)?Uj2P zt3(YuvocIWD(kmb>uIbO{h+;CXO42Y*{k(5O4$JIb$S|_KM(D-`4|^x43hkb-^LkB zNTG~}d!g0Ccqid_);61Df(xJE!Y8=!7b)wsq|@K`LfdxfNWKf&)p$CRpNHY>i>4!| z545ZC^joQHDd{e^bhjE$cX_5G=O)7KIy@aY_pt)DbN6I&J`C;LJ(+y2Lpyg*CWlMV z&fSyAVGp!(_hfQ-2->;(Eo}7=>`9H@qV&Bm5jnZXNY30NLfYwA)Ls}xjixhhoaD@L zFr(8PZ2LEu&sa2v9rCR(n>GI&b{BtvD;-yH7hn$e7C#kM;@C!p(^UqgoW`HTD9X7Q zPTOW-t3EKEm0=e9u7q%Mh7fXI2JNZZEY56L<}yBKag||XuI66Pe3j1KhxzJdc82Gx zN$lLtXBXFoOe5`lHQNNjkJu%i&vi;R%;O&Me4Ze%-yUG6bUx1!)PZFt4xVH*p0CbR z_xZ|jhiks}wehtdcMaxif37JOpn`# zksEmyxiM#v8*>)9F^3aFj5dqhn6rpHo8Y%&<JFEOKMcA~)t_yU{h994bpTIjn>s zjH21(VEwJpc{VvThHa@G_cOVVob7VRCWk2bj&G+zJ63$>#)lk2u5gmc&J;PsJOiU# zNDS+i#f(=Mv6xt{vUBNWH?KCI#NV0mB9|*MyL#xt-eE2lXhXVTUAfF4cIUANVRq-B z2kgbQa4y%l9bj)4C!RUO?uhk=ec4&f<;vq>n7}@+U6r?n16+u`V#=kYa5xBS%w>+f z2M%VJESK@a%9ieOn@s#Aw9c2XKDz`cLXHh!nDg7;HMRGCAB6TU-x6y5 z2aIMOUxJ+w}jc;mSRuJEn!xj1~XhKIZihFCXgk}uub6_C%?Tb z$CDoPwWVmp7e=syZtt45hxU%xQu4RorZ`TgUo6D}GnuV}+3DpBKG&pqSk6V*l3tmI zW)uu_4961k$kYDj2lr!P6theo)^Y;IFiSG)Gp6xO5pzTyv)*YKN4w;4rRITl?#rVu zAA^0F3-Xv3&cpsLPp%d4+Z~%cTJs=GVhqf4t(k}9R>Bm=R98y6%V#>*7kR8&Z7Dgl zT^=j;!*DfYdmfsx@)wedR}Nxd`HYR$U!7G}KDC|#J5YW;(jI_ze<`04iDzJu&9Xl- z=QBDPm`Ho&Gdf*>L-{Kosca4@j&|25pO$(87TOTjc;vvzjgzo9ex6xjoLNQBx&uaV zzi$;iYX*!q{xI2no8mZ~`F$1nWXn42qYkW(KG)GYr(jd;hqHv}a2>t-PZ)+Bt|RAO zFoN?o++}60zK)zjVGQlH4*lC4641mtYV;YjXZY7qqwnBgYGnW=l3}=PL`3T0q^^~<1+VjclDX|B%_pjE|7iS5~1LISVOk4IwQVGYj3w z$w?>|-;SJxt}O0XGujtYRtIR;dxdUYTIklLh1k+nLgKK`LTB@Z*wrcgc6C~aMU_Ik zIxR#_Tb5m&a*aY=3R&-E!=>DnD`XCR1FmFNEkx#KQsmYQMOg1n{C2%pCTcC3VrY&PC*JFBj3_ z3Rv#^XRV(W4~2bsdh0SR?gy(o2C_c6jD#0qebx+|zvDdBW%7xJNm%A(^0EH2)=xh3 zU|;4?gKZpA!kF&`Wo+txETRQmLP&v&Q|QR~NkT31u0C`>v_A|f11XBR}n~QJ&_Q1ZqISL2U)9t>!%^}U@z%yd_C%QOiu@iR4 zr55asJa%uKv}zQoMj*p-$o>yx|3^LTLY{UZPu~jZWL6W-ju0G=f0TaJ!pwp^{R(Y~uelOmb0xmUby+DPw%ph3)31u>ZmI9MH0^HY$$S;+HKkmsi$&rd;~pMpF;rKZt>evl{KVN0_P+HsPTR`m2~ zb7gN+U>bn-sv@vN-Vj>|iDe)}iiUVdj<|6Yn$~^*C;-60V1Ik|Y?}l9O zs2S80zkON<^0W@jCG8C4+yz(Sf1jM!!%TY9`^daZ&2*M96A9Dt^8}5W>Fi;qeQE|j zPtCyD1}!5SaqLqwkf&xKPtB+gDDf_6?dJpZb6tICpP+#}I|Bo;$qy+d8S>l;kmp1o&xt^u6M;M@0@;y+JSU=NIjflE ztYQ{<&Q`OWZOkI(Z}{`fdvLjVU(Ln_Vxb)&XCq-0v?Jtf@BGIVTSn zmCk4Z~7^?C!&w%^hUd`tT-g1NN#$5_-txYGGo;ur8oUL z)5)3X7>nc(q=koGo7@VPTEXLd_ZM7X)`G|7XLE2 zAO7UH(tW!M|JRI=#W0(GJrDhFQuEMx3FPbq%%rExL(W2&;bwEtG6ttw=Ac(Eb7vP z5Uaf`>QWV29kNd-wV~By7X5K8wEE0qjItrCXcxPScpAOL)8FS)Bg+gMLXB3!Ea%T< zwJ@JvvkI;-AH$U{WR(k9O$hsYjHT@FImT1FMYO_nwTL`-L+-}HOe}d3TG|Y=T*$ZP z68>D)U5n_OzrtlUEv0+~SGw?3j0201^DAmwjri;VnrqPZqijm~6y{^$*_5>(X4p8i z*Jm)x`PuozzZg5urmUUNmX%HKVBeN{*^p&6H_BZMSGtf@NRmyt3snx~j)B!#f#)!e zt%Y^WMi@`b9Auaa^XUsY$nZPNz*cjp?;-dNvu6&LLmN|iFNU?IDM; z=nPy<$YOFXQH#lK59E1sm`UvxQzPr=^a5PzxC%)YyHvR{2Y)U$Qv=T9+g!@s2Xo8; znCC+BxpK+H9v1M6s+>lEoN|E+kn?*|ZHAm|ft+lCd92*Nw`W?^Qo?`5wyL4GJhWlS znJCDeZWvEX<&n<|FrPk~hx~uS3<-d9%@vqQ9rMVC{zffI;rD1M51s6U?7hKdTpi@0 z8Fs6wqm8r5rCm)(J`$F}Y^2IZw(D>?wz>@eHnkiXGSqU){RZ+Z0L*0ETaMnW|63b} zax>uyR`1Kn-}+Z^#kU+CKC4!sjnCBzN};b(%3_$qdT9mu(|;&ylKP2|oOw1ry%)GyunD@dmGZ3CcOPh(=P;DmW7pe&D&4PQ) zoA8kHA7y<~gl3+D7g*;Psf&yiMd~W!Sdpq=6;z}(wq2xs7;}oa12Pr*aV1rxD>362 zaUUcC*0%X0`8%qZQs%%-<}Fx^=8L(*(i847Pr<$J+XIwRj0`j3QP#A@s+4iQ7)d6< z^VmZ%^4Rzn899s971Iq~HBZ26%<09*HX2@MtSeR?N-yRfO}r}Bg3T9eMZJoVoH*JG znTxeII}*jz;sxl7LVsHdE&CN@ZxC_Eo7Oo_)~Ua~k@1_CQ~o zmOj21R`Q&Jl|A3XDxMtO}9w+Gw!1^STB9`u|Gxi1MTnb)B|*He?q$?4>o=!@acrUUa(|mNN41rDbQsEqsYCrjZ2oE{`QO1G&)Nvxb zfUWMQj^9E%^6aOM`D#CP%!EE%1?;D+*PtK!PW!22BJ^jUYCm<%fb^5@y3g)NwxCg9RQ!hHdbGW2u>pzYIMeqK-N6B^u$H*JoD@!YI;B&qAvT@ z5p4Au3_zbpu+{T05d9os9GIn!Q2H=f!qw#wO6&&@u*-CW)+~T0vH2t9xe;EVFCS5t zT*zhm{t?EvQSd4<9HH*yPr0wFBWNHO`q&U^Js#GkpB_P;*VIu;Tn@L8!%^z{5iFs% z9;K!m;a*0PqsXuc9-@yQMUrE%lu_a+wf-6&qwS7T_gr|Mwa`)R%dC17J)eU9^zoyV zwG{?27L~HvX#)e8NlRJtM8iN63G2`nrHq92RVi&f2X5lpuoT%Yz+$NeOW2JpMKeR; zUSudmwvXT;X0%ddvm{qo#)`cZ*&c)3e}@-LIK1T2UN*JyUooxVRpy0KMw?Es!nB0f zO-JZ4L!dGBR4Fq8`7k5&fZE1qM(6^)X`@nf+ZXzp7SPWG!b%zKv`vIhHuf#>u?Ku%Vp?f z7~F-$mZ6i6-~smJ%g~99d6XHv44vEy%j8aYjO+R`Z0QC(k8PKs8JojJY@iIC^oLjJ zBW36$8&`4fEzPa?Vr7(P0j>x;l=Q=E0+kRL9ZGWO#vb={Op&;T1@J zoZ5W@eQYXfG!6Q(r*xbeB|(3*ah%p%pvq~HMzENQUDJ)mby4) z=>HtL{TQC4Mb44)SMWT&`y5)`rp}Q+D=jp`e2Hd$gZ}9G0^v7c5aAcGr3)z)a%e}z%P!BW z$b3p&MFvJy(r#5(k-^f+d=(j(X-In=262^ojUIFZUS+Lyja0|fHOj(ISrxDnbJI0S zp>8^eD+t2SNd-CYRu$Co81!Q%tswsm(4RT9g8az~srJGkcmw}><-tnV!HdY_p+p-} z!Hn;r#9yGD(>;_p5!PnT@{pFb2qm6}6$YE8+$~yDE^9=}-32KZRyAiKD>oQqj%aUm z`#a>fT48mw2L_r$kY}c}H+gzsg}DHY*~=TZe9cMdXJeA*4(M+f7icdZSX*ksAj7zc z9ZrE4%nf+WvBJSiS5xm{St{0tYE+1iiN^WYUT7hW}mkg)|C^O^RebV4Y- z82Z{gDR(OLr=|R`f!(mS*$4xvT_ttdOomrX2E1l+V1@Y-8uPA3M)N83Gw;C4yv?K% z`FsVdn&q&jW1#ys$b6(LTU&xx&2P|3RT+6ULLajoRw8C)O5Xy5Xu+z)Jg%$q?Rn^H z-iLnFqAH~p7l8l?Rd24RhN zp|?el^{2jznx29_*!*48G!NF4J78^W?=DiU*Ma0b3Hq70p}+YCRyB{qAX>H#bv&o* zkV6IZrFH5Ma~||JYhhKB4(auf6{fC>wts^csbgKz7Q+f8uZtwxpbu757fC*VwQU?y zu>vO58h8b}3L+KPX{7oI8k4DmNXu0gX<5Z$Kli{&=0j-vT@Wq43)Y4q%zZz@P4t2g zc0cZg#S#X0nK$79vkD$E-@~JhrSydmRt~M;F>EP>-H&_VdD!V}vlBoo*cn-p= zp3Cr>=OV1|9ER6De?pJ(gT}K#hp=)WKG#Q=p!QsWUY>K%+v9;gMnPZC@6gZlE39PG za(%QBR`HZVf6sha)q@PIA1cF|wnVOvDqx_e5C&m&jnUW&XwX<=v~(R-qTL(Q%E7QU zJ-RWiT+AMXF5TC%#`7xs5z-Bi`*ryfH9Zq*@ZM^%#y@EmFN5?gQK@ks6V>b0W3) z`wr6FaYW=!%Dsy;cP$aAeIKtExDz)Ow@&1qINVB+d#m84;L1hr%MuA}D^iCv_v7kz z$7PB<5R4mxJ0=n|1V_3DLvW;f@CT9L8n`4JWe5K%QlC8Q?-Ob8xk$q_kw&q&6C#a? z*La~wlS(*bYg!u@FA^GxBcEpIs(Cw+7FBT*MOvndwBo1ETajmLWN-ZrZ`(uFZO}`b zb0T5rB-|T^Ty4kjI)XYPk^CLi0f#Q5b46mZMA{AI6)5XO9%>@;Fn`DL*%A3VXK=WN zw&;R>yKWZg#%K3Zksj!v$5h-Ik)A_DdQrDWk)yXSuAHMd`$hUz!mSkPH;&gaP+tEU zxJe=dsMElPypsBTk)+#jq)$2}GMMrnqfLkI5qbO_+-i~J037vBNfmj5@}7K8@U351X;!$5qT~IH&JA4 zoXGQGIPxAx`f*cmq_yq^zW>(~BI9YZ30WfP$dXR{bn5VuH||XwGEWS}{VMWuOA)@3 zNysp%NM!O6kyo1F#)`ZeFEZs$+%jCb$ZPFz)bEW?MBeOxJ0bE`y2w=GPhBVS_I)_= zfBU+~JAFmorHuCobMA`BG-R3{i=%C3knaq1IHQ!;fYib9-TNCvWJg zx>?k77J1HkM`SiS`iOi!qAfm7<8>WlMCO$6dXjk}pP}c^J`(wy^j{1W$*6@x&M(o+ zT=M-YN95}PBJ+ZHy+D>o))bNX$-M4~x_;Y9WFhGnBL5r;h!i3F)Goxc{61P_ ze@~GE4Mh$93+f32&AmsyX#(PP`UJ zM71Pct2j}u>*D(2ei7B?J{)C+RT32*j6;sL3q(cyOH?FrBC|wAQGRr795Tcti)x2l z?U1iM<#re+iZN9^Ox#B%ii+j?j!)nyvlB9PCQaunqT-H;>cX{I*VZ`l>_(dIg4-yn z2m0z6id!wJ7yd_)`BB=hH*)qSpLp6M{*b6XiK6<}64mb>+&iKYkRxHgsQ!faFA+5$ z4oCcf3Aj_D5|@Y?bQ|s!QAueyWEh-;yCiDJNE~uK_PMB`#2-rh$H^m^wn~{N>Iv%i zm-KcZaJNXmXX1V`M|J8|#fJfcSBiW=>UBcEr+;rL8LzGuU5 z3q*}U_A!~Fo~wZ)@3HN0=R`gKrl@fPM7@Cf7jec1h?-CZM|m%z({%LnQV8yK9CA-2 z@0UA>np73HPt;`oeuZ*hxxi~u(Ek+TPoYk)*An$cLmXwkSqFzM-aI1eE%JQpps1wC2?!;w_nw}(T2KmjHCF=bkTn?|&i4^q#<$TEZvnY4gzeLTZ9<%xT zqfWRzqCTF&%OWZ7ll`LRyu<5n>f>nFPp^skjL*-9ambj;Id7{1@i6j4oL$0b09<1 zLGn6yUDO}%i8_RQhpE$H;vPnCM@Hl3iaLtCN2w!Yuqs8DrN~$2i=z%@q%S)s>e%a| zj#Kstd7kG6N`J7uI>U=zoJT4ID;%ZTs zN<>{omsiO93VOWS6NjuUt>decUBcH_+J)zP~}9H;C(r#7)8# zi!#BuakyW39wihv5x1GMUHCckrqy-PIuZ8+FVqgfy@@-<>$?Zw@_4&WE!-5`Dbc=! z`R*6($1{3;a2e@+4wUDRQ>$qh&^1LG&hs<~Uh(n$`DgVx?IAp)`jOe=_ z6-=8SDE_pscSwa88c|)FmlwZg?j}@ z`SrWwkheh%9B~_zh;G;tS1h{G6SyU!Lntp~0&b(|#vO1AL^mOR6ZG8Vgy^Q^(UiJ{ zjuzc447X2o^XZ~n>=NCIvRXeSx()e;BU5;(=(hLa&|QS!l5o^5l5~-u;0}t8YKWsw zQG`dG5gi?eqb%0xI_4wXb^5pSbejlDc zdG3~<-646ICx?``Ej3l9-|{P-TfTnFueozj9!)^(G|*S+;k-Pk9e8!>Ej-THXOJ(>DU z+NdW-kL@{PRPyuB)$Q~6=;ykOeLQtU3b{ny476cQZw5w^RoFkG*1Z{=@Z^~1Mm#gR zZi~7aW1!GGK(*IMU|Gpe+al%ts;`xo= zVEb?WVVgJqdC~Gd*qI-uS(zu|{IRFou}$81g*DZXno^6W2Jhslz1lp7b`QV5avvw@ z>hO$lU7mCg;>kPSj)eAjYYeTyn>A<+`$h@gNr0^UzC10!uWxfIl3&H;DLMN~lrcQt z)LuGZ+Yi%nu{;6U3ESrP#Drg-lI}bO$uAx81Y~d8xDQVZa-y8J=9e~j!p#0g!eE|Y ze2nMK9;a1Oc=G#6>S$Yi1W#Q*O`D8DTh<<)b=n(C%Z;Na{tGLZATRR#;7g3pFUusJ z?R`aFl_~O?ye@CZoAQ=SmAB;`c~{<(Y4n~M^1jTJ59C9cC9~xt`B*;T%;2Z;nS3r^ z@a*B2GFQHmO!->o$v2$SozL^D-=fw<^z83=_HHpxTYk^eh)a3mE?<_(a`{14$d5|P zN=AXzJd3whewKAS>-CEi$ge!vv_XE8jk1ZkV+&6yZ6&X5JZrRFcF0cICA(#h?3I1; zyX=<(a!~$|h4PaeQ(kgT&hu2xMY$lC zo{za*j1pBNz!5J+H>8 z7u3Jhcr`)2$T|O)IOYGceIF$!{9jd5ID7v(=iT4r4Et2|HmA|;>G5ftUZw_A5aI?AKZCA%w2HqR&(c)`-AF)I;l>nKe-ck zntN<#?OiNo?@C>=cZj&h!<`m&UESbbieZ{o-2d?6PK6Kq{OrfG`&~u*>)Z70>~2?M z-?}>c$u)H?-c)&~-7nU6>wEOQ`aY)kI{JS0Z69FI^+6r1>*@Nsfo`Z9u_xJBH{tEO zp}LuFu3PAqx|MFN+vqSIuG{Je9jT*qw2sm3bbH-FKcpYlkLXz4QFqdvb)4>^yXtPb zyY8WT>R$R$-CM`&KDw{&rxSF4JwOlCiF%Mu(u4I7{g@uAAJ@q`ML(gR)KBSQdbl2; zN9w0_svaem^=SQ!PSeloG5R?@RzI)D=@<0B^msi%zo^soOM0SySx?fF^(*>SJw?B! zU)OKwH}zY3s(xF)qu1lepo}u5@GxZ1hLp@8+)*tDQ^(T6c{#1XaKi6OA4E?2^ zE2s5WI#YkG=jm^BmY&bshriVe^&*|EztcH-vCh@s>m_=r&eQpNnO?4c&@1$h`X{|o zuhOga8ogHktk>!F`WIcGf7OM0gZ@o#)SL8Xy+s%4t-4rm(EHE!eLx@7f9ON{us))X>QY^%kLlz3gg&WH=|6S3KCRE_v-+GquP^9}`jWn^ujs4# zny%2-^$qRO#!I}Em-hPqy0Wr1wXq{QUl)i5)OIGBB$H*b@2fTzWd|he_ITWm?T%;s zriKe>T1bo*x9#^l=Evk8rgW=rfz#gyRdtthPTfscG(ZQsU_lSgp$`KXf(;jN5AMU) z;6wO2d;>m$Z^F0W+wd`b2fhp6gYUy9@B{cE{0M#wKY^dZ&*10q3-~4c3Vsd0f#1UK z;P>zc_#-&rf(JeXFoH2mU)@EAUW zCvXK%;h*pfp2G{chJV3J_#D1~SDm;ii(Zqbjx&pTvwgBEi@cYRwPrUZUO%ivo8GM0 z7P-3ZC1i(-Ra&l^{U%dyhO47LSgeaWS*`HKGFXXgMXLm%tu>hld6F8V*7RcLRm>X` zuhM1^3&=o;+lyI^B5TD2th5oi*{E7hiV$(f{_$t7iy(g^JhvYt@?occdG>0;+6f%Sy? z=QO~1aww|0EDk#balQqWZ+lmqe8I_IQSya07gxI`-zH_V&yuFTC{82m8EGg0Xy*TP8ZE-)Vt=XZ^#Z`9u*GnPW&%U{I^HndPTXu(`N8W*6!e) zxZSMCx7A?QYN2L{xV>4di+YLDc6e1~Nwp)tIQsVUlL4};lRzI5o;zbZC%Xu{b&(g< z#X40bzOz(18qBi8F43-T=1(Vfe5g_ss0+{Inri!(cvR>j`)Z%IXAcF}CyfVJd$pxT zAEwy+J*KW^>daN0bRQ(RiHR=^dd$~(g;juj-4{FbIxS)M)8ueSaO3Q6*2&pt&DoRY z?DG_tuU2sOG=*ooqWe7E?h|;CG(A=WPj@LS@bk1viDnksEuK+ypBtKZkjOCD>LjCc z6r%I&xA|!AqlW5DS6$fE{W~|#kK+Cq2gMyu%7;D{Gxv3)a2WsbxAf5;$^ zTy7w^uAsSs<_el8Xr3tc42t84PEYVW(dh}YC&->4`-1EXvMKIHtle6^^NJgu)RDM<^VjaD>7U3P&g$;e__a zNYExnG{c2EhF7lZm|E8{T&`odT*q*^j^T10!{s_AAJ;MYxK7CYW^cHzaD_hAjXky; zPdJ{KIH3CDJRP$Mr&JemAA=c=xt#NtcC06)Cr=R4lP3rl+&&^ZbJ+6Uo-zK6HO;vH zjQh`GZoecu=l*lU7u4{rHf_Eh9=Uo2p>?JgO}@t8 z2UkU@);HP3S4~ml)BH6SskOCF^Y(sOsa27$`|8aKA1>I6Q2f|_r^=#g4ysIx(%uwJ zc?{Cm$^^qIePjHK3bAvERQn64iR?VhrBh!Tb+WWftb?lXaYxKEJ&v9e(K;QwUZBUz zbDib+<)%z->!#FAU6)eDCcIh4u0QgIcM9(;c!y1@>ipUJ9rQ?huBYb^EhBqTUsW~U z?Q69rXm5!RX?569Oih4(0b6Dp@P20zF>G(j)lEctuz;%98se5?WEz@L+(~HByeHVJW zdhTLOZE<#6C8Pj@=5V1g(A9dRRVzt?RuyT9Mtxjj?ea;op?ZUtLVOoYlk8mW5A|D| z!gE}QxHj{;r!v+4v^~gi#gThnHLG2Xw?~bI^Gnv%o5J(lk)0r3nO3(r4Md39+6R0U zDasmu;!d&wI=l9son+l4-)4#+JcjT_9P6FzdEV4cbA-ed-uCaJc6$E@3n6UICf1|r-$qVWgf@ydpLcgfQ>hEw{8_P0S4oD_2JPtJjAivf+?%?uN0!z}JH~otoIhXUqY3|7 zM|fx+=i_mQC(8D!t!c%}po2K+-kp25+! zEeT9x-^lR9G3=hv@#BuDr})a51D^ARb;3p?@hG&kU+~k3w=|-SWhonJ-ul4_{GaeKb6ojf5iL|^GD1dF@MDT z5%WjPA2EN#{1Nj<%pWm-#QYKS$IKryKiym6CEZ)lGJnkcG4sdFPxl&Z$NVw#$IKry r|B}m>T)s5rtZT`-mdmrv1~!`%KNo~JE2e&5$Q0o3mA_w)Mw^ZTF)34wFp_jO2d z7H?aJ3%rNVAE}u-ZqlxlV}lqo?Zo@><3`Sy%5?b0LhzOajhi^H=F}@6SL1yU6XNQ} zj~zM2_{E+cOlW%opXZLp4-9($1ib$e?-RyPnmISN>b?m~$TBjfpEzOc^vToO%(;gN zrI^#8&nHe9JyNXCO=80C@%Vh|q>*!{2F~SaOt|YU{C)i7k(0(w|8NY)`~NZ~^qM+l z#>~y*w$En5k?xE|otip*?9|d7ktIxc2CHWQOcdAh%}m4mG})SLtP;=kUA)A$2}}Gm z_#NNZekL3<^0`-=-}mj+Kc0D5{4bKWOfKWuy8Zkqe7281m)dF?;_WP+35;lsFQGtc z3-U^u2F5CDCykmlqxZ4*R1H!C`dR94Sub6r4d$qchYQ z?u>ROINLaLoW;(m&ZW+k&b7|<&TY;E&ZExb&WD_jI3II9;XLnr*7>6Ig7aQKhy`x*28 z=>5U_J-+|T`<3^+_et*w?{4o-?+))~??&%>?^^F-??UfP??mr-@0btY_;CC`aPsNv z@~X=_{*iup)jtyd;k-Qe%J*0PedWt5&tG}=vgyj%E8DJ2yfXUAs4F9`48Jnu%HS)5 zKB)U(-j&{0s;+dq;=26fdCL348GAqTa*xY-ms2j=FY7;e_Jc=0xaWhzjTahUX?(iz$;KxdA8UNL@p$7s zjfWd=Z@js2LF3%US&h>hr!q#_Gn(#)`&nj5T&_EN;wvukpQi-h2DK z$KHG7y@%gBdC|{2);s_seu?T&nYS{!fiA`ja*?u;K zO=DBpbT)&{Vl&xnHi!L-&1Li1Jhp%>Vhh=6c7QEmi`i1PjQyK^%N}9hvG3Ur>__$= z_FwiB`?&uRbAgLo;u@~yI_}5)c>oXOL0r!bJeV7~iHC4A59Jmf#;rV@ zNAO4<#iMx)L3=QeKV4t9wra3@dXE}q1bc?wVEZFm|_=NUYcx8+$po9A#h&*gbM zpBL~#Uc`%e32(_^@?AwI&I`lY z3HA_snk{EfvNdd{aGS7))eE-^dxd>$mvB%xB;3jF5bk1Ig?iy`;iz!0aG!9D?O~gQ zhlG>tVKGD;z|OLB;y@9yhimchu_-5QDcr!b_)wHITAiPNKwyyG5NtGsm_sdL*6@hP zsOXs3IA}6Qf-}*Tl$?^^XDi&0nx^ z(c&dbmn~nha@FcJYj3)F-TDn1H*Masb=xi5cig&j*Y4Z)+`f0;{sRXO9lqnvyXx;g za?jCw?>lz?1IHgc@zBXrryqXg(Z?P?^TgS6Pd;`2>1UpO?)ev9eCg#^F1-30yZA=K zo0r~t`<-{+YkdEM%UAvv5Bx74xCSr%FCO?`Jn+AG;D7PJ|1a@?rh)8ixs1IIoOn(_ zf$M=Jj{1H7jPF z*@wIV=&GEJ1#;TQF7u^q2%FBgumwO_vw@IbnWr`1TJz*!q> zMsZpjdYD2A=*fy_qt%Na7_Hwc&yC9S8}#hO<9j?B@pvPx&H1!8XVcm+PXJjlTo6Q& zg_YtfEKNa4eoTOMECMeT5NLv5LWDQL;W28o0+)0m(@27-)p3?l{9Z9VT3%$EY$g{T z1^n3p`5sNf0P(Ldjgi@<}ykKjrg=FiGJZ6z)+LG;&Z0H7s59mkR|5Mu^W5SS!t z8Ll2ENL=#w;~M(qloaFH)YOHg#o;L_sckd4Npy%Nv(Dk>cc)dS-NP}Mx4WFjpBGO2 z!WtSdVx4$Wn5sF7s|GTU#~tXW5hS>DbXv~D0Dnmo1!f5F7j#ZjSpqF5XocR>63R_RF0mBMDg{&!vn>wg;V?TyJlxsJBU{WiW4hVmm9CG!<+=3l z$~~1=D{rrQ^>fer|1IBBezkn`RnJw;HhIcA`L=a(HNT%8>-gApe2YAVZ}EO4-$wqW zjD51lM8(;Naya~&XgMskuZ-VzFaN=-4IKYP}AKE?Qz@hcEHm9{n8BAFeDu0)q9 z%o=711-DxqZoE%)XNTb@Ruf*kb8_=6TAkJsYBlHP<+^hcUHsd5e3|}`woA##*9-3} ztCjyf?~OSHDF^+{;ibFIblQC3{FwZnU(K6W)_>OR+T_U&dDG%fg<4tk*lONfH|2iI z#f$nSr5l&lRNIDx3vCM9j(_sl#fUAz>78brF7?`iN_)?%nUV%hD!O_}`vG_=82jtM zsqVmrc=C!v+T?^JgopSULs%Oj!H;n~#CSnuws`KagN+QHn56ue%;*>?G$trB$ziv} z2T2(j>G;aXpyjJ1FsGU`GBQe=e*ki1sYGztY1MhTR=cw5uUQii=Bn4=gGs&Z)clnkF1{ zvavLl&&GI4-1>l|knnI8An$tZ=z*J5?g5pujD}QWsM8dkpKgzjiw-pz zNZ4^kbONP7E9FHqxl%(@LrWKyhSPgu9j(snaDgvWYUSpEX+X1Vg@%w;xjdJ6#bF2I zgqaoo0U>kq#BUFYGk^YIX-(er+n$|0e#6<3oomNz-7cRk^9XYHnvCgh%D!r ztkJhmsovCIIC}1s{L;Qrj`D>Q?_Ym<%KY`^YljaSJZSxt+Xl%G%;)X9PU+Zv^oZ)b z0rJJt%pp@I?(RXxC>tf7)kAC z@Zk=*Qs@I&YGgK#5dxB|T!Y4_*VAi-R5(y1DwPwZ)d{B15GziVU^1F>`A1X7beXhe z&D6OA7H{jRX*l$xd{MseqilHZ_BY^taKg{f^(4)=5~Bn)k3wVk`~B`HW=C#bh$%;K zWrtZqOh!@r#584)X>$fF-r7s9Ja8V)jjSK}ckk|LkYAVImCwr$pTs45iED%>FouCu zdeS+mI6qQv{tWgy=K=mYEo47TcUs^L3Q%E%)+c4X=Fn7gC{7V^gD%giv+7(rSDq`+ z%FCDdzwLT|)3~L}#%+4v^|q$rld5^8Cn}zJqT)p9yeeG3=IWPHC-Ft-id;_`gfjCN zIhO+bxmE*b4|YjphQI((2oa%_Kn;JIC?v87&7{g=i_PRP!KZ7=Hc6f20h{Cjynd5l z-y{#@cWvT#%l$FRart$A6VOK>O9c-=i|V0*HEWX09mc;DItfc~sNy|V0Zu4lEd1O+|Dm%< z!6_^S%2;e}p_3dTEZMe=W(4A{!Hkr@gl30xOTrZBFG2e2{?Z9i%-1yFi}9=fx_U|I zjGYr%q$h|jPg_LaX-is}5AvyDnjAF^Pyh;_4Y>N6WY9d108lhb^q8$-{$@S%hhN4J z6(m`L^m<4|MHb>%D{@ekfhMC)s~l^SF%ML*#+!^bh(ME3$XYk?J7S-!_<&_nRqSuBwj3R1b4As{F^n%P6mf~3dqV|R>DholEn6p7Y0 z(`m6`skwQoq=(efX>~Ydxi*q#Mhys}lk`mmhW6<@R-QTEzt`+us~ir$6WT5ddDx4K z*UGQFyl8>p!Q&s#?zy`AYa~14|zzJo;+{xw#tfKw+MId<}q2jmX(!sE-hVnX42ral)CZHEFDl7@5~!= zq+!Xt&%a;Mr6j*^uT`sV2JZpOO3BK8>sc31Q4nCSM$`vtH71-C2`3!;PsotAA9_i^ zz6gNaEQn4#PP%g9v3bggC;Uay)#m2eCV(&;eG?b z6m&OoNvetyl=Ce5l$@&ih^EZ|fvE2=ix<3y^5<=PVa3|{>%Q7NebmV4huVF+&S4kSS+@clf;b^` zytA{ycni?+v61L~C?vD<#65TM*>62Mw=kj2oK+uuKfi}Hth8hMy3up)d{?en*ROk3 z|K;uHB$kzQle!Mgt(4!9zdAIlpnA;I=hp8zJ!}1n9WU_ciDL_LU-JGqtnbQoL&g+l z_glQIe=Y3|4g6>tQH>F|be^2}L-o9ALpg6hsF}=a4*` zTT0$>Q`bWs&*pY3Ex%`f)4w!FZ+*3KhkTE`;)9RZ9pJXlAaF(2UEzf1StLtgg{;cc zCR?vf4Rb{4LqnNXaB%Jj!f%o0Gvoyc89@QApzydLW4JLWKwyM}u7Qn;(z~9*3Uc;= zMg=f8pFM3WVb$X)wh+4c{ZDh(eD>*@xjzkac33$3sV8SI>?`k|*%4o}=(*F3m3;;b z=)Lr&KK=Xm69X6g@c80Qn-)L*!-AqV)r;<(HgV##`)XJ6w><6Z>e_oe?Q5oZJl?I9 zJy);pSy|b0&6=u8GAMgs_2yQNO4A1<=tGI4gixk(6c(>?R9s|oknu*20`6-OHN;V7 z5+d1IA!bEKs8E?;AMus|af2TxauT4h7+Q|T#1rPsPLpoCi?4a+F=D8>D=+^rzY+}9 z$unWhoV(uT``XWTm6eq5Sl_RrY5?yAhJx82dT>^L^_VHot-lQnwQ|P`@<$WL6uMuM zHWDi>?O!{x@6ru}#$b(Cz*HyUZy?J#)8o);G^CNCUIj(H>LhL;(~dMVgo}u+hJIEs z8x%fiS~F?elca4M8pI)rMSBJ4;k0tiVAk1_>+h!(^|*?L8(>S4*$U1i${7rR5iqUQ ztJ4cH*x!#VUZ3z%$02CJF$xUG7I?u=HwZq2A+>F2XgYii%)pimx%#z&lC&(r6Xx?o z7$islEuoNw}y`DA{Av zN&XyA%b(VPDPtKpbVMScEL@u|teCujF9czvPE9uPgC?7BanmMw-=?^aU4V*bP+IE`noH}^+!ty0uYM0IF zxQbt%I^o#3eYHbUvpUL+3V(E#8+Cgy=L&d{MtJi3hL&~@EsxbZLi8EBkfL&)!755@ z@shr@$RP%)2drmMhj4Rpkl8(`qC<&08J`k@gPlb(Cf#S7rUIM*mZ+ANYJFiL*&-QI zq-hjIPcmIugOLs%er(k`;$g@qx?yxUbDPhjdK_KKNhR}4kxWkfWy|5jj}kS#?|wME zBzaOzX_tw$4;{Gk<;S0yQuEH#?Kkh(_f^41U&!D7_^YcsblS8;&eSy2*4_QdFjw2L#~z%&Q0x^R-EQH6cCi6Lzbxp|b^5%u;KEVx z71V)i?JUC+8Em&|;^G)=7)H)6hyee%s3^Q@v1?NlEb;O+NJ6JI`FIZV%*z&RU^_At zZ1L7GP51M$J!;OqGkf*&!lA<^&pVls8h*Z$_XGLzk+)vG8*%pbo2w-4?yf_3-!EU0 zzr4G9TH2T){kD4VKlVOfz-N8($Sc!GR>2_F^abSuSU4;8q=Z{R^PoVGTaW^<1R`}v zoYo5MEa|m@;el`>wo(`lt`^A->S9)8&)A$qNrjd;I<}KSDG%6p>ePPuKk^bjqH$I` zYjj@WtVVgirs07X<*o9T7ayqK(R0L%wcB3lzJsLQX>h|oF{eP*-jm~}GjdHJGWXzS zGjdTR%T;kLXf+@q02y2@iZKT;15*=n6;4D|;V4qoWP|ytKKN{L+Apt30Zk{wbfI2m z^_qry*-`Hs@c>5jX9b=%S`EhW$B6K00y!&I4K$nq17I*{HH?9Qn{|%LUl1E)Br9X_ z*=L{^8jyEY?;X%G#vpLRQE)>l>*Fa-uxrBY!NClAAxRXHp(In1L3G88N(GM-7&pYm z1tuqjnngj&QpCU%e4LsB#sO=mDv}rYvl)IW!@IP^AS9RaLTEF{Gtw-(fDe2K!EJME zj?T?|Q+`YS?9nNCIjf%Jt9gfGBV(V68noctyX$%+XI52gn6&)$<;&#)F|_HUXTEx5 z%7NW?@u-)0>T^@?TvRz>W7V|fo1fmhy)1jx$|sZRY0r*;k6g;0wew_h5KpU^7UWof zav}?Zi3ajMXvsGYe-Lzb%U05USrrF3))=o;f4(GiOvvdKU<*eg=7v zC&Tzgj3%-;j~T?m3$p70XIt!g1qrCT!Z)5HX@lSA$T)mWti>w}EAgb7^ji4+EqX9F zWE2Yu1c`AW3ogVVQaFB&i-W5`bRUKxnky$X+XNr3f<)cfE$BT$JVwIDmScXbuf(WOcAq>~LR02^7NApp_Kbl5>gcosQaIM{pX{~q_#L7I` zL9h`th%p3U5x5$l8{Qe981N264GIk6{-O{B-wSPb^8o68(=u!h<=}8--^C}Mllz}Q z`)qUi4z zL{zjMo+M)>&g;K$Uaj!- z!lRR54+^)lAOZZ55~q!g3klKw+M`2`hIv1No&HAIoiOZACR{2Un8?WWf@ILQ zO0$qSKZ_wqlJtHoOn*I-k>XV3x+*{+)>OTzbtsZu(UE-a8KL&+ncIryeIvKw8#j0B zy6Yx+x-ieXM$<54#wQzwoT=|tK4SqA8i|r?6iP<0EY{nTo?(|9cB7He*~)5*un^=M zP9NN&_+3MCTtG}*nDX;5_|!=|UgI54H3N8>6~nMq^l5ZJUDuF1+qVsZj$3n0h$j3> z3c56nBi_3A9r=q#R)GFfo?Nw`hdsQatYmzh{OGBJy}ECnF#iK(7rJk%TQGm&Za(+H zT2TJbgP^>!2}k!o@PPdOEbhPk6pwmt*G6RvmTh=p_r?xc1xv7wGvL(8*o8>u1fD4i zjADWba^0DL-H60)LBB63*fVF;_4|TIVe`H; z3xH;bO(CQ(tHqJ%&ck|}_leXmUwB41_R`F?lb6h`)M#w(f3^|widM=N{?d*PJ$iK5 zA?FAyyo)pq18OfUy`!}4EoXO6PRJa&b@iIkj`am)t5=s5;M@VpNdLuI$bx>1kF{Gg z`m{8LI3MGY5jb21N1Vw&F1c-TWCUQM4`r*av({bW&Dsdq+N$xL6GdTVYt>^x=*#6y zFi~s+TWATDo<1R#kA8ONz@byt@>#p9`&O=(x5$e7#}DlWT@9F11f99x%%}vIjSvpR?fHl$HJ@ z6H{?g&R~xeJ64BHFp98cNu3b3AgQRBu%ziBw-oP~YG0~q1s-vW&~Qc$m9}Zpe!i$l zt5-DPeUKZ;xT=Nll*!(rVTi{`!$3^^o`NAA_!|las<7F-mnNJ!w&#Z*Z#!~kQr(?* z)=h`F`t+OCbLK4nP743!)5E8k}W!3@qYR;G8%7x5f=}Z{!NrZ^jtRu*9*d$9097tCwWgRQY5~{a9s@l8gt-= zA)u^i6#UnG|GHc+AAe0=-hfQf?yn%F)7&7v_=_9Ec9b5YhdQzbbp^nJ1s7sH*dz?tSlstz1} z#(VB_s0X2=lAA~mX3E(FJYkm~3 z!CnG>LaQm!a+M>=V{74npKdsAr8}FJi_3r6Bra<@t!X&=%aZzfX_dm8D-ijjtOp&- z@;H@fiX;Y;nj}|>4ugn7AR#vzlVU*Eg8?{$vjK1gcJZRTLesGAr+wRWYi^8~5RnLt z5nxdnObyqWvGXJO#|W7~)e0IJ>&}oX`O)Uts1u<8k02qOt{g$%Y%mdJLf6g4>;^zY zOe*8zMZQR`+@>A5?Z5MgnuCOcVh#MAimwFTZsL8PkK{()R~+3iP(|3O+ivB>8-M=K z2F=l?ABAz=U0Byed8f2rma&{@PpHT;uZbWLGhjM!mJ{JY^8LSL%W_Q(#!r(T<8N!e z#9vuGdUEzqh^3Vr^ao}zW9ZWhBxSNuwA8USikwK&eJ73EFc1ILm*HL zlmMeKT4XMspX_pmq0T58qJ*v*6Akk$(`?Wsgb6XxhOqo(YgnL|pcrUQSo}b(l!-vr z0x3>2IjkwP+$xlv76rq)w8}SfTL7-)y4^X7e;u#kvbLB)v$Hsy!3u`)`9-9zUD75e zhiV5OtvNh$@R`hMCu_R@d(OOoquLJBzI*1CA;Iz&X??e>DsDe@%=TJm?AT@IPLA9@ z-3IjD_G(qAC0w7Ko3?+*sBIOCw{P*T>&uUanl0v(i~&6dk93rzf*w;q57^ku%p8a* zWJK$OL-kTH@EkW`M?*x0NCJory=e{z;Nb!f1Q;X_ftfr6v~HiSq*!`u^v0ZRYIfN8 zB5xMQjh^EvM`pdbtZrUG#=_zU$A2(uH-Gb%s`B!xTW;;!qep+>>KE^C*Y%bK`{brW zmHi&RS-gMI%=_+}wP?|dBd4Y1qbTkhoE`%SA%zkrtI9}ag z_N$TpRuxGa(Tu>qvM*%wt8OOo{L!GSjtf>*4C+&L^Sh}>13S+A?)mvUS1)~Q)%Zop z2I2YPMOC9_zWL@iZD$zKkLc!4r8e1@Bi$yR!cx2P2Rddp_ zQ;l<_w(FV(iFd9$Ib&JCMqwgkzQDT5W#T)aoE_+GfG0myZ*}P7fG99tGDn$1V9x0?qVP8n%|fr)qoz812&FU=w#6J4Y{=$O;-1Jpal5Z$-Y_e< zLR$=F5L_(Y>l`TG)i|?Vz_GwK?PncWm7O+h{*eW1w#>bM><*9o#+FVVPp2)nA_Ur1 zYTLB<$_)9R>nkSqb`>6fE3b#MddptWKjN-+14qRyn)$%}GZ!tIcHg5@=mf%LE`A6u zx3UhN3{x1g-&7l)2SO%?1>uE!7@uh&3maPRZo9G%)%-O}`i@XskZnf*tc@IHVYSOc|`jrmZ- z#O+B`A|@)%)B#I?zE(=7$BE@5UhfSGCX|bYWFtQRh$wIk=)b^JPQd@rb(j{aw zzKbf%0$f|qOsuOXD2!^UW z1Az}y{SX3@1PweIP`mgMGCnw*XN1t;(IA&ypy=gAt)< z+aaFL_AuBVdOda^F*eFRE&Tl!Hv;Tfjq{Q2oNto=3vQ4 zS&WV0Nfasp9aYZ3b93evaw}C8YHik}*D}yGytH|5LGj@EwQDo;+YDQ~WB<{Dg1)uo zX-rDq@@Zn^4PM==Wy~A2xVV=bGA7f2cvicRSR~%a) zb~Dc_X-LHL%?l8J#rBxI63l6yIjpejnSO6U$>?=A51D+VbGw0adkw_g9vqz3&ByZ- z^ICYm8|1YGvk8X&hW8{w?+4aHM4cOA&BzrAqAbDR%7^he)kxzt=L8ZHk~f*`cp?4E z<@4q(`|^vW^XD)7d{WO@9_R8N-IqH(o`iN~QuTpb<$ue&4jkBp&D8EZu(!PSn|mgC zx^?qRy5snSc1{<`!zpr^l!2KMvZ(MO3r(gVmFld&p#^8Im%rJ4bN4>p*EEwC%{+E*3$}p%hAjUPa}Q%K=JQ#<_Ete8O6B9_L~iVODpx#wW3{ z0V@5)ACI_;hb&%JH$R`iQElD*MLXq`(Uog^BrWQqsB*bXD6Dkmmv#X_;?kk2zJvO1 zURFBshx=w0mHCu8M`a`vwqO-{*mN$52g062a8b+jaNE&&3kqyzP(>V4x=M@x6}i$N zxstX_#8$FpO^ywF*Y1gN?(8xT{P@&AwD<9xfmgg2Nk(+O`l@&oVPO6TJKk!>%Z<`%_j(Aax%@bu3U5eXX$;k{8m!FU_i^q-d zbjr&gaCk?De#>S)EsxZnFeG%?GPYB7j{*B1F7G{i=J7{f5VgHsS&7NLI@oO%m!qir z(*48x@hPKRU0rE?3p-m}X(gRk-8P`_J+zLPtFH)$L)*7T?`ne&?L^5IkK< z2F{1J-Cj4iebsic*y}$jFLS`~hfrY&P(_*_Gx?R@0~7EC^?fdaRtw#xdL)D{kH~Az zAy+B$EYQYn;#gW4xfiNy@W1N!APY0wY^MLxq;v1Qa!!8!vG-nn?e#a$irt!! zP0{qY*nu7x(}6WSk1>D8WP{3+)mZ~p8!doyzULK|*MxT=HJ)bJg&PvKHwRq$mr@0AO;_Jq!T|pTI z_eeQSkI_6zvHrU-5AyM+!vz89;HQJVBnrV4L{Qx!02F`O9U`vtE*Ew;?G%=Iv6nlW zygPP_d=m&BSI1+&uq1bd`W;$X>s-pu2siCA2D(+6f z9arH_Pw0P_;I4=pRy(`%pni!7nWa-T4Xb%UwY+{yb%~?Bd{tgwoxgh1V%~54Li2i4 zyMnE}->eROiE1yym(o?iLhx14E|Gr%Ag?c8!?Q_>i-07Mo#W*N3p5R?ucQbR2*+R9 z*+5Sx9upC62@M8&`Dp`W3kjoGsb7nFk8zekbu$v4N?}?4Eghr6N6k;?GL=(xR z1>htYbp86xZYw~fDI_mZ#F`zDD~d}2-fFOqLKjC-e2+ZguDgWX%J`8JW_Rr0+v&(` zH$$$Zwey*rd&;ninOOS9CGwH=3qv-T+7)h*kI>Q)jS`%aNnD1!TiDwXDLQ=$Qq72A zeD-!!B<2Q5q)2zDZc^Y-;i}c51ZyB|T#EfiS*TDdWF)$C#KRMLPDxGg-p?5egNK+V zYNLym7P`MFPOTNYh5JqGSe?5h(7b;_yQT3P5|+Y2C(+5(6zZyg@&l0f9Rfd2U&@^T z8wF_)AfprtL4p_t0{7)nP{9$%su6-sqCbr707(ec!|}#MeK2-V)aye`5=SkKMBy8d zm?Ai!F;Z%Y&I+MHaWI*!In{#91RLc(U7vD+>?d2p^?4W4*B9~CGVlG$yscQpK#w~% z$`l?IsLVc4`px7ITY@1f!D9KHB#;(xM^#No#efS+A$aRF!32tpK}9cCrE-C6jhw_A z=KWpw@pauQa@=*@65Z}ZXKv2*YtWR|b}t{FQ=+Yw^mHB<|K6w z)^7|9$U6TjDiW0Zj=L%Q;{jxUd_mbCV~6zL3Ud?)Sjn%@t$>CJX4RguUu9SThe6V- zc@~o5h^3k>(&vOEemmd7$BJabsYwtve236?T$^+uS9~I0Sa411h4ilc8qG+F>+1SK z=0}73I!0OaCW}?CHzRdj3G!M40|X!&#qZw|>mTsAC8r(5+c)wKWh--txd}%{=WX0IYNe-MH zB}$AlPf_Bw%nh$keru#SCp$AkBc^l7oz*rSF+MeLtj!9^bmvGsDM zS}KwWZsk_Hg8!|cGNnB#$N#Sem*tNeg!qQP5n>kn6|n)ephUW`b_RfSf~_P+X%q&mn~zO{%DF$+x%$7dEd} z35$LA-Jbi-Os_qBxNf@KiNsxVaBTHA6dXIymx5!OtXpR1NJn$(>y3YTw175`0`kPMpWBirTzbuR1|Odo1~IIr0~q&rxk)Z&D8o@;jB`& z%rop-YLyfe{Xs+r+*R7HxJYc_uOfxNO52qb6W#p>l;J+_RK)tw_7SALN0_;&AEy zE}O{@J^A#qI}Wb+o7CGQzx4Fekf<@nmd+|YJ2N%DSj>ydK&#&;ESR!GS?e)YMP7%p zza{brI1x*>rdt0$@a1o)@4tDzW1-~REbm~;XjSrmlg1NN5a5Dg=;K+fze49utS4LV z8PYwfv~yI!U*O!*0&pMb4~Auis)XY5gbpns-44YDG3YnLx+zLnR{^DJXcr*+SMgmH zbpKx;fARM)`rjn>=iO`TD!RFW;hnj;gyH`tsZZ5*?>648V*Es>+nta^7{65Rro>r` z*$7Wzy53=R=7vNCICy}VEAm`mc!Qome!dFw3-U=EWSQeEVcLTHlw=tD_yxEx{uJaR z9-@GJpQ)&#{Odq|Yk0N=aOnQi|U#m9s_XSr3~mkG8O2)2;kmm*bbt0^i*7~ zV2wXt1A}FJyc{jdRb|abf^5nGchRcEE8#Qi?9Z60~ zbc!vjNlrrdgWuW~b!Sqq@!J1+I2#T}MS=h6x~`miW;s;$AFgbrqM#w|)EzqQ!lk~o0Wa%Z$wCA=Na$U5Zgi$3OWc*Q4cEa?qkz$>pKQZ329cloUmY67Y^0w3Jx~XBc{` zQ0%rj=m>vkb3+%!<}{hf46ZwJGr@0P@b*!#I-<8f!gY7B_4){$QnK>jzCPs>O*j%w zyxDqvC9mk}w-}}!GB-u|q!1VMle7X>LH!5dU-GR372%LmC>dtdJw|`SY7|$KQskgS zXdNcBU?HZ$hyg0s_{Mx(?%!{3S@Q5jQ7LRW*|WY&U=QM7%&A?GO@C8)7a&Ev4bQ`lrruVhP9oW+S4 zs1vDqQBgJ~G>1ZAW7=(835b$Ylp7)ff&^Q*5M&YU@Xq;i0-7Tg*TqMh-ED9uw89uQ z5cON>0qEL6QH*O{44ZBYo(gkj$L(yh+~;fP&~|v=HtydHsA?W>MH?bhVyoa9imkdR zuGJb{gL$1*ZPycD$RVXBW|HGNP z5>yHBKQ(ili9ekA&B|%{OEXvHxk~k~6{@GOj-I4eswX8RBD0&PBqOV(h4v|`ByT1^ z#J9Qw@RVKG0pd?0-oDfJhiiF2HMssf{w)+Y%W!oyr+qw>N`9->^`s;xIyIC>n408D zfZSG@NlFSzOihtE1iZu(1qs~~6kb!}%D>^a`YZh9^H%-g>eeX-{?B(x+idlyYkOQ- zTP{|X?zXs6Ep65HwNOigr_Mq0@iclg&AbvDgS6XltHdJ|;zvgz`-$AS2;*x|#ez5$m`e@kx4LfO!u`W_H2bM< zjO)wL@9_=4v5Ym!@uu!gJCt4{NZ8s zzo5Eje!;Y!)l`FBcQpW2`dWC_ZLHGMF47W$s(q_y3qV&vG*?G31RRIO0y4pni!~dt zKO%b982l~BEal9mL7A)#^+W;wDEXt9ClwEYxd@V?mKf>W*a3=9VYYcFVWjSKPDEr8 zp|%Q(&pVGAUVo_Hsu6Dwobz=*UKe*XO8&Gecg=<+;)6|(n*a6KrJ(1Y3o6^es~WaH z6LI=fxV-hvkl>VB`9JqIAPIvb)A&`X3nI$}Y_6womOjO*_t(dVq_7adpGO*l{dK^( z*tZCQ+2RFmr7g_N-~|pl;{42z8OuWx>@JwPyhDcxGe_6BYqGA~*(GuJ`X_fz8`)1d5g>m%r%#{Q!J;s2Kw;J0 z>#AezrE6wJwXs&L?O!r?L1oWrv&M9Ma_P)2C6C?4i#l{zQd)5s@R$vfyGzuAtQ~q9 zO!t&I^-(%~K>>>r5spM4-DxSJ0H*a7yLgwvx>ip4-#Tk?9?!2$Iu+1^3Rg^>;2xBo)w8C@zdLv9KDK5{@z@Esj2S#^%-u;%w7i25NuOS<~ngUQEEsK8fU9iF<2PgPV*8mGLUSYClE zjgq%ZY1kDr>+Z=z#||aOgk%iLKTyvM+XWvngIVh*1jBMcz)GhL=YC3RAT|Mqkt`R~ zXR9d?=#l}#6DLv|C5K5zO&(PNku9aoT2a4Z&)CW~X=_%ZQ{0N5I%*&LsUsH``}OvW zshR%9hMVaeZ9?Bo^cX|#_CQZjvfb{d53vg&tSxWrj4(iN>ySCe5`rjo&X8t~)tJK~ zV#5^KtZyy@LC%0WD_=V+B()sL@Ugk}0K_!MlA8C7hCr*G%b z^ukbkx?pGi5lo=Y54QMFE{3yE@+?61LF4=c!=@W&Jh058WY?W)^IH`qrq&`!J2t@LI^^{6EC8Z`fY-Z3!56WsgeE7kew{p|tj}IGq_$FbOyjt8O%bokDC%RH6 z4=S=`bsX5MTl?khyLM^M&(D~7zW$N-AHxM^&UpH+$KE~j@VLH9&JLM7Z~4P}Z|~Ff z>{)I)efyq%T_93gsI1a>m?uxAu^}`}6BzY$f>B9#mE8#EJ$Vj4?nM1&EYpbwgq+00fQ@=xf2woGML8Lyrt7YUZz#?9mH zl81L{aS=p&(C6e`-ySv6+yN zB0k}L>%P~8vC>aoKjAfRh8WZ2d|Cd4pF|3i(w+o;N`zs;1uu2nDnV`WciI3{rzRrX zWUQwk#cqwW`&k9F=0&RoNml3Q97^4ZpS%}cj;W56P&_3^s(WDu@qqS;T~#f zaDa!MJKpnDM*J|f!NEJv?ycr7F=YD-A5dEZ@pRK?x4!qm<{rsu@4btg#Q0NT{hd#i zKUdW5(a+?c=-tEjcH?E@pcS`N&04npEup6Az^%&5PeF-nCTo_7#pqVt2KvI|vE@aE zW=2M*L`sgdptShtP-77GCnqx873r52A8z!c6=S)|O4UAdtr!U^5EECRjn5n7xq^Ul%y_ES+&w5Dpz=?Hf738{i?_I8b5DA>hb<}wy$z$ zO{{2t$7cf$x3A90p4hGZ9m2?Aal;1onz^!HC%hOMKWsqnnJfEt9u|LK!0^JnP8Ab| z_3uBdAg@!m3B$mfHCI2AI!R4RwpJNbNsvE>I8oBQm5vVASUy;BOD9)C1jyGy)lD!? zDh0t>+Kj2v1Zgxt$Y?j#+|iZSqw!cDwYw`>LEZ#39}`$U#+T*%~9MqV)0`KX7Js(UEPYjc~_c4?9g4at;_Y141INtnH!*B_*&X@~yK zD3CPN%MwcxG>Qml9R(H8O4~Da6s7eU#u0@L@_<9s{p=v*AWph86xG3Duz&lSO$^-- zAxm(6(L_!ofR95=Vi+A=rFsdL6lfY2N`8Jb+Fgbi1-}5%!b|})evk;`OPP;8$lnii z2Jsc7b(R7EB%H|Fvf#j@YFd%tZb&G2OYmR(k9>#^l@Fbe_wx~WxaA?o__#g`N|P>_+kcU87>uOl5@U$+@K=U_%emG%bAx=p_z-G^kU? z5#9WYle!-{(z#?HRlN<-hsT86bB|lj(|q5Wi{G@O4=fj!cJ+#Q1mOT1q*bZMkv2Fe z!4VppCZKH7ZnH8;kFphJNa|pWFzN6EnAmEw51%|j3opw4qJMC-D+e@0X?#f7O9c^O zR;B(zIhLw0qR=Z2D-QJHrJJ@bUVd|r!quN|oxHmH+?RXJs|_p3>3&OL;dH^=d)1Nw z{p_K=)BCJRc4?k17&JtF^1^<3@Az+r&w6D2k{5D%-c~W~t*&*ZEN{rN)hp|#bxqA% zK6fev?Q8N^nhTo$LR<9mbT&Xu>2VyVpPyDBppUoD61GV=z#2)T$M_P2m$?BN)moq!s`!r9YDu^E=<5jl6KH z9LhI(BX{E#5b`-~?_C=LWM zl|!~v&aZ7L=(2cT+}uQdo&=emKZK1DFh%_jAQ=z0ALqAjqyTF4Tn`(bEw zWG3uNhOp{RfMG1SO~w$?8{}pnmP9>ns5OKy4~a;-DX*e1IVm>M;0%fh2~WStT~Uyn z5))xe2#S+37N-Hlo+LpjEs+G+!2nn5eP3`c2WXL7tor*KL+ebe5FNQA|wJ9o91T> za9GhzPp}GbYGo&dTXldTwATne<5%$qYUYzK@d*TgL}>ANDT^O%CrN0C_S0GX3_7ZTU`PeK#`_1zv!Ml_1IWYX@FP@`&`aSo>+4}l@{RcnF1HQehnN*HH9UKBLV?qj6o8a*09h6>o6&wp1F51F?cQbX>!9*X2rp zHsW>tEZp4Z4AY5&=Da+24?0>5|8H&izyE2beiq+wzhOy5Q@7l^WMn08`nqXU&${y``((JyAsEGim>%97uR1E4`;C*%isTA1srU<=Osq{oIR$y>* zpdT_U6qrxtKIk4t^-20@v!Hw&YSvSg*ze(dfc$2le~nMjSGNjW4_}|!#~}}q0QCqc zP#-5kd}Q#vWuLviXkpo!QS+C5@$#D4Wmn~h{wp>e_CC!&?XzLiVR6;=59FVA9$36S zf7jM8s1A4as(ksf_ubJSJh@h0E4U_n@Dxh71@@HOQ7VLHpiZ=vo;>PAE20xE3vTX2 zi-jpYGtiNiI?Cy|_e8X_a2Is&iY-7f_=PxZMgho>iq0oL1RJ>P zy=b{z=|%frc?ds@S=0S~I(ytOfdRx&lmN4jeDko8N$dhS!c2rC7Z@DH{Z!!({R)7L zH37Dgd5;oIIIhV*Xhw>N*(73CKhZ6Jj>H%gM!==GR`Vj;@&`? zVi$*b%3|!{dc9vbS{30AIRY^=u#e)Tg9=sKU!dj|KSt>-mD8C}H-|n-fdSNDR`E8e zCOzS25C=l~8V-e3PrHiKo(HbX!!3bqw4pfSIw)VQPA5Jtdw05q=iJhxOR_yPe^;CR z|3pU~$KaY(-TD`orF0n;7AYRz)O7K+(Yfs`_u4-ddu(c`??1|Q(7AH)X5z^*wpntZ zLt6w%Hjk~XJ}yDu#;Vr@=tJ5hxsWv&V$h>B$dKfUiiEANcu$B_pc$-7-+vXdDxqR4 z=IaYPXqC8wB95R`tiSt-*ihLus>_I!4$JnGlnhMoUKrDBa_5HzbaAz-N>@MWv_$=+ zC|dcXYhp>Y7}>Sf)<3juN$0*@hb2zvmJnL}ALS=m#hv?>4^@7G`+p;Z#iaK&DCI$x zPKqZAz9w|IR`?0pMgbK{4 z-rH|aq9^|P$)E1I`|f*wQos2|-ShjS6554PiUE~@F`zQ=Z;#3?8h4({tx>-TlKgaI zqi|7qUi;9`%DCz`&<%HN*IAVNicoe_fhSW*YJ%O1GpNE_4VmGssZ9_NH>Ng`kBnNO z15Yatey%}WLjQeVbZpdW!WB5HR83g!Nx!BKGd%yW@3AH_L*Zp2U({c?i;QZJk`oHP zzCeLe9&aeOJ5FKn8%pf#@@qV!bw+)a8O5MxwlLaa2(g44450|nwKjP#F7lsePX-(}au*i9y+HJU@igs8A^0qzI% z#}EZ;n30E4_e%8JLMH){ihqGn1%}(68SHU^fl_i*s9A$PMKI`tcpgPUq5(|8EdID@ zwN#o%#SmZ&mswky*ES|P%o3#ac~n&&BZOv)?z#c05)M%k#(xK##y5A)BG?72qC}E7 z5Ub*76`x)vfA_D&bLK4m7q=|5M&0z<{mr0sQ2ndr_l8$4`c(eT``yG|=!~+Wdvj+L z@mrqXXZPKG)BNsuWA6?uDQNrNcbu`*yQ&$F;*NT?|ME3Ux%2ph5~oW(?E|Fz>W}<++n6J9xRYOr)^vgW;4op|S=3n{=f9xQl!et-}m0fFTD#@%ettQiOl#i{Vq!{dRr)0AaO zIE&0B#Sy36pTMHEW@}nr@%S^N2iIsu@{a0v@wHdx1Kt>pH2A(l4vfKk>aLp)u#Im% zGz}#rLKCC;0P3JbR-hSZMfB)^LsXCux1hO^Q}mkopv4X#syi3S;4QDloEbHwMjC}% zFe=|QM_*a6PMwbWozT`Q@ipE-nNPMS5vzy(7W5cYd8S7A2C$-EaiRtiVD2L z4Qp1e{WGqu_CZeqSik}_aC-vX`T_J1=ET*pBxPY}EJCZI&I0PGCi_fDi1n>&m2VXd zzEzM8sR91zBtDB*q&itCMrWwK@Xip&(cg;A0@81GAWA_Xgbf4yX1+AxhVhEQY-&jf8Ryh}AGy~xl zbp+6Zh4|C$YRvwE5XNtk=PZ%u@SEE6ayYC{!PBYrYK5PLpMPE>ED@G?mtj3h{|rRS zjEDz@v)P`0zuiNFZh@&0OB#hxuu5HBVmlu8FwRQLKZbdLtIFZXpp zB{#PQCWnN!25=7v$8tf0eCFu3Ac95#W5w}BkA5@GJ00LO1_#HXheL*|l3RF-6 zr=IE!yHsx;&GXu(seHbg3wBk1^^$1ASx|ays_cO+#~{~5HHCX-H;ta7If~Zt z;Bg6^sRrP0QjvGl*QR%c=mT8>xgqre#0M1u3bEjLWbH|*q861xv8fc546}d(Q)3VZ z!3dFUa0k#-`Ya|IH#NmaKww7PTFIGU5Xfgio1_#G{vYbz13s!M?H|AA-a9jCGbxjq zNlzw|-peEbLdYbc20}s!y?0PRx(JAXfJn0|h}cjNV|UR-WyQX`cEv5~y6*0~>aMHr zzHU*;Tz=o@oO@>`1ql25zrWAt?=A=gGv_?#oTq-D@53V)!%4v7pyZjSrV^SR)Xf&I z*3A~wD=F86f5p*A3bboxD4v@8nQ~9@mh?sYSlAmcHY{%#Kla)O3*=#C{*SQ1f0t<^ zT9|dz^;h5dQ*GqThfCyZ5)uoF*S~VdJG<_0OU`=f&Gk9isTu3FC6yz8HdC%%kDZ^C ze#8FGJ?1{nxZ$q&$x!zj-{nz!m#=z!7t#s3i_NWp{+7rlaMzlB73xisCP>6jn>bTq z0%{tU``S5MB8ce{lN7wVBng3`i6v6L7^I0ZGPIO0PDzyTaELq6WTXCag0Bh+MOmfU zvozLCuY2LSz}we5$%#jg)RY)iBk(v~i4-YbCh`o~6hf#d7ak|VyRNK?0s1}Y7kKH) z3haV<;K3yq2O>Es9{4uU8}TwV=X)e<9yaWh9D?*QF(DGZ5vOMYqYYBeoIHgW>v}G_ z=bCxIE7%_y7A;59f?FFd=M<2#Be>p84b_|mk{!``?+omuU266(G?J#r)F}BV>2)S;(_pC(g@sFASV34SGZq)XK{CgW7NYLW<@IWrX;s-x8Xz^!t zwfM#|jDN#Q#-01X@^{l0s5YfZ#NpY1{?b{}HNKHk;+x0DH`c}%R>pf0;=^L%rDnMh z8J9*6U<&vNj|M3tO)FBi(3Gz=&RbE|N%K zAi^Oi0REH|m|lnzU&5(#h!`a|L@6$acqON`4+DI2vM>A{*x=1mCQqKSdGq8cQ>Jce zsm4Do`1vw<`p(W@?^Im$=aajC^>X>)Zk6yZ=`+p_A(0Vy(FuZ;6{cPv)a4azQ zHPMmQ&_EdWj<7%Ew}iy$0ES#RREO#eL`jfyAQaY{`MQO_H}T$&Yr96grY!BPS6(6i zM{vDthp!b!$d;HW8%%V!i8@Fn#Kj`nj*29rIl=e>5FIVk(ihSfs&aD;poeUFe^|)0 z9sdibd4FLj^~<8mlFsQ#YX@(ScJH5^IIT z2n{sd*G32=lM>ZUY$}BrQM$~KO+(TLXdng!i2-;hqQaK|AR90y7$n$h=yj+L)ZBPM zRpfrViB0!>LJ4#HpL5qIIIBoK$~_n z96ppElBFB*Q=MfSWZ1J?QtHwzNllcLAfS>f2TO2)kUU_635Rz5Dc&t92wT~soF(WS z2HD8XcyEM6Y4Vl#(#y!Xw4nCTbscPG4E?b4HZ$%%r8hI`ANja`J3)pmS6UkRp3dLP z*frtD{asN<#~yjS5~Pv|8`k&bQmDc%zrl%mMv zi452_o&hVT{=s1GtF%OL5$QRv^0MwZub?Y?X}m<#N!aJ))`J{{*!QV7avguUVqe?& zzP!|-7u;7xNtukjc`M7y$bT0ZJ#S@2=mrCMJ#rJdwZnzHq=cT)oYQCSrJs>ny!YBm z$=uZo&2Ho|dp*VS5{71qz&=AaDKeM;@dhbl+~?hWM#I~|7kM;rmyvdq2@MJ(Y(r}ppc`f@An?cmiE-mR*TKVMO2ctj6OP8IJ1ZfuCbA6b zqEj+^{Lpv*!`Y+mC-$gE`Tf&Jt8`(HdQI?^iS=#A`clBD-o)3JghZ*}8P`_{FeYmI z#yZgmMoT5UevtPHg%QqpB{D;S6&p27qdhm23RS;jJs7XjMGt7NoL6rc-ax2aNBahJ z)V){yybK*xkO*>gM3 z9SQP>6~s<}DJB zyOO%Y4Ac+jZ{&C%>JejO+REIn(d|Us!nqkaaSNy!SE`(uh4U^FGfT7;Ob*Yg&&qFb ze7!~T_#7M+%AJ1PmhSmQI#BNAK>KVWRU;StS$lUQVE1n_ul6REz6J<@bnGt38Ox#_GO1lAO+Uyv~yxPMhv!OhM6CJr7te9K~A zLB+u3@l&12Wow$Rq*yu^Z)R2C%|OW-C0eY#doh@voJXm2)l{-aU*a97>PhAWaTol* zU6>;BmAV+GQYbCNj7zJU0!RmjFA#1+V#zLNJi;N$x8g)>R%DZHd9jHZv60D%)CEET z2U;fhSLqJpAAV-y7u;|GlUD%fN&(TX>yOToOCczStaxj3Yg_~dAe=goTt+2DAh&_} z`F!2w*}%JAm=XODbjG}cz)O@oIccJDRI?~n@DYA zcvMI~@neUFD>!(Gg}3vU+8;ZANoO#FeJu~+wG#gNh`!d)0~pF~ILkp@FholfRThk4 z8zS#QJ~JJjTy|8F!vUBDXZ=O&k&a3LT0#>N6Qy*(FGTkw?hN&VQhHJ-3FdGkA6diW zc3x%Dd2mUFsJ&S*AnqnhVfCF?UO9KME%ucFm1h-oAm-3&9Udf2>Hg4}Q|7eNNjeW4tW4Q9 zW9*2fx%O+!EPY$c=+!qqa)WjzYO`s|^og@yP~KU{szx+45BH2>p8AHh>#NESZMv0t zW=@*aaw}H8L>|hX#>%6lVxI>MsKB?=;bOrk^n|0uB1&r49S)uZr`nEQXM!|Ipg3n% z^~?Ckw!sdEbK++8$aK`Q64O#fbshwZPSv?znYZ!pAA=W@Cav==q)$nWM`1qFDW|2l zoMlueKq(#U^aPWkG$A#^P(lIA0JbsS5i6%5!w?&%M8`$Qm|cN*9bF)??F!obaSLRX z!v~QU1)LYNXs}YzTto#SESNuMf)E<(g-Svz4H}HVQjIKWEVdlnf%56P&N=JUftcfa z-;7b@zE5*E{8pN~33LuuGPpI%hJ<}vCLtF+mZlB&$ z&&!c_!58)j)m;<~*X7=s{JLE5&9P5=+#eZ;1j#f36-k?vfw{?zsVOl`&46}9 zLroQ+00DtPt^t(6yHA|BTl=^F)G0RS)7AB^qv`8H#YwS2<=KY>x! zTHG$ufGZW!_iRKIKX)#%kbC^6h6E(yJA7fDkU zWd*|&K>&qTJWc@BGiSo*GaC*!Z(+f0P@JdyFaL#|z)(X!58As_=_qX@=F$F*pJ0MC z%vVJd#!WHNaA5etLWi z{(kkk50`H8wu}kqLvVsn5B1AwZEY3(r=-rE)-vvnL+k#qPy6oHyYIdgppPZj4@(*Q z?uf#uq3daSRe_sTU?E{f2A=ZYy1@o3HDlOV!-nFJv!2Zm3I zFq@n-K2C~{f*|j=w~BOs@`k(3giz0kZd97vQ*1hc>N@!nrK#2!ht(V-!{Y+P92gWF z6K)c|tN>XW6(uL~x}b{p58WqvJH)G}l5A*$qa6-eHMxyWcoFBF+;hC<;f2>?bWc{V zqkAl?{r_rhA2I%sRr|F6?sa$%Y@w(ZRPuU(4b1C<2sDR+8g84I4FFgl*2=>M(O*ip zP&FAN0V1(Yj0C{@MMf_(P$_^z*PZ`gj`DZI^{MY8l*Fn8-|n59yL6zm z**CQhoTa!0wFAN#xOPGD9Aw(<52jrwXW9)+q7-!5*cGUjxB>d#;@7of&zHzcTI9b} zhUXCwnQ@M*_&FxRDplFyoK9zC7Z7AzEc&{-9wz+}4zznTXefRC9Ld8CIZJr6gab1I z_-0T_cAgE? zqw6TEoiliF;E3UxKw5epP`vAIL46GXy!vg3|F<0ZiV@z=UOM8PKmXIX3DY)Q!6W^( z!!IwDXUj+Zld+BEf5;2x`_A=0(JsXnJG$68`ejx51MNL<=-3=YdzBrh9M?XB=& zmP$T!E2g8Nq9JAqVrGV9tFtGo&SnCFFO;w7 zHk#I^ebsd|ZR(tXTuKG&2aGFl?F^YxTT!D=slDw6|L*bZ3B6w@Fr^lA(M?O>V`WM? zl!=PYbeYoAC6_FCb|D1>Z#eGo^km|6O~&uIt6-#}#B5TYi3&_d?>ZjDtwUm|jf;}i zrcqrdft)DCB#QkFRO^$GmA1Zt_3=*zec|F&jkw zP-L?Cv|8k?+)}nQ$d?_QSL?|nm5nVRE~72j6Nr^IIJuV876lQ;IYMWJ@_qC=y_OeZ zFFe6kdw?gzE-=Sd{#f_}LiXDs`+WGf#R1s^Pf7CUth%8mpcCtMJp_Fd0*l=DgWv?H zeK`yN@|Sqw`(mf@k&&Sn=kX2BBM<1;lHhsdWM;`Ylf2yQEV3(sQ_<;yyBREXD)U&_lYdGIGL0DrHu4>gC~>aF|kahW@qZJ zg*Id7=Yf{v1Uwov+TzPuJvYy=|~y`q~#*#!tQ640^@T2Ha#C?KES&6d2n!F=afD@j2s#*>VY%%?iMXMd_H*5*jhV7I;YOApjCV1f~0Q{4<;hiZcyPW~jQ0Pb25;p`J{n z39G9-7aC2@9)D}eSW8506(;drcu2XN{r=KDqvdf^sS@)4_pBA46tAwqDN-$Gk*_%` zGb|+&wH$N=I8ePowgv+aWlr0OV!WgvTZ4>Kl7y+bXt)RX#^%Z+IBq1x-^rAG0|XPP zXpw*8{oEqn>Du2}X(4V0?)bs=<1NTe7ePv^Dti=jzT3*S+T5)iiuJ^M0aAtR84z*;?WJS9m)%P$RQQ#xzJ5V={p_r87*4^h59=wW2EgE0;Ph~2eQ3HE*iW5JUo_8Csz1a{>(UAz z$ULD~idLf>UjL!|!Nq4G$P(Qz)9D+*mD-BF14I85aW z6)^olpN7uqA#)c9Vwb2nROFq1K@EKDY^s4HW*(OpD*s;w0%k1t3aL?htgScHNoK zQ{cXeA^(%TzXEa}d%l81!0X{aiYL&;h2%3OF8LLJX6EAKBpy0*K^eCRy!x}q6ZGTy zbb+rmP|;VAAt2N4NJdj-qTW;q(@v>NYB!W@DD}snPafS6q-V_v;z_&_h#B!9DuVFT zxR{YN(i4GX3;Er`bLbvaQ$r>FAmN833_7Q&5uHyfCHxSkZZfa|mzM|vI=tbr+DtVC z8G~Y}22)LkRa*07lQBx$ozL8|6W9a`R?ApAEgL)HuL4sKYf8}Bg-2qur6!|K&1$bH zNe6$i*_xec>Vu7^JjFIvJbE5er)8(eb-*-DamczMFw{=Jj@Pw z$c5;JxXd>uE7O#a867Q|f9Kg@WhqKH}sTJj=B}ABAsF%NOY3Y%rCB^x9 zbX~)x0tG10BGnpMfWMDQDX@4znUI6Yn|QmlDSL9wl#$`SNgU;50t25!)rM~I#DI-7GVxkZBrIPZnwT{vCY zdR@!F;;^?)i#&q&aQ0;F=%=d(MLZT+)Uf8>?Ultdt~$P9=Z#lBKL0kK_Th~~e7+$! z-afRxez<_=?drVx^Htgxdq!S9E_c9_zpiP?ZoBa?8f_Dg?w&j+b<^r69$&p_(~3u* zTfT`rJ8@T5;jRpjmit;u<7$G}rH0iM;jeVNF_jg?MZxQW)EBNxWrescVYn^DMO|(R z&u)sV(!;#R_Wize%V_ug-e@m%HTZqIKr=%<9dU~YO;|29AYyA7V9lwpmZZfw04*%R zs1Jt%gdwP$$}`=uYBX*VOcVzk$`YYAs_g|9aPwrklM)ejTC9T#qRXQb87lR};@Zm{ z;*$VF25NM3a)3U$)a&%muE0jQ=@M>L00gO>>ig9)Zq^vwtWs2uM+dK!ai2fp{OlDIL%44eZ*%SyZ}YjUpDgJ}aEmMljoECvBh>NxL zeZLf>Z~P}s#HCS)sluy#6MNnYZ)J&MEw3pqieNSRQd3YQM;2j7O+RmC z5v4$2p^yS0ig|9K2oTA$9|j)s5_FD2O^`+wr0-W{&s$5zS;CPL>C=trToK5N==a9F z6Ffm>l26*=o6_H!U2ZK-jf*eF6u5YWVV*&ZYQw#OSyHSfaM(rwxIjE3@S`~Nz*c3? zud8!sC?MV>1XyB1J}a{&BDJ|xd*K#ExjC-MfQWAKwgu>|aXX!`+&Fj6xw=lBGIQJ8pjv0pxYN@1r?X{Fp# z*(M+JPcohHZ;-eDSZLX<*DubY=}`F-R_Fqvae=RecxqWnLXzGY!6MNHoxsvklarLd z5H<`|!Qh-IreFXnXetu`L$XGBS%lLeGcPm<$RC)Clm~~e>3|31ji4HE=?O}WfhIUb zpf|8=oyZTr)LpO}j`uH{z3+xeOO6lmO(e!zi|{*)QS%;m}Px<-&kdp){sG@P}Z*1VR%62ksKPzyT1T;rM|AB=ds@PYLO(>VDR! zouVK6&vw!YsOr;CQ^19xE6N|S+H`a*4!1kQ&;sm=j#5Fwpdc@&r|M|LEaFH2MrA2I zO|qenn?YGas0X_ddT(x#fJM4)Qb4yDc1(wKySPM9& zK>gQS4<;PiS&t4II%;BEEm@ilu zTjpP`9YMCFM>8XZ|Kx%=3S*?|la4 z9&s)3Qxfk->HWLYW^?Gf14MY?@4n(V8>gA{9W3GB{oEJ$?yZ(pSY;fl&H0vs=;&y~ zC?FJ}lhl`wj(RH`g$o|B*hM#R4BK-0HvvDe{r)G%=jwYq9Q1bOb6;W&ZRnjb))3co z4Ma(7tf9+bPcV@RF&ZgHnudw2L=d2ZshGhv@Fp8w0uKjsZA{v!&19c(-Qx2Vn3B;W zgG>qU?}&}TA%GvzCIjFm5h)B(D0a?_2(OUyzVa0W`#nPPBAnn7nw#xi*}pWms;+MC zhGCN?zqois`GB~o_PK3Cmek`z@d1_ie3WrGQ_W=GAd!!PB7-?F@eGd3X#$%%IBM`$ z0G>^aj*~!60}Tr@as081avE?(;I@R+W1uSP2MXk$o`Nz6I4NnPFOJ+&R#95luOz#& zuK(<-8rvHm=IvVr>&m_LSmwO8hJ{1aa(3ibzrsqNgL1pUGA4N2Flu2}W*sTC_;uB=*~hQ(}q0&)c6xxqx=P5n}v5l&h?EVZV`n!KrMw~8Q9N{k%kTGC9_?c#hYs z;=-GD{NWC^=lHGr-HA!jtpkY@#b80vrv3Qs(iNtgCH;c1IFZJ(8EaI}%nAD~8HSa^bnd=s3Yg0tnO~ZpZ0m;ko;KAbpyFWO>iP5!jHZ;|ca|r+!B{*^P@%C8o zH)HY476-otWiQEssU^{hmBEQ5+9Nn+l1PBUaUsoNteoJd;;xX#8I-iX=KaTSxxt;7 zY-=4DPpiFe8vwBZ3Gd?23R$`jaRxDUMIt{w&o??U%mmtbhP(v`-DAP`50^=Qr@)M2 zX=d^}Y%ao^Dv?pt%z{56rY1@%<3_-oCB)mK6#SY;pM13(^9`lLeL`GoOpE~X+rv0@ znFt(mJ#5ygQ}UPp@*kEL{=xrU%$tjOaKM(!k^Xg-w#rWOJdD3d^TI!qTb!1{VF`(%~i=OD9(Vswl8@v1|*s zy&*9VbF%Ex-Yf04-oBz}rJ4`J3(A1e{Mp zJnk+F6XMw&0&$>wU|e;`hG@EJ`kaE!fU!OxzFCx6hIIs|Gp!A#h}0YzAl*(vZpOXn zDWhK2M5Z!SR5cweF=RQoH6g1BN-7-8fu#s=G0j0-8C=o8l?eyKpM~EU8AB$>-r)`l zGtGk;Ll(Fy`VEm?@4csA4gYfTIu2srhxxv_7Yv!xo1zD0IH?wdR>)d$FBo6Nhwvae z_|7Q&!1o`Fat#0G*b04b7(1Nz5`1r~)adh)s=$9Mg+-~rQ1D0|TS5Fw{jtCqD4-O_ zx5vlQgehJg=l%viUBdilJ52oETdHc{_swB5wR@GY&H+b`oKot4xa$Yad`zxeeb;LF ztoUU1BtAJ3ouUP#qWC9A&?jRjU>ODz7*s0uiqA9V-vk85dj)G8q(sGs74F=5e9M;O z%JjwC7W;GLEep0Skl!PnbqJAjAv8!h_BhPf4;!T9Lj09P^{7D=8PbR9O(uwLfH_Z z90sywL@O3Bo`wn$n{YyPP{xohFBhgE&VX4AiZtX624w61YtSD4SQwOV7wxs*e^U7` zREAwr7Uq$S?jq%k^d!Za>Pbw9fX|=;l)?ord?x%UT#;^)Mp+>%BRzrc3KBluH2lSc zZVD=r++L(VBwz%3J%SA(dPdye?Kp=R;O`o20M&`JK)VyXC!%o*y~R48mj&{_=tZU{ z8@S2YqM#cPxc2r-ya-B0A}H=nyq+sd;y!=FGi&hpL}o21K{oC*PpTog7ILf8BBErP z3725Py~e@!V-~as1&_*u2lP+fZzYq7Xo4fn^Y0Hie9W;6Un8_WVzz~@uVYGYQ zkU14Mrj-%ik4dNfhfH?F4B6=FsGy5HoholqT=*;lth;5z${gareJBb31Bvt; z`1B#k1;aLGYr}3)3gW6~Dh)GNOqz*YEzV_nUdw`!`#Tq}nUhrqFGVmwRpM?Hqn7Cl zWq>Lx4W}9#sF4i%Cv!<0=&c0b6=Y6a2q>u(7KE&rD*VJOKua^~{?Pcubr@Rk2ZS~z zH-{3oeI`fh2QHVs6I`*s31nb1B5Mb-bJ3Cq^PsT5L~B@#73`N10Ds{GGtbS!{xCZm zv7DL}g{~8pn?ts=_x&MfZUoN+qcJ!fc}7d89;aQ&C0}n{zkbWtf4%0atG4`wH=J&5 zF}THl?te#ZyZ3hO@7jTT?>&I0jDatQ(PXM~i9f)bOxai1fN?&n`1uS(rZ=~|pns60 zt3T^s0y9{JHh4f93o^`U8FBQRF0A{M_zKJ}=GW?y4yjw6z0c?6|FUbD{SppOF5VgJ z!xJa?2|vLKl0a@jY48wBS!otdtFQo=bsS@n8ebGezcCm(#SQHtfj%5#w|!smM766z z`{TyvUi^6Ff?#%2)nDN@{S{Urs>%%>a%BZhx5^vJ!v?;B?nG?*goXd~DUt(5Kl*&U z+F!^y(|LIM{w_g02h6ed7EBuNCa;FSDc)uw?K*g{`FS|e!UAy6K>v&93HoT>yJMWK zXsDv1Zpg0taI(a#M|-{Ck>0|$m(M-Wi#}F)fKEh&7kdi6{4)6RNw97C(k$Po$Yc~{ zP>svZLaa`+Ad+PjDkeV<89iu!I7TWQc>uxF!)Sk5DM{!Pk5r?qP6tLLO4-SX%n)}N zl^f(}j2gc_{SX8Uq;oNZ8@ku2&)`OXg5KoMI~8cl8&AoPy}A0jWt*=YZ8Ev5z9^Dw zYOmEC?9JPnT3VWJ)4c2!VpRfp4O;&vEq>>k2kOgjdGX+~tg_iR?bumA_*nnO9XlHP z%M&)GQAyplHxqYT3DW&6M-@Cfpbt)^jsQ;pcscxo|U5D+KE#zi&MxA zoC2stDoToTf@!}X*o(U%!e8yvkpw~rm^dl%u=r$MQR(gdZHZ0o3qG%DSUghxp=YEABfLLR{T|w_ z0w|_ozJjz&hsj!83`#9;C9B5tRm{)EZIW!B^w{w9e0W5a&7>2qqb&{;qRss!;} zunpGfGU@&!M~zmRMInfotI(Ae>ji27&I|m0CYpIo>592>fKjF!RGM*5cKd4q?om@qeMe*TPkySJ@= z|IDhFc22*#K6AyuNo%rax3Jh()@?Yw{MvA3tmyb1dhT7N1DdWBtS3W!`KeX_xr>XL zQ^wLkID|bT>cXDg7;a+EC(E1<{wZV2K`Yhkj^QsGE;DE1(koxsFGtPNjw^U0v$FMR zwQS(RS-v4P{U#l`t!cuR)vs!^txwysnr@swq^)JrJwF{WZtdzPPyRxCnl`GK$K_V! z_OC)*#r8TrymMn8982CRqX5L|YsVD8fS^#d;OE~NCMnADQ z?Qd|})yUvh1W(&rRzW9@(TEi!htM-8A@p+W7m-3Ak6ttx_x<$KMN*;9=RZR99y4i< z)~tRH9W+*2?5l6I)+FTS*^?t`qzENXVR`75lbR>Sz=$JhP$cmBs0!olf)U zL3Op2SswnkkdNihovuC~Pt74FbREbMFE!o)#UiF2bdnTGfr<`%k~M&h=jH$*eLgMV z=vc?eJ$}ATruH0ve zPT1ab&zfEpMqF3ba%j`!F_h~Vsx>Peu)!mxg}y-ptQCNE$0bKpum~knVVQt(3Av_1 zu27-K3P7%d>?Jw&VGgHxSanqiC93e3x{4K&rQoKIQVj|<3;2s(l}rGcPv!T3QZloD zq;OKt!RtauJ<~E>4cakFFUm*mrls0y50p13!x|=6cmw>OF}52r*@&L1=&hvO z{Se-w2m3slsj5=uY6&hkq`tQZ;WXYa&CKl3k#iP*i;$8z>D)z6&j|5{jm}(oo`W!;24VBobIN=Zh5Dg+EVbP`r+DYUW} zR??e34sJZBiV%yyG@wiu8)z+KV^iI(*6|?ytz9%7Vp!7%F{HZ_MohcursI!4p4+c9 zv!yPfc!3Jeo`M$w;zntluQ4hjOeQv1 zjN2jDLSzK$UZS*4<0GgN4)S7vGXRJKzadq7sq#+MeniYD((%lyQG_x;8R(97=zUi5 znN$3*67)Jk@sA(S83q0FlymRNH<=d$nUg7P@Xa(kBO~Pmw_Q$#PFC!ag3>eE@^N4c zY{QxE2u3rPjqyu__QI&gI7I)TSaV4j@~MC?$i{IdnQ5s`+KmLFQNUplFAJVg!D(K= z$4w)3SE^&ALPZ`ph!9vwl}8SHBDY^zW^3KN%Wk~!__AQA1@ZRF3)>$(ahxu1xt|dr z;wEy5<84L5pC3RF=okgu@Br?jp%RrmAfpj>5FUo)jT$GmN=0H+qM~sy5Hpp_x^}MW zQ;m4%ByhR1OM8|L7mot}e)g2oe;2##*fH(aU7fFE1*zxWm&5TEQl+K7_7o?D)`>V) z3RJ0hjKpkYxMEFkg;`v{ViRcH>7e6AW*s0Lj^2t#ULE*sOgV%+ft8|pOQ=CZyx59Z zoPg%&V&&*9PNpSfSrxe04&!pm;bUs&UAAcxWckDshYmrsSKMHmI8KgV`jEJ^4=vSd z`sL!z3Xb@8+>t!wdxqu~B&HU4I8%ILVmfM~qC|t;cw9~yFEPLupOJ3x#peSn6_w8- zfRe}=>3bze* zmpInOPHifi)sFe6I${6T@6?2|Umh7ddUX4}raJh1S8Oq>KnTJ_-i{23_DAp^jjCfc-^r6^D|5#7>4wj*nE_k>R-bMmmAQ)NlpE zz6cO0wu!Km9}ZM;sB7p3uYs8(0-}<{YK1AxWHSWQilE(&i4|!rR}>**xzX2ovYf9aJ=)`FTdTf zZe5ora3WBC2uS@CNIe_%`j(`)OfLA$Ojq#wqXz>9J4Enl_;qRm-G0}l+ML(l^xMeGmX8RiQlT$p&&Tcn9#c3Q+QC4D3Rz^l* zMk4f=5_;OIJ_V^H7nWG2%2TQoZ_sc+$^^{ z$(=-p*yA0AsISm1gO2bOdP)~Q$Ma2d=y9T2d-w4Uy`1T||I@vf|1F;VwMKv}AjX8p}N$Tt7huk(vUJQL$w? zEf#>ilH-8#HnUWMKVTq%01d!fN@+?1LPvyN56XXy25Fjr!2>V z*$$?QB21pihxax*%b93Nwk66oB#bgrq0srx9PxoR2@HTGXIMo8Ba+5(ae3*WQNsyk zqyroQSAsW50QZ4ya{EN|^x}wm>@YUiE1`D|U{GvtE`##%un8l4g#+TkE7L|cZ+W!@ z&cfcQhOSBu%O|Ium{ z1rNiHnLq$9>urxqPyhDq)7sCU|KzRr-v8*u&bLG=R%z}$p_X^Ppfu4B_JYB8n2dFf zfKP+NILe? z(xJY7%!2V5V2z^sF;oZd3#E97;^J^X#dS0(X0_t#LXRR`63|B~6oI{h2h0v?V60*^ z;sQ072RpYaThH!Swsbx#x0CWSo#{Bc`Peaa`!O9wS`YX5DD<|#vi8T(;FW|~Fo8e; z5W4#!&=n{kt(UL}Ww(E;e6aHld5ixzdzTiWmfz9ozwMyHZe!1hYKD-+7`}?JzDANn zRHTXF-UP&oEiqx*Ya@wVY7-$m~praCV`MOGbT%Zizr^wh6RmkDC$%Zt8a>h}pcr zNl_&=a9?z=W*6aX6k01NAp@%^B=ij=LY;Zzay*$1mW@%=+t-y;c#_sA5AHs(Y6}gZMz4nlnsGqb z0nVB3!tZjy#xgX`9h=~ejEv06kz-?X4E}VQ6-9KZD2U@%Tra6u6e^N#TQaJD0JS+V zfvqDDE)f>{$t03ce8#x-tYN2 z*vE}!?c*ui3w%whd*BFnQ(2MClI4`!$B!GEnqsy#4YVmyP9op;DgXmQe2^nAoJ0Ew zM;>|Mm>2EvcZr3Y{)GrMn5Upa{f}AMl?%!B5;@xci1?^^B*jPB)jU4Bn&f_oOzqF~ z3?|qPs)8dU4gcpLYzxi!b-~x07Ke@+FM<8NEX*F`r5+44bE`Cd2^kUC5(pECO>&Xw zF2X1(;TFYZLF-=}ftk?mMJ*a2PUjtIusrbo;4z_rfKt_g?my~OqMIm~*xbB%1CSsx zN6OFqzkc+6dA|CCKTLklU#g^bX1}HVS+VjfcS36xd~BL@Or9aX<1aU5(_U0mQr3tJUOBXgu6i5{e9OK?RDyJyNGoYS1CnX;l zGG*OcS00)@_0-Jo7mxV+7xoTw(~56d*o?f|D{g!QbZ(4j-=-dYZ$w8z%hi8g`(l-K z7MR|5)HW=ev3dS{S?fRk;IRqCmT;2iQ|lK`9CypxWAa?#6?G+dpSpSE)yMkhi~!Bs zhc}Mj{i`k0Z=W*8&bI1|@2%5Dw=}T4we6e0|E6putE@_O=pX(LcPJSwIOSl|U*{WE zkm*X#40Fk0=#cWlI57}*69OL%nIQCquz@&0`*j7Y!sU`|Wf`&A88VgI`CkLHgbaWz ziNSY)>34z3JAb--s!Sn`z~iwwhS}#3c$b4oX!0E#HcT<$h-FMMWI}uhj~L@3C5!{z zwm%-)aK-8E_cG_{C&xTfnlXcZcaQel*AKU`TqW+-UwpQIbbhh&Z0A?EfAZN4E&0X% zf05We`Ir^3@YheY)jasph&O5nJ@=LN1O4u&k2JGJWy-c&TGwpZ^J{rQ=e@V{Uw)~) zfJ>@M+2>wX2b#l>pGigLDPOwMH_UB~O|+V0sfQ~*kMtgjSXjF~G7QX)TvRmkP+$uo ztE?hxN)f^V%AlIbeAa9b8(TZ=sBL8 zx_--7?{C`JxO2``TmJgi&b5u_w8V+q_8;-T%Dx=GcmEMKmPDd#zx6Zihdb`QdQZOt zH~p31&pWpF(|+&&cN%e&QW0(~d_k!+P@0X2UjcklznTig zT2)(K7Qt#Uc&3&lgiJLgB%n(83YSn^IXHpJfQ1~`uZE^Q>jDx6@B;D)feBm)yA&dv zODGoG4YBmKTzvNTfvOhjh`2RWF}9#5z0FsTzDvvjvWJI7FuPt)l!5rCq`fRA(eqYS z9!J6oVX|fz!5v`&;M)o3U${qshE-lf3`IHWr9}TkW8Egbm>7g(;;d4E$D~>p)f3nG zrtx}WXbsUROPtUr*$n~$<_;7SGu>T_iL&!jiiudY@LhP8i}hMd?9$pJhlkb@*BEVW zYI%=ZqPU5i#rr>;%?q!&gFR%fh0mMkOC??teU>Fg(BXRG2Yd_klETpjo(wErz9Gox-OdW`Z4WK#tdaz^K=ZQ1&QNjOFjhJL3b`}ZD_jGVoVPmQ#9MQd(nIa`G zYT%Gx2uT(uj8lFLw-_6;S-lKW1`m;fEI=&4;oYf^^+cGc(+Ax>u|pKjSDby1^X?Y^ zsL}R9Ib4hR-eg1#lIb~pg;RYa`3hAt5_4Yk*$^&(SF~mLs+{f16uLIt5UdS*$S1Zh z{G`$C~ySg<^Fgl!lHp!<{yh5LhUc~d7@FCK1VtC zHvFuwU^A(!s}k{aWw4tBh}H5kwFKTmX^GJ?6jxCmr=ZEiTv}G@rJk=!^n4KurHBN1 z+5>@4(0^i=)IpTZ7pgd!>*Tc!b;4`<%gL>cbsJW^xc%^_H^6He+p=%ThToI_bY$Pz zkN9@_-czz)Kl>(0GEanb!+;$bkGuvvL*x>{l)(i|j|-2@WDqg{ZG(wZz!5;?Ry1?t z_UaP1@g%ee0- zO~}XuFDR&Vi_`+9 z>W`#Ife%n}h+AC8uAer)X!D8JSmCc9VV=!J^QW=v{ZAepwR!#azaHQ4>gJKh{3B?u z$70X8E7}hbQgTUekVfWZ^u}BakT6a|C<( z2edQYed-yR=NlhxM#i7y9}x+v9q2+LCjq7-g8J*Bk%$Zv#*sgXXj{0Nuf%Yag#J9B zs_{Z&2rofj#UmFr10zj`cS2|-7&bglLu>EtI8MvwYMWC3A*x&MqPc5*Su}01hsvf{ zw)b3$@wrf&0qxvPFLzCYKo<8QEb7FajX{ko4_)`Zu-IIbu)Guod0A{mI=4qiF~^X_ zf;q$miE?F_b2C!oVt|c;hK- z)EXyDz{RIW#@ES5eUr-f+^wAM^uu){pd9BOGcD&D(<~MHlHiPC);j-wWU)vd-R7-} zgd2_?YB^kXC&*LYl4tpAwb9C4-X;FGv(J$Y1Wahn;naB6USBRKKK3^)6Q{e>D ztD$+-U_O=h#yKzby;b(Gd^*cz4`bJb+ERBk=q3m4T#(T+l*y8EL!)4CzJZnlbE4=X z&dZER$y8Buz!3p71L0v^wvvp9%nWCQTv;blq63nA{^8&5tQS^uE|!>onU6biG|LE;USEv{$s0J+8Luf(&J&Zj&&$VRzV6VE)TIdRX*oDO{F zD13XXOk`^iG4XX_c-Me1hYdun)-cJ5a4Pi4kl_m)0skan_sm8wENmRR@|3*z)zvrG zuK$+iUEk0={J<`4rM%w1({yIqsz2|YcIsI32pV^dog%%W-h~xKO2d8q6xA$;$+9_I zVd0XD+&2vtfeJ@i6@Qi70(h9%vqFR?R7d4CRagp9P35sGT?|I|g08<~syxX5iki~- zd%42@lG65o+$Q%wdd&ZZ|EXj2=>{^_B9-|(l(q2cOhY_lp{pNUK!}*`V5lkOd&kG< zNeLqrLEn{E+_9%H-0*z8)=t+~FR>F{8TW|knf0WM4L)P~2<{ArRMbON^=!Qi}@V*I%h%h`SBQ80^5@)qY?hN#qTJy;xPInP75Do;w z5Zy#jTxhC-%OZxHW`iiwNiMBqawt3jj(n7zn2ot-BftN^>YGLm+HsJ@pE|LLG3{5{ zKToY4{p8qXCr+(wn=#>u*7)Zl8phso)q&6N`bq4`lM&5#0A|sty={9=JseT7{GSic z-WIJ4>U=5OJMf{6|6E=H*#QG$D(Cm1zt2rr1Ql#qLLU(%A)w7Ei9tP3!GA*JCUmV3 zU4|U{wYEf?{{#aBZsfw4;{I2Hxav*2|jj9rP36 zIGVJ7Zq+)+xJ=rgSyI&POW&LQJpJi+ll~pA+G*|ZdvFIR0ve6AQ~c8-?&%uzSfJDM zBqcP&p+}^bB?a9GRo(g?+VsD8P}Apd2Dcj68u0zK>UP5Ct0d+xlLD_0P8FRzE;Ts_ zkrCw#c=~c=9_S${s<0RM3xT&r@~Q|W(~376 zg-BtBZ-oAC3FdB6kf1(^l0U~$ucN1pKi^|Q<^Rir~7UhbN2Hp^*>XF3^?I>03 z9(wr#>Bb8>(DyF8LSYR8Tfrk+t>SXnR@L-d|K*@wv_S071 z*kw0P8Mdf>>1B6o9TXd?mHzMjXISgDwuc|N_uG5-Y;7I9d-xVs_Rt3_ zr@y6Ylyn5Q^ttzx1K4#1rWasZN`W;a+!~uf#EjG$t5)Ku%gZr`O3jW^(4~d}tx$U~ zVkJc>rXoj8H9BjRoNP=5vq}jm4iqV<(xmp|{cJn~@yaWd`QvT?-TbLSMHs%v}0)9q_yKK;v6098h*&-Pc5GdZuPTH^#MZpc?S-i;eSHUCCd`nEm(i- zL1gMmc%}|EmfKk@8&6HoO9XQf-BNWF9O5+vGZ1>_fhQe!%31|3`90-hy>Ka%KE|*E$Wc|1C_>K|eVv+lfRfcq8XP6ZhZG4YnjN}dZw}?ALGU=yl%gEK zze3X}+dIyMtsXR?ah7RbFjp>14bU2|pmvpr><4=5bFATMR=b@N$w>*iu1M5lMO$W(73gHJ zJQ}u@%DuW)2zeE{Qs|-;u&EwuK|S&MndhMp20S?9)wP!o@GhHi<=Dgh2G(+wuyEVR z+6lwwEVw(U48}}(?4ED#*}J7}aC5`3t)vd#8MA25vg2>BocSI!!F^hzS`Itsgf5us z8&K@DBw{BroEpX|vOI2=!wQp)W5nN3Z23izsYTJ&=tvLUTnuesME8fo3_N-xgTo85 z0sbZ;!{y)re&gdUs@@G08!M{+BBe*!J?;dN7BoBVODfnrf8)z5=RC^f9UEWkSTXnR zTgH!=IA&vZ(Z&jI{m{WnHrJ*&v_{hlPql0wRB`2^1HYKLP<#K++c(V6?DE|!XHU5C zPl@;3}Qlmf={tk@or4KpPSdsG4SKwMz8prlAC z7VHr}$fMIu4xR{ZAaoiT9qtg}Ur%ZaPa~91JFTtN8rkpE*v>yGDQCacG9lykbMLC@ z@PnLE0kYav8P;e3G>|@V!J6P-;PzFWqJkmWvWp^BpD0t?^}V9ih@-E_xa+q@ZfXg^ZH``$a?3oO_(aQBGC|1H?QmOb#q<%6gu%P$x0N|9EEi!qjPQ6Xt%t11g&lI#7 zP**Xmx~4-u{m1>^FH9eF#mp-P%y2h7mSC-qi>)3!<>s+-OUqd9`t7E=JMOrqL;Fbk z{G~cO;1N-&rPqwu_>%_rk&z|w_84=RHK%m`qAhGGYuY}RcEN2MPALJ}s+?Ok!=k~Q z(Mgas>t@2Z8&3UjMuY|m`HNbwo^}i5eZ5#LSSad`k1_oNxU4jw1j~IX9&2P0N*b~x z<)#-f48R0DL$c+jJK|%IQlOxuD`_7&O@L=1rlpB=GR6qU*?HN3s}Chk&;{7#{(o6B z#vWhVf3@cSZgv0C;w3J*-JIlUI&!4RlN_eHn_hl@V3K0`#}n&sI{4Giw13U{`OoLF zh(EB3y=;_!#@)9M+qrYt?TEvEx8$8~=0h1mUfj+?hbR&pGpF5|z8L^ib$#Z*)-!Q~Ba8+^PG_#TR$>H^4&GM!#>lHo;=@(InWk<#%n z3Vte?o4xXT?K<|8_qBr$b#%y=vsbk}{w8_QQEf3k2%lMmkoF_oV2f1fO8`^=ca_7^ zaa$?v(KYB3%cgZR&Ns%2*vezi$=NSxzt{e%+SyA#7Ao$}&*=N!kC*WSJ|Y1~g@H7Q zMoysCT3Nwpa+!>su<|GnqpK2?0TncpsCb~7N>wXlLa<+Wm4WL8orVpMo zk476Mm|R*q4%Sr9zkbo^;~m55CtN+gD2p7ETifzR-LJaBg9$wtC!=J@rKBSu7+ezg zgYS zC*~}AZpoOE?CL`Iq}gk39ndiE@dZOxuX%XV$egSLM<$iexSy0rQQ8#)S6y{`k$d!@ zQS~d59r59jw&IG*H=L9F?X`JfVUfO?sqHgvd8RzEWYV^WsGnp!UTr!w39;WH`xj)s z(^(9OY`*Usd>vf5iF=ke^IUvc|+vxfH)sAlV4HD6b$7{o@=3S1MQ&dCf=< zCm0Ac`DNfC6d;0-d6ysxx>Bf1MSghpyssW0a?^o|GvH6xy(EbUz zZ-jSq9P5sU+vWaVQdZ$SL#7O z20O9n0V6^8MEy@a{&ihS896XpuG)0%A0}V@;j%I0!w9m{HuMfO`Ig^JM5W}qSnjwl zeRIHfS^D6Um+z9;xsRbAMngaFJS8Q9(ZUa`1r`XO3yP6@eu$jtsfOe}sN{#*BOWM* z5De1pQdVh)lmmC%(YX-+C6A2oJ(GcxDBv+sFb>j#o?w8(2WeC9A2+b1f+$X=5cxs@ zO|K!$`QsLP8PHtnr#PW(WCCaT20;z8;vA=yr!*vx$&yKsm@5j?Snzig8eB)YeruU039Mbn`uJLuL+rW&ia2$>^W#eY#ReCy7 zCu?_hXkV=;&+JHXZ&?9LHZ;tgRkUuSJlg+A$H*^owZ-iA^cx24*&~nhKY8oG;lm>p z6f>Cg6Vyd_WBtXLi&K~9OffqhDcC0~PQV^$8~C3m6Km$CE~+RNnIairFl#L0^$b`+ z{&b4*w45zR17mh|gMF zlU3nN|L*6XY@D)Z>ZbB+ck{;GQ?B~t=ie=yRNfNnP)f7~*VZj|7d6jY#%5{XXa}@^ z-LiDT?53=?rMIvMw(uKGyZeEc`;`ye4#d%$*zVs!$ZTb#r>QAO1qZTPG-6Rd z9+Ac(^h-$gN>SY@`r+_5tXER7!M^6KdOsVUtGdA1yr}PjzhRsWA?dF4wFh6Z0Men; z*?7%j8nN8g?4uh)8uSC|oh8s{+>0gRW8z%J;AuSieBJ zKkV<8r21z*?(dKv-Lc^QqN_U~K($;K+P0q|Fi!<7SrVP~OQd450W1#re z>@>RZJ&Kzl79Yh7Uf$GwI7BV6qQg|8oy!$f;Jaos*W!?cx=O4+e zeQ3sjYj3*#=&ahEWbto`Y#g=e`omw}z84i_zn^}$>u&KoZJB9JMEUaXU;Irpb!X$3 zXJ7a&z1uzKzA{}8tL2bNq(#0F+15x*R*XR`$~+l1#SObv0w<;bzMPurhBt#aEWgN- zR1|N^%#hB;o63`Y7D5vsW5DB}gZRWV1;Fkq-P0rC?tTO#|GE!-aB zAcHt!c!LvVc|2^~>oP*j$G<-`Yi;X}q8Ufl&c2J?Jh6EC{0Wn$cKpPb+q$6Tw{M}L za>YH`Q(EW#iQ`)CnYa%FqKXgud|Q8U=-Edf+P_~rRx<14&(=>JO1tKWFv~VruV`rC z#vYik=qL&|1sYi86?kesCGw;5BgA+tBx-!*<%%E74i{)`0L)yX$**qE-U$JVsUK_a zu~K?Kk0HzPJJkJXO?FthHe$RoDN)@Pr>b_qC;6-+YC9#=nmw+Zp(t2RV<)H}tSW?* zBu^s*bPd2t(ByVOvFTQgU7;-FnCoYhLjUKy^mh!+bfT+HJ<6>YgI<)(6^Q3^P?;P> z72fQWWbkoWEX)NYGgO^|(jGh+S@bhUvSsjvX^6A8W2-Q$`gI%d4oL;_sl_@Hiwt7PoLUCm>Tbi6E0nyzrK<%1PukoW0AE=P@+Bwc1GZsCMc0fdJ1WW8#?MeUo&Hk|^xqT!HUQ#z}{8WS-(({tUz>|;r+$T&R zuucLK_`i!E*mOFZo@p2S0F%<;EzieV9l-n)^68?2l#V8g63hk+TwpZom3WKiMkvrQ zq71#<4s~pBvdKqIU$OeNlPgx7t{Sv-Lv0E0A%XF%8wd08tawq-5@C&4Lz0vw&GC(n zlI3I?wgq@sRD+7)WjIo>ae9GN83nM;3XhY zn1q3Uyg!5dLJ=D2?~YImZVU=VgzWKDRma9c_i}|n;Agiz0C-jt{AX$g)bE<*{y}+! z-LT?7{S7y-e${{9X?FE3qnhv9Yby3zx4qFiq4`)mTd&;X-&t6(>NkH{HBEln|BsQw zS8co=`&x;3QllTNc2S01dp@#fX9`B$E1 zkKNqTe0UEQJPPCVb`s33sC>=GzYpC5Vo=~q2!);^wfF|QpuxdP6lpbA#0X{RK2QQAUd2T;-HSJ)xr=4F$XrjFCvs>)|Sd)1M;X{U32&z+cNXykna?adIFy@Op?qPId7!ctRVeWA8rN0Qz4i|9+ zjuUVK(z7}|hkARV2dD^mf~YtQlzkA%CiC@hmjQ`NIty{=-;eg1bO4B$1QF6pchF6o zr2`BNSFxS|avDwyiNes(C7I280S*Ih*_YyiQ>c?QUpjCvt%ZCB0ajRra;^bzEJ9#W z@_pljf`as@TtwkK8Gnu_1o(rG&PQ+1R9nc2K0$&~3mzC$>ckegRdJj@PA`E8M)&jV z9FFZX4H^J*BryXQjr=ucU0P$09sd2N>?qs(`{9?`PHu5_+so$D#qY_PDjmMmB%ZtQ z*-y0tJDo#*pnq7ufgz2-D-`acwXzV|wrzkJ7hz zqBrs>jrIbbzX_tY34Xqr*btpb)Qu7|4ZRZbH9>yh!XVS3(NRl;I1x-hoN*{?hac?# z+7-nxrrWrWIjY}SKXk#dVy@Jdif>=~3hDrQZI3w7p#or0KK$$ZX;Ei}=k)EA75iH}v4+;>0CG zOXTP;aEvecvLu+nKU{cQme?g}`|vAr({VT@O4NW={>Qm3F42HXxPlD8pI`%_9AN`t z0e#eh8_m@w$KMTS7#dkb4`k%{)YKx28uN}dN7L$X%X#V)X}th{FHf$YAsF~oq@kVJ zTCStXlP35WJ#g{EsjS837v$^@1VQe3pDli2=tZ{p9cXRoEji;g($b4xDeWwmAYtMh<>bezZqKa=b4T zXmYf7SSU1;S{F=*AegB!Oh{Qax(g_7Ea6m_AseHP6BX;A@vwt^Wz_^A>~hrY@ez95 zktN+45fdFf@N`kvJ-61CFR9(yT0XyS*50KnZg_g$)(_v@FwmXSKc{$JdBKLS8=tklvLuwvG2Ja6U&y@a*5<**>s{89Gm-)Cg%oO&_X# z!9Njkl@NjIQ0xHp;!Oq-JPG(fuoAE%4yY8aBTs|F{~hlROQFNJI6dD#UgqXr0P%pS zZbVe?&-eZx=lneR{hS{szl8MHf0VyAbyy7tSsof1&tDTp`D?_N{=Z@31pi2G+P}uc zxdUDd)x-Vom^jm~VB-7~XYcR)-T$95aW)JIbHT*fy!<{nne71+=cZlqG73>R6X%5$ z^TwDs6Oc(;25lXqO0@?^TD2iogF&SgP;`abImC()`MQ`ulTPVv1K-FMKA<>IQKCvV z)q#CDQ3awulbTR33yJAJz3sGo;l6qKEpz4!ZM%~d-F=PpDyy0O)~nkFPi}wZu|J4{ zzGHF4spgVnlXpDv&dAe0n^5@XmOD3gtX+GXd`^D)jxE1=6n6(*2qfx4@V{a1yfq}7 zq(iRE9q!rVyXxSv#*Xvn;mU)P#yxq(i$~ehRlImb6^!%XuXNd6eRRSg^T6Tx2ppb3 zl?4@0;PBY27L27BT=H4sB9IETlAV(zQJ+*fdT$j)8K;!z3| zgfr*2-_}ui_zX)QdU5Zux_tRj`GcXI6JMLM=@&y=`)o6InBht`_M~ka&h7oh8mdhn&I=+UFFU#nU*N1NRLsZ=ZWSgOo`*Xfw~#ReF*YNNMH65;2wb9mp&eg^v+_9v#~}U_&UMpm18%d zo)D)2p(qbwf&&SgP?^z(4adVjU!yVkc!28~s1ngD3XSoA&LJojq+qi%C?)@EECxr5 z0q(vM;D(bjx>QE~*`ljKRJ(>;!qU;T5^jZeEAXBI7aS`FJM^;kj)u-yDprcHLjwni zuaP(9- z22jwMP~Ab4A4-d%a+_n9JQ+4FP(aIF3*dRmZECbJK2_p>s*IJu}+sW43C11dYnyz|k4dGEi10 zr~*wYePV={0sD&Z@()5!lQ^_`k*LmzDiT~MxntQ~)MoP>j$=Q9B|;@C=qA+!Ql%4p zg#sg9%@Qr_3|lqx_@*Nxcdg9LS#UqbJbobWHp;IL4T*o)wrsP#psDuSnTxm1SzM5{ zXQkNk?OoTE=bTt}>dtfWKc1I|*e=$r^x|RPRy7~pd*92)uCGY1sz1KxE|zlNA?$TN zY=Ixn7WLr3JbDABwpb!4pu>v`7o^y5@R#^~z;r2nRK6+J5^TVU)9Ora=oyaYN~N=o!H z2YG3-qS3T1Q?hWV6iHr1837MOqTZz&>S!NSM-Nn#8#%dncyq|v(i}hDzY>j3ebH{7 zQ5K3C(^>r#_FDM4pIS-e3&mtF+<0=5ib5f$<%H7=XMRe z$BQl-O~!f2dl#;X%HDGQU8uVp<&J2oc9krS)rUmBu%T(cd_ul}63nT~7VKv0U+kJ5 zXf{Vz4nOtrGvh|alee}4)?SO;y*K#g*Y@v#O4`f#U&WaGTUq}#b2;=#UaKN(K0ry4{X6qdsvSyl*fH+M9y z?Xe}Cx?XN!>)WSKZm;ZW6ueXKH(IM2y%+%B;}qjJ#XsQ@E*WSG60NI*T{7y}se}|KAYvp>n#5&c zM92ObgD(^Oe2q+NgrCEVXdF+7D%uVa+yH+^uQsAX9LDPEybR347Y5tSTW=t7;i|*` z!fYveI3dj`W3oU!Chw%gp*qyEQW_mhiik<}TLj_0o(G2`v8K~2=Do-!+j>7@Ka20W zG+Vy?Mf_1@HGh&1&Y+cc;;e?@zS29(v0K7)sHXAq2e^ka3!2Vs4N@F3y*0=OD^*b~ z3wRu8%{Z3pW#jt7D%2%jF{9-L6QozAuuGo{xf9R4TXzTAy?*w|_KkaXz5l?bDNT+)6m2fn8a_OCs*;xka0Ml@t@&*V`Bxb z!1?$A`(B(6ZScwM!mlDwKbx=6wORhfOKgJt;s;v>H+=At%sO9`f3bndvLMv5&*Yix zX8tp9_)+>CUF~kV8uUEx#_%!p}@_y6XfHyTH}m2O=fcfdj#>3A;S$J zO-~>n{z&fzCV|)Sa;4dQ?&ay383U7RYGS&BEmIq&rAMAiikSJ6_Y&PZ!%n|U-c*pgQ}sX9GBB_(}b?ArdG^+$SJ&L5gFZAI@^+Bq;3@g2M=;>TPC z)kDE4p?XMEl3ByM7?*;&DynyKki9=RD952>E=^d`bMXz~qv0LX==AbusXyYV9=Pd0 zgzDkh28|^6;r^jp421tZD{*#TLt2c7Aao#{=-y??C+GU=oGB+|z|;8Usz2IQT{=)Q zeOWGK)BqVh3mLhfd#Dp;(s*vIxvIv|q>}>z9X+fKgYUeL6FT7~`4?|XX_ueN z0%&PsFL|p7TXUn{0R-;x6Nq9l%6&r}33UGf_)+l*(%py&aPV;buZHd6b`$9{3pk%R zK`vT9VS9aSo)|11lOw-e)$DO&Kwj$%;l_(^(Ant1El%M3#?w7%ej#Qka`=Ecbwjt( zj-h1LT2H05Bk|dALeSI1sdgPjn2If6$h9L!iMBpnXeK#>&0^|7`Q``YV~k4> z(Eo24HcWK@Qg|Lx;JBSe&21btc%jk;#mWhsHi3zjS2cAIx5f8>m^nz+PLVJ6yAm~t zInZ_nl}%M^PYls{`|H%+0^XV*z72F7zLx>fTtuR0peLHJ^NT;441dna-QkSfF=xks zai3gSDWQkWdKq(vSeGmBS^44i1?#hHdpA5Y=R^fdxuL1Hw&{i&+Z!7@QNsWA(MN0A z9$2#zpIA>?!`epauw|xEjfisUTS&vgu3_bk2sH_k<2S1XuhU%$AMv zi(;t!(kQbf35<&O@jd;(txE8;YS5h2k8(_)^ikOhY6UnFfNS9Ai!G~lZa!{Q!^hg~wISjriEJzl2HYqnRMm#D?pg14l`Ic?>)(z_Bi0aZ=T+~tD)iG%`9{9 znQglp8xJ3sUmU!4;w!IAymoNUq}kc&vlc65t(Duhp8WFWlYUgxTCrXEm`YkbQ|FGT zMpSdtJgBPGGc|Ks->S0ObJu6wSE_(9^-AN_J7C;3`q>W)Fp(f=6+uvjLu z1<%Ug$zMLkmdN{FmzmqMLd@_l*)8%6Ax7|!*RgGQ>UsGI2}Tpv(Si42<{>)8xZr*K z!3M(n(4>}E8eTz*aMl2k{UcA4FsSo`?CHTt58_R7_iSHb)6 zJi_}xlcD}q-;ej9s)OTw@MZ8&;kUbX|7>!>;Ln$A9c0JyuPI&59+C%6#R^`EW!VPH z@+ZDm2ioV{s{?t1Kj`iTh>17P5(TGo{X=Nqw)@%HLHzIBs(1{KW2*h~6PkKF%?0f< z(uo|8_Tibl*5a}U|0`(Ue#i5>T~+`uo&+w8yaiiM7EKTD9cUj}aq474oFpD=!D{L$ zSbKyJNLPn?YABXet6M2F59_IMz32#au=BPu8~QYU{du zQ8-@-uu6Y|Rk9Ge7pjvCI?U_?Fl~V$4aBPhr^5&>X)+q2C?z!3SLuU{g3irkL26dg znW!VcKSlSzY*0b~>NF7{Do9>-j)M7dnsQEP-nOs5*s^xx#?R!e=dk6PZs zR_Ss(uiw)Z>o5FmZtcByAHOIMpSX=3Nt$1={N+4M#Sji}Ygq<$G_k3SmyJL26juYeFdI-5@H zL$pC7!8hkn79`?`cnH1(n=Nw#3qgmBHJkqYlht>5{~hf5_s6%&C=)jCn)0XHkD*P* z#bdY6ypF{o`9s~c z2}YM`n;8xjf(yn_NJ^(0F9J@F!4_gdBOSE}oI~v;x*NQJT|)~7YSaeuukiw5=p0BF z+RTpv9`JIJKd15xj^Jg%(H_I^P@Ti~Y|Ie77i2zlaGKP*^Ah0~Z(_12c*XOl=&+1uhUp;VR(3=d})SfF``K zRH#B#7xodMe$26tcvJ*cj_o84-HFtgV@^MZqUJHkRpBv{P-_o>s@7&qX>xDq%a;vUXlMx{0H#jIN%CB zQRqU0cFmRue}gAFy@{}O+))e(*3l*@2_=H*1O=*4GeUxd2se@NWdlZEk}X7&8oF)p z@^B*gIfg|Tqd&wus8Ljb4a1+6f!b@DQts3s#DYMUMFHQOJP6<8Z@)eGm%kJwFW-6R zq^i~FdrIW*m|IJ}JwL0Z>+TBa?9qMuj>@l9NA_(%neBBa7bfMNC@$|oWS^I@eEx7T z?%5U`OAnk#;y{$xQyo~Gg9AYb32qqmeZ{~A(H*64SE6%D=SwAABYciV5^W)j?jd49 zaG*~8B}N0mvxlzzf=2*gL3rx|)Vk162BeyBKR4)FgP-65UF+##WT+`4e;5=O5X>l+qiM$3y@DA4I;0S2O)|#DO06B z%qVVoNJ=f7J;h#`liPjQk@5+fmp%X1+uDcpk>&emRkk#C-}aN*_7%$>eBza>O;36F z@o6zNF-e{IRRJ+cMOE8x>FT@}@0<5x!Ko$=Z>rsbo`x{1q(;$0AD^Val=LMsS$uj0 zi~~0d)M}UNfumewtA5FOLRPNC%>P<$Om#MqYlW_XTI5<<)K4+M)XLb{0GHXOe-SQ z3BQcG&Eo|!y|0fBI|I@Tn~vsH&g3`1Wwaa`ogu~JEovz+8g6A7u!uc_#}4^KhUl9L zY3CQdUa*wiDipP9uEF*N6|f!+p-hDB0yRZxs0CpjVLb%Pdz*vYjMzR^ZUqAQQJ|l& zM1PAp5R?Z{>Vn|C0vS*+Agpx^19J5j6&ppGU=#XKbwcW^kXmn;5zi%>%zl;rW^d=q>)#NO+aw)DgDus)lu>eSJRy66=w8t zLvmdc9sp%0Le)8ZN=fWheo(G|nC!DNuD&-m*SISo5H&DjQ z7C;$8_8hH*HXg@)farN$I8F~F>B4=0;IHI9IO7eTqjaX~FGns(N4uhzmlRd)3Sn}c z?Zkb*L}crYTUO$%;=F?QfVF@riMj{T`-jk84sTq}eIOUbiSF(tN8~b07ZwDr2PQNV zvH~314<7qOdyz3djKeEoVaQEifw3UniGEX5b3tbmf8c0~`&H1E(F7poK9b^w2ExSN z%ODpvzSQ*U2#oyB_{!5O5E<#~QFt0^>9qWqIE35g;6&ht@eZ>v%1%xMmd-%~9@{#Q z1K4Net7u!4sZsbJGnR@Ki{s#261iKBb zIJHD)@&!AIFiKohhvuhNI)>%s$lak+I!_>)!Obzis_WSl{K;)`(AQxG1!7xD#M z>n~huS=go_wpCuwhL+r<5Equn2Za;|k4bGickXWaV+VUdT7UQO0bbLBcHM$%G2G8? z%+~V9-G-(mCm~+MFbyN~ApK+zY03g*16K>C2#cjRpXkkRzs_457CF~plN z31gADQ#l#ngCW=1FjIN`5*gn`M*N!~F_)6jWb=-t~&RfsbiO2z^Z@Ml&x*3CXtGWo2N` zqGz_r2exl4T{NXRt8U;`@1E*)bJzYx{#0^{^nH6qX6eMKi)Wt>YOG&9XWg%vLH*?| z3r^qmfPCS(^G(_K@WlPh?fG-f*~3MNp(R{seHx-#_ z$fINAb9Be5fo8FQI|_NEqL#-P5}}Lq*P%h0ibaN?P$JSA66AwUY_RG2M8rbWGwXZg zLGdav014CrJS;k#!R#F6bND<2qc~g?;Zfaz&+r`}6}A zgQj30KB=@KD{sz@3Tr`fi7j+ds84*$9SvJzlcbtk56kkULpR-Y=mL`t-#WZ=WA&DK z({kzqQ?ha=6`P|{lf2ec@2s}h;EtmX3-A4N_$e9o2(jFU#t4H^uBBTBb3{#~0ZC%k zIW9DT3Eblv?H)^$F}V#vJtsxNrGROJICu!i`~DU>2$3*VP$V{Aan%Y=g5&zob()&89+NTRW+Vd&ArVsdlog8ftTR$ za7YJH(_jIS3zB+JpK;W~pJ-eR1)pf5N2-P^YG;uj=|+Gl&@lLj%@VwZzZse|iD*b- z%RR&0m>+@h5qN41u1OG{uS55VT%8w`96c3)EBX+-Je7I?3n+1*XY=_1oOh%=cr1}f zAsVx2U7uXUvYGtqU~MhMYr>JEvcTk{?B=8N21WT@w;1d=2=VVkh3^xHNpfR+9~g)r zBUuYIl&v(z`tkPj7YH=c>ooq9TpVNm#4*31Ku-S=Bp44~8Q^^5PAkTpT$BQgqW}>U zj?ejuyZ$gn1Ny_zC!D;=4nOzQTsiZLD~UkEhvg)eK%eLPc}hbaFM?D{?UTp$gSrMk z-%4hno`lHFjO~cX7vu{9TlV!9{QS{i3R_ZNwxvvEOR%9oVoNU74u~+6EeWr^E&t+0 z)+xXA{yT&3eDKnUd}45_{Knf?mORMKax^RBWe>Ptavf(jHLDKU=Vx2(riw^Ei-%nW zx^-cmpvo6jHRwo_pD0F(EHWb49HiI53-<_v&t8zvk`k#K67ZOe{EFC!hJYZAIY>y# z6KhfuQ4golHB@LsucX2P6us$nT3udpQYOn|>ij&87EvkfB!;wdSPF~?9Eid9l; zNy$6yXt?HaKlGq%B7cQBBt-?uLLeg@T?dylMp7AL1$uHzLZjjDb2 zIXSxWz^EvL#iJaAPF7qXutHH)o17>_i7d(%f%*|HX-^9zos?*#Nqa?w3~hs~77}=7 zVs%_%y)j5ro05n^LXEDznnYb(R9JwTd%P%k(YmDMByI?Jks(PGc-W7WGmJWlP+;L9 zXjnjE@c-Bn6%G5^DdmEhljC)os+w3u%%y8v*M48&%CpH8E)tG3k%;yC+>0mPm-PL$ zEc<^(n&zZDD2+hV_#ih~t`+s@j>h@kFbU9d=y0NwKK}#JVNJe$D~GR3m^pB7!4_26jXd(7(KVn>WoRz@L5q^#8?Lw$QHu_>athSDxq6}fN-G64~xX>^aiSkMf&={a`MSi zkeiN1H3}vXOGn}vkt7*W709<&U!zhqHnzk&7rm#HZj&#dUQDSKyMRBT z97mps^~vp6-yBF$PrVQ%aEz$>1+z4G2@K8qr;7>CoRn6(`^`|&!L(9Z%aKeiJG(zUO0BF+zf|x1?E1h*k$oNL!u2F3f`r62K>badhxdM&`BVge{i=xcAE_YUS z`n-mTM_1U(@p@c|WjHs$Sqj68D(G*a(mX>D!>*>f!!3dKpKZIgsr479SsE+d-yHE= zSmUgr4_EBilHWgR;p#_H5(1wqA7>sN%KLiHNmI_8`yE^U$H!k^a{8v4{+k| zo`$5P851WQ9Hz!NsuI}6UjP#?Qcbbvr|P0iQMvFzqF@(uMV9OIIo$Ihpu_|Qw*vyo zOtiq;D9BGtz(^xFB|k<$Kx3{H&^SA%$cJEl{BTNWv{*|1+gXJzcz^uhLP*2n2JgI?(sYq!_;cC=jktAs)QyW^}H_Z#%r>q_f3t-F=! z@3^U;dQV!7Qdsot0u&ZK@k^2kP4TJ29s18r-U=ETewGH%p8mvjBo95yS!LvgO0X2P zTBiad1XToo1?n8#=(560*5-YA4_ zZ61_2Kgz-gct<_XQ%XJ2*dBdQab50%Nv;SzC>$9}8}Mkz8$I%&D0FBEK%EgmA=3Id zgCm#7i1dVWEeiNTid2b^pu#YdghBzdLq{|=BtOfFoZ=XMgS|K?f69Ufw}^X&Y_C|*4Ur5CV{gnYY&>|B62|02bv_Km70%b-L!aBXw==Q*rbvg&JIU_h_ zojy|RHflY9F5V~;<>JT9eA?!Rl!ILd#Do-6=A%;BhB6$VpbvP9yIW$hd zLYNXku?#Vo9e;Ib%asGj&TwzXbqE>B?g`0*Yuy%m@z{zgN&7liMg1K}ZhBZ{Bn3y; zrShO?|EOp^G(r~mg zhUhauMTno^q&kA1#Ng(P@f}5qH{t8Rez@8tXUn6>vTp$7~ILoE1u?AaSCB z7L_f+{{lIbvNv#VVDQI_i@Sz4-mw}UA&UDlke%P+B39brTE26l?e;V$u%ZDYSo-KkSK@g{Pl_ zR45WMs>45Jjycn$?7|TkX z8bn5F*Bz6pkdbQcy1Nofx%(>FsDHov9aBv~L`Qt&%kL}F1uA}DfgQQtSBEh9wRIdp z$P`z0`~h^dh>Y^R{JxUzBd6-$={7jl+rkR= zzTF-jZ#8SIdb5DY0Cg%jQ>sWCCskST6g?`6BK!e6lTS)c>E&&CnImCvbwVm!t;`%X z@sM}|L7iZ1u3bBC&8dHsJyE@oD5=JuxXfqXT3RGYzq+n?;giH_h%MOKiIi4?tnZpjg6pjYUir`X?ua5#$ zGFHKc2{#1sJLrjHm2A;DG+2m$k(>_EB<4)K_Z^~3t^XW!sl7WtxPKFsMMYje@igdC zLg~Sd-S2PizwwqM^8d(R-hAV%MidJbfiBeu;=7~Yjpjj~A#Jo5J2RwuT^0k+8;MdE z-UAQE$9IK;zQYNF8p9=4K;ls+i0-eG2*WTg+u7R&v(|9ATsy;Q9^AK&)&g`ud`F$~ zqt=3>eK{%TUs#JXSIho9e0i!ih1N1QFWjWEps^_?7R6ar;Z{^vs!)lV$*gGGZpCRt zdD~cuE5YU6F(tD_)eii+D?UClTcc->IjPesI5}4v3oe{>Ie8aHq!2oW^VWPMBM;{~ z8hr5fhm_IamySEmAG_o6^^~_l(<{nTVImn$B6W4M(M~L2)GHY(sJ z?Q&H9>j#XauiLD7*?`f~Lz~nZXxzXq-@SHR6Q20Tlk{XyS8k%3Iz= zrE$aSteqL&y;Q=S!WkW)Lg00sFiAw?_C>G7*r_oR0|l5<>yY z)g|`dyp-h%iP6oty1cHkvj3I5u(HeKHC#<=x>8=GTa@$F%qxEURrBnfjuS>Gty%pesQTh8S<^1H7!hlmnlaDt7BX^xf4?9U&BdU*8u>A2F5!w*N z4=w~UTx>DqQQ6x1Y)M9XY<5Wir;z!UD%DpPzWR0WF|U-od!@`vPf8=o?Peoiu`k^O zVI$sqh#llTkk=Gl&DX;zE^sF)3bSOn3IF}2u<;OjZ;ZSl$4j@2^y6OvFSc8>QYur6 zDqt0ya0)rY8WAdma1Q%KECnx4`6f~LM$#=8Go;rpX2|fL7#=C=GQ6s8%Kjz)?($QdWiH0K`TK6g8#*go;_LY??G{;xzTU z@1D^&X?L%E9Z#qfyI8$?8dhww>&RU4HNq;A+YC}ZRwvpFtp33Ah3aX;|3LO#P|Xs% zg!TO2XjL|Q04IAAp%5E#rV#kQcKr?(`Y!YFUD)Z-Z^geIs_cIc1+fRaq}ptn4KUT- zqDKuQ8EbJ_S{{5GQO^4`P=lmDTR+pXBCa#+B3?10}yeuhA)a%CJ0$ z9uAd~T;|b8w#n*?u@Q(ETd!;E>ubDD`SroG52**IEdBPgrBkOa{rc;rQx?eg$|un- zw;fOP5UPYjc%lbtE2`}U=u|H9It^7S)owuF>O3J}q#2O2MVbn(2jyfuRGkRMDIY?v zGfsn3gh)AJS>$t2#Tc+aU&eOJ8`&L`uDy1n{NJMAYQZx6_JW@yi#}1l3+KxZJKl}w zhl5X+Wj3q*%~ZcEuuxHlx#FE9ws7<*4OPnU^rk>}cU5>;sGqMWpouEJtgw!FY8cZ~ zd9^veF_cLdlMZUjIZ)0^h-?O-SKeZ&?%CSW)6#S7p3YdmjnVsi=gjHJu8CV(r5;@Q zVPaF;whcYg=cG>GH@mxco-L96jx1-m5G(A#YJ=ci=G((9W?!?}T{N3aDvhr@UyVL8 zP!}3#FerdN0!yChP$t%bbWA_6JR7YefS0BzFEBzW&o?rqm5Q=fVa=xC)qQi*drDU| z^)zJhc>s}@u!t!w@r9|*KvtNsnWoluq2u_(Mb_zvmwIZrBUfq z0)@Ch4_lxqG|<}w{7pdD!W4&CxM+|MQiQ|><9eK-l13ZEYIu(s$2)ZWnEm5$WB1|1 zU5z)`vsxQAtZ!(|{i<)+I6x6S-ENGszTDrMsepGTVa`BJkSFD&S-wByb0M1Ii zW8I;*X4sqc%t!4Z_(K0`0VXjF#`ZzYfXavXw}2~5;ETW(z_UPjqc?d3A=3a+!sPLG zeCV_VEDvg#pkjfI4sHQEfm}DB8n{6KlPEP}32>~J&kO|I@Bfte`K5PRYQ%}1$3vrz zR<9mZva0vUwtLvM&;DL>mSy(*Zuo7IS{9HMs%0xx?Xb_v)+Gn(JoFKUWR(G#Z47ns zfNFy&WoAKD8finqBq}^iEg^3rNSPVTUJ@N8S|YeRqR)>2Q7ay$`eDIlG^0(e1e0M2OtU^dEVDUXtLLwRV%hs&RCq*+S@sBEPwHqvhsP$r*B>A zA^#235aaJo=?kK6+Vjk@B~vDd4|&ReTiMZR&GqwURlhpx7W`skn&Txtc;^Q@|mz zm#Fkj;T0)vRHHYR#?&|GbDb}r5ui24ZJgYx3|JWw^zuh*t8KU|s zTM{#;ubHxM<%-S!^W;-ZOHE;y-8YbkmaxaJO%ztQ$xV>~+D?y|>^E&^&pyCrO|i!7 zP5zd|=Dvl$%rhlsC)?t@Od&0`-E(KQU(r5RQZ>pqYu;Dup}!JQUEQFXX)mlv%_vVT zh)nQCl@{npz!^%4VuC$A$XWEzWq_$rj6y4YRaRDnZ$L?LQC3n+aDeh;=c^o(P1 z?|mLo1I8G$s3gesabWogD)ddZCU_YWRD|N`V^cICDSlL+&ZRR3yOMvV_#jHrwF2E? zeg(-j`XyZ=PJ%*131@$-DRM!{2S&xBoQrcpS~gCDn|Pk2SZc-@@Fs zL{&b{!c==fWRS0ok|Fx){H3!ng?+vXT8sm3_1(Ma`p zaTX)xoXA^GQA*Bfo20}r&Ca=5`UH1uxXA#jj4R=6PvSJ=%vlQQ^j5hL9CnZfhYMdH zbnmR_otd59yEpitTUy5h2f7zdop{T=?eW6Idmincc<-5s-QE4C`{%}G&h4KUm-Sye zFMYL3dZ?!5=(Stxs?N-IWc~$&iXMFkVQFjiDft;34v8y>+%gcl0~VhoR7?Ck96(CgrCl z#l{3X{}RF)M--%#v~colj#?i~6J_iYc1EL3N!Z-mz~3AKLNO*#3A$$gOtqI*tgsH(gyE*2aaU0-Fs zD4{n238gJRD>b4^ZwcxuFUyLH1+B<&NVpLAUBDqBIbilLKQa7>WcYELM(2b#N5mD; zx=uYbDG3P!K1s@e&o8GSM}w%H{vPUR(;XEq%HQOlb)GTl@mltmrg`b*D?7?IB-RvU z)L!d3X=&cJJ-Z*jd1gsbLbSQa9JH=JsJ zRQ}@E*;aG)^cPodzppkeqaf$j)@$VptFG_a+uyUazy7%!^1{2{Tel*)xVp>Uly{Av zPOb=>v!J(QYHsVm4&e`CSjov*3t4biVPtB`q_y`goXj4+zvu40`ol{P%fIT7zv(WY zwW4LyP5$f3imGQ6#-^uE$f+o($j!ft?JQ_Wuehzc;hOwwKED0Z3tq`7iBT~j@$mCU z&X0T~+^GHnT~IR-w?wAetm-6hZwxF6^9KTFHR19@{nAzXYQwd#g+i{v- zgLvV@IZ1LFL8&j!NOu%_<2;h=cnFi@XYg~Bfs<|I(t~`NM^JJ?PNBgR9NRRvvN|rP@zzP~ zIH(*RlUttpWOLilv)9j#O}l3G9nkzJ?!^4Dui%ddfw!Ne8nCxpJ^jp{9v&(`KQuvu zGn<%zCe2JriYF%k$O>Ah12c&Z(qrz2JVw06tt_0O)Y>+Ne=ySlBty?OYTVhgoLmY%qXRQ<(5>A9fOCqMn$ z>D!Ln#>B5~zx&Lzl@C0=Z2J5~gO4nocj3u1XAqa{l21uz#axwLRj-<6&#o>`jV_Wx zk$YpM1^L+tC_DF);0>kXMc1V#RTO8GbTXTpcU7P>#^79 zSGryX#})J8pMm)s)$5LTuUss=YbD;xK^IuMI`{c5}opb+@j>$b$`R$g#Pz=P3jm)kpXneb)qP?tj$KL;1JZs;AwvtT)s~Ru- z&Qe~mXTfX{k9ekS84*xIlS=(mg;X@GNHdLuevQ;m!Dc%yFe4} zS67;yS=9OH;=b#4HpL9&wXMvEOiQtUlAo*#ZHY|2mUY)AqgCqi_pYn&@JaI#7DYy7 zFKnEVTRv$`AUxD^VEB{OU5LRg$SXFf(D=?n3z$w&BTxnXo@%KB`P>w=e}VI&*HOX_ zRm}R(ME{5&AJ>jx-a3CTOCY+#ipcK~%1!_Q^&6rX94FnBgK~XajMir0&8(fF&{*dt z@!3W5o_X`}=em2Jc=Ap8>$5`EL-Te#RXY4Oo4>81Z0~yc2BG52o$`nB=R0=-KF=Kf zsk*CU?%RK!8+D+fe9n@MIEUGyUfQHy01cK44b~TE@ewUiKG|96X+G+BgP0g6sG`K= zq=a}eHzzYAH6=;|7X+>eHWX~}(paonnHlLxi3wU@C~@SSsC8B^Al8vAIX6C%WeXDM zC`dyS0K&sXe*CaM?z<2aLT3$UBE}hTJBw=RmMVviPE$1c&>=$zWoH9yj9+tlgo6e3 z<&ze+r{&L{u~_Qy@QJ9(s4VQ>6dAu_&YF@eCdAyeXx?2t+O_l7xb=viZ^?>_iSzX@ zEv-$-oiQ=ZFDgAcIKn?P%vRGi&7M`o?jk6B_;w+F_&xdwX8#3wfpkv2OEp!s&|Wqr zRb5fuRag}qm5~-Kvd;RN>gw1U36jFim8&hoZ`wEASTn3-0T zlC^yGiNR&dn&&5OoNQ~@n^%(&8{bp3diI809kIlMTsAUC-KM?)(w}M1w0kyWRdrjd zjGCk4`Em`qpX??4&x#sNc_jEVy%ITXhE3db2@1o?qt_*e9QD67uh)`pCOG0tpgf&y= zZ0hapovThfq1rEOX`W;iy~4a&XyYU;;ZX zIx(rq1Ocvy$x>bk4t{`?H!QL6q{dyZPIogcS5KGk_-xCD-MfDI;KpMZZv22xNamW3 z9Sycf_RY)F<0^0VO!JnXz472B=6U$w^p*06e_i|8=3ki&Hi$JRpesyt<=$w#CGU}3&k59UZ0;5Q$_lX0b z`0CJlvi!_5oSLRjn*rr zI5)+fnj+AvdX94e@wRw=7w^d6*d)IMj+75jQtomA!-H;Ne9!a|4am(%=L#KS$>G8g zX6|b12uti`DFu5=gTu|9B}qLIG5O7vmf;hrlRHuhVm6+RtkK65<}Kfs7cNX-DEJTX|O%($SsCeMOxHGOJb%7V{ z0FU7hS@`?o2QxDV{*8q)3>jL>4Z`f$xi`wc>9S^Ixuuq{4i;HGwQ*Sdr2ut^5#>2_>|t%G63{*rE*o2s=^*?Q$^yOMbgcoOtz|)0ksBljYSm(p$A(;Xb`#) zI_!lL3_{Y#fo8)qz@n%v7xWMpFPR6$RM5dAXAED^S{`9ZQK1nHrCFw^_@J8RNnw#1 zHUoOpOrU7fkItmrv7JF3Ma z?`tL_SA)WG^peO{m8mw_`-_rHIgx1zNs%T&gVxiLk&?HN#?nH4L8JpoTcT1B0<@4C zCRf33$PdnpO^(nBf*#p0NiBr>a!)lP*dTf7z4e{M74eZM=HZ?Kc|g$E{0E<8l0vBR zsHz5zg`OF7xuA356sVPxr(8v+Bf&)>j^%-(T|br{TX|{PiilVJJzFXQ0*qZ7rR$H> zwC>s6T64HOqpo_{^6I*bw=3G(Dk|Drt6FEwXl|c5Lp_Md=(T>tY(Zfm4VP|OTf2Wz zeMd*#;{CO8O+~ZH?Dn!*#f{8RUtC;YS7fi34^3)pm^`Vm5gxxu-0MP^tmkNC*Quq2a*&}-_gL-eLDZ55j%S#zY1B(*}KWu>gGl~n*)Rs`A| z*pMGslc7n{#{^ppb>O<-I%{>8y7#}K#=WcP89m3=~%t7#l->*oN ze#JG1R55~uuJFGgNR~CK;R0-a4j+{cp)CRp)uGvOe{9k>koHPx_2HVf-MibW4_Bnu zRWDywQ@QFezequtl2E9wzRIs*1&8fr7KovrQNdrFtbhW?ruDcH`2i0$m^qTq(gPsKDQ;Q zpf0K0<&6{+9crbxkUtUN-)P9H{w$YanIL`+H_%>-G&@)2>OF zd~p7xDT`a#uN*q2RsGuNo3N|a*?V2yL5`|eFqw+;gh&SQi+K=#Nii3{J)5CZfFgS+ z8mHuo^YhSeKD$IzUID!U$&0Roy@V7D44jL4;n(4E{qk?zgaAtDLm{DxXc<56e?07> zQkE}ssFcd`F_ki$D}PcokX=-JT8+NfblFN@SRiSJS- z!X6S3qQ$2=nPY~KK7^rFE0Fe3d=_Z&)5y{hV*DIAU=)h;D^JD*>&O2Dv5_Nd(KcOp zII7p^?H9TB`CPqu$AMadf27qrELB}Elq5e8sx!o0KR?VLC7+E0-5B)V6_#6yM;sc7 z7Aw@x<8ev$un=@!8GE{(mKGYqOC-qpDeK@6HmH}rvtxYO*`x>Q ziTmd9CpHZ9;ECO#Ib|QJ>!W%DeEcHUKTC_;SI-w2ns(t~Jm4(k(g?YP&{{C31s`-0 zDu;p^_^N`S3-ZxIGJGv`E}Vif@M&3C3pqS|8A|-cg>+V3pK0?7iS#$rA3PY8`@$NV z!6%?MN+?-dRT0?aZZ-7|bm)!#Ve_w#Gw4DeNOqA)2)&;WVeF}>Pc*`p<`M}RCy}S0 zCap}o8vaJK6kL#Q<}ZrG!_Ka)F6Ynd8)&EJ&D*CuPyPIbhcj)Sp;%z!fdfIg&#sU3 zqXpvIUxYlgkVg(W1cg`wf>X8luoJVXXjTc*Qt7ebA;IV-tzdE-nBy|RX`$mn?oLHbEA6riyO+( zo44$5z>ACU4bBjX8Vj*4iU02%CF=_H|!I^0^SbA@0E3FoU;`zHXq;Wc6x~ z$gH6Ae`@3*v0FW)>}zZndS#0t!CbyM4*Ak%5|mUM<=e0?h!(OPy8xrm1I81O__<*u z@nhF~RRB;$@YM;cJhv13uO1n zWmWz|aO?b!c+3pb!jT$_QlIU-SaH5z{&ql^o+wWV>X06mr^gAs3*?bLG&N!)-{Kih z{5#LkGIb0F9K>M2k@SQ-B~h5MRQ|UA{KbkO>Cp%K7+WxWcN{x@vHpMa3^9k{f9yo< z(J4K7zMpw49lj-z-6nn8ezAcaj~l*wArq8+{M)i(EDE~-Wr(TIUaVxdB@Q1SU>^PF zr6;9tFV;TTC(8?k-Z*)>^blglQzM~bx26u(ssQzTS?FAY=I_~wwh)86h7?H~Dmb}A z2B@E9dSaX#+*<*<7)3z^4nhP+!{`t~-BA50>PpZB?B6?s-wGkapS;po7}Q8NX52Y+ z-Wb<&h#Qkpxw~8a>wM)T2AA-YxKX*0myRema>LVf5)U|UBu)uyV9{EGl!QvRa(g!Q z=|%MuDiaZ73OHuylHeRdKxY#I(0~l$=>Zp%cT;z`_Si5%0l0C#7M##5W>Q;xwT6ol zJDW26h)|azw@GWHB-!)SJf=Ru)bmfVrI7hwRco~>brz~Nt*Q=tt(%r&xR7AM$5*ua zBr#uaJ*q1N2>>|i(7`!HNf4fk8Yk4pStFp)0{s0zC8l*TG)1FcBz$5S>3jSH5Q(}U z_^YM>C|Ou>3#y70BogWtE-oe7|0?})dP~c-CuU4te_u=Etczxi_eJxp#^xZeQ>E#R zGml;0+%Q{moAcato3e@%XAJ&izC3I8{GSARokYxCoV|AM<4Xy77~4rW?Zlm$&!IQI z;1h;LB{85Yd?&zC(KZPxnTS&0+9Nhn>BFFzP5uU7Z|Wa~q>_)yM-2C&ox-Vc?!>Y3 z(Pb0y$8~2~6<_t)^;2iuc%Zp)mi#{7*N)p}PM!Z0-Idp9z6$CAW(=2>k~q%w54= zVlS?ki!wOO+d}EZz2Khl6^wp+{+;)M4Obk8{J~=>7e33s< zI)2Y3Pw~K7A!ztdYcDMl|8W%=FfZ_)&|%KqP1(L82rBMXK(VVXk}iUC6<9$GiqB%Q z7|Wt6G^_b4ndP7 zeqeRZHH=~m7{5ql>m1??nec%k4m>*#&pvoc{Pxm9?8kdaeB%30BxEIBb~j=W6~)9^aJs*mrvM{K~)3a7XnXXohy_z!FSa%7+Mu6hxw zjKWcwQW72-Yz{QyR-xq@r&m!8eQ2PkN-`Toe*@?(Iv<*(Bk9z^=4|E@Zp@}UE%q^r zR$z@Trq^kLli^pWqoZ<+CSPFjkvT@xy}_BtF-cKIB>F*a*Jy>`9+yvtS3huDS2*ju z^*k#J?>TX{He7yM{-Pi{rXV{pF>A?VBk|#r#K5lT_>sq6{W3mg!llppBjUfPPB9r% z#m5rO=0wsfVE0G|q~l;cc%W~1qz6_^{B=m2^8yeL;4mUbarKcjqy-^fYSxQHi`rrk zbB_+m)_Y{@&`~xZ|NJH~lC8ctT{kAidp)}VkUF{1?)Mo&X949^rL zRI@`mFbH@eECm|nD4mQ*ZQ-C2$b(0s|9ln-OdUV3VPDC9^i#NLkTuf(7pGAj$1@|J zYBSZl;kZYkCwiAXJ)zSW(TO(KEG9Y(SU;5$Aqzu_G#IZgCD11_P~cw*HshUoc~U_% zy%hcne&-+vhtpiZT;>vXdJcD68^c(%k_Khu04s?U_T<2vYtG$xX8%_MpS1m9 z%QbV(9X<1>$J5jQ(Z(ir&C};UHT9_{ zzIf&Aef`bXMP!X50JVeg{Yo(CWN?k9Mk=$@{gt_EvTh3Z^;FfcRJ z_yV2g#uRQJcFMaQj{1MfD>PV`Er(h5O79K-<&lYO`LI##apBuH#XCuF{u&iAHs~)C zs;*P~4V}!_WQ1QViJjoc5Q7Wf9R-v*xlt$@zE3{qC!Pmq?@8^3sH7#!US-MK zqJuYR<;U@E*{?@7YHZT2st8piP_YH}zDR6L6j56Zjs&L2=!_ojxI>{K1)?!7Hax5V zvpmHDT5YfyjrOfH=~r2CTr37ySS?|p<{%)ulxM{T(8<6TPC-a8I(|8K;2@gfw2Odq zX(LJlJ498=Zt(U&tPt@fxB$$Ctx0+3gHvc@GfSGf%PVsW%_*J*(m`W93ie=eFZzxMA`TQ#}n05`=>i zs4BFlLObIMi$Vfq7?40cD{-Z9Jm8nm@i0)A4~A;|M+AjD^Dpiz_>lM1PuVL^ zVYlsNw_VB*Ut`xf{vb~gO7|kp(T%(>S~$)NHkWgyXcea1Q@&s-!@PIJrRggP^1)7p zU#Z?uM~ZrQR#o;S6i7PQv-FSjsBg!50jA@^J8CDduEHH=2L(cqNlcC@CPRypY|_S< zY&qH(@!b23_r=^5GuZgvdyRwm;J!xob>sHKzyJN=?Tw8)==U9v`R~|U>=EGNMi?xxibQwb$R+bKm%Ke;G5?= z@D&3N7=6u=X_MITpL(J>RN3mPj>UD)osIY2e0oh|MNiYbM=JdN>$={htFn@m<&h(6udM7rsl(|0C^90JA8P|L>W3 z=6Q0TBqR_53Ayi!98V4sAcQ0&;l86Hpd5m7DWZs?BBCOAp`xpZHwq$(DBdUHiHmsb zuCA`@u`cT3svt>b-cR*BPYA4g{Qj>v-|5UV)7@2FUEN*XU0sJ^1+Q2Xr_695e4NE8 zmSMHmR-7>Vx}b65iprf<-BsXvp<}vh((ta~lSt%Fi#7eSbj+y-zWssXn&NnYNO{n2 zb!D#gXh+%3Mu`|^*Dvgk>&3L&3mkk)=l^5 zZ% zx6CiJ{#dorgC@lHk7i49SiEw`kG?WcX5tu0k21{unv4-u(W!Z9raqGKSc62Nv}E0w zNA1hOkc*%xt!lotK0YO2_@2R*c{ z>wuB*#kiLjOq{sj<#Av1$WtOS%-L}h0s^oBu$y1@RBDMF=|#R0`}y+44hzUuwOq!d z>{?+8K*|*L>Fb3!j)u_kP6veLS>{`kl?S&&+%*wCESt}@poYdV=Ca>0BtzLiEt`|XM9HCeIZ^t@#I0#<2PbZo4eanjRW zY9*g}eo#}!+OaJ&Y76sf-R}5`@zs}2yXCHHT&ek^wvIY$a6$1YG3A!a6If&&Z2*uQ_PkW8L(RjNJR?EZf<&_K#5fTzvn~Xw8G&A=*O*6OtohT|vpQK__I89G;v($;ZFV-#^RRMpaa_ zjqV)f3mExjZEY3aw$W~VRC&dyQQq=4|Gm@g57ER3|IUMdPVNe{!FBypvz;7f8~!|I zNK|2*^p`lxFN8CY@hx4&gx#Z=|0q%?)n4Qs^&?%b1ToexO712@WEpjY_8pULuPraQ80V9 zt<9cowA9`emXaQpJF@PM()lD!(CGshsj1#2DQSlI`>Ky*RdBtw~lJ zk(E0i`k~UXVxkRY>I@D1d6O<#eP^=k&(0-XGi&qu^~Q_huSYjxIo#_n=4w1x&Z(P9 zlSq@~qHD{^e(`aU5!tS&1bSoHF1*pI-kHl3&v7p0SX_0{(42kZWARAfxJ?&sMY57w z4G9c4YdXX{CYch>$@CtQAciG6`m9b7^NPBppO2IJSeL!jnAA08>KPSx{;<^go&MOl zT^||CPCc{cUF-9u`VIQ8Z>_tda@M-H*1f&%-paE;>F-RlAN1T}Zlx^@WxSo@>$0hx z+FCfCa99R`^-~!fS%jk2HJoH5AX8%T!Uh`acE{?TTRL``Bagl8uCX%ok3099TQ^yK ztiGF!@l*7w+uwTgc767LO*e$Izv9`=c8^ih zoUy66a$=nAj7;@nHEh-Wn^Ik8wvDSCT)a~aN!uq+@GjVG4GoEt@oJMk&H4y_&Rbxv zE}I#XaiyNA=P~@gsbt2=u7H)UWia-(U9#e@2TiF$Q@=pdV8JuHb0H`!7@z&A2|!JcjDpx_TOQ{d zx-#J$hYvz}U24&}xv9KK#;b85*03iRcqdHO+gA_0s=a;VHI?J=o4l)`V8)CI+e~w% z@$1SNB{xM3Sh3=*=k2_iWv-)Ly?bR(`S2s;1**j2VZK3Y+>d?RrTzNk=zWiiu2>ON zr%RkGbW1M|82cpz8htq_%`sKU*_}QoA-^rcZuFgq@#>*#PicRn^72*3#n>3vu}2@b zlKfrxiDUU_nfd_|^_NA96xV(E>%+K-{3Z6y(G$AGI^HF7vPib9C1=o3+ACfpyB9vl z`t~vs`}IM-m74SC&p9%PZmf*GRZr1p5s(b}WqjNtBI9SBHK^MvU^Yk|5ru=(T2@B% z?iTe~l1H~bz&_^r-2D{&g+$~%Q_IH&S0lSJ^_+P2@-q%dO`>gfY3c0V&S4jenVr>_ z$Kn0^8eyLJtn}#AqyZRZFd>>b*=ecB1nn7?e+)`$aTl9hWsjpY*Q&qWv(L-YO4dU~ ziA8~-IAP|EdTRvf7Mp=D@7#0R$TQE_asP9BA9?Qd*2QN%b=%*K+`bz(=_9)ie6;zV zuEkyN_R-6%M~$M-Zokd_)V#A_x$S}1c04kD+8Og-z3riocWphTZE4qmKi~Shu4P?s z#N2VW^^j5ajrF>5qmdWCiL*&K(b#^=^C$OpYQ?|fTdqnQP!*~T42|y-pQ8`df77>| zEUxgi*Z+p5ZqIBG1939;z_j(+llM)VI&1Ep`<{4j*N*nq1#_Od%hji&DEjmXE7#uo zgFd~Z*?cE@&bVb)-S(Yzm;1UUvmd_y$(JA6HEYV^v!A|g>wAwsbo%(t&$nK_WN4#a zqtD*CW?pTR^%7+`(0stlCbZRxbVfl2mroAeZ#`F{PFir|GhE)C_#> z$$Q$T%$obuy-)1lwf&Tq1#_O$K$)r;hlFra`54ew~ea)ZTdQHbIrK&(Z{W>4~{ zW3hCc2}@}mA7}LXH}Wbw%4E3aAAdS}IwRd>6*o4Olr%L~zxL$4?NevXd+NU3?>+95 z-3PbauyJ(5uCZq=TeTgkYGzJczt)u_uQ!zpYBbJVa^}MiJo(bYBERQ6ecOXdelMIn zb<-8M*gMDM51MxB-7BxzbMvJwa?TU;z?x^dxddxQUR|okoh_cCkzJ-WnA||!NLLgq z-@h1VlbTqVmg`1W}q4ZOf6y) z^en%U_%1e=bga{VUaMn-(Dl9KGTj~F&!x}2=wy<%5s>CsnKTFs))D*juf*MKqO_%D(Cr)N~=^`V&qufY0 z_jNpe(M7b1d#sNE&6akx6>Kgy@9&Iq{m?PR`sm6lY2`GwgPW`HUxB|A zW{V0~9zeWI2z%VhX_L56!Fjw`e*!$M%qF{A#V$ogAW|`%6lIbYAEj({q$D{zrMD5+ zS>-y#8e@%hl^UD7rgy$M$JlISb#X>4wqtFFIhD$+Y=~ltsX)=O#uFQ(+j`U__C-#X<4IN+&b^lS1(gS8bF(f~y zs()W^>T>JA#Zvm?t)a#)m4o8C0V)T_(}zp{E`6F;$v{a|BqkTX#YHSf^sbCjV}Qy) zS+iuIZv+`&rC*x$gY|2V4Cr|mL*_DDGfK?;ti0%3$0QrV!8|P^beT>oP`hagn7j92-?VuB8{^5s_}+cGPU||YUrd~=Yx>{frFD=+S>?>X zsfBn(iFI2-asnr!SpN)8NG0N~#=<_aeT=(|yHvzFQ9r}+1jFd~E3a{?wxJZna_bW( zgsG@73aQ1L+cRs{pgW$iG;^5W!m6sibZdR4UMXu#-h3m6)wrHnV_{!CiiK5ur_xeV z#sS+tIr#5V7N~U&TVo7c(^=210P;-w_2gN_gAx;I@lgjp6z%>a%9#^e)MO|dVf4< zFv$-e9k+l}dx)3E-T8r^!kuR&FA|rZJH(>&wJ$f!YKcmbRZ!TV)e0h2b({gRe}Ylf zM3pJnLkfYb=sP%0Zu$uuUcQe^r~ za_x)HS%jc+CjJ-I+#L689641?d{Mhf*IenVXsWXL>)M;NAcN|1q^*XbG+D~e zmP}S6aQIqdd4Xbsu*sQ7=w>hE%Rg!`rYXf;$sx&fz6tS?UnL1Dez&P)o^qGtMw}^= zzyQfF6A3JPpe#v{Dsi00;(J|j7?D_GzS;Q(QYO_~an~37o7Bt@W>-ssgR;p!3WK;p zJQ5Kr+H^+Cu$YEciJdxkQ9K06DEoLiDjAvU!EW`8laT9KqrT%AXt54=zR5#>O`$Zq zsgb_Xadsm)!Yzs;2tQFGG^%_~s4%778pf|>q)a+WeX+lZzEZJEF~AFnj0sd{GAJnU z&%k{$?yEl?&$@6-k1R^bkb57uq;En=FyE!b1$H=Wp(TP_K}xZy z`RU_)^rxg~P}M)hJb_0>J)|II$iC=JWFJ}W<`!*cwvK-{2qQIzTf!k<6{AQf{^Q(I zHCKd7RbCOUj%PetrwErwmQN$7*o93>BPdq&&J%;#RqD)71JywUt0W3xa+P(I zq7YT}6){#d&6oS%=GJiuI+ zt-t_EUvZbQ|S%GEr}&t zdb_F;B17n8RRx{OD2);+!o}nDL$rsKIuwYsQpCb88aLOoj+Rrg|8_k*&XJSr;c=Ne zfeKwEMhondC22Q>YZ0!}&Uz_(dKNz2?X4>mt@1CDCCelo{S9HXuvA9Gi?GwPiP3K@ zG2d7t(ng~ul~Z+C#EsDDo$UsY359Jx~rCnSXqV0$Uz-Bj8dk{ zuk?L{j4HxH83IV<>M0bC;6*vAty}b<*XeMfCUE0gdV+={7m8ldr?^j+CQF)HxQ9$2 z9HcJ72fg5oTZ2FdyX zS|ep#hc>+M!da#k6=yjRlJh-T!bpaCa8~(;kvid1gKw@`W6eYFscbmCS;-Ibsvi6F zudgqlxT}iR*M6wFOjcCk(d|$pDLe)H)EOn-U8bV7Bu(jd2!+!1a5}!yQmt{?U7=aE zyDB9gcbzix%`P!Cq~&!>QqG_d)=KrDAKP7yzElvM6d{XLMEAm7p_61C-uh_j<}Hk6 z35L@yvS7@Fudvsl496WJ(~$RDGVN0Wib5r?$x^? zze=;8r$U|65Gmy-tU@B0LzO!n8JL`4Y7{znxMZ%+#bK|HR#d%e6 zWFkl<#o>_@vz(q9(Ej%lkFgvC$j%bn8zHc;RJD~pt5j?X`aRlI7oO!eIvgCk{xz@Q) z@2L#)1h_8oPTKpmeydS;N#HfB4-Kl`GGxviy=v3fm)(ji*&S%$D$C^dkr78g;+F6#wAw&6!iTb=*+BZWeuNyF-7$tWr|!que>5kCqIw#nR+Z&Wxsy za_4lC9+bOEOHzg0vhs3HBZ~~cFQ_EG?y0A$!rXzbODZq3ZhiI_{e?>cuf77p@2;CO z$9nZvYs&&0Nx*sig@6vyj~32Ha70>wI#rJJp&Kp>=@ICrKtJse4*5OO*YV?;ZbXrG zoNSnk>+LQP#%K76Z+!I${j9nA3-4XZX2(Jye*BOxm!C_T)L~rcOAp+o#n<7KoOC2X zsRN3=%3{L;Of)z~#Ln(o&rspNenE-$_~L&_!|880b(y1I|7#kiYQw~y;DrA37ffJ9 zndHfrN|07(Pw@O*eItDg@xC9&%7_743a7`YkFo5!&;0+eb7Em!;g86V(vIo~d$kqQjEw zhh=7@rpSWt__+3vWZfJ(q_`+QFFPweZD4YU7G63iIVmjE6BbPL^}~h^A(EVI){!#{ zA01|TD_EwGn%FOj{T}TyESIHd!c}Q8LaHhY@-xzzc|{S1)Kur?;*V1?o^GxzGx4qC z6g#!c&%ytncQ+LUma0p5rMP9m>i_MTzmUxC!g4q+MJ1R2cZs>XT#kp-JI=eLC;ujD zZqbmclw$FFn5ZRdY1;X9=cJ`3C%Fvdj7jNuC8Z*+aM2yi=uOjwiAbm;%x*blQ4Ud- z^Wpj>h@iUC1|~8uk9;QM8!@IAG07eh5ngtUNdxXq8X#*V+_616D7Z!YjejRgtUD0V z>n0DP9YzWhm8^o@a!c5w31gghj(_J!xx)r|N?o@v!O%K^Sq-IuAQCA;XZe+vvKUJa zFAB=W%pKL{uVQ~XwqK9FpE=iIfbk1 zpOUNN-~K=4O5&4T5$8N>uM_P&-D@!w#)JT~SARDSIb7$SD$IVPL5*g6g~kc`7s+2+j53R~jSl66meM~QLfT63l3{+QNc?lU6@VNt8&h%`fu zcHJ)aE~pNI7#yXFJ5$!MfCUE<4bJ=bbr$L0=t&$n{l^y9%bmN7hORxtN&8c4K5Mc7 zhB(vf;+*fpiJ8^-F8`KRS;vs=TU$kZQ9;-PU3)rTF-CUns&##A#aLgluRc|{@CQBK zGu<5NqX~j&)@a+HN504IsYiLHcU)jRYRz_)C?1URw3~1H-v3t~=*jTOe7oyb4y(D8 zw|<2OulsnARu@Yb=|7OqN*vkn8sz%b^{y3feWv3%-;C(2agFTSV>Cd$3H8tUs3$fb z^;lUaT|SsQ*m8ezkdp z@uX{C)dD^+SszGz0s3m=LSseO>aNd?0mcCELF4(Z zAzeejt;R%SB0Mf&PVqi>2KxrnG)|7`pBLOaj|tT9fvslW*2qZH=bPNQQKU?y%L?c2 z<=f6umVwSBy0eFj{?fdTZ8x^HUcUPF8&F(O2lclF+XE&PA-g0mOY*4{3K zG-ctWaaPB}Qj%BPeDskUkA3VuXnlA46}#SBx4gD){yCTLrKpghrP@QTm9EF}rIjQy z)F&q}DuDY9J!fUjpmR50IJ&-U?AirwqehK( zJ-&G1mMx1Hoq6t#rVS;FmrZS*KD}}NsJ2CmTSmc39S6;LZ}?F8+An7xz(j3yUEats zHG>**i<2DDHuRwtM%b8!V$Bpk&28fgO4D1-eyx$?hgOt|yt8e`@j=ew^`2fVWm$>H z9%G>sHZV9fAW6x@aqe?$0gJnOEI|>MfJ$D<%Gn{C%&6jopUqgk<+B%N&Dyr@-Iup- zpE+yRS@&(*XMO(CwCv;$p8V;tjkipk_`#W%pJ6?pRa29lT|M~I-igCLz5bsYGBcw? z`z^9qJ+mr5+t`!s{ObPj$otl3Z*1E(i~qJg^8U;BKRSKZtPjq(Waeqs`!C!#anj8j zx9f?ooRXDf?X1bpsu`S}S@X$hg^SO-FMnd|?^>;WFAu*-Ki&Tel|>&3X9p_ICgb$;y{ zma#LpUj2L$hYq}Q|BlmVS(At6<<}3(%OCc&j|rFin4%9Fmh1e2y#LPr#IwhJ6p#1i z+UmN6nV!OleWfeUI%QOIuqVQmoHU?+zdoWWgQNPoQd6R%Cb&3WgrQ}6T4V$(9nm!5 zgT_bZj!%`BqVatY5*&=r9#%Q>sfxy(%Hr_AfC)0w%D(J=37GNlsHX-sEZ$VhBk4Oh zLdlZTG8rKEj+1S^acuRJm8TgVF&E%BFQYtN4uC03J6TZ&?;QWw`L`^;bJ1htcb*#E z)z#}19xT6k`G!?H$3J>%q}A2SaPL?$W98X5Y+XF#;W!c8dut~$Ggu?*biOD)I z>=WI~QmAj@v(jM8VeQo0%9f9=pFHx+ z^G1Qjw=wh2Tz%)#1&ik2yzawZA57-x>+zFa<0g-sb-w(5=DDL~cKP@EFn1o56=_4X zp>@fXd6~s|g@u^|lM|ytneGf9+?ra}nw!f8-h{YbSfHo}j(So0g;u}kpVD1|1ZPPI ziUPgpIE9zhX=?pRdd3OJLo6#aij0QtG;YS7fh8Y<1`ajQ)ad7UmI9kk(m&}7UYtgf$>pp z$6r=>ZAC$5dVkKbVV{O{&m`OEFlZq2GVOs`9EHR`RvnR5e`YC<-f=zsGzPG`y+`8< zkwS3qICD#wVJ3PAI$Pv{R=}zxu56@?vJ6 ze)(-@Om0gXeaekfR-cxg*OyYV-?U#de{p}nxR$j}{bHlS=uq_G)Hy|%>{1n1QEm}E zX|nuP2zBDiy@x@|saZ|c)3?pbY-pcy$yjI+hbr&5c+NF{-_W>f z*){D`?kYL`!eJN8pS1Xb!_QcgB=vug`f12Wxb%8M*k2tkAU$kfua~h@oX3TGPc0*Z zG>!CDef}k7-*3FQ%=*(yeP=v5YJ%|C`z8HI$0jtjtU9u{CEXmaYGQX|fIQPwfjpHn*$3uJ{hXAV*_ z^lMWnQ(=R%!JFnrw(r3Q{qq?K=e}}5&4?l1;)+?m+EYU?rwBr@LT#8H+MFh3d` z5ye?LkrAmnyEjvP<7JL56#JuEbSL7cDi26L-M)NDwh*nTv=jek92Z)deMQr-wvDqY zO1rjK=B#cU)^-zNcjl7Lg;$TOZW!i0?b+t8*nwZPO|Y?|!1ebE^D+G|$k z0}og)1>Cmi*Aa^rdGG;oa#}L!nB($o=3d`ZUP zq$J?jStNcn$r7czUcGzu7SB0%A2~gs^QajhwrBgW<#GSsZNaIEx_qoY9A+*tYfMtg z{H)C1F=Z>uR)UoYhx|KJrp|!{5p^5=*p#Cvq*STfQ7Ktlxla#{Iz%B5Jzn2iVlmoUd ziQ8WeQYOMD;*)5J{DeaAMecM$kj0_VhvNn5@~->Y_j)T z&QW8K!ane6iRHKM{(kS~HNzX%U9;v3>x0z=11yhu?BJqdJMGJlRp?9-{ZT z`ieicY8#J;0{0b{Lb0Wo^{@ihxB9_b^1B=+iUSyT;-bt_bU{s1x`jpa;AycSe}4ij|Rwv zUZPx8?Unel>ynhTi2OUEZ{TWF7%i?2eEdd95TRdOl(0~kcO01^mlT(6pJKjd<`VKC zEraU{S*Jp^lryn&q~>DEV=mX{JP+-_OeKC|JdRI=9?Q~|WiO7p6=Yy0v|X=tR_b5t zpJ9qBwGQ3AbSW#5(62Sa3?^D>cSUou z|4CYR-+%B&FH!1KJZuJVvahkq6`NPpRcqWdFhsA)HC{1CjI8dg>s*nC1NVN-qKQ7T zmU)7yVd3cP{xV6TSRan1GSqN|1TopnhD66Qt(>jBf}Hsiq?trLl$J;b(@8M1BHg{Z z33n(J>7F&-u}7z!5#Z?+9X>{++CWcC)t5qDR$Zc~XJx?DnIMLh;Sr*-@kLL03u(Uf z`lwMgA}x=j*WyV@HuS@K+Cz2A6AEvbiHrIRtzXgGYf5&Fza_D2dvpJEq38`-hG9?? z!aQVh&qhc}U7T>qx*KjG;&0B^0CiJDK!{>rtI)*;!!qO9u3;7Fu7u7n)2-LNu9sae zd&hR{?08Jkq?@ts{-hPkY;P({6U0!+YAM;iuTE}qI!DYqok*I`6FW7;*+m-HDrKg9x;~@DNE|Tfd@HyAdHT;$4qfgJr3;}8QvAXZz;V!lj`KL0Rft0$ zB5S_glE*1ibSe3OD))i(ieq^~QDD?q?~#89HTLf*p$?_VE9$Z|j~q!(J#;ha?O{o& z(z7UB9FYV$f+)K%{2Wx4?4rT|M*>m2`R+GK;ud$|v1LC6y2p5rUXMn1+XqPF7*vF@ zn!uR>no`#!=G8>C0aOI(_-?3%ml;<% z`Oy89fg+8~C@D>G`|f$U?w5`oaQ7?kg|r?U*(WYG*8RSqXT`?5j~;1Bii(UHqpyvR zH)7)i&@y^By8Bhy?HK%oq|+NNNFTsNDbDgRMTCXQ(v0wwhJb{I=l~;HOCKPaDw0(* zGMmb>4Y7Iq_Vvm5#!+ZaP>xC0z$L8s#LoA(SW7Yl*r>vPY{n`ENCttH~ zYeikg>SaUp>RCfBx$AP*`*PY$|Mn|h+O%?APS-0&^?)hs-q`wc=Ut|M9sd!Q1ctAYk5^mc^}=o1#iiGeBn9-cBVF`>5{qb8#< zXBZ~-qh7t7aTtAJH9(fFC@hBX4_p{Srn&OIjhvKNdrI4PXWV$hkdkvsyv<`Ho8QZd z@ytnWPw8VF+G2&cej5Hx`q;DqS(C?x#058vwyxm-;`sO)GqdwgsDT5+98cT(Y;E z3PA}uZ4)y*qFlIC?NePSnw6eM1067ie|n|s3T?<{k zx}G!|JHIm??`n}tTAsu9+X12Ozp?HiMXSRjXF*|kd1iKPk`^C`KG15}ds17@MnzmH zv-*HFPvN=oRsGB==aHNj@6=Jp$l^OvOC8xM9zC!s4#t-;OLUyRZFD%Y6SGJwxxe|E+i5 zu|Bc>^zJ)m?%b+bL(gt)9^E|W!g+IQ%VsRQW9fMpp0nu#_usz$!g|(v>Z`we^rb%a zk55e6R5-5lpW)V5``>u)9etply8rEW-)SA$RMpzN=)BR*=eISb4qbBI{o9tG%`%0a z{3+HdwYha8{k+NJbl{RgSEV;wPb(_S)=LaCJx%A}=Hi01*?H}C}XO5s?jDCfL^ zl;399+j^Ql;QiMRzG3~<`tZOT`g3~!dmE}7T5sQU=|h)KA9v}l-(=KJ5yGes-ef8- z>-~KP-{_j+ifO2xH}=c{)+6jReM^73$U8@RS%pS=!0YbG%um#ErrQOBy%nW{it=+< ze88C=m^iV}g{ffzd(JUW4x~AB*Or$R7O-z#szL4G@-j}&N*Ne5sKS+;)F&R-lPsF; z7vL($Pfs($vha<877FWCI%trdrJF1RsgOa_AibAttj;pL6^?s0Mlrti2+Vm%-B0e7 zg2{q|nCVtxIl_OA=qPn`gE&4aP39FG-zFNo;rm_ZWI^Zs!v4nB5oP5w=LAIbS!ng2 zQ8Qy+nXAv((t-wk^c%0~lO`4=O|Yg<%e8(gwtjMl_nu}Z=@r)Nn`W3@*3`ntenH-f zz@lcOHfZj(md6`XG(`WrGDG)v{nhB_b!F7O{I^8~!QP6H?2&jXN;clGhR-jGN(hs~ zZBCHAMo!@xRyw3IXUI^IzY#3Y*R-L!J~SY;b5=MS7ZZz>TPJ5jUr{Iw*1{BZB`^t!3~YfYz6a+g)`_jN=uzcO2)a{t>$2`t(%;@^Nt8>o;ZdBQs(<>q`)m5X{$Z0kCdHP84&KN#6x3Hf%vYB`CJz<4rLtd^ZM|?$QPHGv^Fvyju zn^~Do)rQgjnk@&htD`Grhxq@A$vxyWiGC_(K{auQ;}EQ&8A@%+S#hy0cr6VsEnDpW z#B=@Zktr!7_04+hpE*fBE3ALMSs8Rw<%FpIQKc0@as5Z1-79WEcHU(*`TrC1yUwi) z&Kaj)H7YBha_>E<11j`sOY_)f(NBHQhp}Dn$=?{BFJC?i;P?ReR@H zWdRQ#nPi;SpS~bt5szz3fDC~X>Z0k!QbmZCRsYAk=)V37ofFFw6!gmx#zQ&s6(j0U zjah%`qtc;ZcSnGyhz_J!OHP{gr(|f&N~6l9b<=YmZYV9-zw#=}QLT2^VQM$11*n!;Og6IZ^+JF*ZjcO`l7BktUJo) zrp)x-bDzcOP(B(hXw0bV%XVjY94M5@Ucca=BH08joTp(@V{+kAsp!q#$}*6y=WJSj zkGE|9jqX<}^|GcLul(n+oAFcL=a7%<=Kb(5OxBE`>nT=cHe;w%#K=gwR3Kviu#c$A zeM(l5Mp0xHj@oX0d2Mrv+tQCc^4=HKGx}BsZ5s35=j6PfDjkcS3OtMo$A%(9p`fq` zX%@m|kuKdWSCLGD`4_T_ZNbmO(o~wqs2C(Ejy|=RIdDmT#(wJ;>#!cUs-=FvzW1zb zeV$R#^~oFGWhN~g^56FWGa{aY{ z$BHVMUU1BShH>rP%KoQpe+IUR5=JP#J-Pnj2Qd+i+f;Txx|1hIgU@eQ(cL~fpHRHP zXBShs5k{*e$j5U7y~phv-PW+=SYyN8@~zmxwm9)PHZYZ+!@MF9EzM0_qiS;)_>e2>;Ww8l93m@|X z`*3zDt9zvDl$ewkljO>Co-t?A-6yC2jd}X`k$t*<)=8?g({$t0f)*tpBb`99?_6$w z=etawR9)OQ|C95d%qxg^CU{`cs=4RX6ui)H#WgqS=CTWm?;luMK5o%PUtTeKiQ&y0 zQ824@{?Mwy=cZ4}sHm^at#!viHiW{NSMVzV-3@f1bDCi5uOIesI8g&-(ob2jBisAN=Nn z+fQqQyWR2rhc(g37=!gx_oMDdkB!2T=g*1Qz_8ImH;zut6vRZ#Nai_2z(Rp~1 zq)Ke~V@Q@5k8O5G96K!Wj=}u}apRU8pCm%%Kw7ze0~)lr1~sPAachjTPZ>)kG?=}j zok5hpKc)r%zd3F?dDt{Cz%)(8nh&gl*2f1woi~5?jaK2y&+3u7>-lG&f7Uwk);-o& zFzbEm_kL!*^#IK3$_lrv=l4ASoF1%)KljX%SEaYP0MEg%yDw7fi@bR3%PP(fPs;bO z^I%YRd>kF`a3rm4WM+OvbjnDhUvBWA>`d0AvP4m4r`32{#(VPbM41!oni|cC8?R)F zSN;xQ&uxGwiWzG)W}zcfI;h+Gl^O{4j&tpey?E(8_pf~HNT)tskGOvJ@>3Ttvi5E~ z{n-iQE*W#?@WN_+`r3vuGaD{SD9?@RZxqfP^4LX-FW#y5*T?^IY}5Q}@0~L`EzNke zem>Ij?#(yM9CgZ5mu$Xtl{G4@V(7-F&TKT#onG2H9@+;QWv&n1->I@H)MnK+C6ok5 zmuQ++keiWirlz=pQ|J$-x(eki;1rxrg%4;ndpCyX=VfN3r+IP;TxM2yN^VYzo>f@D zacc%Xp!8Jah6YG%Ccae|1f-Acl&){W*I(DleT$o@nf}FbGP36%Z54<9M(M|1zUJCX zhfQmr@!^%{uV44l{mag;EnoD=BMTRuzsy>BbxT;=+NP=JPIZ5G)irOvdfBkF^qW_| z^xD-|HZEKCNb4xwyWKFZ!x`Skntxvp6m1HIMi;clCiXOnC`@VfbSajCQ zWrVN=3a0grb!8zTcoWmrjy<&nh>j8t-Lw6txvP1IZk8x}2CGk;NlS5m9LwSiH4}B> zLnG#~t?SpXUY1{y6M4Szhn-tDY~YXLoXBNn(bb((UH4u6#FACP*BbL5IPotC)zUEJ z-RGk=j};l4>Ml7>acT-Xe)0=knf-eOnFX4wu)wY7_aNLbb901rw^o#|v9R7xe^7W) zVThiemm8vIpU4SQj)3M!`+v`mz;1rjR?8CQ6}A6&hR8fxFIMmvQ9T)Rs0U+=u&ob0 z{GYkg@vd2<-}B*zQrNOeArpSq zt`@FV-v3-K;%Jw6)U`yrBXEG$Kw2qWTikoK8C*{ge$xCxd(z|8rteMtkd$i%ay=$FY#PvkZ0}%t{1hb<`Vk= zwB!-zM6Pp4qn3Lq*I3?3<1Tcp$FtNLeXspTeqToTYSP~z&$*hp&fzL0o^|}*z<0vK z)r4cnM=19ct}L!v<6&*G5u?4$y$bp_kuRYsh4*G~f3lk<@=qL+r+>YiJdWkJ?u#^6 zL)R}{KN9xvn?G-ozn<4>{_c6TvF3dS&!p^y?y1Jxlue7`<9hd(_Lp)Yd8?rB8Lk?0 zmNt~XnC3$kaiUWW6&UXp$C5$*s-r2*oo#%bHQh3$|zdq-i%XmJWc%yykJlW&^ zB=1~D92WOzE<^Gl7hz5AO5Q}~xOny=ab!Zq61YCp;ST&@iHo;<8o zG9h(ps}{=@&Na{TuvW@dA{X&yLDS1Z3)ddLX%^bJpCkF?KJldc6uz0kJGKAe{)9VC zD^+n*_I&>&@r?a%cj%?wXpR5wPJCM_mshw)@m>sk`@M6)6ED2*+Fx^hLzp_Hm2iLB z{kis@Yn}F}lnM1r>i-tP%ecl9#|GZRcbs+)_eCl|BEM~rvf|!+@||yy(Ov)0 zR=Bdz(Zt93WHn}qR*imo&{M1Jg1)y@I`Tfh%QNnQ=7r?5R=b9LN_~ICa|nGlQQP5u zQR~m&GobkyF45rw0?*Y-0%Nqro`djztG0@F?r_Iw>D=$)-6VIdc02cb`TjxoJYBY#WOyS%TytF>+TceC(J_{wivc=uWUo(S(UB~DKae4mK!I;3soK0RQfHaB3E zw!kydemNipJyS~=kw@|)@;)CvOf)xYXPC9xdFa^lNhgVC6WmknPhDGShnJHtF4rpB z;;ppptF%exJnaU>zlqv)+@-D!=G_MFd7h2@roq#V+GA#pw$w9EyPRhm+?xG+(!G~w z*O)O{4m)S(K(Dm%(iTmk-oHWmm-1Ua-#19P3IE{#M*+23m1mW9mb|0#A$cM#^6?;i zh&I30779NkPo4$P7^>an`kS`I)r?+f)ke_&Xbhy+=UK=8M0hH6xyKX7X!3uUdkFWf z);QNH>rUaVd8T$9cSi@#QuQj&?Y}>)Wt!#m3)X8Fv2*Lp6YguZ`=#84??StTRlXK! zWEr?t|yCL;&4%p0^*+%IU?dG6NQjg9tWfye-| zeJLF8Cbf-m8n=^WP2fb;x{9%X7`r<`Bwbusd_G%!cc4xFctL}&fZqv@BSBYuxw3Ub%lkDD*rZ<;Z@i{9Wl za;3lMT-Ha(i|$J$i zL$w2bIptpH5A*)x$QE(vIVauwIe$yMav2+(%m24?M}FJkL28dH*Hf%5fCmGqtC`fn zG`T2lMr2dJ()5T_yl;kNe?$T7Vx6_A?Z%EDtfjJ>nR5df_u>(j-D$zh^rwMU_BUWP zk#b)*6M_4FKWrM>d3x<6e8`9 z!JWhzq3yCC1b6d1lDz!_rgIizq?V0kBa%=)SWHeM*^4DuCf{r2_GzHkz8|c#KLM-k zjbODs0<5v00_&kPQfsn*1e@8x6sb+LJHSaQl_~b$2v4Yx^(YH>4QNzf`U?I2uh}>%mNI7?`Cn2MVIKT*@|@vO5Cit2YZMhiI)( z8w(a`W580a4lJi6qqPcc2u9F@0oR9dUlw-4I)^3E=m&)xP4!q3^;!1vXg z2Niyx@Ozd2!xFzfR>Jyth1W>x`VA7lezSUVi^5y&OL=me@K(Ri-U05AoanoRSNd*A zU4PR48hoB`8g=UTV7mQ1m`9CEgTp_9W$H<}{Wf8*{V-T*zYkWE^E7JEpTTx`l}25V z7-lM*t-jp=PtvppsKsg8cJ+LReU$KC72c3|8AW zgEjUmV7-c`ksPK|;+^0`q%IxmegS8w6lW@&t>T=o-d~~K+yHOWwaxG$UE873eN@G> z3$2(=UH%!|r@r0Kx1wXRz*KUQp=H`%fqBr*?n!$y=tU=Fki*x(D*G0&+P(;^QNPyP zUl4Aze+9?Fr3`ZTEjUBPHdEnz_09_Q>jwJ{e%(y2GPG^#*X;@)RWa;U;eB8xJbw?2 zME_?ZgJLgFw_gOa;9Dk~d=o4~0yD|yAWM91>DSnAfj7t#{Z{*K@IIkMzhCl0?RW`%0*T6k z568d=I~RxWzGL^g+TmG4$!5Wg zJzyhw%Yy1}z!pj*3#z{cN5R7^=sgHduy=!#k(Ml|djXuG(w(Vrwn}TRifz8avlT8> zF)vp!tWda8#jr}@2K!9n*$jocs5c!5R9U}WTWM!ZSD^TvfmW}+}4pzd? zY~<&Au-d*1tf3xd!!e0-EE+hQvi=!tr*yL6hQu~g;e7SZ3iZwgN-Y~21-GeRw<~;9 z{kn@%$cC;@z`g4EJ}`&8eGBH2s~n{IE3le!$szTh!FKqNqs>?04fsgNA^u-!U!`}H zOX&-iQ(tIt;YlvEdY#EyMbf*)XH2i4PNCVhqr?nCNRe?11)(<3TC4}1x>kaK!w$W;OS`5QPH>I#sDwcvEL zT!A)2r9M;PES2JHg>%@qTcFKXv8_-XS370-V4 z>w5|hDE!_IFT#gD*7f#kv`#Pp!Bjz=#BRQBdmXb zk@j{lN`+JHQwXQo*vz5mV=%*h7R;o#S%RJs%(njo=1@aR&@(&1JbMh7uf8gZ0c>^p)JC(qbr@=ugTuR$r0)O5E%PH{^YS4?IS79YQFM&(9fz|5G8kL87m7?gG z62>Dz;7IscLT&m8Y*pb=>f5m@CzBXYmcZ3sU^`OE9F(GNroy=@w)qOrR=7~byj*>| zLg5Cxg|9X%TJAzil%Rhkw~s0sWi(R4SSAYGtK!_J@Mncb>{GQ8$_0L+k>CJY=o|1J z7-an*?j{_KeLpw6U;^iN-4YVz+B3)l(PE^n6JJnP*_N-S4!Fa1Qx5W zN~r0jl%2#-s$wovSWXF+lEY6yFJp~TB>Zi#im_EGW%nRhLmiYcXAvkP?oxE%-@&oS zb}4%A5GdNC6uL^lSt{n)Dy=yx=DF%C8D*DJuLT#X7?!KARw!Jl;#s9|10`NcsY%Q` z(AcGvm!!ChQD!OaMJKpl#s9s^;bDmZy$3Dmz4x#nNH4vNdM)8}-YkP}e+9)IR2e+^ z7L?juhV*)pvqoODTiiAHhbnVi~gfGuWcSqWQ~cACG`zu{o4!vPP#2 z%fqkW6!ok0e99DO%8*;h$xMawRh$b|JS)_$n9F`;H@n9vb zRXI`=23FIXFGqglNxdyLo(8)aY_x}f&2|Gg5^j{k+hbs>3Xh`Jl*8NM-~?)MIpc^C z;AHjw6h-w^#>?e!n05%+O8{pm+Gi@1*0x-mtKOfFhAh|4QRyzUhZ0_j&MDWHtC%lj z6ko2bQ17gyA6u@iVk}=yYv={9Q{l}j&b#bZo;+w{pQ5KKeBQ25TJ3VmZa4U-qH7ne zRXHVi1bogGp6pd`?o%l3c)2F+c)2F+csVV&eEYNd^@zfwszi?2BeilpRN~Z!%A54z zuK1)AT{W0McmIwOE^t&i2be-hqdG*x`c3&(|5!fXvkVC;#sHjjitAd*K zHDNC@Q$fx860Aa6DyUzFz#24m1!XPa(bR|vZH&Tk)T0VY{GZ?yg;SA)3R=}qL9tg< z(5k)#&QNL1R4A=#1!W>Uh*m7L`ISHjIoM%$@5Y$9Zlk; zj(iMeQ{rA~$7f(JJqItfL*6Msvw5it5>F}iPcM`{2~zVw(V||YJq4`eG)phiz6NZd zq`XM`jbJnO0WZ@2BPg203kME^qtMk}r2Q6f0_EjJ&L0BXReq+^OYuUl%qHJt{$|f5#FZa z->&cxmC6pRc3z}f;(v}lxfc#gPWCC>uikl2;Q@t*(J)>lS>8FK@Tk37^Xi8197(>s-!d}oJgOc zlG6M$m}+kV)6iO#l<7yHSeYs*+0Vc%h1pmwDk#h_k-wHumaf@+iL?A_+q8W_ov(NP?vJAU&B%BtcTyuJ93+$`0ys zC6XZd-=%W08=GJyQgIWwSG~DU;ePf0dkPOIJd7r+L@FfCBMOhw^Q=TFC<~;5IFSm$ zq4GXbLC%p1@}oDQ6DpC4m%-E2^V7j9M%h1tq4ZCxkcZ!aVlT!5PH&l>KBLGgH9D5o zvNz#M#^Y6#P6Ak`!eTkBqC|FsW8pv*+O&wKk5nvKq^tyg$KS z1x}>ZsD^JBgHssWR%0c23Y2-4YIumP7KxRd&r~>D<#Vn|eLl6m8s18}OVwA)RVpjg z^Ofk0YP8ma;0Bu!7qWUicpEb^)o^}1c$Yl|e1Mj^8o3Psx2aUND||$ywF7QfBe5QE zH{--=BsLt}tKQkCaKC!e6!;t*7QXiaMOJGln8{Z@lM`5qig@2-Xtc^aI`xU2@L-UEtM*I<8;_gAQQ zHZW$X(KaK8HAwPK@KNeT4IJwY?xxpWLw}n*Fs3F&B>B(UV5G4V%%hDSjJ(BzUiy23 zk+;5J6?Jwn`Ah_BXz2zsUsDOnJk((3y0XEM3R~dSV5|_s!8UrmgPDiQ1;?rP+nKu@ zOzHmsK7kcsFmqBh;ES~MwZv5p%A8s)a#jM$%vvq+%5#}ht0gWkm z9b-Y6Q>$exUIUgeE~{l^CSe)z)RLPjupHX)vBod8^k@DKR#KZ-sls=)^k?>flodDv zzSctHB(PbV3ASi+!B!O>rOhV1P&*ZT0V->uqM7_gP+s*&f?zZKfqL44Bj7~Zg?h#m zUxQQ7ll7G2SKu_#s;4wx2T!5zQLn94@9%`BditF2z{@a3h{Khn4OcQY92q;tlV(bP zIKD)6P-aMn6X!2rJGy;1b@nT8r*@jwpqW^)8i=P8jG&Yokl15j6r+*`V(S9?BQp)! zKTC;kTh_2z0s-Ww=o9TbaV1KgJ2B`i8?u*5B1iAeNjDnUClwt)~Ppdit+5h)gT)hvT zLQQNWKN9C!6~j&_XoTL6v_^dazcPPM9dCjQ!C)x4Yl1s&FoK*nQEFd+Q7W8>R5X#> zpTL1CTt^$xM4rC|8{k+IZNWdlM*ELo6Oz`1O#U5gp#+=A|50!hlF+0yOcPXCgeM_; zO|$}C;8f~O6BZkZ`4p8au@yHl7L!!OR@{UgKyaZ-Wht~b(O3B^C>p5=oiFiRLn$<& z=YIt6f=f;4C81>}o=uu4_aJb$%E@8seUm2E<0droui$CK&y)r`z!gTj+$WWfZ*0?1jwFc2iy>q3a893i3G;nfU;uUj^=_A2pJ3NYmPr?33V;lVc3s_HzZPcIyumQc)hD^%y zM%u(S%6TBzj8&u!`ecPl3%a6>lqD=D0k@%H!obnUUK{#do{wdW&_3Qj_IwIRL#1gEI*R9cTVH0=<+JX_&Hm8<0{{uK&WsdzS1 z>)W)Qj2GJAq3~fhb-xWM?aZ4}S)m;oB(6;utuEav4QEk|)yhA4R!* z2kxXr9S!X^*vj+KP~--s^hYCI-+}G)JV*2XAyD2QLy6ad%}D7OzWNy)hg6SIUyb3b z?+J_KjNvN@@BIJjdK0*;iv98bGxM;63)A>)>HZ39FQvu-Mw+M*$dB3ghbC|fL+ z#%;T;w%KM~?Ur@T)RL>DxTaPbQLcnbYHFsSY2?29od0{~d3f}Gf3Ls3=6!}ab3UKX zd}cXw&YANZ&TJ21?GDE1R`ih+>|6`OIpd^IUx#5NZ88PP-QfU6_!J}`hv|0jFxp-U zk`KV)_NYwGN-4-UGN&xw%h+S?xTeXYmZg>xtj39!Pgqu3K4~>RV`-kV zq%rm$hx6^;YHBBqv9~QW&)Cvv&&XF|sZD;`_V2Kd$*%?*%T*e4ur&3sk*TsQ^Nrl&J3rs@(Fg&&g_G9E3hOXW40mi*yjMY0~ z8oGwzhh}JIhQlcJ-(bEycC6(%%L2QUqiF3Jlxq*{OMA4f6E`KzuqDl)e%lbww=&0Cj?z`H7=edV-Vb27jYn9T z`)tE0?;e;$Z4Rfr>tR1;t-~qZ_b`vb4z;}Q6c>o?0JTG0r~vH{+2k2RK$pzrU3 z<_cv5qn62IY#6}|*`%B2k0ZGf{}bLuy^rLKd>-=lA~bhQM{?Kwci5AbHj*pxtuUE- zA4$u+5)NQyK9YG<1iatIA7K77k~7rb;6U2ONZP8&pJ^pe# z4rcvlHl@1=&HB%5?o%y+X3b|dcQBSgv*t4!3-5tuwI}zIIiF_pbYKcJ>pZim*;CN0 z?aZcr|A1y~XEybF5SsOz*|aW`VpeiyXU5;$-1$_$5`pj(Vr4pL; znK{}j zjxyHfSZi~vwK>+>9BXZkwKm6En`5obvDW5TYjdo%Io8@y)a-KZ8JN`zV`wvV(5%iH z!#U_GXx1%^!Ol6*tWOw&g`1&SpD+eHU*ea=&C{7Yjx{t-XY#Pw1kZ`ufp7C$j7!uXznnKwJBq5%2=CHfXrsD&&~ac0!n%mn)?+6^sahK3* zPC|3VT|$ZcU|-ry3D;|3&|Gns*sJUkW_BjUTxFM_We+r0*(GRcfadzT1kX1^b4^`p z^OV{=r8ZAFDZ9D0F>~4pq#uB0HakJ(Gn<`g(Wi8lQSbRFg@$jqE8v41TzGv`Ws zzNp0VW5g49E>me|&XsuYIC0NWMoXoYR%vI>l~!gYcJ3hE%$X~(b0c$BbEbX<$v;DL zrhdkbe$QafIpXF_{fs?RKZAtB#Lb!d86?C*bEbZowt5Uc$XM~Rt+kgq>X1yvwxckS zdlx)i!84P&9#HTuw7hBCX1O_jv+4n`???u!bjDvsvM9_U>lQ z!)(_1Uk{sjzByYRvd12`ba)OmTLfO?vn<< zMEpFD^MxP0llj{`uHIeTWgAMZRdY}8TA0igb~U{$8{W&!J%AzSEJ)P zn8CTGn)bXMW?FkjFt4a){4loBKj1UuUqJ1=4?8nLF5o`Sl`xh(3%CX|jA#5=K&jh7 zp8Z1e>}~;L<`HO~#w?(n{|S?rpD&=iE_g3z`33Zs^RPd%&0Qitm_jdGfc<9g5Gyks zoeQw}4w!+S1&n^dFw^Q9!OUa-~q0O9zv5eIC$$ zY^Xt+A2fIGc}~TdlxI_n8#Q>t#FIF))NrQT5AVf4HF#qu?9ZrM!}!w(Qy5)qINzDQ zL#)hn`fLr}XbUrVMo>cy9)g)%qt!4X{S33MZ8??&R!gOoGnuswHF)C}Xr4#ZFyCke zzvf<64dt51oHdLV#PbQBPqB*2rrbcAU&NJu9=sQ6i?Hekn8w(?2&;a9=~%dkvFH>u zrBO%AK(jGgRXH1LGNILU6B(UPb@FBPo-_C>yPB=_-(qRv-Qdi?zM592i4WuM#A?d&6*Mc)SJNNb${Mu%9d>5+xCSj3;cfK4HS`D#<1FK` zWDUBCVIn@{87vakFb=eXJ$dG}293Sp0BUUw8n1`Ln0u^2<4%}K?W{p#G@MLJTqDiq zDAr;XORXKXc;l0HQfo)8T03gh+EJ_4j#{;7zlXhM)T+gX5@<%PTC|&VGrOxr*CuG* zrm5ww&QhthZ`0JG(d$MS?|fnUuSjISzUEjSDn?xb7pka zSzUE@URP)5b#-=LS7+ySb#`7?htCg^)67Ea?7XgywzQkLnT6I_JL{~Sb@*f{DP|U0 zXXkZwoGUAdn^|a`wRt1$c0KD>&Ae`-o!4!&^SX_+sHLQsv3esGehSUJZX*`H1kH+5 zR)n#4lij}c_@wh3thIaVEKgdVHslTi zIk_)18V=;FdK6tn&|KvmwbxB2ZS9=2b#c=A@T9HrleWfB+8RG;y?2@#50KN;wV}B) zbDA2jfu=2;MnZR(NuN561QS1M;z*bSO`CCO6@T#3B~Pg!PotE^p0^?IFv19@3Pw7M zV3PA0>}OL3IZebLvP^NRiKjUS;1Fjitt08Ib%aOd zI)3KwVd7zGoU>QmfmL&0g7XBVFTkG8Q*f9w88+KE>%Em(=}jKW@`Q@U@^@gkWrXuz z;*ri`Xe^JW4Sxmu+4TMrL41I-0H!!!LRtbe_D6H(y&evAcEe%P9&+ay<~y@siIp(H z9`yvj2oX((oPSv@j~}hY#EILcW^LDrMrVPqt*O4)I9KSZ4+C1g9rVwCv%$ zM7*bS4IJjofEmuWu-Um59(6uYT`4vBDK*dFkz5MHEx89vocpej`>2rnsF3@pa2RWe zc)ls^lzA>z1i32(xt9yMmkW&q^Zd(!{iqS1c}W0FagIao#6ly-JjpUSOKhHUYTrD) zGI_Xns`}#xB$&IMd}**RzP*o9{HY!?cPSxvDIxbKRSNy6CuEHxWL+X;MIvMsB4ouN zWW^w4eIR6gAY^?YWPPAYp-=UK@y?U52X&M}|9SzkJ`l1#5DuoTrl>SaRtXYkl_1P_ z-h|^U3mwL5JaZ>xWhrE3DP(0SjC3A>tSp7B6otm}RMy7KfyVw+Yk#V>Kh@fwYVA+8 z_NQ9=Q?31}*8Ws$f2y@V)!LtG?N7D#r&{|{t^KLi{#0v!sPkf2nRVo!iSu-Fva->ra9~25Nh1qWA}qYolP*4I^~YKa{}gD2_;s-1bftz zHqTM#0-u=fFP-2+&O!LFNymm0DjyqufZWxA+|}Xkwn-UhQ^t8y`Z`-k;XV)K&XOv$ zc?xZwLYt@1?ycl$$UIfaHOmsnyPuG^KGlJ8 z(Mx{nVlm{tH{{(7$h#Ym zd#8|hHz4nBs3~~;qb1x4%?SA(7N$WnLcWKc zX6=_bgTKdB*hp?0E&o zIy==gY#@$=o$4cc)>SavGJ<#JKVps@4O8SAIENPgk(w!e;AhO)KBE1zSIw5T@N>rb zkJNmd&Ql@c3+W3Vq4yB2Hj=r-bmVm5_vvTw#@%!z+z4mOE%0-C*>qLK3}iaJ$)wjv zFSuB4h0B-;e8T8-(LDKPJeh%=9bmX+gmfkz$-7=Nklztb!~Pjq`?H#XwaM@^lY+J6 zL1R1kIWxBzSZmU&R#Q!_gOniP4 zPRF*H`1}|689ibqZO^1s(f((u`SjeG)P+g^l96zxt<#y*g-Kb-I5v~EM+q5ww_~O8 z5_j`hv1IP%^?}A?v#iI=ojsFc{5H$_ZI<=hEXop3it*ko$`THZ54rnCUCgqcoJD`! zL)`dt7UeQISK7U+NSRHE4yf6b$bn{jn@x!hLo>?F#{S>nBAc?zSxtO}O<8GER*}M8 zJLe1x$0u`dbMew9ILoGd&Nw_5`6gu{v*Nj&LpQ@^&V0DS zrmtkqFc&Y)r?jlEgW;Ab)N&PCK8K6wn^ovK0jKke%~jObyKt6`&*S`6MP2NJre{^5 zYZa_vJgK5wo8e+wcoll*Let}_7#U3ZDpKa5_fZ&b$SYo6{|Zg3UQ9etEx~W|)Drw(3#Zd^mf*JqaF&gKj#ro9z0ct?<_1gf zp^2}gB`-n#M8$o2=T)@~Eg!-v>U|l0mPq&m zS1YZZE3KU?t(_~aovW<;RaQQ&5BaOC{8d)|Dl5NMea{)cR;}a8u~u#14We4byFhT8 zGYRfyPF}0_GXB@9{g#dV2!5?<;=RgRb$~NbtvWj#pdj~w{ zZieS=$_4jY;%@g@=(xXDwOZWAp>l7A+T_a)|2x`wGr=q0(Ut7hI=`?ZNy7& zzys9pMscQfCv$CCMQKP{wQHBwXc*z-9&#QCLO z9Y=CKwml0^Vt>6l!~CQk3n#*J)ObC1PJ$PlY0!;->Xl>mYT;a8uN5V#rxZ^@m-8uP zr7QHOpVm{NA7GF(3??>jG81c{?s%$% z2j;^=%qJVD!7_N>IRYIcjk5d-{pqs}*#80y#Cr{t;!7Ax85^kaMKHqVk79)1j1Bd$ zo^fw8b@2<_PS4$p-VLyczPTBVU%|ti7dGSD-_>U1zX}8KFOp3>itCiE z%-+|*w(ip~+{Po^2Z=`-;@kCb9i!z|+E`auPfy=U>v|FHrUh=rw~OF@TH03HRSaxm zR<;%2z6uX9-fm?a_yL}B?}2CB=BTsoZSWj@b1UP3Nx5L@cAq5fxL2sHi~~oYa@Rv` z@-q&YxSx^3IPe<`aHE}ZU=<8<+Q4AP-^w`f5p3-~3fsAxV0-sZu!GUdIAF9y z;fa-5-V0_qtZ<}GGO=;q) zYKJ;V>)K&Qn;rDlpNTt08hW?DKy27S&)Nz@>8(5HP5WVl%@akrc2T^lyNrnr|s=R*Ekr+=(LM6mcdZ27j{v`r7(&f zy_Yh64L4A_y_E4o*uXfjmok0@x8qeTrAO?gjE0T)b}wysCOk-=+DjRa!)9#WOG&Yn zlI~Y~Da(Gfj~06jwx!MQqs5wd1QzaNO!z|WL;F8r16N-A(3k;tGY;>gq`$&L^tFA+ ztb-@G6SYsB;w-RFoyL3n81YKsSw@L{lzju_H#*clJn#+lXFS6J|JF)PB^LOZ`oiyUTE~=5U!)U0Seo&kIoE`c@KO+sVns|V*oOX3P405i3!Om?k z#OV%0omQ~5GZMCUl3)ktAsAuhN6~Ye@XSrHtuq~l+jxZY4Dm?LzfE{1lkXOP&%Cz@ z&s4z;T#Gf~lhJUS^E}+asNRH6zK45hOVk@aX~M5}z$UJ#oAAkJ@DO*}oAAsMc!Kj? z6TRj`cm~^=@X2_1j#klxPhNl*n2|Q&lW(D8_TrNjP#J6S$wcU)zMAmKBIwUqxCx(p z2LtK9P52}Y1{>S($z;gd2H4KnfKT3l9ZX5_iIE>guQ@z zP|~%qiMhl9+TPpn5cf+D(C-$(bEkupA`^C?CpOcAZiV%DqnX}u18kx! z%~}Vej#BCi>KJlX!wvM-W61dsvLXd;<4k?b zj@!rZ$!6la@xU=;R>3Cf^ccRK1rIrYz-C6FV@Tc&9nL$)kiSQrz%vankQzUMPgcVS z?q-~z9yh6zv?W>?{yd~kl9Rb3IqP6Bb#apXjj+AlYx18`=eS3AN}cD5;1u~!z(7XM zQ{>+bLpdLvLh=E{Q#t2e*p@3wp3T`f>$QkSn!VKieCRM{p5}vv8v5g()70G#*q(b7 zr*#MV!f8rj@{+Zm0MFywv$l+9(at;)?WYq#>6QHN!y4avqt?o{{-0G&0X)$wg?||3%{alv|yUYvD<* z^xbH2;CZCEDN6_p!eeeq(GEsQXRWdS2t4ncfR4lY4~@(}(6|Xw3fP)o7uCq$3!|Lv z+7C}|hHd2z7;fXdsYIOh=h_dM7vOo5g3JSa4JyF-9a0KNDPX8`9(LeYqy3P{$Vf|j z4W5u-c#f~K`(rtup+>?5?N5#P!vF_QA*UGznWK=#oEvEuVS5SG0oXPcwsqct;Wi%O zEGHi6EQ52LEFD14-2-{|AD-n48Ua{)06NZBI)EBsHc5^A0s|xr2J)-c0cfm(p?swx z0RJC>9rzMJ0G=^NMM*32wQ=%bTW2Q>xA6#P196@z!a2@-9f)?WcF_I~JnO85=bfLS zQlovARC^77R%Y9t70+hByv8AZ-uGp50_)O#>;m|tSgTIi3=U@Z9%cHpRB%6qkL ztFZ0)=RqtM=#JfSeac@zdZGhrxxZcCntFv|Il4#(yr zI-EQQV4$-PhSCzkX@S?n_7VUioZ~QxHqefCqTqSjMmvr@s;MRCAPmGO?InQ4oICZoK()MAH^BD}KzeG{X zyCE}k-GwvS&v2cy6mF2aVZG%x=S||fX&YTQ(|rT?TQ224;}X&-G%u;E2!K@pmraFE*tlAUnK5t z8Q`ub9_Zc)gPgy>VD}Cf;@%BI-OFHWCk(c8{9$|dAFzXsM_4UUw1->p*hkQz#omIK zNWn{IV36}YY>&@x!OsesHwaq(4IpxPSk6yi^V8SL&9{fz^2L+xe68bt!W6;q%zawR{7e&q)uSG6XTid>ESt5*=th;*nV9O1JPJqa};*F+Jv zi(FeE(h>V2ZWoC}Z)65x7oUUR@9VI&Qzru7W9oEDE{?ssQRE)<_xeVpcY{bD(vq@8l6&$A2lVuPfq?#d$$#&9menj5=|7$-jup92 z2s=gY$L0r~<|D?@gcBkImx>JPM3^q}&?79uVc+1je9q-6!Yq-r$s$8ei45&cIKtB^iM^Hy2t3@6jE%FF6YxcO3ZEm1B78^Sxbc+vu^xnHMIP@*K<5PfHi2?X>`0(2l}QAS{l_Gc zC$Ax}@2OP60+FY0CQKz<5P7CSp3XKVX0T43VGM-!O_Vw~Z9p5*3OJqO!8gC_> z5oy972bPN*tP=UXMC8!jd^W3t$R9!=t$7IHh{&JVaRi%=kan~u;Rlgp*mDe-$2smq zo(SsX6!mx}N#rbP=P1wlsUjCR=3-wF_YDMWaepG>bRqn}dP6_LOrDM;5x(Gzz}I74 z@uK|hA?)MJ4*V`fz^#Pwg!Q5VNe`SODySpjf~a8f2J?3?@euNa>=hN7A}TC|kWDxt zs#PiBdr__9M72R*n@Uk_yNe1ZPdM>*okX?2O4Joy2+g9dOciz25K&i?-k}}gIZ=Ok zMAS9tzLrl@Tsu`%NA`DoT~vf7WDuAWMGoK-A%h6Ni|RB-)b;3(x`t3B>aXbi>nTw; zl#99%J32=aIR2(gQ8&jD&WP<GTBjaQv-%MBPT-+d2OBW>I$x6%`#XDyA&~Ju%Bg z#bQra&Z1p+ii*R=ZshGYOH}+w!g^5&>`&Mys{2w=iRe$nrXC#${4(mD+eGzDBAgI) zR|(;WsJq7!koEU>2!}=8^Q5R=_`cV(1nle0aeev`7K=*4mZTY?lDiPl)%R&p_g+Cj zPCsPyr!EJ~6LlYTdw(9GTGRuXq8`MK2N#GMSS4x@_718S_0au# zC!$ixpNf5H=uF!pYREUD(z_EVMtv_T7yC!IBcOLoDS>=>#Pd0BY>}vOLkN_=U;qIf zg~%$LEUF0kMU=OAj;Kek5>+~0R9OgtW6QC-{D7#6a)MjbcyHzD7xe}Z&?xHNTSZM-F6#X&2;YhN*IrRmPw*+6Y*GKl z)(^4mBaWT!7WGMusQO}|kCCn2Y)Pe9E;Rs)EPa)KZ z4k;HM8c%2t9fqt{tl4PIF>TQoUMf6165W0z;T=M==qny4koU@1LY3&N+7X5lSod+& z0nt~JesvyU72%ZV4qXTrME@m~@B(44=xg2*eeLU_JH9G9Vxs6sj^+A;RN3KvLHWpden@z4`jyuB0ejdKmp+f|-)KC~?Tym9mGpd4@9pZ9T! zym9mOn2EeQrTmQ60(sRNSG<>X#vA7&)vC2O&adaHj^4N*t8>iP1I)4hJoV4>#sgTt z_4LhYDd~T^<(6Cf6qigW%^#Cj-YGUZCazQVgihW)osx3P^2Zc)>P%#OZb5NLVQx|R zgZYKo6=j_UXBCyD{117Y!(Wge1ST9#j2)G6ln=;;49x7^I{ zU+|kJya9I$|8M23=wjX@ogk%>&l|XTQZAi%*T(z;dmOQB_H_C`$8?e;$(1sjzlgn^ z2_|Jcp}>Wc|0e_czt?BVUd0TSc_J8v7yO!3n z`2Wd$N%9aRms-n;(bS1D@C^d~Uv9_$pKR00>_7L9!rb)#{YQKB{BzM7{Uw0b6-4_q zU#kk^Ew9$J&$c|DZzt{Pr&rQuuIBBrzwmC_wbGGyWg>ZJsT1!ZMe!yS-x$Jce2s-# z;9C{cg88P@9ky)zk~^O7Mk`K`?!4jFgSVQ@uOQyddr|k$o_kYcNs=sm6(GmtIB&9? zloMPQ9F!w+h)as!<*+oXKoz8dRfq~zVRBL2s+DT3+NieTD5m48oocVHP*LEWf2tDDr#>Tjxxx<%cpZd14O?n|_sQ!y%* z_d()RHx;iERCkrAdZ;^9Pj#2NTm4=3%5Ul()l2nOeN>W4R(;jIsvmD>3{dx}`_%*L zK{ZefQV;PS#9+lc25N{(S3~8zT#$XTUky_kYPiZ&Bh*OsuzEygsce;_MyXsiT8&Y8 zDqoFN<5YnvR7I*-m8eHmsWeKHDpTdELXB6CsmIj>HBmjm>ivJPcK<2$G;8;tRsU4a zv7-J3R~1Ivf7TdbgXV$z}mJNR+24d71&Z%c`a98v6^co zYqP#q->7fZYPCjv$NH%6Rh{}l{ixQmHi;EUtR33KDx9BKv9g&}AFRt@B?Idh)J|od z_wQDF)UP}}H&3{E;>^=Wp7g2T)gg6Q{lPP}KY3bq)I5(;CwRVe$~^Hg&u@6razS0> zIfpOI`j?uBYtB%v%bi7W`-F2ew zq3_f^^%RJ4-B0(|1N43Re*J)cP!H6D^g}vD57wzVO%KuO zdZ-?zGxTtssYmFM`eFTu&eGXBM~~9EdbA#+^K`x*tHVN9z^z-@!{i1$JzpN+eSM;m;HT}ANLr>Ok z>bLaU`W^kQo}%B=@9Tf*sd}3JK>u5Rs6W!v^~d@X{U1F;e=2|KnS6WpGx=7}(zEp( z{ki@^&(&4>zj~gYudDT!dVyZ3YxE+$STE5_^)kI&f2CLGm3o!_T7RRz)vNUy{hhAW z-|IU4gZ@#k)$8VYNjK=tdW+twx9OktcD}v2Q~#oO>D_vd{#EbQzv+E? zzi!k``hY&Df7gffVf}}0)_>|F`lvppkLwfqq&}rj>ofYSKBv#?3;LpVYsV!n<gbAa zMY^tYb#h(rigNwcb%X0hS7+BvuA5zdb9Hgu;=0v!o9lMh9j<6sj4RgF)fMOJ=8AVE zxVpO%T|HcPx_Y|qa^3CvyXziTFIR6@A6Jqq+11x|udAP{ziWW&KG*%O2V4)j2D%2h z9&)9)2D?&SX|5rzbk|VVFjt0ac+lw5tekRY1b)dCrNymFa!d1zN98cV$Sutsr(QufnXH(&D1PEYCKeS9U2Al7K9`3G7uorno3~Tws=G8`>u)zciP`0O&9$45 zWS@|bTwgRW*=tR%XB&|05u9r`q4!?0Cv?oEc*wmz0U=|2(Xe}SiVF*~JT`}ox$KY7 zewU67&ASx$>zAEX>X!!s`db$UM=Z%O)lN|NvKV1KX8`JS!rKS1Y?4IOYv zZs^!c@v!?YGbC)>|NJqgG&i@XAggFpeonysSveKuxd8=s6L$aQ`3f%kBjA3Ig9_}% z?|w?}R{#PY^c-L0IsU=R4hbu|?2mv4J;xV$99)!DQe0MET3nKs>q;&f6FAUY z_+oG22YL!$Y&We2=2aAp$ttZVEXb-TZ&iHxUjZo|8)&H%B`oDKwPB@~{SlDjv7ywn z8SFW#%x*#lUvgb&*`;_`>SY4L$}jsPAk`zL+;03*O_i3LDoyiLX@#ds)4Zjs@Rlmg zQ>qHP@lPwwFB;=tVc06|@-nrmxcslcG;h^cc($SGmn;l@?6UZ<%i|Y_h3QF>_Y}97!+C3pGxuh%~18rhZ za=B-3aDRphn-n&%FyD+lo-=L-Yhz?M_*!G zpjV$?2D@D7^H0qq=4TZ8-8 z%axi{5$LtXH7GCN)rT;sEZ?K1S7Mlv*J4o{Z^o9tL$Z8s2+O^!L_rv0%NcCSV`EoT zc=op(Y7_nK@qXE4_a9>l=RYd9pgb$kE6Z;pJ6vXGxhx~M`w zo*!83DW9t}uh_GvPpm)JofNX1LV68wl~BMO0`~Y98_$Osxh;0J`9F4sd4+na&AZe7 z5n>Ov(Ew{-j31(70&H@OH6SiJIyh@|ett}JbZpm_ShpBoEY=shv^UO|*3B1-_r(%? zvF^TDVoNOEr!Brkf0A!si>{bBpWGOqv>2bX7@xFQpR`z?#j!0?qGNq_#`@&N`s|GL zNsjeNj`d0I>XY2nC%LOna#x=(y83i<_37y9)6vzZqpMFxSD%hJpN=@6jyRu=IG>I< zpN>m@iSy}*^XZ85>4@{`i1%3)?>i#icSOAJh|2i9Q{P zJ{^fZ9f>|2i3y&*(ak3<;gYl#UGx}l%Z-U{*&7qxqAMo4MORF8i>{dH7F{vXExKZ& zTgnp?-BO;I=tQsnmc9`aPu?zc=tH3 zR>!cxuXIK^NY;C=DB3Tv2-IkNokuEq{cTPV%(V_?Xx@>#x|D=)OVyx#$^JUQueZ#>9Av zN)~TtjgRTtEjIMAT;?pyVYAB0f>QqX0PE@4m{?nfY`v0WlY(>0%9-1j=Z^A-j_u1y zI=3Xx^H*0}ld&<3y<92Ta^;1U=P_CL#LGfQ;}UN?%zDB5M{rhYY4KwPxueSiZLFds z#BS~VV$aS|#g7$vV%f#zd7fBB$*3ZaYESoxjqwa0Y`rEYCWd(hjw;G7%WchEw=_R% z4AqN!yvO#j-8D9*PrN5DwQDT#Sim0@C9SLsqShW?E@P7K4`Y?bmZWaMG%?eBvI;_T zA7@g?wP1c$K~QdCN%;h-FoLy^XjYu|E!`h1@?kAHa6DwBevZOGh$rTvd7t-#vQ+(#?&$5Zb`Io@2J z0Wmf<-VOq6ds_q1QGwITTN`W59|pPQ!Iajs!=s~nw=h(48STy8@`oq4Cr_f+j>P!Z z=BfZ+RTPxxmlRC!?)Fr7Y@!`2Vq-m{A6u^vdd0OuT1l?CVl>YZJV*8J?Vnd%QI^|^ z&R$SFCO;>u0MkN@cc`I)@)BP(yFA!>*3&MGk8Mi`8r+vt5&ulY#)w4wB3-?^7-Kwn zqM7p9%+cLjB8e@L_?AdQOQf4O64xRpw&n0{Eh@UTNbcGqC$=Spfq;M56Wb!kZcR#D zOXjXEX2kj;E!tyS?CI)@wCsv&Q4!N3$0k@^EvCl#GPg*MYq2M;#h$np$+lSL@NT{W z`sCOYTV37aJ$<2Dyk~go7VjAXyCpD8m1Gwb=Zp)albfx-=dXg%o^5Hl_wRBp`9|gX zTLz9AXSczl^XcxRvWp-0Xz3Lb&@ZNYx45o$(=8^%v%i$y5?F4=j*1db#@?PL*^M)x zO)vHC_YO(jdV9_5)77)TV6^ABKAussTc3mgPgAyvnAhePjnA&YmU0vG>@Y#iZX8t z&ux8K+!l2?C{SAUXMf09>!l2?C{ zSAUXMf09>!l2?C{SAUXMf09>!l2?DSSAViszh|D3+}ATtVe8eO?A4#_)t~Iu@0rJt z&#OP#t3TPRKiR9luQ$D~H@$C5y4SA0Uc37C)uTtdMvu-X6v+H&o*4A+@ce5LBL5%3 CZGjvB literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/StandardSymbolsPS.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/StandardSymbolsPS.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c3e0738e01e045ef9ad2c64c853b29ac0e5c29c1 GIT binary patch literal 24400 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 T>A>1U)ewDpESFykb?yHj7_w8% literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFieldTests.cs b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFieldTests.cs new file mode 100644 index 00000000..99171d10 --- /dev/null +++ b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFieldTests.cs @@ -0,0 +1,434 @@ +using FluentAssertions; +using PdfSharp.Drawing; +using PdfSharp.Fonts; +using PdfSharp.Fonts.StandardFonts; +using PdfSharp.Pdf; +using PdfSharp.Pdf.AcroForms; +using PdfSharp.Pdf.Annotations.enums; +using Xunit; + +namespace PdfSharp.Tests.AcroForms +{ + public class AcroFieldTests + { + [Fact] + public void Added_Fields_Are_Present() + { + var doc = new PdfDocument(); + var acroForm = doc.GetOrCreateAcroForm(); + + acroForm.Should().NotBeNull(); + acroForm.Fields.Elements.Count.Should().Be(0); + acroForm.AddTextField(field => + { + field.Name = "text"; + }); + acroForm.Fields.Elements.Count.Should().Be(1); + } + + [Fact] + public void TextFieldValue() + { + var doc = CreateTestDocument(); + var field = GetAllFields(doc).FirstOrDefault(f => f.FullyQualifiedName == "FirstName"); + field.Should().NotBeNull(); + field?.GetType().Should().Be(); + var textField = field as PdfTextField; + textField.Should().NotBeNull(); + if (textField != null) + { + textField.Value.Should().BeEmpty(); + textField.Text.Should().BeEmpty(); + + const string theValue = "TestText"; + textField.Text = theValue; + + textField.Text.Should().Be(theValue); + textField.Value.ToString().Should().Be(theValue); + + // reset to null + textField.Text = null!; + + textField.Text?.Should().BeEmpty(); + textField.Value.Should().BeEmpty(); + } + } + + [Fact] + public void CheckBoxValue() + { + var doc = CreateTestDocument(); + var field = GetAllFields(doc).FirstOrDefault(f => f.FullyQualifiedName == "Interest_cooking"); + field.Should().NotBeNull(); + field?.GetType().Should().Be(); + var checkBoxField = field as PdfCheckBoxField; + checkBoxField.Should().NotBeNull(); + if (checkBoxField != null) + { + checkBoxField.Checked.Should().BeFalse(); + checkBoxField.Value.Should().Be("Off"); + + checkBoxField.Checked = true; + + checkBoxField.Checked.Should().BeTrue(); + checkBoxField.Value.Should().Be("Yes"); + + checkBoxField.Checked = false; + + checkBoxField.Checked.Should().BeFalse(); + checkBoxField.Value.Should().Be("Off"); + + checkBoxField.Value = "Yes"; + checkBoxField.Checked.Should().BeTrue(); + + checkBoxField.Value = "Off"; + checkBoxField.Checked.Should().BeFalse(); + + Action act = () => checkBoxField.Value = "Nope"; // invalid value + act.Should().Throw(); + } + } + + [Fact] + public void RadioButtonValue() + { + var doc = CreateTestDocument(); + var field = GetAllFields(doc).FirstOrDefault(f => f.FullyQualifiedName == "Group_Gender.Gender"); + field.Should().NotBeNull(); + field?.GetType().Should().Be(); + var radioButtonField = field as PdfRadioButtonField; + radioButtonField.Should().NotBeNull(); + if (radioButtonField != null) + { + radioButtonField.Value.Should().Be("Off"); + radioButtonField.SelectedIndex.Should().Be(-1); + radioButtonField.Options.Should().Equal(new[] { "male", "female", "unspecified" }); + radioButtonField.ExportValues.Should().Equal(new[] { "male", "female", "unspecified" }); + + radioButtonField.SelectedIndex = 0; + radioButtonField.SelectedIndex.Should().Be(0); + radioButtonField.Value?.Should().Be("male"); + + radioButtonField.SelectedIndex = 1; + radioButtonField.SelectedIndex.Should().Be(1); + radioButtonField.Value?.Should().Be("female"); + + radioButtonField.SelectedIndex = 2; + radioButtonField.SelectedIndex.Should().Be(2); + radioButtonField.Value?.Should().Be("unspecified"); + + radioButtonField.SelectedIndex = -1; + radioButtonField.SelectedIndex.Should().Be(-1); + radioButtonField.Value?.Should().Be("Off"); + + radioButtonField.Value = "male"; + radioButtonField.SelectedIndex.Should().Be(0); + radioButtonField.Value?.Should().Be("male"); + + radioButtonField.Value = "female"; + radioButtonField.SelectedIndex.Should().Be(1); + radioButtonField.Value?.Should().Be("female"); + + radioButtonField.Value = "unspecified"; + radioButtonField.SelectedIndex.Should().Be(2); + radioButtonField.Value?.Should().Be("unspecified"); + + radioButtonField.Value = null!; + radioButtonField.SelectedIndex.Should().Be(-1); + radioButtonField.Value?.Should().Be("Off"); + + Action act = () => radioButtonField.Value = "Nope"; // invalid value + act.Should().Throw(); + + act = () => radioButtonField.SelectedIndex = 10; + act.Should().Throw(); + } + } + + [Fact] + public void ComboBoxValue() + { + var doc = CreateTestDocument(); + var field = GetAllFields(doc).FirstOrDefault(f => f.FullyQualifiedName == "SelectedNumber"); + field.Should().NotBeNull(); + field?.GetType().Should().Be(); + var comboBoxField = field as PdfComboBoxField; + comboBoxField.Should().NotBeNull(); + if (comboBoxField != null) + { + comboBoxField.SelectedIndex.Should().Be(-1); + comboBoxField.Value.Should().BeEmpty(); + comboBoxField.Options.Should().Equal(new[] { "One", "Two", "Three", "Four", "Five" }); + + comboBoxField.SelectedIndex = 0; + comboBoxField.SelectedIndex.Should().Be(0); + comboBoxField.Value.Should().Be("One"); + + comboBoxField.SelectedIndex = 4; + comboBoxField.SelectedIndex.Should().Be(4); + comboBoxField.Value.Should().Be("Five"); + + comboBoxField.Value = "One"; + comboBoxField.SelectedIndex.Should().Be(0); + comboBoxField.Value.Should().Be("One"); + + comboBoxField.Value = "Five"; + comboBoxField.SelectedIndex.Should().Be(4); + comboBoxField.Value.Should().Be("Five"); + + comboBoxField.SelectedIndex = -1; + comboBoxField.SelectedIndex.Should().Be(-1); + comboBoxField.Value.Should().BeEmpty(); + + // invalid value + Action act = () => comboBoxField.Value = "Ten"; + act.Should().Throw(); + + act = () => comboBoxField.SelectedIndex = 10; + act.Should().Throw(); + } + } + + [Fact] + public void ListBoxValue() + { + var doc = CreateTestDocument(); + var field = GetAllFields(doc).FirstOrDefault(f => f.FullyQualifiedName == "SelectedColor"); + field.Should().NotBeNull(); + field?.GetType().Should().Be(); + var listBoxField = field as PdfListBoxField; + listBoxField.Should().NotBeNull(); + if (listBoxField != null) + { + listBoxField.SelectedIndices.Should().BeEmpty(); + listBoxField.Value.Should().BeEmpty(); + listBoxField.Options.Should().Equal(new[] { "Blue", "Red", "Green", "Black", "White" }); + + listBoxField.SelectedIndices = new[] { 0 }; + listBoxField.SelectedIndices.Should().Equal(new[] { 0 }); + listBoxField.Value.Should().Equal(new[] { "Blue" }); + + listBoxField.SelectedIndices = new[] { 0, 4 }; + listBoxField.SelectedIndices.Should().Equal(new[] { 0, 4 }); + listBoxField.Value.Should().Equal(new[] { "Blue", "White" }); + + listBoxField.SelectedIndices = new[] { 1, 3 }; + listBoxField.SelectedIndices.Should().Equal(new[] { 1, 3 }); + listBoxField.Value.Should().Equal(new[] { "Red", "Black" }); + + listBoxField.Value = Array.Empty(); + listBoxField.SelectedIndices.Should().BeEmpty(); + listBoxField.Value.Should().BeEmpty(); + + listBoxField.Value = new[] { "Green", "Blue" }; + listBoxField.SelectedIndices.Should().Equal(new[] { 0, 2 }); + listBoxField.Value.Should().Equal(new[] { "Blue", "Green" }); + + listBoxField.Value = null!; + listBoxField.SelectedIndices.Should().BeEmpty(); + listBoxField.Value.Should().BeEmpty(); + + listBoxField.Value = new[] { "Green" }; + listBoxField.SelectedIndices.Should().Equal(new[] { 2 }); + listBoxField.Value.Should().Equal(new[] { "Green" }); + + listBoxField.SelectedIndices = null!; + listBoxField.SelectedIndices.Should().BeEmpty(); + listBoxField.Value.Should().BeEmpty(); + + Action act = () => listBoxField.SelectedIndices = new[] { 1, 10 }; // invalid index + act.Should().Throw(); + + act = () => listBoxField.Value = new[] { "Red", "Orange" }; // Orange does not exist + act.Should().Throw(); + } + } + + private static PdfDocument CreateTestDocument() + { + // code copied from AcroFormsTests with minimal modifications + + // we use one of the 14 standard-fonts here (Helvetica) + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + var document = new PdfDocument(); + var page1 = document.AddPage(); + var page2 = document.AddPage(); + var acroForm = document.GetOrCreateAcroForm(); + var textFont = new XFont(StandardFontNames.Helvetica, 12, XFontStyleEx.Regular, + new XPdfFontOptions(PdfFontEncoding.Unicode, PdfFontEmbedding.EmbedCompleteFontFile)); + + double x = 40, y = 80; + var page1Renderer = XGraphics.FromPdfPage(page1); + var page2Renderer = XGraphics.FromPdfPage(page2); + page1Renderer.DrawString("Name of Subject", textFont, XBrushes.Black, x, y); + page2Renderer.DrawString("For Demo purposes. Modify the fields and observe the field on the first page is modified as well.", + textFont, XBrushes.Black, x, y); + + y += 10; + // Text fields + var firstNameField = acroForm.AddTextField(field => + { + // Note: Chromium-based browsers (ie. Edge/Chrome) do not render fields without a name + field.Name = "FirstName"; + field.Font = textFont; + field.ForeColor = XColors.DarkRed; + //field.Text = string.Empty; + // place annotation on both pages + // if the document is opened in a PdfReader and one of the Annotations is changed (e.g. by typing inside it), + // the other Annotation will be changed as well (as they belong to the same field) + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 100, 20))); + }); + field.AddAnnotation(annot => + { + // Note: The border is currently always solid and 1 unit wide + annot.BorderColor = XColors.Green; + annot.BackColor = XColors.DarkGray; + annot.AddToPage(page2, new PdfRectangle(new XRect(x, y, 100, 20))); + }); + }); + var lastNameField = acroForm.AddTextField(field => + { + field.Name = "LastName"; + field.Font = textFont; + //field.Text = string.Empty; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x + 10 + 100, y, 100, 20))); + }); + field.AddAnnotation(annot => + { + annot.AddToPage(page2, new PdfRectangle(new XRect(x + 10 + 100, y, 100, 20))); + }); + }); + + y += 40; + // Checkbox fields + page1Renderer.DrawString("Subject's interests", textFont, XBrushes.Black, x, y); + y += 10; + var cbx1 = acroForm.AddCheckBoxField(field => + { + field.Name = "Interest_cooking"; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + }); + page1Renderer.DrawString("Cooking", textFont, XBrushes.Black, x + 20, y + 10); + y += 20; + var cbx2 = acroForm.AddCheckBoxField(field => + { + field.Name = "Interest_coding"; + //field.Checked = true; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + }); + page1Renderer.DrawString("Coding", textFont, XBrushes.Black, x + 20, y + 10); + y += 20; + var cbx3 = acroForm.AddCheckBoxField(field => + { + field.Name = "Interest_cycling"; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + }); + page1Renderer.DrawString("Cycling", textFont, XBrushes.Black, x + 20, y + 10); + + y += 40; + // RadioButton fields + page1Renderer.DrawString("Subject's gender", textFont, XBrushes.Black, x, y); + y += 10; + // used as parent-field for the radio-button (testing field-nesting) + var groupGender = acroForm.AddGenericField(field => + { + field.Name = "Group_Gender"; + }); + acroForm.AddRadioButtonField(field => + { + field.Name = "Gender"; + // add individual buttons + field.AddAnnotation("male", annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + page1Renderer.DrawString("Male", textFont, XBrushes.Black, x + 20, y + 10); + y += 20; + field.AddAnnotation("female", annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + page1Renderer.DrawString("Female", textFont, XBrushes.Black, x + 20, y + 10); + y += 20; + field.AddAnnotation("unspecified", annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + page1Renderer.DrawString("Unspecified", textFont, XBrushes.Black, x + 20, y + 10); + // as an alternative, you can also use field.SelectedIndex + //field.Value = "male"; + groupGender.AddChild(field); + }); + + y += 40; + // ComboBox fields + page1Renderer.DrawString("Select a number:", textFont, XBrushes.Black, x, y + 10); + acroForm.AddComboBoxField(field => + { + field.Name = "SelectedNumber"; + field.Options = new[] { "One", "Two", "Three", "Four", "Five" }; + //field.SelectedIndex = 2; // select "Three" + field.Font = textFont; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x + 100, y, 100, 20))); + }); + }); + + y += 40; + // ListBox fields + page1Renderer.DrawString("Select a color:", textFont, XBrushes.Black, x, y + 10); + acroForm.AddListBoxField(field => + { + field.Name = "SelectedColor"; + field.Options = new[] { "Blue", "Red", "Green", "Black", "White" }; + //field.SelectedIndices = new[] { 1 }; // select "Red" + field.Font = textFont; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x + 100, y, 100, 5 * textFont.Height))); + }); + }); + + y += 100; + acroForm.AddPushButtonField(button => + { + button.Name = "SubmitButton"; + button.Caption = "Submit"; + button.Font = textFont; + button.AddAnnotation(annot => + { + // TODO: these properties should be part of the field and propagated down to the annotations + annot.Highlighting = PdfAnnotationHighlightingMode.Invert; + annot.BorderColor = XColors.Gray; + annot.BackColor = XColors.LightBlue; + annot.Border.Width = 2; + annot.Border.BorderStyle = PdfAnnotationBorderStyle.Solid; + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 100, 20))); + }); + }); + // TODO: Signature fields + + return document; + } + + private static IEnumerable GetAllFields(PdfDocument doc) + { + return doc.AcroForm?.GetAllFields() ?? Array.Empty(); + } + } +} \ No newline at end of file diff --git a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFormsTests.cs b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFormsTests.cs new file mode 100644 index 00000000..a30d9746 --- /dev/null +++ b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFormsTests.cs @@ -0,0 +1,929 @@ +using FluentAssertions; +using PdfSharp.Drawing; +using PdfSharp.Fonts; +using PdfSharp.Fonts.StandardFonts; +using PdfSharp.Pdf; +using PdfSharp.Pdf.AcroForms; +using PdfSharp.Pdf.Annotations.enums; +using PdfSharp.Pdf.IO; +using PdfSharp.Quality; +using System.Reflection; +using Xunit; +using Xunit.Abstractions; + +namespace PdfSharp.Tests.AcroForms +{ + public class AcroFormsTests + { + private readonly ITestOutputHelper output; + + public AcroFormsTests(ITestOutputHelper outputHelper) + { + output = outputHelper; + + var baseDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + Directory.SetCurrentDirectory(Path.Combine(baseDir!, "..", "..", "..")); + } + + [Fact] + public void CanImportForm() + { + IOUtility.EnsureAssets("pdfsharp-6.x\\pdfs\\DocumentWithAcroForm.pdf"); + var pdfPath = IOUtility.GetAssetsPath("pdfsharp-6.x\\pdfs\\DocumentWithAcroForm.pdf")!; + using var fs = File.OpenRead(pdfPath); + var inputDocument = PdfReader.Open(fs, PdfDocumentOpenMode.Import); + + PdfPage? lastPage = null; + // import into new document + var copiedDocument = new PdfDocument(); + foreach (var page in inputDocument.Pages) + { + copiedDocument.AddPage(page); + lastPage = page; + } + // import AcroForm + copiedDocument.ImportAcroForm(inputDocument.AcroForm!); + + copiedDocument.AcroForm.Should().NotBeNull(); + + var fieldsInInputDocument = GetAllFields(inputDocument); + var fieldsInCopiedDocument = GetAllFields(copiedDocument); + fieldsInCopiedDocument.Count.Should().Be(fieldsInInputDocument.Count); + + // fill all fields + FillFields(fieldsInCopiedDocument); + + var outFileName = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/AcroForms/FilledForm.pdf"); + using var fsOut = File.Create(outFileName); + copiedDocument.Save(fsOut); + fsOut.Close(); + + VerifyFieldsFilledWithDefaultValues(outFileName); + } + + [Fact] + public void CanImportMultipleForms() + { + IOUtility.EnsureAssets("pdfsharp-6.x\\pdfs\\DocumentWithAcroForm.pdf"); + IOUtility.EnsureAssets("pdfsharp-6.x\\pdfs\\DemoFormWithCombs.pdf"); + var pdfPath = IOUtility.GetAssetsPath("pdfsharp-6.x\\pdfs")!; + + GlobalFontSettings.ResetAll(); + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + var files = new[] { "DocumentWithAcroForm.pdf", "DemoFormWithCombs.pdf" }; + var copiedDocument = new PdfDocument(); + var importedFields = new List(); + foreach (var file in files) + { + using var fs = File.OpenRead(Path.Combine(pdfPath, file)); + var inputDocument = PdfReader.Open(fs, PdfDocumentOpenMode.Import); + foreach (var page in inputDocument.Pages) + copiedDocument.AddPage(page); + copiedDocument.ImportAcroForm(inputDocument.AcroForm!); + importedFields.AddRange(GetAllFields(inputDocument)); + } + var fieldsInCopiedDocument = GetAllFields(copiedDocument); + fieldsInCopiedDocument.Count.Should().Be(importedFields.Count); + + FillFields(fieldsInCopiedDocument); + + var outFileName = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/AcroForms/FilledForm_multiple.pdf"); + using var fsOut = File.Create(outFileName); + copiedDocument.Save(fsOut); + fsOut.Close(); + + VerifyFieldsFilledWithDefaultValues(outFileName); + } + + [Fact] + public void CanImportSameFormMultipleTimes() + { + IOUtility.EnsureAssets("pdfsharp-6.x\\pdfs\\DocumentWithAcroForm.pdf"); + var pdfPath = IOUtility.GetAssetsPath("pdfsharp-6.x\\pdfs")!; + + GlobalFontSettings.ResetAll(); + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + var files = new[] { "DocumentWithAcroForm.pdf", "DocumentWithAcroForm.pdf" }; + var copiedDocument = new PdfDocument(); + var importedFields = new List(); + foreach (var file in files) + { + using var fs = File.OpenRead(Path.Combine(pdfPath, file)); + var inputDocument = PdfReader.Open(fs, PdfDocumentOpenMode.Import); + foreach (var page in inputDocument.Pages) + copiedDocument.AddPage(page); + copiedDocument.ImportAcroForm(inputDocument.AcroForm!, null, (remoteField, localField) => + { + output.WriteLine("Field import: {0} -> {1}", remoteField.FullyQualifiedName, localField.FullyQualifiedName); + }); + importedFields.AddRange(GetAllFields(inputDocument)); + } + var fieldsInCopiedDocument = GetAllFields(copiedDocument); + fieldsInCopiedDocument.Count.Should().Be(importedFields.Count); + // root field names should be distinct + var rootNames = copiedDocument.AcroForm!.Fields.Names; + rootNames.Distinct().Count().Should().Be(rootNames.Length); + + FillFields(fieldsInCopiedDocument); + + var outFileName = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/AcroForms/FilledForm_same_multiple.pdf"); + using var fsOut = File.Create(outFileName); + copiedDocument.Save(fsOut); + fsOut.Close(); + + VerifyFieldsFilledWithDefaultValues(outFileName); + } + + [Fact] + public void CanFilterFieldsDuringImport() + { + IOUtility.EnsureAssets("pdfsharp-6.x\\pdfs\\DocumentWithAcroForm.pdf"); + var pdfPath = IOUtility.GetAssetsPath("pdfsharp-6.x\\pdfs")!; + + GlobalFontSettings.ResetAll(); + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + using var fs = File.OpenRead(Path.Combine(pdfPath, "DocumentWithAcroForm.pdf")); + var inputDocument = PdfReader.Open(fs, PdfDocumentOpenMode.Import); + + PdfPage? lastPage = null; + // import into new document + var copiedDocument = new PdfDocument(); + foreach (var page in inputDocument.Pages) + { + copiedDocument.AddPage(page); + lastPage = page; + } + // import AcroForm + copiedDocument.ImportAcroForm(inputDocument.AcroForm!, + remoteField => + { + // only import TextFields + return remoteField is PdfTextField; + }, + (remoteField, localField) => + { + output.WriteLine("Field import: {0} -> {1}", remoteField.FullyQualifiedName, localField.FullyQualifiedName); + } + ); + + copiedDocument.AcroForm.Should().NotBeNull(); + + var fieldsInInputDocument = GetAllFields(inputDocument).Where(f => f is PdfTextField).ToList(); + var fieldsInCopiedDocument = GetAllFields(copiedDocument); + fieldsInCopiedDocument.Count.Should().Be(fieldsInInputDocument.Count); + + // fill all fields + FillFields(fieldsInCopiedDocument); + + var outFileName = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/AcroForms/FilledForm_filtered.pdf"); + using var fsOut = File.Create(outFileName); + copiedDocument.Save(fsOut); + fsOut.Close(); + + VerifyFieldsFilledWithDefaultValues(outFileName); + } + + [Fact] + public void ReturnsCorrectChildFields() + { + GlobalFontSettings.ResetAll(); + // we use one of the 14 standard-fonts here (Helvetica) + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + var document = new PdfDocument(); + var page1 = document.AddPage(); + var acroForm = document.GetOrCreateAcroForm(); + var textFont = new XFont(StandardFontNames.Helvetica, 12, XFontStyleEx.Regular, + new XPdfFontOptions(PdfFontEncoding.Unicode, PdfFontEmbedding.EmbedCompleteFontFile)); + + var personField = acroForm.AddGenericField(field => + { + field.Name = "Person"; + field.Flags = PdfAcroFieldFlags.DoNotSpellCheckTextField; + }); + var nameField = acroForm.AddGenericField(field => + { + field.Name = "Name"; + field.Flags = PdfAcroFieldFlags.Required; + field.DefaultValue = new PdfString("Please enter"); + personField.AddChild(field); + }); + var addressField = acroForm.AddGenericField(field => + { + field.Name = "Address"; + personField.AddChild(field); + }); + var titleField = acroForm.AddTextField(field => + { + field.Name = "Title"; + field.MaxLength = 100; + field.Font = textFont; + nameField.AddChild(field); + }); + var firstNameField = acroForm.AddTextField(field => + { + field.Name = "FirstName"; + field.MaxLength = 100; + field.Font = textFont; + nameField.AddChild(field); + }); + var lastNameField = acroForm.AddTextField(field => + { + field.Name = "LastName"; + field.MaxLength = 100; + field.Font = textFont; + nameField.AddChild(field); + }); + var zipCodeField = acroForm.AddTextField(field => + { + field.Name = "ZipCode"; + field.MaxLength = 10; + field.Font = textFont; + addressField.AddChild(field); + }); + var cityField = acroForm.AddTextField(field => + { + field.Name = "City"; + field.MaxLength = 100; + field.Font = textFont; + addressField.AddChild(field); + }); + var streetField = acroForm.AddTextField(field => + { + field.Name = "Street"; + field.MaxLength = 100; + field.Font = textFont; + addressField.AddChild(field); + }); + var streetNumberField = acroForm.AddTextField(field => + { + field.Name = "StreetNumber"; + field.MaxLength = 10; + field.Font = textFont; + addressField.AddChild(field); + }); + + var personFieldFromForm = acroForm.Fields["Person"]!; + personFieldFromForm.Should().NotBeNull(); + + var nameFieldFromForm = personFieldFromForm.Fields["Name"]!; + nameFieldFromForm.Should().NotBeNull(); + nameFieldFromForm.FullyQualifiedName.Should().Be("Person.Name"); + var firstNameFromForm = nameFieldFromForm["FirstName"]!; + firstNameFromForm.Should().NotBeNull(); + firstNameFromForm.FullyQualifiedName.Should().Be("Person.Name.FirstName"); + var lastNameFromForm = nameFieldFromForm["LastName"]!; + lastNameFromForm.Should().NotBeNull(); + lastNameFromForm.FullyQualifiedName.Should().Be("Person.Name.LastName"); + + var addressFieldFromForm = personFieldFromForm["Address"]!; + addressFieldFromForm.Should().NotBeNull(); + addressFieldFromForm.FullyQualifiedName.Should().Be("Person.Address"); + var streetFieldFromForm = addressFieldFromForm["Street"]!; + streetFieldFromForm.Should().NotBeNull(); + streetFieldFromForm.FullyQualifiedName.Should().Be("Person.Address.Street"); + var cityFieldFromForm = addressFieldFromForm["City"]!; + cityFieldFromForm.Should().NotBeNull(); + cityFieldFromForm.FullyQualifiedName.Should().Be("Person.Address.City"); + } + + [Fact] + public void PropertiesAreInheritedFromParent() + { + GlobalFontSettings.ResetAll(); + // we use one of the 14 standard-fonts here (Helvetica) + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + var document = new PdfDocument(); + var page1 = document.AddPage(); + var acroForm = document.GetOrCreateAcroForm(); + var textFont = new XFont(StandardFontNames.Helvetica, 12, XFontStyleEx.Regular, + new XPdfFontOptions(PdfFontEncoding.Unicode, PdfFontEmbedding.EmbedCompleteFontFile)); + + //double x = 40, y = 40; + //var page1Renderer = XGraphics.FromPdfPage(page1); + + var personField = acroForm.AddGenericField(field => + { + field.Name = "Person"; + field.Flags = PdfAcroFieldFlags.DoNotSpellCheckTextField; + }); + var nameField = acroForm.AddGenericField(field => + { + field.Name = "Name"; + field.Flags = PdfAcroFieldFlags.Required; + field.DefaultValue = new PdfString("Please enter"); + personField.AddChild(field); + }); + var addressField = acroForm.AddGenericField(field => + { + field.Name = "Address"; + personField.AddChild(field); + }); + var titleField = acroForm.AddTextField(field => + { + field.Name = "Title"; + field.MaxLength = 100; + field.Font = textFont; + nameField.AddChild(field); + }); + var firstNameField = acroForm.AddTextField(field => + { + field.Name = "FirstName"; + field.MaxLength = 100; + field.Font = textFont; + nameField.AddChild(field); + }); + var lastNameField = acroForm.AddTextField(field => + { + field.Name = "LastName"; + field.MaxLength = 100; + field.Font = textFont; + nameField.AddChild(field); + }); + var zipCodeField = acroForm.AddTextField(field => + { + field.Name = "ZipCode"; + field.MaxLength = 10; + field.Font = textFont; + addressField.AddChild(field); + }); + var cityField = acroForm.AddTextField(field => + { + field.Name = "City"; + field.MaxLength = 100; + field.Font = textFont; + addressField.AddChild(field); + }); + var streetField = acroForm.AddTextField(field => + { + field.Name = "Street"; + field.MaxLength = 100; + field.Font = textFont; + addressField.AddChild(field); + }); + var streetNumberField = acroForm.AddTextField(field => + { + field.Name = "StreetNumber"; + field.MaxLength = 10; + field.Font = textFont; + addressField.AddChild(field); + }); + + personField.Fields.Names.Length.Should().Be(2); + personField.Fields.Names.Should().Equal(["Name", "Address"]); + nameField.Fields.Names.Length.Should().Be(3); + nameField.Fields.Names.Should().Equal(["Title", "FirstName", "LastName"]); + addressField.Fields.Names.Length.Should().Be(4); + addressField.Fields.Names.Should().Equal(["ZipCode", "City", "Street", "StreetNumber"]); + + var allFields = acroForm.GetAllFields(); + allFields.Count().Should().Be(10); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Name"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Address"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Name.Title"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Name.FirstName"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Name.LastName"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Address.ZipCode"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Address.City"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Address.Street"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Address.StreetNumber"); + + zipCodeField.Flags.Should().Be(PdfAcroFieldFlags.DoNotSpellCheckTextField); + cityField.Flags.Should().Be(PdfAcroFieldFlags.DoNotSpellCheckTextField); + streetField.Flags.Should().Be(PdfAcroFieldFlags.DoNotSpellCheckTextField); + streetNumberField.Flags.Should().Be(PdfAcroFieldFlags.DoNotSpellCheckTextField); + + titleField.Flags.Should().Be(PdfAcroFieldFlags.Required); + firstNameField.Flags.Should().Be(PdfAcroFieldFlags.Required); + lastNameField.Flags.Should().Be(PdfAcroFieldFlags.Required); + titleField.DefaultValue.Should().BeOfType(); + ((PdfString)titleField.DefaultValue!).Value.Should().Be("Please enter"); + firstNameField.DefaultValue.Should().BeOfType(); + ((PdfString)firstNameField.DefaultValue!).Value.Should().Be("Please enter"); + lastNameField.DefaultValue.Should().BeOfType(); + ((PdfString)lastNameField.DefaultValue!).Value.Should().Be("Please enter"); + } + + [Fact] + public void CanFlattenForm() + { + IOUtility.EnsureAssets("pdfsharp-6.x\\pdfs\\DocumentWithAcroForm.pdf"); + var pdfPath = IOUtility.GetAssetsPath("pdfsharp-6.x\\pdfs")!; + + GlobalFontSettings.ResetAll(); + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + var sourceFile = Path.Combine(pdfPath, "DocumentWithAcroForm.pdf"); + var targetFile = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/AcroForms/Flattened.pdf"); + File.Copy(sourceFile, targetFile, true); + + var copiedDocument = PdfReader.Open(targetFile, PdfDocumentOpenMode.Modify); + + var fieldsInCopiedDocument = GetAllFields(copiedDocument); + // fill all fields + FillFields(fieldsInCopiedDocument); + + // flatten the form. after that, AcroForm should be null and all annotations should be removed + // (this is true for the tested document, other documents may contain annotations not related to Form-Fields) + copiedDocument.FlattenAcroForm(); + copiedDocument.AcroForm.Should().BeNull(); + copiedDocument.Pages[0].Annotations.Count.Should().Be(0); + copiedDocument.Save(targetFile); + } + + [Fact] + public void CanFlattenCreatedForm() + { + var filePath = CanCreateNewForm(); // create the form + + GlobalFontSettings.ResetAll(); + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + using var fs = File.OpenRead(filePath); + var inputDocument = PdfReader.Open(fs, PdfDocumentOpenMode.Import); + + // import into new document + var copiedDocument = new PdfDocument(); + foreach (var page in inputDocument.Pages) + copiedDocument.AddPage(page); + copiedDocument.ImportAcroForm(inputDocument.AcroForm!); + + copiedDocument.FlattenAcroForm(); + copiedDocument.AcroForm.Should().BeNull(); + copiedDocument.Pages[0].Annotations.Count.Should().Be(0); + + var outFileName = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/AcroForms/CreatedForm_flattened.pdf"); + using var fsOut = File.Create(outFileName); + copiedDocument.Save(fsOut); + + // don't know what to assert here, have to check with "real" eyes + // (we mainly want to check the behavior of the AcroFieldRenderers) + } + + [Fact] + public string CanCreateNewForm() + { + // test some special characters + // Note: Current limitations regarding CJK/Arabic, etc. still applies + // make sure you use a font that supports the used characters ! + const string firstNameValue = "Sebastién"; + const string lastNameValue = "Süßölgefäß"; // yep, that's a valid german word + + GlobalFontSettings.ResetAll(); + // we use one of the 14 standard-fonts here (Helvetica) + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + var document = new PdfDocument(); + var page1 = document.AddPage(); + var page2 = document.AddPage(); + var acroForm = document.GetOrCreateAcroForm(); + var textFont = new XFont(StandardFontNames.Helvetica, 12, XFontStyleEx.Regular, + new XPdfFontOptions(PdfFontEncoding.Automatic, PdfFontEmbedding.EmbedCompleteFontFile)); + // use same font with different size + var textFontBig = XFont.FromExisting(textFont, 24); + + acroForm.SetDefaultAppearance(textFont, 12, XColors.Black); + + double x = 40, y = 80; + var page1Renderer = XGraphics.FromPdfPage(page1); + var page2Renderer = XGraphics.FromPdfPage(page2); + page1Renderer.DrawString("Name of Subject", textFont, XBrushes.Black, x, y); + page2Renderer.DrawString("For Demo purposes. Modify the fields and observe the field on the first page is modified as well.", + textFont, XBrushes.Black, x, y); + + y += 10; + // Text fields + var firstNameField = acroForm.AddTextField(field => + { + // Note: Chromium-based browsers (ie. Edge/Chrome) do not render fields without a name + field.Name = "FirstName"; + field.Font = textFontBig; + field.ForeColor = XColors.DarkRed; + field.Text = firstNameValue; + // place annotation on both pages + // if the document is opened in a PdfReader and one of the Annotations is changed (e.g. by typing inside it), + // the other Annotation will be changed as well (as they belong to the same field) + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 200, 40))); + }); + field.AddAnnotation(annot => + { + // Note: The border is currently always solid and 1 unit wide + annot.BorderColor = XColors.Green; + annot.BackColor = XColors.DarkGray; + // testing dynamic font-size by doubling the height of the second widget + annot.AddToPage(page2, new PdfRectangle(new XRect(x, y, 200, 40))); + }); + }); + var lastNameField = acroForm.AddTextField(field => + { + field.Name = "LastName"; + field.Font = textFont; + field.Text = lastNameValue; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x + 10 + 200, y, 100, 20))); + }); + field.AddAnnotation(annot => + { + annot.AddToPage(page2, new PdfRectangle(new XRect(x + 10 + 200, y, 100, 20))); + }); + }); + + y += 60; + // Checkbox fields + page1Renderer.DrawString("Subject's interests", textFont, XBrushes.Black, x, y); + y += 10; + var cbx1 = acroForm.AddCheckBoxField(field => + { + field.Name = "Interest_cooking"; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + }); + page1Renderer.DrawString("Cooking", textFont, XBrushes.Black, x + 20, y + 10); + y += 20; + var cbx2 = acroForm.AddCheckBoxField(field => + { + field.Name = "Interest_coding"; + field.Checked = true; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + }); + page1Renderer.DrawString("Coding", textFont, XBrushes.Black, x + 20, y + 10); + y += 20; + var cbx3 = acroForm.AddCheckBoxField(field => + { + field.Name = "Interest_cycling"; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + }); + page1Renderer.DrawString("Cycling", textFont, XBrushes.Black, x + 20, y + 10); + + y += 40; + // RadioButton fields + page1Renderer.DrawString("Subject's gender", textFont, XBrushes.Black, x, y); + y += 10; + // used as parent-field for the radio-button (testing field-nesting) + var groupGender = acroForm.AddGenericField(field => + { + field.Name = "Group_Gender"; + }); + acroForm.AddRadioButtonField(field => + { + field.Name = "Gender"; + // add individual buttons + field.AddAnnotation("male", annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + page1Renderer.DrawString("Male", textFont, XBrushes.Black, x + 20, y + 10); + y += 20; + field.AddAnnotation("female", annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + page1Renderer.DrawString("Female", textFont, XBrushes.Black, x + 20, y + 10); + y += 20; + field.AddAnnotation("unspecified", annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + page1Renderer.DrawString("Unspecified", textFont, XBrushes.Black, x + 20, y + 10); + // as an alternative, you can also use field.SelectedIndex + field.Value = "male"; + groupGender.AddChild(field); + }); + + y += 40; + // ComboBox fields + page1Renderer.DrawString("Select a number:", textFont, XBrushes.Black, x, y + 10); + acroForm.AddComboBoxField(field => + { + field.Name = "SelectedNumber"; + field.Options = ["One", "Two", "Three", "Four", "Five"]; + field.SelectedIndex = 2; // select "Three" + field.Font = textFont; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x + 100, y, 100, 20))); + }); + }); + + y += 40; + // ListBox fields + page1Renderer.DrawString("Select a color:", textFont, XBrushes.Black, x, y + 10); + acroForm.AddListBoxField(field => + { + field.Name = "SelectedColor"; + field.Options = ["Blue", "Red", "Green", "Black", "White"]; + field.SelectedIndices = [1]; // select "Red" + field.Font = textFont; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x + 100, y, 100, 5 * textFont.Height))); + }); + }); + + y += 100; + // PushButton fields + acroForm.AddPushButtonField(button => + { + button.Name = "SubmitButton"; + button.Caption = "Submit"; + button.Font = textFont; + button.AddAnnotation(annot => + { + // TODO: these properties should be part of the field and propagated down to the annotations + annot.Highlighting = PdfAnnotationHighlightingMode.Invert; + annot.BorderColor = XColors.Gray; + annot.BackColor = XColors.LightBlue; + annot.Border.Width = 2; + annot.Border.BorderStyle = PdfAnnotationBorderStyle.Solid; + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 100, 20))); + // Note: setting icons for push-buttons is somewhat involved at the moment, but boils down to: + // - create an XForm + // - create XGraphics from the XForm + // - draw something using the graphics (like an image but it can be anything) + // - set the annotation's icon to the XForm's PdfForm, e.g. annot.NormalIcon = xform.PdfForm + // maybe we simplify this in the future if there is strong denand for it + }); + }); + + y += 40; + // Signature fields + acroForm.AddSignatureField(field => + { + field.Name = "Signature"; + field.AddAnnotation(annot => + { + annot.BackColor = XColors.White; + annot.BorderColor = XColors.Gray; + annot.Border.Width = 1; + annot.Border.BorderStyle = PdfAnnotationBorderStyle.Solid; + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 160, 60))); + }); + }); + + var outFileName = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/AcroForms/CreatedForm.pdf"); + using var fsOut = File.Create(outFileName); + document.Save(fsOut, true); + fsOut.Close(); + + // read back and validate + document = PdfReader.Open(outFileName, PdfDocumentOpenMode.Modify); + var fields = GetAllFields(document); + + fields.Count.Should().Be(11); + + var field = fields.First(f => f.FullyQualifiedName == "FirstName"); + field.GetType().Should().Be(typeof(PdfTextField)); + ((PdfTextField)field).Text.Should().Be(firstNameValue); + field.ForeColor.Should().Be(XColors.DarkRed); + field.Font.Should().NotBeNull(); + field.Font!.Size.Should().Be(textFontBig.Size); + field.Annotations.Elements.Count.Should().Be(2); + field.Annotations.Elements[1].BorderColor.Should().Be(XColors.Green); + field.Annotations.Elements[1].BackColor.Should().Be(XColors.DarkGray); + + field = fields.First(f => f.FullyQualifiedName == "LastName"); + field.GetType().Should().Be(typeof(PdfTextField)); + field.Font.Should().NotBeNull(); + field.Font!.Size.Should().Be(textFont.Size); + ((PdfTextField)field).Text.Should().Be(lastNameValue); + field.Annotations.Elements.Count.Should().Be(2); + + field = fields.First(f => f.FullyQualifiedName == "Interest_cooking"); + field.GetType().Should().Be(typeof(PdfCheckBoxField)); + ((PdfCheckBoxField)field).Checked.Should().Be(false); + field.Annotations.Elements.Count.Should().Be(1); + + field = fields.First(f => f.FullyQualifiedName == "Interest_coding"); + field.GetType().Should().Be(typeof(PdfCheckBoxField)); + ((PdfCheckBoxField)field).Checked.Should().Be(true); + field.Annotations.Elements.Count.Should().Be(1); + + field = fields.First(f => f.FullyQualifiedName == "Interest_cycling"); + field.GetType().Should().Be(typeof(PdfCheckBoxField)); + ((PdfCheckBoxField)field).Checked.Should().Be(false); + field.Annotations.Elements.Count.Should().Be(1); + + field = fields.First(f => f.FullyQualifiedName == "Group_Gender"); + field.GetType().Should().Be(typeof(PdfGenericField)); + field.HasChildFields.Should().Be(true); + field.Annotations.Elements.Count.Should().Be(0); + field.Fields.Elements.Count.Should().Be(1); + + field = fields.First(f => f.FullyQualifiedName == "Group_Gender.Gender"); + field.GetType().Should().Be(typeof(PdfRadioButtonField)); + field.Annotations.Elements.Count.Should().Be(3); + ((PdfRadioButtonField)field).SelectedIndex.Should().Be(0); + ((PdfRadioButtonField)field).Options.Should().Equal(new[] { "male", "female", "unspecified" }); + ((PdfRadioButtonField)field).Value.Should().Be("male"); + + field = fields.First(f => f.FullyQualifiedName == "SelectedNumber"); + field.GetType().Should().Be(typeof(PdfComboBoxField)); + field.Annotations.Elements.Count.Should().Be(1); + ((PdfComboBoxField)field).SelectedIndex.Should().Be(2); + ((PdfComboBoxField)field).Options.Should().Equal(new[] { "One", "Two", "Three", "Four", "Five" }); + ((PdfComboBoxField)field).Value.Should().Be("Three"); + + field = fields.First(f => f.FullyQualifiedName == "SelectedColor"); + field.GetType().Should().Be(typeof(PdfListBoxField)); + field.Annotations.Elements.Count.Should().Be(1); + ((PdfListBoxField)field).SelectedIndices.Count().Should().Be(1); + ((PdfListBoxField)field).SelectedIndices.Should().Contain(1); + ((PdfListBoxField)field).Options.Should().Equal(new[] { "Blue", "Red", "Green", "Black", "White" }); + ((PdfListBoxField)field).Value.Count().Should().Be(1); + ((PdfListBoxField)field).Value.Should().Contain("Red"); + + field = fields.First(f => f.FullyQualifiedName == "SubmitButton"); + field.GetType().Should().Be(typeof(PdfPushButtonField)); + field.Annotations.Elements.Count.Should().Be(1); + ((PdfPushButtonField)field).Caption.Should().Be("Submit"); + field.Annotations.Elements.Count.Should().Be(1); + field.Annotations.Elements[0].Border.Width.Should().Be(2); + field.Annotations.Elements[0].Border.BorderStyle.Should().Be(PdfAnnotationBorderStyle.Solid); + field.Annotations.Elements[0].Highlighting.Should().Be(PdfAnnotationHighlightingMode.Invert); + field.Annotations.Elements[0].BorderColor.Should().Be(XColors.Gray); + field.Annotations.Elements[0].BackColor.Should().Be(XColors.LightBlue); + + return outFileName; + } + + [Fact] + public void CanDeleteFields() + { + var filePath = CanCreateNewForm(); + + var document = PdfReader.Open(filePath, PdfDocumentOpenMode.Modify); + var startFields = document.AcroForm!.GetAllFields().ToList(); + var startAnnotsCount = document.Pages[0].Annotations.Elements.Count; + foreach (var field in startFields) + { + if (field is PdfPushButtonField) + field.Remove(); + if (field is PdfSignatureField) + field.Remove(); + } + var endFields = document.AcroForm!.GetAllFields().ToList(); + var endAnnotsCount = document.Pages[0].Annotations.Elements.Count; + endFields.Count.Should().Be(startFields.Count - 2); + endAnnotsCount.Should().Be(startAnnotsCount - 2); + + var outFileName = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/AcroForms/CreatedForm_removed.pdf"); + document.Save(outFileName); + } + + //[Fact(Skip = "Only run when we want it to run")] + [Fact] + public void RenderGlyphsOfStandardFonts() + { + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + foreach (var fontName in StandardFontData.FontNames) + { + using var document = new PdfDocument(); + + var renderFont = new XFont(fontName, 16); + var helveticaFont = new XFont("Helvetica", 12); + var headerFont = new XFont("Helvetica", 36); + var brush = new XSolidBrush(XColors.Black); + var left = 60.0; + var top = 60.0; + var bottom = 60.0; + var gapX = 120.0; + var gapY = 20.0; + var x = left; + var y = top; + var page = document.AddPage(); + var gfx = XGraphics.FromPdfPage(page); + var fullFontName = renderFont.OpenTypeDescriptor.FontFace.FullFaceName; + gfx.DrawString(fullFontName, headerFont, brush, x, y); + y += 50; + + // test rendering a specific character + //gfx.DrawString(char.ConvertFromUtf32(0x29C9C), renderFont, brush, x, y); + //y += 40; + + var characterList = renderFont.GetSupportedCharacters(); + if (characterList.Count > 0) + { + foreach (var c in characterList) + { + gfx.DrawString(c.ToString("X4"), helveticaFont, brush, x, y); + var s = char.ConvertFromUtf32(c); + gfx.DrawString(s, renderFont, brush, x + 80, y); + x += gapX; + if (x + gapX >= page.Width.Point) + { + x = left; + y += gapY; + if (y >= page.Height.Point - bottom) + { + gfx.Dispose(); + page = document.AddPage(); + gfx = XGraphics.FromPdfPage(page); + x = left; + y = top; + } + } + } + gfx.Dispose(); + } + else + output.WriteLine($"Font {fontName} has no glyphs"); + + var outFileName = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/Fonts/StandardFonts/" + fontName); + document.Save(outFileName); + } + } + + private static void FillFields(IList fields) + { + foreach (var field in fields) + { + if (field.ReadOnly) + continue; + // Values for the fields: + // - TextFields: name of field + // - CheckBoxes: checked + // - RadioButtons: second option is checked (if there is only one option, this is checked) + // - ChoiceFields (List, Combo): second option is selected (if there is only one option, this is selected) + if (field is PdfTextField textField) + textField.Text = field.Name; + else if (field is PdfComboBoxField comboBoxField) + comboBoxField.SelectedIndex = Math.Min(1, comboBoxField.Options.Count - 1); + else if (field is PdfCheckBoxField checkboxField) + checkboxField.Checked = true; + else if (field is PdfRadioButtonField radioButtonField) + radioButtonField.SelectedIndex = Math.Min(1, radioButtonField.Options.Count - 1); + else if (field is PdfListBoxField listBoxField) + listBoxField.SelectedIndices = [Math.Min(1, listBoxField.Options.Count - 1)]; + } + } + + private static List GetAllFields(PdfDocument doc) + { + return (doc.AcroForm?.GetAllFields() ?? []).ToList(); + } + + ///

    Type0Unicode = 2, // #RENAME better name + + /// + /// One of the 14 standard-fonts with WinAnsi encoding + /// + Type1StandardFont = 3 } /// @@ -51,6 +56,11 @@ public PdfFont GetOrCreateFont(XGlyphTypeface glyphTypeface, FontType fontType) pdfFont = new PdfType0Font(Owner, glyphTypeface, false); else if (fontType == FontType.TrueTypeWinAnsi) pdfFont = new PdfTrueTypeFont(Owner, glyphTypeface); + else if (fontType == FontType.Type1StandardFont) + { + Debug.Assert(!string.IsNullOrEmpty(glyphTypeface.XFamilyName), "XFamilyName should be set here"); + pdfFont = new PdfType1Font(Owner) { BaseFont = glyphTypeface.XFamilyName }; + } else throw new InvalidOperationException($"Invalid font type '{fontType}'."); Debug.Assert(pdfFont.Owner == Owner); @@ -125,7 +135,7 @@ public PdfFont GetFont(string idName, byte[] fontData) internal static string ComputePdfFontKey(XGlyphTypeface glyphTypeface, FontType fontType) { // fontType must be defined to compute the key. - Debug.Assert(fontType is FontType.TrueTypeWinAnsi or FontType.Type0Unicode); + Debug.Assert(fontType is FontType.TrueTypeWinAnsi or FontType.Type0Unicode or FontType.Type1StandardFont); // TODO_OLD Check if StringBuilder is more efficient here. //var glyphTypeface = font.GlyphTypeface; @@ -135,7 +145,7 @@ internal static string ComputePdfFontKey(XGlyphTypeface glyphTypeface, FontType var faceName = glyphTypeface.FontFace.FullFaceName.ToLowerInvariant(); var bold = glyphTypeface.IsBold; var italic = glyphTypeface.IsItalic; - var type = fontType == FontType.TrueTypeWinAnsi ? "+A" : "+U"; + var type = fontType is FontType.TrueTypeWinAnsi or FontType.Type1StandardFont ? "+A" : "+U"; var key = bold switch { false when !italic => faceName + type, diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfType1Font.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfType1Font.cs index 8012c067..8619dd4d 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfType1Font.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Advanced/PdfType1Font.cs @@ -1,33 +1,38 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. -#if true_ // Not yet implemented- +using PdfSharp.Fonts; +using PdfSharp.Internal; using System; using System.Collections; using System.Text; -using PdfSharp.Internal; namespace PdfSharp.Pdf.Advanced { /// - /// Not implemented - just for illustration of the class hierarchy. + /// Type1 font used for the 14 standard fonts defined in the PDF-specification. /// internal sealed class PdfType1Font : PdfFont { public PdfType1Font(PdfDocument document) : base(document) { - Elements["\\Type"] = new PdfName("Font"); - Elements["\\Subtype"] = new PdfName("Type1"); + Elements.SetName(Keys.Type, "Font"); + Elements.SetName(Keys.Subtype, "Type1"); + Elements.SetName(Keys.Encoding, "WinAnsiEncoding"); } - //public string BaseFont - //{ - // get {return baseFont;} - // set {baseFont = value;} - //} - //string baseFont; + public string BaseFont + { + get { return Elements.GetName(Keys.BaseFont); } + set { Elements.SetName(Keys.BaseFont, value); } + } + + internal override void AddChars(CodePointGlyphIndexPair[] codePoints) + { + // nothing to do here + } // internal override void AssignObjectID(ref int objectID) // { @@ -153,4 +158,3 @@ internal override DictionaryMeta Meta } } } -#endif diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfButtonCaptionPosition.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfButtonCaptionPosition.cs index 5ac0e645..659ac279 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfButtonCaptionPosition.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf.Annotations/enums/PdfButtonCaptionPosition.cs @@ -1,4 +1,9 @@ -namespace PdfSharp.Pdf.Annotations.enums +// PDFsharp - A .NET library for processing PDF +// See the LICENSE file in the solution root for more information. + +using PdfSharp.Pdf.AcroForms; + +namespace PdfSharp.Pdf.Annotations.enums { /// /// s only:

    diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs index f2f29eb5..4cc9e740 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocument.cs @@ -505,7 +505,8 @@ internal override void PrepareForSave() // #PDF-UA // Create PdfMetadata now to include the final document information in XMP generation. - Catalog.Elements.SetReference(PdfCatalog.Keys.Metadata, new PdfMetadata(this)); + if (Options.CreateMetadata) + Catalog.Elements.SetReference(PdfCatalog.Keys.Metadata, new PdfMetadata(this)); } /// diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocumentOptions.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocumentOptions.cs index fcc8df71..2708c1e4 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocumentOptions.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/PdfDocumentOptions.cs @@ -81,5 +81,14 @@ public PdfUseFlateDecoderForJpegImages UseFlateDecoderForJpegImages set => _useFlateDecoderForJpegImages = value; } PdfUseFlateDecoderForJpegImages _useFlateDecoderForJpegImages = PdfUseFlateDecoderForJpegImages.Never; + + /// + /// Gets or sets a value indicating whether a metadata-stream in XMP-format should be created when saving the document.

    + /// The default value is true.

    + ///
    + /// + /// Should only be set to false if you prefer small files over PDF/A compliance. + /// + public bool CreateMetadata { get; set; } = true; } } diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/enums/PdfFontEmbedding.cs b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/enums/PdfFontEmbedding.cs index 0253612f..1f3aeea7 100644 --- a/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/enums/PdfFontEmbedding.cs +++ b/src/foundation/src/PDFsharp/src/PdfSharp/Pdf/enums/PdfFontEmbedding.cs @@ -1,6 +1,9 @@ // PDFsharp - A .NET library for processing PDF // See the LICENSE file in the solution root for more information. +using PdfSharp.Drawing; +using PdfSharp.Fonts.StandardFonts; + namespace PdfSharp.Pdf { /// @@ -34,6 +37,16 @@ public enum PdfFontEmbedding [Obsolete("Renamed to EmbedCompleteFontFile.")] Always = 1, + /// + /// No embedding if the font is one of the 14 standard-fonts defined in the PDF-specification. (PDF 1.0 to PDF 1.7)

    + /// If the font is not one of the standard-fonts, an exception is raised when creating an and specifying this value.

    + /// See also + ///
    + /// + /// This value should not be used, unless you prefer small files over PDF/A compliance. + /// + OmitStandardFont = 2, + /// /// Fonts are not embedded. This is not an option anymore. /// Treated as Automatic. diff --git a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFormsTests.cs b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFormsTests.cs index a30d9746..d168949d 100644 --- a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFormsTests.cs +++ b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFormsTests.cs @@ -483,7 +483,7 @@ public string CanCreateNewForm() var page2 = document.AddPage(); var acroForm = document.GetOrCreateAcroForm(); var textFont = new XFont(StandardFontNames.Helvetica, 12, XFontStyleEx.Regular, - new XPdfFontOptions(PdfFontEncoding.Automatic, PdfFontEmbedding.EmbedCompleteFontFile)); + new XPdfFontOptions(PdfFontEncoding.Automatic, PdfFontEmbedding.OmitStandardFont)); // use same font with different size var textFontBig = XFont.FromExisting(textFont, 24); diff --git a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Fonts/FontEmbeddingTests.cs b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Fonts/FontEmbeddingTests.cs index 4eaebb3a..10101c90 100644 --- a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Fonts/FontEmbeddingTests.cs +++ b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/Fonts/FontEmbeddingTests.cs @@ -7,6 +7,7 @@ using FluentAssertions; using PdfSharp.Drawing; using PdfSharp.Fonts; +using PdfSharp.Fonts.StandardFonts; using PdfSharp.Pdf; using PdfSharp.Quality; using Xunit; @@ -95,5 +96,49 @@ public void Embed_Segoe_UI_Emoji_file() size.Should().BeGreaterThan(1_000_000); } + + [Fact] + public void Omit_Standard_Fonts() + { + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + var doc = new PdfDocument(); + + // squeeze out an additional KB of data by NOT creating a metadata-stream + doc.Options.CreateMetadata = false; + + var page = doc.AddPage(); + var gfx = XGraphics.FromPdfPage(page); + + double x = 50, y = 50; + foreach (var fontName in StandardFontData.FontNames) + { + if (fontName == StandardFontNames.Symbol || fontName == StandardFontNames.ZapfDingbats) + continue; + + var font = new XFont(fontName, 12, XFontStyleEx.Regular, + new XPdfFontOptions(PdfFontEmbedding.OmitStandardFont)); + + gfx.DrawString(fontName, font, XBrushes.Black, x, y); + y += 20; + // english pangram + //gfx.DrawString("The quick brown fox jumps over the lazy dog.", font, XBrushes.Black, x, y); + // german pangram + gfx.DrawString("Typograf Jakob zürnt schweißgequält vom öden Text.", font, XBrushes.Black, x, y); + + y += 40; + } + + var fileName = PdfFileUtility.GetTempPdfFullFileName( + "PDFsharp/UnitTest/Fonts/FontEmbeddingTests/" + nameof(Omit_Standard_Fonts)); + doc.Save(fileName); + var info = new FileInfo(fileName); + var size = info.Length; +#if DEBUG + size.Should().BeLessThan(10_000); +#else + size.Should().BeLessThan(5_000); +#endif + } } } diff --git a/src/foundation/src/shared/src/PdfSharp.Quality/IOUtility.cs b/src/foundation/src/shared/src/PdfSharp.Quality/IOUtility.cs index 33a0ce0e..b6ad0a7d 100644 --- a/src/foundation/src/shared/src/PdfSharp.Quality/IOUtility.cs +++ b/src/foundation/src/shared/src/PdfSharp.Quality/IOUtility.cs @@ -44,12 +44,15 @@ public static void NormalizeDirectorySeparators(ref string? path) /// Gets the root path of the current solution, or null, if no parent /// directory with a solution file exists. /// - public static string? GetSolutionRoot() + public static string? GetSolutionRoot([CallerFilePath] string? callerFilePath = null) { if (_solutionRoot is not null) return _solutionRoot; - var path = Directory.GetCurrentDirectory(); + // when running tests from within VS, Directory.GetCurrentDirectory may return a path below %temp% + if (callerFilePath != null) + callerFilePath = Path.GetDirectoryName(callerFilePath); + var path = callerFilePath ?? Directory.GetCurrentDirectory(); while (true) { string[] files = Directory.GetFiles(path, "*.sln", SearchOption.TopDirectoryOnly);

    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≫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 CZGjvB literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/src/PdfSharp/Resources/StandardSymbolsPS.ttf b/src/foundation/src/PDFsharp/src/PdfSharp/Resources/StandardSymbolsPS.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c3e0738e01e045ef9ad2c64c853b29ac0e5c29c1 GIT binary patch literal 24400 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 T>A>1U)ewDpESFykb?yHj7_w8% literal 0 HcmV?d00001 diff --git a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFieldTests.cs b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFieldTests.cs new file mode 100644 index 00000000..99171d10 --- /dev/null +++ b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFieldTests.cs @@ -0,0 +1,434 @@ +using FluentAssertions; +using PdfSharp.Drawing; +using PdfSharp.Fonts; +using PdfSharp.Fonts.StandardFonts; +using PdfSharp.Pdf; +using PdfSharp.Pdf.AcroForms; +using PdfSharp.Pdf.Annotations.enums; +using Xunit; + +namespace PdfSharp.Tests.AcroForms +{ + public class AcroFieldTests + { + [Fact] + public void Added_Fields_Are_Present() + { + var doc = new PdfDocument(); + var acroForm = doc.GetOrCreateAcroForm(); + + acroForm.Should().NotBeNull(); + acroForm.Fields.Elements.Count.Should().Be(0); + acroForm.AddTextField(field => + { + field.Name = "text"; + }); + acroForm.Fields.Elements.Count.Should().Be(1); + } + + [Fact] + public void TextFieldValue() + { + var doc = CreateTestDocument(); + var field = GetAllFields(doc).FirstOrDefault(f => f.FullyQualifiedName == "FirstName"); + field.Should().NotBeNull(); + field?.GetType().Should().Be(); + var textField = field as PdfTextField; + textField.Should().NotBeNull(); + if (textField != null) + { + textField.Value.Should().BeEmpty(); + textField.Text.Should().BeEmpty(); + + const string theValue = "TestText"; + textField.Text = theValue; + + textField.Text.Should().Be(theValue); + textField.Value.ToString().Should().Be(theValue); + + // reset to null + textField.Text = null!; + + textField.Text?.Should().BeEmpty(); + textField.Value.Should().BeEmpty(); + } + } + + [Fact] + public void CheckBoxValue() + { + var doc = CreateTestDocument(); + var field = GetAllFields(doc).FirstOrDefault(f => f.FullyQualifiedName == "Interest_cooking"); + field.Should().NotBeNull(); + field?.GetType().Should().Be(); + var checkBoxField = field as PdfCheckBoxField; + checkBoxField.Should().NotBeNull(); + if (checkBoxField != null) + { + checkBoxField.Checked.Should().BeFalse(); + checkBoxField.Value.Should().Be("Off"); + + checkBoxField.Checked = true; + + checkBoxField.Checked.Should().BeTrue(); + checkBoxField.Value.Should().Be("Yes"); + + checkBoxField.Checked = false; + + checkBoxField.Checked.Should().BeFalse(); + checkBoxField.Value.Should().Be("Off"); + + checkBoxField.Value = "Yes"; + checkBoxField.Checked.Should().BeTrue(); + + checkBoxField.Value = "Off"; + checkBoxField.Checked.Should().BeFalse(); + + Action act = () => checkBoxField.Value = "Nope"; // invalid value + act.Should().Throw(); + } + } + + [Fact] + public void RadioButtonValue() + { + var doc = CreateTestDocument(); + var field = GetAllFields(doc).FirstOrDefault(f => f.FullyQualifiedName == "Group_Gender.Gender"); + field.Should().NotBeNull(); + field?.GetType().Should().Be(); + var radioButtonField = field as PdfRadioButtonField; + radioButtonField.Should().NotBeNull(); + if (radioButtonField != null) + { + radioButtonField.Value.Should().Be("Off"); + radioButtonField.SelectedIndex.Should().Be(-1); + radioButtonField.Options.Should().Equal(new[] { "male", "female", "unspecified" }); + radioButtonField.ExportValues.Should().Equal(new[] { "male", "female", "unspecified" }); + + radioButtonField.SelectedIndex = 0; + radioButtonField.SelectedIndex.Should().Be(0); + radioButtonField.Value?.Should().Be("male"); + + radioButtonField.SelectedIndex = 1; + radioButtonField.SelectedIndex.Should().Be(1); + radioButtonField.Value?.Should().Be("female"); + + radioButtonField.SelectedIndex = 2; + radioButtonField.SelectedIndex.Should().Be(2); + radioButtonField.Value?.Should().Be("unspecified"); + + radioButtonField.SelectedIndex = -1; + radioButtonField.SelectedIndex.Should().Be(-1); + radioButtonField.Value?.Should().Be("Off"); + + radioButtonField.Value = "male"; + radioButtonField.SelectedIndex.Should().Be(0); + radioButtonField.Value?.Should().Be("male"); + + radioButtonField.Value = "female"; + radioButtonField.SelectedIndex.Should().Be(1); + radioButtonField.Value?.Should().Be("female"); + + radioButtonField.Value = "unspecified"; + radioButtonField.SelectedIndex.Should().Be(2); + radioButtonField.Value?.Should().Be("unspecified"); + + radioButtonField.Value = null!; + radioButtonField.SelectedIndex.Should().Be(-1); + radioButtonField.Value?.Should().Be("Off"); + + Action act = () => radioButtonField.Value = "Nope"; // invalid value + act.Should().Throw(); + + act = () => radioButtonField.SelectedIndex = 10; + act.Should().Throw(); + } + } + + [Fact] + public void ComboBoxValue() + { + var doc = CreateTestDocument(); + var field = GetAllFields(doc).FirstOrDefault(f => f.FullyQualifiedName == "SelectedNumber"); + field.Should().NotBeNull(); + field?.GetType().Should().Be(); + var comboBoxField = field as PdfComboBoxField; + comboBoxField.Should().NotBeNull(); + if (comboBoxField != null) + { + comboBoxField.SelectedIndex.Should().Be(-1); + comboBoxField.Value.Should().BeEmpty(); + comboBoxField.Options.Should().Equal(new[] { "One", "Two", "Three", "Four", "Five" }); + + comboBoxField.SelectedIndex = 0; + comboBoxField.SelectedIndex.Should().Be(0); + comboBoxField.Value.Should().Be("One"); + + comboBoxField.SelectedIndex = 4; + comboBoxField.SelectedIndex.Should().Be(4); + comboBoxField.Value.Should().Be("Five"); + + comboBoxField.Value = "One"; + comboBoxField.SelectedIndex.Should().Be(0); + comboBoxField.Value.Should().Be("One"); + + comboBoxField.Value = "Five"; + comboBoxField.SelectedIndex.Should().Be(4); + comboBoxField.Value.Should().Be("Five"); + + comboBoxField.SelectedIndex = -1; + comboBoxField.SelectedIndex.Should().Be(-1); + comboBoxField.Value.Should().BeEmpty(); + + // invalid value + Action act = () => comboBoxField.Value = "Ten"; + act.Should().Throw(); + + act = () => comboBoxField.SelectedIndex = 10; + act.Should().Throw(); + } + } + + [Fact] + public void ListBoxValue() + { + var doc = CreateTestDocument(); + var field = GetAllFields(doc).FirstOrDefault(f => f.FullyQualifiedName == "SelectedColor"); + field.Should().NotBeNull(); + field?.GetType().Should().Be(); + var listBoxField = field as PdfListBoxField; + listBoxField.Should().NotBeNull(); + if (listBoxField != null) + { + listBoxField.SelectedIndices.Should().BeEmpty(); + listBoxField.Value.Should().BeEmpty(); + listBoxField.Options.Should().Equal(new[] { "Blue", "Red", "Green", "Black", "White" }); + + listBoxField.SelectedIndices = new[] { 0 }; + listBoxField.SelectedIndices.Should().Equal(new[] { 0 }); + listBoxField.Value.Should().Equal(new[] { "Blue" }); + + listBoxField.SelectedIndices = new[] { 0, 4 }; + listBoxField.SelectedIndices.Should().Equal(new[] { 0, 4 }); + listBoxField.Value.Should().Equal(new[] { "Blue", "White" }); + + listBoxField.SelectedIndices = new[] { 1, 3 }; + listBoxField.SelectedIndices.Should().Equal(new[] { 1, 3 }); + listBoxField.Value.Should().Equal(new[] { "Red", "Black" }); + + listBoxField.Value = Array.Empty(); + listBoxField.SelectedIndices.Should().BeEmpty(); + listBoxField.Value.Should().BeEmpty(); + + listBoxField.Value = new[] { "Green", "Blue" }; + listBoxField.SelectedIndices.Should().Equal(new[] { 0, 2 }); + listBoxField.Value.Should().Equal(new[] { "Blue", "Green" }); + + listBoxField.Value = null!; + listBoxField.SelectedIndices.Should().BeEmpty(); + listBoxField.Value.Should().BeEmpty(); + + listBoxField.Value = new[] { "Green" }; + listBoxField.SelectedIndices.Should().Equal(new[] { 2 }); + listBoxField.Value.Should().Equal(new[] { "Green" }); + + listBoxField.SelectedIndices = null!; + listBoxField.SelectedIndices.Should().BeEmpty(); + listBoxField.Value.Should().BeEmpty(); + + Action act = () => listBoxField.SelectedIndices = new[] { 1, 10 }; // invalid index + act.Should().Throw(); + + act = () => listBoxField.Value = new[] { "Red", "Orange" }; // Orange does not exist + act.Should().Throw(); + } + } + + private static PdfDocument CreateTestDocument() + { + // code copied from AcroFormsTests with minimal modifications + + // we use one of the 14 standard-fonts here (Helvetica) + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + var document = new PdfDocument(); + var page1 = document.AddPage(); + var page2 = document.AddPage(); + var acroForm = document.GetOrCreateAcroForm(); + var textFont = new XFont(StandardFontNames.Helvetica, 12, XFontStyleEx.Regular, + new XPdfFontOptions(PdfFontEncoding.Unicode, PdfFontEmbedding.EmbedCompleteFontFile)); + + double x = 40, y = 80; + var page1Renderer = XGraphics.FromPdfPage(page1); + var page2Renderer = XGraphics.FromPdfPage(page2); + page1Renderer.DrawString("Name of Subject", textFont, XBrushes.Black, x, y); + page2Renderer.DrawString("For Demo purposes. Modify the fields and observe the field on the first page is modified as well.", + textFont, XBrushes.Black, x, y); + + y += 10; + // Text fields + var firstNameField = acroForm.AddTextField(field => + { + // Note: Chromium-based browsers (ie. Edge/Chrome) do not render fields without a name + field.Name = "FirstName"; + field.Font = textFont; + field.ForeColor = XColors.DarkRed; + //field.Text = string.Empty; + // place annotation on both pages + // if the document is opened in a PdfReader and one of the Annotations is changed (e.g. by typing inside it), + // the other Annotation will be changed as well (as they belong to the same field) + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 100, 20))); + }); + field.AddAnnotation(annot => + { + // Note: The border is currently always solid and 1 unit wide + annot.BorderColor = XColors.Green; + annot.BackColor = XColors.DarkGray; + annot.AddToPage(page2, new PdfRectangle(new XRect(x, y, 100, 20))); + }); + }); + var lastNameField = acroForm.AddTextField(field => + { + field.Name = "LastName"; + field.Font = textFont; + //field.Text = string.Empty; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x + 10 + 100, y, 100, 20))); + }); + field.AddAnnotation(annot => + { + annot.AddToPage(page2, new PdfRectangle(new XRect(x + 10 + 100, y, 100, 20))); + }); + }); + + y += 40; + // Checkbox fields + page1Renderer.DrawString("Subject's interests", textFont, XBrushes.Black, x, y); + y += 10; + var cbx1 = acroForm.AddCheckBoxField(field => + { + field.Name = "Interest_cooking"; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + }); + page1Renderer.DrawString("Cooking", textFont, XBrushes.Black, x + 20, y + 10); + y += 20; + var cbx2 = acroForm.AddCheckBoxField(field => + { + field.Name = "Interest_coding"; + //field.Checked = true; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + }); + page1Renderer.DrawString("Coding", textFont, XBrushes.Black, x + 20, y + 10); + y += 20; + var cbx3 = acroForm.AddCheckBoxField(field => + { + field.Name = "Interest_cycling"; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + }); + page1Renderer.DrawString("Cycling", textFont, XBrushes.Black, x + 20, y + 10); + + y += 40; + // RadioButton fields + page1Renderer.DrawString("Subject's gender", textFont, XBrushes.Black, x, y); + y += 10; + // used as parent-field for the radio-button (testing field-nesting) + var groupGender = acroForm.AddGenericField(field => + { + field.Name = "Group_Gender"; + }); + acroForm.AddRadioButtonField(field => + { + field.Name = "Gender"; + // add individual buttons + field.AddAnnotation("male", annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + page1Renderer.DrawString("Male", textFont, XBrushes.Black, x + 20, y + 10); + y += 20; + field.AddAnnotation("female", annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + page1Renderer.DrawString("Female", textFont, XBrushes.Black, x + 20, y + 10); + y += 20; + field.AddAnnotation("unspecified", annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + page1Renderer.DrawString("Unspecified", textFont, XBrushes.Black, x + 20, y + 10); + // as an alternative, you can also use field.SelectedIndex + //field.Value = "male"; + groupGender.AddChild(field); + }); + + y += 40; + // ComboBox fields + page1Renderer.DrawString("Select a number:", textFont, XBrushes.Black, x, y + 10); + acroForm.AddComboBoxField(field => + { + field.Name = "SelectedNumber"; + field.Options = new[] { "One", "Two", "Three", "Four", "Five" }; + //field.SelectedIndex = 2; // select "Three" + field.Font = textFont; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x + 100, y, 100, 20))); + }); + }); + + y += 40; + // ListBox fields + page1Renderer.DrawString("Select a color:", textFont, XBrushes.Black, x, y + 10); + acroForm.AddListBoxField(field => + { + field.Name = "SelectedColor"; + field.Options = new[] { "Blue", "Red", "Green", "Black", "White" }; + //field.SelectedIndices = new[] { 1 }; // select "Red" + field.Font = textFont; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x + 100, y, 100, 5 * textFont.Height))); + }); + }); + + y += 100; + acroForm.AddPushButtonField(button => + { + button.Name = "SubmitButton"; + button.Caption = "Submit"; + button.Font = textFont; + button.AddAnnotation(annot => + { + // TODO: these properties should be part of the field and propagated down to the annotations + annot.Highlighting = PdfAnnotationHighlightingMode.Invert; + annot.BorderColor = XColors.Gray; + annot.BackColor = XColors.LightBlue; + annot.Border.Width = 2; + annot.Border.BorderStyle = PdfAnnotationBorderStyle.Solid; + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 100, 20))); + }); + }); + // TODO: Signature fields + + return document; + } + + private static IEnumerable GetAllFields(PdfDocument doc) + { + return doc.AcroForm?.GetAllFields() ?? Array.Empty(); + } + } +} \ No newline at end of file diff --git a/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFormsTests.cs b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFormsTests.cs new file mode 100644 index 00000000..a30d9746 --- /dev/null +++ b/src/foundation/src/PDFsharp/tests/PdfSharp.Tests/AcroForms/AcroFormsTests.cs @@ -0,0 +1,929 @@ +using FluentAssertions; +using PdfSharp.Drawing; +using PdfSharp.Fonts; +using PdfSharp.Fonts.StandardFonts; +using PdfSharp.Pdf; +using PdfSharp.Pdf.AcroForms; +using PdfSharp.Pdf.Annotations.enums; +using PdfSharp.Pdf.IO; +using PdfSharp.Quality; +using System.Reflection; +using Xunit; +using Xunit.Abstractions; + +namespace PdfSharp.Tests.AcroForms +{ + public class AcroFormsTests + { + private readonly ITestOutputHelper output; + + public AcroFormsTests(ITestOutputHelper outputHelper) + { + output = outputHelper; + + var baseDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + Directory.SetCurrentDirectory(Path.Combine(baseDir!, "..", "..", "..")); + } + + [Fact] + public void CanImportForm() + { + IOUtility.EnsureAssets("pdfsharp-6.x\\pdfs\\DocumentWithAcroForm.pdf"); + var pdfPath = IOUtility.GetAssetsPath("pdfsharp-6.x\\pdfs\\DocumentWithAcroForm.pdf")!; + using var fs = File.OpenRead(pdfPath); + var inputDocument = PdfReader.Open(fs, PdfDocumentOpenMode.Import); + + PdfPage? lastPage = null; + // import into new document + var copiedDocument = new PdfDocument(); + foreach (var page in inputDocument.Pages) + { + copiedDocument.AddPage(page); + lastPage = page; + } + // import AcroForm + copiedDocument.ImportAcroForm(inputDocument.AcroForm!); + + copiedDocument.AcroForm.Should().NotBeNull(); + + var fieldsInInputDocument = GetAllFields(inputDocument); + var fieldsInCopiedDocument = GetAllFields(copiedDocument); + fieldsInCopiedDocument.Count.Should().Be(fieldsInInputDocument.Count); + + // fill all fields + FillFields(fieldsInCopiedDocument); + + var outFileName = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/AcroForms/FilledForm.pdf"); + using var fsOut = File.Create(outFileName); + copiedDocument.Save(fsOut); + fsOut.Close(); + + VerifyFieldsFilledWithDefaultValues(outFileName); + } + + [Fact] + public void CanImportMultipleForms() + { + IOUtility.EnsureAssets("pdfsharp-6.x\\pdfs\\DocumentWithAcroForm.pdf"); + IOUtility.EnsureAssets("pdfsharp-6.x\\pdfs\\DemoFormWithCombs.pdf"); + var pdfPath = IOUtility.GetAssetsPath("pdfsharp-6.x\\pdfs")!; + + GlobalFontSettings.ResetAll(); + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + var files = new[] { "DocumentWithAcroForm.pdf", "DemoFormWithCombs.pdf" }; + var copiedDocument = new PdfDocument(); + var importedFields = new List(); + foreach (var file in files) + { + using var fs = File.OpenRead(Path.Combine(pdfPath, file)); + var inputDocument = PdfReader.Open(fs, PdfDocumentOpenMode.Import); + foreach (var page in inputDocument.Pages) + copiedDocument.AddPage(page); + copiedDocument.ImportAcroForm(inputDocument.AcroForm!); + importedFields.AddRange(GetAllFields(inputDocument)); + } + var fieldsInCopiedDocument = GetAllFields(copiedDocument); + fieldsInCopiedDocument.Count.Should().Be(importedFields.Count); + + FillFields(fieldsInCopiedDocument); + + var outFileName = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/AcroForms/FilledForm_multiple.pdf"); + using var fsOut = File.Create(outFileName); + copiedDocument.Save(fsOut); + fsOut.Close(); + + VerifyFieldsFilledWithDefaultValues(outFileName); + } + + [Fact] + public void CanImportSameFormMultipleTimes() + { + IOUtility.EnsureAssets("pdfsharp-6.x\\pdfs\\DocumentWithAcroForm.pdf"); + var pdfPath = IOUtility.GetAssetsPath("pdfsharp-6.x\\pdfs")!; + + GlobalFontSettings.ResetAll(); + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + var files = new[] { "DocumentWithAcroForm.pdf", "DocumentWithAcroForm.pdf" }; + var copiedDocument = new PdfDocument(); + var importedFields = new List(); + foreach (var file in files) + { + using var fs = File.OpenRead(Path.Combine(pdfPath, file)); + var inputDocument = PdfReader.Open(fs, PdfDocumentOpenMode.Import); + foreach (var page in inputDocument.Pages) + copiedDocument.AddPage(page); + copiedDocument.ImportAcroForm(inputDocument.AcroForm!, null, (remoteField, localField) => + { + output.WriteLine("Field import: {0} -> {1}", remoteField.FullyQualifiedName, localField.FullyQualifiedName); + }); + importedFields.AddRange(GetAllFields(inputDocument)); + } + var fieldsInCopiedDocument = GetAllFields(copiedDocument); + fieldsInCopiedDocument.Count.Should().Be(importedFields.Count); + // root field names should be distinct + var rootNames = copiedDocument.AcroForm!.Fields.Names; + rootNames.Distinct().Count().Should().Be(rootNames.Length); + + FillFields(fieldsInCopiedDocument); + + var outFileName = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/AcroForms/FilledForm_same_multiple.pdf"); + using var fsOut = File.Create(outFileName); + copiedDocument.Save(fsOut); + fsOut.Close(); + + VerifyFieldsFilledWithDefaultValues(outFileName); + } + + [Fact] + public void CanFilterFieldsDuringImport() + { + IOUtility.EnsureAssets("pdfsharp-6.x\\pdfs\\DocumentWithAcroForm.pdf"); + var pdfPath = IOUtility.GetAssetsPath("pdfsharp-6.x\\pdfs")!; + + GlobalFontSettings.ResetAll(); + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + using var fs = File.OpenRead(Path.Combine(pdfPath, "DocumentWithAcroForm.pdf")); + var inputDocument = PdfReader.Open(fs, PdfDocumentOpenMode.Import); + + PdfPage? lastPage = null; + // import into new document + var copiedDocument = new PdfDocument(); + foreach (var page in inputDocument.Pages) + { + copiedDocument.AddPage(page); + lastPage = page; + } + // import AcroForm + copiedDocument.ImportAcroForm(inputDocument.AcroForm!, + remoteField => + { + // only import TextFields + return remoteField is PdfTextField; + }, + (remoteField, localField) => + { + output.WriteLine("Field import: {0} -> {1}", remoteField.FullyQualifiedName, localField.FullyQualifiedName); + } + ); + + copiedDocument.AcroForm.Should().NotBeNull(); + + var fieldsInInputDocument = GetAllFields(inputDocument).Where(f => f is PdfTextField).ToList(); + var fieldsInCopiedDocument = GetAllFields(copiedDocument); + fieldsInCopiedDocument.Count.Should().Be(fieldsInInputDocument.Count); + + // fill all fields + FillFields(fieldsInCopiedDocument); + + var outFileName = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/AcroForms/FilledForm_filtered.pdf"); + using var fsOut = File.Create(outFileName); + copiedDocument.Save(fsOut); + fsOut.Close(); + + VerifyFieldsFilledWithDefaultValues(outFileName); + } + + [Fact] + public void ReturnsCorrectChildFields() + { + GlobalFontSettings.ResetAll(); + // we use one of the 14 standard-fonts here (Helvetica) + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + var document = new PdfDocument(); + var page1 = document.AddPage(); + var acroForm = document.GetOrCreateAcroForm(); + var textFont = new XFont(StandardFontNames.Helvetica, 12, XFontStyleEx.Regular, + new XPdfFontOptions(PdfFontEncoding.Unicode, PdfFontEmbedding.EmbedCompleteFontFile)); + + var personField = acroForm.AddGenericField(field => + { + field.Name = "Person"; + field.Flags = PdfAcroFieldFlags.DoNotSpellCheckTextField; + }); + var nameField = acroForm.AddGenericField(field => + { + field.Name = "Name"; + field.Flags = PdfAcroFieldFlags.Required; + field.DefaultValue = new PdfString("Please enter"); + personField.AddChild(field); + }); + var addressField = acroForm.AddGenericField(field => + { + field.Name = "Address"; + personField.AddChild(field); + }); + var titleField = acroForm.AddTextField(field => + { + field.Name = "Title"; + field.MaxLength = 100; + field.Font = textFont; + nameField.AddChild(field); + }); + var firstNameField = acroForm.AddTextField(field => + { + field.Name = "FirstName"; + field.MaxLength = 100; + field.Font = textFont; + nameField.AddChild(field); + }); + var lastNameField = acroForm.AddTextField(field => + { + field.Name = "LastName"; + field.MaxLength = 100; + field.Font = textFont; + nameField.AddChild(field); + }); + var zipCodeField = acroForm.AddTextField(field => + { + field.Name = "ZipCode"; + field.MaxLength = 10; + field.Font = textFont; + addressField.AddChild(field); + }); + var cityField = acroForm.AddTextField(field => + { + field.Name = "City"; + field.MaxLength = 100; + field.Font = textFont; + addressField.AddChild(field); + }); + var streetField = acroForm.AddTextField(field => + { + field.Name = "Street"; + field.MaxLength = 100; + field.Font = textFont; + addressField.AddChild(field); + }); + var streetNumberField = acroForm.AddTextField(field => + { + field.Name = "StreetNumber"; + field.MaxLength = 10; + field.Font = textFont; + addressField.AddChild(field); + }); + + var personFieldFromForm = acroForm.Fields["Person"]!; + personFieldFromForm.Should().NotBeNull(); + + var nameFieldFromForm = personFieldFromForm.Fields["Name"]!; + nameFieldFromForm.Should().NotBeNull(); + nameFieldFromForm.FullyQualifiedName.Should().Be("Person.Name"); + var firstNameFromForm = nameFieldFromForm["FirstName"]!; + firstNameFromForm.Should().NotBeNull(); + firstNameFromForm.FullyQualifiedName.Should().Be("Person.Name.FirstName"); + var lastNameFromForm = nameFieldFromForm["LastName"]!; + lastNameFromForm.Should().NotBeNull(); + lastNameFromForm.FullyQualifiedName.Should().Be("Person.Name.LastName"); + + var addressFieldFromForm = personFieldFromForm["Address"]!; + addressFieldFromForm.Should().NotBeNull(); + addressFieldFromForm.FullyQualifiedName.Should().Be("Person.Address"); + var streetFieldFromForm = addressFieldFromForm["Street"]!; + streetFieldFromForm.Should().NotBeNull(); + streetFieldFromForm.FullyQualifiedName.Should().Be("Person.Address.Street"); + var cityFieldFromForm = addressFieldFromForm["City"]!; + cityFieldFromForm.Should().NotBeNull(); + cityFieldFromForm.FullyQualifiedName.Should().Be("Person.Address.City"); + } + + [Fact] + public void PropertiesAreInheritedFromParent() + { + GlobalFontSettings.ResetAll(); + // we use one of the 14 standard-fonts here (Helvetica) + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + var document = new PdfDocument(); + var page1 = document.AddPage(); + var acroForm = document.GetOrCreateAcroForm(); + var textFont = new XFont(StandardFontNames.Helvetica, 12, XFontStyleEx.Regular, + new XPdfFontOptions(PdfFontEncoding.Unicode, PdfFontEmbedding.EmbedCompleteFontFile)); + + //double x = 40, y = 40; + //var page1Renderer = XGraphics.FromPdfPage(page1); + + var personField = acroForm.AddGenericField(field => + { + field.Name = "Person"; + field.Flags = PdfAcroFieldFlags.DoNotSpellCheckTextField; + }); + var nameField = acroForm.AddGenericField(field => + { + field.Name = "Name"; + field.Flags = PdfAcroFieldFlags.Required; + field.DefaultValue = new PdfString("Please enter"); + personField.AddChild(field); + }); + var addressField = acroForm.AddGenericField(field => + { + field.Name = "Address"; + personField.AddChild(field); + }); + var titleField = acroForm.AddTextField(field => + { + field.Name = "Title"; + field.MaxLength = 100; + field.Font = textFont; + nameField.AddChild(field); + }); + var firstNameField = acroForm.AddTextField(field => + { + field.Name = "FirstName"; + field.MaxLength = 100; + field.Font = textFont; + nameField.AddChild(field); + }); + var lastNameField = acroForm.AddTextField(field => + { + field.Name = "LastName"; + field.MaxLength = 100; + field.Font = textFont; + nameField.AddChild(field); + }); + var zipCodeField = acroForm.AddTextField(field => + { + field.Name = "ZipCode"; + field.MaxLength = 10; + field.Font = textFont; + addressField.AddChild(field); + }); + var cityField = acroForm.AddTextField(field => + { + field.Name = "City"; + field.MaxLength = 100; + field.Font = textFont; + addressField.AddChild(field); + }); + var streetField = acroForm.AddTextField(field => + { + field.Name = "Street"; + field.MaxLength = 100; + field.Font = textFont; + addressField.AddChild(field); + }); + var streetNumberField = acroForm.AddTextField(field => + { + field.Name = "StreetNumber"; + field.MaxLength = 10; + field.Font = textFont; + addressField.AddChild(field); + }); + + personField.Fields.Names.Length.Should().Be(2); + personField.Fields.Names.Should().Equal(["Name", "Address"]); + nameField.Fields.Names.Length.Should().Be(3); + nameField.Fields.Names.Should().Equal(["Title", "FirstName", "LastName"]); + addressField.Fields.Names.Length.Should().Be(4); + addressField.Fields.Names.Should().Equal(["ZipCode", "City", "Street", "StreetNumber"]); + + var allFields = acroForm.GetAllFields(); + allFields.Count().Should().Be(10); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Name"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Address"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Name.Title"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Name.FirstName"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Name.LastName"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Address.ZipCode"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Address.City"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Address.Street"); + allFields.Should().Contain(f => f.FullyQualifiedName == "Person.Address.StreetNumber"); + + zipCodeField.Flags.Should().Be(PdfAcroFieldFlags.DoNotSpellCheckTextField); + cityField.Flags.Should().Be(PdfAcroFieldFlags.DoNotSpellCheckTextField); + streetField.Flags.Should().Be(PdfAcroFieldFlags.DoNotSpellCheckTextField); + streetNumberField.Flags.Should().Be(PdfAcroFieldFlags.DoNotSpellCheckTextField); + + titleField.Flags.Should().Be(PdfAcroFieldFlags.Required); + firstNameField.Flags.Should().Be(PdfAcroFieldFlags.Required); + lastNameField.Flags.Should().Be(PdfAcroFieldFlags.Required); + titleField.DefaultValue.Should().BeOfType(); + ((PdfString)titleField.DefaultValue!).Value.Should().Be("Please enter"); + firstNameField.DefaultValue.Should().BeOfType(); + ((PdfString)firstNameField.DefaultValue!).Value.Should().Be("Please enter"); + lastNameField.DefaultValue.Should().BeOfType(); + ((PdfString)lastNameField.DefaultValue!).Value.Should().Be("Please enter"); + } + + [Fact] + public void CanFlattenForm() + { + IOUtility.EnsureAssets("pdfsharp-6.x\\pdfs\\DocumentWithAcroForm.pdf"); + var pdfPath = IOUtility.GetAssetsPath("pdfsharp-6.x\\pdfs")!; + + GlobalFontSettings.ResetAll(); + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + var sourceFile = Path.Combine(pdfPath, "DocumentWithAcroForm.pdf"); + var targetFile = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/AcroForms/Flattened.pdf"); + File.Copy(sourceFile, targetFile, true); + + var copiedDocument = PdfReader.Open(targetFile, PdfDocumentOpenMode.Modify); + + var fieldsInCopiedDocument = GetAllFields(copiedDocument); + // fill all fields + FillFields(fieldsInCopiedDocument); + + // flatten the form. after that, AcroForm should be null and all annotations should be removed + // (this is true for the tested document, other documents may contain annotations not related to Form-Fields) + copiedDocument.FlattenAcroForm(); + copiedDocument.AcroForm.Should().BeNull(); + copiedDocument.Pages[0].Annotations.Count.Should().Be(0); + copiedDocument.Save(targetFile); + } + + [Fact] + public void CanFlattenCreatedForm() + { + var filePath = CanCreateNewForm(); // create the form + + GlobalFontSettings.ResetAll(); + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + using var fs = File.OpenRead(filePath); + var inputDocument = PdfReader.Open(fs, PdfDocumentOpenMode.Import); + + // import into new document + var copiedDocument = new PdfDocument(); + foreach (var page in inputDocument.Pages) + copiedDocument.AddPage(page); + copiedDocument.ImportAcroForm(inputDocument.AcroForm!); + + copiedDocument.FlattenAcroForm(); + copiedDocument.AcroForm.Should().BeNull(); + copiedDocument.Pages[0].Annotations.Count.Should().Be(0); + + var outFileName = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/AcroForms/CreatedForm_flattened.pdf"); + using var fsOut = File.Create(outFileName); + copiedDocument.Save(fsOut); + + // don't know what to assert here, have to check with "real" eyes + // (we mainly want to check the behavior of the AcroFieldRenderers) + } + + [Fact] + public string CanCreateNewForm() + { + // test some special characters + // Note: Current limitations regarding CJK/Arabic, etc. still applies + // make sure you use a font that supports the used characters ! + const string firstNameValue = "Sebastién"; + const string lastNameValue = "Süßölgefäß"; // yep, that's a valid german word + + GlobalFontSettings.ResetAll(); + // we use one of the 14 standard-fonts here (Helvetica) + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + var document = new PdfDocument(); + var page1 = document.AddPage(); + var page2 = document.AddPage(); + var acroForm = document.GetOrCreateAcroForm(); + var textFont = new XFont(StandardFontNames.Helvetica, 12, XFontStyleEx.Regular, + new XPdfFontOptions(PdfFontEncoding.Automatic, PdfFontEmbedding.EmbedCompleteFontFile)); + // use same font with different size + var textFontBig = XFont.FromExisting(textFont, 24); + + acroForm.SetDefaultAppearance(textFont, 12, XColors.Black); + + double x = 40, y = 80; + var page1Renderer = XGraphics.FromPdfPage(page1); + var page2Renderer = XGraphics.FromPdfPage(page2); + page1Renderer.DrawString("Name of Subject", textFont, XBrushes.Black, x, y); + page2Renderer.DrawString("For Demo purposes. Modify the fields and observe the field on the first page is modified as well.", + textFont, XBrushes.Black, x, y); + + y += 10; + // Text fields + var firstNameField = acroForm.AddTextField(field => + { + // Note: Chromium-based browsers (ie. Edge/Chrome) do not render fields without a name + field.Name = "FirstName"; + field.Font = textFontBig; + field.ForeColor = XColors.DarkRed; + field.Text = firstNameValue; + // place annotation on both pages + // if the document is opened in a PdfReader and one of the Annotations is changed (e.g. by typing inside it), + // the other Annotation will be changed as well (as they belong to the same field) + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 200, 40))); + }); + field.AddAnnotation(annot => + { + // Note: The border is currently always solid and 1 unit wide + annot.BorderColor = XColors.Green; + annot.BackColor = XColors.DarkGray; + // testing dynamic font-size by doubling the height of the second widget + annot.AddToPage(page2, new PdfRectangle(new XRect(x, y, 200, 40))); + }); + }); + var lastNameField = acroForm.AddTextField(field => + { + field.Name = "LastName"; + field.Font = textFont; + field.Text = lastNameValue; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x + 10 + 200, y, 100, 20))); + }); + field.AddAnnotation(annot => + { + annot.AddToPage(page2, new PdfRectangle(new XRect(x + 10 + 200, y, 100, 20))); + }); + }); + + y += 60; + // Checkbox fields + page1Renderer.DrawString("Subject's interests", textFont, XBrushes.Black, x, y); + y += 10; + var cbx1 = acroForm.AddCheckBoxField(field => + { + field.Name = "Interest_cooking"; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + }); + page1Renderer.DrawString("Cooking", textFont, XBrushes.Black, x + 20, y + 10); + y += 20; + var cbx2 = acroForm.AddCheckBoxField(field => + { + field.Name = "Interest_coding"; + field.Checked = true; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + }); + page1Renderer.DrawString("Coding", textFont, XBrushes.Black, x + 20, y + 10); + y += 20; + var cbx3 = acroForm.AddCheckBoxField(field => + { + field.Name = "Interest_cycling"; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + }); + page1Renderer.DrawString("Cycling", textFont, XBrushes.Black, x + 20, y + 10); + + y += 40; + // RadioButton fields + page1Renderer.DrawString("Subject's gender", textFont, XBrushes.Black, x, y); + y += 10; + // used as parent-field for the radio-button (testing field-nesting) + var groupGender = acroForm.AddGenericField(field => + { + field.Name = "Group_Gender"; + }); + acroForm.AddRadioButtonField(field => + { + field.Name = "Gender"; + // add individual buttons + field.AddAnnotation("male", annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + page1Renderer.DrawString("Male", textFont, XBrushes.Black, x + 20, y + 10); + y += 20; + field.AddAnnotation("female", annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + page1Renderer.DrawString("Female", textFont, XBrushes.Black, x + 20, y + 10); + y += 20; + field.AddAnnotation("unspecified", annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 12, 12))); + }); + page1Renderer.DrawString("Unspecified", textFont, XBrushes.Black, x + 20, y + 10); + // as an alternative, you can also use field.SelectedIndex + field.Value = "male"; + groupGender.AddChild(field); + }); + + y += 40; + // ComboBox fields + page1Renderer.DrawString("Select a number:", textFont, XBrushes.Black, x, y + 10); + acroForm.AddComboBoxField(field => + { + field.Name = "SelectedNumber"; + field.Options = ["One", "Two", "Three", "Four", "Five"]; + field.SelectedIndex = 2; // select "Three" + field.Font = textFont; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x + 100, y, 100, 20))); + }); + }); + + y += 40; + // ListBox fields + page1Renderer.DrawString("Select a color:", textFont, XBrushes.Black, x, y + 10); + acroForm.AddListBoxField(field => + { + field.Name = "SelectedColor"; + field.Options = ["Blue", "Red", "Green", "Black", "White"]; + field.SelectedIndices = [1]; // select "Red" + field.Font = textFont; + field.AddAnnotation(annot => + { + annot.AddToPage(page1, new PdfRectangle(new XRect(x + 100, y, 100, 5 * textFont.Height))); + }); + }); + + y += 100; + // PushButton fields + acroForm.AddPushButtonField(button => + { + button.Name = "SubmitButton"; + button.Caption = "Submit"; + button.Font = textFont; + button.AddAnnotation(annot => + { + // TODO: these properties should be part of the field and propagated down to the annotations + annot.Highlighting = PdfAnnotationHighlightingMode.Invert; + annot.BorderColor = XColors.Gray; + annot.BackColor = XColors.LightBlue; + annot.Border.Width = 2; + annot.Border.BorderStyle = PdfAnnotationBorderStyle.Solid; + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 100, 20))); + // Note: setting icons for push-buttons is somewhat involved at the moment, but boils down to: + // - create an XForm + // - create XGraphics from the XForm + // - draw something using the graphics (like an image but it can be anything) + // - set the annotation's icon to the XForm's PdfForm, e.g. annot.NormalIcon = xform.PdfForm + // maybe we simplify this in the future if there is strong denand for it + }); + }); + + y += 40; + // Signature fields + acroForm.AddSignatureField(field => + { + field.Name = "Signature"; + field.AddAnnotation(annot => + { + annot.BackColor = XColors.White; + annot.BorderColor = XColors.Gray; + annot.Border.Width = 1; + annot.Border.BorderStyle = PdfAnnotationBorderStyle.Solid; + annot.AddToPage(page1, new PdfRectangle(new XRect(x, y, 160, 60))); + }); + }); + + var outFileName = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/AcroForms/CreatedForm.pdf"); + using var fsOut = File.Create(outFileName); + document.Save(fsOut, true); + fsOut.Close(); + + // read back and validate + document = PdfReader.Open(outFileName, PdfDocumentOpenMode.Modify); + var fields = GetAllFields(document); + + fields.Count.Should().Be(11); + + var field = fields.First(f => f.FullyQualifiedName == "FirstName"); + field.GetType().Should().Be(typeof(PdfTextField)); + ((PdfTextField)field).Text.Should().Be(firstNameValue); + field.ForeColor.Should().Be(XColors.DarkRed); + field.Font.Should().NotBeNull(); + field.Font!.Size.Should().Be(textFontBig.Size); + field.Annotations.Elements.Count.Should().Be(2); + field.Annotations.Elements[1].BorderColor.Should().Be(XColors.Green); + field.Annotations.Elements[1].BackColor.Should().Be(XColors.DarkGray); + + field = fields.First(f => f.FullyQualifiedName == "LastName"); + field.GetType().Should().Be(typeof(PdfTextField)); + field.Font.Should().NotBeNull(); + field.Font!.Size.Should().Be(textFont.Size); + ((PdfTextField)field).Text.Should().Be(lastNameValue); + field.Annotations.Elements.Count.Should().Be(2); + + field = fields.First(f => f.FullyQualifiedName == "Interest_cooking"); + field.GetType().Should().Be(typeof(PdfCheckBoxField)); + ((PdfCheckBoxField)field).Checked.Should().Be(false); + field.Annotations.Elements.Count.Should().Be(1); + + field = fields.First(f => f.FullyQualifiedName == "Interest_coding"); + field.GetType().Should().Be(typeof(PdfCheckBoxField)); + ((PdfCheckBoxField)field).Checked.Should().Be(true); + field.Annotations.Elements.Count.Should().Be(1); + + field = fields.First(f => f.FullyQualifiedName == "Interest_cycling"); + field.GetType().Should().Be(typeof(PdfCheckBoxField)); + ((PdfCheckBoxField)field).Checked.Should().Be(false); + field.Annotations.Elements.Count.Should().Be(1); + + field = fields.First(f => f.FullyQualifiedName == "Group_Gender"); + field.GetType().Should().Be(typeof(PdfGenericField)); + field.HasChildFields.Should().Be(true); + field.Annotations.Elements.Count.Should().Be(0); + field.Fields.Elements.Count.Should().Be(1); + + field = fields.First(f => f.FullyQualifiedName == "Group_Gender.Gender"); + field.GetType().Should().Be(typeof(PdfRadioButtonField)); + field.Annotations.Elements.Count.Should().Be(3); + ((PdfRadioButtonField)field).SelectedIndex.Should().Be(0); + ((PdfRadioButtonField)field).Options.Should().Equal(new[] { "male", "female", "unspecified" }); + ((PdfRadioButtonField)field).Value.Should().Be("male"); + + field = fields.First(f => f.FullyQualifiedName == "SelectedNumber"); + field.GetType().Should().Be(typeof(PdfComboBoxField)); + field.Annotations.Elements.Count.Should().Be(1); + ((PdfComboBoxField)field).SelectedIndex.Should().Be(2); + ((PdfComboBoxField)field).Options.Should().Equal(new[] { "One", "Two", "Three", "Four", "Five" }); + ((PdfComboBoxField)field).Value.Should().Be("Three"); + + field = fields.First(f => f.FullyQualifiedName == "SelectedColor"); + field.GetType().Should().Be(typeof(PdfListBoxField)); + field.Annotations.Elements.Count.Should().Be(1); + ((PdfListBoxField)field).SelectedIndices.Count().Should().Be(1); + ((PdfListBoxField)field).SelectedIndices.Should().Contain(1); + ((PdfListBoxField)field).Options.Should().Equal(new[] { "Blue", "Red", "Green", "Black", "White" }); + ((PdfListBoxField)field).Value.Count().Should().Be(1); + ((PdfListBoxField)field).Value.Should().Contain("Red"); + + field = fields.First(f => f.FullyQualifiedName == "SubmitButton"); + field.GetType().Should().Be(typeof(PdfPushButtonField)); + field.Annotations.Elements.Count.Should().Be(1); + ((PdfPushButtonField)field).Caption.Should().Be("Submit"); + field.Annotations.Elements.Count.Should().Be(1); + field.Annotations.Elements[0].Border.Width.Should().Be(2); + field.Annotations.Elements[0].Border.BorderStyle.Should().Be(PdfAnnotationBorderStyle.Solid); + field.Annotations.Elements[0].Highlighting.Should().Be(PdfAnnotationHighlightingMode.Invert); + field.Annotations.Elements[0].BorderColor.Should().Be(XColors.Gray); + field.Annotations.Elements[0].BackColor.Should().Be(XColors.LightBlue); + + return outFileName; + } + + [Fact] + public void CanDeleteFields() + { + var filePath = CanCreateNewForm(); + + var document = PdfReader.Open(filePath, PdfDocumentOpenMode.Modify); + var startFields = document.AcroForm!.GetAllFields().ToList(); + var startAnnotsCount = document.Pages[0].Annotations.Elements.Count; + foreach (var field in startFields) + { + if (field is PdfPushButtonField) + field.Remove(); + if (field is PdfSignatureField) + field.Remove(); + } + var endFields = document.AcroForm!.GetAllFields().ToList(); + var endAnnotsCount = document.Pages[0].Annotations.Elements.Count; + endFields.Count.Should().Be(startFields.Count - 2); + endAnnotsCount.Should().Be(startAnnotsCount - 2); + + var outFileName = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/AcroForms/CreatedForm_removed.pdf"); + document.Save(outFileName); + } + + //[Fact(Skip = "Only run when we want it to run")] + [Fact] + public void RenderGlyphsOfStandardFonts() + { + GlobalFontSettings.FontResolver = new StandardFontResolver(); + + foreach (var fontName in StandardFontData.FontNames) + { + using var document = new PdfDocument(); + + var renderFont = new XFont(fontName, 16); + var helveticaFont = new XFont("Helvetica", 12); + var headerFont = new XFont("Helvetica", 36); + var brush = new XSolidBrush(XColors.Black); + var left = 60.0; + var top = 60.0; + var bottom = 60.0; + var gapX = 120.0; + var gapY = 20.0; + var x = left; + var y = top; + var page = document.AddPage(); + var gfx = XGraphics.FromPdfPage(page); + var fullFontName = renderFont.OpenTypeDescriptor.FontFace.FullFaceName; + gfx.DrawString(fullFontName, headerFont, brush, x, y); + y += 50; + + // test rendering a specific character + //gfx.DrawString(char.ConvertFromUtf32(0x29C9C), renderFont, brush, x, y); + //y += 40; + + var characterList = renderFont.GetSupportedCharacters(); + if (characterList.Count > 0) + { + foreach (var c in characterList) + { + gfx.DrawString(c.ToString("X4"), helveticaFont, brush, x, y); + var s = char.ConvertFromUtf32(c); + gfx.DrawString(s, renderFont, brush, x + 80, y); + x += gapX; + if (x + gapX >= page.Width.Point) + { + x = left; + y += gapY; + if (y >= page.Height.Point - bottom) + { + gfx.Dispose(); + page = document.AddPage(); + gfx = XGraphics.FromPdfPage(page); + x = left; + y = top; + } + } + } + gfx.Dispose(); + } + else + output.WriteLine($"Font {fontName} has no glyphs"); + + var outFileName = PdfFileUtility.GetTempPdfFullFileName("PDFsharp/UnitTest/Fonts/StandardFonts/" + fontName); + document.Save(outFileName); + } + } + + private static void FillFields(IList fields) + { + foreach (var field in fields) + { + if (field.ReadOnly) + continue; + // Values for the fields: + // - TextFields: name of field + // - CheckBoxes: checked + // - RadioButtons: second option is checked (if there is only one option, this is checked) + // - ChoiceFields (List, Combo): second option is selected (if there is only one option, this is selected) + if (field is PdfTextField textField) + textField.Text = field.Name; + else if (field is PdfComboBoxField comboBoxField) + comboBoxField.SelectedIndex = Math.Min(1, comboBoxField.Options.Count - 1); + else if (field is PdfCheckBoxField checkboxField) + checkboxField.Checked = true; + else if (field is PdfRadioButtonField radioButtonField) + radioButtonField.SelectedIndex = Math.Min(1, radioButtonField.Options.Count - 1); + else if (field is PdfListBoxField listBoxField) + listBoxField.SelectedIndices = [Math.Min(1, listBoxField.Options.Count - 1)]; + } + } + + private static List GetAllFields(PdfDocument doc) + { + return (doc.AcroForm?.GetAllFields() ?? []).ToList(); + } + + ///