LXCAPSTool.psd1

# ------------------------------------------------------------------
# Lenovo Copyright
#
# (C) Copyright Lenovo 2020 - present.
#
# LIMITED AND RESTRICTED RIGHTS NOTICE:
# If data or software is delivered pursuant a General Services
# Administration (GSA) contract, use, reproduction, or disclosure
# is subject to restrictions set forth in Contract No. GS-35F-05925.
# ------------------------------------------------------------------

#
# Module manifest for module 'LXCAPSTool'
#
# Generated by: "Lenovo"
#

@{

# Script module or binary module file associated with this manifest
RootModule = 'LXCAPSTool.psm1'

# Version number of this module.
ModuleVersion = '4.1.0.19'

# ID used to uniquely identify this module
GUID = 'a0b0eede-6d1c-409c-b8a4-122b862fe857'

# Author of this module
Author = 'Lenovo Corporation'

# Company or vendor of this module
CompanyName = 'Lenovo Corporation'

# Copyright statement for this module
Copyright = 'Copyright (c) Lenovo. All rights reserved.'

# Description of the functionality provided by this module
Description = 'Lenovo XClarity Administrator PowerShell tool
 
The LXCAPSTool cmdlets use REST APIs that are provided for Lenovo XClarity Administrator to enable you to automate functions such as:
- Logging in to Lenovo XClarity Administrator;
- Collecting inventory data to support the management of chassis and servers (endpoints);
- Deploying an operating system image to one or more endpoints;
- Configuring endpoints through the use of Configuration Patterns;
- Applying firmware update to endpoint;
- Managing user accounts;
- Monitoring events;
 
Lenovo XClarity Administrator is a centralized, resource-management solution that is aimed at reducing complexity, speeding response, and enhancing the availability of Lenovo server systems and solutions. It runs as a virtual appliance that you can use to manage Flex System chassis and System x rack servers in a secure environment.
Get more detail information from:
https://pubs.lenovo.com/lxca/
 
Lenovo XClarity Administrator REST APIs used in this module:
https://pubs.lenovo.com/lxca_scripting/rest_apis
'


# Modules that must be imported into the global environment prior to importing this module
RequiredModules = @()

# Functions to export from this module
FunctionsToExport = @()

# Cmdlets to export from this module
CmdletsToExport = @(
'Add-LXCAEventExclusionFilter','Add-LXCAJobNote','Add-LXCAManagedDevice','Add-LXCAPSLogHeader','Add-LXCARack','Add-LXCARackItem','Add-LXCAResourceGroupMembers','Add-LXCARoleGroup',
'Add-LXCAStoredCredential','Add-LXCAUserAccount',
'Backup-LXCA','Backup-LXCAEventLog','Backup-LXCASwitchConfig',
'Connect-LXCA','Disconnect-LXCA',
'Copy-LXCABackup',
'Get-LXCAActiveAlert','Get-LXCAActiveSession','Get-LXCAActiveStatus','Get-LXCAAuditLog','Get-LXCAAvailableMachineType','Get-LXCAChassis','Get-LXCAChassisInventory','Get-LXCAChassisMember',
'Get-LXCAComputeNode','Get-LXCAConfigPattern','Get-LXCAConfigPatternDeployableServer','Get-LXCAConfigProfile','Get-LXCAConnection','Get-LXCADeployableServer','Get-LXCADeployGlobalSetting',
'Get-LXCADeviceMaintenance','Get-LXCADevicesWarranty','Get-LXCAEncapsulation','Get-LXCAEvent','Get-LXCAEventExclusionFilter','Get-LXCAFFDCFile','Get-LXCAInformation','Get-LXCAIOModule',
'Get-LXCAJobNotes','Get-LXCALicensableDeviceCount','Get-LXCALicenseCompliance','Get-LXCALicenseWarningPeriod','Get-LXCAManagementServerPackage','Get-LXCAOSImage','Get-LXCAQuantityLicense',
'Get-LXCARack','Get-LXCARackServer','Get-LXCARackSwitch','Get-LXCAResourceGroups','Get-LXCARole','Get-LXCARoleGroup','Get-LXCAScalableComplexSystem','Get-LXCASchedule','Get-LXCAScheduleAction',
'Get-LXCAServer','Get-LXCAServiceFile','Get-LXCAServiceTickets','Get-LXCAStorage','Get-LXCAStorageNode','Get-LXCAStoredCredential','Get-LXCASwitchConfigData','Get-LXCASwitchConfigFile',
'Get-LXCASystemCompliance','Get-LXCATask','Get-LXCAThinkServer','Get-LXCAUpdateCompliancePolicy','Get-LXCAUpdatePackage','Get-LXCAUserAccount','Get-LXCABackups','Get-LXCASingleSignOn',
'Get-LXCAIdentityManagementSystems','Get-LXCABulletins','Get-LXCAServersGlobalSettings',
'Import-LXCAConfigPattern','Import-LXCAOSImage','Import-LXCASwitchConfig','Import-LXCAUpdatePackage','Import-LXCABackup',
'Install-LXCAConfigPattern','Install-LXCAConfigProfile','Install-LXCAOSImage','Install-LXCAQuantityLicense','Install-LXCAStoredCredential','Install-LXCATrustedCertificate',
'Install-LXCAUpdateManagementServer','Install-LXCAUpdatePackage',
'Invoke-LXCARestMethod','Invoke-LXCASystemAction',
'Join-LXCAUpdateCompliancePolicy',
'New-LXCADeployTask','New-LXCAScheduleObj','New-LXCAScheduleRule',
'Remove-LXCAConfigProfileFromSystem','Remove-LXCAEventExclusionFilter','Remove-LXCAJobNotes','Remove-LXCAManagedDevice','Remove-LXCAOSImage','Remove-LXCAQuantityLicense','Remove-LXCARack',
'Remove-LXCARackItem','Remove-LXCARoleGroup','Remove-LXCASchedule','Remove-LXCAStoredCredential','Remove-LXCASwitchConfigFile','Remove-LXCATask','Remove-LXCAUserAccount','Remove-LXCABackup'
'Restore-LXCASwitchConfig','Restore-LXCABackup',
'Set-LXCADeployGlobalSetting','Set-LXCADeviceMaintenance','Set-LXCAEncapsulation','Set-LXCALicenseWarningPeriod','Set-LXCAPSLogLevel','Set-LXCARack','Set-LXCARackItem','Set-LXCAResourceAccessControl',
'Set-LXCAResourceView','Set-LXCARoleGroup','Set-LXCAStoredCredential','Set-LXCASwitchPort','Set-LXCASystemIPInterface','Set-LXCASystemProperty','Set-LXCAUserAccount','Set-LXCAUserAccountPassword',
'Set-LXCASingleSignOn','Set-LXCABulletinService','Set-LXCAServersGlobalSettings',
'Start-LXCAEventMonitor',
'Stop-LXCATask',
'Update-LXCAFirmwareRepository'
)

# Variables to export from this module
VariablesToExport = '*'

# Aliases to export from this module
AliasesToExport = @('Get-LXCAJob','Remove-LXCAJob','Stop-LXCAJob')

# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
PrivateData = @{

    PSData = @{

        # Tags applied to this module. These help with module discovery in online galleries.
        Tags = @('LXCA', 'LXCAPSTool', 'XClarity')

        # A URL to the license for this module.
        LicenseUri = 'https://datacentersupport.lenovo.com/docs/UM920681'

        # A URL to the main website for this project.
        # ProjectUri = ''

        # A URL to an icon representing this module.
        # IconUri = ''

        # ReleaseNotes of this module
    ReleaseNotes = 'Released v4.1.0 (June 2024)
 
This LXCAPSTool version supports the following Lenovo XClarity Administrator versions:
    - 4.0.0, 4.1.0
 
New features and bug fixes:
  - Updated cmdlets:
      * add edge server support for:
        - Get-LXCAServer,
        - Get-LXCAUpdateCompliancePolicy,
        - Join-LXCAUpdateCompliancePolicy,
        - Get-LXCASystemCompliance,
        - Install-LXCAUpdatePackage.
  - Fixes:
      * add logging support on linux and macOS hosts.
'


    } # End of PSData hashtable

} # End of PrivateData hashtable

# HelpInfo URI of this module
HelpInfoURI = 'https://pubs.lenovo.com/lxca_scripting/pshell_overview'

}

# SIG # Begin signature block
# MIIoQQYJKoZIhvcNAQcCoIIoMjCCKC4CAQExDzANBglghkgBZQMEAgIFADCBiQYK
# KwYBBAGCNwIBBKB7MHkwNAYKKwYBBAGCNwIBHjAmAgMBAAAEEB/MO2BZSwhOtyTS
# xil+81ECAQACAQACAQACAQACAQAwQTANBglghkgBZQMEAgIFAAQwxbM1VDkX6Bdm
# sGkaRiphcu5KUSheUA2FOzfR9AaMJ3Yg9808keTeaNSzdmB7yUA+oIINnDCCBrAw
# ggSYoAMCAQICEAitQLJg0pxMn17Nqb2TrtkwDQYJKoZIhvcNAQEMBQAwYjELMAkG
# A1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRp
# Z2ljZXJ0LmNvbTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1c3RlZCBSb290IEc0MB4X
# DTIxMDQyOTAwMDAwMFoXDTM2MDQyODIzNTk1OVowaTELMAkGA1UEBhMCVVMxFzAV
# BgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2VydCBUcnVzdGVk
# IEc0IENvZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENBMTCCAiIwDQYJ
# KoZIhvcNAQEBBQADggIPADCCAgoCggIBANW0L0LQKK14t13VOVkbsYhC9TOM6z2B
# l3DFu8SFJjCfpI5o2Fz16zQkB+FLT9N4Q/QX1x7a+dLVZxpSTw6hV/yImcGRzIED
# Pk1wJGSzjeIIfTR9TIBXEmtDmpnyxTsf8u/LR1oTpkyzASAl8xDTi7L7CPCK4J0J
# wGWn+piASTWHPVEZ6JAheEUuoZ8s4RjCGszF7pNJcEIyj/vG6hzzZWiRok1MghFI
# UmjeEL0UV13oGBNlxX+yT4UsSKRWhDXW+S6cqgAV0Tf+GgaUwnzI6hsy5srC9Kej
# Aw50pa85tqtgEuPo1rn3MeHcreQYoNjBI0dHs6EPbqOrbZgGgxu3amct0r1EGpIQ
# gY+wOwnXx5syWsL/amBUi0nBk+3htFzgb+sm+YzVsvk4EObqzpH1vtP7b5NhNFy8
# k0UogzYqZihfsHPOiyYlBrKD1Fz2FRlM7WLgXjPy6OjsCqewAyuRsjZ5vvetCB51
# pmXMu+NIUPN3kRr+21CiRshhWJj1fAIWPIMorTmG7NS3DVPQ+EfmdTCN7DCTdhSm
# W0tddGFNPxKRdt6/WMtyEClB8NXFbSZ2aBFBE1ia3CYrAfSJTVnbeM+BSj5AR1/J
# gVBzhRAjIVlgimRUwcwhGug4GXxmHM14OEUwmU//Y09Mu6oNCFNBfFg9R7P6tuyM
# MgkCzGw8DFYRAgMBAAGjggFZMIIBVTASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1Ud
# DgQWBBRoN+Drtjv4XxGG+/5hewiIZfROQjAfBgNVHSMEGDAWgBTs1+OC0nFdZEzf
# Lmc/57qYrhwPTzAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwMw
# dwYIKwYBBQUHAQEEazBpMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy
# dC5jb20wQQYIKwYBBQUHMAKGNWh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9E
# aWdpQ2VydFRydXN0ZWRSb290RzQuY3J0MEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6
# Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRSb290RzQuY3JsMBwG
# A1UdIAQVMBMwBwYFZ4EMAQMwCAYGZ4EMAQQBMA0GCSqGSIb3DQEBDAUAA4ICAQA6
# I0Q9jQh27o+8OpnTVuACGqX4SDTzLLbmdGb3lHKxAMqvbDAnExKekESfS/2eo3wm
# 1Te8Ol1IbZXVP0n0J7sWgUVQ/Zy9toXgdn43ccsi91qqkM/1k2rj6yDR1VB5iJqK
# isG2vaFIGH7c2IAaERkYzWGZgVb2yeN258TkG19D+D6U/3Y5PZ7Umc9K3SjrXyah
# lVhI1Rr+1yc//ZDRdobdHLBgXPMNqO7giaG9OeE4Ttpuuzad++UhU1rDyulq8aI+
# 20O4M8hPOBSSmfXdzlRt2V0CFB9AM3wD4pWywiF1c1LLRtjENByipUuNzW92NyyF
# PxrOJukYvpAHsEN/lYgggnDwzMrv/Sk1XB+JOFX3N4qLCaHLC+kxGv8uGVw5ceG+
# nKcKBtYmZ7eS5k5f3nqsSc8upHSSrds8pJyGH+PBVhsrI/+PteqIe3Br5qC6/To/
# RabE6BaRUotBwEiES5ZNq0RA443wFSjO7fEYVgcqLxDEDAhkPDOPriiMPMuPiAsN
# vzv0zh57ju+168u38HcT5ucoP6wSrqUvImxB+YJcFWbMbA7KxYbD9iYzDAdLoNMH
# AmpqQDBISzSoUSC7rRuFCOJZDW3KBVAr6kocnqX9oKcfBnTn8tZSkP2vhUgh+Vc7
# tJwD7YZF9LRhbr9o4iZghurIr6n+lB3nYxs6hlZ4TjCCBuQwggTMoAMCAQICEAfv
# xXBeZx00pwPtfOkTbpUwDQYJKoZIhvcNAQELBQAwaTELMAkGA1UEBhMCVVMxFzAV
# BgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2VydCBUcnVzdGVk
# IEc0IENvZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENBMTAeFw0yNDA4
# MjcwMDAwMDBaFw0yNTA4MjcyMzU5NTlaMGwxCzAJBgNVBAYTAlVTMRcwFQYDVQQI
# Ew5Ob3J0aCBDYXJvbGluYTEUMBIGA1UEBxMLTW9ycmlzdmlsbGUxDzANBgNVBAoT
# Bkxlbm92bzEMMAoGA1UECxMDRzA1MQ8wDQYDVQQDEwZMZW5vdm8wggGiMA0GCSqG
# SIb3DQEBAQUAA4IBjwAwggGKAoIBgQCd/1fAKl3CXqVpvZ+mDttTXr28NfkmuOFG
# 2y0gCeSIoxwXPU/6LZLY4H25nzDdUKok2IJVPntpoljPoYqc5laVyfLc7qyQW5wr
# LFcbXMN9VLnIvWQNpcZMCfjOxOfZ/9lMJTsSWojrJPNoD0FPjdokfqSpYz5dZWHj
# tgB1fzpL7XrgNKW0LMU4FFY7rEDVWis2DOJbreL+FBka13FA44+2IHhCtl94QmDw
# 6mUyieF8cv5yPFC3+g4Jijwc/7aEd7l9/Dt6LeeROnaXaKkwian79sG6Vx+pEKev
# sc2nEnGfdPwunfbczVp4/CIBWfYjc62k/eQ4LJqrxMUOVMPwm8BLiXrw6KPvXMAr
# wK1GVEp597Q3tjdfYblulNU8xTkZvq8noGvkGIVj9wsowtbRmGG7tI3931MUaG55
# fxosP8qlJEcoiqVIH6GY2lqs4+tpyn9pPFEXl+FbqgzFvvEQY3zNfExzmaFEY7p5
# JeYA86xZyv8ZrFwQembskRluZ1RXHpUCAwEAAaOCAgMwggH/MB8GA1UdIwQYMBaA
# FGg34Ou2O/hfEYb7/mF7CIhl9E5CMB0GA1UdDgQWBBRcKYCm09rcEoh9ItgmgfQ0
# g8Z2pjA+BgNVHSAENzA1MDMGBmeBDAEEATApMCcGCCsGAQUFBwIBFhtodHRwOi8v
# d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoG
# CCsGAQUFBwMDMIG1BgNVHR8Ega0wgaowU6BRoE+GTWh0dHA6Ly9jcmwzLmRpZ2lj
# ZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENvZGVTaWduaW5nUlNBNDA5NlNIQTM4
# NDIwMjFDQTEuY3JsMFOgUaBPhk1odHRwOi8vY3JsNC5kaWdpY2VydC5jb20vRGln
# aUNlcnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JTQTQwOTZTSEEzODQyMDIxQ0ExLmNy
# bDCBlAYIKwYBBQUHAQEEgYcwgYQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRp
# Z2ljZXJ0LmNvbTBcBggrBgEFBQcwAoZQaHR0cDovL2NhY2VydHMuZGlnaWNlcnQu
# Y29tL0RpZ2lDZXJ0VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hBMzg0MjAy
# MUNBMS5jcnQwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAgEAV+ZtahJbS8vF
# OPEf0kerCG9eb6oLFFVpJLcRqFaJuAm0WK5EU7AoR6jkMddXvWqCzVPYZwCRpp15
# oAr04xcnqR//m3qnGRf8pRy8ZBMSEDhSA5dcsWvE9tIxQZD16GTapSDJKkT5CaNJ
# gBDeSjWWQRd2gFQYI1A6tq8bKDMDUjwdWdCtV5FUqtrXbar6Nv6gIAQJA10OEmMS
# iBcAlD0b8CJKYQFnvyntOQQQjU8oz6zQ4ZX99EhXmrvaG32hq3d1IPQHGiVwnC6r
# 2V7gLQYUcJ+dlb/MS0qopVjdzbQXz3NZkOkSAjgAKb5sfZpDd+az4g6RTdWeK7Iu
# IyXMOVREQrQiHdVmYJ1SBfViZ4/KHgQBxCUy9fC800+QrZI1+j07isOdvZCZOcig
# NKNoMGJxnSMkvdYRbn1DbErYCVSLBxqTX11prMetVp2BqkM9wyos4as0hQ2zJbZj
# MFDhdBMjfixvopfQzZnDXqglyIlTM232MdHt//mACeu5a56gBkfCr6JojlAe5eqR
# Ue9nCT0JSVZ21f77481YG5hPU9tlMrwGDhR7SLgVewVoZrRk9/nUhbk4jLD8pWxZ
# cf6hXJw5hyjm4envplL+0gtsZFBY10xZl93BdmJC5lQOEmko18Svp5gDZzIKlHU5
# grTaAetTEBvCRqAB/HF/A+epWU6Wwd8xghnqMIIZ5gIBATB9MGkxCzAJBgNVBAYT
# AlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQg
# VHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcgUlNBNDA5NiBTSEEzODQgMjAyMSBDQTEC
# EAfvxXBeZx00pwPtfOkTbpUwDQYJYIZIAWUDBAICBQCggYwwEAYKKwYBBAGCNwIB
# DDECMAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
# MAwGCisGAQQBgjcCARUwPwYJKoZIhvcNAQkEMTIEMDYCTvovzCG2SNMFkRyk7hrI
# cl/VpWWdY7iQOzbb0tAZUHL2Ny2lO2DlyPenV6PnZTANBgkqhkiG9w0BAQEFAASC
# AYBHc6rT41Se+TDtJ65FRsGMqbx6QZ3ngsC6DyIkvtnjF6eV5ly7eq3hB4R5585X
# oZs7bNinYvfOO4SmB1j8J0mUpIyT/9C6qxEBChR5o7v6y1M2JX596RJcvJsx3LLj
# jILIudO3RN1mZ935UKNQS07PDkIj+wj1Z+ZeZQhyKf0wzlzXdBbH3jJpOUC2STK9
# dnxB18XrhG7xMa6gDd9xey67bEqR0qsn2FnLivjNNHkFgBUfyv0fpwV9Get5H6cZ
# 59CsEu1RSmoWsLtqEynFJCzuIdGtCJ05TxNYkmalAy/r8aBYFPx8zS3qsz4pcmDn
# v1X3SAZRgFGLVLTwFEkmzS7UB8up+7IYkUFRJ/Te9ktCzB4fPqxmMTOHAJ1ZQ56X
# 381e/nuH3wT396092mzMYJ9NzapZZwF1d5Fb3q6XjfbBdyBnF4+/zsPIHFIcC/5Z
# rfVlOf1+X4qM+K+ZvaQt0hdOeIRO9SPz5wo/d9lQ5rR9n5jPzRz6expVA3VUvpkK
# ohmhghcvMIIXKwYKKwYBBAGCNwMDATGCFxswghcXBgkqhkiG9w0BBwKgghcIMIIX
# BAIBAzEPMA0GCWCGSAFlAwQCAQUAMGcGCyqGSIb3DQEJEAEEoFgEVjBUAgEBBglg
# hkgBhv1sBwEwITAJBgUrDgMCGgUABBQwNxitUqlLOdR0YwDOVAvOpoDXBAIQOgyz
# S724l4YTJgm1lB2RGBgPMjAyNDA5MDkyMjU1MTJaoIITCTCCBsIwggSqoAMCAQIC
# EAVEr/OUnQg5pr/bP1/lYRYwDQYJKoZIhvcNAQELBQAwYzELMAkGA1UEBhMCVVMx
# FzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMTswOQYDVQQDEzJEaWdpQ2VydCBUcnVz
# dGVkIEc0IFJTQTQwOTYgU0hBMjU2IFRpbWVTdGFtcGluZyBDQTAeFw0yMzA3MTQw
# MDAwMDBaFw0zNDEwMTMyMzU5NTlaMEgxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5E
# aWdpQ2VydCwgSW5jLjEgMB4GA1UEAxMXRGlnaUNlcnQgVGltZXN0YW1wIDIwMjMw
# ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCjU0WHHYOOW6w+VLMj4M+f
# 1+XS512hDgncL0ijl3o7Kpxn3GIVWMGpkxGnzaqyat0QKYoeYmNp01icNXG/Opfr
# lFCPHCDqx5o7L5Zm42nnaf5bw9YrIBzBl5S0pVCB8s/LB6YwaMqDQtr8fwkklKSC
# Gtpqutg7yl3eGRiF+0XqDWFsnf5xXsQGmjzwxS55DxtmUuPI1j5f2kPThPXQx/ZI
# LV5FdZZ1/t0QoRuDwbjmUpW1R9d4KTlr4HhZl+NEK0rVlc7vCBfqgmRN/yPjyobu
# tKQhZHDr1eWg2mOzLukF7qr2JPUdvJscsrdf3/Dudn0xmWVHVZ1KJC+sK5e+n+T9
# e3M+Mu5SNPvUu+vUoCw0m+PebmQZBzcBkQ8ctVHNqkxmg4hoYru8QRt4GW3k2Q/g
# WEH72LEs4VGvtK0VBhTqYggT02kefGRNnQ/fztFejKqrUBXJs8q818Q7aESjpTtC
# /XN97t0K/3k0EH6mXApYTAA+hWl1x4Nk1nXNjxJ2VqUk+tfEayG66B80mC866msB
# sPf7Kobse1I4qZgJoXGybHGvPrhvltXhEBP+YUcKjP7wtsfVx95sJPC/QoLKoHE9
# nJKTBLRpcCcNT7e1NtHJXwikcKPsCvERLmTgyyIryvEoEyFJUX4GZtM7vvrrkTjY
# UQfKlLfiUKHzOtOKg8tAewIDAQABo4IBizCCAYcwDgYDVR0PAQH/BAQDAgeAMAwG
# A1UdEwEB/wQCMAAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwIAYDVR0gBBkwFzAI
# BgZngQwBBAIwCwYJYIZIAYb9bAcBMB8GA1UdIwQYMBaAFLoW2W1NhS9zKXaaL3WM
# aiCPnshvMB0GA1UdDgQWBBSltu8T5+/N0GSh1VapZTGj3tXjSTBaBgNVHR8EUzBR
# ME+gTaBLhklodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVk
# RzRSU0E0MDk2U0hBMjU2VGltZVN0YW1waW5nQ0EuY3JsMIGQBggrBgEFBQcBAQSB
# gzCBgDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMFgGCCsG
# AQUFBzAChkxodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVz
# dGVkRzRSU0E0MDk2U0hBMjU2VGltZVN0YW1waW5nQ0EuY3J0MA0GCSqGSIb3DQEB
# CwUAA4ICAQCBGtbeoKm1mBe8cI1PijxonNgl/8ss5M3qXSKS7IwiAqm4z4Co2efj
# xe0mgopxLxjdTrbebNfhYJwr7e09SI64a7p8Xb3CYTdoSXej65CqEtcnhfOOHpLa
# wkA4n13IoC4leCWdKgV6hCmYtld5j9smViuw86e9NwzYmHZPVrlSwradOKmB521B
# XIxp0bkrxMZ7z5z6eOKTGnaiaXXTUOREEr4gDZ6pRND45Ul3CFohxbTPmJUaVLq5
# vMFpGbrPFvKDNzRusEEm3d5al08zjdSNd311RaGlWCZqA0Xe2VC1UIyvVr1MxeFG
# xSjTredDAHDezJieGYkD6tSRN+9NUvPJYCHEVkft2hFLjDLDiOZY4rbbPvlfsELW
# j+MXkdGqwFXjhr+sJyxB0JozSqg21Llyln6XeThIX8rC3D0y33XWNmdaifj2p8fl
# TzU8AL2+nCpseQHc2kTmOt44OwdeOVj0fHMxVaCAEcsUDH6uvP6k63llqmjWIso7
# 65qCNVcoFstp8jKastLYOrixRoZruhf9xHdsFWyuq69zOuhJRrfVf8y2OMDY7Bz1
# tqG4QyzfTkx9HmhwwHcK1ALgXGC7KP845VJa1qwXIiNO9OzTF/tQa/8Hdx9xl0RB
# ybhG02wyfFgvZ0dl5Rtztpn5aywGRu9BHvDwX+Db2a2QgESvgBBBijCCBq4wggSW
# oAMCAQICEAc2N7ckVHzYR6z9KGYqXlswDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE
# BhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2lj
# ZXJ0LmNvbTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1c3RlZCBSb290IEc0MB4XDTIy
# MDMyMzAwMDAwMFoXDTM3MDMyMjIzNTk1OVowYzELMAkGA1UEBhMCVVMxFzAVBgNV
# BAoTDkRpZ2lDZXJ0LCBJbmMuMTswOQYDVQQDEzJEaWdpQ2VydCBUcnVzdGVkIEc0
# IFJTQTQwOTYgU0hBMjU2IFRpbWVTdGFtcGluZyBDQTCCAiIwDQYJKoZIhvcNAQEB
# BQADggIPADCCAgoCggIBAMaGNQZJs8E9cklRVcclA8TykTepl1Gh1tKD0Z5Mom2g
# sMyD+Vr2EaFEFUJfpIjzaPp985yJC3+dH54PMx9QEwsmc5Zt+FeoAn39Q7SE2hHx
# c7Gz7iuAhIoiGN/r2j3EF3+rGSs+QtxnjupRPfDWVtTnKC3r07G1decfBmWNlCnT
# 2exp39mQh0YAe9tEQYncfGpXevA3eZ9drMvohGS0UvJ2R/dhgxndX7RUCyFobjch
# u0CsX7LeSn3O9TkSZ+8OpWNs5KbFHc02DVzV5huowWR0QKfAcsW6Th+xtVhNef7X
# j3OTrCw54qVI1vCwMROpVymWJy71h6aPTnYVVSZwmCZ/oBpHIEPjQ2OAe3VuJyWQ
# mDo4EbP29p7mO1vsgd4iFNmCKseSv6De4z6ic/rnH1pslPJSlRErWHRAKKtzQ87f
# SqEcazjFKfPKqpZzQmiftkaznTqj1QPgv/CiPMpC3BhIfxQ0z9JMq++bPf4OuGQq
# +nUoJEHtQr8FnGZJUlD0UfM2SU2LINIsVzV5K6jzRWC8I41Y99xh3pP+OcD5sjCl
# TNfpmEpYPtMDiP6zj9NeS3YSUZPJjAw7W4oiqMEmCPkUEBIDfV8ju2TjY+Cm4T72
# wnSyPx4JduyrXUZ14mCjWAkBKAAOhFTuzuldyF4wEr1GnrXTdrnSDmuZDNIztM2x
# AgMBAAGjggFdMIIBWTASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBS6Ftlt
# TYUvcyl2mi91jGogj57IbzAfBgNVHSMEGDAWgBTs1+OC0nFdZEzfLmc/57qYrhwP
# TzAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwgwdwYIKwYBBQUH
# AQEEazBpMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQQYI
# KwYBBQUHMAKGNWh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRy
# dXN0ZWRSb290RzQuY3J0MEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwzLmRp
# Z2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRSb290RzQuY3JsMCAGA1UdIAQZMBcw
# CAYGZ4EMAQQCMAsGCWCGSAGG/WwHATANBgkqhkiG9w0BAQsFAAOCAgEAfVmOwJO2
# b5ipRCIBfmbW2CFC4bAYLhBNE88wU86/GPvHUF3iSyn7cIoNqilp/GnBzx0H6T5g
# yNgL5Vxb122H+oQgJTQxZ822EpZvxFBMYh0MCIKoFr2pVs8Vc40BIiXOlWk/R3f7
# cnQU1/+rT4osequFzUNf7WC2qk+RZp4snuCKrOX9jLxkJodskr2dfNBwCnzvqLx1
# T7pa96kQsl3p/yhUifDVinF2ZdrM8HKjI/rAJ4JErpknG6skHibBt94q6/aesXmZ
# gaNWhqsKRcnfxI2g55j7+6adcq/Ex8HBanHZxhOACcS2n82HhyS7T6NJuXdmkfFy
# nOlLAlKnN36TU6w7HQhJD5TNOXrd/yVjmScsPT9rp/Fmw0HNT7ZAmyEhQNC3EyTN
# 3B14OuSereU0cZLXJmvkOHOrpgFPvT87eK1MrfvElXvtCl8zOYdBeHo46Zzh3SP9
# HSjTx/no8Zhf+yvYfvJGnXUsHicsJttvFXseGYs2uJPU5vIXmVnKcPA3v5gA3yAW
# Tyf7YGcWoWa63VXAOimGsJigK+2VQbc61RWYMbRiCQ8KvYHZE/6/pNHzV9m8BPqC
# 3jLfBInwAM1dwvnQI38AC+R2AibZ8GV2QqYphwlHK+Z/GqSFD/yYlvZVVCsfgPrA
# 8g4r5db7qS9EFUrnEw4d2zc4GqEr9u3WfPwwggWNMIIEdaADAgECAhAOmxiO+dAt
# 5+/bUOIIQBhaMA0GCSqGSIb3DQEBDAUAMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
# EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNV
# BAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0yMjA4MDEwMDAwMDBa
# Fw0zMTExMDkyMzU5NTlaMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2Vy
# dCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lD
# ZXJ0IFRydXN0ZWQgUm9vdCBHNDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
# ggIBAL/mkHNo3rvkXUo8MCIwaTPswqclLskhPfKK2FnC4SmnPVirdprNrnsbhA3E
# MB/zG6Q4FutWxpdtHauyefLKEdLkX9YFPFIPUh/GnhWlfr6fqVcWWVVyr2iTcMKy
# unWZanMylNEQRBAu34LzB4TmdDttceItDBvuINXJIB1jKS3O7F5OyJP4IWGbNOsF
# xl7sWxq868nPzaw0QF+xembud8hIqGZXV59UWI4MK7dPpzDZVu7Ke13jrclPXuU1
# 5zHL2pNe3I6PgNq2kZhAkHnDeMe2scS1ahg4AxCN2NQ3pC4FfYj1gj4QkXCrVYJB
# MtfbBHMqbpEBfCFM1LyuGwN1XXhm2ToxRJozQL8I11pJpMLmqaBn3aQnvKFPObUR
# WBf3JFxGj2T3wWmIdph2PVldQnaHiZdpekjw4KISG2aadMreSx7nDmOu5tTvkpI6
# nj3cAORFJYm2mkQZK37AlLTSYW3rM9nF30sEAMx9HJXDj/chsrIRt7t/8tWMcCxB
# YKqxYxhElRp2Yn72gLD76GSmM9GJB+G9t+ZDpBi4pncB4Q+UDCEdslQpJYls5Q5S
# UUd0viastkF13nqsX40/ybzTQRESW+UQUOsxxcpyFiIJ33xMdT9j7CFfxCBRa2+x
# q4aLT8LWRV+dIPyhHsXAj6KxfgommfXkaS+YHS312amyHeUbAgMBAAGjggE6MIIB
# NjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTs1+OC0nFdZEzfLmc/57qYrhwP
# TzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzAOBgNVHQ8BAf8EBAMC
# AYYweQYIKwYBBQUHAQEEbTBrMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdp
# Y2VydC5jb20wQwYIKwYBBQUHMAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNv
# bS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcnQwRQYDVR0fBD4wPDA6oDigNoY0
# aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENB
# LmNybDARBgNVHSAECjAIMAYGBFUdIAAwDQYJKoZIhvcNAQEMBQADggEBAHCgv0Nc
# Vec4X6CjdBs9thbX979XB72arKGHLOyFXqkauyL4hxppVCLtpIh3bb0aFPQTSnov
# Lbc47/T/gLn4offyct4kvFIDyE7QKt76LVbP+fT3rDB6mouyXtTP0UNEm0Mh65Zy
# oUi0mcudT6cGAxN3J0TU53/oWajwvy8LpunyNDzs9wPHh6jSTEAZNUZqaVSwuKFW
# juyk1T3osdz9HNj0d1pcVIxv76FQPfx2CWiEn2/K2yCNNWAcAgPLILCsWKAOQGPF
# mCLBsln1VWvPJ6tsds5vIy30fnFqI2si/xK4VC0nftg62fC2h5b9W9FcrBjDTZ9z
# twGpn1eqXijiuZQxggN2MIIDcgIBATB3MGMxCzAJBgNVBAYTAlVTMRcwFQYDVQQK
# Ew5EaWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBS
# U0E0MDk2IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0ECEAVEr/OUnQg5pr/bP1/lYRYw
# DQYJYIZIAWUDBAIBBQCggdEwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwG
# CSqGSIb3DQEJBTEPFw0yNDA5MDkyMjU1MTJaMCsGCyqGSIb3DQEJEAIMMRwwGjAY
# MBYEFGbwKzLCwskPgl3OqorJxk8ZnM9AMC8GCSqGSIb3DQEJBDEiBCC7sHAKu7VD
# /7TAv/Evp7MTg1bARwxwdanQHH5shMwWlzA3BgsqhkiG9w0BCRACLzEoMCYwJDAi
# BCDS9uRt7XQizNHUQFdoQTZvgoraVZquMxavTRqa1Ax4KDANBgkqhkiG9w0BAQEF
# AASCAgCARbtLq14cyuHgFyHtMXKjv/riln5ZXUn1iAMAw7Ugfcw1fWjGwvKgU/Cm
# hTDuNxghzwplkik77wqI7N5o4sOC+PftEolmc0RLzuh168xJWTmbYtpugqvAqjNo
# U487BwtcaZj6q61MkmIg3EU3dq40tus2phu/g0tr2hI0Uc3R3QdxcaMXXN7q38Y8
# gvTCigvIz43NDn34mOUOYuxLwqkVJYKhY/7zINtk/6iBuRGcPOyDpNTC7P7iisPG
# D0L0W3/4LYQP2rdTbm0EN5CJRICo4yboWLMe+tFQ3eS7+8MlmWUKQM6OSu+e7ha3
# ytkHIuAFpH4hidrdDmy7UbbV+O324ph+vHnd7BXiW6HZNMsQ5WvxQZ59Jcz1cAmY
# zWvnKxOkR+NTFyI7ELBNfZwQ3fk+v0t16RV28EHoKHPkXCrPZ4iY1/Es5sHipqv+
# KNhGAyAAMWSrMubAd2ftc2TJJbCgs/2rN3ZG5/3eiWd3rwnIWmEgCadJamHjKmLf
# gMlwlzBT5EiR4B70N5FdhzmQxSAOJyMNcY+QHGy9FKP6095mlrxsML5OYSBkl1Qw
# 8gKHFDh+VbDx3K+eRITsahQSfnWjmb4GRUgKRE49CgK5CuoFxsizGmPpho+wWJ58
# sFVq/fjy9BRL/CJL5Gn8Aay+gSvonyNDvtZKgn6TCLW/wPxeMA==
# SIG # End signature block