278 lines
16 KiB
PowerShell
278 lines
16 KiB
PowerShell
$Server = "."
|
|
$Database = "eDosLocal"
|
|
$ScriptFolder = "C:\software\SqlUpdates"
|
|
if (-not (Test-Path -Path $ScriptFolder)) {
|
|
$ScriptFolder = "C:\l\Edos2026\SqlUpdates"
|
|
}
|
|
|
|
# 1. Maak een SQL-verbinding en commando aan
|
|
$ConnectionString = "Server=$Server;Database=$Database;Integrated Security=True;"
|
|
$connection = New-Object System.Data.SqlClient.SqlConnection($ConnectionString)
|
|
|
|
$query = "IF OBJECT_ID('dbo.DatabaseVersion', 'U') IS NOT NULL
|
|
SELECT ISNULL(MAX(VersionNumber), 0) FROM dbo.DatabaseVersion
|
|
ELSE
|
|
SELECT 0"
|
|
|
|
$command = New-Object System.Data.SqlClient.SqlCommand($query, $connection)
|
|
|
|
try {
|
|
$connection.Open()
|
|
|
|
# 2. Gebruik ExecuteScalar() om exact 1 waarde op te halen
|
|
$CurrentVersion = [int]$command.ExecuteScalar()
|
|
|
|
Write-Host "Huidige database versie: $CurrentVersion" -ForegroundColor Cyan
|
|
}
|
|
catch {
|
|
Write-Error "Fout bij ophalen databaseversie: $_"
|
|
}
|
|
finally {
|
|
$connection.Close()
|
|
}
|
|
|
|
# 2. Scan de map en filter de scripts
|
|
$Scripts = Get-ChildItem -Path $ScriptFolder -Filter "update_*.sql" | ForEach-Object {
|
|
# Extraheer het nummer uit de bestandsnaam (bijv. "update_004.sql" -> 4)
|
|
if ($_.BaseName -match 'update_(\d+)') {
|
|
[PSCustomObject]@{
|
|
Number = [int]$Matches[1]
|
|
Path = $_.FullName
|
|
Name = $_.Name
|
|
}
|
|
}
|
|
} | Sort-Object Number # Zorg dat ze ALTIJD op volgorde 1, 2, 3 staan
|
|
|
|
# 3. Voer de scripts opeenvolgend uit
|
|
foreach ($Script in $Scripts) {
|
|
# Als het scriptnummer lager of gelijk is aan de huidige versie, overslaan
|
|
if ($Script.Number -le $CurrentVersion) {
|
|
Write-Host "Skipping $($Script.Name) (Al uitgevoerd of reeds gepasseerd)" -ForegroundColor Gray
|
|
continue
|
|
}
|
|
|
|
# Controleer of het script exact de volgende stap is (+1)
|
|
if ($Script.Number -ne ($CurrentVersion + 1)) {
|
|
Write-Error "Fout: Script $($Script.Name) kan niet worden uitgevoerd. Verwachte versie was $($CurrentVersion + 1)."
|
|
exit 1
|
|
}
|
|
|
|
Write-Host "Uitvoeren: $($Script.Name)..." -ForegroundColor Yellow
|
|
|
|
# Voer het script uit met sqlcmd. -b zorgt dat sqlcmd stopt bij een SQL error (zoals onze severity 20)
|
|
sqlcmd -S $Server -d $Database -i $Script.Path -b
|
|
|
|
# Controleer of sqlcmd een fout heeft gegeven
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Error "CRITICAL FOUT tijdens het uitvoeren van $($Script.Name). De deployment is gestopt!"
|
|
exit 1
|
|
}
|
|
|
|
# Update de lokale variabele voor de volgende loop
|
|
$CurrentVersion = $Script.Number
|
|
Write-Host "$($Script.Name) succesvol afgerond. Database is nu versie $CurrentVersion." -ForegroundColor Green
|
|
}
|
|
|
|
Write-Host "Database is volledig up-to-date!" -ForegroundColor Green
|
|
|
|
# SIG # Begin signature block
|
|
# MIIlPAYJKoZIhvcNAQcCoIIlLTCCJSkCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
|
|
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
|
|
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUx8wPBR4Epnm1pI/porhWlM7f
|
|
# 8daggh9wMIIFjTCCBHWgAwIBAgIQDpsYjvnQLefv21DiCEAYWjANBgkqhkiG9w0B
|
|
# AQwFADBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYD
|
|
# VQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVk
|
|
# IElEIFJvb3QgQ0EwHhcNMjIwODAxMDAwMDAwWhcNMzExMTA5MjM1OTU5WjBiMQsw
|
|
# CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu
|
|
# ZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQw
|
|
# ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz
|
|
# 7MKnJS7JIT3yithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS
|
|
# 5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7
|
|
# bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfI
|
|
# SKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jH
|
|
# trHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14
|
|
# Ztk6MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2
|
|
# h4mXaXpI8OCiEhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt
|
|
# 6zPZxd9LBADMfRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPR
|
|
# iQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ER
|
|
# ElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4K
|
|
# Jpn15GkvmB0t9dmpsh3lGwIDAQABo4IBOjCCATYwDwYDVR0TAQH/BAUwAwEB/zAd
|
|
# BgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wHwYDVR0jBBgwFoAUReuir/SS
|
|
# y4IxLVGLp6chnfNtyA8wDgYDVR0PAQH/BAQDAgGGMHkGCCsGAQUFBwEBBG0wazAk
|
|
# BggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEMGCCsGAQUFBzAC
|
|
# hjdodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRBc3N1cmVkSURS
|
|
# b290Q0EuY3J0MEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly9jcmwzLmRpZ2ljZXJ0
|
|
# LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwEQYDVR0gBAowCDAGBgRV
|
|
# HSAAMA0GCSqGSIb3DQEBDAUAA4IBAQBwoL9DXFXnOF+go3QbPbYW1/e/Vwe9mqyh
|
|
# hyzshV6pGrsi+IcaaVQi7aSId229GhT0E0p6Ly23OO/0/4C5+KH38nLeJLxSA8hO
|
|
# 0Cre+i1Wz/n096wwepqLsl7Uz9FDRJtDIeuWcqFItJnLnU+nBgMTdydE1Od/6Fmo
|
|
# 8L8vC6bp8jQ87PcDx4eo0kxAGTVGamlUsLihVo7spNU96LHc/RzY9HdaXFSMb++h
|
|
# UD38dglohJ9vytsgjTVgHAIDyyCwrFigDkBjxZgiwbJZ9VVrzyerbHbObyMt9H5x
|
|
# aiNrIv8SuFQtJ37YOtnwtoeW/VvRXKwYw02fc7cBqZ9Xql4o4rmUMIIFvDCCA6Sg
|
|
# AwIBAgIBHzANBgkqhkiG9w0BAQsFADBmMQswCQYDVQQGEwJCRTESMBAGA1UECBMJ
|
|
# QW50d2VycGVuMQwwCgYDVQQHEwNNb2wxDzANBgNVBAoTBlNDS0NFTjEMMAoGA1UE
|
|
# CxMDSUNUMRYwFAYDVQQDEw1TQ0tDRU4gSUNUIENBMB4XDTE4MDUyNDA2MTEwMFoX
|
|
# DTMwMDYwMTEyMDAwMFowTzEhMB8GA1UEAxMYVmFuZGVuYnJvdWNrZSBMdWMgQ1My
|
|
# MDIxMSowKAYJKoZIhvcNAQkBFhtsdWMudmFuZGVuYnJvdWNrZUBzY2tjZW4uYmUw
|
|
# ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD0WzD0gHTLFEbOjPUwobl2
|
|
# VntS0kJVV2FRzxkZZ0Hhe9fbYB0tRK5+9GltD7rwhApM1E2xh8N6Pmxfr49VGVsP
|
|
# NqDhGRmp5wKE8htQiMXTjHPOTHZsvim/vvSL8WuouGoX6TQxxNBefE6Jmjcg2NHb
|
|
# UVAxDGcPwNADJBZnYPQTp6q2HniwdDv/OmZM1JJUYn4v1mt7YtS1eFO30ekuGzJu
|
|
# 3WQYeOiFNht/6AXZTWALQtwzaJfm563AbxfnHBsBuZFcRGYPE7aRDI9NIZyPqzT4
|
|
# yOAK+phPN1ympNV+f8XXWaacfZXSWolbo8jqstHDjYYjf77Fj3WVN+y0GxtTsnRl
|
|
# AgMBAAGjggGKMIIBhjAJBgNVHRMEAjAAMB0GA1UdDgQWBBTftWyIS4unlpS288p5
|
|
# Xofe0LiBZTAfBgNVHSMEGDAWgBTwKRT1aiEUklZUE6Q91a3wITrFeDALBgNVHQ8E
|
|
# BAMCB4AwHwYDVR0lBBgwFgYIKwYBBQUHAwMGCisGAQQBgjcCARUwOgYDVR0RBDMw
|
|
# MYEbbHVjLnZhbmRlbmJyb3Vja2VAc2NrY2VuLmJlgRJsdmFuZGVuYkBzY2tjZW4u
|
|
# YmUwNQYDVR0SBC4wLIYqaHR0cDovL2NybC5zY2tjZW4uYmUvU0NLQ0VOJTIwSUNU
|
|
# JTIwQ0EuY3J0MDsGA1UdHwQ0MDIwMKAuoCyGKmh0dHA6Ly9jcmwuc2NrY2VuLmJl
|
|
# L1NDS0NFTiUyMElDVCUyMENBLmNybDA+BgkrBgEEAYI3FQcEMTAvBicrBgEEAYI3
|
|
# FQiEjLwhgsj9d4KhkyKEl5RGhMaSLoEBgtSEIYH6yGkCAWQCAQgwGwYJKwYBBAGC
|
|
# NxUKBA4wDDAKBggrBgEFBQcDAzANBgkqhkiG9w0BAQsFAAOCAgEARh/O37vbDW3A
|
|
# j1UAnSfYz+I0+fVk2ZurOQarjtdFC/Yu1ABJnXdMnwh1t5sjVIoEejvjnOlmu+B2
|
|
# 1IQJPpxIph8cz+SnDZyhOpcKrCDn+PSeRvth0Zk4FvbXsLK9/WYgdzRObNOHxxAN
|
|
# COOc7PMLIMqeDJa+b9wH82Ae4MYdB8XZvoqJ+z172yoQMiNxe6UE2GropZiwJB56
|
|
# Fw+k/jrKdOMEfZtfhzRqizCmMlTknbtFJ5hrqhwcaTA+4QCfCwouckererOATQnM
|
|
# 8Ic1KaOmYK7S5igmnA5mekiTKrBhcGp/xsZy0r8OUKVV1FSYnQ3035THia31oQzh
|
|
# Le48faEFkNuPbs8ZaiTFXwbdWGQ6uIK++soyulWOxeueNBAqIOGrj7XuDaIk+VD3
|
|
# RN0B0g//Nv3HS6FboRC0eKeG3yezzjU+8fImcyPAaAEofUiiQYdOpnJsiaLDpHO+
|
|
# 1r98pKmpe0fvy0IvYHicJLuk4tFyMvVBRgW1A+JtfHuXCnag88iB8AJ3tCUdGRCC
|
|
# z8yE1r4hbklyqhj9G5EmxoKZfi7mgh3CgL/tRUAXNqFltMj3cQlGKcKPUH004dKm
|
|
# FwAUAG4mzsO1Sk50S7EvdpvaW+sJ/bWMjXzLuq+xFwrsSTQ22KSm8XmnX2NGqws5
|
|
# Tk+pqQupcwan4CsjflVqMva5nc4YxI4wggZyMIIEWqADAgECAhM4AAAAAm7pDq12
|
|
# AeXXAAAAAAACMA0GCSqGSIb3DQEBCwUAMGcxCzAJBgNVBAYTAkJFMRIwEAYDVQQI
|
|
# EwlBbnR3ZXJwZW4xDDAKBgNVBAcTA01vbDEPMA0GA1UEChMGU0NLQ0VOMQwwCgYD
|
|
# VQQLEwNJQ1QxFzAVBgNVBAMTDlNDS0NFTiBSb290IENBMB4XDTE3MDYyMzExMzkz
|
|
# NFoXDTMyMDYyMzExNDkzNFowZjELMAkGA1UEBhMCQkUxEjAQBgNVBAgTCUFudHdl
|
|
# cnBlbjEMMAoGA1UEBxMDTW9sMQ8wDQYDVQQKEwZTQ0tDRU4xDDAKBgNVBAsTA0lD
|
|
# VDEWMBQGA1UEAxMNU0NLQ0VOIElDVCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
|
|
# ADCCAgoCggIBALFtbifIAikMI3YQIa+niSTV8PsH34uadkQePLs02kIdmPPT/u+T
|
|
# RYZO6njltLVcGnMWJLmzL4DamrAPUbJcpkRLMS35aDAonUT0kI/KNChNnHy2KI2K
|
|
# 3tUwoRcXND2aG4m2ewU7FNr++RkI57BBDJsc8CSwI0lNphVSiSo6yrOF7f6uo98N
|
|
# H3a0c9G2vM0jG0xztivAndUatxkAyz8rYScg8c6OmERO0xThXFxqyKRV75stVz3P
|
|
# yLYh8E6HDpkNZrBfuOltIH1rWxS7fGwvwp7hNmUD5wJqat5TlLvHDqv9nqoYoQHg
|
|
# JYuTHGHqWivqq9SbSzX4E0pJBRcNu3OXD18BQghNK8iXTfqjeF3ZNydos9IWshCe
|
|
# LBmopnSU17/zk5kscShjJz2FfgU75PzwyZxo1kKjq8n9D1oJsFUNSgKMGj4wQFyT
|
|
# hKLczZ81tPxSrb4CWC5N8RbN7CSehBug9NsAdkTbMzRjOurcqqsf2d+udccM4JGG
|
|
# EdRE3ZnXXKi+v92vh4n0uSvfTfqu61/0ad9QFJTbG+d8YYeNzVlAIOU862/SeeJg
|
|
# UemfzGn5k1R3CtpyukUWGlH8bP1rhNvjs1+zHRv1EYtZVbjru4aewCp0o3C5znAR
|
|
# u5ZEitUNaQrgAmDJLwpfu5HoqN++mpFH7pl9x6hFYCvLbWYkYIlR0e0NAgMBAAGj
|
|
# ggEWMIIBEjAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU8CkU9WohFJJWVBOk
|
|
# PdWt8CE6xXgwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGG
|
|
# MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUr8bKrgoIFExryOnviOUxtH5
|
|
# FDAwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5zY2tjZW4uYmUvU0NLQ0VO
|
|
# JTIwUm9vdCUyMENBLmNybDBHBggrBgEFBQcBAQQ7MDkwNwYIKwYBBQUHMAKGK2h0
|
|
# dHA6Ly9jcmwuc2NrY2VuLmJlL1NDS0NFTiUyMFJvb3QlMjBDQS5jcnQwDQYJKoZI
|
|
# hvcNAQELBQADggIBAIbENXjQHhcyihmPSltFTBqy1G7XHIx6HipRnVZ/soUvcYUm
|
|
# iBYJtNCD1Tuc4fYyrYAgN6PNU6mNMNVqEStVPLfPTp+UWWFct/aQ8rvqAZR4LpfS
|
|
# jriWyCi4IdFYBD72N7zNIdGy3cSK55SMXIVcYLOcv4f8Cyply47IPgLmM7CePvRg
|
|
# A+UrHRRqdo4ij3/WsOsxuu2p9sk6rbz33qEaZDFjvjMd/QllsH1NzGkMkpQMdPyc
|
|
# 2XKls5OkBYDdYfPcEgRw9JjBXZ2oRLYecvUIT5C8nT54omxeVWefYG1FZaRRc/FX
|
|
# XZgbcfcX3uWiGBI5I9+R5hFvxTe6sJyT93QpY8xYqkrniqohSDd6bp4x2zFKAMSZ
|
|
# 4m8ddV8+KRZuZnZPL/ea/rJ3B/EhSvz+Z1I4xGCAUSJ2YqL5ewvCnyNUQ/ZVyQz3
|
|
# cOclX5AqZAq/62DTTAR3w2GfhtTRLvVsxNja5JwuB+KqDSS5jI1T07MHCE+/NIjr
|
|
# xWUX9apftHtkylBwjpGfqZV7Zdx+jIpqzZOgf2UAMuJhEzR+nHmqLnVe1+WOx820
|
|
# 8ElwksOhgokDHWF4LBafpYqKKxJhWYVXNj07PqFF2zIvCFGgsihJurTGRyfjxlNW
|
|
# ARPEs8o+ZyNUlIW/mh7p0RpYYFz2+G5xHWVWjK7sRTNFG64hsJpDhL/XD1aQMIIG
|
|
# tDCCBJygAwIBAgIQDcesVwX/IZkuQEMiDDpJhjANBgkqhkiG9w0BAQsFADBiMQsw
|
|
# CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu
|
|
# ZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQw
|
|
# HhcNMjUwNTA3MDAwMDAwWhcNMzgwMTE0MjM1OTU5WjBpMQswCQYDVQQGEwJVUzEX
|
|
# MBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0
|
|
# ZWQgRzQgVGltZVN0YW1waW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0ExMIICIjAN
|
|
# BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtHgx0wqYQXK+PEbAHKx126NGaHS0
|
|
# URedTa2NDZS1mZaDLFTtQ2oRjzUXMmxCqvkbsDpz4aH+qbxeLho8I6jY3xL1IusL
|
|
# opuW2qftJYJaDNs1+JH7Z+QdSKWM06qchUP+AbdJgMQB3h2DZ0Mal5kYp77jYMVQ
|
|
# XSZH++0trj6Ao+xh/AS7sQRuQL37QXbDhAktVJMQbzIBHYJBYgzWIjk8eDrYhXDE
|
|
# pKk7RdoX0M980EpLtlrNyHw0Xm+nt5pnYJU3Gmq6bNMI1I7Gb5IBZK4ivbVCiZv7
|
|
# PNBYqHEpNVWC2ZQ8BbfnFRQVESYOszFI2Wv82wnJRfN20VRS3hpLgIR4hjzL0hpo
|
|
# YGk81coWJ+KdPvMvaB0WkE/2qHxJ0ucS638ZxqU14lDnki7CcoKCz6eum5A19WZQ
|
|
# HkqUJfdkDjHkccpL6uoG8pbF0LJAQQZxst7VvwDDjAmSFTUms+wV/FbWBqi7fTJn
|
|
# jq3hj0XbQcd8hjj/q8d6ylgxCZSKi17yVp2NL+cnT6Toy+rN+nM8M7LnLqCrO2JP
|
|
# 3oW//1sfuZDKiDEb1AQ8es9Xr/u6bDTnYCTKIsDq1BtmXUqEG1NqzJKS4kOmxkYp
|
|
# 2WyODi7vQTCBZtVFJfVZ3j7OgWmnhFr4yUozZtqgPrHRVHhGNKlYzyjlroPxul+b
|
|
# gIspzOwbtmsgY1MCAwEAAaOCAV0wggFZMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYD
|
|
# VR0OBBYEFO9vU0rp5AZ8esrikFb2L9RJ7MtOMB8GA1UdIwQYMBaAFOzX44LScV1k
|
|
# TN8uZz/nupiuHA9PMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcD
|
|
# CDB3BggrBgEFBQcBAQRrMGkwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2lj
|
|
# ZXJ0LmNvbTBBBggrBgEFBQcwAoY1aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29t
|
|
# L0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcnQwQwYDVR0fBDwwOjA4oDagNIYyaHR0
|
|
# cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcmww
|
|
# IAYDVR0gBBkwFzAIBgZngQwBBAIwCwYJYIZIAYb9bAcBMA0GCSqGSIb3DQEBCwUA
|
|
# A4ICAQAXzvsWgBz+Bz0RdnEwvb4LyLU0pn/N0IfFiBowf0/Dm1wGc/Do7oVMY2mh
|
|
# XZXjDNJQa8j00DNqhCT3t+s8G0iP5kvN2n7Jd2E4/iEIUBO41P5F448rSYJ59Ib6
|
|
# 1eoalhnd6ywFLerycvZTAz40y8S4F3/a+Z1jEMK/DMm/axFSgoR8n6c3nuZB9BfB
|
|
# wAQYK9FHaoq2e26MHvVY9gCDA/JYsq7pGdogP8HRtrYfctSLANEBfHU16r3J05qX
|
|
# 3kId+ZOczgj5kjatVB+NdADVZKON/gnZruMvNYY2o1f4MXRJDMdTSlOLh0HCn2cQ
|
|
# LwQCqjFbqrXuvTPSegOOzr4EWj7PtspIHBldNE2K9i697cvaiIo2p61Ed2p8xMJb
|
|
# 82Yosn0z4y25xUbI7GIN/TpVfHIqQ6Ku/qjTY6hc3hsXMrS+U0yy+GWqAXam4ToW
|
|
# d2UQ1KYT70kZjE4YtL8Pbzg0c1ugMZyZZd/BdHLiRu7hAWE6bTEm4XYRkA6Tl4KS
|
|
# FLFk43esaUeqGkH/wyW4N7OigizwJWeukcyIPbAvjSabnf7+Pu0VrFgoiovRDiyx
|
|
# 3zEdmcif/sYQsfch28bZeUz2rtY/9TCA6TD8dC3JE3rYkrhLULy7Dc90G6e8Blqm
|
|
# yIjlgp2+VqsS9/wQD7yFylIz0scmbKvFoW2jNrbM1pD2T7m3XDCCBu0wggTVoAMC
|
|
# AQICEAhP3DNPfkVO28MPj/mSGDUwDQYJKoZIhvcNAQELBQAwaTELMAkGA1UEBhMC
|
|
# VVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2VydCBU
|
|
# cnVzdGVkIEc0IFRpbWVTdGFtcGluZyBSU0E0MDk2IFNIQTI1NiAyMDI1IENBMTAe
|
|
# Fw0yNjA4MDUwMDAwMDBaFw0zNzExMDQyMzU5NTlaMGMxCzAJBgNVBAYTAlVTMRcw
|
|
# FQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgU0hBMjU2
|
|
# IFJTQTQwOTYgVGltZXN0YW1wIFJlc3BvbmRlciAyMDI2IDEwggIiMA0GCSqGSIb3
|
|
# DQEBAQUAA4ICDwAwggIKAoICAQC2e6byyf7NSvjUm0xls/04xjD4fAkOkbnGQi7+
|
|
# Wpx81iYxfzViaxSIctuH3KSl5YEYpMuFgGsA31N2D9ATMbfZdw5uaAhuWevQKhDd
|
|
# ZIB4NnqcfpfpWQXJiQnDdAElETC+bhSEvNLGbA8DtwUpFMQ4yyYQSPqomT92osQA
|
|
# v6hBi47ATZS6JfVWe6XxhF4jJZ3iSAuf2Cros1czRSmWRHqMv9AfGZvp8ygYElhu
|
|
# dpQjtcPpwoOl6QrZJUyV3iINvN4cO05prGV0fkjG426xDr2d3z9lcSIHkdvGPdGU
|
|
# rXdxfVbgOUVcp2/8ISEzwKPW++Wa+E2ujI91EZtukGWDJ/xZ27k3oHKEXBRGfRTq
|
|
# jOU+jE3ba/5++JSE/7oNHnjs5mekExYN96LV/mxUbCKJb8pBNY4r3uD7hEmk/M81
|
|
# XhVgwDA7aMzYC3LZBg9WY5BMmbSay5ecmtJuXaB/0nKWmQmVZeqTVDgsmzHP5MQu
|
|
# hAJkiWNuC9MmCg9TZHXbJ2/yLVSov9p16UDTLtT0+aa1vN71fHeu1qMLlLNB3WOB
|
|
# /ADCxr3S/1hxI92Z6jKgEED/btwIvbfuXkNNhg8MtDg43c4tMZae9FvqMOt/9Pvm
|
|
# AxF9TNIsIFB8G6yb36ZJZGUL8N/pL971DyLXcK6HM5PYnH5X+eVtczhCgHCVQCF6
|
|
# XDAlPQIDAQABo4IBlTCCAZEwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUFMljijAu
|
|
# 1Er7bpTz5uNAfvXszeIwHwYDVR0jBBgwFoAU729TSunkBnx6yuKQVvYv1Ensy04w
|
|
# DgYDVR0PAQH/BAQDAgeAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMIGVBggrBgEF
|
|
# BQcBAQSBiDCBhTAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29t
|
|
# MF0GCCsGAQUFBzAChlFodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNl
|
|
# cnRUcnVzdGVkRzRUaW1lU3RhbXBpbmdSU0E0MDk2U0hBMjU2MjAyNUNBMS5jcnQw
|
|
# XwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lD
|
|
# ZXJ0VHJ1c3RlZEc0VGltZVN0YW1waW5nUlNBNDA5NlNIQTI1NjIwMjVDQTEuY3Js
|
|
# MCAGA1UdIAQZMBcwCAYGZ4EMAQQCMAsGCWCGSAGG/WwHATANBgkqhkiG9w0BAQsF
|
|
# AAOCAgEAjcU6YR6dUgrfmawJgH59KECxa9Ji8sEi2g10CBDaMiqsaxWyW5cwlT/6
|
|
# ZF5sFznazqVsoC85U9dqLOYqQwst+UQQoNlDHgKRLa3xoc+OReFreFhnTXSG0Vrd
|
|
# 2E2CZqUfm+5a+He1MJ/h+tNLuA+0Zzhn/Fo+FDYAHWZHx4R79ZsfRFYe9UiXpXBD
|
|
# f6DkUo183Y38NYmR/XfDYf7YZ+oR9t3flbDwK+hgGMs0gNNp1w9Z2CyOyI5or/sS
|
|
# womAuNQ0hWC9xoU4stD8aWsD7RkcmgVRs6vlIk3zPKQ+ylcheWkMlj+CoVRlFE55
|
|
# pv0ZWCaFt04lwP/rdGHE9qEVQZtyRE42ox7oNgC/r+Y4bSlZ3dw9K2x1xLtu6PkP
|
|
# KeLBFjzKigwfqm3Hm+k/+lnME8F5kPZTgiy2HLEHklpryqs6QHnPXrRNeIzkAMyy
|
|
# lnRN8P0wmirS0WkU+ywpEWFZ4QNg+9xS43tTuW9x0eXh7NDc1P/sV+zWxHXKH8tF
|
|
# t1ncHdVzqrZaYPyYMLSn2TOXajveJW1L3joiQSPsWRGxkbDDW15jERFE4LvjnGu2
|
|
# O9zD1nLJSMdlYZEikl4w2w+q4IN/R+TIe0H4ngCI1moJCTbevGH4punIxM1Uoi0n
|
|
# mX3ZK+XbRT01uowE5ViXWHng0RgsmrX/EdYUo80r3TfMlkD0/YMxggU2MIIFMgIB
|
|
# ATBrMGYxCzAJBgNVBAYTAkJFMRIwEAYDVQQIEwlBbnR3ZXJwZW4xDDAKBgNVBAcT
|
|
# A01vbDEPMA0GA1UEChMGU0NLQ0VOMQwwCgYDVQQLEwNJQ1QxFjAUBgNVBAMTDVND
|
|
# S0NFTiBJQ1QgQ0ECAR8wCQYFKw4DAhoFAKB4MBgGCisGAQQBgjcCAQwxCjAIoAKA
|
|
# AKECgAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
|
|
# MAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFAmUhrB37AN7Rg5zhDGVlqtR
|
|
# SH2ZMA0GCSqGSIb3DQEBAQUABIIBAKTCNf+iCNRbeIAdR5hZe8aieH1LqK9Mzwat
|
|
# ZYBJ/yYGSuRxm5KrbAxpZrjb+t+KfIGudi4dapRHJbnWRl+/kDZmQrWvk6C9eHRo
|
|
# 64KFb4biDIEmd+oHxkBvRbquoDV+phLqGVT8IflndwUP3t6cj5SgwZ9jINdxTxIm
|
|
# rwqfFobP4UPWOo7HhBxUSQjQ2ZTXO0K9LNfjHQBBxgqLrgOlPp9yVZKcWWHl0kmq
|
|
# 9CO3lTzpfgAyf+Xy13ZGzT2ZGjGc7hIiSV86a1t20D9qUeUCiMt9oEY9I3c9LXnZ
|
|
# +a0sA6SwGrA9e3mgmkMerFplgDkDG0AATKZ6D7U9XEA0M8MPh+KhggMmMIIDIgYJ
|
|
# KoZIhvcNAQkGMYIDEzCCAw8CAQEwfTBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO
|
|
# RGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgVGlt
|
|
# ZVN0YW1waW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0ExAhAIT9wzT35FTtvDD4/5
|
|
# khg1MA0GCWCGSAFlAwQCAQUAoGkwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAc
|
|
# BgkqhkiG9w0BCQUxDxcNMjYxMDA2MTMxMTI2WjAvBgkqhkiG9w0BCQQxIgQg7eE1
|
|
# TkJYiYpI8CRbmgkeRnfivK4r6w+NESm6b5PymjIwDQYJKoZIhvcNAQEBBQAEggIA
|
|
# b6SpT7Xcmxr/4M43OsVfXezvYsiASkOyzBQ7lnS4hRS3CGx83q3Jk9GzJsxN9+WB
|
|
# svQ+cR6SDgu/vmNVbt/bT1jh/G8/LZ6HdQKFQaNhu2w6G89blU6K4kp+6wHFVED9
|
|
# tSBvVWRQQEDhHp7qWEw67luqDW3gqUJqTmw0GxAeb2oC72ksad1Y//Astlmeizvf
|
|
# /3ffiIOpXAWc64uJJ0SdmF/hbF2OY/jtztgcgE4XIImnP9+RG/TQu8uzrWMGEbvo
|
|
# wGCfR7jUcWrURtt1X86BuwQDxNQIHznWGOwzvYgl9jTVUdGWWr8o6I3IQJbVD1F9
|
|
# VEpK2mHNobCovMO4tTP74BQVENPZnWaHVUcFMZvxXWvcngtzuWBldwMDAQeziTGC
|
|
# +r124zO3rtqxJ6n2+c/mMu2w9jn+E5oBN0KR8xEEvQwhwrVnefHxhk3QfXSFX+dk
|
|
# tQzNyEGyCOyKlXCEmxAf6bChVBVFmMceEmV6aPUSdLH7d2o+1/cjHf/HFfnwrOaQ
|
|
# rn78tw4Zfv4f5oOcp5f+2cxGidmLIu8Inq8KLOx5hdeVHjNjxFuzt8OxE2xJ45SH
|
|
# YaQAoaeSDR5cUaiyPCEiQUmMPbgJgigm+HhxexH3uPLIjXeMzSei22ObsjFCqOyM
|
|
# mciwAmabI88DI8roafqmgB2yp9s6CCPpDpgRT+2kIKY=
|
|
# SIG # End signature block
|