diff --git a/.github/workflows/actions.vs2026.yml b/.github/workflows/actions.vs2026.yml new file mode 100644 index 0000000..9698b8c --- /dev/null +++ b/.github/workflows/actions.vs2026.yml @@ -0,0 +1,455 @@ +name: DVTk Build (VS2026) + +on: + push: + branches: + - '*' + pull_request: + branches: + - '*' + workflow_dispatch: + +env: + SOLUTION: 'Dicom.sln' + BUILD_PLATFORM: 'x86' + BUILD_CONFIGURATION: 'Release' + +jobs: + build: + runs-on: windows-2025-vs2026 + + steps: + - name: Checkout source code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Install GitVersion + uses: gittools/actions/gitversion/setup@v3.0.0 + with: + versionSpec: '5.x' + preferLatestVersion: true + + - name: Determine version number using GitVersion + id: gitversion + uses: gittools/actions/gitversion/execute@v3.0.0 + with: + useConfigFile: true + configFilePath: 'GitVersion.yml' + updateAssemblyInfo: true + + - name: Setup NuGet + uses: NuGet/setup-nuget@v2 + + - name: Restore Nuget packages + run: nuget restore ${{ env.SOLUTION }} -Verbosity Detailed + + - name: Update Version in project files + shell: pwsh + run: | + ./DVT/updateVersion.ps1 -gitversion "${{ steps.gitversion.outputs.majorMinorPatch }}" + + - name: Update Copyright year in AssemblyInfo files + shell: pwsh + run: | + ./DVT/updateCopyright.ps1 + + - name: Detect Visual Studio installation path + shell: pwsh + run: | + $vsPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -version "[18.0,19.0)" -property installationPath + if (-not $vsPath) { + Write-Error "Visual Studio 2026 not found!" + exit 1 + } + Write-Host "✅ Visual Studio found at: $vsPath" + Add-Content -Path $env:GITHUB_ENV -Value "VS_INSTALL_PATH=$vsPath" + + - name: Install MFC and ATL (v142 compatibility) + shell: cmd + run: | + "C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" modify ^ + --installPath "%VS_INSTALL_PATH%" ^ + --add Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL ^ + --add Microsoft.VisualStudio.Component.VC.14.29.16.11.MFC ^ + --quiet --norestart + + - name: Verify MFC Headers + shell: pwsh + run: | + $header = Get-ChildItem -Path "$env:VS_INSTALL_PATH\VC\Tools\MSVC" -Recurse -Filter "afx.h" -ErrorAction SilentlyContinue + if ($header) { + Write-Host "✅ afx.h found in: $($header.FullName)" + } else { + Write-Error "❌ afx.h still not found on disk." + exit 1 + } + + - name: Setup MSBuild + uses: microsoft/setup-msbuild@v2 + with: + vs-version: '[18.0,19.0)' + + - name: Verify MFC Installation + shell: pwsh + run: | + # Gebruik -requires om direct te filteren op de component, dit is betrouwbaarder dan handmatig de lijst doorzoeken + $mfcCheck = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -requires Microsoft.VisualStudio.Component.VC.MFC -property installationPath + + if ($mfcCheck) { + Write-Host "✅ MFC Component is succesvol gedetecteerd in: $mfcCheck" + } else { + Write-Host "⚠️ Waarschuwing: vswhere herkent de component nog niet. We checken nu het bestandssysteem..." + + # Fallback: Check if MFC folders actually exist on disk + $vsPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath + $mfcHeader = Get-ChildItem -Path "$vsPath\VC\Tools\MSVC" -Recurse -Filter "afxwin.h" -ErrorAction SilentlyContinue + + if ($mfcHeader) { + Write-Host "✅ MFC files found on disk: $($mfcHeader.FullName)" + } else { + Write-Error "❌ MFC Component NOT found (not via vswhere and not on the filesystem)." + exit 1 + } + } + + - name: Locate Devenv and Manual Registry Fix + shell: pwsh + run: | + # Get instance ID for registry fix + $instanceId = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -version "[18.0,19.0)" -property instanceId + + if (-not $instanceId) { throw "Visual Studio instance ID not found!" } + + # Execute Registry Fix for HRESULT 8000000A + $registryPath = "HKCU:\SOFTWARE\Microsoft\VisualStudio\18.0_$($instanceId)_Config\MSBuild" + if (!(Test-Path $registryPath)) { + New-Item -Path $registryPath -Force | Out-Null + } + Set-ItemProperty -Path $registryPath -Name "EnableOutOfProcBuild" -Value 0 -Type DWord + Write-Host "Registry fix applied to $registryPath" + + $devenv = Join-Path $env:VS_INSTALL_PATH "Common7\IDE\devenv.com" + Add-Content -Path $env:GITHUB_ENV -Value "DEV_CMD=$devenv" + + - name: Setup Visual Studio Installer Projects + uses: seanmiddleditch/gha-setup-vsdevenv@v5 + + - name: Build managed/native projects (msbuild) + id: msbuild + shell: pwsh + run: | + New-Item -ItemType Directory -Force -Path ./staging + # Importeer de VS Developer Environment voor x86 + & cmd /c "call `"$env:VS_INSTALL_PATH\VC\Auxiliary\Build\vcvarsall.bat`" x86 -vcvars_ver=14.29 && msbuild Dicom.sln /t:Rebuild /p:Configuration=Release /p:Platform=x86 /m /fl /flp:LogFile=./staging/build-msbuild.log" + + - name: Build setup projects (devenv) + id: vdproj + continue-on-error: true + shell: pwsh + run: | + $projects = @( + "Definition Files Setup", + "DICOM Compare Setup", + "DICOM Editor Setup", + "DICOM Network Analyzer Setup", + "DVT Examples Setup", + "DVT Setup", + #"Modality Emulator Setup", + "Query Retrieve SCP Emulator Setup", + "Query Retrieve SCU Emulator Setup", + "RIS Emulator Setup", + "Storage SCP Emulator Setup", + "Storage SCU Emulator Setup" + ) + + if (-not (Test-Path "$env:DEV_CMD")) { throw "Error: DEV_CMD (devenv.com) not found on the system." } + + $logPath = "./staging/build-devenv.log" + if (Test-Path $logPath) { Remove-Item $logPath -Force } + + $anyFailure = $false + + foreach ($p in $projects) { + Write-Host "--- Building: $p ---" + + $tempLog = "temp_$($p.Replace(' ', '_')).log" + + $process = Start-Process -FilePath "$env:DEV_CMD" ` + -ArgumentList "`"$env:SOLUTION`"", "/Build", "`"$env:BUILD_CONFIGURATION|$env:BUILD_PLATFORM`"", "/Project", "`"$p`"", "/Out", "$tempLog" ` + -Wait -PassThru + + if (Test-Path $tempLog) { + $content = Get-Content $tempLog + $content | Out-File -FilePath $logPath -Append -Encoding UTF8 + $content | Write-Host # Toon de output ook in de GitHub console + Remove-Item $tempLog + } + + if ($process.ExitCode -ne 0) { + Write-Error "Error during build of $p (Exit code: $($process.ExitCode))" + $anyFailure = $true + } + } + + if ($anyFailure) { exit 1 } + + - name: Install Definition Files for Tests + shell: pwsh + run: | + $targetDir = "C:\Program Files (x86)\Common Files\DVTk\Definition Files\DICOM" + $sourceDir = "Definitions\DICOM" + + Write-Host "Creating definition files directory: $targetDir" + New-Item -ItemType Directory -Force -Path $targetDir | Out-Null + + Write-Host "Copying definition files from $sourceDir to $targetDir" + Copy-Item -Path "$sourceDir\*" -Destination $targetDir -Recurse -Force + + $fileCount = (Get-ChildItem -Path $targetDir -File).Count + Write-Host "Installed $fileCount definition files" + + - name: Run Tests + continue-on-error: true + shell: cmd + run: | + vstest.console.exe ".\bin\Release\*Tests.dll" --logger:trx;LogFileName=../staging/test-results.trx + + - name: Upload Test Results Artifact + uses: actions/upload-artifact@v4 + with: + name: test-results-trx + path: staging/*.trx + + - name: Rename MSI files with version number + shell: pwsh + run: | + $searchPath = "bin\Setups\Release" + $version = "${{ steps.gitversion.outputs.majorMinorPatch }}" + + Write-Host "Search all MSI files in: $searchPath" + + # Get all MSI files (including those with hardcoded versions) + $allMsiFiles = Get-ChildItem -Path $searchPath -Filter "*.msi" -Recurse + + if ($allMsiFiles.Count -eq 0) { + Write-Warning "No MSI files found in $searchPath" + exit 0 + } + + Write-Host "Found $($allMsiFiles.Count) MSI file(s)" + + foreach ($file in $allMsiFiles) { + $newName = $file.Name + + # Replace placeholder version pattern + if ($newName -match '-a\.b\.c\.msi$') { + $newName = $newName -replace '-a\.b\.c\.msi$', "-$version.msi" + Write-Host "Rename (placeholder): $($file.Name) -> $newName" + } + # Keep file with hardcoded version pattern (e.g., -1.1.10.msi) + elseif ($newName -match '-\d+\.\d+\.\d+\.msi$') { + Write-Host "Copy: $newName" + } + # No version pattern found, continue with next file + else { + Write-Warning "Skipping file (no version pattern found): $($file.Name)" + continue + } + + $destination = Join-Path "./staging" $newName + + # Check if target file already exists to prevent errors + if (Test-Path $destination) { + Write-Host " -> File exists, removing old file..." + Remove-Item $destination -Force + } + + Move-Item -Path $file.FullName -Destination $destination -Force + } + Get-ChildItem -Path "./staging" -Filter "*.msi" -Recurse | Select-Object FullName + + - name: Sign MSI files + if: ${{ github.event_name != 'pull_request' }} + shell: pwsh + run: | + # Check if secrets are available + if ([string]::IsNullOrEmpty("${{ secrets.CERTIFICATE_BASE64 }}")) { + Write-Warning "⚠️ CERTIFICATE_BASE64 secret not found. MSI signing will be skipped." + exit 0 + } + + if ([string]::IsNullOrEmpty("${{ secrets.CERTIFICATE_PASSWORD }}")) { + Write-Warning "⚠️ CERTIFICATE_PASSWORD secret not found. MSI signing will be skipped." + exit 0 + } + + Write-Host "📜 Decoding certificate..." + + # Decode the base64 certificate to a file + $certPath = Join-Path $env:TEMP "signing-cert.pfx" + $certPassword = "${{ secrets.CERTIFICATE_PASSWORD }}" + $securePassword = ConvertTo-SecureString -String $certPassword -AsPlainText -Force + + try { + $certBytes = [Convert]::FromBase64String("${{ secrets.CERTIFICATE_BASE64 }}") + [IO.File]::WriteAllBytes($certPath, $certBytes) + Write-Host "✅ Certificate file created: $certPath" + } catch { + Write-Error "❌ Error decoding certificate: $_" + exit 1 + } + + # Verify that the file exists and is readable + if (-not (Test-Path $certPath)) { + Write-Error "❌ Certificate file not found after decode!" + exit 1 + } + + $fileSize = (Get-Item $certPath).Length + Write-Host "Certificate file size: $fileSize bytes" + + # Import the certificate into the certificate store + Write-Host "📥 Importing certificate into certificate store..." + try { + $cert = Import-PfxCertificate -FilePath $certPath -CertStoreLocation Cert:\CurrentUser\My -Password $securePassword -ErrorAction Stop + Write-Host "✅ Certificate imported with thumbprint: $($cert.Thumbprint)" + Write-Host " Subject: $($cert.Subject)" + Write-Host " Valid from: $($cert.NotBefore) to $($cert.NotAfter)" + Write-Host " Has private key: $($cert.HasPrivateKey)" + + if (-not $cert.HasPrivateKey) { + Write-Error "❌ Certificate has no private key!" + exit 1 + } + + $certThumbprint = $cert.Thumbprint + + # Check Enhanced Key Usage + $eku = $cert.EnhancedKeyUsageList | Select-Object -ExpandProperty FriendlyName + Write-Host " Enhanced Key Usage: $($eku -join ', ')" + + if ($eku -notcontains "Code Signing") { + Write-Warning "⚠️ Certificate does not have 'Code Signing' capability. Signing may fail." + } + } catch { + Write-Error "❌ Error importing certificate: $_" + Write-Error " Check if the password is correct!" + Remove-Item $certPath -Force -ErrorAction SilentlyContinue + exit 1 + } + + # Verify that certificate is visible in store + $storeCheck = Get-ChildItem Cert:\CurrentUser\My | Where-Object { $_.Thumbprint -eq $certThumbprint } + if ($storeCheck) { + Write-Host "✓ Certificate is visible in certificate store" + } else { + Write-Error "❌ Certificate not found in store after import!" + exit 1 + } + + # Find signtool.exe - ALWAYS use x64 version for better store access + $signtool = Get-ChildItem -Path "C:\Program Files (x86)\Windows Kits" -Recurse -Filter "signtool.exe" -ErrorAction SilentlyContinue | + Where-Object { $_.FullName -match '\\x64\\' } | + Sort-Object FullName -Descending | + Select-Object -First 1 + + if (-not $signtool) { + Write-Error "❌ signtool.exe not found!" + Remove-Item $certPath -Force -ErrorAction SilentlyContinue + exit 1 + } + + Write-Host "🔧 Using signtool: $($signtool.FullName)" + + # Sign all MSI files in staging + $msiFiles = Get-ChildItem -Path "./staging" -Filter "*.msi" -Recurse + + if ($msiFiles.Count -eq 0) { + Write-Warning "⚠️ No MSI files found to sign." + Remove-Item $certPath -Force -ErrorAction SilentlyContinue + exit 0 + } + + Write-Host "Found $($msiFiles.Count) MSI file(s) to sign" + + $signedCount = 0 + $failedCount = 0 + + foreach ($msi in $msiFiles) { + Write-Host "`n📝 Signing: $($msi.Name)" + + # Sign with certificate thumbprint from store + subject name as fallback + & $signtool.FullName sign /sha1 $certThumbprint /n "DVTk" /tr http://timestamp.digicert.com /td sha256 /fd sha256 /v /debug $msi.FullName + + if ($LASTEXITCODE -eq 0) { + Write-Host "✅ Successfully signed: $($msi.Name)" + $signedCount++ + + # Verify signature - use /a instead of /pa for self-signed certificates + $verifyOutput = & $signtool.FullName verify /a $msi.FullName 2>&1 + $verifyExitCode = $LASTEXITCODE + + if ($verifyExitCode -eq 0) { + Write-Host " ✓ Signature verified (trusted)" + } else { + # For self-signed certificates this is normal + if ($verifyOutput -match "root certificate which is not trusted") { + Write-Host " ⚠ Self-signed certificate (expected for test certificates)" + } else { + Write-Host " ⚠ Signature verification warning" + } + } + + # Reset exit code after verify so the script doesn't fail + $LASTEXITCODE = 0 + } else { + Write-Warning "❌ Failed to sign $($msi.Name) (Exit code: $LASTEXITCODE)" + $failedCount++ + } + } + + # Remove the certificate from store and the file + Write-Host "`n🗑️ Cleaning up..." + try { + Remove-Item "Cert:\CurrentUser\My\$certThumbprint" -Force -ErrorAction SilentlyContinue + Write-Host " Certificate removed from store" + } catch { + Write-Warning " Could not remove certificate from store: $_" + } + Remove-Item $certPath -Force -ErrorAction SilentlyContinue + Write-Host " Certificate file removed" + + Write-Host "`n📊 Summary: $signedCount signed, $failedCount failed" + + if ($failedCount -gt 0) { + Write-Error "❌ Some files failed to sign. Check if certificate and password are correct." + exit 1 + } + + - name: Publish build artifacts + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: "${{ github.event.repository.name }}-Package-${{ steps.gitversion.outputs.majorMinorPatch }}.${{ steps.gitversion.outputs.preReleaseNumber }}.vs2026" + path: ./staging + + publish-test-results: + runs-on: ubuntu-latest + needs: build + if: always() + permissions: + checks: write + pull-requests: write + contents: read + steps: + - name: Download Test Results + uses: actions/download-artifact@v4 + with: + name: test-results-trx + path: test-results + + - name: Publish Test Results + uses: EnricoMi/publish-unit-test-result-action@v2 + with: + files: "test-results/**/*.trx" \ No newline at end of file diff --git a/Query_Retrieve_SCU_Emulator/Source/QR SCU Emulator.resx b/Query_Retrieve_SCU_Emulator/Source/QR SCU Emulator.resx index d3561c1..8e90ebf 100644 --- a/Query_Retrieve_SCU_Emulator/Source/QR SCU Emulator.resx +++ b/Query_Retrieve_SCU_Emulator/Source/QR SCU Emulator.resx @@ -1,17 +1,17 @@ - + - @@ -117,48 +117,536 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 17, 17 - + 126, 17 - + 225, 17 - + 674, 17 - + 335, 17 - + 487, 17 - - 32 + + 57 - + - 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 + TkSuQmCCKAAAADAAAABgAAAAAQAgAAAAAACAJQAAAAAAAAAAAAAAAAAAAAAAAP7+/v///////v7+//// + ///+/v7////////////+/v7////////////+/v7////////////+/v7///////7+/v/+/v7//v7+//7+ + /v/+/v7//v7+///////+/v7////////////+/v7////////////+/v7////////////+/v7///////// + ///+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7////////////+/v7////////////+/v7///////7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/9bW + 1v/Hx8f/x8fH/8fHx//Pz8///v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/j4tT/0c64/9HOuP/Rzrj/0c64/9/ez//+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//////////////////////////////////////////////////////////////////7+ + /v/k5OT/4eHh/7i3t/+oqKj/r6+v/7u7u//FxcX//v7+//////////////////////////////////// + ////////////////////////8fDp/9vayP+4tJH/t7SQ/7e0kP+8uJf/y8iv//j49f////////////// + //////////////////////////////7+/v///////v7+///////+/v7////////////+/v7///////// + ///+/v7///////r6+v9TUlL/RURE/0VERP9EQ0P/b25u/7u7u//FxcX//v7+///////+/v7///////// + ///+/v7////////////+/v7////////////v7ub/c24o/2ReD/9kXQ//ZF4P/2VfEP+ppnv/7ezk//// + ///+/v7////////////+/v7////////////+/v7///////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//r6+v9TUlL/REND/0VERP9EQ0P/b25u/7q6uv/FxcX//v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//z7+v+OilH/ZF4O/2ReD/9jXg//ZF4O/4+K + Uv/e3c3//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//////////////////// + //////////////////////////////////////////////r6+v9TUlL/RURE/0VERP9FRET/b25u/7u7 + u//FxcX//v7+/////////////////////////////////////////////////7Owif9kXg//Y14P/2Ne + D/9kXg7/dnEs/87Ls//8/Pv///////////////////////////////////////////////////////7+ + /v///////v7+///////+/v7////////////+/v7////////////+/v7///////r6+v9TUlL/RURE/0VE + RP9EQ0P/b25u/7u7u//FxcX//v7+///////+/v7////////////+/v7////////////+/v7/19XB/2Zg + Ev9kXQ//ZF4P/2ReD/9pYxf/ubaT//X18P/+/v7////////////+/v7////////////+/v7///////// + ///+/v7///////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//r6 + +v9TUlL/REND/0VERP9EQ0P/b25u/7q6uv/FxcX//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/v7+f/dG8p/2ReD/9jXg//ZF4O/2ReD/+gnGz/6Ofc//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//////////////////////////////////////////////////// + //////////////r6+v9TUlL/RURE/0VERP9FRET/b25u/7u7u//FxcX//v7+//////////////////// + //////////////z8+/+Pi1L/Y10O/2NeD/9kXg7/Y14P/4WAQ//Y1sT//v7+//////////////////// + //////////////////////////////////////////////7+/v///////v7+///////+/v7///////// + ///+/v7////////////+/v7///////r6+v9TUlL/RURE/0VERP9EQ0P/b25u/7u7u//FxcX//v7+//// + ///+/v7////////////+/v7//v7+/7Owif9jXQ7/ZF4P/2ReD/9kXQ//cGsi/8fFqf/6+vj///////// + ///+/v7////////////+/v7////////////+/v7////////////+/v7///////7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//r6+v9TUlL/REND/0VERP9EQ0P/b25u/7q6 + uv/FxcX//v7+//7+/v/+/v7//v7+//7+/v/+/v7/19bC/2ZgE/9jXg//ZF4O/2ReD/9mYBL/sKyF//Hw + 6v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//// + //////////////////////////////////////////////////////////////r6+v9TUlL/RURE/0VE + RP9FRET/b25u/7u7u//FxcX//v7+///////////////////////w8Oj/dXAp/2NeD/9kXg7/Y14P/2Re + D/+Wkl3/4uHT//7+/v////////////////////////////////////////////////////////////// + //////////////7+/v///////v7+///////+/v7////////////+/v7////////////+/v7///////r6 + +v9TUlL/RURE/0VERP9EQ0P/b25u/7u7u//FxcX//v7+///////+/v7///////z8+v+Pi1P/ZF4P/2Re + D/9kXQ//ZF4P/314Nv/FwqX/7+/n///////+/v7////////////+/v7////////////+/v7///////// + ///+/v7////////////+/v7///////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//r6+v9TUlL/REND/0VERP9EQ0P/b25u/7q6uv/FxcX//v7+//7+/v/+/v7//v7+/7i1 + kv9kXg//ZF4O/2ReD/9jXg//aWMX/7u4lv/Gw6f/zcqx//r6+P/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//////////////////////////////////// + //////////////////////////////r6+v9TUlL/RURE/0VERP9FRET/b25u/7u7u//FxcX//v7+//// + /////////////9TTvf9mYBL/Y14P/2NeD/9kXg7/ZF4Q/6unff/HxKj/x8So/9jWw//+/v7///////// + //////////////////////////////////////////////////////////////7+/v///////v7+//// + ///+/v7////////////+/v7////////////+/v7///////r6+v9TUlL/RURE/0VERP9EQ0P/b25u/7u7 + u//FxcX//v7+///////+/v7///////7+/v+tqoH/ZF4P/2ReD/9kXQ//ZF4P/21nHv+8uZj/x8So/8fE + qP/m5dn//v7+///////+/v7////////////+/v7////////////+/v7////////////+/v7///////7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//r6+v9TUlL/REND/0VE + RP9EQ0P/b25u/7q6uv/FxcX//v7+//7+/v/+/v7//v7+//7+/v/6+vj/h4JF/2ReD/9jXg//ZF4O/2Re + D/+Aejr/xcKl/8bDp//Jxqv/8/Pt//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//////////////////////////////////////////////////////////////////r6 + +v9TUlL/RURE/0VERP9FRET/b25u/7u7u//FxcX//v7+////////////////////////////6eje/21n + Hf9kXg7/Y14P/2NeD/9kXg//mZVh/8fEqP/HxKj/z822//z8+/////////////////////////////// + //////////////////////////////7+/v///////v7+///////+/v7////////////+/v7///////Pz + 8//c3Nz/3Nzc/9nZ2f9RUFD/RURE/0VERP9EQ0P/b25u/7u7u//AwMD/3d3d/93d3f/d3d3/3d3d//Dw + 8P/+/v7//////8jGqv9kXhD/ZF4P/2ReD/9kXQ//ZmAS/7Gth//Hw6j/x8So/9zayf/+/v7///////// + ///+/v7////////////+/v7////////////+/v7///////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+/+np6f+6urr/urq6/7i4uP9OTU3/REND/0VERP9EQ0P/b25u/7q6uv+6urr/urq6/7q6 + uv+6urr/urq6/+Hh4f/+/v7//v7+//7+/f+fm2v/Y10O/2ReD/9jXg//ZF4O/3JsJf/AvZ3/xsOn/8fE + qP/r6uD//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//////////////////// + //////////////////+qqqr/YF9f/15dXf9XVlb/WFdX/1hXV/9GRUX/RURE/0VERP9FRET/TEtL/1lY + WP9ZWFj/WVhY/1lYWP+mpaX/u7u7/+Hh4f/////////////////29fH/fHc1/2NeD/9kXg7/Y14P/2Ne + D/+HgkX/xsOn/8fEqP/Kx63/9/by//////////////////////////////////////////////////7+ + /v///////v7+///////+/v7///////////+cm5v/RURE/0VERP9EQ0P/RURE/0VERP9EQ0P/RURE/0VE + RP9EQ0P/RURE/0VERP9EQ0P/RURE/0VERP+hoaH/u7u7/+Hh4f/+/v7////////////+/v7/4N/P/2hi + Fv9kXQ//ZF4P/2ReD/9kXg//oJxt/8fEqP/Hw6j/0tC6//39/P/+/v7////////////+/v7///////// + ///+/v7///////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v+cm5v/REND/0RDQ/9EQ0P/REND/0VE + RP9EQ0P/REND/0VERP9EQ0P/REND/0VERP9EQ0P/REND/0VERP+hoaH/u7u7/+Li4v/+/v7//v7+//7+ + /v/+/v7//v7+/7q3lP9kXg//ZF4O/2ReD/9jXg//aGIW/7ezj//HxKj/x8So/+Df0P/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//////////////////////////////////////+cm5v/RURE/0VE + RP9FRET/RURE/0VERP9FRET/RURE/0VERP9FRET/RURE/0VERP9FRET/RURE/0VERP/S0tL/+Pj4//z8 + /P////////////////////////////z8+/+RjVX/Y14P/2NeD/9kXg7/Y14P/4B7Ov/08+7/+fn2//r6 + 9//+/v7//////////////////////////////////////////////////v7+///////+/v7///////// + //+0tLT/c3Jy/3Jycv9jYmL/YmFh/2JhYf9iYWH/YmFh/2JhYf9iYWH/YmFh/2JhYf9iYWH/ZGRk/3Jx + cf/h4eH////////////+/v7////////////+/v7////////////w8Oj/j4tS/4qGS/+Khkv/fXk+/4qG + S//Hxan////////////+/v7////////////+/v7////////////+/v7///////7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/39/f/2dnZ/9fX1/+mpqb/o6Ki/6Oiov+joqL/o6Ki/6Ojo/+pqan/uLi4/7q6 + uv+6urr/u7u7/8rKyv/09PT//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//r6 + +v/z8/P/vLy8/+7u7v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//// + ///////////////////////////////////b29v/REND/0RDQ/9EQ0P/REND/0RDQ/9EQ0P/REND/0RD + Q/9FRET/UE9P/3t6ev+xsbH/u7u7/7u7u//BwcH/8/Pz//////////////////////////////////// + ////////8fHx/4iIiP/S0tL/u7u7/8zMzP/+/v7///////////////////////////////////////// + /////////////////////////v7+///////+/v7////////////b29v/RURE/0VERP9EQ0P/RURE/0VE + RP9EQ0P/RURE/0VERP9EQ0P/RURE/0VERP9PTk7/nZ2d/7u7u/+6urr/xcXF//z8/P/+/v7///////// + ///+/v7////////////+/v7/nJyc/0ZFRf+ioaH/u7u7/7u7u//t7e3////////////+/v7///////// + ///+/v7////////////+/v7///////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/b29v/REND/0RD + Q/9EQ0P/REND/0RDQ/9EQ0P/REND/0RDQ/9EQ0P/REND/0RDQ/9EQ0P/SklJ/6Kiov+6urr/urq6/+Dg + 4P/+/v7//v7+//7+/v/+/v7//v7+//7+/v/t7Oz/T05O/0RDQ/9oZ2f/urq6/7q6uv/MzMz//v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//////////////////////////////////// + ///b29v/RURE/0VERP9FRET/SEdH/1tbW/9cW1v/aGdn/2RkZP9JSEj/RURE/0VERP9FRET/RURE/1hX + V/+3t7f/u7u7/8XFxf/+/v7///////////////////////7+/v+ZmJj/RURE/0VERP9GRUX/oaGh/7u7 + u/+7u7v/7e3t/////////////////////////////////////////////////////////////v7+//// + ///+/v7////////////b29v/RURE/0VERP9EQ0P/VlVV/7u7u/+7u7v/+fn5//7+/v/s7Oz/gH9//0VE + RP9EQ0P/RURE/0VERP+NjIz/u7u7/7u7u//z8/P////////////+/v7//////+rq6v9NTEz/RURE/0VE + RP9EQ0P/Z2Zm/7q6uv+6urr/y8vL//7+/v/+/v7////////////+/v7////////////+/v7///////7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/b29v/REND/0RDQ/9EQ0P/VlVV/7q6uv+7u7v/+fn5//7+ + /v/+/v7/+/v7/29vb/9EQ0P/REND/0RDQ/9hYWH/urq6/7q6uv/m5ub//v7+//7+/v/+/v7//v7+/5ST + k/9EQ0P/REND/0RDQ/9EQ0P/RURE/6Ghof+6urr/u7u7/+3t7f/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7//v7+///////////////////////////////////////b29v/RURE/0VERP9FRET/VlVV/7u7 + u/+7u7v/+fn5/////////////////83MzP9FRET/RURE/0VERP9JSEj/tLS0/7u7u//e3t7///////// + ////////6enp/0pJSf9FRET/RURE/0VERP9FRET/RURE/2dmZv+6urr/u7u7/8vLy//+/v7///////// + /////////////////////////////////////////v7+///////+/v7////////////b29v/RURE/0VE + RP9EQ0P/VlVV/7u7u/+7u7v/+fn5///////+/v7///////j4+P9RUFD/RURE/0VERP9EQ0P/pKSk/7u7 + u//a2tr////////////+/v7/j46O/0VERP9EQ0P/RURE/0VERP9EQ0P/RURE/0ZFRf+gn5//u7u7/7u7 + u//s7Oz////////////+/v7////////////+/v7///////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/b29v/REND/0RDQ/9EQ0P/VlVV/7q6uv+7u7v/+fn5//7+/v/+/v7//v7+//7+/v9mZWX/REND/0RD + Q/9EQ0P/mZiY/7q6uv/b29v//v7+//7+/v/k5OT/SklJ/0RDQ/9EQ0P/REND/0dGRv9EQ0P/REND/0RD + Q/9mZWX/urq6/7q6uv/MzMz//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//////////////////// + ///////////////////b29v/RURE/0VERP9FRET/VlVV/7u7u/+7u7v/+fn5//////////////////// + //9vbm7/RURE/0VERP9FRET/lJSU/7u7u//f39////////7+/v+Lior/RURE/0VERP9FRET/SEdH/4yM + jP9FRET/RURE/0VERP9FRUX/n5+f/7u7u/+7u7v/7+/v//////////////////////////////////7+ + /v///////v7+///////+/v7////////////b29v/RURE/0VERP9EQ0P/VlVV/7u7u/+7u7v/+fn5//// + ///+/v7///////7+/v9nZ2f/RURE/0VERP9EQ0P/l5eX/7u7u//o6Oj//////+Hg4P9JSEj/RURE/0VE + RP9EQ0P/dnZ2/76+vv9iYWH/RURE/0VERP9EQ0P/ampq/7q6uv+6urr/zc3N//7+/v/+/v7///////// + ///+/v7///////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/b29v/REND/0RERP9EQ0P/VlVV/7u7 + u/+7u7v/+fn5//7+/v/+/v7//v7+//n4+P9SUVH/REND/0RDQ/9EQ0P/oqGh/7u7u//29vb//v7+/4aF + hf9EQ0P/REND/0RDQ/9JSEj/rKys/97e3v+wsLD/REND/0RDQ/9EQ0P/RkVF/6WkpP+6urr/u7u7/+7u + 7v/+/v7//v7+//7+/v/+/v7//v7+///////////////////////////////////////b29v/RURE/0VE + RP9FRET/VlVV/7u7u/+7u7v/+fn5/////////////////8/Pz/9FRET/RURE/0VERP9HRkb/sbGx/8jI + yP/+/v7/397e/0dGRv9FRET/RURE/0VERP90dHT/v7+///v7+//z8/P/UlFR/0VERP9FRET/RURE/2pp + af+6urr/u7u7/8zMzP/+/v7///////////////////////7+/v///////v7+///////+/v7///////// + ///b29v/RURE/0VERP9EQ0P/VlVV/7u7u/+7u7v/4eHh/+Tk5P/k5OT/4eHh/29ubv9EQ0P/RURE/0VE + RP9cW1v/urq6/+fn5//+/v7/gYGB/0VERP9EQ0P/RURE/0lISP+rq6v/3d3d///////+/v7/l5eX/0VE + RP9EQ0P/RURE/0ZFRf+ioqL/u7u7/7u7u//t7e3////////////+/v7///////7+/v/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/b29v/REND/0RERP9EQ0P/VlVV/7u7u/+6urr/u7u7/7q6uv+wsLD/bWxs/0RD + Q/9EQ0P/REND/0RDQ/+GhYX/zc3N//7+/v/Z2dn/R0ZG/0RDQ/9EQ0P/REND/3Nzc//AwMD/+fn5//7+ + /v/+/v7/5eTk/0dGRv9EQ0P/REND/0RDQ/9oaGj/urq6/7u7u//MzMz//v7+//7+/v/+/v7//v7+//// + ///////////////////////////////////b29v/RURE/0VERP9FRET/SUhI/2RkZP9kZGT/ZGRk/2Bf + X/9KSUn/REND/0VERP9FRET/RURE/1FQUP/BwcH/+fn5//7+/v9+fX3/RURE/0VERP9FRET/R0ZG/6ur + q//c3Nz//v7+/////////////v7+/318fP9FRET/RURE/0VERP9GRUX/oqKi/7u7u/+7u7v/7u7u//// + /////////////////////////v7+///////+/v7////////////b29v/RURE/0VERP9EQ0P/RURE/0VE + RP9EQ0P/RURE/0VERP9EQ0P/RURE/0VERP9EQ0P/SEdH/7i3t//7+/v//////9XV1f9GRUX/RURE/0VE + RP9ERET/cnFx/7+/v//5+fn////////////+/v7//////87Ozv9FRET/RURE/0VERP9ERET/aGho/7q6 + uv+6urr/zs7O//7+/v/+/v7///////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/b29v/REND/0RD + Q/9ERET/REND/0RERP9EQ0P/RERE/0RERP9EQ0P/RERE/0RERP9PTk7/wMDA//7+/v/+/v7//v7+/3h4 + eP9EQ0P/REND/0RDQ/9JSEj/vby8/+Li4v/+/v7//v7+//7+/v/+/v7//v7+//z8/P9mZmb/REND/0RD + Q/9EQ0P/RURE/7Gxsf/Pz8//z8/P//39/f/+/v7//v7+//////////////////////////////////// + ///b29v/RURE/0VERP9FRET/RURE/0VERP9FRET/RURE/0VERP9FRET/TEtL/4qJif/l5eX//v7+//// + ////////09LS/0VERP9FRET/RURE/0VERP+KiYn//v7+//////////////////////////////////// + //+0tLT/RURE/0VERP9FRET/RURE/4WEhP////////////////////////////////////////////// + ///+/v7////////////y8vL/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/729vf/R0dH/9vb2//// + ///+/v7////////////+/v7/19fX/7u7u/+7u7v/u7u7/7u7u//r6+v////////////+/v7///////// + ///+/v7////////////39/f/vLy8/7u7u/+7u7v/u7u7/8fHx//+/v7////////////+/v7///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////7+/v///////v7+///////+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//// + /////////v7+/////////////v7+/////////////v7+/////////////v7+///////+/v7//v7+//// + ///+/v7//v7+///////+/v7//v7+///////+/v7//v7+///////+/v7//v7+///////+/v7//v7+//// + ///+/v7//v7+///////+/v7//v7+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAQAAAAAEA + IAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////// + ////////8/Pz//Dw8P/w8PD/+/v7/////////////////////////////////////////////v7+//Pz + 7f/z8uz/8/Ls//j39P////////////////////////////////////////////////////////////// + ////////+fn5/+vr6/+5ubn/sbGx/7u7u//v7+////////////////////////////////////////j4 + 9f/d28r/vLmY/7y5mP/HxKn/9fTw//////////////////////////////////////////////////// + ///////////////////Ix8f/RURE/0VERP9hYGD/u7u7/+/v7/////////////////////////////// + ///8/Pr/h4NG/2ReD/9kXg//fnk4/+fl2v////////////////////////////////////////////// + /////////////////////////////8jHx/9FRET/RURE/2FgYP+7u7v/7+/v//////////////////// + /////////////6uofv9kXg//ZF4P/2xmHP/OzLT//v7+//////////////////////////////////// + ////////////////////////////////////////yMfH/0VERP9FRET/YWBg/7u7u//v7+////////// + ///////////////////R0Ln/ZF4Q/2ReD/9kXg//sKyF//r6+P////////////////////////////// + ///////////////////////////////////////////////////Ix8f/RURE/0VERP9hYGD/u7u7/+/v + 7///////////////////////7ezk/3BqIf9kXg//ZF4P/4+LU//x8On///////////////////////// + /////////////////////////////////////////////////////////////8jHx/9FRET/RURE/2Fg + YP+7u7v/7+/v//////////////////z8+v+Ig0f/ZF4P/2ReD/92cSz/393O//////////////////// + ////////////////////////////////////////////////////////////////////////yMfH/0VE + RP9FRET/YWBg/7u7u//v7+//////////////////rKl//2ReD/9kXg//aGIV/8TBpP/+/v3///////// + //////////////////////////////////////////////////////////////////////////////// + ///Ix8f/RURE/0VERP9hYGD/u7u7/+/v7////////////9LQuv9lXxD/ZF4P/2ReD/+gnGz/29rI//7+ + /v////////////////////////////////////////////////////////////////////////////// + /////////////8jHx/9FRET/RURE/2FgYP+7u7v/7+/v////////////pKBy/2ReD/9kXg//ZmAT/7q3 + lP/HxKj/6+rh//////////////////////////////////////////////////////////////////// + ////////////////////////yMfH/0VERP9FRET/YWBg/7u7u//v7+/////////////39/P/e3Yz/2Re + D/9kXg//enUx/8XCpf/Kx63/9/fz//////////////////////////////////////////////////// + ///////////////////////////////////Ix8f/RURE/0VERP9hYGD/u7u7/+/v7/////////////// + ///g38//aGIV/2ReD/9kXg//k49Y/8fEqP/T0Lr//f39//////////////////////////////////// + ///////////////////////////////////l5eX/0dHR/6enp/9FRET/RURE/2FgYP+7u7v/zMzM/9LS + 0v/S0tL/8vLy//////+6t5T/ZF4P/2ReD/9kXhD/ramA/8fEqP/h39D///////////////////////// + ///////////////////////////////////8/Pz/lZSU/4WFhf94eHj/aWlp/0VERP9FRET/UVBQ/3l5 + ef95eXn/hoWF/7u7u//r6+v///////7+/f+QjFT/ZF4P/2ReD/9uaB7/vrub/8fEqP/v7+f///////// + //////////////////////////////////////////////v7+/9FRET/RURE/0VERP9FRET/RURE/0VE + RP9FRET/RURE/0VERP9bWlr/u7u7/+vr6/////////////Hw6v9ybSb/ZF4P/2ReD/+BfDz/xsOn/8zJ + sP/6+ff/////////////////////////////////////////////////+/v7/0VERP9FRET/RURE/0VE + RP9FRET/RURE/0VERP9FRET/RURE/2NiYv/k5OT/9/f3/////////////////9TTvf9lXxD/ZF4P/2Nd + D/+ppnv/6Ofc//Pz7f/////////////////////////////////////////////////9/f3/oqGh/5eW + lv9/f3//f39//39/f/9/f3//f39//39/f/+BgID/q6qq/////////////////////////////////8fF + qP+xrof/nJly/7Owi//7+/r///////////////////////////////////////////////////////// + //+IiIj/ZWRk/1xbW/9cW1v/XFtb/11cXP9tbW3/mpqa/7q6uv++vr7/7e3t//////////////////// + ////////+fj4/8PDw/++vr7/4uLi//////////////////////////////////////////////////// + /////////////2tqav9FRET/RURE/0VERP9FRET/RURE/0VERP9FRET/c3Jy/7m5uf+/v7//+fn5//// + //////////////////+tra3/VVRU/7i4uP/CwsL//f39//////////////////////////////////// + ////////////////////////a2pq/0VERP9GRUX/VFNT/1lYWP9VVFT/RURE/0VERP9FRET/g4OD/7u7 + u//c3Nz/////////////////9/f3/1ZVVf9FRET/jYyM/7u7u//i4uL///////////////////////// + //////////////////////////////////9ramr/RURE/1BPT/+7u7v/5eXl//7+/v+9vb3/SEdH/0VE + RP9LSkr/tbW1/8jIyP////////////////+pqKj/RURE/0VERP9UU1P/uLi4/8LCwv/8/Pz///////// + /////////////////////////////////////////////2tqav9FRET/UE9P/7u7u//l5eX///////// + //+RkJD/RURE/0VERP+Wlpb/vb29//7+/v//////9fX1/1NSUv9FRET/RURE/0VERP+MjIz/u7u7/+Li + 4v//////////////////////////////////////////////////////a2pq/0VERP9QT0//u7u7/+Xl + 5f///////////8rJyf9FRET/RURE/4KCgv+7u7v//f39//////+kpKT/RURE/0VERP9FRET/RURE/1NT + U/+4uLj/wsLC//z8/P////////////////////////////////////////////////9ramr/RURE/1BP + T/+7u7v/5eXl////////////3Nzc/0VERP9FRET/enp6/7y8vP/+/v7/8/Pz/1FQUP9FRET/RkVF/2Vl + Zf9FRET/RURE/4yLi/+7u7v/5OTk/////////////////////////////////////////////////2tq + av9FRET/UE9P/7u7u//l5eX////////////U1NT/RURE/0VERP99fX3/xMTE//7+/v+gn5//RURE/0VE + RP9vb2//urq6/0VERP9FRET/VlVV/7m5uf/Dw8P//f39//////////////////////////////////// + ////////a2pq/0VERP9QT0//u7u7/+Xl5f///////////6urq/9FRET/RURE/4yLi//X19f/8PDw/09O + Tv9FRET/RkVF/6qqqv/39/f/d3Z2/0VERP9FRET/jo6O/7u7u//j4+P///////////////////////// + //////////////////9ramr/RURE/1BPT/+7u7v/zMzM/9bW1v/Kysr/V1ZW/0VERP9FRET/qqqq//T0 + 9P+bm5v/RURE/0VERP9ubW3/19fX///////Hx8f/RURE/0VERP9VVFT/uLi4/8LCwv/9/f3///////// + /////////////////////////////2tqav9FRET/SkpK/4GBgf+BgYH/enl5/1BPT/9FRET/RURE/2Zl + Zf/j4+P/7u7u/01MTP9FRET/RkVF/6mpqf/39/f///////39/f9fXl7/RURE/0VERP+NjY3/u7u7/+Pj + 4///////////////////////////////////////a2pq/0VERP9FRET/RURE/0VERP9FRET/RURE/0VE + RP9XVlb/3t7e//////+Xlpb/RURE/0VERP9sbGz/1tbW/////////////////62trf9FRET/RURE/1VU + VP+5ubn/w8PD//7+/v////////////////////////////////9ramr/RURE/0VERP9FRET/RURE/0VE + RP9IR0f/goKC/+rq6v//////6+vr/0tKSv9FRET/RkVF/9jY2P/8/Pz/////////////////9PT0/05N + Tf9FRET/RURE/7S0tP/19fX//v7+/////////////////////////////////9vb2//S0dH/0tHR/9LR + 0f/S0dH/1dXV//Ly8v/////////////////t7e3/0tHR/9LR0f/Y2Nj///////////////////////// + ////////3d3d/9LR0f/S0dH/5ubm//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAGAAAADAA + AAABACAAAAAAAGAJAAAAAAAAAAAAAAAAAAAAAAAA//////7+/v////////////7+/v///////v7+//T0 + 9P/j4+P/5eXl//7+/v/+/v7//v7+///////+/v7//v7+//7+/v/s6+L/6Obb/+vq4f/+/v7//v7+//// + ///+/v7/////////////////////////////////zMvL/4iIiP+DgoL/wMDA//7+/v////////////// + ////////+/r4/6mlev+OiU//oJxs/+zr4v///////////////////////v7+//7+/v/+/v7//v7+//7+ + /v/+/v7/p6am/0RDQ/9aWVn/wMDA//7+/v/+/v7//v7+//7+/v/+/v7/qKV5/2NdDv9oYhb/zsyz//7+ + /v/+/v7//v7+//7+/v/+/v7///////7+/v////////////7+/v//////p6am/0VERP9aWVn/wMDA//7+ + /v/+/v7//v7+///////OzLT/ZF4P/2ReD/+qp3z//Pz7///////+/v7//v7+///////+/v7///////// + ////////////////////////p6am/0VERP9aWVn/wMDA//7+/v///////////+vq4P9uaR//ZF4P/4iD + R//08+7//////////////////////////////////v7+//7+/v/+/v7//v7+//7+/v/+/v7/p6am/0RD + Q/9aWVn/wMDA//7+/v/+/v7/+/v5/4WBQ/9jXQ7/cWsj/+Df0P/+/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/v7///////7+/v////////////7+/v//////p6am/0VERP9aWVn/wMDA//7+/v/+/v7/qqZ7/2Re + D/9lXxH/sa2G/+3s5P/+/v7//v7+///////+/v7//v7+///////+/v7///////////////////////// + ////////p6am/0VERP9aWVn/wMDA//7+/v//////ubeU/2ReD/9kXg//p6N2/8vIrv/4+PX///////// + /////////////////////////v7+//7+/v/+/v7//v7+//7+/v/+/v7/p6am/0RDQ/9aWVn/wMDA//7+ + /v/+/v7//f39/5CMVP9jXQ7/a2UZ/7u3lf/V0r3//v7+//7+/v/+/v7//v7+//7+/v/+/v7///////7+ + /v///////v7+//b29v/Ly8v/jIuL/0VERP9aWVn/vLy8/8zMzP/MzMz/9PT0//Hw6f9zbSb/Y10O/3t2 + M//FwqX/4+HU//7+/v/+/v7//v7+///////+/v7/////////////////0dDQ/1JRUf9OTU3/SklJ/0VE + RP9GRUX/T05O/09OTv+vr6//8PDw///////U0r3/ZV8Q/2ReD/+UkFr/x8Sp//Hw6v////////////// + /////////v7+//7+/v/+/v7/zc3N/0RDQ/9EQ0P/REND/0RDQ/9EQ0P/REND/0RDQ//Kycn/9/f3//7+ + /v/+/v7/q6d9/2NdDv9lXxD/vLmY/+fl2f/+/v7//v7+//7+/v/+/v7///////7+/v//////6urq/6al + pf+Dg4P/goKC/4KCgv+JiYn/jo6O/5eWlv/19fX//v7+///////+/v7/+/v5/8TCpf+urI7/z864//// + ///+/v7//v7+///////+/v7/////////////////7e3t/0RDQ/9EQ0P/REND/0RDQ/9IR0f/cG9v/7Oz + s//Nzc3//v7+/////////////////5eWlv+6urr/3d3d/////////////////////////////v7+//7+ + /v/+/v7/7e3t/0RDQ/9FRET/UE9P/1VUVP9GRUX/REND/2JhYf+6urr/6Ojo//7+/v/+/v7/4eDg/0dG + Rv+CgoL/v7+///r6+v/+/v7//v7+//7+/v/+/v7///////7+/v//////7e3t/0RERP9NTEz/u7u7//z8 + /P/Z2dn/T05O/0VERP+ZmJj/1NTU///////+/v7/hIOD/0VERP9NTEz/tLS0/9zc3P/+/v7//v7+//// + ///+/v7/////////////////7e3t/0VERP9NTEz/u7u7//z8/P//////lpaW/0VERP95eXn/y8vL//// + ///d3d3/RkVF/0VERP9FRET/gYGB/7+/v//6+vr//////////////////v7+//7+/v/+/v7/7e3t/0RD + Q/9NTEz/u7u7//z8/P/+/v7/tbS0/0RDQ/9ubW3/zMzM//7+/v9/f3//REND/1hXV/9FRET/TUxM/7S0 + tP/d3d3//v7+//7+/v/+/v7///////7+/v//////7e3t/0RERP9NTEz/u7u7//z8/P/+/v7/rKys/0VE + RP9xcHD/1dXV/9nZ2f9GRUX/RkVF/7Cvr/9nZmb/REND/4SDg/+/v7//+vr6///////+/v7//v7+//7+ + /v/+/v7/7e3t/0RERP9NTEz/u7u7/+/v7//w8PD/cnFx/0VERP+Eg4P/6+vr/3t6ev9ERET/a2pq/+Xl + 5f+3trb/RERE/05NTf+0tLT/3d3d///////+/v7/////////////////7e3t/0RDQ/9KSUn/j4+P/46O + jv9ramr/RUND/0hHR//Dw8P/1dTU/0VERP9FRET/rq6u//39/f/4+Pj/U1JS/0VDQ/+DgoL/v7+///r6 + +v////////////7+/v//////7e3t/0RERP9FRET/REND/0VERP9EQ0P/R0ZG/7Cvr//+/v7/dnV1/0VE + RP9vbm7/5ubm///////+/v7/nZ2d/0VERP9OTU3/vb29/+bm5v/+/v7//v7+//7+/v/+/v7/8vLy/4B/ + f/+Af3//gH9//4CAgP+WlZX/29vb//7+/v/q6ur/gH9//4B/f//c3Nz//v7+///////+/v7/6urq/4B/ + f/+Af3//0tLS///////+/v7///////////////////////7+/v////////////////////////////// + ////////////////////////////////////////////////////////////////////////AAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAoAAAAEAAAACAAAAABAAQAAAAAAIAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAA - AACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////ALK2ZmpmZmZmuytmKqZm - ZmYRERKqomERFpmZKqqqYZkWmZqqovohmRaZqqohqqGZFpkqopEvoZkWmbIpkbqhmRaZu7mRsvGZFpm7 - mZGxEZkRmZmZG7GZmZmZmZG7sZmZmRERG7uxERERsrKysrIiL6K7u7u7KysqoruysrIiIiIrAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAABAAAAAgAAAAAQAgAAAAAABABAAAAAAAAAAA + AAAAAAAAAAAAAP/////////////////////4+Pj/09PT/+Xl5f/////////////////9/fz/4+HT/9rY + xv/6+vj/////////////////////////////////hoWF/1NSUv/V1dX/////////////////pKFz/2Zg + Ev/MyrH//////////////////////////////////////4aFhf9TUlL/1dXV////////////y8mv/2Re + D/+loXT//f39//////////////////////////////////////+GhYX/U1JS/9XV1f//////6eje/21n + Hf+BfD3/9vby////////////////////////////////////////////hoWF/1NSUv/V1dX//////4+L + U/9kXhD/v7yc//r59////////////////////////////////////////////4aFhf9TUlL/1dXV//// + ///U0r3/ZV8Q/42JT//W1MD//v7+////////////////////////////5OPj/62trf9mZmb/T05O/56e + nv+5ubn/9vb2/6unff9kXg//qKR4/+Xk1////////////////////////////6Cfn/9FRET/RURE/0VE + RP9FRET/l5eX//j4+P/7+/n/hH9A/2tlGv/Jxqv/+vr4///////////////////////Jycn/dnV1/25t + bf9ycnL/lZWV/9XV1f///////////+/u5/+0sp7/5OPZ////////////////////////////tbS0/0VE + RP9NTU3/SUhI/1BPT/+ura3/9PT0//////++vr7/eHd3/9fX1////////////////////////////7W0 + tP9KSUn/0NDQ/+7u7v9YV1f/d3Z2/+Dg4P/8/Pz/YWBg/0hHR/+wsLD/9/f3//////////////////// + //+1tLT/SklJ/9DQ0P//////jIuL/2FhYf/c3Nz/urm5/0VERP9NTEz/d3Z2/9fX1/////////////// + ////////tbS0/0pJSf/Q0ND//////4KBgf9kZGT/4uLi/15dXf9paGj/m5ub/0lISP+xsbH/9/f3//// + /////////////7W0tP9JSEj/oqKi/5qamv9JSEj/jo2N/7Kysv9FRET/ubm5//Dw8P9LSkr/eHd3/9fX + 1/////////////////+1tLT/RURE/0VERP9FRET/goGB//Hx8f9bWlr/dHNz//T09P//////jYyM/0lI + SP/Jycn//v7+////////////9vb2/+jo6P/o6Oj/8fHx///////6+vr/6Ojo//X19f////////////b2 + 9v/o6Oj/+Pj4//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA \ No newline at end of file diff --git a/README.md b/README.md index ab42654..a6a73f9 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ Note that the DVTk library and DVTk based applications are **not** for clinical i. Development tools for .NET ii. .NET Framework 4.8 development tools + iii. .NET Framework 3.5 SP1 (required to build DVTk Script Support) 2. If you want to add or update the setup files of the installers, then in Visual Studio install Visual Studio extension: Microsoft Visual Studio Installer Projects 2022. The installers are created in the build pipeline.