AWS.Tools.CodeStarconnections.Completers.psm1
# Auto-generated argument completers for parameters of SDK ConstantClass-derived type used in cmdlets. # Do not modify this file; it may be overwritten during version upgrades. $psMajorVersion = $PSVersionTable.PSVersion.Major if ($psMajorVersion -eq 2) { Write-Verbose "Dynamic argument completion not supported in PowerShell version 2; skipping load." return } # PowerShell's native Register-ArgumentCompleter cmdlet is available on v5.0 or higher. For lower # version, we can use the version in the TabExpansion++ module if installed. $registrationCmdletAvailable = ($psMajorVersion -ge 5) -Or !((Get-Command Register-ArgumentCompleter -ea Ignore) -eq $null) # internal function to perform the registration using either cmdlet or manipulation # of the options table function _awsArgumentCompleterRegistration() { param ( [scriptblock]$scriptBlock, [hashtable]$param2CmdletsMap ) if ($registrationCmdletAvailable) { foreach ($paramName in $param2CmdletsMap.Keys) { $args = @{ "ScriptBlock" = $scriptBlock "Parameter" = $paramName } $cmdletNames = $param2CmdletsMap[$paramName] if ($cmdletNames -And $cmdletNames.Length -gt 0) { $args["Command"] = $cmdletNames } Register-ArgumentCompleter @args } } else { if (-not $global:options) { $global:options = @{ CustomArgumentCompleters = @{ }; NativeArgumentCompleters = @{ } } } foreach ($paramName in $param2CmdletsMap.Keys) { $cmdletNames = $param2CmdletsMap[$paramName] if ($cmdletNames -And $cmdletNames.Length -gt 0) { foreach ($cn in $cmdletNames) { $fqn = [string]::Concat($cn, ":", $paramName) $global:options['CustomArgumentCompleters'][$fqn] = $scriptBlock } } else { $global:options['CustomArgumentCompleters'][$paramName] = $scriptBlock } } $function:tabexpansion2 = $function:tabexpansion2 -replace 'End\r\n{', 'End { if ($null -ne $options) { $options += $global:options} else {$options = $global:options}' } } # To allow for same-name parameters of different ConstantClass-derived types # each completer function checks on command name concatenated with parameter name. # Additionally, the standard code pattern for completers is to pipe through # sort-object after filtering against $wordToComplete but we omit this as our members # are already sorted. # Argument completions for service AWS CodeStar Connections $CSTC_Completers = { param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter) switch ($("$commandName/$parameterName")) { # Amazon.CodeStarconnections.ProviderType { ($_ -eq "New-CSTCConnection/ProviderType") -Or ($_ -eq "New-CSTCHost/ProviderType") -Or ($_ -eq "Get-CSTCConnectionList/ProviderTypeFilter") } { $v = "Bitbucket","GitHub","GitHubEnterpriseServer" break } } $v | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object { New-Object System.Management.Automation.CompletionResult $_, $_, 'ParameterValue', $_ } } $CSTC_map = @{ "ProviderType"=@("New-CSTCConnection","New-CSTCHost") "ProviderTypeFilter"=@("Get-CSTCConnectionList") } _awsArgumentCompleterRegistration $CSTC_Completers $CSTC_map $CSTC_SelectCompleters = { param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameter) $cmdletType = Invoke-Expression "[Amazon.PowerShell.Cmdlets.CSTC.$($commandName.Replace('-', ''))Cmdlet]" if (-not $cmdletType) { return } $awsCmdletAttribute = $cmdletType.GetCustomAttributes([Amazon.PowerShell.Common.AWSCmdletAttribute], $false) if (-not $awsCmdletAttribute) { return } $type = $awsCmdletAttribute.SelectReturnType if (-not $type) { return } $splitSelect = $wordToComplete -Split '\.' $splitSelect | Select-Object -First ($splitSelect.Length - 1) | ForEach-Object { $propertyName = $_ $properties = $type.GetProperties(('Instance', 'Public', 'DeclaredOnly')) | Where-Object { $_.Name -ieq $propertyName } if ($properties.Length -ne 1) { break } $type = $properties.PropertyType $prefix += "$($properties.Name)." $asEnumerableType = $type.GetInterface('System.Collections.Generic.IEnumerable`1') if ($asEnumerableType -and $type -ne [System.String]) { $type = $asEnumerableType.GetGenericArguments()[0] } } $v = @( '*' ) $properties = $type.GetProperties(('Instance', 'Public', 'DeclaredOnly')).Name | Sort-Object if ($properties) { $v += ($properties | ForEach-Object { $prefix + $_ }) } $parameters = $cmdletType.GetProperties(('Instance', 'Public')) | Where-Object { $_.GetCustomAttributes([System.Management.Automation.ParameterAttribute], $true) } | Select-Object -ExpandProperty Name | Sort-Object if ($parameters) { $v += ($parameters | ForEach-Object { "^$_" }) } $v | Where-Object { $_ -match "^$([System.Text.RegularExpressions.Regex]::Escape($wordToComplete)).*" } | ForEach-Object { New-Object System.Management.Automation.CompletionResult $_, $_, 'ParameterValue', $_ } } $CSTC_SelectMap = @{ "Select"=@("New-CSTCConnection", "New-CSTCHost", "Remove-CSTCConnection", "Remove-CSTCHost", "Get-CSTCConnection", "Get-CSTCHost", "Get-CSTCConnectionList", "Get-CSTCHostList", "Get-CSTCResourceTagList", "Add-CSTCResourceTag", "Remove-CSTCResourceTag", "Update-CSTCHost") } _awsArgumentCompleterRegistration $CSTC_SelectCompleters $CSTC_SelectMap # SIG # Begin signature block # MIIm1gYJKoZIhvcNAQcCoIImxzCCJsMCAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBZ0/tPLfC2zBNf # 5oe5ZDhmIsAdNJCtKfBcMitzEkSc26CCDlkwggawMIIEmKADAgECAhAIrUCyYNKc # TJ9ezam9k67ZMA0GCSqGSIb3DQEBDAUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQK # EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNV # BAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0yMTA0MjkwMDAwMDBaFw0z # NjA0MjgyMzU5NTlaMGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg # SW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcg # UlNBNDA5NiBTSEEzODQgMjAyMSBDQTEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw # ggIKAoICAQDVtC9C0CiteLdd1TlZG7GIQvUzjOs9gZdwxbvEhSYwn6SOaNhc9es0 # JAfhS0/TeEP0F9ce2vnS1WcaUk8OoVf8iJnBkcyBAz5NcCRks43iCH00fUyAVxJr # Q5qZ8sU7H/Lvy0daE6ZMswEgJfMQ04uy+wjwiuCdCcBlp/qYgEk1hz1RGeiQIXhF # LqGfLOEYwhrMxe6TSXBCMo/7xuoc82VokaJNTIIRSFJo3hC9FFdd6BgTZcV/sk+F # LEikVoQ11vkunKoAFdE3/hoGlMJ8yOobMubKwvSnowMOdKWvObarYBLj6Na59zHh # 3K3kGKDYwSNHR7OhD26jq22YBoMbt2pnLdK9RBqSEIGPsDsJ18ebMlrC/2pgVItJ # wZPt4bRc4G/rJvmM1bL5OBDm6s6R9b7T+2+TYTRcvJNFKIM2KmYoX7BzzosmJQay # g9Rc9hUZTO1i4F4z8ujo7AqnsAMrkbI2eb73rQgedaZlzLvjSFDzd5Ea/ttQokbI # YViY9XwCFjyDKK05huzUtw1T0PhH5nUwjewwk3YUpltLXXRhTT8SkXbev1jLchAp # QfDVxW0mdmgRQRNYmtwmKwH0iU1Z23jPgUo+QEdfyYFQc4UQIyFZYIpkVMHMIRro # OBl8ZhzNeDhFMJlP/2NPTLuqDQhTQXxYPUez+rbsjDIJAsxsPAxWEQIDAQABo4IB # WTCCAVUwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUaDfg67Y7+F8Rhvv+ # YXsIiGX0TkIwHwYDVR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0P # AQH/BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUFBwMDMHcGCCsGAQUFBwEBBGswaTAk # BggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAC # hjVodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9v # dEc0LmNydDBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5j # b20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNybDAcBgNVHSAEFTATMAcGBWeBDAED # MAgGBmeBDAEEATANBgkqhkiG9w0BAQwFAAOCAgEAOiNEPY0Idu6PvDqZ01bgAhql # +Eg08yy25nRm95RysQDKr2wwJxMSnpBEn0v9nqN8JtU3vDpdSG2V1T9J9Ce7FoFF # UP2cvbaF4HZ+N3HLIvdaqpDP9ZNq4+sg0dVQeYiaiorBtr2hSBh+3NiAGhEZGM1h # mYFW9snjdufE5BtfQ/g+lP92OT2e1JnPSt0o618moZVYSNUa/tcnP/2Q0XaG3Ryw # YFzzDaju4ImhvTnhOE7abrs2nfvlIVNaw8rpavGiPttDuDPITzgUkpn13c5Ubdld # AhQfQDN8A+KVssIhdXNSy0bYxDQcoqVLjc1vdjcshT8azibpGL6QB7BDf5WIIIJw # 8MzK7/0pNVwfiThV9zeKiwmhywvpMRr/LhlcOXHhvpynCgbWJme3kuZOX956rEnP # LqR0kq3bPKSchh/jwVYbKyP/j7XqiHtwa+aguv06P0WmxOgWkVKLQcBIhEuWTatE # QOON8BUozu3xGFYHKi8QxAwIZDwzj64ojDzLj4gLDb879M4ee47vtevLt/B3E+bn # KD+sEq6lLyJsQfmCXBVmzGwOysWGw/YmMwwHS6DTBwJqakAwSEs0qFEgu60bhQji # WQ1tygVQK+pKHJ6l/aCnHwZ05/LWUpD9r4VIIflXO7ScA+2GRfS0YW6/aOImYIbq # yK+p/pQd52MbOoZWeE4wggehMIIFiaADAgECAhALyko14sGCglkXWPsT8gmbMA0G # CSqGSIb3DQEBCwUAMGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg # SW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcg # UlNBNDA5NiBTSEEzODQgMjAyMSBDQTEwHhcNMjExMjI4MDAwMDAwWhcNMjMwMTAz # MjM1OTU5WjCB9jEdMBsGA1UEDwwUUHJpdmF0ZSBPcmdhbml6YXRpb24xEzARBgsr # BgEEAYI3PAIBAxMCVVMxGTAXBgsrBgEEAYI3PAIBAhMIRGVsYXdhcmUxEDAOBgNV # BAUTBzQxNTI5NTQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw # DgYDVQQHEwdTZWF0dGxlMSIwIAYDVQQKExlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ # bmMuMRcwFQYDVQQLEw5TREtzIGFuZCBUb29sczEiMCAGA1UEAxMZQW1hem9uIFdl # YiBTZXJ2aWNlcywgSW5jLjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGB # AKHRLdQSyJ6AfhQ8U7Gi6le7gshUhu34xQ7jaTCfpKaKQRGu+oNfAYDRSSfh498e # K+jFnGHU/TMzVHEgBb4TUrc1e2f5LHhXAtYTJK0uis9OJ5n3MjHwOJt/uGSSMUAI # IIselvbSF2mOE0lIz0CNMIlUiXI9O+y9+FJP7Vsg/NU/zAVsQ4Ok0GLd+Yp566nR # uj9aNU+L+TxRhSHA7KKjJ9oE0mVblUGQaeNrOd1Ql9djJy0pg6oT2s9Peh8lqB3t # UsMaoQ/FMV0P/e1S6V3yFg/I1OvQdtm29ryJTdg9ZvIV/FGnIYdW5s5T8t//nf+7 # LToQVhpML/ZWEhFRAa6We80Y8zs9glIPDZyYmi6OPbpY7kVHa4dr8S49tPwrVMjC # 3hk9v9S6poDx/hR9kytwVt1Lo4LjAlpmKLeHVmOnn5uenpXqFOJMbTMYmciwHz8y # WJwZYMKKLJPCGa79xaAkZj9HCop5yPUPccqjyz2i0v/Pt8yFH77s8q86e99O2a+/ # oQIDAQABo4ICNTCCAjEwHwYDVR0jBBgwFoAUaDfg67Y7+F8Rhvv+YXsIiGX0TkIw # HQYDVR0OBBYEFGmlIp+0bnVEmnOvWcJjnCup9DbsMC4GA1UdEQQnMCWgIwYIKwYB # BQUHCAOgFzAVDBNVUy1ERUxBV0FSRS00MTUyOTU0MA4GA1UdDwEB/wQEAwIHgDAT # BgNVHSUEDDAKBggrBgEFBQcDAzCBtQYDVR0fBIGtMIGqMFOgUaBPhk1odHRwOi8v # Y3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JT # QTQwOTZTSEEzODQyMDIxQ0ExLmNybDBToFGgT4ZNaHR0cDovL2NybDQuZGlnaWNl # cnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hBMzg0 # MjAyMUNBMS5jcmwwPQYDVR0gBDYwNDAyBgVngQwBAzApMCcGCCsGAQUFBwIBFhto # dHRwOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwgZQGCCsGAQUFBwEBBIGHMIGEMCQG # CCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wXAYIKwYBBQUHMAKG # UGh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENv # ZGVTaWduaW5nUlNBNDA5NlNIQTM4NDIwMjFDQTEuY3J0MAwGA1UdEwEB/wQCMAAw # DQYJKoZIhvcNAQELBQADggIBALlYa6PSDPPulVJbqEi7XGz23lFZwYa1PiXk+PkJ # O2HDXv2zep26LZriwBHT2yA/KbDvbwZpf4VOBKn5lQC9R+DsgwW/xZbNq7y3cWf9 # Ad1AQ9Do/FXfBqVO1if+GpqFbqUme5wOjn8/8dc4nFR4erbDgkM4ICn/astBigYn # fM5wTO+J8ex+7fE2D1kFAwfZAuiRNdDreVMDlYXpJMQ4CtTKVLHYentLR747zzRj # O4PqgL1exvbvpOMZlSDLWhaDjtKwUDb645ziHDA3DXe8K51+hIFuadKTinJa8Pfs # bgg2W7aTfBdi2gTyXkeVJ836631Ks4KD3cXui9Jx2PWRAVxKIEvXuebZ09Mph2ji # BH75urqS57i1mpS7OA5lIj7a7NIYsVl26PVpJUEr3LRKV8GO3tRC7KP0zE7sB7k2 # VQKwBXbsifq/vpcmeyy4OeQbZ1i8GwZLPHuygP9exTWK2o2wWByJs62Wdk6JmSRE # vr9Wr59BVNbQfRSRaF9q058bBK68hGZtDBpJ9gJX4V12DI2UpSbcGf10+afL1J4z # FDv98GIGkgmfLQJUpJeC/FnNrEXJbINndCsOb6gdLvLX1grMdUPmPkpRZyvG3HEy # EMCV5ODMItTx7K6TDyeZDIXXP5oBnBMK9EjtRD3XkEb9dDfuzCrdlTpEoTElt2mG # uEE7MYIX0zCCF88CAQEwfTBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNl # cnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWdu # aW5nIFJTQTQwOTYgU0hBMzg0IDIwMjEgQ0ExAhALyko14sGCglkXWPsT8gmbMA0G # CWCGSAFlAwQCAQUAoHwwEAYKKwYBBAGCNwIBDDECMAAwGQYJKoZIhvcNAQkDMQwG # CisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZI # hvcNAQkEMSIEIBC9Uc8jBbDpzmiea6HruUFt1feIjN1JuNYseELRXPhRMA0GCSqG # SIb3DQEBAQUABIIBgE6xs/MhRLkSie2wQw+Jt0feNxItKjO+GgHu1BTjzA2oOx+w # MA69kEN1qOIuMD4VyxNoSkEH48p6Uzr9Nk5ECQ+qLsjWwww4tNQqiz7FEIec5lVd # 5x8veBI+AGUgf35xntGBKIi9UA9UiiE+g5t/DatRX5X+fBfmzne2nlpMn4ulFoEX # u38WIv6SDEndV/5u5i6zi01RBmN7oJRPTU/1L6f9OsTJED/kWyW3oWoDDHedfeDi # gtWPfqx1In4vyZx9cLpeN3H124LrDbPEXh8Lx5ilBmVyKOOeUdpj0H+azejCpKzk # HgC42OsRyipcZ2/GI8gMTh8t9J4HB1dZn5Yovs59XUsDdp6/rt3nOyCUrS3DXiAT # KKk5kFTi/RHBy549iHl5od5KdiY5Q7nTowsMcexa7aOSW1+EPH8qAp3eTgx4IcHP # JnzsgfnjOReTP/Da2UqJHDj7mT8yRI3LrJapTjaaz14xVGu3rvCmtZ4AXltA5DaT # nDInDpE+QBE/fLUsXKGCFSkwghUlBgorBgEEAYI3AwMBMYIVFTCCFREGCSqGSIb3 # DQEHAqCCFQIwghT+AgEDMQ0wCwYJYIZIAWUDBAIBMIHyBgsqhkiG9w0BCRABBKCB # 4gSB3zCB3AIBAQYKYIZIAYb6bAoDBTAxMA0GCWCGSAFlAwQCAQUABCA7s5SzuLYq # oVKkpzu7b73RfOeCSoEF/dHhdJa5NrHrzgIHJ5/7uZrAvhgPMjAyMjA2MTQyMTA1 # MjJaMAMCAQGgeaR3MHUxCzAJBgNVBAYTAkNBMRAwDgYDVQQIEwdPbnRhcmlvMQ8w # DQYDVQQHEwZPdHRhd2ExFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKzApBgNVBAMT # IkVudHJ1c3QgVGltZXN0YW1wIEF1dGhvcml0eSAtIFRTQTGggg9VMIIEKjCCAxKg # AwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u # ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5 # IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3Qu # bmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24g # QXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3MjQxNDE1MTJa # MIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3LmVudHJ1c3Qu # bmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMG # A1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50 # cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkq # hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7t # gHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQesYGpjX24zGtL # A/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuXMlBvPci6Zgzj # /L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzWnLLPKQP5 # L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8A # jhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0Iw # QDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB # 0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6 # eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExoU8aAghOY+rat # 2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6YfzX1XEC+bBAla # hLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT # J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerX # mCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8 # gzURZVEwggUTMIID+6ADAgECAgxY2hP/AAAAAFHODfcwDQYJKoZIhvcNAQELBQAw # gbQxFDASBgNVBAoTC0VudHJ1c3QubmV0MUAwPgYDVQQLFDd3d3cuZW50cnVzdC5u # ZXQvQ1BTXzIwNDggaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYD # VQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVkMTMwMQYDVQQDEypFbnRy # dXN0Lm5ldCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAoMjA0OCkwHhcNMTUwNzIy # MTkwMjU0WhcNMjkwNjIyMTkzMjU0WjCBsjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT # DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn # YWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDE1IEVudHJ1c3QsIEluYy4gLSBmb3Ig # YXV0aG9yaXplZCB1c2Ugb25seTEmMCQGA1UEAxMdRW50cnVzdCBUaW1lc3RhbXBp # bmcgQ0EgLSBUUzEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZI+YU # pOh8S4VxWPv4geZyi11Gw4gAHzjQiuHWblYw5a/aZFB9whM5+71mtNqE+4PQKB/L # duhgUGmb885PE+LBPsHfEssyo/heRCIOzDrpjUm5YHTI3lQ9QV5DXyhGqaa3yhAr # IrxbTVuMF2UShv0sd9XFoIzKwoPgR1d853CuYkUnMRgK1MCkGFVS92DGBEuz3Wgy # bhAfNBG4Enhk8e6p4PfjsSKPNFply4r04UVQdN+Tl6Y05tBMO583SVKnU06fLmdc # 7Zb8pb90UYjjqo692bEvX1AwFvRRYCJrmcv/4VQ7uftEOKUIOSObaUf6PMTQ56rf # RrLs8ooZrCmyOJV1AgMBAAGjggEjMIIBHzASBgNVHRMBAf8ECDAGAQH/AgEAMA4G # A1UdDwEB/wQEAwIBBjA7BgNVHSAENDAyMDAGBFUdIAAwKDAmBggrBgEFBQcCARYa # aHR0cDovL3d3dy5lbnRydXN0Lm5ldC9ycGEwMwYIKwYBBQUHAQEEJzAlMCMGCCsG # AQUFBzABhhdodHRwOi8vb2NzcC5lbnRydXN0Lm5ldDAyBgNVHR8EKzApMCegJaAj # hiFodHRwOi8vY3JsLmVudHJ1c3QubmV0LzIwNDhjYS5jcmwwEwYDVR0lBAwwCgYI # KwYBBQUHAwgwHQYDVR0OBBYEFMPCcdJ712gFrjs5mzQlDGIDx1doMB8GA1UdIwQY # MBaAFFXkgdERgL7YibkIozH5oSQJFrlwMA0GCSqGSIb3DQEBCwUAA4IBAQAdJOea # dFuqcPyxDjFF1ywAf2Y6K6CaNKqsY22J+Z/fDXf9JCP8T5y3b4/z9B+2wf3WHMSM # iGbBY426V3fTuBoeyFGtzGA2GodqKOoRZd7MPCyMdLfoUEPTzCjoFWwRKp8UlSnJ # BVe1ZzboPKmD70HBIRbTfvctEUdmdmCCEmmMdlVzD98vS13pbCP4B/a1fdZpRZxY # fWEu/HhLQ06JkUZELKBTqEWh9hZYu5ET8kvF3wvA564per1Fs+dwMOc0jut69tO1 # 0d5rE5lGs4vSTZN1tfFvv9wAKMIlv7zno2U07D8NHZeM+qqIIqQYNdsFjnbjEMgp # j2PQrqwY2drEn1ESMIIGDDCCBPSgAwIBAgIRAI3OFfOnlMWHAAAAAFWSM/QwDQYJ # KoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJ # bmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkw # NwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQg # dXNlIG9ubHkxJjAkBgNVBAMTHUVudHJ1c3QgVGltZXN0YW1waW5nIENBIC0gVFMx # MB4XDTIwMDcyMjE1MzMyOVoXDTMwMTIyOTE2MjkyM1owdTELMAkGA1UEBhMCQ0Ex # EDAOBgNVBAgTB09udGFyaW8xDzANBgNVBAcTBk90dGF3YTEWMBQGA1UEChMNRW50 # cnVzdCwgSW5jLjErMCkGA1UEAxMiRW50cnVzdCBUaW1lc3RhbXAgQXV0aG9yaXR5 # IC0gVFNBMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMo+7CRi4ff+ # 39E2qTdm1nkXFJRCAKSGl7gnjOtPqffTruKrMAQIKF+bU6aHii3dAlJftbjltlDw # nKsSwe4aVniKbkQ/qYqP19tT2cZHyAzcRlcAZwYXGoW3QKqvdgfnkF+UktWu1tfN # eaHFNStEhF9JHNVzuIGNcpQCaqnPVpKqNpTDUMlWl4hc4X9f/fvfFI49qyQN9nuP # avpuHvqVvX2Q+ORCFL9VXgRUkzFD98PnwgURaKxAaccjN+xaTCnJ3zWzfklOxnrb # zsIllJ43P4jsJE05j3/vFWtUTHHxDSF8WnXQh1OJoFvgHfucB8CoobQi0GKkxxd/ # N07OLTpY4+XwJoZNQgefvqPiGaJrcqVGv8tkWyXIRfTe6Dy2/ZzzoO+DQXw2cJDD # UmKwx389e+WWh6VW/w7qSQXftN0Tb0XTm8gjeSowmZ2Z3MzNpS6BU1Ii8tA9ojdS # kZFGcNbFSwX/TvTcZAaX/nyQhievnzRVSImrIsB1B4wh2QTTHKfqbaTJUivixAKJ # MF7nmzHmOWWtca3vZ1vcoyTtDebiqXo6GFXe8EYuNE0aTZiADU7RbIV1uAPCANUi # SibRjt3ttdQn1jp8Z2mG11Q/l89kvpGrbradGRB5tZcO9NGFyeSux8C0qgfEH8E6 # V5/NDqZ65RWGsqr0opMsz4z3UfrdjNBJAgMBAAGjggFXMIIBUzAOBgNVHQ8BAf8E # BAMCB4AwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwQQYDVR0gBDowODA2BgpghkgB # hvpsCgMFMCgwJgYIKwYBBQUHAgEWGmh0dHA6Ly93d3cuZW50cnVzdC5uZXQvcnBh # MAkGA1UdEwQCMAAwaAYIKwYBBQUHAQEEXDBaMCMGCCsGAQUFBzABhhdodHRwOi8v # b2NzcC5lbnRydXN0Lm5ldDAzBggrBgEFBQcwAoYnaHR0cDovL2FpYS5lbnRydXN0 # Lm5ldC90czEtY2hhaW4yNTYuY2VyMDEGA1UdHwQqMCgwJqAkoCKGIGh0dHA6Ly9j # cmwuZW50cnVzdC5uZXQvdHMxY2EuY3JsMB8GA1UdIwQYMBaAFMPCcdJ712gFrjs5 # mzQlDGIDx1doMB0GA1UdDgQWBBQtVoDvjvdKQxxDobXe2deoqmsmKDANBgkqhkiG # 9w0BAQsFAAOCAQEAWEvO2P6B11HYx1yNktJOlR6FhkPt4BrmmiFCM13jkb74UHx2 # jCWpQdSEmejooraZl2iiIL0yqKopfAp2Gp/IVY6r03vU435ZfpJwOQ/t9i/zT/90 # XPPnMDRAoxGja3KkMhEFfP2Ri0eoVzZSx/q1RYTRsj5C5RZe3QPTqf09cGd62hPg # hIJnOGBWw62wiOEKN35igQa7IwTvWKAjqNEJYzDN2Rk49Otad1i+X7/rlC3/LwQw # ZBCPPllWLjo2Tw48lg+Pyep+f0kyH6Nfbtoin9fZFzlZ3kgXegJLWHH/twwtofBn # oxHc98m82R7LbAwVJ3hIFmss8a2XuHVsu5XDjjGCBJowggSWAgEBMIHIMIGyMQsw # CQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2Vl # IHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMTUg # RW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MSYwJAYDVQQD # Ex1FbnRydXN0IFRpbWVzdGFtcGluZyBDQSAtIFRTMQIRAI3OFfOnlMWHAAAAAFWS # M/QwCwYJYIZIAWUDBAIBoIIBpjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQw # HAYJKoZIhvcNAQkFMQ8XDTIyMDYxNDIxMDUyMlowKQYJKoZIhvcNAQk0MRwwGjAL # BglghkgBZQMEAgGhCwYJKoZIhvcNAQELMC8GCSqGSIb3DQEJBDEiBCBVFsHWJLuH # RwmtXfJ7QJXnucF5hSSieVAvgZyyLQ2HoTCCAQwGCyqGSIb3DQEJEAIvMYH8MIH5 # MIH2MIHzBCCVCib9x8AgGOn3kalcOPJu7z2kMmfKsM0VpVWvYxByyTCBzjCBuKSB # tTCBsjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNV # BAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChj # KSAyMDE1IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEm # MCQGA1UEAxMdRW50cnVzdCBUaW1lc3RhbXBpbmcgQ0EgLSBUUzECEQCNzhXzp5TF # hwAAAABVkjP0MAsGCSqGSIb3DQEBCwSCAgAt46CxkNeojTCbS7IoIsC0OB3FCMPx # NAqi+LVUEJDOeGa5OjjQoyXPxg6zGHra0xK9l7WV65l5uW5i1ig1W0jws2PUO4ie # YJ2zYQPeI3rgKIzKPR7hEstCXKgwWkJxoMigoU8sXD7W3a3zcKFimbbDFqoh8/Kr # uOplVPvRKrT2JMq3I5xvXhu0sSXlHRlp9plugT04+xJMe3R794GLPbGElsORNOZ5 # hf/QT+KSd4z4wNzdGLldrcuMxr4gY+nus3EoAv1EqxUYFa2PbvKkP6x9rmble1/t # pQdu4JFM82Nw+lsbc4AyVce5Foi8uAeEAYxQ+3rbp8av27+k0ArprkPOxR/LyKK2 # mgFfCRlmoOfZN1RhDfhaIywFsfvIvDwLjeNZ2u60+kh7HgFKVgpNWDSYVoGsVFh9 # 4Kh8Vg9oc66JIMRZ8sWFpWNyNwmdLrLeW4Szc/IGXkdhon3DY3GPyjqxPE3VuFg3 # KGwyMQIPVHCBsRd32h9t7RAW1n4hjXk1qqgqYRAqsskP/QrAmjZlPJXs0xCbOku8 # ZSlmXdOCcLR/KjJPLnodKRkAAw2Fycw770u9k2yTlmp6LcV985LRXTt7inOF5Ewc # BH2NigFc/cZpYDEbDh4zL2tj15S1qsfaIcqineGsG4L8fYkJ3gVPnbRlYxu/W0BK # uJjnNSBF7tOV7w== # SIG # End signature block |