Modules/bConnectV2.Endpoints/Api/BCEndpointsEndpointsApi.ps1

#
# bConnect Endpoints API
# <p>Endpoints are the main objects within the baramundi Management Suite (see <a target=""_blank"" href=""https://docs.baramundi.com/helpsetid=m_t_environment&externalid=t_environment"" rel=""noopener noreferrer"" class=""link""><span class=""url""> documentation</span></a>). These can be manually created or automatically discovered by network scans or via Active Directory synchronization. The methods offered here provide support for manual creation of endpoints and their enrollment. Afterwards the endpoints are ready to be managed by the baramundi Management Suite and jobs can be distributed to these endpoints to gather information or execute logic for the various modules of the baramundi Management Suite (e.g. Compliance, Defense Control, Update Management, etc.).</p> The bConnect V2 PowerShell module is available from the <a target=""_blank"" href=""https://www.powershellgallery.com/packages/bConnectV2"" rel=""noopener noreferrer"" class=""link""><span class=""url"">PowerShell Gallery</span></a>.
# Version: 2.0


<#
.SYNOPSIS
 
Creates a maintenance window for the endpoint
 
.DESCRIPTION
 
No description available.
 
.PARAMETER Id
The ID of the endpoint. Only windows endpoints are supported at the moment.
 
.PARAMETER MaintenanceWindowForCreation
The maintenance window to be created. Maintenance windows are defined in respect to the local time of an endpoint. Start and end of a maintenance period are defined using a 24-hour clock in intervals of 15 minutes (e.g. 00:00, 00:15, 17:45, 24:00). Initialize in PowerShell with `Initialize-bCEndpointsMaintenanceWindowForCreation`
 
.OUTPUTS
 
MaintenanceWindow
#>

function New-bCEndpointsMaintenanceWindowForEndpointById {
    [CmdletBinding(PositionalBinding=$false)]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Id},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject]
        ${MaintenanceWindowForCreation}
    )

    Process {
        'Calling method: New-bCEndpointsMaintenanceWindowForEndpointById' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json')

        $LocalVarUri = '/v2.0/Endpoints/{id}/MaintenanceWindow'
        if (!$Id) {
            throw "Error! The required parameter `Id` missing when calling createMaintenanceWindowForEndpointById."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $Id
        $LocalVarUri = $LocalVarUri.replace('{id}', $encodedValue)

        if (!$MaintenanceWindowForCreation) {
            throw "Error! The required parameter `MaintenanceWindowForCreation` missing when calling createMaintenanceWindowForEndpointById."
        }

        $LocalVarBodyParameter = $MaintenanceWindowForCreation | ConvertTo-Json -Depth 100

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        # single request
        $ApiResult = Invoke-bCEndpointsApiClient -Method 'POST' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "MaintenanceWindow" `
                                -IsBodyNullable $false

        return $ApiResult["Response"]
    }
}

<#
.SYNOPSIS
 
Deletes an endpoint by id
 
.DESCRIPTION
 
No description available.
 
.PARAMETER Id
No description available.
 
.OUTPUTS
 
None
#>

function Remove-bCEndpointsEndpoint {
    [CmdletBinding(PositionalBinding=$false)]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Id}
    )

    Process {
        'Calling method: Remove-bCEndpointsEndpoint' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/v2.0/Endpoints/{id}'
        if (!$Id) {
            throw "Error! The required parameter `Id` missing when calling deleteEndpoint."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $Id
        $LocalVarUri = $LocalVarUri.replace('{id}', $encodedValue)

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        # single request
        $ApiResult = Invoke-bCEndpointsApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        return $ApiResult["Response"]
    }
}

<#
.SYNOPSIS
 
Deletes the maintenance window of the endpoint
 
.DESCRIPTION
 
No description available.
 
.PARAMETER Id
The ID of the endpoint. Only windows endpoints are supported at the moment.
 
.OUTPUTS
 
None
#>

function Remove-bCEndpointsMaintenanceWindowForEndpointById {
    [CmdletBinding(PositionalBinding=$false)]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Id}
    )

    Process {
        'Calling method: Remove-bCEndpointsMaintenanceWindowForEndpointById' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/v2.0/Endpoints/{id}/MaintenanceWindow'
        if (!$Id) {
            throw "Error! The required parameter `Id` missing when calling deleteMaintenanceWindowForEndpointById."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $Id
        $LocalVarUri = $LocalVarUri.replace('{id}', $encodedValue)

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        # single request
        $ApiResult = Invoke-bCEndpointsApiClient -Method 'DELETE' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "" `
                                -IsBodyNullable $false

        return $ApiResult["Response"]
    }
}

<#
.SYNOPSIS
 
Gets an endpoint by id
 
.DESCRIPTION
 
No description available.
 
.PARAMETER Id
No description available.
 
.OUTPUTS
 
Endpoint
#>

function Get-bCEndpointsEndpoint {
    [CmdletBinding(PositionalBinding=$false)]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Id}
    )

    Process {
        'Calling method: Get-bCEndpointsEndpoint' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/v2.0/Endpoints/{id}'
        if (!$Id) {
            throw "Error! The required parameter `Id` missing when calling getEndpoint."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $Id
        $LocalVarUri = $LocalVarUri.replace('{id}', $encodedValue)

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        # single request
        $ApiResult = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "Endpoint" `
                                -IsBodyNullable $false

        return $ApiResult["Response"]
    }
}

<#
.SYNOPSIS
 
Gets all endpoints
 
.DESCRIPTION
 
No description available.
 
.PARAMETER GetAllPages
Get all the possible pages for this request and return them.
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma.<br />Possible values are DisplayName, HostName, OperatingSystem and LastSeen (e.g. displayName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties.<br />Searchable values are DisplayName, HostName, PrimaryIP, PrimaryMAC, OSVersionString, OSVersionText, SerialNumber and Comment.
 
.PARAMETER DisplayName
Filters result by matching the exact value against DisplayName.
 
.PARAMETER Page
The zero-indexed number of the first page that begins the set of pages that are returned in the response.
 
.PARAMETER PageSize
The number of items to list on a single page. For example, if page_size is 10, each page shows ten items. <br />A valid value is a non-negative, non-zero integer. The default value is 20. Maximum value is 1000.
 
.PARAMETER HostName
Filters result by matching the exact value against HostName.
 
.OUTPUTS
 
EndpointPagedList
#>

function Get-bCEndpointsEndpoints {
    [CmdletBinding(DefaultParameterSetName='SinglePages', PositionalBinding=$false)]
    Param (
        [Parameter(ParameterSetName='GetAllPages')]
        [Switch]
        $GetAllPages,
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${OrderBy},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${SearchQuery},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${DisplayName},
        [Parameter(ParameterSetName='SinglePages', ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${Page},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${PageSize},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${HostName}
    )

    Process {
        'Calling method: Get-bCEndpointsEndpoints' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/v2.0/Endpoints'

        if ($OrderBy) {
            $LocalVarQueryParameters['OrderBy'] = $OrderBy
        }

        if ($SearchQuery) {
            $LocalVarQueryParameters['SearchQuery'] = $SearchQuery
        }

        if ($DisplayName) {
            $LocalVarQueryParameters['DisplayName'] = $DisplayName
        }

        if ($Page) {
            $LocalVarQueryParameters['Page'] = $Page
        }

        if ($PageSize) {
            $LocalVarQueryParameters['PageSize'] = $PageSize
        }

        if ($HostName) {
            $LocalVarQueryParameters['HostName'] = $HostName
        }

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        if ($GetAllPages) {
            $currentPageCount = 0
            # will be set in the loop to actual value
            $totalPages = 1

            # Sets the page size to 1000 by default when the user doesn't set it
            if (!$PageSize) {
                $LocalVarQueryParameters['PageSize'] = 1000
            }

            # this loop will iterate through all the possible pages and return them
            do {
                # set the page for te request
                $LocalVarQueryParameters["Page"] = $currentPageCount
                $currentPage = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "EndpointPagedList" `
                                -IsBodyNullable $false

                # sets the totalPages to its actual value
                if ($currentPageCount -eq 0) {
                    $totalPages = $currentPage["Response"].totalPages
                }
                # the object for the current page
                $currentPage["Response"]
                $currentPageCount++
            } while ($currentPageCount -lt $totalPages)
        } else {
            # single request
            $ApiResult = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "EndpointPagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Gets all endpoints assigned to a specific registered user
 
.DESCRIPTION
 
No description available.
 
.PARAMETER GetAllPages
Get all the possible pages for this request and return them.
 
.PARAMETER AdUserId
No description available.
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma.<br />Possible values are DisplayName, HostName, OperatingSystem and LastSeen (e.g. displayName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties.<br />Searchable values are DisplayName, HostName, PrimaryIP, PrimaryMAC, OSVersionString, OSVersionText, SerialNumber and Comment.
 
.PARAMETER DisplayName
Filters result by matching the exact value against DisplayName.
 
.PARAMETER Page
The zero-indexed number of the first page that begins the set of pages that are returned in the response.
 
.PARAMETER PageSize
The number of items to list on a single page. For example, if page_size is 10, each page shows ten items. <br />A valid value is a non-negative, non-zero integer. The default value is 20. Maximum value is 1000.
 
.PARAMETER HostName
Filters result by matching the exact value against HostName.
 
.OUTPUTS
 
EndpointPagedList
#>

function Get-bCEndpointsEndpointsByADObjectId {
    [CmdletBinding(DefaultParameterSetName='SinglePages', PositionalBinding=$false)]
    Param (
        [Parameter(ParameterSetName='GetAllPages')]
        [Switch]
        $GetAllPages,
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${AdUserId},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${OrderBy},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${SearchQuery},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${DisplayName},
        [Parameter(ParameterSetName='SinglePages', ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${Page},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${PageSize},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${HostName}
    )

    Process {
        'Calling method: Get-bCEndpointsEndpointsByADObjectId' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/v2.0/ADUsers/{adUserId}/Endpoints'
        if (!$AdUserId) {
            throw "Error! The required parameter `AdUserId` missing when calling getEndpointsByADObjectId."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $AdUserId
        $LocalVarUri = $LocalVarUri.replace('{adUserId}', $encodedValue)

        if ($OrderBy) {
            $LocalVarQueryParameters['OrderBy'] = $OrderBy
        }

        if ($SearchQuery) {
            $LocalVarQueryParameters['SearchQuery'] = $SearchQuery
        }

        if ($DisplayName) {
            $LocalVarQueryParameters['DisplayName'] = $DisplayName
        }

        if ($Page) {
            $LocalVarQueryParameters['Page'] = $Page
        }

        if ($PageSize) {
            $LocalVarQueryParameters['PageSize'] = $PageSize
        }

        if ($HostName) {
            $LocalVarQueryParameters['HostName'] = $HostName
        }

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        if ($GetAllPages) {
            $currentPageCount = 0
            # will be set in the loop to actual value
            $totalPages = 1

            # Sets the page size to 1000 by default when the user doesn't set it
            if (!$PageSize) {
                $LocalVarQueryParameters['PageSize'] = 1000
            }

            # this loop will iterate through all the possible pages and return them
            do {
                # set the page for te request
                $LocalVarQueryParameters["Page"] = $currentPageCount
                $currentPage = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "EndpointPagedList" `
                                -IsBodyNullable $false

                # sets the totalPages to its actual value
                if ($currentPageCount -eq 0) {
                    $totalPages = $currentPage["Response"].totalPages
                }
                # the object for the current page
                $currentPage["Response"]
                $currentPageCount++
            } while ($currentPageCount -lt $totalPages)
        } else {
            # single request
            $ApiResult = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "EndpointPagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Gets all endpoints contained by a dynamic group
 
.DESCRIPTION
 
No description available.
 
.PARAMETER GetAllPages
Get all the possible pages for this request and return them.
 
.PARAMETER DynamicGroupId
No description available.
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma.<br />Possible values are DisplayName, HostName, OperatingSystem and LastSeen (e.g. displayName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties.<br />Searchable values are DisplayName, HostName, PrimaryIP, PrimaryMAC, OSVersionString, OSVersionText, SerialNumber and Comment.
 
.PARAMETER DisplayName
Filters result by matching the exact value against DisplayName.
 
.PARAMETER Page
The zero-indexed number of the first page that begins the set of pages that are returned in the response.
 
.PARAMETER PageSize
The number of items to list on a single page. For example, if page_size is 10, each page shows ten items. <br />A valid value is a non-negative, non-zero integer. The default value is 20. Maximum value is 1000.
 
.PARAMETER HostName
Filters result by matching the exact value against HostName.
 
.OUTPUTS
 
EndpointPagedList
#>

function Get-bCEndpointsEndpointsByDynamicGroupId {
    [CmdletBinding(DefaultParameterSetName='SinglePages', PositionalBinding=$false)]
    Param (
        [Parameter(ParameterSetName='GetAllPages')]
        [Switch]
        $GetAllPages,
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${DynamicGroupId},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${OrderBy},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${SearchQuery},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${DisplayName},
        [Parameter(ParameterSetName='SinglePages', ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${Page},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${PageSize},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${HostName}
    )

    Process {
        'Calling method: Get-bCEndpointsEndpointsByDynamicGroupId' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/v2.0/DynamicGroups/{dynamicGroupId}/Endpoints'
        if (!$DynamicGroupId) {
            throw "Error! The required parameter `DynamicGroupId` missing when calling getEndpointsByDynamicGroupId."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $DynamicGroupId
        $LocalVarUri = $LocalVarUri.replace('{dynamicGroupId}', $encodedValue)

        if ($OrderBy) {
            $LocalVarQueryParameters['OrderBy'] = $OrderBy
        }

        if ($SearchQuery) {
            $LocalVarQueryParameters['SearchQuery'] = $SearchQuery
        }

        if ($DisplayName) {
            $LocalVarQueryParameters['DisplayName'] = $DisplayName
        }

        if ($Page) {
            $LocalVarQueryParameters['Page'] = $Page
        }

        if ($PageSize) {
            $LocalVarQueryParameters['PageSize'] = $PageSize
        }

        if ($HostName) {
            $LocalVarQueryParameters['HostName'] = $HostName
        }

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        if ($GetAllPages) {
            $currentPageCount = 0
            # will be set in the loop to actual value
            $totalPages = 1

            # Sets the page size to 1000 by default when the user doesn't set it
            if (!$PageSize) {
                $LocalVarQueryParameters['PageSize'] = 1000
            }

            # this loop will iterate through all the possible pages and return them
            do {
                # set the page for te request
                $LocalVarQueryParameters["Page"] = $currentPageCount
                $currentPage = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "EndpointPagedList" `
                                -IsBodyNullable $false

                # sets the totalPages to its actual value
                if ($currentPageCount -eq 0) {
                    $totalPages = $currentPage["Response"].totalPages
                }
                # the object for the current page
                $currentPage["Response"]
                $currentPageCount++
            } while ($currentPageCount -lt $totalPages)
        } else {
            # single request
            $ApiResult = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "EndpointPagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Gets all endpoints contained by a logical group
 
.DESCRIPTION
 
No description available.
 
.PARAMETER GetAllPages
Get all the possible pages for this request and return them.
 
.PARAMETER LogicalGroupId
No description available.
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma.<br />Possible values are DisplayName, HostName, OperatingSystem and LastSeen (e.g. displayName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties.<br />Searchable values are DisplayName, HostName, PrimaryIP, PrimaryMAC, OSVersionString, OSVersionText, SerialNumber and Comment.
 
.PARAMETER DisplayName
Filters result by matching the exact value against DisplayName.
 
.PARAMETER Page
The zero-indexed number of the first page that begins the set of pages that are returned in the response.
 
.PARAMETER PageSize
The number of items to list on a single page. For example, if page_size is 10, each page shows ten items. <br />A valid value is a non-negative, non-zero integer. The default value is 20. Maximum value is 1000.
 
.PARAMETER HostName
Filters result by matching the exact value against HostName.
 
.PARAMETER IncludeSubfolders
No description available.
 
.OUTPUTS
 
EndpointPagedList
#>

function Get-bCEndpointsEndpointsByLogicalGroupId {
    [CmdletBinding(DefaultParameterSetName='SinglePages', PositionalBinding=$false)]
    Param (
        [Parameter(ParameterSetName='GetAllPages')]
        [Switch]
        $GetAllPages,
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${LogicalGroupId},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${OrderBy},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${SearchQuery},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${DisplayName},
        [Parameter(ParameterSetName='SinglePages', ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${Page},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${PageSize},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${HostName},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Boolean]]
        ${IncludeSubfolders}
    )

    Process {
        'Calling method: Get-bCEndpointsEndpointsByLogicalGroupId' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/v2.0/LogicalGroups/{logicalGroupId}/Endpoints'
        if (!$LogicalGroupId) {
            throw "Error! The required parameter `LogicalGroupId` missing when calling getEndpointsByLogicalGroupId."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $LogicalGroupId
        $LocalVarUri = $LocalVarUri.replace('{logicalGroupId}', $encodedValue)

        if ($OrderBy) {
            $LocalVarQueryParameters['OrderBy'] = $OrderBy
        }

        if ($SearchQuery) {
            $LocalVarQueryParameters['SearchQuery'] = $SearchQuery
        }

        if ($DisplayName) {
            $LocalVarQueryParameters['DisplayName'] = $DisplayName
        }

        if ($Page) {
            $LocalVarQueryParameters['Page'] = $Page
        }

        if ($PageSize) {
            $LocalVarQueryParameters['PageSize'] = $PageSize
        }

        if ($HostName) {
            $LocalVarQueryParameters['HostName'] = $HostName
        }

        if ($IncludeSubfolders) {
            $LocalVarQueryParameters['includeSubfolders'] = $IncludeSubfolders
        }

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        if ($GetAllPages) {
            $currentPageCount = 0
            # will be set in the loop to actual value
            $totalPages = 1

            # Sets the page size to 1000 by default when the user doesn't set it
            if (!$PageSize) {
                $LocalVarQueryParameters['PageSize'] = 1000
            }

            # this loop will iterate through all the possible pages and return them
            do {
                # set the page for te request
                $LocalVarQueryParameters["Page"] = $currentPageCount
                $currentPage = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "EndpointPagedList" `
                                -IsBodyNullable $false

                # sets the totalPages to its actual value
                if ($currentPageCount -eq 0) {
                    $totalPages = $currentPage["Response"].totalPages
                }
                # the object for the current page
                $currentPage["Response"]
                $currentPageCount++
            } while ($currentPageCount -lt $totalPages)
        } else {
            # single request
            $ApiResult = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "EndpointPagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Gets all endpoints contained by a static group
 
.DESCRIPTION
 
No description available.
 
.PARAMETER GetAllPages
Get all the possible pages for this request and return them.
 
.PARAMETER StaticGroupId
No description available.
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma.<br />Possible values are DisplayName, HostName, OperatingSystem and LastSeen (e.g. displayName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties.<br />Searchable values are DisplayName, HostName, PrimaryIP, PrimaryMAC, OSVersionString, OSVersionText, SerialNumber and Comment.
 
.PARAMETER DisplayName
Filters result by matching the exact value against DisplayName.
 
.PARAMETER Page
The zero-indexed number of the first page that begins the set of pages that are returned in the response.
 
.PARAMETER PageSize
The number of items to list on a single page. For example, if page_size is 10, each page shows ten items. <br />A valid value is a non-negative, non-zero integer. The default value is 20. Maximum value is 1000.
 
.PARAMETER HostName
Filters result by matching the exact value against HostName.
 
.OUTPUTS
 
EndpointPagedList
#>

function Get-bCEndpointsEndpointsByStaticGroupId {
    [CmdletBinding(DefaultParameterSetName='SinglePages', PositionalBinding=$false)]
    Param (
        [Parameter(ParameterSetName='GetAllPages')]
        [Switch]
        $GetAllPages,
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${StaticGroupId},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${OrderBy},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${SearchQuery},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${DisplayName},
        [Parameter(ParameterSetName='SinglePages', ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${Page},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${PageSize},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${HostName}
    )

    Process {
        'Calling method: Get-bCEndpointsEndpointsByStaticGroupId' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/v2.0/StaticGroups/{staticGroupId}/Endpoints'
        if (!$StaticGroupId) {
            throw "Error! The required parameter `StaticGroupId` missing when calling getEndpointsByStaticGroupId."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $StaticGroupId
        $LocalVarUri = $LocalVarUri.replace('{staticGroupId}', $encodedValue)

        if ($OrderBy) {
            $LocalVarQueryParameters['OrderBy'] = $OrderBy
        }

        if ($SearchQuery) {
            $LocalVarQueryParameters['SearchQuery'] = $SearchQuery
        }

        if ($DisplayName) {
            $LocalVarQueryParameters['DisplayName'] = $DisplayName
        }

        if ($Page) {
            $LocalVarQueryParameters['Page'] = $Page
        }

        if ($PageSize) {
            $LocalVarQueryParameters['PageSize'] = $PageSize
        }

        if ($HostName) {
            $LocalVarQueryParameters['HostName'] = $HostName
        }

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        if ($GetAllPages) {
            $currentPageCount = 0
            # will be set in the loop to actual value
            $totalPages = 1

            # Sets the page size to 1000 by default when the user doesn't set it
            if (!$PageSize) {
                $LocalVarQueryParameters['PageSize'] = 1000
            }

            # this loop will iterate through all the possible pages and return them
            do {
                # set the page for te request
                $LocalVarQueryParameters["Page"] = $currentPageCount
                $currentPage = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "EndpointPagedList" `
                                -IsBodyNullable $false

                # sets the totalPages to its actual value
                if ($currentPageCount -eq 0) {
                    $totalPages = $currentPage["Response"].totalPages
                }
                # the object for the current page
                $currentPage["Response"]
                $currentPageCount++
            } while ($currentPageCount -lt $totalPages)
        } else {
            # single request
            $ApiResult = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "EndpointPagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Gets all endpoints contained by a universal dynamic group
 
.DESCRIPTION
 
No description available.
 
.PARAMETER GetAllPages
Get all the possible pages for this request and return them.
 
.PARAMETER UniversalDynamicGroupId
No description available.
 
.PARAMETER OrderBy
Sorts results by property name and with sort direction. Multiple properties are separated by comma.<br />Possible values are DisplayName, HostName, OperatingSystem and LastSeen (e.g. displayName asc).
 
.PARAMETER SearchQuery
Filters results by matching the given value against searchable properties.<br />Searchable values are DisplayName, HostName, PrimaryIP, PrimaryMAC, OSVersionString, OSVersionText, SerialNumber and Comment.
 
.PARAMETER DisplayName
Filters result by matching the exact value against DisplayName.
 
.PARAMETER Page
The zero-indexed number of the first page that begins the set of pages that are returned in the response.
 
.PARAMETER PageSize
The number of items to list on a single page. For example, if page_size is 10, each page shows ten items. <br />A valid value is a non-negative, non-zero integer. The default value is 20. Maximum value is 1000.
 
.PARAMETER HostName
Filters result by matching the exact value against HostName.
 
.OUTPUTS
 
EndpointPagedList
#>

function Get-bCEndpointsEndpointsByUniversalDynamicGroupId {
    [CmdletBinding(DefaultParameterSetName='SinglePages', PositionalBinding=$false)]
    Param (
        [Parameter(ParameterSetName='GetAllPages')]
        [Switch]
        $GetAllPages,
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${UniversalDynamicGroupId},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${OrderBy},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${SearchQuery},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${DisplayName},
        [Parameter(ParameterSetName='SinglePages', ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${Page},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [System.Nullable[Int32]]
        ${PageSize},
        [Parameter(ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${HostName}
    )

    Process {
        'Calling method: Get-bCEndpointsEndpointsByUniversalDynamicGroupId' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/v2.0/UniversalDynamicGroups/{universalDynamicGroupId}/Endpoints'
        if (!$UniversalDynamicGroupId) {
            throw "Error! The required parameter `UniversalDynamicGroupId` missing when calling getEndpointsByUniversalDynamicGroupId."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $UniversalDynamicGroupId
        $LocalVarUri = $LocalVarUri.replace('{universalDynamicGroupId}', $encodedValue)

        if ($OrderBy) {
            $LocalVarQueryParameters['OrderBy'] = $OrderBy
        }

        if ($SearchQuery) {
            $LocalVarQueryParameters['SearchQuery'] = $SearchQuery
        }

        if ($DisplayName) {
            $LocalVarQueryParameters['DisplayName'] = $DisplayName
        }

        if ($Page) {
            $LocalVarQueryParameters['Page'] = $Page
        }

        if ($PageSize) {
            $LocalVarQueryParameters['PageSize'] = $PageSize
        }

        if ($HostName) {
            $LocalVarQueryParameters['HostName'] = $HostName
        }

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        if ($GetAllPages) {
            $currentPageCount = 0
            # will be set in the loop to actual value
            $totalPages = 1

            # Sets the page size to 1000 by default when the user doesn't set it
            if (!$PageSize) {
                $LocalVarQueryParameters['PageSize'] = 1000
            }

            # this loop will iterate through all the possible pages and return them
            do {
                # set the page for te request
                $LocalVarQueryParameters["Page"] = $currentPageCount
                $currentPage = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "EndpointPagedList" `
                                -IsBodyNullable $false

                # sets the totalPages to its actual value
                if ($currentPageCount -eq 0) {
                    $totalPages = $currentPage["Response"].totalPages
                }
                # the object for the current page
                $currentPage["Response"]
                $currentPageCount++
            } while ($currentPageCount -lt $totalPages)
        } else {
            # single request
            $ApiResult = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "EndpointPagedList" `
                                -IsBodyNullable $false
            return $ApiResult["Response"]
        }
    }
}

<#
.SYNOPSIS
 
Gets the maintenance window of the endpoint
 
.DESCRIPTION
 
No description available.
 
.PARAMETER Id
The ID of the endpoint. Only windows endpoints are supported at the moment.
 
.OUTPUTS
 
MaintenanceWindow
#>

function Get-bCEndpointsMaintenanceWindowForEndpointById {
    [CmdletBinding(PositionalBinding=$false)]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Id}
    )

    Process {
        'Calling method: Get-bCEndpointsMaintenanceWindowForEndpointById' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        $LocalVarUri = '/v2.0/Endpoints/{id}/MaintenanceWindow'
        if (!$Id) {
            throw "Error! The required parameter `Id` missing when calling getMaintenanceWindowForEndpointById."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $Id
        $LocalVarUri = $LocalVarUri.replace('{id}', $encodedValue)

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        # single request
        $ApiResult = Invoke-bCEndpointsApiClient -Method 'GET' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "MaintenanceWindow" `
                                -IsBodyNullable $false

        return $ApiResult["Response"]
    }
}

<#
.SYNOPSIS
 
Updates the maintenance window of the endpoint
 
.DESCRIPTION
 
No description available.
 
.PARAMETER Id
The ID of the endpoint. Only windows endpoints are supported at the moment.
 
.PARAMETER Operation
A JSON Patch document consists of a set of operations that allow specific partial changes to an object. Maintenance windows are defined in respect to the local time of an endpoint. Start and end of a maintenance period are defined using a 24-hour clock in intervals of 15 minutes (e.g. 00:00, 00:15, 17:45, 24:00). Initialize patch operations in PowerShell with `Initialize-bCPatchOperation`
 
.OUTPUTS
 
MaintenanceWindow
#>

function Update-bCEndpointsMaintenanceWindowForEndpointById {
    [CmdletBinding(PositionalBinding=$false)]
    Param (
        [Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [String]
        ${Id},
        [Parameter(Position = 1, ValueFromPipelineByPropertyName = $true, Mandatory = $false)]
        [PSCustomObject[]]
        ${Operation}
    )

    Process {
        'Calling method: Update-bCEndpointsMaintenanceWindowForEndpointById' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $LocalVarAccepts = @()
        $LocalVarContentTypes = @()
        $LocalVarQueryParameters = @{}
        $LocalVarHeaderParameters = @{}
        $LocalVarBodyParameter = $null

        # HTTP header 'Accept' (if needed)
        $LocalVarAccepts = @('application/json')

        # HTTP header 'Content-Type'
        $LocalVarContentTypes = @('application/json-patch+json')

        $LocalVarUri = '/v2.0/Endpoints/{id}/MaintenanceWindow'
        if (!$Id) {
            throw "Error! The required parameter `Id` missing when calling updateMaintenanceWindowForEndpointById."
        }
        $encodedValue = Convert-ToUrlEncoded -Value $Id
        $LocalVarUri = $LocalVarUri.replace('{id}', $encodedValue)

        if (!$Operation) {
            throw "Error! The required parameter `Operation` missing when calling updateMaintenanceWindowForEndpointById."
        }

        $LocalVarBodyParameter = ConvertTo-Json @($Operation) -Depth 100

        $LocalVarHeaderParameters = Add-SecurityHeader -LocalVarHeaderParameters $LocalVarHeaderParameters

        # single request
        $ApiResult = Invoke-bCEndpointsApiClient -Method 'PATCH' `
                                -Uri $LocalVarUri `
                                -Accepts $LocalVarAccepts `
                                -ContentTypes $LocalVarContentTypes `
                                -Body $LocalVarBodyParameter `
                                -HeaderParameters $LocalVarHeaderParameters `
                                -QueryParameters $LocalVarQueryParameters `
                                -ReturnType "MaintenanceWindow" `
                                -IsBodyNullable $false

        return $ApiResult["Response"]
    }
}


# SIG # Begin signature block
# MIIoYgYJKoZIhvcNAQcCoIIoUzCCKE8CAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCC0wIi0cQZvHDqJ
# EAG4iTV/mw6ZyeGYq3SvTujfJog3a6CCIV8wggWNMIIEdaADAgECAhAOmxiO+dAt
# 5+/bUOIIQBhaMA0GCSqGSIb3DQEBDAUAMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
# EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNV
# BAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0yMjA4MDEwMDAwMDBa
# Fw0zMTExMDkyMzU5NTlaMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2Vy
# dCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lD
# ZXJ0IFRydXN0ZWQgUm9vdCBHNDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
# ggIBAL/mkHNo3rvkXUo8MCIwaTPswqclLskhPfKK2FnC4SmnPVirdprNrnsbhA3E
# MB/zG6Q4FutWxpdtHauyefLKEdLkX9YFPFIPUh/GnhWlfr6fqVcWWVVyr2iTcMKy
# unWZanMylNEQRBAu34LzB4TmdDttceItDBvuINXJIB1jKS3O7F5OyJP4IWGbNOsF
# xl7sWxq868nPzaw0QF+xembud8hIqGZXV59UWI4MK7dPpzDZVu7Ke13jrclPXuU1
# 5zHL2pNe3I6PgNq2kZhAkHnDeMe2scS1ahg4AxCN2NQ3pC4FfYj1gj4QkXCrVYJB
# MtfbBHMqbpEBfCFM1LyuGwN1XXhm2ToxRJozQL8I11pJpMLmqaBn3aQnvKFPObUR
# WBf3JFxGj2T3wWmIdph2PVldQnaHiZdpekjw4KISG2aadMreSx7nDmOu5tTvkpI6
# nj3cAORFJYm2mkQZK37AlLTSYW3rM9nF30sEAMx9HJXDj/chsrIRt7t/8tWMcCxB
# YKqxYxhElRp2Yn72gLD76GSmM9GJB+G9t+ZDpBi4pncB4Q+UDCEdslQpJYls5Q5S
# UUd0viastkF13nqsX40/ybzTQRESW+UQUOsxxcpyFiIJ33xMdT9j7CFfxCBRa2+x
# q4aLT8LWRV+dIPyhHsXAj6KxfgommfXkaS+YHS312amyHeUbAgMBAAGjggE6MIIB
# NjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTs1+OC0nFdZEzfLmc/57qYrhwP
# TzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzAOBgNVHQ8BAf8EBAMC
# AYYweQYIKwYBBQUHAQEEbTBrMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdp
# Y2VydC5jb20wQwYIKwYBBQUHMAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNv
# bS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcnQwRQYDVR0fBD4wPDA6oDigNoY0
# aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENB
# LmNybDARBgNVHSAECjAIMAYGBFUdIAAwDQYJKoZIhvcNAQEMBQADggEBAHCgv0Nc
# Vec4X6CjdBs9thbX979XB72arKGHLOyFXqkauyL4hxppVCLtpIh3bb0aFPQTSnov
# Lbc47/T/gLn4offyct4kvFIDyE7QKt76LVbP+fT3rDB6mouyXtTP0UNEm0Mh65Zy
# oUi0mcudT6cGAxN3J0TU53/oWajwvy8LpunyNDzs9wPHh6jSTEAZNUZqaVSwuKFW
# juyk1T3osdz9HNj0d1pcVIxv76FQPfx2CWiEn2/K2yCNNWAcAgPLILCsWKAOQGPF
# mCLBsln1VWvPJ6tsds5vIy30fnFqI2si/xK4VC0nftg62fC2h5b9W9FcrBjDTZ9z
# twGpn1eqXijiuZQwggawMIIEmKADAgECAhAIrUCyYNKcTJ9ezam9k67ZMA0GCSqG
# SIb3DQEBDAUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMx
# GTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0IFRy
# dXN0ZWQgUm9vdCBHNDAeFw0yMTA0MjkwMDAwMDBaFw0zNjA0MjgyMzU5NTlaMGkx
# CzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UEAxM4
# RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcgUlNBNDA5NiBTSEEzODQg
# MjAyMSBDQTEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDVtC9C0Cit
# eLdd1TlZG7GIQvUzjOs9gZdwxbvEhSYwn6SOaNhc9es0JAfhS0/TeEP0F9ce2vnS
# 1WcaUk8OoVf8iJnBkcyBAz5NcCRks43iCH00fUyAVxJrQ5qZ8sU7H/Lvy0daE6ZM
# swEgJfMQ04uy+wjwiuCdCcBlp/qYgEk1hz1RGeiQIXhFLqGfLOEYwhrMxe6TSXBC
# Mo/7xuoc82VokaJNTIIRSFJo3hC9FFdd6BgTZcV/sk+FLEikVoQ11vkunKoAFdE3
# /hoGlMJ8yOobMubKwvSnowMOdKWvObarYBLj6Na59zHh3K3kGKDYwSNHR7OhD26j
# q22YBoMbt2pnLdK9RBqSEIGPsDsJ18ebMlrC/2pgVItJwZPt4bRc4G/rJvmM1bL5
# OBDm6s6R9b7T+2+TYTRcvJNFKIM2KmYoX7BzzosmJQayg9Rc9hUZTO1i4F4z8ujo
# 7AqnsAMrkbI2eb73rQgedaZlzLvjSFDzd5Ea/ttQokbIYViY9XwCFjyDKK05huzU
# tw1T0PhH5nUwjewwk3YUpltLXXRhTT8SkXbev1jLchApQfDVxW0mdmgRQRNYmtwm
# KwH0iU1Z23jPgUo+QEdfyYFQc4UQIyFZYIpkVMHMIRroOBl8ZhzNeDhFMJlP/2NP
# TLuqDQhTQXxYPUez+rbsjDIJAsxsPAxWEQIDAQABo4IBWTCCAVUwEgYDVR0TAQH/
# BAgwBgEB/wIBADAdBgNVHQ4EFgQUaDfg67Y7+F8Rhvv+YXsIiGX0TkIwHwYDVR0j
# BBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0PAQH/BAQDAgGGMBMGA1Ud
# JQQMMAoGCCsGAQUFBwMDMHcGCCsGAQUFBwEBBGswaTAkBggrBgEFBQcwAYYYaHR0
# cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAChjVodHRwOi8vY2FjZXJ0
# cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNydDBDBgNVHR8E
# PDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVz
# dGVkUm9vdEc0LmNybDAcBgNVHSAEFTATMAcGBWeBDAEDMAgGBmeBDAEEATANBgkq
# hkiG9w0BAQwFAAOCAgEAOiNEPY0Idu6PvDqZ01bgAhql+Eg08yy25nRm95RysQDK
# r2wwJxMSnpBEn0v9nqN8JtU3vDpdSG2V1T9J9Ce7FoFFUP2cvbaF4HZ+N3HLIvda
# qpDP9ZNq4+sg0dVQeYiaiorBtr2hSBh+3NiAGhEZGM1hmYFW9snjdufE5BtfQ/g+
# lP92OT2e1JnPSt0o618moZVYSNUa/tcnP/2Q0XaG3RywYFzzDaju4ImhvTnhOE7a
# brs2nfvlIVNaw8rpavGiPttDuDPITzgUkpn13c5UbdldAhQfQDN8A+KVssIhdXNS
# y0bYxDQcoqVLjc1vdjcshT8azibpGL6QB7BDf5WIIIJw8MzK7/0pNVwfiThV9zeK
# iwmhywvpMRr/LhlcOXHhvpynCgbWJme3kuZOX956rEnPLqR0kq3bPKSchh/jwVYb
# KyP/j7XqiHtwa+aguv06P0WmxOgWkVKLQcBIhEuWTatEQOON8BUozu3xGFYHKi8Q
# xAwIZDwzj64ojDzLj4gLDb879M4ee47vtevLt/B3E+bnKD+sEq6lLyJsQfmCXBVm
# zGwOysWGw/YmMwwHS6DTBwJqakAwSEs0qFEgu60bhQjiWQ1tygVQK+pKHJ6l/aCn
# HwZ05/LWUpD9r4VIIflXO7ScA+2GRfS0YW6/aOImYIbqyK+p/pQd52MbOoZWeE4w
# gga0MIIEnKADAgECAhANx6xXBf8hmS5AQyIMOkmGMA0GCSqGSIb3DQEBCwUAMGIx
# CzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
# dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBH
# NDAeFw0yNTA1MDcwMDAwMDBaFw0zODAxMTQyMzU5NTlaMGkxCzAJBgNVBAYTAlVT
# MRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1
# c3RlZCBHNCBUaW1lU3RhbXBpbmcgUlNBNDA5NiBTSEEyNTYgMjAyNSBDQTEwggIi
# MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC0eDHTCphBcr48RsAcrHXbo0Zo
# dLRRF51NrY0NlLWZloMsVO1DahGPNRcybEKq+RuwOnPhof6pvF4uGjwjqNjfEvUi
# 6wuim5bap+0lgloM2zX4kftn5B1IpYzTqpyFQ/4Bt0mAxAHeHYNnQxqXmRinvuNg
# xVBdJkf77S2uPoCj7GH8BLuxBG5AvftBdsOECS1UkxBvMgEdgkFiDNYiOTx4OtiF
# cMSkqTtF2hfQz3zQSku2Ws3IfDReb6e3mmdglTcaarps0wjUjsZvkgFkriK9tUKJ
# m/s80FiocSk1VYLZlDwFt+cVFBURJg6zMUjZa/zbCclF83bRVFLeGkuAhHiGPMvS
# GmhgaTzVyhYn4p0+8y9oHRaQT/aofEnS5xLrfxnGpTXiUOeSLsJygoLPp66bkDX1
# ZlAeSpQl92QOMeRxykvq6gbylsXQskBBBnGy3tW/AMOMCZIVNSaz7BX8VtYGqLt9
# MmeOreGPRdtBx3yGOP+rx3rKWDEJlIqLXvJWnY0v5ydPpOjL6s36czwzsucuoKs7
# Yk/ehb//Wx+5kMqIMRvUBDx6z1ev+7psNOdgJMoiwOrUG2ZdSoQbU2rMkpLiQ6bG
# RinZbI4OLu9BMIFm1UUl9VnePs6BaaeEWvjJSjNm2qA+sdFUeEY0qVjPKOWug/G6
# X5uAiynM7Bu2ayBjUwIDAQABo4IBXTCCAVkwEgYDVR0TAQH/BAgwBgEB/wIBADAd
# BgNVHQ4EFgQU729TSunkBnx6yuKQVvYv1Ensy04wHwYDVR0jBBgwFoAU7NfjgtJx
# XWRM3y5nP+e6mK4cD08wDgYDVR0PAQH/BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUF
# BwMIMHcGCCsGAQUFBwEBBGswaTAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGln
# aWNlcnQuY29tMEEGCCsGAQUFBzAChjVodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5j
# b20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNydDBDBgNVHR8EPDA6MDigNqA0hjJo
# dHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNy
# bDAgBgNVHSAEGTAXMAgGBmeBDAEEAjALBglghkgBhv1sBwEwDQYJKoZIhvcNAQEL
# BQADggIBABfO+xaAHP4HPRF2cTC9vgvItTSmf83Qh8WIGjB/T8ObXAZz8OjuhUxj
# aaFdleMM0lBryPTQM2qEJPe36zwbSI/mS83afsl3YTj+IQhQE7jU/kXjjytJgnn0
# hvrV6hqWGd3rLAUt6vJy9lMDPjTLxLgXf9r5nWMQwr8Myb9rEVKChHyfpzee5kH0
# F8HABBgr0UdqirZ7bowe9Vj2AIMD8liyrukZ2iA/wdG2th9y1IsA0QF8dTXqvcnT
# mpfeQh35k5zOCPmSNq1UH410ANVko43+Cdmu4y81hjajV/gxdEkMx1NKU4uHQcKf
# ZxAvBAKqMVuqte69M9J6A47OvgRaPs+2ykgcGV00TYr2Lr3ty9qIijanrUR3anzE
# wlvzZiiyfTPjLbnFRsjsYg39OlV8cipDoq7+qNNjqFzeGxcytL5TTLL4ZaoBdqbh
# OhZ3ZRDUphPvSRmMThi0vw9vODRzW6AxnJll38F0cuJG7uEBYTptMSbhdhGQDpOX
# gpIUsWTjd6xpR6oaQf/DJbg3s6KCLPAlZ66RzIg9sC+NJpud/v4+7RWsWCiKi9EO
# LLHfMR2ZyJ/+xhCx9yHbxtl5TPau1j/1MIDpMPx0LckTetiSuEtQvLsNz3Qbp7wG
# WqbIiOWCnb5WqxL3/BAPvIXKUjPSxyZsq8WhbaM2tszWkPZPubdcMIIG7TCCBNWg
# AwIBAgIQCoDvGEuN8QWC0cR2p5V0aDANBgkqhkiG9w0BAQsFADBpMQswCQYDVQQG
# EwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0
# IFRydXN0ZWQgRzQgVGltZVN0YW1waW5nIFJTQTQwOTYgU0hBMjU2IDIwMjUgQ0Ex
# MB4XDTI1MDYwNDAwMDAwMFoXDTM2MDkwMzIzNTk1OVowYzELMAkGA1UEBhMCVVMx
# FzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMTswOQYDVQQDEzJEaWdpQ2VydCBTSEEy
# NTYgUlNBNDA5NiBUaW1lc3RhbXAgUmVzcG9uZGVyIDIwMjUgMTCCAiIwDQYJKoZI
# hvcNAQEBBQADggIPADCCAgoCggIBANBGrC0Sxp7Q6q5gVrMrV7pvUf+GcAoB38o3
# zBlCMGMyqJnfFNZx+wvA69HFTBdwbHwBSOeLpvPnZ8ZN+vo8dE2/pPvOx/Vj8Tch
# TySA2R4QKpVD7dvNZh6wW2R6kSu9RJt/4QhguSssp3qome7MrxVyfQO9sMx6ZAWj
# FDYOzDi8SOhPUWlLnh00Cll8pjrUcCV3K3E0zz09ldQ//nBZZREr4h/GI6Dxb2Uo
# yrN0ijtUDVHRXdmncOOMA3CoB/iUSROUINDT98oksouTMYFOnHoRh6+86Ltc5zjP
# KHW5KqCvpSduSwhwUmotuQhcg9tw2YD3w6ySSSu+3qU8DD+nigNJFmt6LAHvH3KS
# uNLoZLc1Hf2JNMVL4Q1OpbybpMe46YceNA0LfNsnqcnpJeItK/DhKbPxTTuGoX7w
# JNdoRORVbPR1VVnDuSeHVZlc4seAO+6d2sC26/PQPdP51ho1zBp+xUIZkpSFA8vW
# doUoHLWnqWU3dCCyFG1roSrgHjSHlq8xymLnjCbSLZ49kPmk8iyyizNDIXj//cOg
# rY7rlRyTlaCCfw7aSUROwnu7zER6EaJ+AliL7ojTdS5PWPsWeupWs7NpChUk555K
# 096V1hE0yZIXe+giAwW00aHzrDchIc2bQhpp0IoKRR7YufAkprxMiXAJQ1XCmnCf
# gPf8+3mnAgMBAAGjggGVMIIBkTAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBTkO/zy
# Me39/dfzkXFjGVBDz2GM6DAfBgNVHSMEGDAWgBTvb1NK6eQGfHrK4pBW9i/USezL
# TjAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwgZUGCCsG
# AQUFBwEBBIGIMIGFMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5j
# b20wXQYIKwYBBQUHMAKGUWh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdp
# Q2VydFRydXN0ZWRHNFRpbWVTdGFtcGluZ1JTQTQwOTZTSEEyNTYyMDI1Q0ExLmNy
# dDBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGln
# aUNlcnRUcnVzdGVkRzRUaW1lU3RhbXBpbmdSU0E0MDk2U0hBMjU2MjAyNUNBMS5j
# cmwwIAYDVR0gBBkwFzAIBgZngQwBBAIwCwYJYIZIAYb9bAcBMA0GCSqGSIb3DQEB
# CwUAA4ICAQBlKq3xHCcEua5gQezRCESeY0ByIfjk9iJP2zWLpQq1b4URGnwWBdEZ
# D9gBq9fNaNmFj6Eh8/YmRDfxT7C0k8FUFqNh+tshgb4O6Lgjg8K8elC4+oWCqnU/
# ML9lFfim8/9yJmZSe2F8AQ/UdKFOtj7YMTmqPO9mzskgiC3QYIUP2S3HQvHG1FDu
# +WUqW4daIqToXFE/JQ/EABgfZXLWU0ziTN6R3ygQBHMUBaB5bdrPbF6MRYs03h4o
# bEMnxYOX8VBRKe1uNnzQVTeLni2nHkX/QqvXnNb+YkDFkxUGtMTaiLR9wjxUxu2h
# ECZpqyU1d0IbX6Wq8/gVutDojBIFeRlqAcuEVT0cKsb+zJNEsuEB7O7/cuvTQasn
# M9AWcIQfVjnzrvwiCZ85EE8LUkqRhoS3Y50OHgaY7T/lwd6UArb+BOVAkg2oOvol
# /DJgddJ35XTxfUlQ+8Hggt8l2Yv7roancJIFcbojBcxlRcGG0LIhp6GvReQGgMgY
# xQbV1S3CrWqZzBt1R9xJgKf47CdxVRd/ndUlQ05oxYy2zRWVFjF7mcr4C34Mj3oc
# CVccAvlKV9jEnstrniLvUxxVZE/rptb7IRE2lskKPIJgbaP5t2nGj/ULLi49xTcB
# ZU8atufk+EMF/cWuiC7POGT75qaL6vdCvHlshtjdNXOCIUjsarfNZzCCB20wggVV
# oAMCAQICEAeWORKotX7L33/aMY+MKvMwDQYJKoZIhvcNAQELBQAwaTELMAkGA1UE
# BhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2Vy
# dCBUcnVzdGVkIEc0IENvZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENB
# MTAeFw0yNDEyMDMwMDAwMDBaFw0yODAxMDcyMzU5NTlaMHUxCzAJBgNVBAYTAkRF
# MQ8wDQYDVQQIEwZCYXllcm4xETAPBgNVBAcTCEF1Z3NidXJnMSAwHgYDVQQKExdi
# YXJhbXVuZGkgc29mdHdhcmUgR21iSDEgMB4GA1UEAxMXYmFyYW11bmRpIHNvZnR3
# YXJlIEdtYkgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC+S6cECzQO
# u8A60a+OXaQRRhXyPzkiZCDqO+mh7CBJg5vF3CLA6JMhWwSAUsCfmKqL2Eu2biUK
# CgVnhRgZboZvIUTF4VuOfOOwUGduJ6Z7Y1Fcq7m0hbaRZy0a7YI6Bj/BcOqFQHOT
# +XfR+TXOLx1oelgJAfo5xSgCKvg7K/LVYN/nkuyY+tz22Xpu3s6oenFNpVz2tg+l
# I4wD7rxwuZjkm8Jxn1JvOHbJndOdHYmtaCp+ui1EqU2upHJrDjdd1D+tIiRhQEMs
# j9NUrQMR5BdmWrUyRBo0QcP/Tr7QUMjYTWPTLXYkKT+4ucVqCUfcI2bgmsmLRsbs
# o35i5QbkDoeim2ABLe+tfTgRZ0kO3ksMLwzqPX/TcZsIrUPKSKczVZ49rSThiKmD
# 1kdA208IgixWFJt8ZEfz48gCBixLK2ZZOMAmuaWkwFqk2LTpsaDkctt9xdCCT5l5
# DS3+xPIs27dA/qUBSQ5br73n30YbypEoMr37mBKhlhvciIECtbXrcFyYwGLaL/VR
# XxHEh0Ww40ZEZRllo+XZAFyE7nSzG2k9v/ojlZ2WHnLWCcSPssdx1JGJK6ifmE21
# D/Z3S5mM3xQ9ygj99DYjihRAUHLr4nxtz51EiBw0/0iiHlCDlBmgfb3Qxgtkoo3p
# al8MO9AdRGZI4xbNayEr70dYTkAM4Cqj+wIDAQABo4ICAzCCAf8wHwYDVR0jBBgw
# FoAUaDfg67Y7+F8Rhvv+YXsIiGX0TkIwHQYDVR0OBBYEFLv54WJIjznuTWLFbjBC
# Lq4QqTnEMD4GA1UdIAQ3MDUwMwYGZ4EMAQQBMCkwJwYIKwYBBQUHAgEWG2h0dHA6
# Ly93d3cuZGlnaWNlcnQuY29tL0NQUzAOBgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAww
# CgYIKwYBBQUHAwMwgbUGA1UdHwSBrTCBqjBToFGgT4ZNaHR0cDovL2NybDMuZGln
# aWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hB
# Mzg0MjAyMUNBMS5jcmwwU6BRoE+GTWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9E
# aWdpQ2VydFRydXN0ZWRHNENvZGVTaWduaW5nUlNBNDA5NlNIQTM4NDIwMjFDQTEu
# Y3JsMIGUBggrBgEFBQcBAQSBhzCBhDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3Au
# ZGlnaWNlcnQuY29tMFwGCCsGAQUFBzAChlBodHRwOi8vY2FjZXJ0cy5kaWdpY2Vy
# dC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JTQTQwOTZTSEEzODQy
# MDIxQ0ExLmNydDAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBCwUAA4ICAQA+bqWjJhzW
# +fzGu1RdCjuiQ3Cb0IKcwgvyaa9ggYBB2Y+oeixw1KlNTWXE6jXP33B5qWEexwSo
# d24vmOSFeA6XoINPjVewXxW/oTa8rg/v2Gho056msV6pevg5yb4wTKgRNseP+/Aa
# IYGijiQ9PpQpR50S2h55oZOKcQsLGg9yndxmWbjnHmzWPeML4nBoeN8rIlwO2wjC
# nEKpNqK4yfcm2vLavE0nmpTRGpA7qSK0Ao2hU8vlqNevsWo4kdrRbqvkiyYH6DSi
# iwYs9aQrtIRn1dsncX72I3wEf360ljy07aUrVb6pxRTxEDChctqs0oqVWv8f6dPo
# OV9iqnHaBlDMu/bUIvAlmzpmbvsQykuDZdZIe7RGCt51niE2ToSvAmAnxGE0jitC
# 877Uh+XgK/3/GBL75WN51ojm1JscY/yhiZALvFjGFjqDuoFe3lvEFMnZIOSoSvVX
# cj+Bs95hS/gq3oRRwFor+05oUV4WbYslY6TH3xAkoiOUnF3BJzgugIsMIYThZmgZ
# JxuFdHQxJafXEGYoJLU01tgjsAQzfac3ccnrcbNAVDPs9sN8v+CjHJrqLiaSfUBa
# 8FjcuVvHeCqRcmyvMhDTPnMsxAzy5mntbaej5N9OA43Ifh9H6SikzmZGxeJqwF6w
# +IE7qyRjdrqMNuNVNC25WbAzNWCvqE38sjGCBlkwggZVAgEBMH0waTELMAkGA1UE
# BhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMUEwPwYDVQQDEzhEaWdpQ2Vy
# dCBUcnVzdGVkIEc0IENvZGUgU2lnbmluZyBSU0E0MDk2IFNIQTM4NCAyMDIxIENB
# MQIQB5Y5Eqi1fsvff9oxj4wq8zANBglghkgBZQMEAgEFAKCBhDAYBgorBgEEAYI3
# AgEMMQowCKACgAChAoAAMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisG
# AQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJBDEiBCAv/bYqICHW
# QANoV8UXGt18CjZfBAqdNz0VklFZAul9XzANBgkqhkiG9w0BAQEFAASCAgBzOaJO
# 1mPH5vaFhVMAp9AZWDY5KGq1scvNsa0wn7OuPE3Zgi7bSgfiex6e9fT+Phywu6m0
# XbDGfqCfGv4uO5XDPVz/hpX/pjf2TfJLLSu0W8ayh4NQf8qJjHcEb0jVXeT7hvbv
# Sq8tULqltUCgyIiuivPFL6ZPNImHnihhsBvSXQT5XLMDUayRVl6JlCudY5QIlciL
# xLAB07c/TMR7hhBIElEhtvqE0UeKNsAQ5Dz7UZcTfiaZRUPqp+CZrQat86C7bHPx
# S5djd0+hN6ulxKPyM9yPluFE0LAZynMIGEUL46x5DbpQPXekChCobYeGJtg0Wfg7
# SuMrJqoGNshS2fUaQdqhn2f5G93MPAUUczBZbcFyvGF/T0n0TiNGRJDSq9KfU3fK
# ms8BuTVqEY90HueJS/RJ4KNm8jLzr65TlKqKp4oEICzwF+GlzTulTd5N816I/SP1
# GCAuhHpXS6H+txVcKq++nKjPQCbxS3MM3O61GvTcublOV09RbP8JYYywbMkXA5VT
# QjjXvh8C+s9NgMZslSP9S3GrdCG52PuGd0HBWB/A9Q9CJktEHuG+P1Eq7QN+CxP4
# zyB1MircSkQ9xhmZPyUqda+Gy4WFd7AVsZmHMUTSMaexbCLD3tUiP0gtvk4QuhpY
# LuY8lqrn2RtRsxw8rh0A2alNgVhvUEhiog53gaGCAyYwggMiBgkqhkiG9w0BCQYx
# ggMTMIIDDwIBATB9MGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg
# SW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBUaW1lU3RhbXBpbmcg
# UlNBNDA5NiBTSEEyNTYgMjAyNSBDQTECEAqA7xhLjfEFgtHEdqeVdGgwDQYJYIZI
# AWUDBAIBBQCgaTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJ
# BTEPFw0yNjA1MTIwODI2NDZaMC8GCSqGSIb3DQEJBDEiBCDcOHdnNNSqXTZF6kty
# SNwxzfYpBh6ks6HtW4ffmfXSxDANBgkqhkiG9w0BAQEFAASCAgCANDDy1xFu2mNC
# hwQN9o6LGU765A336gmfZnsCOC6NEven/C8/yNI3hWcv6GKIDjvWhsAgwlcID2vp
# OBmRWTmdV5cI8XwZ7AKNLtbApQ0gof+Pdb6om17EvLHFsLjQlvNxeD2zYFAf/UTp
# PPAEoRoXJN9xir0SkrpiOOmRRqynel/2OgO6PK57S7yO6hz1kO9h5F4G4/HTadrU
# ENUGIVaEjgzWG8SgciTqKProu7KvJONtuROnFIhuSaOJsTCZsX12ENP78uGmJLLN
# LOTVQdixneSKEXygInI//cWluehRDrL45pII0rh5m0H6dh2MmOp1Kb3u46nGzIOJ
# Ph/AdqtCR7z8GJsU7uGub3fdxnoCEdawo2OkJ21CpSTogf+bGwptp6yl7NOPua6k
# bJ/heAiZSNWmRnHPdwaXUhr8c4I6hDgaPQB3n4guugaows4PFeQTnbKA46V/dA6H
# YaUHltXfZHNSSzO9VKz3BKz+I/VyP5MMLvzBBuxBK0a0Kp38hMon0Wc5BuFMZXCQ
# m2fQlRLQN16tzz7NK8+VsYN+c13fKhXfu66N8Ry2I20xSa3bZ07TL07PrLifYQDT
# U3ZlLp+EctaGNcyrJAJVRaBzo1xkLyuoXmVHA5OMYRSY2GgDDwkXmrIhoyfxVXaS
# Uq6srZ9FCK1lHoxbyX4DTlemZYMYJg==
# SIG # End signature block