From 3fcf06990c007359bdaabfc886d0ff15ee18fb38 Mon Sep 17 00:00:00 2001 From: freedbygrace Date: Thu, 1 Dec 2022 11:40:57 -0500 Subject: [PATCH] Initial Upload --- Content/DBQueries/GetProductIDList.sql | 23 + Content/Templates/SettingsTemplate.xml | 94 + Functions/Convert-FileSize.ps1 | 118 + Functions/Copy-ItemWithProgress.ps1 | 621 ++++++ Functions/Get-WindowsReleaseHistory.ps1 | 300 +++ Functions/Invoke-FileDownload.ps1 | 343 +++ Functions/Invoke-FileDownloadWithProgress.ps1 | 565 +++++ Functions/Invoke-RegistryHiveAction.ps1 | 355 +++ Functions/Invoke-SQLDBQuery.ps1 | 436 ++++ Functions/Libraries/AlphaFS.dll | Bin 0 -> 286720 bytes Functions/Libraries/HtmlAgilityPack.dll | Bin 0 -> 169472 bytes Functions/Libraries/NFluent.dll | Bin 0 -> 114176 bytes Functions/Libraries/NLog.dll | Bin 0 -> 500224 bytes Functions/Libraries/Registry.dll | Bin 0 -> 124928 bytes Functions/Start-ProcessWithOutput.ps1 | 366 +++ Invoke-ConfigurationGenerator.ps1 | 913 ++++++++ Invoke-ConfigurationGenerator.vbs | 145 ++ Invoke-DriverPackageCreator.ps1 | 1974 +++++++++++++++++ Invoke-DriverPackageCreator.vbs | 145 ++ Invoke-DriverPackageDownload.ps1 | 1388 ++++++++++++ Invoke-DriverPackageDownload.vbs | 145 ++ Tools/X64/7z.dll | Bin 0 -> 1814016 bytes Tools/X64/7z.exe | Bin 0 -> 545280 bytes Tools/X86/7z.dll | Bin 0 -> 1236480 bytes Tools/X86/7z.exe | Bin 0 -> 337408 bytes 25 files changed, 7931 insertions(+) create mode 100644 Content/DBQueries/GetProductIDList.sql create mode 100644 Content/Templates/SettingsTemplate.xml create mode 100644 Functions/Convert-FileSize.ps1 create mode 100644 Functions/Copy-ItemWithProgress.ps1 create mode 100644 Functions/Get-WindowsReleaseHistory.ps1 create mode 100644 Functions/Invoke-FileDownload.ps1 create mode 100644 Functions/Invoke-FileDownloadWithProgress.ps1 create mode 100644 Functions/Invoke-RegistryHiveAction.ps1 create mode 100644 Functions/Invoke-SQLDBQuery.ps1 create mode 100644 Functions/Libraries/AlphaFS.dll create mode 100644 Functions/Libraries/HtmlAgilityPack.dll create mode 100644 Functions/Libraries/NFluent.dll create mode 100644 Functions/Libraries/NLog.dll create mode 100644 Functions/Libraries/Registry.dll create mode 100644 Functions/Start-ProcessWithOutput.ps1 create mode 100644 Invoke-ConfigurationGenerator.ps1 create mode 100644 Invoke-ConfigurationGenerator.vbs create mode 100644 Invoke-DriverPackageCreator.ps1 create mode 100644 Invoke-DriverPackageCreator.vbs create mode 100644 Invoke-DriverPackageDownload.ps1 create mode 100644 Invoke-DriverPackageDownload.vbs create mode 100644 Tools/X64/7z.dll create mode 100644 Tools/X64/7z.exe create mode 100644 Tools/X86/7z.dll create mode 100644 Tools/X86/7z.exe diff --git a/Content/DBQueries/GetProductIDList.sql b/Content/DBQueries/GetProductIDList.sql new file mode 100644 index 0000000..f28e669 --- /dev/null +++ b/Content/DBQueries/GetProductIDList.sql @@ -0,0 +1,23 @@ +Declare @OperatingSystemFilter VARCHAR(Max) = '%NT%Workstation%'; +Declare @IsVirtualMachine INT = 0; +Declare @Manufacturer VARCHAR(Max) = '%'; +Declare @NullReplacementValue VARCHAR(Max) = 'N/A'; + +Select Distinct + dbo.v_GS_MS_SYSTEMINFORMATION.BaseBoardProduct0 As 'BaseboardProduct', + dbo.v_GS_MS_SYSTEMINFORMATION.SystemFamily0 As 'SystemFamily', + dbo.v_GS_MS_SYSTEMINFORMATION.SystemManufacturer0 As 'SystemManufacturer', + dbo.v_GS_MS_SYSTEMINFORMATION.SystemProductName0 As 'SystemProductName', + dbo.v_GS_MS_SYSTEMINFORMATION.SystemSKU0 As 'SystemSKU', + dbo.v_GS_MS_SYSTEMINFORMATION.SystemVersion0 As 'SystemVersion' +From + dbo.v_R_System + Inner Join dbo.v_GS_MS_SYSTEMINFORMATION On (dbo.v_R_System.ResourceID = dbo.v_GS_MS_SYSTEMINFORMATION.ResourceID) +Where + (dbo.v_R_System.Operating_System_Name_and0 Like @OperatingSystemFilter) + And + (dbo.v_R_System.Is_Virtual_Machine0 = @IsVirtualMachine) + And + ((dbo.v_GS_MS_SYSTEMINFORMATION.SystemManufacturer0 Like @Manufacturer)) +Order By + dbo.v_GS_MS_SYSTEMINFORMATION.SystemManufacturer0 \ No newline at end of file diff --git a/Content/Templates/SettingsTemplate.xml b/Content/Templates/SettingsTemplate.xml new file mode 100644 index 0000000..8ea193c --- /dev/null +++ b/Content/Templates/SettingsTemplate.xml @@ -0,0 +1,94 @@ + + + + + + + + + + DSW\amote + NBAMOTE + 2022-11-10T15:01 + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Functions/Convert-FileSize.ps1 b/Functions/Convert-FileSize.ps1 new file mode 100644 index 0000000..35c3782 --- /dev/null +++ b/Functions/Convert-FileSize.ps1 @@ -0,0 +1,118 @@ +## Microsoft Function Naming Convention: http://msdn.microsoft.com/en-us/library/ms714428(v=vs.85).aspx + +#region Function Convert-FileSize +Function Convert-FileSize + { + <# + .SYSNOPSIS + Converts a size in bytes to its upper most value. + + .PARAMETER Size + The size in bytes to convert + + .EXAMPLE + $ConvertFileSizeParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ConvertFileSizeParameters.Size = 4294964 + $ConvertFileSizeParameters.DecimalPlaces = 2 + + $ConvertFileSizeResult = Convert-FileSize @ConvertFileSizeParameters + + Write-Output -InputObject ($ConvertFileSizeResult) + + .EXAMPLE + $ConvertFileSizeResult = Convert-FileSize -Size 4294964 + + Write-Output -InputObject ($ConvertFileSizeResult) + + .NOTES + Size : 429496456565656 + DecimalPlaces : 0 + Divisor : 1099511627776 + SizeUnit : TB + SizeUnitAlias : Terabytes + CalculatedSize : 391 + CalculatedSizeStr : 391 TB + #> + + [CmdletBinding()] + Param + ( + [Parameter(Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [Alias("Length")] + $Size, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [Alias("DP")] + [Int]$DecimalPlaces + ) + + Try + { + Switch ($True) + { + {([String]::IsNullOrEmpty($DecimalPlaces) -eq $True) -or ([String]::IsNullOrWhiteSpace($DecimalPlaces) -eq $True)} + { + [Int]$DecimalPlaces = 2 + } + } + + $OutputObjectProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $OutputObjectProperties.Size = $Size + $OutputObjectProperties.DecimalPlaces = $DecimalPlaces + + Switch ($Size) + { + {($_ -lt 1MB)} + { + $OutputObjectProperties.Divisor = 1KB + $OutputObjectProperties.SizeUnit = 'KB' + $OutputObjectProperties.SizeUnitAlias = 'Kilobytes' + + Break + } + + {($_ -lt 1GB)} + { + $OutputObjectProperties.Divisor = 1MB + $OutputObjectProperties.SizeUnit = 'MB' + $OutputObjectProperties.SizeUnitAlias = 'Megabytes' + + Break + } + + {($_ -lt 1TB)} + { + $OutputObjectProperties.Divisor = 1GB + $OutputObjectProperties.SizeUnit = 'GB' + $OutputObjectProperties.SizeUnitAlias = 'Gigabytes' + + Break + } + + {($_ -ge 1TB)} + { + $OutputObjectProperties.Divisor = 1TB + $OutputObjectProperties.SizeUnit = 'TB' + $OutputObjectProperties.SizeUnitAlias = 'Terabytes' + + Break + } + } + + $OutputObjectProperties.CalculatedSize = [System.Math]::Round(($Size / $OutputObjectProperties.Divisor), $OutputObjectProperties.DecimalPlaces) + $OutputObjectProperties.CalculatedSizeStr = "$($OutputObjectProperties.CalculatedSize) $($OutputObjectProperties.SizeUnit)" + } + Catch + { + Write-Error -Exception $_ + } + Finally + { + $OutputObject = New-Object -TypeName 'PSObject' -Property ($OutputObjectProperties) + + Write-Output -InputObject ($OutputObject) + } + } +#endregion \ No newline at end of file diff --git a/Functions/Copy-ItemWithProgress.ps1 b/Functions/Copy-ItemWithProgress.ps1 new file mode 100644 index 0000000..f605ff2 --- /dev/null +++ b/Functions/Copy-ItemWithProgress.ps1 @@ -0,0 +1,621 @@ +## Microsoft Function Naming Convention: http://msdn.microsoft.com/en-us/library/ms714428(v=vs.85).aspx + +#region Function Copy-ItemWithProgress +Function Copy-ItemWithProgress + { + <# + .SYNOPSIS + Copies file(s) from a valid path in segments. + + .DESCRIPTION + Supports the copying of files from a valid location in segments either directly or recursively. + Supports the usage of filters and exclusions exactly the way that the Get-ChildItem or Copy-Item cmdlets work. + + .PARAMETER Path + A valid file or folder location. + + .PARAMETER Destination + The destination directory where the content will be copied. + + .PARAMETER Include + One or more filter(s) to implicitly copy what is specified. + + .PARAMETER Exclude + One or more filter(s) to implicitly skip the copying of what is specified. + + .PARAMETER Recurse + Recurse through the specified directories. + + .PARAMETER Force + Overwrite file(s) that have already been copied. The default behavior is to skip the copying of the file. + + .PARAMETER SegmentSize + The segment size in megabytes that each file will be transferred with. + + .PARAMETER RandomDelay + Adds a pulse in between the transfer of each segment. + + .PARAMETER ContinueOnError + Continues processing even if an error has occured. + + .EXAMPLE + Copy-ItemWithProgress -Path 'FileOrDirectoryPath' -Destination 'YourDestinationDirectory' -Verbose + + .EXAMPLE + $CopyItemWithProgressParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $CopyItemWithProgressParameters.Path = "FileOrDirectoryPath" + $CopyItemWithProgressParameters.Destination = "YourDestinationDirectory" + $CopyItemWithProgressParameters.Include = New-Object -TypeName 'System.Collections.Generic.List[String]' + $CopyItemWithProgressParameters.Include.Add('*.*') + $CopyItemWithProgressParameters.Exclude = New-Object -TypeName 'System.Collections.Generic.List[String]' + $CopyItemWithProgressParameters.Exclude.Add('*.ini') + $CopyItemWithProgressParameters.Recurse = $True + $CopyItemWithProgressParameters.Force = $False + $CopyItemWithProgressParameters.SegmentSize = 4096 + $CopyItemWithProgressParameters.RandomDelay = $False + $CopyItemWithProgressParameters.ContinueOnError = $False + $CopyItemWithProgressParameters.Verbose = $True + + $CopyItemWithProgressResult = Copy-ItemWithProgress @CopyItemWithProgressParameters + + Write-Output -InputObject ($CopyItemWithProgressResult) + + .NOTES + A progress bar is displayed and can be useful for scripts where the copying of large file(s) is taking place. + + .LINK + http://stackoverflow.com/questions/2434133/progress-during-large-file-copy-copy-item-write-progress + + .LINK + https://stackoverflow.com/questions/13883404/custom-robocopy-progress-bar-in-powershell + #> + + [CmdletBinding()] + + Param + ( + [Parameter(Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [ValidateScript({Test-Path -Path $_})] + [Alias('P')] + [String]$Path, + + [Parameter(Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [Alias('D')] + [System.IO.DirectoryInfo]$Destination, + + [Parameter(Mandatory=$False)] + [Alias('I')] + [String[]]$Include, + + [Parameter(Mandatory=$False)] + [Alias('E')] + [String[]]$Exclude, + + [Parameter(Mandatory=$False)] + [Alias('R')] + [Switch]$Recurse, + + [Parameter(Mandatory=$False)] + [Alias('Overwrite')] + [Switch]$Force, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [Alias('SS', 'BufferInMegabytes')] + [Int]$SegmentSize, + + [Parameter(Mandatory=$False)] + [Alias('RD')] + [Switch]$RandomDelay, + + [Parameter(Mandatory=$False)] + [Alias('COE')] + [Switch]$ContinueOnError + ) + + Begin + { + + + Try + { + $DateTimeLogFormat = 'dddd, MMMM dd, yyyy @ hh:mm:ss.FFF tt' ###Monday, January 01, 2019 @ 10:15:34.000 AM### + [ScriptBlock]$GetCurrentDateTimeLogFormat = {(Get-Date).ToString($DateTimeLogFormat)} + $DateTimeMessageFormat = 'MM/dd/yyyy HH:mm:ss.FFF' ###03/23/2022 11:12:48.347### + [ScriptBlock]$GetCurrentDateTimeMessageFormat = {(Get-Date).ToString($DateTimeMessageFormat)} + $DateFileFormat = 'yyyyMMdd' ###20190403### + [ScriptBlock]$GetCurrentDateFileFormat = {(Get-Date).ToString($DateFileFormat)} + $DateTimeFileFormat = 'yyyyMMdd_HHmmss' ###20190403_115354### + [ScriptBlock]$GetCurrentDateTimeFileFormat = {(Get-Date).ToString($DateTimeFileFormat)} + $TextInfo = (Get-Culture).TextInfo + $LoggingDetails = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $LoggingDetails.Add('LogMessage', $Null) + $LoggingDetails.Add('WarningMessage', $Null) + $LoggingDetails.Add('ErrorMessage', $Null) + $CommonParameterList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $CommonParameterList.AddRange([System.Management.Automation.PSCmdlet]::CommonParameters) + $CommonParameterList.AddRange([System.Management.Automation.PSCmdlet]::OptionalCommonParameters) + $FileSystemObject = New-Object -ComObject 'Scripting.FileSystemObject' + + [ScriptBlock]$ErrorHandlingDefinition = { + $ErrorMessageList = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ErrorMessageList.Add('Message', $_.Exception.Message) + $ErrorMessageList.Add('Category', $_.Exception.ErrorRecord.FullyQualifiedErrorID) + $ErrorMessageList.Add('Script', $_.InvocationInfo.ScriptName) + $ErrorMessageList.Add('LineNumber', $_.InvocationInfo.ScriptLineNumber) + $ErrorMessageList.Add('LinePosition', $_.InvocationInfo.OffsetInLine) + $ErrorMessageList.Add('Code', $_.InvocationInfo.Line.Trim()) + + ForEach ($ErrorMessage In $ErrorMessageList.GetEnumerator()) + { + $LoggingDetails.ErrorMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - ERROR: $($ErrorMessage.Key): $($ErrorMessage.Value)" + Write-Warning -Message ($LoggingDetails.ErrorMessage) + } + + Switch (($ContinueOnError.IsPresent -eq $False) -or ($ContinueOnError -eq $False)) + { + {($_ -eq $True)} + { + Throw + } + } + } + + #Determine the date and time we executed the function + $FunctionStartTime = (Get-Date) + + [String]$FunctionName = $MyInvocation.MyCommand + [System.IO.FileInfo]$InvokingScriptPath = $MyInvocation.PSCommandPath + [System.IO.DirectoryInfo]$InvokingScriptDirectory = $InvokingScriptPath.Directory.FullName + [System.IO.FileInfo]$FunctionPath = "$($InvokingScriptDirectory.FullName)\Functions\$($FunctionName).ps1" + [System.IO.DirectoryInfo]$FunctionDirectory = "$($FunctionPath.Directory.FullName)" + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function `'$($FunctionName)`' is beginning. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + #Define Default Action Preferences + $ErrorActionPreference = 'Stop' + + [String[]]$AvailableScriptParameters = (Get-Command -Name ($FunctionName)).Parameters.GetEnumerator() | Where-Object {($_.Value.Name -inotin $CommonParameterList)} | ForEach-Object {"-$($_.Value.Name):$($_.Value.ParameterType.Name)"} + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Available Function Parameter(s) = $($AvailableScriptParameters -Join ', ')" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + [String[]]$SuppliedScriptParameters = $PSBoundParameters.GetEnumerator() | ForEach-Object {"-$($_.Key):$($_.Value.GetType().Name)"} + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Supplied Function Parameter(s) = $($SuppliedScriptParameters -Join ', ')" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Execution of $($FunctionName) began on $($FunctionStartTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + #region Load any required libraries + [System.IO.DirectoryInfo]$LibariesDirectory = "$($FunctionDirectory.FullName)\Libraries" + + Switch ([System.IO.Directory]::Exists($LibariesDirectory.FullName)) + { + {($_ -eq $True)} + { + $LibraryPatternList = New-Object -TypeName 'System.Collections.Generic.List[String]' + #$LibraryPatternList.Add('') + + Switch ($LibraryPatternList.Count -gt 0) + { + {($_ -eq $True)} + { + $LibraryList = Get-ChildItem -Path ($LibariesDirectory.FullName) -Include ($LibraryPatternList.ToArray()) -Recurse -Force | Where-Object {($_ -is [System.IO.FileInfo])} + + $LibraryListCount = ($LibraryList | Measure-Object).Count + + Switch ($LibraryListCount -gt 0) + { + {($_ -eq $True)} + { + For ($LibraryListIndex = 0; $LibraryListIndex -lt $LibraryListCount; $LibraryListIndex++) + { + $Library = $LibraryList[$LibraryListIndex] + + [Byte[]]$LibraryBytes = [System.IO.File]::ReadAllBytes($Library.FullName) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to load assembly `"$($Library.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $Null = [System.Reflection.Assembly]::Load($LibraryBytes) + } + } + } + } + } + } + } + #endregion + + #region Set Default Parameter Values + Switch ($True) + { + {($Null -ieq $SegmentSize) -or ($SegmentSize -eq 0)} + { + [Int]$SegmentSize = 8192 + } + } + #endregion + + #Create an object that will contain the functions output. + $OutputObjectList = New-Object -TypeName 'System.Collections.Generic.List[PSObject]' + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + + } + } + + Process + { + Try + { + Switch ($Null -ine $Path) + { + {($_ -eq $True)} + { + $GetChildItemParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $GetChildItemParameters.Path = $Path + $GetChildItemParameters.Force = $True + $GetChildItemParameters.ErrorAction = [System.Management.Automation.Actionpreference]::SilentlyContinue + + Switch ($True) + { + {([String]::IsNullOrEmpty($Include) -eq $False) -and ([String]::IsNullOrWhiteSpace($Include) -eq $False)} + { + $GetChildItemParameters.Include = $Include + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - File(s) matching $($GetChildItemParameters.Include -Join ', ') will be included." + Write-Verbose -Message ($LoggingDetails.LogMessage) + } + + {([String]::IsNullOrEmpty($Exclude) -eq $False) -and ([String]::IsNullOrWhiteSpace($Exclude) -eq $False)} + { + $GetChildItemParameters.Exclude = $Exclude + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - File(s) matching $($GetChildItemParameters.Exclude -Join ', ') will be excluded." + Write-Verbose -Message ($LoggingDetails.LogMessage) + } + + {($Recurse.IsPresent -eq $True)} + { + $GetChildItemParameters.Recurse = $True + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The search will be performed recursively." + Write-Verbose -Message ($LoggingDetails.LogMessage) + } + } + + $FileList = Get-ChildItem @GetChildItemParameters | Where-Object {($_ -is [System.IO.FileInfo])} + + $FileListDetails = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $FileListDetails.Count = ($FileList | Measure-Object).Count + + Switch ($FileListDetails.Count -gt 0) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($FileListDetails.Count) file(s) will be copied in $($SegmentSize) MB segments to the destination directory of `"$($Destination.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $FileListDetails.TotalBytes = ($FileList | Measure-Object -Sum 'Length').Sum + $FileListDetails.TransferredBytes = 0 + $FileListDetails.PercentComplete = 0 + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - A total of $([System.Math]::Round(($FileListDetails.TotalBytes / 1MB), 2)) MB needs to be transferred." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $StopWatchTable = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $StopWatchTable.Primary = New-Object -TypeName 'System.Diagnostics.Stopwatch' + $StopWatchTable.Secondary = New-Object -TypeName 'System.Diagnostics.Stopwatch' + + $Null = $StopWatchTable.Primary.Start() + + For ($FileListIndex = 0; $FileListIndex -lt $FileListDetails.Count; $FileListIndex++) + { + Try + { + $FileObjectProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $FileObjectProperties.Source = ($FileList[$FileListIndex]) -As [System.IO.FileInfo] + + Switch ($Recurse.IsPresent) + { + {($_ -eq $True)} + { + $FileObjectProperties.SourceSegmentList = $FileObjectProperties.Source.FullName.Replace($Path, '').Split('\', [System.StringSplitOptions]::RemoveEmptyEntries) -As [System.Collections.Generic.List[String]] + + $FileObjectProperties.Destination = (Join-Path -Path ($Destination.FullName) -ChildPath ($FileObjectProperties.SourceSegmentList -Join '\')) -As [System.IO.FileInfo] + + $FileObjectProperties.Remove('SourceSegmentList') + } + + Default + { + $FileObjectProperties.Destination = "$($Destination.FullName)\$($FileObjectProperties.Source.Name)" -As [System.IO.FileInfo] + } + } + + Switch ($True) + { + {([System.IO.Directory]::Exists($FileObjectProperties.Destination.Directory.FullName) -eq $False)} + { + $Null = [System.IO.Directory]::CreateDirectory($FileObjectProperties.Destination.Directory.FullName) + } + } + + Switch (([System.IO.File]::Exists($FileObjectProperties.Destination.FullName) -eq $False) -or ($Force.IsPresent -eq $True)) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to copy `"$($FileObjectProperties.Source.FullName)`" to `"$($FileObjectProperties.Destination.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $FileDetails = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $FileDetails.Source = [System.IO.File]::OpenRead($FileObjectProperties.Source.FullName) + $FileDetails.Destination = [System.IO.File]::Create($FileObjectProperties.Destination.FullName) + $FileDetails.Buffer = New-Object -TypeName 'Byte[]' -ArgumentList ($SegmentSize * 1024) + $FileDetails.SegmentBytes = 0 + $FileDetails.TransferredBytes = 0 + $FileDetails.Number = $FileListIndex + 1 + + $Null = $StopWatchTable.Secondary.Start() + + Do + { + $FileDetails.SegmentBytes = $FileDetails.Source.Read($FileDetails.Buffer, 0, $FileDetails.Buffer.Length) + + $FileDetails.Destination.Write($FileDetails.Buffer, 0, $FileDetails.SegmentBytes) + + $FileDetails.TransferredBytes = $FileDetails.TransferredBytes + $FileDetails.SegmentBytes + + $FileListDetails.TransferredBytes = $FileListDetails.TransferredBytes + $FileDetails.SegmentBytes + + Switch ($FileDetails.Source.Length -gt 1) + { + {($_ -eq $True)} + { + $FileDetails.PercentComplete = (($FileDetails.TransferredBytes / $FileDetails.Source.Length) * 100) -As [Int] + } + + Default + { + $FileDetails.PercentComplete = (100) -As [Int] + } + } + + $FileDetails.PercentComplete = [System.Math]::Round($FileDetails.PercentComplete, 2) + + $FileDetails.TotalSecondsElasped = $StopWatchTable.Secondary.Elapsed.TotalSeconds -As [Int] + + Switch ($FileDetails.TotalSecondsElasped -ne 0) + { + {($_ -eq $True)} + { + $FileDetails.TransferRate = ($FileDetails.TransferredBytes / $FileDetails.TotalSecondsElasped / 1MB) -As [Single] + } + + Default + { + $FileDetails.TransferRate = (0.0) -As [Single] + } + } + + $FileDetails.TransferRate = [System.Math]::Round($FileDetails.TransferRate, 2) + + Switch (($Total % 1MB) -eq 0) + { + {($_ -eq $True)} + { + Switch ($FileDetails.PercentComplete -gt 0) + { + {($_ -eq $True)} + { + $FileDetails.SecondsRemaining = ((($FileDetails.TotalSecondsElasped / $FileDetails.PercentComplete) * 100) - $FileDetails.TotalSecondsElasped) -As [Int] + } + + Default + { + $FileDetails.SecondsRemaining = (0) -As [Int] + } + } + + $FileListDetails.PercentComplete = [System.Math]::Round((($FileListDetails.TransferredBytes / $FileListDetails.TotalBytes) * 100), 2) + + $FileListDetails.TotalSecondsElasped = $StopWatchTable.Primary.Elapsed.TotalSeconds -As [Int] + + Switch ($FileListDetails.PercentComplete -gt 0) + { + {($_ -eq $True)} + { + $FileListDetails.SecondsRemaining = ((($FileListDetails.TotalSecondsElasped / $FileListDetails.PercentComplete) * 100) - $FileListDetails.TotalSecondsElasped) -As [Int] + } + + Default + { + $FileListDetails.SecondsRemaining = ((($FileListDetails.TotalSecondsElasped / $FileListDetails.PercentComplete) * 100) - $FileListDetails.TotalSecondsElasped) -As [Int] + } + } + + $TaskSequence = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $TaskSequence.Environment = Try {New-Object -ComObject 'Microsoft.SMS.TSEnvironment'} Catch {$Null} + $TaskSequence.IsRunning = $Null -ine $TaskSequence.Environment + + Switch ($TaskSequence.IsRunning) + { + {($_ -eq $True)} + { + $FileProgressParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $FileProgressParameters.ID = 1 + $FileProgressParameters.Activity = "$($FileDetails.PercentComplete)% - Downloading $($FileSystemObject.GetFile($FileObjectProperties.Destination.FullName).ShortName) @ $($FileDetails.TransferRate) Mbps ($($FileDetails.Number) of $($FileListDetails.Count))" + $FileProgressParameters.Status = "$($FileDetails.PercentComplete)% - Downloading $($FileSystemObject.GetFile($FileObjectProperties.Destination.FullName).ShortName) @ $($FileDetails.TransferRate) Mbps ($($FileDetails.Number) of $($FileListDetails.Count))" + $FileProgressParameters.PercentComplete = $FileDetails.PercentComplete + $FileProgressParameters.SecondsRemaining = $FileDetails.SecondsRemaining + + Write-Progress @FileProgressParameters + } + + Default + { + $TotalProgressParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $TotalProgressParameters.ID = 1 + $TotalProgressParameters.Activity = "$($FileListDetails.PercentComplete)% - Copying file $($FileDetails.Number) of $($FileListDetails.Count) ($($FileListDetails.Count - $($FileListIndex)) left)" + $TotalProgressParameters.Status = $FileObjectProperties.Source.FullName + $TotalProgressParameters.PercentComplete = $FileListDetails.PercentComplete + $TotalProgressParameters.SecondsRemaining = $FileListDetails.SecondsRemaining + + Write-Progress @TotalProgressParameters + + $FileProgressParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $FileProgressParameters.ParentID = $TotalProgressParameters.ID + $FileProgressParameters.ID = $TotalProgressParameters.ID + 1 + $FileProgressParameters.Activity = "$($FileDetails.PercentComplete)% - Copying @ $($FileDetails.TransferRate) Mbps" + $FileProgressParameters.Status = $FileObjectProperties.Destination.FullName + $FileProgressParameters.PercentComplete = $FileDetails.PercentComplete + $FileProgressParameters.SecondsRemaining = $FileDetails.SecondsRemaining + + Write-Progress @FileProgressParameters + } + } + } + } + + Switch ($RandomDelay.IsPresent) + { + {($_ -eq $True)} + { + $Delay = Get-Random -Minimum 1 -Maximum 1500 + + $Null = Start-Sleep -Milliseconds ($Delay) + } + } + } + While ($FileDetails.SegmentBytes -gt 0) + + $Null = $FileDetails.Source.Close() + + $Null = $FileDetails.Destination.Close() + + $Null = $StopWatchTable.Secondary.Stop() + + $FileDetails = Get-Item -Path $FileObjectProperties.Destination.FullName -Force + + $FileAttributeList = $FileDetails.PSObject.Properties | Where-Object {($_.MemberType -iin @('NoteProperty', 'Property')) -and ($_.TypeNameOfValue -ieq 'System.DateTime') -and ($_.IsSettable -eq $True) -and ($_.Name -inotmatch '.*UTC.*')} + + ForEach ($FileAttribute In $FileAttributeList) + { + #$LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to update file attribute `"$($FileAttribute.Name)`" on file `"$($FileDetails.FullName)`" from `"$($FileDetails.$($FileAttribute.Name))`" to `"$($FileObjectProperties.Source.$($FileAttribute.Name))`". Please Wait..." + #Write-Verbose -Message ($LoggingDetails.LogMessage) + + $FileDetails.$($FileAttribute.Name) = $FileObjectProperties.Source.$($FileAttribute.Name) + } + + $FileObjectProperties.Destination = $FileDetails + + $FileObjectProperties.Status = 'Successful' + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - File `"$($FileObjectProperties.Destination.FullName)`" already exists. Skipping." + Write-Warning -Message ($LoggingDetails.WarningMessage) + + $FileObjectProperties.Status = 'Skipped' + } + } + } + Catch + { + $FileObjectProperties.Status = 'Error' + + $ErrorHandlingDefinition.Invoke() + } + Finally + { + $FileObjectProperties.TimeToTransfer = $StopWatchTable.Secondary.Elapsed + + $Null = $StopWatchTable.Secondary.Reset() + + $FileObject = New-Object -TypeName 'PSObject' -Property ($FileObjectProperties) + + $OutputObjectList.Add($FileObject) + } + } + + $Null = $StopWatchTable.Primary.Stop() + + $Null = $StopWatchTable.Primary.Reset() + + $FileListStatusGroups = $OutputObjectList | Group-Object -Property 'Status' | Sort-Object -Property @('Name') + + ForEach ($FileListStatusGroup In $FileListStatusGroups) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($FileListStatusGroup.Count) of $($FileListDetails.Count) file(s) have a status of `"$($FileListStatusGroup.Name)`"." + Write-Verbose -Message ($LoggingDetails.LogMessage) + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - There are $($FileListDetails.Count) file(s) to copy to `"$($Destination.FullName)`". No further action will be taken." + Write-Warning -Message ($LoggingDetails.WarningMessage) + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - There were 0 paths specified to search. No further action will be taken." + Write-Warning -Message ($LoggingDetails.WarningMessage) + } + } + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + $Null = Start-Sleep -Seconds 3 + } + } + + End + { + Try + { + #Determine the date and time the function completed execution + $FunctionEndTime = (Get-Date) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Execution of $($FunctionName) ended on $($FunctionEndTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + #Log the total script execution time + $FunctionExecutionTimespan = New-TimeSpan -Start ($FunctionStartTime) -End ($FunctionEndTime) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function execution took $($FunctionExecutionTimespan.Hours.ToString()) hour(s), $($FunctionExecutionTimespan.Minutes.ToString()) minute(s), $($FunctionExecutionTimespan.Seconds.ToString()) second(s), and $($FunctionExecutionTimespan.Milliseconds.ToString()) millisecond(s)" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function `'$($FunctionName)`' is completed." + Write-Verbose -Message ($LoggingDetails.LogMessage) + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + #Write the object to the powershell pipeline + $OutputObjectList = $OutputObjectList.ToArray() + + Write-Output -InputObject ($OutputObjectList) + } + } + } +#endregion \ No newline at end of file diff --git a/Functions/Get-WindowsReleaseHistory.ps1 b/Functions/Get-WindowsReleaseHistory.ps1 new file mode 100644 index 0000000..3bd99d6 --- /dev/null +++ b/Functions/Get-WindowsReleaseHistory.ps1 @@ -0,0 +1,300 @@ +## Microsoft Function Naming Convention: http://msdn.microsoft.com/en-us/library/ms714428(v=vs.85).aspx + +#region Function Get-WindowsReleaseHistory +Function Get-WindowsReleaseHistory + { + <# + .SYNOPSIS + Retrieves the Windows release history by scraping the release information from the internet + + .DESCRIPTION + Slightly more detailed description of what your function does + + .EXAMPLE + Get-WindowsReleaseHistory -Verbose + + .EXAMPLE + Get-WindowsReleaseHistory -Force -Verbose + + .NOTES + a global variable named 'WindowsReleaseHistory' will be created that will store the release details. To keep web request traffic to a minimum, repeat executions of this function will return cached data unless the '-Force' parameter is specified. + + $Global:WindowsReleaseHistory + + .LINK + https://learn.microsoft.com/en-us/windows/release-health/release-information + + .LINK + https://learn.microsoft.com/en-us/windows/release-health/windows11-release-information + #> + + [CmdletBinding()] + Param + ( + [Parameter(Mandatory=$False)] + [Switch]$Force, + + [Parameter(Mandatory=$False)] + [Switch]$ContinueOnError + ) + + Begin + { + + + Try + { + $DateTimeLogFormat = 'dddd, MMMM dd, yyyy @ hh:mm:ss.FFF tt' ###Monday, January 01, 2019 @ 10:15:34.000 AM### + [ScriptBlock]$GetCurrentDateTimeLogFormat = {(Get-Date).ToString($DateTimeLogFormat)} + $DateTimeMessageFormat = 'MM/dd/yyyy HH:mm:ss.FFF' ###03/23/2022 11:12:48.347### + [ScriptBlock]$GetCurrentDateTimeMessageFormat = {(Get-Date).ToString($DateTimeMessageFormat)} + $DateFileFormat = 'yyyyMMdd' ###20190403### + [ScriptBlock]$GetCurrentDateFileFormat = {(Get-Date).ToString($DateFileFormat)} + $DateTimeFileFormat = 'yyyyMMdd_HHmmss' ###20190403_115354### + [ScriptBlock]$GetCurrentDateTimeFileFormat = {(Get-Date).ToString($DateTimeFileFormat)} + $TextInfo = (Get-Culture).TextInfo + $LoggingDetails = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $LoggingDetails.Add('LogMessage', $Null) + $LoggingDetails.Add('WarningMessage', $Null) + $LoggingDetails.Add('ErrorMessage', $Null) + $CommonParameterList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $CommonParameterList.AddRange([System.Management.Automation.PSCmdlet]::CommonParameters) + $CommonParameterList.AddRange([System.Management.Automation.PSCmdlet]::OptionalCommonParameters) + + [ScriptBlock]$ErrorHandlingDefinition = { + $ErrorMessageList = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ErrorMessageList.Add('Message', $_.Exception.Message) + $ErrorMessageList.Add('Category', $_.Exception.ErrorRecord.FullyQualifiedErrorID) + $ErrorMessageList.Add('Script', $_.InvocationInfo.ScriptName) + $ErrorMessageList.Add('LineNumber', $_.InvocationInfo.ScriptLineNumber) + $ErrorMessageList.Add('LinePosition', $_.InvocationInfo.OffsetInLine) + $ErrorMessageList.Add('Code', $_.InvocationInfo.Line.Trim()) + + ForEach ($ErrorMessage In $ErrorMessageList.GetEnumerator()) + { + $LoggingDetails.ErrorMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - ERROR: $($ErrorMessage.Key): $($ErrorMessage.Value)" + Write-Warning -Message ($LoggingDetails.ErrorMessage) + } + + Switch (($ContinueOnError.IsPresent -eq $False) -or ($ContinueOnError -eq $False)) + { + {($_ -eq $True)} + { + Throw + } + } + } + + #Determine the date and time we executed the function + $FunctionStartTime = (Get-Date) + + [String]$FunctionName = $MyInvocation.MyCommand + [System.IO.FileInfo]$FunctionPath = $PSCommandPath + [System.IO.DirectoryInfo]$FunctionDirectory = "$($FunctionPath.Directory.FullName)" + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function `'$($FunctionName)`' is beginning. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + #Define Default Action Preferences + $ErrorActionPreference = 'Stop' + + [String[]]$AvailableScriptParameters = (Get-Command -Name ($FunctionName)).Parameters.GetEnumerator() | Where-Object {($_.Value.Name -inotin $CommonParameterList)} | ForEach-Object {"-$($_.Value.Name):$($_.Value.ParameterType.Name)"} + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Available Function Parameter(s) = $($AvailableScriptParameters -Join ', ')" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + [String[]]$SuppliedScriptParameters = $PSBoundParameters.GetEnumerator() | ForEach-Object {"-$($_.Key):$($_.Value.GetType().Name)"} + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Supplied Function Parameter(s) = $($SuppliedScriptParameters -Join ', ')" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Execution of $($FunctionName) began on $($FunctionStartTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + #region Load any required libraries + [System.IO.DirectoryInfo]$LibariesDirectory = "$($FunctionDirectory.FullName)\Libraries" + + Switch ([System.IO.Directory]::Exists($LibariesDirectory.FullName)) + { + {($_ -eq $True)} + { + $LibraryPatternList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $LibraryPatternList.Add('HtmlAgilityPack.dll') + + Switch ($LibraryPatternList.Count -gt 0) + { + {($_ -eq $True)} + { + $LibraryList = Get-ChildItem -Path ($LibariesDirectory.FullName) -Include ($LibraryPatternList.ToArray()) -Recurse -Force | Where-Object {($_ -is [System.IO.FileInfo])} + + $LibraryListCount = ($LibraryList | Measure-Object).Count + + Switch ($LibraryListCount -gt 0) + { + {($_ -eq $True)} + { + For ($LibraryListIndex = 0; $LibraryListIndex -lt $LibraryListCount; $LibraryListIndex++) + { + $Library = $LibraryList[$LibraryListIndex] + + [Byte[]]$LibraryBytes = [System.IO.File]::ReadAllBytes($Library.FullName) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to load assembly `"$($Library.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $Null = [System.Reflection.Assembly]::Load($LibraryBytes) + } + } + } + } + } + } + } + #endregion + + #Create an object that will contain the functions output. + $OutputObjectList = New-Object -TypeName 'System.Collections.Generic.List[PSObject]' + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + + } + } + + Process + { + Try + { + Switch (($Null -ieq $Global:WindowsReleaseHistory) -or ($Force.IsPresent -eq $True)) + { + {($_ -eq $True)} + { + $URLList = New-Object -TypeName 'System.Collections.Generic.List[System.URI]' + $URLList.Add('https://learn.microsoft.com/en-us/windows/release-health/release-information') + $URLList.Add('https://learn.microsoft.com/en-us/windows/release-health/windows11-release-information') + + For ($URLListIndex = 0; $URLListIndex -lt $URLList.Count; $URLListIndex++) + { + $URL = $URLList[$URLListIndex] + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to retrieve data from `"$($URL.OriginalString)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $HTMLWebRequest = New-Object -TypeName 'HtmlAgilityPack.HtmlWeb' + + $HTMLWebRequestObject = $HTMLWebRequest.Load($URL.OriginalString) + + $HTMLDocumentObject = $HTMLWebRequestObject.DocumentNode + + $MetadataList = $HTMLDocumentObject.SelectNodes('/html/head//meta') | Where-Object {($_.OuterHTML -imatch '.*og\:title.*')} + + $OGTitle = ($MetadataList[0].Attributes | Where-Object {($_.Name -ieq 'Content')}).Value + + $HistoryTableList = $HTMLDocumentObject.SelectNodes('//table') | Where-Object {($_.ID -imatch '(^HistoryTable_\d+$)')} + + $RootNodeList = $HTMLDocumentObject.SelectNodes('//strong') + + For ($RootNodeListIndex = 0; $RootNodeListIndex -lt $RootNodeList.Count; $RootNodeListIndex++) + { + $RootNode = $RootNodeList[$RootNodeListIndex] + + $RootNodeRegexData = [Regex]::Match($RootNode.InnerText, '(?:.*Version\s+)(?\w{4,4})(?:.*)(?:\s+\(OS\s+build\s+)(?\d{5,5})(?:.+)') + + Switch ($RootNodeRegexData.Success) + { + {($_ -eq $True)} + { + $OutputObjectProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $OutputObjectProperties.Vendor = 'Microsoft' + $OutputObjectProperties.Name = [Regex]::Match($OGTitle, 'W.+\d+').Value + $OutputObjectProperties.ReleaseID = ($RootNodeRegexData.Groups | Where-Object {($_.Name -ieq 'OSReleaseID')}).Value + $OutputObjectProperties.Build = ($RootNodeRegexData.Groups | Where-Object {($_.Name -ieq 'OSBuild')}).Value + $OutputObjectProperties.Version = "10.0.$($OutputObjectProperties.Build)" -As [System.Version] + $OutputObjectProperties.ReleaseHistory = New-Object -TypeName 'System.Collections.Generic.List[PSObject]' + + <# + $HistoryTableChildNodeList = ($HistoryTableList | Where-Object {($_.InnerText -imatch ".*$($OutputObjectProperties.Build).*")}).ChildNodes | Where-Object {([String]::IsNullOrEmpty($_.InnerText) -eq $False) -and ([String]::IsNullOrWhiteSpace($_.InnerText) -eq $False)} | Sort-Object -Property @('InnerText') -Unique + + For ($HistoryTableChildNodeIndex = 0; $HistoryTableChildNodeIndex -lt $HistoryTableChildNodeList.Count; $HistoryTableChildNodeIndex++) + { + $HistoryTableChildNode = $HistoryTableChildNodeList[$HistoryTableChildNodeIndex] + + $InnerTextLines = $HistoryTableChildNode.InnerText.Split("`n", [System.StringSplitOptions]::RemoveEmptyEntries).Trim() + + For ($InnerTextLineIndex = 0; $InnerTextLineIndex -lt $InnerTextLines.Count; $InnerTextLineIndex++) + { + $InnerTextLine = $InnerTextLines[$InnerTextLineIndex] + + #$InnerTextLine + } + } + #> + + $OutputObject = New-Object -TypeName 'PSObject' -Property ($OutputObjectProperties) + + $OutputObjectList.Add($OutputObject) + } + } + } + + } + + #Write the object to the powershell pipeline + $OutputObjectList = $OutputObjectList.ToArray() + + $Global:WindowsReleaseHistory = $OutputObjectList | Sort-Object -Property @('Version') + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The Windows release history has already been retrieved. Returning cached results in order to reduce web request traffic." + Write-Warning -Message ($LoggingDetails.WarningMessage) + } + } + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + + } + } + + End + { + Try + { + #Determine the date and time the function completed execution + $FunctionEndTime = (Get-Date) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Execution of $($FunctionName) ended on $($FunctionEndTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + #Log the total script execution time + $FunctionExecutionTimespan = New-TimeSpan -Start ($FunctionStartTime) -End ($FunctionEndTime) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function execution took $($FunctionExecutionTimespan.Hours.ToString()) hour(s), $($FunctionExecutionTimespan.Minutes.ToString()) minute(s), $($FunctionExecutionTimespan.Seconds.ToString()) second(s), and $($FunctionExecutionTimespan.Milliseconds.ToString()) millisecond(s)" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function `'$($FunctionName)`' is completed." + Write-Verbose -Message ($LoggingDetails.LogMessage) + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + Write-Output -InputObject ($Global:WindowsReleaseHistory) + } + } + } +#endregion + +<# + Get-WindowsReleaseHistory -Force:$False -Verbose +#> \ No newline at end of file diff --git a/Functions/Invoke-FileDownload.ps1 b/Functions/Invoke-FileDownload.ps1 new file mode 100644 index 0000000..80fb98d --- /dev/null +++ b/Functions/Invoke-FileDownload.ps1 @@ -0,0 +1,343 @@ +## Microsoft Function Naming Convention: http://msdn.microsoft.com/en-us/library/ms714428(v=vs.85).aspx + +#region Function Invoke-FileDownload +Function Invoke-FileDownload + { + <# + .SYNOPSIS + Downloads the specified URL. + + .DESCRIPTION + The file will only be downloaded if the last modified date of the source URL is different from the last modified date of the file that has already been downloaded or if the file have not already been downloaded. + + .PARAMETER URL + The URL where the file is located. + + .PARAMETER Destination + The full file path where the cabinet will be downloaded to. If not specified, a default value will be used. + + .EXAMPLE + Invoke-FileDownload -URL 'https://dl.dell.com/catalog/DriverPackCatalog.cab' -Destination "$($Env:ProgramData)\Dell\DriverPackCatalog\DriverPackCatalog.cab" -Verbose + + .EXAMPLE + $DownloadDetails = Invoke-FileDownload -URL 'https://dl.dell.com/catalog/DriverPackCatalog.cab' -Destination "$($Env:ProgramData)\Dell\DriverPackCatalog\DriverPackCatalog.cab" -Verbose + + Write-Output -InputObject ($DownloadDetails) + + .EXAMPLE + $InvokeFileDownloadParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $InvokeFileDownloadParameters.URL = 'https://dl.dell.com/catalog/DriverPackCatalog.cab' -As [System.URI] + $InvokeFileDownloadParameters.Destination = "$($Env:ProgramData)\Dell\DriverPackCatalog\DriverPackCatalog.cab" -As [System.IO.FileInfo] + $InvokeFileDownloadParameters.ContinueOnError = $False + $InvokeFileDownloadParameters.Verbose = $True + + $InvokeFileDownloadResult = Invoke-FileDownload @InvokeFileDownloadParameters + + Write-Output -InputObject ($InvokeFileDownloadResult) + + .NOTES + NEL : {"report_to":"network-errors","max_age":3600} + Report-To : {"group":"network-errors","max_age":3600,"endpoints":[{"url":"https://www.dell.com/support/onlineapi/nellogger/log"}]} + Accept-Ranges : bytes + Content-Type : application/vnd.ms-cab-compressed + ETag : "8043933683ddd81:0" + Last-Modified : Tue, 11 Oct 2022 15:07:43 GMT + Server : Microsoft-IIS/10.0 + X-Powered-By : ASP.NET + x-arr-set : arr4 + Content-Length : 270867 + Date : Thu, 20 Oct 2022 15:51:44 GMT + Connection : keep-alive + Akamai-Request-BC : [a=23.207.199.174,b=78861523,c=g,n=US_VA_STERLING,o=20940] + + .LINK + https://learn.microsoft.com/en-us/dotnet/api/system.net.webrequest?view=netframework-4.8 + + .LINK + https://learn.microsoft.com/en-us/dotnet/api/system.net.webclient.downloaddata?view=netframework-4.8#system-net-webclient-downloaddata(system-uri) + #> + + [CmdletBinding(ConfirmImpact = 'Low', SupportsShouldProcess = $True)] + + Param + ( + [Parameter(Mandatory=$True, ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [ValidatePattern('^http(s)\:\/\/.*\/.*\.(.{3,4})$')] + [System.URI]$URL, + + [Parameter(Mandatory=$False, ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [System.IO.DirectoryInfo]$Destination, + + [Parameter(Mandatory=$False, ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [ValidatePattern('^.*\.(.*)$')] + [String]$FileName, + + [Parameter(Mandatory=$False)] + [Switch]$ContinueOnError + ) + + Begin + { + Try + { + Switch ($True) + { + {([String]::IsNullOrEmpty($Destination) -eq $True) -or ([String]::IsNullOrWhiteSpace($Destination) -eq $True)} + { + [System.IO.DirectoryInfo]$Destination = "$($Env:Windir)\Temp" + } + + {([String]::IsNullOrEmpty($FileName) -eq $True) -or ([String]::IsNullOrWhiteSpace($FileName) -eq $True)} + { + [String]$FileName = [System.IO.Path]::GetFileName($URL.OriginalString) + } + } + + [System.IO.FileInfo]$DestinationPath = "$($Destination.FullName)\$($FileName)" + + $DateTimeLogFormat = 'dddd, MMMM dd, yyyy @ hh:mm:ss tt' ###Monday, January 01, 2019 @ 10:15:34 AM### + [ScriptBlock]$GetCurrentDateTimeLogFormat = {(Get-Date).ToString($DateTimeLogFormat)} + $DateTimeMessageFormat = 'MM/dd/yyyy HH:mm:ss.FFF' ###03/23/2022 11:12:48.347### + [ScriptBlock]$GetCurrentDateTimeMessageFormat = {(Get-Date).ToString($DateTimeMessageFormat)} + $DateFileFormat = 'yyyyMMdd' ###20190403### + [ScriptBlock]$GetCurrentDateFileFormat = {(Get-Date).ToString($DateFileFormat)} + $DateTimeFileFormat = 'yyyyMMdd_HHmmss' ###20190403_115354### + [ScriptBlock]$GetCurrentDateTimeFileFormat = {(Get-Date).ToString($DateTimeFileFormat)} + $TextInfo = (Get-Culture).TextInfo + $LoggingDetails = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $LoggingDetails.Add('LogMessage', $Null) + $LoggingDetails.Add('WarningMessage', $Null) + $LoggingDetails.Add('ErrorMessage', $Null) + $CommonParameterList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $CommonParameterList.AddRange([System.Management.Automation.PSCmdlet]::CommonParameters) + $CommonParameterList.AddRange([System.Management.Automation.PSCmdlet]::OptionalCommonParameters) + + [ScriptBlock]$ErrorHandlingDefinition = { + $ErrorMessageList = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ErrorMessageList.Add('Message', $_.Exception.Message) + $ErrorMessageList.Add('Category', $_.Exception.ErrorRecord.FullyQualifiedErrorID) + $ErrorMessageList.Add('Script', $_.InvocationInfo.ScriptName) + $ErrorMessageList.Add('LineNumber', $_.InvocationInfo.ScriptLineNumber) + $ErrorMessageList.Add('LinePosition', $_.InvocationInfo.OffsetInLine) + $ErrorMessageList.Add('Code', $_.InvocationInfo.Line.Trim()) + + ForEach ($ErrorMessage In $ErrorMessageList.GetEnumerator()) + { + $LoggingDetails.ErrorMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - ERROR: $($ErrorMessage.Key): $($ErrorMessage.Value)" + Write-Warning -Message ($LoggingDetails.ErrorMessage) + } + + Switch (($ContinueOnError.IsPresent -eq $False) -or ($ContinueOnError -eq $False)) + { + {($_ -eq $True)} + { + Throw + } + } + } + + #Determine the date and time we executed the function + $FunctionStartTime = (Get-Date) + + [String]$CmdletName = $MyInvocation.MyCommand.Name + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function `'$($CmdletName)`' is beginning. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + #Define Default Action Preferences + $ErrorActionPreference = 'Stop' + + [String[]]$AvailableScriptParameters = (Get-Command -Name ($CmdletName)).Parameters.GetEnumerator() | Where-Object {($_.Value.Name -inotin $CommonParameterList)} | ForEach-Object {"-$($_.Value.Name):$($_.Value.ParameterType.Name)"} + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Available Function Parameter(s) = $($AvailableScriptParameters -Join ', ')" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + [String[]]$SuppliedScriptParameters = $PSBoundParameters.GetEnumerator() | ForEach-Object {"-$($_.Key):$($_.Value.GetType().Name)"} + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Supplied Function Parameter(s) = $($SuppliedScriptParameters -Join ', ')" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Execution of $($CmdletName) began on $($FunctionStartTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $OutputObjectProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $OutputObjectProperties.DownloadRequired = $False + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + + } + } + + Process + { + Try + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to create a web request for `"$($URL.OriginalString)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $WebRequest = [System.Net.WebRequest]::Create($URL.OriginalString) + + $WebRequestResponse = $WebRequest.GetResponse() + + $WebRequestResponseHeaders = $WebRequestResponse.Headers + + $WebRequestHeaderProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + + ForEach ($WebRequestResponseHeader In $WebRequestResponseHeaders.AllKeys) + { + $WebRequestHeaderProperties."$($WebRequestResponseHeader)" = ($WebRequestResponseHeaders.GetValues($WebRequestResponseHeader))[0] + } + + $WebRequestHeaders = New-Object -TypeName 'PSObject' -Property ($WebRequestHeaderProperties) + + $WebRequestHeaders.'Last-Modified' = (Get-Date -Date $WebRequestHeaders.'Last-Modified').ToUniversalTime() + + $ContentLengthInMB = [System.Math]::Round(($WebRequestHeaders.'Content-Length' / 1MB), 2) + + [ScriptBlock]$ExecuteDownload = { + $WebClient = New-Object -TypeName 'System.Net.WebClient' + $WebClient.UseDefaultCredentials = $True + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to download data stream from `"$($URL.OriginalString)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Download Size: $($ContentLengthInMB) MegaBytes" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $Null = Measure-Command -Expression {[Byte[]]$DownloadedData = $WebClient.DownloadData($URL.OriginalString)} -OutVariable 'DownloadExecutionTimespan' + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Stream download took $($DownloadExecutionTimespan.Hours.ToString()) hour(s), $($DownloadExecutionTimespan.Minutes.ToString()) minute(s), $($DownloadExecutionTimespan.Seconds.ToString()) second(s), and $($DownloadExecutionTimespan.Milliseconds.ToString()) millisecond(s)" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to flush the downloaded data stream to file `"$($DestinationPath.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + If ([System.IO.Directory]::Exists($DestinationPath.Directory.FullName) -eq $False) {$Null = [System.IO.Directory]::CreateDirectory($DestinationPath.Directory.FullName)} + + $Null = [System.IO.File]::WriteAllBytes($DestinationPath.FullName, $DownloadedData) + + [Int]$SecondsToWait = 3 + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Pausing script execution for $($SecondsToWait) second(s). Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $Null = Start-Sleep -Seconds ($SecondsToWait) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to update the last modified date of `"$($DestinationPath.FullName)`" to match `"$($URL.OriginalString)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Last Modified Date (Local): $($DestinationPath.LastWriteTimeUTC.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Last Modified Date (Source): $($WebRequestHeaders.'Last-Modified'.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $Null = (Get-Item -Path $DestinationPath.FullName -Force).LastWriteTimeUTC = $WebRequestHeaders.'Last-Modified' + + $Null = $WebClient.Dispose() + } + + Switch ([System.IO.File]::Exists($DestinationPath.FullName)) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Destination path `"$($DestinationPath.FullName)`" already exists." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to check the last modified date of `"$($DestinationPath.FullName)`" to see if a download is necessary." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Last Modified Date (Source): $($WebRequestHeaders.'Last-Modified'.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Last Modified Date (Local): $($DestinationPath.LastWriteTimeUTC.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + Switch (($DestinationPath.LastWriteTimeUTC -ine $WebRequestHeaders.'Last-Modified')) + { + {($_ -eq $True)} + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - A redownload of `"$($URL.OriginalString)`" is necessary." + Write-Warning -Message ($LoggingDetails.WarningMessage) + + $OutputObjectProperties.DownloadRequired = $True + + $ExecuteDownload.InvokeReturnAsIs() + } + + Default + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - A redownload of `"$($URL.OriginalString)`" is not necessary." + Write-Verbose -Message ($LoggingDetails.LogMessage) + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Destination path `"$($DestinationPath.FullName)`" does not exist." + Write-Warning -Message ($LoggingDetails.WarningMessage) + + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - A download of `"$($URL.OriginalString)`" is necessary." + Write-Warning -Message ($LoggingDetails.WarningMessage) + + $OutputObjectProperties.DownloadRequired = $True + + $ExecuteDownload.InvokeReturnAsIs() + } + } + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + Try {$Null = $WebRequestResponse.Dispose()} Catch {} + } + } + + End + { + Try + { + #Determine the date and time the function completed execution + $FunctionEndTime = (Get-Date) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Execution of $($CmdletName) ended on $($FunctionEndTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + #Log the total script execution time + $FunctionExecutionTimespan = New-TimeSpan -Start ($FunctionStartTime) -End ($FunctionEndTime) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function execution took $($FunctionExecutionTimespan.Hours.ToString()) hour(s), $($FunctionExecutionTimespan.Minutes.ToString()) minute(s), $($FunctionExecutionTimespan.Seconds.ToString()) second(s), and $($FunctionExecutionTimespan.Milliseconds.ToString()) millisecond(s)" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function `'$($CmdletName)`' is completed." + Write-Verbose -Message ($LoggingDetails.LogMessage) + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + $DestinationPathDetails = Get-Item -Path $DestinationPath.FullName -Force + + $OutputObjectProperties.DownloadPath = $DestinationPathDetails + $OutputObjectProperties.URL = $URL + $OutputObjectProperties.URLHeaders = $WebRequestHeaders + + $OutputObject = New-Object -TypeName 'PSObject' -Property ($OutputObjectProperties) + + Write-Output -InputObject ($OutputObject) + } + } + } +#endregion \ No newline at end of file diff --git a/Functions/Invoke-FileDownloadWithProgress.ps1 b/Functions/Invoke-FileDownloadWithProgress.ps1 new file mode 100644 index 0000000..32384e9 --- /dev/null +++ b/Functions/Invoke-FileDownloadWithProgress.ps1 @@ -0,0 +1,565 @@ +## Microsoft Function Naming Convention: http://msdn.microsoft.com/en-us/library/ms714428(v=vs.85).aspx + +#region Function Invoke-FileDownloadWithProgress +Function Invoke-FileDownloadWithProgress + { + <# + .SYNOPSIS + Downloads the specified URL. + + .DESCRIPTION + The file will only be downloaded if the last modified date of the source URL is different from the last modified date of the file that has already been downloaded or if the file have not already been downloaded. + + .PARAMETER URL + The URL where the file is located. + + .PARAMETER Destination + The directory path where the URL will be downloaded to. If not specified, a default value will be used. + + .EXAMPLE + Invoke-FileDownloadWithProgress -URL 'https://dl.dell.com/catalog/DriverPackCatalog.cab' -Destination "$($Env:ProgramData)\Dell\DriverPackCatalog" -FileName "DriverPackCatalog.cab" -Verbose + + .EXAMPLE + $DownloadDetails = Invoke-FileDownloadWithProgress -URL 'https://dl.dell.com/catalog/DriverPackCatalog.cab' -Destination "$($Env:ProgramData)\Dell\DriverPackCatalog" -Verbose + + Write-Output -InputObject ($DownloadDetails) + + .EXAMPLE + $InvokeFileDownloadWithProgressParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $InvokeFileDownloadWithProgressParameters.URL = 'https://dl.dell.com/catalog/DriverPackCatalog.cab' -As [System.URI] + $InvokeFileDownloadWithProgressParameters.Destination = "$($Env:ProgramData)\Dell\DriverPackCatalog" -As [System.IO.DirectoryInfo] + $InvokeFileDownloadWithProgressParameters.FileName = "DriverPackCatalog.cab" + $InvokeFileDownloadWithProgressParameters.ContinueOnError = $False + $InvokeFileDownloadWithProgressParameters.Verbose = $True + + $InvokeFileDownloadWithProgressResult = Invoke-FileDownloadWithProgress @InvokeFileDownloadWithProgressParameters + + Write-Output -InputObject ($InvokeFileDownloadWithProgressResult) + + .NOTES + NEL : {"report_to":"network-errors","max_age":3600} + Report-To : {"group":"network-errors","max_age":3600,"endpoints":[{"url":"https://www.dell.com/support/onlineapi/nellogger/log"}]} + Accept-Ranges : bytes + Content-Type : application/vnd.ms-cab-compressed + ETag : "8043933683ddd81:0" + Last-Modified : Tue, 11 Oct 2022 15:07:43 GMT + Server : Microsoft-IIS/10.0 + X-Powered-By : ASP.NET + x-arr-set : arr4 + Content-Length : 270867 + Date : Thu, 20 Oct 2022 15:51:44 GMT + Connection : keep-alive + Akamai-Request-BC : [a=23.207.199.174,b=78861523,c=g,n=US_VA_STERLING,o=20940] + + .LINK + https://learn.microsoft.com/en-us/dotnet/api/system.net.webrequest?view=netframework-4.8 + + .LINK + https://learn.microsoft.com/en-us/dotnet/api/system.net.webclient.downloadfiletaskasync?view=netframework-4.8 + #> + + [CmdletBinding(ConfirmImpact = 'Low', SupportsShouldProcess = $True)] + + Param + ( + [Parameter(Mandatory=$True, ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [ValidatePattern('^http(s)\:\/\/.*\/.*\.(.{3,4})$')] + [System.URI]$URL, + + [Parameter(Mandatory=$False, ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [System.IO.DirectoryInfo]$Destination, + + [Parameter(Mandatory=$False, ValueFromPipelineByPropertyName = $True)] + [ValidateNotNullOrEmpty()] + [ValidatePattern('^.*\.(.*)$')] + [String]$FileName, + + [Parameter(Mandatory=$False)] + [Switch]$ContinueOnError + ) + + Begin + { + Try + { + Switch ($True) + { + {([String]::IsNullOrEmpty($Destination) -eq $True) -or ([String]::IsNullOrWhiteSpace($Destination) -eq $True)} + { + [System.IO.DirectoryInfo]$Destination = "$($Env:Windir)\Temp" + } + + {([String]::IsNullOrEmpty($FileName) -eq $True) -or ([String]::IsNullOrWhiteSpace($FileName) -eq $True)} + { + [String]$FileName = [System.IO.Path]::GetFileName($URL.OriginalString) + } + } + + [System.IO.FileInfo]$DestinationPath = "$($Destination.FullName)\$($FileName)" + + $DateTimeLogFormat = 'dddd, MMMM dd, yyyy @ hh:mm:ss tt' ###Monday, January 01, 2019 @ 10:15:34 AM### + [ScriptBlock]$GetCurrentDateTimeLogFormat = {(Get-Date).ToString($DateTimeLogFormat)} + $DateTimeMessageFormat = 'MM/dd/yyyy HH:mm:ss.FFF' ###03/23/2022 11:12:48.347### + [ScriptBlock]$GetCurrentDateTimeMessageFormat = {(Get-Date).ToString($DateTimeMessageFormat)} + $DateFileFormat = 'yyyyMMdd' ###20190403### + [ScriptBlock]$GetCurrentDateFileFormat = {(Get-Date).ToString($DateFileFormat)} + $DateTimeFileFormat = 'yyyyMMdd_HHmmss' ###20190403_115354### + [ScriptBlock]$GetCurrentDateTimeFileFormat = {(Get-Date).ToString($DateTimeFileFormat)} + $TextInfo = (Get-Culture).TextInfo + $LoggingDetails = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $LoggingDetails.Add('LogMessage', $Null) + $LoggingDetails.Add('WarningMessage', $Null) + $LoggingDetails.Add('ErrorMessage', $Null) + $CommonParameterList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $CommonParameterList.AddRange([System.Management.Automation.PSCmdlet]::CommonParameters) + $CommonParameterList.AddRange([System.Management.Automation.PSCmdlet]::OptionalCommonParameters) + + [ScriptBlock]$ErrorHandlingDefinition = { + $ErrorMessageList = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ErrorMessageList.Add('Message', $_.Exception.Message) + $ErrorMessageList.Add('Category', $_.Exception.ErrorRecord.FullyQualifiedErrorID) + $ErrorMessageList.Add('Script', $_.InvocationInfo.ScriptName) + $ErrorMessageList.Add('LineNumber', $_.InvocationInfo.ScriptLineNumber) + $ErrorMessageList.Add('LinePosition', $_.InvocationInfo.OffsetInLine) + $ErrorMessageList.Add('Code', $_.InvocationInfo.Line.Trim()) + + ForEach ($ErrorMessage In $ErrorMessageList.GetEnumerator()) + { + $LoggingDetails.ErrorMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - ERROR: $($ErrorMessage.Key): $($ErrorMessage.Value)" + Write-Warning -Message ($LoggingDetails.ErrorMessage) + } + + Switch (($ContinueOnError.IsPresent -eq $False) -or ($ContinueOnError -eq $False)) + { + {($_ -eq $True)} + { + Throw + } + } + } + + #Determine the date and time we executed the function + $FunctionStartTime = (Get-Date) + + [String]$CmdletName = $MyInvocation.MyCommand.Name + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function `'$($CmdletName)`' is beginning. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + #Define Default Action Preferences + $ErrorActionPreference = 'Stop' + + [String[]]$AvailableScriptParameters = (Get-Command -Name ($CmdletName)).Parameters.GetEnumerator() | Where-Object {($_.Value.Name -inotin $CommonParameterList)} | ForEach-Object {"-$($_.Value.Name):$($_.Value.ParameterType.Name)"} + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Available Function Parameter(s) = $($AvailableScriptParameters -Join ', ')" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + [String[]]$SuppliedScriptParameters = $PSBoundParameters.GetEnumerator() | ForEach-Object {"-$($_.Key):$($_.Value.GetType().Name)"} + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Supplied Function Parameter(s) = $($SuppliedScriptParameters -Join ', ')" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Execution of $($CmdletName) began on $($FunctionStartTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $OutputObjectProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $OutputObjectProperties.DownloadRequired = $False + + #region Function Convert-FileSize + Function Convert-FileSize + { + <# + .SYSNOPSIS + Converts a size in bytes to its upper most value. + + .PARAMETER Size + The size in bytes to convert + + .EXAMPLE + $ConvertFileSizeParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ConvertFileSizeParameters.Size = 4294964 + $ConvertFileSizeParameters.DecimalPlaces = 2 + + $ConvertFileSizeResult = Convert-FileSize @ConvertFileSizeParameters + + Write-Output -InputObject ($ConvertFileSizeResult) + + .EXAMPLE + $ConvertFileSizeResult = Convert-FileSize -Size 4294964 + + Write-Output -InputObject ($ConvertFileSizeResult) + + .NOTES + Size : 429496456565656 + DecimalPlaces : 0 + Divisor : 1099511627776 + SizeUnit : TB + SizeUnitAlias : Terabytes + CalculatedSize : 391 + CalculatedSizeStr : 391 TB + #> + + [CmdletBinding()] + Param + ( + [Parameter(Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [Alias("Length")] + $Size, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [Alias("DP")] + [Int]$DecimalPlaces + ) + + Try + { + Switch ($True) + { + {([String]::IsNullOrEmpty($DecimalPlaces) -eq $True) -or ([String]::IsNullOrWhiteSpace($DecimalPlaces) -eq $True)} + { + [Int]$DecimalPlaces = 2 + } + } + + $OutputObjectProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $OutputObjectProperties.Size = $Size + $OutputObjectProperties.DecimalPlaces = $DecimalPlaces + + Switch ($Size) + { + {($_ -lt 1MB)} + { + $OutputObjectProperties.Divisor = 1KB + $OutputObjectProperties.SizeUnit = 'KB' + $OutputObjectProperties.SizeUnitAlias = 'Kilobytes' + + Break + } + + {($_ -lt 1GB)} + { + $OutputObjectProperties.Divisor = 1MB + $OutputObjectProperties.SizeUnit = 'MB' + $OutputObjectProperties.SizeUnitAlias = 'Megabytes' + + Break + } + + {($_ -lt 1TB)} + { + $OutputObjectProperties.Divisor = 1GB + $OutputObjectProperties.SizeUnit = 'GB' + $OutputObjectProperties.SizeUnitAlias = 'Gigabytes' + + Break + } + + {($_ -ge 1TB)} + { + $OutputObjectProperties.Divisor = 1TB + $OutputObjectProperties.SizeUnit = 'TB' + $OutputObjectProperties.SizeUnitAlias = 'Terabytes' + + Break + } + } + + $OutputObjectProperties.CalculatedSize = [System.Math]::Round(($Size / $OutputObjectProperties.Divisor), $OutputObjectProperties.DecimalPlaces) + $OutputObjectProperties.CalculatedSizeStr = "$($OutputObjectProperties.CalculatedSize) $($OutputObjectProperties.SizeUnit)" + } + Catch + { + Write-Error -Exception $_ + } + Finally + { + $OutputObject = New-Object -TypeName 'PSObject' -Property ($OutputObjectProperties) + + Write-Output -InputObject ($OutputObject) + } + } + #endregion + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + + } + } + + Process + { + Try + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to create a web request for `"$($URL.OriginalString)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $WebRequest = [System.Net.WebRequest]::Create($URL.OriginalString) + + $WebRequestResponse = $WebRequest.GetResponse() + + $WebRequestResponseHeaders = $WebRequestResponse.Headers + + $WebRequestHeaderProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + + ForEach ($WebRequestResponseHeader In $WebRequestResponseHeaders.AllKeys) + { + $WebRequestHeaderProperties."$($WebRequestResponseHeader)" = ($WebRequestResponseHeaders.GetValues($WebRequestResponseHeader))[0] + } + + $WebRequestHeaders = New-Object -TypeName 'PSObject' -Property ($WebRequestHeaderProperties) + + $WebRequestHeaders.'Last-Modified' = (Get-Date -Date $WebRequestHeaders.'Last-Modified').ToUniversalTime() + + $ContentLengthInMB = [System.Math]::Round(($WebRequestHeaders.'Content-Length' / 1MB), 2) + + [ScriptBlock]$ExecuteDownload = { + Try + { + $DownloadExecutionStopwatch = New-Object -TypeName 'System.Diagnostics.Stopwatch' + + $WebClient = New-Object -TypeName 'System.Net.WebClient' + $WebClient.UseDefaultCredentials = $True + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to download URL `"$($URL.OriginalString)`" to `"$($DestinationPath.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Download Size: $($ContentLengthInMB) MB" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + If ([System.IO.Directory]::Exists($DestinationPath.Directory.FullName) -eq $False) {$Null = [System.IO.Directory]::CreateDirectory($DestinationPath.Directory.FullName)} + + $Downloader = $WebClient.DownloadFileTaskAsync($URL.OriginalString, $DestinationPath.FullName) + + $Null = Register-ObjectEvent -InputObject ($WebClient) -EventName 'DownloadProgressChanged' -SourceIdentifier 'WebClient.DownloadProgressChanged' + + $Null = Start-Sleep -Seconds 3 + + $Null = $DownloadExecutionStopwatch.Start() + + Switch ($Downloader.IsFaulted) + { + {($_ -eq $True)} + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - A download error has occured. Attempting to generate the error record. Please Wait..." + Write-Warning -Message ($LoggingDetails.WarningMessage) + + Write-Error -Message ($Downloader.GetAwaiter().GetResult()) + } + } + + While ($Downloader.IsCompleted -eq $False) + { + Switch ($Downloader.IsFaulted) + { + {($_ -eq $True)} + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - A download error has occured. Attempting to generate the error record. Please Wait..." + Write-Warning -Message ($LoggingDetails.WarningMessage) + + Write-Error -Message ($Downloader.GetAwaiter().GetResult()) + + Break + } + } + + $EventData = Get-Event -SourceIdentifier 'WebClient.DownloadProgressChanged' | Select-Object -ExpandProperty 'SourceEventArgs' -Last 1 + + $EventDetails = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $EventDetails.Received = Convert-FileSize -Size ($EventData.BytesReceived) -DecimalPlaces 2 + $EventDetails.TotalToReceive = Convert-FileSize -Size ($EventData.TotalBytesToReceive) -DecimalPlaces 2 + $EventDetails.ProgressPercentage = $EventData.ProgressPercentage + + Switch ($DownloadExecutionStopwatch.Elapsed.Seconds -gt 0) + { + {($_ -eq $True)} + { + [Single]$TransferRate = [System.Math]::Round(($EventDetails.TotalToReceive.Size / $DownloadExecutionStopwatch.Elapsed.Seconds / 1MB), 2) + } + + Default + { + [Single]$TransferRate = 0.00 + } + } + + $WriteProgressParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $WriteProgressParameters.Activity = "Downloading `"$($DestinationPath.Name)`"" + $WriteProgressParameters.Status = "Completion Percentage: $($EventDetails.ProgressPercentage)%" + $WriteProgressParameters.PercentComplete = $EventDetails.ProgressPercentage + $WriteProgressParameters.CurrentOperation = "Downloaded $($EventDetails.Received.CalculatedSizeStr) of $($EventDetails.TotalToReceive.CalculatedSizeStr) @ $($TransferRate) Mbps" + + Write-Progress @WriteProgressParameters + } + } + Catch + { + Write-Error -Exception $_ + + $Null = Unregister-Event -SourceIdentifier 'WebClient.DownloadProgressChanged' + + $Null = $DownloadExecutionStopwatch.Stop() + + $Null = $DownloadExecutionStopwatch.Reset() + + Break + } + Finally + { + $WriteProgressParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $WriteProgressParameters.Activity = "Downloading `"$($DestinationPath.Name)`"" + $WriteProgressParameters.Completed = $True + + Write-Progress @WriteProgressParameters + + $Null = Unregister-Event -SourceIdentifier 'WebClient.DownloadProgressChanged' + + Switch (($Downloader.IsCompleted -eq $False) -or ($Downloader.IsFaulted -eq $True)) + { + {($_ -eq $True)} + { + $Null = $Downloader.CancelAsync() + + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Download failed. Attempting to remove incomplete file `"$($DestinationPath.FullName)`". Please Wait..." + Write-Warning -Message ($LoggingDetails.WarningMessage) + + $Null = [System.IO.File]::Delete($DestinationPath.FullName) + } + } + + $Null = $WebClient.Dispose() + + $Null = $DownloadExecutionStopwatch.Stop() + } + + $DownloadExecutionTimespan = $DownloadExecutionStopwatch.Elapsed + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Download completed in $($DownloadExecutionTimespan.Hours.ToString()) hour(s), $($DownloadExecutionTimespan.Minutes.ToString()) minute(s), $($DownloadExecutionTimespan.Seconds.ToString()) second(s), and $($DownloadExecutionTimespan.Milliseconds.ToString()) millisecond(s)." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $Null = $DownloadExecutionStopwatch.Reset() + + [Int]$SecondsToWait = 3 + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Pausing script execution for $($SecondsToWait) second(s). Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $Null = Start-Sleep -Seconds ($SecondsToWait) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to update the last modified date of `"$($DestinationPath.FullName)`" to match the last modified date of `"$($URL.OriginalString)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Last Modified Date UTC (Local File): $($DestinationPath.LastWriteTimeUTC.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Last Modified Date UTC (URL Header): $($WebRequestHeaders.'Last-Modified'.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $DestinationPathDetails = Get-Item -Path $DestinationPath.FullName -Force + + $Null = $DestinationPathDetails.LastWriteTimeUTC = $WebRequestHeaders.'Last-Modified' + } + + Switch ([System.IO.File]::Exists($DestinationPath.FullName)) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Destination path `"$($DestinationPath.FullName)`" already exists." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to check the last modified date of `"$($DestinationPath.FullName)`" to see if a download is necessary." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Last Modified Date UTC (Local File): $($DestinationPath.LastWriteTimeUTC.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Last Modified Date UTC (URL Header): $($WebRequestHeaders.'Last-Modified'.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + Switch (($DestinationPath.LastWriteTimeUTC -ine $WebRequestHeaders.'Last-Modified')) + { + {($_ -eq $True)} + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - A redownload of `"$($URL.OriginalString)`" is necessary." + Write-Warning -Message ($LoggingDetails.WarningMessage) + + $OutputObjectProperties.DownloadRequired = $True + + $ExecuteDownload.InvokeReturnAsIs() + } + + Default + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - A redownload of `"$($URL.OriginalString)`" is not necessary." + Write-Verbose -Message ($LoggingDetails.LogMessage) + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Destination path `"$($DestinationPath.FullName)`" does not exist." + Write-Warning -Message ($LoggingDetails.WarningMessage) + + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - A download of `"$($URL.OriginalString)`" is necessary." + Write-Warning -Message ($LoggingDetails.WarningMessage) + + $OutputObjectProperties.DownloadRequired = $True + + $ExecuteDownload.InvokeReturnAsIs() + } + } + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + Try {$Null = $WebRequestResponse.Dispose()} Catch {} + } + } + + End + { + Try + { + #Determine the date and time the function completed execution + $FunctionEndTime = (Get-Date) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Execution of $($CmdletName) ended on $($FunctionEndTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + #Log the total script execution time + $FunctionExecutionTimespan = New-TimeSpan -Start ($FunctionStartTime) -End ($FunctionEndTime) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function execution took $($FunctionExecutionTimespan.Hours.ToString()) hour(s), $($FunctionExecutionTimespan.Minutes.ToString()) minute(s), $($FunctionExecutionTimespan.Seconds.ToString()) second(s), and $($FunctionExecutionTimespan.Milliseconds.ToString()) millisecond(s)." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function `'$($CmdletName)`' is completed." + Write-Verbose -Message ($LoggingDetails.LogMessage) + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + $DestinationPathDetails = Get-Item -Path $DestinationPath.FullName -Force + + $OutputObjectProperties.DownloadPath = $DestinationPathDetails + $OutputObjectProperties.URL = $URL + $OutputObjectProperties.URLHeaders = $WebRequestHeaders + + $OutputObject = New-Object -TypeName 'PSObject' -Property ($OutputObjectProperties) + + Write-Output -InputObject ($OutputObject) + } + } + } +#endregion \ No newline at end of file diff --git a/Functions/Invoke-RegistryHiveAction.ps1 b/Functions/Invoke-RegistryHiveAction.ps1 new file mode 100644 index 0000000..57717f1 --- /dev/null +++ b/Functions/Invoke-RegistryHiveAction.ps1 @@ -0,0 +1,355 @@ +## Microsoft Function Naming Convention: http://msdn.microsoft.com/en-us/library/ms714428(v=vs.85).aspx + +#region Function Invoke-RegistryHiveAction +Function Invoke-RegistryHiveAction + { + <# + .SYNOPSIS + A brief overview of what your function does + + .DESCRIPTION + Slightly more detailed description of what your function does + + .PARAMETER HivePath + A valid file path to a valid registry hive. + + .PARAMETER KeyPath + One or more registry key paths that are relative to the specified registry hive. + + .PARAMETER ValueNameExpression + One or more regular expressions that will determine which registry value names will be extracted from the specified registry hive. + + .EXAMPLE + Invoke-RegistryHiveAction -HivePath "$($Env:Userprofile)\Downloads\RegistryHives\SOFTWARE" -KeyPath @('Root\Microsoft\Windows NT\CurrentVersion') -ValueNameExpression @('.*') -Verbose + + .EXAMPLE + $InvokeRegistryHiveActionParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $InvokeRegistryHiveActionParameters.HivePath = "$($Env:Userprofile)\Downloads\RegistryHives\SOFTWARE" + $InvokeRegistryHiveActionParameters.KeyPath = New-Object -TypeName 'System.Collections.Generic.List[String]' + $InvokeRegistryHiveActionParameters.KeyPath.Add('Root\Microsoft\Windows NT\CurrentVersion') + $InvokeRegistryHiveActionParameters.ValueNameExpression = New-Object -TypeName 'System.Collections.Generic.List[Regex]' + $InvokeRegistryHiveActionParameters.ValueNameExpression.Add('.*') + $InvokeRegistryHiveActionParameters.ContinueOnError = $False + $InvokeRegistryHiveActionParameters.Verbose = $True + + $InvokeRegistryHiveActionResult = Invoke-RegistryHiveAction @InvokeRegistryHiveActionParameters + + Write-Output -InputObject ($InvokeRegistryHiveActionResult) + + .NOTES + Please ensure that the specified registry hive is not in use! + + .LINK + https://github.com/EricZimmerman/Registry + #> + + [CmdletBinding()] + + Param + ( + [Parameter(Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [ValidateScript({(Test-Path -Path $_)})] + [System.IO.FileInfo]$HivePath, + + [Parameter(Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [ValidatePattern('^Root\\.+')] + [String[]]$KeyPath, + + [Parameter(Mandatory=$False)] + [Regex[]]$ValueNameExpression, + + [Parameter(Mandatory=$False)] + [Switch]$ContinueOnError + ) + + Begin + { + + + Try + { + $DateTimeLogFormat = 'dddd, MMMM dd, yyyy @ hh:mm:ss.FFF tt' ###Monday, January 01, 2019 @ 10:15:34.000 AM### + [ScriptBlock]$GetCurrentDateTimeLogFormat = {(Get-Date).ToString($DateTimeLogFormat)} + $DateTimeMessageFormat = 'MM/dd/yyyy HH:mm:ss.FFF' ###03/23/2022 11:12:48.347### + [ScriptBlock]$GetCurrentDateTimeMessageFormat = {(Get-Date).ToString($DateTimeMessageFormat)} + $DateFileFormat = 'yyyyMMdd' ###20190403### + [ScriptBlock]$GetCurrentDateFileFormat = {(Get-Date).ToString($DateFileFormat)} + $DateTimeFileFormat = 'yyyyMMdd_HHmmss' ###20190403_115354### + [ScriptBlock]$GetCurrentDateTimeFileFormat = {(Get-Date).ToString($DateTimeFileFormat)} + $TextInfo = (Get-Culture).TextInfo + $LoggingDetails = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $LoggingDetails.Add('LogMessage', $Null) + $LoggingDetails.Add('WarningMessage', $Null) + $LoggingDetails.Add('ErrorMessage', $Null) + $CommonParameterList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $CommonParameterList.AddRange([System.Management.Automation.PSCmdlet]::CommonParameters) + $CommonParameterList.AddRange([System.Management.Automation.PSCmdlet]::OptionalCommonParameters) + [System.IO.DirectoryInfo]$System32Directory = [System.Environment]::SystemDirectory + $RegexOptionList = New-Object -TypeName 'System.Collections.Generic.List[System.Text.RegularExpressions.RegexOptions]' + $RegexOptionList.Add([System.Text.RegularExpressions.RegexOptions]::IgnoreCase) + $ValueNameExpressionList = New-Object -TypeName 'System.Collections.Generic.List[System.Text.RegularExpressions.Regex]' + + [ScriptBlock]$ErrorHandlingDefinition = { + $ErrorMessageList = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ErrorMessageList.Add('Message', $_.Exception.Message) + $ErrorMessageList.Add('Category', $_.Exception.ErrorRecord.FullyQualifiedErrorID) + $ErrorMessageList.Add('Script', $_.InvocationInfo.ScriptName) + $ErrorMessageList.Add('LineNumber', $_.InvocationInfo.ScriptLineNumber) + $ErrorMessageList.Add('LinePosition', $_.InvocationInfo.OffsetInLine) + $ErrorMessageList.Add('Code', $_.InvocationInfo.Line.Trim()) + + ForEach ($ErrorMessage In $ErrorMessageList.GetEnumerator()) + { + $LoggingDetails.ErrorMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - ERROR: $($ErrorMessage.Key): $($ErrorMessage.Value)" + Write-Warning -Message ($LoggingDetails.ErrorMessage) + } + + Switch (($ContinueOnError.IsPresent -eq $False) -or ($ContinueOnError -eq $False)) + { + {($_ -eq $True)} + { + Throw + } + } + } + + #Determine the date and time we executed the function + $FunctionStartTime = (Get-Date) + + [String]$FunctionName = $MyInvocation.MyCommand + [System.IO.FileInfo]$InvokingScriptPath = $MyInvocation.PSCommandPath + [System.IO.DirectoryInfo]$InvokingScriptDirectory = $InvokingScriptPath.Directory.FullName + [System.IO.FileInfo]$FunctionPath = "$($InvokingScriptDirectory.FullName)\Functions\$($FunctionName).ps1" + [System.IO.DirectoryInfo]$FunctionDirectory = "$($FunctionPath.Directory.FullName)" + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function `'$($FunctionName)`' is beginning. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + #Define Default Action Preferences + $ErrorActionPreference = 'Stop' + + [String[]]$AvailableScriptParameters = (Get-Command -Name ($FunctionName)).Parameters.GetEnumerator() | Where-Object {($_.Value.Name -inotin $CommonParameterList)} | ForEach-Object {"-$($_.Value.Name):$($_.Value.ParameterType.Name)"} + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Available Function Parameter(s) = $($AvailableScriptParameters -Join ', ')" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + [String[]]$SuppliedScriptParameters = $PSBoundParameters.GetEnumerator() | ForEach-Object {"-$($_.Key):$($_.Value.GetType().Name)"} + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Supplied Function Parameter(s) = $($SuppliedScriptParameters -Join ', ')" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Execution of $($FunctionName) began on $($FunctionStartTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + #region Load any required libraries + [System.IO.DirectoryInfo]$LibariesDirectory = "$($FunctionDirectory.FullName)\Libraries" + + Switch ([System.IO.Directory]::Exists($LibariesDirectory.FullName)) + { + {($_ -eq $True)} + { + $LibraryPatternList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $LibraryPatternList.Add('NFluent.dll') + $LibraryPatternList.Add('NLog.dll') + $LibraryPatternList.Add('Registry.dll') + + Switch ($LibraryPatternList.Count -gt 0) + { + {($_ -eq $True)} + { + $LibraryList = Get-ChildItem -Path ($LibariesDirectory.FullName) -Include ($LibraryPatternList.ToArray()) -Recurse -Force | Where-Object {($_ -is [System.IO.FileInfo])} + + $LibraryListCount = ($LibraryList | Measure-Object).Count + + Switch ($LibraryListCount -gt 0) + { + {($_ -eq $True)} + { + For ($LibraryListIndex = 0; $LibraryListIndex -lt $LibraryListCount; $LibraryListIndex++) + { + $Library = $LibraryList[$LibraryListIndex] + + [Byte[]]$LibraryBytes = [System.IO.File]::ReadAllBytes($Library.FullName) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to load assembly `"$($Library.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $Null = [System.Reflection.Assembly]::Load($LibraryBytes) + } + } + } + } + } + } + } + #endregion + + #Create an object that will contain the functions output. + $OutputObjectList = New-Object -TypeName 'System.Collections.Generic.List[PSObject]' + + #Set default parameter values + Switch ($True) + { + {($Null -ieq $ValueNameExpression) -or ($ValueNameExpression.Count -eq 0)} + { + $ValueNameExpression += '.*' + } + + {($Null -ine $ValueNameExpression) -or ($ValueNameExpression.Count -gt 0)} + { + $ValueNameExpression | ForEach-Object {$ValueNameExpressionList.Add((New-Object -TypeName 'System.Text.RegularExpressions.Regex' -ArgumentList @($_, $RegexOptionList)))} + } + } + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + + } + } + + Process + { + Try + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to load registry hive `"$($HivePath.FullName)`" on demand. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $RegistryHive = New-Object -TypeName 'Registry.RegistryHiveOnDemand' -ArgumentList ($HivePath.FullName) + + ForEach ($Key In $KeyPath) + { + Try + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to retrieve the details of registry key path `"$($Key)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $RegistryKeyProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $RegistryKeyProperties.Path = $Key + $RegistryKeyProperties.ValueList = New-Object -TypeName 'System.Collections.Generic.List[PSObject]' + + $RegistryKey = $RegistryHive.GetKey($Key) + + ForEach ($Item In $RegistryKey.Values) + { + ForEach ($Expression In $ValueNameExpressionList) + { + $ExpressionEvaluation = $Expression.Match($Item.ValueName) + + Switch ($ExpressionEvaluation.Success) + { + {($_ -eq $True)} + { + $ValueProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ValueProperties.Name = $Item.ValueName + $ValueProperties.Alias = $ValueProperties.Name -ireplace '(\s+)', '' + $ValueProperties.Type = $Item.ValueType + $ValueProperties.Value = $Null + $ValueProperties.ValueAsDecimal = $Null + $ValueProperties.ValueAsHex = $Null + + #$LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to retrieve the registry key value of `"$($ValueProperties.Name)`" because the value name matches the regular expression of `"$($Expression.ToString())`". Please Wait..." + #Write-Verbose -Message ($LoggingDetails.LogMessage) + + Switch ($Null -ine $Item.ValueData) + { + {($_ -eq $True)} + { + $ValueProperties.Value = $Item.ValueData + + Switch ($ValueProperties.Type) + { + {($_ -iin @('RegDword', 'RegQword'))} + { + $ValueProperties.ValueAsDecimal = Try {[System.Convert]::ToString($ValueProperties.Value, 10)} Catch {} + $ValueProperties.ValueAsHex = Try {'0x' + [System.Convert]::ToString($ValueProperties.Value, 16).PadLeft(8, '0').ToUpper()} Catch {} + } + + {($_ -iin @('RegBinary'))} + { + #$ValueProperties.ValueAsDecimal = Try {} Catch {} + #$ValueProperties.ValueAsHex = Try {} Catch {} + } + } + } + } + + $ValueObject = New-Object -TypeName 'PSObject' -Property ($ValueProperties) + + $RegistryKeyProperties.ValueList.Add($ValueObject) + } + } + } + } + + $RegistryKeyObject = New-Object -TypeName 'PSObject' -Property ($RegistryKeyProperties) + + $OutputObjectList.Add($RegistryKeyObject) + } + Catch + { + $ErrorMessageList = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ErrorMessageList.Add('Message', $_.Exception.Message) + $ErrorMessageList.Add('Category', $_.Exception.ErrorRecord.FullyQualifiedErrorID) + $ErrorMessageList.Add('LineNumber', $_.InvocationInfo.ScriptLineNumber) + $ErrorMessageList.Add('LinePosition', $_.InvocationInfo.OffsetInLine) + $ErrorMessageList.Add('Code', $_.InvocationInfo.Line.Trim()) + + ForEach ($ErrorMessage In $ErrorMessageList.GetEnumerator()) + { + $LoggingDetails.ErrorMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - ERROR: $($ErrorMessage.Key): $($ErrorMessage.Value)" + Write-Warning -Message ($LoggingDetails.ErrorMessage) + } + } + Finally + { + + } + } + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + + } + } + + End + { + Try + { + #Determine the date and time the function completed execution + $FunctionEndTime = (Get-Date) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Execution of $($FunctionName) ended on $($FunctionEndTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + #Log the total script execution time + $FunctionExecutionTimespan = New-TimeSpan -Start ($FunctionStartTime) -End ($FunctionEndTime) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function execution took $($FunctionExecutionTimespan.Hours.ToString()) hour(s), $($FunctionExecutionTimespan.Minutes.ToString()) minute(s), $($FunctionExecutionTimespan.Seconds.ToString()) second(s), and $($FunctionExecutionTimespan.Milliseconds.ToString()) millisecond(s)" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function `'$($FunctionName)`' is completed." + Write-Verbose -Message ($LoggingDetails.LogMessage) + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + #Write the object to the powershell pipeline + $OutputObjectList = $OutputObjectList.ToArray() + + Write-Output -InputObject ($OutputObjectList) + } + } + } +#endregion \ No newline at end of file diff --git a/Functions/Invoke-SQLDBQuery.ps1 b/Functions/Invoke-SQLDBQuery.ps1 new file mode 100644 index 0000000..e8767d2 --- /dev/null +++ b/Functions/Invoke-SQLDBQuery.ps1 @@ -0,0 +1,436 @@ +## Microsoft Function Naming Convention: http://msdn.microsoft.com/en-us/library/ms714428(v=vs.85).aspx + +#region Function Invoke-SQLDBQuery +Function Invoke-SQLDBQuery + { + <# + .SYNOPSIS + This function is able to execute one or more queries against an the specified Microsoft SQL database using either Windows or SQL authentication. + + .DESCRIPTION + The database connection will be opened, each database query will be executed, the results will be stored, and the database connection will be closed. + + .PARAMETER Server + + .PARAMETER Instance + + .PARAMETER Port + + .PARAMETER UserID + + .PARAMETER Password + + .PARAMETER Database + + .PARAMETER DBQueryList + + .EXAMPLE + $DBQueryResults = Invoke-SQLDBQuery -Server 'MyDBServer.mydomain.com' -UserID 'SQLAuthUser' -Password 'SQLAuthUserPassword' -Database 'YourDatabaseName' -DBQueryList @('Select * From YourTableName') -Verbose + + Write-Output -InputObject ($DBQueryResults) + + .EXAMPLE + $DBQueryList = [System.Collections.Generic.List[String]]@() + $DBQueryList.Add(@" +Select Distinct + dbo.v_Add_Remove_Programs.DisplayName0 As 'DisplayName' +From + dbo.v_Add_Remove_Programs +Order By + dbo.v_Add_Remove_Programs.DisplayName0 +"@) + + $DBQueryResults = Invoke-SQLDBQuery -Server 'MyDBServer.mydomain.com' -Database 'YourDatabaseName' -DBQueryList ($DBQueryList) -Verbose + + .EXAMPLE + $DBQueryResults = Invoke-SQLDBQuery -Server 'MyDBServer.mydomain.com' -Instance 'MyDBInstance' -Database 'YourDatabaseName' -DBQueryList @('Select * From YourTableName') + + Write-Output -InputObject ($DBQueryResults) + + .EXAMPLE + $DBQueryResults = Invoke-SQLDBQuery -Server 'MyDBServer.mydomain.com' -Port '4530' -Database 'YourDatabaseName' -DBQueryList @('Select * From YourTableName1', 'Select * From YourTableName2') + + Write-Output -InputObject ($DBQueryResults) + + .LINK + https://www.SQLshack.com/connecting-powershell-to-SQL-server/ + + .LINK + https://stackoverflow.com/questions/64681003/fetch-a-whole-row-from-SQL-server-with-powershell + #> + + [CmdletBinding(ConfirmImpact = 'Low', HelpURI = '', DefaultParameterSetName = '_AllParameterSets', SupportsShouldProcess = $True, PositionalBinding = $True)] + Param + ( + [Parameter(Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [String]$Server, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [String]$Instance, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [String]$Port, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [String]$UserID, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [String]$Password, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [String]$Database, + + [Parameter(Mandatory=$True)] + [ValidateNotNullOrEmpty()] + [String[]]$DBQueryList, + + [Parameter(Mandatory=$False, ParameterSetName = 'Export')] + [Switch]$ExportJSON, + + [Parameter(Mandatory=$False, ParameterSetName = 'Export')] + [System.IO.DirectoryInfo]$ExportDirectory, + + [Parameter(Mandatory=$False)] + [Switch]$ContinueOnError + ) + + Begin + { + [ScriptBlock]$ErrorHandlingDefinition = { + If ([String]::IsNullOrEmpty($_.Exception.Message)) {$ExceptionMessage = "$($_.Exception.Errors.Message -Join "`r`n`r`n")"} Else {$ExceptionMessage = "$($_.Exception.Message)"} + + [String]$ErrorMessage = "[Error Message: $($ExceptionMessage)]`r`n`r`n[ScriptName: $($_.InvocationInfo.ScriptName)]`r`n[Line Number: $($_.InvocationInfo.ScriptLineNumber)]`r`n[Line Position: $($_.InvocationInfo.OffsetInLine)]`r`n[Code: $($_.InvocationInfo.Line.Trim())]" + + If ($ContinueOnError.IsPresent -eq $True) + { + Write-Warning -Message ($ErrorMessage) + } + ElseIf ($ContinueOnError.IsPresent -eq $False) + { + Throw ($ErrorMessage) + } + } + + Try + { + $DateTimeMessageFormat = 'MM/dd/yyyy HH:mm:ss.FFF' ###03/23/2022 11:12:48.347### + [ScriptBlock]$GetCurrentDateTimeMessageFormat = {(Get-Date).ToString($DateTimeMessageFormat)} + $DateTimeLogFormat = 'dddd, MMMM dd, yyyy @ hh:mm:ss.FFF tt' ###Monday, January 01, 2019 @ 10:15:34.000 AM### + [ScriptBlock]$GetCurrentDateTimeLogFormat = {(Get-Date).ToString($DateTimeLogFormat)} + $DateFileFormat = 'yyyyMMdd' ###20190403### + [ScriptBlock]$GetCurrentDateFileFormat = {(Get-Date).ToString($DateFileFormat)} + $DateTimeFileFormat = 'yyyyMMdd_HHmmss' ###20190403_115354### + [ScriptBlock]$GetCurrentDateTimeFileFormat = {(Get-Date).ToString($DateTimeFileFormat)} + $TextInfo = (Get-Culture).TextInfo + + #Determine the date and time we executed the function + $FunctionStartTime = (Get-Date) + + [String]$CmdletName = $MyInvocation.MyCommand.Name + + $LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function `'$($CmdletName)`' is beginning. Please Wait..." + Write-Verbose -Message $LogMessage + + #Define Default Action Preferences + $ErrorActionPreference = 'Stop' + + $LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The following parameters and values were provided to the `'$($CmdletName)`' function." + Write-Verbose -Message $LogMessage + + $FunctionProperties = Get-Command -Name $CmdletName + + $FunctionParameters = $FunctionProperties.Parameters.Keys | Where-Object {($_ -inotmatch '(^Password$)|(^UserID$)|(^DBQueryList$)')} + + ForEach ($Parameter In $FunctionParameters) + { + If (!([String]::IsNullOrEmpty($Parameter))) + { + $ParameterProperties = Get-Variable -Name $Parameter -ErrorAction SilentlyContinue + $ParameterValueCount = $ParameterProperties.Value | Measure-Object | Select-Object -ExpandProperty Count + + If ($ParameterValueCount -gt 1) + { + $ParameterValueStringFormat = ($ParameterProperties.Value | ForEach-Object {"`"$($_)`""}) -Join ", " + $LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($ParameterProperties.Name):`r`n`r`n$($ParameterValueStringFormat)" + } + Else + { + $ParameterValueStringFormat = ($ParameterProperties.Value | ForEach-Object {"`"$($_)`""}) -Join ', ' + $LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($ParameterProperties.Name): $($ParameterValueStringFormat)" + } + + If (!([String]::IsNullOrEmpty($ParameterProperties.Name))) + { + Write-Verbose -Message $LogMessage + } + } + } + + $LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Execution of $($CmdletName) began on $($FunctionStartTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message $LogMessage + + #Create an array list that will contain the functions output + $OutputObjectProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + + #Define Variable(s) + $LoggingDetails = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $LoggingDetails.Add('LogMessage', $Null) + $LoggingDetails.Add('WarningMessage', $Null) + $LoggingDetails.Add('ErrorMessage', $Null) + + #Create a database connection string builder + $DBConnectionStringBuilder = [System.Data.SQLClient.SQLConnectionStringBuilder]::New() + + #Create a database data source builder + $DataSourceBuilder = [System.Text.StringBuilder]::New() + + #Dynamically build the connection string based on parameter values + Switch ($True) + { + {([String]::IsNullOrEmpty($Server) -eq $False) -and ([String]::IsNullOrWhiteSpace($Server) -eq $False)} + { + $Null = $DataSourceBuilder.Append($Server) + } + + {([String]::IsNullOrEmpty($Instance) -eq $False) -and ([String]::IsNullOrWhiteSpace($Instance) -eq $False)} + { + $Null = $DataSourceBuilder.Append("\$($Instance)") + } + + {([String]::IsNullOrEmpty($Port) -eq $False) -and ([String]::IsNullOrWhiteSpace($Port) -eq $False)} + { + $Null = $DataSourceBuilder.Append(",$($Port)") + } + + {([String]::IsNullOrEmpty($Database) -eq $False) -and ([String]::IsNullOrWhiteSpace($Database) -eq $False)} + { + $DBConnectionStringBuilder.PSBase.InitialCatalog = $Database + } + + {([String]::IsNullOrEmpty($ExportDirectory) -eq $True) -and ([String]::IsNullOrWhiteSpace($ExportDirectory) -eq $True)} + { + [System.IO.DirectoryInfo]$ExportDirectory = "$($Env:Public)\Documents\Reports\$($CmdletName)" + } + } + + $DBConnection = [System.Data.SQLClient.SQLConnection]::New() + + Switch (([String]::IsNullOrEmpty($UserID) -eq $True) -or ([String]::IsNullOrWhiteSpace($UserID) -eq $True) -or ([String]::IsNullOrEmpty($Password) -eq $True) -or ([String]::IsNullOrWhiteSpace($Password) -eq $True)) + { + {($_ -eq $True)} + { + $DBConnectionStringBuilder.PSBase.IntegratedSecurity = $True + } + + Default + { + $DBConnectionStringBuilder.PSBase.IntegratedSecurity = $False + + $Credential = [System.Management.Automation.PSCredential]::New($UserID, (ConvertTo-SecureString -String $Password -AsPlainText -Force)) + + $Null = $Credential.Password.MakeReadOnly() + + $DBConnectionCredential = [System.Data.SQLClient.SQLCredential]::New($Credential.UserName, $Credential.Password) + + $DBConnection.Credential = ($DBConnectionCredential) + } + } + + $DBConnectionStringBuilder.PSBase.DataSource = $DataSourceBuilder.ToString() + + $DBConnectionString = $DBConnectionStringBuilder.ConnectionString + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - " + "Database Connection String = $($DBConnectionString)" + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $DBConnection.ConnectionString = ($DBConnectionString) + + $LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to open the database connection. Please Wait..." + Write-Verbose -Message $LogMessage + + $DBConnection.Open() + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + } + + Process + { + For ($DBQueryListIndex = 0; $DBQueryListIndex -lt $DBQueryList.Count; $DBQueryListIndex++) + { + Try + { + [String]$DBQuery = $DBQueryList[$DBQueryListIndex] + [Int]$DBQueryNumber = $DBQueryListIndex + 1 + + $DBCommand = [System.Data.SQLClient.SQLCommand]::New() + $DBCommand.Connection = ($DBConnection) + $DBCommand.CommandText = ($DBQuery) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - " + "Attempting to execute database query #$($DBQueryNumber). Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $Null = $DBCommand.ExecuteScalar() + + $DBQueryResults = [System.Data.DataTable]::New() + + $DBDataAdapter = [System.Data.SQLClient.SQLDataAdapter]::New($DBCommand) + $Null = $DBDataAdapter.Fill($DBQueryResults) + + $DBQueryRowCount = $DBQueryResults.Rows.Count + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - " + "$($DBQueryRowCount) row(s) were returned from the database query." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + Switch ($DBQueryRowCount -gt 0) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - " + "Database Query Column Names = $($DBQueryResults.Columns.ColumnName -Join ', ')" + Write-Verbose -Message ($LoggingDetails.LogMessage) + } + } + + [String]$ResultSetNumber = ($DBQueryNumber).ToString('000') + [String]$ResultSetPropertyName = "ResultSet$($ResultSetNumber)" + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - " + "Attempting to add the result(s) from database query #$($DBQueryNumber) to property `"$($ResultSetPropertyName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $PropertyInclusionList = [System.Collections.Generic.List[Object]]@() + $Null = $PropertyInclusionList.Add('*') + + $PropertyExclusionList = [System.Collections.Generic.List[Object]]@() + $Null = $PropertyExclusionList.AddRange(('HasErrors', 'ItemArray', 'RowError', 'RowState', 'Table')) + + $DBQueryRows = $DBQueryResults.Rows | Select-Object -Property ($PropertyInclusionList) -ExcludeProperty ($PropertyExclusionList) + + $Null = $OutputObjectProperties.Add($ResultSetPropertyName, $DBQueryRows) + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + Try + { + $Null = $DBQueryResults.Dispose() + $Null = $DBDataAdapter.Dispose() + } + Catch + { + + } + } + } + } + + End + { + Try + { + #Close the database connection + $LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to close the database connection. Please Wait..." + Write-Verbose -Message $LogMessage + + $Null = $DBConnection.Close() + + #Create the powershell object that will be exported to the powershell pipeline + $OutputObject = New-Object -TypeName 'PSObject' -Property ($OutputObjectProperties) + + #If specified, export each result set to a separate JSON file + Switch ($True) + { + {($ExportJSON.IsPresent)} + { + $ExportParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ExportParameters.Add('Compress', $False) + $ExportParameters.Add('Encoding', [System.Text.Encoding]::Default) + $ExportParameters.Add('Depth', 10) + + [String[]]$OutputObjectPropertyList = $OutputObject.PSObject.Properties.Name + + For ($OutputObjectPropertyListIndex = 0; $OutputObjectPropertyListIndex -lt $OutputObjectPropertyList.Count; $OutputObjectPropertyListIndex++) + { + [String]$OutputObjectPropertyName = $OutputObjectPropertyList[$OutputObjectPropertyListIndex] + + [System.IO.FileInfo]$OutputObjectExportPath = "$($ExportDirectory.FullName)\$($OutputObjectPropertyName).json" + + Switch ([System.IO.File]::Exists($OutputObjectExportPath.FullName)) + { + {($_ -eq $True)} + { + [String]$JSONContents = [System.IO.File]::ReadAllText($OutputObjectExportPath.FullName, $ExportParameters.Encoding) + + $JSONObject = ConvertFrom-JSON -InputObject ($JSONContents) + + $OutputObjectPropertyValue = $OutputObject.$($OutputObjectPropertyName) + + $JSONObject.$($OutputObjectPropertyName) = ($OutputObjectPropertyValue) + + [String]$OutputObjectPropertyValueAsJSON = $JSONObject | ConvertTo-JSON -Depth ($ExportParameters.Depth) -Compress:($ExportParameters.Compress) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - " + "Attempting to update the result set `"$($OutputObjectPropertyName)`" within the file of `"$($OutputObjectExportPath.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $Null = [System.IO.File]::WriteAllText($OutputObjectExportPath.FullName, $OutputObjectPropertyValueAsJSON, $ExportParameters.Encoding) + } + + {($_ -eq $False)} + { + $OutputObjectPropertyValue = $OutputObject | Select-Object -Property @($OutputObjectPropertyName) + + [String]$OutputObjectPropertyValueAsJSON = $OutputObjectPropertyValue | ConvertTo-JSON -Depth ($ExportParameters.Depth) -Compress:($ExportParameters.Compress) + + Switch ([System.IO.Directory]::Exists($OutputObjectExportPath.Directory.FullName)) + { + {($_ -eq $False)} + { + $Null = [System.IO.Directory]::CreateDirectory($OutputObjectExportPath.Directory.FullName) + } + } + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - " + "Attempting to export the result set `"$($OutputObjectPropertyName)`" to the file of `"$($OutputObjectExportPath.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + + $Null = [System.IO.File]::WriteAllText($OutputObjectExportPath.FullName, $OutputObjectPropertyValueAsJSON, $ExportParameters.Encoding) + } + } + } + } + } + + #Write the object to the powershell pipeline + Write-Output -InputObject ($OutputObject) + + #Determine the date and time the function completed execution + $FunctionEndTime = (Get-Date) + + $LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Execution of $($CmdletName) ended on $($FunctionEndTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message $LogMessage + + #Log the total script execution time + $FunctionExecutionTimespan = New-TimeSpan -Start ($FunctionStartTime) -End ($FunctionEndTime) + + $LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function execution took $($FunctionExecutionTimespan.Hours.ToString()) hour(s), $($FunctionExecutionTimespan.Minutes.ToString()) minute(s), $($FunctionExecutionTimespan.Seconds.ToString()) second(s), and $($FunctionExecutionTimespan.Milliseconds.ToString()) millisecond(s)" + Write-Verbose -Message $LogMessage + + $LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Function `'$($CmdletName)`' is completed." + Write-Verbose -Message $LogMessage + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + } + } +#endregion \ No newline at end of file diff --git a/Functions/Libraries/AlphaFS.dll b/Functions/Libraries/AlphaFS.dll new file mode 100644 index 0000000000000000000000000000000000000000..0a7d7c401ff0c36249150f0ce9e896091784f641 GIT binary patch literal 286720 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%0AA#S+ds(10LSdpIUCARDy-a$NHHkF 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%0Arl7^%P0nG0a=lxen>pdypY6`;g7Uq2 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�_UwzK;7jGkkv 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 @RW^mnXyKM%H6%S zJ6@a|3i|?{uy%FE4pvQ|tHYwvT&NW94tHI*OIt*%5<@q%0<%C zE#Ho^+zQE6;L7yDK<|4{72AIvSQNt?W!1HbSP_pqxe0uJ`38rY3y)Jv(HZOJ^hOl0 zoeEPf#@m_t_VaGP^*(2|- zcvhp|#YRk5!h$21*uA(Ud`OyhkGt^zL%1U0r_unDtb!nwhLDV^sBzB;Qzk0k$OTD!s+8%#+Es^jaEy$C~N8 zaAgbeZai7j-MLvi<(YvcD{%);&If1ysW8cbP5RoFKL08@WaWs7;inB~jqSs*#~$|k z5WV;RkJZU|PlHdB;Zv$3?>)Kd$u%q+s%hCk`YpBs4;eM~u1oR(+fhm50Aw7sI68$K zO+=}gzq_0+kdwMIp(DHORo;ZE<4cTUE8s0K}5jT~=C$lG)7jMMvR41d=w5)@3X z1}_>hTI!~ED1F9)WcC?}G+Ig{1@{m$(F|(5oW?Md2TJ|5BTUR@l~k;*oq9$rO#T*@ zyw@NaVa_c_4ss(_>%jO}3#y5il@agw)@4$TuQn91Fvf7Ji1@qRCsjyw128e;2hbI< zmZ(_HK55|>VEG5??SL@-Ktu#QlxN#AGr|jaOFS!X^mAu_r8j6Hq3U6QE z7710*!1nPB3DnfoQL{(@Wz8c&q`XVZ@9aah{d5bvHuajS9TKfzWV}_ftS1>6HN9Eo zR&p+t`{Si%#1p#~F)0yVl?&p?VX+xoAq)8$^vN}s(}>#7&b`_lN9~E5^t>%jMc=@U zms$jm{H?3_;|%dq{FtALutaa|=c2j}iVG)jRZ+Z&;=&<)RS|DhD`>nGlpV;I9nP06 zi?U?Pic+=<`<6$-Zu*D&8;C&5w+DeOG}5P2rShZ7PIC^ zGuat9*_{dxLOo|P9BZcU#?0VKv_Ywvz6W_c71OwM2{au2-Y}A?<=tDeo;bapdSdc& zwYpwdxOll1w%Lw=^ql5VW9&52i-%P8W*B!KJj%ss5^4*z^f8QD`Z7jsz-=Ykqa@mB zcE`X~k^?w-%3sg`T^4m3oLmZ#mONy)7`Le$z0$nQM5gT6k!?q^y7&JeB*z&Ut1f7( z(`XK&)~4V3(!Ea2fw7hF+@1n+rZC#SyO&!UZC%&dz0WW%fVr8K96iXmxKF5A?%?E& zV91GtHb7Jme#w@StnPCFm2y;b{~({Ikk9)4-S+v0|4Tk!0PAvn?ts`jK3{nt=I_Xs zlJp*O06yoa-oMW`Wqj5S*zkge)-kjm+FQKn`F0=GdA@l7^|6N%*>67?5AU*K=Hd-5 zJhmtBJ+e&b&N`4NJf1Bq`R@a%lw(0=jO6(rm8-$n?fZ(Ie6N;Qx8gwR?j`O@FU5Ty zsuB0S)K|LqSD(f=me~BytUJ^tyKP`COHOaI0MlpG*tU7-4 z@U|K!a*&Br29LuLPp3)AQ83q^Id~J1Z{8ywdEnsI0<(K&V)x0#=}w5?8w@R%IF53o zA?xXJ7EX@Pp(47s{RL*7xlj9}VIME@YRB{A5X`1CG<7gM?2mTtpKNkyUXZBK0Z=wjiEabcQTxhS>Q|WQby#PZ>Geosu-uB{VQm9|*1WV1 zbBQgm<7~2{D^?UClRkP?8}QAh>QE$PumUYV~zA92koZmV*_L% z?Pw(Z{ng}(1@ytl^ZoX~syc5Z>d6nw*JyRKAH=-uRRT?%X#s=)!weyK5UCS_jR098 z;26A$7)+-abce*Sih(OO8gUEyXOkEi3UB5EO8(g-*QJ$YLg8o4Iic{gA%#K_@@GPE zU{y1rAb%`>qt(L>g**V37mB}u&rCmrG=?tCz2RYi>`*xU;T(#^!CC!*1Qh5GBvJ1V zzDyK+X{wVG1s~g>MPZiRA?nGVOdt-dw)4g=Nd2Lw9fZB~hfUC6rXNA-1mW)h*+HN& zLHz;y+8CRK`U8n6&>u*y-XHv#Q25hSCnpqswnPhs<4iqSl?lax)pi0IqW;j^4#i&j z!=uo^Cn?-9%uC!KaI7IG6x<)4Kr9jzi#}QXfdmxj509ZZyFc8T8Rb+bCkQ?|&7lfu zf~Y4elAr#mI>|PN*^>(OfJXO|{I2^QQQ8Zy-&kxX1V#RRN!&x@PB4Naxbi(4zjYy_P z)RRe>VC;i46N0c(PA9$l*^%(GU-qORzn_GoB4GqPg`OFx0cekTKZUoYG=rwF>2FbC zQ0M57#{o{fCk@mzpHl`)QE{%kR>-S!bfIy;38_z4n=y*x{rJyBYTRDxXiZIv6*oAmn$3eEO&4 zH_4U1y{wSTELlxRRyT9j74&lM2=k2O(A&Di8Iz{wLSNg&~U>zd}t3y5oiB;J6$8G8YOBo&>zCF_8lnh;@>7K~hJ;-hdhVC+PTvQ7cG{WAE){30o`p5<#5b zU~lNG3=RPwg^CCx*${7qAED5G!4N6~9~CD44K`V#M;Y*S&YJiBDTRx^!RR=xqJFkz`JhyER`i&{mtiSqtm2sDrE zKrQA@hx^IBb1Mb()Q6vipc1t(PyRLN`1KTN6O)d+o>~Y6)O=LnvO9<@AYQW6 zR{#US+K~KxQ+umo+Bm!$xCn)HUv5{wI|}*Yme2Xo5zXr+zTVn2CVx{vzqf)AaX#c$ z1h{7eA$^QlXC*&G)bI|Ebnp)%!4n8sbw00K_7<-%?(@mc>S1PC91XbI4TmLT)X$He zFZ`Q+xz-@xq)jbE{|WLpNH}(s+y&jS&!qD-)&k&DF>&eT-=X|Mj)`sWtget44<)~& zHs{yNH737a31H2Z`~#&{>`Uq<3*Zh&kPLS74!Xv^CXMDS-08TCuCZ@q8KTc+bd7y0 z%kWgpWps_f6sj9SK8SZB^2fg@C`Uoar-r)E7ma--8Qmzy8HE-}|3K_VB%X#jiQ~{0 z{CpZ$-k(hFiL{2Y+XJUS$oiUh<*S*h=MaFd9n5Ie3S{^VO0omwnUdT(HlFwMW5+{q zi7;_9Cy~T0p+QwfI#Q%8$=2AA?FL zr@&|N?-E=-I=B2}$v-By{A^j?Gq?OASw1$me4Z@tpId&VEI%Q){90K)F1P$vSkmb#C<-aD&F`s3}hfeY!ZsT*yKV<#{UjO0ek9BzGSAj;T z#ct}exCZe8Jlg+mv^I~{kT>dWJvng#c)9h%{^TxH=U3--0DssZ9<`#YT-^CuAJ)Ka zH4c?(@aYX+arj#ION>WB`-)PxC3m7a%bh6fo7IJUJS5c!r(d~wq%2vIwZHU&uXTSZ zN!^O;|S5Zs?_$dW{g5@@=0>9Cn2x`Mbl;38>CXt0b zQAkx{CuX6Ove3zdE;Z@v-hnzZig{}aa$6%=v8C^un|v-UP5nPP5H`>^$^(Jzp7s^N z?M-ob;Z(pl1Xziw$eG;t$pZ+&+)4k6iiGDRz)Q{Ku@I0vo}|!QuH<-vC)$we(0jWf zxXvcO&j3&2Op=;D3u*Uqd?6Iq){WhRSesDR4Agp~sk4#8dLlg?*ZOmiAU}ih3Cd#` z5}S!kO(pJ=jgVbWzObaAcd!cu9{i6Lns@^L_r^1#Fw3R%%;$OQ&xHijO!Fm8a&aUh ziA#No2x&^y5&ag)Q{j=$%5zidJg{605oBOu7Lxk&kzmP0j?@kZg>d2mqFhK6DHUH8 z1K=G#d7{7mB1xo6{l%1T$|5QP+uJE=N)+GN?lNO(Fhv8~vBaK@+Ggx9wpra~Si_~JRQipez^86SrNMaA;zCiB>=8+`}Z9`+10-EmFWppv+ZyM$k z2ST)ft`JzynIp~ELKLu^6bk{%Uu+i6pg`4?f6@k81~PD z{i!QZOl}exPE#!@3&%sQ1mNvjX#fkd(!{AYit*@#d8uYarvGNn>uPmkN0ZtaT1keD zR@&$&rClts7&cuBo5}(id9m*iyg0r~LGIzFLM9Ha(8D|03ub5dG6FR%6|}6i_{2AU z4Rj|pwiE;@SlCG^8h=JeMGWh8S+hpCFrJTsZS=2@MtK{qEkx3UOJmfI%wA%FXNo@; zi@5E@eq#~cM=a`WDVn*NSVXm0U?YXPRB8zl9uvzbqj&Pm|_XHam1UBDSwLqbxksZ=-OMk>e{aT6enxS1|y z>K0t;ZzT>0yp67;k~1i{-7eq^kM&Zt`!VR3Y%K0PYrtZqSO+SwBv?YFsXM4P8kYbM zmrNLCNB=@rKnLuU33>r;)dBB<9CY2a`w+{0CLRBbm2N!9^}+>zDy7(n z-3xb{PK#mnYfYcvme+|{Y=}G6q88+8XeSqa^Hf}hcEZnjT(LMRHxZE17a97L9^R+X zyUhD2lyaW{Yb`M!{8+|x29fmypxyyNP^cQp=weNu=$$^H(b;F{@xRsg;9h|BzKg$Y z|3B#GPdZTj|IvOt3K!$g)AWKzHQnr-Z4gK8`|hp8)~i4QP`@uNVX_f@E3#-lDAW8?GV@~}DYCe``PxaGo0Z=6ZQ zj}SV#;_b6|B8UT3tH3~XamvpM*pvxnw%FyM^h%w+#D7ThyGW!}+2te%E0BfaFR_?xN&nO1?r88we`Cf>N1mHV8%CDVc?&EO{$ZMU9)jpm#1A z!xqt+8b$d=aXt!YrDjmXjE7pNe!X*8aN|v))PZiSt;GX@yCGf zNF)%7Z6JvcAc^2*%TRj7@E`zvnW;9h5xLS}@9z+iNHFm?ARL5#hzdi|(r|BV6N^YF z5?)1n0EvfDE{|aK!777J)jtcP-SV9DK{zp;ps3LoGs^wLXlF@!%=|)o2o_?vI%Mss^Q@yBk>TGQCm@&)vUY6Tk79l7YXBd zX*d#&gmARJ0}e;PVOr83;-XJ%gd#zFp(H4Gs>*62{+fZfz^`yxA-{ssGE{UoMqL9*>R@u+<(Na(+1hzFdwL zm6GTr-`}bIa5VfK>a^%*RQ$R3)>d3GT_5J)3as^RnAFwEp~lHhI92vansg)=x4=o4z$xM>bQWUf+ABItW7!|b=&N$qo`Kb9)_>^6%Xt>hSK?}Je@qFueG(%UhtJ_!haS*aj)}O^TN^^z^C+V~ zO-p|gE_Oe9$X-7fqx>I<>tgbM1pLA#N31(qrk?azX-@I?zZ{R{H)9+l8t#DJ%zT{K z0=;-3djS_G{4^%%J|XRY>rdP7d{oA%Dz##r?401B^?n!VSVDe`)cv4JR+`gBYn0;$ ze^Z97;@TB6%QVUz|g8CH~1o@++VAlI}Ws-rLY`(r@nF4bAe$#Zt2OI9NsF zf|$%$4>c}ch9Is&KlbNwalB)_HZF*$_d7>Z!Ey0Qj&<8eW%?bY(z@Jnv5f2+t?VPV zLiUjm8nvt<^by+br@5`GV6^9La0BdfYaIQNL_$j=GzhQ0?Uz_N7t&IgD>V1ub@Y8X@u`mxpb@R59O8S_DGB0;5Tu=5*QuYyB zA^S)O*>|F2pEeeVsN3i0DmWI{KJ+1bEUbinGxaWlim~u-J+_&#u!?xnACR8+h!JDq zeO&iD7H%NlPJ+!e7SM6|;~VH>Bne~TWXBsh790f)8?wj3b|}MG_>XR#Jr<;GSlwpZ z=8Of0B83(l3#-Y_$-13X%SvxRLxk1>VqDATI0^sj=`0BypX3l0kj# zRL5&=ED%xeYmTadV_|2Gc^{L?^e0HAdAVcZCbDm;vX9sb*+)XizSA80w6Q=$-9ATG z!Lh*hX=CAL=r`$)&e2%-OgBC=7H%P)^iIe=ow(B)Qn098HO=Aw%)W`0%;o!w>KwuK&FVM>2l_NP3zhxsVTQ$cO2= z52VAQuLx0FpX2zD`FjzLCdsvbAFx>c0^<04L~i-z^BQ_gvY+AZARA^t6U|9DBZD#D zN6kq;!cDGGPZDU%Cmf5kIf;n+m?t4zt>B#W6NEb51jcj5JoFtVcVag& zVoo|1*Zs~(cav{P*i3WMA=HOShQ*T5{wc>BIVU*^_(Y@jeD({JVNUv0x6YoEq;22i z+UCqj4n+zrI49jhcAlr(Nwusrr;XMu$4;J;*cxX}%8K7_WMO7b(rK>5?@YAkq-@$B zidLXa8f}>cXnTle&q?TP-@M_0kI!1ifl;jhqdrttSwXe{7weq@Z7ZF&rN?8HV-<{yt|I?qg z-x*L&RjE}UQ1-Lmdh%no?gv$}(wsJ0^^PArp4eJvJY}_kpFGHnC!OX>1ej=#r)*kK z(d3xXX$ky&0V%Tp4IdlHL=5BUXP9lK|BJL?bb;}N$B0O34!oi9L|kU zp-;MTf4#)k?Q?V$98YYYHl7}Yelt}9t1+G;y78Iuw2^qyzmgt&QJcpTzHps4p71s6KR=%S zM*d$4zi2%5r}0F3EY^ncbeZF^98ZoB4KHPnCw!Kg#uL6loe94^o}~T1{b~E1@#IvM zS__S*hscllx*t@DzrRQ8s0EH6Jf7HEXFO%K0lr(Uk0+hxO5oGgAll<8n}$z3Gfj>e zot9{B%Pc^vB${@A`WtiMaR=BJh5D3rONR^(2G(>t7tN zwedtmy}vrD3XZ3iIp#Hz%Jd$j(!AX9w2ACnr0gTMLiUjmvhQ-oK5aY^QMb?0Rd779 zecE_>1p3WXD_D*3)LJ)Qj;AK@Sng1AaOiJ(5S*s)&g(?rz!jH9VwpN{2Nhj;m~&Vy81m)obG zAp4dm`-rWOeI$hJTk6=S^=TsN_Bpx=_Gz|H>(fs{zeyi8qdr}u8=vXZPZ3YrB0aUl zh&~<1b-#W3Y4U9uY^FYaIQ40gVX-9i>E(_$vQIk-8s5$B({)gWKHW*T&hFFFHgB$N zPM>xtQfR?G{S4W8jczB^veKM3TGu*ua-U{voIafuzs_V~rcdiMR|11jo8Pl(U3J&c zr+v_Gru|48#^m?ue~`T^U={UgVlrb#s6O2dg1AaOiJ(4nonyV$r-`Wd8AnsWKHWXX zx&Wz62a!taa{KhNWZ(75K4L3m9|D;{YV_%Y zb>n5*90T6xi6BGMe{y)D*r!Jkkcj?}> z50!Z6+Z>|HIYP9VBgAT4>5pTyIsUxlSu@T^5y$GAg;;wO%ElZo27M~dM7C3pCj`7N=V(<=j%KQ7oSXo;sd-5Gof`HMp&;d7(`u_~MnTOwNQF1AF^ zVk+NVO#G`#C_kuz%7c}Z-^JX>ExOt%>af*N zQ4v2?q(&2!3oYQTbZbxc~9<{_X znA0m|KHev8i8JsQHenT~+c3bkW&w?Z8lZD!;a9T|P7P(Mb7LE7D7fVdSlRRLj{E)GXp zBI*?F2&VO6nuq>c4`?HS@bff$&ynh#&NNF5VOl*<6g_GvYgi8C0Xmw|os7Kr&J)#p zlI!{Kb!A2kvaY16t0(K6u>vJ<{9{f z6QeLrn|Xk68y8{JxRNcqg=u99J*3bbOnY6SyBK|@(A|uLi!3V>>%?5Nrlrusj7k}m z~lYYBu;tSVHa(4$Q2?&^;zDk`wXhee}-JU~yfhLadoi07n73T?q$St915mPb_M zXL!_?u3~+0v6InluD?S{TGSlkBPi)yoOsf;Wu=XF=mOAk(Bg;*8)`{O36)V)p z=pcpmu$_H@JmB0TjH(hb6exmIJ;erjdlGYY5hZv$DG_HgCn2KMGp)O5ZWyq-foa`E zOM`s4#l6Ap!822h;RAXas2nJ6P;_5pT5r*hIp0xefZ>9M&)pP>KH>=GY-CzLaWr!l zdq`$K^jgy1+(Z5i7Gn*HbuS?5)#KRC;~5<#PGmF*C}bQhrm~cCm^MtD!DyaB2}ai| zbOEEkDRdE|e=0PO(WeSs#^`s2u4GhUkuAf-Rg8Klw3yKlg|1_Cib5+HU7*mdjFu^M zJEOZ4x|h*23jLMQ+Y0@S(JqA^N2_3d^44K=3=_{8E=2ymYKrb?h2CT|Mr_t-W5o-M zB<%$8Pe%O?qI%=R%Z$!vG+w;Q=q5%J#cPZfwjs_F#T$(7VRW*1i_s^HrigzrinJxp zQ^h-s`Y@U*{>|tTMyHAQ8A+>87yn@-Ejv?usL`g09U5)A_=J(PdWQIvk+gcI_?(fn zIw^KBlKRdQUokqb9a(n1_=eG1Mi+|j7`@BrV(|l`rdWV@@N3KNv}m7Kl9>Z6SVJLMTi2xK9vG_K7=12S(C|yF^Du zGA?(ET1HaCy`qkhjP+kdXRY2k(N(MWfauOh`u8_+FeB;TCee$LjOU}G4O7sDAz?Qe<^jHLFr#7M2)+u}H_-Zn8> ztM{%LtJV9r7^l^HPfXD2Z5NZYdLM|Bw0a+k$y&XS1b&wTkEER+i>X?@o#J$@-lyVB zt=?y1npW>~Fis6>YxRB?3$=QUVv$x)7*}ZZ45LA-XBt;)_1wl1 zt)6Az7a@+FUgH|Ap3hjJ)e9KcYxP3LDy?4FSZ$7)JKh^MM$Mhh>C67GQ7u}A-tkn6 zDWR`CqvleHOsmBQq4Tj5)H=N08a20Hm^ep-cU#qBY}n`RDsBlMg>(a_Taa4T;NpO9 z?A&9D!$?PSIt6J&Y$>_bfBaluge2S?+3p`T_b22>&2=@Qw3O3!NUKE;q=x9%2#pV*5=atI!0m^?` zVTt~+0CoiQ{O}eOjYle}T+fdPU)Gd3DLudPbEFG8&TB>yCJXgEY(x3|EuPZ=kWV#r?(_IB;U@H%%^IpW$))!?t!uP zf3IXjcyuc~hqKIN3+mNVI<3b@{JB#ATc1W}ibg!C$M*H=?EHvu>w_pVl-fLta`Gd>A21K4 zHqX`Q+j@RP_~JGshf=%zot*rLaQn8zBhv+(r_|=BKBMPHguiAUO6~Ha+GXcQgs(w~ zOl_V&G#<*22p`?vPHmnCQKIKD>N^k*rFQwrIr$Oc`LkXoZto-rh zEarG0!rc3@LJNRQu@>ujqFv?1lYo#vKwBZM19FQlSeFy+79i{zVl7PQLGOEL#U;EM zw?aGv73YvqX>j9x@LS7b>*b_p;eW zlys4_tw0D$SBWfa=6G2TSDke{6OZEqY1R z0;sE?A0Jb_gMqq>r+D9Xg%|;Ju=xEDNjnV)pM>lu(Ro09#K(t9G#{w1s5(rd4gTNE zL&b#yBzh9)FfnggaGK`?Q8J8Z%f($lw^r9z(u&i70bk1A9gtoNKKK2vByaDnG!(R(;aSt>3LF7ZqeQyHO$1Xp@a z5wjIq2Xv}9?-=4-AvOX{6_1UO^)?6BdQKD5kCn8agAaL57i~vMWQHE{oJCpudmg`Z ze$_KwEMnTirrksD18rio(@(T>BqKQcgmwTu<#2unv{i8uEunF~3bf7P`~}F30F#}Y zeTH?eSfkKZppX$x0?kxk5av5J|aGoPz@; zq>t>pN?go{WH$9)C3Z<9QlU29tHsIm`bsPms~GK4=y66DjFYr2j0TODXicaq>W!Qr z(K?{T;-8F`is|8j-X-D|)-X@hcB~FB6=f`Qp6JbJwL(J}#aP2UF@@24QcBYu;bGpT zqRT|mutIzhJ{IV52c7O+E*?|pN6@Yn<&z}mkKxn3*NH(28AWrvE5#;-ii$4xt`g^+ zC^?IYZuZ{5f3l4k=O=G`bhW3*g+QuLkoVbS|kNvkUU#rud@t5Dx!)AyL@F_mZ(vnt;cBITeS zzNf@&g?8S#XJdib6dYfh8(W)=_eJuh0EE|EKMqHl|sq) z=}h8WDpnR>;M*$7c=}l?9tL_t%v9)w;yJ#z#WMHnsptvX$HK>x*a~q3XrGEf3JnALT+C;*REz`X zE-`3^lrk%@+V{1Xt57}AH{vmcrk1SseJg%fC;{}H=*N>E=IfGmzVF3WMk~ZZX!uE# z%#iBhYTK z0vD0Yoqnp<+^A59G&DEbDnuHZ8$Bd4NM>{68ihz^3*!SuE5xIbpZ%?juM~PQQXFV) z{HoCVkyxP0@Lo*%Nc-$Swb7E%Jl~~F<^>KiIw^F0li5JMB&Y9w(ApTsDD)Jg(Tvdh z8J(?YpE6p(XodK1lLe@E3!~?SyL4Wlt+6=G+C{ju0cfQ{k<#UXcE*DWl>xOkURJ1O z>8d~n<5PudK#LhoW=ko3fI1p+M)Smw(%S+x#^I6%|DM1Xk|#T8bD)#4QX*d@^je^+ zu|^`%v}_*G=z5YlPqbk~A2=k`nNgaN^r5S`e%Bq6{jdr|jSSlVbo9{c^n8XOH?Xvd4BaAmM zlTy}{)ddF|CG&06J$R(i%0az@M;UPk9U2^B9HP)yWrqic8j}>-4Ro}zRv~}+eBUr* z+d?U`vV2HzxbeF}?SV!ZzQ5SCF~N~WD}~yZj|m=UbWo^k`N_f2&iETu{;Fq;jXWoo zpBBuZspZpx^yZ8HJ?}YJN8x$p7lGD;Wzq;(3N)Azt%+;}4)X})XA zZwih#E>yHp<+leX7*{AnBXxqYOmUWnmx6YKqRlJ+YjC2mMIwXjoM=p1M3(I|$j(W| znU_mMc1|)}R}lKpxV1cKO){D>=RC2v%j&90#$gKG#%Q-fe`7R^rOXrmWK_aZ=a{>qEXCFF_uaiuiZ{{T7@E!K~u}ShNe2Sa~a*l^<*1OHP%U)+(xGvuSuDH zvhxh%9Z6$5&oDkxG_vJP;|oP2Th26oRJ2j$BSU8yrB_lUcKYX)PXMZ9BqM*8F-X$T zMqNR>K_Rm2EQ9{OEzJ!7MXb*S4ZmC)Oa==otGILjM|lb&c7hR!xdGa`>xgw8Rh zI_RcQ!njf*U;F4?p>vJp3iXWM3$&Wi3UOF;1JFwn`Nl*a38jqCRjk1`1!$HrT%ikq zE-)Gtx&r7T;{}CQ0;P>N6uJYb-uQsgLUCgGKSGxnl~Bg~mgR*=q44I4?K0 zGFs}hDt-xFXl@4cane znnEi;TV|vbS`XTCBdyT0pe;A%ON3Ub4qsz5Fj^rlXxa&AgF;iwdxftvURCH^pq0kA z3K>Pc!Z#SBmrFZ8jrI@UXtcOSqDz||8NS81Q=w7K&I+$FHYjuo(4EF(3e9SEZg{Qn zmO^uzT^zp0_)(!n%`OYyXUxBrWG)xiHoG$XS9`4Bxp-Oleh1y%?DpXOM(GOTq<;1& zXa_N(XRa5+>x>$O%ENB}^jd2Q*l=a5Vj28MfH~Sj2yA*n-*$+VL724J8 zUTcG~NufQ>?f`mPq0;7GhaWIrP^hN)4?wR=#Ib(RcvsQhZvLw0LE|HZK5V`;_@J>% zgca(2K?g3Ox?amyF*P+5+^l(fdZ*mQ_Ws z7~2%u>RVN`)fjh^ZOfDH*Nu$|EePFT^oB9%X4{shi{3P@S7=q}N%vdEMupadRu#Q% zY*lC-&^F^sg&qgzyN2%;DP;@Lzl}i(ZT7ud^q%ptLR*2h8&hwUoT<=`q7RIx6j~7a zx#&aV%-bYwamZi%k+DXhRp8uVJf+Z@(5pos8}BK!4rr&bTcO9n`I%96yOgp8=yPL< zLZAD06n$ZgUL$GW0PQliDYV&FQT(NG;T@8;73gbYw?e5Zq3Z;r0jrj^K2rVq$V+_AX(iVqS77KHcLaV@Om}?YT6FRxrG@nvv z9gy36Poc-bX_>nf+5+S?d)zB!ZuZ?(>@(j~Xe&^_9DSc{%cI31^G$^ogkC8Qo2&n7 z+wx&?k-1HwRiQ_Vi_ISuS`)gfxWp{EUvjPkYGTF}dK{c(<`9Lp0F|5b7253krZ{T0 zT_@{p1!`)pQ79F1mEb2x>m_YLC|Xi!u2pDpsAEYB^J9fpfwQG4Hb~Ajp>K*?nJpAr z2UKN_Q)siVSII%CFO^)~x1Dd}Xsq|jENF6QvR+4`23bTeO4XhG=ClJ4d; z583)2Dd}NuRcKXcdC9@%mkO;3T~gB1^gS#&*8%l5w^k9NS-(1bh`CK7@nkijhH9O5 zjYQ&8rVTkrr;U_IlpI9$LTz+fnM9%;)3#>Owkg`NOuMG7UT?KT;&P^a*-oeZD3RE} zwAmeX+I)$`4QtDi81XcE~|U#v^5fmMNGp1M6I4rBJmj0 z1{|W(hDap7X4->&b=qSRiFkX`*Wpl|)B}?dWpmwru{KM zr}+jl5??ayS&7tGc}dasFzxok^?LV7B${;~JKGG>X>o}}H>TY?Sf_22NDO9L_oH-L zUx`Em)8-A)X$=yI4NTiHRHyBdNc^kAX~9FxrpIPzea$L~#PC>kxUcz27HylNoy)Y3 zM(Xvxkcj(WUvu6lop!lIg8FV>v;T2AZHPo-A)3!(?9%ou`qE0K7NW8#}G!E86EwYcol&S1XbDooSUP>a?~J ziQ*cv<&iAfvx?S&X`83&^|neRs%xp5Xy+}_X|p8~iLRB^hnhdE$k6(mze&WSqrbWII-RysA|4(6%@O?EAtTt| z948Tvj{auJO1)lFi3E*~{$`M$E$n)w5-ELmXVEq&8jZ&O=IJ-+GG|Jp^tt)@!Il}4 zNa>5-sMl*Hk<$0KEZXCWCiNxx*}|4NTO!*(eqyj`O(jzL4!T9xS0j~+TO^Uv*Wxyv)>a~=uhZ>1t+zxx>-RT*%%c6SXf*5hH#e=(>pdlrvUAKGI_*S> zRJ%91Q>V3%NZGkQi?&J8WV=6emtOBhiIl!6{ET47^DK#!zE*eZ^DW*$y-KIl!)Wp+rhw7hd_>wB8b_b~uGs_cm>sL`t8rPWQnt zk@D|}EZP=Dqq|IhbJBXf-c*T{zFr%2+F=qYeQ#ya-d8l~-?9hvdaEU}{d-WS^_EEK z3vSeDr4lK9cW2QyD4NuFI5Dz2%j_bN(nr6hnozmF)D)8)9y>pcODNS# z?ELvmrPLJk*I^AY-%0I~Yq*3`yW~zTA$v@*4yg;LM{V2kOZH~DiSvV*T6+Fjt^EI0 z{zc7(SDd`=i-~iT8TH zL^W{UjbzHa{KaiTjhm8@J2)86@lt(-{PduhL zh^cWdag|B_1J#=!rCuyYmJi9xABz&{7x_+hj%A)HS~>CHL~UNl*<6xfD&_6IOA zculiJ?;HE3zP*>a|6hCW0vOj-oeS?XGkQxC&*)*v9@!&Hw&d7WEL(no6Qsy?BI38@ zBn}SNXl7&$9?d8-qc|d_$ac!Zm_mwMk~V<2Nm>#NO^YdYF~z~*FHonKlt7^*f0gS{ zN^4qZLJ5D;a=&lwbLO0R$d3?i|Np;N_FiY7wfA0o?Y-Atd+pa8E$3RpYpt#^mxg+D z_Hma}t>DBs{VZK>Ep_{e(RpeA&xPirwZ!YPSI?tgYbvch?D#I+kYN2kF7ZhL zat(z}Ef;^M^b4&IEyx~0yj!i4IP1_WHO3Il3H>SfK7o3a zbl1(ALQ#XC=PVuSb8)?I{WU zvW_WrSlsVcUn_|DO-c3lfNu38K#x-Mc~7kl5aX;sXMJk_I^bQ3GU+zuR_CatRQoqc zTJ66zOUI@5!|zsU!Q|8Nn0V&mQqJ1bc9h0D{W=b7+c4wnvAB?DCq`=+dlYtBT)BPI z?yZ)l(rKMK=Z&G`%-6|})9;Mq^v}dwZk#us&tErvXW5;8XTDDVe^os=d2{-mygB_d z@##$K^gGi!{l88+FSWBzy=MvGzhjjj{;nGQnu8a=opO!x!&TxAeI@Sw&w;B{_4rc5 zY&8JK=k2OV&4b&H&;@Yw;OM_ywW~#N58#@{wQ!5z9>C>??QorHCEi!!hh$a)w-UH+ z#P7y$0CXd)TfGTx5!?-M55R3l2;GfpjoJjq=k0KBg#eg5L>JtAtfxQCz1?~WB@Pz=IeKEk6n!5y6fO1RCdByWQ6>?6n3z!#t z&nljDJS=gZlTh5d1?K%m_ky1o?>9yS{++-J3pV@Tj}ulq0RLGqF9F^!X&*FdS_l0P z8a$J5zcC;CLS1Sh;Qhu@z|*R$b=ZHu(bJmrpH@3s)BcMH{qH5c>TL*ZQG>0YE`3=z zd`<8kgC`bVRy?UtZSYQEwZS`ubp}%f4C31)-!{RwNt`x=`&dg2-Zflm@ZMp!#OW5y zdV^)}Hu2om+AOC$2N37^lD!gVuY^Vpu7& zt358cJf=q5&exuhI41-Th&T^Pj*kHUXz59b`Lbe3PXTj()fvG&C2`J+e}@V+e5~$S z!R%1S;NPJR3fwJl?!s?W?@(<5I|Z&5_!fb01w3u|7B$yD2Oc)mzbG`HGkBMA4?Z** zt-2^2UKGqliF485zR$~&<7NS+n*W~hql#zh>s*ws?-}0qXX*ojf70k^*L>DBv`Oev z(D_Bl3r4DaYr_l1!S=T|tap8WQKn&o>)awr@16BOtbW1xz4nJ2eroWP)M?}K_S1;@ z<@PT(oHpK7`OSvSpzwUjfbcWm`g!~PReRxo!8hP4>rk^_Fg%sZXB)2B9Z7%O#k(yT z*E+xfm!~p5d%(4*gK$~L1AwbLJ}&T4K#R{$&psraSGZywznp!a@O<3G`_KW%@be`n zTp`?wUJCzDOCFM#k4T)8;GwbXq>J|`P6_^u>vuc;xPoo;c;izN=RD$kvF4Ui#H}tx_HClq>DEz?pNRH_;KU2hY|JHJTAI;_xd8}e;T*0 zU+7@{Jle3h>1B!8qJG@*rl!Y~Yw=r}e69x@HZ?W5nie0f^tl!+-rjUk=)4B_qY96k z_qIK5-rM%Lc~8UR=KYMe4CqlP)psE zqHc-VEurfr=6ci5nCso#&DnrB*UZ`MrUY(q^Umvl#2gU(fQjM$)Lu7Fc}Eb6n@9s$sUX1z-&Rquxt!~!; zC$4?(+)t_p8$JxUVDSThk6rsF)W8?6{mk5c*VEUYn!7{fZ3pD=&*z3*|8VU$sza`y z0G>8pz4pnur;U;&HO6DAYRPwy_EFGzOw}!6%Rbof_XvFuEq+FLcuGoi8hU$i(|O_f zSzvxzLd;~~v_YD8x!$_u{qS#H@}a<8uG_`GcgYE0YG-{6@YQR-B>t}eMwa{~;DIGi z19~dI5_k^OUhutO{PvRX2VQjRKC*1qR{{^J2e1ow(arw#vYYq9P8+K`mNuU@rj`({ z?%3S?nw$5DUqh=wV|YY+c(k8*kB4nt?O|Kjd5Eb)=o6Izi5W2c#0NZV>oyNtd8x!d zjXH_U>qgA`tJVwL;Nh?FELjn&=8y$A-TDoBVVb|c&CG+2J zV#wQLp!xTx=XWi|$xOsqH@`yh%;tR_kr2;Em;U#X`y{W&)Dwt9y)-fZG4-XTe_ZjH z`ub9~j(geUe3tz^fRDF-KytZ%{xhz%%O0P1Cwzo6AV&v1RAy{|No}Tl1S-p9ALW#<#J5_X}{_Qe(K6E-woj?i-eWqx!gqx22DJ zcyszVcx(0@_wdg2aS!iLANTOi^l=aGPapSiAMv<{_ot~J<_C{^c#FCM?R%*5gohgV zxQDl>AM#KSANTNf^>GhxS0DHAe)e$>cLtApxRdBZD)a)$@e#@K5y|T$FdwZt>EVgz zlOCQKKIx&JIqCT-emmi$wBSh(e>>rnhj+D4d3aa*6jHU+obqsY@uY`mwNH9@M*F0P zXR}XwcqW^a@2_f-d|O15oRPfFNM2_oucv_dQN)elaEofQi{z6wr%Zs4!g72c#{L513UGA@T zO+pgBgP2c38n?GR347_sjgP4pyN5)BYA_&X5QCF~t_ za$6=)!jULY!jY&=@JmZ5!%Isj!)G8x_g8gG%=L)*#hO3~$D=?A$D=?A$D<9BYO}-{ z5NZQLZLi=XLM<+#8KE#B6b6LCfKV7H;fOX+!V&F|P&gzM?h^{fg~AD;@Q_eABoqz_ zg+oH&kWe@z6dsXOCnf$Vp>|5Boe}&~LhZbSJ}cBt3AIx~?UYbECDcv{wfkK^s`yCT z{Vs3&N7|kf3NK39i$eLLP<~nPuL<5$%38W8G%pIxi$e3F(7Y%#t4pQ+OR3EQh>!X& zmHHR_(o(7aQr3UB#91#i1Eo^)rBd^ytocAG>n%{qdfOmrH%t5hp*bKl_X<8DG$TSY zE^#tKb3kYg2+aYZIUqC#gytbhd!NKVE;Nq|%@cxuNN7GHp(lmfaiMlxs2vw-rzGYX ziSv|DcuFXo7yPqA;W-I?Q7Akm6rK_aPYH#K67yw=^O{h2O(=NESclbRtgGrW)>U1Z z)Mpv%|23iWn$USo=yQzMMupF-o_2Bl z>Uy^yzyJSLPaWXb1wQQ|##iF^1@Wz;2K)qSpZfD9o%sIrEr4%UI{zHNA}U zVd4*{>z8(_G=9ml6JN~z2JjzHe+w9v(BD@-f?rdctDfxWRIRFFai?0MS{L^SzE9ww zz_7qcfky>S34B=KS%K#SP7Ays&~1=@i}5YMR`K@<3=8aWF|<$Mpun)eNr6)W&kCFt zsN9Sn6xbthP~fD%qXMS{o)vgb;IzOC0+ojp+ya9FTLtzA927Vya7y4=fztw2iR3P@ zN8q5qNr6WNP6>Qi;8}rBmay#S#6Kc6)1s)Z6pQN1<|HA^$3OpxpTHpnNs*-uR1qKDS3hWWsCvZ?;Sm05C4-33d zDcn{OwhHVM7#4U`;KKsX3A`ZCT`lni_6Zym7#27w@TkCt1)dXlL7=-v(hBSo7#4U` z;KKsX3A`Xsd4)rPL4mCTdj$3g926K9cvRq&mv!>6_|J;}ocO23e?k1}8mYHyNIxk4 zR`K_Uzfb&w;tz{|Qv657KPCQ$#eYuVv|uiX-#trc&LaI*@%Mo)dUMpsJO$wZf0U9>Mg9KP+%kFh|8d zCH{xSe@@`EU@nMX;R*%hxlT9{f2;U=#NQ|Wu)s;d92NhR_#YPkS@E9}|Frloh+owU z<$9qk{#Nn#h`&$#gW?a1e^UHM#XlwfhsA$Z{O81fL7=-q$}X^{!Cn4=c|8qm=PIkcvRrS0?!G&An?UTYM8br!id1L0hV!EplYT+ zD6mK1puj1CX9Z3RRP!XJz#f5v0w)Dd2|Q~;cloa1wD{G0`qg|%t6`A*_XwO6I3;kf zh4@K{-D4?fs+Ei=X=@r|M(X9m-<)u z-|X-4Z}Q*jzr#P_KjweLf7bu1zo+&cwI8beMD44!C3V-2qyMBHBWc|nM|D^th^*^qEseVqw`i2`DezW1D4IgXx zY{RLBZ#2BnP&NDd*}G<^W`Az>cV{;?&TCxKxT7)LcyHq$H$LBZq4A~0R~lzE-PUwZ z)9*I@e$!`~{<*1SPVbyOb3QreTXWRh%DEq#`w{~9*9ZH9W5M4JelmD5`0v42gTD;cwA|kEzLw9l{J7H|rdmJQ`gH5JT3>E0ZJXD&rEQ|^-E9xFeZ1{V+h4c+L)$eA-@LGQ z;n2d&!s83SxbUY7f4;DB(Y1?iTy)o>KV0;gMSs0$deJM3+S_-v?`eN$`|DUwpLZ97Ge&x2wyX3$NpM} zs=|($7j}KET8>{GUx6LBZv0aC8pK|Q{k1n^pY3|phTXA+su!_uMC?BNLiYy5=6;q^ zP1VnqSa4hQKf-T8;#b$4D#eEvW__lDeqwI)eIEYz`@WrpPW&CUe^`mHDhPb1z~2)1 zpunc;ml3+Bo^(D~|C?17wLSHJ0l%j6!TPVkzo)(dC)X@Y5PqGnGp{}M2Y~-z{W##) z8~zsX+YR3bTr+!CjZ(dhivf2C+%K@HdJ34&HR-&50KXIS=$!vx=p2^!ocKL+$>*o8 za|dzn9ngi^bE8c*pe@oTQ`;1!8M^@Y7`uVL1JI@3X50q2*VqHh+l{xuf2Y8G#+|?n3LG-_ z0UrW1RMZH;9}(E&3d7&$ibCG&Tu(sS-wOB<^&6g-01tWo8StH+dhFItdS(M2@%)wR zBkDfS&wziA=f|=~-Hf_ifj)90zD=+lyTC&#sV4AS1s_(QP$$(Xbx!?_`g`?5_3x&4L3I=8h)eU z+YK)@{GwsY>^-xivwuFjqOq-UdE@ns8yd$OA8dT2@yW*TG^(bGrnyZEnyzaaYPzfG z{Y{THoo{-!>A9w#HT_3Z^PGiqmd@#(vt`bE=KR*2-<$L4IcMfPKj#N?emv(FbN*v) zWxyA>B`^~BR^X*TQ*&GMq2~LVk2gQs{F&ybn$I`?#=Jk6_t|-WHt%cm{&wC!%=_6q z&-~i?z4L2=i-XI9y}^m#vEUyBKO6i~@Td~?Ao3p}mOt=+Bh)(^M-e(N8%{$H)rtv_sSY+K)UQ`?7n{pKia<{z|*Qqp9Pq9f^*Kjt4tF+u@ny83Z>RpGqz8Ed#`PrR*QR z3tPsQT%7*$MlSAyEsWQ!0_a=ULStT!ulu+l6_8ova0lGm;P%4Z3HNqT+y^%Z7lIpt z3&TaA9ini<(AN9mM&M#_?|?f17l#{#OTZ=J#^COPE=j?qq1iKVCNr zy5+avJ_Pq+xclLL8}1`GQE>wO>32}}--U+zDBJ^Z55oN(PE-6o+(U35gZntN-Y4Lu z;64fW-*Cd>VYo-&9)x>w#8n(yuAbFukcVm_}kpUc%kp|iq# zcANOsYMt=&R`dN9^(Bm&3bnwefwL%@&#kIQ(r=e{56_&)`z|xxZRYcB@`PqIpF`#| zf+x!xk#q)RPrnbFbVtm1ad|4po-TJ%o=uQJ{eG7`8zGDO{h;}NM9R?!*+4JA`(K#Pv*z zpYR_y=$_-rn7U&|2<}n1c>OWsJN0)X{Fu?w;4|)MsD+yg*8+DP+!(?V67Fd{W~_rd z-Poa?t8Ih3R`8$j{}Z17BK|uXjv1eugH`v2a=2s0O@UinHw9|({4L~v%=mKiJj7c7 z_fL5L7q}+(C;W5an&IZdZGqbbcZ+LX%Q52-xNpPVzTlW~9ImeQnDH3gb8x%c5Dqtc z;W6W_a8JXjMaPVzaDNJSUHdU(2=4oE-i~9&{T&8+rwgtcdjU0Y*o!dgpqqKBZ7$pb zxHh;&z_-IKhQ+r8ZW&xB+)CiO;a0)D1@Ap@8<2hz+%52LhT8(S6>bOIPPp6P_8|Tp zc!$d4G?D3y#N+D5WHKHNCHh99;R74*$wU+B zSTd2eqNu)+P%1yHFBypz;zq|psnAfoAY?-*6CH?+7UE;!46+KPCh}=*NRETfuCZu1 zHXIA*hi*)ak4B5;WQXYT?V3nrLic0~r8eG;Lf;mOWo`~7B880hOHP|(i35XOC^zcE z^!E#iNVaf-UZIL(i$?A$8o5jLCo=iP18P@neOhvG z+hUoKfan19g2h`1C>iiQ80 zez7&Sc!MHrypSS=ZP!?#NbB+n>`S6P?#U=T)0t2rlUDt#r&~kl7cA!1=zd6TL}`(T zrUqA79ir0|r=eIpmYL9EBH=mso1^iuXi90Ww?xzF(Eg}0pZI!V_<*uy)lA4vXM6jS zqoc`$CX?-qR^DdRR0tg?vENQ)*02L%79=YtESuG45Y(|`8UzF(Wzb=eER%#TBnqz! zVx@GvWt$vyEva*08RSg@)Qz1&7+IZJ^h}Cb#%QBJw zF3n33Nv2ePx?kEl95rK6OiXY8*710pm9#D85LvVLUn*?pcwzv}5LK3EXEZ$?&!B)e zPGkx-9u(SWC@$6LXrv7qUA)(8U09GrYsjK{VpBXBD(q!M7SBQA&!lWOCr$Zq@Jn2A zQoDwVlv4kuIb*pS*ak!zd}DM|D4vdH`?{b8QsY@n zf0}O)Ly3oH@8)PG10@09hS+{^1<&^JL^v}pLcS%GIsnwJ&}dXg?1hqYyxusTp~~72 z8y=2|iVmft*(fq<0|AlefS!rn9aT4n?v9dLAMmPI#$I((G^6FWFEo}JPet|1CU5}} z)|JyaFp`RfBG40^1EKVRv?64}-tq7Fn}-_+8O(G7%{fuqBol&qRv^+?*Uw5#66)E$@kjQqmmy zbqfZZ5y$(6&;;Jh8tzNR;}{vm?&{x=HH%nDnNTc|z9l*V)6aSnxlGH{OFGB|ZUBN$-li zlOiKe8XfA!@mM@!BC?&p5_bvQs4Ww%K{q4kR49&oHja*Apaf6Qv1kbWwmFv0aJb_b zhJtKLjwd2gFc}1i-JOWu0}BwNu!%==Z%ahwr8kudO;GxQuqzM39*c-rB;7nFUoQ+VxLgG))0!S zf&}$y+VE{nYOnAmG5c+e(4W2uiU(383Zp-bs?v%Kv1y)Br_l(uhIN&)2ICFUxY%!s zg|S4G{_UwG%rZzLOQf?-XMO7hal?Uq`)&+{4?s1DWvbP@sp83^MK8<=0$N3$`6d$$ z`)CT)WmbUIO3`~VojarZ$KxTGSYs(@L+SKDMek9)g-E}g(;U8fNNl_Wxn_V>oSVX{L= z`cN*EEo5~yiM16h_fj82Gl!ulpd8GGKtW86t0ZQBVmPULvAk}Gro*Y2%y5*9@X(|Y z2~o^1x^JJ_noPlz%V{&az53#zG=~E8>TSaVBTu?c2F|lLK>eZ2w3c4%L@RXZlj{;ccnS!~Me?DYIdqnARwV{znJ2 z)SEQnu1qMEkp{!;%koOdMht%JGBAC#N3dH$8OVFuDvi7<6KTo>8%=aPT9|oZ_J|?~ z%8VhUw#HwvMywedM*L7lfS3}}Vnk&0IT@$cC4DO|>q*?sC=8~A=nV9J&J{Sv+jvhj4D&!F)p|jV zNU*gwqKYRSmNgkI5XtA zPW=fbBtxu?xe4fm{R$IJ=C0OQtS7IK0qDMne%a3yQV;swiYlnIiPPD$-ZUr99>(@6 z#7bO~z0IMaXk1#tVptQm@xr$Ks>`Y0WpK8%_COLf1l`V&10!s<0hV;3;zrKivo94u5|lYOe3F1+s#d&0jg$6V~){li37%E|N+mQct6lQMh;vtfT z)71RfdARj?nH9A9`l9rUM9U>y5Fsxg*ptNyBqO_nWo=A~$|z_Wh_*F1P+LQZq&e&E zPr!285(}qHgmU;{&q*Ms?IME+%=#rv6H&ReIB7>rnY&9YPS=&p+2s`zax5fFfckCG z=m94)+c5))VZ|1SW257v6u4d(t_LZGuT{m zm1fpbl-4q4zhq?!%QU90vzC7JN)M$)QCQM?4yckDOs}}Mpx?QJ13#J+?W9t&Fswoc zvHiqRN$<|s?_6_}h{KjAgLOA7W5y%Owy<;_>HrpmqR!Qk+_$vCB4%h*R!MrZri8F( zkI301veFaQ7M&v)Gm%jk@Rajt)?iSWS#$TvDxo%r!XqIpJLwH8TDppZ$+mIC$}Sc} ztz}b7Cy$v^aWPA*7ftSNPO-A=VP!(^#n=WH&xfdmRU3}V*!6u0;(U{9yX*~r@n-mn*;Gv;q z8Z*r480TpU0|tnhZ&}BKBKeMRA$|`zn>~-PY1t+N3j( zw9{HOX4Y+`}aeQW7=w?3Tmn zj)H0;ShyseVYay5!s9D~A!6L(;~R=*1)9^yfn*k+jfFy)X>uZ=3>cq!M0b5<>3iN0TP;lBPEJD|`7D*TdD(J^j4wZ-MHfuV*WFm$ylGwYXI$5?D=3XDMt1W{R#_wH@ zlRXMnA(ymdqs~z%_8u&2(C}vRbxKZINRDWq)!kfjz*?8c7MIc)DU96(a9SWvAZ4xw z!zgiVqcY8~N@6#-Hxhx?i$-ExK10@ev$z+wo=gy=;>p0~XktIs`*pBj`*}8^KM{%E zgT*WMZy477i7l8Tk+ogcwj#4yuBZado=z|3=+X#|{YJ)v^rPf@2axZpB_p7;>CZrO zQ;?yM;`{=md&s7w&UC{BtiD*-RNB%*q1;1Qh=<&W*#+$`TYh5I18KdhEikR3sq7+- z*n9{#`Oy1zIupuLGQ+(;zN5nJy+|TfpoMj}VnlOik^x1OF}rH_zI`~6mnIo&<&3e} z>O66RCC$Q8uVrk2!>dUsFG>)2P92V7$m~_FO+7u7% zml0W}V|s~BywZYtlj){Za(paLT?h^d8HBzjCs?%LQf9SaYoW$4jwu<9ZM`>zhL#K@ zPS$cqJwj~F9Xnl>T2tzlk)>{MGs2}HNlA+d3kRWlthPgMNpp#3XB6i!v3Hl%7F>hY zEx~!Uk`p#7u)Kq#J1|ys5jmP$y$!3~305icw@x@JZVfnQe|hpF&F&N^8EEokMp``& zCynnA7U|rM_hC!B$pXEu5Lw8BUDXTg3Ol2+NN>JCtL%rVkq}|B&7S?x+?I8|gQxc} z!;a*1x@{?QuS)GgL&1b#5^h3BEWTi5mq{gB&zy{lfbggt2ez)&YPbEsFvmA^k6jYs z)?_R~tze$ru(-^M_D%8R5ZHRBnDNS-w`A1=G)xHF%Q$|fCp6hZM{;tN%!!99_ZU*4 zWH?jT<^(#fJ}x56+8po|CFT%B>ryWWS!&8$9wK3^RpGb*szlQFjt*g3hs8jV8M}V1 zQ2_C7h(HNI(PyU^))u*35=YU&;h9hlWMO|| zx+6b#7T6l#FOfG=;v5Cm`_R(}&8QAbpfhU;+|adeAJ$kPBkOO7@7pK!jpGn$Dj+1g<)PKMUsuyWr%$6}bgk2x2z)@RVDH>{FT0x4;_;ss+?l27!=yScVS zKeYA@YxeCsm6Hbmy3376lUvpPjYgRNpnT@7yjzuEa@Xf9g z>Uz=IO}C^2vn7!9eYJQ7LnDCob?uNiR~I68^cLX=MwaKJ(_6M3jJm8jcMIj zfReEdv~nZru`3_D2J5uwqU^#s)Aj^x8lhiBq zfgUWWA=5lIg0Tc~vCzdT;M_|ZQqNYE+BJZiAyM3FyBD{+--TxkHwuHe4Hm);5v)MM ze^6qi;15Yy4EGI#xQ{rFH~NMo7FOqgiQ>MBx`uaRlSt1Li5c^-Qe0^cHc!Z-t2o~Y zls76v1Ws~cNfFG z9M&b$?<=039L=2WD)`%2oW7I4F|=L+9A@wg0me|13FJ?HQ@Ak%E~CY%kju-Zz6xF^ z|F(EG7PA>sV6oZ`<|v@fhGx@KfUQ`p;=2)xMPY#$ze7Ztg^WsA$`L;->7%&h-HGeo z7AF)PHs1lj2x42JWOWydH%*UuA-4_-2j8pXkGZoCVEqrh zVMuD9rUfO!;t_m|=huQZ2WjHzlvY3DlfBATqU1M-@s#Eb4Z*9>@Kqtu(T18z7w5o^ zL4I{v-mv^@oaIy37w5o|RA*e9mwQzg%xBbKZ3H#IvM@~Rg{!Mor^Ql8>ndvXwyP-z zrGk=q7ursn{^Xx}-m2|v2@e*hn_DkeO7AMl^XB6DTJ2IyLb5!+t$5m*(_95#yNlB< z#@ChB%FI2{$?=s^yNa^hb?LI$@=;tmXj^ky!?LH~!;&Z@XcWFU{^^lOkE{`lO0=*MtgfOG_WwF6frD^<(cfDHQ;(WD`O^00Fsnp?X ziWQzkb*>OxO+l}`=KtSWAx5zZxjJd!bc!=(P6=}>GFKk9IO6^45-~HitCflRVpTA+ zOk7EEuSP0nF39WYC^J*L%4(VXS+Q!lI>}(qp16!uY%t^e>Jm|$(p47wa7D3V&nyj> zE8^8iLh%B;9w{hJ=_;$Dz=|zwd~LqqDw>S!_E5q3wR1ijly%YxT6guF=W`~mR~k5s zOei(CaE{KE)d_r^HjH( z9CmK%&ioq4HO#oGo||U}eu*UnxA?O8qvmJaz~Cwft<_uC;FKuC0F zT!z(4vz%=V=hnp4)H|)ZtI4PmzkjUvO|(6z2L-E+)9Bz_8r4iwIXG*#pydjdlnPt! zO8L90wkycjQa8U^PnxOevdd9@w#e9RWSJed+TaERRZ&Qm%C*gurLpBoXi$nd0MlC6 zW#cYye&2#>tmWb#)iJktXy2!?nURmPm;7xWS>KjMVQOwG$k0FI#z!%2VR2_uu!gWJ z;=W+fxKMtyQXe(7;pKWa7c=z$p!J2d)aEGP?0)>haS^>YVYiF(LkjTm$+ zl2{^v8!4d3_|}fARuEQ)V!jdNk85?{haDS&GWkp~_6zHbTRxQ8Bu2yh1>ZuZ*+;mg z#M3r2Gd(6#1x^H55!R;az4%RiefmgmNa+n8y=0t`KBId8jWp(Q57M@q>rd^-&!~t? zABieerPrZ2mZ`}nt%ByytE`h6>`Ip6wbU3pKb2GvEb<7EKH^lk|K${1Yp;iPE$i4m zJ2G=Dy;{zEsFt`qycjc}+{G|8`NGu{;a6w<$}OKau861q*B0@=taaWv0lQo)y@5r1 zm)*|!oyZ!~ESuk{D|5S*GsGGJuV`eS{J`tWKEEGTW_vlcvTclB6*Jkj2^vW}%M!x= z76;*6eV$)UR9CsX`IdIJ1VS&Q=Brd_>egaub8}bbb`>?flP(YCrN9|iW^hYe<`DKG zyEY*7pq$T}bsj*EH+nH0yu91$rI(}2^AH)-H~HbBFwG!q+rc&#sdaO=9P-QWY$xPj zTUZw}9lR`dz-w4)gQMs>rACq*31`?BF5CdJ(p;|NS>*%m8P+mprftchHqW$7 z%wl{#<^Vnqqw;XEBDlSfVRiUzGpk13l{DKl4>?<~l*1T`ONEfHwrE?i(^71>$jj5f z?82Nu63bLnZCvBm^Pya|XK$q03WSButM_v0NR+{Pl^;&119bB70cR64*=dwlZJ1?YP!}l{-I1dCWn`zDHoEu@${erR9Or zMkQs-8I?9M3}LNvxs(GKRd#mOWA4ncRKbBKn+KgUrI8YCOKKq(w!~)hTzDn%@hKgL zI<*G9cI0K(i6xCg!0J^NXBjQ-ocpMTHVXEGtgfiXTWdKcS0(C^lnU6|>&RbZLkX5y zwSW28*o~QCdFl1$e--vj$l_Dimo=Oe+B25eSt}7&+UBapvRZg$Qg1g>jcE}Z9#mRlPXfT z1&7MQPEN^Q3HjCSaIfkXS!Rpt-fV|+@x=-^vJ1Dl?R@DH={(4Xwpev-^N1GbNvt)V z1hndxWfD7T^62ZSzWmIJuQggra5U|>AZIO^6);g!gYjSa*25I*!?%+* zTSKgk!6(?RA%^4DkdD<-yabN1zF_R-wE~U-+C*p7=#|A{o2`Xq<6@pxXEaD@t#NWf zg=Z^ci(b&tjb=`F34R>ok2aeN$D2Y9?HbNM7*LeM+1d`EP0B&Wx~Ee(IV&E|>hxDN z9cV8shfUqVL*B6nJuEt7UcFkuY9*$!>;O5XEwEk+dxMIp~}7-y~_=gwq0lSIJS^1=+7{@we!EKzVYUnIMt?(P1TwQI&@tzTawc_ zj-b}bA*V^Km-Tg}Q$e#^P#8EOcQT0nUVgSfJp=71fRmg(q z*lO~<`K2$E8!PeU4?9#ZjPUqA(&v>hPPPTIEYccljD2>!F7%?g=ziJxDwx=FDbp66wYMCj-QX#6s z;y{&9ov12%x@S}^FgaL&PdIbxtNGz#HA~5udirOyYqMKhe*B#SmXWH9b{B0$(=0D} z8_ywC3}KCoVX8_m8q%^+H9U!>EjGNBvA*!E7?;t4KJK&1#HWfU1uTCWmZC`wboK8l zsH$O!K@L<6^^l%OEImG$u^ zq}QtW7U7iY`Fc20#%ne@u8b-7y-Jm^9+mrD@UbS=C4F zTbc>90xfrY>?@qWTlONC-mRYmaI{^X1!qlLEe*->x^QckI&#{VfD60w4$f{;5t`=)Qa$DGocH){5B}uP(a&*YuxKZ=_F_Rz%%&AEDl758h zu`3KYpgijJ&?0f0?nW5r1^O}|e-(l{H>p(b7Cghqg9i`TmK;BBb;RBUj1{{RKcPU~ zgP*)ZTrQuZXD@M+{)Kn$y|t-(`u(N#{^drk zs^X*GKlzmQcU%7QdjDEit*SNPSx=8bf*wS|V^BXLc$6XO2|O$Cd`RL~!*|xALiE=J z&4|pyi|2V@9IuREzGf4D*QCv-BZ>8DCgE!~$+Ve-Pe&5#)l6c>I_yC#SE+Yragn6) zePwsib(1)MVrT}Ec9hHaB2Cm{qEq=5D%5NymsFL@iE<0djRIw3nJBkM87_B;a=F~@ zGG+J=SNogFmCNuq!CNJWdVjOwZ>a`S`w&n!%fQRwS;joHOEbI+>6>NfDCVmUpOqVR zo@$z9AaCLIyOMsAj~d_M+d;r8g(Ji-*a%reDZb06kEPAQG)N@K4;exvleq>*f&CP< zrwo6Ezru<3Ef%zIv2XEg6d+qa{$)D)vU%$8^G1gPpevwxe_MJa!bZ^*%7wbZ(bsUSrvKRNge+thHID zr-@<>;nswZ1FJSCnVYpvs?`98mE2?599Zy`YEj_)MIsKGR9#fJ+B6_tOPR7hLWspv zFP7?UM;=xQs6;u8^MoSH){b`?2Q>OgN1H|*LUd}Dm*3?R~_89&y-J)I1^OTQ*;XwJj8gm-o5!ERySrYI#Mazm_S<0@{ zRav48ufGdj%UfCJ=$YB%=wbd<{w{x48RXUleoFbAr^=KI=|Di9_5O86pd2B7vg{=x z%`#yPU#~X;8rP_-J_QNy)#dDEpYjBum^~c;?$TOS5(KgB#2LgHz!_yhu)IC{L`=IA zK((XGl$SeoiHQ>wl%#&G_iZ%F!4h~v0(q+r3LXCd*(eX9UoJQN0~N~+_|SI;1VxWK zr~;l+bZgJ6TUjGh3_;>hsdtIgF?owaILo2~!5V!!GG&zVqWq1QcaNatH7@6^! zz0&R0y1dO<4A}w8u2Qg5?)9<&-g0&vZxuu8{d)|rgnGT+oFUDmfOH6O&0=pb3CqJ# z!PB~q_?V|0?cu-&oc+glrxeR~Ck5Bp`?CSQJFBG`PRO{(3$%WL_9I6RK?mXCkhk0b$FQ6m;Hb+=+rISX z8ltoEE%QoyAqom$@}vhWc~KrOt7-C6;NE_m43zQhq<=SJc>^f1muWubDh;5o?Jg~4 z52!2;x|t;4tsw3=+rwK!Pz|KZzZ-4lqQ2jQ_VZTA3zawm{ksF6py3L5 zMHQMx8|-Xq71KnnVtbkX5>yI|YBVIe84?<<3W-T=Gb@`$S`AjVB$S{m2`fnA(jd-B zMTAd_0?l(oCPuWM<6YC0#7??IIEq2j*{MhQu9>ATCtC>;QWE4ON(7XWSZc1)8c!*@ zAqOcvj<^ipoj^cJYS6L_g6K1-0yeB~@*@7Dap^;p^75cT9O8E%eh1@2#Xt=Lx&mlM zH#H>%>6H=%A$X-yl>kE7P!}0~pSPr(Xbv?YwuCV-ahlNXn&E4f=A8l&wq|;L~>}dO;;TGTfj~ zQou3zNL5*H)$GsKi&rGJEsM8?wS!hARnlKTh=8MAOp;FT1d{HM~ zrfFAWF`?g?tR{zv8fPNTAD%L*tDS{0aTXo@N;=g!bgG?nDuqsErIU_{v*_qo(y7d$ zQ|YAR5jq}^la7hA=;&9{@#N6)IO%8^C@po;F>w|hTTDuG=)fkl%@aLAs;F?%F>w|h z{Yri+a_Cez>0reG^;}iuq+{YNI{KA#s&eR5IqB#XfwD3u9TR8K(XXUamP4n^Ra#k& zP9}flG+y{u?$S?Hjy@@WFf~jMy1)FDms%e7RQ?$dL#PxelFv~6mQPNpHuT|1rA{EU zlr-_ab60Pd0yV@|zY}}ku8GIryyC;(9^Crr=f8CH*n-T$(m!g6UejK2y7uU8-E?$hoMrLKQ#c5?T(@SIT`@5%ad*Ap&z7K>4zaM!xaBb>iTb_t)T{8Tw z-?{MZe|YGVe_q4pe#nKEMLW3oasswO8OGL1!&L%R8fc`TXJeFhKTRl(Qw@ zos|`3ZvW)heRukO$W&Gw$~+n|`HbI(hL+_9PbJ3FiZbX0c|||7mLHIcs}PkInaO9$ zfkG^dCPGoxq7L7KcgL#)BicP#vh-ohnY_p>4>7eoF*%cZoTp$T(fBlNC7MK#W?2@a zzp0E>_j_kp%F)$xi-tD4#NC#)CN!#5FW4qE{nAXmK* zWSg+2`H)?5!FXArtIuD77W7x>3e1K}ejgTi!c3c8m%+HSSf|C4V?0)BK*P6K)5yk? z)DH-JNZ^#fN3JO=gN$q2S2qGJaK`!?QkBqveL>(4z#7ffIwg<1cH5x_j3{pUZxOj{Y!Atb=LGlKkw|54YxKsEvX)6O?D zoTsiS)3gGZWiVWdCyHY=0fFvz1$4WpTo8DUnTY`nrq!QB z1*5u7BtDu{&_P6&2;>~h+l22&)7AbT`KUyq+ zJSxjdFdsljfQuTFj)f+Wiz78gNX{Y4101Y~K#LqH7qUQtMNFm0ir^SloyE|Hq?G}) zQL~#RjAjmSc;*aSR4|$z0~oOmRP@sdsY8gVQq0vOhBqP}SVUU{^efgUq{_`WRjA0_ z63-qOnOhwN5Y3uhVcWEU}zb zFq>oujrOyDkU_Lf0&V|lL}+Q6&D!VJ6yVsWG` zs{_4gg7sVo1m2mctV@F9!>iE0%FD}9Y|A?$qhC%a#qMX_`fFa5&Q4WOmFf8fy*` zvbK1F^)n{uDV|`1St*K%LYP#W!yQ0vtUWxYE>`HD40|KVP& z8%c-j^_J2K?Dax61ucV9C8P;&R4J9v?3~VdZg792v%VHm>#H+*(up-F5@%%6g) zS=Knq-RJ??T-?60a^Stp0{Ru+a?Yd<#}MClc(j76mWS^`Pk^kVJD?xnRTvyM2cvQS z;c;PgTrU;V&f-|J2Xe&imkJrZX@p^|4C`YcewgyL85pfW#m7=sP?MNR*%C|y8_ZRX zqL%A4mP~F&g#`>Xo9$?RIuaiZbF`#182cm%eG`O)4SGmudp2|WJXkR`*cqD``8i*^98aQDWL=B@Ww6Ct^+|wry4-;t#@Z2_PsJV47zowt41A z58hD75;4pM1x7IKi&B|I*``otQ8x8MuI!3ot!c(*5&k11MR0MDjw7{*89fe*BWJPE zHU)f9F$HuQ@DGo!Z(r0lFmlrBHu6PBGLOn%T;T{>8%_eUN= zIbcMaOp9*^f<8bIq5hj8cn7^VNUkYysve;kwl1y41n7 zPDH*+ZLUj&YY-N$rO)MXU21dfNDnVmMXB)nHG$_{r4``1f{{)b6`E_kP+ej1XukT7 ze6s-atZ-dna$VuzS|=jc6*kuu!nH(afGHOhHm{CUn%4^9^1A|`bCp(s*DB3xmFAVI z2kYe)XXdN_$aDebMd7u|5-t88AYgjb2q0F&1$n^#9F&1;o#`HuoGy0GF? zY0ySMy_RWSsg0j9$}G;zSO1Zp6kuK!Udv2g%N)GwMC7&1<`t7IB1~y0<4cY-l-XQ6 z(rd2Egx^;LzIKzL=5%h|IIt;&N!Y<;>cG-lqp37LdV2lc-JLKX2E29IAbz$p9-816 z4QDY;FdGu=ZZcHe)=l_;W+D?DPNsqq4hl*gS!AdqK`Shl4u%rJXlj2lk;K=bgW-{A z_&_io8%l*z6TyQcvG7PR6dO$kGs)nvCWmi6n)C)XYzRj0!8fC0(L^{J>=+8Aqmf`T z5lqMM4c}<6kHk7@0Cy}lDa+SI`N`Y#;?67+l7W!rcY7tTp{SJ|GCr8Xmw;#PlQ8Ju!KcvE zF?{}!r9)N562Xo5oNg>VLOLmY9vdV5*hIvlIqlFcidF zdRa7;N~V_KL#K&o@L*^{Sd%Z(GK z=oyQlw5YVsL^Ok1>YGT#@cG=}hTYqD@7d71`^G&>gFDA#!M@&|xAtzndE3(9mQX6Z ztT&NK#!x$(dk41d-ih{%1p9D&zS>Y_rcmM+YYl}DSdW3={*g@ZD~|<(E0%Y4cLq1d z!clxRIuabmSF2M}@?Lz)6V+;lEDf67CAgw4e zW=wWFyO(zkP;QrQhe*W2w?rqdU%q@r_j3Mqua(C-{kDAh>g6j0VTP|-v1(;^*UB!& z6g+)!>sGB^w|4ESm21|8LMw+>u2{D`vTF76?r3Nz5*doDUAZ>2V#S*76|0u74h^s9 zTD@xd@QO9d*A1=fTDf-Rsx^_-UBheEcCTF*T^Cuou6y;+>h8$u;Wew*tyr~cXx;La zYlqjYSQ+UKb*)_$UW?dk*G3~j4Xp~VM&!_naCl{Cc;%YqYu83X;mE2rYuBz> zwJzM%wRULr%GJvwU?jA%E4(7KX2rTlcVuY!>hA97ilNo3!RD&y%E+qd>UH5z*HB2y zLs#d@&MxXKtXJvHPk8jk=sd1q4Y(R^!$*O)CKK83$Krdt_`>nB)I<|E8aos*?izC;h?VW%-FC zo{q7vFPYj9k8k0Jc}LUXBotL=Bp#Q*UoHflS;Z;+AMF4CYrv4k#{r_r+_LIbX!P#_ zJmcLAcl)%V&gdRb6#U(Qx2j$E@vmEP#Cs=v{c0QT=0b-f7}d zdmdWnp?=<34kO$?w#Z*b=1=VC-zejOd){witP%Kmzl=9Zt)u$9Wy4D$I+qDh1e&~!$0P3g-WQMF^T&=@mqEwjeBOWKRf7yt z@p!zGXMIPDNB6A@2l~rV!GfBwOJH-$bfjRH%euniESR(%M%&724MYU61mnt<;2oil2E*M7R#mm+#1$A@M?tq9rF&Wd7# z_P~3?I!9ijU>)#k#4Q!3G%>n9JEb=EBc^;x5IW=^A-|Sx;ZKhxkcJ-!AIJqi)@aA5)@MW$$2ltr$I0AG)3OZ#{HM8)uLoYqby5*|xk@%{tkDJG=ZO@E-Vj z@w^c}#@h)E6O;J8@ZXBC&CvSWBy0ztBI8(T5l; zM?K1E>D&!cPrQ>G1IJbmWqI=@#JbL7OIbH+ms(i?mOE(P3Yz?lZrxT4??TL#aC|bw zT7?7hGICH-Q{a#N%dYL*ygSh{tS5{~#u(CVMjHO?XIw@CY9DgHUnD>k!3EW0sD&VY z7-Ts(AlE_AV87808*jY1lfsC1nmQA7vp|8V{le97Gtk zrA5z{K+3YsOByn{8FkYK`Pz!!u@UX7>1s*sk-FPvmYFTiny}iFZ(3q!szcpY+mW7E ztHzOY#!>V6?XFN?Y}?%Ux#cd_zD&~#8K7q7g)e;(?Q-cTEC1X4oi)&sO3lL0h5etu J|NUy*+*26PFDsNJDsi^m<44P5*rn*MLv)>dDQFyiBS!vz5S-gFl zi6US~UDZ_RY9-`<|GvWi9Iy|#6a*Jd3#WLaw?+_s!t|E%3soqhZ1r#}9b zd%bh7`pe%&Z+`y#$6mj1{i7Fs?91=C?6vnibyeH%p8U|eQfGYDJK*?tkYQr(ctu_Ui}l-Fe^lzO%Trk)K`Kc;|UvI^(?$=V#jfEX(rBvAe|hZO3n? zk$@g;Lx$y9w$o4`ju*SF_+AvBN-^;j7`C0FkC5H+@lDE|cLGfF;f(=EeX6Pn=|T#L<_M1f5zQrV>5 z4G{%kla6B$3Mkbbnp7hQstUEJ4jZa|M3r`9h$sM6#Apx-Y+j~nl&~1bQy`8v*=@;e zL6oi(r&Az~--@?O6c5=MJ`^C{juJpTacLe)qImsrJOwtVw`UY@AdaU%953N2{e*u) zvrOQ(7_Y@YgOgU*v^YNnTH!}T;WPkKJ_Qo=XG?dmoOzCQSk!TyYKJ{ay?IV>l%%#t z=imvbLa!Eu^u{4`K}O+a1uOjeCy*?l=Dczbbl(VFI#Z!u1LL_)V+7YtH7J?qx})Ow zgjWorw=qxfb}%2OK{XO*le-YNek5c~=%~brn4m1C43gJDO%SgE)Svqyh} zZ?;!j-Vneo&Z8(2p;?sQ;ju?w<=60ks+3)59t}he@p8q3r&ibTPZ5f52mp3M#>kW%bOnt)1Y9p`uX#CX{n& zyCJdCPD7HU)0)!oqliuJw_*l7w|s={)MvL_urm*^u$yN=cpS++xlig%NLdM|YdQGl20r0UgR4_tI52>+cHqoPGHs9DgxC zUP#1MuPVc#LB%^m) zyKS_Xax5#Z&!d^l{-Mq3@B9WdXK$F!N?UTQ<8c|_3-zb9Z5Qju5ZaJJNLCyQX}N9UMoD)%Q?&RogDx^)79DQ<`mW8tqxy zS_U5M0B*dR-CH(LX<^1L28u{xLB{JzRpt~@0WHPraMJ<3 z5O%V`$+(dxW86%RXgY#z9M2b0)ihoeTR5W)ru|b$QGW=g5sYbTJ6k)gFw3P_j>7Bq z@XFLxut)!kGCP3`663v|>mv@gYHu2FOp_hAOnngD>g=?7X@70fcbN^O0T=4esJ!il zkU_-X7ZJmRjOEdAW=*4hc4+2DPM(v}QFTIwsb+@4xBTnsnwVcs@;i;>jH->(amnut zocfvkluxiXO&z9wnB&ePe^vl14I85~;weJ`=IWU-LV^3bEPn-2yV}(8&xTsH7v#AH zDUKq`#qt-o6t}d6xW!FvQ7XCc@VsTvmd|~elTeAtyAyZrPSMYR_ z>Rk3_T=`d*k!|fDjEBci(c!iH6n$ohieHCL_?RGHZy{F;a(^4-#r%w&Ycu}7Lke=S z1l%P7-;@Api9QXe;**mb{uem^dZ3a&%5QmKY&((FOna@m17ouyuet+cG$RdFcVKKt zyqDN(#Z`|K&Z~I_ey5>GQ_wW(4vbMS^{Tt?*xADAMa1;)%EG|DW9LjpXjzgm&YK)# z#bm_Fi3rw@DgRdC2B_CSyJ*fd9>qt#W|%P13R7P*O!#SqsjnF(thK__*9;RbTVd*J zh6%&1F!e=Yv;~<9_HMJR4(Y!}RvVC2wXN)5B7zf{SBriKTA!2o2+W#~?IrtPmJ(=!IxQ9c-kYxUw_%UNqI%Md% zD1z<8U^OAYjUs4xUODW@nszZW>t6shnL;zcg+LRBH08Ocz0h9ui#_g`H2&E=*=|>- z=|X!miOVP$P10KEs+;ixVO5G=&54A(C~{X%x{z*;aSU$zFiFvitS9*M_}j=IeO3Pn z{#E|^`E!tWjF-T9@&j%je_ensKB*UmBAK+91L$a;u)}Jhj+px6wTB(hVZ9BRk{iGu zK%X1XTLJv*pff%v7k-!ceHy~9j#Ydm}lA&V~lsV;I>J3MmeUNvi65=x6t)3*P@w* zly?0F-r@0TE}WB!g~vkAM$VDkGAg%Z@nwvS=bFAgt17%dY-TMx)flF^+0IQkcEcCA zy@7C3cCj(nI3!OofQ(Au%`5Oto7b*wq6hwpd3$zGs@sm1lod%5#awW%?n+YCqhgG1 zJW@OE6Z`v4V1|>;N@_vcxSp$wuvV4aifI;@CR=}ua@%R;u+nMUqrzNinc>kM6&~ZL zCpTI?6LO0b&bd;4NhzVE)JU^Og=2h%@d@lpE++FtXvcUiBa0EUR?e11t~USu@y}Kc zF(Vt>dKWHpVWHU5j&Rbf0CyJVHLJLQ#eC&pQ;5v6IGdB%;YfyA!4-&$ifO zSS2ZgCUJuI67TLW!5}@{9ji*7CUGJtmyUzRY7*g;;yOvOR$`Y7sCdeFrR0Oc$-hbf zonzn9gx)F;yZJ}}pNLA%FltJ!zyjO9mjIn9%DWhk6AYx0(m?nJN>iTc1ec1J?1WN+ z;%6g@^J9t%jM@GJ1k~K{Uy|JT%-D0aa0DF*hkSdxA%9hp{6N?fp>Is0TUv=nqg)rn zxyFG1u!P9^uiaYGW?6kIcP)L&f1EJ(GCPsTZm(YhBmTAW^Mv62ukssQhu?E=UQwJs z~MSBVo$mjqzbhTeaWKB~g-=2ACi#9I%BKA~L2{or!X)Cd)Z`O{xOhrh=RAx-b zI-PNsWlg7JzGB=;BwFx;W}PCnsCC=|gAsTu;80&%%IfV+tEhvwfsuX~FnOa9GyCHL z?lgEydA8%$oPkQ)wBQ|yaK?qr!fzwIxG5!D8Qo)ViN-qTHsR!xZ5{`;{N;mk%zEL`>=Ioh%Rf{zA6eyYr{I;)L+!7ss>_F!B4QQy<0t*V-$ zoR#zhq(Z37{f_l{HJ|Y?*T}v(Y_i ze-=>;b_6cutJ@{{(?UcAh*%Llv&Qe$_=_3Itz;5Y*mg+OhQfzoBnp(`uiKNjMu#&l zd__Sba)x%H8i-iZgCnvE@rnydrq4^`_s(8NdE4rrA#yoFe?ZY6X`&+}BSfQ7izuIT?`9Gi>{!^BD7MWy`ByL~d)u=1tte0` zI?=ZfhqS}L;|@wY^j{)8Zf!Z!9QzY==~NPEpIX<47-tjz&;$MhQSOLOyW{P1h)SQWv_2k0r)SAqvO-k zrVJ(At0b!fv1uY&bS&MFMQ4=Rvr%TCb|FelSx+ncfw+jj|r|lIZ6acYzj8H(@(7}|yNE@25 z`TpVekd--3lsP)b{X-E05n`I{zov-k6E+mk6S_X`khV=BVEwzq?f*l?WsH>3r2Vr21mVKD{VV0Er$ZEQr161eO_K{{}y_*>8B=9K5*$gEKKN%+!pgNvgp(G*sn=%TJNO+GV6kID|3nd9@b|#?!iG)l_o>q7(VGC8B zc9V!+Hr#AHb;E6HH;{$5bejhh-5*tYgdPYVSG4SBy*ed#*O>ltJ`H($?Jv?NJh$26 zGX(VV*U8@ye*^qgb_kz>OgY@Bzt8ILPxNneLsDV_JjJYs5#H;phTLq&h1T4Mq|*!VZM<6w8PtnQm~Whr1|3 zRUBqH8kI}OeB>PQsLP9yT(~>Y<9N!qiSCxy7@h`3>>}%Q33AN-s0N}WD`+86RSyxw z)5o?b0v*{QnKH6Ov}QNUSj&ZHC9>>9k+C_<{xos?*Cm^@pCMX4BZE=e z&&F_iaA?7S>7li-zT;kF2T{xE+d8s?#gXZD)-;lINtRp@6@Ll|hs)uIC{cRdlk|$j zN;TZLC9KHAwpfu$dnq`ByDvP;He}+W5AL~ex;>aT*@dq`#IS5)mCEkm9ugtqCzJ+1 zF@ilKN-O;LyeP7CpGkCPMnTfcB05F0cIc)~=P3W%EnGT*tQWBt z^Dq5$64}8*ME7rT*@VC0h3tVkSZDM+`-Nyw$ETk2D_5jeuJ$JPDx@140gN0LJ~X8U~7ZDNvx+0 z`=&j~S~M=%bY`%4hiX?eV8I_)esio;nO$fvxJuz-VY4IM?Tj8yU%)v6=Z=Dlg3LvM z){cVg8QIWEo4$lH&y{}OuQF4WQ!ecUv~_PdsjN6_*f8f`i3qo_&3H9p0ldLSctX(BKh&{6X#>$b5x%(I^rNN9Ua|m z8fc!GF&`GK?Ol@Z!uq~F#k??JScz>XWR3j_`H=er&t` zc>)?2Ns;aPg92Y{;4cUq8kl{u*Qg6zX9eUnRvGj|0?A!lJmsp18uAxWbCK!iKoQCPxg8F@P8$qq5em^rbONUSLsf-sG^tK9hzxF^Ch)ROHZbmw`P`O znvS*WmT2})pot;Qo-L|yib}Fc)$p0OhN^}p-A5W=d0#tRige5ZiS3ghj-QOUd;($@ zd-PvoXXLX9QJu8(qbHbGM<{dshhk;mZd{32^n4@uDzUuMO+&~^&L)cPhC;f&9gODE z!2+Cu>jsY#r_RL=;c7Mbn)m!Ul#)35CSRs z*Vv`hW~~5zAsN)a34X1h6fZ{Am9fj>7&|p%2ukrL28(<{W9McJL5<0e#wcL2^dm8m zYUY~{XTp;iB=m44VwEEnZEcz0+pyA;tz1^f2Hyef2+wFG@CsfryP@Ez=|Hh3mG!?X zvC%8}ZD^m0 z`ugjyb8MOwa|_e*!iz{EXIF@rx|&Xdvkq;Wes0@z8PjZQcH8y$wdDmX=U_Kd-#b#@ ziHhC`T`#;1D!K4Ze)Dd6T5y|`GF#m16yobCOvcTob$hWac$zTP+yd9?}3yP zVHpI%harO+?^zsIV+PL<90mT{1iBqt3LF7T%9ADrZhWrUEH$5YGq{BJNbL6T(N^s5 zYd$jagnu!C1D(x$5`pJ{CFNVU82EJ)`05q|{Vq*;08Ui41lb!*-~(F>{D%pgHDyA| zvMQZs!ME&yet=tlmY>ECr6gvyaT-68VCk>NQIGSeKOMUdGGn)%w0PsYBxk*IB$MDL zBnxi^)JljNxERZ(#ZGpeHoNAae?QG9vc>S|oYpSVeq`=D9Q=IAb0Z_9F&!xeKZW$F zUGQ_bvcQ#@WH^)kphU>osqVH-MFC~9G0IfOrwYAhUf*Z@Hv<`?(({BA{c(O}t#9_V z3uH|C87MLCmI(H!2*jc9{v211Nxa|}{KyJKLV{n4C#K5m@}l^g^cD)eUx5;O64avi z621gI*rv?8Q|6sW6GiK`f|rR_YftqaRV-sB$$G#$Ds^P9|7(E!cy~hf5=D)2WbC%A zsaB6~b;q)#Tr$sK*VAo@#?h-~Q=6tPAydfOqf*bo4vZFVFq7ZACE!Z=F?Nh8OVT5C zlm0ivuG(&Sqr@E zm?<7Dkr3h-9ZBbS1wdR8BNPC!Hby7_;>sAIz!F<+`Y?1mO-SMu!@Y!8Z1oaeG0#hQ z#Ud~EqCjuX<1lcg(7W|tz=b-N#N9^E_#L8EOGQpn!a&EAW zFgE6Y#)tD4oZzqgWXzoYqj4{T>6#f?<)F^Yzui`K&(@rN6!|P7AIJ8OA`3N=tnS-h z?PYgToZqQx#Zo~vNtj>eQl-lg= zmfj9fPvQvTji&sVFz`H z*SHEyQCDbJ+F&@awOTdZeDOmZY*yR{(^>!~%F!C=oN_1!KJq*>;*LDe5er})Lbc56YB`M!PQybaL#Isqd8q4$=KHmZF(2u zfE0^PD<=kOSMHV%!OkWi|JB>k{qB~ZvS-u8O;kB0G`8_#llC#_uxEj{TzHtUWs2cn zM*67487VAEBAV+3nE(wDcA?=a;x>0L?uKk|A_-9IABN+E?`nqXj-MqO_UnXTgV!>$ zbHZ;m3ook@S;@7Rm;u^@lO?Vdwf!5DZC~5sbeP84Z~OC%T^?%*>#{rIe(--^rhNC7 z%XGMwX+bk|n`L?v(M*N@FP14~(FSGgFNB|izOJgG+Q~}ou)U>r4$TDU0a-Ksqsb~u zB`U|#ys=}`I#^<5_O*s(4v~8+ zZw%u)NLdfT?;h|gwwGdC9Nr$M4Sy6vi7pwStE2=oG68B$O7Lovv8V)eN`^mKYSw-_ zfu}z;srlzoPeCW?xiPUFEe-{$mrIb+3X%4u-HHfG?%9ck#UWiQDx{RrX6H5ccvCLh zdb2fhx3T{d8=9BRRSMl3zMb;!NqOt&b3BI8CNCY8{j-LXba1^eC?$o#KJu5c<|$SI zx0VJ#A?C$={cIv%(T4Fe$ql3Hj9o|X*PRJ>I^B8?>DLNM@xDjfpu?DQ_}1*h4evHq zvPYfSsw>vO)?UK%WGjyQ({5IFY22TtTgz6NI%4rC!?74L zp_9T$%O4Y7Q~p}PGE-fTfON`J00e#5AQWh&dy7eTb(D_%uZgAr=~#IigaVsv|Gg9= zct1a-WjCQ1YHQp?jA)Hk?~{7FSxA~0c%6dM0sI>z2brfXMZUJm_y2_yMSi;w_oWB5 z2dLz{l(OYjrl2GG5Dfaa5d@o<-ZpcZ|I4!6`8*mP3` zBSQs1ydy>^0OGb7p#X@R1tDvyl=UO{+(+c)Gz4qH2Fq&F!`?t}_)rA0W-RX5W%o61 zk!VhX1vZBG>4k^e{@aj5(bdDYyzwCy-5qyibgNvP-(~lkgc*}C8{s?c0fWy*1Z%sY z4i%=Jcr%S+uw#$gSgtZ) zk4ghe-&$p}uhkk%CyrRGrW4irV>dv->7mQj=#FWj@0;i^z7LTyHoF$6m%En4HH?Xu%{*t zscv{$lYC?_9qku3SWBKW;~=X+k+c!rt+F3=tQE*pt-tl3%3nV3MI~Ra2p^)`_h)JO@f1{)ZU^9Dgn;P&b!xh8cMu068vZtZt-k zHv7^JYsw5WcX5;{2^l;kYWap}?lAhK3RL`iB)DD`@Lq{Rqj*0pQ|B`UK->`{6aevo z7@+`&J7a_b(w-a(zU8ibL5Wk&k3(Kmo@Svr0)Wc+BOs&m{A!v-&W@nBw9sTX7w@^} z?q)#J4u1hR3W+AzBFg)Y+y-PHxW%~KgO~Y)_@aL(IC9R}pU!Zm zq71l3LtnMW57To`SuVX`7-wk{J|MhhOJSx+WAYb}--c{on8&vv8y6uP8M0(e5m1eL zYjnP)*7Tnf>;$gLk*Ag;K=I9u!d>_cc2#f@zqJ>fU@`763u=kre^kmGa4*8EolrT_ z33dY->{{4XHsHVr*6@PsU)XQY_CKMqg{Im@`uE|l444?Dg*02KbfFC^#;L+3D|BNRNP;Mht5eUDH`D+PBVg)b=unI{KGf4HRoz3{>6r-+UycnuF7 zQ8S7QF`!1=!oQ583vo@K{Q<3|z873JK1~0xePJZ(!?w#KE*tSr=)O@KpJCv|(}ywBeRgj?2ulzNo$Npy&; zwhHy#IQfznQFg(_5iMFU&W~;2@FlX=F0R<{A9&63jd9jB%c6A2#NCkA4ZbV~2)rC(wR4V|YS(f|u6`! zgp2!{xya&=GdEYyMk@WuAUOjiDBZmJt9_UvTWi)>=eum$q)yPy>pbCT5!p#d3vz>l z;885Uj5jK=Q~!`ir&Zplu1u~>Yn|!vr%jJnmh1Mcw5qwKO>Wwe zf=`k#n%cWEflTe#4y1gc7ft5Bp0wYdBKy+$*0jS+zdyv*l|b0v&t0_W_LH=o>uJcx z3LiTXkmN%ZW}3OI^0naMQN$?*pC;344i%70)#u}}o$#_|h<}#Be7uGEIv6K>OfnF) zffDdP1LTA+2r{Jf23Z$5gt-BbtD4Bwirh<(mk3gpA^Kv26P_x_iv+n|2y2L3)z+6D zobXBseo#Ut1%E*@4`k{@m46Q{MO93{!e2iW*{&6o;{6VG0<5BBRfW!H3Of=Je%{Wc z{GSp%-l4oaX@_DGxQlw)kgcm}IJbvo$PGNe~!Xd4#GC_#{%pH@FM|sv9m@O=>I^xbHG0@z|8PJ zWFGAr<lWs;?sJTys$}6)#VX`c!5oh`|M=6VP_!srYz<+v#A3XE;%o= zhWWc3k8mshq%Al5)WT`h`=mbgMsOSAJ|%Z(w$`Vfh5!FqpOQS^0uRT@m|=QvPj{ia zs8@706uP5cBc~y{IMVjX*}|EyQql&`4dYx`7jCabD&_h$wyt@KY^7}_&oGEl>ePD@;+Ho>2kd=mEGIa!qh@9Yv=niPS`#@?*758q;~>Y z_Ua`ijCGj%d3b|iTKZp41{Gy+8^McyLFGg-3#5-@oV;b)4oDqp#-N-SHfaXzNJm+>4>r)l-#Im z7y7l!_Y?|+%{u)+b=Sf`xF1=W`CO23^c6#O5O0dE=<5aW%2zO+iHO0TKi z#bDDurCWQ7Jf2`&JuhI+NgoUw-BNp|3xtHb2bi&vlX&WI7Z7XWpwC+th3^I zTP=ygTZAgw^6&!&i0FR?pP9nE-dz1yDO9rVvWq^zz=Da7$RQfBu`CK7A(`os{&(Pk zla^F+Aomut-I0O(^$7#{Hzc!YF#a`gJdn?r(Hh7r!0|x72XH))9}XN3X^A`RVJq9wHTl7VoLVK+g-UwyPexAfh^!!YrJsWU} z?=3>(3t=#pnUHbW>v2g;Cx0Vw)wAX9z5f$}fwBs?)hx@r?}`xJG|Pwr_4!Nn zh2MpXXvz>9tODny#t4f@x&kKQg_2cdlXaY#JrXuqWosWj(^5U3#d5&<8-K|;f{d-@ zl*w5QCEIgWufWN%NGoZ(PIid=B6^-x$ZK23XS7drxQibU5&GYPkLuEl9(8LIMLSHJ z&@q-JGot;o5$&{@6GZC5PiAkXFf5yTBM3rBy~zK53KBS4fgha=v?#^NfwXopR2Y8*`osCvh%@Z?bu* zTpDqF-ew%5dueg(8ICcws~%t%auK_^Cc6g03Qwvu9qbHgUa;92ahd5S&ET&2Wo#$o zk4wGh&8lIAsrNiXU_MgIHR~N+k#z@B{R)4{dVdfvDh5+ua=hNX`_;qWOb0-fE+&1YkqR5ogzDlP@*A4G((&)%8 zW`V-HE@~CplL{XpDB1Ygb43=2smQL;P%N~kg(LU*?~+`m^Va?DzqUwp6gss3bm*?h zY`J>E`GeL)S>?Iln&Z0XuZM~oo=bo!o6N`6H;0#jh`3>@WLn?Agef~fy7MyW<~-9N zRb9v!ZpN3&(-vD~rK`|YEU=t~j;;qqkFy-#(g@GAAhzSyT5uodFWDZXN1WJd4>AvZk}@~vp-1pU z^N_2v4|KW8hcaDed$I zC&ARJ?^Cdjj4#&zI@Cr3HiK@;{{=a5f)Sid#9?zcN7e;rlg}xdk1SM!QwZ&-?9uJ` zrviDLDg2q%m&5%FZoa+B&RypDNRia*r0vXP{z-fqiECfvyJ#Aw)w&8Vy)1euh!B6#IMgn+9tTh-+b}|wS=89kq zPr;eQ?qFwTYD%_fA_dpU_6F?0J&}T(5iB78(=>m2fKegjDqY%XQ6V_44y=)3Jt~Bx z34Ek0&0Evv#ODDi>oMq^F7zhNR>`5?%vHIx&aL?jTb$p}j?Aczno{Sj%0Nbk{8pS5 z+r@EANNqfWGM$#j&7!8Z%rWp}ZP{N)YhKuqcB;|Q?x&5Z*{#$r+I^FfHhhh=VY-d( z85sktGboQk0c3R<@Ix!vIUAe0PBh=6Pzxq(fi26 zi)>iFI>Ck|UI%wt`@F%(ku#&&MCaP$E95AO(T_6|=z&lS1g}ORpNK;g5S^lVzf^Rr zT$v|UbnkrZUShI2gfOoo`7cZQVtGOImWl+*k-$rW#HBFf6|qRc?c+BG0+ST*1g6g%PNJKBlSw zhzDbY0(xFCubIz3x0cVpHJ^7(EPNuHFT_+8ARAV|ro0N6a}k+8&eHPO_7=;-ogg0# zL|mdBw^X8L$uK7|IVeDu55))t$V+6{DqD8Td2&lvbCj~xS{X_m_7G5BVBYSGJ^DOn z>=DCMJND=UoUvy`GDHkhqiD+0-tflQS#W08++lM`XeDi)`R;t2TE_JsV~<~HANw*T zLMHVhjO2O#Iuov>TX3$7e>lUnw1=oQgIH*aUdC8x zrh5H5NX&}xI!MOGr;SITW!Eo~iI~mnWw^Be{U8~gtXd}niN7k;k`z^GS9-fxz`<~(-4KtyouFo3dQktnt-^HX6{zg zG%aOGQ)-`_Ze*+J%-Co0l5~BY$xJ0rY1>7S^=5pUx6LM{?eA>mzH;+4si;8fMS!d12OXrCu- z$wY4xA&bAgNqgxy%qvozs4@?b<#TCSo z2(eq_?jE^&h&$l#DGqA|NBivx%3buv9%USvElbCpXiLmQcp;uhc#u5VQeaF zYx+zx_y2FvnZ*qZWqcRg7sefbuO^=|FRv6nbB53Ob$`Pr<`$u}Ihz;H^T|j4xtZJI zcl+5fzqZ`>wa!nJ8$0quxq~{?a$4?;c~DgE!?7okH&9#Uw*MRX1*@Pl{NKyZyz{%& zdI(l;Rts?*3`{p=lKXh^SnAYz{LjfmlUFBTqI0>+ov^BAWVE@dK!#p)WmkIwu_YOY524>ZT;5^=?mJ+9p zLmQJmBy>ozO**OVV>-b$>5$7d=}d3Zsc(}Gxone8wMmEF&gSLXV9v>PF|MnLA^BKS zuU*vVn2Z_~JtKE(!#$x?zf43dLZtJ(S@3jLSs-9DX4cJ4V~i-}1GpxI8(hIpojtx@ zNmI;~;_-^IzSNk2*bivXRT31Ze2b)ft6+3JG85TfL|IK#M=ycVTdpPorc>+a>eI@- z4aOuLa+{SxI9otk-3BEzXy!D zhQ}s_o>!Gyf09Hl6EgO%C;V>lUnxJO+<1OCj*uI-7|4unWrBiEmr1 zq$CD95)yhaMIE%sH!#!=!GAAkW=6T+E^9=32K%JTNQE^ahj^Mk)tejd;63H6S!J6X z%@|A)Yhb|2{t~Z4-R>s{{@JTv1XC3rR{yFAz0`yjp;XY&;C(Q#QM~4Y;`{MRfb@!J z;F2}??$BH1|@}0mEJe{fJjj zft6w78^S+}gN6bio{A9)fcR#NPyocYVuS)9z8xbJKn^1Bxws5!^sgrg_PEsVh*_w& z%A@_|?aKwr8%GR~6%T9opOv?f?!Ny|>At?j`~#XrV zDI(VLx57>N6X8Fx>z^iG<2$evjr1vhCKW(WB|t zGl&}O%a0c>qi;m_?%7G3e9)9u`I zFbuZ$#gAIItBHooL;M;4b0lUQl=}$@@_X&iYY1WAY$of4MBoY8=)T-;R>wis$nPkp z+`8QD66^fm15cZmw%!ZJYmik51$xTuI}JUN3he;lKJUMX(?61O2TtQywm0t#5q)oW z469WSF=)(#iJ}O9K2MNflk*^fRZk2>J^zdRr2C?n2NJW6nJH?!;>y0@A)w(*$M}q4 z-3)SUfts^39Xt$Bg26`Q}U>$$CMUKLEyT#ha8dbiXs@=bJuA{6EBI{bo z{}oPk3eTO1Y#pCRHW=mSj&}@)2Ou;x_84bimeA>aG;A%Pvi&H`l$-O;kTraO)gg0$ zj2(x=%jMGEm2vG zVS7|EzIjDyxtN}xZoHZGwNxfoIVJW5rU4v6ajU2sBn4ObGF-W!e~Pbw=!{!hzFvlj z<$4M&5=@fx`YLw{g=Tuaj$x6f zcLQI3Xl9GHMzeJ_TYlvzvDnPE(2mKcZ0x1o?LnDQzc6P>lIl)HuQJ=f?s{z-f_9Uc zxxMJGxTR2zL1X!rXiSq*`Ck`#?d;~_eA2CaHY=2lO|fV;mM7-> zK9jF4YcgxBSq7=GZn-QVS9jfDh)kQe1YTj?V%{{kq8UGWW`p?E*>18D@3%A~&#!T?oT#e@La3tsG@N4W8s*JgzX!97zoS4gAO(AUv#9G9$)w zc*b`f)~7>s$dJ(B8`7D3P0Ue=B7=#z@n9nGrUBKz$yefre2d0wwdH8G%T3mnA*roN zX&x){-MBN%FsY=P1G(`gMiG-!Yh)V7d|XL91zXQa{mcDe>@2L#lI8pjuiQLXaF{s` z7TxIagchmm@C63vrrI`|7+t+w9+jAf$Xg{gMFo{CsstkoK}7?lTfW&p8%Y{^QS5KR zTYwFTd=2hg0%>z8b5;!>^=}j4m3r&n!Q~C%p*EhtF4n&*X*Tjxw7a>f@idUx3$2HL zMncvh`%9GX@x$YcCk^fxJR@NEABv?L4zul8Hk4v|o|jj=IZG~!B{9>bSaC9+Jj-u@ z1sWDmV&*B@ot7Te5K$T}%FE3gMavnz6q$B8@no%K-YcRKj1FcWYuZUh2QyMXhGMV% zDRR%UXt+9TaBut65|6G;uX6`-`8zRXGmgI=IZxuvv2_H%+|e^uDher|F)-Cu1j9eUoYDF@%|k+SOk<2v%bmc03l>+C!V z9dtRYN?s(#0NeD)*5NrIFPu9(VON4V9cWo@a0$ggYTDrzgP-AbgP-$@t-}jAv8@9d zjL6m@$^&}?^O4v{?OSe}F6)Fo>yR__C;-^DMjI_X@;vy3XU=!pxa{_AxXo2qhqF!5 z4ga+iFFL<@b%G^=89Q>;KvO53vKTn5>xGtXk2sqArLZ~>@)@kya7ngbvh&jIOu7Cd z5jyxJ?5}XMEHTJ6cuC-)lNb(zmjz@l-Q->eAN5!82EXQKBIec2FuxH@NyQfau_a~Q zWJOZu(U(Zd<`zv+zK`beoKma8(!p<`W4wRI3-WN2I4ZExy>8?wJARzq5g=`S++{sEM@uZb(W-9JW% zKgEbYM~J_~h`&aNzr~2ZM~HvKi2sTZ9NrtE|B8WsML!_wfdcnKEe z*qy7B_!;AJjOBDF{m0n(0N8Q1r_Afgx15;qv*s-)*77XdP1jcd#49mE0Y1`mpU|er z!6#$jQv!sO^Ji*m?@R@smO#`7ntRkKNsqPCQDRxq1Z0fhRMBF`UT^~J3TT7<%lSB| zE~zOM14GFPFk$8?Mt+>2o!`344}C<@od0`4h93{hC%zviU&}4DuV)9G1(_OgQnfB@ zWSZ&n<45z(&@y=qrojGW!PDluX}Z7<51%6@kGwXnw1N2cfkE}B)*Z~41!_QFF9$Gh zi+kjrWC@EH1u@D`}od2KQ-jE^UI-1pl%X-0cjOG(4X%;TgjJ+zQV?{fCB;HowVT#_5Z( zg%&m|v@~+K9oX#BlU-&vG!Hz)p46^t^-o-^==W?Z%pW@x*SP}8(>7^VV$BL zC+MBvn>xXV<%%9&Xfg*G@=>mO31s895Mr>D7SD3y8&VpEm_JE&qC-{y#Ghk?0>ca> z^+zSH>gtt=T58{l9#|^#!zSdz!USDW&P9e7iE$eOYFmY~?l+`T7cnzSErkqcc zVAAvwt?$`q54Yy~J-13vJ`yiN3ueM8AMG$*UWhmT2znCnc9;@u-A&D=NCMxlGZ(@*hCX8>Yi?pnvA@dz@u^R{| z^KDW;$@N}Qt2PyE4{xhyF{|)$&qQ#81miFf#BiK-_F0Qb6*2)&4 zvbGdXR|%)Q5+Kq=f6>f7Q6sf)Bt5&@qtY@sNbfsl+T#@%lL_@;TaNYZjYeOvr>W2y=L6A-!476q2pM&T#pV6=cp&(( zG!FVbItMclC}7Tk_Ci4KLVocefLc`s{}RjiIgqLDz)RG)V?ICn_`SKbOJxO*NxWb# z0dDyhe7v?bYw(pl!gQo){8gkt9~V~#gg!nQ^%H^{e-U=1zwZkV@1ESAMkSbgIqGU# z9q(Xy{dYM$t7dyy_w_cJo{4 zyW=pL7~i5|$mnMnbAyM7p|vOcV#bVj5=)!4ThReXnco8+$qv(-i@MCTt@jwBNL%Hm zDr3S?vc#h$NY>4kAoXhQprVf{gmwB}({#RdN{#(7Lzi1GOVR5Uesg>^LRNKCbydf6 zdBwEf&8l$18t#{FP$jPH``WFG*sr{oJj_1oL(D`QkD-<7Id3W0jx{tJtac};kpkoV zcBdGO06MF;V+(h;{CMsRDf|dbN2f%h4jvpz={Hc!f>AOupZH@eQ zHfvsOO?uTz6g(_LA97J>$ z;Zo6siRVV8&RF-=K0)`@Dax<*r1Fb0o(IkHCH_k|)m(j{sC0fWsQRDzHQ>P5Kcv*C zbRyTNbWXuAoH({vt$6_^YhL4@Cf=yJ=r{f@;iLZ&Y}5B|@xix@S8Pwv;>w&VacX-< zw6NFn0*v*%hM>p$5~GzJK0}K(c)s(k>HL*cP9vr(nljPdv_~{Fm8()8d6!?MgOoKO%6MYccYs@_ow78fodb4ZxaE3K^cU!yv zI)be&7TC9_vf7A(n*_VPf^CBBQ_vQ$BNct*#Of-&)o5nKH8j15?@u02xXdtGBKfy5XvZ_Ldp=4 z_8@&xZgPIP*tSQ3wT;5Zw8mZGtQ*6514)!H(ttaiLU?gv_88KV; zGH7d-;_{7xoZMrLRvray^JeWaXe~X{=znA^VBKWhDg3mWkdHROTO}<@r>CGOS1Wok zm>TR24j@SH0ntRQyPD-_4cGa~DH$E9dHwCU$&Hc&SG|12GX*^QmC_-%81_g7XXBdU z*{nSjK|S$e)}aa;#eu#e5Iv=^K6!+Ia820?*2+<{Mv!kv9|DgXgvW3-R0jKcOKMky z#ZPN~*g#V}kU~if9E3{^n3v&+EDXvAOSt5AFhNv|v4v*3)_->E%9WXBy6ufUv4NCg zs=1WYUOyG{ZxY)Z=f(nQ1^VcYB~WvPs?7PUMlCuZZA7NE=&gEtBlDt}(@Y;<%(B2L zuJm{*;z>gEm{;CyNSWsj^m|N4$Qyg>xqufO38lg1!6B4GF2fxvMJ?f#nk(IQd#57*@_~^-z5qS~jq_Fx?aad+z7`0&T&9(#`>)H`2=UhjVkOtda zH3Y|ipz^RGJJ!&Q>qquY=fmIKq;rf-Ssz8+ayK?zb9N8U8)`S!p33LsqW)`Z|24gu zDw6)2j{0whQQfA@#v!sLk>0xdDJ|XY4e;?{_%M$H9w%ksb9#)zx^U{KoS2Q)Ok3*P zEPJ}R%FsvWP6x-6w$cG0!Sc`Gb|!eMDlAs zAXYztgzR8Wl=PV*A9k6}OU7B=Hjb`)rZd^#BmxVZq|1fkf_xO|xlC}fBuL4pTIkZs zGY;ajE@!Z7JI4-AAp&>cgHy##+reqLm^wC9K#le`wnIhVV*r*dnTuC-GYWu^@bVqD zpCy9v1uMy6M^3UesRjh63)!i{gY^3axVE;($*E>Usb*`k*gy-|K6;z$iRIa)g}82N6+LxN}T$caO>H@d<22T$~=auv%qkPH8>lWtxC5O zoC8$r)cs6{OZ9Pu!{duJva2AzETwBtPJ9?dRQOT5>$LVb)aK`At8EqF2c}F1J6QWazYcAQ&^F6;Pa=E6#ga zzAHSNgyb?^Y8b;paf*$Mh@1M)iYv-G1weQ)LIDtHP)rO3Kxk4Km)NRU_eeb%a?Odz z-jMO9QfKjcKt$P^m2J1x4@o63rzcbkHc&j^24Z0BxAGo{$9oFpMHhX_-yZd18vO2Sc=V6}7L~k+5OONFflS2y&PPNk=te8(0E_#g6j9-ONm1Z9yVb;nF z$zpWJUERUi2J4P>!ChwH%)zcxmD&XKL}cZHR6C>ugOkn1g(f_0DjP;O~e6Irg z-RLpppV)(^b6aov{q7gT!uB zcc*I0u3J*-($TjTSrV{5FgwjV>1qw1^g}XCn~GHnQk1Z(q#fKPJD^ z&u^#k1eZv(BPK)$-YmFnCAw51@Bu%i6kI001HxaE>&*HZJZpsw;ciE9Wl&QK0z~W~ z*q_(P*mH+u^qy}V&sF)$+Y?t{y8sfKugA$?DUTj1)v>1gRETJ-=rt}WQrhq=eogx#2w#0p+5+x z)Z%rGJj2Pun>Qd5nOw~nhk?#z6xzs2tDc9ilP796NrDeGZqPlc?h1qKB&B3PQ}D;%abWV6t`sri0HgkwO{E z=mQAKOIE?2l*9C|#Nsy+-_9~1@nMYEzF~?LUS-w*$B)gYtX-DLnHi!Y!^*4(p@49} z8_X#^SEX2JJ>LKioM!4>V2;e!v3VQY2|9X0eH?-Ht4Op~P>T2aAUw8n9OHP2@fL|8 zD8-NM5(mDq87L^l`~4)Bb5(O*_8H__znbK{5cDaz-**i#Z|bj1z;Z1(!mpJQYTL#r zKyMdt9_;!jl27@ZsI54S-H2p|2aV89PL>c_!R}GIh5}~p+L`k2Ann;diCF%r{P38H zJu1lqo(XgHqHyHr{YTfo7UoQ)nDN-WKcF-;yXevEOn5YTdzC&rd=o$ud#Pe=h6rJ4 zkC-I|;6=s&(J?*%PyTzzkD+A5_D_Sa>L4S90Kq-rSwXfMmf^=Ww;-jrONSBqd&cw? z0I^q$Pyoc!a1wP5nu30Kq>Y6a3>eNa+dACNsLXBnqBJSlF$UI}(_85?U@Ev=UP-+T?dM zZx@X>GhB-ACu!2WP2%zbX85f5WS*`1h1B5gy24d!s?^|~>Or4@{gvo6%;r5Y)d_Qly=WxQLC8~4+8p}lWJK?{Z#Aq|`fJ$&1Kf_Ll z32jtPX&Hydm8gK%XY77_-}i9Cw=u_It0q0bYq&6RFkZtpsn>$<6Bp2lM7 z|85ASH`C-lU zV}t@APKXf-82RoviHA=nc<5&l<$oH4?SF<}e+5glh?Q4u)u}cx8D=~&OZy&9`7OAd9igp zU#Bt!&S3K=34?EHp}xd#jt85U$zWDM!?s{!6fQ@6s^>ZjsXan8lU}7o22zUIwe)b5 zmFj+HtM0d_JzY*XUPKVhIo)I{-Xvp7z`aj!W~dTxg6$(Dlu=2!h@v!cw>C?FZmwP4T(cgf zY${y&P@GV`KoT>u^6{UMj6RZ-iNy z72!aN+fzo5RBNr-Iv^HjgJ$7VK4;k0;N-D_g5W_&b%qRs3Dg-y-y(R@$DuDg71NUHvI( zk*`feE>q-JCnEP#Kr+7ql}x?C^a88)t&E-G&4u&9?Z$nuN6aa;(SQZI6~M*&E37 ztJ3~#|7nrJhagQSz8fb$zH94aT?yrMcox!Weh$y!_*z~wl_L-BMEcqArcHUaX!0T( zYiP)-N&j9FjrK+Vhh!<@IR`#*X8Rry=O z-$DFUjw<>ehUaxpK;NtES4#SJF8UvlFwWixn^Q{q`umc;od3~g#4S#qqZh`UDsT>B z`!U?5g6kRB^%1E^-0`#>&$Hn@2+jXlRNf$_qJWfl8in|p)Pw&qIN+HW+aD*ge-FNh zgf$)qnL&w~GP zVaZ)Ab>as1;>o2Kuf=2P+xA}}+v@yyXJPxlz|Yq96U3}`I^lg3-IPJr^bahb zSzIbJbz)M9D>QcFM(p^1g}iXGI_5-yB{Yq{5E4~hyifjzL`HNyd~1@)%e*5P?+N}% zV6^bbxWc)t-omdpyBnvAP9VxBZiM^4lao6I=pEG)8 z98UqcuBy6Ygd}fWpmemJq%P~9rbu#(ZTtTsb#OmkPPT*3s2l!78r1^|d-Y{VEyoAx zKZ`$~34cyl_*;I)-b_}(=fGyde+W{(NYp#VRLTC1~1fqb$0*0vy@ zz0nHMsWu8v&6jZ5R`ht?p6(~cE)ja4CzqZapA>iyV5M1Qe*rK`*GD@4i}-^tNyL12 z-b9i8R}@9rmi4f*oeFLgu9m=+StVA7qLK|mDvF}3OKGzj56z57e0CIXNgR(?P{I43 z=7U-KwZ0_L>SUruT+zZ*N$)0t2_Aw`Q;{{)6H>K{?`7qY3Pxd*2iZS>C#%{EH6<0j zMNfM~eBYQ8C0=Nc6dK)`@FYS|amzw7lEQg{F{?YpM9pX(@8$CncviImQPfL_n$>-G zPe*shWO+s${}lzBo!y;@lp^jZqB1QJCo)~i=!5St%`EB# z^(N<z4`k1tg=58)3vV7Eo zFwx{s4%7Uh?ZZ*+y&M;GVG`G6mZGNmqS{dAnmxnz9jQx}=9Yi0d{^zu(B^Y3=M<&{ z4-1%%k|~?bWabkHECL@9R!rX!=FG&HcmYs8<5DEvqr}_5w^>$96d1WE!*7G(DKI?6 zFl_rCTm_E_1KpJ)_#Dtz1k7xM7e4m#+dM72#S56#vvJO)V$oPH8OsC%9 zYXlFc!wgt$Ut0`k%52SJlS~J#ea- z=D&3gZZiI2a0SNfL-_N6<)7HKEj6Gubbs2iN~QV}aK2VX%5VoMk}P`U{XBE8X04WW zO99dWWlpR|Y3y zBVRn-ljmFFJQdJ99nqaz6Ld>hX-w2D`A<@|NYyx4Gj<4~Z~HoEzesE+iTy?kJJgE% zR13SLh5hChvEOQ8M_O^e4R&blyKc8up1fk{6)N*YzeL{UF%0;;69?xld)mYm@5wE% zexp^+H{_q~n3NM@kl?HnCu5+Pq+&azi3qCDsG$(+TVt^*AZN?_l9!$>`v=jjY|}#q z;C6f@d7iwAhGRBq(RuPZmZxUl$JH?(3dqWS zCh?+`{f#md8f8Nw$u)5j1$50kmE3mFHaLsa{@Y2%IpU4UlnWE7~C%M7ZBB+>azwF2f-)< z*T?xO00TF~2n9gg7$X#rwKle|*4HU-B&YkOyu}>aERH1D?734%=#Bz_^1nkP%vYw{ z{*D^b1J1y4;PRY~YaEvG_(^5R!Ge)tWZ2=9V0~Qf`J@%ql|Js2-tnj9U08y%CXNak zR}Xy28GmGS%iPu+X__Ds47 z-}8LW`z6oxJ$0(;RMn|dbx!RDfOu1kFo1qJr?*b+pC7d~M%nrLt{jBhAHWX|u-}91 zS6feVyOjcNc9}_^A zq?)Dk6CAUuRXiOfj{5mbdkmCBNiAT+k`Ry7mIp^u0@dSNV?G#Q`srk7>R-f%o0#)- zJFMC0O{~lA!OPTW@KY7>El}{M^g9&%3`BidL($nC=0hy9O4PR4;27KBNo<^=&0dOq( zLwnXe!u+v~iTPyx*MsojdU)#wHM-hXYb4v&>vk87X~gJT_>Pv>aDseoTfqn!Yq>~A z5frmxZcriT2L0vsf(jW2jkFn5e+AZ5Q7R7+di43*!OhOA;ybEHgHuG;`@2~EdwO!7KwUVQq=4_C(%7-Id_%m)j_P^0!(E)<{QNmDc10+(z5!LX z#eP%7MKh6vUr0TbK`OS$37n(b}CbpOv)$Sp{-pU$JnCn zq8#2@$!^{1Li{%b`fL5sa@OslA5RF0n?F$bWDObs;)WPu0Eq7iAsg|Bl%GG&GPQ(r zJ|mYi#h~LZqbI(rI6S)MUBz&kG%y+Ww-s@V&dbrCBpc`i71GVO57dt-H6DcZ?)k~x zOO5$^#E#{q#z@++PvTg>QtY-nNTBt7vcS%uZFeS)zQ&=1i~0?hyVyP*T{C*3-9py7 zUZrV#APGpBv`%vZ-y2o7DbeMgU4Fy6Ak7}>;1p_u2_=5RyFs=45KiH@Un-g&;>cTk zKG_B5&eBBvz@_Etdlz}5>k{+c+jn1guKtKrsoM7450zO}jsdCz?K$}}`E-2@O7RRy zN_suEaf6s;!t`P>+pK`3tx}&i#zYMO@uL`F0EnAngaOu`_9tCun>9!p-cv=C<(ydmYbpA(`~hUX{VT+wyoJ z#9dAC#N-ut*lrcAZblP43$;0;z5dp@10}uPBoh;82dFax5ec*Ky=QAPDlHFqY9aBzkv-{-vT-_ zI(xu62WtaXhwVLJeJk`HbHGa8G~e+5;g}U(W^F#>X7O^{gK$mN@@sMLA%242@H4TZ zjex<8KO`O6!}#*vlXeTtswJ3xd(3PDKupI716)0-pZ_sw`@xlB{IPzpFP63*n6h^_ zxF_HRoNQzF;VNF1R1g+FeoLwhbn3fiq6x4>Lf#dNZY5J8OO5!BR?~Ztchf%B{t9NY0-c zih~7l-u{OW%G9spJQzTE)t)s*#o!C$EM_`PCFXA;($`?kT z9sUW79e2swNrUyjiq5)ZIA{^DVY$q?g3)JBF7QVuCd>Zl+}BT`7=ISP?0N>RM*-6FDW9l-xQA#jNio7 zU;v1RV}t=G`N1~`Y4yT{9ANlYax;!Zo{+K0raDgxJE^lKuJ)nSxZ1^~I=V9WVU*S% zV$ueX)*oYp0U-VqBMboX=NMrC?3dhXBgs$I2Pbdqp^UF5k@{KgTV1y}?;t<8L3tJj z%eA2h$;ID>eMDFnj+w+YnZgU`pl%eMy1Ssaux=MWxCzAYh6+fCS$_gMDph9;I7EKymVVu+tgJ+sFh|g_7?}<8azY_cU-mhcg*X(06Qj9& zTcOBpkZc5UeV_I%yU0j^18kNky2tEz@8}P@<&n5KG?G)K|0e5xw)Ln!xz-FHTIiHv zrwlnI9QVdjSYA4Et;p?)d{8Ll;y;R{p_KvHfA2tR@-isic5q0IP%2Adf)5KocCxl{ z2L5vwu&(M23zSx!{enFAF}*4H9pQKrhP%+2m0kave6xuE_=-&Mun5SuI*Pi}KOJYB z?~fk2wlsPa@YXFibHedCLj4!0Gk_iHD4|XOb$~y5ltY~%)VZLZbdgVn++szGXbiWMO0w$ZbBeML7VAxg-HRoiiT?nFzG(|J zmA=BP#Bq8>td)~z6>fI@+?!7@ zCU__a_$Y%*Mg!)nJkg zOkl#h3gH>Bt!rvHwoB2~?Ig&q(;&fcCkCKP|`WfJ-HB4f)BmKrHh`w`d z_HA#mb8PS%MRqMY#~9D1Cc&1tony|YA2#ht9?S*22XNyI!unH6z!blA{H-N8qW~^g zpvl(Oh{{Y3Rn|Z8y_K?Nbll_ZP^!~?xm{M(e!HR059*+c;e1LkP^=GdCxeo4#%d|7 z;OS(5JLH1(xO9(+^%U#|pjUT$2x?_+z^v^w%+E-L7g&@vn~1Hh&k32q8+8tKE03cN zVmWs`Ig~%8e4Flz4CNAjNx;sS?jabP{*7${wfDdWY)wzK28p+TyY2eo@k^n)5C2EL=V~P*gT(-v)>w=%0K{%F z!T`)3%V2XM^%EQ(Q3>KO1`uiY7-0Z1oAVYhFuYxLb{$GK-V)e2E72#6v7yG2Ou?B{ z%c+rJy3vhS!2mxv3{T{iR0p$S?SZ&MSx|BuEQiLg2=xJ|f6Yodwf_9##L9v-T~`^~ zOQqT$k*Jp%FC#x#tA)l}4Zz66Z!_dw#CpLlJ>c-AR_zhwMPz8qx^S1pa8Po4BsIFd zl*oxrOPg3kHvt^#Gu4y5Y-fxKccRryL)-M~+WIhjn-<@Opd9fn6P76Dz{YD}O}2hG zW9AKeWx@e)W0|mD44_$#wkFB^=%x*WkyoLTjrNq(&Mh#bgH=%;tA#}ZzN|R9X|frG zD~|5E;TT6}bZWz)?)HM}x)G)x)DWA0CV_A>l?AeYK@| zO0zOgxt103@irRA9^crry1aP9tx*NYCVU6+?;w7)&w7;p+IjiWec9Rqg&edtWD50{ z<>AU&-%)`>(dHZ@2bZ2)9Gz;9{G(vCCqQ8XW4*0?yjZhgIF9YUaa}AdcFW`DbKns7 zL&0=c&ezaa-IQUhL4D_GW5cnB(^TD430mgXDVd+LipCxHqa+&gVFL^N+Z4 z3dJId(5LL(=YTV|9)daKJ;dMJz{G$5iQGfr#`rrs@;iYq(Wjiz${5qT5X>6B8_xrX z3RQ@wus5EXMn)B|@u_KK%hk%pebdO@B4m(8u8NR@X=Kz&HqMZRIQ422P=$(dJ4HA~ z=m~B`g!^U+H`*T|nV?7lj+P@NioT5;h>#bhktK($of+5f(%`AIi-AJyu_g9cVIG57 zT748}-`LB=8O%u&yG~$LT#nJc2(z$j%h~*zN7ZhfRH~2iJz(!HYObnL>oHE|xK?QG zdVcm=TL9YHUmGhj6kSjpJ!NefXzOTs3(u4l8L{qC96faH3LwKpImwSMJfXP7&1z=W zeWUZrVzY4ZQ!j!gZ+oDpq40r;TIZsP- zu!I+DTFdd`6j;f6J+635Xyt}bD|oQ_#^sK-L#00x97}e_HqIjh?b{pa;GU!7ZqMbX zzNYysf(+8f4zqRrD8c=ea;3l07oLGb=NT(ycYo=|>)=rPR>ux9OBo!~%JYK*7Gofa z@oHkYObpJ4P_Dvbihrl%wMNnA3>PghM$|XAZ<1ukvT_$(N~cs`R9OJK?3ApdSlg?T z8(df*S)dcKJ;xA3bF0HDvp=m!ueteHCQbb!_o+Ue zV)pZTyX@Wz$nQPWJ$HV?=VA6mgk0~t0{E=I&~o}350Z>K2&JnsT_VcKRYhK@`2c|B zi<`?{sT2d#R>h1dtA+Cl!HXBIvl@GceXT2H#Vp0f~AI;C) zPkx~CT!M376n>dzk#ba7UsY4mM60946B!eDM^9ftNG_$YPG8x_2CVQ+*5OymPF% zE2*g9g@obyEq=qDaSv};=UmlrRV)Ja6|h(#9PTWMg;jh@Mc~niAp@A#jCiBDUTLWZ zmCxV>#NK7~J&ZJ;lQHIoe;x0Z2QLwgOz?7jvcX0Aa0%MQ_T^nHeR+AH-BMe|JM_WrGp=G2em(3s>`UjFq9946iz#dN9yDCs># zXA_M`fFHaoLO(G^3uvP^3Vo74rEg|(fM|ju|Kt6sC*Ych*yddH8&jJi?7JcET*B_% zft73gczYPnx_A3&o~i7x8*nH))NBY|?<(6lD06`qHKTKZnQZFh49XyPRX&MB{9Mzd zL$ZUk3UfvSC1za~xYo}5yf zNIkZ;mpInvH+P|fY02SF>6aZUyMjqyLrF)gcBZ#5+HconynUekP?~l>TQQzMRve*; zf-W!ao92b!i0*3W@&+eOA$oA55Utht-sD=hr%i3`VCd?fU(fkhoHpU}YT*^9Em@~a z9IICb@1SfGg0DDjWPQIs+<{pFW~7a&@(7!Sb$!r!mYpWb{@JWD&l{S_urABqJ$DD& zwI=76K)YUM=MY~~W`RF=6<|w(s7=?e!C`wnG;!$sTwps(Wx=M`@P1J{R{O<~#{JY> zGJ8Dt4!%(@ILu>nzBg|bJ-MZLj^7+pJ3N6Wy^TOQCQw^T!H0M&KEY^5zFQF;(ZFs@2nk&_pqgRbZ2_~EI>wgvx~n|$I30s z!2rsROkt#Yzg64d6<=kveR&UeSK+RMe-ht;+iy^bhFd~9ln!;Wr#at}e}vjE_%2zo zw!H2l&?*g}8;&X%lThUj?7Xa5u8WMKzg*FStHmN$hFO<}^Ev}P#nZj9bK~P_Z} zb$2(b54rCFcmI(1^ao1+JCh;RQ1~k4VJv;p=tJ$?V0yTRFfX&*RCy@Uu{L?Gz_P=8 zSJlS7Ln4_<1X!6CXpjxipsAsoPk(v4dY+ zSds86Q)n`o!Nc~D>UbDoTs+dhfdOw!ZC)=Jja=VB`jYS$L~YiUw|qFkr@yvxksnL~v9-Gp-h;P` z6nq;n?5A}2ufc!fmg)J6{F&-|HRGFshsixOHE&{zH=m?EhDZmKO7I0`FkbCDihI1d z;DzHSWj?`|@5^d=uu_dw25@-rp<|>9^TFm7C2nKo-Ecm?rn%7FI8<&OXzEy zlf*7?#;stgm8)=?heH$M(27dwx zvyO8ASAdwGE53f>yh1Vffcj4+&hzy%xL{J>9Dc*^EQGJY5fm__!i`F!Sla{6?gco& z8wHo+*<8wqd@wsdTfDM9pkKz_D?!zAIi}XG0>dwHHW6pyTl7o38+KLFFWGWzyZhd6 zt5&txvHMym+lVIkUvf;D_9ptKmH0xTFjIYBLP0OT4YL+^rECVX$`#KF3obM}B#z00pywheiAOj?Qf8V_%Cvzg#O+o4-cq*e=ZAZXnl3v4zt6C-GerZjnNO zy&Qj=`BOtsB^6gi&qej91P4L!y1)9?DUNW*6MG0EJtM|rlOog8HhrDhmh_X)lG3^ zq1*+nnh=~#Ye`J&-;^$<u7Y4nMS66E;(A6hrguub{me4woA|aQz2j%Z^L}Bly4eodiJ9;gWR$s$Vt%l6 z`?Cn132y@9&R^|C+z8P&O#=*-@?Li(K4$OsyJ$gyhF-5Veu1nNgSV40PI$^_i;SZ} zsrhBPmU9=(3%*Y(eYJz5c>h4g)PW$Cs9h0#6+7uD3=yXt-ewMoLM5{K= z*e8h!-_0s3>%z?DSCw|9&^UTu+L6Q|TJhCB&gAuc#-4KD>fW_8A_;Ugk21_XIB8sK#o~EksHdU;*p9=@K@pmVGnq!OgHr47e zl=HNn9P90PpAC((;`_%~((M|t(ZR8nSvoV-`+3lKl(3B^B~4~;>;Saun+w6Kr9kK( zO)A<`V6v|!R_m>rZ&3hytH#+<7I|^=K=nQfRErEVhYt?|KbD>(i{{97_KrC-9>Znr zJelSa8xJJ;VnQ*)Rb4!2|jcGm^lA5X5|!{z0vyTBm+ zO>PbjCgT@qFr$g!r|PRY5d%OxEk+p7-XZ!Ui9j~Ena}uh+3C+WJOzQ`6hI6<$J(av z?L|7Q&Q~&LSCMVKoc96()-^w9@$%N-qV>vrBvqnfCxm%M>-x;>C{d%iRCIU*$_ZjR z3PZ7{lXC`+>>?|Nhw@|VbWEao|B(ziZ#L&0hL@f-KAf*LKHe^5gz`%j%#Gbp*XqTh zIN_5B*gS$CWJhU)PX-R3!p}f$1-Azr3B-A_gdT==fu+8qK;wHfpNU^$hGk}|A56?J z>vP@sVwG1r(%Do;_|0Po-BKdaep05mR*T7*)^Vzr_1v|r9M~{Q!)Jy$%WUj#BkB*z z>1={giqLZm9vn+jD!8W57>c(WSL^t8`pJCdOO1yo;gg!Lq!ZSBrLfE&GV?rlzH)Xv zn?LLp5Al08v`iii0C94RFyK-o9oXPmcla+Xe-u_(03U47x zL0;sv(JvSLQ9R}1WkFuXGGCzOWN76ZP z<$dC;Jh0b4n~<5ChY`vVQE|D+tS#Am17sMHTkCNW>9fZ}^G>wp`}l;P;zxp@MX2E4 z{5X8@M#P7{M|9SS2>-TE$Bpr}8~u!o-LE>qYJWSiQ0tpIW?{NTa}_1^%i&XL`_r1l z3wB1{+w)5ddW+moP46fDTOm9fVUV3g-ppb`F3ShleY{5F=neB_#~SpW2ED%N{+M94 zZ`xz#FrEi0mArn@)Vz#_Z?v1rFgD#FrXE{6#>N~dYp6Q;ME1wauzdz3dEYh{Yysfy z2TOT%avgJ%+cdax54oCs3o*Vvd@VehO9y#*?pTyK1%H!OHh zm%B{xEEib&u@1yPOSw6j(o(vMyi7~wWM=r;glbuFyeO~Ul$;!i#+MBowMCv~DR_>f zCq8}?dNCiD5IEwaK*z^@*v5||d@gae!%PJfGk4PWyruk#ndq8`nZkE6(?Tw8DdP5+ zxeWX)W?C9XJI%~CHfCnb%a>o==H=Vomhe)Uo5M@CHX1LLtaz!i#=NxBz)Q=jHzlXz z<(T885NTe19$w}plgPyLU>Cfcd@%}io_&!l8cm~B3|@@?G$)2< zEP_jcmlwezjBz`=^wNZ9%0VVL!}-VZSBQAV95*MVGOd@`H#n0|t6}isR@1&yayp*v z?sz6da5g`rC;9sUJS&Q4wBvI?o6xBxn}dmu>Le2QQhdUf>Bm@>XB%I_G6iIhNbBYL zo_8+4i|7v_F9~dLB`=u4ywCKNaivmlAs4q45kkf?+PYZQKh1LS)D#|01i76TxPN+h zKrFMAEQL~vk!@@-Vx*J91>U)@@v3o~e$RUno+^tSJUs#)lp>zClqq<+&A!6@fO=9xL0~17u>H;HqbJ~_*c7XgW&Z9+m0$hKjyr( z*qUoUBq2E5= z;nk)ayfG%3)`plmDLsY(WCqGxV;auFlhp^uW^2-qaoAZ;KUgUvtIvXF=LCgM8BcdG zyv%H*nZedGus2yuc>$mBLgv{)ZE>hmQmCyC#rEzb)Cmst!W8P64s}`zb)rL^otkWM*(mIpX{{dEt$9+{%uFlnVzbaR(_)2Pr8BDFyA>n-9P0 z1HKh*DC6wfS!m4Sl}P3IhoaCcGo99M6gOq@j$thY%Os{JMRDf46fnkIt<6e;l+Eg$ zg@%fmQ*+T~`)-H0S-+=5i7reM#lULYzx3D9{oz*l6>+G!_N=pjWs@FBoNFZyj$sGK zl@M;D4(cP$W;VfR8i`>;-W5M0olHJNwsj%0l%35g`_61uM>~k~)63>f+vbU_?c$F` z@ssGWK|h?>+RjFmy}Wm4+AL{G%6HV(ZSzOt`&1d$MsyOBc}^Ziu;0@bGgZ7G5=Awt zlqjarDN!`^98q*}XNzJj5=D!HC@NH16w^thL@|v{iQ+7DEQ+&<$D(L>L@`P<5k(uX zv}MtPA&V~9j>)3M*#TL!@<*h1R2Gdkvgq=Y2-DoLPscd1EsGW(S+w{`^f_{n8Z)+K z(c&VDF6~5!=BAw*cWqA=jSjMCbP_Ui@~|CQTo}osdh?VlrqL-`H1r%>{!XQ5+RoJ~BIMZ+VDQKH>s(Sjk1F4&IAqQ%((S+w#;q<2&n zjW)9A@{)3M*#TL!@<*h1R2Gdkvgq=Y2-947=pu_2A6c~cN%T2#uw7ZSxX7YQ zI}xI}X+MT68XaWO=p;COruk>Xy`ez=;F?n#b-vcXmOB5g-Xj} zI*F7lrqL-`oP~~MaW?T-77dRqMu~QlMGJ;3x?npdixy`GWYNkWk={{RG}_3b%TFRq zbLF9nELwbI(c&l3=g7f!Wzpgyi!SX%h~}pK7_w+|kVT`DkeQQ*?a1O_B#Rn2rDQRU zPRXL7=g6XqJ6jfC6v?8+K^7G%EsNc@sUM~pG2P{2iuiJi;FC}v=bqkoAzVK zqR~MXjZQ*lP9A20_f7~BYD`k(7JupjqZ2E^L>nInRM_1GSoHC>?_@#~ zv$~eVXAY+p(PijZv%Rry6<~cj*akU7``-!eN87Y#1jae~PaDr_K$MYrf?W3f1es|g zvk5ZSM&=V_p^YpiNT&T`n&kx9*GBdy$bmL;eu7-kMlMW{l{Ruwf*cg2!m~dxsu%Wq zIDS;yrCpxp!cJ}ch(JYOBEafpY1?G?RwcLhhrGS;dH$)QQQv3FvsO%I-z|> zoA#Xo<9fNPjlVkyd`}yBZ-Tt9jl4fWKF~%!m>_@MMn04vf73=joFISOM*c2A{=SX; zLxTKc8~LXM`R6wBFA4Imf|x7NoC@nk9czjsex~!>RyJ8uw6XH`)*w40aL_C2UAnDV zCLIewSwc(_P1JMy!lW6duLPY)7D+M%`7FEJOIEG zUi;n0okkSnainqQ<4z-r(N1IKta4PfHk%aOD#HfxstfJWu=%8D9eaqdNzkMQ-2B;N z^5?^kJMU49cHSQ|jqg0}G@=-fBaLrA?lhtpk0T8h5g(_#Mll{o8fdM@nMM?&oyPx} zEbYTG^5bjIQH*xpA5)gN1?6$35yf~MX>g~@<4hxp5vP%F?;~;Z&dc4LZ)cCJU2QIg zYpY{%yLNGQisp$sBdJ?<(|M*R5`J~0lS#UAf)A&<1dAgblbVm-dCq*ai-RTC&Y=49 z-8$o8U%UD6cHeVZM~|+)s!N%YDA_nl#E2bCC+efy^O}#HP88+wrE_PxHSSn>qA00! z5?$`gB_azZ_ANR5^Aaov7b_JoOSqd3@<~ z^!7VeFCE?ej`FRe$KSDZI=cKFO{b&R-?4N$x_wLM{|9o`p#gTR933iPNBPyE1$Hc* z4mGf&>2zp<9ZRP}6_8F^7ucE$xRi+`0dq8)UiLFdWoVuK7RGk1>N}7OBZx4PY+$tEuCJvpldok zbV0Xtdg+3$>GaSA-O}l$3oOq6g`D-!1>MTgOBZzIR}Wp#EuCJvpldokbV0Xtdg%gN z^F$YD&9k#x@2(3h4!XeBNjoET)dlHvc2pNw9CX2~_1MSM1s0D!$KvgvF6byzyIGaYC7U%y$&U)yAZsq8u z3%c^Fhc4)rPA^^1HJu*1pj$e)bIz4njw{&{x0*gZ%oz1sy zy1>Gt3oLw_XI*tc*K+jG1>MTgOBZxar-v@+mQF8S&^4VNx}aM+y>vm>bb9E5Zt3*W z1zpqWp$odD(@Pgvoc{|s>!Ay}m7|v~=*q7ix}aM+y>vm>bb9E5Zt3*W1-9o0U7$Tb zo!xqOU0`w01-4J9Gg4PwkWObub%Dh}7tGp^^q9K9;-L#H-VW-5jxx3TwVt}5YdSr2 zLAP{z>4L85^w0&}(&?oOEDmjSHs8AG0t=5Wu<&i3b=3u3%h5v@bSp7fg{rPE6nbWNv+F6fp{FI`}9{x9ULhc4(=j$XQ;E5CZ^ zf^O;b(gj`9>7fg{rPE6n*q%Fdf%e>WcI(}BfyF@=*gn0^NL_V7I-MQW1r`TgFl#^H zW9kBnhc2*qJE#jf%GB=Hdg_9%>GaSA-O}l$3%aJ$Ll<;QrP23UJK<8Hjd)%k`2%0EcwK;YJOy9Uh^WIv*$XrH?cjqKU*k*&waR@}zTJyE zpmX=(>tL4d&iXZ9ZnzIGAx8LW5#o96Z-M02;I}9Z?%0ol)r*>3n{NGx$nGs;YZ~vflG4<9y49uE#9%E)Abd@HRsA6-Fkrg{2!d1T9!r z-?i~}YRhfVvL}A@#sshXxLcUGSNLK=5uEG4$S5~`z6JmAA?miU#36OR_%ldv0qNO$ zRl{)eHI$TFlfz$gKN?qG4@A7um7MGE!z#mXZ8{@Aw?zm^$1IBG(Xxyd*$89h;?pSOOhm1F#M{%3Kg}3K&hf>D- zIPvw*=jwu2$;(~T)p$GbvhYo+gS?~eH$IrgX)D6G-?%o7(~=apFQsvsngsXlG)_ZQ za5txMGF8Ccp2odMxW;{;e7lg*<(tm&N}87LW7ECt?hdzQlwl!lB6Id~yGPGn*f4*0 zDKU&aJ-QEVf~Q^-F_9peF+BI}E-#}2F9tTpyvUqo6kQxgY^&Zo^1U;SbDn3+sy5#a z%?l*P#;9TE7MqMoBhD=r8H1KMx7cIMS?b(kjbn^+i!H{K<<4y^IlZZi=q@+|KYJPI zf-`}F8zZKe=2*W?zJB;#0*=Ry_oW?Ir5*2=W76W7rb(iFR367~3n7+zEke%m8x1=& zlfQ|C-BS}8TGU+ZJh1)+7AHzVcl0Mo*n8$@sb38suQ2 zLgF_o@gIxzLK%L1vawjz_kKzFffhgb5g|gmcK`ToFCk#P-#&hLDV-!LK=(-=M}1b* zul8*dLs$3n(3UPkbrBY%BGmoqNpo73_Mr(jFN02*mjEv3JC?sdX-t<3$*VAkSaL`D z;YYZ8CJ$|A%@6IC|A-6Mrnz95-qV6|TVFbuu3?WWO%FmOjI)dP<4XTx+UGhs5@L4Y zed793ik#g+ALYg_P>f*RK@G3wc^n_|7Qw6F^J46aQ9R)ll)SGtPzce-D zHRAWUV0?V%)8wSLi}aanB&EkwnUxXLu)Wg2E$mmI{&hE#nG=15A$RL04CGgH`P* zkwZ92VTRxEO~f6{HD5xF=>l9zq368-a^Xb=Eb>ZWPLbcNkh<3XEdb$5%`+xdh)IPP z8$P^@Ph;pnY|e1L{QgQYs)L2v6M4c+ewlC)Xf702`Z1M0hkC2%3vaP_IBg5>NpfYb zVuWu4zy3NNu#`cxMdpkv_x=lYaeE=WU3{~C`V<(zmCu!-vOU7lm$5eskJg)o*pxD< z3c>qj%B}II#9rQ_x3BZFUZ7lyLI&S}Y}xtraTDpGKAF#wG320h#cAt5W_9*2rLALc zR(Yz$M>{Y_MAg}R7ljD=DUM8;vsJakY8e3HoETvMh?m9)13C%3ENm0a7rb-G-t zOK1pjn|nzkYBN3-#_msYZB%ydi{U%>EpgY6r8N+x^FNU}Ydrq>PC#{57{V9Rh*O>Ho{DBErX3|01Yvgw4GTddW*qFjfG zFb_DvFP78|Mo+$`MEc7n3sZ3+44_o!#RvmHv|@w-AhyK_13;V~BMcB9+`VN>j1Q?^ zLhsmC^9<*ND{vcYH~?^!4GZW=*58Y&h@P<=!9$jm84Y|t4jbhDguasaPYSSuo}Wsf zs}txNLF!Mr`p)BaZtelT7F6oq+W}oU=btAm_ulS{s+{vq*X($9@9hr9`}B6x6SjAH z?Re?*9y{J=wws=?z0+&QOQ*N}c=Nmw_=!HCt$h~C;eN(9ZjK8-kCR)NWv{N-%lrU;MetYo$pl~H*Sfy13$SS4 zkZ&CAn{q_az9l#n4QUw){#WrNqj`_>zwS&6NqjpdlFUjnn+^UuDSF?H>1ACu)ZTR; zD|UD#Q@!%6nk;-jpUs8eQz9f6eji|nFT2TFwgSbZ<0IF(dZJLsh6iqpIfac9H%^z=%rlcT6Q_kKrX`w$6 zMZS^`eSaE#e-?dzuCH3~Eds0s|002YnLxi1w4Wc`%9mrO;j|PRZ*!VEyhAR!o{QqH z#{dwoj1dNi@4lUT<4q4_*4Z|};p#3k6Q$+_0A=27X}%mFI8=R()s=7O%C;A$oNZp{ zBIUEqbK9}vzGi!I`m(v^D_o=k;8Z)7^5^=fZt*T^$2;%w#Cv5sUMq>mi@As32yYW_ zG4L7A=hwGjW*S&JZY5y&q+TS}U{-eXCX3);08d^f*cO3yA>2TfG5$*nT zwBIUVoR0@O!abM{_xlclf9P;M*x~whr>leHLmjT)bhsYwaQ#_S+CuP`4x;yWxE_!z zF2Zj`C3aYy(#U@&q#E__1z4m0LjwIVf&L^2QTj7qHR?N~WXv7jB^Sj0qEI6C*CgU2 z3B+_^l)&EwLF^xVMeN>)n7PCI}D*A(f2N`PPdj^*v?)1t3RJ=}?^w4YZRn1?f zMiK0fz3uvfjP>zHYYb=vcz)ntP~agyo~>B#aN)mGG{Z-6jEzs4S2!b|$zT_zUN2B) zO!xRUKQ>CA)F>UqpzJ>cIvbmG8MCC7CL_yo**x+Aa}*?_{Jkm4-5hd#0PSbS*<+UNCe%ZS*2jbx$4= zoMcHNCK&hctH@9DudGop7t^u;DpY z$&~eLguS%J`=&yK${ly+8Z2h{Qwp&5E^+5V1~b;EULn9*=tT+iNBqf(~VdbT7VEfbuInCbFA6aaCS4Z)P!< zV=rS)g)qp}|GRkVKoobkI8B@OPA56Cz2qzoHv_qRMsXTp#(PQD9<^`hc)QUr^@Hz{ z>j@sV{svzjzqM~@GjYNHs#}D%^0kDoyR$=2P9%n}E=&n|!bxVbh0}cUu9Dv^h>6B< zdlahc`tyy0^E}t(2Jnruo{+!=H<-^iPFWS>Y=k#I#}Mz^T#Nlnvc)~~Jke5~Pr^;D ztmPahe8>2rV|`MVji(o zr<#W==b1$3w(XDy(#o1THV)f#oF80IZSD025@{~Pw{LO(kWG~wSzzW)%cWYZb5oQ| z;@K1>@6k}T!KM66tc-BB+PRH|Ot+dj!4rx7mHa?$VLYu;2=9g1`i~Z?>v!V~L0jl8 z89BFnTCXq{^g2k|Jg4PtK|bKIv~qp9o9Jl#0Iq@KnX&R^FM`81o4244@aRN4&>ad? z2zZ>Kd>NDIE>J$WmTow_Mn9To%;#)c5orluEvG-F4ruj+KbEoC$^|*M3LK}LIT)fj zTM)LFsx0NG{VjIiyiEYwBp%SKC$F(=P@er1P+@z81tT@ujvD7Y{O&gC8I(Xrp4llMdyUx@9++ zx9RD6#&W21c8R=6V0c_CM~`OD^hWCsE4kht0x9W|PmoBN-dB^r`lriMZ3?@_;@JJPJdoaJ136~&OI9K4Dc+kCB^+V*! zal0cI%7aG7%MWmGSLwa*qmOORt77wd%xN%gR(rnbdGTU?Yhc`dNS?~Eb`q8e~!Bgc+c)M z=td6}pXyKjH^r?FMQA^Ggp?d>pB&+=7Ro-ZQ;C>&dlden3fYNm7K|J0P3GX!2(dlR zTu5rB$UL)q>TcZC%dy_#Q@ovAz4+cmuZrs>>#>u-n~;pubD1knV{=KB_bprrc#=1t zF2WNtgT?A#skW+8tdw3i2CvW5kJ@RwWEGwh9poj_N)hGw^V{!%Em2YT$qcf9(O288 zQm*v1qx0&7MNe^{(gzJ*1FV#xar5o(fd+ZIT#5Bp2Wsn!F7=H27%Zq0!@r7s2WinEVPJ8vzdATj+qKeP8E9wAo>CDtw1Nb_GC-aNDg%{%DE-u) z0oGHsywvL&ef*x_y=1n;A1nXfLHy;dEx0!X(Rto_{`$e|pVs4E%6D?R?IIK0MP{SM z$->8@THPHE?h!KlgMNovlA-CzRP*%nhHKo6xVr5xJRIX+RT|D;RkCLlXO?y}ndr@+ z32(tZ-lWT`@16eQwtS#>y5w&tmB0Fae%0m7#G1FO!#|4CyQQ+$7(V22;S;^x z;yj&nvda@aUOa`~@%^ShwLyEYtg`&6b-?Gr-fX~4h~)`X&w3nFYxr?3(AgpxTi;j% z|C@h9SE?t^wiHNhVSXi-j?nzOLdeG?k@XY6meRn2d`9yh_ztk#(o)hTp50M`rA)y@ z$|Ss{43=i{|0JaC>|(vheB(fB=Eb()nvp5NeZQX%egiwl$20Yav+DW(CKO}osNV)O znex4Z`67drxa$c1E@_GSk?_wrq8=vdjFzTqDe{SXd3!$+a^CK{drMUpvbA=`?L)s> zu5pE4zTId-^-lTWEp*#t``+0cmmAK zdy!Ve%K5Wxk+)DkzF>=~;m%MBzfKN$mU$(r{2PF*LusM4=z#fIxkhd}G<6)Is$urimpMD?RB!o3u^qLG z_mVexeX4uc#xmZ8zRg87tvsoW4Ag3vZ^}nGzwP5>&$bh-q}Htyyg(?! zhaXcOxr$hMyun#|?L0;l$MNjcV021m_wC|sd}f^AqIbqQz4b-h_h`N#Q?EDH&?b^D zNC!VIqpbeaMwmRcCqMqwUi=0tB(sJ+?}>8DLU1~V?pON!Tkz!x@I{aMZi*v2-e?TN z2yKpsKedlY(QDVnQjvoBq&1>P(>v(|HDf`(&WgSnADMbJm3?h@y{Z^xe{TqH+m|2X zxj#SVxlo2Tp1Tz06e!t8_3Y=w_CU`28urVclHo^@R_%Amw8V%Cvw+5?z$e$0ydx%s zW?haRRZF3k6NXVpmQQ_Ca|TNNY)5H{*+q2SPT*T&w_h}_hwOh;ix+n5!p zsNR(vvcJK`O)!Do^TxcP^YLexIw=6%l)Q>t7a z%v=43pP}Sb(Czn;0~aO4#Da7g((6xO$%y>?z9D)}#SXEx%7f+F+C}AnjC=y{--=s{aMmS(nB&2VC~;(h^OF^8nP)P)r*X5NVHBG2Y+3@Anx=J*5s}#|@2Ry|I;z^X6Ol z_|x8G{gZ&wL3%6s`y+pG{RuB2?uW&JyMy!9#5rc!e0a^}Mi!lFgHvI$A_dv+ayS#Y7vUb+FguC`mDj{pm&CHmvnU`s-Np}S!|bR_k#nYLaip>D z;qqGIPaQ-`SDY5%mo`o{d~iOTZ_?kDZSXRlqJXa0pD2C)YAZs1YfB};C2W36OCNvg zK>HQ#0;So^H~a*groCo7CZ)Yi>aR0&2iWB;1}2Eq#9=I*h?PJ0n_Dp~Tc4yJ{a_yK@tfB$rxL6e7;LcLb^L~Xc@Wj00IW4v z`Go&qDN#!uapvY{jI-OZ=E;!|^wVCM4zFz5E7#$bPkR+Qyoz#R z27Zdtnqh7L&!DUL;R!H8zH(p_upqsPa#7}8Rp!{BrhxmY?7Jwm>WLXoZ*R%&*}QP+ z*Le#(umOMzH?i1njuTY#VY~9p2m6bf^K>Zj%t-Dgl9XPKOc=-&d#bjHNtPoJe! zZ8^dk?4LC9a;{KFc9@q4h|PM930F?g`|=l3k(2pZHzErX@FK@AubbOaA-kp z>eI2m0U$mTBMfk38Le}iVmijAIf8vit-d6IGbjLmOB;N z8LZ<^T7ejzQV%=TJ^TVE*lZA9OBQE-h#A>%wnWO$2_8O)Y;+Q4D2 zoi;4=cM55i<>JVezK!bLOQQpmxzcEP!!Zjo!P6*I@OKCUKUFZzy6l%MMn0r*mobS7 z?O+j3n~#&=q}jKTQMp&zX)}fiN0LUjY3s+5xj=y&oLMMxQzNb6~1zMuwqmlSs4PsVIqB~c#-D-T|PVvkW+Bsv%%N1 zrT$t8q>be7j`VWg%_{rBK?<_DII-`xs}WE~q);1SyS0eOfQZQCSoeWWwEzB&NP|Z^ z@QV}q;2BV25A-wnz=1vo8B2=cvl65rtHW&LK9oY^*ZhQ^qMQp^*nJY7;o(ZRSR1Sq z!zT&UR8{zLd=~nktQ7Z>x(0H^xD*HAJy8gbAbc$syaaODS)6D4fGQw3il6BLCsGB= z$ZdY0==DB}7d{ypmBfXXM1SHZWVvBOVYN-$+(%|@FY}e{5`l=^2gDq4!puJ zX7Uc;Zva^T)TZCZcR#g5bv@;L9*IxBG5Vy~V}7T{(TT@E zr$;OCSkUS5@z`UhPW-JgenkiV0*MF9{+ZTi0ocLtIl1ZA;;+!-2M&!cjG_fw$Tl6a zVFHz5ypinVI{_!}E1#%OE;vb^OSgT`QM@4fPJLf)EgBg>QrE`_13>&BMi?MoX1tZ~ zlKR4K-wN3Y4qpy4aqnE25UY}F^0l*v=r_dC4Vcx3zts;?opKfFRPStkvyJqEQSX*91^qO8J4iT*NgfLt#hpUPzY1CqZiUV1BQk!{C|0Z9XH%iQ|?x zpCWYQ6cVonM;d%C@NfiQ3_KFSR{}4I;12*Vjo@p5ml-@Wc!9`9)GK+6+@n;0Q!0f+ zSf8>v5zT+Zf7%namcQB|{ZY2P2Pl8VGmA?3( zT^vmi>*9lGI^FUgMJz?T6(Ifsh)-O}gd2+z_rWe_zLJ|$@Yr;Uw%W{Jl%1*Go%n5s zCpswWZT6O*=d#I}19A-2EDum|}cre%4r$Vy*GX8$T-;=4U^mw8G?tE|;^H&DeKiRrJSMYJS=`-IrhYUqlj~`r>_{aM{Kd~nEW~&dr6Z7+pi<2m|Bl3+eBrY1Jf<&@$ zBAFS>H?B{6e`t<(n*K-dt&ip#cc!BV*+J2nVh=f?)KS|z5zdS|fE#rUk>9*=iSZX9 z(2@W%R8UY3mzg}*ca7xwJXjuqVmaGMEcB2I4G%T8W>2Meu=MMjTm0*GUy1ADA+9-EP7}|Yfv=(^O!nCVyRwElI6~ZaJtVsc%5A32@gUdAj z0)tYmtkl`cI2TH8Xl3D6vRX398=HPo$7Y{Gcp*e5n3Z`NVd{%Bw1RUeeARm2@I;Wc z*+^POo^Dvhl|I~*b5fq#^EXXjpuQfd)qK7FUBn-&bKZ6QJ&8ZpCovxn?88&;KbRxS zoU`>t`IB7h-|;tvbRemFUZkmHEdEtr4FL@R@kop?0L0&7gaM~4nCDOZ8B}n-)%jlp zO7H7_jg0LbP-Ap7jj$|C6&?9l*qulTk#rMmfVAT4Yc9IuN0i*77xO(-`ASU&V-=lFLtlwG z;jJ6UR}HW!T`rOc9)cRzLvZc`pg!!ruBUFFuxFnln@6Jn`lbWCihMDV89WSLy%XER zOX0=FDl4bD5O{(9x`maAZcB$f6m`hjO z(_%k~6tI$Sz8bi{=tzXG!BJ#m?4^8byQYJP$EiS-EXJxrP1i9@evjBV+uJO+N-nlm zvlHy%OLmFQERFB$8uZS8qgPjdu02urQ#Sqco3DjptB;oCZ`+sOR=+^Ej8Y9&_Ny0Z zRfHQ37MUwps?XxngAsj4%fUi@hl7570`@qSgR;Pt-UaNIDmqW!Fd)2OMm1n*1*j6m z{I@WRgS=eJf~-USNk~7~30L!Eep-u^3D%?JZGCZ26*xK+{L=;f2cPC;D$bySZo7pY zU9I_m>VSsyRR?GQh{Z9&01(v}VE~BX7-0a2kr-hBh$S(?01!)KgaIIy#RvmHh`p8% z13)Z~5e9(RDMlCoVnvKF0K{mFFaX5L7-0a2onwRnAXdc)13>H&BMbnsYm6`e#OfGf z0En>|VE~BTVuS%8f*4@{h}~m^0U#tvTEuc9HKjVmM57*6N8@p513=VbgaIJxF~R`W zF2%+0zZBo~wL2kUU$(vi%c#s$@h%|r@9V)8AcEaoP};ZeVZnP?6P4!c6x5$mBM4s) zJW$(}DUmk-X-xS>zM0^A8m$ko4Ip?E?(oh05aum>CVt}fe6e*p8Up6Sw}NLPV*!J~ zw*ks%Jd%`g{(v;?p2k7JDly3BR$i7ey}@)S_71Uww(d?r_9l0w@cm{t3y}Ul9hjv z#rj?t9)zo|TdTV%4hL+WK_4^Z&?`B+?VXT@n+GzL)mlIbt{=~M=aL7;VCW^A-f;E& zcIu&dB|m}cs*kFgXH|vC;Hqj~yQ=1;tID4e?fOdhUA#Cvi1fysD?F2&F(6ThsHRv+ zmTbDYmgU~^jjm3mpWaKpm}4Sezo(#)rhOU(L|un#_%gAcDO_<{a0swQPOAF6mS^*L z1P6ijgHe7*HXIw(+mrk$^?mv99TKy>ohy7N4kmy}WF7mA6d-&Ts4-DFnD`RU&7u}X zez(GtbTxP~*zu!W2IGy`+KbDc!JPLe^3S}O&CfiYfT{VJ=6fK~*L*L({n1=aapSuP z&qA)|YBc5eKE8p9JD4q0PY4) zUk2^Wh^Jf}T^lmEDKi19MQEF-)qb{|$6T++L?m}*W$JtDUHR~rur3n0Wf*(vww&Z; zoaAv9*(6V4KL}@?kW4Q~o$V=c$tm&*<7%WAT)w(jv>(=z&Z9`_Hk-}ort)mSB>R^^I&Cv zF}O!@kf0V$&U42hI5wui2s>o@4)Ip~j&f+;?ij|&{IO~IdjxNuu2e8v`IzmV4_^ql zwJ+Zot1^-EA{_nMfB{I^QX5!2m|e`JZ67DMgZWZ1_%1{S7gPrq)*6)sm4#R845Lxj zG*~`7mG~^HpH8U4R_AnkJT#frw)zLl)0wg9aauw-!2Z@gf!yK^xY!|(1ILo17Vh($ zfGTK)h6B(|%yyvuQRuh-+>m?9Uc zc^Y4Hpc&cK%1LIV`6)8nR~T+y&9~oQGCbV82510HrOFJi#UYzL{Iq}^ybC`A#LQxP z&Lwr5+H{!{Z_%y?+Z-PCFU;8zZ@lr9c7D{ek)ML{Q?UHdHb1LS6wu}yU&PfF*wg&; zy{CI?E^_^k?;YVC^12v4(A)YB2df<&PgwOsv}87J1v^tgwRzQGPrleYl!(=tdE?G5 z%7>pLG1i<+dveVbuCd6ETPNkmoLil~Yc19bM zFZ`~Me1+8a+xn6(z4iVmwfI!^O@jl?oc2dEZ{xCMt5WrO<9Ta9eT7tOp$A<|0fGbg z8Avr9RZJYMV6CiR&4ca|(VoxDV=mZB5f9|2r3@2ZLb6whY@j7F#Y(PJ2=-POdg7W| zSY=>hL1q3-KCeB7{{s_r)Gjz2-)$4H!giV-M}+1V@Vh`L!v{}NeC<(s6}H0!H%#it zIwuTEg9{cdaLE2e3*CJPm4&tWAg_bM@D>X=SXorDGtMZ(;*D3`89fyOXx{#e-P&+vur2+CK58(Pdn~+?YL5?^qXz% zBjuaOjFW||-FM8?XT@iKHI~}3c-5a04FgrxTn=tG^XdF!(e-REhV}r{q?jv%d2E5V zz+>$$OL^OJf=xwBOUNdpoSydLMml2cJmw|7LGhygOSdl68-GiBE1g;>gx@5$NtozS`V}vqLKUm1#j}NugSmfvA@=PI(Z59Bj^4U z+o!TRR>6*{?C8vfKE~w&{c>%v+FWScWc?{tNwY2eptRZhlx-d1;3EY;#lh@($hO!$ zp)joJXIsZOn5E-vi`8V|j}!cK!ODFJ>ds#HB8}mnHV#qReT73Xzr7rPZ^Gjo{x)8r z=Casjtyv&qi&b5${VC<7`8~?lI$nq=Lr*Cm5kr)XEiJKy&@PO8gMF!A7knmPR7?9l zM1rFvxa(rU-Ab6|_24fM%J9L_3cb&KdFirH*7w?-bVr82Fpann<@K(c@>t!eUIWb0W)_ja;cA zXx?@|5>h)Dor%TVNqD9u31?Hdgquy_l54JtXi28?^K&i9bAEolC0SO%)xIx-)^X6v zwrws}N~xButP#mv>hql;wzYs6&HWdjBp(B%(aDfoDCvOR0;G&+?PRP5XuL9N>4&Pb zQf_AP1T3hImso*3oiJDc`fMGJtS*+7GZv+q3vN^tyU3qesqja*#*c7@gekR5Amfku z&z$XrKVEsZel^$+JR2etqp&Zn^7@%hlLi|o)K?dr6}c!=wC>mXUDxBXwuaGWmJ>@O z8v3d4ncWA;X4YAZXOMO#m3F3E+J(LDguMl8`O&P{qdT9z{yp*>>Zrczy$Y+wQ zYqCNa-Zj}h;t(e)gf&^Aw&};3>|oaE9yYOBi{-$~lPlcN`2VnX9q>_A+51k(BpHf? zk^o9?LlU~8Ywx{R>`Es<1}0zu1Hrl$6nih&yK7%NtLWNAkP=D=NeCT6FDm}Ob8eYC zZz?3PyT3p4doy$1_wKvz-0z-ud!bkX#rzuaY94KJIof0in4_{u#)NmF7RtXFG9SoB zE=*C8PeolH=RNR>-k@%;qvYntxKw|TjB%kG&8nOwNgID!^xG=STV$gbA>jRpCloD* zz;*sL;>9OW`bck#AK%9Kw#1iSs=P*_ymQ1Te_rd*LHwT`I*$JvhA!ZLUuZb} z!+7Z#A>4urN>+H06u+mNCp*v845RU=*`|JmdKk5QQ!SGo+7MrQVBR6vKVt;9g8B3E zS)PG#`}5ke{42{?(TZkBv`U|8N3?T^NV#Mk}k`#V?hL@3YXlrQ9lC(2&~KyI63E85?hVtu1^uMMUKsew^;l{LK*2_!#}|H3r1LG|Qjzq5F65uW zhJt17G5ydVSyr;jK)Q$&S#S!MjA+9XTL0cFitt=?D#u+b#9ek#0Q2!s2WpJ^9yQtx z8WETc=1_Q%O;<;t>8h-=)lv|86r8GxAEl@1db1H)sKr_iM70U*FFGA9I?FZzw-`KB z)@Ax40i@2_z`4XUopE0)pAlauZHp_Iug!2pa|F`@XOUCH4$|(^Au0_$!NZ_oJ#;0x z(*tJ%PfrWBq2{)L3n$e6(-volO17cF_@}YS+5WU{SL(_SRfW18P4RvvZc%7pGSJ{0 z{9q1LBP3%v{fhYy&!zu11A8|>agIcHpmVJI^gBq;#)t;Q{i$$<&M!2lP@_dY+69|;aBO`DJD!*lDz}-mX z^^i>^WnJt@Jnme58&>V`VAYOvtlA-OBYkCiP6is`$@HBoc{Ej z#x6|KY>$}CPxECL^Z}XlMEIDFX)YAslty?3>Tv>XJgUu|+PjXTd+|!tesZ0gx-mWB@#RSx0b#0bt_;qC=OC1H zD}+A-C_bA{{x_Zm-Y3ihc~55MOep35;C$v1J^I|_SI?K-Go5?Q@-lSmVEw=XxJjRI z5X_FNs+WU>qJ_Xp2x2^N4swoq$i%-y_Ju;i_=9nU`>$BQG_n4;32hPFha<~al(uGb z8g~V*<@Bf@dJqO8hn41fWgA=bP~bfM=3@mm+IypS!uk7p00IL4bL?|U3B^4o-_n8!&Q4cv^!xji|7L3oCr z%8lIcQ8un~TK+kqCg*GAsNEo2wi-Q)$}im|&s58ixv_P<(CF}8CNZN>?QDs0IPL0( zX5qTkzT~C$r3~F~OFgxSNt8U0x{I75aR8-r0v1#6P;v1ZE#EKN5l&%6`>z;8HV|N* z`&=u795@$ImR}%GxS=0q5^7K?yRcrU(*;Ha3YZUJ!rO{~-2pwz4zg}S%O>B{u7Q0M zg$pXD<(O@ukTfvUs+WOO>G4n19@k!AE->qhQl!YZQp#k%$3yqQ6io&4x{cU`fcajEJ0C2JfSO9Q}23P=ass>m9aGC~K0C2hnSU@T+%TH*A5Ezb2YbbTb zTZn8xE-N*O&aiU~#-ekcNomC}ayK5WP2T)G53Q!wTCJug*K)(8c3koWA3X5GguRyeup<)h&nD!0Xm1bRTRYFd3>B zwWKh!d7$2O6ST{3F8@7}8>(B%p{0IyOZ_;$;C{F(E3;^S`~{m>ax<1AZspccnhEi92u$bjS=YLlAXFC$9)i3v%%=(v@0Cifsz@ zRzbudZsSV%G*rs#qf%a9R?78?RkU!|t?BrkoQromn1k?SW7=uQblxQ>3-i*mGQwJ+ z4fp{lOasLGQ9C}}J)6ht$#Ua1as1&Z@#CYDU9y{#aE`tu*x^-ZQ3|evR`v2)qz6|) zK-rc%o4vey1kVvLb8D@hWB2$gach9=PL9iRqY0r?uW%XlbUb4Oo>9~o4Qln$y~XsX zbaye`hB?IY$+zQn>X`}N3js@M??l%KjAu3U2-1r2Xbq${1t}>nE>AXlEBqZvx(AAJ zk8Gki*&UdOll->LCy(KYHrYjM-~|?gC|b+^MeFcaFV9z0L;qO28m`mb!SVPjS`Vn` z4AAV)YbCEpukFjH(`DMd<375B)f)?l8=Iy8;&i~xtrLaxPK?Ehc4|Q1wQ$$G4-)3< zAiy21RY~=PAlyZ-RmpFE@KM;CAN$v2_iBtm9O}LI@q3?_j_MV05?QN6Qi}JR*5x?d z)DyfsUVjwD!A@{V)2POv3n7R&@}WD}6TA~=fyq!mm_d*=RyXL@Zg^2ycH@<9_`RbZ zAAaxX1*G@R%XWn zG1#x-XVwYkz?|dZm(MHTq%_`Kt8sepF+4lJ5xQ80BD0~@eegQw$?8E9gb__>qT3YfGah?0)VSDzyg4)HNZm4qC2QkOzB7} zd3Ja%*S8c!{O+QgQH-W{9I3&NK*M8&cqUi`(gV}s5b$7}b}Prg z9k)FoN2j07MaRRrk(1`H{Tp}4p=O+Bc*U#8Z$tFl;0E%gUT83ktmsoj<~UDwa3e6@ z*^aU*zehSkV?E>awh}H!eS8g{xkKP`dS$-H8J3EghQB5#S-ppUl-X!4x^Ezcp29;~ zqRj{EPWrR_=nU9|2R)nR&%tXu5>!HL4lxK(%_s7=!1-7@{{(m8dH^Z5FSG?7spc^( zEDMh|vq$x~9vW)i&s;^Oh^t$0mEXN*v+A=GY*I&4p^%CUprAI$%Wm92j-x_zpEVH< z=pZ=gwgfCUu!lz>xAoGRMl!dxw}LCXfZE#Cn+{!(Xlz9>nU?fbPiu%sZ782ci+T)W zN1QbR=EqT_HjH>24fZ|;jV{!3osPJpHXG#VGJ+}X!1pqI%kaheK(YZ|;neQ1315u) zmKmzT$KssIe2-fG;FLe82~gh>@9pUW^OVngh$}^u{_{HfvTZTH3+##-8D(RyoNk2) zj)?7iT7n;ie2ICuTz~;C8C))?r>1V8&zfwBTZ-e~tQN$WZVwDm6H4g$)U277#0$J{ zGEX~P9DRc>SEPw42qQ9iy*uzv{L9inv(SMsr%)H7ztkNAheVT=yxfHjA zx#wH(YH_B9Jls|X{y`%VM6>SHpsQZvcG{c?#rRzLbQ?xnbCGzLDW>Zz^A`+hL zQ2OOqsVobFTgYay8pRHZn&0u`o<`%aLRtK@boDfM;2GS8sp$N#f_66Epu9A$$pv?k9++zhSHZue{36L1 zHvu(1rkjtE|MKQ0X}%dZpg_(u=uqkkJOk~JXJ9efA)9{p>h=qig`lw@@7un@*+rTf-j0$f3 zbs>WVvQ1eRKw2F+ugM+w8MpX?KKN}GPzi4^ADBlTBB|ZRP$Z-kVF5sq z23PQv7cc?jD&7v#t zq6NHk&Iw3hC;V3;7Mdat#$Ts(U;)7O8ejpyI1R7>V7vxc0C0l_SO8G00TuvE&;Sdl z1#OpPjlY&I(D;yMD3D>zZNyPIl3w2E8y!0scQp|%xKpV7QeyO6r1Pw4nz>27u~(=v_~A!` z^gttu^R}K)D0~|&4}jY;f*8qwq1st+;R!v9>uUJ`n&pq{nOHfXF|O(9{>?M)!Yhk{ zc_!bO8Ek@!71+OzQ139>i0l zX^?{^IGQXDQO*>Pbk;DdAvtRpcGi$qRp7bfWrwNg2{y-5o9vgDg`ub|NJO@qQ%q(6 zpe2BA)hNsFw=>)C(&PDQIG9;;Z7XCNZ;Xafx!4F~`jp_i0bkV7xXqo);8ez6hI4AK zPs0g~V4)A;CHSJhTa@B^7-ag;7^xHRe?8kFnE^VyIO<#5Q7_jh;poGLMNm1{6PgFM zq&=a-8=c*JHTO+vOzcOu^lUl77t@j8v%0cBZkI4W-^=4h$MN&)!SrYudk_9)y6>l1 zV+Y_48a_Q1l%)q-;jD9RDElfMS$MpB09xOu)1A5v(UPxbEYVH*Sa6p9gTEr>!W<)# z(WrF|{y;S45vZAp@zBAOeST4EJOC}wZSYq=@1TreTL@V2;7kqo40mCiYip;LMir7cAJx?4-c8AuTz~{s}QodV=Rsh8; z0Jv2HEO2|)HwYws)NJO#G;{emn$6reBF*mrGWG1{A>`(%Xg3`#H#`G6hMP{7n_+SM z>1??vAU8a_I#Qo5vx@?7A804#laSN}+CV0b?$(sB0N@@C zumE6+23P=auLf8EaGwTP0C2wsSZG-^8BZLiv*$z6GKGe4blGIVKFAhn|L8ODKLNH^ z)D*4YG_N`v3I-a&#Tc|CxQgi(tis-m+Q_>iF#ZhorPI#z`fyW}3kYpIUWp=4=qSS{ z`&;2Rm4T@367MAJ8?8~OztqE>5evVdJs7QLEhrd`@c5>|2KenP>rXdBKRgWj4dHw8D4Zx_ z;{+op2I4Q!nxasOZHb^fJ|`E!&p>j-D>)v`MLIA&FeKNw+LdtiI6NG#^D!lb!bN?V z7(Y(y-(b#JQ8ofYy&M$K^t56MVme0dQW((bL29QrEvARN0|!7|H5iaGf*gF0!8ae@ zymK*LOGZqf6P)oKc}Il7&ISyG!LA0xTJHMxfCkgitCB-hpN%LiCOXoYh5WwqpXbSC z7xd~PPu0Z5hF%}~t#qtU{EFV$PIXB&+6oyNAR)46@b)7&B zlX=EM=ukp=M(EKls1)u8i}HlF!jU^bMiT4+4_SdA6!!D9PQS0{Z8)QWG0IUdTtd@l zZ~WCuZ|DuR>Mus61wVkJ^iU6$``{8riBoW7FoJ|oM~1agTYfPaIk z%zy!jBM+~IGl@Am1}+j1!=-h!_%U@w2SMNZ8L|oBXjJ=oX$@pgTvJ16Pg9{qQ$xC3 za~UN%7%nzeKsSuj!wp`HM5cQ@EpQogdNQb>=*zv)U33V%D1HG6yB@m|=uU><4fG`D zk?6mu6MYr{yrcmZFwdXv4*m`PAS{#~e+u1ig6>$Suv2)0664Ap=mxKkngmy&CqWV~ z@8S;h0EjdM!@0TBkd{%!|~)E zGsAmhNaZoK6kc*7t2eWdapD$ly)Dy83K!M$Z$`L^4u@-cK|1LT`OrVu!QvsiR|}-( z{8-X8cm#gr&Re}pWkAt=>Qo6#aVwed!PLF6b{Ua2)=~ zbl=dSW&yyP8epNfJ8&Xg2Fda$P;`QQN$5;pB1;WlqBn#5eM@`80^2--CRTt;+M|b5 zw+x>GKIjVY|vfp{3Ls&FR$<*EwJn#uJOUWJG5;Ay1H9q!=i z~j2VN|$ZzZ3c0wOx9+ zo~Oed%U{fiBY(|O3{8vaG}347Z}*1xaliOfS=43gYs7UG!EfEv47h{^6*KWB1#SR@TN!GiJf%5k`& zT^&!+CpTJANrbOSW_A<*Azy-+rVWZ(qENxPZZWBX`IDJh{>O?*7wnnr>iCn*@tMk?1sh)d4B^X$kMEIk{;}XN1!)QI%zB4&x}lLH;7Gp z_SYpPO#4|24zc+xQ-w}2oT1~hA9aLgVPCnU`q1JET_ajALPNqTQb#5&W>lZ6z?cSr z0ViaJXiYcXu;DfvDQ-xKkzkFWk<+^d+6Z$9FqEB>jxN$v?x1BQ7_W}X|R9%oYo zAF2`n`F`ilk$S6kQ?;w0#CG~9Eh<8;=?kDKLv3uj5*VjN=aFw1aMosE;Cv-|n*}Z) z@$QIcAPu<)DAJIN=`Sa6DY?Nb{{c*e>zphA_)r5Z0Qjc{Sg>rfAZ(k%jcrm{o8~3m z2HR{}ujl~8QT+^0F*(R^7t<~7@$Zp&>VY%e&~iqpZpQeqClc|ccWZzuR4X0LsNYaD z=gw5gi92v1?#s@W!wtz(N>;7{7MZNPPXV}9H*3%tHEYnnUOI(c$h@Nfy8j)zM?^`G zUs2ZE!^8ckYlR-(8~fCl(4bMA0)nwwq@_F1kF@KBHsebmbn~K%42cmvN?uZlkt$mp zkLTV_?=yUfvEwkh*}@N!K55|C-v_ox?d^vw{v0|4a3>My%^aLy z%^bYLcY+hop?82C$_X)u!aJTk=tOhCWunX2C&2QtAP$`b3gC7A;h|4VLW90tb%|70 z-q0;UOxL4c-dpjCOE|ljaL!LM)W%RZj3Q5m!HL>Rh;|YTYl0b2E>i#w#z0ATfCORJoI@`Q;Fo(L5$XRR=w2m?xJJ`w$4(y$47G5X2zf-@{RU<09B zd#7X0EnP0dEE}_dqI*0+*}YNPX38WlgfS&<8D<*A;2w{DY_HtdnbSXYjrdT_6|$Wz zLyQ(UT7*VqsUmi zfe@jv)X(u)es5U-@P!6gfay}{lJ4hHrYS^TqwfEgcFqDgp*~P**T&p+q)!jUBBmHFuZkA`a(x1u}5whu8RTcnztpOGQe4_yt0Q_46ECBdc11tdeP6I3e z_+A4nNLx7&e4rT+eB1_=kV(1SH&74)_u#bnOGxg(-4OjUGvXIjFUKs?uXZ9swf9oG zO6}y*KXn%^3ufQt9#7sgSAmo8zF@UXMgo{i{c)E5$rK=8ax>X$G6~;C-4Ma z!QgNv+jbxk&**iaw&--+Lxnf)^Y;}0K%67xqW|C-bnR4S;YDZSEbtJ#rWf`Xaz`00 z3jk(lfCZ#YUhx+4n0pY0rdS_6oP38@;L$tbVf-wbT`_R?kVy!&JMbW$5j+b|!@%?N z(ZhH)M2zAMQmE8^+B^n~-sA=oe#V0{<(u3k1m1MNCUro{o6yw@OTWwP{HGEN(q0( zC0+2~GFN}ZB*x0Yeob!Ktzl%^N?ASKhw_HZuc3=h&M zE6yIME^siOaWBGF)E3z(?WssEv5O+zi=m8ogiqc~`8ak?Y)82+S9j3;jz$=$hsw>f zq)Nz{p*;^2HJTTdp0l)`EI{$!G{AyZoYD-hpz7^?(946Q{RWKUizryRZ@|bsZvYiP zzd!UMOhUFK(T3{dF%8e6MlhG26wm^K|X0lxGcw2{_@<#j1c7T)`Skavh0L}fkI z^tP}EFTjJq2Z&7TS<1022NgjBi)C4Fp?>cBiRbo;X9^Q|CNHruCEbHWn^gLH+&5rsvb0s3MY0KMH++yd?5H>-mr^00 zyh|BrC!&vP8dN9G<8=yN!MzXR-q7KQVAH#gBuLtV-1{LLi(q(sa>AMX<7CSUbKotC z{Q`=EoPKy+kc9oLF3Vb0A6d()7wV7as4*8jTUb9y&#k3g0y_ax60E9SU)$BLa9QC> zanw_iJN<@GesmYY^Dx5W$?r-<-|N5xT7`98hfY1gz9A?Ks6~?;x@5W` zV1ef|_bEd55AsX_7vkeslVyr}IN{(~B@-!(U8Vp?u#(zXRy2XgQ%0riR3> zg#Y2EE)zcrzcGvw_su}lznh0g22Mc2FosT1?nnNF(Zs$`6;$U=E7bhSd2kATa=RCO zi3pXxYI$?_1b9UN2F5TG?DnyK!^S`V{4-`4ek)ry`0lxV3+LqyE{#6A4xaBg zqTK-LF>GGHo9FyEcctSIv&(7@8aX#_=py^b9l9uYXj#{xivzFj%d%z0z=8$&cl{;8dia$V?m`ka0-q!o8im&Sl(thj%96e6jZ(c-E!?#{U2LI{z$K2BuV}6HfkY!Ydw5 z7_m|wtwyYDHGD7O^M?0^v~_8+mT<%rcdTJQnkhzUzJ zZrKs-|50OR!78-=PXD_MS>WI&cl6?xBUZH-xu*HZwK*f#$)inh`ETXxqdf<5HkbTx8u+< zhyR^ImGHcA;Rg7;UvP8RajRCX-)20oUbFd^`4J{`_}DpkFQBT!|G6qi3(^;798gFrZZ>|DHhMA6{+Ha~%ZoQf1b7(yFM$8$vHV{W(|=-S)RwcRtoY;4KaKyTRU2D| z*5J{#_rGy)Q`>9StXR9nc#ik|h+9`S3U1y-|6}meF|@Qv;kx&JTw^?kQ2g48hNHG1 zQV=yU^e6tK_=z9C<6f$^J^$#JwOOM!N#$W$KSlD7_=WvM$8XmGWS^aeM%e$>ZQD;M zDc!dHcjG?{vg5U@p*fgAt}h~G;dsBT;cpEp2r zc%CzIt;7E#`29js;IMzB&v>c33|VNWKSpgSJov#fP9`RW&y zFMd|hZRA3o#Uq!e135bmfJn;jeq|nVM~4B(TQ+xl1-2TsQ|oa2$3K3(vxf&&OhTOPL5A z&RgI^uY$QV7p^s)OJUK{4Fyx?_8l=3aS`u8HWBX<<1@Pto^i=7vwvNHHp|!_#KpGl z+jsjwQ7yK=dkiHbL^*4}a&)FoLuWj`u97|UCBNwz<#^UMY%)jBrh3ZJ_?F;n>M7J* zus$%fA;8GIRAueXJ7w#>CAxm4?|)2wby2V3 zrH<4l=_w~isPxHtAF6(F51BMc_es5VIOtKZV8YW2wr-<=)zKf6zJd?VcifWn)S)w{ zrAST_9-PLSWEMUoeTwa1*p&G(gK)=7yXKG49BIB(7&(r8bf!A8I&2)W380LrU5$<# zr!I8xkLp#=f>g~0kCV@Js4X)`{B}}@$}~CaRG@aFLMnYQp|E*QAom`zU~XB&yKu{M z3lq3Em%^O0g-BMVO02VNjzEiqJi_e~+(1DfYB7$IfQgP>3Ps5?3+yO3;TlywF{(xj zns%}lqq$OBE8Kw^J>;Q^L$XlBzv>c)1woSmQRNvs6nIed(;djk*Uz@~?>30qVH^kQ zdbxvU%cJX{Ie|fQx(u4zWzf9NgXVP_RN4{85ES94{m1Am3vza&jn#BR| z=3$*>i&pGk6D|a#LqWxd-$ztKVm|7ZdCT{l{<0MgT5&5J>5M8&g2On&Efb%Q(UKM& zgx%I3O^eaK*~m>VEisx)om+8>Un{PTp@GgmBq-}>aD3WLi|rb^?X5%JJ^hggoIP>2 z!z;%r^f!cCI#U%D71iiNw`8v9R9G=PPD`NU5jg#M-ty?GR#N-NElKsi@udndsWmqW zqfs>W!4>dT`ww67+~>=p^^Au=e`F1gL^ZMgP#(?iXq}Gdr^KN@l-F!)oky-l`vxD> z9H9>dqIF`}qe~Kd>$nR2k>fa`Ac6iepTaF@V0U=sIGyxz1uHK#S309zR~~2uGKXwk z0e;}P%JrMVEu{_*W1ga^0m^_+I|vE&FGE8s>f0cnb1Cile_V zp49YT8l}8cdo#LbE)PM*q{2+0TSms+;QmSyDb2R=!8cn)REuM=N8Hs#TjiU%LvgeA5wY%BsWN zqsD;|r2gO&eE~8TpyFKA`-{ZKetA0 zj636YRewFQB9Z=R%TE|``M%VLm%kh=9;y3k9Kq@kX3b` zunMoa)_+g%kMw7E>}S8=#&;uo%%k-$czQX4i8o#8zbo%=QvU72!*0C4*S?e_!F*}@ zDr5?HO`tr6H`Mw28>xR~D(MfU|3Mmsa_nu(6SpVKU%Ih*QH>$r(tq`?rk_YEW4^!8 z9~rbs|C5#T68hH+el$_(5wGya zGuB`X5^El%JceY9SXH((N&ZXvQ|244MMm2XRca!$;H2gM%kHb_J$`9T!uEvKHCwul z!_XI{IVv^kwdIj2G^Aws%2f1^C_Ka}KTG|?ufVY6^_TPSD*J3kqKXwVvWp+6mIfm= zZycnmCEglDoE#66L;8mYzeOjxDE}Dak;Wgt{up6GN$ZbOKT488Kk(slu&oZR6l3&J zgz^}8GkisI{driaDg4LN-(f;Y^^fMtMrJOqX%Sovw)LSJC75|?tU%ov)&Ca5m)nCI zZ6Blz{!Pi5N}loS@5+RzKapx-XC!O?iGG$rP_a7VMwG6@4JlANY%|<6N6L>}-E#P{ z6!n)W50p&6KQ5V6C~5nZ(KcG(q&3`xg?b7d%(1t-}V|>q|uQvGHL&vt^b;uEr*Uc5h)V9rBdX=0yC!8XB#(-$ZZ~X6 zQvGesrJRcXN&A0|{(tV=Iq<$R(>K~WPA{r)AbWx3V9s_!|MU94^o64fJKP=Y&{=C9 z?uBnZwEREIe`!Tce&OP9M?B`LV2}VEG+Y)6t6>8?a=;88fO|D+0)z7tmfuq8|CQrx z9cFgYwKG5eacQih`m-O^@%c~7PMNp><@2Z^9BNR69LphxZLrRAT#6dJfr4eHp=Gap zx(FVAPDhN#J@t-rj4t#%a74uT4XEl+KKhhet$AP@auXcf(#Vxf?(DF~{OGWlK!pW_ zRJufc1Y>VdFq367Q$ld$Q_*TjUah&xVWX4En3~-5Y{dAb%H`{O42uy>G4JJwpbXj(3JwUxh&(trj$vbA zwx!x!Fi13HI;H}>3QFy3G2m&Z@Sa}G#&z^56GX!HyVdgLTDmul~-=6KwQ`{rYuYP9|`2vc4! zOWlwh%*YsV1V@r=D=eKk?oH*i`>=VFrY=BJQcUFySh0Nll-CxWSv;%z;9nAsx{o_t zzi#h3X!r~ykHt?dm{YdKD7jDgFJZux!IYrhjHA>XQJTL%pY(G4;6rm6=tJ`v=(F$t zzl?`+sZYB8*YT+1)fwM3PoxB2OcDvt6PZT9zRx}e_A#)Jf&T>tmMmL0^~3T3caQw5k8>q^+b+?^{@U!nJey-8}ogH_GNNj#xBfmm+-m>Ww!%IlpJY?v(sfDfFi3 z#wvTO3I$gXWHlk?uXLtV~kf2&QWDn^U&s&S| z81$N2Pdp(`?EELA1M?i;_*Yd@&W(d7-dmD4B-J@<@o3ytT+<%rJc?l&YK{i~BnMTc zso}ytA|r+3Vpr9xrF%?wo%~9Swgtnv5kCKM8Qz*&J}&j!9kg4dg?SD)Q|Jbk6p?UD zSutY8#ompGAq(F7W~t#hrhwMAy_W1S^UB)8v}^N@Vpy(YpnhXDe?>SzKefXLD=yTl zVMj#j22&fCeS-@yDK94T5*+`;-mv@_%rotgj3uHvCjT)(jtJ?M)jla>nbWAf91GVx zN;@RP{FGPMsd@Lzz%Z{3o)Vd8+G8SWZr4;POeg5Tg}%--v@?Zr4S<#kFXOcl{7`X4tt6R z(EIQ|7RR*z{!vTn)k$0=WS&w6W1lQIja+vvh1n)V&X;%m>a}$2TO9G?crWZXVz0%* zWw*_V$^TKKV@wsVWfVk`Z>Kg6<|Amg33O1cyZ>Z2tK*mY1Rd^euk5(6Bf=RAoFeVH z`D@ODSk}x7DcQE!^O1!m`f$> z9{&;KhjUol=56M6+QPKQyt+!4YBS8s>F~dKXN6u+DM>#|R%2 z7j?zIv>7hpL?k%c?8D5f#35|$5p-$JZF(c*sIearSM~ZN6eB#iBK#Xpqf|sFl_Fyy z#*46f*66rv&+#A6>^1YqYE?*W<{bvlv_~+hd6uh-r1%?NH%~_d{0v8d9PXkb!iohG z1<;w_1rrN(_9E;d{*#e!%$`#lmDGd@anR13$DmrSTBFBtnE_oagx4aDzA+*~9T8z- z!K6qg7WPCG)CvC=-#iP$&!P{kDUsrF!uUBdS+JRprrn}ij+aaES4E8;rDkHpjtGkV zF2fhUJ-sqTo#8Ax$Py`eD#l_&j+959)(QWECMQ`!!Py-hb$QZ+Jat- z)wm3=Ri$GA?@mNSoO8=UEa162bVuFuzsP?~<}KP4lQzkbvRoXV2CK(BtQb*op(BD~ zp~tAQishT4h}=!!e~$mtCd~)`w#{qiqb*$VEC=By{pA(=1UAG@znaUDp zsYk~DBL60lkHb817{xZ0l3vkzM682mozOzl_MziKMTCik;^$IYqV2zve-t$bPEN7} zP*Tld|40oC^Hu`lpj}bj%1ky%K~NE7MTZ>`#}=2x+zcYA&IugsP5Va;xAy#>I%z(W zA5J17t(|C(<~(xBlA6tAgVDE8Tv!p&dE}DRm&i*%xZ~1Z<6kx})CK}Fy zOuk`0!r-H+Hq#IFd_$h2Drc%Xf8)Lv!yYM5u-S@3!(BR+{DU6{+tH`H&A%ZZ&9ejQ zhJQ`IW%CZ^ih_Iokz_HG6nT#4jQFSCeA!Hz z=oQ#q{@M6dXG(eP`9Jx_g`7Et(`v)KgLX}?S#mZNfmZ{N@5qSN=iE_&mCfQ&S0_05 zmmO!ad}15CL*5PkrJpk8;o&0X{cD~6gMVZ8PUe|6ragk{$W<5Q&P3){Ev^eUdSzfG z1d6Jbtf;eghIo->_y$MH&tbM6F@3_QJ#O$d#OvzXH3+e?+#6D3*P= zb;Z9dOqv8Iig}`4ajppG)xG2zU$KAHf=I1tQ_c;wCpJYNnE!|%#sMlCPO3+7;(=rL3gCy!_hQsqr^0O_9=Fa`q6}e+2*Wa)DjpKeq9spZe;%>mdC> zSzVS@BF)~(yhS)xx1+;ezRbw-693i=d8}#=wKK$v6z~tTbVNbSS74X;Mf4a&E}CgGJ2n~%XZ*4wlX6EAnYlVneU+EX3V2k?(%A(bR375-!9 zygY1G4WX>P{U3khVqKHs1fSEKD6_YiC&KlTp>c%srd03VRvF}NQeE(moz`V_Nm;&wd}GpV=V9h~`wv>F*m1NQyK1+$GT9}nV>*85 z9kNW#e?&pZkqg&`e;T)0cl>k86O(*x_Lj{%*mj&YE?ocK4|}kAIVR^e_#pG2N)nVJ z|BjN6mH5!Gy{l@S{~mW^In}LVBs+?HliJu+>+NH(YIMYrbSoK~tC(^v2Vyb*axw7O zNsuW8CFS4byj=1Omwb%zGye-?h9Y(FxEq(q(oSTu6PJ8uKFm4qCS$h3NwUO!QmwGI z?em}Q+U{u%Kfym}LE_+e1t<%U3(M<%nbi4@F80gBr_T82iY@amt5gx>8?(2W*R*53 z`YqUO0!L10ZQ>>R9YjT+(qiWKR(|wjlBM#aZ?utk{6}{Rq{4sV#0TRxue!U|_J7k7 zUCvKTzOs2{o(Pxw1*qTP=A>H@*(}ABUzoN$XT;jCf2$MzlP5u`@h_*YgcBcG?Skdw zs4M<0%csqraL6>@vV0;xig|1{p^gE`wo-~oxD75{wYlS%<=G?G&RLvj!GHUfn6k8g znFKjXL0k$|+p8fLNX&mKiGQ8*pM?Cd%@ggk0~a4XOI9b|3MwX1Hi%Bii|(bZ*0Qlz zNW!&t?Ym;iHvfsUfE4*pkoeaL|Ht06M7N}IvagGp()eZZhAdx^Z!^CQyFoP?wc+c8 zTUo_q$pJq2!7|ximpyz%&4xt#!8vY>K25;CBMaCq{$;gSB|hN)%37!YhW}{ek54{r z-zJYcl5NEmO_2k^HWn>|t2F=1Hg4YHaIj0K;2*Sb`lGUdcx|Cc`A?ep))D^|+_q*L zKUHaEX~(vFPHo8MHTm1myf?{KVo9mnymiOnla`@D4>}+UvWM3_|J)YjY=}rD{nz}{ zy>^?Y$$aaae>>aN#xILHGTAZYZ?89Mdx!DsR;;U)ts-`U&(IEWhW|FBmu=cytD$km z{vBB`&)^FW4N8swB!!<21xxE9{UQ6O#7Cw4sy#;)cyzKajh`)ld%e-y>yO&?eh2yBf9%V(Dy4%rRCPOEyBbeyf`eZH;y+ZieaDVyR#QhD{KqH)sc}Jx z%AY9|K56D)o$!CmO|XCBKStsc$M}!@`>MoS=_RFW$M1ifa_2I{wS1`LAFpBE@h`LB zM6D1B^56dk{&mi)Qht;2G!3m^w5+zn*lv1bxqQ*0_+MH__Fp&rI}86bU7ZS_*u1h1 z?H}f+?O&FBWNkNA;xlUN)6;5IKgFx@?|JL8d4E;5f3-^{zXGuTy5(OML1TBvr(*w+ z{D%wwb?reJy9!nt z{$c!eZ2!^xbE_t|Gst4+_Fj`#Z`hn@%ju-aKE|S4^3ZZrrDYU{?Z2-12RTWrVE(F?S#xy^r;-Xff;V7dvS?(^UHV}Vjh|Ks=k)@A-1#XlO~I0`7O*!a(1 zYTM56&!5*c8nv1Er!uWc{5k!hO1H&-UDbcU_pIV3X3{ySTMXno0RRFGk z5&wIx{Y~}@Ny?f5+@!wDQH^TOz@W!#yEw+$4cqc3tcfJwnesb~AHy&@)t&vLpop{@_8+tHVR!j= z7C~!2{^y7iNB{fAz7v;i*j%edc(gMNdUAO}@@2D6xa0#Hs4M=%h5z`4&)V@H&Vp;t zf1m5YKjvAeSD@vn)xR#TZ9Bt@U#)5w3>P>}g%^FwvU~;0k2ZdcKj{>ztbO~lET2Rd ze(c7#6!=f62vmFidt3Y?6}tP~LDLT7cQT)pd`!dXQg{3(PW)5hpWH-c0dgRg8HiHL z`Cn_-Z_XLE^luZYYPmiGX4_r-z;c^&o#s$EM;@?wdBE(WEgv?3X=ruAe>~$iH7^jG zI{%5YfLiiDzhYg>;nm;Gt8L12|A%TkgQi^#EK$sd(;UihBgwD9>>H2|<7fVt)H3~% z^Y0wPexeiql=+WHf@E8qT?(ot|KHA8dF^wRDW)*-oP9rkUGq_Ejh)+qvH8dZpQ>6i z)3?dTG~_O$YtMi5{8KsXP%g(5UXd(u`;UA_D4G%`LAB(+ta|<04YexsY}~T_;7KcN z&XEP%v>WD)*=zD?K^0^9ARp84>xTbW)m}&9lcN1g{$nOV$X}4q)sp{sCY?Gy@~Nc` zw(V1y+C(uAeFbX2{!+A6r-GoJ;j}xdnOj+h zGQVcY6cRM;l;D`uUYos>e5^j#b@bxer$3Gc=a|M%Rz0ND?D=I2G57zHF&NbyPzUS3 zrNVZ!n;T!H>2k)rZNcK)rk#@dXy%dTtCd=L?dUzhe@x@wb^c?&0<~ZNEt=b;$S1$7 zZc(_JOgelp)!|cP?W%-hGjGxyEH_8w^Gd~X4Zz%5+y5R~e~;pe6EVjtu=n|2U9+Xf z^~<>2Xv#401hon!Dpq{ZDo-$Yd1$j=ZPp#dGNg6EKh2dky^ZmVe^>3F`H%4m>}CG3 zM8FmISAtBLm?ZesoF`%)3BFA}_|K~Y`wx>JFXacByTLz4fpa;a+OL0`G_|oEJp5rb zY?u#8Y=U345V0|ME2&4C<76J>V;Sna(Pg#Ff9>^e6Bz&Q^6z{F_9p+c7T2^cTyFCT zSw}|nR+X!mzFP=K9=Nz|NK#P!hd+2gQLtZEnoibQu)W+sB!`9P0T|hYQO%u zZQcpw&0Du0GpSN0+PqAwTC&n2Ih?jj2P%bEIc$W@gM5p5vV0ua9VUO&qT1U(m`S?$ z_U_rgia0AH-fR4ao~lr*L(BF2Wzi+UuUhusNxRLwF?-$-hW6m7EB+IwJhicZia4uL zZtw8_=GQCsAHKrml@K^C>|f&9K5WNQHU=*RY4g(T_*6Y@Z2Io?7zH zQNS5-UF^S;AkC4NDpzjoHl|9Fwkwt z|K8buieCXL3+-wCZ+*4W<_)rg)x@Wcd)eT_TN4_yH`@_*uN(fuoh-&&qlH@9zl?%C z%KvwBSGOI$l#_^vO~D+jCOwTsJJK9Va18U82b^qUiwcdX@Ui!19X3L@D zmavKH-NDqBnw)NP>K&7LVq2x{VN=)XjG{f7dESwBX^-IiTBkpImH*oBe;t#5jDj0* z-(qQ^`q!}?rz2A0p2`^1p2VeCTL%0+oc7AWq3n|FCBpnJWd;Pz+|LdME11B;y zmcKe8mTJ2V^J%Qw7NVW;{@M=OVfHkIRv&Uvm;dklfBMt%&ckW_KzTSKA}Tr%Bl0jY zVh|QMOSPktWy84?6!Sc3qM~ zM-=e9wqX^$3;)OXKW5CF>mHjQ^SJi0`RaIl!L^SsxW+ohKEBX#jCp+FDH9i9K$qm- z{31;@uY)b{t3j;BJ8Z|6Y+F0YG*%V|#*)#XsfxUU1!EptAa%19hW>Qu5XB6y1kax| zJG!bH6RCauH>S4+l+C1Qqd+&D-o9rsMxx3=r068&Lr!a@UrB-_1O{oMzz7@{v7^Ic z*lFju%lKdkaw4Z;Ua296j!4~PAFdoaOZux;O*A~F)VyGLh$rl6{^fHcVnNMjO(7O| zaHEckm;{DF9WPqF)D<^=p*`#aMGyhmC1Mvo^9IYE2cfCr^ttL3C(1(d(h?$UEPM3 zmQ}4aoI8Yx&nz%5_o%?JK>cVsMN%`qqas43PO;Lc=onFmW;-Hnm*m^D+c_-s*`wh# zo?rj?dGCz34jVPsINsBO9Sac=!G)z*abaGNT@WLH~ceZM@K z@Mz@e4=eKadK5?{bwsG7NhVNH(V@)Pa2r!F_iBMS{}0fv#@x=o_l@#ss^cMF{Ji4O zy_gWid@roHa7Krw)XqAiWkvXZigOdFJ|pJ6J-s>})$#CEYd4oXv!MIXImVy=1|c$1 z!VDYyzd^~c4uj{8d8Bl4_4;@uC&jB*ZG7>QB}4C-ckGy7yAS>abCmWS2^pAq(C`^2 zUpMor+vlL1zp!#$Qik_A*vG&=2KF(qkAeT648$CVmI$0?^OXMAU-qeR{k1dVT>SM% z^L%M4q>Co|i{n-*4Y}1R?wQh@eC4<6|EmHUs(uGvuN4I zO`CDN@nu!Jf=U{kUr>#au^4{#!8hf=*RETCFuOnL+L^gS7Iq!@8;-!BIbDVL;T@w-eSEJuuzSz$eR}rk^*2J�dO8@|;_Am>`7rdAE44sY`S?Z%k-d z;gBM7@y~yHgmBB{ZLh<%V@Cx0lVg0`!qw=aFFrUb zvkgvmbm}9r=?xcR5`Nyqcbr# zz7qjHhx-nLOo;?k6!q|rKmL+ilF!1o34{yrPuHa{bVUfC2(}esD84>%y^$suX^N2^ zHPUlR@{2Day@9V!WVh44>~EwlMj8R>5`2B)A^hIN(z8Z-(?}m1X@-*gVl||N`1*yv zy%1X=`9vE?Qs;anH58{qIs{*zD8cX5_%;*|Dap&rn$JZym?W_H3aIp5T zqmf2Jl23c%5UI0IbcF>r#kaB8e1!C+v8Z>n_U{=OnAB>zk>*08u=zxV!P=al-MwL? zUdL%{8L%1n`owl4U3H?o>K8wpEX3>h`owLg=sR4eYEAbuQfEjqE;pa1-E}xaOS2$J zuC|^nL^ZyCG5#DKm%l@*!PhTNJy&8r(fmC548LdtN#1)XBnq!zlo;$D81hZ{`o-}V zX*S<_E&|2L)TH9LZkdB#Q*9dVjzCKZkU($4lYbhl9_{E6v(r2IW z-=gnmc9&-IWk`R=*C%F7)|!5Nx8~~hd!#)#6z5M7;y`>GiW~4t??OZIgu?t{CnRFL zp}6J&ef2p=x8mDS9PzNk{NmR~w9lO%)8XiAq@hpft9L1>rFi@~A@0GqrMTsJEfu~f z#HIMQ7BA!XjkXlZ<*#c0E_+RfGVr!$y!ks?YNsT>Sn-hzn_t}gg|?j2rfXkbHqtjn z3jSM$(kCWBk{0on!K#pKevhwDeEf@+hRxFMiXq9A;fCLYxEx=f_;j|GX3o{IaNImC z6&h(ysdl%*NKayTgY>0SB~o5|ed0*`%9QXTBaJfBWFx(6r03(zdO@sYXt>35$BW;63_ttamghU^o$Xuq~WgF=vBTX>U-A0-UNor8uTTAs(Mvx(I zZ=}(Kw1o`^CexRjAkn>k@dzXed26x1U*~G;)m5KpwnFS?6@M!LaB&nw9xeqan#q-qKLJd*8U5X`}^4 zT56>1jrtiONay2=G7WxZ%5}eyo;O$DGuSr%r?!!LSm)_0r>N#@;`8EJ@-h8yWOBi*${=eqAflJT+KNI6@z&&NQL zC7CM}<`Z{8l5zBrk!Bldy>jOl4Yp|uI|Gt>^B~EmeQTsjBW;ExK3wN&0w^jm^p*-PF zA-d!17Z*JzpX(Rb;+!<_i>XHX)JR_{DO)UoB;WJyXr`bNqfZn-lJCLB}}qlB=CYYVUDzeE3C% z;=m`)0Y>f`iXup|ta6u<+KZPUy^&8$&Vlq9zCN)Gzw`_oUVXJGB)ZyO1Ppep!WxSU zj5OFt*D0yJxEm5ZqoH^ck}L&%sH7{!EJ*aZQmj;xPy7Xm?Bz<)I!#{niCZBJ#MdXj z!0%Li{bC1xsr=kn9N=@YMSN)GZ}l={$Xkl5A;~h*L`ZLdjh5mSg|!slLXxGbDkJ@6 zq?VcTYG-jOq`vre7MCiir3k63EybNidfiB$7-^xAHY>>|+WIBWD6K2WC%%D1v6U-U zLz;tcuGnfMUpmfPd;Q|HESD-@^@k*5|8_`{`$vrQsgdRxsTvYl z3356}vOef(>{97a6C(|PB(Hu6N!sKhNH-ymLS52e$Du+j>kzL%qSTB&GFGJo+0{ri z!AWO)({N29hg*o7-JD?|9!7>4#0|?Je{QpobVlAXh=*$BaPxyf(nJ;`D-41X2qO)l zgwzLhZbkwINvDH%9(p zA>E-{Bk{R~^k6r$4boinVPus;PKJI5GxC>l(~?>*@T?Y~Qif}PaTFsxEaYfLPFBdt zVt;WABLgfq$1-x0g&fDovlenZBhxJ81V-j5gnT}ck=2%)lNj+MYPE)VxuJ7cgB&1E zXXFHfv_h*35>Ig{kdgQ{5Us@7Xzghvu2)DFkn`Eit(KcB72I(vw5|e;b0NH|XmdF>6v4%dcM4kuov~aa;Bw8t?h3F|>VmF5x zH$4R^YIyqj2I(dK!N^Dpd6$vD8>F}RCnGOf$S17NzktlbH%;^wpChD=#A4-UI&9@% zeAhN}S0C{uGuAjwhvH!I9pBYKA!)FuU-+&g6!JWf8H}87kVC|54rzfxT8P8NB4+GH zg=7I)!gt+g?mAMSSd19_he9%8b0{1@=O4{oCj+TRp#VakX5tKiBnEe_Gk2YZwl@l? z+o!`mLLp5pq$#`UZ6VDVIaMK9qENI1g4{oXq}In7fL_>HMs9=B{FK7VG0d z0!Oi&C2kb`8ELMNuHtra10zQmu03lXy zS4f(8QasDZI~MXBhwE2!*OTITc2jQLOcn3D=&k(SxS1+GfE$zxGGr(+#Z>Vr-_=?n zY2rmfpmSe^^mM%_K6B9wo zGd1$LXvS_D7-X90%1CP(4;?x~2UqZK0XCLhDd=@xPgBNtjoG1AyZ z;tC)`@y)_r4||?%gtmB`$7Tg=}VIqJ?bbXWe5V+gQUVfxL{b5dRjxvxd_Yk_E); zErCA20;#|^OZ+Ud@dh^%I~C$}&l0)bXK;606jsQM5OYLNFNNYDAoR%s(#uOJx!#Ifx2Acc6{3&g1of6BzU?B*uprVM#d6%SK~CwcNPMnPXm$R zYQp}kwA|#RQ7ZbEg|uKd4baXbZ7jppl6~%Akoqnvu{08gTSzBH&NfIxR~{pmDC9tQ zBUcahr_i`*LI{<`2F-sv? zBF}Yj8s%S$fUL$BB}Uf~Afu6R?I)4t?w+pG(_FZ#y+Wp=Y;iHWIn1~@*mVgb=NaS( z*Hw&+HOP@Jsxdbb_Z#Fm*JwuGHpua=v5fp;A=fgp)F3ChCNT1cLC$bZW~3Ez5emg} z_nEHy80lk>b6rm`a-u;la6Qk+RR+1p^(rId4bso`CL@m;F@fPk#d6!cFhKdXpch$k2K6gKTs*VIY1%H-GvJ2ZjhjB5xY6YAfsGM80lw_ zF|Jh{J7X0xU5s_DV>gqHo3XAMMy6WG21Y(K$ThC5jLb5~jjsKC6kn?ia+9kGBc8^Z z=bK$E7-?mYTU@Of>0yvtUF{h;)*!dJIy2JGAh)~n87VNxU9JOx2vK4oec8=J2D!&| z6eAxR9 z>%7o4g^|t{avvjqGsq&>BaB>RA&)UqXpqIOXMB_<+y&%Ce3!eIxL!mk8j0x&nc=B$ zz3!tFsT>G>GR0EY`|M`DakD}pEzyKQ{><>KbbZWj4mHRs*EB{hHpm*+H$X5lLLr%A zjq5vh^Pq84qmXwDvdJ~e=Z4O|0HIHo_`_Ajcg-_y{&H0_@~1(BdnF^y(WD|Z6z&>E z4mXI)y@`=a4dQX{U}T&@yzZThJZg|Mw>F90iK8$@nOu0dOkoyR} z>r{ngiB1aXr;v``fcr$&d4NKui(K~^=~S*OGI!;=&t!i}%w4(eiy3*qAbIY~8JP-1 z)*X7gM=|oIL5_1jlTPK0kATo8OPuTenM3idLC$y2VdOW1T;N{7{w!AhobSERy@-+3 z3ds@|y35lkf8S`3tKIiyQe5mb$RPKlKrq6lxz@1I{dy+Zb7LU%X@H*4ne3*Wazn_R zOp2X@fLw@g7LfUwQ{lQ$AwrCCmoYNQLdqF=%t9&{dDlWJ8TrOSsu)>pA=PNBZ6r1; zq{KVMy@Qd)X#OL82>BzE!hVoKvY^jSc5|jd#ww(rLB_iqqD>byafM`y68HXo3h5Yy zv;=a1pE$fnA+5zt?jsp_!T58N`vgWlR!Dnsi~D*;W-FvKkP`nS_)`N!+Qu#J+Zf4g zsgYaV_cGGeAh)?6W2BpfJi|yY3waq$b&bTSK~obt zo^rd;Vvd@)LjLf+;cm}}XMg!Dk@l9mZ#`nZu|hU^-*O*ZkC^YRkPNsvx?TeyCjp^P zGx47L9Js;gG36#xeBeGGKBFd~kSy^nA-HRz@#jbPRs8hH#?4ReVT`gSK_t)%ZyFxP3wz+>|B;x=X(oNoN?qAvGrUu#Jo(ne^ zKc|pP;qt6yHwP&sBP|06#q!ZW=#wS-dakJNLAcH{$RVD=^(mwS)m>TQ2+xT6lsgnD zH-p6So@?tSL)Oe5gjAP^_g=D0i;dzk#c}F3ey!|~tv70Xxk|hRseyvaOHOu%j z*t3xDTCR|xX+t~}KrpUPA(^7Uvxn4EeiS2_;Z`53ET+rmAUISPcy!2jzWf} z-NlFy%Z!@`Jo%^%p$!d4gVq!mF90DnI^c|u8t==VgBnn{4pPYTX|H$=<7b_$kWBFp z&spqdm~r!-LP{*;T=w~4h17UI@?6b#y{eFZrhVcW%E;#m$r7J?Ml$lF@n@Q+h>=Qz zeCfHq0p&zHfk=z`!83(5Y}iJIB2)b6xsUH^tB~i@epbj~3i)T+ubxNQ&DqAyOwSXH z3^B+o&s0W=&0VuSFY~kRS4gIq>v@flHx06o5NJ5f+*JvLc>Wd0LVUACrRN{)rdlDJ z(yBZkGP2V`KIXfcwv~60o6p!yCxr-KwPzY5f3uLUpid)lnnI?FYR@+f=#Beqso)P< zDm?#Y#8<76m7eby>1mL)o*x)F-yk)fpBTBtAe%kEFw$q4_Ghc-S4Q48$ac>xM#>Gc z!!w(a=BxBwzkB8~vT(IV{_vDC64vlf&jPOR|Fu@T+38u-fX2(dTO*NX!sA`!xJx5b zcIvw_z2)p?ra|g?D;PPGUMYN9CnJjua)@^) zBPi=CpV4E~kSyT`l)>b)j`VsM2|w!uZyF;=la-qjz3Gfx21}E7o#f4AB&^Ss-o}iC z!+y25DI?*K_V;EpvYsLhpDZ!d+tT4rf%gDL!tp-B+nSNE&!fF<9Y~S4y#u+{+mVrQ zykF<-j856s9fTNwMyT=Xf2I2Ob`;`z;QiG9gZRG_=R5HK4*r{W65@lXbD!@_;M2v0 zB^ToV9sFOR{s*c5|D)^9<7>G7|AC*m$(=d(CUdhPNl}8LMeVzyMXj|I!7ZY8s)Rgc7HI@UQA%5>eJg5Ld;MPLocH9;QxlesmhwksIifV-=O>yiXoL4I|#pkn1}wU{wA=2u$azhL@~dI5o2+=<~m|g#5bQ8 z?fh^1r{(J!b5$1k1ojeQvycSV2C)_DIrAFpP=&FDA;IyVB%K)enBq)|b15#SxJt&V zY%AhAw0{_JGunT)ni`iDhpVsDBADGs5SOz|y>V<=9bIECUD6ce-tn1}ce;@^l* z5dRI;SWGQ^_ri^{tILet#D%sjinnDrlpX#X_gd?SGw4KSa`MZc@o7888v3@ACAIeJZ~Y2=~`~oRQdmUU6rfK`l8%c-YUSl7^qWl8H9QMEUAGgQ$lHYE@d=#tK0awl<6WG76;_FRl$6DX3 zc0_-0$5wO1Vo~_yGg0l|0$o)9KS#`=<-SL&#l-P$Y82YR>luhmx-#}1>I<(&>BvVL~)+rNmB7C8C5@5#v}&b zfmb6=rkF|bD;b03R>41`+**p;DgHw74;giK32|kN&K@FGip2L-dZ}2HVg*EzZ%nZ* z#n&hfrZ`4MYrGSf8t()e@2YG$^7~^t1d6_{#;Xp+R)}J`hxb7omRnHyGPgD7YQHB%K&&OK}jzu@t9JoGW9n-&TLE zeu(ovF`rjZPDFi(iro=Kzdn+&DqDbPMpk7j$y+G@=uK6=_)rz=Ac}e&$Rj9zMsYR8 zeTbr*I1f06`Fneqs&9?^Wmx2`akgUrWL541M3Lvi)i{=>Xw8>%y@_JU$cyre5&y;X zPLm%|6#Fxgx2F622*w_wTrEUaSdD*l;o$f;!Ryh569erjcB9yv;vkA6DgMz~mFMWU zsP`Vd{t3ke6jxH*Oz}60*D12MRQ+g* zitY72x%1mgt%Bc1SqfpOU z&#e87TF;_bLzENijk8^iS<|)N2U`1&w^3fq*T)o3BZ}?(3ANK`w90ouoNHU(#QEV| z^zQ@tdSYOzjJPkH%9kCZ>J6f(_D8|_`?4ZqOHhA_j2bI8R*h#(L>JEMJ0gmHB_l4u z{QiQtAIF7>W)K6fYWW;<^ypJf_Yx<6g z*8X!c`4>bnF79{5`K!iSAd2$Vc&hW$;QYOb{1wcfcwZ&r2=aJ};(d{LJwQ&A5$8K} zTug^W`_}Q%I{&Txp6W+CiX#!l@}5F*4x+1w#zq7ftBE)TQM9uJ@e0N<8?hl?KZYpk z{Y$ZTD!$)RB-nrP{-R-##K0iDE~1zpQO`NQINwBGw0{fnW8@>=S1vRGpR~mO?{U92 zUKi7Sk)ri}d^7n^#4fS5SgDC(|Bm}v5XJd&14MCMpbes^--BX5L~$OTj5s7#WA7mj zN1TE<9x)T~1H=<)YW;eMD9*Esd?>DSXsi;V*p53Q4vDkgr)g{$EY2&~B$1C|B@yQ$ zUjuPWOag0+xF9ZywLolJD1miD6#eUsDBk}KLKN+fK@{VYhA8IaQ^c>(&OF3#5icTc zLu@!jl^aOW8s|&!6sk8e9^b#2is{BDuy+u}`{^vi)p&h7;s(S66i-n6hvGwu-gH&& z`)2BWi!~kbzF|Rphrlr8b68dO0phv%s_avWi)5@Nzx~w0RZD&YNJQUrVm@oJ7>aQe zpQaf9vB)Q|;)r7YpF!+{_SJk??VP|~m?rwwG4Mf#TJGxo z6UO0F(VoUeQ=Ew?-WRPQ|BAT0D85xRUDf*oQRM$cypGpnW~f*Z@eW)I?LSpaW3N)| zMe(hf_zo>z{}gcy`h5d2PwNmUIZMrlvc~SfC5vn9A)**RHD0)$CHt>2&*y4=h({Fb z!*dkt((BEogWF%_fw*2+JTdTawu&KhROB*hG)}ng2>*cTmPQosr>x~^?Kf`Xbum3_ z|Iui!@)*QpsP{SIWkm5lPVC=G&r|s(6uTpeaUM@`A;s;8uRR@ne|7=x1zYEbA@jxi zKXpAuTxVQ_zU|QxSO#7nCCb$n=UI4v08fKAE>P1wO3_%TUay3B^yvilE#hs&jWPzu zDf&x1eyK!aAdX@J#R?Q_P;5Z41;vgOyHb3eVt(A7`!RJsi}eQ<%gH)^6|8>)^`@eI-(t0#L_M** z4r3feJu#jc$Xm1!mSQ_ZY=tQH zd(FQU{YhXQWei>~nGB2lxOl%L)=zQXEaFxwcLVWdv}2t=uUe-1bsFVF|8|qlQhbD1 z@cLJel8J%mmgD_9Vr7aoDb}UfP{s~{W{5dBUi6{(u8aw6CgKqE;~T_Lh(92T>oYqM z#dVvbh-0umTtpQ8XDdWZV3CO9QN9>rDx&rNYk!tn-j^xHtW|D8@pVMe&imxWh!YcV zUPeAadDr)r;P`?=nU)aa}fZU=;fl_W^u|_&efHh)?6wq~8$#K>T%36f2F-lFlQZ!8I~raqUZZ zJ7Uu}5?JzjH7*+v#dVY0h`W_N8!rRKDIJ;Mt<; zE!nE_TPPl+c#h%&L@{o$+o+wv>V0<=SiJr+z1|yfS!tYKkQYmMRsMY&kp z=P2e+;y95QNT66n#^C;2oGr1PK1^Xq|gJq=?1C?@BtS%$Ys}V&%(q#;m z{}GNYgU{(G?xpyfj2!}hA&T?KTQcG}y9;+mJrf+aIN5ok4?@dIpKULdha5~HI z`osiW-=jFNr1C(l|Kjyc^m;bM-4qW|JWla4#eXUC-Ku^x#S#=NP^>Fs0&9WT3;q5Q zQLHE8xc?#iAKVq^#p?4!T%Y|J;{?}7{PdXw)&WtRANSp(>b*ztTg0``1m`biuV_!L z2O^5~MYL~ie{sl*{iU_v8Uu@d%oML9s?Se?pT``cyw$JReX891h~jYfm7iic8MDhMuET1#5h;Nf0!|`Qt9=0D(96_v&SQ_y)MA4rki1o?_=TBT0 zf4Xc`{^y|42UI_*BED8O__@G%Sj^XbiiHm;&Ry%ukVD)$~gunz&y4>p5}VTW5bEE_zm{>)SfJhx~Hb%EzA< z^_=-T1A1lzS#NY9n4QdovlDz zjacUo9M2~|bTU)9)Jygmo+t1#^S7Uo1PDDI&TCE4OVf%U{#$j?Vojs3n{uoiL7t;~*j^j>Gn+sui zeF;b7{l~0cxN{IutXC%xMSJHdUZU5ncCC71zay5nwLX@^`HEQo#l3}Md5Yz04#smL z3M}6eSTDu$tcuSNMJz{dNUlz9M{W#@{=5#0*x-b!KbrEdA|E$cXOmzNXCoFz{0>p9 zKRc=1af%G*O`@OSh@!n>h^0_o%wIXgO0ZbJgg+gkvzn(En~C@nV)NlTOTs=j74Z#3 zFWQNH?H!R08tBqeC8-aV`b zqMpbfw&ktmZ|yg%^+lCGP?F&Jqd)BG1=rEQ+U3b9Hy&&GXywQXL2eex^H zH2pZ%S=yR@9P3GWHT`(jpYm$@@obpN)AXNWqipu$DKTkO{|}rMB;lDAA5;Bvupgdj zE1$@UvH1nOq=3J(*^lx+D)Z>FqW$75S2~rKfc@}(TlqvhG3}_$e)v4qZzt=QU}C$# z`!3#3)-S>C+R7)glI)4ie%OcgP%Ix+KY7f1PW?5M4LA}cRu7JD7Fe>#`%TuzTx0=7^WNUm{f;QLw+_6E5E{1~207R%A)>d8JK`(Xo~MIH!W*OJ(L z@;mTtcnSGaneWBclfNSGCa)*|N&cC9nVd&{M7~BgD~d&$DW9ETx_Yr#n`2$L&PW!| zcq`%R$12n(bHI|)~&R{RYm0aUkd2Hfhd+P#McfG@g*xb++U^(R8$UoL5u<}(zdA0rzc1>hm zmH9=CbGG&&>#NLez{6c1vOrZ?p522-yC$(3)r2#71o}AvZXlh;iozecCW|Egazo3& zN$ev=P#Lp0&ou4-dCF%ay^# zNvr;EbWLX;*z!59&)5uQ{tx=I$Cb(EN~iLBa1Q*HwAH_vY>l+lznN^CBR`AnbmV8T z{nA!{KW9g6&U1av&MWhxl^8qan$50Cr}Bz$9(-5Yn*JOXTf;s+b65#!D?gW&b>!!= z=cTRbf5B=w%74LLaFqXoHFK1o$6k?EigLOHrnRD zT?^TdHRbZ+Q!#&cU5i<+bSj?%KZ5sD{#)1;@)bKu`K@p`d{Ww)->+G(TK4hynq8O9 zWTmm)RS#Lh9@$(sWGO3#tHWY@7I*2^4Oz|_lf_-Ubwj>my~yHj-nt=c*gNDFaO05g z*$2|rc&=mVHZOFoV{?^xJCvW}`hhK$PUSt}h42b#tN-g+j%HO>Yb9E^SS33tKF0ZC^jK&C=HV z{m61`_T$N8`)tl~ZDmKLt?g?&J0+be``<3)C-z7>ll8-XZGvkD3$LrjU$|RHF6%Bm zUFQ3Q>|*1kQ`t!5hlTvis?-zZQ`tm#j%yEF-#~c|c@wT0i~K6`BXTaeO+%GGLY_-L zM_x=8{Soaimsa!tcE}#KTbaiH7kM|g*ng?<|AqZYc{Tp~*=f}tjsJdjneva&{)CVN z>=xx?u-~2xKa#eV&q3Cyk?60rd=9cn(i!YIl>a2;SJu9<$Y-!>@aG}Fv57AUr?N(H z5`(W)yFz|vVez* zaw7RX_(aHG^6qi$@7afNB0J7TH&gRJ13n*eoYi?*`CI7|tgAc)&0t&L%ONLOn-(g6 z6ut=`AYYR{#p<+F`A5>H*<3QmaVn9WVLQpOaJF`a9VV9~pOUt=r!(vyX|+7up=a1* zn-keN=58gXXKioim}&Fy&~vP`GXD|Bfi!l3Rgg~Qd*A?EgYv(_N$etPK>3TXA8w({ zx?n#%I`nV0K>C!{6MjGRGFz$Y)A9YP=#1@r-?BR2pAveV^6Gp&BlJeT#rgW2(A#Xi zt-TQU9k#r+D3Zy;u-^`I|I2d7v2YZ;S2~TChU46K*WR4;~)+kbUxsXg`Df4TrfOvp_rHRQ6bwf6UrYzUyW5*YlY5Ab&3X9~(;kQ~C*u z?I7Eu_Zv)$m$udyTtJh5x$a3g&Yh6YauP4(y63>><@1e{tHW2_q50*P!?)!#n^a!S z4=%~dzg+i^$Ukxit>(|8CCKSdkn2lfJxpsXeO^=L!?m?!Roxm zQTn{5rWdWHkVXGX>CxIZWYPa;bzHLSDC(crRDX+Tjmc_$aJe6U!S~;|y+T^8uQ*xn5FxS5Ds={{(G{&As#l zZI!ZoKiFR{rL8B6_k%;=?d0ZYFPW9rc9Z>Z3j8a19Q>AEM*CAbm45`k1D~P%=kO%` z8SOH83ET_5tt{^vOV`V4A)Ukwq{+L-()IFMG+De~O4py$63E}9e!5;!t3npe_lc}iKMu6DrYN=7~HjC8K{8S*uZ z`r3KQ&xQT0zIKnS*0%=Q-Y&BLOs#J(XbZXuPhd+?K9M!l+ILg_j@;OL1$;#8iFPc5~sHm^2XYI!z4ZM4zq^;GSNb#3KQQF!+chT;V)&9Ag_F->P-`XF)rp+LW{c%J7nzo26_P@<|4{a@3 z?0;Y3N!l5**k3o}y|kOs*7n|8bN7+`qvh9IGYdG*W5bB|rBnG;l>d*9()QZ&el|)gHb6{Yl^@JTYeQ@f^^DchZ4UR0 z*H%f>`GV&?EqtJ;uUy=dstuIRLsb50 z>FL_pp~{tEzvnZp>oDaPrDtmQhAVf12YNo&CXG;j9UkGCqves`mY%Eekt+WYJjU|{ zZY@y$0)EvqUyB^0yjFUlcAdOS)?cJ0j#c?T;0d0^+Ens&c#7w1?KYXegu4Me-)N)9 zsq$svDV}B8J#u|`f@g)+V!X;H!gD>}X>so;zX{LgtF=%$9vSR3-g=a%u}1qu=GFCu zL|n0-FP+B!LHQk?ENuz-9=r!$B|U+KG{N2Mp0%229q*^zG1A{_8>oC8c#dnGww?Sk zjO#brUg;dB%KxD8cSU_``&h3%lzHp?X1x|^%lp}SEneE{?*=VF<>~t32JKn0y1uwU zt496;(@$m_wR+^`a0=Xnya`TXo3z&C-LN0-ByII~vzDRqw7=b=eNN?7`&+byWYzu_ z?OSr`rlS2HwKe3bFs}D#o29Mxw`%uPp4#7rTSw&haMizU8Yip%ZPTL2YWmx?c(R)Q zcCC!G)qb|tN9C#gpR_j$_${ih`umeMj;#9olQxm8rkA5lC9CP>XtSiP>Fv-COJ}kn znBU7Dyl)_j&m-=5c4?Q$;`4_)p55AAvN(UfvD--9Td~M(G+)8dP7_>Y`D`zDRV0h+(TzMFR}FGVGjY83x*Cwh`{ff_n5!vSO)tzf)#d|U z({-4vrXS(@%jS*VNY@pzntrsaL7M8nntqIHB3VtpkZUhlO~0@!@4art@mdA#`T5>-A4`MI2I3lc6zDJ_{_^>kh7VVV|E9Y?KunG=046EXB>#!OQ&(Lc*93NKK z;f`Sq9DY5lvBN{cnm9Z@O#E((93MHqlf&9LJSXf`hrbQ$;_#ZVZVqn=>+bN*uwD-T z8rIL@<6(mwz7RIV;ag$J4nGQe%V8cq%HgQ+u?`mxf7ju%;i(Q+3;)33`r(rtZXQ0> z;r8Lv9PS=I-Qj-WnGO#RpY8D2@Gl&m6u!{m>EVkVo*({=!{3B2b9im|cMfj}U*quZ z@O2LV8ot5do$zfAKMLROu*b~K_Z5_nGjkkHFn2gy+01qLWpk%xQ``@b z%y#En+z(*4xF5i7aX*0F;(h?T#r*&_yT$%E$;@wGy1)6eH9hHMb8o)+%eY^|wJ+bI z{wQ<5!vXVGho_oH9QLz698TB&bU4eE=WwQZ+~I}hDTkMuXB=K?FYhdP|)(jCq; zxx)+1Fo&0#ro-#ZD2KP1g&f{*#^+lcZW?x@I~*{} zIy}{U&S5{RLyx;UJ!cXc?+<##yK?C$VFGs)ql=Iaix zGy6Hb%^c|Pe)G+Ii}R@@bGXC(%@GbKn<@EzNzVVse2e;{%ux;p%&`tnHQ#mEk0-fW z+k>c|uD|bamTRKJnP!^93(d(6FEyt)yw05F@HX>PhxeN^^DWLFlgv2|_c!M{oNUg^ zcLzED^Ybn0k1`iJ955F96n~|I()|5!}WZZ9d7LV$KjT~>khZ`-E_FC?~cPgeRmxm ze908QoFx8o-JzF_1Qr_WmRE82f(4t6-yCw@Co{N=hu-s>CYaExz+!|}cphl}Z>94_S><8TF^_#LWX z`&E7KI$Y0}>TqM<1czJt(j0E*o8)j;-xP;?`qCX9+me!e23@x7COAdw>aP8{36fwwZq5EB@Ul4mpXjOT<-8qbCtt`S(d{O&F>u! z^{sc<>)YsXjBks>@xHAN7t^yHF6GN{xPot|!&QB|9j@ow>u_V=FAlf#9dx*z?~ub? zeMcPb>HFQ`LB3-S5BL4$@L1nThXcOT4o~)-b9kEXg2S_XmmHqwyW;Q?-?e;;^PfD| z4Tq1JHyu7>-gfwsdDr2a=0k@Ev;Q1^Xfn68J&Eas`a&G``rHo3__)LIKCi>YbUbFB zwolPsDPM%c6@23NPQ_oYTjZbsyIB&SIyyBzM2lt^VN2EiLYM1#ra{LtAWGE zOz~T&hrPb`4#)U9Ivnro>~Jx?tHY&y zeupdgdN^Fwm*j9gUvGyS`}#WE(l@~2cD_Llcl8Z%xTkNZ!-IUo9Uks`%i*!Uw;c}n zMms#&H_qW{zIPm+fj@1y)YZ!X%Kn(r8RS4hxL!-*_CKVMds54xHxA9O>R|2V(=%d&pZsy{)i{!Gg+ z-xlQ$`!e#KDBBaiX)OM7-AV8%SJ0|_&?-MYzr3m+^Z?m@(4zhyz8U%D-+)j0KFjym z0)D@MKPuoa3OK8Pe}uEOVEcRFL>BbX0zOs1mkano0ef0F+bdMSB?`D&0gL|H`_rsI zzFh%#E8rdlJfMKzDqwa0VQ~K6E0CX1z>^DDd>)nO3f33P^Sm!JfBAii@~2$0@;zJD z4_d4r|M-Ib3i-pn&#m(23HX+8wtK@QvHqR+Sl%XWeI7mAy~}2A#BBFbD(`KH``04o zxc?>>hO@Of?tjT8;AA$(eV<$nKINL@)+VdzHKKedxg9x*+!Ge;5Bui0+me&v zVi9xQ1C%wfyoyE4a|g(3{1>>>$>Q^;E!qP20`i!aIKD?Lbgv5mlD77jU%59)XRO7}MDOqK^vi1^MOF;&#Jjt8sUanjS7xIgRT zh*j=h(pLXg=dWL`)?$AhbfE%%4*o|E=3gj~ZwqH@!F*@~hCb{!91*ENYA6q1gXjjo6)UwZHs1-|GI=pf{oZ?TDY@$_`C-Z0ARmfs|`bM5{Pa>xv@5eU|A~HpJYkV$P<72KvK3fa=NCDr3lUXotw0F8l z0at+S?bR!gZw-%(yx=Y-`(rKt3+`FcxSv+8zkj=n%@qB$)`v^(cgbpfxa1Cy)%tMB zy;wSfh2VP*X^~gld1UcDji#P|+%sm`=l`mEfwZ+gTy-y%w$_L1?$tK$jkxaKEN%7g zrkj1P`ltGH%Z;y$+WLFT9ZFXHyX9^zZH@mOcNb}E`gh#Dq^;@Sbq}<8Z^T{q3TbQl z_uapc)$|{@uaMRD{lHy$w(5_X{sVU}X>0nA+(V?T=|6Ihl(we-pZgt0`TyK=q^I*T z7|-;`|J+}yJg*E-hsD&y{zpu2cH|THw=!?tZx^DkmCj_{P=0k}h;Efnfj36#md%gh z?U8tVmHf*!7s5Mj7T;q@Vmv>;1@_yV3ukMd{QQ1+S4hym%e*%~e^%y$_PvS+okfP_ z=bwfT+x$G7%);~Y4d9fZ-Qs&R$0E)A{A+L$^W}RK><`*4?oUlM@Yo_Xzizes@VFvn z^EAp|jf~W<$?;Rmhebu|?m41B8hu|QS~sOrx%$3Fv|dEznY$yNJ{=XK*C4-v{nHJj zklvN*w?{r9s<8eExrcNSeTTGlJc!i~Q~fuQPh_$B#JO_%Y%IJmB33^jJwe*f;`Ci# zhc)id(S)T46EUK3);L6gcJYS*w_Q;}oZL;{@%}%&6`3a2Y!{{x@r8jHvNjGrhVt_$KN}YP{hE9L7X1~Y5n$6x>WMf$MFkxR*N-ZdpBLYYX&hB1-xc7; zTKRmx0Jn(3W8SE}&e9d~Jq&IeRVm+Jz^~f;9sF8U75zKeKefI3SvCEDbPoF!`9xM- zXY<7r()ckr3FgwN`~vKUqbPq1&c^SX$5TGEix~eJdMTBc_hTorn)-8OvAz%0YUlrX={C~uMd>Y(MqCxBCD?tCRdX6>+5fkYf3ke^DpiV9h`qfH`PZ-tL@Rxn(3n# zqB_1GtlEE>rkCp$_mjRG)hgfOdqrtcZSt+Q_gC`$hs+0kM!K#3NVb1oQ|-0WuYD<| zXYH>$=x3y@{d))fuC%(JKQpR>ZZ4ALdEu^jN?}wdy|DCoO-;X(UW%;x*GaEJR{iO$ zHzce6BicJ1^ls9sKU<=@=qb_@_!pSoj;L<>c=C7f9{2cN5EhfZk?_a4u8p!vMXzbQ&8;`F_f@KO3OGY4et-0s1@A z*8C6BKOn35AEbXGZOz|c{g|{he{brAz7f;6=I>2CKvwfJROd@YK9#BdkI)mPt^TIy z1En)rI{JGrDn;Kbox#3@wdj$0-({k{wf>CJhe&6#)yNl#9;1&|=DXp9=yCdc``J+9ExU{3pCCWRadgz5pk&#rm_#?7A$!Snou>L;jQ; z-xSB&=*9XXX*Io}+SmG8Wmcny_`c#2ov%~#^8$P-`WwBXG@j=LUx;2R*O%b;m6ws# z_mz3fihPUjD@Vkv%(wWya(v8ceX(qBI@{NXv63-s^cB+9`m|PGPtzNS=~awbtB3v| z`lIr-V}8&Rl=+9qH;dVzKP#QeKZRqB4SF@oe*qsfHtO{#zXCo6H=+C%xOL1Xy)}6s z+yU;S%>II}MsC)-OHW|e;Y7As-zc5Q-tLM0W6Wkfhx{Qt0)C+C%l+NEFt+9G ze7EWWY3umBP5(qXgQ@Y}rmvMwWlPasBHONqZV>fTSr(k<+OEe*PiJ}XhcVfDm5m~w z!Op|!F**7>($;wH&aLi$Sq0J{^{?NZC z-;wz|{Rlbyb^O|2%qjh>w6*^`qyH;Ck#|MDhH*y!Pdb$khf`s`8QsPHR6Vchtlml5 zS{`ThzGU@&>#Y90^eOElS^u2=Bl!n7k)79br6W`#zRZe2j-DZ{=Esk3 zIM22@k^QSLvAJWRfA#IkT=n;^zMHK2dsja!ZT0t_9=A3rrteJzz2pC2T#|Mbmd@%e!t-a*#;iu@COAGrwZhmVlU z$~-fUlPk+SGcJ(p$h>A;BR7$G&A3NyEAuXcZD;sPO|-6>dZpaB-VE77912 zD)Tb^#CVxTU2-MZ55GjNCG$R`6}h3z`;1P~R{tW5*(y)dk1}>p`LQUU%%Y5aen+ZCoI)mH8Os8u_Tq#~Am>58!OAkbzTE{H1YEe{uXSWO&Hp`gbxb zY($a8_3sq;DRLajC$l0(Df07h3S2?@l&2|tH8R$yBW=xZtZ`z8nx2||ym5i7rXO!y zm$vFZW!#pw>OW=F&b2SEVn(9^?yStk=S|sKF{1}re7}5GNHL>7`KtjUU)&f<&VqM^ z6gNhZx5Il}PaE%%e}Qx0Nzzt-N*Gt9GuScY-zbz|wBITEXYDV_7~Q3<^|y>MR+-ls zD4v&5#(1CH6pn`ja zOIF*3;W@0vO2!iHhw0n<6CXx5V;o0 zXKQtgW8@C-u8=y$S@IA#iPbf(kSD=@_@1=Y|9ZytpT+#;Xp4~_U8sQ}evLwSjdVjJ zjl5O5vGE!Cfb>hoV)6;;rp9{mCFz%qz2pbdEsQpMMf<7DJsAHBwK9Z)=i9Bx>U?{2 zp;z)PpFdluUB1Qn_CwauDDsPF!P-7L88wvU=Wlylos0%#vH!_|n~`^8`k93~8?TU$ zz;ofQ($@GS8hfQv*%{<#^R7nI{r2f~Gde1B-y8UK;6mLD@hcZ%e^?Y=3-^__+VdNa zDX-Sg?uPq-DzDbh?uJj=D&NB>uky5hB^gx;xCzx)>syl1nyl8hB%_nG)m|@SoTGkk zV-b~C>sxPQ8Ck7wy^XbG@qN%_*2maP7SCr+fp?I<#r!6-zQ#WC4{!>6gq$Pu{fy(} z-(|j^aZ%dpUw`A{gK9h)4-xC{KqHgf7WTsnq^?^jqYU>UHGct_A8nZAX)-_BC_2d2?idah`%(hj*kf;Gg1>BYD7fKf6Ki%j>E(@o?gUEH@BsRksPHqSL;jz-z^gc7zt2~Y0OydtK z|1-*GYcq{gcem~zRCY`~%4j1uV`qZCA#)ry$70M^!Hzuc%x4?dQ7WrqHUu-NOACdXR#!|Al zzM90oGFFqt^;JK-k*wC=uZ?W7T7SPb_DWmp?-JwL6Jq{zn0mjz#AriS>+=$0w6wK8 zFEs*={8D3?BfreZD&TBodHi)3US|AE7RTQ(_^`CqpXEm5llJ~BH+qv*f0i4cNvH88 zDPsLyX?#Im3#Y(eJIa4&98!52|J6pGBfr`>aEjs2n!haL_W}+(E%V$QDW;cY#E^@^ zDR43JvogQdC_}Cz^J|St?Y;B#c4s(*G6MDS-fBJvyH|g^2E2r`n1VdM*a-O^Kp!| zWO2V=5}pXRnf$fPZ#HI~742K=`xc|vIXOKV@2y5Sr4hsr)U`zrxwZRPujtKln4UdcXdY@da6J&p#PolhyW|W2_{r?K#I-FKtbKhY@n# z-v6COSOHg5me+g67v5>qAdB<4_u&`FYX7&(Xhv51zg%tNq{4MzXYZeBNWENL&5iV;sLA`%n9~ea3mR8jpR(HL@CyUyQqCH6Fhh?4qb| zwYT3$lD4*wgGNVbYkzvs80aW}(3tKhf5@2Q$R9FRI`Y36>mB*uj0=wZQRA92tv^SN zyJWTg95vYA_Wu5Eq)J=I`#+7vWOcmHGagD?^K;w?y=1R{+~_22$92*8g`5rNz`r}n|80n=BjetS{A_;Nc&PH) z5qM+d6~l8y3C#&lp_l>J$b^YVMaaY=!{sSZ8nwXyD zhekA6jn^aNS!rwfkBzDY{Gu}d7}L+z9vdymv*BGKkBwK!U&G4_|7ZBgKfpIb{xkZJ zcfrZ*iSY*ccQ^%3Azy@76=r-q*)^82b?_ukH>iZ;1KJWFt_1XJHSob5qVQ?JrE;K;|>pdyg5b z)!O8ZWnSGsaIl{=TiNZ zsIM2P#}`Yd@{MpLyn^z%a5AgUzbF3&r@%jw&%#BEG~l`9n{WcWpUeWdKefmU{3tmb zejYwaj)Rl%#N~_RvM_#4jNc&FkoiXZKDn*TH{zl982)mYS{{x0b+Vd&_`b-evVj57 z{)>Fy17Wp(_bl=v&y%*s>m|+~2J^T-k;mA4wr~^vw9WmBG~@M^X?tkFn~>G^(1N!i ztL5F2cOt9pp(XD@9-b=3w-xV49uKF$LzQXywdSdm{~GzBMOyR8(y9D=cr^Se<;8O= zlUW-+n|xHZ*M={aw&wR0zV(rq-wbvM`3XhZ@`KW9eEh5f&y$|cTE36{Q;}CW`%jhc z0di6S6+U&;@wfEXwD7HU8Ev=5<#bO8Y`zp`dp#3EF2G{T_!dU-!4;a_W zxmP-ku6GaNg~;l9_YmHUJQU@V*_*s0`CZxGoBTEMRJeTXo4k*7DxVEkhlfb3{bi%r zp*%&IeS>^c&oDlTEPns&<=AAt$mXV=5qy=jb$`oSe3$eD_8scCjeUz(kw1xHjn_zC zhKu>L#{X^J#pdGSZ}WaOPmUeKN83Cz_FcYHnSVP`oS#nQ`=#;xdw5sKME*PFcfp4v zKHw+GN8mr{|bS#Wd8tLOJm=IzMp`Tdi5SMq3-$MtC5i~J#s>(P7& zIaB7R@CD>=$={II$?{Y94`gvYe`D-azLhMl=Wm67A!nofj@Wd5g!~)42fj+aDBJ&- zhkDg`JcfUb{g^*R4o}1VVsI7dOcn>9f?p*Ke)1bz)0%a7GXzD3-(yo&S$)*Nmhx13KU zcZa*it>kB=Ggu1zdfX~r1HYmz_BT`D0dcE&C+SqS2u@^c_(k%1@(uDYRDvXE-84yG3opUdOO&E@oSc}a3-$_L1ODgQfp1e}cf8ZS!c zXcOQy| zAYVWJ03R)#D#x!0+*JOAPX>E}e4F@#JXt!G#Y_?3ul<#C`IA1W>>1e44)Z$XRxvt*r4}MBIm#N>A zJ;ooA)$h$7<1dyJ^LJho9vYv=Q>4>a>8ZFr8~+!dM6L!mi9f;DDD(R8)cBKpvvewJ zPOg(6+Ov*NCwXg|ze0Jx^eL@3$|tf@e1OW!@x1Cj#RIUl{w|L{&6nBg#%#gs?9U>2fUfh@nMg7H=9d`G0!lYD~E-8CfVFE%;VW? z^Xp-z=Zeik!XiE8%LMx~KCG~(ug#Og;yuf4o)cEWb6t7@i%%ENw=UzU^NgskTsf?~ zXQXs0E06rv_)4A`(&x2ZnEyNB&wFxgeiUBWbJk{$S;Z4sPW9&s%Ey`2Jl)F&onTh? zeDZA2mCYKSv(E+nvRTtpuY$08zqu>EwxAdGnA~JhuqFHnyj9O+|KhpIqzAqKWyijN>=22!3 z&zm*}%wC>JHfNfBJ)3P_Xb$kiRSr&XsX55g)#i2Po1PgqZ!?oUc{cAiM|u*fsQTi0 zk4fejPaT{4n`1rgY)&@Ed&ZE}^N`>1Ot9srn(uk$*z9NTd)C;Tu21mnwmHl7f#;;n zqs$LI_iPTBA9)H@4fZe7{MggN=7na4XR*yo&FP-AHm@^hdP-Ic*578%_6)Rnzd7Ht zf-IhAm}D;UM3WlpDp(^v^ia0;puF1 zmg_su5SvGtt34BK4w!2_3vA9b*Lx1zywKd_sZvArM@)aIxy6%g^Ez|8XSvPW%pA{c zoA;Z$J#}lU`r>(mN#;IJdz<^4zjy}NoNONOWRTVKkPmw1*z!}&L!K;~{p^V6XPeXY zqn=YXXSx3H+_QOlp~A!Q_aVoMmGC# z%9?0%x~_TOv^mQa;+<&oDAVnoYjeQl-t{(Tn&I9nHZL?Iye;ag{)p)>HKV+fY+h#; z_U72U&5ZMg*9(^4Zx;7aRmMuTkEa%;0 zGwu)ep0+t%ui(9JbC#=;H?qF!kC^@_v$D6m%>lETx2esUW-ae%n-`jOy@zdHYS#A_ zY7lI1o!Q9S-sWxQOWs*F?>C!!|B_B)ui*HTWVZI6x4FOB#(Ul7WV5aJzRjb|cHYnz z#Pn4CfcdI7%I2wNqPLjMe%8(VjLqq~-&@&cJn!3E&t^RD+uPJ;Jn!4v!Dc+~+uPk{ zJn!54hRt~1w|BJ7d9LB!RGW{PBfL{=K4YeMGi||O7An;)71 z?@u;|`X+ey+3fXw;Qig^7~drCX`ADHA9??=xtN~ry=!wR-!!kQVQ{=F_&)W9+g#N* z!y9XJJ>N`kg3XP6pL;9X+|oDKTg&ElzIp$Ty*GiYs#+hv*WQP7IB?Ehd#hN2km8gB z4wPCN8W<@KIc20s4rQfghJ{xtZb_PHkw%$QnwsQLRGOAUn2BhZmP6>(q|_YJG*ctf z)Ow$_o@a43+ql}j_c#4t>%-^qyPjt~YhHWpb=KZHG{MHb`Ml81HtxsghbG&22wxC7 zz{Vr^qR>Zd{3L%TbR=;<*}vWmecHwk8SjNouyLBPBs9mya6Jf}Wn;J=gf6ymwy`pF zxsBnxP3RgMzvRge{mjNwjZZ>%*m$0?F0{nPi;eZ6$87wO@mXl8jXyO$4|Uy+^)Je^ z)z}(p*|p_6S~i=PgiY2!w`G&I-7vHWc4`!;UP z&xfwEaXh~eT4>{r{P)l=ZQPAB-yR$H<}Tks8~5XG-$@$};a=Z48;{_jK39C8{-5NA z&ysvZ6Zc1N`%GWFjX&^J@}=2$jW5hM*T$dus`-j-yu%me^Ck%Y=`YZvfW$$yhC#>P?pmcHILuIF#%%eL`N{x-gR8{g)S z_noqF2Y;fk<{bh5-TfVWy=0lxO=E*|-Xy>?^TxIM4Cf0OwtU%ZW{^L$^rjo;v(_!ilCAz$Y!A;$OhulHG9 z(4XMFMxig!#s`g!zR@=R!Pw+mV&gN$7rsL_9?G`)s@)avcfr`<>tf>|zSB3x#-aQl zzU4Nq!oT(%wQ)Ev@m1>@@E7UX=S#A2Eq=h4Y2!xxkZ*~NWBC!^Ase^m$9&bg1^mVH zERM1O+!8m7Oy zjSm`?{Nrr=gAwM>xA7UHn*WrIhqCJaI(G;BT`;2jy=@%CYx=Wo9Lj6?KecfcUe{l0 z<8XeXzfP}!zerC*e=i%?;xYaSHg3e5`txlZ%VYhgY}}eR_t&{6;4hxH^!K)LN8ZYx zZR2kIHvgwK?#Cd+D8@!kQQyVYj_xekT@qPV${PlaIKf!yA6o0CX4;rcdmu>um z(cfQW<1@ws{);vq${zAJ>l5&I!5HixWaA+Ih=00`L;0irEjF&g)BG$Y5I>wh?r&z} zNY6e4Kx}jl1#j{w+4{ z%_sU1X{gzPP_G(R2OHZM@fb%Rku02aSdPSvLN`c-voW<1@y4 ze)wd!Twe))L)lV)oQ*FS%lv6J4&opAb8Q^TSNeC`xC;N+?;jBG7tYuC<7^!1`P4tm z#(90Ell)tMv5m*@{eJi)d0G8U_3#~Kl$Tryw^D8Pq*yGjUzoiW3-KHal^>7aU*US z`)wS{D;r@C2mH0>RgEMY$MfrrOdEIP5ylc5cjJ-9AshGRHH>P51OEE)XrqgbhwwVa z7#ok^^^7Gpev&sZ_S<+2Z)AiG3HY1Hn;1zpp3IvWnKquzZ#I_L_zm8|IAr66{8pp; zP~q=Y`M%K~!dn|9l5^MxaQ}KfysdHTBSH_)=L72z@y2t+KLPt9+8Lh`Uj(ikafi`t z7}~q;fbU~Rv^R2*>G${~<2%Xte%VGm$v7uj{eIcWV2{fDcpFZF-=nooMlkU$#9Z=t zZz6C3=&zGJ)f)}JM>dVrn?`gsW)k<8+}&7DJW_H`;}~(4YzlCzh-4#^Se$Q+kGR*k`7xna=O20-w-Mv-r@f6tV*LHIxABN%{QdNFa35m= zaY`a%9U@YUm6Fx(yM2uoX|g`4{`wl-C9C)I_BDD-o+{5bBuDf$9wZj$8PbuRUflV9d0ap#MdlhgpE3=neq6c`r)W4?u zxdp@bBFgwn;DZrU%W?JU)5;j@V@4TceatH3BhvqD#RkuT-}kErxE62&;5TJ^s`DRj z81LBlt?)ODOD_*!Yn+9ykT~EO9sB3Dw^=ekbk^oDCd28q4<>@Y?F{7$)&Ez#D+85l@!-JfkM@ z>r$U*G$39GyrufPMlA6Mz+VB!AnbCc7{}{sql6g8>&HgelNcZSd%kfiG4}U-;~``X$LAX3F&mfYYmC{%I6gly7TCB% z|HLRJ#__q<*l*+N)jw6^jpoCGGRE<_!Km|;$X^zFX9{C=A~za$5N`l(61mCfPW%mU ziT=4UnfQXV-)zhv4t`D8e`(|rR{}24w;BhDqk-#0ZZm!)ZX)f!GR_gVlJ>>MEtw)e z2SPdlhg9Eb+)g|R*aYrC`~`4T;BLs87nTIcY^QOrWHo>6H2T{(1@wb$9O>C*JZ@ue z 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 \ No newline at end of file diff --git a/Invoke-ConfigurationGenerator.ps1 b/Invoke-ConfigurationGenerator.ps1 new file mode 100644 index 0000000..24eb5d8 --- /dev/null +++ b/Invoke-ConfigurationGenerator.ps1 @@ -0,0 +1,913 @@ +#Requires -Version 3 + +<# + .SYNOPSIS + Dynamically generates the XML required for the Invoke-DriverPackageCreation powershell script. + + .DESCRIPTION + This script greatly reduces the amount of time it would take to build the XML by hand after determining how many models are deployed within the current environment. + + .PARAMETER QuerySQLDatabase + Determines whether or not to enable the SQL database querying functionality. + + .PARAMETER SQLDatabaseFQDN + The fully qualified domain name of the SQL database that will be queried. Windows authentication will be used by default, but SQL authentication can be used if modifications are made to the 'Invoke-SQLDBQuery' parameters. + + .PARAMETER SQLDatabaseBName + The name of the SQL database that will be queried. + + .PARAMETER LogDir + A valid folder path. If the folder does not exist, it will be created. This parameter can also be specified by the alias "LogPath". + + .PARAMETER ContinueOnError + Ignore failures. + + .EXAMPLE + Use this command to execute a VBSCript that will launch this powershell script automatically with the specified parameters. This is useful to avoid powershell execution complexities. + + cscript.exe /nologo "%FolderPathContainingScript%\%ScriptName%.vbs" /SwitchParameter /ScriptParameter:"%ScriptParameterValue%" /ScriptParameterArray:"%ScriptParameterValue1%,%ScriptParameterValue2%" + + wscript.exe /nologo "%FolderPathContainingScript%\%ScriptName%.vbs" /SwitchParameter /ScriptParameter:"%ScriptParameterValue%" /ScriptParameterArray:"%ScriptParameterValue1%,%ScriptParameterValue2%" + + .EXAMPLE + powershell.exe -ExecutionPolicy Bypass -NoProfile -NoLogo -File "%FolderPathContainingScript%\%ScriptName%.ps1" -SwitchParameter -ScriptParameter "%ScriptParameterValue%" + + .EXAMPLE + powershell.exe -ExecutionPolicy Bypass -NonInteractive -NoProfile -NoLogo -WindowStyle Hidden -Command "& '%FolderPathContainingScript%\%ScriptName%.ps1' -ScriptParameter1 '%ScriptParameter1Value%' -ScriptParameter2 %ScriptParameter2Value% -SwitchParameter" + + .NOTES + If using the database query functionality to get the model list, just ensure that the following columns are returned in order for the XML schema to be generated correctly. + + BaseboardProduct + SystemFamily + SystemManufacturer + SystemProductName + SystemSKU + SystemVersion + + .LINK + Place any useful link here where your function or cmdlet can be referenced +#> + +[CmdletBinding(SupportsShouldProcess=$True)] + Param + ( + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [Switch]$QuerySQLDatabase, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [String]$SQLDatabaseFQDN, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [String]$SQLDatabaseBName, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [Alias('LogDir', 'LogPath')] + [System.IO.DirectoryInfo]$LogDirectory, + + [Parameter(Mandatory=$False)] + [Switch]$ContinueOnError + ) + +Function Get-AdministrativePrivilege + { + $Identity = [System.Security.Principal.WindowsIdentity]::GetCurrent() + $Principal = New-Object System.Security.Principal.WindowsPrincipal($Identity) + Write-Output -InputObject ($Principal.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)) + } + +If ((Get-AdministrativePrivilege) -eq $False) + { + [System.IO.FileInfo]$ScriptPath = "$($MyInvocation.MyCommand.Path)" + + $ArgumentList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $ArgumentList.Add('-ExecutionPolicy Bypass') + $ArgumentList.Add('-NoProfile') + $ArgumentList.Add('-NoExit') + $ArgumentList.Add('-NoLogo') + $ArgumentList.Add("-File `"$($ScriptPath.FullName)`"") + + $Null = Start-Process -FilePath "$([System.Environment]::SystemDirectory)\WindowsPowershell\v1.0\powershell.exe" -WorkingDirectory "$([System.Environment]::SystemDirectory)" -ArgumentList ($ArgumentList.ToArray()) -WindowStyle Normal -Verb RunAs -PassThru + } +Else + { + #Determine the date and time we executed the function + $ScriptStartTime = (Get-Date) + + #Define Default Action Preferences + $Script:DebugPreference = 'SilentlyContinue' + $Script:ErrorActionPreference = 'Stop' + $Script:VerbosePreference = 'SilentlyContinue' + $Script:WarningPreference = 'Continue' + $Script:ConfirmPreference = 'None' + $Script:WhatIfPreference = $False + + #Load WMI Classes + $Baseboard = Get-WmiObject -Namespace "root\CIMv2" -Class "Win32_Baseboard" -Property * + $Bios = Get-WmiObject -Namespace "root\CIMv2" -Class "Win32_Bios" -Property * + $ComputerSystem = Get-WmiObject -Namespace "root\CIMv2" -Class "Win32_ComputerSystem" -Property * + $OperatingSystem = Get-WmiObject -Namespace "root\CIMv2" -Class "Win32_OperatingSystem" -Property * + $MSSystemInformation = Get-WmiObject -Namespace "root\WMI" -Class "MS_SystemInformation" -Property * + + #Retrieve property values + $OSArchitecture = $($OperatingSystem.OSArchitecture).Replace("-bit", "").Replace("32", "86").Insert(0,"x").ToUpper() + + #Define variable(s) + $DateTimeLogFormat = 'dddd, MMMM dd, yyyy @ hh:mm:ss.FFF tt' ###Monday, January 01, 2019 @ 10:15:34.000 AM### + [ScriptBlock]$GetCurrentDateTimeLogFormat = {(Get-Date).ToString($DateTimeLogFormat)} + $DateTimeMessageFormat = 'MM/dd/yyyy HH:mm:ss.FFF' ###03/23/2022 11:12:48.347### + [ScriptBlock]$GetCurrentDateTimeMessageFormat = {(Get-Date).ToString($DateTimeMessageFormat)} + $DateFileFormat = 'yyyyMMdd' ###20190403### + [ScriptBlock]$GetCurrentDateFileFormat = {(Get-Date).ToString($DateFileFormat)} + $DateTimeFileFormat = 'yyyyMMdd_HHmmss' ###20190403_115354### + [ScriptBlock]$GetCurrentDateTimeFileFormat = {(Get-Date).ToString($DateTimeFileFormat)} + [System.IO.FileInfo]$ScriptPath = "$($MyInvocation.MyCommand.Definition)" + [System.IO.DirectoryInfo]$ScriptDirectory = "$($ScriptPath.Directory.FullName)" + [System.IO.DirectoryInfo]$ContentDirectory = "$($ScriptDirectory.FullName)\Content" + [System.IO.DirectoryInfo]$FunctionsDirectory = "$($ScriptDirectory.FullName)\Functions" + [System.IO.DirectoryInfo]$ModulesDirectory = "$($ScriptDirectory.FullName)\Modules" + [System.IO.DirectoryInfo]$ToolsDirectory = "$($ScriptDirectory.FullName)\Tools" + [System.IO.DirectoryInfo]$ToolsDirectory_OSAll = "$($ToolsDirectory.FullName)\All" + [System.IO.DirectoryInfo]$ToolsDirectory_OSArchSpecific = "$($ToolsDirectory.FullName)\$($OSArchitecture)" + [System.IO.DirectoryInfo]$System32Directory = [System.Environment]::SystemDirectory + [System.IO.DirectoryInfo]$ProgramFilesDirectory = "$($Env:SystemDrive)\Program Files" + [System.IO.DirectoryInfo]$ProgramFilesx86Directory = "$($Env:SystemDrive)\Program Files (x86)" + [System.IO.FileInfo]$PowershellPath = "$($System32Directory.FullName)\WindowsPowershell\v1.0\powershell.exe" + [System.IO.DirectoryInfo]$System32Directory = "$([System.Environment]::SystemDirectory)" + $IsWindowsPE = Test-Path -Path 'HKLM:\SYSTEM\ControlSet001\Control\MiniNT' -ErrorAction SilentlyContinue + [System.Text.RegularExpressions.RegexOptions[]]$RegexOptions = [System.Text.RegularExpressions.RegexOptions]::IgnoreCase, [System.Text.RegularExpressions.RegexOptions]::Multiline + [ScriptBlock]$GetRandomGUID = {[System.GUID]::NewGUID().GUID.ToString().ToUpper()} + [String]$ParameterSetName = "$($PSCmdlet.ParameterSetName)" + $TextInfo = (Get-Culture).TextInfo + $Script:LASTEXITCODE = 0 + $TerminationCodes = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $TerminationCodes.Add('Success', @(0)) + $TerminationCodes.Add('Warning', @(5000..5999)) + $TerminationCodes.Add('Error', @(6000..6999)) + $Script:WarningCodeIndex = 0 + [ScriptBlock]$GetAvailableWarningCode = {$TerminationCodes.Warning[$Script:WarningCodeIndex]; $Script:WarningCodeIndex++} + $Script:ErrorCodeIndex = 0 + [ScriptBlock]$GetAvailableErrorCode = {$TerminationCodes.Error[$Script:ErrorCodeIndex]; $Script:ErrorCodeIndex++} + $LoggingDetails = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $LoggingDetails.Add('LogMessage', $Null) + $LoggingDetails.Add('WarningMessage', $Null) + $LoggingDetails.Add('ErrorMessage', $Null) + $RegularExpressionTable = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $RegularExpressionTable.Base64 = '^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$' -As [Regex] + $CommonParameterList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $CommonParameterList.AddRange([System.Management.Automation.PSCmdlet]::CommonParameters) + $CommonParameterList.AddRange([System.Management.Automation.PSCmdlet]::OptionalCommonParameters) + $HashAlgorithm = 'SHA256' + + #Define the error handling definition + [ScriptBlock]$ErrorHandlingDefinition = { + If (($Null -ieq $Script:LASTEXITCODE) -or ($Script:LASTEXITCODE -eq 0)) + { + [Int]$Script:LASTEXITCODE = $GetAvailableErrorCode.InvokeReturnAsIs() + } + + $ErrorMessageList = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ErrorMessageList.Add('Message', $_.Exception.Message) + $ErrorMessageList.Add('Category', $_.Exception.ErrorRecord.FullyQualifiedErrorID) + $ErrorMessageList.Add('ExitCode', $Script:LASTEXITCODE) + $ErrorMessageList.Add('Script', $_.InvocationInfo.ScriptName) + $ErrorMessageList.Add('LineNumber', $_.InvocationInfo.ScriptLineNumber) + $ErrorMessageList.Add('LinePosition', $_.InvocationInfo.OffsetInLine) + $ErrorMessageList.Add('Code', $_.InvocationInfo.Line.Trim()) + + ForEach ($ErrorMessage In $ErrorMessageList.GetEnumerator()) + { + $LoggingDetails.ErrorMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - ERROR: $($ErrorMessage.Key): $($ErrorMessage.Value)" + Write-Warning -Message ($LoggingDetails.ErrorMessage) -Verbose + } + + Switch (($ContinueOnError.IsPresent -eq $False) -or ($ContinueOnError -eq $False)) + { + {($_ -eq $True)} + { + Throw + } + } + } + + #Determine default parameter value(s) + Switch ($True) + { + {([String]::IsNullOrEmpty($LogDirectory) -eq $True) -or ([String]::IsNullOrWhiteSpace($LogDirectory) -eq $True)} + { + [System.IO.DirectoryInfo]$ApplicationDataRootDirectory = "$($Env:ProgramData)\Invoke-DriverPackageCreator" + + [System.IO.DirectoryInfo]$LogDirectory = "$($ApplicationDataRootDirectory.FullName)\Logs" + } + } + + #Start transcripting (Logging) + [System.IO.FileInfo]$ScriptLogPath = "$($LogDirectory.FullName)\$($ScriptPath.BaseName)_$($GetCurrentDateFileFormat.Invoke()).log" + If ($ScriptLogPath.Directory.Exists -eq $False) {$Null = [System.IO.Directory]::CreateDirectory($ScriptLogPath.Directory.FullName)} + Start-Transcript -Path "$($ScriptLogPath.FullName)" -Force -WhatIf:$False + + #Log any useful information + [String]$CmdletName = $MyInvocation.MyCommand.Name + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Execution of script `"$($CmdletName)`" began on $($ScriptStartTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Script Path = $($ScriptPath.FullName)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + [String[]]$AvailableScriptParameters = (Get-Command -Name ($ScriptPath.FullName)).Parameters.GetEnumerator() | Where-Object {($_.Value.Name -inotin $CommonParameterList)} | ForEach-Object {"-$($_.Value.Name):$($_.Value.ParameterType.Name)"} + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Available Script Parameter(s) = $($AvailableScriptParameters -Join ', ')" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + [String[]]$SuppliedScriptParameters = $PSBoundParameters.GetEnumerator() | ForEach-Object {"-$($_.Key):$($_.Value.GetType().Name)"} + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Supplied Script Parameter(s) = $($SuppliedScriptParameters -Join ', ')" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Switch ($True) + { + {([String]::IsNullOrEmpty($ParameterSetName) -eq $False)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Parameter Set Name = $($ParameterSetName)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + } + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Command Line: $((Get-WMIObject -Namespace 'Root\CIMv2' -Class 'Win32_Process' -Filter "ProcessID = $($PID)").CommandLine)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($PSBoundParameters.Count) command line parameter(s) were specified." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $OperatingSystemDetailsTable = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $OperatingSystemDetailsTable.ProductName = $OperatingSystem.Caption -ireplace '(Microsoft\s+)', '' + $OperatingSystemDetailsTable.Version = $OperatingSystem.Version + $OperatingSystemDetailsTable.Architecture = $OperatingSystem.OSArchitecture + + $OperatingSystemRegistryDetails = New-Object -TypeName 'System.Collections.Generic.List[PSObject]' + $OperatingSystemRegistryDetails.Add((New-Object -TypeName 'PSObject' -Property @{Alias = ''; Path = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'; ValueName = 'UBR'; Value = $Null})) + $OperatingSystemRegistryDetails.Add((New-Object -TypeName 'PSObject' -Property @{Alias = 'ReleaseVersion'; Path = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'; ValueName = 'ReleaseID'; Value = $Null})) + $OperatingSystemRegistryDetails.Add((New-Object -TypeName 'PSObject' -Property @{Alias = 'ReleaseID'; Path = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'; ValueName = 'DisplayVersion'; Value = $Null})) + + ForEach ($OperatingSystemRegistryDetail In $OperatingSystemRegistryDetails) + { + $OperatingSystemRegistryDetail.Value = Try {(Get-Item -Path $OperatingSystemRegistryDetail.Path).GetValue($OperatingSystemRegistryDetail.ValueName)} Catch {} + + :NextOSDetail Switch (([String]::IsNullOrEmpty($OperatingSystemRegistryDetail.Value) -eq $False) -and ([String]::IsNullOrWhiteSpace($OperatingSystemRegistryDetail.Value) -eq $False)) + { + {($_ -eq $True)} + { + Switch ($OperatingSystemRegistryDetail.ValueName) + { + {($_ -ieq 'UBR')} + { + $OperatingSystemDetailsTable.Version = $OperatingSystemDetailsTable.Version + '.' + $OperatingSystemRegistryDetail.Value + + Break NextOSDetail + } + } + + Switch (([String]::IsNullOrEmpty($OperatingSystemRegistryDetail.Alias) -eq $False) -and ([String]::IsNullOrWhiteSpace($OperatingSystemRegistryDetail.Alias) -eq $False)) + { + {($_ -eq $True)} + { + $OperatingSystemDetailsTable.$($OperatingSystemRegistryDetail.Alias) = $OperatingSystemRegistryDetail.Value + } + + Default + { + $OperatingSystemDetailsTable.$($OperatingSystemRegistryDetail.ValueName) = $OperatingSystemRegistryDetail.Value + } + } + } + + Default + { + $OperatingSystemDetailsTable.$($OperatingSystemRegistryDetail.ValueName) = $OperatingSystemRegistryDetail.Value + } + } + } + + ForEach ($OperatingSystemDetail In $OperatingSystemDetailsTable.GetEnumerator()) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($OperatingSystemDetail.Key): $($OperatingSystemDetail.Value)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Powershell Version: $($PSVersionTable.PSVersion.ToString())" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $ExecutionPolicyList = Get-ExecutionPolicy -List + + For ($ExecutionPolicyListIndex = 0; $ExecutionPolicyListIndex -lt $ExecutionPolicyList.Count; $ExecutionPolicyListIndex++) + { + $ExecutionPolicy = $ExecutionPolicyList[$ExecutionPolicyListIndex] + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The powershell execution policy is currently set to `"$($ExecutionPolicy.ExecutionPolicy.ToString())`" for the `"$($ExecutionPolicy.Scope.ToString())`" scope." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + + #Log hardware information + $MSSystemInformationMembers = $MSSystemInformation.PSObject.Properties | Where-Object {($_.MemberType -imatch '^NoteProperty$|^Property$') -and ($_.Name -imatch '^Base.*|Bios.*|System.*$') -and ($_.Name -inotmatch '^.*Major.*|.*Minor.*|.*Properties.*$')} | Sort-Object -Property @('Name') + + Switch ($MSSystemInformationMembers.Count -gt 0) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to display device information properties from the `"$($MSSystemInformation.__CLASS)`" WMI class located within the `"$($MSSystemInformation.__NAMESPACE)`" WMI namespace. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + ForEach ($MSSystemInformationMember In $MSSystemInformationMembers) + { + [String]$MSSystemInformationMemberName = ($MSSystemInformationMember.Name) + [String]$MSSystemInformationMemberValue = $MSSystemInformation.$($MSSystemInformationMemberName) + + Switch ([String]::IsNullOrEmpty($MSSystemInformationMemberValue)) + { + {($_ -eq $False)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($MSSystemInformationMemberName) = $($MSSystemInformationMemberValue)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The `"MSSystemInformation`" WMI class could not be found." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + + #region Log Cleanup + [Int]$MaximumLogHistory = 3 + + $LogList = Get-ChildItem -Path ($LogDirectory.FullName) -Filter "$($ScriptPath.BaseName)_*" -Recurse -Force | Where-Object {($_ -is [System.IO.FileInfo])} + + $SortedLogList = $LogList | Sort-Object -Property @('LastWriteTime') -Descending | Select-Object -Skip ($MaximumLogHistory) + + Switch ($SortedLogList.Count -gt 0) + { + {($_ -eq $True)} + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - There are $($SortedLogList.Count) log file(s) requiring cleanup." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + For ($SortedLogListIndex = 0; $SortedLogListIndex -lt $SortedLogList.Count; $SortedLogListIndex++) + { + Try + { + $Log = $SortedLogList[$SortedLogListIndex] + + $LogAge = New-TimeSpan -Start ($Log.LastWriteTime) -End (Get-Date) + + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to cleanup log file `"$($Log.FullName)`". Please Wait... [Last Modified: $($Log.LastWriteTime.ToString($DateTimeMessageFormat))] [Age: $($LogAge.Days.ToString()) day(s); $($LogAge.Hours.ToString()) hours(s); $($LogAge.Minutes.ToString()) minute(s); $($LogAge.Seconds.ToString()) second(s)]." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + $Null = [System.IO.File]::Delete($Log.FullName) + } + Catch + { + + } + } + } + + Default + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - There are $($SortedLogList.Count) log file(s) requiring cleanup." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + } + #endregion + + #region Import Dependency Modules + If (($ModulesDirectory.Exists -eq $True) -and ($ModulesDirectory.GetDirectories().Count -gt 0)) + { + $Modules = Get-Module -Name "$($ModulesDirectory.FullName)\*" -ListAvailable -ErrorAction Stop + + $ModuleGroups = $Modules | Group-Object -Property @('Name') + + ForEach ($ModuleGroup In $ModuleGroups) + { + $LatestModuleVersion = $ModuleGroup.Group | Sort-Object -Property @('Version') -Descending | Select-Object -First 1 + + If ($Null -ine $LatestModuleVersion) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to import dependency powershell module `"$($LatestModuleVersion.Name)`" [Version: $($LatestModuleVersion.Version.ToString())]. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Try {$Null = Import-Module -Name "$($LatestModuleVersion.Path)" -Global -DisableNameChecking -Force -Verbose:$False} Catch {} + } + } + } + #endregion + + #region Dot Source Dependency Scripts + #Dot source any additional script(s) from the functions directory. This will provide flexibility to add additional functions without adding complexity to the main script and to maintain function consistency. + Try + { + If ($FunctionsDirectory.Exists -eq $True) + { + $AdditionalFunctionsFilter = New-Object -TypeName 'System.Collections.Generic.List[String]' + $AdditionalFunctionsFilter.Add('*.ps1') + + $AdditionalFunctionsToImport = Get-ChildItem -Path "$($FunctionsDirectory.FullName)" -Include ($AdditionalFunctionsFilter) -Recurse -Force | Where-Object {($_ -is [System.IO.FileInfo])} + + $AdditionalFunctionsToImportCount = $AdditionalFunctionsToImport | Measure-Object | Select-Object -ExpandProperty Count + + If ($AdditionalFunctionsToImportCount -gt 0) + { + ForEach ($AdditionalFunctionToImport In $AdditionalFunctionsToImport) + { + Try + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to dot source the functions contained within the dependency script `"$($AdditionalFunctionToImport.Name)`". Please Wait... [Script Path: `"$($AdditionalFunctionToImport.FullName)`"]" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + . "$($AdditionalFunctionToImport.FullName)" + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + } + } + } + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + #endregion + + #region Load any required libraries + [System.IO.DirectoryInfo]$LibariesDirectory = "$($FunctionsDirectory.FullName)\Libraries" + + Switch ([System.IO.Directory]::Exists($LibariesDirectory.FullName)) + { + {($_ -eq $True)} + { + $LibraryPatternList = New-Object -TypeName 'System.Collections.Generic.List[String]' + #$LibraryPatternList.Add('') + + Switch ($LibraryPatternList.Count -gt 0) + { + {($_ -eq $True)} + { + $LibraryList = Get-ChildItem -Path ($LibariesDirectory.FullName) -Include ($LibraryPatternList.ToArray()) -Recurse -Force | Where-Object {($_ -is [System.IO.FileInfo])} + + $LibraryListCount = ($LibraryList | Measure-Object).Count + + Switch ($LibraryListCount -gt 0) + { + {($_ -eq $True)} + { + For ($LibraryListIndex = 0; $LibraryListIndex -lt $LibraryListCount; $LibraryListIndex++) + { + $Library = $LibraryList[$LibraryListIndex] + + [Byte[]]$LibraryBytes = [System.IO.File]::ReadAllBytes($Library.FullName) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to load assembly `"$($Library.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $Null = [System.Reflection.Assembly]::Load($LibraryBytes) + } + } + } + } + } + } + } + #endregion + + #Perform script action(s) + Try + { + #region Define the driver package creation settings XML schema + $GetXMLDateCreated = {(Get-Date).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm')} + + $ManufacturerList = New-Object -TypeName 'System.Collections.Generic.List[PSObject]' + + $ManufacturerListEntry = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ManufacturerListEntry.Enabled = $True + $ManufacturerListEntry.Name = 'Dell' + $ManufacturerListEntry.EligibilityExpression = '(^.*Dell.*$)' + $ManufacturerListEntry.ProductIDExpression = @{Name = 'BaseboardProduct'; Expression = {If ($_.SystemSKU.Length -lt 6) {$_.SystemSKU} Else {$Null}}} + $ManufacturerListEntry.ProductIDPropertyName = 'SystemSKU' + $ManufacturerListEntry.URLs = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ManufacturerListEntry.URLs.DriverPackCatalog = 'https://dl.dell.com/catalog/DriverPackCatalog.cab' + $ManufacturerListEntry.URLs.DownloadBase = 'https://dl.dell.com' + $ManufacturerListEntry.ModelList = New-Object -TypeName 'System.Collections.Generic.List[PSObject]' + + If ($QuerySQLDatabase.IsPresent -eq $False) + { + $ManufacturerListEntry.ModelList.Add((New-Object -TypeName 'PSObject' -Property @{Enabled = $False; SystemProductName = 'Latitude 5430'; ProductID = '0B04'; BaseboardProduct = '01Y2TP'; SystemSKU = '0B04'; SystemVersion = ''; SystemFamily = 'Latitude'; SystemManufacturer = $ManufacturerListEntry.Name})) + } + + $ManufacturerListObject = New-Object -TypeName 'PSObject' -Property ($ManufacturerListEntry) + $ManufacturerList.Add($ManufacturerListEntry) + + $ManufacturerListEntry = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ManufacturerListEntry.Enabled = $True + $ManufacturerListEntry.Name = 'HP' + $ManufacturerListEntry.EligibilityExpression = '(^.*HP.*$)|(^.*Hewlett.*Packard.*$)' + $ManufacturerListEntry.ProductIDExpression = @{Name = 'BaseboardProduct'; Expression = {[Regex]::Match($_.BaseboardProduct, '^\w{4}').Value.ToUpper()}} + $ManufacturerListEntry.ProductIDPropertyName = 'BaseboardProduct' + $ManufacturerListEntry.URLs = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ManufacturerListEntry.URLs.DriverPackCatalog = 'https://ftp.hp.com/pub/caps-softpaq/cmit/HPClientDriverPackCatalog.cab' + $ManufacturerListEntry.URLs.DownloadBase = '' + $ManufacturerListEntry.ModelList = New-Object -TypeName 'System.Collections.Generic.List[PSObject]' + + If ($QuerySQLDatabase.IsPresent -eq $False) + { + $ManufacturerListEntry.ModelList.Add((New-Object -TypeName 'PSObject' -Property @{Enabled = $False; SystemProductName = 'HP ZBook Studio G7 Mobile Workstation'; ProductID = '8736'; BaseboardProduct = '8736'; SystemSKU = '8YP41AV'; SystemVersion = ''; SystemFamily = '103C_5336AN HP ZBook'; SystemManufacturer = $ManufacturerListEntry.Name})) + } + + $ManufacturerListObject = New-Object -TypeName 'PSObject' -Property ($ManufacturerListEntry) + $ManufacturerList.Add($ManufacturerListEntry) + + $ManufacturerListEntry = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ManufacturerListEntry.Enabled = $True + $ManufacturerListEntry.Name = 'Lenovo' + $ManufacturerListEntry.EligibilityExpression = '(^.*LENOVO.*$)' + $ManufacturerListEntry.ProductIDExpression = @{Name = 'BaseboardProduct'; Expression = {[Regex]::Match($_.SystemProductName, '^\w{4}').Value.ToUpper()}} + $ManufacturerListEntry.ProductIDPropertyName = 'SystemProductName' + $ManufacturerListEntry.URLs = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ManufacturerListEntry.URLs.DriverPackCatalog = 'https://download.lenovo.com/cdrt/td/catalogv2.xml' + $ManufacturerListEntry.URLs.DownloadBase = '' + $ManufacturerListEntry.ModelList = New-Object -TypeName 'System.Collections.Generic.List[PSObject]' + + If ($QuerySQLDatabase.IsPresent -eq $False) + { + $ManufacturerListEntry.ModelList.Add((New-Object -TypeName 'PSObject' -Property @{Enabled = $False; SystemProductName = '10AXS2CQ00'; ProductID = '10AX'; BaseboardProduct = '10AXS2CQ00'; SystemSKU = 'LENOVO_MT_10AX'; SystemVersion = 'ThinkCentre M73'; SystemFamily = 'To be filled by O.E.M.'; SystemManufacturer = $ManufacturerListEntry.Name})) + } + + $ManufacturerListObject = New-Object -TypeName 'PSObject' -Property ($ManufacturerListEntry) + $ManufacturerList.Add($ManufacturerListObject) + + Switch ($QuerySQLDatabase.IsPresent) + { + {($_ -eq $True)} + { + Switch (Test-Connection -ComputerName $SQLDatabaseFQDN -Count 1 -Quiet) + { + {($_ -eq $True)} + { + $ModelListConfigurationDetails = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ModelListConfigurationDetails.ModelListQueryPath = "$($ContentDirectory.FullName)\DBQueries\GetProductIDList.sql" -As [System.IO.FileInfo] + + Switch ([System.IO.File]::Exists($ModelListConfigurationDetails.ModelListQueryPath.FullName)) + { + {($_ -eq $True)} + { + $ModelListConfigurationDetails.ModelListQueryContents = [System.IO.File]::ReadAllText($ModelListConfigurationDetails.ModelListQueryPath.FullName) + + $InvokeSQLDBQueryParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $InvokeSQLDBQueryParameters.Server = $SQLDatabaseFQDN + $InvokeSQLDBQueryParameters.Database = $SQLDatabaseBName + $InvokeSQLDBQueryParameters.DBQueryList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $InvokeSQLDBQueryParameters.DBQueryList.Add($ModelListConfigurationDetails.ModelListQueryContents) + $InvokeSQLDBQueryParameters.ContinueOnError = $False + $InvokeSQLDBQueryParameters.Verbose = $True + + $SQLDBQueryResultSet = (Invoke-SQLDBQuery @InvokeSQLDBQueryParameters).ResultSet001 | Sort-Object -Property {$_.SystemProductName.Length} -Descending + + $SQLDBQueryResultSetCount = ($SQLDBQueryResultSet | Measure-Object).Count + + Switch ($SQLDBQueryResultSetCount -gt 0) + { + {($_ -eq $True)} + { + ForEach ($SQLDBQueryResult In $SQLDBQueryResultSet) + { + $SQLDBQueryResultDetails = $ManufacturerList | Where-Object {($SQLDBQueryResult.SystemManufacturer -imatch $_.EligibilityExpression.ToString())} + + Switch ($Null -ine $SQLDBQueryResultDetails) + { + {($_ -eq $True)} + { + $ProductID = Try {($SQLDBQueryResult | Select-Object -Property ($SQLDBQueryResultDetails.ProductIDExpression)).BaseBoardProduct} Catch {$Null} + + Switch (([String]::IsNullOrEmpty($ProductID) -eq $False) -and ([String]::IsNullOrWhiteSpace($ProductID) -eq $False)) + { + {($_ -eq $True)} + { + $SQLDBQueryResult.SystemManufacturer = $SQLDBQueryResultDetails.Name + + $SQLDBQueryResult | Add-Member -Name 'Enabled' -Value $True -MemberType NoteProperty + $SQLDBQueryResult | Add-Member -Name 'ProductID' -Value ($ProductID) -MemberType NoteProperty + + Switch ($SQLDBQueryResultDetails.ModelList.ProductID -inotcontains $SQLDBQueryResult.ProductID) + { + {($_ -eq $True)} + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to add product ID `"$($SQLDBQueryResult.ProductID)`" [Model: $($SQLDBQueryResult.SystemProductName)] manufactured by `"$($SQLDBQueryResultDetails.Name)`" to the model list. Please Wait..." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + $SQLDBQueryResultDetails.ModelList.Add($SQLDBQueryResult) + } + } + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Manufacturer `"$($SQLDBQueryResult.SystemManufacturer)`" is currently unsupported." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The SQL query file does not exist. [Path: $($ModelListConfigurationDetails.ModelListQueryPath.FullName)]" + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Unable to contact the specified SQL database server. [Server: $($SQLDatabaseFQDN)]" + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + } + + $XMLWriterSettings = New-Object -TypeName 'System.XML.XMLWriterSettings' + $XMLWriterSettings.Indent = $True + $XMLWriterSettings.IndentChars = "`t" * 1 + $XMLWriterSettings.Encoding = [System.Text.Encoding]::Default + $XMLWriterSettings.NewLineHandling = [System.XML.NewLineHandling]::None + $XMLWriterSettings.ConformanceLevel = [System.XML.ConformanceLevel]::Auto + + $XMLStringBuilder = New-Object -TypeName 'System.Text.StringBuilder' + + $XMLWriter = [System.XML.XMLTextWriter]::Create($XMLStringBuilder, $XMLWritersettings) + + [ScriptBlock]$AddXMLWriterNewLine = {$XMLWriter.WriteWhitespace(("`r`n" * 2))} + + $XMLWriter.WriteStartDocument() + + $AddXMLWriterNewLine.Invoke() + + $XMLWriter.WriteProcessingInstruction("xml-stylesheet", "type='text/xsl' href='style.xsl'") + + $AddXMLWriterNewLine.Invoke() + + $XMLWriter.WriteComment(@' +Please specify the configuration settings that will be used by the driver package creation powershell script. +'@) + + $AddXMLWriterNewLine.Invoke() + + $XMLWriter.WriteComment(@' + + +By default, the settings XML will be automatically modified by the 'Invoke-DriverPackageCreation' script to include the model you execute the script on, but only if it matches one of the manufacturers within the XML. + +To add a model manually, copy and paste the following code into the Powershell ISE on the specific model you want to add to this XML. + +The text will be automatically copied to the clipboard. + +Add the model under the desired manufacturer in order to the entry to be processed correctly. + +### Begin Code Snippet ### + $PropertyList = New-Object -TypeName 'System.Collections.Generic.List[Object]' + $PropertyList.Add(@{Name = 'Enabled'; Expression = {$True}}) + $PropertyList.Add('SystemProductName') + $PropertyList.Add(@{Name = 'ProductID'; Expression = {$_.BaseboardProduct}}) + $PropertyList.Add('BaseboardProduct') + $PropertyList.Add('SystemSKU') + $PropertyList.Add('SystemVersion') + $PropertyList.Add('SystemFamily') + $PropertyList.Add('SystemManufacturer') + + $MSSystemInformation = Get-CIMInstance -Namespace "root\WMI" -Class "MS_SystemInformation" | Select-Object -Property ($PropertyList) + + $XMLAttributes = $MSSystemInformation.PSObject.Properties | ForEach-Object {"$($_.Name)=`"$($_.Value)`""} + + $XMLNode = "" + + Write-Output -InputObject ($XMLNode) + + $Null = $XMLNode | Set-Clipboard -Verbose +### End Code Snippet ### + + + ### Copy and paste the generated text from the clipboard in between the 'ModelList' section for the desired manufacturer ### + + +As an example, the following details are available from the following powershell command + +Get-CIMInstance -Namespace 'Root\WMI' -Class 'MS_SystemInformation' + +BaseBoardManufacturer : Dell Inc. +BaseBoardProduct : 01Y2TP +BaseBoardVersion : A00 +BiosMajorRelease : 1 +BiosMinorRelease : 6 +BIOSReleaseDate : 09/05/2022 +BIOSVendor : Dell Inc. +BIOSVersion : 1.6.1 +ECFirmwareMajorRelease : 255 +ECFirmwareMinorRelease : 255 +InstanceName : ROOT\mssmbios\0000_0 +SystemFamily : Latitude +SystemManufacturer : Dell Inc. +SystemProductName : Latitude 5430 +SystemSKU : 0B04 +SystemVersion : + + +'@) + + $AddXMLWriterNewLine.Invoke() + + $XMLWriter.WriteStartElement('Settings') + + $XMLWriter.WriteElementString('GeneratedBy', [System.Security.Principal.WindowsIdentity]::GetCurrent().Name) + $XMLWriter.WriteElementString('GeneratedOn', $Env:ComputerName.ToUpper()) + $XMLWriter.WriteElementString('GeneratedDate', $GetXMLDateCreated.InvokeReturnAsIs()) + + $XMLWriter.WriteStartElement('OperatingSystemList') + + $OperatingSystemList = Get-WindowsReleaseHistory | Sort-Object -Property @('Name') -Unique + + ForEach ($OperatingSystem In $OperatingSystemList) + { + $XMLWriter.WriteStartElement('OperatingSystem') + + $XMLWriter.WriteAttributeString('Enabled', $True) + $XMLWriter.WriteAttributeString('Vendor', $OperatingSystem.Vendor) + $XMLWriter.WriteAttributeString('Name', $OperatingSystem.Name) + $XMLWriter.WriteAttributeString('NameExpression', ".*$([Regex]::Match($OperatingSystem.Name, '\d+').Value).*") + $XMLWriter.WriteAttributeString('ArchitectureExpression', '.*64.*') + $XMLWriter.WriteAttributeString('ReleaseExpression', '.*') + $XMLWriter.WriteAttributeString('LatestReleaseOnly', $True) + + $XMLWriter.WriteEndElement() + } + + $XMLWriter.WriteEndElement() + + $XMLWriter.WriteStartElement('ManufacturerList') + + $ManufacturerListGroups = $ManufacturerList | Group-Object -Property {$_.Name} + + ForEach ($ManufacturerListGroup In $ManufacturerListGroups) + { + $ManufacturerListGroupDetails = $ManufacturerListGroup.Group + + $XMLWriter.WriteStartElement('Manufacturer') + + $XMLWriter.WriteAttributeString('Enabled', $ManufacturerListGroupDetails.Enabled) + $XMLWriter.WriteAttributeString('Name', $ManufacturerListGroupDetails.Name) + $XMLWriter.WriteAttributeString('EligibilityExpression', $ManufacturerListGroupDetails.EligibilityExpression) + $XMLWriter.WriteAttributeString('ProductIDPropertyName', $ManufacturerListGroupDetails.ProductIDPropertyName) + + $XMLWriter.WriteStartElement('URLs') + + $XMLWriter.WriteAttributeString('DriverPackCatalog', $ManufacturerListGroupDetails.URLs.DriverPackCatalog) + $XMLWriter.WriteAttributeString('DownloadBase', $ManufacturerListGroupDetails.URLs.DownloadBase) + + $XMLWriter.WriteEndElement() + + $XMLWriter.WriteStartElement('ModelList') + + ForEach ($Model In $ManufacturerListGroupDetails.ModelList) + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to add a XML node for product ID `"$($Model.ProductID)`" [Model: $($Model.SystemProductName)] manufactured by `"$($ManufacturerListGroupDetails.Name)`". Please Wait..." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + $XMLWriter.WriteStartElement('Model') + + $XMLWriter.WriteAttributeString('Enabled', $Model.Enabled) + $XMLWriter.WriteAttributeString('SystemProductName', $Model.SystemProductName) + $XMLWriter.WriteAttributeString('ProductID', $Model.ProductID) + $XMLWriter.WriteAttributeString('BaseboardProduct', $Model.BaseboardProduct) + $XMLWriter.WriteAttributeString('SystemSKU', $Model.SystemSKU) + $XMLWriter.WriteAttributeString('SystemVersion', $Model.SystemVersion) + $XMLWriter.WriteAttributeString('SystemFamily', $Model.SystemFamily) + $XMLWriter.WriteAttributeString('SystemManufacturer', $Model.SystemManufacturer) + + $XMLWriter.WriteEndElement() + } + + $XMLWriter.WriteEndElement() + + $XMLWriter.WriteEndElement() + } + + $XMLWriter.WriteEndElement() + + $XMLWriter.WriteEndElement() + + $XMLWriter.WriteEndDocument() + + $XMLWriter.Flush() + + $XMLWriter.Close() + + $DriverPackageCreationXMLContents = $XMLStringBuilder.ToString() + + [System.IO.FileInfo]$DriverPackageCreationXMLExportPath = "$($ContentDirectory.FullName)\Templates\SettingsTemplate.xml" + + [Scriptblock]$ExportDriverPackageCreationXML = { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to export the driver package settings XML to `"$($DriverPackageCreationXMLExportPath.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + If ([System.IO.Directory]::Exists($DriverPackageCreationXMLExportPath.Directory.FullName) -eq $False) {$Null = [System.IO.Directory]::CreateDirectory($DriverPackageCreationXMLExportPath.Directory.FullName)} + + $Null = [System.IO.File]::WriteAllText($DriverPackageCreationXMLExportPath.FullName, $DriverPackageCreationXMLContents, $XMLWriterSettings.Encoding) + } + + Switch ([System.IO.File]::Exists($DriverPackageCreationXMLExportPath.FullName)) + { + {($_ -eq $True)} + { + $MemoryStream = New-Object -TypeName 'System.IO.MemoryStream' + $StreamWriter = New-Object -TypeName 'System.IO.StreamWriter' -ArgumentList ($MemoryStream) + $Null = $StreamWriter.Write($DriverPackageCreationXMLContents) + $Null = $StreamWriter.Flush() + $Null = $MemoryStream.Position = 0 + + $DriverPackageCreationXMLContentHash = Get-FileHash -InputStream $MemoryStream -Algorithm ($HashAlgorithm) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - New Driver Package Settings XML Hash: $($DriverPackageCreationXMLContentHash.Hash)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $DriverPackageCreationXMLExportPathHash = Get-FileHash -Path ($DriverPackageCreationXMLExportPath.FullName) -Algorithm ($HashAlgorithm) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Current Driver Package Settings XML Hash: $($DriverPackageCreationXMLExportPathHash.Hash)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Switch ($DriverPackageCreationXMLContentHash.Hash -ne $DriverPackageCreationXMLExportPathHash.Hash) + { + {($_ -eq $True)} + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The XML metadata file `"$($DriverPackageCreationXMLExportPath.FullName)`" requires an update." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + $Null = $ExportDriverPackageCreationXML.InvokeReturnAsIs() + } + + Default + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The XML metadata file `"$($DriverPackageCreationXMLExportPath.FullName)`" does not require an update." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + } + } + + Default + { + $Null = $ExportDriverPackageCreationXML.InvokeReturnAsIs() + } + } + #endregion + + $Script:LASTEXITCODE = $TerminationCodes.Success[0] + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + Try + { + #Determine the date and time the function completed execution + $ScriptEndTime = (Get-Date) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Script execution of `"$($CmdletName)`" ended on $($ScriptEndTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + #Log the total script execution time + $ScriptExecutionTimespan = New-TimeSpan -Start ($ScriptStartTime) -End ($ScriptEndTime) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Script execution took $($ScriptExecutionTimespan.Hours.ToString()) hour(s), $($ScriptExecutionTimespan.Minutes.ToString()) minute(s), $($ScriptExecutionTimespan.Seconds.ToString()) second(s), and $($ScriptExecutionTimespan.Milliseconds.ToString()) millisecond(s)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Exiting script `"$($ScriptPath.FullName)`" with exit code $($Script:LASTEXITCODE)." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Stop-Transcript + } + Catch + { + + } + } + } \ No newline at end of file diff --git a/Invoke-ConfigurationGenerator.vbs b/Invoke-ConfigurationGenerator.vbs new file mode 100644 index 0000000..2190820 --- /dev/null +++ b/Invoke-ConfigurationGenerator.vbs @@ -0,0 +1,145 @@ +'Set object values + Set oArguments = WScript.Arguments.Named + Set oFSO = CreateObject("Scripting.FileSystemObject") + Set oShell = CreateObject("WScript.Shell") + Set oCMD = oFSO.GetFile(oShell.ExpandEnvironmentStrings("%COMSPEC%")) + Set oPowershell = oFSO.GetFile(oShell.ExpandEnvironmentStrings("%WINDIR%") & "\System32\WindowsPowershell\v1.0\powershell.exe") + +'Define ASCII Characters + chrSpace = Chr(32) + chrSingleQuote = Chr(39) + chrDoubleQuote = Chr(34) + +'Define Variable(s) + ScriptInterpreter = CreateObject("Scripting.FileSystemObject").GetFileName(WScript.FullName) + If (oArguments.Exists("Debug") = True) Then DebugMode = True End If + +'Dynamically convert named VBScript arguments to their eqivalent powershell format +oArgumentCount = oArguments.Count + +If (oArgumentCount > 0) Then + StringBuilder = "" + + oArgumentCounter = 1 + + Set ArgumentNameExpression = New RegExp + + With ArgumentNameExpression + .Pattern = "^Debug$" + .IgnoreCase = True + .Global = False + .Multiline = False + End With + + Set ArgumentValueExpression = New RegExp + + With ArgumentValueExpression + .Pattern = "^.*True|.*False$" + .IgnoreCase = True + .Global = False + .Multiline = False + End With + + For Each oArgument In oArguments + ArgumentName = Trim(oArgument) + ArgumentValue = oArguments.Item(oArgument) + + If (Not(ArgumentNameExpression.Test(ArgumentName))) Then + Select Case ((Len(ArgumentValue) > 0) And (Not(ArgumentValueExpression.Test(ArgumentValue)))) + Case True + If (InStr(ArgumentValue, ",") > 0) Then + ArgumentValueParts = Split(ArgumentValue, ",") + + ArgumentValuePartsCount = UBound(ArgumentValueParts) + + ArgumentValuePartStringBuilder = "" + + ArgumentValuePartCounter = 0 + + For Each ArgumentValuePart In ArgumentValueParts + ArgumentValuePartFormat = chrDoubleQuote & ArgumentValuePart & chrDoubleQuote + + ArgumentValuePartStringBuilder = ArgumentValuePartStringBuilder & ArgumentValuePartFormat + + If ((ArgumentValuePartsCount > 0) And (ArgumentValuePartCounter < ArgumentValuePartsCount)) Then + ArgumentValuePartStringBuilder = ArgumentValuePartStringBuilder & "," + ArgumentValuePartCounter = ArgumentValuePartCounter + 1 + End If + Next + + ParameterFormat = "-" & ArgumentName & chrSpace & ArgumentValuePartStringBuilder + ElseIf (IsNumeric(ArgumentValue) = True) Then + ParameterFormat = "-" & ArgumentName & chrSpace & ArgumentValue + Else + ParameterFormat = "-" & ArgumentName & chrSpace & chrDoubleQuote & ArgumentValue & chrDoubleQuote + End If + Case False + ParameterFormat = "-" & ArgumentName + End Select + + If (Len(ParameterFormat) > 0) Then + + If ((oArgumentCount > 1) And (oArgumentCounter < oArgumentCount)) Then + StringBuilder = StringBuilder & chrSpace + End If + + StringBuilder = StringBuilder & ParameterFormat + + ArgumentCounter = oArgumentCounter + 1 + + ParameterFormat = Null + End If + End If + Next + + StringBuilderResult = Trim(StringBuilder) + + If (Len(StringBuilderResult) > 0) Then + PowershellScriptParameters = StringBuilderResult & ";" & chrSpace & "[System.Environment]::Exit(($LASTEXITCODE -Bor [Int](-Not $? -And -Not $LASTEXITCODE)))" + Else + If (DebugMode = True) Then + WScript.Echo("Debug mode is enabled. The specified command will NOT be executed.") + End If + + PowershellScriptParameters = ";" & chrSpace & "[System.Environment]::Exit(($LASTEXITCODE -Bor [Int](-Not $? -And -Not $LASTEXITCODE)))" + End If + + Set ArgumentNameExpression = Nothing + + Set ArgumentValueExpression = Nothing +Else + If (DebugMode = True) Then + WScript.Echo(oArgumentCount & chrSpace & "arguments were specified.") + End If +End If + +'Define Additional Variable(s) + Set ScriptPath = oFSO.GetFile(WScript.ScriptFullName) + ScriptDirectory = ScriptPath.ParentFolder + System32Directory = oShell.ExpandEnvironmentStrings("%WINDIR%") & "\System32" + CommandPromptExecutionParameters = oCMD.Name & chrSpace & "/c" + PowershellExecutionParameters = chrDoubleQuote & oPowershell.Path & chrDoubleQuote & chrSpace & "-ExecutionPolicy Bypass -NonInteractive -NoProfile -NoLogo -WindowStyle Hidden -Command" + PowershellScriptPath = ScriptDirectory & "\" & oFSO.GetBaseName(ScriptPath) & ".ps1" + +'Execute Powershell Script + If (Len(PowershellScriptParameters) > 0) Then + Command = PowershellExecutionParameters & chrSpace & chrDoubleQuote & "&" & chrSpace & chrSingleQuote & PowershellScriptPath & chrSingleQuote & chrSpace & PowershellScriptParameters & chrDoubleQuote + Else + Command = PowershellExecutionParameters & chrSpace & chrDoubleQuote & "&" & chrSpace & chrSingleQuote & PowershellScriptPath & chrSingleQuote & chrDoubleQuote + End If + + If ((ScriptInterpreter = "cscript.exe") Or (DebugMode = True)) Then + WScript.Echo("Command:" & chrSpace & Command) + End If + + If (DebugMode = False) Then + RunCommand = oShell.Run(Command, 0, True) + End If + + If ((ScriptInterpreter = "cscript.exe") Or (DebugMode = True)) And (IsEmpty(RunCommand) = False) Then + WScript.Echo("Exit Code:" & chrSpace & RunCommand) + End If + + If (DebugMode = False) Then + WScript.Quit(RunCommand) + End If \ No newline at end of file diff --git a/Invoke-DriverPackageCreator.ps1 b/Invoke-DriverPackageCreator.ps1 new file mode 100644 index 0000000..050928f --- /dev/null +++ b/Invoke-DriverPackageCreator.ps1 @@ -0,0 +1,1974 @@ +#Requires -Version 3 + +<# + .SYNOPSIS + A brief overview of what your function does + + .DESCRIPTION + Slightly more detailed description of what your function does + + .PARAMETER LogDir + A valid folder path. If the folder does not exist, it will be created. This parameter can also be specified by the alias "LogPath". + + .PARAMETER ContinueOnError + Ignore failures. + + .EXAMPLE + Use this command to execute a VBSCript that will launch this powershell script automatically with the specified parameters. This is useful to avoid powershell execution complexities. + + cscript.exe /nologo "%FolderPathContainingScript%\%ScriptName%.vbs" /SwitchParameter /ScriptParameter:"%ScriptParameterValue%" /ScriptParameterArray:"%ScriptParameterValue1%,%ScriptParameterValue2%" + + wscript.exe /nologo "%FolderPathContainingScript%\%ScriptName%.vbs" /SwitchParameter /ScriptParameter:"%ScriptParameterValue%" /ScriptParameterArray:"%ScriptParameterValue1%,%ScriptParameterValue2%" + + .EXAMPLE + powershell.exe -ExecutionPolicy Bypass -NoProfile -NoLogo -File "%FolderPathContainingScript%\%ScriptName%.ps1" -SwitchParameter -ScriptParameter "%ScriptParameterValue%" + + .EXAMPLE + powershell.exe -ExecutionPolicy Bypass -NonInteractive -NoProfile -NoLogo -WindowStyle Hidden -Command "& '%FolderPathContainingScript%\%ScriptName%.ps1' -ScriptParameter1 '%ScriptParameter1Value%' -ScriptParameter2 %ScriptParameter2Value% -SwitchParameter" + + .NOTES + Any useful tidbits + + .LINK + Place any useful link here where your function or cmdlet can be referenced +#> + +[CmdletBinding(SupportsShouldProcess=$True)] + Param + ( + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [ValidateScript({Test-Path -Path $_})] + [Alias('SP')] + [System.IO.FileInfo]$SettingsPath, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [Alias('CatalogRoot', 'CD', 'CDR')] + [System.IO.DirectoryInfo]$CatalogDirectory, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [Alias('DLD')] + [System.IO.DirectoryInfo]$DownloadDirectory, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [Alias('DPD')] + [System.IO.DirectoryInfo]$DriverPackageDirectory, + + [Parameter(Mandatory=$False)] + [Alias('DD', 'DDL')] + [Switch]$DisableDownload, + + [Parameter(Mandatory=$False)] + [Alias('ERI')] + [Switch]$EnableRobocopyIPG, + + [Parameter(Mandatory=$False)] + [Alias('F')] + [Switch]$Force, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [Alias('LogDir', 'LogPath')] + [System.IO.DirectoryInfo]$LogDirectory, + + [Parameter(Mandatory=$False)] + [Switch]$ContinueOnError + ) + +Function Get-AdministrativePrivilege + { + $Identity = [System.Security.Principal.WindowsIdentity]::GetCurrent() + $Principal = New-Object System.Security.Principal.WindowsPrincipal($Identity) + Write-Output -InputObject ($Principal.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)) + } + +If ((Get-AdministrativePrivilege) -eq $False) + { + [System.IO.FileInfo]$ScriptPath = "$($MyInvocation.MyCommand.Path)" + + $ArgumentList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $ArgumentList.Add('-ExecutionPolicy Bypass') + $ArgumentList.Add('-NoProfile') + $ArgumentList.Add('-NoExit') + $ArgumentList.Add('-NoLogo') + $ArgumentList.Add("-File `"$($ScriptPath.FullName)`"") + + $Null = Start-Process -FilePath "$([System.Environment]::SystemDirectory)\WindowsPowershell\v1.0\powershell.exe" -WorkingDirectory "$([System.Environment]::SystemDirectory)" -ArgumentList ($ArgumentList.ToArray()) -WindowStyle Normal -Verb RunAs -PassThru + } +Else + { + #Determine the date and time we executed the function + $ScriptStartTime = (Get-Date) + + #Define Default Action Preferences + $Script:DebugPreference = 'SilentlyContinue' + $Script:ErrorActionPreference = 'Stop' + $Script:VerbosePreference = 'SilentlyContinue' + $Script:WarningPreference = 'Continue' + $Script:ConfirmPreference = 'None' + $Script:WhatIfPreference = $False + + #Load WMI Classes + $Baseboard = Get-WmiObject -Namespace "root\CIMv2" -Class "Win32_Baseboard" -Property * + $Bios = Get-WmiObject -Namespace "root\CIMv2" -Class "Win32_Bios" -Property * + $ComputerSystem = Get-WmiObject -Namespace "root\CIMv2" -Class "Win32_ComputerSystem" -Property * + $OperatingSystem = Get-WmiObject -Namespace "root\CIMv2" -Class "Win32_OperatingSystem" -Property * + $MSSystemInformation = Get-WmiObject -Namespace "root\WMI" -Class "MS_SystemInformation" -Property * + + #Retrieve property values + $OSArchitecture = $($OperatingSystem.OSArchitecture).Replace("-bit", "").Replace("32", "86").Insert(0,"x").ToUpper() + + #Define variable(s) + $DateTimeLogFormat = 'dddd, MMMM dd, yyyy @ hh:mm:ss.FFF tt' ###Monday, January 01, 2019 @ 10:15:34.000 AM### + [ScriptBlock]$GetCurrentDateTimeLogFormat = {(Get-Date).ToString($DateTimeLogFormat)} + $DateTimeMessageFormat = 'MM/dd/yyyy HH:mm:ss.FFF' ###03/23/2022 11:12:48.347### + [ScriptBlock]$GetCurrentDateTimeMessageFormat = {(Get-Date).ToString($DateTimeMessageFormat)} + $DateFileFormat = 'yyyyMMdd' ###20190403### + [ScriptBlock]$GetCurrentDateFileFormat = {(Get-Date).ToString($DateFileFormat)} + $DateTimeFileFormat = 'yyyyMMdd_HHmmss' ###20190403_115354### + [ScriptBlock]$GetCurrentDateTimeFileFormat = {(Get-Date).ToString($DateTimeFileFormat)} + $DateTimeXMLFormat = 'yyyy-MM-ddTHH:mm:ss' ###2022-10-24T12:45:15### + [ScriptBlock]$GetCurrentDateTimeXMLFormat = {(Get-Date).ToString($DateTimeXMLFormat)} + $DateDriverPackReleaseFormat = 'yyyy-MM-dd' ###2019-04-03### + [ScriptBlock]$GetCurrentDateDriverPackReleaseFormat = {(Get-Date).ToString($DateDriverPackReleaseFormat)} + [System.IO.FileInfo]$ScriptPath = "$($MyInvocation.MyCommand.Definition)" + [System.IO.DirectoryInfo]$ScriptDirectory = "$($ScriptPath.Directory.FullName)" + [System.IO.DirectoryInfo]$ContentDirectory = "$($ScriptDirectory.FullName)\Content" + [System.IO.DirectoryInfo]$FunctionsDirectory = "$($ScriptDirectory.FullName)\Functions" + [System.IO.DirectoryInfo]$ModulesDirectory = "$($ScriptDirectory.FullName)\Modules" + [System.IO.DirectoryInfo]$ToolsDirectory = "$($ScriptDirectory.FullName)\Tools" + [System.IO.DirectoryInfo]$ToolsDirectory_OSAll = "$($ToolsDirectory.FullName)\All" + [System.IO.DirectoryInfo]$ToolsDirectory_OSArchSpecific = "$($ToolsDirectory.FullName)\$($OSArchitecture)" + [System.IO.DirectoryInfo]$System32Directory = [System.Environment]::SystemDirectory + [System.IO.DirectoryInfo]$ProgramFilesDirectory = "$($Env:SystemDrive)\Program Files" + [System.IO.DirectoryInfo]$ProgramFilesx86Directory = "$($Env:SystemDrive)\Program Files (x86)" + [System.IO.FileInfo]$PowershellPath = "$($System32Directory.FullName)\WindowsPowershell\v1.0\powershell.exe" + [System.IO.DirectoryInfo]$System32Directory = "$([System.Environment]::SystemDirectory)" + $IsWindowsPE = Test-Path -Path 'HKLM:\SYSTEM\ControlSet001\Control\MiniNT' -ErrorAction SilentlyContinue + [System.Text.RegularExpressions.RegexOptions[]]$RegexOptions = [System.Text.RegularExpressions.RegexOptions]::IgnoreCase, [System.Text.RegularExpressions.RegexOptions]::Multiline + [ScriptBlock]$GetRandomGUID = {[System.GUID]::NewGUID().GUID.ToString().ToUpper()} + [String]$ParameterSetName = "$($PSCmdlet.ParameterSetName)" + $TextInfo = (Get-Culture).TextInfo + $Script:LASTEXITCODE = 0 + $TerminationCodes = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $TerminationCodes.Add('Success', @(0)) + $TerminationCodes.Add('Warning', @(5000..5999)) + $TerminationCodes.Add('Error', @(6000..6999)) + $Script:WarningCodeIndex = 0 + [ScriptBlock]$GetAvailableWarningCode = {$TerminationCodes.Warning[$Script:WarningCodeIndex]; $Script:WarningCodeIndex++} + $Script:ErrorCodeIndex = 0 + [ScriptBlock]$GetAvailableErrorCode = {$TerminationCodes.Error[$Script:ErrorCodeIndex]; $Script:ErrorCodeIndex++} + $LoggingDetails = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $LoggingDetails.Add('LogMessage', $Null) + $LoggingDetails.Add('WarningMessage', $Null) + $LoggingDetails.Add('ErrorMessage', $Null) + $RegularExpressionTable = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $RegularExpressionTable.Base64 = '^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$' -As [Regex] + $CommonParameterList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $CommonParameterList.AddRange([System.Management.Automation.PSCmdlet]::CommonParameters) + $CommonParameterList.AddRange([System.Management.Automation.PSCmdlet]::OptionalCommonParameters) + [System.IO.FileInfo]$7ZipPath = "$($ToolsDirectory_OSArchSpecific.FullName)\7z.exe" + [String]$HashAlgorithm = 'SHA256' + + #Define the error handling definition + [ScriptBlock]$ErrorHandlingDefinition = { + If (($Null -ieq $Script:LASTEXITCODE) -or ($Script:LASTEXITCODE -eq 0)) + { + [Int]$Script:LASTEXITCODE = $GetAvailableErrorCode.InvokeReturnAsIs() + } + + $ErrorMessageList = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ErrorMessageList.Add('Message', $_.Exception.Message) + $ErrorMessageList.Add('Category', $_.Exception.ErrorRecord.FullyQualifiedErrorID) + $ErrorMessageList.Add('ExitCode', $Script:LASTEXITCODE) + $ErrorMessageList.Add('Script', $_.InvocationInfo.ScriptName) + $ErrorMessageList.Add('LineNumber', $_.InvocationInfo.ScriptLineNumber) + $ErrorMessageList.Add('LinePosition', $_.InvocationInfo.OffsetInLine) + $ErrorMessageList.Add('Code', $_.InvocationInfo.Line.Trim()) + + ForEach ($ErrorMessage In $ErrorMessageList.GetEnumerator()) + { + $LoggingDetails.ErrorMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - ERROR: $($ErrorMessage.Key): $($ErrorMessage.Value)" + Write-Warning -Message ($LoggingDetails.ErrorMessage) -Verbose + } + + Switch (($ContinueOnError.IsPresent -eq $False) -or ($ContinueOnError -eq $False)) + { + {($_ -eq $True)} + { + Throw + } + } + } + + #Determine default parameter value(s) + [System.IO.DirectoryInfo]$ApplicationDataRootDirectory = "$($Env:ProgramData)\$($ScriptPath.BaseName)" + + [System.IO.DirectoryInfo]$StagingDirectory = "$($Env:Windir)\Temp\$($ScriptPath.BaseName)" + + [System.IO.DirectoryInfo]$LocalDriverPackageDirectory = "$($StagingDirectory.FullName)\Packages" + + Switch ($True) + { + {([String]::IsNullOrEmpty($SettingsPath) -eq $True) -or ([String]::IsNullOrWhiteSpace($SettingsPath) -eq $True)} + { + [System.IO.FileInfo]$SettingsTemplate = "$($ContentDirectory.FullName)\Templates\SettingsTemplate.xml" + + [System.IO.FileInfo]$SettingsPath = "$($ApplicationDataRootDirectory.FullName)\Settings\$($ScriptPath.BaseName.Split('-')[1])Settings.xml" + + Switch ([System.IO.File]::Exists($SettingsPath.FullName)) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The settings XML configuration file `"$($SettingsPath.FullName)`" already exists." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + + {($_ -eq $False)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to create settings XML configuration file `"$($SettingsPath.FullName)`" from the settings XML template file `"$($SettingsTemplate.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Switch ([System.IO.Directory]::Exists($SettingsPath.Directory.FullName)) + { + {($_ -eq $False)} + { + $Null = [System.IO.Directory]::CreateDirectory($SettingsPath.Directory.FullName) + } + } + + $Null = Copy-Item -Path ($SettingsTemplate.FullName) -Destination ($SettingsPath.FullName) -Force + } + } + } + + {([String]::IsNullOrEmpty($CatalogDirectory) -eq $True) -or ([String]::IsNullOrWhiteSpace($CatalogDirectory) -eq $True)} + { + [System.IO.DirectoryInfo]$CatalogDirectory = "$($ApplicationDataRootDirectory.FullName)\Catalogs" + } + + {([String]::IsNullOrEmpty($DownloadDirectory) -eq $True) -or ([String]::IsNullOrWhiteSpace($DownloadDirectory) -eq $True)} + { + [System.IO.DirectoryInfo]$DownloadDirectory = "$($StagingDirectory.FullName)\Downloads" + } + + {([String]::IsNullOrEmpty($DriverPackageDirectory) -eq $True) -or ([String]::IsNullOrWhiteSpace($DriverPackageDirectory) -eq $True)} + { + [System.IO.DirectoryInfo]$DriverPackageDirectory = "$($ApplicationDataRootDirectory.FullName)\Out-Of-Box-Driver-Packages" + } + + {([String]::IsNullOrEmpty($LogDirectory) -eq $True) -or ([String]::IsNullOrWhiteSpace($LogDirectory) -eq $True)} + { + [System.IO.DirectoryInfo]$LogDirectory = "$($ApplicationDataRootDirectory.FullName)\Logs" + } + } + + #Start transcripting (Logging) + [System.IO.FileInfo]$ScriptLogPath = "$($LogDirectory.FullName)\$($ScriptPath.BaseName)_$($GetCurrentDateFileFormat.Invoke()).log" + If ($ScriptLogPath.Directory.Exists -eq $False) {$Null = [System.IO.Directory]::CreateDirectory($ScriptLogPath.Directory.FullName)} + Start-Transcript -Path "$($ScriptLogPath.FullName)" -Force -WhatIf:$False + + #Log any useful information + [String]$CmdletName = $MyInvocation.MyCommand.Name + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Execution of script `"$($CmdletName)`" began on $($ScriptStartTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Script Path = $($ScriptPath.FullName)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + [String[]]$AvailableScriptParameters = (Get-Command -Name ($ScriptPath.FullName)).Parameters.GetEnumerator() | Where-Object {($_.Value.Name -inotin $CommonParameterList)} | ForEach-Object {"-$($_.Value.Name):$($_.Value.ParameterType.Name)"} + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Available Script Parameter(s) = $($AvailableScriptParameters -Join ', ')" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + [String[]]$SuppliedScriptParameters = $PSBoundParameters.GetEnumerator() | ForEach-Object {"-$($_.Key):$($_.Value.GetType().Name)"} + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Supplied Script Parameter(s) = $($SuppliedScriptParameters -Join ', ')" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Switch ($True) + { + {([String]::IsNullOrEmpty($ParameterSetName) -eq $False)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Parameter Set Name = $($ParameterSetName)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + } + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Command Line: $((Get-WMIObject -Namespace 'Root\CIMv2' -Class 'Win32_Process' -Filter "ProcessID = $($PID)").CommandLine)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($PSBoundParameters.Count) command line parameter(s) were specified." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $OperatingSystemDetailsTable = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $OperatingSystemDetailsTable.ProductName = $OperatingSystem.Caption -ireplace '(Microsoft\s+)', '' + $OperatingSystemDetailsTable.Version = $OperatingSystem.Version + $OperatingSystemDetailsTable.Architecture = $OperatingSystem.OSArchitecture + + $OperatingSystemRegistryDetails = New-Object -TypeName 'System.Collections.Generic.List[PSObject]' + $OperatingSystemRegistryDetails.Add((New-Object -TypeName 'PSObject' -Property @{Alias = ''; Path = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'; ValueName = 'UBR'; Value = $Null})) + $OperatingSystemRegistryDetails.Add((New-Object -TypeName 'PSObject' -Property @{Alias = 'ReleaseVersion'; Path = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'; ValueName = 'ReleaseID'; Value = $Null})) + $OperatingSystemRegistryDetails.Add((New-Object -TypeName 'PSObject' -Property @{Alias = 'ReleaseID'; Path = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'; ValueName = 'DisplayVersion'; Value = $Null})) + + ForEach ($OperatingSystemRegistryDetail In $OperatingSystemRegistryDetails) + { + $OperatingSystemRegistryDetail.Value = Try {(Get-Item -Path $OperatingSystemRegistryDetail.Path).GetValue($OperatingSystemRegistryDetail.ValueName)} Catch {} + + :NextOSDetail Switch (([String]::IsNullOrEmpty($OperatingSystemRegistryDetail.Value) -eq $False) -and ([String]::IsNullOrWhiteSpace($OperatingSystemRegistryDetail.Value) -eq $False)) + { + {($_ -eq $True)} + { + Switch ($OperatingSystemRegistryDetail.ValueName) + { + {($_ -ieq 'UBR')} + { + $OperatingSystemDetailsTable.Version = $OperatingSystemDetailsTable.Version + '.' + $OperatingSystemRegistryDetail.Value + + Break NextOSDetail + } + } + + Switch (([String]::IsNullOrEmpty($OperatingSystemRegistryDetail.Alias) -eq $False) -and ([String]::IsNullOrWhiteSpace($OperatingSystemRegistryDetail.Alias) -eq $False)) + { + {($_ -eq $True)} + { + $OperatingSystemDetailsTable.$($OperatingSystemRegistryDetail.Alias) = $OperatingSystemRegistryDetail.Value + } + + Default + { + $OperatingSystemDetailsTable.$($OperatingSystemRegistryDetail.ValueName) = $OperatingSystemRegistryDetail.Value + } + } + } + + Default + { + $OperatingSystemDetailsTable.$($OperatingSystemRegistryDetail.ValueName) = $OperatingSystemRegistryDetail.Value + } + } + } + + ForEach ($OperatingSystemDetail In $OperatingSystemDetailsTable.GetEnumerator()) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($OperatingSystemDetail.Key): $($OperatingSystemDetail.Value)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Powershell Version: $($PSVersionTable.PSVersion.ToString())" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $ExecutionPolicyList = Get-ExecutionPolicy -List + + For ($ExecutionPolicyListIndex = 0; $ExecutionPolicyListIndex -lt $ExecutionPolicyList.Count; $ExecutionPolicyListIndex++) + { + $ExecutionPolicy = $ExecutionPolicyList[$ExecutionPolicyListIndex] + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The powershell execution policy is currently set to `"$($ExecutionPolicy.ExecutionPolicy.ToString())`" for the `"$($ExecutionPolicy.Scope.ToString())`" scope." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + + #Log hardware information + $MSSystemInformationMembers = $MSSystemInformation.PSObject.Properties | Where-Object {($_.MemberType -imatch '^NoteProperty$|^Property$') -and ($_.Name -imatch '^Base.*|Bios.*|System.*$') -and ($_.Name -inotmatch '^.*Major.*|.*Minor.*|.*Properties.*$')} | Sort-Object -Property @('Name') + + Switch ($MSSystemInformationMembers.Count -gt 0) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to display device information properties from the `"$($MSSystemInformation.__CLASS)`" WMI class located within the `"$($MSSystemInformation.__NAMESPACE)`" WMI namespace. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $MSSystemInformationTable = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + + ForEach ($MSSystemInformationMember In $MSSystemInformationMembers) + { + [String]$MSSystemInformationMemberName = ($MSSystemInformationMember.Name) + [String]$MSSystemInformationMemberValue = $MSSystemInformation.$($MSSystemInformationMemberName) + + $MSSystemInformationTable.$($MSSystemInformationMemberName) = $MSSystemInformationMemberValue + + Switch ([String]::IsNullOrEmpty($MSSystemInformationMemberValue)) + { + {($_ -eq $False)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($MSSystemInformationMemberName) = $($MSSystemInformationMemberValue)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The `"MSSystemInformation`" WMI class could not be found." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + + #region Log Cleanup + [Int]$MaximumLogHistory = 3 + + $LogList = Get-ChildItem -Path ($LogDirectory.FullName) -Filter "$($ScriptPath.BaseName)_*" -Recurse -Force | Where-Object {($_ -is [System.IO.FileInfo])} + + $SortedLogList = $LogList | Sort-Object -Property @('LastWriteTime') -Descending | Select-Object -Skip ($MaximumLogHistory) + + Switch ($SortedLogList.Count -gt 0) + { + {($_ -eq $True)} + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - There are $($SortedLogList.Count) log file(s) requiring cleanup." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + For ($SortedLogListIndex = 0; $SortedLogListIndex -lt $SortedLogList.Count; $SortedLogListIndex++) + { + Try + { + $Log = $SortedLogList[$SortedLogListIndex] + + $LogAge = New-TimeSpan -Start ($Log.LastWriteTime) -End (Get-Date) + + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to cleanup log file `"$($Log.FullName)`". Please Wait... [Last Modified: $($Log.LastWriteTime.ToString($DateTimeMessageFormat))] [Age: $($LogAge.Days.ToString()) day(s); $($LogAge.Hours.ToString()) hours(s); $($LogAge.Minutes.ToString()) minute(s); $($LogAge.Seconds.ToString()) second(s)]." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + $Null = [System.IO.File]::Delete($Log.FullName) + } + Catch + { + + } + } + } + + Default + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - There are $($SortedLogList.Count) log file(s) requiring cleanup." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + } + #endregion + + #region Import Dependency Modules + If (($ModulesDirectory.Exists -eq $True) -and ($ModulesDirectory.GetDirectories().Count -gt 0)) + { + $Modules = Get-Module -Name "$($ModulesDirectory.FullName)\*" -ListAvailable -ErrorAction Stop + + $ModuleGroups = $Modules | Group-Object -Property @('Name') + + ForEach ($ModuleGroup In $ModuleGroups) + { + $LatestModuleVersion = $ModuleGroup.Group | Sort-Object -Property @('Version') -Descending | Select-Object -First 1 + + If ($Null -ine $LatestModuleVersion) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to import dependency powershell module `"$($LatestModuleVersion.Name)`" [Version: $($LatestModuleVersion.Version.ToString())]. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Try {$Null = Import-Module -Name "$($LatestModuleVersion.Path)" -Global -DisableNameChecking -Force -Verbose:$False} Catch {} + } + } + } + #endregion + + #region Dot Source Dependency Scripts + #Dot source any additional script(s) from the functions directory. This will provide flexibility to add additional functions without adding complexity to the main script and to maintain function consistency. + Try + { + If ($FunctionsDirectory.Exists -eq $True) + { + $AdditionalFunctionsFilter = New-Object -TypeName 'System.Collections.Generic.List[String]' + $AdditionalFunctionsFilter.Add('*.ps1') + + $AdditionalFunctionsToImport = Get-ChildItem -Path "$($FunctionsDirectory.FullName)" -Include ($AdditionalFunctionsFilter) -Recurse -Force | Where-Object {($_ -is [System.IO.FileInfo])} + + $AdditionalFunctionsToImportCount = $AdditionalFunctionsToImport | Measure-Object | Select-Object -ExpandProperty Count + + If ($AdditionalFunctionsToImportCount -gt 0) + { + ForEach ($AdditionalFunctionToImport In $AdditionalFunctionsToImport) + { + Try + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to dot source the functions contained within the dependency script `"$($AdditionalFunctionToImport.Name)`". Please Wait... [Script Path: `"$($AdditionalFunctionToImport.FullName)`"]" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + . "$($AdditionalFunctionToImport.FullName)" + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + } + } + } + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + #endregion + + #region Load any required libraries + [System.IO.DirectoryInfo]$LibariesDirectory = "$($FunctionsDirectory.FullName)\Libraries" + + Switch ([System.IO.Directory]::Exists($LibariesDirectory.FullName)) + { + {($_ -eq $True)} + { + $LibraryPatternList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $LibraryPatternList.Add('AlphaFS.dll') + + Switch ($LibraryPatternList.Count -gt 0) + { + {($_ -eq $True)} + { + $LibraryList = Get-ChildItem -Path ($LibariesDirectory.FullName) -Include ($LibraryPatternList.ToArray()) -Recurse -Force | Where-Object {($_ -is [System.IO.FileInfo])} + + $LibraryListCount = ($LibraryList | Measure-Object).Count + + Switch ($LibraryListCount -gt 0) + { + {($_ -eq $True)} + { + For ($LibraryListIndex = 0; $LibraryListIndex -lt $LibraryListCount; $LibraryListIndex++) + { + $Library = $LibraryList[$LibraryListIndex] + + [Byte[]]$LibraryBytes = [System.IO.File]::ReadAllBytes($Library.FullName) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to load assembly `"$($Library.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $Null = [System.Reflection.Assembly]::Load($LibraryBytes) + } + } + } + } + } + } + } + #endregion + + #Perform script action(s) + Try + { + $ProcessExecutionTable = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ProcessExecutionTable.CurrentProcessToken = [Security.Principal.WindowsIdentity]::GetCurrent() -As [Security.Principal.WindowsIdentity] + $ProcessExecutionTable.CurrentProcessSID = $ProcessExecutionTable.CurrentProcessToken.User -As [Security.Principal.SecurityIdentifier] + $ProcessExecutionTable.ProcessNTAccount = $ProcessExecutionTable.CurrentProcessToken.Name -As [String] + $ProcessExecutionTable.ProcessNTAccountSID = $ProcessExecutionTable.CurrentProcessSID.Value -As [String] + $ProcessExecutionTable.IsAdmin = ($ProcessExecutionTable.CurrentProcessToken.Groups -contains [Security.Principal.SecurityIdentifier]'S-1-5-32-544') -As [Boolean] + $ProcessExecutionTable.IsLocalSystemAccount = $ProcessExecutionTable.CurrentProcessSID.IsWellKnown([Security.Principal.WellKnownSidType]'LocalSystemSid') -As [Boolean] + $ProcessExecutionTable.IsLocalServiceAccount = $ProcessExecutionTable.CurrentProcessSID.IsWellKnown([Security.Principal.WellKnownSidType]'LocalServiceSid') -As [Boolean] + $ProcessExecutionTable.IsNetworkServiceAccount = $ProcessExecutionTable.CurrentProcessSID.IsWellKnown([Security.Principal.WellKnownSidType]'NetworkServiceSid') -As [Boolean] + $ProcessExecutionTable.IsServiceAccount = ($ProcessExecutionTable.CurrentProcessToken.Groups -contains [Security.Principal.SecurityIdentifier]'S-1-5-6') -As [Boolean] + $ProcessExecutionTable.IsProcessUserInteractive = [System.Environment]::UserInteractive -As [Boolean] + $ProcessExecutionTable.LocalSystemNTAccount = (New-Object -TypeName 'System.Security.Principal.SecurityIdentifier' -ArgumentList ([Security.Principal.WellKnownSidType]::'LocalSystemSid', $Null)).Translate([Security.Principal.NTAccount]).Value -As [String] + $ProcessExecutionTable.LocalUsersGroup = (New-Object -TypeName System.Security.Principal.SecurityIdentifier -ArgumentList ([Security.Principal.WellKnownSidType]::'BuiltinUsersSid', $Null)).Translate([System.Security.Principal.NTAccount]).Value -As [String] + $ProcessExecutionTable.LocalAdministratorsGroup = (New-Object -TypeName System.Security.Principal.SecurityIdentifier -ArgumentList ([Security.Principal.WellKnownSidType]::'BuiltinAdministratorsSid', $Null)).Translate([System.Security.Principal.NTAccount]).Value -As [String] + $ProcessExecutionTable.IsSessionZero = If (($ProcessExecutionTable.IsLocalSystemAccount -eq $True) -or ($ProcessExecutionTable.IsLocalServiceAccount -eq $True) -or ($ProcessExecutionTable.IsNetworkServiceAccount -eq $True) -or ($ProcessExecutionTable.IsServiceAccount -eq $True)) {$True} Else {$False} + $ProcessExecutionTable.Is64BitOperatingSystem = [System.Environment]::Is64BitOperatingSystem -As [Boolean] + $ProcessExecutionTable.Is64BitProcess = [System.Environment]::Is64BitProcess -As [Boolean] + $ProcessExecutionTable.CommandLine = [System.Environment]::CommandLine -As [String] + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Settings Path: $($SettingsPath.FullName)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $Script:SettingsTable = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $Script:SettingsTable.XMLModificationCount = 0 + $Script:SettingsTable.GetXMLDateAdded = {(Get-Date).ToUniversalTime().ToString('yyyy-MM-ddTHH:mm:ss')} + + [ScriptBlock]$ReadXMLContent = { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to load the configuration settings from `"$($SettingsPath.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $Script:SettingsXMLContent = [System.IO.File]::ReadAllText($SettingsPath.FullName) + + $Script:SettingsXMLObject = New-Object -TypeName 'System.Xml.XmlDocument' + $Script:SettingsXMLObject.PreserveWhitespace = $True + + $Null = $Script:SettingsXMLObject.LoadXml($Script:SettingsXMLContent) + + $Script:SettingsTable.OperatingSytemList = $Script:SettingsXMLObject.SelectNodes('/Settings/OperatingSystemList//OperatingSystem') | Where-Object {($_.Enabled -eq $True)} + $Script:SettingsTable.ManufacturerList = $Script:SettingsXMLObject.SelectNodes('/Settings/ManufacturerList//Manufacturer') + } + + $Null = $ReadXMLContent.InvokeReturnAsIs() + + $WindowsReleaseHistory = Get-WindowsReleaseHistory -Verbose + + $DriverPackDownloadList = New-Object -TypeName 'System.Collections.Generic.List[PSObject]' + + ForEach ($Manufacturer In $SettingsTable.ManufacturerList) + { + Try + { + Switch ($Manufacturer.Enabled) + { + {($_ -eq $True)} + { + $ManufacturerSettingsTable = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ManufacturerSettingsTable.ModelList = ($Script:SettingsTable.ManufacturerList | Where-Object {($_.Name -ieq $Manufacturer.Name)}).ModelList.Model + + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to process the driver pack catalog for `"$($Manufacturer.Name)`". Please Wait..." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + $DownloadDriverPackCatalog = Invoke-FileDownload -URL ($Manufacturer.URLs.DriverPackCatalog) -Destination "$($CatalogDirectory.FullName)\$($Manufacturer.Name)" -Verbose + + Switch ($DownloadDriverPackCatalog.DownloadPath.Extension -imatch '\.(cab)') + { + {($_ -eq $True)} + { + [System.IO.FileInfo]$DriverPackCatalogExtractionPath = "$($DownloadDriverPackCatalog.DownloadPath.Directory.FullName)\$($DownloadDriverPackCatalog.DownloadPath.BaseName).xml" + + Switch (($DownloadDriverPackCatalog.DownloadRequired -eq $True) -or ([System.IO.File]::Exists($DriverPackCatalogExtractionPath.FullName) -eq $False)) + { + {($_ -eq $True)} + { + $Null = Start-ProcessWithOutput -FilePath "$($System32Directory.FullName)\expand.exe" -ArgumentList "`"$($DownloadDriverPackCatalog.DownloadPath.FullName)`" `"$($DriverPackCatalogExtractionPath.FullName)`"" -AcceptableExitCodeList @('0') -CreateNoWindow -Verbose + } + } + } + } + + $DriverPackCatalogPath = Get-ChildItem -Path ($DownloadDriverPackCatalog.DownloadPath.Directory.FullName) -Filter '*.xml' -Force | Where-Object {($_ -is [System.IO.FileInfo])} | Sort-Object -Property @('LastWriteTime') -Descending | Select-Object -First 1 + + $DriverPackCatalogContents = [System.IO.File]::ReadAllText($DriverPackCatalogPath.FullName) + + $DriverPackCatalog = New-Object -TypeName 'System.Xml.XmlDocument' + $DriverPackCatalog.PreserveWhitespace = $True + $DriverPackCatalog.LoadXml($DriverPackCatalogContents) + + ForEach ($Model In $ManufacturerSettingsTable.ModelList) + { + Switch ($Model.Enabled) + { + {($_ -eq $True)} + { + ForEach ($OperatingSystemEntry In $Script:SettingsTable.OperatingSytemList) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to search the `"$($Manufacturer.Name)`" driver pack catalog for `"$($OperatingSystemEntry.Name)`" drivers for model `"$($Model.BaseboardProduct)`" [Manufacturer: $($Model.SystemManufacturer)] [Model: $($model.SystemProductName)] [Alias: $($Model.SystemVersion)] [SKU: $($Model.SystemSKU)]. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $OperatingSystemEntryReleaseHistory = $WindowsReleaseHistory | Where-Object {($_.Name -imatch $OperatingSystemEntry.NameExpression)} + + $OperatingSystemEntryVersion = $OperatingSystemEntryReleaseHistory[0].Version + + Switch ($Manufacturer.Name) + { + {($_ -iin @('Dell'))} + { + $DriverPackSearchResults = $DriverPackCatalog.DriverPackManifest.DriverPackage | Where-Object {($_.Type -inotmatch '(^.*WinPE.*$)') -and ($_.SupportedSystems.Brand.Model.SystemID -ieq $Model.ProductID) -and ($_.SupportedOperatingSystems.OperatingSystem.OSCode -imatch $OperatingSystemEntry.NameExpression) -and ($_.SupportedOperatingSystems.OperatingSystem.OSArch -imatch $OperatingSystemEntry.ArchitectureExpression)} + + $DriverPackSearchResultCount = ($DriverPackSearchResults | Measure-Object).Count + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($DriverPackSearchResultCount) result(s) were returned from the driver pack search." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Switch ($OperatingSystemEntry.LatestReleaseOnly) + { + {($_ -eq $True)} + { + $DriverPackSearchFilteredResults = $DriverPackSearchResults | Sort-Object {(Get-Date -Date ($_.DateTime))} -Descending | Select-Object -First 1 + } + + Default + { + $DriverPackSearchFilteredResults = $DriverPackSearchResults | Sort-Object {(Get-Date -Date ($_.DateTime))} -Descending + } + } + + $DriverPackSearchFilteredResultCount = ($DriverPackSearchFilteredResults | Measure-Object).Count + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($DriverPackSearchFilteredResultCount) result(s) remain after filtering, and sorting." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Switch ($DriverPackSearchFilteredResultCount -gt 0) + { + {($_ -eq $True)} + { + ForEach ($DriverPackSearchResult In $DriverPackSearchFilteredResults) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to add driver pack `"$($DriverPackSearchResult.Name.Display.'#cdata-section')`" [Release: $($DriverPackSearchResult.releaseID)] [Version: $($DriverPackSearchResult.dellVersion)] released on $((Get-Date -Date $DriverPackSearchResult.DateTime).ToString($DateTimeLogFormat)). Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $DriverPackDownloadProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $DriverPackDownloadProperties.Enabled = $True + $DriverPackDownloadProperties.Manufacturer = $Manufacturer.Name + $DriverPackDownloadProperties.BaseboardProduct = $Model.BaseboardProduct + $DriverPackDownloadProperties.SystemFamily = $Model.SystemFamily + $DriverPackDownloadProperties.SystemManufacturer = $Model.SystemManufacturer + $DriverPackDownloadProperties.SystemProductName = $Model.SystemProductName + $DriverPackDownloadProperties.SystemSKU = $Model.SystemSKU + $DriverPackDownloadProperties.SystemVersion = $Model.SystemVersion + $DriverPackDownloadProperties.ProductIDList = $DriverPackSearchResult.SupportedSystems.Brand.Model.SystemID + $DriverPackDownloadProperties.ProductID = $DriverPackDownloadProperties.ProductIDList[0] + $DriverPackDownloadProperties.OSName = "$($OperatingSystemEntry.Name)" + $DriverPackDownloadProperties.OSAlias = "W$($OperatingSystemEntry.Name -ireplace '(\D+)', '')" + $DriverPackDownloadProperties.OSVersionMinimum = $OperatingSystemEntryVersion.ToString() + $DriverPackDownloadProperties.OSReleaseIDMinimum = "All" + $DriverPackDownloadProperties.OSArchitecture = $DriverPackSearchResult.SupportedOperatingSystems.OperatingSystem.OSArch.ToUpper() + $DriverPackDownloadProperties.DriverPackReleaseID = "$($DriverPackSearchResult.ReleaseID)" + $DriverPackDownloadProperties.DriverPackReleaseVersion = "$($DriverPackSearchResult.DellVersion)" + $DriverPackDownloadProperties.DriverPackReleaseDate = Try {(Get-Date -Date $DriverPackSearchResult.DateTime).ToString($DateDriverPackReleaseFormat)} Catch {$DriverPackSearchResult.DateTime} + $DriverPackDownloadProperties.DriverPackInfoURL = "$($DriverPackSearchResult.ImportantInfo.URL)" + $DriverPackDownloadProperties.DirectoryPath = "$($DriverPackDownloadProperties.Manufacturer)\$($DriverPackDownloadProperties.SystemSKU)\$($DriverPackDownloadProperties.OSAlias)\$($DriverPackDownloadProperties.OSArchitecture)" + $DriverPackDownloadProperties.FileBaseName = "$($DriverPackDownloadProperties.Manufacturer)-$($DriverPackDownloadProperties.SystemSKU)-$($DriverPackDownloadProperties.DriverPackReleaseID)-$($DriverPackDownloadProperties.DriverPackReleaseVersion)-$($DriverPackDownloadProperties.OSAlias)-$($DriverPackDownloadProperties.OSArchitecture)-$($DriverPackDownloadProperties.OSReleaseIDMinimum)" + + $DriverPackDownloadProperties.FileBaseName = $DriverPackDownloadProperties.FileBaseName.Split([System.IO.Path]::GetInvalidFileNameChars()) -Join '' + + $DriverPackDownloadProperties.FileName = "$($DriverPackDownloadProperties.FileBaseName).wim" + $DriverPackDownloadProperties.FilePath = "$($DriverPackDownloadProperties.DirectoryPath)\$($DriverPackDownloadProperties.FileName)" + $DriverPackDownloadProperties.MetadataFileName = "$($DriverPackDownloadProperties.FileBaseName).json" + $DriverPackDownloadProperties.MetadataFilePath = "$($DriverPackDownloadProperties.DirectoryPath)\$($DriverPackDownloadProperties.MetadataFileName)" + $DriverPackDownloadProperties.DownloadLinkList = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $DriverPackDownloadProperties.DownloadLinkList.DriverPack = "$($Manufacturer.URLs.DownloadBase)/$($DriverPackSearchResult.Path)" + $DriverPackDownloadProperties.DownloadLinkList.DriverPackMetadata = "$($Manufacturer.URLs.DownloadBase)/$($DriverPackSearchResult.DriverPackMetadataInfo.Path)" + + $DriverPackDownloadObject = New-Object -TypeName 'PSObject' -Property ($DriverPackDownloadProperties) + + $DriverPackDownloadList.Add($DriverPackDownloadObject) + } + } + } + } + + {($_ -iin @('HP'))} + { + $DriverPackSearchResults = New-Object -TypeName 'System.Collections.Generic.List[Object]' + + $CatalogSearchResults = $DriverPackCatalog.SelectNodes('/*/*/ProductOSDriverPackList/ProductOSDriverPack') | Where-Object {($_.SystemID.Split(',').Trim() -icontains $Model.ProductID) -and ($_.OSName -imatch $OperatingSystemEntry.NameExpression) -and ($_.OSName -imatch $OperatingSystemEntry.ReleaseExpression) -and ($_.Architecture -imatch $OperatingSystemEntry.ArchitectureExpression)} | Sort-Object -Property @('SoftpaqID') -Unique + + $CatalogList = $DriverPackCatalog.SelectNodes('/*/*/SoftPaqList/SoftPaq') + + ForEach ($CatalogSearchResult In $CatalogSearchResults) + { + $CatalogSearchResultItem = $CatalogList | Where-Object {($_.ID -ieq $CatalogSearchResult.SoftpaqID)} + $CatalogSearchResultItem | Add-Member -Name 'SystemModel' -Value ($CatalogSearchResult.SystemName) -MemberType NoteProperty -Force + $CatalogSearchResultItem | Add-Member -Name 'SystemIDList' -Value ($CatalogSearchResult.SystemID.Split(',').Trim()) -MemberType NoteProperty -Force + $CatalogSearchResultItem | Add-Member -Name 'OperatingSystemName' -Value ($CatalogSearchResult.OSName) -MemberType NoteProperty -Force + $CatalogSearchResultItem | Add-Member -Name 'OperatingSystemArchitecture' -Value ($CatalogSearchResult.Architecture) -MemberType NoteProperty -Force + $CatalogSearchResultItem | Add-Member -Name 'OperatingSystemID' -Value ($CatalogSearchResult.OSID) -MemberType NoteProperty -Force + + $DriverPackSearchResults.Add($CatalogSearchResultItem) + } + + $DriverPackSearchResultCount = ($DriverPackSearchResults | Measure-Object).Count + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($DriverPackSearchResultCount) result(s) were returned from the driver pack search." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Switch ($OperatingSystemEntry.LatestReleaseOnly) + { + {($_ -eq $True)} + { + $DriverPackSearchFilteredResults = $DriverPackSearchResults | Sort-Object {(Get-Date -Date ($_.DateReleased))} -Descending | Select-Object -First 1 + } + + Default + { + $DriverPackSearchFilteredResults = $DriverPackSearchResults | Sort-Object {(Get-Date -Date ($_.DateReleased))} -Descending + } + } + + $DriverPackSearchFilteredResultCount = ($DriverPackSearchFilteredResults | Measure-Object).Count + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($DriverPackSearchFilteredResultCount) result(s) remain after filtering, and sorting." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Switch ($DriverPackSearchFilteredResultCount -gt 0) + { + {($_ -eq $True)} + { + ForEach ($DriverPackSearchResult In $DriverPackSearchFilteredResults) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to add driver pack `"$($DriverPackSearchResult.Name)`" [Version: $($DriverPackSearchResult.Version)] released on $((Get-Date -Date $DriverPackSearchResult.DateReleased).ToString($DateTimeLogFormat)). Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $DriverPackDownloadProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $DriverPackDownloadProperties.Enabled = $True + $DriverPackDownloadProperties.Manufacturer = $Manufacturer.Name + $DriverPackDownloadProperties.BaseboardProduct = $Model.BaseboardProduct + $DriverPackDownloadProperties.SystemFamily = $Model.SystemFamily + $DriverPackDownloadProperties.SystemManufacturer = $Model.SystemManufacturer + $DriverPackDownloadProperties.SystemProductName = $Model.SystemProductName + $DriverPackDownloadProperties.SystemSKU = $Model.SystemSKU + $DriverPackDownloadProperties.SystemVersion = $Model.SystemVersion + $DriverPackDownloadProperties.ProductIDList = $DriverPackSearchResult.SystemIDList | ForEach-Object {$_.ToUpper()} + $DriverPackDownloadProperties.ProductID = $DriverPackDownloadProperties.ProductIDList[0] + $DriverPackDownloadProperties.OSName = "$($OperatingSystemEntry.Name)" + $DriverPackDownloadProperties.OSAlias = "W$($OperatingSystemEntry.Name -ireplace '(\D+)', '')" + + $DriverPackOSDetails = $OperatingSystemEntryReleaseHistory | Where-Object {($_.ReleaseID -ieq [Regex]::Match($DriverPackSearchResult.OperatingSystemName, $_.ReleaseID).Value)} | Select-Object -First 1 + + Switch ($Null -ine $DriverPackOSDetails) + { + {($_ -eq $True)} + { + $DriverPackDownloadProperties.OSVersionMinimum = $DriverPackOSDetails.Version.ToString() + + $DriverPackDownloadProperties.OSReleaseIDMinimum = $DriverPackOSDetails.ReleaseID + } + + Default + { + $DriverPackDownloadProperties.OSVersionMinimum = $OperatingSystemEntryVersion.ToString() + + $DriverPackDownloadProperties.OSReleaseIDMinimum = "All" + } + } + + $DriverPackDownloadProperties.OSArchitecture = 'NA' + + Switch ($DriverPackSearchResult.OperatingSystemArchitecture) + { + {($_ -imatch '(^.*32.*$)')} + { + $DriverPackDownloadProperties.OSArchitecture = 'X86' + } + + {($_ -imatch '(^.*64.*$)')} + { + $DriverPackDownloadProperties.OSArchitecture = 'X64' + } + } + + $DriverPackDownloadProperties.DriverPackReleaseID = "$($DriverPackSearchResult.ID.ToUpper())" + $DriverPackDownloadProperties.DriverPackReleaseVersion = "$($DriverPackSearchResult.Version)" + $DriverPackDownloadProperties.DriverPackReleaseDate = Try {(Get-Date -Date $DriverPackSearchResult.DateReleased).ToString($DateDriverPackReleaseFormat)} Catch {$DriverPackSearchResult.DateReleased} + $DriverPackDownloadProperties.DriverPackInfoURL = "$($DriverPackSearchResult.ReleaseNotesURL)" + $DriverPackDownloadProperties.DirectoryPath = "$($DriverPackDownloadProperties.Manufacturer)\$($DriverPackDownloadProperties.BaseboardProduct)\$($DriverPackDownloadProperties.OSAlias)\$($DriverPackDownloadProperties.OSArchitecture)" + + Switch ($Null -ine $DriverPackOSDetails) + { + {($_ -eq $True)} + { + $DriverPackDownloadProperties.FileBaseName = "$($DriverPackDownloadProperties.Manufacturer)-$($DriverPackDownloadProperties.BaseboardProduct)-$($DriverPackDownloadProperties.DriverPackReleaseID)-$($DriverPackDownloadProperties.OSAlias)-$($DriverPackDownloadProperties.OSArchitecture)-$($DriverPackDownloadProperties.OSReleaseIDMinimum)" + } + + Default + { + $DriverPackDownloadProperties.FileBaseName = "$($DriverPackDownloadProperties.Manufacturer)-$($DriverPackDownloadProperties.BaseboardProduct)-$($DriverPackDownloadProperties.DriverPackReleaseID)-$($DriverPackDownloadProperties.OSAlias)-$($DriverPackDownloadProperties.OSArchitecture)" + } + } + + $DriverPackDownloadProperties.FileBaseName = $DriverPackDownloadProperties.FileBaseName.Split([System.IO.Path]::GetInvalidFileNameChars()) -Join '' + + $DriverPackDownloadProperties.FileName = "$($DriverPackDownloadProperties.FileBaseName).wim" + $DriverPackDownloadProperties.FilePath = "$($DriverPackDownloadProperties.DirectoryPath)\$($DriverPackDownloadProperties.FileName)" + $DriverPackDownloadProperties.MetadataFileName = "$($DriverPackDownloadProperties.FileBaseName).json" + $DriverPackDownloadProperties.MetadataFilePath = "$($DriverPackDownloadProperties.DirectoryPath)\$($DriverPackDownloadProperties.MetadataFileName)" + $DriverPackDownloadProperties.DownloadLinkList = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $DriverPackDownloadProperties.DownloadLinkList.DriverPack = "$($DriverPackSearchResult.URL)" + $DriverPackDownloadProperties.DownloadLinkList.DriverPackMetadata = "$($DriverPackSearchResult.CVAFileURL)" + + $DriverPackDownloadObject = New-Object -TypeName 'PSObject' -Property ($DriverPackDownloadProperties) + + $DriverPackDownloadList.Add($DriverPackDownloadObject) + } + } + } + } + + {($_ -iin @('Lenovo'))} + { + $ModelID = [Regex]::Match($Model.ProductID, '^\w{4}') + + Switch ($ModelID.Success) + { + {($_ -eq $True)} + { + $DriverPackSearchResults = New-Object -TypeName 'System.Collections.Generic.List[Object]' + + $CatalogSearchResults = $DriverPackCatalog.SelectNodes('/ModelList/Model') | Where-Object {($_.Types.Type -icontains $ModelID.Value)} + + ForEach ($CatalogSearchResult In $CatalogSearchResults) + { + $CatalogSearchURLList = $CatalogSearchResult.SCCM | Where-Object {($_.OS -imatch $OperatingSystemEntry.NameExpression) -and ($_.Version -imatch $OperatingSystemEntry.ReleaseExpression)} + + ForEach ($CatalogSearchURL In $CatalogSearchURLList) + { + $CatalogSearchMetadataParser = [Regex]::Match($CatalogSearchURL.'#text', '.*(?w\d{1,2})(?\d{2,2})?.*(?\d{6,8}).*') + + Switch ($CatalogSearchMetadataParser.Success) + { + {($_ -eq $True)} + { + $CatalogSearchResultProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $CatalogSearchResultProperties.Name = $CatalogSearchResult.Name -ireplace '\s+Type.*', '' + $CatalogSearchResultProperties.SystemTypeList = $CatalogSearchResult.Types.Type + $CatalogSearchResultProperties.OperatingSystemRelease = $CatalogSearchURL.Version + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to parse metadata for `"$($CatalogSearchResultProperties.Name)`" from URL `"$($CatalogSearchMetadataParser.ToString())`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + ForEach ($CatalogSearchMetadataCaptureGroup In ($CatalogSearchMetadataParser.Groups | Where-Object {($_.Name -inotin @('0'))})) + { + Switch (([String]::IsNullOrEmpty($CatalogSearchMetadataCaptureGroup.Value) -eq $False) -or ([String]::IsNullOrWhiteSpace($CatalogSearchMetadataCaptureGroup.Value) -eq $False)) + { + {($_ -eq $True)} + { + Switch ($CatalogSearchMetadataCaptureGroup.Name) + { + {($_ -iin @('DateReleased'))} + { + Switch ($CatalogSearchMetadataCaptureGroup.Success) + { + {($_ -eq $True)} + { + $DateTimeFormatList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $Null = $DateTimeFormatList.Add('yyyyMM') + + $DateTime = New-Object -TypeName 'DateTime' + + $DateTimeTryParseExactProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $DateTimeTryParseExactProperties.Input = $CatalogSearchMetadataCaptureGroup.Value + $DateTimeTryParseExactProperties.FormatList = $DateTimeFormatList.ToArray() + $DateTimeTryParseExactProperties.Styles = New-Object -TypeName 'System.Collections.Generic.List[System.Globalization.DateTimeStyles]' + $DateTimeTryParseExactProperties.Styles.Add([System.Globalization.DateTimeStyles]::AdjustToUniversal) + $DateTimeTryParseExactProperties.Styles.Add([System.Globalization.DateTimeStyles]::AllowWhiteSpaces) + $DateTimeTryParseExactProperties.DateTime = $Null + $DateTimeTryParseExactProperties.Successful = [DateTime]::TryParseExact($DateTimeTryParseExactProperties.Input, $DateTimeTryParseExactProperties.FormatList, $DateTimeTryParseExactProperties.Culture, $DateTimeTryParseExactProperties.Styles, [Ref]$DateTime) + + Switch ($DateTimeTryParseExactProperties.Successful) + { + {($_ -eq $True)} + { + $DateTimeTryParseExactProperties.DateTime = ($DateTime) + } + } + + $DateTimeTryParseExactObject = New-Object -TypeName 'PSObject' -Property ($DateTimeTryParseExactProperties) + + $CatalogSearchResultProperties.$($CatalogSearchMetadataCaptureGroup.Name) = $DateTimeTryParseExactObject.DateTime + } + + Default + { + $CatalogSearchResultProperties.$($CatalogSearchMetadataCaptureGroup.Name) = $CatalogSearchMetadataCaptureGroup.Value + } + } + } + + {($_ -iin @('OperatingSystemArchitecture'))} + { + Switch ($True) + { + {($CatalogSearchMetadataCaptureGroup.Value -inotmatch '^X')} + { + $CatalogSearchResultProperties.$($CatalogSearchMetadataCaptureGroup.Name) = "X$($CatalogSearchMetadataCaptureGroup.Value)" + } + } + } + + Default + { + $CatalogSearchResultProperties.$($CatalogSearchMetadataCaptureGroup.Name) = $CatalogSearchMetadataCaptureGroup.Value + } + } + } + + Default + { + Switch ($CatalogSearchMetadataCaptureGroup.Name) + { + {($_ -iin @('OperatingSystemArchitecture'))} + { + $CatalogSearchResultProperties.$($CatalogSearchMetadataCaptureGroup.Name) = 'X64' + } + + Default + { + $CatalogSearchResultProperties.$($CatalogSearchMetadataCaptureGroup.Name) = $Null + } + } + } + } + } + + $CatalogSearchResultProperties.URL = $CatalogSearchURL.'#text' + + $CatalogSearchResultObject = New-Object -TypeName 'PSObject' -Property ($CatalogSearchResultProperties) + + $DriverPackSearchResults.Add($CatalogSearchResultObject) + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Unable to parse metadata for `"$($CatalogSearchResultProperties.Name)`" from URL `"$($CatalogSearchMetadataParser.ToString())`". Skipping..." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + } + + $DriverPackSearchResultCount = ($DriverPackSearchResults | Measure-Object).Count + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($DriverPackSearchResultCount) result(s) were returned from the driver pack search." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Switch ($OperatingSystemEntry.LatestReleaseOnly) + { + {($_ -eq $True)} + { + $DriverPackSearchFilteredResults = $DriverPackSearchResults | Select-Object -Last 1 + } + + Default + { + $DriverPackSearchFilteredResults = $DriverPackSearchResults + } + } + + $DriverPackSearchFilteredResultCount = ($DriverPackSearchFilteredResults | Measure-Object).Count + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($DriverPackSearchFilteredResultCount) result(s) remain after filtering, and sorting." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Switch ($DriverPackSearchFilteredResultCount -gt 0) + { + {($_ -eq $True)} + { + ForEach ($DriverPackSearchResult In $DriverPackSearchFilteredResults) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to add driver pack for `"$($DriverPackSearchResult.Name)`" released on $($DriverPackSearchResult.DateReleased.ToString($DateTimeLogFormat)). Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $DriverPackDownloadProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $DriverPackDownloadProperties.Enabled = $True + $DriverPackDownloadProperties.Manufacturer = $Manufacturer.Name + $DriverPackDownloadProperties.BaseboardProduct = $Model.BaseboardProduct + $DriverPackDownloadProperties.SystemFamily = $Model.SystemFamily + $DriverPackDownloadProperties.SystemManufacturer = $Model.SystemManufacturer + $DriverPackDownloadProperties.SystemProductName = $Model.SystemProductName + $DriverPackDownloadProperties.SystemSKU = $Model.SystemSKU + $DriverPackDownloadProperties.SystemVersion = $Model.SystemVersion + $DriverPackDownloadProperties.ProductIDList = $CatalogSearchResultProperties.SystemTypeList + $DriverPackDownloadProperties.ProductID = $DriverPackDownloadProperties.ProductIDList[0] + $DriverPackDownloadProperties.OSName = "$($OperatingSystemEntry.Name)" + $DriverPackDownloadProperties.OSAlias = "W$($OperatingSystemEntry.Name -ireplace '(\D+)', '')" + + $DriverPackOSDetails = $OperatingSystemEntryReleaseHistory | Where-Object {($_.ReleaseID -ieq [Regex]::Match($DriverPackSearchResult.OperatingSystemRelease, $_.ReleaseID).Value)} | Select-Object -First 1 + + Switch ($Null -ine $DriverPackOSDetails) + { + {($_ -eq $True)} + { + $DriverPackDownloadProperties.OSVersionMinimum = $DriverPackOSDetails.Version.ToString() + + $DriverPackDownloadProperties.OSReleaseIDMinimum = $DriverPackOSDetails.ReleaseID + } + + Default + { + $DriverPackDownloadProperties.OSVersionMinimum = $OperatingSystemEntryVersion.ToString() + + $DriverPackDownloadProperties.OSReleaseIDMinimum = "All" + } + } + + $DriverPackDownloadProperties.OSArchitecture = $DriverPackSearchResult.OperatingSystemArchitecture + + Switch ($Null -ine $DriverPackOSDetails) + { + {($_ -eq $True)} + { + $DriverPackDownloadProperties.DriverPackReleaseID = $DriverPackOSDetails.ReleaseID + } + + Default + { + $DriverPackDownloadProperties.DriverPackReleaseID = 'NA' + } + } + + $DriverPackDownloadProperties.DriverPackReleaseVersion = 'NA' + $DriverPackDownloadProperties.DriverPackReleaseDate = Try {(Get-Date -Date $DriverPackSearchResult.DateReleased).ToString($DateDriverPackReleaseFormat)} Catch {$DriverPackSearchResult.DateReleased} + $DriverPackDownloadProperties.DriverPackInfoURL = "" + $DriverPackDownloadProperties.DirectoryPath = "$($DriverPackDownloadProperties.Manufacturer)\$($ModelID.Value)\$($DriverPackDownloadProperties.OSAlias)\$($DriverPackDownloadProperties.OSArchitecture)" + $DriverPackDownloadProperties.FileBaseName = "$($DriverPackDownloadProperties.Manufacturer)-$($ModelID.Value)-$($DriverPackDownloadProperties.OSAlias)-$($DriverPackDownloadProperties.OSArchitecture)-$($DriverPackDownloadProperties.OSReleaseIDMinimum)" + + $DriverPackDownloadProperties.FileBaseName = $DriverPackDownloadProperties.FileBaseName.Split([System.IO.Path]::GetInvalidFileNameChars()) -Join '' + + $DriverPackDownloadProperties.FileName = "$($DriverPackDownloadProperties.FileBaseName).wim" + $DriverPackDownloadProperties.FilePath = "$($DriverPackDownloadProperties.DirectoryPath)\$($DriverPackDownloadProperties.FileName)" + $DriverPackDownloadProperties.MetadataFileName = "$($DriverPackDownloadProperties.FileBaseName).json" + $DriverPackDownloadProperties.MetadataFilePath = "$($DriverPackDownloadProperties.DirectoryPath)\$($DriverPackDownloadProperties.MetadataFileName)" + $DriverPackDownloadProperties.DownloadLinkList = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $DriverPackDownloadProperties.DownloadLinkList.DriverPack = "$($DriverPackSearchResult.URL)" + $DriverPackDownloadProperties.DownloadLinkList.DriverPackMetadata = "" + + $DriverPackDownloadObject = New-Object -TypeName 'PSObject' -Property ($DriverPackDownloadProperties) + + $DriverPackDownloadList.Add($DriverPackDownloadObject) + } + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Unable to parse metadata for `"$($CatalogSearchResultProperties.Name)`" from URL `"$($CatalogSearchMetadataParser.ToString())`". Skipping..." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + } + } + } + + {($_ -eq $False)} + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The XML node for model `"$($Model.SystemProductName)`" manufactured by `"$($Model.SystemManufacturer)`" is not enabled. Skipping..." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + } + + {($_ -eq $False)} + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The XML node for device manufacturer `"$($Manufacturer.Name)`" is not enabled. Skipping..." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + Catch + { + $ErrorMessageList = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ErrorMessageList.Add('Message', $_.Exception.Message) + $ErrorMessageList.Add('Category', $_.Exception.ErrorRecord.FullyQualifiedErrorID) + $ErrorMessageList.Add('Script', $_.InvocationInfo.ScriptName) + $ErrorMessageList.Add('LineNumber', $_.InvocationInfo.ScriptLineNumber) + $ErrorMessageList.Add('LinePosition', $_.InvocationInfo.OffsetInLine) + $ErrorMessageList.Add('Code', $_.InvocationInfo.Line.Trim()) + + ForEach ($ErrorMessage In $ErrorMessageList.GetEnumerator()) + { + $LoggingDetails.ErrorMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - ERROR: $($ErrorMessage.Key): $($ErrorMessage.Value)" + Write-Warning -Message ($LoggingDetails.ErrorMessage) -Verbose + } + } + Finally + { + + } + } + + Switch ($DisableDownload.IsPresent) + { + {($_ -eq $True)} + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The downloading and processing of driver pack(s) is disabled! Please remove the '-DisableDownload' parameter to enable downloading." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + } + + Default + { + Try + { + $DriverPackDownloadList = $DriverPackDownloadList.ToArray() + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - A total of $($DriverPackDownloadList.Count) driver pack download(s) will be processed. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + #Process Driver Pack Downloads + $ManufacturerGroupList = $DriverPackDownloadList | Group-Object -Property @('Manufacturer') | Sort-Object -Property @('Name') + + :ManufacturerGroupLoop ForEach ($ManufacturerGroup In $ManufacturerGroupList) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to process $($ManufacturerGroup.Count) manufacturer specific download(s) for manufacturer `"$($ManufacturerGroup.Name)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $ProductGroupProperty = 'ProductID' + + $ProductGroupAliasProperty = 'SystemProductName' + + Switch ($ManufacturerGroup.Name) + { + {($_ -iin @('Lenovo'))} + { + $ProductGroupAliasProperty = 'SystemVersion' + } + } + + $ProductGroupList = $ManufacturerGroup.Group | Group-Object -Property ($ProductGroupProperty) | Sort-Object -Property @('Name') + + :ProductGroupLoop ForEach ($ProductGroup In $ProductGroupList) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to process $($ProductGroup.Count) product ID specific download(s) for product ID `"$($ProductGroup.Name)`" manufactured by `"$($ManufacturerGroup.Name)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + :ProductGroupMemberLoop ForEach ($ProductGroupMember In $ProductGroup.Group) + { + $NewWindowsImageDetails = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $NewWindowsImageDetails.ImageStagingPath = "$($LocalDriverPackageDirectory.FullName)\$($ProductGroupMember.DirectoryPath)\$($ProductGroupMember.FileName)" -As [System.IO.FileInfo] + $NewWindowsImageDetails.ImageFinalPath = $NewWindowsImageDetails.ImageStagingPath.FullName.Replace($LocalDriverPackageDirectory.FullName, $DriverPackageDirectory.FullName) -As [System.IO.FileInfo] + $NewWindowsImageDetails.LogPath = "$($LogDirectory.FullName)\DISM\$($ManufacturerGroup.Name)\$($ProductGroupMember.$($ProductGroupProperty))\$($NewWindowsImageDetails.ImageStagingPath.BaseName).log" -As [System.IO.FileInfo] + + Switch (([System.IO.File]::Exists($NewWindowsImageDetails.ImageFinalPath.FullName) -eq $False) -or ($Force.IsPresent -eq $True)) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to process the `"$($ProductGroupMember.OSName) $($ProductGroupMember.OSArchitecture)`" download list for product ID `"$($ProductGroup.Name)`" [Model: $($ProductGroupMember.$($ProductGroupAliasProperty))] manufactured by `"$($ManufacturerGroup.Name)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + :ProductGroupMemberDownloadLoop ForEach ($ProductGroupMemberDownload In $ProductGroupMember.DownloadLinkList.GetEnumerator()) + { + Switch (([String]::IsNullOrEmpty($ProductGroupMemberDownload.Value) -eq $False) -and ([String]::IsNullOrWhiteSpace($ProductGroupMemberDownload.Value) -eq $False)) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to process the URL for `"$($ProductGroupMemberDownload.Key)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Switch ($ProductGroupMemberDownload.Key) + { + {($_ -iin @('DriverPack'))} + { + $InvokeFileDownloadParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $InvokeFileDownloadParameters.URL = $ProductGroupMemberDownload.Value + $InvokeFileDownloadParameters.Destination = "$($DownloadDirectory.FullName)\$($ProductGroupMember.Manufacturer)\$($ProductGroupMember.$($ProductGroupProperty))" + $InvokeFileDownloadParameters.ContinueOnError = $False + $InvokeFileDownloadParameters.Verbose = $True + + $InvokeFileDownloadResult = Invoke-FileDownloadWithProgress @InvokeFileDownloadParameters + + $FileDownloadExtractionParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $FileDownloadExtractionParameters.ExtractionPath = "$($DownloadDirectory.FullName)\$($ProductGroupMember.Manufacturer)\$($ProductGroupMember.$($ProductGroupProperty))\$($ProductGroupMember.OSAlias)-$($ProductGroupMember.OSArchitecture)-$($ProductGroupMember.DriverPackReleaseID)" -As [System.IO.DirectoryInfo] + $FileDownloadExtractionParameters.ArgumentList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $FileDownloadExtractionParameters.CopyDriverPackMetadata = $True + $FileDownloadExtractionParameters.CreateWindowsImageDriverPack = $True + + Switch ($ProductGroupMember.Manufacturer) + { + {($_ -iin @('Lenovo'))} + { + $FileDownloadExtractionParameters.FilePath = $InvokeFileDownloadResult.DownloadPath.FullName -As [System.IO.FileInfo] + + $FileDownloadExtractionParameters.ArgumentList.Add("/VERYSILENT") + $FileDownloadExtractionParameters.ArgumentList.Add("/DIR=`"$($FileDownloadExtractionParameters.ExtractionPath.FullName)`"") + $FileDownloadExtractionParameters.ArgumentList.Add("/EXTRACT=`"YES`"") + } + + Default + { + $FileDownloadExtractionParameters.FilePath = $7ZipPath.FullName -As [System.IO.FileInfo] + + $FileDownloadExtractionParameters.ArgumentList.Add("x") + $FileDownloadExtractionParameters.ArgumentList.Add("`"$($InvokeFileDownloadResult.DownloadPath.FullName)`"") + $FileDownloadExtractionParameters.ArgumentList.Add("-o`"$($FileDownloadExtractionParameters.ExtractionPath.FullName)`"") + $FileDownloadExtractionParameters.ArgumentList.Add("*") + $FileDownloadExtractionParameters.ArgumentList.Add("-r") + } + } + + Switch ([System.IO.Directory]::Exists($FileDownloadExtractionParameters.ExtractionPath.FullName)) + { + {($_ -eq $True)} + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to remove existing directory `"$($FileDownloadExtractionParameters.ExtractionPath.FullName)`" prior to extraction. Please Wait..." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + [String]$DeletionPath = $FileDownloadExtractionParameters.ExtractionPath.FullName + + $Null = [Alphaleonis.Win32.Filesystem.Directory]::Delete($DeletionPath, $True, $True) + } + + Default + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to create non-existent directory `"$($FileDownloadExtractionParameters.ExtractionPath.FullName)`" prior to extraction. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $Null = [System.IO.Directory]::CreateDirectory($FileDownloadExtractionParameters.ExtractionPath.FullName) + } + } + + $StartProcessWithOutputParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $StartProcessWithOutputParameters.FilePath = $FileDownloadExtractionParameters.FilePath.FullName + $StartProcessWithOutputParameters.ArgumentList = $FileDownloadExtractionParameters.ArgumentList + $StartProcessWithOutputParameters.AcceptableExitCodeList = @(0, 3010) + $StartProcessWithOutputParameters.CreateNoWindow = $True + $StartProcessWithOutputParameters.LogOutput = $False + $StartProcessWithOutputParameters.Verbose = $True + + $FileDownloadExtractionResult = Start-ProcessWithOutput @StartProcessWithOutputParameters + + Switch ($FileDownloadExtractionParameters.ExtractionPath.GetDirectories().Count -gt 2) + { + {($_ -eq $True)} + { + $WindowsImageRootFolder = $FileDownloadExtractionParameters.ExtractionPath + } + + Default + { + $WindowsImageRootFolderList = Get-ChildItem -Path ($FileDownloadExtractionParameters.ExtractionPath.FullName) -Recurse | Where-Object {($_ -is [System.IO.DirectoryInfo]) -and ($_.GetDirectories().Count -gt 2)} + + Switch ($Null -ine $WindowsImageRootFolderList) + { + {($_ -eq $True)} + { + $WindowsImageRootFolder = $WindowsImageRootFolderList | Sort-Object -Property @{Expression = {($_.FullName.Length)}} | Select-Object -First 1 + } + + {($_ -eq $False)} + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The windows image root folder could not located within folder `"$($FileDownloadExtractionParameters.ExtractionPath.FullName)`"." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Cleaning up and moving to the next driver pack. Please Wait..." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + $FileDownloadExtractionParameters.CopyDriverPackMetadata = $False + + $FileDownloadExtractionParameters.CreateWindowsImageDriverPack = $False + + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to remove driver pack extraction directory `"$($FileDownloadExtractionParameters.ExtractionPath.FullName)`". Please Wait..." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + #Cleanup the extracted driver package content (If necessary) + If ([System.IO.Directory]::Exists($FileDownloadExtractionParameters.ExtractionPath.FullName) -eq $True) + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to remove driver pack extraction directory `"$($FileDownloadExtractionParameters.ExtractionPath.FullName)`". Please Wait..." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + [String]$DeletionPath = $FileDownloadExtractionParameters.ExtractionPath.FullName + + $Null = [Alphaleonis.Win32.Filesystem.Directory]::Delete($DeletionPath, $True, $True) + } + + Break ProductGroupMemberLoop + } + } + } + } + } + + {($_ -iin @('DriverPackMetaData'))} + { + Switch ($FileDownloadExtractionParameters.CopyDriverPackMetadata) + { + {($_ -eq $True)} + { + $DriverPackMetaDataFileList = New-Object -TypeName 'System.Collections.Generic.List[System.IO.FileInfo]' + + $DriverPackMetaDataExtensionList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $DriverPackMetaDataExtensionList.Add('.xml') + $DriverPackMetaDataExtensionList.Add('.html') + $DriverPackMetaDataExtensionList.Add('.cva') + $DriverPackMetaDataExtensionList.Add('.json') + $DriverPackMetaDataExtensionList.Add('.txt') + + $DriverPackMetaDataFiles = Get-ChildItem -Path "$($FileDownloadExtractionParameters.ExtractionPath.FullName)\" -Depth 1 -Force -ErrorAction SilentlyContinue | Where-Object {($_ -is [System.IO.FileInfo]) -and ($_.Extension -iin $DriverPackMetaDataExtensionList.ToArray())} + + $DriverPackMetaDataFileCount = ($DriverPackMetaDataFiles | Measure-Object).Count + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($DriverPackMetaDataFileCount) metadata file(s) matching `"$($DriverPackMetaDataExtensionList -Join ' | ')`" were found in directory `"$($FileDownloadExtractionParameters.ExtractionPath.FullName)`"." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Switch ($DriverPackMetaDataFileCount -gt 0) + { + {($_ -eq $True)} + { + $DriverPackMetaDataFiles | ForEach-Object {$DriverPackMetaDataFileList.Add($_.FullName)} + } + } + + [System.IO.DirectoryInfo]$DriverPackMetaDataDirectory = "$($WindowsImageRootFolder.FullName)\Metadata" + + If ([System.IO.Directory]::Exists($DriverPackMetaDataDirectory.FullName) -eq $False) {$Null = [System.IO.Directory]::CreateDirectory($DriverPackMetaDataDirectory.FullName)} + + ForEach ($DriverPackMetaDataFile In $DriverPackMetaDataFileList) + { + [System.IO.FileInfo]$DriverPackMetaDataFileDestination = "$($DriverPackMetaDataDirectory.FullName)\$($DriverPackMetaDataFile.Name)" + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to copy metadata file `"$($DriverPackMetaDataFile.FullName)`" to `"$($DriverPackMetaDataFileDestination.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $Null = [System.IO.File]::Copy($DriverPackMetaDataFile.FullName, $DriverPackMetaDataFileDestination.FullName, $True) + } + + $InvokeFileDownloadParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $InvokeFileDownloadParameters.URL = $ProductGroupMemberDownload.Value + $InvokeFileDownloadParameters.Destination = "$($DownloadDirectory.FullName)\$($ProductGroupMember.Manufacturer)\$($ProductGroupMember.$($ProductGroupProperty))" + $InvokeFileDownloadParameters.ContinueOnError = $False + $InvokeFileDownloadParameters.Verbose = $True + + $InvokeFileDownloadResult = Invoke-FileDownloadWithProgress @InvokeFileDownloadParameters + + $Null = [System.IO.File]::Copy($InvokeFileDownloadResult.DownloadPath.FullName, "$($DriverPackMetaDataFileDestination.Directory.FullName)\$($InvokeFileDownloadResult.DownloadPath.Name)", $True) + } + } + } + + Default + { + $InvokeFileDownloadParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $InvokeFileDownloadParameters.URL = $ProductGroupMemberDownload.Value + $InvokeFileDownloadParameters.Destination = $FileDownloadExtractionParameters.ExtractionPath.FullName + $InvokeFileDownloadParameters.ContinueOnError = $False + $InvokeFileDownloadParameters.Verbose = $True + + $InvokeFileDownloadResult = Invoke-FileDownloadWithProgress @InvokeFileDownloadParameters + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The `"$($ProductGroupMemberDownload.Key)`" URL will not be processed because the value does not contain any data. Please Wait..." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + + #Create a windows image from the driver content if one does not already exist + Switch ([System.IO.File]::Exists($NewWindowsImageDetails.ImageStagingPath.FullName)) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The windows image file `"$($NewWindowsImageDetails.ImageStagingPath.FullName)`" already exists and will not be created. Skipping." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + + {($_ -eq $False)} + { + Switch ($True) + { + {([System.IO.Directory]::Exists($NewWindowsImageDetails.ImageStagingPath.Directory.FullName) -eq $False)} + { + $Null = [System.IO.Directory]::CreateDirectory($NewWindowsImageDetails.ImageStagingPath.Directory.FullName) + } + + {([System.IO.Directory]::Exists($NewWindowsImageDetails.LogPath.Directory.FullName) -eq $False)} + { + $Null = [System.IO.Directory]::CreateDirectory($NewWindowsImageDetails.LogPath.Directory.FullName) + } + } + + $NewWindowsImageParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $NewWindowsImageParameters.CapturePath = $WindowsImageRootFolder.FullName + $NewWindowsImageParameters.ImagePath = $NewWindowsImageDetails.ImageStagingPath.FullName + $NewWindowsImageParameters.Name = $ProductGroupMember.FileBaseName + $NewWindowsImageParameters.Description = $ProductGroupMember | Select-Object -Property @('*') -ExcludeProperty @('Enabled') | ConvertTo-JSON -Depth 10 -Compress:$True + $NewWindowsImageParameters.CompressionType = 'Max' + $NewWindowsImageParameters.Verify = $False + $NewWindowsImageParameters.LogPath = $NewWindowsImageDetails.LogPath.FullName + $NewWindowsImageParameters.LogLevel = 'WarningsInfo' + $NewWindowsImageParameters.Verbose = $False + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to compress the extracted content for the `"$($ProductGroupMember.OSName) $($ProductGroupMember.OSArchitecture)`" driver pack `"$($ProductGroupMember.DriverPackReleaseID)`" for product ID `"$($ProductGroupMember.BaseboardProduct)`" [Model: $($ProductGroupMember.$($ProductGroupAliasProperty))] manufactured by `"$($ManufacturerGroup.Name)`" into the windows image format. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Windows Image Capture Path: $($NewWindowsImageParameters.CapturePath)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Windows Image Export Path: $($NewWindowsImageParameters.ImagePath)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Windows Image Log Path: $($NewWindowsImageParameters.LogPath)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $CommandExecutionTimespan = Measure-Command -Expression {$Null = New-WindowsImage @NewWindowsImageParameters} + + If ($? -eq $True) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Extracted content compression completed in $($CommandExecutionTimespan.Hours.ToString()) hour(s), $($CommandExecutionTimespan.Minutes.ToString()) minute(s), $($CommandExecutionTimespan.Seconds.ToString()) second(s), and $($CommandExecutionTimespan.Milliseconds.ToString()) millisecond(s)." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $NewWindowsImageDetails.HashDetails = Get-FileHash -Path ($NewWindowsImageParameters.ImagePath) -Algorithm ($HashAlgorithm) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Windows Image Hash: $($NewWindowsImageDetails.HashDetails.Hash) [Algorithm: $($NewWindowsImageDetails.HashDetails.Algorithm)]" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $ExtractedContentSize = Get-ChildItem -Path "$($NewWindowsImageParameters.CapturePath)\*" -Recurse | Where-Object {($_ -is [System.IO.FileInfo])} | Measure-Object -Property @('Length') -Sum | Select-Object -ExpandProperty 'Sum' + $ExtractedContentSizeDetails = Convert-FileSize -Size ($ExtractedContentSize) -DecimalPlaces 2 + + $WindowsImageDetails = Get-Item -Path ($NewWindowsImageParameters.ImagePath) -Force + $WindowsImageDetailsSizeDetails = Convert-FileSize -Size ($WindowsImageDetails.Length) -DecimalPlaces 2 + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The extracted content was reduced from its original size of $($ExtractedContentSizeDetails.CalculatedSizeStr) to its compressed size of $($WindowsImageDetailsSizeDetails.CalculatedSizeStr)." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + #Export the Windows image metadata + $WindowsImageJSONTable = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $WindowsImageJSONTable.Cryptography = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $WindowsImageJSONTable.Cryptography.Hash = $NewWindowsImageDetails.HashDetails.Hash + $WindowsImageJSONTable.Cryptography.Algorithm = $NewWindowsImageDetails.HashDetails.Algorithm + $WindowsImageJSONTable.Content = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $WindowsImageJSONTable.Content.OriginalSize = $ExtractedContentSize + $WindowsImageJSONTable.Content.CompressedSize = $WindowsImageDetails.Length + $WindowsImageJSONTable.Metadata = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $WindowsImageJSONTable.Metadata = $ProductGroupMember | Select-Object -Property @('*') -ExcludeProperty @('Enabled', 'BaseboardProduct', 'SystemFamily', 'SystemManufacturer', 'SystemProductName', 'SystemSKU', 'SystemVersion', 'DirectoryPath', 'FileBaseName', 'FileName', 'MetadataFileName') + + $WindowsImageJSONContents = $WindowsImageJSONTable | ConvertTo-JSON -Depth 10 -Compress:$False + + [System.IO.FileInfo]$WindowsImageJSONExportPath = "$($NewWindowsImageDetails.ImageStagingPath.Directory.FullName)\$($NewWindowsImageDetails.ImageStagingPath.BaseName).json" + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to export the driver package metadata to `"$($WindowsImageJSONExportPath.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + If ([System.IO.Directory]::Exists($WindowsImageExportPath.Directory.FullName) -eq $False) {$Null = [System.IO.Directory]::CreateDirectory($WindowsImageJSONExportPath.Directory.FullName)} + + $Null = [System.IO.File]::WriteAllText($WindowsImageJSONExportPath.FullName, $WindowsImageJSONContents, [System.Text.Encoding]::Default) + } + } + } + + #Cleanup the extracted driver package content (If necessary) + If ([System.IO.Directory]::Exists($FileDownloadExtractionParameters.ExtractionPath.FullName) -eq $True) + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to remove driver pack extraction directory `"$($FileDownloadExtractionParameters.ExtractionPath.FullName)`". Please Wait..." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + [String]$DeletionPath = $FileDownloadExtractionParameters.ExtractionPath.FullName + + $Null = [Alphaleonis.Win32.Filesystem.Directory]::Delete($DeletionPath, $True, $True) + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - A driver pack windows image already exists for `"$($ProductGroupMember.OSName) $($ProductGroupMember.OSArchitecture)`" for product ID `"$($ProductGroup.Name)`" [Model: $($ProductGroupMember.$($ProductGroupAliasProperty))] manufactured by `"$($ManufacturerGroup.Name)`". Skipping..." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Windows Image Path: $($NewWindowsImageDetails.ImageFinalPath.FullName)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + } + } + } + } + + #Create the specified generic driver package folder(s) + $GenericDriverPackageCategoryList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $GenericDriverPackageCategoryList.Add('Printers') + $GenericDriverPackageCategoryList.Add('Docks') + $GenericDriverPackageCategoryList.Add('Adapters') + $GenericDriverPackageCategoryList.Add('Miscellaneous') + + $GenericDriverPackageFolderList = New-Object -TypeName 'System.Collections.Generic.List[System.IO.DirectoryInfo]' + $GenericDriverPackageFolderList.Add("$($LocalDriverPackageDirectory.FullName)\Generic") + + $GenericDriverPackageTableList = New-Object -TypeName 'System.Collections.Generic.List[PSObject]' + + $Null = $GenericDriverPackageCategoryList.Sort() + + ForEach ($GenericDriverPackageCategory In $GenericDriverPackageCategoryList) + { + $GenericDriverPackageJSON = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $GenericDriverPackageJSON.Enabled = $False + $GenericDriverPackageJSON.Metadata = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $GenericDriverPackageJSON.Metadata.Category = $GenericDriverPackageCategory + $GenericDriverPackageJSON.Metadata.Name = "$($GenericDriverPackageFolderList[0].Name)-$($GenericDriverPackageCategory)" + $GenericDriverPackageJSON.Metadata.ManufacturerInclusionExpression = '.*' + $GenericDriverPackageJSON.Metadata.ManufacturerExclusionExpression = '(^.{0,0}$)' + $GenericDriverPackageJSON.Metadata.ProductIDInclusionExpression = '.*' + $GenericDriverPackageJSON.Metadata.ProductIDExclusionExpression = '(^.*Virtual.*$)' + $GenericDriverPackageJSON.Metadata.OSVersionMinimum = ($WindowsReleaseHistory | Select-Object -First 1).Version.ToString() + $GenericDriverPackageJSON.Metadata.OSArchitectureExpression = '.*' + $GenericDriverPackageJSON.Metadata.FilePath = "$($GenericDriverPackageCategory)\$($GenericDriverPackageFolderList[0].Name)-$($GenericDriverPackageCategory).wim" + $GenericDriverPackageJSON.Metadata.MetadataPath = "$($GenericDriverPackageCategory)\$($GenericDriverPackageFolderList[0].Name)-$($GenericDriverPackageCategory).json" + + $GenericDriverPackageTableProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $GenericDriverPackageTableProperties.Path = "$($GenericDriverPackageFolderList[0].FullName)\$($GenericDriverPackageJSON.Metadata.MetadataPath)" -As [System.IO.FileInfo] + $GenericDriverPackageTableProperties.Contents = $GenericDriverPackageJSON | ConvertTo-JSON -Depth 10 -Compress:$False + + $GenericDriverPackageTableObject = New-Object -TypeName 'PSObject' -Property ($GenericDriverPackageTableProperties) + + $GenericDriverPackageTableList.Add($GenericDriverPackageTableObject) + } + + ForEach ($GenericDriverPackageTable In $GenericDriverPackageTableList) + { + Switch ($True) + { + {([System.IO.Directory]::Exists($GenericDriverPackageTable.Path.Directory.FullName) -eq $False)} + { + $Null = [System.IO.Directory]::CreateDirectory($GenericDriverPackageTable.Path.Directory.FullName) + } + } + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to create JSON metadata file `"$($GenericDriverPackageTable.Path.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $Null = [System.IO.File]::WriteAllText($GenericDriverPackageTable.Path.FullName, $GenericDriverPackageTable.Contents, [System.Text.Encoding]::Default) + } + + #Copy the locally created driver packages to the final destination + Switch ([System.IO.Directory]::Exists($LocalDriverPackageDirectory.FullName)) + { + {($_ -eq $True)} + { + $LocalDriverPackageInclusionList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $LocalDriverPackageInclusionList.Add('*.wim') + $LocalDriverPackageInclusionList.Add('*.json') + + $LocalDriverPackages = Get-ChildItem -Path ($LocalDriverPackageDirectory.FullName) -Include ($LocalDriverPackageInclusionList.ToArray()) -Recurse -ErrorAction SilentlyContinue | Where-Object {($_ -is [System.IO.FileInfo])} + + $LocalDriverPackageCount = ($LocalDriverPackages | Measure-Object).Count + + Switch ($LocalDriverPackageCount -gt 0) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - There are $($LocalDriverPackageCount) windows image driver packages to copy from `"$($LocalDriverPackageDirectory.FullName)`" to `"$($DriverPackageDirectory.FullName)`"." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + [System.IO.FileInfo]$CopyDriverPackagesLogPath = "$($LogDirectory.FullName)\Robocopy\CopyDriverPackages-ToFinalLocation.log" + + If ([System.IO.Directory]::Exists($CopyDriverPackagesLogPath.Directory.FullName) -eq $False) {$Null = [System.IO.Directory]::CreateDirectory($CopyDriverPackagesLogPath.Directory.FullName)} + + $StartProcessParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $StartProcessParameters.FilePath = "$($System32Directory.FullName)\robocopy.exe" + $StartProcessParameters.ArgumentList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $StartProcessParameters.ArgumentList.Add("`"$($LocalDriverPackageDirectory.FullName)`"") + $StartProcessParameters.ArgumentList.Add("`"$($DriverPackageDirectory.FullName)`"") + $StartProcessParameters.ArgumentList.Add("/E") + $StartProcessParameters.ArgumentList.Add("/Z") + $StartProcessParameters.ArgumentList.Add("/ZB") + $StartProcessParameters.ArgumentList.Add("/W:5") + $StartProcessParameters.ArgumentList.Add("/R:3") + $StartProcessParameters.ArgumentList.Add("/J") + $StartProcessParameters.ArgumentList.Add("/FP") + $StartProcessParameters.ArgumentList.Add("/NDL") + $StartProcessParameters.ArgumentList.Add("/TEE") + $StartProcessParameters.ArgumentList.Add("/XX") + $StartProcessParameters.ArgumentList.Add("/MT:16") + If ($EnableRobocopyIPG.IsPresent) {$StartProcessParameters.ArgumentList.Add("/IPG:125")} + $StartProcessParameters.ArgumentList.Add("/LOG:`"$($CopyDriverPackagesLogPath.FullName)`"") + $StartProcessParameters.PassThru = $True + $StartProcessParameters.Wait = $True + + Switch ($ProcessExecutionTable.IsSessionZero) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Session 0 was detected [User: $($ProcessExecutionTable.ProcessNTAccount)]. The command window will be hidden." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $StartProcessParameters.WindowStyle = [System.Diagnostics.Processwindowstyle]::Hidden + } + + Default + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Session 0 was not detected [User: $($ProcessExecutionTable.ProcessNTAccount)]. The command window will be show." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $StartProcessParameters.WindowStyle = [System.Diagnostics.Processwindowstyle]::Normal + } + } + + $CopyDriverPackagesResult = Start-Process @StartProcessParameters + + $AcceptableExitCodeList = @(0, 1, 2, 3, 4, 5, 6, 7, 8) + + Switch ($CopyDriverPackagesResult.ExitCode -in $AcceptableExitCodeList) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The command execution was successful. [Exit Code: $($CopyDriverPackagesResult.ExitCode)]" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + + {($_ -eq $False)} + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The command execution was unsuccessful. [Exit Code: $($CopyDriverPackagesResult.ExitCode)]" + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + $ErrorMessage = "$($LoggingDetails.WarningMessage)" + $Exception = [System.Exception]::New($ErrorMessage) + $ErrorRecord = [System.Management.Automation.ErrorRecord]::New($Exception, [System.Management.Automation.ErrorCategory]::InvalidResult.ToString(), [System.Management.Automation.ErrorCategory]::InvalidResult, $Process) + + $PSCmdlet.ThrowTerminatingError($ErrorRecord) + } + } + + #Cleanup the local driver package directory (If necessary) + If ([System.IO.Directory]::Exists($LocalDriverPackageDirectory.FullName) -eq $True) + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to remove local driver package directory `"$($LocalDriverPackageDirectory.FullName)`". Please Wait..." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + [String]$DeletionPath = $LocalDriverPackageDirectory.FullName + + $Null = [Alphaleonis.Win32.Filesystem.Directory]::Delete($DeletionPath, $True, $True) + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - There are $($LocalDriverPackageCount) windows image driver packages to copy from `"$($LocalDriverPackageDirectory.FullName)`" to `"$($DriverPackageDirectory.FullName)`"." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The directory `"$($LocalDriverPackageDirectory.FullName)`" does not exist. The windows image driver packages will not be copied." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + Catch + { + Throw + } + Finally + { + + } + } + } + + #region Export Driver Pack Metadata to XML + $XMLWriterSettings = New-Object -TypeName 'System.XML.XMLWriterSettings' + $XMLWriterSettings.Indent = $True + $XMLWriterSettings.IndentChars = "`t" * 1 + $XMLWriterSettings.Encoding = [System.Text.Encoding]::Default + $XMLWriterSettings.NewLineHandling = [System.XML.NewLineHandling]::None + $XMLWriterSettings.ConformanceLevel = [System.XML.ConformanceLevel]::Auto + + $XMLStringBuilder = New-Object -TypeName 'System.Text.StringBuilder' + + $XMLWriter = [System.XML.XMLTextWriter]::Create($XMLStringBuilder, $XMLWritersettings) + + [ScriptBlock]$AddXMLWriterNewLine = {$XMLWriter.WriteWhitespace(("`r`n" * 2))} + + $XMLWriter.WriteStartDocument() + + $AddXMLWriterNewLine.Invoke() + + $XMLWriter.WriteProcessingInstruction("xml-stylesheet", "type='text/xsl' href='style.xsl'") + + $AddXMLWriterNewLine.Invoke() + + $DriverPackagePropertyInclusionList = New-Object -TypeName 'System.Collections.Generic.List[Object]' + $DriverPackagePropertyInclusionList.Add(@{Name = 'Enabled'; Expression = {$_.Enabled}}) + $DriverPackagePropertyInclusionList.Add(@{Name = 'MinimumOSVersion'; Expression = {$_.OSVersionMinimum}}) + $DriverPackagePropertyInclusionList.Add(@{Name = 'MinimumOSVersionAlias'; Expression = {$_.OSReleaseIDMinimum}}) + $DriverPackagePropertyInclusionList.Add(@{Name = 'ReleaseID'; Expression = {$_.DriverPackReleaseID}}) + $DriverPackagePropertyInclusionList.Add(@{Name = 'ReleaseVersion'; Expression = {$_.DriverPackReleaseVersion}}) + $DriverPackagePropertyInclusionList.Add(@{Name = 'ReleaseDate'; Expression = {$_.DriverPackReleaseDate}}) + $DriverPackagePropertyInclusionList.Add(@{Name = 'FilePath'; Expression = {$_.FilePath}}) + $DriverPackagePropertyInclusionList.Add(@{Name = 'MetadataPath'; Expression = {$_.MetadataFilePath}}) + + $XMLWriter.WriteStartElement('Metadata') + + $XMLWriter.WriteElementString('GeneratedBy', $ProcessExecutionTable.ProcessNTAccount) + $XMLWriter.WriteElementString('GeneratedOn', $Env:ComputerName.ToUpper()) + $XMLWriter.WriteElementString('GeneratedDate', $GetCurrentDateTimeXMLFormat.InvokeReturnAsIs()) + + $XMLWriter.WriteStartElement('ManufacturerList') + + $ManufacturerGroupList = $DriverPackDownloadList | Group-Object -Property @('Manufacturer') | Sort-Object -Property @('Name') + + ForEach ($ManufacturerGroup In $ManufacturerGroupList) + { + $ProductNameProperty = 'SystemProductName' + + Switch ($ManufacturerGroup.Name) + { + {($_ -iin @('Dell'))} + { + [Object]$ProductIDExpression = @{Name = 'ProductID'; Expression = {$_.SystemSKU.ToUpper()}} + } + + {($_ -iin @('HP'))} + { + [Object]$ProductIDExpression = @{Name = 'ProductID'; Expression = {[Regex]::Match($_.BaseboardProduct, '^\w{4}').Value.ToUpper()}} + } + + {($_ -iin @('Lenovo'))} + { + [Object]$ProductIDExpression = @{Name = 'ProductID'; Expression = {[Regex]::Match($_.SystemProductName, '^\w{4}').Value.ToUpper()}} + + $ProductNameProperty = 'SystemVersion' + } + + Default + { + [Object]$ProductIDExpression = @{Name = 'ProductID'; Expression = {$_.BaseboardProduct}} + } + } + + $XMLWriter.WriteStartElement('Manufacturer') + + $XMLWriter.WriteAttributeString('Enabled', $True) + $XMLWriter.WriteAttributeString('Name', $ManufacturerGroup.Name) + $XMLWriter.WriteAttributeString('EligibilityExpression', ($Script:SettingsTable.ManufacturerList | Where-Object {($_.Name -ieq $ManufacturerGroup.Name)}).EligibilityExpression) + $XMLWriter.WriteAttributeString('ProductIDExpression', "@{Name = '$($ProductIDExpression.Name)'; Expression = {$($ProductIDExpression.Expression)}}") + + $XMLWriter.WriteStartElement('ModelList') + + $ProductGroupList = $ManufacturerGroup.Group | Select-Object -Property @('*') | Group-Object -Property 'ProductID' | Sort-Object -Property @('Name') + + ForEach ($ProductGroup In $ProductGroupList) + { + $XMLWriter.WriteStartElement('Model') + + $XMLWriter.WriteAttributeString('Enabled', $True) + $XMLWriter.WriteAttributeString('Name', $ProductGroup.Group[0].$($ProductNameProperty)) + + $XMLWriter.WriteStartElement('ProductIDList') + + ForEach ($ProductID In ($ProductGroup.Group.ProductIDList | Sort-Object -Unique)) + { + $XMLWriter.WriteElementString('ProductID', $ProductID) + } + + $XMLWriter.WriteEndElement() + + $XMLWriter.WriteStartElement('OperatingSystemList') + + $OperatingSystemGroupProperty = 'OSName' + + $OperatingSystemGroupList = $ProductGroup.Group | Sort-Object -Property {[Regex]::Match($_.OSAlias, '\d+').Value} | Group-Object -Property ($OperatingSystemGroupProperty) + + ForEach ($OperatingSystemGroup In $OperatingSystemGroupList) + { + $XMLWriter.WriteStartElement('OperatingSystem') + + $XMLWriter.WriteAttributeString('Enabled', $True) + $XMLWriter.WriteAttributeString('Name', $OperatingSystemGroup.Name) + $XMLWriter.WriteAttributeString('Architecture', $OperatingSystemGroup.Group[0].OSArchitecture) + $XMLWriter.WriteAttributeString('MinimumVersion', ($WindowsReleaseHistory | Where-Object {($_.Name -ieq $OperatingSystemGroup.Name)} | Select-Object -First 1).Version.ToString()) + + $XMLWriter.WriteStartElement('DriverPackageList') + + $DriverPackageList = $OperatingSystemGroupList.Group | Where-Object {($_.$($OperatingSystemGroupProperty) -ieq $OperatingSystemGroup.Name)} | Sort-Object -Property {[Version]$_.MinimumOSVersion} -Descending + + ForEach ($DriverPackage In $DriverPackageList) + { + $DriverPackageEntry = $DriverPackage | Select-Object -Property ($DriverPackagePropertyInclusionList) + + $XMLWriter.WriteStartElement('DriverPackage') + + ForEach ($DriverPackageProperty In $DriverPackageEntry.PSObject.Properties) + { + $XMLWriter.WriteAttributeString($DriverPackageProperty.Name, $DriverPackageProperty.Value) + } + + $XMLWriter.WriteEndElement() + } + + $XMLWriter.WriteEndElement() + + $XMLWriter.WriteEndElement() + } + + $XMLWriter.WriteEndElement() + + $XMLWriter.WriteEndElement() + } + + $XMLWriter.WriteEndElement() + + $XMLWriter.WriteEndElement() + } + + $XMLWriter.WriteEndElement() + + $XMLWriter.WriteEndElement() + + $XMLWriter.WriteEndDocument() + + $XMLWriter.Flush() + + $XMLWriter.Close() + + [String]$DriverPackageListContents = $XMLStringBuilder.ToString() + + [System.IO.FileInfo]$DriverPackageListExportPath = "$($DriverPackageDirectory.FullName)\Metadata\DriverPackageList.xml" + + [Scriptblock]$ExportDriverPackageList = { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to export the driver package list to `"$($DriverPackageListExportPath.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + If ([System.IO.Directory]::Exists($DriverPackageListExportPath.Directory.FullName) -eq $False) {$Null = [System.IO.Directory]::CreateDirectory($DriverPackageListExportPath.Directory.FullName)} + + $Null = [System.IO.File]::WriteAllText($DriverPackageListExportPath.FullName, $DriverPackageListContents, $XMLWriterSettings.Encoding) + } + + Switch ([System.IO.File]::Exists($DriverPackageListExportPath.FullName)) + { + {($_ -eq $True)} + { + $MemoryStream = New-Object -TypeName 'System.IO.MemoryStream' + $StreamWriter = New-Object -TypeName 'System.IO.StreamWriter' -ArgumentList ($MemoryStream) + $Null = $StreamWriter.Write($DriverPackageListContents) + $Null = $StreamWriter.Flush() + $Null = $MemoryStream.Position = 0 + + $DriverPackageListContentHash = Get-FileHash -InputStream $MemoryStream -Algorithm ($HashAlgorithm) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - New driver package list hash: $($DriverPackageListContentHash.Hash)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $DriverPackageListExportPathHash = Get-FileHash -Path ($DriverPackageListExportPath.FullName) -Algorithm ($HashAlgorithm) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Current driver package list hash: $($DriverPackageListExportPathHash.Hash)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Switch ($DriverPackageListContentHash.Hash -ne $DriverPackageListExportPathHash.Hash) + { + {($_ -eq $True)} + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The driver package list `"$($DriverPackageListExportPath.FullName)`" requires an update." + Write-Warning -Message ($LoggingDetails.WarningMessage) -Verbose + + $Null = $ExportDriverPackageList.InvokeReturnAsIs() + } + + Default + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The driver package list `"$($DriverPackageListExportPath.FullName)`" does not require an update." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + } + } + + Default + { + $Null = $ExportDriverPackageList.InvokeReturnAsIs() + } + } + #endregion + + $Script:LASTEXITCODE = $TerminationCodes.Success[0] + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + Try + { + #Determine the date and time the function completed execution + $ScriptEndTime = (Get-Date) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Script execution of `"$($CmdletName)`" ended on $($ScriptEndTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + #Log the total script execution time + $ScriptExecutionTimespan = New-TimeSpan -Start ($ScriptStartTime) -End ($ScriptEndTime) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Script execution took $($ScriptExecutionTimespan.Hours.ToString()) hour(s), $($ScriptExecutionTimespan.Minutes.ToString()) minute(s), $($ScriptExecutionTimespan.Seconds.ToString()) second(s), and $($ScriptExecutionTimespan.Milliseconds.ToString()) millisecond(s)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Exiting script `"$($ScriptPath.FullName)`" with exit code $($Script:LASTEXITCODE)." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Stop-Transcript + } + Catch + { + + } + } + } \ No newline at end of file diff --git a/Invoke-DriverPackageCreator.vbs b/Invoke-DriverPackageCreator.vbs new file mode 100644 index 0000000..2190820 --- /dev/null +++ b/Invoke-DriverPackageCreator.vbs @@ -0,0 +1,145 @@ +'Set object values + Set oArguments = WScript.Arguments.Named + Set oFSO = CreateObject("Scripting.FileSystemObject") + Set oShell = CreateObject("WScript.Shell") + Set oCMD = oFSO.GetFile(oShell.ExpandEnvironmentStrings("%COMSPEC%")) + Set oPowershell = oFSO.GetFile(oShell.ExpandEnvironmentStrings("%WINDIR%") & "\System32\WindowsPowershell\v1.0\powershell.exe") + +'Define ASCII Characters + chrSpace = Chr(32) + chrSingleQuote = Chr(39) + chrDoubleQuote = Chr(34) + +'Define Variable(s) + ScriptInterpreter = CreateObject("Scripting.FileSystemObject").GetFileName(WScript.FullName) + If (oArguments.Exists("Debug") = True) Then DebugMode = True End If + +'Dynamically convert named VBScript arguments to their eqivalent powershell format +oArgumentCount = oArguments.Count + +If (oArgumentCount > 0) Then + StringBuilder = "" + + oArgumentCounter = 1 + + Set ArgumentNameExpression = New RegExp + + With ArgumentNameExpression + .Pattern = "^Debug$" + .IgnoreCase = True + .Global = False + .Multiline = False + End With + + Set ArgumentValueExpression = New RegExp + + With ArgumentValueExpression + .Pattern = "^.*True|.*False$" + .IgnoreCase = True + .Global = False + .Multiline = False + End With + + For Each oArgument In oArguments + ArgumentName = Trim(oArgument) + ArgumentValue = oArguments.Item(oArgument) + + If (Not(ArgumentNameExpression.Test(ArgumentName))) Then + Select Case ((Len(ArgumentValue) > 0) And (Not(ArgumentValueExpression.Test(ArgumentValue)))) + Case True + If (InStr(ArgumentValue, ",") > 0) Then + ArgumentValueParts = Split(ArgumentValue, ",") + + ArgumentValuePartsCount = UBound(ArgumentValueParts) + + ArgumentValuePartStringBuilder = "" + + ArgumentValuePartCounter = 0 + + For Each ArgumentValuePart In ArgumentValueParts + ArgumentValuePartFormat = chrDoubleQuote & ArgumentValuePart & chrDoubleQuote + + ArgumentValuePartStringBuilder = ArgumentValuePartStringBuilder & ArgumentValuePartFormat + + If ((ArgumentValuePartsCount > 0) And (ArgumentValuePartCounter < ArgumentValuePartsCount)) Then + ArgumentValuePartStringBuilder = ArgumentValuePartStringBuilder & "," + ArgumentValuePartCounter = ArgumentValuePartCounter + 1 + End If + Next + + ParameterFormat = "-" & ArgumentName & chrSpace & ArgumentValuePartStringBuilder + ElseIf (IsNumeric(ArgumentValue) = True) Then + ParameterFormat = "-" & ArgumentName & chrSpace & ArgumentValue + Else + ParameterFormat = "-" & ArgumentName & chrSpace & chrDoubleQuote & ArgumentValue & chrDoubleQuote + End If + Case False + ParameterFormat = "-" & ArgumentName + End Select + + If (Len(ParameterFormat) > 0) Then + + If ((oArgumentCount > 1) And (oArgumentCounter < oArgumentCount)) Then + StringBuilder = StringBuilder & chrSpace + End If + + StringBuilder = StringBuilder & ParameterFormat + + ArgumentCounter = oArgumentCounter + 1 + + ParameterFormat = Null + End If + End If + Next + + StringBuilderResult = Trim(StringBuilder) + + If (Len(StringBuilderResult) > 0) Then + PowershellScriptParameters = StringBuilderResult & ";" & chrSpace & "[System.Environment]::Exit(($LASTEXITCODE -Bor [Int](-Not $? -And -Not $LASTEXITCODE)))" + Else + If (DebugMode = True) Then + WScript.Echo("Debug mode is enabled. The specified command will NOT be executed.") + End If + + PowershellScriptParameters = ";" & chrSpace & "[System.Environment]::Exit(($LASTEXITCODE -Bor [Int](-Not $? -And -Not $LASTEXITCODE)))" + End If + + Set ArgumentNameExpression = Nothing + + Set ArgumentValueExpression = Nothing +Else + If (DebugMode = True) Then + WScript.Echo(oArgumentCount & chrSpace & "arguments were specified.") + End If +End If + +'Define Additional Variable(s) + Set ScriptPath = oFSO.GetFile(WScript.ScriptFullName) + ScriptDirectory = ScriptPath.ParentFolder + System32Directory = oShell.ExpandEnvironmentStrings("%WINDIR%") & "\System32" + CommandPromptExecutionParameters = oCMD.Name & chrSpace & "/c" + PowershellExecutionParameters = chrDoubleQuote & oPowershell.Path & chrDoubleQuote & chrSpace & "-ExecutionPolicy Bypass -NonInteractive -NoProfile -NoLogo -WindowStyle Hidden -Command" + PowershellScriptPath = ScriptDirectory & "\" & oFSO.GetBaseName(ScriptPath) & ".ps1" + +'Execute Powershell Script + If (Len(PowershellScriptParameters) > 0) Then + Command = PowershellExecutionParameters & chrSpace & chrDoubleQuote & "&" & chrSpace & chrSingleQuote & PowershellScriptPath & chrSingleQuote & chrSpace & PowershellScriptParameters & chrDoubleQuote + Else + Command = PowershellExecutionParameters & chrSpace & chrDoubleQuote & "&" & chrSpace & chrSingleQuote & PowershellScriptPath & chrSingleQuote & chrDoubleQuote + End If + + If ((ScriptInterpreter = "cscript.exe") Or (DebugMode = True)) Then + WScript.Echo("Command:" & chrSpace & Command) + End If + + If (DebugMode = False) Then + RunCommand = oShell.Run(Command, 0, True) + End If + + If ((ScriptInterpreter = "cscript.exe") Or (DebugMode = True)) And (IsEmpty(RunCommand) = False) Then + WScript.Echo("Exit Code:" & chrSpace & RunCommand) + End If + + If (DebugMode = False) Then + WScript.Quit(RunCommand) + End If \ No newline at end of file diff --git a/Invoke-DriverPackageDownload.ps1 b/Invoke-DriverPackageDownload.ps1 new file mode 100644 index 0000000..1f53681 --- /dev/null +++ b/Invoke-DriverPackageDownload.ps1 @@ -0,0 +1,1388 @@ +#Requires -Version 3 + +<# + .SYNOPSIS + A brief overview of what your function does + + .DESCRIPTION + Slightly more detailed description of what your function does + + .PARAMETER TaskSequenceVariables + One or more task sequence variable(s) to retrieve during task sequence execution. + If this parameter is not specified, all task sequence variable(s) will be stored into the variable 'TSVariableTable'. + Any task sequence variables that are new or have been updated will be saved back to the task sequence engine for futher usage. + + $TSVariable.MyCustomVariableName = "MyCustomVariableValue" + $TSVariable.Make = "MyDeviceModel" + + .PARAMETER LogDir + A valid folder path. If the folder does not exist, it will be created. This parameter can also be specified by the alias "LogPath". + + .PARAMETER ContinueOnError + Ignore failures. + + .EXAMPLE + Use this command to execute a VBSCript that will launch this powershell script automatically with the specified parameters. This is useful to avoid powershell execution complexities. + + cscript.exe /nologo "%FolderPathContainingScript%\%ScriptName%.vbs" /SwitchParameter /ScriptParameter:"%ScriptParameterValue%" /ScriptParameterArray:"%ScriptParameterValue1%,%ScriptParameterValue2%" + + wscript.exe /nologo "%FolderPathContainingScript%\%ScriptName%.vbs" /SwitchParameter /ScriptParameter:"%ScriptParameterValue%" /ScriptParameterArray:"%ScriptParameterValue1%,%ScriptParameterValue2%" + + .EXAMPLE + powershell.exe -ExecutionPolicy Bypass -NoProfile -NoLogo -File "%FolderPathContainingScript%\%ScriptName%.ps1" -SwitchParameter -ScriptParameter "%ScriptParameterValue%" + + .EXAMPLE + powershell.exe -ExecutionPolicy Bypass -NonInteractive -NoProfile -NoLogo -WindowStyle Hidden -Command "& '%FolderPathContainingScript%\%ScriptName%.ps1' -ScriptParameter1 '%ScriptParameter1Value%' -ScriptParameter2 %ScriptParameter2Value% -SwitchParameter" + + .NOTES + Any useful tidbits + + .LINK + Place any useful link here where your function or cmdlet can be referenced +#> + +[CmdletBinding(SupportsShouldProcess=$True)] + Param + ( + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [ValidateScript({[System.IO.Directory]::Exists($_) -eq $True})] + [Alias('DPRD')] + [System.IO.DirectoryInfo]$DriverPackageRootDirectory, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [ValidatePattern('^.+\.(xml)$')] + [ValidateScript({[System.IO.File]::Exists($_) -eq $True})] + [Alias('DPMDP')] + [System.IO.FileInfo]$DriverPackageMetadataPath, + + [Parameter(Mandatory=$False)] + [Switch]$DisableDownLeveling, + + [Parameter(Mandatory=$False)] + [Alias('BIMB', 'Buffer', 'BufferInMegabytes')] + [Int]$SegmentSize = 8192, + + [Parameter(Mandatory=$False)] + [Alias('RD')] + [Switch]$RandomDelay, + + [Parameter(Mandatory=$False)] + [Alias('S', 'StageContent', 'StageDriversLocally')] + [Switch]$Stage, + + [Parameter(Mandatory=$False)] + [Alias('SRD')] + [System.IO.DirectoryInfo]$StagingRootDirectory, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [Alias('TSVars', 'TSVs')] + [String[]]$TaskSequenceVariables, + + [Parameter(Mandatory=$False)] + [ValidateNotNullOrEmpty()] + [Alias('LogDir', 'LogPath')] + [System.IO.DirectoryInfo]$LogDirectory, + + [Parameter(Mandatory=$False)] + [Switch]$ContinueOnError + ) + +Function Get-AdministrativePrivilege + { + $Identity = [System.Security.Principal.WindowsIdentity]::GetCurrent() + $Principal = New-Object System.Security.Principal.WindowsPrincipal($Identity) + Write-Output -InputObject ($Principal.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)) + } + +If ((Get-AdministrativePrivilege) -eq $False) + { + [System.IO.FileInfo]$ScriptPath = "$($MyInvocation.MyCommand.Path)" + + $ArgumentList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $ArgumentList.Add('-ExecutionPolicy Bypass') + $ArgumentList.Add('-NoProfile') + $ArgumentList.Add('-NoExit') + $ArgumentList.Add('-NoLogo') + $ArgumentList.Add("-File `"$($ScriptPath.FullName)`"") + + $Null = Start-Process -FilePath "$([System.Environment]::SystemDirectory)\WindowsPowershell\v1.0\powershell.exe" -WorkingDirectory "$([System.Environment]::SystemDirectory)" -ArgumentList ($ArgumentList.ToArray()) -WindowStyle Normal -Verb RunAs -PassThru + } +Else + { + #Determine the date and time we executed the function + $ScriptStartTime = (Get-Date) + + #Define Default Action Preferences + $Script:DebugPreference = 'SilentlyContinue' + $Script:ErrorActionPreference = 'Stop' + $Script:VerbosePreference = 'SilentlyContinue' + $Script:WarningPreference = 'Continue' + $Script:ConfirmPreference = 'None' + $Script:WhatIfPreference = $False + + #Load WMI Classes + $Baseboard = Get-WmiObject -Namespace "root\CIMv2" -Class "Win32_Baseboard" -Property * + $Bios = Get-WmiObject -Namespace "root\CIMv2" -Class "Win32_Bios" -Property * + $ComputerSystem = Get-WmiObject -Namespace "root\CIMv2" -Class "Win32_ComputerSystem" -Property * + $OperatingSystem = Get-WmiObject -Namespace "root\CIMv2" -Class "Win32_OperatingSystem" -Property * + $MSSystemInformation = Get-WmiObject -Namespace "root\WMI" -Class "MS_SystemInformation" -Property * + + #Retrieve property values + $OSArchitecture = $($OperatingSystem.OSArchitecture).Replace("-bit", "").Replace("32", "86").Insert(0,"x").ToUpper() + + #Define variable(s) + $DateTimeLogFormat = 'dddd, MMMM dd, yyyy @ hh:mm:ss.FFF tt' ###Monday, January 01, 2019 @ 10:15:34.000 AM### + [ScriptBlock]$GetCurrentDateTimeLogFormat = {(Get-Date).ToString($DateTimeLogFormat)} + $DateTimeMessageFormat = 'MM/dd/yyyy HH:mm:ss.FFF' ###03/23/2022 11:12:48.347### + [ScriptBlock]$GetCurrentDateTimeMessageFormat = {(Get-Date).ToString($DateTimeMessageFormat)} + $DateFileFormat = 'yyyyMMdd' ###20190403### + [ScriptBlock]$GetCurrentDateFileFormat = {(Get-Date).ToString($DateFileFormat)} + $DateTimeFileFormat = 'yyyyMMdd_HHmmss' ###20190403_115354### + [ScriptBlock]$GetCurrentDateTimeFileFormat = {(Get-Date).ToString($DateTimeFileFormat)} + [System.IO.FileInfo]$ScriptPath = "$($MyInvocation.MyCommand.Definition)" + [System.IO.DirectoryInfo]$ScriptDirectory = "$($ScriptPath.Directory.FullName)" + [System.IO.DirectoryInfo]$ContentDirectory = "$($ScriptDirectory.FullName)\Content" + [System.IO.DirectoryInfo]$FunctionsDirectory = "$($ScriptDirectory.FullName)\Functions" + [System.IO.DirectoryInfo]$ModulesDirectory = "$($ScriptDirectory.FullName)\Modules" + [System.IO.DirectoryInfo]$ToolsDirectory = "$($ScriptDirectory.FullName)\Tools" + [System.IO.DirectoryInfo]$ToolsDirectory_OSAll = "$($ToolsDirectory.FullName)\All" + [System.IO.DirectoryInfo]$ToolsDirectory_OSArchSpecific = "$($ToolsDirectory.FullName)\$($OSArchitecture)" + [System.IO.DirectoryInfo]$System32Directory = [System.Environment]::SystemDirectory + [System.IO.DirectoryInfo]$ProgramFilesDirectory = "$($Env:SystemDrive)\Program Files" + [System.IO.DirectoryInfo]$ProgramFilesx86Directory = "$($Env:SystemDrive)\Program Files (x86)" + [System.IO.FileInfo]$PowershellPath = "$($System32Directory.FullName)\WindowsPowershell\v1.0\powershell.exe" + [System.IO.DirectoryInfo]$System32Directory = "$([System.Environment]::SystemDirectory)" + $IsWindowsPE = Test-Path -Path 'HKLM:\SYSTEM\ControlSet001\Control\MiniNT' -ErrorAction SilentlyContinue + [System.Text.RegularExpressions.RegexOptions[]]$RegexOptions = [System.Text.RegularExpressions.RegexOptions]::IgnoreCase, [System.Text.RegularExpressions.RegexOptions]::Multiline + [ScriptBlock]$GetRandomGUID = {[System.GUID]::NewGUID().GUID.ToString().ToUpper()} + [String]$ParameterSetName = "$($PSCmdlet.ParameterSetName)" + $TextInfo = (Get-Culture).TextInfo + $Script:LASTEXITCODE = 0 + $TerminationCodes = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $TerminationCodes.Add('Success', @(0)) + $TerminationCodes.Add('Warning', @(5000..5999)) + $TerminationCodes.Add('Error', @(6000..6999)) + $Script:WarningCodeIndex = 0 + [ScriptBlock]$GetAvailableWarningCode = {$TerminationCodes.Warning[$Script:WarningCodeIndex]; $Script:WarningCodeIndex++} + $Script:ErrorCodeIndex = 0 + [ScriptBlock]$GetAvailableErrorCode = {$TerminationCodes.Error[$Script:ErrorCodeIndex]; $Script:ErrorCodeIndex++} + $LoggingDetails = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $LoggingDetails.Add('LogMessage', $Null) + $LoggingDetails.Add('WarningMessage', $Null) + $LoggingDetails.Add('ErrorMessage', $Null) + $RegularExpressionTable = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $RegularExpressionTable.Base64 = '^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$' -As [Regex] + $CommonParameterList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $CommonParameterList.AddRange([System.Management.Automation.PSCmdlet]::CommonParameters) + $CommonParameterList.AddRange([System.Management.Automation.PSCmdlet]::OptionalCommonParameters) + + #Define the error handling definition + [ScriptBlock]$ErrorHandlingDefinition = { + If (($Null -ieq $Script:LASTEXITCODE) -or ($Script:LASTEXITCODE -eq 0)) + { + [Int]$Script:LASTEXITCODE = $GetAvailableErrorCode.InvokeReturnAsIs() + } + + $ErrorMessageList = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $ErrorMessageList.Add('Message', $_.Exception.Message) + $ErrorMessageList.Add('Category', $_.Exception.ErrorRecord.FullyQualifiedErrorID) + $ErrorMessageList.Add('ExitCode', $Script:LASTEXITCODE) + $ErrorMessageList.Add('Script', $_.InvocationInfo.ScriptName) + $ErrorMessageList.Add('LineNumber', $_.InvocationInfo.ScriptLineNumber) + $ErrorMessageList.Add('LinePosition', $_.InvocationInfo.OffsetInLine) + $ErrorMessageList.Add('Code', $_.InvocationInfo.Line.Trim()) + + ForEach ($ErrorMessage In $ErrorMessageList.GetEnumerator()) + { + $LoggingDetails.ErrorMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - ERROR: $($ErrorMessage.Key): $($ErrorMessage.Value)" + Write-Verbose -Message ($LoggingDetails.ErrorMessage) -Verbose + } + + Switch (($ContinueOnError.IsPresent -eq $False) -or ($ContinueOnError -eq $False)) + { + {($_ -eq $True)} + { + Throw + } + } + } + + #Log task sequence variables if debug mode is enabled within the task sequence + Try + { + [System.__ComObject]$TSEnvironment = New-Object -ComObject "Microsoft.SMS.TSEnvironment" + + If ($Null -ine $TSEnvironment) + { + $IsRunningTaskSequence = $True + + [Boolean]$IsConfigurationManagerTaskSequence = [String]::IsNullOrEmpty($TSEnvironment.Value("_SMSTSPackageID")) -eq $False + + Switch ($IsConfigurationManagerTaskSequence) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - A Microsoft Endpoint Configuration Manager (MECM) task sequence was detected." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + + {($_ -eq $False)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - A Microsoft Deployment Toolkit (MDT) task sequence was detected." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + } + } + } + Catch + { + $IsRunningTaskSequence = $False + } + + #Determine default parameter value(s) + Switch ($True) + { + {([String]::IsNullOrEmpty($LogDirectory) -eq $True) -or ([String]::IsNullOrWhiteSpace($LogDirectory) -eq $True)} + { + Switch ($IsRunningTaskSequence) + { + {($_ -eq $True)} + { + Switch ($IsConfigurationManagerTaskSequence) + { + {($_ -eq $True)} + { + [String]$_SMSTSLogPath = "$($TSEnvironment.Value('_SMSTSLogPath'))" + } + + {($_ -eq $False)} + { + [String]$_SMSTSLogPath = "$($TSEnvironment.Value('LogPath'))" + } + } + + Switch ([String]::IsNullOrEmpty($_SMSTSLogPath)) + { + {($_ -eq $True)} + { + [System.IO.DirectoryInfo]$TSLogDirectory = "$($Env:Windir)\Temp\SMSTSLog" + } + + {($_ -eq $False)} + { + Switch ($True) + { + {(Test-Path -Path ($_SMSTSLogPath) -PathType Container)} + { + [System.IO.DirectoryInfo]$TSLogDirectory = ($_SMSTSLogPath) + } + + {(Test-Path -Path ($_SMSTSLogPath) -PathType Leaf)} + { + [System.IO.DirectoryInfo]$TSLogDirectory = Split-Path -Path ($_SMSTSLogPath) -Parent + } + } + } + } + + [System.IO.DirectoryInfo]$LogDirectory = "$($TSLogDirectory.FullName)\$($ScriptPath.BaseName)" + } + + {($_ -eq $False)} + { + Switch ($IsWindowsPE) + { + {($_ -eq $True)} + { + [System.IO.FileInfo]$MDTBootImageDetectionPath = "$($Env:SystemDrive)\Deploy\Scripts\Litetouch.wsf" + + [Boolean]$MDTBootImageDetected = Test-Path -Path ($MDTBootImageDetectionPath.FullName) + + Switch ($MDTBootImageDetected) + { + {($_ -eq $True)} + { + [System.IO.DirectoryInfo]$LogDirectory = "$($Env:SystemDrive)\MININT\SMSOSD\OSDLOGS\$($ScriptPath.BaseName)" + } + + {($_ -eq $False)} + { + [System.IO.DirectoryInfo]$LogDirectory = "$($Env:Windir)\Temp\SMSTSLog" + } + } + } + + {($_ -eq $False)} + { + [System.IO.DirectoryInfo]$ApplicationDataRootDirectory = "$($Env:ProgramData)\Invoke-DriverPackageCreator" + + [System.IO.DirectoryInfo]$LogDirectory = "$($ApplicationDataRootDirectory.FullName)\Logs" + } + } + } + } + } + } + + #Start transcripting (Logging) + [System.IO.FileInfo]$ScriptLogPath = "$($LogDirectory.FullName)\$($ScriptPath.BaseName)_$($GetCurrentDateFileFormat.Invoke()).log" + If ($ScriptLogPath.Directory.Exists -eq $False) {$Null = [System.IO.Directory]::CreateDirectory($ScriptLogPath.Directory.FullName)} + Start-Transcript -Path "$($ScriptLogPath.FullName)" -Force -WhatIf:$False + + #Log any useful information + [String]$CmdletName = $MyInvocation.MyCommand.Name + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Execution of script `"$($CmdletName)`" began on $($ScriptStartTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Script Path = $($ScriptPath.FullName)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + [String[]]$AvailableScriptParameters = (Get-Command -Name ($ScriptPath.FullName)).Parameters.GetEnumerator() | Where-Object {($_.Value.Name -inotin $CommonParameterList)} | ForEach-Object {"-$($_.Value.Name):$($_.Value.ParameterType.Name)"} + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Available Script Parameter(s) = $($AvailableScriptParameters -Join ', ')" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + [String[]]$SuppliedScriptParameters = $PSBoundParameters.GetEnumerator() | ForEach-Object {"-$($_.Key):$($_.Value.GetType().Name)"} + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Supplied Script Parameter(s) = $($SuppliedScriptParameters -Join ', ')" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Switch ($True) + { + {([String]::IsNullOrEmpty($ParameterSetName) -eq $False)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Parameter Set Name = $($ParameterSetName)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + } + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Command Line: $((Get-WMIObject -Namespace 'Root\CIMv2' -Class 'Win32_Process' -Filter "ProcessID = $($PID)").CommandLine)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($PSBoundParameters.Count) command line parameter(s) were specified." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $OperatingSystemDetailsTable = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $OperatingSystemDetailsTable.ProductName = $OperatingSystem.Caption -ireplace '(Microsoft\s+)', '' + $OperatingSystemDetailsTable.Version = $OperatingSystem.Version + $OperatingSystemDetailsTable.Architecture = $OperatingSystem.OSArchitecture + + $OperatingSystemRegistryDetails = New-Object -TypeName 'System.Collections.Generic.List[PSObject]' + $OperatingSystemRegistryDetails.Add((New-Object -TypeName 'PSObject' -Property @{Alias = ''; Path = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'; ValueName = 'UBR'; Value = $Null})) + $OperatingSystemRegistryDetails.Add((New-Object -TypeName 'PSObject' -Property @{Alias = 'ReleaseVersion'; Path = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'; ValueName = 'ReleaseID'; Value = $Null})) + $OperatingSystemRegistryDetails.Add((New-Object -TypeName 'PSObject' -Property @{Alias = 'ReleaseID'; Path = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'; ValueName = 'DisplayVersion'; Value = $Null})) + + ForEach ($OperatingSystemRegistryDetail In $OperatingSystemRegistryDetails) + { + $OperatingSystemRegistryDetail.Value = Try {(Get-Item -Path $OperatingSystemRegistryDetail.Path).GetValue($OperatingSystemRegistryDetail.ValueName)} Catch {} + + :NextOSDetail Switch (([String]::IsNullOrEmpty($OperatingSystemRegistryDetail.Value) -eq $False) -and ([String]::IsNullOrWhiteSpace($OperatingSystemRegistryDetail.Value) -eq $False)) + { + {($_ -eq $True)} + { + Switch ($OperatingSystemRegistryDetail.ValueName) + { + {($_ -ieq 'UBR')} + { + $OperatingSystemDetailsTable.Version = $OperatingSystemDetailsTable.Version + '.' + $OperatingSystemRegistryDetail.Value + + Break NextOSDetail + } + } + + Switch (([String]::IsNullOrEmpty($OperatingSystemRegistryDetail.Alias) -eq $False) -and ([String]::IsNullOrWhiteSpace($OperatingSystemRegistryDetail.Alias) -eq $False)) + { + {($_ -eq $True)} + { + $OperatingSystemDetailsTable.$($OperatingSystemRegistryDetail.Alias) = $OperatingSystemRegistryDetail.Value + } + + Default + { + $OperatingSystemDetailsTable.$($OperatingSystemRegistryDetail.ValueName) = $OperatingSystemRegistryDetail.Value + } + } + } + + Default + { + $OperatingSystemDetailsTable.$($OperatingSystemRegistryDetail.ValueName) = $OperatingSystemRegistryDetail.Value + } + } + } + + ForEach ($OperatingSystemDetail In $OperatingSystemDetailsTable.GetEnumerator()) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($OperatingSystemDetail.Key): $($OperatingSystemDetail.Value)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Powershell Version: $($PSVersionTable.PSVersion.ToString())" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $ExecutionPolicyList = Get-ExecutionPolicy -List + + For ($ExecutionPolicyListIndex = 0; $ExecutionPolicyListIndex -lt $ExecutionPolicyList.Count; $ExecutionPolicyListIndex++) + { + $ExecutionPolicy = $ExecutionPolicyList[$ExecutionPolicyListIndex] + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The powershell execution policy is currently set to `"$($ExecutionPolicy.ExecutionPolicy.ToString())`" for the `"$($ExecutionPolicy.Scope.ToString())`" scope." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + + #Log hardware information + $MSSystemInformationMembers = $MSSystemInformation.PSObject.Properties | Where-Object {($_.MemberType -imatch '^NoteProperty$|^Property$') -and ($_.Name -imatch '^Base.*|Bios.*|System.*$') -and ($_.Name -inotmatch '^.*Major.*|.*Minor.*|.*Properties.*$')} | Sort-Object -Property @('Name') + + Switch ($MSSystemInformationMembers.Count -gt 0) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to display device information properties from the `"$($MSSystemInformation.__CLASS)`" WMI class located within the `"$($MSSystemInformation.__NAMESPACE)`" WMI namespace. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + ForEach ($MSSystemInformationMember In $MSSystemInformationMembers) + { + [String]$MSSystemInformationMemberName = ($MSSystemInformationMember.Name) + [String]$MSSystemInformationMemberValue = $MSSystemInformation.$($MSSystemInformationMemberName) + + Switch ([String]::IsNullOrEmpty($MSSystemInformationMemberValue)) + { + {($_ -eq $False)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($MSSystemInformationMemberName) = $($MSSystemInformationMemberValue)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The `"MSSystemInformation`" WMI class could not be found." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + + #region Log Cleanup + [Int]$MaximumLogHistory = 3 + + $LogList = Get-ChildItem -Path ($LogDirectory.FullName) -Filter "$($ScriptPath.BaseName)_*" -Recurse -Force | Where-Object {($_ -is [System.IO.FileInfo])} + + $SortedLogList = $LogList | Sort-Object -Property @('LastWriteTime') -Descending | Select-Object -Skip ($MaximumLogHistory) + + Switch ($SortedLogList.Count -gt 0) + { + {($_ -eq $True)} + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - There are $($SortedLogList.Count) log file(s) requiring cleanup." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + + For ($SortedLogListIndex = 0; $SortedLogListIndex -lt $SortedLogList.Count; $SortedLogListIndex++) + { + Try + { + $Log = $SortedLogList[$SortedLogListIndex] + + $LogAge = New-TimeSpan -Start ($Log.LastWriteTime) -End (Get-Date) + + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to cleanup log file `"$($Log.FullName)`". Please Wait... [Last Modified: $($Log.LastWriteTime.ToString($DateTimeMessageFormat))] [Age: $($LogAge.Days.ToString()) day(s); $($LogAge.Hours.ToString()) hours(s); $($LogAge.Minutes.ToString()) minute(s); $($LogAge.Seconds.ToString()) second(s)]." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + + $Null = [System.IO.File]::Delete($Log.FullName) + } + Catch + { + + } + } + } + + Default + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - There are $($SortedLogList.Count) log file(s) requiring cleanup." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + } + #endregion + + #region Import Dependency Modules + If (($ModulesDirectory.Exists -eq $True) -and ($ModulesDirectory.GetDirectories().Count -gt 0)) + { + $Modules = Get-Module -Name "$($ModulesDirectory.FullName)\*" -ListAvailable -ErrorAction Stop + + $ModuleGroups = $Modules | Group-Object -Property @('Name') + + ForEach ($ModuleGroup In $ModuleGroups) + { + $LatestModuleVersion = $ModuleGroup.Group | Sort-Object -Property @('Version') -Descending | Select-Object -First 1 + + If ($Null -ine $LatestModuleVersion) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to import dependency powershell module `"$($LatestModuleVersion.Name)`" [Version: $($LatestModuleVersion.Version.ToString())]. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Try {$Null = Import-Module -Name "$($LatestModuleVersion.Path)" -Global -DisableNameChecking -Force -Verbose:$False} Catch {} + } + } + } + #endregion + + #region Dot Source Dependency Scripts + #Dot source any additional script(s) from the functions directory. This will provide flexibility to add additional functions without adding complexity to the main script and to maintain function consistency. + Try + { + If ($FunctionsDirectory.Exists -eq $True) + { + $AdditionalFunctionsFilter = New-Object -TypeName 'System.Collections.Generic.List[String]' + $AdditionalFunctionsFilter.Add('*.ps1') + + $AdditionalFunctionsToImport = Get-ChildItem -Path "$($FunctionsDirectory.FullName)" -Include ($AdditionalFunctionsFilter) -Recurse -Force | Where-Object {($_ -is [System.IO.FileInfo])} + + $AdditionalFunctionsToImportCount = $AdditionalFunctionsToImport | Measure-Object | Select-Object -ExpandProperty Count + + If ($AdditionalFunctionsToImportCount -gt 0) + { + ForEach ($AdditionalFunctionToImport In $AdditionalFunctionsToImport) + { + Try + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to dot source the functions contained within the dependency script `"$($AdditionalFunctionToImport.Name)`". Please Wait... [Script Path: `"$($AdditionalFunctionToImport.FullName)`"]" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + . "$($AdditionalFunctionToImport.FullName)" + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + } + } + } + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + #endregion + + #region Load any required libraries + [System.IO.DirectoryInfo]$LibariesDirectory = "$($FunctionsDirectory.FullName)\Libraries" + + Switch ([System.IO.Directory]::Exists($LibariesDirectory.FullName)) + { + {($_ -eq $True)} + { + $LibraryPatternList = New-Object -TypeName 'System.Collections.Generic.List[String]' + #$LibraryPatternList.Add('') + + Switch ($LibraryPatternList.Count -gt 0) + { + {($_ -eq $True)} + { + $LibraryList = Get-ChildItem -Path ($LibariesDirectory.FullName) -Include ($LibraryPatternList.ToArray()) -Recurse -Force | Where-Object {($_ -is [System.IO.FileInfo])} + + $LibraryListCount = ($LibraryList | Measure-Object).Count + + Switch ($LibraryListCount -gt 0) + { + {($_ -eq $True)} + { + For ($LibraryListIndex = 0; $LibraryListIndex -lt $LibraryListCount; $LibraryListIndex++) + { + $Library = $LibraryList[$LibraryListIndex] + + [Byte[]]$LibraryBytes = [System.IO.File]::ReadAllBytes($Library.FullName) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to load assembly `"$($Library.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $Null = [System.Reflection.Assembly]::Load($LibraryBytes) + } + } + } + } + } + } + } + #endregion + + #Perform script action(s) + Try + { + #If necessary, create, get, and or set any task sequence variable(s). + Switch ($IsRunningTaskSequence) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - A task sequence is currently running." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $TaskSequenceVariableRetrievalList = New-Object -TypeName 'System.Collections.Generic.List[String]' + + Switch ($TaskSequenceVariables.Count -gt 0) + { + {($_ -eq $True)} + { + ForEach ($TaskSequenceVariable In $TaskSequenceVariables) + { + $TaskSequenceVariableRetrievalList.Add($TaskSequenceVariable) + } + } + } + + $TSVariableTable = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to retrieve the task sequence variable list. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Switch ($TaskSequenceVariableRetrievalList.Count -gt 0) + { + {($_ -eq $True)} + { + $TSVariableList = $TSEnvironment.GetVariables() | Where-Object {($_ -iin $TaskSequenceVariableRetrievalList)} | Sort-Object + } + + Default + { + $TSVariableList = $TSEnvironment.GetVariables() | Sort-Object + } + } + + ForEach ($TSVariable In $TSVariableList) + { + $TSVariableName = $TSVariable + $TSVariableValue = $TSEnvironment.Value($TSVariableName) + + Switch ($True) + { + {($TSVariableName -inotmatch '(^_SMSTSTaskSequence$)|(^TaskSequence$)|(^.*Pass.*word.*$)')} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to retrieve the value of task sequence variable `"$($TSVariableName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) + } + + {($TSVariableTable.Contains($TSVariableName) -eq $False)} + { + $TSVariableTable.Add($TSVariableName, $TSVariableValue) + } + } + } + } + } + + #Set default parameter value(s) + Switch ($IsRunningTaskSequence) + { + {($_ -eq $True)} + { + Switch ($True) + { + {([String]::IsNullOrEmpty($DriverPackageRootDirectory) -eq $True) -or ([String]::IsNullOrWhiteSpace($DriverPackageRootDirectory) -eq $True)} + { + [System.IO.DirectoryInfo]$DriverPackageRootDirectory = "$($TSVariableTable.DEPLOYROOT)\Out-Of-Box-Driver-Packages" + } + + {([String]::IsNullOrEmpty($DriverPackageMetadataPath) -eq $True) -or ([String]::IsNullOrWhiteSpace($DriverPackageMetadataPath) -eq $True)} + { + [System.IO.FileInfo]$DriverPackageMetadataPath = "$($DriverPackageRootDirectory.FullName)\Metadata\DriverPackageList.xml" + } + } + } + + Default + { + Switch ($True) + { + {([String]::IsNullOrEmpty($DriverPackageRootDirectory) -eq $True) -or ([String]::IsNullOrWhiteSpace($DriverPackageRootDirectory) -eq $True)} + { + [System.IO.DirectoryInfo]$DriverPackageRootDirectory = "C:\ProgramData\Invoke-DriverPackageCreator\DriverPackages" + } + + {([String]::IsNullOrEmpty($DriverPackageMetadataPath) -eq $True) -or ([String]::IsNullOrWhiteSpace($DriverPackageMetadataPath) -eq $True)} + { + [System.IO.FileInfo]$DriverPackageMetadataPath = "$($DriverPackageRootDirectory.FullName)\Metadata\DriverPackageList.xml" + } + } + } + } + + #Determine which driver package(s) are applicable to the deployed operating system and product ID + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - A task sequence is currently running." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $DriverPackageDownloadList = New-Object -TypeName 'System.Collections.Generic.List[PSObject]' + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to read the contents of `"$($DriverPackageMetadataPath.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $DriverPackageMetadataContents = [System.IO.File]::ReadAllText($DriverPackageMetadataPath.FullName) + + $DriverPackageXMLDocument = New-Object -TypeName 'System.Xml.XmlDocument' + $DriverPackageXMLDocument.LoadXml($DriverPackageMetadataContents) + + $DriverPackageMetadata = $DriverPackageXMLDocument.Metadata + + $ManufacturerList = $DriverPackageMetadata.ManufacturerList.Manufacturer + + $ManufacturerDetails = $ManufacturerList | Where-Object {($_.Enabled -eq $True) -and ($MSSystemInformation.SystemManufacturer -imatch $_.EligibilityExpression)} + + $ManufacturerDetailsCount = ($ManufacturerDetails | Measure-Object).Count + + Switch ($ManufacturerDetailsCount -gt 0) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The current system manufacturer of `"$($MSSystemInformation.SystemManufacturer)`" matches the manufacturer list for `"$($ManufacturerDetails.Name)`" [Eligibility Expression: $($ManufacturerDetails.EligibilityExpression)]." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $ProductIDExpression = [Scriptblock]::Create($ManufacturerDetails.ProductIDExpression) + + $ProductID = ($MSSystemInformation | Select-Object -Property ($ProductIDExpression.Invoke())).ProductID + + $ModelList = $ManufacturerDetails.ModelList.Model + + $ModelDetails = $ModelList | Where-Object {($_.Enabled -eq $True) -and ($_.ProductIDList.ProductID -icontains $ProductID)} + + $ModelDetailsCount = ($ModelDetails | Measure-Object).Count + + Switch ($ModelDetailsCount -gt 0) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($ModelDetailsCount) model(s) contain the product ID of `"$($ProductID)`"." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + ForEach ($Model In $ModelDetails) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The current product ID of `"$($ProductID)`" is contained within the product ID list for the `"$($Model.Name)`" device model." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Product ID List: $($Model.ProductIDList.ProductID -Join ', ')]" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + + $OperatingSystemPropertyList = New-Object -TypeName 'System.Collections.Generic.List[Object]' + $OperatingSystemPropertyList.Add(@{Name = 'MinimumVersion'; Expression = {[Version]$_.MinimumVersion}}) + $OperatingSystemPropertyList.Add('*') + + $OperatingSystemList = $ModelDetails.OperatingSystemList.OperatingSystem | Select-Object -Property ($OperatingSystemPropertyList) -ExcludeProperty @('MinimumVersion') + + $InvokeRegistryHiveActionParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + + $FixedVolumeList = [System.IO.DriveInfo]::GetDrives() | Where-Object {($_.DriveType -iin @('Fixed')) -and ($_.IsReady -eq $True) -and ($_.Name.TrimEnd('\') -inotin @($Env:SystemDrive)) -and (([String]::IsNullOrEmpty($_.Name) -eq $False) -or ([String]::IsNullOrWhiteSpace($_.Name) -eq $False))} | Sort-Object -Property @('TotalSize') + + :FixedVolumeLoop ForEach ($FixedVolume In $FixedVolumeList) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to check fixed volume `"$($FixedVolume.Name.TrimEnd('\'))`" for a valid installation of Windows." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + [System.IO.DirectoryInfo]$WindowsDirectory = "$($FixedVolume.Name.TrimEnd('\'))\Windows" + + Switch ([System.IO.Directory]::Exists($WindowsDirectory.FullName)) + { + {($_ -eq $True)} + { + $WindowsDirectoryItemList = Get-ChildItem -Path ($WindowsDirectory.FullName) -ErrorAction SilentlyContinue + + $WindowsDirectoryItemListCount = ($WindowsDirectoryItemList | Measure-Object).Count + + Switch (($WindowsDirectoryItemListCount -ge 2) -and ($WindowsDirectoryItemList | Where-Object {($_.Name -ieq 'explorer.exe')})) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Fixed volume `"$($FixedVolume.Name.TrimEnd('\'))`" contains a valid installation of Windows." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $WindowsImageDriveInfo = New-Object -TypeName 'System.IO.DriveInfo' -ArgumentList "$($FixedVolume.Name.TrimEnd('\'))" + + $InvokeRegistryHiveActionParameters.HivePath = "$($WindowsImageDriveInfo.Name.TrimEnd('\').Toupper())\Windows\System32\Config\SOFTWARE" + + Break FixedVolumeLoop + } + } + } + } + } + + #$SecondLargestVolume = ($FixedVolumeList | Sort-Object -Property 'TotalSize' -Descending)[1] + + #[System.IO.DirectoryInfo]$DriverPackageDownloadDirectory = "$($SecondLargestVolume.Name.TrimEnd('\'))\Downloads" + + [System.IO.DirectoryInfo]$DriverPackageDownloadDirectory = "$($WindowsImageDriveInfo.Name.TrimEnd('\').Toupper())\Downloads" + + $InvokeRegistryHiveActionParameters.KeyPath = New-Object -TypeName 'System.Collections.Generic.List[String]' + $InvokeRegistryHiveActionParameters.KeyPath.Add('Root\Microsoft\Windows NT\CurrentVersion') + $InvokeRegistryHiveActionParameters.ValueNameExpression = New-Object -TypeName 'System.Collections.Generic.List[Regex]' + $InvokeRegistryHiveActionParameters.ValueNameExpression.Add('.*') + $InvokeRegistryHiveActionParameters.ContinueOnError = $False + $InvokeRegistryHiveActionParameters.Verbose = $True + + $InvokeRegistryHiveActionResult = Invoke-RegistryHiveAction @InvokeRegistryHiveActionParameters + + $WindowsImageDetails = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $WindowsImageDetails.MajorVersionNumber = ($InvokeRegistryHiveActionResult[0].ValueList | Where-Object {($_.Name -ieq 'CurrentMajorVersionNumber')}).Value + $WindowsImageDetails.MinorVersionNumber = ($InvokeRegistryHiveActionResult[0].ValueList | Where-Object {($_.Name -ieq 'CurrentMinorVersionNumber')}).Value + $WindowsImageDetails.BuildNumber = ($InvokeRegistryHiveActionResult[0].ValueList | Where-Object {($_.Name -ieq 'CurrentBuildNumber')}).Value + $WindowsImageDetails.RevisionNumber = ($InvokeRegistryHiveActionResult[0].ValueList | Where-Object {($_.Name -ieq 'UBR')}).Value + $WindowsImageDetails.Version = New-Object -TypeName 'System.Version' -ArgumentList @($WindowsImageDetails.MajorVersionNumber, $WindowsImageDetails.MinorVersionNumber, $WindowsImageDetails.BuildNumber, $WindowsImageDetails.RevisionNumber) + $WindowsImageDetails.ReleaseNumber = ($InvokeRegistryHiveActionResult[0].ValueList | Where-Object {($_.Name -ieq 'ReleaseID')}).Value + $WindowsImageDetails.ReleaseID = ($InvokeRegistryHiveActionResult[0].ValueList | Where-Object {($_.Name -ieq 'DisplayVersion')}).Value + $WindowsImageDetails.BuildLabEX = ($InvokeRegistryHiveActionResult[0].ValueList | Where-Object {($_.Name -ieq 'BuildLabEX')}).Value + + ForEach ($WindowsImageDetail In $WindowsImageDetails.GetEnumerator()) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Deployed Operating System - $($WindowsImageDetail.Key): $($WindowsImageDetail.Value)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + + $OperatingSystemCriteria = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + + Switch ($WindowsImageDetails.BuildLabEX) + { + {($_ -imatch '.*amd64.*')} + { + $OperatingSystemCriteria.Architecture = 'X64' + } + + Default + { + $OperatingSystemCriteria.Architecture = 'X86' + } + } + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Deployed Operating System - Architecture: $($OperatingSystemCriteria.Architecture)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $OperatingSystemCriteria.Version = $WindowsImageDetails.Version + + $OperatingSystemDetails = $OperatingSystemList | Where-Object {($_.Enabled -eq $True) -and ($_.Architecture -ieq $OperatingSystemCriteria.Architecture) -and (($OperatingSystemCriteria.Version.Major -eq $_.MinimumVersion.Major) -and ($OperatingSystemCriteria.Version.Minor -eq $_.MinimumVersion.Minor))} + + $OperatingSystemDetailsCount = ($OperatingSystemDetails | Measure-Object).Count + + Switch ($OperatingSystemDetailsCount -gt 0) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The deployed operating system image kernel version of $($WindowsImageDetails.MajorVersionNumber).$($WindowsImageDetails.MinorVersionNumber) matches $($OperatingSystemDetails.Count) supported operating system(s)." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + For ($OperatingSystemDetailIndex = 0; $OperatingSystemDetailIndex -lt $OperatingSystemDetailsCount; $OperatingSystemDetailIndex++) + { + $OperatingSystemDetailNumber = $OperatingSystemDetailIndex + 1 + + $OperatingSystemDetail = $OperatingSystemDetails[$OperatingSystemDetailIndex] + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Supported Operating System #$($OperatingSystemDetailNumber.ToString('00')) - $($OperatingSystemDetail.Name) - [Minimum Version: $($OperatingSystemDetail.MinimumVersion)]" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + + $DriverPackagePropertyList = New-Object -TypeName 'System.Collections.Generic.List[Object]' + $DriverPackagePropertyList.Add(@{Name = 'MinimumOSVersion'; Expression = {[Version]$_.MinimumOSVersion}}) + $DriverPackagePropertyList.Add('*') + + $DriverPackages = $OperatingSystemDetails.DriverPackageList.DriverPackage | Select-Object -Property ($DriverPackagePropertyList) -ExcludeProperty @('MinimumOSVersion') + + Switch ($DisableDownLeveling.IsPresent) + { + {($_ -eq $True)} + { + $DriverPackageList = $DriverPackages | Where-Object {($_.Enabled -eq $True) -and (($OperatingSystemCriteria.Version.Major -eq $_.MinimumOSVersion.Major) -and ($OperatingSystemCriteria.Version.Minor -eq $_.MinimumOSVersion.Minor) -and ($_.MinimumOSVersion.Build -eq $OperatingSystemCriteria.Version.Build))} + } + + Default + { + $DriverPackageList = $DriverPackages | Where-Object {($_.Enabled -eq $True) -and (($OperatingSystemCriteria.Version.Major -eq $_.MinimumOSVersion.Major) -and ($OperatingSystemCriteria.Version.Minor -eq $_.MinimumOSVersion.Minor) -and ($_.MinimumOSVersion.Build -le $OperatingSystemCriteria.Version.Build))} + } + } + + $DriverPackageListCount = ($DriverPackageList | Measure-Object).Count + + Switch ($DriverPackageListCount -gt 0) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($DriverPackageListCount) driver package(s) were found." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + For ($DriverPackageListIndex = 0; $DriverPackageListIndex -lt $DriverPackageListCount; $DriverPackageListIndex++) + { + $DriverPackageListItemNumber = $DriverPackageListIndex + 1 + + $DriverPackageListItem = $DriverPackageList[$DriverPackageListIndex] + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Driver Package #$($DriverPackageListItemNumber.ToString('00')) - $(Split-Path -Path $DriverPackageListItem.FilePath -Leaf) [Minimum Operating System Version: $($DriverPackageListItem.MinimumOSVersion)] [Release Date: $($DriverPackageListItem.ReleaseDate)]" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + + $DriverPackage = $DriverPackageList | Sort-Object -Property {[DateTime]$_.ReleaseDate} -Descending | Select-Object -First 1 + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Selected the most recent driver package of `"$(Split-Path -Path $DriverPackage.FilePath -Leaf)`" [Release Date: $($DriverPackage.ReleaseDate)]." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $DriverPackageDownloadProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $DriverPackageDownloadProperties.PackagePath = "$($DriverPackageRootDirectory.FullName)\$($DriverPackage.FilePath)" -As [System.IO.FileInfo] + $DriverPackageDownloadProperties.MetadataPath = "$($DriverPackageRootDirectory.FullName)\$($DriverPackage.MetadataPath)" -As [System.IO.FileInfo] + $DriverPackageDownloadProperties.DownloadPath = "$($DriverPackageDownloadDirectory.FullName)\DriverPackages\$($DriverPackageDownloadProperties.PackagePath.Name)" -As [System.IO.FileInfo] + $DriverPackageDownloadProperties.Details = $Null + + Switch ([System.IO.File]::Exists($DriverPackageDownloadProperties.PackagePath.FullName)) + { + {($_ -eq $True)} + { + Switch ([System.IO.File]::Exists($DriverPackageDownloadProperties.MetadataPath.FullName)) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to add driver package `"$($DriverPackageDownloadProperties.PackagePath.FullName)`" to the download list. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $DriverPackageDownloadProperties.Details = ConvertFrom-JSON -InputObject ([System.IO.File]::ReadAllText($DriverPackageDownloadProperties.MetadataPath.FullName)) + + $DriverPackageDownloadObject = New-Object -TypeName 'PSObject' -Property ($DriverPackageDownloadProperties) + + $DriverPackageDownloadList.Add($DriverPackageDownloadObject) + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The driver package metadata file `"$($DriverPackageProperties.MetadataPath.FullName)`" does not exist." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The driver package file `"$($DriverPackageProperties.PackagePath.FullName)`" does not exist." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($DriverPackageListCount) driver package(s) were found." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($OperatingSystemDetails.Count) operating system(s) matching version `"$($OperatingSystemCriteria.Version.Major).$($OperatingSystemCriteria.Version.Minor)`" [Architecture: $($OperatingSystemCriteria.Architecture)] were found." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($ModelDetailsCount) model(s) containing product ID `"$($ProductID)`" in their product ID list could be found." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($ManufacturerDetailsCount) manufacturers whose eligibility expression matches `"$($MSSystemInformation.SystemManufacturer)`" could be found." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + + #Process generic driver package(s) + [System.IO.DirectoryInfo]$GenericDriverPackageRootDirectory = "$($DriverPackageRootDirectory.FullName)\Generic" + + Switch ([System.IO.Directory]::Exists($GenericDriverPackageRootDirectory.FullName)) + { + {($_ -eq $True)} + { + $GenericDriverPackageMetadataFileList = Get-ChildItem -Path ($GenericDriverPackageRootDirectory.FullName) -Filter '*.json' -Recurse -Force | Where-Object {($_ -is [System.IO.FileInfo])} + + ForEach ($GenericDriverPackageMetadataFile In $GenericDriverPackageMetadataFileList) + { + $GenericDriverPackageMetadataFileContents = [System.IO.File]::ReadAllText($GenericDriverPackageMetadataFile.FullName, [System.Text.Encoding]::Default) + + $GenericDriverPackageDetails = Try {ConvertFrom-JSON -InputObject ($GenericDriverPackageMetadataFileContents)} Catch + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The generic driver package metadata file `"$($GenericDriverPackageMetadataFile.FullName)`" contains invalid JSON. Skipping..." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + + Continue + } + + Switch ($GenericDriverPackageDetails.Enabled) + { + {($_ -eq $True)} + { + Switch ((($MSSystemInformation.BaseBoardManufacturer -imatch $GenericDriverPackageDetails.Metadata.ManufacturerInclusionExpression) -or ($MSSystemInformation.SystemManufacturer -imatch $GenericDriverPackageDetails.Metadata.ManufacturerInclusionExpression)) -and (($MSSystemInformation.BaseBoardManufacturer -inotmatch $GenericDriverPackageDetails.Metadata.ManufacturerExclusionExpression) -or ($MSSystemInformation.SystemManufacturer -inotmatch $GenericDriverPackageDetails.Metadata.ManufacturerExclusionExpression))) + { + {($_ -eq $True)} + { + Switch ((($MSSystemInformation.BaseBoardProduct -imatch $GenericDriverPackageDetails.Metadata.ProductIDInclusionExpression) -or ($MSSystemInformation.SystemProductName -imatch $GenericDriverPackageDetails.Metadata.ProductIDInclusionExpression) -or ($MSSystemInformation.SystemSKU -imatch $GenericDriverPackageDetails.Metadata.ProductIDInclusionExpression) -or ($MSSystemInformation.SystemVersion -imatch $GenericDriverPackageDetails.Metadata.ProductIDInclusionExpression)) -and (($MSSystemInformation.BaseBoardProduct -inotmatch $GenericDriverPackageDetails.Metadata.ProductIDExclusionExpression) -and ($MSSystemInformation.SystemProductName -inotmatch $GenericDriverPackageDetails.Metadata.ProductIDExclusionExpression) -and ($MSSystemInformation.SystemSKU -inotmatch $GenericDriverPackageDetails.Metadata.ProductIDExclusionExpression) -and ($MSSystemInformation.SystemVersion -inotmatch $GenericDriverPackageDetails.Metadata.ProductIDExclusionExpression))) + { + {($_ -eq $True)} + { + $GenericDriverPackageOSVersion = $GenericDriverPackageDetails.Metadata.OSVersionMinimum -As [System.Version] + + Switch (($GenericDriverPackageOSVersion.Major -eq $OperatingSystemCriteria.Version.Major) -and ($GenericDriverPackageOSVersion.Minor -eq $OperatingSystemCriteria.Version.Minor) -and ($GenericDriverPackageOSVersion.Build -le $OperatingSystemCriteria.Version.Build)) + { + {($_ -eq $True)} + { + Switch ($OperatingSystemCriteria.Architecture -imatch $GenericDriverPackageDetails.Metadata.OSArchitectureExpression) + { + {($_ -eq $True)} + { + $GenericDriverPackageDownloadProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $GenericDriverPackageDownloadProperties.PackagePath = "$($GenericDriverPackageRootDirectory.FullName)\$($GenericDriverPackageDetails.Metadata.FilePath)" -As [System.IO.FileInfo] + $GenericDriverPackageDownloadProperties.MetadataPath = "$($GenericDriverPackageRootDirectory.FullName)\$($GenericDriverPackageDetails.Metadata.MetadataPath)" -As [System.IO.FileInfo] + $GenericDriverPackageDownloadProperties.DownloadPath = "$($DriverPackageDownloadDirectory.FullName)\DriverPackages\$($GenericDriverPackageDownloadProperties.PackagePath.Name)" -As [System.IO.FileInfo] + $GenericDriverPackageDownloadProperties.Details = $Null + + Switch ([System.IO.File]::Exists($GenericDriverPackageDownloadProperties.PackagePath.FullName)) + { + {($_ -eq $True)} + { + Switch ([System.IO.File]::Exists($GenericDriverPackageDownloadProperties.MetadataPath.FullName)) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to add generic driver package `"$($GenericDriverPackageDownloadProperties.PackagePath.FullName)`" to the download list. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $GenericDriverPackageDownloadProperties.Details = ConvertFrom-JSON -InputObject ([System.IO.File]::ReadAllText($GenericDriverPackageDownloadProperties.MetadataPath.FullName)) + + $GenericDriverPackageDownloadObject = New-Object -TypeName 'PSObject' -Property ($GenericDriverPackageDownloadProperties) + + $DriverPackageDownloadList.Add($GenericDriverPackageDownloadObject) + } + + Default + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The generic driver package of `"$($GenericDriverPackageDetails.Metadata.Name)`" is excluded because the generic driver package metadata file `"$($GenericDriverPackageProperties.MetadataPath.FullName)`" does not exist." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The generic driver package of `"$($GenericDriverPackageDetails.Metadata.Name)`" is excluded because the driver package file `"$($GenericDriverPackageProperties.PackagePath.FullName)`" does not exist." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The generic driver package of `"$($GenericDriverPackageDetails.Metadata.Name)`" is excluded because the deployed operating system architecture of `"$($OperatingSystemCriteria.Architecture)`" does not match the oeprating system expression of `"$($GenericDriverPackageDetails.OSArchitectureExpression)`". Skipping..." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The generic driver package of `"$($GenericDriverPackageDetails.Metadata.Name)`" is excluded because the minimum required operating system version of `"$($GenericDriverPackageOSVersion.ToString())`" is not less than or equal to the deployed operating system version of `"$($OperatingSystemCriteria.Version.ToString())`". Skipping..." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The generic driver package of `"$($GenericDriverPackageDetails.Metadata.Name)`" is excluded because the device product ID either does not match `"$($GenericDriverPackageDetails.Metadata.ProductIDInclusionExpression)`" or matches `"$($GenericDriverPackageDetails.Metadata.ProductIDExclusionExpression)`". Skipping..." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The generic driver package of `"$($GenericDriverPackageDetails.Metadata.Name)`" is excluded because the device manufacturer either does not match `"$($GenericDriverPackageDetails.Metadata.ManufacturerInclusionExpression)`" or matches `"$($GenericDriverPackageDetails.Metadata.ManufacturerExclusionExpression)`". Skipping..." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - The generic driver package of `"$($GenericDriverPackageDetails.Metadata.Name)`" is excluded because it has been disabled. Skipping..." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + } + } + + #Download driver packages + Switch ($True) + { + {($IsRunningTaskSequence -eq $True) -and ($IsConfigurationManagerTaskSequence -eq $True)} + { + #Use an alternative way of downloading the driver package content + } + + Default + { + Switch ($DriverPackageDownloadList.Count -gt 0) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($DriverPackageDownloadList.Count) driver package(s) need to be downloaded." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $DriverPackagesToApply = New-Object -TypeName 'System.Collections.Generic.List[System.IO.FileInfo]' + + ForEach ($DriverPackageDownload In $DriverPackageDownloadList) + { + $CopyItemWithProgressParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $CopyItemWithProgressParameters.Path = $DriverPackageDownload.PackagePath.FullName + $CopyItemWithProgressParameters.Destination = $DriverPackageDownload.DownloadPath.Directory.FullName + $CopyItemWithProgressParameters.Force = $True + $CopyItemWithProgressParameters.SegmentSize = $SegmentSize + $CopyItemWithProgressParameters.RandomDelay = $RandomDelay.IsPresent + $CopyItemWithProgressParameters.ContinueOnError = $False + $CopyItemWithProgressParameters.Verbose = $True + + $CopyItemWithProgressResult = Copy-ItemWithProgress @CopyItemWithProgressParameters + + $DriverPackagesToApply.Add($CopyItemWithProgressResult.Destination) + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($DriverPackageDownloadList.Count) driver package(s) need to be downloaded." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + } + } + + #Apply the downloaded driver packages to the Windows installation + Switch ($DriverPackagesToApply.Count -gt 0) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($DriverPackagesToApply.Count) driver package(s) need to be applied to the Windows installation contained on volume `"$($WindowsImageDriveInfo.Name.TrimEnd('\').Toupper())`"." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + [System.IO.DirectoryInfo]$WindowsImageMountRootDirectory = "$($WindowsImageDriveInfo.Name.TrimEnd('\'))\WIMMount" + + [System.IO.DirectoryInfo]$DISMLogDirectory = "$($LogDirectory.FullName)\DISM" + + If ([System.IO.Directory]::Exists($DISMLogDirectory.FullName) -eq $False) {$Null = [System.IO.Directory]::CreateDirectory($DISMLogDirectory.FullName)} + + $FileSystemObject = New-Object -ComObject 'Scripting.FileSystemObject' + + For ($DriverPackagesToApplyIndex = 0; $DriverPackagesToApplyIndex -lt $DriverPackagesToApply.Count; $DriverPackagesToApplyIndex++) + { + $DriverPackageToApply = $DriverPackagesToApply[$DriverPackagesToApplyIndex] + + $DriverPackageToApplyNumber = $DriverPackagesToApplyIndex + 1 + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to process driver pack image #$($DriverPackageToApplyNumber.ToString('00')) - $($DriverPackageToApply.FullName)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $DriverPackageImageList = Get-WindowsImage -ImagePath "$($DriverPackageToApply.FullName)" + + ForEach ($DriverPackageImage In $DriverPackageImageList) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to process driver pack image index $($DriverPackageImage.ImageIndex). Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $DISMCommandProperties = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $DISMCommandProperties.MountDirectory = "$($WindowsImageMountRootDirectory.FullName)\Image$($DriverPackageToApplyNumber.ToString('00'))\Index$($DriverPackageImage.ImageIndex.ToString('00'))" -As [System.IO.DirectoryInfo] + $DISMCommandProperties.LogLevel = 3 + + $DISMCommandList = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $DISMCommandList.MountImage = "/Mount-Image /ImageFile:`"$($DriverPackageImage.ImagePath)`" /Index:$($DriverPackageImage.ImageIndex) /MountDir:`"$($DISMCommandProperties.MountDirectory.FullName)`" /ReadOnly" + $DISMCommandList.AddDrivers = "/Image:$($WindowsImageDriveInfo.Name.TrimEnd('\')) /Add-Driver /Driver:`"$($DISMCommandProperties.MountDirectory.FullName)`" /Recurse" + $DISMCommandList.UnmountImage = "/Unmount-Image /MountDir:`"$($DISMCommandProperties.MountDirectory.FullName)`" /Discard" + + If ([System.IO.Directory]::Exists($DISMCommandProperties.MountDirectory.FullName) -eq $False) {$Null = [System.IO.Directory]::CreateDirectory($DISMCommandProperties.MountDirectory.FullName)} + + $DISMCommandCounter = 1 + + ForEach ($DISMCommand In $DISMCommandList.GetEnumerator()) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to execute the command(s) associated with the `"$($DISMCommand.Key)`" key. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $StartDISMCommandProgressParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $StartDISMCommandProgressParameters.Activity = "Attempting to `"$($DISMCommand.Key)`" from index $($DriverPackageImage.ImageIndex) within $($FileSystemObject.GetFile($DriverPackageImage.ImagePath).ShortName). Please Wait..." + $StartDISMCommandProgressParameters.Status = $StartDISMCommandProgressParameters.Activity + $StartDISMCommandProgressParameters.PercentComplete = (($DISMCommandCounter / $DISMCommandList.Count) * 100) -As [Int] + + Write-Progress @StartDISMCommandProgressParameters + + $StartProcessWithOutputParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $StartProcessWithOutputParameters.FilePath = "$($System32Directory.FullName)\dism.exe" + $StartProcessWithOutputParameters.ArgumentList = $DISMCommand.Value + ' ' + "/LogPath:`"$($DISMLogDirectory.FullName)\DISM_$($DISMCommand.Key)_Image$($DriverPackageToApplyNumber.ToString('00'))_Index$($DriverPackageImage.ImageIndex.ToString('00')).log`" /LogLevel:$($DISMCommandProperties.LogLevel)" + $StartProcessWithOutputParameters.AcceptableExitCodeList = New-Object -TypeName 'System.Collections.Generic.List[String]' + $StartProcessWithOutputParameters.AcceptableExitCodeList.Add(0) + $StartProcessWithOutputParameters.AcceptableExitCodeList.Add(2) + $StartProcessWithOutputParameters.AcceptableExitCodeList.Add(50) + $StartProcessWithOutputParameters.CreateNoWindow = $True + $StartProcessWithOutputParameters.LogOutput = $False + $StartProcessWithOutputParameters.Verbose = $True + + Switch ($DISMCommand.Key) + { + {($_ -iin @('UnmountImage'))} + { + Switch ($Stage.IsPresent) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to stage driver content contained within image index $($DriverPackageImage.ImageIndex) locally on this device. Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Switch (([String]::IsNullOrEmpty($StagingRootDirectory) -eq $True) -or ([String]::IsNullOrWhiteSpace($StagingRootDirectory) -eq $True)) + { + {($_ -eq $True)} + { + [System.IO.DirectoryInfo]$DriverPackageStagingRootDirectory = "$($WindowsImageDriveInfo.Name.TrimEnd('\'))\DriverCache" + } + + Default + { + [System.IO.DirectoryInfo]$DriverPackageStagingRootDirectory = $StagingRootDirectory.FullName + } + } + + $CopyItemWithProgressParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $CopyItemWithProgressParameters.Path = $DISMCommandProperties.MountDirectory.FullName + $CopyItemWithProgressParameters.Destination = "$($DriverPackageStagingRootDirectory.FullName)\Pkg$($DriverPackageToApplyNumber.ToString('00'))\Index$($DriverPackageImage.ImageIndex.ToString('00'))" + $CopyItemWithProgressParameters.Recurse = $True + $CopyItemWithProgressParameters.Force = $True + $CopyItemWithProgressParameters.SegmentSize = $SegmentSize + $CopyItemWithProgressParameters.RandomDelay = $RandomDelay.IsPresent + $CopyItemWithProgressParameters.ContinueOnError = $False + $CopyItemWithProgressParameters.Verbose = $False + + $DriverPackageStagingContentList = Copy-ItemWithProgress @CopyItemWithProgressParameters + + $DriverPackageStagingRootDirectoryDetails = $DriverPackageStagingRootDirectory.FullName -As [System.IO.DirectoryInfo] + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to hide the driver staging directory of `"$($DriverPackageStagingRootDirectory.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $DriverPackageStagingRootDirectoryDetails.Attributes = [System.IO.FileAttributes]::Hidden + } + } + + $Null = Start-ProcessWithOutput @StartProcessWithOutputParameters + } + + Default + { + $Null = Start-ProcessWithOutput @StartProcessWithOutputParameters + } + } + + $FinishDISMCommandProgressParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' + $FinishDISMCommandProgressParameters.Activity = $StartDISMCommandProgressParameters.Activity + $FinishDISMCommandProgressParameters.Completed = $True + + Write-Progress @FinishDISMCommandProgressParameters + + $DISMCommandCounter++ + } + } + } + + If ([System.IO.Directory]::Exists($WindowsImageMountRootDirectory.FullName) -eq $True) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to remove directory `"$($WindowsImageMountRootDirectory.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Try {$Null = [System.IO.Directory]::Delete($WindowsImageMountRootDirectory.FullName, $True)} Catch {} + } + } + + Default + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - $($DriverPackagesToApply.Count) driver package(s) need to be applied to the Windows installation contained on volume `"$($WindowsImageDriveInfo.Name.TrimEnd('\').Toupper())`"." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + + #If necessary, create, get, and or set any task sequence variable(s). + Switch ($IsRunningTaskSequence) + { + {($_ -eq $True)} + { + ForEach ($TSVariable In $TSVariableTable.GetEnumerator()) + { + [String]$TSVariableName = "$($TSVariable.Key)" + [String]$TSVariableCurrentValue = $TSEnvironment.Value($TSVariableName) + [String]$TSVariableNewValue = "$($TSVariable.Value -Join ',')" + + Switch ($TSVariableCurrentValue -ine $TSVariableNewValue) + { + {($_ -eq $True)} + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to set the task sequence variable of `"$($TSVariableName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $Null = $TSEnvironment.Value($TSVariableName) = "$($TSVariableNewValue)" + } + } + } + + $Null = [System.Runtime.Interopservices.Marshal]::ReleaseComObject($TSEnvironment) + } + + {($_ -eq $False)} + { + $LoggingDetails.WarningMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - There is no task sequence running." + Write-Verbose -Message ($LoggingDetails.WarningMessage) -Verbose + } + } + + #Cleanup the driver package download directory + If ([System.IO.Directory]::Exists($DriverPackageDownloadDirectory.FullName) -eq $True) + { + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Attempting to remove directory `"$($DriverPackageDownloadDirectory.FullName)`". Please Wait..." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Try {$Null = [System.IO.Directory]::Delete($DriverPackageDownloadDirectory.FullName, $True)} Catch {} + } + + $Script:LASTEXITCODE = $TerminationCodes.Success[0] + } + Catch + { + $ErrorHandlingDefinition.Invoke() + } + Finally + { + Try + { + #Determine the date and time the function completed execution + $ScriptEndTime = (Get-Date) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Script execution of `"$($CmdletName)`" ended on $($ScriptEndTime.ToString($DateTimeLogFormat))" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + #Log the total script execution time + $ScriptExecutionTimespan = New-TimeSpan -Start ($ScriptStartTime) -End ($ScriptEndTime) + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Script execution took $($ScriptExecutionTimespan.Hours.ToString()) hour(s), $($ScriptExecutionTimespan.Minutes.ToString()) minute(s), $($ScriptExecutionTimespan.Seconds.ToString()) second(s), and $($ScriptExecutionTimespan.Milliseconds.ToString()) millisecond(s)" + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + $LoggingDetails.LogMessage = "$($GetCurrentDateTimeMessageFormat.Invoke()) - Exiting script `"$($ScriptPath.FullName)`" with exit code $($Script:LASTEXITCODE)." + Write-Verbose -Message ($LoggingDetails.LogMessage) -Verbose + + Stop-Transcript + } + Catch + { + + } + } + } \ No newline at end of file diff --git a/Invoke-DriverPackageDownload.vbs b/Invoke-DriverPackageDownload.vbs new file mode 100644 index 0000000..2190820 --- /dev/null +++ b/Invoke-DriverPackageDownload.vbs @@ -0,0 +1,145 @@ +'Set object values + Set oArguments = WScript.Arguments.Named + Set oFSO = CreateObject("Scripting.FileSystemObject") + Set oShell = CreateObject("WScript.Shell") + Set oCMD = oFSO.GetFile(oShell.ExpandEnvironmentStrings("%COMSPEC%")) + Set oPowershell = oFSO.GetFile(oShell.ExpandEnvironmentStrings("%WINDIR%") & "\System32\WindowsPowershell\v1.0\powershell.exe") + +'Define ASCII Characters + chrSpace = Chr(32) + chrSingleQuote = Chr(39) + chrDoubleQuote = Chr(34) + +'Define Variable(s) + ScriptInterpreter = CreateObject("Scripting.FileSystemObject").GetFileName(WScript.FullName) + If (oArguments.Exists("Debug") = True) Then DebugMode = True End If + +'Dynamically convert named VBScript arguments to their eqivalent powershell format +oArgumentCount = oArguments.Count + +If (oArgumentCount > 0) Then + StringBuilder = "" + + oArgumentCounter = 1 + + Set ArgumentNameExpression = New RegExp + + With ArgumentNameExpression + .Pattern = "^Debug$" + .IgnoreCase = True + .Global = False + .Multiline = False + End With + + Set ArgumentValueExpression = New RegExp + + With ArgumentValueExpression + .Pattern = "^.*True|.*False$" + .IgnoreCase = True + .Global = False + .Multiline = False + End With + + For Each oArgument In oArguments + ArgumentName = Trim(oArgument) + ArgumentValue = oArguments.Item(oArgument) + + If (Not(ArgumentNameExpression.Test(ArgumentName))) Then + Select Case ((Len(ArgumentValue) > 0) And (Not(ArgumentValueExpression.Test(ArgumentValue)))) + Case True + If (InStr(ArgumentValue, ",") > 0) Then + ArgumentValueParts = Split(ArgumentValue, ",") + + ArgumentValuePartsCount = UBound(ArgumentValueParts) + + ArgumentValuePartStringBuilder = "" + + ArgumentValuePartCounter = 0 + + For Each ArgumentValuePart In ArgumentValueParts + ArgumentValuePartFormat = chrDoubleQuote & ArgumentValuePart & chrDoubleQuote + + ArgumentValuePartStringBuilder = ArgumentValuePartStringBuilder & ArgumentValuePartFormat + + If ((ArgumentValuePartsCount > 0) And (ArgumentValuePartCounter < ArgumentValuePartsCount)) Then + ArgumentValuePartStringBuilder = ArgumentValuePartStringBuilder & "," + ArgumentValuePartCounter = ArgumentValuePartCounter + 1 + End If + Next + + ParameterFormat = "-" & ArgumentName & chrSpace & ArgumentValuePartStringBuilder + ElseIf (IsNumeric(ArgumentValue) = True) Then + ParameterFormat = "-" & ArgumentName & chrSpace & ArgumentValue + Else + ParameterFormat = "-" & ArgumentName & chrSpace & chrDoubleQuote & ArgumentValue & chrDoubleQuote + End If + Case False + ParameterFormat = "-" & ArgumentName + End Select + + If (Len(ParameterFormat) > 0) Then + + If ((oArgumentCount > 1) And (oArgumentCounter < oArgumentCount)) Then + StringBuilder = StringBuilder & chrSpace + End If + + StringBuilder = StringBuilder & ParameterFormat + + ArgumentCounter = oArgumentCounter + 1 + + ParameterFormat = Null + End If + End If + Next + + StringBuilderResult = Trim(StringBuilder) + + If (Len(StringBuilderResult) > 0) Then + PowershellScriptParameters = StringBuilderResult & ";" & chrSpace & "[System.Environment]::Exit(($LASTEXITCODE -Bor [Int](-Not $? -And -Not $LASTEXITCODE)))" + Else + If (DebugMode = True) Then + WScript.Echo("Debug mode is enabled. The specified command will NOT be executed.") + End If + + PowershellScriptParameters = ";" & chrSpace & "[System.Environment]::Exit(($LASTEXITCODE -Bor [Int](-Not $? -And -Not $LASTEXITCODE)))" + End If + + Set ArgumentNameExpression = Nothing + + Set ArgumentValueExpression = Nothing +Else + If (DebugMode = True) Then + WScript.Echo(oArgumentCount & chrSpace & "arguments were specified.") + End If +End If + +'Define Additional Variable(s) + Set ScriptPath = oFSO.GetFile(WScript.ScriptFullName) + ScriptDirectory = ScriptPath.ParentFolder + System32Directory = oShell.ExpandEnvironmentStrings("%WINDIR%") & "\System32" + CommandPromptExecutionParameters = oCMD.Name & chrSpace & "/c" + PowershellExecutionParameters = chrDoubleQuote & oPowershell.Path & chrDoubleQuote & chrSpace & "-ExecutionPolicy Bypass -NonInteractive -NoProfile -NoLogo -WindowStyle Hidden -Command" + PowershellScriptPath = ScriptDirectory & "\" & oFSO.GetBaseName(ScriptPath) & ".ps1" + +'Execute Powershell Script + If (Len(PowershellScriptParameters) > 0) Then + Command = PowershellExecutionParameters & chrSpace & chrDoubleQuote & "&" & chrSpace & chrSingleQuote & PowershellScriptPath & chrSingleQuote & chrSpace & PowershellScriptParameters & chrDoubleQuote + Else + Command = PowershellExecutionParameters & chrSpace & chrDoubleQuote & "&" & chrSpace & chrSingleQuote & PowershellScriptPath & chrSingleQuote & chrDoubleQuote + End If + + If ((ScriptInterpreter = "cscript.exe") Or (DebugMode = True)) Then + WScript.Echo("Command:" & chrSpace & Command) + End If + + If (DebugMode = False) Then + RunCommand = oShell.Run(Command, 0, True) + End If + + If ((ScriptInterpreter = "cscript.exe") Or (DebugMode = True)) And (IsEmpty(RunCommand) = False) Then + WScript.Echo("Exit Code:" & chrSpace & RunCommand) + End If + + If (DebugMode = False) Then + WScript.Quit(RunCommand) + End If \ No newline at end of file diff --git a/Tools/X64/7z.dll b/Tools/X64/7z.dll new file mode 100644 index 0000000000000000000000000000000000000000..b028a3758debcfde60e327b6eeb3bd4c456d1ca8 GIT binary patch literal 1814016 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

+bACo$znXZmOU%VQ&C~k8e#uG(+Ua}4`0y( zq^mjbLDEaZ*GGo^KzsFDHfWEMWJB^!EC-Uy6(k(Vz~D+QR^>aCjAuyeSA2UCP&F{1 zO37Vr5Ojp-3@C<*qpqRA=ODG5WZDX;ElNu(wR3X%X*0BFAF=rsd)*3d!?ebKsegRHQ~vBK#mDqQ|?eLTv$J(hux zOivEkH&CCrgK1&xr9;xO$W>wgn~@n=05WYiI&H6C%ek|K+L<1qAk3i}Zv4p}y26W{ z_Sw_GhsT>}p}xB2JT{-?n=JVd`D2Vwld+Wq_XZ!XIuwlfPp+H$7e|!REg;;H9BfkUaX$nw-T~qDr4JM3CLs`4bh@8|F5TeV4F!v6Ap&3H#S*i|&*_qF^MF zPMvck?0(VU5qw6d+!8Y`erwKAM!99g_7+5sFbmGp`hj4W(w|74A=zUC#VyYFF?@#- z<0>5UyrPA?-g;)enm{Lu*ml#Ns4uat)zut}A%LdX?y>0_|E!X0juR`JxH8?LJyCOf zaQKcI|EF`E3Vv_r80+NNN{$nP!?!v{v!oTxcfSUHUtO#BR8sn#2B`i9o|A%ljRY+%5tzn>3Ra5%z!Jn^AANgC!Slvh;= z=MUci^*fXZFB+@+*JBZc^0XxD&$wnKY%%TbAIoWz2$!8C+e9W63l^$+<*GGr_!cvi zr>$v!i(?-xqyo+-nMVIgtQAm_=>o`R5UBHHLQ#tSTKIdkMK{EkcL)8D7K^*#_K^F^4UF$;EyllAFYEO(llZ&yT{8?JLJ1EuK(r&C}*@HS} zaIZBIkuycY2pr+s(uVF66V+QM&YD*Zb!}V}E8wyZ?tDv8*T~`QUD+Mx%C50s4S}wS z!)T*Sz2KeXfz>ts=jQ%Ftz)TmI$C#LYx|pW3v3ZSzuI-yjepw<1q6mrC~@!j0-zJw zshNT(?8Z^OY*?-Hr*zKVjL$%M3v&F*kn01OKd^&o!UOCQwCL=C5Bjev4QPuNviaoD zZ45HjvL^I_l|d1PCK!tKc+{$>fylCm{tcuqRf|1!vHf#_{d2C}ctD7Tb`0D@8IyCe zF=&HG%vgz$oiK_3$4iQ4}GO3EAMUX;k1JH__MR_6c^SJ#Z)K`h6c8Tq=f1cxqMO(^&_NJt&lNSSj z#a0!ROC^6{&sjZpK7@C`y#kMG<_<<0oR*7 z7D02Mvb93H`yo=pLSPS+h0F;4b~5~!VLh^6br`BTjN); zi&;rg^!(RZdm*sHfDFY}dt^doB?kQr^P&gYrm2bJ*I2I!30_S+%GQ)vm;Ht!wa$9l zCeb@<=^nTd7;o*Ag^^x8cMylZ%m(7}qu(SXH?%kURhuJHc}LmY3z#jWr@cJa-DcIq zhlfT>Q9Zu6jePTtLvSBe*?=|ecY^JRM&z>|-G4{f9Bk#?Q5GEy*mAjR{hw~+7QL@W z@2bJW0WVfofeZhng576dtjZQzR_=@w@RG|8M|bB;Ic$1`b>v~wz1BZ)jK1GHH`{(f z9Ud3H!&9j37HY=k-=5uq{A2ZRwnU4*)I5tuR>|a+AYdM;F71F<6Hc!{hyC8 zt#Ter@dYJ=9)J5gVBDWK3(ay6{XcET(KBF*_54?(n)Nl9gtBTnVGWIEUL8A*2%S_Y zA|b18;K`XxoOK~NoDCL0ZN}dlIX`X`!vX%w?QER5o6zGbgg{svxZ`!+cwJe%4$m3L zVd;Nm)yf{C`y!4eCg(E$vg3#CIctxw&9Z|}u0iR-@wa}L$bH-HpYF9*vb*g%(tR$b z&&771$KcUM`g{)!W&0dUdXgFcAeYYwo4wdLFTlm@kppXZ0&>Rct9dCD@E4qAa-r>f zR_i=lQhuuxhu73}8F_8D56ROy#k5&>)lj`Fkl$V9;m5s#cZjQPVli0g9yt#&s}kE) zybxuN`W&>BGyu_MSW2LZ!dL)Mw;9G6+QoB^K zneSxL9SpYQocX`mfvLMjC8lL&gu{*cmDE-;v*Tmi`iuF!F zRj2a^z@jo$cG?ii4y7zc%Yw@9dC;6TgjC8loT!EZ%gt5FI##-`9!X{>ypnwTFp`Hi z_5PiqK;Wv$ynUFR+3~`NP!pt zjMGDv0Z5LaSgXesy{rl6ehtJFtC(U}w7Ln3#+RFFIyXg!k{CHAbsoJ|9bPFNE{XMe z{k_q#O^78Fk~dWx*!hOGyw6E1W7mkC|9ouxL$(2~^w{>q^Ds;hnMss0*l`^@H&veW z^civ4vQ^k4v8R)7mUDJ``Q~zQrk7gy=J>9vhzDt}% zB@jw}FQyW*a5;-crC_eJen%3+psQ^ly`3T)R~g9Hj^?#Ql93M z^G3f?(E*+sO+64>%0L>eN8mgrA0WLcHvcMj^av2oKO#YqI!eAd3fojoW5!Mr>`t2c z%?JwIAhG7u20LmLOq%2jqQrSn$0;gsuGaB6$5m`kt=92^3QW^F$E(WZ{nGkpF0!Wf zyRKg2YB^C`UVAm|mbD7%IC`b{@*E~Ld#$N2gJVJFaYetx%YDk#j($;MOi*EsD1Tbt zfxoyEe9$h?K>@xbVK;cQIjgzzHLXKbA?$SP-Ms@%vAeD=i+(eR-AMa^tcy{8GK{%g zVbczC`DU2Q*@|bpqAGUMenj2m@BX$uD!eyow>MQ{ixYXR>&cybib|y|tk2v_(EP0T z1336&re+E)r;shWju#COu8(`dc+F-Z0C@-}Yf4)0wp{UL1EcOv=Zedv|X3hQZhh#FL{ z^>Zn9D=XKaC0Cnb(zzm6KgGm~^G+p&Sz&F0VUY?kWBOJ0iYrubjd%~ZtR$?=)HrtG zLeg*79^0TT54Exc=4y}iLzr;$T^r%YZhN`neY|XcEIL8}Q83LwI3SC~wLiCv7IJ9# zX{0EN()W1ugkLj!&Ic9UPp#3w&w9H}|x;Eok?ZKy&M13JX)KXs|>G|_AN$n~r@-DF# zWMgl%3m_thAQjSQpKdXZUt^pKJzE>7woSn22RM&2+y-D5T<*J$lF!*u#j*~4)-e+GTcTv4W6`;);3=Lq%*Kd#GmCvRi#_=ryMz)u^I7lG zr{rDP68TR-8kPbjQed4NuV1$dK)RA9{vZWJJ6Con7LnFkLsr_`wam_NJj*(HHW`BD zQ@uLYQW<$VUMAhq7C&Zpk^?zzhupXiQUkHa{`SnR;(N5}a;et&H-W~S<}`kxG`^9j zZ2wM>42cnIZUx+%*q%v|E|1+_;E4#T<#oxDXxyOK@TW~g7u_MG}W zPaSF37rKr5!dxY(ZzB6y5t+*06ELsTZv7sTMdTP{M5A?3t5j9yv~gCK5YjNzla48~ z=1R;N2La_aKtZ|?&a^#ZUzdZxKCFG#IAkBysp7Np5TMMSDzWDp((kL>eeART;y&OU z*>4{|z282z@e_Hs_2~`t*R{I6O@4$wC~s3>v#m5#tAn+#+AFCJPglu~kZFW<+CP~1 zzG{Uwq*=Tf#09Z>x9*MStFwar_+%GVSgYUXd8T|B1Z-ahd5Uk$VjS^`(g54vmjSK} z;tdnaEtHC+9)eX z+bBDRr2TD_9o!z;n`Iv9>fpY4lR zUlCw1)MY7jr|-|ftkwAUm0-hP+4*A8{4TBYc{_Mpjn>&~2j_&f&L`|(%OtJy5rWQ* zJ7uP|5#cudqE*;jWf!}W!c$SVV7#`Wru&~Y-Fv|!7Us<@)R*%@)}P2T1UZ&}#ZAG= zTU)h`^C*YGutvkb0UnQ1q`zzVrUf%zp>JEgdD4ec>2WWJs@lN9p5AA!dD zg0&PAoDRiSI0WGgo$Z&m31!>@`7V~n|GnfB=QM8#W@k=m6f>TcQyN+djQA9^CQ>y# zp+{)TXS5=WQ(}Q-3?LQ`#B*;6c2Bt?*j+nQ?8oDxGo1HUuN70>wj@@qZYRhj0b*a7mP-8cpb`CmrH#V!WL+=_+5*#;0MmML- zK48!;+NTC>p;*AP_I@q~%KpJb&s(V7y_7BzhMY zFsbZ7QuE2!mQ(JBD;PcQ2^{U(qZg3TyZ-mi=-qCQ-a&-QC0gZV(x zo_LFB`8N4xaBD8wt91yB4A7naTCBgsRE8}^?>n?Lt1PyFdtweo*b#PmKXSdSVvEUH*y7O{qkw_z1R*b9l3C!< znQFDp0KItL+I0&Kr4hRg27QmU(^m9+DJ3#TvaEAGXG^XV(T8a;Dmzr-T!)%?L@w3! zaq7rWT_L*W+zYlY^DAE&gd!f0zC4@$U!ZH=4BHLG$O8$Q>e5I{fW#LVxtCVj7W@9V zCB(czbWGtrdWG=^l~KH5X0^|9H9LZ(v*iU_W9|x@m_bQ`Dmd=xDr6zE>PBG+-^=AQ zDKXJi6JOAP>6D5Z|2`$^d_0&xmPtgK7@p|ML6Iuf{jan%O2Mp`x^~@P<83*LJ0W1W z*FZBb37g^mlGF)$d5srl1`9Rht}lztFYrVQ5&cXR;FZ%`@9tG>wTv@5@K2j1o_avM zdhbw64})zRSfL1&DI-sRk_%R3Zh!rrY*UQCtrnwq&Fq50tAo7f@ZXXs9H&C45+(}s z>>!v!;mg&MK8fR|@DV%c4aeugD4ELwovV!A?G&Tetsy@qn~*|*6C&2;q`5Cka|||~ zpjO+$uz$d@vdEwU;67o%G>82Aq?98LyHpuizGDou90eZ4riBpOz%TZXY)9l-M_{QP|^J zOqlWZcB`!rK$5s@44PXx{U;2P3oBkKBzIav97x=C@wrnZd*L#QRSsmzlOw50gtXaR za%SN3PDx=maA8)sB4~ZSj5S(k`l`&)zt#Phd0S2Z;u7mPK)0?_;_+zW^RXt*7cYGrJY;cy`_I=jfgA;RU7aR?!juoDjzF#tSDhBbtc>Fm2<)aft z*OcX9zkM?EgNVFUjlcotCF&oQPN>8>SA-D2G0xyuy>@K2R~Ejsuca$}xtH($>1EbM zhfVic$7RwLZNpE8vTvQH_S=1zeqbn@%v$I9Y* zOc=xB!_EA7wI{Z~lMit~Y&bwa=LgLC0lt4jM862y4^*C*jFs<-=pe_EsDmD&pK9Kd} z)f3FBK)l*#R?+B0vnt$I9TYNQY#0830!@9@Mw=@#)2x~v+ci914b5)a%%=FIhPJ4I zYSc@DxRtm?K`LnRMB;FZ)8^6^$%|wB8kJ%5Rz!v(MFYLD-QGFxEB-eYoVqk}fCl1R zea39KmsDFl*{r?F7UaSgky+aquWm4FuZ>qvw?2FrYZeK4C)CZhb69VvsPA_HEU~Tj z!^`R?Hfa82E3v`&1A;$l%NOtCrzsx$BR}S15ADWdJrb^N=(UDEoEO1iopi_O-Rd=t zU`f_)7zp?r4FutUxhQ!d@^2Jw?nc79Z1;=EqQZydx=WEWn z;mW#_d1sn+VWH(Un887wMbV%SgE zRff$-;-^?!UR4AKik~B~-NH{XOe21dYKrSDg3;tD;}gR!75p3**C+5ZHm>{lIgvaQ z=UgWg7}ZUxF116#rz&%T(!{vlt;I*ER?bl&X{bVlq^5{hlA!5Kg*cUK#00(5hQM_m6SKOe>QPs}Q;?dsdHBaR7iYuzuHd~Nwxi<|WJcks}pw}0kp ziw-wyZ?a)!KMC>Jo@Rq^t3X>ln$YbkRH7s(n<^(6b3@wl@3+x#q6io#8UFq|g{SzX zrr4gbbIvxE#4-E9TrBI44Q4K0q5>1l#d2iJj#?~aeKwV{=x$po$=HLa?_^YP+PJ}X zEf#4+`R8%6hcOdB-PZdPZ4><5u$)|>&09m|D?^Ftz5!$NHXfq$I8%p&Hou*|)z?ES zT9%-)lCOjzM}Gt2R>o6=t)tzSFH|+51U(Nw>&Q7n6ie(`L8rz99)#`C zvFQFczJQ&T=BXWZ08eebNGKeRr?&S4L3VR^YUy#AnM1-&>ImqWdjj3KpbCwS#J_#AI^0AVlhO6?pmL9)cLvh$o}bN)<+zE_FW6Yc!7|ny#~GqX*FP- zkKm9B$&Gb3d?Jq6{5%(bVKVU-y*VigVNvgssb`Wxee&zF`IyR7i8ofsQS%pghS4EB zdR&oPxLRiMrUw&QW~4LvZT~@0d10c8AIkic`w&=`Yht4F+)X_b)M+;PZ52Wf9)Lcm+<;b zn?4u-WevQGDvEW)&!9z?Zxru*`2#(Otk$kfOvp3WGr0NIcecQGT;O2}cFF4&Q5>}I zG2<@AW{iL1qB4hDKO~P4_s3g`WIAQA1P1hY+PAA4i@|_pV50^8+ZIw z1)%N!Rt3(}I-lX4g%?$6#zoQ+le8!9RXKu*qOa7LE0uS<*j7zXG*n~eAEIP z;Psv4_?Qtf%zNatwaY!SgV@)JO_!72KjrWiza!-m>^H^jme$J5_)BE4W`dn3e<79G zk&TR^RV|U?ue&?Gj7%Z(yMjt^@!L%Wq^UV1$F^Ohb^M+rVZe9D_-`xJI_@DttzInZ z%!}teEuNkv%d0YvSy+< zU3)27BBeTZ(v-4S3eENf=}+K|na!P~;;@9-@l2U`@LKvIs9bi}n1A;y60Yer!; z>3;d7^bbiBSOY=dPk%_eT8AjFsQ&P*3D~^!GOI}P-eRZZxp0HA_-Qip+wo(5W80=h z<{_ETfPtaNMeW-j5+=Opd79Ut?Tz5C&OE*sU;@sj0r6?=~$d1@Kh$YOU~%2@a9rdEN{yl1P*Cj%6e@%ROw z?c3ZmVDrI%yovwS{PzmbcT0Bjp4n6z^1l?h-EOgxqN!Wb%k2~LJT*eqJED9J%k2V| zTWU%=S&pQqM%u{>g_(7XBv){}m1KbpknR9$anz+oYRm7jR2c#F2f`S^43X;Yz0i@J z`|x_mpji@M`*X5d2I;IFct>485&MpkH2JqbJ@B#gdo5RQ%{D+KHyWOsz+l4S8FhDL zsB>8v<`u=f+t9mtwdFRWd|lR90XIdE)zcigGIp02>AY6~F=$RHg{10Ja<;m;X7hVE zZZkHgf{CVq;HlRYo9lw+xUQPc_oL(V@=wrj()~Mht#$`=S#!1dhSl{W&f2_Lr~|$q zamS-vmB}Zm7M20^h%;lBHRNsoj1o-xLDn|nGerB{5Nb$|LYK5o87h(WZ#J%ZmPT~7 z9rVOyd3yQl;Y3j1hV&%jm$268;yTIm0XSp+EI5`$Jss*nFnUkcXATWe7FiUS%fYI9a0Q{rE}NYLg7i_Mkb-%SZ=AGj?5QGa5E) zHYOw9usOpg@)SKa{(_Y)h4>&y<(pW9EgHEo>0cZD8|X#vJ21#+`GS5oN_2&=_mj`a zXqCIQ<(C!&{VQ9x>E#=A1WV-6>C!j9Wv-$LeSkT9J9z4p;!ycUL$1zkZ3~9DqNgH_ zt+aE^*RAyrq-SoY)=|qsi=UGeS2u?FRgbJ0_ZDOGJ0bV0hJRK`ZOgoO2Fx0g4@CwB-KYp|tVzfDhHqU*$9|c0z@{?YwvL4$Y zJ8g^5aT-LF>-1?7Q`D0P=1OVp6*MEx(qyIp~{^wiY@)O?B;{pTC7mGQZBur z!Ma@t@I6ZX(o-*X4NKLL+XQ#YmWP|5532+)}b4yy3)%?|{8MRm_+(A3Log zdbHG*xelad0@RtBq0wOnl-I4-YI^Jl=WTGX^a|^V)6#E;gQW+o?;SS1!5VgD{$c8G zw6d9LhGo@@`LJ@mN*_iGlkVo=jIUI#bfY_VddyFV8-X~V2;PFrY1ud?1{9sh#t z-xsV={5obeo2?;yEX5Am>>R_K*%}%L*YN7|b`2Z(b!up|p5sGmn0e3|IDBj?kv0t9 zcWU@{wuT04k*Wa+C#%&7Ram#E&^0%f8RlM2Y zqCr#1FE`^W5JTnSaQyKlPa#@Xj{Pt9%xP5X@4ZJ4wf-c%!n)wpL#;na4_HSZHod{> zM$pqf*93z7+i$dPIBa^eHTf{<&iXt4YuWWTNT)rvU2$`~_Pc7AazBXdMdfTy)RU+g zNMgzf`_8U8z%aX7^r)j+#URcn4AC4SKM}@B6oohYwbDrFZiDlqAn(VCAB=KrndAC( zn5W|YIXVWuC%mCz>#Tc~+1(MUS@A=-x*&yV)F>n*;E+-16xHF>h}3DRQ&T6WPEzsC zc$lNRjO#baa7YUQ^Q!y;5zKpV4gC}i6eG*K*k1>!%v$SBuQeObaSltASK@Ne2)m6n zZ?kr?t~{}0s6Qi9!XZ#0T5G-Ua^i z2vGUthYj6IW$0I?D{J1bvSPzL((3EC>-rPF)U~Cry45K?dvIxX${9|w6JyUwN zQ+np$(%cgVmacP3S39MZaqqtBnNmeO)~5b;@K?5;UMeglR*zd5Y_@ebDn;@J(YIKu)z5Apf z3MJ$lI=2KPEp5K5B89R=-K$-*M1N;s4elhX3$Pdxxu~3yi@iaDMT z&-{&Hb7RY;cwZ`!wnq0O$LPA_RNY)8WRA-G77*vE*3O>!^1G0MD%0J)dfb)rnv>a+ zRb>nqKRyRCGn`-0xrP?w9>~BDZQzPS6A>NgijYlt)cfR&1kPT)4{8hqh{<|Wh~mL8CXhO5z!MV4hheqBsCiT`fS8a0dxbFL{zM2phu7AQ{ZDn(=24J_gNOYA2^ttEpcLuD(Mlkl-E{K zDeolYMrH+cb8NS9{cEygLhjdi0l^kn*>oCQhKpSRxHq(Ynznc^yGw;S-clh8(c&v5 zBo<6}Qx>UJ?BXe*TZxigBBaxLiH}T>;8@Aqxs|bptp(K@j=fc|4Z_6>b`%r?iTW@} zlnB<7%V$TuAyL013SZ@&KjAl=uystta`B5+HR5%obaYA~)A3EAI)0ms$}LX8CY5}t z*B+D0CFxS4bmYc7u7zjlob#TLS=1{Yq>2_9_IssDTOK^NIA=JzH`wKOzDD^`Ql%nV zT*KB{+V&?olU$KeqO8m7iFIc!Lh@Ir^<0*v#foGv1dob7cCMt`mHjhKq=#1vHy|lm z?2_WMhD*J66BB<%P{cRN>~2p)NGj8!RK{pY-Nkl`qXzQ_{u3d@rNZ7XvtDt;s8xQ$ zYE3upvz{R(`DGe6FKw_P8<1{}v!@(#tB{|VQB1deU{A2t(I$bIbz0qorEN(&-yb5^-{CW1689@bkx(s#D0)rf!DuG$TPL&$^y2bcq*ymga~5r7M=c-BN=|zEQnvn!K`;=I}K}%(w>og){oIG z$&#{S&o$Ru@SJo0691Rd(p#Zgp&CX88fnJp!2~> z+sq%5ajTV3Tr?vOH_0shsSI`vMlWqeikH-&mno3Glo3_}C_$!?T{}FCXDJx3E7KM| z>`Wu#cdEvU|7ML_xKsr~q5rWOeE-dA?xC7=Z?ukC>Pvc*oK6s~)_-*|Yn}gF9TOYk z{|g-x=1R6>cdIYeu>~rqd)2DN=LPROW_ULIBQaEU+dt(-k0AesxEb!q#hWvsgUA_< zci{Y=PNY~tQBP+CL4&e94OR$dU2yg*wi@{cG+V?^ROLH9CsjHo0?9VZhE0O(oxKhZ z6aYNT!W1ddrE=l3n+_pgxKV90-2EY67(GcwrO~LY1|{487~^*;m<5>RD!wnygQ6WB zrI-)dlt)NWkpCzL@~qV77eSof=>qIK=^8E;S-xm+kof2!D#{ATDtAd@&;|inWri~O zUFyp~n<`8XYg#^6mZ7sv?frFrdPQZyw>SR58!=a>@bcq`WIA$P40q2_l4#$bMNC;>l<|$!i~DE_oEM4P0l;*p!a#Aji#-W23L_=zt74aoH&U7 zB>2MHlMiS=eP45&i;QA<`o2!fDCW9qdeUO`S@*4wE302NT7WmQzdtg>ssZs{3Z~%` z8I9b3S@^`}#@$j>;VbDkHT(wT5s(3@oZ^Yp(sZ0a-PwTMRaHdqTE-8+zg4mFVmu@!`+IDDGN%i^;=@!3Tw zci4PaH>b=*B}I>mI#6vxI9}SX=pSP5`=-(|U>nE(ia-~}#cjma_kD0uJ#jOFFPQhC zJ=jO};?DNl>O5tUheX43k#P7;6wEKj)W)4d0^M`DBDaNvmmMP|QR{(ywOA}p>Hb+h zEw+S^pm1fX`EF!$N;~`bZZda5k=2 zSuk1a6!C(*TcL6@Qf-yzXq`eL>ShWq>W!We^x2MzwN9~c73f}-o^Ktijh&l_OXl$h znq^ba7s`(|*1(HQh@^X_5qUCq3agbO(IaA?;REA8_zL2M2chX@G#0GX?idy43lwowgsi}v0d?57}&$2>YKcf_D+~uN@d_nJU1sGjlLO*f}h-=cM@C zIdVS3?3|PK`INDxbc!g3TNhIse2)sbQJtGgj;zy(R%A;#vJi1XG)$Q8C62*eg9FYM z=fQ`Vx=0Q80LT93_YD6ZJ`>a;Qfrt?K2zL2p*>rF{vGY~b*LD|5{mRr`IM~kFT#_kL2l`@2H_P z6t7&Zz|@YkJc53iemN5ZU2I#}gh~b@L4-jNDzxVCpc;>tpLbDKx(S+DX~_R$1!J=` z9HC*e-ZRk0b_>OxD~JsgIqkFO<~%?CwNT=Yipr=ba-Mli$p1Z6@Ivf;j1QXYk@rLd z#O{u;c<9au^}s4);IKCA zVgSuIb^qtgDc9;>W!S`%TB-H)Px3gKuJ(Ma-5NxVlrclf!JUeu{)MWGdrkRgA8U6N z^hd?5qQiz0Jb(d0BMk#b!|4E8Co9KqN{vH1NwiXWw-!t?!>%1rbz4NN_;{h8xjunn z>)#M5D&IhEbAwd{I-rDyg$&Of%zC!nJvDGkAv=tyb5(v*`yH-fA0wAPq+ZN^eTW1h zR&bkGI2Bsw7*;BaW~r==HLWACv9)}qn2OpfUDlTOAdenEV03GKNG`g+6N`NF5H0q) zgfK4ADMTnT?gG` z>j`F>C(aZ$rds>f*+0%>KiNLofTBpv3Rj&_u{N@-4EH7-g^G~rmRZ@rlEyW%zfT55 zTNGkMlMM`teWV(My1%sy7_{YkRFp`Ox(5t@$3FGcpp-8%mA3b#4~3(xp5MsfLjp&E zil#UxLyvrBPKFae5v>~}XWY(Ym*7LPFxjQ84Cw?Z%3;v)j8u`R;SqHc_0noUTW%DX z4WFALNbNO-gKu)XAnQp748IySEq0-Nq{k)UPJDm$@J@8IQ`$v!2cjy^_Uf{F^C21kdJJg}R<5iF zVg1y(zJ!E@e#=#im6xG{KUU|n6(1m&Sb0dJikq#z2rI;S6PkTVlWyqdE5XVI0VVAd zsCW0k3H5Q9Oz-)m%00bj2aGwWe@B*ogv6XM3ao$dY@;8=N^4K9(6nmccu^owjc6Sw zQ*mxX$_HC-5@UF4g^2iK%AJ_}DZ`CsPdWCOY7KiFKckyD!zyCC_ON~(>imAgdPBp1 zZ&*cO@LwNR8BRt(#I@x_aUly+I#m`W4MM{RVZ=7tR|NhioJiE`&Rl44EFm zfQqcMkyl7tu;{DyFz!s>YQvWLGTb!*!)*0R@kU7!GEJl41}|6*vap113BL}L@(w;V z5|RVd0GQwlDG_xP-M?=57kGr@KHP3}g`mbZV-WREyHV&15TjnSnk5aHtoQ6Qaplvk-QN9p1qxM8DpqCY);a=$t}SpQVCwD6K;U-@I>~((Y2Oc!$-R>8c$FKiCbqo9?>tt;Ys))IA0>0pza?5Da8y_gF9Qb%f$-+t&kJfGBq_1i!9|Vt+sEDDZbl-Mv4lQxDQpB$vj zJyJ&p3BtnM!sL&M*UNV!eHW=V67>Q9{Gz$%Iu?7pVi}R)e|M-1*_gm-LI<;F#JY{X zJa4{Y^}WPK#AX}8))R(ty8J`dXFs*e?*{p06`h*-U?Ke#;jFM}fsi@*9#r|lrn1S< zEDNqRoKP!E@76-*=f>v03!yn+@RU*Ou~kOuK2^;QS&x)iSlVj7OpEseFBc4TOy_?? zB^yAyd!0HNWI|#+#ZsWrf1eDo7W=KFP}r;dlm&K)ISPB}ZkE;iXATQ`t&bY4`(ua$qe%L2Q_+Z6Y2d5846fOJ<{&oKVo;YO9a})m3i!& znQ4fGmV^VO*jqy(;3JWO5H`lBt2#zkM2~j1gRC@r8j^w#Xv;fgC1B4hgq6OK`_JaS zCOjYTzVo6L%x%bxx~9tI-!*5O|3`llAQs7+f}==CN>0tmO@x{C9sICB2MEd@ zbAqyFBuH*6Ao!+E|IswimA>OHEd(d_FOY9mMe%<|78UC=p!=9Q&E!-`Xv{OYRVS3Pw z{|A0$PdECFqR3E2O{BEg`3?5AZ(wC{DoVOK1B67l2-@dBY8r24Ys|l~#|7yrl0eY> zd+JPy-uF`{`kxYzXmmK&TYpbSzaas+o-3@)1m(C4uor{=&K_FNfDyaHmp`vmO8z=s z^5@x-KX6J8p`_%Ar}MOB^F#>>!Ovd$HqVr2T%wC+SzXvIx zsS&?VKFyjkIdIf%!nR~sfY zl?xXJ@J;WOaMuSQz*p)Gk&(g5uQx;s=&LL)5&lz5e`lDYMV05>;ql)m`?lps7B8OZ z3;dV)<~*KKsKr?{h%s%3jwRRW5= z__6(sR53%m*4pZP*E`=E_?BBYV7+~(+81gSR>&&kO|eh)M`x<{TYw{olFp}}xp(lS zcS!6PyOwF4?=u8O`(0jFfH7bErVI$n5eQ$fhJ7MyP3v5xM(HNV&HjIA9n1MrxCpOI zS(FN-R6A2WU91NEIU3@SYP8P&?%shXi^*%Hegxp@#m5X|KM4Yj5GL-UBd7!mbL9>5 zvf1i@oXsdVhT~&5#AnDBOfT}#VHWw>U$n^O4vQWqtV&?6;XY8S{SH?9COPfEL)KZh z0p(J~kaaFDb02%VGFqnH-K+X9+nQ@{B7!TdrkY&APgXv1j2{2`h1cumi~|453%{;< zVd6l8aeM=4{oV-3>TbvUlxG>tWL(AMthB zv`{J5S-(PSeyNV{DUQv6^`Pj`_a$x5p6jfHB-$y92nM@%2D|r}Z>XgsCPW2&QClHW z=+c&KrQ5o>u+WvWb}Hx1)H?e}kOPp1Tts#hzpe5sY$lAsEh%jygEes>jlulmFpGUQ zGZ)YdKb?c7op`)qj2iL$&3hx&M;i~MG~=C`St z#nxQY{YlDQ)BQPUg`CUL5t$rISy-$>ul38N5+JYox`&IH{yXj6MSEO-q1dVd|JPUx zd2}Io(ay+hki8eHXp@!QZ2fuxHGo7|Q0Z>0)&}_gl}BJG-J=)rxLq zOqGgxcaTjRqh?;WjXB_ z@d+E^_jP32`5|SY3=EgG@h!rfIH;w|TQW-`5Q+G~{|3_ve)SQL~T3E50m%MTdhY!?T&KV+7A zuOC9bui5JU;`&D&uKvkiTz>QY8Tf<(>&ej>EE8ft$lPsP@Zh=3t-jQVKdnwq#d@)R z{ej>Wg0@3qfz7|p8in%n8XL80D9gG=mPwnG4x(s3pZpreYI6O7L z_ph+}%ZK*Fu=ZpUs3IqDHzQOd8E(&Cs&%d=6x9B+Di4$uCadw3Rsy`Kh?!|XdQBBtsC*xpZM9uh3 z7&A6kZQkmCR+NheYsi#aV(Yy3hwZ&g14xY%7O`SbB zvd{~(4q=yfR}}{?T1Ac_+M=<1Pb|Z6y>^xt2heyPwl|c7u-Rsr+bh%$$DKQ0ox}7LipYhH1nYl_Qiz_kZv&~zzc#II;e;q=$TF6&eM4g$+%|Z-{|=q!%zWQ-|op((b`>OlFkrk>4c8AVz&YHy3V!bDc$}1c}eT7Fxx$UhyYG_b3 ze3@Mq?5@MZ^QCx7CTD>zp6XnygA={y4D?A}ica)eW5@`L#|?mPUenV{y_`p@g9Tn> z5J(ala_qVEx#QUTVVPliCJn7f(Tdca)dX&kDzv7kVj18a8>X^0!G+TRI)z@e&XYnD z4Z8F6aNtw@37gMa?yt!sJXm^`j36$o`(w{Cf{cj`;)^zjPjdi^yD*^|Gg3BuMr?i~ zZM~{Y#9Y_0Dbj%X(Gu;65NFDz-rjBbirC6h+z>3Up6%YSdF#e)iRt;=&pitN-n?z| z+ue1i3Lns{YZUVV9JAotHZhdJf`(n!7*51`09a^Ua_r~Km9l%SNW`yNRdf#%Md8F( zi=R~eE8kqzU2vS<F~t%Owblzz%e9&j?og>R%E-6BoMhi zwrzCe5^Qgj#`Y9woez@UHb3anI>c1IIn_|QJxgGEB-@GT4qc?1_sD!~ep`1>9jAAP zDn)#P-C+7(7z{$bx1&{}XLM|Ax&)N$9n;O?0 z@(*fTbox?9oAml~?FwIpOqz?mG#(b$HLPEdU$)UfWk1p7 z`0;y;>EQH1_)ntnI~+ZO@fl|?ik&QL^*n*Ix)_OlF5v2trg&{hclB{ywa0Z=AKz7b zJpS$DwPR5ujn}dVtJ#CKrQOx1ch#QWU42GZ?HOiuS-iH)tR5Gy#h713yp}y^pXSmr zmi=t8TLo5;wp(?y9E@^6TR(%kG=9xRz1n?9ZqkR@oK*^!q*T`b8)p{A{{sxKt4}xV zAJzlCc3cARJ5znfdYi4|@nvB2#U7Uk{t*-^qx`dvhC!a+a`AfG7ACZeWAk&yGmCfI z=`*b-PRj7v(s!ZJ*WPcp;aaWVr5SVVz47~UeSQnq%NAenZk?YT_*D66mSN} z_OAzjP~8SNnNzpHiKY&0p+?!7kZ%;RB`?(8Be2_txRSGR?%P0y-KtLW580Q^(#aYq z%Y>wr3o%P->5vBTSMGfksUj@k(gR`Pa)%4U=OvQ`VEw|ftFrsDBY?%}(rwB?i zJ+@xy6>ZMWE3=vqxk#ah{j8nx6;hn4=Rahxwt%uEl6?b6C_8r|J2&?oCPD2J`|fR( zZls?oa=0+2@-t1Q4P620624OC(#%WDq7A5}p|N-#>(~yBl#nPYe#k+j0-|%L0?6U~ zKeW9Gd{ouh_@87ZFhKAQ2%5T%8Z{cLQLLRfs58j~?#Kj!q6Sx5m13oeFvC(o1CwAT z*J-J3ZGUawmiF~+eY^U$7DcTlY>DiO3$8_L^$w$gOA!#s|NESCXG=uw`}_U#`DE_7 z=bU@?^PJ~As}7WA14R`jI?O%~tS$>~n(Z@0M^C^FzNsvL+D?j4 z6c<_(vLZhFtv_f``jko#!~`P5GE)0S*KX9HR7_YoP*(goy#@eL9n+w6itgs+fYOw- z4=+Mh-LHAGmDo$23e;^)!})9lTQ=wl@NijJLF*waPjmf|DXYODGIugWr|tCu(FDr`LAx2X8EkD$uJk)xsjEzS1Z zjHBxGNHwVio&GVO3D$jz)Y@!cN5-_AT%kRoQ@rs-fOmxmZQGGD!F|x=#-YMTPnjnv zn5FY)uF#pARk|vsl43H!Q0L@Rx^}u-Ul%lz!bieg$efNacO`ObG9^L#p@P$;*}fo4 z@() zz1E&MFumV-GQ0nIqTmT`G3OyhpyZvZ@%#*c4+BcHaD0|Tpsi$uaBulC_WqVL?6TM9 z3&EffZ@AXephfJFyk4I&l#e9%*QPZluWuIpu)zp9b-=WDtm88WS?l=E%n24-$6q2^ ze4&;o@(y~!xL1X$qpmIyvuoDY??ujw9+xN$y+@<)TuNA(7>7_+AYkBE;&Z}iKSI^` zu2{mKAwSKJ3QQKD_4B)A-iplOPx>cVx-y4E@qdN0yu3yH$EsRs+d!lE5mpy~_ohC`cs_F2|5z$b zFEWaM#=oSM#YXXESM@WBugu*y20kN0jbLN&7u%FFrb8>Pdym zB7s-(?gr%blR|$0k-)$Djm_OuMcJY-NYRWCRHOeF<({j$0G>=qTg8D=Sl#l%yA%vii4TE~#b%av#H|G$Pq2xDpzqtKV{n?<*3Q7?koN;+A}n_;6X<~*|Y8_H202OWd*Cvx^clqBW$Z7gYm&u#w56O z7UGBAO$;N0o!<(wUbWk&*riVE@>{_ft9-=2xi>O%4qc=}KF<0h2wV3l;f5%3#WT|9 zaBwl@MT*g~6${jz<@H0^ikdQArYferedpoXYlA{k^SG%6YjP>f z%0r&XsaA@&FFMrsDeW`-_(P_1M=UE&?1vkp|2MLzagv@r^8xIl|2HCg=4WLu)jdrM z-RI>m-={{)5KhC(W||(+R12Nf!2**I&mL`v7yr%4iwHEN!%Ge6aXN zG@Xy-MszJtXwMvDlejuT-QxC>ju2UZ12LZL)}Vb<#i8zTlHOv!JEE}9Me{-WEPLGZ z?6Dl4RGhxJTlMawe3m@EBLk-{hKt|c&Jc)z<#r@0;9!fPf-P$WXa!aOgZq!hp8hLGPSya+!(#~e&JO1 zER_z*A3@0^e@qjAV3YlO$&pk!%%mzpkXF-PJ{_d>Vfxu8N4M3>ZNUyFUDEOfiRetVF_G& zjB(dFq>6srk}nYmTw7@*yaYNYo|wAy;I`LYmye2Cm$x)oM=?0Lp@<;$-gl`Qinr8p zHxVMJ`~QStWlFgrp#*)XgFs9tr^SOeehw2VA=;_H~C>51EqD$ySCpvxzATx7KUL<;G8 zXHf9OUF}aU7_JKLB+ly1jF6Z1c3uLoTNd%Gk#<+L-d;f=kILDZ(n^$jdDvp!&o z3>DwvhoQOB*B2W+J&DVKt}+-NWzm|R_-m-q@X@7*g&qba{(_m0(f)_OK*@roLB;%m zl8ZD`cULW^68qrw>Q=l}uQRu-GdY=6+Qrb4>17PJ>^BdWqdemlT@hnN!|;Gj-|3?a zep;M@$RM|>PDiU+?A=o8--Q0G-SkQ6GwkJ!;wR(kD!&je{O3F^Et(O9rLn&2wZWaM zw%Vyto=}-L>gtKsY>B7Euyy>FUnneoMP3fI5SA&#l}p{Jh!i z5O@UG;T@_=i`amY_u6-4L=6WK8~C5rL=(lNCWKuQOcF z1K-au6RSOeXJ@a?c(t^?X|Gv8n^tGweF-F7!5epWpmJsh|1a~uo&RU}-^%|+{(BXb z0m+B$^zyT1`%U|it&BwOED{7Fe;%b$%PGPBQE`@n^rjYU>K^)g3;bXZ?bYQwc9lhs zF?0o2bW?T=I{HrhMzuCw3rEi!N^GB^q6)>ML0GJoGAe3#v zwG`6&Se5X-FN>c`=psVDji0_4LC{Ms`C2G`*5b#is)(CCJM^{qiLB^qUXl$n0u7Z& z&#%omx(7#4PUHEz;%>BHW<;!yM7M>@I(Ro0`IJoG&xL-TY-q-?8q|PgZ-`)nC?u6- zqSA%<@afis^V*(VP@Z_rzz30rbv>n!e|9+Q~Y z+KceQG-^V2N)+(*;2;Ih-J7;NQPL`dy2T!$i21u^+p!f$30b?)*{MVll)Mj@_=Ki; zePy`jpWMumTHj%;m~eta@2XEtS>7jHzOaQ-)GA~b)ug_AfLf(TM*Dv-8PU?ebn!r- z(Q0TmQ=>W|L{ARF&OrgT&E)47?oVl zU?gpX@*{7g*lhOkVOLjjsQzGm{Pl2Y!wgKleuMzCQ4&9#T8tmirVaL)sG8H7cxB+` zO4T7_$!S!kH0#sX&`WD?`f?u9Gl#Qj{OQulzEw}{bUK<^Sk|{~7c%Unk4je}fxg&L zY8Yh%x5SxF-16i`Q0eFBq4>wgYJJBBQ-v7W$97jGPLP^gZ}$Np8v{Lar;43+>p4_V z@#2GlUk*)>Nrqs3{N2phMkF-IbT0a+5fO;%F`u%Hhep-H+=uhr^;+4sor_crqmTltadjBw$6T97U2o39x31mXj36BSiOvzt5>8rO)7W?GtGJt4tre<5q=`~ zW+uu!Ssr7>ldQXQxtbY^_wAFk8|*Py&XMIS-;QK8LI)B5 zA&FkTQBr)H?d>sHhkz~t4*7eJVnh_e9iLsck!7jiR!;X(SWoK0ph)jcs2y1Q9Aza% zY;TTQRa;j!Q=1*89uaio_&B>K=phQAQojC8MWKSHQLADcQ>8r(L3!Q>O${$%_pL~3w@LCbQgbs@I0O#~&fEj3di&*$~9B$U)}SpB&YJYJwQ41C8xy46MgI2l*)DjJbmq zHj92}|DrPSo(3Pefa?ujc}A@UGm2xi#O=Y7xu;0Ej&ff_nEV6v`$PtNj2M|6>68uU zUySh}zI9Y2d5y?sjclx0uR5PTg}te*;c#DLv0O92{em24h36Uab(gpc?`A4Jdmr`b z`{;jDY!OdW-A9WTmligNCL{AP7$C!`i9jB}8tWo&AR&1>sM3T=yF@8K%Eng+i=zYS zqg&;<9%PB{x%;tdkJvC5f`?BDnY|epC}dWgKUMy_{_PiegFMf3rK}9Q;WoViXi`vi z0RkcA8#d|XpDI85ZxU+oIJ2m_@HcjTG#qNz)q(u$~epTAT(E=3c@X9PfY$PjG4y7x&fsQaiiT$o3S&LC;YgvnF zJHMc;1tx=V%!6QrAhy^SKVTsHJx@d(goV6SxF!;U z)o%Y(=-DdzwsxnTLDf$9omQl>aLyAbJ8C{4Nvkm1OJB2YmQthlj33EH?RAvZI_d;T zM%*TOd>i5K`T!5oU3r8$0 z(})-vc?KCvMWl@o{tGL0=$M$u)WIISLEf?3tGn_zJx))SsMhm6Fs|yMLYDvatWWyl zC{5qpHH!hxpwxeN*KR_cFrL81xFiHKLzURos?O4mve5afye3u z{ZsLCT{slKJyQ?G5A;y@BGwPoP-KpfTr~1Y*#fE2f0l<4R(D9B?aM9|SvS|WW!Ftz zLam#{Yh+4=kf(r{+PwW)SnQK#!Hk1K*}=d^G4raeYB?ofpTT9_R^7fwajirJA9{=s zY-`6n4M6h+o||(fdEC~jj2lIddlbKlrCiY)bzu)fGAb^WuTz(o*(@d`AE0EhX{I<- zVnPxlh{BV?o76jL{z>oq1j9x7 zGx2BE9L|v;jnAo-y?-*PP;Y@l+2hH9`=T=nE@)~J=1;@2!A34RUT*8CcnG-9!Fi(I^`(VWTo8a`DnSJkqMp&yDW_Ojyh zN7^BhNOEWNM_scRKn4YyfA>r62;-x*T`j(aHG8I!P4>JhU-&b0>x-2CplYns3$m4fEkercJ;1&_|-f=8$$&;=r+)?Idm_s9Cg0zcCu2CZ-7P@6~? zK5SBCo^TP-(@-hvBTLyA^gt~#XKc;n95BD*3rEtQ$6*Tb-C6ceJ{~YW{rWEij)8c~ zr_j;O>!;F^46}KT*zs4S@pp(}>1#9oup{Y60U86P;=-F0eH@_`gK5;{@zaUR&Svp^ zPqV+?MZcYMKkMU0`}skh)?PD%F~@w1wLLaI+&L)RQ4;PPR~qgJmhvp)S=Kqx)nU4< ziSDH7W=uID#j%bvwz_!?aiuUcg()ZVV~zKu%u>eyU-B3c`%(t?WUV>!RE7KmEDF50 zQs&1#Pg=tY0JLF_L2P9TRfzUymjmu2#NQQ4N1N;+k{LEO}V zM}t>2WSnZqL>hdUsTg-7%HHz?8>D?MM;;0(x~nW_~IegSGCjIZ3H!Y6}> zeC>*jDfGsGSn+2~<2%bU?^&|KcIv4mt!!VV9+0{YB1V= zLJ&$|c)!v9U4rbWMx!^ecZkuxP`^fuUMct%-bCYFnFUH|DNnmh#9SUJX(cHe^#P(W zm^B~zxR?M9R9)YgwHQEM3Uo8%|vJx z%3n)3b^Wj=YmIc*m#gYQYR9gz(f&IQ;Be z?d9-Wk|e9K0s!9qn#yq6uwEy0`Yr)f zPo~BX6T1FLzRHb=3+;A2IHA^0MrtRRgggjNw0^>LeZ;Wg{g=rw64h?zw{sC%7N2$P_34o2Rg~T6xOfN*_P=y*Eg| zx8p@F&>cGxH(;P%r;G&W5^EF-QW=vx1M5dV`yxoa^-0}8Isc%-I)`kAQ@B@# zMt!M}j8VPe^S@pibFZs+LCl)%DV?nl?OJ=dQzld`5x={ILbHP^>;MrBl2T;JMXmd) zS_wC`zY#mB?WOqfVjMA=(!;J?xp5a%=ef~t$kJx&e+9Rpc&XkvaH$SK?n{@3EUQr6ylU~`&@ny;mf0w8OB?AqJbbY!9kFJX)4N69Q0tw+lGs(P zu$YXtXPHZ@(T&iaJ8IqNiPr3h2EI`V2(++<%!xJJ{^8e|zn<}4GP0D$s{>dD6H$SU zc2p9PMvf-GQEB!xdL&ckHYq8RSTnqTQ5Sz!QKbb%g&q@N=`#G%-Dm0s6eekaK&IdHn`K`D)G7Skb)DeyGlpQwJlL zO(pi@Uz0ts$zH*e!F^c|?)|*w2luF-slkmhh%D8sgmVG@`47{&41iPbweD_{eI|n| zUWrWW+Z<3M_3*-oTU9}&3}Rob65Np)HN6p6lLsQD{nqK;l1S+yGOcCE-;Dp^Q(OC0 zA%F4RVfF~s*vWhHz(t+27*LMaq^yI;^E>DQ|&@%q(KtRL6XdW?ULUGr%J z@mDg+2Y=ux10mD;OZhncBNn!#eBUWb^;a$qWjBXeD_X7<=OyPvlRQ?Lg2gJrCVh72ZE|&LFWsU$VMY%`#p@}uXogXB$iv*sYeP$Ftot-0|+L?IW1=TQi zO#9REqxY2VjUSHXY4>actw`7OkG4*)3zf!>!WmLvYy9vgj9%`+%5q}I@gdi$#NOlX zd=n#kxpm`{g#>1ykzB}ja%9+Fd0kN5xEFvOi9DS9z9GcjEDLKRCE zv@!HB>enSu&`z>KZqb4|9!#!^%0(HY)%47R=MaS)Nd16NjPsp?` zWlwIw`GEDy*gWS}RncTMhq+_jBzxUSp{j?hX2gwj~Mx zS6(Hc6@&^nb5%OZ8-_`XXsx zZ5_Qf2f%G-g+ccW?vS6?qsgGnYBk!{F{Fu|)kfQI2#81UP8D%fY6=iGeMjd&(L{88T{t+Am+Hj?B@!hXU?Y%p;8gs6?4Ywekwc>wqiC`!hi@wN_Zr&LArRVjvyq zx6(+I!L9Sci? z{lAe$8SRRL=KqbfH~wwwE@>PZ2{C-kuZbbDR~j3NMt-b3vDX{N0+lqZ=L%NFDN+?8 zB2rZ=-`L$XZqVd6_$+?D&i4!Q^`SYu))NZs5zA)F$;Sa8^K$B=vI#RIGhQ7Sq90{4 zq*BNAe2ajI1|?l=;d-gIm!e~?*F%=B0=?q>B2EX?GxDTH4?b%oL;^@9o9&4R9#5d+8<-q&BaA39Ku+BXapWf0Y|L}^EPzM(**IQ=I zuK3&5(#L2whsC^6>gw6O!&UR0R-*6^QD%J{JpW_khpQE@%O`|7&6jq3Ny8QvVE30{hF)hURBytvyZkm7%RFE_Sv>$$l%1s-i6wjwjx+* zT`T=qQakQ7^==b8rV^3&wzd;lA40AKojzT`5doZ zVmqT%C++Fp(b2@t*+-A}bh|let5UaPTF#A9O?5bRv#+DEl;CL{jb*WEBHY(XMj4Fh zPEBihuhTSuxuZoiJDcHxVHG9OnzvAK&&|?ECMaaBtywC00^QbzIc3(C^EX(lu~mT} z-l9E?CAj!DQ;gkMTvoqKt7f^XVWcC6v!0f*wkIEMwM;K_(tk zaQ|Uh*)=&TlnVM}NhYM;KsVa>b97aq^SfZKbP++NO5y#}&f^zQGT$K@e?j0Gq*8%q zjs~NcKu4F6)A?nI6J5r?=tOsHHVK1cQAvi|me@N24JfiF7M#KLzCu1sHSbo(^YJq| zf%o%W7;_S*N98bkWE8KU|GP_ZXEz3pv2xyECRVl*&-Vz0psVhjjeozH^hYEna)x+9 z`V&F57VQ&6lUFb@eL@~ZMWWGHU#c|v!di`S9HfCeTNhki5(ll;6~u1MpV|LI>6z!wKsDAc&zL^{vK0DyM=)AAB*WIs{Q{j34Ip?{9&k8kCSwq%nt=wo7QMwXj z__lRu0>ea*d4hYnifbo+nd_m?qf6u?1IttNxDs7L%V)2`3c-@-z1+7*gn$G4ft(a* zwaP>lupg3-N(|+fu4|ZDTG)37?ak{H__Pei%X01&;4JD6NZJeQLM73|tIS+N z+5`Et#(bJDa~^52eA;RGwCc=Jq}loUhU+w9FRc{}qX@h3e+qWd7xG&nyiLg+D-rS| z#o~wYYn3XK4I-c;)1I|+{U<=b%)j6xs~vnq!cXMF-n5m=<4ymfApWPhaAo=%xjdEW z933HDnVy%+<4ZT>^7ztM6vSVe3shD;KU!f6Sqw+gzI#qGUEa%n2*I zC88$(g6%!7g6S)Nvd;@Tj4fbUmda`5k0b{1AmMCE7#);V?9o9r z0l7V+>KPy>)N~S6g0TEG>JVaNhYf^F`+&V_W5y@1^gxxhr;=ZBOoX$igchX#uoE;( z_ZMpKLM6<}!~uc6D`pkJsMVSMHp+%i5n8lcz$J4&je8`mJaqv&%%0hsFgnkCMK z_5vsNvRc@id+iHUOSBy_4L*?YMCw9hEmf>Nc!&%%tYq!f#!g_@0&p3RS_x@U$Xce3 z^Zo95M|QvN3MqsygrajzM=QyJ^;pIbX7fu8t5<`KPD7$b=kFVjy0)L#CwiG4pl^(kOI0?9STF3Q?t5e)vcMewF<))MV3CThKZCA&R z6efnK-=HQaC%4jTt;|3l(a~a0wAy+#9C#D7o;+b|gAxsKG+?X62xSZ=FSjJeG_Eq! z-;?%J17F1tGqE~dt=e=lQ50cq(|WmL0T_~D-^yzGU_S#jSvbrTcX)D^hk^R}Uu0{* zznbF}Y9;nfe^#ZIA||vsGd0y!q)HJi5o6da&)fkCg{II@@9l8F=2Wh0s45L7=de<-S6 zP-o-R4y`Jt>_3afXv9jjs_!;)lGEDU#~eaVUnG$vE76>Sa%4V4IOjK%@@HD9H5Q*LuPDisht@St71ElI_#evHs@+l3sao2d zc7?4!%O;4{ycezcvuuK>>(BS=hYW&Z8G^>kBAFp(y<3SCe&Gph>e|672QF!oleqkB zLEb@0=g@GJ(u)V6a7K$qA=~75J*kW&zpm5L8 z+za|2bkx{psD-Y2Dqr~R%ik9}DLbHFRne|yAuvpkNocWWjh9K6Ql}GI_V2g&tF+h| zRjX5hAa1#Ge|p%*z|<^h$%TrgQt~u<-PMIdNrc)-(bal#XWlq-ZkV^{y4#<{ISGjezXyCm# z?9(?HRwYH%V&9l+z*W+KA@EeCrN^;)t^^EA8|!mf{F3F(GHUH>t7@fMnJcy&M;!Y~ znu7qez$IKG2oX=9fnJgq9#H{%Ud@FwZn|#>S^v8$QYu3QOjlzADw|O@(bwsFem1@8Hr$n)%b8YgUdZjVnmGyd&H>Kqos-)~dPyCoot*%Bd;#y=NkFBwp83d;M7K+U0!vlJ*W;fFy$7m{Qme=v7rJy0UjlpvCwT! z-~`c8EWMJQ=Snbh%9%T!y<00MEky8~p^ASSf@KgC`J!Oj z*&mrk)4E%ok7M@80nG6zDV%GL#h{|N;E6X3fc7K%beHU5>uQ&T#9!lAxT;bkGw?X`aeFv}N^FQ0UK9jd4K zw1N1Y)h-ZMP{R3OIz3=;g?I6R`BUZp=$A*`MROu(V(5)!(=4c9ll7X?>_G(WJ%oWp zxvExNHEyRyY)^9?VSULZMY%lRF8W3afva^Ke<=iRb=qdV$otoq4~2%*c;eEo02dK`~65( zq%Ko3K|wotgKTA8Vum|MzHCQ2REjsHOJcf7x>Jd}nnQHwOR76$rFOm{v+vNE-)1jq zwDf|Dqzzc<>4}YUT(6z?p2ADTE0=P&mUS^BZrA$ZrHox)KfJWSyBdC|5VN_xGTd={ zl|t3QO*I7VFmY;&WA1UqCdV5%~>4^nc)JCTa6U2)0aupiq2`BI1$~&=g%+vPQzXEAF zb?nW%tg~l=G1cCsQr9r~x7CqA7%2g$VI<MGrkE)~|G!VP34V;+PQvk$f0F zhTf;H@au2S<1PIoAegSn|0kRN8EwMFM=s#^>UdTGp)f{?P?u_Jkn};2Ql$`%$t~Jn zD@?}CB-!^)k|tWx#7XDNo|ozy30bSt``lE6Q!vRm{eoag9DdFeX{J8=?MJxm zXNFCuz&N0k{^v>!QflUm-0Ru-N_N&|E7?Iv(=NV8J+yyjRjv9xN12df0|;52a}A0* zJ2BsQWoi&Pfr+`6|1ejmMTnMPq*~6YIQ;^#R^CPjgqh5EI%Y2JJVDKj^Y*nYHx6(_a4GTV> zGm{{Y17>n$zOoHp%??F3A=(6if-^V67Z}PM$1Y@0bWH#1UrL=jFO_1|jf-9hB8M{!4%^5v*k>o6+#*F(qO> zEAU5f{Vc4DeMyPk3*F_#7la6X1%xHXAdNL?R*npoYZOQ37irWlzmgr>9}z-obs~xx zQWb^TZ~T22h6}z}K`pt0CQ3m)`728o-5980U3iX}>fZ3pyIFF%v#u!J{*LrHm!|Fk z{qH4*UrbN(Sqi_ewf6}9GM`vBze%+uN3i z1K0^nS?pO|8UyNXv6mp@k++T@Xf*oUm9dk+<+mKMv@}Cp^N*UkDPT2O{fWp=b?RO)Y8-|2kQ?i1KqNy7-CiYJ1&th3mLD zeQ|dyb=jHKxq0rNE*-Zwe0q9|eNQUOkCpu)e}&)c_6<5@`&#Vvx$pHn=j;}!X;#vx zu#9E6?O%|U!$Y&53faba4ty3A!dW)$0E+hn{PsBnf_r+@>e^sesc7v;xR5zk*ls;; z-+A_P$L%kxK6~80Uyv?hN00?n$5winTKikI(!ySKxrF+PNs>YKaF{U5fEsXai~kDS z7qqXHPZex|zuUju(VtT8UzN4xl<8HMwl4D|(KnPzipw2TST1~HAADmxlqjaLJ(ca8 zWgBZ=@$)QeneznxksbR7ge$XryaOKJ= zEt1oH&?)EjFHnw_t57^)q$X-9vjhy)%P#TT*X}c*hF41*t47Jw_fuh1T~~q5)vGz+Wr+3`V0z6S_r7x z9%}MFGO?h#G+seFRi1T<`=Pw~RomT)daL5^h2~i(T{0`Tobz)k_TFzHU%zuG3#WY= zPCvpl7Sg=*z09=mNA~vpG9awmX>u!roMr7tglajMT~F{=k`j~*4B6k!n_d!FVY;UJ zxU*p*zMM&WL>538q57qw&__I09<~rgs4_N#->TRIe$R^4@O!q=evoej7@Mi)F8jtZ zJytVh987yIY=ZPFWRS~+iLI7eM62SjdrRyGK*-ap1Zg8shd(Y7S658Jd6WIU53E3YOPh%ljmX`X?l-)G8Vgp zkSE&j;mo5Lc?prNnorNrpJE?mg!;5vFe@LQ_P9f5mK1!<_0RUa%zQ;XPPA@(Ir5z+@zZ19n#UjR~3a|Is zzovAljMH0Yse$FGD)ZSLRF*?IpNA&AOlSE$_qO~>U%W<^Twe3M5Qe3iO#2RU_gn9I zybZ^LbC)nBhr-Lin=T)i-fzE%YsLQiMFe+|HL)TUbrU@CTV*ZX8CXAC#CU%B+tF$b z1ldNxf5M8jH+^W7Y^-@oJcO6^b+J9huS%U;3iI}+CuI-Wm!7U&Lcr;c9f2YRcoBGg zZ_`a(DtQo}BLZu;kj+d61c9MH+VMj%EgHLZEWk%gxKtyKE4#gJYBLyD>=aZeFrmCL zHpCuDDQFm)EN~vp_H(C6sn<1|$??Qp!A@HZjn>}vC%I{(Jba$qZ>@P|>*KOpFEiSG zM6^EM#|v)Y4(H|35;i*>?|s#a)8q|vj(;qcfBrot?{OH ztv8%p?p1G-Oiq0%#BP7ZC=n6d$0R;+M`fwe{y!?qIF`@ltf)zTZJb7~W6NlQoqpdy zPlQ4W-q8|DjcdK270Y7AT{n>wS`4mL%FESKs1Tp{3zkF! zJB&m`(ycu>g8EnL=hC~y|0n?nnt|(@l?Er~LqvmfTQ$SgGv1Uh(YYnqEWwyp07j=I z=Ef3BCEaffaVYQBCYCx^C(#xE2c;JbbsLvMiQcH9Cn05HFM3%t>f}onj*Aj29B_e8F#Smgp zkgXbo465i?)8z2tn}*uZ!_p&pZMN@~?0}XQ%&wW-yiq3c$1B8_88W+@X1|xg-nV?# z2Qz!e5VLN4?HsqX%uLn>!xrAeqQAb?u(?_8(H&I6F(yC*C}yG zcFvcj<7*Y@A|K9t*T{A(qV76p?c%rnEH^o59RVyQCanZC72SJ_eG=m(i$aVQ6xlZM zaBnWs|4Uw1sVoLSB{})8FL_G>*Hs&dJNV4{z`SXX%!28fhgiWNbtrrL~GzB~jKksQJ>T)skl2t@5eDL=GCsbQuykmh9jDPVb1H5RVm|GfB8Cel?-9 z2>mvGNjMec&>ubTWsVyb`560^cMVkZ<8@-Xpw{t8S%FW=_^Al;pR+9P<7)UHfG6ol zLCrBXn{ZSz;~&wL%NZEDx35oRw&a@|KjoXFoo@iqxh`ZG4t-+w*_U3RQ0F{-LMFTL z1k2<41-M&E#>k$uB6r7-T)8{8PvdUC?ROU8si*0tr)83(uF1X#?jvPSMv}}_eRZUU zSG`LkN#x}O|5v(y)mo_zL227n1<10v1@AwJb0Kx?oTW0R75^keh7u_n5)%_8WP(~T9C z(4&ygkByL@LC6ZaT34H{$+a0bzdmra1tUePlY3yuM+YBHAYZqd7&AH97js3DBlKMa zOui>n&ASZNab7&TlS!t!(wI3~(%$dw~ zGdad|QDw8jXj;!NiC@V0_N_vh^nJ5*m|0gdZww?p4nKiRl3itFZ4+c?NR0fcjS%}o z#OJ@Wdk;_Pyb`zSyV4Bi*;G5(3 zZ=YiCpvlR0!zr%Suooq8h5SuG;1pR#PM&Ik4bMn{eCJaorzU6s!n;V{Dd_PX$suU1 z0v+wVJt3njO635Lp#81iDE-%K02kT}uAh)LgL@``g9SMH6u_jMRzcZuzuYOuHY1c1))_h0minN1ei1VsQv{#3UnYfs4$vXX&fAqaTk zL_qT7(!E@D_V!&;TS&Q-Vah^=0$2dvI_}S|{&;HA2SOA!yyD^jWLW^yZf4h>Y$O=wk}z5uw;#}fbcB#85Z_in2AH= z3rb*q`nBej_I1=Mv&DSQk_#oiO1Svty&Sz0I)82KR0@xzE^W^8?7mzsIGh$sKnjOL z{0CLNl+p;UxS^`0vxi`Arf3 zeS=*q)iKm9IsU`1e5BL5?vWlh!%Rh3PFf5x!9=!TQPP|B&`6`qB&#Kql- znu&1W_e!9|NYsKRMU(UB-#j+T7WTk3ThH*5%oeqhWy)Z(XwXyO>>t7kru)Eb#8E2jQ-x8KtWOX@4_565H z${E!|TuKb9>*GT<=`z8xazZ5Xs-!%!4RUN#6f~$E;31WC=}K}C8MK*dX3*8B6@zl& z!fTc^+{7ZEG}^Jq=NF57a?cRlafd2{`^WS7#m6jSAZ0he{r|SD>(Vb!kJzz6mb~4q z>ddwq^PpMzW;ruj0MAO`VqMNCc@G=)ujQ(6 zWYN{)V$X-HXL6EzvQq1F8QEHDrF?c<1}t5fmT2l)nQ?4GNzO`!Oq*sCQ zfBG8KTUwT6fsgniPdu&C<(&SdLm4bQPo~*>emCGe$^B?5Dwqvr{F*(vP8MJP)FNgD4-QXtYfc%<0vL;F-2p*iXW%ud2;hEhz1+UiE z)#YL|*Jr?9kup|h0@%dzmR#1$RMyzD#Qr27dyy`HlL76qzmfLpmANlY(rH7Lk=;sl zcPxYZ%uHn6fB9@cf60d5mg6d- zMo?I3Tb|Ah>wP*1GN4gC2fV9_vUi76`C;-Y)UW+|TE3hA{)SKgK7VQWzK{czlDeb2 zTVT!4F{z(fpRi%fodiW(9?wm!l!IpjwQ?b}_@+ zNbHfy#%ZM@K>by6Am`5!a3B=;Fvz(fnZlN`w(1v^8i)tgB6G7wi)6B0H_GAWh-Aj3 z_P~en!=hMU@T&%WjVLK3YfSafAAgmcPsrNin67O~P2Y>XL37UZoMq3?ksY&DPiX#|W!4aTv zh(EYqd&zgzc`v1#A{P8={(vj8fBPLF#5yOtU+K+Y@X4`nw_>!Ev75z)yTYT86J)_$ zxK$R+plEVBjstOZHoY=4h(N^pQ1F))@fcQszleLWLIt*omCo1-C^VDT^7^u9syb49 z5$k2;gRaQ$n5U=^mM1z%9I28An94jMtKuEA2gH1jmf7fo&>ppRh$hjbBmpIp!s$Oz13^+~p10mMl6sBK@*pz-$=S zUc@(Ldy=GXH^IOMu?7}jd`Rk!Qq{JvEIwEYfQlEkj%DaLAmn4GJZ9V}50MXL+t}GC zel5KdEW*9A$XIU2<*%&M1{`dKch}q*CbHin|Lf3aoX9f1f8U|gB5c*W8&eIX5g4^{T3YoUYqAGpLxAgWM`(EL8;SixV_#3~_r$JA z?5~Kmh&`&IiTy*c?y`Sy{Q4%Q^IGEKLqnbQ-YR3P5vwFMJ~-6+ZSTfdg=E6Y__w`- z;zk4~CT3k}{LFQsiV+#8i$h{=>Nt#7?`jGnY{W-MEtEYp?rOAFOEO0=XRx||2Gw<6 zu7~KMwk{Z65^J#*c*eYx=o>xB>-+_yH(Aj z7295KNQH-Z2?f^AnYpmepuaU6Rup+GZ2&fAsEm${h9@3qhS zmyF9WD(7Nzn)srxdCpid2=f&aOQr7Vv|A``U5GGNoMR@|m4yR6vtJPoUr0E7aHSX> z;W~+5dl0)g5A^P3n;%(UaME8NjzS4QCm7cJynZ*8KMe+dmZP9WCy&r$R zTtR=Cgc;7a&wPPzxhGCks^6%KK_^++x?`styO7qq6~zSZk9kv9>%BiN;m8Q0D|d4Ki{JBsjXFt0`Oh4v}oT*!h5@CXe&U#v@1_FtE=u?rPvL zkU(3d3X~gdX_YiIHdl7nb&35)#LmT)gwg&dGMLu)l<<=4dmZF5t;IiyH=}*_v&cp&dFc{;VT)R&u*R?7a9A_)iV!zK$O^dz1#DXaZ zl46#m#Dd~iG$Of?nD30lLK!3uVdMq-Mz>BB5}VOB*eO=U`|Y!7km|V%R=8@c9)}Cr zeXmN}Q{^+0s+HZd2DI{GY30M@l1n(QRu|t-SnXU0cCYoqqIm2Ka@}>l7<&=Znn79n|O}84+w)N&d;Rj7DWgt#!d|*b6is+35jL`{1-+rbo|*AaW+6 z_PdTao+f1cos(zlSFgODW<_pLS+-$qLdJZj#2#)0pOq`%PGo%Wqy0>i4Ggw zZ~qsP&v`a@VokGitrO6t{tDq2_bak%_?1h~o-ICozY_GnkdN&Ux)C+)VJ0y4$cGM0 z=8G2)n6TdOeyz-Ya2O@GcL{g;#Bgd{A9VTo_*gML+UI5H0P=W=Za`7*g7-l+`VzNe zWATVA8ygJU9gKAED6=noR`ao!NqPPF*khiqo6O~ZJ^YNhRZ;9UMG{@OhA3%F9aGvE zcwu%Wk`F|A8m$fCz~su=Z-fI850=^l=!HdUR(cQ)lpWpGIOgfZj)NgrH*X;$jF-Yy z@k%S=4y8f|0~fo)MzohlBd!TCH-KQ+w>|T5z78al60q<(GGx_P3WyhWC#ZK$%-nK&w8od)rQk7L-W%P!vt}$JW>ioULgP)`b zMlbJ?yC)nDYjR~YH7Yo!t3I*t9(SMEGfI}$Tj6^=p`?<0%HFjClR3WOKfExv#j|A=E5}mx=12vCzpjk2-LEDq1v>_RSIL1ZTDK{{=LWyGb zgw(flXD{B*;<$6J$S=H>9L;V+R)Z~JD*1)s&mg}*_4ac^KIuzUTxIr%f;kq$%6i5N zyT8Q#9tpxJ#0ja0)Eq0TBczr`I2k$+)(fO>{et&cAGBz2^16zA8*_JYYrnF5#>MZL zeW_zEf~YIp>gIU?A@3fJ(=}M#7klgqAW(bP9c6u3UXv(jy!KuM>Ds#%aErhymi4g< zFIeu)fmi1CT0Qtz#P*zXomMbcR=2%#_W==aOE%Od8=xRGU@Mc~DF4mLh87;vk_|JG z4KsThW-&C3Y{UFyqLt2eB-+$(yZT+Ke(&N}-)aHux&B105g7h|A0ihdcHyax3gS8I z9(Q8z!8pW#@hzDX*h;jy7l{ZOg&&Yamp@a1hq!x)0eyD&T0u|hYFDXz=OHt@tXn+i za+b{g6IO#c*@ffpWB4r_v78oQpmn^pdHUn$0}Mw+8m#E|-HCnK`c7k+FvgwasO&6%J*%P%&YF=!I`VzgS#9AFYHCiJGQOJ16?U{bT)g`e((=RxyB<`O6 z@O35A)zp?n`ksvc9i(g|O`4vJT~pFv#lG)J-zEc>9eUPYq3M2z8sMc(ctOLEMaWb( zNYXg7WgB)z!lw1ZRvFW6J4MJ!%*Bc=SnG0+)kNBh=C*&xaBs8WF&gbJlLU1$5@_*Y zn%Uy6xH;yrPa7^KIrRfeN=rEJ1%+itaXD*wP0;xpKs1^=g=DRBN>% z3PORw!ui$0o8g`q(Z@$fgQTeSln%rviG!(2xJy?At#GGa^^w%Yvoeg1TJ`X#xnx$b z>bw2ea;fMPrnQQIBa|$~R%|LC`Ha346ntVU+H7N*4fGZT|w+Px>2_{W(o!J=4T5D-cDnIdft` z+fFTLoAhXY#?5c7uHgcyL8L%A(=2yid|2+oSXt+)PK8ib+aIA`m;O7=RP9jJG^HBm zXAWo7*rK^n>qMurNzEWb{?wj%dyv%UP2U;R1v#{ z-y>qp{C*{NHoq6ej^Ov}@f)%qRM{uu<=76v<%f0YRg>Y^x~_4y=KfRNwhQx zl@LqSoiv+6aa!{Y(RY$?$Ns2>G06wewW+(Zu`Z zU9$@x75P`Rb2!*f>Iv!sQsv#>7UJLFtos6{ya{s^&vd=!Fvj6 zKK;`x?N>iD-DjW2k(!@_{@>TyN959@T=`&BzzXko&?y4}rcgNWg%`En$Mh)jd{1~w zu*6xnz^|k;YehSKh#f1DLu(OC(?x*BEw-O`Guc>c@{ajTb{BSmu`IFKp14#wWi{G` z5@=fSTI(?5N$YaA0S-M5hk3o$xC-%9bB@t|4>`nMdM8h7RSlRif){{L#2Or}AnZJiY@W~)V+MPjokkX>oB3}pq;RfLfr52Pn;-3N- z^1L-PECexG#ZX?44{Vrsw6$7|!n~28lpBW^TW~Oe!;4L`pUDiy=jb;m42q}(uO_HB z!ygX{{bai=+N1NE;qJ+@83uUbYA#~r39Wrk7$Z#&Fd($bXlv!Hh@>V#kP{-lGgOfp z47mu+H}r%^siMsfn{uyJ%Cf4xpp+Qnt`)KXc*iSCmvU5mw^E_DLv4z;E&?$6g#Ohn1pC%9%A!MQWD)m^MaS%LJZ8tkw=5fax;iK&7du*9?(G zch@f6lc;NV7`YBL18sfrb7d^Hs{)kYAc;4voWy`gfJ&6+hD$Ra<}K_(t4o)mxi4a3 zRA#U-@QJbHD?%9gjg(Vpun+IB=_8r#0g+_`B1OvKZJDP2-#IrLgJaHwxW(8bzIwulZDJ zUNNpZU(jj8wp!y(H+sc?cL`Qkj*|;9q8dj~K-S%FmY>pv4c&fIl)-OHft5ya34HQ^ zn8P(5U!fm4!^!>4KV*;kBKmZ*ecs*KbL_Lv8O1$qveMe9xFh85lRc)VI~v$M+kw+# zp&>M-9+!?rx_5a)sas2}PrBbKv;H0lyfD|vbR?O~z|`uwXTlTq$(A2(Z{7zi>={R? zr1gx`J6+`8B|eF)e)3wN^lH<(94Nif{?9ud0e6->vid$;epX>}!>M2ev5M1WJs;RL z7qlu`<*qB8dze+~dY+qsJMir6-3lzH$S9&q0+$yPepDZz*ZN~LZDOr%+8EumTBm7# z^`vRL_Nt}~!+fc}ca3;^hlPWV)S-XgP^lMeDM6ZtM{D!u@mx6{!^v6}Lffb;*z6>uaOGdG7wk!po+8ANi?i@et7gYt=h z{Z9ksLS+p`vxkWS<^mT`+n^CrmEz{Pdi4;sy%Rqt3vGp5PCJ4{pceipa8{R~2`NIv zb?p*wOD0+m*_CT7`9FZz%z^)kJ2)2O z&K^HqCZbm=kkydG2Y3O?YE-d4`&@3bne$NI`(oL@g~7IrmOoAol2tH`nv;XlQ+eo} zHb=3Z)IFjAb((Bu?-2@q==+0nx@y@w=Mu3@+Nt|L3#Wul6&S^2D~W5J85M+Gx!veqE%3yWSMCGks|6heaftTowZ1}-a! z2Q@YVlOR;n+A0I64AnZ=$ksz(BU8%CB7x`Pu5c36R`*718D>IJkio6GJ=|sr_L#Is zM8_pD*C^Q<@iHV!v&Ny&^+~L0$(h?1!aaWl>nuZ%T7$(MS`y_$l}8byl*_r~AbYFi{!n_c_trI+! zQJ<_>Voh?_C!z=| z${TM(rC`>{hH6EP#wb5}>=(ZXqdNo6vE91Dle#$XIu-z5eCI8md+xpVnNnXd-5^IZ z$li;ujj)JwdGc#Vr&roPc_^#vpQAfwi3b)qcG@(0&D6KOk9%Y@K&-3hwwVlhtie3! zrZwIzj!_9tiJfSsn!NUZy?LO|YN|x@OC3^8-eeA8fsnewp_$X8UTx zL=1ft09%soRe6xxo>?_38u%pUh01J~!rX8c+^i<62T4j+^*0|ewC~$cpwCFmS7q%A z`DY$mVzhsgw@^py*bNqP=^= zb!W$iH3ptB+C_UWbA^x}(*Iy9SJFlMH}682&{!i*IyF(OC+H=qq$em2K)913v_p9; zbUd2?&0s+FHYUe3Ca-rlTF-=&_o>0sHAbz4y?aAy6LI9Ituu|r(Z-Epm-vQ8j{2`c zDe&0SX+p@F9=R`0*G6@MmALuBSal@ zh36bHU-yQY-y9q(hJ~r7S@zsq`lsz%K`TUM@qV7Nb@3f7w3@ovdh_mu{3CMVi1Z-@ z=xp9<`y95YhjzG|>>7Nl3#wvR- zyL&An*w8_^Pg2D!QG;M^x7ZiGo!`L_yz~yfe}!n~K3F9KBlM(YJmvkz&iiubc^^-8 zr3z4$k@y4vW4#;ppIc+JzegBPN;ORISaaJyWk0eiW>(?Sbjp{ro4wigzC<_9haU9+ zfPu|Eg`M;_ff&>#R7mMWi?MVOQBsoCqc{28RjpLbO-MR3&8+D)U7I4VO}NNWn_STW zLVZF92&pZO;M5MnpM;0)2-m!hLEXcQCAUbK@0+fFMO^!=#%5DRG>Yb zWrj-;s*)uzKX;8$+@-~LR+HRnB;Md__OQ=>?jsR$vt>Ue8)0TNib{&wYj(qn40z%b zUpzqlEk=7U-{4^0c#`E93T!sow@4FGmm{*;RB7LY1DjySBDZ*v)zg<=MO_qtpC=iS zd;;I6f34CEc#S0jLe(IuV!22@q$2cS8twnB-Z;rai8Z^07rJB#F(Ad!z>VG*A_z^2 zxjMw&m=^kM+{3@O2|3uabll=DV5{v{{=MIFB}8^2n`zoLep{10a1f9K>E zt`+e=%f^4-i5IV<#J6SRZ`bjeMMU13jhya8&LHy2Y~*Ao@=_ujvyo$+$P0q6PUI*e2W2Ba0aaZFfReRXZSUeu0bqfSp8|k27%qat)%IZ*$+kL_pT=4C zyGU{!GF{t0JM|A)lyiWrKq0$#FR}tkH{hM7WVLCnx1UhJYHiGbV;t(72upQ`SvM$4 z!1@j|yfR2n>c5Z7i8Di0+toGO)`EcyL-mDJ@5asPK)J-sBi`Ix%yL=r-!+s0O@< z7Vc*^AY%Pou9%`INMV{X3a&G$x{hrAfj>A)fIwuL9~R(r8EYHQekr8`y;t-I2Tcuite zW#&9hYW2hRJ!n;Qkk2Qmze;V+RI1eJb@ijLy5j$dP|(n?Nvx`kq$0cRZwqwcb|*4Z zSzRG6v2t^M$+SL*U1)Z{Nxui1iFZA6U$xE{Bo5I}0@zKn|L}&aG$hXN(}5EErz(K| zZ=QGthel>d>2iHe-$@*M>VHvBqb@#ZkJSPE&Z)pAyN0LK(=*;fzhvj-^@;x7{`l=z zKtAbDwf&3^cVU_-UIjMUSMfY#e;{lyv1peg zpL&jbAo2mDS#olNv&VwiA^FS@;5hhjl2zMs-y~%r%i%tPlUy`XdJ+;Ne|%octLz>5 zBPbY`{1FtSOa2HhR{?GS30b@Hx2|Cp|F`i!J8NgmK1SMs*E3rT%Bx+V)aF6-qo1Wm zZE}b%e%l8W6GTTq&eb2#u1 zt*SIkAQW01KdahH~p36_okK+89=&FKk6S+~L56h1dmc z3|@@njK2jz7Sjq=X0S&Z^k%-I_7u!%(n4Cu%nCMVj+>sCKMD;k=oFce{vXS}QlB9$ z!e_NnS63A4J<vWAxm?@1i*ss2dxjpLx={@BOlTV6Mm0*${EDkbI4BScE zv9aIUA;oD(Yrp8c$h6C9fi9+$K_!DM5GPLb#Xvl^*uNz|W^vy{fK(L6@}+*Su++9M zR;p9e7JCZ$A?_}t)W-Ao#>&IibD6`0;;x4iqBF(jHA8x(UjTUGBa^9ciX8ZuCi zFq6#IxxMw)ltR!9??Cw`b$41?_pldHJI4`7Zfs&xXOOPEkIjO4Oo0yUMABRYw2KDv!}swoqku zkd3xu)SIlW^az6Jr^^&M`svN0pS~Y%!oM>te|@E3SnhXTzUZ*bCqKjTAayF|8INhR z522tS$3dEkEzw%8}@(Ojf1tiZ+qkaA8ls>A60cP z{v?w?SSKiGRMb&pI~vp|R3`-MTrxxMNPKn*H*g;YO4uL!Xk@W6}7EsT}~Jm?82s!|Mz#!y)%=r*uM9Fd_H8(J^Oxs`)`z; zzK%WpT}>U)LVDUXn%QXn)^C-_)#yq^&c6YoH_PB}{T$KWM9EQikF|R-Z2x24FuUB3 z4;g0m2!ECQ409VTi1-`*yPkvP_V4p7KqU0ooeam{3X`w^kcaDPuGs$?|5haQi&dn= z17KB+_0B{&Lv!Wq&n2hYgfN>3WX{c;>`YrIOcROb$_>{$<2DJP2m>oIq(KBw*2{dQ zry;-=fiA}(<-UMWkWiQoPR{I@z93?kw4ulfX0qKeE4q<&Vho4JeB z+*IyQj+XegSGh?D)K}N|TZ;%_>ZMF9XUpv?TvF*ygR@%hv6xeY%D6iQ;mR3u7UEIkj z`ej@ZZX$%?0e`EOV!;!4<&H!^a%$*VP??&&{*{Lqqp`Wr`wl@2dWn~51j@Fcanywt zE-FQu1wGf@v)EP9fR{RT&If($zh=e_(v;gZ{ZHKN=kvyWmHY7_)s>fT1=dg2k;~i{5(8`de2rSS?!hoVt#FMVte4>jp3V$ctd(uDouobwB>uZncvi z87tS6DJNNMf5>##`wqxur)R!$ueTiD*^H%!54OP=_mb0vVoZ=n1fY!`d+X_Mtr3tj zZ&KYUaj&t#`Mp2%oEgf8^geqOw~$|YFA~4nhJ`s8y|2J4k<*bV;Xq)&OB>?wPG#nV zYzQp_b5gVY^Ly|&Hw|OUe|XH}I47GmANZ1Ur6#$(zgIpk`WJ`N_pIE=nU80y2gsF~ zf^@r}ubX>ufoz(EcA=5C5J&9`8Fi!sh`aaKaLd<@#PS#f>wwI~KrvRFaSTwn+cie4(G%@4$3~VoKFVn{)VambaIN_ct<^a3q~3E%od2Z+z}(<#Xvh zACmr)4@qD3A?cqxYC5R%v|PgR`v1{fwxiC^;15ZEWB!MX|3lJ$@*(M~J|z8fdFdiD zENjU7Dt1sX2Wn)x8$YEv`&!;>0KZYt9zh4?td<=t(XEv{Aj^B|H%rpmzX%xIB?>3M4{1bEV@jMC$mKI*@|$I3la19%rL0 z3pPkM#e7c)EVVG^Lj>^{Y!UyO1Hu&6wMdDBP_%OlxJMS(Tl>1Ia#Y?TUsr+T-WXx4K?KEN5~d8sus| zEQrE5u7;8ype6GG?`^WL$-nYF0Xbx=+}jN!wVj&P^-r?!G}Flk&~4V;+I5?R2(UZj zYjEChrir*fYDziyWLbTxViVAm6t(~u%H~Iz(b4jX$dhFu>jc|^1c-xg*_A)j{cmtK zXb#IZ^_NcJuiOfE;g(yY)%+%AS;@m=5?4j4Z!1W|_*2&~hSKIILjf_N zJ?0KKeFo|DQ`jr?b1cC!6J*y$N1Gr!CyM&1WC+q^!}-z$0?|rga$7*-C!q^iQO?ZW z%djE+_Q~r1kgyzV{Dp0NAGn2Mha7;}{88B6nC>v=P@o7Y2+Y5&AlY*tXhD-4D4E0g zQMh`ev1?n1Utg{h3$f<5d8}dY^Q1~_ctxKS_O~r079TPqtXZXA{FAs*yEzh-jtK!r zAYO5?rc*x#(WSLB9xz`gZqQ$7*&+pDIokjr#fnMQlH%?u_;iActpSkax<<+0sP3R{ zy3!y*1&NVSIc15#^3xozlQv`Umvp-(`zEq`jWwzt)$qhFK3V&_bRJZf4yOx0f4| z+9M2fuD1}~5!Q9CKoiX#QwvwQ!hWX@a#8qKK94w^$b5jn0S7rSIce!iBC%;9>l*G| zPO~s?V%uGoRoDc!smmlFZ0357J2^h;Oau56q7n*^keQj_B^ zCSj|3!OQWa1dQy-t6TxJ^SGDiAurF*b9p*Vo_oAJU-R;$a(RR;PCd7Hd2aUdd{zR| zn=hFhv%DPjUXEHXN0Z4h-pg^mm*Xr6z|p(RWH`agFvQDHAOUG)jLEV03BHAQ_=X8= zQ-79#rQg#VjIZ}Od z5E<#NNc*^u<=b8}Ex72fsMAQa|IYi#gT+d2O;GpIP}_#`9HQ)jo+Z^sy7njU z%kes2P8Jum5cPZz3LplHcc<-Y>PCHbc{3Bb0)5)7z74TtHwv%wgZ`D*QNMEyDxz|Y z%>9WE5$1m|gmV9#d-M=Kka}azxWQbCoSbIZ{`@R3`Db>@O^2KkcQ3UHkqEsQU=4k~ zVsgQ06?967%rz8oEDj0?q}MCJskT!^unbd^VX8|kU49TBCy?f=qm7B7)zPLzNp-Y2 zJ}uNH1ethgs7=T(iH~OFF@bZ$W9hR!VYH&VaV*BwjtFat|a z`8|y)GAJlz`>v;ABTjsT)slFX28sfwfO{RKh5VXsp;=}PJ!*f7ZE? zx!-|oQMBfbcqJkYqn_-wY8J4*C+in8y2%V=OAQ zYIfWj6iKh)Va#bk*Z1ni9?0mz_=w3pk)l$`Ef*(_A9w_ZM{2Gw^{;Fu(sJIRpKQFJ z>s8zDY>b2^h5T(_;ggC2F=zOoh%*H9mQiPebkf~~QL_p4&k>t2zmIh9wn5T#<_ej6 z9{!oUgiZM!=9_gz(MaZ>wd}vREXa2C^fUAoj%jyk4X0$~HGByOTCkbZ&AB|V$vyY) zNC1m)>U9ZNI6DEPTc~#NrP<;FeCN$RT^=$WO0Q&mJ$` z$npNVf0n%R>7C55dME2vX+ZlM56q~m#A$S*IqiJFnCU-KZdzKvJBxe2&f@Qeq^ zC%Zl7D6OggJTF^)>PCpNH-d27xU@cXe+yY6srv;!i?rX^$p7j5zdDk-5!p(dHlL2y zFU^>Hl>jPk)Qo6i_SCRG%W*HLpSxf2_Q<7@HsGOoJtLuDqKvC9=IeG1AiR}9sH(fS zmE0ZJGv)SfpIX(?TG1t;+KV5DNm9^qaI(K`EDJU%;%~c_oEU?i#EM4G;!MEctrb`BDWXuV6{1z?R?#Wn7T?ye&c1aW zQzOs`?bM8B9olXC*3~1dEuzCqIj4ql$kqlX(G$0fwg*h=NARmiT6~1oWt91vNhWue z+-Yk$$aG93dQxS)bQ01>7ZUbAbXUbXehm!VTCrZjz@VwAmmqA3h*YseBoCJOR~?dP z3#z=7+LWrDKv>Ts;gEw;oy2cWO`Sx%fDDo+d^z(S@UMD=qAVvuY5rBeAk3)h(@qN! z+Mg(QTy}8ZB{^2}R{Uazn$UYs*B5fg@2V)%Yz*<|&?&pge2PnIJtg4TvaU+n-Quq5 z>B+t`>2_2A=DlvXp8eaz3;5R+m=tPzKt!NGxCQ^? z0Q{^%dM(JPJ_7t|I}#)!Rsu#XdBYO2xWr#?vx&L66-_JJGELm(_Yq8PDfYb`q%3pz_j@^si~*B9)f zFN=wAUH2-UM=_c`ip>SExm3%|fSN8DgrVNX%p6ffkPAXf{|n^+n5d7o1pMtzm`oF8 zZ+)zR7g)EJ-%|5eq$RG-x#~aG>#G&DA@wy0_Rix(I?E%L_Kq#%lXj$6RjPy*q*rH} z&sWx%&oX)#LO)bwdjwwy9ktEB>(S{p&&#!Wh6F9=aPM2RqMI$%&E=YHR9}A5w1cp^ z%;`;TvnSGQlWCS(8&N5BXJ@)VX7%;XHg|S-a<;1P@WN>1Ab!bFyEiM>y$e&ga zJ0zHy>B?f_I>11A@|smit?#|%)oLBJ*1mLhq9^2PJNLL4O8lf#Yr9uT zsut1kqb%DmbG5zRmF?q;Cg|3-jV~-2V3wj=--j7AbGspc%5%~0Wz2hPcnhbj$_jYt zmulc!_>tqLH>yF$PG`?oUFAb-RrdTNW&E+zY1vfj<+~6(^d4Z>z7zArKPh8=Pa9EJ0)X?p-5Lfb>i zv%kFtF)EkqjR>)%OI{i)LTQDBEYaM+dUj5L{BW)()?(H zOxSUdDd4l*{EU?!&+0>u6*RHqbZoM#N&OK}o?D^h4|hl_K0+NjgoaAGWR3~;lZ*in zN^YncXp$@swh`&4LnqOwH}wNylZLPc3%Az(`78L0YB{vxqs^L$VWfkb`v_fjcZ9x#%5g|%->?9s8M zk{{;Va-|g2dxUzkcCK9?l&=AEQeRTU@XS1dKe=<7^+AcH(tb7}SKnrALRJ-whEiAv z98=c$)f0g%K+@)?O0#C~gt)HlfrYV~1n_|IL~LJjFX+E#3)wvwza)96E)kA|tl?HV zj2W(-{s^)%*iiK)x8NAd8W}IfI-qtz7*IoDBxN9LPshZ?PT1kRBms3Ukvb%o%HF5k z57iC*Qx7dHhsgiXC}S@zJ$YyHz>r%?lIwP6PESvMJb9o*J~n5{(v!dMe%vqD?N02h zRrw!^6{amyg5S((Y0H#ITbnZ@)0UJ-TlX&^e<$YAiuqaJ^-A%ub!P1O3aJ4*c?kO3 z3)pYMj)&Z$z3=m2eO-`bkVY z4N~LW@4dH9r3-gViKOFKK!oVEkm9U)cgaU1=}#A-35nrh|0=mXW4x1Qot zI4ZE5Cl)<#P3*-8ZOyxhAy&=7#K*W}Z%Q6U;vgEjvMBK`e|?Dze~S~Z@wX)Ll7+eA zp~=I=7@O@YW|nH+OKjz3s`u@*D|eyP92Ns`0V3b{RXt7)_w@n`Nkq|NDbYoUlS?&5){V#r!mipW$vyQ+szM=(cA<2LXx>1@OBEdB2$pd zW0aR9lRSiSdu9>Wd`t3LQt~OphZ(V!l#I6aLAG-~9YAzLi${v%=nJ%Uf&6}p-Qn^3gl>flp+EUwJoT)6i2oWe z>>$~=2sz1xQrIhEl7l_p`+YK-Av~L57u}^9BF^YvI;cOoJOD&FZOC=fxsXV7nqIPj zG<-0AbG5NY;QvM!XqG;v3^C$t7VaWMN->#ln*XSP`C9clD=TH7ro8_6=?@}i@?N+i zWB6U-d&3nu-i0Yf$F&FsL;sF8iD-_o2-8+*@EPsjKxDb&tRNplW>CQ&Z0aS9s z+#I+(5SYrH4}qnwd+3Psk;nIMQYYD2hPHcva^=M@@V>eu(g&Qc8wZ>(V{6Yib3y|7 zUQUUC%?pJNq=`VlCWuJ{RzG@zBq39^n_t0RwPbZtCWsWo6S^6Nw>-;-_}(=Da4YrJAc35FC4htOyO<0ChjvC?<1o&ixq)(m!4p- zc}NVhHoA?wqzzQ*a!uT9O5RLKt+6^!1Q1_r5Rb95E1DZ>wk-}{nZB!Ds!)?@+NxQf z*KU<5E&iV-x3>S2)k`=y^kvDE1ENpvK^umpUIn$LvQI}9b#gI^0bmt(3Y0u zhV#71@Vw5@S|Qcu5z|)iIc%r!`L!LPXw7ShT+#2DqTi$Fl=Os&k?Ma7#LsrF3ZPZP z1sLCS07kRznxCU{Son zdW_RhfVN}&OaQ?6XS0Xp&l#Oj?0~y@@b;UxcOEn87~Ns-wCeeD$*IUuv{tkd9~pLF zt)Rp-gjMM7j!o9nZwObM2L^~=1Y3fO0MYV~dO6*5r!SB_@*Sn_iMM^|Q&7~*Tw+xA zd|s?OlbK*m+!p^y%fX@XAG91C5&sX4zrXbqgyXWKDm590(Sg|+*F)oq4fnE1kNzg) z-{%4K*p7ZeVn@JBPIReLnrfI0{(jGZi`{!42HgK&8jvlAZ@bh4d^!|#TO;^CvcSG! z85{liHn#Ep_ytB6suo)cZNap6jU%un-VT1h4aK z%7XhnEDy7qLN0D}SgWU`a5I-4A@<&F{D$I1G}VZ|(25Liyyqk|+sC9;ii0G`GtVcc zO5ad{1B%#x+>Q-)JJ$CL(=qVqa`jg}1oYa&Z@(^jI*9<;$iEsk2+HEGcAU}rV!Sro z`c}Nm|IqrD_W}>kVI2PYu8v(!U1@dQ@C3cup`N{qJ$x-eKfKEJu|ox&>PFYMqPuu# zLF(GlMQa4I6^o$4P;%{bi=_=APJzX)nOrQoY4cOKomeyZS)rW}-seo-Wvva+V9Gk+ zOnx70+v?d{{0J~N;*r^@otdhe;M6vy>OxNK>{K0e^SPMCq$hXUf3#(+p{WQIl%dd+5i4z>mw?i_NDm`E3#vh1kF8U(rtC>_hfCKmgTtVD=bIe@?7S4 z%fotH-nY(O6>T07^NRs|3Q69tnNk4i+;0uP{@L=JG(;M(L(68*P3ryLy|3q2Y z6Fd;fH<#v7FAuQe=l6tn^BDGoUtx86!ipI!5HrThxJvMF;BTFv11I=f#YS;*&me#6 zHnNBZgjvZw!{V1G_l%5x1m7ZX$jH#LY#z!74TK)yKZ|MaR#iw9^-ko|nGTl~)~h;0 zVuHj#?g*Qx8i^VsQRE1!4NU23|C$*y&1c(}nPDi})iWz5Bs3HhR9z_(r@?B6NiV(7 zoq94-^cqw2N{ZT))wpJp`lLtM530z2)8r3$KupHz(j@qG!_C|ox)aGXEzE#%BRwjT zdUUAiyAm2RBAf4%I-hM)U*N-ps>qjI-c*36==7N9zTnk*0U07t-7G^VNRQdDz$D>^ zL3qZtXSukMjC=_u{GFeAmA-h7RJyPLH!SHfU&>axiyOkU`Un{yHa45D;nb0Qw1uTG zB|_N}KhBnDHzm;Lka501JhE<8+AV!{+A2KWKv0dKFPWPojx|@zqJFlXQcdn+kLbM# z=GI;C#4`=ahga)XBX(N*5vfm?{MsF;t^Sj>V`!R2(4=}iR)MV^yq~h8oawWnP-z-i zlX{n?U2nQg>dnXXBFQG|f*6@k9auUi4++YD@0!#%g>K0?G%~UBgyp9Pm39k!ob;O+ z$+63a)U@NK+v>t2(+9ktmkoSBoguwHypLWRpW9Fbpzf!Zg;UD{sby8#!yYz&QJN81 zbHN#VYG+dgh8>pAOD&(v&D@+?zA)S#BD6H6H-P@o`lzW#Woh_!-ze{n))&OwybI!8 z=MXmocLIMAs^NavOF>S@*vIXzzu-yx6XjM?aY=ldQ$(oP-x`)s-zI;n2HBEoq`&oT zijYX?zfB0+=px+#O=Sp{LG%H%H>oFA>7^Yrf<0umqOU{FUzPb-$%hH8{rm? z%tQddsSVaxRmQ`BoX@UT&``C4)L2x;hbH0L>J};Z79-<%oWSAmx9;Xc4v6g?kWI}T zked)>?cGQc+CKRE@rs9}_%BR!C>MQ}M1M=7_4)kioeWCY)t(Eh{{$b9yRq%5M46GF z4ysx1-6$i7NAhn?r}a3uCRfTGbC}EIavLFs=nVHtTi)Jp^2#|)dRl|3@W+z!teLmQ z-$}fl!gG;U%|DxS^VkI%g3LdEw%R9z$>W^Aw*h^Rm%jbD=^^!tBhv?*zZnD1pQZ}( zUgkI|astyO@9YI8fvYwinFOw{k_T8&!}My?Au-D~wLCR7keZ62mZ`zi)T-3f34}uM zRhreCOh0opb*XyAgq(I(Rz0IX^7vx8`7yk#am?H`g{G!>qC0@*TmOQ zv9cwXbAY2!b0Gc^@iv69@>>I7;vqm=VTuYjG-Y9zt*cQy4)qE)Z~!N2{XGt~&~~wU zLSRwaKI6!?_1@@jvrqfkf!(H8GxG!Kh^(;*G^^)LAk<$!d1_E~lE7I4cX)_U&eiFC zy1c(4(oX#*Zn~F;)cd-G zEZ(Te;&um3WH#iySr69Q{P?s+K>Tf8d)Afu%>UGDE+nYBly=oQ2oY>?F#tdMu!QPL z3Eppla$s*aLF7hDW|&~W#?v_eA&uXHi%v2426EqQ8?WLJbZNPiMcS%fzgPC5P*7-3 zQ{!i!3MTFBl2UjTosFE!Q5>a$U~E+%!AG*05{U5!0d#SjUd4Z2=&kAl96dmTGjvX@ z6Ji>Lx7{WAu6E6?oGd*N`uv98mvs3BS_(c=ZB$!?(hgh{2_ZBj%KdMPPxHIACSb%F z_bYtOxYTz<=bzD@W+1?0Mm>J1hB5nXO{0+OweQ-5$!mWO?OU+K)5E=`#2@vhP^|0q zA@zv*Hy*`Z`RhER^nsVENjHvv^8aDuVlY{NlrT3ZM-=Hj`9(|`Xh=}HFymvdK(aKd zyJE(x^;z;TR&Z94d+28-006sR#PJ8evG+65KE_*E?w|&is2U!S=Zzeb#CppZd$7g@ z_`lYoXR1|J`XAKo>OofDBEHDSznU4b7CJaO!?%bp^4;0h%VSf7q)W`Uwn@PDg-s!o z9r<66enaMS$F3uvuVIU(<4)-&Qq}02|3;8~wgSAa?r(7@2Q{qN&_eM6 z-vFjI~uzx->-GeKtjLgo( z9$ex2B?qF&lYjU&15{rXbaH_F!)?HH|BU>D6xHLSUgRIjAY+v!T=|DtT>89)(8)yp z!R2t0uTl1__8QsXsCwsRSEd27Sb9PWG%vvVFO~t^R!<4~S3Sx>cczW2oDvj&2tVhm zZFAz}24@oxsIb69=&k_fNUzYxjoH8*i6&=C(B}P)L2M2rmzEYJrr3A}(jYAy#I9bv zE7)b)7W?NYhW#sUj@?6I>0;=`>lTZR_N$1;QkH4p`|wSAFDJ&B;+iY?Ds&z;^u;~l zQsxkNqvV={a@%LUY2a(3N>X}i^;zhtog`m|Yx>=a7Q+3uVd-k;nsL~S$7qk5@Wn!X zoViVd3{#7B#Dvu-|5_q7Q^xs|=Lu3UEok{R2@n(WL20s+)nE&P>|pZ2jCCEBo*8T5 zQ9KOXtgpj$u}XOTI~RFg5!^Gu1WY4c*c~Bl)(e4m-J5ksDZ86q$AI6CthJjIXR5X*hO0Z*o>;B1Cl=E7#3H^P zJw?5*2>a47D|6$xQ|80Fto4BO9RCJD>G;*g&{sl!F3%bn_j`Z8A*touzqMtwKohmv zPMAv{j-@^&LUmbp30lWGxuMbelZkqiU;qu%wFi4I zCnK-(F0!T?1QhwBgl5$vL9kmw(MGH0+4vabs_Dq$5yHDE-QU$mZ#|ando+WkZ%zGi zTR3qKEW?T29=G>-a)|Yju>7%OPH}}9oZL+^Dr0GNBpMpmd<(>PeeZp40UIrXfDC_! zDkBBnoCfUbMew3Qg#D1kctV|vUoy{F>lQkOby9uFMXD!MVb%!i&lm(;^k$|QgPQY1 zcpk+?ioK1qFPR2Wkp4Qw?DRKfu64cJ)q=Ttk`gGJc4G^5kWe(K$-evvln2rC(v?}i zZ()vf30>tqc~uIH#l^bO*~b|4id!ohs~YPqf7|28v-{V;?VEr3P*g1+{TIk_Rz3;jWrN1dnO8+m+YwT&_oI52Y6>XBb=EHNEIX@MhDeYWC z;2P&iYpsZm3W0tx-I4W?isgB8Sb2C<;=)Nx232lCff}V=BWRCURnL;DSj|2GrnjqK ze?z3=y~Px`I6;iJGy-qwy0pg&Jt=qMZB6F67zq4ArvX<$w(WlaE7?CAQcxuu;|pQn z&DjDJ&XoohyEJkGIVvuC@_d^H|_}+-r{7}!Bf29cT$>d-Gox#8Sbv+~Ffmdaq zcT=~_FqQ%~$t16qZ~p^Z@@IH7@uK{2#O!{<)b$2PCbL^^X1B#eiXM$PTaywU`$n$2b(-ehX~Jwg=B zRF#>jYfPj_bO?@(-Py8ff?v|oI(|4xI<9JJY0 zve$C6#Pe{^o3dl1y^qC(C7yj#OysMt$h+j0OONTgMjjK%z5G>?NbkEA#rV4wKOMo6{tC`oqm~>97=LkPYCJ16o>slQePUv@1(1G;G!S2+t zlZbtjP^{}OLmFx_{#CC_mg)w*Qyaoe-pLtn4Sva-ARdu883l)SvbpQAiJ7W_j!LqPuX?M-q0=^b*#QAPXm5CSgrB;eIzkk03qf&TPVJH$etL ziQi@uZXv;RUGh34%MzHE=7tfw2`XUR7B^TO;lm_a&9 z){*K&z<=jTTEor&Z$>$W4W~HuMZrkTrdvKUnb0^3k0zULxu(H+y}@}F0;`wQ*c}1aVshLIL$*I{z6C%Es zV825q`&3}jSA;6FU2TG!h$tVvUbm~?5e8W0QR-kNifjGh=bf70-utDf}c9F z1+}Fp3JFZRkdDbekO?4U$UY`Y`{4oex!!iL%OIVH((?&xZGi;Y4q@e-s2wO@E-*pW zBPJe-kb3mjhx;%{mjJ|=0!dQtdNL%&fLTteV{fOX*j}9(TFlk%5j}cjB)x*~iy4zd zaU^xa?0jN|Ol21R&^!?DPu@DFrO#^B8OOy%eo7ntaS^b3R^)lX>t#~ZM-l=yX*2=e z-n8`SBJ91!YMzRpjpY%J*uO)f#|%m2lCG{^F%Z(}Uo(30_$>{h;4Pls1+O?%j$eE3 zw1V|5%Ze^Ye6(emZ$aX$mSx4wiPKt^4Z0vPro$?kG!LE6szpO5U3SYL&CXtrEP3)! zX+JrIN%clfVQwU)$ zVH)H6XF5-=e80oD4vE&pBSIn8(W{}}YJvz_6B@tMyww~z#_Vqu#3$6+M`c%XH4Jp%ZOP?k2=kHK{7O#x#}Y3GDSo zD$27qltoe{Rt9so4RZMNQITEQ6F))kXEYx*4HJ`$4kCubqk;xKql9h)j-8q^JdS6m z({vv^IVflqJ+fdtA5TT9tt!OUmz+WaK`Lws&5WOD^+662YZ6w~qKr`)flImcj2L-P z3PC^}UpmXmiWhN3#Y&w~R_cTY3)fpM%T6jniNdi0R;noT)+L>qo+Nutvmsybww<&o z4YCYQQA?=EZEzjd3i>s;4AS;i^~#Mb8Wd(}x>F0*4DV8(mEn0CSMP=6w^4Y^Hb5wz zlxFrHt(n897iF6duyTWt!DLymvVdSDEA4V>94Xm&_Qr@J%o3q1%WgfFy&S>iMo63$wpRW6g4B8SJD70{M#JWUh#3!-CFStX;Sp$EKT1Q6l66qYVvdeUvm1k z$a8$3Qoo=SVm|0efKjTg9B$*Vl$_s|ikR0uP@6F_67@WZLoyIO0DXF_qR%f9v@=UJI<5&i0M@bB|~b`ddY1K|>&>e_x>i zJ-tPGmh&!r1Mq>UdV_io~%kr`d5`mWGqZTAiZCO70g2d>S zJMz$o3QwT(<9SuweF7t zPegwCkov)K(*tVdk?9^ypEp+YaHn%}^WR^6r|Snr2(6`gxHsFnB`u61&)e} zLoyUOBQ-nx-{8rvM@1Zyow8}`nIVF*?ZMnMyS23<$W97R>=AzJvhrwZIe=uJ=C>|{ zz!q@?@Q6ffdKOOzg;;sU~}SQm;w4P=g^HT(U^tD%%-FJTERl$Puij%rgtr*!g( zLvkRM=IH@aZ+gA2ix#Iql?u^EE`xBa%ys`Iux3Q44f#IM?2*NwI z)_bsTB3rLO_SCb2wisVV7$J7`z=Q%Ms$cb3g_l&>EWjGr6B6h;q&2*xi?igy7{Fuw z-}QM3)HJK*_Oc5M>OpYS0)N{m+9x=g*g+>r3vKYoDt6ZJAkm$^bol#huGGNO)i(tLVX46}?{x8?K@+~UVrheHb6DD1c%XE( zu$4mt4i`@C@())7hs)}z8!r3Wn;s$AXpu<{mEQ28&uI3s9Uw`}mUNO|UkBH)g#)J7 zb>)bTr>+gOUmN5#2=m{zI;NEU@`8z7iPQA~cf*n&%95=yQ3kk5mn%L=Il_avh<`us-QTFie z5!`vc+htXhtW%>=rMO(HQk1;@hM$Gu9!t$Cvr@Cl`3>?v6cfY2vrtpDdfIkTgIMo| zRN4NGKk^}F!1u`D8a*2~^)-9q!*loH_@^42*Cb7zj9*@mDbeBrR(G3}E@TvC%&QD5 zF+$Iu%tX3(=G2E}Q)EswU&GB$iH_7@)YH4Ilpc&Ql*|GFtjyKgPT5tG8&pe~m{m%|(srO8 z>S3c*Y1=Tl(VJi0N;7ulld;OixiMcOc3T@8^*W;Af2y~HnUgG$frT}*pu+B5O-K_E zMp(ZWWKPFsZo`mXe2%yKxz+!FU#REG_VBNn0{iSO3%wI79rZ>0QKg&DwkuE3QaaWD z0zudY`I7&e8#JvOb6*el(TreQJAxrR{b~wFs7bWiSRHK(6AeKdcKkwFtmX(-(E|*v z_eU6H5oYp-K9nx!dbRsd7VC$yu`HjGvy(pMXmWW%=Pm-42X7kRWNU`^r|0B!Z_@(8 zsBaxB-Dy~=zV{`75SMyz1iWkfU0r*u@@ZoO?y_U1Bja*v|3sR|>p$%u!au=)_Bqem zE=`qzhhGJ#)$p(<>2AMY5{E>at%%mhG>%g%Rh z<|fx3v9_s&QX*B$RRUWUCx!rY7u5<3c2k+ibD)VMUX~4~JT?zN^# zZF)Wpv~K)!<@a?Dq%?u)s#D8KQ_F_q^}1%iP-R43)u&!rD!uWg77wr4FVv1Ghha3p z*H%>wZ14FZe#4L#`gJ5XuhNfGcY1h==|_KgQbT`G)t>-Sg7Ac*W=HMl_PWs>wPV`r z#&p!4)LwT|NA1b&btgMGfUYZdYR9JP#yYiuR9(QornX{!st&|>2GI6ZL3JV>p zRr&pBRA0k&g*zYp9vgifb_}g78bau~9i6 zyx%7X!e@oYR1G;)V=31P8%p1B^_bobBu)&6@Qp{sVPH(i^_P+EMI}Z_NIXgEqGP2Z znh#(L$ko;YlWhcOQ)jwui6o_szDnSv_`r()Op-@Rpp>>Dy)W!95V$chTt6y<1X_#_ zM#J=%Wad(xm6}%0&nHsT#GLo1Qquw*^%b9PpEib{&$LfF$xhF%xWStE#1gCrZtT5P zTA28RKlvp6^FQ=6J*?yhCoR^g*OMAaM?o29R?L?^KL;8j^AjZ@+_6Je1XB$)?<^T! zRA1Z}^KC@>Y0=+9cj*a;>pD&)tN$U|w9~aGk!;!(f=cRkPQoCRI0Waad1*;xO2>kV zd69|l#3!IPTs=jTp|-1gWhrRw%(?%D=`pKQ*Ny=KEtfbo)vE);O_|(EO7UFtJcTc1QXa zIFyX^lcd_<0*#yx?3Y7*^l^x>gQf>}IjJ4K_9-XFe1GzK7urIM)-AErC zCA|>Yt@$g~f6(V&^P-JnekcwO1>!CEVVPVf6E(fOCs&VPm7MLZ>hCZu<*K53%4N{{ z&BwQ~oBUe)HfT#!TUEP`)f^5_?N!S-nnv?nEuL$% zcyq26hvRB-bA0F{%v*sHQVxENUNRmPMW(9vLTVOSDr1`mTNN>I6z6$YN)qPDh^eDk zx9yfz30L2rB;-CeOM1*7epSYOBjBcB=y&Rb#89k=_0^VY_@O9V&>~l@s|;iAeceuf zEfXgekUsLL2&%H$zF~PegbSdTkH}y|M;cXWIPUD-expfpOEYhO*8Jh5w$X)+Fuf-7 z66W@U(HkgJTPWb&{bsz~)&y=`E65-)09PeH>=K%HcZu$SZran7vj| zWhC%s4ANB_kZ8?>F|)vW1s@hfOm)CDHwee+MtA!k)xvfwMR&VQt8aruHU@-*lhfbM zv)Z%bO##b<%(jVNd9E6qgIeP4dEIzmwX?V!($Br5Y7s8TB!OgipBv@Q=3eRTYtC~j z1fewZM{gL^`fbX|zevaaa68Y9UMxD# zb)L2+sg&Qj?(aPL)yzquHw$J;z3S6|ug+fVanq&-YjNsLyw!Jgz(C&D+G+e7ivus{ zVl7kw+2=e6v+kFsb4}VM5b*1eph}euS6sLdVSY1D^E#+Yb&Pav93gq#M$_4v{fSvf z((>NWDQN-M+#sw=nZ1w5>=A^(QSXe~E4X-XOuRL}`ETz7D{ND*@|!_UYovOCkh#8g z66zHZKPqUdPtVKtxz+UfeA8$7(zus1fllwk;GQ$BRDE4nvt2n-G20GLwH>e;XEpnA)F;GJuO2xIor?( zLcNoy7T$B28a5AVVVFA9X3Z4bD^f7`@hz||6igKJUI?$dDaK3mz2$;;z|M+Q?A9`C3gAtg$;^@@3}BEHd-OBHy5Uv_pN8Uw6J5 zb(E~~6has}x`?F}a!{vq8CrRDA*&xCm_LE-eCH-mzVh~fnLzagGl9GL zH52$OA+rabAe3BQ4v5EkJ-|fv$F;cG%&n27k=_shK)X|B9ECdQK>pS-d_-IK#TSE` z3h&>XLQNVf*K>7sZf~KK!$f^lHWtDBS>j1$mM+&F+o3)tT}2p{U3Gr8uK_~L(hzCy zl6{f(ctv3CnQfWr`)?@k+Ea4VQ}e24lpFF1aCmm<%|aU)7`KOOnI$>VvNd!+jk~t1 z^80yfuAjFa+0Sn*Fh@4cuiMX+I!ab^DIx5s&J$qEJEU>esLCADxa~lj*N0T+h`*}0 z`D9ATHlHZzN8zf)HhLKFmH>& z!uq{G25(&t+cPhV(22@s2_6&#vFvGkkVd3g*Z{W)U?kv6a88~Mw}*!Y3?4ei%jD{L z8~$;gaSy*r2^j!5Ek?`c6{7Fa*3NFL6f$>5QM*+t^24p2(7(Hoyccd-y0NgfqquZ( zd!!IOwRJIU65jfD%d#OaW7G{Bp@oYZTb7j;Exr;{OMP*FOcq-H6~<~h7k>;j`Jp(+ ziC;K=vlga!dN(?W@qi}5neb@emgK=Rmb~opds;gaMdP395F?8NZBzdJd?QD3Z|R52 zQ6vu)^^?I^>z4iDKT#Ihj}eQ`YpH&D@fTqKmK<$dGv#)}o6RAAPDo@#LE>_qchEj- zWJ}^=XL=!4A>-q+BZug9raN$gqx-sK+S|V8HU&0MH0O=2(;t#TnxQ~QzA?m!y4Y1fA%WEzJj#c! zoMH0pyVni%VVX9#m&JbCzC%SW?0l5H+z_VjGWAq8k1K~SplHjNN(&ntcFJCZ(2HMr zfWY3(Y!K6{bwgYf6~PSMzjA>S?kBxvd1+zTfA>bQ4#OKF^bN7xVn(5JC3P*5a2b$O zUImE-;0kUCCOn>nI+j z6aF4?>Traj8;4BGVLDYd(wR%%vi9Sq$zSm6&m>N;y42`je<5>q_xz+6h$-e5Wwbft#OKAVg&I?aw(#0=UZd$vI<=+1n=TO%> zMd{+lD|aOi`r_xu(lcNalze^-QvBV%iQPpD>MOCwlh=3kR7f|=bw19`9XfVyuA?8A z{J6%7pXV0vXA3MGSUq6d7bzgH1vlSz)egy?HJB@Cg(p8HG8l*y4HTd{8+i;|8YK^m zOkAwXtEqs>8APfgaq61hm?^W7;)#zY%#mTiT|>0rg;^tjE18~FpS#ulP?s;yiBy3z zxp((LcF_U7;pM!+f$Xje6~=MwY>2Du*Q=`XPh4tFmEJ``Bk_`N^CH~7EX@B1|D*h$ z!vD$qujPLo|7~nyH1cb4m_XMA9^P>-mESirBdsML3Lz zpuTpE73*5hiuGg(h?VO)ZO(cyAv@o&^~F-zNyJ8k*v1uekGXlC6j^8QN*OIwb@@_gF2HDsbb*mKpz4efp|KEQYzx zM5Mm=$sxF0qg@FB>HriT(Dx-L+sQk?Y06seIIFV)5@~elU+M+P)r1T7di~~zR@xkk5o`Th19-<5eT#!KSlf3jNlKX zBvL&w?q7Q?u5f$*n`Dy^S{A_(J5or(!UM&W-2)XBuB-5sO|-}c1TBZk-w}QSxgw4h zKMA^07eUeA>xpB$0P)Hg?*Y}w&`|smS2>hRjI4)Q5!8LVkSOZ#1VbJUFbMU|_4fb!L+mTLo^FNru(3wdJ$#gV8uRx?0}6^ov_8=59Y4b%b|!0jI9 zmL*<~>tS1(UntG9;7hZ9E??J9iVtLbF^3emDZ1r6?q=!gNC(nH$TRIwKgWiA6qz2& z-)hJz;EQx1F<$zW&kuE9r1XGz0c2w2GO{Rz=gjIQW=QFkis z3d+8`R}?1KB}N}vDigP{^ua6wg(AVIm4RK!TRn06{+eAxxhxmjjtxytw~4STsC&p- z@j)RQD=|v8112TkhMHK#@H5qsnzu10$U2DBnb%E`ZG9>dqB;B`(rVZ(k%>i-DJh{$ z;)>|RL-D~<-DCh+X*IdD$(JaRnA#YPH^ykVNmA?>t1(v+BJw9Hf2KsKJ)9W)7!q*> znakv>Ha_?f33OQ{}d5`Sx<2*K-aJkBcr3wzwF zCTn)KlMWq04a&hhIe16-P(RIh@QRlsFFoBtRcclLEV*=%hxjrq@ngYDX+u}4J63s- zAASno(*w%0C$v06z|fJ-JsKUUA6>z-v~i)kp=0{Z%<^lTsr}wp5WMG`T%bn0-sF!* zXa~^B_IPum_4yq-z~tbOxgQPZ@8zz&&k_F&{inaJ(6w&a2mgt(f|JO54#KcdKnvGa z$ZnWGNCyE{EmSTJ*8^5F2rsKA|m%2`A?W3l&5G}fua z5I*y)dOs@NLoZ(^nAv%EicC97>9QnY+Ra;oKS55{YYd4we;UM({aE=4{M#K25R3v?O>K zy=YPoY5f`I^h=JLZmScH zOdoI`4b(R0vW@nfVYX3F&E@3F1r)Ycyj(yBt+hi=&G947@{&u zof#PNvI5AR?UbA$wMW!?WH5=3xF^q6&q|!=m+2hE^g%ajs|H#U(y-UTCUsSlPSjbO z)t``I(OH|+*SThh{!X)+-z-^lCu>l1%blkc8>GJjbs|M4U!6e4?9mh=%sg5Jl2b{xGj(`i?^TSE(v6>h-iwCEHy`B?zDA&<9EDwP~ zpzZA%mCrj~k2Sgn#-HVTuhEJ(TPUIrltIhULc*@2 z$9QUQ)#lp9zc_KdcsN=Xir@fC(Di4)`vkh@>ThzM=5NTVd2aE=k_`t(gPe7^I9eg9 zM%*^GGkg<1jzF*=U}$5Gp$=1ThNgZ~v6~)%UTb@fg2&f88L8KP+?K9^gSB2I+iWks zy-*fv;vke<`g6gwadlBrtV2^u2|oWbiJVeK@E0anPB3YL0Xua)NZs`z{%d8SzljL< zTwDBmWeFYZ@Ez(TX^pNnN_$#U=&nuDKA5%byl2##YTnBs$vHKl9qO7MPfcj&G%2%7 z2$QGf2$OIBT2lx-iB?13oQ+ZvTmib_(KZ{Lc@^bHGQi97Zp`}B4JZk{s(qB>0NbA& z30{ll5VQPm%=ixVc(t0PH0SNZ0_`#S*~w z>_%u}Cqb?D^9Q5$vx!gCe*V+hA|e8ve4+M3)5iT%BOlB)Qlc7KB$Z@b+vs1kfpAL7 z*2roDMFj@a0CE;!&YzNhqSLi>y1#`Mu2%;&C*Z*&u z-{7{>sRw97x^amja>+9pR|gGkCIQ3>P(gNqCqHfQ^Mj`CX7GH)1FGcQUrc$Wz_*L|6eqn z`E<50t!R|9Z-YJpq9J0}`xc1JFG9V&DES_J+q1v0eJL9%kN)3Jl)r^x^ut{9VZXWR z@E<+A>_}V{89G%om6LxA+P%Daj~%Bx21?ZTj+mC)K9?!E$?!_@oYLo)nZA@rx2nHI5T57fh~H9#4g!_eQKf`Fn$?qnNZe)z3J+vDTq zXGgr^^6iJ-IvhXg@*VOc;y^zpZ}^gZ;g07rqxrq$smzEl5_f!-@Oue*Mb}zZ`z@1U zF~zZ+1@dS4w+Y5okr}E#by!kM*|szNn={4o3&BH68`V+0_84C1UsX*Q5>!D!puoRs zoP0PNyLS5!GhTIu^g`DWsfhSDQ3tSjhOnN<|Rnbfau2a%I= zU7`uHmh-0V%a}YHLigC6MR*@M@Py)$=6#gxRF{i-ZTUZYrapf=hhA=xMdEgX(+voXsBt&hI^p$1A zfXhCKYVlrTYPOiN#3ruSt>YfH-1cvgs;V;ZYYR| z=HH$vmVg`c*{YcTiOe2_EM)Ax zZs`gWQ-QVIsp;YgG0YvVe3Hi|R$bS$xHyJq8#_Gvqr=J=KnXSub9a!5bEWNmUC4QsXrDS3H7=_eQN9`$IO&;V7OC%{sBGx z<1*~t^A9lkamG%cf7LZ~1JkREX$*Q%4UIKQV>5G&4eAct*=EFGC(VRtrb?Qz+Lzmw zQy1*pWTk4s9+;b0sy5J&x&hP=>N_7*4XMRJtEV^7O;0I&(FgVLcF)KV@`>r zZye4FZ=-Kjh?|Z>y1U-@8dU@;*NKF_U|PD5e}(!YvSq)D%5*51j%*L#Vj}wYaNH)Z zfy8Ap7ifA?r5v*o9YXUkkc|&!zUO($bUnd)g||Mc$<;y$k((wBt#4?l;zr!`YN0s%r{-vvOHXnI3J~U%`P$W)%r0< zzB(}pk=Z6O&(yfY6+${+;9PDD^Wekb?@w`ny_Q2!lR29`-dh?lZz+Z!`q_2Rbe4ci z>!qg&zuJtQKbeLhVE6|45_)bD8?0zi85^u31Cwt@MvsxZBB=JB4c6>`Xhvc3mCmkL ziZF;$G)&{%LG`0^1%jVlQ5C74jfW$@TrNTNQoxNBPzWaHdVCyRVD+uHx{HUQ7)o~k zLr?-G>%5~@@VyVMphJ3dg{dPz9fnQ;PBH#EmkJP6V<&4UN86*xU)!L%<~!cnc3@$u ztG%#ea$&p0Uj!+OIwt$tEnmmv;&!XJV{%EmRnjqeP`fp#WAfm3Yp^r9G-YAY;>zKX zRBZV8%~r@RPWZ&!P^dIM#A*q(#C=#Avi60Gu2^y=KZCAVQXZ+tHyG#Oue`+kpe<06Bb}y``n(!n_K7Tj($Z z^`_nO=M|hns`%*Sp~}QHkb|piaiMiOtC4|4Ha#eYh+(O(kJdcB-~+ zHZM&y)7aiJ+9vfoA@hsjezCOUdfaJJ-4MQdMLa||R7(IdpeAjH)W}gH9tgEV{FWk2 zz-1ArPmj3h#4SQseJ{*Q~WOEr$U%fxN zOV<-Kgz+ZzG;`l8YJ=LQnC@dpdLw=)rOP4Jbp|KUSj-8j*0bL4)17Q3op&INPoIeK zgcee3#&W}Jpqp|7JfX3{I(6sK92v3bgkyKUB9ra>Fw=S1@|!^y#w^(HM?}9f=8x*z zDx_}WT9J!F6D6BeDMMK;S5!#7d%2`&e?Uzt45@gvnf@`*f%C86g#-No34WD-w=}6& zgy48g+$yAAxZAsXvbfoR`}`}M6fHFF%2sLGSk73F)>2;a=6y`)+7_90=OA`J1?ur9 z?*-bbwu1iTw+M)8&D?ZzGTpR7MAo(=4OFH+F&Oervb(G@vuw{}1(FMQ3}PC|$j^*W zuLBTbBSu3C6e1X=>H_rxiO10h5_KV907V=!YOcSh4qa2tRaO2~r%0X9FLsf^$Xs}| zE8aj<1xd!Pq0WT6@9pYK>kPKFN4E3t5A%1HzwHnDL-cKa>Tm1eXZ&Vdf(!J~WvB1H zP{eF(Ungs{VXmr1T~TaW-AkkZC=AZGHF-EJ*%$3_yPBSiZ99Ri{jCBTf^1BXQOOj| z>lh@(rw~1<1VEQ^A!k}~dfcdZ@g#rZN^00mR=#T%P<~}d+POlmG5Wh1EX0BAltD<9PNBu)Xo@JEhdQa;$Gk zvG2Gf@B(CL37myL)_F>l)s{W=)GT=y^Vv1w=I!NA*Uc4eE&AOfOS~uweMf?ln|A zx2nzDs50xFBqW#PbKP~a{UG0HfC7k_nTj}{9~<#~zC7yuL;HZKSzNXF^SYHXSq)pA z&sYUDZ=^_740M+9gqh6{TL*h;8!v>f`TGF13ix~nlG(1L=Lv|2%Cw1Qud4Rx2}5^E zuqbqsbo=N|{j-o?vvqwQyH7CBd^-ludiRA#OM%BCY^UKnv79Gs97}N`t9P1_kax6GS9J%S-M3zA!|qUDl9nCO?-vnjRzGMY$1Ww_(14)qAk5bY zm3+j{M*$3>SD79$o<{AIrUT_@Ku~h~lYfrTLs@X(y*^wcm$jVo;c^HboYN@VF(}&+ zScfMGNGB}dP8e_pN3VxU;tNGEb(RRGo{&5=GqLDbyxc%OK3E=^&&sWhHnfpHjfA+F zBRl0mCRiCCoZKQuPd?6mI444{`;E89vN}q6w6(Q1Xr%hW zAa+FMZmh&f5$E9e7bEHLTIpsuJtNTIysQ3H05;jyXZ;R!hXQ|VjeZ0M+ckBii;#r4 zyW(D|5x&6J;Y{LuT0S$QI!bNKf2Ibvn}`R|r}4L5LQ(%i@A@BkyR`Qe?h^|w^rToD zk`r}AeYGE2pVSfF*InpuZI>Hjec$@nIUB6DKepEwhy880OU0;(;t-sRkk?E1bDOIC zoq4(hn%lo#lsNotSL;q-*Ix3pZT7cXL^yR5gqIMM@>O9 zRlk*dZLgKw;Iq13D~=3PR&rxm$E!>Ss_+ z^8ro4XY&8$pI2-m2%RO8spM^tP4-)6?;dQ#AFM=8 z2DNJ#2Dl36*BnUrt+d_8hgCSgy7Rh#7X+|Im*4lT*Vd zgYb&w(aCf@B}sBJXls71t#3gjU7a`eIAqowrA(bHp(a;%DJT15WEme_*N=sizyI(r25oe}{>zm|R&w7e563aE9s4auT0*Zd-y(Z= z?RkaP+L5w%^y+fUeeNN1ojgFKwRVV38guDT^X3KBs|QCGK;v^kx(E|7$Cj>+ZWwlQZaKwi2v=^aj0=-B$jcol{@MbhRVoHV3kw9`frSa>)Cr`($2uGISt}ePBJfbdl~hW%h<9V_M0`x4%#3V zf2yQUyzq_EE5Xs!j2}ra59mnxL8@yO_(7>HUw zYcj7Q>>7QjieAzeY5$#8M3SeVS>5ni&JKp9%w^iFu0^~JCH9Y-)Eg!Bh{lgO2ysu> z`yQ_}45fe#L$-zXO-)x&lXtBH*=OTVoX>ot$Lnv~PaGJ+d%zjj6-##j@QG3-f0ygs z-}W3INX7h=A66{FPT+}h8iu-JN8yZ|1fz)4tnQlk z&koMaYClzBn-@ z*_ad8{y*B@1U#zpZ1_(y6Br?I1{*YLs-s4Ygla0(CJfd&VFG7hBH)5pt)N(n)mBVq zLQvF%NrcJcRIs+TZ~IlcYgcPkP^%_v2_U;DxFT+6hzoAWV#)WrpEEO=1kk?UzyDlU z=A85F`*ZKNsBf_Fh5_PN@6^dMYfP5fi zQdvB`;NHyHnX(z_>Rm*3{j==b$Kmz3cm6coT&|H;O)yd(-2QR*?BO{_%_n_1{h@E(hf;Yr{Req7^3iI4NaP#0tB>q? zP;X<0hQXgXG(74Pg5Asx*HHG-7!N4+xZ!*a%-Oqr=1E{dV)aW#$`Yo9^k4!Z zl{D2J^`bposKK!nF01_wxKppi4&_HqjveY(e{AfKXU-rsreJ1Ab&ix@O<~Dz$UYi4 zqFc42-fuKN#d?X^XkYwUzvLOsKi4mAqggP>uc6qQ6PZJb$n~NSdZhq{r=tQ;1mVp$ zgP&7p^K)9%K20b(Pn=#wMNTFln`uP zi|EIB*pyi#m{mz|;e_E4muYlzq7Eg0DuDXDn(3H;P*TRvuULaYx*D)!GJ8dSyKVCF&8dlO>Cad8Nj8T z;^}`~uFo&y>GyT;ns&$I_;g91X&u#a0kO>T*Y^RZS5^j)@)0Gx zQz(C0K-1ay^gF1wFi@@<*A_%bHbXi_jyAZtAWcF>b^uzfUTLjJ2M9EEW=FtFV`=T6 ze?oV%Isy(rrYW{f5(32*wt*ZirJB|Y16%H!e7jDHkWisbYka8j3C##{jL#S?vlxcP zCsOR7D`ky6c5Kt`B(+7pg2f=CWt=3qHE)s8BDOg}62KjX7Uqh*30a-?Ke`695MMI= zD~y(tB>&P&2AXPJbz)2|E+}eC;MVf@TIQuRP9ZY2p9TK0(P~p!dpLf%x3$ySx-0D8QulS*8``>?Fu@Ap@<4Y4 zJLFlqOm<1-7+{pjF~M3Fym_;gZE&8RAfXDR?~xWv)@@f%h(5#&P30s{q&gI<$cgkb z{gXWPkp0)$KQfp=^_3B8So){PsZ{n+&{*p3H-{0%&B*u*VgqF{1##G0Cq+q zRAoVrQDIhljoLQ?CcqBtxP{g7u-aiX3oTJtor@^P{FkN*#}4Hg^Os2Y zXB|R)HCn`vF2-l&I9$jpiY>AC^SC72qu2u zt~MSkD2grbhO%WEPb58|?zW`B)u>Z7zb>ub+m7ov)Bmm!>z2<}cM(auS5+-^pJH`) zketlP-w-9+Y`)NjtBs{4MP_VyUWf^eEkD%dfD}rP0+!XZq8+s#puFa zFLOph5l3q<=1(Ca#dhieTRH8y1-dv@Wzn7}28V{okNAgkHFA$&P6SYAGMMLMP6C7}py)_(Yu26i4)>C8EaO`56MGmf zWQ)E7eGwu|=1Sl^$nbnP{xM`CR0Nf*0ms*;!|J9^>djrOdNp7zP*qz=>wtZIi<;r>MNg&ba{A5oS|OQz4kefRdd6T;w@jZ}iW@>i|I zc#qk=t)=buyzUk0h;X8W2n?Sf9H}Gc9xKKT)kbyDg>t-mga4KKWnsv+(^W?}UbtEg zA%{z=;kC4mRi&j)RQ>&~laOGDy?&^>-S0Aj8}J$KR_$HYm20bz~=W)D3z6S2(}onMo?-_sV1h!K<0? z@Wz}O{&jPvsTF1IrhjGa6qU66H~AtX(wyi)_6hJ8kYI5jk(T#(^-*e0Uz?j8ezw3EB_6BhMiWJ0>HWZhFPXMUmlOrlL+qJf3OMJp`$3%%% z7TAha^II)x#DswC{6Y4;Qcp@g8Q_ptOE-esXrnzrH{w=q_mAtrKPgGFWlM%#>OrwIFc@VagKnR0<@(B$SV{NyD5yX92nuu#-6WwBh0xK@>4% zAu>Cne#ddCLes-|>pnJAw$}P=$4PBxWz?Q5B*}I5l3j!0@i@+f!@1ME)$vo3w;q-^c83q@iIdZ45&y*^E0ohZak!-} zr!C8^t#+W*7II&}I{kh2_Xms)$3yt1wQU3 z|Fh9u6S)gPs$zFUkeY~K(EU7Cv8kR7%~)A?7NQzlFyk7+mF0COTCoOCcf{-30NmvD z-`z+BwQo~g>xQrz*I;rkp`nHj#hTEJmqV3>opW%FJSJC)(C}rOH|Tobs`S=>0@Ad4 zTq%S~ZLYxoM=6OK>q>-n?j)BAhw2KW^}Q=(OExe9X5zA3%e5t}+?xUm=ah!F?hM1j z4FgPy$7GqMFf;RjE}3Z@=c_Nk+@UW$5hGs0+Lh5PhFzSwd~RpYTqbJ?4l8F2WvM|? z2s49AC{3z|G3EkRJb?AwzJGSKqCdF3@gf>83=5 zPSv$!6^jvMOBDkh!d(oNy)r)GE<%_wpLo>M-V}D}t`K)BOlK!*0wkV{59*XRC1$)=D5zfOW2M z(}U`5bL*R}Yb~gYvXJNw>s3VMeOB4>kb0R5DD2;98RNEFTi>!=H%$_?Rt~U<5K4q^ zXbJ5ufG(&NA5eE9;G&58t+#*p+TfhVXBJW-VCXI>SayfeVgddncf<8k6Njg!&!Urw zDc#oT?2)pMEdL%V+ar}hN|b4JDqU^4w%IqnIylFSf78mHgGO3%Es=@^!jYL;y_TFP zN;+X}-D#C=vRst;WwR5b7}?xQq%OU_Yglj`K82kj|MT?)0v#fJ_1Pxt^i47~dcvpE z$jhf&Wt5MHtK`kd1Yq(L!2`VrghDJUQzTb~9fMk7=I|&|+r=%Hi!%f)kg{{J1$efI zJguDC3nJt`m8&#`Kig}+!bz?`T{J}ZFZtr?6;6(Zjexts3xKq0;v7#yR9xye{cF{M zNO?&8QwB1m{`@l@Rf)nOo6$aVh|x899Jh^pWMO3#n{@|9DVh?Hcj^lsc1HwH3;PEf}fZG16ZvB2F~^``s7O@5UA48{JuvlRX@#Ocn1 zJn7DJ+1>dGVNSW)w?w&&R7e2RU9p3?^;0eNb#-v_2Y7kehs9guS;Up*jnEZ^3@Y|3 z-m((&Ufm}ps(vz#*_nV`Qm*kgDy%4<8ud1N+w&!6sRHn;X8mgVC<(%G+RGR5``1Mu`PE&!lR zB=9qnusrsC-3MVHU0oE6Us=>Tws_%~V$ps-f}f`H41>RizaadHKS>4j_B))!LP9vK zEh1*4^5STk^k|n@vE{PE@l`_givZM$bf?k)o0@~L!CoP&Y_Lz3^3kUbtJU02Kx&=# zE87|FcpXO+@U|8$1>Qy$f^T5#F%>+4pb>gd<1C&Q&q+Kdr8wv5j`Zq>Zq2vf&B$=1 z$sz3XY%M5+{Jy~7RPA7C>yi9TO%?PTWX|f|5PipK#~1jU`qOta?MT~wQ9BX^_o$EB zU(d4(q!tlV-WNGLm>Am)NZA18-YU@OREPOFb%FH6O}8AP;PZ34m{YxYBgdr|E_N5) zjV#_g`|cN<#rygoX?*tLO`i>p!AQ9j!s-M|-Ry-HlqhM$yVS%)!Ea5h(xT;pK1;|w zUJZX9Ci|-D=J)WnRcc{kLe2F?ZbZB&pMVO|c(~tqWg?3=MWNz(;n#F8w-25nK9_Sw zA-e1ZaJxc)9YF;XR-UmG+R^g7nHO9I0dD36=jKG+GnY-vnF*;20?AD1FRvueCOys> z67%}!BK-s<0YgZ8x{RD!G$}&`Eo&OE(N_@fUfy&-&itB0fy%Vl{X8}ioTi$(fcj@R z9qQf{^t{u4p#(*bb>v~vxE%I(V~chFA;{C;r*!DPx5~o^wvSjdv(f`y1OgGXKWK%~ zPZINtTrp1BX`f8za7On;8 zAKr)sPY0jt5cV@mVSh)pya2KRXznmt1XT|LfYc5NmQAL+O*;u-_BM5m2?K|KgqBZ8 z6y9UT<}LCbSk!oQbp_s z%C6|)C4xD5SWvFcnM`={K7MHQ718shB@SJYihUF0tSDS4ZD2|^S;}gVJNt(CU~;mS zS@)h0#;HU~0Iav!gsf%xf26CP@h8s>`-^uQWU0G;Z zr$APmj!X-W*_lGsGAY~DX~m5c{_ODaM4*S`L+d$cmJ%kdxuHa!GT_KlR*{b{i~KpU zxdB%_(lDqQsz8wtBVq?GG#0!=!{w!UjlAq0U^KVt7g(ti^h-fxUTk+^`ucu207Ga_`U1|9&WVCUl4)VYlD+EC_xK# z&|-~p=@QP7P{HRoG{)n(RMM8)w#~ifD5534o$J3(2F8dvju= z%(Zp3dq55}zY4Ny<*su3|J%-z3D`eC zhp=mSx|vJm>*UtOuS=b};lG!Vf^__Se5GvW1?>67Qk_n9IYPqOl9{uzB{R9uOl6@=)!4){8^9(Um{{`=H~_Ojbb%zT)D>fDn7+f*s2ME;^E*~JL*m2qWVe82 zuK2A5gpQZCS95rj^mD{Xb98L5WR|d_0j0pgI_)~zDV{XMj0Kpx*1z&t3Jci9o$2;3 zO98_f%izxJ_N)!DXMft2hs|wf?I>*K{LPhKJ3_fB>O&u`2&-#K!|HlA%JoHRF00`q z-~cc>%%{KrgpAj{sv5^{{_8sT)Tr&yos1Sy1h(X`l)uKX-!>LpLr|isJ3iKCBXL!bDNJl}nChXc4LVde^ zC&KRSA_AWm9@rLyp_U9o-)}xZg{r-5zvZ$+YE`IgrEnSNze#BOZisW&mH290J7Fpr z3pNqvf5BMLDbKCgTlOC`nxEuD4vSJ&Q+LdvKZs_s(DYg~KE4p3>0|KmAxg+K}nu)z*sEf}=Sqm7dIOvs$jgN5KIrz%4s5^%0H z=t#OdseQpan!AVMYN`Rcz4k$D1!osBfkL*%Ax8kIxwh260ll|PirAdufL9!W4wSuQ zkpcE}E7KFbP?mMTQgLaGoNztza}yfupXKVqZ^9(|N2#}f-OQV8t9d*%XwX-F8L%y2 zKMZTT=bXr1ivi;CfBS{;4R&oNUhnsep?ksM;8{OFYY`n5S^N#58T-QcyJ5h5g!W9G zy&9Xt&Zq|g%}veUFp*ZOQOliiuW_|~T*auhh17BA@u^}M<6|nqe%!s!{|iNlun~P- zA6DQ%ZlskaK?rLLxn6(_Z}~SFEt>nQI=1dK%Q~!|g}`4LO#kOldg{uBE&xz17B2Cw zo~GOuuq2+he-8B$z$->SF}kzy*8H5viL}>(<4Xr(D|^p7F%{9bxkKJcpPN1SA3$4&8PEfk z7+UZq)(vDb+ly>3#x_R0G-7Y%G++I9R2O8K>0Ovmgvq1|_i&rq0@RYyWAFMv^Fjx} z-0WWMpXRIG0WC5yv7&4hN62;d_dXGNgt$MLSRu<^v(5lD$H(0}B=v7)ePjXev{CDd z_c?pCs*g5?Y$};(Y$uM`D-?Ixw4r!3Cvj1!z2Xp}XITHi&hPQ@+2ES_>nC#?BZMEX zD-r^O0N$@!Vn)&OznX0c(0|CdOZ2%-Kej}T*r#&NDDGo`1Oa`d67@Xj+&)N;``qIo zdWU9oR{PuQPM0)jb{2G2mvvT)h*EB#Vm7i}-OFWkLfz}4@9HGu)yTG%EzuLfWpl-X z?-VjkD6${*YZVjQvH8EK_zh4B8p|bCn&a=r;LKf+Cr-x(d zA2Zj0l+-?Vb)tZ>QTLMAHd-JQC!ZMB0j>R)rtzDw{t!oYOk$P5(d#J`@m#2=;5*d0 z4pDKnDk*Z3FimOcxamA;>9|=n5QUCme`w3>9AggWgYySGL?q0^@uhMi1><+jHnEZ4 zuOxTjf`tSak4=I6u+csbSVp@X#5|YNo5Lzz-Sv%7{5B4??B=i;PDzD8^IL}ux}#Eu zJCQnX2uVGCr1c@AI~S_#q0F5r^1xGm^hNT(0sH(+d>UryS<7Idh@yto<`FMpK}6IL z9-?;&narCKQ^nM*)z%q(PZC_D z+}pXy28b+4RGhY5WkQd?%&eH24_~vfA>SQkwXhBN5AYupiBncOw~dxe#|8kRRH4Mh zMOUW{#yq}q-npLWbycx> z=XwikuNtd(S}=3UI&j)i8y;JE-MMb#&PGy>RlJ50Kaz{XUeCd0svpUSYlB^P%3Da? zDUnuubZ00r??MRr@9YsVC>)qY&*&O#HFfCLiQRE7z|>db?@p87w~R6GTbw2HuK;M! zYpAr>73{1sTh>q-eif(@9=tu`fb8!H74|TBnQ?2m7<6tB z5aUChunVAO;2!!-3FLrb#2x?8-vfr!^#ZmAG!`UOMfg0dzLY4Bf3mMu7Rz`c2f7=< zjEbsM!F(1JGgQziYlL0P8X<&3hU1`GjSr4h!TFw$y12p)vQQie{P@7MV0}ysU#HfC zJghV>QSRUphw1%8A5C3P+D1>$UP1Xf2$ZQloY@iBDMW_AF6OBtU^871ZbDeKP`p6` zan;V`*IkbeE|S-xPZ@|5^J_*g3i{*XVkBCf(r`Z&zD8GtgM(GrUy-k2>92hGDh`%~ zXlj$xGF}Ejp}Q{2{{_g{;^aktY=MHS@wE#3k5FCN$D+qHAyFK+)ZEgbD!E^%9~Y^@ zo!sy0s{1|FEiW|y-B(p$*%gWxTUwJ3_MKrY7%A6KjJM{&`pw3qk2d7f-RV$B(B_3i z@_o56BuJD^^@~WY=$HR-ULv#jikvS&Ez4mUQO%bi{}uLk>2vZYPU7ibjPqC66_R+C zllV&r1Qqr`N$e*vg3_~O?U=EHhob#sonHAcmTHp%&S=hqHInp_RB)iO#s)X81A)4H zU0zNuNXEQdU64a3Rb-{#sR!%eA*1dti3y)Y$Z>fdFyld}np&AZ>*9XZaK$AZ*6LJbEr>hh}a{ZIg9>o_5r z0tol;r~8;5r=TCRR+48?kfn}wLYgFGC?P_SfV#dJAfnVBXT$6k$zfAn>;-->nm^*h z$uW_2n0!OxV)mIv^P|pNfzd2B)(IQLI+8b8DxaiRh|o`n8xX1I*BiN77Ronew-_xy zBQedM`el>vmwIm?F-zH4c&+4Wf71s(5*nxt|5w;=$uNbaZm?KAaKDuhjnv7&87(3L zN|(fDM2Sdq7Rxt=$~M^#7q2)4OtUib|*4oN}vF3pIEL z>k03&?F%7Aj_3}I+8FT!)r|6BeEOuI{~fJ!xw^kx`ml<{BNXNg3yzb_{fzCB`NvT{@P`E3?Kukcd^F98Kd0>d0A;L6W9`nsm00R|s z-Ln5pz5h*L*tJQdDXmtTD1s}pGrJ11zs&A-8G%6ZI=UsArgD2|fE9Tzlp>3;Hqp`z zM?v~99h5=$MNPO=-}GB|f{frItdVl%xsWI1oZ^oTQkE@8rW5l^9rL6m$-t>U|4=S; z?67xWhrOW`K>u$O1<)5e?DO;+^nyhGWarh(>zU3gfMNc@izMk-pB2BooPU72+XDjm ze`duUA#cn7S#Q>$1lzW4q_xq&LOQcoVuzj`;>H6!_wwA`}MsJs8 zd{U35Y+{;&f2Ab$gcU6=nFP!e_!}g|K@dEPMu=sr03wh^?B;wK2XI7C1PrL&!Ax$n zFQ+Cbe`-v{x~s<)i9VrPAkh~&PoMN0p*GSoyCKp*X?e z>}Z?^T{wbh$aPqv@=|-iQg`VU!S&t5lvm?t%Q=)WGs@I+t)r$Hxkw z&8yJOTb*1A%pjHSp>;w3HRVPus_)B{mOx_+&nzHC0Ca5M#^yD7xauw=9(!8Shny(V zZ$h_@4oa_6t>&Empa*8!vz{}K|Am&{u0iOP$$!gbE#m-MEhO)LAlU0;FDAjZBaLsg`{|0XY99%ZM7yqJYH}ch$b3$d)=lj-pZ}jH z`11Fi^(T;tt_+_8MzervLiVHmr5U;vB7aafHQiT^7iW!KAqv1VMQ|Hwat3gbGqBlo zx+AVRRNpts9)OsXwHwyFC#_kXv}lcN0vW&bDsg-}$|2X=Edq0pEcl> z$;?`_75}w0yY^jYG6XV7kE5eV;#8h|o|@C+k<|iR7|7}KU)VKPss*5u(#4duf>aMD zq}$X(gFWKh_K-UcJML^aiyU`d-_I1qc+0rTsir+&1%m2#CBirkW0=57-YJONe^LwO zuqvHHbw0I#EM^?h2@ueO?52^vEcheQNDBM@sx%ougCN=QizL4PZN11TJ@Kk$wmq0S z`@k0A#~;=A50CGI&%O`*qv5Bt9Xp4P zc{s0VzxuWZ$XP23XECj=foZjU&XtKm7*!kXElt7zi_GlHC3-RGT-d$1L^UsFafv2s zF3~uS;Ql>aqIJ<_T_L3m(_suXlJ{v+OtiDZDKu#N#Z1yI%bl{?L!4-k6pR z%g8b9M;-@GP~}8V)HF5k&GdI_fxJnn;(G-0=1Dcdvi6ij9_nzWF|I99m@A!qo%X9~ zSa>gFo)QxP;tPKfpGXhThb~ww6!S+P7HtM;fEM|ZOTd$&qh!l;eFU9T1k{YBRqmNc zP4Vogtww+%hNn+Y3}C`6!ZT?$%;umL}1!Bir+ zmtgoc*YIj4Obn(iH(CPnflIO46U4y$aKGc~H8K#Owf}i-$=GXu>|d!OG}D{rtiZkfrrw~t-DPBZX@f2;@)%!KTxx%|gWe#}BGEeFZ_jC8YmNZg;$i{7f;iV4dkA?fL1VenC!s zbK3WlPTo*g0~xg!@oDYCh?c_EVIlS z=x}6btQm7bCq!l9+>FY^7+B%Gm>{f$4fext(+Hj)?bPg#?J3#wj+o4j{Gkgdtre8c zYd=dWt3&Ic=(vv95_$4x&3IBKj~c(3sWH|j5xpzzQJ83yvZ%Sisd-aJObU=c0fU(I zcjY}E+o^xw)W0^rpf|I4P_V1heZuL2)ZzAsT7wf zC9Ch)x#_jy?cb1y6GiF8xc)UcUYwrNOFBDJ7)-)gqL+xLwn@8EDk(iZ{VCa`r$6Ee zi)jyl%|< zG=}+BS(|}0Y!{@_{`^&aUJhg|HC&YJBB0NHnQjj|KeJHvZp%LJ9N5Wg z*B{JIlfB*rw({9OgyMhX{U-4Z_UdmOJ%4IHy|F!$q<8sE?RwB+Jw^15*CRaR=<#|w zT+bf0d_DW8XXWoDU(xjL_Iz2F%_WV%5CY&?DrwJxxBpBIFh&@}fGc&A04jKfvegXn zV)~wVzG*4I{zE2Ge2gD@0*eKsR;8_#zdP8;1O}?@ok1&g>{+7Is0&y}g4P;TTdM=2 zY!|PdWnqNJN4mO{b<78K5#OmW|3w4Dd_-$askQYDtMZpRS?$&2^@SCy<+2L2>KsdS zz|Cg&#ZDEoC?MSjfJEJgj%&r6^Q!2n*%67mbSLexe?UKwNVgUL&Mb8lzpMcZ7?2Jy4O3Md8DP4e71J>9tBwAe(%S%aUrtUZ zUA$&`Y`;;jzbElsR#U3;07J^OX{Xj=Z{8PFok7tWVOXU(_8&2BCrd-;JdT`A4sBc` z4>~YcnvqUE=_N>YmClGbd3Jduy17KgKxliVdesP#FQ{sUi|i8fl*#`H`JMiOOy8w5 z$uL1V5qoiqlJ`n!h~PeXc|(OrUtwcBpXzq}ry zPKSQ&T_l4e8hIQiHR=--Zo|;q%PHA>CWp?~_&@8LdZ^U2^#cKNE2KY7V!b5LH`ND% zszdvbmZQa|EfWKA->dULAyoTh0*7ejH4$W4q+Uxtsq;9+hAW?vu@}w5^eX8DM9x|z zA#m@wK+UX@a9pRhknquM!i83N#`T^W^>19-MJhw>@3^qK-5nBDJ%tF}$o?Y2Qz!_< zu-8PKV1xaA4S?66DDqx(tKc^>2%Hwd`1Kz3f<5BVJiV+XR0N4+#iaXpj;Ikao8{Jn z$Xnz@F{DF(n{^3-WZ=itr~7NP%+P0%uq?`)_{U|GLHtp`M`UDQNTe_(l1R2U>sq$L zb5{!s!5*;&Uui8T4j_5%zjWEyAC)v{VaM;%93Borkz$t}Z4o3G8V{fIDB&TYrOs!$ z^B9>5t#CdA&Lfx#71T`fG{_TvR!xyOfyV}0%R(kcFJ%B$NYxwD8%C&ec0B^0Vk-U) zy)A0I_6h63+GIZM7haGVb9S6CU2t%5uO{gU!C)8Cduf4TyykgP4iceZ$R8?ClY`h| zx`OB{-Q6{=_d{ie7_i4F7o~;|IscijN@U-YW44shHk_@PO$O^MaG>X z`(C3ywG!3duqvIPMxTSMpQy;D%}Q?$oxVwCR&aX}t3^gu-M9+FEy?nkW@U{#T7b1l z)MN6^)|G;xv`*}2p7w0STiyKKevtvvf06R(DrjC4?We;?gMi$nICz8Ob$O9}A8LMl zaL`;{YVX?2qzMW-d9_?)ylj8|pmYe2y=X<=#F2edi6-(~1;!_>?&%O7cljo*h+4l_ z?fN`~ba>Ez8wN&BWi7y^?X}-8am#F`M@UWplMqvVDg#rGsMf#3iQ5qK;KV8DZ#N<9 zV!A%jCSamPwKo0~iG5mbTW27Jn^U7+k@FMm|0VK;)M!`Jg>pO^EklV7SKfsE@qxU> z4tnbb1uOo#Os1@PKbLf{`Fs7M5+u`TG`}rDY9jpBiQZ5LLqRQ^NV45p$H8GYn^#6h zm}*wEEALtLpwwd+|aHRzuhsC@y$ORdkDqqZ5%_fVvs zmGi-u9{2HOfAX9_oqJ?;4?)m};}RlVfSZrSkT+s4os&f^rdh_p6&u+Zj-M~5goRy2 z3yVF27Ci>@5q^+mA(}bjJt!%y?g0z)beZ0s8M)vKf>! z`1t$wZ!?W>n>lK|QN5a^lc>7zwtlMG6Ca0E>Ae^LlW`PdAS&02!*Me`78_rg-guQa zlK?P!)Na5P>e9>grhswhBE~g+B4?IJz6rbdyNocBN(J;#1b|_`A=(-{=!sI`&=Vgu za_k|D9u{~<2N(WckRF;pN$OhkWsT7ZXv|-edT)ect33WWf!aplOU%++@RLxi!xQEP zo)z@ZDc6%?%)f>Bgsm{qVqH`lVoi#D^yhrF)4JRnXCDIwxX;Niz#Y|N3}TE*mKm0ltEcP?8Yo%gG)1}AGH}L|L>ZS zZ<`b)R-+r@PubGe#L##Cnyx$kbk;zWr0RZi!_kJ|HzfaG3_(A86-6!T*>jm4_g#p^ zFf~W@L_vm6A`HV#kph{j9C~v4*3V=eMmT5?M>^FcEk5aylzyGM^qa%14CRnpF_ok;f<;RX%KKXb3 z=}YsE`J(*4`SSd(p8QsCT5pz(+i*Ot&nU!CI8Pk$6AyGFOEyA^DUO#33rXoxI|$b(}DA(4MTKA`ehadRi1A0N+W+_ZVMo!31b<~~+Zj_u|0BzP`6 z7ymE=WCLUWnvmDnPvQ7Ud~s3d|3h{chBqAYGlawp%@y`-2w^YG{)k9IPR>(u=&&E} z|1FNu2zXo&I{PO8nw+0Pb%7rZj!%(fJrbWIdTP`v(A5f^vR`gjx^4q1)2Vb?Npby~$@X??uUfrrtHr zf}3=Qv6LlyK!8)9edrg0!L$V{04v~t0Mm+jaGdWnBJcI7v2;S-coNS)?tkchg>-0c`(M|ldGzNxarZ{@d9EBiShD0j_0u$ zUqAwPy76NSCc%T9UadBT)f!{Ii11>|!dx~GeB%OcopM+LkRMd5lA1EZ~Yq zVjeD4cX=JIsz&oDS5*NXBS{gI6cxOTm6uV`^H9Q?T^m6jpvYWyBWpcG zPx-QV26#^5$rMyg<;mu*n%;GWswy^@U6o3jN~x;ClF&&%NmX6S7vOZ8D)3^-n^W41 zho;XNWX9UuX2K1yzr0??9!MrMqYaZ<^<~Jf;--A^bzc^zAE zG0m<6;<5x$Pb}7V0f1Ji9feDfJdaQn8ZCs1vvdL^4(%&gKxC!%rSNv7MZKI{O`e2k`@+>aft2{G*N72=k%&T= z6=H~^^of&ozCm~V8I&Ur#%S_B;_=C7G&kv&bB*RJ^-IWTK3~6Fj5I$xj!kJ%y(nSe zRwFk@NG!i%)A4L>;<-#5J4@jE)F6T4^;qm_%#H0XiCh}n?T(DA)61X`|&7 z3Q~*9$?0_CL+Qo<9T?68zAS;CQoCAgWdb`SaHlk>NguBRv1q=TPe+@k)Lx45-((vB z^m_cvc6-nRxsl_z7B=3`lF>tbfu#7APSG@pa%WyJ06Y8%De{6rm|c$XMusPzNM|UJ z3_l=LE!NaGUCM>hj;RDT?G|6wk&EeG1^*{wa-t<5MKrYsbgM6AG7?C>C5JhoV!c9+ z%~E@gglhAQP3=O@b3(6?P%-IlJl1p~kC|K?vv?QNv-19ZolN>N%l?L>-9m&~EJ_Vd z2Y)B+eTvUzgHp4yGBqoI;MughKcPl*3-7e|M*c5}?aqsoNy8VAi}liUF;8d7I9K$b zXaC5OxlfkNb*UsWbWW0EDG4&jF|w+z;u=VrM5)D^eyPXmE7Bl2!PR0PzfLO;y-c7u zU{s4W^-`xyN?@L(QH!T$lDZ_n;QLLx2h;Z6WBr`et`-ZG)G2tIl<~9^Iy)2kjD$Ym zgwD!@J}9A@B%~Hk&xHP%(5^dTk3U3mtmd=fbVl96-y(3*HRJF-RrUbA{~LR*Yi#4= zUW&>=fE@T`S$Y+%mW;zB<9KJ-U}(v(&Hp_ae~&Oh*B~`H>~vw59A9bAhp%kcIEw7) zhatxH$U?@lbl!U42H}mh3ei@>4H>v1Ek6kGAimX};1JA)4MVYgrM2hAMwLc~adnDO zdAX^%$_luZvG`OqnCAfJ&ejrbSXErXCBvx-(`t=08>(`f{Rrg>B~@-@WL`>I+UDkc zwq3+ud_pgD2cd~C_>ecAcPDw8Ps&(<_2Pit@neK^`EZViX9+fzhD(N-{&f+^*lyex z?Ds?l$MzRRj*0E}87+U3?9F&7_%$y-FI&EOpW4L!KxddDgJSD_ArYKLcQ^73s?B&e z?B8y?s*S&6LT7pZSQ{Qbce^m!$Cte31znqh#^1MK39NlrUTnV?mqcnS7Dj13CZH&F zW_A1u0WpDG zjHEiyz8fc3djRU}NB)A=>=;kwm;xaauCsUko^P>`JrJJ)lh47FzC581T*BmP&m8l~ zp>O!gD^q#?a`Zgvd8(3f!-wUnKYA`>>GR}~g^65catK+`Pjzf98cV;fq0lSxx`ty! zuyUMk!$!MQO1qqP8#Ci0CudrHxo4&tAr`u3;$CfIsze!EV8(u7wWW3zz+yZ%sIbNj zTo~Kmj}flDq}ty(=OSb2#cu82VryhT_uA;UR-2w&jEOG1!h;0hfnfX!EU0cp6288~ zNEkJWw{n&uWzS8m-W91vb?(}~5p={dD;ar5TEvXGD+93EJy zWA{G&TRd(1IhsWKzYSHrlWX^g{|M}ItdLd+uJW#B;@(NR+KQx*iwO!E0Ni^pyGZBJyvbLTjzr5=tEP8?2v8nBIK7mxRW>mZJ6U1r7 zsFq&Fz#2bkTiEm=1LW8?r9O%+tn0r_D(ylMV6&57JVRyj>%16rq*0@NKrnQ|xlQE+Y zd9_0tE2l)u^jMuiKxw*DsNB}>)dlNyv3u#o?B#pRsAKlB$6)J5Z1A}4Uo;~jtp?ifJt5=W*XCtfPCTQv zsO`t>H=oLB6pq`6=!k`8*gyH0*( zS9(!nv=UYOWb1MAz05g*Y>Mgn5C$s_x;x=FBd_3dwX05JX`AU<*^Y8GukC6xmjySg z+GQ+VZnnRRx%Hhj{-mg@I&vA#03|=>q`)80nIpPQF%XC?t;ae14>vTEp(pKKj$tD0 zZ6|58C2Eb@TENOvma(Y|Eeb5Pzrwp%0pDof{5!n~1C9H!?*GXKJ+8_IJ!Fqxxk8!KwMDngydI5CIOpyR z`L3X;hfXM7Q$~L#qoPTOA2v#qrW2mu6Z(=4MPW?ngkr|Ib#EreGfte)0s(6J&;pB& zMho;NC(u(ln=~y=8>vhY7xp`cttIH%cp>~vQZHIJyi{ztuJEx5v9!?2a0#qp+$s1A zZ=U)a_$`S{;rHCgNPf$;F^L+ZML1E~q%GW5`!l#1$t5}jAp!|`R6>44h#bgBnvW@Z z!p9c}_7j*1Fz!nO(*&4vl6afKhk8%9y<3dht8d~wk&%? zhUS^N8nSs3;5MrZ(rfQX@fG$T4v+7H``pg7W#c~18s@g>Fe?~1mNBL{Al&yz#cIk> z2d+W*%aB(`f7$8SJoy-TaCuYyn{GITJTCt-UHmNPd*-PcL#20ZHrgI>9tAS&Om#!(Sb z;atvV{F$-Vx|h?O02oSn7j->SvXdsDOM$~Ptx$~E!9gk4dWO@A&Th0n{-;bAir_0y z1fR+UkpKH3032EoyiUK31sKe?oL5#({#Tt>Q3U_UD@jEW{A#pHuCCx;D}sM)!JVIK z`9JQh1-{X4k=ke{wy{=31_@{Jp!R;euM1umEknWG@*nK6@szCxzN!p8aG4GJLfz)= z@YV4|5h)BhcDTM%B#psfVV$=NgJ{|Y7b0!FY;e_}hFf0ae>*ZDqv;BMF~J+c&rph2 zgPTKdwR&5`Bd`>JmsQ=%cxf4Pj<*J%eLUM5wK>{UEEi~d8>_OwoH$dBo%jAAUl zACl0EC@WG@QLPRID<3J5%SAN9gB6jIa@Tt2Tdtil4LG@A14STUYeEKn%{T8Iu1>{eo&cTG#15V~Uu8#{uD#LPzdaWMcnIwTbUI z-CJQ=rA*1MX0snzX<8PpT#%01wDdRdza8(inzXD2k+IN~SB?#sLbbwaTo4P3JEg=AUZUo4pv(B!&cVtPn%VI5y^+?r%~txUQJo-sH?(obo1oSKubKoz z72>|a)@jd;m(B3&i_;*r-}_!d|H4t7yZCP)P+O1$j+`H##GyOrDM4Q29Lj@~eiJi& zgQh#LTtt(6@kyoeNyB+7UpQ&B9IOxu#A#@Xx8t8&Aa3Zm@jOgUPW|{M>h8XyUI3%q za|$&iDz}y;8oc(`8no8#G4|fS%0;m;8U}kb?K^*F|%YGzesH?sBmGG*I3gZ(Bag4^sRAY)5jwjybz^?68GnhJm(ykq3(G^)$&ICJoRyW>^gf%h3`jHvMMtN%(`@ z65EB&rhJ)3a0}{`D03>S$n=MbPD;mxiX=`g?~QLd{z85zh-KPe$Ui{+Ex?~1_2gIT z8PCJ~g`j<0uRVrb2VpGjG2}S$prgJ5124qrXdLu-atjW6J;@HoK{YH2&R}8?{D39^ zS!Kd>+`;Op^MESa*CTkVjb$hVm7ur4wGS*DJz#ZkK(2$Z$mFHgiIih3J#smx9$wDO z_-O3tJ6ym_8Lh}eyvV$F8LgY-?!1DrvAS2Zx)9`hFP&Pim8N&)sK}s5A*}ML9l{j@ zP?5)YCvuW3Sr)W*qGV20mIv0_!iADmjcKsdXz{!3ik!tS@b$SsQoLb*_YB^UsZ2q> ze?!_Qd8`B_e!NHWGDW5KrXK^W;*X0>CO8vF=!qZG+{DlrWF;rbr+~>Bc-XS|z0uiODVy=gt;>% zET)9m9fdiOb7B|fL1e)Gz>@SRRZ4xw#V&M3F|RlD?o9ZpggXW3S$MiFGkUHErT+|> z=xAUb5i?KBTZyq?7i&hpH6!%Mo7m4=?7X=nbH&oxwFKs&-Ga8d(eeOAG~RM{P9$HA zFX?ir37Q{#kDiNrOO}w)wm_6bnpHlW)$lFWmL?=sKRZ(3@k7mKTX?yrmR2jerOa@71#X3|sOU0x%!vloOJ2{+dqQ{97HD!bJZq zsb$1;L5_inZv)h=Gn-!T?l!v3Wj-RArcEk6eWO;<=Ju|_*c(P9keJ|%&DNbVbJMvy zE}Sa^DBF1Q&*W|BAAXh2`OCO7!PA}ignVkMh#tLR>9K(R@kfc#_7*Ms+NWfUbdqm^ z_Vxv8(hh-o!77Ow%N{^t=Wa=XI$5xc@aOUlaRm3KZ)U+V=ob9@i{qDnVSI)Cn=gzn zwdWrm-v>t?$|2ngN6vOp z{GZlOz%rHVUI*jyzpn-u_q0K?o!6c`rSbLLQJv9qA$OXp#?vh}r5g}$h2S4T?$?Z0 zv-=5(;a2y3EAHN0`>0+F>=}J$rj6lgg0-e6;8sH}T~_94suN8CUpYUgHrRih<19p< z+$}He)3gk+Y3}gBIO0BpX8oe%^Fcqw2(^8EeI~~S`vG!1jE2|-`&h{<$&97z?CR_^ z&6zasi($Ww>B8(&vQu51N!3ZJR7o4{gVC(oMoAs9l_?iq8Ty>q;onV5E3fd>pFV=^ z0?@w=0cKEvW9)11(4y=oq?{06?Wuij8H-8EacH3!^ZhuBM*q>nK1V3f4$zK=Pm^&u zUs?nW(JDit(BDx9B}RCZ0=@j%J_Ko&U^`#lLReV2n-xp@@A~6VHOc2?P!aDb1-)g?qY6 zmE|U!bFzS2`gOdNPMn3jxXUa+MgX%IdrKJaTM8;Q&w!p~p2#RLr3asDm(4a+`>{E5yhXL^2#^D2a& z{f8teVqfuT5PqgX_?e~&KbnNo(1(O0wcRDP(Oif^DZ)>l_z+Qh1V7Q_A`AoeA{TLW zi7iUotMM_U?cCnh##IsHR^l5nwB^F zQh%}}bv5-z6bWxE337e}{eRKpYQ&yL;Ms~_L{Bebqi(RvXq02EYhg3S9k5T*XSHe=twLAJ zYTw10yL_sGLN=~6tcIiVbYscXhjN8p$$tQ`1(CbF>m%K)PFd8FDx|7GJ^|N*XjV(F zq6Ohf=q1toNSBpS^>2Bxo}B_TYp*pHl% znj)k5S`Gd?sWQsBN1nG75rb*WRuGYS^H7yYlS=OeJ`$wN*}bU&Knv=K18}RZ{r{%{ z5G&A{j-vGy)l9I;1@k*xx-} z(|!A{T1U02uVp*k+@md}RmrE)6^7J(vf-tgf)LKsb95za4Ws#QjB&bA|Ibr)sq`hK z@_dA?`MR#-usQkfY|ZTy9#Rv1ns$3xaTe|Nzf*n#<%hABWrgE6^da8juOb2p&)x20 zbUAIYc$p^NLa~HMCrt=s5ATtQ<-M0(_IY`La?zCyq*yt!jxxm=&PgowS4jO?r{7*Y zU!Sz)Gbl-U-IJi=N;|4D8Pi1EBOgtv<2!vc^&H+};VE^v!Bml+2*hf2@+T6FG{E-vPLf@Jg?)1GNWs<8xDJ=N&~-(nL*qIrx~_m!McGhd%9DX+?t=H= zEdtq%nz#=?K<#fsL%Dg9+^VK8tVVANR?c+ab_Tzm+fL!P;I%6m(9;B-E9J$(9-)eX0<7$Kbts_<|(xh3{c1@?+ zKN6W9-o^1R4{mR-(8<=AkmNzBB;#YBBsIB+y}1m++LSW|#wd8|Fu zopsnI$p#KInI@^IilY`D6-Hk$+5LC=XC@|=+lz!er}p3|L}s}`X8Go%%rYkKZr8Jn z;cWPSjGfGob8C1O;U;906d|opPD3r%a@ehm_C-Fj7S;IQ=?%(W#4K;@VPwt(S4jC( zj8pn+J@YRto9rIoO+sXD@m#HEzs%u@%G7s59m|?}v5mIDep*OoscEmK%b~<&MUusy zGi`8Ab>(dZkzoX9njLceG}V(r%SEcmq!PbMa)O98;FNhAg)0%k?&9P4pGXhy;5)Tm zF|v@|H}H+paC&Em>zy>Li;eFdhD+eE<0+dKwO{QW*@xCsZa;l^ zeENLxIp@pG>GLJUyV7`c1_h11+mNAnhXt)pIu<+yBe%q=c*}_*_hq#FnYD%WaBGUu z@(brR^lhVM5wAL_cFOo`w4x!arwkg+CC+%Px+<6`X*Ap4beZaN2Q8ABs0If@0&AoF zDa2**W(9sL;o6W1ZUNTY1yrnUkLM?kr6dysJ{bRQh4I*BRaEA)AHsztIEI2! zSHM_`YuUB6v$P@8vgNK$i8KAr)=phU1p#DuCnI`02ZiiX(Ll!V4~!_wRpXO!C^eTA zlgj?^Dr~q)nP5<^&Hl?O>Rs{6DuS-PW~`%B4~l+ClmdaKo4L*)Gh-m}R<4Lxhm(av?K zfm!P-AtP>ooXn8>9KMUTtd^x;s_%2(B8LiM{|hy6+S6YjIbC1xg`{}cg5_DbELx}K zG^xNz+eg7P`!1BV+EMLeo>@-$>-#KOr{R6mlkm@d5?aia=LoiPS=ZS{5ml{+gAV1_ z4bV4ScI{$0OOE9Ke3|wl+VP+IKZiKvz!F*GsIP7KPj>K5EPj;BfaghlvgDDL5kdmD zcc=Z0o3YFR+kf?#v-uyUX$bITkUvgY2aXqSK9WgAJvKdaDs~k&ETVi(-_7vRc4+g( z2P!8VX1;i_w=aM2sc#?EeDON_RTO)su4n_gJ$dP9PAOXQ>sq2a97*uR989Y(B*Rfcvo z#~wrJAV7}YeX$#-wlnnk$t^UgTD3@*QUtHN3+2?0^jF)Hk4of-H(RjC@c^%(L_Hwd zBPC0CS7Sfn*p|1T`W7$_AB%Lbhc`)F4F%)7Rf&QM(_a&=zub)1gw2KLh!G=uhqhd@ z9X81`cLFam`y*}=gYM7CQMPY3KBO1ka5k`mln%Q+1x3Wi6!IoT!;TLE5Au&?>(#|U z*IW2oG3H;-i4ay`UL&w9w837H;Cw_)Xr*<;!?0%^NRxKI*|QFy*=pN?mzh)aDwwpl zS=+LMQI7~Uf&?F;0mOKzcq5G&@e<-rAVX6c#5zu8pa|U#YF+N}@2Gvxzau&mO<58f zu{r!=d8NTVe|~x=d~z47v!xBg4v`ZqM>9Qb28gGZ(sLY_xIdDb!ceiK`*QW9;McL( zGb`>i1p`%M8_dKMu0_UR_;%=M;@lE=z{j9HM6R+G!VR1+8cF`pyu)ALalj~j; z^1omE?!)*yTyMW8AuItv`M)@=F1{7%<#T4n4h)D6e)uX$vxYP?pZFmQZ@rzrlk~Jl zJQct2@E{5L6VVSt2wZP3;Vs>Ju2rAe-C?r9jQPIq?rw}EO3Ne1CC21&LCSk{@XV^% z=z*A0kGioyEH;5-D-*}dMyGBd@Bhmgs4M`qUf<9Rfqwtkhgp2A9RvPW#G}=uKYmrd(na2 ztF>LMI#2B%g|NKN-iiigNVpfBTnKi1L`E1{K=qvcsJwHUn%_zJI!>RdQ#0og(&vs4 zH=F3%X4ym=?S70B2c}z4!i{zbR%0IqAKz$S`>KqiyiMhe45y|tY~zy*1$d2>*pGm! zoE+tu9B1krGVzzzaxABc*DIlWjV|n8F={8E!v3M8a0JHzhbp9x_Z`xvStWL4s~qqE zMy2-IygI9?o10Gx)lJZ)KIoJ>HdAWR;iZ~ArM?O~HC5_X&1fC^`Fv+I_F?!6O}uQ;$77^5iLad#LW1XDe)MW% z>68;u3919qxp&*7VO;bidXvJt2Db0gqp}eI$5?uG5d@fWO8-lfGj469p#+`rmBv)Y zKTE~|POI-DpEH`r5bBI(H-;!FBakX%9uaCvaqNJ{ssEu=G1o~ky15r;3Ry{3r;sO{ zLb@8AhJ2I6vD=GX(el{szMRNK{0^$KsO5=Ng5z{8KI!0|R0S@n;9PRKqbDP=#Wi+3 znkTvutEQGYgYX*FbPZHf$hgs7i$4LUGo#b(VCQLPpUGi_I8a0HyW;6r(|5(;FopO_ z{nZ!7m)f^~VSI&sbtXP6{KLL>Y&qY=G?$QN*asXTT={!Y?EyXs3hOteD0U;}T16lB zLpUptlS@Ww7Xoka1u9pHBPdL_Z{zFXDd9x^5{8tkx!=qf`e(<(E6>A+&2cEKc|+Z8 z=+4Zn91=;A;df+U3lB#DPPKowJ+{;3>P*b#jEB_e-&ZeXHjyOg-xoB-?SqBw+Gc^% zETOIT9oSQs22Ce{HqwfyLn^BHAhU3*;P#JUNLl7%gZ&qI1tOzz?Zb9l^2=VXae*Xr<4=44~BUIFWSvM#MxO7QP8w)?i{}g@{#`$2$5w z2{|a|VHUs!yPCo+d>DVo!b;pBD{q7S6k+Ovkn271l@+NGiD-`L4R$-yAx`6rOylx- z%PMZ~_Ed3Bci!RC$?=N3>F#Xh4J}YT?p|sP&)7IKc3Td}^%5Wi486(NpO_kZjC7qK z<6l)-cy{EC59R2P5t|Ncq*|@c9t)p+Lu$MqB~s=GT)aY0z0vXq zf@BzYq=w;J>2@;=KfK);hQ|m~uZ3K%{9n%A1U{B}N*O#n#{1r)1j zTSaa4gt*{R1QhfCKIhz-Ou|zCKR#scxo2OVd(Ly76$5g7CJy}wkob;&ej>V|um_OZVI(Gt{vsUR2$+<_$|9C0=FZK6#^}#ZJKs!X>6#D5U za^9F%8NuJl5sq)j#m;N&VY576C(10(d4z^Q8-`YY!l%|NMks$ji(#KhQ?h2WthO5= zr?Nej@k}XoJ*BkIXky0$#B7s@J_zu8Wo5UQnWH2(* zkh}d3Gb=tikG9P4fEh~OF)qi9^hYZG1ee29%E@7k$#u4}f=m5dGEUUGGB5T8XBA*aQ={tlPQfB^0!+ds^v!2t=Hnry)KOjZBiISpiT7u-V&J{ z_04~!ai_h_9+p$D-X&-j#l;+(S;iJ^nC-JqUW;SA*!P)i2}^DUU^ABXO0wwr{r#Qt z1CPXYeZDd;B#TDBoSdc>2ol8EUItq&@MIA5{NA_~5Bd}^G6$^v#KABA+?iHz< z?qW0TUMdmtkKj&u@-J;o^JK}A&{>>>t^>rnZI9LZ3(19WOuNqgZWP5LA$qpz2-FNb zf~VE?mjW`nTb#1Zt2q+rNe?EkyM$0IgK!Mn8l__?D=~6Oyb*N=8P<<=SuZCT;0VXJ z!wI}P|DL{)aG{#?6vZS@;MFGJM-L6gO{8qSsc6}uAsKoJ*JlI!{o+O*kIFcB>BsmFPT-#b^Kb8^dYSeACA*Szp zms*Lf=Sky@!m5!H6aMO5`K^0i;-IW`pOSV2AY1O9%ZC818lZI%15A;Vc!N+2zl8Z3d|f0HA6rq@QSrmj1xI!+rxnutR-S`4%+7lcoRpM`=`_* zC*EAOVYM8un(`MXl9`GclQ*&%+HjX#q5&Xtw(2<%*8ql60TUK!6*&ZYOqFwjhT{BZco|MS|6gSmi3s5XaR!Y zP~svb7q1>g0D7&sw+;0^OLyt2FE&oP>8MNSrX&a|4V{yj#XUUwp*Z9IbXe>w&41M2 zF9^W{6qIT9BL@jy51EH+#a4CmJN^Cb=3~|cDTeK{>&eWww3C*dz{}Rs`{ccBGe@+R z=WXT{*>l>RD?f`IHjZY=>wWFX`+DTfw^@$exey-J_t0vPi$g9Y=`nq7)qXB`JV;h| z=`wzK5o2r+)WnVxZxZPw?`!9w=G+2RuUJB-h%h+x8TKBmdJ{t?Pv2kb3Ed~fgovjr zbvzMF=y*cZjJQ89X(l}qxTb)6Ihr!;x`k@bBH49;cB!knK%OE>DDG0#?<7rBPp>JE zxFUUFVJSsb=h~`KSyrj(X@hmQ=L0P{qh9dg-PEF9c-uoW=BoRt$gGZ*37M;!i9mSx zO00Fxz&GM%wxStxrRN&rwS=gHgs9*x<@V}wsqQ0NxNX8|m5Y)E}2l-(z9rvdal*=TpNyWpuEXN`A#xnzkz?&5_k(t z`Lk*(yaNi%(FNuh!`h}g3T)F^cY}lU{*j!@ed5_vPZ z&i8UXEV;fT@zUDWI{S&FNoQxJqNfg&6Ju(Uc0nrboPo4AytI>2X~zttZS>Omk(<^{ z?U8`#i;$i}6~EEnjnyh6kttiwGgSF#GY_j(Gyk>G_PGl%9q|-eK8^87MZ;owq4t}K z&gp00>nsnsgdAtR8-&o|`fayd%ssBSFO?P2U+5yGRrFncu; zGi4juGo0uJ{06yKuDzA(h^{SpDYa32Hs8eM@=cVg?|g@EPrzTlwL)`YxuoTq7z@Vi z3T*YzXLTMC?s^bY!5oJmrWtstHgB!I`OF~HG&5ZTYT)qc8bnVzY&!a=pKl&iIYg|C z`mt^NYC7HM6QqgG(8c3+F?L{!W3ZLbD@@rdNDGeP)k{qi>NR*!HBW7_03`#DP&Uwx zTN~uY>{s(M+A_YqN}Ws}dD>r=7)p=7m+2!9rgv?Ydc8?ndRD#66DN5)GM(f-MVzsl zdjY^FV~k^uw#*CD`GS<*gNW$~29MUFu!{F2=0R-DyW|#DJt1a_%XA1Q1IfHB6GT8{ zo}a(c#Juvvyz>avC+5vb%)6FQV`ARi#Jnh>MTy4+*b|Sp^6MlXmrX74xO^>%#~+X= z&nMQWm&-SvG%m*8^Ir5Szph^rD+GQLD`fjhtPl**Nvzmm9y{fcba(SmE67cX!8=z7 zO6nxzckoC~w-V)vx!4%$Ea=~K+ebL*%VN*sk*&8i;gNZY7Kd1;I=xO8=Vl73WUiy6 zm#VKbgH)4}Gs)n=N_xHO*pvx#L(4a+?;J6Gk$ROI=;7-3e2=Xi$TGNoZ=Ul9ni!g{ zznQmt(p?;yu2-Y`@aeKZstH!A*TtdbWwq4OjPhd7c`3I%flG6-gbU>d{7`3-1ysXe zjNpS#FYJCeqJ(uN?@9QYwE_$F9|2nY#Np*GS|L8}aBe3Z5kGfg>E82khi9niMQWw4 zW0d-xer{2}=8sH^V)puw$U+#fLjyp=(y6_fN$rE2m&`^!Hyfbx0Yn!Day8lV^%f=HXDztp&y6?s- zp83r8!yJ~+{6n7f`6UER7O8*g$Z3u0ZzfQ$woBle#pQ#m#QM-7s{EBM^sIV_r&ndE z`ktxDpDDxwNN4ik?Ae3Y3Fde>@C^9brId{%{zul1hkSgY#5HqSDH)_4U^U*CQOY98 zDAP_J!-0>@T#eCY^s@iLQtJ9MfHBk zFo)Lr_nV}9gX;Z#wwm%q>fItmb-h}iMGG7cpJ%d>ist9_Ua%( zxn3;iDW$*el@5{0eNUpXE%g=i_EX*vCLGTjn9|>Pi|-50$0^UVDe;++BqhI*s~y`s zm!eZ4Mh|z-YTI2PEf!NO-Px@ln9gb%Qo6IR|5RU>J&~L>6q6B#!12nhRZ}M73xx*` z*?Z9X%t=fUDFBEHih^$>6T0HBXdgJ>=|$_}xxc^i(uW zr@*SbPjEfNYSbfM>js1W4>FSDdS}9(hRTH#@zbOGf6HF6c*5j@R|+4DJ0w@ru#XL| zN4@?t{H<1(X0x|`S;SEzZtj^it~1u1H5QS@CLD$bi@{>Ev75ZWBqMaJ)(fSMWUGz| zi%KOt^H=coy-~{p;kxWSP zx{*US!nnIWo7+Vc5tJ?JZrBPU9nGp^kV$TGHZdts5Z$z(HfSYu1Vm<0`rWGDeDBlL zxE_a8q^*lU3BmN=f>Bi!=Y3VKDu{JICs&otP55=)cWqN%_KZm1Sfo-T=#&=W98jhr zPtx;K@HizD*l69eUWUZ|qH;#iS|TpN#WHF3{1FDQ#5r5?yiVVqTK9POvLM>czHRAo ziqMxQ*L4EG%)nxR+rslm=W^N(%pqQuV)1wC@i(S}#)(>?WafB*#p? z)-2O^!k_kcSC5ub?u;Poggq>z^L<+?XGEIv6Eh+c_CN#Sc6M2*+^PJk2GZX$R065v zy(g$mM@BCd?!lgr`xcah(!i_MJ-?zt$9+#Tngz27Ro*go!S%Wmnh)mg2qhZ%oEyiw z)5qFn&nBFrgj2jRcvklBzbW9e#1R2AEqC*ysRa8sW*Q27p@xrG+bG_cJK|gY>-ZJ> z#3A>VvC;vmL;?d4W6_Ss8d}Jz-i5Iu`EEjiH?1WN86ON|yQUAbU*JY~9bV67{4N3y zp%TCJI*l2falP#DThut76ZQmN72HT>!{S{&m}q0=DltbNodd9%6%@+7?0O!oUdq=j z{x``aHm=LM?)fK45qA$X1a^qChnWrF zE7I1)EmmtO0Tz4sw*_Fh#9dlGDhtSN)1C4540qui5%&s`wbtzxy-Gy@}JY7 za0!*%x0|5)Q5}o7bT7fmrJwPOBCD5j9ealRBS~>womVVRXV~x1No;C#d#-hlJ{KY2 zHs3MqoUG_oVCPT)5m(~xY`OLO`74P}8a5(2jNjmbQ{2$7LX=pM{<*}x*CRA|5Hf2l?QH}JKyD#xK)^nZIYN+I7bHiU6_9e zrB%evik^%D-QkP^^e=wo@_-pV`762hDV z8R$EfuNg?JP;J*Tck6qX$!fKH${vt4zsO1Eo)ih}Y|8JRqOmZzAvouovjAOX=p0k( zLzOrA3hq2z9=Ugpa|=OsjlwwVJ#vn$_i%OnIok0sQcRpX>x%*l=gi;G=SwVvB!eTu zN4GHr3$Chl|7i#Qh0bvDz6WK(&YmHk%Tn3T!|vEzZRyvf{6tccV`lwXcs3?#tBw*g zljeOf@BJHvcof^5^6gCd z{+11j1`ba{LI&x?C(@VMgYNXALGfK&L3#M+P&$YtR}NRsRc2VhZ*w z(MCdho7F|Xo6T*;pc_--Du1RH%wWQT+;@eUnx+pV^MJ;|_CB<)D38tr{vWf{%h=Ts ziqZ#HdlaR#uc56JmO6#DgY1NadoTD;;~zbJujV?i3)xP&U4zj2?bV>Uz~Zy&7jGL( zQ80s+J4*cbJ^Gtgt4)p?;fIv6t(GKw{GOet#;!tqrv+IVdtmFjb`|0tIWfy`t?cRV zLduSFZhljI|4|EXu~ywta+cfOrA8rbi|q2kD-eR4Kdj~L{)=d%UvRL6;lSe23$TDS zO}qua{B>D>IcvJ5OUKY9?zh|{Hs)Gc6-S2<4Ibh2clEDpuFQ(Jdz`wTv9^aomsO&%drtAw}psZ&@B$z=d{7_H#m{H#n z=og{S_8`z4>{wh8Z0@%8krm=RIWLBUr6kW}9(1g1Kc$$%z%m%lf;v&^A)xVeKHIfd zq^hf_k|Vp^6yCrKsXs`ko}p9EGpWDiMYANt)kC_$ofmqsUW4m5<`&#+_phh9qcrm| zzPO@b{`ktplcJ|k_t(;OZ?>i7Nv7_p(lWd%ZmL_gQg=tk9MSk<_*tiNi6g|;#XL6ko3}GHDk-iZckX4%y z-6WO`QI$hqHd%(H2(Lk7PtAcV7Jp}sEKaFh_>dTE=nn1_drrYO_!7EjO+kU$FVMP*!weY6wB~JBdBZNzU|Zybqj1m2uiE^9)1<)f%Cl%d(WK&%Y(}t4#t2 zRV@QsW@~m}l`rp7kJPED)!#||fBAq^DfBKK1`xCN{ z?2JzToMN+=2_-y}n5^em3unI!>2t5QizchN*i9=!kxG4=^T^#Ti`@tP0yDb~*S>l# zSbkhej6X=JYN#teS^a5Li|W50{jaoU)j>P$kiB+5$7<=2A*F_X(B90g^$>freA(T$ zBQUek4zZJlQDw?BT3jbdntH-UotCo~ZHm3-paj9_(VmGf=JCSLFwVzl0_h_1|t@6uC{4%cXJWe{}{Sg z5Su1)CG(RZ_rmwNPE2F~qLPm|4Xe3XzTbNF`w%9A0tk=p5KkyQ zy+XQQBh#ingH%t7u|d4>1p)EBTHjizWgM;WQ$W89?8mS&ukXrJwqp$2{T3i}uV#*h zJPR{wdgVxZa&O7QSSVC2SC8a|dkNd#*WUYbQC8O*qp_gdOoRCx;19NPE&w3-@Y*nKB)Hp2%H1_?X zY?IwQWn*c)p?Xz;Czu;0xM`?~mq z!-*OvdXAB_R3E=8$dRk8wlPWV1?J zWM+fXTb+=bFyoQYZ&#^%uN*v&cku4@oPBRAyPZtVuyoH0GJ2j;-bZ4fWrJ+hL+==Z zQyaScq5Y}OI4A8V;UD7${3Kii0yX-FX|D&HbdvUyu;mBo*cGM#xXyZUl`z;Zsxj-F z6GY4rN@ZGyOZaHlGe?|YhvHQi!K*GB;8p8mioMksTM=IMLzl?1p{K-CA6SRyRTr!O zIHN!_DZa&-#v}|_7dEDn&(L-4(A$p4{+#P+@WD4;bTMcvHo}s5({)IE*V6ihU!(Qz zYJFUaWRTJE6`OqN`w@I{wSP9*;=)_ieqfI^;}v&7nf`vx8)NYG2QU00xV~>t*}bDp z+5h?iWev`n#`HlZ5AyG$amaJ{&50I+Nyab}e*a?tyPOfF>QPu9>}BY>n)ip~UCcj! zdnB_|X;(N_%}jt=@*br*A)ZHw>Bw4W^bfnNP+>FCKaJ@cG-hD#M6YvyV`}bFNY2pv zr_gx@*_#~1E`d2CJU&5F_SXhrm%beJ)g->81s^J>`K@@IL(3_f=I6$OsSdPWx->R( z6VV~}n{^SlNs{o<{wFrDtnl{tBJR84?f-<7T$`-zkBpzjcD%_e840XtCR2#xXBkhc z^$t03+*z~T>PAgme%jf-3*#VG`~wo;B+hZ4k55{L2IuQ?9F1Ov%PMZ=PdVG)z(0<& zeW!!!^!SYkCnAAZJr@dOwqtF9srz{DdDli>Iskpg|kq~5!A7NU@X)BH#4o~4p6aARqd z17R9R`;DbgMfsBD2H|3oPBVk{F~yNe&BL^o)XRb4x*G0W&EDj^b;^3-@nBqY8h%Mz zOPZzD#BcOdmAz!B0V{MtFEJa#yMd>yHY`+UIoY~j%!LfcaUbdA(ejqi>LX=uG0Rv~ zxsE%{Kb%Bu5y4{Uo0tvJSf*?_L?KY6`R7h|yqUsGF;ekjeUzSV(+|T;Pd=c<4jp{8 zMG{y0BZ(WR%-u;2W_O1?=(XuZw%|0S0@Z%U{eBN=%nTCV8Y_OASNgk?M|}0pLRyRg zyK!kMQrYN_jTY05%j7MgL9f?Ah+;JZ%If_MKV%i$gkuH?)NFP9iP*GhCSr9S8*#5_ zP`DdUlko?hie3#Bquwd|i!=VkFb>cHvr3~hC2KWnV69jv`W2g%YSt{oy}An;)n%TF z-3Ro$lRc}HKffGarzVc?J4I8#)z|5SYf3oTd_AP*BrLsoR}49>JX_-0KaO|v-OCp& za;!nQ{f0`a7$Xmdk>HZlYW)^tiSHU?wLVKkeAiJ%luic(0^_?zMQ@1jA8EA-X_|t5 zBC|RYz5GsiK3SFBy2%P{lci{0yGxRy1=bV0^7Y!p7nf(n#vpck0-0I`>(n;VB~5&9 zy-#l0^MdLswyfTryt-lM39@Bvf5Rk9mV|D}=WVA_Zk4?2a+gW6d{6HE@1!G-k;w0R zujOjxI}D7x>{# zgN%CnOuFsaQh`1oI|tR2OBM~~`c7^7`Ldcnfy~Lg{D>eJf>z}HZ5kL=^5ixi#DF(N z5+@Oulc;Xwfjl(wCkeC5B;xYv^QL!_gzh45Jtk7N8Q!Fe4k#H2h^Da^a>pS2M<&Zn z=#0<-1`sSQvLvK|j3{0C;3#Qbje%Oej6JShUJA_1thubgdE;aa&gYlpX>-&&Fm=EJ z@=Ee$fPz!~ueQLd2Y z?xT|eLI%X72@7Yhc6b-6%3L8~evdnvFxkco1Nrwj#A9x7%qB5cS);XwGf#?QcOIJ! zdIwfdA}$ETld@Z3d~C^INDyaZOP?Vicg00vYm-EJl}%M7}h(mrNp=Aamzf&pPn~=;Mca$V?Yay%?; z^l&pce)~>PDmq%J1@4-#7pVhCWQutX(b*bBSZv(V(GJK^9nUI)6F$PUC z0a5iV#0VzmZqXKEcGK6q-sPaOwJ56y_x#=xVc)8owg{9Uy0N==38}91j(&xG8vvxz ze!)^Xv?{+Zb1$RQ0Y~2CU(gX175Ud(xmMuDu_mM2Rb3xR1`$kygaQs_yYC3arlbY} z%RRErh+`NGffWdk?~La7-skJXQ1?r*UBa1#5)*B5ft)U%`xp0L&URSR8=dV+eAkSC zJqQg-`;BmC%|)+Eoq{?cA89hbsNKNi%VON7j zsi`mGz8&8F563+pwBH$z7z@rPxHVLD=T^w6)cb7;NyOwtZiOjf!vm!Ya$E3W?N2CZ zzHYgYR7m{*=IPESDA!t9v6H2rbG&}e@%pLJ@Tt1i-)K+~1wSLdAd{Nb?<>>2g*1wS z6|w51XUw)EicipuPIoHfDcI2g(0pLnY87gVkewi8(KWoN>F<#ZOS?6Mfe;@5yzDm^ zBCD>C&NSe)@Psum-?GZm-%we%GhXCk`p#H0*(9KI6yDw&@!@Orb?C3Me>mhiO*TsM z@-glvW8Y|v>_$h%HQ4&*-x}zS-H61_(L?(ij&~N+LQ-8Kym`9n_jNOuen+em!S^o^ zaiUVxQ*z-23ob0Pn_5$A$wjm(it&5~eaB<_?MwWf%-;#AP2rQiQ7GU^q3F?n7F=9p zm9~fY-Z%DL8LIrBy>vF3@8u3v{Eu`#YI(DfiWeWKS{NfmZk9tcF01eS(Du> zS~bM%B*tp}KSrt#m&!H&AY!5H_2#noYXOtkWyZMLFRJxN7v?r1qCkQT-Sb1aW^ysR zMVq?(7XtE+Q6h|V0qYEUfXlD~&c{w$uK$)l z>iUIvFLig4?V!4)iotbD40Z3|5u3B7U?g?-3L_C1nIpYNF}g>s|JMQ8LQ++4J5<$D z!{DkV#=GGK+gJacD__U7ptJpLC!j@<7o5#1FOnj|)z4@WWoGa?40u@HG!NlcI&{dR_F9c2X!U86YjH({yPMx75WD@z^Z_a*XQl@Uc@e1IuXE z&tIv4oW8|x;tQYfJl8`Pixy8skCFT=(6JEbgg?`b?rvgiNhZms+*n6C1mDlCouf9w zq#eM?1UfU}a*kTEJ&jO#pgWW<^Z;M(AiB^XIbF>)_?k4rNiN$Ys5wUPhpDSS7U|z4 zZqYv3;hfazj7Qf>ivka{FL>wa>Hc|k`n01e^$?}^tj~@Dl3P`du3l{08M}Id^J{v? z%beup%sJY2lcfh~j_O3# z+s0PQ%Bs)#>(@!C=>7KUDrw_OBTyk+IW1zXtgdb7dcC0GsGf$z462$oov0ZDQBP?6;6rVNFJ3iaL(Q|a;jgXy9>`}g-- zD_e_3+h2sHI#~AN=U&;OFHn}rDvhs^&xliCom|ZCmrpCqF7WFwac#b!A-?8mNsWEk zTGjH5Nos&t+cd^nwT*4=ldprJBebN>k?c55+om2PBnu)^=o+^5nhc1V8wg3^gbq^9 zzdHrlO>jgu+pPHAbF!j~5!0-fdEPsYxktA;dTyrFH3?g(7=+pH^9D)@5~0Z9T~r_4qup93E%cW3OWR?HT%OKU-Os@ z%iN&!ay_hH@oU0N^}%T!^QXr-7&txun+S|pR!%MyCh!(@!%4i0y|qyYnWnmZX+eB# zr_{*ePj=k3a`sTif&Y~{wyFvFnw5e$+=UZ^R#tC|B%3pfTo=7N3QncT@*T1qOP0Q? zJE|j-#>Iv;FRpc?yCxlook8e=*q53YPrp5OQuE>&^|3L{i|a0rS}U_G*$_aOY5Y6QQ@=3arI<;lJz@9T;Y{%HqXQJ#X#Ofuo|g$9Ij62Kt|lo=AZ< zgImt@v%~IG*THe=6)dRvwlG-2IfS6yXx2f!awPF2iPGE7bId#YvbS-#pBa-Y_30So zmSx|O9jYTh$=9X%HOu+MxC`Iog9JpRpkA?{{k`jWMTEa)i;l(^%@fBF;?^*7l9i>l z)lj8ZiRL@<>Ckm-o0}s8dSKY9Bgf4k`wkA(rVW^Z> zf_l!Do;vEQbQ~Ldd6()Bo=;z-10O$;vFXmq#tFRNfsV5tOojT>L~o09)b9zVC~);^ z?<_ewGzG3+eZ)4*>_``S5SPq6XBVYDlFaV}E6nvu%U&LKUoBNXyno=!kzE(~7=#-x zIAVH*y7b_5t{j=NgCg-d=!`b!P8*`qNH1zaFXyC8=vP@B9u-V~menSBCQ>H8XpCPx zHR_#4JfUC0`v~ng4?_=sB$rvh-xKl{@K*$7Dg5eK5lxbi%v-rCWIlCEX6eo|?Viul zEd(gbO{NtWvjm8(OZn?rBoRwPmi>y7vyB{_Uxkl1VriUjaNLpdLnIB!v~%o@xks6X zSzwV*D^<4uh_dR`Exlmf#s8Krr#4nd=j0-Uz|j~j5i6bSgJP+Ph~}IOwTJLGFxckp zfH!$_LU`hmGy$fzSuVGSQ+4O5fI#A6NHOT39h*(3jc!2oeWZb}d*HhPf#;h)$(jpf?& z$c?qrws);otxBJq%(bdjD_gtud#%lG-DlR*Zh^H4pSZcU)q@>xYw36CWysxB>)TT6 zdsZwub-6w0Bz4lqtk}esPZi`0t8Fs5kfpTRL~R8Hja+NV6@&l|q_i)VkedzZXA0sa zQ>JQ(0)#-VHo2RaJYORZ^UQtOs%oB803SfBr+3Z&09K#XdNRpjW2moG-O7qDYw6Q1 zx86e){hOon`MWaScWiVrfpg=14bkJVQO9|#<&kB*OVu^Sz*3_pM{J_%BE##_%Psf?+KosI`R zEENmZJHNi=)AyLS*fBEr*i3J7LQKvyEVT;dtVjA2?<`6!PzVFaOD^Rg?mJ6suJnD! zJgza1E6n2(^O$ZPQ@A+e7knX*KEt0{v*@|acTdfVp6N~rqWIsGZ?cYc$~Gc)QYxY+ z4x%lIDHR*1IN2MggtLup;9tRc*C;^aAePbK{prPfkF$)Zo>0?_=VOqb7EB4RH>^^@C-OK% z5ahBQliH#8)VFg zV~8(e!TB@s%l(=!0R5d616SCr{=$OO?v03dMC{d2nCa(MHO{nhN%LYSD|VV=)KKb- z8VczYr_2RH@TtQqpI@l22gyhlXA=7{3!Qm@d05`i``zCUd3KbF+25C)#BH>58}M^m zIe!(2+k(ON+Z_JF{7vN#zh`!R;%{m6Izs5)6BT^ON)Gk360j9cUjMb z#wpDE!}?uNN%Ov1zjvnI!^IB%G`KZu7KR>`AoOBmU5lJD-2*Zx^t#(FqA0*&7wcy- zZ~6J)X$di6@JmZV7%>oK{HKo5r#;HkYrW7S^|%Qc{>#t37wNG2k@q6KRUO`obXDD{ zU-WmBX0Hr6=jEKHEM1qqz=ZXDmYHz7 z%-}d3MxFgQ6KGT;O`u-o5`d3)=l8h-B=g=vHpVdWxH{meWDsvlGv)@-5yS~&nvU=U zY+9jdda#rEk*+D`^Hn$N41?(yKSmJX5L(QcIGn8Ql~Po%?NE87pJQl8?#@o=i`<7InU`M6uRPg>xVWeZ^U4)VTqL}x=!bo>%n!YED z)P>5R#+bo#4S_T*h@ByfGz90xUJQAMd<#Qx+LZ_GOMK^bg1mYn3_GA)L$(2()4yL8 zBf%ANnc4|NY2gLrlL-`At;=I$q-#A zSFXg)kZBK-b+XC&ONpH5-rr1jOw6?sQyP(qLax0?OvsTk^0u#Xr+NU?HFbL_SDL57 zeO|ZuH6~TBMY$RQi8gcduS?Sh^~N-0J<8Q9Lb4pZHw{^j-ydo{IMLW{>*yXL@OQ|T zTW`X5@_v`R&z1LXdy#ouD-U8D^)ueJS7nc2w>dJG-`uA&KUdt(@y zL1RzLe?}1+7GCGe-Exj2n>BOM!YdKycapisI{|yq!kI*sMvI*Ua(-?Ymfj{!=!=$F#* zO?g}}V3j;af{VyokMmq_;OW?FiA!$^xlf}ZFBLuyqlp{P=oe~z&(yftb{WP5I)&@B z{f$W34!1j8wjIW0*tH9+Df_Wfm^1(UsmamBBFR2CO8ILf2}0 zS7tEkOVlE+Hr?Mh1%Vsk=gY}scZ73mI_x~VW9Be>Voy!SH}YfWO?*05Zcp4CE3;NU zhYlKYgYIkUm5)bK{7Urt-leKLjoeAafI9*&nlmMPvOnIRJO4`ryC7J%kEm&{%C_4t z&Z%j?+=s`K+<5nA4qNU&aRuQcIo_YWAXoCl`*RjNEE)TL#_+PEaeY7R`_VJ0Z|AXW za7x#n>m+g{n5Ml2W)_OUikBDEw+NWuy+C&B?q46Pw-DJToqy(YrhW9$$SleWH#S$@ z3mG}S80lSicl6j0R7A~Lz?b*VTvbIzv6S}!d7Q+A#NtBP4~&C#ElV-vehiHgZ9*Xb zgD1xd;DhM{DbM1(N?r1(LG$n6G89Tq*+s`*{W5qLn^c{8;lq(xvJ#h**iebWkJUCq zg3z=thuBapWwv}KLH)w01zEOOkX}Yzi@STkYu%v z1Lzy<7IMT+sby_XFute&Dq-uUOv3(>TIGu^l_8fiWPK*VV9HXve`^LFCyT>?N*U1G z@^L}07ypmvwe)vE*t3?rOQgMK17Vx5aOta(2f{*pf1$PHIbJmJLKvdbF(+vkA|(-D z_pt!DBS^15dEZ4}gE_iBBs`bxJBQ!XOh%alyR0*WkjGM2S_tfmeOuq(@8qop3PD?x zK)UmxROjVKB#o&VTc~g~m zZrUcdt{Uc^BR<8ePc6DI+*8eq{nc&q?)yllW635^#9n+AuxkrArB*H8U8v!!w}&LO zROf{N;W^P^?LTRwu#>oJkvqL!ub=6fWOht<2YRRb)gdF)yCU|c5|ii1T}b*#=lFv0 zhMj>0CvK_GCmU18+-(@_0Bxwe{xUMDg{R4RvqN+5*dxUsYmYj$5GU`+lk>|Ax}D6s znGjb_;U!m@ph)A@Q2`=<_2vPY7BZg*@T1e~eDc>c-!FA58g!pfXGy~v=kRcLeQ5~S zx%-tRNy)q&uVEfId9u9|9MrV^ONr5fd_|gPIxzC!o^H)A+^n82kpT%aaDZPZ^XI-2 zal15O7)Yy-zAEdeR91a=7>c{Ae;C}|KlzK`?t}FZe&dxb`2uARtv9?ca*bUq$Dyy& zj(0LuDkp+d9lREeE@-~ZpA{{|iO}uha8xF>> zO5#?Rq6g^~4hw-jh7&h1N@UyJLI`9x6olR3;docECN&7T#ShsIF_pmL^7#*i&&>9K+|n7!1sE4uBV^s%9vALkkfIqu8G zNZwaH`)kD+_SZa{<)bpU5*B+Y%tj1@J)a)0CxENJEx|sYd1gXqrR_&&GJ)k|!()wT zHQ)^QnsYQd!Y+vJ=Iar6pB%n{jas)fo8zAK&d_%KYD(MnEe_FI_dOBrV@vu&NvDiM zL{)$b5m!O7A9E=}f0rzHpZdHe@D>`c5L$L%{#{g5e8XU&R+$8L6LX?lfh3!IPkgb`G^mTI_xrOt_${? zY}xf#&Ngx~7l<2YcZZaERZd<~Ud@y>(R5E_&o-;<2StnaE$s!SCU89%l&~FwvlhjA=!l!So{Q$1QYe;t?r=_>#rihqadb>Hm~->pGy$qJK3B2QSJ zGRfP!L!a#o6u=eeNh=@%F#w7OWEJ9EIAg}eyKly_d97wbUxw29oB{g#kem9znJGS% zo`3Wpd7X^Cwod*22qR-saW}R7oy_$b;`4k-hzyOoao62Xbd5xa0?nBdH z$yj!SK)+ou0dZo1_D4ztgAhUW799eYz-C!unm;kEgivW>T6tm`I@{AK)b3n;#>f$# zLLE}w&ETCHnrN|_>dO;U=MXkmgB)z7>bU5@`IF}H!KUa0bi@GQV?1SZ3d?PVE7b>P z`{&XZD-aR9;t?jFFcjop%2|VEFeJxZBNj2h#flu%T6Lb3_utoslUY+{#>s$$D+^QQL409#3H55bUI5*6CzQ>GC(iK(GPU5-{$zc22=t2EPov5G z<2{8~NU;&H0QA<$+V7g)Q2%Uo3B&XRoA3+#W>b@SeSTiD(F% zuWWsPPeXi?eYMs0I?-4)3GA5vcJE&ZdzHV&CHbJr|4S-ANmm{_^`O+-CG`M<5JUM7 zQ9ji+S8y3%M!R?b`%XCY z(wilmCp{@+T|8NPrah=W7csmDIAm(I>eTVsx|VISE{oL6)VkEE|43E8oas^b@+NF~ zFli_;TFw~C3#;o5;W1WAyl*@xbIIh-}A?wG@@ zK<-=abic06Pi;^dsm;R`ig5lXyk=9gh@b-r4|uO~w;eL;Khli|TqFs3aJeKE4622x zV57Pz6)aa*o8X});BQ>$1<>l$SmXfphEQh!uizu&X+pcOU>BAy%0Gbsy|Wr;J*MZ- zmUL$UF{?F1PN5)OrKjs&Ga3;p+N>kkMGbHX>$Ez@8>H3NqR~1pyJ*Y~$l9{gT5YfD z^dW2YJuZj`ua&IKB2vuCoPS(;Wmo{OfkZ(%$Q}*G1a@@jwepr|xgL9ZiOg$iiLACi zW%iyL2UN*qa$iH~U8c28{ojGX)BMv9jB(l@dpJy;T0!34|Mg~CPwzq1Et4!ukC^3V zvH&06W^k3XulKV{OuT%pQ&Yj9x+oQFRHC1+0jpe{X@ZA>o1g39%7Ajogv-n9SVK+g zo{TN@9dz|glW!36K=q|mFsPnM1shdYDp;;on&3fAnl1DkZ<5;?x^l^C8fZzC_p1e| zU{Kwd3O1@asbIOf!~_p&U_xi_w!!c^WC_Qn3hKs3@n#y&P1VgAdaO6lpn5MAY*cTi zg5_$52_DoqxWTL=HvUkmpl8A zKTgHs<0Ta=S8)?OsA>%|sDX4cIQz;pQy`6~63D=K z9hvEM>ije4ej3k}Jelc@>YO8%52{f|O!uqz8jsZeBDLk;q))_$%whYNT+TEpcW@P% z{jXEE3{D(8zNG9_YWvR)JAZZRoPS^b`vc_vpM^IhORH2(!?fuzqb}P!#7F z+yJL=s2t5Jse4iC9+JthTqA^1HL^(HkE0%nGzYQPllT)3m%e~}!RJ#cmlM9kgc49h- zU>0LVQN!c=XquKkZfpB7(2s;b9^sOq*j9{m5UbIPFOp`B!*|#Y&YExck_c?unKuZ~*N6Ej z-0Qes5waM70J%u(M?q&QCzVrv^j=wiFx_dTnhm6`V_?e$WiRUQmUjE@k%_sbkNf2i z&7Jzxu93d+XM7Jy8HjrGp~J#^x!O25QNEYdU7a4vUHy9p!6bHq&Y-7~*RwBLfNdaF z{$*?$$YuG!M`k6HAfD-!40U8Tblan|v)rnJ8ZKNpRu2zu6$!i4tt#~1L+-XnVrIEp zRg{^b!mS#e`R=$?#hLGQ=%`sMr(#32>PzU|pjQ(*s;4inA>>Z=(}-=Y>Ppy!Cex{8 z8b2h{sboR`BzzocB@GF?xTET{b~~q|>hyNo=T@EJwIwoNZdF;-huUmI{I;<<^xf}C ziqY$OYspWUa2ZwAgmjTYx9WoQOOaa@kQXWK(_^oX&7}ann@RC z^2DBKk+pIJvy+{gLSKVBf_Q7ybJ4Thbqy_V^jlr3u)$7ToWoC!-BF#>sdBBAoxD}$ z%4><$cSZ*`b#og|!>e*;#u6(tpD9+Gs4C*GSc(thBgwJ5s|xts(OnC4#v(LrcTDqj zbVZL&HNwXzHQy$yDJ;xK9{j2s&hGmQ%^o}Fg(9bY>R$t%H z(C|s`bNjLTtH$}ZC3C;m(DeqTvoFpq>uKnR$+S;~HX>FR|I{+pe54m{b-o6*i9MKq zqQka3>nI|gcGn>VLPU`}rLbehas55^_TIL22uJjHRVPEkt-$(_HMz6*CqNH1XUDFH ze>!UZ6}rZ0KBjvUf+k&RWXtRQAJd~)?? z_2p8uKzd`GHcpOzn%5)_ATOjTU+k+?5j_?U*3*3aROhDFG_S#Sr}?Z^7zmtN6z|Fl zY^IA{kb98H;i8{qbnZmI7hs8CQ=(%yMx>22j&&x_Cc; za3AT6j9o|ORO**?vl*N$9D+ohdgU13v1Fqwx_P%spd{V(Aq!Vsyc%B?S-m15AZ=qn zQ)J5R)yK$hV6V001l=klW_x44r{>EX6K zwKBJ;CK<{a9wMr-e;pEp^Iv63`mQsA;SDvFzUXWjVm{W01AFI(Bjyx4WZMDY+p}ct2OyKcU|A{QYtt4OL^o)AJP&6B5Gm8dkmfy-&@G0reXGF+r|G$ z9zewIhKLlxLaFU7eM0AQLXQyfDOwYdWh-HOWBxSAb{UZEWq(Kjqw$FXvQyb{ssv)I z*!Ze^vW3aZFxkhf)?b;moH!gaZUnV;a&g0Q7cZe?{Rd3NiLqJn&&OIzZX}APK@o~% z7H}S|_kz^wiEx?+Q@zJZ7rpJk!$izJv|6N=diQ#b0zhIx%3cFZ0ze;FOY%({?(H;T zt-PGSs?pZghOReJ{N2I#>Rv8YTdV#W9i@f7@><^XcA{<#I(SVc-A-JtcOtiHjDRyS zruFF2tlbIJd17kmsB!8E0LgPTfo%&;M-+89?9HVu(w!vIZyHV_*&{-MEemh0@vW~3 ztegJ|^#KlGN zb;kr=WIJ2e`vy%)g}KpD^2m$k3+;kP{c-hflpd||%WvR=`Tw9|j@&|xpb(Zl)thGC zSlj{+-7{|-{$phx0Pt#C8xxR99x{~_4X#9EiRnsoF|QID^qai#+Y3OetBPXBxYdQW zR(iosU$~7JU#+{NV;c6vg(=yEDVDGgG1Wu(84r84_}mSwtKsS) z$2;1GXwI(6p3vWr$R=Rtus&?sh#`V#vj48Ka|!SXuCj-rA5p}MJOO6W!IX>u^K^pA ztFjwHf%UO-YLZojHGv)0lFwxVvC0WjS1jeZjoEA)tLziOcG&=WMFLZ5D2O%ai3%aQ zxunOG8tv%AO$t>N^8wm^DS0Y;2*>z>bCDOb1M97&|3PlItIC~SP>_rqJ<>+7bE#lv zE&H?h_!r*g`&4$6=Kvy+^P-AQwEpf6M2{7fz)^Qy8Q+_C*Vp5F^Y04vU2H!gJAO^z zmHAU_H%tfE(ULQZCF1;+eI(%sr0?wb-lOg~gN@{_{P^Bccc0ARl`h7o&S2&j*$6{Y zs!5>gdz8a1w6>sUulDN(c8D`pZ(dw`Ga)BI0xSM4Y#ywJjuqvly_g+FCPK5$3bROS#^n#1xUGGOQZd~>}+Iw!- zN&WG+4`6O399U;9J)O*$^RbqmOdwLWEmF4A?#Lpy-R_I{UWs@0$KDTP3cyU!=krVYmWx0l~gQckfj-Jw{-QBy>Dm8 z*JERzh|f~@<0s_Q{rCX^`thWkOhYc-z#E;bm@OlL)cyK_Jzy3#mwdsS4Vs*<}|PQt5bF$;(N6tzdbkL z`1Z?0d}PO8XZrS8tygfFH}kmga^`U1CFylEi^%+dbXfPCC;2iKmr>_f_ncy4(^-2* z5)ml_oNCKn!_-jXl-fiM5`FHv0r3P8`Z2UKP0;aE0?zqfuAsu$=EIc7#0)Jqrn4Q{UbDwV5p) znFZITSM~+=^cEq`in>L`6C%g!BuD-(5B}wum{#b0kR%LE&e4ySa(N(Wx}-${Wtxdv zq5c7nqW9K}jJky_68jBeJMLGyR_V)+r7yz4qRU?q^8sWnRZV|`Yty{8mu$u!<#)uY zpH8~=Rl_YWRiD4Z4z%j~;+owg{e>jBs^$2vKQD%WoYZvmD<)3p+@&rayb4mr705{G zVd>I8l8PzrP13_DYI~`=|I_{bz02uJ^O`!cV~U8*K0{~wLd|PTA0aqbS%Ug60&jG0*P!LR&Qg+fF7Df8UO5{MX8{@zOTCpA^yRDLh$1OBL=V@6AGyp z8B>K?!<=cTGAiYh42*r9X)t>G6)J%2BFsg}Tm+F-bl}2%RkdFxdRmdH)B!x*ZSa4y_iTAFGW8Hg z*@E^W5eeRnFImJqF+J8B4%}7{h2A(^LvFIzH$qN>jY+dP9TyJ@FTe_AA3jD4{p&;#)_?eJGkVW;j-er@Wc?j&#UfLg z^+P(=9dxAW2?&v?P{&UNxFh&F;X_IYaE6js<;g8CSs1KwLmjAh%~d_QO>Uqk#) zk|noEOz`CNom|uU4~+^B6Ev8p{1jd~3{Zk94breLXJP(o8Ft?&t)MGWTvS8raV#*Q zlc^ciJP{DZ?Ro#YK-c^alXv82BMWOK#Nw!SdAddYb;tgGc+AbzA^;t@t8l>xE#IfE zev$9xHOF_#MqgIqu7W4!9*;P=bRIb$B*|`S&vj?F|3CFVlniEDtCBKcK9BS;3e7MW zg%#?SL2QDA#MQc}c~VhUbOc`M`#Wva$#*+tJ3^qY5Y>LsH4?eqcNZPy^l#qiyQ24U zh9+kHU`PyQJf&gVZIj^|GcHB(U&zbnSaMmUhRsO9^8hbljc~I>I`-x67TIQd*!!`=I3yU1r71)wkXnrPkg~TM9{E4RWL{l))RA;P!0r>TjZ@3D4A~4!i zFD3vJO>>Q*Woi%28)LIg;5wO5G;aCIX434AmgUD%)4w9>hl|Qr9&J3um*cp-h^OU}Ob# ze={|<_ldLlBKQ>r*}~xwJ?&SsBm~VKFZ79d{=_^)1T*~1S0v^I6Z1mE@xLxHZ#EAA zYu+6G8jt9C9-tP$;_)Dl#N*5L@6S!t!}>*lE%EptOw?-q(y4zpn5Z7}*k&F(%wwl{ z=+7eY_#%P8$D8$UtH2>{@Ab@<&uhwHS*%%f8tEnP~| zl4CyH2#)fL$s=)WU#=eiNC0#P#vh``Cgv6}h1=^z{?fH^)ftCR7g$yKhff#i zRky~|JjbE+3s|deCp|?&(*?%WuMVFs0I!xFK3xD$y}#tJ?F$&Gt%pySk48Ou_;mT2 zRQ?g#m-JgR%A;ymAp2Y9ZiPYgysJJFn3av{YdXY6Wj;&wgKF6;UHzpFlB;rcJKid7k{Oft|8^u-irpS z|MFgB4^;Q@BIm7y<0jlL;e{p>h8k|xv6#-d)&%O+H@!4R&GbSQYKj*sRTp|8lunT8 z?mdUs!QWp{f1lr(oCdBT->0OPs;NgzuTWezKAq-8|v%d83>3WH-KYY5Zs@i(@A-@l4UxUCIhcB<;CI9g04@&)ShYs6+ z{e8|jeEa(QJooVF`unsFpRPZV>oeL<-9v;H#%I_l7IIzWbavMUp7N{?;u@e;t7F!* zpBd8Db9;eQYt1(6KsE^jv5=f<1&PttS3p$3LFTv>xR%MmhM+RB9j^Wrm^_DqHjNr^yv29 zXt8IJ_m9`g7L^}K+*-_^w)%S@95{eQ+a1zfPykPzh<-^`gUsiyl^8DpZz`Rv z7RW?Lrc{1#B!~_c)92Hpi%Y#v_@#5MH zkC=#e2}w5W6k_&iIY~IuF_=?aaxf6{&(J)YN0T|;?+ej6osp@im-(oRosL%;X+lUzNXjF%EH>uP+NB+K zYeqotOH_@{zt#2{f#$Wc&@{DHN=1)%wflgLttFkrehaznE}ngX_<@nuk{?S(B%3A4 z*6e1eAL`x};vMd)yxPFu7vAo~yGO>K`Y3{ORGpY%j!Gx;Hvdr^VWc`_)O?dh>xKKj zyd%bBniSzE=@7jpSSoj6Nyk6f>_SAYV>hAUBCw4Rb_);hEjPMwwH`)%!(cOF5wlcM zyZ$0XyG80N7xN8t%~ceGE+K8{3Upi7IAS0mIvg$JVwBwa9`>5?#eVD+Q9DhRgcD$h zu_d)gX^nOOp>1@^r4f5$es&_ePwuH2g_Jla+xEk9xQq)BcNTpI33mKAi+1%!vaho* zC;n!3d~;6VL~E%qG}0Re=H1bEQFmi!P~^nlAgyAl;#U}hk&-#q%23JGDK=hS1BACZ zFx5m%!rHT~BpYr^GkJ5ZCqA_7)meU)4+7%SA5uZG@Wj92 z++7Ei3E3AI8{Iag#KcM|z50>h7Adk0H&WI|64h4hC^Bys_Mz5)pA6f5Ma{tP3>U#z zzJ^>e@N-{1^+(`#yW7-nZ$g6c<$7)2xHxq-0+hDhGZEceJ7wK-b z$O+|QY~k!}!H)BC#2}CDPU5cYkixbHk$_97QjB@<=jS2^U1Vo@~9{`H0!!HBV7o1$mjV2_AUi9 zg>qies?(8ZFa;8E>3`n^bWXSG_!F*mcO!)+gK~IE%u%ZgKLcP4 z&=c460H^9-sLBtOi+%3>FC-WHmK4?ZsT3U|Evss&3k6ey2GK>P0UE>rPC-}vwSgYQ zx@r+!6q+l1|6)cIhU&J4fywTW6)x)(W0i5?T{-S|>xr|=_L}1m@rbZ1=GtZU-_#lI zkuPP!yF#H2`iWufTH_@M9Du?QdE^V`$5Om#T~ca zuRa}dpg-`wIj_7e?8-`5fmWnOgP~b<9;rhs)PICtZi*XBdH=SlD+{ z$=tyER+|t+y;R-4<1X^62WZA-&no3xV=tEem}U}_+8M5lM*X4Dqp8b$$aH5cX{eo% z49uy<(@H&QUNIb`a5NXhfK744eLaM4K7tj7AyVa@x2)FP-;N_=$2YG&-1T-|#CKaM z{Ok+t_~#fy{(TNp9seBmk(hc3ySEmhlWDd7r;ffG*6tX$MZO_1j?ng0)B{HJ&^r>J zOGmfA>r*0yILn6iyG;7dKMBizB>%#0MVRlYomchnOZ%Az9IEjW>L8Nz4!R~=5GS!j zhvk#v=_Drgz%9SG#G~wHTT7oMH0b{0YkgiM0wHowMy2ao13BauPU^&F@FS*tAsi1Z3J!C}W-e7G^oZf*zusC~s+ zOOw=oxRLMt%m1&Dhx<210{^m>%wXU)Lh@pZAY=y&KGej>?=H-WO<;GDRghE0@ojQv z_u$X&Lpt<;?$Cl<3~3yVG-GycRv*r|ryvHGr43`04&|GseSgfAgS%9ir*QOZ+-)K4 z_+Y|c8w7cipNq8)|BPheH|67*?3T3GqEipyIpPbK!UL(yj*ddVtpKs8?C6M&?R^Ed z<}3U@JJ|8KU?;XVDE^`TSj4pW-y|gb)kjhR@#Ac-%_VP5*>Qs6F)HRNQ)FbJ{T|z_e^c}_{!Zr4>fdCw{gPxs1pR&AsS!g@ z4URkRqF)^CSXONVF6&!xS8 zqxOm0t+p3FTV|(auW-1; zIRYrHqzBas*y~1sAZQ9S>;$(+rPrylk2TRvs+ue8df~7K)pZ2JnC{a+{D%)EUI!B& z2+jdA?XjWf4sp{WDZ4wf{(r=`eWxDoIZq4E#^=M@u}T# zuy+br5^Whnn7|tpc&y8(ST$)gE|_(ewPDw4lwAu>HP|~sNJw?{f(>hp13hO z!i8b;2Ynf{1ADYdl|TG{w7m;>RMolgKgk3L5ZplmMnxSp)@aa1pmpMa&X5V&BZ-NE zg14G_L2RvJnBgLzNhXm@wo_@V)wZ5$zxGsnYFk@-6vWy@E(xFlVilyV(R$g#h+^%5 zfWmygcdb2>Nf7J#{?Fe>GJEfJzrE|dze7ZG3DyBl%t0T;^N8Q~+JY-2dmj3!L(wp? z@|s2JDsDr9RzbUfx>|Rg1L}y@60OLO3<(k0iNz-zth-b6p6XLVCHXsOy~et?M8He( zm*SwSmnU)G79tjwILa!9wwLCi)agUUYs;OeOAPYbQsz~R6Da2c=gX7w+VZk~EadCY z^PoL<8BZ4FwWVZ$2^6kJa66dc_!Q!!<#dW?OrVIb zCDGRf#s-WB))C5{5UmBKGoRC~$-l>~OaIzTVQtrYRn=Vn|5)=^sabmJIP=3_ z3*_?uzJs>99rUPBR#I;wI7^7vzgp|=!kQdha40w@{`e%^o95cs+c;@hPoc3P><>4o zvKQvS-;k+yMMjCUJFhD;B;lnh>FWR2Ay1*6=lSPi-vnj7O=&3IAvo$#%*yMCNk5h2 zoZeu3AxzN?M(aM6vj&HQVq3q5H{mXjpRp?7_vM#0V69919^VwK0nNZ$~$1k{ktug zc9tOB9HF{NYf}YqM}l9bA}2am`jk0dhBUMAS?QY7*(8TX&u3cLDr@YV7rh-P9__q* zej7kT%$uDP<_K_u1lRKiQX3Skz;Bk|Up08toFo2>I(bQ~fl~ZJ0MUPOHLq);L_Zdr zF;yIJcg?pixH%(~a4xTG*++wYAz1m*@3zJEL6|Z}Pxsnyd||q2KYL_)`tAcniY?@X z^xc>CTja#yb3_aM5G z*vqwgK{txBqRP9K9NdWy$5zba$$I1i*1@cJ1)S0)&H{z?6#ST#PK3XA+c zMXusCzrbF%U0CFQmJj?$@sRILVUcgPmy=}1R!9=c0g|*@;DddWe7AN;09B+3i}Pz@ ziwpTDH{L${FQQZ+PR8DpdPZb4305Mw_Xk#uqXOfZ2L*V*=4{LpFMGkV7o@olxt(Nu zY-O!|P^gc{d*lsSmlsN&tGEtBv6CH(11;Qm?UhV-2xquhbQ_*ILv^Djwp0l=-V~_9 zeLJ8(dfJ_Z8WEXeJaeDOQy^AzP$&Z-aV5t)RPIoDF;*4x6R$rg2PhK>Bj9J z*3x*XqOD?-nFwURC4G8T^QZ8a*;#tD3~Ds}cwqVGoh3Ok{pTfKJKx@Y!xx>0QhU>p z>FNFM(fi#>@Ar&OqDat6;kQ~L?)HNfGx8&WfG7mrEy`x%Jver$)_?MIQTX45Cb0ke zC+I%~2@ZpGPp)XCbq0*;&NxIHYt^y~Q+Y8dA0wJVVnRM6-!i7f3R6`CKvGlj6cqz3n|L8z3#HoMwa)Epise;1&Ch@ZFj=i&hRMWb`oNg6#V4;Oysl1jdEcNk&bcMGvUXZgb5%d*x zgvZHWadF+1WRJsyfzj5Bf*4p)J{^taw{1)}=%GsTp-Ke+nO>@F5g-+dm3@sjU)k4u z#t^Hl`eM)q>xVKASjQtx`sqVF2I2*ywks)73*~K&R0DCd*uM97&^h=}VhsUxokCI0;rSZjek}*f3U++g zrea|YqH}zYVj4`%buFrh9wLO$yTD50X+xMoL#<&(5BlZ9UKqnqKAeXEq~O-P4}nK^{M2s(L?x5{w?2dd7yJkT_dDoRTWJ*HRVUw z_qjKt($T>F_R>F>(OO4A>9ueWvU{3ED^E_2Tg?ih)*5h2H-bj6OGZ37fSci#dI~n* z2iHxJU`#>tB*ZDwit0KX zUUBQJ*2`%5J;v{Br?yXtER0z zNs!TcyFT4Ld0lJ=c*Tjzi8^tTBFzp;np;-lUqPVG|&iS_IdUg<|1$_xQX;f*RgE?l`%z1U1Yd$A%U4Og%rM zDgrE6A(+VX@+|tAz72N`!D9Tb(YnA^ZeD-;Gm=&0Y9m5cUJ3nD&c2oSR$z;R?AOE| zn?pY9!9MB|v#VDH9v$SR5SYCo(MnweJ(Ib$=WbW7?}?-(02%Ye2h~oP&-ARu#ic7y z)?>Z4{cUT7)D;irrncKGyBUa^xkz!gzbjf57jFcc{e2T;Quc|t~ z!@d2^q+K=mf9Etjp>kLG-Z!EWfd;+(@I}%?G?ntoa6clGSDu6&!<#%xT7eZT%U3s+ zHwkDd%O}Abh_1t_=-R^M`I2QA`5B>`AE0P(%_R!cHD+XE@}OJxD&uE}4co znIdGWu^tl)E!6cvp(%qGpy;ac^)||RnMDSa%uMS#w)Zt9e(OP@yR5aKznEo9j)|(B zI&6+=VYaDcGhSC}KfDEOc=r4hbYq=qpG@MUPT;KUS@FOqQ&_P=Dl_gmgBAlE2lqJi zN~+4%Lz&2lgz#aYp}nyZ&aHKwU-k9-AACj=*VT)ZIabYzR+}PXu5n{7QoVS( zZ^Ehtuh!t6QVOTxA$O18s`JZss`iu38;nh8x9XHr%j$B1jSMm2-3s@-K^ykkZ+{mP z7Waoi=P(7`F9&1#Tm^mi$-Kx48!hk1UXgj;1lUOTaBuRnlvP)+T2uXtjc*V7ZY}Y1 zC^jTSM1<|peX^=%JU!(|*Pz0K;(`e;qk;HrNZKv-J-GJ@;J2df+Z1vjVcvq7H9G7d zUJh35R@3!hu~bHZD>pd>KojWVeLF~&Y)PHX<7AuYWNU5Xg93T<=&@X00$uOqR#_j^ z_>hbDgBh2AbCi))wgcU{sa$ zuRzy(5aA!yFhF?E@C|Ey`@<)wrx2I+&!o5p)FdlM)kgqo8KVZ&Oi6f1Lc+VkrAMzt z_R2h#+wKU7hFrIT*FPXRV7)1T?Hy>w>|*=3_l^SY1e&|0Oene`AJEchv8>t9 zM6RVbUr^9QdL^%0c^%v}I#I}Y=^o>W+-}_`Z~J$O!wM<1LSA8pH1HFyvvvv^3MQ$( z>OtCfnQAT~=Y^0x``%o5Y|#5$o@5}RHGBf!+Qtw0BldN=vUmZ;7xzhpT#L=?ikZ)T z;$JJn45IrR>~9_aMR-oReQ_qeUqF-AsBxspZz<1kI~AkWV_HwGl7VG&*||F}L6ahb zLlBAt2FA}7)gl<*W_uM5ovpn9bo5%p!b>wBJ#ZV#2iK$x!Lln`Ge?cMpXK2d)53nn zVH$tqy6ul)Y}K-3;4BkqXVOOdLTi*uoZ>mG3spklb^X51hy0ZLX@D#XgZ%|VS8+;R zYnv*jM^0&4k~2GUeAANLnUOI~OWghiqb7AWF9CYHJjM?@*GjYkGkS0&F+q$LQJm_? znNk_fn{riTsVW&!C2vkR$?w(a`h12r)zh!lmy|B%8qYRk$?aotR5}ZU96L&@1>}aoB94!=ZL@wIjg$h?H zd_KLRQ)4m%Su)xcN$v|A+Z1`XX-UCbP%?}D+Pq{G-7Q?SJ=*!{R9LyjqK&e~uC*^> ztUti-KxvcqS>Uhz_dW}h{*-@GXY}BN&k0~LCVFsIq(rVH&mVH^S6@d|I?fyLhDTc{ z^0{?bXOI0?%q&$NiOlhsuzaO}z5G>2|4PTIP@3FCAw*N+fC!5{Kw^GQW1I3*%1B&B ztK0|}rh(AP1KuQzHX)mumK0UOsj9pCU@CI_q>UY|qiZfNa+#^FRwR%G=i?$kpcFV? zprf@ge?*ZhlJxSDgdGbU~3+(59 zHC#_!AIT4N*+ox%CuzthxEhh6d>HW*VOwXFOohQ@U%K)jv7~kdz1NgX4I>&1mP{4X z&D7c^ggE~r*XgwOYsOFA5X_s(#iZN?%5+?aZccK1(-JRW(3w84x=SHWCG{cZ)|tcC z?Hiam{ka03tkPkdhduM)b@tz-*ZH9@vCfLdP`aAHjW1qrg6Zn@eut$b0*iGi2!r(T zUyQ)%<97Sc!Yx*xAAnJ-`l#1g+a(eW$il!+L_faj{Khdd5vJS@SEIQBm%~gRgLN?0 zyRl)gi_9l;kdWbwuFHBEc)z`Oz`?-b3btY^Q}%htCGR=}uC z>-BnwhW(0#rSi`3VhMK^LGM*!HV}_5zj1_pEDZ-cb|i-fJBn4qIl=a;3$UlorzUGg zzVG9OV{!Xcu>F0<#(HF5*~gKmlM^`Ml?7)l$nSv9`8uqO?Y8wY^b&7aeqXlncLyviLL^nPw^ri84|3>M4FjJ zl8JE4#a3dU%25=T^w>>=OUeV*--!=nJb=dZu%NYBWZdPjJ|zPp?o3#j@&SQ85;;_v z2`fVs00bHz3gJNQ+f~`})gF3mA6(7hk-#Av@UW=uAuCHowlTCOwh+6`khM?r_|X^G zC$bi%RUDD7G{L`VaiAsVC528O)HKGv!KJ>Ck-$hC6ttvVi+S#nwz=fZj55N%CQ88h z-Xy-0P?q?G;-l62-V2ZHXF-TU0)_`d%0EkR2~_4vL)1|&OeA^mO3MAD=&(85B@XjK zWX9v9`%e57)hWi~#NpWrfE6e*FBG3$6i}iVEcr&cHUvxNP3M>|lfxOZ>gept;Yzkj zz?uz$?~wQZ%f@b?F(OGG~HcP8TqD`Jzcd*@jGOOj(67QhVzbb zg>Z{f8;cb44*?Wa)%rdZMvds3NL03vbx4>NW(W#q&@w?)&PhyUr|AX`JR=(bSzG@G zIN>BmxFv?W1oQcv3PRT1)O)yJr$Y|jz~x_x;IbNrNtJBl1)gC0g3{H3tJ>|-AOvZ< z%qOja-u2iY6^vkS_DOSx2h|H{VX`Kk!1HWrMINw9UVBV4eZ+ap5c9Cdp*pf4R%=t=r6Y}#c~={#XeUJdS} z1O3c!gxMNRrFuXThvjqI&?iW`z`4i*uM)VZMxXy0g8x9e3Uh<~;9-+t^(4w>3Mepj zdzpxUQmarhc0l*d^z2sCH@(zF4RF#N%(SY^-rZb&6&7H&Fdbe+J2%Zn+V9}@0QyKr+<;Wv%!Aj z3(~Dx)BgJ(+0_FGhOGMIE9r&(;J_-f(kXxEz(l!U`)Lj0CSCOf=~i6U&AxhI7c%q; zpi%S>b_-)ebR5$92VC9SE%?5tK$~76%x(Cz824X%)W;hI0KmN)^=I{D=9{s4KmSZI zjDJC{)3gt!dFfz!2L=Vx6QyAstX^!5?+H)k#v8iuHvZ->Je9xWBi9Elw+J{qwDI$< zV_eT(BO^F<8)#m&Y0ab)g656FV-JQSa*FYgWnbUM9FyR+pIko51x6L0l~)0B>pj=5 zR!JEQ_Zs;6stPetdjyuTt}oJ)g~KX+Lp4eLl&o``J8{1K%$U|QBwpV}`mOW~wU`(r z(T$oR&TiytwV?XAmqa0uyBWgLgL2`y zmuswFC@VD$kx&|h;a;pS%FF-22q*$(qsZYNdvlrA+LKt90CW(QtVm;y(%!2=N&oO{ zLaj}L#{-u}`yuxoHlphQG^h-C`N!_qY~M((pk-70IH?I7&;ez5qDlOg%s>Ff7p!P4 z5lDfO-i9D{K9BOu5MNJ%+}^7K@mNKxtxY0>mK|?e7$I4Cir?%-O^;zKUJ*2w46@34 zS&$i?8EL6*{!9Ujr2;Jgo^qCfrGxu(GW~%WFCB4I)=EWX?Ok4_TBZL-jpbjy#urs* zorbRzftwdzQ6Vg#d^>V}dTNf^H;pfI-K|fwWY>hAokl1bB;Qri@gp zCMRa{aCJz1+O2y+JgPa9<8+{3Ybv^~{s^Gg4^J$7PMs@~&7;99;L&buFpi#%{>PE& z1NbTNA&rCiBS-i#aQym5&Xoh`2Mt&FHVZGKYy_x}6Tc?M<(&Xt3ERE` zlGe2Rtl37}aq8*pnMT_v^;G6JqHgt6I^AeHz~K*C-;Yox zSUZq2DJZ!@-jpV~$6lKCe0$dO4Ls}W-$ltwKkbsI8zLTDvjlwq3ZG+k{lgvIkP4N( zDUPR1Yl=JM`z$=#M2W^u{f6zr{OsqK%#qiFv70=#)@MqWL|1n&)fvz91+DjC5D$&M ze^E4bQREv0KZW!b!0ba!x)FGPe@Uk^5U;(%mTF1G-bubD$8?Nn*N-^G6yWUbSSwM^ zDme3sCWj#JgD#IA_B8%R)EUX4BzBX@VC`2}P#F}3@I%pWMUY-o$mPXlg1xq}LJ+Lx zMsI(OvD7tyX0vE(74?W!sWO(ddpXDpW|_Y;IY((ax5c zka(g$mnMOxTjf_2Uw_J$4aHZe?Nh-%Fk0^Aiv)oH6BKCx=SASCnp$~x7~mod^duU{ zi`-1*i;pdxAbbmL>TX}T5SB&OjP*}fEx7$l(8H={t?xO)bM>~6H{i^uK!d<-f*Ee%nDOkfXRJNCjQ*2*>l7j4PG%2L}(RE(oD`fwd!C{#2-Q86l zR*e1+c_|yT2=9TrDeA(%?yUiA$;$E2Wr%&*gUPKm~IDqcwAIfi;t zcusK)otXNPEKDbh*O3*9WQN4F1<~gM-ESfbF|A5`i+q?L?Pd#27>X5|oSoWyd+mS8 zrh3U}(Bv;9kcvltZgTa7`K=j6Gc$0FRMNu1nsUR-+&;08j^x3>{I z>GC{*jHw06W__fD3tsPuriL~Cl|Nx$TgvJVUyaAgDXE^w4QBIU7r>^m#F{w;K{H!( z!SV49`Go(oMaS%WVOV5%^OO_ntGL#`p4F@7rTMc1S5$?EH!m%i`<<{Say*OhM^MA$ zU#&_^tTrrq1xNStyGcOls8i`8cF`Qqy!_;9H4dfw*Sw_ky6IP#k*`XG?j>}7$nD^M z*7m?EIVC3E{DCnzq_fNQa0*jvqo2APU!T~?<`A~ilR3%%8EE6(5VFMB^_75gTJZ!L zwBFtz!k&-A%i`B^>OO{Tc5Z5YYOR^t5QrWcv1lO;A6`cntt}T@MYi2y0n|k0%!_zu z(HwzuV}8u0e@QS;PsshU{lRjUP+mxbAyDeFFQH6yeIdeeOcxo+*kARi3hl2+Wxfv@ zJCyxhLzbZ`HhO!~YbsVP9ELe^Cwb&f!cNsXh=r=0xl(&RjNO%!c1cL_NCWsCdyH1+ z#)_>^e4j4Fp)zbCG>wLg1|$EQ$7k`8{v zONVeo=L~lLmvt}4YfJ4DQir|(&+ys@52w>JG1y^99srldBB#llii}8g!a|Ss6*unX zPed#or*P!+^q#Q`?ihu(-_?ar!b3f!W5($Ax}1&~$F|oMb<7ykUYBdlC_=y{T77lJ z9W#z=uj_Y`r(lcXg_@aFAVfQj_miWW?9*1@xDoPHAP;<*y<)L7Hm6(Gdb1s3c9N6W zUUhJc3KVP_JA@sr7jdN6dohoa^V{ipEVcjmOX2?3<>D;9nvH?N`7DEV9nQ5s9UqLHXjK;x6#_#lg07(c z$uOT+C!DyPe^SSUyU(6+yTGi-MNwaUWI3#&7@=9J%h7hWswWee1(`m)BddB!ta7|n z?T3$SRl`j#K|26uuvJ|XtDFElsAB4dQ>nU5x7hn`QXDX1U3eT&>`X;_WjxX_z}N(6Lu2XY0U*z@!|3SVIm_!$4^Dl0d5#Ra>|~pw+0x z*HL{y?7VC7ag=zBo+-wSX%%g?{{oeooD5?qjUH%_@)F?6jx9Nu^6&e*f-)y`0%uO+ z#ADP}YX9RN);YRvo}-(l=D*(NCo&ER=vp4ExCVd0xJnjC@>a9+RRNZOwN^X^Bf<)7$QucE zu3(?i#w@kJA`_wD6lY?H^hpDw>wm5ef(VGz8QC3G?})sc81i7z@4$V1=fU*J=*|@c zTgQ-(9vm`2j@fX7mTz@l{qN(aD~BVO-iN6zi` zgVFK#4VJXq-%Eq8=)rN}+oK1^hij3bh9^c3RvT?^@m+2hNpD(mt;=ZJ!qc-{__9JC zJaX=^7q7w2broN5GX0SJuq^fV_vP#V;WfIX9%-mfAn?6P{27e@kUM}1ivO0jhkz={SNBi9I}&|}?XzS; z5r`GS$}Y4|Iof{^VpaN;u9OG{`@;yPhtq$5h_6cf`u*wgHs7g{ zwlj@qub(h-fk%R0m@y)PJTt94+UJesG>&>4ywR*cw&{K{XYEAMYe@T_X7iP^Ph9r1 zNQm`irDbQcgG$N;%Ck}8jYyoXr^(krR0~B?1Wxaak9Wl@i-Q>Pyp5P8K8Gk_xgqyf zcTa8Ej>sox*NwiQ?zl*IU|%5DA3l{R4wE*PtqsGsdOc|E7?4%+JyO*g$PJ%??gN1| zp1xF~Y1CYBm;h4wbN6qXI}&8)g}E3ew1rtEeCdbWirnrXgi+UaI{+tdSfFg{l8=&x zwJCt)9&K5p%@jEQit(dPB@j*D8>QwAS0aBn(1zUk6U;jmX)sJt25XrDO&OfPBp2Gh z`l(Dxt;>E?J-lQ;#BbZK2v!`}5@?xaqE*tgzo>p2G3_!+do(>?72Y9Cf_kA`&yo{` zOywVUsaq?PG#OfyVtC3T zulCY(`Tq4roDA>E-t{oka>G(To_DPM!cI{%q4#rWLVScuUhwP3_;qMPul-|PLAkEr z>rMrwgDTKl=QdRVTjwUHrfYRgFGF3H+V#37$W!S`x~9S8sjjIcUDJt9O=J3NqJ*;x z5C25@%hda@K7%k5vPNA;FsZZ>%>{BHp@=Jo-U2<8aD?NxS~CC}1pKs$2)toqir7T5 zJcYlFj!pPd9*r=*PWlM7@H|P;rNvx2f8;4G4Dj0RNGTFOlf*kqT*kc*@?>3xM$nKk z&j?Ccv{fL#*ZwBilFOU!#DaX0bs4vid|ZcUBss6+vU2_UfaHPCtC(h`_OnYlC_q-6 zRG)42&{64g&mXRl%%%2?sQTcq3|v>e-XathhljCcD5gE|=N(++H3&!NM)TTd{9c_v z>A^w8y6o3Ut5;}A|Ne`^lYNam{d-dmUUqt^{qo1@bCm|#iiYXuwH&FFmga$iL-bQQ zDu5t}Z9Q|y`bH%yOT)1?R(|vC)xPq`<*&oA~>RxQ) z_Lpj4ab;pjoWs=1H_Yf%*NF015}4bacPV`nw+rQBXprMtc%L>xF16>-$>dcK6{w!b zP)vEh7y`$%@1TC=Cxhp&DQVHzUw#4vlC(3_yIM}(wx{usQafMDBgvJzK6^;5j+ssH z4qTse_ommUA2xI=Pm|0A$0E=mzukd3@*~_MsHZP;LR+L|xh9sVhnMU-_yuabjDn1= zYU!7P85gAMInSx*tV})Xl1>A!kHQnou6Ko@1@PLV8CsJO$|xS@G4>~l8hzPL@=Gsv zWb|b!QJtxm4o!Mxt}H+I4yKXQ$~RPA>#~jO9d~S66UXuQp*FC-CA4QEN1JA)6bFth z7T!pe)mLK;6v6e9?s)saP-sbcmG7_;#EGS$HhaId%MA_~LAPK-jkIAwxo{oo$e)*NJ( z>jUD(MZ3@qS$@4Jm$E2Ic(_%M5Pqj4E<_(nJSi&WCy*WGK11nIWaLI#6q@dPXN#zuai6<~8jqqd_Lql$qMf1cJEaJ4}ALbn4lA@{1n@&?xjpu zMYTU5_cQAo6u%e^Quh(sT?3s;$W%>NeaN1wOu=*?{@vWIm5Gp%d~PkbFh8QZC+nG< zCmrZ_vLYRr_`hv0c}1oKEV%xDJJnw z#|{*ds}_@WX4y7tx*r#?rcu2${7H2$Cvak zDYen8ebJYx_dO}9>pg;(aj7#ZDcJ zVC;Vyj_S0%^Gbh;(!ekc~Roj82Zo*q!C zu8HM!(YR)2WRJJrz9iGH=$#%|(*e&i;31p~v~Vu53OcKZ(g8F?3&@msh&0}Vphy#Wt$bs@#= zhrY{rBo@vN<9kfsQlf5&!Z`b_z;2V`M~S*MRnm0S zEffSDQY~9IdtNBoHwtSC#V$xRqH1~P5EJ*E*!QN@6n-TAfp01b2=-^7TQ%|Nqr}PY z<0J?*1fn1R_9q1D z41dC(>k1+#n-#PgIj-X2l1FJRJc27&9`aNKF|o?-XM1P)hm(V&1f$I#^vLam*0q;k zK^2kq)mZnJl(N|Z8**Ks6&@a=eVO6TJjUfxeZ+KLCyKt(bO1*IV;ybA?pLyM35bR4 z{R4zL(N1@?_cO*eD}Wc?6}@~y8Lg}bhnA9h0EZH9sBe9y`vsfvG-OfO+{f_$JByT|qicdU0t`*y^ z1Shv@N@}79aGvq>NM5R?(fW?+eB>LLaPH?#RBN+(HC%dS#%~{vFM1iB%ipoA#P4sy zas7(>se-;C6c|$cSeo>Ada-~B^tYxW5S0)QYDYSIfC|ggbHuJpPf1Xm4b+qbrG1l~ zBeN!o8s8O13V6jZX)MtWdh5U7Q=@G&b0!#=u0?h+U?KH8Dl@=L95G6~aO!DW1*5ICq>qM73}Qt`JLt{Bi{}C|=v(HK{V~x) zH@mCS*YX~L4Rd4)(SATFkVK`9zEX24X-?s_)HkNTzF+4G1288!f}v!RYD6)AC1XS{nzPII_D5t+fHFauC(%39!>B5hXBi3|^w7a#onAZO5_kG7S$kD+ zYPjEN7wy09X&x!1+aszpt?b`%;>PB;T>idPbC=7N?~2_gDoK^5~c1wdGHmpj}y&WhPRN-5zIO($0iiS&7&cM?;aLx=C*2GcUm%s{Mdh3zH z%zhTUU&g6l)kcq*h*Bq(Yx%mD(v3oOloASNs4k2)T9Tv(#C;D6Z?0=2 zontpJ!q#YT&lJaQu9v-2{r=`5`8;YD3n#Gg7GC;iP> zaTeJSR#V^<>Du~0*;;`X4Q#AVrh%T%3dAS4-A^bu$*vaoh((=EreHu>c>)q2|Ct7f zepcMR??2@>)_X|_xlWf3D7fCYNDhz_*CYLL_AL&?RHgp|;byxSwX=t*jb>zDDv-{G zcQj<;W2ZkNE!O4Pqw1BQdj>1u)_0bGum)L>6*y=L@$|>2cnzmkqRg6$zC1P zT9The%o00fcv=l7K6dm^okkw7Q;m3`hl6>M^8{RT>o{Ad0Rwa8Mp!#_5W}*uc;DZb@|NVDV zF|+yvU!@w!srKCeNDbs^lKQR_4jwP6p3Bq=eGoE@ALdbx2yR9FuCR}{N9hX8UNB4U z{ORDI1wHLoPUIqek_3QvCqMFErrS*FNwjCiYf6^L$@bEeI)qTa7UEJql`_Gcz%2yt zNuR%qoppE`!E)j%PS=#Oe6Z%3QO4UhN{~6XlbmyhP z_uAX6kL-shZ8Pg$@eQ#H-zXqe!GQ>Q{xn z1oy@C;)|_<9shPMzK0V9rhOJC%0+*I@!;sfqfdz3@9^V*$65FL8;oD(;T)DFA#4}U zksPaz9V{~mtv}|Q-0kdG)!XCgZK6#w3Zz;8S@ck$(GrnNKpF*boQ%)?4PX<$c5e{1 z%TC5Qa4Q$Fl?9X}#GQjw?qYWB=dM>+U|pWLrj{>GBi3K+mv$|6U?R0>c@^Yi9ZHWPk+;?@32qKAmIy;<_pTq(bHtuz!qo^lL!d zwZG6O)26fbEGb|-qd}_r@&?l(^{JP48|4MG+i667TuctS^eE-^A)C?zdcT)fR~T9f z!S>ruG0CnzR8b@|7FEd#B?+e*)x{;eC1ClJ8$&(&o^NJmEm$(If6Cr?UGKsTjg1X4O~G8wGC^t--FC4=zvyMQf6Ao@ouY{TE}^ z!gnB$Y!Ug7a-ICBPT6;2O|O9%tYZhDQvZpf=MA-y1I(07pl+N?$SW^Rl(qxBkYkqk zKFMb?g1#Q*GfV9!eR+U>aHvqD70W>U;*{~j8(boJJBgo6)t?}h$yEKGh-lU-!B8f{ zE7=*=>kPZ-2b}3$g1W+v)~IXY%H*cOA65_k@VL~wmExKW2h307L_DVJVLclXOBDf_ z`SiEMxA-uqy2KTHOI*qy96((x&w_sOe4#v7=;w*@Ec`9Le?^{8)z2sBpE3Njf8$!Y zpM}tDF9zLcUf07MWw{T_mfdN7obg&(Jfy^T{rrl!PG7ol0E;L)y@9&zEq^&`dBOed z^9zq!UQlxTxTB}nOZtA}sO9~VUU&5N)wR2Z88D+66`HL6qk(wrz`_Ihjd69lKYI13 z<5RF;%hA&X8rr|>PZxZ$Sl9$|S?4>v0+}Qs%>)DquOJ|@>n=9eViKYUGAx1~uE;<0 z$>rVx`5}n}{PyCHvODn`l7wI2S7$f?N#s6DNFD{j;QAD8=M3!b*um zDew5tKsD>9}tfzEn-2@o#j(%F$_%VONqttaJeJcb~0_(dJz9%0ReM2C* zqHymmQLBCi-cmVe(*1+T$>piu-pdov;ip`pLIQ9P2>xhq+aG*iG> zaVsC`YXf~XF(vDzjIm<2eBAEayl^~D+VEtW3gF??y#)mwmwRg{+L>EZwk7hh@yrXp zwRi#QPMk&l=e-p5y}a;b206u=_F2%%jc$O4`$9hcZ-xZPInwuW<9p=(l>6QHu`0Ni zN0UqWamw=Zr2cVuC%wFtZ9v1=Xt|nv(GA0*@AWxu{L4O6ltrbKS4%qT>dcbn^7#MD zl48H2eM$;R@hH7>kP*2??5(fps1;K{yi~Nvbl{46)iq;33?3#?Eq+G2vpM3khRTTu zBGY`9Do*cqcRFyjtS6c%=9~!cOYI+hg}AlnZlriGl7DYxs#+v;Mx5?MJBwv+4R^oJ z-tuj0{3o7nkJlSz+miG~>EN>BS39?L$5GbuZH>IOT275`^YSqPJjb!)q=>!$N?eC^?5aW+of}bV)GKuUtFp0S z=cq5vtc+mR*vjB^vYVf{N*0lRNFMuSIvVVFSdBH%^yyxs^({UJFL+ZwfGW&ib^?2U zzKAO2U}*VdL65(E$;4!S`m3DUCJM5@^cmzRh0w)%)8;bKz$ArVr&(}KSqv|;Ue0HA zz#S3-G{$uB_8=1@2VOd<&ftsmPeXZS zC*kvkp6U6U@267Oc&VMY#l5jC5#3Yl%m;HIB#bi$iiFX$i(u_wEl144DR2WUTjsz` z7m~`MOMRxL2raR!vceZDs$1ZdpC`K9%OLb2kDe$FQp3LFLd?|lhSr-|0HyD5Z05h= zFCael!5;}0EL9vohYb=RKPl*bSOHr>@8z_VC4v8$wa#?o!}l`XSi3NN8dme9ww&6# zzvc}AlJcM5VE;!Z*AFCD(m6`^WIivG&q7d38>)hD@x|)aZcQ8PYce@6Q#lVMU$eT! z?H7}jjh6`Wk$pGU+Y4VBaPc0I{&wepi+x~vTy+!1Cw|wtQjz>UeH{ zG1J8X*LqfTn06LJ*lRYg)NKK7A& zS!cvh&s-=BkF;D;85Pbb>Pi$ezqJ=HZIkxY+>oe=f9=%oVM*Xl#_!0(7SdQD1ag4z zXV#lt$-?G;h(EXH_tjr<sSNcIfO1%)Zmz$96f^P_$B zMvFLc_EpX^T4u<{8OwY#cou_DUyrfke14-#!)%DHW-R&;H5+Z?)wjhwiDsN^m90c} zLfH~_JaPN2$a|xcw^V;slMo;Kb?57`e6^O&FI&1Sn({POF(is? zj2+`_@sOK7z2Q^byi)qLjJ@DprSMSUBf~a=btP)U64VnPU;-WC&Q>l{c{o*GIw70s z$h<4zMkNcBS1;5XnH(2DM|vmna29^>y8Tlr9%>;i1FjHs$u>{*7_1V23}=!#B>=0wI-c^6L#7trrX;i3GU7|GiZI4?)4 zFjHG1>uas|l`98vZi?g8WhGOptdD{fcX^C^E&|u9#Sr_hat)xK{vik&)H!aM)?(Eo z20i#zxDors*pyc3C!uy}V)=PS+b43cSbdNEn>rw)3JsC6mg6onwG1V{yfuQ*sUyO2 z?%O2ytB^R9@Z0;P1l3H&ZabYzRkfjB%rR5Oy|1z)7?&z`?}Q%JVrwVgq>#}nXG}M! zcN{I;FD(QSP?zc`ZE72O>Ay=w z+jf8^5WX-&5>oGNxmHE`=&7-`U{opARX~_yk#?_UhIRZaB2e_JvJX~#l6D12%hF2+ zbPu$BQuaYv#`K2$8wd?)=z(vm1&5C$HmzdM&*lRIg66Z{hOXn&;{j5CCJey8|A!c03@a<&K)%Q0&h5|8_Y651oWOgp%q|qHlIrM`*?X5MWZ)Q2L-4Icuk|~QZNk3+YVblW3sRrj_ykR z{ZSaK*?MT=`%?bP-kYWNo#e_o7?M6{jh;JVjkN#F+BRbQ9#9%YJF$Z5mQ8@QZ3sXY zDzEWvG@@(y5Gva!f?;1*(5UWGF&}=zSL{AQU5O&D!$OzXVH>V83C~KNPQokZ*7#;L z2&=As0sQaEIf3YuoWl#Q4G@#ns;tKyKoQop76CSh88fpqOl$|Rt=LTQy2lRXZq^rk zNT@`Rs~KMLD8&P44Ewj(64W7QW-0$Xq6K_v?6~Af3Nf%-CJA3d-iEOjdog;TaKTN}nx>ozZR37f zz9c`8)=m5LE9G7oQf~0Y_rhe2Jk zK=WA2?TH*nCk$)3eGcv-)afj@bC+eGPRAeJwS!be2b|S%`(@#?vK6n@2YJw0Hth|6 z8gNN`&RPEM5oeh|S6Q^Oh%Gdz|Fa0kWK@9rZds1wKhU`Ng?z^^D@qh&FN2KGQ}EDN zg@S+@A`!{jjYRRlk&Xn|&~F$3wMbMAP=R^P2mCx4EqnRfd_V{TW5qlCmG~54emS1E z27MpJX3jTSIY*7;QK4)O?_czl}GUar}nyWX2aP{F7V*j>>~z!!O&N z=d!@jZtc+{^-=`0Q!^eFpYBcgQ!asVha-vuFwxcbUpn6l`oAYt>x77v&=6g{MW#=> z_6`|=XMwWy1aUwa-Dvrn{t~jb;O-I(zsT%*Ki72kh#4b!&_kXlHXS2$c)DMa8>P?& zaWXVxj;KP7vTsLHikk8ql2DG4#|C+nRk8VTdt*rQW zgs+L7MSNPJ{p>l;is5PiYqlAE_C!Bt!!_VOMiscOFEHhf>BpNK zL)+|oy54U57vmjx_6Ob5e>&o94;amAE?bv`o}$R zuVNv)=vpR|V`r|rw+3muX`hccP{TT2|^gxPPK?YpF~B?`gf z2Z#}uBHOYqEx}X6g0W_Nly$WKW5-u3~~dG_Iwqh&BLKfz>XU zIkI0xe^}0e_CBI;?ZLLw%GtxmAb|6k2?~K@Z?YFoSMtR9^i=@6(JBI<=%0l@ff}z* zUY6n(2W&}&cUQRcC275iEP5N&$h55VMXrfF5HYJN2BJ88c7PFifw z`Qu=0D=R_i&^2AL^mNXg!k-LO?Y{caI92 zP+H;f+yF+~7!Dug%^Xb_`~`VNLe8U7<1i~$%hoVjKjds$-&5N}(GPb?ww>z0UJ4u# zlHw=wNz@{tBEo^@zHd*wWp)Hv%h>N0F|R6%3&BU?=Tb_rW;xl5mGel*p!)cdMBB#2 zrxD#Xussoo2YRPmx2P!CKEgyuE*W8GNVen~*rw>>s>L6)d@sw}rc^X!|Mu*8LY zNz)gvNUOp(2G0;(Mxx>^$w8b|xcrvT4dUVM;gf~ACj8YoTytVr+Yms#e7V00#%r|K z2uPe*Ne#r!ax9#N6kRAZ-g;zD*-3J9=hQLv#h86{sKWbgKk`WQb+PxbTL$e z$?u`I+CvgO*8+PzAA9ehXFp(BqPr&J*;rsRTT6pzeC0YL@tvx*e?}MlL}Y2(i&jzYrFt#At$xgoBaf`Cn!IS1~uRI3+UuV*Qk0Ux3I21Y|`uMv6uM-EY86BC*jYc zs};nJ0PbS4VUh^}ak##k5aAk5#{EITKuS#)6744d*Tdb!=0gxWu z*)Gl>os}y73z2f-N@^!mULOn1e9tr8Gr`-HLf}u-PQ@KeQkP80yqryTt6BOlp?iia zKQuD2R_qDBsTd&J-`4pbk^G`98C@+j7zbbvf6e&!Y-v)>+>YDH^1AwZzv5U+)AQ5Y zxkhj2(~$$+8o&!q-0$pXXce`e=j;7kliaEHvr~ndp3}T)+GUvUtBIAT2Qp7j!Duj^ znb|1a@YwMS^jv1o@5ZkUp5JrbuRE^AN+~*D7rl(4S+jcs19E1!W_HFk6z5v;lhv5# zV%@x0@R#8bb}q4a{L?^59|#^AzQ zAulHo(%6Y6D$(gcN>3HK1bP|XqTTm~qL+u7ImCX?hhD-X&;VR7?Q=!BvVc&*M~=f* zZ`;Ss5FXl%7NPK8E@c&CvIS~<+ZG%bD%%7%71k&;I3Qj_Gv(CcKgoi0STxm4EBYjh z5VCd$I(p3Qdx!#M{UvCPU+JLO!T7vX)#z*Hw$xG+t$Cx)Q%OHKp<%BKKY70x$U1@KLe!9|vtQ|SpXJy2%@WHeP) zmvVS+k3M;nD+ycVQ#c*ND}KF|9)!z+mes>UjTP;b9tjg>vt7&0$Bh3m-AYVlCR$~! zwT^Vt{R1fj0J2ZlIXluhC#96l=1r^yuGlHDTIiZHQe+QUiL#!uk8lA!Ezz}m_-YJe zTpcf%UAx^S!_MwuQl$gLR?ZE)Vh8qh=0tAJnkF15RKgvT9bv|chKWpA?Fyr^%Lj62D<)bC>kjJ`quqQ_bLX>8;)Uc&3WM>C$!k zv7@KUU~J(p6ViJeH|uaCtSZo3ql>vBHFh$4_P|wnlE^xiM;u_NsR~^DfH~Thqs1Nzd?r z`W+{#qi&y5C-V;b0ZN74?E}`@t5IcP)8pEE|Beg?OB{_47`uJ46dk~~imsME(z~7F zgjZpKb}xricmQHFZ&?D6HHEBdg8kpJjk-PbQD4|nK zpQy^a#50T9Ndk)t?S~Q1o81Z$NnMJo8Hl;;k z>G{dNhia_9BFi#iH3?$iL_tuCO0nAbjQT%GLjbTz`XWHTbcod6TJn&Tfsq_|PN1m( zVUTcto^IMsZr9-Mcal4uAWB!q>`A5k9eYjd2TfFr)UF&Kiq+9If>yi37wU&R@u7pN zgf!vXgoge4#9XN;HnZN0w3%ste3$ zJ42=4uM$GOS5>8>`^%WkF9SJ$XX$c!&Nw&Bj$RGtSVj~b44vmS#EVN#{nxRnT%t&^!`bTYDUlNVlkR));% zmzqPQ*JQ4*nurvVMNl2OSFMDdGfwf~#soVK_17--RyM$ql4|2ZyIV8o$qkz%xTtk5SE}jgwvh4LLhxt&`m#8Eea4oNhdm zmygG}&hThhfG)XhVc2!%BF1<}_l3#M$?6;ztS2o*gQS6g> z-mc(`$^s6Py%*rVvabSGp|L4?Fcm&qH*T%p-V0g^deu8z*iZ`%-IQ+$2k@KA#SjN9+a{rI}(@^ zLGYu@8)0(_Ss%w2)UyimY__L@#Y{?xe&plwr8_Fv1^;tX><^!5#(%I;R`O%80;ANY_}JHw>ZHKu91_X5#b~`kZ4;#1s*uX89|7S^ z6OR4~2YLhf-e9u>x`a;OOEO3x*JR!u9d1%W&eVZUgUk&f=fs6BEP!zK<`$3r@wcnIK2bHWqP+jvZV*g zxju56u;Sc_e*14Cn-LDcoI%DW*>J>fkN8O%j-+8tR=Vbg-ToIw7|p1^WT(q&VuyN^ zbct(r1>G2c$E&ai_LzUBQv22_S@ITpqU2G1b!5rjS_?)=XIdA_K3-FxUUb(#M^6$! zcfe5?h%Q-%|B+65wc0CPdqOmrj&NUh_V*B#DED>1xud(UtFdk_t!;Zp!nisiYngC7 z(y_^%Lj!im)|qYMWe59M!OS|Nyyqv=m13T%>POaqB84%(RPwL z?zy0VOO3WdUO)pcUT(Av;gPWF#7_^#ug--ziUevKJ?H5dqg8Z8c*14IpY&5PVh^5b zt!T~T{rEqoYQ3m>RO*=pd|Bt#&kkz1Edi+-AKtzA$M{WR~y&S-CLs&mp> z;%a~gw-5X$MV+AH^5_2oN^GuN8iWvpL*o=HF8un(DpRURu9udF7DQ~9MXO$17UQAa(aii^4 zx-Ey_u{;r3WTxNE7tFiqo9I0q#6?_Kq6pn>U4^@iQ4j1m7W_dl5M^N6Jq@aclYGf1 z1+M*Du_ngBk#N<%QH(dTLNf-&2_BKr8zXhI-JZ|+j;=>D@QwDGY(0gH*Ny|$dNn}7;! zf&2)n3Hhd*81gyB4+yc~j7=Ckeq6R}kl2UafqdyazY5SaU(k5d&3H!rr`qgdCaQ=0 ze_mHZcI6Bl^40&;LpIvpp_1rb1up9wOsa^7nmV7?T$t zJNIU}h@5Zd@eS;y$U7`@%_qj~RIp)K&L_s*)y2uLk@w>4yhC)}ao*~j$XA`r)j2A6 zX>u4!qZ3?_<5KH=Nu#A+?P})TAGlUsQtX0{nMW0yEUgJBN-p-(L-E8>S*SE^iqNyM zP`Q~=+}24zg7C#hM>CPP_EnB|>s6LZMqpR} zUKAEHXrr@SA=ArEtmKO(~M^(pE(!ec51fb#0jTy%__wSXw2NXvB{T0 z+WHP!0-Ny=C-I>RBpqiUXp5vhQ@Ie^Sq85f)T z!`b_}dL1%huAG9gr}EQE_>e8A|8KQdNE*+&u3rHjsY~nT2Re2t!s~#2y{>Qj{kp!H zstk(oTkMhv2UD%Ph({40yHf_sr>{wB*N3n*F^GE2&Lsz_PdTZ_W!e+%rG&s^fD95w z1n@%GX=O@Br%u4nzn3*?8;D|M13{RfQkfkNd#PPE6Kd-mKFKE2pNi#^$PRb?ld%kx z9kwctyc4#eo0WmHE7b_^v|pyn0aqt(APrk;FBJAE*F%`TA56GAX7u zbu8dfV#11MAs8a|pmS|vyg$Fz>gAT{u3|t8$%kf%wR6$c;%p?IH%{b^i!MEK8(At?9F`2Ig^B46PPXUU$3IWU0jBd~wJtMfMk(OINDCgh_UVekaWdCl z8rB3Zx0)X!F=#d4FL|tO){h_MAyC#C(EO{;|{cU86 zf$i@${UfI)_WdS4T@tS;P1Rr^+j2WChPEeKcZICY;bZIK!4X6#ot6{YZr2#U>r9TQ zjR#V^)S^UWO>2;l^EJLsV};CF>#mwui=gq5QTtjRWB zF~rUXjc$x zaAPvWTnm97{zOFNOOhW@Z@976x3kumwv(KZd}%V=kUXJvqXf@Rg^vlvgHxqBu#Ao3 zuJb^urI>a?!h_t9U+ddyv`pZNsBPQT-f;^F;WKB%gC|j9ZR7F%oikU_Bl*u?{}qgmCm3cy$hmtky`tXp6%}^#S|p{RL;D_n9|7(AE_>D>$O3s=Z)5 zF)yop+Z(%4+O74iH(Kssx|5u@&Gz|>f~h<~p3C$z6wYS*6rKg)Raa;EK!tUOP|e&~ z==9CEr`?;rr8NG~FN*3{Cnu=%-lk`N!|b{u#g^Lb>K=vq`o6v+Uy0c2^d`Te2rD|$ zA*81cdG5G1AEY&YMC7i)`Xbw9umflwa9{!84wkqfkV^~_h2=U3NOz!sF7i=fjbM+O zpuAy;SE7^b%nl(`{<*=3-Vz=o?q=;B>ft4OE5ABGiC1b?S69XsTwNwNTyz**{><( z3xRZ^d@%~;3)8pLsNPA%!YmX`m!Nf@K+Rg~1+_+jj*Y-Ht8THmy*Gp%m;|K}1&ocR z@w>m6sh-g3ononGRiizUw^bF{-dk(+p?o(i7@waCA^hVIRGt3MK-mVomrUDHHE~bX z#9dHaLnHZtr*aZc(i&WU_DTllGFpGa$H0H*Bz_>j034$&#*346GrWfOvsE(H11fd#EsIrq09h^)!-zO z$-`7yt+lm1VqNN~o}<D*?H)tHLtUBoU@N|22Y^Y>5v_9RL7Y4p00_)`@=rrrU$Z zLwZ3q#GE-=3$C7YV2=aO87WRnNd?V^;1mN+C3O4Q`OvEf#ZY{>=`MkR&@t0B&k(B& zFYM25NY_Lhfnw{-YU}-(3lXj}33&;AZ9ksL{<}1RHh0>~{R=nua4&a{^`^Bn1gcG! z&31C%LGGB-wO+yLnoyx#ucM|k>~w7)!oA{&-c!*%tdMnPIng0#!Rf~hDWIB#{q;i= zyG5Z=B)1{il>IIykQ2kmwDx;muMli_X{6#04~fGLCV}2t8|>4_;|rfaVnL$;CZ*It@P< z>92L>kBaF0A7zSvi4?jx$^HIWZi8+k+DU7>h5}E=Yk61_xr|6AG5Xv_m9W|-(Z(oB zGPfkjT{ek8fuba_k|fuWq{mj|JYMUzVL!Fuxxc$3%>8K2Q8B+3Y(XR5{VuUf-x%da zM=E|@M>u$H<0qB3t`?IfHhQ^N!stG;KXELr)wIOdndFy(=BXh1F^i$pcfmeV6JXQK zI4kOW5^*ddl9VG;b{;TdHq;z%Q$ME+{~`mi4?sbXw^1>&F^PMlqWH%6HdnmGG$D^~ zi@xF>g^yJ{M{OzmQ6y5xwoJY=O#p*urF1hF2fSyHUuSL9&+D<&ER+0rjBl<3SwW7@ z$vDL1JwXAR;1rg0U~&^OvwyQ8$jshA*OQxei%(5%s*JZ;PVcfxPG)@U!^23eNIpd%zPEY`F{5JS8cQ4^i1$)YRp#(eo ze4Rfa)V`3#m|^CL!w z3gC{53@LuUw3#20oD;nm7n0`{Ot&_g^RCUkZ@lME2|oaQ@t+fa@aM!2+GTvuynfBD z>tD8G`~Y0ehcHa-@D8#{Pnh->&9K2#0Hy^XE(*xtaWzVonZGt-Fst`;e3+>Or%4F5 z7tU|TK;pDefSdMxnRk7Q2O1nw$-ITcXyBhB?T$3hS`6Ac^CVx=ClIAMe_A+ohX4jX zf(&A*J9K&Q(FTH^?dPK!q0WiAOoT$9NoxU-Nh^$tl(r{zq!H5Yg@n8Bn5vNOJFap+ z7B)J6NjE;PwT*6TlN|(oR)g!j2G@EG#$4YW%1&iE(DB_OU)s@fR4dHg+&T1W7VXrI z;G-LvgbgIb*QjjWciiWG^aj>y%VDT?V$ayz2~4uMj)Kg2!aBMF%m`p(cfvaWJ+^Z<7V@;by=75W*g>X29SA1HZKN^-786 z*yE-iMVO&+D}9|U+_IdF!ARhF-`tR{TxT6TmC$97e1J*sa0OLhiCZx95H;TBzwg}< zET5H$Gs8_6A%o>371We46rtTz;NG(0GaeIxYZo!OWmdX(sHA)Au6Qpsad2|`C{#b_ zHr>9zZ|>i5Y#m<>D=w0l&*8}k3Uq6{vo%-aIIqU9g#8y`e`c|AyEQ(7GXkGoYJBag z@#W>2)_m?6`P`pitV!)XsOjSRFt21~Nl&a(CC&@xO=4G7lxOzJ=ZxiZF7t9upr>?C z{5qa&SmsIxqSqd1W22C7@ym%Ph+`monKTu=|&Waui91dBW&^K z=Zb#=N9MGA@&B7Iez04-uL}!vK*krrkbura(cZ##5;Q%l#t$mj+N<_;X)F2`UbbgC zd`Ve)aMvj2PK)4|1UEY$g#z#TuHQshBt3Kg>|hlVb}mKaW6CGKgr z%)L#uEJf4=jOJWvqzMOJ^UdwT5gPq;7@3B-SK@YWr`v{k7gf8tNlvNksY7Ps2se5o z8YZ<>v|LA#snzL|K!qaP&2l1b%$~M5bUOfJwV6c#y7rQ9H|HLt!$LRz8Ms3I*g{)1 zA{_Y0cU^!L7eQ%=9?BuemDw**v2<+Q!vcGqz-*+5~Vl^O`= z4_4|i^GjAQyYL;t_`KzQB*czSG*UjQh0l}jXPNt1;(i`>KmX%??sh*?ct{34O8NZ6 z{Rne{FKIv7Ye84e<`2w?24hBDuB#X0B7CwNeoj98R5!eZxbggbhrfWfFzD>w>^Gq$ zYLm!qx0!YA=euKkt)*!0;h~*_bi4`W12=O3t(a8+C5jb!il$ivGqjn*XXeh$&w?3% zt$vu-KgO}Qqg>02=CC2ITuYfwAuB9#y>_XqqT(#qSuGy3*)TUt!O85YsoB#~v*U1` z^)g=Y#@k;D@THdc?SiqyIP>M9b_F_<2s72zlUkztFl8^w)RK8_V%>LU^AJWkwPb;f zzK35#6?B#Hu~(U;YZhT*3*(^sL zu3>XO+MvB^2F9!7=4%fyi7tpYFg~LAYZLh<42-vfGg;<^m?% z;*L{xK%YR+J>r5Spp&7J0Fk_1k?f;@_h6K80TVPq%5E4`fz~pURu0rKcJT$3j1oG> z)|#;4?lk_ub=%&Y?Yixhg9FWTHlA;ngj;D-X{A~*5wB7x0R(hVrHM zHPo)uW-I8p`2qvo0)YaHdI2z4(uJois&B1X#+O16Z$p6K5nBS_rMcI-(v@$#z#G~w z_8(Z6l?*!8bplS7C`4hr{R8;xwAYH~uiYFg(AJ%JZzGn(+x2(d^x`xFhX#(in2y`=eMy?9@5s&hy}FTxE4q z{?v6H2rQT3$aYV_mt;8g=7>`hADutY#pZdy^TnDo3AI$}MJ>+Uz~SYrfWYbdbwia*oiy~w=w{_HJgPj>bc!X=o`UB5RbhX8 zh#yF}f+YlkdUN(moWWCVOKN@@W!gb`{qR+WMQV|FsKsF>=BEL{0NC?I4XCxaO=AfL zvD5|PNRlkCC*X@l`ie5ibGnw!EA1uRDk=l4T};dH+w8Q&2RoaySK5{IGYvcw$ge%0 zUU!!pN{DJch`0@U@f8~M2Y@@)!j|U1+cS<~5HITW1J4W&QnCrYSD8Wncl z%SxfkFTL!)B)bOmpI59_{2tC$RdhA@IqY$dw+m*ixdbnbsMbAghiiOW^!$$^7i|G4 z6CR7=L%Sa3jucWbnqx!OKF24tF6>+|b{fsI0a*f~&Uis-c+_XWb&K_?TTrqy}J4t>$UKKN^~32x+RHz@mM z;p=5b#J(@h^`J&wXfUythMdk{YpYt3X{IXqFT>9xX>8E8{Rl#xi^sMDy;}c)HkFkT zE3|zQZ3p!6b(JeNa8Y}FG&9UAe=V>411T?-x`vU^8?ec2@rpcLo9Uob?J)TMZNIczi4bf}to2KE}%~q-x!aD{Y!p|Pnwo%0y@pv);F?Avd4EUQUA*9 zIF@@cR}z!7U|U(@P;x8{yE)EPj@k}el&d3Yt{2ln3=O%5l9*9(Fd_XyCk8;ag?msk zFXvobd`Fhvvx+}<7x7M7V`Tb-^YdUZ3nLY1CKAa^zSEY!_#hR>EUV_2mqXpP(bQRO z5ob_q8bPCUO$V6HC<@K1BTc`mU!dWrf;l?Q2oE^K6wI z1ftohE^(4?hBwxy3&vI+Sd*9r_XdJ22js#+{VOmH03GSKwkg-mV$QQodad})0~Xz1 z$Xo!|2vh$efi*d%cMh0Q^n$W|oqyKhhw<9ZHFBhH5NxT}Am=pw3Be`0_yK}UJ>_ei z+WE%D3`n)rX08=d*_;J!_hBTpFsQtN4<(`mdp*kHfkRy)cA;*P37~XtxQAZ^LY%qE zmFkw)^F&gM7Fgd6w!maw`pIzv5U=I%cU;{l{cR1-W*vyMX-Xt@o6S`Ia+mjOg6z+yd`P@c@&b1^=>9O>NGJbN@u?7P*uA;RwYPDJkac^EX?D56gCk!X^ zdbHZd`c-i;=eHgDuw3}~l2RljW{MM>qc=u@^1dSG30)=)q2%9(q6&^T60bD(TpCNg z5hT!P$*@QYjNPOvJI%03=o~^?0v?G-YV7JzvVVxLOJv0uQ-8pY-Qjw(re*X92M*%y~yX=aBzHP5{hH-2J`Yx8pk4Sxe#DJj%`W%l|{JMJx}!ZrchcxX1J9 zJ$Z`WMCtSb5}Unmw>feokD{~Q)vdmjR7KCGqIl$rPM)&!yTEaEx4#TBx;Ve+5vQCc zY;j%0*)#@z-pBQB`n+x5*IcK*jrkK0)}tFnltE%bji8Hop{&C5+CA!;RI9UEJ0q|2 z;MbP?__;a{zMgMz5pQ~=i+yb@Z}@hdjf3C{w`U`Zns>D)i4;jq_Ro1j$Dp>z6&}ye zCHRH;t^t4(Q{~zCdn^-GdQ!PFSBH#_7v~0@n5o-z^iU=$M|9l8zlR3GZIp-HjgL2` zg>b(1!U!Y*5O!Xksa9%dp|ZkqZb--lppW+!`Q&*eO+d(*fG~PXTYLu8Nt?QBOJZ$~ zrK)o|BwaFfJfU3&Wq6_WSQx|CslAqbqMIs+`8B^0=jR=^Lieh{T*&QPw)eX|M~7M2 z6)^7AymXAfk7vy5&vL{4u=_S)in?#pIZNcvh|InQUIW8D=&$~&ID6Y70>+*(8B~MO zyQ4T6zJ+1WHl=SSeS-6?W`A4iZSz$OX}c(#4o9r_IrGxi?ULbTX%uKGmdnqR!cEtF z&ux`!*4w=L7dw!``(11?_k$5@0qNkhpq3VlgM%_rtADj+f4;T&>-p9>Er(gTvKBwS zMnZ#p{l0}Qty5Ct53`%F6E$RWu8j__+kJTA_Bpc~cy^T~h9qYXu9z{%wlFXM;O>M$ zeaBTXavb|{<_f#kx{w_F} z!=sl*ohQw@_XNL4yg*6^UH*O+?PnB+6t)y#iYKJTQedG-gKkk>@ex!~MJ0ndgcu7c zxAk-wTDc*YH;l7<4Al2?8zQMIt5a82#nM0UM^irn8OSjos!d&4hf6YhF=rXVMYJ&l zk(pZo+i-qUDZn}ny$T5AG`V5t5H-ghvFXzp>DA^n&Uvh-K<|pb)l+7>t|1w2yB-|Z zmv~RcT38dGJiU9F`JX?JK+HK&74!!XFv*_%*ujjZf3L*vNDkcGU-O$72&DiQ&F1*c zV*YcU;~g9xz1;lbT?Q?ELV13asDVMZH3a=liNUbIj^v?W?xR7J;QN_YSP|DxZk*u> zjW(D~VDfno)tc9=V>df`nLpzhD7R7flqB3&~cxof(pUK|w_*jn>Hc(_LaGJ>i8|xvU78}gta75s!H4nQEY?WBYT5|_q z*iHcweHv|{_cAvSCcK;QWo(;2#23t)r z6S;)O76(~b<^_=D#iUqZJ$U<8o222b!NNpx4JlPE5Dws*EQh=&z5aM{%lPhhrbajvMj-uEnbK z`MT~RvE4`$>%wSA5Ts-E^YA5Y*jc5g0&02G2XVB80xw`yswGnHn&>!#%HM}4kWx~o zm1WLQ)z104m+Btl$^%6_KFBGC-oco&Ir`jtG1!%XOk#)h(qRmj-a{HY%IbSKa9Mj| zcq}k;lCSeJt|QcF^Hzy0MLiSZE6Mxx>_EH^)@^6->R8jPDqrUqF^y!Rf6*E;7%zZ5ZWl=!T>L~B~h9W>wu?>oiId{6x@xGQx zT!Zi^et%kDOS_!D>&8Jc04!WYI;xmzZ|g`ZRE;b`9bqt(oXbUd!)iI5xxF^z0IVqgFtUc3WdqNkyXPWb> z_6^J5ocHvIvTOv)^4T9T_TElnK0agdB+kkq3^MmYbF)pSMDZ$fUv&gXt?Gfkn zNp8^J-rU{~M?j+pMtdJ4oc>H8wNr(RRhgrp9dN}d^QRDmG9S}8H{)=X6%G75J}TTa zvmuUB;4|vnm{VWh-rwBwUbs76e~^Ca9@84<0{NabtTQRFL~ZsZg<;5#%Ghlk$Ckw} z?YL%eSz>C(HI-$F^Lz`h|1(LDPKzHiC4}yv;mtkogu5@OKPdYR-@;y0K=Jla%Wegw z>sxrU61xG%zL5`5wa)cg%uCH4q0SZP$=}lKYyPKgSg7I?Ht?j(4{4vIID~v%R>NDy z7TZg)&7E6pX!Vh~(BBaXb4;UWiN_nKcR-(e(;I!AcPYSDdF9^)Q2?sDz{79A2SDyhK&t75Q{C3pVA?9glN_&a z1WE5E)l7{nwBQuApp8OZcHp478B$5+JGR;zwV|UhLUkVD)fzOvRdgNR(ne8-pgCdP**pBkiu zA=Uf{rKrC_^C^wa+>IC7Hou|g-juaT8}+)PwDKt}mKYXpdPuM3xU719__f?*tbJPx z+KXcLZd5Pap&YqMpniTKzi;{D?Lr<4sy;hbOZNztZdLryh_km_=U1V3WcOwJ#A^`D z+eqcQ@Z7lTXpf9W+Qzl=j$)qFg@eJg7E9jlz;B;%fHq6F<7yf9BxC zH~6hge6894-PXiGQFKs}0%3Ke*h7s#c~^WXGTK^4qxB8hVbO|{I9zcep%vyXuFL+H z=E!eWG5G~6bAI!v{F1P~@)2Y>n~=oIS()>jgY6U9N?7~Ng%;gx%NPfSwRoP}O0aFk z^XoSwg^ewR*9VO6qdSamv7Q|(LSi3ph>*P5nyL%?&ke0cUr;E!)+_rGw`|&8TipIdwzvW9S5c*PD5PiNEWvP+RgyWW8D9l5 z^_ZONs4vgt46^CX?exu3K4G$|02MHMnoW*bD)B^rKs3px@;6PmsYl%8VA$c0c0LJ1 zWv>e?nNMBQ$4SM2YuMNswL0P)U#B8Q#Zu=Lo)A{&C<2Gh3SDzw@9z^>nf+rVJ$rNM z)KDLf&0~w#;SMT<-1BC@dRsSez3qfwX*+mFtq8N9m9x7+w}q)t?~wa6A8)gcspbRM zfvyVIQ73?x<>R8b&z}tF`5`jAE_V=!0L$alQeDa&bf3+;*4)XLXF1$KCswm-EPGGp z1_E=BVZA?#-n;Ga?^K)9J9GRwB|J4KdDW^DR9xr6ZyRIICPc8uyqprIqP)8{btcUV zRm;H?gzCCw$EMNzM3Q=J^#*gq273#~Fu_-!bNbCbasnAO27CS$3%n6;M(#e;^CQIC zR|d!ZEB@_ZNB{76Bfq=Hzm6oxSXUCH!IVD_geA!gT|UmTVE55g{mZ)dmmo-E_MyOY zIaPK%6FU5d_&SA&<#241-k1oDd6p74{~lH4YVD8Y6Uk=YdO9BX z@aigx!TQsxEO9`in-{n)vS)!%w>k_8R>XAKl&(_GwZq9 z&1<;kt2n=TKIe>>HF8SqUg3W%gg+$bLm+uIeRt#OSq?Q`%XZ+iWCz%x!8{e)6>JbO zzuRTJ-}LMlD{GR4NYBMmAV|P{N>fD%WG4YgO9(QN8;t6pD*WrzZ^{bG?P|X(Rm@Z92RJo*#{A>j+!>>Z z7#Lq?R&}wG^Y{F~_(|q~iN$kO91s6%N!-Blr7OPLyn1{tzYNg8*9D@Xn1PVP&J5RK z=OS0~=N%e(wnv-?SF@t5stEwKXy8L%=Vk(8O~2^nM`czDqNEbgof}Cr*kq?E(AH^2`WQ#heyO zJ%cAIL~a;R`@35(YyWa+-10<4_vE4BrrSEmETTruf%Q6+xSRG|XIrW?Bf2M7z=*dz z(>sJ3lTU0QF+4Zta}oqU6p^Ha4<#neauH@OCBP zkC!Pj@E6o+FV9THO-WLvP2*e+E4LsOb3CzD1mdRpjlwztAFQ1DalfLDP$6l;?RQ@N z0$OImZ=oriSDs29X(Q~|IGr}SsXXy*oOhD4DKr=bIe0X5C&@j6BDn>hv8P6^Su1C8#0{ zi9TZG;;s6t`gi0)Ur47rMvw)vBWd*{s^N1IpOCXgR4K4@fw=}%JdUqWu0rW1YvH#8+*H32DvNCS-R9zcP^Ly>%j7v`^vjV=kmmXXmfCuPiZFc z&w4{}ON?Z#u(BJe_oq~1-+N7GSenNfjp5Yf5lb_JSfUlULe5ie*ILu@a@700*Xm^T zoMC5tufDxi8|+Qm9BaBw3obDd^7WJNb2l%~_$fJ>zVzD2(su!pK5|Jht0aYimDA}; zxWG;5Q$qIGzP3nhw6lnaxlDv?HV{X}8|Or}n(9JyUS}Uz)_L_Cc^-IM?|l}QwqCq4 za|k#fO)rsyz(qCPXVWEyHQiKi2qQ(gutceg#j3d0E7mLK9*WWKW3+}k8!{V6-*Y0M zR5pVCoYZ~xB95^nCb6laPL+=RNGkvmWF`8z5!ThE(Nq~SC=n8<53@uo)Wtk2@L|*! z7I6-2Wl9zR*UpeC+1ui!lU#BXfRKRmK4jKSJ^e?)_li z@$QGSK~bMwwOH}yw**E~&D=}PHiK;GsC^bFXCN3M@`FpEITQ2ENn8^}DT>ofEbvmu z8PUPe#_Jf?_dSKV(3@?*>_0#TvFlh>7TpA;D z;0aNaDC5JbH;WNFk|Q$y?7vz^qZTG%bR7b`xBG|g?Q{=w5d-j<^YiLu?a|6QI6uHS9@xv02l z=9-5`xN0Mmz4H{+o8JAT{n55Q_z~SWR5Tp}_Va9h@f>@&1&fl;{EbOMeFP;QKo$Z0 z)68L%NMSO2zmr`5O)ks921i5gI)@|Ava+v?BhgZl&+-JW%EYxEoVZp8!UNT1Gj?8n zR7nF5ZDht|K-ke)tEP`Io3RiUOWkV^-_*TI5Dk1J8zt+^e-jl+Ssmt)l+8;MT^PaR z7_4)Q`t_OZTbcQ@1%M!i-)O6&#JQKjD7ULDx7#d9HN(pmNjnCg*~l|qOxQc`PZI={uSm@mt@twJeCxy3gb>6;M5N&lenMHb6hR#wOASn5kIqt0j( zhn6q7P}R%qLuvvSRZZ*fb|*)yzSeAiQ0zw`_*KH)69yyXwQstWd&e!`B8HBOL@JI8 zk}(K%CIVYQ5C)7rRKaym(alKebVT*vZ63EWzJIX$SluFxtVLhvyY_J^%uD8VIny;2 z`)D3iYm!?gRTCMh-cWXkZDPYVSO=MA-U5!^ajHeyDZ2yA>Rb zj-^IXp{#iTyYj1K2;p6=vwX*gF~@Yy*QLc8_Fq~VKiv)tt3whD@WF8fiP43-`-Hlp zBPWu&v<@aY-j5TgMZG$xv}M1v7la+s8*qX>`iv9PbYA3bOJ7%y8a9X1Qg;mR5?kog zZxMAh)Aq{&E#mOU#TLdg#}maR}z zWIkfH3gaIrE%0GmitXip%b9DxuWNsG$J;r3g8XrJ&U#3N?!IM3*`2emMH0eL9(6w2 z`PPZ0E)6>GN76sOhj!Y_#+0Jri zuylTK82*Dg9n&-ZG_AV5drm0t#`KPJ0*C=CJJWMQMfb#$SPd0%9aAUc8fsmqAR80^ zIxH4lleBImXe~@zVL9Ce{n*7|W<*kMAb8Ima{E?;! z5x1&Bp>2gin{j52&sAB1F!k=KBCY{=*Pr&122B!RHNS5PXjU&*(ZYu1`R07C*8fAU z_AlP7Z`q_J7ps;K4c;$Th+33K27hKNg^0)v(k_$sWmejxjIK^pZ|~<|2aE_UAiA0L zxE~~>{Be5f>TT#<_0H4rjp6Q#P7kNH&^6PJi ze;v=@L_NQii39ir%48Xx9(LL=!)=MD(}#vr)`4AM?5bBa^K5-ABq6F$V0FUYjROD= zjgJ+$5j0i`$Q8kHY2BD+`gBGnk5VeaIY}qY>7|haaZ={H(Bz9Um&B)AgXYJ(w4c{z z_RZ&aad$h)GjDhK@PynSEoMJ)`B~&X^X&>RS99c=U!!_M-zPU()IQvj;_P!V`;QP- z)Gr5|;g+LH;8&O5Z?UEp-V3SV+{&B7vKG4crPvFRoGz|$v{&O9s(}(z#X%t& zP?xLlv_F0#-O-k}m0EZ}z6pm-8^n?RzL3k6le%5&B%HdvL!a(*Bm71AJD$IZ{Kfcd zdrwy^n1_K%Ab zo@$Q&R&K5CkRP1wEc5kU#Cx>0+jQHy)fD!>%Evw>eKeO{Mn^w8zE|-l?mS)tXO7r; zyhhZ_9h>h$as89brG*G}j(;Wb7AJjtNt)t#wO?~&Zbd3H*M7Txa{H~Ay%q#@%FfSS ze`VIvHwa=kccHr%E;TKElUBHM!#0&T$93D%6Rz9#7 z{;TJjYW`$h>B`|hx8!iP$^4t;vYX>V*U2_46)0hO=D4ffu^%}8*n?TVtM%E={7f~! zJ2F4H1LjZhvrNw};=T0=`%r%VO6acM`h4c%&s?AF%)f@+-2d6}*u>1&&EZ=l$K%(0 zUoI-616r&|j^{_fOq?>GXS?(~Wwjf|vt{AxVL-!LK@Y>Rw)ngr2D>h4Me&k+(R}N% z+^I6!y86b~(IGG>;~TthqxbcD-=O!6=-W5G&3e-)x7f7UEo!RSh-=mOS?D0TlE16? zn_bptPiEaat_+83?e??hJ!qb9ES}SW>mq3PaX?PgoFoi<}#?mkWB?th!H1`_hL#RK-nUL<^YNWhZR8+*Oyshl644n z%pUv=U)Nc9J7y2Xb&_=rKh?#lcFf*=oUiK`8&-{LjCJkxU0>IsxJ0^Hz}Sh#cmRL~ zu&unK*EpM#+rgPGQe1L*WpTPK+^~goCb=Ev<@s*9isE$Ziqj#3Ny5ZM6jqYxze^Ks zRH6w36Ll6R!nhu34j!1My*Ldi1cdXR%tj;Wd6v9{nZ{;x60l7g*^mv+I_EE9N-=-` zmv$*h5guZiT+!9Y4_@xL`Ia*C(({U3p5^Ji#;nC-!HG#lN^=Xc2Tqi;%BE+t-0nK6 z%`Mj9$sRa(bcR{oDiMo422Vf@&^KR9URhNJn3EO~;y4!s5cYwJFXl0?wS(swvla9{ z$Fou$t+JCVBCa)>&)RF^t^46Oa(j)oI@0PJ%-4+Z6wn;Nd6=T+XHzT{+}!_E{F3CR z!SM;nO<#+D6W^DUAJ-=?4*Nr=#;1T_87B+Z>4-5;(vmEgkdqJ-QFFctWhWcXso-re z2gyH{yQ0eGsQGmGNU$2{Ys3VKn`5p@*wZ!qhO6WE>*e% z0;ZTvC}$9)(CwnTUH$&9_$5nWp8-5X4>I;8Jc0HMm2^(wD0jss%?}>24MDeZ`owB; zmi1vno*NK|7c*_C7A6OAItYk-dD|gg=OECLY6;iBs`S zHN)_Qd(N5_?w&lWXZ)4jEm!u8zpA_Cs-E$)yIW?H_iBo`8u+(UJ1sR=A167F-_%_F zx`1(NuHA@^E`=gpR=FW6K10!eJUX{7J~Q5)!H1WmDamio;F0-w7p@+7|MZ2bXdKI> zvTc~aYMA@;CJDTYCuA?8$2x4X-EY4eW1BU%@(Z&XQU|?>eL?Le)KVF&7WY9mP}b`(XhT!YvvBm_ zm}FMFj%xFS>nJmiTE|-RzkGqA9xoR9`XyoBS^j^k?_9U^NoJDks5U3MjxsaBI@X$F z`KrFY9fZF;U7VJ?)$)va7KO&H)`b*U{v$~%euFUuIB~Rak6s;1SH3q?`x<5?oidO2 z+4Wv?=01RV95#M4>{rMrBHEs@Q{f#(-=;+IjyLELrd|5q@NUhwD2_0!v0QNtt?5X4 z=%LCd*lYcvo@jqMwEpN}SkimcTGBfh!+CHxc>bfZdtzCy;6DSj?F*rv^1~X*G7O_2 z<+7XCppcMKc|k{IYZP>DQIK->1)jV5tAXWLAKd%;;Nj~-+@a5!?oo}Q-f&3PCy-HM)yhTJ|X+y#9h z3qHYiVi^fxFc8Xw^;*a1G0LbR`n#~7EMObpAXs-PwdCM3;4Y2Vs`00K4_Ldlolp?{ z4v64d_<%R8JtlaN5%in8XIz znyb~Gl_c!AY8GT$asNb|lRc#T6OcYK_v9o0%Z;pa+x#0vijLiL@+>!GntGAbVA*K) zxu02f;O@{_z5i;_2I21bJwofi2F~M7Bpw6lD5!?9>@O)n9_fi*DlaK)&;p>z( zNnFF@vo*l+3pK87jO%{Bt~-e8xaumnpu~(Ac8+Va{Nkaly=9w0qVLyp+^j7d_Inch zO1=I4bC#BMkZ8B1ZWEpSQglj(yS@vuzel9Heo8?Dm{PA3Z@_$SI zZ_uHjC{OjD*O>_vFF8|N*DDs6Yn{JGx~BMIZ?~JQc#nbSBh7%jyl4+Ln(OOxdoX{O z4Y=$7OZ(hA|CPq_pQ-<~RuVLa77Cr}iA>FTM|dhRqG|jErG=bcYh@H0QT@J~mUgp9 ztV*l3@!{O`^jhweb+915E!t8xghB{4c^_1Sg?%{F* z=&MyJ^5QIcI;`iu`UT$i9==bM1(g-M9%~q4#-lw#SCk@x%%@W1?L!@S^N6y=5kkz* zl~#=SE8~%HYAU<2GID4RGw>zrvY3HvgGCasUMhQCC!k{G&s=9+EOl8Ue}4XgqPTpj z8aGmY6iO@*HxRtI_vgC|^oLMq%-N_q_oL1#3OXzdF)}r{zLgHv>IWHsR_84VKMI-B z8h9(t$)2;kJAZNS6}0{3r`&!z@D+?oAYHTyB zMg+e3q9Z%ci*w>`bkuwD4=MzmIPA9l`hr#D;&`q+_6QB~5a_wp3K7*eLN9t1i^&`Y z62=56L*mtN7T3|sl8iv89qYkW(3y&@5u^I1+7*R()Rh3uneAjsLWh#X=r4tY4YI^+_tkrlpkw|tZ0=9tMK*!uM!fi1y+>^9Qf%sjH z3j7mGT4|#tp`K3yHG*o|RI;-^;O-1x^7k-!L{qJe(bQ=cpr1uM?UwG4gMS*{KAhkV?|sWvsc7g^}*P4y!DIis#qU<|KL zfhg1;=Sk65|h{y(T&zXv5xZ~U3ZVLpjC`Nm2P z#{Zwy)S`N-fvlRNqO&FFu`L3Tcl{}jAoC!r5y?Jba&dYGrIg^w_^2H8?rl$-d(5BMbz|92 z?7U99fK}O=vKRVb-6c|nZath+sTL%qzfL*&cdFR83QX%)CuZU0IHkK z*>TmC?Aras;o}?!W`smI>T>KwM$-G=5_uZ+YfPWI3YSS zp_Y5LjyWz{HKC!bCj@Fnca>*gu{%W9P@{AHRho1%#hfz%bIz(A)7w41u6z7J8jWd9 zp;|O$EIyxte_&m4wTMby#hV&nHUI3jxNi2<(@f{G6l%cG zHrCgbq?uMJruJ`k1jpFeF;BuQ%Qx_BVyf-bcj;8(G>vbBX|EOI)}%<_xVl8BE6Ig8^rDt>kw zoi3oCi{te;F=y>8-f4}P^F;VBWahnEoc{sk-)~p>58h>dqx>(QxRds&{?{MhRsDLe zm|J(2Kb`JX{Op~_uUGt8JBzpd-&Ota{Txu5xpaJp|Mv+col`v9-RcA2#@)oL$;Xr4 z;sY989aKBmFLH6F(LUM=bb69srj2z~N9#;APX-pu>CRK&jwo;c)g801grPb)yS5By zAzicl10B7va{T#vd$QNXpcTZL#y2EjsOFhpf%Jy64tja5xf;p(?1)7=-Ld;UvTSGv z^S&cnN1^?7Zu`+4Sc1>6xW^LOZ!%QX?;ujeeXY%@#;11=-5~t>cz(I%OI}a{Lb6M= z6V!kbTsp&7wElAV^k25-#@M1!tX{J@?}+O`SQGL5xLA|TYOwQS$CcG+L42S*Gpdpl z>6&YoYmA1O2fH*xzOI#mGC&BmnQy)Z+Kd=fPiDp9ra6r4uCH%}Y$r*O<2-RCKy#lMK*vtOw0Fs+EvjV)!Z-#Z#V@fxgVL zT!MW_APKk4oZG?fhbkY?lDsytBDjf_^vJ*L5O3%6pQQms=DL3r5Iw zZhi93yH9mix1KRGOAFqglnjwq@JL&NS8%ykT)Wu{F<|PQV%Kp7A#4GzQuf%q9tLJJnKfy)WwO-jz(>dBb#w&Xwyl&l{^=sVF-M!E*@Ut3X z$?<3~TNum{tAqZ_t9_ks6UHQud!G?yMKqcbLgu1F#*bnex0pvaD^4q7>Mv|t?ZOdi z_s$z(BF5;#wOp)h3I+Y-*Nj5C<|>=VyS%^YX3JgmO7=r9r=JUKo2^Enr@EQ<_<^QZ z0k2%AwUa=cye7QPZAGK`om-q&c*i1DNXu1!yZOM4RBNXY!^on+s&a0p;>B91g%b1O219mq=~RESsnE;=T)cG%C$9DiA!Fp z>D|p$OXk8l9c~Nv8u{s??jW?A4?S0#$>7R<$Ibc*?n2gQY#J}?GA~2BS>(Ce%>Uv- z7potki+`g9X$F|_@ePs`bDw@NaE=&ao<+PCMuXk^AD~qxDLWh{hSp# zJa=geCXH^y9?k2{U;}j6U$uJ)U{Z2+i)Z$`yNqu%<8~QeXZGDye0sBHZ0m@UCKSOg zwC|9>XM;q?#*hhER=~Rm-@|GPChQn2J`g8 zS}^E$E8rcqnI0k7-kMf#Z8B4pd8ohN<@2z7f_aL9mb&gn9qqas(c=+uGNDELE1bQ7 z5Gd<@T)`;L4cv*oN5l2;DN8q2`4+C0JF(kppzCSA)yEuk#ksS5T~kOSi+o*Y+h_XK zTnIjtSKe9QL8(#S(~F?^d?ymv=1YEy1hK$IU-B@eOiL|rGt`gf2!!nh^FH*hSSryV zDVTEe2tJ}3VyO!omo%zqds)5WQ2!o%NrmQ+Sgk3Dh{1Kwzx}bRUAUh)2l_9eN{Ml3s!(?))^NK zyjqNEZVkLAylW0~F0dvVSeN6d$NWb%N^EG@^ty2O^adBb{XD>fC19+Iqv^-i+CN&g z4izEd-y%dTur>W#HRT8qoGdJz79?+H@~Zzn??U<`7 z0q+$szC82R2=|)>7W{sljFl7~A}->*dcJ4k-5V>b^xfJ$r0NOXV>!H;s!ni9QiAlg z&nh4{%+-q+*0M|th(uS6-+cY2n&3D@D1K0F7_a}HyzO#L)z8Hd=QMjAk`{PLdfJY3 zvo5^Xo`gHLc0gr+qe||)QGaJBZJh_-ZOid>_7DRiaVj?Yu2mwIaC^+DBk{tFB+8yP zTkk5VGW-Rryx3NGnm@FN4P|**FNMTV)b@Y(0tyLij`)t-Oxr&+YP-+83%&>X0T*e_1~2F(H%NG%N4%gu8J6;1xG(zf{wXQ1Vj{WWRD(y(Bwl?9tb3IRYZiJewlR zHRrk_6|HRI)`&acyMJzPdAJ1Jw6Fd57aEzu>x7me6t+UgSmAwKWIwRzoOku_&kT{F za8(t@Ya^R8b{@Y#@ki}69=?lz-}Eo<67YC0Ey_ygs;4krI2ASwGR$kt<=nf>&``T6 z(3}P_rdU5%>6xCIU01*dBzNSb%D*KkU2jQvyi4C=Vl8rp>6)lCU)uxpkbA-8-k6|$ zTb*ZHoeinuMu1=9{QWqRI*uDh&jja1ov%_p+v+SszZ?$+^vu_loBtX;ysYEe{mak+ z-pI>QJdO=8X~qvpIgQMWtFF?~{p%^lSUwX2smX5&H9^3O+Ctun2wa%c?PxdIk2g(1}se zi-DWoD$w)*(}>&%fHZeq%i)~^C2zR_HjQhmFpP5}9mN)A)A$hyHpd$CT?Yi!DL8jq zHF)^A{$>1@rSK=eb5P=kWGPQv5cWOVG9q{+r2X~D*UQmh{HzJ3+eT#fL%Ad3SHXoB zJ)7xY`rPaASnM%l$kI*2g9|TF(f3nnu(RLSdEkIL-|orPiB_!PnXOC)^;IPHvGwic zd-Mz@d`WjyFQ!3YYT7P!F^(?$d3BRnB zy=m8G^_Z5n0f9L$j@dGWJ1D51<0Qcl=}8Ia9YhT+3M+4XfbM5&g8qlJo^6O$y1=*R zliR-J>of!>w|y1O*Vb{Euk&u}IKtHnn%p+d*C`DU$!#t1Gn3nnj~|}gc7m_#DH6$w za_3SULI07yPMr`CCjcPzHa{B)@yuPhM8C3$uE1=OjN_6Db_S(7N~v_O(e64YsqN@I zznEW&eCXSJec@-pKh?o_l|XT5o!q&uRO9%Nl+q{~bQ4u8k+h4FVQ`|#_t>VP@?hUj z?qP03h4o13TAkWoPAzU@u7Ylp`G@M3PTh>#h~M*ZH6+<)MVgMU^IdO|_|A>f@>wra zR+-PBO@1}on$J+NjV85O^;`pTdcNyCr3Aa1T;Z}80qwj0itZ%dMqk|(-V}Mo1IkJs zHWV@NF8JBNyFhP>VE$@C&*+$5{~WDsE#jZpWj)G2C%3A9l3Ug5r|1^Y&(|%y4ae8e zct9Lq2XPvWOtdu3v4ilPi1U-&AV7-{Z`xrf84_&hj%S1U1tXK)TY-D}2cg&4Tigw% z!w#9pYCVyz+aYT(bzonMFTi3}>*DchFkAk>pcgLq&lnGZWyO3~cD(F6OE;YpozcjFteyKPH(D^W|6E3M@VnSn8y!MwVp;w}|2r^=EFKKfFwJ=F972T(u8s z4kaCrw<@z?`);JoSrsWxtJrZLE7s%AZ~Y0Sx$Vop+nBs|=^i6-tMdVt0nAYph~=NA z0~7nBG@-oAe3eFEri!;iVz@=%W-P}-`oyX!shPFr45|=`xK|BxZu0PmCsvumDM-dR z*KB>2hs^>TolU-75p%Mb_o&z+%|2X#0h5RXo=b#*x@4X*3&UbyvzGyVh|`A#K17GO zMD$(U1P=~rO>)Zv0;(lk9#&E?=J=dvm9Uq9=;*bP(O77d(Rd>LLKC-9m9qx!Hcn@q zVr7K!BoJAOg9aG$#46z&+hP@Kd1{lZ&KyPmuy!*pQgLy8B*sr$WHhZ&Qgcxy6NLaw zBr#N=`(fd<#L8zyJDf zWzLEFqxU^l@nWoEa$RfSRo~B+Bb-rbfjX99d+40}P16jtx39L#9{L$Vl8TPy@Y2<0 z2lFe!|CK`)B|*0@Z21 zd>RwOmz+Uing6B1g5w&dB>mHUU1H6Tq^Av<(sV##vTxx~`sIh`HoiaXv+H+(+Gt;?r_z!1)m&2>bPzX~5ANXd)-H*B4*sdZ z?E9~r%w8U*3!NT11J!++2jMq1(rdxtQCXdmXiG@u>k;~W@F=BV6sMUtUvh!CX%QA{ z8IM$R_|YTESQ;IqLJ~5{DmAVf`Mi|9v7>>~H-R&Y%rX+-(KJyl z?1l_T*0Dn}g@n89#gDa+9_qr-ZDP6%tNsX2xakkJm5Fmnh}B!(4U~>8x_qJuOc*_ez?AYfMzN4a)P+br8ny0gRj>0-uO?U2Upd#j(#uk zR}ciTw4(=`t4)Z<1aBg1mf}ND@fhfk%oF(1bka=(=9MGECioKx?1ehdvNf86nKAJ= zuBJ4!rE7TStDSfE3@@Ai$1>rR&}Oj>pO89A6=j5n>rJ~JPj4E2;HH=?)i`JUC! zy&m4}^=Pt}`C6Cwd(_#A&SYoZb0*ZeDn2ncr_N8bS!%xbqTWoS{t*qlAoB$7eEfL0_lTfrOkFTAdecH!$6(`O==HN50N2l-BAjjV|3-Ngtv~QzvCq!Kia_ zV=b0$N3=SBZ*97|ktfW5ky5r^mcCut>in&h1l29h)uXFITmOay$chsya8FDgJ-UqR zU|A$!$8h>J2tC=Rq(=;)&Ha!TsX59D5BU}jZcLR=bi$*-?1HgP{h%tAI;l2V@%}_- z@aR~@`bbk!!0q&*bVm-}GSTGn>ej#oH0Qe698uzHQhBoak)Bzu4t0H-a2D9xmt*El z8lzsp;m)mdEGuS7C1+6PF7>79#$G;gOwo8t>W75{oy5=!MkP{VI}oaPKAeKtc^3G? zSu~WJc^U1RO1pA+JRYk%IdzItbf_mK=aNELY0_9?r?Nk z3V%bg&&A(pADN$v9isr=6~lgw=F)s*4zE!JvFjtXM9bF_8FIGwfXu1{_mW?_@McXy?9*tx)QTmRt_yFfB?g7fY32b;C8^S_|T9Gumh}FsR_*w zOp!bXqP00=TT;T4H@1b{M;YK6s-baCtW%oZBNZn$;P74d5R(gJZq;HsKd++qtxk`I zFUD9kVzg(U$g`UOaIs;cWw7)OPNCmvlv|znm;J4y<6o|gHO=&+9?I?&p*$y=&rQKIOZnQmslWNRXcrmNvZ&`H)bmBA@`Cz{>(Nef$1J-VKu-1=!fu` zcjWe85pPVMh_%`d3vU2TXtRtXZnq|ruz|?T9K`L;`?Nn^!*6+_GTbySK75e{jfW5w z_Af4d`qmIK;O&dnNnLP|O&+$ekEJp2mbIpdh4*%YV}Jxf#eoUrD=mrk8o!OxTyc#U zV`~m<4f%eCA^IWcND_#EQbn7z!P!7!)uEN)o~2fs;_}R7-3EcJiIIW@8f~X64aFG} z;*?iCjjl+?PoY`s34|a?pDRdGB`YX0nI7fXWf>Clw_-|F2qG`HGUwo*u)!PlKcV9z zenrH&L5quKBn~af!Imv*pZ2i3GG#|8zZC70*;1SO;)m}dySgV6!a`H6nyZ>&^t`&h zotK{WNEu(zQpyB>b*Nv{1au*ge04pt$5ITcwxCE?D_MiyE>@O9QHD+BVLz!7<8AYr z1Mi1@VWXzE+o3h}JQ3%Afu_Al)qqE{z_wxyeb$zA%fGTyo`92E#xaLW^>bOe<^S<4-ZrHEi zMjf(^u42lkAB#*VRBN{0{MfskhIq_>UKgFd+|@T{g?5p9 z2fHGr#Yb<^*(x1bM{)ucUBUy--iZ13&8)-1C0!DqZjG3Kd~N6X)99)?L5ikI^K)1f z^UAgCa2{9-mX87QvkteLo3XMJ+lBzQyN88qhQ z$M&?Do-vbinO56OgI7;U&a#<;Hq$IO6CRnI4e(4|4bg3lrKte1W?K~IYgvwDQ6iv~ zn54YNr2bSXm%au);VCjaMNnC_b+i{N%iJ< z9FVj3UmZb#jP{hE7uPZh<{JAJwPIsO*>O>El{bk8 z%8HFOQW&E&-fzEYz>wfObg(ZeSVjM|M0DEBD&Yc_=-MA`y92ZR@i7)^0eslqj8lC% zA?jSQfQ8js5g$PCM%;o|+H618={5sQ*-LsL*qDQp3h#Uy;#~g#4U)V@PTq}gof^rP zJ;{lk+Fuv(K<>>Q4A>N4rF82ob6!0qeD;2;bMIfVkCei{9zL>U%B_LY7b7sOv%HpO z?pMRkzY_OWI(V4XWrvP5tIG~5iL1*FWty#3Ciq(h23C_#cvhlXZbRRAJNh998^4sn##rF?6t!1gIP*3aN?#SS1`n0MD>WxhA zJv>VXjp=6>sh9{N5~Xd%HO}-!He_pYis(XpQ^!N>?^nSBSk(Ins4j<9y>O#UoIXu6)3Cvg1=a z*v$HwJo>zsVey;IMF^BU;~W>qbL@}ZsrDXl_cLu?_lnxx9E7PS2vNN;vK4IclaWK7 zGF>GTJYXDxJcWa5(3rRK(^ymV*Y6|`z@JurWa+5N$AH1O!RnDQ6Bi|Fxc9ZKn% z8!rS`=KzPVGYw~0j(89@2WD<`V^3R)%{n)BxQ&g!P99$&^q;5OJb?PARAo;lZcHI= zLm{p@`)%TWi$Qg-v_BN$YOQs=TMKau+&FCJox&U}&yP+di zY8<}4y*QXPUdc>#W@z4BoB5YJ_Jr4E-uK*sp^9y=&Ut6Ox(j-IHD3~e9{<2KG7Z5W z1+IxY-MnpP6GT|ob#*-$@zv%+h@P20b40sn^k&$~yzBi50$T%Xp*z_Z>jQYL!G(F& zx{8)5*wK0R6(!X8uc$cp0J3_f;hO*(eVW%$9S(w#H0J|2gZgI!lj(Yp( z;j~gzUNv>=0#OYz$j_Jg7V;#-sOif1!BdXett?SBMcT3_NgP5c*OJnG2JS{;H*7Is zs$I?UbzTCTzv~tNTJF$-gxi8ghmslovbLIBh2P6p_)FqqTy2wtwbYfK!#2CE7(>Fv zdi0p3a6$+p-Hj)&9H43s?MwTndquMDN*N8jQv9q#f5>9JO{5nhyfihQ*Z&gLytoWdIj}S=L)Neepf}>pu>bqDzOH|=lbX|4*O%+*dfhwt2;axo`8qC1^1-Wj zfq3;UsJB{4+RcSOw3}WK+5uPK!~kns{9EwGN8qNDv2HusYtYOg-Q}D)VlKbwBJjU> z?E;%-9-J-{7jNnf*9OL-+RQo|k+|Jyv737(_98-o6<6==tQMBLErMj{l;l+wI6tnM zHwhAJeK=K0G@{Xy`=xp?3GD58fwy(J|FhY5|5kTud1lsxL4Y@go>0rORo2rC z#AKWOhc}V;8REu;QxDxk5|Bq4GH}7S$d`OVzJ8#(zVTBv)Xo_}Jpo>=8m?ggVY%br~iN@f;8&j^`WG{EHQpc$Ue3L zAw)wlt8z>~IcCp1x4U3tryrGOsR=Kh@pCE!6f|;YSeO*_){Sthl|1bLOgr zsbmM$Xb&)|>T+{BUSA##e7|k_MOw)xI7e^fNDQZ3O(o568%=LUp~msfD1(vsDhF1u zHReD&9GgFDI96ru78=SD9h)oO%N3M;q`BhlT%Fk)gst{dJLAtWhub?EdDv6vSM|8J zg5w-Jc>(Ogpral!rVE~T z4aRa@+Al=7nByK-yfuB{KiE?#e{y-bvhaJkiIhM0ev#G^7e`V1MY}QsJc^6e`a@UY z5EOWCHKZH?5gM3Z@Vr=~bwGOREEpWCqouiLl|^l#pYT(qtq{;QK!_OHtd_YW(Ryhg zfk#@a`P(H$xj3&~47^smu*N&fRTu?tK7(w%lDT2(q-a7{&z8{n}im4xJ0oB#+vS*#0M5=@`U~O zkHRC?pPy?Ta8&s3ugQh1R|v?%zeEFn5qCHRy~b31qGNcut{%4$X2{`HWzr2)bVs_AS~56AxG;6Q zK#%ey4+}7-WL|zOTx%XK7noZbf9WpbowWLEeCleUh@$*y_1>&OaQn04RX?w>I|7n#Q4{Bah*?(} zSyI2_j?Xi5c3Qq2Kc}>afi#8BlDBo0ZSiohj5dveiJP6*T2YE5;^FqbIl2h-FVZ(h zZxZX2xz1a^CrXcy(xJd#r++n)9(-17I=m9#chsvuG{%gBgeaj>G2r$uSHkRHlGn~E zi?`Zr^~rw?n?A<*5G2W9-eU2^?DC4uSgGNOdEzv4%lEcRNNcz=BxP^rY?UpeKD(NH z0Na+F;R4e@`3-?HCQUzpi>uAOUuV^pC49PH0fPINDM9uX8r5bV!5(k&+DYXzhT0Oc zXUmf~K{+E%t%QdYh_=<74k%{d@>iY<3I&djny^A7PTYT%8kUfmo6e*cmUY9tGKb{} zL#%~Jjvq?+%^Xg*&c!ipV6aPYOcuBD8E@K_zl!yNi>dN|*2rbww7+qkdei>gb?Qxf zpX;pa3pIFC)o2c*)ANaI`vdI-2biurz`DSRrYk>OqQLPgX0_{7F+X#iK&$RU_wvcC zygo}qx5f5Znz`qkm0K5m$qvuimuxEp>Rhx*ExM^7*Id{iIr`?MGM8)*2u7iRURqqo z-DvK*hBg2X3wjhj8kREiBnuV<#R|V<$BO@zlx=QS)}58x`WfY3Zp%%hCPh#7-pC;^ z#oJ0s%RRPGu7@{nKyHmUxbVhjsxv@I`;e%BH`W{W877{_+BfX-yt_8DFz>F*-0QlN zAD5T#`yY1f|3}=Lz(-Y`{o`37NN|D@jEZ&Cs8LW;p?1Pxol9n51`-KwKwU`1B33Ig z%tYKUm;^Jqj*YEb+qW&YzO8*x>)X2EQk$?O0Td9mfK;V*J7Gl8x&W=t|NDK;xifdd zqJ2NV&*$$)GWXoG+~=J0oaa2}InSbP1sZPoYFh!($;42#?7a|9hN;Ku<)7m@f)z0c zt8g~`W3GDr9t;kjVK}AwD9vR;{Su;E0b5j0owjhL2pQVefsH|E@1kK2o~#buQgQj4XcQ~g*q=-SgT#|{g`<@PZisiu zr;F+!gnVV>pp1t$#1MBeck$Wqb(XnDB2WX}Kku{FIptYvJ)BPogs z#=o0`I7Yt%bCfOK0U3JweCWp5>#gM_Xhuy9QBWh!Z5sYO42o=gi)?kKWWc3O{Mb}= zkz2arHTPdyhd1l)515owSGZ$tz4H9vG4nR(zheYgvUScPQ*y{x1WbdvGmZ zP#(0`n_FcmE4Ru$>04#7K{TA;X#~grC2y6{ia>Z2Ua=8+`NM}QpY{SCHQ`2Ju)W1? z580+jceOnvxWhLn_6-a$f(%2zfs5=fc`P(MId=?~AtY`=aD}-5m?c-<>y5KLyaPa* z8|=CP-^Ti^Af~~y=ev{xpT?{RFjgjVI%ei6D(iCuuwJCC7aSHh0^blr^ z`&gO|l7k34=@ko2aHqRIQkikXO=~)zO22%;0k8!D`T1 zu`-|mPAv2VWM+L-vOQqC0|tQV%*G4IJlFP}-d-|$0PluJ^3qZE7N>waKcGINTfqb5 zBR-4Ti%Wt7<&*Dz@*wpYr}N%@^Bq2;Qu7&SIJC#nB?0Z#n0_9=4Qg?8Z=eX651wb( zI=D@x#kO&QBv-#A!04P^x_;zgIW2nw3w+cNvYLJ0jvZ|^FU-9$Ho`7^5_w4E!O&(! zyzn8UU}E-*5r^T5u6QGuu+qEm3UplSC4q7TNI8uC5oU+%rX|wqS_q;Or7NBUAfQ_} zLPZpU3W;;LN@vY5S+kKfb`6-!ySpJ1iXGav2Ap9YM8={T_)pLL!TT&E)^<+-k;eqW7ya=T1;E`!QqGH_=l;|!*Ui32m18+>I!HO$K2$55^TC{ z%?*Q>56>-VPKLsBx>2SJUycq3?I34m1Fic~=M^Q7g_AZMpt;*f;j+|5cYbGP|7cki z(D!fp&^3@p-0aMqa~Fj1!`O*FmzPu*!hZWTTsuQZJqp%#{%@TM=o<}#JQDN`b9w~2 z6}F2%()L|G+INlTQVq2HYmn#mld#(P(7F{E0EPb6=kc3b7j447i}3F({2P^8=V|*L z3U&-{{s$OQ8Z-ZQ0y1%0{DrHo^Lg$;cnrS%5#Qdzw>F&S(kzNu!nc=$V-ph)c`7ai9P(K z9qCsy`6}XhYC3LM*ocqSst9y+tN}QBY6jR}F#PR)#-P8QV*p)bZH47iy8%6Te>VA| z&P&ra<4N72TKd;byL{?rs4{>yIkd&AY0Do5;Af4!!hXpf_WQ#Q%jvI!dv&|;XLyX~ z(yGHh>`pv~dx4Y)yF5rvU@O7jC5APX5J3yN;U{-DK;R&{FP)xwdy;-T32%@7Q@U)4ep`vR zPy8|ccCQ~pZLh~##`d{c`42rLCwa7})4r@uM<}7>p*lfYb?qTwmq0DG0S9?pwd`WB zvR!<+68`<}DZFpcVMre!{(-0rkb7V-Iz+)ss|>)iihAif?!}0IhhJQ*f@JdUT*sh$ z0`FYoGUo=KL7+W=9pJ-o_dB3W2$a#XQ%ATPS3$43Fx@-1NZl-ru2)eunu=}i)oK;t zIX9JMS1;Lb^|MX&Z>6gnW)_M!;FvSatlnN==7qP8E^aSHc<%9%^Dp!)FmRc}A3DMX z`n8*za})Yb{fpDG^e@o=tkG=2Ej>r`Cj7GFVAZ_pTDiJM-}l=Bh`Xc0!TGRE3sspG zO4Jx>fqF;iD7Zka^{e|0{zF)MoFw&qrt99mUacqHIv}4=5BXM+`k$;anYD^|ha&&_ zEdv^)+ZdSdRZG(O!s}=2Ed$`w1VTt)hJA7ENIgG z_k5!y6V`~M?nZ(5O~u$)+wfaN@75z>Nr>ersvVPkT)1L(Xktd_y%W3Ae!q9!!0+V^ z_+I(JzL%#qe|zBfc*fN}2%KRg8F-=pcfTE)Z8K>{pdd3lSF9|WgG!bgs203OpSbXG}pf}GFfNX>R2Fak~g-$(Ur z4`czvY)ysAcrY+;FiHBTh}In`Rc2i1x9L=HT+XTH2F<#_7XpLC#DYj zkKXG+77uj|9a)u@tAvYq*&Ri9KHiz};!kGG7*F@NUC!N#mJ^X4a8G*efuX?ebzBw~ z_rHk5foM~ra07+{a%}Z;2r9soPAyZvKzTlusGpc8D&oNwrj-qu|J-l{3q|dL}4{yLzif_6KPOa%oA!{uP)XPh}ESZ0xF^(DpWu}l&Np) z2hkzCxc?NSGJ6}WGcZapm{PaUoH7AJlf=1YDn}>0NWfP$5Q$$Hs8hG= zhk#n7A1YK#Ka{C!^h1%FgNM&n=0*Yf26d6VrTQYNZhDPy>2K{_+$_+*kIK^z;i-3V zr%5-RN!`_!rAP|r1SM4>VVWrnNjc+&?^)Ju+&DH>_3UyynYxdCy}GQ?xKY5Pq8M@4 z9@2jScQI!@`=_HP;!-YbSJ-uMY7>&S?_#>Qkv(o1j!z+WF4#93K4wAn1X2pn|2I zJA)zHz+1I_UwA9SNf{PPRpYIjp~4nPZffi%^*dAq^~Scm&aSIezr{WXIFCn^jHyLU z-~bM9o-jPe?v9qEy8Tm&8b5-Sjm8!DRs59aAQAj^2dg5Lp~Q5Eio2UY-y;=O!=s+` z7*;m!LWD5O-+gldIz2m774}L&jCNVNAVx6Ybqe0XZvOsl-OWmLvvT$IV{_H3r=y#8 zA4ax}Ba7eqpszSDMlX-Jz35Z4XCZ)D^xg^t?GENj>puBU{x;0P>{-Bjqz}BDnOj7n(A!=7f@XmtjdX&rcug&zPE9w3!_eC z5eK8Fy@X4T(WzelmyJJm;SmO|;VnIIGcj;8W#InnGz=WZek+hfma)AF$MTKBXUVZF z!|Z^>1UnYDqhr?7M7a>JR;s24Vy7mL8{1W7`I;bLj#Oga4mJIm>}!Pgj&4|~&`OOa z%gujb{hZhds4%&LeFKMw^@K{NNu?tHjJVqBmo724MHq+Tybw=X#E3^kz(VpxD zK+!>Vw67qUZ;$IEcth;<$e3x5Yv;r5_oHYSdUfP?WcLr-hhRm^XZASCd{;nA55=4~iHO$;z4u^8oWm8g{{cT3q1H7#!7pYf&b14+TXqA~0=2po zvH+qLo@AFV9lLF83V1epVq(O}JnoLe$_22c2H0T+*g^FTKobt++ zn@S*h6H5ui(z7Q#Mr5fZvP`dlp`sxFiUPk?+4zw`eouTcS{%Cx_B>V7y-hfqTV++g z=n+X#7FN08s3RQH1&-KwL>x@v>eIIBnf)=hJ zYBm=1pUK*Z(plT}vZy0o$g*fV70V*fx)Y{pHYClPLY~NqV0wL@kTXggTu5qNu@52-@?24AvJ zG#P<#EeN;$2S2_7H%m70K|O#Jrg$8bp>P>yHeA>_0J(=ln;k`H{UHi}pbQJc@ezFy z3|b_$CbkLG?b}js1L|?JP1oZzOFcdylb>=|MO+N+3be*PAHmEwMK9>EiHtx#+<#Tq z*Vu6LQe$5n#tQ^IpNddZ`Ze_BbYu4U3lS-a>R!;+g?dP>jqe;L5tGW|E!6EuUeF=> zm|V$l+FlR8F^TiTOw}Z+!)(5~9#pf^fLCJ=XKOw&5~R`xFVeg+Cg(4-QsE?M8TIc6a$kj`cG;t}QGV_~&GxyK8igLh;j4Xp>Vo%jiITB6fWPfhg z;|IUPL$-k9?uwNFZDD}p{}szLzTslxG%wn^DQHi}LhJUlaSY5yYwfkrz1-MxqYtY` z5YL`fKe2hj(46QE*xv$^>{0E)om2{Uf{o-z7k5&b;ZCL+?gR^o`(v=GESo!#g_Pz_ zPL(ox6K!4!aHasY0ZYpbzT9YYDBkI;0dR$h(qmuOE5`@C_Q}ebdNNi{(2f(efM+3p zUlY`H;txs3a;rMo!>9-G^vEQKU`pN(!H~`IbnicU>3p5@&zbu_|6pgy4zh;b{5EJ9 zfeK==W=xQ-#k({r3_Sn*Df|56@=<&wcDgd|4CZJ`R_+8erRP@jqx+ZFBnlTS)n}sH z-;pzs&5=@veJmO~_EIJaC1LBu{sL5uI)U>G)e3n6zyB*XKve}*t=qu4Ds;DVuJW6w zBK1vqYFUY8fy-;O;Zuvy1|Gow>xZu;Dv|-p>{oW$z6I+6$}(c#a_P?Ws?p==Di1lz zYab2B&Km205V^Dd=!`d8$f^(f7omKIXNnBWmyuhyEB%>)`7+GQ4wTPx?M1YTls$Og z@AHg#)YF=N$c2vXB$u7Awp++>}((vdOUezCx1iXQj(aBTb@ z2 zLEH-bR~I!tU{5WByeGfUzb8t@dkl>!DriSh$v@+Wg*ffvN>7ajyVD_ZxC)h=X#)L* zGy15s{YlHp8CU$M#~j>n@h8~$b-<8ddn8N=VqQ%mQWlBB#y;XrmN)^T@ax4m7#hY0t*de3}n0rr`w+Eb-ZaVAZsert?9$cw=%Bu6rxFsUH*ORyC~x zfiJPGPp+7f02c`plt_F;P7?gd5dY^Y!?od0~4}z12PeeAq1%Cp4&B){8d9`jOhKS|T*UsHeJA%Ueq;$B!uArjABI)69U4I$Li-k2o%}mX0cL2#|3aEB#$hIY zOVPk0Q}M=C<|d4(v_nq(7C?6eB$sre1(_)}nejiRd}D*w2d_s>`faO*R!q8yfi-sD zzrPyOT{SQpX-T4+*3dTpEaj|KP00r4k4)zqTom3ebAJVgD_{v=OhMkHA=q&jNmnRQ zn+lD8H99m{Wd&k0sK9a}{sgP8^2x!tk_SQ8!3hWBZWwmmj0>7kE2!6vEr%rEMCxpy zTD;kOv_*73uaoroDmQkLWxoy&wiV=^C*y?GRlpNuB^i;fBLD0P9;de^aoE6r_}ut+SxYT{rI=K&4ol`zKZ>-LXWi%57o zAHZR;GEMt+drgm-R|xyEtEOsxiKp!m7N|PI)Ak@9wDps~? z>8+mF{yK*ltZaIir1^Nez8W% zq>*tJknyFMM#hVPYD7i~YxaYT)jnd&N=j+QXk^?v02#e*PAGmX&iX&bMQ_k23=DDc zBX~a+T;!d!gNu;-0~Z$vF8-6as7nDCs|_w@m9YFDIk?EEZaDX#(*YJnPjK$PM$Y|X z`q-}__KV1vX^&~g1BzARyrAh9Y~gWO@PP%4_~qa~4bvwFe+XtvyY6-_JlG|u7I7B( zS3`ZFLryR_h!n$d5X`iifmg}mXMoc=CWSmm&#J@pHCIWY4_sVBm)FxK>M7ulD^M25 z3&jjx5$ca(r!C#~W9Oq4_^79K6N{mICChVh!I*J%*mm4gu2YBNR1Jf@omgmc*HRe< z^5Lw-h1SUr;L1f_n5$^wMg~1$h(iNNT@FW9sLNK$jnn_RIeKaiJcX7x(D)FBL2kVX zNfJHfPu|#_E*Jvizlfc}3@^IXjBYX?<~K*V%IL9=7*M@c;sEga3&ROpNJn?bAsx5Y z3F!y}{$b%bcwMY*Assa!9l~A9saBH?5dsV8koHJAI6Sry4vTlA3A@8WME(rG@Koe! z`xBlt6*&wa0~O)NzJZT`h}`iL&5b7tFPA6i*kkc0K}22;??X>q{nPY>_Vv(`3=bqI zWmzSmKpH18LFoZaX3s4h>j|F6aj^;pC^PF0J()Q`40J0wXx+@nFuT=HAd|4SK$g%z{<&VQoVX_iw>GM!mgu-U3~!qO^ge<( zJR`&LvIqtcvO`q5Hweo@Jf=6j5|rgN1pIN{b{*!4 zdS&LW90W$w697=BE`JN>)&3I-dA#^I2zy9&H{{>zS;8yk8v9{!s_OLSEYq7;b#DN) z?#+DmrcQl|%P#ij39zmINpEI4y}<({cL(T=<^SAsTjRkxa}Od~b@pEb2ENwbQDf+N z5Wnr{3xDZRxYqud-Dx0REaab?@y)R1U(s|C#+DI!WJK*^3={&8XuMHJp=&_|6=6#e zY@(@^K}gY<;utmaZTyneIgZ8F2hQv^+0_UF2LPSfBZ)QSMxh07kNQ9RZN zYZ4zNSL$?v(&uW;viF9n?v`cXSrWr!MW}%Du)Oep;c0z~pqTZ6U4Br=rzvyv3JwTo z7gs}Ab7awtl7Pl>>|p)2-ofBgm{>qOTuT?XT4s(kM#A8@X$0pCJh{R7ic2bC6E)^=X$^wG|C}C)+j5B) z*SW!R@El=jRNWNFUKk&0G9NUu&Vyo8Xa6bGv*prY^X@9gI8{bus(eeTd?sV4N8IXY zEpNtnSmRejp-rgGk!ur{H(8uc*_Myluq&SKOTx#`bZ^8S!q1&bu_x-3p+QpI3dYi= z;Ir0-zjTzpFo&{F+)PwPs7D7@!&MrGJ-So_0)xxO)&og6jBM>!<$mKYB{?}>|C`od z09%gb3BC#Mz0ty!f91wbkfm$CsxE=>bK|jvTrDI0V0g=t&{8#j-yP!Ob$Mc+*UH z)y>fDVzA0p^z{rzm!x|`^aMR6HSt?Z;3nUu3#DnGTN`NTz_~(3nTQr3+IU!+Y<$dt z&cJm%r|6NenW6{zpr>f{8=Rsg?1KF!AtLc_nia7@T^^S0CWGm(LUcb^9ShS%8)g%| zvBP)*>cvO@OKLT~nmmr5ndE%t?968_<7ezQl9-qE>O`l&s7!&gS%BVP6QtQ^AcdQj zgM{*N$-H2=XFr2g5);C+gzAHv z9yDfhNym>!z`3~>S#%4TlPn0?<%9SFJ})N>a$HS>6TeuB-0++QxB~gW@_!ti5TUkC zPbvbgHHz$NGIg~N7LCBBzX}2K0h8T za1lPBZbnhK~mq48r>3&-S^}YsbOu>O* zIwu3udJWEAf`bieojM~8&d%W12ge)$U@oGkf}~i+ojNoQ-$nuBeT3R`+cjU3dwf{7 zP|MyCteR2bS#k#^LH4s5AZNwUeVROTk`2#j@M|$?ba8XX?RvgeL%d!rq~6zd~N2pap}6-qS&?o|IF3M z2<-aiS{e5}?{tBG0V_!O`5&K~`GEh@B8m}PaNEq2o?JUuk~$|0*AD*_t=vg#>|gQQ z@TdJ2lv13sVW(^}n@g0oNLgpRWbW5SCzGLO0V2XgG!9P%MGz#e6t4+oEX`bG$h*z3 zwR2iHZe<1%3B%{G(@^ zVGG;Xmo5c_F2<8gDpc08H|ua5p4%T6mOVM%%mOMq?;`d$zE&ILP^)J6JWF_ti`YAA zM}G>;z^S^Rf|xSV9??up363u4%s{=-fg0?Enf~&wsrD#%dmR8a9n59JO`#6lVre8f z*DmkcZ+G`!j|!2i3nDG6i~QI7Jhz<>+9sDuzAWLmb5I*VbBTEB`j-zxb2Uw$k;!+< zFDo2|6yhRCpm$q6A&yqRS_aiQDrpfVo5mu1^RqltQTNm+dI9sNuH{W9!i4Cva+ZeI zhIHjK(v`8}XDVOoRF2)4Rqia2XQQreQt06r}&EJsV;dFYTIUc z&RyC6cYZlBb@wv`*ksgb9Czs2KnF|4TUraMQuFo+lnvTH;Q)bNKT948Is-JtFp%fk zvR~mMVYr28B*n0Rj1E4V+gI#nDl~M1-`LcM`+c;`{X{*B6A4axv&XJsL*-%nCrj}f zd|tYtLNpXRM?$xu^4i9?;7cDxN2e9==#w77Z+YXP0+@2Sh{oj-mZ{df+bnoh;r0b7 z`>+uqX5`tpme9T)sc$+n>%J9i-GmBC)aFs&8%t%HPaS;@PjS;K)M5Ieh|)oaMdsbB z``UDadLQ=fxRrgF3aiFWqJInC5ydn71ocrz-kZgY49K6S7HxD8KdrB-el`|+WEY2Y zCfWpz!AYcb3CA)n5oy5)*VV=AX2$C-!Bc&_ZeG0Zn)bQ|B(VL^eS96P+=u<;HVS$8 zW?{Uu8P&}_c)XL8E#BEFfA7ZM_D%co`7r*5%7lh;v+!o6+KHb%&WAeCmtdusxo!}zVkzYFj@6TgsfSUAX85OP3KEpA2eybua4&49w_wY1AM1rj{$;)h)d ziwlaq(s>I4c~MtE-cnuUK^C!Lr?r^f#CvuSKab-FT=e@DEz(L#-|WYD`&K0QO%@;8 z&*&=b{KY>4bQL+DcATHJS0GYjutQEZ#oY+msDm>0=e~{6&^U_L-B)K@F+AI_A8LRj z24LJ86EO9}o8%-DqOGFJaOH|bVX&FS$s6Hn{mKc%*{So?W%^;Jx==raRgHeARMq;y ztH$dGbccG&V~_&q>Hl0fo4zN{D1NJ3GSpXBag`T8k3z#2q}A26j-iW<&A4qrY%C*3 zv(?zo0>1wxE=G?9Zv*WkFhFClok1sTbiqR~!WT*QOE|US&IhU%f~59@EesSRGmUlW zUr(0A2*lGav!1&}4);~MoFfyzoh{)I%TF?@``|wdADnN`FF`UU@~&{u9&>--%+C;4 z)zdZ-`IKsVQ2|IpD&YDW-h-q0`%R7{oZ@#+>v|S-B1iGPHAZK_jqcHj;Yxa+Ug=p* zV%VSqh-TNg2M|)lGh`6W2%dx8OJs`RR9vF~zfv~XLK%nH1;&Y&=?c^Zzi50^cc_6s z&bVvIpfr<3?Dv5Xk;A5$u{CW1N%{4!sMdp9cK5!a(K8ZBLHeB59*SC5xKcAA86)tw8f zm$vemy3oO^dbV3C%i$ugg92C{*;YAPK;oCrHQtwm^0CR!EVm4ZL=3wp32*-B6SODb zx|?LvQJ|C=(0|P=D zm40y(6_pUg!Gl%^Oq5j7rBnKI@89gV7YXFT2GVK@wu?OVUN*#$P(A2Rs#2alC z2vU%36e#yjBJ)Xeu&y0bF2luj0yHz|6O`imtvv2@0qjUG&N=uGO{;N$46(8(Ooeb1 zV$xcG$?bHViaZ0ayWDRI`=^6gO9nQg_3DK$aLQmLoo)R-WZ?P(;VF|~J2|{)NciXg z-&%?JklC+}Brd{!)2Duliu^b#i!QKpR+%;Mt`2_sj=VV;afWsJe_F|)ApOZMp~!xGMU3+v5N-z_Wd(aWb8H$<=^or zy67_p9CqEbp+X(nao}@60x`-zh&%Z%+5p7T=Bzj%5ySRawu1R4Ca9iQWrAk)Li2cy z6STW(a;wYWVZI1+3xn43Tv&_4>yA46UC;_xA6I*!bAXcZ!8T6p8I|xC=32|o$eH`h zB{}`yIfDW#V?6<1 zmi-p`pWk%8=?*lz&wlmmc4sW1&>rmA1TAGC#<{QuwxJbV1edlGhMW-_G#9-|4iB|% ziVl}om&AtP)vmc#ykH0jS6(=^Hn!2S1Gvg90*DqsJS5d;#RCY}I>K7XGp@a9ZcCLk zH5+%Rc)lbySlYlD#I*1R%u-&kY1TEQANwe6?l4wfMEzJ%HLFOBeZF~iKfDe{kHW5r zV#8^Kl%MN)sxMXA+E|>^QH0xBsozm^NUC|y8L$!Hkij%&!Cf!A>EO8dT1Egu6 zpjkZPgsD*IpH;TtLz{BPX_$fe6=T=X3v+l+AJ^T4pSb`Fn{F8}q5<~PCE?s!kju}2tauUU5!-d*PxqPq9k4#&?IUgJ z&4t0Q*W0_AZz|7;j>KXJ*?{g)!Zt`hCYg&=6NcQabOYE^zf*sWp}Bk?LC>siAAuy zm{}Jx?7P=tw54zsx=R$eim7=C*Wu=eF!=hz$-r0nF^l z}idoc3^zc^HfoE@Ld18Xj$?`{KO!iKQ?*&+^U&*u^*tN z6JsS2#2&_(W=K2MWPEV);;fH(p6YJdeR*_D%kC?q$G7ahIy$mt_Yb3owCs+?Mki)I zo;>{75%^BB_*uB6%0YbAZ{WuUV!RxF8KUbI;g?keGAAnJ!fyEpF=ET&F+>kFLvSGS z6E+mL!+T7mI2_G7ZlQI_dUa=!c{klo8Bf!q?Vs39dRU*Qh5Zp14C)3glJ0)F! zQZUVI_`-ow%;b`u$wP9}29tpSd}a2&@z)lImN~r1EFk^fmVc$9$35d=o8SS@W)O?6 z8%iJ^Prv)$PRt7yj`2Sr{EEF-J8!qQszcIMdd<6aYLUCj3%yna$W^M>8l!(I3-Glb zYhf(HP*Dfrs2#15c?9t#D+-TO_L7%BWulzXKafTQ#W^b0n}+XfjxAc(v@_I7eMoF1Q=4W1UfRbFyd(2R31K6z$(ARa-P5*#(^8$A+uy^%OO)1`;sIU!7#Jhvv3%5&r|n@+b$)LDy}JA;Q@%u(ABplf zZLL>9DIZ(VQ(c&w{2?0tuz_%FQ0ElNoLyk%46Wex5t#**9G*2}i2ut)^g}d9HkQwi zoC45O(E`Ld8)2plLM>>24Wj&BP88vNbiOLo+Gb~5owbm`=kf4N1)I$yzyv{vVQ+>7 z5OzrzNZbRhqa;>F2F>qFq*sPB{uMeN5_}QCrB2lNH_8|PMu?1*_NT*;NT)$0OB2QZ z3icr#5(zpTCB4;U91P3@Qr=$eqi8P4u`EQ#<~!|Ev!%OIbu=*!&AQ&|nOtSWnv47A z;)!d_(YMDQ^^uS_AVt4=4!L8uVRt+ZTVuQnEn)uaPz}lw$A+`w1(ky0K?Di+LmNDJq8NCKJwwF6l)ibO zUk@WiNJil{NZS%+?!I9w`V8AYz?z_c!HZz=c#wQdWrQeDI9}+4iP#+)L_8aBJ%pe*l5VtrH&8#Kuuy&h1F}wkcrg$INW91 zTl)Ww0|FMo#A~q#bosnJslfQ&Xti<8DlbQ)5puyKWZKm$cpb_4p)`X4kcIvCqABdR z-uR?3_M83fy5VGYB&sK9=ZpkU4RE8OUVTPvvVk(Hw)TxePoT0?IVR1#W zQ9XZ;0}Fhpvx2VM!pG!1gc5iN%_av!X^#&rsQ~Ty+4}dS^+H@rB`y21fd9?wLBY=T zsbL`OsgSX&Tf&7;-rPPKEB&iFtEj`uGAKa=(uULs$LNi$&bfYZb9( z)0D*oO1o?L`){=MB-dT|oxva-!#j|VG8;rXKgjR$rEb)q^I+3GYHeiis z#V~}6PEe1nwK$+bbUg$rH2(m<%xfhfg)OK^Skp8UKtqmmQmXVgz>8v7BX(D9ewSLN ztEEaSnPHr^nP$+vqu4z_326=P>~q7Z`Z8&EMiAO&I3Nc7Q=l_V;r-Y(LI0Ydy|wB1 z8ru1mMMl47*?AMI3J&+QJ&Js&Lq@v}4q>xLZ?f~Os)EB{whR9qE8yy5 zP2|m6d~qCR!R$u^?1sRv zK=DK?C&}5eWu=!kb6`@}rAlA89HGT=JpDz@VDA$(pW9oZHs zdeyquH1x&O{%zfBQUi;_^!YGDhV*5Z^uf#5IHl{eu0H72U_b#U4w8)8MrHs9D)vD{ zf$RhVG?QvO2i-b4AH%6r*E=8eFgiT&*2U8f6SWT;?bm?f@sAL}IeueN{Km5QjTqn^ z>g^{|srW7R_GP&5tu28~pdUOy{L-?jML7CyXoAuuM1im=h9_g#^;vd75ri8hmK`jD zwg%k1#DgXO4*Jh6YusvIhGqC7TKM~Ku~aWDVj6yX@j`)I#4oL{T7>vSZ#Ipuu{YG% zo26msEY)&3puLhZG<*nzf%sPKOvucKpnWgb36VGGzpSWngFUGdO?u;@O8YVzG+r-X zs;F92(FC4$GpI8Lw$_{KwF~ml81dM@sG{*bQUXJW$9Au{)!J)==a@;D% zQw1)Q;}+~Stw7wu-x~a@!$or3!X>#?k89+(bxr$pT$1ZsV!K<;F_gu)e2Jd`M#Gyb z{bV+Y3ntVhGlnSY({H$}r8P}*)x~)|B6mWLC>k|Zx@&M9I)1w(4&|OUoGkts9YvTtL(oN@63IB$K3ya?%UUXA8Z0< z=0Ch|cYFk`$chFCwxi=yvK@WKUHqu`L|zSDgJV-Iomf@yeVvCb-`P!4GN<~=o`){E zpZ^dH51$=>2)LieuD?<4=+pP}nD2`IOIM}u==J<$>yaeHW0ckyk>HZlDLE-irv%qX z#c~aSOQT#-7l4f&rs)kH+@2prerC=umjdvx&C0&4%En9;N+~!L>D!&r7jo7&s1wZZ zO=tqmp)+FKs;-tM6O(XB|3>)eZQ&EPKs(^1dd>kbX=;O-f&zG`SC)RLQ$GC=P-o}| z&^-N6rjF4M^b96GKl_XMBE!Fj>On#3u^?SK0ayKLz-5=KJp6nv?!F(rRYSprasA>b z?9QL3zHD@ODA(Q|@v0vmEpV5pxIBm_R&O{lYj;gz*e`b$<~-v?vq3vwodT2qkyqbi zIr0iJ?;4-9o%(19VbXT$vAR9uLCo z!RI(3qMbU+^JGn74kX|Ut;F?Sc>k|!nnWIVp1K7ha6Zjc3(QlPTIb&|5b<174v?JNpCm5Z{s(dFnY5%3WU`Wu&fCuw2r5G<}V1*FuqrZrVHD5 zl(W9NS*{Q6kbszKzDW=gb-76_W#U4UV4qajB$}Dt^q&Ih)#8T$mZW7X)8%?5_IX^_g^yYGT&)&>5Pg%XWdPll9yCL)@ zYE+_}jsiLhw$Fs_ZonP#O(>5Z&Df9F_sv|q@rjv>{6VmgX`cWmaQYgV$ag3R9q!3% zff58TyH8!t3D%J@-;BVLh<%8_Mgy0)Kw4UdyBjvUCkwJ+ zUODRuy)c~v(?YYb-UyZ$F*#|zcm}@6Wyjl0*OwR4S|I&pS{{A<&+_gcec1P#1eV{% z062(@F4((iPtr+%O1hZD zG35?vNnSC4U{!1RIOKTRu0mqKaPm{YEA%>D$)$*yZrd@V%>VFtFMtl`zu~_I{k!c1 z^rnBkNO%nG2tXvm#$>gPH3^x7lT2bM8c;`?giJ!QNi;Jj1<{L{gir9O3Goi|lr;%o zyqlhcj_rC9R-l~Ga4OZ9!7=3m%4nWsI^}-1h2L(G&lupFOhSOa$|RPu*d-<*z)v%Y zX68&p!T|qmc~1;F%{&S4&h8q}z{>`!*1f60&qqnSr~eFr{cbahn|b*Rnetl9lWV%O zdL+=VhU`8)^vg{`pkHPZ0{t&dLgT+l2=uK;80c@1_k#cCDGU1B-jSi#&<``vhfq=v z{W-dag+b*q0SxSK2PmahJ%KoVVdBJ$zhFM z0Y54JoiVs}n^zPZ|EZ^q$}a)m!{ue5JaCFl|85aGBqCrRPBWv<8wNV}qV@*kqltTY zPpg0dejyhOq!;x>H^#r((>5CtUQ!t;=o}^oHu=-(1Dib2)g+nH3U`~2eVsP{d!IJH zHO0QbUxEu+|3**S@It}`Bb*g{TO{zF&HGJH@JpEEw%sB5Ujg^uR9R@RCqLER95oz7bmN5c>hz;fu*5+`JnjWqT!JUxnDnfNsB(|2|kupRK^oXEc zT^!2qsm({6W7W2GXiofUuX#+++dSbAHtY612BH^pS@v9LZCq1mM$*^Y6<|O+Xe;FiEIKTKp z7>p4>YRY-lA0W=B6+HAge7G(J??z6HMUHTa+#yA_I9wWRr;zPwU5AxZW3Q{R->ezE z4eD)NwV}j~xo`m3MYkj~F;(@LsS>Md3{6q;H$?J#VLP%b+}nk{o;r*Rp{aF;9LXSo zftSx(RR?K&SGNu%;t*We84qB+5KSUh8hNP8-QEbG({iv?>os4MWG z!QdCtcpx%ZjT7XGf*p?wt?}G;8f1C>HSUSshvOKICetLmz$Ao(e?C;_EXAkP4wL9) z;&qc~W?~}}g3|NUYI#o*{;YWl6Gt76WBu!{&2QFby&~>HNf7Zr`AiARqs$2J-zw1jsT0(&&*J zcJn1(ttJ{CBd=X zg3au}<2Oc{GvjxxNeGaKnS=mYXc7YC?jgEk0%Q^i1LSsjPaywlp0a@K-{t}``l=qk zhfxxfyoEvOV*Jh)&_Hz!UH;>gfpmHN%d8-D`OnDA(B(fMB>>3&y$|j_hKuwxg8arL zq=WaGgmf@&64Jq&O+q?29|_aJE95;p_+9gq)xjUW<{JCm0x!=0D2cJZ1Xt9QH)i&v zt2XHo@Hp*bhg=gqHC6g#WMJRFBSod}-N=MyCB#G~6cU0r|3B&6#< zHwo$bohBh&Uu+W6^(Ydi>sQHpc73*a3KLw1wlr>ab^Qy|vu~lKy}JK^BJk@^2;~KyE<70J%!u6Ub-GQ`Y>vxWxtJOao*mN@9MV!__Kj z{bJqP2DMN>m}T+ zFKHy%Q7Fq~B%rLpCHofc+G9Vfg+}&B_txb@$WYJSU@E*dFxtvNsUUuf%x^J%bwJVi zXwF3NJjO)u^wtgo&nFQ)aiQ;3?GuMe%zFvn=^GHfGt_ZSc>@+>gZ6i1`TIOe0%)CE z;$!%&u@A37KnuFk*qy`II0i90|3WR-SO@1LUY=-rJgwyAP4l?nS}zXD650ifI`-!@ z#B*rXI|VL$-eM9m3F}NkCgFLLkV*JolaNVx5D7C0Kb7~KgddqF9Cy~I@%h((b)m{> z8}%f7A0>e*cM0EZL}|S5%L?XtSxIR82eDI~S+VbGMgP=izk)M-&yzc?@jZITLY|P~ z047IehLI}3dinQMz5sX)H(Sa)h%>acDVL=c-mB=LO%V8B~f{xk22HFKK{tO zE`}Hm4!v}82>Xz-48yBv)mG7PGm;%$#XRm_-$o_gqxt%~KZrt$o?GsJ6VI7gY&LVo^;1mV;X8(SDt0p63Kxd8FZ9 z&r{FSh>s(u9=#Zlbt-kXZj?&^5!@VkTq$cxm%m2)O-EqykSbAY|+2K91kH^v^yiTj)9 zf867q=Z8=Upj}NjS8fK|zC(xq@jFF5lD;6ACVcpcy7)^BroLxo6Pf%( z!pr=VPXeYMB>(dt9iV+vfAd%5KlK&)_Z=`Fwof-^XJ*5X{O^86{`jxRKkA_Q0rks+ z`jnFKo0eU~HNJrFnLD!vZy)#%yTG~Y=G^caMQ;U%r+eO^f;W42@BQbukxkH`f zW9SY>&ol8jE2)GyoscAoZ_Nbc92g)oA0^!Jqi|(~#XS^Kms=y<+w;^Dt4JWI$t<5t ze{VpjJ&1MR*#t^!uQy66*P|Y~2nCMPhbIh!Eo2EshI+V{Nd^M*LVHEj+|$Y{`}7H8 z)@xOu9x945QP_UXxoUOxV2)bm>J)o82G6z0&jy#9Uz3=OlThgeege48bS0ef68DVG zO&jEkv@&2@`Z5O_ezwX}{HBsD?NOs+Va6Y@wshlTAE!#+9$yR=d$vp&qom*{xCXBr z{sQ}uSZ)WPq5%0K_9EAWW^|%7!Z?a^r~}*)^*NY5q8j>b?=mWKklSYA%p86#cfP@y zTBJnp&oSgm&*2>U>@#ZqM{2bz=s13Wm&J#wk$ZNhpimo28ue2kTz?+kVa$vsEPgqu z=vcR-n`hj`(iUybb#Q0d57n0~C<0}SdvC=xctRG4{Z}jg#CE(^i}4cAT-BES$o+VQ zA__lN{v+-9fqB|xQsj|c%$sxRLO97mV0mbYyVCJ%+= z<6tM@iXTy}7%8FPkjD3*ZL}14Q<1fSX&q211_h}9TS*leuE9NsTNjPtQY3NOo;8Iz zkg|TqUfccmLNr(eKd@MlV(5p}Q67g9ApN9Y1C}B&>^Eouiji_{2S!Exvm1vz`dt=h z8xXcb^QYE+5!x;KW^e3Dy?I|PZJrUoo;phiO)u6WZn}z*QIl9mHoXjvx%KWw?_ci@ z*b3eD7+Jd)RUX>FP;7Op+kNnv;DqQTyY&C4I|%Z%TmtN7FC?7fpGGB(_E<%t^OSL+ z0F*RwT4JY*B*oDr%t%nEE1Fs4XzwbgJ&9wS(ba-K7J#8nYIg{>o->KfW&fTSMsudU z{vTlFeiS{)pRBRpih9sh;b`CcbT@RKwsYaC!T3T={K}H}{4#q9D+cYC{VSVlYiu-d zZ!=!hpqMp!1&m@-E9~MGVtccM=wuhSSI3L7NS6>dC)zbD3h*idrRVB+&Cq|F=KLEQ zpR{R8utEI>X9Rl^{6=iU7tWUZfR(Umu}0JTY$A-QnACt4tawcc;9k;)R-ti|OEG*T zUR;8z5$Kx+{aYH>*pG5i!L8eX&gH2?(w+0FQ~4af(i@*&QT0n!XgZzdUnW)r!naYa zbp#f=?oUA{^jo2^-BsY1(v7bYv8+oRyrVy$lYz^iulu@^Zh3!R+B7<1EBL>`ieWSq z-}fTX%e2bOwV&*U%FL>$=Z|2!`_vhK#q?>#mA}F1c2UItw*fTY9Ty@_nm-wZR%O&x zR?*NfdAV-A1g-Pp!exb<4)X)DBKW5|9# zSal`*9DW9klUh1|q-o?h$aAhJ5AaXezG#%?f92+5Na6$5W1#jM)aGMx_}U_kd>;p} z_PyR{fYLy>^`Jn!K&OL*8+$0dKCYJ&Y)UZ;E_T7vRCI zOUBj}-eZ4FpPy;^ZqxKDQ5YJ)VZwU#*BR*BF84=aU&`BsE`BulO&$b->+2VJ3FKhWf@wD-5!+vt^O+V!^QM%+z)6beJ zo$YCDK_PqcykMdnyVLs??0aAR2&kjoOH|60B1AigH#4v4cwSIWuJ=4uoY!7_=G^Z7 zqV}3IbD?IAlWrcu$INR48PQ%J04`Mb_2wV6xARJLF`$b0->3L_H5*#5c05bczFu|8 z2Wc_@oWeD&qYR{R_XU?!S^}pI_n3l;^gqDVCT8 zFut-n{4UYw(bp+A^y`$<+IQPA)cWbKGBX)e%XH&w_YhL;PHAO-HPSH_oG}p}JUz+p zQO=N=fUBO-6X4k;=V~)`*mVv74>zPt7Dn8)Ls|AJ!{yD(Vj!~4K6Zk0s($sMvrQw{ zy@xZF`L$H+lRaEA_sRbbOp^|l|BbK6|FZeu_1`#XeuaAeVEGB|Q|jm0MO9irW7mV>tj=lP}{2gYLUj{yc}8MtH!Htc5~ ztm(45}tFz^)gZE8RrCf!7&^C5VE(E`I#pj#hAdlCTU=Gk58Q%GyqNE2$dw zvn;H+`gu9ue^)<0#OHJMGYO)asGpnpe3m@JIN~%u(3E*2;Kufm&0M1cJm|XN);#s5 zo1L{_&XaD)c?#0k3cuMw&>@|rOAQ=(PQ%7Wo^EnzFL>+A;3fXz68qe;I0Da28Wpb| z1-mEsA?cV@-dVTK*~f;PhV0k9Yz1xg^yDN)u3IPG;@49Ud#fnfV= zZ$~w3*rx^BCm&~5m&YfUcT`ujPp;^wKBax~DbU;lzcIP8quSR#+1F8B)jqjOd0*zx zI#wK*BZubf*K-yQIH9qrpzmo4@uLjqd=*q*Y^y>vmyOh>N|3QgzWbOCJw`rDvV7{;yQe968Q7t z!S<}OmPJ13X1|M)_N0nbU(mljIys2(;cj9jg5|k5NoY?VcQ)gd+VM9?((i1?qrk$4 zFm0_Qml{s2h&zy%l74Ig-*&oi-=Y7)WZuhV8nmSc6u*TNQwmhq|I$y_FPRmJkIt17 zUC`d?f4ymH5YDyP38$6mXeDUNp-h54N<-C&3%&&yWIQIuN8BIG-x>5L8`sq&ni_)O z)!9H2_Kf-|n4e_#_>$V~sbT+0g<${4=B)T67$*#x7$1c;-iaW{LeM`K4#U@D0RXpP zP#)>+;UtUlzXxN9!Ig1+P+CI=&#i?2b`R=Zw9q5Iq3sbKJTJJp25OZ!)*_aLry%Gr z?p*K#%idu5H#ZH@%Ih=D}4PcWd zKHhh6G_&kf$p2vzg8TK__j2k80W9}r@~Wz$!}8%Ky}JlHavxiE4=%`KCpts_*Wv@= zAW$&>3k!ZXe@|2nb@W>H=3v#WMNQ|Ri+Ctw6m{74qL)=A(L?iJq+y4DS{b9Luebag zZW$UH561%W8I{3~)%mabXB0K|@Qs1{*K+jQpc1wis5q}}ysi>l@w7gPp4fLT#a~Lf zuy%q~6LLMRbbeA}-^r;C*#$!Y77mpefEZ42cs?A~X@F*wHSPpPKym!$qkv7#sAbpm z6}VcAJ)N9}kwXg=jEFc5LEsP(QHHF5QQ>#VnDyR#DsTeomUfq*xJLSk_9%_*n;uPL zyA?k==vy?)(<*iqg4IEL(LxabM(04oqB>DJmN;SdUZU1zQEBdw_gzHU7@vF$re;c?v`jE5)K_*j(8g887 z^(=8`ABw6800)D!5zm@n@Cmca%qj6vThK`CFD;7}mNX4s&O>za+lZ8!Ke?=Bclr(7 zhi*_MagBVY6ig!4E7cE=8|{yBzZu(wE&1R+0oTI5O7GhaQi;ZV-^3R&40?LAT>O3+Af+w`c`lGN@B`q$5aw);dH@pz*Y`c1wr2R4k5pY>78@xN zGOieP1R^Ih?+WHY3Mg`l3ci7+J4W*j`e@bz`z0TD$r$&9fhmEY{Q-XX2per!IR@=_ z@iPsKA^k9uiWQP_597!q?{P(cw%Y~S9;hDun_L(u`z z&&E?MbwDsK@TZe*YXsUtoE5eOUuu<%PWrc?eMLEf9j(HR0HYkwq-X<1s-wEo+8G!# zUurehvX7DzGcKOn3V|bVMmgu2@=6@sjxkdY!$&Xf8R!s!7d(}S#`bCBTUz_&o;Ue< zXotY318QP!j*mB>&xOk?ppG6Ngr_^@2^(!3(ca@t-Xt7yh?ZA_qcm3IheiR03&fbh zI}T<&apf@?hr7!gfX3XqABTf&*5O*l0tBIK#uI)>0P#bkS86phOZg3IyFzz1LA}8j zwpUXd{eA3+;qL9YxKLhJUycfC{4NXI6*#ZP3c@h^;Hp`QT>eKj3o1t}<#VF+JI7M4 zCe|Lt3o1@^+KvN?G{#S|u7d@s% z;WfbA&R;v%dK$$95*DHzPZxf1b%wzoN2%MTYzFAYY&GYfMBZ$-$L!TZ$mD-cub2jq z3p2gKu%e+F8v~+;XiDOmG6Wj92EA#~JSL0@Z$~|SBD#wlF8sZ(f!oLEsCbx*q^ch` zc66~9uPwp9GW-+eu72tfb@7w_e#ZDi2~l97j%lrz5=DWB+9?eG<@D@g86ZTt2<_twy`ducHI3rhX@Ii%QkKFyJ$WUtAn+mR57DLN zVZjZrAHJ46w{4{?@sIAo9rUqLPFa{OCd(j%BRa#L_6so3owd|6ad2E~M|I-!>S2Td z?2OD=^*ojy!ezY8xJy{A;RIG|OA=e$P<1Kl2lL;JeJDBVTs9Y(vzq1?XJ~4d7}XQZ z|3H`bQ%ejK8-4@7OX9ad9fJxe9Q#|cP#4Ei8p1|kDKW0USu|0d!R$;=L6-P$zx`Sb z4)uWjdIhl>zoK7lsPF1m6Px=w{rdha-LDWT4D8o8*@*P(AshzBg1?j93sLs!ynME` zeq=`zeP_WKYbWMF>!_}KjaV#tiC(Rj7(0Q4o_dKOXwb`g=Lkqp<5vd`prokxLwMj4 zTwSLcx2IB1dpXAq(zK`u9-*85t~4zwf>0Bb(5zq3gb0`QKpfHT!)Z=$t8g677BSnn z;BeN9bN6mgm%4_yNGc-&ok$Cqx{&<>t*LCh{%#p=wu&ODHL;yUDBYgf^01J5I0OP` z9~evemd2{9r)cBo-hf^~iNYZQa9+4~VhM`FRTrfCSScvBi3$v94FkTyl`+mTkD(Y) z5lUwt5_a4{W?+|6Q^fxYwsPKq&}6GV9REQHzEH+5kd8IuS6#iH4Bh_1RdPAtYoPZi z7mgRN0P&^aae6y%x)Llk*a4`l>J1bpU<}wP>9#!wY}<)E6p6zRZmLJ`l26@_#vA`g zwv@dS&O;(xLU*BtR0bcf@r2;$RFIA?Am))b16_N#ycsok69lr|hexQ`1;tl(>&r-y ztTlmib(HHIb+iLfjize{tgfRu7@!(sKs9z^l52C+N#uk@EezKFQ~$cpxA)lcQ)(wwarC0Ucx&7nIbM~Oa(1-YplTiP;dVj?6Xva zTq;Z9;qrR?w)~l+mlGWgn=4M+JosF~8Se#1VYLv%!a*T|M#Ibemq?yQ^x z@krLDw4Y`3;VW6QvK`5K9)o?mXkm*rWKe$Ki&4d>Mx-zHGbveH(vKN=agu{QX3~+ARrAdwf{|{s!8YQNV&A z_c3q4H@_-&6n24m>>W-i6Q^tUl=D>6&&4ezEKt^~d5HfTj*mv)K*qtW*}TV-tHo@; zRP_*bmZ=?=yC*+0H+Jnjb<*4JJmPOwKI)gK<15_A<<4jOUiICqHU{Q5sEz}EpMJGC zj_NNbr$3QhUn?J~UmZA~Bdl&ca6X4y&35Gv@V&|V!(xOClp91f?q|F|EJ7V@gS`BM z|KjxIPl!dp!jL#jUOR)*~T7ZeDa~PIM@th!tA)i@4NV(?0F!VEcR=-5}4I<^|;J zYU~6^!F~3$asGDQ354I&oybjh0v_b15q7#0sKn`GAjE>n)@5lGNTQ_tm%$4J+)*Rz z9lTB7&q2}`DS<8;dV@|1kKJ2cqK9j0MNjon;Lg`XJ$CiDs@zy{IAIlpmSBUnH44|wpKqL46p%uvtxQoNxONVF9Nf4$|Iyq*cTek&Qfvld62qat=*5a9$9c#G%( z2*M1Z1n0HJQUXl@K0JjiWV|?xrf@_qxaP0Zx5eR?Tx{(mH zWU%NC&}5xb`uR{+0Sh+)QLs*z9#&wswc;U*b?aj9VFaS1^Z>!VJX?7M21acsVSti- zuyg6@sSf8Z$MkxW&pJBbEf{dE1AaVvkLKVjdb4^B(v0NbKjtdPkJF?3hW@tk?TtYw zB3*FbfCHZ-5+bq25pDoepsTTtyxi0}^@M&1sE74Kh5C(tC{sVv4^-zxe8M}B(paqj zW^maS{njFN>hCl7JP;0}lN(Fx(gp^ABrAB3!Fi0~G5DNxZ-2V9CF-?HoNooeazavd zL3s&`5L{yPji5Xfoq6$#`M~`JyyEVvK}2rqv_Dr~2~tJ_vK-`#u=w9}p=1v7JQ&h% zOs)M2_4LT+J&!h0LH}n6_0rxdwXN~c4Gq~(QPN2hS}!Vu{GY^1BmRG9gaQaf)!%#w zneaDIW}_^!SAuBt1w29pkB{7FLy*+BEM+#DEezRx$-#(D60(aITQ&m7+}@1V?NROi zH=?sG|29ON_OD$q9PbzM{fPT=EyMsBym&PO9RrVGK{3DMK2gR?+#$zG zbqBDllaulgnguKr^2%ePbWagwwi{9d;$wmPRjdW@{pOC`4i;}?%( zTp=?CFnn6pX0{N znZpC2Nl*Vrg&3ZyIhCH)0G>F9%keSJb(vXEOoMapD>MtLGuZxM`CWL)U&e_G12ON% zue$IN98mbS6Dh2bEg15eDsOCPO;vqS4Ct^54tSPhT9Nsq?f5~nFI_P_Cp3N)q>LLQ z2$)V9(T*Go!PN2Cj7QvF!M{FMHou{zJV?lgLGI@~F@sS^+@6DULjg|C4g*Wa<9F)kU{gZ~S9 zZ2R=mD#k z|CcWAhW3R+{tmPPR`-8wI(6VR`f>0v}~{ z^^ebF1{fePL4rg@9VOOiK=T?~69#o2G9k~vM53ZbMNM5|tX5+(6R<8MP6G4faSBu| zT5Y9oZA-0n!zwPV3Be?Q>{UTr;(o)ZfLaJH%>Vnn_n9RK?fd`b^T|ASzvrI2oqO&% z=h~-3#7vQd{Z1)gqvp1xG&8j#?y+c%!C@A@(=>Z>Jvx#tWRL7tJ(5m=Fp{zv+f zhzq|uO!+azhf7o)HlAdec<=D>Ts_4rhmU8Ei&r4=s;60<^5}381awF&{uvW)d z4r{yaOFXsEMm(bHNVd6+wgIM#4dD|<@e##acv~DD2_s7_t673JC;iA6&(S=ZT!hl) zwq))^#+#VYhU5%lVjRnHeqE!*e0D>t$3eXgmJDs?62^lm6ak@Dy$yeu}NiN0J2E57`eU3(~l6D$A>(ATPO>Zf?B z#SSHlRKC`8)dI;DomnSNewjxWJl9iJ$BaE?A%4V1FHt={gtG@opPBQ(57@wCRLqPb z7QSsu!RC5NFfI5-F_S%p;7%FLK2yQVRq$gnnBAg+iFc&FR|XUFD!5k#UyGW&FMR}0 zPoxjO{A-$RwdH#6!EL#>O}53{hGe1|aLeXI=;dEegeCD$xY;OKux`kBoTj8kZJP6y z$Ap-xX`OM!Ljng=U-Z^V_@9g*JTUmv5~y3}YoG+3 z!PpHx%?R7@5BIIQX8c4mn&7;xN;A&FJoIX_-H{QP?@7ToF#BqP=5X^8Ow5XE9yb>Q zDl>PnmN>t}+y?2XAs`RKcX3r_4Bv!N{5!BOaXXd_#cMlYPJzdu?%i`zF~;0HN?~mX zU*vrkhPi++5yx4KMZ+977NJy17@x8>9kXI~X+^#J?n`hW@1Jv+G+q7j>J>+n2P9lj z__rwP*tqrIX4{lDrHu1#aJMdyiH>St$T6^YTjeo3Dkr|zzK{cjzAcp#-)LXR(L~>x z%8BdS7jnqa*HJlfHH{1u1hLwApm$o7xG)cL$*%5-N%roF$&d_EG%=bvXv>laOE(L= z5=GZ1K~5qs6ZA6<23;zG%1WzP>1bA(tdPPJ|HrE1M;!{$U6#_Ep58gHu(r;Odxn_0 zV=J36cyCGRfXC$Jw3zr`;vMPu3>|U#g0Ot*2;0ZO+)^Hjw3o>(P0pY5puG<@Q}RD+ z%H0)E@_e04vKq-;%L5nkIuky8y~!L0%{b~iuM^kfEQv%VX4&l0viio;73$>)oK+svkaRPi^XPR?+sw4lvEiq*eRxJ} zRZ{oggB=)ll#AEM9bs#qcU9=9L}z6G@l9XsTa`$-Z7Z%0|3vE)xhsAipNeuD@>Z_L z{=V=1&Yh0fw4xig?A4<7K%&#Jwz;z?zzr)pT)Ir!B87OEPf@5a#4l5KrHnKIOk#V~dCfbbK3ou@aL_~!a!BZldlm~<_6xD7}9v?iqn4>&8 zJXKIc7Ev6|?H9R#`bQ&&-R0wv?+w0_VpTY&e;gyIO%@oPYEIT|&emN2dO>!ko z9m^n$f}zB0@$Rz({UrwBQzaKjvl<_C7@dEP+SwNdmO$Cw%r$ffddI2N`T@+buN7Psy#k0tIt2xhx`L^ zDw|=vR0lUc_3ATEeVXwBxb&Fj1NeyVR>&68ji6-=>Q_N@qk!e=^AtbwLMS=D6i(-f z7nz)w0Z%JOwOFnkRpJrl(8aHn!zW_OQ6gHEqe$GY93Ii29690!<=}+@t{g9i4`a=2 zVM`3ymtp-<2eO8jfY#HxyOqTo9g9_g@ZZZLR!bL|NP5I;3*+|kc05+^#5=S@h)s~) zqwc+6jIFf;%p-Ymh%xzwSPj9*hK!e@UQlE4SAC z`!R_?BvH8w-k-v|m^XL@;<0CdkI3p8%cv1xPoI4#`~U9nr@okIm+Eyh6Y7;4tKX+hDJnoj&`@60Y|JXt8kOM^#~a@)ZO|O z8kktCPTi56M~Ci6tPPzL`3CQc)AC)(gEX8Fo>21OL;U8JJoqrb*(DGD4qta`9)7WM zOGK7IRHuI!0suk2xm6_vyA8W@e#wKsMMTKuesQOZe(zRy>)QZ9<=oGl>)}OCkGYlO z6E#1;8vJi?b5~%5hK^)m@DZ5Mu*h1E@)DL**`Nf7*gvw&+gOFUB#L+y`U*p@QK5@d zp?_g$B|^<5q!d-sYZ+LglIl!Km<#Ba<%b!4l;!n_17N2v2Kcij@ZLvi5aW(K%F@h* z)$jz(d<+RnU+scQMIiFs3E^VwN_T$;@n;!q!#H$5x3tPCvRYj84W=fB4ET%8*7qxn zp_ze}@9cJmEqn&@zVVA>-qnaRm(EUQU50HmBkLcTHK)>C%`hKF;HTJA9q$s}ew%NlPp&UfjZJ3Y02LvtGEXY)H$?NveC*TCWtUMR+v?QZ4Tjlsns!b9|VuzV9V z@#>e^;zLj%mTj*r>|2!_2-wY-V4jQ6|KYN{GsJnA<}2M36^R&SXh&u^*u7 z))9>5j_|i{BjND^b2l9cpg~B$+SB`x&t0XD?3GfwWcfQb=`H)INJ<10g-+7;c6mZa zsDd93g0W_93);CRbS1)z&*%U`e3y5@M95xX4SPorRpK>V*y_U092sx~3@AHhX@7(3LD**F3B;Uu`w`_F zq4hY@BR0L3?UpJ>c+){7z7Adt&>MDrNBFP7`DF8%6uknk zk0Ewt=`TMl(e}M>e!2OJSoU6j;TlCqeq!$I{5&h>|C_CFH&Q!7leKQglmKqLy0dNy z#)jPd9dr^4SLumW)7qU`(JYuA{R(%(;;lQSHWB0(CJoL|dWa0TgM3V-k9?oyZp{Te z=}dS4Z%Fo`GOZV3WGeo={}Z$}k~kp@teyR{kJ)6qyKOT9-Ou5T=O9dNmY~V~>>nV= ziPcd@%9?!^a{i2P?9loxKnNGWfH)TAV*UK`&)ImSeG1wJg1CJ|)a9G9KD>u`#0b0s zOwaf&k%S|BEDCe0YQtBe4D>ik(Z!p0V0o-;NgQK$IKsn`=##zKw)oVRgd-X7`bP*T z1WcHn?zT061F2Rb6dbK39PTAAiUSH*86%WE79qn@-aU#ZHTwa9XTDyE!+;lw!)rZY__w$eb}_9 zbG)ADffhsfOXN6ZM$8GjfPQDa#>TTLvfyB0M|;+^s6Pv=tyN6C2L-!ZI{OJux(uZZx=UpEjix$L!&Uz-l8SK!)ZE^4v(Zadqg)rvP z<)z&^wl9eD8`iHiTDvWp1)KqRE{(f6ZA-+=zW}kSVCcPQ&tl+=z}6Q(OGQu0i1vOS zIwA6{vtfb-kNTW8_(P~rDRs=g{s#t8%W5uRhd8BMds4=pRw9nDCHJhf9XfMQfRYwC zXm2xj3fDg|;MaIN-E9dJt3wH(v(KqJ7LYuTe4FiF$Zc2AY>~Lb-AegM>F9zZu}+CG zCDw&z<3At&xd>}h`bfWi09pGxWY_(gK=(fjxAzGfmKAs8mk5CF>i|9_!6B&PP8Gnn zbjAVIO3JQ@ugWa~i@R{@t1x0;F%np^~YnC?B69rf4vfk z{Irs_QB1-OM?a-BB5}97mEwAlxKlm6ha-9D7NQ{%9}@aW3-qL>AThDbfUz1!nID$z%WCYwH&DyG5}_gKY1=7D8AvJY>RZmT_}0|`djYN6m@ ziCN)UUwOtmShfi=R@(?Qn10~yDWSa-!&8r$eTWqA?@1)OBg+7etvm92esF4AjxVzv z=QktI!kxM#zO^1AoRO!P41e@BZz&Z_$(O6QU`#J-CAj1+D6-Vf?iaX7ad)#ycW;U6(MO?f&O z70O-0aIbQ6l#0`pJCE*(%I%_iymAi!31Xyjb2y8{qq0n*U3{h7WLJw%m77G6*rD9Z z>E5W^576DE+)=upm+p0>OfT<$cQ*wei#rTl!a%N4bKxIvTH`(I32@;}>jFcY1XmIM zOYrZ*Kg0{PD*RXDzXtzxQLWz4z^TV2jJ$R*T3S&NUbtp`>JrCjxlaWV9HV8K{C!jf z5n7{#+@)|8)tDphtu>rM4 z3+1+vk$5&*xR@C&qy`YgZZKLr@;6@vv6qaNBKb>oEu>;68j`*?S`?qTMOQIZ>Ql{+ zded9VCi2XTdoboBp;>hRBL~Xum1dv3RoSm|?s$3@ZnB0wkI&WAQ-azO?Bhrqfz0Sb zBQR}tfUu)gT`CsE#vS`14q!-=)4ouOiy>VN(~+X(H`*#C0lOFSC<}s>rte6w)QIRO=_QG`Yk2qf1$MF!sncd;;WO!1gQo z7kGPNiym7jr+aJ>XMZrZh-*PGwy+Q20RDeykcnyC0tun5lwH9X!^v5_i7a7|piXT{ zg8JkC2TtKQ2Qudc>1;}>z%44U=N%aH#Q8dAMN(Y1{t``2=z%9e{oa?NO2&EB?7 zmFYz*^ZZyXMi+yuPMr;zDl^_EzBuDQ#n*@pKa5YVQ9hnO%~*{biE?z6>vAED4Vj%> zw|wbyZ4$!N8YlC|hMay-TE(Z8d^BSj$`-dQlk3p~bYG*~QMxaYZfkw{089k5P0odb z_Yl$P#>IYdM>O&vx}-bu0DkS!$Zzn8Mjn#C)a-~xev99p$TIu_rbJY-HKLI}!cYGE zF+**9>_?hJvo?w}E+MBYrspJaso?m5O|tzsu8+YHKsRuN8FGtsVI{<+b)113v}%X6 zC}$p=7b~Zyc&~A50W>L!!~}q~7%?w@h6#xWHDW^=qzeW`VnZsFlZE6eCkyG1GiilK zH`MS`f?}e9Oc&$%I?NN}`Fi;q!Y_j6sSimYJ+_F`N~~Xi9x$F?3Agclhx}d5Xyf@_ z>EWVcJpV5h#QBMsKJ^hYYPbCTS_KVAj}3fv<9Qrnz_5LO8G`WPFV4hs zmBhr+bwe_E9)sg8osh9b$?nJ)^JZlgbV~ZrrQ%*%o>EgIgHHW2K&`y(7H9t-Iqdw{ zxOjLJs5EJ{wE23PJ%_b0hEEaaPRHe@>)8^kdfO6W8j7J5g33$(k(4RH23H zhF7P}-mw@!TmvHgIsL;@?!5kQv0tcgPya5N*+a&meMrRcVdF?Kq5%hv9n6W9c=ko@fq&tdFyz#56Udq_s#@c&x3Pp5%_u- zrWELEM!s&FJ$_s*G7Ni38X(Hmdxjwx7_$MCvH*8g4hC%a~S}o#j4C7fFhK)lQ4(4>; zEE9(<<44&l&z*?3&M%jD6>sTo;d)??F8MP)(Iq5Aqf73WzjEV|!aj(W8_yEC@hp)W z&l0)uNMaQ@PehlHV2v)38&7OnqPyi!@FOFy@1s(1DY}F*gdh}~)hCLNJU>}79CFq| zRsu-#h@CBL23?Of0^l8`xI;0&buXX*qCa*c*g$?YDHqqh6$|0`Kv z$zBM0`>3>oq?+UV+Q`(p>)dU>WC_tH2v_{JK;deA^MGT(3#)*kxvJ2ODy?1{&Z+di zQ|X@ePSE%rE8)<fp{SVP%UMYWNV#&Cd?G}BFJOQyp){|!>0t7N14ZAf1mImZ^V^6v(KY&ejyQQUDkp8og16?r>X2aL)+bq#A zaeM#Cs+>zwy&3N;%i^MM8a`^ zi0cC(TD+V10yQ$Mdm&c~d;Dr3qdk>nwaPLUS-6BS%M~(991PKMSEkZEoK7d#6{P#I zN_Pa?qFDE^&-wG@$SxAw@3Ur?Z!oFGtudbkA z{IH^n*$9=rEAWD&Z0q3mDt$eV_{j>$5UP!R5I$7=JkfMgk}$|P?*xj(-MAfv+<-^i zrW`q`YLh*-bQ1DJGysG6e8IUFb-2CeVT>Fr5M1amZJWHeQY+7HmhIK)?*I z(U?t)T4UFu4=6r@MElLH;;pZ_YRxO;Mn4SKotr=y%yW$mAFY|boEMfYu-m}Bp4R!o zvX@5DRnZxT4lv$>LpE<$ENDx(%eLdn>V@Gb5zZTSFpH#Ipgo*wI|vdf^D36&g!O_4 zX~jiLFUzD%bd84 zEVf$KuYv7vorxt~aL|C?Lu27V^HUhFxsqm*@fHxxB!h<$Fef=_qX?6x(j&fD%xb3DGB7BK|I9@;vfi+r0!!$C$_Qg$o9KcI*>$${nE;u=-QtyI#xYN={| zfmaVUc}aUD_X_T`48d0tzxbX>KR3M+@#Za(BH*3fV#woxI2czn47-_(e6b!~92;`g zyVL7v1psW7GDkpm)9+NWADmkhXG++@F}Pmw_Cp+Da*yC^N5M;3$>( zYn6E!g4h>RTQRf6K%m@ zON}%gBIM)>7I3g%rU)Ggz=553%Y%e@U5YTbx_B_nawXDnc&7P6gW|Cn+=NxU zq}*(Zcv89h=>CIp6A@yma(B>eD)&=#&sXkcbT`s{jWoZao8QyEA7m07kykN>c448C z)Us}#IgHHL9IP^8n#{aGOu-jc1fV2lE@nZeszRITK924f?Bc%(X;tROsp8T~ zahuDyE!%8x!MZ<=CL6HxJH&~E!Ej(pS9bf$F{X3D{8=a8J2=R0zhwnS^;UXqVLx4# zhT{kCdIWfH4ebN*`CV8}i#Uw_YH(P9FvV?%g=+{w_KH~_NnBfR00e#}aSa|_Y?en{ z)u3<NpMaO5w171W6%5X zodD=R#LGUovM<#KgJhR1JrKDQN_!$WR4yTFDu87_M_k2sGGmw2sV(PhYzT|xt9XB1 zm5qI@(hhm6BHZen0UZpSGO=sG+#tFdT@c@g&pDv}~Q;S>(JZ}_LR3K!lN{tyz-f?5M_`jbITpc z&3rPX(Jhlb|35Z!$ZrMnxt(hmwJwN|!7lZr-b(VWu~cpp3&BE#J}uAdq`Lfgn8P2f z%-4Xpe52e0la)C>_j7wO+%^ysX?n^ko+T!&u*_y!sxj`xlvguX*5@V+) zF*X4hyB!!CX&}PCmnPOvz8-kOdo5FEpz+U596@vv0mJYa2T&p;d!hw3dKBK|v;Y2SSS zlX|z#43x7&0o$PPwynE7A9s(iOhXyk@)EMD+PFp1S>kT}6e*egGJs_ELPLKU0x)EW z@O^t=5Yqx4XN(0OBg)*3=P;4}YEXCQ#hl4`^CF_`<{JU`lbg)$PT`0Ji|m1x0|<3C zIyA?cO7EBQE5m#?={7r&yc=?r0UGsf;`1n)chB4x+V;Yh)E*5htl#~lvNum25bSYc z5JK;kU2Z`otBqd_R18xMN5hg0*HmPwl_Nd~)cA>mO2{4L8>+H4ztVxyY&7}uR=_>& zE!}v8$n{4TF`QOg@xh7#O>(+))0%&gPTb8XH)pOl?!LPYvQX(c8~5thAVN34#nLoc z5)?QsOM*hKQ7Lj_gE+YlODDJ?ad2y}BE1>EBnefHZ|}SMF&+BEPTg3T0hfNwe=l|O zd#cp?tx{o>Rj~_O5r7vIuvi~TBkJI_pFF^(KiuFh5a67Y_PEu zo27N7$i>)(Dsdp6!^tAk9D%!m#h4~FfQr;T$6+<5MIjhSsi3LbX|A&$-0uSMelyq3 zjbgj}B5{1PSP!>)+Hca4T+VPYtrX@-&v}CIP^=}XAgN)UqJg6V?lYlFQ=lwFDM?V& zYCH%O6_g3e#TF>%Wq>jbZnL}p(Q#-B>fJ^>jIP72$6jCb*?daZ@w?ml?y%PA=|8wQ#>OwEiXSkB$>Wzh34izAm1C(V-S!MV)!H*9+pI0Zua;;HhD*Mln zCv>-NBA%g++Ij^X-g}wS9XX$Y%08g(SixNWb_GE>E*mC-z1)j1;!yV6)hDDASY@|Q z9~EttO{5eGAS5K-dwnRl@fdS0PD?}~5K(fbJ(SIXO^~5vFHu9ce+rahncjQvGI$$L zmbut`nI{iLEQbeF9Io$_%>}%_iOUMKmrJ0py&Dh^sor}#@M{$yqgW{mU@MXZFiole zdQ<`I4ez~u__Yey#;9Zg0-j_6EG$(3J*oh9W53PCbk-0k1l5jXoi*r>rOz7lPocST z&|}hCgI)z;q{9+6y7_Me8cG=4uqPy``a6AgeD6!17 z)7`3WN7P`G3_h+h9BA4~UKc9V3g7#nSh&hu&%T!!J%J$87ez8LmOiTiy~zfoF{*+x zG5W#nssV4wuWG;sxPj3kK+oBwHkUMr9L^~aI|$s$k^Gg*p!jXy4?w&N<)uNar_TcM z@gIVyf-*roSAw=toF%^s#6q|MVk{>GBKEX2h@3Df5IK*umDywF56WwS5UfER;07`9< zYmk8eb;_>-=RGdFxbuRHg2Pb zU4O8-AG&vkpegA&|57*;nSZ0t>fL2O>|GU<*}Hcj1Cbe$Uxmy%xY4_7vAxwoAG>~B zvKvjXKhrg9tSi-x#q?Psi4e}b&CWA>!188kS>SYTK_;vslgOMrF2z` z01iINOzJS^0Xacd6d@f)A*ZJ}BEYD<8T%S8Q+cEME*e#XFwLwBvV ze>6X2`RB>+qxn?q{wKioahNt+kx}bw;LDM{7+-P9AZ|0Ba6%|Fxfm&os<`K9=>cApilTi*b~QF|4>;;)ymBq;|2bDON5xF9e$4g%(B6q5voOpJqpQDK?D%tsCaGgp2UFgGe- z)?<@qU%F6`+;Li^6CClMJ)MmZnCI2nyV;v^Y+&$mYy@Bf=p-zU55o=f!>08V_6=Sd z;)5|D1Y{bd6Mc0;8Hz_=LvxP zU_7g^OgxWA4&vD@zY5O|xY6m?4Z)lMBfy4&XlGbqhb*aMlMP@)ah~1G5lJMA>`PhP zAT0bG&-(rV3tyIIVxa*^24Uf+2(WqsET+E#Z)ED+ptbMyNActZxk>*6&X$4U7z*)( zq*j5YixH55MN|(YtU?HM5E&jvNuklc_UHcwhmS?Yv*BYo(r0n7ZqTOe4NX9U)%3nk zwvFY=X}%ccLLq!T9=+qrm!-Lo-bu>0zLsU8y|K9pzsKel5Gf$;{sF7MW$m2XX3F)ycmf? zxqj^8TuZ|vh?+j;aB(`&1^G_*Z(H-=QY|EI&oQ8P5ANem7ZPUbWCKtnY4o z!99neAr3Bh#JPQ3UpWu3kqJ9CF16MJIBOlqA=t5T4S%!N0o`2M0nqf8o(`5;dKRq) z&xO@s@R#|p1Z-sd_>b9;vBCqyQ@WwHyph~0SqgSQU5|l(#3JGG@%`HpMlVO#F{Fsm z1ce@mNVewJqY`?+?ZZsM!>QusMQA*&abtz}kdR<*uy{_Kv}C^3qTAUbreMEKh6wr0?cqmDOUzn@RbHL)>G;WPd)?Iq0e*BfokhDGsFvJ$+4{ z5s&vmrb9?NBNCMij{nhri68o3;y(e)@jsQ{{U74Z7|B<0J*e7@A~N8MRiQV;?ROlm zeKKBN^Uv)_;phkXR~$Zn4rZV@=0C^F^2Z;#e3}2k!{_Jxg&m+lS6P|xN%G-S|6$w5 z)kmECufxX6Rdf7~!^gA!5BDFoewL5+L4IRlN|YiKJ}Z8ncqCoMA>uva`2Ujss*LWl3|Lc#NZxkH1hVsCb9*;8RK9@0tb#PzvSz z^&qIff(CHD=KZ%jLe>`^rJiZ#e!>;3MjSOuE)#S%Xafo8i`0do4^00DwaJ6mEhu(o z%z15P%-N%xc&xHEGUaM_n~uV2wbDF_=d2YgQptTtuH-9f#6MHtgPfFZS!(kUUgs7V$1IjTw)`7;!W`zjvoxT4A<9t!uV!oOR0 zP~pc|g+GQON>w&$JhNU~s{9xu(e`A_C)Xw0-iR2&Ud7_EGum|{%Y-N*MA$8r$>U%u zz+6PsQ+9Hp?1NY?q>-gYB^zI*nKr|@1oFgA!@tCduM1xYwGoKhQB{1B>@3fQgJ8c3 zaYT${qsY{i2uXBFj1#!{}+Hxy=nO`8uR0{)Rkt$HRWJi~0Os z*|f&vX%{G#oy>X4?5OJ$*h%JNC!h)9+t89~v0>|h1TszXK0n7B=X(^hIu=-p&Y*jkDwRw=|$tiEI8XlSE!a$wj3QdGcxfatfrJTNC zY|g5jpmAA!Xw=MDHoDor))TOoGMuGg&2Nolyh?Jp+)V8o*0b0CKHf*a;I@ zO{%!WM+(d;fLSHnsyK%p%LPW(h`Ez+oUz|73zee3gb8-FfjdB6*a1UXRyogG<*4TN zAm3|&m@@|gxE4fckCHt@5zwKz6h+uklB=??t1^}iF3o0lYYQ5W6Ub3g0y^ke3!6=? zJLVk)f)m1XV*_SKKsC^#WX-!|E0LiTY0aHT{ZAK5c)1zB=6Y@GXa2SiLlsPQDlJ|4 z+BZP{OyAn4iiY7U$Ii$BU&96|s7+faZCk?k%ia?oW};=F5Y2%wVmW4ZB6g8III$~$ zQbzW~X~&c}5yxY|>1X3-e$&xVK*G8=&S{~f1gI?$&$0~JIjUdJ&k4q+IfGu!WnnOE zRjDx8CX?f(G-p;Y6Nhq4$h@wMyrqNk2CTgL;LI4J#T_uDJPvapXs&9;W2R8Gz_1A< zdc%9VUh97on-JTR)IWiV2{~%8*Yt}Q5s8kFa`hW@*nt*K2-2ac_1)zzd$fEw+jbQ# zy-+T|b&#B4TJE@#Pf2~F$Ns`?U;Bp#ze+-l@8e$g3ApbGZ;!i;rz~l%PkZ((f5~;W z@FmT6+J6x~zxmFrm%}rg?{qvFE^ofmd2;yN<~xT>2$$-yE3iCQX2&ibD++T*+Psd? zak1&cd?nuSu@1;Vy^AZ4hCRNLJBNmc;&)hx2HAdxl|BejsO&)LIpJYo4RBL)D89K%TiG{XSkpLRE}nHp2P6~<`yr;8!2aP7SQ_%Q zl^&#~4DLq-BVjqVKaPzl4z_)4B6FsMq>n}RYQow*kjh`axu+zV2=Ry`V*0l+t$+Feiu zQI>^3W<&3xY#!HFWivRbH{*c-FvNc$=4m>NnJyScge_&g^q18b4xx+SAl(xR>gKN* zqUscZ_jQTp)^mPnZ^OMfH|R=1e##7ZAL7&M&zG7 z(gw@GguzK)i6tMG>hQuX8a;A|%0})L@D&(v=g4bUOXsr4pdK!>9sPhlVFQ zyBBh^vZFfvn$3-cc%1?2kI5S0WQ|!c^J=9-sgYGqq;A-b5kPG*x!v6Mj@oW~*eZO& zI0;(?*I}to={-MNK5J-=>Za)}Y$3K8Y%wS7Q2BHyDCr-AnJp@r7b9OBi7Nw~&Qof7 zxT8b#zre~jZih|{w)mMj=9?Ia;^p@lmS@2;s9x%ErtAGSRqtQkI=J4~^R0S+hZ^L7 z;ANVvr$W^`hxJ~CdWW^`Fs^cOQo6C56mJn7$e5}cZB}+wlp) zRcYG90b~X|mW`6s+>|=kM2FrZ?Mg{(wgV$5sdx*F5;Y?P?S_6At>s``UY(5Lh($04 z0}L@SMwhiOWe&CQrDE_9IuvrDXs}T{2RM)xO8J%rryrOZJH*_S6EjdBKSnpNsz<3J zDzUc?ieW-aA~Hk=ir!(N-NL!Y$_zO*72>cu8hV+_?3P(JH+>WPiv4_KeIaLPHN^h`Bx6&}qUpyKf!&C+|rOi7Q}eQzE- zVkZ*1fawySU2>=q`xrvih&^M=869%e>gKtj6R{g&@SayMZELn~daAi~mHYnAO(N=s zc}lLC? zNB;+8PZ!>O<%y<1Tnt*!e4TwLmcoQoy8ocVb>cxiID;c5*@Z54Av&Lh+<=Q!0OU(| zCi*k^H+YY~nq{EhuYhi?(qk(yZ*yVp;IOB8u@~(LVe}549&@_2&0>Z(w=-1P2wwO= z+*wW~2k*x4hs5>hnN+_$Qt9UO#Aeye_n@5f77iC{si-54^hoU-vnOCo+M)Dw)ZT{! zaQsVIcLr0Y05b)s65oB50MQD?3U5z%A}(e)udy}{*~SrfkMu@WsCe>tu0ERx%UxIC zUt2CkP z!YKk`Wo@9aH|SmCUU(lOyl+aq4|8K>EEjfu`C`H#i_3aqE$sa6?a7%LbJ_zqzvGCO zT^K^b*F-TIg0JB(%o8WW9e4G>i9&72;0euU8aKkBxDfQ-QJ51d0zab=XXuTg5#mqa z(dfnlRCQD#3Ik=D@R{V~e z3b8eHd0syb`E;P53bY@zo6HaiWB791a7CjZmIB?z`|?e(&dvH>7*>tT%qx zo9`cs-b^RSJw%d!4oz5Gi*rgxgmQ4Ai>z{ar{^{7S&0dZ!_*xhQ#9}T zhBx9cUpL)jxZnwEX}ISc0;r(`%KKi^(PkXz0)70N7>E8coX5*UM`C?gU_urQBF&X$ zaXo0BUu~{}$#8+5!a&6nq^4FAfF*HkjRA8L#^)*+65j@$_HBW}PN=>2iQmh^B`ntj zz0lnVk+hk3R{bDbIMsS`1q)J(56eNIUR)28l;Aij6>N;d z@vv_iFe_c+!1*xh-cv5uS`7=4T@IR;8ETZf%8lzFpjiBQdD}-&F53Y$E~uNFi5(bZ z#nfF`g&eze@9u_CiB~ZufymDq-i{v!<8$h1BY^$nR@K9j*zGt55VO`9#+mQSG6wjB z8WgaUh%25V3D*+(0-_4vBI|o5zlv4CoWK@+aC)hUxY$>n&^eMy1%%|kL> zay?G1i7lT+0UqJ5$NU7ocT4^H{ue0{EAE4NSXdgU7wb?T`i5#7n-Br%nsW0CYKP>@ zTX6o|AXyFAV#qK36w80myaGFDSx&&=;F-M0Z`9%#a-J?utKtIFq-#Km9eSJtQ27C= zwNdng&#fENb)>2iE|sc^19_8*s6s@w*aZ)=R|6q(AgoZ4@So=sTU4Zv#r;M__^7FR z2Ndh>$gjfxY^t}wVo509#~*+38ZbY=A-k@=cnesPIM{Oa%dalIM>f^HpdS}v(6^Cu zgSY}dFmq8I_+*7>m+r97Fr42&^p&9g{&Q@!FahIk{U!2627K;?ZE*0N%s%91#7wNu zOu8Wsq_z(%hjQOz;GMMh;t`+7ery-7z!v}uKL?MuQ%BN8yYk)+_rf(Y!kG`V@L9zP zoRqN%9Lg#@`FL`tX!&O|D&;@yYsAi*N3+(XwKc`4!KM;AiJ-(kWB=mmSAcuBtmHNE zCc>o2^ZO7`4lCA??-5H#<=%25^R1BiI^?z%C=BN31R++m@GnTC({lQ;$R9o%T8hA! zo&&SX?YZ`ni|ZRtjb2#Hy$1i+X&zG??t>n)|e>we&N3RY(h)Ahn64Sz>Wb5 z4(<}M7Vcu42=|6&%K^Rmb$oa^@!v;=g%~S0VKjcM8x6=-*T$l%4NJeYtE~e^` z^R{^^EK;@YL!Wj#UG_we<~`8xxMqH@6&{Er?4ciHu0UBw(g$tHO5CaJsD#-MSlKm@ zZ{B?kIK)HP)T7D=)9(n$^z(K#d?Dus4J3AKc+i5@xpy%76AMee)p z;2G+`Gj<8goBkch+pct3u!J%RmeAKWs3nwMap#d(LVu9tFPTX$V-mRrTLlzm#!fwC z0d<*4jyhzL^2{WA#~lic6El-+Ws*!V9$lZ&j=vwWfcG<#{OXWN{+XHNmP00aC^Jd$ zkV)ocCOPGhNiNDvGL%U&8}sIC8I2KOu>P=9ax)8fl}Xertj-ByBPt5O(L4J)X^ zO3dMlk;lClVc%$Mtk=*6oVQ!ihalenHz2|eIG-Gn`{a)EO&u! zK$a5m2FvW3E;nFKK#RJ(S5;L~j-$>57%t>Ip7^QCqZ>|Gjp&kxoKIxTaK_*$9fUEw z5#bYpvFSOOW^$OKt{tGLq}c|z-$cFKrLU-GgEoJ{5;xJ=E}f|5A9Uc@{w(bEbDJGR zdnGsO%yUzXI8`8vJU1OGUKi7sC3&ZZiZ2mAO2sRC%Gh|766v8>{L=8Av`;7BbHXWq zzj+z<=ov+#U59)vWoYLXp-GbAHxogyTw4T18Gq?qXVX#W9dgUSz{8qg!vhguxOp#e zHtY9L*{M{u5vscR9UtoedwyL8A?fz!Qg& zf#IQo07S`9iDHY~DvOi&Jr&OQLrmjt8;z=rzniUx3m-x{3D))2QMUL!ez|`%9mT3cCwRv2YLdnz%QK|+?Qfl{?y8?x1 zIZR&mbGd!)^vF~^t#`&jpcgo@ACsU1+CO>+Lu-MmC06T+SN-1Woej?n zCY$H=WJ8^7(3aF%xcLg4092)rsnDJhf*Eksi z9k6lR51pWyTnqVpFv74CSLT?`q0d>tM4T(bc4HR#vAyRfho-yjkD#2A!`-X`;uPei7rLM= z$w7uS>mh=GaemDY=_tKHwc%F&Iz z28`+&@z^N2HR673oj8+QfU~CoZ=7i$_sZv6-5YD7dzJ=42Kym_5RXZ zoJ|#*`YqYGHjFl{g(r#>Ehe9@H!_!uiEsjwpHDUrYA&?0X$N-|bPCfc$+} z1uc`F-dQ z%rJ0SdP!qpxOq^A`#CO^5T1p5nj`lqx?OPN0m4l|Z>e062tz z(0T&@faR&9XR+m}p(kp2s@VxOmZypWO*(&kWHkV5u;RiaSOHV9cT`tl2Jm9Nj@gpk z^VvkjGzi~Oq6&nBQ~5l5(0jed-A21De(&S*+}AjX_4gq}Yo0pPM)ik>^LN857n9NA z!!JkJrg@z!+-?7hz$8|3I01RGd|Y-t^UOo_6qUyT&xRqTUZS>;h&L{hfZf|*i8Zf8 zQV~9fU7}36h&p%{)5lRLE|WfFV?#xAJKEFL|9iMI37hhc43gnu7bbaT?8%w2C5V-! zZ$lXzHAkS`5{YJZr*4lCo)nay-K#?fHu#d z%VV-pe?{^P(mXR>qTsLhCAT0+nrFr@CsM{o51U`k(UZ}N!<5f)F1Bt+$;1ATm~Z)v zbB)X20O~@If(GE-khBpdFSEqyZ=rl}*&_p4;bUNdSWX@suo@*=7@nm>5M;0dO7os6q1)!WOhYBBKb~Z?{R< zu)VTgl#3@7Z=`-3BdY;8SaN!7Q54z4kRk}zEL{v|Y=+%fL-yA8`nP z^+z9<^Pb<$tP+OVf{rW-06-YASH5g?Pkt|A#9pFPiuQm{ISS=Rz8~veI1ZDWj@I44 zmHBE!;6dU?;7s(oTjyKftK}C@*Y&#F_-qRLkKI`giZ|JXcY>Pk=Pp1%`Vh(Q`}p!K zf=-s&BHQ2>@pswTSAzF_ISzf7qbZM6p?p|mG8gG^1ib6)G4uL@uo1mVifcPh>G z<=%fcU4YVY^Qdp`51O*HS+U$Kn8gdZYs*U~T@V5r1YDfW4SVq8ZvCTE4l$MjIZhq7 zw1#s{Wz1idCCT;9avXS{u)s(s2ts1q**$$83_)9}y2a1~=)V}H5L0y;Wvw=dz3(9q z@5LifSF@J^M=vLJp00_>hUj+lyqf zt6_LketrLkNQ;i-6wd6(XF&${Q+$tOAs5Yr6Q=NHMg$%q!8>qBe4m6C zXj5Lb+694u{{BwHq3{8GG7G;1g~xx6h&(jGg8t8do`YpK((+3^`piKi;1|!mjV_HX zWj40>c8npp3(LqoTgYibsT^OK)d>`xoWdU!9(LLrlX~N0yBCrR0ut>!OfozXLlIST zI^1N;Q>+@VKW@VKX1~elbUSL5&ELC~4iNx*ye%lN{chsZ3s|GxmN5{yY?WHsP-W8! zd%TK~65_==$8}VFz`FS3O11wpR9tK$%K*3VSRStBPYu>!6A~mErszPNe|DI7=dOgiy>n6)KDN8_%;Mb|aQa_LAq^?*XsWZ7er8Vi|QWI0q>z z&G#zJ*LCQhFGng~O3b66L#s4^Lu%^*8LS3+W#Owq;ENp_88O|{%n_EUH4yTRT{*s}gVJiU#%|mw};b;h5 zxik=(28vA}jbd?j2O_UJ<1<+t?PhVNpnz)|hnBTFb5vyzBV|RHT-SO*1~(2VZ_kQ5 zP;a6G``opB0=maJ1{on?GG??59959s5@+R6C#E6!nHT)8=Q8?r%z+U$z9g0! zVjpDo`d8l{6uUYz_I1XRvHZpxpq4;RKqQg#A+2Tr5kPCsC|gD%RGdLtUJnoQTLkc> z(svCk=h0GQktAmH*qndcV8&68#9g}S4R{lzW87l0EM}uP316fRza1Z<(gPD?5GILI z7l+xdlkdA8B0k2kC)|*GI}B~Pobk8ciT+8moik|H%6VdoF(@-C z$%t3Feoqcgk`Z57Cw?_J@}T^^tiO2k;p&fZsEDzLkLLgrUu{a|mwW=LTr!A7(DIo) z&sm2)MIaAA3<(#g;(yqBb3rpo!U|9a#J4Z_9X!#6HPTIK*66~Y!p-%nI8|jmu>hB zct2}&`^}Fd-#Z$I;XrnqDy-c64Alh+Ustk>$)YYtECuId&@udt5nq!ipmiMV9B`#1XSpm{6`pC<`8?HdR`X7bY>b(~{ zC`NbC1ZX|cYAkvRAAj@}u8ze2Jz*wZiB$aa;SDAC!mAl%{E~s_nefR-CmR=()i5VY zXDmux4j;4-{s&PQ2LvHJH2MhB1nqxPY2-^tfmk-Q#WWAH5CRmyg-tJ1V0k+mM@1ju z2m$yXqn}j&qq*pM-F!XSA#2%%;EilPjci}R(?xyIxHf-YB^X}h_Kp^xJd0f)O5Htp zN#_?R5IE#|y5oZppp&{oO3;M^0y|>&Q)=a;SG+lZ9WkQ~d@|S{CC!eX8~Ed?G+&c? z6xjZF>9!PFik0T4BGrH_@k zT*M)5(5W(IqW+P|>QuQDUkEC{!$YMBw{_PTS_4u{Ge3(ThyAJ=HtbK*L8VlQx^$BB znS^McjWFn*AAxpwZ+U$&3rh{WnRkfgAi*DnrMrK z_v2sV>I4+uycQ0S*MrL4^F&6uSu9tL$H8M(-k%Vw1w>>Ls~&R2h*c_5WuWl45Szjr zykqn*EMub@yqCcK{fo~h_rf4XN}iO*m(pgsTJmwo+)orN zlk?dcSPxhpi5$7~A+JX~1I~H#{CQLbh)9)zv+X`xbNDD|P-&F<$CTRoH)1~s4SKivf7t?iQ~}eB^*fq zn?dP$)j@s95bia!ocOrr+lJdfnMFE1;?9RbK!Gi<)uC{yqo}q;Wbx2oFgZlNl3PKa zY!3|&+O-^MmJA`oL(_xa?xxfHW?8|sb| z7MFr6=FB{GwITF(N7#(Ay!cd<0;}U@pbob^HI^nL#RbPdrf^pU;WN^9;8K6hY2lbz zEuQ{r1hp6mb5eBN(yd@KeeKXQ*p9{~(AXx~SfAg-D~o6_Ha0Cf)h40Tvi*hz6C0uq zNH8zVYhT;B)8#v3qx-o|JvM6CkH*+cXG`%aLWuCYA#r z93aZ7ebK4V+bomVRQi?HyGc@z{S|D8wst8c9z+jyV$MK(`U^ILPaCD>%PIB#iYt}) zcqG=X)So9)Q|3GQCet@(Y@z7F9_{I7f2?en*50ee*w#KMjy2?JBQ|T1j$w%|ZBxG% z894WjcjKc>T*mc41ybKCMqsblASf{vALDD62k^haqj&CdCDyg=m>*A9nX0q-wt5@e zv_FK^zE{eNZT*BZeh~zMV&^3sT@yP)KQ`Yj+=hql8?zkmK64aeBV7l?1t^+0z}+ld zSbE*$%5M}?SS3!+ds4Oe%@*#9=91<3h2oBPQ^@Jv6s|It^dcbX)yyR#!+VCgMAF7q z;)&*x0(4O_ajv;Uhu2RnVHBmNBE(P8E)IFB*5V9-dk#+9B5fu4VPe`I3^&tkhMNo@ z1iRqGYWx%aoaGepzhQ`@6JZWRjYBmm~{E0erG<8sDV!5!cOP9;|s~fGP|Nd z=Oi9oJNs4mE)$F`8GI&!RjBh0u=s-c`AVB_;*JrvsDFY7>JzfCZy9YWO%(v<(N^XW z-Z=^!`RHc4UFql2aFS69bP+a*f0(`U;WQGG37l|x%I3-7WSh7yv6p}yn1}{}nJ2dI z9)y%+-F=TsRQPBaBz4!SU972>Y0WRq3$T{-3k{>BI8k~Rq}_M97rcqe@Um6VJV(Bt zG|SAMiaPeUuMI$Ra;xA?)5ypwt}T&od=0|y#RYnA;2QZFq2KB8M_nWt6L>nT-v!lx zU1gCwrsmmanW3pUFyS453eLW5?OjK2Y5u^ociYixn%~bE0WqTW+K5dk61O`ZcB@C& zpk3md@?PlZGIRFSJZ|*A0Y8IlDiE|@#K_#h>FpRuEYN=^{4S!gQ8bx-qD zhYc(-tOlFKxjsA`dM#(b8$SYyWTy}U>eQ?kKSE&`F1NdyPNHCjqj~BuTL>@GmJy+5Zjrbj zX^9v}MBMIbct^rO)#c6C^O7r~y$YEGjpzUs~T~|FbRIHLW;ONnfvdvOfWTRMy z0-qVq!2d;j=@qV~Za9Qd><*6srFy6~!Gl%M1KbR4_ z>4+??eNB3S7Y(DdNarxHUA4&ma~nP^i_IR3E6{bK3J_}TQjFl80pb!&sCA+naCzsl z?(+lJw&bFA5`{rIj!6bcCGl{m;0>Z&3oCoLX0URY6l3q&Pg05_@>wwf+#ha7^Bn0f9h5Wl!V4j}4>{J<7OT1TV^6da1i zVzx(V5cs3F)=L)do0_@NUpil>R#SyfcjRb}4H!Bu?<~DxPr!f~Osp6i#94q6$>zBi zkel`lTDU<>L|8C3s|s^ik{}!8zQ7}C?2>vWXuvS9H1{2JqZlyXV~9>ZguJVUVh1=9 zKz+7s^RqVn4kGFS$kE%HP$CK=aED$`a z1{)#js!?O1HX2$tEb5-*EIA7s2#Sc8DlHacwUs8jfQ3rJCYsH0E4H?^t*@mmR_mqG zY7x+C!YzSF08znvytOB+D2kPUNdDjN%sG3(1oij6{qrGv=6-o*=9y=ndFFX^jJ1m5 zTue68^l5USXQhgpB_1oNv7*~F2ln+1Zp|l~w`7h0>QxXP0smwh+NZ}+pmlQ|Dy~ff z#aY&h#~nDt#+FiSr>BUc-DU2=7XjVoRyZ&wf%yDvt^656AR-9xZgVyA^y)aG{2lz} zZu3ES<@E!7OYuz5y0;ZDoo@V|c?EcJ**>q@dYa2?7B1EtBuO7Z(v4%i4x=m;cX49+Pf$xKb)(zlqZI0 zE$6C^*8>iqn6-FO)D1;PY+c>+XqwWr99em#rvDxEZMS(Ykdeiy5?9dSpuCU9tDi-D z^|J^l0YA8DdShN_;BNiocWK>v=v~>Z$Y|LuStxqtWq{Gcp{hlX!kjgtj-!<9NiTVt zRq|-7WYIzmCBHt3qbgW_L}Q$f{y^(iwe<~LlqNy;TYw;BynyGK)yAtKXqAvh1=zB3 z@EV!j6FBbzV)zud0Lw zjCS0nzZiKtfC0aiGEqUy2V>(J-1cSh9I+8vf?(sTZa5|hD6Htgi|R}@j?3y*Jd?9g zr+o;D4@aYJa|Pc8%E#QlffPS6Xt()01O|+MTfm)n1ttx^!zP7{2_=wKfW$4t-c;p@ zq9O8#e?4-{!Kq#Pu7po)=^JwbzMEY0c1RQ%5UU+@zgX>c4`XTKqIVgJRaYFxdJXQ~ z@n5%z5TMU)^JW>+BSH!oa-9sx!dR&*u;F%_mx_=(JP0vgcmg%!2z3=HGO*aP)W3}+ zl@|XsqnUa($H;gCedAeqUK#pkbfI^Q7lV(M+*S&YQGk5~cDC3T2j0bRaQc4FEOpx? zkmfHA8p`Kz0b#?RBuoY^P^6qn8Q!a0NlmxnyEc(rcMIBNb{^V>&_ z_nIdpBz!iqrS)A1UVIlzh!J* z_?u9)K$D$UTu20eWg*2|!9U_brJ}=0Mk2Bl)`K%p>DFS!tJt>z&j)A&4l9{$`0iJ0 z!$-q~_4V{NOzLp%%4kC`BLK=n>*QYQF-$r@NXnx0e2+~yqj7TaVgeOZ5pb)WX?Nb(y+crnJ39tm*{hzubFEk@eh&dH@D6wQ$97d<-Y(cy8!A%G*Mo z_G(ejJ{nD$sr&YYajeHdtQ$u&VEJlP8$h~=5W1b>L1HY2DJ8JZXdl*?pLat&=npBB zn|-;Es+b~Wi6=sqc!+#p$wwU3um{{ZEX%-S^C@m~-}r;T$rCZfYhWUCMqvyB{Gzmc!epiT+pJ~9y7BAqU-sZBQ__O1=Q}2Sn8O+lFkR`EN6j1Aq)dG;Uo>(n9 z7&2bNeCDvGS#h5tgc)^`;@em{wtBym?~Pk(EfIn=Ah$!XE?L343mc77GM+9%D=Bi#^ARkat3}EL{8Dl@8blH;2H6ILE}{@a@u4r z+X(3I?R6o8+WIPojZ#5D-^bz8wemTx$ne&Q<)7@*M{m+k|B#_0H1C{pur|DBhI1an zc}J`QNMJ*s9#otD3o6JvstPgV`dhAXZLAua4WVp7Dfk7qVyk&O=uUO~t4h<492~rB z+#I+!jAsic< zifKbMn?ko9Mj(pWxLxu~DK=8Z+*Zv|2ln?b1>{SIS zjhjEqc)=|fl8}NpE&popH=T}|_?v~lYw4MbzXkY%!F2gf10RkmKDXn;(52E#yapf5 zBQbQD^gbXzJS6epF_%*us24gM=qgD+jNC338b$VaVIwGY=raJjM$GSe-MC#8YKGjz zCD4_QGR=!DPXj&Y2@j;a%o4bk%F|NsE!NppH;1;P6v z!GZ?ygt|?JS`a*eFiS#k)@c?5A3~x8o=l)iSQlKVBVl;bw;^(gF~4v>rXNBo8(6E! zS3iKxD%1^?_-**;mSSHW%rlVcwv@)#gxJFRh?{eH1=FF+-2{2#dLpb$R0mFD>R%e( zle)pL`F;l3m>w^t!YLp(tUZ&Z92t+pg4-OOD&xp_^RmJ7b7q@w3>pubbnUenjmxYb zcze{MjK&=iKiB;2%}0rki&>PoESbb;B>s&-vTxn9zB}ozHnw5UhrV8;p%Y$XGdY-0 zixwZDT@A^;Y^b&jA1j{Y7Df+_sC!?i?Olh9VHIiuG3iQ_CxQh~ml*6oZr;1$UQ)8G zRTl;moa%tDeI8zK9t%Z9##+7H6+Q-{eVn8LUuWG1i6W@k&4y~+&Dxl@V7y?h(8P56 zi^H;_l`b(X$-5!RI~5n+2g)yZ&ASBih1P1zOT#0`&jf?$au;}uJ}Rd^EgQ>PyqAq( zcNZkZxXzFP0j4S!UgT=fJQFY26pZJ;Bq|)u3adngmbydx4g)`jbDFHqVh*^72j=*AbUUSJdYc@`JI@hnD%O>6o`4 zp;4g^kas8Io;F2HgF#l-784^UkSI|q{>B-r=K|)wzVJ7B?bH4?`P=44p!H;`MM$-% zc$^UT{*~C|A)R*L^N>@dSvjCKGWDin$6uo)y?%K0_`RG7>MDw65=V)IKS7KNk=wMO z>qL-vEnugbj-aP`3###w%gTBY0=4)=@T9GPa}W@}08_vU zIDlIQlmafF6=2E$Z1GmWP6SxY%r5hjkyuxN$Eg1O{po}lL{2-uD|!LF0U*|ojQgGy z_ZH$fSk(3@NjMyb+GZnG>i2vdmGR=D%X}WL_zVI3O~N^xp-;mpkZ1`8){i@Y-lm~_ zyb?*rFR;myDF|HHSe?`k#J-A;y`F((AmE!jK9b% zyuS?Q!ZQ?}OH^Ys1bH{%p5%ChPdg4j>hW{h-*U|vzAceEM>VD$r#!J1FMz_hsCI-W z;3aJM{Ak~C;qqwT@wXI2`$paZoh>Ed5z)Re;WMIr7luy+dO%ALtjf-HI1*n&$?vbq z&4Dw2l_MLU+*P?QheM5lpkE6SAJKLoDAD{!(EP^o!+Q>P%R8>HNBFje3meP35AHb} z&TlN=im%cfMar^Gw1d*syh$}wXE;acjGB39p_v;V8#QynMN!ik&i@7&8Cl^oqkY38 z7o#mx)`+%@hO=@F8dT(*RvSSGImX&B6W>7=g;|J*b})PO1k4J zwC3c@zj}@uy}2MeG6U=(^|S}_BGqtAI{~KO17)wk3cTvu5grfdU~`#&o)({0paP@d zh&2C<%Ek%9uKjNKyOl<0m@_=8@c^mJ`9Qeq0`cj?a9jB4utm@ZbLBdox;Dq{#YCOh?ru#O} zAFqDWo);MhZMVZ4$JYdKBETLo$=TQ&LVLqAqP=0rZ1(1a1NDL(@Cf!7_Y_dxy4-Z5wOWF=o^epb{T@Px5dV^0f6@gyO}Bz>N$zMUbsQ{28eF)zr06i(8FY!L7vSsS8;_W4VpB zn(>_OXse3n9|vM;pK?=vJ6J~f#ZVK5-hm)@hK!=(`fsTqSR8E)i`ombB17?kHh@zT zdBPDMX%w`VPj7eEDf5RJ)7zbJ7tG`93+Mm^C#qplF;XMbc6`3ZOmKwH)_g_V>s<3s z^OR)D!M1I($& zafn1M6p-LJ+zcHu>owzT$1A?qV5q`RK1$5F6{0h!NZSf}k?bdJt9#yWgshLy%+6#v zG8s&P$Yd2V8K-!1aBLX_piX16@lpGmPV+k;M)~}_4f1ti2t-YU>d&@C5DuK`im81u z^-xPTPZ?@|=gl9G2iI3#=?Y6)(Et;FE2u@Mxf|9&!ICp4u&|gf1|@7s1ZLNX)k2|( zmwak|_&guTtNl=>2(s^0P@jVIWO1F~%$fICrM-_B(xkDnSY^IZS?H@Q3Xcc-|8%Bn ze>2DYgUkvx+$C9EelV{e5e0zpwa^`_EJ`&gxt|QyCjE15a#?M<;^=L1 zm?JXV1c-??b#5Yr(54dyYZH#n@!W?l%g>5U!^lxq_7-?Jx%AjH^kLd8{ME*$&5cb9 z!?hrGX9Ff!>`v@XNOfn6@GKR-e42_N!3Mc=nFv}ggB}o`72@}C86*z8ceaV3^)iS@ zv)G;6#P9PmXqWKxh~Ibc+ag32Tkh-?ZeDA(+?l{H4s4W{6L;%46qP2~?t*rVu^96N z(7ljC6bHaz(#=K)nit`0qxq3wRvUNI{V(Zmq5Eawp1i=^E*-UIr*sHqTsY}dXa@V$ zWYV2UzHD@TDUWK&e<>VqRQoZ#3(c#caDo$rdVFnJ)R#;@ws(jH!|p@n*zg5%(k5r$ z>8KbJw*<4#lbn5f&DT4`NPEn0BA(H)dQYr!tWoLpRZd8szYg=w&qN7clu*i3mo-=J zktLLxdk~L&n7^g5$_W|sHx1wGM!9ZaDeZ2px(G^t$5&nyKIRkb5Ye8T{?1+=^Kqxg zXPrf@RTqx0yby}2jZ4t#sU_w;;6m-+)jO7Hyd^^RRcYe8P$O92n^eFu4m&o&1?Br2 zs5Y=U8%d2xI4_}N@d91NZVFEoJo&m=jp9VAS6DHdJ)w;-ai1Q%8lZx}$ag&ps zz8@?nv@%j20^t!f3W^PEfj-@7Wunv0bb^tynr%>hSxN}oC``a;|H1JweZv#)u8p2#$BN%Gu~czB*b*LU_LDsvy8-C#222**w+lb=m7`xgKRB>J}?N7c?dC z8n~>HLS$%QO){U|uLSP9B{U$RpMpzxj6{@)(=jlRJQ@FP_(Y2+T+Op20+c|zeTQhp zKnXE;Xqfw%lDa8e8kcV{k2h>o`YgExs7ddiRfs3hufUR0bqrG_Scs!9MtxgdF7G)Z z*PLx^)+mB@s%lK~1dWOk$7byCPTkQ$tgm@5&lk8HA`@fKL1#=<{1Dd6^=I3ZF5XK9N>$A;~2PD4*cz7urov=MCf=x18(~jJ0D9(mc@FmF~#NkZN$5nuHOw!@%=<={bg(@WQJS zmbShnL7$?VnQp#J_b))Q5bEU0FDXX581W;?6WG$+uQXE!R-)b5ka$K);jWVBcd3V( z%;%#*V;^7u^)uO75+poeG*I4E&}i@e1;J!qNIF)XiT33*$_O4bHr|#sYe&O zvn-goWiKxkUA{qj$Ym$YreczPLw5LEB7U-r2bGb86^;~uRRsk5kXUK%7yVS4j|0Hu zluQ#L0Q~kOd5##>KFph-?+dhuEAT%D5TYt}wJ4BDn6*d|Wtuk?dYm*dZB;KISH zB{9b@(+#RkTLED53X?kkMiLb0fsKAo)<%CJI32oa&UzJ$4m{3mL%g~XHjs^9_rVDb zBD?Uxd8mZBiB$N{xQ(}`7KUuS%>@sh%0V_erLAl(J)KBPo_8%h+bqv4$}G<$;ZQ^R zSZ9HB_~{5CP7n{J^clD9#V-l~C~q_2WMQ6=aYql_P&6dUH-3#NlV$!4irr$jt!E+& z)te7Npn54$zf|p`8_$R~7*lmF>f|GtD%pg_^(&D1niQp+TH_XOe{_<~4iU7pkiEVX zz+EaT#qw@$gR7%~jo^(mPB9H!5sa*^ zpe)Yvi8G5Tcxv??q$X<6yaf&-%f<)b(T)6FYAbB+4NVNGjvcGEu2ox97#00p8zSpZ z4I0r^c9sHoB#^8uL02NL8k{qk=?rA*u`_X?MLo=9!jr5g=oXnE-piWKL?%L9)YO-r ziSrLW_ zDtuC`r(CS3#6^hORhEqUYz?Er?;`Yj=Osh`Eke2Btb<887r0YGXkxP-Q~E32!iZ*$ zy(Gm;7PKeY>*~D@6GQB6;w&Q$i?c6>kPPHI-h!_4dDC^{T;tR2A3&e`Aw1E>lW}Yg zxc~Q2hk; zSq~Mn%1cF+dh~tw_77xz0LU1tw)b`8Q)uu9X>k}#B?W&I-Kf{%R(2yjSV?*Kn}TN< zA3&zZsuP>D&CIp-Mf9~spMA64*ZyqfRw1i^{=Tt2flipBzcj-m`ulyhV4di%b1|eu zH=4Yf1AZ?B6v!(8mjpR<@(Q>+V9yX*Z-$68Iyi>l9?5o!`yz0Vq6x4Rcy@&eS%8$n zPbA4=;4+b9LKEP23w`;}?mqtx^r2<|xEU{*&qA=&sML8z4jpkuc9{L|ixaL6lG~p= z;qEoptP*Erzd8H^o^W-L`2JXB2s=cL`7AnXR4(vUF8W+)f0LyxKxuQ+O1n{(20he> zM^==E-G7l0ZNcRBMJXH-o+=OTXY+_nw$~g{lt`f)zi2=b6o?DFPBNfIivq9kG+^Y?L25^B`Tt3AIxYFI=oJV^d0C>s=Hju32!}- zf@oA4K^lV~6|FpVRC$LO2&orw6LmOGWOEiC*jL=NC=I+bpPRCe4&4CnPHxs98?a+D z17r@WL5lE_wp;DLxRB;E!r-1Dc{dK8OA{c{C;Ig<8_3{)rSWaCf#TFb`9t!wBrK#r zojOv7l~#x|?%kat%i~c?6-}dcF%lL}^9@s!N{=nOwe9UyT5=Uh1du zq2%UdeuhUOY*updWN z7t#TdzQl)jLAQB^=v9|_Qf6B54i%}4ASS`V^2x4fkm|`1zp8wkQmV6g!L%u^X zhdvHDF9?Vj?d>KkB7bY&}{>Y2nRzcD~nA@2+InZIAy!> zWzfJKs#uBhf{lCyDs4A@->O#-r=s3FA49#cV`g3fE)~sZcc3*{S$K7Cn^7Ez2x*iq zhL^gM{7%Bd4S3)jPPo05?USyordOoS_Ko7GmDM4RU)Wl*R@dOi{Pn-s(OpFL zV_>V?!q)E6hxzE>@qLWHBQ1Vl zK2JQiUqB<<9DNhTD-DAgGtsNTx{e59^D=_s!1>cp6w;Tuhe{-XG4(e5NC<6CE;Kt% zqW(EPCi$o3B7P{nviGm>rtewcBbnU`lO6y3T($7>zaVCvnx5(K@!RmbV_veDBjW}9 zZW=sZz;Ehc@zHjdIVlxM9FsQw*kd4&`Sqj5L-#>4UYvt=0`amO9M7yBCXz3Rb@K&C z97|4A`WcQ~v=7bKcJ1$%3dDa0`HJKXZV_lHa48|j(NR@|l?b79l7?9=RmBNVP~gD{ z8sc$pio`}1l_>8GA$Wd=zZf~%Lb|OTe9O-{Ui*5%1gz% zxPB_H5|WRsCdUh|1g#@p50nhNv#5^4R1dL|z})d7zziX5FFl(-0c7!gIz8|oR^XmK zY+ojDI1|@B!G&(X?^y3dxxIGq%mnEQ}3xZ$N3+$uWfJ7;Q!#f>O%9UTS6dlSa(U;fJ zWc1~2M^X``=*t8LPZH?MRG0bEf7q9;<}Z8Dmro)uLL?mbmtM0OelS0xc&2i723?(+ zhw*B!x#XiHQsE@Uzs&fbpKs4o8GB@WT{7OD$MS6&Z!KE);soWr9EY_7P!o<*x#3zh z8aFX|x$35ZldWbJSgO5mVJ%ZtXIA<3h2ddBsw3vOD<2if zgBHI>;Di>ECxK0n&e(zXL81(<$#tM5+>RHrZ*;k`$70F1<-^)Z-ERN*ec^GckzXtu z(RhHjLg8H9*BLo!wG;K@+7e>cxMfG3bHLMuF2mjm)I&KT^`BCH?*>RfRl1>Zxj3Q( zz$td};;PGBT-nEVghj8e!1GSzO+ZV?KBjz{s})xSJ(3&$@!^CUiijdGsQaJ9kZ7M<(LU6C`;_J<&_sN1f0Up?U5ZhK2}v=TDz|ZC z%OSj5RiZyfBu-Vh?=vQJ>Wz!t#0fZdL>IeHjV$D}{iHHv{W_`u+H&7?-W) zx21PR{8HRGZ8gu5-YPs7tBfAbSv*Aacm%|Zsip*aq+n-6_5J6kL$opP!xHO@*Z};;AiFry3KBV^zhi z6H8jEN?IqL-BJaf$;49REp46XZK?9|aZgn_jDz{Hru=5^Mj;<4sUeHKm$oj9>RIL$ zdk0@Ph!=b2jB)nbIl}%)vg>K4Jo_*M$&BBIc}8-x+V~I$sF1O|xB-JkOOhTz^5cB& z+o&rV^km{Z4g|xS;JXFvVHpBR!Bw#Dka65Pxd_yY(5ixD%S18}Eu8U@H`&o4DE6&E z?y^lGAC$>e8%8Z=KHt?LVAH&7AShUTUSuX)?!msG8+R4Y6_sr@pTuKgyw2N%SB|AR znDi_f8z^*zVqfI#GYB#J_Ij%=zJk?!YLMK1SuJ*dJ$8HXOw@@BRXS%0C(Z^a5YCp{ ziysiJ7a^qxK?J$S_`v29`q;~)E09Jrdf~zr$hfEQX?+Q~?}S5z_CI%vWMhnPSDNAo zqv}SO>eQgPQA0<6svDR>m|nVDNNNB(%%38Jrr|il*BPD~?RA7FHTL%BC=8b-Jo1)2e5Q3TezLp=51(M&i$glNjYku_)2JVj_(jfWM$(+>gAHk1vC90HqcFtvQLQ@OPgQ$aJf<3h`*EUhpmEW^uGaQE*n*Z)g-m=~f{lY*FJ{dFY}u zRAVT4Pcy}I!$9YE!eqTVAu_Cg-4w@!Q4l=`CYLB z=TA4{!{$FgFQ$y;Wu5Gwvf;qh&*doKYk-PkDtt^0g$_?5dl z{4Gxv^EIF5y+_Q7h@y`FG%_sEx=!5NCtOlDaVs>{+#}x1@k=%6sG4;Z@v)3mPrd^x zqC_=&63*6j)DN)^vtMUh$3wg8OQ?g$* z+?LiS~d4f;BQN(C-dq!*#Yt;)(aZTvnd zBO`Gwo<$b5mtHYyvtbmmH+&&(+BRefEU!V5LfET0MaS;vA@oh{1@;>9 zzvA0vj>ETXlT7aGjev8w#q=Od>~3O)9VdO==1@C$8Jf*U`CZ%!Eh$cWD@?wymyf)U zulT~oLk^XAs}KE<7hmNN-NF)>mme(00|3Z8wQdH{*$PbEF0lH{pm74RQoJ5C-Y`fU zO~4v8f}W6LdtiJQh*fIahHhpQm{6dlKvyb~0h&RcCouI5HX42AxWXo8^VO#1tb{qeHb1lc1@v7L0y51 zhMm-raQS3m2LR>nMI{2n_^Pebi^~MU!I+u9;WOm2=Tt8Om8LutJN{**sh{bw9{qqO z^Q}NN$t*8kiDIAgtyP+KA(`^TuEwq`JeNSglwHY0Z-O@f&J?Bz(wL_V$3ldM?J$pn zXDNoE8VrqOyWLAUHW-)-L-BC>z`T#^*E6A1J?x={aJM<`x&6>QkzZ_%5sqig)A3D? zj93oGB1DXgOFFvE{_WNRS%wB!Ba=ZAS|h_Skc7uv#O}YWW4aN)P$>eOE8ygJ6~0n} zLc=!J24Blv#qIL5mT`EYQxN$Y0zV&@fP{v$<)QmtrgBQ_>P;x*&*rOWR!Gs`0^jCa z&a^9t9>`mCB0a1|S-CcPV5q88Q#Cj%B<;via$!L6qQa(9%4?vat{Gv}wuW}sA}Iv+ z@Xj|+_0~*KnnHS+^+jQ84jgy@+o z%HAM}%_X$BF=7LG^pgV_Pe!4Zrv-}!hHc4dg9xciEvZAzHw(J(v zKwC=?8WAOq>+O~}?oILSGGD^iT1oHGrtB8810ku6WwrD{_mv&I4E@MxFZy)16_!MF z9lcNcI7zpf3y=>BpI8>Ow4C~Gnolc1AB8f$r;1HL0R|!@DbTb75vx5Y(R3rP(393A zQggl&TVe|ckJdmP;SM5pCgi7M&f;L4h$8Wi{r!pILWi5IfJg)|LcH-T?!BR`g!?$_ zJ0gZ7^8hej8oFjm261iiAdKUg=KV=Iq^6>4{j$EQC-(REo-URfjHn_FvMbFbZdp8D zk6RVv9BPm1Q<(RuQ9YQOHmZBz!Ke;|A-`zrI&O;`)?wn?W#-_UM37?Z+6yXEAjp49 zN4NR9bbP6;OR~mxmvaZgc%g%&*|DbS6kBc|PvJ_Fe6(`A3?F&rF)+snL1o|D1V(`v z1s=+6U_1&n4=G^m!7D~ai5;T{o~1CLedH7``y}9df6%S`b!(dEpl_t04uZJlV*UtU z3m)&wt-J>z0vT6mtSs#b)Q@thLF4 zQ)mCkOJL16jdej1aTaF_l#-15OB(WQ;!6)`qa*VXcimlrgJA<}3Dkh3fYs(m1J+~k zfM*r*?friP*N)8+TwUVZWv;_F6I_2ohyd3E($Q`HUOK)sxE?uQcDUnDqQm6y``Q%I zw&fe+|bVyOt$8dA$Y_;MNf+ zwAwgi>?h$CKOGuq({j`>(=t^!kw{W4LQ4IP{IIFhKaAAD`J`RcC;QbqG#=L&yY^DZyOV~nf_E?4B{9Q3W{wGeCsAbSJr z`8q~&722EC(j?L*inJD)i;ZtV60x)5J4cIoILK@sv-e=vHJ{uEK?b~%*9~ohIFRf` zS9nEJPHTg$-B< z>k(7FXuDHs{*7o-lA6I&D@0+RTZ8Z{4Vv;GgGYGu)4e)uABe0Gre)G120&g9f1J}E~tHduA=tkt}ob;yKv zMO0ti;fA?C7GHN?wNU}0=3=g|HUz{2I8R8Uibnnt!}(wkODi~LLK~crL2IjaELnhN z(yWh1XfJOP`;cxdZ9s0$cO9$MycR1tHSkjkG0n1X!SNk5FBfxs>Rj`Y)u7Kyk;%Ma zy&%%K`}BlQAuXoHv|>Ev2g92#+*;uRfi9sduLs(nc%uo$>qZsKQWbYrV>RGr=P7IK zwwnL*W1)&o$Nkpq{D*k7Dw#K*OHI@cAt^lmgGF*J{sWwPDRFqc3s+7h`WTp4iBIvH z$D(bTakVa#K2F38o#>wwo3JYYyhekji;7F?ItE+0$;FmzPnDl=;e;{9w$Ql?y*8XJ zy3bUirwx^8lr0NU96;i2!6`-CaQQpIBw0{uE?R}V)C2JYft3-2LwJLEk@xZ;FD0i_-AM#CmtUqlDCE3A^^cSs3S$b7ACc3A9f&2 z_7br1ahzmTfpTZ@BD_<}2Ms6$7doM1#?-tO6YvJKmy6zm&X~XIB`fb9(L->%ZARQn zWHqzb#28EnrK%8(ZBxga;ZqpKF`<$Gb|K_&=5dYFjWk>@L1;y{`s~Aftwa;b5-kmt z+bA5cV1XP^!_V%p^#uMl>pK_KulB-Y{U(Uzoq;Q20ZQbgvyOjkD}xxtT_3MZh;<0e zr3?n{yBl9XxeYBw=rSuYTZD3yrZ)u`$TRDGk>H-ip5?R=+z_O1vMh$nVJG;%8H&v+ z#UJ!w&+-HK`wBS>0gT)CYqZ$+XNt#BX8SWJAQsRQIE%bTKyoM@)>ATqU-~Z`wYOXvn5-}KaRwBn-X*!7clY$gy65+?`Qp0J~Nf}8F8Kw}XObth0 zv=K4sENB6z?>)^;W4Tzjb}Pj`!Agn42AP<6Z+b*M=p>p+zzj5zOOKeyrA#g7Wb@qw zAR1YSFYr00RVRuOTNdH#Vdnri^oL1Mw%W-#x4fiA;7D ztt~|){X9vAjAacBM(@NX8Lyse4*R>kMRz_WSZLg$cZE+3#-Mkr5*su{PAVx>g59}N zY|gukYOy&7usH{?ITv;65afwdP_PZ_D-1+{TX;Fy*gnw&gg~AF(=DmUwhy2a3Ybz; zOptVAUlvpB0yG@V#;Xfu``Kw8JG_1%K*>J<)xH&HUkVg`#x+O0$)OVK5U<H)1aJoe!ru|I6A%kxK2_N>5OfeH z1vMCM*uP6WW`6S!9yDW=B*_SBa*1l}z-xmNYr5FAeT>>vPz23wqbx`3XjDwX`Giy0 zc*!c!K^VGGh0^TI$IZuiESRgvsGYeApDdKnbZU`Rg5zYXgy-Q%mViESx5EIrjq0K? zx@-SSqxYy!QHoYQ{XL~Q#_CWF#|9Q;J?vv2QM}x7+}si^P_pyZ3=GYdI~^{`d5z3T z6!58f{TN)CJJe^`Ht1RM;|e?{m_5ZCa6m$Zf&{8w2lHI={KC$#)?hXSTu=yCkhx$D zv9?7yB0&!V8Cip`abu?w)FgCeE2?9XI;6GR%SCA9*bi8jGvktv!tRFbbW1(6T8_dFkP(Q4(x zl-s|>c7bIWK(+~;ns@31rTJ8Zak}5lIdek+HLAR<0fn?y`CA}o!{VTvl8cyyv{tDIeO89z1BSTy*Lf5geSkOTw0=`DTd3V8}>>qrV$1MGSLDOD_j zfTL66@eKj2k259c*v3NXHKsnXVQXC#W zo-NH^cOCBU)m-RpY`G=Euv`cwkc1AQQ0w#ymw9?O+ubCIv({PXO4f!Hax*!j{cHrj z4~TX?E*fReGc7(B_ns#h`CsQu3baB*#@T5Ue4Q=fked-O7$B60N1ZsW;xpBy8-9#^ z6#%%w37WOAdd%U-Q(tsUv8pGf@eZ27LF5;#nG$GP5&dRuJ1`}U53us_T9u?R;TOby ziASbegiOz$S8{CoILjD^lp1zt_6#U&9+o5yCzen{6!!MS4Zo3tS4Ppb&_CG@&PZ?M z16#BQ&qcVT+K}5iZkw_o<ZW%VHRX*tlwS@6iq8m|waSUM|GKxEc4w~@8ykQl(@3Io*w)>Dk^H!CH zZ{o46#C#Wv!?4uE(EmU1`!+1jqo`zQ0&jw#fC5hJ=K0W=An^&C@9U%8cf2o=h4U1| z_hvgxeJR;IIGMDCznvZ%a2(JqZbK;hcF{u`qNPNyX1y_s&pDa89`(evP2(N{|O$)=&$qdO!@Gj2A*0g#rsx$4?BvUf+-7u4$^@`ODxUeHM!=h-1gjswzF zSRaV1`>;Bj=YJ_k!!40GhTSCYVK+fb(kaj>zMY7&hpcRm=6hGU^?uB0l0P*_9Wvf! zVO&X=i?{I*CFspe0kyH6?9)=DH{bXz_9=*~1uh7WNk{Gth$K^V;a`a$F2&5YGW_Ho z>=WMfosCJM(kQvJEq#Xj1=iXT;rC4Ejt2@(?ng@V`G6UHaU_(}4G?DsgGN=Y=5^*o z&S7W7U^@a>qLv%uDcW8M(p6CE$lrS*evl6&sf2`)UxLoJh|t?wM4|cEawM-?$J!!9 zN!oZMp3+)wFa8-)^Gl|?h9o^mk~l$YX|iG@J6@&_8n=ltK{J&mYRd|E#bn2wBTC>l zjTCpY4nx*UgpM>^1~LsdZKQc1EzJsmi$tZ6+om$^jO1G%&e6v4E6_PLw6T zg`m7WjqUl#41|%r7(l4|I+f-#uyBI$>ph%ab9aKIt9Fs33t(>xkmuBcEU|(XEql2@ z3@l|Xdc=V>5v4l>n?pFQ*&)uJ>%-+-v9p*IN{+_rV+1iE{3wD*MVvefY0)0*w;s)~ z%e1i5tB3bdj35^&-r<=*?@amawW1evmTE$ZR{QCtLC zcjkhMS%JdLn>TTQk+=_qm{0tBsK_bs`GfGl)&Znx#Up1S`y?(*2N4Uf?@OQiD;L~w zbF=t%nQQS)UWW;>fE5Tq$y?3)>EIKVd!^&{;$>(?(Dw!RrR#ei22x;5;5x^n&bKPyFP55MYJO7o|-6!G6?5+lJqRAY50$8V%9Y}G}la!!c&}Vo1l}BW^ zcZhG7*@bVa+hzR;%v`G|OzB4uD?qTE4uar!(jh@$iJg-LA|?@01jDQo7A}2y#pv50 z_`B$|J?4knjymSe9qB+=_ih>xR>G4B1az5~xc|m?Fc932I01rt=^zMxDIH%L1b-?72!Lfg#4xe}w0M1CX^3N`R~p-!Aj-_znh;Um;EaBu)nb(j*;U8X!LxoUPj>LmTX! zB)ib}S&CII7nRti(v#S5bc;G|IL;vCl5kx1Px^eX4TxUGtWSsH^>3v?@hW&Sp{V)x zgo7E&>S*X?(O)DK!{Xaz-iU7+6hU-Lbnmj+}|uxOE7Y?Wz% z1e6N7b?knCC4U95t`-?=u=YQd4%VRX4FcBZ*QSH@xHr?lnhVeW2CQeGP28+b65lR! zB)&%h>nG&NbLZMa2f_M|bbM*BepDbAtN`KtqPX-+oYc(ZwLx<7+B0*WsLcl9Q%|OY za0q>r&KqdsyR$tVgj?T81L0bDGC>&dz4t{3-AeEDO?b0a)3&{9r5)=KW00x4FCI&6@|)}(`M$7=cp zp%t!fO9$CKucv|R4tS0L*;m>oAH7dP?SAp?GJlV6+N{f<6rzX|Q2PlTgxZg#!-m=y z5=)Cg4{FL2J!<2#LeP4HrcCKc@^De4MX?Wr3UftWHuNS7c)=$~%U`Y%&>I*PdT_o= zZ75g2mIl3P@MJ>otD(XlFPG4}UVOXE@8X*Vy(3X!1)>E2%jqBhOQjy2C|dk$pqO~ zSfeT$L>yNxzFp?I_zt#4N3!umaQSo)SPtp1ftA_e0oSPF##!%)zQ(PbZM;93(r3>x z9;H8r)cycISqfnPUYWi^&!unh{WTLj$$;cxDdS5w4ZVRMI1_aU~QJy`k z*8U?MNcr>;{SAER`Q?-8K-%$A8jv=^lLjQtS{`=Hb8eT(BP`gum9#8Mo`ScCmskSxgojSZLty3SuGf<~4&$c>MD*FN(!(X9Oa{noV zY}ipJ^Ygz?pUk5&x^(ShNA1!cu-Q{6b4+@dP9CI7w?g%Rn0Mb1)neXFmyV2a%9wZ7 zF_K}%hThq@I%I#A$$6(V9fBh%?*rA(7LNn!kA)pR@;ansF@+y_v6{q(7QvFNOd!Jz z_ojnmI029(r7!(Ee1j1zJy>cfV4S=&ZG4Y~XQ1)Dx&M#^MvbTxz^IZAyL(5)T>!?6 z;b6W|X6Hy$KOil(`+w5AR?5yKyY`d69i?lz8C|PMj_@kv+0&gHTN)GCFq&yOZqP|E!>I5M)#GMEbbRc_FQHm%}qq=h{EBI(Ij? z#sYcXAst_K65k8Sxuaf8e{Rb;M^s=Vp0MZ;e1fcb`cZUmaKux!GQES%&!=^80XzeB zu;-A~!6$xab?~p!k0~U?MUn4 zuizP|hlfA4diVlw3dH^=9T`1LqK32{T6pLcD6RWy9lSwQV0Z9u>{7CWpFVQb4mRO( zN+j;%UbptSv=06Qo`E`elHI|Ne`9qpAsrbVJlYT*z;z`srumqi&rg=keZpt=BEfbi zd+{y$_}FQn16|u=>3ul7J*^KP!ZT1GE92I|zOpQLwc%P*}?t(T6k(5Y=; zu4Rr@gI$K`RGskIomwTj0iW2ra_Ae3q>4Y9-l?uFX`Ol+o`E`bW=5y_?y@@dfpmPS z=?Ii@7;})PWsofg@*zCXC#cA!K)zN}KleWEEnFyzp%RnIlit+h2WjfU{{a3xf?aI4 zGWbtH z^PY5ksrKOf-ngEcp^mV>ou;Er+NY^6&QM2{9={A7GA|iCo}*_z)O#>Z{bZW1t9V@O zdB))J;@ErszC(lM=f%8v$-F_@XT*CLzw=J845CTxtm*CF1yp7J;`BlC$K!k1zsV(o z#*5q9u7@xy2QFW0!Y3=(g$ea8=0zt#S)4c>me^NvBr zU&cea&1If)cXEtU^CKBwW8RdiBNZQyi~EAEe+}BdW$b@hD(?|G5aUAZ(il9ypZRYX zJbo|ZCl4Oq!}!Ob@pF**C&xdPKSN#VY8O|>4}V66TPG!~{ABq-pxE5-K6mLT6i3^N z8?A2&Hq=dfHM5F^F+jN^2PpT4qTIM%C|8H0_m1LGXBvr1|%?&j;c)IVa7h?daOwCX|QURh zDph#=Hq9M0pf_lpx$n|pS=m>80Dpa}zy?RWYMTH@f^@X)C*`KCA9Lf~u!i=ZCqjCbK zAe2{D*7Cct@^bvm%xZmLgu{QXUa2I;vYoH+~-Dp!~jYy1&qLronED9qB zd2o>%CilEtvzf3*2`oxQ`-8PmVm1Fd9jbSe76FyR{;_ zMa?!UoH5mDRJdZQ%c#hYsrg2Q8-{X>ih`J0pgd7gI0u8-S~03c9o1SfxGB<`r+) z^UT_IGUn+lF;CY%XZMw9GV_m0=C^QI%BBG9Jz=#m7YadGbA&W9mu3!g7+*ms(z zpoMsS4CO>ux{WCXvB?F-#6rBYGA0(mYO?agM9&<&xWe}|d{3j&d^`n#__%lipy;t8 z?rPG$Kzh4s%yU?w+%IA4fcjf?h$W{iv9(}60X0KAq=_x8?3FpOnJxHh)nhZ4Mh}iv zZhIUvj*ccibdT}z4;n)ew4z-ClVQUG~&}(kN)kd!$*>z(Y zhLl0O8T1VV!7MkjT#Ki@JTc1dLrl_-&*oVrdM-RIpw24fr@~4lL=v{EhG`r?uH1PO#DMFxg7^$#>l(+-mZD*3Z;3Hu0$MJTU5Bjb^xXZ_+`@dD=O7@}!0Y6l z0b^>|z^|bR#w9w%65V~S()2cAx_gMyv_UxBN>fxgT;Z>C%Dx6q`Q?R5 z)AMl1Ub&2Eka}fFI!k&I5y{Tq`UsO@$~E9Crd*Af(5I&+w6vYM# z8yndV-gx3f^nu#|M+NN{Bj7b#kRG-;WxA;3J~PWqFgb-mxMOf>5Bh5bIwOs2W^ChW z_>FqkPeU$=M?Q}q)XRh8PsSg7>2vYunmb7g#B*=NG)!cr>L4Cfrvp{pjRtay ztd)4`P1q_Vp1P_SIPt3D(@3b4z>Xnsg=eCXkFV;UWQ^;aXiR_32{jJzOxUJIO^4F7 z1@l6>9-^ziQ`$pD5QO$`N=A;5u3_OBYP2s`X(qWVOLca_=qTS@O)~Pg8EVl5pY=oR ze&hxH{2X(^VSJzw{fhoX4iODi3+K1Q3x;zHJm#-4R=wL$wlT$JR9SiRL|*7rUza#e z=6A$ZC^}be|1(o|>aaZp+TN?RYMn#WXpf>PD?^=mXqdAew%RbDT;?;eUW#8Go;Arr z60)hU3t4?b( z^B%~Cu0&Bah=56WRh9TA&S#c>ng--B&%Kq@1GG95cIK1U3m=|=FfO|xt^ae)x_t+k z)GaIZNQA$%Ur#Bd{dXR~aWU%^IZESZbf<`dEwfskxs? zUvT}cdGT}WC$)CsqV>PdOp;#yT=OTHk)&UaSbrCPZvEjzl1|0EWS>rgoHBkKM9zNM zK23SdGiq^~>ZtUfpI9tMSP#o2#ChWQ)h*VcOW0z{?60(C>^G;lZF(!yRzpUk{)xp& zaeb})$E8X$SGZ<;cY+2q2piXKyp%glGjN!k<~H(S#1aVOeF2~XGT;nEp!0~*g;oN~78!L^_4v`}SqDA#x?~a^fR28T`wIBlH zr5nQ@&0DWW6z&57ykQ!b9d_V}aQ|8r|9zLb>Yfm-RL49YyQDOdha(1>iKj*N**Y@Z_uBV@xeDpM+Zn^#^xsatTygMux2-?(U^BP8?aX zwOIYw-W@2Br76vuSax}RsnP_BKg+me0!aBn>tNRIZ#Dz944&&$}c;BWTBfU z)d`rQudHDo*n<;8<@Gg@Jf>ANk&K;yiTYBkveFF04qOYVwFDgqFOEpfJD%N28gAyf z?xhG`lc|M?9~hMrLQwtdsDw5iF|Wi7J928}cSdh6$cku$%>?lrN-PSakBSI*PQz-c z!C+)H_eV133F8rGscsL8k3VIX`{)7$wHq(uOvMfh$2rtff zPSM8vo6n_48=t-KD!eYvo?IJ1Yhn4VqxUg%D7x?}yc{IWmYkc>w}k19^I;&B{IIx4 zRSEzIwI~>xKR_wBX!%&qX~12+ca5CNp7TN+OXm`-&YfWeR=>xZ)mgmPLQltr$`^Vf zr)l1WA@N!!zmK%*WbE6xGr?DH=LU3phn_EAd zkG*_An_E2?dZ7vUOWEAo*lq9mlJ5&lBv?nm1?FX}0^AvMige601Ja?J6X=+ILt!)Z zpoGWLvJ_?!Gz5I$if%xral)_^CcrV~u_6!jzvGJqzY8V0%|kq+!h$tfSglBL}F=!7=Jp_^N>j5aC9?fPwS(qT)q? z_zezngQMG+8l}SkQCk9U@Y_@nkxjGZth*?3UU`A#i91Ee1iuaUn>jXQ^_zI9Mo z>wqZa;D?v>_y(+@thobo`L%bwY&m&U&qj_xa!=cbc*HIh-)r5rk&V7&OhHs36q^ z^JKvXpDw6aZ{zV4m-aP#m>6$b!~E{zBYzz_lkwa;_ovU{I1amw@!ZM6Rq2A$Bb}g- zbN{oQ@gOwfxtpca6N)XwQ~HI_FtyOn`rqK8SQquDi8{G(4c)=MJb-TSyBA+e8#Asd zL=blrM)irP59st*QEgUKA^g?GenyqRDcNmK(GMtF>j=Z_iO~JLrJFP>biFMGvu&|Q zYgr7Vd_e<%lgc%NzW&sk6WTo9YVL*(U3Gj%P(+_8u|=qY`7EL8mL%HQP>B`7 zY^~*#oy(uFn7n-M+klqqG5OrTN4iTn2+t(Q3+%)G@gq`1wdN1%dE7|1#q3_nT@qRr z>^Hka&rnbn$O=*+8>8RJ)Fcffa~ScYgaC4MD--SXnNPJBW;BV!W^MgfOQ% z0lff7bv*dT$=un-MZirF>hUGnPO6`Q%MfV2yxzom7Pb0`2AZIQx&)+A*(O+x3Ms#A zXA?+M%|v?CCKq7PfDXw`q?Bi(El@NF4!j(v#RS#N42zs%;QsdG|1Rt}a2PP zkqtJP4kGvH?K<)Qhjx8aw95huZWBo7CqbIlV9M6u1j6Y)7#M#r_rDLu2J!MoHrHO9 zO4D~hs8~(67Hsb%1ljY9M!3@ESbisV4QtbIS$hWT?IrT<9Yc*zV_vd_8n9tt16UyJ zW5mzG7(sjyvNJn_U;+855f_kZ}` zZ?QA2#i_Xm?Pf>Ly>0}Nu&MG>^`KU)Vch_$-3}y$`7$@)J6I3>-P|&wcR8~_n#=_S zAaw_?MRNGG;@XX{X{9+1@;t|kAdi4<*UN07R5q#BM0K<$GiojQ*_J{gW@Jm3;cMsx zWTilfjjdePPsUV|Z?>4KpX;4jxLDglX*#zY9TNu;xCvaX6Gs<^?;d zJPg6tZ+&a{g_X84s63K7$Ery_*uthHYha!RX>busT)d3VU=g;x1&s#;(d%l&Tm#KJ zylfLgdw-4;jRyqbn-|yn8P>e%=EWJs@`Vs5-x|sZ{1@pJDH04i4s$R^ObT{~1Oe#i z5Y8K=$^8ZGETM-}g+~|6tx&PXJ)GCcVDxP@m%q{9zp<(qn?K@76x3)~CJT7sG_#_0 z`r0AUw-lx6BVcG;88wYVE&Se%0{b_IM}SDExs1%XRz!dbi_Ba-7w_rKRxp-HaWEZ+ z?Q7)jz|tok2ZW?LTE--X2g>&FKur(7efW}=!%$hYoQuIEcF`U*3V2OfIej}M93=b2 z9P#lGToYhra3$6B?iU4o5~*Fi0P?G*1I@4uL$x7Bnv6Oj@gt`vlEM0%qdqgJ@`v9ZtXq8Ap`4}`weNr) zNA?=MZ@?F=Qko9zBS9h6rMc~ty>BBFoV$S=emQPP|8Ex9pbgi0e*`qc=8)j#`szf3 zfw9+8<=#@b8Mg{wVcHMNkIsvWNU0w|0x4zBF%+~rk!<1=iyCsrYx>i}^Q;6LArzPu zIPVp$<*MQ-{FwzkkyKRIg522qYJ=rfvy@wB;dKg|z-6!b{DpNRxD?^Z>g`1ouCuru zPy&F);Mn-)=LW%7!*IX+e*?~e&sP#(os9KJAP{ENMotJ|Tn1;Ld6V-0@%AS0QC8RE zcftf1ATm)w<34J%(V#}5b>h%EPclQEArpz>66+Q>idEYfW*`b;U=qyaaa!7H?OwZU zH?3{ms|jclKsIR=#f56sXF9I60)jg4_uTu;k_52*{q5^VGWWUbx%ZxX?z!ilb8gpG z0)|yPtJ_p)ic;4x{wjh?kW+P7rw+L`A9!8#S%Ed|NJ}9p5aWG%K{L>oD-6ILaBAD6<1aY1M6W9&Utt-_UpkKnHU5&-F2k-_b4l1tL79cE@~hpSsvvaTOrSA^c%fy>b|H&5zz&o}S>1|f6?R`j49Bud6sNjrNK@qCi)Dz@^@nBUw z9yK*(%5pY6kv>uP@pPU*6`56@&YzPxvno25aMxMHp&1y+Zm8YH#ocFKXq|Vc={m2> ze%n>JjmZtdRPtx@qJQfPRvA~IdeAOA&dD|kF1fu}!Is)ZTTX4#4F13?g~{+D(UfX> zNw!xVSJ;X!w~~Y`Tz3-gUh;e?f4}hpe`ODpvvei#FoL@GioIc-C|8v{>&Vk(<#}L` zhcA+Gk*eYkY^9P6Dnp*o>MYaK@xW#xi(+S3tD(vwacN4|io|H|?a0Pg*p31|Jx&&> z3PRmFzeT;GMO1{lzfN(OE0F@oZg=HHEuR+p?PZ~T11P|tz>tL{R4Pk|Qs0FC71I0z z;FP(2_Z7uW?0MNde#xf=_g<*&vkIE*9{6>>g#QxwZu?sfzJ;9Cz_fef2+P}tT`*TAJ zk4QgYZ|TW^wEx~)d+5KFl!a+;zi6r&9+s=zn6aURTp?IpAC6uVUhSUtj7t0JP4eWz54-74F!3Y#vAS;IZ(^DJHPNihsRQTl z|E8VtmR_=UHi%=9%=Xvov@F-fbkI*+@cQ;@50z^lH-)c1kj+R zU`Tv@C@Ajb@RppmCI)#3DOmMHxNoZ~oSc;6A*gV&w9h_~!HrmlhZED&nHl(eEl`@y z0?ltB+%0zh7l$Csi1gDSpL^;TT{15}-)&lHZYk<;$nT1;B=eiZaGAmzON8Y`W&TjSg7=5J;yaB zW;k`?YcH*~U2FOnfv0tE@H9H`{Na2Vlzz9FSsPnH-wwz5Z$$`Bk5OMKqi!ZAJ!?O9 z^!Os>_myUI=Haz4Px`I3vt;d7=Ktk~cb7(sBda%CFp-Hd^nZ&n*uV zW5OiJ$D+7Jdyc#T>r%0n z#0BCh{|I(pkyRl6et?ZIbP6x-Evh(D*oPKrXzCWx{WIZid!;$fy>ft~^$xz|KZ3GG zPF!q7v1Ji9k|c-sT4Eha4oVcNp{Pp3aJ^$TYsQ;%a`}^_LRyWfi(ibT$N@ngu8m zf1d!Fl04Q>h7f6Rhr^B5)cT_P29sam5chr%m*dr`4l;&1{}DaH;z28Uj-tqLJyFwH z@d%;loNTuAg~F3aT+m-Ty{*j2=~R;b0#h+9*#Q1abCb~U$k)a7xZw%Cj~+*L`T$)n zJ<<6cqklUdQC`!FVs7a}LR#tmYD@g4@}d}041J8l>TNDT5d_4~h1{@t{`;;xf3_Mng9BXQc#m=J$yk4C zfipi4O;E3y{>BzUmXD7lzly{)L@{?TIion(X-wk{f#h|j%9d^l^=u7tKJun#NKSBC zXBM2Ew$V1!5yI%~l`?H}b(ur6Wh^d#*V;Z5HT2*Fc`%Q4ANw3nBdCH>rGam8U1yYK zIYTP#?Dcd`LbeN;)>V2sN2^cN)`UobC`vuzX*0>4u>Bqs9TT|VX}nqf5nVLyFIHr3 z4g_MZ{Q0tM#jPgiAGTs;$u;*OMoOMLRx`6m>X~bAQldw4nf5KS9c;=Hr4eZU@s`|t zU6RfGpQHH{ih$n7m^xzdSnA2rFQHf7!40%FPLe_m=E&pb$P? zehZ@f-NUcbkJ!BT^b8NH?ydYwpOF689@865`?6o|rT?5okH@O3pz&ej+X0H%m+Y~A zXZ$`P{fJ@d*|VfqpCvaT>Q!e+2La64oV7?Zng)z!+6T4IFPk$!pxcP**OW19g@9$0tARpP-j8-MVh;IqNCAxQC9T(I@uT$;o$b@X!vc zhW*KBk1Zcx^yJVo*s6!DUb`VtSn7JGlt}#o_QnHqrLuj%4j9c$YkxG0OM8lp?vgTV zcB!?Zs?P1NJG5r zl)T>sWju=xuC=q#N*Qv#D)}IJ=;@qZ4gY3!0$+eV;O2P;$@NEvK$M*HB5x15jm+P= zdKZt%tjs1vk`*LGgk}4yO1yqQIa^xmtzE7yW};-B|AqMvC>wW##C(EkmD)s)qoHF9 zqXZ6|n!{qa`*M6&@%&~Jvz1*N-$o>|qtSX2!&eN^IcRw8&vPb>4`gDm^0vi`JJ9^a zL|%^Ayd##&tE9D}B#gL4ml`Xjb`>vJPxFQ6QnB&IFpotzbsJ4{Q_cf*01Ea{A7P!xY%BOyr!Sdxn5O%*^tT~0)7!r zIP+?pBWl&w$wBMERM3=GS@5L3xq7FS#R8}V%$@)xc9P5LxsE2rrhh(*+-sg|h8DfoK&A54_>Kgjg z&lKveH6d3x*Bi1zZWOHV4JLWi5g<^i{*TI1<{?d`K86Ye{i{3?NYW~va~=?V z@XM{nGQ%IKC_AJ#zV&0n)vG?TsUfQoo2y90q{7rm+0@VYw`b%1+q04T1^rvHu>@80 zB}1)$^6SYP5p$juSmzkllocUsP?omXit!HLKkKcE)nRUw>#RkqOR%$iIbz8}r!s&| zcz-F~A&KHNrWB2H1Lg4@S>y-RbApLW1HtY~Yx!3PPlUGqrA@(ZFTrMlEjozy`K7Ho*d9#$q=WA9MWoxj{Hk)p z|AuM35IsT5+-G1ZlGc_Y(_QlHIHTaPUk^gYAj>cDOa9n1!NeTiaLi*;4mM4{fUt7v zn+nEfYp!w+7@F-eG}~n;w#&0@D}bnHOk7i+!Wa$mHpZwqr+ogDFm!-jKZ|4sW|3?n zX3O|g!ltr(-q`dDMsiUFXSfEhed^U8AnU&X8@679lYgSF66)`*O-%m|M1vRP&vBz? z5j}2?^}-xU#UX#+ypr?_nbkqp%lMG*TE+I+%E;gu2T4ZMe#0lK`4^Onp^UVX=@*L! zCa-m7qU2e_A1iO$lzAeI$k%_h+q3j&*+CbU7tcSBUExq<6H*bk7`6|ZpiY1_SC?BK z&HrpNHa23t7KB!_WwUwCMaaWJZ9i!z^8}2>#BiddRL~=X#~o^4Sl+fVadkPXbz%AZ zo7gwW$fg#wN{_Q5$3dS;ph5vqRg7FqKUpuiiP>emFjo&IE5`FEWwN2#e)%djs6IWS zK5|schz9+a`)+(u0C_?I5?AcW5UM(au3*Cd023{e**o}^1uQR$s;dlkvtal2CjY|x zo5?@k;aY7^g69ugNp)>u6*poa9ZD|1!9~CF#HgO5{JQ9!Ac)7pWRW~#{zyf+P>~0` z(v%~_b*ivW7(^hjnPSn=sV}KqZk6k>JARBXKs+-z0>wKfAc~jAE=A2RSBso8fBC+$ z0r7MmOv;1R6t{n6$eK__GLszRlEGgpBN+@{%EYMTC9x2}&cel+yd~}YalEW z`~;^%;g}B13{VWA5GL;S**bf4Bi-ANK18q+lGSb|OUH&2jb4oiKRR6@0z(*P2*Cvw zUUKv!KX-7UPT|7lM(Y>S|3?4T=stNRMkQR7nI9Bf5J3(xk;LW1Y?k-89n_I*4)!2q zi*Q^UaInKaxB%3slYgK`9gIMiAWd@8*mPOdAcwVrv}8TwGQUhCPj)iZOpckEEIFlc zLi=Z!#b)B-@<`2$Ky2D$MP-a&&Ef#QN31h^0&S_i=?m)7S`dQeHzOe1!>vS73p2Ag z0HZj~K%vcuZ!MmYEa_tSm;`Y%gA&pJ_PD%MgAb2T;v%01*K|i2iO_U|GFk_&0ufck z93#;ffVDl==nmEL`x$=gJoj_-TxXw24aT+*ruOCG0tt?1)ySzC|4i?EIuqc zD@yqg;JQ02ChFj42zm&jzjqEowsrPzQ9%t^7rBLk(mxJsji9o=N|7BS1J`@wl(t(8 z>o&RYLL_Zg%_s|34VbPOUeh(k#ADuUhl*jVA9kJNsQ$5NaY)O7sBpoyO4EA!jVg83 zEt8*h%FvI@LtuIYV^2n=njT1Z!k6Dz4q9{Wni|Gblw)F;L!drhOdBhA46u6>?bnbK zi(B6p`Nd#eZf>NsF%VKayS0HuRA%2<{;|Ab9;%5|dzSr;9vKgSIQePc@D^%&mBiRz zrXJ_*XsJiecG#y4+TS~rqZPN)i0aD`O)zNX>Xea~KFGrJCh8~gQ-K>snTE^E_J}bYbO<9wXBq@&oq+NUWtlu40G?LcgMP@|0M2w|qZ`7v$;l4hsKCEKwf)vN_abvk z$_`=AUOPmrnJ;f8Ww`9~Xi(TMWTGY-TwEQ$k=GNjZ-l)_Phg;$v9cz+$VPI0HHX?( zTcJwJooK{?%;+bj$4ZRiNLn4(hsfisP@q3B6F)4Ye>N<;f@3%S-#*yW-98)Nv`V?g znJX8xN1N8y)c!C;V`80Myi$(q>+CB}(|7xDqtY8?ntUd48pt7IEIJ%L-`MjQTgWwk zy&@}AEs({9tL=|#1TWzz-`9aM`wbNk)eY|jsRQY>v?Vggyc-g2q;b2-xLNH=TG8In ziuU8VJ~uI)O~6GqlqZmZB^tcA@<=pHAyl1c@Fg0i6AC06_={Jch9>*mBaxG*K|Dl+ za%9W7Nm2bRzz2My&Xk5VGB~3#BwY!p4*+nT$MK_>bBy^x>{L7vHrXW#{8<5e7fh~c z&8oKlr2}3&B>}lfV0n|Y-rh_EI}&0k?GsR(n-==aEdOAe@|n5(N1yC7Q;j8VVBhWKnOnLdqhop*wy;yT_|9+g+_o}}M_G>3;TEYL(VZ{}=0JUm)XO}X)_K*DWPJ+> zuJfjGbjK`}%esTj_)RTEv9Z4TCZryeCnKss6c!ICmD(4P1BdlEotrDF8eZYf8?C=1 z`B1(9x8e)%WqbkJzVnUf$@rHU8!J^F#>}nud0gc+{-yzO-aZ{8N z(Sb61-!p&1f}i#(Lt{NLaTwsoQC7gHD|HS*V9K172VnaICZK zQ;UjDTNyn9rlt~Ehc&a}p`wnWqD?PbtHoZY-feDwSKKwq5kVTgLK>BQzvdEe^gwGC z9jPzxSX7)j$#ZKjUa`8~kvXY30^Nz^D#4Z>pX?%ru{s)o$4e?;P4EEV`Yy6?Cn&MzDyvfw8tK% zrU$JQ+N-pyL)$Y9XY6n;gsY3^A1F+1<(#-*!ZHi~ymYP=qf(^)-sGg}E;;UyF*OZqGw^OI9~b(BU$~ zK70GMLW<<>gEfz8h2z&XB0DAL1Y*Q<1B<$S2+dj0u8TiVSUjswz!FVLSDK4HeT^|~ zUJJ7JfYng#YJe`nNSAhts8m*o8Na@)C>D_8-~$4k)gV-Hh)<;!U=p87Tt_vSvWg*j zJ_zDInYwA*2-MU~Yr7-2cjf#kZ*U4$2BzL$;ivU@`&s2KpNpbthp$L!z|UiJk76bpE$2a1TYyLXP``PfU!xH-C{EX~EJ#KKC60HjHRRV##| zRm072Xh$?9k@BB3!y~G-z4q$}p_q+HXyi$vth@8*)uy(4K_C2<6DQnH$MpsaS}&}L z9oIJ%MMtxzr(KrOlE8#Z-`CNBO3ep<(8V3Wd*YYpHMqO6X8bL;T*V>!G_m{K*W}z| zUw@LU{^pd|lVx?dza81-J*YX@!jnn$0(}KS1jOe}wdTEk}!?C;rkv@*- zrsz29{7U3W?YON!zeNIw0wme+zo=XoU2!xLHUBzsVT240-+DQhJn<7`_y)z`a|h#v z^FDE?)5=CVdWr>mkdTwq&K?OFA~agBgKYDof3Ab#Q0ICbM0j%@^>g8oxGs>!-OD;L z!j*c(^!_{2U13XaaeVA#p9|JbY(AI*B!ID;YyyU|y1j-clW`6t@gnAvI=4xk@*zsG zcc?l)mSBr2htrwd?jwGKBG%6 zCQoNn$%_A^JXAGW{nEpBYA4Z%PDD<{fOe{wbkMM#4l;wye#~m-eJ<#WRs<9WyN}!p z-csSFuXrsGCk!F4(94L+KrE_Dqcwrec=~ZI-P?e47J47TVWCv0%|9zLi5RZlF4w61tPViP6R%g0#9ch;}EPt2b)Ht_5Webw2Rza#zJ)-62{3#yOK<8 zI)VzN%dzXSwZ%rK4uN9JY=^CLs_m|OhKz7Hn@{?q^n`ccpWU~b9r6okS4M3r?tz$m zU%?a(X+Vx}0RG?4>CVGtk?WE7bk2kbo9aB6I-MZ+si#d)Q#(9Te64KlKqAmwXe^ghC}orX(GWdzSm6+fXB}sV z#ErA+fAog`=^ULq1ORd4>;Uk6f=Gbd`82uqN19unH{|}b$9==0(yq3t(AR*sDARM3 z=M^Bm+!b8Mkr$y9iq1kMM6euz{+Q}T0x{|=K!soy=l;XhK7tn2Drg*v!Mp9U02FO% z1RI3%s9nr50uok8TLmAw9rv-KlGho+71nWSEMF30tH&k+wKKK+1tGJ)zNhO}0t-h}8VN;tpzzO$cWm z7tbFOxf__&8HQooKwg2(tSO#%u?5dC60r0!s=LwCWtnKe0s!W=!WA4BI!N5KRg$DC z(=s_8$-Q2%7_mrryW*MdAVpXh#ZkzIXu!9MmY<+-#J_dH3Ct49t^=9UR%MS*dO-)I zdMTGiGDk`l15?j)^pI*aYeheiFqQ|ctwNTk?H&<#&kNurHq~D)Bc))xQ@~Z8N|g9Y75|n5eNKFC7J*Wqt&QQ!)3<6zaQol_`Y z;VQ9D{>4#_(5S`!o&+2HZw>WW=znd9$HM=nm*9>s_0oYLChl=i5NmJyk~DcrzRA!0 z-<#ay3jYcXYF-N0RvS6m1jTD19tveuTa$XkhCUd?5 z)h6h}e4xoDJX{lA3y}>|Nl@_U2BGOqLpV6b>|<|kn%a0!?;!mvzTnH!X^s$0~ud(Jjc81kuL~~m0>?2^+w(|a-XX%drN4)7j zJlFMyCHN_KJ(wz@>jm6v6WnV8Evf$&l@8Ctx&QwFPG72d{~`GOkXsf%%*$R8yjzLq zLBJOKMhSk(qvuPlaJ+HKdiQiTDbcAyoDe~46;vp!}PZ$Cm{ZJ$je?PoVlagdj`)Je{YYJ)k-C)Mr#McZh&H;uf>lD?DL`qBNSLk6rcP zTt4mF4t9h-93w>H!=rpk;`7}bCcsA)bL=qr*OG?oM0CXwRCYPxIb;{&P6Lc|3u@%O z-<1hih`LjfQ&^JR_KEjC@usz$c7tgBBhA+Ak}6;~C<}aT7*6G}uV}A)|2{|y!J1T? z{aLSk-@R)L6)P#7a7a0+lzd3T!Y&N~@wEa!bbzSa!Bv1{7KTco6v*WELL6)c(X3495# zGYLrs&2I1lDq*#{U2XwXSE^?+?i&>yANTR17{a3T7?iZ*E4ZK39kcKH*_fg%0aMJ} z=JFgyu9e`Yyq3=^b~HD z;$Tg|A6X_)Zs?P z%4ed(@0?~vWjO8>UV3W??f?RfL=uuZI{2kahRSPfdRe^c2{OrVvrG^orMWTjc^E{O zT2?Ir&2*`JXTM~L3Qk72QQ69`r)w4rDmj{!57u}MUz(vFBiNQ!2AOSaVE44* z5yjG|xeE5*wc8?s{lZGik;6H0$WXi^(9w2o8Ob?TD4Cl6NU{W)tZ`4^7CM1Mq1l=w z_kLc6YlF}U>7ro;@<-`FZoE|ejMp77^)g=SD6J!Rdz99rwa25hqFQ&*oZy67+s)bW zOg-xyi4_7tUc1Sb-cLLast`6RI;8NOaTf-719`%DTESbpe}(C(r8^o~BZ8leyd2w@ zxURf0!ArPFNJuzgRMPTX0||U6aUFNh8tr?`k}#;p37)}HT}bw1ZenEnQXUx~*-Z@2 zX^`9>&?2{@@w5`G8eUpAT}r6$OhzGvx>e23@PqQA{d2VSItl*YXzQ?3YxZgY+)Lf( zW`J*1pqj2*RflBoIshFXl$EA`L)(|-`25~}IY4X)ekyqG zRJ+%~`Hp!$wT=~z@Y!R9C=>t%l57R|0v8tTT~UuLeM#-Z(L3cQT9Rc9?T0)$*zeXs&AW2d zEEvGjl%p5D)6C-VxDM(V9@ny)IMa!9P)GIZIl1DRx(&$X76;1Df?(Srr_AsU=_qtj zN=p14PJEI2enj2zs;PD2HG=+0UBybg@WE1#Ouf4KRpmMr3oqLYjQVf2;E)G8WGJL< z^2+Wf<(E6iNJ*dbhI)8}kK+OZni`*1nar~c zrY5^`rNxDJfp20(bNASfZc5HzC)Dl@k1a>qGwDOi0u|fDi4LSD{=fBYn34h=OrMnRmR|TdI6R%deLW|I_zA(R zgV0{aByV6Ly4i*Q<#mOUJdO@2p74XLs*uW-Psg}W(mnJ`)TT!ImPrc9wby)q59RR< zBk8}{V>}kLlPr{IX>)`mowgBtA4tLH&(Q_FLZ@ z(z#*qb%0#SmjC_G#G&P>|7&|mx3r(uue*niKj)V+93Y6kpLl<X(cOV zFvf4j#cjwZ8e6b(or$g)ZE2z27mFI75#*0c5{bfdp6P&`oA#1Ny5x3EQ&@wR7m0_&QGY2uZME}(W>vDUsw zTEhTqpsq!gcG}6lRY)UwyA)9e8!*ZwU(N!Xi+I|M_j&D;Uf;$xGEir#bPdcv-PtOA zpsrcRw&(0u zydLGik`C!1|0!#khytcTDOWqBl!0oObfuT5-i91z1Jq5T{jJdgu(kmbo3_eZP;WsaOQUdiGiY>rgnN<7I=e8-k2(MIK{trIX95$(K$F3(4mnEh zDNY|u@*xGu>+Qox<`MNk2nPI!BeJu@Dz9RB|dm!+O1XfvO>33)inKN4;~gCuar8qpDk7EbN0We zD(?N>wlFP2%MTV;ro!rH&@* z;IbeP=-H7jRsMT$N)(WqIy26Y95$q$!=xU;j{6W8^=)-ez*m)H^d`1bjJsD>?z`45 zQGbm=HiA8y<6CbsCu}x4c6GEJjhlqNSH{LO;}*RL{wF6N;8br)H|$5($jB+AQJ9vk zvkUz}Y-=^`5Vy}eX#?f$sNe9nm(Cw=;olz_?@NMlI1d|;#ye>|VjVKIx3<6Jh#~`7 zKB_V+GrdNKzbN*8qOJg)^ZU_m8&b~HqGwPk>frVj)H?_D{rl}`HEWLLq?c0rYqAKb z*4lqgZDL9-E;PC_b7}`lYUS{N|Cz_q6Oxlo7tsEo7q%k2D}`9N(cPCVK5KENT@~}y zBI}A_s=sUkZwPJOCO#2`5i3&0YwPU^uWZX;mQ_=)fLL!^FYy*o97URbM8o?Q$% zAhl|c*4YPg_z&P&37OU8^_N0uL9%B6JHFUEDmsS0uGkoBabf}xW<{WT`gn2CCK<~ydn;oQdrE!wkL3Cn#Pl!56`aPtfMb}bxMcmOVBA`B z%LYtIhv4b?*L<3K{8QON<}kBWVJ0Z>$g6o2h~HFQEbdfc6{%}H zbwQ5;W>V(pR`M;!YSuBi`wJ&^XIj_T%_*QtPTr>(O?YND$)_{3i$B_ynYyiJLG}FF zsc&NJMF-c|eecL9(TGNi(n@<4D~b{{y~duEFCCyXuFm2(W?4|()~n~%)E>oi^Mh90 z(D`h)FFgB`=JT`>Idb)>`93(8ZsM>2{il6{*1>0RgK&mbvU%zjqvm{XtfXgC8mA^h zw3b#FHO-Q;GF=u%nNgG)bM};*q7zPA8JqBcs86Q9jGg9$(>BG7*P_3RfSdb}c4F%raf3EaczhWG6(N_}Dx5JnQ_X z(A1}<;?JNLKdmjMbzND+Iv-_vMA(zK=NXTkSoHJp8@xq0aYaat96Jj+NKg^s>3HtB z@z?fL`oKudS?;!@O=~98Sz8uKPAZPzS8+da$rxYBn@B6$?!2d1@E6qF!GaQZAH0NH zV>HbV(I^dvX;|dm_z)~>#N6!2c)K*raG4BSLBnpYl_UNQ^U74^eNI$mlbl8~LMWgShva$c=1atsgg0vH)FDT)v)Je0P@v$sW3hihMyd@aIRR*k zN)f@DiFy3HdYFq0eMP}cd4^;?!c1J^Wj(v?8!&pMPMxnzv9)`BXCMj1Txw;{+M3U4 zF4$t&+@BSi5wL&otRe(!>>qE3EYa61%+D8ji;5Op7)fHQr1ybmB#m{yP<|1uG8=2` zuQ(so@^Pv2;ZsKYr@ke`Mp^I9DzmSJNCCXGwjWmd7=?1pDqkghskH?;Y}RJ|inI@1 z=a2R(dWpb9;ga~oRL{U$VnU8-)jx4cXgr1#nq9o9g}2&GD`lr}o`mCn5&O18$KjIj zqtw}C5x+eWr*f?g56tkj@MS+tZbZP6g1P-8vfL@;f85h`+K58I?kmG~4+VzSWiKG= zVZjOMICtkOi|?tK> z1g|i@aI)kOd<{*n4A;!?%_|9u^PBj9J6!ee*j+d|M`2j^QQCj`-%?0dDt8E#O5Z+g z{f)%N#Kms=S<&LdB)hWQv-Auk#@WJpfb5@Aeu*B&j~NwD*YP9sEGEzJcE4QEZez{G zfJtlMM&an&AuVWk$0EOph$DDe+8tYF>9sOphXhp8w| zfzG7tGcwCgyhbU!%O3jH+OMmqAp`!`kx_jkqkca!>ia}l7;Io%AmbqaVM^Os1WE+0 zYn4k=0WMN?Ell6qi0j%){<-ZdD7Iu#g}14(K0>^w>tzZGn7l|bV9$_Bd7#7plIP}4 zB*b@(@+@8LDB1Mr?<+vR@r*z>DH1r!Y%-49QIJXmDLpKzNJTMR`CM<}0&5s#&y9>47#Z~^6*Z*ApNx$9+Q_JdBctZ3 zs3CBjGcu}{s0h?WIw-E^aLh8K$WbGUct%Ejh>xpb1yd?&NLQX78MSg`)IB4keyE~` zz|}J{YQe~YSB#80b7a9UjLcO<6y#k-rOucYiMo?@AEeI5q;}ZkyU6FDJ<5cNl}Md3 zGTZZSLL@X=#&=EeEL|b^2|9g9y!`%~-(fZ1H8SekBctLYqgqEsT{JRk=E$g1i2}OV z#Ky#xZlgbRa&bx=KgM^lyNx9<3_$nD8s2{+H)?E(Gi22MkUE+LKdk6l@?}YYGiV<{ zb%y2o6}g5FJ2)riGFBcx;q zvK}YZ4vjj1sI&ubBlTwWKN?*j!uoA$NW4s_OE?Q)5du>_&na`zNZ?m;#qZ#mus2z# z-_(3-K zVI>Ztgac`KMqOhT($Gjq-{yvY_%s|oGMgv@ID{vj31r9UeVChJE&rH|!=i2(8FhU& z3N}S%;HvC*e%8+=%CP<&OlV{Y)?88H^(?zywHTWosfv|HTrn7jnA>=OsZxvr3UO=g z!zc(FF%3!(@pO%*z@w6`fI_$|S$3urFHtSLgs5aFUgAKhI=Q$+SOu7lR>`=LjLtU~ z>}&15?6=lNlc?Y4qvWDPqP|a*)7)J7w({Smd@oc*KD5?rE~F*Lh4dG2A)cG%=`QhL z(m9$y$am$*p3di-7OtZP&;9SrkwZu4d6JLQS(CkD6Q?uJ{ZGqTtVvq>Gh-o1KKqq5 zO4!3eL1$g~p&VD&+LznN2YcSpnSS}aK8X1OJ?rd)z=G2w zRXfxU$qQ?;+>rF1_o0*+pjS9W*0Fw=RL|1iBC1Lst)(`{>YpR@Pr3ftSO1J}^nZwz z+vBilcvo>#>kvLJD`w2gbCEkW**`UgORfsft3G>aEaZ~N=Rbd+n~>mAQ8 z$4gmj4Pz|Ud|1F_FIgxrM{KYxQHLC=UpXPO z2JMCSBHl^NL%Mk$*oec#JJ2p;$U++TwT za(yklC_g-9gi_26Zrla!hXV++@9!@Aa0Q(!v9OfbnKF&C2UU!Du!+2OkxJ#tPUI;F z8F5rHXs6X>$>y{xgedeA38ULe^Dv>&85@}}qB#Nq|(M&#lL z(#Q4US~>O<33B`i-tj+$mdjv#K;_9y`~VhuL3 zs>T1{T04pWfu2Hjs_o_6Ax+(e1COydiC!{6ux_pWo;(%GZ<^nr^%ex^9p!j6=-=j9 zwu;d*leZ`pMElx)LCZfWO<8_=N#o~n$wK+xP@co1hGWb+;IK9c>8_T(Rm zp$=)*j#T#RA-THA#kuiYyv4;Cqsgej;k9SkIeb2-&RbbsVe|%@Bi3{@^dC_=+TkSL zr_`7}1nkQr$lTnsUmjUrI4R-kx+hBp-VbqY&8dzkM&p#;)3}sNYXD!2P_-F9^ zTi7~4QMJh3Ts4bd9@pEZ>!pzYnhLzin*%F_vYD1s<(qP??SIj8OA4iCvC@~im_EZD zPK@OTB3JJQm_{=POr*kVf9-L`+fZI-Izxa)jw75Lkc(TilI>NJNh3#uon#039Hwg) zk^w;yC*xdz0EVtFE5+(i;7*UHt5w2%b_wp--KnzZ>`^db9p{o}c{TTVw=+IFoshHJn7_XY=N58BJ-v&E=#B zWLr!|b+RCo&WvwIx)ZS=HxZ@<*Q(01aeZ}|I~_%F=%=)4cSsF<+#w(H_=r@!?ddv! z`A9u2?E;h}efs^Hyeufw=OFTre>)CQ0Db%LnQY%4;^K1meY*pttN)~LKbIP^eY>5H z?39BVJ3=|+K?RUWw9iTDy=*@TO zqLmK#ib~Wh{)o*GA#WKkUD# zJX)om&p?BHoVw!7%uT%6nmmI_P4p94ktoHUWD5#UP|J5Zb0Tejf|cP+7Gy1 z;({h1gwa$QE652=!+!}Lx5c$z0Z#n2t^g-m1Sd}G9gY)~Tz6`mP#FvW5S&=S2`hg- zEOR<{IdF(>xqL&kMt27Vva!SAaW4N#gdUtC+5b6AP;O=Tk2-C{fhe6=%y#TuOhq zUO0PHbb|bVo^MfsBdqFlFl;)RoI;DF&=kInM`ddg6Td~CuBWqQ&aQ|`h6%dXXr-s? z8Io8;s;Xqk3zbr(KLnu9k>KE3IlYo%e`O5ixGvv~iA$=TV>EG<>`kDZ@3Az@riyrzY zBSgdh;`}S+BF==i6i5`_p-utuWCuj~wh(*!pN{SierW8C_zx`xX{i*7E(%FTqTZBL zq3Et>&}0pmajJIXG4kgM5Gh$x?ddv|G7eO+BMs|3O3eyT(r4BLH}bG-HR;)ffDxv% zGYUW88en^Amc`SOT|6x!v9tlu@Yl15KL3#no9w{T&;|jigaJ8D6hk<(s^U$8Xj`R+ zqT1zf8wS*<#k2HgE)G+x8Pe39l0nt;2FKIo)~=Ks7j?{Y5|dh%`(7>I>FagkUv&2L zm-XlGRoX@R<0t9^00h2U)kmHFxLJLCPJi5>K918L*UE>r3r#sy>SE^;CmmABEcujR zwH+h~U!^T^ByDOwtx~7SJ5##cf%&vjo#x7=?b?#7^BscJ`FgIaFXhwzs?*lw(pKiv z9?)rb=hA+aPy2yR`&KT^%BOXxwDb)c$hLgKmvq9VI^q0$!WlXN!H0A?kWcumPJsP; z(*7<-{zf?8GGSm*o}1hZowvvS^JBKaCv6XV7h7P!b8A0qY{}!o*bh5;=g&OJ#%lY- zQ?loRk!OdbdbG#>*;AmQI`*h6L(9K)@?OeQ|GK@Vd+p!vEj<|keA^nDrJ#Kc-^0J& z1AOv!z)o)A3xKBwBg!w_Tlt6fTE0WzOIHsWg2MV+Bz?`E)77rR92^OQSmlvvbDgFBIu^c!J3$j;mQS59- z=T$^7yyJ=7LqZRKocKsu23p6X%3IF`0z3yp5i%$>Kw@5jZNe-ojas)GW4SOe(JjTGG^33A? z`heD)_vI-Ix|#Byw$X5&6s=ThNq_F9vi=#ENX*diEN)5MSb=co7!*=0;> z;yr0kbD#+bG|vpo(9k@^15_8@F%GZ#B5}JANtiUL+e6?+r;sp(TKfYH;)VAj<}uBt zm@@`a(Cs$AdjCXDWuKTI1+rE4<{xVqw3U&TcZvS1(lS&_3_+Kci|laTpV&t`A$8m= z;~P+3bMfN19TXE7&Aft+qqis$MAe~-TJm)$B`58wSwV7!14$(p<4*TRj7PP+2Ln?( zx@Y$t96o+6&iGxr`|Km?C%+oMlZWMZ^h5)m`;5^+&wXc>@Q3xtC%S6yB3dG@*mK{w zNbAQxrzqnfS+NYqw)Y*$}cQoR8^o%iAt?GmsHZR{Odt-}PwOS}e zt9jL`j&Fa5BQ$aRYsHA)%P*Yl8vDUFw`JxG)Qu`D;%`Zj{N?@SkH6+xEzccx?6W>=-!E5;dykHdn9xku#TI?UZH@Sx1Z;}`mtB_ z-m$E>$aD=30a*1U3$@FEdcR>%qX(*?=1t_CV~4!Y(*7;yeU_hn^7}0DovtBer#of8 z^BKo?uX~TG%mSy+B)GhKNBkvyfcKEpKL$Z#ly8qd>cg@RJqP@4@%w(`A)8X@? zY@Qk9q#ApV*jAGbq|%Pv3x_6W6mIBL#GQYJPb*LhkKV&~RxNydfm%2>AnWZL{>1*C zoc#4EqJ6vGzFK`Mh3ob9ulZ06Wu^VzM#Tm=>a%LO6ztRJI3Iglb`v*eccQWXY{YsN zUwhH3ct;jb^o^)^UMzaXp{k9IxY|e`$Gc$WsQ3r2wtBJn2>ufI=8X2Ct)Iv*2v~iqJ;8Spu|Y=>@XCVT^tASp+&xpB*dhxT!c28`E(UkhhvH zlsEyt59jKm=kZqVhrAx@={%Oa@sBwv$?h2Rea6!@i2&;7>@1#640K3E)rco@i#+#z zl?6UF-v6;Y+l&@1Ju8*qTH?1e4Q$wdozaejhb^QHz zyKUcEk@^t12c|%yPU&UAR_6Cd_13qc?>|riW{!9ybu+5LjsEA_IL{kg&u$1-J$G+$ zx(dvisW5B0;a{`hRHNgxrr174#|_2J?7+UWTv75u2brE{kxPx9hmzJ)qDH)rwT2s% zq`^bGz4P`*`}jCPueR$8=x7G@lm3RjIgR#*@VjQ48)w4p`R*1c3 z_FjM;D9<#8tiOkPY*QJoaKQF5Pt4tF`yqx>zL|Gq!qDH4^|;Z)vRr51{~;sBd#mj3 zK0*8wO{C}70MxxzzACsjH{Ilg5#+PpRr zJ)oneh^2LXaZz-Fdi9p~gg3N7IRie|b22;=%y>HxmSk3@SNJcMzH_~@&OV>TAuqfq zC!IfM0KOZ&(g+U(MR=%a>ZcRG^5<{fdmX3CU8^Wv z8~segT8(4V#;QTEOWrgzi|1ehHD|)$oVrA5aX8*PDx6szd)c&ZV#wq^E`AdL0oOlA z(e#By>180aW7jm?-bd*?iysU)jRr3-_1VqSMBg`dyi|opH0~ChXHmWfBM{8#dU>L1LtdGm3-Bh7!oy zv|hF=FuB_PCDJMqj&u@S$7d6gDq&eK9eKEeKRgCT!K_o&0bv`6I+hk>s*hb0wGOl3vzHJu|+m-qWRaAzpR%8rI*Ebq@u7cW+=mJi!gZLGrbcFCJ@J?RCDNa=u5&w+84W z?q$?#UV2dNyM!6>-MvY29v7^+rozWFF3HJ%Js~?vcWy0bSy+!%DQ~O8ionSf7iyO-d+W$_fUv>hHP1oV1EvbYIiDeL0oto^>(Q z&WmmVyGe6uYHy*O6-P*LxGoHK|>A31%Le0Ln+eD8~c@uCxocwimOQ(3Gt+z2PwiQ?VTwtsM* z$E@n({a5X_%t5|Z`(>^;QkT)Bew(e;{sYsLI#Z$j#LHLEZea_Q$4*5DBw#$g{begKUTa+#z zoRameH;5M|pIwo&p{G;cgWy(Skle=10D6zo9w~ZTiO=>8(&9DcoweW@YXH`_Ej(I|K1+f~nuri5!?e;UkjV4VV)gFgwU# z-KxOUH9y3-rj*JW7D(#&XRkqelM?N;ZS|f}o~}kh4GeFYF7Tifs3ETBJkN%IcD$@G zpw(UqgsG#5*1dfj(zM*N^wt#DThpY$ZKH}~$M@9E?6|=^CU#`U4dIhwhfEJd-P7x$ zCDTJOWs_Ykqgnx}PR|ZnmJD;SCoZ!fz_m!?OI&g-cZN(OPLusdC^)0ypwZ`H2Gtlf z*~>%~KpoWWg#-mj;~$J_`z)L&>=Xk&r#3#l)*m}=PJGeKk57&r8T9wfJ2Z$0z~|T; zOA(bbJzD+1R}EM+sZ) z8K{6T%QC@-All7S!X=Ljohf)guaJJV+Hav5uvhwb@ZRWO!0z8`I()!h(_8Fidrfb$ z=j=7T+Mco3^niWr$n;_K`EML;(ju>N_JAOB;FU?kunqcw0eiD6zd7GKID0>ZVJO#$XzooOQE$P z|5{J{ePSt#liR-Z82(r#OAQNk3+e%#PRB44b-f={IFxFWP%4;ep;RRsw*_RC-AWC! zT)|E1(I;s{*PdERu&Phqh3c%(yT_zK&;7M(S5UH>rk+~0D?F%o1@uYNhsdsg_dMAZ zhJ4_2!W-iI;!Ugm8H9HRjpP8nrGSb@SS8-lJ7Q9%Uj7XgCKs7~VaLWWr0Oh4I# zeux%jY7}EAmxOZWLOvhnt!`nhnSu)|%-l<5&vLmgPl5SYM(Y#J=#`DO4u`Kyj3IQs z3W+h>=o57iA~V{hgD549-h7y3o#Exh_-g+7_!mec5_>PJsbc!yD||Uj$irM|5L9TF zCXsgz+ApdXh<8ZAT_##jchED_ze@@_rvZ6#OnDewZ~wxVeQN9o1vv*})ME$am9cgK z^z+9ENGS9zEEC79F9}lILxo{%iKvh^c;m*sywSR%qP)@ndVxb{xA=((W4`M+){7)A zFAG`Q!nkar{o%6LrIxu@~8+BBGmYF0Nocr zL2h|?i)zvO-wHk$;Da6mnNDy>`Ca^P=jT2o!D=9>#M2p3Us6%ZAUMmqW;L|nw-p_9 zG-&x!ibb^gH7!^wq(GkRF+BGNgchKj7UA^KZ1e<#8tlXE7EGdwQcR*mKo4|8*>sm; z6C<9WQ_3+H79kcInRcLoe{i;yO0z4Ixpr~cF&0Sv2qNHedHE#%fpkCjZkcQ@nojx1w6 zQ2+TdE}*desej7^c<%d0q~*xJOb+abHEm<4W^qZh-e5KLZJnSnNYr3CnKo40 z`~Pxh#%k~>I|pdcM$`3_Y1LI@{DFlE<{u>+3~NS->3TY6o0&F*iy=`4@d9m`}ITDPZodar{M3O zviR$qhqPR}}c{=_~GWk#I3AciPYVecfnP7o3%fez`5JB6EZ6-?RjgqyQjW*`sjJ(c-EuN?;cE@ z)+ANa=-UxDPLO!2?c}55CKgqfsHiwnl?5CE)^*g}v|v0BNM!orJ0`Wg%b(aag$;l2 zn?oCRZs7jH+T^1C3;1!1P7icsE{u-h?@2LN;QmVri(il{F3z!>i{aVs%oAp&KmO6A zwnrF(%N5jX?AhOzRW9~SL%h4>=6r-dvAOo73HcMfNHbaw)F zR3+0@(=}k$#9OI&-dHoC0vu<0IuDYzop9V>Ua(RwnvToeO>u+qu7NLj#C@lO zsNF78Zspg<-V#(&CS4|1hQ})3ZS2}|;lV+U8#23$>?r$`%0=88cf21E=6K~`# zJtMxtz3Js}W);`n6IO6(Ubg6&JgiPT1^)T2q6KSxe87#y#%5#FE5?K^coA9j4>ifU zhxxlYRW7-(M24f9f_<;(ViUH=n51@FMif<4pMa4`UuSPe9k-xQPv!bF3+Q`zGov_m zgy+6q-GxnC(a4>!K@0+3;kjvN(A78|_&JRWdK_qpsF=09BcsmrC5*bVuQ(e@Ye zA7gA$1yaSw+WlP4cGshWmvy}f3|ZSi@1tJTtn@Tuy{0g5t$nMM5L69ko&;5sIB8-G zQ zN>8K227{T@Y+qkaFkV`C^YDZToX zRXu%5Pfq*)C~8+bHX)-M8D=x2JZ$Zeu@kO(NH%oYm}r;idmT zaD!KbD@TZ=YcZ-HazI4!632#|NC)lD3zWkC4AfPs`~!8>y4>RGT)7##T%|4t#T~Rq z>vAB&e`IG{ZZ9p#?np!IpOtO~1UzM*!{MT{x4UjXXInYvWIZ2qAp>*m!)WhGSu_WO z%KRo=cA12dqDiwhQCDKGQs}aO$H;)YuV%k1r35Ub$6Hh@TQPNHs-y_IOs zeFz)pdBu(M)a-5iKK5d{D|Ig883=-285c1yT5o?=5@ponv~A5Uhm1o7)}q>h?w<&X zpMO;N03-fNu~GFN6~j@iwdV;8knH!2WN_M%=rMfcADFNA(7DxxovofPh_}Pq4qVmp zUU5UE$jhx>D5B6(}GmpxqdJ{1vlgU&f8Q9sxIN-q3m`?6g48vA%P zhiek`t@a;vbfP|L-q&?Y>{vv5+^8Q|a zBG#)C&23Ajdra8%zVr~neSd(-bJ89gp4OXB``Pfc0K1V?*pp2NSG^f~>(OIWi+A^u z>I~gglA&-=?-tbrCowW2QIr#;-cxcZdI*!ZD>VaBo|m2{Z&$hqe6H1>L8siK`crvw zBlT`QO!h0>iz#0WYr1c4CacYjBeqNf=M#Rk$mz?YWa=Ipc6}sGzV%qriT;(8t@V)(2-;lX}@vI9zz{KkJ%^bx=fZ4?TBpLXK`^W_uk@^Z%pl zT;QWBuE(Eb69^F8sGw0$SB*6qtPxN*EUkN!U2<185(FeZP+D!IN;M_B5DH3Q6UgSe z1*@%(w!hle->+uNCMk2sX722s1}Re$_0 zb8%wE$xLdDv0n9a-UHU<0r9XvoJm|DepNulCEmUM@&#t%Hlgk&Vi&mA*Is8P*6R0o z-F3V!WL&XjX=dnHwGl>*Rofb`Yqe^Z$Lp3`u{KJ^*T}EB0X#e=Au8zBkK5!SFr1)a zS}P-huh|2mR}HsgWh@YD4~bs&VY9%$R*wSmYKrbvFA?hufweLOq=1vuZ5I&QC)OSU zz3Ml1tS0)zZSoL6ZkJdqrU^d2Mjr0<+!IOb<7?zWnx_8v8hMZ=H{FmX57P8dh_8_c zX<<7}9;E4U5nm$@(k_w6#9A2y6qmQIn2Zh}lsFV70M{8XgEtCLqLuA1?KXYd{IEGt zmR-!9^-Y0|)?!Rke(d-XoSaZxJ-VxK!%wSM+o72*PA!frNzavAOhWa z9PR|lt6)neP)T0oI^Qxgaw&=_EIqY;(<($((q7&sbtW3h)X5BDm~G}<`w|oPgF!b6 z;qFNr-4E{`E{biIQ8-9td@i4Q`Cj`oOUF{FR2jWrM1Re_ZGQqfR2mV-DvqETPlV)% z8VT&B#WNCxmm7)N{J6njK^#+XVZ5*hcdf-2#slK~UG5kCn}m7FY4uxdTlj!`)sezr z$FLf(heUQQa)f3J+LkT=qc6DI=Y!?ml@1hR?;ANP@2?(dVyp+P=FMuw4dMvJ-62;s zTDSdLQkdCp(kub;BGWkG`-#sXJ=Xs|!}QB%hjcZbLf%tZE+-$xlD z`$=8WWb5cxcfBwDg6fVgV97y*I_)l*skW)NSV~Z(6i)IeDdLC4l2-ogJ0tRNr!i<* z_mMp~@ja27Ioc61slkj-?a%#s>5#7nx~@ULtnIUP7=gEacB{KXw49kamY1J0>Ahgb zVEniGB+}jf3i#8`d~`dusx5evJ7^=G!?%hwLJ&R>C^tNj3nsDfM9MvO?|}1!lpQ8i zJh(0TKHJ(QM+xEs(NPpQ*%KK)*q7R7{3RcuvT*BW!bZjMcMdol2)xYSesM5-^s2QB zbMY~_+3m0%F{&Dj_!%tN)TONYD_v+qXfBfzJDdvY^BTSwWgi($4xNUWsLj z)|@ybR~9$kg}Ui`Lc8I${|&GG@2;AGPLYOv(rJ8R%fz~B_I4V3yK44z8vDrg8M!`F zzdc_ZZqKS<8m~}4lNUW>$a02US=KXqzR)_$j!bMX_rNfY#MB@lix74PvIv=S{yc$G ziiP4u<~@81h-%egKvU*uOV8|I5D)L0GbMP;f) z2ezw12j=VwIz;THK_3eDiwyIja8-!sBH;@f{hhyVq^o&cYCkTsAD7#YE9}QS9`Ro< z(7zS@n(=S%QOC+;m9T_`Q7^$v`a7>*U|#)z3`HN)%YHUh`qmdsz-H`&Vk`+vtE5`h z+=Hq7$I-Xq_eB*fk^J{gRzy8q3=8@Onh#~cb+-#U^0hpEZZ7Fv`DZ#HKl%T7V-|g? z`mt`_7oQ>GjnyL3uP()x7Eb%S3w__0q($$iN_toSMHgzNkeSfgWP$DHlh!<1(XTGv zyl2qT`DON5Ed`zW;^RBDtFGSrz+&2OR`$!1j_FG5X=wpd-Icg* zouvOSzXC; z3bBdzp&NfH^oY^6`j!r%C0c1;W9Kwz)!B4w^-bntFG>~yj=rr@T5h8AV$JdEOOwYO zEs#%S3T91?Z7TM0C!dXh2!U1DmbaFoucgKgIU#+vtO6Ab+ ztT|d&9*wSbMSzng8^#)H^5OWmnWErf^23R>3+Ty7&jb@ej#}|iwAtOU7nTowS&CKP zA*pGXh_4Gr$fPR8W}wc{oi5O?6A&E6*NE&p5Wf)>rJs~{^X0!HRHD#R>N?!nIWj?( zNW8xwemb#WR9;tmNe}tFg-5zO3WWNEH1`%Q-_`bLc`peC?lqz~)@4`M_9=EtAMkEW zdBxq1b+QB&|Df&Df+Y#jzSu#GJa;inUhGGG$z>kpOlEQcc>q zkiei$m5MCK)6g-zBwvIedg~S-TbuiBLC~!XisWV@?E}6D9Ge}wj*z7*rgt#h21$8I zQM?`OkFU9t4-tKH4Z7s=QERQlz#u;{ke44lv8@#)(z3Qzlt_^_Ug(b;&u?u6Y2}5% z$Po!+FjK>d&FP{VcqXp?rj_4Ym{**(XZ{D@?OpQ+YR@-UZtTf4mZE<8~E`!*_B+!D6#XeCges3{2|N2;z^95$?m&kWbo zA>l=`$HCDFf$9Z?k*{zAy1BAvP$bExZnf|~#Yro+nbm8B=;Xjf2T;Qc`id9**+3`_ z?}DXFS-|%*`Q)NIgVts~e;;A@YEdQ(TWjwT5UeBFqdWS7hOH|&T^f-u-CIy1WlhkLQv&jvw)hiT7sDziIq0Q+(o^E0hNYT2kdJiu>aDADehG* zvP@VyDP1ADhu2Z-BYAlq&P+Eg!JCJSz>GqT(8TmW=Wq3B6Vew_4O?5o37cxo#O*qX zV(RYbUevNSN5=)cc7B;3ooxAf=+coZAD0_?;AuAyOs7bK4 zP8OTrJJ1G6SWRV!xGH{<5XprQPU<*j>xR_Pn#5Bj_9J6Qo?QI7(FnHX7m`G{0+Trf26Azcty7zti(a`+gq|k(RKe}etk?v{YGwnEra|& z%Uj;j2ce03pjP#&4sTP>^AvfD&Eaa^D!Gxk41YySIXTcqPwLlF=;}v==^h|7BtEJKY1l<&XZ3L8l`xngSW>J z{-NEh$7&e)Fq7Z}p}h;(<6QWW7+t?#6g7$ojng4C>f)jc+rZl2z|!Bq%HObn|JL}r zHYv5PonJG)PA0YZIvK0+b@%d1lr$*5PUfTdI^lST>ees)`u9mYYNvkLrGMY#H-#33 zbIF=ML&@btUx*o{gES*rAtdXEllG|lnUG-zY1l-oGnOn)TA)$rF@1KUUM(nM%_&-=alz?vqUZ{O;lv5&+A*N4Xr#o%$7!j1 zqG-AJc8u4uW)(gCx!@AHccSQj>|hnaWp>bO^O&{{g0t7E;IbFIu0k52KCsH#Oh57c zv1=BNV#e4kT*~+>MZ|#Fcl@N}dvU;Zr>)%<$NiCH~ zjJ-FTyd|4lniNu?^tsvO-`L4$I?pOg-9Xyj=Q1^aKbz)BT};|vvuTU6X%(sSNINGB z=Ox*+Dt*geQTBUN>@-flW@#jSveO*5#XJ?oZ}(uWUu$m_`19K6+4P=e(C}M^Uuc^? z{5|v_eJEl4h&bWWN&Yw!Uy+=ViLXe;GVxW( z^E2^P$?G%m-sDM{cyDr+6R+tjX856HKfN7wtIhu|%oD2pDQvH%S|N-K9dgE~FXqXb zV+vtVz^3|abeR*)>Drb^HrnGv`-evRb#&hWXKa17ULDUYEihOHD$?DNB1~%+Y%($3 z7cGacTB{x<(?cG9D!bbF#ZiPyOtLCh-6?ObRrlGCP978s>9Zo#x>w#KEM(=%HhH*K zcJe?MLfUG}8!F7|nWlDwun){E9=V~2zSi~w>bqc1_~Ztvr0ptot!d4g&(b7n1C3_o zbkp=bf&Tx~;Kd_rL?h{q>WyPWXCw;$CAnydVdmGGB4un4jE|#MsetuqHu8%~8D+A; zU4Y^xil}<5RWCCa-KM+6COLcE+pTHr>`ecbCQr?T%aX@t!k*-)Ot>OB$X>>#&#I){ z|7nN4$$vUw!GjplGEryc7$Fp+tv5gjdxKzS1$MKZNQsrt4Oo#P^*2gd(;MQW!qwN8 z**2VmTioqEU}ER^=uE1S@Xyl7W?`98aqm}=w~Cm0Lrf#_S`;uh zqu!rr^-9d=A>Zes-NrUKZE_s)ZA+{FbKqE({0*Oas2i(6^~bdbR{VPoHq#ZOzGqil z^`BLon*C7mXllLu3$>nGvo}*~)&H^9*fRE=qal*2uG&jFSH6hTvJHoJe=&4F3K`<=WfswKoi4Rnd!#Ie zU<+jJ+8`I|#fP)|&~pt!4Uw2mtr4=-2)i29zbsc6BeP{*Ab`5>$%`Bj4bbD3RFb%W*NovN`>o zT~ZD?V>5XK1{t``EGfBj3+PdrR|qP|(ZctVnmx~q5PP)a2pYQj6cTQx1 z+2`*U6{~Q<-_L=P$%^7p#YcX^4L{nBr6~Cc$uh-z%>1BS=h^r`x{ z<@ZoWI$<*jqD3xo#)J7uKZ9B<>*U@3mK_!f^zcEyx})@yL7W#CCA;*;oa6((cLQm1 z0hRmVw@-4fn#RZow&O9w@O_;Auo%fmE1Aq?z+j8^s_9!&EEfmjlyh68SpA5@`f&X0 zFzz`*zE^O!!9sNjag1K>*(**9P^iEscl|u&Mx$>1oHHLw5_tO>1hn;jJydMj zMgZ>Gn$wsbQLD+#4s!<&86PVIpp$_^+_w@hogiCyN~mAW8j;S5*eslHr&jI`g8(Cc zxB$v7dk(AaRuu$OLeJIMqm;`|S69SNSDuV``}5J0qy=j(f+SMMCC_DfvSlZggpyy8 zpOg7P^Z9rl?uQ3X60F%b9-48P-VQWtYkD6UQI1*L5XEeGX1UDC`j-F8E!seys3bWy z7}9`y1QWK8_C|yx+~bFSJ5vs_!>uxp^d_Uwk7%r)C)9S1!C_yvQ@QO@^>j+7UJ#D2 zpi@7QPTj6n5~n+L3Ddwf#hk6z<*E&!WRQ9S7&is2e;SBiI^J`){}0rJ)Ox-)bgb(U z!I!|5g-@_w?@{k_ovO84jw1b(2-A_0t)7VXfK<_ekWOE4Vf{OVR=b7TgKv8aGil)n z)3+NQ3gx2@xz$sok`$!CK;%4u_vtkPFR_O8oMAm_`fwxVuA?~o=2%X|sRm_nPFmW(*Q{gF7Na8EiyBjx7cjHgH_}b2iQPt6M>uwtkA% zfN!JnNq5IOW~@v;L0#Ksh(Na<-=F=S95Z)n&1siO|efgua(ZI|FQO4C5S{;iYa z%{OJZZ&&fvLcU6PO^D<$D4f_}qp)2H#LpJ&4gDAwkFX*%4m~ks|C3oa-;4XY)WZ2-Ar5~o;SZ^S#N-%sl(M$y& z_~s`Y(Wc9b4)1wq%md#^jpmifBwEz-&d3M2Nji+fwE1LS7wBS}vO~%S-}=-(V5m?> zbOXn zL;~$2bf7S@D7J5Oq%pSd7_JiDR~|Vfw(ksg$7>{dFXcj_=L!4?DWSPbZ4rTeFYl&x z>pBoCO>R)n{)E^+*s+3dJ2ohJ@8-4Z*2$U3PKoSrUaQnOSA(ExZZM6W0^|Iv_vnMf z*mXR-KRaJCi2(?os8YrBCON)s=eSHB)juoKS@2z=vz#F$otRM?PRKk4q5IVh(&aX&vmP=RyS;)K>K&nV*Ac=w?C!>b&=NCzL{Kr zv#-(JfizlBkuA|LCH`AtW9YvCM3p+X3?S_GM90~nUeY33=6FCaah~X+4aWat(&f_{jCztCFjlRQ;@D~9U}bF7DgIs3&BWKf`i|80cd79H z%fyjrK ztH1HXqz&R|`G#JS%Xm>M6Rp0k+s@@zI;BdDM;nuYXthd= zwL?X&ayq6;C2tx!F#WmrTjjR9N*$GHS9;|bdX|$Y61Ab+@q;Hu>zQD@6tee-sbkPP zGe3fJ5~DPAbik`8a16V>Gx6$7WSJ4qvoCWuXGuwh&eNH~<97zVvkEX>wQ9$ZFXc~{ zuQYrwM$fZWdT85y#nHn13ULdmsl!?&^OiC2;Ew=2pU<>xZldCZq4TxgBiX~Yyxoi3G%V+z}R{fWVTce@y3 z8xqjFF`er!J1Vk*tRo`hu~#|5-LZh8*2N{#F^%efIp;`TLX7t=>0@l;tXp*_>C{Va zC)F#d$47=)cS)}XtP98E9k%P%bmw~21)TCR%2*eq#?vUH$DCIkv7F+2fg!t8HmZ42 z=bJ>X{N4n9vHg{m$bK1g$DZH?oivU;q_TDaZ#_}o%V_HF2*|;#PAZb5pAaM4mpgeH z*0U-AmojCOyS-g<-matV+{4M8`fhI4*O7bTu4dklY`Xw1b)hVBL53{roT+|}1d{gb zka{ZABk%9ETW6}OWqNU|vKKc8;2V*^>(*DOQqpBs(a>IXtHkTzWTdCLD^Y9K-Lxj_ zT$*oG!$j74$Ti7S`=3sa^~{*aS<@=itA|bZs>i;Ve!!YE`+zZZfS(~Oenj9bf*RY! zkcfyy5VD&-u({aX@N3YX<6_9b$GkD6H*x|~P$)600go!&!ZDvxNJ$No{*a}`@C|6U zL-!(It+(C}b32pJb-ner1a}eS<{a^_aE-l-;u@EjT>Bt37X_@BQp2oG0c-rKfOown z>>A;p8lVwjfML;LuD9ZNU8b>qYi5bHMzavE9hR2mhYJeBzSmpM!Z(uX+~Se)Qw-rgT*fVKfvmnJ9Ha#(B0=qVLlnE}jy5rBeRTZa($nt<=OnrhrJ1k-%JmR41=a{yn6?#&Ug3}`WZC}92QVJH zCv|fH!B=H3)2gmo;*8w|YPJLs4muK`ES|>lDUlT5Kw?*QyS|@O?$z`{xsj0p2w@%H zOd-a-MN{!KYr?P7u@YyK0se%Z6k;;*lPT1X`;RS#uP1VWz+r}bIWC1XV7-eofIT9? zg8_#1FPEFku{K0~p;e-UZl%)$-nDx59wT3DWONCHG6>38lLOVa=r%-4!niFoqeV$M zUC)6OK@ARUz7)dpEQH4$3c?qu*>Rxa4^G)Dv>U()=lpk+Ruo^Zm6h0HXN zjWi|f`@K+Xi#H5q_Y;bgJ;XQh{r9?bY*!C-H=j^Vs>q4oD^1%Vd6J*JXi~klRi2S7ON-OCNQQ6=?W`lGTO%EtUnr+9Rk}TauHCv5A&}Wx>xplqj@L;C z)gMaBv~edP=m<`E-Q6*Zb0VW_dl(_TbZ^jGUlh3z+8KcQkc`?NkXdK8j44arT%^C&H!;JbvvtPRbw z>0O{DnOvTb?h1Fi$SHD1x*Q~}v!|e!7iGHPX$fY#AuB%o0nG|HgFDz2j)aA^+$U0E_E&;1 z@fmfE^ya;`%?5`q&EipS1EgY#_^g;dPTtC!VU?5{zAb3L5beIbC$)k=aZ3^DsR*94 z$_qoW$BQ!+iA{r35BK08313tf^8I~D4bIcJCnN0paLM@>CQ8m^rQ>K(t(!6;uigby zV}lW@97q?|V2TH$24GEon-!D~>UU$x7G}@K1D)64G><_&56@oO=&@go`oyL*eXJFf zOBmzL4oR`FXg_T^(9;}mccBPQzZBWwqU<*p{(cwuR0^J zHFpHUD2kIDhM&Dxk(b;N2tp@yt6^vyF$V1{XqYs1>7`qbzb(;YX+ncsSSL(S*tI*& z59z_E_nW?t4mlcQH)QbKD#0wCv!hWQ+6KDb=tRWGr{=TBLTK*bMqr)KJgik~Tl;qtUAE{6ls;}EnY1Y}9kFy)Om5<9blRZc|nBHLG9;#QLEF7|>%h~TGl%zkf z|FhgJUrsvqN=H0?xcy$MdVka5(oJ>A(8}2~=G33qBj3M&XcZY5i{JLMG@6-6%UJxj z?{WL=;z0f17kcyaCt+T+G@t(h{$2bR@?T_|*2I^V#+QzXFD>gc#F<`Re5t3;DA)Uh zSWlJuV7kzP*a7`|*1#aXy5h^&INAP!GMKe@yjl3|`_HS?I~&tDNZTi~`y8Xa@4VRJ zBRq1^SFD=i>KZMBd_w&q#B7zmzU1P;jj_G~$Mumd6r6YwqK3NxvTf-VIIw^01cIs2 zUBL0hr#U(2U_J6x`WL{$KyX-e$c6O+F^@tZ{ z=YIP1%%>~&^UbR=UX$!EZ=e9?(#3)5%N=>?fSChpHoJ%j9Kl(-&3wjgGVMeLEaKKD z)Ov~sXlvNQ$8TRPpDZ^p*0!FNAe6s7fZ)}sEcqDQcjzPSlV~53({V42WIfy|`-gR5 zAbD0oM*(H-QPRZ%WBMrRjLcCI)!O#%a<9o3?rV2Wxf;MNjO^H>_>gSVPP|Z`cQpu& z#8xyGEI*UP_g-{ltAOBt@Eqb@(IWqY6H})WER3G;*d*zpV~F9#t6u#^LcTlD>+jl) zAE)YC2b=fRrLpPnoSb!8)wY6umU{-;oDba#Ii|+8t)PEJe*7&bIze>X3S{M+S8r8w zksXuhcM_X*;>k|p6g%-)CvlceywXWL!A=}_!EV-hB*s?E&s%@_}}!%;NGgGjRiN2Zd(cvOJe&jXt^TQ%<0*p z>xp-11%l?3=Rag0`hJek?)BHgZ#JpU(+w+)tH@#_HPL z1f#cuMs)-;bD~LHm9-} zf`8aIRmeS0(T`$#>!Kq&o>TsYBOqC}XmThmgsN)J!Oeqsy}^#p3YUIHorOaF zqDyWWB9)03v{lcGo)GYc@}tM{TM#{x-y$rEjbUxkqF`rnYC>Ce{t_(P3&^`Pe_r$? zo$WY&T~Vahp<&U{1IF++uD9yV%Xj3~v3&*HEW_!URkyevA^jP3I;I?tLp zHBr<3wQhG_-jXv0HV%)LCu+*@?Bme=f*FQ3pg)Z)gw%!dVQ}@|CU2dYg6h- zIkvHGE-??w!$3&O5m_@Q?mss$N*GZ@k7^@B zv7Q3c^}J+Doy(0@DZDekovJiliUQj-RNK_CXKMxgT}1uHi7M1lY**jLs-lBPlt5Tm zu9sv)ALR5pk?znAY1!Us1B1rEX1|`O%5*JT)tf|8&>de5Msg>>U)7{1K<57n*YmOp zumTwR>}@)5()91-HK9HfF`JB)pSR_;oSIwy+Dv)5x+_yY;CkDPZ7wiYewN1v7d@Op z0Pr_~?s5RhEq{8ZJYPOTU(=bpJQin?btjRh-1WQ>`~2$;oZ#frr$*+rjOJt{iE6pK zLlovoNBJQgGnyFC^dYtd0>KNx1DDia8aX()Jkth*bCUmDARf8|x8&xZkjZanANGap zf!yr#GTCK1Fs>9;&0N0`LdK#r-)Hz`WI@Qitb5FGxRY|X|A8of*Tkdy-?qPS$u*=#-gZEayu$Yiv*2#$6_)8haK#T?>XAc$>jGTVt_D+g zt4ri@+kxQrUvMaJlh**GZ8zZP%M0FdHD)s));@iM7?@{1O}cM65;AtLpP1YYnpf^` z-Ap@-ds26utn_2?Qdq25}|)QtB*mL^%ZVkw9)(bAY_wY>H2w znLdLz;&U3@>(AF9(yg|Ud)D{XCMON4$l{X^sB%4{EVs(kdFTLcWHLEjY7<4azfdgt z)dPyP zpBEhUxM)2MS1)464r)#XLmAXG!Am8@w?>BFO)c1X=*gT9#+i^enO{FS*$=8$hO1?bb3r__Tm{HY0s zH{>y_ndOl&wTY6WOfiYw5^^1>7IG+=IwIu4)4qOJ95d;W1n)tm*2YERZcvWtqb^o_ zTo;yyUHRUbp2$d7ca3{}Aa8$a_+WnxyiA@P<;V715iQcPfi7XSp5&T47I-Pjg4l9Z zKz=U;4%2m{Uc@K5x&u}}XC|e!i9%?po5ici@D-LuC)HQ>G@=%Llci&eBk!fg z8RU0uG+j@iVm8>*{!HW-U8UT2H|5C4Zp}Kt?^M8#hlaC=X@|)Dwo}&kAfdZsT$UlZig-1wIcS$ z3Z}wQ8=W(G97ON5xS9KDqmOd1b?1<;0}SnKJ=?HqDk}T91rpY0w0wAUp9^*(FLe~( zY8kGpOpWMsxrj6L##Qfq?7bA%nHpVtIOW%MGqq5+T<0Qnceh?9bsLqN?8?6arWP^R z)Rc#;k+q32<2bNjdg*Jb4vZ{}o@jr8jSnCkX;>GMt03gs>h~_scSW*bAZP`Q?ldjQ zGNZ26Uu+$N7t6@eu|3B|j)?6kyBV4}{^qQkl3{(Y_(oARMsE}^FtI(S za=+||*q-Cu9XC@fw)a%iT7tZAF5Bn2G2-l{LS!Mx?U3ZTJI){v^3Dlz*VH=d)~xJS zb(}CDd&aptrbr$8Pw1_khl8fGcjYx@wsh zn3dkMMGFN2s(bYXqy(*-3j@}7(E9lN>+V%QBBB!v-`}IB2XM1IIqEqG=3Zl|kL@`oS|}*PYjmt{yy3fn4Ok;6O>X4JKtG-n z-en%EwlOj?Hdq`vCN@}_Dvk{nL`q_Vh0&4?Lg*X<$*}WDCja{Ucx_{<2$xA+knEq! z?;(YwW!fMv*jC_sCbn$;1oth%TLru}4M(msrVK{EMZyI)eT!^%eyB-m@2$NuU)50# zvYLOhUuW{?W|D7n_rjIxlys(XIuk16*_wo=wJ$G8T7Djly3$V8NBUbkYp+!Qz!{28 zEt6Eag4ijpE8lE8voW(0N0_aw9i;VQl>;kS!?8+ z5LXw|$}=pZ>^HT1$YWZ#*_mQ1Q`MIE>Pp6KnKTf4eZT7o!tTI!-}Xo$*G*kyc$=Zj z>E%{kc_b9@^+zfKzU|A=s94@mZ?&0xA!Lat{+n> z|KQkeJI1!5(!w;UXd)HeZs*_-7vCBi1 zP8y{)z_r+B-f;FUmym{1#V#tvE($%5QoXnCR|ciDGn26Os%1%^X{T!vz*nHuWIHpF zFI+0MB*reveDWs%VSiHEtb$tTv`rP|d@c7|e4*uc-yLe#ukYAlL~HyX0DZp-PWOq!`Sp9^y=e#v#?YhhvS#^>wC+whA~j8<0ii4@(ARw@6Roe!Zk3js|5~8NY>)3sP#CV-vP7i2UFWrIAo`y{t&`p~JD2a>4 zTRj}!?2>NWm%q3)cGH^$(UF0~MaOgb9Q-pJ=W02eG_T*nQT}Gk%VS=a_D?h+;%WvG zSzuZXESs2!VxJDtU}O>7i;Cp4$bWXW6Yl9RFV)ex`bT@L?b|7bV=E_NUGc^DkmG0_p$EjrP)*G^viFJ|gx zo;-KEK7#gr62*(+bX@jB3X`5uKW598IwiLMnCJ=ifKHENE6`7ePB+Q3ggohqVlDEn zhf4Xls=rtW*6uTVmO#)wi-z>8<9)e9_fXSB@-I|lH~?{?$!Q=T`%xeVpd2bf5kdpx zCC?)A0Fa(W_5+*^(4*WY{6&DkaliW3#9V+5HJ7AL=k#UqDfIuC=y=~v?{ZQq=DmzM zYj*#h-kQREdS`OHrWmu(UBJ%uD|SG56&ZeV>gH>OyXteVx(lk*r@*QKxYkLqQ3VMi zsC2HRyvi2aq_w#-@^%Cyjp~N`(z404_%b)$#Ha4z(mm>{he@{*0=`<`0K#G!FF3jN zW4rgOL)Y(=UvjAOmVN#=_e;{x|C01$51Edh$-WtB;B#zz*-=!n{>i2BiLv5DN;Ghl z@9X;pjYke{`9hd>-B&uX~y0wHU=N(=o%8meH5)JwMw7l$kt_x_XweLEI68?Mhn;-hZw zqGaj@Ynr#Z&Kvz9=mGt}d`Fpf57VB;jJy4KzAD(cL7rfziKl7lA$$OK+#MH^W@AWQ zL`B*I8bXmkXOk-spH>Fg>>7}R7jp=N#?-1H`P&{5{Vy&F7L%h%1J&GavsyUuN$*Lc zMA1YJ2&Pux?b(`P>vY6AN#{@@pMA*mR@;t&UHl4pli8?Q4jeq9PT!2OW}fmqi#Mh2 z=v8u0UvuH2CPp;Y)vuq_a%Q0Oboav_o)mjTPM}>;7*KMISQPNazCr|3w-qQnEnYW1 zHL`bjUVKJrp!3>%!}ag@j4^}?q-%V@yXs=v0hF=Ft8yj=`Z)EjmMZCyDH%>Ma!QzLC0hV*B2-}~N^Kjo-5~}3Rjjrh@54<3!%!RSu z;>4JbWd~wb&#H2-Dg(wuA+B*mBL+RE#O#Vfb@^L^gNee$dP&zYq^M~`2GAuY=X|5* z9|gpP60<7{)mbEnWi5&kwcLXBY#@Gld5Cp$&7<-aX3hC>Jk;-A^IP5n@EHyDk}8A8 z@NKepp$IBsdkWmEWEYBcOu`(zC{c2JP21EFdC^wRk*f3JwH0Vhwe8L8obHJnW3)dW zrP`;H@#z%_bHAN&2H%?fHEJkW61cv5e0}9c?u}YfJtI-b`5K=U_9lW`KPCdv;wf*S zbBODVy-yi+H&Qox817@M`XAIE_cpIzHgLYYd?%gz)WVqIIVDuZ50Mk#J(AgwI?f8rzdAi<*E-SHz{t(X8W zukE`e)rW5?Yqu!Qjj|mG%z?cP$16j=kGV^**tRtvOB{DGpxfrM%j5T>)!+Gu^Z*%6 z^sg-qdORlUX_szfXY5@amX>zL#N(8xo#ST<6?ndB?bL;H{Es{!F^}ctl|tkX2ph<` zqGbu!B#@P;N8mlf@%tr$N(f0FwUk&huJfDmm?YworJ2-S1aXhdFaAba;XUpoNC!wa zs;3arX`HMg(!rP9g=lTindJ6dNKG4_w#u+m&u?eDf?EO%Ebv`g=D~ge&m!N>mX1HMZY0b`T+cadXAm#}c>?io zH1eFs{}udS$^Xgb)ei~BW%xcbtq&qqX3tybJn0RbEKfL-Gp)%LA>Y4cmwALb1)UF3 zygZ&KMWW9I;=h#QxTX_E@_<@o%XzR`UWQGTTAt&Xu0?NGu3m<#7y$Vsa=z`}j`bf! zOAW<@VIkkUvi#yV`p3EgvDMUpZK}(uXYlW zDsh5S{iG~&?v7;?Gr65s633?}xF#Zv4W$%?!CL=ETbeLgjV`shq21&S#Xe`t`47or zf0SFVCEEAVqUE7VJj?Z(mAxi&bZOp_>%*wZ$p^$gM|zRw^4K)!pOEwg0Poyt1Nb6| zre&8;f8&`&WwJU|Dc@@%lZ@gHV{jKBhm;1-TRvMk1K+ zSRSxR^gZLTV3VGiv_%z-9>J|ItOi$U1xr1j zeDQu5E7Yj|AA(zEBfpRa4%Vcmb-a5HcrQEPJs0`HwhmRO%w4=d^-0|nseUHf z#|HbclLwrRurj@xiOKKPjAuSMciUO^*pF`e(QiL?*bhB;Gp0h`+o4Qk+y!|eO(8+1S3%o+yD()Xig>_lz7 zS+DxjkUECcPkB@Q;IQefYTwi8eiqrs(DEyL?gSg^Y|fG#5DrWiG^w+*pExjGBhHKo2t)K-_{cKZR#65I|ifA!5;|P z)l7-EnU{msB;92WsmYejqs5i2NiwP7`U`ene~OfqFX*;>V25?P{~=+UJyoNaQDhkF z2{dO|o9eIRk`%9cK!@OpY}n2l(n^ty*iE#D&}#i5hR{tquuVmI($?)%RjL-~s;p6T zi@ua1IhTk7`ftAa(GL$tU-LD6ohXy!LFr4#N1q?>BuVbfdH-A|?I%k~G9 zF`0j;Q}EpKHNovp;kB6&yCY|2*Q?wA0Lv41nIgLvUYqk3?TbLIIRT8aeBr4->osU7 z?fTU;sW{WF18LiyBX7tMw#_rfjAHz=vedm0JqcIMtpecwsnW@SU`S@z{`ZK`k^`+< zn$@$mAk7!VQ|d6&x3qY%7d5wi?ooMzV?X1Um-pm>oVc&nUXc4>?~rSb{hP$g>8~q- ze0!NFa*Ni1@cs@TE7td*PvtA zSz(N(Mo3mT(o2OSMK0r2&mOD&Z(xxt*&4OGi&3X>^~e?FRc<}$;tQclL=$|nun`vQ zMS&nO_U_-ok?1PcrK`Z#uynh46!L#1UB&%mKd_2BhzqvAY1upMK2)o zxSDk2*>8ROXQMFWRVTZ6kveAolX0GMT>bW)`vmIsNEU?`ctn@(PLXM z_&mWsia4 z`i}LfdG#jph_|Ym+&oL1JbR+=_&$w<9jMeiK*GU8pt4U6BEU2K&>#&^wK|27LgYn> zLXIJbu237!$^d?X20V3RU(g|pV45&QADCvVU!4j)1WT)fW3)nHvHJc=^0^>0R(-K( z${An9iA6W6D*A9)N?R@d3SHYua)T%8wbMeoWJMB)V0PpD#9zO7A3+58(1%RViLK9m(I zLmz955xTm+DYmaV$|bVMY3s_M+Wab%cwtT@8@;4stugtME%I{8-SqG|5G_|P+z-*F zN}AAVk#aThG5+4+xTULulrXN)W3AK!?uml4+#wT6p1cdqRH$3M8Z4%O1N5nf;^ncm zX}s8T1nO207nBF-z1Y;FM$mBGnFgvNV`57i^4Rw#W}5P~clcTg%iWnA)@)Ui_2MG4 zsNM!Y*|u~dZF_o2k!4I^hVAYORkgjot8MSDNJ-oGCKfCiF;Fw1G~$Z&i(h$r?qe&7 zMii>;3nS;%TV?gQlDC#N*85(tE?uzr1f%-0=9Xj8glg_8@fw{aM;e1Q&7r}bdf(PX z{~#~6SmYm}&i*Scw`V@PO{hWWV=6IuHPt$L2(7*zeM4}uiGM0nbS^a5IcE~aTuc%W zlmsUZ&|6rU2C2o`tDRB|13&Hu&kTU*1(OE2MJ>PQt>U0>r+fA5g1E%@@`ECQe@^C= zjyI$3K-c*~)Q`$+jZdK`g{|c9bE5;!|&G9=G0Ald)x9*GcHI*%hLn9ti+X z%LO%EC0{3J!B#X#n_QbI8i)c=|4vLO#P? zvoX8R(U(aWUEOqGw<;*lH#&_%UXkC^o?xdjod03Ijr7cja;h6Xnpog?T}bMT4i2b=l|j-til;TwCEeMb%PA6Po@G56fIm+pAr%Y6^_ z6%5a*XZVnM`q7k?dfxmG>T&24r5e^z`~xwkH>d~Z>NP9kez1;fo@d}`59i@MuNS-e zi78443cuam_MYVF$E9*X79-yn)9YULa(u>+CGJOlH_7 zuaLKc?xS9$&0LCT##zC+H7+i!4Ob$@4d%d_GM;dvH6ETGlo#Vhg;g^lZcO0Tl`1Zb ztLmzm*lA4cs+rVjOzNtc+-XeisyVmQIJc|jyiVghM4RHW*{h;sWcrfRXs!oU)_6Jn zy&QA(s~SzKcD@;}n{U-F;AY+QO`tq);6~6JY$uD(1tQt`ExoUKu`4^rIsVa&OJInq z7}%l2cX1e>gx~0!rkN>h=EBxHn2%_d#@#Nb-IHFD3HvCFW7;^N89BHK1y{qjbJ2&P zM99lxsoIZW6?3njSJhDj$L7{EmpjwxkjuOl=^K*rwxRz5i@NcKwa2;t*6~ z)f9%}`CT=|fyB3qnG+^jH6thleT?Se;l6Jop^2k-Otxyqg2ithP09oSDChrl{=dTi zY3SSI?RQm3zT=YN6B+>xZUD*h*B0V{)*Y*q)Y`(3>lHgkeyn$o=)kNwiUbtG9T&VG z!+*Qi*HwjFFSEprG%EjnUw))Q*Po;^s1JgBw%*#zy|#lJJM&R0mD@2tq+TjS3*Eg+ z4x6P4%9q?nZ$Hd?pzG@VKv!j~cYm5ahBNNe&Uv#DAqC{z|_cN+0q*h(li07*xWQtG8 zDZbe$eqQ7(DSnbJUM6J|mmodg8tmFEh3DwPOGV3f8cM;gooJ1=8kMibHVv0Srmx-& zPHU>%B-ib>-Lw#^$FAVCft^jKxw$~L?uOK`roOrx1OfHaV88O~TV)9FYy>iC}Q{_{Y4XV!v;)(P#fYh!7E^Lauaak-^w87U}R!Kc(yS2BK! zHXM;Ryp1;LS<99Y+IzHjkgvYRDw~qYJuRz|v8pAA|DoK>RJVRr76CZhP94~$+ISu) zH(MxaPTgkj%0JM6yk27=ydMqtXcA@!d%}qjQ~e78yaF-@IcF2y3@0X>Nza6BnFXm7 zNT>e7PUXlAe*pFgemY6t6l=*{IGn5*8)Q|c9EXPp-#BnnuRQ>eoMK!>6@i3byw)!G zxoqO_xuUN8q*!jRK~7lPIy{AV1UbAJyMPlu8TYbfJjfTvN)l=TtyFaaRfVmma=sg2 zwtZyJXZo8d4b1HFRtM%ScApe$kxrg>#0dI6? zteyARAbRbA@=5Vno1|)k2X2m?*b-eXO`7=dD5BNCuHrn@`OB-KO|iaznZ9Kekx7gS zEyf+K`X|sweYGBPLR}K9kf0p9J*8GiBIfa6&_nAz+L_~ab?2W1jpD*a8lEqr%}Jb$ zc2Z7zEC44$T^Wy*;t__$TMV;@E(&_%FGr57RC{0naElP^JV*4XyQv}&KhH?qup*ea zVR$gng!Us|w=yor=C+Ec-nt4uU_X2P9_U=Mupafx_WcMk z!qrO}qG3Id)V-C`w08ZWjBm70KO06zr+uScg(rv{Zw%1sjD`?8!I|-PRfDlXGu?Dq zh2SfNS{*Lp-0eT*Yi6vjwRlJdxQ;EK4&$`4*WFP9ab|syL5a89pvXNYW!6re=Nr_5 zA39MY6MP7m$70q{6)Ay7h;v8c>x=p?J?_%(?P2I*Pm|1Uez}g;}JUI4zZW@N0sCRWsUOP!WstedJgJY+XMZ0ga z`*(0`B@uMWe9pYBxs4&;^NhHan5LJCpDO0@tGSPAaO}7E4ab+v=fCk`Nh2ksQ)=~n zRdtl?jTCeIqDxX?qr1JOfP8cqB%}TLgYvtIh+@O(kve3{22IapDR!&Ne=i5ZWLYd( z&_waX=Pqzc>pKbNawh@mqYHZL7Ul=yOPY;GWoU(~Z}hf&g?v>)79-ShMEwBCA=47E z98-SYS@C$kk)Ckea3$Ky@1d-%#{HCK9Zrb(wq3-S)Hn=Ohu|UJEq^ zx@Ig4PT3wQ!P<6DUZHzUJ(-%^4__N_yJI3k4_9C7ZMiUHy&{2#!HJss9zr(gNjH|Y z=PIv^iesROkniQNyJnN!68s;1B*cN9S5ykbZ=~7RdUYaGouN%9WQ_E2!l}o|%Q8k# zb+ydlX8w%U3}`FGr)RNyO)u&2K-1!N&8b2`x_kZHX{Kv#E7v9psO~ktlN#c4Tct%u z57afgBcliFn$5wwR(Xm3O9ua6vFpl9cEj@a4I{f;*l;UPErUp|kqU;Aar3tiLdG9| zC{0U~ag;1W$oLu}5Ybdiy|V5m&n6_)JgiTyPM21)K8UA4?Qj|pM0>hV_W1%&J}(1x zfdX;t?+!jmuo%HbPXU3#h|6#hyT04k(=wb3G%1nKu)lGdt;p82a>X>9oUS>Os@&_Z zLMiboZ%ZQvKBn&~Z)67kETyxmWQX?v@}97@E8UGZ(v9y&jtL`}_NC}Xu9gzJf_^n` zx6_TklLGN;tGLv|Yty@Y!Ki#C-KT6#q(cYr6)k=-OL)z4KuZEl9Nd;Kfd-}D(uw?X89?OukGR0RksiWD7@wt4EDs2F!SfO z3b+R)A>DOc%t|#hVJ>KPCP#L52&ng`x@&|D`495f4N8QFEyM1fN? z2v4ayFh>Br(a{-1+7}@onDe*Vf-NkKe@fkq#hLU8>P>?1;6g!q<&F&6-{59L&>k6? zCPKW9u{g+n2X7CD#D)y0gD%7Kio^L=wX*no)1xf))ik`R@=V3 z&4~};wG-WdsE$TVn`K{fc=3dt-jbKTQbJde<<&(NduApvj8kT;ITK_2le&XecpbX1 z{fozkt(g@;E3mE*+f!s*A#2PNrmLn{R>=1@J!x$WCkp)>N|a5r!fhyt8Wk5=h5bfb z>!dL)W7){|C>Ps3#D(ZG-k}{_7+wCV9-M>h%GYNlu-c+OXx}+7Uzi_#r5s1eP4U)l z{x_QO)_#5Gz#Y(=zH{IP3A}?@Nk7exy;F=!OC31I-7cDugHJ@RioH`1Id1R?cZX=e zSTp@*!t7RG=cpyQg@}Olcg$I4>)!_7EKdvmaknbDftstdqo@OK48Whw)=st?Qm-1= zAtyv*=5v(xlbuu$Tk6Nq@Mc2Xv)5qy{_bx7uDs}6!{syI8x~1@n;jYwn9Ti)$r{s|GjvJExAMH5FK;=}bEcA(zD1&>iVYCrN}X^ERYA zkn_XNNPQ0>Zcp9`wyT%=-R)}$&|L2Cqsh9ZCkQ^|xGnb1+3t4X{&jEk=-w!Gw~Lsb z-iXBB86K&S-UyQ=+q|#K+suV_T|XB@h}Ub4h}EYM5}Tt&-AQ5JEPu;5>j^|tETWi| zxkSf+RNY14)Gj%p(;#(8HE;1FbI?pdDTXjk+_~0h#G;0(N#P`@RQK`pHjx7E-n#_W)L`u(*Os7ts=F*46|#~*dPkh zR1~~DUC~K$7>tnZX~huH*E)FAiX(OB?D$bS(~s!!oX*LqdpvbJw=Yzw>#+m_DBVsB zi1fz8+4S1CFW9q3?%1zV$B;8;;ux}zPhdZA#FE@SzSNLg9{Y#Ihfm-B#dHu|n$d+w z6g7Tf@140)QR{;0V^Gcm#Cn?>6`z5}L*A=@FAEc#ZziT*Zd%_hvjUGX`^?1py<{WS zw~rMYi9q3?)o)s3HX>#_!oB7$2ug>vCrg~PDnRKZ&dHl5y^W=LR`s!0$MeRE1r|L5{2{o^W5!g z?8GuV@fb;z3(846*WE4`7*ev-PTY%mTXL>M;gqRNyoNeoiJZ?@zD|M-fB^uG+w?}& zDQTyWX2zy)c~qH%EDV|ix`mP^T$s^iRF&_Vx+_{_{3$GKu~?+ub1w zblemmlcqr4&Nazmlww%37P`hfW&>6$%@{4QT{9=yQJ=}j_fajrER2cTS*!M8#eVAB z>p1-k$V?#9htU<9oG^AwEm~6B8z`^%4vv7&2z1UaKeNfOLRDQog2%|YHVTJp6h==c zl0~uChojXcxT{pN-v4+oH5&IY@>-z+yy}n*&ZVF(bwgK8)edF1LheqOS&?#C z7gyLhRse7c8?VO-YZ74(>m(NzGZ%u>9q%~nNuxevNS!W-&P2_Xn#b6&B z94?{ZOxi7%~hO#JoUb+{4Qj>_YmoNRBr9rEHzPheCO=GqU+?L%Q0*;9XhXd8s zi}byCX;~J4JjQ_$5?q8gSwMb6To#a_aJ+G21`hjtJ)@MgH+mM@KO02#49R$jdhm^6 z^v})2+7eaSDrEWqG-u zxu-#MosDYe;K%m3UZA$6gRN?#1j86+ij1<}`XJ={K-|9vwHOFV)7YN5upid8!P2lb zPe=NReA$jP29GwnJ~0!wXjjf^F?C5*-Bcw{VaesW!+Gv>p1Ymr9_K0O2$0Y3JOlE? zt%-1m(u%4;^$K{-N%D#p3$MGq7im;%h49^Czcx^3auT#&BvgPhpKL0%pJu@uppVb1 z4t!77_Goz zjl)}XCiQoOrUAS-7;I;Zwq2n7b`6NkqYdhe7iH7g2V1Oba$vmn7^Y0}$!cil+xxO! zPSdaE=I+KcsKKsN^3a$P(017IqP)(vr65JhkJ9SHTHA?EHkyWYF<=V{SbCtk} z6_?Zwfg{KgStv583KD z!USL5hJF6=pwP)%yvXxydD7*(dCI0;iUc~jg5uF~Q7xA!DF-#s_W~(5Nt6-cUb9h3 zKno(x5b>}_JC~shODsx_bkZMm4hPgAycjNu?EKOzCyJ`bu-J@NPwHsATS%xNMOV3^ zg#-%?-)ruU6pa=~C+n!z=5N{_Eq{Y*3zoR4>SaQ3E&fw_#brvLkV}UE=WoXy1JB5@ zi~>*ONO9nwDDfkHDa(&^ewLbrLLpKud>%qsULX@)l)EKoumina zgK2E2k}i1trQ*D>Yauk7nBi5`!_!9mpU583+9~yp2*;W8TZ`rX8hXO7dqU{MYtj<} zfqc)b1h4Xpi}7JZrh-p~*al*Xn3)?my<&bJuo1=-8*mz>@pUBeerh8AQsVs&a!%QfftRSGz>q>)=Z$J*j{?S=ye zz41*s3b~A5T}T!e$K$?Zmto(atoD>T)piR)-$}pyLEc`r-@=@PK21=dU7-4$5POq! zvVUmJOw>8pLeTv}ZaX$1zs$B{X}S)XeBJFALrl<`prK9&o#tLVG+Sjho5#tvPH7BLr=%{Lu+Xn@-{z+4voTbq*Bp(Z)6&b&Q1oX=V9p!T*tz^3zOf%4k=xjRrr&g9 zU$Eb#vD*pSjeXn+HL8cx$zRsk=f4EjU%xJ}-p}vhVGY?Iw2xMlFa4%rJu3}Nt2%|C z4QrVbYE(z0lfMjBo3U~D0a$Toz+~|H`7VKVkl(|@`qR<5cwL)*)3C0z-vqCV3EHqO zbV7~lo9W~)gY{-%?--YwcR2{GGc~NUz7*CE5zy(@=xN{|={F7Q-|RPm^$CJDtldti zQ9YPW{xVpfft}1uhHbjMGa0s|t2k6Mx?U5M-@@S&G>%$O*f-0{gGA`C1^L}dMDJVzL8E&H^Ui(Uszji(rkva!dB|? zPBTtSS8=FjoU5C0{+Bl6Z(5uUcJ$cjOTX!6JY>Jg*!UemyBYU7p+xzxNM%>@(%nS_30HE92_LQO1*U0^afRXaQHI# z`SD@Pd(^VSrdO%U51ZbgHvQ#6l{fAAb{a^C^A0M_n?LTZf?LTZf z?f>DIwEwW>Y5)J{?p@%cs;>R}(26DH(DCKAMIe8)#I ziqiQYp=cc+H0@9_FCueqy7EHqy2lXe>oQj-b(n*p7S$aJ+xtO z^VgX_Me4jg=TD7aU%&C?>X3fp>s4e)|M=T-PJj4;{%gPS8Rp?>8Rp-&6foyqV);Xzsr0udm zdUff~`p3_ze)EI=_ZtuT-)}tV|1IhI#alEE%F>4+xJv@<8ruLaSuN-cZxmCL~Xu2Wqk){a@`9S=jcDvTF{1&+?VM#=I~>;F`tjF z1ucAZ8y-Hax#bW_duUAnmIN5&`4vu#cJahW;iSe?M?egZfL9$PfemUuJd@9KPb`-b z=J}DW6eWz&C6uBB2!B&0^gVNW0p|wEO*olj?o7>z@_yS7ZX)a6fcWYbBB&K1Q%zPbhJfF>ya7m(_u7o zt|#F8Qm#c_<^it0MAFv)G)tL-a0|kCMCH@c(p&ZGGX1z4k3f5}?flZI)@Ml7z&ga- zGYpKnBb-901pd5tz@K+lz#4y(0dYOl!Ehm|g!*9A0)yvRoEjVG5Gdh9Dtbf1;1eMT zIWajPxFl@f#*^`>P}Wdf79aQm5d_)DdmhGydJqbN*Y~4^$rn<2 zzHy6gr`7$hRDU=v5))zR>diR$-sF*x%q}WzK^>;m3FSs7jL6u81!i3PYE_4o=21Yr zOww(#QIfZs@^pMMpfA6q6W7rw941EF3X6<9HX{@GL=8ICh~JQ#YTl=i%oD|8IS0>n z-H$AV9CczLhC$HxPPiaYnGDx(r_jhT!t-9ZfiAIj`PNWX)rRqeuS9CbW|ca@2Gh5m zCpxm_?M|HW9S(%0r6wxlv)q1i+ToQG5fA!>Fdj4UOKs){zvN8XWumT{SOfG73NAcn zFmgi!zhI1nYH%=6kgJ2xV<>p3f$_W-UGRVodY}?3YO#3wldxO%r3oZ_%-V6+eTba* zLXF?Gcx4X0sR~vJ+)8svp!dien>#m~hwLzq z{DfXxcOg3qNBeQ##kH7e>sch8%kd0apE1~BfAZMRWfBDlm&&mTpIcc2o+~6O$>6OB z5shAY`&U4ygI1jYeu)=74v{&M6KE?Cz1AudtA$DIpQ96f>|RD;3eKTM9x;&7GJcq z1rPU4x8e7{1>T`q@D6i;oTCOfK?hz66|f~Q2ec%WerH;FN4Y|W2COX=poZuwc$Z%j zKzwrm{iD!~yb{urTm^1|$SiW2rv-!m|zE%!s!a%7GRD*N1U@GBKY_ zK;=|W30AEtuqN|+3*$l3SmR1Iz-x}3J=8MCbSCmz-pWl5XkTBsK2(r+;~=I>QJ!k} zX^7+O(?Yv?>&wuHat^@%L;-BHpY+C&y8O5F@Ud@Xj>yqFQ#8=y1f3oh8VGn3K{Sc* z2kq{lWze%;z|rj@nS9W`s$9dFp5qSmpig8%@8Tk9 zR0v{I2t!59z4hh)^N7lMJrhv_a9iJ&{p^&(b9CNrh&r+)tM7TX@BN=|$jMq8!lpqL z4)k->@lJ5JhMap~dU(2{L*3P?l+5RE#!UKOF({JI zK*2DuarxnAsX_6!6Wk4#!_nfEWk8tv8PbrhndA))h&6x>7GK8)&M^+G~xuZ zXp-J+LJp?GB2$DVviA(E$3ieL!#X5R7!~vivaw9dEFv+%BF~<(zu9SHh>JCp7%MqT z18rt$x8Ea_(IG)jE>dzVgyD-;nn z7r)+zuTIqhAg$8yrv4GD=_I5BP7BfZ(E0~>EJ=-6Jut^16px{Ps>?tzSYr_Egwsv` ztt&VkOvQLCBWi&6m3abkC41J=xHS`JY zgGx_je*ITKTP{EY{cNhcRc=tA)5wHko^fSwfEr(MISv;v<(y<+?$(85L1ad!Gt0pE zU$H=p#I_q9Y6Y5c%wO!goRRI| z(n~ruy0>_GdFD+>9Mq|gaNC*1dV7nnMWpOkP*!j8rFdKXzhYJ-zz?R8mHaS;tgTLP zH)ItGdNk{ZTU;PLxfqPr3qVsd=``@MCUgQuh##LdjkcbiUNOoH6&iWZVO8Y!wqia6b1Vf6bxu# z1!xR>ePv$KKJc&XR{KnC#RuDa6T=B<91{sowfY$%5exz}Qg0``h{$2Y)qfN0Vicu5 zz46laUO@zO4qZqy>o6xU5)I=QPHX0#9=r7$6lNO(i!YInsXC9=>$R?k@D0+1^<)^JCf}6c<&f-Y_P?5PoexGcJsB_DmYR&yoZxPg@y0?9 z5r=Y>%bT#aM1_>p$9Z!(ttqKv^5pAw5_juM)UQBgB^)eB2q|R| zf)mQz3m4#t4ee%R$jQscGC6bjid+OR{*;D62+jO2p9G){ir%sq(N3C} zOmUrLMR6KV|0OK6H;k#tez43EUQlV4ia@sUOcvNti%Pem554D9he|BdvlH8kC32|c zJFP4{klUrC3+9!Y(IOGi>}80c8ad?|f}%y@nS zALB3Id;G18ui0C?4d3Lw!>5>k(BAS>zjoWzS&h%ee|!`1+nt>xjh}d3le#}UGAqBO z?Fc;pes$0IgZ}UE75&xUL-?QkYgUqs`n7)Tn&0iUe<>qT#|+(@9U~3j`&aF?d@|E& z_QL}pVc3&?Ze6pwKRa_)`{QwPuWDg-l9WDFIb99K3!a5X4zVLzF0O>^d+~j3m%^|S zeB&Vbp=W?qjzR8N@Yz&`U|?4~=6GUr;m>MrSqzF$bH^j(jm`DP<_2POn__dXf}_Nc zxu8?#!I%ns`t?^SO<>BKvBPs?EG6n0Lb8CKg3NOE!>FCswk;wkV-5wzAp znM1vMr&t~>Fk^=$Pes&-gHlmXNmS_X`1*(R*FWhDxNx}!_N-l^Ci0YdB#zhJy%TZn z50$n7SVGbDWhpZmg`XJ=iaJ1$Y*^^d#I)fr49t^m{jxfXCq$CLgU^ zY+gDK-B0H?ecZyJrD?Y?rn&~%#6s+J2|TMV#M5>QQ>La$p)mUZ7`4rVQ}M;_noPVl zLPA!eW}UFNeqnr>s{9WJ?<}Hkey=+1iM_|$W9xu)721Y*#3+J~l_K<9*sY#|?h+(% z>enxC&+w^|scE>f2mPw*5D!j_dq@}+Gkrawf$Hy=CX3ll+L_P%%Y@UfzR#>OS>d>4!ZNqC~XDd4H+*BMk%s68iy$cMi?Eqoe=+|SXk5~@Bwwq%Y z7G;e`d;9?w_!iy_Kum4R#OyX)z$6R>7h!$?Fj&UesI~+DFgZ(`(x+G*1kB9aWsXKZ ziGE35~m&T_D37`+x*^Z(WX~I z2f~h=2cAZPqo;MjcLFQyh`=eDHLaW$o?)G1a!EB! zXFqMi=E?fsxo{r9teAxSjBf^z4rDi)@ahb+y`cdyH&hoh=ezji3F4Rsx{N`d98Bd< zK8-eCMsKRKI@O&pQ;yDtg_qokB>`Uto!(;ji5(7Y4Vvw#^`LjC-Q(wRnqQTlE4F`& zL_HuhxU0sOy8=rMu_DfZGHiGNwSKdkTs;&)tE5x$B>Cfe37;)KssI^F4DPzptdI3rUaf+_^Dpf#T>5gj*S;mb||(+jZt1)p%}@7TN|ZK}Ry9vlY1|3Wt`w!Dww zbAavDX`X8qymq3c$FVtkZt0*@OGAa}R)&XY3#QzL36jw=nA%h|OIY)?cmsoNcN`{}9GtBr|F20xO z_o^L}T)Cm6DF$khV%Do~fJLN4wKn=-ZD{tvW^7Us(hk4`i=S1(5?+#Y;k3ab3}b(W zpY3O!=^jvwG94cw#aX^RKDb5u_E0PK?IR@e#o(;G%k8{5EBBojM*(pdH_*yI#*=?a~$WRk=d>%X5>5jN1ayztB^V z1<<0w>cZQA?loyDz_o|eQIq9vBOiEhbk@6#Qq0KSE(3>M-9{5*Kxc}&4Vl%L&RzUa z>m{KZrY_rrm92ZCSCZLU=iL(vS%OV*SXat4I4d>`bbZje z!dn{;9*WsRL9O+&+6=Fp@St%iEj=`I3D`xa1HPTJr>4?1(wW6_oz6$fy4f84F&!;8 z4homFT<^*Y0|(W9Gk$umIT|K$drWuWlVC-tv@wMFeZAkzd&3<4Wq9EV0-YRa#KxC` z_X4@h94slmioU>&v&8Sk9N6mf)A2W!@YWqc>n+oQHS+y1*Msqs9{A~Y=$2mvJKZ1z zBxIbc@!)rJRDpo%jw+C`p!JwUO3Q+ID(LHVFYG{sBqbI=qhD6f@6?pzUZH%rMu4>k ziGhqr@1XEV1D4^@%;B~1n%vsa+hLv~=ni1fTd%%;l8i^MYo^=kuC`Rs9G#c0{$j|4=?~zL5`Ya!}1C~!XAIc#KN%5*k3-l zy%$#WWu|M3NnQCvDtlLt+kt0JY#RJ{%qlSB-@UE|bjy9$&Y8y`ccA@;IjIuPOqCF5 zD;?4ci=UDYeum86b+x@4!cfwGe=B8Y1Ska8^Xb}4kQesBP(Au|qtTULbPzpeX=a0)j4Q&(7L;{1Er$pK8dsELZ$w?ynmoaYe#?WZXFBCo;aE0 zKhj$eeybL89Gr{?OJPm68}3)s^*e+p^<;w7`hbHFjR-b}TvQowVMab5h(76LpDefg z1k4DG5~}NN*Pxl~zaKt?7Yk;RFi+gk=@_7yH5}Qe2LF!kTpMYj(u!$z$9#Q%1{?wS zdy2gOje}a2TGXf1XOaF}pz>ZD-ZH}bmp?$o;7K40o0`Mf(fGFgaSp1rbJ9{5cznv( zLv7$vzf|#c)u>Mg<&jHyd>QYqI+F|XQBV1a&RInZv@Vx3jQ67BbkS8t3 zomV8D;ymOGLBLE|Jk`BG+qkDHJ7Eq7w8m2qE)a=lJGA@Pni=VC$WE8Pw{&MY>56rE zT>MdP-}IWVZREWqu_uZvP~1U$t_RP4C?pCNgDPD?j5QnruZQ!sFJW;jf={r47rMcS ze4aOZ4o9z7b)v5qV=yo!NDk{&Jv`;rRA=I*@nZ2I zw?Vnyw#9*_s(acFmZ>Ty=v5~p2<$Xw+(b(6ljPp@;hB3u?x!;2%hYN8#+&N6RD8A3p@^@|u4S^prsQ=7bJTS*MX-wFV-39jhli}nJ?5uix9hPnI^26knbay?Hl3bFP zG*);B6bIg)e@1zMc$ga?qt369rQ0J;HKg0Iwc-$HMn1Gg6uux>hWR&SK7~}KS@>GI zH|Z^&JtSMJrCIf&8cEe#d=nyJ6;dSfU$Hdl=KJoGZU?ne7lS;ai>VWgs512;Mg&G? z`Hiy<)sK+?q?{^J6!XGwV+*x^Sdc>`)qqz>Qn1HhF9s2G3iu2{Tz)DDF}ki?owXQzV0UjUE`J2jhc^je_M?L7NNu#uFFjUl>~Yxn&B(5N zck9cj(P#^m9_w$LSsC>GgU#X|-IJvCGM_f#DVY7p@8Meh{l!M*CQdtxjJ+Z{hn^xinOdjBl+afi% z9mD{@t|S($X}CD}tU3vs5`Mc!z9CWmPY34EO#4tkR{>Kmix}ZF*MdI{bk{uHKsZ9l zhyVGj*|b`mBD!$5j!60NAKKD8BkPSF`K1FwBe4}L1-$Fkri{pOobmN+0S*MGVUq-R z&!bmEo->nKiz$-e78I_X&5Fq-e)liBt!|L(rc4j1>2YkqE%fxYLeSxB${xq$@5g}^ zej7p;Bi3Ao|1tQ_x8V5?f`Awh0iS;Wt^vB{^=hm@2d6s6qkqtg4RBD3(Xl>OldncP zarD3@S=gQ&=POASbHE3SRg*7P$BzW)cB`-mV>sNz;ehR_1$Pls%HUn8Bp+!z)c_c> z-97RB8HvY8;#95e@Ppx}^PijTS^;N+z&T$1NXLbKluCWR{pI`=JlF@o(0r%qQ?qLT zPXMyv_y`c~DMf0_y(EpV2XoH@=u^C=c$*o%hC_2U&WUIHxrrz;;m~86?l6or-@2LP zOzQac=ya~ltLrGC z%aPHYeo`dyT&`@mT#2uN zg~+agSx);w^Km=6;eEymumes3!vdhL2?v|>EhF9J7=X% zV;A!dzEIzPF-iwZ!hNp|KE<-Vdkx$W2;tDnu(k^Gnd3P%j29GjJ^gDeBQ|RC(aXHsx{1JLox|NvhUNti! zUdrHB+L{a}XdA+X*dLcd(2Hd<38Fa7s}^s^?Qa-?#XTHkxTFmk;H0KN(uqaqY%yBK z+>FPG9W}b%nVNlgCrihlz_v#AaCT|OyVLP0{s?m$yarsaVr7As)wsVwgsR-eErlB$ zNG03I?9ySgRuVMxF7(3NTpIwgWsHm7(^8Z?_N?`wL|HwM73IAG_e?UbAk=?hEAB71 zKI@LYhMXW9(T^AbcgU6=8OGa;3Zzr}<*S!Zn&*MHccC5<{&FXx6K)fm+ zLucWg$O+xGyv^27wPh>ld;EvFurP}`*12^65*LLkAglLnm_0UN<(C)>wu0X~)qvNo zr*HGk{LTtmn>8>BAH(g>9AoEJn4N`dn!L?3IxZWnczf4V+nMw*P@4RX^>pW3d2z!9 zldQ*EovbsD6dAru@hIh*xrH70G)aTvb=N)2;jP&uzMZx&6;irFLMfuK9>zlq@-PCV+esxK|@usRu#cTQC9&ne9 z0v;X=Yx)Tm6SmRpJ?b)qv-bz^NvcM!awdqD({kyB$W`rlRJwtuZSc9Q_$Kz*(?(Im zxAfdOJS>3PS%1z%Z`uY!A=%DExlifiv*0xhP0<5L`4dGOJu4S;ot(h>aiC&t4vp&e zyD(TmmkZAL9(Nnq_{Q?ojz15iuYfIjIoIb;yW6zihVA&uBIH)vR4y1WN@e6Q zy3avv=9p+yzhsd@m~?;2o@2E=l$s{ELd-(KZvGhFRegWHV3R#jolD1;X- zbPi0Tz58oySYhcJ-Zib7(%8gO*ptQrVbzR@O&mjm*Av0Ej*m?o-&c5UTC*{Wc7zUN z6JK4yCh}|sZ9E$!yGQ-{CTXMJgspZ&fm^Pr$Fm;K20R<^Y{at>&n7&ZH0raBzhv!4 zH9u9PK5{#<7h86MV*zx2FPaKr1DIwso#HcpY3`$3f>D^a27M`kLGjj(IR`=_ z;6FSJ?qQ18+SCHBDV*QifnmmyT00`ej&^9VIb3RM z?cpNBx*BJEA9sET0`yAc?}H*=r#P6Sz`@}>p&8V;*7ue6lN6}9Jl`GN1PEyyJkX9N zKWt9q1`+rfzJav>xdXR@_niM4?52HlqxlJ}~H}mLn&lq2bYqLHUw;8mD!^io507 zlVN=zg3$0tojKYWE)2$}o8vlaEAmT2XW=U(_YM4nqU)?@YOR-!=;YS4dp7=aG2sHS2c?5mE!+ZOIG;e)i9HU%AjM)LqC50Wk@X+YjtL+o zZ&FaeMWbfm?CNwcoPQG~>yy+fSt6%90Im(wXJT`$Z(Zoe)s?TRmhzq02Y=d~6c zUT!o2@enl{h1KGgS0jHwr8cS$|HLn#{1k39@$jj!76!6F#4!J6cqp4NWQ#EHan1&R zbX{o3tOOt5ritjAMlZA1ewGuVLFU}YW+fLj!JY6#Du z!F_4Kg|*f!xPX}H37=VKUB&~F2lc%6g#;ez-bG{i$8u@8 z5g*MML|d`2d>r9ePOHmNC(Vam1Edr<+0-p9T5RwIM{Db8k$CrEBz%509}|yrEU3c* znJildPZzH<)qqrF_BdSdK?4|!l;ok#`a~?fVfBR{=?_T+a%(I6rh6e(N$V<_On3AR zgleq@h_^PoBhTT**pXA>j;=x4pmlLk?dY|LnKcN8b0{;cjgJ{+`mS)zn#|u&HJlD{ zJ$P0%{gG#ZIETI56?E4?u-f`=s2D<%pzrT>?y9w>1qGfSH3G^*;49R0rjDHekGNPK zfS?o1ylaYRm%(}w){4|*I4CpV!nbuYsx)&iDzXN`y9$I)<=l~gp!n5d90uzQ`aQ4( z=G3ssa^j;{UfOC(0^V!Tm>p=0U4*+e!Io8AQxrZ~=sEGFNo9zV+0*N#KXGD)%fDpS z4uIs5utcf5k$4n8dgRaMkuUu(q(^>3p3LbWB%mDmdS0W9+U$8PgJTMYH|OVMtOp`a zD$5x8EFlXx4sZZB1vtXsP6Ia!2XWlTucI8+8D-r`;93(A>OBq##;z#pGD>oRods(- zKC%uJQzK9Z(tI7pA>02eBQ*{oJO>c9<*+rB_qAZ-CFqA4I+w z;BKYQa8wbL`|D@=&MKQZ#)AJ+NSh~lXu-~!gmG2aV;K-T4ZJTmJg|2SlZ#i$Gm{&k zPKO~^t_pf^Mq5md$@ir@TF8KPHYAKMxTC#*OD8H~qL2B?MDHWeexU7btz5m(g~%5e zS#eIYJ4z>{=7PD+n3Xy1$SS^}q6T%@Prw5QtVzwLbyk!9^dVGZ81ks0zvPLIY)>We zIPUqK*K+k3g!7BZ6nIoF&LSn)pmyL?E^#g^AXHNkXg~W{4e+Ui=~O4`dyG1;W1Hh4 zu3R0)_`~oS$DcS2Ek-C1g_}M(@Q4?WFXgU<)xC$~|HbWt#M>DtcnugM@X#=d9O)eb zgySGI(@E(v3y15XN`btNlhU?P+DEB)@${%M5UAjk9)N9i$GMi8g81b(UmAuoNDei!KkS)~Z< z7z9@*hag}#4~+dqSgq`FaVTq|XizY8^JfTgL^t8yG9LBSI43v?eseL*FsMi1S>-WD zLz0G9Wp{9o+4QF%b;6x!g zuj1D&_!gQ8tVLb~F_IB-!4erUXU);C_y0-{7@Qd}qXm(jHjIQy(U#e3BBe&ZX|q<-T)>ge6$`|RmY!rmc!PcQpi zC}v@3pk>`TNYLw>>Zyfdvb75a3uod;*5Hr=lO1|Ms2b|eH3o-)6W`tgopM)ib`ip(p_nLiirV0jBUIISvIY#_>F z?GS_1#&VPABG>WZGr5IrkPR%D8PM_uR;SK^K~H=8+92E4$$Q$q&KcP~(1YYo!MEaY z6K6DFDr76mqZ7SWP(=*ug%{P+PAYd0ddc`CU_B3hdfblbF#6!(&k;2LP*!JctL^-I zelYI}5Aa!T$eH7WPCPM3M|1-8@3|KaaB*%T6nzUy3XbRY)A7!v@au5G-Q{j=mG5+2_r^k*$7k|t@kaIT>jVSeTPiBUrfwH1t5?27Bq!LOsB1x; zWo2sQd%gNKgaBNbD6rEOxB3Tju{e)UCERwosJzKay(d{Cn-7 zUtNn}f_}(&e#y-BY8Dduy|V|0eyj_#rr-|N9F|o)`AEI$`PFa94rEmJ-JfZoG67ww zms1DO>D~Fp`8mC-r^m)mC8!*Xeh5dTU!J3gOs5F7Y9tuBfHfsQ0NIw;Sb^jKx%jJ5I=)d2#3}S*V7Q59 z9_*1;ueSce?v_S%_}$K+Lw_uRktZZ>(24Cn9E#HiyAS_)7y9r%fR2^B!30}8^I%9J z&SGtxC(`AwL3*BuGL5`eV+16^c(taCkGyqiFn+g4DR}YP8wwJgvQfP$%yztilff1= zLB@b#t*P>k_k@N8^0v^5DkGBH@HLpXRkHI)tTLDf%eg2kSspiPC?MoXxB|iEpC^)3 zVlm^|7LFPX>l!HJX_bhad<6JN26HeE&o#{|k)hF6HT20>#Y ze1*R64jty(Lg;2R=(?*2c&RQrQ29~l;w&t>AA#-~m@xI}OfqB7s4Ax46TU_LB?vcn zew3U%#D61P{P&+@9>FyZU8Wj0SMtkAhP!F+?HO5Hn147;nsnjDKFq2^;do#gwIYlrq<5wo4{0cxql0z79>nRVZt{6 zqILH8&TRuz3*0Pz@4|PX52@UFFcp`02%j-6PYwMTzx9}IkzMCv0gvpu$ldz$R2EPl z%!Z9>(~IEqZq&udw8Xc^_-zIbCJbD^FlSy2X$A?BpG=cR#ksD~KS6B8M->6R8J-!cb{~zEpvw3@-*YUnu&^o7_hteH}l@F^pqi}Js zgOaAaj(~UKVEu8#n$Vblw`y>BAY5wqCc#eQ0LfR?bjVYYx4wa;Sp;$X-DBYH<9@hy zcm&frF2RfId_Cd(AP#xK!Qu2|u)3)UQZn?GoaJgi($+y%B}6KsBG(gu!|)dr?--7I z3Wg$v``$dHBeM0I-VQjM4e-D&rF)yYKO!>fGDt$Tuk<>~ym5T^N+_>7R#6Sjx@bM8 zUd24DTnjJ_0?_w!FPeaFXi6FG;7QFcyx_#318x*x=)z^4%gwARVTG;g9L?XXb z?tDR0ZvgTJyz|D38}tJm0p4&NV#&$Jrgwqw{R3_DyxkKgaNE?K@`+wg$(Z;=f2_2H zQ<84chtMs$UShCUDWRFdhgi-=YRHOCvqr2&6Rj#7K9;LfU^JTYV`v)Y1K9CSNx|5>5*Q^L*IVs- zKRmkHw=;Y|weL;ndLT5|z-5%y_Xg`loTl}X@P<-rr)$v5((mYt4$RHBe^ea-|$Io452;DL|z zb)e#kvRM^4A7PJLg^cc}+709nqxh_1k7fOv?MZS4u z*FB9Nca(}Bb=Kc0fiE+x?Ey;S`7>V1pHVjJ^jZqPS$>%=e?-rYDwKb8%a2jMhvcnH zO!iL%4d3?gFfMA}{SAmbrB#&u#*5#8a8?)N zx*ui%P@q>GJr7JzHQ=e3QRcpxW-D+A5ySx%#oq*n%19juTZItPPegqadW;=4`4Db# z(J*BD5q${3x{7P+p>oPe0H(u)S$&m&_aPv|9sMc4;?UMCzzqR}!J#$OX5R&B9H;60?qsSEHWY%B+-28sP$Tc(Od;`^X)+Pby!xhqS|ymIK4L zEeN;UqE2H7qkF*{DV+?j_vrSk?&o`Ww<(6#-IiB4miBRJ% zGjppyQ)-B#nFpEgrS6F${sAR!qNdU?^$SLKPi$gocsBEymi$H5+P5(>vAny^%tkB& znQO54(xGg$#N=x2sFtK|5-#|l2(z1lB3gc-phzz6zXiTdeC7m7tHy1Cy|f_~3~4+j zri5(2IdN!+S+!`Tm|T!z%MNZpA&8P0}DA^5Qx93FKF(C&d3gPYdL$#n&+cd)PV zBZNl)kDw(!LpW0c?OWQ;FEs+~U*a(p8{K9~f|r(3k{rNN8(EEj_x#eTP(iiTlXQch zFs(&mcRpYhE`S6Z)(mPn*)UCL2QHWgqg0j&=@vvx6mC@^s<5-AaBMDa(LfG_GmGI6 zftjRogdpiM{*)Ua5J+2y3#^NNhOdUN(;Ybhb<1^~9<%eUR1IdH=?Pl(t zRa#hDU2IgB5%W3q*YV~BsGljqF|Neewd6l#nd3VX19x=hhGtkBF*E*#+6~{vSr=$L z^Ht-ymgIgw9VMxs8=t=m#Ba7<_I4vcOeJ0cD(w;GZkd*)!` z)REPICTB;rb!JCl0OxXxwj*c2_nbTO0Rpu)7hl*>E6aX<4-}l7VYeO$>MBf(>Q3g7 z3CpVz)z&k_G4KB4ASW~uMy7M0OVnATHW;{%;M){#_N~AEOykJ{r~xw}D+<65P?-@~ z+v|LoY)yEN$0qMlb4pzS`5m{J7vq_Hf#=<4Bea-Q=5z!Mt2^=G2y{sAMCiuoag@eE z@+ed~(;cv$!h|4Hi64UQ1u#?tAX{5$o65SlC?H~oo0(sC^0=!La317iG z)Xf;A;s^le?$FG@eNKhZcNPIJ1E#ZD!VlRkxt*tyXvwee)Gdi4BrS;|U|8!CN1`Q8 zMbvXKQ3#(6@`S@OzT671IUgu9RF8tiTC6V=93bWI;)Jj*=>L5vMJ0oHv?!vAT`VTk zlMx(DaY<8~d3Fela9hLtI3I^^1h`9vk^<*ZlC+Y{VYU+`7o9fo%C_~a+7FI~F%EFl z;dF!Hn~3RLx?s!_KpHJ=%7ZfzRwyqVl&lyA)ue6cE56sp>fqg}8oQHc)$ie` zHz5AK=4FFWv^c9lcy%zd1e=k?>>ASHtghjQ?5@dY`_VODL87j^=2H>RV~`~f;2>)w z_*kCI0B#9480{lYhAgFRiBLFejWZ{I(V?B-RK5^!S8t~B^qK6kt!NJJOq~pB#!)Df zwjAGZv5gRR;G5yw1Q|=bu!!@e5c4HBfGftWcOnX&2}Gk^&znA$U;kBfv_irs=qN(H zS?J)0Y;be0_dQLElVB=P&v!!E{<(UoPaqMpPGwV z#a1Rfc&)<~_Rg)Cql<*r*X0?|<_KChf;HlAfH&6RXvVMaA(N|dn;pKXus|~rqdejFgwARbU zv8h$S{m6RvBe)9!970#oNewA^8}6FmqrnZLJ9;gGr0hfhnuU_igfpFgN2}|xo0UN` z9#v$unjf-T-NBIl#S$6CT!*^x)SER9)UgPc2vi!@__Cw_uO=RKJH$4RRhh^CL9{pz32!0a#Q8 zZNW@~-+I2Uq*pWriHOPv8MRzfyD8}DEhF|AurDC{(x2%foX!Q7Huunu9D@g#EQ zBu7=8Qxd`p66Yk{?Zzm&-|01WzHCI^$D-GFN`P39A*F-1#mM0R^{t6P1udnMaNmbg zvZe(;WRJK1;9)1G#T|I+Y4IzBWLo?L0W?r}zOeE` zHmqOs*cY&F$5X?aL`YzL8v)LZ1w+$#b4PI?Mv9X;H=v*asSrd~;erJ04U)L|*~Q`g z*u9e<7c1UZ3F_eyr0M$W0u%;S$E$=TQ-H}?BC35x+01ijV=fP8`v#7xp+jdt0#&%l z5SiOSsjXM&XaifTkn7>xHr(M(mf4#SmX=&Db+z+*k^Byk-+cb+J3QPppIHgTv>v9% zRcpK^;rfFQ_*1|mV<-V0?WwGZ!$@wo|5w+PPoK8ChGuZGh7mtxcg-a@hiBKEi>L0I zdO4ZLno@%RfNV!3GBBH75aILHL2t2JeoV&gw=uUO%wf(@VE@hit>g_|JX^OXeXyTN*TYd2Kv!ovMZwt3Gjb` zaf#C;IcZf10Lkhee#q{guW|M+^B+%p{_`}RjLX{y$oz-)33n(QN=Bq6zc+knEw*Wd zY_NJ9iE3jPx$s}4!H3~*APZYizdQOOT3{@=QB&|ia^#pi7$dMGG)Oe1AYN#%0R=zg z`JK;4-p(Z7|0Ys+6V5jT6}tdQ7Ap858x@~MG%B{?sZp^NAwk8<2oM#sph_mqlVLij zfNxo(@L+tZd?5@KaIg`t<7~7~{1^BXq|Kq)ii@xW5(rAod;hAJKvFOCzEcG}t->m1 z+5sT;_QhbvtNbSJp5s}LXIX3t9v78#)r^-r-<+5-gov@+hjHe;X8zIi=duDY z0_EwopC{z}hy#$i)q};4n-&zB1*8sUMM-#wS<&DM=UeNO+PV^w-gNlzoXYh$uZOk= zB%|DScmnO3U&mI)1Z`+Wq3S*GE10|#vbdvLSsn*`KmGJ5=v&UeX+ZyRt=&^O03~Zc z^Fww|9lk*K)IoUao^m53Jv9&k_S8Mn5l&B)0Kn~W zUNe5j=7XO=#3i9596uPd>=xB=Gze3ps}CPW&1JDAfzW>~W9`IJ|wbG8ICvYkog@bSg9|6@tS!J2tg1z;I}Q&mH_G zp2yXC*{iGtsD|%v?g%x*Ea(puc2%4Mp~(V%7pdXDD(?7Yr;U!skTt8%_#qn|1JPzK zd*58|^w~cVl0Hi!z&>k7CXo^n!o)dPp8r)qhB<&d(-#na$Ohzk)J8zUDL`g8fLwwA zJbT$UsTZs*!XQc?$z|VTkH?$Pdn)ob=cr8%k}}Tev~B-ELsNHEm>@G=NZYgyFd=C* zn9TTHEdPPwd&zIb$sMSN=A$)x&YuJ5)r`I6=bf$7vm*%~c&DNtK+nXlZO4BKQLUVR z`L&)-5JO39DQBE`^>C`;#A`X8NUqIYeH?^UGwXBQq{8t#6sxZ)^<$6PAXft#)hm~> z>*K-FX0<^FHQ%W^wmbM=aY7j_hLVSPV_i<+!8kN94d>p1XAo zp6mgZrZ&#yYz4yfNUE3iX|G-5o`-!RELZY;-|Jov}` z)uwX%pUA_D*R3gV9Gx43{)AQIhn)qm7r1L|ZD7w5Qe#Cqi+#u7g-IyZ@S-L3E^zPE zHmOGY+v%IKquGuk_Te!N00acWix>Ve?03RQl*2^d`#ndD^Hzp8GCsSQJT|F>Lsh~) zXoI^K-fgqH>}%bZ_ONodZWl!0qzQ$lFgfflVv>VvrsM>%Vl)gVxubvKm&mRGXiH=l zt|6G%akObKsN`x1oG6`UmiG#HVcO;_lii5}rr!A)e}?&QLcB;rOjetD^PV$(&&@2U z9{Vo(4u``WVHJ}~X2JvQq>?0TY}hS~!RB@3#^xM%>$7Nl%VV;+1zh@;LGh11fp#y- z7R)C7yrko9y$dNtqJxTR7kmyHhueG9>ks-C$?=c7wFPf==%0BzqotH9w}60!f3!n4 zuq1q$8ULwp>XC|^Fl=AUb>&b`rvpZmS0FV|P=l>>@uuS8In~h)ulxL%DlS>yZ+hyj$m;ZjwZ60rywrZ9U0DVKz_6U0Rz*7w>N8eo{a|v=9nI!FHlik=#Fc1 zS~xsGc8XHwu$cHl;yVa*4-HoM;ZzhC^3q$Q%SQ}{sV3OB=H5u>)Ck85*Dj573xqKf z@m%%Pd@!ljWg^CxI!q43YeEmciC7p=0*+9VTW&7cTgcOg(N=41=hrp8m%O zbWW%`a$`eI=um3x(^`pj=B8alAX}zx zzIT$9r*C7Au_l(lmvIT=!XB7XC`wJ0j#Fgh4CNTC&W9D3WPPem-s2uZt1eNg))_`n z%(P~g0eFuZf63>)xV0hl5rh6YNJ{~V=QH;;dOUyTzA+yih4n<5Ytyv1VOSUlDFMa@ z6Iu=-Nq~yTJwjIv=!lB@dQ?-cKD->nyBX+E4_pWIA!-xLgZZ3d7S0akq49A*CA2cA z7Pke~Sp+Jq{59o4Q0+R9<+_#|y*c3;v^7-*s&16*+5?hR1uQ2t zj&UgxPeKUY5|T}uF1jNxAsIhONr{i~M#8Dz-ew${EPM=SynIfRb=YYT5W6V0%2L2outJmNQD(_$b0Klx)g4eV0wox{%fj zzrv)TXA=rZj82+}wRZN&X08o$@>KVu*EC`;223Q`UJZN_wq^L`aQ!$~KMv3jxG-T{ zfjokFm*LP7_cl!b*bk)@wP0e#ZSh`M788o2NPWOwvp7=;5CaG;Pl3&C+8CKjR;K^vzB`*3^lx5?DM9zp|tYvwg*%geBAl{M62C>`Gctib~*(a5k$q?NFn7QKtZ7lwApV z$~2#0tw~&%3H%l2niH=wCrqQv<4mGMSonqhUm?GeEpkw#qoWQdp>94GB zss6gdAb@w_Hx1xQaGz-aYq9{WNC9|43c#b%0A^Lf{z~to&|iPBPf)%MfH?x-fGhw@ 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ΝRueU|nlG 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

QQ1|GlK>YC-R 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