Devolutions.Psign.Format.ps1xml

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
  <ViewDefinitions>

    <!-- Test-PsignModule result: summary list -->
    <View>
      <Name>PsignModuleValidationResult</Name>
      <ViewSelectedBy>
        <TypeName>Devolutions.Psign.PowerShell.Models.PsignModuleValidationResult</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem><PropertyName>ModuleName</PropertyName></ListItem>
              <ListItem><PropertyName>ModulePath</PropertyName></ListItem>
              <ListItem><PropertyName>Policy</PropertyName></ListItem>
              <ListItem><PropertyName>Valid</PropertyName></ListItem>
              <ListItem><PropertyName>Summary</PropertyName></ListItem>
              <ListItem><Label>Passed</Label><PropertyName>PassedCount</PropertyName></ListItem>
              <ListItem><Label>Failed</Label><PropertyName>FailedCount</PropertyName></ListItem>
              <ListItem><Label>Skipped</Label><PropertyName>SkippedCount</PropertyName></ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>

    <!-- Test-PsignModule per-file result table -->
    <View>
      <Name>PsignModuleFileResult</Name>
      <ViewSelectedBy>
        <TypeName>Devolutions.Psign.PowerShell.Models.PsignModuleFileResult</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>File</Label><Width>40</Width></TableColumnHeader>
          <TableColumnHeader><Label>Role</Label><Width>18</Width></TableColumnHeader>
          <TableColumnHeader><Label>Required</Label><Width>8</Width></TableColumnHeader>
          <TableColumnHeader><Label>Status</Label><Width>12</Width></TableColumnHeader>
          <TableColumnHeader><Label>Pass</Label><Width>5</Width></TableColumnHeader>
          <TableColumnHeader><Label>Signer</Label><Width>30</Width></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><PropertyName>RelativePath</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Role</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>RequiredByPolicy</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Status</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Passes</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>SignerSubject</PropertyName></TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Protect-PsignModule result -->
    <View>
      <Name>PsignModuleSigningResult</Name>
      <ViewSelectedBy>
        <TypeName>Devolutions.Psign.PowerShell.Cmdlets.PsignModuleSigningResult</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem><PropertyName>ModuleName</PropertyName></ListItem>
              <ListItem><PropertyName>ModulePath</PropertyName></ListItem>
              <ListItem><Label>Total Files</Label><PropertyName>TotalFiles</PropertyName></ListItem>
              <ListItem><PropertyName>Succeeded</PropertyName></ListItem>
              <ListItem><PropertyName>Failed</PropertyName></ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>

    <!-- Protect-PsignModule per-file sign result -->
    <View>
      <Name>PsignModuleFileSignResult</Name>
      <ViewSelectedBy>
        <TypeName>Devolutions.Psign.PowerShell.Cmdlets.PsignModuleFileSignResult</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>File</Label><Width>40</Width></TableColumnHeader>
          <TableColumnHeader><Label>Role</Label><Width>18</Width></TableColumnHeader>
          <TableColumnHeader><Label>Status</Label><Width>12</Width></TableColumnHeader>
          <TableColumnHeader><Label>OK</Label><Width>5</Width></TableColumnHeader>
          <TableColumnHeader><Label>Error</Label><Width>40</Width></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><PropertyName>RelativePath</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Role</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Status</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Success</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>ErrorMessage</PropertyName></TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Unprotect-PsignSignature result -->
    <View>
      <Name>PsignUnprotectResult</Name>
      <ViewSelectedBy>
        <TypeName>Devolutions.Psign.PowerShell.Cmdlets.PsignUnprotectResult</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>Path</Label><Width>50</Width></TableColumnHeader>
          <TableColumnHeader><Label>Removed</Label><Width>8</Width></TableColumnHeader>
          <TableColumnHeader><Label>Bytes</Label><Width>8</Width></TableColumnHeader>
          <TableColumnHeader><Label>Message</Label><Width>30</Width></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><PropertyName>Path</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>SignatureRemoved</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>BytesRemoved</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>Message</PropertyName></TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Get-PsignSignature / Set-PsignSignature table -->
    <View>
      <Name>PortableSignature_Table</Name>
      <ViewSelectedBy>
        <TypeName>Devolutions.Psign.PowerShell.Models.PortableSignature</TypeName>
      </ViewSelectedBy>
      <TableControl>
        <TableHeaders>
          <TableColumnHeader><Label>Path</Label><Width>40</Width></TableColumnHeader>
          <TableColumnHeader><Label>Status</Label><Width>14</Width></TableColumnHeader>
          <TableColumnHeader><Label>Type</Label><Width>14</Width></TableColumnHeader>
          <TableColumnHeader><Label>Signer</Label><Width>40</Width></TableColumnHeader>
          <TableColumnHeader><Label>Timestamp</Label><Width>20</Width></TableColumnHeader>
        </TableHeaders>
        <TableRowEntries>
          <TableRowEntry>
            <TableColumnItems>
              <TableColumnItem><ScriptBlock>if ($_.SourcePathOrExtension) { $_.SourcePathOrExtension } else { Split-Path $_.Path -Leaf }</ScriptBlock></TableColumnItem>
              <TableColumnItem><PropertyName>Status</PropertyName></TableColumnItem>
              <TableColumnItem><PropertyName>SignatureType</PropertyName></TableColumnItem>
              <TableColumnItem><ScriptBlock>if ($_.SignerCertificate) { $_.SignerCertificate.Subject -replace '^CN=','' -replace ',.*$','' } else { '' }</ScriptBlock></TableColumnItem>
              <TableColumnItem><ScriptBlock>if ($_.TimestampSigningTime) { $_.TimestampSigningTime.ToString('yyyy-MM-dd HH:mm') } else { '' }</ScriptBlock></TableColumnItem>
            </TableColumnItems>
          </TableRowEntry>
        </TableRowEntries>
      </TableControl>
    </View>

    <!-- Get-PsignSignature / Set-PsignSignature detailed list -->
    <View>
      <Name>PortableSignature_List</Name>
      <ViewSelectedBy>
        <TypeName>Devolutions.Psign.PowerShell.Models.PortableSignature</TypeName>
      </ViewSelectedBy>
      <ListControl>
        <ListEntries>
          <ListEntry>
            <ListItems>
              <ListItem><PropertyName>Path</PropertyName></ListItem>
              <ListItem><PropertyName>Status</PropertyName></ListItem>
              <ListItem><PropertyName>StatusMessage</PropertyName></ListItem>
              <ListItem><PropertyName>SignatureType</PropertyName></ListItem>
              <ListItem><Label>Format</Label><PropertyName>Format</PropertyName></ListItem>
              <ListItem><Label>SignerCertificate</Label><ScriptBlock>if ($_.SignerCertificate) { "[Subject]`n $($_.SignerCertificate.Subject)`n[Issuer]`n $($_.SignerCertificate.Issuer)`n[Thumbprint]`n $($_.SignerCertificate.Thumbprint)`n[Not Before]`n $($_.SignerCertificate.NotBefore)`n[Not After]`n $($_.SignerCertificate.NotAfter)" }</ScriptBlock></ListItem>
              <ListItem><Label>TimeStamperCertificate</Label><ScriptBlock>if ($_.TimeStamperCertificate) { "[Subject]`n $($_.TimeStamperCertificate.Subject)" }</ScriptBlock></ListItem>
              <ListItem><PropertyName>TimestampSigningTime</PropertyName></ListItem>
              <ListItem><PropertyName>DigestAlgorithm</PropertyName></ListItem>
              <ListItem><PropertyName>SignatureCount</PropertyName></ListItem>
              <ListItem><PropertyName>EmbeddedCertificateCount</PropertyName></ListItem>
              <ListItem><Label>TrustStatus</Label><PropertyName>PortableTrustStatus</PropertyName></ListItem>
              <ListItem><PropertyName>IsOSBinary</PropertyName></ListItem>
              <ListItem><PropertyName>SubjectAlternativeName</PropertyName></ListItem>
              <ListItem><Label>Diagnostics</Label><ScriptBlock>if ($_.PortableDiagnostics.Count -gt 0) { $_.PortableDiagnostics -join "`n" }</ScriptBlock></ListItem>
            </ListItems>
          </ListEntry>
        </ListEntries>
      </ListControl>
    </View>

  </ViewDefinitions>
</Configuration>
 
<!-- SIG # Begin signature block -->
<!-- MIIiuQYJKoZIhvcNAQcCoIIiqjCCIqYCAQExDTALBglghkgBZQMEAgEwdwYKKwYB -->
<!-- BAGCNwIBBKBpMGcwNAYKKwYBBAGCNwIBHjAmAgMBAAAEEB/MO2BZSwhOtyTSxil+ -->
<!-- 81ECAQACAQACAQACAQACAQAwLzALBglghkgBZQMEAgEEIANSgi1t1xiExz6FmZ+b -->
<!-- gOqw7dK2OBbJp/Yiy7d5zFIyoIIHtTCCB7EwggWZoAMCAQICDHPTwzYD/4u0QiTy -->
<!-- XjANBgkqhkiG9w0BAQsFADBcMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFs -->
<!-- U2lnbiBudi1zYTEyMDAGA1UEAxMpR2xvYmFsU2lnbiBHQ0MgUjQ1IEVWIENvZGVT -->
<!-- aWduaW5nIENBIDIwMjAwHhcNMjMxMDMwMTc1MTE4WhcNMjYxMDMwMTc1MTE4WjCB -->
<!-- 8TEdMBsGA1UEDwwUUHJpdmF0ZSBPcmdhbml6YXRpb24xEzARBgNVBAUTCjExNjI1 -->
<!-- NDQ2ODkxEzARBgsrBgEEAYI3PAIBAxMCQ0ExFzAVBgsrBgEEAYI3PAIBAhMGUXVl -->
<!-- YmVjMQswCQYDVQQGEwJDQTEPMA0GA1UECBMGUXVlYmVjMRIwEAYDVQQHEwlMYXZh -->
<!-- bHRyaWUxGDAWBgNVBAoTD0Rldm9sdXRpb25zIEluYzEYMBYGA1UEAxMPRGV2b2x1 -->
<!-- dGlvbnMgSW5jMScwJQYJKoZIhvcNAQkBFhhzZWN1cml0eUBkZXZvbHV0aW9ucy5u -->
<!-- ZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCfDk6c1eCL9rTvq1D1 -->
<!-- lq1GmU08ZKyYQJQ7Eb/mRFpRXqpOFiySnf8BysYbZ4y4MnIl7M2Wjc5n1JcXR9BP -->
<!-- WmkJLnI7rFTwpq/O5xKUwW20/EYyOuF7TasRq6olljm73dcLjrt5z/a2u2gO+vMS -->
<!-- 8LVY6UXKAGZGIigMoPS92f2MkkKmdEmA5dpwbALUfvH9sy0qknUfQY6dslpI8Pbj -->
<!-- TCx9GY5xqCTMtBQcWB5sBn/I0YAlp5yuOn+2ga4vUcucAZTVseoRI/Jsn5KWWb0i -->
<!-- M9wrbv+DOCzcAtBF+Yj2Kp8wHRWfMCumu4YuYcwTY3hbIuNRoUi8j4nLptjGaz7R -->
<!-- 3UfAr4b/rH4Vg8/l9ufP61Z7bpSkZbIlnh3Gjy9UJCjw5wguQucnllSbNNg5ZBd7 -->
<!-- v3DRUKwKvzF9TYoOERwGdeY8uS4fnSYP7XuGF9b+coZ/D5guGaebiJJEodRJkGdi -->
<!-- P5P+6jLO43dzgmB4hmWbuF5wofRYXd1ihFOf4aBH2qzHnFkDvp5zeclMlgoLuxJV -->
<!-- b4mU36Z84KnJuT7fPThK9RbNEoqPPzd1BYcCcRmVaLCYHw+6AgmVXm3bgCsv4zM/ -->
<!-- DqkycfPX11sBXedYdTJ4tihtFo1eRqfQsXEivN+XYwUIJ/EdfHUmaHU+7eYhgSPV -->
<!-- ynPm9Fq1mAAC3KqH+6RtIpEmpQIDAQABo4IB2zCCAdcwDgYDVR0PAQH/BAQDAgeA -->
<!-- MIGfBggrBgEFBQcBAQSBkjCBjzBMBggrBgEFBQcwAoZAaHR0cDovL3NlY3VyZS5n -->
<!-- bG9iYWxzaWduLmNvbS9jYWNlcnQvZ3NnY2NyNDVldmNvZGVzaWduY2EyMDIwLmNy -->
<!-- dDA/BggrBgEFBQcwAYYzaHR0cDovL29jc3AuZ2xvYmFsc2lnbi5jb20vZ3NnY2Ny -->
<!-- NDVldmNvZGVzaWduY2EyMDIwMFUGA1UdIAROMEwwQQYJKwYBBAGgMgECMDQwMgYI -->
<!-- KwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkv -->
<!-- MAcGBWeBDAEDMAkGA1UdEwQCMAAwRwYDVR0fBEAwPjA8oDqgOIY2aHR0cDovL2Ny -->
<!-- bC5nbG9iYWxzaWduLmNvbS9nc2djY3I0NWV2Y29kZXNpZ25jYTIwMjAuY3JsMCMG -->
<!-- A1UdEQQcMBqBGHNlY3VyaXR5QGRldm9sdXRpb25zLm5ldDATBgNVHSUEDDAKBggr -->
<!-- BgEFBQcDAzAfBgNVHSMEGDAWgBQlndD8WQmGY8Xs87ETO1ccA5I2ETAdBgNVHQ4E -->
<!-- FgQU+cpn+IPqWRnE5rHeI+bO8b/X89owDQYJKoZIhvcNAQELBQADggIBABr7ukUZ -->
<!-- YHuRYKb0JdoVh9Lwngn45m/BBg90jTL5CF6ZP4xYB2kaKN366sfAbvmKThbgfcIv -->
<!-- N26NjS1/cFXad5af6s5OzGUic+mAFZOhbpX81GedsAnxl1D4BKJs2+iWh/eK2vba -->
<!-- /K3J5V2Z7S7YFgHqF0vlmDtNxnBQ8jsI30zrbcuYJowft8WLjfW4hr0SdAIk2F4X -->
<!-- 1CTGhtJVMuPcxyUuvrmknp1g2y99jc5eXA6qp0CiUbFC1R3C1kpZYT4sxiu86B3k -->
<!-- bY6JqTO2f08tjvpih36UeFCC/ByZBzb1D8FFIaKiErjlDHVMIBCY1XrEEDEJpIyM -->
<!-- RyobXsIuisyn4TpK8JqRb0C0opDzvE8BlKvqlqmHfafbOUXFH5gz/F9aiJAMfHyh -->
<!-- 4ddUg9nFcF+YKWKp8hpdaIW+5ptlsC2LSS5tztMUXRisUf/zCTeLQ2MAXc7Vl0sc -->
<!-- 8ZD9Uqb9wm+tmK3ZGvnDKCikwE8YU+y96ogFUybGcEWXUYk3QvuXKeS09/v6QOwb -->
<!-- gY3o5EkrNQyPUugI2HsyWtmLhTdDM/Pnj+O2NDNkPXvGiss2b0O8yUMVkh9C0HG4 -->
<!-- WS3L/ExoM1keN1Yd54FaFhk1zQv3KQaC7MJU8uZrmrIJLPNdEPGKiFfI8CLIV/04 -->
<!-- jAIrR+A4SDaCpDTz+XDZF7kP42KGybJiSD1qMYIaXjCCGloCAQEwbDBcMQswCQYD -->
<!-- VQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEyMDAGA1UEAxMpR2xv -->
<!-- YmFsU2lnbiBHQ0MgUjQ1IEVWIENvZGVTaWduaW5nIENBIDIwMjACDHPTwzYD/4u0 -->
<!-- QiTyXjALBglghkgBZQMEAgGgTDAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAv -->
<!-- BgkqhkiG9w0BCQQxIgQgJzMdSL6kD8v55pfy7/6JhUcwEnJU2hFrXxUt6SsgO/8w -->
<!-- DQYJKoZIhvcNAQELBQAEggIAAg1NnPic99IUiW0SwT8Vx85/pLVIrXJzbjZEYu02 -->
<!-- YB+8uGHT0IywQ7N9SAdf++/8CRNi6BflONV5nMLjyDDQEf48TO9IhBirD0cFF9LU -->
<!-- yLwnVL+kqCfdoBxf0FY9HkNcvQ434meagv6D7GGAAg/3g6vvfsd81SSATsGjNkx4 -->
<!-- 3EjHJuscT2OJa12MrKR/l2Fbm/+7WWVLWwIgSoMrV8G1bMSnD8ckde1BbGXX3+VS -->
<!-- Qu8diBfbQNUDkSV4MGfvpnBGgEnf0ZSe6DneVR8W/I1uHPr1lhnvzIQwya37st69 -->
<!-- 2lGR4bA9eJodFlIMS7yKybBEujHGtwoF1c3ljMNVSJtfaW+MVn9OhnISxQwxcYtM -->
<!-- vYoR56sfgn7ARKD52BPEZ06UYCgrvhFFdlhYDRnqfN5zF4VqCv97hg+3tOp4U3Ew -->
<!-- 0Dm1m996OPKQown/4ncr5hz/YtTdG7QiFkXc3WT2c3/ojOLyLjI9e7YNlhiIoTtK -->
<!-- HkRXFqpMwQEV/1YU60KnBYmLSAfUOEh50sogGPNYsiLLNJGYpMugCSd3l6lPaad/ -->
<!-- W0/TlV0y2vYkPMH7Vds14aRIEA7JoH+4B5T6TmPiqXaTwRk5V5PVk1mAD9ofUcFa -->
<!-- oK8ZP92KxzuDZfn6OTw+fb3mcsk4snNiQ1oBatNncdRrs3zpaKgeWiBXNzh/z5k5 -->
<!-- 4rGhghd3MIIXcwYKKwYBBAGCNwMDATGCF2MwghdfBgkqhkiG9w0BBwKgghdQMIIX -->
<!-- TAIBAzEPMA0GCWCGSAFlAwQCAQUAMHgGCyqGSIb3DQEJEAEEoGkEZzBlAgEBBglg -->
<!-- hkgBhv1sBwEwMTANBglghkgBZQMEAgEFAAQg+hRxIDya1Od3Ojt+8FRXFyIg/ByV -->
<!-- dskn6aMhKuAkzv4CEQDZxZCAUBIdNMkPOJ58vRFPGA8yMDI2MDUyNTE4MTMzOFqg -->
<!-- ghM6MIIG7TCCBNWgAwIBAgIQCoDvGEuN8QWC0cR2p5V0aDANBgkqhkiG9w0BAQsF -->
<!-- ADBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNV -->
<!-- BAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgVGltZVN0YW1waW5nIFJTQTQwOTYgU0hB -->
<!-- MjU2IDIwMjUgQ0ExMB4XDTI1MDYwNDAwMDAwMFoXDTM2MDkwMzIzNTk1OVowYzEL -->
<!-- MAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMTswOQYDVQQDEzJE -->
<!-- aWdpQ2VydCBTSEEyNTYgUlNBNDA5NiBUaW1lc3RhbXAgUmVzcG9uZGVyIDIwMjUg -->
<!-- MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANBGrC0Sxp7Q6q5gVrMr -->
<!-- V7pvUf+GcAoB38o3zBlCMGMyqJnfFNZx+wvA69HFTBdwbHwBSOeLpvPnZ8ZN+vo8 -->
<!-- dE2/pPvOx/Vj8TchTySA2R4QKpVD7dvNZh6wW2R6kSu9RJt/4QhguSssp3qome7M -->
<!-- rxVyfQO9sMx6ZAWjFDYOzDi8SOhPUWlLnh00Cll8pjrUcCV3K3E0zz09ldQ//nBZ -->
<!-- ZREr4h/GI6Dxb2UoyrN0ijtUDVHRXdmncOOMA3CoB/iUSROUINDT98oksouTMYFO -->
<!-- nHoRh6+86Ltc5zjPKHW5KqCvpSduSwhwUmotuQhcg9tw2YD3w6ySSSu+3qU8DD+n -->
<!-- igNJFmt6LAHvH3KSuNLoZLc1Hf2JNMVL4Q1OpbybpMe46YceNA0LfNsnqcnpJeIt -->
<!-- K/DhKbPxTTuGoX7wJNdoRORVbPR1VVnDuSeHVZlc4seAO+6d2sC26/PQPdP51ho1 -->
<!-- zBp+xUIZkpSFA8vWdoUoHLWnqWU3dCCyFG1roSrgHjSHlq8xymLnjCbSLZ49kPmk -->
<!-- 8iyyizNDIXj//cOgrY7rlRyTlaCCfw7aSUROwnu7zER6EaJ+AliL7ojTdS5PWPsW -->
<!-- eupWs7NpChUk555K096V1hE0yZIXe+giAwW00aHzrDchIc2bQhpp0IoKRR7YufAk -->
<!-- prxMiXAJQ1XCmnCfgPf8+3mnAgMBAAGjggGVMIIBkTAMBgNVHRMBAf8EAjAAMB0G -->
<!-- A1UdDgQWBBTkO/zyMe39/dfzkXFjGVBDz2GM6DAfBgNVHSMEGDAWgBTvb1NK6eQG -->
<!-- fHrK4pBW9i/USezLTjAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAwwCgYIKwYB -->
<!-- BQUHAwgwgZUGCCsGAQUFBwEBBIGIMIGFMCQGCCsGAQUFBzABhhhodHRwOi8vb2Nz -->
<!-- cC5kaWdpY2VydC5jb20wXQYIKwYBBQUHMAKGUWh0dHA6Ly9jYWNlcnRzLmRpZ2lj -->
<!-- ZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNFRpbWVTdGFtcGluZ1JTQTQwOTZTSEEy -->
<!-- NTYyMDI1Q0ExLmNydDBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vY3JsMy5kaWdp -->
<!-- Y2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRUaW1lU3RhbXBpbmdSU0E0MDk2U0hB -->
<!-- MjU2MjAyNUNBMS5jcmwwIAYDVR0gBBkwFzAIBgZngQwBBAIwCwYJYIZIAYb9bAcB -->
<!-- MA0GCSqGSIb3DQEBCwUAA4ICAQBlKq3xHCcEua5gQezRCESeY0ByIfjk9iJP2zWL -->
<!-- pQq1b4URGnwWBdEZD9gBq9fNaNmFj6Eh8/YmRDfxT7C0k8FUFqNh+tshgb4O6Lgj -->
<!-- g8K8elC4+oWCqnU/ML9lFfim8/9yJmZSe2F8AQ/UdKFOtj7YMTmqPO9mzskgiC3Q -->
<!-- YIUP2S3HQvHG1FDu+WUqW4daIqToXFE/JQ/EABgfZXLWU0ziTN6R3ygQBHMUBaB5 -->
<!-- bdrPbF6MRYs03h4obEMnxYOX8VBRKe1uNnzQVTeLni2nHkX/QqvXnNb+YkDFkxUG -->
<!-- tMTaiLR9wjxUxu2hECZpqyU1d0IbX6Wq8/gVutDojBIFeRlqAcuEVT0cKsb+zJNE -->
<!-- suEB7O7/cuvTQasnM9AWcIQfVjnzrvwiCZ85EE8LUkqRhoS3Y50OHgaY7T/lwd6U -->
<!-- Arb+BOVAkg2oOvol/DJgddJ35XTxfUlQ+8Hggt8l2Yv7roancJIFcbojBcxlRcGG -->
<!-- 0LIhp6GvReQGgMgYxQbV1S3CrWqZzBt1R9xJgKf47CdxVRd/ndUlQ05oxYy2zRWV -->
<!-- FjF7mcr4C34Mj3ocCVccAvlKV9jEnstrniLvUxxVZE/rptb7IRE2lskKPIJgbaP5 -->
<!-- t2nGj/ULLi49xTcBZU8atufk+EMF/cWuiC7POGT75qaL6vdCvHlshtjdNXOCIUjs -->
<!-- arfNZzCCBrQwggScoAMCAQICEA3HrFcF/yGZLkBDIgw6SYYwDQYJKoZIhvcNAQEL -->
<!-- BQAwYjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UE -->
<!-- CxMQd3d3LmRpZ2ljZXJ0LmNvbTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1c3RlZCBS -->
<!-- b290IEc0MB4XDTI1MDUwNzAwMDAwMFoXDTM4MDExNDIzNTk1OVowaTELMAkGA1UE -->
<!-- BhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2Vy -->
<!-- dCBUcnVzdGVkIEc0IFRpbWVTdGFtcGluZyBSU0E0MDk2IFNIQTI1NiAyMDI1IENB -->
<!-- MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALR4MdMKmEFyvjxGwBys -->
<!-- ddujRmh0tFEXnU2tjQ2UtZmWgyxU7UNqEY81FzJsQqr5G7A6c+Gh/qm8Xi4aPCOo -->
<!-- 2N8S9SLrC6Kbltqn7SWCWgzbNfiR+2fkHUiljNOqnIVD/gG3SYDEAd4dg2dDGpeZ -->
<!-- GKe+42DFUF0mR/vtLa4+gKPsYfwEu7EEbkC9+0F2w4QJLVSTEG8yAR2CQWIM1iI5 -->
<!-- PHg62IVwxKSpO0XaF9DPfNBKS7Zazch8NF5vp7eaZ2CVNxpqumzTCNSOxm+SAWSu -->
<!-- Ir21Qomb+zzQWKhxKTVVgtmUPAW35xUUFREmDrMxSNlr/NsJyUXzdtFUUt4aS4CE -->
<!-- eIY8y9IaaGBpPNXKFifinT7zL2gdFpBP9qh8SdLnEut/GcalNeJQ55IuwnKCgs+n -->
<!-- rpuQNfVmUB5KlCX3ZA4x5HHKS+rqBvKWxdCyQEEGcbLe1b8Aw4wJkhU1JrPsFfxW -->
<!-- 1gaou30yZ46t4Y9F20HHfIY4/6vHespYMQmUiote8ladjS/nJ0+k6MvqzfpzPDOy -->
<!-- 5y6gqztiT96Fv/9bH7mQyogxG9QEPHrPV6/7umw052AkyiLA6tQbZl1KhBtTasyS -->
<!-- kuJDpsZGKdlsjg4u70EwgWbVRSX1Wd4+zoFpp4Ra+MlKM2baoD6x0VR4RjSpWM8o -->
<!-- 5a6D8bpfm4CLKczsG7ZrIGNTAgMBAAGjggFdMIIBWTASBgNVHRMBAf8ECDAGAQH/ -->
<!-- AgEAMB0GA1UdDgQWBBTvb1NK6eQGfHrK4pBW9i/USezLTjAfBgNVHSMEGDAWgBTs -->
<!-- 1+OC0nFdZEzfLmc/57qYrhwPTzAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYI -->
<!-- KwYBBQUHAwgwdwYIKwYBBQUHAQEEazBpMCQGCCsGAQUFBzABhhhodHRwOi8vb2Nz -->
<!-- cC5kaWdpY2VydC5jb20wQQYIKwYBBQUHMAKGNWh0dHA6Ly9jYWNlcnRzLmRpZ2lj -->
<!-- ZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRSb290RzQuY3J0MEMGA1UdHwQ8MDowOKA2 -->
<!-- oDSGMmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRSb290 -->
<!-- RzQuY3JsMCAGA1UdIAQZMBcwCAYGZ4EMAQQCMAsGCWCGSAGG/WwHATANBgkqhkiG -->
<!-- 9w0BAQsFAAOCAgEAF877FoAc/gc9EXZxML2+C8i1NKZ/zdCHxYgaMH9Pw5tcBnPw -->
<!-- 6O6FTGNpoV2V4wzSUGvI9NAzaoQk97frPBtIj+ZLzdp+yXdhOP4hCFATuNT+ReOP -->
<!-- K0mCefSG+tXqGpYZ3essBS3q8nL2UwM+NMvEuBd/2vmdYxDCvwzJv2sRUoKEfJ+n -->
<!-- N57mQfQXwcAEGCvRR2qKtntujB71WPYAgwPyWLKu6RnaID/B0ba2H3LUiwDRAXx1 -->
<!-- Neq9ydOal95CHfmTnM4I+ZI2rVQfjXQA1WSjjf4J2a7jLzWGNqNX+DF0SQzHU0pT -->
<!-- i4dBwp9nEC8EAqoxW6q17r0z0noDjs6+BFo+z7bKSBwZXTRNivYuve3L2oiKNqet -->
<!-- RHdqfMTCW/NmKLJ9M+MtucVGyOxiDf06VXxyKkOirv6o02OoXN4bFzK0vlNMsvhl -->
<!-- qgF2puE6FndlENSmE+9JGYxOGLS/D284NHNboDGcmWXfwXRy4kbu4QFhOm0xJuF2 -->
<!-- EZAOk5eCkhSxZON3rGlHqhpB/8MluDezooIs8CVnrpHMiD2wL40mm53+/j7tFaxY -->
<!-- KIqL0Q4ssd8xHZnIn/7GELH3IdvG2XlM9q7WP/UwgOkw/HQtyRN62JK4S1C8uw3P -->
<!-- dBunvAZapsiI5YKdvlarEvf8EA+8hcpSM9LHJmyrxaFtoza2zNaQ9k+5t1wwggWN -->
<!-- MIIEdaADAgECAhAOmxiO+dAt5+/bUOIIQBhaMA0GCSqGSIb3DQEBDAUAMGUxCzAJ -->
<!-- BgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k -->
<!-- aWdpY2VydC5jb20xJDAiBgNVBAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBD -->
<!-- QTAeFw0yMjA4MDEwMDAwMDBaFw0zMTExMDkyMzU5NTlaMGIxCzAJBgNVBAYTAlVT -->
<!-- MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j -->
<!-- b20xITAfBgNVBAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDCCAiIwDQYJKoZI -->
<!-- hvcNAQEBBQADggIPADCCAgoCggIBAL/mkHNo3rvkXUo8MCIwaTPswqclLskhPfKK -->
<!-- 2FnC4SmnPVirdprNrnsbhA3EMB/zG6Q4FutWxpdtHauyefLKEdLkX9YFPFIPUh/G -->
<!-- nhWlfr6fqVcWWVVyr2iTcMKyunWZanMylNEQRBAu34LzB4TmdDttceItDBvuINXJ -->
<!-- IB1jKS3O7F5OyJP4IWGbNOsFxl7sWxq868nPzaw0QF+xembud8hIqGZXV59UWI4M -->
<!-- K7dPpzDZVu7Ke13jrclPXuU15zHL2pNe3I6PgNq2kZhAkHnDeMe2scS1ahg4AxCN -->
<!-- 2NQ3pC4FfYj1gj4QkXCrVYJBMtfbBHMqbpEBfCFM1LyuGwN1XXhm2ToxRJozQL8I -->
<!-- 11pJpMLmqaBn3aQnvKFPObURWBf3JFxGj2T3wWmIdph2PVldQnaHiZdpekjw4KIS -->
<!-- G2aadMreSx7nDmOu5tTvkpI6nj3cAORFJYm2mkQZK37AlLTSYW3rM9nF30sEAMx9 -->
<!-- HJXDj/chsrIRt7t/8tWMcCxBYKqxYxhElRp2Yn72gLD76GSmM9GJB+G9t+ZDpBi4 -->
<!-- pncB4Q+UDCEdslQpJYls5Q5SUUd0viastkF13nqsX40/ybzTQRESW+UQUOsxxcpy -->
<!-- FiIJ33xMdT9j7CFfxCBRa2+xq4aLT8LWRV+dIPyhHsXAj6KxfgommfXkaS+YHS31 -->
<!-- 2amyHeUbAgMBAAGjggE6MIIBNjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTs -->
<!-- 1+OC0nFdZEzfLmc/57qYrhwPTzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd -->
<!-- 823IDzAOBgNVHQ8BAf8EBAMCAYYweQYIKwYBBQUHAQEEbTBrMCQGCCsGAQUFBzAB -->
<!-- hhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQwYIKwYBBQUHMAKGN2h0dHA6Ly9j -->
<!-- YWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcnQw -->
<!-- RQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lD -->
<!-- ZXJ0QXNzdXJlZElEUm9vdENBLmNybDARBgNVHSAECjAIMAYGBFUdIAAwDQYJKoZI -->
<!-- hvcNAQEMBQADggEBAHCgv0NcVec4X6CjdBs9thbX979XB72arKGHLOyFXqkauyL4 -->
<!-- hxppVCLtpIh3bb0aFPQTSnovLbc47/T/gLn4offyct4kvFIDyE7QKt76LVbP+fT3 -->
<!-- rDB6mouyXtTP0UNEm0Mh65ZyoUi0mcudT6cGAxN3J0TU53/oWajwvy8LpunyNDzs -->
<!-- 9wPHh6jSTEAZNUZqaVSwuKFWjuyk1T3osdz9HNj0d1pcVIxv76FQPfx2CWiEn2/K -->
<!-- 2yCNNWAcAgPLILCsWKAOQGPFmCLBsln1VWvPJ6tsds5vIy30fnFqI2si/xK4VC0n -->
<!-- ftg62fC2h5b9W9FcrBjDTZ9ztwGpn1eqXijiuZQxggN8MIIDeAIBATB9MGkxCzAJ -->
<!-- BgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UEAxM4RGln -->
<!-- aUNlcnQgVHJ1c3RlZCBHNCBUaW1lU3RhbXBpbmcgUlNBNDA5NiBTSEEyNTYgMjAy -->
<!-- NSBDQTECEAqA7xhLjfEFgtHEdqeVdGgwDQYJYIZIAWUDBAIBBQCggdEwGgYJKoZI -->
<!-- hvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yNjA1MjUxODEz -->
<!-- MzhaMCsGCyqGSIb3DQEJEAIMMRwwGjAYMBYEFN1iMKyGCi0wa9o4sWh5UjAH+0F+ -->
<!-- MC8GCSqGSIb3DQEJBDEiBCCtVgnn/vItxl6bvdpHtxI0RDp+J4+s9CvyqZjmoJYL -->
<!-- eDA3BgsqhkiG9w0BCRACLzEoMCYwJDAiBCBKoD+iLNdchMVck4+CjmdrnK7Ksz/j -->
<!-- bSaaozTxRhEKMzANBgkqhkiG9w0BAQEFAASCAgABWo0mIX9JJkDmHvgkYUTo0JHf -->
<!-- CW682x4kclF1zu0cwlg6cZuIggCKtmhjeyGOcRjpHTgGNsXm+J9LT+5ZT6aejP8f -->
<!-- eu1iDP/Gm18nr0LC5M+lj/FkPvOvxruFtEKUdz0Sllz35M8RbWLr7+VC/Hk7umb8 -->
<!-- uCzD2M3qtsSz3DsJqbvWJ64MV8T9FHM2sdgClaB0uBKhvMCMDUVV29DPWfd13yce -->
<!-- 7ZJwhhiLkuSUeQQyFwj/1rdfnp+n10P/2ZRzJ6gr8jJBlu6cttKPq9j5/LIYOUjw -->
<!-- O9xEk7x3uAIKzqGqwvvsvrWH7c5wDP28mWKPaQldjSFb2Ry75OXNwMFlisFHIAZ7 -->
<!-- 4986r3ch2HcI/3W3YjcP9Ttcq795IbqE8pPHbMPzEn61RgKZNXE4UwYNhqk5UFVZ -->
<!-- 8zb9U/6/h0Fdml3VACvbF/7eZJWDl09FQ6+7sGQ1NOVM2QA2Jt4ogorYrdUkf3mG -->
<!-- Q2xkaHFSCfMnSZpcJ5HbnG8wfIP8ETTrI0wP3009DmxCGytD6Gyg447B5ZIPGrTG -->
<!-- Clrw2GalDReUKgUW+72NtlRJlKS7y0OBEeOzngJLlHQppXZfn00+46kf95O3cCdQ -->
<!-- U9xz7UtDMRcDWEZiEvotZzB/S3RZepMQPJe9qT5V09529X/NcAzwgoFoiHwQTirb -->
<!-- KjzJyCjGJNY0AuO/AQ== -->
<!-- SIG # End signature block -->