mirror of
				https://github.com/actions/setup-dotnet.git
				synced 2025-11-04 12:03:45 +00:00 
			
		
		
		
	Update download scripts
This commit is contained in:
		
							parent
							
								
									a69aaa20dc
								
							
						
					
					
						commit
						ad3408d7ed
					
				
							
								
								
									
										278
									
								
								externals/install-dotnet.ps1
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										278
									
								
								externals/install-dotnet.ps1
									
									
									
									
										vendored
									
									
								
							@ -29,7 +29,7 @@
 | 
				
			|||||||
.PARAMETER Version
 | 
					.PARAMETER Version
 | 
				
			||||||
    Default: latest
 | 
					    Default: latest
 | 
				
			||||||
    Represents a build version on specific channel. Possible values:
 | 
					    Represents a build version on specific channel. Possible values:
 | 
				
			||||||
    - latest - most latest build on specific channel
 | 
					    - latest - the latest build on specific channel
 | 
				
			||||||
    - 3-part version in a format A.B.C - represents specific version of build
 | 
					    - 3-part version in a format A.B.C - represents specific version of build
 | 
				
			||||||
          examples: 2.0.0-preview2-006120, 1.1.0
 | 
					          examples: 2.0.0-preview2-006120, 1.1.0
 | 
				
			||||||
.PARAMETER Internal
 | 
					.PARAMETER Internal
 | 
				
			||||||
@ -171,6 +171,7 @@ function Say-Invocation($Invocation) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
function Invoke-With-Retry([ScriptBlock]$ScriptBlock, [System.Threading.CancellationToken]$cancellationToken = [System.Threading.CancellationToken]::None, [int]$MaxAttempts = 3, [int]$SecondsBetweenAttempts = 1) {
 | 
					function Invoke-With-Retry([ScriptBlock]$ScriptBlock, [System.Threading.CancellationToken]$cancellationToken = [System.Threading.CancellationToken]::None, [int]$MaxAttempts = 3, [int]$SecondsBetweenAttempts = 1) {
 | 
				
			||||||
    $Attempts = 0
 | 
					    $Attempts = 0
 | 
				
			||||||
 | 
					    $local:startTime = $(get-date)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    while ($true) {
 | 
					    while ($true) {
 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
@ -182,7 +183,11 @@ function Invoke-With-Retry([ScriptBlock]$ScriptBlock, [System.Threading.Cancella
 | 
				
			|||||||
                Start-Sleep $SecondsBetweenAttempts
 | 
					                Start-Sleep $SecondsBetweenAttempts
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else {
 | 
					            else {
 | 
				
			||||||
                throw
 | 
					                $local:elapsedTime = $(get-date) - $local:startTime
 | 
				
			||||||
 | 
					                if (($local:elapsedTime.TotalSeconds - $DownloadTimeout) -gt 0 -and -not $cancellationToken.IsCancellationRequested) {
 | 
				
			||||||
 | 
					                    throw New-Object System.TimeoutException("Failed to reach the server: connection timeout: default timeout is $DownloadTimeout second(s)");
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                throw;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -1103,6 +1108,10 @@ $ScriptName = $MyInvocation.MyCommand.Name
 | 
				
			|||||||
$feeds = Get-Feeds-To-Use
 | 
					$feeds = Get-Feeds-To-Use
 | 
				
			||||||
$DownloadLinks = @()
 | 
					$DownloadLinks = @()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ($Version.ToLowerInvariant() -ne "latest" -and -not [string]::IsNullOrEmpty($Quality)) {
 | 
				
			||||||
 | 
					    throw "Either Quality or Version option has to be specified. See https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script#options for details."
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# aka.ms links can only be used if the user did not request a specific version via the command line or a global.json file.
 | 
					# aka.ms links can only be used if the user did not request a specific version via the command line or a global.json file.
 | 
				
			||||||
if ([string]::IsNullOrEmpty($JSonFile) -and ($Version -eq "latest")) {
 | 
					if ([string]::IsNullOrEmpty($JSonFile) -and ($Version -eq "latest")) {
 | 
				
			||||||
    ($DownloadLink, $SpecificVersion, $EffectiveVersion) = Get-AkaMsLink-And-Version $NormalizedChannel $NormalizedQuality $Internal $NormalizedProduct $CLIArchitecture
 | 
					    ($DownloadLink, $SpecificVersion, $EffectiveVersion) = Get-AkaMsLink-And-Version $NormalizedChannel $NormalizedQuality $Internal $NormalizedProduct $CLIArchitecture
 | 
				
			||||||
@ -1248,13 +1257,14 @@ Prepend-Sdk-InstallRoot-To-Path -InstallRoot $InstallRoot
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Say "Note that the script does not resolve dependencies during installation."
 | 
					Say "Note that the script does not resolve dependencies during installation."
 | 
				
			||||||
Say "To check the list of dependencies, go to https://docs.microsoft.com/dotnet/core/install/windows#dependencies"
 | 
					Say "To check the list of dependencies, go to https://docs.microsoft.com/dotnet/core/install/windows#dependencies"
 | 
				
			||||||
 | 
					Say "Installed version is $($DownloadedLink.effectiveVersion)"
 | 
				
			||||||
Say "Installation finished"
 | 
					Say "Installation finished"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# SIG # Begin signature block
 | 
					# SIG # Begin signature block
 | 
				
			||||||
# MIInoQYJKoZIhvcNAQcCoIInkjCCJ44CAQExDzANBglghkgBZQMEAgEFADB5Bgor
 | 
					# MIInugYJKoZIhvcNAQcCoIInqzCCJ6cCAQExDzANBglghkgBZQMEAgEFADB5Bgor
 | 
				
			||||||
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
 | 
					# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
 | 
				
			||||||
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAuo3sRWvfrJ+Bd
 | 
					# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDTYtw1Or1qr9ot
 | 
				
			||||||
# sIQ2zLeO20Ij33Vb5ljtEhxAYYSEc6CCDYEwggX/MIID56ADAgECAhMzAAACUosz
 | 
					# VfMRma6Tu2Eucp1+G58Kd56HEyVQHqCCDYEwggX/MIID56ADAgECAhMzAAACUosz
 | 
				
			||||||
# qviV8znbAAAAAAJSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
 | 
					# qviV8znbAAAAAAJSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
 | 
				
			||||||
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
 | 
					# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
 | 
				
			||||||
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
 | 
					# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
 | 
				
			||||||
@ -1326,141 +1336,141 @@ Say "Installation finished"
 | 
				
			|||||||
# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96
 | 
					# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96
 | 
				
			||||||
# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7
 | 
					# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7
 | 
				
			||||||
# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I
 | 
					# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I
 | 
				
			||||||
# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZdjCCGXICAQEwgZUwfjELMAkG
 | 
					# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZjzCCGYsCAQEwgZUwfjELMAkG
 | 
				
			||||||
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
 | 
					# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
 | 
				
			||||||
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z
 | 
					# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z
 | 
				
			||||||
# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAlKLM6r4lfM52wAAAAACUjAN
 | 
					# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAlKLM6r4lfM52wAAAAACUjAN
 | 
				
			||||||
# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor
 | 
					# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor
 | 
				
			||||||
# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgBzhh8wf+
 | 
					# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgYvRfael0
 | 
				
			||||||
# /kA/CamFNwS1K9Nt0wsjATKS8Y66iHQTKrIwQgYKKwYBBAGCNwIBDDE0MDKgFIAS
 | 
					# uL5RV3fPPB91nSBZIesbd278Hd8ffmMdxOUwQgYKKwYBBAGCNwIBDDE0MDKgFIAS
 | 
				
			||||||
# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN
 | 
					# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN
 | 
				
			||||||
# BgkqhkiG9w0BAQEFAASCAQAruzFwahFXWsJ9eny7iY/KyWolnqJ9+cvDD1QaJ0qJ
 | 
					# BgkqhkiG9w0BAQEFAASCAQBwP2PaZlVHxryeYiQ5+EN1Mh/hC/xZrvvCcz2bSjKr
 | 
				
			||||||
# tHlTLP8pr0GPPtitwuk+3JME7wkx80+AZXl/ocO39tdhy1Ucd6yiyV3M1Ub/Eo4D
 | 
					# dbghTO3KQAuzj9GyzbQWV7n6fFQkPifoZPm/WNqpy9oD1vx2Uo5vZUoFYwOrMy49
 | 
				
			||||||
# 37L1saazNomWeeMD6oX3FboVe1Ql17MX1SscTW5QRx8ytYgUOUIbrxFybODcdVn9
 | 
					# BpRUzxI7aFbabtjKdQvwq7CM3rOovufvUh7Ls33cbkO540PyoGmXtikyAQVlrnQ6
 | 
				
			||||||
# YG7mlkgsJr2lhUhTnHtq7jV/jEu6Sk9o+g15Pbu90VncsCoNerg9aEziui6/W3/g
 | 
					# pDrfAJCEogFLO8Yx/cgp/6ZvyoI6eQuy2sY88gljBN4C6U5QaGqANoB3ThDhKFna
 | 
				
			||||||
# Wvt4WhfCPanppzWVmsvTUp5MAt5cpdNBr9b8CV/alI3TGnNwC8RuWMCK6CS4963l
 | 
					# FU/wSxK7ME52iCoBniEmAffNiB/Ll+NGCZIFLXcys0pVzi1V7OqjILigcC7Togyz
 | 
				
			||||||
# f4AiLZW/fgD8UQYtl+tAyYfSerpX0sDB039jymj1FkqHoYIXADCCFvwGCisGAQQB
 | 
					# qkMeCWzCO8dYN5gjQ9ejpscFZAJ2BPx/6kTLDCCkem2BoYIXGTCCFxUGCisGAQQB
 | 
				
			||||||
# gjcDAwExghbsMIIW6AYJKoZIhvcNAQcCoIIW2TCCFtUCAQMxDzANBglghkgBZQME
 | 
					# gjcDAwExghcFMIIXAQYJKoZIhvcNAQcCoIIW8jCCFu4CAQMxDzANBglghkgBZQME
 | 
				
			||||||
# AgEFADCCAVEGCyqGSIb3DQEJEAEEoIIBQASCATwwggE4AgEBBgorBgEEAYRZCgMB
 | 
					# AgEFADCCAVkGCyqGSIb3DQEJEAEEoIIBSASCAUQwggFAAgEBBgorBgEEAYRZCgMB
 | 
				
			||||||
# MDEwDQYJYIZIAWUDBAIBBQAEIEcy5EvHdubbPngOS1BSZ6xt9xSMrt3OLtUyfQaT
 | 
					# MDEwDQYJYIZIAWUDBAIBBQAEIJPh2o4dfS0MiB55NQV7I66zDdJ6UrT7BxbmV63R
 | 
				
			||||||
# IyRBAgZh+unPYkgYEzIwMjIwMjA4MTAyMjE5LjM1OVowBIACAfSggdCkgc0wgcox
 | 
					# q0IrAgZihjgPzRIYEzIwMjIwNjE1MTEwNzQxLjc2OVowBIACAfSggdikgdUwgdIx
 | 
				
			||||||
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
 | 
					# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
 | 
				
			||||||
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1p
 | 
					# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1p
 | 
				
			||||||
# Y3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg
 | 
					# Y3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhh
 | 
				
			||||||
# RVNOOkREOEMtRTMzNy0yRkFFMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt
 | 
					# bGVzIFRTUyBFU046RkM0MS00QkQ0LUQyMjAxJTAjBgNVBAMTHE1pY3Jvc29mdCBU
 | 
				
			||||||
# cCBTZXJ2aWNloIIRVzCCBwwwggT0oAMCAQICEzMAAAGcD6ZNYdKeSygAAQAAAZww
 | 
					# aW1lLVN0YW1wIFNlcnZpY2WgghFoMIIHFDCCBPygAwIBAgITMwAAAY5Z20YAqBCU
 | 
				
			||||||
# DQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
 | 
					# zAABAAABjjANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
 | 
				
			||||||
# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
 | 
					# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
 | 
				
			||||||
# dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcN
 | 
					# IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg
 | 
				
			||||||
# MjExMjAyMTkwNTE5WhcNMjMwMjI4MTkwNTE5WjCByjELMAkGA1UEBhMCVVMxEzAR
 | 
					# MjAxMDAeFw0yMTEwMjgxOTI3NDVaFw0yMzAxMjYxOTI3NDVaMIHSMQswCQYDVQQG
 | 
				
			||||||
# BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
 | 
					# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
 | 
				
			||||||
# Y3Jvc29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2Eg
 | 
					# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQg
 | 
				
			||||||
# T3BlcmF0aW9uczEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046REQ4Qy1FMzM3LTJG
 | 
					# SXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg
 | 
				
			||||||
# QUUxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggIiMA0G
 | 
					# RVNOOkZDNDEtNEJENC1EMjIwMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt
 | 
				
			||||||
# CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDbUioMGV1JFj+s612s02mKu23KPUNs
 | 
					# cCBTZXJ2aWNlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqiMCq6OM
 | 
				
			||||||
# 71OjDeJGtxkTF9rSWTiuA8XgYkAAi/5+2Ff7Ck7JcKQ9H/XD1OKwg1/bH3E1qO1z
 | 
					# zLa5wrtcf7Bf9f1WXW9kpqbOBzgPJvaGLrZG7twgwqTRWf1FkjpJKBOG5QPIRy7a
 | 
				
			||||||
# 8XRy0PlpGhmyilgE7KsOvW8PIZCf243KdldgOrxrL8HKiQodOwStyT5lLWYpMsuT
 | 
					# 6IFVAy0W+tBaFX4In4DbBf2tGubyY9+hRU+hRewPJH5CYOvpPh77FfGM63+OlwRX
 | 
				
			||||||
# 2fH8k8oihje4TlpWiFPaCKLnFDaAB0Ccy6vIdtHjYB1Ie3iOZPisquL+vNdCx7gO
 | 
					# p5YER6tC0WRKn3mryWpt4CwADuGv0LD2QjnhhgtRVidsiDnn9+aLjMuNapUhstGq
 | 
				
			||||||
# hB8iiTmTdsU8OSUpC8tBTeTIYPzmhaxQZd4moNk6qeCJyi7fiW4fyXdHrZ3otmgx
 | 
					# Cr7JcQZt0ZrPUHW/TqTJymeU1eqgNorEbTed6UQyLaTVAmhXNQXDChfa526nW7RQ
 | 
				
			||||||
# xa5pXz5pUUr+cEjV+cwIYBMkaY5kHM9c6dEGkgHn0ZDJvdt/54FOdSG61WwHh4+e
 | 
					# 7L4tXX9Lc0oguiCSkPlu5drNA6NM8z+UXQOAHxVfIQXmi+Y3SV2hr2dcxby9nlTz
 | 
				
			||||||
# vUhwvXaB4LCMZIdCt5acOfNvtDjV3CHyFOp5AU/qgAwGftHU9brv4EUwcuteEAKH
 | 
					# Yvf4ZDr5Wpcwt7tTdRIJibXHsXWMKrmOziliGDToLx34a/ctZE4NOLnlrKQWN9ZG
 | 
				
			||||||
# 46NufE20l/WjlNUh7gAvt2zKMjO4zXRxCUTh/prBQwXJiUZeFSrEXiOfkuvSlBni
 | 
					# +Ox5zRarK1EhShahM0uQNhb6BJjp3+c0eNzMFJ2qLZqDp2/3Yl5Q+4k+MDHLTipP
 | 
				
			||||||
# yAYYZp5kOnaxfCKdGYjvr4QLA93vQJ6p2Ox3IHvOdCPaCr8LsKVcFpyp8MEhhJTM
 | 
					# 6VBdxcdVfd4mgrVTx3afO5KNfgMngGGfhSawGraRW28EhrLOspmIxii92E7vjncJ
 | 
				
			||||||
# +1LwqHJqFDF5O1Z9mjbYvm3R9vPhkG+RDLKoTpr7mTgkaTljd9xvm94Obp8BD9Hk
 | 
					# 2tcjhLCjBArVpPh3cZG5g3ZVy5iiAaoDaswpNgnMFAK5Un1reK+MFhPi9iMnvUPw
 | 
				
			||||||
# 4mPi51mtgLiuN8/6aZVESVZXtvSuNkD5DnIJQerIy5jaRKW/W2rCe9ngNDJadS7R
 | 
					# tTDDJt5YED5DAT3mBUxp5QH3t7RhZwAJNLWLtpTeGF7ub81sSKYv2ardazAe9XLS
 | 
				
			||||||
# 96GGRl7IIE37lwIDAQABo4IBNjCCATIwHQYDVR0OBBYEFLtpCWdTXY5dtddkspy+
 | 
					# 10tV2oOPrcniGJzlXW7VPvxqQNxe8lCDA20CAwEAAaOCATYwggEyMB0GA1UdDgQW
 | 
				
			||||||
# oxjCA/qyMB8GA1UdIwQYMBaAFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMF8GA1UdHwRY
 | 
					# BBTsQfkz9gT44N/5G8vNHayep+aV5DAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJl
 | 
				
			||||||
# MFYwVKBSoFCGTmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01p
 | 
					# pxtTNRnpcjBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5j
 | 
				
			||||||
# Y3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNybDBsBggrBgEF
 | 
					# b20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAx
 | 
				
			||||||
# BQcBAQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w
 | 
					# MCgxKS5jcmwwbAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3
 | 
				
			||||||
# a2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAo
 | 
					# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3Rh
 | 
				
			||||||
# MSkuY3J0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZI
 | 
					# bXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoG
 | 
				
			||||||
# hvcNAQELBQADggIBAKcAKqYjGEczTWMs9z0m7Yo23sgqVF3LyK6gOMz7TCHAJN+F
 | 
					# CCsGAQUFBwMIMA0GCSqGSIb3DQEBCwUAA4ICAQA1UK9xzIeTlKhSbLn0bekR5gYh
 | 
				
			||||||
# vbvZkQ53VkvrZUd1sE6a9ToGldcJnOmBc6iuhBlpvdN1BLBRO8QSTD1433VTj4XC
 | 
					# 6bB1XQpluCqCA15skZ37UilaFJw8+GklDLzlNhSP2mOiOzVyCq8kkpqnfUc01ZaB
 | 
				
			||||||
# Qd737wND1+eqKG3BdjrzbDksEwfG4v57PgrN/T7s7PkEjUGXfIgFQQkr8TQi+/HZ
 | 
					# ezQxg77qevj2iMyg39YJfeiCIhxYOFugwepYrPO8MlB/oue/VhIiDb1eNYTlPSmv
 | 
				
			||||||
# Z9kRlNccgeACqlfb4uGPxn5sdhQPoxdMvmC3qG9DONJ5UsS9KtO+bey+ohUTDa9L
 | 
					# 3palsgtkrb0oo0F0uWmX4EQVGKRo0UENtZetVIxa0J9DpUdjQWPeEh9cEM+RgE26
 | 
				
			||||||
# vEToc4Qzy5fuHj2H1JsmCaKG78nXpfWpwBLBxZYSpfml29onN8jcG7KD8nGSS/76
 | 
					# 5w5WAVb+WNx0iWiF4iTbCmrWaVEOX92dNqBm9bT1U7nGwN5CygpNAgEaYnrTMx1N
 | 
				
			||||||
# PDlb2GMQsvv+Ra0JgL6FtGRGgYmHCpM6zVrf4V/a+SoHcC+tcdGYk2aKU5KOlv+f
 | 
					# 4AjxObACDN5DdvGlu/O0DfMWVc6qk6iKDFC6WpXQSkMlrlXII/Nhp+0+noU6tfEp
 | 
				
			||||||
# FE3n024V+z54tDAKR9z78rejdCBWqfvy5cBUQ9c5+3unHD08BEp7qP2rgpoD856v
 | 
					# HKLt7fYm9of5i/QomcCwo/ekiOCjYktp393ovoC1O2uLtbLnMVlE5raBLBNSbINZ
 | 
				
			||||||
# NDgEwO77n7EWT76nl/IyrbK2kjbHLzUMphFpXKnV1fYWJI2+E/0LHvXFGGqF4OvM
 | 
					# 6QLxiA41lXnVVLIzDihUL8MU9CMvG4sdbhk2FX8zvrsP5PeBIw1faenMZuz0V3UX
 | 
				
			||||||
# BRxbrJVn03T2Dy5db6s5TzJzSaQvCrXYqA4HKvstQWkqkpvBHTX8M09+/vyRbVXN
 | 
					# CtU5Okx5fmioWiiLZSCi1ljaxX+BEwQiinCi+vE59bTYI5FbuR8tDuGLiVu/JSpV
 | 
				
			||||||
# xrPdeXw6oD2Q4DksykCFfn8N2j2LdixE9wG5iilv69dzsvHIN/g9A9+thkAQCVb9
 | 
					# FXrzWMP2Kn11sCLAGEjqJYUmO1tRY29Kd7HcIj2niSB0PQOCjYlnCnywnDinqS1C
 | 
				
			||||||
# DUSOTaMIGgsOqDYFjhT6ze9lkhHHGv/EEIkxj9l6S4hqUQyWerFkaUWDXcnZMIIH
 | 
					# XvRsisjVlS1Rp4Tmuks+pGxiMGzF58zcb+hoFKyONuL3b+tgxTAz3sF3BVX9uk9M
 | 
				
			||||||
# cTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0BAQsFADCB
 | 
					# 5F+OEoeyLyGfLekNAjCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUw
 | 
				
			||||||
# iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl
 | 
					# DQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n
 | 
				
			||||||
# ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMp
 | 
					# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y
 | 
				
			||||||
# TWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEw
 | 
					# YXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhv
 | 
				
			||||||
# OTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UE
 | 
					# cml0eSAyMDEwMB4XDTIxMDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkG
 | 
				
			||||||
# CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z
 | 
					# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
 | 
				
			||||||
# b2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQ
 | 
					# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z
 | 
				
			||||||
# Q0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOThpkzntHIh
 | 
					# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
 | 
				
			||||||
# C3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xPx2b3lVNx
 | 
					# ggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg
 | 
				
			||||||
# WuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ3MFEyHFc
 | 
					# 4r25PhdgM/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aO
 | 
				
			||||||
# UTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOtgFt+jBAc
 | 
					# RmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41
 | 
				
			||||||
# nVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYtcI4xyDUo
 | 
					# JmTamDu6GnszrYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5
 | 
				
			||||||
# veO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXAhjBcTyzi
 | 
					# LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1oO5pGve2krnopN6zL
 | 
				
			||||||
# YrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9
 | 
					# 64NF50ZuyjLVwIYwXE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9
 | 
				
			||||||
# fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdH
 | 
					# QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYrbqgSUei/BQOj
 | 
				
			||||||
# GO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7X
 | 
					# 0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqE
 | 
				
			||||||
# KHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiE
 | 
					# UUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6CmgyFdXzB0
 | 
				
			||||||
# R9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/
 | 
					# kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435
 | 
				
			||||||
# eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkrBgEEAYI3
 | 
					# UsSFF5PAPBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQABo4IB
 | 
				
			||||||
# FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAd
 | 
					# 3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTE
 | 
				
			||||||
# BgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEE
 | 
					# mr6CkTxGNSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwG
 | 
				
			||||||
# AYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
 | 
					# A1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93
 | 
				
			||||||
# L3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMI
 | 
					# d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNV
 | 
				
			||||||
# MBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMB
 | 
					# HSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV
 | 
				
			||||||
# Af8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1Ud
 | 
					# HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo
 | 
				
			||||||
# HwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3By
 | 
					# 0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29m
 | 
				
			||||||
# b2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQRO
 | 
					# dC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5j
 | 
				
			||||||
# MEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2Vy
 | 
					# cmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jv
 | 
				
			||||||
# dHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEBCwUAA4IC
 | 
					# c29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDAN
 | 
				
			||||||
# AQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnXwnE2P9pk
 | 
					# BgkqhkiG9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5OR2R4
 | 
				
			||||||
# bHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gng
 | 
					# sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th54
 | 
				
			||||||
# ugnue99qb74py27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jfZfakVqr3
 | 
					# 2DYunKmCVgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRX
 | 
				
			||||||
# lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHC
 | 
					# ud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBew
 | 
				
			||||||
# gRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6
 | 
					# VIVCs/wMnosZiefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0
 | 
				
			||||||
# MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEU
 | 
					# DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCrdTDFNLB62FD+Cljd
 | 
				
			||||||
# BHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6OEuabvsh
 | 
					# QDzHVG2dY3RILLFORy3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFr
 | 
				
			||||||
# VGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+
 | 
					# DZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdUCbFpAUR+fKFh
 | 
				
			||||||
# fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrp
 | 
					# bHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7n
 | 
				
			||||||
# NPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784cETRkPHI
 | 
					# tdAoGokLjzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRbatGePu1+
 | 
				
			||||||
# qzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCAs4wggI3AgEBMIH4
 | 
					# oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6Fw
 | 
				
			||||||
# oYHQpIHNMIHKMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
 | 
					# ZvKhggLXMIICQAIBATCCAQChgdikgdUwgdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
 | 
				
			||||||
# A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSUw
 | 
					# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
 | 
				
			||||||
# IwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMSYwJAYDVQQLEx1U
 | 
					# ZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh
 | 
				
			||||||
# aGFsZXMgVFNTIEVTTjpERDhDLUUzMzctMkZBRTElMCMGA1UEAxMcTWljcm9zb2Z0
 | 
					# dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046RkM0MS00QkQ0
 | 
				
			||||||
# IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIaAxUAzdlp6t3ws/bnErbm
 | 
					# LUQyMjAxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoB
 | 
				
			||||||
# 9c0M+9dvU0CggYMwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGlu
 | 
					# ATAHBgUrDgMCGgMVAD1iK+pPThHqgpa5xsPmiYruWVuMoIGDMIGApH4wfDELMAkG
 | 
				
			||||||
# Z3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
 | 
					# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
 | 
				
			||||||
# cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAN
 | 
					# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z
 | 
				
			||||||
# BgkqhkiG9w0BAQUFAAIFAOWsqGYwIhgPMjAyMjAyMDgxNjI5MjZaGA8yMDIyMDIw
 | 
					# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQEFBQACBQDmU6UXMCIY
 | 
				
			||||||
# OTE2MjkyNlowdzA9BgorBgEEAYRZCgQBMS8wLTAKAgUA5ayoZgIBADAKAgEAAgIi
 | 
					# DzIwMjIwNjE1MDgyMzUxWhgPMjAyMjA2MTYwODIzNTFaMHcwPQYKKwYBBAGEWQoE
 | 
				
			||||||
# 7QIB/zAHAgEAAgITmjAKAgUA5a355gIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgor
 | 
					# ATEvMC0wCgIFAOZTpRcCAQAwCgIBAAICDfkCAf8wBwIBAAICEUYwCgIFAOZU9pcC
 | 
				
			||||||
# BgEEAYRZCgMCoAowCAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUA
 | 
					# AQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEK
 | 
				
			||||||
# A4GBAKFiWA9Ov0L2rGOdPitNu60BAeztCagpqKBsGnKaaSmjA/XcSXrtIvcUBBsw
 | 
					# MAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQDN/0gXV2ryG6xuDtnJxm5VbRo1
 | 
				
			||||||
# WlflwqnKvPDv3ihqUXsxY84IZZaMecGWzN1mXLh00VftiZuzoLMDlSEtvzmxeWYg
 | 
					# Yqu/XUxuRbFjUPoMN8PgM96ioZQ01JwEmefdXUBnGgiGzuhhyHhK/gLh2aVQtIHv
 | 
				
			||||||
# 4nFHTR5oMqxy06auAM08mVl3P4MywHz4Yp21OIs2KSWQg3DSMYIEDTCCBAkCAQEw
 | 
					# ubxig/3shp0tPa4LA0EusBRmSmGT70uV3ojk9USW0nx8SKMeOy9Wa2JynUvDaj2X
 | 
				
			||||||
# gZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT
 | 
					# Ew5qTsm310NMYONiAjGCBA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYD
 | 
				
			||||||
# B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE
 | 
					 | 
				
			||||||
# AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAGcD6ZNYdKeSygA
 | 
					 | 
				
			||||||
# AQAAAZwwDQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0B
 | 
					 | 
				
			||||||
# CRABBDAvBgkqhkiG9w0BCQQxIgQg8oNFH9aqIpzxu29p4VzI2Hh6Hzv2T5HQOlhP
 | 
					 | 
				
			||||||
# W5ksqHkwgfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCA3D0WFII0syjoRd/Xe
 | 
					 | 
				
			||||||
# EIG0WUIKzzuy6P6hORrb0nqmvDCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYD
 | 
					 | 
				
			||||||
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
 | 
					# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
 | 
				
			||||||
# b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w
 | 
					# b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w
 | 
				
			||||||
# IFBDQSAyMDEwAhMzAAABnA+mTWHSnksoAAEAAAGcMCIEIOSl7GUcmDL8AU+F0I3A
 | 
					# IFBDQSAyMDEwAhMzAAABjlnbRgCoEJTMAAEAAAGOMA0GCWCGSAFlAwQCAQUAoIIB
 | 
				
			||||||
# iZQESHSkml1QPlOc3M8uqdF0MA0GCSqGSIb3DQEBCwUABIICAHV226l2xxnkjTdh
 | 
					# SjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIOt1
 | 
				
			||||||
# Q6wi7u8betBvFNfYYn5cXwy+NoU30JjQ3ynnmNSB+TQVlmcthi8duP8dud+NU5xc
 | 
					# xqDGNa4CMNqMjUcV58sEspqDg5BHhRG+7xrucal1MIH6BgsqhkiG9w0BCRACLzGB
 | 
				
			||||||
# +1jBTcJTHjWk/TDZUYpB/xNqsgUTJ8fnebVZhioPJhmFJMeQztT4NTD1ZbeJWO4O
 | 
					# 6jCB5zCB5DCBvQQgvQWPITvigaUuV5+f/lWs3BXZwJ/l1mf+yelu5nXmxCUwgZgw
 | 
				
			||||||
# EABDpRqyns2eQptCrKcPIypjvdDeYfkwjgnUEyyaTZRHPZ2kNOLY6kO9feKfntFW
 | 
					# gYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
 | 
				
			||||||
# 8YUIaas2IzI5GcGm+kw1efHveG0WvUpeGuFKsTUA6Jb18mOyamafu32ftD5t5LXV
 | 
					# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYD
 | 
				
			||||||
# +GMgnaJLgdogAAGwK0GiB47YNIvPlKD6bGnyTR3KNYheI1GI38w0knOecCC4NW0k
 | 
					# VQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAY5Z20YAqBCU
 | 
				
			||||||
# 21qROWJdnkKLKTtBX344yTnJbbKoIPzGgyWCzSINS2SD4JHzgTu8dsmMMJWwcEZh
 | 
					# zAABAAABjjAiBCC97cfb69v28hHpcGOUJva0NzUqb0M9evkduYvneCHmoTANBgkq
 | 
				
			||||||
# BLyrzmd/vWrjUFQFXVf6RZmJJVvF28s7LWrpXPVTR8Al75j8KqyZKou4fZvyaHtx
 | 
					# hkiG9w0BAQsFAASCAgCc25eR8tgyo9L/uL+9i1Yi0FyNy2qS46VtVoSFaFiI/HUe
 | 
				
			||||||
# S6K0jIqavLWqWd4wvx9seCtA0Pz1GWrBZADIRHG8d8cFoY95Z99z84NM81qXB246
 | 
					# 28NssAjB4Vr/Vf4HcYZ9SOHWIZaZCKFFS9ey6r4EOF9m4vnp4t9Z+tzOijom0rMm
 | 
				
			||||||
# IsxU2iW+96zMJriMNEKaLHzlgFoWsoXLDQhuQItjwIvzwmwygwx0MxqoFYm+lDWG
 | 
					# H5UPKlwugDpSKOiKSFPGqpw5d5SMzCrGkea94zyVvvqAgWna3+WuWTbSm34PGfjM
 | 
				
			||||||
# 8/KtSh47aZicAlwqNVGy3MZHDnX69kysQsrWoe2wDhJ3eHJ4zRL2WHVagz26L7xF
 | 
					# 9mKBEsLF8jMXnAMLaqsw7tmGfTyqSL2hAP1IkUQlX5pTgoTw7NSxkGrS6zgXFLZg
 | 
				
			||||||
# oSkLphLv0GiFseJhPvXGQPypnyN8
 | 
					# zSi9+cPzX6yt1nm1i8HZWyZtbhcJeu0gToN3nRwZuRNt/A92z2OQ9wbtuej2R1pA
 | 
				
			||||||
 | 
					# JrySld9ObQo6W3HtbSOcg3bO7hL6FRfkF7XOPEfnVJrZK9HWmyia6QR09JvcuTuP
 | 
				
			||||||
 | 
					# e+o8OT9813vpeCeBeq6I3JfDLDtww9o9Wl4kcqRjjevN4GiV6n8tWVbYQPeV9V+b
 | 
				
			||||||
 | 
					# QiZHYMGfDbDoFWCuSn/Gde0dWkEUtXxTDXqmIZVKNKGugGWFk3fIIhj6p686jLnq
 | 
				
			||||||
 | 
					# G10mp0r6hgzf83xsya2mQ6iA8N9hHJc3d3L8nfLIu1UYyWx+F2OMRVDPu9UQ+ms9
 | 
				
			||||||
 | 
					# jy32ScR6UEY71XJuS+v1JE2O2bePGzzMaxHVoNTxDi2Evp63cG870mzTrtXpVeRV
 | 
				
			||||||
 | 
					# quINvifnjBl1F2iyStUdpE4pzDNDCagbkK1XlZdbfl6TfR14yAgLnwTzVRroZQ==
 | 
				
			||||||
# SIG # End signature block
 | 
					# SIG # End signature block
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										34
									
								
								externals/install-dotnet.sh
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										34
									
								
								externals/install-dotnet.sh
									
									
									
									
										vendored
									
									
								
							@ -1000,20 +1000,28 @@ downloadcurl() {
 | 
				
			|||||||
    # Avoid passing URI with credentials to functions: note, most of them echoing parameters of invocation in verbose output.
 | 
					    # Avoid passing URI with credentials to functions: note, most of them echoing parameters of invocation in verbose output.
 | 
				
			||||||
    local remote_path_with_credential="${remote_path}${feed_credential}"
 | 
					    local remote_path_with_credential="${remote_path}${feed_credential}"
 | 
				
			||||||
    local curl_options="--retry 20 --retry-delay 2 --connect-timeout 15 -sSL -f --create-dirs "
 | 
					    local curl_options="--retry 20 --retry-delay 2 --connect-timeout 15 -sSL -f --create-dirs "
 | 
				
			||||||
    local failed=false
 | 
					    local curl_exit_code=0;
 | 
				
			||||||
    if [ -z "$out_path" ]; then
 | 
					    if [ -z "$out_path" ]; then
 | 
				
			||||||
        curl $curl_options "$remote_path_with_credential" 2>&1 || failed=true
 | 
					        curl $curl_options "$remote_path_with_credential" 2>&1
 | 
				
			||||||
 | 
					        curl_exit_code=$?
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        curl $curl_options -o "$out_path" "$remote_path_with_credential" 2>&1 || failed=true
 | 
					        curl $curl_options -o "$out_path" "$remote_path_with_credential" 2>&1
 | 
				
			||||||
 | 
					        curl_exit_code=$?
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    if [ "$failed" = true ]; then
 | 
					    
 | 
				
			||||||
 | 
					    if [ $curl_exit_code -gt 0 ]; then
 | 
				
			||||||
 | 
					        download_error_msg="Unable to download $remote_path."
 | 
				
			||||||
 | 
					        # Check for curl timeout codes
 | 
				
			||||||
 | 
					        if [[ $curl_exit_code == 7 || $curl_exit_code == 28 ]]; then
 | 
				
			||||||
 | 
					            download_error_msg+=" Failed to reach the server: connection timeout."
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
            local disable_feed_credential=false
 | 
					            local disable_feed_credential=false
 | 
				
			||||||
            local response=$(get_http_header_curl $remote_path $disable_feed_credential)
 | 
					            local response=$(get_http_header_curl $remote_path $disable_feed_credential)
 | 
				
			||||||
            http_code=$( echo "$response" | awk '/^HTTP/{print $2}' | tail -1 )
 | 
					            http_code=$( echo "$response" | awk '/^HTTP/{print $2}' | tail -1 )
 | 
				
			||||||
        download_error_msg="Unable to download $remote_path."
 | 
					            if  [[ ! -z $http_code && $http_code != 2* ]]; then
 | 
				
			||||||
        if  [[ $http_code != 2* ]]; then
 | 
					 | 
				
			||||||
                download_error_msg+=" Returned HTTP status code: $http_code."
 | 
					                download_error_msg+=" Returned HTTP status code: $http_code."
 | 
				
			||||||
            fi
 | 
					            fi
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
        say_verbose "$download_error_msg"
 | 
					        say_verbose "$download_error_msg"
 | 
				
			||||||
        return 1
 | 
					        return 1
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
@ -1055,8 +1063,11 @@ downloadwget() {
 | 
				
			|||||||
        local response=$(get_http_header_wget $remote_path $disable_feed_credential)
 | 
					        local response=$(get_http_header_wget $remote_path $disable_feed_credential)
 | 
				
			||||||
        http_code=$( echo "$response" | awk '/^  HTTP/{print $2}' | tail -1 )
 | 
					        http_code=$( echo "$response" | awk '/^  HTTP/{print $2}' | tail -1 )
 | 
				
			||||||
        download_error_msg="Unable to download $remote_path."
 | 
					        download_error_msg="Unable to download $remote_path."
 | 
				
			||||||
        if  [[ $http_code != 2* ]]; then
 | 
					        if  [[ ! -z $http_code && $http_code != 2* ]]; then
 | 
				
			||||||
            download_error_msg+=" Returned HTTP status code: $http_code."
 | 
					            download_error_msg+=" Returned HTTP status code: $http_code."
 | 
				
			||||||
 | 
					        # wget exit code 4 stands for network-issue
 | 
				
			||||||
 | 
					        elif [[ $wget_result == 4 ]]; then
 | 
				
			||||||
 | 
					            download_error_msg+=" Failed to reach the server: connection timeout."
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
        say_verbose "$download_error_msg"
 | 
					        say_verbose "$download_error_msg"
 | 
				
			||||||
        return 1
 | 
					        return 1
 | 
				
			||||||
@ -1179,6 +1190,11 @@ generate_akams_links() {
 | 
				
			|||||||
    local valid_aka_ms_link=true;
 | 
					    local valid_aka_ms_link=true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    normalized_version="$(to_lowercase "$version")"
 | 
					    normalized_version="$(to_lowercase "$version")"
 | 
				
			||||||
 | 
					    if [[ "$normalized_version" != "latest" ]] && [ -n "$normalized_quality" ]; then
 | 
				
			||||||
 | 
					        say_err "Either Quality or Version option has to be specified. See https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script#options for details."
 | 
				
			||||||
 | 
					        return 1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [[ -n "$json_file" || "$normalized_version" != "latest" ]]; then
 | 
					    if [[ -n "$json_file" || "$normalized_version" != "latest" ]]; then
 | 
				
			||||||
        # aka.ms links are not needed when exact version is specified via command or json file
 | 
					        # aka.ms links are not needed when exact version is specified via command or json file
 | 
				
			||||||
        return
 | 
					        return
 | 
				
			||||||
@ -1392,6 +1408,7 @@ install_dotnet() {
 | 
				
			|||||||
        unset IFS;
 | 
					        unset IFS;
 | 
				
			||||||
        say_verbose "Checking installation: version = $release_version"
 | 
					        say_verbose "Checking installation: version = $release_version"
 | 
				
			||||||
        if is_dotnet_package_installed "$install_root" "$asset_relative_path" "$release_version"; then
 | 
					        if is_dotnet_package_installed "$install_root" "$asset_relative_path" "$release_version"; then
 | 
				
			||||||
 | 
					            say "Installed version is $effective_version"
 | 
				
			||||||
            return 0
 | 
					            return 0
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
@ -1399,6 +1416,7 @@ install_dotnet() {
 | 
				
			|||||||
    #  Check if the standard SDK version is installed.
 | 
					    #  Check if the standard SDK version is installed.
 | 
				
			||||||
    say_verbose "Checking installation: version = $effective_version"
 | 
					    say_verbose "Checking installation: version = $effective_version"
 | 
				
			||||||
    if is_dotnet_package_installed "$install_root" "$asset_relative_path" "$effective_version"; then
 | 
					    if is_dotnet_package_installed "$install_root" "$asset_relative_path" "$effective_version"; then
 | 
				
			||||||
 | 
					        say "Installed version is $effective_version"
 | 
				
			||||||
        return 0
 | 
					        return 0
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1552,7 +1570,7 @@ do
 | 
				
			|||||||
            echo "  -v,--version <VERSION>         Use specific VERSION, Defaults to \`$version\`."
 | 
					            echo "  -v,--version <VERSION>         Use specific VERSION, Defaults to \`$version\`."
 | 
				
			||||||
            echo "      -Version"
 | 
					            echo "      -Version"
 | 
				
			||||||
            echo "          Possible values:"
 | 
					            echo "          Possible values:"
 | 
				
			||||||
            echo "          - latest - most latest build on specific channel"
 | 
					            echo "          - latest - the latest build on specific channel"
 | 
				
			||||||
            echo "          - 3-part version in a format A.B.C - represents specific version of build"
 | 
					            echo "          - 3-part version in a format A.B.C - represents specific version of build"
 | 
				
			||||||
            echo "              examples: 2.0.0-preview2-006120; 1.1.0"
 | 
					            echo "              examples: 2.0.0-preview2-006120; 1.1.0"
 | 
				
			||||||
            echo "  -q,--quality <quality>         Download the latest build of specified quality in the channel."
 | 
					            echo "  -q,--quality <quality>         Download the latest build of specified quality in the channel."
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user