This commit is contained in:
Clint Woon 2022-11-03 17:55:43 -07:00
Родитель d8e6f8de11
Коммит ad66869c8f
48 изменённых файлов: 264 добавлений и 305 удалений

2
.gitattributes поставляемый
Просмотреть файл

@ -1 +1,3 @@
*.cab filter=lfs diff=lfs merge=lfs -text
*.exe filter=lfs diff=lfs merge=lfs -text
*.appxbundle filter=lfs diff=lfs merge=lfs -text

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a01e4e16c549a85c2d067ab28e835dc28f636308881b0cb46babf7c333b5633b
size 6861
oid sha256:174a482f68540d2e0681c10f5911fb8422641afb1a7921d2a11aa9acf2a908c8
size 16559

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bfdd71861e0eb86dd21affcf95386b7dc04bb7550adec631f9a712743a527095
size 60408250
oid sha256:cd3abb84b15f149e5b7254cc85f9e2d6633e8d58e73250eae2b6970787f6bdd8
size 60222818

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:90aea7ed7acf4dbca722881faaee94a308bc47534effc6d8c2ca34b30cf14f4c
size 10839
oid sha256:a37503a7d551b4f4ab96327a68657278152c475d1d49e4859ca047d584630353
size 20577

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5c81f27238922279cfc25e32b675508054ac36cdd73282b049a5c0f640f78090
size 82293
oid sha256:c7e6d2afeeeed8a2f3cb8429a1a45f5d0fcc7ea8a56bce4198f95eb60e4d6415
size 89926

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:70ca419063e97fa5e5962f60e506fb415c04ea33e6938e67f819e8e7a17df5bd
size 1249230
oid sha256:640b392508ad3a7ec3c6d339744d5deedaf494b23b573e67f03fb246dddc9de3
size 1263581

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:59ae6cf4b663d3d69f0149730f2ce2bb8ccf2455e61c5dfc80931e11239c11c4
size 6705
oid sha256:28fb57f0fba8d5afceece908becf633e2f8cd1ce875619d0ecb59bd4ede37d38
size 16423

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:89eddb5b9a80e2abba05874a597b086e51e85744eefa152f7e394f9b0ec27466
size 6611732
oid sha256:c6766710e01cc9c1ad48b435a7bd0b2a6761984327a9b0414771f1e04f0f4eab
size 6758247

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:59811af1ad664a49dcf467cd79b972012b5ae6c474c3ceb85563c2c4e7bff22f
size 6846
oid sha256:3ba4a87d144796fffe60aa95091ca64c48baff0c284c68b71a4540ce309d649f
size 16581

Двоичные данные
Installers/GDKVSIXInstaller.exe

Двоичный файл не отображается.

Двоичные данные
Installers/GamingServices.appxbundle

Двоичный файл не отображается.

Просмотреть файл

@ -1,147 +1,112 @@
[CmdletBinding()]
param
(
[Parameter(Mandatory=$false)]
[Parameter(Mandatory = $false)]
[string]
$AppxPath,
[Parameter(Mandatory=$false)]
[string]
$LogPath,
[Parameter(Mandatory=$false)]
[Parameter(Mandatory = $false)]
[string]
$AppxDepDirPath
)
function Logic
{
$Error.Clear();
$Error.Clear();
if(!$AppxPath)
{
$AppxPath = Join-Path $PSScriptRoot "GamingServices.appxbundle";
}
if (-not $AppxPath) {
$AppxPath = Join-Path $PSScriptRoot "GamingServices.appxbundle";
}
if(-not (test-path $AppxPath))
{
Write-Output "ERROR: Appx not found: $AppxPath";
exit 1;
}
if (-not (test-path $AppxPath)) {
Write-Output "ERROR: Appx not found: $AppxPath";
exit 1;
}
if(!$AppxDepDirPath)
{
$AppxDepDirPath = (get-item $AppxPath).Directory.FullName;
}
$systemVolume = Get-AppxVolume | Where-Object -Property IsSystemVolume -eq $True | Select-Object -First 1;
if(!$systemVolume)
{
Write-Output "ERROR: System volume not found.";
exit 1;
}
Write-Output ("System volume found.`n{0}" -f ($systemVolume | Format-List | Out-String).trim());
$systemRoot = [System.IO.path]::GetPathRoot($systemVolume.PackageStorePath);
if(!$systemRoot)
{
Write-Output "ERROR: System root not found.";
exit 1;
}
Write-Output "System root found: $systemRoot";
$package = Get-AppxPackage -Name Microsoft.GamingServices* | Sort-Object -Property Version -Descending | Select-Object -First 1;
$isOldPackagePresent = $false;
if($package)
{
Write-Output ("Version {0} of {1} was found already installed on the PC.`n{2}" -f $package.Version, $package.Name, ($package | Format-List | Out-String).trim());
$isOldPackagePresent = (([Version]$package.Version -lt [Version]'4.66.28001.0') -or ([Version]$package.Version -eq [Version]'1.43.2002.0'));
if($isOldPackagePresent)
{
Write-Output "Uninstalling $($package.PackageFullName) version $($package.Version)";
remove-appxpackage -allusers $package.PackageFullName -ErrorAction Continue;
if($Error)
{
Write-Output "Remove-AppxPackage failed for $($package.PackageFullName)";
}
else
{
Write-Output "Remove-AppxPackage completed for $AppxPath";
}
}
}
else
{
Write-Output 'No versions of Microsoft.GamingServices were found installed on the PC.';
}
if(($package -eq $null) -or $isOldPackagePresent)
{
Write-Output "Installing $AppxPath Version 4.66.28001.0 Volume $systemRoot";
$allDepsFound = $TRUE;
[string[]]$depPackageNames = 'Microsoft.NET.Native.Runtime.2.2','Microsoft.NET.Native.Framework.2.2','Microsoft.VCLibs.x64.14.00';
$dependencyPaths = $depPackageNames | ForEach-Object {Join-Path -Path $AppxDepDirPath -ChildPath "$_.appx"};
ForEach ($dep in $dependencyPaths) {if (-not (test-path $dep)) {$allDepsFound = $FALSE;}};
if($allDepsFound)
{
Write-Output "Installing $AppxPath Version 4.66.28001.0 Volume $systemRoot -DependencyPath $dependencyPaths";
add-appxpackage -forceApplicationShutdown -path $AppxPath -Volume $systemRoot -DependencyPath $dependencyPaths -ErrorAction Continue;
}
else
{
Write-Output "Installing $AppxPath Version 4.66.28001.0 Volume $systemRoot";
add-appxpackage -forceApplicationShutdown -path $AppxPath -Volume $systemRoot -ErrorAction Continue;
}
if($Error)
{
Write-Output "ERROR: Add-AppxPackage failed for $AppxPath";
$guid = ($error -split ' ' | select -Last 1) -as [Guid];
if($guid)
{
Write-Output "Get-AppPackageLog -ActivityID $guid";
Get-AppPackageLog -ActivityID $guid;
}
}
else
{
Write-Output "Add-AppxPackage completed for $AppxPath";
}
}
else
{
Write-Output "No installation needed as version $($package.Version) of $($package.Name) was found already installed on the PC.";
}
if (-not $AppxDepDirPath) {
$AppxDepDirPath = (get-item $AppxPath).Directory.FullName;
}
$output = Logic;
$systemVolume = Get-AppxVolume | Where-Object -Property IsSystemVolume -eq $True | Select-Object -First 1;
if($LogPath)
{
$output | Out-File -FilePath $LogPath -Append -Force;
if (-not $systemVolume) {
Write-Output "ERROR: System volume not found.";
exit 1;
}
else
{
$output;
Write-Output ("System volume found.`n{0}" -f ($systemVolume | Format-List | Out-String).trim());
$systemRoot = [System.IO.path]::GetPathRoot($systemVolume.PackageStorePath);
if (-not $systemRoot) {
Write-Output "ERROR: System root not found.";
exit 1;
}
Write-Output "System root found: $systemRoot";
$package = Get-AppxPackage -Name Microsoft.GamingServices* | Sort-Object -Property Version -Descending | Select-Object -First 1;
$isOldPackagePresent = $false;
if ($package) {
Write-Output ("Version {0} of {1} was found already installed on the PC.`n{2}" -f $package.Version, $package.Name, ($package | Format-List | Out-String).trim());
$isOldPackagePresent = (([Version]$package.Version -lt [Version]'7.70.13002.0') -or ([Version]$package.Version -eq [Version]'1.43.2002.0'));
if ($isOldPackagePresent) {
Write-Output "Uninstalling $($package.PackageFullName) version $($package.Version)";
remove-appxpackage -allusers $package.PackageFullName -ErrorAction Continue;
if ($Error) {
Write-Output "Remove-AppxPackage failed for $($package.PackageFullName)";
}
else {
Write-Output "Remove-AppxPackage completed for $AppxPath";
}
}
}
else {
Write-Output 'No versions of Microsoft.GamingServices were found installed on the PC.';
}
if (($package -eq $null) -or $isOldPackagePresent) {
Write-Output "Installing $AppxPath Version 7.70.13002.0 Volume $systemRoot";
$allDepsFound = $TRUE;
[string[]]$depPackageNames = 'Microsoft.NET.Native.Runtime.2.2', 'Microsoft.NET.Native.Framework.2.2', 'Microsoft.VCLibs.x64.14.00';
$dependencyPaths = $depPackageNames | ForEach-Object { Join-Path -Path $AppxDepDirPath -ChildPath "$_.appx" };
ForEach ($dep in $dependencyPaths) { if (-not (test-path $dep)) { $allDepsFound = $FALSE; } };
if ($allDepsFound) {
Write-Output "Installing $AppxPath Version 7.70.13002.0 Volume $systemRoot -DependencyPath $dependencyPaths";
add-appxpackage -forceApplicationShutdown -path $AppxPath -Volume $systemRoot -DependencyPath $dependencyPaths -ErrorAction Continue;
}
else {
Write-Output "Installing $AppxPath Version 7.70.13002.0 Volume $systemRoot";
add-appxpackage -forceApplicationShutdown -path $AppxPath -Volume $systemRoot -ErrorAction Continue;
}
if ($Error) {
Write-Output "ERROR: Add-AppxPackage failed for $AppxPath";
$guid = ($error -split ' ' | select -Last 1) -as [Guid];
if ($guid) {
Write-Output "Get-AppPackageLog -ActivityID $guid";
Get-AppPackageLog -ActivityID $guid;
}
}
else {
Write-Output "Add-AppxPackage completed for $AppxPath";
}
}
else {
Write-Output "No installation needed as version $($package.Version) of $($package.Name) was found already installed on the PC.";
}
exit ($Error.Count);
# SIG # Begin signature block
# MIIl9wYJKoZIhvcNAQcCoIIl6DCCJeQCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# MIIl3gYJKoZIhvcNAQcCoIIlzzCCJcsCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAn3alm6ya4o3yj
# gXk2/0FHWjAcpSrApUj+4GUCoozq+qCCC2cwggTvMIID16ADAgECAhMzAAAEjwu5
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAk2aARinSYaR9F
# 0+P4vX1h72F41UH/6MHR4xwacB7GO6CCC2cwggTvMIID16ADAgECAhMzAAAEjwu5
# fN96/0pXAAAAAASPMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
@ -202,143 +167,143 @@ exit ($Error.Count);
# 7UIJ0Q124yNWeCImNr7KsYxuqh3khdpHM2KPpMmRM19xHkCvmGXJIuhCISWKHC1g
# 2TeJQYkqFg/XYTyUaGBS79ZHmaCAQO4VgXc+nOBTGBpQHTiVmx5mMxMnORd4hzbO
# TsNfsvU9R1O24OXbC2E9KteSLM43Wj5AQjGkHxAIwlacvyRdUQKdannSF9PawZSO
# B3slcUSrBmrm1MbfI5qWdcUxghnmMIIZ4gIBATCBlTB+MQswCQYDVQQGEwJVUzET
# B3slcUSrBmrm1MbfI5qWdcUxghnNMIIZyQIBATCBlTB+MQswCQYDVQQGEwJVUzET
# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
# TWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBT
# aWduaW5nIFBDQSAyMDEwAhMzAAAEjwu5fN96/0pXAAAAAASPMA0GCWCGSAFlAwQC
# AQUAoIIBBDAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3AgEL
# MQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgGZVAbUW4je8Z6/iXMi0l
# tgeRIidqQtltNlHR2orqvl8wPAYKKwYBBAGCNwoDHDEuDCxSbU5FSFRzZkMrNHhY
# djZJMitTTW9VUDRiZjZxUHpjQ3Q2VjRrTFNMWFc0PTBaBgorBgEEAYI3AgEMMUww
# MQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgGCx+TAa9Xw/0QhY0UWkG
# 2yKtwohVKBrps0091PoFYk0wPAYKKwYBBAGCNwoDHDEuDCxzUFk3eFBCN2hUNWc1
# SEhyWXQ4ckRMU005VnVaUnVXWmFlZjJlMjJSczU0PTBaBgorBgEEAYI3AgEMMUww
# SqAkgCIATQBpAGMAcgBvAHMAbwBmAHQAIABXAGkAbgBkAG8AdwBzoSKAIGh0dHA6
# Ly93d3cubWljcm9zb2Z0LmNvbS93aW5kb3dzMA0GCSqGSIb3DQEBAQUABIIBAKJg
# 9Ih+BSJ1hbyIqIA/q0eQck0LrPHQKu6kRtb1wVus8Vh849cra1H3HGatWo9jX26m
# f5wln7Fw0MPlP+k0vjCoLsdtjosKXxNw/+oYPkTRtiErvKR2e3mGhUYaD75WXEah
# cG62siJBG4xPcrpmcS6/w5IJX41U4ZsYJDk4Jk558nUouMyb4YI3GdyvrhbnSAzQ
# Z3hZyA5OLGboWj7plUeIbMas4KY+VWw0sLUyEsDcIGhOEOJpr8HRl4zP9nyInJnu
# KLeTXs5Hn3LRsASV7mYVm3lFTuvfX/FcKkexCJgv6txaq2hv/LVpxIVlNbyBpO1B
# nreAs7Y+Rz1s8ZKd8cGhghcZMIIXFQYKKwYBBAGCNwMDATGCFwUwghcBBgkqhkiG
# 9w0BBwKgghbyMIIW7gIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBWQYLKoZIhvcNAQkQ
# AQSgggFIBIIBRDCCAUACAQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQg
# P4O1K2mUtfNKBz4MJQ8I/WCOqH5ZDQd1tulFYP3TWEACBmMq7q4hkBgTMjAyMjA5
# MzAxNDQxMzEuNDU0WjAEgAIB9KCB2KSB1TCB0jELMAkGA1UEBhMCVVMxEzARBgNV
# Ly93d3cubWljcm9zb2Z0LmNvbS93aW5kb3dzMA0GCSqGSIb3DQEBAQUABIIBAGJn
# yPwvYzFk3C2dl13fqzoabO2NLjfPlMjCQJuyHq9CLKA96v3cBtQYtj8lk/V9RMpb
# uQrb3AYZGfcTOT0z5KVwqjjPY9mASQRajZ82VxYmX/j4HgMIO06WAopTtIehtEXQ
# jo//NHchyQx2EUeeeXsp5qX5eWor4tiXHY1iF1NF1ybMybWf3GHVGjaZxwSbDL8l
# VkjCFkeqE1XQRKaPsrCA7eiyoGIDQ+s6cxi5l49j5blhd6r9e5x+7sBIvbiahFLL
# 5HoW5d9yXMQCh4sM7GiHUSJefcmbZ3EhQeN0wNmsnvPWypEW05jXh9W8/QgvJMz3
# A03zgq+rraLf47JSQg2hghcAMIIW/AYKKwYBBAGCNwMDATGCFuwwghboBgkqhkiG
# 9w0BBwKgghbZMIIW1QIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBUQYLKoZIhvcNAQkQ
# AQSgggFABIIBPDCCATgCAQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQg
# xfAdz0g3MBmLc9O3LaVfZNPGDKzcbj+Q8cz9GTZEuAcCBmNIDOR8SxgTMjAyMjEw
# MjUxOTE2MzEuMDAyWjAEgAIB9KCB0KSBzTCByjELMAkGA1UEBhMCVVMxEzARBgNV
# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
# c29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3Bl
# cmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjo4RDQxLTRC
# RjctQjNCNzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaCC
# EWgwggcUMIIE/KADAgECAhMzAAABiC7NxoFB4bwqAAEAAAGIMA0GCSqGSIb3DQEB
# CwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
# EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV
# BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTIxMTAyODE5Mjc0
# MFoXDTIzMDEyNjE5Mjc0MFowgdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo
# aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
# cG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMg
# TGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046OEQ0MS00QkY3LUIzQjcx
# JTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggIiMA0GCSqG
# SIb3DQEBAQUAA4ICDwAwggIKAoICAQCa5xAIBCaRxcfIOtXhLzxV4mDZcao0pxam
# ytqlEoVZyGGMux/8z1c31uDOcs3jwFc8C06XCh50HaQ3htl08/cp1E1tirW00VSH
# xSeaMIKv4KMuWuKAdyZLRH6uw3aAExeUsRmHZb8I64P1U4uxvY/aMOnjfdXitQAB
# RbzYzuuDzV3c5xy077VdbWHcS1tC1LpASTDoNgi699fsDDyNcdmewy6A/xkDWi2m
# ulM1SH/NFYLsInIHPKZAgNIJ1aFV8PiyHF75GzrVrF/bttODkf9X9KQ132HMzo2r
# /LY6MMqsu2432FLnfnr26FM1B4CEBUN94ekTOUy+1c7JfoxOZ7eOcd0c+PoYtP0A
# xEisB/3qE9g6I8QG8e2uDoymIjf6Xo2VtI6zXr8VN6WNPX6x2xYa0VNm95r2kCpX
# VoHv3loOSZnqxGbmO12dVrN+hasd3e8N6HflZXTy9bhOU58RxXb4ptqKs/FoWQnj
# 62Wwn4x+xU6JOv9mcOBoxoefPOiB6UjcCh8NT0hNsyRO1PGss/KBNtF21um2ucvM
# GfaPNHhMl+RCj6HNa5oy7k60xmIpXYjkw7SbWYq5QCCir7jjYvDwJC6P0QLYXydN
# slvY1xQOD7vh2AmKz8/wFr86uXFb5OuBzpM8bEI61Pvf1Sp6yW9YPqs1DpQQ71/u
# 9YOSF3a+2wIDAQABo4IBNjCCATIwHQYDVR0OBBYEFGR5tVDEo7vOu736jbsaM+WM
# yUpKMB8GA1UdIwQYMBaAFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMF8GA1UdHwRYMFYw
# VKBSoFCGTmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jv
# c29mdCUyMFRpbWUtU3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNybDBsBggrBgEFBQcB
# AQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lv
# cHMvY2VydHMvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSku
# Y3J0MAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJKoZIhvcN
# AQELBQADggIBAEAQWtv7WAgmy/8YotLbNq+bZ6TXvuaTjK7oG5LpWIi4vR7bRg3Z
# 11d6JSER2GTcVG2j8YP3eTlIjI0npf6ny5Aw7Ejbdg5J3ITMsnCHv5+27Qh/zLfH
# oAnRLV3XY5nt+xiqWMdR5xyd5L0NaqKkeTy4zybZlsGFGdQ3wziKqDiugkaZkpn0
# VzxntkcmAz3uLt8jID2EkfTXvPblasMmXFqkPl2YzI3LPN8BWpoHJ6YKgGfhWREI
# Y0hLHTFGVxv3dboQ2EkXU0GMyXdwpUQdbh3xjQ1mGl1cO14uT0eBsnJ4IjZ830YG
# sJLUHVqT7X3g8aJkovz6C0rs2isCgAxC8WRiCsetYJh+NXo+i4Lc34DrA4GtyRU4
# dP09QgMrkAMIfhmtpCJ15L0sP+KYoczcjiJrM+ShwdwUcH3Kjl32Uwln6mcABaCV
# BCMxaFSqcT+WUD4SqNs7SUDGWZS1WKhVSzCFPekroOMVFcz8tTHBO225/PXMGMQu
# REhny4LLViQzF8EXASiz9AUiUNoVK9SfgiJZkDdUt8ASPLnWInAraNIgfD7VuMIj
# 4UEdwJNEfak/f6HkOVDkBn929x82sBM/XDDPbkivwqAo5sdEIhgfhUjZWuY5uhIc
# Ubv0lsd2Q9VKN8vFO5OyiHkXOhTW3m6sbSvC6WhlkVnFOSvF/JOSG+aMMIIHcTCC
# BVmgAwIBAgITMwAAABXF52ueAptJmQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDEL
# MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v
# bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWlj
# cm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMw
# MTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
# IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg
# MjAxMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOThpkzntHIhC3mi
# y9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+
# Slr+uDZnhUYjDLWNE893MsAQGOhgfWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3
# oAo4bo3t1w/YJlN8OWECesSq/XJprx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+
# tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0
# hyTD4MmPfrVUj9z6BVWYbWg7mka97aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLN
# ueKNiOSWrAFKu75xqRdbZ2De+JKRHh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZ
# nkXftnIv231fgLrbqn427DZM9ituqBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n
# 6Jl8P0zbr17C89XYcz1DTsEzOUyOArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC
# 4jMYctenIPDC+hIK12NvDMk2ZItboKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vc
# G9H9stQcxWv2XFJRXRLbJbqvUAV6bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtF
# tvUeh17aj54WcmnGrnu3tz5q4i6tAgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEE
# BQIDAQABMCMGCSsGAQQBgjcVAgQWBBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNV
# HQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3
# TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3Br
# aW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkG
# CSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8E
# BTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRP
# ME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1
# Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEww
# SgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMv
# TWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCd
# VX38Kq3hLB9nATEkW+Geckv8qW/qXBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQ
# dTltuw8x5MKP+2zRoZQYIu7pZmc6U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnu
# e99qb74py27YP0h1AdkY3m2CDPVtI1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYo
# VSfQJL1AoL8ZthISEV09J+BAljis9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlC
# GVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZ
# lvSP9pEB9s7GdP32THJvEKt1MMU0sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/
# ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtq
# RRFHqfG3rsjoiV5PndLQTHa1V1QJsWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+
# y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgk
# NWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqK
# Oghif9lwY1NNje6CbaUFEMFxBmoQtB1VM1izoXBm8qGCAtcwggJAAgEBMIIBAKGB
# 2KSB1TCB0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
# BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsG
# A1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYD
# VQQLEx1UaGFsZXMgVFNTIEVTTjo4RDQxLTRCRjctQjNCNzElMCMGA1UEAxMcTWlj
# cm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIaAxUA4TyKzHwg
# F5U9LB4PzTmXlB16DkKggYMwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
# IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg
# MjAxMDANBgkqhkiG9w0BAQUFAAIFAObhSjIwIhgPMjAyMjA5MzAxODU3NTRaGA8y
# MDIyMTAwMTE4NTc1NFowdzA9BgorBgEEAYRZCgQBMS8wLTAKAgUA5uFKMgIBADAK
# AgEAAgIH4AIB/zAHAgEAAgIRWjAKAgUA5uKbsgIBADA2BgorBgEEAYRZCgQCMSgw
# JjAMBgorBgEEAYRZCgMCoAowCAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3
# DQEBBQUAA4GBAIGr6YgC+uP6rtv5lK8vC5HmnJm4KDRMu2z9/2AZ7GPf0BHpvZss
# JoWKhPyu2RW2cpphSPj/V9D1TSoELaphpPSIslq7QsH+aT1JwNC9gGMBRMDGsD24
# iiuFWwVdjzFw9DGXDfBQ+qs90S+yy43wgjy+NIAH13m9cTgOtK3/1sqhMYIEDTCC
# BAkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
# c29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2EgT3Bl
# cmF0aW9uczEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046N0JGMS1FM0VBLUI4MDgx
# JTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WgghFXMIIHDDCC
# BPSgAwIBAgITMwAAAZ8rRTUVCC5LXQABAAABnzANBgkqhkiG9w0BAQsFADB8MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNy
# b3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0yMTEyMDIxOTA1MjJaFw0yMzAy
# MjgxOTA1MjJaMIHKMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ
# MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u
# MSUwIwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMSYwJAYDVQQL
# Ex1UaGFsZXMgVFNTIEVTTjo3QkYxLUUzRUEtQjgwODElMCMGA1UEAxMcTWljcm9z
# b2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC
# AgoCggIBAKT1eXxNUbKJkC/Oby0Hh8s/TOcvzzdgMgbTeOzX9bMJogJcOzSReUnf
# 05RnB4EVr9XyXbuaUGPItkO1ODdbx1A5EO6d+ftLNkSgWaVdpJhxCHIMxXmCHGLq
# WHzLc1XVM0cZgvNqhCa0F64VKUQf3CnqsL+xErsY+s6fXtcAbOj7/IXLsN9aAhDj
# dffm63bRNKFR5gOuzkY5Wkenui6pBhFOm76UBoId+ry2v4sWojKOmS/HFvcdzHpW
# O17Q08foacgJPzg/FZgrt6hrkDFuxNSpZDKJa2sajJDJc/jIgp9NRg+2xMUKLXiK
# 4k2vfJEaOjhTU4dlTbIaZZ4Kt1xwmCRvLqTY3kCFFi8oet48+HmhYdjTWDxNyTFX
# iHiKWiq9ppgaHccM9Y/DgqgrITLtAca5krWoCSF5aIpfaoTR41Fa6aYIo+F1wXd1
# xWJUj1opeG3LjMzvq2xSNx0K2cblUgjp5Tp3NwvpgWnS8yXsk8jfL0ivH2wESJWZ
# KKAzZMNlThFQhsUi0PrQMljM0fSsa7YO/f0//Q7CjHfs/dl+8HmMB6DoH5IFIPRr
# CL5/rUkWtVz9Rnzdb7m2Aj/TFwsZYcE10SJtIXU0V+tXQo8Ip+L2IPYGRCAxiLTY
# JjwTe6z5TJgDg0VhxYmmNpwEoAF4MF2RjUE98aDOyRoqEgaF2jH1AgMBAAGjggE2
# MIIBMjAdBgNVHQ4EFgQUYjTy1R4TFitIDi7o39lqx9YdyGEwHwYDVR0jBBgwFoAU
# n6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYDVR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3
# dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwVGltZS1TdGFt
# cCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwGCCsGAQUFBwEBBGAwXjBcBggrBgEFBQcw
# AoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNyb3Nv
# ZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIw
# ADATBgNVHSUEDDAKBggrBgEFBQcDCDANBgkqhkiG9w0BAQsFAAOCAgEAHYooKTw7
# 6Rnz6b1s9dAgCaj7rFsoNoqQxHf/zYDxdUAxr1Gki1gmR2S1r4LpkhUGxkQBEmQq
# dalgmKLIYFXc+Y+ggw/nMVuvQFgsyiUMlky0fcyJ9UEP02Sdg0qD4ZtbJoA+zxVn
# pQPcJHOOhVnY9sdEf5Q6XZhz9ybUhHcGW+OVw3DKSnMEZSd0BF5+7ON9FJ8H50HO
# aUVj50wTz4nc6+94ytohzOdKuWvjoZcyhYYm3SEEk1/gbklmrJd7yfzPbJHmmgva
# 6IxHOohdfWvAIheFws8WBIo3+8nGvEeIX0HJWKi5/iMJwPw7aY73i2gJKosRG6h1
# J711DuqspUGicOhhYDH5bRcYBfapqhmaoS6ftBvyGfI3JWsnYLZ9nABjbKJfdkyA
# sZSukNGglZ0/61zlJLopnV/DKEv8oCCOI0+9QGK7s8XgsfHlNEVTsdle+ClkOfnG
# S2RdmJ0DhLbo1mwxLKDHRHWddXfJtjcl2U19ERO3pIh9B0LFFflhRsjk12+5UyLL
# mgHduV+E+A0nKjSp2aQcoTak3hzyLD1KtqOdZwzRtQTGsOQ2pzBqrXUPPBzSUMZf
# XiCeMZFuCGXocuwPuPHHT5u7Mkcpk/MZ1MswUqhJ0l5XilT+3d09t1TbUdLrQTHY
# inZN0Z+C1L087NVpMDhS5y6SVuNmRCKF+DYwggdxMIIFWaADAgECAhMzAAAAFcXn
# a54Cm0mZAAAAAAAVMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEG
# A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
# cm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0
# aWZpY2F0ZSBBdXRob3JpdHkgMjAxMDAeFw0yMTA5MzAxODIyMjVaFw0zMDA5MzAx
# ODMyMjVaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYD
# VQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAk
# BgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIICIjANBgkqhkiG
# 9w0BAQEFAAOCAg8AMIICCgKCAgEA5OGmTOe0ciELeaLL1yR5vQ7VgtP97pwHB9Kp
# bE51yMo1V/YBf2xK4OK9uT4XYDP/XE/HZveVU3Fa4n5KWv64NmeFRiMMtY0Tz3cy
# wBAY6GB9alKDRLemjkZrBxTzxXb1hlDcwUTIcVxRMTegCjhuje3XD9gmU3w5YQJ6
# xKr9cmmvHaus9ja+NSZk2pg7uhp7M62AW36MEBydUv626GIl3GoPz130/o5Tz9bs
# hVZN7928jaTjkY+yOSxRnOlwaQ3KNi1wjjHINSi947SHJMPgyY9+tVSP3PoFVZht
# aDuaRr3tpK56KTesy+uDRedGbsoy1cCGMFxPLOJiss254o2I5JasAUq7vnGpF1tn
# YN74kpEeHT39IM9zfUGaRnXNxF803RKJ1v2lIH1+/NmeRd+2ci/bfV+Autuqfjbs
# Nkz2K26oElHovwUDo9Fzpk03dJQcNIIP8BDyt0cY7afomXw/TNuvXsLz1dhzPUNO
# wTM5TI4CvEJoLhDqhFFG4tG9ahhaYQFzymeiXtcodgLiMxhy16cg8ML6EgrXY28M
# yTZki1ugpoMhXV8wdJGUlNi5UPkLiWHzNgY1GIRH29wb0f2y1BzFa/ZcUlFdEtsl
# uq9QBXpsxREdcu+N+VLEhReTwDwV2xo3xwgVGD94q0W29R6HXtqPnhZyacaue7e3
# PmriLq0CAwEAAaOCAd0wggHZMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGC
# NxUCBBYEFCqnUv5kxJq+gpE8RjUpzxD/LwTuMB0GA1UdDgQWBBSfpxVdAF5iXYP0
# 5dJlpxtTNRnpcjBcBgNVHSAEVTBTMFEGDCsGAQQBgjdMg30BATBBMD8GCCsGAQUF
# BwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3Np
# dG9yeS5odG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgwGQYJKwYBBAGCNxQCBAweCgBT
# AHUAYgBDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgw
# FoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDov
# L2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0
# XzIwMTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0
# cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAx
# MC0wNi0yMy5jcnQwDQYJKoZIhvcNAQELBQADggIBAJ1VffwqreEsH2cBMSRb4Z5y
# S/ypb+pcFLY+TkdkeLEGk5c9MTO1OdfCcTY/2mRsfNB1OW27DzHkwo/7bNGhlBgi
# 7ulmZzpTTd2YurYeeNg2LpypglYAA7AFvonoaeC6Ce5732pvvinLbtg/SHUB2Rje
# bYIM9W0jVOR4U3UkV7ndn/OOPcbzaN9l9qRWqveVtihVJ9AkvUCgvxm2EhIRXT0n
# 4ECWOKz3+SmJw7wXsFSFQrP8DJ6LGYnn8AtqgcKBGUIZUnWKNsIdw2FzLixre24/
# LAl4FOmRsqlb30mjdAy87JGA0j3mSj5mO0+7hvoyGtmW9I/2kQH2zsZ0/fZMcm8Q
# q3UwxTSwethQ/gpY3UA8x1RtnWN0SCyxTkctwRQEcb9k+SS+c23Kjgm9swFXSVRk
# 2XPXfx5bRAGOWhmRaw2fpCjcZxkoJLo4S5pu+yFUa2pFEUep8beuyOiJXk+d0tBM
# drVXVAmxaQFEfnyhYWxz/gq77EFmPWn9y8FBSX5+k77L+DvktxW/tM4+pTFRhLy/
# AsGConsXHRWJjXD+57XQKBqJC4822rpM+Zv/Cuk0+CQ1ZyvgDbjmjJnW4SLq8CdC
# PSWU5nR0W2rRnj7tfqAxM328y+l7vzhwRNGQ8cirOoo6CGJ/2XBjU02N7oJtpQUQ
# wXEGahC0HVUzWLOhcGbyoYICzjCCAjcCAQEwgfihgdCkgc0wgcoxCzAJBgNVBAYT
# AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD
# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBB
# bWVyaWNhIE9wZXJhdGlvbnMxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjdCRjEt
# RTNFQS1CODA4MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNl
# oiMKAQEwBwYFKw4DAhoDFQB0Xa6YH/LLDEUsVMLysn0W/1z2t6CBgzCBgKR+MHwx
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1p
# Y3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMA0GCSqGSIb3DQEBBQUAAgUA5wJc
# xjAiGA8yMDIyMTAyNTIxMDE1OFoYDzIwMjIxMDI2MjEwMTU4WjB3MD0GCisGAQQB
# hFkKBAExLzAtMAoCBQDnAlzGAgEAMAoCAQACAgYPAgH/MAcCAQACAhHwMAoCBQDn
# A65GAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisGAQQBhFkKAwKgCjAIAgEAAgMH
# oSChCjAIAgEAAgMBhqAwDQYJKoZIhvcNAQEFBQADgYEAH7ik8eaOesxfcgU20hZg
# I4Xzv+WRbZQIIHG3FZQqQXSMek5hP+KsImpiTpZc6B7Nbh71Rj0rDZtJHs0EKv+2
# jdy/0tCV0Aib0jUSq36XnoT0atZhPMxes0q2orT6v/Gq6J9KrCAhojshJ3mGLtg3
# gnAR2LFwpZWzmvYeKKdr8SIxggQNMIIECQIBATCBkzB8MQswCQYDVQQGEwJVUzET
# MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
# TWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1T
# dGFtcCBQQ0EgMjAxMAITMwAAAZ8rRTUVCC5LXQABAAABnzANBglghkgBZQMEAgEF
# AKCCAUowGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3DQEJBDEi
# BCDsdPccLE5xzjN0al3M6sM4zSFK1PqEwxCZGHnx5tTftjCB+gYLKoZIhvcNAQkQ
# Ai8xgeowgecwgeQwgb0EIIbxXimiJ4mepedXPA1R6N4qAsl8Qfs/6OynLDdLfFza
# MIGYMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEm
# MCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAGILs3G
# gUHhvCoAAQAAAYgwDQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsq
# hkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgBJG1UfhL+jqo61PIkiBUeDclEPRz
# 8Yq+FPMK3iRKhsswgfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCBm6d7trAY3
# RoSC+M/snI7c0qXuGy1fwKGGsqZe0klApTCBmDCBgKR+MHwxCzAJBgNVBAYTAlVT
# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK
# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1l
# LVN0YW1wIFBDQSAyMDEwAhMzAAABiC7NxoFB4bwqAAEAAAGIMCIEIDR3R0JWSnbp
# F1FVOBJY9IBZ4a813BSX9xc0Pk0KWDNAMA0GCSqGSIb3DQEBCwUABIICACfrvChR
# eJozJv6QXkBhMlE6/22A7kdAxNl0Fk5V/aIU1dX5h+f0X5Rrz+UOQ0c/RjNFf4qG
# YPvoIaFNyIzbrvxh79bCFLW+5zTB+Xw8bLVAYhIe3pATeL5layiIWBHbE5UkM2iQ
# 4D62ovCt/hBaCATA/lfs8c335LBetexw4c/KtYncS/1wtW3cHYLW3g8BC8uru+Nn
# Z39SVO3lExokDXr0TdEwOa040BKvXLiOVtP/Sk6NE0mTNCRXurs5JpWG8ec/hVlW
# QNCeHRhGhsseRst1a+GlJDjDQMOViiAeXeiaaSDd2Ada1SQ8k9d/ei/1tePDBLey
# njfACkLvctW3xJkxq5QO6V+KXB3TivT8yYx+N59cc3ihI5YzxpwlWLmCY26lTX/c
# d520Zy0q79gdUSt2MG3Y67uRn91WFmK6VhS8yFfCprGqX5nk/zXY38Qm65cjsnF/
# 0+CVMCKMl8wSmpdJYAOG8K7UmAnGPg8CMsPRM5io9r9Tsu54tsI87QQqyaNiTfW0
# xEX+lGGzScYWUhyl8e3bVfPwBgMHoH+486JMTKDKwrz7RZt1zBgZagptg0fCnLuf
# wvC9bzDn2GLxJj2WBw18gxy/6uGRhAfHG1x0dAfCLUvFcUhZlT7e/JPYNl7siVRH
# 3voGBlNQDYR6cdvRQyhOl/MbQtg7wQeXzoR7
# MCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAGfK0U1
# FQguS10AAQAAAZ8wIgQg3sCzbAG/Xz+PGvXq1zVdu55xJQfPYdRkSrpm9mtsoQEw
# DQYJKoZIhvcNAQELBQAEggIAdR7IojIx97lMa7yE9HCqW7l57mUuXZS9BIdfObXR
# P9n4kHtVdiO9cO5uVn1Up+mzvRuOqSwVP4Gx467zaxo1bOvl840r+rgwh/YyUfCO
# tYMxDAZcP1bVkH8BssAN+yipRpiNH7FWJ6+W7UhoEov0KdHtekpcM3zpX6Wc8VRZ
# oLISAhXMcs51teIbpDOIkH5tYDvOgcowkrU6vAyNC+ZxS7y7YHbKGA0IM3W7ex2l
# Jh8vWcJkxKpbrmIL0oaTmVdfv/Ssrodusx5Xe0dL5PUoR8245iPG732XmmyXRD6X
# ZXBOc8TyccbE2wBQ6cXr3H/5sEpesY5pbLPZdxPqcPvNF08keKDAmhxMkJieahCV
# owUPeo9RhbrcEl1fuZTxSFKIR2+xIknMrby2vqsprwjxKbJydBPLYQFrtKjqU8uW
# ty1r76se8ymtanzjEN9E4IK+1tmYWRlCbX1HYkMP/KHWEP0Tyk1PmxCvMQ4P54mz
# SOj9EKHl4Qm9Y2nyYMWbpkouvDa1CEB6t/Cub4bXfz2nigTpNIjXmJs7tsniwX5p
# 7kXUVNlFdApGEwJTKEEcvzz3YAPqk+K2CDPdK3IV9YVQH1zsIu7Tn8OQc6n21338
# 39z5ZvtCh/dyUeFh332niwZ5M11r9LPpq1f7fY9h3F1IMZ+40O/c7Rf3ICig8IQc
# 5OI=
# SIG # End signature block

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичные данные
Installers/VS2017PCCommon.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2017PCEditionFilesV141.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2017PCTemplatesV141.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2019PCCommon.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2019PCCommonClangCl.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2019PCCommonV141.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2019PCEditionFilesClangCl.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2019PCEditionFilesV141.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2019PCEditionFilesV142.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2019PCTemplatesV142.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCCommon.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCCommonClangCl.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCCommonV141.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCCommonV142.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCEditionFilesClangCl.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCEditionFilesV141.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCEditionFilesV142.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCEditionFilesV143.vsix

Двоичный файл не отображается.

Двоичные данные
Installers/VS2022PCTemplatesV143.vsix

Двоичный файл не отображается.

Просмотреть файл

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d58e5667f7ca139e3efe5d1b57de5ed15027db47d9ed2d4809408ba7c8355408
size 16382

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b201503bb2d4aa96e493d5757a3a6eac48dd3e6e9850a84fe67b31d30302c3f1
size 28911
oid sha256:511ebd0b3b2f02427e13719da2b6e83f1c1eb051becce9737f0534d1c11c0842
size 41016

Просмотреть файл

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f69fc3f0ea5a50c632bb0af50b5797306af9e42634cbd382883f50c337157549
size 6976014

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:085bc7d9d19b9245332712b8aaea8febbf7b20db03a3239ea9853b87b3b48c8f
size 239522
oid sha256:3975a90e6eb7a51e04fa31f05beffb46fcae442e2b6538e1acb95fe46f9a3ce8
size 263022

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e0e6122b9e2afe016d07e011282a45c77c6b5250160f8160ec4327dd1dd5cede
size 7100490
oid sha256:367d4074d28c45010a79cc0e08aa54f8a248910d2b31973d2d02c5fffc917d02
size 7149727

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8fffec07b22eabeed60be3fbe2a8f475c5e64491ed9849e998c46a50c70915c8
size 109947538
oid sha256:05a4a5aef3d3a74cb3d946ab0bb85035181d3e6b30fc5aad2e586d7795ff391e
size 109973032

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5ce33006b2bc31ce48ca8eab5192a70266f11bf17937b84e677bd90df1263028
size 7022900
oid sha256:0328bc65f22d0c2a5dcafbbc502c37c748f0d817508aa28e61752391a4afaf9f
size 7070573

Просмотреть файл

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0e795d7d2ea57202a4ef2320ca4eae427402d78a9afe310889dbaeee23764f5b
size 76082
oid sha256:8708be9c49d31ad8e21347837f0f0de4b8d3902c477bfba11a8d87756f989f10
size 85813

Двоичные данные
Installers/powershellStub.exe

Двоичный файл не отображается.

Двоичные данные
PGDK.exe

Двоичный файл не отображается.

Просмотреть файл

@ -1,18 +0,0 @@
File,Hash
pgdk.exe,AC4428EC7CB8824120AC2B5CF04FC3A6347CA48F90E2057CCB6F9D5277842E47
0037f7733689a74f2678cba42a603866.cab,A01E4E16C549A85C2D067AB28E835DC28F636308881B0CB46BABF7C333B5633B
120b38b03e1fe7823dcdd24eb5a8bcaf.cab,BFDD71861E0EB86DD21AFFCF95386B7DC04BB7550ADEC631F9A712743A527095
29ed3e615b33e5f98eeb2dc2ff475882.cab,90AEA7ED7ACF4DBCA722881FAAEE94A308BC47534EFFC6D8C2CA34B30CF14F4C
30679793b6e614f833a017b2e03aa8d6.cab,5C81F27238922279CFC25E32B675508054AC36CDD73282B049A5C0F640F78090
670febca25fedf84a45c7147c362244d.cab,70CA419063E97FA5E5962F60E506FB415C04EA33E6938E67F819E8E7A17DF5BD
76f86130718ca751edd6d8906ea62638.cab,59AE6CF4B663D3D69F0149730F2CE2BB8CCF2455E61C5DFC80931E11239C11C4
7e85ae666854837dec3b2637a97c5ee0.cab,89EDDB5B9A80E2ABBA05874A597B086E51E85744EEFA152F7E394F9B0EC27466
8c499b56707a4a2a53feb53819c881e6.cab,59811AF1AD664A49DCF467CD79B972012B5AE6C474C3CEB85563C2C4E7BFF22F
ba057dfaaa9101fa6f6b19265e223669.cab,D58E5667F7CA139E3EFE5D1B57DE5ED15027DB47D9ED2D4809408BA7C8355408
be91a880ff793bf3b90a60284bf3bad5.cab,B201503BB2D4AA96E493D5757A3A6EAC48DD3E6E9850A84FE67B31D30302C3F1
c002f02c707d7f224e0d9975b7ad64c5.cab,F69FC3F0EA5A50C632BB0AF50B5797306AF9E42634CBD382883F50C337157549
cb5d76c683a994a2bde8042e1d61e2b6.cab,085BC7D9D19B9245332712B8AAEA8FEBBF7B20DB03A3239EA9853B87B3B48C8F
ded860912bf935135bda92ea394b7237.cab,E0E6122B9E2AFE016D07E011282A45C77C6B5250160F8160EC4327DD1DD5CEDE
e10d509ac138cbffc692905299d03436.cab,8FFFEC07B22EABEED60BE3FBE2A8F475C5E64491ED9849E998C46A50C70915C8
f2e56827b392f0eb99672caf73dd3239.cab,5CE33006B2BC31CE48CA8EAB5192A70266F11BF17937B84E677BD90DF1263028
faccc661227fc6a4ddc96f6ea9e1b76f.cab,0E795D7D2EA57202A4EF2320CA4EAE427402D78A9AFE310889DBAEEE23764F5B
1 File Hash
2 pgdk.exe AC4428EC7CB8824120AC2B5CF04FC3A6347CA48F90E2057CCB6F9D5277842E47
3 0037f7733689a74f2678cba42a603866.cab A01E4E16C549A85C2D067AB28E835DC28F636308881B0CB46BABF7C333B5633B
4 120b38b03e1fe7823dcdd24eb5a8bcaf.cab BFDD71861E0EB86DD21AFFCF95386B7DC04BB7550ADEC631F9A712743A527095
5 29ed3e615b33e5f98eeb2dc2ff475882.cab 90AEA7ED7ACF4DBCA722881FAAEE94A308BC47534EFFC6D8C2CA34B30CF14F4C
6 30679793b6e614f833a017b2e03aa8d6.cab 5C81F27238922279CFC25E32B675508054AC36CDD73282B049A5C0F640F78090
7 670febca25fedf84a45c7147c362244d.cab 70CA419063E97FA5E5962F60E506FB415C04EA33E6938E67F819E8E7A17DF5BD
8 76f86130718ca751edd6d8906ea62638.cab 59AE6CF4B663D3D69F0149730F2CE2BB8CCF2455E61C5DFC80931E11239C11C4
9 7e85ae666854837dec3b2637a97c5ee0.cab 89EDDB5B9A80E2ABBA05874A597B086E51E85744EEFA152F7E394F9B0EC27466
10 8c499b56707a4a2a53feb53819c881e6.cab 59811AF1AD664A49DCF467CD79B972012B5AE6C474C3CEB85563C2C4E7BFF22F
11 ba057dfaaa9101fa6f6b19265e223669.cab D58E5667F7CA139E3EFE5D1B57DE5ED15027DB47D9ED2D4809408BA7C8355408
12 be91a880ff793bf3b90a60284bf3bad5.cab B201503BB2D4AA96E493D5757A3A6EAC48DD3E6E9850A84FE67B31D30302C3F1
13 c002f02c707d7f224e0d9975b7ad64c5.cab F69FC3F0EA5A50C632BB0AF50B5797306AF9E42634CBD382883F50C337157549
14 cb5d76c683a994a2bde8042e1d61e2b6.cab 085BC7D9D19B9245332712B8AAEA8FEBBF7B20DB03A3239EA9853B87B3B48C8F
15 ded860912bf935135bda92ea394b7237.cab E0E6122B9E2AFE016D07E011282A45C77C6B5250160F8160EC4327DD1DD5CEDE
16 e10d509ac138cbffc692905299d03436.cab 8FFFEC07B22EABEED60BE3FBE2A8F475C5E64491ED9849E998C46A50C70915C8
17 f2e56827b392f0eb99672caf73dd3239.cab 5CE33006B2BC31CE48CA8EAB5192A70266F11BF17937B84E677BD90DF1263028
18 faccc661227fc6a4ddc96f6ea9e1b76f.cab 0E795D7D2EA57202A4EF2320CA4EAE427402D78A9AFE310889DBAEEE23764F5B

Просмотреть файл

@ -0,0 +1,16 @@
File,Hash
pgdk.exe,DD077CE8E0EA0CC50A4C4E2E1FF98A704DEFF7A32C87FD513F3B0AF9AB924C92
0037f7733689a74f2678cba42a603866.cab,174A482F68540D2E0681C10F5911FB8422641AFB1A7921D2A11AA9ACF2A908C8
120b38b03e1fe7823dcdd24eb5a8bcaf.cab,CD3ABB84B15F149E5B7254CC85F9E2D6633E8D58E73250EAE2B6970787F6BDD8
29ed3e615b33e5f98eeb2dc2ff475882.cab,A37503A7D551B4F4AB96327A68657278152C475D1D49E4859CA047D584630353
30679793b6e614f833a017b2e03aa8d6.cab,C7E6D2AFEEEED8A2F3CB8429A1A45F5D0FCC7EA8A56BCE4198F95EB60E4D6415
670febca25fedf84a45c7147c362244d.cab,640B392508AD3A7EC3C6D339744D5DEEDAF494B23B573E67F03FB246DDDC9DE3
76f86130718ca751edd6d8906ea62638.cab,28FB57F0FBA8D5AFCEECE908BECF633E2F8CD1CE875619D0ECB59BD4EDE37D38
7e85ae666854837dec3b2637a97c5ee0.cab,C6766710E01CC9C1AD48B435A7BD0B2A6761984327A9B0414771F1E04F0F4EAB
8c499b56707a4a2a53feb53819c881e6.cab,3BA4A87D144796FFFE60AA95091CA64C48BAFF0C284C68B71A4540CE309D649F
be91a880ff793bf3b90a60284bf3bad5.cab,511EBD0B3B2F02427E13719DA2B6E83F1C1EB051BECCE9737F0534D1C11C0842
cb5d76c683a994a2bde8042e1d61e2b6.cab,3975A90E6EB7A51E04FA31F05BEFFB46FCAE442E2B6538E1ACB95FE46F9A3CE8
ded860912bf935135bda92ea394b7237.cab,367D4074D28C45010A79CC0E08AA54F8A248910D2B31973D2D02C5FFFC917D02
e10d509ac138cbffc692905299d03436.cab,05A4A5AEF3D3A74CB3D946AB0BB85035181D3E6B30FC5AAD2E586D7795FF391E
f2e56827b392f0eb99672caf73dd3239.cab,0328BC65F22D0C2A5DCAFBBC502C37C748F0D817508AA28E61752391A4AFAF9F
faccc661227fc6a4ddc96f6ea9e1b76f.cab,8708BE9C49D31AD8E21347837F0F0DE4B8D3902C477BFBA11A8D87756F989F10
1 File Hash
2 pgdk.exe DD077CE8E0EA0CC50A4C4E2E1FF98A704DEFF7A32C87FD513F3B0AF9AB924C92
3 0037f7733689a74f2678cba42a603866.cab 174A482F68540D2E0681C10F5911FB8422641AFB1A7921D2A11AA9ACF2A908C8
4 120b38b03e1fe7823dcdd24eb5a8bcaf.cab CD3ABB84B15F149E5B7254CC85F9E2D6633E8D58E73250EAE2B6970787F6BDD8
5 29ed3e615b33e5f98eeb2dc2ff475882.cab A37503A7D551B4F4AB96327A68657278152C475D1D49E4859CA047D584630353
6 30679793b6e614f833a017b2e03aa8d6.cab C7E6D2AFEEEED8A2F3CB8429A1A45F5D0FCC7EA8A56BCE4198F95EB60E4D6415
7 670febca25fedf84a45c7147c362244d.cab 640B392508AD3A7EC3C6D339744D5DEEDAF494B23B573E67F03FB246DDDC9DE3
8 76f86130718ca751edd6d8906ea62638.cab 28FB57F0FBA8D5AFCEECE908BECF633E2F8CD1CE875619D0ECB59BD4EDE37D38
9 7e85ae666854837dec3b2637a97c5ee0.cab C6766710E01CC9C1AD48B435A7BD0B2A6761984327A9B0414771F1E04F0F4EAB
10 8c499b56707a4a2a53feb53819c881e6.cab 3BA4A87D144796FFFE60AA95091CA64C48BAFF0C284C68B71A4540CE309D649F
11 be91a880ff793bf3b90a60284bf3bad5.cab 511EBD0B3B2F02427E13719DA2B6E83F1C1EB051BECCE9737F0534D1C11C0842
12 cb5d76c683a994a2bde8042e1d61e2b6.cab 3975A90E6EB7A51E04FA31F05BEFFB46FCAE442E2B6538E1ACB95FE46F9A3CE8
13 ded860912bf935135bda92ea394b7237.cab 367D4074D28C45010A79CC0E08AA54F8A248910D2B31973D2D02C5FFFC917D02
14 e10d509ac138cbffc692905299d03436.cab 05A4A5AEF3D3A74CB3D946AB0BB85035181D3E6B30FC5AAD2E586D7795FF391E
15 f2e56827b392f0eb99672caf73dd3239.cab 0328BC65F22D0C2A5DCAFBBC502C37C748F0D817508AA28E61752391A4AFAF9F
16 faccc661227fc6a4ddc96f6ea9e1b76f.cab 8708BE9C49D31AD8E21347837F0F0DE4B8D3902C477BFBA11A8D87756F989F10