custom/Update-ZNGroupsOutboundOtRule.ps1

<#
.Synopsis
Updates an outbound OT rule.
.Description
Updates an outbound OT rule.

.Link
https://github.com/zeronetworks/zero-powershell/zeronetworks/update-zngroupsoutboundotrule
#>

function Update-ZNGroupsOutboundOtRule {
    [OutputType([ZeroNetworks.PowerShell.Cmdlets.Api.Models.SwitchRuleItem])]
    [CmdletBinding(DefaultParameterSetName = 'UpdateExpanded', PositionalBinding = $false, SupportsShouldProcess, ConfirmImpact = 'Medium')]
    param(
        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Path')]
        [System.String]
        # Account Name
        ${AccountName},
        
        [Parameter(ParameterSetName = 'UpdateExpanded', Mandatory)]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Path')]
        [System.String]
        # Group Id
        ${GroupId},

        [Parameter(ParameterSetName = 'UpdateExpanded', Mandatory)]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Path')]
        [System.String]
        # Group Type
        ${GroupType},
        
        [Parameter(ParameterSetName = 'UpdateExpanded', Mandatory)]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Path')]
        [System.String]
        # rule Id
        ${RuleId},
        
        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [System.String]
        # Allow or Block
        ${Action},
        
        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [System.String]
        # The Destination asset(s).
        ${LocalEntityId},

        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Models.SwitchProtocolsListBodyItem[]]
        # the destination ports and protocols.
        ${ProtocolsList},

        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [string[]]
        # the source asset(s).
        ${RemoteEntitiesIdList},

        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [string[]]
        # excluded destination asset(s).
        ${ExcludedLocalIdsList},
        
        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [int]
        # the rule state.
        ${State},

        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [int64]
        # when the rule should expiry.
        ${ExpiresAt},

        [Parameter(ParameterSetName = 'UpdateExpanded')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Body')]
        [System.String]
        # the rule description.
        ${Description},

        [Parameter()]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Runtime')]
        [System.Management.Automation.SwitchParameter]
        # Run the command as a job
        ${AsJob},

        [Parameter(DontShow)]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Runtime')]
        [System.Management.Automation.SwitchParameter]
        # Wait for .NET debugger to attach
        ${Break},

        [Parameter(DontShow)]
        [ValidateNotNull()]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Runtime')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Runtime.SendAsyncStep[]]
        # SendAsync Pipeline Steps to be appended to the front of the pipeline
        ${HttpPipelineAppend},

        [Parameter(DontShow)]
        [ValidateNotNull()]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Runtime')]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Runtime.SendAsyncStep[]]
        # SendAsync Pipeline Steps to be prepended to the front of the pipeline
        ${HttpPipelinePrepend},

        [Parameter()]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Runtime')]
        [System.Management.Automation.SwitchParameter]
        # Run the command asynchronously
        ${NoWait},

        [Parameter(DontShow)]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Runtime')]
        [System.Uri]
        # The URI for the proxy server to use
        ${Proxy},

        [Parameter(DontShow)]
        [ValidateNotNull()]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Runtime')]
        [System.Management.Automation.PSCredential]
        # Credentials for a proxy server to use for the remote call
        ${ProxyCredential},

        [Parameter(DontShow)]
        [ZeroNetworks.PowerShell.Cmdlets.Api.Category('Runtime')]
        [System.Management.Automation.SwitchParameter]
        # Use the default credentials for the proxy
        ${ProxyUseDefaultCredentials}
    )

    process {
        try {
            #Handle Get
            $ruleId = $PSBoundParameters['RuleId'].ToString()
            $groupId = $PSBoundParameters['GroupId'].ToString()
            $groupType = $PSBoundParameters['GroupType'].ToString()
            $rule = ZeroNetworks\Get-ZNGroupsOutboundOtRule -GroupId $groupId -GroupType $groupType -RuleId $ruleId
            
            $updatedRule = [ZeroNetworks.PowerShell.Cmdlets.Api.Models.SwitchRuleBody]::new()
            
            $updatedRule.Direction = 2

            if($PSBoundParameters['LocalEntityId']){
                $updatedRule.LocalEntityId = $PSBoundParameters['LocalEntityId']
                $null = $PSBoundParameters.Remove('LocalEntityId')
            }
            else{
                $updatedRule.LocalEntityId = $rule.ItemLocalEntityId
                $null = $PSBoundParameters.Remove('LocalEntityId')
            }

            if($PSBoundParameters['ProtocolsList']){
                $updatedRule.ProtocolsList = $PSBoundParameters['ProtocolsList']
                $null = $PSBoundParameters.Remove('ProtocolsList')
            }
            else{
                $protocolList = @()
                foreach($protocol in $rule.ItemProtocolsList){
                    $protocolList += New-ZNProtocolsList -Protocol $protocol.ProtocolType -LocalPorts $protocol.LocalPorts -RemotePorts $protocol.RemotePorts
                }
                $updatedRule.ProtocolsList =  $protocolList
                $null = $PSBoundParameters.Remove('ProtocolsList')
            }
            
            if($PSBoundParameters['RemoteEntitiesIdList']){
                $updatedRule.RemoteEntitiesIdList = $PSBoundParameters['RemoteEntitiesIdList']
                $null = $PSBoundParameters.Remove('RemoteEntitiesIdList')
            }
            else{
                $updatedRule.RemoteEntitiesIdList = $rule.ItemRemoteEntitiesIdList
                $null = $PSBoundParameters.Remove('RemoteEntitiesIdList')
            }
            
            if($PSBoundParameters['ExcludedLocalIdsList']){
                $updatedRule.ExcludedLocalIdsList = $PSBoundParameters['ExcludedLocalIdsList']
                $null = $PSBoundParameters.Remove('ExcludedLocalIdsList')
            }
            else{
                $updatedRule.ExcludedLocalIdsList = $rule.ItemExcludedLocalIdsList
                $null = $PSBoundParameters.Remove('ExcludedLocalIdsList')
            }

            if($PSBoundParameters['State']){
                $updatedRule.State = $PSBoundParameters['State']
                $null = $PSBoundParameters.Remove('State')
            }
            else{
                $updatedRule.State = $rule.ItemState
                $null = $PSBoundParameters.Remove('State')
            }

            if($PSBoundParameters['ExpiresAt']){
                $updatedRule.ExpiresAt = $PSBoundParameters['ExpiresAt']
                $null = $PSBoundParameters.Remove('ExpiresAt')
            }
            else{
                $updatedRule.ExpiresAt = $rule.ItemExpiresAt
                $null = $PSBoundParameters.Remove('ExpiresAt')
            }
            
            if($PSBoundParameters['Description']){
                $updatedRule.Description = $PSBoundParameters['Description']
                $null = $PSBoundParameters.Remove('Description')
            }
            else{
                $updatedRule.Description = $rule.ItemDescription
                $null = $PSBoundParameters.Remove('Description')
            }

            if($PSBoundParameters['Action']){
                $updatedRule.Action = $PSBoundParameters['Action']
                $null = $PSBoundParameters.Remove('Action')
            }
            else{
                $updatedRule.Action = $rule.ItemAction
                $null = $PSBoundParameters.Remove('Action')
            }

            #Write-Debug $updatedRule | Out-String
            $null = $PSBoundParameters.Add('Body', $updatedRule)
            ZeroNetworks.internal\Update-ZNGroupsInboundOtRule @PSBoundParameters
        }
        catch {
            throw
        }
    }
}
# SIG # Begin signature block
# MII97QYJKoZIhvcNAQcCoII93jCCPdoCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCC8L1iy7zfIebVm
# 5JFyjTd1KGLTOovaS8WeOu/tkTkmgaCCIrIwggXMMIIDtKADAgECAhBUmNLR1FsZ
# lUgTecgRwIeZMA0GCSqGSIb3DQEBDAUAMHcxCzAJBgNVBAYTAlVTMR4wHAYDVQQK
# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jvc29mdCBJZGVu
# dGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAy
# MDAeFw0yMDA0MTYxODM2MTZaFw00NTA0MTYxODQ0NDBaMHcxCzAJBgNVBAYTAlVT
# MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jv
# c29mdCBJZGVudGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRo
# b3JpdHkgMjAyMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALORKgeD
# Bmf9np3gx8C3pOZCBH8Ppttf+9Va10Wg+3cL8IDzpm1aTXlT2KCGhFdFIMeiVPvH
# or+Kx24186IVxC9O40qFlkkN/76Z2BT2vCcH7kKbK/ULkgbk/WkTZaiRcvKYhOuD
# PQ7k13ESSCHLDe32R0m3m/nJxxe2hE//uKya13NnSYXjhr03QNAlhtTetcJtYmrV
# qXi8LW9J+eVsFBT9FMfTZRY33stuvF4pjf1imxUs1gXmuYkyM6Nix9fWUmcIxC70
# ViueC4fM7Ke0pqrrBc0ZV6U6CwQnHJFnni1iLS8evtrAIMsEGcoz+4m+mOJyoHI1
# vnnhnINv5G0Xb5DzPQCGdTiO0OBJmrvb0/gwytVXiGhNctO/bX9x2P29Da6SZEi3
# W295JrXNm5UhhNHvDzI9e1eM80UHTHzgXhgONXaLbZ7LNnSrBfjgc10yVpRnlyUK
# xjU9lJfnwUSLgP3B+PR0GeUw9gb7IVc+BhyLaxWGJ0l7gpPKWeh1R+g/OPTHU3mg
# trTiXFHvvV84wRPmeAyVWi7FQFkozA8kwOy6CXcjmTimthzax7ogttc32H83rwjj
# O3HbbnMbfZlysOSGM1l0tRYAe1BtxoYT2v3EOYI9JACaYNq6lMAFUSw0rFCZE4e7
# swWAsk0wAly4JoNdtGNz764jlU9gKL431VulAgMBAAGjVDBSMA4GA1UdDwEB/wQE
# AwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTIftJqhSobyhmYBAcnz1AQ
# T2ioojAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQwFAAOCAgEAr2rd5hnn
# LZRDGU7L6VCVZKUDkQKL4jaAOxWiUsIWGbZqWl10QzD0m/9gdAmxIR6QFm3FJI9c
# Zohj9E/MffISTEAQiwGf2qnIrvKVG8+dBetJPnSgaFvlVixlHIJ+U9pW2UYXeZJF
# xBA2CFIpF8svpvJ+1Gkkih6PsHMNzBxKq7Kq7aeRYwFkIqgyuH4yKLNncy2RtNwx
# AQv3Rwqm8ddK7VZgxCwIo3tAsLx0J1KH1r6I3TeKiW5niB31yV2g/rarOoDXGpc8
# FzYiQR6sTdWD5jw4vU8w6VSp07YEwzJ2YbuwGMUrGLPAgNW3lbBeUU0i/OxYqujY
# lLSlLu2S3ucYfCFX3VVj979tzR/SpncocMfiWzpbCNJbTsgAlrPhgzavhgplXHT2
# 6ux6anSg8Evu75SjrFDyh+3XOjCDyft9V77l4/hByuVkrrOj7FjshZrM77nq81YY
# uVxzmq/FdxeDWds3GhhyVKVB0rYjdaNDmuV3fJZ5t0GNv+zcgKCf0Xd1WF81E+Al
# GmcLfc4l+gcK5GEh2NQc5QfGNpn0ltDGFf5Ozdeui53bFv0ExpK91IjmqaOqu/dk
# ODtfzAzQNb50GQOmxapMomE2gj4d8yu8l13bS3g7LfU772Aj6PXsCyM2la+YZr9T
# 03u4aUoqlmZpxJTG9F9urJh4iIAGXKKy7aIwggbtMIIE1aADAgECAhMzAAPX2Qh3
# cP5DS3rjAAAAA9fZMA0GCSqGSIb3DQEBDAUAMFoxCzAJBgNVBAYTAlVTMR4wHAYD
# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKzApBgNVBAMTIk1pY3Jvc29mdCBJ
# RCBWZXJpZmllZCBDUyBFT0MgQ0EgMDIwHhcNMjUwODA0MDMyODA3WhcNMjUwODA3
# MDMyODA3WjBrMQswCQYDVQQGEwJJTDERMA8GA1UECBMIVGVsIEF2aXYxETAPBgNV
# BAcTCFRlbCBBdml2MRowGAYDVQQKExFaZXJvIE5ldHdvcmtzIEx0ZDEaMBgGA1UE
# AxMRWmVybyBOZXR3b3JrcyBMdGQwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGK
# AoIBgQCNNX6IHKueRYXRZ9Foah9tSZbaABVwGmRcLsMNXKfroHVgfOQoqTioHNdq
# BMA8uPUiXkrOSRSa5/VWEMDgG+0F63iAyrc0wKEBiYfLXiCqSr8dgTg5ygAMCpmN
# 3R/MhzmRWmfgQ/jPy2arkUVpzOaJFn0EdHQSkShLeL6d977RIhhteg7TPcYH2Pou
# GcJJjAu1bJJyIcjr+N73EQqcIbsGeobN1LLSZoIJZ8AVU50auqxldXCF4zFNJvjP
# rbLM0ZzYDPNWQ03pS14MZsccYDLt+CHJperZhkyHwXkyQ9aKGoFY56sk5TkhAbfg
# 6Z/b0vJmcWzUe33pYUt18vcwkrYn6/mSZXXYA+2C+z6jfpa9xSsvWl3UEZdkaCyf
# fLQi2ASJJXxlPmyZmSYJ2Z7muvvjsrM3rMp1JtdAbNqwdItzqeLOt6g4T9RWEK54
# LHk9f6qwgRs4jWVJDe2Kh77tza8Q267qzLZ7ITAi19XYB2vHE1pMMKDW9jnfLr3h
# yRovNTMCAwEAAaOCAhkwggIVMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeA
# MDwGA1UdJQQ1MDMGCisGAQQBgjdhAQAGCCsGAQUFBwMDBhsrBgEEAYI3YYGwosY4
# g9jRjh+BtaSjBsGi+2swHQYDVR0OBBYEFHuhZ3Dm8FpkoROSFvSPeyem7hadMB8G
# A1UdIwQYMBaAFGWfUc6FaH8vikWIqt2nMbseDQBeMGcGA1UdHwRgMF4wXKBaoFiG
# Vmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUy
# MElEJTIwVmVyaWZpZWQlMjBDUyUyMEVPQyUyMENBJTIwMDIuY3JsMIGlBggrBgEF
# BQcBAQSBmDCBlTBkBggrBgEFBQcwAoZYaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
# L3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBJRCUyMFZlcmlmaWVkJTIwQ1MlMjBF
# T0MlMjBDQSUyMDAyLmNydDAtBggrBgEFBQcwAYYhaHR0cDovL29uZW9jc3AubWlj
# cm9zb2Z0LmNvbS9vY3NwMGYGA1UdIARfMF0wUQYMKwYBBAGCN0yDfQEBMEEwPwYI
# KwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9S
# ZXBvc2l0b3J5Lmh0bTAIBgZngQwBBAEwDQYJKoZIhvcNAQEMBQADggIBAIRKlBxZ
# J7myaDnUL1O0KP2y2XyWCTdV0V81CMRWs431GfXrL6Ez4/gaj6t5BN2CZgAyBfXl
# HwJzXZ2ticEZsWyClI6jyFvr/hoola2c/WdtoNzE1dXiQVYwB7jTLXG+SdTJ0qlH
# 8HPBwmjUDrofA1alTCbwA8KBTMbaQ2hXhEDZdTAYXPzXQcDG4Bvs/WXEHmsgsvXn
# Xnep/4uRueJrHezqeb2zBea61vMp9SfSDME0cIJzE/r6pu3/nM3wtN3Au9zN4Bry
# 62hoBduuG/zFy+AiZaJAgPe9LfBVMQGzD3rrpW6unvu6CIGhsW+33RZSs0pi4Xn1
# 0Tmzyj+NsSHdgU4Y5RvSxfsYtndM1UdhCx1+FoNUPyv4s4E1LxIzWeDzoxrzm2xn
# 0lILIaVpoESnghM13NYEB0N5gc1aDF7Np9X1je34fH7zw6dLJYxAj0ZFWd7lTY6d
# 61AFcPifTh4i118EpmyogiM1+PlsBKxvVOMhm3hZYuUVsraeSKmHqrDu/maWKxph
# n4+P4dTgLXe98A1G/By/xktuR4/MvF8nkBmIQOoe5ux36+MuEpC7vOj7k4YlPH+L
# C/BHfiJknBivX6ObCGkPk5fkg6G2pFYoalT1iOVfNvVUbjwPtiSEQpca0fb7XnAF
# Dss8fBqTykTcCQj9dTzvFzrnfI88sArLAOJiMIIG7TCCBNWgAwIBAgITMwAD19kI
# d3D+Q0t64wAAAAPX2TANBgkqhkiG9w0BAQwFADBaMQswCQYDVQQGEwJVUzEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSswKQYDVQQDEyJNaWNyb3NvZnQg
# SUQgVmVyaWZpZWQgQ1MgRU9DIENBIDAyMB4XDTI1MDgwNDAzMjgwN1oXDTI1MDgw
# NzAzMjgwN1owazELMAkGA1UEBhMCSUwxETAPBgNVBAgTCFRlbCBBdml2MREwDwYD
# VQQHEwhUZWwgQXZpdjEaMBgGA1UEChMRWmVybyBOZXR3b3JrcyBMdGQxGjAYBgNV
# BAMTEVplcm8gTmV0d29ya3MgTHRkMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIB
# igKCAYEAjTV+iByrnkWF0WfRaGofbUmW2gAVcBpkXC7DDVyn66B1YHzkKKk4qBzX
# agTAPLj1Il5KzkkUmuf1VhDA4BvtBet4gMq3NMChAYmHy14gqkq/HYE4OcoADAqZ
# jd0fzIc5kVpn4EP4z8tmq5FFaczmiRZ9BHR0EpEoS3i+nfe+0SIYbXoO0z3GB9j6
# LhnCSYwLtWySciHI6/je9xEKnCG7BnqGzdSy0maCCWfAFVOdGrqsZXVwheMxTSb4
# z62yzNGc2AzzVkNN6UteDGbHHGAy7fghyaXq2YZMh8F5MkPWihqBWOerJOU5IQG3
# 4Omf29LyZnFs1Ht96WFLdfL3MJK2J+v5kmV12APtgvs+o36WvcUrL1pd1BGXZGgs
# n3y0ItgEiSV8ZT5smZkmCdme5rr747KzN6zKdSbXQGzasHSLc6nizreoOE/UVhCu
# eCx5PX+qsIEbOI1lSQ3tioe+7c2vENuu6sy2eyEwItfV2AdrxxNaTDCg1vY53y69
# 4ckaLzUzAgMBAAGjggIZMIICFTAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIH
# gDA8BgNVHSUENTAzBgorBgEEAYI3YQEABggrBgEFBQcDAwYbKwYBBAGCN2GBsKLG
# OIPY0Y4fgbWkowbBovtrMB0GA1UdDgQWBBR7oWdw5vBaZKETkhb0j3snpu4WnTAf
# BgNVHSMEGDAWgBRln1HOhWh/L4pFiKrdpzG7Hg0AXjBnBgNVHR8EYDBeMFygWqBY
# hlZodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNyb3NvZnQl
# MjBJRCUyMFZlcmlmaWVkJTIwQ1MlMjBFT0MlMjBDQSUyMDAyLmNybDCBpQYIKwYB
# BQUHAQEEgZgwgZUwZAYIKwYBBQUHMAKGWGh0dHA6Ly93d3cubWljcm9zb2Z0LmNv
# bS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwSUQlMjBWZXJpZmllZCUyMENTJTIw
# RU9DJTIwQ0ElMjAwMi5jcnQwLQYIKwYBBQUHMAGGIWh0dHA6Ly9vbmVvY3NwLm1p
# Y3Jvc29mdC5jb20vb2NzcDBmBgNVHSAEXzBdMFEGDCsGAQQBgjdMg30BATBBMD8G
# CCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3Mv
# UmVwb3NpdG9yeS5odG0wCAYGZ4EMAQQBMA0GCSqGSIb3DQEBDAUAA4ICAQCESpQc
# WSe5smg51C9TtCj9stl8lgk3VdFfNQjEVrON9Rn16y+hM+P4Go+reQTdgmYAMgX1
# 5R8Cc12drYnBGbFsgpSOo8hb6/4aKJWtnP1nbaDcxNXV4kFWMAe40y1xvknUydKp
# R/BzwcJo1A66HwNWpUwm8APCgUzG2kNoV4RA2XUwGFz810HAxuAb7P1lxB5rILL1
# 5153qf+Lkbniax3s6nm9swXmutbzKfUn0gzBNHCCcxP6+qbt/5zN8LTdwLvczeAa
# 8utoaAXbrhv8xcvgImWiQID3vS3wVTEBsw9666Vurp77ugiBobFvt90WUrNKYuF5
# 9dE5s8o/jbEh3YFOGOUb0sX7GLZ3TNVHYQsdfhaDVD8r+LOBNS8SM1ng86Ma85ts
# Z9JSCyGlaaBEp4ITNdzWBAdDeYHNWgxezafV9Y3t+Hx+88OnSyWMQI9GRVne5U2O
# netQBXD4n04eItdfBKZsqIIjNfj5bASsb1TjIZt4WWLlFbK2nkiph6qw7v5mlisa
# YZ+Pj+HU4C13vfANRvwcv8ZLbkePzLxfJ5AZiEDqHubsd+vjLhKQu7zo+5OGJTx/
# iwvwR34iZJwYr1+jmwhpD5OX5IOhtqRWKGpU9YjlXzb1VG48D7YkhEKXGtH2+15w
# BQ7LPHwak8pE3AkI/XU87xc653yPPLAKywDiYjCCB1owggVCoAMCAQICEzMAAAAF
# +3pcMhNh310AAAAAAAUwDQYJKoZIhvcNAQEMBQAwYzELMAkGA1UEBhMCVVMxHjAc
# BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjE0MDIGA1UEAxMrTWljcm9zb2Z0
# IElEIFZlcmlmaWVkIENvZGUgU2lnbmluZyBQQ0EgMjAyMTAeFw0yMTA0MTMxNzMx
# NTNaFw0yNjA0MTMxNzMxNTNaMFoxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKzApBgNVBAMTIk1pY3Jvc29mdCBJRCBWZXJpZmll
# ZCBDUyBFT0MgQ0EgMDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDS
# Gpl8PzKQpMDoINta+yGYGkOgF/su/XfZFW5KpXBA7doAsuS5GedMihGYwajR8gxC
# u3BHpQcHTrF2o6QB+oHp7G5tdMe7jj524dQJ0TieCMQsFDKW4y5I6cdoR294hu3f
# U6EwRf/idCSmHj4CHR5HgfaxNGtUqYquU6hCWGJrvdCDZ0eiK1xfW5PW9bcqem30
# y3voftkdss2ykxkuRYFpsoyXoF1pZldik8Z1L6pjzSANo0K8WrR3XRQy7vEd6wip
# elMNPdDcB47FLKVJNz/vg/eiD2Pc656YQVq4XMvnm3Uy+lp0SFCYPy4UzEW/+Jk6
# PC9x1jXOFqdUsvKmXPXf83NKhTdCOE92oAaFEjCH9gPOjeMJ1UmBZBGtbzc/epYU
# WTE2IwTaI7gi5iCPtHCx4bC/sj1zE7JoeKEox1P016hKOlI3NWcooZxgy050y0oW
# qhXsKKbabzgaYhhlMGitH8+j2LCVqxNgoWkZmp1YrJick7YVXygyZaQgrWJqAsuA
# S3plpHSuT/WNRiyzJOJGpavzhCzdcv9XkpQES1QRB9D/hG2cjT24UVQgYllX2YP/
# E5SSxah0asJBJ6bofLbrXEwkAepOoy4MqDCLzGT+Z+WvvKFc8vvdI5Qua7UCq7gj
# sal7pDA1bZO1AHEze+1JOZ09bqsrnLSAQPnVGOzIrQIDAQABo4ICDjCCAgowDgYD
# VR0PAQH/BAQDAgGGMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRln1HOhWh/
# L4pFiKrdpzG7Hg0AXjBUBgNVHSAETTBLMEkGBFUdIAAwQTA/BggrBgEFBQcCARYz
# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnku
# aHRtMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMBIGA1UdEwEB/wQIMAYBAf8C
# AQAwHwYDVR0jBBgwFoAU2UEpsA8PY2zvadf1zSmepEhqMOYwcAYDVR0fBGkwZzBl
# oGOgYYZfaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWljcm9z
# b2Z0JTIwSUQlMjBWZXJpZmllZCUyMENvZGUlMjBTaWduaW5nJTIwUENBJTIwMjAy
# MS5jcmwwga4GCCsGAQUFBwEBBIGhMIGeMG0GCCsGAQUFBzAChmFodHRwOi8vd3d3
# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMElEJTIwVmVy
# aWZpZWQlMjBDb2RlJTIwU2lnbmluZyUyMFBDQSUyMDIwMjEuY3J0MC0GCCsGAQUF
# BzABhiFodHRwOi8vb25lb2NzcC5taWNyb3NvZnQuY29tL29jc3AwDQYJKoZIhvcN
# AQEMBQADggIBAEVJYNR3TxfiDkfO9V+sHVKJXymTpc8dP2M+QKa9T+68HOZlECNi
# TaAphHelehK1Elon+WGMLkOr/ZHs/VhFkcINjIrTO9JEx0TphC2AaOax2HMPScJL
# qFVVyB+Y1Cxw8nVYfFu8bkRCBhDRkQPUU3Qw49DNZ7XNsflVrR1LG2eh0FVGOfIN
# gSbuw0Ry8kdMbd5fMDJ3TQTkoMKwSXjPk7Sa9erBofY9LTbTQTo/haovCCz82ZS7
# n4BrwvD/YSfZWQhbs+SKvhSfWMbr62P96G6qAXJQ88KHqRue+TjxuKyL/M+MBWSP
# uoSuvt9JggILMnizhhQ1VUeB2gWfbFtbtl8FPdAD3N+Gr27gTFdutUPmvFdJMURS
# DaDNCr0kfGx0fIx9wIosVA5c4NLNxh4ukJ36voZygMFOjI90pxyMLqYCrr7+GIwO
# em8pQgenJgTNZR5q23Ipe0x/5Csl5D6fLmMEv7Gp0448TPd2Duqfz+imtStRsYsG
# /19abXx9Zd0C/U8K0sv9pwwu0ejJ5JUwpBioMdvdCbS5D41DRgTiRTFJBr5b9wLN
# gAjfa43Sdv0zgyvWmPhslmJ02QzgnJip7OiEgvFiSAdtuglAhKtBaublFh3KEoGm
# m0n0kmfRnrcuN2fOU5TGOWwBtCKvZabP84kTvTcFseZBlHDM/HW+7tLnMIIHnjCC
# BYagAwIBAgITMwAAAAeHozSje6WOHAAAAAAABzANBgkqhkiG9w0BAQwFADB3MQsw
# CQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMUgwRgYD
# VQQDEz9NaWNyb3NvZnQgSWRlbnRpdHkgVmVyaWZpY2F0aW9uIFJvb3QgQ2VydGlm
# aWNhdGUgQXV0aG9yaXR5IDIwMjAwHhcNMjEwNDAxMjAwNTIwWhcNMzYwNDAxMjAx
# NTIwWjBjMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0
# aW9uMTQwMgYDVQQDEytNaWNyb3NvZnQgSUQgVmVyaWZpZWQgQ29kZSBTaWduaW5n
# IFBDQSAyMDIxMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsvDArxmI
# KOLdVHpMSWxpCFUJtFL/ekr4weslKPdnF3cpTeuV8veqtmKVgok2rO0D05BpyvUD
# Cg1wdsoEtuxACEGcgHfjPF/nZsOkg7c0mV8hpMT/GvB4uhDvWXMIeQPsDgCzUGzT
# voi76YDpxDOxhgf8JuXWJzBDoLrmtThX01CE1TCCvH2sZD/+Hz3RDwl2MsvDSdX5
# rJDYVuR3bjaj2QfzZFmwfccTKqMAHlrz4B7ac8g9zyxlTpkTuJGtFnLBGasoOnn5
# NyYlf0xF9/bjVRo4Gzg2Yc7KR7yhTVNiuTGH5h4eB9ajm1OCShIyhrKqgOkc4smz
# 6obxO+HxKeJ9bYmPf6KLXVNLz8UaeARo0BatvJ82sLr2gqlFBdj1sYfqOf00Qm/3
# B4XGFPDK/H04kteZEZsBRc3VT2d/iVd7OTLpSH9yCORV3oIZQB/Qr4nD4YT/lWkh
# Vtw2v2s0TnRJubL/hFMIQa86rcaGMhNsJrhysLNNMeBhiMezU1s5zpusf54qlYu2
# v5sZ5zL0KvBDLHtL8F9gn6jOy3v7Jm0bbBHjrW5yQW7S36ALAt03QDpwW1JG1Hxu
# /FUXJbBO2AwwVG4Fre+ZQ5Od8ouwt59FpBxVOBGfN4vN2m3fZx1gqn52GvaiBz6o
# zorgIEjn+PhUXILhAV5Q/ZgCJ0u2+ldFGjcCAwEAAaOCAjUwggIxMA4GA1UdDwEB
# /wQEAwIBhjAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU2UEpsA8PY2zvadf1
# zSmepEhqMOYwVAYDVR0gBE0wSzBJBgRVHSAAMEEwPwYIKwYBBQUHAgEWM2h0dHA6
# Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTAZ
# BgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAPBgNVHRMBAf8EBTADAQH/MB8GA1Ud
# IwQYMBaAFMh+0mqFKhvKGZgEByfPUBBPaKiiMIGEBgNVHR8EfTB7MHmgd6B1hnNo
# dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBJ
# ZGVudGl0eSUyMFZlcmlmaWNhdGlvbiUyMFJvb3QlMjBDZXJ0aWZpY2F0ZSUyMEF1
# dGhvcml0eSUyMDIwMjAuY3JsMIHDBggrBgEFBQcBAQSBtjCBszCBgQYIKwYBBQUH
# MAKGdWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9z
# b2Z0JTIwSWRlbnRpdHklMjBWZXJpZmljYXRpb24lMjBSb290JTIwQ2VydGlmaWNh
# dGUlMjBBdXRob3JpdHklMjAyMDIwLmNydDAtBggrBgEFBQcwAYYhaHR0cDovL29u
# ZW9jc3AubWljcm9zb2Z0LmNvbS9vY3NwMA0GCSqGSIb3DQEBDAUAA4ICAQB/JSqe
# /tSr6t1mCttXI0y6XmyQ41uGWzl9xw+WYhvOL47BV09Dgfnm/tU4ieeZ7NAR5bgu
# orTCNr58HOcA1tcsHQqt0wJsdClsu8bpQD9e/al+lUgTUJEV80Xhco7xdgRrehby
# hUf4pkeAhBEjABvIUpD2LKPho5Z4DPCT5/0TlK02nlPwUbv9URREhVYCtsDM+31O
# FU3fDV8BmQXv5hT2RurVsJHZgP4y26dJDVF+3pcbtvh7R6NEDuYHYihfmE2HdQRq
# 5jRvLE1Eb59PYwISFCX2DaLZ+zpU4bX0I16ntKq4poGOFaaKtjIA1vRElItaOKcw
# tc04CBrXSfyL2Op6mvNIxTk4OaswIkTXbFL81ZKGD+24uMCwo/pLNhn7VHLfnxlM
# VzHQVL+bHa9KhTyzwdG/L6uderJQn0cGpLQMStUuNDArxW2wF16QGZ1NtBWgKA8K
# qv48M8HfFqNifN6+zt6J0GwzvU8g0rYGgTZR8zDEIJfeZxwWDHpSxB5FJ1VVU1LI
# AtB7o9PXbjXzGifaIMYTzU4YKt4vMNwwBmetQDHhdAtTPplOXrnI9SI6HeTtjDD3
# iUN/7ygbahmYOHk7VB7fwT4ze+ErCbMh6gHV1UuXPiLciloNxH6K4aMfZN1oLVk6
# YFeIJEokuPgNPa6EnTiOL60cPqfny+Fq8UiuZzGCGpEwghqNAgEBMHEwWjELMAkG
# A1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjErMCkGA1UE
# AxMiTWljcm9zb2Z0IElEIFZlcmlmaWVkIENTIEVPQyBDQSAwMgITMwAD19kId3D+
# Q0t64wAAAAPX2TANBglghkgBZQMEAgEFAKBeMBAGCisGAQQBgjcCAQwxAjAAMBkG
# CSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMC8GCSqGSIb3DQEJBDEiBCDpBwO3Ebgi
# kx8qycoTmEHFTyytXCSbfv7sw4+fjvxUZzANBgkqhkiG9w0BAQEFAASCAYAP9mFT
# d36dioBHRf8awOQvJo5ON1YfY1/KMWShl3OMBJo7E2lvH947FrAPo8Ty18Eq+xhx
# DTTchklki/5ELa9kGJUkEB8eAexugA/KY1fzlO6Aiiy9qEfssCBjvX9f7xnL57Bk
# xWjj6G7e7NXGryqUm7POSTQ1jqGLAP7Y+7/exynchlThU+dKdm1BOQNXOhF1yMHL
# 8NWCpvdnxp/ernXHYPLYusikw5a7Tgpnuzzc/8D+xJ5wYowUt189WevWgqfZFU7e
# z+mdsSxLGUpguoEDjnQ00rtDlkmq+BcySx8CSV5kRZ8FhfSS+fkrRZkGuqfP0HjO
# Fdi9XRY59HRJy9CoHdGlpOqiEQbR60+EcxScrLK/ueKM/CdgHy3ojICFZv99Mljt
# /X+jWt2mhYANdnfZiVTD567Gv6J5ROW0fdviGWTZ9rqji8xuMJOW9ABz7jXJJeX5
# Uov3HiuSVIsVH7wDg9gfHdplsjoRA7wW3SuE4Y2w/ip73aA7NyKicc6/9zihghgR
# MIIYDQYKKwYBBAGCNwMDATGCF/0wghf5BgkqhkiG9w0BBwKgghfqMIIX5gIBAzEP
# MA0GCWCGSAFlAwQCAQUAMIIBYgYLKoZIhvcNAQkQAQSgggFRBIIBTTCCAUkCAQEG
# CisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQgjOfdWFr3JvdyFhZjlUNzXpy2
# v4YLvzUALV9khFgpwM4CBmhZddYQqBgTMjAyNTA4MDQwODIzMjIuMDUzWjAEgAIB
# 9KCB4aSB3jCB2zELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
# BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEl
# MCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2EgT3BlcmF0aW9uczEnMCUGA1UECxMe
# blNoaWVsZCBUU1MgRVNOOkE1MDAtMDVFMC1EOTQ3MTUwMwYDVQQDEyxNaWNyb3Nv
# ZnQgUHVibGljIFJTQSBUaW1lIFN0YW1waW5nIEF1dGhvcml0eaCCDyEwggeCMIIF
# aqADAgECAhMzAAAABeXPD/9mLsmHAAAAAAAFMA0GCSqGSIb3DQEBDAUAMHcxCzAJ
# BgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNV
# BAMTP01pY3Jvc29mdCBJZGVudGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZp
# Y2F0ZSBBdXRob3JpdHkgMjAyMDAeFw0yMDExMTkyMDMyMzFaFw0zNTExMTkyMDQy
# MzFaMGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp
# b24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFtcGluZyBD
# QSAyMDIwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnnznUmP94MWf
# BX1jtQYioxwe1+eXM9ETBb1lRkd3kcFdcG9/sqtDlwxKoVIcaqDb+omFio5DHC4R
# BcbyQHjXCwMk/l3TOYtgoBjxnG/eViS4sOx8y4gSq8Zg49REAf5huXhIkQRKe3Qx
# s8Sgp02KHAznEa/Ssah8nWo5hJM1xznkRsFPu6rfDHeZeG1Wa1wISvlkpOQooTUL
# Fm809Z0ZYlQ8Lp7i5F9YciFlyAKwn6yjN/kR4fkquUWfGmMopNq/B8U/pdoZkZZQ
# bxNlqJOiBGgCWpx69uKqKhTPVi3gVErnc/qi+dR8A2MiAz0kN0nh7SqINGbmw5OI
# RC0EsZ31WF3Uxp3GgZwetEKxLms73KG/Z+MkeuaVDQQheangOEMGJ4pQZH55ngI0
# Tdy1bi69INBV5Kn2HVJo9XxRYR/JPGAaM6xGl57Ei95HUw9NV/uC3yFjrhc087qL
# JQawSC3xzY/EXzsT4I7sDbxOmM2rl4uKK6eEpurRduOQ2hTkmG1hSuWYBunFGNv2
# 1Kt4N20AKmbeuSnGnsBCd2cjRKG79+TX+sTehawOoxfeOO/jR7wo3liwkGdzPJYH
# gnJ54UxbckF914AqHOiEV7xTnD1a69w/UTxwjEugpIPMIIE67SFZ2PMo27xjlLAH
# WW3l1CEAFjLNHd3EQ79PUr8FUXetXr0CAwEAAaOCAhswggIXMA4GA1UdDwEB/wQE
# AwIBhjAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQUa2koOjUvSGNAz3vYr0np
# Ptk92yEwVAYDVR0gBE0wSzBJBgRVHSAAMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93
# d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNV
# HSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAPBgNV
# HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFMh+0mqFKhvKGZgEByfPUBBPaKiiMIGE
# BgNVHR8EfTB7MHmgd6B1hnNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3Bz
# L2NybC9NaWNyb3NvZnQlMjBJZGVudGl0eSUyMFZlcmlmaWNhdGlvbiUyMFJvb3Ql
# MjBDZXJ0aWZpY2F0ZSUyMEF1dGhvcml0eSUyMDIwMjAuY3JsMIGUBggrBgEFBQcB
# AQSBhzCBhDCBgQYIKwYBBQUHMAKGdWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w
# a2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwSWRlbnRpdHklMjBWZXJpZmljYXRpb24l
# MjBSb290JTIwQ2VydGlmaWNhdGUlMjBBdXRob3JpdHklMjAyMDIwLmNydDANBgkq
# hkiG9w0BAQwFAAOCAgEAX4h2x35ttVoVdedMeGj6TuHYRJklFaW4sTQ5r+k77iB7
# 9cSLNe+GzRjv4pVjJviceW6AF6ycWoEYR0LYhaa0ozJLU5Yi+LCmcrdovkl53DNt
# 4EXs87KDogYb9eGEndSpZ5ZM74LNvVzY0/nPISHz0Xva71QjD4h+8z2XMOZzY7YQ
# 0Psw+etyNZ1CesufU211rLslLKsO8F2aBs2cIo1k+aHOhrw9xw6JCWONNboZ497m
# wYW5EfN0W3zL5s3ad4Xtm7yFM7Ujrhc0aqy3xL7D5FR2J7x9cLWMq7eb0oYioXhq
# V2tgFqbKHeDick+P8tHYIFovIP7YG4ZkJWag1H91KlELGWi3SLv10o4KGag42psw
# jybTi4toQcC/irAodDW8HNtX+cbz0sMptFJK+KObAnDFHEsukxD+7jFfEV9Hh/+C
# SxKRsmnuiovCWIOb+H7DRon9TlxydiFhvu88o0w35JkNbJxTk4MhF/KgaXn0GxdH
# 8elEa2Imq45gaa8D+mTm8LWVydt4ytxYP/bqjN49D9NZ81coE6aQWm88TwIf4R4Y
# ZbOpMKN0CyejaPNN41LGXHeCUMYmBx3PkP8ADHD1J2Cr/6tjuOOCztfp+o9Nc+Zo
# IAkpUcA/X2gSMkgHAPUvIdtoSAHEUKiBhI6JQivRepyvWcl+JYbYbBh7pmgAXVsw
# ggeXMIIFf6ADAgECAhMzAAAASFV3ch50krf3AAAAAABIMA0GCSqGSIb3DQEBDAUA
# MGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
# MjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFtcGluZyBDQSAy
# MDIwMB4XDTI0MTEyNjE4NDg1MloXDTI1MTExOTE4NDg1MlowgdsxCzAJBgNVBAYT
# AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD
# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBB
# bWVyaWNhIE9wZXJhdGlvbnMxJzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjpBNTAw
# LTA1RTAtRDk0NzE1MDMGA1UEAxMsTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZSBT
# dGFtcGluZyBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
# AQDLfoD3Z++SVTIYJFnFnPrVlMvaJYlPTronDHe0VuiHANnCKTIq8qJk4weZ+cf1
# +vIJ7cdl+/gw3AaRgAQT/iDU6vLN6QfFg1YAO6cR7voo2y4QDJPguGjKpGtONxGj
# 9fOavAkDTH4gaTJnuK9mhvIzUqI7TEDV7JoK6Sy0kYsVcWbp2mF4RJ4FliqEm70Y
# NSwLjnKn5qYIZJoQYKg9ZWYzYabgr9clHsjlZtFepsTYn2hrim8vaeO9dymfk7pm
# XrQX2O85UQl8k6AK2B8KKQVuNNnBa37EAWfxxqlO97WOvkzboNZYWHWFOlS3aklv
# Sa+742PSVIyEgraCgkqIMZkVuzF+5QnuyVekXaZ/hz+3ujmyrxsnXUXbXYmQi6en
# T7comWGpTfRo2WZt+tEzvhl46YmQ9IGREfn+ZRBWr8CHA+x2q1uqg9GTfNUvkQ4H
# xLSeu4eqDFKj9ViIhQu+Yn/IGitWjufmfBKp2nigC4FFabRe4vShrA7xJtrbOFmJ
# 3jAIRtvu2dufiI7VuGQCPN2bXRjiafbBXevEuhA3998ECz4uwnGfSFF1u+LS7yDZ
# Lb8NzxXnuiN4bP/Xw3AjKBCGr/lnmSJiCwoMERhXCyLb8KUhAOzXF06EZN0xnwud
# 2A94OTQ7o66oXbii21Z6KxjnSGV1XizJNCa+P1yFEBqVKQIDAQABo4IByzCCAccw
# HQYDVR0OBBYEFKa9d/S6631KGfe8umYaOzc8HPdHMB8GA1UdIwQYMBaAFGtpKDo1
# L0hjQM972K9J6T7ZPdshMGwGA1UdHwRlMGMwYaBfoF2GW2h0dHA6Ly93d3cubWlj
# cm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMFB1YmxpYyUyMFJTQSUy
# MFRpbWVzdGFtcGluZyUyMENBJTIwMjAyMC5jcmwweQYIKwYBBQUHAQEEbTBrMGkG
# CCsGAQUFBzAChl1odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRz
# L01pY3Jvc29mdCUyMFB1YmxpYyUyMFJTQSUyMFRpbWVzdGFtcGluZyUyMENBJTIw
# MjAyMC5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAO
# BgNVHQ8BAf8EBAMCB4AwZgYDVR0gBF8wXTBRBgwrBgEEAYI3TIN9AQEwQTA/Bggr
# BgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1Jl
# cG9zaXRvcnkuaHRtMAgGBmeBDAEEAjANBgkqhkiG9w0BAQwFAAOCAgEATa2L4B40
# TANMMYgCNXTy+cuKTjDzNZ3dAJ+S4PbAKf78FBwQ79hYihqZ/qIg6GWt/jQ5GAsB
# SpBYKNZOMtUMArNQfIlZ42y2tylAP/xBGQ6wwmu0uBmXzg6W3TomTZ56bh90li7Z
# O4BbiiCg2CAkpvtTvrgYu7FbvvTqTIv/LvXQaCJx+sxvJPsbIAyWUSfIYTdAWlVo
# 63sJ8AkH5pzpifvkLyXmLxq2jTywaeD/pKazEJwXAby8+u04oCGVCZDbD+sDOJ75
# 3hbl6XyWOXmCpXVvj2wPoXJdI+T6DPtc9GWtMxSDUKZtVJV2UVgACazx8gODidj6
# h3aGwOr8Ut/FsO/X853Q1CYpfHWfW3JEkLc3FslKf2Kl2zH14EBoLeUpTykhn8NZ
# UeXhHsuuKjPx8mUALW/LglUjZXyJ3yBQ1PiOevpxTot8afXc6rlq9FJ2kgtM6ij2
# uW7f9at5yIcdwFM9VUm0aCgiXvjvRkQeSUIIAm40LX2qve2kdPgNe/Zt8yb5zDcs
# JjHhZPtXiW3TnBUYLqCsLnD6fVh6X5QvFbtjLlBIMt3XlvAQnuVEzhoyt3isww9w
# 8t+oGCg4aNh94IdKvUNS1ffxC+Q+XrsT3wDlSlqNSLfooxhsCu5gXKtzpfhx8+4l
# 9rVHJxgZE9nwGKiAbwNXxKFB3bVgmwodJbUxggdDMIIHPwIBATB4MGExCzAJBgNV
# BAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMT
# KU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFtcGluZyBDQSAyMDIwAhMzAAAA
# SFV3ch50krf3AAAAAABIMA0GCWCGSAFlAwQCAQUAoIIEnDARBgsqhkiG9w0BCRAC
# DzECBQAwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEP
# Fw0yNTA4MDQwODIzMjJaMC8GCSqGSIb3DQEJBDEiBCCclOkXvnvVhP94PFfTaaOz
# or+b3IzZ+TcixjwfkeLmhDCBuQYLKoZIhvcNAQkQAi8xgakwgaYwgaMwgaAEIOoq
# AVebTwjWn0P0gLwZ03YfjX3QvDtHZEl38m8i8x1BMHwwZaRjMGExCzAJBgNVBAYT
# AlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1p
# Y3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFtcGluZyBDQSAyMDIwAhMzAAAASFV3
# ch50krf3AAAAAABIMIIDXgYLKoZIhvcNAQkQAhIxggNNMIIDSaGCA0UwggNBMIIC
# KQIBATCCAQmhgeGkgd4wgdsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n
# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y
# YXRpb24xJTAjBgNVBAsTHE1pY3Jvc29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJzAl
# BgNVBAsTHm5TaGllbGQgVFNTIEVTTjpBNTAwLTA1RTAtRDk0NzE1MDMGA1UEAxMs
# TWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZSBTdGFtcGluZyBBdXRob3JpdHmiIwoB
# ATAHBgUrDgMCGgMVAOYSfUGUVzjpxDh59/qJiDRZaMMnoGcwZaRjMGExCzAJBgNV
# BAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMT
# KU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFtcGluZyBDQSAyMDIwMA0GCSqG
# SIb3DQEBCwUAAgUA7Dqp7jAiGA8yMDI1MDgwNDAzMzkyNloYDzIwMjUwODA1MDMz
# OTI2WjB0MDoGCisGAQQBhFkKBAExLDAqMAoCBQDsOqnuAgEAMAcCAQACAh9uMAcC
# AQACAhEuMAoCBQDsO/tuAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisGAQQBhFkK
# AwKgCjAIAgEAAgMHoSChCjAIAgEAAgMBhqAwDQYJKoZIhvcNAQELBQADggEBAKiJ
# opdYPQh4iVZWkBTMsDjZxGw+Kw04PcOb2TIN6kTH9ZUa+Crw1cq+hQQBHWR8Uj2K
# xsU2OZnQSY1fzw+1PWuvQ7kfZjlzI02f5DdQ5lsifs5PW5Tgc38m7hnIG05edJN6
# k5B3iFY+EqPiwIf4lDJQL2kyj2QL2kfnw0e7r5LOo7wbQ2t+mupNatuhnKsFLEPm
# 7JxoNNLJhR8pvau0kDHv5upBWOaxjCEOvgvzOOkAsdrb6ru5H4V4eF0tso6auNKT
# 9NJdlffcBmaNk7jjPb/fAYmxjvYd1ru2Yt7LigE5O8p0LYQUuB3HZL99DvELCWGi
# LtEIFRoJNqmf/8gmhtgwDQYJKoZIhvcNAQEBBQAEggIAjcyThGZKc6gmgUIyarbw
# 84SaouI8mcgumHR/YVDE6rl4Gx8qITHp9rKPp17x9h0+CjLKws9UV07yhvGnT21l
# ULTTBnbHLgOu7wcAK3+V5haoaxd5XV6R6G/e4FuGPjtKYW3cVqpJw3bvmBFlAMi/
# 7QBSPWLRrduiRS74Je8HOnCDrHbtBFBdg9HKPck2602Ehx7zbs3duj8CluQUebK2
# 1a47cYd8T9GhDefqD94mznwwZtO53wOKKmZ6RE+80Tr8gXyMcOg/yUVcy0ha4o4R
# Ylq2pjAe/PpbVP21NbArtFjIOe7aLH94NYYMJ+5XryLTtkZ3PiGQCNBmvB5edNDq
# DWy+Y0DoSf9+X1y7vQTo7k2zrXIu6Hi2Ygp/A41b/Dnuw36Wx2nd1lg8IBF+IuA3
# +bB5v75LhLAOifsQpy7G9JI8Jwq7YDBXx0XN8tH3jW6cK16IGEIh1wCf3BIjOcxV
# riF/3koBCYhUYl87fFlIdmgDuytD2U/G6KDxRQ+ZuCcZhqKD/z5DyAcIFcZSaSc4
# Etc8UuYEV3Ua0WF4CKEm/iZJiaPuFtrqqfFRGV+Dx4L2SBNS9NVfDQ8pFjLFTInL
# fajRQonVoTZ37aodmouNfSOMAgUzJnUO/byrPFyD8wkH41224R7CM3Zc7fTByZYa
# r8QU43pcOMHahUVpsW8kcWA=
# SIG # End signature block