Samples/E2E-hub-devices/common/devices.ps1
|
# ------------------------------------------------------------------ # Lenovo Copyright # # (C) Copyright Lenovo 2026 - 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. # ------------------------------------------------------------------ function DiscoverDevices() { [CmdletBinding()] param ( [Parameter(mandatory = $true)] [ValidateNotNullOrEmpty()] [string[]] $DevicesIPs, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] $ManagerID ) $result = Find-LXC1Devices -ManagerID $ManagerID ` -Hosts $DevicesIPs return $result } function GetDiscoveredDevices() { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] $ManagerIP ) $discovered = $null do { $discovered = Get-LXC1DiscoveredDevice -ManagementHub $ManagerIP if ($discovered.Response.results.Count -eq 0) { Write-Host "Waiting for discovered devices to be available in portal ..." Start-Sleep -Seconds 5 } } while ($discovered.Response.results.Count -eq 0) $devices = @() foreach ($device in $($discovered.Response.results)) { $devices += $device.uuid } return $devices } function AddDiscoveredDevices() { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] $ManagerID, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] $DeviceUUIDs, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [PSCredential]$DeviceCredential ) $result = Add-LXC1Devices -UserName $DeviceCredential.GetNetworkCredential().UserName ` -Password $DeviceCredential.Password ` -HubID $ManagerID ` -DeviceUUIDs $DeviceUUIDs return $result } function GetDevicesInventory() { $devices = $null do { $devices = Get-LXC1Device if ($devices.Response.results.Count -eq 0) { Write-Host "Waiting for devices to be available in portal ..." Start-Sleep -Seconds 5 } } while ($devices.Response.results.Count -eq 0) return $devices } function DevicePowerOps() { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] $Devices, [Parameter(Mandatory = $true)] [ValidateSet("powerOn", "powerOffNormally", "powerOffImmediately", "restartNormally", "restartImmediately", "restartSystemSetup", "restartManagementController")] $Action ) $deviceIDs = @() foreach($item in $Devices.Response.results) { $deviceIDs += $item.id } $result = Invoke-LXC1DevicePowerAction -PowerAction $Action ` -DeviceIDs $deviceIDs return $result } function RemoveDevices() { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] $Devices ) $devicesIDs = @() foreach($dev in $Devices.Response.results) { $devicesIDs += $dev.id } $result = Remove-LXC1Devices -DeviceIDs $devicesIDs return $result } #EOF # SIG # Begin signature block # MIIonAYJKoZIhvcNAQcCoIIojTCCKIkCAQExDzANBglghkgBZQMEAgIFADCBiQYK # KwYBBAGCNwIBBKB7MHkwNAYKKwYBBAGCNwIBHjAmAgMBAAAEEB/MO2BZSwhOtyTS # xil+81ECAQACAQACAQACAQACAQAwQTANBglghkgBZQMEAgIFAAQwbdUaYeJbzN6a # lw03gzCzA/Ks4dyFT0xXu14lpxMcwe9qBXNDALrWCZNbsSkLovCqoIINjjCCBrAw # 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+lB3nYxs6hlZ4TjCCBtYwggS+oAMCAQICEA4N # SQ+9/yWf5fddvJTWmGgwDQYJKoZIhvcNAQELBQAwaTELMAkGA1UEBhMCVVMxFzAV # BgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2VydCBUcnVzdGVk # IEc0IENvZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENBMTAeFw0yNTA4 # MjIwMDAwMDBaFw0yNjA4MjEyMzU5NTlaMF4xCzAJBgNVBAYTAlVTMRcwFQYDVQQI # Ew5Ob3J0aCBDYXJvbGluYTEUMBIGA1UEBxMLTW9ycmlzdmlsbGUxDzANBgNVBAoT # Bkxlbm92bzEPMA0GA1UEAxMGTGVub3ZvMIIBojANBgkqhkiG9w0BAQEFAAOCAY8A # MIIBigKCAYEAy5eIM5QMR+UMRJIlyLW6kLSSDS92mk9KYxnRrgw2kxTWayrUB1lC # ICb+RXO4ZCUGpNiSWOizwNd6YExVqCb2/Y7HQ7VSIbwawUqyAX7DRtnhi/hUXcFv # idKk5qUCuz8p9T8NYgirlxBJd5KZAbx3SBeKKaYtfl6VLw6GpdWxVzRhl/AO21j+ # 8L52t7Eh6md2mizqOgUoJ41XJ15OpnpqY79a0PHeswxukWinUZFAlxtIHg4fCn2/ # wl9hqa6LRyP7+WzroI6fkXJs2slyejY0PCid9nCdSv5CvJeYJ5tRw6yHUVM2gVis # SAwa4KW954nhZkw94Sx6T65kZ/MZ4dH7kTTmgln33WSHukoIpsF5vICDBsIrbr9i # PNDw+viT6QrI4CqAOsf75cCstg3vK2b1/TbI/ahJUzAiGHrHi31jq8HAujPryV3a # oY3e6yLIm7FHLHB1xOdjXfbl5n5roTnQoDHKNk9ybO3SEetoWF5O3QZ1A6gRB15m # 9RU8HqDpujPbAgMBAAGjggIDMIIB/zAfBgNVHSMEGDAWgBRoN+Drtjv4XxGG+/5h # ewiIZfROQjAdBgNVHQ4EFgQUxU1hosmsl9DA31WV5+iSfCurk8UwPgYDVR0gBDcw # NTAzBgZngQwBBAEwKTAnBggrBgEFBQcCARYbaHR0cDovL3d3dy5kaWdpY2VydC5j # b20vQ1BTMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzCBtQYD # VR0fBIGtMIGqMFOgUaBPhk1odHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNl # cnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JTQTQwOTZTSEEzODQyMDIxQ0ExLmNybDBT # oFGgT4ZNaHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0 # Q29kZVNpZ25pbmdSU0E0MDk2U0hBMzg0MjAyMUNBMS5jcmwwgZQGCCsGAQUFBwEB # BIGHMIGEMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wXAYI # KwYBBQUHMAKGUGh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRy # dXN0ZWRHNENvZGVTaWduaW5nUlNBNDA5NlNIQTM4NDIwMjFDQTEuY3J0MAkGA1Ud # EwQCMAAwDQYJKoZIhvcNAQELBQADggIBAG6TLs2hwIBSllVyhSUIwkQ1EGtKToXN # 6R0Inl/BTh2WUpcZMUyDe4A1I8FoXZkhU5/h9f8OPjUQofRS/UBaqdtWL16kS+Aa # tRxJK/jquscLChs5FOOedmpKmrbSvM7Ej05UHxDRrFgpkhDdFSWKIDSUhTWQVscd # URFfCWYzcqzBZLumVyCqPxZSppNlloTf9YB+E1FnRDw+//qxnr4YS2a3f0P5yIq3 # Fvyky6vEb8L5guN+7vBgoFf3mLTxgbpLtLEbCdgPCdsuU4wmGQ7508wuwx4jD/x+ # LepZda21uDT//cC6J3HrfyoDUYc9hOtlxVIDxULguUWQOsC7MrXkUEAm73yYiuD4 # 3uFILe49aONrTG8DAyp2+88Y3sZsrqgzxRjAbfCmLvmi8qhwEQ8cVmv6HPzW1cHJ # ewG+nnAp4jYC+8BoR1rHMSa/Ro4GfOh6fowxaPsalmKiPQyRsHHqvgL0NYsAgQY/ # O4hxN0K/04QOUXA8tSFpdssu9dHJFcGQkem5NTQAoC7mqP10jM0v7I38o2bdluSO # GoZB2dwbReid2V+DnLeuzc6Torr1Bok3/XjCXq3P6VVjUcor1raTs1+Q1KaL51mA # rNziqD45eeUPun6KZhoSEbJNW+Xwr/b69pS+VvPhHXG9Mf+L2KIVhMaUQQcMXqIw # PCohl+fUhzz6MYIaUzCCGk8CAQEwfTBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO # RGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29k # ZSBTaWduaW5nIFJTQTQwOTYgU0hBMzg0IDIwMjEgQ0ExAhAODUkPvf8ln+X3XbyU # 1phoMA0GCWCGSAFlAwQCAgUAoIGMMBAGCisGAQQBgjcCAQwxAjAAMBkGCSqGSIb3 # DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEV # MD8GCSqGSIb3DQEJBDEyBDBHPvGnqXO+SjaMKS8DhDDaSB6y4ZU2tEAfViMWSnyd # osM/StGXsOYSy6+hSr+Njl4wDQYJKoZIhvcNAQEBBQAEggGAlbYl2u9172zfZIGY # EIcYHdgPceB46+lweJm+6wvtu9VAYmvuVOOfhsGZQaOqs3BUsS8eOSUGdLzGnsjX # 3gg3PqtjTuoHK+LS+28hTmeVu+UF0xUBkoWJOqW0rRSdhfxFNSygLagqQtx0yZ8B # flQQHgDtIUOZtCqjUyaZKpjeicvz6x2JGioVm4BKBY1TAjOA/pKInduBk5WmyT20 # Q3rmxLHwFYPk44wzCjIQoQ4OEW79rIFkJxcHTilX1i9/ddF51W/8tmlML9CdxCTi # p0mg1bf+IxKti9C1Ub32Cn4Dkx6rI+0oaHGsN0vTrpv1FKbr+hocOHO4D8xPPyP9 # hKWBpLabYZK29y5wimBuTZiilksRbhCvZbOEyoCoccWBXt4oggpvkOUuvy26jTn4 # cMBVzZpheOFgXxf7oSNamVNEAMIvck2WX1AYU1Z+1Dnun4eu7wWSFnc1oCGac5mb # 4cV4PNK+tzrLogtWzbU7FsmNsJ8YcodwKTMsFkkPcCagvfYboYIXmDCCF5QGCisG # AQQBgjcDAwExgheEMIIXgAYJKoZIhvcNAQcCoIIXcTCCF20CAQMxDzANBglghkgB # ZQMEAgIFADCBiAYLKoZIhvcNAQkQAQSgeQR3MHUCAQEGCWCGSAGG/WwHATBBMA0G # CWCGSAFlAwQCAgUABDCHSsqjBeFMeC1WQh9Fuz2S5jN1ar2xsq5n158sCIXmrfUf # 0JCfSBy4DILwPqnpIoYCEQCeySNWQAib0Jt1d14NjbPTGA8yMDI2MDMyNTE4MTUw # NFqgghM6MIIG7TCCBNWgAwIBAgIQDCBDSfnQ91n7mC3kCBuIezANBgkqhkiG9w0B # AQwFADBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/ # BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgVGltZVN0YW1waW5nIFJTQTQwOTYg # U0hBMjU2IDIwMjUgQ0ExMB4XDTI1MDYwNDAwMDAwMFoXDTM2MDkwMzIzNTk1OVow # YzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMTswOQYDVQQD # EzJEaWdpQ2VydCBTSEEzODQgUlNBNDA5NiBUaW1lc3RhbXAgUmVzcG9uZGVyIDIw # MjUgMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANs5UvuLdLflyQ1R # 2PrzScab+/eLDNzuFEMnJikV5mC7PmEX87cpfECe5/1KsTUylpo3RQ1hr+N/mtqI # ieNcsTntLC6BcfBdWs9iUU2XO3YQMW53vm8neW39khGZQq7hscVkqm6VGOnQBkQg # sgTmohWqF4ZJ/i9eXn3KJg0q05wOVYHfabzDvu2zPrUluCcwIiGztpiD8ghHSmLH # Jj5fmAbnp0j+zScPYnC9bVqZ+tbjOlslDb+EXMgQM/jbyWzX+ZEzOxeOnLwcKdJW # WIrGUffOcubGI+HuMlAWzwccq0+WjTGfvubYrPBg5hwqaslS0OHix8KYpuYsEePU # 0RHxE7ZRBTkVk5CdoTjtc81QFrOo7XXqddlbRWaEDoSMHVHzx0rAMN/cRVXrxRBX # 9rvg1a9bDleyQAmPsXBvIViHqjxlVMJIsgUVE4AOx3gMSW9IkJeBgwQumQQOMBjf # 2oTMReH7ibDrNc8JDwUp15h5JtfB8B4CDypNvO3TCHIWco5u8xnAmGeG4rKFGFi/ # aE4GvSQnxTE3PcpdulwwdM5fa3UsL4jpmmEpWkWpxfOKMQGJ6oAcumfPcpD4Fp2+ # 0kYt9Tcj9+fVoaJPt+n5MsUz40qwlrzCu6c20YPLXyEZVJ8ZexuWyK5D6jGw/cya # Ae/TBxYC6+ZY1O663C8MvnBH6cxTAgMBAAGjggGVMIIBkTAMBgNVHRMBAf8EAjAA # MB0GA1UdDgQWBBRVnrnnZ8iREEm0NlKNebckxT8t+DAfBgNVHSMEGDAWgBTvb1NK # 6eQGfHrK4pBW9i/USezLTjAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAwwCgYI # KwYBBQUHAwgwgZUGCCsGAQUFBwEBBIGIMIGFMCQGCCsGAQUFBzABhhhodHRwOi8v # b2NzcC5kaWdpY2VydC5jb20wXQYIKwYBBQUHMAKGUWh0dHA6Ly9jYWNlcnRzLmRp # Z2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNFRpbWVTdGFtcGluZ1JTQTQwOTZT # SEEyNTYyMDI1Q0ExLmNydDBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vY3JsMy5k # aWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRUaW1lU3RhbXBpbmdSU0E0MDk2 # U0hBMjU2MjAyNUNBMS5jcmwwIAYDVR0gBBkwFzAIBgZngQwBBAIwCwYJYIZIAYb9 # bAcBMA0GCSqGSIb3DQEBDAUAA4ICAQAbfgskh9gJasVB51Fp2SSO66XQKqND3IpM # lePC7ZOUFhYMaRz/VrY0d5bJBADpN07M5rjcjIne1bsR5UCZeCnHU6+XENmC8vpe # etKXgYDO5AOBwiahqnUHc418q5YN2AnX547PcP+wTvMVJpQGqvw/j02WTvjJ8Wt/ # yKMmLBfi/YFl+FScWS5Y1bOSSpqUqJ58rDGL+wmqpEKQQ5iVlNhevJiy2V31NMF2 # w8vUEE7JIHB74skA3gdZeo5f1sDkIkjUzWn2EFEdmbCeazybtTT8ztYbSsHYlI1n # px8KuQUStQUe/g/k8Bve1B1+FdFvibxWafM93dxubAOz7fajuf+gFmftMn/JzefA # /hwAEoR5p8tubelu6helUkWQiKRq/IWwI32wYTuDGPBtlPc8FSqekpY7ipJ8Xdm7 # ooTt93YqAhrAera1/vsUCn+EJWEoIBbw/WVkhuMrCT2DsfoW7AUxDjRba/fcejoC # Z58lZA6LnSJ/oJlfgavmthvvgS1OQFzlXJRMabqFEF1GRead7FK3dtUIxfUWtMeE # Q9NoEuF8IMzfrb7mPrY4TyAsF5h9xES/nzyKMWU9F4MFT/te1KlG4uWaXuGHWnRu # Vowkwb7ZpTOCVaLxmEb8gMn5mCScdP9E/qitOcESaYOKvNbzirgkD2hPR/fSQlb3 # wgwZuCo6xDCCBrQwggScoAMCAQICEA3HrFcF/yGZLkBDIgw6SYYwDQYJKoZIhvcN # AQELBQAwYjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcG # A1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1c3Rl # ZCBSb290IEc0MB4XDTI1MDUwNzAwMDAwMFoXDTM4MDExNDIzNTk1OVowaTELMAkG # A1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdp # Q2VydCBUcnVzdGVkIEc0IFRpbWVTdGFtcGluZyBSU0E0MDk2IFNIQTI1NiAyMDI1 # IENBMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALR4MdMKmEFyvjxG # wBysddujRmh0tFEXnU2tjQ2UtZmWgyxU7UNqEY81FzJsQqr5G7A6c+Gh/qm8Xi4a # PCOo2N8S9SLrC6Kbltqn7SWCWgzbNfiR+2fkHUiljNOqnIVD/gG3SYDEAd4dg2dD # GpeZGKe+42DFUF0mR/vtLa4+gKPsYfwEu7EEbkC9+0F2w4QJLVSTEG8yAR2CQWIM # 1iI5PHg62IVwxKSpO0XaF9DPfNBKS7Zazch8NF5vp7eaZ2CVNxpqumzTCNSOxm+S # AWSuIr21Qomb+zzQWKhxKTVVgtmUPAW35xUUFREmDrMxSNlr/NsJyUXzdtFUUt4a # S4CEeIY8y9IaaGBpPNXKFifinT7zL2gdFpBP9qh8SdLnEut/GcalNeJQ55IuwnKC # gs+nrpuQNfVmUB5KlCX3ZA4x5HHKS+rqBvKWxdCyQEEGcbLe1b8Aw4wJkhU1JrPs # FfxW1gaou30yZ46t4Y9F20HHfIY4/6vHespYMQmUiote8ladjS/nJ0+k6Mvqzfpz # PDOy5y6gqztiT96Fv/9bH7mQyogxG9QEPHrPV6/7umw052AkyiLA6tQbZl1KhBtT # asySkuJDpsZGKdlsjg4u70EwgWbVRSX1Wd4+zoFpp4Ra+MlKM2baoD6x0VR4RjSp # WM8o5a6D8bpfm4CLKczsG7ZrIGNTAgMBAAGjggFdMIIBWTASBgNVHRMBAf8ECDAG # AQH/AgEAMB0GA1UdDgQWBBTvb1NK6eQGfHrK4pBW9i/USezLTjAfBgNVHSMEGDAW # gBTs1+OC0nFdZEzfLmc/57qYrhwPTzAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAww # CgYIKwYBBQUHAwgwdwYIKwYBBQUHAQEEazBpMCQGCCsGAQUFBzABhhhodHRwOi8v # b2NzcC5kaWdpY2VydC5jb20wQQYIKwYBBQUHMAKGNWh0dHA6Ly9jYWNlcnRzLmRp # Z2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRSb290RzQuY3J0MEMGA1UdHwQ8MDow # OKA2oDSGMmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRS # b290RzQuY3JsMCAGA1UdIAQZMBcwCAYGZ4EMAQQCMAsGCWCGSAGG/WwHATANBgkq # hkiG9w0BAQsFAAOCAgEAF877FoAc/gc9EXZxML2+C8i1NKZ/zdCHxYgaMH9Pw5tc # BnPw6O6FTGNpoV2V4wzSUGvI9NAzaoQk97frPBtIj+ZLzdp+yXdhOP4hCFATuNT+ # ReOPK0mCefSG+tXqGpYZ3essBS3q8nL2UwM+NMvEuBd/2vmdYxDCvwzJv2sRUoKE # fJ+nN57mQfQXwcAEGCvRR2qKtntujB71WPYAgwPyWLKu6RnaID/B0ba2H3LUiwDR # AXx1Neq9ydOal95CHfmTnM4I+ZI2rVQfjXQA1WSjjf4J2a7jLzWGNqNX+DF0SQzH # U0pTi4dBwp9nEC8EAqoxW6q17r0z0noDjs6+BFo+z7bKSBwZXTRNivYuve3L2oiK # NqetRHdqfMTCW/NmKLJ9M+MtucVGyOxiDf06VXxyKkOirv6o02OoXN4bFzK0vlNM # svhlqgF2puE6FndlENSmE+9JGYxOGLS/D284NHNboDGcmWXfwXRy4kbu4QFhOm0x # JuF2EZAOk5eCkhSxZON3rGlHqhpB/8MluDezooIs8CVnrpHMiD2wL40mm53+/j7t # FaxYKIqL0Q4ssd8xHZnIn/7GELH3IdvG2XlM9q7WP/UwgOkw/HQtyRN62JK4S1C8 # uw3PdBunvAZapsiI5YKdvlarEvf8EA+8hcpSM9LHJmyrxaFtoza2zNaQ9k+5t1ww # ggWNMIIEdaADAgECAhAOmxiO+dAt5+/bUOIIQBhaMA0GCSqGSIb3DQEBDAUAMGUx # CzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 # dy5kaWdpY2VydC5jb20xJDAiBgNVBAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9v # dCBDQTAeFw0yMjA4MDEwMDAwMDBaFw0zMTExMDkyMzU5NTlaMGIxCzAJBgNVBAYT # AlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2Vy # dC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDCCAiIwDQYJ # KoZIhvcNAQEBBQADggIPADCCAgoCggIBAL/mkHNo3rvkXUo8MCIwaTPswqclLskh # PfKK2FnC4SmnPVirdprNrnsbhA3EMB/zG6Q4FutWxpdtHauyefLKEdLkX9YFPFIP # Uh/GnhWlfr6fqVcWWVVyr2iTcMKyunWZanMylNEQRBAu34LzB4TmdDttceItDBvu # INXJIB1jKS3O7F5OyJP4IWGbNOsFxl7sWxq868nPzaw0QF+xembud8hIqGZXV59U # WI4MK7dPpzDZVu7Ke13jrclPXuU15zHL2pNe3I6PgNq2kZhAkHnDeMe2scS1ahg4 # AxCN2NQ3pC4FfYj1gj4QkXCrVYJBMtfbBHMqbpEBfCFM1LyuGwN1XXhm2ToxRJoz # QL8I11pJpMLmqaBn3aQnvKFPObURWBf3JFxGj2T3wWmIdph2PVldQnaHiZdpekjw # 4KISG2aadMreSx7nDmOu5tTvkpI6nj3cAORFJYm2mkQZK37AlLTSYW3rM9nF30sE # AMx9HJXDj/chsrIRt7t/8tWMcCxBYKqxYxhElRp2Yn72gLD76GSmM9GJB+G9t+ZD # pBi4pncB4Q+UDCEdslQpJYls5Q5SUUd0viastkF13nqsX40/ybzTQRESW+UQUOsx # xcpyFiIJ33xMdT9j7CFfxCBRa2+xq4aLT8LWRV+dIPyhHsXAj6KxfgommfXkaS+Y # HS312amyHeUbAgMBAAGjggE6MIIBNjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW # BBTs1+OC0nFdZEzfLmc/57qYrhwPTzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun # pyGd823IDzAOBgNVHQ8BAf8EBAMCAYYweQYIKwYBBQUHAQEEbTBrMCQGCCsGAQUF # BzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQwYIKwYBBQUHMAKGN2h0dHA6 # Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5j # cnQwRQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0Rp # Z2lDZXJ0QXNzdXJlZElEUm9vdENBLmNybDARBgNVHSAECjAIMAYGBFUdIAAwDQYJ # KoZIhvcNAQEMBQADggEBAHCgv0NcVec4X6CjdBs9thbX979XB72arKGHLOyFXqka # uyL4hxppVCLtpIh3bb0aFPQTSnovLbc47/T/gLn4offyct4kvFIDyE7QKt76LVbP # +fT3rDB6mouyXtTP0UNEm0Mh65ZyoUi0mcudT6cGAxN3J0TU53/oWajwvy8Lpuny # NDzs9wPHh6jSTEAZNUZqaVSwuKFWjuyk1T3osdz9HNj0d1pcVIxv76FQPfx2CWiE # n2/K2yCNNWAcAgPLILCsWKAOQGPFmCLBsln1VWvPJ6tsds5vIy30fnFqI2si/xK4 # VC0nftg62fC2h5b9W9FcrBjDTZ9ztwGpn1eqXijiuZQxggOMMIIDiAIBATB9MGkx # CzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UEAxM4 # RGlnaUNlcnQgVHJ1c3RlZCBHNCBUaW1lU3RhbXBpbmcgUlNBNDA5NiBTSEEyNTYg # MjAyNSBDQTECEAwgQ0n50PdZ+5gt5AgbiHswDQYJYIZIAWUDBAICBQCggeEwGgYJ # KoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yNjAzMjUx # ODE1MDRaMCsGCyqGSIb3DQEJEAIMMRwwGjAYMBYEFHK8/aAQf0k0sAccYQ/m15ZQ # AJh3MDcGCyqGSIb3DQEJEAIvMSgwJjAkMCIEIDLz47G9oteybU8dG4zdvY+LhHah # eJ7WEs08qnqe/zXCMD8GCSqGSIb3DQEJBDEyBDDQnPtAdUMuhW2LAtRdoR0+gVMb # uH7XI/QS7J/i3pWFQhp/oINGYT3kOosMqdqFJvQwDQYJKoZIhvcNAQEBBQAEggIA # XXKD+N4Fkas/CWR9rY8GPO6sGQE2lH3SIC0bTV4a+OwW4KHuSUH65QPKwpU5H75A # ijvCU3jQ8rQuRAKrwN+iHcKJ8JfnAv5h2RmGjMmISjjUr2N3d/pIzmFX6p10H/3o # RJSk6VntSg/TqEIFPjfMjovdPD5VuVvo7TdXGVMk0612z2Muobmr++2KkcO8rpYF # Dp2eo0w2B8d+kdbNxi3qYMf5ZmspFm9+in/fW0Ir61cIJ7LSse9JbAP19qLOOsWS # MJxgUa9f4n0xgQeaa+P+wxM7hEINhNMcpGLEI1x7PFLPvj/1/cogBJhgXWJQKUvJ # S5an7mmNG9rwROY5J1U9gVU1LYSAaqYFuXN6BjP5k5ZZADZWhx68eq/krg5iU6Bk # mLjWsboTxCfnflaQMHBgCjSNGisJlpjuicUbV2wn5nn6182dcsrJ6Fwzp6Teoos3 # 01ty3LBKzr+6pZPgsHDVB6Jp1C4MZPzXU3kfc62JngXZNm8MmTi91a+opte2NVYQ # VoL+fBypxADquDx0HypQfVdaDy9CIWLuW2x9+ROMnaEjchF2gsD9bcH6+/xV7O8W # PGafUBNkJdaGgd85cM3AY20kLUKvSyiXtlNOGjG1fQGvv16gXNqBFuP+YRD8Krer # sW7lAsk3Nuc07Yc06NyqkXhwszB3jZ8fYlKgH907FiI= # SIG # End signature block |