From 5a2b5bae31eb30aadeda54f57d4b89efbf214c1d Mon Sep 17 00:00:00 2001 From: boris Date: Sun, 2 Jun 2024 05:35:03 +0200 Subject: [PATCH] priprava - v2 --- App.config | 24 + Form1.Designer.vb | 19 +- Form1.resx | 287 +- Form1.vb | 21 +- Form2.Designer.vb | 80 + Form2.resx | 3074 +++++ Form2.vb | 9 + GSI_data.ini | 139 + GSI_user.ini | 8 + MadMilkman.Ini-1.0.6/.gitattributes | 14 + MadMilkman.Ini-1.0.6/.gitignore | 25 + MadMilkman.Ini-1.0.6/LICENSE | 202 + .../MadMilkman.Ini.Documentation.chm | Bin 0 -> 220459 bytes .../AssemblyInfo.cpp | 40 + .../MadMilkman.Ini.Samples.CPP/IniSamples.cpp | 463 + .../MadMilkman.Ini.Samples.CPP.vcxproj | 94 + ...MadMilkman.Ini.Samples.CPP.vcxproj.filters | 20 + .../MadMilkman.Ini.Samples.CPP/stdafx.cpp | 7 + .../MadMilkman.Ini.Samples.CPP/stdafx.h | 8 + .../MadMilkman.Ini.Samples.CS/IniSamples.cs | 456 + .../MadMilkman.Ini.Samples.CS.csproj | 58 + .../Properties/AssemblyInfo.cs | 36 + .../Compress Example.ini | 1 + .../Custom Example Input.ini | 18 + .../Custom Example Output.ini | 18 + .../Encrypt Example.ini | 1 + .../Load Example.ini | 5 + .../Save Example.ini | 5 + .../MadMilkman.Ini.Samples.VB/IniSamples.vb | 469 + .../MadMilkman.Ini.Samples.VB.vbproj | 102 + .../My Project/Application.Designer.vb | 13 + .../My Project/Application.myapp | 10 + .../My Project/AssemblyInfo.vb | 35 + .../My Project/Resources.Designer.vb | 62 + .../My Project/Resources.resx | 117 + .../My Project/Settings.Designer.vb | 73 + .../My Project/Settings.settings | 7 + MadMilkman.Ini-1.0.6/MadMilkman.Ini.Setup.msi | Bin 0 -> 1110016 bytes .../MadMilkman.Ini.Tests/BugFixes.cs | 118 + .../IniFileCreateUpdateTests.cs | 400 + .../IniFileEncryptionCompressionTests.cs | 71 + .../MadMilkman.Ini.Tests/IniFileReadTests.cs | 307 + .../MadMilkman.Ini.Tests/IniFileWriteTests.cs | 144 + .../IniSerializationDeserializationTests.cs | 126 + .../MadMilkman.Ini.Tests/IniUtilities.cs | 30 + .../IniValueManipulationTests.cs | 308 + .../MadMilkman.Ini.Tests.csproj | 76 + .../Properties/AssemblyInfo.cs | 36 + .../NUnit.2.6.4/console/nunit-console.exe | Bin 0 -> 5120 bytes .../console/nunit-console.exe.config | 24 + .../NUnit.2.6.4/lib/nunit.framework.dll | Bin 0 -> 151552 bytes .../NUnit.2.6.4/lib/nunit.framework.xml | 10984 ++++++++++++++++ .../Resources/NUnit.2.6.4/license.txt | 15 + .../lib/NUnit.VisualStudio.TestAdapter.dll | Bin 0 -> 38912 bytes .../NUnitTestAdapter.1.2/lib/nunit.core.dll | Bin 0 -> 155648 bytes .../lib/nunit.core.interfaces.dll | Bin 0 -> 61440 bytes .../NUnitTestAdapter.1.2/lib/nunit.util.dll | Bin 0 -> 135168 bytes MadMilkman.Ini-1.0.6/MadMilkman.Ini.dll | Bin 0 -> 40960 bytes MadMilkman.Ini-1.0.6/MadMilkman.Ini.sln | 110 + MadMilkman.Ini-1.0.6/MadMilkman.Ini.xml | 755 ++ MadMilkman.Ini-1.0.6/MadMilkman.Ini.zip | Bin 0 -> 23685 bytes .../IniEnums/IniCommentStarter.cs | 19 + .../MadMilkman.Ini/IniEnums/IniCommentType.cs | 8 + .../MadMilkman.Ini/IniEnums/IniDuplication.cs | 27 + .../IniEnums/IniKeyDelimiter.cs | 19 + .../IniEnums/IniSectionWrapper.cs | 26 + .../MadMilkman.Ini/IniFile.cs | 161 + .../IniInternal/DebugCollectionViewer.cs | 29 + .../IniInternal/GlobalSuppressions.cs | Bin 0 -> 12958 bytes .../IniInternal/IItemNameVerifier.cs | 4 + .../SharedDocumentationComments.xml | 20 + .../MadMilkman.Ini/IniItems/IniComment.cs | 58 + .../MadMilkman.Ini/IniItems/IniItem.cs | 112 + .../MadMilkman.Ini/IniItems/IniKey.cs | 211 + .../MadMilkman.Ini/IniItems/IniSection.cs | 132 + .../IniItemsCollection/IniItemCollection.cs | 291 + .../IniItemsCollection/IniKeyCollection.cs | 77 + .../IniSectionCollection.cs | 64 + .../MadMilkman.Ini/IniOptions.cs | 213 + .../IniReaderWriter/IniCompressor.cs | 43 + .../IniReaderWriter/IniEncryptor.cs | 58 + .../IniReaderWriter/IniReader.cs | 197 + .../IniReaderWriter/IniWriter.cs | 128 + .../IniUtilities/IniSerializationAttribute.cs | 34 + .../IniUtilities/IniSerializer.cs | 128 + .../IniUtilities/IniValueBinding.cs | 194 + .../IniUtilities/IniValueBindingEventArgs.cs | 56 + .../IniUtilities/IniValueMappings.cs | 77 + .../IniUtilities/IniValueParser.cs | 67 + .../MadMilkman.Ini/MadMilkman.Ini.csproj | 91 + .../MadMilkman.Ini/Properties/AssemblyInfo.cs | 22 + .../MadMilkman.Ini.StrongNameKey.snk | Bin 0 -> 596 bytes .../Properties/MadMilkman.Ini.png | Bin 0 -> 1521 bytes MadMilkman.Ini-1.0.6/README.md | 115 + MadMilkman.Ini-1.0.6/RELEASENOTES | 38 + My Project/Application.Designer.vb | 2 +- My Project/Application.myapp | 2 +- ...PS1100_Convert.My.MyApplication.datasource | 10 + .../TPS1100_Convert.My.MySettings.datasource | 10 + My Project/MadMilkman.Ini.dll | Bin 0 -> 40960 bytes My Project/MadMilkman.Ini.xml | 755 ++ My Project/Settings.Designer.vb | 66 +- My Project/Settings.settings | 26 +- TPS1100 Convert.vbproj | 20 + TPS1100CNVRT_logo.png | Bin 0 -> 9236 bytes 105 files changed, 22992 insertions(+), 142 deletions(-) create mode 100644 Form2.Designer.vb create mode 100644 Form2.resx create mode 100644 Form2.vb create mode 100644 GSI_data.ini create mode 100644 GSI_user.ini create mode 100644 MadMilkman.Ini-1.0.6/.gitattributes create mode 100644 MadMilkman.Ini-1.0.6/.gitignore create mode 100644 MadMilkman.Ini-1.0.6/LICENSE create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Documentation.chm create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/AssemblyInfo.cpp create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/IniSamples.cpp create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/MadMilkman.Ini.Samples.CPP.vcxproj create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/MadMilkman.Ini.Samples.CPP.vcxproj.filters create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/stdafx.cpp create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/stdafx.h create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CS/IniSamples.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CS/MadMilkman.Ini.Samples.CS.csproj create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CS/Properties/AssemblyInfo.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Compress Example.ini create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Custom Example Input.ini create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Custom Example Output.ini create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Encrypt Example.ini create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Load Example.ini create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Save Example.ini create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/IniSamples.vb create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/MadMilkman.Ini.Samples.VB.vbproj create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Application.Designer.vb create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Application.myapp create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/AssemblyInfo.vb create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Resources.Designer.vb create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Resources.resx create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Settings.Designer.vb create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Settings.settings create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Setup.msi create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/BugFixes.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniFileCreateUpdateTests.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniFileEncryptionCompressionTests.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniFileReadTests.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniFileWriteTests.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniSerializationDeserializationTests.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniUtilities.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniValueManipulationTests.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/MadMilkman.Ini.Tests.csproj create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Properties/AssemblyInfo.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnit.2.6.4/console/nunit-console.exe create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnit.2.6.4/console/nunit-console.exe.config create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnit.2.6.4/lib/nunit.framework.dll create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnit.2.6.4/lib/nunit.framework.xml create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnit.2.6.4/license.txt create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnitTestAdapter.1.2/lib/NUnit.VisualStudio.TestAdapter.dll create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnitTestAdapter.1.2/lib/nunit.core.dll create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnitTestAdapter.1.2/lib/nunit.core.interfaces.dll create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnitTestAdapter.1.2/lib/nunit.util.dll create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.dll create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.sln create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.xml create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini.zip create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniCommentStarter.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniCommentType.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniDuplication.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniKeyDelimiter.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniSectionWrapper.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniFile.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniInternal/DebugCollectionViewer.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniInternal/GlobalSuppressions.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniInternal/IItemNameVerifier.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniInternal/SharedDocumentationComments.xml create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItems/IniComment.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItems/IniItem.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItems/IniKey.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItems/IniSection.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItemsCollection/IniItemCollection.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItemsCollection/IniKeyCollection.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItemsCollection/IniSectionCollection.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniOptions.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniReaderWriter/IniCompressor.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniReaderWriter/IniEncryptor.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniReaderWriter/IniReader.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniReaderWriter/IniWriter.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniSerializationAttribute.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniSerializer.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniValueBinding.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniValueBindingEventArgs.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniValueMappings.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniValueParser.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/MadMilkman.Ini.csproj create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/Properties/AssemblyInfo.cs create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/Properties/MadMilkman.Ini.StrongNameKey.snk create mode 100644 MadMilkman.Ini-1.0.6/MadMilkman.Ini/Properties/MadMilkman.Ini.png create mode 100644 MadMilkman.Ini-1.0.6/README.md create mode 100644 MadMilkman.Ini-1.0.6/RELEASENOTES create mode 100644 My Project/DataSources/TPS1100_Convert.My.MyApplication.datasource create mode 100644 My Project/DataSources/TPS1100_Convert.My.MySettings.datasource create mode 100644 My Project/MadMilkman.Ini.dll create mode 100644 My Project/MadMilkman.Ini.xml create mode 100644 TPS1100CNVRT_logo.png diff --git a/App.config b/App.config index a86c646..b61c19c 100644 --- a/App.config +++ b/App.config @@ -1,6 +1,30 @@ + + +
+ + + + + + C:\ + + + Pika + + + Da + + + GSI_user.ini + + + GSI_data.ini + + + diff --git a/Form1.Designer.vb b/Form1.Designer.vb index 87bc780..f8ee513 100644 --- a/Form1.Designer.vb +++ b/Form1.Designer.vb @@ -44,6 +44,7 @@ Partial Class Form1 Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator() Me.tsbHelp = New System.Windows.Forms.ToolStripButton() Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton() Me.StatusStrip1.SuspendLayout() Me.ToolStrip1.SuspendLayout() Me.SuspendLayout() @@ -146,7 +147,7 @@ Partial Class Form1 ' Me.ToolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden Me.ToolStrip1.ImageScalingSize = New System.Drawing.Size(22, 22) - Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsbOpenFile, Me.ToolStripSeparator2, Me.tsbFileName, Me.ToolStripSeparator1, Me.tsbConvert, Me.tsbPointsOnly, Me.ToolStripComboBox2, Me.ToolStripLabel2, Me.ToolStripComboBox1, Me.ToolStripLabel1, Me.ToolStripSeparator3, Me.tsbHelp, Me.ToolStripSeparator4, Me.tsbSaveAs}) + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsbOpenFile, Me.ToolStripSeparator2, Me.tsbFileName, Me.ToolStripSeparator1, Me.tsbConvert, Me.tsbPointsOnly, Me.tsbHelp, Me.ToolStripSeparator4, Me.tsbSaveAs, Me.ToolStripButton1, Me.ToolStripSeparator3, Me.ToolStripComboBox2, Me.ToolStripLabel2, Me.ToolStripComboBox1, Me.ToolStripLabel1}) Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) Me.ToolStrip1.Name = "ToolStrip1" Me.ToolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System @@ -172,7 +173,6 @@ Partial Class Form1 Me.ToolStripComboBox2.Items.AddRange(New Object() {"Pika", "Vejica"}) Me.ToolStripComboBox2.Name = "ToolStripComboBox2" Me.ToolStripComboBox2.Size = New System.Drawing.Size(75, 29) - Me.ToolStripComboBox2.Text = "Pika" ' 'ToolStripLabel2 ' @@ -193,9 +193,10 @@ Partial Class Form1 'ToolStripLabel1 ' Me.ToolStripLabel1.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right + Me.ToolStripLabel1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text Me.ToolStripLabel1.Image = CType(resources.GetObject("ToolStripLabel1.Image"), System.Drawing.Image) Me.ToolStripLabel1.Name = "ToolStripLabel1" - Me.ToolStripLabel1.Size = New System.Drawing.Size(123, 26) + Me.ToolStripLabel1.Size = New System.Drawing.Size(101, 26) Me.ToolStripLabel1.Text = "Uporabi kodiranje" ' 'ToolStripSeparator3 @@ -218,6 +219,15 @@ Partial Class Form1 Me.ToolStripSeparator4.Name = "ToolStripSeparator4" Me.ToolStripSeparator4.Size = New System.Drawing.Size(6, 29) ' + 'ToolStripButton1 + ' + Me.ToolStripButton1.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right + Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image) + Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton1.Name = "ToolStripButton1" + Me.ToolStripButton1.Size = New System.Drawing.Size(88, 26) + Me.ToolStripButton1.Text = "Nastavitve" + ' 'Form1 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -230,7 +240,7 @@ Partial Class Form1 Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) Me.MinimumSize = New System.Drawing.Size(1000, 480) Me.Name = "Form1" - Me.Text = "TPS1100 Converter" + Me.Text = "TPS1100 Convert" Me.StatusStrip1.ResumeLayout(False) Me.StatusStrip1.PerformLayout() Me.ToolStrip1.ResumeLayout(False) @@ -260,4 +270,5 @@ Partial Class Form1 Friend WithEvents tsbPointsOnly As ToolStripButton Friend WithEvents tsbHelp As ToolStripButton Friend WithEvents ToolStripSeparator4 As ToolStripSeparator + Friend WithEvents ToolStripButton1 As ToolStripButton End Class diff --git a/Form1.resx b/Form1.resx index 9262e8f..737c4f5 100644 --- a/Form1.resx +++ b/Form1.resx @@ -130,85 +130,84 @@ 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 - rkJggg== + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAV4SURBVGhD7VhbbBRVGN7oi9FoTGx9oYjgG8YXuUux9zvb + lkJiYmJCKKA+VFowYtiW7YUuLdu9z+zOzszeZnd6ozcswZgoIoQHY6LPhBdBNCbd7Y1oNC38njPzz3SQ + BwW2dJr0S77s7v+dOfOd//z/ntm1rGENJsXFnI01Y7kb71zI3fDLFzmbqjC8ekCNT+a+ASpfu43h1YMl + 8yoxvHowmLMRpFdeVzhE3mN4dWC++r26G/kVMF3RANPl++DGrjKYK2uwomxuzFUd6JmvPADzlfthroKw + vIGY3wezpfUwU1LfjcPMifmK/XUPmlaNz5bUwWxxLcwU1cJ0gXUvDjcfZssarujZLq67mC6uWZcu2Jc3 + U2i9NFO4F2YK9kImv+YyDjcfZkuq784Wq9lOF1TmYdiS2VO3fnpPNUznE+4uncew+TBTVH2XZFvJ9IML + KF+f2V0JmXcqILPFxAvI7Kn6dvrdGlCzXXEpvb0yj5qf2lX2ZXpnGaR3lEJ6a8k3ONx8+D2/ql7P9K5y + UE0Tbi+FqW0lMLW1GO5sLarF4eaDKyju/+qDj3XTaTQ9taUIpt4uhEvvHwFfKFGHw82H2ODEpIsVIdZ0 + En4iZ8Fv20vg123F8CM50KJNn4E7GAWxf3wCh5sLfHI0j0tMLEYHJiAUH4A+RgBbl/trm8NzmS6Kiw9C + tH8cIvGhhfjQ5Dq8zDyIDIy3RwfGVZOEgjwGnW7+zW5faLNI3tNYpJ++EsqjbXiZOTA8PPxsRB67ZTTp + 5uI/o2zxhBO3iQ50IaI8CmHp/G16DcorD0Eet6qZ1UyOgcPDfYKypdsbbqHGFaZUCvJINcorD1EemdSy + S8mE4n/b7fZnUFbAiMm/hNQI6EyOmKOZafMGY6OLemaJOYc3PIqyjrM+fhyNE54HPiYvhOJDK9/MQnK0 + 3ZjZcGIYzrrdm1DW0eVkNnCJIeCpeUrpPJDPK9vMtBGJ6VtaZqmxXjZyA+WHcI6N3uSlYdLEOle2mQVp + xKpnFLN65hxzkGpiauI6PROQ12is3cU2KsbJLoXJblCGEoMr18ycNDSpGaeZ9fKRP1Gy0G8kIzFs6WMS + f9BS0kmOb5SeLmjzMqK8qJcDySpp3gTKFsHQF5QYJl+pXIqeypQhypi0/M18qLn1+uGWVjDS3htA42op + sLF++PCEXdfpjhipxY9+ehqYSD+aH1DY1uPTdY2Nza1K2WUFdDLj5EeOt0FASC2VAWFnX/ABA0aN0qh1 + uljFeFBhP5CNU+Y0jjnUYruKt88+OGnQqhgzlEJnD9uAsgLV3BIxrMDu8ddT48HoEpmo/PSamTTepF7D + 5MmzJ8jPoaSDjchgJIZ19AWi82yUaJR0jCg/nWbmk8k8Hy8tavVL2eFigyjr8AvJawExCSrjD5VDh5Pl + tMUxkRRhjDRzfPlPZmK43Vi/LjZ63+7xvIzy/4bd7nvJx8fvMSIxr1FILu/JTE9NJiLfMtauw8t9j/Ij + w+FhfyAPeeouCUnwhaXlPZlJvVqpaVYh2XqStY4ebxnKj4y2Xl+Rn5cU8wGBvkrgFRLL18zE9DGtbil7 + GT6N0mPD4WcyfmKcLsTPJ8DHJ5pQyj6CYrKWVRpOrdl2Z6AXpcfG6V6/kxpH8+DnYjUoZR+BaOotreE8 + XOwe+dHyPEqPDbs99txZD7foC8dJDxCGIptRyj5EUXxRa7guZ/AKhp8YnX3MVWrey8XBKUkvYDj7OHrc + nnO8q2+h2x28f+qMayeGnxhtDs8Osoj7LR3OhY9O2F/FcPbR2Gz7XH1Oac36qdnYfOoCPgedxFD2cbjJ + dpPepLHFVomhrIHOqSyA3AND2Qe5wXeNx2xX/v2PQzZA59Tmx9Aa1rCG/4TF8g+NzWpwZQrCzgAAAABJ + RU5ErkJggg== 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 - TkSuQmCC + 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 @@ -217,33 +216,97 @@ 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 + QmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAYUSURBVEhLjVV5TNN3FC/qFmYy8QiBP0aiQmZcPcohYAMF + oYojkaJgUSJUXCb3HRBGsIQWsVC6ZuCJpkMCKiDxIBDjAMF5wGTSFsrVcohMN8/J1cLM23u/dtkWR+ZL + PvD4fd/38973XbD+T3p27FipCQvbqzl0SKyNjz+tTUg4pYmKOqoODQ0dEQiWW8w+TPLz89elFxdHZMnl + YRXJyWmaxMSKvjNnTEPt7TA2NARPJiYYkD7U1gaPVCqjNilJdT4lJZXupJaURBKHhe7fklNYyMuTSnMv + Z2a6N+3ff/P25s2gVihgEgCMiDnEvAWk07e3CHVeHtxhs6FJJGq8lJW1BTnEuQUF3hZas5BXPJCQbuDz + v+vw8gL1rl0wGBICU729SANgMhrBZDKZgfo7/Dal0YBh507o9feHLi4Xhv38FMRxRCaTio8d+5x0RjAt + UVUZGT79vr7Ft9G4VygEg0gEA2FhMJqdDabZWfiDnFgc0CtM09MwnpEBYwcOwDjaDu7eDXe9vUHt65tz + MjfXOxM5GXLM2yffKBSCq0FBZ350dwetQACDSKyPi4PhtDQYRGcTJSVMWmYtMCGeymQwgmfjaPM4MZFx + 1I93OzgcuC4QlGbL5cHEzThRZmdnNQcHQ6ebG+j4fDDExoIhOZn5rduzB9o3bYKOnBzoUKkmH1RXT/2U + lQUdGzaAHlP4OCYGRskBBRQQAI/we3NgIChycjIZcpKG4OD8Pp0OXt65AwMREdAXGgr6w4dBGxQEt/BV + DX5+N296eXk8dHX9qOaLLz5u4nK3Nvr4NLfh2QBGPRYdDQZ0NhweDq9aWqCvuxtuCAR5ZnI3t7U/JCff + f/6OygYw8/o1jBUWQjcW7ZaLC1yzFO6/5Nq2bWXtrq7Qj7YTEglMv3jBcDyfm4Pm2NjWRnf3z1j13t6C + u2Vlxik8MGJ3UK6poH1FRVDD4XRZuBaUeg6nZ7Cg4O/2xSag1m6Vy6fruNxAVl1AQEbn5ctM8YzYLbPY + HeRgZGwM6vj8dAvPglLL5x8ZGR9n7tBd4phB/UFVFdT4+yeyLgYGHnt4/TozOLPkAEHRaFpboYLLFVh4 + FpRKL6/9vffuMXeInLJAwXbU1cHFgIBcVqW/f+6D2lqm9RgHGAVJv1YL57Zs+drCs6Cc8/RMHBoYYO78 + 9QIK9l51NVT4+GSwyl1cwltPn35HHyl/FMn8/Dxo09Oh3Mmp3sKzoJx1dGxQYwtTiujuLHIQV6NcPneW + wwllla5d63YlJWWYCkN9NIm5H8UJ7cUOurpxI3zr7LzHwvWelDg776vDvu/CTtLjxL998gQZAH5H1MbH + 65Rr1mxiDE96eiqHR0fhZUMDDOAMEAxRUdCNa6MaCYrZ7DjG8B8iZ7OTKzGAzu3boQ9tNTgHWpzsF01N + YBgZgRPu7nKLKYsliYjIq8ahUTs4QD8OF60JPU6xHneMBp3ccHSEypCQkfKwsOryffsuVgmFo/VOTvAQ + z/rQRof2fWhPC/I+clzw9ASJSGQeNJKjMlmY1M5O02hjA/14aTAy0uyALuK2HMeVTKX/bWqKAemjUil0 + 4xmR63Bd9OAGUPv5wZVlyyDf1rZTXFwsFIvFi1j4Y2meUvmVODycp1q58i5F0I/PHsTIaGXQTjJidzDF + x2knUEGpW/pTU0GNqenBgNS4w5rxrmzRojaxUOgpKS2NIm7mBccVCuGR7OwDjL506eOfMSU6Dw/Q4Wve + 4M6nCZ3GyGdmZhiQTg5f9/TAI7TpwvS2rV4NMmtrA3FIi4oipYWFe0lnpKamZrHy1CnJ1qAg3ooVK2yi + raxarrFY8LysDGnMK8CErUttTCCdHJD8cuIEXELbGCurq0hllS6R8IqUSglxmtktIhKJrKPj4lIjEhPT + 3Lnc4zEeHm/OJyWBHjfs5LNnTH9TGxNIf/v0Kejx/zLZxLq5/crj8dIjExKiv79wIVWlUllbaN+XVatW + rbNzcNi12NZ2B/65d72VleIgm91WGBo6qoiKekWQYEcdXL++Bc+Oo82XS+zt3Zbb2/PsbGzWMCQfKPRE + KtISxKcIR8QGBBtBROb/Vma7BYTF+hNQbnPXD0EXfAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAXUSURBVGhD7ZhbjBNVGMfReIlBRQhGX2QLiZsVwd2KCVEB + 44uJMREvXCMiBhW5PHiBJYJk0URFYKH3dqadazudSzuXthuU+MADrtHAg2/wIDEm6KLggxEjiWyP3yln + oO3O7LbTrbsm/SVfdtP59pz/b8+cM7M7o0OHDtMfijp9K6+WXuQUK8Yq1nFGNk8ns8ZXKcmIiKI4k7RN + b3i1sJ6VrZ84pYBABLGyiZgslGQgOqOPJFV1DmltjoGBgZs5tfgpr5Q2Bo8du518POmcOHHiFkEtsbxa + BAFnCUrK95D25hHUYgAPfm0C8wInm/s5beh+cnnSgFuJa5sEhteKH94QIZNIxhU2Y+4mLS0jaoVNbZXA + MOqxe3nV+rt2IqisOQoTLSNtnlFV9Q5WKf7iKJHWryYlbQlpbR1OLdTduxURmFA/i4OQNk/AeOucJFKS + DquRP07axuUQnGSDjeQQldIiCF8eK2LChMYR0uYJNlsQnCSSmTysiHaItLkSZeUHIqn0D+GkSJOPxgev + ipMITDxKZ3PrSVvTcIpxykkimc4hStCypM2RGxJpFKLFk+TjiQGR1TDxxTqRyr3MiPpG0tYUrGR+7yRB + izmU4LWLwXT6btJaQ50ECtDCGXKpMZLZwn2sbBjVIpX7WYSNmc69RtoahskYp5wkKFFDCUFFMV75IpWy + 7iLtFUKc1BOihXO2BHyPjsb5YXK5OdisMVAtksroMHn+Ki1qTa0MI+mMm0SCV1Ccl1GUky/E2CwbZaT9 + YSatw0pcqZYIUjw6EufSZMjmAZH+ahEchhLUMi3k3iYt4xKipJ7DUfrceBIxDorNIpBAESaDQALVSwQS + HBSzgQzrDTi1dlWL4EAQpJwQ1a2kxRFOKvYkeHnkcJjGQWElW5L4dXCwtcdABZDYWS1CQ8V5pQynzjbS + UgOXL/YIamEEryYcm2gwmmpBgoP9wW4hQ7cOSLxfLYKDYRlYme2kpYIgGw9hCUErIR6Oc5CFIEwlkCeJ + GJtDCN1Ehp8c6HT+vWoRXBCqDOF24OtDOz9aefLV7f/IySzCIrjwUR6H4IORFP7NNicRZY1gMNieN/Kk + mHu3WgTfLhCsLH8Wpr9e9cbodys3oW/WbkE1MnD6YZkjMQYdDFMoTIuj40rEuN8DcXbHpK9EPfBq8U5l + jxARIZhEw2veRFiiIrLmLVR4ZhVKh9malYETrxL4YCiBDgQT54O0KIUo/myIEs4dTfBnQCIXiHObD1DU + LDJV+6F4bQuWEUKpWonVILHsOWT6/MhYtLxGBr8C4QMgxsiXIyl+BRlq6oHbKVotMQwS5hPPViTsGiOj + FS7zijV9JPDGtveEm0S9zDWJoekjkWEzi4fXb716XWKtu4Rd+UXLysrWPZ5ePNuC/bDTojz69uXN1zY2 + 2RMTlT7Pf8Ga17eQDDV12BL2/Z4LM8h66nnH0G6l+3p/NuY/0k2G/O+pl7Ar83kEmd1LHUO71ZStjJuE + Xf8LmYkk7JrWMo1K2IVl9O6lZafQbtV2mWYlcOHnhLph2w6zy/+nU2i3apuMVwn7YWfOf3T5lMvwucLD + IPGbU1i3Aok/BLX4OBmigtXV+zQctX85hXYrfDTnF/Q9SIbwjigenwnBfrQD7ktYaN0nOhpImGPC2+Uk + YeNFxvT1ntEWLryNDOENUS1utwPujVto1usSmrVRRLM3MGhfTG9KwsaLjOXra+1VhleLsh3ypY/zFYl7 + XmHQnHUJtHaf2LSETdMyXf7G/j3qBohodtD+iHFdYu7qMPogoHiSsGlGxvD1seTHvAHhdtlhce0K5NAL + ewS0+6jckoRNozJGl7+h/5u5klS/nMNppYvVMtXVioTNRDKGz38eNvudpN078Ofok5xSujRGBJ4rYm5o + KWlrCcvnXwGn06WxIr0j1gL/Y6StdSSpOBd+83s5tVSCrwVRK/VL0tBscnlSKHYvmQu30F6zq69kdPUW + QKR/aN7iSZ2jQ4cOHaYLM2b8C3Y6bGkYDaGdAAAAAElFTkSuQmCC @@ -325,38 +388,6 @@ KchCQ5Jn9ki7aLn8iNOxu0ABvAgeAXeD68G3wGLwOaD/coZI3Qu5/Xg0JuHz5JMoEe7G7zcbZu7baDMs LpVGj64Obh8QH40UZGXz62eCWeKfkfpRTABMCOKfUmXzQ1FRHSlSJIdQakT1/JSaMeP/yToI3IKwINIA AAAASUVORK5CYII= - - - - - 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 diff --git a/Form1.vb b/Form1.vb index cbb5d30..3544962 100644 --- a/Form1.vb +++ b/Form1.vb @@ -1,6 +1,12 @@ -Imports System.IO +Imports System.Configuration +Imports System.IO +Imports TPS1100_Convert.My Public Class Form1 + Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load + ToolStripComboBox2.Text = My.Settings.DecimalnoLocilo + + End Sub Private Sub tsbOpenFile_Click(sender As Object, e As EventArgs) Handles tsbOpenFile.Click If OpenFileDialog1.ShowDialog = DialogResult.OK Then tsbFileName.Text = OpenFileDialog1.SafeFileName @@ -34,6 +40,9 @@ Public Class Form1 ' Remove * sign from index line line(0) = Replace(line(0), "*", "") + If i = 0 Then + + End If ' Check if it's a new station setup If Microsoft.VisualBasic.Left(line(1), 2) = "25" Then RichTextBox1.AppendText(vbCrLf + "Station:" + vbCrLf + "*************" + vbCrLf) @@ -379,4 +388,14 @@ Public Class Form1 MessageBox.Show("Za konvertiranje GSI datoteke najprej izberi datoteko, ki jo želiš konvertirati z ukazom 'Open File'. Nato izberi metodo konverzije (Poročilo, Merjene točke, Vse točke). Po končani knverziji shrani novo datoteko z ukazom 'Save As...'", "Kratka navodila") End Sub + + Private Sub ToolStripComboBox2_Click(sender As Object, e As EventArgs) Handles MyBase.FormClosing + My.Settings.DecimalnoLocilo = ToolStripComboBox2.Text + My.Settings.Save() + End Sub + + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click + Form2.ShowDialog() + + End Sub End Class diff --git a/Form2.Designer.vb b/Form2.Designer.vb new file mode 100644 index 0000000..a5ee6c7 --- /dev/null +++ b/Form2.Designer.vb @@ -0,0 +1,80 @@ + _ +Partial Class Form2 + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form2)) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.PropertyGrid1 = New System.Windows.Forms.PropertyGrid() + Me.MyApplicationBindingSource = New System.Windows.Forms.BindingSource(Me.components) + Me.MyApplicationBindingSource1 = New System.Windows.Forms.BindingSource(Me.components) + CType(Me.MyApplicationBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.MyApplicationBindingSource1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(800, 24) + Me.MenuStrip1.TabIndex = 1 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'PropertyGrid1 + ' + Me.PropertyGrid1.Location = New System.Drawing.Point(0, 12) + Me.PropertyGrid1.Name = "PropertyGrid1" + Me.PropertyGrid1.Size = New System.Drawing.Size(299, 342) + Me.PropertyGrid1.TabIndex = 2 + ' + 'MyApplicationBindingSource + ' + Me.MyApplicationBindingSource.DataSource = GetType(TPS1100_Convert.My.MyApplication) + ' + 'MyApplicationBindingSource1 + ' + Me.MyApplicationBindingSource1.DataSource = GetType(TPS1100_Convert.My.MyApplication) + ' + 'Form2 + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(800, 450) + Me.Controls.Add(Me.PropertyGrid1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.MainMenuStrip = Me.MenuStrip1 + Me.Name = "Form2" + Me.Text = "TPS1100 Convert: Settings" + CType(Me.MyApplicationBindingSource, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.MyApplicationBindingSource1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents MyApplicationBindingSource As BindingSource + Friend WithEvents MenuStrip1 As MenuStrip + Friend WithEvents MyApplicationBindingSource1 As BindingSource + Friend WithEvents PropertyGrid1 As PropertyGrid +End Class diff --git a/Form2.resx b/Form2.resx new file mode 100644 index 0000000..31df06d --- /dev/null +++ b/Form2.resx @@ -0,0 +1,3074 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 226, 17 + + + 17, 17 + + + 341, 17 + + + + + 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 + NjQ0ZMWqttOXbSkCvgfcDhRFjrvsBBauuWLyI07rmI/ktQMI8J/Tl205BW3rtubo4y44glvWXDH5gVTr + l2/kawwgIE28Nb/pbeAk4MHo4ykECPsQWRA8/M4IFEBA2jh92ZYZaLMIJ0Uft6EGVgssfHPesVs8qWAe + EDiAgLQSjg3MBxYRFSQ0cQL9wCrgwTfnHfuCD1XMaQIHEJAxnL5syyRgJtpirUagJOwIuhFpR6m1QNub + 847Nq/37AgICAjzh/wNwHkHkUwKiXQAAAABJRU5ErkJggigAAACAAAAAAAEAAAEAIAAAAAAAAAgBAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZpToJ2aU6P9mlOl3ZpTpb2aU6Odqm + OwUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADZpToP2aU6j9mlOvLZpTr/2aU7/9qmO//apjv/2qY77NqmO4LapjsJAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2aU6RdmlOuTZpTr/2aU6/9qmO//apjv/2qY7/9qm + O//apjv/26c8/9qmPNXapjwbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4uLiVeLi + 4t3i4uL84uLi7+Li4u/i4uLv4uLi5OLi4t/i4uLf4uLi2uLi4s/i4uLP4uLizuLi4r/i4uK/4uLiv+Li + 4rDi4uKv4uLir+Li4qDi4uKf4uLineLi4o/i4uKP4uLiiOLi4n/i4uJ/4uLib+Li4m/i4uJk4uLiX+Li + 4lPi4uJI4uLiCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2aU6Cdml + OpPZpTr+2aU6/9mlO//apjv/2qY7/9qmO//apjv/2qY8/9unPP/bpzz/26c8/9unPNjbpzwNAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLi4i7i4uL84uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uLh4uLiHgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAANmlOjbZpTrZ2aU6/9mlOv/ZpTv/2qY7/9qmO//apjv/2qY7/9qm + PP/bpzz/26c8/9unPP/bpzz/26c9/9unPJ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4uLiheLi + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uKhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANmlOgXZpTqC2aU6+9ml + Ov/ZpTr/2qY7/9qmO//apjv/2qY7/9qmO//bpzz/26c8/9unPP/bpzz/26c8/9unPf/cqD3/3Kg9/9yo + PU0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADi4uK54uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4toAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADZpTop2aU6zNmlOv/ZpTr/2aU7/9qmO//apjv/2qY7/9qmO//apjz/26c8/9un + PP/bpzz/26c8/9unPf/cqD3/3Kg9/9yoPf/cqD3/3Kg+6NyoPRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4uLiBOLi + 4vPi4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi+uHh4QUAAAAAAAAAAAAAAADZpToC2aU6cNmlOvfZpTr/2aU6/9qm + O//apjv/2qY7/9qmO//apjv/26c8/9unPP/bpzz/26c8/9unPP/bpz3/3Kg9/9yoPf/cqD3/3Kg9/9yo + Pv/dqT7/3Kg+rQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADi4uI74uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4d3XKwAA + AAAAAAAA2aU6HdmlOr7ZpTr/2aU6/9mlO//apjv/2qY7/9qmO//apjv/2qY8/9unPP/bpzz/26c8/9un + PP/bpz3/3Kg9/9yoPf/cqD3/3Kg9/9yoPv/dqT7/3ak+/92pPv/dqT7/3ak+XAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLi + 4ofi4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/g2sxfAAAAANmoRV/ZpTrx2aU6/9mlOv/apjv/2qY7/9qm + O//apjv/2qY7/9unPP/bpzz/26c8/9unPP/bpzz/26c9/9yoPf/cqD3/3Kg9/9yoPf/cqD7/3ak+/92p + Pv/dqT7/3ak//92pP//eqj/v3ak/HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4uLi3OPj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+HX + xKvZq0uu2aU6/9mlOv/ZpTv/2qY7/9qmO//apjv/2qY7/9qmPP/bpzz/26c8/9unPP/bpzz/26c9/9yo + Pf/cqD3/3Kg9/9yoPf/cqD7/3ak+/92pPv/dqT7/3ak+/92pP//dqT//3qo//96qP//eqj+73qo/AQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLi + 4jXj4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4dnJ/9mlOv/ZpTr/2qY7/9qmO//apjv/2qY7/9qm + O//bpzz/26c8/9unPP/bpzz/26c8/9unPf/cqD3/3Kg9/9yoPf/cqD3/3Kg+/92pPv/dqT7/3ak+/92p + P//dqT//3qo//96qP//eqj//3qpA/96qQP/eqj9sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjmePj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/2qxO/9qmO//apjv/2qY7/9qmO//apjz/26c8/9unPP/bpzz/26c8/9unPf/cqD3/3Kg9/9yo + Pf/cqD3/3Kg+/92pPv/dqT7/3ak+/92pPv/dqT//3ak//96qP//eqj//3qo//96qQP/eqkD/36tA/9+r + QPXeqkAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj + 4w/j4+Pz4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//dvXz/2qY7/9qmO//apjv/26c8/9un + PP/bpzz/26c8/9unPP/bpz3/3Kg9/9yoPf/cqD3/3Kg9/9yoPv/dqT7/3ak+/92pPv/dqT//3ak//96q + P//eqj//3qo//96qQP/eqkD/3qpA/9+rQP/fq0D/36tB/9+rQMffq0AEAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjduPj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+DPrf/apjv/2qY8/9unPP/bpzz/26c8/9unPP/bpz3/3Kg9/9yoPf/cqD3/3Kg9/9yo + Pv/dqT7/3ak+/92pPv/dqT7/3ak//92pP//eqj//3qo//96qP//eqkD/3qpA/9+rQP/fq0D/36tA/9+r + Qf/fq0H/4KxB/9+rQXsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj + 4wnj4+Pm4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4uDb/9uoQP/bpzz/26c8/9un + PP/bpzz/26c9/9yoPf/cqD3/3Kg9/9yoPf/cqD7/3ak+/92pPv/dqT7/3ak//92pP//eqj//3qo//96q + P//eqkD/3qpA/96qQP/fq0D/36tA/9+rQf/fq0H/36tB/+CsQf/grEH/4KxC+uCsQS8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+Pjc+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/3bhs/9unPP/bpzz/26c8/9unPf/cqD3/3Kg9/9yoPf/cqD3/3Kg+/92p + Pv/dqT7/3ak+/92pP//dqT//3qo//96qP//eqj//3qpA/96qQP/fq0D/36tA/9+rQP/fq0H/36tB/+Cs + Qf/grEH/4KxB/+CsQv/grEL/4KxC0+CsQgcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj + 4xHj4+Pt4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//gzKP/26c8/9un + Pf/cqD3/3Kg9/9yoPf/cqD3/3Kg+/92pPv/dqT7/3ak+/92pPv/dqT//3ak//96qP//eqj//3qo//96q + QP/eqkD/36tA/9+rQP/fq0D/36tB/9+rQf/grEH/4KxB/+CsQv/grEL/4KxC/+GtQv/hrUL/4KxCigAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjlOTk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Pf1v/cqD7/3Kg9/9yoPf/cqD3/3Kg9/9yoPv/dqT7/3ak+/92p + Pv/dqT//3ak//96qP//eqj//3qo//96qQP/eqkD/3qpA/9+rQP/fq0D/36tB/9+rQf/fq0H/4KxB/+Cs + Qf/grEL/4KxC/+CsQv/hrUL/4a1C/+GtQ//hrUP94a1DPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj + 4zTk5OT85OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/964 + a//cqD3/3Kg9/9yoPv/dqT7/3ak+/92pPv/dqT7/3ak//92pP//eqj//3qo//96qP//eqkD/3qpA/9+r + QP/fq0D/36tA/9+rQf/fq0H/4KxB/+CsQf/grEH/4KxC/+CsQv/grEL/4a1C/+GtQ//hrUP/4a1D/+Gt + Q//hrUPe4a1DCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk5OQH5OTk0+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/4cyj/9yoPf/cqD7/3ak+/92pPv/dqT7/3ak//92p + P//eqj//3qo//96qP//eqkD/3qpA/96qQP/fq0D/36tA/9+rQf/fq0H/36tB/+CsQf/grEH/4KxC/+Cs + Qv/grEL/4a1C/+GtQv/hrUP/4a1D/+GtQ//irkP/4q5D/+KuRP/irkOZAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOTk + 5Ink5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/j4Nn/3apC/92pPv/dqT7/3ak+/92pP//dqT//3qo//96qP//eqj//3qpA/96qQP/fq0D/36tA/9+r + QP/fq0H/36tB/+CsQf/grEH/4KxB/+CsQv/grEL/4KxC/+GtQv/hrUP/4a1D/+GtQ//hrUP/4q5D/+Ku + RP/irkT/4q5E/+KuRP7irkRKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk5ORF5OTk/eTk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/fu3L/3ak+/92pP//dqT//3qo//96q + P//eqj//3qpA/96qQP/eqkD/36tA/9+rQP/fq0H/36tB/9+rQf/grEH/4KxB/+CsQv/grEL/4KxC/+Gt + Qv/hrUL/4a1D/+GtQ//hrUP/4q5D/+KuQ//irkT/4q5E/+KuRP/irkT/469E/+OvRebirkQSAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5OTkHuTk + 5Ovk5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+HQrv/dqT//3ak//96qP//eqj//3qo//96qQP/eqkD/36tA/9+rQP/fq0D/36tB/9+r + Qf/grEH/4KxB/+CsQf/grEL/4KxC/+CsQv/hrUL/4a1D/+GtQ//hrUP/4a1D/+KuQ//irkT/4q5E/+Ku + RP/irkT/469E/+OvRf/jr0X/469F/+OvRagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOTk5Ark5OTO5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OLf/96tSv/eqj//3qo//96q + QP/eqkD/3qpA/9+rQP/fq0D/36tB/9+rQf/fq0H/4KxB/+CsQf/grEL/4KxC/+CsQv/hrUL/4a1C/+Gt + Q//hrUP/4a1D/+KuQ//irkP/4q5E/+KuRP/irkT/4q5E/+OvRP/jr0X/469F/+OvRf/jr0X/5LBF/+Ov + RVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk5OQD5OTkteXl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/4MKD/96qP//eqkD/3qpA/9+rQP/fq0D/36tA/9+rQf/fq0H/4KxB/+Cs + Qf/grEH/4KxC/+CsQv/grEL/4a1C/+GtQ//hrUP/4a1D/+GtQ//irkP/4q5E/+KuRP/irkT/4q5E/+Ov + RP/jr0X/469F/+OvRf/jr0X/5LBF/+SwRv/ksEb/5LBG7eSwRhoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA5eXlAeTk5KDl5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/j2MD/3qpA/96q + QP/fq0D/36tA/9+rQf/fq0H/36tB/+CsQf/grEH/4KxC/+CsQv/grEL/4a1C/+GtQv/hrUP/4a1D/+Gt + Q//irkP/4q5D/+KuRP/irkT/4q5E/+KuRP/jr0T/469F/+OvRf/jr0X/469F/+SwRf/ksEb/5LBG/+Sw + Rv/ksEb/5LBGt+SwRgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXl5QHl5eWW5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/ftFv/36tA/9+rQP/fq0H/36tB/+CsQf/grEH/4KxB/+Cs + Qv/grEL/4KxC/+GtQv/hrUP/4a1D/+GtQ//hrUP/4q5D/+KuRP/irkT/4q5E/+KuRP/jr0T/469F/+Ov + Rf/jr0X/469F/+SwRf/ksEb/5LBG/+SwRv/ksEb/5LBG/+WxR//lsUf/5LBGZwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADl5eUD5eXlmuXl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+LK + mv/fq0D/36tB/9+rQf/grEH/4KxB/+CsQv/grEL/4KxC/+GtQv/hrUL/4a1D/+GtQ//hrUP/4q5D/+Ku + Q//irkT/4q5E/+KuRP/irkT/469E/+OvRf/jr0X/469F/+OvRf/ksEX/5LBG/+SwRv/ksEb/5LBG/+Wx + R//lsUf/5bFH/+WxR//lsUfz5bFHIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eXlBuXl5aTl5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5N/W/9+sRP/fq0H/4KxB/+CsQf/grEL/4KxC/+Cs + Qv/hrUL/4a1C/+GtQ//hrUP/4a1D/+KuQ//irkP/4q5E/+KuRP/irkT/469E/+OvRf/jr0X/469F/+Ov + Rf/ksEX/5LBG/+SwRv/ksEb/5LBG/+SwRv/lsUf/5bFH/+WxR//lsUf/5bFH/+aySP/lsUfE5bFHAwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOXl5Qbl5eWx5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/4b50/+CsQf/grEH/4KxC/+CsQv/grEL/4a1C/+GtQ//hrUP/4a1D/+GtQ//irkP/4q5E/+Ku + RP/irkT/4q5E/+OvRP/jr0X/469F/+OvRf/jr0X/5LBF/+SwRv/ksEb/5LBG/+SwRv/lsUf/5bFH/+Wx + R//lsUf/5bFH/+WxSP/mskj/5rJI/+aySP/mskh2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5eUF5eXlseXl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/j1LX/4KxC/+CsQv/grEL/4a1C/+Gt + Qv/hrUP/4a1D/+GtQ//irkP/4q5D/+KuRP/irkT/4q5E/+KuRP/jr0T/469F/+OvRf/jr0X/469F/+Sw + Rf/ksEb/5LBG/+SwRv/ksEb/5bFH/+WxR//lsUf/5bFH/+WxR//lsUj/5rJI/+aySP/mskj/5rJI/+ay + SfjmskgtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA5eXlA+Xl5aTm5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+Xl5P/hslT/4KxC/+GtQv/hrUP/4a1D/+GtQ//hrUP/4q5D/+KuRP/irkT/4q5E/+Ku + RP/jr0T/469F/+OvRf/jr0X/469F/+SwRf/ksEb/5LBG/+SwRv/ksEb/5LBG/+WxR//lsUf/5bFH/+Wx + R//lsUf/5rJI/+aySP/mskj/5rJI/+aySP/ns0n/57NJ/+aySc/ns0kHAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5eWV5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+PJlP/hrUL/4a1D/+Gt + Q//hrUP/4q5D/+KuQ//irkT/4q5E/+KuRP/irkT/469E/+OvRf/jr0X/469F/+OvRf/ksEX/5LBG/+Sw + Rv/ksEb/5LBG/+WxR//lsUf/5bFH/+WxR//lsUf/5bFI/+aySP/mskj/5rJI/+aySP/mskn/57NJ/+ez + Sf/ns0n/57NJ/+ezSYYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA5ubme+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5d/T/+GtRP/hrUP/4a1D/+KuQ//irkT/4q5E/+KuRP/irkT/469E/+Ov + Rf/jr0X/469F/+OvRf/ksEX/5LBG/+SwRv/ksEb/5LBG/+SwRv/lsUf/5bFH/+WxR//lsUf/5bFH/+ay + SP/mskj/5rJI/+aySP/mskj/57NJ/+ezSf/ns0n/57NJ/+ezSf/ns0r/6LRK/OezSTgAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAObm5ljm5ub+5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/4r50/+Ku + Q//irkP/4q5E/+KuRP/irkT/4q5E/+OvRP/jr0X/469F/+OvRf/jr0X/5LBF/+SwRv/ksEb/5LBG/+Sw + Rv/lsUf/5bFH/+WxR//lsUf/5bFH/+WxSP/mskj/5rJI/+aySP/mskj/5rJJ/+ezSf/ns0n/57NJ/+ez + Sf/ns0r/6LRK/+i0Sv/otEr/6LRK2ui0SgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADm5uYz5ubm9ubm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/k1bX/4q5E/+KuRP/irkT/4q5E/+OvRP/jr0X/469F/+Ov + Rf/jr0X/5LBF/+SwRv/ksEb/5LBG/+SwRv/ksEb/5bFH/+WxR//lsUf/5bFH/+WxR//mskj/5rJI/+ay + SP/mskj/5rJI/+ezSf/ns0n/57NJ/+ezSf/ns0n/57NK/+i0Sv/otEr/6LRK/+i0Sv/otEv/6LRKlQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ubmE+bm5uHm5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bl + 5P/itFf/4q5E/+KuRP/jr0T/469F/+OvRf/jr0X/469F/+SwRf/ksEb/5LBG/+SwRv/ksEb/5bFH/+Wx + R//lsUf/5bFH/+WxR//lsUj/5rJI/+aySP/mskj/5rJI/+aySf/ns0n/57NJ/+ezSf/ns0n/57NK/+i0 + Sv/otEr/6LRK/+i0Sv/otEv/6bVL/+m1S//ptUv+6bVLRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAObm + 5gHm5ua15ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+TKlv/jr0T/469F/+OvRf/jr0X/469F/+Sw + Rf/ksEb/5LBG/+SwRv/ksEb/5LBG/+WxR//lsUf/5bFH/+WxR//lsUf/5rJI/+aySP/mskj/5rJI/+ay + SP/ns0n/57NJ/+ezSf/ns0n/57NJ/+ezSv/otEr/6LRK/+i0Sv/otEr/6LRL/+m1S//ptUv/6bVL/+m1 + TP/ptUvk6bVLDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ubmbebm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5uHX/+OwSP/jr0X/469F/+OvRf/ksEX/5LBG/+SwRv/ksEb/5LBG/+WxR//lsUf/5bFH/+Wx + R//lsUf/5bFI/+aySP/mskj/5rJI/+aySP/mskn/57NJ/+ezSf/ns0n/57NJ/+ezSv/otEr/6LRK/+i0 + Sv/otEr/6LRL/+m1S//ptUv/6bVL/+m1S//ptUz/6bVM/+q2TP/ptUykAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAObm + 5iTn5+f15+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5MF5/+OvRf/ksEX/5LBG/+Sw + Rv/ksEb/5LBG/+SwRv/lsUf/5bFH/+WxR//lsUf/5bFH/+aySP/mskj/5rJI/+aySP/mskj/57NJ/+ez + Sf/ns0n/57NJ/+ezSf/ns0r/6LRK/+i0Sv/otEr/6LRK/+i0S//ptUv/6bVL/+m1S//ptUz/6bVM/+q2 + TP/qtkz/6rZM/+q2Tf/qtkxUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADn5+cB5ubmv+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//k2sb/3bht/+LNpP/n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//m2Lr/5LBF/+SwRv/ksEb/5LBG/+SwRv/ksEb/5bFH/+WxR//lsUf/5bFH/+Wx + SP/mskj/5rJI/+aySP/mskj/5rJJ/+ezSf/ns0n/57NJ/+ezSf/ns0r/6LRK/+i0Sv/otEr/6LRK/+i0 + S//ptUv/6bVL/+m1S//ptUv/6bVM/+m1TP/qtkz/6rZM/+q2TP/qtk3/6rZN/+u3Tezqtk0XAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOfn + 51nn5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5d/S/9qsS//apjv/3bZn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fm5f/kt1v/5LBG/+Sw + Rv/ksEb/5bFH/+WxR//lsUf/5bFH/+WxR//lsUj/5rJI/+aySP/mskj/5rJI/+aySf/ns0n/57NJ/+ez + Sf/ns0n/57NK/+i0Sv/otEr/6LRK/+i0Sv/otEv/6bVL/+m1S//ptUv/6bVM/+m1TP/qtkz/6rZM/+q2 + TP/qtk3/6rZN/+q2Tf/rt03/67dN/+u3TbMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADn5+cH5+fn4efn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+bi2v/csFb/2qY7/9qmO//evHf/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+XNm//ksEb/5LBG/+WxR//lsUf/5bFH/+WxR//lsUf/5rJI/+ay + SP/mskj/5rJI/+aySP/ns0n/57NJ/+ezSf/ns0n/57NJ/+ezSv/otEr/6LRK/+i0Sv/otEr/6LRL/+m1 + S//ptUv/6bVL/+m1TP/ptUz/6rZM/+q2TP/qtkz/6rZN/+q2Tf/rt03/67dN/+u3Tf/rt07/67dO/+u3 + TWMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOfn + 52zn5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//m5OD/3LRg/9qmO//apjv/2qY7/+HLnf/n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5uPb/+Wz + Tf/lsUf/5bFH/+WxR//lsUf/5bFI/+aySP/mskj/5rJI/+aySP/mskn/57NJ/+ezSf/ns0n/57NJ/+ez + Sv/otEr/6LRK/+i0Sv/otEr/6LRL/+m1S//ptUv/6bVL/+m1S//ptUz/6bVM/+q2TP/qtkz/6rZM/+q2 + Tf/qtk3/67dN/+u3Tf/rt03/67dO/+u3Tv/suE7/7LhO8uu3TiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADn5+cD5+fn3+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5uXj/923av/apjv/2qY7/9qmO//apzz/5d/T/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5ceI/+WxR//lsUf/5bFH/+aySP/mskj/5rJI/+ay + SP/mskj/57NJ/+ezSf/ns0n/57NJ/+ezSf/ns0r/6LRK/+i0Sv/otEr/6LRK/+i0S//ptUv/6bVL/+m1 + S//ptUz/6bVM/+q2TP/qtkz/6rZM/+q2Tf/qtk3/6rZN/+u3Tf/rt03/67dO/+u3Tv/rt07/7LhO/+y4 + Tv/suE//7LhOwOy4TgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOfn + 50rn5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fm + 5P/euW//2qY7/9qmO//apjv/26c8/961Y//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n38//5bFI/+WxSP/mskj/5rJI/+aySP/mskj/5rJJ/+ezSf/ns0n/57NJ/+ezSf/ns0r/6LRK/+i0 + Sv/otEr/6LRK/+i0S//ptUv/6bVL/+m1S//ptUv/6bVM/+m1TP/qtkz/6rZM/+q2TP/qtk3/6rZN/+u3 + Tf/rt03/67dN/+u3Tv/rt07/7LhO/+y4Tv/suE7/7LhP/+y4T//suE//7LhPcgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5+fnoejo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/n5+b/3r14/9qmO//apjv/2qY8/9unPP/bpzz/4s2i/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/mwnf/5rJI/+aySP/mskj/5rJI/+ez + Sf/ns0n/57NJ/+ezSf/ns0n/57NK/+i0Sv/otEr/6LRK/+i0Sv/otEv/6bVL/+m1S//ptUv/6bVM/+m1 + TP/qtkz/6rZM/+q2TP/qtk3/6rZN/+q2Tf/rt03/67dN/+u3Tv/rt07/67dO/+y4Tv/suE7/7LhP/+y4 + T//suE//7blP/+25T//tuVD37LhPKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADo6Ojp6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/5+bj/968 + df/apjv/2qY7/9qmPP/bpzz/26c8/9upQf/n493/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+fZvv/mskj/5rJI/+aySf/ns0n/57NJ/+ezSf/ns0n/57NK/+i0Sv/otEr/6LRK/+i0 + Sv/otEv/6bVL/+m1S//ptUv/6bVL/+m1TP/ptUz/6rZM/+q2TP/qtkz/6rZN/+q2Tf/rt03/67dN/+u3 + Tf/rt07/67dO/+y4Tv/suE7/7LhO/+y4T//suE//7LhP/+25T//tuU//7blQ/+25UP/tuVDN7blQBQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6OjoGOjo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+fl4f/euW//2qY7/9qmO//bpzz/26c8/9unPP/bpzz/3713/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+a7ZP/ns0n/57NJ/+ez + Sf/ns0n/57NJ/+ezSv/otEr/6LRK/+i0Sv/otEr/6LRL/+m1S//ptUv/6bVL/+m1TP/ptUz/6rZM/+q2 + TP/qtkz/6rZN/+q2Tf/qtk3/67dN/+u3Tf/rt07/67dO/+u3Tv/suE7/7LhO/+y4T//suE//7LhP/+25 + T//tuU//7blQ/+25UP/tuVD/7blQ/+66UP/tuVCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADo6Ogv6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/m4tr/3bVi/9qm + O//apjz/26c8/9unPP/bpzz/26c8/9unPf/k1rj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/n5+X/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/59Kn/+ezSf/ns0n/57NJ/+ezSv/otEr/6LRK/+i0Sv/otEr/6LRL/+m1 + S//ptUv/6bVL/+m1S//ptUz/6bVM/+q2TP/qtkz/6rZM/+q2Tf/qtk3/67dN/+u3Tf/rt03/67dO/+u3 + Tv/suE7/7LhO/+y4Tv/suE//7LhP/+y4T//tuU//7blP/+25UP/tuVD/7blQ/+66UP/uulD/7rpR/+66 + UfvuulA1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjo6B3o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/5dzK/9yvU//apjv/26c8/9unPP/bpzz/26c8/9unPP/bpz3/3a9R/+fn + 5v/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/5tOt/+XE + gf/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/n5d//57VR/+ez + Sf/ns0r/6LRK/+i0Sv/otEr/6LRK/+i0S//ptUv/6bVL/+m1S//ptUz/6bVM/+q2TP/qtkz/6rZM/+q2 + Tf/qtk3/6rZN/+u3Tf/rt03/67dO/+u3Tv/rt07/7LhO/+y4Tv/suE//7LhP/+y4T//tuU//7blP/+25 + UP/tuVD/7blQ/+25UP/uulD/7rpR/+66Uf/uulH/7rpR/+66UdfuulEJAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOjo6Mno6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+LOpf/aqUP/2qY8/9un + PP/bpzz/26c8/9unPP/bpz3/3Kg9/9yoPf/ix5H/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/luWD/5bFJ/+fj2v/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/nyIj/6LRK/+i0Sv/otEr/6LRK/+i0S//ptUv/6bVL/+m1 + S//ptUv/6bVM/+m1TP/qtkz/6rZM/+q2TP/qtk3/6rZN/+u3Tf/rt03/67dN/+u3Tv/rt07/7LhO/+y4 + Tv/suE7/7LhP/+y4T//suE//7blP/+25T//tuVD/7blQ/+25UP/uulD/7rpQ/+66Uf/uulH/7rpR/++7 + Uf/vu1H/77tS/++7UZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6OjoGOjo6LTo6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+Xdy//duGv/2qY7/9unPP/bpzz/26c8/9unPP/bpzz/26c9/9yoPf/cqD3/3Kg+/+bg + 0//o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/597N/+Wx + R//lsUf/5tGm/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jc + xP/otEr/6LRK/+i0Sv/otEv/6bVL/+m1S//ptUv/6bVM/+m1TP/qtkz/6rZM/+q2TP/qtk3/6rZN/+q2 + Tf/rt03/67dN/+u3Tv/rt07/67dO/+y4Tv/suE7/7LhP/+y4T//suE//7blP/+25T//tuVD/7blQ/+25 + UP/tuVD/7rpQ/+66Uf/uulH/7rpR/+66Uf/vu1H/77tS/++7Uv/vu1L/77tS/u+7UjUAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjn5Ejn5N6g5tzI3uPOo//euW7/2qY8/9qmPP/bpzz/26c8/9un + PP/bpzz/26c9/9yoPf/cqD3/3Kg9/9yoPf/fumz/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/n0qf/5bFH/+WxR//mwnf/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+i7YP/otEr/6LRL/+m1S//ptUv/6bVL/+m1 + TP/ptUz/6rZM/+q2TP/qtkz/6rZN/+q2Tf/rt03/67dN/+u3Tf/rt07/67dO/+y4Tv/suE7/7LhO/+y4 + T//suE//7LhP/+25T//tuU//7blQ/+25UP/tuVD/7rpQ/+66UP/uulH/7rpR/+66Uf/vu1H/77tR/++7 + Uv/vu1L/77tS/++7Uv/wvFP/77tSrgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADbrlGM2qY7/9qmO//bpzz/26c8/9unPP/bpzz/26c8/9unPf/cqD3/3Kg9/9yoPf/cqD3/3Kg+/+XT + sP/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+bK + j//lsUf/5bFI/+a0Tv/o5+T/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6M2V/+m1S//ptUv/6bVL/+m1S//ptUz/6bVM/+q2TP/qtkz/6rZM/+q2Tf/qtk3/67dN/+u3 + Tf/rt03/67dO/+u3Tv/suE7/7LhO/+y4T//suE//7LhP/+25T//tuU//7blQ/+25UP/tuVD/7blQ/+66 + UP/uulH/7rpR/+66Uf/uulH/77tR/++7Uv/vu1L/77tS/++7Uv/wvFL/8LxT//C8U//wvFP38LxSBQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANqpQoLapjz/26c8/9unPP/bpzz/26c8/9un + Pf/cqD3/3Kg9/9yoPf/cqD3/3Kg+/92pPv/erkv/6Ofl/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+feyv/o6Of/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/5sR+/+aySP/mskj/5rJI/+javv/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p3sj/6bVL/+m1S//ptUz/6bVM/+q2 + TP/qtkz/6rZM/+q2Tf/qtk3/6rZN/+u3Tf/rt03/67dO/+u3Tv/rt07/7LhO/+y4Tv/suE//7LhP/+y4 + T//tuU//7blP/+25UP/tuVD/7blQ/+25UP/uulD/7rpR/+66Uf/uulH/77tR/++7Uf/vu1L/77tS/++7 + Uv/vu1L/8LxT//C8U//wvFP/8LxT//C8U//wvFMnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA2qY7V9unPP/bpzz/26c8/9unPP/bpz3/3Kg9/9yoPf/cqD3/3Kg9/9yoPv/dqT7/3ak+/+LF + iv/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/n28P/4KxD/+bV + sv/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/mwHP/5rJI/+aySP/mskj/58uS/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+no6P/puVn/6bVM/+m1TP/qtkz/6rZM/+q2TP/qtk3/6rZN/+u3Tf/rt03/67dN/+u3 + Tv/rt07/7LhO/+y4Tv/suE7/7LhP/+y4T//suE//7blP/+25T//tuVD/7blQ/+25UP/uulD/7rpQ/+66 + Uf/uulH/7rpR/++7Uf/vu1H/77tS/++7Uv/vu1L/77tS//C8U//wvFP/8LxT//C8U//wvFP/8b1U//C8 + Uy4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADapjwQ26c89tunPP/bpz3/3Kg9/9yo + Pf/cqD3/3Kg9/9yoPv/dqT7/3ak+/92pPv/dqT7/597N/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+K7a//grEH/5MeN/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+jk3P/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+a/cP/mskj/5rJI/+ezSf/nvGb/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+nHgv/qtkz/6rZM/+q2 + TP/qtk3/6rZN/+q2Tf/rt03/67dN/+u3Tv/rt07/67dO/+y4Tv/suE7/7LhP/+y4T//suE//7blP/+25 + T//tuVD/7blQ/+25UP/tuVD/7rpQ/+66Uf/uulH/7rpR/+66Uf/vu1H/77tS/++7Uv/vu1L/77tS//C8 + Uv/wvFP/8LxT//C8U//wvFP/8LxT//G9VP/xvVT/8LxTFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADbpzyM26c9/9yoPf/cqD3/3Kg9/9yoPf/cqD7/3ak+/92pPv/dqT7/3ak//+C4 + Zv/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/n3cn/4KxC/+Cs + Qv/jw4D/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/5s6c/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/58Bw/+aySf/ns0n/57NJ/+ezSf/o49j/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6dOm/+q2TP/qtkz/6rZN/+q2Tf/rt03/67dN/+u3Tf/rt07/67dO/+y4 + Tv/suE7/7LhO/+y4T//suE//7LhP/+25T//tuU//7blQ/+25UP/tuVD/7rpQ/+66UP/uulH/7rpR/+66 + Uf/vu1H/77tR/++7Uv/vu1L/77tS/++7Uv/wvFP/8LxT//C8U//wvFP/8LxT//G9VP/xvVT/8b1U//G9 + VNcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANunPAvbpz3b3Kg9/9yo + Pf/cqD3/3Kg+/92pPv/dqT7/3ak+/92pP//dqT//5NGo/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+PFh//grEL/4KxC/+O/dv/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+jl3v/lwHX/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/nwHH/57NJ/+ezSf/ns0n/57NJ/+jU + qv/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p3cX/6rZN/+q2 + Tf/qtk3/67dN/+u3Tf/rt07/67dO/+u3Tv/suE7/7LhO/+y4T//suE//7LhP/+25T//tuU//7blQ/+25 + UP/tuVD/7blQ/+66UP/uulH/7rpR/+66Uf/uulH/77tR/++7Uv/vu1L/77tS/++7Uv/wvFL/8LxT//C8 + U//wvFP/8LxT//C8U//xvVT/8b1U//G9VP/xvVT/8b1UdQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAANunPTrcqD383Kg+/92pPv/dqT7/3ak+/92pPv/dqT//3ak//96t + SP/p5uL/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6OX/4bBN/+Cs + Qv/hrUL/4793/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6NzF/+S4Xf/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+fEe//ns0n/57NJ/+ezSv/otEr/6MR5/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+nl3f/qtk3/67dN/+u3Tf/rt03/67dO/+u3Tv/suE7/7LhO/+y4 + Tv/suE//7LhP/+y4T//tuU//7blP/+25UP/tuVD/7blQ/+66UP/uulD/7rpR/+66Uf/uulH/77tR/++7 + Uf/vu1L/77tS/++7Uv/vu1L/8LxT//C8U//wvFP/8LxT//C8U//xvVT/8b1U//G9VP/xvVT/8b1U//G9 + VNrxvVQJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANyo + PYfdqT7/3ak+/92pPv/dqT//3ak//96qP//eqj//4sOD/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+fXt//hrUL/4a1C/+GtQ//kw4D/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/n06v/5LFK/+np6P/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6MaC/+ezSf/ns0r/6LRK/+i0 + Sv/otU//6efi/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+u4 + Uf/rt03/67dO/+u3Tv/rt07/7LhO/+y4Tv/suE//7LhP/+y4T//tuU//7blP/+25UP/tuVD/7blQ/+25 + UP/uulD/7rpR/+66Uf/uulH/7rpR/++7Uf/vu1L/77tS/++7Uv/vu1L/8LxS//C8U//wvFP/8LxT//C8 + U//wvFP/8b1U//G9VP/xvVT/8b1U//G9VP/xvVTq8b1UKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Kg+B92pPtHdqT7/3ak//92pP//eqj//3qo//96q + P//n3MX/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/5MJ9/+Gt + Q//hrUP/4a1D/+XEgv/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+fKj//ksEb/6eLV/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/oyoz/6LRK/+i0Sv/otEr/6LRK/+i0S//p17L/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/67pX/+u3Tv/rt07/7LhO/+y4Tv/suE7/7LhP/+y4 + T//suE//7blP/+25T//tuVD/7blQ/+25UP/uulD/7rpQ/+66Uf/uulH/7rpR/++7Uf/vu1H/77tS/++7 + Uv/vu1L/77tS//C8U//wvFP/8LxT//C8U//wvFP/8b1U//G9VP/xvVT/8b1U//G9VP/xvVT/8b1Ux/G9 + VCEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA3ak+L92pP/jeqj//3qo//96qP//eqkD/4LVd/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+nn5P/hr0r/4a1D/+GtQ//irkP/5ciM/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/5sF0/+WxR//o2r7/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+nOl//otEr/6LRK/+i0 + Sv/otEv/6bVL/+nEeP/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/rulf/67dO/+y4Tv/suE7/7LhP/+y4T//suE//7blP/+25T//tuVD/7blQ/+25UP/tuVD/7rpQ/+66 + Uf/uulH/7rpR/+66Uf/vu1H/77tS/++7Uv/vu1L/77tS//C8Uv/wvFP/8LxT//C8U//wvFP/8LxT//G9 + VP/xvVT/8b1U//G9VP/xvVT/8b1U+vG9VHvxvVQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3ak/eN6qP//eqj//3qpA/96q + QP/lzZ7/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/59az/+Gt + Q//hrUP/4q5D/+KuRP/ly5X/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/lt1j/5bFH/+fSpf/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6dKk/+i0Sv/otEr/6LRL/+m1S//ptUv/6bVN/+nk2P/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6unn/+u4T//suE7/7LhO/+y4T//suE//7LhP/+25 + T//tuU//7blQ/+25UP/tuVD/7rpQ/+66UP/uulH/7rpR/+66Uf/vu1H/77tR/++7Uv/vu1L/77tS/++7 + Uv/wvFP/8LxT//C8U//wvFP/8LxT//G9VP/xvVT/8b1U//G9VP/xvVT/8b1U//G9VNTxvVQxAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADdqT8D3qo/xt6qQP/eqkD/36xD/+nk3P/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/kwXr/4q5D/+KuQ//irkT/4q5E/+bOnv/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6ebf/+WxR//lsUf/58qN/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/p1rH/6LRL/+m1 + S//ptUv/6bVL/+m1S//ptUz/6c6W/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q4c7/7LhO/+y4Tv/suE//7LhP/+25T//tuU//7blQ/+25UP/tuVD/7blQ/+66UP/uulH/7rpR/+66 + Uf/uulH/77tR/++7Uv/vu1L/77tS/++7Uv/wvFL/8LxT//C8U//wvFP/8LxT//C8U//xvVT/8b1U//G9 + VP/xvVT/8b1U//G9VP3xvVSM8b1UCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADeqj8k36tA9N+r + QP/ivnX/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6efi/+Kw + Sf/irkT/4q5E/+KuRP/irkT/59Ko/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/o3ML/5bFH/+aySP/nwHH/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+nbvf/ptUv/6bVL/+m1S//ptUz/6bVM/+q2TP/quVb/6ubg/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rTo//suE//7LhP/+y4T//tuU//7blP/+25 + UP/tuVD/7blQ/+25UP/uulD/7rpR/+66Uf/uulH/7rpR/++7Uf/vu1L/77tS/++7Uv/vu1L/8LxT//C8 + U//wvFP/8LxT//C8U//xvVT/8b1U//G9VP/xvVT/8b1U//G9VP/xvVTf8b1UPwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADfrEZp36tB/+bWtf/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/n1K7/4q5E/+KuRP/irkT/4q5E/+OvRP/n1rL/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+jTp//mskj/5rJI/+a3 + Vv/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6t/J/+m1 + S//ptUv/6bVM/+m1TP/qtkz/6rZM/+q2TP/qzpb/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ef/679k/+y4T//suE//7blP/+25T//tuVD/7blQ/+25UP/uulD/7rpQ/+66Uf/uulH/7rpR/++7 + Uf/vu1H/77tS/++7Uv/vu1L/77tS//C8U//wvFP/8LxT//C8U//wvFP/8b1U//G9VP/xvVT/8b1U//G9 + VP/xvVT/8b1UnvG9VA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOK8 + cAHhtFm46unn/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+S/ + c//irkT/4q5E/+OvRP/jr0X/469F/+javv/r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr + 6//r6+v/6+vr/+vr6//r6+v/6MmK/+aySP/mskj/5rJI/+rl2//r6+v/6+vr/+vr6//r6+v/6+vr/+vr + 6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//q5Nf/6bVM/+m1TP/qtkz/6rZM/+q2TP/qtk3/6rZN/+q3 + UP/r4cz/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vRnf/suE//7blP/+25T//tuVD/7blQ/+25 + UP/tuVD/7rpQ/+66Uf/uulH/7rpR/+66Uf/vu1H/77tS/++7Uv/vu1L/77tS//C8Uv/wvFP/8LxT//C8 + U//wvFP/8LxT//G9VP/xvVT/8b1U//G9VP/xvVT/8b1U6vG9VE4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnh0W3r6+v/6+vr/+vr6//r6+v/6+vr/+vr + 6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//q5dv/4q5F/+KuRP/jr0T/469F/+OvRf/jr0X/6d7I/+vr + 6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//nv27/5rJI/+ay + Sf/ns0n/6dq7/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vo + 4v/ptUz/6rZM/+q2TP/qtkz/6rZN/+q2Tf/rt03/67dN/+u9Yv/r5dv/6+vr/+vr6//r6+v/6+vr/+vr + 6//r1an/7LlP/+25T//tuU//7blQ/+25UP/tuVD/7rpQ/+66UP/uulH/7rpR/+66Uf/vu1H/77tR/++7 + Uv/vu1L/77tS/++7Uv/wvFP/8LxT//C8U//wvFP/8LxT//G9VP/xvVT/8b1U//G9VP/xvVT/8b1U//G9 + VLDxvVQUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA6uroxuvr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+fP + n//jr0T/469F/+OvRf/jr0X/469F/+SwRf/q4tL/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr + 6//r6+v/6+vr/+vr6//r6+v/6+vr/+a2U//ns0n/57NJ/+ezSf/pz5r/6+vr/+vr6//r6+v/6+vr/+vr + 6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+q2TP/qtkz/6rZN/+q2Tf/qtk3/67dN/+u3 + Tf/rt07/67dO/+u+Yf/r3L//6+rq/+vr6//r4tL/7MmD/+25T//tuU//7blQ/+25UP/tuVD/7blQ/+66 + UP/uulH/7rpR/+66Uf/uulH/77tR/++7Uv/vu1L/77tS/++7Uv/wvFL/8LxT//C8U//wvFP/8LxT//C8 + U//xvVT/8b1U//G9VP/xvVT/8b1U//G9VPHxvVRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOrq6h/r6+v+6+vr/+vr6//r6+v/6+vr/+vr + 6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/5Lhf/+OvRf/jr0X/469F/+OvRf/ksEX/5LBG/+rl + 2//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//q5Nj/57NJ/+ez + Sf/ns0n/57NJ/+jCdv/r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr + 6//r6+v/6rlW/+q2Tf/qtk3/67dN/+u3Tf/rt03/67dO/+u3Tv/suE7/7LhO/+y4Tv/su1n/7L1d/+y4 + T//tuU//7blP/+25UP/tuVD/7blQ/+66UP/uulD/7rpR/+66Uf/uulH/77tR/++7Uf/vu1L/77tS/++7 + Uv/vu1L/8LxT//C8U//wvFP/8LxT//C8U//xvVT/8b1U//G9VP/xvVT/8b1U//G9VP/xvVS/8b1UHwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA6+vrc+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+nc + wf/jr0X/469F/+OvRf/jr0X/5LBF/+SwRv/ksEb/6ujk/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr + 6//r6+v/6+vr/+vr6//r6+v/6+vr/+nau//ns0n/57NJ/+ezSf/ns0r/6LZR/+rq6P/r6+v/6+vr/+vr + 6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//qulv/6rZN/+u3Tf/rt03/67dO/+u3 + Tv/rt07/7LhO/+y4Tv/suE//7LhP/+y4T//tuU//7blP/+25UP/tuVD/7blQ/+25UP/uulD/7rpR/+66 + Uf/uulH/7rpR/++7Uf/vu1L/77tS/++7Uv/vu1L/8LxS//C8U//wvFP/8LxT//C8U//wvFP/8b1U//G9 + VP/xvVT/8b1U//G9VP/xvVT38b1UcfG9VAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr6+vD6+vr/+vr6//r6+v/6+vr/+vr + 6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/5cJ6/+OvRf/jr0X/5LBF/+SwRv/ksEb/5LBG/+Sw + Rv/r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6dCf/+ez + Sf/ns0r/6LRK/+i0Sv/otEr/6t3E/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr + 6//r6+v/6+vr/+u9YP/rt03/67dN/+u3Tv/rt07/7LhO/+y4Tv/suE7/7LhP/+y4T//suE//7blP/+25 + T//tuVD/7blQ/+25UP/uulD/7rpQ/+66Uf/uulH/7rpR/++7Uf/vu1H/77tS/++7Uv/vu1L/77tS//C8 + U//wvFP/8LxT//C8U//wvFP/8b1U//G9VP/xvVT/8b1U//G9VP/xvVT/8b1UzfG9VCoAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA6+vrDevr6/zr6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+ni + 1P/jsEb/469F/+SwRf/ksEb/5LBG/+SwRv/ksEb/5bRR/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr + 6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//ox4P/57NK/+i0Sv/otEr/6LRK/+i0Sv/pzpf/6+vr/+vr + 6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/671g/+u3Tv/rt07/67dO/+y4 + Tv/suE7/7LhP/+y4T//suE//7blP/+25T//tuVD/7blQ/+25UP/tuVD/7rpQ/+66Uf/uulH/7rpR/+66 + Uf/vu1H/77tS/++7Uv/vu1L/77tS//C8Uv/wvFP/8LxT//C8U//wvFP/8LxT//G9VP/xvVT/8b1U//G9 + VP/xvVT/8b1U+/G9VIPxvVQFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr6+su7Ozs/+zs7P/s7Oz/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/58iI/+SwRf/ksEb/5LBG/+SwRv/ksEb/5LBG/+Wx + R//ltVT/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+i+ + Z//otEr/6LRK/+i0Sv/otEr/6LRL/+m9ZP/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/rulj/67dO/+y4Tv/suE7/7LhO/+y4T//suE//7LhP/+25T//tuU//7blQ/+25 + UP/tuVD/7rpQ/+66UP/uulH/7rpR/+66Uf/vu1H/77tR/++7Uv/vu1L/77tS/++7Uv/wvFP/8LxT//C8 + U//wvFP/8LxT//G9VP/xvVT/8b1U//G9VP/xvVT/8b1U//G9VNrxvVQ3AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOvr6xbs7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+rj + 1P/ksUn/5LBG/+SwRv/ksEb/5LBG/+WxR//lsUf/5bFH/+a4W//s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/r6uj/6LVN/+i0Sv/otEr/6LRL/+m1S//ptUv/6bVL/+vh + zv/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ovq/+u4T//suE7/7LhO/+y4 + Tv/suE//7LhP/+y4T//tuU//7blQ/+25UP/tuVD/7blQ/+66UP/uulH/7rpR/+66Uf/uulH/77tR/++7 + Uv/vu1L/77tS/++7Uv/wvFL/8LxT//C8U//wvFP/8LxT//C8U//xvVT/8b1U//G9VP/xvVT/8b1U//G9 + VP7xvVSV8b1UCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOzs7OHs7Oz/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/5sN6/+SwRv/ksEb/5LBG/+SwRv/lsUf/5bFH/+Wx + R//lsUf/5rhc/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+vi + 0P/otEr/6LRK/+i0S//ptUv/6bVL/+m1S//ptUz/6s2Q/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/s5dj/7LhO/+y4Tv/suE//7LhP/+y4T//tuU//7blP/+25UP/tuVD/7blQ/+25 + UP/uulD/7rpR/+66Uf/uulH/7rpR/++7Uf/vu1L/77tS/++7Uv/vu1L/8LxT//C8U//wvFP/8LxT//C8 + U//xvVT/8b1U//G9VP/xvVT/8b1U//G9VP/xvVTk8b1URgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA7Ozsjuzs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+nZ + uP/ksEb/5LBG/+SwRv/lsUf/5bFH/+WxR//lsUf/5bFH/+WxSP/muVz/7Ozs/+zs7P/s7Oz/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/6tm1/+i0S//ptUv/6bVL/+m1S//ptUv/6bVM/+m1 + TP/quVT/6+ji/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zcvP/suE7/7LhP/+y4 + T//suE//7blP/+25T//tuVD/7blQ/+25UP/uulD/7rpQ/+66Uf/uulH/7rpR/++7Uf/vu1H/77tS/++7 + Uv/vu1L/77tS//C8U//wvFP/8LxT//C8U//wvFP/8b1U//G9VP/xvVT/8b1U//G9VP/xvVT/8b1UpvG9 + VBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs7Owj7Ozs+uzs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/r5Nf/5LRT/+SwRv/ksEb/5bFH/+WxR//lsUf/5bFH/+Wx + R//mskj/5rJI/+a5XP/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs + 7P/q0Jr/6bVL/+m1S//ptUv/6bVM/+m1TP/qtkz/6rZM/+q2TP/r0Jr/7Ozs/+zs7P/s7Oz/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/7M6T/+y4T//suE//7blP/+25T//tuVD/7blQ/+25UP/tuVD/7rpQ/+66 + Uf/uulH/7rpR/+66Uf/vu1H/77tS/++7Uv/vu1L/77tS//C8Uv/wvFP/8LxT//C8U//wvFP/8LxT//G9 + VP/xvVT/8b1U//G9VP/xvVT/8b1U7PG9VFYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs7OyA7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs5+bF + gZvksEb/5bFH/+WxR//lsUf/5bFH/+WxR//lsUj/5rJI/+aySP/mskj/5rZV/+zs7P/s7Oz/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+rGfv/ptUv/6bVL/+m1TP/ptUz/6rZM/+q2 + TP/qtkz/6rZN/+q4Uv/r49P/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zq5v/svFz/7LhP/+25 + T//tuU//7blQ/+25UP/tuVD/7rpQ/+66UP/uulH/7rpR/+66Uf/vu1H/77tR/++7Uv/vu1L/77tS/++7 + Uv/wvFP/8LxT//C8U//wvFP/8LxT//G9VP/xvVT/8b1U//G9VP/xvVT/8b1U//G9VLbxvVQaAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOzs + 7ALs7OyV7Ozs/+zs7P/s7Oz/7Ozs/+vr67Pq4M0b58mNBOWxScnlsUf/5bFH/+WxR//lsUf/5rJI/+ay + SP/mskj/5rJI/+aySP/ntEz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs + 7P/s7Oz/6b1k/+m1TP/ptUz/6rZM/+q2TP/qtkz/6rZN/+q2Tf/qtk3/67dN/+vAav/r6OL/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/7NCW/+25T//tuU//7blQ/+25UP/tuVD/7blQ/+66UP/uulH/7rpR/+66 + Uf/uulH/77tR/++7Uv/vu1L/77tS/++7Uv/wvFL/8LxT//C8U//wvFP/8LxT//C8U//xvVT/8b1U//G9 + VP/xvVT/8b1U//G9VPPxvVRo8b1UAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs7Owy7Ozsdezs7HHs7OwtAAAAAAAA + AAAAAAAA5bRRJ+WxR/XlsUf/5bFI/+aySP/mskj/5rJI/+aySP/mskn/57NJ/+ezSf/s6OH/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zr6P/ptk7/6bVM/+q2TP/qtkz/6rZM/+q2 + Tf/qtk3/67dN/+u3Tf/rt03/67dO/+vBbP/s5NT/7Ozs/+zs7P/s7Oz/7Orm/+zRmP/tuU//7blP/+25 + UP/tuVD/7blQ/+66UP/uulD/7rpR/+66Uf/uulH/77tR/++7Uf/vu1L/77tS/++7Uv/vu1L/8LxT//C8 + U//wvFP/8LxT//C8U//xvVT/8b1U//G9VP/xvVT/8b1U//G9VP/xvVTG8b1UJAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5bFHbeaySP/mskj/5rJI/+ay + SP/mskj/57NJ/+ezSf/ns0n/57NJ/+vhy//t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7OTS/+q2TP/qtkz/6rZM/+q2Tf/qtk3/6rZN/+u3Tf/rt03/67dO/+u3Tv/rt07/7LhO/+y4 + Uf/sxnr/7M2P/+zJgf/tvFr/7blP/+25UP/tuVD/7blQ/+25UP/uulD/7rpR/+66Uf/uulH/7rpR/++7 + Uf/vu1L/77tS/++7Uv/vu1L/8LxS//C8U//wvFP/8LxT//C8U//wvFP/8b1U//G9VP/xvVT/8b1U//G9 + VP/xvVT68b1UefG9VAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADlsUcB5bFIveaySP/mskj/5rJI/+ezSf/ns0n/57NJ/+ezSf/ns0r/69as/+3t + 7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/s3Lz/6rZM/+q2TP/qtk3/6rZN/+u3 + Tf/rt03/67dN/+u3Tv/rt07/7LhO/+y4Tv/suE7/7LhP/+y4T//suE//7blP/+25T//tuVD/7blQ/+25 + UP/uulD/7rpQ/+66Uf/uulH/7rpR/++7Uf/vu1H/77tS/++7Uv/vu1L/77tS//C8U//wvFP/8LxT//C8 + U//wvFP/8b1U//G9VP/xvVT/8b1U//G9VP/xvVT/8b1U0/G9VC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADmskgd5rJI8Oay + Sf/ns0n/57NJ/+ezSf/ns0n/57NK/+i0Sv/pxHr/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/t7e3/7e3t/+vLi//qtk3/6rZN/+q2Tf/rt03/67dN/+u3Tv/rt07/67dO/+y4Tv/suE7/7LhP/+y4 + T//suE//7blP/+25T//tuVD/7blQ/+25UP/tuVD/7rpQ/+66Uf/uulH/7rpR/+66Uf/vu1H/77tS/++7 + Uv/vu1L/77tS//C8Uv/wvFP/8LxT//C8U//wvFP/8LxT//G9VP/xvVT/8b1U//G9VP/xvVT/8b1U/fG9 + VIvxvVQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADmskhe57NJ/+ezSf/ns0n/57NJ/+ezSv/otEr/6LRK/+i0 + S//s4cv/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t7f/s27r/6rZO/+q2Tf/qtk3/67dN/+u3 + Tf/rt07/67dO/+y4Tv/suE7/7LhO/+y4T//suE//7LhP/+25T//tuU//7blQ/+25UP/tuVD/7rpQ/+66 + UP/uulH/7rpR/+66Uf/vu1H/77tR/++7Uv/vu1L/77tS/++7Uv/wvFP/8LxT//C8U//wvFP/8LxT//G9 + VP/xvVT/8b1U//G9VP/xvVT/8b1U//G9VN7xvVQ9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADns0mu57NJ/+ezSv/otEr/6LRK/+i0Sv/otEr/6LRL/+m7Xf/s5NX/7e3t/+3t7f/t7e3/7e3t/+3t + 7f/s7Or/69Oi/+q3T//qtk3/67dN/+u3Tf/rt03/67dO/+u3Tv/suE7/7LhO/+y4Tv/suE//7LhP/+y4 + T//tuU//7blP/+25UP/tuVD/7blQ/+66UP/uulH/7rpR/+66Uf/uulH/77tR/++7Uv/vu1L/77tS/++7 + Uv/wvFL/8LxT//C8U//wvFP/8LxT//C8U//xvVT/8b1U//G9VP/xvVT/8b1U//G9VP/xvVSc8b1UDQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOezSRTns0rq6LRK/+i0Sv/otEr/6LRK/+i0 + S//ptUv/6bVL/+m4VP/r0Z3/7OHM/+zm2f/s4cv/69Oj/+q9Y//qtk3/6rZN/+u3Tf/rt03/67dO/+u3 + Tv/rt07/7LhO/+y4Tv/suE//7LhP/+y4T//tuU//7blP/+25UP/tuVD/7blQ/+25UP/uulD/7rpR/+66 + Uf/uulH/7rpR/++7Uf/vu1L/77tS/++7Uv/vu1L/8LxT//C8U//wvFP/8LxT//C8U//xvVT/8b1U//G9 + VP/xvVT/8b1U//G9VP/xvVTo8b1UTQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOezSU/otEr/6LRK/+i0S//ptUv/6bVL/+m1S//ptUv/6bVM/+m1TP/qtkz/6rZM/+q2 + TP/qtk3/6rZN/+u3Tf/rt03/67dN/+u3Tv/rt07/7LhO/+y4Tv/suE7/7LhP/+y4T//suE//7blP/+25 + T//tuVD/7blQ/+25UP/uulD/7rpQ/+66Uf/uulH/7rpR/++7Uf/vu1H/77tS/++7Uv/vu1L/77tS//C8 + U//wvFP/8LxT//C8U//wvFP/8b1U//G9VP/xvVT/8b1U//G9VP/xvVT/8b1UrvG9VBQAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOi0Sp/otEv/6bVL/+m1 + S//ptUv/6bVM/+m1TP/qtkz/6rZM/+q2TP/qtk3/6rZN/+q2Tf/rt03/67dN/+u3Tv/rt07/67dO/+y4 + Tv/suE7/7LhP/+y4T//suE//7blP/+25T//tuVD/7blQ/+25UP/tuVD/7rpQ/+66Uf/uulH/7rpR/+66 + Uf/vu1H/77tS/++7Uv/vu1L/77tS//C8Uv/wvFP/8LxT//C8U//wvFP/8LxT//G9VP/xvVT/8b1U//G9 + VP/xvVT/8b1U8fG9VF4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA6LRKDei0S+HptUv/6bVL/+m1TP/ptUz/6rZM/+q2TP/qtkz/6rZN/+q2 + Tf/rt03/67dN/+u3Tf/rt07/67dO/+y4Tv/suE7/7LhO/+y4T//suE//7LhP/+25T//tuU//7blQ/+25 + UP/tuVD/7rpQ/+66UP/uulH/7rpR/+66Uf/vu1H/77tR/++7Uv/vu1L/77tS/++7Uv/wvFP/8LxT//C8 + U//wvFP/8LxT//G9VP/xvVT/8b1U//G9VP/xvVT/8b1U//G9VL7xvVQdAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6bVLQOm1 + TP7ptUz/6rZM/+q2TP/qtkz/6rZN/+q2Tf/qtk3/67dN/+u3Tf/rt07/67dO/+u3Tv/suE7/7LhO/+y4 + T//suE//7LhP/+25T//tuU//7blQ/+25UP/tuVD/7blQ/+66UP/uulH/7rpR/+66Uf/uulH/77tR/++7 + Uv/vu1L/77tS/++7Uv/wvFL/8LxT//C8U//wvFP/8LxT//C8U//xvVT/8b1U//G9VP/xvVT/8b1U//G9 + VPfxvVRw8b1UAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6bVLkOq2TP/qtkz/6rZM/+q2Tf/qtk3/67dN/+u3 + Tf/rt03/67dO/+u3Tv/suE7/7LhO/+y4Tv/suE//7LhP/+y4T//tuU//7blP/+25UP/tuVD/7blQ/+66 + UP/uulD/7rpR/+66Uf/uulH/77tR/++7Uf/vu1L/77tS/++7Uv/vu1L/8LxT//C8U//wvFP/8LxT//C8 + U//xvVT/8b1U//G9VP/xvVT/8b1U//G9VP/xvVTM8b1UKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVkeAcFZHgHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADptUwI6rZM1+q2Tf/qtk3/6rZN/+u3Tf/rt03/67dO/+u3Tv/rt07/7LhO/+y4Tv/suE//7LhP/+y4 + T//tuU//7blP/+25UP/tuVD/7blQ/+25UP/uulD/7rpR/+66Uf/uulH/7rpR/++7Uf/vu1L/77tS/++7 + Uv/vu1L/8LxS//C8U//wvFP/8LxT//C8U//wvFP/8b1U//G9VP/xvVT/8b1U//G9VP/xvVT78b1UgfG9 + VAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFZHgiBWR + 4P4VkeD/FZHgmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADqtkw06rZN++u3Tf/rt03/67dN/+u3 + Tv/rt07/7LhO/+y4Tv/suE7/7LhP/+y4T//suE//7blP/+25T//tuVD/7blQ/+25UP/uulD/7rpQ/+66 + Uf/uulH/7rpR/++7Uf/vu1H/77tS/++7Uv/vu1L/77tS//C8U//wvFP/8LxT//C8U//wvFP/8b1U//G9 + VP/xvVT/8b1U//G9VP/xvVT/8b1U2PG9VDYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABWR4BQVkeD9FZHg/xaS4f8WkuH/FZHgXAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADqtk2B67dN/+u3Tv/rt07/67dO/+y4Tv/suE7/7LhP/+y4T//suE//7blP/+25 + T//tuVD/7blQ/+25UP/tuVD/7rpQ/+66Uf/uulH/7rpR/+66Uf/vu1H/77tS/++7Uv/vu1L/77tS//C8 + Uv/wvFP/8LxT//C8U//wvFP/8LxT//G9VP/xvVT/8b1U//G9VP/xvVT/8b1U/vG9VJPxvVQJAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFZHgFBaS + 4f0WkuH/FpLh/xaS4f8WkuHxFpLhIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOq2TQXrt03M67dO/+u3 + Tv/suE7/7LhO/+y4T//suE//7LhP/+25T//tuU//7blQ/+25UP/tuVD/7rpQ/+66UP/uulH/7rpR/+66 + Uf/vu1H/77tR/++7Uv/vu1L/77tS/++7Uv/wvFP/8LxT//C8U//wvFP/8LxT//G9VP/xvVT/8b1U//G9 + VP/xvVT/8b1U//G9VOTxvVREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFpLhlhaS4f8WkuH/FpLh/xeT4v8WkuHMFpLhCAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOu3TSnsuE737LhO/+y4Tv/suE//7LhP/+y4T//tuU//7blP/+25 + UP/tuVD/7blQ/+66UP/uulD/7rpR/+66Uf/uulH/77tR/++7Uv/vu1L/77tS/++7Uv/wvFL/8LxT//C8 + U//wvFP/8LxT//C8U//xvVT/8b1U//G9VP/xvVT/8b1U//G9VP/xvVSk8b1UDwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlovEGJqLxICai8T4mo/JbJqPyeCaj8pYmo/K0JqPyoSaj + 8hgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAWkuEKFpLh2BeT4v8Xk+L/F5Pi/xeT4v8Xk+KcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOu3 + TnHsuE//7LhP/+y4T//tuU//7blP/+25UP/tuVD/7blQ/+25UP/uulD/7rpR/+66Uf/uulH/7rpR/++7 + Uf/vu1L/77tS/++7Uv/vu1L/8LxS//C8U//wvFP/8LxT//C8U//xvVT/8b1U//G9VP/xvVT/8b1U//G9 + VP/xvVTs8b1UVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACWh8AElofAYJaHwNSWh8FIlovFvJaLxjCWi8aolovHHJqLx5iai + 8f0mo/L/JqPy/yaj8v8mo/L/JqPy/yej8v8npPP/JqPyhQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWkuEwF5Pi9xeT4v8Xk+L/F5Pi/xiU + 4/8Xk+JvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7LhOAuy4T8DsuE//7blP/+25T//tuVD/7blQ/+25 + UP/uulD/7rpQ/+66Uf/uulH/7rpR/++7Uf/vu1H/77tS/++7Uv/vu1L/77tS//C8U//wvFP/8LxT//C8 + U//wvFP/8b1U//G9VP/xvVT/8b1U//G9VP/xvVT/8b1UtfG9VBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkofBfJKHwoSSh8L4lofDcJaHw+CWi + 8f8lovH/JaLx/yWi8f8lovH/JqLx/yai8f8mo/L/JqPy/yaj8v8mo/L/JqPy/yej8v8npPP/J6Tz/yek + 8/8no/J8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAXk+JmF5Tj/xiU4/8YlOP/GJTj/xiU4/wYlONOAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA7LhPIO25T/HtuVD/7blQ/+25UP/tuVD/7rpQ/+66Uf/uulH/7rpR/+66Uf/vu1H/77tS/++7 + Uv/vu1L/77tS//C8Uv/wvFP/8LxT//C8U//wvFP/8LxT//G9VP/xvVT/8b1U//G9VP/xvVT/8b1U8/G9 + VGbxvVQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAJKHwIiWh8P8lofD/JaHw/yWi8f8lovH/JaLx/yWi8f8movH/JqLx/yaj8v8mo/L/JqPy/yaj + 8v8mo/L/J6Py/yej8v8npPP/J6Tz/yek8/8npPP/J6Tz/yek8zMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXk+KbGJTj/xiU + 4/8YlOP/GJXk/xmV5PUYlOM7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7blPYu25UP/tuVD/7rpQ/+66 + UP/uulH/7rpR/+66Uf/vu1H/77tR/++7Uv/vu1L/77tS/++7Uv/wvFP/8LxT//C8U//wvFP/8LxT//G9 + VP/xvVT/8b1U//G9VP/xvVT/8b1U//G9VMTxvVQjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkofAEJaHw0iWi8f8lovH/JaLx/yWi + 8f8movH/JqLx/yaj8v8mo/L/JqPy/yaj8v8mo/L/J6Py/yek8/8npPP/J6Tz/yek8/8npPP/KKTz/yik + 8/8opfTnJ6TzAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABiU4wYYlOPBGJXk/xmV5P8ZleT/GZXk/xmV5PAZleQ2AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA7blQs+66UP/uulH/7rpR/+66Uf/uulH/77tR/++7Uv/vu1L/77tS/++7 + Uv/wvFL/8LxT//C8U//wvFP/8LxT//C8U//xvVT/8b1U//G9VP/xvVT/8b1U//G9VPjxvVR48b1UAwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAlofAgJaLx6iWi8f8movH/JqLx/yaj8v8mo/L/JqPy/yaj8v8mo/L/J6Py/yek + 8/8npPP/J6Tz/yek8/8npPP/KKTz/yik8/8opfT/KKX0/yik85wAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACaj8gIno/KvJ6Tz/yek8/8opPP/KKTz/yil + 9P8opfT/KKX0/yil9P8opfT/KaX0/ymm9f8ppvX/Kab1/ymm9f8ppvVvAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABqW5Sgal+bjG5fm/xuX5v8bmOf/G5jn/xyY5/8bmOecG5jnBwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAO+7UkDwvFP68LxT//C8U//wvFP/8LxT//G9VP/xvVT/8b1U//G9VP/xvVT/8b1U//G9 + VOfxvVRLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACek8wonpPPOKKX0/yil9P8opfT/KKX0/yil9P8ppfT/KaX0/ymm9f8ppvX/Kab1/ymm + 9f8ppvX/Kqb1/ymm9SMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqX + 5h4bl+bYG5jn/xyY5/8cmOf/HJjn/xyY5/8cmOfLHJjnIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO+7UlPwvFP08LxT//C8 + U//xvVT/8b1U//G9VP/xvVT/8b1U//G9VP/xvVSs8b1UFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACik8zsopfT+KKX0/yil + 9P8ppfT/Kab1/ymm9f8ppvX/Kab1/ymm9f8ppvX/Kqb1/yqn9v8qpvXYAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABuX5hIbmOfCHJjn/xyY5/8cmej/HJno/xyZ + 6P8dmejwHJnoWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC8UyPwvFOm8b1U+PG9VP/xvVT/8b1U//G9VP/xvVTR8b1UUwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACil9AQopfRxKKX08iil9P8ppfT/Kab1/ymm9f8ppvX/Kab1/ymm9f8ppvX/Kqf2/yqn + 9v8qp/b/Kqf2/yqm9YwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABuY5wYcmOecHJno/x2Z6P8dmej/HZno/x2Z6P8dmej/HZnoqh2a6RQAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADwvFMN8LxTQfG9VFrxvVRN8b1UIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAopfRBKKX00yml9P8ppfT/Kab1/ymm + 9f8ppvX/Kab1/ymm9f8qpvX/Kqf2/yqn9v8qp/b/Kqf2/yqn9v8qp/b/Kqf2QAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcmOdoHZno+B2Z + 6P8dmun/HZrp/x6a6f8emun/Hprp6x6a6V8emukBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAppfQpKKX0siml9P8ppvX/Kab1/ymm9f8ppvX/Kab1/ymm9f8qpvX/Kqf2/yqn9v8qp/b/Kqf2/yqn + 9v8rp/b/K6f2/yuo9/Aqp/YFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmegyHZno2x6a6f8emun/Hprp/x6a6f8em+r/Hpvq/x6b + 6sQem+ozAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAppfQjKaX0nyml9PwppvX/Kab1/ymm9f8ppvX/Kab1/ymm + 9f8ppvXVKab1Oymm9acqp/b/Kqf2/yqn9v8rp/b/K6j3/yuo9/8rqPf/K6f2qgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAdmegLHZrpmh6a6f8em+r/Hpvq/x6b6v8fm+r/H5vq/x+b6v0fm+qjH5vqIwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALKn4Vyyp+FUAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACGd + 7D0hnu2vIp7t/CKf7v8in+7/Ip/u/yKf7v8jn+7/I5/u/yOf7v8joO//I6Dv/yOg7/8joO/nI6DvqSSg + 73IkoO89JKDvDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKKTzASil9CAopfRRKKX0hCil + 9LkopfTyKKX0/yml9P8ppvX/Kab1/ymm9f8ppvX/Kab1/ymm9f8qpvX/Kqf2/yqn9v8ppvXgKab1fCmm + 9RgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhnu0eIp7tgiKf7uMjn+7/I5/u/yOf + 7v8joO//I6Dv/yOg7/8joO//JKDv/ySg7/8kofD/JKHw/ySh8P8kofD/JaHw4SSh8LolofCVJaHwdSWi + 8VglovFAJaLxKiWi8RsmovEPAAAAAAAAAAAAAAAAAAAAAAAAAAAno/IKJ6TzFSek8yQnpPM3J6TzTiek + 82gnpPOHKKTzqCik880opfTzKKX0/yil9P8opfT/KKX0/yml9P8ppvX/Kab1/ymm9f8ppvX/Kab1/ymm + 9f8qp/b/Kqf2/yqn9vMppvWhKab1Qymm9QIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAIp7tAiKf7kQin+6cI6Dv7SOg7/8joO//JKDv/ySg7/8kofD/JKHw/ySh + 8P8kofD/JaHw/yWh8P8lovH/JaLx/yWi8f8lovH/JaLx/yai8f8movH/JqPy/yaj8v8mo/L/JqPy/yaj + 8v8no/L/J6Tz/yek8/8npPP/J6Tz/yek8/8opPP/KKTz/yil9P8opfT/KKX0/yil9P8opfT/KaX0/yml + 9P8ppvX/Kab1/ymm9f8ppvX/Kab1/yqm9f8qp/b/Kqf28Cmm9aUppvVSKab1CQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAjn+4FI6DvQyOg748joO/YJKHw/ySh8P8kofD/JaHw/yWh8P8lovH/JaLx/yWi8f8lovH/JaLx/yai + 8f8mo/L/JqPy/yaj8v8mo/L/JqPy/yaj8v8no/L/J6Tz/yek8/8npPP/J6Tz/yek8/8opPP/KKTz/yil + 9P8opfT/KKX0/yil9P8opfT/KaX0/ymm9f8ppvX/Kab1/ymm9f8ppvX/Kab1/yqm9f0ppvXNKab1iSmm + 9UAppvUFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkoO8bJKHwWySh + 8JgkofDQJaLx+yWi8f8lovH/JqLx/yai8f8mo/L/JqPy/yaj8v8mo/L/JqPy/yej8v8npPP/J6Tz/yek + 8/8npPP/J6Tz/yek8/8opPP/KKTz/yil9P8opfT/KKX0/yil9P8opfT/KaX0/ymm9f8ppvX/Kab1/ymm + 9f8ppvXwKab1vSmm9YYppvVMKab1EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlofAJJaHwNiWi8WElovGMJaLxsCaj + 8tMmo/LwJqPy/yej8v8npPP/J6Tz/yek8/8npPP/J6Tz/yik8/8opPP/KKX0/yil9P8opfT/KKX0/yil + 9P8ppfT/KaX0+Smm9d8opfS/KKX0niml9HYppfRNKab1ICmm9QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmo/ILJqPyIyaj8jYmo/JFJ6PyTyek + 814npPNfJ6TzXyek818npPNfKKTzUyik80oopfQ7KKX0KCil9BYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////4H///////////////////4Af/// + ///////////////8AD///////////gAAAAB/8AAf//////////wAAAAAP+AAH//////////8AAAAAD+A + AA///////////AAAAAA/AAAH//////////gAAAAAHAAAB//////////4AAAAABgAAAP/////////+AAA + AAAQAAAB//////////gAAAAAAAAAAP/////////wAAAAAAAAAAD/////////8AAAAAAAAAAAf/////// + /+AAAAAAAAAAAD/////////gAAAAAAAAAAA/////////wAAAAAAAAAAAH////////8AAAAAAAAAAAA// + //////+AAAAAAAAAAAAP////////gAAAAAAAAAAAB////////wAAAAAAAAAAAAP///////4AAAAAAAAA + AAAD///////+AAAAAAAAAAAAAf///////AAAAAAAAAAAAAD///////gAAAAAAAAAAAAA///////wAAAA + AAAAAAAAAH//////4AAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAH/////+AAAAAAAAAAAAAAB////// + AAAAAAAAAAAAAAAP/////gAAAAAAAAAAAAAAB/////wAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAAAAD + ////8AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAH////gAAAAAAAAAAAAAAAA////wAAAAAAAAAAA + AAAAAH///4AAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAAP//+AAAAAAAAAAAAAAAAAB///gAAAAAA + AAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAD//4AAAAAAAAAAAAAAAAAAf/+AAAAAAAAAAAAAAAAAAH//AA + AAAAAAAAAAAAAAAAA//wAAAAAAAAAAAAAAAAAAH/4AAAAAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAAAAA + AP/gAAAAAAAAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAA + AAAAAAAfwAAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAAAAAH+AAAAAAA + AAAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAP+AAAAAAAAAAAAAAAAAAAD/gAAAAAAAAAAAAAAAAAAA/4A + AAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAB/+AAAAAAAAAAAAAAAAA + AAf/wAAAAAAAAAAAAAAAAAAP/8AAAAAAAAAAAAAAAAAAH//gAAAAAAAAAAAAAAAAAD//8AAAAAAAAAAA + AAAAAAD///AAAAAAAAAAAAAAAAAB///4AAAAAAAAAAAAAAAAB////AAAAAAAAAAAAAAAAA////wAAAAA + AAAAAAAAAAA////+AAAAAAAAAAAAAAAAf////gAAAAAAAAAAAAAAAf////wAAAAAAAAAAAAAAAP////8 + AAAAAAAAAAAAAAAH/////AAAAAAAAAAAAAAAH/////gAAAAAAAAAAAAAAD/////4AAAAAAAAAAAAAAD/ + ////+AAAAAAAAAAAAAAB//////wAAAAAAAAAAAAAB//////8AAAAAAAAAAAAAA///////AAAAAAAAAAA + AAA///////4AAAAAAAAAAAAAf//////+AAAAAAAAAAAAAP///////4cAAAAAAAAAAAP/////////gAAA + AAAAAAAH/////////4AAAAAAAAAAH//////////AAAAAAAAAAD//////////4AAAAAAAAAD///////// + //AAAAAAAAAB///////////wAAAAAAAAB///////////+AAAAAAAAA////////////wAAAAAAAA///// + ///////8AAAAAAAAf////////////gAAAAAAAP////////////8AAAAAAAP/////////P///AAAAAAAH + /////////h///4AAAAAAH/////////wP///AAAAAAD/////////8B///wAAAAAD//////////gP//+AA + AAAB//////4A//4D///wAAAAB/////wAAP//Af//8AAAAA/////AAAD//4D///gAAAAf////gAAA///A + f//8AAAAf////4AAAP//wD///gAAAP/////AAAH//+Af//4AAAP/////4AAB///wD///AAAH//////AA + Af//+Af//4AAH//////4AAP///wD//+AAD//////+AAD///+AP//wAD///////wAA////wB//+AB//// + ///+AAf///+AP//wB///////+AAH////wA///B////////AAB/////AD///////////AAAf////4Af// + ////////AAAP/////AB//////////AAgD/////8AH////////+AA8A//////gAf///////+AA/gf//// + /+AA///////8AA/8H//////4AB//////4AA//h///////AAD/////gAA//8///////+AAB///8AAA/// + ////////4AAAD4AAAA////////////gAAAAAAAB/////////////AAAAAAAD//////////////AAAAAA + P///////////////AAAAA/////////////////4AA/////////8oAAAAYAAAAMAAAAABACAAAAAAAICU + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA2aU6DtmlOlnZpTqD2aU6gdmlOlLapjsLAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANikOQHYpDlh2aU669mlOv7ZpTr+2qY7/9qm + O/7apjvl2qY7TwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eEw4uLirOHh4bfh4eGz4uLisuHh + 4afh4eGn4uLioeHh4Zvi4uKa4eHhj+Hh4Y/i4uKH4eHhg+Hh4X7i4uJ34eHhc+Hh4Wvi4uJn4eHhX+Hh + 4Vni4uJT4eHhSuHh4UTi4uI34eHhBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2aU6Ftik + Oa/ZpTr+2aU6/9mlOv7ZpTr+2qY7/9qmO/7apjv+26c8+tunPFMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLi + 4gni4uLk4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLizeLi4goAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADZpTpQ2aU66dmlOv/ZpTr/2qY7/9qmO//apjv/26c8/9unPP/bpzz/26c8/9un + PO7bpzweAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOHh4Tfh4eH+4uLi/+Hh4f7h4eH+4uLi/+Hh4f7h4eH+4uLi/+Hh + 4f7i4uL/4eHh/uHh4f7i4uL/4eHh/uHh4f7i4uL/4eHh/uHh4f7i4uL/4eHh/uHh4f7i4uL/4eHh/uHh + 4f7i4uL/4eHh/uHh4VIAAAAAAAAAAAAAAAAAAAAA2KQ5ENikOZ7ZpTr92aU6/9mlOv7ZpTr+2qY7/9qm + O/7apjv+26c8/9unPP7bpzz+3Kg9/9unPf7cqD253Kg9AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOHh4XHh4eH+4uLi/+Hh + 4f7h4eH+4uLi/+Hh4f7h4eH+4uLi/+Hh4f7i4uL/4eHh/uHh4f7i4uL/4eHh/uHh4f7i4uL/4eHh/uHh + 4f7i4uL/4eHh/uHh4f7i4uL/4eHh/uHh4f7i4uL/4eHh/uHh4XoAAAAAAAAAAAAAAADZpTpA2KQ63tml + Ov7ZpTr+2qY7/9mlO/7apjv+2qY8/9qmO/7apjz+26c8/9unPP7bpzz+3Kg9/9yoPf7cqD3+3Kg+awAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOLi4rXi4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Hg + 3qYAAAAA2alHCtmlOo3ZpTr82aU6/9qmO//apjv/2qY7/9qmO//bpzz/26c8/9unPP/bpzz/3Kg9/9yo + Pf/cqD3/3Kg+/92pPv/dqT7/3ak+892pPigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4uLiEeLi4vPi4uL+4uLi/+Li4v7i4uL+4uLi/+Li + 4v7i4uL+4uLi/+Li4v7i4uL/4uLi/uLi4v7i4uL/4uLi/uLi4v7i4uL/4uLi/uLi4v7i4uL/4uLi/uLi + 4v7i4uL/4uLi/uLi4v7i4uL/4uLi/uLh39rcvX412aY809mlOv7ZpTr/2aU6/tmlO/7apjv+2qY8/9qm + O/7apjz+26c8/9unPP7bpzz+3Kg9/9yoPf7cqD3+3ak+/9yoPv7dqT7+3ak//92pP8TdqT8FAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4uLiXOLi + 4v7i4uL+4+Pj/+Li4v7i4uL+4+Pj/+Li4v7i4uL+4+Pj/+Li4v7j4+P/4uLi/uLi4v7j4+P/4uLi/uLi + 4v7j4+P/4uLi/uLi4v7j4+P/4uLi/uLi4v7j4+P/4uLi/uLi4v7j4+P/4uLi/uLi4v3arE352aU6/tml + Ov7apjv/2qY7/tqmO/7apjv+26c8/9unPP7bpzz+3Kg9/9unPf7cqD3+3Kg9/9yoPf7cqD7+3ak+/92p + Pv7dqT/+3qo//96qP/7eqj96AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA4+Pjv+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//dvHn/2qY7/9qmO//apjv/2qY8/9unPP/bpzz/26c8/9unPf/cqD3/3Kg9/9yo + Pf/cqD7/3ak+/92pPv/dqT//3ak//96qP//eqj//3qpA/96qQP/fq0D53qpAMQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADi4uIu4+Pj/uLi4v7i4uL+4+Pj/+Li + 4v7i4uL+4+Pj/+Li4v7i4uL+4+Pj/+Li4v7j4+P/4uLi/uLi4v7j4+P/4uLi/uLi4v7j4+P/4uLi/uLi + 4v7j4+P/4uLi/uLi4v7j4+P/4uLi/uLi4v7j4+P/4uLi/uLi4v7fzaj/2qY7/tqmO/7bpzz/2qY8/tun + PP7bpzz+26c9/9unPf7cqD3+3Kg9/9yoPf7cqD7+3ak+/92pPv7dqT/+3qo//96qP/7eqj/+36tA/96q + QP7fq0D+36tA0N+rQAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADj4+Oj4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//i3tf/26c+/9unPP/bpzz/26c8/9unPf/cqD3/3Kg9/9yoPf/cqD7/3ak+/92pPv/dqT//3ak//96q + P//eqj//3qpA/96qQP/fq0D/36tA/9+rQf/fq0H/4KxB/9+rQYkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4y3j4+P64+Pj/+Pj4/7j4+P+4+Pj/+Pj4/7j4+P+4+Pj/+Pj + 4/7j4+P+4+Pj/+Pj4/7j4+P/4+Pj/uPj4/7j4+P/4+Pj/uPj4/7j4+P/4+Pj/uPj4/7j4+P/4+Pj/uPj + 4/7j4+P/4+Pj/uPj4/7j4+P/4+Pj/uPj4/7j4+P/3bZn/tqnPP7bpzz/26c8/tunPf7cqD3+3Kg9/9yo + Pf7cqD7+3ak+/92pPv7dqT/+3qo//92qP/7eqj/+36tA/96qQP7fq0D+36tB/9+rQf7fq0H+4KxC/+Cs + QvvgrEI+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAePj47Xj4+P+5OTk/+Pj + 4/7j4+P+5OTk/+Pj4/7j4+P+5OTk/+Pj4/7j4+P+5OTk/+Pj4/7k5OT/4+Pj/uPj4/7k5OT/4+Pj/uPj + 4/7k5OT/4+Pj/uPj4/7k5OT/4+Pj/uPj4/7k5OT/4+Pj/uPj4/7k5OT/4+Pj/uPj4/7k5OT/4Mqd/tun + PP7cqD3/26c9/tyoPf7cqD3+3ak+/9yoPv7dqT7+3ak//92pP/7dqT/+3qpA/96qP/7eqkD+36tA/9+r + QP7fq0D+4KxB/9+rQf7grEH+4KxC/+CsQv7grELc4a1CDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA4+PjUePj4/7j4+P+5OTk/+Pj4/7j4+P+5OTk/+Pj4/7j4+P+5OTk/+Pj4/7j4+P+5OTk/+Pj + 4/7k5OT/4+Pj/uPj4/7k5OT/4+Pj/uPj4/7k5OT/4+Pj/uPj4/7k5OT/4+Pj/uPj4/7k5OT/4+Pj/uPj + 4/7k5OT/4+Pj/uPj4/7k5OT/493R/typQP7cqD3/3Kg9/tyoPf7cqD7+3ak+/92pPv7dqT7+3qo//92p + P/7eqj/+3qpA/96qQP7fq0D+36tB/9+rQf7fq0H+4KxC/+CsQv7grEL+4a1C/+GtQv7hrUP+4a1DmAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk5OQS5OTk5uTk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OPj/963aP/cqD7/3ak+/92p + Pv/dqT7/3ak//96qP//eqj//3qpA/96qQP/fq0D/36tA/9+rQf/fq0H/4KxB/+CsQf/grEL/4KxC/+Gt + Qv/hrUP/4a1D/+GtQ//irkP/4q5E/eKuQ0sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wHj4+Oq5OTk/+Pj + 4/7j4+P+5OTk/+Pj4/7j4+P+5OTk/+Pj4/7j4+P+5OTk/+Pj4/7j4+P+5OTk/+Pj4/7k5OT/4+Pj/uPj + 4/7k5OT/4+Pj/uPj4/7k5OT/4+Pj/uPj4/7k5OT/4+Pj/uPj4/7k5OT/4+Pj/uPj4/7k5OT/4+Pj/uPj + 4/7k5OT/4+Pj/uHMov7dqT7/3Kg+/t2pPv7dqT7+3qo//92pP/7eqj/+3qpA/96qQP7eq0D+36tB/9+r + Qf7fq0H+4KxC/+CsQv7grEL+4a1C/+GtQv7hrUP+4q5D/+GtQ/7irkP+4q5E/+KuROPirkQVAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOPj427j4+P+5OTk/+Pj4/7j4+P+5OTk/+Pj4/7j4+P+5OTk/+Pj4/7j4+P+5OTk/+Pj + 4/7j4+P+5OTk/+Pj4/7k5OT/4+Pj/uPj4/7k5OT/4+Pj/uPj4/7k5OT/4+Pj/uPj4/7k5OT/4+Pj/uPj + 4/7k5OT/4+Pj/uPj4/7k5OT/4+Pj/uPj4/7k5OT/4+Pj/uPf1/7dq0X/3ak+/t2pP/7dqT/+3qo//96q + P/7eqkD+36tA/9+rQP7fq0D+4KxB/9+rQf7grEH+4KxC/+CsQv7grEL+4a1D/+GtQ/7hrUP+4q5E/+Ku + Q/7irkT+469E/+KuRP7jr0WnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5OTkReTk5Pnk5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/gvXX/3qo//96qP//eqkD/3qpA/9+rQP/fq0D/36tB/9+rQf/grEH/4KxC/+CsQv/grEL/4a1C/+Gt + Q//hrUP/4q5D/+KuQ//irkT/4q5E/+KuRP/jr0X/469F/+OvRf/ksEX/469FWAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk5OQw5OTk7+Tk + 5P7k5OT+5eXl/+Tk5P7k5OT+5eXl/+Tk5P7k5OT+5eXl/+Tk5P7k5OT+5eXl/+Tk5P7k5OT+5eXl/+Tk + 5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk + 5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk5P7i07L/3qo//t6qP/7eqkD+36tA/9+rQP7fq0D+4KxB/9+r + Qf7grEH+4KxC/+CsQv7grEL+4a1D/+GtQ/7hrUP+4q5E/+KuQ/7irkT+469E/+KuRP7jr0X+469F/+Ov + Rf7jr0X+5LBG6+SwRhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOTk5Crk5OTl5eXl/+Tk5P7k5OT+5eXl/+Tk5P7k5OT+5eXl/+Tk5P7k5OT+5eXl/+Tk + 5P7k5OT+5eXl/+Tk5P7k5OT+5eXl/+Tk5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk + 5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk5P7k4+H/37BP/t6q + QP7eqkD+36tB/9+rQf7fq0H+4KxB/+CsQf7grEL+4a1C/+CtQv7hrUL+4q5D/+GtQ/7hrUP+4q5E/+Ku + RP7irkT+469F/+OvRf7jr0X+5LBG/+OwRv7ksEb+5bFG/+SwRrTksEYCAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eXlMeXl5ebl5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/4cWM/9+rQf/fq0H/4KxB/+CsQf/grEL/4KxC/+GtQv/hrUP/4a1D/+Gt + Q//irkP/4q5E/+KuRP/irkT/469E/+OvRf/jr0X/469F/+SwRf/ksEb/5LBG/+SwRv/lsUf/5bFH/+Wx + R//lsUdnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5eU55OTk6+Tk + 5P7k5OT+5eXl/+Tk5P7k5OT+5eXl/+Tk5P7k5OT+5eXl/+Tk5P7k5OT+5eXl/+Tk5P7k5OT+5eXl/+Tk + 5P7k5OT+5eXl/+Tk5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk + 5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk5P7l5eX/49vJ/t+sQv7fq0H+4KxB/+Cs + Qf7grEL+4a1C/+CsQv7hrUL+4a1D/+GtQ/7hrUP+4q5E/+KuRP7irkT+469F/+OvRf7jr0X+5LBG/+Ov + Rv7ksEb+5LBG/+SwRv7ksUf+5bFH/+WxR/7lsUfz5bFIIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOTk5Djl5eXu5OTk/uTk5P7k5OT+5eXl/+Tk5P7k5OT+5eXl/+Tk5P7k5OT+5eXl/+Tk + 5P7k5OT+5eXl/+Tk5P7k5OT+5eXl/+Tk5P7k5OT+5eXl/+Tk5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk + 5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uTk + 5P7l5eX/5OTk/uG5aP7grEH+4KxC/+CsQv7grEL+4a1D/+GtQ/7hrUP+4q5E/+KuQ/7irkT+469E/+Ku + RP7jr0T+469F/+OvRf7jr0X+5LBG/+SwRv7ksEb+5bFH/+WxR/7lsUf+5rJI/+WxSP7mskj+5rJIweay + SAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eXlMOXl5evm5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+PQqP/grEL/4a1C/+GtQ//hrUP/4q5D/+Ku + Q//irkT/4q5E/+KuRP/jr0T/469F/+OvRf/ksEX/5LBG/+SwRv/ksEb/5bFG/+WxR//lsUf/5bFH/+Wx + SP/mskj/5rJI/+aySP/ns0n/57NJ/+aySXcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5eUh5eXl5eXl + 5f7m5ub/5eXl/uXl5f7l5eX+5ubm/+Xl5f7l5eX+5ubm/+Xl5f7l5eX+5ubm/+Xl5f7l5eX+5ubm/+Xl + 5f7l5eX+5ubm/+Xl5f7l5eX+5ubm/+Xl5f7m5ub/5eXl/uXl5f7m5ub/5eXl/uXl5f7m5ub/5eXl/uXl + 5f7m5ub/5eXl/uXl5f7m5ub/5eXl/uXl5f7m5ub/5eXl/uXl5f7m5ub/5eXl/uXl5f7m5ub/5eXl/uXj + 3f7hsU/+4a1D/+GtQ/7hrUP+4q5E/+KuQ/7irkT+469E/+KuRP7jr0T+469F/+OvRf7jr0X+5LBG/+Sw + Rv7ksEb+5bFH/+WxR/7lsUf+5rJI/+WxSP7mskj+5rJI/+aySP7mskn+57NJ/+ezSfbns0kvAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOXl5RDl5eXU5ubm/+Xl5f7m5ub/5eXl/uXl5f7l5eX+5ubm/+Xl5f7l5eX+5ubm/+Xl + 5f7l5eX+5ubm/+Xl5f7l5eX+5ubm/+Xl5f7l5eX+5ubm/+Xl5f7l5eX+5ubm/+Xl5f7m5ub/5eXl/uXl + 5f7m5ub/5eXl/uXl5f7m5ub/5eXl/uXl5f7m5ub/5eXl/uXl5f7m5ub/5eXl/uXl5f7m5ub/5eXl/uXl + 5f7m5ub/5eXl/uXl5f7m5ub/5eXl/uXl5f7jxYj+4a1D/+GtQ/7hrUP+4q5E/+KuRP7irkT+469F/+Ov + Rf7jr0X+5LBG/+OvRf7ksEb+5LBG/+SwRv7ksEf+5bFH/+WxR/7lsUf+5rJI/+aySP7mskj+57NJ/+ay + Sf7ns0n+57NK/+ezSf7otErO6LRKBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ubmBObm5rXm5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/l3Mn/4q5E/+Ku + RP/irkT/469E/+OvRf/jr0X/469F/+SwRf/ksEb/5LBG/+SwRv/lsUf/5bFH/+WxR//lsUf/5rJI/+ay + SP/mskj/5rJI/+ezSf/ns0n/57NJ/+ezSv/otEr/6LRK/+i0Sv/otEv/6LRKhgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ubmgeXl + 5f7l5eX+5ubm/+Xl5f7m5ub/5eXl/uXl5f7l5eX+5ubm/+Xl5f7l5eX+5ubm/+Xl5f7l5eX+5ubm/+Xl + 5f7l5eX+5ubm/+Xl5f7l5eX+5ubm/+Xl5f7l5eX+5ubm/+Xl5f7m5ub/5eXl/uXl5f7m5ub/5eXl/uXl + 5f7m5ub/5eXl/uXl5f7m5ub/5eXl/uXl5f7m5ub/5eXl/uXl5f7m5ub/5eXl/uXl5f7m5ub/5eXl/uXl + 5f7m5ub/5eXl/uXl5f7l5eX+47tq/+KuRP7irkT+469F/+OvRf7jr0X+5LBG/+OvRf7ksEb+5LBG/+Sw + Rv7ksEf+5bFH/+WxR/7lsUf+5rJI/+aySP7mskj+57NJ/+aySf7ns0n+57NK/+ezSf7ntEr+6LRK/+i0 + Sv7otEv+6bVL+em1SzsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADm5uY+5ubm++bm5v7m5ub+5ubm/+bm5v7m5ub/5ubm/ubm5v7m5ub+5ubm/+bm + 5v7m5ub+5ubm/+bm5v7m5ub+5ubm/+bm5v7m5ub+5ubm/+bm5v7m5ub+5ubm/+bm5v7m5ub+5ubm/+bm + 5v7m5ub/5ubm/ubm5v7m5ub/5ubm/ubm5v7m5ub/5ubm/ubm5v7m5ub/5ubm/ubm5v7m5ub/5ubm/ubm + 5v7m5ub/5ubm/ubm5v7m5ub/5ubm/ubm5v7m5ub/5ubm/ubm5v7m5ub+5dKr/+KuRP7jr0T+469F/+Ov + Rf7jr0X+5LBG/+SwRv7ksEb+5bFH/+SxR/7lsUf+5rJI/+WxR/7mskj+5rJI/+aySP7mskj+57NJ/+ez + Sf7ns0n+6LRK/+i0Sv7otEr+6bVL/+i0S/7ptUv+6bVM/+m1TNfptUwLAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAObm5g3m5ubb5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5ub/5uPe/+bm5v/n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5uTg/+O0Uv/jr0X/5LBG/+SwRv/ksEb/5LBG/+WxR//lsUf/5bFH/+WxR//mskj/5rJI/+ay + SP/mskn/57NJ/+ezSf/ns0n/57NK/+i0Sv/otEr/6LRK/+i0S//ptUv/6bVL/+m1TP/ptUz/6rZM/+q2 + TP/qtkyWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAObm + 5orm5ub+5+fn/+bm5v7m5ub+5+fn/+bm5v7n5+f/5ubm/ubm5v7m5ub+5+fn/+bm5v7gypv+2qc//+PX + vv7m5ub+5+fn/+bm5v7m5ub+5+fn/+bm5v7m5ub+5+fn/+bm5v7m5ub+5+fn/+bm5v7n5+f/5ubm/ubm + 5v7n5+f/5ubm/ubm5v7n5+f/5ubm/ubm5v7n5+f/5ubm/ubm5v7n5+f/5ubm/ubm5v7n5+f/5ubm/ubm + 5v7n5+f/5ubm/ubm5v7n5+f/5ubm/ubm5v7m5ub+5+fn/+XIjf7jr0X+5LBG/+SwRv7ksEb+5bFH/+Sw + R/7lsUf+5bFI/+WxR/7mskj+5rJI/+aySP7mskj+57NJ/+ezSf7ns0n+6LRK/+i0Sv7otEr+6bVL/+i0 + S/7ptUv+6bVM/+m1TP7ptUz+6rZM/+q2TP7qtk396rZNRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA5+fnJOfn5/fn5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+LRrf/apz3/2qY7/+PWu//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+bd + zP/ksEj/5LBG/+WxR//lsUf/5bFH/+WxR//mskj/5rJI/+aySP/mskj/57NJ/+ezSf/ns0n/57NK/+i0 + Sv/otEr/6LRK/+i0S//ptUv/6bVL/+m1TP/ptUz/6rZM/+q2TP/qtk3/6rZN/+u3Tf/rt03/67dN4Ou3 + TRIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5+fnoObm5v7m5ub+5+fn/+bm + 5v7m5ub+5+fn/+bm5v7n5+f/5ubm/ubm5v7m5ub+49W4/9qoQP7ZpTv+2qhB/+bi2/7m5ub+5+fn/+bm + 5v7m5ub+5+fn/+bm5v7m5ub+5+fn/+bm5v7m5ub+5+fn/+bm5v7n5+f/5ubm/ubm5v7n5+f/5ubm/ubm + 5v7n5+f/5ubm/ubm5v7n5+f/5ubm/ubm5v7n5+f/5ubm/ubm5v7n5+f/5ubm/ubm5v7n5+f/5ubm/ubm + 5v7n5+f/5ubm/ubm5v7m5ub+5+fn/+bm5v7lwHT+5bFH/+SwR/7lsUf+5bFI/+WxR/7mskj+5rJI/+ay + SP7mskj+57NJ/+ezSf7ns0n+6LRK/+i0Sv7otEr+6bVL/+i0S/7ptUv+6bVM/+m1TP7ptUz+6rZM/+q2 + TP7qtk3+67dN/+u3Tf7rt03+7LhO/+u3TqMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADn5+cY5+fn+efn5/7n5+f+5+fn/+fn5/7n5+f+5+fn/+fn5/7n5+f/5+fn/ufn5/7k2MD+2qlE/9qm + O/7apjv+3rlu/+fn5/7n5+f+5+fn/+fn5/7n5+f+5+fn/+fn5/7n5+f+5+fn/+fn5/7n5+f+5+fn/+fn + 5/7n5+f/5+fn/ufn5/7n5+f/5+fn/ufn5/7n5+f/5+fn/ufn5/7n5+f/5+fn/ufn5/7n5+f/5+fn/ufn + 5/7n5+f/5+fn/ufn5/7n5+f/5+fn/ufn5/7n5+f/5+fn/ufn5/7n5+f+5+fn/+fn5/7m2Lr+5bFH/+Wx + R/7lsUf+5rJI/+aySP7mskj+57NJ/+aySf7ns0n+57NK/+ezSf7ns0r+6LRK/+i0Sv7otEv+6bVL/+m1 + S/7ptUv+6rZM/+m1TP7qtkz+6rZN/+q2Tf7qtk3+67dO/+u3Tv7rt07+7LhO/+y4Tv3suE5VAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADn5+du6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+Xbxv/bqkf/2qY7/9qmO//bpzz/49Gr/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o5+f/5rtj/+aySP/mskj/5rJI/+ezSf/ns0n/57NJ/+ezSf/ns0r/6LRK/+i0 + Sv/otEr/6bVL/+m1S//ptUv/6bVM/+q2TP/qtkz/6rZM/+q2Tf/qtk3/67dN/+u3Tf/rt07/7LhO/+y4 + Tv/suE//7LhP/+25T//suE/q7LhPGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADn5+e16Ojo/+fn + 5/7n5+f+6Ojo/+fn5/7n5+f+6Ojo/+fn5/7o6Oj/5NnA/turSP7apjv+2qY8/9qmO/7bqkb+5+Xh/+fn + 5/7n5+f+6Ojo/+fn5/7n5+f+6Ojo/+fn5/7n5+f+6Ojo/+fn5/7n5+f+6Ojo/+fn5/7o6Oj/5+fn/ufn + 5/7o6Oj/5+fn/ufn5/7o6Oj/5+fn/ufn5/7o6Oj/5+fn/ufn5/7o6Oj/5+fn/ufn5/7o6Oj/5+fn/ufn + 5/7o6Oj/5+fn/ufn5/7o6Oj/5+fn/ufn5/7n5+f+6Ojo/+fn5/7n5+f+59Op/+aySP7mskj+57NJ/+ay + Sf7ns0n+57NK/+ezSf7ns0r+6LRK/+i0Sv7otEv+6bVL/+m1S/7ptUv+6rZM/+m1TP7qtkz+6rZN/+q2 + Tf7qtk3+67dO/+u3Tf7rt07+7LhO/+y4Tv7suE/+7blP/+y4T/7tuU/+7blQsu25UAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADn5+fc6Ojo/+fn5/7n5+f+6Ojo/+fn5/7n5+f+6Ojo/+fn5/7k1rj/2qlF/tqm + O/7apjv+26c8/9unPP7gwYH+6Ojo/+fn5/7n5+f+6Ojo/+fn5/7n5+f+6Ojo/+fn5/7n5+f+6Ojo/+fn + 5/7n5+f+6Ojo/+fn5/7o6Oj/5+fn/ufn5/7o6Oj/5+fn/ufn5/7o6Oj/5+fn/ufn5/7o6Oj/5+fn/ufn + 5/7o6Oj/5+fn/ufn5/7o6Oj/5+fn/ufn5/7o6Oj/5+fn/ufn5/7o6Oj/5+fn/ufn5/7n5+f+6Ojo/+fn + 5/7n5+f+5+Xg/+e3Vv7mskj+57NJ/+ezSf7ns0n+6LRK/+i0Sv7otEr+6bVL/+i0S/7otUv+6bVM/+m1 + S/7ptUz+6rZM/+q2TP7qtk3+67dN/+u3Tf7rt03+7LhO/+u3Tv7ruE7+7LhP/+y4T/7suE/+7blQ/+25 + T/7tuVD+7rpQ/u25UGMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo6OjZ6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ofn/+LNo//aqED/2qY8/9unPP/bpzz/26c8/9uoPf/l2cL/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/n3Mf/5tOs/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+fKkP/ns0n/57NK/+i0Sv/otEr/6LRK/+i0 + S//ptUv/6bVL/+m1S//ptUz/6rZM/+q2TP/qtk3/6rZN/+u3Tf/rt03/67dO/+u3Tv/suE7/7LhO/+y4 + T//suE//7blP/+25T//tuVD/7blQ/+66UP/uulH/7rpR/+66Ue/uulEhAAAAAAAAAAAAAAAAAAAAAAAA + AADn5+d+6Ojo/ufn5/7n5+f+6Ojo/+fn5/7n49z+3756/9qmPP7bpzz/2qY8/tunPP7bpzz+3Kg9/96z + XP7n5+b+6Ojo/+fn5/7n5+f+6Ojo/+fn5/7n5+f+6Ojo/+fn5/7n5+f+6Ojo/+fn5/7n5+f+6Ojo/+fn + 5/7o6Oj/5+fn/ufn5/7o6Oj/5+fn/ufn5/7o6Oj/5+fn/ufn5/7o6Oj/5+fn/ufn5/7o6Oj/5+fn/ufn + 5/7o6Oj/5+fn/ufn5/7lwnv/5blg/ufn5v7o6Oj/5+fn/ufn5/7n5+f+6Ojo/+fn5/7n5+f+6Ojo/+ff + zf7ntEv+6LRK/+i0Sv7otEr+6bVL/+i0S/7otEv+6bVM/+m1S/7ptUz+6rZM/+q2TP7qtk3+67dN/+u3 + Tf7rt03+7LhO/+u3Tv7rt07+7LhP/+y4T/7suE/+7blQ/+25T/7tuVD+7rpQ/+66UP7uulH+77tR/+66 + Uf7uu1HA77tRAgAAAAAAAAAAAAAAAAAAAADn5+cB6OjoXOjo59jo6Of85+HW/+LLnP7brE3+2qY8/9qm + O/7bpzz/26c8/tunPP7bpzz+3Kg9/+PMnf7o6Oj+6Ojo/+jo6P7o6Oj+6Ojo/+jo6P7o6Oj+6Ojo/+jo + 6P7o6Oj+6Ojo/+jo6P7o6Oj+6Ojo/+jo6P7o6Oj/6Ojo/ujo6P7o6Oj/6Ojo/ujo6P7o6Oj/6Ojo/ujo + 6P7o6Oj/6Ojo/ujo6P7o6Oj/6Ojo/ujo6P7o6Oj/6Ojo/ujm4/7ltFH/5bFI/ujezP7o6Oj/6Ojo/ujo + 6P7o6Oj+6Ojo/+jo6P7o6Oj+6Ojo/+jo6P7ov2z+6LRK/+i0Sv7otEr+6bVL/+m1S/7ptUv+6rZM/+m1 + TP7qtkz+6rZN/+q2Tf7qtk3+67dO/+u3Tf7rt07+7LhO/+y4Tv7suE/+7blP/+y4T/7tuU/+7blQ/+25 + UP7tuVD+7rpR/+66Uf7uulH+77tS/++7Uv7vu1L+77tSVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXa + xQPeu3Jv2qc+/9qmO//bpzz/26c8/9unPP/bpzz/3Kg9/9yoPf/cqD3/3atE/+fj2v/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+jg + 0P/lsUf/5bFH/+fPn//p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/o0aP/6bVL/+m1 + S//ptUv/6bVM/+m1TP/qtkz/6rZM/+q2Tf/qtk3/67dN/+u3Tf/rt07/7LhO/+y4Tv/suE//7LhP/+y4 + T//tuU//7blQ/+25UP/tuVD/7rpQ/+66Uf/uulH/77tR/++7Uf/vu1L/77tS/++7Uv/wvFP/77tStAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbqkVd2qY8/9qmO/7apjz+26c8/9unPP7cqD3/26c9/tyo + Pf7cqD3+4b54/+jo6P7o6Oj+6enp/+jo6P7o6Oj+6enp/+jo6P7o6Oj+6enp/+fdyv7n38/+6enp/+jo + 6P7o6Oj+6enp/+jo6P7p6en/6Ojo/ujo6P7p6en/6Ojo/ujo6P7p6en/6Ojo/ujo6P7p6en/6Ojo/ujo + 6P7p6en/6Ojo/ujo6P7p6en/6Ojo/ujbwP7mskj/5bFH/ubAc/7p6en/6Ojo/ujo6P7o6Oj+6enp/+jo + 6P7o6Oj+6enp/+jo6P7o4tb+6bVL/+m1S/7ptUv+6rZM/+m1TP7qtkz+6rZN/+q2Tf7qtk3+67dO/+u3 + Tf7rt07+7LhO/+y4Tv7suE/+7blP/+y4T/7tuU/+7blQ/+25UP7tuVD+7rpR/+66Uf7uulH+77tS/++7 + Uv7vu1L+8LxT/++7Uv7wvFP+8LxT3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADapjsm26c8/tqm + PP7bpzz+26c9/9unPf7cqD3/3Kg9/tyoPf7cqD7+5de7/+jo6P7o6Oj+6enp/+jo6P7o6Oj+6enp/+jo + 6P7o6Oj+6Ofk/+G1W/7jxIX+6enp/+jo6P7o6Oj+6enp/+jo6P7p6en/6Ojo/ujo6P7p6en/6Ojo/ujo + 6P7o6Of/6Ojo/ujo6P7p6en/6Ojo/ujo6P7p6en/6Ojo/ujo6P7p6en/6Ojo/ujXtv7mskj/5rJI/ua1 + UP7o5uD/6Ojo/ujo6P7o6Oj+6enp/+jo6P7o6Oj+6enp/+jo6P7o6Oj+6b1l/+m1S/7ptUz+6rZM/+q2 + TP7qtkz+67dN/+q2Tf7rt03+67dO/+u3Tv7rt07+7LhP/+y4T/7suE/+7blQ/+25T/7tuVD+7rpQ/+25 + UP7uulD+7rpR/+66Uf7uulH+77tS/++7Uv7vu1L+8LxT//C8U/7wvFP+8LxT2gAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA26c8udunPP/cqD3/3Kg9/9yoPf/cqD7/3ak+/92pPv/esVX/6Ojn/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/5tSw/+CsQf/ivXL/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/n17f/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+jXtv/mskj/57NJ/+ezSf/o2bv/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6cqL/+q2TP/qtkz/6rZN/+u3Tf/rt03/67dO/+u3Tv/suE7/7LhO/+y4T//suE//7blP/+25 + T//tuVD/7blQ/+66UP/uulD/7rpR/+66Uf/vu1H/77tS/++7Uv/vu1L/8LxS//C8U//wvFP/8LxT//G9 + U//xvVT/8LxTqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA26c8JdunPfHcqD3+3Kg9/9yo + Pf7dqT7/3ak+/t2pPv7jypb+6enp/+jo6P7o6Oj+6enp/+jo6P7o6Oj+6enp/+jo6P7o6Oj+4rxu/+Cs + Qv7iu2n+6enp/+jo6P7o6Oj+6enp/+jo6P7p6en/6Ojo/ujo6P7p6en/6Ojo/ujo6P7lxYT/6Ojo/ujo + 6P7p6en/6Ojo/ujo6P7p6en/6Ojo/ujo6P7p6en/6Ojo/ujYuP7ns0n/5rJJ/uezSf7oyYz/6Ojo/ujo + 6P7o6Oj+6enp/+jo6P7o6Oj+6enp/+jo6P7o6Oj+6dSq/+q2TP7qtkz+67dN/+q2Tf7rt03+67dO/+u3 + Tv7rt07+7LhP/+y4T/7suE/+7blQ/+25T/7tuVD+7rpQ/+25UP7uulD+7rpR/+66Uf7uulH+77tS/++7 + Uv7vu1L+8LxT//C8U/7wvFP+8b1U//C8U/7wvFP+8b1URwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAANyoPWjcqD3+3ak+/9yoPv7dqT7/3ak+/t6rQv7o4tX+6enp/+np6f7p6en+6enp/+np + 6f7p6en+6enp/+np6f7o49f+4K1E/+CsQv7jvG3+6enp/+np6f7p6en+6enp/+np6f7p6en/6enp/unp + 6f7p6en/6enp/uno5P7ktlj/6enp/unp6f7p6en/6enp/unp6f7p6en/6enp/unp6f7p6en/6enp/unc + wf7ns0n/57NJ/uezSf7oulz/6enp/unp6f7p6en+6enp/+np6f7p6en+6enp/+np6f7p6en+6tzA/+q2 + Tf7qtk3+67dO/+u3Tf7rt07+7LhO/+y4Tv7suE7+7blP/+y4T/7suU/+7blQ/+25UP7tuVD+7rpR/+66 + Uf7uulH+77tS/++7Uf7vu1L+8LxS/++7Uv7wvFP+8LxT//C8U/7wvFP+8b1U//C8U/7wvFOhAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANyoPQLcqD613ak+/92pP//eqj//3qo//+G8 + cf/q6en/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/mzqD/4a1C/+GtQ//kvnL/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+nh0v/ksUf/6eXd/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+nfyv/ns0r/6LRK/+i0Sv/otEr/6d7H/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6t/K/+u3Tf/rt07/67dO/+y4Tv/suE7/7LhP/+y4T//tuU//7blQ/+25 + UP/tuVD/7rpQ/+66Uf/uulH/7rpR/++7Uf/vu1L/77tS/++7Uv/wvFP/8LxT//C8U//wvFP/8b1U//G9 + VP/xvVT/8b1U/fG9VJPxvVQGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADcqD4a3ak/7N2pP/7eqj//3qpA/ubVs/7p6en+6urq/+np6f7p6en+6urq/+np6f7p6en+6urq/+np + 6f7iumb+4a1D/+GtQ/7kwXv+6urq/+np6f7p6en+6urq/+np6f7q6ur/6enp/unp6f7q6ur/6enp/ujY + t/7lsUf/6N3F/unp6f7q6ur/6enp/unp6f7q6ur/6enp/unp6f7q6ur/6enp/unj1f7otEr/6LRK/ui0 + Sv7ptUv/6cuN/unp6f7p6en+6urq/+np6f7p6en+6urq/+np6f7p6en+6t/J/+u3Tf7rt07+7LhO/+y4 + Tv7suE7+7blP/+y4T/7suE/+7blQ/+25UP7tuVD+7rpR/+66Uf7uulH+77tS/++7Uf7vu1L+8LxS/++7 + Uv7vu1P+8LxT//C8U/7wvFP+8b1U//C8U/7wvFPj8b1URwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3ak/Wd2pP/7eqkD/37BQ/unn5P7p6en+6urq/+np + 6f7p6en+6urq/+np6f7p6en+6urq/+jh0/7hrkX+4q5D/+GtQ/7lxYT+6urq/+np6f7p6en+6urq/+np + 6f7q6ur/6enp/unp6f7q6ur/6enp/ufOmv7lsUf/6NSt/unp6f7q6ur/6enp/unp6f7q6ur/6enp/unp + 6f7q6ur/6enp/unl3v7otU7/6LRK/ui0S/7ptUv/6blX/unn4f7p6en+6urq/+np6f7p6en+6urq/+np + 6f7p6en+6tq5/+u3Tv7rt07+7LhP/+y4T/7suE/+7blP/+25T/7tuVD+7rpQ/+25UP7uulD+7rpR/+66 + Uf7uulH+77tS/++7Uv7vu1L+8LxT//C8U/7wvFP+8b1U//C8U/7wvFP+8b1U/vC8U6XwvFMUAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3qo/Ad6q + P6jfq0D/48aK/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+bOnP/irkP/4q5E/+Ku + RP/myY7/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+fEf//lsUf/58yT/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+ro5v/pt1P/6bVL/+m1S//ptUz/6bVM/+rT + pf/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/686U/+y4Tv/suE//7blP/+25T//tuVD/7blQ/+25 + UP/uulD/7rpR/+66Uf/vu1H/77tS/++7Uv/vu1L/8LxS//C8U//wvFP/8LxT//C8U//xvVT/8b1U//G9 + VP/xvVTt8b1UWPG9VAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAN6tRxTfq0Lj6N7K/urq6v7q6ur+6urq/+rq6v7q6ur+6urq/+rq + 6v7q6ur+6urp/+O5Y/7hrkP+4q5E/+KuRP7mzJj+6urq/+rq6v7q6ur+6urq/+rq6v7q6ur/6urq/urq + 6v7q6ur/6urq/ua7Y/7mskj/58J4/urq6v7q6ur/6urq/urq6v7q6ur/6urq/urq6v7q6ur/6urq/urq + 6v7pulz/6bVL/um1S/7qtkz/6bVM/uq6W/7q5t7+6urq/+rq6v7q6ur+6urq/+rq6v7q5+D+7Lxb/+y4 + Tv7suE/+7blP/+25T/7tuVD+7rpQ/+25UP7uulD+7rpR/+66Uf7uulH+77tS/++7Uv7vu1L+8LxT//C8 + U/7wvFP+8b1U//C8U/7wvFP+8b1U/vC8U7bwvFMbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADlzJhf6urq/urq + 6v7q6ur+6+vr/+rq6v7q6ur+6+vr/+rq6v7q6ur+6eDN/+KuRP7irkT+469E/+KuRP7n0aP+6+vr/+rq + 6v7q6ur+6+vr/+rq6v7r6+v/6urq/urq6v7r6+v/6ujj/ua0Tv7mskj/57la/urq6v7r6+v/6urq/urq + 6v7r6+v/6urq/urq6v7r6+v/6urq/urq6v7pv2j/6bVL/um1TP7qtkz/6rZM/uq2Tf7qyIP+6+rp/+rq + 6v7q6ur+6+vr/+vp5/7syIH+7LhP/+y4T/7suE/+7blQ/+25UP7tuVD+7rpR/+66Uf7uulH+77tR/+66 + Uf7vu1L+77tS/++7Uv7vu1L+8LxT//C8U/7wvFP+8b1U//C8U/7wvFPz8b1UaPC8UwIAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADq5+OI6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/5sqQ/+Ku + RP/jr0X/469F/+OvRf/o1a7/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6uDN/+ay + SP/ns0n/57NL/+rk2P/r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//qw3L/6rZM/+q2 + TP/qtk3/67dN/+u3Tf/rt07/68uJ/+vn3//r6+v/6+LP/+zGd//tuU//7blP/+25UP/tuVD/7rpQ/+66 + UP/uulH/7rpR/++7Uf/vu1L/77tS/++7Uv/wvFL/8LxT//C8U//wvFP/8b1U//G9VP/xvVT/8b1U//G9 + VMXxvVQnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOrq6gPq6urd6urq/urq6v7q6ur+6+vr/+rq + 6v7q6ur+6+vr/+rq6v7q6ef+47RT/+KuRP7jr0X+469F/+OvRf7o2Lf+6+vr/+rq6v7q6ur+6+vr/+rq + 6v7r6+v/6urq/urq6v7r6+v/6daw/uaySP7ns0n/57NJ/unZtv7r6+v/6urq/urq6v7r6+v/6urq/urq + 6v7r6+v/6urq/urq6v7qxXv/6rZM/uq2TP7rt03/6rZN/uu3Tf7rt07+7LhO/+u4Uf7svFr+7LhP/+y4 + T/7suE/+7blQ/+25UP7tuVD+7rpR/+66UP7uulH+77tR/+66Uf7vu1L+77tS/++7Uv7vu1L+8LxT//C8 + U/7wvFP+8b1U//C8U/7wvFP38b1UevC8UwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOrq + 6jXr6+v+6urq/urq6v7q6ur+6+vr/+rq6v7q6ur+6+vr/+rq6v7o1rH+469F/+OvRf7jr0X+5LBG/+Ov + Rv7p28D+6+vr/+rq6v7q6ur+6+vr/+rq6v7r6+v/6urq/urq6v7r6+v/6M2U/uezSf7ns0n/57NJ/unL + jv7r6+v/6urq/urq6v7r6+v/6urq/urq6v7r6+v/6urq/urq6v7qyIL/6rZN/uq2Tf7rt07/67dN/uu3 + Tv7rt07+7LhP/+y4Tv7suE/+7blP/+25T/7tuVD+7rpQ/+25UP7uulD+7rpR/+66Uf7uulH+77tS/++7 + Uv7vu1L+8LxT//C8U/7wvFP+8b1U//C8U/7wvFP+8b1U//C8U9HwvFMzAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOrq6n7r6+v/6urq/urq6v7q6ur+6+vr/+rq6v7q6ur+6+vr/+rq + 6v7kvGn+469F/+OvRf7jr0X+5LBG/+SwRv7p3sf+6+vr/+rq6v7q6ur+6+vr/+rq6v7r6+v/6urq/urq + 6v7r6+v/6MN4/uezSf7otEr/57NK/ui8Y/7r6un/6urq/urq6v7r6+v/6urq/urq6v7r6+v/6urq/urq + 6v7ryIL/6rZN/uu3Tf7rt07/67dO/uu3Tv7suE7+7LhP/+y4T/7suE/+7blQ/+25UP7tuVD+7rpR/+66 + UP7uulH+77tR/+66Uf7vu1L+77tS/++7Uv7vu1L+8LxT//C8U/7wvFP+8b1U//C8U/7wvFP88b1Ui/C8 + UwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOvr66Ds7Oz/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+ncv//ksEb/5LBG/+SwRv/ksEb/5bFG/+WxR//q4c7/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/6Lpc/+i0Sv/otEr/6LRK/+m1S//r4s//7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/rxnv/67dO/+y4Tv/suE7/7LhP/+y4T//tuU//7blP/+25 + UP/tuVD/7rpQ/+66UP/uulH/7rpR/++7Uf/vu1L/77tS/++7Uv/wvFL/8LxT//C8U//wvFP/8b1U//G9 + VP/xvVT/8b1U//G9VNzxvVRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOvr637s7Oz/6+vr/uvr6/7r6+v+7Ozs/+vr6/7r6+v+6+vp/+W8af7jr0X+5LBG/+Sw + Rv7ksEb+5bFH/+WxR/7q4tL+7Ozs/+vr6/7r6+v+7Ozs/+vr6/7s7Oz/6+vr/uvr6/7r6OH/57RK/ui0 + Sv7otEv/6LRL/ui0S/7qzpf/6+vr/uvr6/7s7Oz/6+vr/uvr6/7s7Oz/6+vr/uvr6/7rwm7/67dO/uu3 + Tv7suE//7LhP/uy4T/7suE/+7blQ/+25UP7tuVD+7rpR/+66UP7uulH+77tR/+66Uf7vu1L+77tS/++7 + Uv7vu1L+8LxT//C8U/7wvFP+8b1U//C8U/7wvFP98b1UnPC8UxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOvr6zfs7Oz96+vr/uvr6/7r6+v+7Ozs/+vr + 6/7r6+v+6NOp/+OwRv7ksEb+5LBG/+SwRv7ksEf+5bFH/+WxR/7r4tL+7Ozs/+vr6/7r6+v+7Ozs/+vr + 6/7s7Oz/6+vr/uvr6/7r38b/6LRK/ui0Sv7ptUv/6LRL/um1S/7qulr/6+rm/uvr6/7s7Oz/6+vr/uvr + 6/7s7Oz/6+vr/uvq6P7su1n/67dO/uy4Tv7tuE//7LhP/uy5T/7tuU/+7blQ/+25UP7uulD+7rpR/+66 + Uf7uulH+77tS/++7Uv7vu1L+8LxT/++8U/7wvFP+8b1T//C8U/7wvFP+8b1U//C8U+jwvFNQAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOzs + 7AHs7OzC7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/q4c785LJN/+SwRv/lsUf/5bFH/+WxR//lsUf/5rJI/+ay + SP/r4tH/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/q1ar/6bVL/+m1S//ptUz/6bVM/+q2 + TP/qtkz/69Oj/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+zgyf/suE//7LhP/+25T//tuVD/7blQ/+25 + UP/uulD/7rpR/+66Uf/uulH/77tR/++7Uv/vu1L/77tS//C8U//wvFP/8LxT//C8U//xvVT/8b1U//G9 + VP/xvVT+8b1UrfG9VBUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs7Owm6+vr6evr6/7r6+v+7Ozs/+vq58PnzplA5LBG9OSw + Rv7ksEf+5bFH/+WxR/7lsUf+5rJI/+aySP7q38n+7Ozs/+vr6/7r6+v+7Ozs/+vr6/7s7Oz/6+vr/uvr + 6/7qzJD/6LRL/um1S/7ptUz/6bVM/um1TP7qtk3/6rlV/uvj0f7s7Oz/6+vr/uvr6/7s7Oz/6+vr/uzK + g/7suE//7LhP/uy4T/7tuVD/7blQ/u25UP7uulD+7rpR/+66Uf7uulH+77tS/++7Uv7vu1L+8LxT/++7 + U/7wvFP+8LxT//C8U/7wvFP+8b1U//C8U+7wvFNg8b1UAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6+vrHevr + 64Pr6+uX7OzsU+rm3QQAAAAA5bNObOSxR/7lsUf+5rJI/+WxR/7mskj+5rJI/+aySP7q273+7Ozs/+zs + 7P7s7Oz+7Ozs/+zs7P7s7Oz/7Ozs/uzs7P7pw3b/6bVL/um1TP7qtkz/6rZM/uq2TP7rt03/6rZN/uu9 + Yv7s4s3/7Ozs/uzs7P7s6+n/7NGb/uy5UP7tuU//7blP/u25UP7uulD/7blQ/u66UP7uulH+77tR/+66 + Uf7vu1L+77tS/++7Uv7vu1L+8LxT//C8U/7wvFP+8b1U//C8U/7wvFP+8b1UvvC8UyAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5bFHAuWxR7jmskj/5rJI/+ay + SP/mskn/57NJ/+ezSf/q1Kf/7e3t/+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3s7P/qvF3/6rZM/+q2 + TP/qtk3/6rZN/+u3Tf/rt03/67dO/+u3Tv/suE//7MRy/+zHfP/tvV3/7blP/+25UP/tuVD/7blQ/+66 + UP/uulH/7rpR/+66Uf/vu1H/77tS/++7Uv/vu1L/8LxT//C8U//wvFP/8b1T//G9VP/xvVT/8b1U//G9 + VPTxvVRy8b1UAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOWxRx/mskjt5rJI/+aySP7mskj+57NJ/+ezSf7px4L+7e3t/+zs7P7s7Oz+7e3t/+zs + 7P7t7e3/7Ozs/uzn3v7qt1D/6rZM/uq2TP7rt03/6rZN/uu3Tf7rt07/67dO/uu3Tv7suE//7LhO/uy4 + T/7tuU//7blP/u25UP7uulD/7blQ/u66UP7uulH/7rpR/u66Uf7vu1L+77tS/++7Uv7vu1L+8LxT//C8 + U/7wvFP+8b1U//C8U/7wvFP+8b1UyvC8UywAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADmskhd57NJ/+aySf7ns0n+57NK/+ez + Sf7otlD+7Oba/+zs7P7s7Oz+7e3t/+zs7P7t7e3/7Ozr/uvKif7qtk3/6rZM/uq2Tf7rt03/67dN/uu3 + Tv7suE7/67dO/uy4Tv7suE//7LhP/uy4T/7tuVD/7blQ/u25UP7uulH/7rpQ/u66Uf7vu1H/7rpR/u+7 + Uv7vu1L+8LxT/++7Uv7wvFP+8LxT//C8U/7wvFP+8b1U//C8U/rwvFOD8b1UBgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA57NJq+ezSf/otEr/6LRK/+i0Sv/otEr/6b9p/+zm2f/t7e3/7e3t/+3s7P/s5tj/68d+/+q2 + Tf/rt03/67dN/+u3Tv/rt07/7LhO/+y4Tv/suE//7LhP/+25T//tuU//7blQ/+25UP/uulD/7rpR/+66 + Uf/uulH/77tR/++7Uv/vu1L/77tS//C8Uv/wvFP/8LxT//C8U//xvVT/8b1U//G9VP/xvVT/8b1U1/G9 + VDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA57NJF+ezSeXns0r+6LRK/+i0Sv7otEv+6bVL/+m4 + U/7qx3/+68yM/+rEdv7qt1H/6rZM/uq2Tf7rt03/67dN/uu3Tv7suE7/67dO/uy4Tv7suE//7LhP/uy4 + T/7tuVD/7blQ/u25UP7uulH/7rpQ/u66Uf7vu1H/7rpR/u+7Uv7vu1L/77tS/u+7Uv7wvFP+8LxT//C8 + U/7wvFP+8b1U//C8U/zwvFOU8b1UCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOez + SlDotEr96bVL/+i0S/7ptUv+6bVM/+m1S/7ptUz+6rZM/+q2TP7qtk3/6rZN/uu3Tf7rt07/67dO/uu3 + Tv7suE//7LhO/uy4T/7tuU//7LhP/u25T/7uuVD/7blQ/u66UP7uulH/7rpR/u66Uf7vu1L/77tS/u+7 + Uv7wvFP/8LxT/vC8U/7wvFP+8b1U//C8U/7wvFP+8b1U4/C8U0cAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADotEuc6bVL/+m1S//ptUz/6rZM/+q2TP/qtk3/6rZN/+u3 + Tf/rt03/67dO/+u3Tv/suE7/7LhO/+y4T//suE//7blP/+25UP/tuVD/7blQ/+66UP/uulH/7rpR/+66 + Uf/vu1H/77tS/++7Uv/vu1L/8LxT//C8U//wvFP/8LxT//G9VP/xvVT/8b1U//G9VP3xvVSl8b1UEAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADotEsO6bVL3+m1 + S/7ptUz+6rZM/+q2TP7qtk3+67dN/+u3Tf7rt07/67dO/uu3Tv7suE//7LhO/uy4T/7tuU//7LhP/u25 + T/7tuVD/7blQ/u66UP7uulH/7rpR/u66Uf7vu1L/77tS/u+7Uv7wvFP/8LxT/vC8U/7wvFP/8LxT/vC8 + U/7wvFP+8b1U6vC8U1cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAFZHgGRSQ3wkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA6bVMQum1TPvqtkz+6rZN/+q2Tf7qtk3+67dO/+u3Tf7suE7/67dO/uy4 + Tv7suE//7LhP/uy4T/7tuVD/7blQ/u25UP7uulH/7rpQ/u66Uf7vu1H/7rpR/u+7Uv7vu1L/77tS/u+7 + Uv7wvFP/8LxT/vC8U/7xvVT/8LxT/vC8U/7wvFO28b1UGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + UP7uulH/7rpR/u66Uf7vu1L/77tS/u+7Uv7wvFP/77tS/vC8U/7wvFP/8LxT/vC8U/7xvVT/8LxT+vC8 + U4rxvVQJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACSg72kkofDsJaHw/SSh8P4lofD+JaLx/yWi + 8f4lovH+JqLx/yWi8f4movH+JqPy/yaj8v4mo/L+J6Tz/yej8v4no/KCAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABeT4lEXk+L8GJTj/xiU4/4YlOPkGJTjIQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOy4 + TyrtuU/07blQ/+25UP7uulD/7rpQ/u66Uf7vu1H/7rpR/u+7Uf7vu1L/77tS/u+7Uv7wvFP/8LxT/vC8 + U/7xvVT/8LxT/vC8U/7xvVTd8LxTPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACSh + 8G8kofD+JaLx/yWh8P4lovH+JqLx/yWi8f4lovH+JqPy/yaj8v4mo/L+J6Tz/yej8v4no/L+J6Tz/yek + 8/4npPM4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAYlON5GJXk/hmV5P8ZleT/GZXk3RmV5CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADtuVBv7rpQ/+66Uf/uulH/7rpR/++7Uf/vu1L/77tS/++7 + Uv/wvFP/8LxT//C8U//wvFP/8b1U//G9VP/xvVT/8b1U/PG9VJzxvVQNAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI5/uCyOg708joO+YJKDv2ySh8PslofD/JaHw/yWi + 8f8lovH/JaLx/yai8f8movL/JqPy/yaj8v8mo/L/JqPy/yej8v8npPP/J6Tz/yek8/8opPP/KKTz/yil + 9P8opfT/KKX0/yil9P8ppvX/Kab1/ymm9f8ppvX+Kab16ymm9bIppvVvKab1JwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAJKDvASSh8B8kofBVJaHwiSWi8bklovHgJaLx+Sai8f4mo/L/JqPy/iaj8v4npPP/J6Py/iej + 8v4npPP/J6Tz/iek8/4opfT/KKX0/iil9P4opfT/KKX0+iil9OQppfS+Kab1kimm9WEppvUtKab1BQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlovECJaLxDyai + 8Skmo/JFJqPyXCaj8m4no/J7J6Tzhiek84cnpPOHJ6Tzhiik83sopfRtKKX0XCil9EUopfQrKKX0ECil + 9AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////A///////////// + /8Af///////+AAAAf4AP///////8AAAAPwAH///////8AAAAPAAD///////8AAAAOAAD///////8AAAA + IAAB///////4AAAAAAAA///////4AAAAAAAA///////4AAAAAAAAf//////wAAAAAAAAP//////wAAAA + AAAAP//////gAAAAAAAAH//////AAAAAAAAAD//////AAAAAAAAAD/////+AAAAAAAAAB/////8AAAAA + AAAAA/////8AAAAAAAAAA/////4AAAAAAAAAAf////wAAAAAAAAAAP////gAAAAAAAAAAH////AAAAAA + AAAAAH///+AAAAAAAAAAAD///8AAAAAAAAAAAB///4AAAAAAAAAAAB///wAAAAAAAAAAAA///gAAAAAA + AAAAAAf//AAAAAAAAAAAAAf//AAAAAAAAAAAAAP/+AAAAAAAAAAAAAH/8AAAAAAAAAAAAAH/8AAAAAAA + AAAAAAD/4AAAAAAAAAAAAAB/4AAAAAAAAAAAAAB/wAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAfwAAAAAAA + AAAAAAAPwAAAAAAAAAAAAAAPwAAAAAAAAAAAAAAHwAAAAAAAAAAAAAADwAAAAAAAAAAAAAAD8AAAAAAA + AAAAAAAD+AAAAAAAAAAAAAAD+AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAD/gAAAAAA + AAAAAAAH/gAAAAAAAAAAAAAH/wAAAAAAAAAAAAAf/4AAAAAAAAAAAAA//4AAAAAAAAAAAAB//8AAAAAA + AAAAAAH//+AAAAAAAAAAAAP//+AAAAAAAAAAAA///8AAAAAAAAAAAB///8AAAAAAAAAAAH///8AAAAAA + AAAAAP///8AAAAAAAAAAA////8AAAAAAAAAAB////8AAAAAAAAAAH////8AAAAAAAAAAP////+AAAAAA + AAAAf/////BAAAAAAAAB///////AAAAAAAAD///////gAAAAAAAP///////wAAAAAAAf///////4AAAA + AAB////////4AAAAAAD////////8AAAAAAP////////+AAAAAAf////////+AAAAAB///////P//AAAA + AD//////+H//gAAAAH//////+D//gAAAAf//////+D//wAAAA////+A/+B//4AAAD///wAA//A//4AAA + H///gAA//gf/8AAAf///gAA//wP/+AAA////gAA//wH/+AAD////wAB//4D//AAH////4AB//8B//gAf + ////8AB//+Af/gA/////+AD///AP/wB/////8AD///wD/8H/////wAD///4B////////AAH///8Af/// + ///8AAH////AH//////wA4H////gA/////+AD8H////4AP////wAH+P////+AA///8AA//P/////gAAf + 8AAD////////4AAAAAAP/////////AAAAAD//////////4AAAAf///////////wAAP//////KAAAAEgA + AACQAAAAAQAgAAAAAABgVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANmlOknZpTqV2aU6otmlOnLapjsTAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4uLiBOHh4UTh4eFG4eHhRuHh4T7h4eE84eHhNOHh + 4TLh4eEr4uLiJ+Hh4SLh4eEb4eHhF+Hh4RDh4eEK4eHhB+Hh4QXh4eEE4uLiAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADYpDkY2aU6sdmlOv/ZpTr+2qY7/tqmO/7apjvo2qY8NAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA4uLinOHh4f7h4eH+4eHh/uHh4f7h4eH+4eHh/uHh4f7h4eH+4uLi/+Hh + 4f7h4eH+4eHh/uHh4f7h4eH+4eHh/OHh4ffh4eHx4uLi6OHh4X0AAAAAAAAAAAAAAAAAAAAAAAAAANik + OVLZpTrp2aU6/tqmO//apjv+2qY7/tqmPP7bpzz+26c84dunPBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADh4eEC4uLi7eHh4f7h4eH+4eHh/uHh4f7h4eH+4eHh/uHh4f7h4eH+4uLi/+Hh4f7h4eH+4eHh/uHh + 4f7h4eH+4eHh/uHh4f7h4eH+4uLi/+Hh4fnh4eEJAAAAAAAAAADYpDkQ2KQ6oNmlOv7ZpTr+2qY7/tqm + O//apjv+2qc8/tunPP7bpzz+3Kg9/tyoPaIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eEu4uLi/uHh + 4f7h4eH+4eHh/uHh4f7h4eH+4eHh/uHh4f7h4eH+4uLi/+Hh4f7h4eH+4eHh/uHh4f7h4eH+4eHh/uHh + 4f7h4eH+4uLi/+Hh4f7h3tgsAAAAANikOUPZpTrf2aU6/tmlOv7apjv+2qY7/tunPP/bpzz+26c8/tun + Pf7cqD3+3Kg9/tyoPv7cqD5TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADi4uJ54uLi/+Li4v7i4uL+4uLi/uLi + 4v7i4uL+4uLi/uLi4v7i4uL+4uLi/+Li4v7i4uL+4uLi/uLi4v7i4uL+4uLi/uLi4v7i4uL+4uLi/+Li + 4v7g07po2apIj9mlOvzZpTr+2aU7/tqmO/7apjv+2qY8/tunPP/bpzz+3Kg9/tyoPf7cqD7+3ak+/t2p + Pv7dqT/p3ak/GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADi4uLQ4+Pj/+Li4v7i4uL+4uLi/uLi4v7i4uL+4uLi/uLi + 4v7i4uL+4+Pj/+Li4v7i4uL+4uLi/uLi4v7i4uL+4uLi/uLi4v7i4uL+4+Pj/+Li4v7fy6L72aU6/tml + Ov7apjv+2qY7/tqmO/7bpzz+26c8/tyoPf/cqD3+3Kg9/tyoPv7dqT7+3ak+/t2pP/7eqj/+3qo/sQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOLi4jji4uL+4+Pj/+Li4v7i4uL+4uLi/uLi4v7i4uL+4uLi/uLi4v7i4uL+4+Pj/+Li + 4v7i4uL+4uLi/uLi4v7i4uL+4uLi/uLi4v7i4uL+4+Pj/+Li4v7h287+2qY7/tqmO/7apjv+2qY8/tun + PP7bpzz+26c9/tyoPf/cqD7+3Kg+/t2pPv7dqT/+3ak//t6qP/7eqkD+3qpA/t+rQGEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj + 46vj4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4uL/3LFZ/9unPP/bpzz/26c8/9yoPf/cqD3/3Kg9/92p + Pv/dqT7/3ak//96qP//eqj//3qpA/9+rQP/fq0D/36tB/+CsQfDfq0EfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjMuPj4/zj4+P+4+Pj/+Pj + 4/7j4+P+4+Pj/uPj4/7j4+P+4+Pj/uPj4/7j4+P+4+Pj/+Pj4/7j4+P+4+Pj/uPj4/7j4+P+4+Pj/uPj + 4/7j4+P+4+Pj/+Pj4/7j4+P+38SN/tunPP7bpzz+26c9/tyoPf7cqD7+3Kg+/t2pPv/dqT/+3ak//t6q + P/7eqkD+3qpA/t+rQP7fq0H+36tB/uCsQv/grEK+4KxCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+MC4+PjwOPj4/7j4+P+5OTk/+Pj4/7j4+P+4+Pj/uPj + 4/7j4+P+4+Pj/uPj4/7j4+P+5OTk/+Pj4/7j4+P+4+Pj/uPj4/7j4+P+4+Pj/uPj4/7j4+P+5OTk/+Pj + 4/7j4+P+4tjD/tuoPf7cqD3+3Kg9/tyoPv7dqT7+3ak+/t6qP//eqj/+3qo//t6qQP7fq0D+36tB/t+r + Qf7grEH+4KxC/uGtQv/hrUL+4a1DcQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADj4+Nl4+Pj/uPj4/7j4+P+5OTk/+Pj4/7j4+P+4+Pj/uPj4/7j4+P+4+Pj/uPj + 4/7j4+P+5OTk/+Pj4/7j4+P+4+Pj/uPj4/7j4+P+4+Pj/uPj4/7j4+P+5OTk/+Pj4/7j4+P+4+Pi/t2x + V/7cqD3+3Kg+/t2pPv7dqT/+3ak//t6qP//eqkD+3qpA/t+rQP7fq0H+36tB/uCsQf7grEL+4KxC/uGt + Q//hrUP+4a1D9eKuQyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj + 4yfj4+Px4+Pj/uPj4/7j4+P+5OTk/+Pj4/7j4+P+4+Pj/uPj4/7j4+P+4+Pj/uPj4/7j4+P+5OTk/+Pj + 4/7j4+P+4+Pj/uPj4/7j4+P+4+Pj/uPj4/7j4+P+5OTk/+Pj4/7j4+P+4+Pj/uDGkP7dqT7+3ak+/t2p + P/7eqj/+3qo//t+qQP/fq0D+36tA/t+rQf7grEH+4KxC/uCsQv7hrUL+4a1D/uKuQ//irkP+4q5E/uKu + RMrirkQFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5OTkDeTk5NHk5OT+5OTk/uTk + 5P7k5OT+5OTk/+Tk5P7k5OT+5OTk/uTk5P7k5OT+5OTk/uTk5P7k5OT+5OTk/+Tk5P7k5OT+5OTk/uTk + 5P7k5OT+5OTk/uTk5P7k5OT+5OTk/+Tk5P7k5OT+5OTk/uPby/7dqkD+3ak//t6qP/7eqkD+3qpA/t+r + QP/fq0H+36tB/uCsQf7grEL+4KxC/uGtQ/7hrUP+4a1D/uKuRP/irkT+469E/uOvRf7jr0WAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk5OQG5OTkteTk5P7k5OT+5OTk/uTk5P7k5OT+5eXl/+Tk + 5P7k5OT+5OTk/uTk5P7k5OT+5OTk/uTk5P7k5OT+5eXl/+Tk5P7k5OT+5OTk/uTk5P7k5OT+5OTk/uTk + 5P7k5OT+5eXl/+Tk5P7k5OT+5OTk/uTk5P7ft2X+3qo//t6qQP7fq0D+36tA/uCsQf/grEH+4KxC/uCs + Qv7hrUL+4a1D/uGtQ/7irkP+4q5E/uOvRP/jr0T+469F/uOvRf7ksEb55LBGNgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOTk5ATk5OSo5OTk/uTk5P7k5OT+5OTk/uTk5P7k5OT+5eXl/+Tk5P7k5OT+5OTk/uTk + 5P7k5OT+5OTk/uTk5P7k5OT+5eXl/+Tk5P7k5OT+5OTk/uTk5P7k5OT+5OTk/uTk5P7k5OT+5eXl/+Tk + 5P7k5OT+5OTk/uTk5P7izaP+3qpA/t+rQP7fq0H+36tB/uCsQv/grEL+4KxC/uGtQv7hrUP+4a1D/uKu + RP7irkT+4q5E/uOvRf/jr0X+469F/uSwRv7ksEb+5LBG1eSwRgkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eXlCOTk + 5K7k5OT+5OTk/uTk5P7k5OT+5OTk/uTk5P7k5OT+5eXl/+Tk5P7k5OT+5OTk/uTk5P7k5OT+5OTk/uTk + 5P7k5OT+5eXl/+Tk5P7k5OT+5OTk/uTk5P7k5OT+5OTk/uTk5P7k5OT+5eXl/+Tk5P7k5OT+5OTk/uTk + 5P7k4dr+365I/t+rQf7fq0H+4KxC/uCsQv/hrUL+4a1D/uGtQ/7irkP+4q5E/uKuRP7jr0T+469F/uSw + Rf/ksEb+5LBG/uSwRv7lsUf+5bFH/uWxR48AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5eUH5eXltuXl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/4cF+/+Cs + Qf/grEL/4a1C/+GtQ//hrUP/4q5D/+KuRP/irkT/469E/+OvRf/jr0X/5LBG/+SwRv/ksEb/5bFH/+Wx + R//lsUf/5rJI/+aySPzmskhBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXl5QTl5eWt5ubm/+Xl5f7l5eX+5eXl/uXl5f7l5eX+5eXl/uXl + 5f7l5eX+5ubm/+Xl5f7l5eX+5eXl/uXl5f7l5eX+5eXl/uXl5f7l5eX+5ubm/+Xl5f7l5eX+5eXl/uXl + 5f7l5eX+5eXl/uXl5f7l5eX+5ubm/+Xl5f7l5eX+5eXl/uXl5f7l5eX+5Ni//uCtQv7hrUL+4a1D/uKu + Q//irkP+4q5E/uKuRP7jr0T+469F/uOvRf7ksEb+5LBG/uWxRv/lsUf+5bFH/uWxR/7mskj+5rJI/uay + SP7ns0nf57NJDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOXl5Zjl5eX+5ubm/+Xl5f7l5eX+5eXl/uXl5f7l5eX+5eXl/uXl5f7l5eX+5ubm/+Xl + 5f7l5eX+5eXl/uXl5f7l5eX+5eXl/uXl5f7l5eX+5ubm/+Xl5f7l5eX+5eXl/uXl5f7l5eX+5eXl/uXl + 5f7l5eX+5ubm/+Xl5f7l5eX+5eXl/uXl5f7l5eX+5eXl/uK3X/7hrUP+4a1D/uKuRP/irkT+4q5E/uOv + Rf7jr0X+469F/uSwRv7ksEb+5LBG/uWxR//lsUf+5bFI/uaySP7mskj+5rJJ/uezSf7ns0n+57NJngAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eXlceXl + 5f7l5eX+5ubm/+Xl5f7l5eX+5eXl/uXl5f7l5eX+5eXl/uXl5f7l5eX+5ubm/+Xl5f7l5eX+5eXl/uXl + 5f7l5eX+5eXl/uXl5f7l5eX+5ubm/+Xl5f7l5eX+5eXl/uXl5f7l5eX+5eXl/uXl5f7l5eX+5ubm/+Xl + 5f7l5eX+5eXl/uXl5f7l5eX+5eXl/uTNoP7irkP+4q5E/uKuRP/jr0T+469F/uOvRf7ksEb+5LBG/uSw + Rv7lsUf+5bFH/uWxSP/mskj+5rJI/uaySP7ns0n+57NJ/uezSf7otEr+6LRK/ui0Sk8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5eU95eXl+eXl5f7l5eX+5ubm/+Xl + 5f7l5eX+5eXl/uXl5f7l5eX+5eXl/uXl5f7l5eX+5ubm/+Xl5f7l5eX+5eXl/uXl5f7l5eX+5eXl/uXl + 5f7l5eX+5ubm/+Xl5f7l5eX+5eXl/uXl5f7l5eX+5eXl/uXl5f7l5eX+5ubm/+Xl5f7l5eX+5eXl/uXl + 5f7l5eX+5eXl/uXi2v7isUv+4q5E/uOvRf/jr0X+469F/uSwRv7ksEb+5LBG/uWxR/7lsUf+5bFH/uay + SP/mskj+5rJJ/uezSf7ns0n+57NK/ui0Sv7otEr+6LRL/um1S+fptUsVAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAObm5g/m5ube5ubm/ubm5v7m5ub+5ubm/+bm5v7m5ub+5ubm/ubm + 5v7m5ub+5ubm/ubm5v7m5ub+5ubm/+bm5v7m5ub+5ubm/ubm5v7m5ub+5ubm/ubm5v7m5ub+5ubm/+bm + 5v7m5ub+5ubm/ubm5v7m5ub+5ubm/ubm5v7m5ub+5ubm/+bm5v7m5ub+5ubm/ubm5v7m5ub+5ubm/ubm + 5v7kxIL+469F/uOvRf/jsEb+5LBG/uSwRv7ksEf+5bFH/uWxR/7mskj+5rJI/uaySf/ms0n+57NJ/uez + Sf7otEr+6LRK/ui0S/7ptUv+6bVL/uq2TP/ptUysAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAObm5pPm5ub+5ubm/ubm5v7m5ub+5+fn/+bm5v7m5ub+5ubm/ubl4/7evn3+4tGu/ubm + 5v7m5ub+5+fn/+bm5v7m5ub+5ubm/ubm5v7m5ub+5ubm/ubm5v7m5ub+5+fn/+bm5v7m5ub+5ubm/ubm + 5v7m5ub+5ubm/ubm5v7m5ub+5+fn/+bm5v7m5ub+5ubm/ubm5v7m5ub+5ubm/ubm5v7m2sP+5LBG/uSw + Rv/ksEb+5LBG/uWxR/7lsUf+5bFH/uaySP7mskj+5rJI/uezSf/ns0n+57NK/ui0Sv7otEr+6LRL/um1 + S/7ptUv+6bVM/uq2TP/qtk3+6rZNXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ubmK+bm + 5vrm5ub+5ubm/ubm5v7m5ub+5+fn/+bm5v7m5ub+5ubm/t/Af/7ZpTr+4cuf/ubm5v7m5ub+5+fn/+bm + 5v7m5ub+5ubm/ubm5v7m5ub+5ubm/ubm5v7m5ub+5+fn/+bm5v7m5ub+5ubm/ubm5v7m5ub+5ubm/ubm + 5v7m5ub+5+fn/+bm5v7m5ub+5ubm/ubm5v7m5ub+5ubm/ubm5v7m5ub+5Lpk/uSwRv/ksEf+5bFH/uWx + R/7mskj+5rJI/uaySP7mskn+57NJ/uezSv/otEr+6LRK/ui0S/7ptUv+6bVL/um1TP7ptUz+6rZM/uq2 + Tf/rt03+67dN7uu3TR4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ubmo+bm5v7m5ub+5ubm/ubm + 5v7m5ub+5+fn/+bm5v7m5ub+4MWN/tqmO/7apjz+5dzL/ubm5v7m5ub+5+fn/+bm5v7m5ub+5ubm/ubm + 5v7m5ub+5ubm/ubm5v7m5ub+5+fn/+bm5v7m5ub+5ubm/ubm5v7m5ub+5ubm/ubm5v7m5ub+5+fn/+bm + 5v7m5ub+5ubm/ubm5v7m5ub+5ubm/ubm5v7m5ub+5tKr/uWxR//lsUf+5bFH/uaySP7mskj+5rJI/uez + Sf7ns0n+57NK/ui0Sv/otEr+6LRL/um1S/7ptUv+6bVM/uq2TP7qtkz+6rZN/uu3Tf/rt07+67dO/uy4 + TrrsuE4CAAAAAAAAAAAAAAAAAAAAAAAAAADn5+cQ5+fn9ufn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//hyJX/2qY7/9qmO//ds13/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+bj/+a3V//mskj/5rJI/+aySP/ns0n/57NJ/+ezSv/otEr/6LRK/+m1 + S//ptUv/6bVL/+m1TP/qtkz/6rZM/+q2Tf/rt03/67dO/+y4Tv/suE7/7LhP/+y4T/7suE9sAAAAAAAA + AAAAAAAAAAAAAAAAAADn5+dO5+fn/ufn5/7n5+f+5+fn/ufn5/7n5+f+6Ofn/+HHk/7apjv+2qY7/tqm + PP7iy53+5+fn/ufn5/7n5+f+6Ojo/+fn5/7n5+f+5+fn/ufn5/7n5+f+5+fn/ufn5/7n5+f+6Ojo/+fn + 5/7n5+f+5+fn/ufn5/7n5+f+5+fn/ufn5/7n5+f+6Ojo/+fn5/7n5+f+5+fn/ufn5/7n5+f+5+fn/ufn + 5/7n5+f+5+fn/ufNmf/mskj+5rJI/uezSf7ns0n+57NK/ui0Sv7otEr+6LRL/um1S//ptUv+6bVM/uq2 + TP7qtk3+6rZN/uu3Tf7rt07+67dO/uy4Tv/suE/+7LhP/u25T/7tuVD07blQJwAAAAAAAAAAAAAAAAAA + AADn5+do5+fn/ufn5/7n5+f+5+fn/ufn5/7n5uX+4MKE/9qmO/7apjz+26c8/tupQv7m4tn+5+fn/ufn + 5/7n5+f+6Ojo/+fn5/7n5+f+5+fn/ufn5/7n5+f+5+fn/ufn5/7n5+f+6Ojo/+fn5/7n5+f+5+fn/ufn + 5/7n5+f+5+fn/ufn5/7n5+f+6Ojo/+fn5/7n5+f+5+DR/ufn5/7n5+f+5+fn/ufn5/7n5+f+5+fn/ufj + 2f/ntE3+57NJ/uezSf7ntEr+6LRK/ui0S/7otEv+6bVL/um1TP/ptUz+6rZM/uq2Tf7qtk3+67dN/uu3 + Tv7rt07+7LhO/uy4T//suE/+7blQ/u25UP7tuVD+7rpQx+66UQQAAAAAAAAAAAAAAADn5+cy5+fn+efn + 5/7n5+f+5+fn/ubg1P7dt2j+2qY7/9qmPP7bpzz+26c8/t+9df7n5+f+5+fn/ufn5/7n5+f+6Ojo/+fn + 5/7n5+f+5+fn/ufn5/7n5+f+5+fn/ufn5/7n5+f+6Ojo/+fn5/7n5+f+5+fn/ufn5/7n5+f+5+fn/ufn + 5/7n5+f+6Ojo/+fn5/7n3Mf+5bpi/ufn5/7n5+f+5+fn/ufn5/7n5+f+5+fn/ujo6P/nxX7+57NK/ui0 + Sv7otEr+6LRL/um1S/7ptUv+6bVM/uq2TP/qtkz+6rZN/uu3Tf7rt07+67dO/uy4Tv7suE/+7LhP/u25 + T//tuVD+7blQ/u66UP7uulH+7rpR/u66UXsAAAAAAAAAAAAAAAAAAAAA6OjoNOfl4azl2cHz4MWM/tuq + Rf7apjv+26c8/9unPP7bpz3+3Kg9/uXWuP7o6Oj+6Ojo/ujo6P7o6Oj+6Ojo/+jo6P7o6Oj+6Ojo/ujo + 6P7o6Oj+6Ojo/ujo6P7o6Oj+6Ojo/+jo6P7o6Oj+6Ojo/ujo6P7o6Oj+6Ojo/ujo6P7o6Oj+6Ojo/+jo + 6P7mzJf+5bFH/ujfzf7o6Oj+6Ojo/ujo6P7o6Oj+6Ojo/ujo6P/o2br+6LRK/ui0Sv7otEv+6bVL/um1 + TP7ptUz+6rZM/uq2Tf/qtk3+67dN/uu3Tv7rt07+7LhO/uy4T/7suE/+7blP/u25UP/tuVD+7rpR/u66 + Uf7uulH+77tS/u+7Uvbvu1IYAAAAAAAAAAAAAAAAAAAAAAAAAADaqEDM2qY7/tqmPP7bpzz+26c8/9un + Pf7cqD3+3rBT/ujo5v7o6Oj+6Ojo/ujo6P7o6Oj+6enp/+jo6P7o5uP+6Ojo/ujo6P7o6Oj+6Ojo/ujo + 6P7o6Oj+6enp/+jo6P7o6Oj+6Ojo/ujo6P7o6Oj+6Ojo/ujo6P7o6Oj+6enp/+jo6P7mxH/+5bFH/ufQ + of7o6Oj+6Ojo/ujo6P7o6Oj+6Ojo/unp6f/o5+T+6LhW/um1S/7ptUv+6bVM/uq2TP7qtkz+6rZN/uu3 + Tf/rt07+67dO/uy4Tv7suE/+7LhP/u25T/7tuVD+7blQ/u66Uf/uulH+7rpR/u+7Uv7vu1L+77tS/vC8 + U/7wvFNaAAAAAAAAAAAAAAAAAAAAAAAAAADapjuk26c8/tunPP7bpzz+3Kg9/9yoPf7cqD7+48mT/ujo + 6P7o6Oj+6Ojo/ujo6P7o6Oj+6enp/+fh1P7htVr+6Ojo/ujo6P7o6Oj+6Ojo/ujo6P7o6Oj+6enp/+jo + 6P7o6Oj+6Ojo/ujo6P7o6Oj+6Ojo/ujo6P7o6Oj+6enp/+jo6P7mwXT+5rJI/ufBdf7o6Oj+6Ojo/ujo + 6P7o6Oj+6Ojo/unp6f/o6Oj+6caA/um1TP7ptUz+6rZM/uq2Tf7qtk3+67dN/uu3Tv/rt07+7LhO/uy4 + T/7suE/+7blP/u25UP7tuVD+7rpQ/u66Uf/uulH+77tS/u+7Uv7vu1L+8LxT/vC8U/7wvFNlAAAAAAAA + AAAAAAAAAAAAAAAAAADbpzw626c8/NunPf7cqD3+3Kg+/9yoPv7dqkH+5+HU/ujo6P7o6Oj+6Ojo/ujo + 6P7o6Oj+6enp/+THjP7grUT+6OXf/ujo6P7o6Oj+6Ojo/ujo6P7o6Oj+6enp/+jo6P7n28L+6Ofj/ujo + 6P7o6Oj+6Ojo/ujo6P7o6Oj+6enp/+jo6P7nwHP+5rJI/ue1UP7o5uH+6Ojo/ujo6P7o6Oj+6Ojo/unp + 6f/o6Oj+6dOm/uq2TP7qtkz+6rZN/uu3Tf7rt03+67dO/uy4Tv/suE/+7LhP/u25T/7tuVD+7blQ/u66 + UP7uulH+7rpR/u+7Uv/vu1L+77tS/vC8U/7wvFP+8LxT/vC8U/7wvFM0AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA26c9j9yoPf7cqD7+3ak+/92pPv7hu2/+6enp/unp6f7p6en+6enp/unp6f7p6en+6ejm/+Gx + T/7hrUT+6OTc/unp6f7p6en+6enp/unp6f7p6en+6enp/+np6f7n0aT+6ODQ/unp6f7p6en+6enp/unp + 6f7p6en+6enp/+np6f7nwnf+57NJ/uezSf7o2bn+6enp/unp6f7p6en+6enp/unp6f/p6en+6dzC/uq2 + Tf7qtk3+67dN/uu3Tv7rt07+7LhO/uy4T//suE/+7blP/u25UP7tuVD+7rpQ/u66Uf7uulH+77tS/u+7 + Uv/vu1L+8LxT/vC8U/7wvFP+8LxT/vC8U7vwvFMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Kg9Cdyo + PtXdqT7/3ak//96qP//m1LH/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/59i5/+GtQv/hrkX/6ebh/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/myIr/6Nm6/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq + 6v/oxoH/57NK/+i0Sv/pyIb/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6uLR/+u3Tf/rt07/7LhO/+y4 + Tv/suE//7LhP/+25T//tuVD/7blQ/+66UP/uulH/77tR/++7Uv/vu1L/8LtS//C8U//wvFP/8LxT//G9 + VP/xvVT/8b1UwfG9VBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN2pPjXdqT/53qo//9+v + Tf7p6OX+6enp/unp6f7p6en+6enp/unp6f7p6en+5MOA/+GtQ/7ir0j+6ejn/unp6f7p6en+6enp/unp + 6f7p6en+6urq/+np6f7mvm7+59Gj/unp6f7p6en+6enp/unp6f7p6en+6urq/+np6f7oyoz+6LRK/ui0 + Sv7puFX+6efi/unp6f7p6en+6enp/urq6v/p6en+6uHQ/uu3Tv7rt07+7LhO/uy4T/7suE/+7blP/u25 + UP/tuVD+7rpQ/u66Uf7uulH+77tS/u+7Uv7vu1L+8LxT/vC8U//wvFP+8LxT/vC8U/fwvFN28LxTAwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADeqj+A3qpA/+PGiv7p6en+6enp/unp + 6f7p6en+6enp/unp6f7p6OT+4rFN/+GtQ/7isU7+6enp/unp6f7p6en+6enp/unp6f7p6en+6urq/+np + 6P7ltVT+58iK/unp6f7p6en+6enp/unp6f7p6en+6urq/+np6f7pzpn+6LRL/ui0S/7ptUv+6dSq/unp + 6f7p6en+6enp/urq6v/p6en+6tq5/uu3Tv7suE7+7LhP/uy4T/7tuVD+7blQ/u66UP/uulH+7rpR/u66 + Uf7vu1L+77tS/vC8U/7wvFP+8LxT/vG9VP/wvFP+8LxTz/C8Uy4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADeqkEF36xEyujeyv7q6ur+6urq/urq6v7q6ur+6urq/urq + 6v7n17X+4q5E/+KuRP7jtlj+6urq/urq6v7q6ur+6urq/urq6v7q6ur+6urq/+nk2f7lsUf+579v/urq + 6v7q6ur+6urq/urq6v7q6ur+6urq/+rq6v7p06b+6bVL/um1S/7ptUz+6rxg/uro4/7q6ur+6urq/urq + 6v/q6ur+68iB/uy4T/7suE/+7blP/u25UP7tuVD+7rpQ/u66Uf/uulH+77tS/u+7Uv7vu1L+8LxT/vC8 + U/7wvFP+8LxT/vG9VPvwvFOI8LxTBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA5dClSerq6v7q6ur+6urq/urq6v7q6ur+6urq/urq6v7lwXr+4q5E/+Ku + RP7kumP+6urq/urq6v7q6ur+6urq/urq6v7q6ur+6+vr/+nbvf7mskj+57ZT/urq6P7q6ur+6urq/urq + 6v7q6ur+6+vr/+rq6v7q2LL+6bVM/um1TP7qtkz+6rZN/urLjP7q6un+6urq/uvq6v/r1qv+7LlP/uy4 + T/7tuVD+7blQ/u66UP7uulH+7rpR/u+7Uf/vu1L+77tS/u+7Uv7wvFP+8LxT/vC8U/7wvFP+8LxT3PG9 + VDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA6unniOrq6v7q6ur+6urq/urq6v7q6ur+6urq/urm3f7jsEn+469F/+OvRf7lvm7+6urq/urq + 6v7q6ur+6urq/urq6v7q6ur+6+vr/+nRof7mskj+57NJ/uri0f7q6ur+6urq/urq6v7q6ur+6+vr/+rq + 6v7q27z+6rZM/uq2TP7qtk3+67dN/uu3Tv7rxnr+69Sk/uzIfv/suVD+7blP/u25UP7tuVD+7rpQ/u66 + Uf7uulH+77tS/u+7Uv/vu1L+8LxT/vC8U/7wvFP+8LxT/vC8U/3wvFOZ8LxTDQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6+vr3Orq + 6v7q6ur+6urq/urq6v7q6ur+6urq/ufPn/7jr0X+469F/+OvRf7mwXf+6urq/urq6v7q6ur+6urq/urq + 6v7q6ur+6+vr/+jHhP7ns0n+57NJ/unVqv7q6ur+6urq/urq6v7q6ur+6+vr/+rq6v7q3cL+6rZN/uq2 + Tf7rt03+67dO/uu3Tv7suE7+7LhP/u25T//tuU/+7blQ/u25UP7uulH+7rpR/u66Uf7vu1L+77tS/vC8 + U//wvFP+8LxT/vC8U/7wvFP+8LxT5fC8U0sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr6+sm6+vr/uvr6/7r6+v+6+vr/uvr + 6/7r6+v+6+nn/uS3Wv7jr0X+5LBG/+SwRv7nxH7+6+vr/uvr6/7r6+v+6+vr/uvr6/7r6+v+6+vr/+i+ + af7ns0n+6LRK/unGfv7r6+v+6+vr/uvr6/7r6+v+6+vr/+vr6/7r3cP+67dN/uu3Tf7rt07+7LhO/uy4 + T/7suE/+7blP/u25UP/tuVD+7rpQ/u66Uf7uulH+77tR/u+7Uv7vu1L+8LxT/vC8U//wvFP+8LxT/vC8 + U/7wvFOq8LxTFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr6+sv7Ozs/+vr6/7r6+v+6+vr/uvr6/7r6+v+6NSq/uOv + Rf7ksEb+5LBG/+SwRv7nx4X+6+vr/uvr6/7r6+v+6+vr/uvr6/7r6+v+6+vp/+i1T/7otEr+6LRK/um3 + Uv7r6OL+6+vr/uvr6/7r6+v+7Ozs/+vr6/7r27v+67dO/uu3Tv7suE7+7LhP/uy4T/7tuU/+7blQ/u66 + UP/uulD+7rpR/u66Uf7vu1L+77tS/u+7Uv7wvFP+8LxT/vG9VP/wvFP+8LxT7vC8U1wAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADr6+sF7Ozs7Ovr6/7r6+v+6+vr/uvr6/7r5+D+5LVW/uSwRv7ksEb+5bFH/+Wx + R/7oyIb+6+vr/uvr6/7r6+v+6+vr/uvr6/7r6+v+6+PT/+i0Sv7otEv+6bVL/um1S/7r1qr+6+vr/uvr + 6/7r6+v+7Ozs/+vr6/7r1ab+7LhO/uy4Tv7suE/+7blP/u25UP7tuVD+7rpQ/u66Uf/uulH+77tR/u+7 + Uv7vu1L+8LxT/vC8U/7wvFP+8LxT/vG9VP/wvFO78LxTHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA7Ozsf+zs7P/s7Oz/7Ozs/+zs6/rmxH3w5LBG/+WxR//lsUf/5bFH/+aySP/ox4X/7Ozs/+zs + 7P/s7Oz/7Ozs/+zs7P/s7Oz/69q4/+m1S//ptUv/6bVM/+q2TP/qvGD/6+nk/+zs7P/s7Oz/7Ozs/+zs + 6//sx3z/7LhP/+25T//tuVD/7blQ/+66UP/uulH/7rpR/++7Uf/vu1L/77tS//C8U//wvFP/8LxT//G9 + VP/xvVT/8b1U9PG9VG3xvVQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7OzsBOvr + 65fr6+vw6+vryOrk1kHmvGhT5LBH/uWxR/7lsUf+5rJI/+aySP7oxXz+7Ozs/uzs7P7s7Oz+7Ozs/uzs + 7P7s7Oz+6tGd/+m1S/7ptUz+6bVM/uq2TP7qtk3+68mG/uzr6f7s7Oz+7Ozs/+zdvv7suVD+7LhP/u25 + UP7tuVD+7rpQ/u66Uf7uulH+77tR/u+7Uv/vu1L+8LxT/vC8U/7wvFP+8LxT/vC8U/7wvFPI8LxTKAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA5bFHouWxR/7mskj+5rJI/+aySP7ovmr+7Ozs/uzs7P7s7Oz+7Ozs/uzs7P7s7Oz+6smE/+m1 + TP7qtkz+6rZN/uq2Tf7rt03+67dO/uzCbP7s0Jj+7cqE/+y6Uv7tuU/+7blQ/u25UP7uulD+7rpR/u66 + Uf7vu1L+77tS/vC8U//wvFP+8LxT/vC8U/7wvFP+8LxT+fC8U37wvFMFAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5bFHEeay + SOHmskj+57NJ/+ezSf7otU/+7Oni/uzs7P7s7Oz+7Ozs/uzs7P7s7Ov+6r5l/+q2TP7qtk3+67dN/uu3 + Tf7rt07+7LhO/uy4Tv7suE/+7blP/+25UP7tuVD+7rpQ/u66Uf7uulH+77tR/u+7Uv7vu1L+77tS/vC8 + U//wvFP+8LxT/vC8U/7wvFPV8LxTNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOaySEXns0n857NJ/+ez + Sv7otEr+6syO/uzs7P7s7Oz+7Ozs/uzr6P7rzI7+6rZN/+q2Tf7rt03+67dO/uu3Tv7suE7+7LhP/uy4 + T/7tuU/+7blQ/+25UP7uulD+7rpR/u66Uf7vu1L+77tS/u+7Uv7wvFP+8LxT/vG9VP/wvFP+8LxT/PC8 + U5DwvFMKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADns0mT6LRK/+i0Sv7otEv+6bVL/urD + df7r06L+68+X/uq9Yv7qtk3+67dN/+u3Tf7rt07+67dO/uy4Tv7suE/+7LhP/u25T/7tuVD+7rpQ/+66 + Uf7uulH+7rpR/u+7Uv7vu1L+77tS/vC8U/7wvFP+8LxT/vG9VP/wvFPg8LxTQwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADns0kL6LRK2Oi0S/7ptUv+6bVL/um1TP7qtkz+6rZM/uq2 + Tf7rt03+67dO/+u3Tv7suE7+7LhP/uy4T/7tuU/+7blQ/u25UP7uulD+7rpR/+66Uf7vu1L+77tS/u+7 + Uv7wvFP+8LxT/vC8U/7wvFP+8LxT/vG9VKHwvFMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA6LRLOOm1S/vptUz+6bVM/uq2TP7qtk3+6rZN/uu3Tf7rt07+7LhO/+y4 + Tv7suE/+7LhP/u25T/7tuVD+7blQ/u66Uf7uulH+77tR/++7Uv7vu1L+77tS/vC8U/7wvFP+8LxT/vC8 + U/7wvFPq8LxTUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAUkN8HFJDfCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOm1TITqtkz+6rZM/uq2Tf7rt03+67dN/uu3Tv7suE7+7LhP/+y4T/7tuU/+7blQ/u25 + UP7uulD+7rpR/u66Uf7vu1H+77tS/++7Uv7wvFP+8LxT/vC8U/7wvFP+8LxT/vC8U7LwvFMYAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWR + 4AsVkeDgFZHg8RWR4C4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOq2 + TAbqtk3O67dN/+u3Tf/rt07/7LhO/+y4T//suE//7blP/+25UP/tuVD/7rpQ/+66Uf/uulH/77tR/++7 + Uv/vu1L/8LxT//C8U//wvFP/8b1U//G9VP/xvVTx8b1UYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWR4BQVkeD3FpLh/haS + 4dIWkuEKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADqtk0t67dN9uu3 + Tv7suE7+7LhP/uy4T/7tuU/+7blQ/+25UP7uulD+7rpR/u66Uf7vu1L+77tS/u+7Uv7wvFP+8LxT//C8 + U/7wvFP+8LxT/vC8U8HwvFMiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlovEEJaLxEyai + 8R4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWkuF0FpLh/haT4v4Xk+KhF5PiAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA67dOdey4Tv7suE/+7LhP/u25 + T/7tuVD+7rpQ/+66UP7uulH+7rpR/u+7Uv7vu1L+77tS/vC8U/7wvFP+8b1U//C8U/7wvFP28LxTdfC8 + UwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAjoO8BJKDvDSSh8CgkofBFJKHwYiWh8IAlovGdJaLxuiai8dgmo/LxJqPy/iaj8v0mo/IxAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWkuECF5PitBeT4v4XlOP+GJTjdwAAAAAAAAAAAAAAAAAA + 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 + AAAAAAAB/wAAAPgAAAAAAAAA/wAAAPAAAAAAAAAAfwAAAOAAAAAAAAAAfwAAAOAAAAAAAAAAPwAAAMAA + AAAAAAAAHwAAAMAAAAAAAAAADwAAAIAAAAAAAAAADwAAAIAAAAAAAAAABwAAAIAAAAAAAAAAAwAAAIAA + AAAAAAAAAwAAAMAAAAAAAAAAAQAAAPAAAAAAAAAAAQAAAPAAAAAAAAAAAQAAAPAAAAAAAAAAAQAAAPgA + AAAAAAAAAQAAAPgAAAAAAAAAAwAAAPwAAAAAAAAABwAAAP4AAAAAAAAAHwAAAP4AAAAAAAAAPwAAAP8A + AAAAAAAA/wAAAP8AAAAAAAAB/wAAAP8AAAAAAAAH/wAAAP4AAAAAAAAP/wAAAP4AAAAAAAA//wAAAP4A + AAAAAAB//wAAAP8AAAAAAAD//wAAAP8AAAAAAAP//wAAAP/8AAAAAAf//wAAAP/8AAAAAB///wAAAP/+ + AAAAAD///wAAAP//AAAAAP///wAAAP//AAAAAf///wAAAP//gAAAB////wAAAPP/wAAAD////wAAAOH/ + wAAAP////wAAAOD/4AAAf///HwAAAPB/8AAA//4ADwAAAPB/8AAD//wADwAAAPg/+AAH//4AHwAAAPwf + /AAf//4AHwAAAP4P/AA///8AHwAAAP8D/gD///+AHwAAAP+B/wH///+APwAAAP/Af8f///4APwAAAP/g + P/////gAPwAAAP/4D////+AQfwAAAP/8Af///wB4fwAAAP//AD//+AH8fwAAAP//wAD+AAf//wAAAP// + 8AAAAB///wAAAP///gAAAP///wAAAP///+AAH////wAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEIAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZpToD2aU6Ytml + OqbZpTqk2qY7XNqmOwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4uLiFeLi4nbi4uJ34uLidOLi4m/i4uJq4uLiZ+Li + 4l/i4uJb4uLiV+Li4k/i4uJL4uLiRuLi4j/i4uI34uLiMeLi4ifi4uICAAAAAAAAAAAAAAAAAAAAAAAA + AADZpTon2aU6ydmlOv/apjv/2qY7/9qmO//apjyy26c8AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLi4qvi4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLiqAAA + AAAAAAAAAAAAANmlOgHZpTpt2aU69dmlOv/apjv/2qY7/9qmPP/bpzz/26c8/9unPHoAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLi + 4gHi4uLq4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4vTh4N0BAAAAANmlOhzZpTq72aU6/9mlO//apjv/2qY7/9unPP/bpzz/26c9/9yo + Pf/cqD353Kg9MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADi4uIw4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li + 4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/39K3ItmnQVvZpTru2aU6/9qmO//apjv/2qY8/9un + PP/bpzz/3Kg9/9yoPf/cqD7/3ak+/92pPtLdqT4HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4uLihOPj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/93AhNXZpTr/2aU7/9qm + O//apjv/26c8/9unPP/bpz3/3Kg9/9yoPf/dqT7/3ak+/92pP//eqj//3qo/iQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjA+Pj4+Lj4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//fzKT/2qY7/9qmO//apjz/26c8/9unPP/cqD3/3Kg9/9yoPv/dqT7/3ak+/92pP//eqj//3qpA/9+r + QPzeqkA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj + 41nj4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4t3T/9qnPf/bpzz/26c8/9unPf/cqD3/3Kg9/92pPv/dqT7/3ak//96q + P//eqj//3qpA/9+rQP/fq0H/36tB3N+rQQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOPj4wTj4+PX4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj + 4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//ctGL/26c8/9unPf/cqD3/3Kg9/92p + Pv/dqT7/3ak//96qP//eqkD/36tA/9+rQP/fq0H/4KxB/+CsQv/grEKYAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+Nx5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/4MmZ/9yo + Pf/cqD3/3Kg+/92pPv/dqT//3qo//96qP//eqkD/36tA/9+rQf/fq0H/4KxB/+CsQv/hrUL/4a1D/uGt + Q0kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk5OQk5OTk9OTk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Pd0f/cqT//3ak+/92pPv/dqT//3qo//96qQP/eqkD/36tA/9+rQf/grEH/4KxC/+Cs + Qv/hrUL/4a1D/+KuQ//irkPl4q5EEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk5OQH5OTky+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/3rdn/92pP//eqj//3qo//96qQP/fq0D/36tB/9+r + Qf/grEH/4KxC/+GtQv/hrUP/4a1D/+KuQ//irkT/4q5E/+OvRKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA5OTko+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+LNpP/eqj//3qpA/96q + QP/fq0D/36tB/+CsQf/grEL/4KxC/+GtQv/hrUP/4q5D/+KuRP/irkT/469E/+OvRf/jr0X/469FWAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA5OTkjeXl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/k4dv/3q1G/9+rQP/fq0H/36tB/+CsQf/grEL/4a1C/+GtQ//hrUP/4q5D/+KuRP/irkT/469F/+Ov + Rf/ksEX/5LBG/+SwRu3ksEYaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5eUB5eXlkOXl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+HAff/fq0H/4KxB/+CsQv/grEL/4a1C/+GtQ//irkP/4q5E/+Ku + RP/jr0T/469F/+OvRf/ksEb/5LBG/+WxR//lsUf/5bFHtgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5eUB5eXlmeXl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/j173/4KxB/+CsQv/grEL/4a1D/+Gt + Q//irkP/4q5E/+KuRP/jr0X/469F/+SwRf/ksEb/5LBG/+WxR//lsUf/5bFI/+aySP/mskhnAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eXljubm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5eXl/+G1 + W//hrUL/4a1D/+GtQ//irkT/4q5E/+OvRP/jr0X/469F/+SwRv/ksEb/5LBG/+WxR//lsUf/5rJI/+ay + SP/mskj/57NJ8+ezSSMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA5ubmdObm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/jzJz/4a1D/+KuQ//irkT/4q5E/+OvRf/jr0X/5LBF/+SwRv/ksEb/5bFH/+Wx + R//lsUf/5rJI/+aySP/ns0n/57NJ/+ezSf/ns0rD6LRKAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA5ubmSubm5vzm5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5eHZ/+KvSP/irkT/469E/+OvRf/jr0X/5LBG/+Sw + Rv/ksEb/5bFH/+WxR//mskj/5rJI/+aySP/ns0n/57NJ/+ezSv/otEr/6LRK/+i0S3YAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ubmG+bm5uzm5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/kwn7/469F/+Ov + Rf/ksEX/5LBG/+SwRv/lsUf/5bFH/+WxR//mskj/5rJI/+ezSf/ns0n/57NJ/+i0Sv/otEr/6LRL/+m1 + S//ptUv46bVLLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAObm5rbn5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5uPe/+PVuP/n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5tnA/+OvRf/ksEb/5LBG/+SwRv/lsUf/5bFH/+aySP/mskj/5rJI/+ezSf/ns0n/57NK/+i0 + Sv/otEr/6bVL/+m1S//ptUz/6rZM/+q2TM/qtkwFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOfn + 51Dn5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5uXj/924a//br1X/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fm5v/kuWD/5LBG/+WxR//lsUf/5bFH/+aySP/mskj/5rJJ/+ez + Sf/ns0n/6LRK/+i0Sv/otEv/6bVL/+m1TP/qtkz/6rZM/+q2Tf/rt03/67dNhQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADn5+fS5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5ubm/969ef/apjv/3716/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5tGm/+WxR//lsUf/5bFI/+ay + SP/mskj/57NJ/+ezSf/ns0r/6LRK/+i0Sv/ptUv/6bVL/+m1TP/qtkz/6rZM/+q2Tf/rt03/67dO/+y4 + Tvvrt044AAAAAAAAAAAAAAAAAAAAAAAAAADn5+c75+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/9/A + gf/apjv/2qY7/+TUtf/n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fl + 4f/ltVT/5rJI/+aySP/mskn/57NJ/+ezSf/otEr/6LRK/+i0S//ptUv/6bVL/+m1TP/qtkz/6rZN/+u3 + Tf/rt03/67dO/+y4Tv/suE//7LhP2ey4TwoAAAAAAAAAAAAAAAAAAAAA5+fngOjo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/5+fm/9/Agf/apjv/2qY8/9ytTP/n5uX/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/58uU/+aySP/ns0n/57NJ/+ezSv/otEr/6LRK/+m1S//ptUv/6bVM/+q2 + TP/qtkz/6rZN/+u3Tf/rt07/7LhO/+y4Tv/suE//7blP/+25UP/tuVCUAAAAAAAAAAAAAAAAAAAAAOjo + 6JLo6Oj/6Ojo/+jo6P/o6Oj/5+Xg/967c//apjv/26c8/9unPP/hxYv/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/5+LZ/+fezf/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+fh1f/ns0v/57NJ/+i0Sv/otEr/6LRL/+m1 + S//ptUv/6bVM/+q2TP/qtk3/67dN/+u3Tf/rt07/7LhO/+y4T//suE//7blP/+25UP/uulD/7rpR/u66 + UUUAAAAAAAAAAAAAAADo6Og46Ojo7Ojo6P/o6Oj/5NnB/9yxWP/apjz/26c8/9unPP/cqD3/5t7N/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+bMl//mxYT/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/58N4/+i0 + Sv/otEr/6bVL/+m1S//ptUz/6rZM/+q2TP/qtk3/67dN/+u3Tv/suE7/7LhO/+y4T//tuU//7blQ/+25 + UP/uulD/7rpR/++7Uf/vu1Lj77tSDQAAAAAAAAAAAAAAAOfm4xLjz6iC3bVi/9qmPP/bpzz/26c8/9un + Pf/cqD3/37dm/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/mv3H/5bZV/+jo5//p6en/6enp/+np + 6f/p6en/6enp/+jWsf/otEr/6bVL/+m1S//ptUz/6rZM/+q2Tf/rt03/67dN/+u3Tv/suE7/7LhP/+y4 + T//tuU//7blQ/+66UP/uulH/7rpR/++7Uf/vu1L/77tS/++7UmoAAAAAAAAAAAAAAAAAAAAA26pGNtqm + PP/bpzz/26c8/9yoPf/cqD3/3Kg+/+TRqf/p6en/6enp/+np6f/p6en/6enp/+jl3//l0qn/6enp/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/5rpg/+ay + SP/o3sj/6enp/+np6f/p6en/6enp/+np6f/p5uD/6bZP/+m1TP/qtkz/6rZM/+q2Tf/rt03/67dO/+u3 + Tv/suE7/7LhP/+25T//tuVD/7blQ/+66UP/uulH/77tR/++7Uv/vu1L/8LxT//C8U//wvFOVAAAAAAAA + AAAAAAAAAAAAANqmOwTbpzzg26c9/9yoPf/cqD3/3ak+/92sSP/o5uL/6enp/+np6f/p6en/6enp/+np + 6f/ky5f/4bhk/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/o4dL/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6enp/+a5XP/mskj/6M+c/+np6f/p6en/6enp/+np6f/p6en/6enp/+nBcP/qtkz/6rZN/+q2 + Tf/rt03/67dO/+y4Tv/suE//7LhP/+25T//tuVD/7blQ/+66Uf/uulH/77tR/++7Uv/vu1L/8LxT//C8 + U//wvFP/8LxTegAAAAAAAAAAAAAAAAAAAAAAAAAA26c8SNyoPf7cqD3/3ak+/92pPv/iw4T/6enp/+np + 6f/p6en/6enp/+np6f/p6Oj/4bNW/+K2XP/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/5s6d/+np + 6f/p6en/6enp/+np6f/p6en/6enp/+np6f/nul//57NJ/+i/bv/p6en/6enp/+np6f/p6en/6enp/+np + 6f/py4//6rZN/+u3Tf/rt07/67dO/+y4Tv/suE//7blP/+25UP/tuVD/7rpQ/+66Uf/uulH/77tS/++7 + Uv/wvFL/8LxT//C8U//xvVT/8b1U9fG9VB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADcqD6X3ak+/92p + P//eqj//59zH/+rq6v/q6ur/6urq/+rq6v/q6ur/59vC/+GtQv/iuGL/6urq/+rq6v/q6ur/6urq/+rq + 6v/q6ur/6urq/+bAcv/p6OT/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/571o/+ezSv/otEv/6eTa/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6tGf/+u3Tf/rt07/7LhO/+y4T//suE//7blP/+25UP/tuVD/7rpR/+66 + Uf/vu1H/77tS/++7Uv/wvFP/8LxT//C8U//xvVT/8b1U8fG9VE0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA3Kg+C92pP9veqj//4LVe/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+TGif/hrUP/47tq/+rq + 6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/ltlb/6eDN/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+jC + c//otEr/6LRL/+nRov/q6ur/6urq/+rq6v/q6ur/6urq/+rRnv/rt07/7LhO/+y4T//tuU//7blQ/+25 + UP/uulD/7rpR/+66Uf/vu1L/77tS//C8Uv/wvFP/8LxT//G9VP/xvVT/8b1Uv/G9VB8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdqT873qpA/OXOn//q6ur/6urq/+rq6v/q6ur/6urq/+np + 6P/is1L/4q5D/+S/c//q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/p5d3/5bFH/+jXtP/q6ur/6urq/+rq + 6v/q6ur/6urq/+rq6v/pxoH/6bVL/+m1S//pvGH/6unn/+rq6v/q6ur/6urq/+rq6v/ryYP/7LhO/+y4 + T//tuU//7blQ/+25UP/uulH/7rpR/++7Uf/vu1L/77tS//C8U//wvFP/8LxT//G9VP/xvVT38b1UcvG9 + VAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOCyVIjp5dz/6urq/+rq + 6v/q6ur/6urq/+rq6v/o2r3/4q5E/+KuRP/lw37/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6dzB/+ay + SP/ozpn/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6cuO/+m1S//ptUz/6rZM/+rUp//q6ur/6urq/+rq + 6v/q5Nb/7LpU/+y4T//tuU//7blQ/+66UP/uulH/7rpR/++7Uf/vu1L/77tS//C8U//wvFP/8b1U//G9 + VP/xvVTN8b1UKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADo4M9M6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/5cSB/+KuRP/jr0X/5siJ/+vr6//r6+v/6+vr/+vr + 6//r6+v/6+vr/+nSpf/mskj/6MN5/+vr6//r6+v/6+vr/+vr6//r6+v/6+vr/+rPmf/qtkz/6rZM/+q2 + Tf/ruFP/69u5/+vq6v/r4Mr/7MBl/+25T//tuVD/7blQ/+66UP/uulH/77tR/++7Uv/vu1L/8LxT//C8 + U//wvFP/8b1U//G9VPvxvVSD8b1UBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA6urqpOvr6//r6+v/6+vr/+vr6//r6+v/6ufg/+OxS//jr0X/469F/+fL + k//r6+v/6+vr/+vr6//r6+v/6+vr/+vr6//oyYn/57NJ/+e4Vv/q6ur/6+vr/+vr6//r6+v/6+vr/+vr + 6//q0qL/6rZN/+u3Tf/rt03/67dO/+y4Tv/sulX/7LhP/+25T//tuVD/7rpQ/+66Uf/uulH/77tR/++7 + Uv/vu1L/8LxT//C8U//xvVT/8b1U//G9VNnxvVQ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6+vrA+vr6+/r6+v/6+vr/+vr6//r6+v/6+vr/+fQ + oP/jr0X/5LBF/+SwRv/nzpv/6+vr/+vr6//r6+v/6+vr/+vr6//r6+v/6L9t/+ezSv/otEr/6uDM/+vr + 6//r6+v/6+vr/+vr6//r6+v/69Sl/+u3Tf/rt07/7LhO/+y4Tv/suE//7blP/+25UP/tuVD/7rpQ/+66 + Uf/vu1H/77tS/++7Uv/wvFP/8LxT//C8U//xvVT/8b1U/vG9VJXxvVQKAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOvr6xHs7Oz/7Ozs/+zs + 7P/s7Oz/7Ozs/+vp5v/ktlf/5LBG/+SwRv/ksEb/6NGi/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/6+vr/+i2 + Uv/otEr/6LRK/+rQmv/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/+vSn//rt07/7LhO/+y4T//suE//7blP/+25 + UP/uulD/7rpR/+66Uf/vu1H/77tS/++7Uv/wvFP/8LxT//G9VP/xvVT/8b1U5PG9VEYAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA7Ozs2+zs7P/s7Oz/7Ozs/+zs7P/ozpn/5LBG/+SwRv/lsUf/5bFH/+nSpP/s7Oz/7Ozs/+zs + 7P/s7Oz/7Ozs/+vk1//otEr/6LRL/+m1S//pvF//6+vp/+zs7P/s7Oz/7Ozs/+zs7P/szIz/7LhO/+y4 + T//tuU//7blQ/+25UP/uulD/7rpR/+66Uf/vu1L/77tS//C8U//wvFP/8LxT//G9VP/xvVT/8b1UpvG9 + VBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOzs7Gfs7Oz/7Ozs/+zs7P/q4Mzg5LFJ/+SwRv/lsUf/5bFH/+ay + SP/p0qL/7Ozs/+zs7P/s7Oz/7Ozs/+zs7P/r27z/6bVL/+m1S//ptUz/6rZM/+vWq//s7Oz/7Ozs/+zs + 7P/s6+r/7L9j/+y4T//tuU//7blQ/+25UP/uulH/7rpR/++7Uf/vu1L/77tS//C8U//wvFP/8LxT//G9 + VP/xvVTs8b1UVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7Ozscezs7Lnr6+t46NOpB+Wy + SrnlsUf/5bFH/+aySP/mskj/6c6Y/+zs7P/s7Oz/7Ozs/+zs7P/s7Oz/6tKi/+m1TP/qtkz/6rZM/+q2 + Tf/ruVT/697D/+zs7P/s6+r/7NGa/+25T//tuVD/7blQ/+66UP/uulH/7rpR/++7Uv/vu1L/8LxS//C8 + U//wvFP/8b1U//G9VP/xvVS38b1UGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADlsUcb5bFI7uaySP/mskj/57NJ/+nHgv/t7e3/7e3t/+3t7f/t7e3/7e3t/+vL + if/qtkz/6rZN/+q2Tf/rt03/67dO/+y4T//swWn/7L5e/+25T//tuVD/7blQ/+66Uf/uulH/77tR/++7 + Uv/vu1L/8LxT//C8U//wvFP/8b1U//G9VPTxvVRoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOaySFvmskn/57NJ/+ezSf/ouFb/7Ork/+3t + 7f/t7e3/7e3t/+zo4P/qu13/6rZN/+u3Tf/rt07/67dO/+y4Tv/suE//7blP/+25UP/tuVD/7rpQ/+66 + Uf/uulH/77tS/++7Uv/wvFL/8LxT//C8U//xvVT/8b1U//G9VMXxvVQkAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA57NJq+ez + Sv/otEr/6LRK/+rDdP/s49D/7Ojf/+zat//qvWP/6rZN/+u3Tf/rt07/7LhO/+y4Tv/suE//7blP/+25 + UP/tuVD/7rpR/+66Uf/vu1H/77tS/++7Uv/wvFP/8LxT//C8U//xvVT/8b1U+fG9VHrxvVQDAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOezSRPotErn6LRL/+m1S//ptUv/6bVM/+q2TP/qtk3/67dN/+u3Tf/rt07/7LhO/+y4 + T//suE//7blP/+25UP/uulD/7rpR/+66Uf/vu1H/77tS/++7Uv/wvFP/8LxT//G9VP/xvVT/8b1U0/G9 + VDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6LRKS+m1S/7ptUz/6rZM/+q2TP/qtk3/67dN/+u3 + Tv/suE7/7LhO/+y4T//tuU//7blQ/+25UP/uulD/7rpR/++7Uf/vu1L/77tS//C8U//wvFP/8LxT//G9 + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh4eGp4eHh/uHh4f7h4eH+4eHh/uHh + 4f7h4eH+4eHh/uHh4f7h4eH+4eHh/uHh4f7h4eH+4eHhsgAAAADPnjcQ2aU6o9mlOv7apjv+2qY7/tun + PP7bpzz+3Kg9/tyoPYkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+/vwTi4uLp4uLi/uLi + 4v/i4uL+4uLi/+Li4v/i4uL+4uLi/+Li4v/i4uL+4uLi/+Li4v/i4uL+4uHg39u3bETZpTrh2aU6/9qm + O//apjz+26c8/9unPf/cqD3/3Kg+/t2pPvzdqT48AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLi + 4kfj4+P/4uLi/uPj4//i4uL+4+Pj/+Pj4//i4uL+4+Pj/+Pj4//i4uL+4+Pj/+Pj4//i4uL+4+Li/tqt + T/3apjv+2qY7/9unPP/bpzz+3Kg9/9yoPf/dqT7/3ak//t6qP//eqkDc2aY+DAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOLi4rPi4uL+4uLi/uLi4v7i4uL+4uLi/uLi4v7i4uL+4uLi/uLi4v7i4uL+4uLi/uLi + 4v7i4uL+4uLi/t2+fv7apjv+26c8/tunPf7cqD3+3Kg+/t2pPv7dqT/+3qo//t6qQP7fq0D+36tBmAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA4+PjOOPj4/3j4+P/4+Pj/uPj4//j4+P+4+Pj/+Pj4//j4+P+4+Pj/+Pj + 4//j4+P+4+Pj/+Pj4//j4+P+4+Pj/+HSsv/bpzz+3Kg9/9yoPf/dqT7+3ak+/96qP//eqkD/36tA/t+r + Qf/grEH/4KxC/uCsQkkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMwE4+PjzeTk5P/k5OT/4+Pj/uTk5P/j4+P+5OTk/+Tk + 5P/j4+P+5OTk/+Tk5P/j4+P+5OTk/+Tk5P/j4+P+5OTk/+Pi3//crEn+3Kg+/92pPv/dqT/+3qo//96q + QP/fq0D/36tB/uCsQf/grEL/4a1D/uGtQ+Tfq0ISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+OG4+Pj/uPj4/7j4+P+4+Pj/uPj + 4/7j4+P+4+Pj/uPj4/7j4+P+4+Pj/uPj4/7j4+P+4+Pj/uPj4/7j4+P+4+Pj/uPj4/7fwH/+3ak+/t6q + P/7eqkD+36tA/t+rQf7grEH+4KxC/uGtQv7hrUP+4q5D/uKuRP7irkSnAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOTk5Fnk5OT95OTk/+Tk + 5P/k5OT/5OTk/uTk5P/k5OT+5OTk/+Tk5P/k5OT+5OTk/+Tk5P/k5OT+5OTk/+Tk5P/k5OT+5OTk/+Tk + 5P/j1rz+3qo//96qQP/fq0D+36tB/+CsQf/grEL/4a1D/uGtQ//irkT/4q5E/uOvRf/jr0X/5LBFWAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eXlUOXl + 5fjk5OT+5eXl/+Xl5f/l5eX/5OTk/uXl5f/k5OT+5eXl/+Xl5f/k5OT+5eXl/+Xl5f/k5OT+5eXl/+Xl + 5f/k5OT+5eXl/+Xl5f/k5OT+37NX/9+rQf/grEH+4KxC/+GtQv/hrUP/4q5D/uKuRP/jr0T/469F/uSw + Rv/ksEb/5LBH7OSwRhoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADk5ORY5eXl+uXl5f/k5OT+5eXl/+Xl5f/l5eX/5OTk/uXl5f/k5OT+5eXl/+Xl5f/k5OT+5eXl/+Xl + 5f/k5OT+5eXl/+Xl5f/k5OT+5eXl/+Xl5f/k5OT+4smW/+CsQf/grEL+4a1C/+GtQ//irkT/4q5E/uOv + Rf/jr0X/5LBG/uSwRv/lsUf/5bFH/uaySLXQoUEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOXl5U3l5eX65eXl/uXl5f7l5eX+5eXl/uXl5f7l5eX+5eXl/uXl5f7l5eX+5eXl/uXl + 5f7l5eX+5eXl/uXl5f7l5eX+5eXl/uXl5f7l5eX+5eXl/uXl5f7l5eX+5d/U/uGuRf7hrUP+4q5D/uKu + RP7jr0T+469F/uSwRf7ksEb+5LBH/uWxR/7mskj+5rJI/uezSf7ns0lnAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA5ubmMubm5vTl5eX+5ubm/+bm5v/l5eX+5ubm/+bm5v/m5ub/5eXl/ubm + 5v/l5eX+5ubm/+bm5v/l5eX+5ubm/+bm5v/l5eX+5ubm/+bm5v/l5eX+5ubm/+bm5v/l5eX+5ubm/+O/ + dv/irkT+4q5E/+OvRf/jr0X/5LBG/uSwRv/lsUf/5bFH/uaySP/mskj/57NJ/uezSv/otEry6LRKIwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADc3NwP5ubm3ubm5v7m5ub+5ubm/ubm5v7m5ub+5ubm/ubm + 5v7m5ub+5ubm/ubm5v7m5ub+5ubm/ubm5v7m5ub+5ubm/ubm5v7m5ub+5ubm/ubm5v7m5ub+5ubm/ubm + 5v7m5ub+5ubm/uXWuP7irkT+469F/uOvRf7ksEb+5LBH/uWxR/7lsUj+5rJI/uaySf7ns0n+6LRK/ui0 + Sv7ptUv+6bVLwtqpRwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5uac5+fn/+fn5//m5ub+5+fn/+fn + 5//l39T+4tKw/+fn5//n5+f/5ubm/ufn5//m5ub+5+fn/+fn5//m5ub+5+fn/+fn5//m5ub+5+fn/+fn + 5//m5ub+5+fn/+fn5//m5ub+5+fn/+bm5f/kt1r+5LBG/+SwRv/lsUf/5bFH/uaySP/mskj/57NJ/uez + Sf/otEr/6LRL/um1S//ptUz/6rZM/uq2THYAAAAAAAAAAAAAAAAAAAAAAAAAAObm5jHm5ub95+fn/+fn + 5//m5ub+5+fn/+bi2//csVn+38GE/+fn5//n5+f/5ubm/ufn5//m5ub+5+fn/+fn5//m5ub+5+fn/+fn + 5//m5ub+5+fn/+fn5//m5ub+5+fn/+fn5//m5ub+5+fn/+fn5//lzZv+5LBG/+WxR//lsUj/5rJI/uay + Sf/ns0n/57NK/ui0Sv/ptUv/6bVL/uq2TP/qtkz/6rdN/uu3Tvfrt04tAAAAAAAAAAAAAAAAAAAAAOfn + 55/n5+f+5+fn/ufn5/7n5+f+5uTf/t20Yv7apjv+5Na6/ufn5/7n5+f+5+fn/ufn5/7n5+f+5+fn/ufn + 5/7n5+f+5+fn/ufn5/7n5+f+5+fn/ufn5/7n5+f+5+fn/ufn5/7n5+f+5+fn/ufn5/7n49z+5bRO/uay + SP7mskj+57NJ/uezSf7otEr+6LRL/um1S/7ptUz+6rZM/uq2Tf7rt03+67dO/uy4Tv7suE/P4rBMBgAA + AAAAAAAAAAAAAOfn5+Tn5+f+6Ojo/+jo6P/n49z+3bVi/9qmO//crlD+5+fm/+jo6P/o6Oj/5+fn/ujo + 6P/n5+f+6Ojo/+jo6P/n5+f+6Ojo/+jo6P/n5+f+6Ojo/+jo6P/n5+f+6Ojo/+jo6P/n5+f+6Ojo/+jo + 6P/n5+f+58iK/+aySf/ns0n/57NK/ui0Sv/ptEv/6bVL/um1TP/qtkz/6rZN/uu3Tf/st07/7LhP/uy4 + T//tuVD/7blQhQAAAAAAAAAAAAAAAOjo6NXn5+f+6Ojo/+Xcyf/csFf+26c8/9unPP/hx5D+6Ojo/+jo + 6P/o6Oj/5+fn/ujo6P/n5+f+6Ojo/+jo6P/n5+f+6Ojo/+jo6P/n5+f+6Ojo/+jo6P/n5+f+6Ojo/+bL + lP/n5+f+6Ojo/+jo6P/n5+f+597L/+ezSv/otEr/6LRK/um1S//ptUz/6rZM/uq2Tf/rt03/67dO/uy4 + Tv/suE//7blP/u25UP/uulD/7rpR++66UTkAAAAAAAAAAOfn5xfl2cGR3757/tuoQP7bpzz+26c8/tyo + P/7n4NL+6Ojo/ujo6P7o6Oj+6Ojo/ujo6P7o6Oj+6Ojo/ujo6P7o6Oj+6Ojo/ujo6P7o6Oj+6Ojo/ujo + 6P7o6Oj+6Obh/uWySv7o4M/+6Ojo/ujo6P7o6Oj+6Ojo/ui+af7otEv+6bVL/um1TP7qtkz+6rZN/uu3 + Tf7rt07+7LhO/uy4T/7tuVD+7blQ/u66Uf7uulH+77tS/u+7UsIAAAAAAAAAAAAAAADQo0Yh2qY8/tun + PP/bpz3+3Kg9/+C6bP/o6Oj+6enp/+np6f/p6en/5ti8/ufdyf/o6Oj+6enp/+np6f/o6Oj+6enp/+no + 6P/o6Oj+6enp/+np6f/o6Oj+6OHS/+aySP/n0aP+6enp/+np6f/o6Oj+6enp/+nPnP/ptUz/6rZM/uq2 + Tf/rt03/67dO/uy4Tv/suE//7blP/u25UP/uulD/7rpR/u+7Uf/vu1L/8LxT/vC8U+0AAAAAAAAAAAAA + AAAAAAAA26c8s9yoPf/cqD7+3ak+/+XTr//o6Oj+6enp/+np6f/p6en/4rpo/uXSq//o6Oj+6enp/+np + 6f/o6Oj+6enp/+fbw//o6Oj+6enp/+np6f/o6Oj+6ODQ/+aySP/nwnb+6enp/+np6f/o6Oj+6enp/+nc + wf/qtkz/6rZN/uu3Tf/rt07/7LhO/uy4T//tuVD/7blQ/u66Uf/uulH/77tS/u+7Uv/wvFP/8LxT/vC8 + U7sAAAAAAAAAAAAAAAAAAAAA2qY8GtyoPuzdqT7+3q5M/uno5P7p6en+6enp/unp6f7o4dL+4K1D/ubT + rP7p6en+6enp/unp6f7p6en+6efi/ufNmf7p6en+6enp/unp6f7p6en+6ePX/uezSf7otU7+6ebh/unp + 6f7p6en+6enp/urj1/7rt03+67dO/uy4Tv7suE/+7blP/u25UP7uulD+7rpR/u+7Uf7vu1L+8LxT/vC8 + U/7wvFP+8LxT4/C8UyoAAAAAAAAAAAAAAAAAAAAAAAAAAN2pPljeqj/+48aJ/+rq6v/p6en+6urq/+rq + 6v/lzZr/4a1D/ufWtP/p6en+6urq/+rq6v/p6en+6d7J/+bFgP/p6en+6urq/+rq6v/p6en+6efh/+i0 + S//otEv+6dWr/+rq6v/p6en+6urq/+rj1f/rt07/7LhO/uy4T//tuU//7blQ/u66Uf/uulH/77tS/u+7 + Uv/wvFP/8LxT/vG9VP7xvVSn8LxTEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADeq0Kn6N7K/+rq + 6v/q6ur+6urq/+rq6f/juGL/4q5E/ujavv/q6ur+6urq/+rq6v/q6ur+6NWt/+a8Zv/q6ur+6urq/+rq + 6v/q6ur+6unp/+m3Uf/ptUv+6r5m/+rp5//q6ur+6urq/+rWrv/suE//7blP/u25UP/uulD/7rpR/u+7 + Uf/vu1L/8LxT/vC8U//xvVP/8LxT7PG9VFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADm1K866urq/urq6v7q6ur+6urq/ungzP7irkT+469F/unfyf7q6ur+6urq/urq6v7q6ur+6MyS/ua0 + Tf7q6eb+6urq/urq6v7q6ur+6urq/um7Xf7qtkz+6rZN/uvNkf7q6uj+69/G/uy8XP7tuU/+7blQ/u66 + Uf7uulH+77tS/u+7Uv7wvFP+8LxT/vC8U/7wvFO38LxTGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADq6uqF6+vr/+vr6//q6ur+6+vr/+bIjP/jr0X/469F/uri0//q6ur+6+vr/+vr + 6//q6ur+6MJ1/+ezSf/q3sb+6+vr/+vr6//q6ur+6+vr/+q+Zv/qtk3+67dO/+y4Tv/suVL+7blP/+25 + UP/uulD/7rpR/u+7Uf/vu1L/8LxS/vC8U//wvFP/8LxT8/G9VGnisU8BAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr6+vH6+vr/+vr6//r6+v+6ufg/+SzTv/ksEb/5LBG/url + 2//r6+v+6+vr/+vr6//r6+v+6Lla/+i0Sv/qz5r+6+vr/+vr6//r6+v+6+vr/+u/Zv/rt07+7LhO/+y4 + T//tuU/+7blQ/+66UP/uulH/77tS/u+7Uv/wvFP/8LxT/vG9VP/xvVTG8LxTJQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr6+us6+vr/uvr6/7r6+v+58uQ/uSw + Rv7ksEb+5bFH/uvn3/7r6+v+6+vr/uvr6/7r5+D+6LRK/ui0S/7pvWL+6+vq/uvr6/7r6+v+6+vr/uu7 + Wf7suE/+7LhP/u25UP7tuVD+7rpR/u66Uf7vu1L+77tS/vC8U/7wvFP+8LxT+fC8U3rotlEEAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADr6+s67Ozs+ezs + 7P/q4c6/5LFI/OWxR//lsUf/5rJI/uvm3P/r6+v+7Ozs/+zs7P/r3sT+6bVL/+m1TP/qtkz+69et/+zs + 7P/r6+v+7ODJ/+y4T//tuU/+7blQ/+66UP/uulH+77tS/++7Uv/wvFP/8LxT/vG9VP/xvVTT8LxTMQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA7OzsKOzs7Drn1K8B5bFJieWxR//mskj/5rJJ/uviz//s7Oz+7Ozs/+zs7P/r1qv+6bVM/+q2 + TP/qtk3+67lS/+zSn//s16v+7L9i/+25UP/tuVD+7rpR/+66Uf/vu1L+77tS//C8U//wvFP/8LxT/PG9 + VIzsuVIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA26lEB+aySNLns0n/57NJ/urUpv/s7Oz+7e3t/+3s + 7P/ryIH+6rZN/+u3Tf/rt07+7LhO/+y4T//tuU/+7blQ/+66UP/uulH+77tR/++7Uv/wvFP+8LxT//G9 + VP/xvVTe8LxTPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOaySTDns0r46LRK/um3 + Uv7r1Kb+7Nq3/uvGff7qtk3+67dN/uu3Tv7suE7+7LhP/u25UP7tuVD+7rpR/u66Uf7vu1L+77tS/vC8 + U/7wvFP+8LxT/vC8U53vu1MNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADotEp66bVL/um1S//qtkz+6rZN/+u3Tf/rt07+7LhO/+y4T//tuU/+7blQ/+66UP/uulH+77tR/++7 + Uv/wvFP+8LxT//G9VP/wvFPo8b1UTgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + AAAAAAAAAAAAANLS0j3k5OT85OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+DI + l//dqT7/3qo//96qQP/fq0H/4KxC/+GtQ//irkP/4q5EpwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADExMQj5OTk6OTk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk + 5P/k5OT/5N7S/96rQf/fq0D/4KxB/+CsQv/hrUP/4q5E/+OvRP/jr0X/36xFVwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAxMTEJ+Xl5ePl5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl + 5f/l5eX/5eXl/+Xl5f/l5eX/4btv/+CsQv/hrUL/4a1D/+KuRP/jr0X/5LBG/+SwR//lsUfswZU8GQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAALq6uh3l5eXi5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/k07D/4a1D/+KuRP/jr0T/469F/+SwRv/lsUf/5rJI/+ay + Sf/ns0m2AAAAAAAAAAAAAAAAAAAAAAAAAACPj48G5ubmzObm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm + 5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bl4//jtFT/469F/+SwRv/ksEb/5bFH/+ay + SP/ns0n/57NK/+i0S//ns0tmAAAAAAAAAAAAAAAAAAAAAObm5oHn5+f/5+fn/+fn5//k2sX/49S2/+fn + 5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+XKk//ksEb/5bFH/+ay + SP/mskj/57NJ/+i0Sv/ptUv/6bVM/+q2TfPNoEMiAAAAAAAAAACTk5MO5+fn8+fn5//n5+f/5d3N/9us + Sv/k2L//5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+HV/+Wy + Sv/mskj/57NJ/+ezSv/otEr/6bVL/+q2TP/qtk3/67dO/+y4TsOScjECAAAAAK2trUTo6Oj/6Ojo/+Xb + yP/crU3/3bBU/+fn5//o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/n5uT/5+Xh/+jo + 6P/o6Oj/58V//+ezSf/otEr/6bVL/+m1TP/qtkz/67dN/+y4Tv/suE//7blQ/+66UHYAAAAAl5eXDubh + 1qDhx5L/26lD/9unPP/iyZb/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+fX + tv/n06r/6Ojo/+jo6P/o2r7/6LRK/+m1S//qtkz/6rZN/+u3Tv/suE7/7blP/+25UP/uulH/77tS+LeP + Px4AAAAAknQ4DtunPPfcqD3/3KlA/+fi1//p6en/6enp/+XOof/p6en/6enp/+np6f/o5+P/6enp/+np + 6f/p6en/59Gj/+fEff/p6en/6enp/+no5v/puFb/6rZM/+u3Tf/rt07/7LhP/+25UP/uulD/7rpR/++7 + Uv/wvFP/w5lDQwAAAAAAAAAA26c9d92pPv/hvXL/6enp/+np6f/p5d//4bNW/+np6f/p6en/6enp/+jY + uf/p6ej/6enp/+np6f/o0qb/57ZT/+no5f/p6en/6enp/+rCcv/rt07/7LhO/+25T//tuVD/7rpR/++7 + Uv/wvFL/8LxT//G9VMyjgDkHAAAAAAAAAACFZSUC3qo/xObWtP/q6ur/6urq/+bTq//jtVn/6urq/+rq + 6v/q6ur/582Z/+ni1f/q6ur/6urq/+nXsv/otEv/6di1/+rq6v/q6ur/68Jv/+y4T//tuVD/7rpQ/+66 + Uf/vu1L/8LxT//C8U/3xvVSMsow+BwAAAAAAAAAAAAAAAAAAAADNsHM16unn/+rq6v/q6ur/5L9x/+S6 + ZP/q6ur/6urq/+rq6v/nxX7/6dm6/+rq6v/q6ur/6ty//+m1TP/qvmX/6ube/+vbvP/suVD/7blQ/+66 + Uf/vu1L/77tS//C8U//xvVTf6bdRPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLi4mXr6+v/6+vr/+rj + 1f/jsEf/5b5u/+vr6//r6+v/6+vr/+e7Yv/pzZb/6+vr/+vr6//q38f/67dN/+u3Tv/suVD/7blP/+66 + UP/uulH/77tS//C8U//wvFP+8b1UnsCWQg4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6+vreuzs + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGNjYxGtra1sra2taKmpqWOioqJeoKCgWJeX + l1FhYWENAAAAALyPMlXZpTrU2qY7nFE+FgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAL6+vmXi4uL/4uLi/uLi4v7i4uL/4uLi/uLi4v/Wya5116M5pdqmO/7bpzz/3Kg9/tCf + OnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOLi4r7j4+P/4uLi/uLi + 4v7j4+P/4uLi/uPj4//fzKT+2qY7/tunPP7cqD7/3ak//t6qQPangDApAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAtra2QuPj4/7j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j3tb/3KlA/92p + Pv/eqj//36tA/+CsQf/hrULLZU0eBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMjIwW5OTk4OTk + 5P7k5OT/5OTk/uTk5P7k5OT/5OTk/uTk5P/k5OT+37pu/t6qQP7fq0H/4KxC/uGtQ/7irkT/3KlDfwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIiBbl5eXQ5OTk/uTk5P7l5eX/5OTk/uTk5P7l5eX/5OTk/uXl + 5f/k5OT+49Gt/uCsQf7hrUL/4q5D/uOvRf7ksEb/5bFH+reOOTQAAAAAAAAAAAAAAAAAAAAAcXFxDOXl + 5c7m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5eTh/+GyUP/irkT/469F/+Sw + Rv/lsUf/5rJI/+ezSdZ0WiUIAAAAAAAAAAAAAAAA5OTkoubm5v7m5ub/5d/U/ubm5v7m5ub/5ubm/ubm + 5v7m5ub/5ubm/ubm5v/m5ub+5ubm/uTIj/7ksEb/5bFH/uaySP7ns0n/6LRK/um1S/7mskuOAAAAAAAA + AACdnZ005+fn/ufn5/7k2MD/3rx1/ufn5/7n5+f/5+fn/ufn5/7n5+f/5+fn/ufn5//n5+f+5+fn/ubf + 0f7lskn/5rJI/uezSf7otEr/6bVM/uq2Tf7rt079xppCQAAAAAC8vLxu6Ojo/+TWuf/bqkX/49Gr/+jo + 6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/n4NP/6Ofn/+jo6P/nw3r/6LRK/+m1S//qtkz/67dN/+y4 + Tv/tuU//7rpQ34NmLA5bW1sF3LhvrNunPf7drEn/6Obj/ujo6P7n4tb/6Ojo/ujo6P7o6Oj/6Ojo/ujo + 6P/nypH+6ODR/ujo6P7o2LX/6bVL/uq2TP7rt07/7LhP/u25UP7uulH/77tS/s2gR2wAAAAApX4tM9yo + PvrixIf/6enp/+nn4//kw4H/6enp/+np6f/o3sr/6enp/+np6f/oyo7/6NGj/+np6f/p5Nv/6rZN/+y3 + Tv/suE//7blQ/++7Uf/vu1L/8LxT+L2UQTkAAAAAAAAAANWjPX/n3sr/6urq/ufWtP7lw37/6urq/urq + 6v7nzZf/6urq/urq6v/pz5r+6b9q/urp6f7q49b/7LhP/u25UP7uulH/77tS/vC8U/7wvFPQwJZDLgAA + AAAAAAAAAAAAAJ2Why/r6+v/6urq/uXBeP7myIr/6urq/urq6v7nvWf/6ufg/uvr6//q1Kb+6rZN/uvK + hv7sw3D/7blQ/u66Uf7vu1L/8LxT/O26Uoh5XyoGAAAAAAAAAAAAAAAAAAAAALCwsFzr6+v/6uLS/uSx + SP7oy5L/6+vr/uvq6P7otU7/6ti0/uvr6//r1KX+7LhO/u25UP7uulH/77tS/vC8U/7wvFPczKBHOwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHd3dw7s7OyW5saEkeWxR//py4//7Ozs/+vj0v/ptUz/6r9m/+zg + yP/sxHL/7blQ/+66Uf/vu1L/8LxT/u+8U5mLbTAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAVkMbAeezSb7ovGP/7OLN/uvMjv7rt03/7LhO/u25T//uulD+77tS/vC8U/7wvFPm1qhKSwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzNQAgAAAAAAAAAAAAAAAJ57Mx/ptUzx6rZN/uu3 + Tv7suE//7blQ/u66Uf/vu1L+8LxT/vC8U6ubeTYTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAFZHgmBOAxUwAAAAAAAAAAAAAAADWp0Zh7LhO/+25T//uulD/77tR//C8U//wvFPu3q5NWwAA + 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 + AAA= + + + \ No newline at end of file diff --git a/Form2.vb b/Form2.vb new file mode 100644 index 0000000..f68bf35 --- /dev/null +++ b/Form2.vb @@ -0,0 +1,9 @@ +Public Class Form2 + Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load + PropertyGrid1.SelectedObject = My.Settings + ' Attribute for the user-scope settings. + Dim userAttr As New System.Configuration.UserScopedSettingAttribute + Dim attrs As New System.ComponentModel.AttributeCollection(userAttr) + PropertyGrid1.BrowsableAttributes = attrs + End Sub +End Class \ No newline at end of file diff --git a/GSI_data.ini b/GSI_data.ini new file mode 100644 index 0000000..c2f91b2 --- /dev/null +++ b/GSI_data.ini @@ -0,0 +1,139 @@ +[WORD_INDEX] +11 = Pointnumber # 11 / block: 11....+00000H66 +# PtNo=“H66“ +12 = Serial number # 12 / block: 12....+00640054 +# S.No. “640054” +13 = Instrument type # 13; 13....+00TCR305 +# Instr. “TCR305” +19 = Time # 19 / block: 19....+02081029 +# [MM.DD.hh.mm] +21 = Horizontal Angle # 21 / block: 21.102+17920860 +# Hz „179.086“ gon +22 = Vertical Angle # 22 / block: 22.102+07567500 +# V: „75.675“ gon +25 = Horizontal Angle Delta Azimuth # 22 / block: 22.102+07567500 +# V: „75.675“ gon +31 = Slope distance # 31; e-g. 31..00+00003387 +# Sdist: „3.387“ m +32 = Horizontal distance # 32 / block: 32..00+00003198 +# Hdist: „3.198“ m +33 = Height difference # 33 / block: 33..00+00001119 +# Hdiff: „1.119“ m +41 = Code-Block ID # 41 / block: 41....+00000013 +# Code: „13“ m +42 = Information 1 # 42 / block: 42....+000TREES +# Info1: „TREES“ +43 = Information 2 # 43 / block: 43....+000004.5 +# Info2: „4.5“ +44 = Information 3 # 44 / block: 44....+00CAT.02 +# Info3: „CAT.02“ +45 = Information 4 # 45 / block: 45....+000000NN +# Info4: „NN“ +46 = Information 5 # 46 / block: 46....+000000NN +# Info5: „NN“ +47 = Information 6 # 47 / block: 47....+000000NN +# Info6: „NN“ +48 = Information 7 # 48 / block: 48....+000000NN +# Info7: „NN“ +49 = Information 8 # 49 / block: 49....+000000NN +# Info8: „NN“ +51 = PPM/mm # 51 / block: 51..1.+0000+034 +# “0”ppm; “34”mm +58 = Prism constant # 58 / block: 58..16+00000020 +# Prism „2“ mm +59 = PPM # 59 / block: 59..16+02200000 +# PPM „220“ +71 = Remark 1 +# (or Attribute 1) +# 71 / block: 71....+0000REM1 +# “REM1” +72 = Remark 2 +# (or Attribute 2) +# 72 / block: 72....+0000REM2 +# “REM2” +73 = Remark 3 +# (or Attribute 3) +# 73 / block: 73....+0000REM3 +# “REM3” +74 = Remark 4 +# (or Attribute 4) +# 74 / block: 74....+0000REM4 +# “REM4” +75 = Remark 5 +# (or Attribute 5) +# 75 / block: 75....+0000REM5 +# “REM5” +76 = Remark 6 +# (or Attribute 6) +# 76 / block: 76....+0000REM6 +# “REM6” +77 = Remark 7 +# (or Attribute 7) +# 77 / block: 77....+0000REM7 +# “REM7” +78 = Remark 8 # (or Attribute 8) +# 78 / block: 78....+0000REM8 +# “REM8” +79 = Remark 9 +# (or Attribute 9) +# 79 / block: 79....+0000REM9 +# “REM9” +81 = Easting +# (E) +# 81 / block: 81..00+01999507 +# E: “1999.507”m +82 = Northing +# (N) +# 82 / block: 82..00+00213159 +# N: “2139.159”m +83 = Elevation +# (H) +# 83 / block: 83..00-00032881 +# H: “32.881”m +84 = St. Easting +# (E0) +# 84 / block: 84..11+00393700 +# E: “393.700”m +85 = St. Northing +# (N0) +# 85 / block: 85..11+06561220 +# N: “6561.220”m +86 = St. Height +# (H0) +# 86 / block: 86..11+00065618 +# H: “65.618”m +87 = Reflector height +# (hr) +# 87 / block: 87..11+00001700 +# hr: “1.700” m +88 = Instrument height +# (hi) +# 88 / block: 88..11+00001550 +# hi: “1.550” m + +[AUTOMATIC_INDEX_INFORMATION] +# POS : 4 +0 = Automatic index OFF +1 = Automatic index OPERATING +3 = Automatic index OPERATING + +[INPUT_MODE] +# POS : 5 +0 = Original measured values transferred from the instrument +1 = Manual input from keyboard +2 = Measured value, Hz-Correction ON +3 = Measured value, Hz-Correction OFF +4 = Result of special function + +[UNITS] +# POS : 6 +0 = Meter # (last digit: 1mm / 0.000m) +1 = Feet # (last digit: 1/1000ft / 0.000ft) +2 = 400 gon +3 = 360° decimal # (DDD.DDDDD) +4 = 360° sexagesimal # (DDD.MMSSS) +5 = 6400 mil +6 = Meter # (last digit: 1/10mm) +7 = Feet # (last digit: 1/10‘000ft) +8 = Meter # (last digit: 1/100mm) + diff --git a/GSI_user.ini b/GSI_user.ini new file mode 100644 index 0000000..6b330bf --- /dev/null +++ b/GSI_user.ini @@ -0,0 +1,8 @@ +[CODE] +10 = Quick Set +20 = Set Azimuth +30 = Resection +40 = Free Station +90 = Measured Data +99 = Imported Data + diff --git a/MadMilkman.Ini-1.0.6/.gitattributes b/MadMilkman.Ini-1.0.6/.gitattributes new file mode 100644 index 0000000..d1d7702 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/.gitattributes @@ -0,0 +1,14 @@ +# Linguist overrides +*.h linguist-language=cpp +*.cs linguist-language=C# + +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp +*.sln merge=union +*.csproj merge=union +*.vbproj merge=union +*.vcxproj merge=union +*.vcxproj.filters merge=union diff --git a/MadMilkman.Ini-1.0.6/.gitignore b/MadMilkman.Ini-1.0.6/.gitignore new file mode 100644 index 0000000..b202764 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/.gitignore @@ -0,0 +1,25 @@ +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Rr]elease/ +[Bb]in/ +[Oo]bj/ + +# MSTest test Results +[Tt]est[Rr]esult/ + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/LICENSE b/MadMilkman.Ini-1.0.6/LICENSE new file mode 100644 index 0000000..e06d208 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/LICENSE @@ -0,0 +1,202 @@ +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Documentation.chm b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Documentation.chm new file mode 100644 index 0000000000000000000000000000000000000000..72d570913c3cb698994587a51092e06a34f0b2a7 GIT binary patch literal 220459 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

OU?$0!3-<-zX7`!(UA;~+ zmnu!LR$I&h{P;iC!vg-o(C`)+cs(9wrD4KEfC569;cF7uh7&huA-k(1{~g+(6!t*Y z1l#XNV;xaqh~DO%fu95O|30VB5RV|X35s(vL*Sm%;j}l~`OHahLHyT%LTTaj0CvRi zJ>F&KPu6cO-BsIXE&cF!i{*f}Y~n^pgsyig4)1}l^{_q0-sXgE6_2S`xg6Kiq_*5v z=D{dec5Ru|0k9sHA6^Q`LNSyWKJ=a*4;c}G2c-BWV{trW+&9e^E`MxjlL>VlWik-n zbrPW^_yIY?9Xj!@i_wYlpi`f&^G?Oydi*hFZ<%KAe|`P$IRrv~`!@B;Hp4bmn{2It zh01`4fu7r!m{_`bKu2vrxue~_v$mAomD5@nCm5VWU!)M zpWtl(bO!_26lf|Cj=UFW`4abaMo)RP(bEXE<;Q077ws zv_MK^wXI4y(-9uj*JkD(yeGo~!(54U;q(nG1nq_X4^ihB+-b11{eO&2vaxM!l8v2g zY}>YN+qP}nwr$(Cp51fKTW^28tM00vnGZ8p_wQ;wxOHnDiAhl`I>(=6Yd8?--KV9@ zNH$bh6HOuEnBn#&d0+KSqs*WBgyNhzC+Uk%q%Mwm$`EUdZnXOT=BV?Nos6mMM!jIN zx9?lFLNMFJ_LJ4HE6>83&M=#P29{px*bRaY<+<49X9idxa62L43|aH1hc7O}OOZlL za8u?hrMx_EO27fg`gcl1Ab_?RcXzpjoVKH&I5)swCGT;s`2T&O09wgN_cXclkG0=qglu^g zI98jL2-cX&ZHWLUKu^yQ6lGvCXQf#Yy889)k5p~yu7lP3`(cpm^fyoF*5~SQS~Bl~ zEhm2<;LpFmb;8c!jW6afZ7#^Oaz4&iVdPt(+0^bg8~V|t4k3zapxvYLo6SS>kP6t& zO$^s-TL!(bFqc-iRiDbG73)--d&P1zh}4Qvq2qDKZcldPSwt^)3ynJ@{FUMW+7Rd4 z2A z#YbC%stGpR%*<^ZW1U|3$s}*3P!Ea_P()YWIFMbj+`N3aA+z3(>U5EQONP=$L5h9i2+HGp_hGq8U?0JjJOcnF^lfp zank^<1cNAlioYnMS4wZIE1W+cj;T7~m5gqF5!VA_ccMB}mxE1xz$R_uZx0bL09W{x zs4>KF6p@8QEB(XbU~&``NxB~Af)j&+`S)<=0(D{x+v@~8qD7y_UM96)ej)NdrP6fM!Pkdw+lk zu-?d)_zC$Z z1RUN+mhJECJ)mPSnd}>egVF+`K4J8NcBu3)=LV_St&1|ik3g(8}Fj|gjX>HD}QYX$l z&?+jD!yIh3=~>}(tow$>G8A%p_=o9KzD7!zVnHn>YAUB$B=Z>61xfXHC2h=NzX~hK z+lakG+YseBFq^>S(|_&7BTJRaH71waU@4~8X3m%KQY@N@a7GsoCTOwf^Y4*h(ss;- z!TLYCJ2faq6b+x0?o7F}UK=KiP|eFI&0(7OSScoMjMW>}aKdEIM<)TVL#xHNh`z-o zkNk+q+F`OO^Pi)=B!B|5sm9}osw(W3)kvd2qZC6EyER*H>{Y$sGAC|Iim^al+TmBH z_m^(R?GP>AxBATE^_i;3af^Cl$UfruQqKr)2kTx7SzJrFO3Uxvx`=}sq3Tn~*_Id+ z7Z)L7T_=vJERRLMzCdKIr0%SArz(*4{dA*{a^JLI2GXsBQz({(J?X9b4jORR-qz4Y zQwE~6BYY6Cv$_L?#zI@g=B>-MstLYr)pK~YYD$KLP0N6eeB+BYpsZM0QQLv&nDH+@ zhHhmyq&Pb5efFEbja4d#?qB7o+hW^wpW9Yh6Ej2G<2<*h@qyn<((IddMBrS|Bw)F{ zT+XB1PWt&s@rKGBD81`%mae0H*A0xbo6n^uhluO@TubB@;z34V+ZX&X2UfLSoR^2@^P3`i?xjta87u|R`tf8Xjwyn={87SzN{{B@Z zrR<0qvQh}GQqIqw91y1V<8roA)cNOF?bFO$wh5VfUnf)*y2trwgPX1jKZ8|SQ2`yyD! zNCL!d^7o8D&h5AcK9D@R_7O|!TYCEHXXPSrZ*)>A_4A@DZKz_5EW>$hhJ|zvU>f(k zc}dR7G8WHYvr!BuV9zqJP%7s^jOw(9b%8ONL=leg_EEKGHmrz``G!SxKkutxh$d(2 zVvkoj_w3h}ex5ZJ<%L_haOfwd;D0m(j46*$K}8<7S^%S&qn>gMTp=?P4yV() zG9hOM4jC7v9}(i0HT&@oHB-~A8`zULtd(B1o$d2x;p2%pLgil=9l2r2#}mN#RBm~L zVd1?sC@xCedh!#a$ZnhI=9OFfuQ2+lYi$_KJ|j!Hf$E0XYa}ZF(c1a8~-fsP(?hAawspQz?b; zhE+Ka=6OJEl;(G8|0HcJ68=(o)f2g$;blx~R8&=%hN7OLLN6W{KZV&r`3@|b7^a$| zJuC$a@!pc6O+6$|zNdX*1m|q5V0}JI5Q}8=^CokmF5Hu((qqrH?y$M}q9YvC^5 zYhm9TTN$J6a`@uX$+x$=n%kE;4C=$<1ITMb$}gHlI>A)Ca0;R>TTxV)ho$W^@+^Y! ztw>W~7waSiafr!;2~UNSi<$oVM<$%KLwYWKowMxMk8}RF_@eiB7C|N`6GE4yIh~Sf zYe~;Qdz+s#`onVc*6~-dMO1Z-IPEOM_OZ`)Y@mx7*8O*K-IQo9BieUJuj3#6YJVcR zl*434fnfiXbV4?hT8Iq!n)FcL$miDi)gXpd<1XphI=juPdt^c&%IvPm4m_cJFZ2+0 zx2v=JN5+O6t~Lqy#-F>CFwb%6PpDV$l19B(ruz!?eO5yC%M}cbvWakMwBkj* zi?C^12|;y#Y*y{Td>q!uN(-jh2%Oz2k75jQ8~$paQ#+ii4|CC>zU{xuR@~N)lQB(P z%Tt=_6y_TecGypc>C3De&Ys0>Ko2W#Q%GdlcMNu3W+&iys+3ONI%vNih$XqXgRg6o z#%?~t=y5}}9$|WDooFK9AU7Vk5K`N^Q_N3b#@VzfMXjKMV~Y>e$<4TUJi|+hD}t6h zxd5h#Hr+PU@Ca&Yg>=FzsBM+8(8_R=V?zub$DF#>m?~8WB89J4i;yMgnhWkm=Y4-D zgji`_&oizNwkX)Cp2T^HG&^BvViUZNOVOD-yabPSOMI}Rx+$&)fhpWIN6Bzogy?)s zvVeSYQd}amH7ST}RAX0cRALhQEP^bV!=+aiXkXj+OgTL&6Ofo{Z*+s0UXn4UU~Yyw zcD*gFg1Efc0#;o$mEGCB(jGllgJH%q#V@Up5K1jK-1O=v44|45S4_rKvq0XS=A$hEahn2yrdkFhAon-@BbBz#60$*Wh6aO>jr2 zgd=j_Rf!qKw1iX4^Um7(Rt9q*RRZo6Z!p6_t9kZEZnQp8%j)FaW_8lyio4-ZJo_NFJJ|B;r4bKi67neaM z!gWs#f7W_C^^iz#|0T{#16B-!nT7g*l7GnWH{{?g%HZ(jsf-;YL+FFiln;U`QOug- zSKOm-)9t&Q5&RHu{o9zW9HqGm5CE%vCQ4A&Qwj%$PEi(w2`J2Pay~+13i$U*h65xP z&Vh1Id>UR5VVjTAIh>(rr>RHZ%irbITi%m*BWYM8Bb)$&iuTjC4!tNUZG1*GzwKcU z6KD$f9l>XHAB?Yy+(Y>jz>Cgy7vd4W81s`SjpcD7Sx}U%BPnE`AGf>08f9{sSY*(~ zx}d|it&JFmq9DwjOPdE1N+Rp$G2)%cE6gNbjJ$v; zJvQP&{mtv;d+UNfI%c2qqu3(mDLA_**@d~QxV5EJo}^mD;3)&sd{Q2CNo53kFL&m7 z91&7%VyvkA+|nZC`CjPqD0EG{CQ0{!--_gusxC+)67$W8hXeWe>3bQ|ewL(w5RT?^ z;ZKT4lH&wD9B`8!b&CAKQFY6SJHtJQC~~qt)aBur&k-R{VgvoJ%L@Pi2JpP!CMUV; zBHoKG21DL0}1W+P1l4@K= z5@8nFUaG-L)+S)bs6$UuK}e;n{4B}8E_VYimX$zM53*=n`5ZVF*x(~sfxhfaywKV6 z{Nlnq0)n1-$AJ1^S!C(Cl&Jn!&-YwXH@}HTvf*a+NEP)Qx!I@4=Z)k(Ozv>PI6a== ze{Wl^n8u*;u^kwj$txem@Y=<~t!2u69lY3vz}HZ4`J-MQ$48W~5>T7l+R^b10^O<*dG2fmINWy9RwR{T+Z}lS>2SJT zL(6|Av~LQ&9lhH26eYFl_U@Udi=@Id0Wu;DHf)8w^zX>irT5+&SOhfX(xi|Of9`R7 zep+n)P|8Nbkt=Y!;~GRao9c(@dg;CMVnsJvzT7jg2Pw6x&qQ&;YGk_^03D_bo6Y$C z{YX6KA2^JMI^ewnK>3&7-weSSg-I4CsQlWAVN)|hTy(#jgdecWb$kHDZv-4*r>qY?NuW;y76ute!`t@!cSRM3Tz$7QRO@ z4_ByT5eZDBz2eBw_3=v-IGmz~ti?-$aCogvYa@v_JX~D}njJPuv+6LoiQ2~y7InkR zM>fD8NpI7NgG#wett(7P)hj9qgRcUptUWyd&jX78(M`~E&Y;l|fu;fCi5bT3QUe)(mS3^&RKQ3E#l|lf9*_&hQfL6auvsMFcneAow}CrWfMS`AN`yZ z1S==4A!(Wn6&HN>Qr2#Y#PUQ@ zr9UL&{a{fcW#u5qEH_K1RT@8qxE#?dTBK#prN8ST|bgt<}(Lt6S?!mR1f5dIt#|lmT>-V|`FF zU#c2U&(slP)vD-`yZ)0u1tqy8kqLK@OULu;i(svbNl`z!xcN)7Ex^;;uz8-`3~z0_ zEBJz<%)k27|YBK*kg_@IQcN$n_;2*ds?E z4ak8L_Ne%{>2*st))YD_v4lTb@iM1k}M0j|~WQsQ?72uEX+ka)tWVe)79qBdt>MxW2A@OOQ zw2+{sZE=d|W&fDVy{?~02p!Bp~>*-@wTtLl9 z+q`(U6^@VCPhsq2nlj*nI-qT6%rB})8^DM2h=}tGgQoGb_%rE|QuWlqgXEkCbroxH z-9S{8`&!y`0`||n)Ru1J{A~J2O+N2mvIhX@`GWho)U7C(6V337mQ~j{4`!d%beWD{ zy~&#k#Ixu*%T{23kk7hQxn{Zhf}M4;AQvzMC$t9hy+`JMA7lz?o-DqtJglftcZK$D zLU)Q3VVLVl7hU8~?YyLlC@+B~nRmp%_X4CPZQi%TQTz))Nv<%hb%%wAyM#@xW?a(Q z?^nH^I$0TJm_WjPXvE1n9CY$mcKjO__@g&}l^Wu{B@ku_9yomiaQ>%~{D0R{Q@cj# zMdXE*6?2&8rYDmrW*WuvCaiEK(_T@CjStBk7-FW$_(6GM$*ei=w%=-h$rO5LAus?u z;Jd-6a{bKWmwFsB-j1zr#v)1luN;!59RspDkn}l*!?CV*A}zy`%XO|Na`Rq;`7|wu zlH3c!d1hD#Wo1W`JU^{ZnS@`W-K3&Yx2kdC;2Z=Lga7j(;b0-Z^4h#gU$yGAu-ceN zUl&+x?xSZJo84YYN*&s2{b7M%2(0V-3J@Tu{1bLZfdA)Kw+n?AfB-LBjUXJLFhI@? z902(efCvEI5&a-&C=5RL*Xm%7&h0>!H7guRT;lsvym&EW041S1g%%jm2U-cmC@#q> zCuG-IYt!q6K|7!|4p|%TSY)4vtexndED*M3% z!kv}?G-EvLEj{Nah>e)!#m-&j0%}$YhD6u;G%Vx}7JVIG+rJl|nd0}*KWp>bj zq+W?efKE$^RH0I*RdY-|+6i%)V)d`h1iVIK^0FB%VkS7>B9&^(o9nm{)a7LUhB)_O z+vW!ATKRXZSYQs1CeOBUYS|>p(6i{TJELS+?@S<lnQd;fqHJvBRwqIv)W+&GpMu-@y5lU>;IFu*m z@odSYFTdV(;OH@R9#clUuIT^PaDcIj=~?fs9u6)ztGhTEmAinn68^ zA}tjnJDfT#-otHDAzZ(dWt1QpTBGD2MF*MZf3yHU`!u%T)Z>VDg1EV;CcIo(56kLp z_Abt7vux^VD*SC*TU;q4Qdsve|M0(~>M6Q1W8 zTANXr!Iqf@lPC9D70%D{Zp3|-mE5KBjXb~}xZS4fCgQvvZrhL39{-rx;_T+ zAf&xFKfjI?22{;E{{%OiA^2yRCW9~6K3zMBC6Mbo8ja`!5i(8PAiOPki>?55>l!6& z$V%CPZPAmZhpB0tXZeoMpM&v{H1XUP-N2^iLkbbjiV_Q1I8p-5yL z&A-2l*^9vC9&|D;hRSr+viAx(Aj_0qC_RcV9?Y-pUB@15I(~dQIeXh-j2-JGl`*jc)DKTfq2|14HPc+ z*9b?0yyLfp)CrJOV`6fQ92304ABKu|#|?V0%94n_6JM1dLrxz8VfZKLOYzLvBk~We zlF-#r<@BgAP5U{ZE;ag}1~kvptGG6Lb}g?t1r03n>|v?Hag3MmyBe}-4h>gP0{O>c z!|XFNeO*VCh8)Z>kiROl^z}V(Si?oOy=lBw)fyoe)r{XKs3;U`J6em(Ot#&qT$jmv z^Mtr9(O{6Ras=1l_?UpzSRI{V7}eRU(qp|gL)2rDT!&BRQex$>wor`m)DDX5Y8hxExUacZ=M z9wzXwCAR5;k7p*RFN{pZN>mtT+ZE{c4HQy9!f;u#SI1nQKw~&mH|Q}pzO;Fr`o>N6159Yxf(&TwTcC)@XO8j9}@rVDX-tcBw<#+J?0NnbuL^ zX*=c?`Hhj}MJtOY`{3APa?;%{lOMn(4AGbzvQD~lT$5=aXC^5+YQ@GuP~G$3S)5PF zzJLzQhlOtvmpc!g6?EHGHJ)rhT~X>Fqd4bCpzv0 z5KqXOd&68ahkAb8Q93+ZWr?^t@1K^fl6^BVVIr&O`Ca(8h1O03tI3cKY>t-t!X^?T z3H_OGH`?loSL&f!Ot zcB@S`pV;O0?k&OGFPbLMDeB^nVaxdQr3wGTjym~!$y{pDR+ey`dZpp% z+2?u=%>JQ*NmE2l73tgjOLw>*yLLj>k4J6l{d@Quu5QBZg^Yl=pr`K{j))bj<@Y?j zWwOc0=U?ho>dLt=>6(~6P~GSyv*mmFHu0>RT7A@@VXEh`eDl%{Jc8-B{_*W zaA6oP8{_ZA$ppn@yJu&5ng+5_`nU5;O!-uEvL=i`RMf3hW+AkZx+Bdx_qj>7N)}#) ziuR|t`MJw4Pjy_>f|U(XS@@RLQvm{o0~}F^MuiC6F$Z;rdRTe;r!P!i@;n*_4PPG# z;VRr#%gFqx9hNkTjUPeM&9at+#Ac1ZufMUg0yK!Xi0*1B&oI?q(3_$_v;#gTVa}M` z#}bXqcF(9trd0%$kDPPezHIeXm=PPjoTNgt`AvUgKsSc5)q|2zOdyqlvleR1!_zr& z%CwyXnDCv2`L$oRU|OW8rLVRyL}55CmKIKw_3@O?&DAN`QssNrv`MYlA6_QJHY`tR zuHy&tUQwETs^$CdYue_~c;QsZ)5ExM2&J{??Ig!5Jj zXL^*>4pxCgVQT%W%`V_kDX=+p2p)9Pw5X`kct3x5o`y&LeKrATr|rdE`?j_7`2VxO$72R9Z&vw1p7+ZQ63N)Z1lY7P3-6P}3Y?!A ze}u{)I?mhCKiS@sIa0htM-GVI3f3p9^^-V7+QzX%`@Vfp7nlFY_WO5Z1pw+m_QpBu z*{SG2kkx7!6Z#iWAbCiZk7vm(o9AEGiWSy#_`MR+8kWZFZ8gDWN$z7k6Vt;o8-eN1 zuNsMSJN*|%??3yn&qc08=`1`0cXoVpLN^!&=QAP6y;Z=X{+b8?I)Pq76n_DiRfh{f zc!oCFqw&VyFA#I&m+m*4_`zg60Ii1CC~ zcn=rB+&O7V{_G2Idv73yeJKj?X7~l6<}OE-RCD=uN*P1~88&_ z;)yX5VIc~=2OH3}69{WWe5a~{AY7Bw0b5oMsD`g)QP8y-Bh8OP!g3jZX)a*EgU)o; zk*yb*%h&$p^7mCr^i*~wcJ_B!BOK|De}{YUmoVysot~dnSloq342yBCO$kZAD3Uwffb8Vl=u3DCs#6nt&<-`VH7FkXUMH+!)Mn_6*DNv&gY) zA_buaY5WX;_P>9`tMj-xeg|N|n-H+~)&m>b5rEs`OZdl<#s2|7&-k5yXW9srDJNNJ zm4BS{qF)(g0zY-ii8GQB6&v!3XGX9q#=y_!`u%gx`4<%Qdcq>ZFlryl`ggQ<(N)g- z-Z-mV12m2MN-UI-VwQ#xVO!=EpVufvNeeA(=Z_~i=I~Be0!^AN0U}xoAbQW*EBdIp z6VOTKBwVSoqe`N_FUs76XEt>-a8BZzj z2m=&b+GtQDF$n}As+wU}2tWIfC!V;(m#hc1x$c*(eZ??H(;5m?{YfC@Y|xkP^gjGj zVkaX4$*pamOmlunb;cWYg9P7u)yrOJcLhwl^nmP%qb~ zmMwCsw0U&|l=&1Y7xy}*yfXuVBJH;mk?pnhni;o2I>b9dD|`Di6&(_ zdZ%R`!(%QNg;2W{~BlsswO+{wX4!k z@#(nR#3*AN-z8dIm9P61VYo{swov(dUG$0-qx1(+AGxjqLJ3@cL=7AhhN$m3!u&?= zh%Y27U<3e|hCtZK6eOw%aCgADAa-6MX3cC`81vsA(Be;*rDis$5O0U3A6!&38}q=LtHz5oa~)nkyaS5AI-=+-;A-E48Eo? zPr&2$3UOQ6&sj94Ff-VQ&*?t8hx#9dQP@2FO7MRXl0Wed8nDt$i9`7LFy{B+2?2)8 zLNU4hVC4oBv(v6P?GKHIDdZ{9o0Dk?|juV{OP8%Pl^#_&XdJEGIC>bVbsquYTw3X=1J@5^sG| zeMbDTY00xTfK3`jI-b!@?DMq81O^Z}fscv~sKn-JT^$Q|F2X7je+&@PM((ju7*0{g|hCbrwz z0+fO@St7qpO!R6?q)GH;2{8LteZc_9C-?d0ao*l^vTCooTwXJIXBk=3)LdS*x^nVd zADIhtG~J{SZv5k)2OK~chKC%64hjnZf;MS{^`k^qBme>>Z~+#D6oJP7116FMa6ufH z&Nm?=KQ<_i&r4_5t4*NvXH#1$5`2`5xr6?l5=OFYSJ*&I3p>alwJA&w2i3o*6vQ#x z0o){)*lu=u%cqW&kMZL?K^sC!NPpWhAIlk&V68+gtsud}B5HPoa(@tqs=$w;WNTXPO#3_4<9@T_01Z=gYU8M-lY% zFB0YUIKL(m37anTq!9Lu9v?nBN#P`@tN98i^9lbH4H{(2cUDdY`<>AB&+=%Y^A8M8 zcG#w~N8{t3i!UD^8JwcO5$)bdOJkAelN$z!9JV|P%`D;33ctnMMfFEhat-!>>XG=C zf`UpQ9C#NP1k!K^66z1PRSOHTPG*zA(J0puct}(yJBwV#x03w~@)!d5DYaa!5zXX~ zFLctK-EJ*0HoF-JxmBSGA54WJp@c3^^f9Qv<2U z8MF4rm3vOjGK-ff?30(LIg)?iW_Uu>({514ghZsJ9oiugf^l%wGCU2a;{Cwg8%(qfZi6*wZNMi!jJ8%RGZ9xn>36To+D+Xi zptY#s!zLaW30hupz^+lfym$5bXWdQ-hm@}Vp6S9|}|h}NkRvfW}!45>;5E0l_J zcshFxYX?{hHw+1>YsY}n_p3GQ$>FBT*`Y!(jvH_9sM9DDXf{^;DY+n(wp`*2eY_Mh zj<`?N6}$C`^AyaB@KwdA&kLm}kwGn97S$s`7h#p*FBVbVIwY}>IC zNhx1u1JPLqER`rpXQi~ZYfv5LrU%XKH{LoyX@{c*FyO{mMrU~#I>qT%-|Ih+I`=%p zmMuXem10bJp{Z@L#ik+nbUg{{fyaplf5oRiAL z&4+<-E1zVEviodvHZ^+G zHm6c@lsb~gZvDjtwDiyUMSv8aKv{?`xNGKqIT5M}U`d4uz+R_JXby}=+JZkx-%)My zUE)oDIbY6d|6EMlU2YT#c{mb12>SGw#1N!^yWoo6@I?7+w_1_x`3J+l=gKDutf-Ls29CNS{s zUlX7#w{)28Gt8Xsh78YTl}B+$ja2g6y^|%;ui#e&(-vvR?nFWgZ_uD+Ci3qVAU_r= zg<-jl3Hg{4t>aP3k+^<~23!lt%dcjU5!$)!}r6E6U z$e;cz*2SQ&&u_np;^UAu;b3X@c~{Kv92Q)=DpEk&_OpuQ4N5w|OtoV5(R+4;!}vX) z*?XgyX*hGiLH|t;&ES-KLe9llW{})|c75wZ`~*vG3*T0o?bjq+yy`1VcgIk_^+WSS z91ZPds;xjv^Y3W_jPBmIu2&Y6qROAbO*7lkc0xFxYjlStGleue(BUhPa&yhxG_$(# z@@{#_)#xMA*kSn;he%Cxw7#AdFz#_8IBy4_rgv`&ze`;^mW{W24+J&qi9CvNSd^f( zlRT3;`^t}%O#-N*ITCga%XqyzPVmlWpNVEGAHKr9uMX#?9+@9a4hkN!uMBWs1?C=1 z6y2viA1LhxetJJ@2A|h%jYH^~gsT)l$v;)2D%H5Psafke~tC#N=e7|pC{L+s*31FOSOh$dt2gW^I5Q_8Ws{y8U-u9ZnAQA`Kb&)Q$jY}Y_N0mD={5e&#!TIAk_BeiXa#Nf3 z3VL^FQNXGDEbpV@&ZUl9Zn{z<3}wo5g?nS1$-;s6^n;qLWUb8H0b~p7LF^cLc|L;d zaPxeD)k6CKHL<2L(0{b(rK)_db@VaB+wqF+`w&u?gr)h_z^vNIoBK8uB3iT;2UjN&_xCNy6Nmk+TvI1;!8qKq4aYb8`I8?gDPKoSPmJ!W zs=-Q3x8F#3)16Uoehyg**J#?twD)COtPOS^>qOluAGgj3!RgWb3J%_+=TTU=4_fd1 z(<$X9+BtYnJH~<8IHipmzYjCsy2felSYXWKs^v?=Xfa=QgWosLNC3@p8oR_iRno#3 zUd!lPPc7V>$<_zLe#iGW&$phF8PA80V(4K490&sYi_u(53x8g1->YsU7AH87HWpH9 zndt@oz2Cn)D0r4$ELS9HF}o6I+2^5U4zTfw*8n_Hvs*zUndZVRv zoo~DK;^STR96V9An;@meDuC~DSQZTLw2Jkz#VB8XWEDlJbIzEJ9U_wywS|?K=EvE3 z5s!_FEWcALsZ^T@%#kPdo?)Uhhn2IU{;=N550>X_ezWE>=?m~&UJn^yUb6J$H^rmX z>xnyqv$o}i952XZE_(3>fp2=l*Hr1H2a!8lk9Z%}k9f^X_iTT7+ni7U9PjOW>ovO6 z)^`5U__qpUs)4}7vq71`8&^gr9yz}PouU$U_8s{M%WpF70n*aa64T?PV{Bkksmiv1 zDZtC%;8G`q(uNY}qX0RhcF$*))mPm+obc!IfUe8|PcG4^=lQ**r=TOM0ltvWf5;jj z0MFBO=n(t)^2(gTaT4^3B9X!)9tRMyhyD1_HLCL=KGsoCo*>4IW8Cu=DL!{=~S+Gv4i zPIxlQySjaJMDd{P4MX)P#UBJAOCKc^n;(@FANL!b$k09&VD@(7jU>ry^I-iUJo6;m zz6%#oXC`H@ZGUY|o(|45?=;2+>r%xX^y^@EaCZ#W=Vuq32}AK!y`nin1_|)R5%lXS zvzUZ5-jL;&*S$8G%~??@c@=FJc<$m6bqODr9TskYort1w6f7=X%G~S>(;@uUFmzq) zZk3W7aegS@zwEjJQM{)L;fn~c*qet+nonHtFY=z`fff9PUX|?BZCKrq7-K!Xn%a#& z&qdc z-dA*$bnr_uwNm!rVNlsYYsrhp_SrL%7>fT*1Oou{uiSdyqEm`48d_02Q;d0G)E6^LB?cR3B77m_da{_p*-g((j$iD_ak7e=V?~Xci_@XfH-tl>Y8ZCGgG9tS>#}8oY4E?m z#`}J5qBS)T_z=wumE943M+YL+AS)ewg+NVM`0=+O(=^}&1kDhj9Hi)9=xp7Z9!S_S zfL39;hX=c@hR5I4#a%4Y3l#p$4{nLR%#TlI)J}UGfM5VA%Akpr_V8{^6_=k*3}&1) zR+&I{f&RBb%iy|SnW-|1ttj>NP{?yB+*utTO!BDwQ(BpF3^b`gl&@ektFJL< zjNE?r^~HxgG?L0$9K2biC^{uoo6CniscafchdE{D&)D`he{Es`v_kpDuPsuZb!t^p z>{y|N6{%O(Q4=kW_lU`oF5GJdf&4eO&*?H*!FDyqj|z(e&FJ0M9IW4; zP7ZBrp-^`L#ict8u)<|_F}~!41UQ1<4S$cabEhe z(~Ye|76`barWp5}EslZEyLy^!6b!ijPBkuz+sh$>@VUx6+$dZ8fT!E~1|tPOu;SMt z?S;-By%^&M^@;wMTccZY<6vuSaFJUViix;Gt{~fB(cxUC(=%Gd$ z%n^m*;mO=Fu~e_Uky8d-?oTT?AG)52VWIN`#Sdp8M8iK<7>)r12HM1gq0IAOY>i;A z3&LCz6fIN5hniF)vgzU0d)hT@6h=}s4t5TUjWd|DUOaM>P;_d6WKrp;F`_wu)lqE*?J*#LM9Kt6^KhYxU_+M9GU0^rcc+9RM|(5y$Q zM8{F@QHi5kHCHXd={%~l$>RC>%)+wDorAi(sjXdWrHRR?W50IXLa@Kdb}uP;y$-g= z8e0U77wVe$w{JX$uJ%C8-zp3O2qPxQpJ$M+=gs%_YfEQKXC^FKfwlxI_sT^cOZD{H zEg4NHx;)b`M9=_G0U#g*ct~I%P=Qx?Fkr7#cxV|s_<#_3k{eeSToBNok09^mVv=eB zP-W4oB-MgBaj+NcItjPfmB#Z42Te(L{p0J0#FN;Vac2D#hD#NQikAh2wd;$>Yz==& zK4~&q(Y&&Rc+JgUx~wV2KMt2h zqf~AQGryN-borfFnuf#PMB>AAp{HHN@eVXXdS`KJs3UukG^X#{siS$b=vB31Hz~=o zsvx_Gqb`S=h=GLbEO56|eO(l#&L8W^S*)<4bKdvJH?+jVU7{+6=@sA|7nvx_X~oV| z)E`@sNyg4cJ`z|fIf?z@%1<mY8sdLRiG2t1SyoAHP4D|8aNQS&u)~8{2f(whV7LO&`P*z(4IA(t! zu5xyiQ`C`I1ByrGH90~_N<{nX>DuIHg(t}dX_olgk-tB}cK3P=A|BNSmTB z`uV1U&^C_$aiRkyV?`n86lh(=h^R7qKmf)`hD+zSWDqnJ5N zw_ytzI19rm4&ygE*T3&9NhI%!K5Jp1F)3OrZXLf|q!$xbnRz6UyGK0=*g42-KDf}y zF}sA!&T-2=oxn83>i;=~{b8T;;6a1|`ZQ_K{!@(_Tz|A{$JqmuMNe$DsZ!^(7A4gr zM*b`|0fRT|ehxO$AU@eeOAqV4RJgfhle{JeHoo#+Ty0yL?1Iz);_tB1_AXb9P}jOK z!;v-~F-}wPBCf2mqe#4o4b+nJQf^I)VI)SoU&zLie|XI%6RP8tYQZ#E())i#^M4B1 z$axm6cHe3@n`JCf3Y!1EL67T$`Eg&}qZ#=M)CY zI#gG2htdpsKz7QRf6Fdia$B#dJ+Hl?Lz~a;7-`a#SL-x1Tr`DP3Y=5J%#n&aK2pJM z7wr7FQEKN-*lp8+|4;YIo24;H5X(71CdfGa=Xa;jR5=z_=0hNw8KC<9Oob1nXHYwl17FP?Cr3XUaX(bQ^q_crs~;1|wsOEX{=N|^qUTKW zHODi=Pr4eE?3(iknT%P5zPjv%p#!plF4Jl%e(ez}$0g2CanNk0sU*KdFEsnKSp#sL zt0qji7pkABw!gzEWd0hJ!gjw&#wtu(a~1kpuByzhUz2Df&i<4wG-|lu1C!u_#!SiXREU||_2rA8yKRT|yQJOT-*6v&CvTfV8ZJS-TZFafKwr$(CjV{~fU*F#Q;#{1($;*t4$QUE$$~B*< z|Dp!%rhhh*QE|v)nQZ0w?-wNn8nMW8j%fNDaE^zLueMSnjT1;atE0I~bvbUAmY z7Py%tzyL1U76k+ z9iu1^{ery@+i?JAkd2X@W@>g7@f_J}#6zk|HA&K>4tTyh`jC#pNd_e!d%2;6 zne8uySh*a4--i3p{$_|I<;a?i@^#8xKVyu0vSEimw_vuL-E40tN0Z=6&eT&7Zpn>j zvmSDo5Um*aPJNC}D+LL)6`EfduYo}?9dQ&E-9R_tt1%0fmNoY-s-%qd?U+xMjyCrx zucSm+IC)~8J1N#s&fSVel$anqLRb(~MAe&VrG>EFb^dQc*3mruGQqp3AH6U0S zYvgWS9xZ1pz9T!&!DwoolyoCV;rj4~!%u0V4>ws+X$fXJ6TJvG1J?kfVA~CjIm}4< z29nHKg^aow$JvC=4miZ&(}ww3a?9$DdtiDuiY<2M=gbx@*XQ`nZlmU#nupvZ@L6hK zWQkk8vVFdf4w-i6_sqK+&yNrrCmAh|k7>Es&yTPh>8X32CwTw6W)@g1z7g2f*94ti z^k79N1&u0*_YVnbZ^f_dIpLc8qKN z?JLdwWsz%tY=qI3$-qU`>i&KGVyj@Jc!uUjXoWWo`-HNcCXW6n=Q+(^zy+#4u8Suc zVq?O`%p^y`p?E>I_d}Y(&IiIWa-8hK)LijAN{S6%CU8RN*QH}Y{UuC@zzT6mPN`+0 zaSaz^0>&M{j5%fol{fH+1uRkDaa6HZN>`b{RQxwJLsZ(}2~_Wf#}?uPt=m8BT~shF zJNBsg#>zswAa#_|lDX()!Z{e15`h~u1~LMH|K0!qFf9!F-7sd87x*W-N~~IFLmSTW z!Dsa5mwig~1)hU-Tb1GniAxu40WYiESRZ>AkAz*~608uz-an<_SB@R!pYufx1v5ic zLG?yh{APWFL$Ron8iXl>?#BxEt%2YrGwk#Vo*p%vo}*%`8m@f0!T`$MEi)T26#0B$ z$F>Z%L0KwC=#v6WjE;iP8h z<{*M0t8Ig?3*4&P&Z!A6Kc;fCgi$Eg5{EgADJT>9Zw?KY9@B0ZLHF<#krJQ+iOv$0 z)R3@z8l&`6R9-RgEI>tw-<2;cz?`twoT_u;12guY^$Q*Ms&5Xn+U5Ok)QSktZ{>Lt zGBmVgW6hD9kG=_SXom*S5#^{<+$HhpNZBJe7N?eqo>QgZe+SPcHb8_b1_(xjW=R4W zZEE-wFvQ5!4bEPbPK10VCstp`xwvcWbU+)X#;c_bj?2EKa#NR?Ab1!IiO%Vt@MVH9 zLbQI72x@^#5TXKaGbr}7NmYj69A+4=h%`y7;r;ugOc3MmF>B0bi+42r7tq{FNT-wH zfSf$%zS&`UoCAk52yd_!%iu1MMZiFRbL*!m%4W8JtrDf`ZH)#_+$Sa!>#w{*dE%BMQAKt*dkj zze1FBU8gn}M~oumb-BM=0gzfT`f^U#p*<3E{q zl$&1yW8a?EM^Pw1xFAgN7!0F*DGRuWY=lJk#Vs*@gjXKgDj!#Vh9LR!v&Vg6Z0X1B zdg6qj3%2Xx+|xdvaH67M@;1NUd8n2vOCK3K$uO`$Ae4VxZ-h|}go+m^y$%2v5Zd#FD;0l0&lh2a}YmM+ge+5JChRdjm`$0qRGPfeC4XwDMbu znXE01_zxP5R$CJXoMGyc$JN$@j#tQYkqJw7d!vV$S_1a;c35rI`Lqxka|Dlexd~{B zXw)zg>bVZhmgb}?`ZAK$1yt%((Q*=MiagB*yFs1yP)71fZ?aQzb@h?wnG6k9wq-@! z14*^;ynWT2)x;Ee2_NUYN#zRMvNJ5D^@!uxMV|UTlb43FC0=W*cUA51J~XdeHXDKm zK{TB{TAx?1DTmmLKnufqDN;+zrJ<}`YDzu&kU?~h5YpwD2bXXpidJMAR7l0zGVG(_ zef7cO*-Tvd)cp{P?y}aop>*>A&vRNeoUDT(o~W$FIFF>A2%luNu+HX>xqRI#wFT|6 zQYCazFb)l}&NDKIDiLd2`iOI-i11Y?pz}=Den4dx3T&8L4c|^5?tbvTs|qwl3i41O zY;>5zlU!1~gV=97pjEcGPnZ2=;(FFJgivO4bX`K<2eau+h(~@!dCPck&drd#a7$l4 z7FZ&0TP19z$-21o*f+4aG(0;I>xS?qUrnxwwT1 zR^FoEep5D5#-xO}t0r0*DI0GhLSkhu%q&L#M&Z*{h6>dbuB|zf_?$&(M16%;LstvH-<~V|9ZP$$qMmWRns^k+vdSgg{T#3d|Um z5Crn*x-QY6H?+8mwaW%92B_tkV5_!*Ox7R_@HvP6jbJ2)p9w-9G-HBR?Bd z)y}R{ZM2PP%y{KaOzLm<61)g)O!V;`ysh z>6)C=l(l~<63>!NQCHycT{&KSklW&lfqoZAkDH3FPG;2LJ}Gfqog|B@X2fX|d%TXU z(-s0S6hKRB0pCFf4%#sakw-WV%s>)1wr?g4%E7tj-hDXX%AEzF93HrNGm_RcFGxk2 z4kVV94@g5l_wt4n)nKyDC=b)U8S?Hx==nX95~IuJw*hanARVh!&1dJQJBMZ2rT+HokuU;8lT4Uok`_V*^Aw-R{BQe z4P|89ycdvHsF<0|ylqmyKiw3sU^|GwuuB8keyW8vMz7wjK=QGpt+P|4Ah5+rRfOzH z5Co%?BY1*n2>zYz*hp!w-ls0E$*dQt^{M$S>t#`;>vM;v7F(Uo zc|PbRMXJg<*6N6zr_CS&mPXRa!+Z#B-MbHMme@{U`|ghfu|r<&xn6MH=u2IHk$E3n zpr!o7JiKwaBRiJ|KfIk2U{Z?56HYSj@qvHxokg@&^AiFHiyNu3i7+|ZUL@TsvXng&yyXRqj39g3y5GxS#j%*oz@{v`PA29U(KL?Z+gcbyF4JGhbz=c z93SjY1aU4S8927(896XZnjYr;O$?n}ygd!vnlI+bl##N^ha0&!mnPq#m$k4NPnmC; zDuZJdy?YX%Ho@0mm{Yq3dUAK53N*e|BOdv`ZXK^Km(yU--OFbmek!65rzUfe+(W#k zoTr+{{Sh977nKc^-fgSXW;@XDVc@x%aammlw`uvAS4+{fHsTIzYOO3|mDTZ?rwyNS zN}VMx>A2tSrC-}(u!UT|hl;LcxYTA|)yk9~~; z>wi~6k}_W4sg}dw1j&pj&I2J3n}VNU<(-bR$2I!fps)LgurUveExr~jZf6wf;rE1N z)9*&&b$z^Jk7+z}2h+%v{$y53N>=B|iPw8E;gAvkoArTmp+)YMv~a^`dIBy{ZBIcD zzYItafrT=2H3Wq;CoJ-m5*YB4s{ z^mnj`gwE$Q^AH_G^3VyWxyI_^N9Q2mn2T(@A1qdS?Jc-rda$i{D4?71TA!%%;S;!@ z!1Pcyy;?FFvP&F**J)fEiOc$%k6C4v7XRC@_Cfi~ue&Zwn8R&3QvBE0WIa-0OV5nt zAa|w)qjfOZts1n5Z$n_+n{o{otpJZ!2$vxi-G$IVjPHRYTRPVT*9ztpjS~Ou4VYod zD&C6cW=t16n`1Inj@;+ycw;0DFoY;t_& z95P66dc;d%&9DnZXBj_|@Dr?N5QCJ~zE$(EnbdCIBd~HO6pC`01ckx7oO!n%8DM$K z{ZR`kE$J`wf78!2of!#i#`o#-FStlj-lihEtKl^HUju>hP|NPVa4g0D8JNAw;I_hX{!IHA~f`=4qn$%N0 zZ@k@2iUnNiL2t=9)xJauge(58E{Z8c@7-=&fRIZI>z$fQ7WXSeGJDNsb?ptfLkicvrJXa z9J6S!e1Dc)F`PuV$h9GZN=G@;qLa2=?NdjcvSq>NobTh{K|OU;K?xHWCBNfjK8s2# zlPId{;Y-VZKXnAuC459g=0XQJv7gb|pKLrk=9>Qn|A%-dP7MczG1PJni!RF986!SG z+8@4%`3Uk$6@QhAXp7j5mdc)~eYm4Acz(uScO(g!kuIhRQku5j(d%8!g>Zx#eS zuaWe7iu!i7d0l7x!ymJPuxGmw&B%ZTtC6W(F&#Cgfy(Vx>n* z&$P8}(l4&asYt5WIi9e3zu_Jh85J_Ioa?e07*}dEl}yB(P*lrfdN4|H%Zjy$D~|)d zuPdbl7eqTrM{KKSmc)<$cUNCR7>uHU=0MmP%R;Xnyr;tl^YXXdE5xQ*#0P`4^WPF? zY>$3eZ-c``_xmZeP?ZAfL5HM;_A!;uDYrjI9dTmIk;)I!-S778PpLH3tR*<^jtxVC zN#R-TIV2icSkNy@ShHj^ksCwWM(eEb+5>~7ZG|-_NZ$}GuUu%Zq3#S2FRCN+r>R(- zKjdxM?j}s$_psb zX#O^}PBCJZl`G{+>6?i6TpV{|7A9@3TDZQtYJ!g`mLom$<-<7h zIC}Htdz&(8>&~IVs=~L3Eg-);&=bx$JwisvsI&gA^OGlUyEZY)w2VIpE4M1JnePDs z2(UNd@qb+$-6x6PVlI83DH&F)j?#qvIY>eo8O~cpcnME5@MlfLWfuPF?!bnk1pFu- z2!QE!hht!x-ujVR^Y5hCqfaO5O6$LzVylx1{P8CHT}j4iDAdA|eawu`5TRtA%=c0% zmMqywV?6FjiNmO$eC9~>c{yuTlp!)lvNc4z z`8l0cQbq|L_!J)KY0AYyU<~>4HC6eQOeK~fj;V7cZ)(6boJmxPe_ws5%u%BOe9`j3 z3VIAv|LwdDag$}^f80>8w%}RLYprO54YIzE_Trr@d)hS)D%2MTf4cv&j_@^mzM2w) zf?tZ&i0d_Sv=A?)zSxK?)LOs{`=A~!w!l5~m+QEnxv*$2Y#>_9`9Z2^Kc-;YZY1fn z59aMlp6Y!1!`7%Z#?Kp@=PzpibGc2p;?z}uX?5cTc>2HoH;&JYebRBEpR%qyaJmVG zy6dCVc!%!#at8H+-pc^&xP#tumB)LT1lT6XEp`L;KDD;K`+CXHqCSN-4g-MI7Mz>b zdWAGc+)UHqq+g`AS12jCPCdo5PNilaY;Awd$L1m)g^kq7+Vn$W0@W5iB2@`?A>x3^FilbGdU?v&_e(C2F7<>u9y!B zDv`TH!x-$7DLyvXhG-zafiAyt5?Io5EJ`TKbonwxH2$L3gNB5mo&}kZ!U1Z-u=Ze? zJ&_Iw4K4+3AE-W*5&rTgUnFlc$egl)iyVhE7}ua%=!LL!bPS8 zPp%kOit(CSpR zjSSf>7!q|8>A1wgFwtTx0;OoEaz8J!#gXM$NiZ(Qu;h`8&1YyvL=Ksg3r#gTwFas=d%Q92y9?FySe`v#p0fG0j6-wn+Vw!^e@k978RFa~FRlZ5 zzF4B+*^w)L2{|qL81C-EUlmh`S&UYiJDs+%zbmqw#4J1ewPW{|t<4IHoiKJceZI!Z z{D4B=gRUd;z{XtS6U4@i1~kZd{Hn!)&Ksi=A0;SG@M$@@rX$4FggOe$ONu&@p*BSn zv-OrQ(vfB@Y&hqC|9aJ(Z!%3zZL{%@NQA9qL7v5Fwv_{g>ctoj*=dS&8e0eOz6<3Q zndBd%t8gl@yBm}41kBx=eRo7BKXJ|^T+;JWbz@3yzXTy5VNX618;b$J5LOA~**;70 zd*ktjvbaJ9U2I+Bsg6vAocMw;&>jj@a|#KW3qw_iMevnW#BK<2MF6n?06HL%3FULd z^XzwYe)T}MWqVAv%dgU&-7|^njMxkD(FI6N)>E6yX1V zRUxDQaXXoMC}#g;5b=mA6|<$%4g~|>c#(57S!*b}Z1AnSj^u5az1MEx=(74n$V;a4 z75TOktp5W1NDc8{01d$Rkg*8F5g?gg!Wt3g1$@!C$O3kagxaKPxzfuma!c!cThFTe za($aSQoGrz!`*^xf+0K!M&50MB2Zg21t=M)PB zNRQ*F2m-!(-u_H~&T#7Nyj-Sh@!QbWYRNOC(Yk0m-?Fth{mt1A0U}YU*o#geASpqz zhwRVS3j|C+1W|g6>K~(@?+^GjtC9-@>W?wk9U6OgP!e|Mq;hP8rHuCYN|HdUvQJV} zVhZ=u%1WabrBp5E_sc4sG;b^qSCjf6c@X>0TYXZS6Z2Kgr5|wb}yj*jZYm)3DI?{AjoXfUI&E4AO~E^69bYwfApe~xer<|gjBcW z<2}pHu>eXsqEE4u4K~0 zFh6dPy-bCreyBU{te&D&riD4H>SZabO1XT0&LZ7!RmBZspm{nR5!2;@|NA=n@Lk;% z5Bz;@rNdQ_y>EIfU`?gkC9y7l<@e-dKUT=-U43iIs*~=*CBlL&|ICR_#tH8LQ>_lC2W#Z zv9Fw>P{elWJnvttW#V3Rtr4yVU}&h&U~1PvEjTBo<-ss{J+Y_5@jf*lWG7R|+QdT2 z#V4w3Qf%kbmPDE;Gy|)3zSUnDl6GzTmqg6a>KWMP%d`=|SNZ50haK~iDf9;4i0fxE z`84_BhlW^HhczguqHq@4UCreo(&bBAv#Q;+ge*IMV6+Q#sOL_nH#RDhq^$!j*2{0p zJ07;Qfx$BZCG@&FpV=0oFi|fQZ$l2a+jX2DMqH5ROM4bTwx>I7 zigjk3xWW~dk~BfpNpdtc415fzDx{_#t%G5}2IeH#VcymMa(<8N#OeYcE=AB%5Z;$7lp$9URYmw6V!|X`zR1Ott3dVjj+TwmV zZGgKI7lZlRi@ro4A)!1`xFEQ_e#n#vmqaja4*8juN@REe>L#3yBT;D%l7G5JlPm%f1qk0D3hgnVGBWXK8mRTZRW6p3o)j&O4*&YBI#s0C*0e$m3q?qPEtDSp)V{1_G$ zq zcsrIPk2H(O^0bJAXI6tvG!EXRg^LJVs5dfgABWJ7Q^omapt#=lE>KU9CZUam>8CG$ zHZ=)`L_Mln9N-msyN0x@km*@yhA3#f?d@5RnwKXp|7IgC`2gkM*={S1l%#(!_zYdQ zT&tkL@armt!X~Sc>@@w9q`Z1#QmR@z90s`T{Bbsa#D~UMb}>)6ylCs`7f>RDCXq`O zQxI}DR_%bnWQfi<-5=cS&^$JG4w;Qogms(NHiDg4aT7^IW>53A zA^aTqmW=z#ysdG6)E8-_Hx94E;w0-K6{%YPZjdXw4U@`6W;pomGL)MtvS;DtCVpIg$*Cdh1@GSjUf3W=y$nl(l0kNY_}ng zM9bLu8>(hHlmzvsdH9#dJ8|16)!6u%QYl|)JT*pYwNCEBD_;|6y8I#}UnWQzzfrG5 z*tVArl~aR`{KkGRulJJRv!gs>uz=sh^2Ke^j3MAFUv~5iLHl+Jj;<(apM_zye16}n ziw1FyouXg54@yJg(neXx8jTN--QeVZ7OVWZ7(48Kb67@e@n^_ z+;iZ=;iOi2O6=#&D_)Tkrv}M}w)W7vUmTOu`HzzRES+zPoLmjV(}d4{B*zrDd-M^N zc;~C11MU!cXOSSGRhBe~$%4qKwyEv1ET*oldaZ`xNZ^N<$pH}Ed;cs+oxYaR82C7h z-B(pSkZJc*?h+BSQahk?3m5O#ZVlHsd@i7%D&a(EVtqWM9p+h36xJZR8sDVVQ2$^t z*74;~ie>h--|viedT0sq@c$p8;NLz4-fqmdFtFU#e*pJriY;OyAZT7s92Nsb@qkMl z#NrVTuwUf%7z(ysxmq#;-f+)@qEfbR=coxIT9sAw#Fy6{1b)ZTSHtfHG@lA$glmxF z_#&v$rZAi|2A-iG2_)#o>-v{$Mzw93Q}#Ys9cvEwC#o!8vUg7?Uq|A6ODFAE$k8|Z zgWvWDeVh#csU~91WqhT6Uwcjl1;K3>h#16EgHb_8vvN4aq^p!p(2PWUemh4lOH7BO z(t!VF{wLuUh6eIkV9FZe2}b%|suV!tQ}Rk7QC? z881*ik~3b!u;^wK;BE)-O>@Td|46pST|f%h8vh$}Hvh7baz8^Y_+KZ9FSrwIqj%D3 z1DQT|t4esq<^ALq0ky(eR9GD%LkWxX{N*Cyn=#dZwrXm zxqSk)yYLwXDWs>;xHk_C5`OGKk|Fl#{ntX30B88*&-6>NCB}^Z>>QqS8oC- z>ZWFBWW77eVAr{!+*6mzIYlIh@QDtwqJoXW$xFMlu8*NMmO(C*QUoc@WO?>{*_l*r za8oWtWMAI=yE`puwq%v3TgbgzNmvIgf=$VJCic`)ng;{#Wp(x}M(V%rdt|GD=0|tu zB`OM0A34#B16M%m7)5m=5dKGKM&yaao`8+w>cwwcAhww?Z(R&*m~3zGRat>D9*c6+ z_7V`HxWx66ZV*}risxk_sjNx@i)%Lj784qIX30^F@SRlP1-PY)Yxy``lZ9TEDb>~f zGRTqnBtyxBn%yUOXwZ69kf}iqX(T^h*G>0B&QXW@v1JrQX*cp}l9Gp}JNFYGV!Zr| zo;;EW*mj!w@Igdj(U*nqLE#cI8#?(f(+CJ)lmg8x#qz!%O0n|?1%8!NzpX1d?5%rj z1bVC8xnD2YO$3s@#b@g88vGNY6OHZQ*VmjwM3^#;2Xo@0lghh56K2c1d?X7|HF$T1WSp9$ZVqpBtAaBHuyHFAtG*P5qH=Hdn13k_zNZqAKJfZkiYVx7G*C*1 z)^Cbfo`!dSe2?6s3)+fTG)n&o5{KVxl(fsiXS?30h$QouD*7XNQp*WL@uNoVKNv-Q z_h_G9u_GV`jA*Xd74qhHX!bR;XQ73O!Tj@DpAvYNB%|>AeRBj@?2{qH z+md_T;JV;&iotcw-!aZUqN%t2=UD9Q{{JajY{28UvuY6kqi2lLwHwA#u9dy9)XX*3 z$(4_z7n1UiQS$By`x;RpK1>!PgFliOoQmW;;l3D>`=5 zwiS1kuhDJ5G@9hmR_4D7ovhcztUa^!1pyCe`kd|ex9}(uweh*eKGS;`3Vc@B z3F|MPUON7>a)qC!dbLnex8m0Y{a9LanVa$Ryz5yD_raT%?T8 zD4sjTFPZ>BDvMNNT%G=21h|^@js*kX7=yIcIZCMU=QLe2WHGjBtkA`fVPDjDL-!_s3qrzsqg`?rEn5vF6>7;5*yq z0RcX<$0*nb0LtoOOKC`)vzS2I&AJE)0d>pAj-uE(8zW$szgrrX>Qmenkq9bgcOoAq zooGwz%}kYIvZItb25JRvI$}@?ezjW?#*~JuWp!nd)*}{{@b3zxkM%wx5gaH4Bz=B_ zb!y}rm&6isE?~C1(R1T_iSh^`m%q{YB(3fFK8!`!5E+rZVd0&ieDTKz0s!oS72HI> zrdj;v#e*Wjf&X_GkkE$LnKa5gRuu}rBu>HYaT;LKZLjoUE8VX1pHw^qOc{ zj4dB6xXNh#y3}y3j~SO8ft~vw;p%{phJ#qBrZu8fGCUQCAPD~fV-+xtfB^h6K4uUB z=KqK@GO_FUsSX5@D_cD_#v2t)O)lJA!8jWih!Pu=R&E^)6Sg)THl{566utuf4xhh$ zemp!tAnAZsRtjZ_*Ut$;k|RX?U^o9IHIC9>9+K2`73<~PTUB<st=0R!tg1SE;w7+D&TF-a7x95*i7SBDsY^C zzc+s#|E^q>wZkvZibC;95oO`XCCsuUq?@{A6vlW<76zLmIt@pIWw?wXaWIp5-=;@B zbszUtqMj%GuW5T~fyUg+UsllX@*Y>kR+Z`rs^zAdFO3a=_G+awa(?K@WPki<5I710 zm|>gU6*U&_RxMY<+ddQh)@{nNx(s~h7d0y|#T6$VpQ!RHg_#RUq>p3< z*=%dW2;v6M>> zc9wJR3d#bb*hK%bams0NU^uuVYQXDKX`0i$xa{70v-_(SoPM4@wAHscg#5f_H*OHH zkdQJ1)!0bgCl~bo7!ha-taQa-jBL*KL+ZiomqSH#8@F~Jq*Bjb9E~taL%OwS4 z5v$XItS_qzOd{^5=>9N7G5G}KtF3h?@BI37T}$<|)0)aqJetTMmKqmQO+Wd(R$?Akean5H`LQF41dXCB_aUh@p$u#=)ba6f_0_h&RZiO$NFh4AIiqwF%OVB>H3}n* zyXoh()@qQ z10PsjMYSOR@l48&A&5yiF2<9Tiq;k3-5WctE&CopzsN~-EymR{dav!m zOq3^sM$k`{$2JJVZrdm>@6Yg|;#fRtw-a(TEpRp7*!(X>U_@8Bc zS&x(^^^lmd>QWWm$Y$>qyH6$lvBuZb|5M3pJ7(w(3f z=>t|>jYsD=@`;YpJn^;GZWu4$o*p8qi@Wy63W}gv+wiCI5iW|UDKWux+`3b+Apm}_ zotiiK#6R`g(3`1xiQxAa@9Z8O-I&bpcEex5%^?}K(lsce=whu~&*L!#m2vLQz1CWr zlHla7_2p|#1|o~T&$TI>aoYI@pbgSUTD&A@q*zi3YY=Wpe{#c3vOHxfdiVd@NFtwF zz$IymLz-CNa$MeWW>I@xn0#P`=8Iuz>RLeRmvu82(KD@y=OWD|XzUM-y%pP`d2#@E zquRVRnjF9;RnGi6#AoWk*SsW;+t+mE`fFCc-Y>B~mk-kLTau31o{IcD!ZC=R-YL1l zaB$k^@$tesxj7(RVdK?e!Yi5$t@}l*k0+o15J%ybsoD}cE-EeKbqF3lG@iZ(j!ERG zbJHY}uG6}q;%;Kb!>XTrobPMv;co73KBi zH6^FaJb5=kFSfNmv>Qk#IGoNlBXIO$3YyBLa?+=Im72;m?~D2!Z%l>!&vz<1rqVOU zX3JW!r&#fS)4v@C9N4QF{-03iE2cFmMof=lrC1;qyNOHx> z+ljqNlPQ^UUSkg*c*I4P2CWixL)UvQ{v{zp#lRu(@Q{anj7 z$wu@U<_H!eJL&bzN7QRW%misaZPw?IvQ)A*^^XRmYhjic1#5Jt zpl0JH#HHS7x*5u~RT&DQ0-*lC^Ajd;ov+2<+}I$)Vn4B~PQ4m^ zKX1~+x8VQ^0o{3?JH@aCM<3Vytw}HeXQPs8Fen%GL)ig?d{w^s4=zKb+Hj755@9vh+SdKE7$ z*F5ANH>`E)U0U|w88f2fhCTJL+E_j^b@Yuf<_SJK>6*HOT{tc%VRbu4TB}N^B!QtM z3Jf3s0Pq1uxLb9>v;)!oy$B4=ePIJJK@kBMi09Y~d_>lD8D$bQS{Rb)@cq2V{Q! z*C@&;9HvTHL&iXWJpk}>L_bhTlChF596Hjo+r}z4o>2vY9v31kzFLQ8ayl+JaIn9E zSSE?-L;dPz$%(mcYlaq3EOuuSXwE6HXi-&M zR4pOPkDQv(ROnr*7O3W0yv?qa`WIo?U-yR%0gktyz@zJg01^0mb)U^&WVrpt3P>nI z*ZqI#w=DqE6rVSyYsZg|wK-Ci-u041I(PE!V;AwEX}(L=yl}tqXXw`{JOu(bU|ZN; zrs^3bRXWZ$f%Cmc)QEO2OHU~-7eno?gtUzPuWyx#2MpqWoxACeW#~TtVik(KHHfYY zQ(m9|+5mtY{Geq#x)omBwJn%p(m&grzPjK^cY;4Lja8UzuFC-c187v}PQ36S2eBLk zy--sxxjH|MAMXheK%+Y9b|i2J;6{Tu+-@{M4}nk9=_ojX(vMxYnhN&QsXkX*R9u3r zl)(?3#(+;(Yiu>R=a2F;)w+>ffmn6!tDrPmgRX{s6p)Fxk}G$gq6PK6$3Pwk!`I+M z|E=avb~KSw6zGd@!=p#pV0z!IZ%%^GI7wfwpG>tlEuT@riMh|2S%Aw~ch;M@G^N9)`H5PE6w*yYILawY2 z7-ccgCm!n6Q++>}xsv6Z95aZ-+2zx=Ocy z7{DJG@TBl%N#w5|!S;R^uhAcL4<636s|g|m(-#!p4=x!vMzNl;Dzc7?pXLmNCy9&Y zAU=g1us{EJ-hk)p++ndEhA~;fBv7By2E5=;;q_p~?ZTM!NIgzvaY>#RxA{Rj6ck<5 zuV@N^DDXpmNe9ta31J$um4Z2PiUPCp?O&i(Qy-q%D z%#!v$skw+<(d>VSj%^Qbz`QO&Hc`U~7zhugv3;;Cqe3ZC@#p=LF|@^cwliB`O8!V5 z+leR=e7bI=h9ul|$aJOTd3vKdA5Z#6l-&7O_Pu2C$Zs+KMiLR=-|NN!5JS6jy$k9o z*V3RuQ0FxPQ4=WJTjJzKBmwsN&URozKHle$hNt`?;?5H*Dx+|0#If-+Bwl075%mIo z_T*23bKdi)e~kd12$K!|8vNZ81yD|5w>E|0r7!3i4c`w={A5U3^4mM9dpWgTkRo zxb;}Hdex^Y?kf#9rw!jOy78xVUhX)vjt;v9jofIg9@DW}Zr1JF^7<;8c^EVMI(P=) z?LlN9`A&EOP-p~*eZUVaS8ECg_!H>)dFS}jqQ%v9pyjFF#De4!mn)%StGjybF)~j| z18G|m;aTucTbuGMBe&Wp)g4&*pv56rBH@$)(xd-{}n|Ti7-j|KoGI8Fx7HmXQkob+4o+q3P!cE za~)r*q3aGkD&{!cYGczIhvCCE9I4F)?VM}1h3r^AcGNZ?O1y=6xuw)|B}K*`83YI4 zeICZ66_146EHZXsaMM1xbl;WaG_{O1s#_$|;bH}iWrHWgZ))gi0u#~p7}Zj$3B0yy zm<;( zH+qJ7M)Rp2c>BgCGY9t#hdA%By7WKUI}@0=GzKs+&)|*R)}ZbsWi>I^rt?K%hpAPu`v#+7J!7K2U~xl6$#RuL9rIp?hUZMpQ>kI1k@dd?*-;}V zO5ARdy!xtb@}Z!y8EL(76~qQw=C_GaRI7oW-%6MMYEljAi(hxsq$)=;)YD- z1knysNIwO>wDP-36V~;VgMmmU{g;R5Y}+YoCQ1C@2Mn`8DM51**N%~#`C6kOdIrKv zmorm|6?kN{2fJszHwh#laxZ-moMh$R1v<=OmCZUG_`>i?Lw@7GN=pR!J9V93zWJ!g zL%e&@x_nZcRqI(((H;w?x*K~Iflk72K$E&lf zE~wQqOlwJna3VSKF@sK}{I>uG@qElZzcJ=Y*qN{Q6@KjPf!%~*Y=rx%xJBQ`ltEom zXeoT>l9F~GQFCY&c{5Yf)O?@u<&GtXwy@msU;2MGOkoJLt4-xoSrY<2It6*~zmyXv ztFu#z=>qR_-@-q052J>S05&n>Tn#)DfX z3h(CwVWFbHHQFVjFkQ-Dgs%Ng401}x8SNhHt*a`gp5I?w=c*ED%RYZwdLED;JO8%s zBwt55Fzmj)CVvYMksfm~&I&pt!M@lEyvT3OnZ?)(_QA$H<9zN>!lQ#~t7Y0=L$jGA zor`iy8U8=2zOhY|CP;Q{+jGXYZQHhO+qP}nw$9kLZTp^gcfZ{F1=am@S7k1&JOEh;mYP0*~$(CLh0vvUu;Lt8l~ z=4QFh;K8{$xp75Q{Y}mRJxo1!lzbWvJ}@;iKODSr2(f*77^J!f_3KnS!G4Ts-OQN% zM8pxx$_&O`BXv?n|IvXXd6ciQ`w8D&DVTvIZMK#&hAdgVd*@t|MfYR~Qwo>7Kb_HX zW0*kqQBCHZ!H2R#cd|ROS)422sk$vn6Q4xCPP#ba?p)g2DqVCB8-vo-*xxYx!Y-b3 z0KvI8lw0h1*3!_~XJj_Lv{dpb@+hQG`t=p8UK67;GIjJ_Y%el3*Hh^*vXO!oNJ*g| z~m_0i{j)r&f z=prf_=1BDRC4-W*dZ~gI_v|faDHGDK*Zsyjg^V+))e^S_KM_8g8now}ni;q2HT$r0 znfIl7L45`$>T}&#VFlcY#4B?Nw>m!TT;RLas0^}P;_927=#RRfT+vm!>e+W|@LW$= zS8b^KA?xQ|=O&RDrh+Czxj6ZK{AN4um2UnJ;Ss_cRr7v-^pMT9TsKgzStf9H{-O0( zTE>JbaaZYeQZ8)3y+f%bg)P#pqC=KiElS30>S!T#Z7*x23l2b+h|7eaF(Br?e`BKn zs?I=#yD4#=IrCY?_dBuc!Wtus(LP86%xyiB-UIc553-nmSG@xz+6O6QzoPIps07*E z5V@k>M&5@LZI#aMX2FO(8v$F=d!3Axhm~1F~*vODXvG zxKDD_=Hn~+jeq=h=YpaKE$Q6=#cYa{)tA>49S3d?<_5s`Kkh~=r=Y~%(bRS>xbgmS z?Z)1LF^J~xaIdgt6MgALtAaHgf=U5x`$-aA1JE?_zY)CPCP~ zP(2I~AP(z7T#oC|={t11fZ?I9CUMfjxLbw{3|y3c{L8=hGdT~UYQ6FpZv6j~jZq0O zd5vweJLquzvt{~p!*?m_``$XY#{lnM^!%;i>zF3FQH^Hs9-??Deb(dW=?G=)f%bm4 zPZhcvGtJ{AwEw z{(t<-KTiu7G<+h6>B@pYT^MtCvGXvWYxgHedwj8bF^^;hH;ZokLEx>w3BKm-=AOsU zh%J#qQSJI;W{e`?05QN+>aW zk+RB9Z#XaYnX>Vch+jGP#+=gdljJw+h{Vd6D7Yz=4fHB{n3hsR;-8Dmki6zrCKKUk zfdAUkdRhRH1tZTvXNn1K#2uOljQ1d(oZ)Z)#s7AJ4iG0~u+vJGy-nuf#aH zw{L{3v+)+SxBpzcxmg^h_2PE`QY>@yLrx@~$hPSg`Z&52_7f;p)9L8)Qv!kJx7duH zx8)DKX%54n&kq1_0az`U*AVQpmtGhDoH@XtT|mNcRkfe~@ITBP06;f_nOUE#I^7L1X z5Lw&d-{JIpWW4oFqRPX3gx*zjJ3e5)pVodA%)yR+Tg8d3qY>128Q1M_hR;+;#;{{S zvk}t*AEcuKx_TM9ya<8hXD!t)hqWEZ5nAw{`(zT&(}7`T`2bb=C`#;lLWk>AR&JT) zDTl2x;vYHe??lqxIO#)Y<{cbHwcm~$8OWk0dj`)f$D;oxQvd*NMS5uu*NsP`?@74? zNpa4;M#`nkO1Qrd_X!us9ogGu{(1n}{_tJF{x}iiPmE3R{#9&pIB~!w-php(FPj>` z!(p3IziMn$=>fFD*(+)2{OuO?;5wIO51Dx2w#?sGa$t<%pBk=l6WOjRr5PjX5ImgCfdYIh+AgTD z`$AeRMM=ZOI3b?_3<3b)0xZ8p> z%BrTaW?g}VxOg5epe?7%^*V>PtL3^qW1+jy9RzUXIryKl#~7^N9H1X6KMysvWI@{- zFbEX)fN3Aye4%h1=fNC(-Li?wt<&oILgl5ajgG~})wS$qLUV&r_in{t{Wunz&Vkyh zb$PJX{XWqElm88XOkW(X808)qh~gh>N&%4d&(jd>&+Dhp?rLv~R?PbP26@ZvWGk`8 zx`~GN!o|kHMP@35Q;5}1o*)JnC8znSj4qM5_^ivmEY8%;%o&`8<(LFNiFgd16!&p2m z<)Job6qXsIw1U5L7A|{&1P*uxS zhfp~)RR(q{${_g`93;)Ei5@;UH8C@%fNk{4M&|n>17+2Cg1*VEyBEK`FDyqwQQ5)9 zcTwTsogDk@w)>xW76!LcOFDZVitP@uFo}qB<3C-00gJh*!r^&|P3QTRLP$*4{^bue z4Zo5-Ku0>dR*ZUf2`6T%sEl&$N-;;!-ky!u%=}stHaa8FnZdlwJG;WVi&aZFM-jrw z#xTFzU|G|mC5rSE7^x{a(`sw?1V`WN1d$)~bzp`0iyI!5?nJm?+PW|_m=&bSLRD9z?k`?_Tk==f zJPUV*CRwp%&&9YaqM?gI3>9Td*+vlcpZYVzMX>4Yhlnv6SglX@6zF7c{J8Zob9ckt zpSBx1l?(L*SkXYiV#e8k{XutM-LW>7PjVL>NdbSXDW}|Z*9c2MqCU*-OOGuxj(U%* zhE87Gsj#fd(a)@T?IiK!=)QC$zjj1KjUp(`u6Z78kNv#nHtcglz3a+;Vc(4j_gbUH zEZY_E$|fl>Aj&Z;d&yhq4~nHBUIgB)>?G*X*)3$u@K;<2ZU51_MHUwLJSjF8Oq(a_ zg{omaYB1JT>_Qar1eKTvMfH@?RbyVDDhDJvf>AiDwExGlx*jB0$)JFou3KBeO{>X= zTj<;@GdF?p8b#An`9@uTWhTPplvGZZvTG&VImOh|cnZRPh7Hiykt|1^etI(Y%0(Sf zA6do!(W|wD9H3=tc;E4o(M=^f?IVmzq;T)LNa#+7totf0D*Ov*RU3%yTVGh&^6IJK z1Pu}6#3fpj02gysH2vDg5ANxCjUClKGko7+os^owWhB?Q8vc2ws-H4&qXUDBcx7RV zOGuPBEFr8gqC}c8jm4X2#{c_gL>rsP~CYDE({P`SCWp7ug<~-EzJZ=K5a+jj16Ibzu^dhf!o?exqV-NZKnD!Z?Wr z`~hIQg7g!mVwry46;<>BH+6k!LeKgiZHKGtHdPOes?Us&7WLlP{6wJKOOg3t5d#lR zrh_*dC)?zAbG=MW=90+uC2h@*7Hw(0i?PO-Ql~P>Ixqv2@j+4-rKNLTFfC;iER-ve z#By#4ykBlLg4(sP2KS>g&9WU`As16R3XWZri0$S$o%2fkAx<6%xF$Y2)=F283R(}m zgOmvs0|Ar}2ZNDq*}3ugYIWQEOYVizpYbm^AG=qDn)SSDYD7>SVPFlpVk#n!_CFor zq8dqA-9#H+d*~p};-sW0ntEJGNj}XrP^E$611QBFy7JPoIom??5?#?6(*}_sg0#w( zx1}FWRThlgM5SqJeu|4|1Eqgdy_6jJikSj}e}f z79{^-Uq`ToG+E{%x~(9K2NtPfgYikTUzewNKuSY>o|H%uTL5v$2yDz~t&$OUr7A`@ z7+{sJ>cP_*6+oP zMhV=gAQbJ>5J(O0n3NnlKVd20tq~~0Cn3j2c~gj7xNSG|k%`;!I{u_U9*D6D%Uo&e zv?wx25sB#EEHAfJeiROFf(ZJ~O%i+ZN^yatwe$a1y#)d`6wZ3!t~w3y51{XDXsyNW zb>U=O>C8llLG)mJ?G$?DzQ@xLiDGhLwP`0kZieG?aO)oKMHhfzU0UFHAKsednXEAt z2bf_ho;RH^N&0JSB;L5def1k1G7~SM{o`H$09f#4)q1z4fB(RQXpC}|A5zdH(Ao7s z|B+FqqB<)j7=ZpZ17dN4nkJd_23@C71b`O)Unb6oIvK@2R0cC5#77p=5P@>}af+iM z3vC;6Hh<_39fmxNT{8M38v3`PF-JE+C{P-30oKL@h>+v!52{Whz{|p{6f%m%MJ0rZ z2!CA2+7Tl!a}gGnOB{MV)&V~|9JdpAqy`)<548dDwZt8#jp6GaZkU@7HvrSlzqxNf zfY3z&i6vkt#QCl(;COC~zd(TvXc+37HY@SzmZkI=H-(jpO81$zPN&5e5Dz^AwW34_ z9YSu>xpHF^m6;uIKmcn10RLjkZ2THL5FW9wmc?;#Zz5JN{hx3Ll(;t#=+al$BkZ^X zkaF)M)Wle8oHf)>vII8SE)wI7r~a}rl!+g*ho=IjWa@}MaQFFhS{c5ck;J;WqBw!C zGW~(^|HlLP0CaQEjbY8qpHqWF!+&+lI(OR%EQL&kQ6qaH@gZG&u#|C&DwbG5#q-zy zm%Ii5fCh{Qabc>v#zaa(4N@r$R&#eWo&jfP^CtMb%(Q5)Kqb$d-8<@dKEa8kDy`jC zt;Fv=g)dIZG5%s*(BIGNTQBQU*C0k(@U-{F;;bjmrWH zaPHOB)47=qHA9eUDvUH#D8Sx-?~)O~CN}pHUt|s=_I5VT;YW;1PWxTA0Z=X~p zGXbK?J~Net;!j7m>`#$%40al8xVmr<3$&H7%h4VsrF4ig^8TnCPLXzG554g4y8M~; zqfo?z8hFI7PLKvYmUQ5`{)F_Z5@s`KoWKLkTc-fUwIRQjU?nc(J-`XmD8S{ZvKYBbv$;UvO=)PU5I)BX`0ypUF{Voj8lV?H1-O-BB>&&Q);x>$7gq!l|2j{Nf;PkN9 z#?Kg?#o~r$dD?gT;e3pOw2ydU8@`0w`vi!SlDmau%`eW2-qhVMlVz7pG z8bXJ_f^5?Q#>#C&rf~m=+@sAfzgcTYq9VHAIt<9ROqmYP31cZ7c`1|*mRNz)>6wWa zF-+_CY6)W^j#|Ye^>Npqc-b-=mGIvSrSk$g=%FE=kEHQ{yB<#0E~!zM_d8`N?sfqr zLA@8H^~Zg>$Tu3bRWBWtjWH%yZ+%aCD9|GoL9PSH-hwg6u-R_$f-UJ-+5M+F3yuX) zZprsy*TYINv)krDp*M8icY%jHfXROuB>$H5GMTm_pbJd7I`aA_JGX+UNBQjz8G3Roi7IYlI$;_1fp%!08#_=ZB5Le2{v65edtO0k)SZc z+;^Xw;Wg2OeY${(#9vy?4(`}-J6-)vp*-AfZCIhguPo#6kEu)Fl&*GQ)pxXRAn<=X zPzLM|P(Qkj z=3E>;CTgfSP&ts~zbhxWNOAvFUvOWci?ih*$UCyVIIB1%PBvXP+;aI#h72H$XVuF1 zGKDVt6w!^@3E9|^pp^xB;@LNq%MR|oF#|>Im4j*ApLH4C{p4U#73h6X6fSkC^xuR! zG(hzec6!6aGwz)!XR#&Z7pD=5U!}lf@<<9Rg$`2qaLnZ|6u~wApeMaX*)R#>VevI* zgcfqc%?vx|m<>ZY3UiTU)0g2v>aN@fZ;wy72e-(~8+M;x4k)w8eVV69P|vmL>OMS_YmG0keY4Z;;u3l1AIn9`-XQT(NM> z{PSNC3Zl%<(eRLkaXbA4=QwsDvon}nJtmmb0gExN1}(AhK#wB3IgACC$lQPWlK)oN zZQiIr>JO9aRMVFeOAMNwu^}mRlgG(P!aNj;kjT6)>HjM3h5o;M(T-(nKuvODz$92| z4Rg|`CauVtuFX;{e5vhb=g*7c8Z(xrY?+Y-Vx8Fh&%YL~Ttk z)gp)t5;C#+9&sbdn`NY}mf)Tt+v`$22*A$PCM-hWro(Pqj#1YpHn7%u>akW(pY`M< z6Qn1Uux0qo_CO$JJ*0u?iSJ!LL6VAUh8lkaq2 z`qh&Tkm|B3U249vdBcjR5&~9KcY=yy`^kqUxbfnQg~U>bZK-QQV@}#k zmK-}NVthRD6h?aW!c>1evtc~kpx9c0hoY<*0-94CS1wH(Vf*VIXhKXI=@7z}YDl{~ z#gSz!>=zgY*F`>m4K%E)_QO+P-e4{FmST%J}rE;J{GMbSxC>>nvSEmtGnV;M-FueljW}@(?F1+vLb67g?6Dx+?IFRGwL2m9OV^Gw zX&_WE%Ym`sd5oIt09VV$=Cm1eNy7vQc_3->e-2aZ6iv5eEq}W_UC>K<=~44iakLw& zVJ36McF>$jdosL{DANcEYfIegVB&y$JW4Fikwg{}PtT`~d4Z{YVIJ+h!8hTW%?p_Y zJh0kMpro;KpjR?;OKQ1OJhbJcGzXQxb#|v4t!zA4BRcBhR{3f5Al4zz!MW2p2ICZeQNw0TgRZHOG&EpJ6cMuio$DDp-h8$z|jI~qYwcw6}kz< zTDOVyi_fJN!7o|dfKdE9^Z8LRbQGM2B*)}Oq#@EZwPU04BiH5Txus_+kEHMj?5lIz zC2cA)=yndzPb-h--3TM+_SDm1e1k~OX1_tf_e^^aF0Y?0q$-k>lZc8`A2zVH=`ke! z1#s+qOhMTO_+QMwuhc@IGRl?~8 zR5R0KZ69(lD z&wD5)c4AU&r21nrWMAK?2#jV}q%)Lsr!F~S8gS{zx$+cfystBBOGcOB|U(je_+@RxK^Y#s!^5Fy-9zsbr*Zn_(iS3WbS3 zMc1(j2DWcA9Z!G8hhvB;$nc~aB%+}Zf?;!k*s}^vYd>JoT=+VIjK+jGzjkmrHh#ph zbQf1Al_fHT=*#p`|JX&92RzOPp`f>2C(OqxdV>sdPr}RtqT#loY zc>S@Q%j^AFc!1~oyf+$7T#bgm34}BLio9>tJ>+Uh3-&)B9)onG|28@D`i0Ac%mfTE z?=&|F6}&5P=)~xxf#k-bnuLtf9x4wvdK4&_LAQbZ#-Oai|AdU45n{WG&N*w$Sy=TM zL*x>fBjSHiI4Tlg5T*I-vG+CY(vW38Qv~5Ah7cMeRSN9rHbndS6DJ*Mqyk(??ichiP z9{H;pG$6eh#&mrF>tL!}WPm+q4Sdy7!*PSv;RdsKvZHTMHS2?fZEKI2BqXQN>9w1| z=W&wStTV-ekDqF~1T#R&aGwbd8i8gnq@h%C6JZcEL{M)-7+Ey<7`WY|`j~W7&#tlM_2Eh>9 zlAdMpq_7ulyG4b;T(^b@U|N$0sK7l8?J|55TYtXZ4;1awi~@!$@^Jd@5^%NUmhTJG zsSm;Cs%Wf{@h_>2jOLtNfUb-0ijb~3eA;Cy= zc0Q;|)V+9uQMgEZc(EmJZ%4+kxOk2Xa=9(!GFbC|z0yW#QL!MaFiNj2=huZnB zw1!{Q;a?#_U`)P5ZTIWLp&kffc2L*A}{ygxK=~-)@WJt3E0I z4z^fadv0%J8NRJAvL-KNXABxVM;p(BJ&NgWMU4+HMnk-=?^OTt*)t_icFdddq|3yN zk|F(&q(p~VgzGV~R#4%jecSuisO<$a4MEoMw!pbWxQN+-y$PC>7%z?kV`P=G%&*ip ztP0Fj=2U{KaX^!}_Rh_9W2jSyKzdSf!E3&bjHQ;^M|Qrp)_kuHc+4!GP~gpe^!>Ox z;~6{t9`7Xkqq4Rj8By_{Vn~r!6RNewZjBqe_2ry>0g35ZX*$=Z-W0UPx_hGy59PvK z`1E2{N<)_uehUB6MVY)&q z^c9Jm)HH^pd_XSo=*MtxzZ8min~|xfN)JRPv`i4bS>^lekrhnLyqE^FfQ~Z9XDF>s z2Zm)fMhcWB6Pq%EubzCwUvrG*eSa^*`+n_qVQkHFolXt+g^Mn-ZGPeMDlQQZ#zcOH zht%Seo;p2dTE`6FNEc(yB3@A$%J1_O=;d*Mrq@ce!ItLCtz546V5q7ZPpEnwBveyA zdf<-XW1r)3nGla@qLDs}vC!=+9Eq}n-yz?YX53G9$|Lgm>N1J34SlBt1iQ`v*9~;V z@$LyfiXmBN$6#jzh-{_>_iODcw5kNVCu@l;A1S_nc-A<^6WYJ42X(S=z%qU0jb-yf zcXFeKC#h#cofzjsIZ53PEy^_nh z&xQH9wZnZ_&w>OPkWc$#tN3_I1AxPR`QV0|kmCRnyx{OL3@H&fsv z%E@c}O8Y$tF~zU&6>KeH&C3#2f3nv6OH=Xr`EuY|4&8%@qG0#Fbv~oUb(X_qBKI`h z+1TiUfKHsKyYSea_H+grj5{h8Ls9U);H&KPEZGWRMY_S5n7n*bF1x90Ur&r*88nwcfg|ba0Mw zgQoY}nGRHuun*$4<8W9WPQ~og!QFm;5P3kLAb`GS-*}v$4o@BsbaKer2RD^SsOe+L5m2H{AL?xGNmDcAsl}h?F`mAeJ{|87?K7RNbYe^ zNx#jzwjY{KP>+Uh!!%L7@fetP)BcTo=!ZkGYhkEVeN=2D!DTFxZSJ1F{@wWtpl<)c z@kFOi(ZBjAmKjwTVvSndUcd_o_@{Zx7v*S*USOS_8JZ?JWQyLJWN|Z>SNUWD@iQP` zd-n)a(N=@H=NQ5&ZjQ!z%$Z3rly9^#ckPKp5@&#-JqE2w-ahe?3MAd%gGN!_whYG~ z;153>0#UA-n)LAiA%ZRnyY9${S!M)YGp#nq(xl3{=A^ahsx56*fF30-+DcVz*aZg8 z#S*`w4s!cDi_K%a^*Zho%Y%4tjzdgkz*5D(qm-sCp2BHn#f&j|y=B>#)x{y6$A~pz zoB*4Bl8>#Meg%nYQhazNPS(nYu0<(7#Kxs#>}=##IiD``)91?18&eJ<;0H%iXP6zF z1zl1fr#NKsa-+|+afS1l5i_o@vy}wFfu9cK5x~CyT;h2M|G0e=@#LwrY?)`*TK%CAr41jRW6g^-cC>-pYO=R4J8QaB(QuW`Kad`lsl9=!=&2)o}rQwf*`_+&NvN8yz`m4y&`4gvBkvv%jV zmCc;?pv9Z!Ll?cGsCm&EcBi3(R6**VD>niI;%0>J?>TMK+@izH(Sulrixzyl;Fl+{ zwFX+ED|Do@hbtSe%X?8!1AEMuC$+Xt4e@GgV7>O;5GgavXGJn*b7DN?D{%=qPurYe zdZkn-X~s+7zT-0E1l=Ase+Mxo615dzB&2{klVYZpAi=l^sT^`QWmD`}s%Z4tlC&VH zC0Z__K;m|u)-N3(Ncjj%NlYO=y&g4g_!*3)Bosq>(NMPUepa z9eVJ97=h0jPa%SwMo)^)5ZJUiOmWggae3R8+N&xWrO6uUTK9;-PcQ--WVfm00CrWB zr^->i_j-tyW&~M|3Iz5l<}X@Cu7+{NkWt5hxRc^VFt-;kdhytwr&YLIH@FZSqAzF zk~T#WlPyUcEg=z^Z4a3*1q*ID0s7F79lD`?N9?d$zTVz!alhC>e^PStNJqu_g|d4< zDa<7oN(X^|)b_`qF$A0$^BI)2HPk$7E6N)R!22p9MDnrZI>oG zRR@6#fJyN#o9PaF-<-pzKo86;YfUXW-M_MUb#>LRF}f>0=%W@`i*JH7Zo``S;-2GG zAG^p?qPsUihLEb>K(GlACsY}N-YGV+|Jrc$5N0K$fQ8^T$F?eLRK3Bx<`8GCf%yi% zY4+T$ETdG=do#QI0>4RTl(22Gvb2}AW{2WS1@aF71Oh$?e{tflaF@wsf%sVM2f0tMBH|2S1j5D5tRosXdBoI1TXVbHM_ds@Qn zee=muv1%C!Gq}e_w@3B|>Kv=a_$N8GDdcRb%6eqyC?rcedfO%vNd`GuX1*xolaV|K z7D-8Dem7Posl;K*U0kFqe`$7pkX5lU1(`py+;23Lw%W8|JP@gRpB*>P_3VIOVJuT1aveN zU7PIh@`s$D3^wg(*QOBmrp@N`GDx=ENExwA-U6Qvh7BMIS9qc{=cVIB315tf)L2>e1Cgn8g zM3AwVlu>-}TIL+?Oo!8>1x5MulT)+N*hT>+>AorHSfau7(^8}2;%1yv(vMiNwnnsw zXm-I~Wadq^SO&3M#C-IL>G%d?lZ-d&kXx$>&)NbEc$;7L&!UqS+AU4L>X-dr+@C3^ zP+@x>tlXFtFrMD&A-N)*Hwc__SDv_Uvx9zJkB1(%39_cLUl5`M*Sf!c6A5f)P8Hi$ z5zMZAe^^c)woy?#fM=C1bxS`8RZbi7d7BZYSZfu<&5>K3v`ZXZ){rHn+ z4z$^Fwm(1=F^VC}{p4|K5@e|yMNcgc>16SG3jemY51JbusvQa^rwTf5N8y5cl;gtI zZf*f3gCz$@hDly!aiGkUr6#k~9THKj86-7}*|O#>7tz<_jPVfR9y(y>oaC_;>*axU zck!i;qyia$)%%|e43!}BV_9n*+27h#^h%k>9$PlFE3m7Gfsj z2m`Ac$e>z6x^#TKR!Amdt*l$MRCZgT=~%!Z(^mK2D+SC!GMYf<>+px~hT1~%;fJ_5 zmdv9<uuE`#UxO6<@*sHB#UMh}xO3RXT5ieI=03DyiV-U$vpqI@B(62SK8q03#0~ zPn*B66=DnU?GW6zt{Eml44fQ*0!?Aju@mYps)c<}rJIN-G{9Ceii;$0!5Tu42RL@$(!z%t5AmOTb?)nFTs5|vi z&B1v*@%q$8@yFkom4r(xq#t7^)vS@TVjnV%X!&#{YSX~1vA6s7`~F$Z8?`s3r{c%q zAbGIY?k`UKr&>%qQ|xD!YAr)D{OoDSto$PHg)TU*;090L_Ss}{ClJL-JxVZTplr0t??52oa?~$QNdr4XNl6~pMi*lE3K$1W zU&I?If~>~PvR>hFuoz~X%&sjMuGnG%#30ERW#I#myd-JD*NAv!NM)FE5F#4qVh&fH zL_-=3iD@7rT=GdtBt;O%fY|IIQoCUsc>R3kx^epr>dt6=+hdKdp{stb8XEQuIBTcD z1EMt?x+tfkO@qqDas5DOd}f%MYLNu~MdV%a#R(b^cU=q}FHwo$RFLtCnNw6RHa2bHc}6QHlJM z)X^XyshZqt9r6-CSWSGBqq0*v4}wI+n#@SWWIy5xsA5(`HQ!g6RPYLR53_Cipm2v? zhSG>39W|d0P#VP_(oIHx0$4(LKuxhFZ5S!PjC6CbfRUA7=5?hw42LXI+4#{^-vJx? zG|etj5{3+8R?}Ik0vnh9=LqW&cpy(9Tv%LSC2= zG~dcC`hFDIWSz3ys{umP=lP4IUI-iuu}p6w6^em>gU%ZnF>+>{RyrX~_CoKH3gULP z?26zzsj5*p8{Uh|p_&{%S63|)REvrYHu(DN5A&GY4Xtm(p@enY@Z<6GCrHcl$C^E4?T zxCOA~WKS$>ya*@?Bw=1s0>?lM)5aAbtPJ}VU^NHs5W)~a``~P)@0I7s|AV#d`kZf9 zL#xDQrcfZ7YAK{I{^Wa#4b%Gdq7SB{-)QZe4p@t=H+5!Ae~}upWncwxCf9Po>GzM) zLT{_1tLLxpXu|Ef#i#8uhojL>hIuTuXo9P$5Op826Rscm*ECa$;z!&9S*;(l!b1C# zoxVe@xT(&(bH^SYa9^(AE+y~DKpT0?lQgM?1W@I`i0WStzdYT!ci7Y%cb|LdZo#5w zUH$ZUzY!r9^ui{k4f`$-^c02}>#%qz2SmM{wnX_*Hq{N z#S-W`&FY0N@>=LwKQ3B27v9GQyQ}mty=85FB>Qjboe&X;dwPIk?t}zI6 z1}y9nh>?fow^Elpp5?^yRP5t#NZ7W++S z-s~~V5422OMTuOb88Td9tKJSCxAG~bc_1@Lu<+nqtwVux`{3kq_qeg6^^f+RXj7iTh}1tDNC(RhP$N#|!SmY?F)aq3%bMK!7*hpP-HZ1d&Iv zsU@oGQl3sFA1`&-)ebL3M=j>>kF>ya__TXBjGij=a7W^69iw_}u)+3XstrvmFN5lM z7B6mtPaB1ai21`slYgawm}bGbz?|GsAS1g+hLi*`SD^j7YfJpaN4MWRDjjpaCu{EQ zI`=kF>H3s4zg>vz7IQ*em6DtO-RQ#op^Y!#01gTYT|ig#4WxGgG%(QLu2GA@o5!c3 zl$>P!1W(T%5(Q-R3#%saXA2p5Wfe=F$~lq|4hZEp89663`Axb()gC!#po=e!RhcvjblX=sDT-M)4us@!ntyt`Y(QVQ%}fB zV}q$@R@yHopPoDV?G;(efv1SJU9`#AYa)RVDYuC<^BZ8#sfTL>P66^O&Js|ybM{O; z^>4al0=9BwTyH1u9@~q3Y+GE_HGrMJ;TciBuNgk;&@##zB-&Z_nJkf6D=>)Vs- zScp3ugnhERd0ukO(sWBo3y353tg{bC;(SDTX!4!(sBT?d6!RD1%VWAa9EaJoTFU@w zY-zM6GQ_y4c)HKTiK5+qvVw!_x#OvR`{}el9r|2xeune0vSkx!zh%g-dKrE`hs=og z&<8cp+-X0c-gXYN(^DJ>rOKojVUrJ5Z8-HD=s(50io_I%0np+C^gim-0e}GkmtjY7 zAf0vL*+Ca!I+SRRb8je*9`jXH2CAqa=mss2@=&plM!4$+sBB>o>(XLJct;xAy?eWB zC;-!TrE!b*&W1~37k`rUk&pXV}8rSI_pDrJ=8-nZ7=PU*@p%B09NsETB4{@F5vr_AXDI zC_>q*t%bs1EeAjTl>#RG{^Gd48cC_JwBr*2H;KU0wY#~w+s#tX-n6PDdB!IsgH%F} zmb+ut$c2eNQzDtogUJc}+|%#sJUh3EtjH6)Kd3|y6McD-Ruq0$&8Ug%gwbe1~$Hf|8xjcRY!Ub>_Y zap&m^P(B%U%?{BSXB+YI{b!2Ged-sClUx}Oeq8k@LQu=rppYGKfL(b$$2El;_})RH z*80wHyFKBirQy8Tc(`08D&WL=k!8;MP_-j;}W zd%^1Vcyrn^h7DT^wzknvuNjL_)YT{_NeUbLfg%@`dk7(C+`|fAZ%B-21J5;dwX>68 z#E_VRvu}&G+pyo`jV(FG65IGHvs!6B-}u~O%{*2+^|E{@TtX~mc)l)u(B!U=!OwFg zaO60mAhkPIDZdd8`h1rP;-!LJ_-t%YEoHRQX01Xs0MhH2oI2G3QKaug@qo7rw1t8{ z>5QB@r!&a7uo5p?PwI5463oP3!Mwi?S{B&uC(=vuC zoP$W3zsX*WW!XkGCb0|q`emI~Y0 z3HTE{QIJ@U0;Qdgr2lUj=)Y~mMm@VYmFwnSNRp4`E!)UqUHGJ0*`gr>b4!u6=2*oK zy%)cFlI?l~79&DU|?Wiig$?!Q!n^4 zxbT;!O$Pdfuooq`-K|V*=;+6b8=($Jw{VX%yk=%*z9_5qhFW2A29!1%oT{I<9TKsJ zmW@n=tz7nJa)wRRgKKXy@?v_+6Ju#L&XW~ZqTbPfkiEPF?1X&mm2;?~(B zv5454jp^QcZry03VCKwNWA4`zjG4;JMa$$4i~Ba;xWqY4;f+!;Of%P?VEy<#f5XqI z#&()!eAyzm-G=Y=xq6N?|7ffX!E9A1{{PGmI|)M%35KtWFcGSD$3SZY_;Dt(GkZNc z>oc}QBbiG@#yCf!_MBEgMz^Ba^xL+=!2?wM;7krgIx=p1nZoB7Hk=%7Z)RE!Mkx!#Do%Qo zhVz7`MRVVm+<6-6Et2cz zT0S`!ANY698LOaB?t55#eP1Mo$t**~d|}ECNr%13UWs}j&(OU@E9Ri$KW-ag6Ev$o zuD?haFrvG}0F3)dc8^8t+9iMRO4@(dNFN+5=%9)lahh{lytwe960%f7wg?ef@Xl~= zZ7UP@puUOCm17$z&*L+{+mGJW;4~2JXV_O(UNL>fQ4t~k*{i0}jZO%cRD$(}pRKi^ z<giq&?v z5ps|@m1tF?w`*?|Sa90RcW4ogGg1Lsfq{X6ID)j{jj>jJa_bZU39)xYNN@GcPzJq( zf-~@EaL z$TW??Y(5$r#9b_^u@N4>%;qd9MT_u+>T|92OKPbiJYlO6FV5_FTQEP~_yjY@_AR;! zNd@^t>oqH9xy$SG<#4lg(sR?T|CJu4YIW!w(bmDvJl)RQb`J3mhS~|~5iM5G2Gb7T zu9fq00ALUh00000F$Dl6002n<*Np~4x8W+(^(+7XcJ%#<5=!!wX_%k;Fa7@4|NmV2 zLN~!1p_{fbx^6HV*NrAzr5g;_htX-c1GfYKBrQE1Cm<{sZs*yLY$UyLY)>{qI?~R%mu> zZPwk2nzh>YYxPlop^c!c5e3k)1yMi+0xb$4kir5+3Bh21#19H6Bq0I_A%LhDf(ZN~ zv!oy3{FGSQqKc9!12mH<&Ebq=E)Q7FD$22{69Uaa%|s>+g+<5clCvIXt2Yv6QYK~* zBaE_TNzoI+D@F)1FB4%NR8q=J4V9IxCQ&?wZ?PJRbB(@aMKw}MOjEe*?W$Fdk`5W{ zt02qIdFo=|i~~B3V=<*n5FgH@%+ypzGIdP~OhsSKNhH{?qn;M8l6H(?9v6Z2ro&l1 zqgI^>v~nZ8QZdN^k)1FUhT?i&V*lTeJQ*fqP})?FOyK%eej;%2VrEI?Dm^0W;^?dk z8s%RaWV>oy_-BWUX-ZTWvY|E)ucAXB#~|%s@5~OJWz6fOI6YxVA$}&=vXkO`K{l+N z@-V80H<$+FO`5yl+G`?4zoCWTsDoU;_tH#+YzB8`UABCNX7J8_^!z)=UUxw+eGkI` zP@EfImDw^>=R(wOA~9a&{Ph|XUkbid#;IVY#I_2;3Xmz_WfxHwo?VgZ5ZOXp@D+SY zg(N}Z2)90^M-tID=;(|R^)&_fg@FH{9rz8@4e|a#r|y#gB7q5b9z4x*N}~ntNqSuc z7DmQlRpf88S!{2gx3TZlU38?vFOcCq?-dO^xSZ7H+Z@nxv=mDcQh<5jCZ@8+>HL?p zsXO~p&4E>8UIho1G{5*=^UjF~KERFN+u8K^y~8g4(Nu3X8U*AEsN$3WvH>(Dh8yeX zc;*kp+6ml-e+z@pzO$Yl$MJ2mN%OmRU*zqdKep$4$CP$S_{*JP&}bS@mMU(_VV#_I z{oIuLh4vZD$9H;7b1|rcxBp?($`p@C}e{PK@q`<`6K^D%>(^XDx?$^T_IBm}zdjOb&3XyauhFa09>>z^#`+<}m?t&eIDMlZ z555cP9vD^;JhDmWvmy2_F+j`)sU+Sm|47HL|I7110^^jBC}0W_3IRq3lj0Y?q4;PG z2f3|}KnZ~&pdg?Sb9Bav7k&^<>RGb;+f5YlKOYhrMSnp8Awa!Ae9t-GwE!<8cJ?D% zGqq;5{EAXhdEGMiG*I?=4tilMuAgGnUhhP}aGw`diqEn&f?o49H;qkRrH_EwEjICmpt|CxX6^+XS!mAoFL&(USYTp?`zYYZ25Uu4j|&?H%4j zq9#-L$lbR7mmg0iS7N8rKjxU@@fPj1iD=~jrM4RU@+FSvByUoWca4u!E}>Vv{QQ23 zKUrRpxzqdu(yXOL-IR=`4CXrj^mJFpGCrF*E#%va<}g~C8@#9J@B9B13*xf4*UhY& zanygaYY=+`j?kUcf;P&Hwp-g8DFyP++b8vOC{8*i;n&<^ng-jxqNB86zMM3qocp7u zOj}Q$#sh_R4fCW}sU?MqX_Em82MP}=Pj`E!o`F7y=>7phz9Q=k3B7CD7ybjjeGGj$ z4>Vw_Lb##;4E_M|Pk^60uCD_x+haY{ItKF_gcfrri(*tlu%IkRECjF||30(3KLc9i zZ4%SX6j#|KEi5$&>E@3E2L zazPWt$)HXNi3B9TUf|kIyMkxovWAX)ZTY+?0}S&O^a17kMQ;1KNtyS342+l$@W7P@akb54eFeBxE(lJOp_=Mz=s4x zkMXOcF2-RSPm>1i3{>YsImBN-%Gc--c9p`_4+&@K4!AILX1}zl6YKK>qsHFY>>9As z))-r~!9<>=eM_B3PrE0g!kn%2b`~{hN;D~Z4N{$|_+c&x8R-JM$KZ?YEgtFBC)iCT zCmnOUEA6A<_YQ$@dfom~*r46=4+L+fJh4c<$m*eik?+_IikQV-o~MRDKNPN*%*3+Kv7t2OL~adxMLq}Yuzfg}C4q5tTiPpj_K)TkaJlu5(ov-#?Ar zXU@}9LbKr+ESW}@X?_*#SP|yZ$?D>L+xcC0Uu2)JXJ!D&s;smuJ(}PdiaUrNQyvCj zlFOT$HbVf-UGpBse7Ma&4%&wV^fi7s*nhV!msujegme^GkJ&6d58_?&lK8IYM0x$N z99X65`7P^repujR4yW}#>;rvW(?MY4YuXRzqRX~3mVn+gjE|h}Gm#2Krz4NYF9zJU(r)r@S=x+E4ZS^RMTpMpyUkdQ7MEDP^gzwGLsbF>SBD!F#}q zAbYT5>p)cH1c-v>n_!&dhQZVmc>PyNoqOch#KAY1jjCu)ST(ZpBZtFa%0+`VePRCj z^@3pj%85N{d5ETRk_sI%iEP0_gw|(3If3A|3h;9<@6%A()^l>_*Wm!I4l>eD0O4vN z1&r`ko2UUNKwa%6f$Zjwf8>oP2iY{nQhD#v+ZAgn+RA&su>JNCe|3p%+XM^_<2(Y3 z+rKN0J~jy|p{H7NJJ;dMjcWd^US?>)4*d!3Iaon{4*HsjAZJ8#yL-*%p`@S=_nDqA zV^%|WDwMtN^SaYilAzuZ9huN4+IAX?$opgFkh%CHy=f5RV_pAx4#v{jp7f~RqDOXf z|7D}U{`X6t><)#B^f=ud&cn_R#W;q2ROtE`Zy=NP;(XQ(dLqBy1NvOc=?$%?i1?^~ zvhaCj!_PKuc^hYzo|I=Vi*PnMJ!6FwTXu!|tn|dMb%$r|f94H$5pJ@;Uxh#WFT*7G zN$-UGpr%PYI+O$yVF(8L4b*Tfb(y?HbkfMShE0v9nhrl51)et80O2661QlRHZ7~GC z0!?8O5Q&cnnW~lt=6fXF&&cr}qOAp&t}|W`M{3&D}0e^`%4_+Au$id^+C7>WW@9#ygrbyHE;8>Kw`qlA-D|` z>h0JbeWr5tWXWhF0%F02E}cX{X>6rZ#}#O6p%;Bhk48PTOX~JEMTm!g(hs3K9feZn z*rxnJe>RVDR9WYBNBaKa&+ZGYv9V#1pyU6B&*<^xkDfMswH`#ZDKqL#*>brr1{pM< zQIt~MvieWyfRiI@+61F{_|He)>8kDj80{o)2+{Y*oQWI%E z93+lj_gipNp1mmA#TB3eMxf#e-+?@Z1MGkSV89LibKn&9_8wc!yx~&@cu!^+SL=@p zYdpB#f&Z-wj-Jt9%gGE%lsVq6TPMN{jouwcF63ss?l@v0-;H$r=@$O89snX`;LVje z;r6g#<4V!5=Ap)*dp=ipyK*k653wP!FJJZ{UzUUVJ!Zv0)m1toK$di)K{nQ zK`esXErZqzaF)(Kz4rH5zdcQLbOlt<1WlZO#~p%xt+%_gqQ6adW~hlq&Y++4G+$9Q zOiVCos6lo}9-rv3X&YajFcICObar@c%?XDDP76h40fflLZ_0~4+F0CU=vk~RtE(7@ zpsw!8Az_2#voLkEy?cdkTOF@>r}NwTn#+m@5>F4F+($RU2FJX5Am~2~ucx8-Odd-R zKd2wE2y>kG>KTIK?}1VD()wWp3)3j#xv+{;u~xMH$Vc!fY^v{+6NaP0|Y=^ zraL*tr17vdEwn>Upt}qp*rVD(;Lrr20kI-|HHBv?!|#}TwpJJ(Vt=Whb(Rn8E7Bpg zQ~zDa!l85D7=)lGk!c#gHv9V1!rVu=0HS62zfpVm-r$d%FVO__bPV?`{L@_f|5uLb zB=qiYpb#PZ@z7AjV!6*a+vIuGDysZ=*ew*67lnZh@UpJmARhI0kdf@6Z28`w^IFn#_Xy#Swtf1N2KK>c{(!w%TLKP2?U&*a%(hUItg z0$!{GAc8+3YYlKfha2R&5enR_ewe+fu_YYI-z>A543&O4JaKqA|`~_lV zBahzoqbIFl<`=34g74wCcxE#5ls~^O$f=Vo|06{YEYI5|=@IrLHMhnR&y2ymJt2Q zcv9I{;xrXxL)Mo#69upw^ATTBzAoxJ`l0mn2x6>mTEC_8JHPEgwFm@jd4|dR?L6PC zs%ztHv&bkFazoz6hA#O$+V5BL&YjTu{vn+-op^43tzAb?kh8^J11@^A{L%pe`e9aB5R|%f%~31uWFEl-;<3q10Mc zpP#mX+*wKBBL0>j2uO6+0|tNrd%y*?HG)59&>0oKe+#Hy!zb~Di=}<)(g+rueb>^F z(g+!dCJ>XkyrKX65TXss&Ar@_5;%$YKMDJ}6P@U)T|)gqrJ7m25uobvt!jU-446MA7QaG= zceKozjd&Zr2poQ`Zd82rsooT-2|llq+XWhS=vl8mfn>I7?*|KbFe)d%T--2d)D>t;H3%UhjIOx+-Ji%SF0|e87`_3Q~Pj=xyf9G}|Bew$gAVekL6$9}v z@3`iceYP!|!rRntU28OP!t*IVo#daET)0Ls1QmD;0=2~hP7aq#rzcC2Ko$o{lyE`0 zgDj*dlGluF#Hp9PM$EtdM3~)i@1!2h=16}70Z!4M#E!dgoGuEU;OU;I!3aD(_ZZb100Z$qy@cKLauSd>6-Mqo1la%YGnZfz<@nqVcU#wPoO;F zh!_8fXsfwzzh&S@ag3|MYYYc2eHY1I1>k-%v7`+D;Ds#w^j&9gR`292>udKO*>G?U z?`JAe8%AEzz^3xAyLog^dLv;!2Q{j<_jkL)N3j~Cw|w80KMN?t$U+DTD>>%9IZ1Wz zxnY#|Ki?s`4%5=^u6h}sxeEViXz=+Oy0Bp5lYhMz!YFz_$4HzdCc0*fp@>~UV*2|xbMVi@_Z8h`#j&V#>o z>J8VSGqf$OTlVL5%7!nt`Pm1*?^n|xb)6V61`MeP^UI4_NY|+1yPsSbSX<~|-zXyQ z9&zA+8uZi+97pfJBGD9UReCJ$9ltP#$|BNe zMr|J#V4RlGVwel!)>wK{tCgBIq4XAg8)t`imgID99ZJ@yu6;GPBoSkY$}C{brW7Julkx|oN^qEK|%98-48%l|Xzxz!1qs6oS=4=xb}8_h>cRwA2?TV59@62z0u zXsD5__7>Q*NYR!3&Q%p@f+ygmR4K{@MP42v_fnUQ%E;JLO)e5`Xd>9PWTKUh4<|_% zM75Y3cqA^pzYdIt?$fr_(nuEmhc`0KDB%i4nDT|peT<1V+RIkz;@IZ3$0W{BkK|HA zt9v8`B{hrAXbXvOU=jw{JBAK9OJ{Io!^~E! zgsg0rz*n@FlvmU0uAJ4D5Th=MyxO~0=iLOj+fP|steRC?wC5ItB3sO>2IH?U6|+<_ zJ;xa=;Bl31!9F~nvi*BIF$pfL1#(PBg@$HcM%`xOSY`1e%rNx|GzzJDl`7)Nxsh~} z!JdzduFb{qn3a-*U;T$}YSeBt;T=UK@#$P#Elc7jH0m*)pSse3=wxGDCPwMz;L7~; zDTXmu&}Z8>k+8HYFHT!mHWi~z>_z;Fa}-G>-oBZyusnr%D;_N<>aarGV@`}rjdm3s zPECtgiFR9Zx@{f?6D_+$*DlE}TC$>UnKi9f;ZADQI#g!tE~&(sq|Pvj)S&oPVdvv% z*0+04+eD&ta8KDIsB-Cx+HMU$;mRJ-j#fgoNjDSMk0-0cMD^T276F9iWkyRR5b8{=Dx4pH&e%_g+e{+@(pw{2wP0%|HH^|V>* zCHC|@)3VGP_DU;j)mDr&9GQO9{x|wyvtO#$X<2#J!9qCFL zMkCW{a`EJxn?dh|4a-zITM1KRKn|SQtnmU`L)$jXoeCMp%Z#$+x!CEIbY1{EM8%WS zGQ5~w#k7|>(x7O%T(VM@M^QWz%%d7&l{^LGnxSM^PPi!|WlD0#DYci5i;*;HY_csn zap~fgE5~Jz(PsVGVnxHZ1n5!N%4tIU?oEbM5Y%MKv{Lnuid^Aw<@5etsFGus51#Xf zG!xr+n;B8I?a=pGw*paqCnBQ{QZsmR%|>=creD{XC*_j0;#}`1g+G*78wa<5?@Kqa zVtGfu+Lff$8=3;Yc9qG9`))e^7Vpo}=~MDb)r(%?uQnkSl184F*`x~T6zLtzO|G6R za;6EByD-_bnVKzCJsEETjBpmJbB&@y>vcuCkIsk`Un_i~=>Ro89J)`-Mq|XNHRN8Z zPmWu6M~D(?*MR8u+4N@?PE-(EPr(`*w{FiS7pj!svni{!QI-5kCWxhxT&5!CnmD#S zscc2c0r?x3w;U72ajkA~flL*Vl)AryqHQ ziK6eJm6v3DD!ElDfgd8a;@NBVj^sGk!?P*eA=*p$V`Hf2H|wHkL3~`X?l4&ij%~+i z#WmQiNy7qVnB%0_DYm5#uTAI(TeZ&|m5-xb&76Vj5@nhqw#JQ=j)}O`$OH-9Ww=}F zjwpuHM+wxp<@aaHHyRxcEyJ2&5t!1Pm8@&QG;*zK8vmj}65HZXgHkU`ywrZP^I8>_ zl9udu`8ie8mc2h=bmKW}hC~DmW%|n^^2YMw67i8W(<(B4!M3rF2G|qFT&ley!J=Sq zO|`bE06wZ&hT6psuD|R|jyA0>k%vgLomuS}v0ST@>f;pLvDUH4uwip9S{}=>^h1#? z#dtq5%HI>Wkw_0$-~z}=IGa@)X=X^r^{^EQYV@>hYDSo|My*Aw`(~?Su6!SdV5+qu zm1$L4l2+47*#^8Umvv`m*fruicoI|-E{ zn~o=CDq~+Z(Z)JwbZT=(nt4}VafWKMvHdHPzH^HPkq@X_QVEE5n#F3EosN}yFk8xa zTpPlzrn5Mc6;!q?0!zVwAyZaN4dxODUrNdnXVyCUndwukkua=cC}{k&dxVoZNtAJt z=E4z|X9N~)y;`nfX2-KztW6x#(bdyFv77NXMb`3o-d#HEOfN zC*N6lRYv)yxXx6`RYsL3*GwyO&AC;okK2;Dxnjkt zGFOZ|g!gcuR*4<^;J$K2mfJYt>KBYIE?V6N(F)-yEKVmRk+2iS{K<(86NjSdKHU ztXj?1#9q9U^V<8?zWvC_t;l?N*I72LoAwZWHgO4AMm}lx=e)NntxDw*_e5pdlt`Om zjEtn&B;1Ock7FJ$oKfT`ZY$h1zT|s})zH)2u?ZvLOn9tVzpcQ4-lW@^YuIy`&B@}9 z#bY;HDO5Vs1V&*!Jyc0@$9%5eX_=jo{uGmW;h;^l%k^?~oAJ4^vs(Fye8xBB#T|uU zN%845qsW~c{N^Py%Qj`)R5x#c+l%Lxi5c3W@cj@)_$R`SWbc;s*f+Q=G$4~j~dSR&G>ahQELjymG4 zciSfIgN~C!YTflRA{WIx8MjuO>){pm`e;hEXpv>4_U=20`!%VT4!eq(jmyPRGoD{d z@}i#DBuUZ!S$iH_9UATG@sanX;aK zZ5BANG~T^5MY24QDRr+#nlMc_+-1K{jaKZ+4suf-;GZQM7&UFHP2whanTk(^x5CC^ z{gWnTTaehTJhYB@pj1_7V!=HW-^z=Vk_EbUd>p`Yvq;^#;6-J#>X=Hf5pLZ zOR4e3bfbAAsiDmIJvP|z8?6^sBspB6f%(3C$|2@;x(QolB>y+%O^0#Uu>^Dknu~Kw zzNAjmxw7i$M*8KMYN9{W-_7`8erP0`8I9t%Jgy?9hD{n&Qo+l_Q!~vNgZH%L`R&Bk z!nk65?{BxOqReG6+=iR8Q>5u4M!|6ue60#Slh0v^Huy2QGCBEVw_dHESFLLpNqQ{P zEE``a}>k6MOaLqBbFNY5BGMVvu-A5+kDN>E<9j{HWJk3pBB(?{Sq zFWV#m1i8t!&|uWUBxliElZE{%kf)zeip&?x@R zTBTsAo@rYzUNtJ0D5xc6^yPZa5L+h9+|<3Q^C2Au20kIvCXjSdjCd*53&+A)E7Nuk>UgtUT@fhH`BP+S)0V}N(%Ro> zl-R7*tRFeU34m4hB5Cg#P&&eb;Ahf&70j*6DLWQ zsMM8{CHm4Ev|k99{L(j+8wW{O?WFI94vtEak{-F*YHr0lH$$sMIAbZ!kejexXxcm1 zZdyfpwka-LYZoCll{@lsmNUDXq%$$K%8(a@T8&$x)#((gx=gT@pQJj>cp>uaDe&5>j455%Gl}K?sNlqPT** z2$E(%h-U7N0N?=%mfd$lVUo5cXM)OvCA`3M@MW}>+X52-KpT>cEit6Ev`$@uKvW{T zn@l8$$W2q55xV=3BVLvcJ_Q+BQin~ohN^5GKVxKW|CAY*%MONNk;x&^7X)5_K(GJ+ z3;>zY3_#xl@Bj6G)}1BWB!rlR92{|~WYU;ag%p#(Od?zggeaK8N0CxvT;Pohu5`-u z)4Ana3RoWsTMk~QS}?g5zO}__Lz+jxFW|~I#XBI5AWwnIjp?+rZ*%$Ab@W5nNca1; zTz$^Af8)iCCw#G2t!ZemWULNfr+Pne1#R+hy)mxaK#Xd5t5=XQ%LnuW9^Bi}@sOcA zIGf8U1(L;WyrF7}>MH3Hj?7DM`YO?pfuhf^s-sG3zZ!_mo<9~C(EKO2VM7n&Q_oFM zL|ln}K7*3lk|xnOcH7D=Q?-5#o`u{k;<}GpshTW@zuydeg*< zP74&Iu*C#5uotTR;+w)PG#{&8nGv?1p}@n%Z<8+V?Bw|GG&v((tWoBDKR%*G+hRFL zzGKyC$DB85&1?}@9bDqh1M_>QUBMnXl($2CE8Lqc>B6>0-6L%R&Ag3e4MKfJv9mIT zJ1ixxMxFL1C@XBUbKFJDjd(jxW34y4V2Z`-&WCX+>uMl1GqO}O8oD1$A<*{MS^F#s zY?G5`m#kgW?&(F}VbkBYB>3M8SjDfo@qI&D0b>Jl=i)6j>Aah+A4r;sm@bDN%7rcz z>^Bcp8CPcadYkIgR<+NR^a(mP*pO(cD*W?sNXhAA%9kYHrKY6%rXBJ5a8FzBhJK3Y zEy9Qp?clF5&Ef~#?6n49ePmEgFzTP|3uAax{TiTo`{a=W?mFr0HW0MAH=wLoO~wEG z#Hn=FC3kyHzILRCbX4r^*fq!*)Sb&)0*kof99X>l{!K_ zE+T`#y48OFe;MuRd;A@rh2~f1t3&aq#MQwqz*4ot#-v49Z1OO9sqO91JnFQTU946N z9e-kETI&kRj%O3D8&w-u&~Z!L^4w+Upqdc+)lgSFA3tg*KaIHn-Naii>rCEZm>6*U z@zmZt@8tDCnQjM_v7?1HL}!t#d1JfgQ`L3)@5&qMchY-Nw~9Fg$F89-rQVLU)!kL+ zYw~2I9A@G&DHM;ITw*ZR%edw|XjDb_IY=jXNSF>yHJgGzvYusQb1T&-(-6)u=64nf zC*D?ViQ=D$Oo?^S z9D51L!%x4QhnzuZpQ>?k;h4-mQ7n4*{SiG``hw4kj?*97?ZfcV)1aKDDpeGqKK8ge zObyRI(odn@@6_(l);k{h-Y}Q*Mfm*#(o^Rs|NW)=3xhbx-0$M|+s17{p5d+3`_X8A zWPq@Us+v&N=KgTJj;M^j+;R_H)W1vm36Gnd2DB07ckg1tCWG0!c6fEgL?Kw6=Dz)T zUza|t7aAB_Kj`cZ_E~z&E={qzrO=r;J*jXp(Qbsygz2ZfmS%T3S-(F}FjFKv!9`?2 z(^eR*m7eNgNH^DPax7^#*ZSh4h1AQ-Y6?BkdswjjoyemujEbcsGKdyI>f$6MJboxN z9~pM;Ly_GF_3FVX>!q-Y-ai?|b<@8|(tFe1ab|lO}Vt`w?Yf)}960rdAzxxo6eUTAHUCs{Ayzk0~0-oswcWw4E})SG-rZKb@S z2^Ul z9iyJLMP-Jlq}K+RrNBq@HG2)Rdesd=Ux^zKw0!4#6?e@imZ^SEKPAe?{8N6!&aWdU zK<}(l`aYfC99Mv)4%Pwal)FBzad%$6%`bUA&|m(xaC$BDyC4+tqh@K%Z?>pAANY|9 z74$uQ_qcoc%pWsOZT+PhROT47sc(8e^nULB|KSFC{uV8aSuuxMcfMcwhnpo1jqk~6 zM*sB5MdSGXkMBiDX8jxyP5EPdoPYV5fPE?7k8hYpeNg-Fe&SD2)gRsewtwVf@h1QK zD$VjX`JlWG3V%8wH#aF57%8Cg%y<^Q4= z-#Q1+HBN7c1^5)(O7-_5gCqK)gi%}k-!}?|{<$H^=As{-Ruid7cO=D%w!kJIksOAg z8H=-}d$HwvI4ZYtd`Mg8$%Gd=%ukH?d6${bu*wAF%_kBbuT__-4)AHSY-K#Wy}5%| z3>R(Zu~FiWt?|da*WL4GeftgU0YP$GrU^&to+{H|&tpb^sgk8|m)d9J;W7%@CM1wV zXa?p=V-VCU5V?y|E~nFEKoup7qjwKeGJ4Hj0`y}m^VmiM!R zri9SW`7bzG{jbfaMdr*`qkcF2$h{1D09F?D)R}JAVBbI|rJyd!;Im|(} zJwT+tpS6dSuYXAHvE_ukB5nAjF){QJ&G zDCY?_l)wM?l4kkZXpqz$@kC9-DM z2E}8%vgaA3jWjt%QPPq-ARRrSR)M89VayD*DORr1P4uc@$%5`AV_(|X5Ac+a&Gd{GVj!|L~TY{I_I=*)X= zz)Z1cy5I1m#xBM~MWj%VakDp^RJ#6omKbh458ZW-Tuq53DW=qm8%$gp#21}YP47p&QR6u!T zomxe__w0ERY+cN=QQ0;zIh^;DZsf+8Pww-yiM(9xzA1C)wN#JTXz61PHfCuGlmuBF zqfs4hx-Ijpzvh?=E`ySFx70-Est)&3g$LOwH!JYjHm?0bfzf2@BU{Szd8`@}&IL86 ztB^Qx6;C9R%JjYKXEbn7e;T->YQxg!y-=ZR9+v9&R~0GwD<6@yBv}||H1eNK--$RUgs zN-^bf98yl{dgjwrs=XHSW8YSz0){gjw4VwXNM0~LlGG6<`Ssow5A<5+xXqaa zrP?+F*KRXbS38&-5Wm%Sr;dWIG!-S^3KsRm^y{1Y7(zFkwKSy>ZUuYA?+up^r+#z8 zAL`Sk@FzJnCboIW^INNB6tccfMd4-l-mW@U48cZONK!)+E%@4FRCOp8qKU@&p&G2I zm@>BhPdp()DwXDN!v+d%1kcxV&5}==V(=>0X8Nu=jzIKs+>ykG#?6vU2hqwMp2HgF%Ff3sqPWzE!8TkPDm<7Zoby(3*yS8a1)EtwCQpMbFwziOl z#G#t_pMvJAUk`Y_zVD2CNSZ;LPTB7=nIE9rmwO+!pcnE$nmM=TL$308L+gx}>#Oxw zj*Y+n{_p$qHT9DJSb>fAid&z<#=^t}I>Wj>3p*E>zC6FZoh87S2EBSBcXiV|=@thP zNFL&cl^@XJdDSsrOy(>;{w8B^J*b(N(k6|N2`rtd4rv2NqtsDREQ^v6nwO{y4u&kS zSer`bGAe>rW|=JJP&7v7j%-XAIb@?9K$()D^1!4{fq+;&7<*7iY@gyV7PB14v3P%3 zyEP_YEaWtR4Rc;nIG`BH2(1Q!Gc2jFtRcw?lY$G3dB<}Z@fuh(mt^@>Q;V8f(pL|q z>4+0AQV3jAn!omszuCpXLi)rHMip|UErefQh+z;{Aksp#Z+8#}7(+pb;tGTfJ|upf zZ>jF5K>UM93h}GyfxE~9rkb>P&WPT=N!_=J@SFLVl&&v_YNc(}v-(~4CAmBqTr3=% zcsxWNrpmjyCnG^9gs}JSE`Mh_A*3=cnp$#Bf||{mCjLTn{}sD)Ef*2dB_XQJ*<4My z^hGYjBEI0aoZ;&(Ba&;IapfST&rHr zu3~$?Q%NCeL$GF+c4ie8w47q~28&1R?>vaeF^}RF#6P1|ZLDuDJaC)Apqb&V^TnC0 zu==x+ErM(6Ebeb8x^KPMp9)E^v$j zQi`W{O3C$&!LM`0WW9>W742QNUw(Vb@75g+?$2XeD04llbZyT33%(cTLK?G=#M{Q= z#L#rf{u-Z9pj3PPKaszgJ^Ww%#(4uW3>`?7>bOUXg~rT{oVzlZKYgGQapf@*U_kIT zmXZ=3&;=`*tKxZ#rM}j0eap$DUM`@m}YxYJGGg$zicCq zF(nlyBTRiRP#!rV+Gdws9CS~TjKmADoXb;V4i#BY;u@pGgLE#O4I%O(z=M10TSWVL zoI3yllGqVJBJ0^;v~U8SeM_etb^;|(t={Q@JP8V^C73d%S38e6?ui4F87PM+ixNaF zbyBQxO%i_~rE56diKYw*ERnj%^fOGyo>M95V-}AC6AG!CGHebtMsMAuBkjrFWRbDN zM%wmd!;+a+2>1P7H<+Ghb+i51Mu1U>eV^nBqP_iC@1jeu?bl(2#Jk|MSYhq9qTDYs zJ0Q5-5PgVtz1IzYxZS~a-LTqXWVm2<6TZF=k9|JhZb-NsB>LMMD+%S9ls|5=D~aVE z!Rud%g_UC!i6qHc{60VGg}>_;^~UgoDRw%YzDc|7_qB&bf4_ImYTK!A;MlsiSiiNE z#C(c7$NvuFoa|8~slqqb<;u&4KHa}=Jk?Y&(Sp4Te+ zUrz`zVxS_l0mo`kZ|j;C4vCB}4tjKb5)#rX-8BlPiy4=am{h4!m^u%xDH9n+ zlMJ#HLgR`Iw0*v=@fy$J^2uQQu*`kl(WSx(1Qlp4oOUw=00`~Qh)fV*;+?k0W)M;# z`u;)m*@yGURKA(P^>FV#ZPG9BFz>D}C#qVYDt4$|iv97&Q3B;nU3o9tdk^}u$L4y! zy@^@usrt0OUl_gDR%9}9Zt@RA+FW+mkNRm{G3Xuxo~u@@e*K52x;k6onl$e zy3FtT<*k~j5N{zWMC^w+?p;yaOJ5=wLj;A`P1tY2&fE53SL*j)V~qcbI^`A^8XfAX zmXH_TH~mq@1CWv=8$1t*qKPU7f+C6G29u2?FL=_4Lk8nN2|SDpC7T8&C{7!5AQu!+ zOF@{`hKW^C7j!5NvO2!3(o;D!8+1HH6m!%^we(JkNuy$=$HM0ci($^R!NP;_kdZ2^ z9cshO=8BM!X(R?-69q#S5(hFDK`^}YNW@)~Rccm4*?WXe7She}NnSn%M%oN&4k6~f z&Afy=10n0+VtMAtL#nV{*muXn=xvXTFcs&l*D*g!stJ+^oEd{g(wq;-0b3at$0HFF~#UuR}V(;Naju5%94b zdtzm}H(u`m1@;)?W^Y6X){n^e86KI=2myjPrPoLY(6oC7>MJH10`y|OSp+J~|; z(+4`hPY3i;Nc~|B)C@|tY)r;1vTv5;#~P&{CM#HS$h4>>8c2)HLs3&f=%60CQLIQO zkFYKbP#C3nL=Ew*EU8|*I_7+wxSF#lX0scHJy#eQL@{(ZCmC~E4H)N<`Pd%bV7H*= zPZ&VNrA8slE-r#{Gc)v=7A4}yDkLjKddzVy5D#8*h%^_8a@iRtv}xoR#nic|4I!Gr z>Z0BBp(jCCl%r!?4>FjxgO*i$3}My2{NF!nj%rRJ*J}1R`NNHe_|_-{RtTn?5WLye zawoeXz02&GP>5djFAxA}K$gF%>IxvgCgsJdiGj$ClN8>`FA2{b% zE?>2nZ<_2T>mvkci0!gw=I7?(TzO_*M6-JDw58y#Xcl_H*dGxY`kpa2cf`Ax2rMG z(-DJJQKKT$mjXmnfpa0xFe;?yqUge)Z#l#pA?DLxQR!%6EOBK_U3Z$kq@8jyfoZqwo}t5x%L1i4+(h7}7)( zbcB-!i;)w{8erYahfj(sYw2zysq8*FC*Q!Ex)uoRwTNHpKwaBA`T4jDKYs9^%l_%l z(*cDb974p09U#>cIhJ*ST}%p3O$t40yIUJ>$Co76__NUg9sCI@d1^l)FoH|U|3>0V zPik|vnDp*0eSxTLK8zhY&qAi2YLguS=C4n5G zRbfpDF>^YesL`a&bc-w`SVlM;vd~F!O_B^)yBIi;J~bu0{y?Q@Xtg=On+menDAL)p zc-Z&=Z|z~BE?E7bFtuVEXHdf;&V+(ZMxE&q5@liewhv=MW@HF;A%c2+Tu{t4UMb1iB&eYg8_87dH(w{#~-64b>dq4VPKeU;) z(Pl|jPFr%iVeWc&ST8U=rE!5?1)Zh7s;k$rN4oIg&bub;DSL1h8Gc)@tX?vXS=e9p z%RM#mh}RD{QxrmuePa*U*Rz(*kKgWh-YkJ`9<5^PMS{eIx7=AdP#SpXWBBt*gLB~F_ zm+Uk7xk*GF`^P@A-|TgJxHKKov}>}0@_jPhnauNyNW=XThvx13er-wd9&w)XXbBTK zFgm^IJGBIEPXepyM2L*8CL^Ti#*e|vb)Wu1sewv%paUc$>Sk;~i%W>M2Pg#wZL)0i zdbHCAiG;KBQZ*GRRM!j)kI_k^usX4Aw)@>)XK^vHH})FUQB4u$J7<4 zv0y#6>a~<$pkz-tIK-UjFut=OwJxTmaV8AJYjtw-cSx{ZfD>6VqwtwQu_DbQCBc?Z z*wwrd#XOQcQ6Eu5nME=hvUec~{wN=%Zt-P&3@!uPG&d!4vnB^SNr*_Yuu@tG-^c{KM8yPgw{iizUKaja|E zT6du1RF}}N-3{Lm01ra25uKUa{0@?+5e|^_`P8m=M2p=e1S|_O{?9d2BN zrDIfb@Wif^_UeTCB04zj;<8#a^k}TscycTPXaSJC>^j;q-n;lXl}s z7>ZCqX`=N%lwlCcbmv9DmlQ569xLdlIj4%)eKs-m|G*x*9+&;Ez~N{84!fpalN=-*8slzt#yaa33qSrJFwz!0!G@}{8qM36hb{Gen~UinbFPW zCgYVx+|_*U$KCh$fK0Vc|p&Q)99kIM^6ztCUET7)4r%3;GZb3dT4D4|ydVWBUThu)mH88g;S^ zDFwUZ{cdIW3<{R0Hkgky_ z^LZx9H0rf>ABsoPhp!N9_In8J0 zRwg(?pb$4{{9+c$WfV{&8x$LV6Dc(|L* z60JH!P(>XU7BE1xP#&3k(qw+YgyC}6s~}BvsMG;radL59OmWBqQtg1@jS03-m)Wh& z<+x@q&H^yRVkDJH9Ing0fXYi&XVpM`FiPJ&f&*b%u;>kbb&Lho$h(xI?gzTn{vo_V zEEkBt51b%JLR;Yv0+|3Rgt!1C2-N~$5d0uW3$O`<1wRY569Oaz<~1?<7kyXrj{)=pY6MY(PvAco1ldXMyPeV*&aBO9%`Cs{%sXs5rNKfm3@b;E%t+ zx}P|6!T@O4m7Q9WfH?$V0Um*40SN&{Mu9|rnKTx!1ZC~{YcTv^CV(MuG$169EKexf z%W#3gff9l1bbu;Aoo(W8uHV38VSr_Tw?L`D;DDk4t$?(y#^tN#z@Pw@Kxe&D09Dn1 z{r@irVBZZdm!k>kS6o-J0o#F50jL4?2+0EM1C;~a1JMJh0;8q^nFG%Q@4p~|v+Aw^ z-q>^A+Qa&@fNDKyU|B#=K7cb2G%!2xJHI?oT0k3+9EcmJ8NVU$>;68^cJ1){Krznn zi<0q@r@rApLKeWl@Whi+S-Tb^$NV0oN-VbHUm?an7Ss4`Y#__wcB_}3J#?o5c81;D z&~{FZfgFVmVvVP_WE5t}gQVKWD$XUF;h~8z|7OU+>=iP2Lz!5+KOinKbzCcN6sdF! zOj~>mLz#%Au~`hRuRfWJWzssX4=)etxSZ1jT}YQ6g)VlSA+NO915$d&a%aWiEq$@I%w7BT@0UDB$_9LIwW+wLwVl#6!zs$OF-Cfkc5@ zf&Y5%zX8L6XaQt_VtI3_K)Zm2KgU^Ufq8*y0et~yfgF4)-jlD0)|UlIqRs*z1A+2^ zdI3-5Wy;?5daLaKXT6d$FNDx`^qn2addP1BB0!~tfjpC(J3+Lh#=V- z`TH|rpdEscA%dZvuFM_bF!4Cf0R56_>%N*Q*Bc@GA~iCjKNO4D7?BKdJ< z5y6^4U20OD0fYp}koe+As*#Yps+yV1(No&KxF@6 zukyT12+0DX{je_u5+HOySQeNPs1^{slprfu6|fOl5-@?lAe|#W82_m$%(HqH0p{j` zWq4y5JWxPUAg#VxfJ)#rnyQ_!!RQr86QF=_D~~F3n2q@zE5h!KsY3Tj1^w^ zd@-Oa&`GKQsIV;{D&RA4D9|xXF3&FdR#3{HKnB1DOa-hVbPQ|^m<@mo91XDWXN zR&ihk1u-xnsSG84d^YB0ESNHQL}XSNDn`**gh;5ENU`jp3Q0Lw&`|3RnuB&uQ0k0Q zEZiVbTrymHnv}M9WVlN}h)8Tu@JJlRP){$Ksz&e7a9mA=Mn*@R2A13fc5UBm8w3OY z^VfD}5OW0rZMfUns*+R!@WW-F^VJ(cZ&uG6y?= zJ!I&>&lImP1J8IO!z7_$hKBLgB@7G(5{6U#NRXaNTh@B)TvqTYzFXmFLk@FPFf!j4UD1sgb1Hd(PFhZS zfq;C{7-?Y7KP43KOP?ygvW4wxFYRYUMTjHFg7|29g$Q^Kby}wr4kYi z)C#B8ib)13QYb7FG!!`+G3T^7k06W*iHnITipFW3ug3_4Ocb%v93{gjJBf)y45&EN zRJSAw3cQYn<4#U4O*1I_9D=ZhDq#CT*i&c<*b00>pcUX0C=^hGI1UT_x6n)QDKIIJ zDPbwv39u>9D-a@ZAAls_C-EbK3V;WIt39MhrQj5Y5tyoRg(3k!6n%^RSD>fR6+jXn z7RR(9_M8BMTkuDsEOd zszNZHK5U>^kSdHSdXA)=s)RybM3Q)#a>#2Z7F8M_ASNOdbxS_dQH-6Es-g*@`ke4tv6^ zl7He2xIVwi&L+Bx<> zefmE?NTU3tAIm6IjdZ6R*S*uZ6QJsAiUYL`Js`;k_PYo^sk$6XGNm$X#4gHZC(GPg z4(BX;1{pHwmGsn**^us z;qZ+jIJ~YO61ukc{D%AcMFy?1p+?9aCO&;uiQSvxg_j_RP|bQ zRWAZGxJFy-eai}RpGu?EM(xCu2$~T{PUA=k~>B>!11pg0O$vPi{RSE|b3Dpu4le z-yOz}bcumdor7S%A0LKBb3#NOCwLYNO~prdkQ5giMU~TOmybopbO>mq;RDJ_hk`>X z6fGng5~CCLA_Y~0WpaF0`dD*c~@ft<@gG(J_KR~ z)}rMB(gM{3>GBqgff0d5fx3Dbf#d)pf#v{n0U7}UfhK`>f%1U1dKLj+0hoa-fscV| zftLYZ0Sf^fh(-h20>-=o&;$MhPXj#yHv(vuBbAq)0v7^h5!r_Vkpg1Tp@E%&ZULYH zoq?eNrU9UcWdgMWJFN%(sfdf98K@Kh7a$uT6~G;k6nYfNw-*2$*b|5wpdYqChcpjl z4?GPR4b%$=4(tw?4uA_L4YH!jqxJ=-2ZNCZG$T3&a}wIG?*&o@P6et3>gBud0$u~P z1Ihy>1JMz!)dQacvI5Ej@&jQ5xC2H52Ln(0)_I%GfBxfRJ@DT{6c~nOl*(|irWx_! zrq+%&l`*bQAe-S4ODb1Wa~$djyE7v~0>&}r^6iwElFPY{tbLJW>lhw!bX4vp+o(UF zIymk%WSKN3P?dC~r0lgPijtNNudqPgI1ITY4dc%65JUN7q{c<6VJ~t6g^~`jNo2j< zrjWf0|BDUeb~qARkHE;|`&<5Yyo$Hz;9`Q%*_QmzfuSPvaE)6DOrfA6Q7_BIjiWI* zW_pYm&X72s(NMFp$ALZ`8g&-N;=j}j-}FpOd+dphi2_9PRaDC3mO}()EKyy);#yvj zV1mi+VL9I+=QzmQe@#R3mm$C-KyAK6kN6`XSf>*LlteEEItDTU2%;U$GS0#){6y~t zSoj+@S9f;|I13yKfD3p;%c5lfDbZnHB0JZ80fK=Edr*LP7@yWP1<emYnGxd*7^r?N99pbz$^(Q;SF#kfo!cMm8qDy2* z|8bOySZwJM2M|$YynFB=At`>Su1K3aW-}x};~ZN9uAV1jGw&qYFi5$6etbo z$dT%dCvE7hhXC>9`tpoqAd1fBhmI8eTIwN7 z6dIfF*HCxHWm@IJv7YG@hy0Tv37^@k{^W1(UAHWoHU-L+^XuJ=`f3OZ0|XJDAq2_= z_W0YL7kDN(0*?m5`TX#Pi?#*T1sD0+pJL~;cewzt017_>-uUyj0KCAx{BOJt4rfLd zm+*IiFkTZYP%Y35><@qYmo4@8KUthI`GOqO1UFEXL-X=uIq5ZO8B*A1IVP)TS6t0~ zW9umA)?I)!JxZBbDyhK}KXXnEJuk<}^o0~TRUIP^A#OZ)P&7DP_T=E|Lp<<2a2PIg zQ-7wx)=%-b;iV&KD~S9ur6ZA2Zk)21SOJl&(YdV2{7?bdkgA%Xa4y$|eo%3)uugzb zo%Jz4HyWNzt@byv*ZCuJ5)=La{`TPjaDeuJ{{iNJ1%b?f0su|mz)Ih(bwDKmg1}V( ze*j_WK;>zLKt8}NfB=2~A7Br_#k(I&`0)zpi_AQ`EAUB{wKq??V;4mQ9mcKm^C=3t~P!6CB02Cm{ z+_XBB3GM}QS_fDkdnhAA1|u5aZhL3TKWPBCnq7Sv{whC_Hg4m=UGWxz6x>1_N+C3--Z$aPpr5U@#V>SGl9^idq< zPN4nIZPQekXxH*kurPf;6@eT~Yk3$L)iZQcq^n*Mo`%`|m+2Aso}rq`vazTUDa}#< zM6Iz*uRqy^+m*W) z17-re1IPm%1WkJZx%`<3D31tPw*kQTkSH!dS%8LsgFs+FcmRt)jlg-pe1M6fl6GD& z;6LC;;5-0C;4)xJ0L~oTQxkL&a1r7+}e;<&d!plaGp^lLw{PWR|j-qne2v z7CjX0wBxoqi6fMT#PIz-Z5X8y>D<--oMKXodcy@&gihxDC}zP78X7nZ%?B_CPzN{% z$OC`|FaaW6na_QjXKD?3OftaR9GoEsaGlNt#f*@h2FlRQ#9)oZ&_xK4;eXRW zlKJmb3l{PKaJr{I_VteQLIQvQAOS#o!MxC3;N7o*XV817z8GKZFJKq;3(y^``MnVL_jT5!h+eTMn@_cq)D_ za-ne1=8&#A-qBzltXh$?8 zTFN?K=>x+>bSfI4KlBrNOC2NT6F-TAMa`lw_+_tAG%gw!U5t*84=*9~qD#>L{h}54 zwO=$aS{Mz9#`vF%4*yH=?#XYYvq|7w z20u225-m$b8Z$}o__3Hf1;p*%FTv4pX5h0FTJS6N75NIE1isw3~JCoKuhJ~jD8)WRhs%e!%y8= zli}R4%d%V6a(GN#1++mT;jN{aF(DCRcs=Izc7;5Z%$=aIIC;a!{eN){!P)bs@1Yed z)CI1>W&yJxS%0hwOgg+_E&{iNR*c2KHlLcwQIYGO?TNtlURD~D*GD?1Mg!v&3bYg|^XU{}b;7X1ezArKaq3RH!y!eYU&AjXBy z2SRjVu+C2=&Q*Xa&=tN4G6mj3fW61vORNA^z$@?-mJ4xw4rKwbum%sTl^-kSXIJ1X zI2C#dJB6c_Rn}E-t^zXwt)OEFv)EPwEXx%w3z&tpLREpSkXbk^kQHtUgIVWxTgpOT zp|s#wpe&RXfY70T`krt;_>1%0^FMgRKht)#HmEE#ZrY7RlxwYuskrhptm`J&Y>=p> z>li#0V@xBl+UzbxNsuLv#m0`#3pbVtCuVJk;<39}Z9@6O5LN-L_!yN_uq|94y&X0t zE)w7fYfM;%)3?K)s6B^O9URoTt*N64Tn7oT587unZ*D>%sKfB5lMSFL4aN6{q`H2t z4hmz0BEgiLqL)w4)ss*C+)^h-hbj5(s}yzPAH_A>6tgYda!8rfy(PT`mdI61g zL-@00;Qv%&$}Iv=UMP%9Kw{Zi_Iv_7;bjjetP%JLCEWj5-Ts6zLO#KaKu-`Sz!Q3U z|M=*ELOubWpibDkb8`RF#tX=o}f;uCtwr& z3F?G?0zAQ>@C;jUj|wQL5Y-93_xv({UAW!e3F(A{LO#KOuNo)V6VUT0=o5korG@-L z0fBkILU*0p?fR-8pN(nWPcAcVDq(8i|Bo(CPlU-&Np3I2jtFB<#Bd5?Fk^|v2QUYU zq1?EHF(TvQ5+Fgm<2|RKPS9Xaq9jO0SUWy>r5HpgLn$>Zo*x}NALk<=haoVPDXB3} zM>{<&BSlk9ARd(^7BfLMIzTsb6%wu*yd@k$I8jNr6&`aY#l{&>6())eBdex3qJ!6Yb+lPA+h5i2sKK z+d<0=*q*p3j<6#t>a@kir#CSSFYcSBy4p1dZ!8*JkeI}p1Whuz_}YIul4ZqsWQ5JIQ$ficuc z_^#Ti?|MJ>e#YNJl`Ynn>kL*fS^_y8n9#+XT!E-Gpp0jtILT3p1CVPHa)s3D0xCxV zNWwza&O2U+lK^uBn4MNYJk z<)vp=QyUxm9vcHOHDfVZU+L3z*0#FlJh@Zp=|uh|SN6%@JED!z=dd$#>v#JB9mK39Ws- z#mK*3T{4M8oYyn|O41Kzu5`kJVd zbjIGgpG4hfZ@YE&=d&zP?;7>RUI-a!qHPBfnle|Lw>kh5N6*;OZL;*}h%?|Er%50N z!zz{7rI1nXI^*OSnpHc!k@z76cthl^jdq_bDTl|?sFr2#ygBA^Mp)A{^#qE}XH6Dd zc<4RLV5jI@chQe1iWIt}qi18S94*@=tP-XNqu_mCw=2h@O3X`TZj!M|cDA++5`syZ zpMHvgb3Zw2c;ShbhQ#CYl6&w(>>cJfl!&BTPJ(|9hc{Fg#eCdh1IFjQ6h6-v6(y%d z_4e8$&TKIr2N#X!b>Fxxj+bkU3c!&oaI z;lk4iie8I3NlbbYuJ8uEN1K~bf zL%-GHXfJwPYU4}pP{Mo}3{?ZPy5HL-Xh|lqE~`%=uGsd{=*0d#%r?B#_+6^I3IfzR zKGS-hO*1rvbRNfri}tuzk2(%L+G-2FMjjlQB%*}-R`fX8+#Zt#jo65bc z$)8%I?>IXpJ=DJz3g6nhvrOJ^?nN;1G%GPXUZ%dYzE!Yv2KF(nDS5fh*K4=y6_3ZQ zY^t=~EBx{Ni35wTFB_@onktFS#-rxCoEd2Etfhk^*VjZw8ZWROZds_q)3*{sA;WiT z(j|ojIh;G;W?3T}%zor!$W5JG65l>5^G!7CyY4MMvhgZ3?kV{Oa`K$5KWQ}3u!q`u zWR`qupB!htar9&(UxLkOu=JX~WzgZ2@HxrB=dELZ<3&k{duR0V&6Q4F`(+`k zEQ7cn>vTQBIz3M1D-h%*)2vPQO|x7G4Z(iH#>Em=>`0BbF)XloAw6@5HK z+?tdot{nZ@$fh=v^P857_5o*_muva7y&%0Jvq~%M9#QU}nyzocYFDwsV3;nD(woX2 z;Grl`T9mJ>ayYyW6mQ0O>#gi%bGQMNwAAZ+O^;C|JvDF6THcG}wL8Mg8$PM3D&*d} zwQ5P75fFF%lx|z=2KFWq!(ni*BHoNAsM92py9?!22HRt%*@*cM>8s$ZuD7wqIVm)N3uEYk5zpE`YtUN>R*;6ABnWDCvR6RDFwN5$df0b;0 zo_1N+RzHzpsA=tSA26*}D60R`QZu9SSLLGx^=lm7aP6BH;arl=Gjv0z){r31%3~)! zhN!c~euWxMfPrY3&g2|LG3n!1Yr>uuo~=C7dPIN zcXBBEpCQ4~N%mjH(bVVa4{uybi`WTwo3h+nf6qw9`w0u`=Wo**`kU6RI!LOOj_Y|c z8Gi9@6Lv0C1!Jdv^*z68yqnu12lKdb-5y_0+%$q6X;D9lCYUSOw~_D>>sh}Ng-Gj} zRn@!2;6ldNLmF2!&8Mzaa;fbvYI8aIwayt&JDxzSwESiR+y4A<;=WH3(Wm$0(j4uJxq3zJ zUguq%NOxOI=kAi9zigbobKT%}E+{_oIJ$9|jto(iFMLwoJ~wO*XIBHODcLhW<`0#e zp#<|dgAwnUZ6t2zUojk@@tPI7@+(8L#FVl*Ty@8-Qz8<*i@*A1bb`W~Z}RVjLZ5AB zgJy7>i4@rw^M$k8;Z-Zr&aCrcjDA>qzAm#F-jdwcl4?EEJ5O>biL-}*BC8bkCNN?q zWR6kV^GywWmxwylOOFp#T6_ClGV4oD8*YrQS=eY8>BRZA*|$%~p*+v=({!VTe+<%l zFD)B-=c~W8(+nNl7>LRNx$7tm8^@5Q;!eG7HlfAegX!$nkVM~Y#No=1#j+;r@N z;qXYT>)|R+yVg1TD^v(;Wc_aW*!yX-;ZNqA#pdk}eSwazXMUA?<@k8@&q?)IY>-?V zEGxEg@sDx&7XHH@E`DG;k0H`>S53VM@^m33ldQD#9WCVH;n?d|$_pgV(UiSa9U^xg zVTr?Q#V2L+@KPjk6OWC%k~JAUyqyi}{=HD~S8vgQ3ud{`+?&hkB@B*xjlbOzOqrTi zlrLymJQQJ^JJmTo1CqFDzaL9%g)Q3bE>WyK4`;oIsY>--W^~%QB3&dX>8_&e|K_^< z_+CPsWU~(uqdl(~(k!EsAaK~|k%$Xkr0Ns;tt1;SK0sPIJ46gh?!jgCpTnLEZ?|a| zSC$jXe9XP!T>6^&%o-L)nlm&I*WwDThm8V_C&c5uCed)!ySxw2QXze+ws9!K*voB|y zU&-g#U2fm3ZH~n{)cub)8o7E|dD7L}6}#%q)#twbsyCa#NVCMTj;qwj^>@wtJ2`Pt~b=3wQF!@wPEr37Kq_JjXqaC)jelc>X-zuRPh^Pb2XA6eWg{bLhHv zV~q!9du7I(fy-`K4X?5vZ$a|DD<0)9@G0tSFcZ0m_I&McKFf9TdD9lZEa%4* zEl}ZaA(T3eGc!Eavo$QKvUVF06=r+bCboy}2sZS)%=em0P8K0eei!NVjhd!(b}YVr z3Y>ilVr@01qL1;bn4Hb2$n0K|apT0S$M1w^E|lLpc3z$gWRS$~m|lUAOX9AdKIHc| z6@D=~XdO82EoxK|rac84Iv3doVCj#ucAd zls_?$cVkoTvWE8Sw&IlW+~<2t=i2**%Y3}ExR=#toJ1L#>nE+#$|s^h|Ch!Y!+xWi zao$7}7-WCGV|U?~JImXhv%=CZg}D4IdOHZMh+%{yDsANZ_E-NC`sb^Y(}$W-Uc>%) zGy61+KlmS-yFD|RFRy*U%Era==3;mRW^!n9ocRo7h87%*RWG&!m%qTB#2(6q2cF65 zDvc|VrL1a2TPE?Q>nw_N>?7-L{=Dw((>Ptac&=qG{j9rM#M8;^D)$338fOSy>(aN^ zm=RIjbE^|qVAXthH#e8(puD{L3g!vT5ThFqr;9ee|B|mN*j#*4pt|HNL;WdsAI7;# zuRNot&(*JR$}_Z|t?!2e*si906SYuMw0e^F(%fdt`SZ3B=REuT-*C%ssKu+IxGFPV ze148)X^+D^g(7emd(Pyr{CD0x#&?P8wMTt-^QgZvYiu5xqb=`8XLYPR^D?hmN`OpF)TD_)5&dP`;*vCi<=Pg0<){kqqO#N*A;>b8osP z(GP=;B_xW%Zu&D(755LiJo1MI1+Z@=WJ3RkIHoddyh1yRSgTCLzNGYjCr}~(YP*Ii zmG~CYX_!q>7i=J2%>R0vsN4}cMM->xHm2RqnfFAu^rdo+&CC8x*(DPL@?5s>A&vSK zE_d$vW=7Zf|5OiPv#H?9{{>4X4-6rT?DQ{G^W!NXK*#H23v6g1Vf;K`r%UwCbIae} zPgFGXa-ZqA=+0bf=z2w_6U~q{>6}^}s9fcirGVeDdcPHehCg1m_LzFu0%tXkP6`U2 z2p@UgAj!#Jdf%a~_&p6ApwP%x2x9T>TnvzFSpx-3DB{7?3Zmx3)ZbXVHKjP91?w;#ZlM+MhOc zqb0X{+hZ+zhVP#|G>>mp;Ug8*wBBSJ&CX7)|G|sUbLYBF_;5F<_p+7hecDpb1q*A4 z8OzAUoyG1JXhYe2&Dy|heDk%&YbxPS7n=%7tXUFo^S`yV^&J;?=wF+;1is3Zo{|)JIqP-5J9~%Ucj@1E z{McgIZ>?(`&O3yyr2Ly(+OFKUWx#KKMo;Li-E9HD-%9IOm#sMVc~*sdTx$QtVI!Ak zUHY0Q-lFV9@OkZKMofEUEROhwi!zmW2`8t!Zk9@jvSl zcJ9+2y!!{8PN$$c*rEG*EibJ{OR+=7!`PUzF7*Cre!frPmwqHc<(<(=Nf&4PDNLfn zZqVj+)bPq$i52hlL@P%7{Vj#>Kl?v4Yt4S7BY=-%(MJ;bn|)<8!tcaSd$TL3 zK&yC$sD#1H)knIWjjzD#RRhZVTcS@_eB;n;?tB)Vn_Wg$;;IIXqo5wNml;~n@Z_#w zotcLxDeq$9*j+94rq^-3rF*V;)LEh?M$WvrVS8&O{r)-YUAMrfk-5ENs_bRvpyE6- zLh&9}1t6!HPJFDpPM%65UT9~`o(acVkfrO#q%wBMK-pLK*9D$fa3N3A=mN zX@wYeamVo7e2fw3Vg+eg{#2vcwa#U5#n!}G0S%W)VPf3>bUS$$Nz||Y)_?QI3_8Fu z?*v8r+F+$gz{g`Gjw98^hvvxoF#YkNAxZ|q8T4szVLn#kQVUV z4t9|{YAw}5?~Vt!)Qm(+dHeq-4PBJG<~^BZubtojvX|`M_utJ`t2WI;_U4VRE^W-A zFY!b{bnDo5NXMFGh<&ndP7kI)uBB2pX))Y$=oT6#k0n>WE%dk(D(5DZR6!OT%W`_b z$Oe+lFOZj18eFWBwx2fDV08zUrajIPYZc>YqScjwFXAy=hb77Xc}~E15KM*azw3aw zAD&*Dt4E%OUGJSs63T0TQ5dB}+#}b1&S{$cxczm+ypsG1{{n@MpRFG~OodmPz15wW z?5sH75prb44T;;3sz?(_aoizTQ1;0p=1YYv6c_dKD7>}?Q$ml07ZFoJoRp6vqT;T2 z59v*f7FLqa*=ivkv6`U5Un?RWX}$37kx06V-OP^HtAR_ZI0`+>J)Qr)YP!EzCXy*} zNPaq|I>(Le8?K;9H4ni+Uae`&mz%e%A}GX;4Xp5S``ie>ds8p>;j6E$I9${@Wa}fF z{KR%aYPmMj#s7U$uGS|ZLEkSL(efiM&6gu+q6BTh|8XEuEW5gP)}reaxqUsp89m+B zt{=U%f7xTFStH3iqbsc9u_*+{=FO!NpfSV(&Ni@c&2*ren&-sq5{YEjAbV|GQfE7c6vVqITW%-z|eZr}np5 z;chd=kK{h@1I5|jLr?tvt5&(3rz0DD2gQ7*bq3yC`Ki^aazjt7I}Mja{qW~2JpF6V z?38?i{r9qZ^L>YY64*EEAXGc56TdIbL`~5xaTA}S^as26e?5)``!s)loTNgXQI5mA z$V*qm#O;<2s{DTV$XGe*fa0OGVSkZt)%Pg(-DDnkt#C*MgHdilY2mcUt&8h%Z^{iGoamLH!WZ65fo~ zWG~n4x&3OUfH{ZUTPAK6+dpF!cOjqQK8~0FD>YraW&0D-D`)pHQ)c6=*__@}!ZJBG z*@|r<6YxOGuqb9x@wY+-ZNQ5h$7%LGUJbQ1O%`k;=G)uHimNL-dWgh7qc(7RuJ~Wu z&m#?_@1w`pwthtIB`WnWQnT%c(3?gk6y`lD8zu&HQdn<7Z!5-uNGa)*Tj}AY8^Y7( z>1(y$(P6nW_SAZ~846h(y9ES`Dffyxk0}@|?}H6J!8k;zk?+;yQfv;-b)Do|*gnw@ zCxO#>W7HDgU)QxHTNfsB=9rGeG}R|AUQbky&6p=dIFrNTojt5oSneI2xC0$F`|cH* zq(yUWIlIPCNQl+MjFzhNT5(wtjksU>{R^T=T0G8)!7KadH%h#u6XcEAZY>Je))JX| zFI9y$FQ9bSRo{k8HbZ|9(W}uoE6Gv3mn?Hutm=*#+g)f>AKEn)zib|3EfU+t=n*4N zYQG7G+2+Kf{1c_Khi|Y3-5BZ6J5Lcj?~WPsUBh}#f?R${o=c}^ZRD@V;o6-)Fx?^z*}^he zdh=F1R_I8M9tWb_@B3!Eg;tK!dUX>^08c=$zddb!cb99COkH2udSUu&WohQK_;GY4 zepbE&ns%>)ThoVO_3JEnMQAB262Yli%{Hg^hEtn8@aic$8XQoL4e6K%({cUf&9)b0&-NR-;9I3l6VZ2^ z?vz-VcJ}*pKmGC8C;Dr3%qK$Di&hqK>15v|sd>}>;b}UM6i`%@;fd9OVvV*+9!u);Vry6T+Byor~F<&dpcNa86;P4P{ zy0IZ!3x3_07HeOypU%vdtu(laFJGL4(oN%)*lr@vR4bQsPEw-bscxoH&divWc=#)G zD5VV9XVV%>e)sNg`xEJ{lU7cXooM+fBpW>UQm&h?23^Wk2norvH=_+_l|8Pc)87 z*5Zz?37hMLN38}~ljqv1tIU-3x}Vi6MXBG0j9tQQb_2`g&2i4~j~h#qrjNYBb-ybc+E4Uf+dE59w)D3cIw%xKWK%`#YDku(ryGj!EC zHQV%4o)NjmwqqT$UfD)E`!2NsllA9Wlk2>nnreG~>jf3DRnp3uP2|el7w!#To*aK~ zK?%i6XP@hRcPd8?Ik%Z!M+Lh(&2tzEJ8G~GQceg-ft4}eO{MKc2g2vAUQSkQdA6Vh z7Nxe`Rw4DCw6BYer)}S6-PUotWvek$u-`lRM;5dFT7Pr$dk7J&P+$34{SpiEPRJ}R z8JkrXz!Tk3+0Nq)si2lEa2vX-rX#zfsHZj0L{ z`5w=>hheVQmA(D>Z5;P1th-&4wjGw7w~r>Q#jKxQsAGSi%1_c+z9YUTlZ#?=7M%(O za?VaxXmfjQHp>ORhXLbWj)A?Nhf|IXMU}@1n_cf4a79sg3{J!Ph90)LQUBCN)ymXn zOm67-b3-A|*u+S!qmWCC#4b5DR4{xG?}SS5y*nIMY@3$7dfo>G>6W6v#kt zO-htb>_YH3^zTyj*4%p;*R3hoR;qGig_1_pELoAjfL(Va0{=q?WSwR8eSPA!FV87- zwE34Pu?7b?@bh(U?`zBwjXevuM6*>rX4rG#sHg2ZFX;chIMt-b%DvR=at)sF-J**b z*&d;y*K`jpwu=?sg#kAWVuoG+@(HDVdZ1$-vu0Pi$~@}p*Dnsc6Xv0J?HDbOe7i@< z?#-9@UcBs-&(HGj2vxF+Y+4l`_-nfk|SRunN1uvZ7qZOZ|}ZuIn7;|w(bjG z_e3#D;mR3$V&xWI0W5{0%qnWUfP1 z8I|2LAbLc`SCnGczfOa9aAkA&kWo1;7oD}#W>Zi-_D7jlPrF!gn_pDrq9euU;g4c= z=~(J(Iu<({m6clla&OqFrne7+y{-%iA8?|icouYL2qacIC3I4Ao1=Xr9eo=-pXe() z)8)^=qS|X&=P+`YEP8yijN#dxy*lm1{S}1;ySc9(y0WoFoVVIxD`X|Mwj6ZZ zdCVEqUwd_zi6xG~*7R*gnG%z|nsb(mjiHv&%DJWKA)b;XKp=VTy`B1NUZ*$p?&aT4 z$G0mui)oN#(5`EBEMw&C73!p-)0Fu58mG`V)Rec?w^rd`CleoaG_sZC;La3)HT<`D z-oPnfdfsL%&s}QVIZsZqJa={-es%4nS05~W8BylTY|j996>rt( zTjG0t*xn_2q&ws~2Mn8l`;#rpByCq}&5ib0Iu#ohE~@d0;nwzB5k41dY#7iB9h}P9 za>{pmiaf7UCT6mzX3K51Ap43mIqAi%lK4lXxpMdM)OXsGb8l3B^Z~Bj<|faL>957v zREhn95F;&Mk$n1c2Hq4*#VigpYzJj&xl7+mVjga7V#}(qG!MHnb5pNVX{y!gF>iQA^&L?RN7u=rn-k%y_9@Pr zAP#)aNeS0xo$RSX2>C%M>rdfi@KNPy66PCYZlFJPce8hNkY2iQgSye&n=UUIi!hkA zI1f5Ji|tbhQoeGQTP1A9%0Wpd>#cW+HXo~7b<=d$>-!|i=@!iEk=jj;N?4%MA|yU; zYZ3`LF!eL!-zIB~s?_^NLL4E>b7FnH-HjaFY;_)-WHt)g}q>!Nw_(AV$W_Z0acAUS zxUI=c4TO2W=Ekg4E>JICKlA5!qOi!#SiT`nTuu5Srr@n|Y}a@`g2m)Hy)iD{{LBUN zPo&q!o_UhiJ^bbS*Bfl|Hq6S}>90uJkoTd_guKiD{BKj7>kOWMAPS-M3O$B+!;tAt zI?#pstmar#F5REGF#N|-kJ{2t&&$hMkavik|mrtRw2`x*w0K3n^Ew~liRz{0+r zm6>rO8NSziS1i;Qouy4{s3}zZK_tCH2XpNm8B>ESuE9}SQs`MITVL~$p;E)et~lqr z+bxvAlEfAe;$&Xi99imP&Q$g`?PwO$I~ZNHd5mK=zArQw$G(qw^l;wqKF_P}ao1(r zwb)Ocx9!a2rJSA^uReb`$QWNCAMQEHst=8|Pxly3{?muhWP9)a9=y6;@cXkW$GG;= zny-xXi{-}i0%qbLGYeuirIXgl!N5(H_6eo$ol4G)a24E?nlslWYU@Z^mVe&{`t>JY zd~2-R(cZtGxf}kPCK-p4?zSIr+&0wj3I86U0!Ab2D+2x$6gAP1a*Dr9Sv4MGU$p#p z$}tbQX;R>~cIFQ>HGNr&%>U5!E6aidRaYe(Fs^37xL3MoR!Jh)0aMw^ zAx?MuqXkTHA$cmZ9nM!u!J8=yz}R{_7a05rOqnugZ!Larws$t?^=VGKwe@$0wy);z z{>>Yv4{Dk>?HYUwU<+vG`SP)J0aHcC!L+BA191}}?CQs`vU-S{S6GZZ1};`K4sN{go&9z1@Px!U{M zSRT_%(EJBm-F0K+-)mdnbFFK7JMlg%V%48WK@Mu0_9dDQ-)k-KBFn?QTX;Khh28xV zybo6O?>px)g120&`#VXAy@HA|!-@5o%+%f&e(NH#J@Qn0w;f-0k&X;>#jx4OoZ0FY zalT#_+P*5^5B)k_TZy3eBW-)v-)7i=6pgd{Nnj`q$?p1Rtc{&)-ltKo$7xrbb8z6) z@R6`itYs^rkeJ7Fg*DhuFyv7hOJ5G=BHX80*YPRDj{ zIi!u!hG&bGg7S}vDPb=Wutp5VKLMtrqjX6%qCMKRhgE$I^!w??V8}~^3hHs+#;3Yr zdBdMCD;#h$oDS8Pc^qe`@Z_a#0jg}=k9GKSZf-$x!%;aw69`pc+c2 zD%3k|MLPrMLVi~RQ>6Xmc5Gk7x`h>+$PD@9zAd!83?L=FN_hOin?uS)q4(yS2+L2i z_g|w^2C2vLc|X+haB^A6gQdM3fO*}F@wH>h+&y?NXyP<`0>*9gUo>=~rq+n#TNt)I z-?XZ=O36iXAK=6@X<#fqwVs=kuS3ZWg9+`b+H(D@K^U=BuUWMA)QH`id0pa5{T6>`E~t8mNs%CqdbBD({8tI zQ;-tj#&2AZs;z7HJJ1Bs3JK#DY6*e zt1Qn+*Nx^T3ssBw?HsmvL-(`IqWZZVz8S2~rb1)R$DQv92pCn?-MnQ=MF|D(x3XPq zY<)&PH~66!y-q(9CTLgVQ?$yz4ypZ1$_zZQ>8rgDDVEv{xwky(r*anK!*!PQ;y%qI zaM`z;e3I5HaFQ|Dy4PCV#`XT_5T2fSafL1hQ2ucztjZni)pmv%zr_7ulD@ZU;@hvI z?gZxCx~Eb3pS>jGE0O*=pP(DAg~xr~4c17wAEV>kvVo$<-rIhlDg}#lpM~7_Hd@-1!!yer zuH(A&6Zn>Be_S{*Ki-LP2lJ)4%mgwa4obc9AfATHxEDQL`vicPkB<{t+5ysGTJ^i8 zIQr7bIRtk%?W#Y=ScA_f{P*>l$y8H|wcwsx=_supD8WAcSD(6-QU+v1`Oz|H$Y#eG=b>Zgu zJIAUp%^f~X*w53pbmD?CDCq*DIa$2z~K&PWr3r9bK7xr7kC@OQ#&h_2q7d3}QILo0VgXb*SL)hc6HAJF=0 zQLQsvl|Y7ZQFn&k67?hVrLJAQHQ%_}-&9nGpo>uBPILQ?1^JyybA1dSAm-I*yfxOT z)Q&juz?cf2r3#c){L-D-zn5<+_J6osNM>YEi;c@tkp&*?=YwSS2{*x0>bRRNNUD)7 z^$pXWvZMEEWJXf&UdtC+`6;ry&HhsgQj%5?+#3tJ`(kZf++wx%aoTZ63y%A@<9qwWy^_&G!5B zm3W(tjN%KT5J$U%+}d!kBh?Zh*dI_A&8v6J@%s8>+9t{eNp4IdY}c@@&vznR)H#n$ z?9Mz_erh*PtB{%U#BuYd)8;V|4Uvsrc;$-RJ_^o~`u=1z)};8?b|}fGqEzy?g3{D- z8>eMOaqjU^5wk5{s;B9Xy%rM?*RK|E7wBn{aLLkR!_Ro9WN=9Jw4E z1?HL=+A}^BY16q4^f?si3tXC6c`30O$`tF)1svNBxU(0}Lskp1WpoqP6 zq>1B`GUy9axo%UqL%eRi_u2Tt3Lo_o2V|{tobGbYuT&j9S*p7KFR+mK@iN65Yf0YD z9X`UE6r8>f>7+4btYH|8A29;X>+su4#} zU1>d*2%s5s-@5HN8M*Lkjxwi@YPT3>AIJ-Q%8kUXh8Cdr+YM~QAl_1!=|aA%0T7$ z&9NXNtXenSadr+2rB})}^mJB*)!13xEzA{OKWhSJx}Hy_*?cfj6t5k`}UZ4An;3{dmupI3HZNGS=lLoRX_80~}3I zA7S=qOMKV3m2tP%XGKdl&3lM3(N2$53Rm2k%G+K~+m=zGYu`Jb^IS3d<0Wj(-nZRD z&Yi8uo4m=m(hpnMGa7h3wkx?SV@aZJ4sddi@-(@1%kh+NP)Jxhb-PuTJ?2{5&SAJx zAMPuIb+Ikb^5$%%4=nVo4Uai!-p9yejeDTxwXA?yWQ~#7M@G+FSSxEevRC#Kx-KcA<)pOl@PfqZhYx*DQ*{E(G%AZ>@h>A)l#+d$V?h zCzPF-gU%eEl%MP|qoD+{>gIem+R+QH^ENA;pRW*9nPBX~=Az>qpladCu`Z&QIX%g` z+e5F zwsW-U3G@fc%X#(k;$6ipdp8CpZa=D>#-Hj=@v@Qa8Y5NaIHlwnr^?;qyRLq8eos?l z%oPu(iYb}-wk_){Yf@b9mPWGQmB*GYRq^~DuED%LzKI|CBDhGs9F$q?u)lInt!mg1 zH&gst19_RtL;Ih|0`JR3`8oF7j5o&H^gTbk4F1;&N|Mtz4fDzw9gk}>ELpOYsPdLx z30;#7O*=M;fMU127u@!}XG3ipXD4dX3gkcZ{$jAX=Cj5|BtOQAwT;M2MK@|-pKmwU zo3g&fo}|@fv0wVhoX~`Zn1iv3?pfNLd}Hd0Z^Nf=gwHi8icJch|CbNwip7Fd3e_(0 zVgJ+qH_K7*6FF~P3WheS`5*JwVSgEmP=1HAA;DP^f*MlCo&vbKF|Z|1WxZi!Rc_rV`66S;Lh2BC9*>&@0l-^3|R?zqgji7z=l z>ojrl&BiSWW-im@lWcR$<`ediJqX{F4AH4M4>FZCMEc5d+>JAg5qVDBqsED4!jxscIH`nsG3-Jzk7GgP zhS?_8j^+tl3W=S2qDJgh1iONLtPtkC=YOA3zlp)LXE`G8m+)@%Ja)bY4c>y3{lY>o zoJ@A?#B6C%Cx9Gr`7-R{z)Nz)(EZJH7^=zSh5jch*_4;Kbsl5+HcE36?_1c4l)P9_ zYO2LQi2;uv;ISG1Om`2ddw4yb-t#zNY0a^@PbtXNAOF951?Uw9&XnOHFein6Q#<;P zGZl=|9&K&O_aHOPl$#HirO2+r{Pm6BYgiTeXeW%x{ZoMqzfSpRSw8Vwc;hG=YX@E& z-TZfd#7>Tiv2o|KRL1TJwtFlXvE6Au}^__{u7AUXd_xd9Afx&3*#r+4BqgWNKB&)^)nt&ZFBRur*dEIh2F+UlgXc`1HCo#$+DSH6|N}$ zno+~(&smP0PG;fI8F>4{PHI9t8BuKxd(SrvQsf%=eVy2Oy7ml>$4{iU5&F0B*1_c9 zY~m5W)DwZprRC|D|J$b4)OJei!z_9uPs22E7(h-+M7E>I=y3a+AF2KDifQr*6PruN zm(Zq*?iqzuCVHyVy0^u||3I?6iOK7uRA_U0dw5*;kNt-Fjo(29-A32UnNA}9CxMRJ zM)x+n=-itvfWxQkuA3_TeiT!8-*=nr+IVNmF>y8hey!Vg9{=o5E~ba0Gxa1KpMmtm z>)#GjcSkGo307%u9JKU<&?rz+0($#!cihVnS=0j7%$SY8Af7g`hardK;Di+Ue{r~% z@w3&~(vdT+>%H1Y9A4YX^fsiT^xcrmK#+CYjzc7EN~_`4-5D&8sqLc&FtMOojJw$Rv$K!dp!mvvej4hB~&MHljbdMbD?Wl ze}5@$SK}SmVC*WLuA??r5Jhiu{Ld5vczQMcXx{y$4o)`q_*wm?|MI_TQ6C)4yx%ip z*Yad4+1M50D(=Dg>5#-eTlDYIoE;=W>#RlOMoRD7>U>J5%d$l-O!y&usUJIpQceW`D z<1vzY0+(3XTThwR^Hxi5AH0RUh9PNc=|Pc4cDR!a1Sn}S^U$*#X;zu!r1lf160$__ zqR2GHs4e8cgZ>6vq%P~m=MPpG25U82aahBAto>)B!V|?&K9cApD4o8*x^llL<0=?rjPmr7uH{YHo`HJu+q!_H6zgM~ei>;% z{XAgO*sx)zMtoO_FrrZ|3^>UQt!$?Mi-_02MZJ<}`8!5wyw8~SqI zN8~ZOy>VC1gSqC0S&_id+dk7a*-De{JdS3_Jw)hrBJkN@PQ9awwe-S>-EWzeyh9+N z1-ZHB_5VS*27Qn12=MeHelmrzwFfat5?zy)oV|noyLXD2%5I*t{-}mdcR$X>ILH5q z-AuLjfmS#)B922dH$#H>Hf%g_h8(`mAY9`2CVgcQi$IhS{-eLECHabi5@`q$8@2QC zp1q8YYhc4aeQW)^cQBZqN}6hN`ecgR@6(RT73H;#ona_x1+IFu8}j~%@kW*Jg4N2$ z%+RmFjQn^sQO0XjmvGcSqW+^uBqc7I;7sVH$9K`=7Jr@*{A-6z%&fXyubR@w;PqNg zQD*XQXu>IEmpw$_B<6g4VE@}}1L!zpq?0xV|B!c!*pW&K^(KzruZM{u>Ll1{_Yp!; zKE6F=#@#mrHE4$8NqIM#J;iw9C-h2>$PWw5zL)WIh5zmvaJ9q^hLAsyo{fXcF0g7s z=+tK`$JG98!o32Rma)*zdQOzS<9}c;OituE#?~0ZfRm=y_g1E&2P8rKy-#*TMp7t# z?#|5}+Y(;nBAzL1HyW`iJa_>@M!4IOks_LK>=TOQ`lDF2l&73|4|W%$3%7l>3>^)` z=Q-#DmLUjfi$5Rvu3}UF!KpwwiN7{aVz;YCcl^rUdA!XC6ra+2d;iOWtAVTHp?}is zcoymU4VeGt5B(I^Q9Li{&9iW$KJoO!tn}XoT_`_y13Nz#iwaP-R{7jTIq4hypY3_T zxKSQ(TToW2ro-hltA<`8o@8XU)Dv8OAFME*$@ymMQq7Nbr zhvL)yY36{nCuI^)YeC*MH?h>=d}Q5^{haU)^H^nWT|v7@3dC-!Xx&ZTj?)axph#iM@6z1VkXPZDXb=*A3wbC zs2q`gkdKq)su%2}o_g&c`TrvWNwOIFZz}-wb9JwriyJXF%^UH|a~ef|zxZz0KmTj=BjVKL=K9)YQJm5Cnm+zqVE4M@jFP*`l-IdCO8zk!Gj)+`jSxdOXuY{i ziPR}7?@|0~nU_2YeX~VnvA|Y{uKb+rW^N`! z8Z91jt+kS~wObXj#O=>JJ8>^4>tB{aa=*33^y7O-PW|p2TJsyjhRfEVWAjR%%+TfX zN3}1j+StwbiF7m~pNj-1{!`fGO8mPIi{__U|MpUe|K_z4lg?YSbT49C_QY9Hmx!BF zjGp0rgxt8v{rB(51%t-WnE{N!ZAor^I%ys_H`MCpia8^!DLBZBQaRmEY5hAIrA6T^ zQ*!#zMOlgg`?%JLGN?c+?qoK!z({gnvndf)D9&##L)>@Ii}`%>VNq zT+$1*ID3-BX@Gf0#}bpUAHcuK%}ch)nII=yrCGqAN8X9eIE{-+jeGlZhK+orj;=q% zpB_h+|6zzR+ZCTI_X88VjH?Pfo&?@)b$=b-CwEFK!%UFw8CLawPPX%>Y#0YzCL+;A z{ZElGN9ohgnhwa9<~~)kZhiV`xNl_3f8kCUIdmbbu&-RkIS!(x>fe4`BS$ajw4^y5 z0C!bvYpfIKkUxN>EPUJSSjd^L^Mw34)kt5;*0;@Y)_ec!5z`EYw`?Iwo%nMZ-J8(w zLWaDFS9lB!0o|-T4m!772v#hB85IDlngaoVnwfsM{QSf!wWl0&#NFoapnA&R0ruTQ5X!v!vl# zDj!Sw!=H#m?f{5n3;?Xk00+wgtE#%I+;FG5*(k)T`CoeOj%RatH*|_#z=%ZRodf7G zLXz7_Q78Ri*#3Y0o!{mEKX3VKoqvkC>cCJ# z46K^4nj9GIHIy5c{#thDW|4%Om{hwvFggPEest&8kBn@{L$u-72VoR|U&ZC({R7&yoBNIjjmL(*W9tF*Hb= zoV^Dvm7;|sh!&wLc85P85NFvaV7&{Yw@l;h3Tfh06fuY1GeOj1G-9iR^(xyTmgH2f zOc-R4DrZB6w zffA$@ofUzS{aAqz&>^-7p8Hn*nz?Fpv3Dxhl78;i4#Tj&fB^5Jvw;>PjCS;6QY9@0PPwfY-q-yl6W3?BGQf@?NtFN^ULDQ{J9INAM4TZ>(;BD9z!3x>6 zZ(A1jvh31eojSgkos89LtaFRz%c;R+XrM*L}rAda=XP>tw(2NA9q+T zJI!RP9=0g=>W&Nqg3E${r*`{Qp*nN__OpbwgFM?CJGhoB+sx}Gvs;pzf=_%S3I3~E z1fc6%xW4m1M6e0QW#d_E&#blhVRfx+P!26NN254-?B}i(to3~1xRDks7nBY-^*UqzRl@%^jMiq z3PXOfb`=bC#ggiX%nlJxn`{&NE8}5ip((Q-d0r>Lk!Z|P+cP1E|9$InFOEVxyCj9c zZ23U#X2dncsJw&1SXRi#<(sLN1cQUS^a0vaR+V{L?#8y8JuIVKQS(hrpjjEhg(5e; z^=J2DE>XX)mdz(a(Q0~9d(o9W>%2I?tE*?X;?5_=c=IDN0JeUH-P8S-OjB2Y>8g9nR@IKQhJg2qNq0=~$_0D$8 zvnKDxR+WP&?&FxU6xU~qw*|b_5Y9+@E38#N=WVslM24_=o%_1H9U~j<3u6&YV1*#u zT}ES5OQZJenwZLE)UK#>Z|gWR)Gw%BGLgAiqzyy<0%_|8A8Lg?WjAbPIkvHTf2Ju_ zJHW^;84H4~tST!?PN{YrY}%nWy*S1p#s+y5fxNAUs(i;RVz*@Pv6dQyw5F~Kv=%)Y z@F2n3CRcY)r0U^SW9Xs*4)Hm-epG}ckxt6>MtGmFJ2a#hk!%WF)icQk2SD)2JfyK3 zP4EWBD7Y8$%3m$tI(Zk0j>nH)+H$yftUpZuvrasw*J|yJA_WCLxt&2W)KWE1`EUxP zP`wzrR1E3(2pcpvA<;DMn;;a4_z82H=bf*tip}5w)d#XAnb4j86X8hyAx}Fe4+pbv z*!`tW0}a^&4(TFx?%@lwT1aVITfCm2a0bSP$jMFZ=!2m z`xs6OD)FeAjHnhwOIskvUY*4E*C#K(c1tz=3Q=?@c3I88n+YhrJm;6%AonmqDh6Ni zKepOL>6S-2Dr8UPV4pAdR^mpzrNPF2^qt6ZK0jz4dhOvJa+)|1Yg41V%)mvJx8e$m z41Q=5>XngpQMg+`PhETp-rX9h6Y+^72QEu@O_IuRQLtPJgSx_rm>ngHRuDOe9_fcZ z(Y&8ben0;yw6bI4slH!P$KWDp>P;UwPnDPPhWmd1F*!>}QAEl@0pId(c^jUC28KY- zIF~aPbrZRXgy}-1^QjrJPv{+{tSkG@2|lwD_dfQpu+FeO1RV0>Z3DsdBY(_s5{bsw z(7LqtZJc87)0;3>4R7NgGzxmT&H{sK-HIk6PNWl2Q(KIM3Ii)PLcRnvuYqOv4_d5m z)_QBOsuDb6`HdV4H&Vn0@ECmx=D*yZC0=D%Ht!;5J#Ahs-`$3_L9|T6a{4Gi;62ypxjK!iLMbavL)h0 zQ#@{cz?6?s>&!4|A$VzAjbAnu@?~D!{&8(Z$pMio*F9q@E1SjHdXp=0R6MrN$y@9| zO%#FRmDiON{ut$N2Q>Q7SOAdd_iS$049)1T!G73Jsq7&D>zV1sK0o(l0TcLuC5?5w zq|}$x#3lq65%7+s^eg181MCh9yb z5IFVZFZmMi{(Hi3WdAQxweNo^gyTMPjk=wzEn~`L4-Z>fPbEYPDp|-S7G% zIgZIu$zkPSW5)_%n!^n*Vl}`0_F7Rqj!rs5=(?Qs)s7vl-q6n;ZSoWFwm2c@$U89T zDAObr%aYA+`k>N^`(^j#+EfPB(lS6pt5O}gZT}P(phnHMhna9Ee(}JUH-m%uZM;@$ zCg~B^!?%#sGihcka{dc=)46L(FMscMy-m6Zo`k`Tf*TTYz{ciD_)mmpkB7?Zwgk2J znRVg|-C?fw7*q_;f~%*6J(SwMYI1v5iLwiY*U;TMG#QBZ7mBo;ygc@=d%uZB@)~j+ zPrD|}!+qje!JvfUXS`0X_)Y0l0odaA$Drx;Qbbn8--I#Q5h=$V=4i2^U>5FS|N7r@ z;f0Xn<^geRJ&xIOOj5~PUQ&v%#UiKQ8`SN=L4QLR6kB#-lbQG|tA2h0$l-Tq03Mb5GS(5K& zhXz=tDZn(Ff7zmoMbw!t$=;3PDKso)6#*<-egpc|u06BbF;%M-xLE|Rmm<&dle|TO z_i3lQe8PnUq#V_r8Lo^y8Jd@uf_X{fYkYq-pW{KqjN`_FWMRHN7eiqnk7HoUt$oir z@ScE$h!dg{{gs(U_(^+fvL%GndJ9+HDE~a=l`j>x7w$c6hs;laC8=ull5?E72e^&| z&Z?X)y;c{di3x0ee#ba#FmjN|Z?L7fqN=sM3=4h6g43ND4=eMnQ+mNLGe=)DUb z!k^MRQHLux)!>p!eDv<&6)C{KE1Ut?1`x<8Pb5$+wvnp%XwY|y{Q@u!TGc5u`Yib@ z(GV3L1_!B@0u=5HnPOG#<2N<~ZZDga$MLP(&QOTxd;7e@c|Tx>a=5vM-fCD=eZE_8 zU<6cW~`15Z%HBVrH!+Yys+{ni)k1v#bfX7S*KYg9Vc#~IYR|`1FCVz8aql(hm zT9hgeok(OGlm_Tr0Wc=n9N9y!9w>6+_Y)m~$T#@zjUP0>Ml5{gCWI9OK!ORBwfC)gs}4-7m_hAQA%b*U{n;haRywSF{Z>$QE%&WI|&-*n?LsBN%(WxaUJU zaLqprF)RoU)@Owqoo3H@4Sv1OOxbE8$-$69ByF+tm$@cED)9@K-m9q)X#1xEozt^^ zWr7z?+l5Kkag`7o^P1m^3H2?`3N~7ev;{${%m{Q1p7)wgyrr~ z@U;y|KHQS5B!O{D1D`+xug85F_mGV?|qsP9S0d^n(}ljczN)9$X5v zM+83T5|E=o;5j3<5n|B+-OO~afo0fI$IxYEr!uwbvOHnE!u%X2HQlL|mgi6FRrfhQ z2u|>_a}h1{n~nIK3X*($>=)t~c<<=RUvL}UJ(WzeTltBrb|&Zd2~ z-Hj+pGOGA!CE3Y{Iw^i^BCXNUqyd=~(@bn9&v`+?9RHa1hZCuZPde5#1-H+A4^%~? z5YI0B+w+={yCtGgFY!BHCWw?bivE~3FMWwH$*^}?(V>Mr=T{{za&Hz#y@RHv=(Xgl zZL^yx$D6xjhmQM@gTezBxndutJCGmP#I?uN??L>DE1it>dOlUWygEWmN=PNoZyBw- zUfJ?Zu|5FeW+Xc6SjPU^E3Y3-?aoy=mCtH4oHeds(om|O_|%o_WYzVLj8w!ic#ZB? zrc}&FnqK9OX%KaVVrKA!aUB_RyDH>I;kh2|`?Skn)%)UK-tX(ruYTNVAOHH+Q=flE z&jx4i``f^Z@97L<5idQQN%$u$lM>dHeo@a*OdJApLRzEMDgD2>(6x1bw1HPgKbQ5@ zJ*;&!nf@|&`RJ909^Hw7f^yuD#`L6xJ`Oc-z%%wXT0y|p?t%6>UqAio+@DYV{IjGz z1P%&^#DVER?qo^*enbzeWs)f+nfwF4T)VffelSz3m&!k_M@pg;Jls3zx=(SgTwfZT zA0vYhH9?>L81?@y3NH?PR_|PDn^r!#6xj{jO9#!U6r>1TBV9_Iaz86igDQnl8_Tu$H*NEQgG~G3AS>k}= z((UwVwLOMV=$^v9p`f)nY!7Vd)6c(Tn2;O_nyJ2Q}C*P1Ufhk!?nTDLLji zt|lyuaKd6%!@kh6|B@dJlh1F2M?ajf5HEi8EUV5PQ}GL8g||>H${kzg#xS!X&bqJ( zCd2NW6&lR1L6GPN8BbhD+6bg;aqWxin)*BmwPm(X_aDjVH-N5dJ@S7P&bl?ePbe z>_4hUw;}{h)QEx`_RSr}Piiy1b6Agu{y|!C_~RXf2G8$8unvN z4~NvHpr0h`s(SD$B>hW$W2Bhh0ssI2Gc`~%003`R#39-XRBk#hP58TJWm`tB^}}+qY$bcN!#5d&?T+i- zpR#+lM!Q4n{`&w?(7s{4000ppE1CefJUDlAxLciuX1Z|U1Q39~0-F34*aoHOB9isr zYPP-Xx%_(FdP^nC>z;2}mv#GXW7S)JmyR8ai)R@#rsBl2ABz-SBr-tFgk-kt7!+wON|Ejw0jaxB~3IcGL(&e^`( zcWtt5D&{@Y@0?nT<;YuZxn$s{ZvC*9uoxgEAdmtO0tC^M5Fh}Ak)8rQ`4rR+4qjJSEa5&mwrGhS+cRDb~2Yt*7jncA>S%m1SwK z{-@$UP5L<{>~J>$KjL?D?E< z=xg;|;nw9ln6_gROdXSz+Vd)E=15U~U|rR6_R~-W%0;($qs&EuMe~2al?`p0moy|f zfT<%4C4&2s8XM3YAX=c~Brg|ll``)T(DV0m*Qx8 zg?=JPSE!((L1%B}u1OVb3WzdH&XC6eCIZ$8>1)I^O?E(Ckf&{M>T--l{-wX9h+FSYd<6}kqGsi*kS(NJ;$9kI3V^q9@ z0VI#OILNDeX~Yh>y32HL3r3Dn4)aWN?-p7wm)Lf#W<{%4W%;$728IA}2#C9=z}gi# zWr;9kh78R!_aOVGTehB@+;7{_BbL+h`@8VgBG+0&j^{a_UL`_ivWXW-C2F4Cf}fE? zyV7U^J##4s#OX;gvu?$CS)@EWKG@R};C-PkO(b_A@hH7_)nqcS*@VsC!nViyVbP@fK!)I?d3+o>zF`HOQ4cW9$0o#71QG5mXe_H7w5N5;p_|yGo{!2l zXCJk=i>|?tnxE6-G{;fPjd5OEuiT#S8o0RP`_Y1K?{CmqhQN2Z8_<6_ul6VV>?O3j zB7Rv`h9oOSY(9`Paj|QGP<)$syM-9>(|#s8;k^F~O`2q}gll~2%0zeVZ6kZs7;Y^B z8ZXKMeESzmaGu!le;Htmsg;y<&Yzl#M%K9{8g2l@|GZ8fKEpBKt%#c3Q50l8uljvg z=-tQVo+=*@ayV#tAPDt>t@K9kfxrEoL;Q+dY;PUL>cclCG?$oK?R2#FO8ns7zguY< zGb*&ueQ^*JtVi5L)=0R^T=a5u=do>wMi6Tle497LVHBn6nq_I^+?Spi8QEFK?%Vxx zX}5aFy+BdcAWOl@O7AFz$cWJ!qr6)uM$@`a9&+34! zSHBobXnxc|0AxU$zx;?MV2&h|ndnO|_3}uT+wUd1E{1wB`=^l`mT@?*<{sJs)l=0R z^4!MDB-hldZ%6g2g~*27|7n2ab^de+BJ}MfC;&w57i>mX9YR+PYKFdT7nt0uaIn%U zWNrF8oOa69_S3yRqK6-HYe^$ODkMe{r0GaL5nH{VU=%O#d;-2uw7zYCel|x5km#R5 zvIZTcXYln$fU8{2AfJcqAl!d;wm|M9x!?c(wc`p19gXA>ZwMrdwt?^BFrt2JCf5Dr zgrIecFgU)%;tg8qz)nILm<7HJjLF(6G`Ja2~OFr zW*ScEHVDh1KL9sXa}t4B4hs?7p5!rbd@&{&tzQ(w=DgZTalyX{=6^%;zX-0Cb!MElwLaXL+o2|vnvVxb1mh@%b()4)|kk_ z>Bzku77f;sev2*KcK(X$RqAd0inh|==a!?h{T6UoR?&J)6LW8bbz5|#feU(tJk+pc z1bC$1X;T!VCktQL%^QX;=$k9XpX6p(qOOB%=!tkFRcHj}L*VEl53X1l;Nm8SV_epx zixcL`;!iusvbBq!;YW;zzmLVa;*#{TDH{sVh19`QF1ZovnY&>HwXmh5$bRE=8ntH) z=!7w(Hf{XZd3_KVx7lHzhXDaoGp(u92Q)mOrbCoAaTl?WCu=r%g3>aEXMiNrU@fab zJ8WKq^nXP67YE5S4w!@*HB4&}M?=vYF=$sfqKYnmzCwBKG7|>GLqp_aRJ4s&k-OlY zVc0aYa_~FC*gp`eoXG#+K6XLo)eeCJFm=CT;uZPj4&!ixYy8GVBi;S;{j^~_a=m3$ zrrHEu&`7lI+^9vninT<4I2?aPwthFZt>1YyH)Fn(jQD$BrrVK&d~R(OrJF1F|LxBU zoeFLRd$!Pfg=~Pg(cX*J7=8X4X#arCN|>`gs*x0c1W0SnJN-aUjq3*Y6p57sjptr)~bvo7^x9pmoNpz~d@Zh#_F}}RqSxvPT-C15FDO~|7 z;W&=4pDee1MI`Q49EG2}nku*N^e3SU!wRf%)h=c4{b>BC>RHxR1SM$mp6!h_%j{fj zIZRY3+VPtlbLcu(CHkQEnMp=TR9Cs4WWx7<7z=xkTw~Wexd!NcJ)=!>x>vPRab&Fl znz)svH=4TNC8sl2kk*cHK7q?}Cufi~aioye)TH3}zCF9mPIZd5uWc~^W2T(U^JM&O z;7I$05@IGPn39*Z=8ynl8ul0-^-R1}?Wg+e#W1mrBo+PmOn$isfbH*nM->zPhU(9~ z{?kXSs9~oo_F-y;6;xeyFVz&fT2poOie0)(T}=&8nWMs*z@1v>WP(kj9yVsBB8pnd zYO#<0*r+@A?u6f)E?H6hO)%A~u)U0D>B%>DX*ktxki>Hmk5avN6b-iPs&YG4af-Xx z6Ri5)#*fVJH}Ws2xE`;8o<~#+7TCZoUOUCKU0jj@R&SoWk%3Vu&e5U`h(k1vD9YgIwx_JFOZt2x7Xhy&wDa8iQLN z2G&3(b^s9q4zKrT^{^JLnl=GkE}N1Kj{y}J277Vy12_osPyru3?%mJoCwMRy{;G<; zTs*b3gRJ)9S2s;W9WABfOfu@ean#N0xdniQ@?gf>KJA%Y9I4<537yzb4chQx>U zgiYT5941H>+w3s3g*6x*q*m9G7xW$$_MLTl*>KMnF^bU^P~tNWdd;}<@s(A-$wx_H z8J+UViJM$%Z#kBh*o0ef{|p%+#L?z9RSm+5Op&cm9s?RrX)T zV5RLxo8k_` zQFKU{0s)#394*3(vhoESkKiOFbL$Q|*kUPe&nN;;B9y+Qss1P+~J>CLqOu!mAzAWm&Rj!y#eJ01g9kw1MI*huU1Z0^ziwGp6t zNV(0O8pvD?C52?56h4Y^<_2;D6WEqVJqKT*z^pmy^4sTg2GT7YOW$W9I~(=rj+74D zq4Kx~Ar(^L_oCvq@Ng5t2v2Tm*u9pw^S*9CV6FNP#y6bM%MeQQFzqQiAlv#`Y%*Bz z39my;zK0R~&9kcmP*Wx^tpEP@Y6I@o~d zfYJHZZ=Cp5uCz(OAus~5L~r+AW1uRBm;cvc3g|_Bb3DATqB|-S2TagBkHqIk1$N2+ zW4xq!P6>e6_CTs{kl|?(2U7ei6;q=)z>UtqvOz}>=}N`c>#)dUO2irRK;6C(Z*;uqK1+$CT?+BP)JHpNf6`zWh`rqiFVa^4fLpLc2w>o_YSL1rl`x^xBCxWjpA%s51%}tH9rR?-j0H ze+T4scEb{51QDOjq`kNZIeMMQdU#m_N@|K~xclunc zu1izXDT06)@0Rx~lRIBXzfPpWBS--&* zeIujF++s}_G3HFAYj`V;tF&PeHRdbn4%Ngt*D#wg2@fXOa=@=enEsHQV1#6BN>M>n z3&J>aB!Nu4&L{2IrTzRfIo=z>CyU!JZ#teCEe+mrzlqGnVOeP;yW)3}H4lbJIm8f*_unrO9 z%4mos$df9V)8&IbbF8i{ze}CYr!Hjxmn@D9OkJf3Oh}iG9wsTRA5ho?=csdwk~pg$4!M56SbPf2%+QwH zE0V_w(9GUc%wL#%_fIK^nb`A)Kk#1{Wq$5f_T(lhv&J-!WJO|!@sINbvoE2gC`MoK z{9{jF_zg2uM1b;H93X$D=)XA^P*0FpnwZVv50;l;{F~HWp-uzzt4#)()?CwTXDS-e zVHBKlGf?Y_Rkj7r5{>%l-hJ5ZNAkL;Ae@T>Ie0-1;j-aM~Tp!N_b$dVXZ!|4|_qoa4#)^g?{QMtj z<9Q`5*e)@O9{On;-L;k!ck-+<vLHFrG{V+9&Hz;SW9{)TwKj-EQK?>*5OFQ{d#ModK-w}`HtHXgbENLz`MHjv7 z5xkC~bwbphi~jGP=UO&7=0?8{3SH+LW#1Cz;Obm{M^n7;E-#~wx$K9LQq;++`1ozw zrhvWum}`J_C9-nt4mBby%)F?4Vt;vp$@m-G(9izA+W70d!3;{be!s=?;+nt%EL@bB z85hK^lz0pdK){gkhZowfxVUVm<5Wzr)A4MY$n;gY01DA=(EF)%?}|F#j(q1y>QI2P z{z2n9?Ghn1he3IY(=8Hmb3mVN2<~xD;u4zSFet?Y=H=iTMG%87WD$+ixIQB_S|>}D zp`+mUBU5C*(#L|52Aq5jnjmKoAO`?(6aYms07N4IPyhgVO>JqYZ50HI29Tw}TE&_a zP|0eynQ<*GbKSu)YF$^~&6?ZHUAx_xyQ*9Xu!+z>AOi%mv$M0avpkaQk{d_PCu^REDFE6%|s!6>3SZrA~yztny%p~K*R}8}g_}~mlm|(#F zW`M8(0LaW-(H#K2!|m?d-tOJk?sjQ?`z+g=^Sqnu`JK)<7q-i~&bIPptEFWigs-=? zYSvm>tB}+rgg+tpl+Oo1)PSEBfLhof1VUJ(l>7<10~wR<=1%8s-cVEBCO7WmnLD4| zcxlT-dZ)YDck{NTjU8uMdk0vvP3?Hj**YMLd6S!TW(K6E?y?`-s`Zw(Z=Xnv?#%p5prx@$+6U%v1A%Ta#xLI{~dlI?rd)<0@^E0-Ll<#wK7^W30qdPb4 z&0UL?y}dSSpN;XrK6sjQ8zdN1TcAF0q_KC<@*W^OF# z`AON@$<%%W^3lhub-@VB;ViBRb7Xl~6DswvSFbt#zo7fYnr5YuO!&NC?yBQ0vN=i) zeY;yS^(pfzy25APrSN!f`$kE<*9fmS+}CzDaJz=`ZN-wd!{6^~jvX59o_3Pp{m{}) zaa;aC-GYX>WTWS^m`X&&MQVQHd8moN7S@R`^I#{5F`7TyFPZ#Q;lJd2!2Mu<7AvrV zqqC~hA4LN#fAa5r$@7FKDN-(*);?>ROOsV1>IA@ zCyHyOdn^e3r-3W#ZDo90zU?9^`0}9>hR!?ZSrvZanlDsuAR~j_-Bu3=4N~9&>j*iQWraYY+6ld?r@6E*8X$n zr<)`-dUOUQKAI&-%Z}f8GecepXKKmTW@*3mI(O|lmG$P%B5$uI3 zPmFe-K>jR7M0%%;ho@J6AgSskVs{GYsXcH}PaN1!1@g3&fQ?Ux>PU`Dd>nP7K#XKw zA~i;~Tnr5rSzz3#{He>`&ecuxak>-9`ZkuS84qT-wRW8H{w??U{iRar$J2NMY-wAS z%t(o9?=zAX0yNr>Hvy|lE{>RNx{rRF}f1~+-uH`o{V6mU$V{lyphi&EXzN7=>4NgNNHx&*!}PYr#(^!J~}RQ{Q~zvO%*HKQbrlh_yC z(^rYds!qujmt)&pEMiS9^=d+hd^Ypf*+987Wm^G7qDG6=KTnK@sOF5{ZP1*`={m*^ zo=C*<$rC&SdP=L{cqi$J-E#n98$sA^q~0q@!rG0m#5XoA7U+QN-S^6KW7y{49#kK( z*YUJmq~6Gl3xXAzm*^|@r1gq1sk@@etx=1L)~NM2xY3WUL7`7N(Cw!7BIoGjYV}>L z+KaZA_ZBM~pex1)sw-Ng%MI9=HpxNWbcqnQVs`2hx5c`wJC1e5#mk7^nFml^T z4q2u{?;F*(yEK!S-s9Lj9WhjP;c-4<2)l6^+w9)GNnlvMev9?6!CUS}G6Ydg$%>&6#LP9dQZ`ht~D1jpMk^$UM%y^4M+B^_b z)B4r|hx!x4f0T0ro9)KRl#TN#|Kuti1QRoy(SV#`;W3A>tPHVBl`6n17x z5j3YdZ8KjMu@;xS>xf2_l%-}F;mfD*b!!gx%JgGm8nU}}AtK?v<+GQf4@qRjJ2b`Q zY+O@M=Sxxsc&)5)^6BGR7ddDqe`LjgE-`ItvxB{j6s|g-*}YyS$#d!-36gz z!=37#krdE*zA$tCb0O1$uQ1ZoMo1{%64#-|57!GItXBi8-B^^q8u(i^fVX|f?sIxe zH5TMw_|Y1Dd2BCPZ3}#}6_K$fcPXJ)Jv1OT1PCwTObmRSYR={L8}i^B-z-aga~nR#@?W0i2Mt?aee!GW%HUq_fBJ`*v43i- zb4JHc1(V0H^G6~AlZF2;R@uyRUdCg~ZPA1SA5OOebb2aAai+}Vt*~IV%N#bd+V;eV zQ*($ODqm&U>8Rkqi*+*o9j)>nC@;R7jj3pPVJQRY|Gt`I2j7?APnS$=s@LX>2A9l6 zi=eV}%jlW$*~Z$krv~}cNg-UMo-t}{28^68^kT5P>b_UT3<%1@%iRAr>Yf2dx<-GD zfhvf&z_*1yD!L4&zoD;9F8O0U7eTHY`4mMcCN|OqjQ#LLnaRrPwe#6LM6FUW_?WDv z2rOAzjXd(|2>q%V8sze9D$X@n2J2@N)VDUgO)Sq)XcH^zBx_>5`N-A;psKiK>}hoa%OMA}XG%CA61K%-v7cYE7lBbwWNXgHJCuWW}{Xnbzjqcjkw8+?Vwg zvu|>ks;e&ZikZNwbFt_*Kh-U1JcJ^F*EOYvZc|A#fh){?W$wb?rQOKoKBE`liO8x! zstunHcizdoZY2(H!DVfC`C(){{J4MlU~_ZOwCypb*4h>p1Yx~OH|rS(J!ToApva%X zdv&|_4(mcV+}XVpg~nTG-;B)nwbxz7b+*e@?xAnL7cy-nt#7 z3}KViv@xb&lKJOYOt4LaITHpROh{7%V^L`_HwSm(P#A7iqUVGn!o`$xCq4^zU}AhBn&y(L!MzP3gITP_bGBbb{L#vn!kA3 zz2eNI$ovVUb&I+^b){?GRQZpvWb!UmxW9y4lGQ*oNERoVgm%R%1it)G2ebs8S zlON?M*qJwr!-erHmgRiX51{A)!5_`2(h`|4g;-=_?PK=7$Hj|`qt;7ZIr8TV9V2lw z+`&XC`k(}`yey$W{F}2HkK%8`9TFwC_kYsPlBey_G~EU~dOkVmI#Qwvm|SShb6eabwNP%+ zv{EYqQ-$hpx$l&&+)h)Vxh;#T(e&lzlXWlCjUqML(wlIKLvg`1QX@eVq;}%ZdP}ic z&>a&4KG*zYnLfD!mVdYXcC64{=mUvRU3}**sGX?3hYug^LBzBxllD1^9LTEISG2t-qNX6bha$Re}3_{`s-`2P}(IoUwcg|zF zy=)EDy1hrEIbVQ+zUG#uGb$kj)!3Go@c(B_%d zQQk;)@0}O*bz0mml=JS<$a+hVKk3RZ%g4;p6kC20YPH^W9zI`gT)Ds z7oJCdRP{O(BSc|ZcDs%QdVpeQU^Yf1;0^wLo5K ziNm>|$9N)FrtACr2>)NCYuf~81s}A{lUHn)m}M7EqRjn?$G6e~Z6!^@Crjy{K)H;f=>t{ytV|tphS{jLH&IoLiBs11*u>f*}v2KvQkkg_uPKIg$P%oi~Ay@$tT@h-NA5cgx7}4?D>p z@y(-TfT(h7;C5V&J-u^Jyg~@Ms*a_RWc%J+06s}HLQ@|_C+OdzQ_leHWp6#z_Ea8V zr%#L<*qElo&Uc9Lo71>4$UKPQNu7Ox0i^PS1}Z`D*NF%cNEHa}!jC9bAHRqcH3yj) zr2UYC{TS1OW7{_5MM{sTO@)vyZ1Y5mr(S02Mf3)ar%W>13!V*d-SLiYQXrATC^kA< zHt$zV-cT|<{*VHCLEx=p!y>ez3%)~yr*0QeAh4k`HvV%8X%2O07T=#eqCT^{45cvV zh8h{{3wEnFHLu#3O9aecypDJyW`dqO_xE~bA;{^bTo7cDGS6<#mFY(0%=2W z*iXU`!wy-OLN5{uw`>l^Sp#~1r{}p2nVY#xJaJ0=Lg+*0G<+jE$#v8G_m1g5VvBd^ z7r7BmkRwuk^1mpQY!lgzLND%2DsWDl5bUrqv3Fv5f!6byXviJBAbQrju?3|Pq$dPX z_`6vRAs|Er;0?1f?0WL7iR-i?jYJP4n$I(yw`jtQjIxoqizJ?k-+m1fH{3H8QP7(P zrcLWtdqOxSI<2*_dm$ZNuKcZ+j%XTAR7mNg_x9Yx#$G?H^F~7y-Tu%p{kXnZlQhzM zCcc<~?!Y;W4?CQBE_e-#nvA5(`oF+~kU?q>=9nG*{a-X$2^tJUhDpPP;Zft{u0|A` zXfWS-eODB?<&0j%m2(R9BF*(PSu-Mtdess@YuU=10=xM2M>iEkR)K0XUTaJ_az-^t zGDu?e9?+SZ`hA9U9v?$Spd-Urv&ua8egSRa*$wq=R99MrTRSJNsM_aA9>iHKIkiu| z9V7%3xYToJ$yW1^aBk5ksw?6?p#u1aY90EHY(}k8P(xEnv)>Cdxx_o7Qi80hixG~K z5JE_pBB5Q|5i#P~7gQsMRR++rZ10Q6&j^AJ%;u+79~(1nM#bCb`Xz&(y5z~yN7R*1 z05CX8$$!?F(tm^<8l!_{Na*w?=07tEM-KD>F~q|!;*Dkpn;BSlqPA`G!`q4p=^|GT z+P_YMh;|`Q*Q6!inezo##3^R5_hzk}y3du~I*_{|jp#cgw=M5$Q1CmXw+U1|9lzs- z{H}HOR1!cG-?aej>*v)9ib_dw4qi3L7KtIy0j!8(f+)TsMcn zOf1Izd1a(^0f8-KD!jn*p@o-GZ7Ki*Q((^%jrAa;P_VX6c3hXKGU1XWQ^;DVHX=z8 z*1>b^NZwxy;a3$W>m*YcedcY8xUF0qJWeG8_!Rt&cK2T!|C2>hW29j(YRA9WR<|_> zOyj$l1-U#sLj_t!o@o{%DpzR~yMuYCUU&ebDpoJ}vh7=MRBa%Q@uVsLg7inFWnbKV zT1y7LoX}|9FIo+0zJC#v9KLuk0?6aM5CQT)qcFb6VNT5AApgWJPZfpUtG91*G0~IH z5~(^V$*#v1JPe*_l(b8u?2yJ%Xofh{CFtxlQM*(Swqq(<&n7ejZq~#Bk)~;`6h!Z} zsQ8XxZHh1%iLtNBrc9r50f5%s7OZ`KM!||=`$-WJ6AUjafT~lV(Xv@FW|vUVXn>hw zAV#$sWjhmc?V>JtLYP_>W#xpUKOf3Ie-*`f0d;iLL2SX6+Q=#7`x0}=Y8PRF8ZUpn z1QLU=ei_-0uZzf}*&&~+3ngeb->M16+%$bwB@Oma_N=HvITwQD(7QMa7{r&pI1{e>hlgwQeuCQ@7tjH8dt#Z0*kdkn82BJ9N(UQ z)?j{`0P5bXUz3h!u=*f@=-7=3HGj%^2)oj zD1>}el7pZIH_T|;&@*ewZ6Lify|)csRO*IAp#@|kLq;>?701*Hpnj(PvhBJ5DGOU)8 zu(I5+WHAURgDm={>uL!cq3?6zy3a+$gh`Bfxrs_We32J0Du^`!6Fs_ znYzzDLBIV!8?e0JF<-aKLj-gZZX+xf>1-R!rEAZPwQimFxjz7+DXxzhyIVhEoaC8qnyKNq7D zcBe^QgAIRAW~K{dZ~Dbo8uE5Jv|{As|BTZIyMo{C#g*&Up>g+0;rjkgzvP$J(TDA^ zbz0SH+j)rB|rW$@j}NObV$uboxh{r7!GN8P{P)?#ps+dQ7XR3$u= z?}+P8fD{FP6oSb+tML(PXO|$dq3KcfVe_yIl;%%ui<~aWNFXuv*j?7;{ z%q;8}8@B$-a|L_fb2@jOlcS~e@Z;dE!QV!TjK}6AyX~$17#9xRJaSvO&wvPlty5+( zALWBpPrNrn{ih0Ee*OHu72|u<9`1|i$H^FDzUME&yz{dttp2NKs+XPT_un-5m~?() zG=Kb`bEudO7qM+dqFwk852LbTy~@Aom^j?DuQLC76DUUY>t5vVW-9XAd8@JJkdgle zF1H3#74y#HCpn;n_+lr#LF|x0nk=! zTy5Hn4n;=nownkJhdv{RM_;kzCo0nVEPOP7ev{!IQ)tt~FkED3+q4y!n~RKWoVMbD zgU`FCC$BNIX&9Z0jO?Ai;s8&t*q#idM&}|pyQHne_*!Jn25BoXKNcCYgW8IQb3P-7 z9z{h#(277rixdK1RJlEo5t(#Rh<%YL08vo@X~m(Ec_6AqqAG1*lAHF3PFNH&&tOu~ zC@x<)(688nG!cNdVseW1h-sd1rQ%Wbf%hL3Kf>lHB3FDahNOx`MGCUTq}oMNMWUj` z+C?L{MWu>G#f9D?Q}Cj?0;mX4xA91LQB;AT*ztUHO3_vnjLrBoqaL(r(}K|%p=q>3 z2k{xV)Y$_?MS!-iDD9XOlToSRF`|!Bl|@X2>QpO5jGLXMtBV*nL8(}an46^4tVIkB z)vDGarVZ56)uB(eOoERq{i_35^Uc?qgV=JjjR?yhz5z%^~x6 zMwv%43TZ1D6&V+_6^x3Ei`t4tMaD&KMWZ6)BDNw?k#Uh*k*G+x$gRj!q+DcHWGd1w zGAl9_X%`t48H%)vjEam!+C@f1#v*MZqc-DMoe?d4ks4s4A^`hwbbV1Rm{BpHeMma8 zs0@JBKgGh;0{d!-R~l_!U-4qKz~0(oUO+Niwx1s|qPD>ZSTWG@Yx9wZ}`Re~R6nuFLEW?GKJ$o)B=E-g1pEVM(iL`w@Tp*1SlL2(G)5l?X4d zBj4*HAL1~b9igEeqIQIb9o>_RkRwKk6L*L!5j$2F9TAN@A;^I2h%dV`!8@YQKFz%C z2tqqPh2V?RqubZCVjViZgF%CMu;j=Oc84Lwu&vr8TzJuK$&5Z4tJBhC^z9gr9OSYPR+gUyx(QB`dCfUP-xklgHRlz|K{(+p>fnaC0pynB`rtP+#{1r)e z+(R3g-`r^(_31|{5ZBgE_v@CycHj2cZ(KhcF8d5-V?e{(+EDuDpM463wsGTV*xQ>L z_U1N*?ZJ^@!?~rlTxS|BC!L1J#i(K2xgGY>)!ykAFr?Vl1+eRLf!K3hLEEl72;aS_ zVcxtNcEzh9;u>ULy)|ouusiL9O-nEA(w8;Xt6Rgpdm-#@x?!8|t^zCiwg2+Fhu*xt zY*8`(Vca*dv9PvYEV_$HX7{(pJz*Z$R2zXh7@_|v^x)0+Pjf*}^hCEy2m2WBmVN~# z6+5RJLA+7hSN)6+yti3yx>OgyC^wXBRFh%3L8P6+?C_)tzT}IwjP{-HulJc^2Pby< zWAxEnmDPFOmL=9*^g(4M#raBi4HUQQ)%|OuovKY=56n9AXG{^U1<8-Z7P|&fPV#U% zvGck5+T?shcva^k8vS6iI5_b*_vEixT5quc)+@X6%jxWhZSU@guQ)n{TNxoPI(mNVaJ69 zg%};l_8km4fME%|F&8gGZBe}UvlzvI52zdA)ewGHM;rhAN!TWBO`oW5fRM@IkpLC< z7^jeYfMiI{7Qrq?AO1-mzlU!HVw#8@fk)Z{%KpAX4tQAn0J*E$SqCa-gSkTi`_R3T z@<1}XRBy{xc~6PQ|Nd5F*R0FyRpHnP6$xSx%!g{!U}(4sYV$EeTs-~S=Iel(X$IQE zb4x8pY0;SDCIR~)7}M1W$4~3`hLUsV7TK`MbYZ!0cnwSjeDZyECYluKisKRcht~9f z)Sy}JfpTGx7!&K92)XE2-d{@+?enK|f~XIc-pZge_{FRwE+NNC#NBeQ4`!Y2=ZKcF zOJi>n0?EZ|&@&S7@vlt1u7zlmw4nvq-6tVb^g-E6UeN1?`)XLK70^uzAZ%2DtZvK> za=8QzXB+E+`qz{>GSG?2q+Ffa46d1lj!2QU#2_3B)@a)Pv88@ghTgR;De5!?jUVF{ zf%>SgHYYhAI(WjEj6tg<0iM)#iNOhKn3PBXioV2{TUPZ?q_1tO1Pw?pI3#M*nVHV< z8bi&p$W#)FxBhT}$|e4Can_`ZNJ8(~NwvdiRT-2FN7<(6a=43^<%$R;-%43WmnefJx^y2%Z=D29 zZjS7!k0P{BtVV9Tg^$YEp@X5^wpsgsfJMpD>$>zJc5$oQw9U zueZzR+A`yIVKYhXCMeAEl*aP(yW~D>xk?r)NmeYBrtrOMTA4!)ht$5vk(ZP_YaJ6Q z520w9(L}E;v_)*Frd5_xyxU-Z;I4kSDoWSzeT68VPBu>y8sMKv?DOws)?vk##P8*g zs_5XMT`O1p-Gg75-IfV9bAv_`kbwe&=0a6n4p&8DYx^WjRefBsNyMbmOJYi0#{~wO z!HU}HVjfuDN|UOYx^`xmv`YMQOrhQ+NUWN*y0Km4+Dr8NL?q)bvx)KTFxo#Rw~{@6 z?>>z#*KQAtiLdfaW!NZ=hH*KP-Z4p&_SMm%#9}z@(6d%W`eaLlhhL!4KtMtp7DP;H zx{)(OJ7}2dQJoOIo%F$qHt(1vdEw=*&hR1(ZZ!88zw|9~r zhiGg6>5vyI9yE0NyHFGF?{*-=fzjEK#fI^0c+OH+epTNY!8U9^bPsyH+d&kRx2%i{4Xyn~hbbplC3YnnnuSw6$Vhq*E8UO152fo(Kv zIA=AURo9(KPll{;w8_0%cDG}NEGXot};`sfYpbiSsmhtMpUr(>g5ss-mypy>qd zC!pZjTDrS(dO8Mk__jmV4qn1y#|VKOx;-KS3IVI}*gA-9@m@ucTP5ySw05l+9|!{H zjU7+qrpyi5x1b?e^H(h%I<5#WlT+NxdhhFbCb^|MW7UZzgjyM?idZ<1iYTs>;{fLb zu`H$o3Ph|?)S)&B-XdX^qB*3ZKy8joM&P58)T8#41=LyyVNweqWQ!;+$GFd~=}D z*-;e+lICr0I5Lq1MiSsCIDB%F3q$NuqohD}OJs@2AE_;7&`&36BgvthYBl8aIaGUq z5908u3S>^dCxWdu{9R#L?$;KmzPo$JH2s`Y?_5~%CU1lBBF5V%Afef%Z95esyE+oa zz-B0RDm*}P)_$?Sd8{6LjN!BEEp{|@CB{0ZUxwrOY<))REj#bk%JdW1CpNH74!jC< z6x*W(1T9~vq2^ByU?viWQ%g!uF?g)?zkNRAnHI+fdMeF1Z z7vUY%k*v%bnI*{Rvz0P81}!8bVinf?3n>z?(St6*INe9w6G=B)J~hs1W&D=XJUP+Q zMf+mpL!utBY_P1bmX#E_@yJ~`d1~!PY@EN(kxag82NTNyuO~>Zmxi9d%WFqP3VJ zRi45v(%NPN0zVrm!&+-=q`mGs7l7qKLi8M-id{RuQf0zGEAD1>=pK6qGf z3vJWS%cpHLkuWWioO+_enJlaQH7Pq@)fm&nb;%G1WIJBAdp!f`+&sriUKTr}E8`7O zt5SQom!y0`;D>Jq=zo=h421^^R$O97Ad`jLr7W?y&m#I3f`QkzKP+)X>;JhR-2}W{W*2CQ?#1}5bx|}RfB8e)J#q9vOT%mKH>4F0( zMy#q7BIkqx`f?VY1bQWE+CyJp(D0`vodhdhJDS8agQJ{!YoSXLzJTt0>$in^;=8*^ zh5w+KuKjQhQ?S&TekX0W8|#uJu7P{5DAvo%XTKAlKVnU2PHYvcap9j4qHbLA)LyhU zeAQRXR_uc%B*Mj{>zHhmFO{(7_O;iX0K!}zSi%}fVXy)m_QP*+O#3~>`g5xXhazNT z@5Orw*|0kgudsJ=U;6C9T%@QY%CNyXHnsO2W~d&>`PI?#JTSMYw80Tqn%-<0;K|IJR zc&qrFZ7_YoJH@=3{_;~Eu2J4F!(deUF3Tk#!+LH@6z%YcMw%x&)^_9~PX)BNURWh* zKsaY-WmsnzEX!`H6iL?nV7MaC<_6@_easRO?7=JQX-dyKglHKe$eLpx|GEs}?w*Rs zx*q7CzjwDuBP2r>Ue5O9e&`B(KsKex0oAeE%Bbsw(BN>Q5ZsvcdQo)?87mN~7kO@*em#+A?Q%}b$J}y*>j5YHDNP`6$S+-|7{QxA z0}Y>!NSB@jYx*JuRH9-FMw}AN_^g_C8}xf>ECu8Icp!Tg_hH~7yZkP0T>*b5f{_K2 zx6OH+)Wop!Ku+EBLviIp0r68~TYO5Fa~ckxjH9g{*5#0E{UFdn%8}O3^uoamH&44s zQ|RG^X&|r)Y#w6%nppnWjl7}c_3*XnEtXu4CCTW{JZ2$kgqhh>$5KPqo8GyuhPG}} zM80;Hw%HAOfrQALR!Hw4M$MnsPbZG%m3gf!<*EI&6k z*o_^K^eQ;41bS*qc2l-cJU63Wcj!&=7|d@&sc)H<# zjxNB>L1~xAneLYmh}j8S1WkcCG2wiiOVC%(93(S(`+HuigN7`JuQ3lDF>uB8qXh|6U%nD+XSNI$KgA4f)%;$u7STN< zZ8{m?6>MP7D93iLJ7nO9o4thohkGIEXWR~Ybb}iWtzT{(1R`I;8ce~i!^JtP+>P~Z z8Tn*m)hf26v9<`OTjsfCFe?_h@+DDC^he)tWNQt<3EnunBNf?DigpYA0k_s2M10xK zg&YMBd|P5pRSYHQs%{3wl4^?NooDTgsGJ&$ZWN{ez!5cJZkg?t<~*8$#1FF|QIGoh zRDIk6KovToecFc8QXWF)>?A=8^U!T#xF=A9b-~L-zK2d|6`)SJ;RXF5?>mVkza_%M z&V~~UTkVRVepd<~9BR1Wv&I!^M~Q}JAG8#TAO|x8_>YH+Bs7%nNfi5c5AXu7s0(k9 z-+w&Zd+JS$yhrbF|NFyjpXD9lpT@ghop?KaWGnCiUmE#)-(vIei`&C^Nyk6oGq+$R zl-q&*i4V#D!QlKWK7Q>gBMsjRWr5lVx6-@X@nN?@mt0@HDzXupQ&UNdY>{-FCHog!J2iE4M8Eo%7ErwT1z;3FGcCD+2Wg znUn=rSNYqZZrwLe2wNSudd^l+L!@_#u=N?fJ*vAp>_I)&@LEy@O{Al+Liq6jRr$EW z*a`|%CBx4Xu{u*igxwESMP(LG0bPN&fD6?Hd3i}-W#p$q2D7;ox5rwY; z8y5?DdtD2>*xrWma!J`594HWBdSArAWDgr6bdRW| z+-}gPX@m&c<=!Wk=v*XCR^%NVX-dW_ntN++IWCw;-5WSRO9)Jjvo|F1>WMP0!Di;U ztBQ*-t6TMJpmxXn{sor%)K;j-Iq=FecH;IkS(*3xX_Tsq;lr}lwqpsm82|&ejdih) z$&J&s4Qq53n|Y#~ewlcq|1^(=#bz$bv0=THMVLwy_`@x$=ewt*4^O zpKyK*`i?vkQF!HTPXI|kw!egRqN5w(?s7y}r}ywiZ)Z!YrEi8p<4LTNY8qtzy>_kPv;M`k2a%%q~F7E)HEKs1wTkXj(lDLOm>L5zh&fg}_aB=rcwKEx>TVTGnh z9OyypuEXodLd4jXBF(oQLZD^j=@@c4X#xr)5k;FJda-wSrXqXa=hG#nP@?Sg++hYh z2*2TT4&5!>57>y0s30JgK-xI&1F@ZPN@IRroXe?GNd$;nlMCY(ac&nS{0@Lid_b{I zpz@J!c<($#M*>48?XB-vV?FVHk6)PLRjG>Y=zL>pr+}oyQ+1C(i%`MVWF!a@@HGn+ zx%{wKvtV@eS0p8PTZ!=2kmsD#4s;g~@Bp-9{nt)U#T&lu@wW7v#OCW28#G4`)=9fp z0K7Z(PPusn0<|lvn6e;8FRxCq9d}cV<30FPjGIy01TTifAxkg3;{QGK=f=|lUn#%;v z7k|GCkMHeqA$&g)C2BUq{ab__K)CUTA7qL_smu?Wh=d5Yf1+T^x*sGHBgHn+zoyop zUwdY(NkI8J-H@1?S_5+#qEih=1$OE^ED4?4v;dXa=u_vT9KJW3UjjG&CPFd|WKK3@ zoUmIFOtq?Z-Lb(_#IA-7yP%?!x#u_FUju?V19e+JqpZ=m=5WOH0DR+mcw{&_o_dtT ztN4uuw?n%r+}s-(OS`9rL?sud8h7U8-|!fUzrHJa!kBLkjL5%$xPl%OZ3DOtxKi5( zahwHRK6W(!AcfEUpW3!sx6ifD2}l?|Rr;XvCBhNm&}A!O zK>#ZmLRpKDit-e|ILtYwk|7v!#7RA2kPEcqOrqk7%__nH(Alci2Xqbx@63u89K;(k z2=!JD2lT_2MxKY~{YI2>^c|oHTZNV*1RPjBn|6tH{dt^LNXJvLU2iH4sCnkdADCQv z)AZOyXVKTrz?=T6y#jxCwNhBr7J2oFOZtwo-#W4y#X zdu3ad8~3!Es2^#)wXU?#`km$tk*Om}=dJbm4WLILZVw@C`dFHe)wkN>{Vhhb@U5l$ zcFBDU%veksqUlxJcGYT^IEV6DCQv;JBDD+RW{RQ~$`$Z7$bUVlFSy94*oj3)@}~ne z5gu^;oPPT^@w!enLx>htt~i_Gff5oWLkd)Tymp#j_sEcQMiux-{8`+_T3PzR#P%I2W3Qv9rK*dMn)L&cLV48er$Vc5F^4$-&Pv z$jPvd(Nss+KTh?yZ-py552rZ1YsasXYwL0o35$O~l75EH>UGB!OV;qj zyZld6AXNdxE{rQStZq+A*;4pdmf^Nyxx;$+FOOBe3kZb3qB3 z=c|=-uDw%3LG$E6%3yHn>L3F_z+Ki{m#8tWQ1V-Il~du}naN*2)IDfRutmR(#FD-f zUHRDtq^%(`<6HOqdt`X)Kb z8&(#kR)lsy!+|2G*DTc0?Reeqm$@xog(g5bJ`W4?qnj591}z(RRmM^4>j+0_kLk$x zd0YuO0**WaFSLdLLF0=Zr$Ra2fqb{8X5SyQV0Piu6RYWT*({`u1JnXRV7=*TK%D zpXY+$iJf00N7Q~rBO^}Rz!H^A}ayLiXh?q4q(_yCl!7cq}t zETg18-l#z3si*g9A8A-jZtyufa3B2voolsLZz`MMn+6oe#P*8afcpckJYr;AXA6=2 zV1K$FMGEnF85Hf0DX-X7=*li$x&K`kR^8ChukiV2UxO!zU*MD9{q4xRw@=XcrEhxo z8GPh_yKniIXK~i+!pE0$6$J>VQe-Hq>Uws2$GTE^dPl3_W^%0?yQ5pPFb`zay1Bh- z70x*1)>?o?akogHWnSdgv5=JWp|w!Wfjznso>1;OkV5uT$NCWcC`6auTP_N+2@`~l zOdATTNdIGtc7azaB}Ya0cN{4p)A=Ga{Yj$R-05npSI(-PYbyM15uge%T&2GPhUFSlB)s8HG}HX zLklxxdwD^o1+FsG<;Y;4f(q+I38Gr)8&&Ez1`dq6mNhaIg^FCYDfqcyhGTM(^vUaZ zzeb7~O~YscW1+hpF1k%`)7Ap@p`oL%;Gpc#4+0hFRT145vq}*q^9R??24vy0RbjMm zwq8u9^k&VpMb6>krxTdN=N~P?ZQJH34cla`k<`AsLAd7Ru$XDL8!8-^-jk1w z(?M1)qNb{cBQtjgLmfIx5=nAAAezN8?3}HfhXp^%^xr;M@;o&SzW${ilkp#-QId1@ z^XW>S5Bt56f3wT%0boH51;xJ#*QRL-uO1Ik)-dKh$u~Jpv0Z@<94$iD3sA;9|M(pD zmD$`8=5B_)^i_DHvm2;oy^?ZX>~So?V2};zXv-Rvhn*+9RE;U^6I9pH^`m4jH)?Jw#f=rDOb0Tf+ALihmx{1qg*GaLg?|De%aPWKMP<3tecVMp_TcyTSQvXmO`ttQkqRYzqqXAOV!&F4MmulO4%#tgDk-!&jPZWj&c$m){KVrHob#r)L``G zgK)DU^rDc?^NslTum@{tom_AE=p*2ss*}3tUEMSts*hbd&s)~@(koby&&5?Um%oE$ zP3Gm7L;WHW5Iz!zxp9D0(Hm-_!p8C_k1aR6qc%6wlLSsYK&&*8&W&#*eGpO~+Dp=Y zU6k#&ixE5CX~XYB=w3T#rj+pT|HdI|!yMqZgu;GPK=OTd?dJDadB!)1IhnT&-XH(c zy)~S9=T9Ypj{kDy2j>7EQt2Mjxf#vKDC={^i=QKfq3|gZ@gJ7Hp{Dz$}diC8QX%Sx3e zs3lU7+?xyjJacp3mzN|J-?WLN5kZ6?eqLrCuK`g@GkXnAjHPa~3)iy~-#2mMMApfl z8%r(#G2({CNpy?A=O=mWnn6!Q3+8|?MtHYuGY?63b2F0fTne&`&3mR1g*1sCmReWY zPJ^(q5CwJ#g|;RRXnDDoc^%Nr1;0?8ukp z*22lVWMF8y|GF{cgLzGGVwlWDV|Bxmc|Ue3GE2w80SAyhLZKx%^X1Lo$O=(`1E}FC zrPx<#7}<*~eU^~?;oYvV$Qta9Z_eGjc=eAtWc@jGA`oS|eiHa|^4YQFV$8iHHND4s zQUNi=Ei&+{h>V)BvS(nGUSLL-Xs|_A6-ri8`~!M7<(W)i;pb2I@C@ACHqYTVRCfg7 z8l8M6D=*vXj^h2C{}mPvW`=N`R>61{jaHol_vunokBQ*F#?+=N`pPJ6CBEqY(Z;_{ zDpQkGDXoZ_*(ig3gNdCtto{uDO@5=Z2R%}E`15t9o$bgsjsr>roQriF-wBcG;t2SQ z0-7{Je2(JLzA6bv;x=?0i(i#Oy%i|{Yt>3+bP{D;C#vF}6@kkb1l|o{F)S3fGz~l> z`1wve?A!884;vvcB=$uk*BE%`BDf0*_rax3* zsEiE!VmFs%#6g>Qccu2c1NUMWUTAEB>fV}W&q)=EzlvgfrugI7@27lD)4>^B*_#&# z`!DiKlo`jr>zoo*{j@L=D&P4o> zHjltBZc+?rhTTfceH38+&FN(u<2ybMHF?oQlsm4hH9zCvG@@STM|vQ{r^0S}F?Vw1 z!OJg^&5yX(|KGs}hAWeE3bRVm^h;B98c8zFN~^QI6_=Li359&2c^;$nUufJoT=Dq4 zE6iih=QjT$BJ+uC3F0y{A4m$^9%-9RES@i}cyJn{hbMPJ+5Q|jpYh1Pq16P;%9Ik* z45wpxE@Zw*?SqR^kBoP+1*6N$SXrz2I^v8!o|sr9DtrG<|JCO`kHmUA z$SC@scV7wXk>^r2`l}ieoJqr6RhExmIo#8DH%!-h@t~4So2f#>;%)e$URFax1^trfq=}>ohiBS0DBG zRyJg1HvR9KNsWca=L>CrIc?hD?>>G{wvl3bQ7q5L9-eV%9)Q4&mD-%%Zv7d;ANK(l zJz9oF2L$r%%sOwLtaR==+?q>(9RfVOD-e9Yp^r$FHL6{P z@H?~TGssawhQTF&$I7q%BF}-`gzkQb+h4H%&;xs6@hSmS7>pz++Hv|Bvn~|`RC<71 z32@Oh*H)p?QSs%48nMXpua*I7&LUufEqc^{cx->Ms6{6U|wo1_>Zf+cMh3ojwmK9@>#6=dVcFi$_L5QmLs!7UuF|&%O|0|y=bW!os@Xjr)~#K$ z*sb(N@Z&=lKveDYL*q`oI$w+gITDwq9PL?_3Sft74qN}8) zkP0?s+UKXsdQ5t`@4an1eZneKQgrnLk-j0$+pcW}U2xg4AN(CUBzTbGJ`e}Vn39vK zqhS}OSUdOV49WWrXJO0Kv0dldXen0leH`Wfg4BG{daIJ|sUN);Nj5cS(fgViZs7UG z%0qB2cZcyM%mz(eu&Z@kI?wKsRTsR+DCD|jngT(}TPttydi&I$a4mx=Obe^&0mL=Ew&M;6olh8miuEy5RK*zXQG2WRzH)U8a(@XCHMzMu zomx{|6-OQ_QF7CO92PO99TQIl1(td|Y^ExEjYc#ZMjjMmEDh~Em#=U=02p^TO9>gM zoKOz1Dz|yc#Rie8T^BWaqHtaNIMjo!KbH=Y90kf6Tst;0po?1uXLGWERQI;Lw3B-0 z+I(salp3q&f}=JOI*hOb15BF+nE^T{f+%Nu*0YoCXnX0JzdDRbKCoYr?SsP)CCP!b zeTGz8dm}d&M|sJ9TPk8K+sNcv!~m73jEK=GSw(TcrLe+>WF{|^ub_7U-7uL63$8EB znG_(U%H5Ccc+T(XL}CV%0)^-9>T14k3I~+Us&I1>&V8OS<}oRgQg#=OrGo}k_ZNCs zuw6@fT*`M7r(vFS2jWO>D6~$R>%)Cl<~+MAxSCbt6yWq4%Q?oKRquFvbDvtHS1)jK zV0{1-_u5kR;!-p^^`Un->olGK!c&8!q;S#$i$%ifv)Fc6?uqy~*)Q#@T*AxCfrdkrn$!w z?$p$5>1)l!EOA&eZ5*HJP6blNlxy8PoxIbPIUuNVs%!S&_3gN_+*A4oT%zs_F|(50&9X0yYnda0B{O2Q`ZbiU|H5y6y+=Gj)nG`dnoGqiGMk#zS8ZWNRL~)} z&dTSOo{fE?0BP8az@QNF;FUWHD^qge$gu$~ zp!r4LDw2t0#-{b%gaY%5J?xp=Tw+4Johs^|B#$+&ZHw3+~@8P$lpj6(1!J zHp*bV&UkvEu?dR$fL$UQ!l39QRT0CuA*@F>gc=a2&eTqgaP{QbeCzukUXdK(H zp*;kpm-GCp>M_#k=)H%VSi|tIVU{G0FTs^7+jZ2F6p`CgRGYU-s3N7~2kAsC`XbK0 zMSi-28@qFohJ4M=OCPErY0NKIDQ7vIBf7NdF8Bhjto+gjt}QmMoS-DBkepmeSb5z4 z6)4s4P`k3D##i1d!`N1m1%xGlz3Vj;J?9k=N1?m=!VE6DTR9pw?zvuxLS6*AP;swt zx_U|q6w)h3#m^wGj3N4mKbxz@KOyfKcyrL0Sv-LJ`X+Flbc_P6)dg~lL-hwda+Q%~ zxP!P9E(KmXmW)7c2Cr9P1puB}`}!(}UBP(UG^)0rZ$%3F9m8PWGeh69{B(s%6Z&hTJb-u^epTao7 z%n(|3&w{#*cuSX8h}^&Xmr##*w#PwI(5P~U3%%%8G78OMNT+XwoE5VuS<=xvUK;^1 z;E`z9tm1K*BS`7W190L-S&lSB5avP2ZdJH)FuR`242#q|jKZ!P6oZY+Q6HeGGeYp_ zAyh8~>{RVJa}9(nW(-)d3H7YCcQE;P~;|pXG3IVwFWIb9v{Oi3f%~p6HxGxIlGE+OC(C;L1zJ zfsg}49KZiFkhzuPUV6W(oH^1~9iDE&2TEk^>bIh0&$Fn2O>6Zcu;{HWAm^XgV7kqL zAW^gHNE4v@{0Y``yuSuL7gm5mgU@jv&A(oHv2h!RczBZ+vVz92@pJnCc->U#L~Mfa#`fFefQtkYRkobf@ez?@ zj~~HM1!)@gNq6wkyYKa;U4Pu{G2R+ufs(k+lZHO2s)< zjtHY1FcNHo2w3Iy=LqDl2YWpN44qt$a2$^?6j%v|nu>Dz|B)!&iT_0tICo_!KBN_# zfybPRa*`t1Ar6ul#$$7z$hAXhwp>SOEGi~dmXnyMa5ECp(mvB8P1cCeVs*!)z7E7F#d!PG9iFd}YP%UQ$u}mNZ!$%*m3vfb zUzbWQZ4w_S<(4O5vN#r-i`#D7TI8O*!?Nenc>$+UP!~0nGJP^qA7Nr*W%%+V z86WuXQ0Q&rC7o`O1e=2K zyg?AwBXO!41(e%HO`BRowYmq@#a0{69ST2f#$l(>LlXts0Zkr<1(&|LO6!}|tzw^{ zvKFoBX~g8{_OsgKgI<6DH9xpDfF2{=^Ayg7AB6IOlw6J z?gbR!=4n}mpi?#u+!l85eMHzP730Gb*!(L{<9O6&*^$dShD`>B7Av)Vi7`%Ge>~c7 zI~o_t&tcU-BoVO@GureL^WbQ0H>Ex#s=I+r$+h^MIa1?H&aI*g6v56UJ+q+2fm14C zm)s+SLY`D`g`F=I#iFJtPOX2Yc{xcL7ix;p5fnE8t9ORN9e7Avw@g=L35#G-ukQ@b z!Yl3t0vR5JazG1c5$6LPB98v^mO2Bz|4Dc4Vfsrt!8B3rH&>R*swov2?vYFfG)ru~ zy*EA)RJHtXfaogm2j0a+rw6A?{56izaOF`}=Wqoj2h^mETV`4ZeXzQ)9W#E)PJd@7 z!o(IlJ-H*INL$8_I@q>hb(-8b!{Ion-UmLzfQ%27^ZRe=8-}x?t0NCxJ4*X0wXt)M zdo+oQFIqaGhRI5)sVE;|2^*YJsF*H~K*?QXDLh69lRycMbwXxD3m&CZC52Rg1*8_~ z`VO%zF7Z)rqRqJp9op;osSPh628?=R% z8v|x?aW+@X9%hE-7}al%`0RJkm(Zxsz2Fk}qC(&WNAmopgjK(ghNF?5s0oY$kS2ex zMhB$rU2+{cq-fxrEs*+J^4TRk8v`EBWy{eGl;Ryo75CgzR4-lS4($pg73 znR;}qSJZ4`gA94H)iSHYo8Q`~rn_RiwJAcu;K=o*K~|f43U{_CSJ~pNt?%4fMj^sQ z=t2-V>9BZfv~}k8&S=N_WZSSHRK7o2rnZ5U0HAEk@PbTz|8u+1`9zvk6uftXk=5>) z!yKx@q?h2hw6xkujl8P>zTi;JEota8-xdQO(SfmMD8uOi?cBzK(iGCpYKSSBjpr1h zc<+#YaDIw!1<|ACCD!SMRjbI%YUp5AvZmqiALxo;t=S=C<%Tep>~>$1(g<)kh@%es9)RHUPII+A+j)_^)-O4K@=T+Uq!j#im^ zi;2oU2<*NUVxnPym1?Kh;YapB@C0B*UXukhognV{buCiCw|Q|23_pHtI~3%>G$4+2 zkHjNtqdYcIB}9bsBxq_N9H=08FDR#win#Ox+FlM$dM=IHfVOJqEUQ$Dyh}g8_j9wH z^yv8;9YPMnp}w-L@^lXA!aBiEPpV`}r}104LV_%0=Jr&di@B?1;s!6)GUwN_@18=5 z=)5knRZv_)ZJ~0Wb1l2l+wk!@*TtzGgQ>2b&X~D!BbII5&l$9-`2(S}=f`Jy1Z1Ry zamg+JluoBxR}I!UQ}b_d2exgEU9;7X=qgQUv?#b5JltOxKQ$O0>N^ASq$MHS{8}XF z{6U$+{EW{=wLwqw=t}YnvK=Vhm`XpA-!O?iku5iv%qgT2rs!LWn7^8DP5Mt=Jv8XtplP9+SHDV8CSx7XIk zgbe*lAkOS z){VFSXMuTsi#J*3X$^QX0dwY5ISdh1>+U7#P}^7_!%CTE9LEY?k}Ap)k$ zYN{==x1nSrm9pg(&HAF07yCy##Y*dA`j>|50{(!yN9EqYT?zNDxYkYy9B0q`OWJzf z3QXCEd?aL*eE-swr2Drp4=6pTa}=`Vlmh_L@a75olGe!Wm91L2&x7*rpI;eK=!G_i zY$JPp+lKnp<{tgtGV%9zth=-L&qy z1n>4){@gf6se5RvYpaZbsSfo*pcca=K^F$i-+Lep>NY?PX<&c1htmhNls80mY;4`moWtv`+l znkH)$*+^@)#WB%0vB59v>>9PLb|9Fha1%fjQlJy!H`60Ble9G`rwgDS=|w;($E$iZ z@tX*4Z6w&_5a(sHElVb#6$~D){u@{W4A?-v91u0=ow{r;0C<>yugiToO`*e($YC{5 z>X!0joEwoW1t*vdtj}8gBh${Ph}d1+$#zS*Nk6Yev{F~A-#mp+udXw=vlZvi_Qs9w z94&mcOD+vVc2>nvC!FLVkep}R7pT;Z16=4TEM#-?az~KpI~Bkb(0AXp#HAulb#se@Y@b>V9%b{Aho%zbkq^~81LO8X@Q@U?RZcn zCLr=vhyq_ylJrPu>)Wx#P$|fV2+;N9?|g8}pXaCOy{_x5MK8_N#e(S+X>)m4I^B81 zT!0S8=}*#AIW?<0ioVkN9&Vs=}?shZRe_^P_Ze9v+XPbRj7*}9Jy%I^!&=lU*S6iud_@O70 zmsDHUB0L9@5|zhlWMFXa{(&(NnjOn_DtC_2X&}SltK| zQmeQ_ceva4748ugny?*-VOCQfIIJACzub#FmKCZ7bCK-o*72%B|3BYnj#R5iP4HXd zmWt&>R`oqncuDNZ>DLf9T|JMXVKZt%rX8nFdP#o+6I7i-8{Rpg?R}YNWdG84yX6fm zFSl-pdpu5=2&U2}C#v`DodQ`U{;=Dns~@9gt%4PH=fmbUcgT-RHHWzNw!v9DF74IS zzC0GwE z!DHrW`njzG#Rk_sE_T{_`~6Ft#)Wd}c`E>L=);U@tT4fIxc%FnN>!}r>~%liu!cHm zFj^hvXD|PupHxaMgCnm@e3ZDM=fLfn^+Cb)Uc`AVm@KNXYb)|8i3GKKKe8^(DM}1n zmuc$i{vsk^oS7zdcM)_CMqMwi*1y3=Bfn8GUO}b?#ffq4g?ooFlSCFuV6JQ~>^MxF z?Q-qu-0hX4EM4^-@p@8C6yqZ^_RG0??`{yTHaV332)u>ak{Z_IOtIg@m=GMC=v!G3 z68(x(V1GrE;kKNggRetU*U1L|(Wku%7 z5*}v};2P{77FxQ=eH6%S+ap!L4YS27Se#GSekXBNAtmU}+@nwc@AZw4CWxv-{r!U+i zWg@i0`1O^m_CzM+FWIRHr7;;Pq%t)*p;3J5mnOl52+gam&s3S63tmq!=yT;4K5T(u z2id#3rZQ1xK$?B|pS?A!SF+n(L0AjmdVp)T&=ZB&)xp7=&j%|92J{+*JfjbIoH2vM zO};lrb#x+{q$)chiF6e-SGuj-%&4usU(xjL6ln z8388rz!V>t1Nv*5uLgi9ZA*uN6oi3tU>?cK%q8)w`CQRZ(Z$o!lX1k+Ls~AC@8Bk- z#zp5lNqywr7G3Nn5?}6K_Fn2Grtr;A0z9mqPRJRUKMlNL!4r-)TV%;BU((ZnfYG% zi(K9Ei(-cR#iU}=F)8jeCh@r@MibkIjAGJ7DPr-^UF07c7-#rK92s6P;MOW%j!?d6 zLSmz3V269QQa5(}=+2l80cOkY`Ishr!a5zCxUuf;az_z|mb_Fh>y2SHAu=1p_@G2a z$NrquSoHdR&VG3?t$1XdXJijM67X#=McNU5MHkzL`C_NtRREapa}$H{gmGg2-&G#* zGJN@q+6~`-&g2bV8^c9Ikv;bdEvFv>8D~OeyxgUtn+HnYuRtE1FR%l3#t z+&8DMC^zg78j_Dp z%}EhOib&d$Zz5#ofr8=)bvy&zh+TCk9hr!A z+fw8frb7tysXXoONGFx!(n3-s3}LCnuF*+*ifUn?4 z)1h1Ak@IiNd*1%|n<+pBIyG-J0-S`MR1!X?Xpid!l0XPDE#w89KT@0dEt=t*ZwK+m zh+cG1Tgq5321PG#Z`!jn*3}I=wPvS>=W7{R@@o(27zwr#xbi>UArHi>B_$@0Kfyg zo#@&E_<{BpZUJX>AC7@sssUbSJJpd9%(Q-j;QRw8KE-qTo{6ah@p(I_U3hu>A_mQ( z)<_@(%Xe$22Ti)$X?ol@8%X;Ykk$AdnU71uCdvD-_V!y*Q$vjMI~e8QAd-=ZEFC6i ziZKiKYXFdfzKVqu2YOLgOM!>Rb*6%^oe@{**eKrChbtfIcUEDx?hx!Np<*_`q!v6X)E}^|5FK#%a?lO08H&dRR7tScA<9+wQ;deeb?zezR&J6BY4NgRe5ZQy9nCs@u__=0cy zRHwrzt(hnS5}8$~G?eb(0935lzMxFEuLqq5$oFjfe|_-|pn48a@!T<(X=$x4EYBpN z&ZOZ-;rXbH+|hIBLMo}Sg3}<*Te{v8rr+0`d^mQmYM<1z_cLkr}jI#sXpgiK>aixKtzXP2X6&b(QE=m>1v7&gea&8DZ+rx1){(+ zU2#ErJy2g%ADqSW=E~y z-H0r$Z=_grzhn)qm|1;^Wca7#0g3`pu7~Yl-2PCuCiHwxz*yxYY7zb@mJm{)94HZ8 z1XK79Mz|qvJE?*Ut^zNlb8D$40+=+ipF~Q^I`ZLCB1>649*{^lnH%tf9!ELbl#rFM z_s*5wox)ulRs!;6DvyKr_QsLto$RRYkP04g&S5dZty7HTEcr92_AAwMtceQH0_@55 zOReK^*_v{=?gShi*tnzjl3V>_%-WwI{)bt9&;i(t1_}-+w9a7RY<|2}gD2-$Q`W$i z+2=afKCmiWZfK%lGvGRuXTs7+3lYd5k(pv>IKEX3wLZ2xL{l!dI0%cPL_j#dbs~KZ zN47T`?kopZ?y-j!WipEgyh8BkR0J&jk=dg2bzcI_1ru|CzVj@dg)q(Frv?PlHW z#bpEYJDb!<^XEBzf4zkeoVz{K_ikO?6@~||b)s|66~#m)d4mspvxnX>Uq3w$M|%)h z-BUoCE+*hcH#ZatyHjB{!707^uE~g#u!J9KghHRo^(E`{6%WJG^?AK3JTmzU0&O95 z>g;{h9(psG8p@Atp0bN%76iB-6D)Q&eR#)B8-I0qXiEPXv}BaeYp~(a3@e-(i;fLF z5ga#vodTrHA`X389zX;NM5MuiNeW~Ek10_43lNfTt%WmI=(chM@=52!pTQ}BANHAJ zhU!Iia=B6*R>bPXQ8(ar^;wFCUe-7g;<4!UUgV)n!jX%yy8V)Q1~&MCw*>saUpqOKwhHhka;7@ z_qv+1&bB5}{8OEgR~H%puK z+l*-dBu?4CANDPCtxv+KKRXjHkuz8>yc3{t=tKuY-7v&_1k{F3uOdv%Bc|RoCRYdm zY_=DLxRbr+_>ya*tRy*;oNCfG_o6o zYk~fIPz#E`R^cYq`&&-*jaJNQg~9n{Kv1k~(`Zp;F<7!Bu1NJ>Z4wVNz{+%+dd9dk zKqm1}X6A?4%BJ$Hz*)WKh*3N~O_^I3lqX>xD^=qfO+*L;8ML`gD28c~b~8M)@*h`I zVv_R&axVD6z$t-=yz0rqny}A8?q$?^&8flNo=ObxHW8cMcn^gue+wCtaG(x!TWKGB z#IupiB9Sj#9_^b*-Wa9@hbJ;=L71qSnOkzh{^{f$XP(aft$Oa1MO9RZ*1SFMgCUsMSyD4Pv6}<`0DHbe$hw??c(2WsIwey-$S=I1P$mD2Ry#5`d$#`0e%0Ggadnb6hCB9LYV%d)f( zxxW&tR3A@i_q?*%=~tPYQGDj7mudp8J{Hv;(SUXsm?OM-X~b`tqs4w&+9*;@CP)(5 zC~{Nbz;odu58?n^mo_sKlkgw28d*kIr=~mpX|`)e)(i&G?8Y(+bh|*6QAS{R&c;!O z24}P0h%_{HW2LhfhZjyWWxbl9&EtFyneP_ehEGsYv4(#6LLemLDytOSwWo_;HMh@r zrl@{(E^18NQPWo;k-p(G4&##^kR=pA; zB|c@lEM`jPt#~Ahr>=^|l+2k%vkb#?IiFBVjoKJ|`i;7?YE2sEnEsadt^D_Ny_?zsA<8;HGz!kJ+x!bv;3L!mVHKSCg@7tMQrdC^Y4L_gPAH_!cc||Ki8Zp z3(V&>$IJp#%&de;M2VUsDw}fM^d#2b&!L0Vd#-lCGIlaSfPI~^nkb>v$rG)4S?0~e zdk5n8=eE-~DO9zgLYAyDt}5Ajb|&xpJrD4})?D+uCY{{8<{A091l6L}8;Ei*Ww0w5 zlTAKxWQRw6{jjgi*cZdGjIG{7|JIxn?0?G%rFsGYsxcqxYvbDOzDHO zj$^nUdA*#UK=V%@qSG@eNH<)rY)zQZZE&Ib8`Pu;=e-@M%;NvkBwSd0>5FZkc<5+` z)eK`}MQU<0_2{4IrMy8>q(0Oc+_;A0EaP(5h^bG~_tH3%wNeTGua}GTL%C*3791p1#*oBUjUpla=kRDQB1^$+Kp%(q%qFD2ZBF}Nn+EaRgHy6F zg!0d&UAB&ZW^K%f5P6MZ(U)dXL%b9=lSmc=Km0+LoROTA=7neCHrx;aQ%1pKI6nQX z{&Cd`^BM<%M6zIYl!+vZJ%S@M{6`*1Ep*?N#d54h@hP5XK#^QEnami*27Op>-k+Bo z>p9c=MgMRBvh@m_ewVYnVKYQNfg6E!hi~|7&uHZ&Va7IV97i5-L0(vZWq%L6K0g^< zX`wbdW&O3I-x})|k)J~6ioRkgyFRlT7*G8#+~m>Q7_wMng!8u{2Q@k+{ioAa~2uj`9DO$ zpYs1=I3~Z9<{+bPsC_4^*_Kyld@MvK0gW|W8O|Y-|D43ltSNoWez~2L*>&ax%@TeY zIKgi_8!U0(%eFhle|Rn13zhetCOeo9T6z6Z5T4Jkz_uG`C449xj~T?xxBTm7G3wtu zw0Wm@RWh0H%ctNWh%ENXLQ0PH;5oRA<{HG}?kV{H(#-hbjdNL^zxC;6C->qqaR0pO zj(DF^bjF+hOYypyu+klF;s5HevrP9HRLXfT)e+qq$4QnKHX{(HJZ)1uirt^$-lAGl zr~OY|KlU?1f2v8~oFwKFJAPwT?DLvRNF3k2WfJ;c_d6u-@V?uYGoZ`>Wk8z09wimX z!2oehXiko|81;WL(u^d>L72%baGucb`N$?=Mu2=y2L0Q{Xz+_Hne$}aPCr#PZQwR? zryDa*dYfnJBFktaWLJy4=@p6pEq=b|fcs3_k9@7DzP~DOMG-Jkg5k7{#?iae(1UtMH)7?6b`h=PR>gk|*=Vza^T?vT z%cQOP)2|P;BGvGg5(&@3D zNcu-Qa&Zf`oBI*qh^2*txB|KJz1Uz$c3cv?&8e;=Zn#`)mChe^vko;8J)S_#xcNLH z_?|NQ^^-2n{G7^ddKvoG{&}ceHRAU!apj{q(=n~3_l;_4;4nu-NPaoSGoMDP!9l$8!)Z0?Z+CDtUy?$yq zU^8mvGwsA{u=Sf~VxI_NPZtTx>l%eOG2{*<$J9s7=4sOLVe6FaTs>e2rf{9Trn(c2 z4j5Kv&1$K9x;Jz3a@lbj&vqw;ch0`k`a%osRFx>3Ca#O7Gkt0sZE|F@tXn&4)_83| z${{Qxv%#~{J_-YT&~-P7c3cVVWd0jmCsSI02h{( zi{NmPCDbb@2cDV61ZQQpN2Ei>J~QHyH4i~a3lo(EQb>BoYD^MB@9T5bZ{3xh1LlnE z_VJumTLo)D(nwh0tFgil-1F73;84vf2qml)cvgN*DOhcr5{qK1vaKvmEbe|p7Nw9l zbL!b)-_c1@(^-Qa>-y|z3pMRL?`xZ>q+^+(6s}}B< zPxz&1g&Bh43gw8TA!H~B69`i(bbC!ApiZDh9X3ZP#DQ&qNTB!SKaMk^F;+MXo=G8S zkuro|A7OU*Qq#3F@vTT1j2^NDA0~a<$o!NyaXqk_e;jx-CRG)b_{#zX;uN z*sbwn`?Dgna)SA-Ru?1A+tl0u(VesnmcLFU!Pd*KO~{m%0P>a#5-*}5n^{Lj?NUa= ze>A)e?!wuR7MziCl!R=5K-PK+WKzM_gC6R@z=Q9iuj?}1s}y{_DGGF)Z5N)zGQO#l zynV_5S;lw)g*#r>Mb^TT&jm@w{Kg4^6vO9V(;H#0=g{|NTB*2Uv6W9yT}S9E)`wn$ zA;ai8#~{|HsL3Ao3~Zt}Fwhrbt&^xXf&;5Y=G=AaSZlp-=Cj5^C}Y0v1SZT*wq zg%MiVX*J5I0=U-J{-Cx53HRF4{>U(f)U?YH&eib1M*I6eR3PByDv7=em(&kbU(}Mo z&k#e9rb{1whpNF(-`du3ugI{eJ_FJmYz(cWdL2AD^Ymw7#Nv56s`@4b0RuvN-|~nt zH98wzu4YJlu@`JrWC;Fzi<;jw@anmCH+u3d9CwfkstUpX{-9W#Tp!Y0D(xi!p2{V#B*~UxIVv&DObyO5*MAcRvk8I*B&v{tayg!UzIQ+{ zE3ERYoYM`H5>O-C+B+Bw z;h&P=>$^h8_wD=qg2M|`Hy+k?z9y>()<9jYTuVTR*eiF!6@dZm{k1*nn z$N(Y;f4O`npiQ&SjjYI|&`~(&{#nT6Y$0sncyVN4KfC8{H|%d3@1siOunEUUlMdp9 z66d4efl&#p!4<5nh0_cIJ_;Iy+ki#1<#%h+bnQe*9}TOo;Az$9OGDl3Q)t6p{X7T} zor%B{MpRW4rdexo#@f+H>jXmOdSO*^NHDiL*0jo32fs6N*~v})5_t>NOUhGS?hlaN zFNcfR`iMh%-RUbvNub_hy!O;tbAk)68Wql|y#vz}(InzwL&4mK44slxIl-~l!Vp`I zmX=ZykEx&6PN=Y^u;tV$1u3Pns!RPpoc2D+6ryRtTS63;Z*awP!u ztA8}f)oBPg_E#-ZS_%_ax}CZ}<{zZ!ur$?KGK>V?D}1^UDutS=g-pNz1m`td%|(`$ zTqALZst6ko=cLP_7)*^K-A5*d;9gmHvlE6 z66;uuO2q7hyMTMC5FE~u@0m3vm%u2Syd4Q^?~jU6tA3sHs9!QkLQN) zZ{iNu|7yN-ds*DcgzAhI&nkME8VKkqHAB)Ox-R>LfKK%rh*ohhN9UHmTVTL=q1KjFuE;3Tz{HlhzF?S&dW5g$z!fP1ZSe zb~UL>Wo?}9dwIydLd;`t9^JzOVO{N7hWc2%svE-`n>5LTSz8!~grw+w!sjJGKKDk$ z98C;BB5Kr4wsN_tE`#HZ;o{T-zk1w{N1lp&+dwaoh(WfO0xE(1NGP6>RZ{To`3$J( zD%Q5b8osI7<3$)Eekq2vas5NE(;yp70&YOO9-G!$lWPqk)~SA$GpUwg{KjZ|;Etnl zmcD~If*k{OgXB?8n%r7~0E=>*+Kl5O!teVgqZaAbMrJ?=TulM<5x{1Hb7-Fu_-Ogm>LHP&qqCJ@n6 zU521Mr`L`2H^%bnKjp3*RFDTNh{y2{^yBc1%JSTj<)XATJa(2Vbq%7a<8@JTm*GH^ zNc_5rB7x8^t5#%@O1gSKkW}0{t&=ttj(Q8@bYS%h!uTo_2yu)%3Ub%e8*Rvc&v}o$ zH)@rZ1DhaLm$Xd+v^n0vB`b_1&HiP9>m>w--cKDmUjih@kd3uH@ga zAm!TD2CGC0SQNmvZ{LJK(%t8qkaeA9%nf8G(Bg-u+mb}(Q{;9==(pv&#wb0_@rvbY z4%z3PV=mIqAPV03-XDu^3HTyDe)$;o9`4%BQ3LTdvWzJ+=or^m;@RI&^}}SVg)NmT zPAmsBq}-`I?mH>#CDJ*uJR}i1+8;q9!|rqLp}l*jEH0;V>y-3O{4?3zE~P(%UB-bG zOTltsxCf4jX@|Ri1s4yZM9C%PGH^m%hu#X6IG=B8a`29$Bi!Ga zH=`P)5cj_1F-U23W<_mCZLw|weX!@w}?ruW+Cdv0I1EksNU{Pa#rz*W3Y5h9QbL zjtBc9L&%e*W{pk)DDcHMyh(i(Np9l%rLP^r4?G;b_(#G-QizWzAc*J?HXIifC}-T) zNLm!YVG+NFj$y?5IH$Cc!8OI3?GsmprxIlkRFCJk%SeE@ADZ=M&E$LU-I2EMA92-EwR<|GlI(Jc&63* zz?sNHQnLw(1i3)Aj!))e#_NwOn5vDNdmPQuIvD94QS+%Bv1Q8|MBpFbtA?8y>)@di zviwqa_$30%)l1j5=K(3_Ed1}G3osBNLQ`ONdo}6*KjF97Iu?2za=BN9w!aEAGxg$N z!#1^!%=%ca3qTDQ7ZScg$qvlO8HyKl!)r@PBkF1(^vm#Ygi_fFi#S1u;$N)rgW5j8 zKwcB1y7{)Kha$_&Axfo$CO02iH`)Ex{`*Gq1!q%DTLB?Br!YGP}y zCMvjL|HA0htIpilgi9&dZ|Pb*=U8s)-mBA&dOM(w2EpM5Q%m7$O_%JYdz4{hi*4o_ zlpLEfP;O?V?-xGjNb1^gG}vR5^L_iT8DgzjtSDDxb?8gfSz~=q(6A1{2w7|Uxrwum z7yQ30E#TQ%Et6S+S9PuBO@sB2VaI4<)ss68jcpKZ3=sT08DOA+*QBf4sw@}l$1AL) zREYU2xLyv5(MbN-c>{m@O(IM|pV`#7Yx`Laj;p@0&Ru4hDi4f@bnIjGC~OS(ECcJ& zZ0G4Mp)+H>*=uFq65Mixds#+sS0q`p>U(`cHuf=q}N<0!*VNF7c{o-4r#YCJUtz55lHN zQHrlj6(~_Rr^F6SIX>jMB-?@CP_P8$`FW#@7^vU5fXpSTEzv%talZveWkAWKN6IM* z5~)~y6%b4X!4&CG|XniD(654lo9vA9c?u`A~l&j2F9%Y;RPG%^^ zD+S`6y9oFCr&0n|KO+Gv$@r3R`|pY`P8E6!vP7zlJBhsZU6$c|$zHDt-Pd_QEeAcUrv8rs+-Xim8fa=9$1 zP6Q4sXroA+6onQCjDvl3PO;{uay{MsjcOVtBpbq9xUO}WKE;Vywu;o@m=`uI^pempF?qZX#`F=JDc?V|_m;nxL@NjLuF^5| zNz5_<-i0HM!@b(T6MsMW|0x~>fRq@Y=$o{I*Qt_mfBfuRy*s{hjPSCf6$Jlh{Gd`l z|7*{8g)JFUR}l;hNX4BE7&7--i(Iw;O59BzhEcPZY>}ZQP}K+i1_|*5S7il|3}^vs ztrheIdfci`<$-(L#@5l7v9A$Gxms8YEG&v&HWwg1sL0Zv-Dk1uA(T&fVWH65D8#!1 zi&p+d7j#b$Wf&26HR~K9@J^}2;f6G!2LQIvYuq6HI1T%KT0~T^gglC~SCSmYWvJ__ zR~KkMpC#aSoDxmCbQe!PxRMpyZmhPEb#jNX^7F+ebOk62-|&dsczlOGS|12~*4iju z4H^XeYqbpJE(LOGad0_moYN$)$((g@_&&q=6C5CZumTBJ+I9bsF?Va*Tl<|z-0)V5 zzK15voJ{pL{CF3D8FeaN0L`GozL@m6C(03!bagy%ANI|4joG5}(e#+N&PAuOXUNv( zyBM#%Yqrva_q$m@rVP8>D`GdUTZ?-9$IfAY8(cmKE(eHJSj^($x(~1GcI(+eepEAA z>~py5)ij2r_k_=%q@%2WjUq>G0AlhhcF{$*i$9J|lqe`WS_aD}jaC*~8xAtai(V{0 z!CH2#)JgJ+es`N)VuJa7i^%$SXPeiDt9Sc+#^@tN9AqP)Tv; z?DOizFz&AY6B2;JV6~#Bs;`uy1fA+*y>Gq&`fi<7N(5#ebF;?Qj*HmeoP2DAkGajICBB2Vh8#%XqlxO+nyw_lKI6{HzHh@& z{rC3fAQ<2WQJa&&vfx32!vpHBfe&Z|xf`Hx`dHz`stZ`tb_69HfZvgoq25|$kKuul z`Si5uj--~=BCr`fXDGfc zZ8#@|9#*BFlHCl@&-SfW6o)g?>0g7=I)S@4PE2slQLF(K^zoX64qWT}1CjXr)YVDI z3JDV$AX(CAUPToEupjGkvI%6i<~M$V3UgkTkdQ!IZe zB`;ig*=Hz8bKgW0x2er^af~=k;nNj~`5!gk?O8-tjqAx-D9BNLUDaYcvWB zt@b0)#^Z?yn@gvQN7@D|#`JECDdJ=+vP!Uq@H!Bf;$BZz@vwkH^PbTRylg?{v;7J_s!gve38*_k{Xc_OUw0>*Z95}tGLw7ZJq;Ie3-&X#j0OrK($4TB=aJ5 znZLUzSLC@nMy$9hHlxv^sMor-@L92qdUPnVn58r0OP@`6Mmc+t!JfD&&LAfyZl0w3 z4r`Hf=&~Q(1G>j`6v-o`VunemM7wD~X~XjxMr2Lp)*%t)7Uc6J5o;V8aNWZyj89oQ z`IhCu0&G9l*F7-^jyN_%OrX~uySTRJYp1$iRhXKGQPNzE%~U63(;;kf`%ih*Vs*iu zL+%pOAbn=hA*npJT>IX2FuV+OYp0(7gMnLbg&PO#JX^rxw?YfKuSN2Ub`OjoyWOES zvbvcsbc#UffzBjPs#I_w^7OO*l*8JEO}kKMkEmM=Ce&K6^`v~B2gZ2eoLX^DB}Aai~#V@ zo`qL#3t)x72l?MjT>PI&qk|(#uskk%;Cmle$UeX!EQ=UClsIZJ``m`SVoY@;r})Q! zQh#5N6QbS+cx!!o!*c!?#67p%2HdvkiHeMlAVsW4R?|kI3tyFfOS2C=MHEz{GJ*EE zC=+2*lxr5;0W3@StJ?1AT}81#*0Kg4;AyBO?j<*l!-71pO*ENKztuFLa|OZvUdoYz zlM}cL@bi^LgGf{`Bg_0Un&WzCRtKO09W2yTUQ0F2I6%!~x$bAu z7We1M%s?OP7On`=CrAphnO1TJ-RwC~tK;|Kx@Q*oGc2}6ZJf#YX`{wU^<$;-LL%%r zbXp`lV-o7-fTTK)dXS*0mK%{Jy+rkNu~1r-YgMP6Nvrr(lgpu1FX08^D{_4WoKN9t zl}EYRFre}GcIr2%yDIzbi$_@~prgdhm6#>AKNio`0!j4jKvU9X+nn-L5u0li2rE12 zfpMARjsoX98tMw_)oyJRypHHe8C179D10=1J8{=`)rAaRVj!-z?>)!2*#gR_4? zAM_}wjawVb{AcL%+I@rF?3t$Ut3*gYLPg+>gpRw-azXd{*#|n){Cvv`my8WP9ZePo z|EDos)<&3yY9!aQsj#fk47BPb9dcu8cQES95iMu}>;nU%1pdKy~y8{06iQI7SLY z19y@(P#(-wzFWpXnS{8$K2cE}2+)&q+-lQKCq;J}c$rCq#%)x1M`&%eztFDru1yO5 zw9`vfY2c~%pi^U4Xk2UM&=)J3%4#}Jb>M8~mQ;s*Ki$5qg;|wMNYz{_yoa)DW#zu= z(Xk;tM+M3Rc&e>w$u7a;jXH0N;=!odu1ag=$#YefX}mF=X{9hMvwzJFrZ`D!AIvD1 zPAmYtV>;Ffrq?u8bJT^h<~v=whz&1@6oxpE_f_7OV%>{ zT!REW!)07WPP1^JH*sNzW3rOVCgl)gR5-ZkTjZgq?#cBTWR)F{g_e^`0@ScFCuLdH zn>pbaQ$~Pp#=GXdjndez@9$}~6+_o&xpEScM6cT9aujIgGh4Man~~PvLoKdwpTmzo zR|;GrMkX9ZTbauWU{FNYMmPkMCPw?aBw%AI>swnRVm9|VAL6y`8mUAUb!Tta0t5#fm#MtUEI% zwr^jHRP=PmkE2DU8k;s(j@I zuTeCH6iq=CIxB1xZR8lfM?Q^GOLQSLcc4y2(Ut>Ax3`D%zvehs9iDF33t2+~GCU#`a}x9QPV1Z|Nok1|w&-MUhq za6UVRMd}Zk3`qY95#M&!UG!u}+STuL)vqamKwS%OPbER_XV2HIrz|wOUC(a0jS6GY zFEt&$nNdZtqF)Zxr6>y7r9i^9zE6fWL{-A!b)!&fMPd8iwOp9eMpfyFs#&(ziF+5& zBr$zLm#%;`)t{-TjPHLM{-E{~{0Y=ujI%jmWf)bx3pj7qyCYxplv#e*Sv2+R0C#ZM z(2$#4;B}XPBkZbnN%#&X8~re@-pQEM)2NPFq1<|EJ5C=?2Aj>>-8R~?+!NuXAEjb9 z))Cu=<#P3PXXOHt1xu<0Y6L#dKieKC#4gA5;f94`4Q;U z2gCp}GDhActaWS^G@ROe8w_SVGH_InAd&pg-VP{V( zp-1B9E7h9ddV1vAi|VX1N$nx8&G~|nGsoR`MNfoA)6so4$uFLbNB(aV8(>y7dN260 zGk}=y*c6p8WZ+q31R4>~&Q`6J-k2TRw7CjRhNE;dG&<(&A=GV=ny$x7k$^o}J_o}C zq6j;Oi-tqql~wMWqRN*)AhR?cfbCt<<38a3T>;|p%|7{DMUbVr=$reXked ztaFr1(=lfK_SMlEI)bL`on@#n8j(1LnAKVldr&$j&{bVe*2-3+t5y`4M{aXnLd&Yc zEYpZ3HoTvL&L3l}elw?S(lzT{>~jsvHzrU^YNb9dg>3y3v2s>q3H?A~t)UEID=$}` z>%H8LRoY6ZGlrR&<>lzQnXNi8;do|cNp>gXG)=-3NUKs)D2pC&ZdgpT0T3Fk7>%hr zx6mzUqkO#UghYu^UFCKFmqC|F6F%jd6(WH|S3%lX5>*1Ea;dK7UR|7@NS!BGGaSFf zSRM-g>t+ThnP`9CrEbd4t!I+ICmm2OjYXuPRb~w`bn#U=#F#4tmK9Q(gw=;&CICx< z#W|s3lPtrX-a9PVnJ{1)QnW~fF37Mcn4$#!&A!qcQOLg}^qK{J-j|w?I%F@5E%9xj z>f&*GfN-HHjfi@h^}#81WoFebnO7~E>JdkAnYG^~QTE>)z8(pzOe-1v7XlXUCsKm( zWM6s+)SF0YQT$)cDNmb1j-tTWHZY2v2{1b$yz=H};9`LExKRSGFQEvmGoq#)8SGVeD7yuUJm~NZEbyWs1XdZ+r(VsAWq0 ztW>0gJ7(f{xJgBF<_eXUG^Ih~CnXavXndEMvNWuYpauwSI@ z9^4(0(v6x_uDv=nH7nci2v>`^rFupHO@ChWj~h~e@tNCiOoc48p*1acRNS|tz6b|L z!S3q|DExWY7r{{49~#=X%R=DQTH>i+Si4@LIdJv4r2L+5i6$#mN*cvfJyRsNZU4)- z2Z{@bWsI9u0XmS+tk*b^6_&*#QT@{`!zf}bvH`_o!BH-2eAxE>miiKO1mME9k4o5O ztXYZ*-CH5(5k>-=(79}5mE6Ni!7eTwZ;*&XN(+XHcoj{2(ki-J$$8~-~? zcmM~!aKeZg4@;4wujTjta^9ztxIkHDa1OZ2a4e(;KNu=CdS@iRvX)%)A47>yy<&%b zNI5lIw@=$s6aFzc=fnZi2;UlI!lu?Z%(1+y2ds#bV06^f|e={0DfN@x}T2 z6nyR19Kn%eCeA1y6(FhNNbXdzysuDMfgD&FmyQGqnZeAhIY1%>qjacf)LQ@_0Ewm$82L|*!{Fzk8X}!e*^=$8H85XS6hF7 zp5osG!WrWY;(qzIg&DoZrX}LaFeJs}+5AM`;8B<{6IswEo-skTd)))dUd)#h<6C4v zJY~LEX^fG{)-jTnnGS=9*3F$1=3+;+X8}kODoPjOjjKW(DSCt((yS2?QhC40GU}anM*FnP5II#pRib>avUs z{w8#!XBZXMwm5lyT8A7 zChojVFv<*WZq0GS9d!On(IMs-%O`OQ2a$3DjiFp9r14)Ia2d&m8qU0GS3L5>*o(@{ zTP5S+P`g<%`S$$jZ3#`+_qzw>w@>ifu^nNNm*;Yt|2R5CquBr1&}7a<&%H1$%sO!= z|4k0%*7KGfds-VPqK|@)IVu2XjJZw{jj9#gB-Zl^>;9K&GQ(bd-s+er9FUoR^G-0mol-&|JF0quV7K;Tz^X9abgivCN|!{$*jcbNwv9~ zmwFpSV^Qu3%rxIsr=R4_^AjRL1jt85q= z(6@Yv3-LjZ0lYwWU`2>bn-<_W?Sp2GP`^q%4S4Z9%UqNwn%MThoFR@5eQU$7h~sV^ ze#{UiZ%;NF(he(4Y7Tg9^V|&;(RC*KcoG?3a-W13B~I(Jame0L^u@?v&?;{HPSX`3e2JndFqK{GTSL=rH8+XGYiHy9gM5H5{#V`kaCebCrUr?9mXsNpHb zvB2-HbI&sceeHbtuj>HMw!%!g`Gt6E>3q;n>ac9Bcoob4>l%sWKE5Owx1 z4{;%kd+oV-4UCv`mM71+LTrBDfP^ZZW@m1*pXfAHb}&B1`*@{Zk%U(4t^JLqaW2_E z5m;QT$8`o}F61(&OoE61l}MG^7d82&&GpPC!XHowG}^b-$)8o}&-{br)$0#6l3RYb z{-P38{$Fp^-$;y7j(*~~cq-BJQW4cUz;OK!qwl8HX^`7fd#?i}-cn}uhMVB<3+ zp+1#Gxo&vQ4)Pxt=cw|ICSkqj364Ey6vzz8T!udJG77Gf`^4S;%@JqXwEyMxHK}Nz z>3%bfG(@B3iw(!jB+Q`%+uc^Xl?wSL?&EN85XAL2yq>*?oc>!qZPJ`MO|iL~wNelFMIYM1ps%*IJ(CO*p5ZSj}gL}zix z*f-0zh_7-9#l*98@SXhz>zZfQ%*;P;3+Ddzd666Ma+iH{()>L{XlircC>1Yp>|&z% zcEAeJK6IL{zq&vRQb&{{Tm;d~isl(pb#sg}d_D>}`(jP7|AZ2OPUOoY2p`vt$)hQ9 z>_3JV)ImxI7mb%?LHjeyScPYgfALQAVy`X7|qp?|vo z*%hoaKnouXm$Jt6%iOxC`F3n+CH!j?>D{D`zU(WM1_%eC#?JiykQKPnEX$f^CE1m1 zS%bYdy}=d2Q=$qBXad1m7!0hWD7tnMAk_0VgaSTEx0GRQzi3eTua+xs*9$?{t$d-Omv0@R|Ct=ES;;#m_WmwjhAjYjW}>t%<4pb=9BFYKANSj%mwbU#-tGa?43G;73K`Q4Pg#UGm=nqe zKduLxKCn*i(CFk`DH9U?s4-SGU*>FR(EZIA7>T=jng((`UhDe@lr*Rc%n^tFg6r4Y zll!VoS*|a>MvcLLc)hMnL@U1g8k+^Yj^=gzk^8F7|BN1H<4FzKTqgP`mWbOWFO7T7P52lM|fHyz&m61_EQi+c`IsX+$U_gHo>H7`?yQ2MSYlC2wo}t8i^xoyr z^}(FyPZhP(Yu!b4UY2YzwUtl4iI1^2b#2DhUtos-+Ss86D}{-`;$^Y*%TH|^XZnNLHSr%=w27>l|>f)I1S(ZUX7_Q2BSc@?ye*lUmCS$% z7%e+2w+|M|+RFz*w2+FjTw%?uZ3deWvXxcJ;*lUi*8i4XQR#QMJYCWU+*;KfmRtiQ z)w8fGP$&zRqcUWq=HyD&9^lgs>u|Ef_e=#sF>FizW~8c{W|h=?cMVdiv@VA`sO=hD zrkKvo-9VWEp>>(UebnEPU!i&igd8v@x45t-O&P`Zr^DK~m8fg)J9aH>81My0JBfC^ zr|RX)_z>pGN=ct@Qisfz4W}tpX-8~tgg=}Iz+K~CUNxla8SCp6VpDD_}?5 z%DzV@y!Vj@2r|{Yt-V*@^L2l=uLKur6ZpP!*{<%MJNZ z%_tz=6mTTpA7sUcH4lK+)^;4+`N_`l-HF)_woF_o%A-r$-htat^*Tl({Q>+@i1bp=5`e7}L;px?VspIq}z z&gSu~%RPv!;#{Lawp$vgBHFM<8I)F8YA%l<@|j^MTX^l2hw$JcXMwo2g8u- zf|)`fc17%N!yFfRTu*(`4Ra=q993&O*oTLS6riD1-HOP{r>XpVl#dCeDh&uFZE{p# zzHB%(9uL$rl!W;y>s-Y|r$U=1f61MIy_V%_(91**I}yt#%z+cu(EY9VMZpIKb03IV z{m6kAGe>@ud=j$d)b1WG{%7&!9KCIwHzl`~sB`w0f^M39qHaFErS&?uBl}|W-1uC8 zuWx4;ui+L~uTzdFrqc1Q`Z}X4-)H$}h7kyz{C4L}KZhrn9R5~&`<1um-S?V+pCEO1 zaqjGRYYn})-n$zTj|)!n~^Cb`pThrPVA!mN}*^KD-++ zbvBt)Z)@;DG6G?yfGm!sl|K)a2f)BQ|n~-ZNsrl0#gcSdo8#ykK1=CUnx`A?8-eq+M!Wl z1NT}&D+@QedXn-ziR>fz$W_7NPm>QAA$R&LNB0mNo!?^+y=C&P@ca-0RV{y zNz6UskbFE`qJ)>s2i-SB!W&W$A2Zu7b1IflIJhTq&XlPzAUhlcnOi9dh!m62h(&O1 zGgq5R^jEx)dBdNsZ~>l?Bh%rhHf~-FXCn^#JR54IScb{wCCrK>N0tD39=K7yy zp(pAi#zliqq{Z(0V(>2FLVl#Md9e~MW?y`%{{KcyL6b*Hb1QlXl*+v6d3zm+X9sYP>Kfy-9q7o(}Z~!m@LlvPyCeaNVm~ zq$n4$bXIbk5Th~X>u|pZ1SAqiaNT94o>Xs#KcZc?EJ?701zMv0Fev;z+?b5 zApigX01a<{oA?`SHdDhEYHMbUBJdY#V>2jw+p*c+w)VDJHi}LZ*dPbSGmq9&aYftpN#7O0LaXl(E-3WoNuS=FJ0*Px`7uWB=I+AC#}Gw ziQ1qXj!Y9-R|<5liwCw_kKi>XDj_zAF|WzXY8y=e@^ORL0b?F-ozhA~_BLoU){SNpkbh z^Pl1`M$$Qy$hb*7Yl6000000096@{S@t7 zRD!6dzT%+JSpWb4000000002|0|}N)G)c!&vqDbEnaMd6F_MGQg8AbYPp!;N#i#SI1!!78TA1g9Nnk03=7dPU+@Y#q{GZU;yPZjrebaP>6?m*7R{5`#lc`>hU) z)Qlh-Wg~%_ET-WX)2UE(y$S)L1BTAGlHmMJz~cdU(@)a5xmld9Ri1tR#d z=&p%QvsChSPU)(g-Nfe?V-C&Z)zbuSjOx-jaf#(D&yb-lXY3a5aM`Ix!%m!>C2V zc{y57Z;S~_d3umJTkZ!aByNIvPFYu*NE_j-+d&=hm^^VPrO4TV*5NkFk@z+*T6c*` zd70C!kI}_-V>MhmGP>F2Ip9{Q7?C9=h<%+kE3FQ+sF7dgP4_JyHJeq8ur)eloobCX z5QN_=+$TVGvmlpQOW+Orn^m5g*1U{7!A_-xJ=_HH+#J)ugv_>-k#B#wCwrL4CN5eu7FL%NQa~qT_V<`QO`5ICQd`PuW?CI+0VTKUfKN~a8#$p} z<-%tP!R5IpCE!ccCX(mcbw$g;yh)w3`vSzdDP86Ab~M{)(siCE>+UhOzdDr4L-eOwzmvQ9kg45y9iT~`4)MeGGQyaJH|6+6xo(C6;0mLNmg5`l^0Qn z$*8u>qN16utSBQ!W57XO6Ff#3X+pE^Ft!Ix$b`|+R6lM`-uaG2RD_aBcPp~7Co9|9 z(W*)rDnU^ta659ZBHf$z*@TswQFUapQqqZug1=Hc9gb>nj><$=$HGJ;lF=4V8Vb=! zFI>F#Q3#fe=+AM{EE~<1V^MD{$;S~yE{E2RN4PBx$Bs!$7TpQkVJ;D)Q5S%GC-RKP zTpBGr?&8lans<|^~YN8cp1rzbEC=Q z?1e{!@mYl)d7c>AsOeev%#e`qz^(&EzI!3g-d8$=z6pYa=0(I<=$IGg18c;~S^3a(z~_KA zI>5Is;#zwjh0ioTwXNx+w6Xj}5}WX4?n1B<^OVRmN_ulS(k3bVMwU}VLmrck`A{k( z^rT}%KU|sKGesQtW=X0(F*Qdv!28Kue7eiHv!1j65zkNOxq!j_nG}Z+{AnBx(~i6B zMv%h!C)CJuImYQ=J1{4U{h+$yJpWC59(@wYfhUu{mKY=eHqT9*x_R(;RCbKX!b`G0 z_wAwiv`ND$5$-wsw)V(2)Hv8eA}yWCi*zZUuXJ7Yfaf>hdEoLh+(sllGz}L$AUkvJSW@Q{2isn?y%G#Qc3eO`)?FfC`~vi~}4FuBj`LzV^yUy03(kiGz| zAYeo}#lx3ARzM8$wg^)cQk%4|#(Wl=5SMp-jk-MFP*5dwTY9*#xL6awKHzHE*n&ms zIZm~lXbNGIBg(y^Yp1wd;=3a5Gkg#E!H@v7E@3~LqiZ$uk)Vdh7K+fHbqfpqXSK=6g6)Wqh<$U6}7jZL`4zAN{!kbY6PXViz-TDruL4iS~X&CwKs{7 z#Fpp&_WpwR+w}*|<2aA=D*Jn#1=!4yYo*rqEe0)d1yb2OrzT(%QUh*xMU1T)6ZkHgWkw*3H-=${B`PoU~5&t z*(F2zA3)_3-#avmwV6=c=#MO&$Ougd4MILIwb zH9Vhx+>n0PgHF22z7h-X8JE(KGx(X?ZOdDx#kt3yX_QF5M-2_&HFi99$06wsGiw=7 zfbTmdw{h`Ddb!7Zwyp%F~qQ50CuJ1k6LCz<#a88=LRpVrWLwD{4BUS zRhfzg-W_I${A^^%x4y>ha0cKT%Bdb?Daew)y>Al>4Kcj2rnYX%B#nQBOWm3^M>*wVK+ocA2 zDV6s8LZ*9DdhY5GVyePe-!|=N#euyGyxxG3&91~cRhT&yyvJ2Zv(P-_aMU6EZ*kx^@B z_r!~T$NruLJ?U?SG$oM-Y!NBWA9_`Ww{9q-u}Z(l6N&bPI)SS$8)2SnGn&Uo`<|ha zE+?3V-kRt`xXi{*kr}|O7ptOBr7t|^YBoIR^}>=m>-v61k8emR8-)N%l}4^DB05iS zfx;V&j3pl5x!7@%NGxR&KUP*i%tn{*-=9*n)t_u^dSc>kB>X-U6Y-KnbsX4bo@ zARXpqm4?sj=-PLe$*(3#ThM$lZ-(*kq0k@E!cbj3$u{=4cgtiE$3b!p8+P5hG5wu~9>_4{k$?b9PSofv&db!P$603OLt-G3yf zeVZPY{<~@?HbbH=7|U3KjIIF4Z_{OA#_~R+T;B~E#ko-CtMxyH$pcRgZ7`6eXMaNGhG>aeq;veS)?lc>$R9E2>9A+eNk z+1nwMY1@B9OQZ3Y6JuC)&F=$@b=#!D(+6c218F+Yz^B*<%#rSxKaJ)>XJM_suxQ0U zBGy7^ZYOkm3bzu!!c^L;D5bSA?wQ^^(h%nmKfH`%t>kY8*;08&XyTpegnK)T=J6Fz z>9*E&hm3i3?3iVkhg*88Kh*kR4Mocpm_brpL48O;kBXwiIc21tXyp`3>Cb}B+DDP* zw4S^CDd2MJwD*AAgwCoL-d;%*HjE^9zasCK$0j;Vvte2@Hc_x!yfrgN%uVP1VDk*w zsj5BAtem0h%-1*dM#@VA>b58z)k2bXyAY!GPtL=r{4q$Oj$Xd+0_cop0*Gy9EpYU}o`Khcqg(SR+Wo zSJor+L4TknS)*3xIt~nz(iWFK^IH=^i%isn{^eL7lf^m5kMJG+?!DaKtCKdj);d$) z@@%^4;VS9ey9Hru-#b))+V{!gXF1_`)`>p=03lMq1AoROkj9QzDd)UYu+X&R_r^II zi`BpE0P@RGQS;+~=m^F6MlVv{c+uZzy$shKB=HA0aZUnUmu}Z=<~aRb84yn;@~=G?`hst554OVMKLIoCu4` zHAsc8i<>ZNq>JSgw>}Z#7?+_v$D5dp`~4b2g?q&}zI<;?I7w4wsyI5JM9_?u2|R}{ znxAT_L^*trTkJgO<_XoZicQSUS0)MwBSo0)3Xq$@Y!6p|q^?F`J%<<7OClzFlJ+d< zENaJQ3bpT;VjZw&<35>TF>X?U8PFy5&=Zg9X|H|}!fSVQm4vAXX2bNn`1RulJJPI= z4dlDe|Gn#Hdt*kqFt*B7+-L%q;2pab8Dy;0q!l~c5!i6KG9ZWsEy{KX-VlD=N?s2 zEqnxHo7G7(R_xfU9_w;s;r^C-8)Nwxu(jIgMU!}tlghCNaWrW(-KjF(qq5|Wr3fb{ z>upQp5*CcfHc(cMT~3R^;+3?qfuS~UE*6bWKE-7*ck?5_}H;yJ|P6ilDMy2}Z25gyV!`A{xE_QXQ0hEnv4 zz#8M7;*e=bnrn+Bt)=hZlQk97y7(PeEd)ZP(;@#M=zy8z_R$_euyzKsBF9n}5tnul z&K+6WP+BD#E8DzL?C)P8ZdE*PP$*k5fx{a(Nl!zoVyeacI}NmqRc#0LEgX6|ZBI^` zP#=1Oefx>`1wc1mrNRBD2m5tph?KhgEd+SmB6Gj(PaA3x#vfde<#Yo5P}?4ebuk6O z>FI}3I&6B~S+#fp;1RnZ>^DM|lg8Af@t3sFw97eI#1|Jk6<`M1@Zq_02;6?~tm`R-a4DcSmFG*Uov0Dlc7lJna=%WJy*7 z+}Sgqzsa{qL_V3Gw~(FlhPO zz4~7m%G(M0HEn{%>!J~lFCmeo#R+Ye5AQv-H8_!{EabZi4ywh$p6&=~-vZ#Mmq|V& z#ktyThSxmQ=&PgLQ}SSZ$6(t&8??WFV!nd2!`LLk;=sQu^tI9A?6dZQC(mk6Uw*v9 z$U!B30xBoocK`q5|5@Y6KvQTU3y5#coZApGL!H%epP`u$7SToT6T~(gH zHwO)tvO3u~tymujYzp&yG|V`kz)3uomzlGlVCPHad;lV9T$0sZym5n{ch!P z`2f=M^-HD6qG`kA&I#Jg{9eBJPSE+7VN|g8Rijp!iKTBJn8b zH7~I_Knt>oD-QQH$Gp`p-ll540aH8Nd4xa_JGalGfsz|^AZ(xGKz4I*QQ|G@{t_rm zzsth^{WFZk(Jem%XktEEK9I*47v@P&Q`nGFbsjyzmb6UjGLkSections->Add("Section Name"); + + // Add new key and its value. + IniKey^ key = section->Keys->Add("Key Name", "Hello World"); + + // Read file's specific value. + Console::WriteLine(file->Sections["Section Name"]->Keys["Key Name"]->Value); +} + +void Create() +{ + // Create new file with default formatting. + IniFile^ file = gcnew IniFile(gcnew IniOptions()); + + // Add new content. + IniSection^ section = gcnew IniSection(file, IniSection::GlobalSectionName); + IniKey ^key = gcnew IniKey(file, "Key 1", "Value 1"); + file->Sections->Add(section); + section->Keys->Add(key); + + // Add new content. + file->Sections->Add("Section 2")->Keys->Add("Key 2", "Value 2"); + + // Add new content. + file->Sections->Add( + gcnew IniSection(file, "Section 3", + gcnew IniKey(file, "Key 3.1", "Value 3.1"), + gcnew IniKey(file, "Key 3.2", "Value 3.2"))); + + // Add new content. + Dictionary^ collection = gcnew Dictionary(); + collection->Add("Key 4.1", "Value 4.1"); + collection->Add("Key 4.2", "Value 4.2"); + file->Sections->Add( + gcnew IniSection(file, "Section 4", collection)); +} + +void Load() +{ + IniOptions^ options = gcnew IniOptions(); + IniFile^ iniFile = gcnew IniFile(options); + + // Load file from path. + iniFile->Load("..\\MadMilkman.Ini.Samples.Files\\Load Example.ini"); + + // Load file from stream. + Stream^ fileStream = File::OpenRead("..\\MadMilkman.Ini.Samples.Files\\Load Example.ini"); + try { iniFile->Load(fileStream); } + finally { delete fileStream; } + + // Load file's content from string. + String^ iniContent = "[Section 1]" + Environment::NewLine + + "Key 1.1 = Value 1.1" + Environment::NewLine + + "Key 1.2 = Value 1.2" + Environment::NewLine + + "Key 1.3 = Value 1.3" + Environment::NewLine + + "Key 1.4 = Value 1.4"; + iniFile->Load(gcnew StringReader(iniContent)); + + // Read file's content. + for each (IniSection^ section in iniFile->Sections) + { + Console::WriteLine("SECTION: {0}", section->Name); + for each (IniKey^ key in section->Keys) + { + Console::WriteLine("KEY: {0}, VALUE: {1}", key->Name, key->Value); + } + } +} + +void Style() +{ + IniFile^ file = gcnew IniFile(); + file->Sections->Add("Section 1")->Keys->Add("Key 1", "Value 1"); + file->Sections->Add("Section 2")->Keys->Add("Key 2", "Value 2"); + file->Sections->Add("Section 3")->Keys->Add("Key 3", "Value 3"); + + // Add leading comments. + file->Sections[0]->LeadingComment->Text = "Section 1 leading comment."; + file->Sections[0]->Keys[0]->LeadingComment->Text = "Key 1 leading comment."; + + // Add trailing comments. + file->Sections[1]->TrailingComment->Text = "Section 2 trailing comment->"; + file->Sections[1]->Keys[0]->TrailingComment->Text = "Key 2 trailing comment->"; + + // Add left space, indentation. + file->Sections[1]->LeftIndentation = 4; + file->Sections[1]->TrailingComment->LeftIndentation = 4; + file->Sections[1]->Keys[0]->LeftIndentation = 4; + file->Sections[1]->Keys[0]->TrailingComment->LeftIndentation = 4; + + // Add above space, empty lines. + file->Sections[2]->TrailingComment->EmptyLinesBefore = 2; +} + +void Save() +{ + IniOptions^ options = gcnew IniOptions(); + IniFile^ iniFile = gcnew IniFile(options); + iniFile->Sections->Add( + gcnew IniSection(iniFile, "Section 1", + gcnew IniKey(iniFile, "Key 1.1", "Value 1.1"), + gcnew IniKey(iniFile, "Key 1.2", "Value 1.2"), + gcnew IniKey(iniFile, "Key 1.3", "Value 1.3"), + gcnew IniKey(iniFile, "Key 1.4", "Value 1.4"))); + + // Save file to path. + iniFile->Save("..\\MadMilkman.Ini.Samples.Files\\Save Example.ini"); + + // Save file to stream. + Stream^ fileStream = File::Create("..\\MadMilkman.Ini.Samples.Files\\Save Example.ini"); + try { iniFile->Save(fileStream); } + finally { delete fileStream; } + + // Save file's content to string. + StringWriter^ contentWriter = gcnew StringWriter(); + iniFile->Save(contentWriter); + String^ iniContent = contentWriter->ToString(); + + Console::WriteLine(iniContent); +} + +void Encrypt() +{ + // Enable file's protection by providing an encryption password. + IniOptions^ options = gcnew IniOptions(); + options->EncryptionPassword = "M4dM1lkM4n.1n1"; + IniFile^ file = gcnew IniFile(options); + + IniSection^ section = file->Sections->Add("User's Account"); + section->Keys->Add("Username", "John Doe"); + section->Keys->Add("Password", "P@55\\/\\/0|2D"); + + // Save and encrypt the file. + file->Save("..\\MadMilkman.Ini.Samples.Files\\Encrypt Example.ini"); + + file->Sections->Clear(); + + // Load and dencrypt the file. + file->Load("..\\MadMilkman.Ini.Samples.Files\\Encrypt Example.ini"); + + Console::WriteLine("User Name: {0}", file->Sections[0]->Keys["Username"]->Value); + Console::WriteLine("Password: {0}", file->Sections[0]->Keys["Password"]->Value); +} + +void Compress() +{ + // Enable file's size reduction. + IniOptions^ options = gcnew IniOptions(); + options->Compression = true; + IniFile^ file = gcnew IniFile(options); + + for (int i = 1; i <= 100; i++) + { + file->Sections->Add("Section " + i)->Keys->Add("Key " + i, "Value " + i); + } + + // Save and compress the file. + file->Save("..\\MadMilkman.Ini.Samples.Files\\Compress Example.ini"); + + file->Sections->Clear(); + + // Load and decompress the file. + file->Load("..\\MadMilkman.Ini.Samples.Files\\Compress Example.ini"); + + Console::WriteLine(file->Sections->Count); +} + +void Custom() +{ + IniOptions^ options = gcnew IniOptions(); + options->CommentStarter = IniCommentStarter::Hash; + options->KeyDelimiter = IniKeyDelimiter::Colon; + options->KeySpaceAroundDelimiter = true; + options->SectionWrapper = IniSectionWrapper::CurlyBrackets; + options->Encoding = Encoding::UTF8; + IniFile^ file = gcnew IniFile(options); + + // Load file. + file->Load("..\\MadMilkman.Ini.Samples.Files\\Custom Example Input.ini"); + + // Change first section's fourth key's value. + file->Sections[0]->Keys[3]->Value = "NEW VALUE"; + + // Save file. + file->Save("..\\MadMilkman.Ini.Samples.Files\\Custom Example Output.ini"); +} + +void Copy() +{ + // Create new file. + IniFile^ file = gcnew IniFile(); + + // Add new content. + IniSection^ section = file->Sections->Add("Section"); + IniKey^ key = section->Keys->Add("Key"); + + // Add duplicate section. + file->Sections->Add(section->Copy()); + + // Add duplicate key. + section->Keys->Add(key->Copy()); + + // Create new file. + IniFile^ newFile = gcnew IniFile(gcnew IniOptions()); + + // Import first file's section to second file. + newFile->Sections->Add(section->Copy(newFile)); +} + +void Parse() +{ + IniFile^ file = gcnew IniFile(); + String^ content = "[Player]" + Environment::NewLine + + "Full Name = John Doe" + Environment::NewLine + + "Birthday = 12/31/1999" + Environment::NewLine + + "Married = Yes" + Environment::NewLine + + "Score = 9999999" + Environment::NewLine + + "Game Time = 00:59:59"; + file->Load(gcnew StringReader(content)); + + // Map 'yes' value as 'true' boolean. + file->ValueMappings->Add("yes", true); + // Map 'no' value as 'false' boolean. + file->ValueMappings->Add("no", false); + + IniSection^ playerSection = file->Sections["Player"]; + + // Retrieve player's name. + String^ playerName = playerSection->Keys["Full Name"]->Value; + + // Retrieve player's birthday as DateTime. + DateTime playerBirthday; + playerSection->Keys["Birthday"]->TryParseValue(playerBirthday); + + // Retrieve player's marital status as bool. + // TryParseValue succeeds due to the mapping of 'yes' value to 'true' boolean. + bool playerMarried; + playerSection->Keys["Married"]->TryParseValue(playerMarried); + + // Retrieve player's score as long. + long playerScore; + playerSection->Keys["Score"]->TryParseValue(playerScore); + + // Retrieve player's game time as TimeSpan. + TimeSpan playerGameTime; + playerSection->Keys["Game Time"]->TryParseValue(playerGameTime); +} + +void BindInternal() +{ + IniFile^ file = gcnew IniFile(); + String^ content = "[Machine Settings]" + Environment::NewLine + + "Program Files = C:\\Program Files" + Environment::NewLine + + "[Application Settings]" + Environment::NewLine + + "Name = Example App" + Environment::NewLine + + "Version = 1.0" + Environment::NewLine + + "Full Name = @{Name} v@{Version}" + Environment::NewLine + + "Executable Path = @{Machine Settings|Program Files}\\@{Name}.exe"; + file->Load(gcnew StringReader(content)); + + // Bind placeholders with file's content, internal information. + file->ValueBinding->Bind(); + + // Retrieve application's full name, value is 'Example App v1.0'. + String^ appFullName = file->Sections["Application Settings"]->Keys["Full Name"]->Value; + + // Retrieve application's executable path, value is 'C:\\Program Files\\Example App.exe'. + String^ appExePath = file->Sections["Application Settings"]->Keys["Executable Path"]->Value; +} + +void BindExternal() +{ + IniFile^ file = gcnew IniFile(); + String^ content = "[User's Settings]" + Environment::NewLine + + "Nickname = @{User Alias}" + Environment::NewLine + + "Full Name = @{User Name} @{User Surname}" + Environment::NewLine + + "Profile Page = @{Homepage}/Profiles/@{User Alias}"; + file->Load(gcnew StringReader(content)); + + // Bind placeholders with user's data, external information. + Dictionary^ userData = gcnew Dictionary(); + userData->Add("User Alias", "Johny"); + userData->Add("User Name", "John"); + userData->Add("User Surname", "Doe"); + file->ValueBinding->Bind(userData); + + // Bind 'Homepage' placeholder with 'www.example.com' value. + file->ValueBinding->Bind( + KeyValuePair("Homepage", "www.example.com")); + + // Retrieve user's full name, value is 'John Doe'. + String^ userFullName = file->Sections["User's Settings"]->Keys["Full Name"]->Value; + + // Retrieve user's profile page, value is 'www.example.com/Profiles/Johny'. + String^ userProfilePage = file->Sections["User's Settings"]->Keys["Profile Page"]->Value; +} + +private ref class BindingCustomizationSample { +public: + void BindCustomize() + { + IniFile^ file = gcnew IniFile(); + String^ content = "[Player]" + Environment::NewLine + + "Name = @{Name}" + Environment::NewLine + + "Surname = @{Surname}" + Environment::NewLine + + "Adult = @{Age}" + Environment::NewLine + + "Medal = @{Rank}"; + file->Load(gcnew StringReader(content)); + + // Customize binding operation. + file->ValueBinding->Binding += gcnew EventHandler(this, &BindingCustomizationSample::CustomEventHandler); + + // Execute binding operation. + Dictionary^ dataSource = gcnew Dictionary(); + dataSource->Add("Name", "John"); + dataSource->Add("Age", "20"); + dataSource->Add("Rank", "1"); + file->ValueBinding->Bind(dataSource); + } + + void CustomEventHandler(Object^ sender, IniValueBindingEventArgs^ e) + { + if (!e->IsValueFound) + { + e->Value = "UNKNOWN"; + return; + } + if (e->PlaceholderKey->Name->Equals("Adult") && e->PlaceholderName->Equals("Age")) + { + int age; + if (int::TryParse(e->Value, age)) + { + e->Value = (age >= 18) ? "YES" : "NO"; + } + else + { + e->Value = "UNKNOWN"; + } + return; + } + if (e->PlaceholderKey->Name->Equals("Medal") && e->PlaceholderName->Equals("Rank")) + { + int rank; + if (int::TryParse(e->Value, rank)) + { + switch (rank) + { + case 1: + e->Value = "GOLD"; + break; + case 2: + e->Value = "SILVER"; + break; + case 3: + e->Value = "BRONCE"; + break; + default: + e->Value = "NONE"; + break; + } + } + else + { + e->Value = "UNKNOWN"; + } + return; + } + } +}; + +// Custom type used for serialization sample. +private ref class GameCharacter +{ +public: + property String^ Name; + + // Serialize this property as a key with "Sword" name. + [IniSerialization("Sword")] + property double Attack; + + // Serialize this property as a key with "Shield" name. + [IniSerialization("Shield")] + property double Defence; + + // Ignore serializing this property. + [IniSerialization(true)] + property double Health; + + GameCharacter() + { + this->Health = 100; + } +}; + +void Serialize() +{ + IniFile^ file = gcnew IniFile(); + IniSection^ section = file->Sections->Add("User's Character"); + + GameCharacter^ character = gcnew GameCharacter(); + character->Name = "John"; + character->Attack = 5.5; + character->Defence = 1; + character->Health = 75; + + // Serialize GameCharacter object into section's keys. + section->Serialize(character); + + // Deserialize section into GameCharacter object. + GameCharacter^ savedCharacter = section->Deserialize(); + + Console::WriteLine(section->Keys["Name"]->Value); + Console::WriteLine(savedCharacter->Name); + Console::WriteLine(section->Keys["Sword"]->Value); + Console::WriteLine(savedCharacter->Attack); + Console::WriteLine(section->Keys["Shield"]->Value); + Console::WriteLine(savedCharacter->Defence); +} + +void main() +{ + HelloWorld(); + + Create(); + + Load(); + + Style(); + + Save(); + + Encrypt(); + + Compress(); + + Custom(); + + Copy(); + + Parse(); + + BindInternal(); + + BindExternal(); + + BindingCustomizationSample^ sample = gcnew BindingCustomizationSample(); + sample->BindCustomize(); + + Serialize(); +} \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/MadMilkman.Ini.Samples.CPP.vcxproj b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/MadMilkman.Ini.Samples.CPP.vcxproj new file mode 100644 index 0000000..66bafaf --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/MadMilkman.Ini.Samples.CPP.vcxproj @@ -0,0 +1,94 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {097C11FE-8D4B-48D8-884E-0747454E43DB} + v4.5 + ManagedCProj + MadMilkmanIniSamplesCPP + + + + Application + true + v110 + true + Unicode + + + Application + false + v110 + true + Unicode + + + + + + + + + + + + + true + + + false + + + + Level3 + Disabled + WIN32;_DEBUG;%(PreprocessorDefinitions) + Use + + + true + + Console + + + + + Level3 + WIN32;NDEBUG;%(PreprocessorDefinitions) + Use + + + true + + Console + + + + + + + + + + Create + Create + + + + + {bef9735d-c3cc-41e6-aac6-18c5985d3107} + + + + + + \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/MadMilkman.Ini.Samples.CPP.vcxproj.filters b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/MadMilkman.Ini.Samples.CPP.vcxproj.filters new file mode 100644 index 0000000..24a30fc --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/MadMilkman.Ini.Samples.CPP.vcxproj.filters @@ -0,0 +1,20 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/stdafx.cpp b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/stdafx.cpp new file mode 100644 index 0000000..2600e88 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/stdafx.cpp @@ -0,0 +1,7 @@ +// stdafx.cpp : source file that includes just the standard includes +// MadMilkman.Ini.Samples.CPP.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" + + diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/stdafx.h b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/stdafx.h new file mode 100644 index 0000000..39986bd --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CPP/stdafx.h @@ -0,0 +1,8 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#pragma once + +// TODO: reference additional headers your program requires here diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CS/IniSamples.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CS/IniSamples.cs new file mode 100644 index 0000000..fb645c3 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CS/IniSamples.cs @@ -0,0 +1,456 @@ +using System; +using System.IO; +using System.Text; +using System.Collections.Generic; +using MadMilkman.Ini; + +namespace MadMilkman.Ini.Samples.CS +{ + class IniSamples + { + private static void HelloWorld() + { + // Create new file. + IniFile file = new IniFile(); + + // Add new section. + IniSection section = file.Sections.Add("Section Name"); + + // Add new key and its value. + IniKey key = section.Keys.Add("Key Name", "Hello World"); + + // Read file's specific value. + Console.WriteLine(file.Sections["Section Name"].Keys["Key Name"].Value); + } + + private static void Create() + { + // Create new file with a default formatting. + IniFile file = new IniFile(new IniOptions()); + + // Add new content. + IniSection section = new IniSection(file, IniSection.GlobalSectionName); + IniKey key = new IniKey(file, "Key 1", "Value 1"); + file.Sections.Add(section); + section.Keys.Add(key); + + // Add new content. + file.Sections.Add("Section 2").Keys.Add("Key 2", "Value 2"); + + // Add new content. + file.Sections.Add( + new IniSection(file, "Section 3", + new IniKey(file, "Key 3.1", "Value 3.1"), + new IniKey(file, "Key 3.2", "Value 3.2"))); + + // Add new content. + file.Sections.Add( + new IniSection(file, "Section 4", + new Dictionary() + { + {"Key 4.1", "Value 4.1"}, + {"Key 4.2", "Value 4.2"} + })); + } + + private static void Load() + { + IniOptions options = new IniOptions(); + IniFile iniFile = new IniFile(options); + + // Load file from path. + iniFile.Load(@"..\..\..\MadMilkman.Ini.Samples.Files\Load Example.ini"); + + // Load file from stream. + using (Stream stream = File.OpenRead(@"..\..\..\MadMilkman.Ini.Samples.Files\Load Example.ini")) + iniFile.Load(stream); + + // Load file's content from string. + string iniContent = "[Section 1]" + Environment.NewLine + + "Key 1.1 = Value 1.1" + Environment.NewLine + + "Key 1.2 = Value 1.2" + Environment.NewLine + + "Key 1.3 = Value 1.3" + Environment.NewLine + + "Key 1.4 = Value 1.4"; + iniFile.Load(new StringReader(iniContent)); + + // Read file's content. + foreach (var section in iniFile.Sections) + { + Console.WriteLine("SECTION: {0}", section.Name); + foreach (var key in section.Keys) + Console.WriteLine("KEY: {0}, VALUE: {1}", key.Name, key.Value); + } + } + + private static void Style() + { + IniFile file = new IniFile(); + file.Sections.Add("Section 1").Keys.Add("Key 1", "Value 1"); + file.Sections.Add("Section 2").Keys.Add("Key 2", "Value 2"); + file.Sections.Add("Section 3").Keys.Add("Key 3", "Value 3"); + + // Add leading comments. + file.Sections[0].LeadingComment.Text = "Section 1 leading comment."; + file.Sections[0].Keys[0].LeadingComment.Text = "Key 1 leading comment."; + + // Add trailing comments. + file.Sections[1].TrailingComment.Text = "Section 2 trailing comment."; + file.Sections[1].Keys[0].TrailingComment.Text = "Key 2 trailing comment."; + + // Add left space, indentation. + file.Sections[1].LeftIndentation = 4; + file.Sections[1].TrailingComment.LeftIndentation = 4; + file.Sections[1].Keys[0].LeftIndentation = 4; + file.Sections[1].Keys[0].TrailingComment.LeftIndentation = 4; + + // Add above space, empty lines. + file.Sections[2].TrailingComment.EmptyLinesBefore = 2; + } + + private static void Save() + { + IniOptions options = new IniOptions(); + IniFile iniFile = new IniFile(options); + iniFile.Sections.Add( + new IniSection(iniFile, "Section 1", + new IniKey(iniFile, "Key 1.1", "Value 1.1"), + new IniKey(iniFile, "Key 1.2", "Value 1.2"), + new IniKey(iniFile, "Key 1.3", "Value 1.3"), + new IniKey(iniFile, "Key 1.4", "Value 1.4"))); + + // Save file to path. + iniFile.Save(@"..\..\..\MadMilkman.Ini.Samples.Files\Save Example.ini"); + + // Save file to stream. + using (Stream stream = File.Create(@"..\..\..\MadMilkman.Ini.Samples.Files\Save Example.ini")) + iniFile.Save(stream); + + // Save file's content to string. + StringWriter contentWriter = new StringWriter(); + iniFile.Save(contentWriter); + string iniContent = contentWriter.ToString(); + + Console.WriteLine(iniContent); + } + + private static void Encrypt() + { + // Enable file's protection by providing an encryption password. + IniOptions options = new IniOptions() { EncryptionPassword = "M4dM1lkM4n.1n1" }; + IniFile file = new IniFile(options); + + IniSection section = file.Sections.Add("User's Account"); + section.Keys.Add("Username", "John Doe"); + section.Keys.Add("Password", @"P@55\/\/0|2D"); + + // Save and encrypt the file. + file.Save(@"..\..\..\MadMilkman.Ini.Samples.Files\Encrypt Example.ini"); + + file.Sections.Clear(); + + // Load and dencrypt the file. + file.Load(@"..\..\..\MadMilkman.Ini.Samples.Files\Encrypt Example.ini"); + + Console.WriteLine("User Name: {0}", file.Sections[0].Keys["Username"].Value); + Console.WriteLine("Password: {0}", file.Sections[0].Keys["Password"].Value); + } + + private static void Compress() + { + // Enable file's size reduction. + IniOptions options = new IniOptions() { Compression = true }; + IniFile file = new IniFile(options); + + for (int i = 1; i <= 100; i++) + file.Sections.Add("Section " + i).Keys.Add("Key " + i, "Value " + i); + + // Save and compress the file. + file.Save(@"..\..\..\MadMilkman.Ini.Samples.Files\Compress Example.ini"); + + file.Sections.Clear(); + + // Load and decompress the file. + file.Load(@"..\..\..\MadMilkman.Ini.Samples.Files\Compress Example.ini"); + + Console.WriteLine(file.Sections.Count); + } + + private static void Custom() + { + // Create new file with custom formatting. + IniFile file = new IniFile( + new IniOptions() + { + CommentStarter = IniCommentStarter.Hash, + KeyDelimiter = IniKeyDelimiter.Colon, + KeySpaceAroundDelimiter = true, + SectionWrapper = IniSectionWrapper.CurlyBrackets, + Encoding = Encoding.UTF8 + }); + + // Load file. + file.Load(@"..\..\..\MadMilkman.Ini.Samples.Files\Custom Example Input.ini"); + + // Change first section's fourth key's value. + file.Sections[0].Keys[3].Value = "NEW VALUE"; + + // Save file. + file.Save(@"..\..\..\MadMilkman.Ini.Samples.Files\Custom Example Output.ini"); + } + + private static void Copy() + { + // Create new file. + IniFile file = new IniFile(); + + // Add new content. + IniSection section = file.Sections.Add("Section"); + IniKey key = section.Keys.Add("Key"); + + // Add duplicate section. + file.Sections.Add(section.Copy()); + + // Add duplicate key. + section.Keys.Add(key.Copy()); + + // Create new file. + IniFile newFile = new IniFile(new IniOptions()); + + // Import first file's section to second file. + newFile.Sections.Add(section.Copy(newFile)); + } + + private static void Parse() + { + IniFile file = new IniFile(); + string content = "[Player]" + Environment.NewLine + + "Full Name = John Doe" + Environment.NewLine + + "Birthday = 12/31/1999" + Environment.NewLine + + "Married = Yes" + Environment.NewLine + + "Score = 9999999" + Environment.NewLine + + "Game Time = 00:59:59"; + file.Load(new StringReader(content)); + + // Map 'yes' value as 'true' boolean. + file.ValueMappings.Add("yes", true); + // Map 'no' value as 'false' boolean. + file.ValueMappings.Add("no", false); + + IniSection playerSection = file.Sections["Player"]; + + // Retrieve player's name. + string playerName = playerSection.Keys["Full Name"].Value; + + // Retrieve player's birthday as DateTime. + DateTime playerBirthday; + playerSection.Keys["Birthday"].TryParseValue(out playerBirthday); + + // Retrieve player's marital status as bool. + // TryParseValue succeeds due to the mapping of 'yes' value to 'true' boolean. + bool playerMarried; + playerSection.Keys["Married"].TryParseValue(out playerMarried); + + // Retrieve player's score as long. + long playerScore; + playerSection.Keys["Score"].TryParseValue(out playerScore); + + // Retrieve player's game time as TimeSpan. + TimeSpan playerGameTime; + playerSection.Keys["Game Time"].TryParseValue(out playerGameTime); + } + + private static void BindInternal() + { + IniFile file = new IniFile(); + string content = "[Machine Settings]" + Environment.NewLine + + "Program Files = C:\\Program Files" + Environment.NewLine + + "[Application Settings]" + Environment.NewLine + + "Name = Example App" + Environment.NewLine + + "Version = 1.0" + Environment.NewLine + + "Full Name = @{Name} v@{Version}" + Environment.NewLine + + "Executable Path = @{Machine Settings|Program Files}\\@{Name}.exe"; + file.Load(new StringReader(content)); + + // Bind placeholders with file's content, internal information. + file.ValueBinding.Bind(); + + // Retrieve application's full name, value is 'Example App v1.0'. + string appFullName = file.Sections["Application Settings"].Keys["Full Name"].Value; + + // Retrieve application's executable path, value is 'C:\\Program Files\\Example App.exe'. + string appExePath = file.Sections["Application Settings"].Keys["Executable Path"].Value; + } + + private static void BindExternal() + { + IniFile file = new IniFile(); + string content = "[User's Settings]" + Environment.NewLine + + "Nickname = @{User Alias}" + Environment.NewLine + + "Full Name = @{User Name} @{User Surname}" + Environment.NewLine + + "Profile Page = @{Homepage}/Profiles/@{User Alias}"; + file.Load(new StringReader(content)); + + // Bind placeholders with user's data, external information. + file.ValueBinding.Bind( + new Dictionary + { + {"User Alias", "Johny"}, + {"User Name", "John"}, + {"User Surname", "Doe"} + }); + + // Bind 'Homepage' placeholder with 'www.example.com' value. + file.ValueBinding.Bind( + new KeyValuePair("Homepage", "www.example.com")); + + // Retrieve user's full name, value is 'John Doe'. + string userFullName = file.Sections["User's Settings"].Keys["Full Name"].Value; + + // Retrieve user's profile page, value is 'www.example.com/Profiles/Johny'. + string userProfilePage = file.Sections["User's Settings"].Keys["Profile Page"].Value; + } + + private static void BindCustomize() + { + IniFile file = new IniFile(); + string content = "[Player]" + Environment.NewLine + + "Name = @{Name}" + Environment.NewLine + + "Surname = @{Surname}" + Environment.NewLine + + "Adult = @{Age}" + Environment.NewLine + + "Medal = @{Rank}"; + file.Load(new StringReader(content)); + + // Customize binding operation. + file.ValueBinding.Binding += (sender, e) => + { + // Set placeholders that do not have a value in data source to 'UNKNOWN'. + if (!e.IsValueFound) + { + e.Value = "UNKNOWN"; + return; + } + + // Set 'Age' placeholder inside 'Adult' key to an appropriate value. + if (e.PlaceholderKey.Name.Equals("Adult") && e.PlaceholderName.Equals("Age")) + { + int age; + if (int.TryParse(e.Value, out age)) + e.Value = (age >= 18) ? "YES" : "NO"; + else + e.Value = "UNKNOWN"; + return; + } + + // Set 'Rank' placeholder inside 'Medal' key to an appropriate value. + if (e.PlaceholderKey.Name.Equals("Medal") && e.PlaceholderName.Equals("Rank")) + { + int rank; + if (int.TryParse(e.Value, out rank)) + switch (rank) + { + case 1: + e.Value = "GOLD"; + break; + case 2: + e.Value = "SILVER"; + break; + case 3: + e.Value = "BRONCE"; + break; + default: + e.Value = "NONE"; + break; + } + else + e.Value = "UNKNOWN"; + return; + } + }; + + // Execute binding operation. + file.ValueBinding.Bind( + new Dictionary + { + {"Name", "John"}, + {"Age", "20"}, + {"Rank", "1"} + }); + } + + // Custom type used for serialization sample. + private class GameCharacter + { + public string Name { get; set; } + + // Serialize this property as a key with "Sword" name. + [IniSerialization("Sword")] + public double Attack { get; set; } + + // Serialize this property as a key with "Shield" name. + [IniSerialization("Shield")] + public double Defence { get; set; } + + // Ignore serializing this property. + [IniSerialization(true)] + public double Health { get; set; } + + public GameCharacter() { this.Health = 100; } + } + + private static void Serialize() + { + IniFile file = new IniFile(); + IniSection section = file.Sections.Add("User's Character"); + + GameCharacter character = new GameCharacter(); + character.Name = "John"; + character.Attack = 5.5; + character.Defence = 1; + character.Health = 75; + + // Serialize GameCharacter object into section's keys. + section.Serialize(character); + + // Deserialize section into GameCharacter object. + GameCharacter savedCharacter = section.Deserialize(); + + Console.WriteLine(section.Keys["Name"].Value); + Console.WriteLine(savedCharacter.Name); + Console.WriteLine(section.Keys["Sword"].Value); + Console.WriteLine(savedCharacter.Attack); + Console.WriteLine(section.Keys["Shield"].Value); + Console.WriteLine(savedCharacter.Defence); + } + + static void Main() + { + HelloWorld(); + + Create(); + + Load(); + + Style(); + + Save(); + + Encrypt(); + + Compress(); + + Custom(); + + Copy(); + + Parse(); + + BindInternal(); + + BindExternal(); + + BindCustomize(); + + Serialize(); + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CS/MadMilkman.Ini.Samples.CS.csproj b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CS/MadMilkman.Ini.Samples.CS.csproj new file mode 100644 index 0000000..e803c14 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CS/MadMilkman.Ini.Samples.CS.csproj @@ -0,0 +1,58 @@ + + + + + Debug + AnyCPU + {67F5741B-F6B2-4A4B-8E83-E0FD108086B1} + Exe + Properties + MadMilkman.Ini.Samples.CS + MadMilkman.Ini.Samples.CS + v4.5 + 512 + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + false + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + false + + + + + + + + + + + {bef9735d-c3cc-41e6-aac6-18c5985d3107} + MadMilkman.Ini + + + + + \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CS/Properties/AssemblyInfo.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CS/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..be592b0 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.CS/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MadMilkman.Ini.Samples.CS")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MadMilkman.Ini.Samples.CS")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("b1e20845-bdae-4fbe-842c-42d4ee655565")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Compress Example.ini b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Compress Example.ini new file mode 100644 index 0000000..d0f62ce --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Compress Example.ini @@ -0,0 +1 @@ +BAwAAB+LCAAAAAAABABV1j2OUDkQReEciT30EtpVrr+AFRAikaAJRqMORkKQQMDuIfAx98Unep/87Pvl09t/P/7//u1l/fP+3ce3Xy/rw+d/v/58e1nv332h2Wl2mknz0/w0l7ZP26dtaXFanBbS8rQ8LaXVaXVaSevT+rSWNqfNaSNtvfLxr3z9q+Zrc3FUZ8Gz8FkKtBBaEC01WiAtlJYyLZwWUEulFlQLq6VYC60F11KvBdhCbCnZwmyBtlTNUDPUTNUMNUPNHmfqHqp7qlTNUDPUTNUMNUPNVM1QM9RM1Qw1Q81UzVAz1EzVDDVDzVTNUDPUTNUcNUfNVc1Rc9Rc1Rw1R80fP+P9G+/vqGqOmqPmquaoOWquao6ao+aq5qg5aq5qjpqj5qrmqDlqrmobtY3aVrWN2kZtq9pGbaO2VW2jtlHbj1vsXmP3HlO1jdpGbavaRm2jtlVto7ZR26q2UduobVXbqG3UtqoFaoFaqFqgFqiFqgVqgVqoWqAWqIWqBWqBWjyu/3v/3wdA1QK1QC1ULVAL1ELVArVALVQtUAvUQtUStUQtVS1RS9RS1RK1RC1VLVFL1FLVErVELVUtUUvU8vFu3ofzvpyqlqglaqlqiVqilqqWqCVqqWqFWqFWqlaoFWqlaoVaoVaqVqgVaqVqhVqhVqpWqBVqpWqFWqFWj8FxF8edHKpWqBVqpWqFWqFWqtaoNWqtao1ao9aq1qg1aq1qjVqj1qrWqDVqrWqNWqPWqtaoNWqtao1ao9aPpXan2t1qqtaoNWqtaoPaoDaqNqgNaqNqg9qgNqo2qA1qo2qD2qA2qjaoDWqjaoPaoDaqNqgNaqNqg9qgNo+JezfuHbnPlft35v7duX/gfgMYovcVBAwAAA== \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Custom Example Input.ini b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Custom Example Input.ini new file mode 100644 index 0000000..59a1e1f --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Custom Example Input.ini @@ -0,0 +1,18 @@ + + # Hello World in few languages + + {Worlds} + + Chinese : 你好世界 + Croatian : Zdravo Svijete + Dutch : Hello Wereld + English : Hello World + French : Bonjour Monde + German : Hallo Welt + Greek : γειά σου κόσμος + Italian : Ciao Mondo + Japanese : こんにちは世界 + Korean : 여보세요 세계 + Portuguese : Olá Mundo + Russian : Здравствулте Мир + Spanish : Hola Mundo \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Custom Example Output.ini b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Custom Example Output.ini new file mode 100644 index 0000000..fb0d7a2 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Custom Example Output.ini @@ -0,0 +1,18 @@ + + # Hello World in few languages + + {Worlds} + + Chinese : 你好世界 + Croatian : Zdravo Svijete + Dutch : Hello Wereld + English : NEW VALUE + French : Bonjour Monde + German : Hallo Welt + Greek : γειά σου κόσμος + Italian : Ciao Mondo + Japanese : こんにちは世界 + Korean : 여보세요 세계 + Portuguese : Olá Mundo + Russian : Здравствулте Мир + Spanish : Hola Mundo diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Encrypt Example.ini b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Encrypt Example.ini new file mode 100644 index 0000000..7da5501 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Encrypt Example.ini @@ -0,0 +1 @@ +X3zNmiTOWEKAG73S8BzrlddMtsozck0eDN7TYwYQv9kswSItWrB31gjJMHtcuGUxFcimtUxtuZ3y0UzoZ8/TBg== \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Load Example.ini b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Load Example.ini new file mode 100644 index 0000000..6390e19 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Load Example.ini @@ -0,0 +1,5 @@ +[Section 1] +Key 1.1=Value 1.1 +Key 1.2=Value 1.2 +Key 1.3=Value 1.3 +Key 1.4=Value 1.4 \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Save Example.ini b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Save Example.ini new file mode 100644 index 0000000..f9faa46 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.Files/Save Example.ini @@ -0,0 +1,5 @@ +[Section 1] +Key 1.1=Value 1.1 +Key 1.2=Value 1.2 +Key 1.3=Value 1.3 +Key 1.4=Value 1.4 diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/IniSamples.vb b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/IniSamples.vb new file mode 100644 index 0000000..d9bfd46 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/IniSamples.vb @@ -0,0 +1,469 @@ +Imports System +Imports System.IO +Imports System.Text +Imports System.Collections.Generic +Imports MadMilkman.Ini + +Module IniSamples + + Private Sub HelloWorld() + ' Create new file. + Dim file As New IniFile() + + ' Add new section. + Dim section As IniSection = file.Sections.Add("Section Name") + + ' Add new key and its value. + Dim key As IniKey = section.Keys.Add("Key Name", "Hello World") + + ' Read file's specific value. + Console.WriteLine(file.Sections("Section Name").Keys("Key Name").Value) + End Sub + + Private Sub Create() + ' Create new file with default formatting. + Dim file As New IniFile(New IniOptions()) + + ' Add new content. + Dim section As New IniSection(file, IniSection.GlobalSectionName) + Dim key As New IniKey(file, "Key 1", "Value 1") + file.Sections.Add(section) + section.Keys.Add(key) + + ' Add new content. + file.Sections.Add("Section 2").Keys.Add("Key 2", "Value 2") + + ' Add new content. + file.Sections.Add( + New IniSection(file, "Section 3", + New IniKey(file, "Key 3.1", "Value 3.1"), + New IniKey(file, "Key 3.2", "Value 3.2"))) + + ' Add new content. + file.Sections.Add( + New IniSection(file, "Section 4", + New Dictionary(Of String, String)() From { + {"Key 4.1", "Value 4.1"}, + {"Key 4.2", "Value 4.2"} + })) + End Sub + + Private Sub Load() + Dim options As New IniOptions() + Dim iniFile As New IniFile(options) + + ' Load file from path. + iniFile.Load("..\..\..\MadMilkman.Ini.Samples.Files\Load Example.ini") + + ' Load file from stream. + Using stream As Stream = File.OpenRead("..\..\..\MadMilkman.Ini.Samples.Files\Load Example.ini") + iniFile.Load(stream) + End Using + + ' Load file's content from string. + Dim iniContent As String = "[Section 1]" + Environment.NewLine + + "Key 1.1 = Value 1.1" + Environment.NewLine + + "Key 1.2 = Value 1.2" + Environment.NewLine + + "Key 1.3 = Value 1.3" + Environment.NewLine + + "Key 1.4 = Value 1.4" + iniFile.Load(New StringReader(iniContent)) + + ' Read file's content. + For Each section In iniFile.Sections + Console.WriteLine("SECTION: {0}", section.Name) + For Each key In section.Keys + Console.WriteLine("KEY: {0}, VALUE: {1}", key.Name, key.Value) + Next + Next + End Sub + + Private Sub Style() + Dim file As New IniFile() + file.Sections.Add("Section 1").Keys.Add("Key 1", "Value 1") + file.Sections.Add("Section 2").Keys.Add("Key 2", "Value 2") + file.Sections.Add("Section 3").Keys.Add("Key 3", "Value 3") + + ' Add leading comments. + file.Sections(0).LeadingComment.Text = "Section 1 leading comment." + file.Sections(0).Keys(0).LeadingComment.Text = "Key 1 leading comment." + + ' Add trailing comments. + file.Sections(1).TrailingComment.Text = "Section 2 trailing comment." + file.Sections(1).Keys(0).TrailingComment.Text = "Key 2 trailing comment." + + ' Add left space, indentation. + file.Sections(1).LeftIndentation = 4 + file.Sections(1).TrailingComment.LeftIndentation = 4 + file.Sections(1).Keys(0).LeftIndentation = 4 + file.Sections(1).Keys(0).TrailingComment.LeftIndentation = 4 + + ' Add above space, empty lines. + file.Sections(2).TrailingComment.EmptyLinesBefore = 2 + End Sub + + Private Sub Save() + Dim options As New IniOptions() + Dim iniFile As New IniFile(options) + iniFile.Sections.Add( + New IniSection(iniFile, "Section 1", + New IniKey(iniFile, "Key 1.1", "Value 1.1"), + New IniKey(iniFile, "Key 1.2", "Value 1.2"), + New IniKey(iniFile, "Key 1.3", "Value 1.3"), + New IniKey(iniFile, "Key 1.4", "Value 1.4"))) + + ' Save file to path. + iniFile.Save("..\..\..\MadMilkman.Ini.Samples.Files\Save Example.ini") + + ' Save file to stream. + Using stream As Stream = File.Create("..\..\..\MadMilkman.Ini.Samples.Files\Save Example.ini") + iniFile.Save(stream) + End Using + + ' Save file's content to string. + Dim contentWriter As New StringWriter() + iniFile.Save(contentWriter) + Dim iniContent As String = contentWriter.ToString() + + Console.WriteLine(iniContent) + End Sub + + Private Sub Encrypt() + ' Enable file's protection by providing an encryption password. + Dim options As IniOptions = New IniOptions() With {.EncryptionPassword = "M4dM1lkM4n.1n1"} + Dim file As IniFile = New IniFile(options) + + Dim section As IniSection = file.Sections.Add("User's Account") + section.Keys.Add("Username", "John Doe") + section.Keys.Add("Password", "P@55\/\/0|2D") + + ' Save and encrypt the file. + file.Save("..\..\..\MadMilkman.Ini.Samples.Files\Encrypt Example.ini") + + file.Sections.Clear() + + ' Load and dencrypt the file. + file.Load("..\..\..\MadMilkman.Ini.Samples.Files\Encrypt Example.ini") + + Console.WriteLine("User Name: {0}", file.Sections(0).Keys("Username").Value) + Console.WriteLine("Password: {0}", file.Sections(0).Keys("Password").Value) + End Sub + + Private Sub Compress() + ' Enable file's size reduction. + Dim options As IniOptions = New IniOptions() With {.Compression = True} + Dim file = New IniFile(options) + + For i As Integer = 1 To 100 + file.Sections.Add("Section " + i.ToString()).Keys.Add("Key " + i.ToString(), "Value " + i.ToString()) + Next + + ' Save and compress the file. + file.Save("..\..\..\MadMilkman.Ini.Samples.Files\Compress Example.ini") + + file.Sections.Clear() + + ' Load and decompress the file. + file.Load("..\..\..\MadMilkman.Ini.Samples.Files\Compress Example.ini") + + Console.WriteLine(file.Sections.Count) + End Sub + + Private Sub Custom() + ' Create new file with custom formatting. + Dim file As New IniFile( + New IniOptions() With { + .CommentStarter = IniCommentStarter.Hash, + .KeyDelimiter = IniKeyDelimiter.Colon, + .KeySpaceAroundDelimiter = True, + .SectionWrapper = IniSectionWrapper.CurlyBrackets, + .Encoding = Encoding.UTF8 + }) + + ' Load file. + file.Load("..\..\..\MadMilkman.Ini.Samples.Files\Custom Example Input.ini") + + ' Change first section's fourth key's value. + file.Sections(0).Keys(3).Value = "NEW VALUE" + + ' Save file. + file.Save("..\..\..\MadMilkman.Ini.Samples.Files\Custom Example Output.ini") + End Sub + + Private Sub Copy() + ' Create new file. + Dim file As New IniFile() + + ' Add new content. + Dim section As IniSection = file.Sections.Add("Section") + Dim key As IniKey = section.Keys.Add("Key") + + ' Add duplicate section. + file.Sections.Add(section.Copy()) + + ' Add duplicate key. + section.Keys.Add(key.Copy()) + + ' Create new file. + Dim newFile As New IniFile(New IniOptions()) + + ' Import first file's section to second file. + newFile.Sections.Add(section.Copy(newFile)) + End Sub + + Private Sub Parse() + Dim file As New IniFile() + Dim content As String = "[Player]" + Environment.NewLine + + "Full Name = John Doe" + Environment.NewLine + + "Birthday = 12/31/1999" + Environment.NewLine + + "Married = Yes" + Environment.NewLine + + "Score = 9999999" + Environment.NewLine + + "Game Time = 00:59:59" + file.Load(New StringReader(content)) + + ' Map 'yes' value as 'true' boolean. + file.ValueMappings.Add("yes", True) + ' Map 'no' value as 'false' boolean. + file.ValueMappings.Add("no", False) + + Dim playerSection As IniSection = file.Sections("Player") + + ' Retrieve player's name. + Dim playerName As String = playerSection.Keys("Full Name").Value + + ' Retrieve player's birthday as DateTime. + Dim playerBirthday As DateTime + playerSection.Keys("Birthday").TryParseValue(playerBirthday) + + ' Retrieve player's marital status as bool. + ' TryParseValue succeeds due to the mapping of 'yes' value to 'true' boolean. + Dim playerMarried As Boolean + playerSection.Keys("Married").TryParseValue(playerMarried) + + ' Retrieve player's score as long. + Dim playerScore As Long + playerSection.Keys("Score").TryParseValue(playerScore) + + ' Retrieve player's game time as TimeSpan. + Dim playerGameTime As TimeSpan + playerSection.Keys("Game Time").TryParseValue(playerGameTime) + End Sub + + Private Sub BindInternal() + Dim file As New IniFile() + Dim content As String = "[Machine Settings]" + Environment.NewLine + + "Program Files = C:\Program Files" + Environment.NewLine + + "[Application Settings]" + Environment.NewLine + + "Name = Example App" + Environment.NewLine + + "Version = 1.0" + Environment.NewLine + + "Full Name = @{Name} v@{Version}" + Environment.NewLine + + "Executable Path = @{Machine Settings|Program Files}\@{Name}.exe" + file.Load(New StringReader(content)) + + ' Bind placeholders with file's content, internal information. + file.ValueBinding.Bind() + + ' Retrieve application's full name, value is 'Example App v1.0'. + Dim appFullName As String = file.Sections("Application Settings").Keys("Full Name").Value + + ' Retrieve application's executable path, value is 'C:\\Program Files\\Example App.exe'. + Dim appExePath As String = file.Sections("Application Settings").Keys("Executable Path").Value + End Sub + + Private Sub BindExternal() + Dim file As New IniFile() + Dim content As String = "[User's Settings]" + Environment.NewLine + + "Nickname = @{User Alias}" + Environment.NewLine + + "Full Name = @{User Name} @{User Surname}" + Environment.NewLine + + "Profile Page = @{Homepage}/Profiles/@{User Alias}" + file.Load(New StringReader(content)) + + ' Bind placeholders with user's data, external information. + file.ValueBinding.Bind( + New Dictionary(Of String, String)() From + { + {"User Alias", "Johny"}, + {"User Name", "John"}, + {"User Surname", "Doe"} + }) + + ' Bind 'Homepage' placeholder with 'www.example.com' value. + file.ValueBinding.Bind( + New KeyValuePair(Of String, String)("Homepage", "www.example.com")) + + ' Retrieve user's full name, value is 'John Doe'. + Dim userFullName As String = file.Sections("User's Settings").Keys("Full Name").Value + + ' Retrieve user's profile page, value is 'www.example.com/Profiles/Johny'. + Dim userProfilePage As String = file.Sections("User's Settings").Keys("Profile Page").Value + End Sub + + Private Sub BindCustomize() + Dim file As New IniFile() + Dim content As String = "[Player]" + Environment.NewLine + + "Name = @{Name}" + Environment.NewLine + + "Surname = @{Surname}" + Environment.NewLine + + "Adult = @{Age}" + Environment.NewLine + + "Medal = @{Rank}" + file.Load(New StringReader(content)) + + ' Customize binding operation. + AddHandler file.ValueBinding.Binding, + Sub(sender, e) + ' Set placeholders that do not have a value in data source to 'UNKNOWN'. + If Not e.IsValueFound Then + e.Value = "UNKNOWN" + Return + End If + + ' Set 'Age' placeholder inside 'Adult' key to an appropriate value. + If e.PlaceholderKey.Name.Equals("Adult") AndAlso e.PlaceholderName.Equals("Age") Then + Dim age As Integer + If Integer.TryParse(e.Value, age) Then + e.Value = If((age >= 18), "YES", "NO") + Else + e.Value = "UNKNOWN" + End If + Return + End If + + ' Set 'Rank' placeholder inside 'Medal' key to an appropriate value. + If e.PlaceholderKey.Name.Equals("Medal") AndAlso e.PlaceholderName.Equals("Rank") Then + Dim rank As Integer + If Integer.TryParse(e.Value, rank) Then + Select Case rank + Case 1 + e.Value = "GOLD" + Exit Select + Case 2 + e.Value = "SILVER" + Exit Select + Case 3 + e.Value = "BRONCE" + Exit Select + Case Else + e.Value = "NONE" + Exit Select + End Select + Else + e.Value = "UNKNOWN" + End If + Return + End If + End Sub + + ' Execute binding operation. + file.ValueBinding.Bind(New Dictionary(Of String, String)() From { + {"Name", "John"}, + {"Age", "20"}, + {"Rank", "1"} + }) + End Sub + + ' Custom type used for serialization sample. + Private Class GameCharacter + Public Property Name() As String + Get + Return m_Name + End Get + Set(value As String) + m_Name = Value + End Set + End Property + Private m_Name As String + + ' Serialize this property as a key with "Sword" name. + + Public Property Attack() As Double + Get + Return m_Attack + End Get + Set(value As Double) + m_Attack = value + End Set + End Property + Private m_Attack As Double + + ' Serialize this property as a key with "Shield" name. + + Public Property Defence() As Double + Get + Return m_Defence + End Get + Set(value As Double) + m_Defence = value + End Set + End Property + Private m_Defence As Double + + ' Ignore serializing this property. + + Public Property Health() As Double + Get + Return m_Health + End Get + Set(value As Double) + m_Health = value + End Set + End Property + Private m_Health As Double + + Public Sub New() + Me.Health = 100 + End Sub + End Class + + Private Sub Serialize() + Dim file As New IniFile() + Dim section As IniSection = file.Sections.Add("User's Character") + + Dim character As New GameCharacter() + character.Name = "John" + character.Attack = 5.5 + character.Defence = 1 + character.Health = 75 + + ' Serialize GameCharacter object into section's keys. + section.Serialize(character) + + ' Deserialize section into GameCharacter object. + Dim savedCharacter As GameCharacter = section.Deserialize(Of GameCharacter)() + + Console.WriteLine(section.Keys("Name").Value) + Console.WriteLine(savedCharacter.Name) + Console.WriteLine(section.Keys("Sword").Value) + Console.WriteLine(savedCharacter.Attack) + Console.WriteLine(section.Keys("Shield").Value) + Console.WriteLine(savedCharacter.Defence) + End Sub + + Sub Main() + HelloWorld() + + Create() + + Load() + + Style() + + Save() + + Encrypt() + + Compress() + + Custom() + + Copy() + + Parse() + + BindInternal() + + BindExternal() + + BindCustomize() + + Serialize() + End Sub + +End Module \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/MadMilkman.Ini.Samples.VB.vbproj b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/MadMilkman.Ini.Samples.VB.vbproj new file mode 100644 index 0000000..247b4a2 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/MadMilkman.Ini.Samples.VB.vbproj @@ -0,0 +1,102 @@ + + + + + Debug + AnyCPU + {4FEA3A29-874B-4E1B-A60C-584E703FEA11} + Exe + MadMilkman.Ini.Samples.VB.IniSamples + MadMilkman.Ini.Samples.VB + MadMilkman.Ini.Samples.VB + 512 + Console + v4.5 + + + AnyCPU + true + full + true + true + bin\Debug\ + MadMilkman.Ini.Samples.VB.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + AnyCPU + pdbonly + false + true + true + bin\Release\ + MadMilkman.Ini.Samples.VB.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + + + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + {bef9735d-c3cc-41e6-aac6-18c5985d3107} + MadMilkman.Ini + + + + + \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Application.Designer.vb b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Application.Designer.vb new file mode 100644 index 0000000..0aecefe --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.18444 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Application.myapp b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Application.myapp new file mode 100644 index 0000000..e62f1a5 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 2 + true + diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/AssemblyInfo.vb b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..32a4cb2 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' General Information about an assembly is controlled through the following +' set of attributes. Change these attribute values to modify the information +' associated with an assembly. + +' Review the values of the assembly attributes + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Resources.Designer.vb b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Resources.Designer.vb new file mode 100644 index 0000000..8d6d3a9 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Resources.Designer.vb @@ -0,0 +1,62 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.18444 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My.Resources + + '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. + '''

+ ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("MadMilkman.Ini.Samples.VB.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set(ByVal value As Global.System.Globalization.CultureInfo) + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Resources.resx b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Settings.Designer.vb b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Settings.Designer.vb new file mode 100644 index 0000000..72dc6d5 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.18444 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.MadMilkman.Ini.Samples.VB.My.MySettings + Get + Return Global.MadMilkman.Ini.Samples.VB.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Settings.settings b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Samples/MadMilkman.Ini.Samples.VB/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Setup.msi b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Setup.msi new file mode 100644 index 0000000000000000000000000000000000000000..01be69cd3da1e8899742d696fb7397cdff2cb21f GIT binary patch literal 1110016 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"ha^Gj(Rh}K!`BXVPG^&B{34rDwL9_fxbmc(vEWj z4OF=XuA(4lMM&9$%^0IN)(pTBDFBXut=5oGrYL8DlEw<=nfjf3e3K?~&(CpwcgKRG1oWlx$_;ReI*g)g|E zqTT{gxk{7{%CYNjM5u9Ti7C8A9*Us1TFjD{2W6$}coB+Jx(>>jH=8Xu0!v<_4toYP za-Era%u-H6nhn*;A*#X$A}f6G$b}C+tzHWE2(rlnT7FbD4#~*xkl!>hVooPBaI*g>lMlY zF_PB|4s-!(%Dg!oF~&TiMv6IN_bu{S@lKqHAuGGJ(&}#sSlP{p)`r%0YyP6rDr-YK zjD|P1wy({Hp_0xy@HHb*d4!lba%JQ$66?u5R&`_^N5=X6cBji;S8THvIRZ9kNkfs% zKh;rZD-6~Z6&Klyi%XmiDjZ+4$Przz#a3NOXE?kv)nO-Ak4Ba%{tCRGbdl=!*s4an z?LnCkJ^G6`mMPCUn(-OqKKMR}Q@y#Bt6rbuJX^U$HFfBzx&V&8b5 ztr5Q3Ij!w;o14r1O)cypyI_z$B#EDI#{)k5FRcvz_kP%U2P4=kYX;D<{o3Qu@qaYyR&BQ^Uvu`Eq=$;_%1cvB4qHur0N|fEji9of=dy#DC(Mod^0QW}K&ZCv4hi*Pd zD8*B~fYL7SINnI())IQqHF1;lNZM^wS|?!Sy-E0#)3nNI4%PzIFYCMjmTz1{M?6y| zMCxfC+6I(OJbXSalO`H(2MZaMvyA3Hq{2IZ+YVnBbunE$1;Izl2zguR9%MAfL#3Aw zG0lYa^eS>CJ+UANHH8we1lmA%)Zhlv2+~O$nw9K<@8!y5G0j_r%-VwE}fLly67Ex>1*{la}p3d~6BFmam&)yucBnd)IX!yAyOygo}K-**mgMxc=Yz z{a^g}sw(H9*&`Cm*i;ngyJgzVlVyH&H8 z`?~CYBTtqluhhh*yO^W>ny{C!XGdSgsfoTNz!En?`LP|q)mjs>EDUzyo$(Re6@!Sg zt6=`bee`@Ve7pjdp=gS+sk8+qesT3)hSs6r;*Vu~lEt*s-n|6VGQp zyF2KruXhD(E`MQ(&FOXoZT_PApsmE=bU5k)fnxtudp>Y-Kl*LnlM7{#-&quFD5-bZ zTn&DQ&FOd9ZSICZvCV0B2AzTWfV<8)m4fcLqvNjKGi6l0vm{VoXDWsw49qG7ulj z3Ds65z%$%#&(<+h8E#%2fc%4Z?Vu-RDf+%`S$)%|$Y{JTD}Jgnj6u4_Z(WniAmwp* z@ixQST6}bcvOj$9j6G$Ol3}lPFu*ZGchkfK06bHHazF5|9o>e!B)Dbi4{p7+ds0&T zg^d55+yfgE8GNk?uuHxKnp=pL68Kg-QSA6|Q)qwwjoSf!LL4LeN&HkCJfDw?Ts=&b@qm5J985=%XxX~;_5!hH8gv?a}_9f`!ntR zt%XB_2b{l9E2p~sGymC4XKFwhx}&${L_?}jR*pM9uR2v+FeFsfBov$V`0ajMR??ezB6{3i}U(G(4Zc7p&tF*7Xy#MB;F-(_zfAF0clQgD?VxHN* z_MB%@Voaoi?%CD8UzzJ90?4}TdAFeNubhb?s>4N;p0@WVX@`dzsugJEAmGVcj+PcB z1jgwwyMJao+)$h%QciXEt2u8Lx>CWaI>6IgO8fKOse|RTpZ%&8%mFjucRGYWsgY{<#S$;aES}e{A8AoWcY+ z<$N$&yGnw8T6OYDXR^QnGq?kN>-*Lwou+CYao~5W`=%=$ls?%Ie{q46T(+|KRoR|0 zS7Jcy6oP{9?;3HcIxjI8EGpwaweCf_{ku7<(^!!?F2j{u%O2-P6)2hFlbbpbXvHEN|DzovmU6-U$!ut%NJdo@48G zl;tOfimVU2|LwLNw`cKi6} zMLkRH$)E-p?fzZ5o({+5VQ3;^j#i|&7tfFFsV_{38(e@V?$h_$Cnf+!HY!h?avdVJ z1l-Z1HW}tiS9fWmti_xsMS(Bv+ti~>`xhr?_}9zO{$F<qcAaCefk{(o-2NCQ<6aCtUCt$+TOchT2jD4XW~%-r@C+I4NOl;K)e(9n2ZZG z2Pe7`%ZNR#kAhD>tU0Kiku*5I7N_434qB6FUjt78q|jHx6ML^3VgOJEZ9Fo90S?aY zzS5N#5Vy0vdSS(LBc}}ojyuZI1L~-NGY_=)xPFkb0QO)XlW-=tr(o9QCB!}Se89PD zOw6U_y(?y?DrVq;Y*f(MXYD-|bN(BGB7@7>4{qyOQIe{psFgZ*&vkt@%8(m*Y&q^~ zNj=OQ`Z{-4o-HX@WK27}eaWtI$zdWR%i*)@pS`jqY0RLd_2G*dM{b>x6ke&DBi)9h zX|7};F>U?Gr#by;$rY#EKPl|!F7u1ClY^-Tq@y3NI^=-${~wKSXNEEsq)P^U+IiuZ z`ZKz)c9~{8e>GQ1*Z(FydS@Em128R>lwve|{;{ln$IK)J#Os$#%6qf6|8Pc9QsTB? zCgf|!9`kr6BvFGsciMR(I3*#kdK7-`&XIl2yvsvWZ;@d9$IFjz7;}04NJn_>(wvV= zhG2}e{?|YFFZQkk9IF1`AN!EK7|EWIFk`K;uVXFyt}MfhondSv>oCezB%(K^6-o3e zr4))(vMWo9l0vT~Nw2is8E3qW>Rzw5ROvB6L7mnmz{lRZSeTEs72Big;7 z=Ss*D!!KfKH~rqKP-2F?;%|e$n?PTk0kP3s;kRkDXUm6695*7>ewFesH}glA6WbGh zQLZ1ZfclAXU2&@aUc%a)p}!}(HAwz9nQJba28z&a5H>|~A9DREkETGWiw42uz0n9A zwNkXOP(Ox&u>exw23pk$N1ot{G+}>4T8LKq$6tsd4<^T?#&A<*BNJzYUw|*eASslz zQ*d=94udr&peZgtU`B=}5yejxebLbYFnAk_(hZT3eH6dDQZJA~aNtU#kG-Z0rL(-(p{H{#z%}FW(G%{_Omg9&>+UelJR;~Id>L(S_ zW?FSk5r>i;(|KsSU0cMVbPOqI{i+=0{jG*W`>j*L1ivY3N;s6Om(I8GoA`YNhl*@c z>}i_)R=}a7n^QEQG|HO#4IOhQZK28gR=%NA%qd8kytUOEI-`}Mx#62iQ@o+ls1$RW zd9113&^g_d?KI-r(w&bap=rAOu5uS0N%otlD$OAp9TtJbtn9}_wX#I4@Y)DtLKr#} zvl?)fi|DyJ+lXLGoHymXy3%-E@IEfSRb|DD3tZnAyBD{56e5J8!IiE4B$(v)M-mjy zCo1IIy&iubh9^B?DVO+v8yLhen#P!V8Oo*@g2e=&DaTV8>f*P|mG>DdUbz&%Q#?8Z zoX`U!09kY^Sfj9m#6UR_>|g8M|kjoc7E z5fKc-Z60Pn>KH5>Wen;MWPYNreEEl}hyF~DfE!cw_U%8>eerM;JF1@e6P@CxrVQ#G zCaHoy4^ROEx_754i2pPI{4O*Y^$?P3^J6msk#KVdFkrytC*uf2!!2w;eNZBm^~Zo9 z9DE0LBEvE%@jnKH1;cH2f&n8^Kj|SX5^hLsU?lJ-Iz9?+=LqVfDnHR9@o)!f{^%Yv zksowttak+YT^1Pe%&>_0$0qjp!;P%KfF+X@@1F)ZID-KnWm9}Nd>;TxU%30cH)v|E zIG$5(hbU4mK3CkS0Bu>?_4ecg1lkX)XlcKCV+xB=Ts4O-waw1sR`|EV@wi}06c8w~ z^|$d956u-bEpLe8Z-f6aCsbS+zP60#el$*;vB}X_TP2Y7|Flm$Hur{111r;%n=$Vi-(hO?9DP|NlR^{_p36a^lx@bI5X> zWM^kjg3PjcvURd*u$Hm#v!pVwV+NQw8RZ$gDcAqzB%YOL{{KrK`~NrY6)@7jNkRu5 zbkIQu9dyt^2OV_KK?fcG8(;#&07ifla9r_>2K`a+D?TR_XABHL@wu=B?EmpjS*yhX zNWg@wsQ~JL2A~Eg0dO*-098PlyrfM2L6O(VCkwCiMe(WG>E>dz>R7-Cta{;q%M>#W zijx$@jbJs0o1N-wki2%>`Jm+#5YG+r5*Q97N>d#bK;swS-8PV`^g(tp0lC~A(1DUfB$HON(-ActW=mWl%T zavaFVvq0uJL2ds7$QG*LO&V=OkW0-#eq{r)gFDDpr65>oMR7f=f0DNn1n{4-M#<^;e|a{&Oa z!)AL+?7d?Ql+hle4w&*V4M4N}D*!YTr-KeU=%9lRI_RK-4m#+dgAO|WZ-R$Ap>wO#ml-uu_ZY${~+OImbC?By?nzw$Ht)YF=dhPJZ|O!x%N3gf(ejT1#AG8 z`oCjFuKG;`yQ@Afbq%?Wi4KjOo!MRO^+5h+Tb##*V*hC8kqAU&?c^c>FXSmFBt z=g_P2=M^g56(8S(`rvZLbz?48)_xp{9d&-!vq`kRPP6Iy%#G^$=nFw5pW=gWDa|$@ zZmiR6&nVCnbtUR;mD|7bwy%P%l=fe5gfs*B?Ovx(ArQ|R2Snx1qCL2$=L+mM$X#;J zD|_9bjlCh#0At#ZmmO}hjUAL6b_pqCVHCcM`RjdUzvKHW1Lgs+C??mTAvZl&w$wsz zAM`U%4nM)dKoP6rT`!Yj(8eD<0a6rbJXA0&9(;Xzzi0SRANTacYoo`|1*)atI~ z#nCuCU3;H#>hDGap0xb%AU^Lo*4s0aSWoeNjxh{&BYYYoOi+fCnb zU6#G>&tXkcQ(lZ}DSCcGr;=DO2f&!bs-d0jX!t{9fvc?P-x?J#wO$L`3%qycxnCyy zEzfY{emK+DWz)e_gEyU#_Y`J}>JE2>RX*9sBUZt8T@+Tm?=CBc*P(^%d+9RDS-l4{ zq?Xx()`b+lupgH@REIjvA88h4J;|PX!~ca4qQP=|0=k8Zl{H{=@y~r75@|X?Atf<- zjEu@2)+c0LJ-Z>!Nmq9z-Y0KaH~xa@RyM3Z>)zhx8PXLSx+fB!R)~zjKOzP(sIoqE z#KNkr&E9V556eurz!}8p{9#t=UGf1d?T(6lwx4uUpf#KNnLF4QPpe-_c~ev$$!~4h zoERH_sqO4mQ-TV?Az5x#%cTDyT01MEVt?-;^HaBX!!+CL($_bPnd^n=V^0ts6s+$c=WZdWBQU+chu~n)soyNZ_BB}8jKl%whiN1 zuX^{$c3;>zCG=UYq*%FfN*{j2w6R7NqV+jOJojSnUF3v^f)G?uL!j;9gpL8zmbmBF z%Ch7-X*DjQEb?R_h%%2b$?m8~NZE1hsysL98rF=E31 zQ^nomP_n#UGAZf|R3h9VO$=j<+sE-lIzYst^N`+aZT3c^*h!u9 zAq|Yj@vuX{!%0*4_v2 zy!|Z7rn%U3M;BYh$py|A+c$cJR)=Tnw$_~9fqNR>%h2z4W;T|@ac&{bB0Lz~B(umN ze(iktIBdQy?gdf8^7FO3S_dWzNHVelWB0TrM0UcC*=gQmUpAI2xtsp!I+t8{LPu7^ zMwzsEC$6ovwsUXqnBDSE?rt(vls;KEddZhhMUa?t%GZvqkSVKaZckT+?MsrBtllYp zMHyl76eN3b{Ii8oUK#F!Ie!>ZK;2&FVy3n41T$A>gLPo^Y3AM0hKm>ZjP9_W>-y{i z>D^J9`#O}55U^ix9?dRwvs9=yHoN8==UBFuw25BE)ni2`Q>Cm!UHUJc7HB{{y6Xpx zk(OXx)~QyU^kR$ljwd+5ZFZd1XfNu#|KXOmjzX1pYqVF!sfUoJBdyR)3GfjFp-jD4 z()N(rgsCNyFkwcEv$VNuomg;3sXX`QZ5OvKWe2ck-)z_}TIj5=g_a56U!M=PTo|c< zE34w-n*B_~GAa&i`4D*nD6xH=o>i~P$YOU+^38bbwokI-@58-s`7JCI9hK;{$*2iL z+UK4*l5E3uf`3V3WAewj;Cy?{+!#BS2#879Q-%8178dJqe`L7`xp<$k*nQChvxIrV zK6Q^1vnWtt@|R@ZThzOSO#ik-$;Wop;jLy+lJG)x-@)4X{KEs~F7?@}d7+AEZL19j z=8c$*b|z}}bBCp8H89jkTMh)WU=N>8`=pw;C|t7R3C@56kCE_duYo0fJ=4Eg?MqU6 zWQ$SL#wV@Nz57YGu9+8Io(xDV<3XiJ4u-wyNEqcU(W*g+4SvmT7WvA$HD_YCWBrpN z^XyE`3)_O~-9&oi+?STDPxcv$6VEhuPkqga?@Q0s`8aPv(oM@Y%=x?o)0%VH-g8bQ zp1Hu2u=&|mHjjCqnMbECit9AzASYp#)x}n-!Z>xUE6K-XmrG72GI2HOqGm;dUOwXz z@5>d|*m1aAU*U^YS!{l7B|o2ab1W%%`eUb&q(`u5dJjk5sJN?mh)%WmHo=7F)kbc+ zU%x`^zlUvy*XwutmQJ!bYvl+?TcBsJ;G=W|PT^Z&Ulal@F!NkUX=P}Ll<9<@$rq3YT4 zo81hAgpn=p&`tU|{E+Qcv#rR$cb3OJ8=zyGBie%r5aO}8ey$z{dq5w?9jg9_SaT$IGI~>PJfeahhmfZ)3Z|%tUDKp}abh~pt zPw-$B9GhlxC8N!f_u+HNVvSi_lg?#zc2NUqjsg-}@jD)us+6*;PvB?op13q~0(NtQ zF%E6__w-I}-)om7KYM*Pu=O2@lfUH0Evvfl(n!VFj;F6=Qc>|ZXT_FR!bKw3p&6xJ zx~RrIj_QnY7f!tp#OZ(5cj_n};*3w$vQ$buYU6%7fsxk%!98&IMegjbfjd2Jy!e=Y z6E~aoi(6x|x!oI`2jZ@Ve6m^Oi$8cI$-A+=KDa0)v-l6oKjYh4F7tK2l|dEcB<+BP zF`iG0Fi2Y@Xt*L-bzNVW)i|1`b7}!e*|q{a5!yv0Y}AY1@#hKV6E0pK8s%o8rE|fg z676P!l}BNOInv-Azwm=v%q_IqqZzvz!?7>7+SIp+iXkm!%0@Qn2^?h+9G@ZR2)%B>-G?!Xj3UxTQ#Otn03_zkyW@(cY9^=YvWAG)i&VJK8m6`Q5h*5 z)wo0YyKuF}5|T9wYuRmhlGc9ylIVWv(Lgfc3)EAG#E(CLZyU5&n9*|_+f3B3m0#-O zOa~3<&X3{ct>I2|trgDFxYji>U2gv;ioFofrb2TbqT`TNoM}OOp<0&#-Smk76PzdI zkw?!s;bh|1BmmLsc=~BYHo`h~@Q`8yfB=9)OFg{)l9~HXa)nyp*kgqJ6N!n?h9C&ZxKljTAovp&%C0K&NOL(} zAPE|I6{bNhdm&%?PXZj1z8V1m&puyv<{=1CK`h()vI1&H|8T2jpxQB`~r3QGK%ey|M#n*qK_SivUx*fUe!Pfu%k` z*6z}{Pyq#2p56SW`-!0F6rGBd=UCWmn-igN-5d&6>T(M+gi^*xDsP`E<)gXY3Tp2D zA59_f4JN^rQJ7K9Cq0R!t$m^`_|Xz`jeRsE_`di3V168^XAGox+`dIJY7t#OX!pC8 zH8yqoDq-G(r$I&7&ma_{vj_A%b#YR@tU1tALyK70R!o(JOOczO6pxXg)> zrT{=dzrV~-95b}mcygUQT<}k}aG=?9j+h=0&tr%D#Mlj`4NBt6f0A0}U2rrJe_-Ug zph|KO8SSN4h@OTudnqIl5&sLgGqW%-{||ebASP`fgfTecAA=J8CV4f4i~9<_udUP% zx)&W2>0qZ9+wxvls2S;o@tG4+00H+u_kRHV(y^$q0e&0|*JOq-&k`K`)HE;2J!5MhWIwisfdnW5qTrvP zpzGzZ2>4LUAQJmEvT;@|-%q5bD`RjS_A5>xn7Wj7A;VF9=#+sD%|}UU9($=}0oAdv zCj$`p700pc>uvR}9F3RhjO)U(k8erK<*bpI(cEgZSUkbVOG?{HdQ@e5;`uuDvm5cV zrA8!(Rd7m{kxj&5%qu2C7`l2@2qI_bu&XOgkvT*mN8O|)gym+xoYX=i3kbb9hngax zp+869!6jz`u125e^%w}KORg+`;v(MMj{Vp6m?D7Imd7>peLwv{%qGHU%@F%(Gg$+? zXErW(PH0|hT6?(R?Zm^k>+3ok#&{ zE1urJgLeK+)Ct-GgqwSo8FKJcIPd})10|yKhruNAM)Vb^$MLaUE&cJO{wEV*QeVD?%B%FPk1%o;JMTT8-(FaB1pDh?x z5Hmum0RsRIK_!UD*Qkx{{fHPH17Xm9+GZ6+=)f=zc*FPUWg1Qd60L=bTcF99Jwx#i zbu~M9@0jhQZ-^Y()8Mu0+@~oZQrQyYlmVf?*g7~sk>?8ZXzG2^eZ+`k5$UW7999(Y z_CNB+UrR41E{IPuL=eB#RnqF>{Ppvmlcs3FGC+2%^uA#0dDkfl)36|?I5XtD@V74KZr|Ma!!n`U z=c=b244^}h1I7QR8WCgpoPImIqo8^kh44eMUid@_TJ{eL!rUTCh6pG2m?rsvBfl7e zC_cWyDi0l$@u8$lW0KQG5w=B9=|m&UL2}7gI*jN{(`E_i?K%5S+5gCA3n@)EEw76Z z*W^QXDPc1wD#(COvD`;ts1xmXrB~M@$!Q0^wjfy_VD+x91j>jM>SIc5FDKg=Chn~R zGcTPPk)rtp+2^7G@zD>Kz^^HKP&CqLnZw6Rec19&ECLNF8D7}6FckB0|7Fz9j z@!`pTDib6tLmVR;-$MD=I9EbpW(y1jL#y3FT?zMXiGv<3wcthchihY zHy`v)QRczxi7-TqbD0&p@?tn{y0rJrGmEQG1ilAG90%}ZL;L8uW6_Xsy;a7haN$)F z7vv8(FrdXO1^QbAs#S^kkGboVn$3>(g`36jT>|xMXLXp=O0Md>)Z(6;d||M;zpG7! zBZxp?#NK1G7&2gY*`=w_(~YV#7AQDDt@87|W?y2(grgqaIse2FJI#D{6kJ$iLEAMf znbz{|#SvF1@}Fgo)pK@)H-Upp`ea&(B-xZ+0K{0T1brexzctdu|~e!3g}4U;l%)^fqu)v9?riqc{% zDU9YXZpbiX3FfW_)!G9VoS)#JCb9yFg@Ns}sLCDS3sG>@34_<~DQjeaBr~-L&D$)m& z8n*E|u3(^C(>&-6JL~DOIduLtc{Svf+V$X5jdw_D&aTYfeQl*lb;9!TrRW_C52W5= zYn5{)pycXO?TgsD7CZXZb&!$cW0Me5;O}tPbG!jIw-&4yl+^4*%R*~#4PHCApILp{B@Fml+^ zD6^3;i|8!(A~})g4;t7+rU%d@4MFIg%kHS`?%BScHSTSdE?3l zMo0uuRT~ETW1tsl9h@ZHy+hg?r=@{GPOh@e$lgCp`*Va0Y{;)p$*IUuh7f9|Ps7t9 z6_1ZyZ(XG>=t5>FNcx3YvomB|IPSsV{LSI&=Xqi=&FtP0$E59=^JOALpV0=mxby74 zkbFsj1A$Mwsdd#hxjD=b0}rc9kzcqCTxqswQIWPt4U$wP6D4S+Z|{>AuDB zf7sNGGSAaIla9Tey25}7T;6Us?@N)f`lkYQ@r)xqF}afW&pk#n>~TLGwJ@0q{_Jtu zgV1iV!)hg)0^O2B-*_-LFI2kyh%tn!;l3%f|GUU9Am`2;*E?_@B0JxX`~VE3+lv^&k{G2nn(DQArD4eUJR`pV1 zC>ct(3U37+)w14G>+0w+8=9;#FJzQ|H_9mV@g7g1QiM=P#4*v#f0r2drNS3ur83 zf3?SnEyns?`*-SZDcfeW*S9G}*^pOnqO-Mo@u4mkh>CEkJ*`~7fsMyBK`qg)1`6n} ze|G7jXD2jANF`&h>ts;^bM#T zJ$fvY>yYdj!B7TPEG^jJI7UuDHQ{Ji>Az0MoK9ykjc6*K55Z44ni{j75`{kWd4zLW zW(1fRGVh?N%}5k5_YK3ErrrNSeoL^d>bp##PYpEhgn^Kd|7_Z7Q;UN`|0A{Iz?G4S z#A^@|^b_VXJh)(0mmS)Znc~Vs`^d+PjPn`2Tz76g#vkkHz&o@n?j&c3vh}bsF1s$X z6=J7>Zs$mE7qd&3Wd?B6?N+tMeM-%nu`>^=&$N6?HQYWfRy>=3m#vhNZ7k%+a=(67vffMM?*!6Dc9;!AA8o(Ok{tOLD==- zk0%RldUO}$`pzA17Eood!tCLQk#;f?hh_@R_1;{UeOX6U zz&w=OgZlGL`gqGuGWzQa)z_nCTJ!ydRC~)YkchZ~X{A%7D!_F1{oP>v4K*(L`d6iy z2h$P#4zz8P9qJEgxExcb#Yn*I`eTyIgcI!Iou(meJ6GAc28^YCY+QjiY!OQEefHxb4ty?JKaecxvfO^&8hiWs-u z*p7yppLZLKmeq`=1S?J1(>UAj16)xyTT!@oFFZC~9MmyJE7Ct9#aCC{Vxr{YH#m~a zgK)u^D_JD(z=LO#HhzLF&49{b7zQsy2JB7t>CIeoCk9qpiskj zu~6XW3o2@-XWmlt>)5Fs?)fs$J-Lf7Dza>=hnF`bjUMeQCv z&ev?8vl#76`|~(2=?G()r4(E~hAd?HQpQ@$ExGehh;Ohz)T(!3 zMyYV7aZ5LX&mLpB%bNR*5h8QH*7ZG~3hIA@qRi}zog7D@g)O2rR+uqOlgcL?M7Oum z7@Zwy^ z43?WOd@FMYPF+gwm_Mi~DIlDR zwVr9-^@(5eyg*fWb+&L`dfzWamp!1leA^Hzb!vKerI|3{hJ zQm`$}tPCikOpDS;BqQ~kncCo;% zXJ`C7It-MRHuZ&@l7AWzsfO;ro&J}Ljvn+~8#K>hp`6A6<#5&~dz%QBZ^4@fxL-PV zZE&N{FH;a*VHi|wQ-u;@!8`e#Gwcb&cJd=R@e2b6#$wB>yh7XZ zvxY$>f)fndF~9i2u}uGQKqK-6OmQmOS8dWQ3n#mV)_QKZUQHrqFX+050);6%< zyv^cjv)YEXe2744Kvb?+P&d_E^FeE;HZi5@46zxjUg77~g}qRPD<;5mb^Z6Od>k5g zlt{{79vM846DwKv@74XmojU%?b_~=2z`p7A_QP8@GmE)b|9Mh#X5Fd0gNZ1 zWxCYPXIbr~dyyX|<-q-ryK>~P?sovV`qf6c1XJiw&g-)yRnAv7CH(#lLm*%Zz zTtj|-HGH$2hcV>KMu2@uoVUD>2ilzmV*d@Yi!FCLZF3Wx&pLUyZHaw9ChnYlNGUYf zRu`2M;di*PT|eqx(1?52M)_7nUc*ABp0bo9{7_fvI^mi`C$CX#eFsZ$9t{F_%U$YU zwgP!NzDPB=3+|K%0yh*0)Ogts{KIpl=3JCPF2XzlGYZ*VL@Hv!$`r1`cQvLa6;JT{-wtSj)pgI9i_YA|>O{?wO%>r;{LiqMJ7O78KI7E#lkb?3 zDoP)Wp~{$sa#p9vCnL4qlkk>`CQoxm!0Fq)*4;4aPvs6LH4UY%h7#7ANmH%D>FdM) zJ9#NRL#oJzp^U@RB-soVjB-~>cyDN|@H)L*{2a9bdcfNMWq_H$uEOgF?>1vox8%>z46Sbt!JGY-KM*$h_=f$=Go zk{cYk-p>5|ofKF5G366O@J*O~NEsYf8)NY1B>l3BLZ#J$thJZF@!d%=5}+$&HGko` zrIbVbiaun6l7^>{E#O2B!oMCXuc?T2-Zcu#e3$GsqPbS>0B# zBaNNeHC)9fEoXARRbJfqfPh8DAYUxGi~7yiyiMo(ZU_`bgs49@2taUzFa$`|U_8$-t?A;~Zp)=}h^E9uoz+LgI?&3$8@an4KsL2N%=*YMQ%w9h z5*m?G6{!?~wCl`~Nga|#%-d==At62NAEfLwfIqgZZmW^`qDe3Lj>e-f8Jtv?>QSOi=^j zS=s(39!0yHc9~fxHmy;vhqhR04Xls0$lo3^#>d&iT9kZsW!b%6oX(CSmxU;h(Ml<- zHOTB~RM0JtZYJ1{Crh47sXyld^tG+Td{ zTRt*kYPsBl31#T(<|{=+7RuHG7CWUR()@L}D>WcY&CiksxZbD_WM73MO1_8`#0$_n zRC0yOJCAQ)rzz$(gz26QvF`~?YxxgO%@!J5YSR7{shULoCBlHhbYz5Q3?clYXcKRn zu}8&*67w}4uE2{OU7z2v&|!}R=`8F@G)qyRl-2b*Vg9|!ztqCOS{KPeKqlTAk*H_@~5wMiHiSks#2UPE0^h#{#1xyMKWn1#VONUbai1-D&X z?gmuZiR!n`!?mwL4=2==jffl zv7bu2g}g!*k3$mee}%p&XpbZR)=IUW83z6BTxUu_;kBxrVfbKUm)VW<(cg_oUV?1X zSK~LjT%y-G;YA^{7I#tc9r_cD4VoZNE7$9nFlkZ-1n;#zN8PkIP1OU|aD zOl#m)i3%onLnCcOHRaoQ>{UJKRm&bI#4WLa)Q3Ox0R3TL;!FvhLiu1Ex|69_lXeYr zNju92pKb~U2q0Wa12@Pun}A9iRhw+6(mSbBJ_Ej`idzS)^dg7A-Ba?u zx+;aW48snv(kbeM0i8_{?IEoAo%)&j?;o_3Jr3Q58y~&nZO%Sa7L=_2Vn3xl7YAvn z1tpkfzqh@HDgoRejw3)m9hwLpuK~ZicLt61r+r{+TuiC%0)j+k45H$lOS@iV8e{)d zF7|a>>Pt@fmFM(id^ls+>pD^E<+%`;B!x0&1r@1NY!`-{BI%VZfJ`gU)ff2zaVWf+ z$<6{Ni85T%>5)3iMzzqj3ZNILDyKLT!L!&(|-%7v6XNXUiu zu8lZWbe`&v%pi-r2u;*8eIcCcFXtF0HC*K$L3Euz8n7o+ErX#N^5`4e$h9}m%+Wwe zV6#KQ&@?cNh7t@lLsA?nh~=c(BQgz^Y_G~8T=*dTftv}ktD7J1a5l#;kcTTtyJ4^r zja+c#-No#@fspq&12)XbTh@FfE*@e`Vi={w{CBI%&-o z>OXk~uc*tllPeC$>n{fB-Wc+yCbJYyjaJ*Ds~A@GyL_gdn}cF5RP2{8E2R>#BkciQ z`@7GM3<@>xut9cQ2ORoTp3>I?@lAftZ0D_CZ9@np!_gft3kdssSSm&X8F|k-qzNC2 zXgeLsxaZ&{-DP%&6w*Q%|ILB*45Mu7cG~>6u{#?j)0)DO-a|Cgn!{U62!e8j3A)Kp zM;)kc+;ezbr^)s&Q%B2xL~X9V#{7n6x_>>mh!j{p2EcSD{W@N{fd0VJR~{}^8}+FC z+Kwxv#1&xvtCE$Qem_hpezIQ`6rpP!76l!-#c;QVF>i>6xorFg$F^7@Hg`iL%_cSG zx2ORn6$j1K{yvz_I}FO|%mow*o8I@NFPSDQ4YdeG2_zFp$p9^lvA8)m<||D(cKobv z3W0Njz9pzk@v418TycT-_(_Pp(9i?|66=c(@ipwbtZGddOW<{39hN3Ww3r%WN1a6z z<9KR6AG0-MosTIrd*415X4_`jMDDKEvvS}xvBcchs7_M;g0c}wM&aLA;=?s$`Aold zM%{W<2l?X9dUjhVsglC~HHtUs3X<8rsKlzkTKu%842LGVNCH3R@_kCg`DKM7o#eO9C z*zHWL54~ih77qKgO^TUOP5_F<-*ifgN9sh2HxQWuB?-7VKrzo*UQ%*V5xObhBHw_H zjh}9~gj4V3EaS=TL^{elO5c_$@UMLows?WbW~Zz3ly*El1Uhl$V%UHWsJ<())tl=; zT9)o9%7TtN;HsB`zvVn}&hR#J;)rYl$xBCVr2vMz359pl%>Omc4pb!~#+$%c^ha~F zoG3lmM3{s}L%*YsH)(}*5UjHfR4cOlCMZ3z=DKr#yY^ub0Tnx9QTG%qucSbjksbqU%MqIqnx(5$K| zEj~8z$e8c8&}eTqVrwMFO=F(M={ctD=KUYrMV#G|=J+&NQW|fXRdvW{hVtC&qj$dn z9PQTptR*{V0nUuEx9ernDou(bb7=pFSz{dM>h2QQ2+)l2>r%XvU4~XkJd$Bic=DC~ril zaTGDv*(t8KCEcG14d~SqS~nTCHmhacUKM`n%Jy7<{6jk?XHQT#vh9x(3=pgP=ND8X zrUX6f(bc%A2s4(J1zD>4oasL6PbeDIN9h~5Ys@CoKO#ubDAi`Zz(L2Dn13HGKL}Zh zKfEBU#YAoL0thba9zmKhY(*nZkWfhQ3?BO+zFZQZjv`O zx%l0*lxq!pahC$;tvgw$7kA(lb`;XRq2E#0&^Qm-D0qAVsfM*5UYtSL%1plX2KQye z=r!`wL{3qL*T<8JEZ9if%=QAj+B50%;$za%jW8 zO>xzSSQI*`4tO5}&jrX2V}i|eGe{y;Ro)<-R4@MtsozR&u}83E7$9Mj@fLij;;HkQ z26(4%fvzX@m3C{wE_n=Uf^3THh}LqY44kYQKKeV#Pk5t6mO~My$jr+daZ$HCjxVwUWn$L(d7a}}&CSd~o1j>LH$bt0 zQosxSRQRp(+!1o1@Y!lV%UrW>PebKu7XVp0j9;iO(zg=>r`}1!SfxvUkEG9Vd6o!pFl8m-a7dA+N{Tdy# z`E)L|AKku)y3md>(g>?6!#!NviPC@R(ET;IyJDDWUi|Uqy?7 zsMSfPpCgd3?`SfaNu^&*7$g7`gM8=((|@dsc>HG)lNx}OLCw6= zd|_o_WZJBSj&?zPwMp&rN?%uzxzDPz%IW(R?-ziG1*pIRFaSWHSPl3dkP?Ezd#4Bh zLnPHfWR{R*b>RY0%PIty0(wZcCRVqdMp{-Ip52-qu2{Fd)`F;;?)$8EQ8m#~sdk&i zLlLRC2@5I`UiQfN)ImUqc}L^`!T;$*tS_Puc!huM-fr1wHrRG)6l8jfJV)QeCdrm+ z0fq83o85M^+w5L#&eU+@saHm+z&Ks~xp7~K+(uVlUAq!FexCV@SFaHeCTftCSz)tChpk2?Y&9fJ(-4`c z856U4FW(kfW$i41NA6lV7>6lp%*r<7Ka%HKAFq-Wnq^nm@|hyXe~Qp%*H@m(B$)cgUXNx(J$xUYo`w^(Nsnag8>oYzy@Wp zARx_X!(Lh}>0mRDDT{Dufknj8qI<=v<2jp#Ub1^ZDmtM~!$iP0j~xmVzuW8*{#hvJ z?=&hGkI;ScN+wukKD!4^=14JT*+gx9U2vH0h%SEa3W+~Mdgt5jAc^IRoEepzxK<}B zYy%6L`J2OEN`mBeeq>o4@0W5Jr99nLWgL*wj-n!g<{y=K62T!1*In5NyV7QrW2bHW zn+fL34fNu|+GyMMxS`CA7mM;>JbR2*(v?Jf28H%Eg2DT!8!RIs0xCP5w?SDj5n_UKW@URr$sv2lN zN^U~)x>k>_s%t7U8zQQw6LS#5lU;`wXR*E2c6l0_&TucN6QK{75^yqwNj|gXVdxOp zCjq_Z3IRDQ5NTY{nm(V7-aBv!cZM7or%j-RLVpAtN&TU^B2HGH88Q$vN6l{sJqUt6 z1LOuOd-A{+eefDMvuBSwtl3#scz1r@Gx=uUPtQq%Z=vaIRg@ReMmjM_8YNG;7jv{p z*4BimHO^LLA5EnefqteQ7)?oOn-uvX5N_Hc=1eW8JQq&hK0cd&A)h@<7Q6wSz>>Xc z8>{uWLd=s)Edk0UvX!=0FENC4j5JW{<}&lwxuf2g^Pyj7XtWsCPe*jrQ+EQz5>S)c zY}QLC{U|}?k2k4u;C(V4T5R6|e`N7DG|Yjx6MQ#9d=@3{RJ6tAlGHSo-mz!Sz{!~_ zjBi0h^qOVH0Ql3hG~|{*vztW;$QXx7x#aR48pcf*VrJcE^&dhrQ%I0C*$GGI(2WHQ z^@;C0-qy&XFF9r`d#>`@S9C8AU5#=|R_Z!D_Ya%`T>q(GSgdOc+*7Tma^Nan?$&p5{ z*ch2zAlEjVn`o3dIZWt9&^b>f`At_H?{2qXkulY1H9JfnRBVisj^`Mu$!%%a?O8z& z8421%pMljB+f~nWZHr>r{o;>&?aY$FtIOsDGs)CHrETtyLM^l8+xU#9r&qbBeWt53?OYwlctdx|cIMx2&zr5hPf@3?9f#^qcBJW2{SS zbbfPxC`-QxITHhY&>`pw5fhB*-<-$zc?Ujz@;kE57Ju6k0v~R57URq5lGd**7!Fyi zlRcnRjVXAC`~uF^;W*~U&+3#!UF7kiBL66dCk^Fk z@XPX*yx+72_lDc1Ce>PM@``vOp_?QP^V>}N^kA4!NwUlOZ-_q3~0y+ z<9!bpWaPp;6B3##9nlHG9q@aP=AAeayV%~|e6~&LOnsv^;`;bOxpkL?wPp=74oC3Z zLEHo;_C(M{O+yep6Z`yu+yfBj1@s_Fm-FlRkSeV!Ni@(UH0ia}3Cqll5(0cK2#4r% zvy1|?gCb--2Kp+MPzjOg$O~}I0w_i9W_)5JtowcBL8Mnm4gpb(xxx}1n1!hdik*D&C-_<`kgMeG${G#ev(-Y znO&+!eNYG2zKs^3U;)g^0xmw7^Lk6@(SK+IUggY&50_t7`z7<=;x|9LhhmwbuauPa zm{Wk*Wuq|2XQgmhc4}7Bm@}6~XK;YlYArY;j}@+fR|Rk1j6a4-`eWfc^HYZQU8$r@ zr-UAF8_fl|JHc9u+LVmVesQEsQSgr-__F0eK6DG8TFoLMn)jMy%lQ!SvbfvYdQa|{ zdhxOZ9tfett4RKYqmh871zN_zCGZ=b6Ji5@PLhPdc_b{EBZP#=5GaQC2tF?Kxo13) zyuYwvs_(njrS2~Xs*z|v!^mHjpYS_1?Zb9h5tGc()>b!E(ZsfW}+tgKX-*^Zmo(@e9%$ zqn(hf7mnroR{in(X+Mp$>$UF+vy*b>gyp+w6K1b`^kCtgNRQFhP(=6eNbY2&9eOeB z4!@}_s2X?qvxZuCu`T&KG2y%|sP9t7@l0*l2 z&ZlCru$ILHFQqfwzPA0Nf*5v^k1FV>$q%n!Du5tItOD%$1c~5y?pGCvL3RU zBq=}=$&1}}keop>((~77u0WMfMbw-3w~`}NXIVyLsjI)Q7PwHLy5d7gb{-A3gY}3U zWEm+3-F5a$T@$Y4lwQgFAHEukmhQw)jd6JC+MO3`(5v&bIUJQ*H8gf8^Y1hY9xqPN z;+0y5Ytul9#yL!~Jlr@LA|a3{KUnmiIqLiYyucl;tOQLXlFziV-HW6pltbdWJ;Xis zi9G-6uBZuMqXV!)yKG3KsBzmJ)sZ6O4-K#!-(>wIs7xoZi@Q3luA4&z>*TBcTe}DA zey@c$8;VB|e@Pm?bf~B4u z-E$Fz7GbSUG1_U*Mh44B+Z^d?MS$;L?ZW_JRVH0<0o6@&$yFyg$X2vLct#->l&58q zzmZ>-bE>l+m^hki+&!k>-^SF7Z8iqO=7974JS+Qzx~RTVf|&z*&!kPopK;Kqz+wnr zs{%V4eiyHJiiQE~z&ubTqdf(4`!fa@^0qRHoTH%Oz;&>WO!ID**Ss)L6=P1GD+!hN z@G59NV4%16MKU)KTgIqT%ey7O_MYLCAeJl~>o^ga!6Mam>zOZNP(z$HS^DX_BdxYM zzeFDwFWML@N!x3>lF(qy)`YT0rk8W7RnVLM#5c}q-h<=c#WrFIt=^*ZQ3FS<7;URy zGu8$Tp)9M$V~U%+H!|odyj!c@&B#L13dV1UPCOP(&^jtlgvVALg&k&JY%>xP^y!Ct zrY+U&-e%7k?Ecer6QAb1(}g_-pw#(y;MB4T$@Fq;T;kr7jzFu71q8Y4!<4St9`d$G{K^GiFb z?ZT1?1>QtE!#!pX7e*V|l&&q&-5oSw`n&C3Av(Ohrx+3U$dKr zOHum0A#9==@Rv(Mwq&Imw7iTAn^dB?ebKb_n^1g@^x~-01Y)#o9x0tgK1vjE81VL& z+~<0Dl9zSMiYT+EOmqJ2>QP*Da)G?cqo?k|lo@P1+D|GDNU7cHo2Hrx4(-hYjvuI)uixq% z)kc`#j%`&PAHYUh(ret?QvY+;{a9J1L&Sw?HY`0Kw;&A^2A46EI*+RKxDZw92dg|`Hc)G4 zGd+K$fvA)NOLC0stdvA;ekuO=(CqzG^!47Q?Qm4uyqr+E)}hu5_ItyTTqB_o0N~^ z{s;0dPM$X=$)TmSfD&7A=vn3B4wf&X<%RTVrZ?=E+*?-`roU0G7)L+6e9)8G)oDYN}(AGVx`~iMTv@dSlukdxRDv0$OO* zkYaJIVDTCK0@BAT`}{oGJVHq&7t8b-jI(O!$@A3KhXv{MvGQ6PC#kPR{%>#h_d~Ng zieMOUQF`E;nUCB&5m)qUv)7yzsOl2*&@M+p$zM6Jlfj^}C6YoC zB!-|0O(5#`HI)GiJV^M`hqvmE9H}wjZX2T&Lg^Q>nbvwrHEa+3zN@L$XBxy1Ymf~D z^Q=YVXZ{C-5d;3aZ&HJfCd*Jgr3FZW_BvzNkv=Z%Yk&v@X5i>Q38cwrLDpcG^c0Z% zuz`cWw}$VKBXFiN!W5!VO%MJj$yVX;tMulA>?i6~=wq)&bAX$^eF=qn=KM5)&o_uH{vg1QX_C+QBM1nHtcX$-v1FNqo~elDN(NK@AGfa0Is zF5I9UQX#$6*W|}a!CG3+ECUa(&%fV+SCGm42GO|dx;8Q_v%}XlYs^RTXgSUi1k6Thpx1a(3XXG&%4Q)ylf%c^bJGQ9 zea-sT8RPN%O}VICDWmjq{sZ8LMMV8SkI%@_DHGHiL)WnNWpPCI#=OV~VBr7o4Jz`0Z`+<-&s*D_E~l2?&J$}LnblO+j;!X(lMUp}B*!M5 z29lH!DkMbWFn!@SLPVm9yI|-r6KFpoVn3{XLIL0aPzJFGhCX3=PvD?g*m#g9*DqwI zD;7;%KIQ;lK3^X?ZPTw!Quqjd3Kgg%3rG~OZ)EOB?=60wE_cv|M#ms>7UWXQp?yik ze9^tqqF4o3A=S9^KTy#W4qPsA1uQWWBJ$0sIzB=DwqaBGFm6WwAhnNYx0xLG@+yNr zN(L?{jtSREKm~5f=f0ltfDYHxXE|P?;^}^2o{EXmCCHNVWl>wtL@$KCjakT)FeQF) z#r>1RTa-e*s-rHBGR_yiO6kmsB=GQAS)>u=;qu~e6ePvV2MLFly~slOnfhMb$9d6> zXoaZH57v{ZhMfhmv`P;ucmkN?Tj0nW&GnTvh{_RDW@p3D+arWch&5zG2v`jcj@bha zoIWT=WgA4~#~mBeE5BvNg^?wTtK4CPs1OGc!{jA{U|U2K!KM^K`nO0<~OQ3)!W5A6iKFTpR~ z?i~cUEXOgTI^K>8_m{Gf)VhGPhKnDJMxL5~obv}a{}4|Fvq6tki)rYX$BsbfKV1lf z^idT0Vj}x0*-!R1h?N+CJfkXjmpYHE$=LlTJ!(Xb`46g^v755WvZjQdsyf zBq(rXp8{12)UzQ;)&W*JACWFwPT!Iv?CNE)l8AXZB~}iL@qBlS8{$~M?PSo;fO6aN zJ|OMzsK~$lX$uRT^u#CyQ^)ex{)2HUpPR&NQ_u#>5ZDle&yUF8x73;0pavlm*EN27 zFl#*5^>B+}C$NXGwe~Yk{klCX@PKc}#KT#hVzJ}$Z`_FPc@ris)WhRmSMN7RD#u%7 zn{U?l_nr)Vm;Bf#DO0*`ZpF^yMd{%j3(XdBoytxd7gQ#_-Gj_x62FG<{lwhjNj10m`Rb&;m0y695PQk_w_>9qT z@=9Pof|6!9WT{9{u1fU8d{)|Kl17_5<%^7(d;ze52mu+v#xWO>zUYwErI41z65|0E z<~R6(OvCK-iUqVkfTjvc<>SRgj0Tb-`L$6Skw(Pht7@93@{I*sRD+=NJPcHZM6Kdk zG?PvLbPFj1W$Yg|mVp4o6M1FJ0QBq%b}x1$OVRu~A2&LY`f96S+m8w@)IA9v1|7|a z>dB?Jb~f^`Sk;)svJ4V}8Su3#1)K8ee!pR|$36p&27AX+b$3|F{5j;S82(Si0$ zts+o^7zx_!xjmJiA*p9nx9@LndF`!h{9@aaKY#HLRjA98Z4X2h3#}@wp^;?Jsonk* z7p}%NQKsMJ9Q4 z0unsfRm8-?j0qQ(K{$liFU*sNXxqK*;SPz`5ZJH&%ockq6{-p~KOHK8E-tmFl?Tj1 zC~NC)N)@M)^|Dli3dhjw?+lr(Z_$8?LDoPtA*v}4v+-dSR0mq)Ra+Ih#ILh1QIy6` z0^h#0RZZK;VdI=@RfDHt=_T>_Y}ev2m|~mvVfNQAx>;c5w(P z<53cUWV#o2t3XpLu`Gjn_2_sG_O+H+`TFcUhx;Q&cP!Evw5x0+1Z&p zK5_9j4lrHf%~;wCOH+Q6W`?m^NE`_!=4MWgXB1VnT^f84C$&0waVUn&B)T=q%v~3f z!_J%_k!Xg>GFH~i(w;vFL`+3m?BAS7s2HvoVyMI^Y;W#(mV{=DRyq$^YB*rU&{(+f z@Gv+-@g+e2{P>M`ESy4huqH#Hs`2FRlvuX1;$DnBwuSC_a@tCdRhFR0dRP;f^rmI} z&b5+4^mM$cQrF)?<%m|J&`b+gE+POyK)$~Y1{!kHZ+nqK@(2xn8kWQ?kyKVO8Fl1` zozgg!XHb0cWVT^N++4O6Y=|b}JH?I8P_N6^MXOY8o5&jvb@v2M} z)!cq50}b&xtHW4B!|Q;XrePQHJk?D9B3}CZ^kVd=#)byn(NHD86{O@abw6LFG$-Cx z8J{~pjb*##s*xgDEVj0~Q6I#lKdxG5IWyfPBH!WlEJ&$(Doe&A(i&uCpyE=G61dUcBID#Ug<%U9A7m|hgQxMIIHd^DRF^rbE4 zciYeql9nIq;T-SvYLIi;#7_->#{Z#2ew0j5=)C9hYIix@8=4zaq+XEh_)HBNn}A5x zg3H2HBv_$lLT>Djpr?SGUqrcf)Re4S%JDms@DLF;m(77qo~*nh#GQiDlx1?cLb72dY&n%W3x(6QvZsCJyAt3KBKYcT~ z{X}*4#L-7?7*6?QO9f(y^H}A;k5%(^%`^-QC%(^;>;?K+un zh@7wOuW(6b>LB)Hf^A37O=4LVGIctWJ>UMnPEOXrsDN}BPEZ6w%ahYBNL1nJ3#}6i zy&4^EFlA_BojBSt>os#Lb4g~0B}H^9<)oI@y1kW*=xG*fQRAOXrHyZk1X#OHmj%U- zX^Y_vQi~3&Vpn#o2hL!PqtIf_(Mm1wz~UXuiQaR+eBr4bIhqH%+rwP4h5Ptp70;rl zR-C8JFgnUHE0bRQ_ysPl9eAn!4#J!8T=^YbwKBD)&@2|Q-Ox;hxlcTrqM(D|RP%Xk zJrriay|I6?TOkFquuV0&=oqE85M@MBFEp{1;Zs(5qY zg5akWwa;{9Ejep#M`dIxo>Va(siXqouScaltf@B-!H{%S`CRK}v*9SBtV9PwaA9px z4%wVmpq4D;Wc2i?T|uctckb{zh`}C9OS6>uk}oD%JKLdi{L}JprQPE;gtE0=*LY{u zYbIFdXY~hq_)Fo^G~8Y6sP>VqnUR_{-BIC+ql!E!R=O_2hw70Uj`40cfPcY6wRZDJ zZ)WV2wil=)*|z>$6^6oDBLOqhK_OU^p_!9d(_z76Um#r`KIN?2#q#H?gEo|7_p&47 zY-ERXU*B!45I6;C%}kONZ>b9eB}jo)Jb3~^T#@K+7z7=LTI)0^BkW0w_SjSh{JHfB zCEj}eBRoa#?6B`!bhB3(*#=tZ{qu4Kf-?{(RG)$d7?lQsFK`b5Su^WaoJlWl!uc~C zhP&riVruxc<0F-}XhSXUY6qN7S;++d;E%dEx`#Z~+}Xsh$j??T>&Ocxv(TLjj&OBC zF(H~P>D-?wEH2nQx3Z*vD%O;gdck@7LLA91$_Fw|D0C#ka2pk|X#t6;{jmVTp_8RvQ`3gvy<-mWWmA9E!6 zhx5gHV1Tbv)X-Uk~1QtquK+iz`|LNgnHqv-8YHGqeSek z&MnU-%6f)xNN73zUOe<~Gna_#*Sn1&L`h}nSk+hAjeWWBHZQM0JM)HwzUCul8crU--JmUs&>)q6 zGL@d`*B9r9JlR9LOdJAcf@RdQuR*0v5LVqa=qW&X%8%dscT0+A4j@5>-M$Jw8jFf9 zIiqCJggv2C3M8s9_lY}tNo-gxT0c5g$6rt(vVFR_qMs5T`;mxpN+Ra@&sl@GB)EsZ z1>lkwH-}6h_~+5_vY3wrrl=GuBLlpAO<7)hLg{%q(^x$|RZmNYi$)}pJnBhIbq^1` zJLIZM6nc87O~(WXA@%ogW(?B@Qse3<=M1;)^02{$K&d z*|@DwPYuNyT?SW;8s_|1NKT-s{qauB6{pQ*LB>keP1atm{9xPdP5QsPtUk zX70vi6w>&4p}XO_V)M_v(7Dh+Kb<9CKiW0cu^agzJCa#J^Sl%fhbG{#2ysH#^Z%;m z@{y*f2GS0#K2-KtT#y6Q4J=7nPu}@N6WPzHj;Y;FALih51k`3L-Op(2s@KT=!2!SX ze8%8pFXhpnSW;Fv&p|n2l84rG7;|51*lAG{=rBHFJOlbWbUT7Iz+al?y~J zGhf2G`Sqi(I|Fa3SVps@>9?A-$Pr&%`7DAiXLQsidPuL6JD7M#2Dk(SE3%-iSSX^+ zd7JyjU~Ds<#gV3umWQ-+gurP$`kksZ=1N2OeYJf#Vz+;PFN%GYyHE&mP}+8?CdhS= zqq$%ZE&CaftU$DS_Y6*+t@?b&^fZ~`+}tOm(;{^=U-A=M zjRDb5fp9MQWF!S2s5nDj1kXH4pxp3^ggCZwlM3<8a*c4?`|Rw~4bS1LDSj-M7J*h9 zT{4x;>ChtxZT|CTpO82dwd+<-i7`2cY%}n9m@O5$ssdj0yA{n4aNXWNMP%0JqGxAtFIbdY=Y+Q`Q z-77j)VEN2X2uU*s?NWlKa}XWF zVnACLqxrNeOiQ8m3B5Vi^13PENoTf>V0Y47yNA(=T9;hvMRn11DiK)CW_}GLElx5H zHz=pFqDKR4L$(~tvjJT}#wqho^qikVif!eWi%*fd&qDiz*xnZ0qH262Hrzy{iIPC( zqKf60!ULXqm3v@dNAw``tpT2W2kACR_yDc-G!*wanDOCN?22^;nypnW;$1t8$~Ey7 zU4ladOrh8Y;Pv`}Rv9vUpyLBbF4AGK1_S$P@*didvatY&9>?b=dn+d?Xk0V{Pujsk73flOHInk zc`U|T?98%x&BvW5g4&1vnKP3hiw(JG6Pe6ETk}p$at#DFB`T>)j=y`}7=9y)O3SzP zech2aU~0IeevD5G3wT+Rh8gmvMbc$U+6vrL#>QDismcS95>0# z`UNwZS-d1C;f9oYqaL;X?Ll;ZjKuX11~gtQe(#~9Q8>7o!-G-1*|5na?4yZHMQZ@j zke{s%ev4!O;t^UVi5aM8k(Zl3CWy#^g%^&01Er!6nlnJeWMBbh3@-$a@*-!r*?|9)(f=YC?8zjO4?E_f*VqVnK{ z6Q5V9S+DUslcKj~5ku8;-LmnwP>9r<2+}v7nWsczTp?03?|{Oe(HV)r=;GbYLr!wj0g*_fJwqrpW> zdd{YW7dcCwLX3{rG7smo-VmV+5a}eT25blYh6+oHi826z^!cIwiPNtqC<;ZR23sZa zObs`t#$-&yMQ5C3*&fZ=9ubi?X+o25mfX95wd`=8_8JEe8w@(&kN`egIzkMm0Xz0rnfN01zq~@;W@WDIWVBlIQ z{cj6Z)l<46*C<8LA*HSmK->$f!5B!rm3b4)?Yy>Ce?!e3zZPuZOusePZ-2Vo;s)vf zQ##ve?=I^%z{^+@Y_ezYvVjB{rOFbze5eu^ReQ5=;9>1+#ln%uu-uaWtPn{@R@6B8 z(0l5=Xdp)*w>57;k7*U&bqcy^>n{uMFLIH#Vr~b3^|~SO*y%gFr$8QXqCSdXR#^V4 zhjbbZi*+J}-0bj>>6MDXXP2#}~N*v_*qu?fi;4*b(?IBKmCB~eb}eJE)P{D?mwJ^O_h_VI$38%Le{5PHqLmM7hyg`*}E z=v^s1Q9k+sq&N)FO>gNel1T4QD3Zed=~Hf&d36MaO>d9p^?$wt-Dmz%j!QKx*UP&O z@az<~lBVOg+p*Yix? z>mlS}prTjQMfj6k{f3XZ)Vib&dGPDU`jAA9?pU2^f% z*nW?%eRN7|8g|PS{lOnsFEIN8=<{PTIPsX>H1IE84AU=LLpSW$ruv>fe@0!Wl_+p# z`lgbI;z51~J7Ashng2A2H!h=)Nk)Af|7$*V)CD!THig#Ed<5bjvv~fK^C|*SJ1f6_BXB=9mmSz=z?nLDU_+MAZ)^MAt_wk zW?rvnxNEP+)jp&^XyT!n%#GO%{GQ7F-fN26Rr(UD{ffdlh%F`B@+M*4A^!f{9g?zP zah?(3{aE*kKPJ@!*853qMdQtXY9P~SB#_b%NWTx0VV7?q@pldI`-Jm(y z!i4T!y?HD}1wG09B5{-odQKuMR+HHnW(~Etjn1F)`19f{TMrKWL@-SA@?4wvMC`_x zq&P^YP1SKB#*)iQnNbV-!vpw?HX~+VS-K877QiWdEL4S?Z?*HZj5^>{()5veeKx&n zEx&fc_J{cOh%xqLc7GO-L2tH%_~JRMC~yS6MdpROlU~Ts2a5>;z6JJ&703#h*jBC9 zhEJu@pR>W@C|mM6@Kx@;6fAww{$lvmjv7mGe2oDsl}dd&FAJFF)&&*U&w1?w^_RPN z`j63m0qF@jE^#2fcS1PLP#>z;1dK($SaQG6#a&RVO%);t4#XRR-3C))r-{A056?d5 zUmY9!Ku?qXJx-ow^cC!WkAPA#BRf#es3Z_TN`bNG+-rZbfT08ZoX|srDZ}q-KAoNx zX16Xi%vbgbqG>5Y3cKpvU8qa)+a)XZkKJ;-?+}xXFWbLn4xSj5KF^DmDAMBqoj|V> zg3QN=waPRCr1huZqWIZkLNyS^y|Id%-C}B_`zo)m_U9_zhi@EH2gZ%jqHlcaahee>$S(xuaSkO6(8ZI=kJwC~i+!$GOAVnXxgBHiGL8X5r%&Meg@oiXEPE0+;g9VUE6rfj+Uw)nxyejTA4k7dH#m`vrU&#kK<9J;kusuI(#{@BhNik9vW;}1U zzXQ;m%+4S~X?R0_{ff}pK)NA=^^QM;x96-zXz)4e3=0>>{BZ2^?x4p_V64*n{226M zF>Np&CQLrL68B*|$S~+gk1DJ8f;UJw2>W-&X>bA6(_N?mATaRNS@(%fsf?PLC>gl3Z#pBhFUv{?=Gx8A7dp zGfK6-4#YRL&Rc$df0q!k-yJjUBMJce&N1bVJ9JYRAnUEcW=11_X~_9D*og;)-rtr& zctd?X>Yp8EtBb=FMO|}32v9Ze+Qo-Mn~xq^Rirj3g9%G8q>q^x^GpWRM`;w@^Gw_A zVO`UGE;fNDVj>~*Q=mqB;%m+Vi$P~vhMDA>mDxXs=<;UWyO?kCmKD`8?MqPQ22l~o zC3Ggn$uNEXVDl))0L}hU8oH+_g#F5$YZIm+31k=Vo|>8vi-u(v#F{!p z8hOvwjlH0cPYfA zRBP`DuZjPnt#YqXD*!+ktiU`_-;#fCkx~60w{2s=yMsZW$OI_(bwmcFLEwMJwVNg( zY%==|+wJ+>!WNCzZk~s!z1bG$(Re}PYz^m`NFK^U(8i0RdO5*keyHX}rHRQ>3w$JB z6n^#qKolb0JZhgWj;q`AjoYTU73pSGLz=%U;^ssY&1N$p zkRK4F3cw$tlCKX42@L2BvA+kC1SuZtzAc3zgxo9afn1kC%b3KwHK&aPin$>oByDYEVnvg@KU zA+EtnaIU#|1(NXkss-=5Lz!Dxr=oVVGF!z;+a?|Q0#WJ(60~-+dOewEJ0#jFb6DZ%(gqUplhoYbw@=oQ6P`hmP0td$X zW=u29(Xe)}#hbohbLCiM^?TD2*?t89agvV6j`di;?t)|?VIDI<%P2s|pzk|0KbDGX z`Rb~hV4h_mUhkV+Im@$FdCQ#TicF_%F$XJ}GpQLIaok&xsv^ogS{Y`m({&)LOSY*& zTlzJp5Mrio-s0Vpe~kK~Q$@1H6N8QaYRatpG+6x;<2p2+%r5B} zc{4_nFsUICpV&k-e&=KTB?=qOEzHhq{ffHSe|5Mb7zg9MltLmU$@p z%W3vq^5km0ujNMNIrVT;r zH7~VnGb$nfY1a5nb7c?+<7$c=l{X7+fWdwO>FlsU>TfM@;i$u&31)|LmRnIX2I=RO zYy=gU{~(j+T$iC~eUR^WXB;ll2&3GjIDA$GPfS#)RB8Ld z{B1iwACIjwiF*N`0%5-s4a14lOCxG0s=PO6Y+{B%(y$0u%0W`Hd4|{QS_(1%EX{=q z#5WAyZ$GMsTeqo9uC9}(IAb$8+DM#eC?}5JA7H(4nAwHCnwZZAL@-xFA{!4i+niMa7j z_1dc0rt%C&<&*H!Xv$%pT~h#U-&;UX#@7j=6EDyE<0~C}&mY$K1fE$KrQbI(KLB=dD0m}Q$rPsAczv_F)~wq`&kKdPdpx0s z1nQrEVjeQfAQ%0M;)G5c#qv3|a3tQR|nZz_qdeCp( z@NJlj>X}y}(JrznJD zJ8^BhH6;-w>AwWTkW+Q1I3#wy-M5#xInv735^&A07B=cvCoU7yW>1C^-GSFQ}o&Y)ylFVrw(b>wjy%5R>m%!&|F|DLYPIBVyKf=fTHxQ_PBZg_)~HWjt-dgWDfoEmgEoHO*?551G9a%~6N1GVihiI3@~}h6|H8 zOZ|%U^S$q3aAQM<`6?e7BzoO2wL<0&GA4LgTyUr@CV%S1hYvgH*^)-QGUFH#s;)tT zgO6asmeUW@>pvTvc{iGUC)Ods!bUM*np(JJ_Ho(TxYmwK5Cufqy+qx^GX@0u*MjZm zM%08o(`Whdt(yYp>d2zgum6ao7_0o%_+~plmVcMeFOfH=AnELaqI*oX!;L^zB~@<} zX7q`RRwx0tIM3PMcS-v@D^t}F4@|m2acziRd*$ALSu*WB58Bi7z7~x_%Os`)uK$DTuU6Iklo_QJC%?mk2F1fW7CXCNWcOBpeUmmi~2ZU zXwr2{0jz72w4fuB1iq1Uk?K*RokX34JTGDo{>PT0&cvHqXVTP|nt-!W{Mdq-w9u)7 z$a|57*UkEv+3SQl`CGL2jeKmMfZ}i2%k4W^4epoS~K`A9nd+Gub(o!AKX6Me z789^4NlTsWOMdoc2l&jIA~FQ2QXs<24yNHC7_Wx@A34q@4ij%eyIOohVHs~3%4nH) zWb>EYYKn`RZ4%h;I(pm@>G11Vf()iL69>n$9rA5dZ^?tNrbdZnh6O0CSz}kG^I|a!Y#f>oy+}Jkf@4> z^L)?fC5kJogEdxJ(IQ@Z>-ELO^Pql9&Wy_okd`T*zFIr0zNV09;*1wGV%87x`}Fr^jZ{Zw zME=9(JXQG&#h^qFqTT31$t>bAQ*M!DJTew3RC$NO`waq#V6!YBy*Ln86Lvi#;fpGy zEG$Y!!V%F@yh^+q$L>BnxE4wloAx}m;s0us#{Cpc>Xz}j{>5 z7FhbT2#FF{8cgu#X_|vLLE04Mztb=S+Ra)cTe~ifS^qrC?%iUhCP;os&e^b57Sbzv z^xljdgE=%?jUL&F)Drf_T#Gx=InMFb1N9Pr=5o|nr^MpqBq^^r(<`Bq8S`>3H4;uw z8xzeDSzm%>h@w7^5l2N#lSsbGgKVP@n#5a|>SUN}B09^6_{(lG9c3hO;!w=c15K*_ z-88}BRJHwX8*}mrW^7v(h{Jyk*77{ltnLmV1OR9Np=PU=8saM7XTd*xg8|Y{)4slj zvElU%sMevj`|03DE7Mm(&NN)*(=icnYTHn?G7z|-Gk4bkX5Y#`!VOO4W}D^dSQ0Ab z3n-;|a@X?Z&orj;2|Oj4rC-i3NPZHF(QSp0xk#d*%YWrwVyGNJL3*HbplZ!FKXwK) zn@rZkItAmb9D|uhE5Cn4DcWt}gpx$ozzjr3peFLONxLPYM_d%>_I$-K})i{yO@s-TKXVO2KkC zWsApk({uhM%lFIovVRxa8@tNlP*a}c?}8z3dHd&x&28!?(<-is5&2;P1$~eS3z|g) z2e0P08-8(eU(tN82_9qNDyls<>yMBnt_i6(s>wkg1D*QQayS|EMly|$w@DQAHpjY& ze&kjncN4;!F{ZmZI}JL*DK3VboIDAVOs^p;9=&mVf-zq6m;s@eLGf|GG;$xI(Ju;H z@FL07xh)~{idyM&FIj%4SbcOfTR}pZjD|+6dK8|s=%FW})p(19i7;$+E4O_4(s*i} zPL-Brr>20IwO{G1mV&1Szd&W@44RY5uG#60?-2pMFJsfcfdmtp!`nzU*!}q+6XsCb zN+~89OE{$YgRoGK!K2ZdpP{O5>Uv88eIgAxJVxRyDjzQ?Or@_`_8qbU4yzlLT*Bxn zSxVe})_vh9(W)BW6{^QMT}H$x(kABZ$0$^Ov4&ir`axl0k2YWvrxljl9GxiEj!C*K zkY@hL?XVn+t+CqiFaTXU_H3ND_F2T!n=9E{AfNJ*SC7e3$|tsJ0rLah$>Mt$NVadjXq->qwpsl3v4Yzl%nn$p z5mb42O!;hX2*IJ*&{?ykyt6?xZps-H>@Acc)M?oN)Aw^6=w|nEZlYoj8%i)3o5F8N zmEAT1%{;^d-3BD@sSi+QlbM~9NGS)+!tQ;Kss^tt3QUu6;YIqj?J)H&cetn&LY) zaqUZtLP0RMl!oMHWQG?=I(#&J0ffv@qQrnS2(UaGb6+1=Xd9qguRmQvT4XN3AO@Sc z4IYz`+sX-5t~cIpH6OI6DW0|oRvTA6ZEIAQ758|fbW;h;D~!Y2^vhQN14?p)KkvGP zfIp;revN#7?!^3I0Dv(3qB%6-E7I-fO;5|s_08zUhU@iDUdeEaW>rhg_ma# zQktG+86Xc*KI}jU6txSSpA?Z$cMKp1>>U6Nl8-=P7j-!J7ZK%%U$cHN922CZE5XFH z3)U!vl5IIpGHTzFfDUY`DGEIRk4j(X&kR*yy&a4jI(moz1t;0bwv%!00XyYm@gKCEm31UCYQ&~2@! zmojBU-Yum};Xk(t9{|sI)T3kDzx|uqr6qY8xclqCk{qFUOXLQqrFghlajn&}I6*2V z`xHFHnINAB`^;hE{h`9^2RsPc_DT*xmIr~O3{&KVgAd9m7Ap!54SIRvrG}!@g~EFH z+Ijt|vwMR#pTbvv>)djqL;ZM*p^w$9F$>h5aVbyStdALe+jRHy9zhd%g|^^cgW0R| z#jd;o8v*0tIox(i3z2?JkD?UU>4o*4%X_+==c!TG>XcPd^OwpGY(?nWwMrGWjs3ai zgs6==`uH6i@xBs^?{_~3zQccLA2Q6}_;?~c&RJvYTMD+PrQ^@+mrh72p#DwSOihx| zdk$HsRxbRtc=RpDR7LAlQ&mcJt?^CT`s~%D`ChrMg;_6yjj^qMv9w(+-&p zU7^b(>3_ndr_}av<&eVje1fXED&!7u`GVKAuLjtpAX6GT2C@fUyBP<-O{?&0ou>aL z|Kkp@U$tCgM%Z?lbxp4tyUUyEQGIOR(Und9?0LqI1!R)}zKDReWX3g@3nHVfJ8pKlRnXul(A|fe?0$PxUBdSvmkGt#QxL%W;5MjI~^|2$j(*KWyZx!=G;;3J8H&O#01f&R0kMM<6&mg>E{?9kus}> z>a2#f27x{5sasU32ED-BN$Wz_z-hG(9DFkN=;GsD{{T7Sz*dk>6I}2^# ziFq$(ksO1PWns}_S>o46g(pge1A0hu#ugi1eAzxl?Rl>?RVl1Zr=NcEgY=%U*H)=ex;a%OOWg1a7uA4R1d0P6|OIwlvde{mh{QblrC9O2Q?u*`m8b5^u$_Ck;K(WNQzI2n}9r~qe^r7 z*vb28?CO;#O52x2;$76Z2+BT_sE(~!y59!&%aTh@ztypbR5Q?+R_J)n=?J~UMz5Um z)lR`IDyifkw;VLhj?B%S9d zAH2`r8NBloIA?FiD-|7Q7vC?O9IRhB?ZlY|Ae2wvx=ghZa#AlzGO^K1Tp3ZZKsNT_ zKE)`5!YM+!CbB5XA6waGq-T+KJ+uzyrj0A4dA1lpYK^XnStpdp%$T4C%O)P-exfLd zk`JgQ9B$>F6SOYzB1Gx&aroG=mvXE&Yvm(W%Tyc;9}ZAgrIFBt9)2N+*TyBh!5dXQ zt@{kahkQj+T`>hDTr}RpSQ!t6PPoDhb+3Tg3{C2Sk+vrjL!;{*hB_xqMr( z#ufSI42^qbE`lgO>IU13+u&$SDDzO*1+g>@W0KfQ6BkP~us@i;14g;!O~)=#@UA%? z!3F(}evcmgf22*U3nFV*qo5Mr*5S}j(Nb!UWdBh%J1VSzye zVHrL-{L)13-<}1eA?iUp;y=Ub!v~~NGUn>mq?j|75UCtzH5XzoMhwi=Q)gPJQ(Q+( z(ZrnAd&wmQBA>U^KwK<$8rZmrF}wX2@R4i-3;`I9R&Q^j-GoEyXunX=qv6GEt$a`< zmXpBnK}mrfZb$&AxQ&enO+0^>)6#kGnkXjuwQ{x0AO8EJ5a7qj=LNKan_~*_85%_% z&G0!P9r`nFhL?re?rB9vR*cgHIkt~0%b3TPXJ|E+masWPiym3_fFc6={u}=Sc>BGz zp|>aEh&qU)fn&F~+3TS&k<|9X0E6)0ddFIP%3EqI&1FOU%dfSihWMxt3;=)tmUuv1lscJ-? z-PnG(eLw%Vqdd-zoHJE$=|EU$XsGM!Ri;$F=3N*y5fAvzvyqTtxWdam9UsL;iIR}s z=XtGVzT%5ju8(Ip5bxke$m&t%Hy3=OJ4D)Bcjz6dACcb^0Dud?5BoIY>wf6E6l$7c zEo#{Ez=gQf1bfE@!t-PL3ziur(2g<(-~a$10O%U$lSGXPoEl!~(eZ5dHduc_S)iV; z9}W_kw)pzL<+Em=n3u+#N5H@U0GMk|wr09h=TVnw3zZT3q&5E`dui;43TpfF^hZ z)oJX))~N%NaIEUVZ5a(B784< z&(1Kd*0@{ks143HO{z?siD3~47*GWOfCFMTW*_LiWg)^vC!{O+o~}m%r)55bE+w9~ zl>B9B_qp%utY}}Dudm3JYLpbry|bInL?^$V_dSRNkuC3_qGW$hNOsp+q#G9$BCWG} zn9y22i66(|h_+WLJPQsT>lHt%J*~X{XYyQE5*7O@?a*9N4w8`cutOes>UDos;kY~m zovDz^1LkIPHdV~%$8(71ABcUOt66iN$elzKKL|stCkf*6WH~OCT!onSB9gl^Y}6{$ z4${@W{~fHd5;oqtB{4}6E6{O09|e^qbHLRkp8>0w0rU~!0020E`?z#5#PA`cxHo!k zLEGrf=Sd+(&@k&{fuZt5e59}+GKr~_%N)=BYLz@a!GI7A%zAb>hGPiYA3LQ|+1pc3%9r2^yI9kZ>l~78CNOc@W-Tf{*r+1AQKJCn&tEax4N~@G7Rg9ut z?cwQLWH>EK-uUDyGE;cO!>@&QWsx`N(&8xSs9-t$N+_q`l8Vq4jupgSL%F(o#D1`O zY6e6PMY#W2P&mlUrcR$)4MlHjRxc-QMpK`vJTx2>sevTY|*_^ zVX`LB?O9>T?BThEAgQj&tk|7N`BfZgQ>S-@em)*A7io^{8X74{R&oH-xrj^IpEWe3 zq^Ln0gqWWf^xvAYdD2XGrw|!z2JVBVQ$ZWz8+U@f2kVm$Dpokf+qiu>ZGQ#n*ZJ$$ z)viU|)`X|jv5Fk>^QE&m(humaO!e=+EMYx^COfe+!}IAgLm{`32U%?M1p2`KyGexo zRH<%VoMsuntSA%)8;9*omKBBhk@#O-3+xs7k5UIrx-|k;c$7&tqjOGUlOjauj#dFn zNUTmYrZ5vswIfwlUXRiS`bXLa9GTOL&|~;!AI)vhjlwf%G<0XK6*Ii5=M%;skFtx3 z*q_%%cpEUZld7fUJwU<1aO>wGH}lAzBbPlj4UYv`p5Zy;yggjFB*Na2 z_*1Zsaa`;kVqw1wm`=Sx4kR=sr)Tr_)ASa&t&zvLP$|{&zG#0vrFd8||J$i6;O3bp zB3oJe4;w+VkSW6$Iy@g(f9Lq8Y07YUMJWrz2d10mll7SK&mEg5=?Mv~UhqTc1HMM`+KhE1B_4b}Bzb6!#MK0t z_JeVG^8z7T?s+(=^`WX^gl@Qb_ev6_?8F2_8**8G2Inw8i-4t~^3j!06@*~MEM??{ zis_5Tw#s5%HRKJy`F|Q`;j_2s(sMsZJ$B4|5yW?CY-4!0C3Z(mXuWCqXl_=p|NSU4 z`~Bp0VP2$}COt3TC*s=yqomcH-)9|9SBPJ0Lsu9Ld{$2hzJC2^S3TsN z?HA$B%coe?ftw!MTVL*bc}vA&g*3J6v4-`r>OR;R)cgktkOu&q5j4B>ZjrH5$=;v7 zhDMfbVYoewsgN(Ww&uo#Iql7Q+oeePN(@?Fg{JIkp+$BknY|E6vGPQ4DpZ1Qe=h@8 z9i`)A*j(T#)?)K1v+_nUUDBKfMGY6<65xgYA5&oTU;VnR%0~e=X;`IX1UPgn9PQm5 z1c`nNO1Y*@)o~jeIom10hGz>^#5TBa+8GW02Y7<+pqC2;cL%zcl&mGXMAU7`)`WY zi6X7x&6J>R`-;xz7U82?+5EkkGck%yb-#7Xg<(F2H696Wnh~nb@2mV9W+8BbcaZ^(wVY{1%%Wgal^> z>c6d^m9XrR1&Wr~RGN@hBwZYlp(J_5rJcjo89!c=bnN_xTUo}~^)@Cw=4{n8^p#6W zGK(qc5Y(xT4%qtdc{+=z51X@-$(WhW=&!3>{*vRr->Yp4jaYd3zot1U9*RzxS(4>1 z=OCmRJY=Dk#TCVuN*-EO@k6=eir~pTM^61$(o7+iMn| zw4TuP9>db7j^^Hx&Cz}%$VZV(d8M6Xgx62JbC9sQlh3XUg`YdhFw(n?*oed^L-4`I z@M*q%pn3rN>tFDls+@J;`zMuT^179RD#$K!9rh1y;VZgTx7Ml28rvWoDMf_Nr)n@O ztZS3v`X!Y8w(hgVf-FNh^;x{>%1SaufSeh>sSu;}>vX_2+f8uFs{BuC*CYAhXQ{o9 z$?=D5DF!Zx_o?mJc2X_d#My;g-NDCz89J^I_fg&0 zD0qeqv5guuizFL@1b$w6rWJWRpd5(V=jU%@&OGvdno8M73wDx-*6kL z(+UTg>d@!bTC0wfryBTRm1nJ7yqG@ZLjQlF*3Mnv#etM1B~O=Q{T_`y-@C40qFznx z+5hs+lzWe|(tp?^xg-Us>kUsXu}oX*aY$r$ItL}cDnc^3GhSdJ(X!Kso2|a~0`2XT zS>J<#$cV>Ao8P9I+DClHu@?;e?%8leq*n3bS`>&%fn~eXt-B6PxUs8c(G>=YxZ(4} zHfJ?aYpdW;I@TyHFn;-ru>S}c$hsU$rLjt+<+H(svzGafn(h`Q9?ZkU39MJs)~$wk z>Cz4+Mmw=;DGbZo)o4JgHbl@kCL5Wv*hR1o2o)sB{F&x1rob99IfbD5_6K^sNl_fD2vKmi(2okY-2@gd-Kewp?x|m z50aR8*+y2KRoJr>INNHiY#CDcL@ZsaSG0c8_XAYM{xF95d+XB??m2 zRQ5sV<}n~Z589=bl5}pg`#`xR`+^{we6q<5;<2wtM@EjDmc9LFbz*3|KdE$GL`Jx; z&SOFfhW9%UtWU$SI}M>O6CU%b$41UR*Qv65`Z`ZX%>t4N-Je?kaa=V7$M^pO^2>aM zh<^ZpLrZ1-V~}RS(gg}XZA{y?ZDZQDZQJIwZQHhO+qN}r<2!TCdn3LZxBl!OJ7Py> zW$lX0thH9L+WHdML+~W)`Yibi7-V;UoH(I4ldt}Zy}a2 zJS_n@Kg#u^krfSxEml{`$D>V~Yx*W6u-6NIO3!g){KZn9Rw|ecmhSV&A(ZW+Ct;JU zPh_Aw^!X$BT_COV`^-K-1d@()Uw;G8g{Y)Z1Jj6D^N&Xh#V>^dub0k9+Z~62|iGW=L9^ z8kkCx@^}|>K632D%!l*NmS%R-1(-8JHs3xq@6NXhIs2I^_?)MSXue7s;rn{^tvND! z<`E4cnh_irWKBm-aj1i5dnCF_*Kph%(jpOctgb#pMxTBenuZRlQ*+a$2FisX;d8yb z-GV&m#�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∓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

s;qZ+jIJ~YO61ukc{D%Ac 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 ~pq9pJELk-cr8*El$55#5if>_Ptz~lD{1? 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

{do2I+MmJy@i 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 z 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,Eg+Un+F%R4u z`{?}Xgr=uE5z9zL5M$#o3JvNW_{8!>$y5lCIeig9bKkBCO^`SY zj4?cVFA;tekMOA#rb1N#iB4ZYu+RjFrAjs6ICW;Q%e(Yt?ISbbnyf8Wb;Bp{YVbu6Qld3yo5MR z2&7k5e~)U3<>h>B8DCQcMK^@5I|7g&-65k}TBOT%5JK;&|qF<^FR0X=5&Zh^>;#NU8<>d&| zN&9K-R|oApR@uG7%4uDal<*LO?4dwcUaFK~eWtIlQvFuud%XCT!c0?pOE(-3t$)od zK4{MG&Ohc3KTms_7b92aUtpX(>7UnPgB&m8m|!FlYX@c2&+le3%`iLL`jgC~#zzy| zK1#Mv3+ieI-a*tSnZ#Ob%_WYS2f4iummnpZ{+bN25+`xZvO{yM47pY~XzX%?=66Rn zgk0Msfdt)drb9d8%_q%tO7nfQ*&_R-#w6X7%v#K_GLGBbVcG4>&!u?NW2G}@MZvCT zo#Y|l=Sm!|1`648C!sn@9E}hpNxr@Xk>TOXH6Mr3`UM4lM`|p>Z2n@9k0N$mX#*PI zlF+P4vW^KKjZ>#q7#SfPFT=FM`K|Sb?v#8B@$3{GkA1hM&?BJBduH+* zAMT7GHb%984s2&&zV=-@5@yWjq(Y+d)BoM@9lG=TSD!7oZoM1|P)d0h%^YcT7B;qt zcX-Z`{I*r^v6W=9-5clX?WghN%FT(Mbvvvz8s5BuQbvq08GQ&I!r_+|@qJzb@p9X| z<_Ufd1ET58(j?P`?I~2SoMNy~IcA(0NHmWMqq(qC&SOJcD2>1P1ow3Mkmu6X#c*Wt zj?wCZaN5s#dgzjC)jy>Wq#sso>m3n^8Fu`Vw-%KkZX5&=xpcFaEJ6jciLpA`nP&2W zgDlJ(#~>b*Aup~8(j!{!I8o6EIey$Z=c7;+U#=bO+u5U@yuD=mh2!I7C(9)SuQ0wLvJ7@RMwY>!QrDRU{)9OdDxZu? zs_eZ|xIiR4C&A}H;(!ZW5iJN62Kf9Hc!DnnTxMJ9s5v$p zyt*Ucd6u2&=>CvCo8i?)nJzqJkiJ_|>1Q59{ecSeC|sw04~N<)+e4nv`u5I4iZT1B zcmK(fib^jz*H8>O+eI;$SN)FF!#r3e(tXlmAjK>b@lf=~uzBiv*{)eHc$HUjYmW?z zSvePoU4?IIeU{mrB!%>+2x8Z@xP5VS(i4QIpqq9N_~Pexh%Y?mcxrrX)1Ghh-a6pD zZ-}?B6~+^IEFPkq5qm#bBS$uAQx2mex6djI+ARF36{39sOtJsRfrOHf4oG|TxqsP8 zGqNNK54^?kZcZ0+!0fM?JcZ#Oecei=W}3J*OAQA=Gc`!6H2^BrAgRg#=sFFO;tzmU zYEaiuP?H9|HWai`gANV_J)uGG3=f^1Wz^lB(5LxT2f28|yInyEpVLqQ8PC~GKag$7L?3R43jsc?CErmUH==tTqPFm>&ExMpm zq*#IKBoRwKYzj9X{%;g&gDzBWzE#$EVr^ETz+fKalM*T5?;-b(Mg!0u5s93 z&UNLe@|W2(uW^}koR+&t+{MnmLO3gfU1Wm16*q&3Tp>~wx}3*<(X`o58g9*oA9fUm z3mxXwcR0-PcZ3~xgo@>fk=xAI)wP${Y`;%vE<<;QySa{p>S{>0afTcP1|}N?4>751 z{)sj6Rk=B`LpoTrM{4Rdnl4~tHyAk5o-Q?=#N<|Vet(|V<@eM`y(-K->JkecT7Whh zsaGIU-BK3ibbE2Xar~q^xEPe6X|I1ygm)}O*`6(uVch0A>AxhF!b?vJ3adV)N2~+} z8)n8It%j-84Rf)YEbihXR*Sa}wBM*$uz33=h`X%UeBHdlscs-$*`3i1F#RwiU(S3H<6Hs03X8q}wU`Jl}R3%)M$ zv9}>kH`2HbOxhV;eZqpZdrAo(c-g!|DCeZD{Ez{K*YiT_D#(4?+#qMgBIR9OP#Pv( zPN3J~T9B6!xX#?rfG4goxK8(~pB<&8o|FixQpn9Jvt-?%@2!Kr(}jqwiq@`G%Ljo~ zSc$SBR;$^hS!iw$T4w4=e!OZ10n82eVt>AYAH>DgBn=YLByo+=iAj9r!YZt68>DUp zd!$9i<=roJl!A^Y|LBwAr9SABT&4Mb@gVMSoo>W>s}U!NK3jj9F~b&cd({qtqNnut zI)=1rJ*_(0oFj;YOTwg}=2kq#uib&Ph;HCNRH!LL3ZdhERbVk-bys; zbdT4rMJ_MiuJkx?-Q%_E1U}f~Z%C1sd~1&*Gx&`j*RX*eze}p#*e1Q-=HqW&cCl`FuDoxV(UZ4>@Ix$YPv|yB=r(8Q8PSRb=jwZ&5pChyTxcSAUY~#O zc4Z%bN+Py6zT2E!BCM>g2(I=(GNDs47 z8@mgM!pM-2gJEjq_Anmq7dl*)`I38kQ<-GLxzEUkt4E&UX=zG5LD~@yycg*L$rK2w zH8+ivri!FAZ`78e{8v`BMJj#24F6Q%3$k~aFY#^%Y1#MNccEqso6(wS^q;Y2xK24- zlo=Vt3kJZ?SmV-3hl{$K6C;VuV@(~g$V!TYpGB(9dZFMGbfE5)8Tg>gzc zJSk|+z-w0eCm8k2z%k~Un%Lx9!&H>X=kAxum#WU=a>crlT2sSh%h!k1{!5rRW5I_8 zE~idfms2Qh|BU$hoI5n9#?+ySMo`&?PMNBA$y7~M7o00o)#s^cl|s&w750^=dP!cF z;-K}ADqwjuSJwzW_KHkdc9;AThr8(}8m=ajeo>d})e(IL?xuwRpOWRwHVa(=~a3r@ixRGe<`2&UK z;KO`H&QUw_?%zU@+)aNY*&?Gg2VjBB|5YC~9#>x>k<`?MtMPb`w(rL7-rf#{{SZrr ztQCI%B69XrN>&j8$%d|%wQxxW0{O1poNg|0z=r@O5PD9UKX0+By{2LPC&c{3e^!e( zq3M8stouo)`^f{5WSLQpqWl+Y`*^8==a2&LhD*jiB?v-;(^+^$;26t+8ZEPOwqKrQ} zkQ2Ur2dx6TIr*D={L@>CSkC;}?kCTX1#b-OU^L?D(_8L%h+xjyX96xtxIF)0?T0LV z4S6S=4jEC$svYLy?s+sqXNf2y19>_&r1-w%@LX5;Cy$ZT(rS~}iW0)t zCWfy_ye9Bjg_=o`>9wUSB>JV3N6=Ah9gS48Kf(FW*z_RC zoUlGc#>*k4FG19~gIA~DOE<;D#nBPSy5Ei*w&Y?8npn!Sah~IE9hecQVS@Z9(j^Yf3<<*(ceeyC)=z-VdcUzbI z?%c<3^_}yOsdSbgUMd$cRKTYnyI)t}!y%V*==`h6U;nD=o+!(mt~^1Mu^&NYGB zn}sI^6ho3ZB@(hl7gt9+41^_y7BKt6y2R8$78aSXP^oUIvsL8@6R9$-p8Ln8N|dO^ zj&Gft?`JS+1Ufohtk#Vw2#tMlwA&JI9F+PPMQ87eAJgq6Z%&8X;j3zxud(VRUlM#( zJkapm82Fjc*Q)|-ktoArzJuFx349~UzbISsjzu998W^qmy0JouLa=mvZ!_k)GG$)L zqS)6~=ucH55^ga_M&5@Hi8EsV=}dyYHjjV3S>iO_I|*M9NtL*a?oUNNv&4n>qoR>2 zaDnoGH?r~O_xfGRq3wnFy@3&x%9J9|C}4(VMOcrPxMWuOe{3Q(Ix>8j2zQobWWQJ% zD&x}M5!_ohru^DUwS{PmOkN$IW9-c&-$;#Ik&H8JFr+`QRyFr9+Q7JG zE?DDsKiB4du3_@U920cAg*-5KN|Ns9p6x6JDEEE5&m|x;)_7t!`cvF@+(9Zx2j-Q6 z`nDSS*($+uf)5fP-ilW1>UNE_x3p`|)kGy{LuL9)3}yG{8OrIuu(T8mPT8&Ex`R^* zWW40GI;v-)b~$3M5!#gy>1}+efteFg#!HEj4;qeL5V(*N2zgTMkS>MfPk)8v83^Mg z$I*jByS?WHpr#%HKWZIr4FyVNh9#EK)@9!l($<~_2#59%{r+6fJvbzzY%3!T47OT@ zwz74HR!MeNi}b*cV>9*A{i6fJrP8~)>~x~6T37gs8;;d*xvD#;;n)g)TEnq5 z?%))B8()%(yq=@1Y7H}11YCsxJODldV7%n%`Lq6J_8j7C#c#3Ayd*H*dR(ocK4BV^ zR3~@<@o1@@-x6+S?hyZrnYJ);=kP8^q<_)&HSOe=~wc-+1>PS@(s9~ej?ws zJkTcJ1@5NX`AXBssF2|k(%Vir*o@ojezMK0nLsqJ&J6ZBfkyS-72PHSRXs&~>#aUk zmX?H~=AeLMkNPpuD1xK z)z%{`(9!lB`o|so1puqBVk0yR!14^ZhI&{-K?@whtnW`WUo^ivFkp|ii#UM0Xw zBuuh7eK|W&r*2azs@cJ@pgZ@#74mLl3cbn|;OE&L`}=!l62nk*$W{tPRaY8{_i4^! z|ByOoiEn&XSef{9+}r2yx~kN6K=184RMe}!nkj87*Qpab^=c?tM^0~m;N9W_PdvzfQd{ zlB2EZ?OPYp^3>1jl1SM=6PWcUR5u4)vXt8x4^W-dsINWKpM-L=2n@V~74P}6G~P>v zRw7pNEUi+n2DVujUnZox=`KoWx{Xe!wFrW-#q=~(RYUyp8mdvPE9mVT2ncA;MOGW^CM}-2S;}dj<)=+xm(DDz9>SYBPSJuEnj zm0|NpGb~Y&yfcFiVd@J{8Q&fHM}D^Cvujxq{u8oZYAXk zNHc#@Axp>?*&SAFW2YcLEN2^NcWH^~q=(f%%xdSUk+FU432|3;#MRfH=pSYIv7$;X z3C+-y9W;BV6v))j?Eb!XSK!Q3R&t&SS5jCj1Pe}dn;==?a5ul@)-K@<>;CmBI{`uc z``VrU34QGj8E_ITwwYA=a@00*7QAw&EGQ%@nfuqHQ0G?j2uYhK>zVd}*Hc^M5y1oT2#;HM&h=dethjGp#PtDNr~f|1>h$c#$1L%EtS2 z-%_CpHA5FP&D4Q{2iBfLef-~Snh$A6>SF~nHHt^4rhC9~Uy(!}nk}zK`&b)+&BK%1igQt6`rDp)r~))!l!?AHn&(X4F@h z;Q6On37(%~dN9S8CU~yJ`~uUBA15bpiu7IPVqO_M>*t>uz0!dMd16bMv)LIR0ml)1Cch8#YWq9-SLxr^^lz*F6)o~=3c8ckZ4lHUt%N@B0ZA2F zt_D!7gFb<_o$SEgi#4S*Skj@=lMIj((hEJ$YZv5%cKuqrzD`c~E^}iz>A|Wg3bBY5x3E}Z6on4=J;DjHEcNUWLMN72oTw1E5EW8%YYe$V zF3B;hTc$_O3rrnb=OaL!k62>)h_&Z{pp)C%jQ%V9l}3M!zm$iXkv|=4^sliJcL%o- z#6nPey4f@>FfWoYH(C=zx&(L&&Cw=%Dm2Gae0`YN;Fta4AfHbCWP@x~<*I-Lg_77rVBJ(u64~rF z?xx3O&k;)EJVN@{$0>;gaY|w%m?Q0A-_xnzu#n_JVVPJ~&kWKMGC;!HPVj3@KN&yw zka(x=K}}1%hciw~yhTE~ePg5ZMcgq`V#E-*mCN%?lzKT#N#rJEn~YJ|$3xm;)}8?G zaW}QGZVhhzEDjwk4nZkstT<8kU0sA}u{D7YcVG*Lx8lo5Eia1Ra-lvf;++&gRsMuR zQ!gQfmkmuK|BZERJ$DjQ(;)9q8A0Pr3a;sp2;C`kh>sAW53tiQ*aPt;@*$EJG;MZs za5vW6*5=>~e8WL0ir3Vi=t`dI5MMTMX-=L#yGVKuTIJT$JM}Uly%0&M4r%|~16H$N z*7LEQ31giMNE@+}USg3b7lPq10{mkjRUlE!uECP^JWeF{^So{p3U?8y=V3`CMx|7W z0yeX&=U;$nIweBR?xr{R)pSa|hC`FzHu_6`A)6E^HSK{Hmg6H*ors3u@c^l(HC{7 z*Z5_|*m~wmGD4_%J%q_B| z-@H%SDo(bHhHSBhOXHV;8a6zRaBK%URHzd|71b(BqIU zBFfk_UxypQo!iP2>xmqP>`H_Z{XF~i{a;#%89QZOK+XJyz|ugOB#+hIG(oy)Dzb4w z>4;8UOGywM!rUnvw5dVaUs`m_gi|&T2(?Qoq!mPyEgOje*}^Ymi|j8fPm(Y!*aVD` zEfa-o8GC9+j2p`5##3^GasjN$$j+Lw_OOIAb(-ve*4_nWdVi!ssJs+kcF&uPNN7BF)B7@d zGpk}lcd*5JMDiQl)50!=b)n9ayYF7t%3_S8(hYPZo|%J3275rX9t!Ttz$6}Jo<e(XBXi`~%=XX~ocs{_)xGKT(Gt5JnDCPqEgbFHl$!!2s&|0XV32;a| z)q(TbAgTuL7yqYJ&u`h!|BtAiYX+&Fq5-OByHGs~1($~EDRw4G%BPY&vtpj`n7&>A z;y1}2xg=%T;!@Oo`yF&6o7neOqlKh3yKQm%(-3f=Tf5xG61<*X1}Y=2+r<^Wa=6^2 z>Y%#_+8g&Q8t`28!PC_svN}rkAoP#n@>&fOl@nGntDcI(kADoZ5!?EX5}tq^LB0x*K#tpy$P*FUY*wl_RjzSy#DA8*ANE zyKnzb@!A6ct?BPHt}!cu2Lh=agvdvhTHrIZ zOQnCnl-8O|HuCV5=5K@7?oIfOQ6e)s`_Cw!fukcgT$?EBGA3OU_#~2<{TUbHXI6*o z;e{HSe2w3JWgtQpNs=g%HA@$|gSScDNyJSFau4{t)uHQ(PA-W2!pipnazjVT21*Z` zZMaOq&;sx3qm*H>lXnvfWQ|@!TxB+}Wq~j{7DR3`+uQnK25=JI!b{)GlKDl+PLmOu z*j(J-y!cp0@t3x$$ne~~&5QdxijUct35qNGl@7VVN6uFyl>m6v5!#!>PL6CmGm4Lh zMwMQnqG`G`_x9ow=M=jdcq$4wI$Ag^LH5Y!tmzh}o;vioKPQZJd76RGe*qkNuTV_Q zSA+(Ce3X}0BdV%4i#^VyB3QnVRN(b7*zt_EgLrxuhRYGvt*ZkU|YB_ zjhSDpBO5r)f{#351!5ds&fClf%W6^UR3|i;OYq9SQzX zFt&(X+C25|`xqAI(NLXE6ffjpwZ!MJgL3khbNq7xBZYN zO<@}_3bfp2AVa-DQG92rsf-j$uJ}gyDBy=$Pl3O(3cS#lq58T6KSdV>8ne&kQoqy2 zA^=GkDMFXWSVpNOIvbCYu4NZt?-Ieq&@`P;giG@GUm|3@BU!LWp-?@uU;1*m`mVG} zyz0+C2t$Le&S{}pI<@E}MrVeV;$X%81V0KA>U!sJMyI_XC61=ss60HTcI7-zhEsn6 zukzZ}@pG+KpJ){HJ`96aV06t1vQ!X0vAPqQnJ|<`VQW4-3d0MH{xPdQ6Q)hr5S{=O zyEzxV3WMiZ(#xc$j)q=Dk=Ny`w`D6Nc3d)R+OtZ zG@}!Tv+kfUF4g4Vp-cFjl(0fQ%{oF6#s4n+E45#R+8hT5ZmaQRCh+(*@ha4BtTMsw zcqAq!%INZ6A(FGRVFiDw#c@qD2NtZ*)p_Hu@eeC%JSH*&tNt=C9CQE$GZas6^Wx(w zjiFQ(2Qcd7A+LqP?^-^Iu)1M41TO>qAo8C#?0plQo&lGE1^z z6U|`r8i(Pih>KJ7BTf;H%T6Fy!DNs?H5iXt$FC)Ja2-qWRDp4?C_dN9MzC9$mA_{e zX0@q_N4tz}-h~l9R@iR_B`~xA1_#22P3{C6XC$FP#eHuZqS`~%qJJ}jRSl~>o+`VZ zEtHpZHJh?-oZQyNJa4gF(mg$bPN>c+7ePvq<#%xRa5u}5a9z{#BG<1KB5W2Rc$SMK zU&aESM>&_7&JyIRDU>Cs384h#Yo$t}F9Q_s94dJ#+cpQVT+*sv5)wrthg314Wnz|# z?1D(#$F)QtFfUn&>>o1tCYsd_x^KT-Vjs`$4_|{0ZpW%xgeDnoW^Z_oqbk35^&Cs! zyLWXWCpe2wpj5qMRVrFot8_(}J!#<*bTO=&1*|v*^TT^@NRO&@%&~nnzGdLjRu^PG29Fla6`h`iZGbV%EhX-fy&f#1 z(9(Egb^2xrXCXr9y_!7KF-1F~(`O8%6kBgM=K$F}O@730^GtqNcC%_4r0Bn7trr~t z-MP`w`h&6qo*Yr{MLB*4D!e#gJ{#l2EXi&Ql&WD;N0@LALV2PfKiadLafZHK$zqfI zM3zL?EUHlR0CW4H*%?h+qyml4%I&|zP|5ytO8uv)(3=AUi5qL=3DS_lZIYkJSX@%x zP4W}rwdzAs=1uYgQz&KiT1^!yen&6Ye_|Xl98y@aFWLzu_%=^;+0+FvL0kLXNhkUa zPmYj>3>>h6%vr{>O~#GOcv-<2C^F|P4;An0oU>fGPz7?Knc9zTAI=QtzqaWFHhWus z*ZOnK7k{*ulZZve@&u>tGW@Jyk$2*1ArQCxsw&D7x^9dOy_yYgRLJq%xjs?qqR)$t83fg&h(oyNSO- zM5xqd+~%+a_GyM*n5fn5jQXb-4>ob!izBji`Q5B|vWRA|I=7Ro<7kmXFh+Uazy>!3 zS+kVq?osMzqMocKBf8QRUFnIgOjEP;8tYoD!%&S-;tsZ7c|PK5BAp+-WqkCOjOZrwN zN5sKLb;|0y+0uj%IMe5-2u&A1)eoQlphuE#EDLe&fu~woXhN<;qb)Oht)uZ+A-uWk zQ?w$52%8#=p5xDgucttCop7tIE~N(1>5{t20yQ)yi4{C;homD5feaU&X#Qub&Tc%J zNqTF>njP6~a4;IJ2zVcd_-~x+vNbSsQ4dj)$s~*6xz^fa^rx*Kt%G*SIYF_jsrB0-ae#<1$yYp0lrk9RJGU1^T?Km=-c9IhApA;4+S-tv@{$ zBV0uBTE8{0aag~3A{r*&|93gTM?}2%NK08-)73d=1SX|I80GvJtcikFdy#JNg4Mt76iqmdL9 zf-nqasN3}iVcCU|H1t}@f~al+7N=V*-dC-Olo#n-YBAlxh@mIsr5x14In^c41EMj@ z=0$RVC6vfRG=u64nx!oATIP~iK?*CBDf!U<6R2kGOBL!ioo^omS3KW^WUM{}Fhu_W zF7zKn-dBG-1%AMSqXFQ>SmV(i<9yw@2NoRd%STD7TWusrJmpBa`**tV2_?CErJ2(! zP=*)Ny`URz52NY=qd-~>F0u;sCxmLG*}7mKpwQ1op0F&*R+46$)kxOp1O9 z7~~lXl9ivdA_jTXg3QQIYKTF8WR1Gq1##vld1H_-pVigQL3%p| zQ5Ixce$u)aGwd zRg?Z^sdf50S^4#Midvz+IcmB7PE(8Ycf7hze`lzx^>?P4%@MZ?*Ra<|rQ={~Eff}a2i&TRCE>p*zks2&lpXqOn>e1g7>OK8ksovCIzuK?A zYt>%;U8makN)eu9v#_bh1!~FoZqe3efj*$Ef>f!WXseuUsXMe)1a{RrZ52UXb&Ixc z6l=A%J}B0O+WL@Kz1q4(ti{^8L#*G^)@Q|fp|-Y)HA`D}i}eg`-6PhKSap&2iOZ%v zo)GI7ptR8^UlZ%c+Imo|?`rEiVtq|pyT!U!TMvo#Ic-&9eOz0+#JWXW4~z8yZS587 zPqbBNdUc1k_KS6$ww@5{E!ryQfT~(s<SJxq5$n6!I!&yvX{&H?slD1d zQ>@QvYoS;l*Vfr$-GWsYxl~;Lrai6}>)qPw6>F2WUMJRDwRM45Z_?I9V*P=(E)(kl ztQ=cf^RK*o@DxXcA2KT8p*o9`e)DC`+vn80ea2q4;Ow^2{EqO-gmsCWCzfTQwTHuE zs67*bA4jM-%iNROnpZs8XG2pmDivXj3OimPLz}len!a52474Zp6G`62lk(MFWi9ES zp$Ti%rD0c@lfaF~Yz~fY)6F(jGnQrd9WeVdJMH@zVv*C!)$iC>EHyI2I_-agNHN+` zOVAHK{x$(0fku|sQc%0c+vJibM>0(xkgOT#7kz;ha!xF}-Y1+DiB^mZBp;i05#TAw zHdyBIPch3fMUCul0HW6H?uYr7M+4&rqH30o-5FZ_S1?+4nN^9SQi)5#4m5lduWilg zO5WQvkFax9cP3lK_o`kt9#nS%EbmO##qSVmxeq{LB}MO#mv1iRlhU>N&l1U{yyDD& z!|RPCM+2FZrIL$msiA1tG5agjGVYqSSAF=E43MmE3QN=36zDVrEgEM?;YAXE_;%KEjh+q}NoE;uZ;M{1 zQ%1;mYlLLV`@Crk61w8+BSf$Y86I~~le(hDV|C_(y-=H8g^^gF-}y24WlWbE%XQ>YZ)Ztaun`dNLh8_9BFw(pKq;Eba;ajgxlwMM@ zYU}ev|LM0Tg_lIpR9%;lf4r`X;{mSg9bY^_z!>plDV&-h(KbnmgRN^l1+tv39>$UF zJ;ib`5mQLHNmR?kv?qR`UX_pD@lWgu3*IJ-e#>pWQXQm0`<(D z50bM*3w_sLpM5Me-xIN8eGe_X9 zaM8|1hqheV^OmT;4be%IxG&9a6Rc4P7#Vpyy!0@#`LRn^o)xohu*^cML=ZWMP6bj` zgAOET?2#G4y=$}bwZg*H;}J@QE_-jH>CggI$e6jGo9%QM-5dw0s|F&e{g9Q?Vu)Zr zD91TnESS(K5a`?*e2S-$X;b3{!uQBZfqYf7h->6e7u|_&qY=CL=eFZX=1Jo(6Wjih zY&sqg&3oiHgB%n5Kd4Yoq%&RRSS#k&hZn+m)(VBXUXoxCpyYD2`VF~S0)FZys{qJ^ z^IBy5LO~dGcpLJ3ipgW-73u(NxK-`yvRGjyPAvKnNMlBkDx^}7WFc2kSfhDL%~8Ww?pCC^1E}U{N6W(UuZx*QQv@NgIPXNy+OKX%}@@VlV$>L zv2yBpf*@=yd)kgAnZ1_Q$51$jG)z}mYggQshNETC$gIS-yN)*;PxL1>98W+ts@QY1 zi{~H4tJ|!!xA2K|{&%qUTus8JE??j5k%$MT`Vy~&OIWrMLpZ^u}Y@)5V-p1M<`C=irl?<&0A>7aBw_vVHlI(a)@ljh)zomg(cN!`Z~^G zCDmQ5(|J1u=651d(DVn~(e$^t9$;Ubly%yt(WPV>wW7 z89D-Y5BH@3PDDAPMdbuaX6g6%I;=desLUIWyAW0OWC8yv(2k zFO2HKMb2fV+$Ml{@F#`@e{3MQtS7N3zNC;&LAc}*dA4$atwow3rWQ^&ur#2S&VX4^ znyH-ofg`b2A8c~#QbWQ<*rLsy(qg8LZ{MkhVo>6`?>vj57`iKL?k3IuNI!~~7Q2q8 z+fjTZ_1n_Eo3stxSqbhtU#BagK}md0kD%C$M;Vlffm{|ZdHPs)SV&jQ)UD*cmqUX@ z;da$sZ1rpCJ{cGTk>^LZNqeh>qV|t8#NiH(mW+8*(ki(>3prq~m9o0{lz@L_pw6*M zW#wt=tXM_ew~M?&8Lusgrc19ibDC$5oEBSKI%g*fwuv;S6shM?nGBY7%ioz7 z^98QQFaj{!q|s$?z9(rQbtGla3owp_cQJP_d)R#f3O`WFuQf?1*y`CW!!Ijr4xa;% z;cV*36Vf4h!dN$OhduT3qL%w4MDyuZB9|9g2{ayy(g3Tro8dG`Iw(nJAN0|yld*ZZ z4HL-M#|y&satS8mknT%`1!{!V z7Si$UiEy1&hjRJF-uUH7sr1hOQKdsx?(x+rR&`VNmZ?{3X@)20_@T{Ut>f{=cnDvs zFj5OWnlhy!?iBc9Pe{*9Q6=&p0KQrOZ8F2MUyRj0Sb7X?l`pN%w_fp~{vjQpI)A6G z{As?_CDoxEQv;bTy5=*a=17-*xrO8ERc*O_6%{q}Q(1+>y%83La99$}ZUa%;-|scs zycIQ~2P2044ymiP=tzxs(R0FaEA8&HWw(Xzla9ZZds0b}C+YQw`nw|swig}M9@b+= zuVt|@-B$m*$XH8%XROhBt<}<+BKd9g<)&^iYs8tyvcI&NJO8-*_B|kkk?%5qb-Ey5 zY*Mo+82d_m(86)12W)O%gbOyO;P<^&Qk?z$0CX$Mm$WedbDp94x911;^o3YM8IemX z)N*W9kxOFRg|206vFn?i;3)JDYxv$+QBx7gRM+eH<7p{14y%!=)tNf8ts&JJBOsQl zr|Sjh^<~tw3NEyJD?wk5h5`pesBDH+A}UDHTbzE8fJ)YB3g*?blOJfS<_GxZYvs&t zL%5(!(f*7=4)a~(gNbb)fEQ_G47?~q<3%eg)kaqwFCticug(B9l2@xO?5I-RNLuXj zw9Z?RbQPumF$8C>RTlHlQpUya#4#kslg)fJl1-V-#qXGbgO%zxz(A5F#0r1KU>dJ* ztcBjV4mFnQ3YJuk>QBw$a2jzyy{hs%1EbWKff#0|`9@^6ki2F6x?g!*12x=w9SXSP z`d&Lowkq^Xq9T1<9!1L};Qyt%9QuH5krN zkq}_Rj4NEu&@CA#K)S-^2p6RR?kvh+d9s;BPUHIyTPVRon>Ep=--^m;qDIBN?kBkk zh;u}hPO>$yw^^@24bh3E59$?VjX(4IH*mxD{OlCiPyqcb&@dnXtxjS6%5=k_7@Ddi; zN;Uj*+Wr|)_aIUk->Fo`{sutQDxO`b{)*k~t!z7)q~6DBbWf~m>rS>?s?V#Su-aP+ z(Gousj$1|ZRH|pK$U32|LlSyuFrlCSql94I`K3;1^^k;a9Fow&!GyeGJ;>CqVs6{V zYjx~ZeV02L{7Y#A&^sR|#XKse-qEeWHtkQ@!9Hq>ET#7Yy>%ByuW_tB&2+cSo_?e` z!AwCRQ6b{gLO4x7f+C}%oU*}jp;cvcl;j6`*S#$4rIAcyj^pIoR1=;*Cwz)VN+M!| z+mYJyswrUBM2RZ_>-q5@5wG=qu&QRT)6ub`L?5*90#dA`+`ZKy)U^m7gB)1MI6csy z$EmSHMyU#=ODQ&t&J6C z%M_JE%GRXaPFI;7B1DM_XkoicM)&g-fg?nDE&Ffo?VvG^(dbPQW>5PSflowldZ0_v zI802g=$>X;Shp%pNhf`!BrUgp z?^cJB)jd|)dr4b5-{h=;U?P%S?A+fE$BE^^!N^%0($%GkuKh7)>N3_cG{oxfW^tHs zBdg0vEJkGRvX#N18pYBbeO2@?Dz*P%_T%Eic?HX5 zxwKfuL_nyr##PM$Px?JV9tuYxM|iTu8~v5;U=1@r=D${N`=YW%cs^>fhy;U?^@NPO z=~7_c=&Ln30^TfHSbhR4)UcXUVApBbilMO0eq8iXTFuJAw28lYC2%vKEbUAL7>5Qe zJ}GQw4HP#!)CWw<4U9QQSE;;!bwXa6Cm1d!p z$_}H;mO*nNX=g|G^E)_M)gLtvh3CzXeUUxKb2rpsY7+4M7u8pq-oZNE4borBm z{m*@@?tf;>;O*x)|?3NNYk&Fy;YG5E7TORNMt$ln}~WPTOpU( zTweb5u+Z$=!Ii6Es2azUgPIqGRAe>dF;1>3v+Oey1DC~hGUZj8v$E@$-*w-qT-a~xQWx$daK*${tEq1krb^j>80pWlq(t4;1eU4nC-Cq!PX&I2HFYJ zYPtm-+{U?yFgYDMYyCTTj(Cl9&svYx3fQpG(wDEo zsJ=fFA^uEPJcRbmF*pM{&8yyJm15_M`X}=E$Dzm>;2P-!Nc1Dt(H`>)*oVQj#6g+@ zbF`I2g5=IIm>KBSNk*q_jpx)JM+fDEiX6;N9xyF_M_o)k+O1erV~bSd8~lxI)AQvH zp(f)Fn9W!~OF(oN%h~XUtcPFcx49Tznl!T%b^B_qU-R2|Oz-4tO>fqmG-1XpF@-H2ZOFSWV;kQrouYLIF#GE+!S2d)_AK!%7AL0 za+i6nE3e!cNZP^DV{4yR{>)Z}cw|J(LL#ovRnE}mj?j->^UJ*psuou*ghMFWB}b_6 z)q7OT*a-TCog7K4kh zddIt1HT;5fwadub$|(3%ysw#rkR56+WoTzuP=w9{U+-Xf&()dDJF{+k+qk_W+NyfS za@IcpO^HJtKw&4JES1`^ncWa_;#=OcG3r=Ma^UPf)NFIKPbAeCf;HC}DMkqB3oL=rb5^mAdiFM2X@K9Ud{Zj}R1^jeSHf8kb4Fn#6I>H=)+UcN z2>S0VC*nGqmx1@bV3L+zM^;i%wAc6-x^F;Ip!J$r97I-qRtVroH0gBM567E}w?V>y04;jQc}cFE45_I$*g;37tH z70r7i2HGiNM=~B3K^i};rc~z7+6VRgks}0;dI=KO8ZJFgk&ql6Y~mX~I=BzJo*tlC z-#j|7>!SmIrTV_0+?-dUa+YxMvjaQBYjUNk_zF*YdorsA%{g$sf;wIy0aO}AfP^a= zD2YDkIQ5RDBXX8ZdGH8zlO)%!P8$fW?*EM*sOr!!ty2Tpjw`{*!SvG9$9TpN%avG1 zbViE%(7EW(t58M#h$i#aV+l=Ip;9>!@+vuk20KS6J&6<|ryF(SieaeBxrklTA`L5(o~Q{4-<*oMz7ar=f8$Hg*DBf zn9=l7d^XFhls%zY3VSQ-HR)N`YWGtr))TdxZ)_Mymk0aS-fCT`t-j?SUZ?SH)D2(8 zihs&=8VYCUlMt1Oj8xSFsavfSUwk1DY01IsvwuA<)l>FZp)MSVrndds>f!_nFLZ^F z?#@beT;~mz;??i48PSBmu)YSN20>trXkuV|U*YTo|7g(0E`s_J&=uM#ajL*t$5*On z#2#xuI&66S=udb9D%BYAHDBQZjm;r;YsQsg$Lu@@Ed*+-R#2=eK@`CS2X)*y^#IG{ z*XbWCTvdyI20v=G>nPO|?LWz(5+}MjA+q*GCpmaAFFMJle@`$&qLcdd?-BjmtA7vc zU!{K!>E8$S?>qYUp#FVL|90u$efoEg{@tyATlMd=`ge!^J$KG=);qP;A=Z1e)h5<^#Y%_#@8ADP3yi)c z(Uyq$WM!i5&zP4n&te|K{2QkErbOFD%(Iw-7|+d#wo=R@j309+<{``uOczFBY{VOl znT(l%@nV)>Zo)KSq(C$6Svo#mvIwV9v&j#`NEs zXnO~<3$q1t7sikIC(QRSQ!wK($(X*iiMEe0FJhj=JczjqQ-ir=b)s!HW&x%Kvlg=f zb1&u*%pWkjFfU`eF$mb$PGCHK%7Xb0=6jecF$*v?7(eDN%r7vHVE%yFgZVS&6O4np zj>a6J9y9q~i&=tMfmw@b!u%BT7-kpdHO%{%K8&-LdSPZ@uEZ?D_%LfR&6s;JTQE;z zc4N9RM=-easO|GJaz*Q!w}AZo$-IF2P)lxgIkk7C(cwO~j~} z`_@=qqxi1Jpm3(45aY#gRnTxY=GT}jG0;E_Ttzgj#nfW_n7c7BLNq*r*^GG*!=Y!x zuP~XIbr_^28*(vgFgE`7k@pVFBbcAY$|3OO_au1!9dk1#h`9&z2gXE8sQ+Q*dt*}g7He1|J z2x3XJ0lxy`zwqk+$KIO&##xnZ!%xxzr67jY zf)$3PwqR3cGHYgSnx#!invkSTfkHc(nIuCeGhvoCWiudPMZ_wIsHhbID^vjmMMW)( zQW3B!N(Ejmh+36btMY19l>fTUdCs%UlBW89|NH*m_f2|wJ?A`Uz0ZB_bD#A&`aMv( z_Mh_dsaJi|eWvfS9~}LKqwxOL=(-P;*;{jCW9edROMfDt9xt|LQt@nQ9PxL=)0tG# zQOr5g*>o`-&!jI+ErNTiR?-SuQOjv#T8oyzQyR}%txb#LISwC~<2S;Nq>7H#QlXd| zYe^K-xolg!2ruUQ@q8|kDio^t8B9;Kj;0dp`%*)>T(K{8NhzIAC9Pr2d@)Vw&ym+X zI)*kmlBwZT9)WDJvkYe03W?EFvXn_79FxJzeyv^Wf@#$TG>5iM8$|ggV9TJC1uca# zkK-=`*MumsEd4rdq3}Hbx4bq2e?^3qZf&p?;5&~n;|9Id+g3rnB;F}Xsy8igDT+`- zpm|ZmqTcnwJ%`v*z@oOvNNYg2j3KtH$XyC0nGkU^oh06>7zW@v276A#y$-qW(E79< zt^1%#?Lde=)O|btcW6tr^F-)=#Cr+iO(7QvktS;hv`uA`>FkJO3{@TH9jM$~KB$Ll&EyKHmhthzqQtnJe-rssyvQ0( z~= zJlm{Z4ViR8WW4}qOM8c35H6kC=s>Becy|=zLz$F43}pz|LlC-l5L2emKdK=Ksf9!i z5X_P{RW+8d;FW4Aijv#P#WaiYJmCNd+Vh!A6@=WKPEM_KWJ0LRe0r!z7*&tw=!e0*GS3>e9zQ9Ow* zNYXWlu7d$8yOT2i23;Ie1St!n%2qpso+nwPOfEMrTJ>l?R~i|0#4{Ndpfhp`Z>`?`lqbepPC6kw;BL}ewE-(Hmxrq6 z-=Mk9i_;0CXf7H|MSv=KO6AAWS&H)1M4C-JsY~CAu!el3us4KSi_uOq7Zg z-e$Q?eTzb|dVobb-ybMlk!E>vQusTPxl|!LzsOoH6c;)QIY)6c1!)q8$>tm?l%t?> z$yTQ`ZjJo5_H>Ja+RCHr1@SC2+(I#)O{5&TVMpi6Y#MAc20bKK$|q7?Ido*X{2(&2 zK0Pj4y-L_2Vu0vo+$NoB#M?ib%4E9I+4WOLWyVw9SE_=m+Nsr7n%RSvlgp;E7!FzU z$G*exlY~~CK>0A-s_ADKQal?UgPgMI^+p_0Skw-03J3Vu`m&pvp6YDFIa^&?lRf(qb1oj7#L#LOA ziu5JpSEgR2ri540w3e_lxkR=Lz1~%OG}Epj>uShQ63z@ux*6PffOIIcI(t+30=k3_ zDwPx(_Q3YI<7k-`@6B?X!nn+r(l%95E%~icRx>L0qauk^MJ-s%ZSO~G1u*GEk!0pl zG+UuERjF7T4ea5p8eO%JwbHXR-I}SIVRag*@*CNrd=5tG_ z{HC5lXLdLzbR>)2VJ2Y~8*;2uTMhlOUt5W%0nEhkxf}CTUHDr9*M7LKfO|jw5N8$t z?Rd|SeOfO}C;YX;XLY|z5Ob?`4(5G2@Yjjw+J0Nbd{Q^^utNB3K`NbaTOo2%J${*w zZunav${;dQBQLefxfbPMi3db^IG5Lskrsc|%ij%3(FbR;+5|Of`E5h41_TXEs@3u< zDZf;{RG@kv!6i6cz6tILx57tRnVWWl`z(X-zfh*^L~w ziSn^@sx4HfEz8&<>XG@Z?uR~DNA2+23yO)d8*RHSorfA>wsqR4ZrjXTpQwp8v~0Ev z(zypIutl4BF#UDGhndrr$VD}Ottd4mL?2>gJ+sZUREbZuW42uStCkBzf0c*wFx7H2 zb(l7kketZcVTr4k)t*iVa<@wGpp=Ev2}AkBma5kio+wYNm!nts8xS<3e5s_pJwL19 zpE9MV2K`x!=fF?(xEQh@?^)Zd!E$;nLrB%;&a3iXatisB@_zuOY6X2-(R%DMTa~pN z?cGX^^7Qz=k^+_aqCacN%j1!`S%y;efI5}or;>vzud=5iUrZGbS2Wm5u`O1nLw;8+ z9+?Z8p))wLa4F32t>zy+bnOq!`*?15WTO58t z@?-L4wWFoCv%t!hc6XZ`6EwGDISlJgToK{0S%kNHX`gTmm$G8^S51^TlKJ!o%#vV2 zBAdeugk!L+ty_0w8mcW0qUBMJQ_``om%a2_v~S7vQs!dqTib~F$T(&)(>2OgS+0%g zY%;geF&58al@BwpdhxWjjboh!EI5y&ad2^_U6f5s#ahal8!E;z^P&odSs2Of2w<6n zvqa<2<8fdPGqE0pH0h3|x_ml?v7psECi{vhkiwuv8=goBDZ6{YXY3D@uDTZWOkGs= z=t5o@?Ws)=TWafwuZny1)@03N5+jKOrVu(;uVr1WZR_h?)!w(Zx39gweZ>ItX_m+0 zw{5U{E#@_Qd-^*EI(t^EZC}x{q^q6T)6OlnPoxq)PwQ9`6OJj}u55UZnJ}&ka|YU{ zc~I^#)N>bVn6t$8_vPwKVl5U+gti!!{L^KlqzPy+AeXTOoh)>a z<+QJg)6cL?-dD!b+H!6woe~5u^Q%fDsz9^&bIAI{JfRuZ=dq=g#wxPda^V>48T9c> zKW08K7fXr2v1egZ0V~W{qeu!#f)>IiZjaYUjc;o0Z|Fn4b5{q~8j6qrv~g!Z9vs58 zh($1Rrs_aG<(`M>`DLtAt&>bYmdYF-Y(A#Hrg9((2szLPwng3Kv5bJ37wlh=s|n`3 z<5cu!Jq@6vC<|;^9}%)$^dn*_+FTvUtAyBNI*=A*~v=$2v`oYIY2PV2R;>b@I1 zz`Y~f!;*&_WIpMO>saT&#)Se?9OY1JA_2~83`#Ecy%bt_kWZ5BbaN%?*fVGE_ z;;7(jMVINMW^{lX(12AJdT}l-TZoOmiXtjVp)`&edx{$DA1IEZCmqkki|m9JIn?rn z$d6ebMr`lf%czarAA%s1gk@pHI#1l#6+v?9fdOI-N>;pezlx%JxyNC#Yeno#K`Lhc zlz+%1xg@j}@`D>(l-DYLjnrlLOL`nIOpCF`TJBd74os;RN>V~K6zW4_I*lToRFX_< zp@ym^$qHuK3@)c%GYZjVR0*zX0?}C0))x>(k1~zqE%dUbZ;NIcS+L~++aorlu?#sK z64WTaEsE)+KLDZ`RZ`qE4%(xhF)U#f=t`v7AlP4TOk=kLb;}`!lwvNGWUc6Vs=Y@7 zi(X=ngbHS)T;3)O53E3yy(w9Oqk_tPdz95;&CyvPK~ua!Ow+MJf9d_ico z0T(YV-b5NqXN@f#?8L#cqi8jP>E_StpU<8{%3eJQOTI8(Ddn+W$BcQ(IyZ76^%E>J zizwHM-0=Sri!Xjv%HFGQEfef0=k_}|;VxEnrFc+E9;3C&N9vp^IN#~MO|pUBiv-R4 zu={2LypcvdvajRMUSsl&c!B>c`NZBNFtqGwxl&;vJ{u551A3;#Vl>8T@GUZf4SELFC#aRa2V$Yw7PcR5;R%aH5?M}-jaJ?usy_#uYuPQ~gYNq-!li)sE zUWTw>UC6`>qm9s2_1#q}5c@~AcJ|E5%^H!>-lV+G#y6x#u;;UeZ7&sDyYRGiMJXevrBM9Hef?Z9Y~v(TJt;x7BC;;21JjMRv| zdWdyoL8N5Y6DaFP1Uj;&8%V|^Tqk0Y_ zTC7U>NZCB}AD&l8VOGnkx5%=ZI}RP_2hB48Q->_i<fzBStalRqeG@-}IENb4T2eCMjTSjy9-MIkRV$ zQSQU$w3AR1Ik%uTHB|<)%vCX*kwH%6PAA#2@M=%CO0hCQdp^tkSMC^BbD!k3>U~K0 zzA!5d4Zh+eYrkNj9>G+FK1CDu-`H$7CaRvhN;$BSd{D}+=lYAP1@i@%&n$<~clzaU zu#>w}G31hZ6qR$4rXB-%wk(`FUr{Z*#cvAP$LRrM;-RW{i~r$N5rdF2UsQlu+9~ox zov2_P*;e?Ml(CjW%vZ>L|5QCh62=$;r$JGO4x;UGr5At(W{kKq`R1oVuNYv z>RQ>~-q&x;9?~y&HF5P??q}ji)*9XzGwWO3PzFrFg6w+zi`kH6=X7<8QZcOD=RzGs zu4Ss6F=n$)rWtSRN=v-lpTqrDTp{G{8?JN@h_Uy<$J=MbtMb<`V)_^IXl4=pq?AJj zm5k~x;Fwz)GktOz$kwofac2^gWNu8X|DyDk17pMK5ixWWg0`ZZwLO}7VBFX(F~-3(C-%iTwDM>b z{c6u)R&b4mRxa04YwHtM+SS${^iB9x_+M!j)_7Q+De9LKfH?4qi6*KHJl-SDIqNEl zrQPCmHpb*FtzBr=atph4$z9Hz$wLl2q3dWAiY?B#q8l~qVS4l`&jq;#aa1T$X1vHd zraO2BpptE5n`dv{V|Kre0i|j=RzmC0Igxe5Ibe?PkMxDn;y>U@YqquKazAICnJ)cb*ATr^tEo zPt673Qh4~`TqI{R_-jQE!ku|??+VXc4O@0g`?vccuN8O*7mZTiyCf)!Q4|MKw)li!N@I>$gwD@Uve{IV zeM0t@jc@d^lSt1R(wc9|6mTu}PL@S)DVsQBFlAmUc+YHVES4p%sm5cviUDd)F)Xvh zWuuWfW}IJew6P&J>Zgi$#t|fAKUIUw^iBwNhJvX-Lev^d%)4;L}+=geA0pYgNaJTZW_ z$(s;V7%7F>%995XY5*rAnbyIC;rs(zSrNOY*w(m8o)mK|ybXgAL*+^ORBP;ZTD2i; zM)>FKj5YUWc)1QWf;4zKR8o_3jVzB6p0?UV?vn&gf6q<;22fYc7la)~YkI9i*~gb4qb&j>eoa zTN2v0^&R`Mavrw&FVoj7DN3Ep>X+#nGyP&tgL&<+je!oV-`M>tT}&VA+SU(P7V-W7 zWnjMa5w;}Oq7|u)x`Q?UjL&>Cg=$qMbB3|k90NLi9$r85$2o{He~>n~L7}Qg(8-h= z%rACG@Lr87agwHXzgYV~2xwvHT#_;=8Q)aEI&yJi3im?jgyVWI_smcg=JgqJZP*?U zy+X55K5-l;zRBFnVE2o9Husr<{08#`2Ldd8{y^Jfohxv4}P`$ll~kXVTx)iW$| z!MkG$jwG%FfrrY7%V(2nw>xY4hR&vXq<%SxA{j&JidNmzoaeQ+<*ISYZqM3A^h*RP zUVtVYwstX!l_j|&wZFA{k)vJS!a_Ab_ovgLWZsxk-fXd+R4CZ?46t5!&dt`~tKJM? zYgeMp8)~aH8K}Ix&`4CPq!<(u2pOG-hF)kdn_hSNTiu4H0I^kZuZ)l(C0sCs9pAc7 zs>bjtv>v2v@{%!!Fos1*Oi55>QDNwdLmOEEkPGpkTaa8R%i+G`Oi5Ds4prra1Wzz?tIA$OU17QB^L!yCyOs3mZn zl?Z}F$N<(oMLkyI7&Fd9ZhVttzPvbUzKqNwP+5*jze2E8^<3e%l*MqGf~%_ciny~l z>0iyKUKjerjiE7$y@SU7Ho1?qjK9d=CiS@yM{%1t9BXU&*0M63K4ybBT%VFV?kMwk z`vh;DNJ6jJ2yKB{O8iw)Cy&T(LB$8l&ShNW9b34k^ViVxu7^7r1MXZ8F%L3#TNJvjDOgisQ%>;toB8nD*4K ztP*#o$h%LlPs8vEvg^BhSwqxDGZ;h4ISsCZs~gSe&z=u!ECXV`Uc_aITe^}?a-e92 z&%|+b0ap;nU`xOWS&^2wih}!JAz{P@G{+KL`=X}L$)p8drIA7z6LBGx_4l1^j)bHt zcBb)03Ff8RJINh#%tk-_m5*nr!Be{}*O{&PU)1IUYq>kog84J+ zl5M^+woZ7f=Bl{CLYHw|36td1ec1?ZBT=dctmfHF&&HQ3Dx8uDY6~z26T;t89Yd)7HtkG73zTy(o-TIe^6eXV<%*fM zz8P0{UW_?jP97?3Zz5~VMNz1QpB}iMYU{Qk(LzJmCMFLSU`~DL`+uK ztCym!=fwRN8O#&OU0#FWd)`OL9g}&a$C)$ER;e*K^IkR0rJ3ANJhP^Z7W68UM5zxZ zy?*o-39)a1^J523>G4GH82gu!!a_307o1E(@cjev> zGhA&y?TDZAtCH7xh5Q{w*xDgXXAGh&&sspd=0ZdAY1tMc9S zcTkn5HQilP<>5%_%6xF9?O=CGRlnD>ycVg`mEZHZdMv|DxcTDz_XWw2uFz}*^S6rnhWZRI&@pJ3}B^(5si51H4JF2+6OX&^gH#^#Uxmx_jS zr-?-l*BMk52ZR1Gft*y9sd1LaK&KC!xJ)SH=i=53X{C$+qQwmcd9F;p7HrM)6aA>%A{ zz_?8MVsgm1{jxl2Gkw|b`#g<9xG_*{>cA#>UQJ4^x#}%eAAgY-CmPCCXE^=#oRt@(X>D-WBU2Hf!6GRx9eSs<2 zL>v>HN+e0qDwdisI>tb>GLxO+Xj1CW{l+>7&aZa1(T|k`Dn}WLcoKIshlPyTr~u*!H`x_X5krmCNH}Qq7$q9qW>b@ z%R-p(adphlY@~P8xNKnM^Jny1#N-HgLi(ggRqYy{7ddcZc0J}6IaOaA#W6prlZ@l6 zvg{_~xLICyO^eF&%>35MuEnn|O%k~18)I!5mk4I@Q#GGP{N#1B{Q8+FI|(fB6Zk#_ zG&h!75XBl+?=fUvZ1H#M_e0<;7B)6Q`{VvEbDJY7RX@ySBNd$2GwDQ{PMsf%3{#4VCA^SDhTy=| znpEAUkV$6RrW`X=u4#p{$WNo`PbKFJMezSsNmpCW9WXt+q~k;jB^?EoKGV`?-osH- z(sdYPVjEAPvoLvzjo02T#CW%cjFFu%#Dwj=nU0NDs;0xVs?YaW*O9GrK6ZEO?2G+P z?YW;yf76-&sSLFW{XJKahOys9_2Bk7qslPV=Zz};)tWo1^w|NuquTsYrBAxlx);9k z-NDWw+0#3?c_e$-{|R$Rrpy`6r=->;WUlJuM5j#YEf>+mjM5*#(H^RnxTlUnM!Ew)e95#b|vx@mlA@Y&o{4Z&J@thm5H` zTd=bE3~M_+m^lp@r&1QmXEn^c$^J%CM-T^HPo@5(^rG@`*oh+Uev4-e9Z5E=s)K=-tE%x44l#rZZ`G3} z9V(_2DoHU#{aDLWKDO1%B@<9%Qbh&}?};%Hhb~I4Dbicko5VOp(iy|Gq&{k*lF?z) zN7Ngo%UjpTaPJz|Xv@8bO(fW*9~a}OD&q-VrCYZ(hD7s!O>8O|;boe*)Lfc@LYugwOt6Qf; zUMav%#cqK4SV2A$w~o96Yg&ysXMVQk)Lgii*o`~*yts+auLW>}WDu*oF>Nu{n3rHR zhj+ksVAYhT-j?GAt}d)GuD}U^Ufkl>2d#~F(XPU}?P}b6M38u>XOx9Qs&6Ja-fn`gL-Mvkzb9F|O7Vx1$x{)}Bq8UbJy2 zcSb@8vj%@L82;2V@2_ozeIC|)Y53!PcoWD&25oW?S{}cK*aq71+@V^Rmj3$D-nciT zwl8QmMi$odt4bMn)1su@lO!ryURqkU&egq0rfe3vmlRPgVm%4B!H$S|M94LfdDAb) zdtj#_epd~?aDC>8V?=Dsz-&T}%JD`_?kiq4!|CHuo)TllQ6YricFwCYig~yWEXz$? z3yo>Ad8I|_AGjz7S;Lc0+%J{_oqGk>@q|+vcHTVIjVFEwGY6aWEq9!#JreZ8GZ6Az z0e7KsY$wlKjes+_n}TP~x_Xx4hSViJ{q3^O(x{0X-k3hD{VL0a8w0T;R*(V>O5B-@ zcm|Q1IHV_2;n{`)p2}katw2Pntedpb=e-6KadbkYw2IwAXlvi8_ecluFY~hkIVm0> zSJr;h%*%>gajNWC`g$`z2MRL}vzBBrF<&aawJAAn*w7pF^z|`@zA;{Y=u;jWRG&z* z=q%(>`BH326gzS4p3V5_7aMKFXF+TEw$?ZO>*uj_s1m&;FGXx7#L7+{8*Vtg&SfuL zpM=j5V#yfHV*AWnfo*4FK0aQyzri+k?Q_6Dpf;I0|I0vd) zliXb{V-h-#Jse3Q6gtDdO2DKE<3}F!OBtc>hQUss(7utSooTCuZk@0w{*%% zkg1t@s#bP0ZCMNzyS1%Nn+BFV*~?Ws?rM3Gn`5O;%o%5Kmzj|>w~m3X%E4VezJVuXF|WDMzk=Qo)JdQ(1Z6yATtj}IW2pE^g7dXZ2D!n z^k@aQOMiBLukFW-$1bBdS1K>iH%Me@KNk66dNdL?>BDr#;u8*eK`k4Dip@;do{Z^k z&_D&Tq%X>&H!r+S#mnZijIc(dQohW*$vJvnT~hhZQa(sLRWLJed~a1X+Em*$zNf7Z zNflqAb8XA%Y6%urD!f_BX5`&c_XY_p{*sv0!sk8ZE9f1l2)!U?8A&IT_Em=6Dt`!E zE!~PT8W}NZ0sh8v5p*HU&e!&D=1Cl1lDC-~xrQJH!`kQ9&%(}e>s?#aK-ZD2Ei^Fl ztW$w)RgCp5e%N2AzC>()7I*&$2`Q%q*laES6S+)jEGx&>;x-!9HEH-B1(xu{kpwUg ziYubi+a;5>csI+-I^ghEup-Y9vSEo9FZF79zo+THTA8q`0eQtd46`Q0h3VhItNQE( zWRm{%04Z4Pe!(d?Ba+uwOtIu?^IXcBH`$sw7J`quttAImn(^!ui6KAYi0g9}I+8#0a_vWR^a#uA9od~fo=IF{=L!>F|M^G5b^Smj|NZp|$HskuB+pQhL| zJlf+j($?hxWJALQ5Zb%i|Q&0$h*f-WdO4xZ^yK`cS|T+4sQw$@ng>f;MV6gzGA`X0 zlGIs4v*u060v^HO@SDLcwBb9sp&f^@#OrD!J&w?AdE?#0opQ?)a%UcTLN8;DP46c} znv^>m(Y7YUsGfKHF2dNKf7ZASKET1OWFn63zRVSgnNW1X60DgQv5$jv*YBW)Z*Ixd zx!?51{Rvrq;HR}kwhzJn!W%^e9;60UH7`aMrix?~k?q<%d-J(uDN$@ihYAXn(}(s&a7`G-8s4CjkvByi68jQt#7HIN*m$^HZsAk$<2Y?F zp2p#F{3_n3v&L)lU9u#<1COzj_*$(ze`pVH`mrWaEe=Z(mbx^`WZ7#hV`7;)jB=Rm zS?0nz_ixn;^jyeZTFk|mc`?$md186YbPPYD;ak*5)W|$~75|(5al>RB9WBOb2`)<% z(j(~5A;1jv#Y$^kKi887f48jY?_``+@@Pb0zSH{;h30GvzcZ7;yf^3B%(*^}tvOvPIm((x^0BN1w$bwWG?O-J`?^;dsAuAXGjc8LGAj>Vxr{(axi-`a4^X6tOhN2)rJ_2mIcK=b7?RyT$VSK0MFT-EXu! zzu)q_#q#_C%ku{<&o^0~AE-Cue9-cIB+@}#+6XThofxi;Y$p+YM&T{PMj(Zh$B?}MchNZv=q3})xb-m)w*KjsU@Lw8#mx?@=!!nGq)Dvat>8l>prHA;@ z??K!Xp)%7a4yMBgh}SCj9qJL}@+(9KjP&sibBUy#@s6LD;Tt964w1K`QQR8kul zEomM3wALRl@*OT3!CW!!G$F!Ife-M96AQwL{`2}H!wE-(E#>8FZFxMab)<&0?s#5n z8P5YZY0Hu3@=``?DUF~G#g8PdRKF!0)2rp=c zIK-i6#Dg8gJe5Zs-9p-Q8y=lV@)d@g(tE=;+4J!G}%w zY0H)c$Hsze(TE=!16T?3@x0#$^njfi8N~n8Pk0v+M{XUE4ryRN>Vl0!hD*XGlF`GP zb{S6raY!FBKFWI2O~%dDN99YUW7=hUT*)%smLpE)wF9vY0l7*=`m|u>iAXzhwOlV7 zku>IgYjXUZf=|#>=t{h&jb8=f8C>ocXE?^sed4?$PNlef%XE1fQl%-X zQly{J=_AuFp{zo*fPTzF5&w^&403Hl=7%S6rCsLB>OFLwPKkm=td;U2L7y6Pumtl1|h&+wqf35`b$F;pitbq38c>xd8l6d_Uv8eFpk5J2eB?KIlY%{eej{GW zq7=q!yu*#-80Nx(QnCH=9EUwNo>otw7a;w)(#?{|n5}emS?a5L{JiIaU$s0?JZAkc z9`#KK2Xd7|Snj1zG-O?HU6XWVsZ*kk$PtzKYr>8XRX@|G>srJvX+^4>E$B+h(Z(F9 z+*M1@Yos?0%CdGGIu8|LXZ@3JSw{2pjL8{hjFK;!z-0%Yf677bA|U0smdkvnMcQff z@#GS@cfd?d@pBXQ#vFWlP-XqF zt|%Lr8r|YBL*S7S{k;SIhx|$;-;LuhV}y`3xk%*NT8<{89Et{PKU2$5+2+ZkEDK92 zB`j}1Eaw?TFSn6Sb$YQ^W^CQ);rM-M^17TqVLPB)8G{?CBWzzpzp;AY?(z%4-89-Wx!QSy5j^_bIJ zi)=f*QG>O{IwChxlCb`1S5iWTVXtb+$G$R}wIhtw2u_78n+^SwHg#)i5V2`m7;#%& zB|l1HMkij{noE zALXyC*U|s4IiT(;3MJMO&eGuu9U_dVM`_xXG8yZ;MceBi+^efgoUeD!M&fBhTZ-0{ex zk3IgaZ$Gi~J5PT1si&X$-mdTe;D^ut=*Q3P{>k$%y!anK{n?(EUjF$jzxd^^_Wt@e zzkT&TfA{-+fB55{Ui+^<|7HJQ|MvIS|MAZ^w10P^q4q?=v?dzq&%YyeUp zoCBmj=m2uXTc6)F-zAvG%3i2c%y45RiK14xj_L6L>0c7m#}8Zs6&_ zJ-{=7dx7(S`+#o;?g!2XYAfp-I0HEg$nPdM0N(+e16&An02_e|fM)}pKp!vw^aB?I z1Hfg#W?(On+TLm)_X(^6E(VSQTY%%hR^SA%4LAwx0B!~@1#SU$0&fK_2W|zP1Kb8& z0lW{`1AGX`^^6_BRluDaaF6zBoQfQx~P zfnC5B;A&tiFbQk}UJh&rZU%M$Zw4*}ZUuG%w*!|09|E2Od>q&X+yz_#d=c0K+zadl zz6R_AYUhEUfJXucfpdW80~Y{OzyNSPa2YTITn)Smm;}~AfQ$oY0=fRiiTBH4KODFj zI2(8~@JQfRAO+5L;IY7mfX4wJ2c7`j1w0A(BJgd%*MJLw+WDXta1JmEJOkJYbOP4{ zmjUY_s8$1K0+YbQfaAc!ftLek12+SY1l|lh3Ahy)0zL#>4}2V02Z8o1a3*jM@G#)3 zz{7$2fwO@#FF-uN2H;7+xxf%`0k94NF94hgYy%z!>;)bUTmzg990eW;ECNpgP69)~ zTY+^DjN5>R10Mj+2JQeJ349885^yl$L#qo7;^|G*=Gvw?GfCjrj@hJayUodbLY zJRG!Xa|ncz8LhP9XLsBLq3VikWXS4 z@=5GPI|a_X9PJc%67VS?W#JMHX+Z`ei`uhry9CHS6QJ#ZeK+t`;Pb%!!25wSFRE|Y z3TyykUxhXo_&wkP;E#YF;17U{fu99-0lxxV4SXD!1ilCy2eJ>i9QYJ)Gw_?hn}Iul z4&;k{(pK0%27Cy(9>~5-^l`8!U}xXXzWznnK>}?r@Cx8-z%K*Y=TiqbaxG*9kbVA4 z;2hZ5*PH=-H&8>o)CruhgM>mCpl%R`{dV9o;0J&MK=w`RfL{b=fcF5|$FOgkfc?F| z2E=z5a5L=e!{)#~3wSf^p9XFPJ`LOs+zxyQ_#NQmzz+g<0lx}-5%?|OUf=`3*ML6; zYU}D7b^(qAo&%f%+yOiT_(Pxr=^YMq!v1|=82BH+Wx(fv1HdPN>wpgeGr&iH6ToMI z*8uMTZUKG{cpLC%z-_>rfDZuo0Cxbt27C(m3~)E_CEzQ-7l8YKKLx%H{0VSYyuRVv zbVvS92ObAI`{)IrA9W80>>1!J*r}r|gng9n;eR$T0DBj38QyaqsSWl5(24g)0DED- z8Mp>`CvX(_d0-LP4V(mi33vnWVc<^0LtW)o*f#^Id-#EOz)qbZfOwAt-UmB%k6yf| z4)ieWMc}P?57DFTg#BLNvq0(|i{btz;2zj}fO8OT0q|AWF9z@3u)F9E`vh_K1`>{s(W z!XFK!juZo~hWmSfqriS5+?#+!*f#++*yjNzVIKkRNBA>%I{04AlvcBOl;BmnFfM)<70(yYo1-1d70B%G0lYj%TuK`lF z{~Wju_D6vez^?6m%fKLx^`S@JQG%0?q+ufji*-HsBesuLVvboEPYX{c_-LymtV@ zunz%u!hSMv8SLwT6Y%c=4#55iU0Jj5Q20jej0^AAw z6!2N#7l3nm?|}OQbXdIWQ|P zk)@|y`WwcqHGf=*;g9Qy63OkFnE94i6n5_0;*a~Z_{-|?avq;Qt`SO<{y7)VAJ;$l zJh$VS{LzSzeRw8MG-4-Kr+8-kJj*0`qY6nsqYCY~8~K!hbPFRd+)o|1w>+ z1(gT32ldQ0VLmfI(m&gVdgiSS<}>S2`r)?^)ic`+^UpFSM4p$TCS@B^w3Y2hg2r80~Nh3*jep{BbBaLJ`?9|T1GgmR$-pGGkn`V75AC$R_ znf*28E%}Uelx;@(mu*J6XGK`mW=PXsz0PEgd*Nc`A=w6GyS4IJt0-dzDY3lFn`|et zzLyAkS?kj3UzNWd<>613vt96l?0c38K9yzWH*8gzTSVKHWtMVCmbq2%azUp$%V14U z=1-PErQIv2q|)vZH6_#T7x|EB^UL!pZJCBld#TxK3rpEKyGl^?m&S-O)alsk7%spm^9?v%#Losv~O%U({#vq{f0`wl6k z5*GO+UF83~b5r$?)b|>ZGsY?P9H|M*{)M|s=uUbLAygxJ3p1?Lg-Cg&3nc`7m~JDe z!}3bKD2cvK$!~^N&vH+=lmYx-xpP09`AiK@>Sc|fkJLk@Ud25ss_n$lqp0U0kq^no zQlnST%#(bU`IFDQX-BzVEb2hIXD#uJ3qFwUQVW&O+!3e3N*dET8$mhQ5zwzZiPB9P_X}kUmoXTQB%Z>R~cJN`I0z`lF7y zUX)qtiR*>D;rNTKkZDMLS&q!4&LsI&>bY{{CG|TQtLzoz2#Dh%mVxbC>MLyV>Um7m zvD9bzzZz%A(Wum=WSz-p{!c%Y_sS1xB-?}3Pi0zij3P&~a*V>gU242S7gIOn{(JtE zz9PBbv`fxa;~P05mg5^aDwaB|OjqhZlK=x)8a@e%|C+;}dqXXs)a`?Q=|97J4rr%p?X2yo<69B8DbN1b#fw6rte z@6gG~>n5+7#6;PQ>n5+edh)nK4#A0{Yp=cb5X`+fCwnJ1<8;u1`GMZSN$oHmD(das zj9`uhlba_IN?SL&Zgg~X)~v%O#>Y2~k5`;0;+X4S{VkrvoZN_wom8KmX^Z zH+kDWe^=oj54bNlu?`Wp2G1&hmO;Gg_fxnX_vt!quf^Y4g?eoZ{Oz)&J2_FWO(5NBzY~zBdYIph*K0q8c?RZT znC&nhh1rbsZi9IkW;aYju3lRPvj(OJa|6sBFb~1(g4qkBA>0Wt3t$2;y)YNSWMQs> z;cxq;h!f@+m{(xlUIM*se6XvHdzk`{HvYr6*8p;s{_Q6~P zlYyClxd!GInC&o+!aNJ}GR&W0W^F*ZU;;49Vb;K03^M_<8Rlk~Z7^Sgc^qaB%xf^S zH`Z%&V4N_^V9tlx0COYET`=E(c^2k3F#BPS1Z^BJO)zaR12Fs@ilwE)VP?U=Ws+`} zf)9sb_}dO%+5xi*=4F`IU=GE*lVBFY+zR{kFdJZeFkLX`!vys3b3ogAn7z6k<71K5 z(ZDNU&W2eG(+h)nfXUNf?txhj(+Tqd7>vCpF>acK_A&W>n3G_zHaCg>YjP_L)*UBr zhjGAQZEVs7=V(i) zC=BFr`acB)t2ipip#7z;2lu<_YSTb&eF_TSDOyYNV)zr*UgNv=+J|*I8cyPRjzQ>F zt>Wt#{rG@gI*|f#hSMWWgP7M6w_51V%kYu<3{>X7iWK{CUqd#Id(=>tze^Vx8urub z&*j(3%cIkr^|+T=M0rkXlNP6qnTLf}eY{J*Z(|U5t)7#`2Z&KXO?$t+?nxP>&@5sS z*M;bz+vw7UtL2L+xZsQHrd=;(4_$cGg&v|$+4c9Mw2O?hCPXA!)^HP^#Em3Z(hZel zy0o;d!Y9hq-OZPw2D3?BFXo*XxEW_q`=hvJLn_7v?GDzyw8-m4^a{i!7uuDAbH#NW z-T1y!Ispa$Lb~Zu4r;I058xJ*0`Fzh-8Ai9e$^Q_FeOF}ZZH&-x&X}954h+&y3 z(*qs-!pFI#wDP5`VCnGb+f=?a6E76t=g=7|v-vW&tg0)ar;{u%)ZtchsrGA61uCTIiPHhY5mJkx(;z~X)mtWA_vv=kAe-_5yQc1y!LR@>t%5nk#bDV4xb{%3wX46gtpoR6qU&7`Dz^)l75Gw`bXamorclf$#>Vk(2RY7u z1C4f3oxI+~tkrfEB0Z?hJ4D=Z!>F`tnU4Wn^rqM6`*nVi={#t=SqEEFS^jo@NL|zZ zGE={;ryEz*q;VOZ94Vrl*Xp5!N96DeGy5|s+^Dib#Q!fj-R2)1NXF*T4IOea$i zYFBSLA z%hG>Ux5@JVfh8m@Ndnw0v|~meE<>aPYPhUE@LKz$@=s~2U95Zv+uQ2e@nObnvOT*Y zozG?Yl@{4kL$v)}gu}fhbITltIQ z%(_*4iIV(A(aKi76G0{OLa*b^kdiCF&kyP~Bqb|v<;>zH%>>NwnKg+}%*;UaIz zlHDl#Pi+QzpVUxk1j>o{mM)T=2{)Z5bNP-G?`%TTNr|r%{|5BtO~R^yKgqk3EcUmQ zQ$uJ0NxJqIlX|n#{-o$SfE#YLpVzM67JPVKb^Av%^`e5jOH zZK3ZHJ|TEE3BN)wAQQC|NJGKn&ok|646emR-%;(=4`;5-jtY$~**=lLWm4$(5TTH8 zcd`xCeEqGN1IB%CPw*Lui+)hsNgIMn+qY>G4SF`H54UtuNGvFg+9-3}(ux6vpQY+) z@8)w})MqaVp`|5d_*n^36ucF+%3Votz{IKVbd_ zbNrR{S|dygOfO6drU>(1n9sm`73MjZKfwGG=ID1y`qX0cf-760^3P}E zy?U?>gEa98b$iAtom5ce+nP1u+sKXdp|UZUo@gCSCDzMppY=G zMo6En#zlYj&QnTnbjNzLRp6|H7@B(;p>6%k+#Gt}01;haqU%vpC}p=90Fo35rT=I^ebN&M8E60iE?p4a)b_{vFv z+u;9^Pe1=@hkRY}|5g8#PK$MXaGL&GbpKz1|L@)Y%Izm{~7UL`6&_N z+(R_&+~+TP-l461{^IAG?4Dt}>W903y63N&=DJdatnhM>4h=PbG9pLK-$5qyKihll z^Y}8~waC@g)knNHkbjJ zB+LZN4KTOC+z0az%nq2HFuP!O!|Z|C3$qVqKaA$W*+rNJ7zd08W-$!?cL7(!Bw>m$ zn_+H+*$%S_5XKVi?l7jf5%Q*DSD|Wm%Y!7e{&S& zYsG$qHsrZ1UFDz1IJm}3JOQR&H|WO1^GqOyBGBSBXzpS?O56{A7@m)W!Mc<{tWgPM z*UooGz^HeOmtl!-hG7~c1l_RCgmHj0bUzh_?p_$$TXZ}5nf6{7hT%Yr{`z&~XpQk> zSS8ZNGLU#b26VuT!(cci_UbUNSXUGNCxOiKRXSb`U+GbykP>{3(<+(|#cLTJLMc zQ_H_{SE$1OcVfe}&@ZQ9R35i(mvkl8SqoxofzmhY$?8SLp^)!s{_pSqQee6ipe*Jz zP#drpJa{1UPW^W){13o?EyFk|+pmY*u=1qikeg1l=1uL}vAX^1&)9!~zz(d}vo8qf z>-J`RycJK#=1J3yPj#Z*U`ndOo%ha^IST)D--4&DJFr)Qosj<9_gKAlg{6^p&G6vO zD#-t}_@BEIdCrb|1=os`UGmf#=HO=j9^Tv#pCmgsRIEy`|D}cN~lD{78ujJm+ zJa)ZuZ>YQvwgdioyChE$s2gi}2mP^#s{?u9&9-eY{3ZwU#Qnqa23^KEi09R)9e&-J z_nFGOX|3NB!x9>PKJ-LpeDb@t-1*D9Q2BG?Cd&Yf3x7@G$tm0yqPMIARe1v^bIu!D zGnP`x?>tI~$?HG`o*JPqQi40|nQPvJj%9!Ln^7HvFD{=ytKaN6feGaoy&IN3qTosGZOzt=Et#JX9M=sIoj-QYbggi$bzSHBpzCX{CtSN+FS(9uI=SiGrVE<(HvO^bEcZq3FSws@?{&ZC zuJat>33x8{eBSd7&$m1;d**mO-lg8ld@cR~|3&_kKjSa>FZEyL-|TtRybxI1{6O>T%`<|tgGUGF1TPKV6#Q85Q^D=Q?+1Sq{A=*o&_HM` zR0>@dx-PUm^sUgdq2Gnh3a<#CA5Mi!;p@VuM9z-*B9Ta2iLQ#S zi;hRX8vT3pkl3-Y1u=Il8e1CckFAYO#IBCLFLqDtYwQ>tXg75@gYEo)^K;IpoM~6V zb%pEQt`E3A=DO2$uj@;$ue%<1J@0zmb!gKGO^zmK(|4Ora0lEm_cHftchWuKzRrD% zd%OE__a67J-1`J2j`z&-ggrf;r#x?X4)-qf`n?x;bKcF~JH0>g{=)k=?@_*mz8+uR z_aWayz88G|^quN&^N;wi_iy)q&;LjN@qs|#g20u5PX!(i{3<+FA7J}CWKN7qr_(bsM!8d|$4f#X;pES?lX}CYUHoQK(G5oIZ&%&>SUk}fSoE|wV5{`65E{Lp;Tp9UrWLxCP$V-vmM;1ie zqeIb+(VL_9M*kW;8dPhI?TMk=6CLMKPKR@mbFs76x!$=^&}*0T=gtqg9&tVA`kU)b zpiQvp!lq=?`lfu-rlt=z-QDDHPr5(k{xYcZYj>;XHqYIjCp^!3e(tIBzSY~~9rBKO zC%m8Ve#!fY_gCK6z32OG^xf*a%l94Mi@rzvT3~j-5oij;0zH9MfeQo4z@>pRo1M)q z&F3}`HQ(91qxqHQzcim3Tpr8@ZwYP-elz$|@E^fBpu*BnF?4(AvCu1_zlCOpPYHX% z(Qr>V9?pk95xzIPE4(NChwz1wWMo6+>d1|eUql>HcQg_mM9Hs<-V=Q^`a<;eXhUp% ztT~pA-A5i-j5{^}M>tP*E_8;S=Qw}sJlu7ZE9kn&b+zj**VC@oTyGI&zpClFrkk2} zHa*?6uW5!m>>hTHyKi$p=RV0Z-?PZm?kRb$@qEhj9nUkK-JZRk-+TV-SqILzA6&7| ztNCX8+I(Alcl)09J?HzQZ-)O!|6Kps{yzU&|K{onDwi+w|7lMC8E140R9Xc^|W+)a~6Uv0%2%Q>k53dd%5jib#X2cnZMS3Es$d4ng zXdoJmE{m>@mZI;9ekA(o=x?Hbjy9oftc$%1t%8H@Jt*rUX8>{_@7(OX-T9#NyUtf2 z4Q9Jeb~#-aqJ>Lcw5F-h^oOQZ?)C1=-S2VV@BX^`yY3g< zzj40>t)bf!^p?Cgcz1aJ;yuE5imwSJ{F^W9zuEs~|0DkI`(NvC)6Fk8zuNq_=Gnm$gB`(v;6})aZ0LKC2Kz%t zgij88!;8b`gnu7C0rKFS$VlYU$bGS|#vYG76WbkoIreJo&#cRJm>WQQ*POGRM?2>@ zPlLo;=Dg53=A1xT|KU6twc6oIxN@#bT{oh9dtCo;t!a9H)1mGs-7mZU)2*Q<-JYyx zi{}%b2R*NPW_VBcws==~FY#XK{gC&Q-bcOP^S*>OeyFd-cct&WzR#nLKjz!z+wJ>> zZ~CHQi1U$8E8ZRobpL!iiS zLMMis!pp)g+88}2dO`F%(LIp$XT@4#=fz5~8)6@iX_MF=fbz7U zhI^c=oF8>w=eou9N7p}Ho0{J4Zg!vP33}Q*D?Edqi##KqanB~t)t>iwKIr+F=N``& zJYVsA&*S#4^d9Y7;EVV!^lkNh-M16<__FVCzuUjlKLhp95PVDM)KDPw&(Q1P2FTRr zNNc1!vL=!St*?u`50dp0k$WOvi~KUOFES%~RP^}hYtd6;jiCPW*d?(WW7}gtjO~s6 zjeNO<=e{)UbjX)ZX9l!?pYy}c2b_;MpLG7(ImdMYB+X}B+g(3HKa_J{=Drqk^)~mX z-FLfpx_7%Bp0|4zdYaG&M^U2Xp4S5(0I!@HToUXHjs)L{-t-^nMUM)f9qtWp3cok} z=kRfnrs$`b?pBO30d8l^`J(fekZWVEO)mCytxY%kzU%wB?_~d3{%6rbM*}y2Gd~Wl z{BdA!;P-)!=1b5rzu5c(Na5wdiy?#e2agFgg+37aSm>*v$3y>tR{4&wAL(5e{%m+h z_{s2phX0D%yB)pFZ$XWP(RlQH)YHAOr(=JLY4_ng6Y`-sPj?2LZO#$!-)EtPU{2R{ zrmNYt%C!-#@ikX{(T`EPdM@{@^KA88>b>6kg!ebzH~Ze|bNN>I zF7e&syB)ISN4|Z&!~AdaPx}AvcLzQj7-}AG-q1YR{O;zPk?Z@QGd$A#1SIEkXjeaP z{yns;V<9;&3MPX2;6(5}!TW>X3Vt{Equ_r*gXjvah5oQ1bVcYE^q=>H?hic@dLr~v z=+N+6!;4UpSA;(v-WL8s_?wU@FNKec920Rw-hrN_JF+s8k4!|ah4yuC=*Od9iartjTeLoQ8l=zVvHN2bI(L9n_c)(% z{>Hh_`FH0jF1KsQb)RboD;JMuMZnV?KJugA}%sbR#sJzl1!{g7e`IhChim_TBJr!~YeYgFe3#GV&9Vrz5XL>Y}Gc z7e&vHCZpF!AB#R6-3Qt)j}62|V)@vIVxNpX0u66pOxuS!eDsUQI^Tw#|7zzA&TY;o zoG&~7>hwYCCtX?BCtVLf`ux!~rzzCb-gIr#=gg8Ni=(0x91;j7)ZLlb@i zdhj3IEuPmr|MWC_ThTXO?R&RxAzE3hf4To$|7y@;*nb%~c2yvco^EU4fxx!|GnyNk z^N=SufoH$k{Alx&&CfRPY1S|zm>YaY&>8dwW9aYB37#7q46X?dL-XAd+#0+y_&Lz# z;oxJzr_fLQ1bXnR;N+u1CqXK^Ld~Jp&^e)OXaYL%7Vz|K;OcFm&xamBy}uGVEPP-1 zEwLU@;-c6G(fi$x@xbe7u{iUEdOpS(LXWW>^7jR2)RlqMeN)qEO$(vjeXZ#`O(oAw zp6#A5dcNk_0WRF>`Ge;zUavO{E^LFO>GJk^2fVAjw|lpFw|nmcFP!9?=UePs>g)3L z`UZR@@Wl7glf3BL<9o%o*Y_&g@N2#(MghzGUH)GG4^h*HhaL?7F#KxxPvO6ZwaCoK ztcWWz7%4?AN4;JX*&MkcvIUaoR*ZD^MqWkl@>=BlXev4xeRuSR=oaYj4@Q3m{e4bs zZp?ume?e?v%!ywA%Gfor&5*fUVj5Q9sM9uiBA&Gvx!vUncw^o^NSQ6(TfDc4yx)t~ z^mXs!-tT&UfRW2f-d}tF;Qa?QnUEg zn*hjFRe9s@y(ADqBMVpnBcO=z z0m>>MK|w)?Mnpvf2iHMGK}83YQAAW`{^&R3I3qKn_5FVLzEkz8x_YHS{7>?@-1qLg z%Q@$s?VfvI_2)xRhkhB#gnu3BZu&se^-bS}etA2rWKVPuw&C;9??rzS{TEoH(;#_w zG~Wkp@?x_IZL*-Hu_e^9q~#pg&wk+gp_aWZ_h3EuB>YycPX4pSXg#9!*w*7=J3Os% zc(E&5*SBtJ?Q6ZObzkeFt>0;Vvi14a-?sj~^$@K1PKAwqa`A5#|6#G=GVvt_kaZvK zJ{D`-w0onw8#Z*snt>iLxCcUaLZfuFO>d#m@O z-g~_N?e+SSzFoc#!V~;g-{F3jKj2>spZ+XZn+N<4`IiRQ!F&I3@Mpn)#ca+B9UcmW zT0$#9m-mOR58WBs7kUUj?!Uv|^M~IR?hEe&ZQ zqC+A_M&26nMiP;>$jZoCcz<1yb0Hl&B7300u83R{xe2=cW089yE1!>i89w2+BHxev zIPxr3ME?RE|3_$f3z9Rh>6oU!YntD*P{~iUDbcjFX+_i8rVa2K^H?<%nl5O%xaoaO zS2tbP^x>wDHhlup^tq;onjUR>40HBFtSg>t`gPOqn*IZ;3p099bZ+!$tT0Z9o)TRI zJKuzrMk=~Ix;nZ(dQLPK-4-oGcSYX^t#nKD&gi$IKZrgTeIC$GI$u)-<`fEU;&N~EDU%dd2NCAKr!%t1Es(*(7W;AJHeYh z!S@F5z=~>r@QcAO!!vy<_^03kc%nCi?g=Hr+u_Z;7!F5P!Dg<8K4Hw^AmFtkdSP^^ z`2yI43t`jlZMnZ?eru@p-L1wFlksrlVb49@zw@8yZ^IhD&tLS<3r4~%;aE5oZVN9D z|9yB(czLA1=~CF3Ijt+{1FSOXW*OghKk5E2_bXUqoaFhAcQJJ1nSryg4sH*ugY9aI zv`5a4^hS0?J{(yL9k;our|CVAo_m`fz>Itc{{4xddIXxkCwgi0Dy7T575#m5R`W5< z9nC$>+hGH4h85V?{MqKmnxBC^dkMDSu$JRm(k*Ah=UUKuI##(GTKi$y=3{lc2y6Sx z7hk>j#>K`trtuiyJJ>zfeT@4Z?gd!kuZ4{CLOSkpe-d8kL+}m%1+f1GtH8rO$9UfA zIl;3K>%g7x$sYE6!}D#=4?RzNe&vaKmwEG889eU|_+q|g{sMfkTmAQ7rSuJ~`+th{ z(*O8p1>O{RYv3f<>)nWnTpRdY;Q7EiVI7AN8#*XFH+&q{`&+QW{UT)IpvZBN(<050 z6_Inm|CdH?h};e9@HpZie~!#+dPkEFHsPl&OIjajy@7NdFpUe4os5<1GgzZ{d#?68 z==rASanEe;m%UGT{|HN+^qu2-!M6^+y$Qde5fGdeEC%;rh4xHvf9T=RZ$fv5_l0lA zIM+4(tm!vR^P-z!X&;HsXkOgBv3YlM0RGN8cssAO9NhY=Rul20;^I3O{}yWv(|8tR zhuxi68UN7xQ}1)$nZBdo!<`8)?rh%{c&iuqE`i5-v+s7_Cw%*SpY?so_Z3*nC*Z&T zT*Zzo|68F|PW7MRkHCw6pZ|9MgZ`O;Ifx(~84L##!5sX(xuNqydqV#ing=>HAx^Y8 z{QmF_hzZ;io)#fX92E`+oNq z+>b!E(a&BJdjR--WS`sTM=Y%w-h2}BybKYwjhLSoH%`K0DWi2pPdh5!x8)LM*h1c+RDvE8!2`3cGM$=mGHE*WnvJ6?!)GLg=N?A40E$ zWUmXcfxu+fLOuT!;gob3O@@A z@>2K@upu)eb0bGb-WEA2vMAz*1SKQOA{~e%c13z3Mfh2lV!eG`7W2D>tP9Xzr- z5z&2MQuEh?7{CS1m%^T0*L-X9ov#yXA1`K3B^^ zM8CrDDwejaYFQ88Vr$C))+)pBp{{}dv=^Fjf6Id{k7CvGWXsbn&%vMix0aXTY0Pdt zy!E(NSL?!7H)3W>;BBmew{cGER;*)o!qd7Oe%4K`dt2{r-QW5kypPA=eLRgA#EbB- zUv4!P&t7~u{4W=LFZbf`;w6ihE?%{GJ)&$|7Y`r;Jq+D@&ElID?_GR1VvG+iesu9; z@K&CNFa9FDajYCy;ahmHs^OjuujM#IUKc{%!ic^ug?3&KS=$Op+X*?l+-*ggx*v5v1}pQl`#JZESf#v-$jxkM?BhHx=xetp>{;Sj>RIJk?>Wb_)iVJ7J?y#M za}6x*UeDcFZ#{?=*JFtEKaF+Qi&%NRjLpH>-ovrhad{Uaz8i)|wA8!GyWV?_cdK{6 zyA!MN%e~ilZ}RT--tFCw)zG7eem?1a8rttg#6Vy68ot@S!+pp3T)u^n_An%Usc#kJ z{2bp_Ncm30hcCz4=_cP^-`&3bz6X7eBA$WYhgZLs=MROkc6%Z8VrVvG!3`-`AKn?h zDg0pg>F~?p;#|=2Xi)NP zpyf%R<|5G354t@D$$t{E|1_lkImrKu&;b7i9q=-=fDxP-oDEHIICQ~r&;~B(gN4ut zZs>$Cw89eTg{8JvzaHA*9O#Fw&=3RA5W~N3IbDRUY z-Ws_E5_uD3axbLvZph_+mF zT}#(~6z!h0OYT7KeEtFIzsI}?rTYILFyF6gUT@xL-fVtI-QQt;%)HCI$Gq3vXYM!e zw`&L#%-Q2}c3tO_Vf@i!w?8T0?(x(3&+xITjGQTzJ6`FryZxc&>*%eel>d}YE3KaPYS zqqD5qHh(coxcL9S*#FnhEcui9XIy_$<$RAn(`?POW?8juCOh*!&`nb;WQNR$&@z|l(O|HC^<#t?CnT(*Jw3bN8#>d>rh+=TZiEP7n)2i+_}_ss5KY& zhat^FI@~%!Js*YpW7PFF>p1Hz)?2OPt-rJ0j+Uq4%|hfp%Zs}lcymAlfh~bX>$J%n$zMWw$uues*S?J+(q(7StmdA4Aj{Ta$)z{47 zStzlFXQ*;Z-B)VVK3Cr8JH9uE4_2+M;hDn+*}a*=wNN#iq+-}=vV0f&hGWCN;iHCg zX243D5y0xVf>sDrjn>7MeQEwB=aO5=r+dMdl=I)32+&RG8oF4nc^A*SIFBoG@jLCZ z6E2o(#qf&ZM~6Q%{PW@5ur9-=Z^N|-UttV0ooMI0KiB|mke`Ay3#r+vTsSsjEw+|e zF}qAl4Q1sbT$GRZo1eEizTP{-pfupOtCYM^hIG3dac3BOuC@!b(|bD={kVN&i}1D$l<&>tAluV=lGYtan;xS<9^D)(UH-waWT?>&#Iu zjxpB1)qt)Yi5!P|Oq2SDUr3z5)n+a?SD78=+2$tm9JABxHn*DRnmuN}d7fD?hs+)3 zF7pD=ck=(1nJdk9bG<1ebXe=G_14+=Fp6RgV9^M_+gx z#=yffk;q$#BK{^6K1m$)%UPc*)Mop1o}E)sNkL!X?*Td+trQ-elbTmf_1kwD5}iuId_o_&xhC zUGm-^zjyZghOZpB@u?ekUDj2?PoS61J@?#FPft&2+qP|`n{K+PCTaL9S|kb_eooz? zbdrW%L!zSTM%ZjJ4Wq@}YHbDFTdZyydJW&7FZ#`mz%)`Ik$My6i2( zzq(}Bu!b&Q`p8Ec6OG!ySqyt{pd%_>8`u(Dn0pRhe-*- zzhQZI{q@(EhKGks7hG^bxevA_3?KX0$4d9zcVFq=d+#lM?Q35v{o)rLkP3bESp(L2 z_=(*itKV8<4O&HOyTy8+_{1j^OoZV>ANo+~yWjn8>FKARF8$yKKPWx)5V;>*JN)Ob zeCfzHzxgwZ&yU>qi$%}h^S%@QeeV??e)-K`-Zf+X`TduDKKP+hHk&QoaKjCy2OfB! z^pl_bMD_c%ubp6?34Q+*ti=v%r**!y+uCDYWL<1sVqIpv&$`@tzjdW`m36gst@T0c zdg})3ChKPFI@r9=nIEujM83;;G8S0FMt@zXCU` zwLWa!tmfgCTW$f(o-F64#)N{t<{Xe*gMV4VVA;6{r$>FY@3M-Fei zc;m%uaUC(NuUo8Jt=p`R*xX|n-%)hooQ&iV%^T!{JMOrnoJiZ}p4(_<%*|$>x!V-W zYYpFS@%or`m!tm(+@Bajz4P%384RdbCO60}QfBy3q z-E+@9rAoTny4TtO`*DvIx2PLGY28=GNz0A?KcU-To`tch|6O72vp#L@x9+z-rLNCd zpS2DdK4f^VN~k+rCmBlD8!o(h!1}!Pp!JaTu=Qo@QR}PL*R5|_k6GWg9=E<{J!$>G zddm8-^|bX9>sjk()^pY`tY2C$SiiDz}M=te;x{Z2cUgJP!)IVEtN+@~_rQ*6*x;vwm;=!TK-jW$S;eSFFF_ z2g9rxGiMw$WA=}XY{ua;j+}Ayj1MX~q5Mkf>+36R-n_X)*QZt@d1TtM zx<496n8%xMH@7MM+S}V( zV#??9r5kU&af0b!W8^g-FcB(Vr>X071s@?KjFqbi@Dk$sR}z@iUTc9HuTA##iPFtC z-(33UH@~T5nsWWqpZ>J;na_Mim4Ex&-!7N)-M7B=Emh7o_0on78`ON=cH3;zc`>%fWt7^=B`}UOx3!kO$dbx}*I^;`V z`cmm`OnLV&n)MA)+3H=Cw)vN z-?V9yk`bq#ti300&pr2CIq|u+&QzbNqbZ|eOY7yI{`99|H-Ax1e6Ck-DrM9a)C=Rm z|K%@#S#e2NJAL@WA1-NI z@Ynl4Pq=Z(a1N5G>@-Xg)(*A*=x4sx>3#2e-%sJwresd0GZ#C3?X}mInD{KYysMWx z>rCVxeLR76%th~h_q#8Gjwz>e&N=5I_{HS}`M-z>I#?y>qKlXymlr`UN2GeNO?TOK z*IlRR!ZnT4kD;Dq5}iT+lJYBwa?G`xB(C3_iS_Ac(65=ezcEq2q*9Olb6xe`_rABZ zefxHWgA;Zq{DfH&;TCvBFNlxCobZ!2uScRS`M?K0P`dEK3rj;oLnZJ{)m%7n5FP5I zyTH#}a3K66*VDD@>*;ysx`cX->skDOOle?XpaeNkYeMmlg_nenoczOi5FDKF*Y}A> z^OdJw&UGVwKCa1k@7}G})}$|S;9M|qeM|X}xsZ7fJZgD~c-HelUyCxr|EW)Xs-hJRrH3DWxT<_|@$X-#ST@)2j2Y2SVO-Xk#*TkK zRQmeYzpnaVO#G9d{G>`;KQr#Zc)29=-!GB}P^mv)$A(Vrj; z!V83fWweP*P8yIF6R}4VsY4%ye!0Nl^m|1v>0@zx;RBBE^mFRn)85lZU|#RNlyOgn zc1vKW^}R_G!r_z!!XfSJ<%}ad|NQgi#OHeTSVrH8I`}>Bd5?+{lNShsQzi&Qp-?Ex zBF87)Moa(j5C2g5bbQ+k=>Q*SVFj(JYv!3Q5y zei!!-oqJz$&vN=@tjGFnCw)vLC#}fGe>7C1hAXr>?j z@Q2FJqpv54d`J9fBbjr5P~J(-vmtEHxuLH}8jGJQeb>vWk2t>AHo;%|C2jeRdWG}H zoX;$mI;0ixXSw*P@{W7A(s#X_vPc{4gpEAJ^D0clmpX<0@tHYcV7b&`ebR<pGWtR6hq=_@d*>K(FXKDy zAJ-vV8!%DM*p|5RnK@;gyG{Cy=Kna$IX?X+!Y}?4V=?p_ob^V# zXM4s31P8+9lxLX-=N#}}eS*@t(SwI(i~~Fm5!_#F!rK82Od- z zwkIqcpZC;*oIlY+%$>TMc8qiU#1l^_zlAXItnT-|_dR7d#Rk^PpL*&k6$fQ3jJWcQ zE@OD4opX$--iwW;EulT5EhGF+-;#CYZ180L)zRwH<}w!L9Ou>EQ=d|g5`Ow!ZN9EdTM3f2`((yh-1KelX{XvD4Aoaqh@F?4LdlW4)vk$D|J^u}k`*PFTjecf!wp zB+=(4j}sQ=&O|slHsdEU7JX9k2YqyB8|OW7CLeMP`uXHD>H*r1haP%J#hA%w`KEayFWiM&g>AZ+rUI*D{9 z?!=4hc)sI0S$K+lvJT71Z{%B4!Rkw5o-v_WA6y&o0wn*1gQh=ZqJyKf*yf z%bYw*7+Ht(A)du@b|_x;ig|nearToThfMeFEDey#=3XHPx?usek84@a$bM5 zHuO!&>oUf4TMAPy85HqCR1L_QAQNOtVkt7}If2`$hkUiQ`Qqkv};f z^4$aR;63Gne9b<{C(@VmUdpB`7ypy+Pi9_ep9Fr%sY57-lj-Nx*5&$zYe=pENY~L4 z=_T)YPkxZtgXGjnupwj=JOA>@3OOS?<Ir}rc>>O$hjk#L*`C;IO!nxGoK6%*xz_D>DTi;V@Uj#k9*XlgT%vyr=5IF*qt;W zKL{P_(ZD(Ha?d`-i>bbz@3~&09MB%s(x6txo%}#~sg;L`(17@l7K{CBlym+W_m}e` z+<)diF8QEV=TSchKL{^OmIiFcxc(a@asAG?zwEDb-QjFS>?Ck;d&UVi!I>N`Zr0?#fnIq5*1AbcP?QD{(4 zAF}R5_7z^wI*cpVo)_Y?(13Pv&6+hzACMPb4GoAtME%D&yPO|%@`2ERHi73| zga*P3!UwhbU@ShM?)+=mxv|D1{+w&lz==QQLF^)J0>5J<4X6{GG!T72+$i6*`p_u{ ztW&!O_}6|W{&H5dRt`iT@;!Ng{JVDT+Hq+x8V?Zv={kcsUHuS$>U%k}HWm$dW{P`0 z>(;HSq5}MnJ)T{qE|>@p z$Xb#3zfo+Tz#;ex4MZ0RACUK*c7Ze?jaZ*Hg1>R#l!3AI0Odo*eWT>WU(W9mC(#AM z2eon_x`6N5j`1GKf%rvZ*+b$#-Frx{wm;%8=g5TzCPM?-1mY|_Ao$nQ1H^y2?ACPk zL;U3&y6}NhA99}S=>p*cu?e(`^a=kK@xS!aOUI;v=z@B(AU1)&bs^``IM1B_T3blk z@QmD46XP{J<0O0jlJiUn-%X`o&Oc+oW6?l#K|MYYn?OF`T8VN{4}bcE#Q)Wt{or{T z`Cg$m=ew!&P5k9s2BCq-f#`#Y*aY%{$PMM7cK)XWf1dZN#ao{FZmRf83|#oYsSoSf z1oDB?COX$jtk3uv=UQR|5;rDa@O@@s?-4W1Xq?KiPKFH%uIp=QemQfaj8U-i`h# zV+NFE?hj5ZF>ym23&I?P!|&eoF81=rDX>O-C@VjE{4?2~=J9`q5KaD2ucs0)M- zh=09vdz4$Ad*&Hdo-3v-la8b*pIJVc#5QcpKG>J^!JK2&gJHVM=-;wW+5;#4^}d-I z?|T>0X1Ws3Y}bR~wJPKKh;qQ#5a+*k&zdyiyi6B<rH2J*~XU4+IFKovu?dUq>N*6OleQQQQnP~^W3)7pKM->f4#j8!b3jbnf=y*vz0~7;IpG)Fopo53cu0Sod-`#rS9s4dX-m16{wI?&PRiJ*;6K*h zH+2xt(K{348`6ez?R@9Fr!Ok?*v9#e_v~BVbKi&G=JMRN)FZy~UUHVnd+GzWAr0mI zL~_o*6Mvy^y_~j7#*>`mN!@zyr5@!$>amTKOYVG6{U+s-Q--9y6Gjb;kGd?)qTM#?33zIV>6yeG}1z2xK*c`rHTQQl7^C;s$-=>t*z z$FiSX!`1q^^rNK>?RM>Zd3M@#wvlql*|+pVJ;HSxWkTLlXUKcWiL1P4UD{x$k0ABN z${8Pa;!j;(FVT;oK9}(%=Qop5pLIBo@=kJ=5of8#Hu6q#_RaQEhdJk0`s4i44`&@F z-m{GDS%-K#+fMYp7XNy-Lwo?|_i}PinWz6H?I@G<8O6`#J=Zkyo^bJf3i9E ziYfnsf33~nx2%laOeB%7IbW0)$^jGaxkjO{GLb%5hhqvH#E0LVa!o+LLCSegdhk1K z){*kb=C$}c_nvuA_(|u9!v1ROaV(Bm3&(5qEcna%N9N6$Q@-nc5Bge^QI4Erzt;DZ zfBJude?7ZF*`=RNe3{diWlT}lCX=ND`(XTweXuWQ->+BvOYju`kMSSI0qAGdOSIpN zTT<4X?`eza_mgkOqXX-(F55W!;63}US6*9hx}RnJC-_sZOeIlfX}jcm-P)XU%sNx) z`?YK%@gK&&IscsBsV08oTZ^|m%Wp$WweQ!e9pk_B{bm1ye&kdW?Ud|!*5-`+Ots(F zvYps|o`E49DCbj6T#wY^Ezf*6)qY>gcGUfpeZl|L*c<9@`YD35609rT^w#$ z{7d8Ie|EQHW_@_eUw+}gB}>mv{XV%h6*^NtPxk+FG5)D&BmhjLeLpH~wJR=JdVK7Z z#P6G4PJJQinHv7(u?fRO#y=00WGIXuKP~ZJslcniUvQu3_yvsLT){uSKN*S7OPo>X zcX!6e<}iEyPeIj*j$cIGIpy)6jSr^25PLZ_{#f;DaQ-KY{}4J_Vt2M=>EFfwlzKMx zN@B8-r#k@tlb-+WXj-BFN16$N4bG&qIl$jUE6Vdk>AwSYAGb$Zvh-)kb5k$GriQ&? zfc}%le>cW?|yPxWE-C}0dJ1Lu0F0GVksQ5g3 znSSG}6Mm^Cqmw z4lxcjPBcz7PO198X*3va<4BeKM$m|04SKS%*l02?HZCy|_}Sf=h)Nu1oMkM>8@F+S zvD)asI_W&4V3+MQ&NnVFE=1k+s%PdIBa2?T@I2GV8$Cv!dYdsW2M1qi>;xp&7#~z) z-E7jUpEq7Gey!@=V*FN(_1rQ4S7<9+r2jrT9zw*+sDtC#LuaNE+Wtjkaj&r5GBp~SoIXq4z{=Cw<2Gj8|Z z=DmICzDn8f?cS?Uh8A92rG1i@9^pvVW$5QNv{Y}sS1rI8OK>pAx}I;W%NC$MuB%E{ z&%Ai)ZASw-^F8xt`V6W8CP7gMDm@{^GM6KNjOOe2aohJJUnaWKX`3{o@;{U2}Kj(j#` zv0usN!5E+K4^})+7~h6=vr#e|GP@A>hoHyPRDLXaH36%IT9(m@`#Gq02q61`x<5?y z@gnXI#(VbjOLadV&+PGdBY@{Fq~nkX<$C;oEz&H!Jp=hcxZKEBBDEl`Mq(W0O5`(9 zi)Dvn#30JpV;DK{3?p?T%>^tW+tM#W^9ruy4-Gp}0t|Ww5yJ?g!dvx89L!!u#y%pD3W zDXW}|3my46xaVAu?|Dz2BMgV3J^5uW@_A@`1QPYqT;zN{3?+nXF7mm!n*+GsjOTfP zp7Y5xPqk-m8Ql9}&i)Al@jqGhb+Cf{O}HoKry^f~yM<_bGU~`P>&pECl)KdPA*wEQ zCTXeb&r)S40s0eFd;MH{&$=Av5Wp_?BXbQ4+m3vv+m9?C+2$Zne>NyG2i$N1;64O1 zLilGRC(Vz--EQQwRlT{;<)krbWf~qN(*73Yha>+Ca?19hpc?6L7|KpoWiz2CG=0gZ z)GeH+w*=5dmlv&CLW&O=~ zPhD^v(y_Rw%*;j|z9XLzjzjSFAk?R9ACE+;QaWa-w%We@9ZLDEN71^8xXwX3)K1iC zOj0%jz0x)uf-=_SJvAI*Is~H;9_l~lobO|h$P5HQ@{*k!IVGI4*gCdQ0fZoNdU1 zqyygz?MW-X;}~B>V*7tZBAxEHp9he$Ez61HN;_veJ_pbTd4zosU-Bg33KHv*hD+^x(u8)Cx|w;$ z)|{)D-Q1IN4d%LYgSo!WoU6avRYY;2e`v7s)Y;#aYwXAlZpjr>J3DioL&bc5pKBmH znC;CKbAyXqUAci=Usu6}QnoJc8c;oT4i$?1y{>F0>!)@WQ76~cftN8?-%xLEFyHB_ zs-hbfw`Pm3oT^=LacH~0L0A8P8o0YBy9HxuNZB1~^$hj)HLd_WQr?x%_VjOQT$;%B z0mOXYmZklJ`SbhxirF65Kz|{xdb0b_bqRgeA5QQyEf-s*@1zcd=3rzQ7K<=*;CY!FZO^VikNa& z0qp>%?rj%u6+f{Co1v4gd|{v`y9?dqZDvz1H)p{fnj>_#rxaW}@_k+XI~o(1^uhj~ zOgcYUC?<2=`92%UPW?h7ur;ee@9qanx^`^M>E3PD0JNChY%$kW?hZX=hkB|y?9xSG zM>S%jYiYh%)O0Tn4feUvOYXd({C4nGUy=9>3>CI&B=HLLD)#r4`%h#ck3CiJs*;ht z=fJHLxItHEPrh>-JG2F{v!}n1bL9b#lvMB;ACfhF`SXU*ybI8BZU>mKb?{aP4rDwX2g2@?I)Q1>>cSxjc9>T>L z?jGuaY-GW*ia9vV_9%@>xy!7|LPr%>mvxn0Re_MFtF;H2k?daSUqfC&C z^()Pt`C=j0(@lcz$OELTYlQ|+H6F|j4CV^xrhpfN{ryGZJKzH4(&H*Z4K!lj6nEqY zJAj^yUl`ilps<8If}DCxa4O3hQ`^z$atH|~Fh){CDEmlNp-EDyG>zdRm!hf7^7>6< z3@lcetU7WjikT$OaX8KUd=y~-h)`tt&6JV;#+V2)v2czk)ytB;NOy%9DCD3RwEW;n z4}%-fIhWrK0ZK!Th6Z!1Ds1B#D%gbA(C;D-WvMZTdLY-`x`91Y(%xo=mC7bSvyxCC zhiXa8?0L1dM1dTrcti0hF}9fjp!H!AG2>wC9C#D&wCvkG?8swMSq0k1o?~F4c>)>+ zYP|?z*}RZ1=6W03xAqT$v{Y#Jd?;0xb#2cV^0c>tk*d9{zi$hep$lR>myehav$OY4}NYfT&Az%=zW^if!$W1+ef2)RB50jGTP zVE+y%L|fCkqn@ZY>W>DZ!Du)diF!~FjCw**PdMszN4&lmOi zqdwe+qP}p{kN+akfIAxSMgzWRz;AOlXlI+hf?bm6?;Ysxqt37kGHHi+=lh_^q^;)B za)Xf-%dc#9PUm}^vINBd8uawT*~p)-q-q8LTM zMq#d1i{e=@tT0oSJ{myJ!jR-#Wt0GF2SH*vyN3}0gU>H0p<|C1^gyCim-8Xy`9U>g zJE*}#9YMq}2v~=byHHifB;+85r#8Y>D_~qZ6OV*oZP#yvGEtW+-jnUyrmW&nU(MUb zWpK2HvRiV?@}N8h?Sg~U3q6G%C-z1fCB4$6q$g)86f>IG%V?6ldr#x@O? zU`i6x^U{7**%q-_VO3#0*Ft5y$o4X{77DP;k zAAJb;f4OXLBPJM9s*6;eu51w__PJK2TnihM%a);YS7T~@>QvsS8VeiS5-U&TT!70# zHD!xaJGofN2{v}=nl>p|mIcFaP4q*H>m`a}eJ*aa?o(2eBiS%HG{YUM*Q5xC(z0se zMe*S!=aNKgT&AT@s~xIxytMsRZ5crmJ))~So9}_~fL4@_)R@`L(B+L}op}FFs5Q`x zdee5R&>aM#==7zPC2_@|`4nBDY9Vsv3RuvQ>g5hL!{^~MY^+R$s?dW0H}~&sTuCDm zv$+HI$QF*WRq5iguNQhlji!h}4wP9{qmy$;DO6&&jg6dByCdlReq~a(W@+sdI-p5G zEiJcWt%<6dS?vWuwovHr%qt18xtgkow$|0I3^#`-<~;;TseQU3EO9g~ z(QM1CEUyL#4WaBncU2p(tKr1ou-yoN0ksa!1s`%WJiuQCD{w(dec78wH+@@_TVcBd zS{W*W+lvkj$8yRQZ2GpgE{DXxS+-RG;HVJ3V(b+gYO}E{TPO-|E4^9}ImUW>v+cku zGNGc9#11kk*U$+C@ruk^*bPV`rtvl%wO!5%5Bdv^?LZ%GLkc%D!q@C$O$OXd0d!U9oO!4lrx_RtQTo z&+2ER&wTGtugx%UP5O7_x&Xk)!Zaoc;EP|qsG^J55$9Qpz0x*H4#7^_G)9%TjvlC$ z`=A*M9gy-Ux`*z87LRu1da+0?=AvcQ5d(rqHl0PBhs+1ggkWN4__gBubT)O}k#K)Boke081_xe7jyO zg>zjFo?$&bo3Spak{VSVQ!yi91sy@+6y*E1_ixKBa^;|1z!Fd}TI#k??rj-_>Fnyk zOV|mnrnROOxkY5DM#&ep=*EM4CO7+J2~l>jLDkriY$mFXxG0Es(x zRr;wGURFA#V{j;UitgPGQI)5QRJDiDaVa%u?Q);8y9HVn3!-x5`IMN_QFgyhKch^* z@+gfkfYi#=(otw=I7EZHqAQc}1Vu(G>6BJ!1bDy^8-evFi{)I(pesAS$R%A!FbK0& z-I>HX6yrcK!!w7s4+w}aqVnXra*(qOrdDLib!H?)xuu1&)KDLB6`%lQ2+X-dAfm%I z09dO!U6-SxC|{J=rVdwSbe2M-f3VLE;Ml0@H-emEaND1SVwv2K8=BFD^riD)1l*v+5@XFDgXx!tgQG3oGon;3bI!Y5(ty!0Gvg}ue2-9>RO|fS;X$a zwGavhu~;bCL9RPa72eIPfHYNs2Gs^OMDShnA-Rccsr-AJU0q5H39F5Vw&)OMdnIY} zh~0(Fe5_w^$r1@}XRlVCgE~aexvLZE=p9RQJp+ViD{>oYTV%^>$c}db3U~+rpJJ}n zaTa2e&~PKudU%qtXB$PkmrUK(_RD$#-Dyj&?N&yy{-HA-O{u6|bSX?Voz)$L9T8Dw zE^Sk#IiQ$DfU8V&dmBob1Em$n2+&E;-4zQl($a_-0p(O=UVB%7O_QX`Jw%{s2(d7( zz_AC2m{Da@D8;zu6e*zFPBDUS!$exRu=0RnE-QBk0R3brS&)sJV$jAm(H+*)b_cq- zN9HQ-fYS@53NN)WHn;`hWn!hB3r%z-Ram@c!HQ6w+#AvZYKqXst#YkYz_)Rl<^qaa z2axN{gbH0?{1{`>Dx_DoUn))k9|(~;aDeIp6I&Z35r%YO15Rle?)@qUx=}BwwApvK zm6g31&6o_qVkO8JIW!2oE4Xfb7}pM|DH9GpQ@#YW%XV515LCq>;1Z3pFV0wDUjdE- zi3@#UZ_zU>s^g^Pt#Yi6^v;}?aUCmc)J}$TRoKliDAWqn6%>Ms>cLAbY=d{+J5c1E z(!WhgoypdP(jUN6yP*IdM8-a}?3Na`NqAQIQMAGK-VRhLdR2WXmb4iZBg6f|NVyyi z5NPf~C=8~MVx?EBSa%f|uL7u`su)y)U-o5e0CZ@QD+KK(7t}V09m+3=rV^3^k_0$r+K74FW!vBzexVvP}f zJ3Yy&j=`?dNa+aL3U)7Ciq#f}pkC1XUwpZxr++i#$?;AwbZmq;@TTuZZLTK48G>X% zgVr((+hfx~@n!`x)kKHu)b`F48UqeuzcgD=zIdiej4@vIBvc3mS5Y64;T&{RaBS-e z{>9OOtvb9=SeqTp_v8G4mOLHUb%f+KLUxlz0#=Jvx}3 z*eT-@2wsg=C(z$LDws`&6aHs^77^S=J3^yr%E6@@2x7@T4E7HVIOf-O;lNoVgTLa_REK|c z=~M#1*gcZtLDS-XSJ8&-4r))McR!;09aRT@^idKHyA>Rbb4s!Zsk|sFbjRTuP`WDQ zJz|upI+?OwtrE978H6I>hh}H&a!$=l;cHO2AwLRvZU5FMtiy1kFbIKwWo(*0#Ze3Wl!6bv5y2QAh+^4W>=DR7XH) zl^vLpnvPJFGfD;h0d|AMwc`ba{vN#-q!Y zkURT6`&k*m5%H&dui_T0Ee4ASggePqp5dDCR<#xGl7mTfeHnWNMc|RD-ZW`|qMRD* zz)OXT4Sl(yCZANR3x#9G)ILR($*wS(Caylm!hqWr_?4RBsvuKC;r$t1*f^u-sN|pm zk2>aAi8u}wMg$xcM*}y+!LhQ^^Ow~a!;;`m&y%WFHS|C~C`%`=ys9XWEj z&Z1vf0H2XvV=t*eFB^DPKu5$_US9R+eR#X}R;XG>b%Yw>vX4B$!44?cdO2LpRPeZT zG)!%3D;^iH%1E%+HV}R%F;(?&3@NvBB)08XHz#_#JW*dX#JcEVhfup*+v)S!Cni}J zlL+Lgqm=ick6YO8eB-)pkPMOUvRN;C!A=htM?}?$#Im$-iNO<`t8;n4b0Aiy)E>4{{Z$XG_T7rRDjTPySAhjO zh6(3g&Sz@f3DH#s%Na4HI0KO`inGnlT{{=7Xy|MouS{K>QtC$t!sp>A3|ZjN4a5)!)p&Y`Q&zA~@hG;a zbgM#a>K$;|f>U%10JyOI$tW-oS?D>#;}zpk*j2zr1DG68X%FdC93P`O(!e7qtf=Uy zhF(<+vEPMmlqOSU|#?gTU@JMr@Op?;Av;-{N3Ku;-_LQ0FH=* z65Mj><*po+KgZLPisL|q#x-r^rkDiIsR^~Vm#uoOIvty4dj6Ddrr7I4XYh4-hN>DF zoblTNhcahp30P@Pr{mG3HrBB0#&j#H=w&c8LDvvtSBe^X9^{x7HvicPrcG`4!}nm- zwbkR-?SQAqz)aY%=0P%0o*DOj@_n5>L-^{T+^VwDbKq^GScW63v~jO}?BMl>L(OW{ zQ8J#o;S7kT)E3p={wpKrpecz^F4vUM%nc%`33jYx6`Nuz?E0i*qjpC0adk{Tj$TWxAQgCl5MLKu}nv7^_i&-+?Q|A zT|#}{0FOcWuLZQ8zXy&;#+^>2V!lu~zDAz3EWK?~TU*z0a2k#nM4{I2Q4yV-W?L-|Gz|{T^>76-p&Des?68 ziAUneOwjB1`Tb#c!jlN^_6EH{zdw~|NO?nEz~*%~#8W|EL(uI728jSF#rI^wZcj20 zjQBF>(U7dt}^e24Ym>M(TPK5mdfb8|5j^E<}1__KANyNNiPbwG+ zrhU63o>&T)ry4?ubgIFh1W{uCNT9)+aQhSSR5IpE2NXR#?sy>XBhK*vPz}YBnQ$0L zr#-2(FBJghzCR7J!i%e;J_8R zqRoA~+7b2wYqqw`_cpqD%?EIvR3MQKXVQUmBI6GRfPFe10u3<(-bgx_N@?EVjHeTR zzdHafj0b|iFr9Q~VrfiNC>Hbie5v&AR4C$!qyzqjm^aP&afchi2~VoQ>yCIssX*A{ zjs+F1#_I`ddCX-n=1%y%!AK;M^v2^D!V?dLyk55-z_}H%+@5&EmreovmD``~FOc$igAJ)jEYaYPhy4v#h14=+~1oxEHR3;vToOqH6XcjM~Jd*Hcz%pLUr#lde`@;zc;O;;o97?6q@rG17 zly2|`gTTO-NJ0y^V}L&G_s6}EG@r+x^m!wh2*u6sPK7dn4yq*>fLI1GTS?#USjdw~ z_QQt@y+9Pyzme>ea|;qzo75g;D&rTw0u zH<=9k0=t8ONFWxA#2S*}1TgidBjEU8sKJ*^CR2bNd99YZOe8a*IFy?o*k>Xh zH`vteP6gAUL@eQp@Amkh4E_F41GE!Z6}->@#pG%5g*~A_0KDgiSYwL3sbIw8kEDD- z!jZx(g2NMuWB`l^Eg6IMOM8=$LJkDQ6-t4y>9{)+jHNJ($w)F52=2zzdei<;xFMYk z1wc-3pdl9U2O4}{Jf{<(7*xcbjK|{+Byk4}BA6L}1l*iR#lc`nuxiBZPh)00kcNaW z=x+!H(lN|7x(dg=-iCz7jkf-XC+P(ZLf)7^;K$5(A}P=y4ZRx&Q-jQ*bUFn_hmPLu zjzrR+3BZ8fYVaqL@rH0Pl5TK&!vQFla1zr4sM1OBDO5aY2!-T>GLHm(p-j*nkARtD z5qB)UI|zPE2GgE~1bP6+`@;>?g$z!~l>#1`ZD=!ikI< zoSg*sry+K`1Ca87H{xqZ1l+y`zZY6JmJWL`QE4AI!jl4qdon&i2u_VO6v zBo@k0&%^?rbPSqmH>$*`3L4xAHzqll@HB*zm}H2qFA<8wVnLsh{1j{%s2aoMgCP?M zcOV7H!JLH>?no?<&ZMB;f-&ejKmI`}dpuCj(3KG004SJBhXaY-fwUW)$HNT?pAR(f zfu`Yb9D2qR^Co>^w?FPq?ZJj9zDQhQZxF1)w~KnKVE4wg?QNOm?U{CbE1PM@{$;nv z*XYjR+OuFq|JgX}sKU-;)?=;yE_H}>ta|kK^4fRQ>lb)*bX9l3@1v4KNDIr}7{YP8 z`iF4b(Z1P{<(V=b<;)isC;0IY-6}>|lj^w7SVNwTj?^KHPM)ztT!^Qe*wnQ_d><@= zH)-z`qw*w3?*KkK7#sr-y9YqSeOCINE6*CAN-NLOo0P1-4DP+B`f)5Qc6&U*J-fs1 zsubIf&kq<=oG9s)W6uTJ4p}DY1z{Jqu@P(}&3UfMo}n5775foDQ!8M#qEhQt)ev7m zW(5*;=xk69Myjph!TyTWN5F4 zJ1LBhAauaRs2vq4q6-^;g%^+?>h8{W=HVady={$vy)1y2zdDE0f8)>gf)0FF5ZeOh z9vq9!-=W+D+DKI{B*w3vT7YUUds(3bifmPZly_}?02!R#iL;MmahSceij@!Q+g(m{ zvMSL=M>rB(0r4H;=MyTr$Ir6)MIs4qa~QS*ROD!A0OyY(_>@&LpuNh~-#@c{b+kfK=R-5U4T~b54iV#AArIlG*Vw4-=7LZ! zOO<}Gqfa=VP{j6c!CpAOUbNDx=Wmr(dcQZVwivYT)@EsZUbpM1Pe2*v8jF_~#8tH> zJx&7gvVKIoarzbCIjE;A3eaD0S*3!c6gxW_46jKsTHD*x0QAF zCjE{ATkew&6CGbky6S#hYUq({YH(*Yg>!L|k29WBQ^5~CW9oLiL1T%wv3gD{uw`)N z>I8q~VEp-Cpz5u{$HzRPF@F7K*Md0WI(BrTcR&XymSL01!~cy19Hx0``8)wDGkJAS zqv0Kd$K-*>{#%qFrYv*oq zu!~KYJoNQ|8f8Aj$*k8zoZeS60aHg}^eNE6#PK|1c5x%c2cjpkbGUP2V^eq`&YASJ3gWsaIMRqk0ZVHI+01x8k$xYwtG;y zrm_lvc?N>C_qH2eHA3T9z1B=Ef8qdU9I-H`aA@X5h`g#_9+Fh%pDd)72aXxjlvh$C z&INvzr)NOEn5qX8$>pup7_d%i5mc{%kfs_e?uT#2FBf68)JY$YTdlin%5*se+W{lj zQDf3+B12SIy*?q-AnJJgIM#Y4etimG6gxtaHU}{p&hz>cV0~6|wbrAWka@yfX;&Og z(aS85m7L71Pp#QRnFQ+)@+!t5W6#&#PFW2r_H>ShBTYO_Lkih`1kbzbTUvMR0F6($ z_yXlAH8$2|2a#x77~7mHcRd!(Lp`cHsU(cTPtzc9^+`l?1d4W-&n@7NXCTR29o)oL zpEV&zHMI@Iw>VU-jg}%JcBCs6(H}n;lFx#4Z|Z0@v+t9a;r`vkJW5dPmaexcVr=pjq;NR+EEy*S+!__6q|EgVF{7D?B$4Z zIHu5#co5o8nV8R`>Jo@5*xK}z0VB0RG@3jKkJ;5nbi-3HD~F0JyBTR|XDp$))x+Jl z>cSS!>eTX;Yg5<@(>L5bLlcHa9O?vaer`KHiYTC-{zj$VOSaYgO*U}0sZ**3>ep5j zB1(-{wF8D7eUA!@aNDp<6#d&3teooW(tb7K3i!U5EB_5nps<>)#Je`BfSigzw5gwR z!HD{&{phG~7-Lmzlm$5pp0`c<}a zo5~ba8&;>`cPJw}b zUqwQxu&G`v&Rl4 z5m;ND>p?gNzk;C;emF@}rY%(k&XZuL9KjV0(WVVJ>^0P##n&l=xxq~vtF#GrmfN@H zdV07at{HyAiR0~RZgMtS+m0|hPVd4 z4NffbU>g~>!`)rziu87FJGXIX?}%zB+Hv0boBQ(KF79&I_A+7{d`B^~6{m;1qYRlz zaPKXFJ*a@+qZK%mv;B>soHVf!YfCQAgTIS88$(bJ=XvpxK03X8{exog9oF;>)E?C+ z7s+7_P1^GD4o&ymAT@*B+vApZTVZx!3e`>rOp5yM%&tNxcwk3?)Z!_dB++fOQ~G3z zQYE66#;nOU>)O_5k}KD(ICFI@nZjX=j#Q!prxXx}z>lEF&noapQxz}sXi&BX$5*;| zY*%@C_;jqI(3ELuQUQ(fDZ@UOI=2I?Kw*dooISg#_6{B4;zpP4XAKVVBR(!ZRmeks z0F>o#mz2A~QA@2w3ymk@voB90{>M|0)!bKY1Dm$C_EAt# zQ8WCg9h@cTKb)H6SwyN3a8aPq!}SsObMQon*TLZ6X8~R7S5;mph{0DH2|&s{Mx1^w z^A{KM($MR6yGPPzEFb^?ju9)aX3Q7>!uPdz1x6*}Nb8}dG1~>Sig|uz>EK$uQW^m@ zzP!o~@zXJ!dgN{vaT@9?WV^9<0!>te>C`cbYQ6^X^_gExK$!@dtmw`Dycl*DpQ`Dj z`RaHePUh)zah$x(*+RavQ8VEv)5gAQILa0k*Q@40^2>^~v1M&ZkpP_iEPpIM0N2-b z$_DSIQ>aXa`pWx&`i$~eQ>n>l6B^8~&Yn}F02$RSq8J67UFEc*Z+zCI_7QYoHH&s+ z!(RLzA0otMRny7e$x&TEofY{#A%E=z&Fya%ur9SXBWUe8R2f9Elsxy2BZ-3~IUJC7 zoTLNU*Vw;>Sy6Yw5yFo`aTyVsN1e^Y;3Ji6)pi9R;62-i|8TC4=Qh{0rNLHf3;5+H z$8%%A>reY}03j3b2KXL`U_lCevI`!_Se4$%-yB`gn``gy zF7Ciq?#8j)^Nnq`=^g|R*)FT=L{Ej&>8jwM0Ek7ezu=X3H8^9915Z5P zmBE>IcqZ({8LCh`?dP$rAl#r#5JwM_K^&$_MtnFol*Dn`IL@JF zJPCgU=fT{N0e60=x8XduyLUp~>ISG09E}?9>?ao0V;}y+c`6*s3dL|bH;FT3I1h`% zQ8;XuiN%s$U&@DbQX!ujY$6A5H;sClXnDJfM~rC7^W7tB*?}N=!Np!C*|SB?BC$2g zTqu(|l>_7o8SwFA&j_=xK6Ai{ApD|;I`)B(3BKaSVGo|lS&`d< z|CC|wwtu#|8{cZcs0`4EmG=ND&GD6({w59PNBOqCO^C#Awp-H$(LYSBO_B2rJ68Sr z>-Gz{aDbMMoSjucr6Q?=xn6AEDf5hvP~o|if7lD&6I)jLQ1lqtgY6cmcI6K2#`v%V zOBTELD$j`)s}31$IPoiV+M}83aPZnjjH*5gkdr_av|^k2Q|==NQhredW^UPV9omE6 zyQfRKqrdMI9SWKr5uQ;Xs_=%B&K0py z_G815NRA7HlOmeolcR~(ZkBlq8bsXUd)A zEO#_g=&Q!m*fXxbJYLm)RHX+!#|2>-lC$Dxs+Ow3SnO26+Bpj~e5raF1^N0NsA<$_ zl##AWyK#k@_^a_J$cv+xs00q@j|8B;9Ze*;9J1rZ48dMdac#*$Ha$m9qLYLbu~vZB z8y!qHoytVfTn#pc^i&L@j12>ezFpl>W zTzhuYrN@ujBg9|WQ#q<1le6ySo65VSec+%IA13Id2c5af+tv0Nc*!eo_;I}67Q#)X zSl{XY*NY<54>(Nq442geVk$gl4rl>z{7F=NSAum+YHx@NZ1A zUzQV2(vR NullList { get; set; } + + public string[] EmptyArray { get; set; } + public List EmptyList { get; set; } + } + + [Test] + public void Bug2() + { + var ini = new IniFile(); + var sec = ini.Sections.Add("Sample"); + + sec.Serialize( + new Bug2Class() + { + EmptyArray = new string[3], + EmptyList = new List() + }); + + var deserializeObj = sec.Deserialize(); + + Assert.IsNull(sec.Keys["NullArray"].Value); + Assert.IsNull(sec.Keys["NullList"].Value); + Assert.AreEqual("{,,}", sec.Keys["EmptyArray"].Value); + Assert.AreEqual("{}", sec.Keys["EmptyList"].Value); + + Assert.IsNull(deserializeObj.NullArray); + Assert.IsNull(deserializeObj.NullList); + CollectionAssert.AreEqual(new string[] { "", "", "" }, deserializeObj.EmptyArray); + CollectionAssert.IsEmpty(deserializeObj.EmptyList); + } + + [Test] + public void Bug3() + { + string iniFileContent = "[sektion]" + Environment.NewLine + + "key=\"Data Source=server;Initial Catalog=catalog;Integrated Security=SSPI\""; + IniFile file = IniUtilities.LoadIniFileContent(iniFileContent, new IniOptions()); + + IniKey key = file.Sections["sektion"].Keys["key"]; + Assert.AreEqual("\"Data Source=server;Initial Catalog=catalog;Integrated Security=SSPI\"", key.Value); + Assert.IsNull(key.LeadingComment.Text); + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniFileCreateUpdateTests.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniFileCreateUpdateTests.cs new file mode 100644 index 0000000..041775b --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniFileCreateUpdateTests.cs @@ -0,0 +1,400 @@ +using System; +using System.Linq; +using System.Collections.Generic; +using NUnit.Framework; + +namespace MadMilkman.Ini.Tests +{ + [TestFixture] + public class IniFileCreateUpdateTests + { + [Test] + public void CreateIniFileBasicTest() + { + var file = new IniFile(); + + var section1 = file.Sections.Add("Section 1."); + var section2 = file.Sections.Add("Section 2."); + var section3 = file.Sections.Add("Section 3."); + + var key1 = section1.Keys.Add("Key 1.", "Value 1."); + var key2 = section2.Keys.Add("Key 2.", "Value 2."); + var key3 = section3.Keys.Add("Key 3.", "Value 3."); + + Assert.AreEqual(3, file.Sections.Count); + + Assert.AreEqual("Section 1.", section1.Name); + Assert.AreEqual("Section 2.", section2.Name); + Assert.AreEqual("Section 3.", section3.Name); + + Assert.AreEqual(1, section1.Keys.Count); + Assert.AreEqual(1, section2.Keys.Count); + Assert.AreEqual(1, section3.Keys.Count); + + Assert.AreEqual("Key 1.", key1.Name); + Assert.AreEqual("Value 1.", key1.Value); + Assert.AreEqual("Key 2.", key2.Name); + Assert.AreEqual("Value 2.", key2.Value); + Assert.AreEqual("Key 3.", key3.Name); + Assert.AreEqual("Value 3.", key3.Value); + } + + [Test] + public void CreateIniFileAdvanceTest() + { + var file = new IniFile(); + + file.Sections.Add( + new IniSection(file, "Section 1.", + new IniKey(file, "Key 1.1.") { Value = "Value 1.1." }, + new IniKey(file, "Key 1.2.") { Value = "Value 1.2." })); + file.Sections.Add( + new IniSection(file, "Section 2.", + new IniKey(file, "Key 2.1.") { Value = "Value 2.1." }, + new IniKey(file, "Key 2.2.") { Value = "Value 2.2." })); + file.Sections.Add( + new IniSection(file, "Section 3.", + new IniKey(file, "Key 3.1.") { Value = "Value 3.1." }, + new IniKey(file, "Key 3.2.") { Value = "Value 3.2." })); + + Assert.AreEqual(3, file.Sections.Count); + + Assert.AreEqual("Section 1.", file.Sections[0].Name); + Assert.AreEqual("Section 2.", file.Sections[1].Name); + Assert.AreEqual("Section 3.", file.Sections[2].Name); + + Assert.AreEqual(2, file.Sections[0].Keys.Count); + Assert.AreEqual(2, file.Sections[1].Keys.Count); + Assert.AreEqual(2, file.Sections[2].Keys.Count); + + Assert.AreEqual("Key 1.1.", file.Sections[0].Keys[0].Name); + Assert.AreEqual("Value 1.1.", file.Sections[0].Keys[0].Value); + Assert.AreEqual("Key 1.2.", file.Sections[0].Keys[1].Name); + Assert.AreEqual("Value 1.2.", file.Sections[0].Keys[1].Value); + Assert.AreEqual("Key 2.1.", file.Sections[1].Keys[0].Name); + Assert.AreEqual("Value 2.1.", file.Sections[1].Keys[0].Value); + Assert.AreEqual("Key 2.2.", file.Sections[1].Keys[1].Name); + Assert.AreEqual("Value 2.2.", file.Sections[1].Keys[1].Value); + Assert.AreEqual("Key 3.1.", file.Sections[2].Keys[0].Name); + Assert.AreEqual("Value 3.1.", file.Sections[2].Keys[0].Value); + Assert.AreEqual("Key 3.2.", file.Sections[2].Keys[1].Name); + Assert.AreEqual("Value 3.2.", file.Sections[2].Keys[1].Value); + } + + [Test] + public void CreateIniFileExpertTest() + { + var dictionary = new Dictionary() + { + { "Key 2.1.", "Value 2.1." }, + { "Key 2.2.", "Value 2.2." }, + { "Key 2.3.", "Value 2.3." }, + { "Key 2.4.", "Value 2.4." } + }; + + var file = new IniFile(); + file.Sections.Add("Section 1.").Keys.Add(new KeyValuePair("Key 1.1.", "Value 1.1.")); + file.Sections.Add("Section 2.", dictionary); + + Assert.AreEqual(2, file.Sections.Count); + + Assert.AreEqual("Section 1.", file.Sections[0].Name); + Assert.AreEqual("Section 2.", file.Sections[1].Name); + + Assert.AreEqual(1, file.Sections[0].Keys.Count); + Assert.AreEqual(4, file.Sections[1].Keys.Count); + + Assert.AreEqual("Key 1.1.", file.Sections[0].Keys[0].Name); + Assert.AreEqual("Value 1.1.", file.Sections[0].Keys[0].Value); + Assert.AreEqual("Key 2.1.", file.Sections[1].Keys[0].Name); + Assert.AreEqual("Value 2.1.", file.Sections[1].Keys[0].Value); + Assert.AreEqual("Key 2.2.", file.Sections[1].Keys[1].Name); + Assert.AreEqual("Value 2.2.", file.Sections[1].Keys[1].Value); + Assert.AreEqual("Key 2.3.", file.Sections[1].Keys[2].Name); + Assert.AreEqual("Value 2.3.", file.Sections[1].Keys[2].Value); + Assert.AreEqual("Key 2.4.", file.Sections[1].Keys[3].Name); + Assert.AreEqual("Value 2.4.", file.Sections[1].Keys[3].Value); + } + + [Test] + public void UpdateIniFileLinqTest() + { + var file = new IniFile(); + + var section1 = file.Sections.Add("Section 1."); + + var key1 = section1.Keys.Add("Key 1.1.", "Value 1.1."); + var key2 = section1.Keys.Add("Key 1.2.", "Value 1.2."); + + foreach (var key in section1.Keys.Where(k => k.Name.Contains("1"))) + key.Name = key.Name.Replace("Key 1.", "First Section Key "); + + Assert.AreEqual("First Section Key 1.", section1.Keys[0].Name); + Assert.AreEqual("First Section Key 2.", section1.Keys[1].Name); + + var values = from key in section1.Keys select key.Value; + + Assert.AreEqual(2, values.Count()); + Assert.AreEqual("Value 1.1.", values.First()); + Assert.AreEqual("Value 1.2.", values.Last()); + } + + [Test] + public void UpdateIniFileCorrectTest() + { + var file = new IniFile(); + var section = new IniSection(file, "Section", + new IniKey(file, "Key")); + + file.Sections.Add(section); + Assert.AreEqual(1, file.Sections.Count); + + file.Sections.Clear(); + Assert.AreEqual(0, file.Sections.Count); + + file.Sections.Add(section); + Assert.AreEqual(1, file.Sections.Count); + + var key = section.Keys[0]; + section.Keys.RemoveAt(0); + Assert.AreEqual(0, section.Keys.Count); + + section.Keys.Add(key); + Assert.AreEqual(1, section.Keys.Count); + } + + [Test, ExpectedException(typeof(InvalidOperationException))] + public void UpdateIniFileIncorrectBasicTest() + { + var file = new IniFile(); + + var section = file.Sections.Add("Section"); + + file.Sections.Add(section); + } + + [Test, ExpectedException(typeof(InvalidOperationException))] + public void UpdateIniFileIncorrectAdvanceTest() + { + var file = new IniFile(new IniOptions()); + + var section = file.Sections.Add("Section"); + + var newFile = new IniFile(new IniOptions()); + newFile.Sections.Add(section); + } + + [Test] + public void UpdateIniFileCopyTest() + { + var file = new IniFile(); + file.Sections.Add( + new IniSection(file, "Section", + new IniKey(file, "Key", "Value"))); + var section = file.Sections[0]; + file.Sections.Add(section.Copy()); + + Assert.AreEqual(2, file.Sections.Count); + + section.Name = "S"; + section.Keys[0].Name = "K"; + section.Keys[0].Value = "V"; + section = file.Sections[1]; + + Assert.AreEqual("Section", section.Name); + Assert.AreEqual("Key", section.Keys[0].Name); + Assert.AreEqual("Value", section.Keys[0].Value); + + var newFile = new IniFile(); + newFile.Sections.Add(section.Copy(newFile)); + + Assert.AreEqual(1, newFile.Sections.Count); + + section.Name = "S"; + section.Keys[0].Name = "K"; + section.Keys[0].Value = "V"; + section = newFile.Sections[0]; + + Assert.AreEqual("Section", section.Name); + Assert.AreEqual("Key", section.Keys[0].Name); + Assert.AreEqual("Value", section.Keys[0].Value); + + section.Keys.Add(section.Keys[0].Copy()); + Assert.AreEqual(2, section.Keys.Count); + } + + [Test] + public void UpdateIgnoreDuplicatesTest() + { + var options = new IniOptions() + { + KeyDuplicate = IniDuplication.Ignored, + KeyNameCaseSensitive = true, + SectionDuplicate = IniDuplication.Ignored, + SectionNameCaseSensitive = false + }; + + var file = new IniFile(options); + file.Sections.Add( + new IniSection(file, "SECTION", + new IniKey(file, "KEY"), + new IniKey(file, "key"))); + file.Sections.Add( + new IniSection(file, "section")); + + Assert.AreEqual(1, file.Sections.Count); + Assert.AreEqual(2, file.Sections[0].Keys.Count); + Assert.IsTrue(file.Sections[0].Keys.Contains("KEY")); + Assert.IsTrue(file.Sections[0].Keys.Contains("key")); + + Assert.AreEqual("key", file.Sections[0].Keys[1].Name); + file.Sections[0].Keys[1].Name = "KEY"; + Assert.AreNotEqual("KEY", file.Sections[0].Keys[1].Name); + + file.Sections[0].Keys.Insert(0, "key"); + Assert.AreEqual(2, file.Sections[0].Keys.Count); + Assert.AreNotEqual("key", file.Sections[0].Keys[0].Name); + + file.Sections[0].Keys.Remove("KEY"); + Assert.IsFalse(file.Sections.Contains("KEY")); + + Assert.AreEqual("key", file.Sections[0].Keys[0].Name); + file.Sections[0].Keys[0].Name = "KEY"; + Assert.AreEqual("KEY", file.Sections[0].Keys[0].Name); + } + + [Test, ExpectedException(typeof(InvalidOperationException))] + public void UpdateDisallowDuplicatesSectionsTest() + { + var options = new IniOptions() + { + SectionDuplicate = IniDuplication.Disallowed + }; + + var file = new IniFile(options); + file.Sections.Add("SECTION1").Keys.Add("KEY1"); + var section = new IniSection(file, "SECTION1"); + file.Sections.Add(section); + } + + [Test, ExpectedException(typeof(InvalidOperationException))] + public void UpdateDisallowDuplicatesKeysTest() + { + var options = new IniOptions() + { + KeyDuplicate = IniDuplication.Disallowed, + }; + + var file = new IniFile(options); + file.Sections.Add("SECTION1").Keys.Add("KEY1"); + file.Sections.Add("SECTION1").Keys.Add("KEY1"); + + Assert.AreEqual(2, file.Sections.Count); + Assert.AreEqual(1, file.Sections[0].Keys.Count); + Assert.AreEqual(1, file.Sections[1].Keys.Count); + + var key = new IniKey(file, "KEY1"); + + file.Sections[0].Keys.Add(key); + } + + [Test] + public void UpdateArrayIndexerTest() + { + var file = new IniFile(); + file.Sections.Add( + new IniSection(file, "SECTION 0", + new IniKey(file, "UNKNOWN"), + new IniKey(file, "KEY 1"), + new IniKey(file, "KEY 2"), + new IniKey(file, "UNKNOWN"))); + + file.Sections.Add(new IniSection(file, "UNKNOWN")); + file.Sections.Add(new IniSection(file, "SEC 2")); + file.Sections.Add(new IniSection(file, "UNKNOWN")); + + bool isOneKeyNull = false; + foreach (var key in file.Sections[0].Keys["UNKNOWN", "UNKNOWN", "UNKNOWN", "KEY 2", "KEY 1"]) + { + if (key == null) + { + if (isOneKeyNull) Assert.Fail(); + isOneKeyNull = true; + } + else + key.Value = "VALUE " + key.ParentCollection.IndexOf(key); + } + + if (!isOneKeyNull) Assert.Fail(); + for (int i = 0; i < file.Sections[0].Keys.Count; i++) + Assert.AreEqual("VALUE " + i, file.Sections[0].Keys[i].Value); + + bool isOneSectionRenamed = false; + foreach (var section in file.Sections["UNKNOWN", "UNKNOWN", "SEC 2", "SECTION 2"]) + { + string newSectionName = "SECTION " + section.ParentCollection.IndexOf(section); + + if (section.Name == newSectionName) + { + if (isOneSectionRenamed) Assert.Fail(); + isOneSectionRenamed = true; + } + else + section.Name = "SECTION " + section.ParentCollection.IndexOf(section); + } + + if (!isOneSectionRenamed) Assert.Fail(); + for (int i = 0; i < file.Sections.Count; i++) + Assert.AreEqual("SECTION " + i, file.Sections[i].Name); + + var order = new IniSection(file, "ORDER", + new IniKey(file, "A"), + new IniKey(file, "B"), + new IniKey(file, "C"), + new IniKey(file, "A"), + new IniKey(file, "B"), + new IniKey(file, "C")); + file.Sections.Add(order); + + int returnedIndex = 0; + foreach (var key in order.Keys["A", "A", "B", "B", "C", "C"]) + key.Value = (returnedIndex++).ToString(); + + Assert.AreEqual("0", order.Keys[0].Value); + Assert.AreEqual("1", order.Keys[3].Value); + Assert.AreEqual("2", order.Keys[1].Value); + Assert.AreEqual("3", order.Keys[4].Value); + Assert.AreEqual("4", order.Keys[2].Value); + Assert.AreEqual("5", order.Keys[5].Value); + } + + [Test] + public void IniItemParentsTest() + { + var file = new IniFile(); + var section = new IniSection(file, "Section"); + var key = new IniKey(file, "Key"); + + Assert.AreSame(file, section.ParentFile); + Assert.AreSame(file, key.ParentFile); + + Assert.IsNull(section.ParentCollection); + Assert.IsNull(key.ParentCollection); + Assert.IsNull(key.ParentSection); + + section.Keys.Add(key); + Assert.AreSame(section.Keys, key.ParentCollection); + Assert.AreSame(section, key.ParentSection); + + file.Sections.Add(section); + Assert.AreSame(file.Sections, section.ParentCollection); + + file.Sections.Remove(section); + Assert.IsNull(section.ParentCollection); + + section.Keys.Remove(key); + Assert.IsNull(key.ParentCollection); + Assert.IsNull(key.ParentSection); + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniFileEncryptionCompressionTests.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniFileEncryptionCompressionTests.cs new file mode 100644 index 0000000..1460ba0 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniFileEncryptionCompressionTests.cs @@ -0,0 +1,71 @@ +using System; +using System.IO; +using NUnit.Framework; + +namespace MadMilkman.Ini.Tests +{ + [TestFixture] + public class IniFileEncryptionCompressionTests + { + [Test] + public void CompressAndDecompressTest() + { + var file = new IniFile(); + var section = file.Sections.Add("Compression Test"); + for (int i = 0; i < 1000; i++) + section.Keys.Add( + new IniKey(file, "Key " + i, Guid.NewGuid().ToString())); + + var compressedFile = new IniFile(new IniOptions() { Compression = true }); + compressedFile.Sections.Add(section.Copy(compressedFile)); + + var fileStream = new MemoryStream(); + file.Save(fileStream); + var compressedFileStream = new MemoryStream(); + compressedFile.Save(compressedFileStream); + + Assert.That(compressedFileStream.Length, Is.LessThan(fileStream.Length)); + + compressedFile.Sections.Clear(); + compressedFile.Load(compressedFileStream); + + Assert.AreEqual(file.Sections[0].Name, compressedFile.Sections[0].Name); + for (int i = 0; i < file.Sections[0].Keys.Count; i++) + { + Assert.AreEqual(file.Sections[0].Keys[i].Name, compressedFile.Sections[0].Keys[i].Name); + Assert.AreEqual(file.Sections[0].Keys[i].Value, compressedFile.Sections[0].Keys[i].Value); + } + } + + [Test] + public void EncryptAndDecryptTest() + { + var file = new IniFile(); + var section = file.Sections.Add("Encrypt Test"); + section.Keys.Add("Key 1", "Value 1"); + section.Keys.Add("Key 2", "Value 2"); + + var encryptedFile = new IniFile(new IniOptions() { EncryptionPassword = @"abcdef" }); + encryptedFile.Sections.Add(section.Copy(encryptedFile)); + + var encryptedFileWriter = new StringWriter(); + encryptedFile.Save(encryptedFileWriter); + var encryptedFileContent = encryptedFileWriter.ToString(); + + Assert.IsFalse(encryptedFileContent.Contains("Encrypt Test")); + Assert.IsFalse(encryptedFileContent.Contains("Key 1")); + Assert.IsFalse(encryptedFileContent.Contains("Value 1")); + Assert.IsFalse(encryptedFileContent.Contains("Key 2")); + Assert.IsFalse(encryptedFileContent.Contains("Value 2")); + + encryptedFile.Sections.Clear(); + encryptedFile.Load(new StringReader(encryptedFileContent)); + + Assert.AreEqual("Encrypt Test", encryptedFile.Sections[0].Name); + Assert.AreEqual("Key 1", encryptedFile.Sections[0].Keys[0].Name); + Assert.AreEqual("Value 1", encryptedFile.Sections[0].Keys[0].Value); + Assert.AreEqual("Key 2", encryptedFile.Sections[0].Keys[1].Name); + Assert.AreEqual("Value 2", encryptedFile.Sections[0].Keys[1].Value); + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniFileReadTests.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniFileReadTests.cs new file mode 100644 index 0000000..c2987f1 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniFileReadTests.cs @@ -0,0 +1,307 @@ +using System; +using System.IO; +using System.Text; +using NUnit.Framework; + +namespace MadMilkman.Ini.Tests +{ + [TestFixture] + public class IniFileReadTests + { + [Test] + public void ReadDefaultTest() + { + string iniFileContent = ";Section's trailing comment." + Environment.NewLine + + "[Section's name];Section's leading comment." + Environment.NewLine + + ";Key's trailing comment." + Environment.NewLine + + "Key's name = Key's value;Key's leading comment."; + + IniFile file = IniUtilities.LoadIniFileContent(iniFileContent, new IniOptions()); + + Assert.AreEqual(1, file.Sections.Count); + Assert.AreEqual("Section's trailing comment.", file.Sections[0].TrailingComment.Text); + Assert.AreEqual("Section's name", file.Sections[0].Name); + Assert.AreEqual("Section's leading comment.", file.Sections[0].LeadingComment.Text); + + Assert.AreEqual(1, file.Sections[0].Keys.Count); + Assert.AreEqual("Key's trailing comment.", file.Sections[0].Keys[0].TrailingComment.Text); + Assert.AreEqual("Key's name", file.Sections[0].Keys[0].Name); + Assert.AreEqual("Key's value", file.Sections[0].Keys[0].Value); + Assert.AreEqual("Key's leading comment.", file.Sections[0].Keys[0].LeadingComment.Text); + } + + [Test] + public void ReadCustomTest() + { + string iniFileContent = "#Section's trailing comment." + Environment.NewLine + + "{Section's name}#Section's leading comment." + Environment.NewLine + + "#Key's trailing comment." + Environment.NewLine + + "Key's name : Key's value#Key's leading comment."; + + IniOptions options = new IniOptions() + { + CommentStarter = IniCommentStarter.Hash, + SectionWrapper = IniSectionWrapper.CurlyBrackets, + KeyDelimiter = IniKeyDelimiter.Colon + }; + IniFile file = IniUtilities.LoadIniFileContent(iniFileContent, options); + + Assert.AreEqual(1, file.Sections.Count); + Assert.AreEqual("Section's trailing comment.", file.Sections[0].TrailingComment.Text); + Assert.AreEqual("Section's name", file.Sections[0].Name); + Assert.AreEqual("Section's leading comment.", file.Sections[0].LeadingComment.Text); + + Assert.AreEqual(1, file.Sections[0].Keys.Count); + Assert.AreEqual("Key's trailing comment.", file.Sections[0].Keys[0].TrailingComment.Text); + Assert.AreEqual("Key's name", file.Sections[0].Keys[0].Name); + Assert.AreEqual("Key's value", file.Sections[0].Keys[0].Value); + Assert.AreEqual("Key's leading comment.", file.Sections[0].Keys[0].LeadingComment.Text); + } + + [Test] + public void ReadGlobalSectionTest() + { + string iniFileContent = ";Trailing comment1" + Environment.NewLine + + "Key1 = Value1" + Environment.NewLine + + ";Trailing comment2" + Environment.NewLine + + "Key2 = Value2"; + + IniFile file = IniUtilities.LoadIniFileContent(iniFileContent, new IniOptions()); + + Assert.AreEqual(1, file.Sections.Count); + Assert.AreEqual(IniSection.GlobalSectionName, file.Sections[0].Name); + + Assert.AreEqual(2, file.Sections[0].Keys.Count); + Assert.AreEqual("Trailing comment1", file.Sections[0].Keys[0].TrailingComment.Text); + Assert.AreEqual("Key1", file.Sections[0].Keys[0].Name); + Assert.AreEqual("Value1", file.Sections[0].Keys[0].Value); + Assert.AreEqual("Trailing comment2", file.Sections[0].Keys[1].TrailingComment.Text); + Assert.AreEqual("Key2", file.Sections[0].Keys[1].Name); + Assert.AreEqual("Value2", file.Sections[0].Keys[1].Value); + } + + [Test] + public void ReadMultipleGlobalSectionsTest() + { + string inputContent = "Key = Value" + Environment.NewLine + + "[Section]" + Environment.NewLine + + "Key = Value"; + IniFile file = new IniFile(); + + using (var stream = new MemoryStream(Encoding.ASCII.GetBytes(inputContent))) + { + file.Load(stream); + file.Load(stream); + file.Load(stream); + } + + Assert.AreEqual(6, file.Sections.Count); + Assert.AreEqual(IniSection.GlobalSectionName, file.Sections[0].Name); + Assert.AreEqual(IniSection.GlobalSectionName, file.Sections[2].Name); + Assert.AreEqual(IniSection.GlobalSectionName, file.Sections[4].Name); + Assert.AreEqual("Section", file.Sections[1].Name); + Assert.AreEqual("Section", file.Sections[3].Name); + Assert.AreEqual("Section", file.Sections[5].Name); + + foreach (var section in file.Sections) + Assert.AreEqual(1, section.Keys.Count); + + string outputContent; + using (var stream = new MemoryStream()) + { + file.Save(stream); + outputContent = new StreamReader(stream, Encoding.ASCII).ReadToEnd(); + } + + file.Sections.Clear(); + using (var stream = new MemoryStream(Encoding.ASCII.GetBytes(outputContent))) + file.Load(stream); + + Assert.AreEqual(6, file.Sections.Count); + Assert.AreEqual(IniSection.GlobalSectionName, file.Sections[0].Name); + Assert.AreEqual(IniSection.GlobalSectionName, file.Sections[2].Name); + Assert.AreEqual(IniSection.GlobalSectionName, file.Sections[4].Name); + Assert.AreEqual("Section", file.Sections[1].Name); + Assert.AreEqual("Section", file.Sections[3].Name); + Assert.AreEqual("Section", file.Sections[5].Name); + + foreach (var section in file.Sections) + Assert.AreEqual(1, section.Keys.Count); + } + + [Test] + public void ReadUTF8EncodingTest() + { + string iniFileContent = "[Καλημέρα κόσμε]" + Environment.NewLine + + "こんにちは 世界 = ¥ £ € $ ¢ ₡ ₢ ₣ ₤ ₥ ₦ ₧ ₨ ₩ ₪ ₫ ₭ ₮ ₯ ₹"; + + IniFile file = IniUtilities.LoadIniFileContent(iniFileContent, new IniOptions() { Encoding = Encoding.UTF8 }); + + Assert.AreEqual("Καλημέρα κόσμε", file.Sections[0].Name); + Assert.AreEqual("こんにちは 世界", file.Sections[0].Keys[0].Name); + Assert.AreEqual("¥ £ € $ ¢ ₡ ₢ ₣ ₤ ₥ ₦ ₧ ₨ ₩ ₪ ₫ ₭ ₮ ₯ ₹", file.Sections[0].Keys[0].Value); + } + + [Test] + public void ReadEmptyLinesTest() + { + string iniFileContent = Environment.NewLine + + " \t " + Environment.NewLine + + "[Section]" + Environment.NewLine + + Environment.NewLine + + Environment.NewLine + + " \t " + Environment.NewLine + + "Key = Value" + Environment.NewLine + + Environment.NewLine + + " \t " + Environment.NewLine + + ";" + Environment.NewLine + + "[Section]" + Environment.NewLine + + Environment.NewLine + + " \t " + Environment.NewLine + + Environment.NewLine + + ";" + Environment.NewLine + + "Key = Value"; + + IniFile file = IniUtilities.LoadIniFileContent(iniFileContent, new IniOptions()); + + Assert.AreEqual(2, file.Sections[0].LeadingComment.EmptyLinesBefore); + Assert.AreEqual(3, file.Sections[0].Keys[0].LeadingComment.EmptyLinesBefore); + Assert.AreEqual(2, file.Sections[1].TrailingComment.EmptyLinesBefore); + Assert.AreEqual(3, file.Sections[1].Keys[0].TrailingComment.EmptyLinesBefore); + } + + [Test] + public void ReadCommentEdgeCasesTest() + { + string iniFileContent = ";" + Environment.NewLine + + ";Section's trailing comment;" + Environment.NewLine + + "[Section]" + Environment.NewLine + + "[Section];" + Environment.NewLine + + "[Section] ;" + Environment.NewLine + + ";" + Environment.NewLine + + ";Key's trailing comment;" + Environment.NewLine + + "Key = Value " + Environment.NewLine + + "Key = Value;" + Environment.NewLine + + "Key = Value ;"; + + IniFile file = IniUtilities.LoadIniFileContent(iniFileContent, new IniOptions()); + + Assert.AreEqual(Environment.NewLine + "Section's trailing comment;", file.Sections[0].TrailingComment.Text); + Assert.AreEqual("Section", file.Sections[0].Name); + Assert.IsNull(file.Sections[0].LeadingComment.Text); + Assert.AreEqual(0, file.Sections[0].LeadingComment.LeftIndentation); + + Assert.AreEqual("Section", file.Sections[1].Name); + Assert.IsEmpty(file.Sections[1].LeadingComment.Text); + Assert.AreEqual(0, file.Sections[1].LeadingComment.LeftIndentation); + + Assert.AreEqual("Section", file.Sections[2].Name); + Assert.IsEmpty(file.Sections[2].LeadingComment.Text); + Assert.AreEqual(2, file.Sections[2].LeadingComment.LeftIndentation); + + Assert.AreEqual(Environment.NewLine + "Key's trailing comment;", file.Sections[2].Keys[0].TrailingComment.Text); + Assert.AreEqual("Key", file.Sections[2].Keys[0].Name); + Assert.AreEqual("Value", file.Sections[2].Keys[0].Value); + Assert.IsNull(file.Sections[2].Keys[0].LeadingComment.Text); + Assert.AreEqual(0, file.Sections[2].Keys[0].LeadingComment.LeftIndentation); + + Assert.AreEqual("Key", file.Sections[2].Keys[1].Name); + Assert.AreEqual("Value", file.Sections[2].Keys[1].Value); + Assert.IsEmpty(file.Sections[2].Keys[1].LeadingComment.Text); + Assert.AreEqual(0, file.Sections[2].Keys[1].LeadingComment.LeftIndentation); + + Assert.AreEqual("Key", file.Sections[2].Keys[2].Name); + Assert.AreEqual("Value", file.Sections[2].Keys[2].Value); + Assert.IsEmpty(file.Sections[2].Keys[2].LeadingComment.Text); + Assert.AreEqual(2, file.Sections[2].Keys[2].LeadingComment.LeftIndentation); + } + + [Test] + public void ReadValueEdgeCasesTest() + { + string iniFileContent = "[Section]" + Environment.NewLine + + "Key=" + Environment.NewLine + + "Key=;" + Environment.NewLine + + "Key= " + Environment.NewLine + + "Key= ;" + Environment.NewLine + + "Key =" + Environment.NewLine + + "Key =;" + Environment.NewLine + + "Key = " + Environment.NewLine + + "Key = ;"; + + IniFile file = IniUtilities.LoadIniFileContent(iniFileContent, new IniOptions()); + + Assert.IsEmpty(file.Sections[0].Keys[0].Value); + Assert.IsNull(file.Sections[0].Keys[0].LeadingComment.Text); + Assert.AreEqual(0, file.Sections[0].Keys[0].LeadingComment.LeftIndentation); + Assert.IsEmpty(file.Sections[0].Keys[1].Value); + Assert.IsEmpty(file.Sections[0].Keys[1].LeadingComment.Text); + Assert.AreEqual(0, file.Sections[0].Keys[1].LeadingComment.LeftIndentation); + Assert.IsEmpty(file.Sections[0].Keys[2].Value); + Assert.IsNull(file.Sections[0].Keys[2].LeadingComment.Text); + Assert.AreEqual(0, file.Sections[0].Keys[2].LeadingComment.LeftIndentation); + Assert.IsEmpty(file.Sections[0].Keys[3].Value); + Assert.IsEmpty(file.Sections[0].Keys[3].LeadingComment.Text); + Assert.AreEqual(0, file.Sections[0].Keys[3].LeadingComment.LeftIndentation); + Assert.IsEmpty(file.Sections[0].Keys[4].Value); + Assert.IsNull(file.Sections[0].Keys[4].LeadingComment.Text); + Assert.AreEqual(0, file.Sections[0].Keys[4].LeadingComment.LeftIndentation); + Assert.IsEmpty(file.Sections[0].Keys[5].Value); + Assert.IsEmpty(file.Sections[0].Keys[5].LeadingComment.Text); + Assert.AreEqual(0, file.Sections[0].Keys[5].LeadingComment.LeftIndentation); + Assert.IsEmpty(file.Sections[0].Keys[6].Value); + Assert.IsNull(file.Sections[0].Keys[6].LeadingComment.Text); + Assert.AreEqual(0, file.Sections[0].Keys[6].LeadingComment.LeftIndentation); + Assert.IsEmpty(file.Sections[0].Keys[7].Value); + Assert.IsEmpty(file.Sections[0].Keys[7].LeadingComment.Text); + Assert.AreEqual(0, file.Sections[0].Keys[7].LeadingComment.LeftIndentation); + } + + [Test] + public void ReadSectionEdgeCasesTest() + { + string iniFileContent = "[" + Environment.NewLine + + "]" + Environment.NewLine + + "[]" + Environment.NewLine + + "[;]" + Environment.NewLine + + "[;;]" + Environment.NewLine + + "[[]]" + Environment.NewLine + + "[[]];" + Environment.NewLine + + "[[;]]" + Environment.NewLine + + "[[;]];"; + + IniFile file = IniUtilities.LoadIniFileContent(iniFileContent, new IniOptions()); + Assert.AreEqual(7, file.Sections.Count); + Assert.AreEqual(string.Empty, file.Sections[0].Name); + Assert.AreEqual(";", file.Sections[1].Name); + Assert.AreEqual(";;", file.Sections[2].Name); + Assert.AreEqual("[]", file.Sections[3].Name); + Assert.AreEqual("[]", file.Sections[4].Name); + Assert.AreEqual(string.Empty, file.Sections[4].LeadingComment.Text); + Assert.AreEqual("[;]", file.Sections[5].Name); + Assert.AreEqual("[;]", file.Sections[6].Name); + Assert.AreEqual(string.Empty, file.Sections[6].LeadingComment.Text); + } + + [Test] + public void ReadQuotedValue() + { + string iniFileContent = "key1 = \"Test;Test\"" + Environment.NewLine + + "key2 = \"Test;Test\";" + Environment.NewLine + + "key3 = \"Test;Test" + Environment.NewLine + + "key4 = \"Test;Test;Test\"Test;Test;Test"; + + IniFile file = IniUtilities.LoadIniFileContent(iniFileContent, new IniOptions()); + IniSection section = file.Sections[0]; + + Assert.AreEqual("\"Test;Test\"", file.Sections[0].Keys[0].Value); + Assert.IsNull(file.Sections[0].Keys[0].LeadingComment.Text); + Assert.AreEqual("\"Test;Test\"", file.Sections[0].Keys[1].Value); + Assert.AreEqual(string.Empty, file.Sections[0].Keys[1].LeadingComment.Text); + Assert.AreEqual("\"Test", file.Sections[0].Keys[2].Value); + Assert.AreEqual("Test", file.Sections[0].Keys[2].LeadingComment.Text); + Assert.AreEqual("\"Test;Test;Test\"Test", file.Sections[0].Keys[3].Value); + Assert.AreEqual("Test;Test", file.Sections[0].Keys[3].LeadingComment.Text); + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniFileWriteTests.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniFileWriteTests.cs new file mode 100644 index 0000000..d60f6ee --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniFileWriteTests.cs @@ -0,0 +1,144 @@ +using System; +using System.IO; +using System.Text; +using NUnit.Framework; + +namespace MadMilkman.Ini.Tests +{ + [TestFixture] + public class IniFileWriteTests + { + [Test] + public void WriteDefaultTest() + { + IniOptions options = new IniOptions(); + IniFile file = new IniFile(options); + + file.Sections.Add( + new IniSection(file, "Section", + new IniKey(file, "Key", "Value") + { + TrailingComment = { Text = "Trailing comment" }, + LeadingComment = { Text = "Leading comment" } + }) + { + TrailingComment = { Text = "Trailing comment" }, + LeadingComment = { Text = "Leading comment" } + }); + + string[] lines = IniUtilities.SaveIniFileContent(file, options); + Assert.AreEqual(";Trailing comment", lines[0]); + Assert.AreEqual("[Section];Leading comment", lines[1]); + Assert.AreEqual(";Trailing comment", lines[2]); + Assert.AreEqual("Key=Value;Leading comment", lines[3]); + } + + [Test] + public void WriteCustomTest() + { + IniOptions options = new IniOptions() + { + KeyDelimiter = IniKeyDelimiter.Colon, + KeySpaceAroundDelimiter = true, + SectionWrapper = IniSectionWrapper.Parentheses + }; + IniFile file = new IniFile(options); + + file.Sections.Add( + new IniSection(file, "Section", + new IniKey(file, "Key", "Value"))); + + string[] lines = IniUtilities.SaveIniFileContent(file, options); + Assert.AreEqual("(Section)", lines[0]); + Assert.AreEqual("Key : Value", lines[1]); + } + + [Test] + public void WriteGlobalSectionTest() + { + IniOptions options = new IniOptions(); + IniFile file = new IniFile(options); + + file.Sections.Add( + new IniSection(file, IniSection.GlobalSectionName, + new IniKey(file, "Key1", "Value1"), + new IniKey(file, "Key2", "Value2"))); + + string[] lines = IniUtilities.SaveIniFileContent(file, options); + Assert.AreEqual("Key1=Value1", lines[0]); + Assert.AreEqual("Key2=Value2", lines[1]); + } + + [Test] + public void WriteUTF8EncodingTest() + { + IniOptions options = new IniOptions() { Encoding = Encoding.UTF8 }; + IniFile file = new IniFile(options); + + file.Sections.Add(new IniSection(file, "Καλημέρα κόσμε")); + file.Sections.Add(new IniSection(file, "こんにちは 世界")); + + string[] lines = IniUtilities.SaveIniFileContent(file, options); + Assert.AreEqual("[Καλημέρα κόσμε]", lines[0]); + Assert.AreEqual("[こんにちは 世界]", lines[1]); + } + + [Test] + public void WriteEmptyLinesTest() + { + IniOptions options = new IniOptions() { Encoding = Encoding.UTF8 }; + IniFile file = new IniFile(options); + + file.Sections.Add( + new IniSection(file, "Section", + new IniKey(file, "Key") + { + TrailingComment = { Text = string.Empty, EmptyLinesBefore = 2 }, + LeadingComment = { Text = string.Empty, EmptyLinesBefore = 1 } + }) + { + TrailingComment = { Text = string.Empty, EmptyLinesBefore = 2 }, + LeadingComment = { Text = string.Empty, EmptyLinesBefore = 1 } + }); + + string[] lines = IniUtilities.SaveIniFileContent(file, options); + Assert.IsEmpty(lines[0]); + Assert.IsEmpty(lines[1]); + Assert.AreEqual(";", lines[2]); + Assert.IsEmpty(lines[3]); + Assert.AreEqual("[Section];", lines[4]); + Assert.IsEmpty(lines[5]); + Assert.IsEmpty(lines[6]); + Assert.AreEqual(";", lines[7]); + Assert.IsEmpty(lines[8]); + Assert.AreEqual("Key=;", lines[9]); + } + + [Test] + public void WriteLeftIndentionTest() + { + IniOptions options = new IniOptions() { Encoding = Encoding.UTF8 }; + IniFile file = new IniFile(options); + + file.Sections.Add( + new IniSection(file, "Section", + new IniKey(file, "Key") + { + LeftIndentation = 2, + TrailingComment = { Text = string.Empty, LeftIndentation = 4 }, + LeadingComment = { Text = string.Empty, LeftIndentation = 2 } + }) + { + LeftIndentation = 2, + TrailingComment = { Text = string.Empty, LeftIndentation = 4 }, + LeadingComment = { Text = string.Empty, LeftIndentation = 2 } + }); + + string[] lines = IniUtilities.SaveIniFileContent(file, options); + Assert.AreEqual(" ;", lines[0]); + Assert.AreEqual(" [Section] ;", lines[1]); + Assert.AreEqual(" ;", lines[2]); + Assert.AreEqual(" Key= ;", lines[3]); + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniSerializationDeserializationTests.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniSerializationDeserializationTests.cs new file mode 100644 index 0000000..bd163af --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniSerializationDeserializationTests.cs @@ -0,0 +1,126 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using NUnit.Framework; + +namespace MadMilkman.Ini.Tests +{ + [TestFixture] + public class IniSerializationDeserializationTests + { + [Test] + public void SerializeDeserializeTest() + { + var file = new IniFile(); + var section = file.Sections.Add("Sample Class"); + + var serializedClass = new SampleClass(); + serializedClass.Initialize(); + + section.Serialize(serializedClass); + var deserializedClass = section.Deserialize(); + + Assert.IsTrue(serializedClass.Equals(deserializedClass)); + } + + [Test] + public void SerializeDeserializeAttributeTest() + { + var file = new IniFile(); + var section = file.Sections.Add("Sample Attributed Class"); + + var serializedClass = new SampleAttributedClass(); + serializedClass.Initialize(); + + section.Serialize(serializedClass); + Assert.IsNull(section.Keys["FirstSampleProperty"]); + Assert.IsNotNull(section.Keys["SecondSampleProperty"]); + Assert.IsNotNull(section.Keys["3. Sample Property"]); + Assert.IsNotNull(section.Keys["FourthSampleProperty"]); + + var deserializedClass = section.Deserialize(); + Assert.AreNotEqual(serializedClass.FirstSampleProperty, deserializedClass.FirstSampleProperty); + Assert.IsNull(deserializedClass.FirstSampleProperty); + Assert.AreEqual(serializedClass.SecondSampleProperty, deserializedClass.SecondSampleProperty); + Assert.AreEqual(serializedClass.ThirdSampleProperty, deserializedClass.ThirdSampleProperty); + Assert.IsTrue( + // null + string.IsNullOrEmpty(serializedClass.FourthSampleProperty) && + // string.Empty + string.IsNullOrEmpty(deserializedClass.FourthSampleProperty)); + } + + private class SampleClass + { + public char SampleChar { get; set; } + public string SampleString { get; set; } + public DateTime SampleDate { get; set; } + public TimeSpan SampleTime { get; set; } + public DayOfWeek SampleDay { get; set; } + public byte SampleByte { get; set; } + public double SampleDouble { get; set; } + public int[] SampleValueArray { get; set; } + public string[] SampleReferenceArray { get; set; } + public List SampleValueList { get; set; } + public List SampleReferenceList { get; set; } + + public void Initialize() + { + this.SampleChar = 'S'; + this.SampleString = "Sample"; + this.SampleDate = new DateTime(2000, 1, 10); + this.SampleTime = new TimeSpan(20, 1, 10); + this.SampleDay = DayOfWeek.Sunday; + this.SampleByte = 200; + this.SampleDouble = 2000.2; + this.SampleValueArray = new int[] { 2, 20, 200 }; + this.SampleReferenceArray = new string[] { "Sample 1", "Sample 2", "Sample 3" }; + this.SampleValueList = new List() { 2000, 20000, 200000 }; + this.SampleReferenceList = new List() { "Sample 4", "Sample 5", "Sample 6" }; + } + + public override int GetHashCode() + { + return base.GetHashCode(); + } + + public override bool Equals(object obj) + { + SampleClass sampleObj; + + if (obj == null || (sampleObj = obj as SampleClass) == null) + return false; + + return this.SampleChar == sampleObj.SampleChar && + this.SampleString == sampleObj.SampleString && + this.SampleDate == sampleObj.SampleDate && + this.SampleTime == sampleObj.SampleTime && + this.SampleDay == sampleObj.SampleDay && + this.SampleByte == sampleObj.SampleByte && + this.SampleDouble == sampleObj.SampleDouble && + this.SampleValueArray.SequenceEqual(sampleObj.SampleValueArray) && + this.SampleReferenceArray.SequenceEqual(sampleObj.SampleReferenceArray) && + this.SampleValueList.SequenceEqual(sampleObj.SampleValueList) && + this.SampleReferenceList.SequenceEqual(sampleObj.SampleReferenceList); + } + } + + private class SampleAttributedClass + { + [IniSerialization(true)] + public string FirstSampleProperty { get; set; } + [IniSerialization(false)] + public string SecondSampleProperty { get; set; } + [IniSerialization("3. Sample Property")] + public string ThirdSampleProperty { get; set; } + public string FourthSampleProperty { get; set; } + + public void Initialize() + { + this.FirstSampleProperty = "1. Sample Content"; + this.SecondSampleProperty = "2. Sample Content"; + this.ThirdSampleProperty = "3. Sample Content"; + } + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniUtilities.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniUtilities.cs new file mode 100644 index 0000000..36bd558 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniUtilities.cs @@ -0,0 +1,30 @@ +using System; +using System.IO; + +namespace MadMilkman.Ini.Tests +{ + public static class IniUtilities + { + public static IniFile LoadIniFileContent(string iniFileContent, IniOptions options) + { + IniFile file = new IniFile(options); + + using (var stream = new MemoryStream(options.Encoding.GetBytes(iniFileContent))) + file.Load(stream); + + return file; + } + + public static string[] SaveIniFileContent(IniFile file, IniOptions options) + { + string iniFileContent; + using (var stream = new MemoryStream()) + { + file.Save(stream); + iniFileContent = new StreamReader(stream, options.Encoding).ReadToEnd(); + } + + return iniFileContent.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniValueManipulationTests.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniValueManipulationTests.cs new file mode 100644 index 0000000..6e32835 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/IniValueManipulationTests.cs @@ -0,0 +1,308 @@ +using System; +using System.Collections.Generic; +using NUnit.Framework; + +namespace MadMilkman.Ini.Tests +{ + [TestFixture] + public class IniValueManipulationTests + { + [Test] + public void ParseValueTest() + { + var dateTime = new DateTime(9999, 12, 31, 23, 59, 59); + var timeSpan = new TimeSpan(10, 23, 59, 59, 999); + + var file = new IniFile(); + file.Sections.Add( + new IniSection(file, "Section", + new IniKey(file, "bool", bool.TrueString), + new IniKey(file, "number", 10.ToString()), + new IniKey(file, "date", dateTime.ToString()), + new IniKey(file, "time", timeSpan.ToString()), + new IniKey(file, "day", DayOfWeek.Sunday.ToString()))); + + bool resultingBoolean; + Assert.IsTrue(file.Sections["Section"].Keys["bool"].TryParseValue(out resultingBoolean)); + Assert.AreEqual(true, resultingBoolean); + + var numberKey = file.Sections["Section"].Keys["number"]; + + byte resultingByte; + Assert.IsTrue(numberKey.TryParseValue(out resultingByte)); + Assert.AreEqual((byte)10, resultingByte); + + sbyte resultingSignedByte; + Assert.IsTrue(numberKey.TryParseValue(out resultingSignedByte)); + Assert.AreEqual((sbyte)10, resultingSignedByte); + + short resultingShort; + Assert.IsTrue(numberKey.TryParseValue(out resultingShort)); + Assert.AreEqual((short)10, resultingShort); + + ushort resultingUnsignedShort; + Assert.IsTrue(numberKey.TryParseValue(out resultingUnsignedShort)); + Assert.AreEqual((ushort)10, resultingUnsignedShort); + + int resultingInteger; + Assert.IsTrue(numberKey.TryParseValue(out resultingInteger)); + Assert.AreEqual(10, resultingInteger); + + uint resultingUnsignedInteger; + Assert.IsTrue(numberKey.TryParseValue(out resultingUnsignedInteger)); + Assert.AreEqual(10U, resultingUnsignedInteger); + + long resultingLong; + Assert.IsTrue(numberKey.TryParseValue(out resultingLong)); + Assert.AreEqual(10L, resultingLong); + + ulong resultingUnsignedLong; + Assert.IsTrue(numberKey.TryParseValue(out resultingUnsignedLong)); + Assert.AreEqual(10UL, resultingUnsignedLong); + + float resultingSingle; + Assert.IsTrue(numberKey.TryParseValue(out resultingSingle)); + Assert.AreEqual(10F, resultingSingle); + + double resultingDouble; + Assert.IsTrue(numberKey.TryParseValue(out resultingDouble)); + Assert.AreEqual(10D, resultingDouble); + + decimal resultingDecimal; + Assert.IsTrue(numberKey.TryParseValue(out resultingDecimal)); + Assert.AreEqual(10M, resultingDecimal); + + DateTime resultingDateTime; + Assert.IsTrue(file.Sections["Section"].Keys["date"].TryParseValue(out resultingDateTime)); + Assert.AreEqual(dateTime, resultingDateTime); + + TimeSpan resultingTimeSpan; + Assert.IsTrue(file.Sections["Section"].Keys["time"].TryParseValue(out resultingTimeSpan)); + Assert.AreEqual(timeSpan, resultingTimeSpan); + + DayOfWeek resultingEnum; + Assert.IsTrue(file.Sections["Section"].Keys["day"].TryParseValue(out resultingEnum)); + Assert.AreEqual(DayOfWeek.Sunday, resultingEnum); + } + + [Test] + public void ParseValueArrayTest() + { + var file = new IniFile(); + file.Sections.Add( + new IniSection(file, "Section", + new IniKey(file, "integers", "{ 1 , 2 , 3 , 4 , 5 , 6 }"), + new IniKey(file, "invalid integers", "{ 1 , 2 , 3 , A , B , C }"), + new IniKey(file, "dates", "{1/1/2010, 1/1/2011, 1/1/2012, 1/1/2013}"))); + + var section = file.Sections[0]; + + int[] numberArray; + Assert.IsTrue(section.Keys[0].TryParseValue(out numberArray)); + Assert.AreEqual(6, numberArray.Length); + + List numberList; + Assert.IsTrue(section.Keys[0].TryParseValue(out numberList)); + Assert.AreEqual(6, numberList.Count); + + for (int i = 0; i < 6; i++) + Assert.IsTrue(numberArray[i] == i + 1 && numberList[i] == i + 1); + + Assert.IsFalse(section.Keys[1].TryParseValue(out numberArray)); + Assert.IsNull(numberArray); + + Assert.IsFalse(section.Keys[1].TryParseValue(out numberList)); + Assert.IsNull(numberList); + + DateTime[] dateArray; + Assert.IsTrue(section.Keys[2].TryParseValue(out dateArray)); + for (int i = 0; i < 4; i++) + { + Assert.AreEqual(1, dateArray[i].Day); + Assert.AreEqual(1, dateArray[i].Month); + Assert.AreEqual(2010 + i, dateArray[i].Year); + } + } + + [Test] + public void ParseValueMappingsTest() + { + var file = new IniFile(); + + file.Sections.Add( + new IniSection(file, "TRUE BOOLEANS", + new IniKey(file, "bool value", "YES"), + new IniKey(file, "bool value", "ON"), + new IniKey(file, "bool value", "1"), + new IniKey(file, "bool value", "TRUE"))); + + file.Sections.Add( + new IniSection(file, "FALSE BOOLEANS", + new IniKey(file, "bool value", "NO"), + new IniKey(file, "bool value", "OFF"), + new IniKey(file, "bool value", "0"), + new IniKey(file, "bool value", "FALSE"))); + + file.Sections.Add( + new IniSection(file, "DOUBLES", + new IniKey(file, "double value", "+∞"), + new IniKey(file, "double value", "-∞"), + new IniKey(file, "double value", "NaN"))); + + file.Sections.Add( + new IniSection(file, "ARRAYS", + new IniKey(file, "bool values", "{YES, ON, 1, TRUE}"), + new IniKey(file, "bool values", "{NO, OFF, 0, FALSE}"), + new IniKey(file, "double values", "{1.1, 10.1, 100.1, 1000.1, +∞}"))); + + file.ValueMappings.Add("yes", true); + file.ValueMappings.Add("on", true); + file.ValueMappings.Add("1", true); + file.ValueMappings.Add("no", false); + file.ValueMappings.Add("off", false); + file.ValueMappings.Add("0", false); + + file.ValueMappings.Add("+∞", double.PositiveInfinity); + file.ValueMappings.Add("-∞", double.NegativeInfinity); + file.ValueMappings.Add("NaN", double.NaN); + + foreach (var key in file.Sections["TRUE BOOLEANS"].Keys) + { + bool booleanResult; + Assert.IsTrue(key.TryParseValue(out booleanResult)); + Assert.IsTrue(booleanResult); + } + foreach (var key in file.Sections["FALSE BOOLEANS"].Keys) + { + bool booleanResult; + Assert.IsTrue(key.TryParseValue(out booleanResult)); + Assert.IsFalse(booleanResult); + } + + double doubleResult; + Assert.IsTrue(file.Sections["DOUBLES"].Keys[0].TryParseValue(out doubleResult)); + Assert.AreEqual(double.PositiveInfinity, doubleResult); + Assert.IsTrue(file.Sections["DOUBLES"].Keys[1].TryParseValue(out doubleResult)); + Assert.AreEqual(double.NegativeInfinity, doubleResult); + Assert.IsTrue(file.Sections["DOUBLES"].Keys[2].TryParseValue(out doubleResult)); + Assert.IsNaN(doubleResult); + + bool[] booleansResult; + Assert.IsTrue(file.Sections["ARRAYS"].Keys[0].TryParseValue(out booleansResult)); + foreach (var boolean in booleansResult) + Assert.IsTrue(boolean); + Assert.IsTrue(file.Sections["ARRAYS"].Keys[1].TryParseValue(out booleansResult)); + foreach (var boolean in booleansResult) + Assert.IsFalse(boolean); + List doublesResult; + Assert.IsTrue(file.Sections["ARRAYS"].Keys[2].TryParseValue(out doublesResult)); + Assert.AreEqual(1.1, doublesResult[0]); + Assert.AreEqual(10.1, doublesResult[1]); + Assert.AreEqual(100.1, doublesResult[2]); + Assert.AreEqual(1000.1, doublesResult[3]); + Assert.AreEqual(double.PositiveInfinity, doublesResult[4]); + } + + [Test] + public void BindValueWithInternalDataTest() + { + string iniFileContent = "[Source Section]\n" + + "Source Key 1 = Source Value 1\n" + + "Source Key 2 = Source Value 2\n" + + "Source Key 3 = Source Value 3\n" + + + "[Binding Section]\n" + + "Source Key 4 = Source Value 4\n" + + "Test Key 1 = @{Source Section|Source Key 1}\n" + + "Test Key 2-3 = @{Source Section|Source Key 2} and @{Source Section|Source Key 3}\n" + + "Test Key 1-4 = @{Source Section|Source Key 1} and @{Source Key 4}\n" + + "Test Key X = @{Unknown}"; + + IniFile file = IniUtilities.LoadIniFileContent(iniFileContent, new IniOptions()); + file.ValueBinding.Bind(); + + var bindedSection = file.Sections["Binding Section"]; + Assert.AreEqual("Source Value 1", bindedSection.Keys["Test Key 1"].Value); + Assert.AreEqual("Source Value 2 and Source Value 3", bindedSection.Keys["Test Key 2-3"].Value); + Assert.AreEqual("Source Value 1 and Source Value 4", bindedSection.Keys["Test Key 1-4"].Value); + Assert.AreEqual("@{Unknown}", bindedSection.Keys["Test Key X"].Value); + } + + [Test] + public void BindValueWithExternalDataTest() + { + string iniFileContent = "[Binding Section]\n" + + "Test Key 1 = @{First Tester}\n" + + "Test Key 2-3 = @{Second Tester} and @{Third Tester}\n" + + "Test Key 3-3-4 = {@{Third Tester}, @{Third Tester}, @{Fourth Tester}}\n" + + "Test Key X = @{Unknown}\n" + + "Test Key Nested = @{Nested @{Test}}"; + + IniFile file = IniUtilities.LoadIniFileContent(iniFileContent, new IniOptions()); + file.ValueBinding.Bind( + new Dictionary() + { + {"First Tester", "Source Value 1"}, + {"Second Tester", "Source Value 2"}, + {"Third Tester", "Source Value 3"}, + {"Fourth Tester", "Source Value 4"}, + {"Test", "Tester"} + }); + + var bindedSection = file.Sections["Binding Section"]; + Assert.AreEqual("Source Value 1", bindedSection.Keys["Test Key 1"].Value); + Assert.AreEqual("Source Value 2 and Source Value 3", bindedSection.Keys["Test Key 2-3"].Value); + Assert.AreEqual("{Source Value 3, Source Value 3, Source Value 4}", bindedSection.Keys["Test Key 3-3-4"].Value); + Assert.AreEqual("@{Unknown}", bindedSection.Keys["Test Key X"].Value); + Assert.AreEqual("@{Nested Tester}", bindedSection.Keys["Test Key Nested"].Value); + + file.ValueBinding.Bind(new KeyValuePair("Nested Tester", "Nested Source Value")); + Assert.AreEqual("Nested Source Value", bindedSection.Keys["Test Key Nested"].Value); + } + + [Test] + public void BindValueCustomization() + { + string iniFileContent = "[Binding Customization Section]\n" + + "Test Key 1 = @{First Tester}\n" + + "Test Key 2-3 = @{Second Tester} and @{Third Tester}\n" + + "Test Key 2-4 = @{Second Tester} and @{Fourth Tester}\n" + + "Test Key X = @{Unknown}"; + + IniFile file = IniUtilities.LoadIniFileContent(iniFileContent, new IniOptions()); + file.ValueBinding.Binding += (sender, e) => + { + if (!e.IsValueFound) + e.Value = "Missing"; + else + switch (e.PlaceholderName) + { + case "First Tester": + e.Value = "Custom " + e.Value; + break; + case "Third Tester": + e.Value = null; + break; + case "Fourth Tester": + e.Value = string.Empty; + break; + } + }; + + file.ValueBinding.Bind( + new Dictionary() + { + {"First Tester", "Source Value 1"}, + {"Second Tester", "Source Value 2"}, + {"Third Tester", "Source Value 3"}, + {"Fourth Tester", "Source Value 4"} + }); + + var bindedSection = file.Sections["Binding Customization Section"]; + Assert.AreEqual("Custom Source Value 1", bindedSection.Keys["Test Key 1"].Value); + Assert.AreEqual("Source Value 2 and @{Third Tester}", bindedSection.Keys["Test Key 2-3"].Value); + Assert.AreEqual("Source Value 2 and ", bindedSection.Keys["Test Key 2-4"].Value); + Assert.AreEqual("Missing", bindedSection.Keys["Test Key X"].Value); + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/MadMilkman.Ini.Tests.csproj b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/MadMilkman.Ini.Tests.csproj new file mode 100644 index 0000000..bbaee7b --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/MadMilkman.Ini.Tests.csproj @@ -0,0 +1,76 @@ + + + + Debug + AnyCPU + {BDD080C9-016F-4869-95DE-61171E2AB746} + Library + Properties + MadMilkman.Ini.Tests + MadMilkman.Ini.Tests + v4.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + false + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + false + + + + Resources\NUnitTestAdapter.1.2\lib\nunit.core.dll + + + Resources\NUnitTestAdapter.1.2\lib\nunit.core.interfaces.dll + + + Resources\NUnit.2.6.4\lib\nunit.framework.dll + + + Resources\NUnitTestAdapter.1.2\lib\nunit.util.dll + + + Resources\NUnitTestAdapter.1.2\lib\NUnit.VisualStudio.TestAdapter.dll + + + + + + + + + + + + + + + + + {bef9735d-c3cc-41e6-aac6-18c5985d3107} + MadMilkman.Ini + + + + + \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Properties/AssemblyInfo.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..f19b1f3 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MadMilkman.Ini.Tests")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MadMilkman.Ini.Tests")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("ad6f8d98-8028-453b-be32-406fe9a3b9cd")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnit.2.6.4/console/nunit-console.exe b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnit.2.6.4/console/nunit-console.exe new file mode 100644 index 0000000000000000000000000000000000000000..e24be6abc039d552905e4c967e907c253a557d9a GIT binary patch literal 5120 zcmeHKO>A4o5uPW>iY!}#o3ufUrtX?b0yz<%C`xwRK#ECIiX&T+S&5S4wy5>=xFTQl z_#VCQQ9nHdLeU?z=)tEPdTN25dMXeDN!tYNF(?qAr<{Y{+DlNNK#QV?`^`L3BqOO% z(MtnlrJbFfnVp@Poqao8{Kf<7C89p`M~{f!!N@Hq@IQlnu!q0;n_+r*`h$z_SPLIq zELFWo)lFD2PEEN^5QMSX(8@Fd7Wo-`)4L;LUU7RCYuzKkae}7PF?e-D% zSZAyOBK*@}LVe>oj0!!6&Ol-4N$dtD_VY;l=%91!rQG+4&dGm!Y)%sq%0TZe#&bl) z$C|{>VV&q~=lrC&O3ZJG4`BXkYl6{^^=^#ud;I_koqcWE4NRIMTDMJPT+GC_9FUHf zU?wdG>usa`5Q1XsI>@Z+arBOsBf8!(6?C2BipI9}&?%}bqTin)vM@(y>;9|uM8*;u zu=WeoGdhF=9DITLpTE#EIt={z>nk^}TcSO&bvtWk?8})KvoG>Cr^p986n8SRZ*IxI-4a~V=xpm`9J#?BU|FkCQ z$;3Ap!#wF&LOef%&Nz4Gaq=!@P`6_A@Dtc9}4`dz_S+1JS*^)z#m($ zTmAG)fgf5qX#K<*5xt4_Bp&DJX&ONUcve)*ev_8Of~w4Z@YD*tWxFi8i{P%%7wNpf zivlkRoDldmfq8-R0>3WsF5r1`0MC&p@V@MET5v@!T_BrYz-ZGGQ~>-k%>$0mYk+4c z12{<+EE~Kzz*{1-LTkXkN%yQV>f7ho_2WJcUxle?@59L?n#tTEIqEK{5&Cly3Zm)7 zu-x$V%M>&MFHXB*5QV10wr8~S#SDadtpHNDAKhJf3M`lzRt%;w2elr56H7Ra*bDK(ZkF_ zSgSk1-eE@3zy~)z%qWEQJ>ylXN3cr9DeIbJwhpga(|*4~OmBZ$44Mm%eE&(~%}n{Ch45hVm!w5)w+SFotP9+BsT5`@^>@O&@s2u0WF z(Ml;_sv7N-+snHI(s&{G7@McbiPEbiU5Y=y`~Hod^sW6zSNpzu|6hNifw#Z&t+n%0 zAN>e7W#B8r5VQJ}WeqbJ=;JIJc=L}xz3}$mZtnCxW(_=U(U2rex|uNe$VjRUTXZ_f zq|j7w(=9qBQ+z^xZPET)2S=qw3zt+jlgXyDnTf0_R2?LmR>hFha%k{Kxy+Qh>C|+j z?$~Nc?`(NyYfLSAZq?DgD%h&D6OO68kEHfg-d1a&34=Haw~x}7!M>TSDpnEUx+)mQ zt3WL8`)ZjpDN@Ti!kOu^P4t{a7sU&Oci2&JE2mVrsXClJXVICgeZ`)#C#EJZXAm+= zKB|PPjjv0o=gB+9sV{}W+^(x7`Eh#TPK3a{)_gDca012^V~1PoT_L(x2+iECma8b& zRBOBJ^LHK<$Frnzf_)DDA0p5r@2SEacnap=1HRvFRq|35kD*tOp!51qDFH=pAUy!~ zvmDX8c(+?^9rfT}61I@u?VG~5hWF_n;2bRjo2T1&weDeDqE~=(d#~@~Pgrk1-j(62 zeFx(;;U@KAhgzY|0$R}Okbxc#wTFhzfHo-<{xigemB4jCjlg#(hFpkQ(tg$VG(;@e z6hq1by>f)6fAq3U=HPFNHh>dN$?IN#z8WeE-eV6QIhbitzeKB`dC+Y`#y~gGEGiZ2 zV2@cyMtH4x?|PSQ?X_vV(QI)9$R6^!p6$@F2ATo4?N=82T|u8hp8%Ys%VO^=3Q9{N z6w8_bw)!0w2h?cVn}$uDd)koSmA!vrJ%o-0;1yZTw$e9Jiih_wjFkH+^ll=Bw?bh?_}G*qM~l zfg6_bn`S1pT6!gYHKn513CfNi26`s7r=!%hmxl(YQSM4{s-PfO6kycD@rl!;Ng z=D8+}!c8ubYcDxb&EB3!shSgbn>vb{#bB}pcpB}&GRu%>1D mc$e+d;|D>2!1Q?QgfQXL{tPyi{0`s0@)@-KbCdt)2>ctYu>ary literal 0 HcmV?d00001 diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnit.2.6.4/console/nunit-console.exe.config b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnit.2.6.4/console/nunit-console.exe.config new file mode 100644 index 0000000..81e5346 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnit.2.6.4/console/nunit-console.exe.config @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnit.2.6.4/lib/nunit.framework.dll b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnit.2.6.4/lib/nunit.framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..ed6550bb0556d716de525cd64e1a6cefb8a945bf GIT binary patch literal 151552 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 + + + nunit.framework + + + +

+ The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + Throws an with the message and arguments + that are passed in. This is used by the other Assert functions. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This is used by the other Assert functions. + + The message to initialize the with. + + + + Throws an . + This is used by the other Assert functions. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The actual value to test + A Constraint to be applied + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The actual value to test + A Constraint to be applied + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The actual value to test + A Constraint to be applied + The message that will be displayed on failure + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The actual value to test + A Constraint to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + The actual value to test + A Constraint to be applied + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + + This method is provided for use by VB developers needing to test + the value of properties with private setters. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate does not throw an exception + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate does not throw an exception. + + A TestDelegate + The message that will be displayed on failure + + + + Verifies that a delegate does not throw an exception. + + A TestDelegate + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that two ints are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two ints are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two ints are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two longs are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two longs are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two longs are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two unsigned ints are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two unsigned ints are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two unsigned ints are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two unsigned longs are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two unsigned longs are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two unsigned longs are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two decimals are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two decimals are equal. If they are not, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two decimals are equal. If they are not, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + + + + Verifies that two ints are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two ints are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two ints are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two longs are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two longs are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two longs are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two unsigned ints are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two unsigned ints are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two unsigned ints are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two unsigned longs are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two unsigned longs are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two unsigned longs are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two decimals are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two decimals are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two decimals are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two floats are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two floats are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two floats are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two doubles are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + The message to display in case of failure + + + + Verifies that two doubles are not equal. If they are equal, then an + is thrown. + + The expected value + The actual value + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is either null or equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is either null or equal to string.Empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is either null or equal to string.Empty + + The string to be tested + + + + Assert that a string is not null or empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not null or empty + + The string to be tested + The message to display in case of failure + + + + Assert that a string is not null or empty + + The string to be tested + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + + + + Verifies that the first value is greater than or equal tothe second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + The message to display in case of failure + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + + + + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Gets the number of assertions executed so far and + resets the counter to zero. + + + + + AssertionHelper is an optional base class for user tests, + allowing the use of shorter names for constraints and + asserts and avoiding conflict with the definition of + , from which it inherits much of its + behavior, in certain mock object frameworks. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. Works + identically to Assert.That. + + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. Works + identically to Assert.That. + + The actual value to test + A Constraint to be applied + The message to be displayed in case of failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. Works + identically to Assert.That. + + The actual value to test + A Constraint to be applied + The message to be displayed in case of failure + Arguments to use in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The actual value to test + A Constraint to be applied + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The actual value to test + A Constraint to be applied + The message that will be displayed on failure + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The actual value to test + A Constraint to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Returns a ListMapper based on a collection. + + The original collection + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + The message that will be displayed on failure + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + + + + Apply a constraint to a referenced value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Waits for pending asynchronous operations to complete, if appropriate, + and returns a proper result of the invocation by unwrapping task results + + The raw result of the method invocation + The unwrapped result, if necessary + + + + A set of Assert methods operationg on one or more collections + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + The message that will be displayed on failure + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Summary description for DirectoryAssert + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are not equal + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + The message to display if directories are equal + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory path string containing the value that is expected + A directory path string containing the actual value + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is empty. If it is not empty + an is thrown. + + A directory to search + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + The message to display if directories are not equal + + + + Asserts that the directory is not empty. If it is empty + an is thrown. + + A directory to search + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path contains actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + Arguments to be used in formatting the message + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + The message to display if directory is not within the path + + + + Asserts that path does not contain actual as a subdirectory or + an is thrown. + + A directory to search + sub-directory asserted to exist under directory + + + + Summary description for FileAssert. + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if objects are not equal + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if objects are not equal + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if objects are not equal + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the Streams are the same. + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if objects are not equal + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if objects are not equal + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + GlobalSettings is a place for setting default values used + by the framework in performing asserts. + + + + + Default tolerance for floating point equality + + + + + Class used to guard against unexpected argument values + by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Interface implemented by a user fixture in order to + validate any expected exceptions. It is only called + for test methods marked with the ExpectedException + attribute. + + + + + Method to handle an expected exception + + The exception to be handled + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + The ITestCaseData interface is implemented by a class + that is able to return complete testcases for use by + a parameterized test method. + + NOTE: This interface is used in both the framework + and the core, even though that results in two different + types. However, sharing the source code guarantees that + the various implementations will be compatible and that + the core is able to reflect successfully over the + framework implementations of ITestCaseData. + + + + + Gets the argument list to be provided to the test + + + + + Gets the expected result + + + + + Indicates whether a result has been specified. + This is necessary because the result may be + null, so it's value cannot be checked. + + + + + Gets the expected exception Type + + + + + Gets the FullName of the expected exception + + + + + Gets the name to be used for the test + + + + + Gets the description of the test + + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is explicit. + + true if explicit; otherwise, false. + + + + Gets the ignore reason. + + The ignore reason. + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. + + + + + Get a randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Construct a randomizer using a random seed + + + + + Construct a randomizer using a specified seed + + + + + Return an array of random doubles between 0.0 and 1.0. + + + + + + + Return an array of random doubles with values in a specified range. + + + + + Return an array of random ints with values in a specified range. + + + + + Get a random seed for use in creating a randomizer. + + + + + The SpecialValue enum is used to represent TestCase arguments + that cannot be used as arguments to an Attribute. + + + + + Null represents a null value, which cannot be used as an + argument to an attribute under .NET 1.x + + + + + Basic Asserts on strings. + + + + + The Equals method throws an AssertionException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an AssertionException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are Notequal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It provides a number of instance modifiers + for use in initializing the test case. + + Note: Instance modifiers are getters that return + the same instance after modifying it's state. + + + + + The argument list to be provided to the test + + + + + The expected result to be returned + + + + + Set to true if this has an expected result + + + + + The expected exception Type + + + + + The FullName of the expected exception + + + + + The name to be used for the test + + + + + The description of the test + + + + + A dictionary of properties, used to add information + to tests without requiring the class to change. + + + + + If true, indicates that the test case is to be ignored + + + + + If true, indicates that the test case is marked explicit + + + + + The reason for ignoring a test case + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the expected exception type for the test + + Type of the expected exception. + The modified TestCaseData instance + + + + Sets the expected exception type for the test + + FullName of the expected exception. + The modified TestCaseData instance + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Ignores this TestCase. + + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Marks this TestCase as Explicit + + + + + + Marks this TestCase as Explicit, specifying the reason. + + The reason. + + + + + Gets the argument list to be provided to the test + + + + + Gets the expected result + + + + + Returns true if the result has been set + + + + + Gets the expected exception Type + + + + + Gets the FullName of the expected exception + + + + + Gets the name to be used for the test + + + + + Gets the description of the test + + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is explicit. + + true if explicit; otherwise, false. + + + + Gets the ignore reason. + + The ignore reason. + + + + Gets a list of categories associated with this test. + + + + + Gets the property dictionary for this test + + + + + Provide the context information of the current test + + + + + Constructs a TestContext using the provided context dictionary + + A context dictionary + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TestAdapter representing the currently executing test in this context. + + + + + Gets a ResultAdapter representing the current result for the test + executing in this context. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputing files created + by this test run. + + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Constructs a TestAdapter for this context + + The context dictionary + + + + The name of the test. + + + + + The FullName of the test + + + + + The properties of the test. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a context + + The context holding the result + + + + The TestState of current test. This maps to the ResultState + used in nunit.core and is subject to change in the future. + + + + + The TestStatus of current test. This enum will be used + in future versions of NUnit and so is to be preferred + to the TestState value. + + + + + Provides details about a test + + + + + Creates an instance of TestDetails + + The fixture that the test is a member of, if available. + The method that implements the test, if available. + The full name of the test. + A string representing the type of test, e.g. "Test Case". + Indicates if the test represents a suite of tests. + + + + The fixture that the test is a member of, if available. + + + + + The method that implements the test, if available. + + + + + The full name of the test. + + + + + A string representing the type of test, e.g. "Test Case". + + + + + Indicates if the test represents a suite of tests. + + + + + The ResultState enum indicates the result of running a test + + + + + The result is inconclusive + + + + + The test was not runnable. + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test succeeded + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + The test failed + + + + + Helper class with static methods used to supply constraints + that operate on strings. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the Regex pattern supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + TextMessageWriter writes constraint descriptions and messages + in displayable form as a text stream. It tailors the display + of individual message components to form the standard message + format of NUnit assertion failure messages. + + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a givel + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The constraint that failed + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for a connector. + + The connector. + + + + Writes the text for a predicate. + + The predicate. + + + + Writes the text for an expected value. + + The expected value. + + + + Writes the text for a modifier + + The modifier. + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Abstract method to get the max line length + + + + + Prefix used for the expected value line of a message + + + + + Prefix used for the actual value line of a message + + + + + Length of a message prefix + + + + + Construct a TextMessageWriter + + + + + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + + + + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a givel + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The constraint that failed + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for a connector. + + The connector. + + + + Writes the text for a predicate. + + The predicate. + + + + Write the text for a modifier. + + The modifier. + + + + Writes the text for an expected value. + + The expected value. + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + The expected value + + + + Write the generic 'Expected' line for a given value + and tolerance. + + The expected value + The tolerance within which the test was made + + + + Write the generic 'Actual' line for a constraint + + The constraint for which the actual value is to be written + + + + Write the generic 'Actual' line for a given value + + The actual value causing a failure + + + + Gets or sets the maximum line length for this writer + + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Attribute used to apply a category to a test + + + + + The name of the category + + + + + Construct attribute for a given category based on + a name. The name may not contain the characters ',', + '+', '-' or '!'. However, this is not checked in the + constructor since it would cause an error to arise at + as the test was loaded without giving a clear indication + of where the problem is located. The error is handled + in NUnitFramework.cs by marking the test as not + runnable. + + The name of the category + + + + Protected constructor uses the Type name as the name + of the category. + + + + + The name of the category + + + + + Used to mark a field for use as a datapoint when executing a theory + within the same fixture that requires an argument of the field's Type. + + + + + Used to mark an array as containing a set of datapoints to be used + executing a theory within the same fixture that requires an argument + of the Type of the array elements. + + + + + Attribute used to provide descriptive text about a + test case or fixture. + + + + + Construct the attribute + + Text describing the test + + + + Gets the test description + + + + + Enumeration indicating how the expected message parameter is to be used + + + + Expect an exact match + + + Expect a message containing the parameter string + + + Match the regular expression provided as a parameter + + + Expect a message that starts with the parameter string + + + + ExpectedExceptionAttribute + + + + + + Constructor for a non-specific exception + + + + + Constructor for a given type of exception + + The type of the expected exception + + + + Constructor for a given exception name + + The full name of the expected exception + + + + Gets or sets the expected exception type + + + + + Gets or sets the full Type name of the expected exception + + + + + Gets or sets the expected message text + + + + + Gets or sets the user message displayed in case of failure + + + + + Gets or sets the type of match to be performed on the expected message + + + + + Gets the name of a method to be used as an exception handler + + + + + ExplicitAttribute marks a test or test fixture so that it will + only be run if explicitly executed from the gui or command line + or if it is included by use of a filter. The test will not be + run simply because an enclosing suite is run. + + + + + Default constructor + + + + + Constructor with a reason + + The reason test is marked explicit + + + + The reason test is marked explicit + + + + + Attribute used to mark a test that is to be ignored. + Ignored tests result in a warning message when the + tests are run. + + + + + Constructs the attribute without giving a reason + for ignoring the test. + + + + + Constructs the attribute giving a reason for ignoring the test + + The reason for ignoring the test + + + + The reason for ignoring a test + + + + + Abstract base for Attributes that are used to include tests + in the test run based on environmental settings. + + + + + Constructor with no included items specified, for use + with named property syntax. + + + + + Constructor taking one or more included items + + Comma-delimited list of included items + + + + Name of the item that is needed in order for + a test to run. Multiple itemss may be given, + separated by a comma. + + + + + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + + + + + The reason for including or excluding the test + + + + + PlatformAttribute is used to mark a test fixture or an + individual method as applying to a particular platform only. + + + + + Constructor with no platforms specified, for use + with named property syntax. + + + + + Constructor taking one or more platforms + + Comma-deliminted list of platforms + + + + CultureAttribute is used to mark a test fixture or an + individual method as applying to a particular Culture only. + + + + + Constructor with no cultures specified, for use + with named property syntax. + + + + + Constructor taking one or more cultures + + Comma-deliminted list of cultures + + + + Marks a test to use a combinatorial join of any argument data + provided. NUnit will create a test case for every combination of + the arguments provided. This can result in a large number of test + cases and so should be used judiciously. This is the default join + type, so the attribute need not be used except as documentation. + + + + + PropertyAttribute is used to attach information to a test as a name/value pair.. + + + + + Construct a PropertyAttribute with a name and string value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and int value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and double value + + The name of the property + The property value + + + + Constructor for derived classes that set the + property dictionary directly. + + + + + Constructor for use by derived classes that use the + name of the type as the property name. Derived classes + must ensure that the Type of the property value is + a standard type supported by the BCL. Any custom + types will cause a serialization Exception when + in the client. + + + + + Gets the property dictionary for this attribute + + + + + Default constructor + + + + + Marks a test to use pairwise join of any argument data provided. + NUnit will attempt too excercise every pair of argument values at + least once, using as small a number of test cases as it can. With + only two arguments, this is the same as a combinatorial join. + + + + + Default constructor + + + + + Marks a test to use a sequential join of any argument data + provided. NUnit will use arguements for each parameter in + sequence, generating test cases up to the largest number + of argument values provided and using null for any arguments + for which it runs out of values. Normally, this should be + used with the same number of arguments for each parameter. + + + + + Default constructor + + + + + Summary description for MaxTimeAttribute. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + RandomAttribute is used to supply a set of random values + to a single parameter of a parameterized test. + + + + + ValuesAttribute is used to provide literal arguments for + an individual parameter of a test. + + + + + Abstract base class for attributes that apply to parameters + and supply data for the parameter. + + + + + Gets the data to be provided to the specified parameter + + + + + The collection of data to be returned. Must + be set by any derived attribute classes. + We use an object[] so that the individual + elements may have their type changed in GetData + if necessary. + + + + + Construct with one argument + + + + + + Construct with two arguments + + + + + + + Construct with three arguments + + + + + + + + Construct with an array of arguments + + + + + + Get the collection of values to be used as arguments + + + + + Construct a set of doubles from 0.0 to 1.0, + specifying only the count. + + + + + + Construct a set of doubles from min to max + + + + + + + + Construct a set of ints from min to max + + + + + + + + Get the collection of values to be used as arguments + + + + + RangeAttribute is used to supply a range of values to an + individual parameter of a parameterized test. + + + + + Construct a range of ints using default step of 1 + + + + + + + Construct a range of ints specifying the step size + + + + + + + + Construct a range of longs + + + + + + + + Construct a range of doubles + + + + + + + + Construct a range of floats + + + + + + + + RepeatAttribute may be applied to test case in order + to run it multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + RequiredAddinAttribute may be used to indicate the names of any addins + that must be present in order to run some or all of the tests in an + assembly. If the addin is not loaded, the entire assembly is marked + as NotRunnable. + + + + + Initializes a new instance of the class. + + The required addin. + + + + Gets the name of required addin. + + The required addin name. + + + + Summary description for SetCultureAttribute. + + + + + Construct given the name of a culture + + + + + + Summary description for SetUICultureAttribute. + + + + + Construct given the name of a culture + + + + + + SetUpAttribute is used in a TestFixture to identify a method + that is called immediately before each test is run. It is + also used in a SetUpFixture to identify the method that is + called once, before any of the subordinate tests are run. + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + Attribute used to mark a static (shared in VB) property + that returns a list of tests. + + + + + Attribute used in a TestFixture to identify a method that is + called immediately after each test is run. It is also used + in a SetUpFixture to identify the method that is called once, + after all subordinate tests have run. In either case, the method + is guaranteed to be called, even if an exception is thrown. + + + + + Provide actions to execute before and after tests. + + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + Provides details about the test that is going to be run. + + + + Executed after each test is run + + Provides details about the test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + Method called before each test + + Info about the test to be run + + + + Method called after each test + + Info about the test that was just run + + + + Gets or sets the ActionTargets for this attribute + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + publc void TestDescriptionMethod() + {} + } + + + + + + Descriptive text for this test + + + + + TestCaseAttribute is used to mark parameterized test cases + and provide them with their arguments. + + + + + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + + + + + + Construct a TestCaseAttribute with a single argument + + + + + + Construct a TestCaseAttribute with a two arguments + + + + + + + Construct a TestCaseAttribute with a three arguments + + + + + + + + Gets the list of arguments to a test case + + + + + Gets or sets the expected result. Use + ExpectedResult by preference. + + The result. + + + + Gets or sets the expected result. + + The result. + + + + Gets a flag indicating whether an expected + result has been set. + + + + + Gets a list of categories associated with this test; + + + + + Gets or sets the category associated with this test. + May be a single category or a comma-separated list. + + + + + Gets or sets the expected exception. + + The expected exception. + + + + Gets or sets the name the expected exception. + + The expected name of the exception. + + + + Gets or sets the expected message of the expected exception + + The expected message of the exception. + + + + Gets or sets the type of match to be performed on the expected message + + + + + Gets or sets the description. + + The description. + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the ignored status of the test + + + + + Gets or sets the ignored status of the test + + + + + Gets or sets the explicit status of the test + + + + + Gets or sets the reason for not running the test + + + + + Gets or sets the reason for not running the test. + Set has the side effect of marking the test as ignored. + + The ignore reason. + + + + FactoryAttribute indicates the source to be used to + provide test cases for a test method. + + + + + Construct with the name of the data source, which must + be a property, field or method of the test class itself. + + An array of the names of the factories that will provide data + + + + Construct with a Type, which must implement IEnumerable + + The Type that will provide data + + + + Construct with a Type and name. + that don't support params arrays. + + The Type that will provide data + The name of the method, property or field that will provide data + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with this test. + May be a single category or a comma-separated list. + + + + + [TestFixture] + public class ExampleClass + {} + + + + + Default constructor + + + + + Construct with a object[] representing a set of arguments. + In .NET 2.0, the arguments may later be separated into + type arguments and constructor arguments. + + + + + + Descriptive text for this fixture + + + + + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + + + + + Gets a list of categories for this fixture + + + + + The arguments originally provided to the attribute + + + + + Gets or sets a value indicating whether this should be ignored. + + true if ignore; otherwise, false. + + + + Gets or sets the ignore reason. May set Ignored as a side effect. + + The ignore reason. + + + + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + + + + + Attribute used to identify a method that is + called before any tests in a fixture are run. + + + + + Attribute used to identify a method that is called after + all the tests in a fixture have run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + publc void TestDescriptionMethod() + {} + } + + + + + + Used on a method, marks the test with a timeout value in milliseconds. + The test will be run in a separate thread and is cancelled if the timeout + is exceeded. Used on a method or assembly, sets the default timeout + for all contained test methods. + + + + + Construct a TimeoutAttribute given a time in milliseconds + + The timeout value in milliseconds + + + + Marks a test that must run in the STA, causing it + to run in a separate thread if necessary. + + On methods, you may also use STAThreadAttribute + to serve the same purpose. + + + + + Construct a RequiresSTAAttribute + + + + + Marks a test that must run in the MTA, causing it + to run in a separate thread if necessary. + + On methods, you may also use MTAThreadAttribute + to serve the same purpose. + + + + + Construct a RequiresMTAAttribute + + + + + Marks a test that must run on a separate thread. + + + + + Construct a RequiresThreadAttribute + + + + + Construct a RequiresThreadAttribute, specifying the apartment + + + + + ValueSourceAttribute indicates the source to be used to + provide data for one parameter of a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + The name of the data source to be used + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of the method, property or field that will provide data + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Abstract base class used for prefixes + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + The IConstraintExpression interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + Static UnsetObject used to detect derived constraints + failing to set the actual value. + + + + + The actual value being tested against a constraint + + + + + The display name of this Constraint for use by ToString() + + + + + Argument fields used by ToString(); + + + + + The builder holding this constraint + + + + + Construct a constraint with no arguments + + + + + Construct a constraint with one argument + + + + + Construct a constraint with two arguments + + + + + Sets the ConstraintBuilder holding this constraint + + + + + Write the failure message to the MessageWriter provided + as an argument. The default implementation simply passes + the constraint and the actual value to the writer, which + then displays the constraint description and the value. + + Constraints that need to provide additional details, + such as where the error occured can override this. + + The MessageWriter on which to display the message + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by an + ActualValueDelegate that returns the value to be tested. + The default implementation simply evaluates the delegate + but derived classes may override it to provide for delayed + processing. + + An + True for success, false for failure + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a DelayedConstraint with the specified delay time. + + The delay in milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Class used to detect any derived constraints + that fail to set the actual value in their + Matches override. + + + + + The base constraint + + + + + Construct given a base constraint + + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + AndConstraint succeeds only if both members succeed. + + + + + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + + + + + The first constraint being combined + + + + + The second constraint being combined + + + + + Construct a BinaryConstraint from two other constraints + + The first constraint + The second constraint + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write a description for this contraint to a MessageWriter + + The MessageWriter to receive the description + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + Construct a TypeConstraint for a given Type + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. TypeConstraints override this method to write + the name of the type. + + The writer on which the actual value is displayed + + + + Construct an AssignableFromConstraint for the type provided + + + + + + Test whether an object can be assigned from the specified type + + The object to be tested + True if the object can be assigned a value of the expected Type, otherwise false. + + + + Write a description of this constraint to a MessageWriter + + The MessageWriter to use + + + + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + + + + + Construct an AssignableToConstraint for the type provided + + + + + + Test whether an object can be assigned to the specified type + + The object to be tested + True if the object can be assigned a value of the expected Type, otherwise false. + + + + Write a description of this constraint to a MessageWriter + + The MessageWriter to use + + + + AttributeConstraint tests that a specified attribute is present + on a Type or other provider and that the value of the attribute + satisfies some other constraint. + + + + + Constructs an AttributeConstraint for a specified attriute + Type and base constraint. + + + + + + + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + + + + + Writes a description of the attribute to the specified writer. + + + + + Writes the actual value supplied to the specified writer. + + + + + Returns a string representation of the constraint. + + + + + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + + + + + Constructs an AttributeExistsConstraint for a specific attribute Type + + + + + + Tests whether the object provides the expected attribute. + + A Type, MethodInfo, or other ICustomAttributeProvider + True if the expected attribute is present, otherwise false + + + + Writes the description of the constraint to the specified writer + + + + + BasicConstraint is the abstract base for constraints that + perform a simple comparison to a constant value. + + + + + Initializes a new instance of the class. + + The expected. + The description. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation + + + + + CollectionConstraint is the abstract base class for + constraints that operate on collections. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Determines whether the specified enumerable is empty. + + The enumerable. + + true if the specified enumerable is empty; otherwise, false. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Protected method to be implemented by derived classes + + + + + + + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Flag the constraint to use the supplied EqualityAdapter. + NOTE: For internal use only. + + The EqualityAdapter to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + Flag the constraint to ignore case and return self. + + + + + Construct a CollectionContainsConstraint + + + + + + Test whether the expected item is contained in the collection + + + + + + + Write a descripton of the constraint to a MessageWriter + + + + + + CollectionEquivalentCOnstraint is used to determine whether two + collections are equivalent. + + + + + Construct a CollectionEquivalentConstraint + + + + + + Test whether two collections are equivalent + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + Modifies the constraint to use an IComparer and returns self. + + + + + Modifies the constraint to use an IComparer<T> and returns self. + + + + + Modifies the constraint to use a Comparison<T> and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Test whether the collection is ordered + + + + + + + Write a description of the constraint to a MessageWriter + + + + + + Returns the string representation of the constraint. + + + + + + If used performs a reverse comparison + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + CollectionTally counts (tallies) the number of + occurences of each object in one or more enumerations. + + + + + Construct a CollectionTally object from a comparer and a collection + + + + + Try to remove an object from the tally + + The object to remove + True if successful, false if the object was not found + + + + Try to remove a set of objects from the tally + + The objects to remove + True if successful, false if any object was not found + + + + The number of objects remaining in the tally + + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + IComparer, IComparer<T> or Comparison<T> + + + + + Returns a ComparisonAdapter that wraps an IComparer + + + + + Returns a ComparisonAdapter that wraps an IComparer<T> + + + + + Returns a ComparisonAdapter that wraps a Comparison<T> + + + + + Compares two objects + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Construct a ComparisonAdapter for an IComparer + + + + + Compares two objects + + + + + + + + Construct a default ComparisonAdapter + + + + + ComparisonAdapter<T> extends ComparisonAdapter and + allows use of an IComparer<T> or Comparison<T> + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an IComparer<T> + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a Comparison<T> + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. This class supplies the Using modifiers. + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + + + Modifies the constraint to use an IComparer and returns self + + + + + Modifies the constraint to use an IComparer<T> and returns self + + + + + Modifies the constraint to use a Comparison<T> and returns self + + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reognized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + Initializes a new instance of the class. + + + + + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + + The operator to push. + + + + Appends the specified constraint to the expresson by pushing + it on the constraint stack. + + The constraint to push. + + + + Sets the top operator right context. + + The right context. + + + + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + + The target precedence. + + + + Resolves this instance, returning a Constraint. If the builder + is not currently in a resolvable state, an exception is thrown. + + The resolved constraint + + + + Gets a value indicating whether this instance is resolvable. + + + true if this instance is resolvable; otherwise, false. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The builder. + + + + Pushes the specified operator onto the stack. + + The op. + + + + Pops the topmost operator from the stack. + + + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Gets the topmost operator without modifying the stack. + + The top. + + + + ConstraintStack is a type-safe stack for holding Constraints + + + + + Initializes a new instance of the class. + + The builder. + + + + Pushes the specified constraint. As a side effect, + the constraint's builder field is set to the + ConstraintBuilder owning this stack. + + The constraint. + + + + Pops this topmost constrait from the stack. + As a side effect, the constraint's builder + field is set to null. + + + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Gets the topmost constraint without modifying the stack. + + The topmost constraint + + + + ConstraintExpression represents a compound constraint in the + process of being constructed from a series of syntactic elements. + + Individual elements are appended to the expression as they are + reognized. Once an actual Constraint is appended, the expression + returns a resolvable Constraint. + + + + + ConstraintExpressionBase is the abstract base class for the + ConstraintExpression class, which represents a + compound constraint in the process of being constructed + from a series of syntactic elements. + + NOTE: ConstraintExpressionBase is separate because the + ConstraintExpression class was generated in earlier + versions of NUnit. The two classes may be combined + in a future version. + + + + + The ConstraintBuilder holding the elements recognized so far + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a string representation of the expression as it + currently stands. This should only be used for testing, + since it has the side-effect of resolving the expression. + + + + + + Appends an operator to the expression and returns the + resulting expression itself. + + + + + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + + + + + Appends a constraint to the expression and returns that + constraint, which is associated with the current state + of the expression being built. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the suppled argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The expected. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to ignore case and return self. + + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Creates a new DelayedConstraint + + The inner constraint two decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint two decorate + The time interval after which the match is performed + The time interval used for polling + If the value of is less than 0 + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a MessageWriter. + + The writer on which the actual value is displayed + + + + Returns the string representation of the constraint. + + + + + EmptyCollectionConstraint tests whether a collection is empty. + + + + + Check that the collection is empty + + + + + + + Write the constraint description to a MessageWriter + + + + + + EmptyConstraint tests a whether a string or collection is empty, + postponing the decision about which test is applied until the + type of the actual argument is known. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + EmptyDirectoryConstraint is used to test that a directory is empty + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + EmptyStringConstraint tests whether a string is empty. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + EndsWithConstraint can test whether a string ends + with an expected substring. + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + Modify the constraint to ignore case in matching. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + EqualConstraint is able to compare an actual value with the + expected value provided in its constructor. Two objects are + considered equal if both are null, or if both have the same + value. NUnit has special semantics for some object types. + + + + + If true, strings in error messages will be clipped + + + + + NUnitEqualityComparer used to test equality. + + + + + Initializes a new instance of the class. + + The expected value. + + + + Flag the constraint to use a tolerance when determining equality. + + Tolerance value to be used + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Write description of this constraint + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual enumerations, collections or arrays. If both are identical, + the value is only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Display the failure information for two IEnumerables that did not match. + + The MessageWriter on which to display + The expected enumeration. + The actual enumeration + The depth of this failure in a set of nested collections + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to suppress string clipping + and return self. + + + + + Flag the constraint to compare arrays as collections + and return self. + + + + + Switches the .Within() modifier to interpret its tolerance as + a distance in representable values (see remarks). + + Self. + + Ulp stands for "unit in the last place" and describes the minimum + amount a given value can change. For any integers, an ulp is 1 whole + digit. For floating point values, the accuracy of which is better + for smaller numbers and worse for larger numbers, an ulp depends + on the size of the number. Using ulps for comparison of floating + point results instead of fixed tolerances is safer because it will + automatically compensate for the added inaccuracy of larger numbers. + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in days. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in hours. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in minutes. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in seconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + + Self + + + + EqualityAdapter class handles all equality comparisons + that use an IEqualityComparer, IEqualityComparer<T> + or a ComparisonAdapter. + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Returns an EqualityAdapter that wraps an IComparer. + + + + + Returns an EqualityAdapter that wraps an IEqualityComparer. + + + + + Returns an EqualityAdapter that wraps an IEqualityComparer<T>. + + + + + Returns an EqualityAdapter that wraps an IComparer<T>. + + + + + Returns an EqualityAdapter that wraps a Comparison<T>. + + + + + EqualityAdapter that wraps an IComparer. + + + + + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + + + + + EqualityAdapter that wraps an IComparer. + + + + + EqualityAdapterList represents a list of EqualityAdapters + in a common class across platforms. + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + Test that an object is of the exact type specified + + The actual value. + True if the tested object is of the exact type provided, otherwise false. + + + + Write the description of this constraint to a MessageWriter + + The MessageWriter to use + + + + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + + + + + Constructs an ExceptionTypeConstraint + + + + + Write the actual value for a failing constraint test to a + MessageWriter. Overriden to write additional information + in the case of an Exception. + + The MessageWriter to use + + + + FailurePoint class represents one point of failure + in an equality test. + + + + + The location of the failure + + + + + The expected value + + + + + The actual value + + + + + Indicates whether the expected value is valid + + + + + Indicates whether the actual value is valid + + + + + FailurePointList represents a set of FailurePoints + in a cross-platform way. + + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + Helper routines for working with floating point numbers + + + The floating point comparison code is based on this excellent article: + http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm + + + "ULP" means Unit in the Last Place and in the context of this library refers to + the distance between two adjacent floating point numbers. IEEE floating point + numbers can only represent a finite subset of natural numbers, with greater + accuracy for smaller numbers and lower accuracy for very large numbers. + + + If a comparison is allowed "2 ulps" of deviation, that means the values are + allowed to deviate by up to 2 adjacent floating point values, which might be + as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. + + + + + Compares two floating point values for equality + First floating point value to be compared + Second floating point value t be compared + + Maximum number of representable floating point values that are allowed to + be between the left and the right floating point values + + True if both numbers are equal or close to being equal + + + Floating point values can only represent a finite subset of natural numbers. + For example, the values 2.00000000 and 2.00000024 can be stored in a float, + but nothing inbetween them. + + + This comparison will count how many possible floating point values are between + the left and the right number. If the number of possible values between both + numbers is less than or equal to maxUlps, then the numbers are considered as + being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + Compares two double precision floating point values for equality + First double precision floating point value to be compared + Second double precision floating point value t be compared + + Maximum number of representable double precision floating point values that are + allowed to be between the left and the right double precision floating point values + + True if both numbers are equal or close to being equal + + + Double precision floating point values can only represent a limited series of + natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004 + can be stored in a double, but nothing inbetween them. + + + This comparison will count how many possible double precision floating point + values are between the left and the right number. If the number of possible + values between both numbers is less than or equal to maxUlps, then the numbers + are considered as being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + + Reinterprets the memory contents of a floating point value as an integer value + + + Floating point value whose memory contents to reinterpret + + + The memory contents of the floating point value interpreted as an integer + + + + + Reinterprets the memory contents of a double precision floating point + value as an integer value + + + Double precision floating point value whose memory contents to reinterpret + + + The memory contents of the double precision floating point value + interpreted as an integer + + + + + Reinterprets the memory contents of an integer as a floating point value + + Integer value whose memory contents to reinterpret + + The memory contents of the integer value interpreted as a floating point value + + + + + Reinterprets the memory contents of an integer value as a double precision + floating point value + + Integer whose memory contents to reinterpret + + The memory contents of the integer interpreted as a double precision + floating point value + + + + Union of a floating point variable and an integer + + + The union's value as a floating point variable + + + The union's value as an integer + + + The union's value as an unsigned integer + + + Union of a double precision floating point variable and a long + + + The union's value as a double precision floating point variable + + + The union's value as a long + + + The union's value as an unsigned long + + + + Tests whether a value is greater than the value supplied to its constructor + + + + + The value against which a comparison is to be made + + + + + Initializes a new instance of the class. + + The expected value. + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + The value against which a comparison is to be made + + + + + Initializes a new instance of the class. + + The expected value. + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + Test whether an object is of the specified type or a derived type + + The object to be tested + True if the object is of the provided type or derives from it, otherwise false. + + + + Write a description of this constraint to a MessageWriter + + The MessageWriter to use + + + + Tests whether a value is less than the value supplied to its constructor + + + + + The value against which a comparison is to be made + + + + + Initializes a new instance of the class. + + The expected value. + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + The value against which a comparison is to be made + + + + + Initializes a new instance of the class. + + The expected value. + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a enumerable, + collection or array corresponding to a single int index into the + collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + Test that the actual value is an NaN + + + + + + + Write the constraint description to a specified writer + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a NoItemConstraint on top of an existing constraint + + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a MessageWriter. + + The writer on which the actual value is displayed + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + NullEmptyStringConstraint tests whether a string is either null or empty. + + + + + Constructs a new NullOrEmptyStringConstraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Compares two objects + + + + + + + + Returns the default NUnitComparer. + + + + + Generic version of NUnitComparer + + + + + + Compare two objects of the same type + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + + + + + + Compares two objects for equality within a tolerance + + The first object to compare + The second object to compare + The tolerance to use in the comparison + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occured. + + + + + RecursionDetector used to check for recursion when + evaluating self-referencing enumerables. + + + + + Compares two objects for equality within a tolerance, setting + the tolerance to the actual tolerance used if an empty + tolerance is supplied. + + + + + Helper method to compare two arrays + + + + + Method to compare two DirectoryInfo objects + + first directory to compare + second directory to compare + true if equivalent, false if not + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depthy. + + + + + RecursionDetector detects when a comparison + between two enumerables has reached a point + where the same objects that were previously + compared are again being compared. This allows + the caller to stop the comparison if desired. + + + + + Check whether two objects have previously + been compared, returning true if they have. + The two objects are remembered, so that a + second call will always return true. + + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + Write a description for this contraint to a MessageWriter + + The MessageWriter to receive the description + + + + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + + + + + The expected path used in the constraint + + + + + Flag indicating whether a caseInsensitive comparison should be made + + + + + Construct a PathConstraint for a give expected path + + The expected path + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns true if the expected path and actual path match + + + + + Returns the string representation of this constraint + + + + + Transform the provided path to its canonical form so that it + may be more easily be compared with other paths. + + The original path + The path in canonical form + + + + Test whether one path in canonical form is under another. + + The first path - supposed to be the parent path + The second path - supposed to be the child path + Indicates whether case should be ignored + + + + + Modifies the current instance to be case-insensitve + and returns it. + + + + + Modifies the current instance to be case-sensitve + and returns it. + + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Writes the description to a MessageWriter + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation of the constraint. + + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the vaue + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. + + The writer on which the actual value is displayed + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two values are within a + specified range. + + + + + Initializes a new instance of the class. + + From. + To. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + Initializes a new instance of the class. + + The pattern. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + ResolvableConstraintExpression is used to represent a compound + constraint being constructed at a point where the last operator + may either terminate the expression or may have additional + qualifying constraints added to it. + + It is used, for example, for a Property element or for + an Exception element, either of which may be optionally + followed by constraints that apply to the property or + exception. + + + + + Create a new instance of ResolvableConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + Resolve the current expression to a Constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Appends an And Operator to the expression + + + + + Appends an Or operator to the expression. + + + + + ReusableConstraint wraps a constraint expression after + resolving it so that it can be reused consistently. + + + + + Construct a ReusableConstraint from a constraint expression + + The expression to be resolved and reused + + + + Converts a constraint to a ReusableConstraint + + The constraint to be converted + A ReusableConstraint + + + + Returns the string representation of the constraint. + + A string representing the constraint + + + + Resolves the ReusableConstraint by returning the constraint + that it originally wrapped. + + A resolved constraint + + + + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + + + + + Initializes a new instance of the class. + + The expected object. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Summary description for SamePathConstraint. + + + + + Initializes a new instance of the class. + + The expected path + + + + Test whether the constraint is satisfied by a given value + + The expected path + The actual path + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + SamePathOrUnderConstraint tests that one path is under another + + + + + Initializes a new instance of the class. + + The expected path + + + + Test whether the constraint is satisfied by a given value + + The expected path + The actual path + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + SubPathConstraint tests that the actual path is under the expected path + + + + + Initializes a new instance of the class. + + The expected path + + + + Test whether the constraint is satisfied by a given value + + The expected path + The actual path + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation of this constraint + + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Test whether the constraint is satisfied by a given delegate + + Delegate returning the value to be tested + True if no exception is thrown, otherwise false + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. Overridden in ThrowsNothingConstraint to write + information about the exception that was actually caught. + + The writer on which the actual value is displayed + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Constructs a linear tolerance of a specdified amount + + + + + Constructs a tolerance given an amount and ToleranceMode + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Returns an empty Tolerance object, equivalent to + specifying no tolerance. In most cases, it results + in an exact match but for floats and doubles a + default tolerance may be used. + + + + + Returns a zero Tolerance object, equivalent to + specifying an exact match. + + + + + Gets the ToleranceMode for the current Tolerance + + + + + Gets the value of the current Tolerance instance. + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a TimeSpan as the amount, using + the current amount as a number of clock ticks. + + + + + Returns true if the current tolerance is empty. + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + Check that all items are unique. + + + + + + + Write a description of this constraint to a MessageWriter + + + + + + XmlSerializableConstraint tests whether + an object is serializable in XML format. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Write the constraint description to a MessageWriter + + The writer on which the description is displayed + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + Returns the string representation of this constraint + + + + + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + + + + + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + + + + + PrefixOperator takes a single constraint and modifies + it's action in some way. + + + + + The ConstraintOperator class is used internally by a + ConstraintBuilder to represent an operator that + modifies or combines constraints. + + Constraint operators use left and right precedence + values to determine whether the top operator on the + stack should be reduced before pushing a new operator. + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + The syntax element preceding this operator + + + + + The syntax element folowing this operator + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Returns the constraint created by applying this + prefix to another constraint. + + + + + + + Constructs a CollectionOperator + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + + + + + Operator that requires both it's arguments to succeed + + + + + Abstract base class for all binary operators + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + + + + + Gets the left precedence of the operator + + + + + Gets the right precedence of the operator + + + + + Construct an AndOperator + + + + + Apply the operator to produce an AndConstraint + + + + + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + + + + + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + + + + + Construct an AttributeOperator for a particular Type + + The Type of attribute tested + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Negates the test of the constraint it wraps. + + + + + Constructs a new NotOperator + + + + + Returns a NotConstraint applied to its argument. + + + + + Operator that requires at least one of it's arguments to succeed + + + + + Construct an OrOperator + + + + + Apply the operator to produce an OrConstraint + + + + + Operator used to test for the presence of a named Property + on an object and optionally apply further tests to the + value of that property. + + + + + Constructs a PropOperator for a particular named property + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Gets the name of the property to which the operator applies + + + + + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifes the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + Thrown when an assertion failed. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Thrown when a test executes inconclusively. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + + + + + + + Compares two objects of a given Type for equality within a tolerance + + The first object to compare + The second object to compare + The tolerance to use in the comparison + + + + diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnit.2.6.4/license.txt b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnit.2.6.4/license.txt new file mode 100644 index 0000000..def2bb8 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnit.2.6.4/license.txt @@ -0,0 +1,15 @@ +Copyright 2002-2014 Charlie Poole +Copyright 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov +Copyright 2000-2002 Philip A. Craig + +This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment (see the following) in the product documentation is required. + +Portions Copyright 2002-2014 Charlie Poole or Copyright 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov or Copyright 2000-2002 Philip A. Craig + +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnitTestAdapter.1.2/lib/NUnit.VisualStudio.TestAdapter.dll b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnitTestAdapter.1.2/lib/NUnit.VisualStudio.TestAdapter.dll new file mode 100644 index 0000000000000000000000000000000000000000..efff3e1d0d97917097ca9a3c33ca7ddcf0999146 GIT binary patch literal 38912 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 j{f|nZ8x$ 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
wK-AjI;Rz{pSk7K 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 literal 0 HcmV?d00001 diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnitTestAdapter.1.2/lib/nunit.core.interfaces.dll b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnitTestAdapter.1.2/lib/nunit.core.interfaces.dll new file mode 100644 index 0000000000000000000000000000000000000000..4053b0ddac1462ba0c8fbba9855ef309fa44bfd6 GIT binary patch literal 61440 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 literal 0 HcmV?d00001 diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnitTestAdapter.1.2/lib/nunit.util.dll b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.Tests/Resources/NUnitTestAdapter.1.2/lib/nunit.util.dll new file mode 100644 index 0000000000000000000000000000000000000000..122eff440fdcdaa9d024314ef07ff0d6628bf07c GIT binary patch literal 135168 zcmeFad7NEEnKxd2&h2y8PWtxk+}l~ZlaS`5Z+B;53r!LdWZz^bEJi}oKp^DAb2}_) zZW~lk5fC@jCZzxmdg`gCo_cCIr<{MAag8x4{JrpkG56!ie{1A--#c?oKkKs1wVrKZaA~;V%ASoIwr&kZdM+OB3AbAiU`@ zTQAmC=xhKX%SD4>E!>DGrA_N*o&#*+-x@GvFdW_z08nTJ&58@p#6Q3tl?cB0`XUEj zs!2+PHl^Ue)@z_l?@?4?FFwU)^$M;mg06{^!ACe)aho%fI%DjSmbh z{_Da=4tnoz=M6tr`sfW0ANQKkHx&oI^vu1#Y5)9>4?X48=l%RQn~q$6QE&G>x8JeD zUHRAW@ZVhiaLej9f923uUjL8tuDtQF)U!e6s@rzo^WMLG@QNMF7C*86lOOHB`MqzS z(faIDn+{#Q@RX}>IiRJq)G-4f5Va~AXB3ZA=kqP)=UejWfuiI1(~Zgbm}lqeOj3Yc z)p&h_PT7Ye#6#Xb{FRob%qBcBgDyIL5gG9A)&Y@nY8}iE4k15(#{iV7l@J+p5>R8E zQ33}uk}-r1QSi1!xuDDhFR1Wg`btY%WbTeUq?=iVtl6l~1)u}22@v6o;+YD%kf%_c zn+ay(Wdx_DoLAFpPD*@!^sC*!j++kvm8lq!-Jh{_aG!5pNTCrvqD zH74C>TEG*>Of%KP4Gr%r;8Td+A^vK!R=}%}U8EZQ!Tl zbFx}?Yq1q&OJt_l8kO!9swUH?Wp|pzs|=`O*(uWoE}<>R3p`Q-c`Y0`sx6fgunql^ zpyej2N?x_6=q2b%2R)#O1tZ5m%B!r)A)Snoh#!p4EqY2{x|oi@GR1U6U%BAj0+L$V zl66NZi}z7VTQ;+(vaX;-?@ku??fthcRxDOEMa6y>r7tltf>6$t^PL4Z=mlJV*$ocFQ$vA|SI8opDqGAB6ph9g+|FPzk_^JA zOfE!VTL1whut3f-PNfc+OCNt6J`1fnXEsk*s3jM zA{^=mm;qnep}IGnpI%p47odEvl*-nY5EBH$4VDt|GW-~ZmNRrv6grrpL!!{33>_AQ zSoNkF1uGaMB<8D&ig}^00bzxFP%)0Es}7QQw7x*6FMj4Waj{{z|)AFp?5$3!V91%w=asU zJRQT96d_U)2eKKZGLnG~)Lq(d6^KK{($$Pte%`^;6rq3Cg3S<7a|PN9JT`aZDFV*s z!{0Y;+Cd0J@w1n@<{rdDXd^v=GNI_JmMF-@Hq{@&YLprri64Irf08m!S=M~VT9#M^ z3)xR9*tN)LRIQ?nUyWB(t+r(~b2=L}lG7=D*Aj7c%o&J))w5@s`6C8hkh;z_=iv#~ z7bj@5wraUq$GX8$09=<#DA@7+Qm}Ek?WXt8NXL3+E_j(2-lg5ii4%sNdb`%DTKwlPu4t zO8H`b;CrfWq*V$|DuC{Fmc0l%O zCm>Wikx{MAXe;2@9a!iNh*M)2D;28C(7EDPE_o^R%^u_nuqYsXh?&}oo|9^wmI_Wr zq(KJhAxwD~-J_u0qpjEmL6AZ+#kN=$$V9KyYO0Wf=8{+JN6DSV)~M`LNY$wm3Hajw zM1bWC#j_?s$13eC*VrxAOeid6wS@g`T$gGSxe>X?1 zZn0y|RV^nxsPCnvtzvJX@z4jYbf`GBwnQqyshtkoInNa)Vx1=^HWqD+>mi$M2^p+3 zG6kT++kP?HTw0Qpiqz5iX{*j_>KnnCh)f4(;Ws!NKfQ@Q^7#K*A6aS!*GGNC5xaOA z=}VTLua?pcp@Hpn4vI8s5sN~Gsv#{hA*ulp4b@<6ooQzNlBoahZyD$Qugh3%+t>}( z5l5f?ue#@-!GEhiZ8yoMhtT`*FTw6YbzZYBgpJ7F0X^9Ivv&eER*O&ULoKQ*mc|qr z+eZm%y?6msqZRu7DnUfq37{A}6=yN#)n@88{U<5UDRuoH)At5%&KKS^!WT>kUpOKB zvI*h!5~d9Xxi#qZMbjxJyx7v{YOt;+$;3_UQA4;P`I*ES-w!)8ncn-DU67sFV?V3=}!X#3pA0${2$ zoJhE&IRSGu$Mm2KOv^~erAXdG3jE9P7HlST3#2`!`GANXcOUeq8o|8GF);oNW_KK) zs|$?d`9R>gk)??~kU`w#CwTXO04A0ar9*uq0C9#)kS%1p&&r1&!ZQ zCu)rF5&`D5)FFPDKdiVPCD@#=M@}_9^67HQ3$`Ki?sV`960Nj(HntWr$r&XMuU1P0 zc3Hq(!3bi5?V4BM8cA0%34<}wYEpMsa7{AoJntQaD%P$g7jR1;R%OYNhs9-1K`}#2T@mC3J@mjX8k^G^b zv5iQunwt;_2^Gq1)%Hww7e-elE?ZfLDd?@6MgE@Fc21eQ!Dzvu?ev32JNcL`culBb zzBO8laykK=1~XaqDI^uj4Mqtj;KF6TF*zGkxdm!N}%_Ruvc8PIh@Jl$((s z?ITY>xOHfalvA!lX{JCU_0!>?305;{Ld%gRH6P|;a_*lD{QVh+HoRAD9lHhS>V&eu zRwW6Z%YkQ(;PGMOdpTzmS~V5kf?D~vA|J5Q0|v*^F_l~9LDkUZRQ7fkQ?)lDnL1X> z>rFd?A-E0E6!-?7LBs&b<7x3uQO~8!XHhPUU(oNLm?-y6QMvsyEQYs5F`$HVU%J6k zUR!mCB?tZnlG9pylaO<;ExBN+vgp&9P!N%n0oSW~UhU0z4c>yEm{=)XAfV`l{5Vfk z^4;mSs-Y22J#snf0G6-~nxR1|#+sNjN`n-buMSz@cd}kAOo7p%rP+G5)p9oE<*Ql8 zKM5R?aZAfZ(7-bom0No&u;i+37$@2A!P{6TeGl)5O5xZgMBW|6ph_U}+ZHk9{6XOD z(Ka~+h=Ai%Je0ly^a=B?0LPH<(l}ue>A3ijE-;$q^B9q6MW@cu7(f>?~G78p7si@oid620|O2i zg#WA49Hq?CrN|P6E$OlqP_lLbv;Qvqz~hB({;+Lp^by53DZf-ex)jSrm!s`~qNT1J zO%`XeZ-Eh`Txt}eJ|_`p_?J5y%3ehLpR6Of-yDJY;B}^Ie6!fBpDWd0wC6v-LH`a= zxsx32I|}@T)sS-C;7&wBM{q6(bI`!vqqp!qh*kA@mJNwhtx%nB=OG)w)tu+w1vs>a zwZTrO6vPvSAMJfA66wv^X32?aH?#cpD1RZ#hpl`DQMtk0G5+Ha+KrHKDXpx z{+-!W^e^{SwAI-Q&4OdJY|a_L76Z$OeT0k&-ixB7kq$LZ?R^N;8QphkB4G6`^{cKO zIGP{Bp!$7bBDi&iL?#pl`kZCJ6iC1@lz_2#Fzh8@7^1F!KWOP&?~Hu_&+a866t4er z)*d6o!%+Ir@>n8)uFTc(lS+&V&^;-~N%?4JuMWoP*r0U5Oe9^*VP(^ig$VEk@qU0T zTmxV(v^Qm)i#F6RnqT2YS%l5sYVHF`z06Nf^$MsNj!o%ZoM?E344jX^B*ME4@f|Ih z;0h!}aUMJd0S^jYa)v}0=asnP|Ql; zbjDzilb|A^XUwnwxWte)bRq0Wj1|z>?3++6=0MWliFpT zib-W1*_svpGX8624Cz>LV)?FtP(eq51YH))dEK4C$AAcUOQ~|HwYrAh^j!t0l$Rjd zZ7RkqdIPCU+xVc9aRX2(f)ho~#5w}XMv=vo6wZWCb)scC7_)5JLm&fun^aHl*3BxL zut7?|Yb%?kGX!=`s?(Y!(3vU2We{LR6F^8(C+=$Hj|fYv4nTRQqou*H+V`T`d#;CylXg)4vMPnj&5UhZ0d_@T8zzID zjZQn=O)WaHvTji+eO58OtJ>nVWt^;H_CF5v!6)!zvf?seWA#tRQU--xo0ID}EU^{s zF@8B#{>FzjbMQ%pk<=L)=LwdI|0yK3RXe9D+)PzE(M~httxy)@n9ic*!O_;fwH!q8 zk4!omKgZy&74JQWqD{C4@BPw-r*+9V2aCFU=#F%yd(|E3;L{)?=T)LE>r^W#_cSP# z0BR|By6c`+_QXOsU3?6XdHPYQ1Fd4gnAT|(i8|Cbpx7Lm-|9Ejd$7o&JT~4D=cU_- z@5elYIK}rKY0e?zaBl7Sp8+*uqqmxyQNJb3SNkk!*ItoN+g<^KhuU=@)s6L)?j>y| zQ_7aH5VsP!irHdrS1E-aH&L3|2O@cn8;VSPWEk9|i6!)%3!Nsz{-HR+rlXmo*BUF9j}~obX#oz*y{GCvR}FiC%sS5FI3Z`6~J1 zjP`)Bso)$EnhJ@zd^7rptv=sqNyG!sbnJxq8Zyc#6mU!Dbf6YG4|KPu@Y?yj zi{Y%--43ofZQ1^OHuybgNsD=dl!D`?{5oQy)ql3dDL``YMEYE%&)qkDG(KYb7$ALO zY{05K7Zt3tu8u#3A~`l07dj5ARQ@H*IPeq(UJbRZFW~Dae_j6(L_{t(jakDO^d35V z7}M~xF=Tydngp-Xn^0`h<(9JUG{_Um;BV|s(*WosW=VhEdo#1Yk|pkBymk_nquwd$ zBn(#6OBRPM8LThmj8Bn4MI5{y$S|#f3S~LgRb$g`VnN8je9*(md}a0NIHLz37gU2f zV;OKp$-m$=!elzT8EKu}aJe{jhQ-;X2{06MBaH;g01|9jsv3d35}pLnbi!iRG2U2c^7!i!#){9l<;F z!&!LFd(l-fSq^rweH4iN>HrKn1jnvLWI*sw$S-P$+DxM!MHKnVx!Df^e+c1qFOr*2 zhcBS);5&eUom9}EXy?2|5PTPDx)&o=T?h?66JfCs3Ym29Jp|BkkvHRIqP-Kcf`_Q@ zkIycqbXgbU7r0EY#)Agyt%<|2m%b+A~ zHH$x|@0=+MH&Vf!z$Wq;>F+~@ANP{QoD3mR|Boh#%oj}($1yWo%y795j`9JCjZ&#p z_W*kxvklD9YH2EiD&8CW(j09o0!U%!H0P-Za$qKH=s$K%Xq51x8FYlvzJd;5V0ocQYR<};1n%>_% zu?QMPOy@iYz5WWhj`2#sR_LLK;3UMrp!;1>-ChlFdn> zf^~p=<}U{@_q{}p23-z)+?p?d@lZcljz*fQ!x zB}dK2wkrUy)u$9VDN_6r4B7e)0mjM~V+SgZ$_;rJx+!QhXrNpb9##>jHBHgB5);az zs7ng<R#-=KlaCXkW11q@szV7%? zskt%Op(z;%Vm>-z!L5?KKAS*c*aVmoJc5Vkvui|lTZ%pw+r}zrZbHzesGiJQwrO7{|_@ zeQr)AO{_1W#dCxVcF>x7H>=cp4*S|h)BAeeM(1D@{>T^fo&JOmxW=p@541njz>{3A z6Zz?ApG-$w7^?NDN!Z15CP!xtiyoTah#FlQ654y)w(zfcU>R*TJwmf*-b z#S~}K=)~d77(h)20hsITL2uW|XtCA*C2-v%5nt0x2gR8%Ux2_ynU=?yJk2B#Fz`H7 z`cklB5;y-#D}7Ro5VBBv4uFM>7skW~|49^xIXi+2{>B(DydsJyWir?z_PoYo51sOm z8&cKk6cQH{?KV#dcF}RehtLTH?;B}SnDsV>ao_88NaO8JU^>cFyVv1h<$zk z0%-qf{NVjJ`gjHp?FOYb6aIy8Z33tLL{?w5v&gIeTfk55LS~$5@pniwT(UN6H?h6h zVX?-BzKh`w28%Iogy1CO4@Nv}7+99g@fRX~CE|M!k3J-LZbIC<@P{JgAN9ftgx50J z4wU}4z$YCebyWU6tM{+?fzK=WH)i%kHw4e}-75Jj@LpaD@A7@ft;SYTcTkZ%#UefF z{*$w+%bwb?L;JPke*w_JAEb;au!<%HECpXnjbNkBO=Lw?459&|^sfRhRGJ`|qrKYk z8L88M6q}1cF(xKK*_UOY^wd$(0QCZNL~>O}1|46#74U*k^Up-u2nW7A>Q9BI_4h*d z<+KciT4Gv+6f4H$V#bGR)6r+T)-$6})%oe*FGymSvK%89G%`X2Z2`w`e-Q@t19)vT zhMch=m#HAq0pX%NFW|k>aCvm9&PWIUh+(Q=7&S&ZAneW3+Z$X+2M)S%L{>#LfJTbv zOUuDvE;gl%!RhKs_|Sww8z87K(mWXfA`Y=1D_5Y0pN#2<_>H`?!CYa(=P*iI+W`74 zqJpXpWO5rwoT+h8WN5u^gtx=-KJ$6OABiWSAux!g`l9{qSEG}i0txsUo@i_N$9{Jv zWZ*;i`+Fk(SkAFNiP}J3zRO47pxCE7VQ{7T`XZN1Jom^05A*=`s$j;iCLgw|?PNgw z0M{Y?s5l+Mjk#&Z7)-3(*uj7a{vB_H>IE9J3^A49&xp#gtrYqQ(?}HXoQ5$fr6`ox z)dEMtAjwWu$P2%Nj$@5`bVcb;w5)-v~v>u!@rMZfqK8kg~bqsM~ zutHDD<*|Cyp3dyTdT;PoRw{#YKAAKZcu?i10flZNP_qcdU4B9t!2d?@X80%js8`>E zGLB7@Axm7dxWtunJ!JfEWDNe!+>=+cequ|MJTH|z$RW+(dfJ*MozZ46;~lZEr(;_<<9wJeK;Pf)HF>`6KQ8KEiKDYvTRcTU*AEp z@54`9#>X(vlSKM#btFw!WqoMATn%F_jD4;Faur0@kV}~|&b)M^Ik6mu^}+P6Mww2v z1nUNi0^F^ivBxBS#GU(;F^)#08mAG$#bA-HBM5w!2)(ft;4`%*4pznKSepStSZ#JC zk{Et~(FQu$dI=(=jqJTB67)6|DWvYBNTg?X*`^`NhrVQ>L zFYT$zXSArxLd6}B!Lh?p8@$j0%+*r(;VF|#IiW&_i5z*<>HQ}aTg4lw^M!VVSbq%_ zssqS@vj{m;T^zlo?czU-?SX=quAH|hZ$S`P2bqKVijJxf<|YkQmQ}TlE6WymHtM_v zHL`3KnWi)|nRR*tP>6UX8_CBiSk9Yjld=!r8`duEo-J2=U!v0;|7Q?3SAKmMqh7S; ztrK_h6E>eYLHH?9?O2m%p7s_c+HN9%l#3Y!m6d`*dpQ>z>{x)|CW#rAv*X%T%BBRH z^#IqaoJYrQP8w~n9lawCiJ`44)zqa>4(3FmEoWR&SdhuoE_S)cfFL(n={%(ahV=cW zedfPpT>mM&M)h~N4$iy0p!?~7K))Zu%sVHZUW_JLhtmhREwUbG7V)~1YeM8Z znfVl+9efPa%$#)Rby~UZ3x!L-(+9mS)x$Gp1GURfRynJ(dThg z5ba?V8+kJw81qP@ zp=~kNn6u0$pwnqwNci_rn`V?&7E%Td#yooF4qGPi{K3MJ>Z9|HTXPIQV?wK{m37wbDG zNpkA<2*AXt%b>!c$lf8z64NlECVjaHI^G2cqUQe zg9-~d5|#GX@Mj@@?ABkQEm(^PEE6gnV&6D&SDoVayM(-`ZYbgqTg2&P<^jx%mSLrW znFNhDIA971&oL8F2jJz{&Ye>2hniN{N08wy+{KIy$}S!0XtQFr;f@M zF^F8TpHQx~?xT!%quC0o-cAHk991h(0yfe+HV5B>$5~d|G*&LfgT5zO=)zGQS%@>Cj^KI|jc}Ap_27-<(=Kr|Q8@)25QT&;?P&1&7~s(ASjLb} zxGP};3SXFxBQU}jJ{g9RQ9f~2ndE1q4Sg8Plk3OK&Gl28Uds}maHlx)qAYnx_iT;G^HIKnASrN75I`@oCBt!p-;uZU!5i0FAl$ghkK1C&#+edR}V37d;*S&uqeyj`~^=wv|7U>Q>#-+C8-rQ+!|0~}p6UXR?{>U~x70dT$r zvT;Q+D>~glob0C8a9$OvR%gu z9t>cp52{MQ`8)#tY^YAv3FzVq^e}-8w+n40xfD^Dg4|)NWmNDyQ`%b2$GK{? z&IO?MPTCEg!bckkJ-`TIf7f` z9Z3()5F?c3H*|sJ!5r{Wt1t9{Hrozbf8FaJ@rN_scwLrNMLR*iuQ93Z!bYvXZ7yB8 zvMl)m+iVb2q0Nv3ZN}`Cz_yu`jnO!g0gD?NzaKK7pbwF&dah7iZ%Cbp2M(dRGR~{1 zHqX8<=Qg5l8@L2EoF+J_`iY>zX|2O#j^sr3iYsk2%H$?}W8(=g@nPhFg0R6xg?8yd zF?FaV;7c9{lEjovpgcC|U8XjbbB>lzJaIft6g!R+p3C=q`twmDREC9fOiu%j`GW;W z7qa9{CO#Hc<=v68d>A9%800P`yZs#YFrBaZ3xPm#a34yF^DB5kK#C*a!2wK$_OW}g z7s2tT+d5&E>sHU&B7oFjfzg6Q7aK>PtHE~T1cVkO3@#W}JiXR^nA%?py8CyM7WN{) z7rE{BX&#%siPh^{aj$&UrK9BN0`Er8` z*npgfyOzvl^3_@PSSx9oP`{j~yi|%YGUi5lBK?9Li$Xx)3*Fe-w-_%} zS2qJr)D?PHV!z4xf@_qK!hQ07E6TWl@ox8E(1-ldaU68>>5jm<;xH>zkF!DB80r)= z);Zac#>7<{N5QdIe7xNzHvC}RXDxfhRe!HA^UhJEKQ&GRO_k>W~J~btC9{8R<&p zyzSQ`4|W+s?SMla-aQNtxHNHPi76NH5&M?K*8`}Cc2Av-)s;~h<+SWpwr<6Y3qOg> zV=W+PrhgF_8s5bQ&FjsKTEnkOSvj=PzOLY`K`E%EsGFDoL)pgc1C_!5T2&nzu@#y1 zR?jjtO}Pfq&DBpw9F^T5xq-oudWKy~^p?K_u>oSVHxqXOX-J1W)z(IZ(=GxYoF| zKJWoG%m<+Pfb!u3dV>$BiIlU@;xTpfRE$olYD^!?xX7jf_WwZ{XprL|Q6htmxfW%i zyyE|xvW%Npm(XG-tV=+3$lA!OT8!Bs?K=t;Vdr!(NM^xU3ywew))|d=Z0XMl&v52# z6=mRVHh+5P-^er^Pb9~1JdqDKSPg(e=9mnUF2>(Z{N07W+wj+lKa6->kdeO?@4^f6 zv*nOq8gS7l8y6uyR@|fjY-mJDdp7}8w;(&)AE_b+&8ep%mGXd85sT*3rAVbAY|~6fdQsbr9HHfJ{RK_-8k@uBX^JOfr-~>0 zr-~Y^JCERsqiGIUVH5o7DsqEJFnMHaC`={OSp;+>!bpU z+pny)uXbz9mz#5^8@caaI74M{|v^A}i~yGqmIRN)<3pE?toiNw_zN_tyN&1@GZG( z8idV8D=>cOT%2^oN_?Acvc|reMuut85K+xb;|1tiU|6>32`ZA)n}lHm*<)g7aN$1*=T9Y zu9fCnuDGhDlTGB9XU!+>)cdl|+2c2l;1sLa-F}W!;~-Usp-`V#l(7CusHN>9GM9N2$Tw*pV>+)e;Ipw08-gYa z8bkL051M$OJPpLt4L5MR-f>1WJGaShNX+maM$y8Dxl}N-wju7Ub4hZ_rNu}k7 zk2PYn(&T$Yrkj_pZ_uz9G(eA2pG}~FK_A;ca3m~=1n^py>88C~@xX5sz-Py;4l-V( zBb@f0DXsy&7jc)coElDsVuBQY7|r8~6a;6JQr%AEM1lK|96pR6ji}+EQ!c*;mP?CR znZdaThmSLT9p3chC|0Kjuq-dv1BS=uk#-)^+A`rKc$aO8SQE#hb!Tus;*F_YfJdnn zw_v7g7xLA^8ZZC>WgELtVgXs2&M8rl{-^}&|h_QNBI zL6dSVdEjKzjrBg9pvRjF^GOD+y;^}YN_{N7G?aGGo6!kSrx{_ zUNC(LMza{KY!hR8Oy|L7eh-#L5G zh)GMH)Wmu~=RPZdcQf&hL3$hJ+C2XSY$V=uT$De+=aak<26qxpfaCF!I4&0)kcvq- zzr+agF6W)z%dR?V%T25ffk#DqrVvkgF6Y= z44kW_QPW0(6%)vjV_45C1wS}83IF_N{0#0S+!%ji8i@lw2G9tOO~QfHWIY+&NjL#+ z!Vw4#aBLC|a3P6Y%qBGH#t37&5ZnJq+ioGcZDY0rbjfkRSJY zO)Ae$j9zB_Ys<{^HOBK0jLNC)vz!|yl*4eMoQt3*_OqOkeU@|mgmM^8lmor>Kb1rN zu0%bz@4cJ_-u4a6<%}@Q%@D#i%YT=CcXQR=@eFy}^AqqeoUhKuu#NV|Dgj$Tw|S39 z($sA+`{bxCQgYtu>M6>EGbxoSR8RD_9}$;{xU4tAFs^Pjd-$U6kc-Kubf>=&PbDIN z9g}PyP)wQA(q~C8E=Wn6=(eQ`RM7j&DG~Vo zX)5R`5%f2-L^+beJK2!2L*sYD!-MwYyU>LkWcY`?xTNx&e!<7}SYKr&T zBgcsW1Wi(CUCX6#`mw=?4Q@a$8 zyutEK#=i}UK>*rtB=a)F2MebZL%GnB8SnLo2GPp?ly;< zWxO7+gf_%0LBqAAVcsoddt0^~-iKj-ceWBfDbKF3x4`hsaJ@Wdg*VA_c6gsW=Y-G5 zb8c8}BOEuPbz{*A7rbDC2EN8O$)qX;s3PtmOXC_3z10PmILZ=Kq?Z53JvBR2b}$5} ze&u|&rNx+0iPzmHV*yg9-dcmkU{+-o8WZbxpc2;u{s1CdXOc4tRonnTRWu7Hnz=gD z6e8GyFs;rao-sadl@XZWN<=5N$|y~zfkk?CGd3$J-T+&3a=SB?h7VQ@(%l(*bDrRb z+X>B>8=u{46wwEPCTg1vtmaLX$MlWu6`5w-d-@yq zhWM7fCEU8VguSA=O>#u*jdkr;th2RSn${u7gr@j0g(p{<;-OEd+ev3rysPo7cvE~@ z<4Jx~{7#K0^-b|m<-||oC7!0*n-Q?L1T3Yg#;}-bnjofHbHZCDVjEK z(Sn5?e)bet*sbSG24~-$3-CJ|g$f$>(0R>hB%TuAU6_oAa^2n56n`-*Md|IHHU%Pf z=Ol#J_JsJmsyscq6!3z#CzV>@-w`_()%zzkvL&)_7Jsjt9AMuMczKPCxq|+Qdr3`hOtDYo;(dY!6x*@{hcSiXEA zipPx0tuq9Hjq30k&HKeB7>4>@WybEsGhB~pgKk7|M#&;K70jX>Qa`(OktvN2W;dcm z#%%N)iQWq6;97`H{XQVEr~-T{$a*^jbue#2xO+mlN5Z%yNN_u&#N`I_C053hv%%*Z zSf^C5gEBfD{0&C&mQVN3ONXyRWz-QeJstiq4y14vf4=6}-outi;`bDPRlPDw=K?KJ z_di^QGIz2}W!S9g(X7yt86MA=JhR}&St_V!@b15i5oUY|HunglF9MX^+=I(V8XT1D zUeKoCb}fp<^&V!HkXo);+zJ|QY|wBUaJh-8qNT)DD%=`sfmMs(8+e5G33VU~gh|9h zjfisa5J0$()>2!|C#X&90*8}MQ0t}>l&W6j7XnV)V5&;1CwJe!mb6+_dr)3Hvv)C{ z$JX~$wKZ&Shf^e)%UfX*E(#Of0QVt!IjR~s?>cZ@EARS3B`nQT5#0lf|1;6*>uE8Y zFISoeA-bLZdE`HQPp<4|5?)*Sj|bN1ZheYJqP;Dpzb2&(CN7DXxHozPLlYw-nhqao zv^n~&c^&zPYx`M%iqV~*#+%&qUNDUnaQxMHsDm6g)n6oWcAyXzd%<+Znen)#zqS{q z;m~8dg2pmA&m4ZP@{D7`640kQ$X}&}!oWkJ7fPY7j!xQkL{q zqch6kE-f3{bRd<~wD^&5d15^|oa#8LJ1NS=GX`wu+lvV8k* zDV_%+?p*xM$KM-KE|a48YasUrBiv(k{2sj9{vLPYp$8BdH6X~Fx?^Z;)FH4WJ}g=1x{L`MQ6)(kKnlJ$U}aQHE3Y4o z^Gb-98*MCt6{QHrt14*-eP_b3dayKpZJRRR(+4U|kJCI-nGdrr1sq4U|VCawx8Rq6j+g*gRVn4YXd&m7X z$N*u(%10J^j-c04)e|9c8;Qpm{Sw0cGjt%h85qjZmO3arWWhy|Y$Oy;Kxg#J@{7)! z(vLqh`*f4W zD<1$n&==*veZZSgQte%gKeQ3gZ}UPO={oD$smfm-mARMln=l_{v1yyGhy1}lXPY*L z(-ekNep_oX`6yz86OYmd3!RYluphrFLpNU!xm6WlAwq%Jg@^Dm!y9LLm2bPl8cz6vtQ}`qqBuIKIYO=CqiT z>wXb+5$KtZbM~yjNSrv{!1)&2+Lg0El(mMBNOz`Jh+n3w4*?caS8Q_6)xVoGd*tYvKcX7=zIk_^)$S7%UGx1exxAj*{(cv}Q@t6bX_#^(+WK9vL&i{{#7wTrY``#Rm3N|Jab;EyC=8-?8v!cFKG0F8xfG* zAnX&mZ%6TsJ`C#V-{I4LBP1{K@2uzkI&Aer$8_XM_xe`>(zrXgU3tSu@q6rUG@@QR z{B@)_wc9{w9TQu4yLRGLOf!)cw7c@a86~8cu!0Ejk$=R}$aG1H;$f??U5M7kI|e2Y zk0-F7zZSKXFE!u*6t|mTrT%43@D$oS>;pUO@_v+blwO(&N5I#BPrnf|PrebtdrStA z3*!#a;PWFeP?KK(LG0t)2EZLCmR7po0NX3_ZYZR zYA?3qy?uR?6_2DZx0_$ih2a=enxV%9?E!N`Y6A3n|8uO&m$ z3_ceH{actVQ%v*9qweeEn4o;k8hbIwxq*MA1}Wv@wBQYhD;7Z0W1uO(t{m*%mM(;}TakwLE9s;U^@=XXE9qAL z&SGa&t4y&on)g-P953r%kG#FSPScFflnXPb)5>FYi_`rZ1TiKW*wT{@-h@K+hD+Fq zo237nze7Sk1Tn$aL7L`g*CHOi3iBiUrSKlj&!YIBAbtkodmuh|mGfAfv;7f&C`A5I zH!j25OQpX-pS=p?@O&wae14mCCY9W)Cq&v0At4|AO-F#XH#2`KTnSE#07RGP$t760 z`YX4h3@FD7Uk3~qd*}O-p_Yxf`Rr-_)ru8A(#jWmT76dA&uiyz6ygtE>Dw? zy*HBmM=!XAm=4{=3TCxG6{?p-Umah|&V*g;#Z;m*wKDkKh?CHK|Qzw?erGmYw%{&j2|rK z&h}q}%<#|n3EoO!Nre~Apt5LX#wR(nO0C5t`T}EMi)=(IjovLblN)ZJkh9=}4Ku@5Qb&6D=nMl+w8G zEqDiL2yX`k(Pb|}cI%2$0o_Sm7QB-Xp8`a%3vc!gUP2AQo(IY-mtt|ZS}_-Xolv?f zP1N(imAG#$d?tz&-wAXfsXhZK#XK&sx)1c&E7;I|%iTS96gw;32jVw)H}OIbh0hYh zcK{f%wN%WMaTezth?=XPnkr>TOFG0pttMs`I-v%+c~45sLIBBi#PP&%gbti&!@+=; z726V#siJ2!Xawd|k8q1^qL_FaZ&u%?7c(l8&_^nh)0us!`Gs^6-{Z&Ce48XK~E&`wQo8jAGmD;;V zxX!x)FmERefG!1)d~l;sU1&eMD8OF8TiD~v3TSxYj)kgz01}}ejL*vGprnT|5tZ-~ z@v{ad-XHE@``)r6)lUT9gC*>2l-w)(SV<2={r{96d?|B(>49TxFZ5u6d@Bg)!|5>W zugKNEooEZwchwZJ*ku1!um&ddUQ*wtsi^5FvAMxrK&%UA8opb?{K^OS2;@@SS&;MJ z&TQOs=+>~KAeZvrArZ$$XgX5?7WRSY#)hnv{ojN5+WQe-`v89G|AYcf-*^mB`ygYX zS}=X9Kgx$Q%8=&6fZvo4?Z9~v=r!+Td$_e@F!O-TOSJapX$_Qv4;=aIo8CZdGlqckf|C$k=y3dx0z*^sm?Y!G+SJLo{1~~R$)`@f zQ<8C1YwF~CB^iFPsgu7c$vA*Eb@CIEeEQy!pONI#CMAn69xE@xw!Z=>9XfL{IDKql z)w>Xz4i`*F^Y5TcIR3juG+gK)^dkLdaUP5uO`JcKDDEYCxVW0xyOl{FpDIc3(xwh# z8Go5j#+xUW@nItR1QC6bKcAWkW%zXh^-P&G&ZJLIne^v4={}_2{17aQ$rbVDA-{M- z{*aKlX^j00u_j}E#(s8U>~h9_ZbGc(!X@aE{=0#o z+rsU(&-e1F2l;cJ9OOR~&>ZceKZXm5zv@XS?tRQwUAqt83J)4&011N~kQH^#V3@Vh ziU1`aiArIBx6$txvPAqEZOkzNV~K%7kUBV#YTxe%jwt@~`c5U%4?(6*L82nBGy<}e$P+o(ZW<2LH3m_I6j8_iSnj^y(UK7s(32f5c` z-gq0YA7LA`nv0;b-Yq(-ajOEV4X5ex7G-!M+PJA}T!aYA;V+Y@q?k})>BS8iZK{0{ zp35iVQP>A!6yW-U2!Jgp9v|G1&ORoEF}|ss+a>xTMCUtN{I5(*{-7kUM)b{Souufy z0W)b8H%Fv>R=^+L8#XExy@3MiHvBq({jUPn{~CUpsCrWHJc8)94mY8fb?yJF;Q4|C zuit~V>hH3gWWX*<#h*zUf+ZFSR`{>Lt<3;FtzyZNWdQjK)m6z)P)D_Lx}zMHmpYmx znoDK5@pSxUyCF+=B=?aJpj8b%d*=)(O58aU zUHi;vtdCIUZL8RGK^vR+yU{N1q z?-LanZDZ+rmrp*# zdUFDCLq+pL=x0VUQ>aECLWj)AJt#8x#NS}w$A{3HnW8e@Zx)=|knugB2mQ`|qtt&0 zg*w4EDYM_gPforB$h&V2$5$}k(w6P+S<;#9&JGr`-MPVZw!6(9ceD3!n{-Bx!5;xU zy>P_x@_s#}#e2HHh*^3Ug(+Pv+iy+CSv!7fqL}JF@(#|_McN4cvq@i(U@Ydz(ace( zl^-woHc9>`{P4rV_^zu2aZpJ#iiDio4jr;cz#2?*)${Q*=2O{7_DHsdCNr z(%yNPxMLQTQ*ldot>Y>crYO1RQv!+$rV7>1z=LJ4ro-(Hlr-GY&FQ}8f?G}_HQ0x{ z0xSN9DQB2ET4-k9>-J3kaH}_-jGjGW<=$ zdk=#2H?BnZZfyfLj4Zz8!>_Xf-$rxnP#){&7d`(+tUuQS@ga=I@eY?Rn?Pq-{|fkg z+D@O+;lcCaT3d;q;KzV8>2Mw2p9K)!`DL!iMp?v01RA}dAO5tRgvTH!U5V}-`(2w2 zpt%jojv2D@u}`)IRF#l)2+*=QqarvOWOcMpOAEmr*O(fltc^|?B9PwektBT+wI2;T1|zfljSTc5-{YY!ZSc=o}Mq5ohE zq&uQ%`v1f}-4S;BuexEH=^u*rtT^Ukl>6SvqPkAYQje$FBU)){4d>?@*A z2#m#i-sdtGKF#635>Kwr+Pkh?xqtPZ1`K!%vmBoj@E-(Zu6l@O(dYy0tw}e5B3*nZ z%C8V5JVp;m2Ky;>)WMZ+W4)ia9a%%O8*iN&e9utBRD;oe)#$E*l=&Pg@_~tY^b?7B zN8Ba_du@NIR4kS8Rrq45(%p~WHtTJbXn0!@y#T+ZRQMd|Ew$FbVqBAwk#oJmJ|w}xj6U6H)eav6#Hy@NTqsT}7pF%M>0%p5D^o*-|RF8t=_{XdS^il$&?8qz@xk18{+RU0V86IAI+ir$_0Fur0NocegYR;C6Wy?(1 z80E;upq|}~UM8yu4Z4TEk1y24(pu`UU;ZJ=#@(F74tzWAVCjn{4e5eKXU@kn8h0pg z7}^Y6%?ADgIX8l!taJSm&kydO++&SM|dHi#${Mh%QRl@^Nl3k8i z2!XWslcs~G08(l#m%J6A73?T_yD-Ju1D}73?7Arj9|8ESo9*Y_z|4W`Os4h=WP_#n z1E9_ZzeFJT6@J*q2+^x$9*i>Wooi4pQVNipDWVzTXZ$BcG9CA=+Y!dl3Qs19U}?ec$r zEkwuv#@Iidbm-WR&y0(y#Jbzd>U3Y;tHGC#5pL{pBx#pJ^)}lf`5`ozY%vM0K?Ce0 zi~#CqI0nIVNEYB1`_G_CU9xb6t0cnILLM`zgq`yApMt)W%+=|V-Ty71B|^)M_}yxj zyN35eVBh2K0D_g{gMq>SJ>F$PsJlA;6+z5w(Vn^f4t+K*!W+Of_<4<#nGW8eJ97n> z`w??(F1ILRa={BDxyxqYT9fH-&rJH}7?W_N^9ZwM``fcq0u0GnlyqTsFB3Vjqfp1W0DiQj=n4!uFQ} ztdf5tue?mZn;meo)if^jqsk4QRTeJAJ9PtVJ1t|2#U2c70K`l>_=7-&-1%4uo*MZO3F<`0%FFXpZr!e8Ecy)sXtQQqP$&{@)oapgt1g|3iYZy)?WH zIOAQ(!o>x}f+ju5q?<9{vRgmp?Rn&dHml*`|Cnqh<2#ClaKQl(b1J#u1%dzxOmCQ2 z30NFzX+a#ficT+1gNfxJ1jtf5JQeM@e%h`594P&#@FO~vbN^SOe}A0)sd1l6P7iQ+ z9iANN$@||&h7KccS@9skaqI%M|8=$%r3K@TjFN3xaT>67IGALzl^{hL%sAWzCR~j= zWMoYp_n3C08aqtJx>00o=2yfQTx7~U;0fnw?*(n2AZ<>BwkyY@=5 zYY$&Cf1DMYv{mmH0QLy%l~Gug<~4=LzU7oTmC02XRN)SI1nrTtUy{Z3TB@<>w;|M1P4{}=1EX~R z@AWR2mtUbKCEMnwp!HLvwFlb-;B7=}S|=V9FMaFa^;OO8XPu2@gm$gPlTiEkVr@CA zU;Mij+4{4X1I+<8iZT6gOAR89KnlKA?jYV?(8QzyJ_?6+kgp{6dRhCyLNs3N+Z)=^ z>!#;{YPgzKV<*sC1bi#Od9`Suduju?nL_vlMR z#m9vS@jUySJtsg^6MLYkXX1+?lUMpZfdtzpTjkq-pC)f%BQQZE1{YnXaI5GwR$0M$ z)O6y|!Cv@ZK>lkuteLCfP+zW&=?jh+@Rz4U>BZ)|eot*0A}}oXS!`R;Gu7V1;Oyc2 zr`UO#!N=J|^bt@;eo(aAu`3QW5x>=I5OW`CE#u4b;W+RVBC6Yw4{P~S0~`d*1voO7 z!xCOxCAjVR?&JIxb;KMTiW5crtmp~qVS6-=eR8}TC$c@ZA0 zIs9ldrw8;oCU4ell&v{p*LQ(dFqM7@2rcftfX((h@GNpnu%AM7xxN~~plxBhm!LYK zB(YD2yQbhi$X9d7`+MZI+pB>;Wnlf7&r06d>ZYi*-03O6JFA>2W*wzCnLBQfM8F)L@WcJ4*pO=sATl{n@B|q4=)A%pHu$K zN3W5FP`d01NTJJ>Vsf5vE#IgloQiOM;wzdmK~Bre+I|Th4$CjI*t9)LoYrp&kgss? zoBLU2cnRu{{rx|I)Ku0j%GddlR>SXU)XVBpwj7 z2dV=}G9#}a0NLKy&wxO_hXT|Z!ly)`PEyfQiiYg1rJNhNyhq#8>Hi6}&$;>Z6nGFh z84uK3OqvR2Af%v*iGGBu3$OlPY(AHF z;@fWpSN$tYQ6Acu zb7X1XK|vG#8V%+D7pb!GYa$1(YgkJiGD{R~QsrNBZ?VRRy#?Pe@J1Nhzce2lkTyibo0pcC|C89(u9{~HGLclst#(stO@O3OzZ~b@)N0){8 zQ8yKRUMaB^A0!@U^cRx%p8zldV*+-Q+NY=&_mmK`t~RBrOC!6Na2Oor^fJW?u%!r7 zTG#H3j2SgUBi45+qZzd7;>akYwXmHR6mV!e}9D^yRjYdyjMqopi8kW0i3{KCQmP#i=w zs6b>mhr+?!UykyVyD#Vgv2iW7geR^BmA;oWlz8X;kb z6E8l3T=6r2K+%wQJp&8-59bnJDarxE+rI$LpNXo3eF#tX4HHJq37>8+&Ram)e`V|6Uc1{~)W zHupWu?a;?1b_dsuUjg`snPu!xAYg163;7R{Vx=5?ev51RLBSv(UXKqXx^Hq_t z@K6AU=isL-Zb5%K3wAVm$E4^x3H`v-(N9f^b`}G=3qQ@cC3^Lw=uL#aZtCdwO^SY$ z(7(fvx-&VkE{9!xJa5-p2@lYhs5SyTh`9X$z7TNXHvBYGEzxhC6n#ITpPLljTSfGR z_-RIRFQb2mpZy`E+z;Sm@v}d`w-flE_Y=5p0KgaFM-MS5^X@`enD=3Q=?d@Hmzm+W z^(A8GID%neaQ_H98gL<^==$1H6sE zJhZ+)z;_Xt=hycK_z42HFWo=j^?(a$t~W{CD0_W)8`8Mp5+-SXUT-#sPK%s7*cHkX z@H6EcI*)r&0T9z{{|0I%?0P!Yg!co7?)Q?ZFN|72{Y^w?)!1MGoE1gholYnGU7U(b za0IjN5=)DjE0g1UMCZEv4yFB0fgn!Y@eVC{G_1&Bj7|L>EeQ~gxL%ypXB@V3EzhT0 zIg!&!AuZdgX_&D&DbJRS>jcBxGBC(5igq=9>z!I3UhB_-NsS}dx<+&_==quq1I{SZ zgT;W%S1-Yp8_?_{XK>PHywT^Fgp1zrC6|E{5dI^=AQ2(BN+hJ;idV>b~9$?Ez-{6HbmCGg%WpoZk@HW?X_|u&I#yd zE4ryMrRo?cY2PO9PjvmcAPBtUaH~!N(%yk`zAm)OZBaA)E|R_1bhkOZRp#>8JAkqI z-%w<@6V*{C8|22_oz}aKT=@bPxLXb%A``Ug-twsG6plH~<<>wK99XocDIQbvbb%H+ z3y3B%)*86Wjn^g2P{^xdNNm=AzRYHjeOd`~-j3nEV+@)FJ~H{7mp?Djn&SBH3Ev^e zj-!Qx@NNz&1y%8% z?8a)@(d^m^c>cju{2nBL>u3OEiv)xC0bs=jmuS#l`!AB1Nq1Ii3m^?aFMhDNqaTOj zzK1u0C*P*bM7o1Itx!GP&V@v$d86!_y4Hp{!6BBKn?Q{v8!Eo+js5{p(z$nIj`#|a z?adTHZrUVwPdpi#Y7!W2l8bcK%dgaVP-&@W;KwtVqN0Df{w&J2a^>Cz9W?nmO!z0n z_)sKZOREwht0DOmyf2071}xURoN^65zzy7*N}tz`nK-+wCmK+6v~IU2z*1Y^|J;vq zu+64gHgIWS;BlhS^o{Y#h59hyA~27#9{w`WnD}&dmyB1Ad`4T}b$t^ZWgvrF7*-sG zoSJNRk050Tvn~v?VecWR^kd+9J{>K8u!jv~(#V(vjJ512IpLuIrp$z^^`$F3R$pd@ zr|L@qU*H9G{qw9@BH7M~vaQ#b>YQY%jjV(g4Ck^_U~&#e>Z^-*40@M*pe)|_M(S`R zxfML?>;e!DWj?F=mx2QFFlqSbUX=G%obE}ygK^yaxQ2cy0_qiHfGx$IBa5KemnACCAV zAJcT0yNc5ti?*`d@M=yZ}<4nY=E#WlnY zH263&BV}(4$2I6@piqe5FeJ5Am+75y_rOWjlEa|vuZT*{r=<(ID!p72N~H_qOL0NM zY{;j$$-g>2$6jKnT0kNb&Y4I!jAdpJQ$DJ7& z94;_2mq$g+o(A7)Rq7Hl3%hO3f?}vML*#EiztJGU5OCE0j6@@N`4$`z;cbz9Pmd{H zNupIK+~JWfGAFiC)F&@(;*1I`8Do>pkJH9{_uGGXfc^SS_}g;kwY8DqD+kXQt_9n} zjl;G0?Tq0Kn});wo-1n`gK*2{i~D=d84hckgRQHU4=&|@{XH+)zGY;4IJ|1>@b-~# z!@$%;RhW&ymZCk3nv%0ee1~PD~F@f z&m10soxzoK`FGmdqxt`R*M8$83}XSqbe##8)s^^f1I+hp%^*HbRKthqMg+d)zuQ(G zdCiqudakmRE?73WbV1MX){ViY&08;BwczZtjvZLBpy$Zdxs}({whYxquH7sa6ylmBiCCHT(GB#}6 zw&mJ^D7}UpE0>VGC}wXMMuux61L1HDtx$_dV417WLPD)4+`e_FC&GkSCF80MTec4m z1ef&GhPMoF99gws%}6k^Vao!Rs)Yiyzvq}R48q!ejhP|b>ghQ(7};-bZ4JQl?OU5m=l|m2t^4Z&ZVlhY})-pCE3FogJvA$AS9S=^+iR4Go%yJqVK?bw>GUAMWv?Iq{N%QkP> zG&Hm|*fi`fUUKDdt+wIPW)<=i=pihto&Z+un1;Ez0b~< zP4tpU!+}IJhA*^EPmek3%oAb6>)^@t<*PVQAF}kY<%e-}Y{f8%`&Ty`vvACqzvB7l zm z7%^AleVTczz`Rf5KP0~o06u4aB=J8-OwRlk?>UoC{|WK4<+m@*QkJKQc{P5gnG+@E zD!k{+?Rd|bkIC<&68{&8pO#^Kzx7&Ww`57@F}c26hk197bbb-P z9p;JLw-Hmy^S3{LF-o~2Pizn5Ka%%wHk6c{B)<=|eYDLpU->n4#BPm^q;Fz5%{FnIW_Qp? zx;LIV|4O)}!H))5`+!T}kT6ijTZgaA=n>Mz&s!eNpw(Y}h z-Skykme|R*9RAl%9DZEa*TUOTO7}>-hQ$HTUBBj_%E6SkdRT@I*SA@n%LM{g$yF>0rQt@5_BT z-)U!Y9qWZ&FZ5oa&j@{2=yyV62XM%4LdOVQF`#OIo3?<)(uV_BhChH}`!bW|vo4d} z-P5=vTQfQC4)9U0%r`S)>1Xk6H<0<~4&;(tD70SaTA>>U_KbAXn*+Jk{wp*(i`|p5 zxb3dXYRGcaO<9N1BI$6}{ZWzhh0yOoQHDXB=8c26gj>aZT--my9ZPMpxop$3Im`l~ z*9hI0&E@$@+`mC?kojPyXAIsNi?c>?j{uFOiwAQGHwou{&_rrCgxjm{5N^TYpt00A zkSYVV}^V94=Lj(3?RcX?qUm`%4bj$eqje9VB#u(16et zLLUNk(@VJ=@||4P+s|?jfb*kp&KSwQzL6~ROGa`oYlZg9s~O>@(mdw8n#USGJfF4t zpZUz`RuEs{rr|;-6pVy>mbm8#trgBK1($<=pKx9)c(fpvel1{$MHh0(hZJ%;lMA_y zR~8;hi=}@E|1R)5QhHHXQ6gm&tw$eRTJ&ayn|6UFQnyjucdi)4rF~!&_n_xN*>bWi zWvZwNwmlu+jlg$Fxj-rK>&#Cp(eA# zplm_63QE8U0H?B5P%4!OdYWFvmD*M`MRI=^C>`5x7m44O2-yLbHtQsZUx0|(BPUKJ zT5%5T@r6xB-GH)zu8=3HbAY-a=2a4}6o}tOezkA@D3WTL$!qL zf;Uj%Y9d_@)CK=;6~CK|-<^`my(Zqhf_4h(ire#CmVJWy)9ZrX5i}4tU)b+3P!CA; zxa4pGs1M%T`?dJ}CLwbT@>(q2Vv0af;;92rf1DyD3d#mbr_q$AxYVP72v5;=5Wk5) z1A)2=x>!Pvqke*}1R6}^X$U?GA5W_=?)IPwc;=sTxI;pgQodS`)E)rhH{eYYzkT9& z5lvQ22>A(6I8CQ%;`d+itDrJLe+cqHu3R#=i&L3P^TaP6C>`i>LG1+9&_4zB1?oXH zv`PWe5TGt-^;-m;3)Bbb4hcCKXgI!2aEIhj0mN_T+$w&xKP1 z=sxOZamhAGysbc7_eX%jp_hZj?-}vig_8yL+YgjZyJ()EW}uC@wXjgoQSsY@H(7GX zuLZqG%LP#wx8F;&LQrdh zgOFXISC5O|{XoNko)q*{*qaFX20bO{YsujadQQ+EK;d+d_6dp#=d!#-Z&<7a>EQ(Q z4t*?s-No-cv@zFckf3HdA?O@Ihv=lBX+V$A5sGkeDt@H$2py#u7t6W{etqb3ig$4; z*8^>&{{nHywUXZn>L_TVpzo*?o+62-hXj33*d4>)Sj{l7e}Xq zUL*AT=rfVm$>>f9?~UPDDKT8Ct})EHHueDG9*g}Iv@(uUu8HdcNpkL7ww_iPb&o$^ zWl{fl_8ls;Na*-@PGPFhS@9)^RU__8;wQmC6C4pgBpM zD2wXhp1e3F`G_@naaW z&1L?iHK*3M&AIR$)P|*+-=@xlNuXVAs!@iI+BAax+2%^nc5SZ*9oBX&=+w3wK&#ts z1zpm1M_3rW&~`vLx83k?yW~H&9Su&al#*~;dg*5@44=HXyU;A5ql8Wq>KA&M(B(o` z3*8`eo6x6)z9#fTp9^ue5jT06(^1^*;a1cSZY>kkz1;_J>wdvK zMbWT!hrlUp_ZetOJC;)V8FSo(Odqun;S`_s$a&WPww&BD<=cUF9d2wU2hq>P07`|k5W$MskZI;{s=gSkD{ z!L6;q!k%1)+k3Lbc%`SUx3CY;Mn$9WVR~KD1iG^q=U&>ogGZ6pH-B$#uiJZe1?QFC z13kaxc0DuR6z*1S#gB7i)VT#36ZsS3>A$_OMXk}=g79IAEou|3g0yUhr2x_8h1a-#FA^JP55p>L; zI|R+h(tfW*or`$e1udhGqe_65$nInl9Ya}$(?NrNipm4}-5?ds=pufAi*(6`(|ke8 zi1lSSU1L!1=o#v4@(kvX%V-GD2wI|%XG(OX%AvcAUuAR_<q7B-Kcq6H^LHiMJBxPtMIpk56gRWG0G}b}a zsC-&%;$_DaVFkU`pfNFdK)Vc@D(GE}s5<7K3L%GbS@x(v%uT9@hVfN7pi5(JQKRT0 zgRYNh#u{^>LAS;n!WwghK`+MKsm`UJ4SFZ$Uuq2157((2joGTk(oTbZhw+R0%Xs;R=n+4>_;dp!1kk}H0Tn~|I z9Xts1kf6P^3Lz)cqXw-Nw8x-3V&7Mj>7av}v9oZ*ppCK3c$({bjXclAeypZZ^hn81 zY~(a{;%{&Gf!HtMr~mebe;oU*I*;1xkc#~-plb|bzYFPBLAtL@r;R2}4mq8mq?{&k z$QiUnP!s(bds5A$aNa~WeXN|F7?n7c2+Kx$RdQT2`HbIQl@%9bRXS*7T$+U~d->ZN zGdgYrZY$Vma@>$05(_rR_7m%-5nHLdy=PiMv=yj|+Bzj$iZ%QDf{rR4J8I~-_9M1S zHS~)?Y?o>%x_~ojq6Kl8s)q6nVrw&xE(dBaR{u;ZKsOu2`PI{d5^@bKj?1tb=#W7- z#AR9wsC^-)xrY7)zeXBw&;xNptVQgBzrEoP#N}ZxNdN7P*&bJ-G_vJsBP~xHb>Pnh zJ!5%Z;UJdhm4Z0U{c$flaSqqgMuRwq>u7xuM?9)HhZXdQL7c-s=w(5B73c6zdetD#;h*%n z3CS(?PdX?_>*qh|n1h<(*M1b|u*~yxe2Kb&vJHAQz8UW=7;n%=@LNf>27Mc!M=NQ) zL7oKm+iy@xLNokE7wa@T!fzE-8PqEw54$r<3>uQq34S*iRGd(5-AG~Q=y>NL-i_4T zpc=%xkuEUkazXV5twt(0(qe<|L%h}WqCvY5ay1t@P=^G+LL)=(b5VY6jXW zNRNMa&=Z21WL&v}UKF&(b6L_>>kj(Zplg#J0y<{U!%2@@cTz1M&7qvnC0z})-Jn;J zp0d`{enBg#IcYag+7un~^Q3*&-E^rzUnd=~Hc5nfplH_v^rAtpB&WEx z5nZT5euy+5qQ!z%($C3Tt%vD0gRGRcu7~M>LD4BEtw*TUMI2A}j>kv|(sg)@&TQe= z%Rxi%e1En^o)Ia%T#wUuL6~i0r2#aZ)7(qEw%ATv4C3Cno!ZY}Kb^yN$`-`AH^Xn4 zMxKo+6I?s!27|aCJwclcdN8FKPlkUWsL8{<@kwf1M)+Ii;okTptuTmt!Qz)J z!__j+=+tKT;Y|xtmg%WeT~AZ3K{crt0^MfN6{+Q}XXp`wSc1>ceuMszIveO`jc7w^ zjcXUx`=r$LaB4l!VuSXkX5pE)*95TyC%B%aBN}1majok)@>J@wEb`vq+CxJ$LLXb> zdY+~@s2MFa+aO+Byg)YyYNDyFZc;DOG2?f@dz)(?d1gtP#Oscih(Bb4nH9}w^%?F8 zFENPM9k0;KI;8Z**XV5rHRE>UCl1=`IzT5J^qA`nik_`Y-PCFXc4|8tbc3K_8i~HV zMbjMgtm|#6HzAu_m8f@Vg+WJJz2thAHX8I@t2}y__8au4pq~ZprSvq8*W1szuc3}< z2M}+yAg!(Mu?PP4#!OBdAvf7%sMARebbr~L-; zIDL$2t8_>nr@x>Z4dQY7OIl+PkJDe$Z3eMr_>!Iz#G2eG>`VGUBTr)b2<)H#ENHK+ z!?Bw_mvh*QIanTjMT-sMIoMZpr=VrjKAq84LAw3EqCMIVIShf{2PPidtP|v^mNY%Q ztMWD7AV^!qujzXSt%Bc-8V<>RnPK11F^y&1KnWI zjcuO>Iw;643#Z>+)+FD-&qiCl--Tg=QvUS39LEO^`ZWyOx(=dnZ0tJ79gZzl2StbT zV+s7nsU(I+g`l+Xm=M$>JkCMf-xD0f{XNk^+~1Sb2TmOZg{P>m1ZkZ}Rlfl7Zp_`N zL#j%|LWB|5sFmss#8&FHwj;ySRK6f>ZPHYQgMJN5S1TMu;ce9S4swT|p)R;QzaFahVx0JdIg?1IV5N$ecJYFtGAld#36NS_ECWr=n4l7!P`$)Xyl1HV{&+g+9*iRo-)*) zD>)TCd+MteU!@W6zV=nS4C1m3P_GNpx{F80@Mo|1Y{V4j<$oUhxf8 z$0QXl^%vp8R5w}XG5S7ygvxQy@8P*>hJ(W0`D(F);@w4RorBWd#p)pkb#$MrUUpD# z_ZW3VBhUHmvfSg;?*_5O9H)|(axIp5csF~T>TOVEyI}~KZ&0A!2>4xKP*b}Spn8K= zw97@v6$ahXt_X-zoO$RD>P%Th}gO&jK9JCIo(m~sRW;y6NpxF+37s&6R<3M=* zwq0tVISxwfP~om}P*0$_4jKYf?VvG0H4eHEsMbNXK=T}QB~YD%ZUzcCXfsf~gPsP$ zdzDPdUIUu%pihAoIOuzzg%0v`tZ+9vs5Q_f4(bcE$U$cVU8*)hBiZt?4qm37GKh8X za`m=Btb@mpIv(p_lj>j)>)@4Yh(WA_SE*8iSO=G=DuY-Dm#U=(u?{X% zcNoMvc(r=mAlAWa)B%H72bZhk2C)uatE{VaSy%_JQ*8`l9bBO@4PqU);xd zVG!%!&8o;C*1@%EhCzP-ty7H#u@2s%RvE-Pc&obKAlAX#)EV(z2$}lJe=t)&*P}fddT|3ougNDNIX|=$hF`X`PKcj9i=puyNtu`AJ=(Loc zQ_mW7Ri{<-yn5e3*J0oDTZ3-wbOpVjB3J0LY(&TxRY!v!h2K6k#Gn`8_mY}m(0j=5 zWi`j3FFUQJSJYJ+$z1qVb)AEjxnEUV1nr>?owMjQC6~G}W8pCzNdET54D6g2f{I%p zKKBiVJg@UAcMx6NxkLpKpZhu}e38yi=KzG2x1C@3GN1z?=w|opA?Ql=rh`@?m4gmi ze+p_2@!Jf)x15lVv_Q{vzTF-4dl7zbt6|rRXqo4UE~9}ej2}zzeYL_Mmf-tpqY1gM%d0>;jUUVN zef5DsEYJ7V_a@}QF1ZL9{ZA>itQ3)-K|Cu#eg+-w(#!R}y40ZGx^V8R4T|sD2|27c zs7u#_?q;>!pdnq~1A11_QN?HFAE-|a+Kuz@kJPUYx{f|p2{%aH<&6E1>SGX}l^<5a z4dV0gPt+KL_*DHY{T|ahzrrt7se5(GrI%W{-(lJ%FQs>9IbWEkK z(r8)do88CNeg`$vm+D;yU8(+~X56SlvM&8s@h5`$oMds=39kRDp@MKv0DfPoQ4VSb z8h^8n$C`CQ4O`1-8U3T{=k62gKL$P0dA93owe}VrlC|y|wMo!2y1#2PQ0A@Lk9F`{ zwaXyZ!SB>DLCa`I*CL<}x9J>SK)ml%wxA|@yK5GGueKZXnIO;Y9I^>JbYHo@SM_%= z((BY8)YXEHs_zi;2X(DMsvD#01(_AJ(^n>SJL&#GZ4^JAd#|D&Rl7SmO-AmBpHz+@ zy-W40x=s60UAGeTtJ-hSWrF@=&_BDyMEt7Su9s9ix5Dptm9G)fTuQ&I3yj~+Zb=b; zs(Qz-nf_GkjUUg;PpVx8@j1y!^{zpa6T3#7R9_2PL;vk|wRKX}-$nRaL%#u$wN_9Q z_JwiB#q!+4eoeHjbMFXcjWVc1_udgMYyG|2ZvarZmA_e|!tTv@E!PDGo!@;cUKO~| zp!wZ1BOu9Xhn}KYH#f^=ypLbJfL&mijeKCBZ8XfDWDG4rU!Mr0|?pCn!Qb~99ehZm zZ-F{lk36iAx92L{I!=33qxL{uta^h60ClxIk7>Umpl;S$K`Uum&lOg8YsurS4uhXQbP&r`5(mcSQ8EG6n4=-dF5nZQsEm_Y&_b;#D8=w>SLCo`*uv%AOk|GOYL~ z*^|@EqP|vlK}Qvb>}#zzh(q?X+VA9$N7X)WgX(W}GH6rJ26dLzRnRip)bqZG0akDA z=Y6KuVg2Wi{0ttyQ? z@AWKEBdjGl2PyRkYm-4->KrTVDNc1I{m}D`h+He%Aa}1fB1T&Mc4@yfpggPJZbn)X z`Brudl&=x>>y<_M)_Q|R^lAqB`B{#4RIxoPuwtImh;3bg6)#BlzXGeP@f*?W-G~A! zTO;qJUbxF)jW>QXdL06)HR$qQA4e2f>jmK!O|N4S=UDCc1oJ!B>SPe-cP_qi!hYKB zo@)&iq-%7pHD1sf&(>ZiBF?oAX+PTC>pP%!FLJzPIHCG2VzkvyP!qk{t3-{l_6u4` z$9q|xG1l6B9I}ai?&bB2wRQ?xL*e)q#yD&COYFCXQhTR*##=L9)~I{$r>qIqb%OL5 zFv0qVK`gTg*1rVla!#;T3eqy0U_IdY{T4C7+M|)2q?KB=`#FauII(X1dV& zkApsSU1VMG2B*?QKlIM_Ot%gi6w{}fW>}-%)P5cMWP8f2?+qH%CnjR1)#{++E+cw{ z)y*Jo%?fLfAl-fy)@VU%JoSC@Jr!2Dpk>t5=NzEb2CeKf-s7`Yyv1oQqucsqQKdEP zZH*ofbiklz1f3A1&$TP9_;)y@&acwyCrC>dsW_;Usd!RV33Q2N9c85Z?IJ7MAa3bJR;nN^`9)T5L0tEpo<-I~jd136z;lIlsX^v%Ne&5mf~&Fp(8Q2a4nqny5Z^6fL+y^i2#-b(s1)$aLG?0yb>i`ebL zjc|VP3f@irKjFV6>C8>xSS9T^F%o#-bE`U)=i)mp4s3uwfj!tho-M{=lio3XuWMsDq)zh};cKcj;n8j!Uc3MIIloCRRzFU;GR~$JdBJfJ`{KsG(9`SA;VrqX ztSAxTExDcC(tTS~OYQ7YZ#Cj$hn5of_fPhj11M=Q81(?!HR+ z*Grh78&6-f4wfx6RtxJPdicLz>(ExNlenR^ULz$5)otw#<#Tx3GHADM@#)ZBemaGH zZS&Nxt=^EDL)Nr z;YlhEA8Pk>kJCM6uY}a@(Ei9RV&OS1i3{mzw~Jnt@GPsp_wCz;V}-Uw$DMgOKe?O3tQI@HeXvO zm$Cmr4nK_+^wr~LC`XT#nxjWp?cOejbx+S<w$p z@%0Y2Mo-Tvde9Z}U>+m{^)_krJo(7a29i$fFVP^34%uT1D zXSvbBZ!47Dc(bFpLnRhkD&6l+FO{ChhL$;K6ZmOT&OLNS)LU}V99^n*GP~Ag8zjCX zgcb|crPXbr!$eE?piC?o?_78qlk=L4SopHK#0?!O^em#qOhZC0l8_hwja$cJYHQ0C z5^{;e(r%WLJqy+2pyq^**VjwrT9bXI2g>q_-2w%H(-L+fS`u{0?Lekfx zd}v!Nlv!V>OhVl+N~|EY=ndigzZ(nmI2)S&-?^J5m!MQFIt-3WTG^Jfo)7#iBk3^- zuiaXsiln`?Tk}Kn(tN#o(zCBn-|mQO&k(faHPtg8?fZ@77s}JTY(!RQ<>(nL)pL16<5wGC&B6bY^Cr|{Q_>9HdT;uRR5xi9VZ-r;5TH&`7 zemmi}JKaV-@Y@Gp=&>QI$|Db+Z!5r)YaUeuJPJ>r zjlyp+{+|opx%eH8r));!cP##w&=~yB#hYhJXd<2t>p*-0xYFXC>vf==)Lo#>cy|WV zZ9;bl-7R#V(AR~&C-kt;_52r^w|NbCz4Y z7k`)J?sZjUp0ti5O%79=nFqQ!vlCL_+x*9gZ}A@|ej?yF@sj|@iEry4C%&b>+`1vN zQZ2U@d3zwuCEkq49oUV@j6_@EE^wLR{l^3s-#U9;N}KMwJ9CAVAiJ=5_XeJk?%?8D zaQQ0`m&5O%Mcz4)9f;3t`@8mK)l#QRUP9T1^x&!eu)d|F>(;e{s0G!m| zwQ)@OJhubhqP7;4&wX=|CQedlAX0lzN|^3Cd*IbpvGCucCAg_y;@X+~VPuJGpZCMa z9#lDSubO8q8+aV`ddmAPIDEsLKl3tz8tIOKu~7*)y{LEfkXB9>ep{s6HEJ6@G_WGF zhvFPNfM!t-wS8cT>Y!d4*i7?8Vja{caCcC@4eTA&gfc`}9n{_40Z|=Pr>st@KVmJ3 z?5~E3yBKu2gz2yRSwj$JD?+Yxv5xhZyTknzKMlFgb$iytsCBLlpt*|MC0A|ADnV+G zX5}Fy-#IRE?ar!<>Mvz3R(A}{fd;;rb<(;E>0c6cm+N`&?e5Lu-UiBU=9EZXO4OfO z&E$1O4tgxg>q;K96ZFhMBf#l9=sCCt4LT6D!<9Set*G6Iiyq{P%03n~O|f1brYX@y zblBB1`)cbjot>SByZYy37vcRu6SFJTG?CJA#EOa@EM-e~@mooLab2I?KHBSAnVk{6 z!*zT1TTvZc|IQu;&hG4j=y}%L*;Awa>QMGhZ$j9Q*-db(!5NYBtjNK6G!0KKEJw)X zL3e^i4tj>t!#2h~7TqC?%hn<6tiex4_YXUF@QH{HVN(V_j|mVz_mC^O=Mq0pnoIl~ zDbr@S`MJ?~>Y~BNqmR@6xU}%WlFnvzv`bXXX0>Q=LQJ}A$>0?h_voQ9x$wQ&?RDKT zFkKa+UN^go!D&W)xvx!=vox>k`N4<4;Xdefy$W}_>pi594n6z@^fPg*A?!{VvH~9~ zVr!FNMfP19QxcZhw?vhMv9*~dDR;1nhuj|1!I~nJTYp*@KRGfjjGq|kU{ws+5aV^t z8&abDVJn85h+z3_LdiR(J&0HvhUDRGRQ$xG*R^TL<1zCj?mUUhoTm_mb!?t`W61I7 z!LXSh#|*ZP4*5K0dDzJzuq0s#LvMC359>M<&pC#1$dzF#*&Vh{jTlO?>(uC>5klE5 zx~irOeVf)P-_T~zdE#Cy?(2uM^$!~~?337SVcBU{TievAVcd86XMTl}Oc?e<>^A9T zez80|=>D|NU`u)b+b`*OT~k~A0O|RL-Vw1*T{H}%55jj+^Wd8i*J#xY8wA>fH0RMZ z!-mJLBR*kZTZA!@ZXCANwFC0ZqTON5!}4ff*cYHBGB(|%z8zK^_j*|J@Mc(J)|`FB zPe<&Nn(m{%!~JplXvA=gZtA?@i{mz{%Hc1$p!36@a&1!;nakpiOG_OOTQ?kIf!a2F z8N%$6Fds$S0QYN%yG?xzKI_u%xNpK-XTKP?Peq-5C#mq>XTME7TpiP12Y=YvAIEva zr<^@2Y@N%0He0h>JzvB%$r#;aJr7Hg5YDxjXRSW_MBH8KtpPv8&9kig2BYugWCr{jz5Wkh=u=)~B7``xP zWeyFfq8 zNeqYe$l0H;61Dg^Mv3&4g*z4rUMn&8lZ18QVoAc<<-U#<>7RKV{I0nt5)vTcn^0fw zp~}k79h|rsDU1NE%!M^W+`>c-IUe-#T*$;?ZSh(ga?eZL5&lf>4DdJMJqIke=c3r| zZFMC`?&*f|J&$yhWKjf{4f-bZb*2gFR#cB&iOkub$QI_H%9U8mc`I>w*dMtV2gBk= zVjPz~emp!q?c>Cf@a`jbqaBBW-lfKmEQVIpjr=C@oA5!yUP6z%cH~cqzl3iX`A1^^ zum?w;i0B`-OXw@0%fk+hWP8Qd{&4s=BO{ZzRB=f?tUpJVsKeyRW7%?x>?3}E!#+yM z%Oh_XTNv~dcDr-)&PZxPNjfF%qw+koI0f=BPYdIl8}rnadFLd}Q`hB<2fZ?H3h3&* zi;`HED14rapTg^*&Kxv5L0Shgzay_c$&2~eC7=)GH6?8e-<@}ewuQ6xPIt52NO!-R zcWct}uw!{QyZvFV{1XvnkP@;n!p_8Zg!x4*)9rut3znfc9h7v6o7nS7V( zoj*Le1mW{Rx$RaG-#cLKt%zI+i}7wmiB*#CgYN~1mF}92^!ta^=VSD7bDI6b?#RC; zxrciTe0#We3FR4P4>!*zd1Q`Oqx;B+w=p)JS@>~sqq|4p5L)i$ zwkWf53Oj)o6?RBrIdo5%=kgWy1^Sm zHl*C;zOC?*l*4LgA!a7(K;bnhJ=~uaLI?0(pns$^ihc9T9B-cWU17V(CgPLOCgL;X zZSIjp9a49=7kM|t_`@a?orq|(<`m^oqt#f{kkV+~hBC~freTGtjiS$u)|#S=Q+K;J z7Ijj))%K#=)P3%KMO!U@*t>|k+kLEv?-!@1JwvM88T2(1)%#Ca}Frx92CyG z>auWzS66}_Qdff>Q7b@?sg1aF6L}bI!y=r++^qX$Nhj-DC4FnU$=J<(gD zw?*%dJ`w#xG{vOF^oki7Gd89)W@^kuF%>Zv$JE9 R_{UCi?_U&X}5wvFu^+becJ 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 L@BRNzE%5&UJ}SV^ literal 0 HcmV?d00001 diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.sln b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.sln new file mode 100644 index 0000000..72ac477 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.sln @@ -0,0 +1,110 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MadMilkman.Ini", "MadMilkman.Ini\MadMilkman.Ini.csproj", "{BEF9735D-C3CC-41E6-AAC6-18C5985D3107}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MadMilkman.Ini.Tests", "MadMilkman.Ini.Tests\MadMilkman.Ini.Tests.csproj", "{BDD080C9-016F-4869-95DE-61171E2AB746}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MadMilkman.Ini.Samples.CS", "MadMilkman.Ini.Samples\MadMilkman.Ini.Samples.CS\MadMilkman.Ini.Samples.CS.csproj", "{67F5741B-F6B2-4A4B-8E83-E0FD108086B1}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "MadMilkman.Ini.Samples.VB", "MadMilkman.Ini.Samples\MadMilkman.Ini.Samples.VB\MadMilkman.Ini.Samples.VB.vbproj", "{4FEA3A29-874B-4E1B-A60C-584E703FEA11}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MadMilkman.Ini.Samples.Files", "MadMilkman.Ini.Samples.Files", "{AEF2490D-0F64-453B-9DCA-C1286517E311}" + ProjectSection(SolutionItems) = preProject + MadMilkman.Ini.Samples\MadMilkman.Ini.Samples.Files\Compress Example.ini = MadMilkman.Ini.Samples\MadMilkman.Ini.Samples.Files\Compress Example.ini + MadMilkman.Ini.Samples\MadMilkman.Ini.Samples.Files\Custom Example Input.ini = MadMilkman.Ini.Samples\MadMilkman.Ini.Samples.Files\Custom Example Input.ini + MadMilkman.Ini.Samples\MadMilkman.Ini.Samples.Files\Custom Example Output.ini = MadMilkman.Ini.Samples\MadMilkman.Ini.Samples.Files\Custom Example Output.ini + MadMilkman.Ini.Samples\MadMilkman.Ini.Samples.Files\Encrypt Example.ini = MadMilkman.Ini.Samples\MadMilkman.Ini.Samples.Files\Encrypt Example.ini + MadMilkman.Ini.Samples\MadMilkman.Ini.Samples.Files\Load Example.ini = MadMilkman.Ini.Samples\MadMilkman.Ini.Samples.Files\Load Example.ini + MadMilkman.Ini.Samples\MadMilkman.Ini.Samples.Files\Save Example.ini = MadMilkman.Ini.Samples\MadMilkman.Ini.Samples.Files\Save Example.ini + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MadMilkman.Ini.Samples.CPP", "MadMilkman.Ini.Samples\MadMilkman.Ini.Samples.CPP\MadMilkman.Ini.Samples.CPP.vcxproj", "{097C11FE-8D4B-48D8-884E-0747454E43DB}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MadMilkman.Ini.Samples", "MadMilkman.Ini.Samples", "{861D28E8-3AF2-48AF-B212-9C998BB8B200}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|Mixed Platforms = Debug|Mixed Platforms + Debug|Win32 = Debug|Win32 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|Mixed Platforms = Release|Mixed Platforms + Release|Win32 = Release|Win32 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {BEF9735D-C3CC-41E6-AAC6-18C5985D3107}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BEF9735D-C3CC-41E6-AAC6-18C5985D3107}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BEF9735D-C3CC-41E6-AAC6-18C5985D3107}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {BEF9735D-C3CC-41E6-AAC6-18C5985D3107}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {BEF9735D-C3CC-41E6-AAC6-18C5985D3107}.Debug|Win32.ActiveCfg = Debug|Any CPU + {BEF9735D-C3CC-41E6-AAC6-18C5985D3107}.Debug|x86.ActiveCfg = Debug|Any CPU + {BEF9735D-C3CC-41E6-AAC6-18C5985D3107}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BEF9735D-C3CC-41E6-AAC6-18C5985D3107}.Release|Any CPU.Build.0 = Release|Any CPU + {BEF9735D-C3CC-41E6-AAC6-18C5985D3107}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {BEF9735D-C3CC-41E6-AAC6-18C5985D3107}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {BEF9735D-C3CC-41E6-AAC6-18C5985D3107}.Release|Win32.ActiveCfg = Release|Any CPU + {BEF9735D-C3CC-41E6-AAC6-18C5985D3107}.Release|x86.ActiveCfg = Release|Any CPU + {BDD080C9-016F-4869-95DE-61171E2AB746}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BDD080C9-016F-4869-95DE-61171E2AB746}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BDD080C9-016F-4869-95DE-61171E2AB746}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {BDD080C9-016F-4869-95DE-61171E2AB746}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {BDD080C9-016F-4869-95DE-61171E2AB746}.Debug|Win32.ActiveCfg = Debug|Any CPU + {BDD080C9-016F-4869-95DE-61171E2AB746}.Debug|x86.ActiveCfg = Debug|Any CPU + {BDD080C9-016F-4869-95DE-61171E2AB746}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BDD080C9-016F-4869-95DE-61171E2AB746}.Release|Any CPU.Build.0 = Release|Any CPU + {BDD080C9-016F-4869-95DE-61171E2AB746}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {BDD080C9-016F-4869-95DE-61171E2AB746}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {BDD080C9-016F-4869-95DE-61171E2AB746}.Release|Win32.ActiveCfg = Release|Any CPU + {BDD080C9-016F-4869-95DE-61171E2AB746}.Release|x86.ActiveCfg = Release|Any CPU + {67F5741B-F6B2-4A4B-8E83-E0FD108086B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {67F5741B-F6B2-4A4B-8E83-E0FD108086B1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {67F5741B-F6B2-4A4B-8E83-E0FD108086B1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {67F5741B-F6B2-4A4B-8E83-E0FD108086B1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {67F5741B-F6B2-4A4B-8E83-E0FD108086B1}.Debug|Win32.ActiveCfg = Debug|Any CPU + {67F5741B-F6B2-4A4B-8E83-E0FD108086B1}.Debug|x86.ActiveCfg = Debug|Any CPU + {67F5741B-F6B2-4A4B-8E83-E0FD108086B1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {67F5741B-F6B2-4A4B-8E83-E0FD108086B1}.Release|Any CPU.Build.0 = Release|Any CPU + {67F5741B-F6B2-4A4B-8E83-E0FD108086B1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {67F5741B-F6B2-4A4B-8E83-E0FD108086B1}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {67F5741B-F6B2-4A4B-8E83-E0FD108086B1}.Release|Win32.ActiveCfg = Release|Any CPU + {67F5741B-F6B2-4A4B-8E83-E0FD108086B1}.Release|x86.ActiveCfg = Release|Any CPU + {4FEA3A29-874B-4E1B-A60C-584E703FEA11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4FEA3A29-874B-4E1B-A60C-584E703FEA11}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4FEA3A29-874B-4E1B-A60C-584E703FEA11}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {4FEA3A29-874B-4E1B-A60C-584E703FEA11}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {4FEA3A29-874B-4E1B-A60C-584E703FEA11}.Debug|Win32.ActiveCfg = Debug|Any CPU + {4FEA3A29-874B-4E1B-A60C-584E703FEA11}.Debug|x86.ActiveCfg = Debug|Any CPU + {4FEA3A29-874B-4E1B-A60C-584E703FEA11}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4FEA3A29-874B-4E1B-A60C-584E703FEA11}.Release|Any CPU.Build.0 = Release|Any CPU + {4FEA3A29-874B-4E1B-A60C-584E703FEA11}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {4FEA3A29-874B-4E1B-A60C-584E703FEA11}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {4FEA3A29-874B-4E1B-A60C-584E703FEA11}.Release|Win32.ActiveCfg = Release|Any CPU + {4FEA3A29-874B-4E1B-A60C-584E703FEA11}.Release|x86.ActiveCfg = Release|Any CPU + {097C11FE-8D4B-48D8-884E-0747454E43DB}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {097C11FE-8D4B-48D8-884E-0747454E43DB}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {097C11FE-8D4B-48D8-884E-0747454E43DB}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {097C11FE-8D4B-48D8-884E-0747454E43DB}.Debug|Win32.ActiveCfg = Debug|Win32 + {097C11FE-8D4B-48D8-884E-0747454E43DB}.Debug|Win32.Build.0 = Debug|Win32 + {097C11FE-8D4B-48D8-884E-0747454E43DB}.Debug|x86.ActiveCfg = Debug|Win32 + {097C11FE-8D4B-48D8-884E-0747454E43DB}.Debug|x86.Build.0 = Debug|Win32 + {097C11FE-8D4B-48D8-884E-0747454E43DB}.Release|Any CPU.ActiveCfg = Release|Win32 + {097C11FE-8D4B-48D8-884E-0747454E43DB}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {097C11FE-8D4B-48D8-884E-0747454E43DB}.Release|Mixed Platforms.Build.0 = Release|Win32 + {097C11FE-8D4B-48D8-884E-0747454E43DB}.Release|Win32.ActiveCfg = Release|Win32 + {097C11FE-8D4B-48D8-884E-0747454E43DB}.Release|Win32.Build.0 = Release|Win32 + {097C11FE-8D4B-48D8-884E-0747454E43DB}.Release|x86.ActiveCfg = Release|Win32 + {097C11FE-8D4B-48D8-884E-0747454E43DB}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {4FEA3A29-874B-4E1B-A60C-584E703FEA11} = {861D28E8-3AF2-48AF-B212-9C998BB8B200} + {AEF2490D-0F64-453B-9DCA-C1286517E311} = {861D28E8-3AF2-48AF-B212-9C998BB8B200} + {097C11FE-8D4B-48D8-884E-0747454E43DB} = {861D28E8-3AF2-48AF-B212-9C998BB8B200} + {67F5741B-F6B2-4A4B-8E83-E0FD108086B1} = {861D28E8-3AF2-48AF-B212-9C998BB8B200} + EndGlobalSection +EndGlobal diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.xml b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.xml new file mode 100644 index 0000000..1179801 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.xml @@ -0,0 +1,755 @@ + + + + MadMilkman.Ini + + + + + Represents a comment object used by objects, and . + + + + + Gets or sets the amount of empty lines before this comment's text. + + + + + Gets or sets the amount of whitespace characters before this comment's text. + + + + + Gets or sets a text of this instance. + + + + + Defines comment's starting character. + + + + + Use ';' as comment's starting character. + + + + + Use '#' as comment's starting character. + + + + + Defines a behaviour for duplicate occurences. + + + + + Allow duplicate names in . + + + + + Disallow duplicate names in . + + + + + Ignore duplicate names. + + + + + In-memory representation of an INI file. + + + + + Initializes a new instance of class. + + + + + Initializes a new instance of class. + + + object that defines INI file's format, settings for both Load and Save methods. + + + + Loads a file from a stream. + + Stream from which to load a file. + + + + Loads a file from a reader. + + Reader from which to load a file. + + + + Loads a file from a path. + + Path from which to load a file. + + + + Saves a file to a stream. + + Stream to which to save a file. + + + + Saves a file to a writer. + + Writer to which to save a file. + + + + Saves a file to a path. + + Path to which to save a file. + + + + Gets file's sections. + + + + + Gets the object that exposes binding operations, which are executed with methods. + + + + + Gets the mappings of s and their results, used in methods. + + + + + Represents a base class for INI content items, and . + + + + + Gets the object that represents a comment that follows this on the same line. + + + + + Gets or sets the amount of whitespace characters before this item's name. + + + + + Gets and sets the name of the current . + + + + + Gets the to which this belongs to. + + + + + Gets the object that represents a comments that occur before this . + + + + + Represents a base generic class for INI content item collections, and . + + + derived type. + + + + Adds an item to the end of this collection. + + Item to add to this collection. + + + + Removes all items from this collection. + + + + + Determines whether an item is in this collection. + + Name of the item to locate in this collection. + + if the item with specified name is in the collection. + + + + Determines whether an item is in this collection. + + Item to locate in this collection. + + if the specified item is in the collection. + + + + Shallow copies the items of this collection to an array. + + One-dimensional array that is the destination of the items copied from this collection. + Zero-based index in array at which copying begins. + + + + Gets the number of items in this collection. + + + + + Returns an enumerator that iterates through the collection. + + + object that can be used to iterate through the collection. + + + + Searches for the specified item and returns the zero-based index of the first occurrence within this collection. + + Name of the item to locate in this collection. + Index of the first occurrence of the item with specified name in the collection. + + + + Searches for the specified item and returns the zero-based index of the first occurrence within this collection. + + Item to locate in this collection. + Index of the first occurrence of specified item in the collection. + + + + Inserts an item to this collection at the specified index. + + Zero-based index at which item should be inserted. + Item to insert to this collection. + + + + Gets or sets the item at the specified index. + + Zero-based index of the item to get or set. + + + + Gets the first item of the specified name. + + Name of the item to get. + + + + Gets the first items of the specified names. + + Names of the items to get. + + + + Removes the first occurrence of specific item from this collection. + + Name of the item to remove from this collection. + + if the item with specified name is removed from the collection. + + + + Removes the first occurrence of specific item from this collection. + + Item to remove from this collection. + + if the specified item is removed from the collection. + + + + Removes an item at the specified index from this collection. + + Zero-based index at which item should be inserted. + + + + Represents a key item of the INI file with name and value content. + + + + + Initializes a new instance of the class. + + The owner file. + The key's data, pair of key's name and key's value. + + + + Initializes a new instance of the class. + + The owner file. + The key's name. + + + + Initializes a new instance of the class. + + The owner file. + The key's name. + The key's value. + + + + Copies this instance. + + Copied . + + + + Copies this instance and sets copied instance's ParentFile. + + Copied key's parent file. + Copied that belongs to a specified . + + + + Indicates whether the can be converted to specified type. + + Type of the object to convert the to. + + if the specified type is supported. + + + + Gets the to which this belongs to. + + + + + Gets the to which this belongs to. + + + + + Converts the to a list of the specified type. + + Uninitialized list of a specific type which will hold the converted values if the conversion succeeds. + Type of the objects in list to convert the to. + Value that indicates whether the conversion succeeded. + + + + Converts the to an instance of the specified type. + + Uninitialized instance of a specific type which will hold the converted value if the conversion succeeds. + Type of the object to convert the to. + Value that indicates whether the conversion succeeded. + + + + Converts the to an array of the specified type. + + Uninitialized array of a specific type which will hold the converted values if the conversion succeeds. + Type of the objects in array to convert the to. + Value that indicates whether the conversion succeeded. + + + + Gets and sets value. + + + + + Represents a collection of items. + + + + + Adds an item to the end of this collection. + + The key's data, pair of key's name and key's value, to add to this collection. + + that was added to this collection. + + + + Adds an item to the end of this collection. + + Name of the to add to this collection. + + that was added to this collection. + + + + Adds an item to the end of this collection. + + Name of the to add to this collection. + Value of the to add to this collection. + + that was added to this collection. + + + + Inserts an item to this collection at the specified index. + + Zero-based index at which item should be inserted. + The key's data, pair of key's name and key's value, to insert to this collection. + + that was inserted to this collection. + + + + Inserts an item to this collection at the specified index. + + Zero-based index at which item should be inserted. + Name of the to insert to this collection. + + that was inserted to this collection. + + + + Inserts an item to this collection at the specified index. + + Zero-based index at which item should be inserted. + Name of the to insert to this collection. + Value of the to insert to this collection. + + that was inserted to this collection. + + + + Defines key's name and value delimiter character. + + + + + Use '=' as key's name and value delimiter character. + + + + + Use ':' as key's name and value delimiter character. + + + + + Represents a class that defines INI file's format, stores properties used for both reading and writing a file. + + + + + Initializes a new instance of the class. + + + + + Gets or sets comments starting character. + + + + + Gets or sets a value indicating if file's size is reduced. + If file is decompressed on Load and compressed on Save. + + + + + Gets or sets encoding for reading and writing an INI file. + + + + + Gets or sets an INI file's protection password. + File is decrypted on Load and encrypted on Save if a password is not or . + + + + + Gets or sets keys name and value delimiter character. + + + + + Gets or sets a value indicating whether keys with same name are allowed, disallowed or ignored. + + + + + Gets or sets a value indicating whether keys name are case sensitive. + + + + + Gets or sets a value indicating whether space is written around the keys delimiter. + + + + + Gets or sets a value indicating whether sections with same name are allowed, disallowed or ignored. + + + + + Gets or sets a value indicating whether sections name are case sensitive. + + + + + Gets or sets wrapper characters of sections name. + + + + + Represents a section item of the INI file with name and keys content. + + + + + Initializes a new instance of the class. + + The owner file. + The section's name. + + + + Initializes a new instance of the class. + + The owner file. + The section's name. + The section's keys. + + + + Initializes a new instance of the class. + + The owner file. + The section's name. + The section's keys. + + + + Initializes a new instance of the class. + + The owner file. + The section's name. + The section's keys data, pairs of key's name and key's value. + + + + Copies this instance. + + Copied . + + + + Copies this instance and sets copied instance's ParentFile. + + Copied section's parent file. + Copied that belongs to a specified . + + + + Deserializes this into an object of specified type. + + The type of deserialized object. + The object being deserialized. + + + + Represents a section name which is used to define a global section, used for storing first keys series that don't belong to any section. + + + + + Gets the section's key collection. + + + + + Gets the to which this belongs to. + + + + + Serializes the specified object into this . + + The object to serialize. + The type of serialized object. + + + + Represents a collection of items. + + + + + Adds an item to the end of this collection. + + Name of the to add to this collection. + + that was added to this collection. + + + + Adds an item to the end of this collection. + + Name of the to add to this collection. + The section's keys data, pairs of key's name and key's value, to add to this collection. + + that was added to this collection. + + + + Inserts an item to this collection at the specified index. + + Zero-based index at which item should be inserted. + Name of the to insert to this collection. + + that was inserted to this collection. + + + + Inserts an item to this collection at the specified index. + + Zero-based index at which item should be inserted. + Name of the to insert to this collection. + The section's keys data, pairs of key's name and key's value, to insert to this collection. + + that was inserted to this collection. + + + + Defines section's wrapper characters around its name. + + + + + Use '[' and ']' as section's wrapper characters. + + + + + Use '<' and '>' as section's wrapper characters. + + + + + Use '{' and '}' as section's wrapper characters. + + + + + Use '(' and ')' as section's wrapper characters. + + + + + Indicates the behavior of public property when serializing or deserializing the object that contains it. + + + + + Initializes a new instance of the IniSerializationAttribute class and specifies if serialization is ignored. + + The value indicating whether serialization is ignored. + + + + Initializes a new instance of the IniSerializationAttribute class and specifies the 's name. + + The name of the generated . + + + + Gets the name of serialized the property. + + + + + Gets the value indicating whether serialization is ignored. + + + + + Represents a class that is used for binding operations, an operation in which the placeholder keys values are replaced with an internal or external data. + + + + + Executes a binding operation with internal data source. + + + + + Executes a binding operation with external data source. + + The binding data source. + + + + Executes a binding operation with external data source, only on specified section. + + The binding data source. + The 's name. + + + + Occurs when a placeholder is binding with data source value and can be used to customize the binding operation. + + + + + Provides data for event. + + + + + Gets a value indicating whether value was found in the data source. + + + + + Gets the placeholder's . + + + + + Gets the placeholder's name. + + + + + Gets or sets the data source value that will replace the placeholder. + + + + + Represents a class of mapped s and their results, used in methods. + + + + + Adds a new mapping of to resulting object of parse methods. + + The key's value. + The object that represents parsed . + Type of the object that represents parsed . + + + + Determines whether the collection contains a mapping for a specified key's value. + + The key's value to locate in the collection. + + if the collection contains a mapping for a specified key's value. + + + + Removes a mapping for a specified key's value in the collection. + + The key's value to remove in the collection. + + if a mapping for a specified key's value is successfully found and removed. + + + \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini.zip b/MadMilkman.Ini-1.0.6/MadMilkman.Ini.zip new file mode 100644 index 0000000000000000000000000000000000000000..36e253f0b31033c9e1ee5c3e41c9de0ffa996b60 GIT binary patch literal 23685 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 literal 0 HcmV?d00001 diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniCommentStarter.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniCommentStarter.cs new file mode 100644 index 0000000..a220584 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniCommentStarter.cs @@ -0,0 +1,19 @@ +namespace MadMilkman.Ini +{ + /// + /// Defines comment's starting character. + /// + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1008:EnumsShouldHaveZeroValue", + Justification = "I'm defining and using enum values with specific characters and null character, aka '\0', has no purpose here.")] + public enum IniCommentStarter + { + /// + /// Use ';' as comment's starting character. + /// + Semicolon = ';', + /// + /// Use '#' as comment's starting character. + /// + Hash = '#' + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniCommentType.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniCommentType.cs new file mode 100644 index 0000000..55ad338 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniCommentType.cs @@ -0,0 +1,8 @@ +namespace MadMilkman.Ini +{ + internal enum IniCommentType + { + Leading = 0, + Trailing + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniDuplication.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniDuplication.cs new file mode 100644 index 0000000..9058cd3 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniDuplication.cs @@ -0,0 +1,27 @@ +namespace MadMilkman.Ini +{ + /// + /// Defines a behaviour for duplicate occurences. + /// + public enum IniDuplication + { + /// + /// Allow duplicate names in . + /// + Allowed = 0, + /// + /// Disallow duplicate names in . + /// + /// + /// is thrown on duplicate name occurence. + /// + Disallowed, + /// + /// Ignore duplicate names. + /// + /// + /// Prevents adding or inserting an if its name already exists in . + /// + Ignored + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniKeyDelimiter.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniKeyDelimiter.cs new file mode 100644 index 0000000..72e8803 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniKeyDelimiter.cs @@ -0,0 +1,19 @@ +namespace MadMilkman.Ini +{ + /// + /// Defines key's name and value delimiter character. + /// + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1008:EnumsShouldHaveZeroValue", + Justification = "I'm defining and using enum values with specific characters and null character, aka '\0', has no purpose here.")] + public enum IniKeyDelimiter + { + /// + /// Use '=' as key's name and value delimiter character. + /// + Equal = '=', + /// + /// Use ':' as key's name and value delimiter character. + /// + Colon = ':' + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniSectionWrapper.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniSectionWrapper.cs new file mode 100644 index 0000000..8d0a86d --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniEnums/IniSectionWrapper.cs @@ -0,0 +1,26 @@ +namespace MadMilkman.Ini +{ + /// + /// Defines section's wrapper characters around its name. + /// + public enum IniSectionWrapper + { + /// + /// Use '[' and ']' as section's wrapper characters. + /// + SquareBrackets = 0, + /// + /// Use '<' and '>' as section's wrapper characters. + /// + AngleBrackets, + /// + /// Use '{' and '}' as section's wrapper characters. + /// + CurlyBrackets, + /// + /// Use '(' and ')' as section's wrapper characters. + /// + Parentheses + } +} + diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniFile.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniFile.cs new file mode 100644 index 0000000..c8ba91b --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniFile.cs @@ -0,0 +1,161 @@ +using System; +using System.IO; +using System.Diagnostics; + +namespace MadMilkman.Ini +{ + /// + /// In-memory representation of an INI file. + /// + /// + /// is a central class of MadMilkman.Ini component. + /// To define an INI file's format use object. + /// To load (read) an INI file from a file's path or a stream use IniFile.Load methods. + /// To save (write) an INI file to a file's path or a stream use IniFile.Save methods. + /// To view INI file's structure representation see IniFile's Content Hierarchy Diagram. + /// + /// Overview + /// INI file format on Wikipedia. + public sealed class IniFile + { + internal readonly IniOptions options; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private readonly IniSectionCollection sections; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private IniValueMappings valueMappings; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private IniValueBinding valueBinding; + + /// + /// Initializes a new instance of class. + /// + public IniFile() : this(new IniOptions()) { } + + /// + /// Initializes a new instance of class. + /// + /// object that defines INI file's format, settings for both Load and Save methods. + public IniFile(IniOptions options) + { + if (options == null) + throw new ArgumentNullException("options"); + + this.options = new IniOptions(options); + this.sections = new IniSectionCollection(this, options.SectionDuplicate, options.SectionNameCaseSensitive); + } + + /// + /// Gets file's sections. + /// + public IniSectionCollection Sections { get { return this.sections; } } + + /// + /// Gets the mappings of s and their results, used in methods. + /// + public IniValueMappings ValueMappings + { + get + { + if (this.valueMappings == null) + this.valueMappings = new IniValueMappings(); + return this.valueMappings; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal bool HasValueMappings { get { return this.valueMappings != null; } } + + /// + /// Gets the object that exposes binding operations, which are executed with methods. + /// + public IniValueBinding ValueBinding + { + get + { + if (this.valueBinding == null) + this.valueBinding = new IniValueBinding(this); + return this.valueBinding; + } + } + + /// + /// Loads a file from a path. + /// + /// Path from which to load a file. + public void Load(string filePath) + { + if (filePath == null) + throw new ArgumentNullException("filePath"); + + using (Stream fileStream = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) + this.Load(fileStream); + } + + /// + /// Loads a file from a stream. + /// + /// Stream from which to load a file. + public void Load(Stream fileStream) + { + if (fileStream == null) + throw new ArgumentNullException("fileStream"); + + this.Load(new StreamReader(fileStream, this.options.Encoding)); + + if (fileStream.CanSeek) + fileStream.Seek(0, SeekOrigin.Begin); + } + + /// + /// Loads a file from a reader. + /// + /// Reader from which to load a file. + public void Load(TextReader fileReader) + { + if (fileReader == null) + throw new ArgumentNullException("fileReader"); + + new IniReader(this.options).Read(this, fileReader); + } + + /// + /// Saves a file to a path. + /// + /// Path to which to save a file. + public void Save(string filePath) + { + if (filePath == null) + throw new ArgumentNullException("filePath"); + + using (Stream fileStream = File.Create(filePath)) + this.Save(fileStream); + } + + /// + /// Saves a file to a stream. + /// + /// Stream to which to save a file. + public void Save(Stream fileStream) + { + if (fileStream == null) + throw new ArgumentNullException("fileStream"); + + this.Save(new StreamWriter(fileStream, this.options.Encoding)); + + if (fileStream.CanSeek) + fileStream.Seek(0, SeekOrigin.Begin); + } + + /// + /// Saves a file to a writer. + /// + /// Writer to which to save a file. + public void Save(TextWriter fileWriter) + { + if (fileWriter == null) + throw new ArgumentNullException("fileWriter"); + + new IniWriter(this.options).Write(this, fileWriter); + } + } +} \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniInternal/DebugCollectionViewer.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniInternal/DebugCollectionViewer.cs new file mode 100644 index 0000000..216c17e --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniInternal/DebugCollectionViewer.cs @@ -0,0 +1,29 @@ +using System.Diagnostics; +using System.Collections.Generic; + +namespace MadMilkman.Ini +{ + internal sealed class DebugCollectionViewer + { + private readonly IEnumerable sequence; + + public DebugCollectionViewer(IEnumerable sequence) + { + if (sequence == null) + throw new System.ArgumentNullException("sequence"); + this.sequence = sequence; + } + + [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)] + public T[] Items + { + get + { + var collection = this.sequence as ICollection ?? new List(this.sequence); + var array = new T[collection.Count]; + collection.CopyTo(array, 0); + return array; + } + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniInternal/GlobalSuppressions.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniInternal/GlobalSuppressions.cs new file mode 100644 index 0000000000000000000000000000000000000000..bdd9ba5875d41a1efd59c876343a937f268afc40 GIT binary patch literal 12958 zcmeHNZEF)j5T4J1|KW^ZTIido2t|dYtrDcIm{O4L%=g!W!`c6WB3nc11!`SW{Mb|sKAxt4*%xVyx4D1F@7^AvCU(!=vtxxxPf8RLoV zO^GA~?F}f5HbGk;BfK4;Ety>d>Bv-m;5R|P7{BA$HIyqI>7hIT7vv*EuLN`h%r?ax z=>uG^wT0~*gIA6>1fB6_Gn39Z;ap?+hSn~6??^hs`%KHWuJtGAh8Q)@@j1X4k#f+- zxE#HY-hpz%J^@;}Vy<+eYf11lRvO3Y6?&33LQBd;h^H7UAb$gudABf5h(45i44Sdh z^2t`p{*?X*BXFD$G=169_8X<;JzGbRB)R5uAHBPC(n$F^({+THk8>DzS&_M&&%zOzJ}f3gXnj98Gy5d-4>&eU&b`nxKd2FGr@X(8I)-mv=Fo2?U>u!c#MEw$>KN~Ox}qU; zm%c2*YN!c=f7dp+q%s@;&{2_7jJM<<-n+>Ajej zGZOdc)QgVGR6G)Odn|`UStiJw(IZqhLhsuo0d;`HXQr>?4bZ-(7f0S>+r0DtG=YMjyeSo%1rM z^m~8Zdq2_PITgDuKp-4#fo(StT{3(T32kyB{_7pSFDv_eFXC~7l*kzjORFm-@_R^*Jys- z>MHEip5JfhD=#B0RzEtrCuByZ=y;yZ}|K5OBe-2Bhzq^D-bXw$m*ha2yi|6sArGM}kSHYN7x>nuC zYCi54l)jVq>XA=(@N67hjJBv7Z6M8ED$R1ZD`dUKyiRQCj<~E|(7tGI-8xQojuvD^ zX|c*L@|ssE+9=mNcgnNs_`~ZRt!Op1#p@mg#Tru&5i#_kxvXJk{_TC8?W1`=xY*bI E1w25|@&Et; literal 0 HcmV?d00001 diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniInternal/IItemNameVerifier.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniInternal/IItemNameVerifier.cs new file mode 100644 index 0000000..deb4a61 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniInternal/IItemNameVerifier.cs @@ -0,0 +1,4 @@ +namespace MadMilkman.Ini +{ + internal interface IItemNameVerifier { bool VerifyItemName(string name); } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniInternal/SharedDocumentationComments.xml b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniInternal/SharedDocumentationComments.xml new file mode 100644 index 0000000..61e4e4a --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniInternal/SharedDocumentationComments.xml @@ -0,0 +1,20 @@ + + + + + If item duplicates are ignored and this item is a duplicate, has an existing name in this collection, then it is not added. + + + + + If item duplicates are ignored and this item is a duplicate, has an existing name in this collection, then it is not inserted. + + + + + For supported types see the remarks of method. + Mapped value results in have priority over parsing the value. + + IniKey's Value Parsing + + \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItems/IniComment.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItems/IniComment.cs new file mode 100644 index 0000000..1b61f41 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItems/IniComment.cs @@ -0,0 +1,58 @@ +using System.Diagnostics; + +namespace MadMilkman.Ini +{ + /// + /// Represents a comment object used by objects, and . + /// + [DebuggerDisplay("Text = {Text}")] + public sealed class IniComment + { + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private string text; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private readonly IniCommentType type; + + /// + /// Gets or sets the amount of empty lines before this comment's text. + /// + public int EmptyLinesBefore { get; set; } + + /// + /// Gets or sets the amount of whitespace characters before this comment's text. + /// + public int LeftIndentation { get; set; } + + /// + /// Gets or sets a text of this instance. + /// + /// + /// For LeadingComment text should not contain new line characters. + /// If it does, they will be replaced with a space characters. + /// + public string Text + { + get { return this.text; } + set + { + if (value != null && this.type == IniCommentType.Leading) + this.text = value.Replace("\r\n", " ") + .Replace("\n", " ") + .Replace("\r", " "); + else + this.text = value; + } + } + + internal IniComment(IniCommentType type) { this.type = type; } + + // Deep copy constructor. + internal IniComment(IniComment source) + { + this.text = source.text; + this.type = source.type; + this.EmptyLinesBefore = source.EmptyLinesBefore; + this.LeftIndentation = source.LeftIndentation; + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItems/IniItem.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItems/IniItem.cs new file mode 100644 index 0000000..99b7930 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItems/IniItem.cs @@ -0,0 +1,112 @@ +using System; +using System.Diagnostics; + +namespace MadMilkman.Ini +{ + /// + /// Represents a base class for INI content items, and . + /// + /// + /// All INI items share the same content like , and . + /// These properties are defined on an class, a base class for INI content items. + /// + [DebuggerDisplay("Name = {Name}")] + public abstract class IniItem + { + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private string name; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private readonly IniFile parentFile; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private IniComment leadingComment; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private IniComment trailingComment; + + /// + /// Gets and sets the name of the current . + /// + /// + /// When setting the value is verified by the item's rule. + /// + public string Name + { + get { return this.name; } + set + { + if (this.ParentCollectionCore == null || ((IItemNameVerifier)this.ParentCollectionCore).VerifyItemName(value)) + this.name = value; + } + } + + /// + /// Gets or sets the amount of whitespace characters before this item's name. + /// + public int LeftIndentation { get; set; } + + /// + /// Gets the object that represents a comment that follows this on the same line. + /// + public IniComment LeadingComment + { + get + { + if (this.leadingComment == null) + this.leadingComment = new IniComment(IniCommentType.Leading); + return this.leadingComment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal bool HasLeadingComment { get { return this.leadingComment != null; } } + + /// + /// Gets the object that represents a comments that occur before this . + /// + public IniComment TrailingComment + { + get + { + if (this.trailingComment == null) + this.trailingComment = new IniComment(IniCommentType.Trailing); + return this.trailingComment; + } + } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal bool HasTrailingComment { get { return this.trailingComment != null; } } + + /// + /// Gets the to which this belongs to. + /// + public IniFile ParentFile { get { return this.parentFile; } } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal object ParentCollectionCore { get; set; } + + internal IniItem(IniFile parentFile, string name, IniComment trailingComment = null) + { + if (name == null) + throw new ArgumentNullException("name"); + if (parentFile == null) + throw new ArgumentNullException("parentFile"); + + this.name = name; + this.parentFile = parentFile; + this.trailingComment = trailingComment; + } + + // Deep copy constructor. + internal IniItem(IniFile parentFile, IniItem sourceItem) + { + if (parentFile == null) + throw new ArgumentNullException("parentFile"); + + this.name = sourceItem.name; + this.parentFile = parentFile; + if (sourceItem.HasLeadingComment) + this.leadingComment = new IniComment(sourceItem.leadingComment); + if (sourceItem.HasTrailingComment) + this.trailingComment = new IniComment(sourceItem.trailingComment); + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItems/IniKey.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItems/IniKey.cs new file mode 100644 index 0000000..13fa87b --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItems/IniKey.cs @@ -0,0 +1,211 @@ +using System; +using System.Diagnostics; +using System.Collections.Generic; + +namespace MadMilkman.Ini +{ + /// + /// Represents a key item of the INI file with name and value content. + /// + public sealed class IniKey : IniItem + { + /// + /// Gets and sets value. + /// + /// IniKey's Value Parsing + /// IniKey's Value Binding + public string Value { get; set; } + + /// + /// Gets the to which this belongs to. + /// + public IniKeyCollection ParentCollection { get { return (IniKeyCollection)this.ParentCollectionCore; } } + + /// + /// Gets the to which this belongs to. + /// + public IniSection ParentSection { get { return (IniSection)((this.ParentCollectionCore != null) ? this.ParentCollection.Owner : null); } } + + internal bool IsValueArray + { + get + { + return !string.IsNullOrEmpty(this.Value) && + this.Value[0] == '{' && + this.Value[this.Value.Length - 1] == '}'; + } + } + + internal string[] Values + { + get + { + var values = this.Value.Substring(1, this.Value.Length - 2).Split(','); + for (int i = 0; i < values.Length; i++) + values[i] = values[i].Trim(); + return values; + } + set + { + this.Value = "{" + string.Join(",", value) + "}"; + } + } + + /// + /// Initializes a new instance of the class. + /// + /// The owner file. + /// The key's name. + public IniKey(IniFile parentFile, string name) : this(parentFile, name, (string)null) { } + + /// + /// Initializes a new instance of the class. + /// + /// The owner file. + /// The key's name. + /// The key's value. + public IniKey(IniFile parentFile, string name, string value) : base(parentFile, name) { this.Value = value; } + + /// + /// Initializes a new instance of the class. + /// + /// The owner file. + /// The key's data, pair of key's name and key's value. + public IniKey(IniFile parentFile, KeyValuePair nameValuePair) : base(parentFile, nameValuePair.Key) { this.Value = nameValuePair.Value; } + + // Constructor used by IniReader. + internal IniKey(IniFile parentFile, string name, IniComment trailingComment) + : base(parentFile, name, trailingComment) { } + + // Deep copy constructor. + internal IniKey(IniFile destinationFile, IniKey sourceKey) + : base(destinationFile, sourceKey) { this.Value = sourceKey.Value; } + + /// + /// Copies this instance. + /// + /// Copied . + /// IniItem's Copying + public IniKey Copy() { return this.Copy(this.ParentFile); } + + /// + /// Copies this instance and sets copied instance's ParentFile. + /// + /// Copied key's parent file. + /// Copied that belongs to a specified . + /// IniItem's Copying + public IniKey Copy(IniFile destinationFile) { return new IniKey(destinationFile, this); } + + /// + /// Indicates whether the can be converted to specified type. + /// + /// Type of the object to convert the to. + /// if the specified type is supported. + /// + /// Currently supported types are: + /// + /// System.Boolean + /// System.Byte + /// System.SByte + /// System.Int16 + /// System.UInt16 + /// System.Int32 + /// System.UInt32 + /// System.Int64 + /// System.UInt64 + /// System.Char + /// System.Single + /// System.Double + /// System.Decimal + /// System.DateTime + /// System.TimeSpan + /// System.Enum + /// System.String + /// + /// Additionally both Array and List of the above types are supported. + /// + public static bool IsSupportedValueType(Type type) + { + if (type == null) + throw new ArgumentNullException("type"); + + return type.IsPrimitive || + type.IsEnum || + type == typeof(String) || + type == typeof(Decimal) || + type == typeof(DateTime) || + type == typeof(TimeSpan) || + (type.IsArray && IsSupportedValueType(type.GetElementType())) || + (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(List<>) && IsSupportedValueType(type.GetGenericArguments()[0])); + } + + /// + /// Converts the to an instance of the specified type. + /// + /// Uninitialized instance of a specific type which will hold the converted value if the conversion succeeds. + /// Type of the object to convert the to. + /// Value that indicates whether the conversion succeeded. + /// + public bool TryParseValue(out T result) + { + if (this.ParentFile.HasValueMappings && this.ParentFile.ValueMappings.TryGetResult(this.Value, out result)) + return true; + else + return IniValueParser.TryParse(this.Value, out result); + } + + /// + /// Converts the to an array of the specified type. + /// + /// Uninitialized array of a specific type which will hold the converted values if the conversion succeeds. + /// Type of the objects in array to convert the to. + /// Value that indicates whether the conversion succeeded. + /// + public bool TryParseValue(out T[] results) + { + List listResults; + if (this.TryParseValue(out listResults)) + { + results = listResults.ToArray(); + return true; + } + + results = null; + return false; + } + + /// + /// Converts the to a list of the specified type. + /// + /// Uninitialized list of a specific type which will hold the converted values if the conversion succeeds. + /// Type of the objects in list to convert the to. + /// Value that indicates whether the conversion succeeded. + /// + public bool TryParseValue(out List results) + { + if (this.IsValueArray) + { + var listResults = new List(); + foreach (var value in this.Values) + { + T result; + if (this.ParentFile.HasValueMappings && this.ParentFile.ValueMappings.TryGetResult(value, out result)) + listResults.Add(result); + else if (IniValueParser.TryParse(value, out result)) + listResults.Add(result); + else + { + results = null; + return false; + } + } + + results = listResults; + return true; + } + + results = null; + return false; + } + } +} \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItems/IniSection.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItems/IniSection.cs new file mode 100644 index 0000000..6a75879 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItems/IniSection.cs @@ -0,0 +1,132 @@ +using System.Diagnostics; +using System.Collections.Generic; + +namespace MadMilkman.Ini +{ + /// + /// Represents a section item of the INI file with name and keys content. + /// + public sealed class IniSection : IniItem + { + /// + /// Represents a section name which is used to define a global section, used for storing first keys series that don't belong to any section. + /// + /// + /// + /// If a section with this name is located as a first file's section then its name and comments are ignored. + /// If a section with this name isn't located as first file's section then it will be written with MADMILKMAN_INI_FILE_GLOBAL_SECTION name. + /// + /// + public const string GlobalSectionName = "MADMILKMAN_INI_FILE_GLOBAL_SECTION"; + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private readonly IniKeyCollection keys; + + /// + /// Gets the section's key collection. + /// + public IniKeyCollection Keys { get { return this.keys; } } + + /// + /// Gets the to which this belongs to. + /// + public IniSectionCollection ParentCollection { get { return (IniSectionCollection)this.ParentCollectionCore; } } + + /// + /// Initializes a new instance of the class. + /// + /// The owner file. + /// The section's name. + public IniSection(IniFile parentFile, string name) : this(parentFile, name, (IEnumerable)null) { } + + /// + /// Initializes a new instance of the class. + /// + /// The owner file. + /// The section's name. + /// The section's keys. + public IniSection(IniFile parentFile, string name, params IniKey[] keys) : this(parentFile, name, (IEnumerable)keys) { } + + /// + /// Initializes a new instance of the class. + /// + /// The owner file. + /// The section's name. + /// The section's keys data, pairs of key's name and key's value. + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures", + Justification = "I don't want to use IDictionary, there is no need for such a contract because IEnumerable> is enough.")] + public IniSection(IniFile parentFile, string name, IEnumerable> nameValuePairs) + : this(parentFile, name, GetIniKeysFromKeyValuePairs(parentFile, nameValuePairs)) { } + + /// + /// Initializes a new instance of the class. + /// + /// The owner file. + /// The section's name. + /// The section's keys. + public IniSection(IniFile parentFile, string name, IEnumerable keys) + : base(parentFile, name) + { + this.keys = new IniKeyCollection(parentFile, this, parentFile.options.KeyDuplicate, parentFile.options.KeyNameCaseSensitive); + + if (keys != null) + foreach (IniKey key in keys) + this.keys.Add(key); + } + + // Constructor used by IniReader. + internal IniSection(IniFile parentFile, string name, IniComment trailingComment) + : base(parentFile, name, trailingComment) + { + this.keys = new IniKeyCollection(parentFile, this, parentFile.options.KeyDuplicate, parentFile.options.KeyNameCaseSensitive); + } + + // Deep copy constructor. + internal IniSection(IniFile destinationFile, IniSection sourceSection) + : base(destinationFile, sourceSection) + { + this.keys = new IniKeyCollection(destinationFile, this, destinationFile.options.KeyDuplicate, destinationFile.options.KeyNameCaseSensitive); + + foreach (var key in sourceSection.keys) + this.keys.Add(key.Copy(destinationFile)); + } + + /// + /// Copies this instance. + /// + /// Copied . + /// IniItem's Copying + public IniSection Copy() { return this.Copy(this.ParentFile); } + + /// + /// Copies this instance and sets copied instance's ParentFile. + /// + /// Copied section's parent file. + /// Copied that belongs to a specified . + /// IniItem's Copying + public IniSection Copy(IniFile destinationFile) { return new IniSection(destinationFile, this); } + + /// + /// Serializes the specified object into this . + /// + /// The type of serialized object. + /// The object to serialize. + /// IniSection's Object Serialization + public void Serialize(T source) where T : class, new() { IniSerializer.Serialize(source, this); } + + /// + /// Deserializes this into an object of specified type. + /// + /// The type of deserialized object. + /// The object being deserialized. + /// IniSection's Object Serialization + public T Deserialize() where T : class, new() { return IniSerializer.Deserialize(this); } + + private static IEnumerable GetIniKeysFromKeyValuePairs(IniFile parentFile, IEnumerable> nameValuePairs) + { + if (nameValuePairs != null) + foreach (var pair in nameValuePairs) + yield return new IniKey(parentFile, pair); + } + } +} \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItemsCollection/IniItemCollection.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItemsCollection/IniItemCollection.cs new file mode 100644 index 0000000..5cbe2bc --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItemsCollection/IniItemCollection.cs @@ -0,0 +1,291 @@ +using System; +using System.Diagnostics; +using System.Collections; +using System.Collections.Generic; + +namespace MadMilkman.Ini +{ + /// + /// Represents a base generic class for INI content item collections, and . + /// + /// derived type. + /// + [DebuggerDisplay("Count = {Count}"), DebuggerTypeProxy(typeof(DebugCollectionViewer<>))] + public abstract class IniItemCollection : IItemNameVerifier, IList where T : IniItem + { + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private readonly bool caseSensitive; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private readonly IniDuplication duplication; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private readonly IList items; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private readonly IniFile parentFile; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private readonly IniItem owner; + + /// + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + protected IniFile ParentFile { get { return this.parentFile; } } + + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal IniItem Owner { get { return this.owner; } } + + /// + /// + /// Gets the number of items in this collection. + /// + public int Count { get { return this.items.Count; } } + + internal IniItemCollection(IniFile parentFile, IniItem owner, IniDuplication duplication, bool caseSensitive) + { + this.caseSensitive = caseSensitive; + this.duplication = duplication; + this.parentFile = parentFile; + this.owner = owner; + this.items = new List(); + } + + /// + /// Adds an item to the end of this collection. + /// + /// Item to add to this collection. + /// + public void Add(T item) + { + if (this.VerifyItem(item)) + this.items.Add(item); + } + + /// + /// Removes all items from this collection. + /// + public void Clear() + { + foreach (var item in this.items) + item.ParentCollectionCore = null; + this.items.Clear(); + } + + /// + /// Determines whether an item is in this collection. + /// + /// Item to locate in this collection. + /// if the specified item is in the collection. + public bool Contains(T item) { return this.items.Contains(item); } + + /// + /// Determines whether an item is in this collection. + /// + /// Name of the item to locate in this collection. + /// if the item with specified name is in the collection. + public bool Contains(string name) { return this.GetItemIndexByName(name) != -1; } + + /// + /// Shallow copies the items of this collection to an array. + /// + /// One-dimensional array that is the destination of the items copied from this collection. + /// Zero-based index in array at which copying begins. + public void CopyTo(T[] array, int arrayIndex) { this.items.CopyTo(array, arrayIndex); } + + /// + /// Searches for the specified item and returns the zero-based index of the first occurrence within this collection. + /// + /// Item to locate in this collection. + /// Index of the first occurrence of specified item in the collection. + public int IndexOf(T item) { return this.items.IndexOf(item); } + + /// + /// Searches for the specified item and returns the zero-based index of the first occurrence within this collection. + /// + /// Name of the item to locate in this collection. + /// Index of the first occurrence of the item with specified name in the collection. + public int IndexOf(string name) { return this.GetItemIndexByName(name); } + + /// + /// Inserts an item to this collection at the specified index. + /// + /// Zero-based index at which item should be inserted. + /// Item to insert to this collection. + /// + public void Insert(int index, T item) + { + if (this.VerifyItem(item)) + this.items.Insert(index, item); + } + + /// + /// Removes the first occurrence of specific item from this collection. + /// + /// Item to remove from this collection. + /// if the specified item is removed from the collection. + public bool Remove(T item) + { + if (!this.items.Remove(item)) + return false; + + item.ParentCollectionCore = null; + return true; + } + + /// + /// Removes the first occurrence of specific item from this collection. + /// + /// Name of the item to remove from this collection. + /// if the item with specified name is removed from the collection. + public bool Remove(string name) + { + int index = this.GetItemIndexByName(name); + + if (index == -1) + return false; + + this.items.RemoveAt(index); + return true; + } + + /// + /// Removes an item at the specified index from this collection. + /// + /// Zero-based index at which item should be inserted. + public void RemoveAt(int index) + { + this.items[index].ParentCollectionCore = null; + this.items.RemoveAt(index); + } + + /// + /// Gets or sets the item at the specified index. + /// + /// Zero-based index of the item to get or set. + /// + /// If item duplicates are ignored and value is a duplicate item, has an existing name in this collection, then this value is ignored. + /// + public T this[int index] + { + get { return this.items[index]; } + set + { + if (this.VerifyItem(value)) + { + this.items[index].ParentCollectionCore = null; + this.items[index] = value; + } + } + } + + /// + /// Gets the first item of the specified name. + /// + /// Name of the item to get. + /// If item with the specified name doesn't exist a value is returned. + public T this[string name] + { + get + { + int index = this.GetItemIndexByName(name); + return (index != -1) ? this.items[index] : null; + } + } + + /// + /// Gets the first items of the specified names. + /// + /// Names of the items to get. + /// If item with any specified name doesn't exist a value is returned in its place. + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1043:UseIntegralOrStringArgumentForIndexers", + Justification = "I believe that this non-standard indexer can provide some useful data store access.")] + public IEnumerable this[params string[] names] + { + get + { + var returnedNames = new Dictionary(); + int index; + + for (int i = 0; i < names.Length; i++) + { + string name = names[i]; + + if (returnedNames.TryGetValue(name, out index)) + { + if (index != -1) + { + index = GetItemIndexByName(name, index + 1); + returnedNames[name] = index; + } + } + else + { + index = GetItemIndexByName(name); + returnedNames.Add(name, index); + } + + yield return (index != -1) ? this.items[index] : null; + } + } + } + + /// + /// Returns an enumerator that iterates through the collection. + /// + /// object that can be used to iterate through the collection. + public IEnumerator GetEnumerator() { return this.items.GetEnumerator(); } + + private int GetItemIndexByName(string name, int startIndex = 0) + { + var iniItems = (IEnumerable)this.items; + int index = 0; + + foreach (var item in iniItems) + { + if (index >= startIndex && + item.Name.Equals(name, (this.caseSensitive) ? StringComparison.Ordinal : StringComparison.OrdinalIgnoreCase)) + return index; + else + index++; + } + + return -1; + } + + private bool VerifyItem(IniItem item) + { + if (item == null) + throw new ArgumentNullException("item"); + + if (item.ParentFile != this.parentFile) + throw new InvalidOperationException(); + + if (item.ParentCollectionCore != null) + throw new InvalidOperationException(); + + if (!this.VerifyItemName(item.Name)) + return false; + + item.ParentCollectionCore = this; + return true; + } + + private bool VerifyItemName(string name) { return ((IItemNameVerifier)this).VerifyItemName(name); } + + bool IItemNameVerifier.VerifyItemName(string name) + { + if (this.duplication != IniDuplication.Allowed && this.Contains(name)) + { + if (this.duplication == IniDuplication.Disallowed) + throw new InvalidOperationException(); + + return false; + } + + return true; + } + + /// + IEnumerator IEnumerable.GetEnumerator() { return this.GetEnumerator(); } + + /// + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + bool ICollection.IsReadOnly { get { return false; } } + } +} \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItemsCollection/IniKeyCollection.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItemsCollection/IniKeyCollection.cs new file mode 100644 index 0000000..7c0b05d --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItemsCollection/IniKeyCollection.cs @@ -0,0 +1,77 @@ +using System.Collections.Generic; + +namespace MadMilkman.Ini +{ + /// + /// Represents a collection of items. + /// + /// + public sealed class IniKeyCollection : IniItemCollection + { + internal IniKeyCollection(IniFile parentFile, IniSection parentSection, IniDuplication duplication, bool caseSensitive) + : base(parentFile, parentSection, duplication, caseSensitive) { } + + /// + /// Adds an item to the end of this collection. + /// + /// Name of the to add to this collection. + /// that was added to this collection. + /// + public IniKey Add(string name) { return this.Add(name, null); } + + /// + /// Adds an item to the end of this collection. + /// + /// The key's data, pair of key's name and key's value, to add to this collection. + /// that was added to this collection. + /// + public IniKey Add(KeyValuePair nameValuePair) { return this.Add(nameValuePair.Key, nameValuePair.Value); } + + /// + /// Adds an item to the end of this collection. + /// + /// Name of the to add to this collection. + /// Value of the to add to this collection. + /// that was added to this collection. + /// + public IniKey Add(string name, string value) + { + var key = new IniKey(this.ParentFile, name, value); + this.Add(key); + return key; + } + + /// + /// Inserts an item to this collection at the specified index. + /// + /// Zero-based index at which item should be inserted. + /// Name of the to insert to this collection. + /// that was inserted to this collection. + /// + public IniKey Insert(int index, string name) { return this.Insert(index, name, null); } + + /// + /// Inserts an item to this collection at the specified index. + /// + /// Zero-based index at which item should be inserted. + /// The key's data, pair of key's name and key's value, to insert to this collection. + /// that was inserted to this collection. + /// + public IniKey Insert(int index, KeyValuePair nameValuePair){ return this.Insert(index, nameValuePair.Key, nameValuePair.Value); } + + /// + /// Inserts an item to this collection at the specified index. + /// + /// Zero-based index at which item should be inserted. + /// Name of the to insert to this collection. + /// Value of the to insert to this collection. + /// that was inserted to this collection. + /// + public IniKey Insert(int index, string name, string value) + { + var key = new IniKey(this.ParentFile, name, value); + this.Insert(index, key); + return key; + } + } +} \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItemsCollection/IniSectionCollection.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItemsCollection/IniSectionCollection.cs new file mode 100644 index 0000000..97386b5 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniItemsCollection/IniSectionCollection.cs @@ -0,0 +1,64 @@ +using System.Collections.Generic; + +namespace MadMilkman.Ini +{ + /// + /// Represents a collection of items. + /// + /// + public sealed class IniSectionCollection : IniItemCollection + { + internal IniSectionCollection(IniFile parentFile, IniDuplication duplication, bool caseSensitive) + : base(parentFile, null, duplication, caseSensitive) { } + + /// + /// Adds an item to the end of this collection. + /// + /// Name of the to add to this collection. + /// that was added to this collection. + /// + public IniSection Add(string name) { return this.Add(name, null); } + + /// + /// Adds an item to the end of this collection. + /// + /// Name of the to add to this collection. + /// The section's keys data, pairs of key's name and key's value, to add to this collection. + /// that was added to this collection. + /// + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures", + Justification = "I don't want to use IDictionary, there is no need for such a contract because IEnumerable> is enough.")] + public IniSection Add(string name, IEnumerable> nameValuePairs) + { + var section = new IniSection(this.ParentFile, name, nameValuePairs); + this.Add(section); + return section; + } + + /// + /// Inserts an item to this collection at the specified index. + /// + /// Zero-based index at which item should be inserted. + /// Name of the to insert to this collection. + /// that was inserted to this collection. + /// + public IniSection Insert(int index, string name) { return this.Insert(index, name, null); } + + /// + /// Inserts an item to this collection at the specified index. + /// + /// Zero-based index at which item should be inserted. + /// Name of the to insert to this collection. + /// The section's keys data, pairs of key's name and key's value, to insert to this collection. + /// that was inserted to this collection. + /// + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures", + Justification = "I don't want to use IDictionary, there is no need for such a contract because IEnumerable> is enough.")] + public IniSection Insert(int index, string name, IEnumerable> nameValuePairs) + { + var section = new IniSection(this.ParentFile, name, nameValuePairs); + this.Insert(index, section); + return section; + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniOptions.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniOptions.cs new file mode 100644 index 0000000..08d7a00 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniOptions.cs @@ -0,0 +1,213 @@ +using System.Text; +using System.Diagnostics; + +namespace MadMilkman.Ini +{ + /// + /// Represents a class that defines INI file's format, stores properties used for both reading and writing a file. + /// + /// + /// After an instance of this class is passed to an constructor, further changes on that instance's properties will have no effect. + /// + /// + /// Property + /// Default Value + /// + /// + /// CommentStarter + /// + /// + /// + /// Compression + /// + /// + /// + /// EncryptionPassword + /// + /// + /// + /// Encoding + /// Encoding.ASCII + /// + /// + /// KeyDelimiter + /// + /// + /// + /// KeyDuplicate + /// + /// + /// + /// KeyNameCaseSensitive + /// + /// + /// + /// KeySpaceAroundDelimiter + /// + /// + /// + /// SectionDuplicate + /// + /// + /// + /// SectionNameCaseSensitive + /// + /// + /// + /// SectionWrapper + /// + /// + /// + /// + public sealed class IniOptions + { + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private Encoding encoding; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private IniSectionWrapper sectionWrapper; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal char sectionWrapperStart; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + internal char sectionWrapperEnd; + + /// + /// Gets or sets encoding for reading and writing an INI file. + /// + /// + /// Value should not be , if it is then a default Encoding.ASCII value will be used. + /// + public Encoding Encoding + { + get { return this.encoding; } + set + { + if (value == null) + this.encoding = Encoding.ASCII; + this.encoding = value; + } + } + + /// + /// Gets or sets comments starting character. + /// + public IniCommentStarter CommentStarter { get; set; } + + /// + /// Gets or sets a value indicating if file's size is reduced. + /// If file is decompressed on Load and compressed on Save. + /// + public bool Compression { get; set; } + + /// + /// Gets or sets an INI file's protection password. + /// File is decrypted on Load and encrypted on Save if a password is not or . + /// + public string EncryptionPassword { get; set; } + + /// + /// Gets or sets keys name and value delimiter character. + /// + public IniKeyDelimiter KeyDelimiter { get; set; } + + /// + /// Gets or sets a value indicating whether keys with same name are allowed, disallowed or ignored. + /// + public IniDuplication KeyDuplicate { get; set; } + + /// + /// Gets or sets a value indicating whether keys name are case sensitive. + /// + public bool KeyNameCaseSensitive { get; set; } + + /// + /// Gets or sets a value indicating whether space is written around the keys delimiter. + /// + public bool KeySpaceAroundDelimiter { get; set; } + + /// + /// Gets or sets a value indicating whether sections with same name are allowed, disallowed or ignored. + /// + public IniDuplication SectionDuplicate { get; set; } + + /// + /// Gets or sets a value indicating whether sections name are case sensitive. + /// + public bool SectionNameCaseSensitive { get; set; } + + /// + /// Gets or sets wrapper characters of sections name. + /// + public IniSectionWrapper SectionWrapper + { + get { return this.sectionWrapper; } + set + { + this.sectionWrapper = value; + this.SectionWrapperToCharacters(out this.sectionWrapperStart, out this.sectionWrapperEnd); + } + } + + /// + /// Initializes a new instance of the class. + /// + public IniOptions() + { + this.encoding = Encoding.ASCII; + this.CommentStarter = IniCommentStarter.Semicolon; + this.Compression = false; + this.EncryptionPassword = null; + this.KeyDelimiter = IniKeyDelimiter.Equal; + this.KeyDuplicate = IniDuplication.Allowed; + this.KeyNameCaseSensitive = false; + this.KeySpaceAroundDelimiter = false; + this.SectionDuplicate = IniDuplication.Allowed; + this.SectionNameCaseSensitive = false; + this.SectionWrapper = IniSectionWrapper.SquareBrackets; + } + + // Deep copy constructor. + internal IniOptions(IniOptions options) + { + this.encoding = options.encoding; + this.CommentStarter = options.CommentStarter; + this.Compression = options.Compression; + this.EncryptionPassword = options.EncryptionPassword; + this.KeyDelimiter = options.KeyDelimiter; + this.KeyDuplicate = options.KeyDuplicate; + this.KeyNameCaseSensitive = options.KeyNameCaseSensitive; + this.KeySpaceAroundDelimiter = options.KeySpaceAroundDelimiter; + this.SectionDuplicate = options.SectionDuplicate; + this.SectionNameCaseSensitive = options.SectionNameCaseSensitive; + this.SectionWrapper = options.SectionWrapper; + } + + /* REMARKS: ToChar(bool) extension method on IniSectionWrapper would be nice, but in order to define + * an extension method in .NET 2.0 we need to declare ExtensionAttribute our self. + * + * Changing SectionWrapperToCharacters method's return type to Tuple would be nice, + * but writing our own Tuple implementation for .NET 2.0 is an unnecessary overhead. */ + + private void SectionWrapperToCharacters(out char startCharacter, out char endCharacte) + { + switch (this.sectionWrapper) + { + case IniSectionWrapper.AngleBrackets: + startCharacter = '<'; + endCharacte = '>'; + break; + case IniSectionWrapper.CurlyBrackets: + startCharacter = '{'; + endCharacte = '}'; + break; + case IniSectionWrapper.Parentheses: + startCharacter = '('; + endCharacte = ')'; + break; + default: + startCharacter = '['; + endCharacte = ']'; + break; + } + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniReaderWriter/IniCompressor.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniReaderWriter/IniCompressor.cs new file mode 100644 index 0000000..4e706f0 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniReaderWriter/IniCompressor.cs @@ -0,0 +1,43 @@ +using System; +using System.Text; +using System.IO; +using System.IO.Compression; + +namespace MadMilkman.Ini +{ + internal static class IniCompressor + { + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", + Justification = "MemoryStream doesn't have unmanaged resources.")] + public static string Compress(string text, Encoding encoding) + { + byte[] content = encoding.GetBytes(text); + var stream = new MemoryStream(); + + using (var compressor = new GZipStream(stream, CompressionMode.Compress, true)) + compressor.Write(content, 0, content.Length); + + byte[] compressedContent = new byte[stream.Length + 4]; + stream.Position = 0; + stream.Read(compressedContent, 4, compressedContent.Length - 4); + + Buffer.BlockCopy(BitConverter.GetBytes(content.Length), 0, compressedContent, 0, 4); + return Convert.ToBase64String(compressedContent); + } + + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", + Justification = "MemoryStream doesn't have unmanaged resources.")] + public static string Decompress(string text, Encoding encoding) + { + byte[] compressedContent = Convert.FromBase64String(text); + var stream = new MemoryStream(compressedContent, 4, compressedContent.Length - 4); + byte[] content = new byte[BitConverter.ToInt32(compressedContent, 0)]; + + stream.Position = 0; + using (var decompressor = new GZipStream(stream, CompressionMode.Decompress, false)) + decompressor.Read(content, 0, content.Length); + + return encoding.GetString(content); + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniReaderWriter/IniEncryptor.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniReaderWriter/IniEncryptor.cs new file mode 100644 index 0000000..c74fdf7 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniReaderWriter/IniEncryptor.cs @@ -0,0 +1,58 @@ +using System; +using System.Text; +using System.IO; +using System.Security.Cryptography; + +namespace MadMilkman.Ini +{ + internal static class IniEncryptor + { + /* REMARKS: RijndaelManaged + * - KeySize - BlockSize + * DEFAULT = 256 DEFAULT = 128 + * MIN = 128 MIN = 128 + * MAX = 256 MAX = 256 + * + * - InitializationVector.Length + * MUST = RijndaelManaged.BlockSize / 8 + * + * - key.Length + * MUST = RijndaelManaged.KeySize / 8 */ + + private static readonly byte[] InitializationVector = { 77, 52, 225, 184, 143, 77, 49, 225, 184, 187, 107, 77, 52, 225, 185, 137 }; + private static readonly byte[] Salt = { 49, 110, 49, 102, 49, 108, 51, 39, 53, 95, 53, 52, 108, 55, 95, 118, 52, 108, 117, 51 }; + + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", + Justification = "MemoryStream doesn't have unmanaged resources.")] + public static string Encrypt(string text, string passwordPhrase, Encoding encoding) + { + byte[] content = encoding.GetBytes(text); + byte[] key = new Rfc2898DeriveBytes(passwordPhrase, IniEncryptor.Salt, 1000).GetBytes(32); + var stream = new MemoryStream(); + + using (var rijndaelAlgorithm = new RijndaelManaged()) + using (var encryptor = rijndaelAlgorithm.CreateEncryptor(key, IniEncryptor.InitializationVector)) + using (var cryptoStream = new CryptoStream(stream, encryptor, CryptoStreamMode.Write)) + cryptoStream.Write(content, 0, content.Length); + + return Convert.ToBase64String(stream.ToArray()); + } + + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", + Justification = "MemoryStream doesn't have unmanaged resources.")] + public static string Decrypt(string text, string passwordPhrase, Encoding encoding) + { + byte[] encryptedContent = Convert.FromBase64String(text); + byte[] key = new Rfc2898DeriveBytes(passwordPhrase, IniEncryptor.Salt, 1000).GetBytes(32); + byte[] content = new byte[encryptedContent.Length]; + int contentCount; + + using (var rijndaelAlgorithm = new RijndaelManaged()) + using (var decryptor = rijndaelAlgorithm.CreateDecryptor(key, IniEncryptor.InitializationVector)) + using (var cryptoStream = new CryptoStream(new MemoryStream(encryptedContent), decryptor, CryptoStreamMode.Read)) + contentCount = cryptoStream.Read(content, 0, content.Length); + + return encoding.GetString(content, 0, contentCount); + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniReaderWriter/IniReader.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniReaderWriter/IniReader.cs new file mode 100644 index 0000000..30db329 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniReaderWriter/IniReader.cs @@ -0,0 +1,197 @@ +using System; +using System.IO; + +namespace MadMilkman.Ini +{ + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", + Justification = "StringReader doesn't have unmanaged resources.")] + internal sealed class IniReader + { + private readonly IniOptions options; + private TextReader reader; + + private int currentEmptyLinesBefore; + private IniComment currentTrailingComment; + private IniSection currentSection; + + public IniReader(IniOptions options) + { + this.options = options; + this.currentEmptyLinesBefore = 0; + this.currentTrailingComment = null; + this.currentSection = null; + } + + public void Read(IniFile iniFile, TextReader textReader) + { + this.reader = new StringReader(this.DecompressAndDecryptText(textReader.ReadToEnd())); + + string line; + while ((line = this.reader.ReadLine()) != null) + { + if (line.Trim().Length == 0) + this.currentEmptyLinesBefore++; + else + this.ReadLine(line, iniFile); + } + } + + private string DecompressAndDecryptText(string fileContent) + { + if (this.options.Compression) + fileContent = IniCompressor.Decompress(fileContent, this.options.Encoding); + + if (!string.IsNullOrEmpty(this.options.EncryptionPassword)) + fileContent = IniEncryptor.Decrypt(fileContent, this.options.EncryptionPassword, this.options.Encoding); + + return fileContent; + } + + private void ReadLine(string line, IniFile file) + { + /* REMARKS: All 'whitespace' and 'tab' characters increase the LeftIndention by 1. + * + * CONSIDER: Implement different processing of 'tab' characters. They are often represented as 4 spaces, + * or they can stretch to a next 'tab stop' position which occurs each 8 characters: + * 0 8 16 + * |.......|.......|... */ + + // Index of first non 'whitespace' character. + int startIndex = Array.FindIndex(line.ToCharArray(), c => !(char.IsWhiteSpace(c) || c == '\t')); + char startCharacter = line[startIndex]; + + if (startCharacter == (char)this.options.CommentStarter) + this.ReadTrailingComment(startIndex, line.Substring(++startIndex)); + + else if (startCharacter == this.options.sectionWrapperStart) + this.ReadSection(startIndex, line, file); + + else + this.ReadKey(startIndex, line, file); + + this.currentEmptyLinesBefore = 0; + } + + private void ReadTrailingComment(int leftIndention, string text) + { + if (this.currentTrailingComment == null) + this.currentTrailingComment = new IniComment(IniCommentType.Trailing) + { + EmptyLinesBefore = this.currentEmptyLinesBefore, + LeftIndentation = leftIndention, + Text = text + }; + else + this.currentTrailingComment.Text += Environment.NewLine + text; + } + + /* MZ(2015-08-29): Added support for section names that may contain end wrapper or comment starter characters. */ + private void ReadSection(int leftIndention, string line, IniFile file) + { + int sectionEndIndex = -1, potentialCommentIndex, tempIndex = leftIndention; + while (tempIndex != -1 && ++tempIndex <= line.Length) + { + potentialCommentIndex = line.IndexOf((char)this.options.CommentStarter, tempIndex); + + if (potentialCommentIndex != -1) + sectionEndIndex = line.LastIndexOf(this.options.sectionWrapperEnd, potentialCommentIndex - 1, potentialCommentIndex - tempIndex); + else + sectionEndIndex = line.LastIndexOf(this.options.sectionWrapperEnd, line.Length - 1, line.Length - tempIndex); + + if (sectionEndIndex != -1) + break; + else + tempIndex = potentialCommentIndex; + } + + if (sectionEndIndex != -1) + { + this.currentSection = new IniSection(file, + line.Substring(leftIndention + 1, sectionEndIndex - leftIndention - 1), + this.currentTrailingComment) + { + LeftIndentation = leftIndention, + LeadingComment = { EmptyLinesBefore = this.currentEmptyLinesBefore } + }; + file.Sections.Add(this.currentSection); + + if (++sectionEndIndex < line.Length) + this.ReadSectionLeadingComment(line.Substring(sectionEndIndex)); + } + + this.currentTrailingComment = null; + } + + private void ReadSectionLeadingComment(string lineLeftover) + { + // Index of first non 'whitespace' character. + int leftIndention = Array.FindIndex(lineLeftover.ToCharArray(), c => !(char.IsWhiteSpace(c) || c == '\t')); + if (leftIndention != -1 && lineLeftover[leftIndention] == (char)this.options.CommentStarter) + { + var leadingComment = this.currentSection.LeadingComment; + leadingComment.Text = lineLeftover.Substring(leftIndention + 1); + leadingComment.LeftIndentation = leftIndention; + } + } + + private void ReadKey(int leftIndention, string line, IniFile file) + { + int keyDelimiterIndex = line.IndexOf((char)this.options.KeyDelimiter, leftIndention); + if (keyDelimiterIndex != -1) + { + if (this.currentSection == null) + this.currentSection = file.Sections.Add(IniSection.GlobalSectionName); + + var currentKey = new IniKey(file, + line.Substring(leftIndention, keyDelimiterIndex - leftIndention).TrimEnd(), + this.currentTrailingComment) + { + LeftIndentation = leftIndention, + LeadingComment = { EmptyLinesBefore = this.currentEmptyLinesBefore } + }; + + this.currentSection.Keys.Add(currentKey); + + this.ReadValue(line.Substring(++keyDelimiterIndex).TrimStart(), currentKey); + } + + this.currentTrailingComment = null; + } + + private void ReadValue(string lineLeftover, IniKey key) + { + int valueEndIndex = lineLeftover.IndexOf((char)this.options.CommentStarter); + + if (valueEndIndex == -1) + key.Value = lineLeftover.TrimEnd(); + else if (valueEndIndex == 0) + key.Value = key.LeadingComment.Text = string.Empty; + else + this.ReadValueLeadingComment(lineLeftover, valueEndIndex, key); + } + + /* MZ(2016-02-23): Added support for quoted values which can contain comment's starting characters. */ + private void ReadValueLeadingComment(string lineLeftover, int potentialCommentIndex, IniKey key) + { + int quoteEndIndex = lineLeftover.IndexOf('"', 1); + if (lineLeftover[0] == '"' && quoteEndIndex != -1) + while (quoteEndIndex > potentialCommentIndex && potentialCommentIndex != -1) + potentialCommentIndex = lineLeftover.IndexOf((char)this.options.CommentStarter, ++potentialCommentIndex); + + if (potentialCommentIndex == -1) + key.Value = lineLeftover.TrimEnd(); + else + { + key.LeadingComment.Text = lineLeftover.Substring(potentialCommentIndex + 1); + + // The amount of 'whitespace' characters between key's value and comment's starting character. + int leftIndention = 0; + while (lineLeftover[--potentialCommentIndex] == ' ' || lineLeftover[potentialCommentIndex] == '\t') + leftIndention++; + + key.LeadingComment.LeftIndentation = leftIndention; + key.Value = lineLeftover.Substring(0, ++potentialCommentIndex); + } + } + } +} \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniReaderWriter/IniWriter.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniReaderWriter/IniWriter.cs new file mode 100644 index 0000000..ebb4b94 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniReaderWriter/IniWriter.cs @@ -0,0 +1,128 @@ +using System; +using System.IO; + +namespace MadMilkman.Ini +{ + [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", + Justification = "StringWriter doesn't have unmanaged resources.")] + internal sealed class IniWriter + { + private static readonly string[] NewLines = { "\r\n", "\n", "\r" }; + private readonly IniOptions options; + private TextWriter writer; + + public IniWriter(IniOptions options) { this.options = options; } + + public void Write(IniFile iniFile, TextWriter textWriter) + { + this.writer = new StringWriter(System.Globalization.CultureInfo.InvariantCulture); + this.WriteSections(iniFile.Sections); + + textWriter.Write(this.EncryptAndCompressText(this.writer.ToString())); + textWriter.Flush(); + } + + private string EncryptAndCompressText(string fileContent) + { + if (!string.IsNullOrEmpty(this.options.EncryptionPassword)) + fileContent = IniEncryptor.Encrypt(fileContent, this.options.EncryptionPassword, this.options.Encoding); + + if (this.options.Compression) + fileContent = IniCompressor.Compress(fileContent, this.options.Encoding); + + return fileContent; + } + + private void WriteSections(IniSectionCollection sections) + { + if (sections.Count == 0) + return; + + this.WriteFirstSection(sections[0]); + + for (int i = 1; i < sections.Count; i++) + this.WriteSection(sections[i]); + } + + private void WriteFirstSection(IniSection section) + { + if (section.Name.Equals(IniSection.GlobalSectionName)) + this.WriteKeys(section.Keys); + else + this.WriteSection(section); + } + + private void WriteSection(IniSection section) + { + this.WriteItem(section, + // E.g. " [SectionName]" + new String(' ', section.LeftIndentation) + + this.options.sectionWrapperStart + + section.Name + + this.options.sectionWrapperEnd); + + this.WriteKeys(section.Keys); + } + + private void WriteKeys(IniKeyCollection keys) + { + foreach (IniKey key in keys) + this.WriteItem(key, + // E.g. " KeyName = KeyValue" + new String(' ', key.LeftIndentation) + + key.Name + + ((this.options.KeySpaceAroundDelimiter) ? " " : string.Empty) + + (char)this.options.KeyDelimiter + + ((this.options.KeySpaceAroundDelimiter) ? " " : string.Empty) + + key.Value); + } + + private void WriteItem(IniItem item, string itemContent) + { + if (item.HasTrailingComment) + this.WriteTrailingComment(item.TrailingComment); + + if (item.HasLeadingComment) + this.WriteEmptyLines(item.LeadingComment.EmptyLinesBefore); + + this.writer.Write(itemContent); + + if (item.HasLeadingComment) + this.WriteLeadingComment(item.LeadingComment); + else + this.writer.WriteLine(); + } + + private void WriteTrailingComment(IniComment trailingComment) + { + this.WriteEmptyLines(trailingComment.EmptyLinesBefore); + + // E.g. " ;CommentText + // ;CommentText" + if (trailingComment.Text != null) + foreach (string commentLine in trailingComment.Text.Split(IniWriter.NewLines, StringSplitOptions.None)) + this.writer.WriteLine( + new String(' ', trailingComment.LeftIndentation) + + (char)this.options.CommentStarter + + commentLine); + } + + private void WriteLeadingComment(IniComment leadingComment) + { + // E.g. " ;CommentText" + if (leadingComment.Text != null) + this.writer.WriteLine( + new String(' ', leadingComment.LeftIndentation) + + (char)this.options.CommentStarter + + leadingComment.Text); + else + this.writer.WriteLine(); + } + + private void WriteEmptyLines(int count) + { + for (int i = 0; i < count; i++) + this.writer.WriteLine(); + } + } +} \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniSerializationAttribute.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniSerializationAttribute.cs new file mode 100644 index 0000000..6552519 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniSerializationAttribute.cs @@ -0,0 +1,34 @@ +using System; + +namespace MadMilkman.Ini +{ + /// + /// Indicates the behavior of public property when serializing or deserializing the object that contains it. + /// + [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = false)] + public sealed class IniSerializationAttribute : Attribute + { + /// + /// Gets the name of serialized the property. + /// + public string Alias { get; private set; } + + /// + /// Gets the value indicating whether serialization is ignored. + /// + public bool Ignore { get; private set; } + + /// + /// Initializes a new instance of the IniSerializationAttribute class and specifies the 's name. + /// + /// The name of the generated . + public IniSerializationAttribute(string alias) { this.Alias = alias; } + + /// + /// Initializes a new instance of the IniSerializationAttribute class and specifies if serialization is ignored. + /// + /// The value indicating whether serialization is ignored. + public IniSerializationAttribute(bool ignore) { this.Ignore = ignore; } + + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniSerializer.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniSerializer.cs new file mode 100644 index 0000000..2abf83d --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniSerializer.cs @@ -0,0 +1,128 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.ComponentModel; +using System.Reflection; + +namespace MadMilkman.Ini +{ + internal static class IniSerializer + { + private static readonly Predicate PropertyTypeVerifier = IniKey.IsSupportedValueType; + + public static void Serialize(T source, IniSection section) where T : class, new() + { + foreach (var propertyPair in GetPropertyPairs(typeof(T))) + { + var key = section.Keys.Add(propertyPair.Key); + if (key.ParentCollectionCore != null) + SetKeyValue(propertyPair.Value, source, key); + } + } + + public static T Deserialize(IniSection section) where T : class, new() + { + T destination = new T(); + + foreach (var propertyPair in GetPropertyPairs(typeof(T))) + { + var key = section.Keys[propertyPair.Key]; + if (key != null) + SetPropertyValue(propertyPair.Value, destination, key); + } + + return destination; + } + + private static IEnumerable> GetPropertyPairs(Type type) + { + foreach (var property in type.GetProperties(BindingFlags.Public | BindingFlags.Instance)) + { + if (!IniSerializer.PropertyTypeVerifier(property.PropertyType)) + continue; + + string propertyName = null; + var attributes = property.GetCustomAttributes(typeof(IniSerializationAttribute), false); + + if (attributes.Length > 0) + { + var attribute = (IniSerializationAttribute)attributes[0]; + if (attribute.Ignore) + continue; + + propertyName = attribute.Alias; + } + + yield return new KeyValuePair((propertyName) ?? property.Name, property); + } + } + + private static void SetKeyValue(PropertyInfo property, object source, IniKey key) + { + object propertyValue = property.GetValue(source, null); + + if (propertyValue == null) + return; + + if (property.PropertyType.IsArray || property.PropertyType.GetInterface(typeof(IList).Name) != null) + { + var values = new List(); + + /* MZ(2016-01-02): Fixed issue with null items in array and list. */ + foreach (var item in (IEnumerable)propertyValue) + values.Add(item != null ? item.ToString() : null); + + key.Values = values.ToArray(); + } + else + key.Value = propertyValue.ToString(); + } + + private static void SetPropertyValue(PropertyInfo property, object destination, IniKey key) + { + var propertyType = property.PropertyType; + + if (propertyType.IsArray) + { + /* MZ(2016-01-02): Fixed issue with null array and list. */ + if (!key.IsValueArray) + return; + + var values = key.Values; + var itemType = propertyType.GetElementType(); + var array = Array.CreateInstance(itemType, values.Length); + + for (int i = 0; i < values.Length; i++) + array.SetValue( + TypeDescriptor.GetConverter(itemType).ConvertFromInvariantString(values[i]), + i); + + property.SetValue(destination, array, null); + } + + else if (propertyType.GetInterface(typeof(IList).Name) != null) + { + /* MZ(2016-01-02): Fixed issue with null array and list. */ + if (!key.IsValueArray) + return; + + var itemType = propertyType.GetGenericArguments()[0]; + var list = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(itemType)); + + var values = key.Values; + if (!(values.Length == 1 && string.IsNullOrEmpty(values[0]))) + foreach (var value in values) + list.Add( + TypeDescriptor.GetConverter(itemType).ConvertFromInvariantString(value)); + + property.SetValue(destination, list, null); + } + + else + property.SetValue( + destination, + TypeDescriptor.GetConverter(propertyType).ConvertFromInvariantString(key.Value), + null); + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniValueBinding.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniValueBinding.cs new file mode 100644 index 0000000..a79cbb7 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniValueBinding.cs @@ -0,0 +1,194 @@ +using System; +using System.Diagnostics; +using System.Collections.Generic; +using System.Text.RegularExpressions; + +namespace MadMilkman.Ini +{ + /// + /// Represents a class that is used for binding operations, an operation in which the placeholder keys values are replaced with an internal or external data. + /// + /// + /// can be accessed through property. + /// Binding can be executed with internal data source or with a provided external data source. + /// For more information see IniKey's Value Binding. + /// + /// IniKey's Value Binding + public sealed class IniValueBinding + { + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private readonly IniValueBindingEventArgs args; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private readonly IniFile iniFile; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static readonly Regex placeholderPattern = new Regex(@"@\{[\w\s|]+\}", RegexOptions.Compiled | RegexOptions.CultureInvariant); + + /// + /// Occurs when a placeholder is binding with data source value and can be used to customize the binding operation. + /// + public event EventHandler Binding; + + internal IniValueBinding(IniFile iniFile) + { + if (iniFile == null) + throw new ArgumentNullException("iniFile"); + + this.iniFile = iniFile; + this.args = new IniValueBindingEventArgs(); + } + + /// + /// Executes a binding operation with internal data source. + /// + /// IniKey's Value Binding + public void Bind() + { + foreach (var placeholderPair in this.GetPlaceholderPairs(null)) + { + IniKey placeholderKey = placeholderPair.Key; + string placeholder = placeholderPair.Value; + string placeholderName = placeholder.Substring(2, placeholder.Length - 3); + string targetedValue; + + int separator = placeholder.IndexOf('|'); + if (separator != -1) + { + var targetedSection = this.iniFile.Sections[placeholder.Substring(2, separator - 2)]; + if (targetedSection == null) + continue; + + targetedValue = GetTargetedValue( + targetedSection, + placeholder.Substring(separator + 1, placeholder.Length - separator - 2)); + } + else + targetedValue = GetTargetedValue( + placeholderKey.ParentSection, + placeholderName); + + this.ExecuteBinding(placeholder, placeholderName, placeholderKey, targetedValue); + } + } + + /// + /// Executes a binding operation with external data source. + /// + /// The binding data source. + /// IniKey's Value Binding + public void Bind(object dataSource) { this.Bind(dataSource, null); } + + /// + /// Executes a binding operation with external data source, only on specified section. + /// + /// The binding data source. + /// The 's name. + /// IniKey's Value Binding + public void Bind(object dataSource, string sectionName) + { + if (dataSource == null) + throw new ArgumentNullException("dataSource"); + + var dataSourceDictionary = CreateDataSourceDictionary(dataSource); + if (dataSourceDictionary == null) + return; + + foreach (var placeholderPair in this.GetPlaceholderPairs(this.iniFile.Sections[sectionName])) + { + IniKey placeholderKey = placeholderPair.Key; + string placeholder = placeholderPair.Value; + string placeholderName = placeholder.Substring(2, placeholder.Length - 3); + string targetedValue; + + dataSourceDictionary.TryGetValue(placeholderName, out targetedValue); + + this.ExecuteBinding(placeholder, placeholderName, placeholderKey, targetedValue); + } + } + + private void ExecuteBinding(string placeholder, string placeholderName, IniKey placeholderKey, string targetedValue) + { + this.args.Initialize(placeholderName, placeholderKey, targetedValue, targetedValue != null); + + if (this.Binding != null) + this.Binding(this, this.args); + + if (this.args.Value != null) + placeholderKey.Value = placeholderKey.Value.Replace(placeholder, this.args.Value); + + this.args.Reset(); + } + + // Returns placeholder pairs as KeyValuePair: + // Key = IniKey in which value's the placeholder resides + // Value = Placeholder, e.g. @{Placeholder} + private IEnumerable> GetPlaceholderPairs(IniSection section) + { + if (section != null) + { + foreach (IniKey key in section.Keys) + if (key.Value != null) + { + int matchStartat = key.Value.IndexOf("@{"); + if (matchStartat != -1) + foreach (Match match in placeholderPattern.Matches(key.Value, matchStartat)) + yield return new KeyValuePair(key, match.Value); + } + } + else + { + foreach (IniSection iniSection in this.iniFile.Sections) + foreach (var placeholderPair in this.GetPlaceholderPairs(iniSection)) + yield return placeholderPair; + } + } + + private static string GetTargetedValue(IniSection targetedSection, string targetedKeyName) + { + IniKey targetedKey = targetedSection.Keys[targetedKeyName]; + return targetedKey != null ? targetedKey.Value : null; + } + + /* REMARKS: TODO re-factor this, use providers ... + * + * CONSIDER: Implement support for any custom (including anonymous) types, use reflation ... */ + private static IDictionary CreateDataSourceDictionary(object dataSource) + { + var dictionary = dataSource as IDictionary; + if (dictionary != null) + return dictionary; + + var collection = dataSource as ICollection>; + if (collection != null) + { + dictionary = new Dictionary(collection.Count); + + foreach (var dataSourceItem in collection) + if (!dictionary.ContainsKey(dataSourceItem.Key)) + dictionary.Add(dataSourceItem); + + return dictionary; + } + + var enumerator = dataSource as IEnumerable>; + if (enumerator != null) + { + dictionary = new Dictionary(); + + foreach (var dataSourceItem in enumerator) + if (!dictionary.ContainsKey(dataSourceItem.Key)) + dictionary.Add(dataSourceItem); + + return dictionary; + } + + if (dataSource is KeyValuePair) + { + dictionary = new Dictionary(1); + dictionary.Add((KeyValuePair)dataSource); + return dictionary; + } + + return null; + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniValueBindingEventArgs.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniValueBindingEventArgs.cs new file mode 100644 index 0000000..1d4c623 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniValueBindingEventArgs.cs @@ -0,0 +1,56 @@ +using System; +using System.Diagnostics; + +namespace MadMilkman.Ini +{ + /// + /// Provides data for event. + /// + public sealed class IniValueBindingEventArgs : EventArgs + { + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private string placeholderName; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private IniKey placeholderKey; + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private bool isValueFound; + + /// + /// Gets the placeholder's name. + /// + public string PlaceholderName { get { return this.placeholderName; } } + + /// + /// Gets the placeholder's . + /// + public IniKey PlaceholderKey { get { return this.placeholderKey; } } + + /// + /// Gets or sets the data source value that will replace the placeholder. + /// + /// + /// The data source value that will replace the placeholder, if it's not . + /// + public string Value { get; set; } + + /// + /// Gets a value indicating whether value was found in the data source. + /// + /// + /// if value was found in the data source. + /// + public bool IsValueFound { get { return this.isValueFound; } } + + internal IniValueBindingEventArgs() { } + + internal void Initialize(string placeholderName, IniKey placeholderKey, string value, bool isValueFound) + { + this.placeholderName = placeholderName; + this.placeholderKey = placeholderKey; + this.Value = value; + this.isValueFound = isValueFound; + } + + internal void Reset() { this.Initialize(null, null, null, false); } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniValueMappings.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniValueMappings.cs new file mode 100644 index 0000000..8df4c64 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniValueMappings.cs @@ -0,0 +1,77 @@ +using System; +using System.Diagnostics; +using System.Collections.Generic; + +namespace MadMilkman.Ini +{ + /// + /// Represents a class of mapped s and their results, used in methods. + /// + /// + /// can be accessed through property. + /// Mapped value results have priority over parsing the value. + /// For more information see IniKey's Value Parsing. + /// + /// IniKey's Value Parsing + public sealed class IniValueMappings + { + [DebuggerBrowsable(DebuggerBrowsableState.Never)] + private static readonly Predicate MappedTypeVerifier = IniKey.IsSupportedValueType; + + private readonly IDictionary mappings; + + internal IniValueMappings() { this.mappings = new Dictionary(StringComparer.OrdinalIgnoreCase); } + + /// + /// Adds a new mapping of to resulting object of parse methods. + /// + /// The key's value. + /// The object that represents parsed . + /// Type of the object that represents parsed . + /// + /// The key's value cannot be . + /// The mapped result's type must be one of the supported types for parsing, see the remarks of method. + /// Collection cannot contain multiple entries of same key's value, value comparison is case-insensitive. + /// + public void Add(string value, T mappedResult) + { + if (value == null) + throw new ArgumentNullException("value"); + + if (this.Contains(value) || !IniValueMappings.MappedTypeVerifier(typeof(T))) + throw new InvalidOperationException(); + + this.mappings.Add(value, mappedResult); + } + + /// + /// Determines whether the collection contains a mapping for a specified key's value. + /// + /// The key's value to locate in the collection. + /// if the collection contains a mapping for a specified key's value. + public bool Contains(string value) { return this.mappings.ContainsKey(value); } + + /// + /// Removes a mapping for a specified key's value in the collection. + /// + /// The key's value to remove in the collection. + /// if a mapping for a specified key's value is successfully found and removed. + public bool Remove(string value) { return this.mappings.Remove(value); } + + internal bool TryGetResult(string value, out T result) + { + if (!string.IsNullOrEmpty(value)) + { + object mappedResult; + if (this.mappings.TryGetValue(value, out mappedResult) && + mappedResult.GetType() == typeof(T)) + { + result = (T)mappedResult; + return true; + } + } + result = default(T); + return false; + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniValueParser.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniValueParser.cs new file mode 100644 index 0000000..598ebac --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/IniUtilities/IniValueParser.cs @@ -0,0 +1,67 @@ +using System; + +namespace MadMilkman.Ini +{ + delegate bool TryParseDelegate(string value, out TDelegate result); + + internal static class IniValueParser + { + private static TryParseDelegate parser; + + static IniValueParser() { InitializeParser(typeof(T)); } + + private static void InitializeParser(Type type) + { + if (type.IsEnum) SetParser(EnumTryParse); + else if (type == typeof(TimeSpan)) SetParser(TimeSpan.TryParse); + else + switch (Type.GetTypeCode(type)) + { + case TypeCode.Boolean: SetParser(bool.TryParse); break; + case TypeCode.Byte: SetParser(byte.TryParse); break; + case TypeCode.SByte: SetParser(sbyte.TryParse); break; + case TypeCode.Int16: SetParser(short.TryParse); break; + case TypeCode.UInt16: SetParser(ushort.TryParse); break; + case TypeCode.Int32: SetParser(int.TryParse); break; + case TypeCode.UInt32: SetParser(uint.TryParse); break; + case TypeCode.Int64: SetParser(long.TryParse); break; + case TypeCode.UInt64: SetParser(ulong.TryParse); break; + case TypeCode.Single: SetParser(float.TryParse); break; + case TypeCode.Double: SetParser(double.TryParse); break; + case TypeCode.Decimal: SetParser(decimal.TryParse); break; + case TypeCode.Char: SetParser(char.TryParse); break; + case TypeCode.DateTime: SetParser(DateTime.TryParse); break; + case TypeCode.String: SetParser((string value, out string result) => { result = value; return true; }); break; + } + } + + private static void SetParser(TryParseDelegate parser) + { + IniValueParser.parser = parser; + } + + private static bool EnumTryParse(string value, out TEnum result) + { + /* REMARKS: To support case insensitivity instead of Enum.IsDefined use Enum.GetNames + * to achieve case insensitive string comparison between enum's names and value. */ + + Type type = typeof(TEnum); + if (Enum.IsDefined((type), value)) + { + result = (TEnum)Enum.Parse(type, value); + return true; + } + + result = default(TEnum); + return false; + } + + public static bool TryParse(string value, out T result) + { + if (parser == null) + throw new NotSupportedException(); + + return parser(value, out result); + } + } +} diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/MadMilkman.Ini.csproj b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/MadMilkman.Ini.csproj new file mode 100644 index 0000000..2803d9b --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/MadMilkman.Ini.csproj @@ -0,0 +1,91 @@ + + + + + Debug + AnyCPU + {BEF9735D-C3CC-41E6-AAC6-18C5985D3107} + Library + Properties + MadMilkman.Ini + MadMilkman.Ini + v2.0 + 512 + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + AllRules.ruleset + bin\Debug\MadMilkman.Ini.xml + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + bin\Release\MadMilkman.Ini.xml + AllRules.ruleset + + + true + + + Properties\MadMilkman.Ini.StrongNameKey.snk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/Properties/AssemblyInfo.cs b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..fb143e7 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/Properties/AssemblyInfo.cs @@ -0,0 +1,22 @@ +using System; +using System.Reflection; +using System.Runtime.InteropServices; +using System.Security; +using System.Resources; + +[assembly: AssemblyTitle("MadMilkman.Ini")] +[assembly: AssemblyDescription("INI file's reader and writer for .NET framework.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("MadMilkman")] +[assembly: AssemblyProduct("MadMilkman.Ini")] +[assembly: AssemblyCopyright("Copyright © MadMilkman")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +[assembly: ComVisible(false)] +[assembly: Guid("aa0460b5-031d-49f3-a71b-2eb353055941")] +[assembly: AllowPartiallyTrustedCallers] +[assembly: CLSCompliant(true)] + +[assembly: AssemblyVersion("1.0.6.0")] +[assembly: NeutralResourcesLanguageAttribute("en-US")] diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/Properties/MadMilkman.Ini.StrongNameKey.snk b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/Properties/MadMilkman.Ini.StrongNameKey.snk new file mode 100644 index 0000000000000000000000000000000000000000..70e1b49c0909731b42bec05d3832be253d622613 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50096KCmMX}Rr=qfbNgI9%7%e6!7Kby2Vb)x z&)%^Huad=T3gzc+l&7Q5II(P`1zi|BK@OJ5Wk;&B4u^)-RLfO9u^lk{BQdxMsX+hv zDuEMKf9+w`&P6=+oY=(%M}6+RLxx_2Z2nZ*UiqQ*${t=2N2q2lzDD^pzS02EF}=Hs zU+7KzS+AT_8Y@`+x~B?TNJBDhp<;o^@D4A2pHNfY0xg@wdiE`g@lvt`N2t*5B!(#3 z>qZig@)QGqmMh(v$6Q<}x*x(TK3!J@8cPzUy!kzr(q{6kcnVlCZV-~q-y`PzNutdy z+%S$2mjTm?fw75j#!!by>h*^Mfx!YJCN;@Vv2>=aD($ZFwUv62EIvR`I( z?R1gw(An3Y(YG5>371u>ywAl;&Eykvtaq{}u<>DoY#+wFBFp^nFh$EEV(x#g0+&%2;|PDth68|mTxS69 zRu~N3aSxet#5Q#78e%p3Y&jQO+|pM!zA{jJzeEuWh#&sC&(zc~u<#B(sXUIq{us9f i3%v#l`}8C3!;AayW0SdJSVn8(3kjA|O7H^o-P}a|VjpDy literal 0 HcmV?d00001 diff --git a/MadMilkman.Ini-1.0.6/MadMilkman.Ini/Properties/MadMilkman.Ini.png b/MadMilkman.Ini-1.0.6/MadMilkman.Ini/Properties/MadMilkman.Ini.png new file mode 100644 index 0000000000000000000000000000000000000000..61a3bbcefcb4a8e0120a9b601e04efbd2f3fbc54 GIT binary patch literal 1521 zcmVpYG||4;BolyO^K}!PU}=ilj<^q;fa8gxo-?yo208{v=hoi~LKO5D_tG z`4v$R5g~jn`@yW!`LVN2_wMX0Y{p`ymYUh=*>leOzUTDmMi3o$H79bY_QkI!V!n<# zsmOo9Ya#IbWbD%fJV2cg0BAn65b#dOfe^t5LR9m_9FPb;^rJv9!>Q+G0fz#g+xP^m^A4XY_%W|ZKBLHEnv7GzC*baY znCK`pi-Iyf;4{HQ;;TM4tm{iW9ngW66NZ9e#s`vEiC0wq4+3qYQ;3*h2duC`1ISY3 zd<-puDINfdDNZv_9mp}m7SCxO0R=L@@` zMx$9`9Vju0pv?2 z>d6kcFl7vEH8e2hz}UL0neSSoOPr73Ts2SDC<6rw)FP*PYCy$)P1G`qm?qlmdGDDf zTUxbK^^~FLqyXv^4B&NO)6x7U0g$s~767aGj4}cgO|-3AT49SfJ#sf95t#uM)55^7lAjx1Q*d9@JE6ObvFf{aLr1?&sn8OgTE+q8qF5Z z2~hY}rf0a#!zc}3a0Nk`vU&Os0+mn)gqsCtnRX^$#U&PifcwsiS1pvl=Oz!>0KBfO z&-5)s0+2dt4X$<6K^W&65^bH58;o~N&|jg^i~>+)i6yG0xc5FypuXvOPj`9wDQ8$^ zgDNn@Steq8ggt!V2?3)#pborcntyp2JGzqs@uO}xoZrOGhyAD3-`OAFy+6s~5gbxb zVP&AkVwp-J)O{%!HkWU?fFj^M>-b#m31Gle0!kF|30PzJ*iH-dVHRYq2MeYtt@Dsc z&UKLzvc@Y8fY&Tjpn)WNEaMW7fU1$a_*o})f43YQ0%iwlL1k2?6_N(~RG32|5F8{g z%|doL$EklE%R+t5|5BgtK#Z@tK%IiW`5jb2k!_D#5vP4FUj$!BfC`4w_qG^ zwHKfB0*PdVc_(K?e+rJj-0W?>z`TiGm`{p(M9Jp!Jc%Vx1*tlKqx?hjKC2uU2ihq} z+7u8|?FAA=m5r$MVE(o~sczHt(!R$_(`yMQevvi>t_v;mL(GyhF}v}no&}*JK7pjb zEEy|q8v)V1E=Z4nw)PiL$PVbm$IAlUq5YRM@ez>#MTCk?LyDW#w)zDUk3F`@L?&hA z)S>)Rr9fDlE^YBiUXcYSdOjWno!ZYcN7fOY?1Dc<3PeoZ&syS>vF1sWg3vNQ#6x^X z`_d^t_IoK&;1M|5Z$*q_UUtlckqFbFz^4|O_t>UtO}o-KK?nRIO$xH?8>ZLsox+=B zKD8{6(QKDzku2J&`?5p#?#@d}6ogce46zuco{K8J1R4EpYW XkkU5AgmP$)00000NkvXXu0mjfTQ9N0 literal 0 HcmV?d00001 diff --git a/MadMilkman.Ini-1.0.6/README.md b/MadMilkman.Ini-1.0.6/README.md new file mode 100644 index 0000000..e0930b5 --- /dev/null +++ b/MadMilkman.Ini-1.0.6/README.md @@ -0,0 +1,115 @@ +# ![MadMilkman.Ini component's icon](../master/MadMilkman.Ini/Properties/MadMilkman.Ini.png) MadMilkman.Ini +**MadMilkman.Ini** is a .NET component which simplifies processing of INI files and requires only a minimum **.NET Framework version 2.0**. +It is 100% managed code (C#), **compatible with Mono framework**, which provides an easy to use programming interface. + +## Advantages: +* Enables reading and writing of various INI file formats. +* Enables easy manipulation of INI file's content. +* Enables copying and merging multiple INI file's contents. +* Enables encrypting and decrypting INI files. +* Enables compressing and decompressing INI files. +* Enables serializing and deserializing custom types into an INI content. + +## Installation: +You can use this component in any way that suits you: +* As _private assembly_ by adding [MadMilkman.Ini.dll](https://github.com/MarioZ/MadMilkman.Ini/raw/master/MadMilkman.Ini.zip) inside your project. +* As _shared assembly_ by installing [MadMilkman.Ini.Setup.msi](https://github.com/MarioZ/MadMilkman.Ini/raw/master/MadMilkman.Ini.Setup.msi). +* As _package_ via [NuGet](http://www.nuget.org/packages/MadMilkman.Ini): +```powershell +PM> Install-Package MadMilkman.Ini +``` + +## First steps: +1. Create new .NET project. +2. Add new reference to MadMilkman.Ini.dll. +3. Add MadMilkman.Ini namespace. + * C# - `using MadMilkman.Ini;` + * VB.NET - `Import MadMilkman.Ini` + * C++/CLI - `using namespace MadMilkman::Ini;` +4. Write some INI files processing code. + * Use code samples located in MadMilkman.Ini.Samples, written in C#, VB.NET and C++/CLI as starting point. + * Read [MadMilkman.Ini.Documentation.chm](https://github.com/MarioZ/MadMilkman.Ini/raw/master/MadMilkman.Ini.Documentation.chm) to learn more about the component and its API references. + +> If you are experiencing difficulties with viewing the CHM file's content after downloading it, right-click on CHM file, select "Properties" and under the "General" tab click "Unblock". + +## Feedback & Support: +Please feel free to contact me with any questions, suggestions or issues regarding the MadMilkman.Ini component, I will be more than happy to provide a help. +Also if you found the component useful or useless I would be interested in hearing about it. + +## Overview +MadMilkman.Ini provides a simple and intuitive programming interface which makes it very easy to create new or process existing INI files. Because INI file format is loosely defined and has no real standard, different files can have different format. By default MadMilkman.Ini processes the following format (however it is possible to define a custom formatting via IniOptions class): + +```cfg +;Section trailing comment +[Section name] +Key name = Key value ;Key leading comment +``` + +### C# # +```csharp +// Create new file with a default formatting. +IniFile file = new IniFile(); + +// Add new section. +IniSection section = file.Sections.Add("Section name"); +// Add trailing comment. +section.TrailingComment.Text = "Section trailing comment"; + +// Add new key and its value. +IniKey key = section.Keys.Add("Key name", "Key value "); +// Add leading comment. +key.LeadingComment.Text = "Key leading comment"; + +// Save file. +file.Save("Sample.ini"); +``` + +### VB.NET +```vb.net +' Create new file with a default formatting. +Dim file As New IniFile() + +' Add new section. +Dim section As IniSection = file.Sections.Add("Section name") +' Add trailing comment. +section.TrailingComment.Text = "Section trailing comment" + +' Add new key and its value. +Dim key As IniKey = section.Keys.Add("Key name", "Key value ") +' Add leading comment. +key.LeadingComment.Text = "Key leading comment" + +' Save file. +file.Save("Sample.ini") +``` + +### C++/CLI +```cpp +// Create new file with a default formatting. +IniFile^ file = gcnew IniFile(); + +// Add new section. +IniSection^ section = file->Sections->Add("Section name"); +// Add trailing comment. +section->TrailingComment->Text = "Section trailing comment"; + +// Add new key and its value. +IniKey^ key = section->Keys->Add("Key name", "Key value "); +// Add leading comment. +key->LeadingComment->Text = "Key leading comment"; + +// Save file. +file->Save("Sample.ini"); +``` + +**Compression** feature enables you to reduce INI file's size. + +**Encryption** feature enables you to protect INI file by providing an encryption password. + +**Parsing** feature enables you to retrieve the key's value as an instance of a specific type via key's TryParseValue method, all currently supported types are listed in key's IsSupportedValueType method remarks. + +**Binding** feature enables you to define placeholders inside a key's value which can be binded (replaced) with an internal or external data source via Bind() method. + +**Serialization** feature enables you to serialize an object into section's keys. + +More details can be found in [MadMilkman.Ini.Documentation.chm](https://github.com/MarioZ/MadMilkman.Ini/raw/master/MadMilkman.Ini.Documentation.chm). \ No newline at end of file diff --git a/MadMilkman.Ini-1.0.6/RELEASENOTES b/MadMilkman.Ini-1.0.6/RELEASENOTES new file mode 100644 index 0000000..fffc89e --- /dev/null +++ b/MadMilkman.Ini-1.0.6/RELEASENOTES @@ -0,0 +1,38 @@ +[1.0.6.0] NEW RELEASE +[1.0.5.2] Added support for quoted values which can contain comment's starting characters. +[1.0.5.1] Fixed issue with NULL array and list when deserializing object. + +[1.0.5.0] NEW RELEASE +[1.0.4.3] Added support for section names that may contain end wrapper or comment starter characters. +[1.0.4.1] Fixed issue with SerializeDeserializeAttributeTest. + Improved string array indexer in IniItemCollection. + +[1.0.4.0] NEW RELEASE +[1.0.3.3] Added support for serializing and deserializing objects into an INI content. + Added support for string array indexer in IniItemCollection. +[1.0.3.2] Added support for customizing binding operations via Binding event. +[1.0.3.1] Added support for reducing INI file via compression and decompression. + Added support for protecting INI file via encryption and decryption. + +[1.0.3.0] NEW RELEASE +[1.0.2.3] Added support for defining placeholders in IniKey.Value and binding them with internal or external data source. +[1.0.2.2] Added support for IniKey.ParentSection property. +[1.0.2.1] Switched from MS tests to NUnit tests. + +[1.0.2.0] NEW RELEASE +[1.0.1.4] Reduced memory footprint. +[1.0.1.3] Fixed issue with using IniItemCollection.Clear and then adding any of previous IniItems to IniItemCollection. +[1.0.1.2] Added support for mapping specific IniKey.Value to specific result object with IniFile.ValueMappings. + Mapped results have priority over parsing the value when using IniKey.TryParseValue methods. + Fixed issue with parsing key's value to enum. +[1.0.1.1] Added support for enums, decimals, arrays and lists in TryParseValue. + Performance improvements on TryParseValue methods. + +[1.0.1.0] NEW RELEASE +[1.0.0.4] Added support for converting IniKey.Value via IniKey.TryParseValue(out T). + Type's support can be checked by IniKey.IsSupportedValueType(Type) or read its remarks in documentation. +[1.0.0.3] Small performance improvement on reading and writing an INI file. +[1.0.0.2] Added support for creating IniSection's Keys from Dictionary and creating IniKey from KeyValuePair. +[1.0.0.1] Added support for loading file via TextReader and saving file via TextWriter. + +[1.0.0.0] INITIAL RELEASE \ No newline at end of file diff --git a/My Project/Application.Designer.vb b/My Project/Application.Designer.vb index 4b334e8..be273d4 100644 --- a/My Project/Application.Designer.vb +++ b/My Project/Application.Designer.vb @@ -25,7 +25,7 @@ Namespace My Public Sub New() MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) Me.IsSingleInstance = false - Me.EnableVisualStyles = true + Me.EnableVisualStyles = false Me.SaveMySettingsOnExit = true Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses End Sub diff --git a/My Project/Application.myapp b/My Project/Application.myapp index b3f38bb..d3e628d 100644 --- a/My Project/Application.myapp +++ b/My Project/Application.myapp @@ -4,7 +4,7 @@ Form1 false 0 - true + false 0 0 true diff --git a/My Project/DataSources/TPS1100_Convert.My.MyApplication.datasource b/My Project/DataSources/TPS1100_Convert.My.MyApplication.datasource new file mode 100644 index 0000000..afb1c83 --- /dev/null +++ b/My Project/DataSources/TPS1100_Convert.My.MyApplication.datasource @@ -0,0 +1,10 @@ + + + + TPS1100_Convert.My.MyApplication, My Project.Resources.Designer.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/My Project/DataSources/TPS1100_Convert.My.MySettings.datasource b/My Project/DataSources/TPS1100_Convert.My.MySettings.datasource new file mode 100644 index 0000000..e104036 --- /dev/null +++ b/My Project/DataSources/TPS1100_Convert.My.MySettings.datasource @@ -0,0 +1,10 @@ + + + + TPS1100_Convert.My.MySettings, My Project.Resources.Designer.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/My Project/MadMilkman.Ini.dll b/My Project/MadMilkman.Ini.dll new file mode 100644 index 0000000000000000000000000000000000000000..1261dc48ddb03df3d2c1413c07b4c5ec985de782 GIT binary patch literal 40960 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 L@BRNzE%5&UJ}SV^ literal 0 HcmV?d00001 diff --git a/My Project/MadMilkman.Ini.xml b/My Project/MadMilkman.Ini.xml new file mode 100644 index 0000000..1179801 --- /dev/null +++ b/My Project/MadMilkman.Ini.xml @@ -0,0 +1,755 @@ + + + + MadMilkman.Ini + + + + + Represents a comment object used by objects, and . + + + + + Gets or sets the amount of empty lines before this comment's text. + + + + + Gets or sets the amount of whitespace characters before this comment's text. + + + + + Gets or sets a text of this instance. + + + + + Defines comment's starting character. + + + + + Use ';' as comment's starting character. + + + + + Use '#' as comment's starting character. + + + + + Defines a behaviour for duplicate occurences. + + + + + Allow duplicate names in . + + + + + Disallow duplicate names in . + + + + + Ignore duplicate names. + + + + + In-memory representation of an INI file. + + + + + Initializes a new instance of class. + + + + + Initializes a new instance of class. + + + object that defines INI file's format, settings for both Load and Save methods. + + + + Loads a file from a stream. + + Stream from which to load a file. + + + + Loads a file from a reader. + + Reader from which to load a file. + + + + Loads a file from a path. + + Path from which to load a file. + + + + Saves a file to a stream. + + Stream to which to save a file. + + + + Saves a file to a writer. + + Writer to which to save a file. + + + + Saves a file to a path. + + Path to which to save a file. + + + + Gets file's sections. + + + + + Gets the object that exposes binding operations, which are executed with methods. + + + + + Gets the mappings of s and their results, used in methods. + + + + + Represents a base class for INI content items, and . + + + + + Gets the object that represents a comment that follows this on the same line. + + + + + Gets or sets the amount of whitespace characters before this item's name. + + + + + Gets and sets the name of the current . + + + + + Gets the to which this belongs to. + + + + + Gets the object that represents a comments that occur before this . + + + + + Represents a base generic class for INI content item collections, and . + + + derived type. + + + + Adds an item to the end of this collection. + + Item to add to this collection. + + + + Removes all items from this collection. + + + + + Determines whether an item is in this collection. + + Name of the item to locate in this collection. + + if the item with specified name is in the collection. + + + + Determines whether an item is in this collection. + + Item to locate in this collection. + + if the specified item is in the collection. + + + + Shallow copies the items of this collection to an array. + + One-dimensional array that is the destination of the items copied from this collection. + Zero-based index in array at which copying begins. + + + + Gets the number of items in this collection. + + + + + Returns an enumerator that iterates through the collection. + + + object that can be used to iterate through the collection. + + + + Searches for the specified item and returns the zero-based index of the first occurrence within this collection. + + Name of the item to locate in this collection. + Index of the first occurrence of the item with specified name in the collection. + + + + Searches for the specified item and returns the zero-based index of the first occurrence within this collection. + + Item to locate in this collection. + Index of the first occurrence of specified item in the collection. + + + + Inserts an item to this collection at the specified index. + + Zero-based index at which item should be inserted. + Item to insert to this collection. + + + + Gets or sets the item at the specified index. + + Zero-based index of the item to get or set. + + + + Gets the first item of the specified name. + + Name of the item to get. + + + + Gets the first items of the specified names. + + Names of the items to get. + + + + Removes the first occurrence of specific item from this collection. + + Name of the item to remove from this collection. + + if the item with specified name is removed from the collection. + + + + Removes the first occurrence of specific item from this collection. + + Item to remove from this collection. + + if the specified item is removed from the collection. + + + + Removes an item at the specified index from this collection. + + Zero-based index at which item should be inserted. + + + + Represents a key item of the INI file with name and value content. + + + + + Initializes a new instance of the class. + + The owner file. + The key's data, pair of key's name and key's value. + + + + Initializes a new instance of the class. + + The owner file. + The key's name. + + + + Initializes a new instance of the class. + + The owner file. + The key's name. + The key's value. + + + + Copies this instance. + + Copied . + + + + Copies this instance and sets copied instance's ParentFile. + + Copied key's parent file. + Copied that belongs to a specified . + + + + Indicates whether the can be converted to specified type. + + Type of the object to convert the to. + + if the specified type is supported. + + + + Gets the to which this belongs to. + + + + + Gets the to which this belongs to. + + + + + Converts the to a list of the specified type. + + Uninitialized list of a specific type which will hold the converted values if the conversion succeeds. + Type of the objects in list to convert the to. + Value that indicates whether the conversion succeeded. + + + + Converts the to an instance of the specified type. + + Uninitialized instance of a specific type which will hold the converted value if the conversion succeeds. + Type of the object to convert the to. + Value that indicates whether the conversion succeeded. + + + + Converts the to an array of the specified type. + + Uninitialized array of a specific type which will hold the converted values if the conversion succeeds. + Type of the objects in array to convert the to. + Value that indicates whether the conversion succeeded. + + + + Gets and sets value. + + + + + Represents a collection of items. + + + + + Adds an item to the end of this collection. + + The key's data, pair of key's name and key's value, to add to this collection. + + that was added to this collection. + + + + Adds an item to the end of this collection. + + Name of the to add to this collection. + + that was added to this collection. + + + + Adds an item to the end of this collection. + + Name of the to add to this collection. + Value of the to add to this collection. + + that was added to this collection. + + + + Inserts an item to this collection at the specified index. + + Zero-based index at which item should be inserted. + The key's data, pair of key's name and key's value, to insert to this collection. + + that was inserted to this collection. + + + + Inserts an item to this collection at the specified index. + + Zero-based index at which item should be inserted. + Name of the to insert to this collection. + + that was inserted to this collection. + + + + Inserts an item to this collection at the specified index. + + Zero-based index at which item should be inserted. + Name of the to insert to this collection. + Value of the to insert to this collection. + + that was inserted to this collection. + + + + Defines key's name and value delimiter character. + + + + + Use '=' as key's name and value delimiter character. + + + + + Use ':' as key's name and value delimiter character. + + + + + Represents a class that defines INI file's format, stores properties used for both reading and writing a file. + + + + + Initializes a new instance of the class. + + + + + Gets or sets comments starting character. + + + + + Gets or sets a value indicating if file's size is reduced. + If file is decompressed on Load and compressed on Save. + + + + + Gets or sets encoding for reading and writing an INI file. + + + + + Gets or sets an INI file's protection password. + File is decrypted on Load and encrypted on Save if a password is not or . + + + + + Gets or sets keys name and value delimiter character. + + + + + Gets or sets a value indicating whether keys with same name are allowed, disallowed or ignored. + + + + + Gets or sets a value indicating whether keys name are case sensitive. + + + + + Gets or sets a value indicating whether space is written around the keys delimiter. + + + + + Gets or sets a value indicating whether sections with same name are allowed, disallowed or ignored. + + + + + Gets or sets a value indicating whether sections name are case sensitive. + + + + + Gets or sets wrapper characters of sections name. + + + + + Represents a section item of the INI file with name and keys content. + + + + + Initializes a new instance of the class. + + The owner file. + The section's name. + + + + Initializes a new instance of the class. + + The owner file. + The section's name. + The section's keys. + + + + Initializes a new instance of the class. + + The owner file. + The section's name. + The section's keys. + + + + Initializes a new instance of the class. + + The owner file. + The section's name. + The section's keys data, pairs of key's name and key's value. + + + + Copies this instance. + + Copied . + + + + Copies this instance and sets copied instance's ParentFile. + + Copied section's parent file. + Copied that belongs to a specified . + + + + Deserializes this into an object of specified type. + + The type of deserialized object. + The object being deserialized. + + + + Represents a section name which is used to define a global section, used for storing first keys series that don't belong to any section. + + + + + Gets the section's key collection. + + + + + Gets the to which this belongs to. + + + + + Serializes the specified object into this . + + The object to serialize. + The type of serialized object. + + + + Represents a collection of items. + + + + + Adds an item to the end of this collection. + + Name of the to add to this collection. + + that was added to this collection. + + + + Adds an item to the end of this collection. + + Name of the to add to this collection. + The section's keys data, pairs of key's name and key's value, to add to this collection. + + that was added to this collection. + + + + Inserts an item to this collection at the specified index. + + Zero-based index at which item should be inserted. + Name of the to insert to this collection. + + that was inserted to this collection. + + + + Inserts an item to this collection at the specified index. + + Zero-based index at which item should be inserted. + Name of the to insert to this collection. + The section's keys data, pairs of key's name and key's value, to insert to this collection. + + that was inserted to this collection. + + + + Defines section's wrapper characters around its name. + + + + + Use '[' and ']' as section's wrapper characters. + + + + + Use '<' and '>' as section's wrapper characters. + + + + + Use '{' and '}' as section's wrapper characters. + + + + + Use '(' and ')' as section's wrapper characters. + + + + + Indicates the behavior of public property when serializing or deserializing the object that contains it. + + + + + Initializes a new instance of the IniSerializationAttribute class and specifies if serialization is ignored. + + The value indicating whether serialization is ignored. + + + + Initializes a new instance of the IniSerializationAttribute class and specifies the 's name. + + The name of the generated . + + + + Gets the name of serialized the property. + + + + + Gets the value indicating whether serialization is ignored. + + + + + Represents a class that is used for binding operations, an operation in which the placeholder keys values are replaced with an internal or external data. + + + + + Executes a binding operation with internal data source. + + + + + Executes a binding operation with external data source. + + The binding data source. + + + + Executes a binding operation with external data source, only on specified section. + + The binding data source. + The 's name. + + + + Occurs when a placeholder is binding with data source value and can be used to customize the binding operation. + + + + + Provides data for event. + + + + + Gets a value indicating whether value was found in the data source. + + + + + Gets the placeholder's . + + + + + Gets the placeholder's name. + + + + + Gets or sets the data source value that will replace the placeholder. + + + + + Represents a class of mapped s and their results, used in methods. + + + + + Adds a new mapping of to resulting object of parse methods. + + The key's value. + The object that represents parsed . + Type of the object that represents parsed . + + + + Determines whether the collection contains a mapping for a specified key's value. + + The key's value to locate in the collection. + + if the collection contains a mapping for a specified key's value. + + + + Removes a mapping for a specified key's value in the collection. + + The key's value to remove in the collection. + + if a mapping for a specified key's value is successfully found and removed. + + + \ No newline at end of file diff --git a/My Project/Settings.Designer.vb b/My Project/Settings.Designer.vb index e550e69..917da47 100644 --- a/My Project/Settings.Designer.vb +++ b/My Project/Settings.Designer.vb @@ -15,7 +15,7 @@ Option Explicit On Namespace My _ Partial Friend NotInheritable Class MySettings Inherits Global.System.Configuration.ApplicationSettingsBase @@ -53,6 +53,70 @@ Namespace My Return defaultInstance End Get End Property + + _ + Public Property ZadnjaMapa() As String + Get + Return CType(Me("ZadnjaMapa"),String) + End Get + Set + Me("ZadnjaMapa") = value + End Set + End Property + + ''' + '''Znak za decimalno ločilo + ''' + _ + Public Property DecimalnoLocilo() As String + Get + Return CType(Me("DecimalnoLocilo"),String) + End Get + Set + Me("DecimalnoLocilo") = value + End Set + End Property + + _ + Public Property KodeUporabnik() As String + Get + Return CType(Me("KodeUporabnik"),String) + End Get + Set + Me("KodeUporabnik") = value + End Set + End Property + + _ + Public Property DatKodeUporabnik() As String + Get + Return CType(Me("DatKodeUporabnik"),String) + End Get + Set + Me("DatKodeUporabnik") = value + End Set + End Property + + _ + Public Property DatKodeData() As String + Get + Return CType(Me("DatKodeData"),String) + End Get + Set + Me("DatKodeData") = value + End Set + End Property End Class End Namespace diff --git a/My Project/Settings.settings b/My Project/Settings.settings index 85b890b..6caf80e 100644 --- a/My Project/Settings.settings +++ b/My Project/Settings.settings @@ -1,7 +1,21 @@  - - - - - - + + + + + C:\ + + + Pika + + + Da + + + GSI_user.ini + + + GSI_data.ini + + + \ No newline at end of file diff --git a/TPS1100 Convert.vbproj b/TPS1100 Convert.vbproj index f4faf4b..5e70ec2 100644 --- a/TPS1100 Convert.vbproj +++ b/TPS1100 Convert.vbproj @@ -119,6 +119,12 @@ Form1.vb Form + + Form2.vb + + + Form + True @@ -140,6 +146,9 @@ Form1.vb + + Form2.vb + VbMyResourcesResXFileCodeGenerator Resources.Designer.vb @@ -148,11 +157,19 @@ + + PreserveNewest + + + PreserveNewest + MyApplicationCodeGenerator Application.Designer.vb + + SettingsSingleFileGenerator My @@ -176,6 +193,9 @@ false + + +