Set-StrictMode -Version Latest InModuleScope Pester { Describe "PesterThrow" { It "returns true if the statement throws an exception" { Test-PositiveAssertion (PesterThrow { throw }) } It "returns false if the statement does not throw an exception" { Test-NegativeAssertion (PesterThrow { 1 + 1 }) } It "returns true if the statement throws an exception and the actual error text matches the expected error text" { $expectedErrorMessage = "expected error message" Test-PositiveAssertion (PesterThrow { throw $expectedErrorMessage } $expectedErrorMessage) } It "returns false if the statement throws an exception and the actual error does not match the expected error text" { $unexpectedErrorMessage = "unexpected error message" $expectedErrorMessage = "some expected error message" Test-NegativeAssertion (PesterThrow { throw $unexpectedErrorMessage} $expectedErrorMessage) } It "returns true if the statement throws an exception and the actual error text matches the expected error pattern" { Test-PositiveAssertion (PesterThrow { throw "expected error"} "error") } } Describe "Get-DoMessagesMatch" { It "returns true if the actual message is the same as the expected message" { $expectedErrorMessage = "expected" $actualErrorMesage = "expected" $result = Get-DoMessagesMatch $actualErrorMesage $expectedErrorMessage $result | Should Be $True } It "returns false if the actual message is not the same as the expected message" { $expectedErrorMessage = "some expected message" $actualErrorMesage = "unexpected" $result = Get-DoMessagesMatch $actualErrorMesage $expectedErrorMessage $result | Should Be $False } It "returns false is there's no expectation" { $result = Get-DoMessagesMatch "" "" $result | Should Be $False } It "returns true if the expected error is contained in the actual message" { $actualErrorMesage = "this is a long error message" $expectedText = "long error" $result = Get-DoMessagesMatch $actualErrorMesage $expectedText $result | Should Be $True } } Describe 'PesterThrowFailureMessage' { $testScriptPath = Join-Path $TestDrive.FullName test.ps1 It 'returns false if the actual message is not the same as the expected message' { $unexpectedErrorMessage = 'unexpected' $expectedErrorMessage = 'some expected message' Set-Content -Path $testScriptPath -Value "throw '$unexpectedErrorMessage'" PesterThrow { & $testScriptPath } $expectedErrorMessage > $null $result = PesterThrowFailureMessage $unexpectedErrorMessage $expectedErrorMessage $result | Should Match "^Expected: the expression to throw an exception with message {$expectedErrorMessage}, an exception was raised, message was {$unexpectedErrorMessage}`n from $([RegEx]::Escape($testScriptPath)):\d+ char:\d+" } It 'returns true if the actual message is the same as the expected message' { PesterThrow { } > $null $result = PesterThrowFailureMessage 'error message' $result | Should Be 'Expected: the expression to throw an exception' } } Describe 'NotPesterThrowFailureMessage' { $testScriptPath = Join-Path $TestDrive.FullName test.ps1 It 'returns false if the actual message is not the same as the expected message' { $unexpectedErrorMessage = 'unexpected' $expectedErrorMessage = 'some expected message' Set-Content -Path $testScriptPath -Value "throw '$unexpectedErrorMessage'" PesterThrow { & $testScriptPath } $expectedErrorMessage > $null $result = NotPesterThrowFailureMessage $unexpectedErrorMessage $expectedErrorMessage $result | Should Match "^Expected: the expression not to throw an exception with message {$expectedErrorMessage}, an exception was raised, message was {$unexpectedErrorMessage}`n from $([RegEx]::Escape($testScriptPath)):\d+ char:\d+" } It 'returns true if the actual message is the same as the expected message' { Set-Content -Path $testScriptPath -Value "throw 'error message'" PesterThrow { & $testScriptPath } > $null $result = NotPesterThrowFailureMessage 'error message' $result | Should Match "^Expected: the expression not to throw an exception. Message was {error message}`n from $([RegEx]::Escape($testScriptPath)):\d+ char:\d+" } } } # SIG # Begin signature block # MIInSAYJKoZIhvcNAQcCoIInOTCCJzUCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAVnL9yiUPg5gD+ # cJ8osBcyjOhTH9lYQjbPD/Kg+XP2KKCCC7QwggXLMIIEs6ADAgECAhMzAAABQGf2 # mGsxCLhyAAAAAAFAMA0GCSqGSIb3DQEBCwUAMIGOMQswCQYDVQQGEwJVUzETMBEG # A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj # cm9zb2Z0IENvcnBvcmF0aW9uMTgwNgYDVQQDEy9NaWNyb3NvZnQgV2luZG93cyBU # aGlyZCBQYXJ0eSBDb21wb25lbnQgQ0EgMjAxMjAeFw0yNTExMTMxOTU5NDNaFw0y # NjExMTAxOTU5NDNaMIGEMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv # bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0 # aW9uMS4wLAYDVQQDEyVNaWNyb3NvZnQgV2luZG93cyAzcmQgcGFydHkgQ29tcG9u # ZW50MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEArGt4Hrjs3D7+IIab # GkPGtg4XeWQFi8nKsdeF+N6nkYF9wsmw0qPk4OovEiJnCSRiEtLfYy3Icn4iOp7L # 24oCa0zlgYCND3OnNfYOuVpMsq3CSkXYg3H+VMiB11hOLcctTu4RWy4ZRKsL5NVI # AduJFgd/1Qs2mQpUuOyFfLKhu/+Z+T2c9YALxsfnPvqn8Tn8Tt8wdZuFwz7kK3jl # e2T3YBofybAR2aH678TnOxhLe2/hEpTdKaVfcqyrIX0Mw/LwqEJnj4G8amBbQ7OG # RnKm1VNd4nMpRt1SflNlVo1Q3Qqnj9K6mSPw99YGMCTaVr6jKPylsWyW4nsvu8m0 # MbBJJiLOi0sOTHtwQEVcBH6WM7xbODqwPaklS1wDbED1wfzImIUR8WsXJVjDm7Fg # x4JDo8oLIjKFrEvzBfrYWsvlDg8p9XgR7EB/IJwXGuJbFzo/S+r3D5DkUZXX/72k # XA4FeRJAgLePAuGChPvyQiLtKJeJm9ftJeukrIcs7JpJVHObAgMBAAGjggGoMIIB # pDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUB9FDBUZ0W11vsv6qqb9t # vKspCIowRQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3Jh # dGlvbjEWMBQGA1UEBRMNMjMwODA5KzUwNjIyOTAfBgNVHSMEGDAWgBRhcaeHr/9p # 1SF2T1KTKAC+eRKrhDB0BgNVHR8EbTBrMGmgZ6BlhmNodHRwOi8vd3d3Lm1pY3Jv # c29mdC5jb20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBXaW5kb3dzJTIwVGhpcmQl # MjBQYXJ0eSUyMENvbXBvbmVudCUyMENBJTIwMjAxMi5jcmwwgYEGCCsGAQUFBwEB # BHUwczBxBggrBgEFBQcwAoZlaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9w # cy9jZXJ0cy9NaWNyb3NvZnQlMjBXaW5kb3dzJTIwVGhpcmQlMjBQYXJ0eSUyMENv # bXBvbmVudCUyMENBJTIwMjAxMi5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0B # AQsFAAOCAQEAmFzJPKhkAXPOcfy9S4q1nP3XCvmABVGv/VRzFZ1e+oVtVzOFkbZ6 # osY1OpZqa9CEvtgcrtciv1y9mV1SpxAMwfEqq+Nhw2GdZ3IWqFzWFsEe2S9U196s # XRIRIxglZMBWyzdy8rQ+P7L2+LciW4qcaw2wtv6YoI0q1isgk0t1OF5kEL0t9hhx # UrBavTdoqZ3b5JtwDqzmIsxuLtGbE9Pqbz2gx/me+7yduYpIcYlmEmPQkg3gmWkZ # lnSRePu7/5RXS2TGW1O5JP8aqVcMn0ZkHEhtT368pE/CxQVAkAYHNz6+enP9n+HC # 2udu395c0fVlRHy/d53f32RukfbjakH8uzCCBeEwggPJoAMCAQICCmELqsEAAAAA # AAkwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo # aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y # cG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1 # dGhvcml0eSAyMDEwMB4XDTEyMDQxODIzNDgzOFoXDTI3MDQxODIzNTgzOFowgY4x # CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt # b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xODA2BgNVBAMTL01p # Y3Jvc29mdCBXaW5kb3dzIFRoaXJkIFBhcnR5IENvbXBvbmVudCBDQSAyMDEyMIIB # IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo5wwhAmnYy7PCkfw6iT5ozAg # D15XMSaBmjEHslDUzmcJCGUKWqVLrtXtEC7npZm1n2gvmItYAqwgtCnEcb0oHKX9 # PJtk5MXr32ElvPDuaL/Rp8t+KgKBTmRcDFOGeVcZN2G3mPkMoE4iWZv5Gy1nPCc8 # VpBm4/1/ZX0Phr01R+iKzPTajulqTqunVeyiiR7VM0VTy/med73NLPkFuH90AR3o # +xjhQ9EN6arcN2+9/rgP7R1NAUZOCqz8gujsVoMTjjoB7RRkdOpksmYQtmhtyHAA # fVBILj1D7uAklcbNjsf9uOSVz91++5VeoQHNQ7EH16Qw7puGGipuwQtZonRviwID # AQABo4IBQzCCAT8wEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFGFxp4ev/2nV # IXZPUpMoAL55EquEMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQE # AwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQ # W9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNv # bS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNybDBa # BggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0 # LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3J0MA0GCSqG # SIb3DQEBCwUAA4ICAQBaimfazNX9DSZBd78KRni0s94SaSt3I8JlLwFf0gP0YbpQ # nS6MOXLzbD5qsR52bey384LczLvFaXAoc2YXP1Tr7gEWSMRG2RuAroE6jQ95bWiw # nuotPznTyjh+vV58CG4Z3MbC9DgzaGHiUkeD4QABVtK6y4eCBTEKQYtO539fX+1f # 0zktReuiE7/9HsKYQXFhFl/ICnAlfFlpMSTkcecKuwQX959yHsnSuxq+PQL+CQyy # Q7RZGplTk5YhX+DWtyYBQpU2rCf9vvSFd2g9GL30vpiIIhGGUhbzRewDlxBwh6Nw # Q3E828mGAxcM9XNbxn3hXGTt18VI1+0y4tGq08+n9ldOYfl362fyiLPeANoDj9CK # NDc+HdhiuNKx8+Evi3I7gZZ8b/zsZnZyYBsk8qCJbVttAC7vKN2GhwXCtLnlvmTC # KvJKFVyY4sQnhf9S42J+D7ICC9dmxwqy0z0gBBRQMlmDCn2b7Vo4EgFSui9eIHKO # SvH953ECjDvhB77Jc/TdR9i077SkszC5iT52yrkAmFZ+q+qKuKXQOKtpdxMLFC/p # qkEf97q9Ois0iu4Kq2PmY/eIJI4gDSs7nePCSVKsnx8OOTtd1G5QauZ9UjqqfDMV # KQ0mXgFYp06pPXqEb3Q/YJ/kMk82AK9tcdM+pkZlX4F08f7BcdpMoEFagt3xHzGC # GuowghrmAgEBMIGmMIGOMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv # bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0 # aW9uMTgwNgYDVQQDEy9NaWNyb3NvZnQgV2luZG93cyBUaGlyZCBQYXJ0eSBDb21w # b25lbnQgQ0EgMjAxMgITMwAAAUBn9phrMQi4cgAAAAABQDANBglghkgBZQMEAgEF # AKCB+jAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAvBgkqhkiG9w0BCQQxIgQg # yoSAr69yc1iNQ5X8gLiHcym+cUwtT5rnGqyO7W4A5F4wUAYKKwYBBAGCNwoDHDFC # DEBFMzkyMUVFQTIyQ0U3MTlEQkE5ODRCQzFEOEM3QjMxNTczQjBBRUQ5NDkyQjI2 # OTBGMzgzMkI3QkY0Qzc0MzJGMFoGCisGAQQBgjcCAQwxTDBKoCSAIgBNAGkAYwBy # AG8AcwBvAGYAdAAgAFcAaQBuAGQAbwB3AHOhIoAgaHR0cDovL3d3dy5taWNyb3Nv # ZnQuY29tL3dpbmRvd3MwDQYJKoZIhvcNAQEBBQAEggGAEw3EvaN2e1Y461IYGOL5 # hmvjI8rfQzG/PmTHDWzOKDo9JjdWLH1BjRWssUX16atQXwV/H5NifzVnmFq19gvf # 5IzGIM+L3E/6VX6tofO4DbYToaSJxBkOj1g7DcneuvgX2iq6Rvq89R0rUzTNDz7B # 4sCUOQEoEbCX6vHpfsI52d+Ffp6rbk5GwN9RNePKrj9voy6245l4pspJTMANbPTX # cOlTgG4H10kT15v5n0QyRdhdykyPGa3ezaQ2FvEvwVPaBgUiY4m2VxiOMM/F4xDp # khav3P8QxjBxllwH2h//U3U7bFFLN1fGvKMIcJVywFSW/Uc/LsjtrJ90JGy8g+Gt # tfHwFhRlkj2lO/b1ANj4MZlMWO4jzrsz9fWPmlAYw5fuog6fVFWKRvJlVpl9Xqcw # 2kNqth1zF8SD1KzN64AweDOpGK4iY2AMOUgWFkLE/cC8TL4UAA+Accs3jUpKAHsk # F8bacGLJ3ZelOas8vIRRK6LUkuTOrxcZixYwCQCqg/VUoYIXlzCCF5MGCisGAQQB # gjcDAwExgheDMIIXfwYJKoZIhvcNAQcCoIIXcDCCF2wCAQMxDzANBglghkgBZQME # AgEFADCCAVIGCyqGSIb3DQEJEAEEoIIBQQSCAT0wggE5AgEBBgorBgEEAYRZCgMB # MDEwDQYJYIZIAWUDBAIBBQAEIOlN4IbRLTWlSaaajl74MzAOQ8SoPBzh5Rz1MJOE # MCO6AgZp530JAvEYEzIwMjYwNTA2MTU0MDUyLjUwM1owBIACAfSggdGkgc4wgcsx # CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt # b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1p # Y3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJzAlBgNVBAsTHm5TaGllbGQgVFNT # IEVTTjo4NjAzLTA1RTAtRDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3Rh # bXAgU2VydmljZaCCEe0wggcgMIIFCKADAgECAhMzAAACJYDHN8bNqndJAAEAAAIl # MA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n # dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y # YXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4X # DTI2MDIxOTE5NDAwMVoXDTI3MDUxNzE5NDAwMVowgcsxCzAJBgNVBAYTAlVTMRMw # EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN # aWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVyaWNh # IE9wZXJhdGlvbnMxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjo4NjAzLTA1RTAt # RDk0NzElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCAiIw # DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKbxEg/R4sDjpVwI+i++aqwiU3qq # SbPkiwdaZRTSd5Sqny4bFp16j5LBYELBDlqVkj8M12ld/KJktlHpdiClE8XN6kiX # s4INvg20SyQkIhkORAw3Csf1jBTK7vUYaKCwsjF6V4e0De62hVN4eNLVvxSfA5FG # 2ScqTKtQCtPpmkHauh0hyZwty/fHfDCBiU6zQUSDkSxWtlvss1z+d3RtcOn4dM5Z # a6Lx6hNXAl4vFxU/zr2gXyWLlJTzVpra0Ynr8mx6OLP0kxbxIlcoFPYMJcw5SQKw # aOic9lGp++gxIhBmC1o5PIAmWu+zLRNnvxesaqjKC1CKZCds4Avgo0tIK5blNkRA # ZMcs5AkaCCBvePmAoLvvz5Eg8kD6f+GYcn/HipP8dNM+hV4wJy4EpatBdHX7+lhq # 7cXB7S1YjIb4tbORGv9k08+6lwDZhyLeqfwdH1HC9CimpI0nCfZGLpqbwBDJ9VXL # 8EHDS3qOmhE+PAq+5SN8LOlp7p247FC1DVcM308DbKX2wOSj/4BdX9I57x5rxChB # y/ezcSuQb4unqGe/Do4w+JqfiCA2RG2C0HuujU6Kik5Rcmf1jkQ7clQBc1y4z2b7 # kzLVUS68bK2AAfe7GayVOdbdhut9rNrJIJJKdaSFo5nfeGBu5RB8fufY0UQBRz9w # XN+YJBSKRaKycljLAgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQUsTjSqhdO4wdfcB9l # S7WfyfHaH3cwHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYDVR0f # BFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwv # TWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwGCCsG # AQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQuY29t # L3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAx # MCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAO # BgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBAAed9zbJTKgdlu+/JUoW # 5eHkfHEci8hpH0lakh8hMmVz8qLTeO5H69yTOre2nl8Ufksvt4gVdEi6h7Ayy9Z4 # Wta5+utbgeGaELCSoCt8DULTGT4dpizY7jxhLExf2WBLWRNMhvdix+gV0Wkq6s9/ # adzZh3jAuD4WDCaTGR7ITcxQpWdrxJl5WkSOdLm5wVyTiys/ArY5EB/vQjbcYbI+ # GqAgpmmE1eFKxxMBCzIioHkbAMx1FXksrfs19ThibG8JiHdMVgT8aHTVDrIm9/0f # GIRmnBb6hSTSCu4ehuDeyAhHmt+BSjyXfS9SdoNgxw8AKVoUwL9BsdlJpSFZdkbU # 45wynSD29hA0sMSoVfaOWq6/NVJLC0e2bUpOV0KNEQP6R0LJtw/Fs9qXAmKBdzUG # wj0KK2dN/SWPBv02Rn8lUjz8PratdfOHPgXe7SJUbPCdwZrFHEcb9e/idOumQ556 # mhhs0FsxZLYbWo/dePulV/T7ipHIConSy2NCOhU4kiZU9ZGPPk9HcOfpp1BUwEkM # zqAOuPWtlMVWAK1OKOoZlIbO9ekaQXe9izITpkOZr+QZ2JR7mxp4jqUfro+JZZeC # rG3uzLYTO/TIiNJW/54w5PZAxSJnpYJzuBW0CZel94i6z42aAW8z4hzVfnx7gj0Q # vhlICJ1KlZbQZlMs0LTaavIuMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJmQAA # AAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh # c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD # b3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUg # QXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1WjB8 # MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk # bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1N # aWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEBBQAD # ggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjKNVf2 # AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhgfWpS # g0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJprx2r # rPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/dvI2k # 45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka97aSu # eik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKRHh09 # /SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9ituqBJR # 6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyOArxC # aC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItboKaD # IV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6bMUR # HXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6tAgMB # AAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQWBBQq # p1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacbUzUZ # 6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0 # cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRt # MBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBB # MAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2VsuP # 6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWlj # cm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEwLTA2 # LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cu # bWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMu # Y3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/qXBS2 # Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6U03d # mLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVtI1Tk # eFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis9/kp # icO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTpkbKp # W99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0sHrY # UP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138eW0QB # jloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJsWkB # RH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7Fx0V # iY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0dFtq # 0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQtB1V # M1izoXBm8qGCA1AwggI4AgEBMIH5oYHRpIHOMIHLMQswCQYDVQQGEwJVUzETMBEG # A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj # cm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBP # cGVyYXRpb25zMScwJQYDVQQLEx5uU2hpZWxkIFRTUyBFU046ODYwMy0wNUUwLUQ5 # NDcxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoBATAH # BgUrDgMCGgMVAFNv5so48CMIF+WHPDkRcG5JbF4OoIGDMIGApH4wfDELMAkGA1UE # BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc # BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0 # IFRpbWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQELBQACBQDtpb+3MCIYDzIw # MjYwNTA2MTMyNTExWhgPMjAyNjA1MDcxMzI1MTFaMHcwPQYKKwYBBAGEWQoEATEv # MC0wCgIFAO2lv7cCAQAwCgIBAAICJzYCAf8wBwIBAAICEw0wCgIFAO2nETcCAQAw # NgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgC # AQACAwGGoDANBgkqhkiG9w0BAQsFAAOCAQEAGBwl5FwnfzRV1Z2xCiS5SYbqQ2+d # TuLtFZrJR1zOfbk3RGl+Qi1nJXRzpYEYbNdyod+Y9hHFQi+A2bh2fuUtOzGIGC2p # ddwTAPUtG2crZpfHdHPIVyScbADDlcDFo5QFC8ZZGYdaFQrM30q8avIDahbbQJsJ # 4YPY9heKCDp+ZQhucXrD9mNnjd38OkNzPvz63sKTgU25tHSPITUQfQz36ZtugVFx # 3NVXrONprURFokEwh/ek3THfMdAzMUg9KThcJTSIAYPuLabWAKouIj6Se1hYoktl # SQIfj3Z3KYV6sq8r5fqj1OjyethY+W4qet50pdul0kc0knjcDyF6VRHUUDGCBA0w # ggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw # DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x # JjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAACJYDH # N8bNqndJAAEAAAIlMA0GCWCGSAFlAwQCAQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYL # KoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIMbUjOyFjJbEfUozekROqqNdouan # ec/ELfa79JQd3r3+MIH6BgsqhkiG9w0BCRACLzGB6jCB5zCB5DCBvQQgVg3uiHo4 # 3fL3YKYCX+UXQJjCuNZZA/p0JTFqM9IcoRAwgZgwgYCkfjB8MQswCQYDVQQGEwJV # UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE # ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt # ZS1TdGFtcCBQQ0EgMjAxMAITMwAAAiWAxzfGzap3SQABAAACJTAiBCAOSGCsR2IX # r6NPEUhEjQudNS7D5wqVPooDREwed1lDWjANBgkqhkiG9w0BAQsFAASCAgBYJtOo # PXUTdrjK9VUaSvBKLUct70VzJrFEQx3WGkWmM2/SmTJdrcEnH1g8WDobXw/6PRXy # q7W2ceHb4bqSIHp9y5iphYuiA6ztpI7Inli9Md681Y56iqFHHWpri1muRTUFJDmF # zwTZD1SDDICj6WcUHYw5ZviKq2Xzjk1XF2516AE5ZZDLr6M05ZoOVG8lG3gZn5lC # Twg1lUrO5FBqbuMhu7/m9sR3qFrLFURw4/TxzAZhflO6jNR+oEoxPt1+leuITLnt # MMv7W1swq2t2cEvvBIqMTWAq8fXdxtSbn+8z3DzVoOSf2ztU8yXiaiGOj/8lhBHS # OntwY0RPqvlnlbOVy1k/Z7DOqyhsmjtfyEC5vGttG5y0wiWGPjuUdPcklbgihmn2 # PH+nr4Wv8Ws23aj4Oivl/fyui8JmLG81/yUZwSTf1/gbnciS2RpXQ5lbHtKVRRH+ # rGVmaDVHvW67cCBs4CMUje4l6cEt/nvgPUsGGGe/ePSxcx8BBdi60A5S5FWPmadd # 1S0rJdmnah+7I0kqypNdRFN3rId76fgy60wlGxLJfn4GgjkBnwq38CjmfrHkrS2Z # NR9KBMCLr/E+6dTP7pX8dhm/pY5J4ZX8GnNWU/hlfcqeuG5b241JN7Tvv5BwsfE6 # EVZ3vJQJocY9zJwqnIjrSwWpCBFLQLF8GGVsXA== # SIG # End signature block x

Windows NT KPTV 6.2 build 9200 (Windows Server 2012 Datacenter Edition) i586