eDosStation/scripts/installatie.ps1
2025-12-04 06:35:41 +01:00

352 lines
20 KiB
PowerShell

echo "start Powershell as admin"
Set-ExecutionPolicy -ExecutionPolicy unrestricted
write-host "Folders"
New-Item -ItemType Directory -Force -Path "c:\temp"
New-Item -ItemType Directory -Force -Path "c:\logs"
New-Item -ItemType Directory -Force -Path "c:\ProgramData\eDosLocal"
New-Item -ItemType Directory -Force -Path "c:\Program Files\edos"
write-host "Certificates"
Import-Certificate -FilePath "c:\software\sckca.cer" -CertStoreLocation Cert:\LocalMachine\Root
Import-Certificate -FilePath "c:\software\ictinteremediate.cer" -CertStoreLocation Cert:\LocalMachine\Ca
Import-Certificate -FilePath "c:\software\signertrust.cer" -CertStoreLocation Cert:\LocalMachine\TrustedPublisher
write-host "Security"
foreach ($b in $((get-netadapterbinding -componentid "ms_msclient" ).Name)) { disable-netadapterbinding -name $b -componentid 'ms_msclient' }
Stop-Service -Name lanmanserver -Force
Stop-Service -Name Spooler -Force
Set-Service -Name Spooler -StartupType Disabled
set-location "c:\software"
write-host "Time server"
set-timezone -ID "Romance Standard Time"
$svc = Get-WmiObject -Class Win32_Service -Filter "Name='Winmgmt'"; $svc.StartMode='Auto'
w32tm /config /manualpeerlist:192.168.113.199,0x8 /syncfromflags:MANUAL
#The flag "0x8" forces w32time not to send "symmetric active" packets but normal "client" requests which the NTP server replies to as usua
$s = Get-Service w32time
if ($s.status -eq "Stopped") { $s.Start() }
w32tm /config /update
w32tm /resync
write-host "Time server ok"
echo "OpenSSH"
Expand-Archive -Force c:\software\OpenSSH98b2Signed.zip C:\Windows\System32\OpenSSH-Win64
$sshf = $env:UserProfile+"\.ssh"
New-Item -ItemType Directory -Force -Path $sshf
set-location $sshf
Copy-Item -Path "c:\software\authorized_keys" -destination $sshf
Copy-Item -Path "c:\software\*.pub" -destination $sshf
$ssha = $env:ProgramData+"\ssh"
New-Item -ItemType Directory -Force -Path $ssha
set-location $ssha
Copy-Item -Path "c:\software\authorized_keys" -destination "$($ssha)\administrators_authorized_keys"
C:\Windows\System32\OpenSSH-Win64\FixHostFilePermissions.ps1
.\install-sshd.ps1
.\FixHostFilePermissions.ps1
.\FixUserFilePermissions.ps1
Set-Service -Name "sshd" -StartupType "Automatic"
start-service sshd
start-process -wait -workingdirectory "c:\software" -filepath "C:\software\VC_redist.x64.exe" -argumentlist "/install /passive /norestart" -passthru
#New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force
Echo "Sql Express"
set-location "c:\software\SQLEXPR_x64_ENU"
start-process -wait -workingdirectory "c:\software\SQLEXPR_x64_ENU" -filepath "setup.exe" -argumentlist "/configurationfile=c:\software\ConfigurationFile.ini /SAPWD=HPHEdos" -passthru
echo sql management studio
start-process -wait -workingdirectory "c:\software" -filepath "c:\software\SSMS-Setup-ENU.exe" -argumentlist "/install /passive /norestart" -passthru
pnputil /add-driver epd_reader.inf /install
start-process -wait -workingdirectory "c:\software" -filepath "C:\Windows\System32\msiexec.exe" -argumentlist "/i HID-OMNIKEY-CCID-Driver-Installer-2.3.4.121-x64.msi /passive /norestart" -passthru
start-process -wait -workingdirectory "c:\software" -filepath "C:\Windows\System32\msiexec.exe" -argumentlist "/i MsSqlCmdLnUtils.msi /passive /norestart" -passthru
echo "Connection alias eDosLocal en eDos"
c:\software\sqlreg.reg
echo "Create db edosstationmaster.sql"
start-process -wait -workingdirectory "c:\software" -filepath "C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\sqlcmd.exe" -argumentlist "-i c:\software\edosstationmaster.sql" -passthru
echo "create tables, views, procedures edosstation.sql"
start-process -wait -workingdirectory "c:\software" -filepath "C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\sqlcmd.exe" -argumentlist "-i c:\software\edosstation.sql" -passthru
echo "copy software"
Expand-Archive -Force c:\software\eDosStation.zip "c:\program files\edos\edosStation"
Expand-Archive -Force c:\software\eDosSync.zip "c:\program files\edos\synceDosLocal"
$user="$($env:COMPUTERNAME)\$($env:Username)"
#Scheduled task Clean Folders
$pclean = "c:\program files\edos\LogFolderClean"
New-Item -ItemType Directory -Force -Path $pclean
Copy-Item -Path "C:\software\LogFolderClean.*" -Destination $pclean
$t = Get-ScheduledTask -TaskName "LogFolderClean" -ea ignore
if ($t -eq $null) {
$action = New-ScheduledTaskAction -Execute "LogFolderClean.exe" -WorkingDirectory $pclean
$trigger = New-ScheduledTaskTrigger -Daily -At 7am
$ts = New-ScheduledTaskSettingsSet -StartWhenAvailable -MultipleInstances IgnoreNew -Compatibility Win8
$ts.ExecutionTimeLimit='PT0S'
$ts.hidden=$true
Register-ScheduledTask -TaskName "LogFolderClean" -Action $action -Trigger $trigger -Settings $ts -Force
}
else {
write-output "Was ok"
}
#Scheduled task Sync
$psync="C:\Program Files\eDos\synceDosLocal"
$taskname="eDosSync"
$t = Get-ScheduledTask -TaskName $taskname -ea ignore
if ($t -ne $null) {
Unregister-ScheduledTask -TaskName $taskname -Confirm:$false
}
$t = Get-ScheduledTask -TaskName $taskname -ea ignore
if ($t -eq $null) {
$action = New-ScheduledTaskAction -Execute "C:\Program Files\eDos\synceDosLocal\syncEdosLocal.exe" -WorkingDirectory $psync
$trigger2 = New-ScheduledTaskTrigger -Once -At 01:00 ` -RepetitionInterval (New-TimeSpan -Minutes 5)
$trigger2.Repetition.StopAtDurationEnd=$false
$trigger1 = New-ScheduledTaskTrigger -AtLogon -User $user
$trigger1.Repetition = $trigger2.Repetition
$trigger1.Repetition.StopAtDurationEnd=$false
$settings = New-ScheduledTaskSettingsSet -StartWhenAvailable -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -MultipleInstances IgnoreNew -Compatibility Win8
$settings.ExecutionTimeLimit='PT0S'
Register-ScheduledTask -TaskName $taskname -Action $action -Trigger $trigger1,$trigger2 -User $user -Settings $settings -Force
}
else {
write-output "Was ok"
}
set-location "c:\software"
Echo "Shortcut"
$SourceFilePath = "C:\Program Files\edos\edosstation\edosStation.exe"
$ShortcutPath = $env:Userprofile + "\Desktop\EdosStation.lnk"
$WScriptObj = New-Object -ComObject ("WScript.Shell")
$shortcut = $WscriptObj.CreateShortcut($ShortcutPath)
$shortcut.TargetPath = $SourceFilePath
$shortcut.Save()
echo "Deel 2 moet online"
c:\software\installatie2.ps1
exit
# SIG # Begin signature block
# MIImbgYJKoZIhvcNAQcCoIImXzCCJlsCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCc1Avbb79ENLeS
# QBxxYwjOSLUmKScSJ9XC8gkE3CMehqCCDDYwggW8MIIDpKADAgECAgEfMA0GCSqG
# SIb3DQEBCwUAMGYxCzAJBgNVBAYTAkJFMRIwEAYDVQQIEwlBbnR3ZXJwZW4xDDAK
# BgNVBAcTA01vbDEPMA0GA1UEChMGU0NLQ0VOMQwwCgYDVQQLEwNJQ1QxFjAUBgNV
# BAMTDVNDS0NFTiBJQ1QgQ0EwHhcNMTgwNTI0MDYxMTAwWhcNMzAwNjAxMTIwMDAw
# WjBPMSEwHwYDVQQDExhWYW5kZW5icm91Y2tlIEx1YyBDUzIwMjExKjAoBgkqhkiG
# 9w0BCQEWG2x1Yy52YW5kZW5icm91Y2tlQHNja2Nlbi5iZTCCASIwDQYJKoZIhvcN
# AQEBBQADggEPADCCAQoCggEBAPRbMPSAdMsURs6M9TChuXZWe1LSQlVXYVHPGRln
# QeF719tgHS1Ern70aW0PuvCECkzUTbGHw3o+bF+vj1UZWw82oOEZGannAoTyG1CI
# xdOMc85Mdmy+Kb++9Ivxa6i4ahfpNDHE0F58TomaNyDY0dtRUDEMZw/A0AMkFmdg
# 9BOnqrYeeLB0O/86ZkzUklRifi/Wa3ti1LV4U7fR6S4bMm7dZBh46IU2G3/oBdlN
# YAtC3DNol+bnrcBvF+ccGwG5kVxEZg8TtpEMj00hnI+rNPjI4Ar6mE83XKak1X5/
# xddZppx9ldJaiVujyOqy0cONhiN/vsWPdZU37LQbG1OydGUCAwEAAaOCAYowggGG
# MAkGA1UdEwQCMAAwHQYDVR0OBBYEFN+1bIhLi6eWlLbzynleh97QuIFlMB8GA1Ud
# IwQYMBaAFPApFPVqIRSSVlQTpD3VrfAhOsV4MAsGA1UdDwQEAwIHgDAfBgNVHSUE
# GDAWBggrBgEFBQcDAwYKKwYBBAGCNwIBFTA6BgNVHREEMzAxgRtsdWMudmFuZGVu
# YnJvdWNrZUBzY2tjZW4uYmWBEmx2YW5kZW5iQHNja2Nlbi5iZTA1BgNVHRIELjAs
# hipodHRwOi8vY3JsLnNja2Nlbi5iZS9TQ0tDRU4lMjBJQ1QlMjBDQS5jcnQwOwYD
# VR0fBDQwMjAwoC6gLIYqaHR0cDovL2NybC5zY2tjZW4uYmUvU0NLQ0VOJTIwSUNU
# JTIwQ0EuY3JsMD4GCSsGAQQBgjcVBwQxMC8GJysGAQQBgjcVCISMvCGCyP13gqGT
# IoSXlEaExpIugQGC1IQhgfrIaQIBZAIBCDAbBgkrBgEEAYI3FQoEDjAMMAoGCCsG
# AQUFBwMDMA0GCSqGSIb3DQEBCwUAA4ICAQBGH87fu9sNbcCPVQCdJ9jP4jT59WTZ
# m6s5BquO10UL9i7UAEmdd0yfCHW3myNUigR6O+Oc6Wa74HbUhAk+nEimHxzP5KcN
# nKE6lwqsIOf49J5G+2HRmTgW9tewsr39ZiB3NE5s04fHEA0I45zs8wsgyp4Mlr5v
# 3AfzYB7gxh0Hxdm+ion7PXvbKhAyI3F7pQTYauilmLAkHnoXD6T+Osp04wR9m1+H
# NGqLMKYyVOSdu0UnmGuqHBxpMD7hAJ8LCi5yR6t6s4BNCczwhzUpo6ZgrtLmKCac
# DmZ6SJMqsGFwan/GxnLSvw5QpVXUVJidDfTflMeJrfWhDOEt7jx9oQWQ249uzxlq
# JMVfBt1YZDq4gr76yjK6VY7F6540ECog4auPte4NoiT5UPdE3QHSD/82/cdLoVuh
# ELR4p4bfJ7PONT7x8iZzI8BoASh9SKJBh06mcmyJosOkc77Wv3ykqal7R+/LQi9g
# eJwku6Ti0XIy9UFGBbUD4m18e5cKdqDzyIHwAne0JR0ZEILPzITWviFuSXKqGP0b
# kSbGgpl+LuaCHcKAv+1FQBc2oWW0yPdxCUYpwo9QfTTh0qYXABQAbibOw7VKTnRL
# sS92m9pb6wn9tYyNfMu6r7EXCuxJNDbYpKbxeadfY0arCzlOT6mpC6lzBqfgKyN+
# VWoy9rmdzhjEjjCCBnIwggRaoAMCAQICEzgAAAACbukOrXYB5dcAAAAAAAIwDQYJ
# KoZIhvcNAQELBQAwZzELMAkGA1UEBhMCQkUxEjAQBgNVBAgTCUFudHdlcnBlbjEM
# MAoGA1UEBxMDTW9sMQ8wDQYDVQQKEwZTQ0tDRU4xDDAKBgNVBAsTA0lDVDEXMBUG
# A1UEAxMOU0NLQ0VOIFJvb3QgQ0EwHhcNMTcwNjIzMTEzOTM0WhcNMzIwNjIzMTE0
# OTM0WjBmMQswCQYDVQQGEwJCRTESMBAGA1UECBMJQW50d2VycGVuMQwwCgYDVQQH
# EwNNb2wxDzANBgNVBAoTBlNDS0NFTjEMMAoGA1UECxMDSUNUMRYwFAYDVQQDEw1T
# Q0tDRU4gSUNUIENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsW1u
# J8gCKQwjdhAhr6eJJNXw+wffi5p2RB48uzTaQh2Y89P+75NFhk7qeOW0tVwacxYk
# ubMvgNqasA9RslymREsxLfloMCidRPSQj8o0KE2cfLYojYre1TChFxc0PZobibZ7
# BTsU2v75GQjnsEEMmxzwJLAjSU2mFVKJKjrKs4Xt/q6j3w0fdrRz0ba8zSMbTHO2
# K8Cd1Rq3GQDLPythJyDxzo6YRE7TFOFcXGrIpFXvmy1XPc/ItiHwTocOmQ1msF+4
# 6W0gfWtbFLt8bC/CnuE2ZQPnAmpq3lOUu8cOq/2eqhihAeAli5McYepaK+qr1JtL
# NfgTSkkFFw27c5cPXwFCCE0ryJdN+qN4Xdk3J2iz0hayEJ4sGaimdJTXv/OTmSxx
# KGMnPYV+BTvk/PDJnGjWQqOryf0PWgmwVQ1KAowaPjBAXJOEotzNnzW0/FKtvgJY
# Lk3xFs3sJJ6EG6D02wB2RNszNGM66tyqqx/Z3651xwzgkYYR1ETdmddcqL6/3a+H
# ifS5K99N+q7rX/Rp31AUlNsb53xhh43NWUAg5Tzrb9J54mBR6Z/MafmTVHcK2nK6
# RRYaUfxs/WuE2+OzX7MdG/URi1lVuOu7hp7AKnSjcLnOcBG7lkSK1Q1pCuACYMkv
# Cl+7keio376akUfumX3HqEVgK8ttZiRgiVHR7Q0CAwEAAaOCARYwggESMBAGCSsG
# AQQBgjcVAQQDAgEAMB0GA1UdDgQWBBTwKRT1aiEUklZUE6Q91a3wITrFeDAZBgkr
# BgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
# AwEB/zAfBgNVHSMEGDAWgBRSvxsquCggUTGvI6e+I5TG0fkUMDA8BgNVHR8ENTAz
# MDGgL6AthitodHRwOi8vY3JsLnNja2Nlbi5iZS9TQ0tDRU4lMjBSb290JTIwQ0Eu
# Y3JsMEcGCCsGAQUFBwEBBDswOTA3BggrBgEFBQcwAoYraHR0cDovL2NybC5zY2tj
# ZW4uYmUvU0NLQ0VOJTIwUm9vdCUyMENBLmNydDANBgkqhkiG9w0BAQsFAAOCAgEA
# hsQ1eNAeFzKKGY9KW0VMGrLUbtccjHoeKlGdVn+yhS9xhSaIFgm00IPVO5zh9jKt
# gCA3o81TqY0w1WoRK1U8t89On5RZYVy39pDyu+oBlHgul9KOuJbIKLgh0VgEPvY3
# vM0h0bLdxIrnlIxchVxgs5y/h/wLKmXLjsg+AuYzsJ4+9GAD5SsdFGp2jiKPf9aw
# 6zG67an2yTqtvPfeoRpkMWO+Mx39CWWwfU3MaQySlAx0/JzZcqWzk6QFgN1h89wS
# BHD0mMFdnahEth5y9QhPkLydPniibF5VZ59gbUVlpFFz8VddmBtx9xfe5aIYEjkj
# 35HmEW/FN7qwnJP3dCljzFiqSueKqiFIN3punjHbMUoAxJnibx11Xz4pFm5mdk8v
# 95r+sncH8SFK/P5nUjjEYIBRInZiovl7C8KfI1RD9lXJDPdw5yVfkCpkCr/rYNNM
# BHfDYZ+G1NEu9WzE2NrknC4H4qoNJLmMjVPTswcIT780iOvFZRf1ql+0e2TKUHCO
# kZ+plXtl3H6MimrNk6B/ZQAy4mETNH6ceaoudV7X5Y7HzbTwSXCSw6GCiQMdYXgs
# Fp+lioorEmFZhVc2PTs+oUXbMi8IUaCyKEm6tMZHJ+PGU1YBE8Szyj5nI1SUhb+a
# HunRGlhgXPb4bnEdZVaMruxFM0UbriGwmkOEv9cPVpAxghmOMIIZigIBATBrMGYx
# CzAJBgNVBAYTAkJFMRIwEAYDVQQIEwlBbnR3ZXJwZW4xDDAKBgNVBAcTA01vbDEP
# MA0GA1UEChMGU0NLQ0VOMQwwCgYDVQQLEwNJQ1QxFjAUBgNVBAMTDVNDS0NFTiBJ
# Q1QgQ0ECAR8wDQYJYIZIAWUDBAIBBQCggbgwGQYJKoZIhvcNAQkDMQwGCisGAQQB
# gjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkE
# MSIEIDtmIbwqw856/M2x5EOkZUgiruYSO3kPDsJi1Wb6rMQYMEwGCisGAQQBgjcC
# AQwxPjA8oDqAOABJAG4AdABlAGcAcgBpAHQAeQAgACYAIABBAHUAdABoAGUAbgB0
# AGkAYwBpAHQAeQAgAEwAUwBXMA0GCSqGSIb3DQEBAQUABIIBAKPzTUgP4isJcnNU
# 6Hcm9fSJu+jfJmcGkPKMlN/+bwTJw5Rx9tNc/ED6pZapPgDI19/dAv+CM1ZNSTjO
# k64M3hk54GppKD2MTLnWTUTnSdT0TYOrStTeDVDicU0usBKjrHjotrjGkyhb9h0o
# 33appFEnVmAmP3kVUzEyKXN70r8+bTXA7jRDUkp/nHjyZqgvhote8H8lj6YnuH1k
# KtF7n52rww2n/LPILGDFONPmJV1Sh4IAizqlRCQAA0JpL47CJd34suz+NmuZDE08
# 6Aq1v/CDtHd4J6Wf6ZnhbVvicfjOLuP1TwL9B5DTGYL18y2lsjtkhmra92Da11lx
# Zy/7qHWhghc5MIIXNQYKKwYBBAGCNwMDATGCFyUwghchBgkqhkiG9w0BBwKgghcS
# MIIXDgIBAzEPMA0GCWCGSAFlAwQCAQUAMHcGCyqGSIb3DQEJEAEEoGgEZjBkAgEB
# BglghkgBhv1sBwEwMTANBglghkgBZQMEAgEFAAQgRgIVTRVjYy54qeM2ZEvZI93R
# YGW/DvEVo+dkOQpPbvkCEHNgwHgFNhM4SXUuAYuvrxcYDzIwMjUwNTIwMDkxMzA5
# WqCCEwMwgga8MIIEpKADAgECAhALrma8Wrp/lYfG+ekE4zMEMA0GCSqGSIb3DQEB
# CwUAMGMxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE7MDkG
# A1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0MDk2IFNIQTI1NiBUaW1lU3Rh
# bXBpbmcgQ0EwHhcNMjQwOTI2MDAwMDAwWhcNMzUxMTI1MjM1OTU5WjBCMQswCQYD
# VQQGEwJVUzERMA8GA1UEChMIRGlnaUNlcnQxIDAeBgNVBAMTF0RpZ2lDZXJ0IFRp
# bWVzdGFtcCAyMDI0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvmpz
# n/aVIauWMLpbbeZZo7Xo/ZEfGMSIO2qZ46XB/QowIEMSvgjEdEZ3v4vrrTHleW1J
# WGErrjOL0J4L0HqVR1czSzvUQ5xF7z4IQmn7dHY7yijvoQ7ujm0u6yXF2v1CrzZo
# pykD07/9fpAT4BxpT9vJoJqAsP8YuhRvflJ9YeHjes4fduksTHulntq9WelRWY++
# TFPxzZrbILRYynyEy7rS1lHQKFpXvo2GePfsMRhNf1F41nyEg5h7iOXv+vjX0K8R
# hUisfqw3TTLHj1uhS66YX2LZPxS4oaf33rp9HlfqSBePejlYeEdU740GKQM7SaVS
# H3TbBL8R6HwX9QVpGnXPlKdE4fBIn5BBFnV+KwPxRNUNK6lYk2y1WSKour4hJN0S
# MkoaNV8hyyADiX1xuTxKaXN12HgR+8WulU2d6zhzXomJ2PleI9V2yfmfXSPGYanG
# gxzqI+ShoOGLomMd3mJt92nm7Mheng/TBeSA2z4I78JpwGpTRHiT7yHqBiV2ngUI
# yCtd0pZ8zg3S7bk4QC4RrcnKJ3FbjyPAGogmoiZ33c1HG93Vp6lJ415ERcC7bFQM
# RbxqrMVANiav1k425zYyFMyLNyE1QulQSgDpW9rtvVcIH7WvG9sqYup9j8z9J1Xq
# bBZPJ5XLln8mS8wWmdDLnBHXgYly/p1DhoQo5fkCAwEAAaOCAYswggGHMA4GA1Ud
# DwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMI
# MCAGA1UdIAQZMBcwCAYGZ4EMAQQCMAsGCWCGSAGG/WwHATAfBgNVHSMEGDAWgBS6
# FtltTYUvcyl2mi91jGogj57IbzAdBgNVHQ4EFgQUn1csA3cOKBWQZqVjXu5Pkh92
# oFswWgYDVR0fBFMwUTBPoE2gS4ZJaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0Rp
# Z2lDZXJ0VHJ1c3RlZEc0UlNBNDA5NlNIQTI1NlRpbWVTdGFtcGluZ0NBLmNybDCB
# kAYIKwYBBQUHAQEEgYMwgYAwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2lj
# ZXJ0LmNvbTBYBggrBgEFBQcwAoZMaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29t
# L0RpZ2lDZXJ0VHJ1c3RlZEc0UlNBNDA5NlNIQTI1NlRpbWVTdGFtcGluZ0NBLmNy
# dDANBgkqhkiG9w0BAQsFAAOCAgEAPa0eH3aZW+M4hBJH2UOR9hHbm04IHdEoT8/T
# 3HuBSyZeq3jSi5GXeWP7xCKhVireKCnCs+8GZl2uVYFvQe+pPTScVJeCZSsMo1JC
# oZN2mMew/L4tpqVNbSpWO9QGFwfMEy60HofN6V51sMLMXNTLfhVqs+e8haupWiAr
# SozyAmGH/6oMQAh078qRh6wvJNU6gnh5OruCP1QUAvVSu4kqVOcJVozZR5RRb/zP
# d++PGE3qF1P3xWvYViUJLsxtvge/mzA75oBfFZSbdakHJe2BVDGIGVNVjOp8sNt7
# 0+kEoMF+T6tptMUNlehSR7vM+C13v9+9ZOUKzfRUAYSyyEmYtsnpltD/GWX8eM70
# ls1V6QG/ZOB6b6Yum1HvIiulqJ1Elesj5TMHq8CWT/xrW7twipXTJ5/i5pkU5E16
# RSBAdOp12aw8IQhhA/vEbFkEiF2abhuFixUDobZaA0VhqAsMHOmaT3XThZDNi5U2
# zHKhUs5uHHdG6BoQau75KiNbh0c+hatSF+02kULkftARjsyEpHKsF7u5zKRbt5oK
# 5YGwFvgc4pEVUNytmB3BpIiowOIIuDgP5M9WArHYSAR16gc0dP2XdkMEP5eBsX7b
# f/MGN4K3HP50v/01ZHo/Z5lGLvNwQ7XHBx1yomzLP8lx4Q1zZKDyHcp4VQJLu2kW
# TsKsOqQwggauMIIElqADAgECAhAHNje3JFR82Ees/ShmKl5bMA0GCSqGSIb3DQEB
# CwUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNV
# BAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0IFRydXN0ZWQg
# Um9vdCBHNDAeFw0yMjAzMjMwMDAwMDBaFw0zNzAzMjIyMzU5NTlaMGMxCzAJBgNV
# BAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNl
# cnQgVHJ1c3RlZCBHNCBSU0E0MDk2IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0EwggIi
# MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDGhjUGSbPBPXJJUVXHJQPE8pE3
# qZdRodbSg9GeTKJtoLDMg/la9hGhRBVCX6SI82j6ffOciQt/nR+eDzMfUBMLJnOW
# bfhXqAJ9/UO0hNoR8XOxs+4rgISKIhjf69o9xBd/qxkrPkLcZ47qUT3w1lbU5ygt
# 69OxtXXnHwZljZQp09nsad/ZkIdGAHvbREGJ3HxqV3rwN3mfXazL6IRktFLydkf3
# YYMZ3V+0VAshaG43IbtArF+y3kp9zvU5EmfvDqVjbOSmxR3NNg1c1eYbqMFkdECn
# wHLFuk4fsbVYTXn+149zk6wsOeKlSNbwsDETqVcplicu9Yemj052FVUmcJgmf6Aa
# RyBD40NjgHt1biclkJg6OBGz9vae5jtb7IHeIhTZgirHkr+g3uM+onP65x9abJTy
# UpURK1h0QCirc0PO30qhHGs4xSnzyqqWc0Jon7ZGs506o9UD4L/wojzKQtwYSH8U
# NM/STKvvmz3+DrhkKvp1KCRB7UK/BZxmSVJQ9FHzNklNiyDSLFc1eSuo80VgvCON
# WPfcYd6T/jnA+bIwpUzX6ZhKWD7TA4j+s4/TXkt2ElGTyYwMO1uKIqjBJgj5FBAS
# A31fI7tk42PgpuE+9sJ0sj8eCXbsq11GdeJgo1gJASgADoRU7s7pXcheMBK9Rp61
# 03a50g5rmQzSM7TNsQIDAQABo4IBXTCCAVkwEgYDVR0TAQH/BAgwBgEB/wIBADAd
# BgNVHQ4EFgQUuhbZbU2FL3MpdpovdYxqII+eyG8wHwYDVR0jBBgwFoAU7NfjgtJx
# XWRM3y5nP+e6mK4cD08wDgYDVR0PAQH/BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUF
# BwMIMHcGCCsGAQUFBwEBBGswaTAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGln
# aWNlcnQuY29tMEEGCCsGAQUFBzAChjVodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5j
# b20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNydDBDBgNVHR8EPDA6MDigNqA0hjJo
# dHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNy
# bDAgBgNVHSAEGTAXMAgGBmeBDAEEAjALBglghkgBhv1sBwEwDQYJKoZIhvcNAQEL
# BQADggIBAH1ZjsCTtm+YqUQiAX5m1tghQuGwGC4QTRPPMFPOvxj7x1Bd4ksp+3CK
# Daopafxpwc8dB+k+YMjYC+VcW9dth/qEICU0MWfNthKWb8RQTGIdDAiCqBa9qVbP
# FXONASIlzpVpP0d3+3J0FNf/q0+KLHqrhc1DX+1gtqpPkWaeLJ7giqzl/Yy8ZCaH
# bJK9nXzQcAp876i8dU+6WvepELJd6f8oVInw1YpxdmXazPByoyP6wCeCRK6ZJxur
# JB4mwbfeKuv2nrF5mYGjVoarCkXJ38SNoOeY+/umnXKvxMfBwWpx2cYTgAnEtp/N
# h4cku0+jSbl3ZpHxcpzpSwJSpzd+k1OsOx0ISQ+UzTl63f8lY5knLD0/a6fxZsNB
# zU+2QJshIUDQtxMkzdwdeDrknq3lNHGS1yZr5Dhzq6YBT70/O3itTK37xJV77Qpf
# MzmHQXh6OOmc4d0j/R0o08f56PGYX/sr2H7yRp11LB4nLCbbbxV7HhmLNriT1Oby
# F5lZynDwN7+YAN8gFk8n+2BnFqFmut1VwDophrCYoCvtlUG3OtUVmDG0YgkPCr2B
# 2RP+v6TR81fZvAT6gt4y3wSJ8ADNXcL50CN/AAvkdgIm2fBldkKmKYcJRyvmfxqk
# hQ/8mJb2VVQrH4D6wPIOK+XW+6kvRBVK5xMOHds3OBqhK/bt1nz8MIIFjTCCBHWg
# AwIBAgIQDpsYjvnQLefv21DiCEAYWjANBgkqhkiG9w0BAQwFADBlMQswCQYDVQQG
# EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
# cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcN
# MjIwODAxMDAwMDAwWhcNMzExMTA5MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEVMBMG
# A1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw
# HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqGSIb3DQEB
# AQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp
# pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+
# n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYykt
# zuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw
# 2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQjdjUN6Qu
# BX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/CNdaSaTC
# 5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtmmnTK
# 3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3
# IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEP
# lAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98
# THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t9dmpsh3l
# GwIDAQABo4IBOjCCATYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7NfjgtJx
# XWRM3y5nP+e6mK4cD08wHwYDVR0jBBgwFoAUReuir/SSy4IxLVGLp6chnfNtyA8w
# DgYDVR0PAQH/BAQDAgGGMHkGCCsGAQUFBwEBBG0wazAkBggrBgEFBQcwAYYYaHR0
# cDovL29jc3AuZGlnaWNlcnQuY29tMEMGCCsGAQUFBzAChjdodHRwOi8vY2FjZXJ0
# cy5kaWdpY2VydC5jb20vRGlnaUNlcnRBc3N1cmVkSURSb290Q0EuY3J0MEUGA1Ud
# HwQ+MDwwOqA4oDaGNGh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFz
# c3VyZWRJRFJvb3RDQS5jcmwwEQYDVR0gBAowCDAGBgRVHSAAMA0GCSqGSIb3DQEB
# DAUAA4IBAQBwoL9DXFXnOF+go3QbPbYW1/e/Vwe9mqyhhyzshV6pGrsi+IcaaVQi
# 7aSId229GhT0E0p6Ly23OO/0/4C5+KH38nLeJLxSA8hO0Cre+i1Wz/n096wwepqL
# sl7Uz9FDRJtDIeuWcqFItJnLnU+nBgMTdydE1Od/6Fmo8L8vC6bp8jQ87PcDx4eo
# 0kxAGTVGamlUsLihVo7spNU96LHc/RzY9HdaXFSMb++hUD38dglohJ9vytsgjTVg
# HAIDyyCwrFigDkBjxZgiwbJZ9VVrzyerbHbObyMt9H5xaiNrIv8SuFQtJ37YOtnw
# toeW/VvRXKwYw02fc7cBqZ9Xql4o4rmUMYIDdjCCA3ICAQEwdzBjMQswCQYDVQQG
# EwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xOzA5BgNVBAMTMkRpZ2lDZXJ0
# IFRydXN0ZWQgRzQgUlNBNDA5NiBTSEEyNTYgVGltZVN0YW1waW5nIENBAhALrma8
# Wrp/lYfG+ekE4zMEMA0GCWCGSAFlAwQCAQUAoIHRMBoGCSqGSIb3DQEJAzENBgsq
# hkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjUwNTIwMDkxMzA5WjArBgsqhkiG
# 9w0BCRACDDEcMBowGDAWBBTb04XuYtvSPnvk9nFIUIck1YZbRTAvBgkqhkiG9w0B
# CQQxIgQgWvOkQhDU4LMTl7rZpc14K9MtA6xFXEjx2H94oXpTbv4wNwYLKoZIhvcN
# AQkQAi8xKDAmMCQwIgQgdnafqPJjLx9DCzojMK7WVnX+13PbBdZluQWTmEOPmtsw
# DQYJKoZIhvcNAQEBBQAEggIAvJHFMeQCLgNS9BkmIDuEe8wQuT2huY4ABlf4Ner7
# OM2Yi3eAXSL+s+lGiAhvChu6vihD7T7Rua9esblrwfcEV5iWc6KrV2Ew6knEgyM+
# suThcoAvBB9lyMXJ1nr2ZTixVyviw1GjGoYxxZOpWjIurI6Ilx9WIChY+VKHI1lA
# cAzFHkff6ZPRcE8Ao/Go94xN/nFhEe1+1ltOXTVl/RmV6yKB/clBT8t1i5BoJrPs
# LeVhijdhujlrKzob7Kl2PhHNEi12Yv6pOKMApt2/gUMAcG0PhTbXotPSF+IK8PCP
# kF5Asa5v1lAQ7mvJqq184xm+W559g71zWW8R+VkgHydTteYeIXiwVk4hhJR6sR68
# MBc/n6ikdjhzqEyd2s5j0U4zMLgt4Y1LLTXGTvU2kWh9vAUlJ2dXBU8SbA99n5/j
# b3K4PuC/+GfhKF05ZjUVGclF/KJbvdy7FR1Oyesa3BwjlWqzykCIBLNJOXPQRzZJ
# chmU+elCL35yQds0X97R4yD/hCWxt4kEUhB82WLG6xqHgjw+6W3hVnv/0qVT3rhw
# 7mPxiNB6f8qat3BnLjfNfTkZZo6Uns7Y52cYcJ49fc2R+FbS8pE9rB/RJvFclYyy
# 1DKYkhpUmH6a0ySnt9A25WLhY8wCM6gYtinWaaLS5OISWnvAFPLxSn6ZJDs3rF4x
# PoI=
# SIG # End signature block