Api/LibraryItemApi.ps1
# # Ovf Paths # The vcenter ovf package provides services to capture and deploy Open Virtualization Format (OVF) packages to and from the content library. It provides the ability to deploy OVF packages from the content library with support for advanced network topologies, network services, creating virtual appliances and virtual machines in hosts, resource pools or clusters. It also provides the ability to export virtual appliances and virtual machines from hosts, resource pools or clusters as OVF packages to the content library. # Contact: powercli@vmware.com # Generated by OpenAPI Generator: https://openapi-generator.tech # <# .SYNOPSIS Creates a library item in content library from a virtual machine or virtual appliance. This operation creates a library item in content library whose content is an OVF package derived from a source virtual machine or virtual appliance, using the supplied create specification. The OVF package may be stored as in a newly created library item or in an in an existing library item. For an existing library item whose content is updated by this operation, the original content is overwritten. Meta data such as name and description is not updated for the exisitng library item. if you do not have all of the privileges described as follows: - Operation execution requires System.Read. - The resource VirtualMachine or VirtualApp referenced by the attribute LibraryItem.DeployableIdentity.id requires VApp.Export. - The resource com.vmware.content.Library referenced by the attribute LibraryItem.CreateTarget.library-id requires ContentLibrary.AddLibraryItem. - The resource com.vmware.content.library.Item referenced by the attribute LibraryItem.CreateTarget.library-item-id requires System.Read. .DESCRIPTION No description available. .PARAMETER OvfLibraryItemCreateRequestBody No description available. .PARAMETER ClientToken Client-generated token used to retry a request if the client fails to get a response from the server. If the original request succeeded, the result of that request will be returned, otherwise the operation will be retried. If unset, the server will create a token. .PARAMETER WithHttpInfo A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response .OUTPUTS OvfLibraryItemCreateResult .LINK Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/ovf/library-item/post/ #> function Invoke-CreateOvfLibraryItem { [CmdletBinding( SupportsShouldProcess = $true, ConfirmImpact = 'Low', HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/ovf/library-item/post/" )] Param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [PSTypeName("OvfLibraryItemCreateRequestBody")] [PSCustomObject] ${OvfLibraryItemCreateRequestBody}, [Parameter(Mandatory = $false)] [ValidateScript({ $_ -is [string] })] ${ClientToken}, [Parameter()] [vSphereConnectionToServerConfigurationArgumentTransformationAttribute()] [PSTypeName('vSphereServerConfiguration')] $Server, [Switch] $WithHttpInfo ) Process { 'Calling method: Invoke-CreateOvfLibraryItem' | Write-Debug $ServerConfigurations = Get-vSphereServerConfiguration if ($PSBoundParameters.ContainsKey('Server')) { $ServerConfigurations = $Server } if ($null -eq $ServerConfigurations) { throw "You are not currently connected to any servers. Please connect first using a Connect-VIServer cmdlet or add vSphere Server Configuration with New-vSphereServerConfiguration." } $LocalVarAccepts = @() $LocalVarContentTypes = @() $LocalVarQueryParameters = @{} $LocalVarHeaderParameters = @{} $LocalVarFormParameters = @{} $LocalVarPathParameters = @{} $LocalVarCookieParameters = @{} $LocalVarBodyParameter = $null $ServerFromInputParameters = $null $InputParametersFromServer = $PSBoundParameters.Values | Where-Object -FilterScript { $_.PSObject.TypeNames -Contains 'ServerObject' } foreach ($InputParameterFromServer in $InputParametersFromServer) { $InputParameterServer = $InputParameterFromServer.GetServer() if ( !$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters -and !$ServerFromInputParameters.Equals($InputParameterServer) ) { $ErrorMessage = "{0} and {1} come from different servers. {0} from {2} and {1} from {3}. Please specify the -Server parameter of the cmdlet." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $InputParameterFromServer, $ServerFromInputParameters.Server, $InputParameterServer) } if ($null -eq $ServerFromInputParameters) { $ServerFromInputParameters = [PSCustomObject] @{ InputParameter = $InputParameterFromServer Server = $InputParameterServer } } } if ( $null -ne $ServerFromInputParameters -and $PSBoundParameters.ContainsKey('Server') -and !$ServerFromInputParameters.Server.Equals($Server) ) { $ErrorMessage = "{0} comes from server {1} but server {2} is explicitly specified." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $ServerFromInputParameters.Server, $Server) } # HTTP header 'Accept' (if needed) $LocalVarAccepts = @('application/json') # HTTP header 'Content-Type' $LocalVarContentTypes = @('application/json') $serversToProcess = $ServerConfigurations if (!$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters) { $serversToProcess = $ServerFromInputParameters.Server } foreach ($serverConfiguration in $serversToProcess) { $shouldProcessActionMessage = "Performing the operation 'CreateOvfLibraryItem' on target server '$($serverConfiguration.ToString())'." $shouldProcessActionCaption = 'Are you sure you want to perform this action?' if ($PSCmdlet.ShouldProcess( $shouldProcessActionMessage, $shouldProcessActionMessage, $shouldProcessActionCaption ) ) { $LocalVarUri = '/api/vcenter/ovf/library-item' $LocalVarMethod = 'POST' $useDeprecatedApis = ($null -ne $serverConfiguration.UseDeprecatedApis -and $serverConfiguration.UseDeprecatedApis) $translationSchema = $null $transformedOpertaionInput = New-InputTransformationStructure if ($useDeprecatedApis) { # Use Deprecated APIs $translationSchema = Get-OperationTranslationSchema ` -operationPath $LocalVarUri.Replace('__', '?') ` -operationVerb $LocalVarMethod if ($null -ne $translationSchema) { $LocalVarUri = $translationSchema.OldPath $LocalVarMethod = $translationSchema.OldVerb } } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-PathParams -OperationTranslateSchema $translationSchema -PathParams $LocalVarPathParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ($null -ne $ClientToken) { $LocalVarHeaderParameters['client_token'] = $ClientToken } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-Headers -OperationTranslateSchema $translationSchema -Headers $LocalVarHeaderParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ( $useDeprecatedApis -and ($null -ne $translationSchema) -and ($LocalVarQueryParameters.Count -gt 0) ) { $inputQuerySctructure = [PSCustomObject]$LocalVarQueryParameters $translatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Query if ($null -ne $translatedBody) { $LocalVarBodyParameter = $translatedBody | ConvertTo-Json -Depth 100 if ($LocalVarContentTypes.Count -eq 0) { $LocalVarContentTypes = @('application/json') } } $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } if (!$OvfLibraryItemCreateRequestBody) { throw "Error! The required parameter `OvfLibraryItemCreateRequestBody` missing when calling createOvfLibraryItem." } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { if ( $OvfLibraryItemCreateRequestBody -is [PSCustomObject]) { $addTransformationInput = Format-Body -OperationTranslateSchema $translationSchema -Body ([ref]$OvfLibraryItemCreateRequestBody) Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } $tranlatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $OvfLibraryItemCreateRequestBody -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $OvfLibraryItemCreateRequestBody -InputType Query if ($null -ne $translatedQuery) { $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } $OvfLibraryItemCreateRequestBody = $tranlatedBody if ($null -ne $transformedOpertaionInput.Path) { foreach ($keyValue in $transformedOpertaionInput.Path.GetEnumerator()) { $LocalVarUri = $LocalVarUri.replace("{$($keyValue.Key)}", $keyValue.Value) } } if ($null -ne $transformedOpertaionInput.Query) { foreach ($keyValue in $transformedOpertaionInput.Query.GetEnumerator()) { $LocalVarQueryParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Header) { foreach ($keyValue in $transformedOpertaionInput.Header.GetEnumerator()) { $LocalVarHeaderParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Body) { if ($null -ne $OvfLibraryItemCreateRequestBody) { foreach ($keyValue in $transformedOpertaionInput.Body.GetEnumerator()) { $OvfLibraryItemCreateRequestBody | Add-Member -MemberType NoteProperty -Name $keyValue.Key -Value $keyValue.Value } } else { $OvfLibraryItemCreateRequestBody = [PSCustomObject]$($transformedOpertaionInput.Body) } } } if ($null -ne $OvfLibraryItemCreateRequestBody) { $LocalVarBodyParameter = $OvfLibraryItemCreateRequestBody | ConvertTo-Json -Depth 100 } $invokeParams = @{ 'Method' = $LocalVarMethod 'Uri' = $LocalVarUri 'Accepts' = $LocalVarAccepts 'ContentTypes' = $LocalVarContentTypes 'Body' = $LocalVarBodyParameter 'HeaderParameters' = $LocalVarHeaderParameters 'QueryParameters' = $LocalVarQueryParameters 'FormParameters' = $LocalVarFormParameters 'CookieParameters' = $LocalVarCookieParameters 'ReturnType' = "OvfLibraryItemCreateResult" 'IsBodyNullable' = $false 'Server' = $serverConfiguration } if ($PSBoundParameters.ContainsKey('Debug')) { $invokeParams['Debug'] = $Debug } if ($PSBoundParameters.ContainsKey('Verbose')) { $invokeParams['Verbose'] = $Verbose } if ($PSBoundParameters.ContainsKey('WarningAction')) { $invokeParams['WarningAction'] = $PSBoundParameters.WarningAction } if ($PSBoundParameters.ContainsKey('ErrorAction')) { $invokeParams['ErrorAction'] = $PSBoundParameters.ErrorAction } $invokeParams['InvocationInfo'] = @{ 'ModuleName' = $MyInvocation.MyCommand.ModuleName 'CmdletName' = $MyInvocation.MyCommand.Name } $invokeResult = Invoke-vSphereApiClient @invokeParams $invokeResult | Foreach-Object { $SingleServerResult = $_ if ($SingleServerResult -is [hashtable]) { if ($useDeprecatedApis -and ($null -ne $translationSchema) -and ($null -ne $SingleServerResult["Response"])) { $ServerName = $SingleServerResult["Response"].PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') } $SingleServerResult["Response"] = Convert-OutputBody ` -OperationTranslateSchema $translationSchema ` -OperationOutputObject $SingleServerResult["Response"] if (![string]::IsNullOrEmpty($ServerName)) { $SingleServerResult["Response"] | ForEach-Object -Process { $_.PSObject.TypeNames.Add($ServerName) $_ = $_ | Add-Member -MemberType ScriptMethod -Name GetServer -Value { $productServerString = ($this.PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') }).Substring(7) $productSeparatorIndex = $productServerString.IndexOf(':') $product = $productServerString.Substring(0, $productSeparatorIndex) $server = $productServerString.Substring($productSeparatorIndex + 1, $productServerString.Length - $productSeparatorIndex - 1) Get-ServerConfiguration -Product $product | Where-Object -FilterScript { $_.ToString() -eq $server } } -Force -PassThru $_.PSObject.TypeNames.Add("ServerObject") } } } $SingleServerResult["Response"].PSObject.TypeNames.Insert(0, "OvfLibraryItemCreateResult") if ($WithHttpInfo.IsPresent) { # result object $SingleServerResult } else { # result object $SingleServerResult["Response"] } } else { Write-Warning "An item from the Invoke-vSphereApiClient was expected to be a Hashtable but it is '$($SingleServerResult.GetType())'" } } } } } } <# .SYNOPSIS Deploys an OVF package stored in content library to a newly created virtual machine or virtual appliance. This operation deploys an OVF package which is stored in the library item specified by ovfLibraryItemId. It uses the deployment specification in deploymentSpec to deploy the OVF package to the location specified by target. if you do not have all of the privileges described as follows: - Operation execution requires System.Read. - The resource com.vmware.content.library.Item referenced by the parameter ovfLibraryItemId requires System.Read. - The resource HostSystem referenced by the attribute LibraryItem.DeploymentTarget.host-id requires System.Read. - The resource Network referenced by the map value of attribute LibraryItem.ResourcePoolDeploymentSpec.network-mappings requires System.Read. - The resource StorageProfile referenced by the attribute LibraryItem.ResourcePoolDeploymentSpec.storage-profile-id requires System.Read. - The resource Datastore referenced by the attribute LibraryItem.ResourcePoolDeploymentSpec.default-datastore-id requires System.Read. - The resource ResourcePool referenced by the attribute LibraryItem.DeploymentTarget.resource-pool-id requires VApp.Import. - The resource Folder referenced by the attribute LibraryItem.DeploymentTarget.folder-id requires VApp.Import. .DESCRIPTION No description available. .PARAMETER OvfLibraryItemId Identifier of the content library item containing the OVF package to be deployed. The parameter must be an identifier for the resource type: com.vmware.content.library.Item. .PARAMETER OvfLibraryItemDeployRequestBody No description available. .PARAMETER ClientToken Client-generated token used to retry a request if the client fails to get a response from the server. If the original request succeeded, the result of that request will be returned, otherwise the operation will be retried. If unset, the server will create a token. .PARAMETER WithHttpInfo A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response .OUTPUTS OvfLibraryItemDeploymentResult .LINK Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/ovf/library-item/ovf_library_item_idactiondeploy/post/ #> function Invoke-DeployOvfLibraryItemId { [CmdletBinding( SupportsShouldProcess = $true, ConfirmImpact = 'Low', HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/ovf/library-item/ovf_library_item_idactiondeploy/post/" )] Param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [ValidateScript({ $_ -is [string] })] ${OvfLibraryItemId}, [Parameter(Mandatory = $true)] [PSTypeName("OvfLibraryItemDeployRequestBody")] [PSCustomObject] ${OvfLibraryItemDeployRequestBody}, [Parameter(Mandatory = $false)] [ValidateScript({ $_ -is [string] })] ${ClientToken}, [Parameter()] [vSphereConnectionToServerConfigurationArgumentTransformationAttribute()] [PSTypeName('vSphereServerConfiguration')] $Server, [Switch] $WithHttpInfo ) Process { 'Calling method: Invoke-DeployOvfLibraryItemId' | Write-Debug $ServerConfigurations = Get-vSphereServerConfiguration if ($PSBoundParameters.ContainsKey('Server')) { $ServerConfigurations = $Server } if ($null -eq $ServerConfigurations) { throw "You are not currently connected to any servers. Please connect first using a Connect-VIServer cmdlet or add vSphere Server Configuration with New-vSphereServerConfiguration." } $LocalVarAccepts = @() $LocalVarContentTypes = @() $LocalVarQueryParameters = @{} $LocalVarHeaderParameters = @{} $LocalVarFormParameters = @{} $LocalVarPathParameters = @{} $LocalVarCookieParameters = @{} $LocalVarBodyParameter = $null $ServerFromInputParameters = $null $InputParametersFromServer = $PSBoundParameters.Values | Where-Object -FilterScript { $_.PSObject.TypeNames -Contains 'ServerObject' } foreach ($InputParameterFromServer in $InputParametersFromServer) { $InputParameterServer = $InputParameterFromServer.GetServer() if ( !$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters -and !$ServerFromInputParameters.Equals($InputParameterServer) ) { $ErrorMessage = "{0} and {1} come from different servers. {0} from {2} and {1} from {3}. Please specify the -Server parameter of the cmdlet." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $InputParameterFromServer, $ServerFromInputParameters.Server, $InputParameterServer) } if ($null -eq $ServerFromInputParameters) { $ServerFromInputParameters = [PSCustomObject] @{ InputParameter = $InputParameterFromServer Server = $InputParameterServer } } } if ( $null -ne $ServerFromInputParameters -and $PSBoundParameters.ContainsKey('Server') -and !$ServerFromInputParameters.Server.Equals($Server) ) { $ErrorMessage = "{0} comes from server {1} but server {2} is explicitly specified." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $ServerFromInputParameters.Server, $Server) } # HTTP header 'Accept' (if needed) $LocalVarAccepts = @('application/json') # HTTP header 'Content-Type' $LocalVarContentTypes = @('application/json') $serversToProcess = $ServerConfigurations if (!$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters) { $serversToProcess = $ServerFromInputParameters.Server } foreach ($serverConfiguration in $serversToProcess) { $shouldProcessActionMessage = "Performing the operation 'DeployOvfLibraryItemId' on target server '$($serverConfiguration.ToString())'." $shouldProcessActionCaption = 'Are you sure you want to perform this action?' if ($PSCmdlet.ShouldProcess( $shouldProcessActionMessage, $shouldProcessActionMessage, $shouldProcessActionCaption ) ) { $LocalVarUri = '/api/vcenter/ovf/library-item/{ovf_library_item_id}__action=deploy' $LocalVarMethod = 'POST' $useDeprecatedApis = ($null -ne $serverConfiguration.UseDeprecatedApis -and $serverConfiguration.UseDeprecatedApis) $translationSchema = $null $transformedOpertaionInput = New-InputTransformationStructure if ($useDeprecatedApis) { # Use Deprecated APIs $translationSchema = Get-OperationTranslationSchema ` -operationPath $LocalVarUri.Replace('__', '?') ` -operationVerb $LocalVarMethod if ($null -ne $translationSchema) { $LocalVarUri = $translationSchema.OldPath $LocalVarMethod = $translationSchema.OldVerb } } if (!$OvfLibraryItemId) { throw "Error! The required parameter `OvfLibraryItemId` missing when calling deployOvfLibraryItemId." } $LocalVarUri = $LocalVarUri.replace('{ovf_library_item_id}', $OvfLibraryItemId) $LocalVarPathParameters['ovf_library_item_id'] = $OvfLibraryItemId if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-PathParams -OperationTranslateSchema $translationSchema -PathParams $LocalVarPathParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ($null -ne $ClientToken) { $LocalVarHeaderParameters['client_token'] = $ClientToken } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-Headers -OperationTranslateSchema $translationSchema -Headers $LocalVarHeaderParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ( $useDeprecatedApis -and ($null -ne $translationSchema) -and ($LocalVarQueryParameters.Count -gt 0) ) { $inputQuerySctructure = [PSCustomObject]$LocalVarQueryParameters $translatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Query if ($null -ne $translatedBody) { $LocalVarBodyParameter = $translatedBody | ConvertTo-Json -Depth 100 if ($LocalVarContentTypes.Count -eq 0) { $LocalVarContentTypes = @('application/json') } } $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } if (!$OvfLibraryItemDeployRequestBody) { throw "Error! The required parameter `OvfLibraryItemDeployRequestBody` missing when calling deployOvfLibraryItemId." } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { if ( $OvfLibraryItemDeployRequestBody -is [PSCustomObject]) { $addTransformationInput = Format-Body -OperationTranslateSchema $translationSchema -Body ([ref]$OvfLibraryItemDeployRequestBody) Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } $tranlatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $OvfLibraryItemDeployRequestBody -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $OvfLibraryItemDeployRequestBody -InputType Query if ($null -ne $translatedQuery) { $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } $OvfLibraryItemDeployRequestBody = $tranlatedBody if ($null -ne $transformedOpertaionInput.Path) { foreach ($keyValue in $transformedOpertaionInput.Path.GetEnumerator()) { $LocalVarUri = $LocalVarUri.replace("{$($keyValue.Key)}", $keyValue.Value) } } if ($null -ne $transformedOpertaionInput.Query) { foreach ($keyValue in $transformedOpertaionInput.Query.GetEnumerator()) { $LocalVarQueryParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Header) { foreach ($keyValue in $transformedOpertaionInput.Header.GetEnumerator()) { $LocalVarHeaderParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Body) { if ($null -ne $OvfLibraryItemDeployRequestBody) { foreach ($keyValue in $transformedOpertaionInput.Body.GetEnumerator()) { $OvfLibraryItemDeployRequestBody | Add-Member -MemberType NoteProperty -Name $keyValue.Key -Value $keyValue.Value } } else { $OvfLibraryItemDeployRequestBody = [PSCustomObject]$($transformedOpertaionInput.Body) } } } if ($null -ne $OvfLibraryItemDeployRequestBody) { $LocalVarBodyParameter = $OvfLibraryItemDeployRequestBody | ConvertTo-Json -Depth 100 } $invokeParams = @{ 'Method' = $LocalVarMethod 'Uri' = $LocalVarUri 'Accepts' = $LocalVarAccepts 'ContentTypes' = $LocalVarContentTypes 'Body' = $LocalVarBodyParameter 'HeaderParameters' = $LocalVarHeaderParameters 'QueryParameters' = $LocalVarQueryParameters 'FormParameters' = $LocalVarFormParameters 'CookieParameters' = $LocalVarCookieParameters 'ReturnType' = "OvfLibraryItemDeploymentResult" 'IsBodyNullable' = $false 'Server' = $serverConfiguration } if ($PSBoundParameters.ContainsKey('Debug')) { $invokeParams['Debug'] = $Debug } if ($PSBoundParameters.ContainsKey('Verbose')) { $invokeParams['Verbose'] = $Verbose } if ($PSBoundParameters.ContainsKey('WarningAction')) { $invokeParams['WarningAction'] = $PSBoundParameters.WarningAction } if ($PSBoundParameters.ContainsKey('ErrorAction')) { $invokeParams['ErrorAction'] = $PSBoundParameters.ErrorAction } $invokeParams['InvocationInfo'] = @{ 'ModuleName' = $MyInvocation.MyCommand.ModuleName 'CmdletName' = $MyInvocation.MyCommand.Name } $invokeResult = Invoke-vSphereApiClient @invokeParams $invokeResult | Foreach-Object { $SingleServerResult = $_ if ($SingleServerResult -is [hashtable]) { if ($useDeprecatedApis -and ($null -ne $translationSchema) -and ($null -ne $SingleServerResult["Response"])) { $ServerName = $SingleServerResult["Response"].PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') } $SingleServerResult["Response"] = Convert-OutputBody ` -OperationTranslateSchema $translationSchema ` -OperationOutputObject $SingleServerResult["Response"] if (![string]::IsNullOrEmpty($ServerName)) { $SingleServerResult["Response"] | ForEach-Object -Process { $_.PSObject.TypeNames.Add($ServerName) $_ = $_ | Add-Member -MemberType ScriptMethod -Name GetServer -Value { $productServerString = ($this.PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') }).Substring(7) $productSeparatorIndex = $productServerString.IndexOf(':') $product = $productServerString.Substring(0, $productSeparatorIndex) $server = $productServerString.Substring($productSeparatorIndex + 1, $productServerString.Length - $productSeparatorIndex - 1) Get-ServerConfiguration -Product $product | Where-Object -FilterScript { $_.ToString() -eq $server } } -Force -PassThru $_.PSObject.TypeNames.Add("ServerObject") } } } $SingleServerResult["Response"].PSObject.TypeNames.Insert(0, "OvfLibraryItemDeploymentResult") if ($WithHttpInfo.IsPresent) { # result object $SingleServerResult } else { # result object $SingleServerResult["Response"] } } else { Write-Warning "An item from the Invoke-vSphereApiClient was expected to be a Hashtable but it is '$($SingleServerResult.GetType())'" } } } } } } <# .SYNOPSIS Queries an OVF package stored in content library to retrieve information to use when deploying the package. See LibraryItem.deploy. This operation retrieves information from the descriptor of the OVF package stored in the library item specified by ovfLibraryItemId. The information returned by the operation can be used to populate the deployment specification (see LibraryItem.ResourcePoolDeploymentSpec when deploying the OVF package to the deployment target specified by target. if you do not have all of the privileges described as follows: - Operation execution requires System.Read. - The resource com.vmware.content.library.Item referenced by the parameter ovfLibraryItemId requires System.Read. - The resource ResourcePool referenced by the attribute LibraryItem.DeploymentTarget.resource-pool-id requires System.Read. - The resource HostSystem referenced by the attribute LibraryItem.DeploymentTarget.host-id requires System.Read. - The resource Folder referenced by the attribute LibraryItem.DeploymentTarget.folder-id requires System.Read. .DESCRIPTION No description available. .PARAMETER OvfLibraryItemId Identifier of the content library item containing the OVF package to query. The parameter must be an identifier for the resource type: com.vmware.content.library.Item. .PARAMETER OvfLibraryItemFilterRequestBody No description available. .PARAMETER WithHttpInfo A switch when turned on will return a hash table of Response, StatusCode and Headers instead of just the Response .OUTPUTS OvfLibraryItemOvfSummary .LINK Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/ovf/library-item/ovf_library_item_idactionfilter/post/ #> function Invoke-FilterOvfLibraryItemId { [CmdletBinding( SupportsShouldProcess = $true, ConfirmImpact = 'Low', HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/api/vcenter/ovf/library-item/ovf_library_item_idactionfilter/post/" )] Param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [ValidateScript({ $_ -is [string] })] ${OvfLibraryItemId}, [Parameter(Mandatory = $true)] [PSTypeName("OvfLibraryItemFilterRequestBody")] [PSCustomObject] ${OvfLibraryItemFilterRequestBody}, [Parameter()] [vSphereConnectionToServerConfigurationArgumentTransformationAttribute()] [PSTypeName('vSphereServerConfiguration')] $Server, [Switch] $WithHttpInfo ) Process { 'Calling method: Invoke-FilterOvfLibraryItemId' | Write-Debug $ServerConfigurations = Get-vSphereServerConfiguration if ($PSBoundParameters.ContainsKey('Server')) { $ServerConfigurations = $Server } if ($null -eq $ServerConfigurations) { throw "You are not currently connected to any servers. Please connect first using a Connect-VIServer cmdlet or add vSphere Server Configuration with New-vSphereServerConfiguration." } $LocalVarAccepts = @() $LocalVarContentTypes = @() $LocalVarQueryParameters = @{} $LocalVarHeaderParameters = @{} $LocalVarFormParameters = @{} $LocalVarPathParameters = @{} $LocalVarCookieParameters = @{} $LocalVarBodyParameter = $null $ServerFromInputParameters = $null $InputParametersFromServer = $PSBoundParameters.Values | Where-Object -FilterScript { $_.PSObject.TypeNames -Contains 'ServerObject' } foreach ($InputParameterFromServer in $InputParametersFromServer) { $InputParameterServer = $InputParameterFromServer.GetServer() if ( !$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters -and !$ServerFromInputParameters.Equals($InputParameterServer) ) { $ErrorMessage = "{0} and {1} come from different servers. {0} from {2} and {1} from {3}. Please specify the -Server parameter of the cmdlet." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $InputParameterFromServer, $ServerFromInputParameters.Server, $InputParameterServer) } if ($null -eq $ServerFromInputParameters) { $ServerFromInputParameters = [PSCustomObject] @{ InputParameter = $InputParameterFromServer Server = $InputParameterServer } } } if ( $null -ne $ServerFromInputParameters -and $PSBoundParameters.ContainsKey('Server') -and !$ServerFromInputParameters.Server.Equals($Server) ) { $ErrorMessage = "{0} comes from server {1} but server {2} is explicitly specified." throw ($ErrorMessage -f $ServerFromInputParameters.InputParameter, $ServerFromInputParameters.Server, $Server) } # HTTP header 'Accept' (if needed) $LocalVarAccepts = @('application/json') # HTTP header 'Content-Type' $LocalVarContentTypes = @('application/json') $serversToProcess = $ServerConfigurations if (!$PSBoundParameters.ContainsKey('Server') -and $null -ne $ServerFromInputParameters) { $serversToProcess = $ServerFromInputParameters.Server } foreach ($serverConfiguration in $serversToProcess) { $shouldProcessActionMessage = "Performing the operation 'FilterOvfLibraryItemId' on target server '$($serverConfiguration.ToString())'." $shouldProcessActionCaption = 'Are you sure you want to perform this action?' if ($PSCmdlet.ShouldProcess( $shouldProcessActionMessage, $shouldProcessActionMessage, $shouldProcessActionCaption ) ) { $LocalVarUri = '/api/vcenter/ovf/library-item/{ovf_library_item_id}__action=filter' $LocalVarMethod = 'POST' $useDeprecatedApis = ($null -ne $serverConfiguration.UseDeprecatedApis -and $serverConfiguration.UseDeprecatedApis) $translationSchema = $null $transformedOpertaionInput = New-InputTransformationStructure if ($useDeprecatedApis) { # Use Deprecated APIs $translationSchema = Get-OperationTranslationSchema ` -operationPath $LocalVarUri.Replace('__', '?') ` -operationVerb $LocalVarMethod if ($null -ne $translationSchema) { $LocalVarUri = $translationSchema.OldPath $LocalVarMethod = $translationSchema.OldVerb } } if (!$OvfLibraryItemId) { throw "Error! The required parameter `OvfLibraryItemId` missing when calling filterOvfLibraryItemId." } $LocalVarUri = $LocalVarUri.replace('{ovf_library_item_id}', $OvfLibraryItemId) $LocalVarPathParameters['ovf_library_item_id'] = $OvfLibraryItemId if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-PathParams -OperationTranslateSchema $translationSchema -PathParams $LocalVarPathParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { $addTransformationInput = Format-Headers -OperationTranslateSchema $translationSchema -Headers $LocalVarHeaderParameters Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } if ( $useDeprecatedApis -and ($null -ne $translationSchema) -and ($LocalVarQueryParameters.Count -gt 0) ) { $inputQuerySctructure = [PSCustomObject]$LocalVarQueryParameters $translatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $inputQuerySctructure -InputType Query if ($null -ne $translatedBody) { $LocalVarBodyParameter = $translatedBody | ConvertTo-Json -Depth 100 if ($LocalVarContentTypes.Count -eq 0) { $LocalVarContentTypes = @('application/json') } } $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } if (!$OvfLibraryItemFilterRequestBody) { throw "Error! The required parameter `OvfLibraryItemFilterRequestBody` missing when calling filterOvfLibraryItemId." } if ($useDeprecatedApis -and ($null -ne $translationSchema)) { if ( $OvfLibraryItemFilterRequestBody -is [PSCustomObject]) { $addTransformationInput = Format-Body -OperationTranslateSchema $translationSchema -Body ([ref]$OvfLibraryItemFilterRequestBody) Join-InputTransformationStructure -Base ([ref]$transformedOpertaionInput) -Addition $addTransformationInput } $tranlatedBody = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $OvfLibraryItemFilterRequestBody -InputType Body $translatedQuery = Convert-InputStructure -OperationTranslateSchema $translationSchema -OperationInputObject $OvfLibraryItemFilterRequestBody -InputType Query if ($null -ne $translatedQuery) { $LocalVarQueryParameters = @{} $translatedQuery.PSObject.Properties | Foreach-Object { $LocalVarQueryParameters[$_.Name] = $_.Value } } $OvfLibraryItemFilterRequestBody = $tranlatedBody if ($null -ne $transformedOpertaionInput.Path) { foreach ($keyValue in $transformedOpertaionInput.Path.GetEnumerator()) { $LocalVarUri = $LocalVarUri.replace("{$($keyValue.Key)}", $keyValue.Value) } } if ($null -ne $transformedOpertaionInput.Query) { foreach ($keyValue in $transformedOpertaionInput.Query.GetEnumerator()) { $LocalVarQueryParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Header) { foreach ($keyValue in $transformedOpertaionInput.Header.GetEnumerator()) { $LocalVarHeaderParameters[$($keyValue.Key)] = $keyValue.Value } } if ($null -ne $transformedOpertaionInput.Body) { if ($null -ne $OvfLibraryItemFilterRequestBody) { foreach ($keyValue in $transformedOpertaionInput.Body.GetEnumerator()) { $OvfLibraryItemFilterRequestBody | Add-Member -MemberType NoteProperty -Name $keyValue.Key -Value $keyValue.Value } } else { $OvfLibraryItemFilterRequestBody = [PSCustomObject]$($transformedOpertaionInput.Body) } } } if ($null -ne $OvfLibraryItemFilterRequestBody) { $LocalVarBodyParameter = $OvfLibraryItemFilterRequestBody | ConvertTo-Json -Depth 100 } $invokeParams = @{ 'Method' = $LocalVarMethod 'Uri' = $LocalVarUri 'Accepts' = $LocalVarAccepts 'ContentTypes' = $LocalVarContentTypes 'Body' = $LocalVarBodyParameter 'HeaderParameters' = $LocalVarHeaderParameters 'QueryParameters' = $LocalVarQueryParameters 'FormParameters' = $LocalVarFormParameters 'CookieParameters' = $LocalVarCookieParameters 'ReturnType' = "OvfLibraryItemOvfSummary" 'IsBodyNullable' = $false 'Server' = $serverConfiguration } if ($PSBoundParameters.ContainsKey('Debug')) { $invokeParams['Debug'] = $Debug } if ($PSBoundParameters.ContainsKey('Verbose')) { $invokeParams['Verbose'] = $Verbose } if ($PSBoundParameters.ContainsKey('WarningAction')) { $invokeParams['WarningAction'] = $PSBoundParameters.WarningAction } if ($PSBoundParameters.ContainsKey('ErrorAction')) { $invokeParams['ErrorAction'] = $PSBoundParameters.ErrorAction } $invokeParams['InvocationInfo'] = @{ 'ModuleName' = $MyInvocation.MyCommand.ModuleName 'CmdletName' = $MyInvocation.MyCommand.Name } $invokeResult = Invoke-vSphereApiClient @invokeParams $invokeResult | Foreach-Object { $SingleServerResult = $_ if ($SingleServerResult -is [hashtable]) { if ($useDeprecatedApis -and ($null -ne $translationSchema) -and ($null -ne $SingleServerResult["Response"])) { $ServerName = $SingleServerResult["Response"].PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') } $SingleServerResult["Response"] = Convert-OutputBody ` -OperationTranslateSchema $translationSchema ` -OperationOutputObject $SingleServerResult["Response"] if (![string]::IsNullOrEmpty($ServerName)) { $SingleServerResult["Response"] | ForEach-Object -Process { $_.PSObject.TypeNames.Add($ServerName) $_ = $_ | Add-Member -MemberType ScriptMethod -Name GetServer -Value { $productServerString = ($this.PSObject.TypeNames | Where-Object -FilterScript { $_.StartsWith('Server:') }).Substring(7) $productSeparatorIndex = $productServerString.IndexOf(':') $product = $productServerString.Substring(0, $productSeparatorIndex) $server = $productServerString.Substring($productSeparatorIndex + 1, $productServerString.Length - $productSeparatorIndex - 1) Get-ServerConfiguration -Product $product | Where-Object -FilterScript { $_.ToString() -eq $server } } -Force -PassThru $_.PSObject.TypeNames.Add("ServerObject") } } } $SingleServerResult["Response"].PSObject.TypeNames.Insert(0, "OvfLibraryItemOvfSummary") if ($WithHttpInfo.IsPresent) { # result object $SingleServerResult } else { # result object $SingleServerResult["Response"] } } else { Write-Warning "An item from the Invoke-vSphereApiClient was expected to be a Hashtable but it is '$($SingleServerResult.GetType())'" } } } } } } # SIG # Begin signature block # MIIp0AYJKoZIhvcNAQcCoIIpwTCCKb0CAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCC0Cz1jzG0wmo9g # N+7MBgoCejQ2Nl/fAdcpVHgzwaYyAqCCDrwwggawMIIEmKADAgECAhAIrUCyYNKc # TJ9ezam9k67ZMA0GCSqGSIb3DQEBDAUAMGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQK # EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xITAfBgNV # BAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDAeFw0yMTA0MjkwMDAwMDBaFw0z # NjA0MjgyMzU5NTlaMGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg # SW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcg # UlNBNDA5NiBTSEEzODQgMjAyMSBDQTEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw # ggIKAoICAQDVtC9C0CiteLdd1TlZG7GIQvUzjOs9gZdwxbvEhSYwn6SOaNhc9es0 # JAfhS0/TeEP0F9ce2vnS1WcaUk8OoVf8iJnBkcyBAz5NcCRks43iCH00fUyAVxJr # Q5qZ8sU7H/Lvy0daE6ZMswEgJfMQ04uy+wjwiuCdCcBlp/qYgEk1hz1RGeiQIXhF # LqGfLOEYwhrMxe6TSXBCMo/7xuoc82VokaJNTIIRSFJo3hC9FFdd6BgTZcV/sk+F # LEikVoQ11vkunKoAFdE3/hoGlMJ8yOobMubKwvSnowMOdKWvObarYBLj6Na59zHh # 3K3kGKDYwSNHR7OhD26jq22YBoMbt2pnLdK9RBqSEIGPsDsJ18ebMlrC/2pgVItJ # wZPt4bRc4G/rJvmM1bL5OBDm6s6R9b7T+2+TYTRcvJNFKIM2KmYoX7BzzosmJQay # g9Rc9hUZTO1i4F4z8ujo7AqnsAMrkbI2eb73rQgedaZlzLvjSFDzd5Ea/ttQokbI # YViY9XwCFjyDKK05huzUtw1T0PhH5nUwjewwk3YUpltLXXRhTT8SkXbev1jLchAp # QfDVxW0mdmgRQRNYmtwmKwH0iU1Z23jPgUo+QEdfyYFQc4UQIyFZYIpkVMHMIRro # OBl8ZhzNeDhFMJlP/2NPTLuqDQhTQXxYPUez+rbsjDIJAsxsPAxWEQIDAQABo4IB # WTCCAVUwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUaDfg67Y7+F8Rhvv+ # YXsIiGX0TkIwHwYDVR0jBBgwFoAU7NfjgtJxXWRM3y5nP+e6mK4cD08wDgYDVR0P # AQH/BAQDAgGGMBMGA1UdJQQMMAoGCCsGAQUFBwMDMHcGCCsGAQUFBwEBBGswaTAk # BggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEEGCCsGAQUFBzAC # hjVodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkUm9v # dEc0LmNydDBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5j # b20vRGlnaUNlcnRUcnVzdGVkUm9vdEc0LmNybDAcBgNVHSAEFTATMAcGBWeBDAED # MAgGBmeBDAEEATANBgkqhkiG9w0BAQwFAAOCAgEAOiNEPY0Idu6PvDqZ01bgAhql # +Eg08yy25nRm95RysQDKr2wwJxMSnpBEn0v9nqN8JtU3vDpdSG2V1T9J9Ce7FoFF # UP2cvbaF4HZ+N3HLIvdaqpDP9ZNq4+sg0dVQeYiaiorBtr2hSBh+3NiAGhEZGM1h # mYFW9snjdufE5BtfQ/g+lP92OT2e1JnPSt0o618moZVYSNUa/tcnP/2Q0XaG3Ryw # YFzzDaju4ImhvTnhOE7abrs2nfvlIVNaw8rpavGiPttDuDPITzgUkpn13c5Ubdld # AhQfQDN8A+KVssIhdXNSy0bYxDQcoqVLjc1vdjcshT8azibpGL6QB7BDf5WIIIJw # 8MzK7/0pNVwfiThV9zeKiwmhywvpMRr/LhlcOXHhvpynCgbWJme3kuZOX956rEnP # LqR0kq3bPKSchh/jwVYbKyP/j7XqiHtwa+aguv06P0WmxOgWkVKLQcBIhEuWTatE # QOON8BUozu3xGFYHKi8QxAwIZDwzj64ojDzLj4gLDb879M4ee47vtevLt/B3E+bn # KD+sEq6lLyJsQfmCXBVmzGwOysWGw/YmMwwHS6DTBwJqakAwSEs0qFEgu60bhQji # WQ1tygVQK+pKHJ6l/aCnHwZ05/LWUpD9r4VIIflXO7ScA+2GRfS0YW6/aOImYIbq # yK+p/pQd52MbOoZWeE4wgggEMIIF7KADAgECAhAIV5dCqVO62Q1CN6Pz44xeMA0G # CSqGSIb3DQEBCwUAMGkxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg # SW5jLjFBMD8GA1UEAxM4RGlnaUNlcnQgVHJ1c3RlZCBHNCBDb2RlIFNpZ25pbmcg # UlNBNDA5NiBTSEEzODQgMjAyMSBDQTEwHhcNMjIwNTA0MDAwMDAwWhcNMjQwNTA0 # MjM1OTU5WjCBxTETMBEGCysGAQQBgjc8AgEDEwJVUzEZMBcGCysGAQQBgjc8AgEC # EwhEZWxhd2FyZTEdMBsGA1UEDwwUUHJpdmF0ZSBPcmdhbml6YXRpb24xEDAOBgNV # BAUTBzI4NTM4OTQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRIw # EAYDVQQHEwlQYWxvIEFsdG8xFTATBgNVBAoTDFZNd2FyZSwgSW5jLjEVMBMGA1UE # AxMMVk13YXJlLCBJbmMuMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA # 6kAACeNtbODhaayXmhKLpjNsCENWh3WTl/NOvObo1Prl949C6y2EU9zMsfYuODNI # Tv2OoByT3nBCXk3G1gzanGscaUDgr18pzf77Og4ArUHNzil6aX7uAlvKRBPl+6Hv # wpSMtyK0D6J79UKfYqztvf/9YOFJLGCiq7Dw8932vg0ijcH7sLGgoSjH6+jqBwTT # suOav1lyiAxE4Q6r8KyDNjg6mYu2uu1TALU4B7/OX/zBIadArVgPHRurud9SSGPq # itFCgd2OuY0r81Jr0LRxOnwWHLqPOwuSmsnxw7ZaQJCz7FY3oxiES8mbA+VV6zN8 # 18/s2v5htLd3SRrE5n4mhzGyXAVkqIILKiSppibj59dEc5voQ/1MXJ25W1kSy2MX # B8XjI9j64JzcpjW5YPs2M+BR4mIEC5i2mURO/u3HGG9prRTPOv2MN1WzbLLUG98O # sqLTrUTQtdvpcWizS1c6m9IFY14fj1OeagnUwY3W0THEloNKC1WZoe+5Oxq/NRxO # Bz4N4fzCsqc44TBUWmHSqBVOV8PpmQ8xVrfj+aLdk40naf/cf9cdvqslsrKtzkvL # b+ohLCvqymua9GLNmUbY2EyrOogMseRX8y0awJS4cWRLl9c1O7j7q31GwfX+ozEI # h1z4pBNATaZSbTTsMi4eKMCzsU/QiDM/iCaZbWL6VgsCAwEAAaOCAkkwggJFMB8G # A1UdIwQYMBaAFGg34Ou2O/hfEYb7/mF7CIhl9E5CMB0GA1UdDgQWBBRS+9+VGnhS # 2uj4hRdXRyZkmfv5GzBCBgNVHREEOzA5gRJub3JlcGx5QHZtd2FyZS5jb22gIwYI # KwYBBQUHCAOgFzAVDBNVUy1ERUxBV0FSRS0yODUzODk0MA4GA1UdDwEB/wQEAwIH # gDATBgNVHSUEDDAKBggrBgEFBQcDAzCBtQYDVR0fBIGtMIGqMFOgUaBPhk1odHRw # Oi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmlu # Z1JTQTQwOTZTSEEzODQyMDIxQ0ExLmNybDBToFGgT4ZNaHR0cDovL2NybDQuZGln # aWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hB # Mzg0MjAyMUNBMS5jcmwwPQYDVR0gBDYwNDAyBgVngQwBAzApMCcGCCsGAQUFBwIB # FhtodHRwOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwgZQGCCsGAQUFBwEBBIGHMIGE # MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wXAYIKwYBBQUH # MAKGUGh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRH # NENvZGVTaWduaW5nUlNBNDA5NlNIQTM4NDIwMjFDQTEuY3J0MAwGA1UdEwEB/wQC # MAAwDQYJKoZIhvcNAQELBQADggIBANPAhp5gl2m66jB8Ft1vCSC2ij4PKMQ3Mwkv # 1gtZoMKnS/NCi9jl8WpooSMth39ze0LyDrQY8nUO6CPX/LDGkWuf/f+HUoRNw2wS # seCFw/yvQJBzmmTRzuQqdhkAIM99kD6RCo60WQxskrhOCqx8LNFl3pcsIqonSvok # /GC1+KmwUKdV5Wuag3jkH1LLOJ5x8CnyTmMWSPsx9aVY+mIzvYuLuZIdAybGYUW7 # sOLRTzhUiGBLlxL56n1dFqzF6IgPePpZHWMwyhIKQLgbkkYNFectTeTehws5v1YZ # f/tjw2TsVJFEB4UIS1mHnBPiCNMt+/f33jH8vfT6fxVV5FIBXqvr0ruDVseZb/Jm # xdBfjt2AzMHk3d3l2Ar+06vo4gAFbLFtULTjV9d3jjP4YCGix5Q2UwHvkBjfB46e # ChIEjkbWnjmkFdZPpvILRVL9lhTa1kKwBzbTnW5KSnxA5CtB3gShY7U8rYmZfPrS # 4gBBTutdhD8nd4roDdlJZPVMIvcqeRrdb2cx8WGohV8/MCOPeEUvsMiuOwFroreG # 6ecUwbdjCNkzx2o3hXaHyfolUj4n+iQuealnn4KKfDp7eYDabu9zWbv6UN3D//Ug # DlYdiQWzsKF0GqJQeqeq0Lga63zr7nOSPzn82AF7QfdYkccoLnD3y2iJObDrAsY0 # KjiW7SylMYIaajCCGmYCAQEwfTBpMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGln # aUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBT # aWduaW5nIFJTQTQwOTYgU0hBMzg0IDIwMjEgQ0ExAhAIV5dCqVO62Q1CN6Pz44xe # MA0GCWCGSAFlAwQCAQUAoHwwEAYKKwYBBAGCNwIBDDECMAAwGQYJKoZIhvcNAQkD # MQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJ # KoZIhvcNAQkEMSIEIPwZIxMzxZZ2Zd16R5xTgy4Dn3AvQ+1dpbwtimTHi5UiMA0G # CSqGSIb3DQEBAQUABIICAGsNiNy+ZBW3xj9EgIL3IoMGfUvXGAelEJRT9AbJLmjm # szYirWObG1m1uKoQyri+8N8SGbFrw/D2ycNMLJl92VcIV4rrEesXn0/HBKPoZj9k # vjRpD1wutXt0IqnIZwN4Y1k72mTmBx10NITyv9b1Pe1z+5hQR3irn/Sao9vCh4wT # s2x6RR8y/8cT98HlX10vfwSflzKFO1vX07VFEZt3qlaCCbv7WwlDXWNaxRkuet/0 # fYpmXekJSuXn2Tv/G7S1uGxEjE+7lQ6pwepVBSMuGTQVH/oVAHtAvM4lE3aEkpJl # HWvj5e3WJV2syF8bFvHQMVEXmul1mwh6Q9n6eczW24PiBpJhEqexKg99s27gt2+q # KEb0tl32fdu9UT6kvnhzT/9sBZPrF1sviDjfRxxYZUWsYjYzO2QfihOk3uDlgGc/ # WFIFbj9VuWMngKnBiPjdIWmXqk6jHbr9WuVZRFhXGaJ50xEMnzozRMSn0jSxf6Lj # 2Fu+tkoXvM3ntKxgckHC//BZl0zoC3OtTG2ZDrzZrfOIdw2pt0zwzsjQTJcReHoa # MCtqvyk2Q4hczcAnjPCxKYjMA0NZkR99rXpW6g3AXdJlAejdOS49FlWZp7ArYNMg # cFG2XBRvvdSRyEEdI4J1kj5a0NSdbZ2SAVj1Yve6rFsNr1hWI9EUsUPfxz1KMXYL # oYIXQDCCFzwGCisGAQQBgjcDAwExghcsMIIXKAYJKoZIhvcNAQcCoIIXGTCCFxUC # AQMxDzANBglghkgBZQMEAgEFADB4BgsqhkiG9w0BCRABBKBpBGcwZQIBAQYJYIZI # AYb9bAcBMDEwDQYJYIZIAWUDBAIBBQAEIJdaRIzsoh4OZou4Xwu77AK6gmqha++d # XcMYfsxZEhTJAhEA9FJzpZ+UdaONQH3+h2XKaxgPMjAyMzEwMjExNzQyMTdaoIIT # CTCCBsIwggSqoAMCAQICEAVEr/OUnQg5pr/bP1/lYRYwDQYJKoZIhvcNAQELBQAw # YzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMTswOQYDVQQD # EzJEaWdpQ2VydCBUcnVzdGVkIEc0IFJTQTQwOTYgU0hBMjU2IFRpbWVTdGFtcGlu # ZyBDQTAeFw0yMzA3MTQwMDAwMDBaFw0zNDEwMTMyMzU5NTlaMEgxCzAJBgNVBAYT # AlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjEgMB4GA1UEAxMXRGlnaUNlcnQg # VGltZXN0YW1wIDIwMjMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCj # U0WHHYOOW6w+VLMj4M+f1+XS512hDgncL0ijl3o7Kpxn3GIVWMGpkxGnzaqyat0Q # KYoeYmNp01icNXG/OpfrlFCPHCDqx5o7L5Zm42nnaf5bw9YrIBzBl5S0pVCB8s/L # B6YwaMqDQtr8fwkklKSCGtpqutg7yl3eGRiF+0XqDWFsnf5xXsQGmjzwxS55Dxtm # UuPI1j5f2kPThPXQx/ZILV5FdZZ1/t0QoRuDwbjmUpW1R9d4KTlr4HhZl+NEK0rV # lc7vCBfqgmRN/yPjyobutKQhZHDr1eWg2mOzLukF7qr2JPUdvJscsrdf3/Dudn0x # mWVHVZ1KJC+sK5e+n+T9e3M+Mu5SNPvUu+vUoCw0m+PebmQZBzcBkQ8ctVHNqkxm # g4hoYru8QRt4GW3k2Q/gWEH72LEs4VGvtK0VBhTqYggT02kefGRNnQ/fztFejKqr # UBXJs8q818Q7aESjpTtC/XN97t0K/3k0EH6mXApYTAA+hWl1x4Nk1nXNjxJ2VqUk # +tfEayG66B80mC866msBsPf7Kobse1I4qZgJoXGybHGvPrhvltXhEBP+YUcKjP7w # tsfVx95sJPC/QoLKoHE9nJKTBLRpcCcNT7e1NtHJXwikcKPsCvERLmTgyyIryvEo # EyFJUX4GZtM7vvrrkTjYUQfKlLfiUKHzOtOKg8tAewIDAQABo4IBizCCAYcwDgYD # VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwFgYDVR0lAQH/BAwwCgYIKwYBBQUH # AwgwIAYDVR0gBBkwFzAIBgZngQwBBAIwCwYJYIZIAYb9bAcBMB8GA1UdIwQYMBaA # FLoW2W1NhS9zKXaaL3WMaiCPnshvMB0GA1UdDgQWBBSltu8T5+/N0GSh1VapZTGj # 3tXjSTBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsMy5kaWdpY2VydC5jb20v # RGlnaUNlcnRUcnVzdGVkRzRSU0E0MDk2U0hBMjU2VGltZVN0YW1waW5nQ0EuY3Js # MIGQBggrBgEFBQcBAQSBgzCBgDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGln # aWNlcnQuY29tMFgGCCsGAQUFBzAChkxodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5j # b20vRGlnaUNlcnRUcnVzdGVkRzRSU0E0MDk2U0hBMjU2VGltZVN0YW1waW5nQ0Eu # Y3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCBGtbeoKm1mBe8cI1PijxonNgl/8ss5M3q # XSKS7IwiAqm4z4Co2efjxe0mgopxLxjdTrbebNfhYJwr7e09SI64a7p8Xb3CYTdo # SXej65CqEtcnhfOOHpLawkA4n13IoC4leCWdKgV6hCmYtld5j9smViuw86e9NwzY # mHZPVrlSwradOKmB521BXIxp0bkrxMZ7z5z6eOKTGnaiaXXTUOREEr4gDZ6pRND4 # 5Ul3CFohxbTPmJUaVLq5vMFpGbrPFvKDNzRusEEm3d5al08zjdSNd311RaGlWCZq # A0Xe2VC1UIyvVr1MxeFGxSjTredDAHDezJieGYkD6tSRN+9NUvPJYCHEVkft2hFL # jDLDiOZY4rbbPvlfsELWj+MXkdGqwFXjhr+sJyxB0JozSqg21Llyln6XeThIX8rC # 3D0y33XWNmdaifj2p8flTzU8AL2+nCpseQHc2kTmOt44OwdeOVj0fHMxVaCAEcsU # DH6uvP6k63llqmjWIso765qCNVcoFstp8jKastLYOrixRoZruhf9xHdsFWyuq69z # OuhJRrfVf8y2OMDY7Bz1tqG4QyzfTkx9HmhwwHcK1ALgXGC7KP845VJa1qwXIiNO # 9OzTF/tQa/8Hdx9xl0RBybhG02wyfFgvZ0dl5Rtztpn5aywGRu9BHvDwX+Db2a2Q # gESvgBBBijCCBq4wggSWoAMCAQICEAc2N7ckVHzYR6z9KGYqXlswDQYJKoZIhvcN # AQELBQAwYjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcG # A1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEhMB8GA1UEAxMYRGlnaUNlcnQgVHJ1c3Rl # ZCBSb290IEc0MB4XDTIyMDMyMzAwMDAwMFoXDTM3MDMyMjIzNTk1OVowYzELMAkG # A1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMTswOQYDVQQDEzJEaWdp # Q2VydCBUcnVzdGVkIEc0IFJTQTQwOTYgU0hBMjU2IFRpbWVTdGFtcGluZyBDQTCC # AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMaGNQZJs8E9cklRVcclA8Ty # kTepl1Gh1tKD0Z5Mom2gsMyD+Vr2EaFEFUJfpIjzaPp985yJC3+dH54PMx9QEwsm # c5Zt+FeoAn39Q7SE2hHxc7Gz7iuAhIoiGN/r2j3EF3+rGSs+QtxnjupRPfDWVtTn # KC3r07G1decfBmWNlCnT2exp39mQh0YAe9tEQYncfGpXevA3eZ9drMvohGS0UvJ2 # R/dhgxndX7RUCyFobjchu0CsX7LeSn3O9TkSZ+8OpWNs5KbFHc02DVzV5huowWR0 # QKfAcsW6Th+xtVhNef7Xj3OTrCw54qVI1vCwMROpVymWJy71h6aPTnYVVSZwmCZ/ # oBpHIEPjQ2OAe3VuJyWQmDo4EbP29p7mO1vsgd4iFNmCKseSv6De4z6ic/rnH1ps # lPJSlRErWHRAKKtzQ87fSqEcazjFKfPKqpZzQmiftkaznTqj1QPgv/CiPMpC3BhI # fxQ0z9JMq++bPf4OuGQq+nUoJEHtQr8FnGZJUlD0UfM2SU2LINIsVzV5K6jzRWC8 # I41Y99xh3pP+OcD5sjClTNfpmEpYPtMDiP6zj9NeS3YSUZPJjAw7W4oiqMEmCPkU # EBIDfV8ju2TjY+Cm4T72wnSyPx4JduyrXUZ14mCjWAkBKAAOhFTuzuldyF4wEr1G # nrXTdrnSDmuZDNIztM2xAgMBAAGjggFdMIIBWTASBgNVHRMBAf8ECDAGAQH/AgEA # MB0GA1UdDgQWBBS6FtltTYUvcyl2mi91jGogj57IbzAfBgNVHSMEGDAWgBTs1+OC # 0nFdZEzfLmc/57qYrhwPTzAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYB # BQUHAwgwdwYIKwYBBQUHAQEEazBpMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5k # aWdpY2VydC5jb20wQQYIKwYBBQUHMAKGNWh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0 # LmNvbS9EaWdpQ2VydFRydXN0ZWRSb290RzQuY3J0MEMGA1UdHwQ8MDowOKA2oDSG # Mmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRSb290RzQu # Y3JsMCAGA1UdIAQZMBcwCAYGZ4EMAQQCMAsGCWCGSAGG/WwHATANBgkqhkiG9w0B # AQsFAAOCAgEAfVmOwJO2b5ipRCIBfmbW2CFC4bAYLhBNE88wU86/GPvHUF3iSyn7 # cIoNqilp/GnBzx0H6T5gyNgL5Vxb122H+oQgJTQxZ822EpZvxFBMYh0MCIKoFr2p # Vs8Vc40BIiXOlWk/R3f7cnQU1/+rT4osequFzUNf7WC2qk+RZp4snuCKrOX9jLxk # Jodskr2dfNBwCnzvqLx1T7pa96kQsl3p/yhUifDVinF2ZdrM8HKjI/rAJ4JErpkn # G6skHibBt94q6/aesXmZgaNWhqsKRcnfxI2g55j7+6adcq/Ex8HBanHZxhOACcS2 # n82HhyS7T6NJuXdmkfFynOlLAlKnN36TU6w7HQhJD5TNOXrd/yVjmScsPT9rp/Fm # w0HNT7ZAmyEhQNC3EyTN3B14OuSereU0cZLXJmvkOHOrpgFPvT87eK1MrfvElXvt # Cl8zOYdBeHo46Zzh3SP9HSjTx/no8Zhf+yvYfvJGnXUsHicsJttvFXseGYs2uJPU # 5vIXmVnKcPA3v5gA3yAWTyf7YGcWoWa63VXAOimGsJigK+2VQbc61RWYMbRiCQ8K # vYHZE/6/pNHzV9m8BPqC3jLfBInwAM1dwvnQI38AC+R2AibZ8GV2QqYphwlHK+Z/ # GqSFD/yYlvZVVCsfgPrA8g4r5db7qS9EFUrnEw4d2zc4GqEr9u3WfPwwggWNMIIE # daADAgECAhAOmxiO+dAt5+/bUOIIQBhaMA0GCSqGSIb3DQEBDAUAMGUxCzAJBgNV # BAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdp # Y2VydC5jb20xJDAiBgNVBAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAe # Fw0yMjA4MDEwMDAwMDBaFw0zMTExMDkyMzU5NTlaMGIxCzAJBgNVBAYTAlVTMRUw # EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x # ITAfBgNVBAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9vdCBHNDCCAiIwDQYJKoZIhvcN # AQEBBQADggIPADCCAgoCggIBAL/mkHNo3rvkXUo8MCIwaTPswqclLskhPfKK2FnC # 4SmnPVirdprNrnsbhA3EMB/zG6Q4FutWxpdtHauyefLKEdLkX9YFPFIPUh/GnhWl # fr6fqVcWWVVyr2iTcMKyunWZanMylNEQRBAu34LzB4TmdDttceItDBvuINXJIB1j # KS3O7F5OyJP4IWGbNOsFxl7sWxq868nPzaw0QF+xembud8hIqGZXV59UWI4MK7dP # pzDZVu7Ke13jrclPXuU15zHL2pNe3I6PgNq2kZhAkHnDeMe2scS1ahg4AxCN2NQ3 # pC4FfYj1gj4QkXCrVYJBMtfbBHMqbpEBfCFM1LyuGwN1XXhm2ToxRJozQL8I11pJ # pMLmqaBn3aQnvKFPObURWBf3JFxGj2T3wWmIdph2PVldQnaHiZdpekjw4KISG2aa # dMreSx7nDmOu5tTvkpI6nj3cAORFJYm2mkQZK37AlLTSYW3rM9nF30sEAMx9HJXD # j/chsrIRt7t/8tWMcCxBYKqxYxhElRp2Yn72gLD76GSmM9GJB+G9t+ZDpBi4pncB # 4Q+UDCEdslQpJYls5Q5SUUd0viastkF13nqsX40/ybzTQRESW+UQUOsxxcpyFiIJ # 33xMdT9j7CFfxCBRa2+xq4aLT8LWRV+dIPyhHsXAj6KxfgommfXkaS+YHS312amy # HeUbAgMBAAGjggE6MIIBNjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTs1+OC # 0nFdZEzfLmc/57qYrhwPTzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823I # DzAOBgNVHQ8BAf8EBAMCAYYweQYIKwYBBQUHAQEEbTBrMCQGCCsGAQUFBzABhhho # dHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQwYIKwYBBQUHMAKGN2h0dHA6Ly9jYWNl # cnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcnQwRQYD # VR0fBD4wPDA6oDigNoY0aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0 # QXNzdXJlZElEUm9vdENBLmNybDARBgNVHSAECjAIMAYGBFUdIAAwDQYJKoZIhvcN # AQEMBQADggEBAHCgv0NcVec4X6CjdBs9thbX979XB72arKGHLOyFXqkauyL4hxpp # VCLtpIh3bb0aFPQTSnovLbc47/T/gLn4offyct4kvFIDyE7QKt76LVbP+fT3rDB6 # mouyXtTP0UNEm0Mh65ZyoUi0mcudT6cGAxN3J0TU53/oWajwvy8LpunyNDzs9wPH # h6jSTEAZNUZqaVSwuKFWjuyk1T3osdz9HNj0d1pcVIxv76FQPfx2CWiEn2/K2yCN # NWAcAgPLILCsWKAOQGPFmCLBsln1VWvPJ6tsds5vIy30fnFqI2si/xK4VC0nftg6 # 2fC2h5b9W9FcrBjDTZ9ztwGpn1eqXijiuZQxggN2MIIDcgIBATB3MGMxCzAJBgNV # BAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjE7MDkGA1UEAxMyRGlnaUNl # cnQgVHJ1c3RlZCBHNCBSU0E0MDk2IFNIQTI1NiBUaW1lU3RhbXBpbmcgQ0ECEAVE # r/OUnQg5pr/bP1/lYRYwDQYJYIZIAWUDBAIBBQCggdEwGgYJKoZIhvcNAQkDMQ0G # CyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yMzEwMjExNzQyMTdaMCsGCyqG # SIb3DQEJEAIMMRwwGjAYMBYEFGbwKzLCwskPgl3OqorJxk8ZnM9AMC8GCSqGSIb3 # DQEJBDEiBCB01AVX3Z7Av1/mvqG+TdylpXzuBeZG+b99FbhTn5mjuDA3BgsqhkiG # 9w0BCRACLzEoMCYwJDAiBCDS9uRt7XQizNHUQFdoQTZvgoraVZquMxavTRqa1Ax4 # KDANBgkqhkiG9w0BAQEFAASCAgBFpyUgOQVlwAFibW2RZarKua23NXtLvByabZJd # IahBEyZmh/Oo6WbSB6WLmEYKwRNQMUrTDmyujgLTaFMH+5e5688cw3aDo66HuJNs # qAxMjvlAQxsEuHSItE9O19/nETQlU34Asif7Mp62Ka1DkwctRUxod8u1PIXZ915z # /wVwEL/kHgaFyf04BA/qiiOOd858IXda+qMGap+LBVYmlcHQkHDyKTdP+0wXX7Fl # k+fGhTJyIBhS3u2N+HaR6wLSQznrGJNlQ7i+gvu0G3L9H03123M3I28nILl5FsxG # mVQhcrEuXbuVKSHy1txeC/FsBx30r4b3b+aGVMNKwlgTc6G0UG7wlwLyNE2/Lyc6 # wYgF90kWT/UENBsZBTs5lr4h37mhuJARZyDpIz1Hm6h5XXBgn7jnL2tHCxfmdW1z # kiDVpjyBfBgeJilbkE2OYoRjx8A3NiGxGew7Gd886S6t2yIjLYEmZ1aL2izdv8VM # Qor6wH1VHrnPlk61JIexpkZVTCYZlWQjvQFIhbmc3NpwjbReV43jsIiu+Vi9rfjQ # EF3sZE8WJiQQcF0YbsKq6ZFeIsiBU2lpBrcGdhmldvATKqlMtwZDV6CqWyJT0e9k # 1NWTyeabh+jjzclLlAoshiWHk3hLbNAkSkvsaC0fA15JKXA0+w5NdNah5C4QcyE/ # zZ0rlQ== # SIG # End signature block |