functions/Invoke-DbatoolsRenameHelper.ps1
function Invoke-DbatoolsRenameHelper { <# .SYNOPSIS Older dbatools command names have been changed. This script helps keep up. .DESCRIPTION Older dbatools command names have been changed. This script helps keep up. .PARAMETER InputObject A piped in object from Get-ChildItem .PARAMETER Encoding Specifies the file encoding. The default is UTF8. Valid values are: -- ASCII: Uses the encoding for the ASCII (7-bit) character set. -- BigEndianUnicode: Encodes in UTF-16 format using the big-endian byte order. -- Byte: Encodes a set of characters into a sequence of bytes. -- String: Uses the encoding type for a string. -- Unicode: Encodes in UTF-16 format using the little-endian byte order. -- UTF7: Encodes in UTF-7 format. -- UTF8: Encodes in UTF-8 format. -- Unknown: The encoding type is unknown or invalid. The data can be treated as binary. .PARAMETER EnableException By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message. This avoids overwhelming you with "sea of red" exceptions, but is inconvenient because it basically disables advanced scripting. Using this switch turns this "nice by default" feature off and enables you to catch exceptions with your own try/catch. .PARAMETER WhatIf Shows what would happen if the command were to run. No actions are actually performed .PARAMETER Confirm Prompts you for confirmation before executing any changing operations within the command .NOTES Tags: Module Author: Chrissy LeMaire (@cl), netnerds.net Website: https://dbatools.io Copyright: (c) 2018 by dbatools, licensed under MIT License: MIT https://opensource.org/licenses/MIT .LINK https://dbatools.io/Invoke-DbatoolsRenameHelper .EXAMPLE PS C:\> Get-ChildItem C:\temp\ps\*.ps1 -Recurse | Invoke-DbatoolsRenameHelper Checks to see if any ps1 file in C:\temp\ps matches an old command name. If so, then the command name within the text is updated and the resulting changes are written to disk in UTF-8. .EXAMPLE PS C:\> Get-ChildItem C:\temp\ps\*.ps1 -Recurse | Invoke-DbatoolsRenameHelper -Encoding Ascii -WhatIf Shows what would happen if the command would run. If the command would run and there were matches, the resulting changes would be written to disk as Ascii encoded. #> [CmdletBinding(SupportsShouldProcess)] param ( [parameter(Mandatory, ValueFromPipeline)] [System.IO.FileInfo[]]$InputObject, [ValidateSet('ASCII', 'BigEndianUnicode', 'Byte', 'String', 'Unicode', 'UTF7', 'UTF8', 'Unknown')] [string]$Encoding = 'UTF8', [switch]$EnableException ) begin { $paramrenames = @{ ExcludeAllSystemDb = 'ExcludeSystem' ExcludeAllUserDb = 'ExcludeUser' 'Invoke-Sqlcmd2' = 'Invoke-DbaQuery' NetworkShare = 'SharedPath' NoDatabases = 'ExcludeDatabases' NoDisabledJobs = 'ExcludeDisabledJobs' NoJobs = 'ExcludeJobs' NoJobSteps = 'ExcludeJobSteps' NoQueryTextColumn = 'ExcludeQueryTextColumn' NoSystem = 'ExcludeSystemLogins' NoSystemDb = 'ExcludeSystem' NoSystemLogins = 'ExcludeSystemLogins' NoSystemObjects = 'ExcludeSystemObjects' NoSystemSpid = 'ExcludeSystemSpids' UseLastBackups = 'UseLastBackup' PasswordExpiration = 'PasswordExpirationEnabled' PasswordPolicy = 'PasswordPolicyEnforced' ServerInstance = 'SqlInstance' } $commandrenames = @{ 'Find-DbaDuplicateIndex' = 'Find-DbaDbDuplicateIndex' 'Find-DbaDisabledIndex' = 'Find-DbaDbDisabledIndex' 'Add-DbaRegisteredServer' = 'Add-DbaRegServer' 'Add-DbaRegisteredServerGroup' = 'Add-DbaRegServerGroup' 'Backup-DbaDatabaseCertificate' = 'Backup-DbaDbCertificate' 'Backup-DbaDatabaseMasterKey' = 'Backup-DbaDbMasterKey' 'Clear-DbaSqlConnectionPool' = 'Clear-DbaConnectionPool' 'Connect-DbaServer' = 'Connect-DbaInstance' 'Copy-DbaAgentCategory' = 'Copy-DbaAgentJobCategory' 'Copy-DbaAgentProxyAccount' = 'Copy-DbaAgentProxy' 'Copy-DbaAgentSharedSchedule' = 'Copy-DbaAgentSchedule' 'Copy-DbaCentralManagementServer' = 'Copy-DbaRegServer' 'Copy-DbaDatabaseAssembly' = 'Copy-DbaDbAssembly' 'Copy-DbaDatabaseMail' = 'Copy-DbaDbMail' 'Copy-DbaExtendedEvent' = 'Copy-DbaXESession' 'Copy-DbaQueryStoreConfig' = 'Copy-DbaDbQueryStoreOption' 'Copy-DbaSqlDataCollector' = 'Copy-DbaDataCollector' 'Copy-DbaSqlPolicyManagement' = 'Copy-DbaPolicyManagement' 'Copy-DbaSqlServerAgent' = 'Copy-DbaAgentServer' 'Copy-DbaTableData' = 'Copy-DbaDbTableData' 'Copy-SqlAgentCategory' = 'Copy-DbaAgentJobCategory' 'Copy-SqlAlert' = 'Copy-DbaAgentAlert' 'Copy-SqlAudit' = 'Copy-DbaInstanceAudit' 'Copy-SqlAuditSpecification' = 'Copy-DbaInstanceAuditSpecification' 'Copy-SqlBackupDevice' = 'Copy-DbaBackupDevice' 'Copy-SqlCentralManagementServer' = 'Copy-DbaRegServer' 'Copy-SqlCredential' = 'Copy-DbaCredential' 'Copy-SqlCustomError' = 'Copy-DbaCustomError' 'Copy-SqlDatabase' = 'Copy-DbaDatabase' 'Copy-SqlDatabaseAssembly' = 'Copy-DbaDbAssembly' 'Copy-SqlDatabaseMail' = 'Copy-DbaDbMail' 'Copy-SqlDataCollector' = 'Copy-DbaDataCollector' 'Copy-SqlEndpoint' = 'Copy-DbaEndpoint' 'Copy-SqlExtendedEvent' = 'Copy-DbaXESession' 'Copy-SqlJob' = 'Copy-DbaAgentJob' 'Copy-SqlJobServer' = 'Copy-SqlInstanceAgent' 'Copy-SqlLinkedServer' = 'Copy-DbaLinkedServer' 'Copy-SqlLogin' = 'Copy-DbaLogin' 'Copy-SqlOperator' = 'Copy-DbaAgentOperator' 'Copy-SqlPolicyManagement' = 'Copy-DbaPolicyManagement' 'Copy-SqlProxyAccount' = 'Copy-DbaAgentProxy' 'Copy-SqlResourceGovernor' = 'Copy-DbaResourceGovernor' 'Copy-SqlInstanceAgent' = 'Copy-DbaAgentServer' 'Copy-SqlInstanceTrigger' = 'Copy-DbaInstanceTrigger' 'Copy-SqlSharedSchedule' = 'Copy-DbaAgentSchedule' 'Copy-SqlSpConfigure' = 'Copy-DbaSpConfigure' 'Copy-SqlSsisCatalog' = 'Copy-DbaSsisCatalog' 'Copy-SqlSysDbUserObjects' = 'Copy-DbaSysDbUserObject' 'Copy-SqlUserDefinedMessage' = 'Copy-SqlCustomError' 'Expand-DbaTLogResponsibly' = 'Expand-DbaDbLogFile' 'Expand-SqlTLogResponsibly' = 'Expand-DbaDbLogFile' 'Export-DbaDacpac' = 'Export-DbaDacPackage' 'Export-DbaRegisteredServer' = 'Export-DbaRegServer' 'Export-SqlLogin' = 'Export-DbaLogin' 'Export-SqlSpConfigure' = 'Export-DbaSpConfigure' 'Export-SqlUser' = 'Export-DbaUser' 'Find-DbaDatabaseGrowthEvent' = 'Find-DbaDbGrowthEvent' 'Find-SqlDuplicateIndex' = 'Find-DbaDbDuplicateIndex' 'Find-SqlUnusedIndex' = 'Find-DbaDbUnusedIndex' 'Get-DbaRegServerName' = 'Get-DbaRegServer' 'Get-DbaConfig' = 'Get-DbatoolsConfig' 'Get-DbaConfigValue' = 'Get-DbatoolsConfigValue' 'Get-DbaDatabaseAssembly' = 'Get-DbaDbAssembly' 'Get-DbaDatabaseCertificate' = 'Get-DbaDbCertificate' 'Get-DbaDatabaseEncryption' = 'Get-DbaDbEncryption' 'Get-DbaDatabaseFile' = 'Get-DbaDbFile' 'Get-DbaDatabaseFreeSpace' = 'Get-DbaDbSpace' 'Get-DbaDatabaseMasterKey' = 'Get-DbaDbMasterKey' 'Get-DbaDatabasePartitionFunction' = 'Get-DbaDbPartitionFunction' 'Get-DbaDatabasePartitionScheme' = 'Get-DbaDbPartitionScheme' 'Get-DbaDatabaseSnapshot' = 'Get-DbaDbSnapshot' 'Get-DbaDatabaseSpace' = 'Get-DbaDbSpace' 'Get-DbaDatabaseState' = 'Get-DbaDbState' 'Get-DbaDatabaseUdf' = 'Get-DbaDbUdf' 'Get-DbaDatabaseUser' = 'Get-DbaDbUser' 'Get-DbaDatabaseView' = 'Get-DbaDbView' 'Get-DbaDbQueryStoreOptions' = 'Get-DbaDbQueryStoreOption' 'Get-DbaDistributor' = 'Get-DbaRepDistributor' 'Get-DbaInstance' = 'Connect-DbaInstance' 'Get-DbaJobCategory' = 'Get-DbaAgentJobCategory' 'Get-DbaLog' = 'Get-DbaErrorLog' 'Get-DbaLogShippingError' = 'Get-DbaDbLogShipError' 'Get-DbaOrphanUser' = 'Get-DbaDbOrphanUser' 'Get-DbaPolicy' = 'Get-DbaPbmPolicy' 'Get-DbaQueryStoreConfig' = 'Get-DbaDbQueryStoreOption' 'Get-DbaRegisteredServerGroup' = 'Get-DbaRegServerGroup' 'Get-DbaRegisteredServerStore' = 'Get-DbaRegServerStore' 'Get-DbaRestoreHistory' = 'Get-DbaDbRestoreHistory' 'Get-DbaRoleMember' = 'Get-DbaDbRoleMember' 'Get-DbaSqlBuildReference' = 'Get-DbaBuild' 'Get-DbaSqlFeature' = 'Get-DbaFeature' 'Get-DbaSqlInstanceProperty' = 'Get-DbaInstanceProperty' 'Get-DbaSqlInstanceUserOption' = 'Get-DbaInstanceUserOption' 'Get-DbaSqlManagementObject' = 'Get-DbaManagementObject' 'Get-DbaSqlModule' = 'Get-DbaModule' 'Get-DbaSqlProductKey' = 'Get-DbaProductKey' 'Get-DbaSqlRegistryRoot' = 'Get-DbaRegistryRoot' 'Get-DbaSqlService' = 'Get-DbaService' 'Get-DbaTable' = 'Get-DbaDbTable' 'Get-DbaTraceFile' = 'Get-DbaTrace' 'Get-DbaUserLevelPermission' = 'Get-DbaUserPermission' 'Get-DbaXEventSession' = 'Get-DbaXESession' 'Get-DbaXEventSessionTarget' = 'Get-DbaXESessionTarget' 'Get-DiskSpace' = 'Get-DbaDiskSpace' 'Get-SqlMaxMemory' = 'Get-DbaMaxMemory' 'Get-SqlRegisteredServerName' = 'Get-DbaRegServer' 'Get-SqlInstanceKey' = 'Get-DbaProductKey' 'Import-DbaCsvToSql' = 'Import-DbaCsv' 'Import-DbaRegisteredServer' = 'Import-DbaRegServer' 'Import-SqlSpConfigure' = 'Import-DbaSpConfigure' 'Install-SqlWhoIsActive' = 'Install-DbaWhoIsActive' 'Invoke-DbaCmd' = 'Invoke-DbaQuery' 'Invoke-DbaDatabaseClone' = 'Invoke-DbaDbClone' 'Invoke-DbaDatabaseShrink' = 'Invoke-DbaDbShrink' 'Invoke-DbaDatabaseUpgrade' = 'Invoke-DbaDbUpgrade' 'Invoke-DbaLogShipping' = 'Invoke-DbaDbLogShipping' 'Invoke-DbaLogShippingRecovery' = 'Invoke-DbaDbLogShipRecovery' 'Invoke-DbaSqlQuery' = 'Invoke-DbaQuery' 'Move-DbaRegisteredServer' = 'Move-DbaRegServer' 'Move-DbaRegisteredServerGroup' = 'Move-DbaRegServerGroup' 'New-DbaDatabaseCertificate' = 'New-DbaDbCertificate' 'New-DbaDatabaseMasterKey' = 'New-DbaDbMasterKey' 'New-DbaDatabaseSnapshot' = 'New-DbaDbSnapshot' 'New-DbaPublishProfile' = 'New-DbaDacProfile' 'New-DbaSqlConnectionString' = 'New-DbaConnectionString' 'New-DbaSqlConnectionStringBuilder' = 'New-DbaConnectionStringBuilder' 'New-DbaSqlDirectory' = 'New-DbaDirectory' 'Out-DbaDataTable' = 'ConvertTo-DbaDataTable' 'Publish-DbaDacpac' = 'Publish-DbaDacPackage' 'Read-DbaXEventFile' = 'Read-DbaXEFile' 'Register-DbaConfig' = 'Register-DbatoolsConfig' 'Remove-DbaDatabaseCertificate' = 'Remove-DbaDbCertificate' 'Remove-DbaDatabaseMasterKey' = 'Remove-DbaDbMasterKey' 'Remove-DbaDatabaseSnapshot' = 'Remove-DbaDbSnapshot' 'Remove-DbaOrphanUser' = 'Remove-DbaDbOrphanUser' 'Remove-DbaRegisteredServer' = 'Remove-DbaRegServer' 'Remove-DbaRegisteredServerGroup' = 'Remove-DbaRegServerGroup' 'Remove-SqlDatabaseSafely' = 'Remove-DbaDatabaseSafely' 'Remove-SqlOrphanUser' = 'Remove-DbaDbOrphanUser' 'Repair-DbaOrphanUser' = 'Repair-DbaDbOrphanUser' 'Repair-SqlOrphanUser' = 'Repair-DbaDbOrphanUser' 'Reset-SqlAdmin' = 'Reset-DbaAdmin' 'Reset-SqlSaPassword' = 'Reset-SqlAdmin' 'Restart-DbaSqlService' = 'Restart-DbaService' 'Restore-DbaDatabaseCertificate' = 'Restore-DbaDbCertificate' 'Restore-DbaDatabaseSnapshot' = 'Restore-DbaDbSnapshot' 'Restore-HallengrenBackup' = 'Restore-SqlBackupFromDirectory' 'Set-DbaConfig' = 'Set-DbatoolsConfig' 'Get-DbaBackupHistory' = 'Get-DbaDbBackupHistory' 'Set-DbaDatabaseOwner' = 'Set-DbaDbOwner' 'Set-DbaDatabaseState' = 'Set-DbaDbState' 'Set-DbaDbQueryStoreOptions' = 'Set-DbaDbQueryStoreOption' 'Set-DbaJobOwner' = 'Set-DbaAgentJobOwner' 'Set-DbaQueryStoreConfig' = 'Set-DbaDbQueryStoreOption' 'Set-DbaTempDbConfiguration' = 'Set-DbaTempdbConfig' 'Set-SqlMaxMemory' = 'Set-DbaMaxMemory' 'Set-SqlTempDbConfiguration' = 'Set-DbaTempdbConfig' 'Show-DbaDatabaseList' = 'Show-DbaDbList' 'Show-SqlDatabaseList' = 'Show-DbaDbList' 'Show-SqlMigrationConstraint' = 'Test-SqlMigrationConstraint' 'Show-SqlInstanceFileSystem' = 'Show-DbaInstanceFileSystem' 'Show-SqlWhoIsActive' = 'Invoke-DbaWhoIsActive' 'Start-DbaSqlService' = 'Start-DbaService' 'Start-SqlMigration' = 'Start-DbaMigration' 'Stop-DbaSqlService' = 'Stop-DbaService' 'Sync-DbaSqlLoginPermission' = 'Sync-DbaLoginPermission' 'Sync-SqlLoginPermissions' = 'Sync-DbaLoginPermission' 'Test-DbaDatabaseCollation' = 'Test-DbaDbCollation' 'Test-DbaDatabaseCompatibility' = 'Test-DbaDbCompatibility' 'Test-DbaDatabaseOwner' = 'Test-DbaDbOwner' 'Test-DbaDbVirtualLogFile' = 'Measure-DbaDbVirtualLogFile' 'Test-DbaFullRecoveryModel' = 'Test-DbaDbRecoveryModel' 'Test-DbaJobOwner' = 'Test-DbaAgentJobOwner' 'Test-DbaLogShippingStatus' = 'Test-DbaDbLogShipStatus' 'Test-DbaRecoveryModel' = 'Test-DbaDbRecoveryModel' 'Test-DbaSqlBuild' = 'Test-DbaBuild' 'Test-DbaSqlManagementObject' = 'Test-DbaManagementObject' 'Test-DbaSqlPath' = 'Test-DbaPath' 'Test-DbaTempDbConfiguration' = 'Test-DbaTempdbConfig' 'Test-DbaValidLogin' = 'Test-DbaWindowsLogin' 'Test-DbaVirtualLogFile' = 'Measure-DbaDbVirtualLogFile' 'Test-SqlConnection' = 'Test-DbaConnection' 'Test-SqlDiskAllocation' = 'Test-DbaDiskAllocation' 'Test-SqlMigrationConstraint' = 'Test-DbaMigrationConstraint' 'Test-SqlNetworkLatency' = 'Test-DbaNetworkLatency' 'Test-SqlPath' = 'Test-DbaPath' 'Test-SqlTempDbConfiguration' = 'Test-DbaTempdbConfig' 'Update-DbaSqlServiceAccount' = 'Update-DbaServiceAccount' 'Watch-DbaXEventSession' = 'Watch-DbaXESession' 'Watch-SqlDbLogin' = 'Watch-DbaDbLogin' 'Add-DbaCmsRegServer' = 'Add-DbaRegServer' 'Add-DbaCmsRegServerGroup' = 'Add-DbaRegServerGroup' 'Copy-DbaCmsRegServer' = 'Copy-DbaRegServer' 'Export-DbaCmsRegServer' = 'Export-DbaRegServer' 'Get-DbaCmsRegistryRoot' = 'Get-DbaRegistryRoot' 'Get-DbaCmsRegServer' = 'Get-DbaRegServer' 'Get-DbaCmsRegServerGroup' = 'Get-DbaRegServerGroup' 'Get-DbaCmsRegServerStore' = 'Get-DbaRegServerStore' 'Import-DbaCmsRegServer' = 'Import-DbaRegServer' 'Move-DbaCmsRegServer' = 'Move-DbaRegServer' 'Move-DbaCmsRegServerGroup' = 'Move-DbaRegServerGroup' 'Remove-DbaCmsRegServer' = 'Remove-DbaRegServer' 'Remove-DbaCmsRegServerGroup' = 'Remove-DbaRegServerGroup' 'Copy-DbaServerAuditSpecification' = 'Copy-DbaInstanceAuditSpecification' 'Copy-DbaServerAudit' = 'Copy-DbaInstanceAudit' 'Copy-DbaServerTrigger' = 'Copy-DbaInstanceTrigger' 'Test-DbaServerName' = 'Test-DbaInstanceName' 'Test-DbaInstanceName' = 'Repair-DbaInstanceName' 'Get-DbaServerTrigger' = 'Get-DbaInstanceTrigger' 'Get-DbaServerAudit' = 'Get-DbaInstanceAudit' 'Get-DbaServerAuditSpecification' = 'Get-DbaInstanceAuditSpecification' 'Get-DbaServerInstallDate' = 'Get-DbaInstanceInstallDate' 'Show-DbaServerFileSystem' = 'Show-DbaInstanceFileSystem' 'Install-DbaWatchUpdate' = 'Install-DbatoolsWatchUpdate' 'Uninstall-DbaWatchUpdate' = 'Uninstall-DbatoolsWatchUpdate' } } process { foreach ($fileobject in $InputObject) { $file = $fileobject.FullName foreach ($name in $paramrenames.GetEnumerator()) { if ((Select-String -Pattern $name.Key -Path $file)) { if ($Pscmdlet.ShouldProcess($file, "Replacing $($name.Key) with $($name.Value)")) { $content = (Get-Content -Path $file -Raw).Replace($name.Key, $name.Value).Trim() Set-Content -Path $file -Encoding $Encoding -Value $content [pscustomobject]@{ Path = $file Pattern = $name.Key ReplacedWith = $name.Value } } } } foreach ($name in $commandrenames.GetEnumerator()) { if ((Select-String -Pattern "\b$($name.Key)\b" -Path $file)) { if ($Pscmdlet.ShouldProcess($file, "Replacing $($name.Key) with $($name.Value)")) { $content = ((Get-Content -Path $file -Raw) -Replace "\b$($name.Key)\b", $name.Value).Trim() Set-Content -Path $file -Encoding $Encoding -Value $content [pscustomobject]@{ Path = $file Pattern = $name.Key ReplacedWith = $name.Value } } } } } } } # SIG # Begin signature block # MIIjZQYJKoZIhvcNAQcCoIIjVjCCI1ICAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUEprDiKO1uoODmlUKcsb5dsm4 # w/2ggh2DMIIFGjCCBAKgAwIBAgIQAwW7hiGwoWNfv96uEgTnbTANBgkqhkiG9w0B # AQsFADByMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYD # VQQLExB3d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFz # c3VyZWQgSUQgQ29kZSBTaWduaW5nIENBMB4XDTIwMDUxMjAwMDAwMFoXDTIzMDYw # ODEyMDAwMFowVzELMAkGA1UEBhMCVVMxETAPBgNVBAgTCFZpcmdpbmlhMQ8wDQYD # VQQHEwZWaWVubmExETAPBgNVBAoTCGRiYXRvb2xzMREwDwYDVQQDEwhkYmF0b29s # czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALy/Y3ur47++CAG2mOa1 # 6h8WjXjSTvcldDmw4PpAvOOCKNr6xyhg/FOYVIiaeq2N9kVaa5wBawOIxVWuj/rI # aOxeYklQDugPkGUx0Ap+6KrjnnxgE6ONzQGnc1tjlka6N0KazD2WodEBWKXo/Vmk # C/cP9PJVWroCMOwlj7GtEv2IxzxikPm2ICP5KxFK5PmrA+5bzcHJEeqRonlgMn9H # zZkqHr0AU1egnfEIlH4/v6lry1t1KBF/bnDhl9g/L0icS+ychFVkx4OOO4a+qvT8 # xqvvdQjv3PQ1hbzTI3/tXOWu9XxGeeIdZjaJv16FmWKCnloSp1Xb9cVU9XhIpomz # xH0CAwEAAaOCAcUwggHBMB8GA1UdIwQYMBaAFFrEuXsqCqOl6nEDwGD5LfZldQ5Y # MB0GA1UdDgQWBBTwwKD7tgOAQ077Cdfd33qxy+OeIjAOBgNVHQ8BAf8EBAMCB4Aw # EwYDVR0lBAwwCgYIKwYBBQUHAwMwdwYDVR0fBHAwbjA1oDOgMYYvaHR0cDovL2Ny # bDMuZGlnaWNlcnQuY29tL3NoYTItYXNzdXJlZC1jcy1nMS5jcmwwNaAzoDGGL2h0 # dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9zaGEyLWFzc3VyZWQtY3MtZzEuY3JsMEwG # A1UdIARFMEMwNwYJYIZIAYb9bAMBMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3 # LmRpZ2ljZXJ0LmNvbS9DUFMwCAYGZ4EMAQQBMIGEBggrBgEFBQcBAQR4MHYwJAYI # KwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBOBggrBgEFBQcwAoZC # aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0U0hBMkFzc3VyZWRJ # RENvZGVTaWduaW5nQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQAD # ggEBAI/N+XCVDB/WNqQSrKY85zScHGJjsXgXByYvsitMuG5vo+ODhlh+ILv0CTPl # o2Wo75MnSSqCWR+c6xyN8pDPMPBxm2EtVmXzeKDMIudYyjxmT8PZ3hktj16wXCo8 # 2+65UOse+CHsfoMn/M9WbkQ4rSyWNPRRDodATC2i4flLyeuoIZnyMoz/4N4mWb6s # IAYZ/tNXzm6qwCfkmoMSf9tcTUCXIbVDliJcUZLlJ/SpLg2KzDu9GtnpBzg3AG3L # hwBiPMM8OLGitYjz4VU5RYox0vu1XyLf3f9fKTCxxwKy0EKntWdJk37i+DOMQlCq # Xm5B/KyNxb2utv+qLGlyw9MphEcwggUwMIIEGKADAgECAhAECRgbX9W7ZnVTQ7Vv # lVAIMA0GCSqGSIb3DQEBCwUAMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdp # Q2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNVBAMTG0Rp # Z2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0xMzEwMjIxMjAwMDBaFw0yODEw # MjIxMjAwMDBaMHIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMx # GTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xMTAvBgNVBAMTKERpZ2lDZXJ0IFNI # QTIgQXNzdXJlZCBJRCBDb2RlIFNpZ25pbmcgQ0EwggEiMA0GCSqGSIb3DQEBAQUA # A4IBDwAwggEKAoIBAQD407Mcfw4Rr2d3B9MLMUkZz9D7RZmxOttE9X/lqJ3bMtdx # 6nadBS63j/qSQ8Cl+YnUNxnXtqrwnIal2CWsDnkoOn7p0WfTxvspJ8fTeyOU5JEj # lpB3gvmhhCNmElQzUHSxKCa7JGnCwlLyFGeKiUXULaGj6YgsIJWuHEqHCN8M9eJN # YBi+qsSyrnAxZjNxPqxwoqvOf+l8y5Kh5TsxHM/q8grkV7tKtel05iv+bMt+dDk2 # DZDv5LVOpKnqagqrhPOsZ061xPeM0SAlI+sIZD5SlsHyDxL0xY4PwaLoLFH3c7y9 # hbFig3NBggfkOItqcyDQD2RzPJ6fpjOp/RnfJZPRAgMBAAGjggHNMIIByTASBgNV # HRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEF # BQcDAzB5BggrBgEFBQcBAQRtMGswJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRp # Z2ljZXJ0LmNvbTBDBggrBgEFBQcwAoY3aHR0cDovL2NhY2VydHMuZGlnaWNlcnQu # Y29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNydDCBgQYDVR0fBHoweDA6oDig # NoY0aHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9v # dENBLmNybDA6oDigNoY0aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0 # QXNzdXJlZElEUm9vdENBLmNybDBPBgNVHSAESDBGMDgGCmCGSAGG/WwAAgQwKjAo # BggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzAKBghghkgB # hv1sAzAdBgNVHQ4EFgQUWsS5eyoKo6XqcQPAYPkt9mV1DlgwHwYDVR0jBBgwFoAU # Reuir/SSy4IxLVGLp6chnfNtyA8wDQYJKoZIhvcNAQELBQADggEBAD7sDVoks/Mi # 0RXILHwlKXaoHV0cLToaxO8wYdd+C2D9wz0PxK+L/e8q3yBVN7Dh9tGSdQ9RtG6l # jlriXiSBThCk7j9xjmMOE0ut119EefM2FAaK95xGTlz/kLEbBw6RFfu6r7VRwo0k # riTGxycqoSkoGjpxKAI8LpGjwCUR4pwUR6F6aGivm6dcIFzZcbEMj7uo+MUSaJ/P # QMtARKUT8OZkDCUIQjKyNookAv4vcn4c10lFluhZHen6dGRrsutmQ9qzsIzV6Q3d # 9gEgzpkxYz0IGhizgZtPxpMQBvwHgfqL2vmCSfdibqFT+hKUGIUukpHqaGxEMrJm # oecYpJpkUe8wggWxMIIEmaADAgECAhABJAr7HjgLihbxS3Gd9NPAMA0GCSqGSIb3 # DQEBDAUAMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAX # BgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNVBAMTG0RpZ2lDZXJ0IEFzc3Vy # ZWQgSUQgUm9vdCBDQTAeFw0yMjA2MDkwMDAwMDBaFw0zMTExMDkyMzU5NTlaMGIx # CzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 # dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBH # NDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL/mkHNo3rvkXUo8MCIw # aTPswqclLskhPfKK2FnC4SmnPVirdprNrnsbhA3EMB/zG6Q4FutWxpdtHauyefLK # EdLkX9YFPFIPUh/GnhWlfr6fqVcWWVVyr2iTcMKyunWZanMylNEQRBAu34LzB4Tm # dDttceItDBvuINXJIB1jKS3O7F5OyJP4IWGbNOsFxl7sWxq868nPzaw0QF+xembu # d8hIqGZXV59UWI4MK7dPpzDZVu7Ke13jrclPXuU15zHL2pNe3I6PgNq2kZhAkHnD # eMe2scS1ahg4AxCN2NQ3pC4FfYj1gj4QkXCrVYJBMtfbBHMqbpEBfCFM1LyuGwN1 # XXhm2ToxRJozQL8I11pJpMLmqaBn3aQnvKFPObURWBf3JFxGj2T3wWmIdph2PVld # QnaHiZdpekjw4KISG2aadMreSx7nDmOu5tTvkpI6nj3cAORFJYm2mkQZK37AlLTS # YW3rM9nF30sEAMx9HJXDj/chsrIRt7t/8tWMcCxBYKqxYxhElRp2Yn72gLD76GSm # M9GJB+G9t+ZDpBi4pncB4Q+UDCEdslQpJYls5Q5SUUd0viastkF13nqsX40/ybzT # QRESW+UQUOsxxcpyFiIJ33xMdT9j7CFfxCBRa2+xq4aLT8LWRV+dIPyhHsXAj6Kx # fgommfXkaS+YHS312amyHeUbAgMBAAGjggFeMIIBWjAPBgNVHRMBAf8EBTADAQH/ # MB0GA1UdDgQWBBTs1+OC0nFdZEzfLmc/57qYrhwPTzAfBgNVHSMEGDAWgBRF66Kv # 9JLLgjEtUYunpyGd823IDzAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYB # BQUHAwgweQYIKwYBBQUHAQEEbTBrMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5k # aWdpY2VydC5jb20wQwYIKwYBBQUHMAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0 # LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcnQwRQYDVR0fBD4wPDA6oDig # NoY0aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9v # dENBLmNybDAgBgNVHSAEGTAXMAgGBmeBDAEEAjALBglghkgBhv1sBwEwDQYJKoZI # hvcNAQEMBQADggEBAJoWAqUB74H7DbRYsnitqCMZ2XM32mCeUdfL+C9AuaMffEBO # Mz6QPOeJAXWF6GJ7HVbgcbreXsY3vHlcYgBN+El6UU0GMvPF0gAqJyDqiS4VOeAs # Pvh1fCyCQWE1DyPQ7TWV0oiVKUPL4KZYEHxTjp9FySA3FMDtGbp+dznSVJbHphHf # NDP2dVJCSxydjZbVlWxHEhQkXyZB+hpGvd6w5ZFHA6wYCMvL22aJfyucZb++N06+ # LfOdSsPMzEdeyJWVrdHLuyoGIPk/cuo260VyknopexQDPPtN1khxehARigh0zWwb # BFzSipUDdlFQU9Yu90pGw64QLHFMsIe2JzdEYEQwggauMIIElqADAgECAhAHNje3 # JFR82Ees/ShmKl5bMA0GCSqGSIb3DQEBCwUAMGIxCzAJBgNVBAYTAlVTMRUwEwYD # VQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAf # BgNVBAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0yMjAzMjMwMDAwMDBa # Fw0zNzAzMjIyMzU5NTlaMGMxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2Vy # dCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0MDk2IFNI # QTI1NiBUaW1lU3RhbXBpbmcgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK # AoICAQDGhjUGSbPBPXJJUVXHJQPE8pE3qZdRodbSg9GeTKJtoLDMg/la9hGhRBVC # X6SI82j6ffOciQt/nR+eDzMfUBMLJnOWbfhXqAJ9/UO0hNoR8XOxs+4rgISKIhjf # 69o9xBd/qxkrPkLcZ47qUT3w1lbU5ygt69OxtXXnHwZljZQp09nsad/ZkIdGAHvb # REGJ3HxqV3rwN3mfXazL6IRktFLydkf3YYMZ3V+0VAshaG43IbtArF+y3kp9zvU5 # EmfvDqVjbOSmxR3NNg1c1eYbqMFkdECnwHLFuk4fsbVYTXn+149zk6wsOeKlSNbw # sDETqVcplicu9Yemj052FVUmcJgmf6AaRyBD40NjgHt1biclkJg6OBGz9vae5jtb # 7IHeIhTZgirHkr+g3uM+onP65x9abJTyUpURK1h0QCirc0PO30qhHGs4xSnzyqqW # c0Jon7ZGs506o9UD4L/wojzKQtwYSH8UNM/STKvvmz3+DrhkKvp1KCRB7UK/BZxm # SVJQ9FHzNklNiyDSLFc1eSuo80VgvCONWPfcYd6T/jnA+bIwpUzX6ZhKWD7TA4j+ # s4/TXkt2ElGTyYwMO1uKIqjBJgj5FBASA31fI7tk42PgpuE+9sJ0sj8eCXbsq11G # deJgo1gJASgADoRU7s7pXcheMBK9Rp6103a50g5rmQzSM7TNsQIDAQABo4IBXTCC # AVkwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUuhbZbU2FL3MpdpovdYxq # II+eyG8wHwYDVR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0PAQH/ # BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUFBwMIMHcGCCsGAQUFBwEBBGswaTAkBggr # BgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAChjVo # dHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0 # LmNydDBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5jb20v # RGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNybDAgBgNVHSAEGTAXMAgGBmeBDAEEAjAL # BglghkgBhv1sBwEwDQYJKoZIhvcNAQELBQADggIBAH1ZjsCTtm+YqUQiAX5m1tgh # QuGwGC4QTRPPMFPOvxj7x1Bd4ksp+3CKDaopafxpwc8dB+k+YMjYC+VcW9dth/qE # ICU0MWfNthKWb8RQTGIdDAiCqBa9qVbPFXONASIlzpVpP0d3+3J0FNf/q0+KLHqr # hc1DX+1gtqpPkWaeLJ7giqzl/Yy8ZCaHbJK9nXzQcAp876i8dU+6WvepELJd6f8o # VInw1YpxdmXazPByoyP6wCeCRK6ZJxurJB4mwbfeKuv2nrF5mYGjVoarCkXJ38SN # oOeY+/umnXKvxMfBwWpx2cYTgAnEtp/Nh4cku0+jSbl3ZpHxcpzpSwJSpzd+k1Os # Ox0ISQ+UzTl63f8lY5knLD0/a6fxZsNBzU+2QJshIUDQtxMkzdwdeDrknq3lNHGS # 1yZr5Dhzq6YBT70/O3itTK37xJV77QpfMzmHQXh6OOmc4d0j/R0o08f56PGYX/sr # 2H7yRp11LB4nLCbbbxV7HhmLNriT1ObyF5lZynDwN7+YAN8gFk8n+2BnFqFmut1V # wDophrCYoCvtlUG3OtUVmDG0YgkPCr2B2RP+v6TR81fZvAT6gt4y3wSJ8ADNXcL5 # 0CN/AAvkdgIm2fBldkKmKYcJRyvmfxqkhQ/8mJb2VVQrH4D6wPIOK+XW+6kvRBVK # 5xMOHds3OBqhK/bt1nz8MIIGxjCCBK6gAwIBAgIQCnpKiJ7JmUKQBmM4TYaXnTAN # BgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs # IEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0IFRydXN0ZWQgRzQgUlNBNDA5NiBTSEEy # NTYgVGltZVN0YW1waW5nIENBMB4XDTIyMDMyOTAwMDAwMFoXDTMzMDMxNDIzNTk1 # OVowTDELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMSQwIgYD # VQQDExtEaWdpQ2VydCBUaW1lc3RhbXAgMjAyMiAtIDIwggIiMA0GCSqGSIb3DQEB # AQUAA4ICDwAwggIKAoICAQC5KpYjply8X9ZJ8BWCGPQz7sxcbOPgJS7SMeQ8QK77 # q8TjeF1+XDbq9SWNQ6OB6zhj+TyIad480jBRDTEHukZu6aNLSOiJQX8Nstb5hPGY # Pgu/CoQScWyhYiYB087DbP2sO37cKhypvTDGFtjavOuy8YPRn80JxblBakVCI0Fa # +GDTZSw+fl69lqfw/LH09CjPQnkfO8eTB2ho5UQ0Ul8PUN7UWSxEdMAyRxlb4pgu # j9DKP//GZ888k5VOhOl2GJiZERTFKwygM9tNJIXogpThLwPuf4UCyYbh1RgUtwRF # 8+A4vaK9enGY7BXn/S7s0psAiqwdjTuAaP7QWZgmzuDtrn8oLsKe4AtLyAjRMruD # +iM82f/SjLv3QyPf58NaBWJ+cCzlK7I9Y+rIroEga0OJyH5fsBrdGb2fdEEKr7mO # CdN0oS+wVHbBkE+U7IZh/9sRL5IDMM4wt4sPXUSzQx0jUM2R1y+d+/zNscGnxA7E # 70A+GToC1DGpaaBJ+XXhm+ho5GoMj+vksSF7hmdYfn8f6CvkFLIW1oGhytowkGvu # b3XAsDYmsgg7/72+f2wTGN/GbaR5Sa2Lf2GHBWj31HDjQpXonrubS7LitkE956+n # GijJrWGwoEEYGU7tR5thle0+C2Fa6j56mJJRzT/JROeAiylCcvd5st2E6ifu/n16 # awIDAQABo4IBizCCAYcwDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwFgYD # VR0lAQH/BAwwCgYIKwYBBQUHAwgwIAYDVR0gBBkwFzAIBgZngQwBBAIwCwYJYIZI # AYb9bAcBMB8GA1UdIwQYMBaAFLoW2W1NhS9zKXaaL3WMaiCPnshvMB0GA1UdDgQW # BBSNZLeJIf5WWESEYafqbxw2j92vDTBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8v # Y3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRSU0E0MDk2U0hBMjU2 # VGltZVN0YW1waW5nQ0EuY3JsMIGQBggrBgEFBQcBAQSBgzCBgDAkBggrBgEFBQcw # AYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMFgGCCsGAQUFBzAChkxodHRwOi8v # Y2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRSU0E0MDk2U0hB # MjU2VGltZVN0YW1waW5nQ0EuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQANLSN0ptH1 # +OpLmT8B5PYM5K8WndmzjJeCKZxDbwEtqzi1cBG/hBmLP13lhk++kzreKjlaOU7Y # hFmlvBuYquhs79FIaRk4W8+JOR1wcNlO3yMibNXf9lnLocLqTHbKodyhK5a4m1Wp # Gmt90fUCCU+C1qVziMSYgN/uSZW3s8zFp+4O4e8eOIqf7xHJMUpYtt84fMv6XPfk # U79uCnx+196Y1SlliQ+inMBl9AEiZcfqXnSmWzWSUHz0F6aHZE8+RokWYyBry/J7 # 0DXjSnBIqbbnHWC9BCIVJXAGcqlEO2lHEdPu6cegPk8QuTA25POqaQmoi35komWU # EftuMvH1uzitzcCTEdUyeEpLNypM81zctoXAu3AwVXjWmP5UbX9xqUgaeN1Gdy4b # esAzivhKKIwSqHPPLfnTI/KeGeANlCig69saUaCVgo4oa6TOnXbeqXOqSGpZQ65f # 6vgPBkKd3wZolv4qoHRbY2beayy4eKpNcG3wLPEHFX41tOa1DKKZpdcVazUOhdbg # LMzgDCS4fFILHpl878jIxYxYaa+rPeHPzH0VrhS/inHfypex2EfqHIXgRU4SHBQp # WMxv03/LvsEOSm8gnK7ZczJZCOctkqEaEf4ymKZdK5fgi9OczG21Da5HYzhHF1tv # E9pqEG4fSbdEW7QICodaWQR2EaGndwITHDGCBUwwggVIAgEBMIGGMHIxCzAJBgNV # BAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp # Y2VydC5jb20xMTAvBgNVBAMTKERpZ2lDZXJ0IFNIQTIgQXNzdXJlZCBJRCBDb2Rl # IFNpZ25pbmcgQ0ECEAMFu4YhsKFjX7/erhIE520wCQYFKw4DAhoFAKB4MBgGCisG # AQQBgjcCAQwxCjAIoAKAAKECgAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw # HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFK64 # qYvBgPXSW3QyStOTZ/aGFVVKMA0GCSqGSIb3DQEBAQUABIIBACeapAuV0wAAJEME # pF2zQ5yIzSCUnCAH/GnwZLPzgrheUm0UlN1rn8Fm4OssJcVIIQgjIrS4B9kcNSuz # wtziHFnarGbFlUbVOevPq7ouulRGkqX1ZELCm2W0bv83hK4z8IWKbmaYkELHwIy9 # 0VxlAObcXfPMdsG8tLzKyYJkz11gStRenR2B7JRqnvRSigSmKHTq+xgJwtG9hta0 # PsxaEdj8brmrcNQKVASlpbqbe3fsai6OY/fdUdCTmPMEiRxJRF2AQ4QkavZlLhkJ # 8uP4n35CR4kulEFDur42oltaGE672HrqshzGuDS4caU290Wx6izojir+2dofc3Bx # zOPc+VWhggMgMIIDHAYJKoZIhvcNAQkGMYIDDTCCAwkCAQEwdzBjMQswCQYDVQQG # EwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0 # IFRydXN0ZWQgRzQgUlNBNDA5NiBTSEEyNTYgVGltZVN0YW1waW5nIENBAhAKekqI # nsmZQpAGYzhNhpedMA0GCWCGSAFlAwQCAQUAoGkwGAYJKoZIhvcNAQkDMQsGCSqG # SIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjIwNjE0MTExNDE3WjAvBgkqhkiG9w0B # CQQxIgQg2/QyJaJtjD/2kJmwC8BwrZnIU0hrClfcDpgOiXazKbswDQYJKoZIhvcN # AQEBBQAEggIAsX9L3S7zXtekEBf6aGO89jA+TjCQ0BAP6TrWXvrwC2EtV+hxieA3 # rDYfa0leDFmKW6Wpcybv/kkz67HIqaa2oEKNbJvc7MnkGWydsi41/i9eOLmtuzIx # 0O8/Gon13tTk7q1dJlxnXRWiXLQFxW8mz2+Tpee3W/URZVJ4sGxKiDnijXpAkKW+ # xpLjHx0LUAmmGSqhwW5s4EoQMOvz0XBiJVdpzhoI79QUxBB76x0ACzfOT1sW82+n # uOPvu2OQnBXZROl55tEtxQffJCbNYA74579AEflHQxl1oABPWoIbDbElY3qZqN/B # 92bdoQht+b09UCpa5rCydQwaqR182loKNeryRno4oIWHWeaT6CS31LQhkkgq5ZEe # bjoaHmyHwS9cQ9oLUbJu7pgU3Xwz5TV0HRK6zH53KpqHnlzSk/LKhyC5zXsP+xbL # uo4wiKefDMB5ZrA3q0HQ1PXoZyBbXk03T8nTTKFMkPCE/rGc3OM3p8qHNIkx9S+3 # RTkb/koUVQU+FVrxLw+h5eeg7797/HYdUWeJpBRmHTQ2UDDvYDMaUxPqeGsnu8V6 # OYpfOxIZmaJyBaONacjKl9j77T28CUl9ItofDH/JMGbNIwsQns6pu4sUYOliu42h # /bZ8amrN4xgpy7S09U6DwYSGMbNH/N4KF/gr7IF+IKIrIJ+znm/nWRg= # SIG # End signature block |