Samples/Get-UcsCimcIpReport.ps1
[CmdletBinding()] Param( [Parameter(Mandatory=$true)] [Cisco.Ucs.Common.BaseHandle[]] $Ucs ) Process { Foreach ($u in $Ucs) { $sp = @(Get-UcsServiceProfile -Ucs $u -Type instance) $spMap = @{ } Write-Verbose "Fetching service profile instances" $sp | % { $spMap[$_.Dn] = $_ } $pnMap = @{ } Write-Verbose "Fetching processing nodes" Get-UcsBlade -Ucs $u | % { $pnMap[$_.Dn] = $_ } Get-UcsRackUnit -Ucs $u | % { $pnMap[$_.Dn] = $_ } Write-Verbose "Fetching PN's management interfaces" $mgmtIf = $pnMap.values | Get-UcsMgmtController -Subject blade | Get-UcsMgmtIf -Subject blade -AdminState enable | ? { $_.ExtIp -ne "0.0.0.0" } $mgmtIfMap = @{ } Foreach ($mgmtIfDn in ($mgmtIf | select -ExpandProperty Dn | Get-Unique)) { $mgmtIfMap[$mgmtIfDn -replace "/mgmt/if-[^/]*$",""] = $mgmtIf | ? { $_.Dn -eq $mgmtIfDn } } $mgmtIfDn = $mgmtIfMap.keys Write-Verbose "Fetching SP's Static CIMC IPs" $spStaticIpMap = @{ } $sp | Get-UcsVnicIpV4StaticAddr -LimitScope | % { $spStaticIpMap[$_.Dn -replace "/ipv4-static-addr$",""] = $_ } $spStaticIpDn = $spStaticIpMap.keys Write-Verbose "Fetching SP's Pooled CIMC IPs" $spDynamicIpMap = @{ } $sp | Get-UcsVnicIpV4PooledAddr -LimitScope | ? { $_.Addr -ne "0.0.0.0" } | % { $spDynamicIpMap[$_.Dn -replace "/ipv4-pooled-addr$",""] = $_ } $spDynamicIpDn = $spDynamicIpMap.keys Foreach ($spDn in ($spMap.keys | sort)) { $ucsName = $u.Ucs $pnDn = $spMap[$spDn].PnDn $mgmtIfIp="" $spStaticIp = "" $spDynamicIp = "" if ($mgmtIfDn -contains $pnDn) { $mgmtIfIp = [string]::join(';', ($mgmtIfMap[$pnDn] | Select -ExpandProperty ExtIp)) } if ($pnDn -ne "") { $pnMap.remove($pnDn) } if ($spStaticIpDn -contains $spDn) { $spStaticIp = $spStaticIpMap[$spDn].Addr } if ($spDynamicIpDn -contains $spDn) { $spDynamicIp = $spDynamicIpMap[$spDn].Addr } New-Object PSObject -Property @{ "Ucs" = $ucsName "SpDn" = $spDn "PnDn" = $pnDn "SpCimcStaticIp" = $spStaticIp "SpCimcDynamicIp" = $spDynamicIp "PnCimcIp" = $mgmtIfIp } | Select-Object Ucs,SpDn,PnDn,SpCimcStaticIp,SpCimcDynamicIp,PnCimcIp } Foreach ($pnDn in ($pnMap.keys | sort)) { $ucsName = $u.Ucs $mgmtIfIp="" if ($mgmtIfDn -contains $pnDn) { $mgmtIfIp = [string]::join(';', ($mgmtIfMap[$pnDn] | Select -ExpandProperty ExtIp)) } New-Object PSObject -Property @{ "Ucs" = $ucsName "SpDn" = "" "PnDn" = $pnDn "SpCimcStaticIp" = "" "SpCimcDynamicIp" = "" "PnCimcIp" = $mgmtIfIp } | Select-Object Ucs,SpDn,PnDn,SpCimcStaticIp,SpCimcDynamicIp,PnCimcIp } } } # SIG # Begin signature block # MIIhegYJKoZIhvcNAQcCoIIhazCCIWcCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDpIYHwt/9fqq6f # 8fkGzKSRnIZ8B0Frute6qE50iGbXiaCCGpowggeNMIIFdaADAgECAhBAAYkJtMec # EjtNtgBsSCkGMA0GCSqGSIb3DQEBCwUAMEgxCzAJBgNVBAYTAlVTMRIwEAYDVQQK # EwlJZGVuVHJ1c3QxJTAjBgNVBAMTHFRydXN0SUQgRVYgQ29kZSBTaWduaW5nIENB # IDQwHhcNMjMwNjMwMDAyOTQ5WhcNMjYwNjI5MDAyODQ5WjCB7zELMAkGA1UEBhMC # VVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcTCFNhbiBKb3NlMRAwDgYD # VQQFEwc0NjgyNDc4MRMwEQYLKwYBBAGCNzwCAQMTAlVTMRswGQYLKwYBBAGCNzwC # AQITCkNhbGlmb3JuaWExHTAbBgNVBA8TFFByaXZhdGUgT3JnYW5pemF0aW9uMRsw # GQYDVQQKExJDaXNjbyBTeXN0ZW1zIEluYy4xGzAZBgNVBAsTEkNpc2NvIFN5c3Rl # bXMgSW5jLjEbMBkGA1UEAxMSQ2lzY28gU3lzdGVtcyBJbmMuMIICIjANBgkqhkiG # 9w0BAQEFAAOCAg8AMIICCgKCAgEAy5xBW8oNHs29o8ajhoPZo8Vbch/Hglt6ZIIV # ELZvBzPFPH+GQEwIIPkJ7QmfI0vWdXv79h14SAxdyNdO7nmNn64zc28hbtPLoHyr # EohZWg+f7O7sgpeFMPIXXsn5miH3WCLXbTyjQhkmYv7uLQ7jIjaumixXjytkpFjq # v2jIpO1SS7b6cUWOUn18HyAg4vtpmEaNS9dsU74y+KEqVxxZlajBBkpd4snDVEJm # T9uX4HisduRhVQPoBOfh5Zm7GS0vkqNNbK2QCKC8oyfvA2w6QHTB5GEllMjLUK8C # wPHsZCf3g3oC2CoWesP/Q+Ib4TMRtutaqp9gnTMBHh6hKO+ny/S7Tw+8Le54Lflx # hODh3u5zO3C4iCBkMFQeMDUWvPS31OU34Y1kL0mhrJ7Bvw8IfwooVLIB8BsVJleV # ptnkylQTzaFF5P7cbytn7AYEzCldbTb+o1AE15P60TVmk4YFTK87vK+7rPUMwDtc # mUbL1jQ1I3fa0Xc6g9FDECq9flxlERm72GytDpSt49n81M/D9C+wpN3hgGY+uPh2 # Qj2umO8EaSnvwmUhe2lpdkgZat/DErGsTKIUJ1updY/8OxjcIavhJx6W+t28uijA # tMKO2VvAQBh8HUT6APMMlk1+tTvVTLGIrKdbvBVXnV9QsMjM7r3zJPqtIS4Gjdix # mKHUlN8CAwEAAaOCAckwggHFMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgbA # MIGOBggrBgEFBQcBAQSBgTB/MDAGCCsGAQUFBzABhiRodHRwOi8vY29tbWVyY2lh # bC5vY3NwLmlkZW50cnVzdC5jb20wSwYIKwYBBQUHMAKGP2h0dHA6Ly92YWxpZGF0 # aW9uLmlkZW50cnVzdC5jb20vY2VydHMvdHJ1c3RpZGV2Y29kZXNpZ25pbmc0LnA3 # YzAfBgNVHSMEGDAWgBT+BaSGWZo/NAFajQheG9t1ebnhxjBvBgNVHSAEaDBmMAcG # BWeBDAEDMFsGC2CGSAGG+S8ABg4BMEwwSgYIKwYBBQUHAgEWPmh0dHBzOi8vc2Vj # dXJlLmlkZW50cnVzdC5jb20vY2VydGlmaWNhdGVzL3BvbGljeS90cy9pbmRleC5o # dG1sME4GA1UdHwRHMEUwQ6BBoD+GPWh0dHA6Ly92YWxpZGF0aW9uLmlkZW50cnVz # dC5jb20vY3JsL3RydXN0aWRldmNvZGVzaWduaW5nNC5jcmwwHQYDVR0OBBYEFKrf # vaFZgfyRARnHauLZbMwOsKXsMBMGA1UdJQQMMAoGCCsGAQUFBwMDMA0GCSqGSIb3 # DQEBCwUAA4ICAQCpq0LlFMbsDbXiQUcCGv90QV3xaaBGmT5tzfMX875z40qzAVcp # NIZlxFm52PszxsXgx1NyX5BH1KuksUdb0lvo20JXj+C4OjRRj2e9cb4J2oB8MyCB # gyeZo1sMHuJzXM6Jiu4xstRiKg26oSRPZNydZOymWA0n+DJMZGQunAJPthn4sf2w # OyC0B/CeR0EO6LAe/I4hWStje8NDkBU/jOzSptAkUGoepZrmV6qhBcqV7KPd/wi0 # 79fyBgY8nQayFeMdLqj40omm9cziW2N0atKhsV9KRc81adj08pyFqmlPqVpnIfTy # 1aC8aOmZR3+4sQgzw4UWCFA4wo808eH2eiR0+ryak8pks1ruHLmymVRj9JxPMOcQ # LT6nrRDfkm2sZD0kPpHNRMI1bUtdv0n9aJ9+4YN/aj/DXN3XHVeFF+UVnvI2t68U # WEbbar0NLuu7/KaeztWyezw4neotKSM+tTDk1sxOXFwd7FpXoZJdKzZSVbLI7ft0 # rLsI2L3xR8wCB2yJjH7tvFv19w9pjzTlv2PylLH79V28VVRyLhAigYeurwhRuc84 # s8cKwoXS53KMWuY8Bb8IaSGG5TpZu+Hnnu4HYKBYvBvOJmOGovDHiHD0+992Wja2 # wBEi0t+DhlFHRfcD8AHMPi4Xy4MKpIGZVGCmF+jic3tmqj854gc0X5tsfTCCBY0w # ggR1oAMCAQICEA6bGI750C3n79tQ4ghAGFowDQYJKoZIhvcNAQEMBQAwZTELMAkG # A1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRp # Z2ljZXJ0LmNvbTEkMCIGA1UEAxMbRGlnaUNlcnQgQXNzdXJlZCBJRCBSb290IENB # MB4XDTIyMDgwMTAwMDAwMFoXDTMxMTEwOTIzNTk1OVowYjELMAkGA1UEBhMCVVMx # FTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNv # bTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1c3RlZCBSb290IEc0MIICIjANBgkqhkiG # 9w0BAQEFAAOCAg8AMIICCgKCAgEAv+aQc2jeu+RdSjwwIjBpM+zCpyUuySE98orY # WcLhKac9WKt2ms2uexuEDcQwH/MbpDgW61bGl20dq7J58soR0uRf1gU8Ug9SH8ae # FaV+vp+pVxZZVXKvaJNwwrK6dZlqczKU0RBEEC7fgvMHhOZ0O21x4i0MG+4g1ckg # HWMpLc7sXk7Ik/ghYZs06wXGXuxbGrzryc/NrDRAX7F6Zu53yEioZldXn1RYjgwr # t0+nMNlW7sp7XeOtyU9e5TXnMcvak17cjo+A2raRmECQecN4x7axxLVqGDgDEI3Y # 1DekLgV9iPWCPhCRcKtVgkEy19sEcypukQF8IUzUvK4bA3VdeGbZOjFEmjNAvwjX # WkmkwuapoGfdpCe8oU85tRFYF/ckXEaPZPfBaYh2mHY9WV1CdoeJl2l6SPDgohIb # Zpp0yt5LHucOY67m1O+SkjqePdwA5EUlibaaRBkrfsCUtNJhbesz2cXfSwQAzH0c # lcOP9yGyshG3u3/y1YxwLEFgqrFjGESVGnZifvaAsPvoZKYz0YkH4b235kOkGLim # dwHhD5QMIR2yVCkliWzlDlJRR3S+Jqy2QXXeeqxfjT/JvNNBERJb5RBQ6zHFynIW # IgnffEx1P2PsIV/EIFFrb7GrhotPwtZFX50g/KEexcCPorF+CiaZ9eRpL5gdLfXZ # qbId5RsCAwEAAaOCATowggE2MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFOzX # 44LScV1kTN8uZz/nupiuHA9PMB8GA1UdIwQYMBaAFEXroq/0ksuCMS1Ri6enIZ3z # bcgPMA4GA1UdDwEB/wQEAwIBhjB5BggrBgEFBQcBAQRtMGswJAYIKwYBBQUHMAGG # GGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBDBggrBgEFBQcwAoY3aHR0cDovL2Nh # Y2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNydDBF # BgNVHR8EPjA8MDqgOKA2hjRodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNl # cnRBc3N1cmVkSURSb290Q0EuY3JsMBEGA1UdIAQKMAgwBgYEVR0gADANBgkqhkiG # 9w0BAQwFAAOCAQEAcKC/Q1xV5zhfoKN0Gz22Ftf3v1cHvZqsoYcs7IVeqRq7IviH # GmlUIu2kiHdtvRoU9BNKei8ttzjv9P+Aufih9/Jy3iS8UgPITtAq3votVs/59Pes # MHqai7Je1M/RQ0SbQyHrlnKhSLSZy51PpwYDE3cnRNTnf+hZqPC/Lwum6fI0POz3 # A8eHqNJMQBk1RmppVLC4oVaO7KTVPeix3P0c2PR3WlxUjG/voVA9/HYJaISfb8rb # II01YBwCA8sgsKxYoA5AY8WYIsGyWfVVa88nq2x2zm8jLfR+cWojayL/ErhULSd+ # 2DrZ8LaHlv1b0VysGMNNn3O3AamfV6peKOK5lDCCBq4wggSWoAMCAQICEAc2N7ck # VHzYR6z9KGYqXlswDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCVVMxFTATBgNV # BAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEhMB8G # A1UEAxMYRGlnaUNlcnQgVHJ1c3RlZCBSb290IEc0MB4XDTIyMDMyMzAwMDAwMFoX # DTM3MDMyMjIzNTk1OVowYzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0 # LCBJbmMuMTswOQYDVQQDEzJEaWdpQ2VydCBUcnVzdGVkIEc0IFJTQTQwOTYgU0hB # MjU2IFRpbWVTdGFtcGluZyBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC # ggIBAMaGNQZJs8E9cklRVcclA8TykTepl1Gh1tKD0Z5Mom2gsMyD+Vr2EaFEFUJf # pIjzaPp985yJC3+dH54PMx9QEwsmc5Zt+FeoAn39Q7SE2hHxc7Gz7iuAhIoiGN/r # 2j3EF3+rGSs+QtxnjupRPfDWVtTnKC3r07G1decfBmWNlCnT2exp39mQh0YAe9tE # QYncfGpXevA3eZ9drMvohGS0UvJ2R/dhgxndX7RUCyFobjchu0CsX7LeSn3O9TkS # Z+8OpWNs5KbFHc02DVzV5huowWR0QKfAcsW6Th+xtVhNef7Xj3OTrCw54qVI1vCw # MROpVymWJy71h6aPTnYVVSZwmCZ/oBpHIEPjQ2OAe3VuJyWQmDo4EbP29p7mO1vs # gd4iFNmCKseSv6De4z6ic/rnH1pslPJSlRErWHRAKKtzQ87fSqEcazjFKfPKqpZz # QmiftkaznTqj1QPgv/CiPMpC3BhIfxQ0z9JMq++bPf4OuGQq+nUoJEHtQr8FnGZJ # UlD0UfM2SU2LINIsVzV5K6jzRWC8I41Y99xh3pP+OcD5sjClTNfpmEpYPtMDiP6z # j9NeS3YSUZPJjAw7W4oiqMEmCPkUEBIDfV8ju2TjY+Cm4T72wnSyPx4JduyrXUZ1 # 4mCjWAkBKAAOhFTuzuldyF4wEr1GnrXTdrnSDmuZDNIztM2xAgMBAAGjggFdMIIB # WTASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBS6FtltTYUvcyl2mi91jGog # j57IbzAfBgNVHSMEGDAWgBTs1+OC0nFdZEzfLmc/57qYrhwPTzAOBgNVHQ8BAf8E # BAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwgwdwYIKwYBBQUHAQEEazBpMCQGCCsG # AQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQQYIKwYBBQUHMAKGNWh0 # dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRSb290RzQu # Y3J0MEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9E # aWdpQ2VydFRydXN0ZWRSb290RzQuY3JsMCAGA1UdIAQZMBcwCAYGZ4EMAQQCMAsG # CWCGSAGG/WwHATANBgkqhkiG9w0BAQsFAAOCAgEAfVmOwJO2b5ipRCIBfmbW2CFC # 4bAYLhBNE88wU86/GPvHUF3iSyn7cIoNqilp/GnBzx0H6T5gyNgL5Vxb122H+oQg # JTQxZ822EpZvxFBMYh0MCIKoFr2pVs8Vc40BIiXOlWk/R3f7cnQU1/+rT4osequF # zUNf7WC2qk+RZp4snuCKrOX9jLxkJodskr2dfNBwCnzvqLx1T7pa96kQsl3p/yhU # ifDVinF2ZdrM8HKjI/rAJ4JErpknG6skHibBt94q6/aesXmZgaNWhqsKRcnfxI2g # 55j7+6adcq/Ex8HBanHZxhOACcS2n82HhyS7T6NJuXdmkfFynOlLAlKnN36TU6w7 # HQhJD5TNOXrd/yVjmScsPT9rp/Fmw0HNT7ZAmyEhQNC3EyTN3B14OuSereU0cZLX # JmvkOHOrpgFPvT87eK1MrfvElXvtCl8zOYdBeHo46Zzh3SP9HSjTx/no8Zhf+yvY # fvJGnXUsHicsJttvFXseGYs2uJPU5vIXmVnKcPA3v5gA3yAWTyf7YGcWoWa63VXA # OimGsJigK+2VQbc61RWYMbRiCQ8KvYHZE/6/pNHzV9m8BPqC3jLfBInwAM1dwvnQ # I38AC+R2AibZ8GV2QqYphwlHK+Z/GqSFD/yYlvZVVCsfgPrA8g4r5db7qS9EFUrn # Ew4d2zc4GqEr9u3WfPwwggbCMIIEqqADAgECAhAFRK/zlJ0IOaa/2z9f5WEWMA0G # CSqGSIb3DQEBCwUAMGMxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg # SW5jLjE7MDkGA1UEAxMyRGlnaUNlcnQgVHJ1c3RlZCBHNCBSU0E0MDk2IFNIQTI1 # NiBUaW1lU3RhbXBpbmcgQ0EwHhcNMjMwNzE0MDAwMDAwWhcNMzQxMDEzMjM1OTU5 # WjBIMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xIDAeBgNV # BAMTF0RpZ2lDZXJ0IFRpbWVzdGFtcCAyMDIzMIICIjANBgkqhkiG9w0BAQEFAAOC # Ag8AMIICCgKCAgEAo1NFhx2DjlusPlSzI+DPn9fl0uddoQ4J3C9Io5d6OyqcZ9xi # FVjBqZMRp82qsmrdECmKHmJjadNYnDVxvzqX65RQjxwg6seaOy+WZuNp52n+W8PW # KyAcwZeUtKVQgfLPywemMGjKg0La/H8JJJSkghraarrYO8pd3hkYhftF6g1hbJ3+ # cV7EBpo88MUueQ8bZlLjyNY+X9pD04T10Mf2SC1eRXWWdf7dEKEbg8G45lKVtUfX # eCk5a+B4WZfjRCtK1ZXO7wgX6oJkTf8j48qG7rSkIWRw69XloNpjsy7pBe6q9iT1 # HbybHLK3X9/w7nZ9MZllR1WdSiQvrCuXvp/k/XtzPjLuUjT71Lvr1KAsNJvj3m5k # GQc3AZEPHLVRzapMZoOIaGK7vEEbeBlt5NkP4FhB+9ixLOFRr7StFQYU6mIIE9Np # HnxkTZ0P387RXoyqq1AVybPKvNfEO2hEo6U7Qv1zfe7dCv95NBB+plwKWEwAPoVp # dceDZNZ1zY8SdlalJPrXxGshuugfNJgvOuprAbD3+yqG7HtSOKmYCaFxsmxxrz64 # b5bV4RAT/mFHCoz+8LbH1cfebCTwv0KCyqBxPZySkwS0aXAnDU+3tTbRyV8IpHCj # 7ArxES5k4MsiK8rxKBMhSVF+BmbTO77665E42FEHypS34lCh8zrTioPLQHsCAwEA # AaOCAYswggGHMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB # /wQMMAoGCCsGAQUFBwMIMCAGA1UdIAQZMBcwCAYGZ4EMAQQCMAsGCWCGSAGG/WwH # ATAfBgNVHSMEGDAWgBS6FtltTYUvcyl2mi91jGogj57IbzAdBgNVHQ4EFgQUpbbv # E+fvzdBkodVWqWUxo97V40kwWgYDVR0fBFMwUTBPoE2gS4ZJaHR0cDovL2NybDMu # ZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0UlNBNDA5NlNIQTI1NlRpbWVT # dGFtcGluZ0NBLmNybDCBkAYIKwYBBQUHAQEEgYMwgYAwJAYIKwYBBQUHMAGGGGh0 # dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBYBggrBgEFBQcwAoZMaHR0cDovL2NhY2Vy # dHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0UlNBNDA5NlNIQTI1NlRp # bWVTdGFtcGluZ0NBLmNydDANBgkqhkiG9w0BAQsFAAOCAgEAgRrW3qCptZgXvHCN # T4o8aJzYJf/LLOTN6l0ikuyMIgKpuM+AqNnn48XtJoKKcS8Y3U623mzX4WCcK+3t # PUiOuGu6fF29wmE3aEl3o+uQqhLXJ4Xzjh6S2sJAOJ9dyKAuJXglnSoFeoQpmLZX # eY/bJlYrsPOnvTcM2Jh2T1a5UsK2nTipgedtQVyMadG5K8TGe8+c+njikxp2oml1 # 01DkRBK+IA2eqUTQ+OVJdwhaIcW0z5iVGlS6ubzBaRm6zxbygzc0brBBJt3eWpdP # M43UjXd9dUWhpVgmagNF3tlQtVCMr1a9TMXhRsUo063nQwBw3syYnhmJA+rUkTfv # TVLzyWAhxFZH7doRS4wyw4jmWOK22z75X7BC1o/jF5HRqsBV44a/rCcsQdCaM0qo # NtS5cpZ+l3k4SF/Kwtw9Mt911jZnWon49qfH5U81PAC9vpwqbHkB3NpE5jreODsH # XjlY9HxzMVWggBHLFAx+rrz+pOt5Zapo1iLKO+uagjVXKBbLafIymrLS2Dq4sUaG # a7oX/cR3bBVsrquvczroSUa31X/MtjjA2Owc9bahuEMs305MfR5ocMB3CtQC4Fxg # uyj/OOVSWtasFyIjTvTs0xf7UGv/B3cfcZdEQcm4RtNsMnxYL2dHZeUbc7aZ+Wss # BkbvQR7w8F/g29mtkIBEr4AQQYoxggY2MIIGMgIBATBcMEgxCzAJBgNVBAYTAlVT # MRIwEAYDVQQKEwlJZGVuVHJ1c3QxJTAjBgNVBAMTHFRydXN0SUQgRVYgQ29kZSBT # aWduaW5nIENBIDQCEEABiQm0x5wSO022AGxIKQYwDQYJYIZIAWUDBAIBBQCggYgw # GQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYJKoZIhvcNAQkFMQ8XDTI0MDgy # MTE2NDYzNFowHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcN # AQkEMSIEINuzc21aM2JH5ih7+zt7V1f+CCPs4WULoi3JX4+e92RgMA0GCSqGSIb3 # DQEBAQUABIICAB2n5Ls5WPd/0wd+UHf0cHCUnN5j8l4OqTyXCWQJzrrRUXFfYRDG # 7ALz9BnqGvoqTYB3NjhaphAPk7I87nwDmoA9iPlZHZBCKtc9pEdDonon8ydf1i4f # OaQ9piEp9IsH/zV2XDYOtc44PRNbv/XiVi95S+hAZpVVl9T8IvbhVkFZCK9QJl2q # B9Xf9iciUpLPHucaBpntcAaJ8u8eafFZ8sgc4QaUhA7NrUycTorcJLCNmGJqCSb4 # 9Byyq7viRtQM2rUNJSt2iE9LG5v+8gy3iB+tfIr2qp0tDHCdEMSebxgV1hS0CBTg # sdMZf2UCKSvcSArFf/CQHVZG7cTHV+in8miFJhNLLsyQKpiTYlzaNMTDfS0+Ib77 # QJqubReBUjT/bd0QvDkIvAi8EExcx40Qxa1P4YwZJGmoG02wLpiVGsynKpZUlNO+ # 6o4vrmGf6+DXwjp5VIezfw/uLdOJpacHQM1+JFmT1+q3k0Fr0JbeSJ9csUSKtghH # SOXBbhM5SciJjmNCg4pF8rEEI5CWAAUxxQ+cDKgaU9oburpnGu7fWEDbkjLcmmz7 # nSbmmyiBhby+3PSOi509GxWiUxat9eZAf7sNoA/mKpwQLggM68i+kxniLMdJ4d8g # QtLVyJu4coNydc3FAEb8YcadgizIr2N2F5mZxd9riiWIV0+cY0qwmvrnoYIDIDCC # AxwGCSqGSIb3DQEJBjGCAw0wggMJAgEBMHcwYzELMAkGA1UEBhMCVVMxFzAVBgNV # BAoTDkRpZ2lDZXJ0LCBJbmMuMTswOQYDVQQDEzJEaWdpQ2VydCBUcnVzdGVkIEc0 # IFJTQTQwOTYgU0hBMjU2IFRpbWVTdGFtcGluZyBDQQIQBUSv85SdCDmmv9s/X+Vh # FjANBglghkgBZQMEAgEFAKBpMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJ # KoZIhvcNAQkFMQ8XDTI0MDgyMTE2NDYzNFowLwYJKoZIhvcNAQkEMSIEIAej1DFp # /5f2cKIE8A0evlUCA5Pi4u5ikeWFzYMpQ1tpMA0GCSqGSIb3DQEBAQUABIICAElp # G69Hiaj16CwFTOyc4X1eYMQ4/kbaxr830Xnqp0GqD7vENXf8q0zcK4809Sd7RXdL # 0Orfs5i8ROlHTbkgCXRu7K7E/JirQe/o+LjSzPYlq7siY0TrJKsgU4X/TH9Em3v9 # 7NuZiNLl+37HIBoKjK+lJFoaycclmdfJi/c1NE+YcDCHupSZ8Ev2fi2Yki5uvFdp # OM8ovdn2/KcyCAP0OdnaPxPsNIBqpYyfSnflnKQJyVBa3LI8CXQdTjo9qIs5aHj6 # mnHMBbH9bA02uLl6klRtIcbzhmwS+Kj4ZGq5LT9bqLrpHb+CTwp9532iLP+QakdY # Ov8LomGiv6trnaL5P6uaofRhul868qc2iC6NBgJCdaZDtxecd8x+pvS03hQ4cKz0 # BUwTRcxC0eyYcYGT1eR0TwxpnD/n0fEx501kVRteDpO7K6OLQf60hIIdrpQ9P3Q6 # mcxN0mKi2udQxLK/cutqsTvwkEyGJp+XXfiGstjpT/bemqqeQW2x94eWFz3vzkHc # dIIM8rAxDMFHLSZqOsIXo6xW+VnwNQGmqqeXa43pfmdz1TocuyRQ426pmHz6DnWd # z5k03T8TC3w3VFuXf58hTtywXH5yw3OsiB19Ikz/JQkK2qf9mZ/3oBX4TDnlN28Z # 4HcX3uG2E87blpu4rlcGnz0k0pP6bAYT/xkG9oK9 # SIG # End signature block |