NetApp.ONTAP.psm1

# Conditional assembly loading based on PowerShell edition
if ($PSVersionTable.PSVersion -ge [version]'7.4') {
    $framework = 'net8.0'
} else {
    $framework = 'net472'
}

$modulePath = $PSScriptRoot

# Load required assemblies
$requiredAssemblies = @(
    'OntapiPS.dll',
    'DataONTAP.HostUtilities.dll'
)
foreach ($asm in $requiredAssemblies) {
    $asmPath = Join-Path $modulePath (Join-Path $framework $asm)
    Add-Type -Path $asmPath
}

# Import nested module DLLs
$nestedDlls = @(
    'DataONTAP.dll',
    'DataONTAP.C.dll',
    'DataONTAP.Host.dll'
)
foreach ($dll in $nestedDlls) {
    $dllPath = Join-Path $modulePath (Join-Path $framework $dll)
    Import-Module $dllPath
}

# Import script-based nested modules
Import-Module (Join-Path $modulePath 'DataONTAP.Alias.psm1')

# SIG # Begin signature block
# MIIvdwYJKoZIhvcNAQcCoIIvaDCCL2QCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCEi+liymUy8YuZ
# cTJNIgdND6YAM1ucEI3LXoVgbZvVsqCCElEwggXfMIIEx6ADAgECAhBOQOQ3VO3m
# jAAAAABR05R/MA0GCSqGSIb3DQEBCwUAMIG+MQswCQYDVQQGEwJVUzEWMBQGA1UE
# ChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9s
# ZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMDkgRW50cnVzdCwgSW5jLiAtIGZv
# ciBhdXRob3JpemVkIHVzZSBvbmx5MTIwMAYDVQQDEylFbnRydXN0IFJvb3QgQ2Vy
# dGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjAeFw0yMTA1MDcxNTQzNDVaFw0zMDEx
# MDcxNjEzNDVaMGkxCzAJBgNVBAYTAlVTMRYwFAYDVQQKDA1FbnRydXN0LCBJbmMu
# MUIwQAYDVQQDDDlFbnRydXN0IENvZGUgU2lnbmluZyBSb290IENlcnRpZmljYXRp
# b24gQXV0aG9yaXR5IC0gQ1NCUjEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
# AoICAQCngY/3FEW2YkPy2K7TJV5IT1G/xX2fUBw10dZ+YSqUGW0nRqSmGl33VFFq
# gCLGqGZ1TVSDyV5oG6v2W2Swra0gvVTvRmttAudFrnX2joq5Mi6LuHccUk15iF+l
# OhjJUCyXJy2/2gB9Y3/vMuxGh2Pbmp/DWiE2e/mb1cqgbnIs/OHxnnBNCFYVb5Cr
# +0i6udfBgniFZS5/tcnA4hS3NxFBBuKK4Kj25X62eAUBw2DtTwdBLgoTSeOQm3/d
# vfqsv2RR0VybtPVc51z/O5uloBrXfQmywrf/bhy8yH3m6Sv8crMU6UpVEoScRCV1
# HfYq8E+lID1oJethl3wP5bY9867DwRG8G47M4EcwXkIAhnHjWKwGymUfe5SmS1dn
# DH5erXhnW1XjXuvH2OxMbobL89z4n4eqclgSD32m+PhCOTs8LOQyTUmM4OEAwjig
# nPqEPkHcblauxhpb9GdoBQHNG7+uh7ydU/Yu6LZr5JnexU+HWKjSZR7IH9Vybu5Z
# HFc7CXKd18q3kMbNe0WSkUIDTH0/yvKquMIOhvMQn0YupGaGaFpoGHApOBGAYGuK
# Q6NzbOOzazf/5p1nAZKG3y9I0ftQYNVc/iHTAUJj/u9wtBfAj6ju08FLXxLq/f0u
# DodEYOOp9MIYo+P9zgyEIg3zp3jak/PbOM+5LzPG/wc8Xr5F0wIDAQABo4IBKzCC
# AScwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0lBBYw
# FAYIKwYBBQUHAwMGCCsGAQUFBwMIMDsGA1UdIAQ0MDIwMAYEVR0gADAoMCYGCCsG
# AQUFBwIBFhpodHRwOi8vd3d3LmVudHJ1c3QubmV0L3JwYTAzBggrBgEFBQcBAQQn
# MCUwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLmVudHJ1c3QubmV0MDAGA1UdHwQp
# MCcwJaAjoCGGH2h0dHA6Ly9jcmwuZW50cnVzdC5uZXQvZzJjYS5jcmwwHQYDVR0O
# BBYEFIK61j2Xzp/PceiSN6/9s7VpNVfPMB8GA1UdIwQYMBaAFGpyJnrQHu995ztp
# UdRsjZ+QEmarMA0GCSqGSIb3DQEBCwUAA4IBAQAfXkEEtoNwJFMsVXMdZTrA7LR7
# BJheWTgTCaRZlEJeUL9PbG4lIJCTWEAN9Rm0Yu4kXsIBWBUCHRAJb6jU+5J+Nzg+
# LxR9jx1DNmSzZhNfFMylcfdbIUvGl77clfxwfREc0yHd0CQ5KcX+Chqlz3t57jpv
# 3ty/6RHdFoMI0yyNf02oFHkvBWFSOOtg8xRofcuyiq3AlFzkJg4sit1Gw87kVlHF
# VuOFuE2bRXKLB/GK+0m4X9HyloFdaVIk8Qgj0tYjD+uL136LwZNr+vFie1jpUJuX
# bheIDeHGQ5jXgWG2hZ1H7LGerj8gO0Od2KIc4NR8CMKvdgb4YmZ6tvf6yK81MIIF
# 9jCCA96gAwIBAgIRAPraSCOjVVwNlOtjbFvkh/owDQYJKoZIhvcNAQENBQAwTzEL
# MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAMTH0Vu
# dHJ1c3QgQ29kZSBTaWduaW5nIENBIC0gT1ZDUzIwHhcNMjQwOTI1MDcxMjU4WhcN
# MjcxMDEzMDcxMjU2WjByMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p
# YTESMBAGA1UEBxMJU3Vubnl2YWxlMRQwEgYDVQQKEwtOZXRBcHAsIEluYzEOMAwG
# A1UECxMFTlBTVEsxFDASBgNVBAMTC05ldEFwcCwgSW5jMIIBojANBgkqhkiG9w0B
# AQEFAAOCAY8AMIIBigKCAYEAodolgP/sdEyqDEOwlPGv1+l7C3Zl8y9AgYwz44Iv
# 7nihbjvmTyI/COpShxrtB6W4gl7ra7ujHb0YTOMvzZxTStXzlvv871qXdJBKaDMR
# I78URGGBiQQ9N5jQjpAX7I9Zgdk2ByfFqTaN+DrYr7LJ7n5kMjUb8jA28iQjs20L
# r+MB8d2/mzRIzoD5+qoNkz9GqkEyN9PTos+3vZuLTTytt/XMx8M8C+wpJ4CpbAzu
# YogJUIYpzHtouPqQhJ52xDWq95g3cqFqnsP75kWaVPKndpWLukOjpVychBkiM926
# sSumPNmTCmskJj3LYWakZpKGNw2YDjX8975jJ8RbCOkR0fCbwhkhlu64QooQfyxD
# rSWM+Zk3CLgWEr+PiVILJs5nsj2r1H3R5w514QsB7p9s+SA5SjN2XR3tPk5LOzjh
# R/h6IzreT4jTucDFuJas2y54iD7b8QNU/P/WKEkRSMNYJSppHtnUaRLWG7nksVgl
# 1hKcgVk2JgoxBCU9cVxch+t5AgMBAAGjggEoMIIBJDAMBgNVHRMBAf8EAjAAMB0G
# A1UdDgQWBBQHkpMzcFmFVC9xjEGg+cApI16wYTAfBgNVHSMEGDAWgBTvn7p5sHPy
# JR54nANSnBtThN6N7TAOBgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUH
# AwMwZwYIKwYBBQUHAQEEWzBZMCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5lbnRy
# dXN0Lm5ldDAyBggrBgEFBQcwAoYmaHR0cDovL2FpYS5lbnRydXN0Lm5ldC9vdmNz
# Mi1jaGFpbi5wN2MwMQYDVR0fBCowKDAmoCSgIoYgaHR0cDovL2NybC5lbnRydXN0
# Lm5ldC9vdmNzMi5jcmwwEwYDVR0gBAwwCjAIBgZngQwBBAEwDQYJKoZIhvcNAQEN
# BQADggIBAB3oTu71pImq2f1BTcsJGA1Z6dqcIG08biLNRl8lzGJw7pIXZ6MEv8Zu
# 6R+4bCc07Bk6T/duO2Gpo8YJCj9aGcbwcLCpOWuNDrO69HnLHt1vd+4Yw4YN9t3M
# YwpT5K7qceVaM52m71c6MemzPa1Lcuzzj+rLoUhm/nlUPrs+ID5mUV2rpNU9BI8V
# oMQOl7cieLdZabSyLQtgdwI0E8fub5HAJgZKkXC6apu0aKREPUlnyr7bAXaoeCto
# DP2pw7ZhDkPKysaPxFQvm1DLCoV3ezARjnkHbpCx+3a/xEJkMR8POtfjkHis6z9Q
# B7Qps87ZytwRTUArd8cbFPr/JccNE0v8fJ50gL8MFMmlD1GCHSIEU0l+DP2LFgnG
# 84ykUqjjTjmpLZFv1tiTTrAH2tL/FXIa9tIm6zWFExCuvRwIDFd+SVs/XmP4bv2r
# w3f/9VFaAlbZePCqumr6udyG/3iDcvnh7hWl1hla7e3z2fS4fleBDBmGf/aDtjW8
# cJ6VzYEi7sE51lTRLsLsOIXd+AVsyETMiRVkf/CJxXNeKVfLbzPm3/vLM3IKT3WC
# R5TMHRC1HlijtirjlDi3zTgpo+rrP+oiZGOjoY55K0c0hx3Hf0F3wfIhHahfhmuv
# lvQFzzEoXljcaVs9PLpi88J/LAw6GgdvHumZi+8nuPBYr0RmiOSqMIIGcDCCBFig
# AwIBAgIQce9VdK81VMNaLGn2b0trzTANBgkqhkiG9w0BAQ0FADBpMQswCQYDVQQG
# EwJVUzEWMBQGA1UECgwNRW50cnVzdCwgSW5jLjFCMEAGA1UEAww5RW50cnVzdCBD
# b2RlIFNpZ25pbmcgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIENTQlIx
# MB4XDTIxMDUwNzE5MjA0NVoXDTQwMTIyOTIzNTkwMFowTzELMAkGA1UEBhMCVVMx
# FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAMTH0VudHJ1c3QgQ29kZSBT
# aWduaW5nIENBIC0gT1ZDUzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
# AQCemXYXGp5WFwhjLJNNg2GEMzQCttlioN7CDrkgTMhXnQ/dVFsNDNYB3S9I4ZEJ
# 4dvIFQSCtnvw2NYwOxlxcPuoppf2KV2kDKn0Uz5X2wxObvx2218k6apfQ+OT5w7P
# yiW8xEwwC1oP5gb05W4MmWZYT4NhwnN8XCJvAUXFD/dAT2RL0BcKqQ4eAi+hj0zy
# Z1DbPuSfwk8/dOsxpNCU0Jm8MJIJasskzaLYdlLQTnWYT2Ra0l6D9FjAXWp1xNg/
# ZDqLFA3YduHquWvnEXBJEThjE27xxvq9EEU1B+Z2FdB1FqrCQ1f+q/5jc0YioLjz
# 5MdwRgn5qTdBmrNLbB9wcqMH9jWSdBFkbvkC1cCSlfGXWX4N7qIl8nFVuJuNv83u
# rt37DOeuMk5QjaHf0XO/wc5/ddqrv9CtgjjF54jtom06hhG317DhqIs7DEEXml/k
# W5jInQCf93PSw+mfBYd5IYPWC+3RzAif4PHFyVi6U1/Uh7GLWajSXs1p0D76xDkJ
# r7S17ec8+iKH1nP5F5Vqwxz1VXhf1PoLwFs/jHgVDlpMOm7lJpjQJ8wg38CGO3qN
# ZUZ+2WFeqfSuPtT8r0XHOrOFBEqLyAlds3sCKFnjhn2AolhAZmLgOFWDq58pQSa6
# u+nYZPi2uyhzzRVK155z42ZMsVGdgSOLyIZ3srYsNyJwIQIDAQABo4IBLDCCASgw
# EgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU75+6ebBz8iUeeJwDUpwbU4Te
# je0wHwYDVR0jBBgwFoAUgrrWPZfOn89x6JI3r/2ztWk1V88wMwYIKwYBBQUHAQEE
# JzAlMCMGCCsGAQUFBzABhhdodHRwOi8vb2NzcC5lbnRydXN0Lm5ldDAxBgNVHR8E
# KjAoMCagJKAihiBodHRwOi8vY3JsLmVudHJ1c3QubmV0L2NzYnIxLmNybDAOBgNV
# HQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwMwRQYDVR0gBD4wPDAwBgRV
# HSAAMCgwJgYIKwYBBQUHAgEWGmh0dHA6Ly93d3cuZW50cnVzdC5uZXQvcnBhMAgG
# BmeBDAEEATANBgkqhkiG9w0BAQ0FAAOCAgEAXvOGmTXBee7wEK/XkkPShdBb4Jig
# 4HFRyRTLUJpgDrAEJkmxz+m6mwih2kNd1G8jorn4QMdH/k0BC0iQP8jcarQ+UzUo
# vkBKR4VqHndAzIB/YbQ8T3mo5qOmoH5EhnG/EhuVgXL3DaXQ3mefxqK48Wr5/P50
# ZsZk5nk9agNhTksfzCBiywIY7GPtfnE/lroLXmgiZ+wfwNIFFmaxsqTq/MWVo40S
# pfWN7xsgzZn35zLzWXEf3ZTmeeVSIxBWKvxZOL+/eSWSasf9q2d3cbEEfTWtFME+
# qPwjF1YIGHzXeiJrkWrMNUVtTzudQ50FuJ3z/DQhXAQYMlc4NMHKgyNGpogjIcZ+
# FICrse+7C6wJP+5TkTGz4lREqrV9MDwsI5zoP6NY6kAIF6MgX3rADNuq/wMWAw10
# ZCKalF4wNXYT9dPh4+AHytnqRYhGnFTVEOLzMglAtudcFzL+zK/rbc9gPHXz7lxg
# QFUbtVmvciNoTZx0BAwQya9QW6cNZg+W5ZqV4CCiGtCw7jhJnipnnpGWbJjbxBBt
# YHwebkjntn6vMwcSce+9lTu+qYPUQn23pzTXX4aRta9WWNpVfRe927zNZEEVjTFR
# Bk+0LrKLPZzzTeNYA1TMrIj4UjxOS0YJJRn/FeenmEYufbrq4+N8//m5GZW+drkN
# ebICURpKyJ+IwkMxghx8MIIceAIBATBkME8xCzAJBgNVBAYTAlVTMRYwFAYDVQQK
# Ew1FbnRydXN0LCBJbmMuMSgwJgYDVQQDEx9FbnRydXN0IENvZGUgU2lnbmluZyBD
# QSAtIE9WQ1MyAhEA+tpII6NVXA2U62NsW+SH+jANBglghkgBZQMEAgEFAKB8MBAG
# CisGAQQBgjcCAQwxAjAAMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisG
# AQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJBDEiBCCqK3p+optr
# njWDDyh2Svurbcx11uFyz3pRfH8YhzrPSDANBgkqhkiG9w0BAQEFAASCAYCPBkFy
# sCs4ttBrXG/Oh2yuFY+JyZMwIteGVkmtMAReSnLKaSJFy9vT7w3j8+8KubfXsl9X
# vewJyQ06OxTmGp1FJF+TeJWgVFWFeUIzlXUW6l5gBbjSZnE5lzZo1UcC+H5MR0I/
# b6Af//k+w5HpsdrrnexHXUqWodc3zFwLvn5oFii6tdwQBzC+uKU+q3n8PA69RYLa
# Znun5MfSDqh1vE12BuCJx95zDP4ZzLNu3i6RgTorEosgnGOtNjHb+k/1q05JBp1v
# WjPCXhy7h531+E//9BLr8M35i/vmcfU5ER29LPPX8tAvCgWcKBdi7+AiThhLISLh
# 7yJI2zPCCRXT2g1nyR/j+sZnm0CnN2a4XXyXxjWAx0AJiDvE4055Dx4cz9Jze31x
# Qj/gPldt6JfPz2frUkVkb6h4misAtQ0D8lC9dMDlJgpitnckO9Uq7jpjM8KY20B+
# khnQtO7xbUF4T3q7UqG93dFfsMOT1CW7FOwjNNaEzZ8NtRthu23hWyRRMWehghnr
# MIIZ5wYKKwYBBAGCNwMDATGCGdcwghnTBgkqhkiG9w0BBwKgghnEMIIZwAIBAzEP
# MA0GCWCGSAFlAwQCAgUAMIH3BgsqhkiG9w0BCRABBKCB5wSB5DCB4QIBAQYKKwYB
# BAGyMQIBATAxMA0GCWCGSAFlAwQCAQUABCC0zB+6wQgs6Atjg0LZMjkEyebhHS8S
# 61OfiARs6Nk9hAIUJPHPmGMiJTvy6pRWboWHVOdHxfgYDzIwMjYwODIzMDIzNTE1
# WqB2pHQwcjELMAkGA1UEBhMCR0IxFzAVBgNVBAgTDkdyZWF0ZXIgTG9uZG9uMRgw
# FgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxMDAuBgNVBAMTJ1NlY3RpZ28gUHVibGlj
# IFRpbWUgU3RhbXBpbmcgU2lnbmVyIFIzN6CCFBcwggbiMIIEyqADAgECAhEA507y
# VbBQT/rbpt/3/IujFTANBgkqhkiG9w0BAQwFADBVMQswCQYDVQQGEwJHQjEYMBYG
# A1UEChMPU2VjdGlnbyBMaW1pdGVkMSwwKgYDVQQDEyNTZWN0aWdvIFB1YmxpYyBU
# aW1lIFN0YW1waW5nIENBIFI0MTAeFw0yNjAzMjUwMDAwMDBaFw0zNzA2MjQyMzU5
# NTlaMHIxCzAJBgNVBAYTAkdCMRcwFQYDVQQIEw5HcmVhdGVyIExvbmRvbjEYMBYG
# A1UEChMPU2VjdGlnbyBMaW1pdGVkMTAwLgYDVQQDEydTZWN0aWdvIFB1YmxpYyBU
# aW1lIFN0YW1waW5nIFNpZ25lciBSMzcwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
# ggIKAoICAQCy/8NtS9xQ2UUtBRF32bj7VK3n4m50Uqjk/zTciSziYV40H1LKah0/
# oEklYG42E4VCP3DvsBUB6DmpCkDZ0jCnZBPIEevaH15ZJOQwFWP2ZXr5YjlJpb68
# Nlbs+ElNvKx32/1YHde3qqUSLybjulxPLz6T85+HOIqK7M1Bep8LspyhEP/q6nw5
# kGxTSrGvufmeH+JF8CnVBcVMFA40FlIYh0cDJVFhhfTfdWgLy/vWuLMQoKkf3s/F
# vByf16r0rtbyHm/iemwxSioJL9zyZDDKUNAbHXl0dhXo2VxUV2NcPXWXuoKsjL+6
# cfk6Vm2DHnxAlFdFsaBDIF1JOkSnC6PeLlBznZn2buF3vIIYJcq6N/zeFRCk4/HX
# Dz7zgRsRRMdUB+rhyk5FoZaBjw0nLq3GZ3fClLUx5es5pUAxzNODMBn7JkFYip2B
# AGBPER5eV0ROhk6tGTG+fUiMiV+vgjg1YnP5FvnYWyEtWeQD/B2hp3vz0RvtdkM0
# p3igyadzrfpOBq5ppVk/YsuhTQkP99ivneHAGfi5e7lmxJ+meoBPrRLuzMmb81rz
# zbESjJHMsn5RVtc6Ucs7rcMqQC13PUIO7BbGBETV2ufCmV6lPTp3P7XJOvmnUCRT
# PbVvMTpxP/z+SOHg4/OCBhiqs4FA9+4oQvlkk9w32NGASli9GWrm5wIDAQABo4IB
# jjCCAYowHwYDVR0jBBgwFoAUOnSlDGfGQlDC/bX8x7spNIL0erkwHQYDVR0OBBYE
# FGEQ6XoSr1HEhdTyz6R0D1DNIK/4MA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E
# AjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMEoGA1UdIARDMEEwCAYGZ4EMAQQC
# MDUGDCsGAQQBsjEBAgEDCDAlMCMGCCsGAQUFBwIBFhdodHRwczovL3NlY3RpZ28u
# Y29tL0NQUzBKBgNVHR8EQzBBMD+gPaA7hjlodHRwOi8vY3JsLnNlY3RpZ28uY29t
# L1NlY3RpZ29QdWJsaWNUaW1lU3RhbXBpbmdDQVI0MS5jcmwwegYIKwYBBQUHAQEE
# bjBsMEUGCCsGAQUFBzAChjlodHRwOi8vY3J0LnNlY3RpZ28uY29tL1NlY3RpZ29Q
# dWJsaWNUaW1lU3RhbXBpbmdDQVI0MS5jcnQwIwYIKwYBBQUHMAGGF2h0dHA6Ly9v
# Y3NwLnNlY3RpZ28uY29tMA0GCSqGSIb3DQEBDAUAA4ICAQAD6j2N0azN+hl6k6bK
# B5/U6VuSOs93ZBb3Pczy9VtBIKu4947Z5GwL0aFngIxl+GSuLFrJgPruBCRvKJEJ
# sm7kv+LQ1COVCEG9tZ+IRtr4ocUoa53lgdFaENlS0N4wgkZkbQEPv+x+1lSjYh+T
# 4JeL9mUznT7Erc6Sp5dWLka5sMP/m3GZi6oJPdPcsCKWagH7m2H2xDGIyHJC5PdH
# 9phvi/KmhkktiSVTNNqVeV5bWdX2zhRE6UTfz0IcMoCL996lFIydXxOCE4MNDHDM
# 0as4lnTiT/KHMccO6l8c9TnUVgmpci9ar1IABZ2U1XUkYjGGSn9MC3EHDP9V39Vu
# BVvZ33/BEV/EWSRrf07T7jFplKX+gQr/UOqPGMlE7ZJ72UaUkNJy7bVl3bcLKzdp
# jIHzLkf/4MVa1V7w8wqCv5W4gOnRGTlud5UMARbRM8BPxR/CXYXoMmIOD8pmTk2a
# xgRL4LG8XtuchISdCHRmtacAmLGq5XSYSVTHTXADlO48iDKh3HM2r98LSF6f0sG1
# 2d8V9Jn7C3wDUieOxuKj4MdWrW+hiJU2kF87v6eH00HgCFFc2V0+CvfOCMn7juzS
# 41jLaINcBlKWQ/fKb/uDLfWOW73z1I2lFY7Xj8tQ1XYtK5eREjWItM8jpl1cbQOc
# 88btR+0XS2TmboE/141+va2PWzCCBqcwggSPoAMCAQICEQCQrAhyIP3Fp8RrXMcN
# 9z0GMA0GCSqGSIb3DQEBDAUAMFcxCzAJBgNVBAYTAkdCMRgwFgYDVQQKEw9TZWN0
# aWdvIExpbWl0ZWQxLjAsBgNVBAMTJVNlY3RpZ28gUHVibGljIFRpbWUgU3RhbXBp
# bmcgUm9vdCBSNDYwHhcNMjYwMzI1MDAwMDAwWhcNNDEwMzI0MjM1OTU5WjBVMQsw
# CQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSwwKgYDVQQDEyNT
# ZWN0aWdvIFB1YmxpYyBUaW1lIFN0YW1waW5nIENBIFI0MTCCAiIwDQYJKoZIhvcN
# AQEBBQADggIPADCCAgoCggIBAK7kSqIBrYIcYvlmLVuaA8zw1RfBhkn4G1Coemzj
# cYtML6yNUvKmwGH7y6/5MuSC1UYP/+9KYDSqvMQt/1hEKHYxMAD9oZpBkoaDQFEK
# bOJHelsKe+BaO0ZcENTKfePcraVkA7wrGAW2XHA5gQCQv4IKori/3PNOXxnDMOk8
# yIMgVrlMeTxqfWJ4XkjT1xc2s9DD7URHWWJOFobTPoWs6mrDFlaY9FlAHDYTfbzv
# xQHVsvRmn3W+5ZmCwyk02I8KgGPT/UX4sTz41GiR+ppwUjQXa1+2tEHZbsdAKUtH
# 3OPEVtZvlt7atx4h83IdRR8oYi8wjY3OjFKXFecWpQbzzsPxbUKPwMWiTrzwkrFa
# 8dH/1pDKRJt371W62PfqKPayCr/XbnBOlRn8CALSmHnRtGzuAWtTJpcT3BKw6oy8
# IIL6wSbu938F6ZIbRNIc1dKbIJtr4ULN6R5ZfTdNEhwXctqp3RHDbg4fuOl6LjNo
# aFwjud92EEDhzxFJzE1jqN4csceZIwxOT1aqfsfh0uFQE/lgTBuBs3i6/WL2W1Oc
# eWLy3XEdXRK1f0EWCuea6dNfX2RRdjUfk5EltFnJkN2+bWhnK14OPRKcyjOv5hKZ
# 0iV4NRNd1+hjtva1rPyzb5Bs7EvFxqEQhgZbOq7qH3nm0rBwA0dxniBOYCFPdu24
# 6JCxAgMBAAGjggFuMIIBajAfBgNVHSMEGDAWgBT2d2rdP/0BE/8WoWyCAi/QCj0U
# JTAdBgNVHQ4EFgQUOnSlDGfGQlDC/bX8x7spNIL0erkwDgYDVR0PAQH/BAQDAgGG
# MBIGA1UdEwEB/wQIMAYBAf8CAQAwEwYDVR0lBAwwCgYIKwYBBQUHAwgwIwYDVR0g
# BBwwGjAIBgZngQwBBAIwDgYMKwYBBAGyMQECAQMIMEwGA1UdHwRFMEMwQaA/oD2G
# O2h0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGlnb1B1YmxpY1RpbWVTdGFtcGlu
# Z1Jvb3RSNDYuY3JsMHwGCCsGAQUFBwEBBHAwbjBHBggrBgEFBQcwAoY7aHR0cDov
# L2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUHVibGljVGltZVN0YW1waW5nUm9vdFI0
# Ni5wN2MwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMA0GCSqG
# SIb3DQEBDAUAA4ICAQAy3lJHZvGeA2b43yhzoarvobHVzbfl+RfuPDwej0wCQkYA
# N6scTt2GwFe22qbOCv/tllqFlLKQZE+E9jVyuPTbyQHwrM7R0oLapAEDC1+Cowsq
# SRf/ptira5Pfd4PoHICnb9coPQtyZmHSQp5y9IGvqWf1qNfq7V2fHZ8DvEQrLUze
# oGF9BJRYu2OzacW3QQtUum3NOVf0gPRwv6I4991uhncJ6VP4lcpUpHZKB7R3hiIU
# C09mR9KjzPVnXHvL9n2bAwiUECfK5Zezhiw27F2tgi39DETfU8M4n0N6xLgFzsf0
# 5M5GURX8C9+IX9V6kpmmKtrUzMti4LD66gtmf+mSm934K81NL6YQeMEk1rpYrWPy
# pcW76Mir6wb1AgseLIHqn/GkeuQm7zOTDf3f5WoX14qVNjZWNHF3JxkutV6Znhin
# fCLfdv5bnwKWUfceqOajCVntI6uCbHxjBg6SCsexc5AfIGno7gVFvwifT4XONPsS
# UaJ71XsJ+EvciVUVnjOO4qxm0fWJTd8a7jP8mc4ZPqwJvQFtOp7+6G+kUJAF0fnE
# 8YgD8uttBReNTa1YmAeFMiqc38e8fI4eLm0zjM/eeGCHasnoqqrbGwcF41iz9HXz
# FDwN4iD5z3QShp6HRiU3UpTwDJiiXcr0z6pjl7PyzJ3/tmWtGehV7CAfc/WlyzCC
# BoIwggRqoAMCAQICEDbCsL18Gzrno7PdNsvJdWgwDQYJKoZIhvcNAQEMBQAwgYgx
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtKZXJz
# ZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYDVQQD
# EyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTIxMDMy
# MjAwMDAwMFoXDTM4MDExODIzNTk1OVowVzELMAkGA1UEBhMCR0IxGDAWBgNVBAoT
# D1NlY3RpZ28gTGltaXRlZDEuMCwGA1UEAxMlU2VjdGlnbyBQdWJsaWMgVGltZSBT
# dGFtcGluZyBSb290IFI0NjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
# AIid2LlFZ50d3ei5JoGaVFTAfEkFm8xaFQ/ZlBBEtEFAgXcUmanU5HYsyAhTXiDQ
# kiUvpVdYqZ1uYoZEMgtHES1l1Cc6HaqZzEbOOp6YiTx63ywTon434aXVydmhx7Dx
# 4IBrAou7hNGsKioIBPy5GMN7KmgYmuu4f92sKKjbxqohUSfjk1mJlAjthgF7Hjx4
# vvyVDQGsd5KarLW5d73E3ThobSkob2SL48LpUR/O627pDchxll+bTSv1gASn/hp6
# IuHJorEu6EopoB1CNFp/+HpTXeNARXUmdRMKbnXWflq+/g36NJXB35ZvxQw6zid6
# 1qmrlD/IbKJA6COw/8lFSPQwBP1ityZdwuCysCKZ9ZjczMqbUcLFyq6KdOpuzVDR
# 3ZUwxDKL1wCAxgL2Mpz7eZbrb/JWXiOcNzDpQsmwGQ6Stw8tTCqPumhLRPb7YkzM
# 8/6NnWH3T9ClmcGSF22LEyJYNWCHrQqYubNeKolzqUbCqhSqmr/UdUeb49zYHr7A
# LL8bAJyPDmubNqMtuaobKASBqP84uhqcRY/pjnYd+V5/dcu9ieERjiRKKsxCG1t6
# tG9oj7liwPddXEcYGOUiWLm742st50jGwTzxbMpepmOP1mLnJskvZaN5e45NuzAH
# teORlsSuDt5t4BBRCJL+5EZnnw0ezntk9R8QJyAkL6/bAgMBAAGjggEWMIIBEjAf
# BgNVHSMEGDAWgBRTeb9aqitKz1SA4dibwJ3ysgNmyzAdBgNVHQ4EFgQU9ndq3T/9
# ARP/FqFsggIv0Ao9FCUwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8w
# EwYDVR0lBAwwCgYIKwYBBQUHAwgwEQYDVR0gBAowCDAGBgRVHSAAMFAGA1UdHwRJ
# MEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FD
# ZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYB
# BQUHMAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQAD
# ggIBAA6+ZUHtaES45aHF1BGH5Lc7JYzrftrIF5Ht2PFDxKKFOct/awAEWgHQMVHo
# l9ZLSyd/pYMbaC0IZ+XBW9xhdkkmUV/KbUOiL7g98M/yzRyqUOZ1/IY7Ay0YbMni
# IibJrPcgFp73WDnRDKtVutShPSZQZAdtFwXnuiWl8eFARK3PmLqEm9UsVX+55DbV
# Iz33Mbhba0HUTEYv3yJ1fwKGxPBsP/MgTECimh7eXomvMm0/GPxX2uhwCcs/YLxD
# nBdVVlxvDjHjO1cuwbOpkiJGHmLXXVNbsdXUC2xBrq9fLrfe8IBsA4hopwsCj8hT
# uwKXJlSTrZcPRVSccP5i9U28gZ7OMzoJGlxZ5384OKm0r568Mo9TYrqzKeKZgFo0
# fj2/0iHbj55hc20jfxvK3mQi+H7xpbzxZOFGm/yVQkpo+ffv5gdhp+hv1GDsvJOt
# JinJmgGbBFZIThbqI+MHvAmMmkfb3fTxmSkop2mSJL1Y2x/955S29Gu0gSJIkc3z
# 30vU/iXrMpWx2tS7UVfVP+5tKuzGtgkP7d/doqDrLF1u6Ci3TpjAZdeLLlRQZm86
# 7eVeXED58LXd1Dk6UvaAhvmWYXoiLz4JA5gPBcz7J311uahxCweNxE+xxxR3kT0W
# KzASo5G/PyDez6NHdIUKBeE3jDPs2ACc6CkJ1Sji4PKWVT0/MYIEkzCCBI8CAQEw
# ajBVMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSwwKgYD
# VQQDEyNTZWN0aWdvIFB1YmxpYyBUaW1lIFN0YW1waW5nIENBIFI0MQIRAOdO8lWw
# UE/626bf9/yLoxUwDQYJYIZIAWUDBAICBQCgggH6MBoGCSqGSIb3DQEJAzENBgsq
# hkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwODIzMDIzNTE1WjA/BgkqhkiG
# 9w0BCQQxMgQwy3WOoW4C70LfDbs+QeYM1bSjrOgYdqfqg99I5R1SRCAwrgOqpKjJ
# AF7/9Jy/UpACMIIBewYLKoZIhvcNAQkQAgwxggFqMIIBZjCCAWIwFgQU6XgYqSja
# FQqf4b+czHqruaAO7qwwgYgEFGXDKGlvfU5QLP0Dx8IGlxjK+/dPMHAwW6RZMFcx
# CzAJBgNVBAYTAkdCMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxLjAsBgNVBAMT
# JVNlY3RpZ28gUHVibGljIFRpbWUgU3RhbXBpbmcgUm9vdCBSNDYCEQCQrAhyIP3F
# p8RrXMcN9z0GMIG8BBSFPWMtk4KCYXzQkDXEkd6SwULaxzCBozCBjqSBizCBiDEL
# MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl
# eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT
# JVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkCEDbCsL18Gzrn
# o7PdNsvJdWgwDQYJKoZIhvcNAQEBBQAEggIAD9JmdT+KL+jBKNI8F/0EsFjc6xrp
# yTGMlvvzaAufkG77mQEdGF8dYb5LTx6oRI0aKJPq7HlX2EbtTnQRUWSALxR44E03
# kSxqlGx3AQXn+xjiOS4IOtLwltpBRowBsk3pB/3BuxT4Q6DBfb6kALfeVeEyBDy8
# 7cwoDc5F60njfTDkJY11GwWVX4oNq4nmAFfZD8GWKE01EZE3B9ipl4L51Ek4dtbt
# UTpOOJWbKpfXCu8wOjty4PAYlwi3lCd5gs+IBauxBub1J9cLDAHZ+Tyr02Kg4JzJ
# lbCZtvcn/p6REVzeRc8uKiarjyaAS6BWQWLf4dlojaNmym52wLgmXNYYfPIqgniG
# H6lAWfQXpsN4I7B0Cd6L0I7A/IJXbQ8mBAwefTQopiox5CBu2foElgvo8g1ffAQR
# uE8mGwVFSxs6BFtLsR6GtmADxJ/ukvayzVLuEpeOQYN9d48erXjwvYnFq5bMeB4d
# tcMJR0LtxzksctLCmpFLDpm8u4+6mVLdrKYbRsmNIOHukKSQT21KMt8ZYW+qGLwn
# otc4ujmG+sZF4y+K/kpCm9EBjXLP9Qaf1l7xazk+86CGqiAuMdEH3BghNENLQh2V
# n8cetn7/NjT2+xMJS6EnsbBXpRJ6znRiA8qs+Hxu4RoA2pkeO8z8OidFKZWMEOUl
# q1jkuNt3bRgcFyQ=
# SIG # End signature block