private/CommandExecution.ps1
<#
.Synopsis PowerShell script with functions for executing API calls, logging, and handling responses. .Description This script defines two functions: ExecuteWithTranscription and ExecuteWithTranscriptAndStoreResponse. These functions are designed to make API calls, log the execution details, and handle the response. .Function ExecuteWithTranscription - Logs the execution details using Start-TranscriptLog. - Makes an API call using Call-Url. - Logs success or failure using Write-Host and Write-Error. - Stops the transcript logging using Stop-TranscriptLog. .Function ExecuteWithTranscriptAndStoreResponse - Logs the execution details using Start-TranscriptLog and captures the output file path. - Makes an API call using Call-Url and stores the response in a file. - Logs success or failure using Write-Host and Write-Error. - Stops the transcript logging using Stop-TranscriptLog. #> function ExecuteWithTranscription { param( [parameter(Mandatory=$true)] [string] $UrlPath, [parameter(Mandatory=$true)] [string] $Method, [parameter(Mandatory=$true)] [string] $CommandType, [parameter(Mandatory=$false)] [string] $OutputFile, [parameter(Mandatory=$false)] [string] $ConnectionId ) Start-TranscriptLog -OutputFile $OutputFile -CommandType $CommandType -ConnectionId $ConnectionId try { $TokenInfoObj = GetOAuthToken -TenantId $TenantId -Torus:$Torus Call-Url -CommandType $CommandType -Token $TokenInfoObj.Token -Method $Method -UrlPath $UrlPath -TenantId $TokenInfoObj.TenantId Write-Host "------- $($CommandType) Success. -------" -ForegroundColor Green } catch{ Write-Error "Error in running InvokeCall.ps1 Error message: `n$_`n"; } Stop-TranscriptLog } function ExecuteWithTranscriptAndStoreResponse { param( [parameter(Mandatory=$true)] [string] $UrlPath, [parameter(Mandatory=$true)] [string] $Method, [parameter(Mandatory=$true)] [string] $CommandType, [parameter(Mandatory=$false)] [string] $ConnectionId, #FileName to store response [parameter(Mandatory=$false)] [string] $OutputFile, #FileExtrension to store response. Default set to txt [parameter(Mandatory=$false)] [string] $OutputFileExtension="txt" ) $OutputFile = Start-TranscriptLog -OutputFile $OutputFile -CommandType $CommandType -ConnectionId $ConnectionId try { $TokenInfoObj = GetOAuthToken -TenantId $TenantId -Torus:$Torus $OutputResponse = Call-Url -CommandType $CommandType -Token $TokenInfoObj.Token -Method $Method -UrlPath $UrlPath -TenantId $TokenInfoObj.TenantId $OutputFile = "$OutputFile.$OutputFileExtension" $OutputResponse.Content | Add-Content -Path $OutputFile Write-Host "------- $($CommandType) Success. Response is stored in file $OutputFile. -------" -ForegroundColor Green } catch{ Write-Error "Error in running InvokeCall.ps1 Error message: `n$_`n"; } Stop-TranscriptLog } # SIG # Begin signature block # MIIoBgYJKoZIhvcNAQcCoIIn9zCCJ/MCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBtEnYJmqUDLHlW # i5jHQu6Smk0AITTe1kQvuOORWYqCH6CCDYUwggYDMIID66ADAgECAhMzAAADri01 # UchTj1UdAAAAAAOuMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy # b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p # bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwODU5WhcNMjQxMTE0MTkwODU5WjB0MQsw # CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u # ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy # b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB # AQD0IPymNjfDEKg+YyE6SjDvJwKW1+pieqTjAY0CnOHZ1Nj5irGjNZPMlQ4HfxXG # yAVCZcEWE4x2sZgam872R1s0+TAelOtbqFmoW4suJHAYoTHhkznNVKpscm5fZ899 # QnReZv5WtWwbD8HAFXbPPStW2JKCqPcZ54Y6wbuWV9bKtKPImqbkMcTejTgEAj82 # 6GQc6/Th66Koka8cUIvz59e/IP04DGrh9wkq2jIFvQ8EDegw1B4KyJTIs76+hmpV # M5SwBZjRs3liOQrierkNVo11WuujB3kBf2CbPoP9MlOyyezqkMIbTRj4OHeKlamd # WaSFhwHLJRIQpfc8sLwOSIBBAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE # AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhx/vdKmXhwc4WiWXbsf0I53h8T8w # VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh # dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzUwMTgzNjAfBgNVHSMEGDAW # gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v # d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw # MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov # L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx # XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB # AGrJYDUS7s8o0yNprGXRXuAnRcHKxSjFmW4wclcUTYsQZkhnbMwthWM6cAYb/h2W # 5GNKtlmj/y/CThe3y/o0EH2h+jwfU/9eJ0fK1ZO/2WD0xi777qU+a7l8KjMPdwjY # 0tk9bYEGEZfYPRHy1AGPQVuZlG4i5ymJDsMrcIcqV8pxzsw/yk/O4y/nlOjHz4oV # APU0br5t9tgD8E08GSDi3I6H57Ftod9w26h0MlQiOr10Xqhr5iPLS7SlQwj8HW37 # ybqsmjQpKhmWul6xiXSNGGm36GarHy4Q1egYlxhlUnk3ZKSr3QtWIo1GGL03hT57 # xzjL25fKiZQX/q+II8nuG5M0Qmjvl6Egltr4hZ3e3FQRzRHfLoNPq3ELpxbWdH8t # Nuj0j/x9Crnfwbki8n57mJKI5JVWRWTSLmbTcDDLkTZlJLg9V1BIJwXGY3i2kR9i # 5HsADL8YlW0gMWVSlKB1eiSlK6LmFi0rVH16dde+j5T/EaQtFz6qngN7d1lvO7uk # 6rtX+MLKG4LDRsQgBTi6sIYiKntMjoYFHMPvI/OMUip5ljtLitVbkFGfagSqmbxK # 7rJMhC8wiTzHanBg1Rrbff1niBbnFbbV4UDmYumjs1FIpFCazk6AADXxoKCo5TsO # zSHqr9gHgGYQC2hMyX9MGLIpowYCURx3L7kUiGbOiMwaMIIHejCCBWKgAwIBAgIK # YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV # BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv # c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm # aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw # OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE # BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD # VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG # 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la # UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc # 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D # dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+ # lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk # kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6 # A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd # X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL # 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd # sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3 # T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS # 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI # bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL # BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD # uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv # c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf # MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3 # dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf # MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF # BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h # cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA # YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn # 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7 # v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b # pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/ # KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy # CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp # mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi # hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb # BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS # oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL # gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX # cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGdcwghnTAgEBMIGVMH4x # CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt # b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p # Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAOuLTVRyFOPVR0AAAAA # A64wDQYJYIZIAWUDBAIBBQCggeYwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw # HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIFg8 # FBBREewHhjMUKToHNPOmg4EQmABRe1lPBjxNqYYnMHoGCisGAQQBgjcCAQwxbDBq # oEyASgBNAGkAYwByAG8AcwBvAGYAdAAuAEcAcgBhAHAAaAAuAEMAbwBuAG4AZQBj # AHQAbwByAHMALgBDAG0AZABsAGUAdAAuAGQAbABsoRqAGGh0dHA6Ly93d3cubWlj # cm9zb2Z0LmNvbTANBgkqhkiG9w0BAQEFAASCAQB4r3yrxfcLfWgJyCBUB0wRi/Qs # eQ8b6W6m+mQf2RY1OWTzRovRDP1dS592N1Dc0SSilzUI6xi7rTkX80B3D17nzXAs # ra3VaiduFm5g0O0NvnWqjBc3DKy8QdcBmEbhOmmYfdfo/zoq+0WA9q+Yh6jkWfVv # ilZgFT2jjbVHqYmwcnso0k0BbXHGXFkoMqZgIyzoiLIAOqfQ8VsWq+xMKWElxthj # vvQqdiwWEaPKvQrgkyTJXEwo8Apn8yIv9ynwDKxIr23p4hq4NkyV53d+rdkK7dom # GupnPgmF/0huXsEs371kn6nsiUmmnF0kCZ9XWc2F6XM94oRjtZtnxswtcIdWoYIX # KTCCFyUGCisGAQQBgjcDAwExghcVMIIXEQYJKoZIhvcNAQcCoIIXAjCCFv4CAQMx # DzANBglghkgBZQMEAgEFADCCAVkGCyqGSIb3DQEJEAEEoIIBSASCAUQwggFAAgEB # BgorBgEEAYRZCgMBMDEwDQYJYIZIAWUDBAIBBQAEILb7DjLIX0/e4Rb/qnWiR5yo # ktZOPA9vQIqKm7XxeJ0dAgZl/Hj85bEYEzIwMjQwNDAyMDc0NDIyLjM5M1owBIAC # AfSggdikgdUwgdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw # DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x # LTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEm # MCQGA1UECxMdVGhhbGVzIFRTUyBFU046OEQ0MS00QkY3LUIzQjcxJTAjBgNVBAMT # HE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WgghF4MIIHJzCCBQ+gAwIBAgIT # MwAAAePfvZuaHGiDIgABAAAB4zANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJV # UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE # ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt # ZS1TdGFtcCBQQ0EgMjAxMDAeFw0yMzEwMTIxOTA3MjlaFw0yNTAxMTAxOTA3Mjla # MIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH # UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQL # EyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsT # HVRoYWxlcyBUU1MgRVNOOjhENDEtNEJGNy1CM0I3MSUwIwYDVQQDExxNaWNyb3Nv # ZnQgVGltZS1TdGFtcCBTZXJ2aWNlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC # CgKCAgEAvqQNaB5Gn5/FIFQPo3/K4QmleCDMF40bkoHwz0BshZ4SiQmA6CGUyDwm # aqQ2wHhaXU0RdHtwvq+U8KxYYsyHKqaxxC7fr/yHZvHpNTgzx1VkR3pXhT6X2Cm1 # 75UX3WQ4jfl86onp5AMzBIFDlz0SU8VSKNMDvNXtjk9FitLgUv2nj3hOJ0KkEQfk # 3oA7m7zA0D+Mo73hmR+OC7uwsXxJR2tzUZE0STYX3UvenFH7fYWy5BNmLyGq2sWk # Q5HFvJKCJAE/dwft8+V43U3KeExF/pPtcLUvQ9HIrL0xnpMFau7Yd5aK+TEi57Wc # tBv87+fSPZBV3jZl/QCtcH9WrniBDwki9QfRxu/JYzw+iaEWLqrYXuF7jeOGvHK+ # fVeLWnAc5WxsfbpjEMpNbGXbSF9At3PPhFVOjxwVEx1ALGUqRKehw9ap9X/gfkA9 # I9eTSvwJz9wya9reDgS+6kXgSttI7RQ2cJG/tQPGVIaLCIaSafLneaq0Bns0t4+E # W3B/GnoBMiiOXwleOvf5udBZQIMJ3k5qnnh8Z4ZhTwrE6iGbPrTgGBPXh7exFYAG # lb6hdhILIVDdJlDf8s1NVvL0Q2y4SHZQhApZTuW/tyGsGscIPDSMz5bA6NhRLtjE # wCFpLI5qGlu50Au9FRelCEQsWg7q07H/rqHOqCNJM4Rjem7joEUCAwEAAaOCAUkw # ggFFMB0GA1UdDgQWBBSxrg1mvjUVt6Fnxj56nabZiJipAzAfBgNVHSMEGDAWgBSf # pxVdAF5iXYP05dJlpxtTNRnpcjBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3 # Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1w # JTIwUENBJTIwMjAxMCgxKS5jcmwwbAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAC # hlBodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29m # dCUyMFRpbWUtU3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAA # MBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG # 9w0BAQsFAAOCAgEAt76bLqnU08wRbW3vRrxjaEbGPqyINK6UYCzhTGaR/PEwCJzi # PT4ZM9sfGTX3eZDQVE9r121tFtp7NXQYuQSxRZMYXa0/pawN2Xn+UPjBRDvoCsU5 # 6dwKkrmy8TSw7QXKGskdnEwsI5yW93q8Ag86RkBiKEEf9FdzHNuKWI4Kv//fDtES # ewu46n/u+VckCwbOYl6wE//QRGrGMq509a4EbP+p1GUm06Xme/01mTIuKDgPmHL2 # nYRzXNqi2IuIecn2aWwkRxQOFiPw+dicmOOwLG/7InNqjZpQeIhDMxsWr4zTxzy4 # ER/6zfthtlDtcAXHB7YRUkBTClaOa0ndvfNJZMyYVa6cWvZouTq9V5LS7UzIR8S/ # 7RsOT43eOawLBsuQz0VoOLurYe1SffPqTsCcRNzbx0C8t/+KipStVhPAGttEfhdU # US9ohD6Lt6wNCJxZbV0IMD8nfE6gIQJXrzrXWOuJqN91WDyjRan4UKDkIBS2yWA4 # W6JhQuBzGerOSY/aLnxkRrSubgtnKYcHOwgxTTIya5WYCRjFt0QOLleqVki6k+mq # YPr98uMPi5vRIQS206mDSenStr8w0J+/+1WEm3PnCCIQgpf6zhqRrAt9j7XrEMHr # g2bQegaz8bLzbe6UibgbKtRyk1nGde8To5kyMj9XUCBICDxT+F4xa5lNZVQwggdx # MIIFWaADAgECAhMzAAAAFcXna54Cm0mZAAAAAAAVMA0GCSqGSIb3DQEBCwUAMIGI # MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk # bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylN # aWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAxMDAeFw0yMTA5 # MzAxODIyMjVaFw0zMDA5MzAxODMyMjVaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI # EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv # ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD # QSAyMDEwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5OGmTOe0ciEL # eaLL1yR5vQ7VgtP97pwHB9KpbE51yMo1V/YBf2xK4OK9uT4XYDP/XE/HZveVU3Fa # 4n5KWv64NmeFRiMMtY0Tz3cywBAY6GB9alKDRLemjkZrBxTzxXb1hlDcwUTIcVxR # MTegCjhuje3XD9gmU3w5YQJ6xKr9cmmvHaus9ja+NSZk2pg7uhp7M62AW36MEByd # Uv626GIl3GoPz130/o5Tz9bshVZN7928jaTjkY+yOSxRnOlwaQ3KNi1wjjHINSi9 # 47SHJMPgyY9+tVSP3PoFVZhtaDuaRr3tpK56KTesy+uDRedGbsoy1cCGMFxPLOJi # ss254o2I5JasAUq7vnGpF1tnYN74kpEeHT39IM9zfUGaRnXNxF803RKJ1v2lIH1+ # /NmeRd+2ci/bfV+AutuqfjbsNkz2K26oElHovwUDo9Fzpk03dJQcNIIP8BDyt0cY # 7afomXw/TNuvXsLz1dhzPUNOwTM5TI4CvEJoLhDqhFFG4tG9ahhaYQFzymeiXtco # dgLiMxhy16cg8ML6EgrXY28MyTZki1ugpoMhXV8wdJGUlNi5UPkLiWHzNgY1GIRH # 29wb0f2y1BzFa/ZcUlFdEtsluq9QBXpsxREdcu+N+VLEhReTwDwV2xo3xwgVGD94 # q0W29R6HXtqPnhZyacaue7e3PmriLq0CAwEAAaOCAd0wggHZMBIGCSsGAQQBgjcV # AQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFCqnUv5kxJq+gpE8RjUpzxD/LwTuMB0G # A1UdDgQWBBSfpxVdAF5iXYP05dJlpxtTNRnpcjBcBgNVHSAEVTBTMFEGDCsGAQQB # gjdMg30BATBBMD8GCCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20v # cGtpb3BzL0RvY3MvUmVwb3NpdG9yeS5odG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgw # GQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB # /wQFMAMBAf8wHwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYDVR0f # BE8wTTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJv # ZHVjdHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4w # TDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0 # cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcnQwDQYJKoZIhvcNAQELBQADggIB # AJ1VffwqreEsH2cBMSRb4Z5yS/ypb+pcFLY+TkdkeLEGk5c9MTO1OdfCcTY/2mRs # fNB1OW27DzHkwo/7bNGhlBgi7ulmZzpTTd2YurYeeNg2LpypglYAA7AFvonoaeC6 # Ce5732pvvinLbtg/SHUB2RjebYIM9W0jVOR4U3UkV7ndn/OOPcbzaN9l9qRWqveV # tihVJ9AkvUCgvxm2EhIRXT0n4ECWOKz3+SmJw7wXsFSFQrP8DJ6LGYnn8AtqgcKB # GUIZUnWKNsIdw2FzLixre24/LAl4FOmRsqlb30mjdAy87JGA0j3mSj5mO0+7hvoy # GtmW9I/2kQH2zsZ0/fZMcm8Qq3UwxTSwethQ/gpY3UA8x1RtnWN0SCyxTkctwRQE # cb9k+SS+c23Kjgm9swFXSVRk2XPXfx5bRAGOWhmRaw2fpCjcZxkoJLo4S5pu+yFU # a2pFEUep8beuyOiJXk+d0tBMdrVXVAmxaQFEfnyhYWxz/gq77EFmPWn9y8FBSX5+ # k77L+DvktxW/tM4+pTFRhLy/AsGConsXHRWJjXD+57XQKBqJC4822rpM+Zv/Cuk0 # +CQ1ZyvgDbjmjJnW4SLq8CdCPSWU5nR0W2rRnj7tfqAxM328y+l7vzhwRNGQ8cir # Ooo6CGJ/2XBjU02N7oJtpQUQwXEGahC0HVUzWLOhcGbyoYIC1DCCAj0CAQEwggEA # oYHYpIHVMIHSMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G # A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0w # KwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAk # BgNVBAsTHVRoYWxlcyBUU1MgRVNOOjhENDEtNEJGNy1CM0I3MSUwIwYDVQQDExxN # aWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNloiMKAQEwBwYFKw4DAhoDFQA9iJe7 # w5FDiG8py4TsYrQI6DFaeqCBgzCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI # EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv # ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD # QSAyMDEwMA0GCSqGSIb3DQEBBQUAAgUA6bYfljAiGA8yMDI0MDQwMjE0MDkyNloY # DzIwMjQwNDAzMTQwOTI2WjB0MDoGCisGAQQBhFkKBAExLDAqMAoCBQDpth+WAgEA # MAcCAQACAgieMAcCAQACAhNeMAoCBQDpt3EWAgEAMDYGCisGAQQBhFkKBAIxKDAm # MAwGCisGAQQBhFkKAwKgCjAIAgEAAgMHoSChCjAIAgEAAgMBhqAwDQYJKoZIhvcN # AQEFBQADgYEAPvI6g+ERGOonAdfLTxHYDP/a14HnYPSGcyMKub2dxdLWt/beX4rh # zoq9rVQ0blp70MaqyVVYI0EW4jG/yrwvygNNgurk6oBvkcYOSDDtmHnQlHrRVL/8 # P5MYjGtIPwYHrflZ/a1/3m/egwbried5GgusScScjgdaqg/lRWSvPIYxggQNMIIE # CQIBATCBkzB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G # A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYw # JAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAePfvZua # HGiDIgABAAAB4zANBglghkgBZQMEAgEFAKCCAUowGgYJKoZIhvcNAQkDMQ0GCyqG # SIb3DQEJEAEEMC8GCSqGSIb3DQEJBDEiBCCRE2YOw4mF4sWNbzjWLkowlE5Lim1t # VJu0/xJxF6AhvTCB+gYLKoZIhvcNAQkQAi8xgeowgecwgeQwgb0EIDPUI6vlsP5k # 90SBCNa9wha4MlxBt2Crw12PTHIy5iYqMIGYMIGApH4wfDELMAkGA1UEBhMCVVMx # EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT # FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUt # U3RhbXAgUENBIDIwMTACEzMAAAHj372bmhxogyIAAQAAAeMwIgQgnmAgjvy8hUYb # 9+ittrKM9q3OmkQF37wi+Yp5Wq0WhUAwDQYJKoZIhvcNAQELBQAEggIAPcHmxsUi # MhxixwCx9Q74LRfVTITT4AgGYeUd0rtZGa7Ejo8d0fF0AGV3DlkPvJK+QnAAEx/4 # PjYZz0Akx371iv8ejuYwgCV0j2n9foO4J7FQ0YetTolyhlseRYkSRws0WW36Q9z4 # t0zGuX9Adt+ol6/LQ7GuVmZb/fU0QDyd4QYrF9G8ViEYi4UUCu6neMTIkKGWm2zI # Wciw1X5a37N0V28QH8XOaS2olXijk1B/FFIQZ2NAqIv69SdiVDYXEk9MAl88Jc3x # R/I4/it3y3V+p7Xn2+U0y+9JMkilqwLnNizl1swlwEtKthSKqai4QRduBuGCFeVI # OE/a7CJis+EZvP+99u5Wm4/Ht/AU0bcOkZ3xAi4DhDLhNoa55bFdbMyCR5eV1Dbg # qynsysy9BHQtFEsI70jPkzdv0v0RtCIyFCtJzPov/ncM7Jo1KMw01sAiAiPxUvaV # i4ipeTnXxY8S37NgamfUg2fXRBYa461tVZHOfTdGh0bal2D38L90pujG0OWvMshM # CzzpjBrxnxUuwbCCZf1bPNGIL4yG/cRQmr+VjZF4iS/bERY/0PxjUUxsCLploajF # spqKrWkWpf9XFEhaqCsUGcjD3l9MVFywJsfmQOoPju3mlP2YXdrKBgoXia+qvi93 # wGhqS7Ax6PB9C/UjZfsE6jSswx1dh9b6POI= # SIG # End signature block |