exports/hybrid-2019-03-01/Set-AzLoadBalancer.ps1

<#
.Synopsis
Creates or updates a load balancer.
.Description
Creates or updates a load balancer.
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/az.network/set-azloadbalancer
.Inputs
Microsoft.Azure.PowerShell.Cmdlets.Network.Models.Api20171001.ILoadBalancer
.Outputs
Microsoft.Azure.PowerShell.Cmdlets.Network.Models.Api20171001.ILoadBalancer
.Notes
COMPLEX PARAMETER PROPERTIES
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
BACKENDADDRESSPOOL <IBackendAddressPool[]>: Collection of backend address pools used by a load balancer
  [Id <String>]: Resource ID.
  [Etag <String>]: A unique read-only string that changes whenever the resource is updated.
  [Name <String>]: Gets name of the resource that is unique within a resource group. This name can be used to access the resource.
  [OutboundNatRuleId <String>]: Resource ID.
  [ProvisioningState <String>]: Get provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
 
FRONTENDIPCONFIGURATION <IFrontendIPConfiguration[]>: Object representing the frontend IPs to be used for the load balancer
  [Id <String>]: Resource ID.
  [Etag <String>]: A unique read-only string that changes whenever the resource is updated.
  [Name <String>]: The name of the resource that is unique within a resource group. This name can be used to access the resource.
  [PrivateIPAddress <String>]: The private IP address of the IP configuration.
  [PrivateIPAllocationMethod <IPAllocationMethod?>]: The Private IP allocation method. Possible values are: 'Static' and 'Dynamic'.
  [ProvisioningState <String>]: Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
  [PublicIPAddress <IPublicIPAddress>]: The reference of the Public IP resource.
    [Id <String>]: Resource ID.
    [Location <String>]: Resource location.
    [Tag <IResourceTags>]: Resource tags.
      [(Any) <String>]: This indicates any property can be added to this object.
  [Subnet <ISubnet>]: The reference of the subnet resource.
    [Id <String>]: Resource ID.
  [Zone <String[]>]: A list of availability zones denoting the IP allocated for the resource needs to come from.
 
INBOUNDNATPOOL <IInboundNatPool[]>: Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules.
  BackendPort <Int32>: The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.
  FrontendPortRangeEnd <Int32>: The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65535.
  FrontendPortRangeStart <Int32>: The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65534.
  Protocol <TransportProtocol>: The transport protocol for the endpoint. Possible values are 'Udp' or 'Tcp' or 'All'.
  [Id <String>]: Resource ID.
  [Etag <String>]: A unique read-only string that changes whenever the resource is updated.
  [FrontendIPConfigurationId <String>]: Resource ID.
  [Name <String>]: The name of the resource that is unique within a resource group. This name can be used to access the resource.
  [ProvisioningState <String>]: Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
 
LOADBALANCER <ILoadBalancer>: LoadBalancer resource
  [Id <String>]: Resource ID.
  [Location <String>]: Resource location.
  [Tag <IResourceTags>]: Resource tags.
    [(Any) <String>]: This indicates any property can be added to this object.
 
LOADBALANCINGRULE <ILoadBalancingRule[]>: Object collection representing the load balancing rules Gets the provisioning
  FrontendPort <Int32>: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port"
  Protocol <TransportProtocol>: The transport protocol for the endpoint. Possible values are 'Udp' or 'Tcp' or 'All'.
  [Id <String>]: Resource ID.
  [BackendAddressPoolId <String>]: Resource ID.
  [BackendPort <Int32?>]: The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables "Any Port"
  [DisableOutboundSnat <Boolean?>]: Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule.
  [EnableFloatingIP <Boolean?>]: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint.
  [Etag <String>]: A unique read-only string that changes whenever the resource is updated.
  [FrontendIPConfigurationId <String>]: Resource ID.
  [IdleTimeoutInMinutes <Int32?>]: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP.
  [LoadDistribution <LoadDistribution?>]: The load distribution policy for this rule. Possible values are 'Default', 'SourceIP', and 'SourceIPProtocol'.
  [Name <String>]: The name of the resource that is unique within a resource group. This name can be used to access the resource.
  [ProbeId <String>]: Resource ID.
  [ProvisioningState <String>]: Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
 
OUTBOUNDNATRULE <IOutboundNatRule[]>: The outbound NAT rules.
  [Id <String>]: Resource ID.
  [AllocatedOutboundPort <Int32?>]: The number of outbound ports to be used for NAT.
  [BackendAddressPoolId <String>]: Resource ID.
  [Etag <String>]: A unique read-only string that changes whenever the resource is updated.
  [FrontendIPConfiguration <ISubResource[]>]: The Frontend IP addresses of the load balancer.
    [Id <String>]: Resource ID.
  [Name <String>]: The name of the resource that is unique within a resource group. This name can be used to access the resource.
  [ProvisioningState <String>]: Gets the provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
 
PROBE <IProbe[]>: Collection of probe objects used in the load balancer
  Port <Int32>: The port for communicating the probe. Possible values range from 1 to 65535, inclusive.
  Protocol <ProbeProtocol>: The protocol of the end point. Possible values are: 'Http' or 'Tcp'. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' is specified, a 200 OK response from the specifies URI is required for the probe to be successful.
  [Id <String>]: Resource ID.
  [Etag <String>]: A unique read-only string that changes whenever the resource is updated.
  [IntervalInSeconds <Int32?>]: The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5.
  [Name <String>]: Gets name of the resource that is unique within a resource group. This name can be used to access the resource.
  [NumberOfProbe <Int32?>]: The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure.
  [ProvisioningState <String>]: Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'.
  [RequestPath <String>]: The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value.
.Link
https://docs.microsoft.com/en-us/powershell/module/az.network/set-azloadbalancer
#>

function Set-AzLoadBalancer {
[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Network.Models.Api20171001.ILoadBalancer])]
[CmdletBinding(DefaultParameterSetName='UpdateExpanded1', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
[Microsoft.Azure.PowerShell.Cmdlets.Network.Profile('hybrid-2019-03-01')]
param(
    [Parameter(Mandatory)]
    [Alias('LoadBalancerName')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Path')]
    [System.String]
    # The name of the load balancer.
    ${Name},

    [Parameter(Mandatory)]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Path')]
    [System.String]
    # The name of the resource group.
    ${ResourceGroupName},

    [Parameter()]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Path')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
    [System.String]
    # The subscription credentials which uniquely identify the Microsoft Azure subscription.
    # The subscription ID forms part of the URI for every service call.
    ${SubscriptionId},

    [Parameter(ParameterSetName='Update1', Mandatory, ValueFromPipeline)]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Runtime.Info(Required, PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Network.Models.Api20171001.ILoadBalancer_Reference]))]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Models.Api20171001.ILoadBalancer]
    # LoadBalancer resource
    # To construct, see NOTES section for LOADBALANCER properties and create a hash table.
    ${LoadBalancer},

    [Parameter(ParameterSetName='UpdateExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Models.Api20171001.IBackendAddressPool[]]
    # Collection of backend address pools used by a load balancer
    # To construct, see NOTES section for BACKENDADDRESSPOOL properties and create a hash table.
    ${BackendAddressPool},

    [Parameter(ParameterSetName='UpdateExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Body')]
    [System.String]
    # A unique read-only string that changes whenever the resource is updated.
    ${Etag},

    [Parameter(ParameterSetName='UpdateExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Models.Api20171001.IFrontendIPConfiguration[]]
    # Object representing the frontend IPs to be used for the load balancer
    # To construct, see NOTES section for FRONTENDIPCONFIGURATION properties and create a hash table.
    ${FrontendIPConfiguration},

    [Parameter(ParameterSetName='UpdateExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Body')]
    [System.String]
    # Resource ID.
    ${Id},

    [Parameter(ParameterSetName='UpdateExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Models.Api20171001.IInboundNatPool[]]
    # Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer.
    # Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external port from this range.
    # Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules.
    # Inbound NAT pools are referenced from virtual machine scale sets.
    # NICs that are associated with individual virtual machines cannot reference an inbound NAT pool.
    # They have to reference individual inbound NAT rules.
    # To construct, see NOTES section for INBOUNDNATPOOL properties and create a hash table.
    ${InboundNatPool},

    [Parameter(ParameterSetName='UpdateExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Models.Api20171001.IInboundNatRule_Reference[]]
    # Collection of inbound NAT Rules used by a load balancer.
    # Defining inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT pool.
    # Inbound NAT pools are referenced from virtual machine scale sets.
    # NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool.
    # They have to reference individual inbound NAT rules.
    ${InboundNatRule},

    [Parameter(ParameterSetName='UpdateExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Models.Api20171001.ILoadBalancingRule[]]
    # Object collection representing the load balancing rules Gets the provisioning
    # To construct, see NOTES section for LOADBALANCINGRULE properties and create a hash table.
    ${LoadBalancingRule},

    [Parameter(ParameterSetName='UpdateExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Body')]
    [System.String]
    # Resource location.
    ${Location},

    [Parameter(ParameterSetName='UpdateExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Models.Api20171001.IOutboundNatRule[]]
    # The outbound NAT rules.
    # To construct, see NOTES section for OUTBOUNDNATRULE properties and create a hash table.
    ${OutboundNatRule},

    [Parameter(ParameterSetName='UpdateExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Models.Api20171001.IProbe[]]
    # Collection of probe objects used in the load balancer
    # To construct, see NOTES section for PROBE properties and create a hash table.
    ${Probe},

    [Parameter(ParameterSetName='UpdateExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Body')]
    [System.String]
    # Gets the provisioning state of the PublicIP resource.
    # Possible values are: 'Updating', 'Deleting', and 'Failed'.
    ${ProvisioningState},

    [Parameter(ParameterSetName='UpdateExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Body')]
    [System.String]
    # The resource GUID property of the load balancer resource.
    ${ResourceGuid},

    [Parameter(ParameterSetName='UpdateExpanded1')]
    [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Network.Support.LoadBalancerSkuName])]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Support.LoadBalancerSkuName]
    # Name of a load balancer SKU.
    ${SkuName},

    [Parameter(ParameterSetName='UpdateExpanded1')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Body')]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Network.Models.Api20171001.IResourceTags]))]
    [System.Collections.Hashtable]
    # Resource tags.
    ${Tag},

    [Parameter()]
    [Alias('AzureRMContext', 'AzureCredential')]
    [ValidateNotNull()]
    [Microsoft.Azure.PowerShell.Cmdlets.Network.Category('Azure')]
    [System.Management.Automation.PSObject]
    # The credentials, account, tenant, and subscription used for communication with Azure.
    ${DefaultProfile},

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

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

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

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

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

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

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

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

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Update1 = 'Az.Network.private\Set-AzLoadBalancer_Update1';
            UpdateExpanded1 = 'Az.Network.private\Set-AzLoadBalancer_UpdateExpanded1';
        }
        if (('Update1', 'UpdateExpanded1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
            $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
        }
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {
        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {
        throw
    }
}

end {
    try {
        $steppablePipeline.End()
    } catch {
        throw
    }
}
}

# SIG # Begin signature block
# MIIkVQYJKoZIhvcNAQcCoIIkRjCCJEICAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBkONulGTocXn9p
# GJG/B/DcWc8or55udI7llUjmhdPpV6CCDYEwggX/MIID56ADAgECAhMzAAABUZ6N
# j0Bxow5BAAAAAAFRMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMTkwNTAyMjEzNzQ2WhcNMjAwNTAyMjEzNzQ2WjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQCVWsaGaUcdNB7xVcNmdfZiVBhYFGcn8KMqxgNIvOZWNH9JYQLuhHhmJ5RWISy1
# oey3zTuxqLbkHAdmbeU8NFMo49Pv71MgIS9IG/EtqwOH7upan+lIq6NOcw5fO6Os
# +12R0Q28MzGn+3y7F2mKDnopVu0sEufy453gxz16M8bAw4+QXuv7+fR9WzRJ2CpU
# 62wQKYiFQMfew6Vh5fuPoXloN3k6+Qlz7zgcT4YRmxzx7jMVpP/uvK6sZcBxQ3Wg
# B/WkyXHgxaY19IAzLq2QiPiX2YryiR5EsYBq35BP7U15DlZtpSs2wIYTkkDBxhPJ
# IDJgowZu5GyhHdqrst3OjkSRAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUV4Iarkq57esagu6FUBb270Zijc8w
# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1
# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDU0MTM1MB8GA1UdIwQYMBaAFEhu
# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu
# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w
# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3
# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx
# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAWg+A
# rS4Anq7KrogslIQnoMHSXUPr/RqOIhJX+32ObuY3MFvdlRElbSsSJxrRy/OCCZdS
# se+f2AqQ+F/2aYwBDmUQbeMB8n0pYLZnOPifqe78RBH2fVZsvXxyfizbHubWWoUf
# NW/FJlZlLXwJmF3BoL8E2p09K3hagwz/otcKtQ1+Q4+DaOYXWleqJrJUsnHs9UiL
# crVF0leL/Q1V5bshob2OTlZq0qzSdrMDLWdhyrUOxnZ+ojZ7UdTY4VnCuogbZ9Zs
# 9syJbg7ZUS9SVgYkowRsWv5jV4lbqTD+tG4FzhOwcRQwdb6A8zp2Nnd+s7VdCuYF
# sGgI41ucD8oxVfcAMjF9YX5N2s4mltkqnUe3/htVrnxKKDAwSYliaux2L7gKw+bD
# 1kEZ/5ozLRnJ3jjDkomTrPctokY/KaZ1qub0NUnmOKH+3xUK/plWJK8BOQYuU7gK
# YH7Yy9WSKNlP7pKj6i417+3Na/frInjnBkKRCJ/eYTvBH+s5guezpfQWtU4bNo/j
# 8Qw2vpTQ9w7flhH78Rmwd319+YTmhv7TcxDbWlyteaj4RK2wk3pY1oSz2JPE5PNu
# Nmd9Gmf6oePZgy7Ii9JLLq8SnULV7b+IP0UXRY9q+GdRjM2AEX6msZvvPCIoG0aY
# HQu9wZsKEK2jqvWi8/xdeeeSI9FN6K1w4oVQM4Mwggd6MIIFYqADAgECAgphDpDS
# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK
# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0
# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla
# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT
# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB
# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG
# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S
# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz
# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7
# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u
# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33
# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl
# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP
# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB
# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF
# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM
# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ
# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud
# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO
# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0
# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p
# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y
# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB
# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw
# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA
# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY
# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj
# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd
# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ
# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf
# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ
# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j
# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B
# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96
# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7
# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I
# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIWKjCCFiYCAQEwgZUwfjELMAkG
# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z
# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAVGejY9AcaMOQQAAAAABUTAN
# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor
# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgGHabMjOk
# qakbwOmIEOs0nq7Uoah08xdQBMtuj/gdi+0wQgYKKwYBBAGCNwIBDDE0MDKgFIAS
# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN
# BgkqhkiG9w0BAQEFAASCAQAPOX8XsIglBSZtzGFD5M8CT887J1OArxXYXa/Rdgbh
# bBKfu1TJAkfwBjIaKsqg0A7AE29UEfj+tLOEekqs1sTf97L+iUiPq87BreSGhoZD
# +yTyiCByragIB9TH4GtVA+redn20ctqyXZ/2sJOD6uZSbSIlKCZfHbv0nqRVQ4IC
# zHT21upYGqQPOX6DD2A+13tgjrnfbdn3gU12DAkrJkAd5hzDQkF48fgJbXckX+4m
# kJIUx5eP4+TmXj4YiXagOdiEZQ+Yb1pzH1FMqkmh1C2vNkub+qroBZ8K8TxPvaVp
# ZUfqnXr6KLHiBGQZsTtk9Jc23kDPX3XC556+75+3O0oKoYITtDCCE7AGCisGAQQB
# gjcDAwExghOgMIITnAYJKoZIhvcNAQcCoIITjTCCE4kCAQMxDzANBglghkgBZQME
# AgEFADCCAVUGCyqGSIb3DQEJEAEEoIIBRASCAUAwggE8AgEBBgorBgEEAYRZCgMB
# MDEwDQYJYIZIAWUDBAIBBQAEIIIUp+B4jp6uJwsI3bBcKfDQeZs3ygX1MzGJUA+P
# TBcZAgZdiN6yC9kYEzIwMTkxMDA4MTIyNjUzLjI0NlowBIACAfSggdSkgdEwgc4x
# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsTIE1p
# Y3Jvc29mdCBPcGVyYXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFsZXMg
# VFNTIEVTTjoxNDhDLUM0QjktMjA2NjElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt
# U3RhbXAgU2VydmljZaCCDx8wggT1MIID3aADAgECAhMzAAABBmG1RJn46vLtAAAA
# AAEGMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo
# aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
# cG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEw
# MB4XDTE5MDkwNjIwNDExOVoXDTIwMTIwNDIwNDExOVowgc4xCzAJBgNVBAYTAlVT
# MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK
# ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVy
# YXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjoxNDhD
# LUM0QjktMjA2NjElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vydmlj
# ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK6/Y8FqdEu3czhDoYgv
# On5R4P8vLjDUe+i1hLnpYnkLUyyuqm3davtaYJCU5jqIcnwiLqtbTgoKiTn4Ls3E
# EeNadimFJu6ij+foWxhKnAtaM52cUmJOxbcXOkr9nDe4PswdCBd/dkz8gA0bo8g+
# 6zQvZz6K44EtBof+0yTgl1O9GyGmq5xSCFxLsJzmXJE7kbW/iAqFcl/Wp3NDIfmG
# H385H2IPKSjORDqs61c2Q4397ZtBF9RU/1r773/Shxie3KaB2pib3ob6r7zPjXz6
# zHGcLXatAeQVY84ulGMHWU/3EOPcXjZSuaAzCIzGj1VP75Jxupfc7fP6/y4Kmi3A
# mWcCAwEAAaOCARswggEXMB0GA1UdDgQWBBT51LXZX41X57EFWSYJNAnoTm/TTDAf
# BgNVHSMEGDAWgBTVYzpcijGQ80N7fEYbxTNoWoVtVTBWBgNVHR8ETzBNMEugSaBH
# hkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNU
# aW1TdGFQQ0FfMjAxMC0wNy0wMS5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUF
# BzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1RpbVN0
# YVBDQV8yMDEwLTA3LTAxLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsG
# AQUFBwMIMA0GCSqGSIb3DQEBCwUAA4IBAQCOhK1otduB6ttf+/yr5PqzyDKi1//l
# QnNw1YFkiGSmd0XCT0+fzNkwZoymXRMaJ197a9jDrexRjfC8syEPYCosClWfMyac
# dzye8QC7o+SiNUcM7B2B7hkulPKR9218iUAZKwb86tlWFpC72xzhZht4Uzr7MVrG
# KaK1aOGg1kWlao9vua7L/DyJfcK1LnjRwdmT0z9VAQoGen542Dz+QOSDNrjzjQLA
# 5kC/74It6dqir6aDHQVyttpBeJpPgZfr3tY/VR8uJIMV2oQvfoz2mAXhd34AOHgi
# wqRs8jWYWjFExdLDjgofnvJ2tTAtz0BdN9qgrPYdT65K5ikxgYCMwGCdMIIGcTCC
# BFmgAwIBAgIKYQmBKgAAAAAAAjANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMC
# VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV
# BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJv
# b3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMTAwNzAxMjEzNjU1WhcN
# MjUwNzAxMjE0NjU1WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv
# bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0
# aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCASIw
# DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKkdDbx3EYo6IOz8E5f1+n9plGt0
# VBDVpQoAgoX77XxoSyxfxcPlYcJ2tz5mK1vwFVMnBDEfQRsalR3OCROOfGEwWbEw
# RA/xYIiEVEMM1024OAizQt2TrNZzMFcmgqNFDdDq9UeBzb8kYDJYYEbyWEeGMoQe
# dGFnkV+BVLHPk0ySwcSmXdFhE24oxhr5hoC732H8RsEnHSRnEnIaIYqvS2SJUGKx
# Xf13Hz3wV3WsvYpCTUBR0Q+cBj5nf/VmwAOWRH7v0Ev9buWayrGo8noqCjHw2k4G
# kbaICDXoeByw6ZnNPOcvRLqn9NxkvaQBwSAJk3jN/LzAyURdXhacAQVPIk0CAwEA
# AaOCAeYwggHiMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBTVYzpcijGQ80N7
# fEYbxTNoWoVtVTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMC
# AYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvX
# zpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20v
# cGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYI
# KwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDCBoAYDVR0g
# AQH/BIGVMIGSMIGPBgkrBgEEAYI3LgMwgYEwPQYIKwYBBQUHAgEWMWh0dHA6Ly93
# d3cubWljcm9zb2Z0LmNvbS9QS0kvZG9jcy9DUFMvZGVmYXVsdC5odG0wQAYIKwYB
# BQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AUABvAGwAaQBjAHkAXwBTAHQAYQB0AGUA
# bQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAAfmiFEN4sbgmD+BcQM9naOh
# IW+z66bM9TG+zwXiqf76V20ZMLPCxWbJat/15/B4vceoniXj+bzta1RXCCtRgkQS
# +7lTjMz0YBKKdsxAQEGb3FwX/1z5Xhc1mCRWS3TvQhDIr79/xn/yN31aPxzymXlK
# kVIArzgPF/UveYFl2am1a+THzvbKegBvSzBEJCI8z+0DpZaPWSm8tv0E4XCfMkon
# /VWvL/625Y4zu2JfmttXQOnxzplmkIz/amJ/3cVKC5Em4jnsGUpxY517IW3DnKOi
# PPp/fZZqkHimbdLhnPkd/DjYlPTGpQqWhqS9nhquBEKDuLWAmyI4ILUl5WTs9/S/
# fmNZJQ96LjlXdqJxqgaKD4kWumGnEcua2A5HmoDF0M2n0O99g/DhO3EJ3110mCII
# YdqwUB5vvfHhAN/nMQekkzr3ZUd46PioSKv33nJ+YWtvd6mBy6cJrDm77MbL2IK0
# cs0d9LiFAR6A+xuJKlQ5slvayA1VmXqHczsI5pgt6o3gMy4SKfXAL1QnIffIrE7a
# KLixqduWsqdCosnPGUFN4Ib5KpqjEWYw07t0MkvfY3v1mYovG8chr1m1rtxEPJdQ
# cdeh0sVV42neV8HR3jDA/czmTfsNv11P6Z0eGTgvvM9YBS7vDaBQNdrvCScc1bN+
# NR4Iuto229Nfj950iEkSoYIDrTCCApUCAQEwgf6hgdSkgdEwgc4xCzAJBgNVBAYT
# AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD
# VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKTAnBgNVBAsTIE1pY3Jvc29mdCBP
# cGVyYXRpb25zIFB1ZXJ0byBSaWNvMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjox
# NDhDLUM0QjktMjA2NjElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy
# dmljZaIlCgEBMAkGBSsOAwIaBQADFQBjvfgaHlWFau4W8bvlsLzPVDXy+aCB3jCB
# 26SB2DCB1TELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
# BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEpMCcG
# A1UECxMgTWljcm9zb2Z0IE9wZXJhdGlvbnMgUHVlcnRvIFJpY28xJzAlBgNVBAsT
# Hm5DaXBoZXIgTlRTIEVTTjo0REU5LTBDNUUtM0UwOTErMCkGA1UEAxMiTWljcm9z
# b2Z0IFRpbWUgU291cmNlIE1hc3RlciBDbG9jazANBgkqhkiG9w0BAQUFAAIFAOFF
# 7OgwIhgPMjAxOTEwMDgwMDU3MTJaGA8yMDE5MTAwOTAwNTcxMlowdDA6BgorBgEE
# AYRZCgQBMSwwKjAKAgUA4UXs6AIBADAHAgEAAgIDCDAHAgEAAgIYiDAKAgUA4Uc+
# aAIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMBoAowCAIBAAIDB6Eg
# oQowCAIBAAIDB6EgMA0GCSqGSIb3DQEBBQUAA4IBAQB0JRlF4ANPQ24Vr7j+uS8E
# X5MToRnUS6/BqJ1EVRFbk7n8Z/0VzI54RXdsDX3IKekbJlye7zUWZgTddSRxTlyM
# ccDUdQ8VhbjeK4z8VEPdOmDBSTc9QpIXIv7xZzdV0eTrK2THiMUcQgcPNEhMXJ6s
# IYQtna7zQtupIqFUt/D0KyEdp5oKobA83SEubFpEhe/VlWtoUQhQRXCI9C7WEP/f
# mOxytP1gosTvUfxN7aoLL07SftKLmWiJ9+FCoqcJtiKI7hcyqv/gcolPNJpMR0UD
# s/lNhxI01Uu83VAd81MQdd4shJL6pP2CbxU60BU+B3WgVWSirTeOKNp+L7GTDsox
# MYIC9TCCAvECAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
# b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
# dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMA
# AAEGYbVEmfjq8u0AAAAAAQYwDQYJYIZIAWUDBAIBBQCgggEyMBoGCSqGSIb3DQEJ
# AzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgXZUhYJ1jt9Cefk6rYn0h
# SGEsY1Z4Uklt3hOm5tS1wnYwgeIGCyqGSIb3DQEJEAIMMYHSMIHPMIHMMIGxBBRj
# vfgaHlWFau4W8bvlsLzPVDXy+TCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w
# IFBDQSAyMDEwAhMzAAABBmG1RJn46vLtAAAAAAEGMBYEFOmb6VqK/VqQgbSV8hje
# kmyX5+CPMA0GCSqGSIb3DQEBCwUABIIBAJ9R3lx8XrQemcGvz2PwaCNiZBU+SF8I
# zPqWeX22si9w0JiQyeabgjZeNXUqDUJtrvLwWJbMDPc3HlNMWd+C6b+WN9tfXSPo
# SXeLcWFDcub4vHU5E9QsvsKW7jZUenjKz8AizJsVhnlfFtz8O3O8I2DrfYbUIyNP
# v7XLI6znkbg/01haLUKq2HopljEvVNp1YuWHY6SucM75y3G84iGzx92xNhW+Of4c
# C3xTaoEYguwosftc7+oQqX9S9X1eoG385nKbQqXe4m8oLS6yX/CG4yNhYQnWTQpi
# JCo2n+aj4RpZfQSUas5+9ihE+6V+8zaPs22T5fkN36uQIUQ8qknLX3k=
# SIG # End signature block